以下、添付図面を参照しながら本発明を実施するための形態を詳細に説明する。図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
<第1実施形態>
図1を参照しながら、第1実施形態に係る画像特徴追跡方法を詳細に説明する。図1は、第1実施形態に係る画像特徴追跡方法を説明するための概念図である。第1実施形態に係る画像特徴追跡方法は、画像を取得する処理(以下「画像取得処理An」と呼ぶ)と、画像全体から特徴を探索(特徴探索処理)した後にウインドウ(探索領域)を設定する処理(以下「探索処理Dn」と呼ぶ)と、ウインドウを用いて特徴を検出する処理(以下「追跡処理Fn」と呼ぶ)と、を有する。さらに、追跡処理Fnは、後追い処理Cnと、リアルタイム処理Rnとを有する。本明細書において「探索」とは、画像全体から特徴を検出することをいう。また、「検出」とは、画像の一部に設定されるウインドウ領域内のみを対象として特徴を検出することをいう。さらに、「追跡」とは、追跡処理Fnを繰り返すことにより、特徴を追うことをいう。
また、図1等では、理解を容易にするため、補助的な符号を用いる。例えば、符号「C1<G2:○>)」とは、画像G2に対する後追い処理C1を実施し、特徴の検出に成功(○)したことを意味する。また、例えば、符号「A1<G1>」とは、画像取得処理A1によって画像G1を得たことを意味する。
画像特徴追跡方法において、いくつかの前提条件を提示する。まず、画像取得処理Anは、所定のサンプリング周期SA(サンプリング周期)に基づいて周期的に行う。つまり、画像取得処理Anは、探索処理Dn及び追跡処理Fnから独立する。そして、画像取得処理Anは、サンプリング周期SAの期間内において、全ての処理が完了する。画像取得処理Anは、露光処理及び転送処理を含み、サンプリング周期SAにおいて、露光処理及び転送処理の両方が完了する。取得される複数の画像Gnは、別々のメモリ空間に保存する。この場合、メモリ空間においては、基本的にそれ以前に取得された画像Gn-1を重ね書きしない。1回の探索処理Dnに要する期間は、サンプリング周期SAよりも長い。つまり、探索処理Dnが開始されて完了するまでには、複数の画像Gnが取得される。1回の後追い処理Cn及び1回のリアルタイム処理Rnに要する時間は、サンプリング周期SAよりも短い。例えば、1回の後追い処理Cnに要する時間は、サンプリング周期SAの1/2以下としてもよい。以下、第1実施形態に係る画像特徴追跡方法について、順を追って説明する。
第1実施形態に係る画像特徴追跡方法は、第1ステップS1(第1ステップ、第4ステップ)と、第2ステップS2と、第3ステップS3とを有する。これらのステップは、第1、第2、第3の順に行われる。
第1ステップS1は、画像取得処理A1、A2、A3、A4、A5と、探索処理D1と、を有する。
画像取得処理A1~A5は、サンプリング周期SAに従ってこの順に行われる。第1ステップS1では、複数の画像G1、G2、G3、G4、G5を取得する。第1ステップS1において取得すると共に探索処理D1及び後追い処理Cnに供される複数の画像G1~G5(第1被処理画像)を、第1画像と呼ぶ。
探索処理D1は、画像取得処理A2、A3、A4、A5に対して並列して行われる。探索処理D1は、コンピュータによって行われる。探索処理D1においては、まず、処理対象となる代表画像を選択する。代表画像として、探索処理D1が開始されるタイミングに最も近い時間に取得した画像G1を選択する。つまり、代表画像は、画像G1そのものであるので、画像取得処理Anによって得られた画像Gnと代表画像とは一致する。なお、詳細は後述するが、代表画像は、画像取得処理Anによって得られた画像Gnそのものに限定されない。例えば、2個の画像G2、G3を合成して得た画像を代表画像としてもよい。次に、探索処理D1では、代表画像の全体から特徴を検出する。この特徴を検出する処理は、種々の画像処理アルゴリズムを採用してよい。次に、検出された特徴に関する情報を用いて、ウインドウ情報を生成する。ウインドウ情報が設定されたタイミングをもって、第1ステップS1が完了する。つまり、第1ステップS1は、探索処理D1が行われる期間を含むものと定義してもよい。図1には、探索処理D1に約4フレームの時間を要する例を図示した。追跡処理Fnは、探索処理D1の結果であるウインドウを必要とする。従って、追跡処理Fnは、探索処理Dnに対して並列に行わない。そうすると、探索処理D1を行っている間に取得された画像G2、G3、G4、G5は、メモリに蓄積されるだけであり、リアルタイムな処理がなされない。
第1ステップS1が完了した直後から、第2ステップS2を開始する。第2ステップS2では、画像取得処理A6、A7、A8と、後追い処理C1、C2、C3、C4、C5、C6、C7と、を行う。後追い処理Cnは、画像取得処理Anに対して並列して行われる。第2ステップS2においても、画像Gnは、予め設定されたサンプリング周期SAに従って周期的に取得される。第2ステップS2において取得されると共に後追い処理Cnに供される画像G6、G7、G8(第2被処理画像)を、第2画像と呼ぶ。
後追い処理C1では、画像G2を対象とした処理を行う。画像G2は、探索処理D1の対象とした代表画像(画像G1)の次に取得された画像である。そして、第2の後追い処理C2から第7の後追い処理C7をこの順に行う。各後追い処理Cnに要する処理時間TCは、サンプリング周期SAよりも短い。従って、後追い処理Cnを連続的に行うことにより、処理対象として選択される画像Gnが画像取得処理Anにおいて取得される画像Gnに追いつく。ここで、「後追い処理Cnを連続的に行う」とは、第nの後追い処理Cnと第n+1の後追い処理Cn+1の間の時間間隔をなくす或いは極めて短くした処理をいう。
ここで、後追い処理Cnに供される画像G2~G7は、画像取得処理A2~A7において取得された画像そのものである。換言すると、後追い処理Cnに供される被処理画像は、画像G2~G7そのものである。つまり、画像取得処理A2~A7において取得された画像と後追い処理Cnに供される画像G2~G7とは、一致する。なお、詳細は後述するが、被処理画像は、画像取得処理Anによって得られた画像Gnそのものに限定されない。例えば、2個の画像G2、G3を合成して得た画像を被処理画像としてもよい。ここで、合成とは、複数の画像の加算平均や画像間での差分、乗算、除算などのことである。
また、図1では、個々の後追い処理Cnに要する処理時間TCの全てが、サンプリング周期SAよりも短いことを例示した。しかし、この例示に限定されることはない。つまり、画像取得処理Anをn回実施するときに要する時間よりも、後追い処理Cnをn回実施するときに要する時間が短ければ、未処理の画像数を徐々に減らすことが可能である。つまり、複数回実施された後追い処理Cnにおいて1回の後追い処理Cnに要した平均時間が、複数回実施された画像取得処理Anにおいて1回の画像取得処理Anに要した平均時間よりも短ければよい。従って、処理の割り込みなどによって、一部の後追い処理Cnに要する時間が延び、サンプリング周期SAよりも長くなった場合であっても、全体として上記の要件を満たしていれば、未処理の画像数を減らし、リアルタイム処理を行うことが可能になる。
探索処理D1により画像G1における特徴の位置が得られ、後追い処理C1により画像G2における特徴の位置が得られた。そうすると、画像G1を得たタイミングから画像G2を得たタイミングの間における特徴の移動速度が得られる。そして、画像G2を得たタイミングと、画像G3を得たタイミングの時間差(サンプリング周期SA)は、充分に短い。従って、画像G3における特徴の位置は等速予測モデルを用いて予測される。
これによって、第3の後追い処理C3以降、次々と特徴が正確に追跡される。本実施形態では、第7の後追い処理C7を完了した時点で、後追い処理Cnが画像取得処理Anに追いつく。この後追い処理Cnが画像取得処理Anに追いついた時点で、第2ステップS2が完了する。
第2ステップS2が完了した直後から、第3ステップS3を開始する。第3ステップS3は、画像取得処理Anとリアルタイム処理Rnとを有する。第3ステップS3において取得した複数の画像G9~G11(第3被処理画像)を、第3画像と呼ぶ。第3ステップS3は、1のサンプリング周期SA中に完了する、1回の画像取得処理Anと1回のリアルタイム処理Rnとを含む。
例えば、10回目のサンプリング周期SAに、画像取得処理A10によって画像G10が取得され、当該画像G10に対してリアルタイム処理R2を行う場合があり得る。なお、10回目のサンプリング周期SAに、画像取得処理A10によって画像G10を取得する。しかし、リアルタイム処理R2の対象が当該画像G10ではなく、1つ前の画像取得処理A9において取得された画像G9であってもよい。つまり、リアルタイム処理Rnとは、処理がなされていない画像Gnの数が増加しないような処理態様をいう。
以下、参考例に係る画像特徴追跡方法をいくつか例示しつつ、第1実施形態に係る画像特徴追跡方法の作用効果を説明する。
<参考例1>
図2の(a)部は、参考例1に係る画像特徴追跡方法を説明するための概念図である。参考例1の画像特徴追跡方法では、例えば、1回の画像取得処理A1と1回の追跡処理P1とを含む処理がサンプリング周期SA内に完了している。従って、参考例1に係る画像特徴追跡方法では、画像取得処理Anと追跡処理Pnとはカスケードに行うことができ、処理の遅延は生じない。
なお、実際の露光処理と画像取得ステップとは、コンピュータから出力される命令に基づいて行われる。換言すると、コンピュータからの命令がなければ、露光処理と画像取得ステップとは行われない。この命令は、サンプリング周期SA内に発生する垂直同期信号が出力される前にコンピュータから出力される。
<参考例2>
図2の(b)部は、参考例2に係る画像特徴追跡方法を説明するための概念図である。図2の(b)部に示されるように、画像取得処理A1は、サンプリング周期SAの期間内に完了する。しかし、追跡処理P1に要する時間は、参考例1における追跡処理P1に要する時間よりも長い。そうすると、1回の画像取得処理A1と1回の追跡処理P1とを含む処理に要する時間は、サンプリング周期SAよりも長くなる場合があり得る。ここで、追跡処理Pnは、画像Gnに対する種々の検出のための処理を含む。すなわち、追跡処理Pnは、探索処理Dn、後追い処理Cn、リアルタイム処理Rn、及び後戻り処理Bn(第5ステップ)などを含む。
参考例2では、追跡処理Pnが完了した後におけるフレームのタイミングに同期して、画像取得処理Anが行われる。つまり、画像取得処理Anと追跡処理Pnとは交互に行われる。図2の(b)部の例において、追跡処理P1が完了したタイミングは、第2フレームと第3フレームとの間である。そうすると、追跡処理P1の次に行われる処理は、第3フレームにおける画像取得処理A3である。換言すると、第2フレームにおける画像取得処理A2は行われない。すなわち、画像G2は取得できない。この態様は、いわゆるフレーム落ちと呼ばれる。従って、追跡処理P1~P3に要する時間が常に一定であるとすれば、2フレームごとに1回の画像取得処理Anと1回の追跡処理Pnとが行われる。
なお、追跡処理Pnに要する時間が一定でない場合には、連続したフレームにおいて結果が得られることもあるし、2以上のフレーム落ちが生じることもあり得る。
<参考例3>
図3の(a)部は、参考例3に係る画像特徴追跡方法を説明するための概念図である。参考例3において、画像取得処理Anに要する時間は、参考例2における画像取得処理Anに要する時間と同じである。また、追跡処理Pnに要する時間も、参考例2における追跡処理Pnに要する時間と同じである。すなわち、画像取得処理Anに要する時間と追跡処理Pnに要する時間の合計がサンプリング周期SAよりも長い。このような場合であっても、処理の態様を変更することによりフレーム落ちの発生を抑制できる。具体的には、画像取得処理Anと追跡処理Pnとを並列に行えばよい。なお、参考例3では、画像取得処理Anに要する時間はサンプリング周期SAより短いものとする。さらに、追跡処理Pnに要する時間もサンプリング周期SAより短いものとする。
近年のコンピュータは、複数のスレッドを設けることができる。従って、図3の(a)部に示されるような並列処理を容易に行える。例えば、第1フレームでは、画像G1を得るための画像取得処理A1を行う。次に、第2フレームでは、画像G2を得るための画像取得処理A2と、画像G1に対する追跡処理P2と、を並列に行う。追跡処理P1が完了したとき、画像取得処理A3のためのトリガを発生させる。そして、第3フレームでは、追跡処理P2の完了に起因するトリガによって画像取得処理A3が行われ、当該画像取得処理A3を行っている間に画像G2に対する追跡処理P3が並列に行われる。このような並列処理を利用する参考例3に係る画像特徴追跡方法によれば、フレーム落ちが生じない。
<参考例4>
図3の(b)部は、参考例4に係る画像特徴追跡方法を説明するための概念図である。参考例4に係る画像特徴追跡方法は、参考例3の画像特徴追跡方法と同様に画像取得処理Anと追跡処理Pnとを並列に行う。一方、参考例3に係る画像特徴追跡方法は、追跡処理Pnを開始するタイミングが画像取得処理Anを開始するタイミングと一致していた。参考例4に係る画像特徴追跡方法は、追跡処理Pnを開始するタイミングが画像取得処理Anを開始するタイミングと一致しない。具体的には、追跡処理Pnを開始するタイミングは、画像取得処理Anが完了したタイミングと一致する。参考例4の処理によれば、参考例3の処理に対して追跡処理Pnの結果を早く得ることができる。
<参考例5>
図4の(a)部は、参考例5に係る画像特徴追跡方法を説明するための概念図である。参考例1~4の方法において、画像取得処理Anは、予め設定されたサンプリング周期SAごとに行われた。つまり、カメラ(撮像装置)は、一定周期で画像Gnを取得することを前提とした。この場合、画像取得処理Anが開始されるタイミングは、各フレームの開始タイミングに一致する。一方、参考例5の方法において、画像取得処理Anが開始されるタイミングは、各フレームの開始タイミングに一致しなくてよい。つまり、コンピュータは、カメラに対して画像取得処理Anを開始するタイミングを指示する。この処理おいて、画像取得処理Anと追跡処理Pnとを含む処理に要する時間は、参考例3と同じである。しかし、参考例5の方法によれば、画像取得数を最大化することが可能である。具体的には、図3の(b)部を参照すると、参考例4の方法では、5フレーム終了した時点で、画像G1~G4が得られる。一方、図4の(a)部を参照すると、参考例5の方法では、5フレーム終了した時点で、画像G1~G5が得られる。つまり、参考例5の方法の方が、画像取得数が1だけ多い。
さらに、追跡処理Pnを並列処理化してもよい。そうすると、追跡処理Pnに要する時間を画像取得処理Anに要する時間よりも短くすることが可能になる。この場合には、画像取得処理Anの回数を最大化することができる。つまり、処理速度は、画像取得処理Anに要する時間に左右される。具体的には、画像取得処理Anに要する時間を周期とする頻度で、結果を得ることができる。ただし、この例によれば、画像取得時間や画像処理時間の変動によって、画像取得間隔が変化する。
<参考例6>
上記参考例1~5では、個々の追跡処理Pnに要する時間が常に一定であった。参考例6では、画像Gnに対して互いに異なる2個の処理を行う場合を仮定する。
追跡処理Fnにおいて、ウインドウをどのように決定するのかは問題となり得る。画像Gnの全体範囲から移動中の特徴座標を追跡し続けるシステムでは、フレームレートの高速化が望まれる。なぜならば、特徴が高速移動する場合は、フレームレートを高めて追跡性を良くしたいためである。フレームレートを高速化するためには、画像処理に要する時間を短くする手法が考えられる。画像処理に要する時間を短くするためには、画像処理の対象範囲を狭くすればよい。
そこで、まず、画像Gnの全体を探索して特徴を検出した後に、検出した特徴を含む狭い領域(ウインドウ)を設定する(探索処理Dn)。続いて、別の画像Gnに対してウインドウを適用し、当該ウインドウの内部を対象として特徴を検出する(追跡処理Fn)。探索処理Dnは画像Gnの全体から特徴を検出するので、処理時間TDが長い。一方、追跡処理Fnは画像Gnの一部の領域(ウインドウ内)から特徴を検出するので、処理時間TCが短い。具体的には、処理時間TCは、サンプリング周期SAよりも短い。また、処理時間TCは、探索処理Dnの処理時間TDよりも短い。図4の(b)部に示す例示は、図4の(a)部に示す例示の一部を変更したものである。具体的には、図4の(a)部における追跡処理P1が探索処理D1に対応し、追跡処理P2~P5がそれぞれ追跡処理F1~F4に対応する。
図4の(b)部を参照すると、第1フレームにおいて、画像取得処理A1を行い画像G1を得る。次に、画像取得処理A2を行い画像G2を得る。画像取得処理A2と並列に、探索処理D1を行う。ここで、画像G2から特徴を検出するときにはウインドウを用いるので、探索処理D1が完了する必要がある。このため、探索処理D1が完了するまで、画像取得処理は行なわれない。そうすると、第2フレームから第6フレームまでの期間において、画像Gnが取得されない。
探索処理D1が完了すると、ウインドウが得られる。次に、当該ウインドウを用いて画像G2を対象とした追跡処理F1を行う。追跡処理F1と並列に、画像取得処理A3を行い、画像G3を得る。ここで、画像G1を得たタイミングと画像G2を得たタイミングとは時間的に近接する。従って、画像G2における特徴は、画像G1における特徴に近接すると予想される。従って、追跡処理F1によれば、画像G1に基づくウインドウを利用して、画像G2から特徴を検出することができる。
続いて、画像G3に対する追跡処理F2を行う。ここで、画像G3を得たタイミングと画像G2を得たタイミングとは時間的に離間する。この例では、画像G3を得たタイミングと画像G2を得たタイミングとの間に、4フレーム分の時間が存在する。そうすると、この4フレーム分の時間が経過する間に、特徴が大きく移動することがある。つまり、画像G3における特徴の位置は、画像G2における特徴の位置から大きく離れることがあり得る。この離間の度合いが大きくなると、特徴がウインドウの外に存在する。特徴がウインドウの外に存在すると、追跡処理F2は特徴を検出することができない。つまり、追跡処理F2は失敗する場合が生じ得る。
一方、ウインドウを広くとれば、上記の状況であっても特徴を検出する可能性を高めることができる。しかし、ウインドウを広くすることは、追跡処理Fnの処理量の増加をもたらす。従って、フレームレートが低下してしまう。
<参考例7>
図5は、参考例7に係る画像特徴追跡方法を説明するための概念図である。参考例6では、画像取得処理Anが開始されるタイミングがフレームの開始タイミングに一致する必要がなかった。参考例7では、参考例1~4のように、画像取得処理Anが開始されるタイミングがフレームの開始タイミングに一致する。
図5に示されるように、第1フレームにおいて画像取得処理A1を行い、画像G1を得る。画像取得処理A1が完了すると、画像G1に対する探索処理D1が開始される。続いて、第2フレームにおいて画像取得処理A2を行い、画像G2を得る。第2フレームでは、探索処理D1が継続する。画像G2に対する追跡処理F1は、探索処理D1の結果(ウインドウ)を用いる。従って、追跡処理F1は、探索処理D1の完了後に行われる。図5の例によれば、第6フレーム中に追跡処理F1を行う。ここで、参考例6と同様に、画像G1を得たタイミング(第1フレーム)と、画像G2を得たタイミング(第2フレーム)とは、時間的に近接する。従って、追跡処理F1は成功する。
続いて、探索処理D1の完了後に、第7フレームにおいて画像取得処理A3が行われ、画像G3が取得される。そして、画像G3に対して追跡処理F2が行われる。しかし、画像G3を得たタイミング(第7フレーム)と画像G2を得たタイミング(第2フレーム)との間には、5フレーム分の時間が経過している。この時間が経過する間に、特徴が大きく移動してしまう可能性が高まる。そうすると、追跡処理F2において、ウインドウ内に特徴が存在する可能性が低くなるので、追跡処理F2が失敗することが生じ得る。
追跡処理F2が失敗した場合、第8フレームにおいて画像取得処理A4が行われ、画像G4が取得される。そして、画像G4を代表画像として探索処理D2を行う。
要するに、参考例1~7に係る方法では、特徴を確実に追跡することが困難である。
上述したように、図1に示された第1実施形態に係る画像特徴追跡方法では、所定のサンプリング周期SAごとに画像Gnを取得してメモリに記録する。また、特徴を検出する追跡処理Fnを行う前に、特徴を探索する探索処理Dnを行う。1回の探索処理Dnに要する時間は、1回の画像取得処理Anに要する時間よりも長いので、リアルタイムに検出ができない期間が生じる。そして、探索処理Dnによってウインドウが設定された後に、画像G2、G3、G4、G5、G6、G7、G8に対して後追い処理Cnを行う。画像G2~G8を得る画像取得処理Anに要する時間よりも、画像G2~G8に対する後追い処理Cnに要する時間が短いので、画像取得処理Anに後追い処理Cnが追いつく。
つまり、第1実施形態に係る画像特徴追跡方法は、メモリに記録された画像Gnに対して取得した順に追跡処理Fnを行う。従って、ウインドウ内に特徴が存在する可能性が高まるので、追跡処理Fnにおいて特徴を検出できる可能性を高めること可能になる。その結果、特徴の移動軌跡を連続的に検出すること可能になるので、特徴を確実に追跡することができる。さらに、第1実施形態に係る画像特徴追跡方法によれば、特徴を検出できる可能性が高まるので、時間分解能を高めることができる。
換言すると、ウインドウを利用した追跡処理Fn及びリアルタイム処理Rnは、処理に要する時間がサンプリング周期SAよりも充分に短い。従って、追跡処理Fnを順次行うことにより、徐々に遅れ時間が短縮される。そして、最終的には、取得した画像Gnを、取得直後に処理する、つまりリアルタイムの追跡が可能となる。このように、ウインドウを利用した特徴の後追い処理Cnが、画像取得処理Anに対して所定の遅れ時間をもって開始されるが、最終的にリアルタイム処理Rnが行えるまでに追跡処理Fnが追いつく。
このような処理であるために、第1実施形態に係る画像特徴追跡方法は、「後追い法」と呼ばれる。なお、「後追い」とは、具体的には、第2ステップS2において行われる後追い処理Cnを意味する。
<第2実施形態>
次に、第2実施形態に係る画像特徴追跡方法について説明する。第2実施形態に係る画像特徴追跡方法の詳細を説明する前に、参考例8に係る画像特徴追跡方法について説明する。図6は、参考例8に係る画像特徴追跡方法を説明するための概念図である。
画像Gnは、そもそも特徴を含まない場合もあり得る。例えば、被験者の瞳孔を特徴として追跡することがある。ここで、図6に示されるように被験者は、第1フレームから第5フレームに亘る期間Zにおいてまぶたを閉じたとする。そうすると、期間Zに取得した画像G2、G3、G4は、瞳孔を含まない。その結果、画像G1に対するリアルタイム処理R1は特徴の検出に成功するが、画像G2に対するリアルタイム処理R2は特徴の検出に失敗する。ここで、リアルタイム処理Rnの失敗とは、ウインドウ内から特徴が検出できなかったことをいう。例えば、特徴がウインドウの外に存在する場合には、リアルタイム処理Rnは失敗する。また、上述したように、特徴がそもそも画像Gnに含まれない場合にも同様に、リアルタイム処理Rnは失敗する。この2つの要因は、リアルタイム処理Rnに限定されず、後追い処理Cn及び後戻り処理Bn(後述)においても同様である。この場合には、再び探索処理Dnを行い、別の画像Gnの全体から特徴を探索して、ウインドウを再設定する。
失敗の要因が前者(特徴がウインドウの外にある)であるならば、探索処理Dnを再度行うことにより特徴が検出できるので、後追い処理Cn、リアルタイム処理Rn及び後戻り処理Bnを再開できる。一方、失敗の要因が後者(画像Gnが特徴を含まない)であるならば、探索処理Dnを行っても、特徴が検出できない。この場合には、代表画像を画像G2、G3、G4の順に変更しながら、特徴が検出できるまで探索処理Dnを繰り返す。図6の例によれば、画像G4を対象とする探索処理D2も失敗する。そして、期間Zの完了後に取得された画像Gn(例えば画像G5)を対象とする探索処理D3は成功する。
しかし、探索処理D1、D2、D3には比較的長い時間を要する。従って図6に示されるように、ウインドウの設定が成功するまで探索処理D1、D2、D3を繰り返すと、処理の遅れ時間が増大する。処理の遅れ時間は、未処理の画像を発生させる。図6の例によれば、探索処理D3が完了したとき、未処理の画像G6~G15が生じる。
第2実施形態では、このような場合に好適に対応できる画像特徴追跡方法を提示する。図7は、第2実施形態に係る画像特徴追跡方法を説明するための概念図である。
図6の例と同様に、第1フレームから第4フレームに亘って特徴が存在しない期間Zを仮定する。そうすると、画像取得処理A2、A3、A4(第4ステップS4)において得た画像G2、G3、G4には、特徴が含まれない。従って、画像G1に対するリアルタイム処理R1は成功するが、画像G2に対するリアルタイム処理R2は失敗する。リアルタイム処理R2に失敗すると、次は、画像G3を対象として探索処理D1を行う。画像G3にも特徴は含まれないので、探索処理D1は失敗する。そして、次の探索処理D2を行う。
ここで、上記参考例8の2回目の探索処理D2は、画像G4を対象とした。この画像G4は、1回目の探索処理D1に用いた画像G3の次に取得されたものである。一方、第2実施形態に係る画像特徴追跡方法では、2回目の探索処理D2において、画像G7を対象とする。画像G7は、1回目の探索処理D1が完了したタイミングに最も近いタイミング(第7フレーム)で取得されたものである。画像G7は、画像G3から数フレーム後の画像である。
参考例8において、画像G4は、画像G3を得たタイミングから1フレーム分の時間しか経過していないので、画像G4は特徴を含まない可能性が低い。一方、画像G7は、画像G3を得たタイミングから6フレーム分の時間が経過しているので、特徴を含む可能性が画像G4よりも高い。探索処理Dnにおけるこのような画像の選択によれば、特徴が含まれない画像G4~G6を処理対象として選択する可能性を低減できる。その結果、特徴を含む画像G7等を処理対象として選択する可能性を高めることができる。
そして、画像G7を処理対象とした場合には、2回目の探索処理D2は成功する。なお、探索処理D1、D2を行っている間に取得した画像G5~G11は、第1画像及び第4画像を構成する。探索処理D2が成功すると、画像G7から後に取得された画像G8~G13に対して、後追い処理C1~C6を行う。そして、後追い処理Cnが画像取得処理Anに追いついた後は、リアルタイム処理Rnを行う。つまり、第14フレームにおいて画像取得処理A14を行い、画像G14を得る。そして、第15フレームにおいて画像G14に対するリアルタイム処理R3を行うと共に、画像取得処理A15を行う。
なお、図7において、後追い処理Cnと後戻り処理Bnとは並列に処理される内容を例示した。画像特徴追跡方法を実行するコンピュータが1個の演算器(コア)を有するCPUを備える場合には、CPUが処理をタイムシェアリングして後追い処理Cnと後戻り処理Bnとを見かけ上並行して処理する。そうすると、並列処理を行うときの後追い処理C1、C2、C3に要する時間は、後追い処理Cnのみを行う場合(C4、C5、C5)に要する時間よりも長くなる。図7に示す白抜き矢印は、これら処理時間について厳密に示すものではない。
また、画像特徴追跡方法を実行するコンピュータが2個の演算器(コア)を有するCPUを備える場合には、ここの処理に要する時間が延びることなく並列処理を行うことができる。例えば、第1演算器は、後追い処理Cn及びリアルタイム処理Rnを行う、第2演算器は、後戻り処理Bnのみを行うこととしてもよい。
<後戻り法>
ところで、画像G3と画像G7との間に取得された画像G4、G5、G6(第4被処理画像)は、なんらの処理もなされていない。そこで、これらの画像G4、G5、G6に対して、事後的に処理を行う。以後の説明において、このような処理を、後戻り処理Bnと呼ぶ。後戻り処理Bnとは、探索処理Dnに成功した画像Gn(画像G7)を取得したタイミング(第7フレーム)より、前(第4~第6フレーム)に取得された画像Gn(画像G4、G5、G6:第4画像)に対して行う追跡処理と定義してもよい。一方、後追い処理Cnとは、探索処理Dnに成功した画像Gn(画像G7)を取得したタイミング(第7フレーム)より後(第8フレーム以降)に取得された画像Gn(画像G8~G13)に対して行う追跡処理と定義してもよい。
具体的には、画像G7に対して1フレーム前に得た画像G6に対して、2回目の探索処理D2で得たウインドウを用いて後戻り処理B1を行う。画像G6は特徴を含む。従って、後戻り処理B1は成功する。次に、画像G6の1フレーム前に得た画像G5に対して後戻り処理B2を行う。画像G5は特徴を含むので、後戻り処理B2も成功する。さらに、画像G4に対して後戻り処理B3を行う。しかし、画像G4は特徴を含まない。従って、後戻り処理B3は、失敗する。この時点で、後戻り法による処理を完了する。そうすると、特徴を含まない画像G2~G4を除いて、画像G1、G5~G15について特徴の検出が成功する。つまり、特徴の追跡は成功する。
上述したように、後戻り処理Bnは、画像を取得した順番とは逆の順番で画像G4~G6を処理する。つまり、後戻り処理Bnでは、画像G6、G5、G4の順に処理する。これは、後戻り処理Bnは、特徴の検出に成功したタイミング(即ち画像G7を取得したタイミング)に対して時間的に近い順に処理するほうが、特徴を検出する確実性が高まるためである。なぜならば、特徴の検出に成功したタイミングに時間的に近い場合には、検出に成功した特徴の近傍に特徴が存在する可能性が高いためである。このような態様では、設定されたウインドウに特徴が含まれる可能性が高い。一方、特徴の検出に成功したタイミングに時間的に遠い場合には、検出に成功した特徴から遠い場所に特徴が存在する可能性が高い。そうすると、設定されたウインドウに特徴が含まれる可能性が低くなる。
第2実施形態に係る画像特徴追跡方法によれば、特徴の検出に失敗した探索処理D1の次に行われる探索処理D2において、特徴の検出に失敗した画像G3を取得したタイミングから、探索処理D1に要する時間に相当する時間(約4フレーム分の時間)だけ経過後に取得した画像G7を処理対象とする。そうすると、約4フレーム分の時間が経過する間に、特徴が画像G7に再び現れている可能性が高まる。従って、探索処理D2を成功させる可能性を高めることができるので、探索処理Dnの回数が低減する。これにより、特徴を確実に追跡し続けることできる。
<変形例1>
なお、後追い処理Cnと後戻り処理Bnとは、種々の実施態様を取り得る。例えば、図7に示されるように、第2ステップS2において、後追い処理Cnと後戻り処理Bnとを並列して行ってもよい。また、図8の(a)部に示されるように、第2ステップS2において、後追い処理Cnと後戻り処理Bnとを交互に行ってもよい。また、図8の(b)部に示されるように、第3ステップS3において、リアルタイム処理Rnと後戻り処理Bnとを並列して行ってもよい。また、図8の(c)部に示されるように、第3ステップS3において、リアルタイム処理Rnと後戻り処理Bnとを交互に行ってもよい。
<第3実施形態>
次に、第3実施形態に係る視線追跡方法及び注視点追跡方法について説明する。図9は、第3実施形態に係る視線追跡方法及び注視点追跡方法を説明するためのシステム図である。図9に示されるように、視線追跡方法は、ディスプレイRC(表示装置)の前に立つ被験者Hの視線を追跡する。ここでいう「視線」とは、被験者Hの瞳孔と対象物を結ぶ線をいう。そして、注視点追跡方法は、ディスプレイRC(表示装置)の前に立つ被験者Hが、ディスプレイRCのどの位置を注視しているかを検出する。つまり、注視点Qとは、被験者Hが注視するディスプレイRC上の位置をいう。この注視点Qは、被験者Hの視線を示すベクトルと、ディスプレイRCを示す平面との交点として得られる。注視点追跡方法によれば、ディスプレイRC上の注視点Qの座標が得られる。なお、注視点追跡に用いる注視点を検出する方法の詳細は、発明者らによる下記の文献1、2などを利用してよい。
文献1:国際公開第2012/020760号。
文献2:国際公開第2012/077713号。
上述したように、注視点追跡方法は、視線追跡方法の結果を利用する。従って注視点追跡方法は、視線追跡方法を含む。以下の説明においては、視線追跡方法を含む注視点追跡方法について詳細に説明する。
注視点追跡方法は、ディスプレイRCの下方に配置された一対のカメラ2と、当該カメラ2によって得た画像を処理する処理装置Mとにより行われる。処理装置Mは、いわゆるコンピュータである。一対のカメラ2は、ステレオ較正がなされている。それぞれのカメラ2は、露光時間が短くされる。カメラ2は光源(不図示)を有しており、カメラ2の当該露光中に光源を発光させる。光源は、互いに異なる中心波長を有する2種類の光を被験者Hに提供する。光源は、明瞳孔画像(第1顔画像)を得るための光(第1光)として、中心波長が850nmである光を発生させる。さらに、光源は、暗瞳孔画像(第2顔画像)を得るための光(第2光)として、中心波長が940nmである光を発生させる。これらの光を照射するタイミングは、一方のカメラ2の光源から発せられた光が他方のカメラ2によって取得される画像に干渉しないように設定される。
図10は、注視点追跡方法の主要な工程を示すフロー図である。まず、カメラ2を用いて被験者Hの顔画像を得る(工程S10)。顔画像は、第1明瞳孔画像、第1暗瞳孔画像、第2明瞳孔画像及び第2暗瞳孔画像を含む。つまり、工程S10は、一方のカメラ2を利用して第1明瞳孔画像を得る処理と(工程S11a)、一方のカメラ2を利用して第1暗瞳孔画像を得る処理と(工程S11b)を有する。さらに、工程S10は、他方のカメラ2を利用して第2明瞳孔画像を得る処理と(工程S12a)、他方のカメラ2を利用して第2暗瞳孔画像を得る処理と(工程S12b)を有する。
次に、顔画像を用いて、特徴を検出する(工程S20)。第3実施形態では、特徴として瞳孔Pを選択する。なお、特徴とは、瞳孔中心点PCや角膜反射点GCのように点によって示すことが可能である場合には特徴点としての意味を有する。一方、眼のようにある程度の領域を有するもののように、点によって示すことができない場合には、そのものの特徴の意味である。まず、顔画像に適用するウインドウを設定する(工程S21)。このウインドウの設定には、2個の態様があり得る。第1の態様は、顔画像の全体から特徴である瞳孔Pを検出し、検出された瞳孔Pを含む領域としてウインドウを設定する。この第1の態様は、探索処理Dn(図1参照)に対応する。第2の態様は、瞳孔Pの動きを予測し、当該予測に基づいて過去のウインドウの位置を更新することにより、新たなウインドウを設定する。この第2の態様は、後追い処理Cn及びリアルタイム処理Rnの一部である。第1の態様は、顔画像の全体を処理対象とするので、処理の完了には時間を要する。一方、第2の態様は、特徴の動きの予測を処理対象とするので、処理の完了には第1の態様ほどの時間を要しない。
次に、差分画像を得る(工程S22)。具体的には、第1明瞳孔画像と第1暗瞳孔画像との差分を取ることにより、第1差分画像を得る。さらに、第2明瞳孔画像と第2暗瞳孔画像との差分を取ることにより、第2差分画像を得る。
ところで、i番目の明瞳孔画像が取得されてから、(i+1)番目の暗瞳孔画像が取得されるまでの間に、被験者Hの頭部が動かない場合を想定する。この場合には、上記のように単純に明瞳孔画像と暗瞳孔画像との差を取ることで、瞳孔Pを含む差分画像が得られる。しかし、i番目の明瞳孔画像が取得されてから、(i+1)番目の暗瞳孔画像が取得されるまでの間に、被験者Hの頭部が動くことがある。この場合には、これら2枚の画像の間で瞳孔Pの位置にずれが生じる。その結果、良好な差分画像を得ることが難しくなる。そこで、差分画像を得る工程S22は、差分画像を生成する処理に加えて、位置ずれを補正する処理さらに有してもよい。この補正処理は、当該差分画像を生成する処理の前に実施される。
具体的には、角膜反射点GC(図9参照)を基準として位置補正を行う。まず、工程S22において第1明瞳孔画像が有する角膜反射点GCと第2明瞳孔画像が有する角膜反射点GCとをそれぞれ検出する。次に、それぞれの角膜反射点GCが一致するように、明瞳孔画像を暗瞳孔画像に対してずらす、もしくは暗瞳孔画像を明瞳孔画像に対してずらす。そして、差分画像を得る。
次に、ウインドウを利用して第1差分画像及び第2差分画像から瞳孔中心点PCを検出する(工程S23)。具体的には、第1差分画像及び第2差分画像における瞳孔中心点PCの二次元座標を得る。例えば、差分画像における瞳孔Pの輝度は、前フレームと大きく変化しないことを利用してもよい。前フレームで検出された瞳孔Pの輝度平均を利用して、その平均輝度の半分の値を閾値として差分画像を二値化する。その後、ラベリング処理を行う。続いて、瞳孔Pらしい面積、サイズ、面積比、正方形度、及び瞳孔Pの特徴量等の形状パラメータに基づいて、ラベルづけされた画素の連結成分のなかから瞳孔Pを選択する。そして、瞳孔中心点PCの座標を得る。
次に、ウインドウを利用して角膜反射点GCを検出する(工程S24)。例えば、処理対象である顔画像に対してPタイル法による二値化とラベリングとを行う。次に、形状や輝度平均等の情報に基づいて、その画像から角膜反射点GCを検出する。角膜反射点GCの検出には、例えば、第1明瞳孔画像及び第1暗瞳孔画像の何れか一方を利用してもよいし、第1明瞳孔画像及び第1暗瞳孔画像の両方を利用してもよい。さらに、角膜反射点GCの検出には、第1差分画像又は第2差分画像を利用してもよい。
続いて、注視点を検出する(工程S30)。まず、工程S20により得られた瞳孔中心点PCの二次元座標にステレオ法を適用して、瞳孔中心点PCの三次元座標を得る(工程S31)。次に、カメラ2と瞳孔中心点PCとを結ぶカメラ―瞳孔ベクトルOPを得る(工程S32)。次に、瞳孔中心点PCと角膜反射点GCとを利用して、ベクトルrと傾きφ’とを得る(工程S33)。ここで、発明者らの知見によれば、ベクトルrは、被験者Hの視線ベクトル、すなわち、瞳孔中心点PCと注視点Tとを結ぶ視線ベクトルPTと瞳孔ベクトルOPとのなす角度θとは、式(1)に示される関係を有する。
θ=k|r|…(1)
式(1)とベクトルrとを利用して、角度θを得る(工程S34)。次に、直線OTの水平軸X’に対する傾きφは、ベクトルrの画像上の水平軸XGに対する傾きφ’と等しいとして、傾きφを得る(工程S35)。次に、瞳孔ベクトルOPと角度θと傾きφを利用して、視線ベクトルPTを得る(工程S36)。つまり、視線追跡方法は、以上の工程S11~S36を含んで構成される。そして、視線ベクトルPTとディスプレイRCとの交点を得ることにより、注視点Qの座標が得られる(工程S37)。
第3実施形態において、画像の特徴として、瞳孔Pを選択できる。従って、第3実施形態に係る注視点追跡方法では、画像特徴追跡方法を利用して顔画像から瞳孔Pを追跡する。なお、瞳孔Pを対象としたウインドウは、角膜反射点GCも含み得る。従って、瞳孔Pを特徴として追跡する場合には、角膜反射点GCは瞳孔Pの追跡に付随して追跡される。
図11は、第3実施形態に係る注視点追跡方法を説明するための概念図である。図11に示されるように、第3実施形態に係る注視点追跡方法は、一方のカメラ2のための第1処理J1と、他方のカメラ2のための第2処理とを有する。そして、第1処理J1及び第2処理J2の結果を利用して、注視点を検出する処理(工程S30)が行われる。第2処理J2は、第1処理J1とタイミングがずれているだけであり、具体的な内容は略同じである。従って、以下の説明において、第1処理J1を例に具体的に説明する。
まず、第1フレームにおいて、カメラ2によって画像取得処理A1Lが行われ、顔画像W1L(明瞳孔画像)が得られる(工程S10)。
さらに、第1フレームにおいて、画像取得処理A1Lの完了後、直ちに顔画像W1Lに対する探索処理D1Lが行われる。この探索処理D1Lは、前述したウインドウを設定する工程S21における第1の態様に対応する。そして、探索処理D1Lには、明瞳孔画像である顔画像W1Lが供される。この探索処理D1Lでは、顔画像W1Lから瞳孔中心点PCが検出される。また、探索処理D1Lは、およそ5フレーム分の時間を要する。従って、探索処理D1Lは、第6フレーム中に完了する。一方、第2フレームから第5フレームの間では、探索処理D1Lと並列して画像取得処理A2L~A5L(工程S10)が行われ、顔画像W2L~W5Lが取得される。これらの顔画像W2L~W5Lは、リアルタイム処理に供せない、つまり未処理のまま積み残されたものであり、メモリに一時的に保存される。
第6フレームにおいて、探索処理D1Lが完了し、直ちに、後追い処理C1Lが開始される。また、第6フレームでは、当該後追い処理C1Lと並列して、画像取得処理A6L(工程S10)が行われ、顔画像W6L(暗瞳孔画像)が得られる。
第6フレームから第7フレームに亘って行われる後追い処理C1Lは、ウインドウを設定する工程S21と、差分画像を得る工程S22と、瞳孔中心点PCを得る工程S23と、角膜反射点GCを得る工程24とを含む。後追い処理C1Lにおけるウインドウを設定する工程S21では、探索処理D1Lにおいて得たウインドウの情報を利用して設定する。これらの工程S21、S22、S23、S24は、明瞳孔画像及び暗瞳孔画像を利用するものであるので、顔画像W1L、W2Lを対象として行われる。より具体的には、特徴を検出する工程S23には、差分画像が供される。後追い処理C1Lの結果、顔画像W1L、W2Lに基づく瞳孔中心点PCと角膜反射点GCとが得られる。
ところで、第1実施形態及び第2実施形態に係る画像特徴追跡方法において、後追い処理Cn及びリアルタイム処理Rnに供される被処理画像は取得された画像そのものであった。一方、第3実施形態に係る注視点追跡方法において、後追い処理Cn及びリアルタイム処理Rnに供される被処理画像は取得された画像そのものではない。つまり、後追い処理Cn及びリアルタイム処理Rnに供される被処理画像は、取得された明瞳孔画像及び暗瞳孔画像に基づいて得た差分画像である。
上記の第1~第7フレームでは、第1処理J1と並行して、他方のカメラ2を対象とした第2処理J2が行われる。従って、第2処理J2おける探索処理D1Rと後追い処理C1Rの結果、顔画像W1R、W2Rに基づく瞳孔中心点PCと角膜反射点GCとが得られる。
後追い処理C1L、C1Rが終了すると、一対の瞳孔中心点PCと、一対の角膜反射点GCに関する情報が得られる。そこで、これらの情報を利用して、注視点追跡処理K1(工程S30)が第8フレームから第9フレームに亘って行われる。注視点追跡処理K1の結果、被験者Hの注視点Qが得られる。続いて、顔画像W3L、W4Lを対象とした後追い処理C2Lと、顔画像W3R、W4Rを対象とした後追い処理C2Rと、が行われ、それらの結果を利用して、注視点追跡処理K2が行われる。
以下、同様に、取得した顔画像に対して順に後追い処理C3L、C4L、C3R、C4Rを行う。これらの後追い処理C3L、C4L、C3R、C4Rは、後追い処理C1Lと同様に、ウインドウを設定する工程S21と、差分画像を得る工程S22と、瞳孔中心点PCを得る工程S23と、角膜反射点GCを得る工程24とを含む。そして、それらの結果を利用して、注視点追跡処理K3、K4を行う。そうすると、積み残されていた顔画像W2L~W5Lに対して全て注視点追跡処理が行われ、リアルタイム処理R1L、R2L、R1R、R2Rが行えるようになる。これらのリアルタイム処理R1L、R2L、R1R、R2Rは、後追い処理C1Lと同様に、ウインドウを設定する工程S21と、差分画像を得る工程S22と、瞳孔中心点PCを得る工程S23と、角膜反射点GCを得る工程24とを含む。ここでいう、リアルタイムの注視点追跡処理とは、未処理の顔画像WnL、WnRが発生しない処理態様をいう。つまり、顔画像WnL、WnRを取得する期間より、顔画像WnL、WnRの後追い処理CnL、CnR及び注視点追跡処理Knに要する期間が短いので、未処理の顔画像WnL、WnRが発生しない。なお、これらのリアルタイム処理R1L、R2L、R1R、R2Rにも差分画像が供される。すなわち、リアルタイム処理R1L、R2L、R1R、R2Rに供される画像は、明瞳孔画像及び暗瞳孔画像そのものではない。
このように、画像特徴追跡方法を利用した注視点追跡方法によれば、瞳孔中心点PCを確実に追跡することが可能である。従って、被験者Hの注視点Qを確実に追跡することができる。
ところで、発明者らが提案する瞳孔―角膜反射を利用した注視点検出法は、非接触であること、被験者に近接する必要がないこと、被験者の頭部の動きを許容すること、といった特徴を有する。この注視点検出法では、明瞳孔画像(第1光画像)と暗瞳孔画像(第2光画像)との差分画像を利用して、瞳孔検出をする。明瞳孔画像とは、例えば、中心波長が850nmである光(第1光)を照射して得た画像である。暗瞳孔画像とは、例えば、中心波長が950nmである光(第2光)を照射して得た画像である。この差分によれば、瞳孔Pとは別の部分(以下「非瞳孔領域」)における画素値(例えば輝度)が相殺されて、瞳孔Pのみを検出できる。差分画像を利用する注視点追跡方法は、瞳孔Pをロバストに検出できる。
一方、注視点検出法は、明瞳孔画像のための光源及び暗瞳孔画像のための光源の調整が重要である。なぜならば、明瞳孔画像と暗瞳孔画像との差分によって非瞳孔領域の画素値を相殺しているからである。従って、非瞳孔領域における画素値は、明瞳孔画像と暗瞳孔画像とにおいて同じであることが要求される。しかし、明瞳孔用の光源位置に対して暗瞳孔用の光源位置が異なる場合には、光量の調整を行ったとしても、明瞳孔画像の画素値と暗瞳孔画像の画素値とが好適に一致しないことがある。そこで、発明者らは、このような問題を解決し得る技術を下記文献3、4にて提案している。
文献3:齊藤翔太、増田和也、福元清剛、海老澤嘉伸、「遠隔注視点検出装置における眼鏡着用者対応のための近赤外光源の提案」、ViEW2013ビジョン技術の実利用化ワークショップ講演予稿集、OS5-H5(IS2-D13)、6ページ、2013年。
文献4:国際公開第2014/181775号。
これらの文献3、4に開示された技術は、明瞳孔画像の画素値と暗瞳孔画像の画素値とを好適に一致させることに加えて、さらに、眼鏡反射を相殺させる手法を提案している。具体的には、光源は、カメラ開口部の近傍に近接するように配置された発光素子を有する。明瞳孔画像は、この発光素子を利用して得る。一方、光源は、開口部から少し離れた位置に配置された別の発光素子をさらに有する。暗瞳孔画像は、明瞳孔用の発光素子又は別の発光素子を利用して得る。明瞳孔用の発光素子は、暗瞳孔を生じさせる効果が弱い。そこで、暗瞳孔画像を得るときには、別の発光素子をさらに利用する。そして、別の発光素子によれば、明瞳孔画像において生じる眼鏡反射像とほぼ同様の眼鏡反射像が暗瞳孔画像に生じる。従って、差分を得ることにより非瞳孔領域の画素値が相殺されると共に眼鏡反射像が相殺されるので、瞳孔Pを容易に検出できる。
ここで、明瞳孔画像を取得したタイミングと暗瞳孔画像を取得したタイミングとの間には、時間差が存在する。そして、被験者の頭部が移動すると、両画像内での瞳孔中心点PCがずれるので、好適な差分画像を得ることが難しい。なぜならば、瞳孔中心点PCがずれた状態で差分を得ると、差分画像における瞳孔Pが変形する。また、差分画像には、瞳孔Pのダミーが生じることがある。さらに、顔の輪郭など空間的に画素値の変化が大きいところは、差分により相殺できない部分が生じる。
被験者の動きに起因して、差分による相殺ができないものがさらに存在する。例えば、レンズやフレームにより生じる眼鏡反射像である。相殺できなかった要素は、瞳孔Pとして誤って検出される可能性がある。すなわち、瞳孔Pの誤検出を生じさせる。被験者の動きに起因する問題を解決する案として、例えば、2000fps等の高速度カメラの適用が挙げられる。しかし、下記文献5に開示されるように高速度カメラはコスト的に不利である。
文献5:増田和也、海老澤嘉伸、「近赤外光源と高速度ビデオカメラによる瞳孔と角膜反射検出法の改善」、映像情報メディア学会誌、Vol.66、No.2、46-55ページ、2012年。
発明者らは、通常のカメラを用いた場合でも、被験者の動きに起因する問題を解決し得る技術を文献6、7にて提案している。
文献6:海老澤嘉伸、中島彩、「角膜反射を利用した瞳孔中心点PC検出の高精度化」、映像情報メディア学会学会誌、Vol.62、No.7、1122-1126ページ、2008年。
文献7:特開2008-29702号公報。
ところで、眼鏡反射を相殺可能な光源では、瞳孔強調用発光素子による角膜反射点GCと眼鏡反射相殺用発光素子による角膜反射点GCが一体化して大きな塊として画像Gnに含まれることがある。その結果、角膜中心検出精度が低くなる。これは、暗瞳孔を強調するための発光素子と、眼鏡反射を相殺するための発光素子との間の角度が瞳孔Pから見込んだ角度が十分に大きくないときに特に生じ得る。中心検出精度の低下は、角膜反射による差分位置補正の精度の低下を招き、結果的に、瞳孔中心点の検出精度の低下も招く。従って、注視点検出においてもばらつきが大きくなる傾向を生じさせる。
発明者らは、下記文献8、9において、上記の問題を解決する技術を開示する。暗瞳孔強調用発光素子2個を、眼鏡反射相殺用光源から角度的に大きく離れた位置、左右対称の位置にそれぞれ設置する。さらに、眼鏡反射相殺用発光素子の光量を、暗瞳孔強調用発光素子の光量に比較して小さくする(例えば1/30)。その結果、明瞳孔用発光素子による眼鏡反射像は差分により十分に相殺される。
文献8:望月幸平・齊藤翔太、福元清剛、海老澤嘉伸、「遠隔注視点検出装置の眼鏡反射対応のための新光源と差分位置補正法の提案」、2014年映像情報メディア学会冬季大会、2014年。
文献9:特開2016-95584号公報。
文献8、9に開示した技術は、次のとおりである。すなわち、2個の暗瞳孔強調用光源の中点の位置は、明瞳孔用発光素子の位置(カメラの位置)に相当する。従って、2個の暗瞳孔強調用発光素子によって生じる2個の角膜反射点GCのそれぞれの位置を検出して、それらの中点を暗瞳孔画像における仮想的な角膜反射点GCとする。当該角膜反射点GCと明瞳孔画像で得られる角膜反射点GCと位置合わせを行う。その後、明瞳孔画像と暗瞳孔画像とに基づく差分画像を得る。そして、差分画像を用いて瞳孔中心点を検出する。文献9で提案した技術は、複数の暗瞳孔強調用光源をあらゆる位置に設定した場合に差分を得るときに位置補正を行うものである。
ところが、明瞳孔用発光素子と暗瞳孔強調用発光素子とは、互いに異なる位置に配置している。この配置の相違に起因して、明瞳孔用光源に起因する顔の画素値分布は、暗瞳孔強調用光源に起因する顔の画素値分布と異なる。差分処理では、差分後における非瞳孔領域の画素値が零となる結果が理想である。しかし、明瞳孔画像の非瞳孔領域と、暗瞳孔画像の非瞳孔領域との間で画素値分布が異なると、差分画像における非瞳孔領域の画素値が零とならない。従って、差分画像においては、非瞳孔領域の画素値が場所によって変化してしまう。
例えば、画像Gnにおいて瞳孔Pが占める面積が大きい場合には、差分画像において瞳孔領域の画素値が非常に高くなることがある。従って、非瞳孔領域の画素値が多少変化しても、瞳孔検出に問題はない。
しかし、周囲が明るいといった理由によって、画像Gnにおいて瞳孔Pが占める面積が小さくなった場合には、瞳孔領域の画素値が小さくなる。従って、瞳孔検出に問題が生じる可能性がある。例えば、非瞳孔領域に瞳孔Pよりも画素値が高くなる部分(例えば眼鏡反射や顔画像の境界、鼻の影)が生じることがある。このような部分と瞳孔Pとを含む画像を二値化すると、眼鏡反射などが瞳孔Pとして誤って検出される場合が生じ得る。その場合は、検出された要素が、瞳孔Pであるか否かを評価する。当該評価には、要素の特徴や、目、鼻、口といった部位の位置関係を利用できる。
しかし、そのような複雑な画像処理を画像全体に対して行うと、長い処理時間を要する。その結果、瞳孔Pを検出する処理に0.3秒の時間を要したとする。すると、画像Gnの取得は、0.3秒に1回となる。つまり、画像取得処理Anは、1秒間に3回行われる。
処理時間の長期化の問題に対して、以下のような解決案がある。
まず、画像全体から瞳孔Pを検出する。そして、検出された瞳孔Pを中心とするウインドウを設定する。次に、別の画像に対して瞳孔Pを検出する処理を行う。このとき、処理の対象は画像全体ではなく、ウインドウ内だけである。この処理によれば、画像処理の対象が小さくなるので、処理に要する時間を短縮できる。例えば、ウインドウ内を対象とした処理は、0.005秒の時間で足りる。そうすると、例えば、60fpsで画像を取得できるカメラにおいても、確実にフレームごとに瞳孔Pを検出できる。
なお、我々は、このウインドウを与えた上で、角膜反射による位置ずれ補正も行っている。しかし、画像を取得し、画像全体から瞳孔Pを検出するまでに0.3秒の時間を要するとすれば、瞳孔Pが検出できない場合が生じ得る。すなわち、被験者の頭部が動くと、次に取得される画像Gnにおいては、瞳孔Pが別の位置に移動している。従って、ウインドウ内に瞳孔Pが存在しない場合が生じ得る。そうすると、真の角膜反射が検出できないので、角膜反射による位置ずれ補正も正しく機能しない。ひいては、瞳孔Pが検出できないことに通ずる。その結果、ウインドウを解除し、再び、画像全体から瞳孔Pを0.3秒かけて探索する。
以上の内容をまとめると、瞳孔検出は、以下の問題を有する。つまり、画像処理に時間を要した場合に、その間に頭部が動くと、その次に取得される画像にでは、大きくずれた位置に瞳孔部が移動している。従って、最初に得られた瞳孔部を用いたウインドウは適切でない場合があり得る。その結果、瞳孔を検出することができない。
第3実施形態に係る注視点追跡方法によれば、特徴として瞳孔中心点PCを追跡する。そして、この処理には、第1実施形態及び第2実施形態において説明した画像特徴追跡方法を適用する。この画像特徴追跡方法によれば、瞳孔中心点PCを好適に追跡することが可能になる。従って、瞳孔中心点PCを利用する注視点Qも確実に追跡することができる。
なお、特徴として選択し得る要素は、瞳孔中心点PCに限定されない。特徴として角膜球中心点を選択してもよい。例えば、発明者らによる下記の文献10は角膜球中心点を検出する技術を開示する。
文献10:国際公開第2015/190204号。
また、特徴として2個の瞳孔Pを選択してもよい。この選択は、2個の瞳孔中心点PCの間の三次元距離が一定であるという仮定に基づいている。例えば、発明者らによる下記の文献11は、2個の瞳孔Pを利用した注視点の検出技術を開示する。
文献11:国際公開第2013/176265号。
この構成によれば、カメラ2が2台の場合では、一方のカメラ2で左右どちらかの瞳孔Pが眼鏡反射などで検出できないことがあっても、他方のカメラ2で補完される。従って、ウインドウを解除することなく、追跡を継続することが可能になる。また、カメラ2が3台であるとき、そのうち2台のカメラ2で瞳孔Pが検出されたとする。そうすると、残りの1台のカメラ2の画像において、瞳孔Pが含まれていなくとも、残りの1台のカメラ2の画像における瞳孔Pの位置を推定できる。従って、ウインドウを与え続けることができる。つまり、実際にはカメラ画像に特徴が映っていなくても追跡処理を継続することができる。
さらに、特徴として、2個の瞳孔Pと、2個の鼻孔の中点である鼻孔間中点との組み合わせを選択してもよい。これらの瞳孔P及び鼻孔を含む画像は、1台のカメラ2によって得てもよい。例えば、発明者らによる下記の文献12、13は2個の瞳孔Pと鼻孔間中点との組み合わせを対象とした技術を開示する。具体的には、特徴間の距離が一定とする条件のもと、それらの瞳孔Pと鼻孔間中点を求めると同時にそれによって較正される三角形の位置と方向を求め次のフレーム(タイミング)でそれらを予測し、さらにそれらから同フレームの瞳孔中心点と鼻孔間中点を求める。なお、実際に追跡処理の対象となる部位は、鼻孔である。追跡の対象(つまり特徴)としては、鼻孔としてもよいし、鼻孔の情報から得られる鼻孔間中心として処理を行うこともできる。
文献12:特開2007-271554号公報。
文献13:国際公開第2010/010926号。
さらに、鼻孔を追跡する場合には、上述した差分位置補正を適用してもよい。この場合における差分位置補正量とは、1台のカメラ2が取得した画像から瞳孔と鼻孔とを検出する際に、画像中における鼻孔の移動量をいう。例えば、発明者らによる下記の文献14は鼻孔を検出対象とした技術を開示する。
文献14:特開2007-268026号公報。
さらに、特徴として被験者Hの鼻孔や口を選択してもよい。例えば、発明者らによる下記の文献15、16は鼻孔又は口を検出対象とした技術を開示する。
文献15:特開2007-268164号公報。
文献16:国際公開第2016/159255号。
さらに、特徴として顔画像Wnに含まれる被験者Hの眼を選択してもよい。この場合には、図11における探索処理D1L、D1Rにおいて、特徴として被験者Hの眼を包含する領域を選択し、ウインドウを設定する。被験者Hの眼を検出する方法は、文献17に開示された技術を利用してよい。
文献17:松本吉央、アレクサンダー ツィリンスキー、「視線方向及び頭部姿勢のリアルタイムステレオ計測アルゴリズム」、第4回IEEE(米国電気電子協会)、顔およびジェスチャーの自動認識に関する国際会議プロシーディングス(予稿)、499~504ページ、2000年3月26~30日。(Yoshio Matsumoto、Alexander Zelinsky、「An Algorithm for Real-Time Stereo VisionImplementation of Head Pose and Gaze Direction Measurement」、 Proceedings of the Fourth IEEE International Conference on AutomaticFace and Gesture Recognition 2000、Page 499 -504、March 26‐30、2000)。
眼を含むウインドウには、瞳孔P及び角膜も含まれる。従って、眼を含むウインドウから、瞳孔中心点PC及び角膜反射点GCを検出することが可能である。そこで、後追い処理CnL、CnR及び追跡処理RnL、RnRでは、眼を含むウインドウを設定(S21)した後に、当該ウインドウから瞳孔中心点PCを検出する(S23)と共に角膜反射点GCを検出する(S24)。瞳孔中心点PC及び角膜反射点GCを得た後の処理(注視点追跡処理)は、第3実施形態と同様である。
以下、第3実施形態に係る注視点追跡方法の変形例2、3について説明する。
<変形例2>
第3実施形態では、i+1番目の顔画像Wi+1Lに対するウインドウを、i番目の顔画像WiLに設定したウインドウに基づいて設定した。具体的には、i番目の顔画像WiLにおける瞳孔中心点PCからi+1番目の顔画像Wi+1Lにおける瞳孔中心点PCを推定する。この推定により、特徴の移動を示す移動ベクトルが得られる。そして、当該移動ベクトルを利用してウインドウの位置をずらすことにより、i+1番目の顔画像Wi+1Lにおけるウインドウが設定される。つまり、特徴の移動の推定は、顔画像WnL、WnRに設定される二次元平面においてなされる。
変形例2では、特徴の移動の推定を三次元空間内において行う。つまり、単に一台のカメラ2の顔画像において特徴を追跡するものではなく、複数のカメラ2で捉えた顔画像WnL、WnRに含まれる特徴の三次元的な位置を三次元的に推定する。そして、当該三次元位置を各カメラ2の顔画像WnL、WnR上における座標に変換してウインドウを与える。以下、特徴として瞳孔中心点PCを選択した場合を例に説明する。
図12は、変形例2に係る注視点追跡方法の主要な工程を示すフロー図である。図12に示されるように、変形例3に係る特徴を検出する工程S20Aは、ウインドウを設定する工程S21Aを有する。ウインドウを設定する工程S21Aは、i番目の顔画像WiLにおける瞳孔中心点PCの三次元座標は、i番目の注視点追跡処理(工程S30)の工程S31において得られる。そこで、i番目までの顔画像WiLにおける瞳孔中心点PCの三次元座標の履歴を利用して、i+1番目の顔画像Wi+1Lにおける瞳孔中心点PCの座標を推定する(工程S21a)。次に、推定した瞳孔中心点PCの三次元座標を、顔画像Wi+1Lの座標系における二次元座標に変換する(工程S21b)。この処理には、ピンホールモデルをモデルに基づく座標変換処理を利用できる。そして、顔画像Wi+1Lの座標系に変換された推定された瞳孔中心点PCを利用して、ウインドウを設定する(工程S21c)。
なお、特徴の移動の推定を三次元空間内において行う変形例2において、追跡の対象は、瞳孔中心点PCに限定されない。例えば、2個の瞳孔中心点PCに加えて、鼻孔を追跡してもよい。このような技術として、発明者らによる下記文献18、19に開示された技術を用いてもよい。
文献18:特開2005-266868号公報。
文献19:特開2007-26073号公報。
<変形例3>
第3実施形態において、差分画像を得る工程S22では、例えば2枚の顔画像WnL、Wn+1Lに対して位置ずれを補正する処理を行った後に、差分画像を得る処理を行った。この明瞳孔画像と暗瞳孔画像とに対する差分処理によれば、顔画像WnL、Wn+1Lに含まれる瞳孔以外の要素が相殺される。従って、差分画像は、強調された瞳孔Pを含む。しかし、差分処理によって、瞳孔以外の別の要素が相殺されない場合もあり得る。例えば、顔画像WnL、Wn+1Lに含まれる太陽光などの周囲光(外乱光)は、差分処理によって相殺されないこともある。
例えば、発明者らによる下記の文献20、21は、外乱光を好適に相殺する技術を開示する。これらの技術によれば、明瞳孔画像及び暗瞳孔画像に加えて、無照明画像を得る。そして、明瞳孔画像と無照明画像との差分画像を生成すると共に、暗瞳孔画像と無照明画像との差分画像を生成する。これらの差分画像によれば、それぞれの光源による像だけが得られる。従って、外乱光の像を除去して容易に瞳孔Pや角膜反射点GCを検出できる。
文献20:特開2008-246004号公報。
文献21:国際公開第2016/027627号。
第3実施形態に係る注視点追跡方法は、無照明画像を用いた差分画像を利用する上記技術にも適用してもよい。
図13に示されるように、変形例3に係る注視点追跡方法は、顔画像を得る工程S10Aと、特徴を検出する工程S20Aと、注視点を検出する工程S30と、を有する。これら工程S10A、S20A、S30が繰り返し実行されることにより、注視点が追跡される。
工程S10Bは、工程S11a、工程S11b、工程S12a、工程S12bに加えて、さらに、無照明画像を得る工程S13a、工程S13b、工程S14a、工程S14bを有する。例えば、工程S10Bは、工程S11a、工程S13a、工程S11b、工程13bの順に実施される。そして、これらの処理に対して所定のずれ時間をもって工程S12a、工程S14a、工程S12b、工程14bがこの順に実施される。
工程S20Bは、ウインドウを設定する工程S21と、差分画像を得る工程S22Bと、瞳孔中心点PCを得る工程S23と、角膜反射点GCを得る工程S24と、を有する。差分画像を得る工程S22Bは、明瞳孔画像と無照明画像との差分画像を得ると共に、暗瞳孔画像と無照明画像との差分画像を得る。これらの差分画像は、それぞれ被処理画像とされて、瞳孔中心点を検出する処理(工程S23)及び角膜反射点GCを検出する処理(工程S24)に供される。
ここで、無照明画像は、カメラ2が有する光源に起因する角膜反射点GCを有しない。そうすると、取得した画像そのものを被処理画像として角膜反射点GCを検出するとした場合に、無照明画像からは角膜反射点GCが検出されないのでエラーが生じる可能性がある。一方、変形例3では、角膜反射点GCの検出には、差分画像を供する。この差分画像には、明瞳孔画像又は暗瞳孔画像に起因する角膜反射点GCが含まれる。従って、角膜反射点GCを検出することが可能である。従って、複数の画像に基づく被処理画像を検出対象とする処理によれば、取得された個々の画像に必ずしも特徴が含まれていなくてもよい。
<実施例1>
コンピュータを用いて画像を処理する場合、カメラが画像データを得るステップ(露光処理)と、当該画像データをコンピュータに転送するステップ(転送処理)とを行う。近年では、画像のデータ量が増加傾向にあり、転送処理に要する時間が、露光処理に要する時間よりも長くなることがある。すなわち、露光処理よりも転送処理の方が律速段階となっている。そこで、画像データの全体を転送せずに、画像データの一部を転送するカメラが存在する。このようなカメラによれば、画像データの全体を転送する場合に比較して、転送速度を高めることができる。そこで、転送すべき領域を種々の情報によって指定し、当該領域のみをコンピュータに転送するカメラがある。例えば、転送すべき領域は、水平ラインの番号によって指定してもよいし、2個の座標によって指定してもよい。しかし、このようなカメラでは、最初の画像全体の転送が終わるまでは、次の小領域の転送を行うことができない。
第1実施形態では、画像取得処理Anは、露光処理Enと転送処理Tnを連続して行うものとした。しかし、画像Gnのデータ量が多くなると、転送処理Tnに要する時間が長くなる。転送処理Tnに要する時間が長くなりすぎると、1回の画像取得処理Anに要する時間が、サンプリング周期SAより長くなる場合も生じ得る。そこで、実施例1では、上述したように、転送処理Tnにおいて、画像Gnの一部を転送する技術を取り入れた実施態様を説明する。
図14は、実施例1に係る画像特徴追跡方法を説明するための概念図である。実施例1の実施に用いるカメラは、画像Gnのデータを記録するメモリを有する。このメモリは、所定枚数(例えば100枚)の画像Gnのデータを記録する。そして、カメラは、予め設定したサンプリング周期SAに基づいて露光処理Enを行い、画像Gnのデータをメモリに記録する。また、カメラは、逐次に指定されるタイミングで露光処理Enを行い、画像Gnのデータをメモリに記録してもよい。そして、カメラは、101枚目の画像Gnをメモリにおける1枚目の記録領域に記録する。そうすると、カメラは、常に最新の100枚の画像Gnを記録する。
実施例1において、ウインドウの処理は、(a)コンピュータによる特徴の検出するステップと、(b)検出された特徴を用いてウインドウを指定するステップと、(c)ウインドウの情報をカメラに出力するステップと、(d)指定された次の画像Gnにおけるウインドウのデータをカメラからコンピュータへ転送するステップと、を含む。
実施例1では、露光処理E1によって画像G1を得る。そして、当該画像G1の全体を転送処理T1においてコンピュータへ転送する。この転送処理T1には、およそ1.5フレーム分の時間を要する。そして、転送された画像G1に対して探索処理D1を行う。この探索処理D1により、ウインドウが設定される。つまり、次に行われる後追い処理C1に用いる画像G2は、このウインドウに対応する領域のデータのみがあればよい。従って、転送処理T2では、ウインドウによって指定される画像G2の一部の領域のみをコンピュータに転送する。このような処理によれば、カメラのメモリからコンピュータに転送される画像Gnのデータ量を著しく低減することができる。従って、後追い処理Cn及びリアルタイム処理Rnの速度を高めることができる。
<実施例2>
特徴が移動しているように見えても、画像Gnにおける特徴の位置がほとんど変化しない場合がある。例えば、実施例1で述べたような注視点の追跡を行うとき、被験者Hの頭部が常に振動し、当該振動に伴って瞳孔中心点PCが動いているように見えることがある。しかし、画像Gnに含まれた瞳孔中心点PCは、フレーム間でほとんど変化しないことがある。この場合には、明瞳孔画像における瞳孔中心点PCと暗瞳孔画像における瞳孔中心点PCとの位置ずれは小さい。従って、第1実施形態に係る画像特徴追跡方法を利用した瞳孔検出が可能である。
図15は、参考例9に係る画像特徴追跡方法を説明するための概念図である。瞳孔中心点PCが移動する様子を示す図である。つまり、図15は、移動する瞳孔中心点PCを13枚の画像G1~G13に捉え、当該画像G1~画像G13を重ね合わせたものである。プロットV1~V13は、それぞれの画像G1~G13に含まれた瞳孔中心点PCを示す。これらのプロットV1~V13を利用して、瞳孔中心点PCを検出する。図15の例によれば、瞳孔中心点PCは、プロットV1からプロットV13へ弧状を描きつつ移動している。瞳孔中心点PCは、プロットV1からプロットV7へ移動する間に徐々に加速する。そして、瞳孔中心点PCは、プロットV7からプロットV13へ移動する間に徐々に減速する。また、画像G1、G3、G5、G7、G9、G11、G13(プロットV1、V3、V5、V7、V9、V11、V13)は、明瞳孔画像であり、画像G2、G4、G6、G8、G10、G12(プロットV2、V4、V6、V8、V10、V12)は、暗瞳孔画像であるとする。
瞳孔中心点PCを得るために、明瞳孔画像と暗瞳孔画像の差分を得る。まず、画像G1(明瞳孔画像)と、画像G2(暗瞳孔画像)と、の差分を得る。画像G2におけるプロットV2の位置は、画像G1におけるプロットV1の位置とほぼ変わらず、重複している。そこで、画像G2と画像G1との間の位置ずれ補正なしに、画像G2と画像G1の差分を得る。そして、差分画像から差分瞳孔(重複部)を検出する。
次に、ウインドウを設定する。ウインドウは、矩形であり差分画像から検出された差分瞳孔を含む。次に、画像G1に対してウインドウ(第1探索領域)を適用し、画像G1における角膜反射点GCを検出する。同様に、画像G2に対してウインドウ(第2探索領域)を適用し、画像G2における角膜反射点GCを検出する。画像G1と画像G2との間には瞳孔Pの移動が生じているので、画像G1の角膜反射点GCの位置に対して画像G2の角膜反射点GCの位置がずれる。
次に、画像G1における瞳孔中心点PCと画像G2における瞳孔中心点PCとを得る。画像G1における瞳孔中心点PCを得る場合には、画像G2を移動させて画像G1に一致させる。具体的には、画像G2の角膜反射点GC2(第2角膜反射点)が画像G1の角膜反射点GC1(第1角膜反射点)に一致するように、画像G2を移動させる。このとき、画像G2は画像全体ではなく、画像G2におけるウインドウ内の一部領域を移動させてもよい。そして、画像G2の移動を行った後に、画像G1のウインドウ内画像と画像G2のウインドウ内画像との差分を得る。この差分によれば、画像G1における瞳孔中心点PCが得られる。一方、画像G2における瞳孔中心点PCを得る場合には、画像G1を移動させて画像G2に一致させる。具体的には、画像G1の角膜反射点GC1が画像G2の角膜反射点GC2に一致するように、画像G1を移動させる。そして、画像G1の移動を行った後に、画像G1と画像G2の差分を得る。この差分によれば、画像G2における瞳孔中心点PCが得られる。
以上のステップにより、画像G1の瞳孔中心点PCと、画像G2の瞳孔中心点PCが得られた。次に、画像G3における瞳孔中心点PCを予測する。具体的には、画像G1を得たタイミングと画像G2を得たタイミングの時間差を得る。そして、瞳孔中心点PCから瞳孔中心点PCへの移動ベクトルを得る。そして、瞳孔中心点PCの移動は、画像G1~G3において等速であると仮定する。そうすると、移動ベクトルと時間差とに基づく等速予測モデルが成り立つ。そして、等速予測モデルを用いて、画像G3における瞳孔中心点PCの位置を予測する。つまり、画像G3に対して瞳孔中心点PCを含むウインドウを設定する。次に、ウインドウを利用して画像G3における角膜反射点GC3を検出する。次に、角膜反射点GCnを利用した位置ずれ補正を行った後に、画像G2と画像G3との差分画像を得る。具体的には、画像G3の角膜反射点GC3と画像G2の角膜反射点GC2とが一致するように、画像G2を移動させる。そして、画像G2と画像G3の差分を得る。
以下、画像G4~G13まで同様の処理を繰り返す。その結果、画像G1~G6、G11からG13の瞳孔中心点PCは検出できる。しかし、画像G7、G8、G9、G10の瞳孔中心点PCは検出できない。
画像G7の瞳孔中心点PCを検出するとき、まず、画像G5及び画像G6に基づく等速予測モデルを利用して画像G7における瞳孔中心点PCの位置を予測する。つまり、画像G7に予め定められた大きさのウインドウを設定する。しかし、画像G6から画像G7への移動距離が大きいため、移動速度が変化すると(加速すると)予測が難しく、瞳孔中心点PCが予測したウインドウ内に存在しない。この理由から、画像G7の瞳孔中心点PCが検出できない。一方、画像G11及び画像G12にあっては、減速しており、瞳孔中心点PCの移動距離が短くなる。そうすると、瞳孔中心点PCの位置予測に成功し、ウインドウ内において瞳孔中心点PCが検出できる。つまり、瞳孔P(特徴)の移動速度が大きすぎると、等速予測モデルに基づく予測が適合しなくなる。従って、瞳孔Pの移動速度が小さくなると等速予測モデルに基づく予測が適合できようになり、瞳孔中心点PCの検出に成功する。具体的には、瞳孔中心点PCの移動速度が減速し、画像G11と画像G12において、重なりが大きくなる。そうすると、上述の処理を行うことで画像G11~G13の瞳孔中心点PCの検出に成功する。要するに、瞳孔中心点PCの移動速度が高速になると、次の画像での瞳孔中心点PCの予測が難しくなる。従って、瞳孔中心点PCの移動速度が減速するまでは瞳孔中心点PCの検出に失敗する。従って、瞳孔中心点PCの検出数が減少してしまう。
実施例2に係る画像特徴追跡方法によれば、瞳孔中心点PCの検出数が減少するという問題を改善できる。
図16は、実施例2に係る画像特徴追跡方法を説明するための概念図である。実施例2に係る画像特徴追跡方法は、まず、上述した参考例9と同様の処理を行う。その結果、画像G1~G6、G11からG13の瞳孔中心点PCは検出できるが、画像G7、G8、G9、G10の瞳孔中心点PCは検出できない。
ところで、画像G11及び画像G12に基づく等速予測モデルによれば、画像G13の瞳孔検出に成功した。そうすると、画像G11及び画像G12に基づく等速予測モデルによれば、画像G10における瞳孔中心点PCを好適に予測できると考えられる。つまり、画像G11及び画像G12に基づく等速予測モデルに基づいて、過去の画像G10における瞳孔中心点PCを予測し、画像G10にウインドウを設定する。そして、画像G10は、当該ウインドウに基づいて瞳孔Pを検出する。この処理は、上述のとおり、ウインドウ内における角膜反射点GCnの検出と、画像Gnの位置ずれ補正と、画像Gnの差分とを含む。要するに、画像Gnと画像Gn+1とを利用して、過去の画像Gn-1の瞳孔中心点PCを検出する。つまり、画像Gnの取得順とは逆の順番に基づいて瞳孔中心点PCを検出する。このような処理は、第2実施形態で述べた「後戻り法」と同じ主旨である。
後戻り法によれば、参考例9では検出できなかった画像G7、G8、G9、G10の瞳孔中心点PCのうち、画像G8~G10の瞳孔中心点PCが検出できる。従って、参考例9の処理にさらに後戻り法を適用すると、画像G1~G6、及び画像G8~G13の瞳孔中心点PCを検出できる。従って、瞳孔Pの検出数を向上させることができる。
ただし、この方法は、完全なリアルタイム性はない。しかし、遡るフレーム数が、例えば、3枚であれば、カメラを60fpsのフレームレートの駆動した場合、(1/60)[s]×3[枚]=1/20[s]=0.05[s]でしかない。従って、ほぼリアルタイム性があるといえる。
もしくは、リアルタイム性を要さない場合、後戻り処理は、全ての計測が追ってから行ってもよい。そのようなケースは、画像Gnを被験者に見せて、被験者が何処に主に注意を示したかを注視点計測によって計測する場合などがある。リアルタイム性を要さない場合は、実施例2のように毎時刻に画像Gnを得て、後から解析してもよい。
<実施例3>
後戻り法は、図16に示される状況とは別の状況に適用しても瞳孔検出の検出数の向上に寄与する。図17及び図18は、後戻り法によって瞳孔Pの検出数が向上する状況の例示である。図17及び図18に示される状況に適用される処理方法(つまり後戻り法)自体は、実施例2にて説明した後戻り法とほぼ同様である。
まず、図17に示されるように、参考例9に示した瞳孔追跡処理を行う。つまり、画像G1~G13について、明瞳孔画像と暗瞳孔画像の差分を利用して、瞳孔中心点PCを検出する。ここで、図17に示した過程では、瞳孔中心点PCの誤検出が生じている。具体的には、画像G4~G8において、プロットV4~V8が正しい瞳孔中心点PCを示す。一方、画像G4~G8には、瞳孔Pとは別の要素(プロットVA~VE)が存在する。その結果、画像G1~G3では、プロットV1~V3が瞳孔中心点PCとして検出された。また、画像G9~G13では、プロットV9~V13が瞳孔中心点PCとして検出された。これら処理結果は、正しい。一方、画像G4~G8では、プロットVA~VEが瞳孔中心点PCとして検出された。この処理結果は、誤りである。
次に、図18に示されるように、後戻り法を行う。この後戻り法では、画像G13を第1の画像とし、画像G13、画像G12、画像G11の順に、画像G1まで瞳孔中心点PCの検出を行う。画像G4では、瞳孔中心点PCを示すプロットV4の近くに、別の要素を示すプロットVAが存在していた。従って、プロットVAが瞳孔中心点PCであるとする誤検出が生じた。一方、画像G8にもプロットVEが含まれるが、プロットV8とは離間している。従って、プロットVEを瞳孔中心点PCとして検出する可能性は低い。従って、画像G13から画像G1に向けて瞳孔中心点PCの追跡処理を行った場合には、プロットVA~PEを瞳孔Pであるとする誤検出を防止できる。
そして、画像の取得順に従って瞳孔中心点PCの追跡処理を行った結果と、取得順とは逆の順に従って瞳孔中心点PCの追跡処理を行った結果と、を比較する。そして、より確からしい結果を、正しい結果として採用する。その結果、誤検出数を低減することが可能になるので、瞳孔検出の検出率を向上させることができる。
<実験例>
実施例3に示した内容について、後戻り法の効果を確認した。つまり、後戻り法を適用することによって、瞳孔Pの正検出率が高まることを実験により確認した。
実験例では、3名の被験者H1、H2、H3に対して瞳孔検出を試みた。被験者H1、H2、H3は、眼鏡を着用している。従って、誤検出の要因となる眼鏡反射が生じ得る。被験者H1、H2、H3の頭部とカメラとの間の距離は、約80cmに設定した。また、被験者H1、H2、H3は、首を中心として頭部を左右に振った。頭部の往復速度は、約5秒間で1往復とした。なお、頭部の移動は、画像Gnにおいて眼鏡反射と瞳孔Pが重ならないように留意すると共に、眼鏡反射が瞳孔Pと近接するように留意した。
カメラのサンプリング周期は、1/60secとした。画像Gnの取得期間は、5秒間とした。従って、300枚の画像Gnを得た。
また、室内環境は蛍光灯が点灯している状況であり、瞳孔近傍の照度は約260ルクスとした。明瞳孔用光源の発光期間は、画像Gnにおいて明瞳孔が飽和せず、かつ角膜反射が検出できるように調整した。この発光期間の調整は、被験者H1、H2、H3ごとに行った。また、明瞳孔用光源の強度は、高照度環境において小さくなった瞳孔Pにおける画素値を大きくするために、露光期間において最大強度とした。暗瞳孔用光源は、室内環境及び高照度環境において、顔領域の画素値を大きくするために、露光期間において補助光源(外側LED)を発光させた。
後追い法を適用しない方法(比較例)として、上記文献8に開示されたプログラムを用いた。
瞳孔検出の結果について、正検出、非検出、誤検出に分類した。正検出とは、画像Gnから瞳孔P及び角膜反射点GCが正しく検出されたことをいう。非検出とは、画像Gnから瞳孔P及び角膜反射点GCを検出できないことをいう。例えば、被験者H1、H2、H3がまぶたを閉じているような場合である。誤検出とは、眼鏡反射や眼鏡フレーム反射等の真の瞳孔P及び角膜反射点GCでないものを瞳孔P又は角膜反射点GCとして検出されたことをいう。
まず、画像Gnを取得した順に辿ることにより(図17参照)、瞳孔中心点PCの検出を行った。その結果、眼鏡反射を瞳孔Pとして検出する誤検出が生じた。そして、誤検出が生じた後、数フレームに亘って眼鏡反射を瞳孔Pとして検出し続けた。次に、画像Gnを取得順とは逆に辿ることにより(図18参照)、瞳孔中心点PCの検出を行った。その結果、誤検出を生じたフレームにおいて、瞳孔Pを正しく検出することができた。
図19は、比較例及び実験例の結果をまとめた一覧表である。図20は、比較例及び実験例の結果を示すグラフである。図19に示す数値は、総画像数(300枚)に対する正検出、非検出、誤検出の比率を示す。また、図20は、図19に示された数値をグラフ化したものである。
図19及び図20を参照すると、後戻り法を適用しない場合には、誤検出数が多く、その結果正検出率は低かった。後戻り法を適用しない比較例では、正検出率が50%~90%程度であった。これは、眼鏡反射を瞳孔Pとして誤って検出し、眼鏡反射が消失するまで眼鏡反射に対してウインドウを設定し続ける状態が発生した。その結果、誤検出が生じたため、正検出率が低くなったと考えられる。
一方、後戻り法を適用した場合には、後戻り法を適用しない場合と比較すると誤検出が減少し、その結果正検出率は高かった。後戻り法を適用した実験例では、正検出率が全ての場合において90%以上であった。これは、眼鏡反射にウインドウを設定することなく、瞳孔Pに対してウインドウを設定できているためであると考えられる。つまり、後戻り法を適用することにより、正しい検出結果が得られるので、誤検出結果の置き換えが可能であることがわかった。従って、後戻り法を適用することにより、瞳孔Pの正検出率が高まることが確認できた。