JP3980341B2 - Eye position tracking method, eye position tracking device and program therefor - Google Patents
Eye position tracking method, eye position tracking device and program therefor Download PDFInfo
- Publication number
- JP3980341B2 JP3980341B2 JP2001369076A JP2001369076A JP3980341B2 JP 3980341 B2 JP3980341 B2 JP 3980341B2 JP 2001369076 A JP2001369076 A JP 2001369076A JP 2001369076 A JP2001369076 A JP 2001369076A JP 3980341 B2 JP3980341 B2 JP 3980341B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- eyebrows
- eye
- eyes
- difference
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Eye Examination Apparatus (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Description
【0001】
【発明が属する技術分野】
この発明はマン・マシンインタフェース技術に関し、特に、人の視線によってコンピュータなどを操作する際に、人の視線方向を誤りなく検出する目的のために、人の目の位置をトラッキングする方法および装置に関する。
【0002】
【従来の技術】
近年のコンピュータ技術の発達により、人々の生活の隅々にまでコンピュータを用いた装置が用いられている。コンピュータを操作する技術なしには、満足な社会生活も営めなくなるおそれさえある。
【0003】
一方で、コンピュータを操作するためには人の意思をコンピュータに伝える必要がある。いかに効率よく、誤りなく、そして簡単に人の意思をコンピュータに伝えるかについては、さまざまな研究がなされ、実用化されている。そうした技術は一般にマン・マシンインタフェースと呼ばれている。
【0004】
コンピュータを操作するためだけであれば、テキストベースでコンピュータを操作するためのコマンドをたとえばキーボードなどを介してコンピュータに与えればよい。しかし、それでは人間がそれら多数のコマンドを、そのコマンドの構文および必要なパラメータとともに記憶する必要がある。そこで、一般にGUI(Graphical User Interface)と呼ばれるものが考案され、現在では主流を占めている。
【0005】
GUIでは、一般的にはマウスなどのポインティングデバイスを用いて、画面に表示されるアイコンなどをポイントし、クリック、ダブルクリック、ドラッグなどの所定の操作を行なうことにより人間の意思をコンピュータに与えることができる。そのため、多数のコマンドを覚える必要がなく、誤りも生じにくいという特徴がある。
【0006】
一方で、GUIではポインティングデバイスを操作する必要がある。そのため、たとえば手の動作に障害がある人などは、GUIを採用したコンピュータであっても操作が困難である。また応用によっては手を自由に利用できない場合もあり、マウスなどのポインティングデバイスを用いることが困難であったりする場合がある。
【0007】
そこで、人間の視線を用いて人間の意思をコンピュータに伝達する技術が種々考えられている。人間が意識的に視線を操作することにより、その視線をポインティングデバイスとして用いて、人間のその意思をコンピュータに与えることができる。また、人間が無意識のうちに視線を移動させた場合、その視線の移動をコンピュータが検出することにより、人間の意思を推定することもできる。
【0008】
そのための前提となる技術は、人間の眼球を撮像して視線方向を推定する装置である。そのためには一般的にアイカメラが用いられる。アイカメラを用いて人間の視線方向を推定することにより、その人間の意思を推定してコンピュータの操作に役立てることができる。
【0009】
アイカメラを用いて視線方向を推定する場合、推定精度を上げるために高解像度で眼球を撮像する必要がある。ところが、そのためにアイカメラでは撮像範囲が狭くなる。また被写界深度も浅い。その結果、アイカメラを用いた場合には、ユーザは顔を前後左右のいずれにも動かさないよう、ほとんど固定していなければならない。そのため、アイカメラを単独で用いた場合にはその利用形態は非常に限定されてしまう。また、特定の個人だけにしか利用できないようなシステムではなく、見知らぬ顔でも目を検出しトラッキングすることができるようにすることが望ましい。
【0010】
こうしたアイカメラの使用に伴う問題点を解決するために、本願発明者は、まず広視野のカメラを使用して利用者の目の位置を検出し、その情報を用いてアイカメラのパン、チルト、フォーカスを制御することが有効であることに想到した。つまり、何らかの方法により人間の目の位置を発見し、トラッキングして、逐次その方向と距離とをアイカメラの制御装置に出力するサブシステムを採用することで、アイカメラによる視線方向の検出の精度を高める方法である。
【0011】
通常、利用者はコンピュータを利用する際には、アイカメラから50〜100cm程度の距離におり、椅子に座っているものと考えられる。したがって、上記したような目の位置を検出し、その情報を用いてアイカメラを制御することにより、アイカメラによる視線方向検出の精度は非常に高くなると考えられる。
【0012】
想定している状況では、顔の動く範囲がかなり限定されている。そのため、顔が画面の高さいっぱいになる程度に大きく撮像することができる。そこで本願発明の発明者は、このように大きく撮像された顔画像の中の、目蓋の動きを検出することにより、両目の位置を検出することができることに思い至った。人間は無意識のうちに瞬きをしており、自然の瞬きを待つことにより、利用者に意識させずにその目の位置を検出することができる。特に、アイカメラを使用する状況では、利用者の協力を得ることも可能である。
【0013】
瞬きは継続する動きではない。そのため、いったん目の位置を検出したなら、何らかの方法で目の位置をトラッキングする必要がある。そのためのひとつの方法は、顔画像のテンプレートを多数用意しておき、撮像された顔の画像とテンプレートとをマッチングすることにより、目の位置を推定することである。
【0014】
しかしこの場合、単純なテンプレートマッチングでは顔の向きの変化に対応できない。テンプレートを更新するようにしたとしても、トラッキング点が徐々に実際の目とずれていくことは避けられない。したがって、こうしたテンプレートマッチングによる弱点を克服し、トラッキング処理のロバスト性を向上させる必要がある。
【0015】
なお、アイカメラに与える距離の情報については、目の方向さえわかればたとえば超音波センサなどを用いて測定することで十分な精度が得られる。ただし以下の実施の形態では2眼ステレオ画像を用いて、利用者の顔までの距離を推定することとした。もちろんこの他にも、種々の方法を用いて利用者の顔までの距離を測定することができるが、本発明における目の位置の検出およびトラッキングとは直接の関係はないので、以下の説明では距離の測定については詳細な説明は行なわない。
【0016】
目の位置のトラッキング方法としては、すでに幾つかの例がある。その一つは特開2000−163564に開示されたものである。この例では、目を中心とする画像パターンをテンプレートとして、いわゆるテンプレートマッチングの手法を用いて目の位置をトラッキングしている。また他の例は、信学技報PRMU99−151(1999−11),pp.9−14の「リアルタイム視線検出・動作認識システムの開発」と題された論文に開示されたものである。この例では、2台のビデオカメラを用いて得られた顔画像から、左右の目の両端を含む顔の特徴領域の画像および3次元座標を用いた画像のステレオ処理によって顔トラッキングを行ない、さらにこうして推定された顔位置と、左右の目の両端の中点から眼球へ向かうオフセットベクトルとによって、眼球の中心位置が推定される。
【0017】
【発明が解決しようとする課題】
しかし、特開2000−163564に開示された方法では通常のテンプレートマッチングの手法が用いられており、パターンの回転とスケール変化とに弱いという問題点がある。また信学技報に掲載された例では、2つの画像を用いたステレオ処理のみから目の位置を推定しているため、カメラから目までの距離が限定され、さらにトラッキングするパターンをあらかじめ登録しておく必要があるという問題がある。
【0018】
すなわちこれまでは、一般的な利用者の目の位置を、利用者の顔の位置を拘束することなく正確にトラッキングすることができないという問題点があった。
【0019】
それゆえに、この発明の目的は、一般的な顔画像から目の位置をロバスト性高くトラッキングすることが可能で、利用者を不当に拘束することがない目の位置のトラッキング方法、装置およびそのためのプログラムを提供することである。
【0020】
この発明の他の目的は、一般的な顔画像から、顔が回転したり移動したりしても目の位置を精度高くかつロバスト性高く検出することが可能で、利用者を不当に拘束することがない目の位置のトラッキング方法、装置およびそのためのプログラムを提供することである。
【0021】
【課題を解決するための手段】
本願の第1の局面に係る発明は、被験者の顔のビデオ画像を撮像する撮像手段が接続され、記憶装置を有するコンピュータにおいて、撮像手段の出力する一連の画像内における被験者の目の位置をトラッキングするための方法であって、撮像手段の出力する顔画像内の目の位置を抽出するステップを備え、目の位置を抽出するステップは、撮像手段の出力する二つの画像の差分画像を算出するステップと、差分画像のうち、二つの画像の間における被験者の顔全体の移動に起因する差分を除いた残りの差分領域を抽出するステップとを含み、残りの差分領域を抽出するステップは、二つの画像の各々を平行移動した画像の画素値と差分画像の画素値とが一致する領域を最大にする移動量を算出するステップと、算出した移動量に起因する差分を差分画像から削除するステップとを有し、抽出された残りの差分領域から二つの画像の画素値の差に応じて二つの目の候補点を選択し、二つの目の候補点が予め定められた幾何学的条件を満たす場合に、二つの目の候補点を目の位置として抽出するステップをさらに含み、抽出された目の位置によって定められる眉間の位置、眉間の位置に対する両目の相対位置、および眉間の位置によって定められる眉間の画像パターンを記憶装置にセーブするステップと、目の位置が抽出された画像に後続する画像を取得する画像取得ステップと、後続する画像内の顔画像の眉間の位置を予測するステップと、予測された眉間の位置の近傍で、セーブされた眉間の画像パターンと最もよく一致する領域の中心となる点を探索するステップと、探索された点の位置と、セーブされた両目の相対位置とに基づいて、後続する画像内での両目の位置を予測し、当該予測された領域を中心として予め定められた条件を満足する二つの領域の各々の中心となる点を探索するステップと、探索された二つの中心となる点の中点の位置を新たな眉間の位置とし、当該新たな眉間の位置および二つの中心となる点の相対位置によって定まる領域を眉間の位置に対する新たな両目の相対位置とし、さらに新たな眉間の位置によって定められる領域の画像パターンを新たな眉間の画像パターンとして記憶装置に記憶されている眉間の位置、両目の相対位置、および眉間の画像パターンをそれぞれ更新するステップと、後続する画像にさらに後続する画像に対して画像取得ステップから処理を実行するステップとをさらに備える。
【0022】
好ましくは、眉間の位置を予測するステップは、目の位置が抽出された画像内での眉間の位置と、当該画像に先行する画像内での眉間の位置とから、後続する画像の眉間の位置を外挿するステップを含む。
【0023】
さらに好ましくは、この方法は、二つの領域の各々の中心となる点を探索するステップにおいて、当該点が探索できなかったことに応答して、撮像手段の出力する顔画像の眉間の位置、眉間の位置に対する両目の相対位置、および眉間の位置によって定められる眉間の画像パターンを予め定められた方法によって抽出し、画像取得ステップから処理を再開するステップをさらに含む。
【0024】
また、二つの領域の各々の中心となる点を探索するステップは、探索された点の位置に対し、両目の相対位置によって定められる位置の各々を中心とする近傍において、予め定められた形状の領域であって、かつ当該領域内の画素値の平均が最も暗くなる領域の中心を探索して両目の候補点とするステップを含んでもよい。
【0025】
さらに好ましくは、二つの領域の各々の中心となる点を探索するステップはさらに、最も暗くなる領域の中心を探索するステップで探索された候補点が、
1)候補点間の距離があらかじめ定められた最小値以上であること、
2)候補点間の距離があらかじめ定められた最大値以下であること、および
3)候補点を結ぶ直線と走査線方向とのなす角度が、あらかじめ定められた関係を満足すること、
のすべての条件を満足するか否かを判定し、いずれかの条件が満足されない場合は探索を失敗とするステップを含んでもよい。
【0026】
本願の第2の局面にかかる発明は、被験者の顔のビデオ画像を撮像する撮像手段が接続され、記憶装置を有するコンピュータにおいて、撮像手段の出力する一連の画像内における被験者の目の位置をトラッキングするための装置であって、撮像手段の出力する顔画像内の目の位置を抽出するための手段を備え、目の位置を抽出するための手段は、撮像手段の出力する二つの画像の差分画像を算出するための手段と、差分画像のうち、二つの画像の間における被験者の顔全体の移動に起因する差分を除いた残りの差分領域を抽出するための手段とを含み、残りの差分領域を抽出するための手段は、二つの画像の各々を平行移動した画像の画素値と差分画像の画素値とが一致する領域を最大にする移動量を算出するための手段と、算出した移動量に起因する差分を差分画像から削除するための手段とを有し、抽出された残りの差分領域から二つの画像の画素値の差に応じて二つの目の候補点を選択し、二つの目の候補点が予め定められた幾何学的条件を満たす場合に、二つの目の候補点を目の位置として抽出するための手段をさらに含み、抽出された目の位置によって定められる眉間の位置、眉間の位置に対する両目の相対位置、および眉間の位置によって定められる眉間の画像パターンを記憶装置にセーブするための手段と、目の位置が抽出された画像に後続する画像を取得するための画像取得手段と、後続する画像内の顔画像の眉間の位置を予測するための予測手段と、予測された眉間の位置の近傍で、セーブされた眉間の画像パターンと最もよく一致する領域の中心となる点を探索するための第1の探索手段と、探索された点の位置と、セーブされた両目の相対位置とに基づいて、後続する画像内での両目の位置を予測し、当該予測された領域を中心として予め定められた条件を満足する二つの領域の各々の中心となる点を探索するための第2の探索手段と、探索された二つの中心となる点の中点の位置を新たな眉間の位置とし、当該新たな眉間の位置および二つの中心となる点の相対位置によって定まる領域を眉間の位置に対する新たな両目の相対位置とし、さらに新たな眉間の位置によって定められる領域の画像パターンを新たな眉間の画像パターンとして記憶装置に記憶されている眉間の位置、両目の相対位置、および眉間の画像パターンをそれぞれ更新するための更新手段と、後続する画像にさらに後続する画像に対して画像取得手段からの処理を繰返すように画像取得手段、予測手段、第1および第2の探索手段、および更新手段を制御するための手段とをさらに備える。
【0027】
好ましくは、予測手段は、目の位置が抽出された画像内での眉間の位置と、当該画像に先行する画像内での眉間の位置とから、後続する画像の眉間の位置を外挿するための手段を含む。
【0028】
さらに好ましくは、第2の探索手段が当該点を探索できなかったことに応答して、撮像手段の出力する顔画像の眉間の位置、眉間の位置に対する両目の相対位置、および眉間の位置によって定められる眉間の画像パターンを予め定められた装置によって抽出し、画像取得手段から処理を再開するように画像取得手段、予測手段、第1および第2の探索手段、ならびに更新手段を制御するための手段をさらに含む。
【0029】
また、第2の探索手段は、探索された点の位置に対し、両目の相対位置によって定められる位置の各々を中心とする近傍において、予め定められた形状の領域であって、かつ当該領域内の画素値の平均が最も暗くなる領域の中心を探索して両目の候補点とするための手段を含んでもよい。
【0030】
より好ましくは、第2の探索手段はさらに、最も暗くなる領域の中心を探索する手段で探索された候補点が、
1)候補点間の距離があらかじめ定められた最小値以上であること、
2)候補点間の距離があらかじめ定められた最大値以下であること、および
3)候補点を結ぶ直線と走査線方向とのなす角度が、あらかじめ定められた関係を満足すること、
のすべての条件を満足するか否かを判定し、いずれかの条件が満足されない場合は探索を失敗とするための手段を含んでもよい。
【0031】
【発明の実施の形態】
[ハードウェア構成]
図1に、本願発明にかかる目の位置のトラッキング方法および装置を実現するコンピュータシステム20の外観を示す。なお、コンピュータシステム20は目の位置の検出およびトラッキングを行ない、図示していないコンピュータがコンピュータシステム20から与えられる利用者の顔までの距離および目の方向の情報を用いてアイカメラを制御する。なお、本明細書において「被験者」とは、このシステムが目の位置を検出しトラッキングする利用者のことをいい、人間だけでなく動物など「目」に相当するものを有しているものすべてを含み得るものとする。
【0032】
図1を参照して、このコンピュータシステム20は、CD−ROM(Compact Disc Read Only Memory)のためのCD−ROMドライブ50と、フレキシブルディスク(FD)のためのFDドライブ52とを備えたコンピュータ40と、コンピュータ40に接続された第1のポインティングデバイスであるマウス48と、キーボード46と、モニタ42と、モニタ42とキーボード46との間に配置されたステレオビデオカメラ56,58と、前述した別のコンピュータにより制御されるアイカメラ54とを含む。
【0033】
図2に、コンピュータ40の内部構成をコンピュータシステム20の他の構成要素とともに図示する。図2を参照して、コンピュータ40は、CPU(Central Processing Unit)70と、CPU70に接続されたメモリ72と、CPU70に接続されたハードディスク74とを含む。CPU70は、図示されないネットワークボードを介してネットワーク80に接続され、このネットワーク80には、アイカメラ54を制御する前述したコンピュータ82が接続されている。コンピュータ82の構成はコンピュータ40と同様であるので、ここではその詳細は説明しない。
【0034】
以下に詳細に説明する、本発明にかかる目の位置のトラッキング方法および装置は、図1および図2を参照して説明したコンピュータハードウェアと、CPU70によって実行されるソフトウェアとにより実現される。このソフトウェアは、CD−ROMなどの記憶媒体に記憶されたり、ネットワークを介したりして市場を流通するものである。このソフトウェアがこのコンピュータ40にインストールされると、典型的にはソフトウェアはハードディスク74に格納される。そして、利用者がこのソフトウェアを起動すると、またはコンピュータ40のオペレーティングシステム(OS)により起動されると、ハードディスク74からメモリ72に読み出され、CPU70によって実行される。
【0035】
なお、このソフトウェアが、もともとコンピュータ40のOSの一部として組み込まれている機能を利用したり、またはOSとは別にインストールされた別のソフトウェアの一部の機能を利用することもあり得る。したがって、本発明を実現するためのソフトウェアとして流通するのは、そうした一部の機能を欠いたものであってもよく、実行時にそうした機能が他のソフトウェアによって実現されることを考慮した構成となっていればよい。もちろん、必要な機能がすべてあらかじめ組み込まれたシステムソフトウェアとして流通してもよい。
【0036】
[原理]
本発明において、目の位置を検出するための方法の基本は、フレーム画像の差分に基づき、特に瞬きによる明度の差に着目したものである。フレーム間差分から瞬きを検出しようとするとき、顔が動いていると、動いた瞬き部分以外にも明度変化の大きな画素が多くの部分で生じる。そのために、目蓋の動きによる明度変化と、顔全体の動きによる明度変化とを区別する必要がある。なお、口形状の変化や眉の動きなどによっても問題が生じる可能性があるが、それらの明度変化は、目候補点を抽出した後、条件検定によって棄却する。
【0037】
顔全体の動きは、画像平面内の平行移動、画像平面内の回転(首をかしげる)、画像平面外の回転(振り向く、頷く)に分けて考えることができる。フレームレートは十分に速くて、フレーム間での動きは小さいものとする。以下、これらについて順にそれらの動きをキャンセルする方法について説明する。
【0038】
顔が画像平面内で平行移動したときの動きをキャンセルする方法は以下のとおりである。図3(A)に示される、画像ft-1に写っている色の付いた円板90が、右方向に距離dだけ移動して、次のフレームで図3(B)に示される画像ftのようになった場合を考える。円板には白い小円マークが付いている。背景は一様でなくともよいが、図示はしていない。
【0039】
図3(A)および図3(B)の画像の差分画像をとると図4に示したとおりの画像となる。図4において、斜線で示した領域が画素値の差が大きく現れた部分であり、白い領域は画素値の差が小さい領域である。図4に示される差分画像Dの中で、画素値の差が大きく現れた画素位置を、図3(A)または(B)に示す元の画像に立ち返って考えてみると、これら画素位置はさらに図5の上段の左右に示された領域FおよびBに分類できる。領域FのFはForeground、すなわち円板上の点であり、領域BのBはBackground、すなわち背景に対応する。領域Bは一方の画像で見えていて、他方の画像では見えていない部分である。領域Fは両方の画像で見えていて、互いに対応する画素がある部分である。ただし、実際の画像では、移動物体がどの部分であるかは不明なので、どこが領域Fでどこが領域Bかは区別できない。
【0040】
ここで、図5の上段右に示されている画像ft上の、領域FとBとに相当する画素を−dだけシフトして画像ft-1に重ねてみる。すると、図5の下段左に示されているように、画素値が一致する領域Mの部分と、一致するともしないともいえない領域Uの部分とがあることがわかる。同様に画像ft-1上の領域FとBとに相当する画素を+dだけシフトして画像ftに重ねてみると、領域MとUとは図5の下段右に示したようになる。なお、ここでいう移動量±dは二次元ベクトル量である。
【0041】
ここで、シフト量が実際のシフト量±dとは異なるシフト量±d’であるとすると、領域Mに属する画素数は、実際のシフト量±dを用いた場合よりも少なくなると考えられる。そこで、領域Mの画素数が最大となるシフト量を探索すれば、それがフレーム間での円板90の移動量dであるといえる。領域Mの画素数の計数にあたっては、画像ft-1の画素のシフト量をdとすれば画像ftのシフト量が−dとなるように、両者が常に逆方向で同じ大きさでなければならない。
【0042】
このように、フレーム間の差分画像で抽出された画素のうち、領域Mに属する画素数が最大となるシフト量±dを見出して画像をシフトさせて重ね合わせ、なおかついずれでも画素値が一致しない画素を抽出すると、それは移動量dでの平行移動以外の動きをした部分であると言える。顔全体の移動量をdとすれば、d以外の動きをした部分は、瞬き、口形状の変化などに由来する部分である。したがってフレーム間差分画像から顔全体の動きをキャンセルすることにより、瞬きで動く部分、すなわち目位置を抽出することができる。
【0043】
次に振り向く動きについて考える。図6を参照して、カメラ56、58を向いている顔が左に振り向こうとしている場合を考える。この場合、顔の右端(図6における左端)からは隠れていた部分が出現し、顔の左端(図6における右端)では、見えていた部分がセルフオクルージョンで隠れる。このような部分は、フレーム間差分を計算する2枚の画像の一方では隠れているので、平行移動のときとは異なりシフトして画素値の一致を見ることは意味がない。
【0044】
しかしこのような部分は、移動領域の周辺部にしか現れない。したがって、フレーム間差分画像(図4)を計算した後、斜線を引いた領域の左右から一定数の画素をそれぞれ削り去ることで、その影響を除去することができる。他方、顔の中心部は、振り向く動作の場合でも平行移動とみなせるので、平行移動に関する前述の手法(二枚の画像を±dだけ移動して一致する画素を見る手法)を適用することができる。
【0045】
なお、首をかしげる動きと頷く動きとは、回転中心が顔からはずれているため、平行移動とみなすことができる。ただし、いずれの場合も、フレーム間において動きが小さいことが前提である。
【0046】
[ソフトウェアの制御構造]
上記した原理に基づく目の検出処理およびトラッキング処理を実現するためのソフトウェアの構造について以下説明する。なお、前述したとおり、以下に述べるソフトウェアの実行時には、OSが持つ機能、またはすでにコンピュータにインストールされている機能を利用することが前提となっている場合があり、その結果、流通するソフトウェアがそうした機能自体を含まないことがあり得る。しかし、その場合でも、そうした機能を制御構造のどこで利用するかについての情報をもつものである限り、そうしたソフトウェアは本願発明の技術的範囲に属するものである。
【0047】
なお、以下に述べる処理では、すでに述べた目の候補点の検出処理に加えて、目が二つあることを前提に、瞬きは左右の目で同時に起きる、両目間の距離はある範囲に入っている、顔の傾き角度は一定範囲内である、両目の中点近傍の濃淡パターンはほぼ左右対称である、などの条件を用いることで、抽出された目の位置の候補点対が目であるか否かを検定している。
【0048】
また、以下の処理では種々のしきい値が用いられているが、その値は応用により、また求められている精度により経験的に定められるものである。
【0049】
図7を参照して、このソフトウェアの全体構成は以下のようになっている。まず、図8以下を参照して後に詳細に説明する手順を用いて、目の位置を抽出する(ステップ100)。続くステップ102で、抽出された目の位置をアイカメラ54を制御するコンピュータ82に送信する。そして、引き続きステップ104で目の位置のトラッキング処理を行なう。目位置のトラッキングができたか否か、すなわち目の位置を見失ったか否かを判断する(ステップ106)。トラッキングが失敗した場合には制御はステップ100に戻り、再度ステップ100の目の位置の抽出処理から実行する制御が行なわれる。トラッキングができていれば、制御はステップ102に戻り、トラッキングによって得られた目の方向、目までの距離などの情報がコンピュータ82に送信される。以下、ステップ100から106の処理を繰り返し行なうことで、コンピュータ82に対して利用者の目の方向および距離に関する情報を絶えず送信することができる。
【0050】
なお図7のステップ100において目の位置が抽出されない場合もあり得る。その場合は、再度ステップ100の処理を実行して、次のフレームに対して目の位置の抽出処理を実行し、その後再度トラッキング処理を開始する。
【0051】
図8を参照して、図7のステップ100で行なわれる目の位置の抽出処理について説明する。以下の処理は、図4から図6を参照して説明した原理を用いたものである。なおこの処理の前に、前画像がキャプチャされていることが前提である。特に処理の最初では、前画像を現画像と一致させるようにしてもよい。まず、ステップ120でカメラ56,58からの現画像をキャプチャする。以下の処理は実際には二つのカメラ56の画像に対して行なわれ、目の検出後、カメラ58の画像とあわせてステレオ処理により目までの距離を計算する。カメラ56とカメラ58との役割を交代させてもよい。
【0052】
続いてステップ122で、前画像と現画像とのフレーム間差分2値化画像Dを計算する。より具体的には、各画素ごとに、前画像と現画像との値の差の絶対値を求め、その値があらかじめ定められたしきい値N以上であればその画素値を「1」とし、しきい値N未満であれば画素値を「0」とする。ビデオ信号は、静止物体を撮像している場合でもある程度変動しているので、このようなしきい値Nを用いることが必要である。このしきい値Nはノイズレベルと考えることができる。
【0053】
続いてステップ124で、差分画像D中の画素値「1」の数があらかじめ定められたしきい値G以上か否かを判定する。判定結果が「YES」であれば制御は図9に示すステップ168にとび、目は検出されなかったとされ処理を終了する。この場合は、あまりにも多くの画素に動きが検出されたため、想定以上の動きがあるものとして、次のフレーム入力を待つ。
【0054】
ステップ124での判定結果が「NO」の場合、ステップ126で差分画像D中の画素値「1」の数がしきい値E以下か否かを判定する。このしきい値Eは前述のしきい値Gよりも小さな値であり、顔が実質的に静止しているか否かを判定するためのものである。ステップ126の判定結果が「YES」の場合、制御は図9に示すステップ152に飛ぶ。この場合には、フレーム間差分で抽出された画素数が少なく、顔が停止状態であると考えられる。
【0055】
ステップ126での判定結果が「NO」の場合、制御はステップ128に進む。ステップ128では、差分画像Dの画素値「1」である画素群に対し、その両端の画素を削除する処理が行なわれる。この処理は、図6を参照して説明したように振り向く動作を考慮したものである。
【0056】
より具体的には、差分画像Dの各走査線ごとに左右の端からそれぞれ右方向および左方向にサーチして、最初に現れる画素値「1」の画素を探す。そしてその画素からそれぞれk個の画素の画素値を「0」に書き換える。この処理により、画像中の画素値「1」の左右領域の所定分が削り去られることになる。
【0057】
続いてステップ130で、前画像と現画像とから、差分画像Dの画素値「1」に対応する画素を抽出する。この処理は、図5の中段に示した画像を得る処理である。この後ステップ132で、前述した移動量±dを算出する処理が行なわれる。この処理の詳細については図10を参照して後に詳述する。
【0058】
移動量±dが算出されると、続いてステップ150(図9)で図5の下段に示す領域Mに相当する画素を差分画像Dから削除する処理が行なわれる。さらにステップ152で、差分画像Dに対して孤立点除去および平滑化処理が実行される。より具体的には、処理対象の画素の8近傍と、中心画素とのうち合計して4画素以上の画素値が「1」であればその処理対象の画素の画素値を「1」とする。さもなければ画素値を「0」とする。この処理により、孤立点の画素値は「0」となって差分画像D上から削除される。
【0059】
続いて、ステップ154で、差分画像Dに対してラベリング処理を施す。この処理により、互いに連続した画素値「1」の画素からなる領域の各々についてラベルが付与される。こうして得られた各要素の中心を、目位置の候補点とする(ステップ156)。
【0060】
得られた候補点の数が2未満か否かを判定する(ステップ158)。目位置は一般的に2個であることが想定されるから、候補点の数が2未満の場合には目は検出されなかったとして、処理はステップ168に進む。候補数が2以上であれば制御はステップ160に進む。
【0061】
ステップ160では、各候補点ごとに、候補点を中心とする矩形a×bの領域の各画素の、前画像の画素値と現画像の画素値との差の絶対値の総和Sを求める。ここで矩形a×bとは、想定される目の大きさに対応する大きさの矩形である。前画像と現画像との間で瞬きがあれば、一方の画像では目の画像であり他方の画像では目蓋の画像となるためその画素値の差の絶対値は大きくなり、かつその大きさは想定される目の大きさに近いはずである。したがって、このように各候補点についてSを求め、その値の大きなもの二つを目の候補点(候補点対)とすることができる。
【0062】
続いてステップ162で、以上のようにして求められた二つの候補点が以下の諸条件を満足するか否かが判定される。全条件を満足しなければ、目は検出されなかったとして(ステップ168)、処理を終了する。
【0063】
1)ステップ160で求めた差の絶対値の総和Sが、二つの候補点のいずれにおいても所定のしきい値F以上である。
【0064】
2)候補点間の距離があらかじめ定められた値Lmin以上である。
3)候補点間の距離があらかじめ定められた値Lmax以下である。
【0065】
4)候補点を結ぶ直線と走査線方向とのなす角度が、あらかじめ定められたしきい値A度以下である。
【0066】
しきい値Fはあらかじめ実験的、または統計的に定められる値であり、目以外の部分が目として抽出されるのを防止するために用いられる。LminおよびLmaxはそれぞれ、目の中心間の距離として想定される最小値および最大値である。これらの値はあらかじめ統計的に定められる。またしきい値角度A度も実験的に適切な値が定められるものであるが、通常は30度から45度程度の値が使用される。
【0067】
上述の4つの条件がすべて充足された場合、さらにステップ164で、求められた二つの目候補点の中点近傍の濃淡パターンがほぼ左右対称か否かを判定する。ほぼ左右対称であると判定されたら、この二つの目候補点を目の位置とする。左右対称でなければ目を見つけられなかったとして処理を終了する。
【0068】
二つの目候補点の中点近傍のパターンがほぼ左右対称か否かを判定する方法について説明する。図11を参照して、一般的に両目の中点(これを以下「眉間」と呼ぶ。)を中心とする領域220において、眉間の左右の濃淡パターンは、二つの目候補点を結ぶ線分に垂直で、眉間(二つの目候補点の中点)をとおる直線に関してほぼ左右対称となるはずである。そこで、まず現画像を、両目の候補点の中点を中心として、両目候補が走査線に水平に並ぶように回転し、候補点の中点を中心とするg×h画素(領域220とする。)を切出す。図11の下段に示されるように、この領域220の縦h画素の画素値の総和を各列ごとに求め、さらに全画素の総和に対する各列の総和を百分率であらわした値を計算することにより、図11に示すグラフ222のような投影プロフィールが得られる。そして、このプロフィールのうち、両候補の中点を中心として、左右対称となる互いに隣接する3列ずつの合計を左右双方について計算する。そして、左右の合計の差の総和を、隣接する3列のすべての組み合わせに対して計算し、その値がすべてしきい値p以下であれば、二つの目候補点の中点近傍のパターンが、ほぼ左右対称であると判定する。
【0069】
具体的には、図11の下段を参照して、たとえば最左端の3列224Lの値の合計と、最右端の3列224Rの値の合計とを計算し、その差p1を求める。同様に、左から2列目〜4列目の3列226Lの値の合計と、右から2列目〜4列目の3列226Rの値の合計とを計算し、その差p2を求める。左から3列目〜5列目の3列228Lの値の合計と、右から3列目〜5列目の3列228Rの値の合計を計算し、その差p3を求める。以下同様にして値p4〜pg-2を計算し、p1〜pg-2の値の合計を求め、その合計としきい値pとを比較することで、二つの目候補点の中点近傍の濃淡パターンがほぼ左右対称か否かを判定できる。
【0070】
なお、上の説明では、二つの目候補点を水平走査線に並ぶようにその中点を中心としていったん回転してから濃淡パターンが左右対称か否かを判定した。しかし左右対称の判定方法はこれに限定されるわけではない。たとえば、二つの目候補点を結ぶ線分が水平走査線に対してなす角度がわかれば、その線分に対し垂直な方向で画素値の合計を計算するようにすることで、図11に示すのと同様の処理を実現することができる。また、上の例では各列ごとに合計をとるようにしたが、中点を中心として左右対称な画素ごとに差を計算してその総和を計算し、それがしきい値より小さい場合に左右対称と判定してもよい。
【0071】
ここで再び図8のステップ132に戻り、移動量dを算出する処理について、図10を参照して詳細に説明する。移動量d(二次元ベクトル量)=(x,y)とし、x=−m,−m+1,…,m、y=−n,−n+1,…,nの範囲で図5の下段に示すような領域Mに属する画素数の合計の最大値を示すものを探索するものとする。まず、変数maxに初期値0を代入する(ステップ180)。この変数maxは、以下に述べる計算過程で、個々の移動量に対して算出される差分画像のうち、領域Mに属する画素数の合計の最大値を記憶するためのものである。
【0072】
変数xに−mを代入し(ステップ182)、変数yに−nを代入する(ステップ184)。以下、yの各値ごとの繰り返し処理である。
【0073】
まず、d=(x、y)に対する領域Mに属する画素数の合計M(d)を求める(ステップ186)。そしてこのM(d)が変数maxより大きいか否かを判定する(ステップ188)。M(d)が変数max以下の場合には何もせず制御はステップ192に進む。M(d)が変数maxより大きい場合には、ステップ190で変数maxにM(d)の値を代入し、X、Yにそれぞれそのときのx,yの値を代入する。制御はステップ192に進む。
【0074】
ステップ192ではyに1を加算し、その結果yがnを超えたか否かを判定する(ステップ194)。yがnを超えていない場合には制御はステップ186に戻り、新たなyに対してステップ186〜194の処理を繰り返す。yがnを超えている場合には、制御はステップ196に進む。
【0075】
ステップ196では、xに1を加算する。そして、その結果xがmを超えたか否かを判定する(ステップ198)。xがmを超えていないと判定された場合には制御はステップ184に戻り、以下新たなxに対してステップ184〜198の処理を繰り返す。xがmを超えたと判定された場合には、制御はステップ200に進み、変数maxの値と、この変数maxの値が得られたときのx、yの値であるX,Yを出力して処理を終了する。
【0076】
このようにして、領域Mに含まれる画素数が最大となる移動量dを求める。なお、移動量dの算出方法はこれ以外にも種々考えられる。たとえば、x、yをm×nの範囲で変化させながらあらかじめ総当りで領域Mに含まれることになる画素数を求めてテーブル化し、そのテーブルの中で最大値を示すセルを求めるようにしてもよい。
【0077】
さて、上で述べたようにして検出した目を次のフレームから信頼性高く、かつロバスト性高くトラッキングしていくために、次のようなトラッキング方法をソフトウェアにより実現する。本実施の形態では、目をトラッキングするのに、直接ではなく、目と目の間(眉間)のパターンをトラッキングする。そして、そのようにトラッキングされた眉間からの相対的位置が前フレームの目位置と同じ点の近傍で目を探索する。
【0078】
眉間パターンは、顔の表情が変化する場合でも比較的安定している。また、額部と鼻筋の明るい部分に両サイドから目と眉とが楔のように割込んだ濃淡パターンを形成しているので、パターンマッチングによって位置を決める際の精度を出しやすい。
【0079】
以下に述べるように、眉間のテンプレートを用いてパターンマッチングする際に、テンプレートを更新する必要がある。テンプレートとして本実施の形態では、両目の中心を中点とする矩形パターンを採用し、テンプレートの更新には現フレームで検出された矩形パターンを用いる。
【0080】
以下、図12を参照してトラッキング処理の詳細について説明する。なお、前フレームで抽出された両目の中点位置と、眉間パターン(s×t画素)と、中点から見た右目と左目との相対位置er、el(er=―elで、いずれも2次元量)とがすでにセーブしてあるものとする。
【0081】
まず、ステップ240でセーブされている中点位置、眉間パターン、および両目の相対位置を初期値として取り込む処理を行なう。続いて、現画像(現フレーム)の取り込みを行なう(ステップ242)。
【0082】
次のステップ244では、前画像と、さらにその前の画像(前々画像)とにおける両目の中点位置から、現画像における両目の中点位置を予測する。すなわち、前フレーム、前々フレームの眉間位置をそれぞれXt-1,Xt-2とする(ただしXt-1,Xt-2はいずれも2次元量)と、現フレームでの予測位置Xtは、Xt=2Xt-1―Xt-2で外挿できる。ただし、最初の検出時はX-1=X0とする。このように現画像における両目の中点位置を予測するのは、顔画像が移動している場合、その移動量はほぼ一定であると考えられるので、移動後の中点位置を予測してから眉間パターンのマッチングをすると効率がよいからである。
【0083】
ステップ246では、ステップ244で予測された中点位置の近傍で、セーブされていた眉間パターンと最もよく一致する眉間パターンを探すマッチング処理を実行する。ここで最もよいマッチが得られた位置をXt0とする。そして、ステップ248で、Xt0+erおよびXt0+elを中心とする近傍(i×j画素)において右目および左目の位置をそれぞれ探索する(ステップ248)。探索にあたっては、その点を中心とする5×5画素の平均画素値が最も暗い点を目と判定する。
【0084】
次に、探索結果の目の位置が、図9のステップ162で用いられた条件2)3)4)を満たすか否かを判定する。いずれかひとつの条件でも満足されていなければ、目のトラッキングを誤ったか見失ったものとして、トラッキング失敗の判定をし(ステップ252)処理を終了する。この場合、図7のステップ106から制御はステップ100に戻り、再び目の位置の検出から処理が再実行される。
【0085】
すべての条件が満足されていると判定された場合には、トラッキングが成功したものと判定され、トラッキングにより得られた両目の中点位置と、その点を中心とする眉間パターン(s×t画素)と、中点に対する両目の相対位置er、elとをセーブ(更新)してトラッキング処理を終了する。
【0086】
なお、このようにしてカメラ56の画像に対して両目の位置が検出されれば、カメラ58の画像とあわせてステレオ処理により目までの距離が求まり、アイカメラ54を制御するためのパラメータ(距離、方向)が計算により決定できる。その処理については周知の技法を適用することができるので、ここでは詳細な説明は繰り返さない。
【0087】
[動作]
上にその構造について説明した本願発明にかかる目の位置の検出装置は以下のように動作する。図1に示すステレオカメラ56,58は、利用者の顔画像を撮影しそれぞれビデオ信号を出力しコンピュータ40に与える。
【0088】
図8に示すように目の位置の検出およびトラッキングのためのソフトウェアを起動すると、カメラ56,58から得られたビデオ画像の各々に対して目の位置が抽出される。具体的には、現画像がキャプチャされ(ステップ120)、差分画像Dの計算(ステップ122)、ステップ124および126の判断が行なわれる。ステップ124または126において判定結果が「YES」となれば目の位置の検出ができなかったとして、次のフレーム画像に対して再度目の位置の抽出処理が実行される。
【0089】
ステップ124および126における判定結果がいずれも「NO」となった場合には、ステップ128で画素値「1」の領域の両端の画素が削除される。そして、既に説明した手法にしたがって移動量dを計算した後(ステップ132)、このようにして得られた移動量dを用いて図5に示す移動および重ねあわせを行なって得られた領域Mに相当する画素を、差分画像Dから除去する(ステップ150)。
【0090】
続いて、孤立点除去、平滑化処理(ステップ152)、ラベリング処理(ステップ154)を経て得られた各要素の中心を目位置候補とする(ステップ156)。この候補数が2未満の場合には抽出は失敗したものと判定され、最初から処理が再開される。候補数が2以上の場合には、その近傍における画像間の差分の絶対値の総和が最も大きな二つの点が候補点となる(ステップ160)。この候補点が前述した4つの条件のすべてを満足し(ステップ162)、かつ中点近傍のパターンが左右対称であると判定される(ステップ164)と、その二つの候補点を目の位置として、目の位置の抽出処理は終了する。ステップ162、164のテストに失敗すると目の位置の抽出はできなかったものとして、最初から処理が再開される。
【0091】
こうしてステレオカメラ56,58の双方について、目の方向が決定されると、それらの情報を用いてアイカメラ54を制御すべき情報(アイカメラ54から見た目の方向および目までの距離)が得られる。こうした情報をコンピュータ82に送信して(図7のステップ102)、制御は目位置のトラッキング処理に移る(ステップ104)。
【0092】
トラッキング処理の最初には、目の位置の抽出処理で得られた両目の中点位置(すなわち眉間の位置)、眉間の画像パターン、および中点位置から見た両目の相対位置に関する情報がセーブされている。まず最初に、このようにセーブされている情報を初期値として取り込む(ステップ240)。続いて現画像を取込み(ステップ242)、前画像における目の中点位置(眉間の位置)および前々画像における目の中点位置に基づいて現画像での目の中点位置を予測する(ステップ244)。この予測は、たとえば前々画像と前画像との中点位置を外挿することにより行なわれる。予測された中点位置近傍で、既にセーブされていた前画像での眉間パターンと最もよくマッチするパターンの中心となる位置を探索し、最もよいマッチを示した位置を中心として、両目の位置を探索する(ステップ248)。得られた両目位置が所定の条件を満足していれば(ステップ250でYES)、その両目位置に基づいて両目の中点位置を算出し、その値と、その中点位置を中心とする眉間パターンと、中点位置から両目までの相対位置とをセーブして、トラッキングを一旦終了する。ただしこの場合、図7においてステップ106からステップ102の経路を通り、次のトラッキング処理が行なわれる。
【0093】
トラッキングに失敗すると、図7のステップ106からステップ100の経路を通り、再度目の位置の抽出処理から実行される。
【0094】
こうして、ステレオカメラ56,58を用いて目の位置(方向)を抽出し、トラッキングし、それらの値を用いることによりアイカメラ54を制御するためのパラメータ(目の方向、距離)を計算してアイカメラ54を制御することができる。
【0095】
図13〜図15に、本実施の形態による目の位置の抽出およびトラッキング処理の具体例について、画面表示を示す。
【0096】
図13には、入力された画像例を示す。図14に示すのは、この画像と前画像との差分画像である。画面の左上には左右の対称性を判定するために切出したパターン270が、左下には入力画像の眉間パターン272が、それぞれ表示されている。差分画像の中で、目位置候補として2箇所274および276が抽出され白丸で表示されている。
【0097】
図15には、両目位置292,294および中心位置290を画像に重ねて表示した例を示す。図15に示すように、眉間を中心として、両目の位置が正しくトラッキングされている。
【0098】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図1】 本願発明にかかる目の位置のトラッキング方法および装置を実現するコンピュータシステム20の外観図である。
【図2】 図1に示すコンピュータシステム20および周辺装置のブロック図である。
【図3】 本発明の一実施の形態における目の位置の抽出の原理を示すための図である。
【図4】 差分画像の一例を示す図である。
【図5】 本発明の一実施の形態における目の位置の抽出の原理を示すための図である。
【図6】 本発明の一実施の形態において、利用者が振り向く動きをキャンセルする原理を示す図である。
【図7】 本発明の一実施の形態における目の位置の抽出方法および装置を実現するソフトウェアの全体の制御構造を示すフローチャートである。
【図8】 本発明の一実施の形態における目の位置の抽出処理を実現するソフトウェアのフローチャートである。
【図9】 本発明の一実施の形態における目の位置の抽出処理を実現するソフトウェアのフローチャートである。
【図10】 本発明の一実施の形態における目の位置の抽出処理において、移動量dの算出処理を実現するソフトウェアのフローチャートである。
【図11】 本発明の一実施の形態における、眉間の近傍の左右対称性を判定する処理を説明するための図である。
【図12】 本発明の一実施の形態における目のトラッキング処理を実現するソフトウェアのフローチャートである。
【図13】 本発明の一実施の形態における現画像の表示例を示す図である。
【図14】 本発明の一実施の形態における差分画像の表示例を示す図である。
【図15】 本発明の一実施の形態における目の位置のトラッキングの表示例を示す図である。
【符号の説明】
20 コンピュータシステム、40,82 コンピュータ、42 モニタ、46 キーボード、48 マウス、54 アイカメラ、56,58 ステレオカメラ。[0001]
[Technical field to which the invention belongs]
The present invention relates to a man-machine interface technique, and more particularly to a method and apparatus for tracking the position of a human eye for the purpose of detecting a human gaze direction without error when operating a computer or the like with the human gaze. .
[0002]
[Prior art]
With the recent development of computer technology, devices using computers have been used in every corner of people's lives. Without the skills to operate a computer, there is even a risk of not being able to live a satisfactory social life.
[0003]
On the other hand, in order to operate a computer, it is necessary to convey the intention of a person to the computer. Various researches have been conducted and put into practical use about how efficiently, without error, and simply transferring human intentions to a computer. Such a technique is generally called a man-machine interface.
[0004]
If it is only for operating the computer, a command for operating the computer on a text basis may be given to the computer via, for example, a keyboard. However, this requires humans to store these multiple commands along with the command syntax and the necessary parameters. Therefore, what is generally called GUI (Graphical User Interface) has been devised and is now mainstream.
[0005]
In the GUI, generally, a pointing device such as a mouse is used to point an icon displayed on the screen, and a predetermined operation such as clicking, double-clicking, dragging, or the like is given to the computer. Can do. Therefore, there is a feature that it is not necessary to memorize a large number of commands and errors are less likely to occur.
[0006]
On the other hand, the GUI needs to operate a pointing device. For this reason, for example, a person with a hand movement disorder is difficult to operate even with a computer employing a GUI. Depending on the application, the hand may not be freely used, and it may be difficult to use a pointing device such as a mouse.
[0007]
Thus, various techniques for transmitting human intentions to a computer using human eyes have been considered. When a human consciously manipulates the line of sight, the intention of the human can be given to the computer using the line of sight as a pointing device. In addition, when a human moves the line of sight unconsciously, the intention of the human can be estimated by detecting the movement of the line of sight by the computer.
[0008]
A prerequisite technology for this is a device that images a human eyeball and estimates the line-of-sight direction. For this purpose, an eye camera is generally used. By estimating the direction of the line of sight of a person using an eye camera, the intention of the person can be estimated and used for computer operations.
[0009]
When estimating the gaze direction using an eye camera, it is necessary to image the eyeball with high resolution in order to increase the estimation accuracy. However, for this purpose, the imaging range of the eye camera is narrowed. The depth of field is also shallow. As a result, when an eye camera is used, the user must almost fix the face so that the face does not move forward, backward, left or right. Therefore, when the eye camera is used alone, its usage form is very limited. It is also desirable to be able to detect and track an eye even on an unknown face, not a system that can be used only by a specific individual.
[0010]
In order to solve the problems associated with the use of such an eye camera, the inventor of the present application first detects the position of the user's eyes using a wide-field camera, and uses that information to pan and tilt the eye camera. I came up with the idea that controlling the focus is effective. In other words, by using a subsystem that detects the position of the human eye by some method, tracks it, and sequentially outputs the direction and distance to the eye camera control device, the accuracy of eye direction detection by the eye camera is adopted. It is a method to increase.
[0011]
Usually, when using a computer, the user is about 50 to 100 cm away from the eye camera and is considered to be sitting on a chair. Therefore, by detecting the eye position as described above and controlling the eye camera using the information, it is considered that the accuracy of the gaze direction detection by the eye camera becomes very high.
[0012]
In the assumed situation, the range of movement of the face is quite limited. For this reason, it is possible to capture a large image so that the face fills the height of the screen. Accordingly, the inventors of the present invention have come to realize that the position of both eyes can be detected by detecting the movement of the eyelid in the face image captured in this manner. Humans are blinking unconsciously, and by waiting for a natural blink, the position of the eyes can be detected without making the user aware of it. Especially in situations where an eye camera is used, it is possible to obtain user cooperation.
[0013]
Blink is not a continuous movement. Therefore, once the eye position is detected, it is necessary to track the eye position by some method. One method for that purpose is to prepare a large number of face image templates and estimate the position of the eyes by matching the captured face image with the template.
[0014]
However, in this case, simple template matching cannot cope with changes in face orientation. Even if the template is updated, it is inevitable that the tracking point gradually shifts from the actual eye. Therefore, it is necessary to overcome the weakness caused by such template matching and improve the robustness of the tracking process.
[0015]
As for the information on the distance given to the eye camera, sufficient accuracy can be obtained by measuring using, for example, an ultrasonic sensor as long as the direction of the eye is known. However, in the following embodiments, the distance to the user's face is estimated using a binocular stereo image. Of course, in addition to this, it is possible to measure the distance to the user's face using various methods, but since there is no direct relationship with eye position detection and tracking in the present invention, in the following description, A detailed description of distance measurement will not be given.
[0016]
There are already several examples of eye position tracking methods. One of them is disclosed in Japanese Patent Laid-Open No. 2000-163564. In this example, the position of the eyes is tracked using a so-called template matching technique using an image pattern centered on the eyes as a template. Other examples are described in IEICE Technical Report PRMU99-151 (1999-11), pp. It is disclosed in a paper entitled “Development of Real-Time Eye-Gaze Detection / Motion Recognition System” of 9-14. In this example, face tracking is performed by stereo processing of a face feature region image including both ends of the left and right eyes and an image using three-dimensional coordinates from face images obtained using two video cameras. The center position of the eyeball is estimated from the face position thus estimated and the offset vector from the midpoint of both ends of the left and right eyes toward the eyeball.
[0017]
[Problems to be solved by the invention]
However, the method disclosed in Japanese Patent Laid-Open No. 2000-163564 uses a normal template matching method, and has a problem that it is vulnerable to pattern rotation and scale change. In the example published in the IEICE Technical Report, the eye position is estimated only from stereo processing using two images, so the distance from the camera to the eye is limited, and a tracking pattern is registered in advance. There is a problem that needs to be kept.
[0018]
That is, until now, there has been a problem that the position of the eyes of a general user cannot be accurately tracked without restricting the position of the user's face.
[0019]
Therefore, an object of the present invention is to track the eye position from a general face image with high robustness, and to track the eye position without improperly restraining the user, and an apparatus therefor Is to provide a program.
[0020]
Another object of the present invention is that it is possible to detect the position of the eyes with high accuracy and robustness from a general face image even if the face rotates or moves, and improperly restrains the user. To provide an eye position tracking method, apparatus, and program therefor.
[0021]
[Means for Solving the Problems]
In the invention according to the first aspect of the present application, an imaging unit that captures a video image of a face of a subject is connected , and a computer having a storage device tracks the position of the subject's eyes in a series of images output by the imaging unit. And a step of extracting an eye position in a face image output from the imaging means, and the step of extracting the eye position calculates a difference image between the two images output from the imaging means. A step of extracting a remaining difference area excluding a difference due to movement of the entire face of the subject between the two images, and extracting the remaining difference area includes two steps: A step of calculating a movement amount that maximizes an area where the pixel value of the image obtained by translating each of the two images and the pixel value of the difference image coincide with each other, and a difference caused by the calculated movement amount A step of deleting from the difference image, selecting the second candidate point from the extracted remaining difference area according to the difference of the pixel values of the two images, and the second candidate point is predetermined The second eye candidate point is extracted as the eye position when the geometric condition is satisfied, the position between the eyebrows determined by the extracted eye position, the relative position of both eyes with respect to the position between the eyebrows, An image pattern between the eyebrows determined by the position between the eyebrows, a step of saving the image pattern between the eyebrows in the storage device, an image acquisition step of acquiring an image subsequent to the image from which the eye position is extracted , a step of predicting the positions in the vicinity of the predicted frown position, the steps of searching for a point where the center of the area that best matches the saved forehead of the image pattern, is searched Based the position of, in the relative position of the saved eyes, to predict the positions of the eyes in the subsequent image, each of the two regions which satisfy the predetermined condition about the predicted area The step of searching for the center point of the two points, and the position of the midpoint of the two searched center points as the position between the new eyebrows, the position between the new eyebrows and the relative position of the two center points The determined region is the relative position of both eyes relative to the position between the eyebrows, and the image pattern of the area defined by the position between the new eyebrows is stored as a new image pattern between the eyebrows. further position, and a step of updating each glabellar image pattern, and performing the process from the image acquisition step for images further subsequent to the subsequent image Prepare for .
[0022]
Preferably, the step of predicting the position between the eyebrows includes a position between the eyebrows in the subsequent image based on the position between the eyebrows in the image from which the eye position is extracted and the position between the eyebrows in the image preceding the image. Extrapolating.
[0023]
More preferably, in this method, in the step of searching for the center point of each of the two regions, the position between the eyebrows of the face image output by the imaging means in response to the fact that the point could not be searched, the space between the eyebrows The method further includes a step of extracting an image pattern between the eyebrows determined by a relative position of both eyes with respect to the position of the eyebrow and a position between the eyebrows by a predetermined method, and restarting the processing from the image acquisition step.
[0024]
In addition, the step of searching for the center point of each of the two regions has a predetermined shape in the vicinity of each of the positions determined by the relative positions of both eyes with respect to the position of the searched point. It may include a step of searching for the center of a region that is the region and in which the average of the pixel values in the region is the darkest to be a candidate point for both eyes.
[0025]
More preferably, the step of searching for the center point of each of the two regions further includes the candidate point searched in the step of searching for the center of the darkest region,
1) The distance between candidate points is not less than a predetermined minimum value,
2) the distance between candidate points is less than or equal to a predetermined maximum value; and 3) the angle formed by a straight line connecting the candidate points and the scanning line direction satisfies a predetermined relationship;
It may be determined whether or not all of the conditions are satisfied, and if any of the conditions is not satisfied, the search may be failed.
[0026]
In the invention according to the second aspect of the present application, in a computer having a storage device connected to an imaging unit that captures a video image of the face of the subject, the position of the subject's eyes in a series of images output by the imaging unit is tracked. A device for extracting an eye position in a face image output by an imaging means, and the means for extracting the eye position is a difference between two images output by the imaging means. Means for calculating an image, and means for extracting the remaining difference area excluding the difference due to movement of the entire face of the subject between the two images of the difference images, the remaining difference The means for extracting the area includes means for calculating a movement amount for maximizing an area where the pixel value of the image obtained by translating each of the two images matches the pixel value of the difference image, and the calculated movement. amount Means for deleting the resulting difference from the difference image, selecting a second candidate point according to the difference between the pixel values of the two images from the extracted difference area, and If the candidate point satisfies a predetermined geometric condition, the position further includes a means for extracting the second eye candidate point as the eye position, and the position between the eyebrows determined by the extracted eye position, between the eyebrows Means for saving an image pattern between eyebrows defined by the relative position of both eyes relative to the position of the eyebrow and the position between the eyebrows, and image acquisition means for acquiring an image subsequent to the image from which the eye position is extracted And a prediction means for predicting the position between the eyebrows of the face image in the subsequent image, and the center of the area that best matches the image pattern between the saved eyebrows in the vicinity of the predicted position between the eyebrows Looking for Center and the first search means for, the position of the point which is searched, based on the relative position of the saved eyes, to predict the positions of the eyes in the subsequent image, the predicted area A second search means for searching for the center point of each of the two regions satisfying the predetermined condition, and the position of the midpoint of the two center points searched for between the new eyebrows The position determined by the position between the new eyebrows and the relative position of the two central points is set as the new position of the eyes relative to the position between the eyebrows, and the image pattern of the area determined by the position between the new eyebrows is newly set. Update means for updating the position between the eyebrows, the relative position between both eyes, and the image pattern between the eyebrows stored in the storage device as an image pattern between the eyebrows, and an image further following the subsequent image Are further provided with means for controlling the image acquisition means, the prediction means, the first and second search means, and the update means so as to repeat the processing from the image acquisition means.
[0027]
Preferably, the predicting means extrapolates the position between the eyebrows in the subsequent image from the position between the eyebrows in the image from which the eye position is extracted and the position between the eyebrows in the image preceding the image. Including means.
[0028]
More preferably, in response to the fact that the second search means could not search for the point, it is determined by the position between the eyebrows of the face image output by the imaging means, the relative position of both eyes with respect to the position between the eyebrows, and the position between the eyebrows. Means for controlling the image acquisition means, the prediction means, the first and second search means, and the update means so that the image pattern between the eyebrows is extracted by a predetermined device and the processing is resumed from the image acquisition means Further included.
[0029]
Further, the second search means is a region having a predetermined shape in the vicinity of each of the positions determined by the relative positions of both eyes with respect to the position of the searched point, and within the region Means may be included for searching for the center of the region where the average of the pixel values is the darkest to be a candidate point for both eyes.
[0030]
More preferably, the second search means further includes the candidate point searched by the means for searching for the center of the darkest region,
1) The distance between candidate points is not less than a predetermined minimum value,
2) the distance between candidate points is less than or equal to a predetermined maximum value; and 3) the angle formed by a straight line connecting the candidate points and the scanning line direction satisfies a predetermined relationship;
It may be determined whether or not all the conditions are satisfied, and if any of the conditions is not satisfied, a means for failing the search may be included.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
[Hardware configuration]
FIG. 1 shows the appearance of a
[0032]
Referring to FIG. 1, a
[0033]
FIG. 2 illustrates the internal configuration of the
[0034]
The eye position tracking method and apparatus according to the present invention, which will be described in detail below, are realized by the computer hardware described with reference to FIGS. 1 and 2 and software executed by the
[0035]
Note that this software may use functions originally incorporated as part of the OS of the
[0036]
[principle]
In the present invention, the basis of the method for detecting the position of the eyes is based on the difference between the frame images, and particularly pays attention to the difference in brightness due to blinking. When a blink is detected from the inter-frame difference, if the face is moving, pixels having a large change in brightness occur in many parts other than the blinking part that has moved. Therefore, it is necessary to distinguish between a change in brightness due to the movement of the eyelid and a change in brightness due to the movement of the entire face. Although problems may occur due to changes in mouth shape, eyebrow movement, and the like, those brightness changes are rejected by a condition test after extracting eye candidate points.
[0037]
The movement of the entire face can be considered in the following manner: translation in the image plane, rotation in the image plane (raising the neck), and rotation outside the image plane (turning around and turning). It is assumed that the frame rate is sufficiently fast and the movement between frames is small. Hereinafter, a method of canceling these movements in order will be described.
[0038]
The method of canceling the movement when the face is translated in the image plane is as follows. Figure 3 shown (A), the picture f t-1 disc 90 with in color that reflected in the moves in the right direction by a distance d, which is shown in FIG. 3 (B) in the next frame Consider the case where f t is obtained. The disk is marked with a small white circle. The background need not be uniform, but is not shown.
[0039]
Taking the difference image of the images of FIG. 3A and FIG. 3B results in an image as shown in FIG. In FIG. 4, the shaded area is a portion where the difference in pixel values appears large, and the white area is an area where the difference in pixel values is small. In the difference image D shown in FIG. 4, when the pixel position where the difference in the pixel value appears greatly is considered back to the original image shown in FIG. 3 (A) or (B), these pixel positions are Furthermore, it can classify | categorize into the area | regions F and B shown by right and left of the upper stage of FIG. F in the region F corresponds to the foreground, that is, a point on the disk, and B in the region B corresponds to the background, that is, the background. Region B is a portion that is visible in one image and not visible in the other image. A region F is a portion that is visible in both images and has corresponding pixels. However, in an actual image, it is unclear which part the moving object is, so it is not possible to distinguish between the region F and the region B.
[0040]
Here, in the image f t as shown in the upper right of FIG. 5, try repeatedly to shift the pixels corresponding to the regions F and B only -d to the image f t-1. Then, as shown in the lower left of FIG. 5, it can be seen that there are a portion of the region M where the pixel values match and a portion of the region U where the pixel values do not match. Looking superimposed on the image f t and region F and shifted + d the corresponding pixel in the B on similarly image f t-1, becomes as shown in the lower right of FIG. 5 is a region M and U . The moving amount ± d here is a two-dimensional vector amount.
[0041]
Here, if the shift amount is a shift amount ± d ′ different from the actual shift amount ± d, the number of pixels belonging to the region M is considered to be smaller than when the actual shift amount ± d is used. Therefore, if a shift amount that maximizes the number of pixels in the region M is searched, it can be said that this is the movement amount d of the
[0042]
As described above, among the pixels extracted from the difference image between frames, the shift amount ± d that maximizes the number of pixels belonging to the region M is found, the images are shifted and overlapped, and in any case, the pixel values do not match. When a pixel is extracted, it can be said that it is a portion that has moved other than the parallel movement with the movement amount d. If the movement amount of the entire face is d, the part that moves other than d is a part derived from blinking, mouth shape change, or the like. Therefore, by canceling the movement of the entire face from the inter-frame difference image, it is possible to extract the portion that moves in a blink, that is, the eye position.
[0043]
Next, think about the movement that turns around. Referring to FIG. 6, consider a case where the face facing the
[0044]
However, such a portion appears only in the periphery of the moving area. Therefore, after calculating the inter-frame difference image (FIG. 4), the influence can be removed by removing a certain number of pixels from the left and right sides of the hatched area. On the other hand, since the center part of the face can be regarded as a parallel movement even in the case of a turning motion, the above-described technique relating to the parallel movement (a technique of moving two images by ± d to see the matching pixels) can be applied. .
[0045]
It should be noted that the movement of whispering the neck and the movement of whispering can be regarded as parallel movement because the center of rotation is off the face. However, in any case, it is assumed that there is little movement between frames.
[0046]
[Software control structure]
A software structure for realizing the eye detection process and tracking process based on the above principle will be described below. As described above, when executing the software described below, there are cases where it is assumed that the functions of the OS or the functions already installed in the computer are used. It may not include the function itself. However, even in such a case, such software belongs to the technical scope of the present invention as long as it has information on where to use such functions in the control structure.
[0047]
In the processing described below, in addition to the processing for detecting candidate points for eyes already described, blinking occurs simultaneously on the left and right eyes, assuming that there are two eyes, and the distance between both eyes falls within a certain range. By using the conditions that the face tilt angle is within a certain range, and the gray pattern near the midpoint of both eyes is almost symmetrical, the candidate point pair of the extracted eye position is It is tested whether it exists.
[0048]
In the following processing, various threshold values are used, and the values are determined empirically depending on the application and the required accuracy.
[0049]
Referring to FIG. 7, the overall configuration of this software is as follows. First, eye positions are extracted using a procedure described in detail later with reference to FIG. In the
[0050]
Note that the eye position may not be extracted in
[0051]
With reference to FIG. 8, the eye position extraction process performed in
[0052]
Subsequently, in
[0053]
Subsequently, at
[0054]
If the determination result in
[0055]
If the determination result in
[0056]
More specifically, for each scanning line of the difference image D, a search is performed in the right direction and the left direction from the left and right ends, respectively, and the pixel having the pixel value “1” that appears first is searched. Then, the pixel value of each of k pixels is rewritten to “0” from that pixel. By this processing, a predetermined amount of the left and right regions of the pixel value “1” in the image is removed.
[0057]
Subsequently, in
[0058]
When the movement amount ± d is calculated, subsequently, in step 150 (FIG. 9), a process of deleting pixels corresponding to the region M shown in the lower part of FIG. Further, in step 152, isolated point removal and smoothing processing is executed on the difference image D. More specifically, the pixel value of the pixel to be processed is set to “1” if the pixel value of four or more pixels in total in the vicinity of the pixel to be processed and the central pixel is “1”. . Otherwise, the pixel value is set to “0”. By this process, the pixel value of the isolated point becomes “0” and is deleted from the difference image D.
[0059]
Subsequently, in
[0060]
It is determined whether the number of obtained candidate points is less than 2 (step 158). Since the number of eye positions is generally assumed to be two, if the number of candidate points is less than two, no eye is detected, and the process proceeds to step 168. If the number of candidates is two or more, control proceeds to step 160.
[0061]
In
[0062]
Subsequently, at
[0063]
1) The sum S of absolute values of differences obtained in
[0064]
2) The distance between candidate points is equal to or greater than a predetermined value Lmin.
3) The distance between candidate points is less than or equal to a predetermined value Lmax.
[0065]
4) The angle formed by the straight line connecting the candidate points and the scanning line direction is equal to or less than a predetermined threshold A degree.
[0066]
The threshold value F is a value that is experimentally or statistically determined in advance, and is used to prevent portions other than the eyes from being extracted. Lmin and Lmax are a minimum value and a maximum value assumed as the distance between the centers of the eyes, respectively. These values are statistically determined in advance. The threshold angle A degree is determined experimentally as an appropriate value, but usually a value of about 30 to 45 degrees is used.
[0067]
If all the above four conditions are satisfied, it is further determined in
[0068]
A method for determining whether or not the pattern near the midpoint of the two eye candidate points is substantially symmetric will be described. Referring to FIG. 11, in a
[0069]
Specifically, referring to the lower part of FIG. 11, for example, the sum of the values in the leftmost three
[0070]
In the above description, the two eye candidate points are once rotated around their midpoint so as to be aligned on the horizontal scanning line, and then it is determined whether or not the shading pattern is symmetrical. However, the symmetrical determination method is not limited to this. For example, when an angle formed by a line segment connecting two eye candidate points with respect to a horizontal scanning line is known, the sum of pixel values is calculated in a direction perpendicular to the line segment, as shown in FIG. It is possible to realize the same processing as that of. In the above example, the sum is calculated for each column, but the difference is calculated for each symmetrical pixel around the midpoint, and the sum is calculated. You may determine with symmetry.
[0071]
Here, returning to step 132 in FIG. 8 again, the process of calculating the movement amount d will be described in detail with reference to FIG. The movement amount d (two-dimensional vector amount) = (x, y), and x = −m, −m + 1,..., M, y = −n, −
[0072]
-M is substituted for variable x (step 182), and -n is substituted for variable y (step 184). Hereinafter, iterative processing is performed for each value of y.
[0073]
First, the total number M (d) of pixels belonging to the region M for d = (x, y) is obtained (step 186). Then, it is determined whether this M (d) is larger than the variable max (step 188). If M (d) is less than or equal to the variable max, control proceeds to step 192 without doing anything. If M (d) is larger than the variable max, in
[0074]
In
[0075]
In
[0076]
In this manner, the movement amount d that maximizes the number of pixels included in the region M is obtained. Various other methods for calculating the movement amount d are conceivable. For example, while changing x and y in the range of m × n, the number of pixels to be included in the region M in advance is obtained and tabulated, and the cell indicating the maximum value in the table is obtained. Also good.
[0077]
Now, in order to track the eye detected as described above with high reliability and robustness from the next frame, the following tracking method is realized by software. In the present embodiment, the eye tracking is performed by tracking a pattern between the eyes (between eyebrows), not directly. Then, the eye is searched for in the vicinity of the point where the relative position from the eyebrows thus tracked is the same as the eye position of the previous frame.
[0078]
The pattern between the eyebrows is relatively stable even when the facial expression changes. Moreover, since the light and shade pattern in which the eyes and the eyebrows interrupt like a wedge from both sides is formed in the bright part of the forehead and nose muscles, it is easy to obtain accuracy when determining the position by pattern matching.
[0079]
As described below, when pattern matching is performed using a template between the eyebrows, it is necessary to update the template. In the present embodiment, a rectangular pattern having the center of both eyes as a midpoint is employed as a template, and the rectangular pattern detected in the current frame is used for updating the template.
[0080]
Details of the tracking process will be described below with reference to FIG. Note that the midpoint of the eyes extracted in the previous frame, the forehead pattern (s × t pixel), the relative positions e r between the right eye and the left eye as viewed from the center point, in e l (e r = -e l , Both are two-dimensional quantities).
[0081]
First, a process of taking in the midpoint position, the eyebrow pattern, and the relative positions of both eyes saved as the initial values in
[0082]
In the
[0083]
In
[0084]
Next, it is determined whether the eye position of the search result satisfies the conditions 2), 3), and 4) used in
[0085]
If it is determined that all the conditions are satisfied, it is determined that the tracking is successful, and the middle point position of both eyes obtained by tracking and the inter-brow pattern (s × t pixels) centered on the point. ) and the relative position of the eyes relative to the midpoint e r, and the e l saved (updated) ends the tracking process.
[0086]
If the positions of both eyes are detected with respect to the image of the
[0087]
[Operation]
The eye position detection apparatus according to the present invention, the structure of which has been described above, operates as follows. The
[0088]
When the software for eye position detection and tracking is activated as shown in FIG. 8, the eye position is extracted for each of the video images obtained from the
[0089]
If the determination results in
[0090]
Subsequently, the center of each element obtained through isolated point removal, smoothing processing (step 152), and labeling processing (step 154) is set as an eye position candidate (step 156). If the number of candidates is less than 2, it is determined that the extraction has failed, and the process is restarted from the beginning. If the number of candidates is two or more, the two points having the largest sum of absolute values of differences between images in the vicinity are candidate points (step 160). If this candidate point satisfies all of the above four conditions (step 162) and the pattern near the midpoint is determined to be bilaterally symmetrical (step 164), the two candidate points are used as eye positions. The eye position extraction process ends. If the tests in
[0091]
Thus, when the eye direction is determined for both of the
[0092]
At the beginning of the tracking process, information about the midpoint position of both eyes (that is, the position between the eyebrows) obtained from the eye position extraction process, the image pattern between the eyebrows, and information on the relative position of both eyes as viewed from the midpoint position is saved. ing. First, the information saved in this way is taken as an initial value (step 240). Subsequently, the current image is captured (step 242), and the midpoint position of the eye in the current image is predicted based on the midpoint position of the eye (position between the eyebrows) in the previous image and the midpoint position of the eye in the previous image ( Step 244). This prediction is performed, for example, by extrapolating the midpoint position between the previous image and the previous image. In the vicinity of the predicted midpoint position, a position that is the center of the pattern that best matches the pattern between the eyebrows in the previous image that has already been saved is searched, and the position of both eyes is centered on the position that showed the best match. Search is performed (step 248). If the obtained position of both eyes satisfies a predetermined condition (YES in step 250), the middle point position of both eyes is calculated based on the position of both eyes, and the value between the eyebrows centered on the position of the middle point The pattern and the relative position from the middle point position to both eyes are saved, and the tracking is temporarily ended. However, in this case, the next tracking process is performed through the path from
[0093]
If the tracking fails, the process is performed again from the eye position extraction process through the path from
[0094]
In this way, the positions (directions) of the eyes are extracted and tracked using the
[0095]
FIG. 13 to FIG. 15 show screen displays for specific examples of eye position extraction and tracking processing according to the present embodiment.
[0096]
FIG. 13 shows an input image example. FIG. 14 shows a difference image between this image and the previous image. A pattern 270 cut out to determine left / right symmetry is displayed on the upper left of the screen, and an
[0097]
FIG. 15 shows an example in which the positions of both
[0098]
The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
[Brief description of the drawings]
FIG. 1 is an external view of a
FIG. 2 is a block diagram of the
FIG. 3 is a diagram illustrating the principle of eye position extraction according to an embodiment of the present invention.
FIG. 4 is a diagram illustrating an example of a difference image.
FIG. 5 is a diagram illustrating the principle of eye position extraction according to an embodiment of the present invention.
FIG. 6 is a diagram illustrating a principle of canceling a movement of a user in one embodiment of the present invention.
FIG. 7 is a flowchart showing an overall control structure of software for realizing an eye position extraction method and apparatus according to an embodiment of the present invention.
FIG. 8 is a flowchart of software that realizes eye position extraction processing according to an embodiment of the present invention;
FIG. 9 is a flowchart of software for realizing eye position extraction processing according to an embodiment of the present invention;
FIG. 10 is a flowchart of software that realizes a calculation process of a movement amount d in the eye position extraction process according to the embodiment of the invention.
FIG. 11 is a diagram for describing processing for determining left-right symmetry in the vicinity of the eyebrows in an embodiment of the present invention.
FIG. 12 is a flowchart of software that realizes eye tracking processing according to the embodiment of the present invention;
FIG. 13 is a diagram showing a display example of a current image in the embodiment of the present invention.
FIG. 14 is a diagram showing a display example of a difference image in an embodiment of the present invention.
FIG. 15 is a diagram showing a display example of eye position tracking according to the embodiment of the present invention;
[Explanation of symbols]
20 computer system, 40,82 computer, 42 monitor, 46 keyboard, 48 mouse, 54 eye camera, 56, 58 stereo camera.
Claims (15)
前記撮像手段の出力する顔画像内の目の位置を抽出するステップを備え、
前記目の位置を抽出するステップは、
前記撮像手段の出力する二つの画像の差分画像を算出するステップと、
前記差分画像のうち、前記二つの画像の間における前記被験者の顔全体の移動に起因する差分を除いた残りの差分領域を抽出するステップとを含み、
前記残りの差分領域を抽出するステップは、
前記二つの画像の各々を平行移動した画像の画素値と前記差分画像の画素値とが一致する領域を最大にする移動量を算出するステップと、
前記算出した移動量に起因する差分を前記差分画像から削除するステップとを有し、
前記抽出された残りの差分領域から前記二つの画像の画素値の差に応じて二つの目の候補点を選択し、前記二つの目の候補点が予め定められた幾何学的条件を満たす場合に、前記二つの目の候補点を目の位置として抽出するステップをさらに含み、
前記抽出された目の位置によって定められる眉間の位置、前記眉間の位置に対する両目の相対位置、および前記眉間の位置によって定められる眉間の画像パターンを前記記憶装置にセーブするステップと、
前記目の位置が抽出された画像に後続する画像を取得する画像取得ステップと、
前記後続する画像内の顔画像の眉間の位置を予測するステップと、
予測された眉間の位置の近傍で、前記セーブされた眉間の画像パターンと最もよく一致する領域の中心となる点を探索するステップと、
前記探索された点の位置と、前記セーブされた両目の相対位置とに基づいて、前記後続する画像内での両目の位置を予測し、当該予測された領域を中心として予め定められた条件を満足する二つの領域の各々の中心となる点を探索するステップと、
探索された前記二つの中心となる点の中点の位置を新たな眉間の位置とし、当該新たな眉間の位置および前記二つの中心となる点の相対位置によって定まる領域を前記眉間の位置に対する新たな両目の相対位置とし、さらに前記新たな眉間の位置によって定められる領域の画像パターンを新たな眉間の画像パターンとして前記記憶装置に記憶されている眉間の位置、両目の相対位置、および眉間の画像パターンをそれぞれ更新するステップと、
前記後続する画像にさらに後続する画像に対して前記画像取得ステップから処理を実行するステップとをさらに備える、目の位置のトラッキング方法。A method for tracking the position of the eye of the subject in a series of images output by the imaging means in a computer connected to an imaging means for capturing a video image of the face of the subject and having a storage device ,
Extracting the position of the eye in the face image output by the imaging means,
Extracting the eye position comprises:
Calculating a difference image between two images output by the imaging means;
Extracting the remaining difference area excluding the difference due to the movement of the entire face of the subject between the two images among the difference images,
The step of extracting the remaining difference area includes:
Calculating a movement amount that maximizes an area where a pixel value of an image obtained by translating each of the two images and a pixel value of the difference image coincide with each other;
Deleting the difference resulting from the calculated movement amount from the difference image,
When the second candidate point is selected from the extracted difference area in accordance with the difference between the pixel values of the two images, and the second candidate point satisfies a predetermined geometric condition Further comprising extracting the second eye candidate points as eye positions,
Saving an image pattern between the eyebrows defined by the extracted eye position, a relative position of both eyes with respect to the position between the eyebrows, and an image pattern between the eyebrows defined by the position between the eyebrows in the storage device;
An image acquisition step of acquiring an image following the image from which the eye position is extracted ;
Predicting the position between the eyebrows of the face image in the subsequent image;
Searching for a point in the vicinity of the predicted position between the eyebrows that is the center of an area that best matches the saved image pattern between the eyebrows;
Based on the position of the searched point and the saved relative position of both eyes, the position of both eyes in the subsequent image is predicted, and a predetermined condition centered on the predicted region is determined. Searching for a central point in each of the two satisfied regions;
The position of the midpoint of the searched two central points is set as a position between new eyebrows, and an area determined by the position between the new eyebrows and the relative position of the two central points is newly set with respect to the position between the eyebrows. the relative position of such eyes, yet the position of the glabella which is stored an image pattern of a region defined by the location of the new eyebrows in the storage device as an image pattern of a new glabella, the relative position of both eyes, and between eyebrows Updating each of the image patterns of
A method of tracking an eye position, further comprising: performing processing from the image obtaining step on an image further succeeding the succeeding image.
前記探索された点の位置に対し、前記両目の相対位置によって定められる位置の各々を中心とする近傍において、予め定められた形状の領域であって、かつ当該領域内の画素値の平均が最も暗くなる領域の中心を探索して両目の候補点とするステップを含む、請求項1〜請求項3のいずれかに記載の方法。The step of searching for the center point of each of the two regions is as follows:
An area having a predetermined shape in the vicinity of each of the positions determined by the relative positions of the eyes with respect to the position of the searched point, and the average of the pixel values in the area is the largest. The method according to any one of claims 1 to 3, comprising a step of searching for the center of a darkened area to be a candidate point for both eyes.
1)候補点間の距離があらかじめ定められた最小値以上であること、
2)候補点間の距離があらかじめ定められた最大値以下であること、および
3)候補点を結ぶ直線と走査線方向とのなす角度が、あらかじめ定められた関係を満足すること、
のすべての条件を満足するか否かを判定し、いずれかの条件が満足されない場合は探索を失敗とするステップを含む、請求項4に記載の方法。In the step of searching for the center point of each of the two regions, the candidate point searched in the step of searching for the center of the darkest region is
1) The distance between candidate points is not less than a predetermined minimum value,
2) the distance between candidate points is less than or equal to a predetermined maximum value; and 3) the angle formed by a straight line connecting the candidate points and the scanning line direction satisfies a predetermined relationship;
5. The method of claim 4, further comprising the step of determining whether all of the conditions are satisfied and failing the search if any of the conditions are not satisfied.
前記撮像手段の出力する顔画像内の目の位置を抽出するための手段を備え、
前記目の位置を抽出するための手段は、
前記撮像手段の出力する二つの画像の差分画像を算出するための手段と、
前記差分画像のうち、前記二つの画像の間における前記被験者の顔全体の移動に起因する差分を除いた残りの差分領域を抽出するための手段とを含み、
前記残りの差分領域を抽出するための手段は、
前記二つの画像の各々を平行移動した画像の画素値と前記差分画像の画素値とが一致する領域を最大にする移動量を算出するための手段と、
前記算出した移動量に起因する差分を前記差分画像から削除するための手段とを有し、
前記抽出された残りの差分領域から前記二つの画像の画素値の差に応じて二つの目の候補点を選択し、前記二つの目の候補点が予め定められた幾何学的条件を満たす場合に、前記二つの目の候補点を目の位置として抽出するための手段をさらに含み、
前記抽出された目の位置によって定められる眉間の位置、前記眉間の位置に対する両目の相対位置、および前記眉間の位置によって定められる眉間の画像パターンを前記記憶装置にセーブするための手段と、
前記目の位置が抽出された画像に後続する画像を取得するための画像取得手段と、
前記後続する画像内の顔画像の眉間の位置を予測するための予測手段と、
予測された眉間の位置の近傍で、前記セーブされた眉間の画像パターンと最もよく一致する領域の中心となる点を探索するための第1の探索手段と、
前記探索された点の位置と、前記セーブされた両目の相対位置とに基づいて、前記後続する画像内での両目の位置を予測し、当該予測された領域を中心として予め定められた条件を満足する二つの領域の各々の中心となる点を探索するための第2の探索手段と、
探索された前記二つの中心となる点の中点の位置を新たな眉間の位置とし、当該新たな眉間の位置および前記二つの中心となる点の相対位置によって定まる領域を前記眉間の位置に対する新たな両目の相対位置とし、さらに前記新たな眉間の位置によって定められる領域の画像パターンを新たな眉間の画像パターンとして前記記憶装置に記憶されている眉間の位置、両目の相対位置、および眉間の画像パターンをそれぞれ更新するための更新手段と、
前記後続する画像にさらに後続する画像に対して前記画像取得手段からの処理を繰返すように前記画像取得手段、前記予測手段、前記第1および第2の探索手段、ならびに前記更新手段を制御するための手段とをさらに備える、目の位置のトラッキング装置。An apparatus for tracking the position of the eye of the subject in a series of images output by the imaging means in a computer having a storage device connected to an imaging means for capturing a video image of the face of the subject,
Means for extracting the position of the eye in the face image output by the imaging means;
The means for extracting the eye position is:
Means for calculating a difference image between two images output by the imaging means;
Means for extracting the remaining difference area excluding the difference due to the movement of the entire face of the subject between the two images among the difference images;
The means for extracting the remaining difference area is:
Means for calculating a movement amount that maximizes an area where a pixel value of an image obtained by translating each of the two images and a pixel value of the difference image coincide with each other;
Means for deleting the difference resulting from the calculated movement amount from the difference image;
When the second candidate point is selected from the extracted difference area in accordance with the difference between the pixel values of the two images, and the second candidate point satisfies a predetermined geometric condition Further comprising means for extracting the candidate points of the two eyes as eye positions,
Means for saving in the storage device a position between the eyebrows defined by the extracted eye position, a relative position of both eyes with respect to the position between the eyebrows, and an image pattern between the eyebrows defined by the position between the eyebrows ;
Image acquisition means for acquiring an image subsequent to the image from which the eye position is extracted ;
Prediction means for predicting the position between the eyebrows of the face image in the subsequent image;
First search means for searching for a point that is the center of an area that best matches the saved image pattern between the eyebrows in the vicinity of the predicted position between the eyebrows;
Based on the position of the searched point and the saved relative position of both eyes, the position of both eyes in the subsequent image is predicted, and a predetermined condition centered on the predicted region is determined. A second search means for searching for a central point of each of the two satisfied regions;
The position of the midpoint of the searched two central points is set as a position between new eyebrows, and an area determined by the position between the new eyebrows and the relative position of the two central points is newly set with respect to the position between the eyebrows. the relative position of such eyes, yet the position of the glabella which is stored an image pattern of a region defined by the location of the new eyebrows in the storage device as an image pattern of a new glabella, the relative position of both eyes, and between eyebrows Updating means for updating each of the image patterns;
To control the image acquisition means, the prediction means, the first and second search means, and the update means so as to repeat the processing from the image acquisition means for an image that further follows the subsequent image. further comprising, eye position of the tracking device and means.
前記探索された点の位置に対し、前記両目の相対位置によって定められる位置の各々を中心とする近傍において、予め定められた形状の領域であって、かつ当該領域内の画素値の平均が最も暗くなる領域の中心を探索して両目の候補点とするための手段を含む、請求項6〜請求項8のいずれかに記載の装置。The second search means includes
An area having a predetermined shape in the vicinity of each of the positions determined by the relative positions of the eyes with respect to the position of the searched point, and the average of the pixel values in the area is the largest. The apparatus according to any one of claims 6 to 8, comprising means for searching for the center of a darkened area to be a candidate point for both eyes.
1)候補点間の距離があらかじめ定められた最小値以上であること、
2)候補点間の距離があらかじめ定められた最大値以下であること、および
3)候補点を結ぶ直線と走査線方向とのなす角度が、あらかじめ定められた関係を満足すること、
のすべての条件を満足するか否かを判定し、いずれかの条件が満足されない場合は探索を失敗とするための手段を含む、請求項9に記載の装置。The second search means further includes candidate points searched by the means for searching the center of the darkest area.
1) The distance between candidate points is not less than a predetermined minimum value,
2) the distance between candidate points is less than or equal to a predetermined maximum value; and 3) the angle formed by a straight line connecting the candidate points and the scanning line direction satisfies a predetermined relationship;
10. The apparatus of claim 9, comprising means for determining whether all of the conditions are satisfied and failing the search if any of the conditions are not satisfied.
前記処理は、
前記演算装置が前記撮像手段の出力する顔画像内の目の位置を抽出するステップを備え、
前記目の位置を抽出するステップは、
前記撮像手段の出力する二つの画像の差分画像を算出するステップと、
前記差分画像のうち、前記二つの画像の間における前記被験者の顔全体の移動に起因する差分を除いた残りの差分領域を抽出するステップとを含み、
前記残りの差分領域を抽出するステップは、
前記二つの画像の各々を平行移動した画像の画素値と前記差分画像の画素値とが一致する領域を最大にする移動量を算出するステップと、
前記算出した移動量に起因する差分を前記差分画像から削除するステップとを有し、
前記抽出された残りの差分領域から前記二つの画像の画素値の差に応じて二つの目の候補点を選択し、前記二つの目の候補点が予め定められた幾何学的条件を満たす場合に、前記二つの目の候補点を目の位置として抽出するステップをさらに含み、
前記演算装置が前記抽出された目の位置によって定められる眉間の位置、前記眉間の位置に対する両目の相対位置、および前記眉間の位置によって定められる眉間の画像パターンを前記記憶装置にセーブするステップと、
前記演算装置が前記目の位置が抽出された画像に後続する画像を取得する画像取得ステップと、
前記演算装置が前記後続する画像内の顔画像の眉間の位置を予測するステップと、
前記演算装置が予測された眉間の位置の近傍で、前記セーブされた眉間の画像パターンと最もよく一致する領域の中心となる点を探索するステップと、
前記演算装置が前記探索された点の位置と、前記セーブされた両目の相対位置とに基づいて、前記後続する画像内での両目の位置を予測し、当該予測された領域を中心として予め定められた条件を満足する二つの領域の各々の中心となる点を探索するステップと、
前記演算装置が探索された前記二つの中心となる点の中点の位置を新たな眉間の位置とし、当該新たな眉間の位置および前記二つの中心となる点の相対位置によって定まる領域を前記眉間の位置に対する新たな両目の相対位置とし、さらに前記新たな眉間の位置によって定められる領域の画像パターンを新たな眉間の画像パターンとして前記記憶装置に記憶されている眉間の位置、両目の相対位置、および眉間の画像パターンをそれぞれ更新するステップと、
前記演算装置が前記後続する画像にさらに後続する画像に対して前記画像取得ステップから処理を実行するステップとをさらに備える、目の位置のトラッキングプログラム。In a computer to which an imaging means for capturing a video image of the face of the subject is connected and having a computing device and a storage device, a process for tracking the position of the eye of the subject in a series of images output by the imaging means A computer-executable program for controlling the computer to execute,
Before Symbol process,
The arithmetic device comprises a step of extracting a position of an eye in a face image output by the imaging means;
Extracting the eye position comprises:
Calculating a difference image between two images output by the imaging means;
Extracting the remaining difference area excluding the difference due to the movement of the entire face of the subject between the two images among the difference images,
The step of extracting the remaining difference area includes:
Calculating a movement amount that maximizes an area where a pixel value of an image obtained by translating each of the two images and a pixel value of the difference image coincide with each other;
Deleting the difference resulting from the calculated movement amount from the difference image,
When the second candidate point is selected from the extracted difference area in accordance with the difference between the pixel values of the two images, and the second candidate point satisfies a predetermined geometric condition Further comprising extracting the second eye candidate points as eye positions,
A step of saving in the storage device an image pattern between the eyebrows defined by the position of the eyebrows determined by the extracted eye position, a relative position of both eyes with respect to the position of the eyebrows, and a position between the eyebrows,
An image acquisition step in which the arithmetic device acquires an image following the image from which the eye position is extracted ;
Predicting the position between the eyebrows of the face image in the subsequent image by the computing device ;
In the vicinity of the position of the glabella which the computing device is predicted, a step of searching for a point where the center of the best fit area and the saved forehead of the image pattern,
The arithmetic unit predicts the position of both eyes in the subsequent image based on the position of the searched point and the saved relative position of both eyes, and predetermines the predicted area as a center. Searching for a central point in each of the two regions satisfying the given condition;
The position of the midpoint between the two central points searched by the arithmetic unit is set as the position between the new eyebrows, and an area determined by the position between the new eyebrows and the relative position between the two central points is the space between the eyebrows the relative position of the new eyes of relative position, further wherein the position of the glabella which an image pattern of a region defined by the position of the new eyebrows stored in the storage device as an image pattern of the new glabella, the relative position of both eyes the steps and of updating the image patterns between eyebrows respectively,
A program for tracking an eye position, further comprising the step of performing processing from the image acquisition step on an image further succeeding the succeeding image.
前記探索された点の位置に対し、前記両目の相対位置によって定められる位置の各々を中心とする近傍において、予め定められた形状の領域であって、かつ当該領域内の画素値の平均が最も暗くなる領域の中心を探索して両目の候補点とするステップを含む、請求項11〜請求項13のいずれかに記載のプログラム。The step of searching for the center point of each of the two regions is as follows:
An area having a predetermined shape in the vicinity of each of the positions determined by the relative positions of the eyes with respect to the position of the searched point, and the average of the pixel values in the area is the largest. The program according to any one of claims 11 to 13, comprising a step of searching for the center of a darkened area to be a candidate point for both eyes.
1)候補点間の距離があらかじめ定められた最小値以上であること、
2)候補点間の距離があらかじめ定められた最大値以下であること、および
3)候補点を結ぶ直線と走査線方向とのなす角度が、あらかじめ定められた関係を満足すること、
のすべての条件を満足するか否かを判定し、いずれかの条件が満足されない場合は探索を失敗とするステップを含む、請求項14に記載のプログラム。In the step of searching for the center point of each of the two regions, the candidate point searched in the step of searching for the center of the darkest region is
1) The distance between candidate points is not less than a predetermined minimum value,
2) the distance between candidate points is less than or equal to a predetermined maximum value; and 3) the angle formed by a straight line connecting the candidate points and the scanning line direction satisfies a predetermined relationship;
The program according to claim 14, further comprising a step of determining whether or not all of the conditions are satisfied and failing the search if any of the conditions is not satisfied.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001369076A JP3980341B2 (en) | 2001-12-03 | 2001-12-03 | Eye position tracking method, eye position tracking device and program therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001369076A JP3980341B2 (en) | 2001-12-03 | 2001-12-03 | Eye position tracking method, eye position tracking device and program therefor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003168106A JP2003168106A (en) | 2003-06-13 |
JP3980341B2 true JP3980341B2 (en) | 2007-09-26 |
Family
ID=19178543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001369076A Expired - Fee Related JP3980341B2 (en) | 2001-12-03 | 2001-12-03 | Eye position tracking method, eye position tracking device and program therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3980341B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7271733B2 (en) * | 2016-07-25 | 2023-05-11 | 株式会社トプコン | ophthalmic equipment |
JP2018015021A (en) * | 2016-07-25 | 2018-02-01 | 株式会社トプコン | Ophthalmologic apparatus |
CN112489082A (en) * | 2020-12-03 | 2021-03-12 | 海宁奕斯伟集成电路设计有限公司 | Position detection method, position detection device, electronic equipment and readable storage medium |
-
2001
- 2001-12-03 JP JP2001369076A patent/JP3980341B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003168106A (en) | 2003-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10282610B2 (en) | Tile image based scanning for head position for eye and gaze tracking | |
US10318831B2 (en) | Method and system for monitoring the status of the driver of a vehicle | |
US10692210B2 (en) | Recording medium storing computer program for pupil detection, information processing apparatus, and pupil detecting method | |
Xiong et al. | Eye gaze tracking using an RGBD camera: a comparison with a RGB solution | |
JP4830650B2 (en) | Tracking device | |
US7987079B2 (en) | Tracking a surface in a 3-dimensional scene using natural visual features of the surface | |
WO2017133605A1 (en) | Method and device for facial tracking and smart terminal | |
US20190191098A1 (en) | Object tracking apparatus, object tracking method, and non-transitory computer-readable storage medium for storing program | |
US10311583B2 (en) | Eye motion detection method, program, program storage medium, and eye motion detection device | |
KR102092931B1 (en) | Method for eye-tracking and user terminal for executing the same | |
JP5776323B2 (en) | Corneal reflection determination program, corneal reflection determination device, and corneal reflection determination method | |
JP5001930B2 (en) | Motion recognition apparatus and method | |
JP2008146356A (en) | Visual line direction predicting device and visual line direction predicting method | |
JP2014048962A (en) | Image processor, image processing method and program | |
JP2008009849A (en) | Person tracking device | |
US20230133579A1 (en) | Visual attention tracking using gaze and visual content analysis | |
JP2018205819A (en) | Gazing position detection computer program, gazing position detection device, and gazing position detection method | |
JP6870474B2 (en) | Gaze detection computer program, gaze detection device and gaze detection method | |
JP5253227B2 (en) | Image input device, subject detection method, and program | |
Cao et al. | Gaze tracking on any surface with your phone | |
JP2002366958A (en) | Method and device for recognizing image | |
JP3980341B2 (en) | Eye position tracking method, eye position tracking device and program therefor | |
US20230388641A1 (en) | Image capture control device, image capture device, image capture control method, and non-transitory computer-readable storage medium | |
JP3980464B2 (en) | Method for extracting nose position, program for causing computer to execute method for extracting nose position, and nose position extracting apparatus | |
JP3936575B2 (en) | Eye position extraction method, apparatus, and program therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070320 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070514 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070619 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070627 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3980341 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100706 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110706 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110706 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120706 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120706 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130706 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |