(57)【特許請求の範囲】
【請求項１】
視線の方向を検出する対象となる検出対象者の顔を撮影した顔画像に基づいて、前記検出対象者の顔の向きを推定する顔向き推定手段と、
前記顔画像において、前記検出対象者の目の輪郭のうち少なくとも目頭と目尻を検出する目検出手段と、
前記顔画像において、前記検出対象者の瞳を検出する瞳検出手段と、
人の目頭と目尻に対する瞳の位置である瞳位置および顔の向きと瞳の方向との間の相関関係、並びに、前記検出対象者の前記瞳位置および顔の向きに基づいて、前記検出対象者の瞳の方向を推定する瞳方向推定手段と、
推定された顔の向きおよび瞳の方向に基づいて、前記検出対象者の視線の方向を計算する視線方向計算手段と
を含む視線検出装置。
【請求項２】
顔の向きと瞳の方向の複数の組み合わせにおける前記瞳位置のデータに基づいて、前記相関関係を分析する相関関係分析手段を
さらに含み、
前記視線方向推定手段は、前記相関関係分析手段により分析された前記相関関係に基づいて、前記検出対象者の瞳の方向を推定する
請求項１に記載の視線検出装置。
【請求項３】
視線の方向を検出する視線検出装置の視線検出方法において、
視線の方向を検出する対象となる検出対象者の顔を撮影した顔画像に基づいて、前記検出対象者の顔の向きを推定する顔向き推定ステップと、
前記顔画像において、前記検出対象者の目頭と目尻の輪郭のうち少なくとも目頭と目尻を検出する目検出ステップと、
前記顔画像において、前記検出対象者の瞳を検出する瞳検出ステップと、
人の目頭と目尻に対する瞳の位置である瞳位置および顔の向きと瞳の方向との間の相関関係、並びに、前記検出対象者の前記瞳位置および顔の向きに基づいて、前記検出対象者の瞳の方向を推定する瞳方向推定ステップと、
推定された顔の向きおよび瞳の方向に基づいて、前記検出対象者の視線の方向を計算する視線方向計算ステップと
を含む視線検出方法。
【請求項４】
視線の方向を検出する対象となる検出対象者の顔を撮影した顔画像に基づいて、前記検出対象者の顔の向きを推定する顔向き推定ステップと、
前記顔画像において、前記検出対象者の目の輪郭のうち少なくとも目頭と目尻を検出する目検出ステップと、
人の目頭と目尻に対する瞳の位置である瞳位置および顔の向きと瞳の方向との間の相関関係、並びに、前記検出対象者の前記瞳位置および顔の向きに基づいて、前記検出対象者の瞳の方向を推定する瞳方向推定ステップと、
推定された顔の向きおよび瞳の方向に基づいて、前記検出対象者の視線の方向を計算する視線方向計算ステップと
を含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、視線検出装置および方法、並びに、プログラムに関し、特に、より正確に視線の方向を検出できるようにした視線検出装置および方法、並びに、プログラムに関する。
【背景技術】
【０００２】
従来、ユーザがディスプレイの中心および四隅の５点を注視したときの基準画像における黒目の中心の位置と、視線検出するための検出画像における黒目の中心の位置とから、ユーザの視線の方向を特定することが提案されている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２００６−１４１８６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ユーザが見ている方向は同じでも、ユーザの顔の向きや位置によって、検出画像における黒目の中心の位置は異なるため、黒目の中心の位置だけでは、正確に視線方向を特定することは困難である。しかし、特許文献１に記載の発明には、ユーザの顔の位置および方向を特定し、黒目方向と合成することにより、ユーザの視線方向を特定することが記載されているが、その具体的な方法については記載されていない。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、正確に視線の方向を検出できるようにするものである。
【課題を解決するための手段】
【０００６】
本発明の一側面の視線検出装置は、視線の方向を検出する対象となる検出対象者の顔を撮影した顔画像に基づいて、検出対象者の顔の向きを推定する顔向き推定手段と、顔画像において、検出対象者の目の輪郭のうち少なくとも目頭と目尻を検出する目検出手段と、顔画像において、検出対象者の瞳を検出する瞳検出手段と、人の目頭と目尻に対する瞳の位置である瞳位置および顔の向きと瞳の方向との間の相関関係、並びに、検出対象者の瞳位置および顔の向きに基づいて、検出対象者の瞳の方向を推定する瞳方向推定手段と、推定された顔の向きおよび瞳の方向に基づいて、検出対象者の視線の方向を計算する視線方向計算手段とを含む。
【０００７】
本発明の一側面の視線検出装置においては、視線の方向を検出する対象となる検出対象者の顔を撮影した顔画像に基づいて、検出対象者の顔の向きが推定され、顔画像において、検出対象者の目の輪郭のうち少なくとも目頭と目尻が検出され、顔画像において、検出対象者の瞳が検出され、人の目頭と目尻に対する瞳の位置である瞳位置および顔の向きと瞳の方向との間の相関関係、並びに、検出対象者の瞳位置および顔の向きに基づいて、検出対象者の瞳の方向が推定され、推定された顔の向きおよび瞳の方向に基づいて、検出対象者の視線の方向が計算される。
【０００８】
従って、正確に視線の方向を検出することができる。
【０００９】
この顔向き推定手段、目検出手段、瞳検出手段、瞳方向推定手段、および、視線方向計算手段は、例えば、CPU（Central Processing Unit）により構成される。
【００１２】
この視線検出装置には、顔の向きと瞳の方向の複数の組み合わせにおける瞳位置のデータに基づいて、相関関係を分析する相関関係分析手段をさらに設け、視線方向推定手段には、相関関係分析手段により分析された相関関係に基づいて、検出対象者の瞳の方向を推定させることができる。
【００１３】
これにより、使用条件や使用環境などの違いに柔軟に対応し、正確に視線の方向を検出することができる。
【００１４】
この相関関係分析手段は、例えば、CPU（Central Processing Unit）により構成される。
【００１５】
本発明の一側面の視線検出方法、または、プログラムは、視線の方向を検出する対象となる検出対象者の顔を撮影した顔画像に基づいて、検出対象者の顔の向きを推定する顔向き推定ステップと、顔画像において、検出対象者の目の輪郭のうち少なくとも目頭と目尻を検出する目検出ステップと、人の目頭と目尻に対する瞳の位置である瞳位置および顔の向きと瞳の方向との間の相関関係、並びに、検出対象者の瞳位置および顔の向きに基づいて、検出対象者の瞳の方向を推定する瞳方向推定ステップと、推定された顔の向きおよび瞳の方向に基づいて、検出対象者の視線の方向を計算する視線方向計算ステップとを含む。
【００１６】
本発明の一側面の視線検出方法、または、プログラムにおいては、視線の方向を検出する対象となる検出対象者の顔を撮影した顔画像に基づいて、検出対象者の顔の向きが推定され、顔画像において、検出対象者の目の輪郭のうち少なくとも目頭と目尻が検出され、顔画像において、検出対象者の瞳が検出され、人の目頭と目尻に対する瞳の位置である瞳位置および顔の向きと瞳の方向との間の相関関係、並びに、検出対象者の瞳位置および顔の向きに基づいて、検出対象者の瞳の方向が推定され、推定された顔の向きおよび瞳の方向に基づいて、検出対象者の視線の方向が計算される。
【００１７】
従って、正確に視線の方向を検出することができる。
【００１８】
この顔向き推定ステップ、目検出ステップ、瞳検出ステップ、瞳方向推定ステップ、および、視線方向計ステップは、例えば、CPUにより実行される。
【発明の効果】
【００１９】
以上のように、本発明の一側面によれば、正確に視線の方向を検出することができる。
【発明を実施するための最良の形態】
【００２０】
以下、図を参照して、本発明の実施の形態について説明する。
【００２１】
図１は、本発明を適用した視線検出システムの一実施の形態を示すブロック図である。図１の視線検出システム１０１は、カメラ１１１および視線検出装置１１２を含むように構成される。
【００２２】
カメラ１１１は、視線の検出の対象となる人（以下、検出対象者とも称する）の顔を撮影し、撮影した画像（以下、顔画像と称する）を視線検出装置１１２に供給する。
【００２３】
視線検出装置１１２は、顔画像に写っている検出対象者の瞳方向と視線方向を検出し、検出結果を示す情報を視線検出装置１１２の後段に出力する。
【００２４】
ここで、図２を参照して、顔向き、瞳方向、および、視線方向の定義について説明する。なお、矢印２１１は、検出対象者の瞳が向いている方向を示し、軸２１２は、検出対象者２０１の顔が向いている方向（検出対象者２０１の顔の正面方向）を示す軸であり、光軸２１３は、カメラ１１１の光軸を示している。
【００２５】
まず、以下、検出対象者２０１の顔向きを、カメラ１１１の光軸２１３を基準とする顔の向き、すなわち、カメラ１１１から見た検出対象者２０１の顔の向きと定義する。例えば、図２の例では、検出対象者２０１の顔向きは、光軸２１３を基準とする軸２１２の方向、すなわち、右に角度α＋βの方向となる。なお、顔向きについて、光軸２１３を基準にして、右方向を正の方向、左方向を負の方向とし、上方向を正の方向、下方向を負の方向とする。
【００２６】
また、以下、検出対象者２０１の瞳方向を、検出対象者２０１の顔向きを基準とする瞳の向き、すなわち、検出対象者２０１の顔向きを基準とする視線の方向と定義する。例えば、図２の例では、検出対象者２０１の瞳方向は、軸２１２を基準とする矢印２１１の方向、すなわち、左に角度αの方向となる。なお、瞳方向について、軸２１２を基準にして、右方向を正の方向、左方向を負の方向とし、上方向を正の方向、下方向を負の方向とする。
【００２７】
さらに、以下、検出対象者２０１の視線方向を、カメラ１１１の光軸２１３を基準とする瞳の向き、すなわち、カメラ１１１から見た検出対象者２０１の視線の方向と定義する。例えば、図２の例では、検出対象者２０１の視線方向は、光軸２１３を基準とする矢印２１１の方向、すなわち、右に角度βの方向となる。なお、視線方向について、光軸２１３を基準にして、右方向を正の方向、左方向を負の方向とし、上方向を正の方向、下方向を負の方向とする。
【００２８】
図１に戻り、視線検出装置１１２は、学習部１２１および検出部１２２を含むように構成される。
【００２９】
学習部１２１は、図３などを参照して後述するように、被測定者の顔画像、および、顔画像を撮影したときの被測定者の顔向きと瞳方向を示す情報を含む顔情報データに基づいて、人の目の輪郭に対する瞳の位置および顔向きと瞳方向との間の相関関係、または、人の目の輪郭に対する瞳の位置、顔向きおよび目の輪郭の形状と視線方向との間の相関関係を学習する。学習部１２１は、目検出部１３１、瞳検出部１３２、特徴パラメータ計算部１３３、学習データ生成部１３４、学習データ蓄積部１３５、および、相関関係分析部１３６を含むように構成される。
【００３０】
目検出部１３１は、図３などを参照して後述するように、所定の手法を用いて、顔画像において、被測定者の目の輪郭の少なくとも一部を検出する。目検出部１３１は、顔画像、および、検出結果を示す情報を瞳検出部１３２に供給する。また、目検出部１３１は、検出結果を示す情報を特徴パラメータ計算部１３３に供給する。
【００３１】
瞳検出部１３２は、図３などを参照して後述するように、所定の手法を用いて、顔画像において、被測定者の瞳を検出する。瞳検出部１３２は、検出結果を示す情報を特徴パラメータ計算部１３３に供給する。
【００３２】
特徴パラメータ計算部１３３は、図３などを参照して後述するように、被測定者の目の輪郭および瞳の検出結果に基づいて、人の目の輪郭に対する瞳の位置を表す特徴パラメータ、または、人の目の輪郭に対する瞳の位置および目の輪郭の形状を表す特徴パラメータを計算する。特徴パラメータ計算部１３３は、計算した特徴パラメータを示す情報を学習データ生成部１３４に供給する。
【００３３】
学習データ生成部１３４は、図３などを参照して後述するように、被測定者の瞳方向と、顔画像を撮影したときの被測定者の顔向き及びその顔画像に基づいて計算された特徴パラメータとを関連づけたデータを、学習データとして生成する。学習データ生成部１３４は、生成した学習データを学習データ蓄積部１３５に蓄積させる。また、学習データ生成部１３４は、学習データ蓄積部１３５に所定量の学習データが蓄積されたとき、所定量の学習データが蓄積されたことを相関関係分析部１３６に通知する。
【００３４】
相関関係分析部１３６は、図３などを参照して後述するように、学習データ蓄積部１３５に蓄積されている学習データに基づいて、人の顔向きおよび特徴パラメータと瞳方向との間の相関関係を分析し、分析結果を示す情報を検出部１２２の瞳方向推定部１４５に供給する。
【００３５】
検出部１２２は、図７などを参照して後述するように、カメラ１１１により撮影された検出対象者の顔画像、および、学習部１２１により学習された相関関係に基づいて、検出対象者の瞳方向および視線方向を検出する。検出部１２２は、顔向き推定部１４１、目検出部１４２、瞳検出部１４３、特徴パラメータ計算部１４４、瞳方向推定部１４５、および、視線方向計算部１４６を含むように構成される。
【００３６】
顔向き推定部１４１は、所定の手法を用いて、カメラ１１１により撮影された検出対象者の顔画像に基づいて、検出対象者の顔向きを推定する。顔向き推定部１４１は、顔画像、および、推定結果を示す情報を目検出部１４２に供給する。また、顔向き推定部１４１は、推定結果を示す情報を、瞳方向推定部１４５および視線方向計算部１４６に供給する。
【００３７】
目検出部１４２は、学習部１２１の目検出部１３１と同様に、所定の手法を用いて、顔画像において、検出対象者の目の輪郭の少なくとも一部を検出する。目検出部１４２は、顔画像、および、検出結果を示す情報を瞳検出部１３２に供給する。また、目検出部１４２は、検出結果を示す情報を特徴パラメータ計算部１４４に供給する。
【００３８】
瞳検出部１４３は、学習部１２１の瞳検出部１３２と同様に、所定の手法を用いて、顔画像において、被測定者の瞳を検出する。瞳検出部１４３は、検出結果を示す情報を特徴パラメータ計算部１４４に供給する。
【００３９】
特徴パラメータ計算部１４４は、学習部１２１の特徴パラメータ計算部１３３と同様に、被測定者の目の輪郭および瞳の検出結果に基づいて、特徴パラメータを計算する。特徴パラメータ計算部１４４は、計算した特徴パラメータを示す情報を瞳方向推定部１４５に供給する。
【００４０】
瞳方向推定部１４５は、人の顔向きおよび特徴パラメータと瞳方向との間の相関関係、検出対象者の顔向き、および、検出対象者の特徴パラメータに基づいて、検出対象者の瞳方向を推定する。瞳方向推定部１４５は、推定した瞳方向を示す情報を視線方向計算部１４６に供給するとともに、視線検出装置１１２の後段に出力する。
【００４１】
視線方向計算部１４６は、検出対象者の顔向きおよび瞳方向に基づいて、検出対象者の視線方向を計算する。視線方向計算部１４６は、計算した視線方向を示す情報を、視線検出装置１１２の後段に出力する。
【００４２】
次に、図３乃至図７を参照して、視線検出システム１０１の処理について説明する。
【００４３】
まず、図３のフローチャートを参照して、視線検出装置１１２により実行される学習処理について説明する。
【００４４】
ステップＳ１において、学習部１２１は、顔情報データを取得する。例えば、ユーザは、顔情報データを測定する対象である被測定者の顔向きおよび瞳方向が所定の方向を向いた状態で、被測定者の顔をカメラ１１１により撮影する。そして、ユーザは、撮影した被測定者の顔画像、および、顔画像を撮影したときの被測定者の顔向きと瞳方向を示す情報を顔情報データとして学習部１２１に入力する。学習部１２１の目検出部１３１は、入力された顔情報データのうち顔画像を取得し、学習データ生成部１３４は、入力された顔情報データのうち被測定者の顔向きおよび瞳方向を示す情報を取得する。
【００４５】
ステップＳ２において、目検出部１３１は、所定の手法を用いて、顔画像において、被測定者の目の輪郭を検出する。目検出部１３１は、顔画像、および、検出結果を示す情報を瞳検出部１３２に供給する。また、目検出部１３１は、検出結果を示す情報を特徴パラメータ計算部１３３に供給する。
【００４６】
ステップＳ３において、瞳検出部１３２は、所定の手法を用いて、顔画像において、被測定者の瞳を検出する。このとき、瞳検出部１３２は、必要に応じて、被測定者の目の輪郭の検出結果を利用する。瞳検出部１３２は、検出結果を示す情報を特徴パラメータ計算部１３３に供給する。
【００４７】
ステップＳ４において、特徴パラメータ計算部１３３は、被測定者の目の輪郭および瞳の検出結果に基づいて、特徴パラメータを計算する。特徴パラメータ計算部１３３は、計算した特徴パラメータを示す情報を学習データ生成部１３４に供給する。
【００４８】
ここで、図４および図５を参照して、ステップＳ２乃至Ｓ４の処理の具体例について説明する。
【００４９】
例えば、目検出部１３１は、所定の手法を用いて、図４に示されるように、顔画像において、目２５１の輪郭の一部である左右の両端（目頭Ｐｅ１および目尻Ｐｅ２）を検出する。なお、目検出部１３１が、目２５１の左右の両端を検出する手法は、特定の手法に限定されるものではなく、より正確、高速かつ簡単に検出することが可能な手法を用いるようにすることが望ましい。例えば、エッジ検出により目２５１の輪郭を検出した後、目頭Ｐｅ１および目尻Ｐｅ２を特定したり、コーナー検出により、目頭Ｐｅ１および目尻Ｐｅ２を検出する手法などが考えられる。
【００５０】
瞳検出部１３２は、所定の手法を用いて、図４に示されるように、顔画像において、瞳２５２の左端Ｐｐ１および右端Ｐｐ２を検出する。なお、瞳検出部１３２が、瞳２５２の左右の両端を検出する手法は、特定の手法に限定されるものではなく、より正確、高速かつ簡単に検出することが可能な手法を用いるようにすることが望ましい。例えば、エッジ検出により瞳２５２の輪郭を検出した後、左端Ｐｐ１および右端Ｐｐ２を検出する手法などが考えられる。
【００５１】
特徴パラメータ計算部１４４は、目頭Ｐｅ１および目尻Ｐｅ２と、瞳２５２の左端Ｐｐ１および右端Ｐｐ２との関係を表すパラメータを特徴パラメータとして計算する。例えば、左端Ｐｐ１に対する目頭Ｐｅ１の相対座標（換言すれば、左端Ｐｐ１と目頭Ｐｅ１との間のベクトル）、および、右端Ｐｐ２に対する目尻Ｐｅ２の相対座標（換言すれば、右端Ｐｐ２と目尻Ｐｅ２との間のベクトル）を特徴パラメータとすることが考えられる。また、上述した２つのベクトルの長さの比率を特徴パラメータとすることが考えられる。いずれの特徴パラメータも、目２５１の輪郭（より正確には、目２５１の輪郭の一部である目頭Ｐｅ１および目尻Ｐｅ２）に対する瞳２５２の位置を表している。
【００５２】
なお、さらに、瞳の左端Ｐｐ１に対する右端Ｐｐ２の相対座標（あるいは、瞳の右端Ｐｐ２に対する左端Ｐｐ１の相対座標）、瞳の左端Ｐｐ１と右端Ｐｐ２の間の長さなどを特徴パラメータに追加するようにしてもよい。
【００５３】
また、例えば、目検出部１３１は、楕円分離度フィルタなどの所定の手法を用いて、図５に示されるように、目２５１の輪郭上において所定の数（いまの場合、１２個）の特徴点Ｐｅ１１乃至Ｐｅ２２を検出する。なお、目検出部１３１が、目２５１の輪郭上の特徴点を検出する手法は、特定の手法に限定されるものではなく、より正確、高速かつ簡単に検出することが可能な手法を用いるようにすることが望ましい。
【００５４】
瞳検出部１３２は、所定の手法を用いて、図５に示されるように、顔画像において、瞳２５２の中心Ｐｐ１１を検出する。なお、瞳検出部１３２が、瞳２５２の中心Ｐｐ１１を検出する手法は、特定の手法に限定されるものではなく、より正確、高速かつ簡単に検出することが可能な手法を用いるようにすることが望ましい。
【００５５】
特徴パラメータ計算部１４４は、目２５１の輪郭上の特徴点Ｐｅ１１乃至Ｐｅ２２と瞳２５２の中心Ｐｐ１１との関係を表すパラメータを特徴パラメータとして計算する。例えば、中心Ｐｐ１１に対する特徴点Ｐｅ１１乃至Ｐｅ２２の相対座標（換言すれば、中心Ｐｐ１１と特徴点Ｐｅ１１乃至Ｐｅ２２の各点との間のベクトル）を特徴パラメータとすることが考えられる。また、上述した１２個のベクトルの向き、および、各ベクトル間の長さの比率を特徴パラメータとすることが考えられる。いずれの特徴パラメータも、目２５１の輪郭に対する瞳２５２の位置を表すとともに、目２５１の輪郭の形状を表している。
【００５６】
なお、以上の特徴パラメータは、その一例であり、目２５１の輪郭に対する瞳２５２の位置や目２５１の輪郭の形状を表す他の特徴パラメータを用いるようにしてもよい。例えば、図４の例において、検出する瞳２５２の輪郭上の特徴点の位置や数を変更したり、瞳２５２の輪郭上の特徴点の代わりに瞳２５２の中心を用いて、特徴パラメータを求めるようにしてもよい。また、目２５１の輪郭の幅や高さなどを特徴パラメータに加えてもよいし、瞳２５２の形状を表すパラメータを特徴パラメータに加えてもよい。
【００５７】
また、以上の説明では、学習部１２１が、目２５１の輪郭および瞳２５２の特徴点を検出する例を示したが、例えば、ユーザが、顔画像を目視することにより特徴点を検出し、検出した特徴点の座標、あるいは、検出した特徴点から計算される特徴パラメータを顔情報データに含めるようにしてもよい。
【００５８】
さらに、以上の例では、右目の例のみを示したが、左目についても同様の処理により特徴パラメータを求めることが可能である。
【００５９】
ステップＳ５において、学習データ生成部１３４は、学習データを生成する。具体的には、学習データ生成部１３４は、被測定者の瞳方向と、顔画像を撮影したときの被測定者の顔向き及びその顔画像に基づいて計算された特徴パラメータとを関連づけたデータを、学習データとして生成する。学習データ生成部１３４は、生成した学習データを学習データ蓄積部１３５に蓄積させる。
【００６０】
ステップＳ６において、学習データ生成部１３４は、所定量の学習データが蓄積されたか否かを判定する。所定量の学習データが蓄積されていないと判定された場合、処理はステップＳ１に戻り、その後、ステップＳ６において、所定量の学習データが蓄積されたと判定されるまで、ステップＳ１乃至Ｓ６の処理が繰り返し実行される。
【００６１】
例えば、ユーザは、被測定者の顔向きおよび瞳方向を変化させながら被測定者の顔画像を撮影し、撮影した顔画像、および、撮影時の被測定者の顔向きと瞳方向を示す情報を顔情報データとして学習部１２１に与え、ステップＳ１乃至Ｓ６の処理を繰り返し実行させる。これにより、被測定者の顔向きと瞳方向の複数の異なる組み合わせにおける特徴パラメータが計算され、各組み合わせに対する学習データが蓄積される。
【００６２】
なお、後述する処理により、人の顔向きおよび特徴パラメータと瞳角度との間の相関関係をより正確に分析するためには、より多くの顔向きおよび瞳方向の組み合わせに対する学習データを収集したり、より多くの被測定者の学習データを収集するようにすることが望ましい。また、年齢、性別、顔の形状や顔の各パーツの配置などが多様性に富むように、被測定者を選択するようにすることが望ましい。
【００６３】
一方、ステップＳ６において、学習データ生成部１３４は、所定量の学習データが蓄積されたと判定した場合、所定量の学習データが蓄積されたことを相関関係分析部１３６に通知し、処理はステップＳ７に進む。
【００６４】
ステップＳ７において、相関関係分析部１３６は、学習データ蓄積部１３５に蓄積されている学習データに基づいて、所定の手法を用いて、顔向きおよび特徴パラメータと瞳方向との間の相関関係を分析する。この相関関係を分析する手法は、特定の手法に限定されるものではなく、より正確、高速かつ簡単に分析することが可能な手法を用いるようにすることが望ましい。
【００６５】
例えば、図６に示すように、特徴パラメータ、顔向き、および、瞳方向を軸とする座標空間において、学習データの分布は１つの超平面３０１により近似することができる。相関関係分析部１３６は、例えば、正準相関分析（CCA）により、超平面３０１を表す近似式を、顔向きおよび特徴パラメータと瞳方向との間の相関関係として計算する。なお、図６の座標空間においては、説明を簡単にするために、特徴パラメータを１つの軸により表すようにしたが、実際には、特徴パラメータに含まれるパラメータの数だけ軸が設定される。
【００６６】
ステップＳ８において、相関関係分析部１３６は、分析結果を出力する。すなわち、相関関係分析部１３６は、顔向きおよび特徴パラメータと瞳方向との間の相関関係を分析した結果を示す情報を瞳方向推定部１４５に出力する。その後、学習処理は終了する。
【００６７】
次に、図７のフローチャートを参照して、視線検出装置１１２により実行される検出処理について説明する。なお、この処理は、カメラ１１１により撮影された検出対象者の顔画像が、顔向き推定部１４１に入力されたとき開始される。
【００６８】
ステップＳ５１において、顔向き推定部１４１は、顔向きを推定する。具体的には、顔向き推定部１４１は、所定の手法を用いて、顔画像に写っている検出対象者の顔向きを推定する。なお、ここで顔向きの推定に用いられる手法は、特定の手法に限定されるものではなく、より正確、高速かつ簡単に推定できる手法を用いるようにすることが望ましい。顔向き推定部１４１は、顔画像、および、推定結果を示す情報を目検出部１４２に供給する。また、顔向き推定部１４１は、推定結果を示す情報を、瞳方向推定部１４５および視線方向計算部１４６に供給する。
【００６９】
ステップＳ５２において、目検出部１４２は、図３のステップＳ２における目検出部１３１の処理と同様の処理により、顔画像において、検出対象者の目の輪郭を検出する。目検出部１４２は、顔画像、および、検出結果を示す情報を瞳検出部１４３に供給する。また、目検出部１４２は、検出結果を示す情報を特徴パラメータ計算部１４４に供給する。
【００７０】
ステップＳ５３において、瞳検出部１４３は、図３のステップＳ３における瞳検出部１３２の処理と同様の処理により、顔画像において、検出対象者の瞳を検出する。瞳検出部１４３は、検出結果を示す情報を特徴パラメータ計算部１４４に供給する。
【００７１】
ステップＳ５４において、特徴パラメータ計算部１４４は、図３のステップＳ４における特徴パラメータ計算部１３３の処理と同様の処理により、検出対象者の目の輪郭および瞳の検出結果に基づいて、特徴パラメータを計算する。特徴パラメータ計算部１４４は、計算した特徴パラメータを示す情報を瞳方向推定部１４５に供給する。
【００７２】
ステップＳ５５において、瞳方向推定部１４５は、瞳方向を推定する。具体的には、瞳方向推定部１４５は、相関関係分析部１３６により分析された、顔向きおよび特徴パラメータと瞳方向との間の相関関係に、顔向き推定部１４１により推定された検出対象者の顔向き、および、特徴パラメータ計算部１４４により計算された特徴パラメータを適用することにより、検出対象者の瞳方向を推定する。上述したように、特徴パラメータは、人の目の輪郭に対する瞳の位置、または、人の目の輪郭に対する瞳の位置および目の輪郭の形状を表すので、換言すれば、瞳方向推定部１４５は、人の目の輪郭に対する瞳の位置および顔向きと視線方向との間の相関関係、並びに、検出対象者の目の輪郭に対する瞳の位置および顔向きに基づいて、または、人の目の輪郭に対する瞳の位置、顔向きおよび目の輪郭の形状と視線方向との間の相関関係、並びに、検出対象者の目の輪郭に対する瞳の位置、顔向きおよび目の輪郭の形状に基づいて、検出対象者の瞳方向を推定する。瞳方向推定部１４５は、推定した瞳方向を示す情報を視線方向計算部１４６に供給する。
【００７３】
ステップＳ５６において、視線方向計算部１４６は、視線方向を計算する。具体的には、視線方向計算部１４６は、瞳方向推定部１４５により推定された瞳方向に、顔向き推定部１４１により推定された顔向きを加算することにより、検出対象者の視線方向を求める。例えば、左右方向の顔向きがθfx°、上下方向の顔向きがθfy°と推定され、左右方向の瞳方向がθpx°、上下方向の瞳方向がθpy°と推定されている場合、左右方向の視線方向θsx°および上下方向の視線方向θsy°は、以下の式（１）および（２）により計算される。
【００７４】
θsx＝θfx＋θpx  ・・・（１）
θsy＝θfy＋θpy  ・・・（２）
【００７５】
ステップＳ５７において、検出部１２２は、瞳方向および視線方向を出力する。すなわち、瞳方向推定部１４５は、推定した瞳方向を示す情報を視線検出装置１１２の後段に出力し、視線方向計算部１４６は、計算した視線方向を示す情報を視線検出装置１１２の後段に出力する。その後、検出処理は終了する。
【００７６】
以上のようにして、検出対象者の顔向きや個人差に関わらず、検出対象者の瞳方向および視線方向を正確に検出することができる。例えば、図８乃至図１０を参照して、単純に検出対象者の顔および視線が正面を向いているときの目の両端に対する瞳の中心の位置に基づいて、検出対象者の瞳方向を検出する場合と比較してみる。
【００７７】
図８は、検出対象者３５１の顔および瞳がカメラ１１１に対して正面の方向を向いている場合の目頭Ｐｅ５１、目尻Ｐｅ５２および瞳の中心Ｐｂ５１の位置の例を示している。このときの目頭Ｐｅ５１および目尻Ｐｅ５２と瞳の中心Ｐｂ５１との位置関係に基づいて、検出対象者３５１の瞳方向を検出する場合について考える。
【００７８】
図９に示されるように、検出対象者３５１の顔がカメラ１１１に対して正面の方向を向いたまま、瞳が左方向にθ１度の方向を向いた場合、目頭Ｐｅ６１および目尻Ｐｅ６２は、図８の目頭Ｐｅ５１および目尻Ｐｅ５２とほぼ同じ位置に検出される。この場合、検出対象者３５１の瞳方向を検出するための基準となる基準位置Ｐｘ６１は、目頭Ｐｅ６１と基準位置Ｐｘ６１の間の長さ：基準位置Ｐｘ６１と目尻Ｐｅ６２の間の長さ≒目頭Ｐｅ５１と瞳の中心Ｐｂ５１の間の長さ：瞳の中心Ｐｂ５１と目尻Ｐｅ５２の間の長さとなる位置に設定され、その結果、図８の瞳の中心Ｐｂ５１とほぼ同じ位置に設定される。そして、実際の瞳の中心Ｐｂ６１と基準位置Ｐｘ６１との差に基づいて、検出対象者３５１の瞳方向は、左方向にθ１度の方向を向いていると正確に検出することができる。
【００７９】
一方、図１０に示されるように、検出対象者３５１の顔がカメラ１１１に対して左方向にθ１度の方向を向き、瞳が顔の正面方向を向いている場合、基準位置Ｐｘ７１は、目頭Ｐｅ７１と基準位置Ｐｘ７１の間の長さ：基準位置Ｐｘ７１と目尻Ｐｅ７２の間の長さ≒目頭Ｐｅ５１と瞳の中心Ｐｂ５１の間の長さ：瞳の中心Ｐｂ５１と目尻Ｐｅ５２の間の長さとなる位置に設定される。そして、実際の瞳の中心Ｐｂ７１が基準位置Ｐｘ７１から左方向にずれているため、検出対象者３５１の瞳方向は、正面（０度）の方向を向いているにも関わらず、左方向を向いていると誤検出されてしまう。
【００８０】
一方、視線検出装置１１２では、上述したように、顔向きおよび瞳方向の複数の組み合わせにおける人の目の輪郭に対する瞳の位置のデータに基づいて、瞳方向が推定されるため、図１０のように検出対象者３５１がカメラ１１１に対して正面を向いてなくても、検出対象者３５１の瞳方向を正確に推定することが可能である。
【００８１】
また、上述した相関関係を学習することにより、例えば、カメラ１１１の性能や設置位置の違いなど、視線検出システム１０１を使用する条件や環境などの違いに柔軟に対応し、正確に瞳方向および視線方向を検出することが可能となる。
【００８２】
なお、以上の説明では、顔情報データおよび学習データに瞳方向を用いる例を示したが、瞳方向の代わりに視線方向、すなわち、カメラ１１１から見た検出対象者の視線の方向を用いるようにしてもよい。これにより、上述した図７のステップＳ５５において、検出対象者の視線方向が推定された後、ステップＳ５６において、検出対象者の顔向きおよび視線方向に基づいて、瞳方向が計算されるようになる。
【００８３】
また、検出対象者が特定の人に限定される場合、検出対象者ごとに学習データを測定し、検出対象者ごとの相関関係を分析し利用することで、より正確に瞳方向および視線方向を検出することが可能になる。
【００８４】
なお、本発明は、ユーザの視線や視点を利用する装置に適用することができる。例えば、被写体の視線を検出して撮影の制御を行うカメラ、運転者の視線の方向により運転を支援する自動車の運転支援装置、ユーザの視点により表示を制御するディスプレイ、人の視線の変化により不審者を検出する不審者検出装置などに適用することが可能である。
【００８５】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【００８６】
図１１は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【００８７】
コンピュータにおいて、CPU（Central Processing Unit）５０１，ROM（Read Only Memory）５０２，RAM（Random Access Memory）５０３は、バス５０４により相互に接続されている。
【００８８】
バス５０４には、さらに、入出力インタフェース５０５が接続されている。入出力インタフェース５０５には、キーボード、マウス、マイクロホンなどよりなる入力部５０６、ディスプレイ、スピーカなどよりなる出力部５０７、ハードディスクや不揮発性のメモリなどよりなる記憶部５０８、ネットワークインタフェースなどよりなる通信部５０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア５１１を駆動するドライブ５１０が接続されている。
【００８９】
以上のように構成されるコンピュータでは、CPU５０１が、例えば、記憶部５０８に記憶されているプログラムを、入出力インタフェース５０５及びバス５０４を介して、RAM５０３にロードして実行することにより、上述した一連の処理が行われる。
【００９０】
コンピュータ（CPU５０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア５１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【００９１】
そして、プログラムは、リムーバブルメディア５１１をドライブ５１０に装着することにより、入出力インタフェース５０５を介して、記憶部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記憶部５０８にインストールすることができる。その他、プログラムは、ROM５０２や記憶部５０８に、あらかじめインストールしておくことができる。
【００９２】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【００９３】
また、本明細書において、システムの用語は、複数の装置、手段などより構成される全体的な装置を意味するものとする。
【００９４】
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【００９５】
【図１】本発明を適用した視線検出システムの一実施の形態を示すブロック図である。
【図２】顔向き、瞳方向、視線方向の定義を説明するための図である。
【図３】学習処理について説明するためのフローチャートである。
【図４】特徴パラメータの例を説明するための図である。
【図５】特徴パラメータの他の例を説明するための図である。
【図６】学習データの分布を表す超平面について説明するための図である。
【図７】検出処理を説明するためのフローチャートである。
【図８】本発明の効果について説明するための図である。
【図９】本発明の効果について説明するための図である。
【図１０】本発明の効果について説明するための図である。
【図１１】コンピュータの構成の例を示すブロック図である。
【符号の説明】
【００９６】
１０１  視線検出システム
１１１  カメラ
１１２  視線検出装置
１２１  学習部
１２２  検出部
１３１  目検出部
１３２  瞳検出部
１３３  特徴パラメータ計算部
１３４  学習データ生成部
１３５  学習データ蓄積部
１３６  相関関係分析部
１４１  顔向き推定部
１４２  目検出部
１４３  瞳検出部
１４４  特徴パラメータ計算部
１４５  瞳方向推定部
１４６  視線方向計算部
【図１】
0004998364.tif 000002
【図２】
0004998364.tif 000003
【図３】
0004998364.tif 000004
【図４】
0004998364.tif 000005
【図５】
0004998364.tif 000006
【図６】
0004998364.tif 000007
【図７】
0004998364.tif 000008
【図８】
0004998364.tif 000009
【図９】
0004998364.tif 000010
【図１０】
0004998364.tif 000011
【図１１】
0004998364.tif 000012