(57)【特許請求の範囲】
【請求項１】
被験者の顔のビデオ画像を撮像する撮像手段が接続され、演算処理を実行する処理手段を備えるコンピュータにおいて、前記撮像手段の出力する画像から前記被験者の目の位置を前記処理手段が抽出するための方法であって、
前記撮像手段の出力する二つの画像の差分画像を算出するステップと、
前記差分画像と、前記二つの画像とに基づいて、前記差分画像のうち、前記二つの画像の間における被験者の移動に起因する差分領域をキャンセルして、残りの差分領域を抽出するステップと、
抽出された前記残りの差分領域から予め定められた条件にしたがって目の候補点を二つ選択するステップと、
選択された二つの前記目の候補点が、予め定められた条件を満足するか否かを判定し、前記予め定められた条件が満足される場合に、前記選択された二つの前記目の候補点を目の位置として抽出するステップとを含み、
前記残りの差分領域を抽出するステップは、
前記二つの画像の各々について、前記差分画像中の差分領域に対応する領域を抽出するステップと、
前記二つの画像の各々について、前記対応する領域を他方の画像の前記対応する領域に重ね合わせるように平行移動したときに、互いに一致する画素の合計が最も多くなるような、絶対値が等しく向きが互いに反対となる移動量を算出するステップと、
前記移動量にしたがって前記二つの画像を移動し重ね合わせたときに互いに一致する領域に対応する差分領域を前記差分画像から削除するステップとを含む、目の位置の抽出方法。
【請求項２】
前記差分画像を算出するステップの後、前記差分画像の差分領域のうち、水平走査線方向における部分の左右両端の画素を所定数だけ削除するステップをさらに含む、請求項１に記載の方法。
【請求項３】
被験者の顔のビデオ画像を撮像する撮像手段が接続され、演算処理を実行する処理手段を備えるコンピュータにおいて、前記撮像手段の出力する画像から前記被験者の目の位置を前記処理手段が抽出するための方法であって、
前記撮像手段の出力する二つの画像の差分画像を算出するステップと、
前記差分画像と、前記二つの画像とに基づいて、前記差分画像のうち、前記二つの画像の間における被験者の移動に起因する差分領域をキャンセルして、残りの差分領域を抽出するステップと、
抽出された前記残りの差分領域から予め定められた条件にしたがって目の候補点を二つ選択するステップと、
選択された二つの前記目の候補点が、予め定められた条件を満足するか否かを判定し、前記予め定められた条件が満足される場合に、前記選択された二つの前記目の候補点を目の位置として抽出するステップと、
前記差分画像を算出するステップの後、前記差分画像の差分領域のうち、水平走査線方向における部分の左右両端の画素を所定数だけ削除するステップとを含む、目の位置の抽出方法。
【請求項４】
被験者の顔のビデオ画像を撮像する撮像手段が接続され、演算処理を実行する処理手段を備えるコンピュータにおいて、前記撮像手段の出力する画像から前記被験者の目の位置を前記処理手段が抽出するための方法であって、
前記撮像手段の出力する二つの画像の差分画像を算出するステップと、
前記差分画像と、前記二つの画像とに基づいて、前記差分画像のうち、前記二つの画像の間における被験者の移動に起因する差分領域をキャンセルして、残りの差分領域を抽出するステップと、
抽出された前記残りの差分領域から予め定められた条件にしたがって目の候補点を二つ選択するステップと、
選択された二つの前記目の候補点が、予め定められた条件を満足するか否かを判定し、前記予め定められた条件が満足される場合に、前記選択された二つの前記目の候補点を目の位置として抽出するステップとを含み、
前記目の候補点を二つ選択するステップは、
抽出された前記残りの差分領域の中心点を含む所定の大きさの領域について、前記二つの画像の差分画像の絶対値の総和を計算するステップと、
計算された前記総和の大きなものから順に二つの前記残りの差分領域の中心点を目の候補点として選択するステップとを含む、目の位置の抽出方法。
【請求項５】
前記抽出するステップにおける前記予め定められた条件は、
１）前記総和を計算するステップで求めた総和が、二つの候補点のいずれにおいても所定の第１のしきい値以上であること、
２）候補点間の距離があらかじめ定められた最小値以上であること、
３）候補点間の距離があらかじめ定められた最大値以下であること、および
４）候補点を結ぶ直線と走査線方向とのなす角度が、あらかじめ定められたしきい値角度以下であること、
のすべての条件を満足することである、請求項４に記載の方法。
【請求項６】
被験者の顔のビデオ画像を撮像する撮像手段が接続され、演算処理を実行する処理手段を備えるコンピュータにおいて、前記撮像手段の出力する画像から前記被験者の目の位置を前記処理手段が抽出するための方法であって、
前記撮像手段の出力する二つの画像の差分画像を算出するステップと、
前記差分画像と、前記二つの画像とに基づいて、前記差分画像のうち、前記二つの画像の間における被験者の移動に起因する差分領域をキャンセルして、残りの差分領域を抽出するステップと、
抽出された前記残りの差分領域から予め定められた条件にしたがって目の候補点を二つ選択するステップと、
選択された二つの前記目の候補点が、予め定められた条件を満足するか否かを判定し、前記予め定められた条件が満足される場合に、前記選択された二つの前記目の候補点を目の位置として抽出するステップと、
前記目の位置として抽出するステップで抽出された二つの前記目の候補点の中点を中心とする濃淡パターンが、前記中点をとおり前記二つの前記目の候補点を結ぶ線分に垂直な直線に関して対称であるか否かを判定し、対称である場合のみ有効な目の位置とするステップとを含む、目の位置の抽出方法。
【請求項７】
被験者の顔のビデオ画像を撮像する撮像手段が接続されるコンピュータにおいて、前記撮像手段の出力する画像から前記被験者の目の位置を抽出するための装置であって、
前記撮像手段の出力する二つの画像の差分画像を算出するための手段と、
前記差分画像と、前記二つの画像とに基づいて、前記差分画像のうち、前記二つの画像の間における被験者の移動に起因する差分領域をキャンセルして、残りの差分領域を抽出するための手段と、
抽出された前記残りの差分領域から予め定められた条件にしたがって目の候補点を二つ選択するための手段と、
選択された二つの前記目の候補点が、予め定められた条件を満足するか否かを判定し、前記予め定められた条件が満足される場合に、前記選択された二つの前記目の候補点を目の位置として抽出するための手段とを含み、
前記残りの差分領域を抽出するための手段は、
前記二つの画像の各々について、前記差分画像中の差分領域に対応する領域を抽出するための手段と、
前記二つの画像の各々について、前記対応する領域を他方の画像の前記対応する領域に重ね合わせるように平行移動したときに、互いに一致する画素の合計が最も多くなるような、絶対値が等しく向きが互いに反対となる移動量を算出するための手段と、
前記移動量にしたがって前記二つの画像を移動し重ね合わせたときに互いに一致する領域に対応する差分領域を前記差分画像から削除するための手段とを含む、目の位置の抽出装置。
【請求項８】
前記差分画像を算出するための手段の出力を受け、前記差分画像の差分領域のうち、水平走査線方向における部分の左右両端の画素を所定数だけ削除して前記残りの差分領域を抽出するための手段に与えるための手段をさらに含む、請求項７に記載の装置。
【請求項９】
被験者の顔のビデオ画像を撮像する撮像手段が接続されるコンピュータにおいて、前記撮像手段の出力する画像から前記被験者の目の位置を抽出するための装置であって、
前記撮像手段の出力する二つの画像の差分画像を算出するための手段と、
前記差分画像と、前記二つの画像とに基づいて、前記差分画像のうち、前記二つの画像の間における被験者の移動に起因する差分領域をキャンセルして、残りの差分領域を抽出するための手段と、
抽出された前記残りの差分領域から予め定められた条件にしたがって目の候補点を二つ選択するための手段と、
選択された二つの前記目の候補点が、予め定められた条件を満足するか否かを判定し、前記予め定められた条件が満足される場合に、前記選択された二つの前記目の候補点を目の位置として抽出するための手段と、
前記差分画像を算出するための手段の出力を受け、前記差分画像の差分領域のうち、水平走査線方向における部分の左右両端の画素を所定数だけ削除して前記残りの差分領域を抽出するための手段に与えるための手段とを含む、目の位置の抽出装置。
【請求項１０】
被験者の顔のビデオ画像を撮像する撮像手段が接続されるコンピュータにおいて、前記撮像手段の出力する画像から前記被験者の目の位置を抽出するための装置であって、
前記撮像手段の出力する二つの画像の差分画像を算出するための手段と、
前記差分画像と、前記二つの画像とに基づいて、前記差分画像のうち、前記二つの画像の間における被験者の移動に起因する差分領域をキャンセルして、残りの差分領域を抽出するための手段と、
抽出された前記残りの差分領域から予め定められた条件にしたがって目の候補点を二つ選択するための手段と、
選択された二つの前記目の候補点が、予め定められた条件を満足するか否かを判定し、前記予め定められた条件が満足される場合に、前記選択された二つの前記目の候補点を目の位置として抽出するための手段とを含み、
前記目の候補点を二つ選択するための手段は、
抽出された前記残りの差分領域の中心点を含む所定の大きさの領域について、前記二つの画像の差分画像の絶対値の総和を計算するための手段と、
計算された前記総和の大きなものから順に二つの前記残りの差分領域の中心点を目の候補点として選択するための手段とを含む、目の位置の抽出装置。
【請求項１１】
前記二つの前記目の候補点を目の位置として抽出するための手段における前記予め定められた条件は、
１）前記総和を計算するための手段で求めた総和が、二つの候補点のいずれにおいても所定の第１のしきい値以上であること、
２）候補点間の距離があらかじめ定められた最小値以上であること、
３）候補点間の距離があらかじめ定められた最大値以下であること、
および４）候補点を結ぶ直線と走査線方向とのなす角度が、あらかじめ定められたしきい値角度以下であること、
のすべての条件を満足することである、請求項１０に記載の装置。
【請求項１２】
被験者の顔のビデオ画像を撮像する撮像手段が接続されるコンピュータにおいて、前記撮像手段の出力する画像から前記被験者の目の位置を抽出するための装置であって、
前記撮像手段の出力する二つの画像の差分画像を算出するための手段と、
前記差分画像と、前記二つの画像とに基づいて、前記差分画像のうち、前記二つの画像の間における被験者の移動に起因する差分領域をキャンセルして、残りの差分領域を抽出するための手段と、
抽出された前記残りの差分領域から予め定められた条件にしたがって目の候補点を二つ選択するための手段と、
選択された二つの前記目の候補点が、予め定められた条件を満足するか否かを判定し、前記予め定められた条件が満足される場合に、前記選択された二つの前記目の候補点を目の位置として抽出するための手段と、
前記目の位置として抽出するための手段で抽出された二つの前記目の候補点の中点を中心とする濃淡パターンが、前記中点をとおり前記二つの前記目の候補点を結ぶ線分に垂直な直線に関して対称であるか否かを判定し、対称である場合のみ有効な目の位置とするための手段を含む、目の位置の抽出装置。
【請求項１３】
被験者の顔のビデオ画像を撮像する撮像手段が接続され、演算処理を実行する処理手段を備えるコンピュータを用いて、前記撮像手段の出力する画像から前記被験者の目の位置を抽出するための方法を実現するための、コンピュータで実行可能なプログラムであって、前記プログラムは前記処理手段に、
前記撮像手段の出力する二つの画像の差分画像を算出するステップと、
前記差分画像と、前記二つの画像とに基づいて、前記差分画像のうち、前記二つの画像の間における被験者の移動に起因する差分領域をキャンセルして、残りの差分領域を抽出するステップと、
抽出された前記残りの差分領域から予め定められた条件にしたがって目の候補点を二つ選択するステップと、
選択された二つの前記目の候補点が、予め定められた条件を満足するか否かを判定し、前記予め定められた条件が満足される場合に、前記選択された二つの前記目の候補点を目
の位置として抽出するステップとを実行させ、
前記残りの差分領域を抽出するステップは、
前記二つの画像の各々について、前記差分画像中の差分領域に対応する領域を抽出するステップと、
前記二つの画像の各々について、前記対応する領域を他方の画像の前記対応する領域に重ね合わせるように平行移動したときに、互いに一致する画素の合計が最も多くなるような、絶対値が等しく向きが互いに反対となる移動量を算出するステップと、
前記移動量にしたがって前記二つの画像を移動し重ね合わせたときに互いに一致する領域に対応する差分領域を前記差分画像から削除するステップとを含む、プログラム。
【請求項１４】
前記差分画像を算出するステップの後、前記差分画像の差分領域のうち、水平走査線方向における部分の左右両端の画素を所定数だけ削除するステップをさらに含む、請求項１３に記載のプログラム。
【請求項１５】
被験者の顔のビデオ画像を撮像する撮像手段が接続され、演算処理を実行する処理手段を備えるコンピュータを用いて、前記撮像手段の出力する画像から前記被験者の目の位置を抽出するための方法を実現するための、コンピュータで実行可能なプログラムであって、前記プログラムは前記処理手段に、
前記撮像手段の出力する二つの画像の差分画像を算出するステップと、
前記差分画像と、前記二つの画像とに基づいて、前記差分画像のうち、前記二つの画像の間における被験者の移動に起因する差分領域をキャンセルして、残りの差分領域を抽出するステップと、
抽出された前記残りの差分領域から予め定められた条件にしたがって目の候補点を二つ選択するステップと、
選択された二つの前記目の候補点が、予め定められた条件を満足するか否かを判定し、前記予め定められた条件が満足される場合に、前記選択された二つの前記目の候補点を目の位置として抽出するステップと、
前記差分画像を算出するステップの後、前記差分画像の差分領域のうち、水平走査線方向における部分の左右両端の画素を所定数だけ削除するステップとを実行させる、目の位置の抽出方法を実現するためのプログラム。
【請求項１６】
被験者の顔のビデオ画像を撮像する撮像手段が接続され、演算処理を実行する処理手段を備えるコンピュータを用いて、前記撮像手段の出力する画像から前記被験者の目の位置を抽出するための方法を実現するための、コンピュータで実行可能なプログラムであって、前記プログラムは前記処理手段に、
前記撮像手段の出力する二つの画像の差分画像を算出するステップと、
前記差分画像と、前記二つの画像とに基づいて、前記差分画像のうち、前記二つの画像の間における被験者の移動に起因する差分領域をキャンセルして、残りの差分領域を抽出するステップと、
抽出された前記残りの差分領域から予め定められた条件にしたがって目の候補点を二つ選択するステップと、
選択された二つの前記目の候補点が、予め定められた条件を満足するか否かを判定し、前記予め定められた条件が満足される場合に、前記選択された二つの前記目の候補点を目
の位置として抽出するステップとを実行させ、
前記目の候補点を二つ選択するステップは、
抽出された前記残りの差分領域の中心点を含む所定の大きさの領域について、前記二つの画像の差分画像の絶対値の総和を計算するステップと、
計算された前記総和の大きなものから順に二つの前記残りの差分領域の中心点を目の候補点として選択するステップとを含む、目の位置の抽出方法を実現するためのプログラム。
【請求項１７】
前記抽出するステップにおける前記予め定められた条件は、
１）前記総和を計算するステップで求めた総和が、二つの候補点のいずれにおいても所定の第１のしきい値以上であること、
２）候補点間の距離があらかじめ定められた最小値以上であること、
３）候補点間の距離があらかじめ定められた最大値以下であること、および
４）候補点を結ぶ直線と走査線方向とのなす角度が、あらかじめ定められたしきい値角度以下であること、
のすべての条件を満足することである、請求項１６に記載のプログラム。
【請求項１８】
被験者の顔のビデオ画像を撮像する撮像手段が接続され、演算処理を実行する処理手段を備えるコンピュータを用いて、前記撮像手段の出力する画像から前記被験者の目の位置を抽出するための方法を実現するための、コンピュータで実行可能なプログラムであって、前記プログラムは前記処理手段に、
前記撮像手段の出力する二つの画像の差分画像を算出するステップと、
前記差分画像と、前記二つの画像とに基づいて、前記差分画像のうち、前記二つの画像の間における被験者の移動に起因する差分領域をキャンセルして、残りの差分領域を抽出するステップと、
抽出された前記残りの差分領域から予め定められた条件にしたがって目の候補点を二つ選択するステップと、
選択された二つの前記目の候補点が、予め定められた条件を満足するか否かを判定し、前記予め定められた条件が満足される場合に、前記選択された二つの前記目の候補点を目
の位置として抽出するステップと、
前記目の位置として抽出するステップで抽出された二つの前記目の候補点の中点を中心とする濃淡パターンが、前記中点をとおり前記二つの前記目の候補点を結ぶ線分に垂直な直線に関して対称であるか否かを判定し、対称である場合のみ有効な目の位置とするステップとを実行させる、目の位置の抽出方法を実現するためのプログラム。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
この発明はマン・マシンインタフェース技術に関し、特に、人の視線によってコンピュータなどを操作する際に、人の視線方向を誤りなく検出する目的のために、人の目の位置を抽出する方法および装置に関する。
【０００２】
【従来の技術】
近年のコンピュータ技術の発達により、人々の生活の隅々にまでコンピュータを用いた装置が用いられている。コンピュータを操作する技術なしには、満足な社会生活も営めなくなるおそれさえある。
【０００３】
一方で、コンピュータを操作するためには人の意思をコンピュータに伝える必要がある。いかに効率よく、誤りなく、そして簡単に人の意思をコンピュータに伝えるかについては、さまざまな研究がなされ、実用化されている。そうした技術は一般にマン・マシンインタフェースと呼ばれている。
【０００４】
コンピュータを操作するためだけであれば、テキストベースでコンピュータを操作するためのコマンドをたとえばキーボードなどを介してコンピュータに与えればよい。しかし、それでは人間がそれら多数のコマンドを、そのコマンドの構文および必要なパラメータとともに記憶する必要がある。そこで、一般にＧＵＩ（Graphical User Interface）と呼ばれるものが考案され、現在では主流を占めている。
【０００５】
ＧＵＩでは、一般的にはマウスなどのポインティングデバイスを用いて、画面に表示されるアイコンなどをポイントし、クリック、ダブルクリック、ドラッグなどの所定の操作を行なうことにより人間の意思をコンピュータに与えることができる。そのため、多数のコマンドを覚える必要がなく、誤りも生じにくいという特徴がある。
【０００６】
一方で、ＧＵＩではポインティングデバイスを操作する必要がある。そのため、たとえば手の動作に障害がある人などは、ＧＵＩを採用したコンピュータであっても操作が困難である。また応用によっては手を自由に利用できない場合もあり、マウスなどのポインティングデバイスを用いることが困難であったりする場合がある。
【０００７】
そこで、人間の視線を用いて人間の意思をコンピュータに伝達する技術が種々考えられている。人間が意識的に視線を操作することにより、その視線をポインティングデバイスとして用いて、人間のその意思をコンピュータに与えることができる。また、人間が無意識のうちに視線を移動させた場合、その視線の移動をコンピュータが検出することにより、人間の意思を推定することもできる。
【０００８】
そのための前提となる技術は、人間の眼球を撮像して視線方向を推定する装置である。そのためには一般的にアイカメラが用いられる。アイカメラを用いて人間の視線方向を推定することにより、その人間の意思を推定してコンピュータの操作に役立てることができる。
【０００９】
【発明が解決しようとする課題】
アイカメラを用いて視線方向を推定する場合、推定精度を上げるために高解像度で眼球を撮像する必要がある。ところが、そのためにアイカメラでは撮像範囲が狭くなる。また被写界深度も浅い。その結果、アイカメラを用いた場合には、ユーザは顔を前後左右のいずれにも動かさないよう、ほとんど固定していなければならない。そのため、アイカメラを単独で用いた場合にはその利用形態は非常に限定されてしまう。また、特定の個人だけにしか利用できないようなシステムではなく、見知らぬ顔でも目を検出しトラッキングすることができるようにすることが望ましい。
【００１０】
こうしたアイカメラの使用に伴う問題点を解決するために、本願発明者は、まず広視野のカメラを使用して利用者の目の位置を検出し、その情報を用いてアイカメラのパン、チルト、フォーカスを制御することが有効であることに想到した。つまり、何らかの方法により人間の目の位置を発見し、トラッキングして、逐次その方向と距離とをアイカメラの制御装置に出力するサブシステムを採用することで、アイカメラによる視線方向の検出の精度を高める方法である。
【００１１】
通常、利用者はコンピュータを利用する際には、アイカメラから５０〜１００ｃｍ程度の距離におり、椅子に座っているものと考えられる。したがって、上記したような目の位置を検出し、その情報を用いてアイカメラを制御することにより、アイカメラによる視線方向検出の精度は非常に高くなると考えられる。
【００１２】
想定している状況では、顔の動く範囲がかなり限定されている。そのため、顔が画面の高さいっぱいになる程度に大きく撮像することができる。そこで本願発明の発明者は、このように大きく撮像された顔画像の中の、目蓋の動きを検出することにより、両目の位置を検出することができることに思い至った。人間は無意識のうちに瞬きをしており、自然の瞬きを待つことにより、利用者に意識させずにその目の位置を検出することができる。特に、アイカメラを使用する状況では、利用者の協力を得ることも可能である。
【００１３】
瞬きを利用した目の位置の抽出としては、すでに幾つかの例がある。共通しているのは、上目蓋が下がっているときと上がっているときとの画像の差、つまりフレーム間差分画像を利用することである。
【００１４】
そうした例の一つが、特開平１０−１５４２２０号公報に開示されている。この発明にかかる「画面上の注視点検出システム」では、赤外照明を当てた顔画像で、あるしきい値以上の明るさを示す部分は目の候補点であるとされる。これは、角膜における光源の反射像が明るいことを利用している。そして、それら候補点のうちで時々暗くなるペアは、瞬きによって暗くなると考えられるので目である、という論理が開示されている。
【００１５】
しかし、特開平１０−１５４２２０号公報に記載の方法には以下のような問題がある。すなわち、角膜の表面は球面である。したがってそこに写り込んだ光源像は小さな点にしかならない。それを検出するためには、もともとかなり高い解像度で目付近を撮像する必要があり、結局アイカメラの場合と同様な問題が生じると考えられる。
【００１６】
また他の例が、特開平１１−２８６２２７号公報に開示されている。「車両運転者監視装置」と称するこの発明では、まずフレーム間差分を利用して運転中の運転者の顔領域を抽出し、抽出された顔パターンをフレーム間で位置合わせしてから顔領域の差分を計算する。こうして抽出された明度差の大きい領域の面積、形状などの条件から、瞬きによって生じた変化部分を決定し、目の領域が抽出される。
【００１７】
この特開平１１−２８６２２７号公報に開示された方法では、フレーム間差分から顔画像を正確に切出すことが難しいという問題がある。さらに、顔の動きが平行移動とは限らないので、フレーム間での位置合わせで合わせきれない部分が生じる。それを目蓋のような相対的に小さな面積部分の変化と区別して、信頼性高く目の位置を抽出することは非常に困難であると考えられる。
【００１８】
すなわち、これまでは瞬きの検出時に顔を停止させている必要があるという問題点があった。
【００１９】
それゆえに、この発明の目的は、一般的な顔画像から目の位置を精度高く検出することが可能で、利用者を不当に拘束することがなく、かつ、ロバスト性の高い目の位置の抽出方法、装置およびそのためのプログラムを提供することである。
【００２０】
【課題を解決するための手段】
本願の第１の局面にかかる発明は、被験者の顔のビデオ画像を撮像する撮像手段が接続されるコンピュータにおいて、撮像手段の出力する画像から被験者の目の位置を抽出する目の位置の抽出方法およびそのためのコンピュータで実行可能なプログラムであって、撮像手段の出力する二つの画像の差分画像を算出するステップと、差分画像と、二つの画像とに基づいて、差分画像のうち、二つの画像の間における被験者の移動に起因する差分領域をキャンセルして、残りの差分領域を抽出するステップと、抽出された残りの差分領域から予め定められた条件にしたがって目の候補点を二つ選択するステップと、選択された二つの目の候補点が、予め定められた条件を満足するか否かを判定し、予め定められた条件が満足される場合に、選択された二つの目の候補点を目の位置として抽出するステップとを含む。
【００２１】
好ましくは、残りの差分領域を抽出するステップは、二つの画像の各々について、差分画像中の差分領域に対応する領域を抽出するステップと、二つの画像の各々について、対応する領域を他方の画像の対応する領域に重ね合わせるように平行移動したときに、互いに一致する画素の合計が最も多くなるような、絶対値が等しく向きが互いに反対となる移動量を算出するステップと、移動量にしたがって二つの画像を移動し重ね合わせたときに互いに一致する領域に対応する差分領域を差分画像から削除するステップとを含む。
【００２２】
さらに好ましくは、この方法は、差分画像を算出するステップの後、差分画像の差分領域のうち、水平走査線方向における部分の左右両端の画素を所定数だけ削除するステップをさらに含む。
【００２３】
さらに好ましくは、目の候補点を二つ選択するステップは、抽出された残りの差分領域の中心点を含む所定の大きさの領域について、二つの画像の差分画像の絶対値の総和を計算するステップと、計算された総和の大きなものから順に二つの残りの差分領域の中心点を目の候補点として選択するステップとを含む。
【００２４】
好ましくは、抽出するステップにおける予め定められた条件は、
１）総和を計算するステップで求めた総和が、二つの候補点のいずれにおいても所定の第１のしきい値以上であること、
２）候補点間の距離があらかじめ定められた最小値以上であること、
３）候補点間の距離があらかじめ定められた最大値以下であること、および
４）候補点を結ぶ直線と走査線方向とのなす角度が、あらかじめ定められたしきい値角度以下であること、
のすべての条件を満足することである。
【００２５】
好ましくは、この方法はさらに、目の位置として抽出するステップで抽出された二つの目の候補点の中点を中心とする濃淡パターンが、中点をとおり二つの目の候補点を結ぶ線分に垂直な直線に関して対称であるか否かを判定し、対称である場合のみ有効な目の位置とするステップを含む。
【００２６】
本願の他の局面にかかる目の位置の抽出装置は、被験者の顔のビデオ画像を撮像する撮像手段が接続されるコンピュータにおいて、撮像手段の出力する画像から被験者の目の位置を抽出するための装置であって、撮像手段の出力する二つの画像の差分画像を算出するための手段と、差分画像と、二つの画像とに基づいて、差分画像のうち、二つの画像の間における被験者の移動に起因する差分領域をキャンセルして、残りの差分領域を抽出するための手段と、抽出された残りの差分領域から予め定められた条件にしたがって目の候補点を二つ選択するための手段と、選択された二つの目の候補点が、予め定められた条件を満足するか否かを判定し、予め定められた条件が満足される場合に、選択された二つの目の候補点を目の位置として抽出するための手段とを含む。
【００２７】
好ましくは、残りの差分領域を抽出するための手段は、二つの画像の各々について、差分画像中の差分領域に対応する領域を抽出するための手段と、二つの画像の各々について、対応する領域を他方の画像の対応する領域に重ね合わせるように平行移動したときに、互いに一致する画素の合計が最も多くなるような、絶対値が等しく向きが互いに反対となる移動量を算出するための手段と、移動量にしたがって二つの画像を移動し重ね合わせたときに互いに一致する領域に対応する差分領域を差分画像から削除するための手段とを含む。
【００２８】
さらに好ましくは、この装置は、差分画像を算出するための手段の出力を受け、差分画像の差分領域のうち、水平走査線方向における部分の左右両端の画素を所定数だけ削除して残りの差分領域を抽出するための手段に与えるための手段をさらに含む。
【００２９】
目の候補点を二つ選択するための手段は、抽出された残りの差分領域の中心点を含む所定の大きさの領域について、二つの画像の差分画像の絶対値の総和を計算するための手段と、計算された総和の大きなものから順に二つの残りの差分領域の中心点を目の候補点として選択するための手段とを含んでもよい。
【００３０】
また、二つの目の候補点を目の位置として抽出するための手段における予め定められた条件は、
１）総和を計算するための手段で求めた総和が、二つの候補点のいずれにおいても所定の第１のしきい値以上であること、
２）候補点間の距離があらかじめ定められた最小値以上であること、
３）候補点間の距離があらかじめ定められた最大値以下であること、および
４）候補点を結ぶ直線と走査線方向とのなす角度が、あらかじめ定められたしきい値角度以下であること、
のすべての条件を満足することであってもよい。
【００３１】
好ましくは、この装置はさらに、目の位置として抽出するための手段で抽出された二つの目の候補点の中点を中心とする濃淡パターンが、中点をとおり二つの目の候補点を結ぶ線分に垂直な直線に関して対称であるか否かを判定し、対称である場合のみ有効な目の位置とするための手段を含む。
【００３２】
【発明の実施の形態】
［ハードウェア構成］
図１に、本願発明にかかる目の位置の抽出方法および装置を実現するコンピュータシステム２０の外観を示す。なお、コンピュータシステム２０は利用者の目の位置の検出およびトラッキングを行ない、図示していないコンピュータがコンピュータシステム２０から与えられる利用者の顔までの距離および目の方向の情報を用いてアイカメラを制御する。なお、本明細書において「被験者」とは、このシステムが目の位置を検出しトラッキングする利用者のことをいい、人間だけでなく動物など「目」に相当するものを有しているものすべてを含み得るものとする。
【００３３】
図１を参照して、このコンピュータシステム２０は、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）のためのＣＤ−ＲＯＭドライブ５０と、フレキシブルディスク（ＦＤ）のためのＦＤドライブ５２とを備えたコンピュータ４０と、コンピュータ４０に接続された第１のポインティングデバイスであるマウス４８と、キーボード４６と、モニタ４２と、モニタ４２とキーボード４６との間に配置されたステレオビデオカメラ５６，５８と、前述した別のコンピュータにより制御されるアイカメラ５４とを含む。
【００３４】
図２に、コンピュータ４０の内部構成をコンピュータシステム２０の他の構成要素とともに図示する。図２を参照して、コンピュータ４０は、ＣＰＵ（Central Processing Unit）７０と、ＣＰＵ７０に接続されたメモリ７２と、ＣＰＵ７０に接続されたハードディスク７４とを含む。ＣＰＵ７０は、図示されないネットワークボードを介してネットワーク８０に接続され、このネットワーク８０には、アイカメラ５４を制御する前述したパーソナルコンピュータ８２が接続されている。コンピュータ８２の構成はコンピュータ４０と同様であるので、ここではその詳細は説明しない。
【００３５】
以下に詳細に説明する、本発明にかかる目の位置の抽出方法および装置は、図１および図２を参照して説明したコンピュータハードウェアと、ＣＰＵ７０によって実行されるソフトウェアとにより実現される。このソフトウェアは、ＣＤ−ＲＯＭなどの記憶媒体に記憶されたり、ネットワークを介したりして市場を流通するものである。このソフトウェアがこのコンピュータ４０にインストールされると、典型的にはソフトウェアはハードディスク７４に格納される。そして、利用者がこのソフトウェアを起動すると、またはコンピュータ４０のオペレーティングシステム（ＯＳ）により起動されると、ハードディスク７４からメモリ７２に読み出され、ＣＰＵ７０によって実行される。
【００３６】
なお、このソフトウェアが、もともとコンピュータ４０のＯＳの一部として組み込まれている機能を利用したり、またはＯＳとは別にインストールされた別のソフトウェアの一部の機能を利用することもあり得る。したがって、本発明を実現するためのソフトウェアとして流通するのは、そうした一部の機能を欠いたものであってもよく、実行時にそうした機能が他のソフトウェアによって実現されることを考慮した構成となっていればよい。もちろん、必要な機能がすべてあらかじめ組み込まれたシステムソフトウェアとして流通してもよい。
【００３７】
［原理］
本発明において、目の位置を検出するための方法の基本は、フレーム画像の差分に基づき、特に瞬きによる明度の差に着目したものである。フレーム間差分から瞬きを検出しようとするとき、顔が動いていると、動いた瞬き部分以外にも明度変化の大きな画素が多くの部分で生じる。そのために、目蓋の動きによる明度変化と、顔全体の動きによる明度変化とを区別する必要がある。なお、口形状の変化や眉の動きなどによっても問題が生じる可能性があるが、それらの明度変化は、目候補点を抽出した後、条件検定によって棄却する。
【００３８】
顔全体の動きは、画像平面内の平行移動、画像平面内の回転（首をかしげる）、画像平面外の回転（振り向く、頷く）に分けて考えることができる。フレームレートは十分に速くて、フレーム間での動きは小さいものとする。以下、これらについて順にそれらの動きをキャンセルする方法について説明する。
【００３９】
顔が画像平面内で平行移動したときの動きをキャンセルする方法は以下のとおりである。図３（Ａ）に示される、画像ｆt-1に写っている色の付いた円板９０が、右方向に距離ｄだけ移動して、次のフレームで図３（Ｂ）に示される画像ｆtのようになった場合を考える。円板には白い小円マークが付いている。背景は一様でなくともよいが、図示はしていない。
【００４０】
図３（Ａ）および図３（Ｂ）の画像の差分画像をとると図４に示したとおりの画像となる。図４において、斜線で示した領域が画素値の差が大きく現れた部分であり、白い領域は画素値の差が小さい領域である。図４に示される差分画像Ｄの中で、画素値の差が大きく現れた画素位置を、図３（Ａ）または（Ｂ）に示す元の画像に立ち返って考えてみると、これら画素位置はさらに図５の上段の左右に示された領域ＦおよびＢに分類できる。領域ＦのＦはForeground、すなわち円板上の点であり、領域ＢのＢはBackground、すなわち背景に対応する。領域Ｂは一方の画像で見えていて、他方の画像では見えていない部分である。領域Ｆは両方の画像で見えていて、互いに対応する画素がある部分である。ただし、実際の画像では、移動物体がどの部分であるかは不明なので、どこが領域Ｆでどこが領域Ｂかは区別できない。
【００４１】
ここで、図５の上段右に示されている画像ｆt上の、領域ＦとＢとに相当する画素を−ｄだけシフトして画像ｆt-1に重ねてみる。すると、図５の下段左に示されているように、画素値が一致する領域Ｍの部分と、一致するともしないともいえない領域Ｕの部分とがあることがわかる。同様に画像ｆt-1上の領域ＦとＢとに相当する画素を＋ｄだけシフトして画像ｆtに重ねてみると、領域ＭとＵとは図５の下段右に示したようになる。なお、ここでいう移動量±ｄは二次元ベクトル量である。
【００４２】
ここで、シフト量が実際のシフト量±ｄとは異なるシフト量±ｄ’であるとすると、領域Ｍに属する画素数は、実際のシフト量±ｄを用いた場合よりも少なくなると考えられる。そこで、領域Ｍの画素数が最大となるシフト量を探索すれば、それがフレーム間での円板９０の移動量ｄであるといえる。領域Ｍの画素数の計数にあたっては、画像ｆt-1の画素のシフト量をｄとすれば画像ｆtのシフト量が−ｄとなるように、両者が常に逆方向で同じ大きさでなければならない。
【００４３】
このように、フレーム間の差分画像で抽出された画素のうち、領域Ｍに属する画素数が最大となるシフト量±ｄを見出して画像をシフトさせて重ね合わせ、なおかついずれでも画素値が一致しない画素を抽出すると、それは移動量ｄでの平行移動以外の動きをした部分であると言える。顔全体の移動量をｄとすれば、ｄ以外の動きをした部分は、瞬き、口形状の変化などに由来する部分である。したがってフレーム間差分画像から顔全体の動きをキャンセルすることにより、瞬きで動く部分、すなわち目位置を抽出することができる。
【００４４】
次に振り向く動きについて考える。図６を参照して、カメラ５６、５８を向いている顔が左に振り向こうとしている場合を考える。この場合、顔の右端（図６における左端）からは隠れていた部分が出現し、顔の左端（図６における右端）では、見えていた部分がセルフオクルージョンで隠れる。このような部分は、フレーム間差分を計算する２枚の画像の一方では隠れているので、平行移動のときとは異なりシフトして画素値の一致を見ることは意味がない。
【００４５】
しかしこのような部分は、移動領域の周辺部にしか現れない。したがって、フレーム間差分画像（図４）を計算した後、斜線を引いた領域の左右から一定数の画素をそれぞれ削り去ることで、その影響を除去することができる。他方、顔の中心部は、振り向く動作の場合でも平行移動とみなせるので、平行移動に関する前述の手法（二枚の画像を±ｄだけ移動して一致する画素を見る手法）を適用することができる。
【００４６】
なお、首をかしげる動きと頷く動きとは、回転中心が顔からはずれているため、平行移動とみなすことができる。ただし、いずれの場合も、フレーム間において動きが小さいことが前提である。
【００４７】
［ソフトウェアの制御構造］
上記した原理に基づく目の検出処理およびトラッキング処理を実現するためのソフトウェアの構造について以下説明する。なお、前述したとおり、以下に述べるソフトウェアの実行時には、ＯＳが持つ機能、またはすでにコンピュータにインストールされている機能を利用することが前提となっている場合があり、その結果、流通するソフトウェアがそうした機能自体を含まないことがあり得る。しかし、その場合でも、そうした機能を制御構造のどこで利用するかについての情報をもつものである限り、そうしたソフトウェアは本願発明の技術的範囲に属するものである。
【００４８】
なお、以下に述べる処理では、すでに述べた目の候補点の検出処理に加えて、目が二つあることを前提に、瞬きは左右の目で同時に起きる、両目間の距離はある範囲に入っている、顔の傾き角度は一定範囲内である、両目の中点近傍の濃淡パターンはほぼ左右対称である、などの条件を用いることで、抽出された目の位置の候補点対が目であるか否かを検定している。
【００４９】
また、以下の処理では種々のしきい値が用いられているが、その値は応用により、また求められている精度により経験的に定められるものである。
【００５０】
図７を参照して、このソフトウェアの全体構成は以下のようになっている。まず、図８以下を参照して後に詳細に説明する手順を用いて、目の位置を抽出する（ステップ１００）。続くステップ１０２で、抽出された目の位置をアイカメラ５４を制御するコンピュータ８２に送信する。そして、引き続きステップ１０４で目の位置のトラッキング処理を行なう。目位置のトラッキングができたか否か、すなわち目の位置を見失ったか否かを判断する（ステップ１０６）。トラッキングが失敗した場合には制御はステップ１００に戻り、再度ステップ１００の目の位置の抽出処理から実行される。トラッキングができていれば、制御はステップ１０２に戻り、トラッキングによって得られた目の方向、目までの距離などの情報がコンピュータ８２に送信される。以下、ステップ１００から１０６の処理を繰り返し行なうことで、コンピュータ８２に対して利用者の目の方向および距離に関する情報を絶えず送信することができる。
【００５１】
なお図７のステップ１００において目の位置が抽出されない場合もあり得る。その場合は、再度ステップ１００の処理を実行して、次のフレームに対して目の位置の抽出処理を実行する。
【００５２】
図８を参照して、図７のステップ１００で行なわれる目の位置の抽出処理について説明する。以下の処理は、図４から図６を参照して説明した原理を用いたものである。なおこの処理の前に、前画像がキャプチャされていることが前提である。特に処理の最初では、前画像を現画像と一致させるようにしてもよい。まず、ステップ１２０でカメラ５６，５８からの現画像をキャプチャする。以下の処理はカメラ５６の画像に対して行なわれ、目の検出後、カメラ５８の画像とあわせてステレオ処理により目までの距離を計算する。カメラ５６、５８の役割は交代させてもよい。
【００５３】
続いてステップ１２２で、前画像と現画像とのフレーム間差分２値化画像Ｄを計算する。より具体的には、各画素ごとに、前画像と現画像との値の差の絶対値を求め、その値があらかじめ定められたしきい値Ｎ以上であればその画素値を「１」とし、しきい値Ｎ未満であれば画素値を「０」とする。ビデオ信号は、静止物体を撮像している場合でもある程度変動しているので、このようなしきい値Ｎを用いることが必要である。このしきい値Ｎはノイズレベルと考えることができる。
【００５４】
続いてステップ１２４で、差分画像Ｄ中の画素値「１」の数があらかじめ定められたしきい値Ｇ以上か否かを判定する。判定結果が「ＹＥＳ」であれば制御は図９に示すステップ１６８にとび、目は検出されなかったとされ処理を終了する。この場合は、あまりにも多くの画素に動きが検出されたため、想定以上の動きがあるものとして、次のフレーム入力を待つ。
【００５５】
ステップ１２４での判定結果が「ＮＯ」の場合、ステップ１２６で差分画像Ｄ中の画素値「１」の数がしきい値Ｅ以下か否かを判定する。このしきい値Ｅは前述のしきい値Ｇよりも小さな値であり、顔が実質的に静止しているか否かを判定するためのものである。ステップ１２６の判定結果が「ＹＥＳ」の場合、制御は図９に示すステップ１５２に飛ぶ。この場合には、フレーム間差分で抽出された画素数が少なく、顔が停止状態であると考えられる。
【００５６】
ステップ１２６での判定結果が「ＮＯ」の場合、制御はステップ１２８に進む。ステップ１２８では、差分画像Ｄの画素値「１」である画素群に対し、その両端の画素を削除する処理が行なわれる。この処理は、図６を参照して説明したように振り向く動作を考慮したものである。
【００５７】
より具体的には、差分画像Ｄの各走査線ごとに左右の端からそれぞれ右方向および左方向にサーチして、最初に現れる画素値「１」の画素を探す。そしてその画素からそれぞれｋ個の画素の画素値を「０」に書き換える。この処理により、画像中の画素値「１」の左右領域の所定分が削り去られることになる。
【００５８】
続いてステップ１３０で、前画像と現画像とから、差分画像Ｄの画素値「１」に対応する画素を抽出する。この処理は、図５の中段に示した画像を得る処理である。この後ステップ１３２で、前述した移動量±ｄを算出処理が行なわれる。この処理の詳細については図１０を参照して後に詳述する。
【００５９】
移動量±ｄが算出されると、続いてステップ１５０（図９）で図５の下段に示す領域Ｍに相当する画素を差分画像Ｄから削除する処理が行なわれる。さらにステップ１５２で、差分画像Ｄに対して孤立点除去および平滑化処理が実行される。より具体的には、処理対象の画素の８近傍と、中心画素とのうち合計して４画素以上の画素値が「１」であればその処理対象の画素の画素値を「１」とする。さもなければ画素値を「０」とする。この処理により、孤立点の画素値は「０」となって差分画像Ｄ上から削除される。
【００６０】
続いて、ステップ１５４で、差分画像Ｄに対してラベリング処理を施す。この処理により、互いに連続した画素値「１」の画素からなる領域の各々についてラベルが付与される。こうして得られた各要素の中心を、目位置の候補点とする（ステップ１５６）。
【００６１】
得られた候補点の数が２未満か否かを判定する（ステップ１５８）。目位置は一般的に２個であることが想定されるから、候補点の数が２未満の場合には目は検出されなかったとして、処理はステップ１６８に進む。候補数が２以上であれば制御はステップ１６０に進む。
【００６２】
ステップ１６０では、各候補点ごとに、候補点を中心とする矩形ａ×ｂの領域の各画素の、前画像の画素値と現画像の画素値との差の絶対値の総和Ｓを求める。ここで矩形ａ×ｂとは、想定される目の大きさに対応する大きさの矩形である。前画像と現画像との間で瞬きがあれば、一方の画像では目の画像であり他方の画像では目蓋の画像となるためその画素値の差の絶対値は大きくなり、かつその大きさは想定される目の大きさに近いはずである。したがって、このように各候補点についてＳを求め、その値の大きなもの二つを目の候補点（候補点対）とすることができる。
【００６３】
続いてステップ１６２で、以上のようにして求められた二つの候補点が以下の諸条件を満足するか否かが判定される。全条件を満足しなければ、目は検出されなかったとして（ステップ１６８）、処理を終了する。
【００６４】
１）ステップ１６０で求めた差の絶対値の総和Ｓが、二つの候補点のいずれにおいても所定のしきい値Ｆ以上である。
【００６５】
２）候補点間の距離があらかじめ定められた値Ｌmin以上である。
３）候補点間の距離があらかじめ定められた値Ｌmax以下である。
【００６６】
４）候補点を結ぶ直線と走査線方向とのなす角度が、あらかじめ定められたしきい値Ａ度以下である。
【００６７】
しきい値Ｆはあらかじめ実験的、または統計的に定められる値であり、目以外の部分が目として抽出されるのを防止するために用いられる。ＬminおよびＬmaxはそれぞれ、目の中心間の距離として想定される最小値および最大値である。これらの値はあらかじめ統計的に定められる。またしきい値角度Ａ度も実験的に適切な値が定められるものであるが、通常は３０度から４５度程度の値が使用される。
【００６８】
上述の４つの条件がすべて充足された場合、さらにステップ１６４で、求められた二つの目候補点の中点近傍の濃淡パターンがほぼ左右対称か否かを判定する。ほぼ左右対称であると判定されたら、この二つの目候補点を目の位置とする。左右対称でなければ目を見つけられなかったとして処理を終了する。
【００６９】
二つの目候補点の中点近傍のパターンがほぼ左右対称か否かを判定する方法について説明する。図１１を参照して、一般的に両目の中点（これを以下「眉間」と呼ぶ。）を中心とする領域２２０において、眉間の左右の濃淡パターンは、二つの目候補点を結ぶ線分に垂直で、眉間（二つの目候補点の中点）をとおる直線に関してほぼ左右対称となるはずである。そこで、まず現画像を、両目の候補点の中点を中心として、両目候補が走査線に水平に並ぶように回転し、候補点の中点を中心とするｇ×ｈ画素（領域２２０とする。）を切出す。図１１の下段に示されるように、この領域２２０の縦ｈ画素の画素値の総和を各列ごとに求め、さらに全画素の総和に対する各列の総和を百分率であらわした値を計算することにより、図１１に示すグラフ２２２のような投影プロフィールが得られる。そして、このプロフィールのうち、両候補の中点を中心として、左右対称となる互いに隣接する３列ずつの合計を左右双方について計算する。そして、左右の合計の差の総和を、隣接する３列のすべての組み合わせに対して計算し、その値がしきい値ｐ以下であれば、二つの目候補点の中点近傍のパターンが、ほぼ左右対称であると判定する。
【００７０】
具体的には、図１１の下段を参照して、たとえば最左端の３列２２４Ｌの値の合計と、最右端の３列２２４Ｒの値の合計とを計算し、その差ｐ1を求める。同様に、左から２列目〜４列目の３列２２６Ｌの値の合計と、右から２列目〜４列目の３列２２６Ｒの値の合計とを計算し、その差ｐ2を求める。左から３列目〜５列目の３列２２８Ｌの値の合計と、右から３列目〜５列目の３列２２８Ｒの値の合計を計算し、その差ｐ3を求める。以下同様にして値ｐ4〜ｐg-2を計算し、ｐ1〜ｐg-2の値の合計を求め、その合計としきい値ｐとを比較することで、二つの目候補点の中点近傍の濃淡パターンがほぼ左右対称か否かを判定できる。
【００７１】
なお、上の説明では、二つの目候補点を水平走査線に並ぶようにその中点を中心としていったん回転してから濃淡パターンが左右対称か否かを判定した。しかし左右対称の判定方法はこれに限定されるわけではない。たとえば、二つの目候補点を結ぶ線分が水平走査線に対してなす角度がわかれば、その線分に対し垂直な方向で画素値の合計を計算するようにすることで、図１１に示すのと同様の処理を実現することができる。また、上の例では各列ごとに合計をとるようにしたが、中点を中心として左右対称な画素ごとに差を計算してその総和を計算し、それがしきい値より小さい場合に左右対称と判定してもよい。
【００７２】
ここで再び図８のステップ１３２に戻り、移動量ｄを算出する処理について、図１０を参照して詳細に説明する。移動量ｄ（二次元ベクトル量）＝（ｘ，ｙ）とし、ｘ＝−ｍ，−ｍ＋１，…，ｍ、ｙ＝−ｎ，−ｎ＋１，…，ｎの範囲で図５の下段に示すような領域Ｍに属する画素数の合計の最大値を示すものを探索するものとする。まず、変数ｍａｘに初期値０を代入する（ステップ１８０）。この変数ｍａｘは、以下に述べる計算過程で、個々の移動量に対して算出される差分画像のうち、領域Ｍに属する画素数の合計の最大値を記憶するためのものである。
【００７３】
変数ｘに−ｍを代入し（ステップ１８２）、変数ｙに−ｎを代入する（ステップ１８４）。以下、ｙの各値ごとの繰り返し処理である。
【００７４】
まず、ｄ＝（ｘ、ｙ）に対する領域Ｍに属する画素数の合計Ｍ（ｄ）を求める（ステップ１８６）。そしてこのＭ（ｄ）が変数ｍａｘより大きいか否かを判定する（ステップ１８８）。Ｍ（ｄ）が変数ｍａｘ以下の場合には何もせず制御はステップ１９２に進む。Ｍ（ｄ）が変数ｍａｘより大きい場合には、ステップ１９０で変数ｍａｘにＭ（ｄ）の値を代入し、Ｘ、Ｙにそれぞれそのときのｘ，ｙの値を代入する。制御はステップ１９２に進む。
【００７５】
ステップ１９２ではｙに１を加算し、その結果ｙがｎを超えたか否かを判定する（ステップ１９４）。ｙがｎを超えていない場合には制御はステップ１８６に戻り、新たなｙに対してステップ１８６〜１９４の処理を繰り返す。ｙがｎを超えている場合には、制御はステップ１９６に進む。
【００７６】
ステップ１９６では、ｘに１を加算する。そして、その結果ｘがｍを超えたか否かを判定する（ステップ１９８）。ｘがｍを超えていないと判定された場合には制御はステップ１８４に戻り、以下新たなｘに対してステップ１８４〜１９８の処理を繰り返す。ｘがｍを超えたと判定された場合には、制御はステップ２００に進み、変数ｍａｘの値と、この変数ｍａｘの値が得られたときのｘ、ｙの値であるＸ，Ｙを出力して処理を終了する。
【００７７】
このようにして、領域Ｍに含まれる画素数が最大となる移動量ｄを求める。なお、移動量ｄの算出方法はこれ以外にも種々考えられる。たとえば、ｘ、ｙをｍ×ｎの範囲で変化させながらあらかじめ総当りで領域Ｍに含まれることになる画素数を求めてテーブル化し、そのテーブルの中で最大値を示すセルを求めるようにしてもよい。
【００７８】
さて、上で述べたようにして検出した目を次のフレームから信頼性高く、かつロバスト性高くトラッキングしていくために、次のようなトラッキング方法をソフトウェアにより実現する。本実施の形態では、目をトラッキングするのに、直接ではなく、目と目の間（眉間）のパターンをトラッキングする。そして、そのようにトラッキングされた眉間からの相対的位置が前フレームの目位置と同じ点の近傍で目を探索する。
【００７９】
眉間パターンは、顔の表情が変化する場合でも比較的安定している。また、額部と鼻筋の明るい部分に両サイドから目と眉とが楔のように割込んだ濃淡パターンを形成しているので、パターンマッチングによって位置を決める際の精度を出しやすい。
【００８０】
以下に述べるように、眉間のテンプレートを用いてパターンマッチングする際に、テンプレートを更新する必要がある。テンプレートとして本実施の形態では、両目の中心を中点とする矩形パターンを採用し、テンプレートの更新には現フレームで検出された矩形パターンを用いる。
【００８１】
以下、図１２を参照してトラッキング処理の詳細について説明する。なお、前フレームで抽出された両目の中点位置と、眉間パターン（ｓ×ｔ画素）と、中点から見た右目と左目との相対位置ｅr、ｅl（ｅr＝―ｅlで、いずれも２次元量）とがすでにセーブしてあるものとする。
【００８２】
まず、ステップ２４０でセーブされている中点位置、眉間パターン、および両目の相対位置を初期値として取り込む処理を行なう。続いて、現画像（現フレーム）の取り込みを行なう（ステップ２４２）。
【００８３】
次のステップ２４４では、前画像と、さらにその前の画像（前々画像）とにおける両目の中点位置から、現画像における両目の中点位置を予測する。すなわち、前フレーム、前々フレームの眉間位置をそれぞれＸt-1，Ｘt-2とする（ただしＸt-1，Ｘt-2はいずれも２次元量）と、現フレームでの予測位置Ｘtは、Ｘt＝２Ｘt-1―Ｘt-2で計算できる。ただし、最初の検出時はＸ-1＝Ｘ0とする。このように現画像における両目の中点位置を予測するのは、顔画像が移動している場合、その移動量はほぼ一定であると考えられるので、移動後の中点位置を予測してから眉間パターンのマッチングをすると効率がよいからである。
【００８４】
ステップ２４６では、ステップ２４４で予測された中点位置の近傍で、セーブされていた眉間パターンと最もよく一致する眉間パターンを探すマッチング処理を実行する。ここで最もよいマッチが得られた位置をＸt0とする。そして、ステップ２４８で、Ｘt0+ｅrおよびＸt0+ｅlを中心とする近傍（ｉ×ｊ画素）において右目および左目の位置をそれぞれ探索する（ステップ２４８）。探索にあたっては、その点を中心とする５×５画素の平均画素値が最も暗い点を目と判定する。
【００８５】
次に、探索結果の目の位置が、図９のステップ１６２で用いられた条件２）３）４）を満たすか否かを判定する。いずれかひとつの条件でも満足されていなければ、目のトラッキングを誤ったか見失ったものとして、トラッキング失敗の判定をし（ステップ２５２）処理を終了する。この場合、図７のステップ１０６から制御はステップ１００に戻り、再び目の位置の検出から処理が再実行される。
【００８６】
すべての条件が満足されていると判定された場合には、トラッキングが成功したものと判定され、トラッキングにより得られた両目の中点位置と、その点を中心とする眉間パターン（ｓ×ｔ画素）と、中点に対する両目の相対位置ｅr、ｅlとをセーブ（更新）してトラッキング処理を終了する。
【００８７】
なお、このようにしてカメラ５６の画像に対して両目の位置が検出されれば、カメラ５８の画像とあわせてステレオ処理により目までの距離が求まり、アイカメラ５４を制御するためのパラメータ（距離、方向）が計算により決定できる。その処理については周知の技法を適用することができるので、ここでは詳細な説明は繰り返さない。
【００８８】
［動作］
上にその構造について説明した本願発明にかかる目の位置の検出装置は以下のように動作する。図１に示すステレオカメラ５６，５８は、利用者の顔画像を撮影しそれぞれビデオ信号を出力しコンピュータ４０に与える。
【００８９】
図８に示すように目の位置の検出およびトラッキングのためのソフトウェアを起動すると、カメラ５６，５８から得られたビデオ画像の各々に対して目の位置が抽出される。具体的には、現画像がキャプチャされ（ステップ１２０）、差分画像Ｄの計算（ステップ１２２）、ステップ１２４および１２６の判断が行なわれる。ステップ１２４または１２６において判定結果が「ＹＥＳ」となれば目の位置の検出ができなかったとして、次のフレーム画像に対して再度目の位置の抽出処理が実行される。
【００９０】
ステップ１２４および１２６における判定結果がいずれも「ＮＯ」となった場合には、ステップ１２８で画素値「１」の領域の両端の画素が削除される。そして、既に説明した手法にしたがって移動量ｄを計算した後（ステップ１３２）、このようにして得られた移動量ｄを用いて図５に示す移動および重ねあわせを行なって得られた領域Ｍに相当する画素を、差分画像Ｄから除去する（ステップ１５０）。
【００９１】
続いて、孤立点除去、平滑化処理（ステップ１５２）、ラベリング処理（ステップ１５４）を経て得られた各要素の中心を目位置候補とする（ステップ１５６）。この候補数が２未満の場合には抽出は失敗したものと判定され、最初から処理が再開される。候補数が２以上の場合には、その近傍における画像間の差分の絶対値の総和が最も大きな二つの点が候補点となる（ステップ１６０）。この候補点が前述した４つの条件のすべてを満足し（ステップ１６２）、かつ中点近傍のパターンが左右対称であると判定される（ステップ１６４）と、その二つの候補点を目の位置として、目の位置の抽出処理は終了する。ステップ１６２、１６４のテストに失敗すると目の位置の抽出はできなかったものとして、最初から処理が再開される。
【００９２】
こうしてステレオカメラ５６，５８の双方について、目の方向が決定されると、それらの情報を用いてアイカメラ５４を制御すべき情報（アイカメラ５４から見た目の方向および目までの距離）が得られる。こうした情報をコンピュータ８２に送信して（図７のステップ１０２）、制御は目位置のトラッキング処理に移る（ステップ１０４）。
【００９３】
トラッキング処理の最初には、目の位置の抽出処理で得られた両目の中点位置、眉間のパターン、および中点位置から見た両目の相対位置に関する情報がセーブされている。まず最初に、このようにセーブされている情報を初期値として取り込む（ステップ２４０）。続いて現画像を取込み（ステップ２４２）、前画像における目の中点位置および前々画像における目の中点位置に基づいて現画像での目の中点位置を予測する(ステップ２４４)。予測された中点位置近傍で、既にセーブされていた前画像での眉間パターンと最もよくマッチする場所を探索し、最もよいマッチを示した位置を中心として、両目の位置を探索する（ステップ２４８）。得られた両目位置が所定の条件を満足していれば（ステップ２５０でＹＥＳ）、その両目位置に基づいて両目の中点位置を算出し、その値と、その中点位置を中心とする眉間パターンと、中点位置から両目までの相対位置とをセーブして、トラッキングを一旦終了する。ただしこの場合、図７においてステップ１０６からステップ１０２の経路をとおり、直ちに次のトラッキング処理が行なわれる。
【００９４】
トラッキングに失敗すると、図７のステップ１０６からステップ１００の経路をとおり、再度目の位置の抽出処理から実行される。
【００９５】
こうして、ステレオカメラ５６，５８を用いて目の位置（方向）を抽出し、トラッキングし、それらの値を用いることによりアイカメラ５４を制御するためのパラメータ（目の方向、距離）を計算してアイカメラ５４を制御することができる。
【００９６】
図１３〜図１５に、本実施の形態による目の位置の抽出およびトラッキング処理の具体例について、画面表示を示す。
【００９７】
図１３には、入力された画像例を示す。図１４に示すのは、この画像と前画像との差分画像である。画面の左上には左右の対称性を判定するために切出したパターン２７０が、左下には入力画像の眉間パターン２７２が、それぞれ表示されている。差分画像の中で、目位置候補として２箇所２７４および２７６が抽出され白丸で表示されている。
【００９８】
図１５には、両目位置２９２，２９４および中心位置２９０を画像に重ねて表示した例を示す。図１５に示すように、眉間を中心として、両目の位置が正しく検出されている。
【００９９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】  本願発明にかかる目の位置の抽出方法および装置を実現するコンピュータシステム２０の外観図である。
【図２】  図１に示すコンピュータシステム２０および周辺装置のブロック図である。
【図３】  本発明の一実施の形態における目の位置の抽出の原理を示すための図である。
【図４】  差分画像の一例を示す図である。
【図５】  本発明の一実施の形態における目の位置の抽出の原理を示すための図である。
【図６】  本発明の一実施の形態において、利用者が振り向く動きをキャンセルする原理を示す図である。
【図７】  本発明の一実施の形態における目の位置の抽出方法および装置を実現するソフトウェアの全体の制御構造を示すフローチャートである。
【図８】  本発明の一実施の形態における目の位置の抽出処理を実現するソフトウェアのフローチャートである。
【図９】  本発明の一実施の形態における目の位置の抽出処理を実現するソフトウェアのフローチャートである。
【図１０】  本発明の一実施の形態における目の位置の抽出処理において、移動量ｄの算出処理を実現するソフトウェアのフローチャートである。
【図１１】  本発明の一実施の形態における、眉間の近傍の左右対称性を判定する処理を説明するための図である。
【図１２】  本発明の一実施の形態における目のトラッキング処理を実現するソフトウェアのフローチャートである。
【図１３】  本発明の一実施の形態における現画像の表示例を示す図である。
【図１４】  本発明の一実施の形態における差分画像の表示例を示す図である。
【図１５】  本発明の一実施の形態における目の位置のトラッキングの表示例を示す図である。
【符号の説明】
２０  コンピュータシステム、４０，８２  コンピュータ、４２  モニタ、４６  キーボード、４８  マウス、５４  アイカメラ、５６，５８  ステレオカメラ。
【図１】
0003936575.tif 000002
【図２】
0003936575.tif 000003
【図３】
0003936575.tif 000004
【図４】
0003936575.tif 000005
【図５】
0003936575.tif 000006
【図６】
0003936575.tif 000007
【図７】
0003936575.tif 000008
【図８】
0003936575.tif 000009
【図９】
0003936575.tif 000010
【図１０】
0003936575.tif 000011
【図１１】
0003936575.tif 000012
【図１２】
0003936575.tif 000013
【図１３】
0003936575.tif 000014
【図１４】
0003936575.tif 000015
【図１５】
0003936575.tif 000016