(57)【要約】【課題】視線検出処理の処理負荷を軽減し、効率的に視線検出処理を実行することが可能な視線検出装置、視線検出プログラム及び視線検出方法を提供すること。【解決手段】撮像装置によって撮像されたユーザの顔画像の特徴量を抽出し、抽出した特徴量に基づいて、顔画像の特徴量を含む条件と視線算出処理を実行するか否かを示す情報を対応付けたルールセットを格納したルールデータベースを参照して、ユーザの視線算出処理を実行するか否かを判定し、視線算出処理を実行すると判定された場合、取得した顔画像の特徴量に基づいて、ユーザの視線算出処理を実行する。【選択図】図１
2015201096.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置によって撮像されたユーザの顔画像を前記撮像装置から取得する画像取得部と、
前記画像取得部によって取得した顔画像の特徴量を抽出する特徴量抽出部と、
前記特徴量抽出部によって抽出した特徴量に基づいて、前記顔画像の特徴量を含む条件と視線算出処理を実行するか否かを示す情報を対応付けたルールセットを格納したルールデータベースを参照し、前記ユーザの視線算出処理を実行するか否かを判定する視線算出判定部と、
前記視線算出判定部によって視線算出処理を実行すると判定された場合、前記画像取得部によって取得した顔画像の特徴量に基づいて、前記ユーザの視線算出処理を実行する視線算出部と、
を備えることを特徴とする視線検出装置。
【請求項２】
前記視線算出部によって実行した視線算出処理の結果を出力する結果出力部、
を更に備えることを特徴とする請求項１に記載の視線検出装置。
【請求項３】
前記特徴量抽出部によって抽出した現フレームの顔画像の特徴量を１フレーム前の顔画像の特徴量と比較する比較部、
を更に備え、
前記ルールデータベースは、現フレームの顔画像の特徴量が１フレーム前の顔画像の特徴量と所定割合以上で一致する場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定部は、前記比較部によって比較した結果、現フレームの特徴量と１フレーム前の顔画像の特徴量が所定割合以上で一致した場合、前記視線算出処理を実行しないと判定し、
前記結果出力部は、前記１フレーム前の顔画像の特徴量に基づいて実行した視線算出処理の結果を出力する、
ことを特徴とする請求項２に記載の視線検出装置。
【請求項４】
前記特徴量抽出部によって抽出した現フレームの顔画像の特徴量を１フレーム前の顔画像の特徴量と比較する比較部、
を更に備え、
前記ルールデータベースは、現フレームの顔画像の特徴量の数が１フレーム前の顔画像の特徴量の数と比較して所定数以上変化し、変化した特徴量の所定方向の変化量が所定値以内である場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定部は、前記比較部によって比較した結果、現フレームの特徴量の数が１フレーム前の顔画像の特徴量の数と比較して所定数以上変化し、変化した特徴量の所定方向の変化量が所定値以内である場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする請求項１又は２に記載の視線検出装置。
【請求項５】
前記画像取得部は、前記取得した顔画像から所定範囲内の右目周辺領域及び左目周辺領域を特定し、
前記ルールデータベースは、右目周辺領域及び左目周辺領域の特徴量の左右それぞれの方向の画素が所定数以上白画素でない場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定部は、前記画像取得部によって特定された右目周辺領域及び左目周辺領域の特徴量の左右それぞれの方向の画素が所定数以上白画素でない場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする請求項１又は２に記載の視線検出装置。
【請求項６】
前記画像取得部によって取得した顔画像から顔面領域を検出する顔面検出部、
を更に備え、
前記ルールデータベースは、顔面領域の大きさが所定値より小さい場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定部は、前記顔面検出部によって検出された顔面領域の大きさが所定値より小さい場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする請求項１又は２に記載の視線検出装置。
【請求項７】
前記画像取得部によって取得した顔画像から顔面領域を検出する顔面検出部、
を更に備え、
前記特徴量抽出部は、前記顔面検出部によって検出した顔面領域の特徴量を抽出し、
前記ルールデータベースは、顔面領域で特徴量を抽出しない場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定部は、前記特徴量抽出部によって顔面領域で特徴量を抽出しない場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする請求項１又は２に記載の視線検出装置。
【請求項８】
前記画像取得部によって取得した顔画像から顔面領域を検出する顔面検出部、
を更に備え、
前記特徴量抽出部は、前記顔面検出部によって検出した顔面領域の特徴量を抽出し、
前記ルールデータベースは、顔面領域の特徴量が所定の範囲外である場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定部は、前記特徴量抽出部によって抽出された顔面領域の特徴量が所定値の範囲外である場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする請求項１又は２に記載の視線検出装置。
【請求項９】
前記特徴量抽出部によって抽出した特徴量に、前記視線算出処理の実行優先度を対応付けて設定する優先度設定部、
を更に備え、
前記視線算出判定部は、前記特徴量抽出部によって抽出した特徴量の優先度に従って前記視線算出処理を実行すると判定する、
ことを特徴とする請求項１乃至８の何れか１項に記載の視線検出装置。
【請求項１０】
前記画像取得部は、第１の撮像装置によって撮像された第１の顔画像及び第２の撮像装置によって撮像された第２の顔画像を取得し、
前記特徴量抽出部は、前記画像取得部によって取得した第１の顔画像の特徴量及び第２の顔画像の特徴量を抽出し、
前記ルールデータベースは、２つの顔画像の特徴量が２つの顔画像のオーバーラップ領域内にある場合、何れか１つの顔画像の特徴量に基づいて前記視線算出処理を実行するというルールセットを含み、
前記視線算出判定部は、前記特徴量抽出部によって抽出した第１の顔画像の特徴量と第２の顔画像の特徴量が前記画像取得部によって取得した第１の顔画像と第２の顔画像のオーバーラップ領域内にある場合、前記第１の顔画像の特徴量及び／又は前記第２の顔画像の特徴量に基づいて前記視線算出処理を実行すると判定する、
ことを特徴とする請求項１又は２に記載の視線検出装置。
【請求項１１】
視線検出装置のコンピュータに、
撮像装置によって撮像されたユーザの顔画像を前記撮像装置から取得し、
前記取得した顔画像の特徴量を抽出し、
前記抽出した特徴量に基づいて、前記顔画像の特徴量を含む条件と視線算出処理を実行するか否かを示す情報を対応付けたルールセットを格納したルールデータベースを参照して、前記ユーザの視線算出処理を実行するか否かを判定し、
前記視線算出処理を実行すると判定された場合、前記取得した顔画像の特徴量に基づいて、前記ユーザの視線算出処理を実行する、
処理を実行させることを特徴とする視線検出プログラム。
【請求項１２】
視線検出装置のコンピュータが実行する視線検出方法であって、
撮像装置によって撮像されたユーザの顔画像を前記撮像装置から取得し、
前記取得した顔画像の特徴量を抽出し、
前記抽出した特徴量に基づいて、前記顔画像の特徴量を含む条件と視線算出処理を実行するか否かを示す情報を対応付けたルールセットを格納したルールデータベースを参照して、前記ユーザの視線算出処理を実行するか否かを判定し、
前記視線算出処理を実行すると判定された場合、前記取得した顔画像の特徴量に基づいて、前記ユーザの視線算出処理を実行する、
ことを特徴とする視線検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの視線を検出する視線検出装置、視線検出プログラム及び視線検出方法に関する。
【背景技術】
【０００２】
従来、ユーザの視線を検出する視線検出技術は、入力インターフェース、ユーザ状態の判定などに活用されている。例えば、入力インターフェースとしては、ユーザの視線をデータとして検出し、検出された視線データを用いてコンピュータの画面上のアイコンなどを操作する技術に活用されている。また、ユーザ状態の判定としては、車両走行中に運転者の視線を検出することにより、運転者が脇見運転をしているか否かを判定して警報音を出力する技術に活用されている。
【０００３】
特に、非接触のカメラ等を用いた視線検出技術は、ユーザの負担が少なく利用されることも多い。例えば、カメラで撮像した画像からユーザの角膜反射領域を抽出することで、視線を検出する角膜反射法がある。その応用技術として、複数の角膜反射領域の候補の中から、眼鏡レンズの反射によるものを除くことにより最適な角膜反射領域を選択する技術が開示されている（例えば、特許文献１を参照。）。
【０００４】
また、視線検出技術に関連する技術として、以下の技術が開示されている。
ユーザの顔画像から目、瞬きを検出し追跡する技術（例えば、特許文献２を参照。）。
【０００５】
対象画像から抽出したエッジ画像に基づいて、対象画像から顔画像を含むと思われる部分画像を抽出し、顔画像と非顔画像とを識別するための学習情報を保持する学習辞書を参照して、抽出された部分画像が、顔画像を含んでいるか否かを識別する技術（例えば、特許文献３を参照。）。
【０００６】
遺伝的アルゴリズムを用いて眼球をモデル化したテンプレート画像を、ユーザの顔画像を撮像したターゲット画像上の各所に動かしてテンプレートマッチングすることで、ターゲット画像からユーザの眼球を検出する技術（例えば、特許文献４を参照。）。
【０００７】
ユーザの入力顔画像より２次元テンプレートを用いて、より正確に目の輪郭の抽出を行う技術（例えば、特許文献５を参照。）。
【０００８】
眼鏡を装着したユーザの撮影画像から、眼鏡での照明反射部分を検出する技術（例えば、特許文献６を参照。）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１２−２３９５５０号公報
【特許文献２】特開２００１−４３３８２号公報
【特許文献３】特開２００３−４４８５３号公報
【特許文献４】特開２０１３−４５１５１号公報
【特許文献５】特開２００１−２２９３３号公報
【特許文献６】特開２００１−１６７２８４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述のような従来の視線検出技術は、画像内に角膜反射領域が存在することを前提にしている。また、視線検出技術においては、撮像した画像から黒目の位置を検出する処理、黒目の位置から瞳孔位置を検出する処理、及び角膜反射の位置との位置関係から視線位置を特定する処理等、視線算出のための計算機の負荷が大きいという事実があった。
【００１１】
しかしながら、実際に視線算出を行う際に、例えば閉眼時などでは、画像内に角膜反射領域が存在しない場合がある。このような場合であっても、従来の視線検出処理においては角膜反射領域の判定処理を行っていた。また、撮像した画像には、視線の位置が前フレームから動いていないフレームや、視線位置の検出ができないフレームも含まれている。このような場合にも、従来は視線検出処理を行っていた。
【００１２】
すなわち、従来の視線検出技術においては、明らかに視線検出が行えないような場合であっても、視線算出処理を実行してしまい、無駄な演算処理を実行していた、という問題点があった。
【００１３】
１つの側面において、本発明は、視線検出処理の処理負荷を軽減し、効率的に視線検出処理を実行することが可能な視線検出装置、視線検出プログラム及び視線検出方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
１つの案では、視線検出装置は、画像取得部、特徴量抽出部、視線算出判定部、及び視線算出部を含む。
【００１５】
画像取得部は、撮像装置によって撮像されたユーザの顔画像を前記撮像装置から取得する。特徴量抽出部は、前記画像取得部によって取得した顔画像の特徴量を抽出する。視線算出判定部は、前記特徴量抽出部によって抽出した特徴量に基づいて、前記顔画像の特徴量を含む条件と視線算出処理を実行するか否かを示す情報を対応付けたルールセットを格納したルールデータベースを参照し、前記ユーザの視線算出処理を実行するか否かを判定する。視線算出部は、前記視線算出判定部によって視線算出処理を実行すると判定された場合、前記画像取得部によって取得した顔画像の特徴量に基づいて、前記ユーザの視線算出処理を実行する。
【発明の効果】
【００１６】
実施の形態によれば、視線検出処理の処理負荷を軽減し、効率的に視線検出処理を実行することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施の形態に係る視線検出装置の機能構成を示す図である。
【図２】視線検出装置のコンピュータが実行する視線検出処理の基本的な流れ（その１）を示すフローチャートである。
【図３】視線検出装置のコンピュータが実行する視線検出処理の基本的な流れ（その２）を示すフローチャートである。
【図４】第１の実施例に係る視線検出装置の機能構成を示す図である。
【図５】第１の実施例に係る視線検出装置のコンピュータが実行する逐次処理による視線検出処理の流れを示すフローチャートである。
【図６】候補領域データベースの例を示す図である。
【図７】ルールデータベースの例（その１）を示す図ある。
【図８】瞬目と判断される場合の顔画像の例を示す図である。
【図９】瞬目と判断されない場合の顔画像の例を示す図である。
【図１０】第２の実施例に係る視線検出装置のコンピュータが実行するバッチ処理による視線検出処理の流れを示すフローチャートである。
【図１１】処理データベースの例（その１）を示す図ある。
【図１２】第３の実施例に係る視線検出装置のコンピュータが実行する逐次処理による視線検出処理の流れを示すフローチャートである。
【図１３】顔画像の右目周辺領域及び左目周辺領域を説明するための図である。
【図１４】ルールデータベースの例（その２）を示す図である。
【図１５】横目の判断の顔画像の例を示す図である。
【図１６】第４乃至第８の実施例に係る視線検出装置の機能構成を示す図である。
【図１７】第４の実施例に係る視線検出装置のコンピュータが実行するバッチ処理による視線検出処理の流れを示すフローチャートである。
【図１８】ルールデータベースの例（その３）を示す図である。
【図１９】第５の実施例に係る視線検出装置のコンピュータが実行するバッチ処理による視線検出処理の流れを示すフローチャートである。
【図２０】処理データベースの例（その２）を示す図ある。
【図２１】第６の実施例に係る視線検出装置のコンピュータが実行する逐次処理による視線検出処理の流れを示すフローチャートである。
【図２２】オーバーラップデータベースの例を示す図ある。
【図２３】ルールデータベースの例（その４）を示す図である。
【図２４】オーバーラップ画像の例を示す図である。
【図２５】第７の実施例に係る視線検出装置のコンピュータが実行する逐次処理による視線検出処理の流れを示すフローチャート（その１）である。
【図２６】第７の実施例に係る視線検出装置のコンピュータが実行する逐次処理による視線検出処理の流れを示すフローチャート（その２）である。
【図２７】第８の実施例に係る視線検出装置のコンピュータが実行するバッチ処理による視線検出処理の流れを示すフローチャート（その１）である。
【図２８】第８の実施例に係る視線検出装置のコンピュータが実行するバッチ処理による視線検出処理の流れを示すフローチャート（その２）である。
【図２９】情報処理装置の構成図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しながら、実施の形態について詳細に説明する。
一般的に、視線算出処理は、ユーザの視線検出を目的としている。そのため、基本的にはすべての入力画像において視線算出処理を実行する。しかし、視線算出処理が実行不可能な状況や、視線算出処理の実行が無用な状況においては、視線算出処理が不要になる。
【００１９】
視線算出処理が実行不可能な状況としては、例えば、ユーザが瞬き（瞬目）をしている状態、閉眼の状態、よそ見、寄り眼、横目をしている状態がある。この場合、視線算出処理に必要な情報、例えば角膜反射法で利用する角膜反射領域が入力画像に存在しないため、視線算出処理が実行できない。また、視線算出処理が不要な状況としては、例えば、停留している状態（注視）などがある。この場合、視線算出処理に必要な画像は、同様のフレームが連続するため、視線算出処理の結果も同様となり、視線演算処理の実行が無用となる。
【００２０】
そこで、角膜反射領域の候補などの入力画像内の視線に関する特徴量に基づいて、どのような状況の画像であるかを判定する。この判定結果から、視線算出処理を行う対象とするかどうかを判定し、対象とする場合のみに視線算出処理を行う。視線算出処理を行うことが必要な場合のみ、視線算出処理を行うことで、視線検出を行う際の計算機の処理負荷を軽減することが可能になる。
【００２１】
図１は、本実施の形態に係る視線検出装置の機能構成を示す図である。
図１において、視線検出装置１Ａは、例えば、ワークステーション、パーソナルコンピュータ、携帯通信端末等の情報処理装置であり、撮像装置２と接続されている。視線検出装置１Ａは、画像取得部１１、特徴量抽出部１２、ルール記憶部１３、視線算出判定部１４、視線算出部１５、及び結果出力部１６を備える。
【００２２】
撮像装置２は、例えば、デジタルカメラ、カメラ付携帯電話、監視カメラ、テレビ電話用カメラ、又はＷｅｂカメラ等である。そして、撮像装置２は、例えば、ユーザの顔、及び顔周辺を含む顔画像を撮像する。
【００２３】
画像取得部１１は、撮像装置２によって撮像されたユーザの顔画像を、伝送経路を経由して撮像装置２から取得する。
【００２４】
特徴量抽出部１２は、画像取得部１１によって取得した顔画像の特徴量を抽出する。ここで、特徴量とは、例えば角膜反射法で利用する角膜反射領域の候補である。角膜反射領域は、眼球に入射した光が角膜で反射した反射像の領域である。
【００２５】
ルール記憶部１３は、後述するルールデータベース（図７、図１４、図１８、及び図２３を参照）としてルールセットを格納する。ルールデータベースは、顔画像の特徴量を含む条件と視線算出処理を実行するか否かを示す情報を対応付けたルールセットを格納する。
【００２６】
例えば、ルールデータベースは、現フレームの顔画像の特徴量が１フレーム前の顔画像の特徴量と所定割合以上で一致する場合、視線算出処理を実行しないというルールセットを有する。また、ルールデータベースは、現フレームの顔画像の特徴量の数が１フレーム前の顔画像の特徴量の数と比較して所定数以上変化し、変化した特徴量の所定方向の変化量が所定値以内である場合、視線算出処理を実行しないというルールセットを有する。また、ルールデータベースは、右目周辺領域及び左目周辺領域の特徴量の左右それぞれの方向の画素が所定数以上白画素でない場合、視線算出処理を実行しないというルールセットを有する。また、ルールデータベースは、顔面領域の大きさが所定値より小さい場合、視線算出処理を実行しないというルールセットを有する。また、ルールデータベースは、顔面領域で特徴量を抽出しない場合、視線算出処理を実行しないというルールセットを有する。また、ルールデータベースは、顔面領域の特徴量の大きさが所定値より大きい場合、視線算出処理を実行しないというルールセットを有する。また、ルールデータベースは、２つの顔画像の特徴量が２つの顔画像のオーバーラップ領域内にある場合、何れか１つの顔画像の特徴量に基づいて視線算出処理を実行するというルールセットを有する。
【００２７】
視線算出判定部１４は、特徴量抽出部１２によって抽出した特徴量に基づいて、ルールデータベースを参照し、ユーザの視線算出処理を実行するか否かを判定する。
【００２８】
視線算出部１５は、視線算出判定部１４によって視線算出処理を実行すると判定された場合、画像取得部１１によって取得した顔画像の特徴量に基づいて、ユーザの視線算出処理を実行する。視線算出処理の基本原理は、公知であり、例えば、角膜反射法では角膜反射領域の中心と瞳孔の中心から視線を算出する。
【００２９】
結果出力部１６は、視線算出部１５によって実行した視線算出処理の結果を出力する。
図２は、視線検出装置のコンピュータが実行する視線検出処理の基本的な流れ（その１）を示すフローチャートである。
【００３０】
図２に示すフローチャートは、所謂バッチ処理による流れを示す。
まず、ステップＳ２０１において、画像取得部１１が、撮像装置２によって撮像されたユーザの顔画像を取得する。
【００３１】
ステップＳ２０２において、ステップＳ２０１で取得した顔画像について、特徴量抽出部１２が顔画像の特徴量を抽出する。
【００３２】
ステップＳ２０３において、視線算出判定部１４が、ステップＳ２０２で抽出した特徴量に基づいて、ルールデータベースを参照し、ステップＳ２０４において、視線算出処理を実行するか否かを判定する。
【００３３】
そして、ステップＳ２０５において、視線算出判定部１４が、ステップＳ２０４で視線算出処理を実行すると判定した顔画像を、後述する処理データベース（図１１及び図２０を参照）に格納する。
【００３４】
ステップＳ２０６において、視線算出部１５が、ステップＳ２０１で取得した顔画像の特徴量に基づいて視線算出処理を実行する。
【００３５】
リアルタイムでの処理が必要ではない場合や、キャリブレーションを事後に行う場合などに、このようなバッチ処理で視線検出処理を実行する。
【００３６】
図３は、視線検出装置のコンピュータが実行する視線検出処理の基本的な流れ（その２）を示すフローチャートである。
【００３７】
図３に示すフローチャートは、所謂逐次処理による流れを示す。
ステップＳ２０１乃至Ｓ２０３は、図２に示すフローチャートと同様であるので説明を省略する。
【００３８】
ステップＳ３０１において、視線算出部１５が、ステップＳ２０４で視線算出処理を実行すると視線算出判定部１４が判定した顔画像に基づいて、視線算出処理を実行する。
【００３９】
そして、ステップＳ３０２において、結果出力部１６が、ステップＳ３０１で実行した視線算出処理の結果を直ぐに出力する。
【００４０】
このように逐次処理で視線検出処理を実行することにより、リアルタイムに視線算出を行うことができる。
【００４１】
図４は、第１の実施例に係る視線検出装置の機能構成を示す図である。
図４において、視線検出装置１Ｂは、例えば、ワークステーション、パーソナルコンピュータ、携帯通信端末等の情報処理装置であり、撮像装置２と接続されている。視線検出装置１Ｂは、画像取得部１１、特徴量抽出部１２、比較部４１、ルール記憶部１３、視線算出判定部１４、特徴量記憶部４２、視線算出部１５、結果記憶部４３、及び結果出力部１６を備える。
【００４２】
撮像装置２は、例えば、デジタルカメラ等であり、例えば、ユーザの顔、あるいは顔周辺を含む顔画像を撮像する。ここで、顔画像とは、必ずしもユーザの顔の全体が含まれている必要ななく、少なくともユーザの目が含まれていればよい。
【００４３】
画像取得部１１は、撮像装置２によって撮像されたユーザの顔画像を、伝送経路を経由して撮像装置２から取得する。
【００４４】
特徴量抽出部１２は、画像取得部１１によって取得した顔画像の特徴量、例えば角膜反射法で利用する角膜反射領域の候補を抽出する。そして、抽出した特徴量を特徴量記憶部４２に格納する。
【００４５】
比較部４１は、特徴量抽出部１２によって抽出した現フレームの顔画像の特徴量を１フレーム前の顔画像の特徴量と比較する。
【００４６】
ルール記憶部１３は、ルールデータベースとしてルールセットを格納する。ルールデータベースは、現フレームの顔画像の特徴量が１フレーム前の顔画像の特徴量と所定割合以上で一致する場合、視線算出処理を実行しないというルールセットを有する。このルールセットは、ユーザの視線が停留していることを意味する。また、ルールデータベースは、現フレームの顔画像の特徴量の数が１フレーム前の顔画像の特徴量の数と比較して所定数以上変化し、変化した特徴量の所定方向の変化量が所定値以内である場合、視線算出処理を実行しないというルールセットを有する。このルールセットは、ユーザが瞬目中であることを意味する。
【００４７】
視線算出判定部１４は、特徴量抽出部１２によって抽出した特徴量に基づいて、ルールデータベースを参照し、ユーザの視線算出処理を実行するか否かを判定する。例えば、視線算出判定部１４は、比較部４１によって比較した結果、現フレームの特徴量と１フレーム前の顔画像の特徴量が所定割合以上で一致した場合、視線算出処理を実行しないと判定する。また、視線算出判定部１４は、比較部４１によって比較した結果、現フレームの特徴量の数が１フレーム前の顔画像の特徴量の数と比較して所定数以上変化し、変化した特徴量の所定方向の変化量が所定値以内である場合、視線算出処理を実行しないと判定する。
【００４８】
特徴量記憶部４２は、視線算出判定部１４によって視線算出処理を実行すると判定された場合、特徴量抽出部１２によって抽出した顔画像の特徴量を格納する。
【００４９】
視線算出部１５は、視線算出判定部１４によって視線算出処理を実行すると判定された場合、画像取得部１１によって取得した顔画像の特徴量に基づいて、ユーザの視線算出処理を実行する。例えば、角膜反射法では角膜反射領域の中心と瞳孔の中心から視線を算出する。
【００５０】
結果記憶部４３は、視線算出部１５によって実行した視線算出処理の結果、例えば、注視点の座標、視線ベクトル等を記憶する。これは、ユーザの目が停留であると判定されたとき、記憶された１フレーム前の視線計算結果を出力するためである。
結果出力部１６は、視線算出部１５によって実行した視線算出処理の結果を出力する。
【００５１】
図５は、第１の実施例に係る視線検出装置のコンピュータが実行する逐次処理による視線検出処理の流れを示すフローチャートである。図６は、候補領域データベースの例を示す図である。図７は、ルールデータベースの例（その１）を示す図ある。図８は、瞬目と判断される場合の顔画像の例を示す図である。図９は、瞬目と判断されない場合の顔画像の例を示す図である。
【００５２】
図５に示したフローチャートは、視線算出処理が実行不可能な状況として、ユーザが瞬目又は停留をしている状態を判定し、視線算出処理を行うことが必要な場合のみ、視線算出処理を行う場合の視線検出処理の流れを示す。判定する基準は、事前にルールデータベースに格納されている。上述した視線検出装置１Ｂは、前述したような情報処理装置が下記のような視線検出処理を実行することにより実現する。
【００５３】
まず、図５のステップＳ５０１において、画像取得部１１は、撮像装置２によって撮像されたユーザの顔画像を、伝送経路を経由して撮像装置２から取得する。
【００５４】
ステップＳ５０２において、特徴量抽出部１２が、画像取得部１１によって取得した顔画像の特徴量として、角膜反射領域の候補を抽出する。角膜反射領域の候補は、顔画像内の明るい輝度の領域であり、二値化処理、フィルタ処理、テンプレートマッチング処理、コーナー検出処理などで抽出することが可能である。そして、ステップＳ５０３において、抽出した角膜反射領域の候補を、図６に示すような候補領域データベース６１として特徴量記憶部４２に格納する。図６の候補領域データベース６１には、例えば、時刻「０時０分１秒０３３」に撮像された顔画像の座標（１０，１０）、（１０，１２）、（１００，１４）、（１００，１２）、（１００，１５）が、角膜反射領域の候補として格納されている。
【００５５】
ステップＳ５０４において、ステップＳ５０１で取得した顔画像が最初の画像か否かを判断する。
【００５６】
ステップＳ５０１で取得した顔画像は最初の画像であるので（ステップＳ５０４：Ｙｅｓ）、ステップＳ５０５において、本視線検出処理を終了するか否かを判断する。外部からの終了指示等がない限り、通常は本視線検出処理を終了しない。
【００５７】
終了しない場合（ステップＳ５０５：Ｎｏ）、ステップＳ５０６において、次の顔画像を取得する。
【００５８】
そして、ステップＳ５０６で取得した次の顔画像について、ステップＳ５０２において、特徴量抽出部１２が、角膜反射領域の候補を抽出し、ステップＳ５０３において、抽出した角膜反射領域の候補を、図６に示すような候補領域データベース６１に格納する。
【００５９】
そして、再度のステップＳ５０４において、ステップＳ５０６で取得した顔画像が最初の画像か否かを判断する。
【００６０】
ステップＳ５０６で取得した顔画像は最初の画像でないので（ステップＳ５０４：Ｎｏ）、ステップＳ５０７において、視線算出判定部１４が、図７に示すようなルールデータベース７１を参照し、比較部４１が、現フレームの顔画像の角膜反射領域の候補の数と、１フレーム前の顔画像の角膜反射領域の候補の数を比較する。
【００６１】
比較した結果、角膜反射領域の候補の数が同じでなければ（ステップＳ５０７：Ｎｏ）、ステップＳ５０８において、その変化した角膜反射領域の候補の数が一定数、例えば２個以上か否かを判断する。そして、一定数以上変化した場合（ステップＳ５０８：Ｙｅｓ）、ステップＳ５０９において、変化した角膜反射領域の候補のｙ座標値、すなわち顔画像の上下方向の座標値が一定範囲内であるか否かを判断する。一定範囲内であれば（ステップＳ５０９：Ｙｅｓ）、ステップＳ５１０において、視線算出判定部１４が、図８に示すように瞬目であると判定する。すなわち、前フレームの顔画像における角膜反射と比べて、一定数以上の角膜反射の数が減少をしていれば、瞬目をしているフレームであると判断する。これは、瞼が黒目の部分に掛かってくることで、黒目の部分に発生する角膜反射が減少することを判断に利用している。
【００６２】
例えば、図８の（Ａ）には、７個の１フレーム前の角膜反射領域の候補８１、８２、８３、８４、８５、８６、８７が抽出されている。図８の（Ｂ）には、５個の現フレームの角膜反射領域の候補８１、８２、８５、８６、８７が抽出されている。２個の角膜反射領域の候補８３、８４は、現フレームでは角膜反射領域の候補として抽出されていない。すなわち、図８に示した例では、ステップＳ５０７において、角膜反射領域の候補の数が同じでないと判断される（ステップＳ５０７：Ｎｏ）。ステップＳ５０８において、角膜反射領域の候補の数が２個以上変化したと判断される（ステップＳ５０８：Ｙｅｓ）。ステップＳ５０９において、変化した角膜反射領域の候補８３と８４のｙ座標値が一定範囲内であると判断される（ステップＳ５０９：Ｙｅｓ）。この場合、変化した角膜反射領域の候補８３と８４は、角膜反射領域であり、瞬目によって変化したものと考えられる。
【００６３】
また、図９の（Ａ）には、７個の１フレーム前の角膜反射領域の候補９１、９２、９３、９４、９５、９６、９７が抽出されている。図９の（Ｂ）には、５個の現フレームの角膜反射領域の候補９２、９３、９４、９５、９６が抽出されている。２個の角膜反射領域の候補９１、９７は、現フレームでは角膜反射領域の候補として抽出されていない。すなわち、図９に示した例では、ステップＳ５０７において、角膜反射領域の候補の数が同じでないと判断される（ステップＳ５０７：Ｎｏ）。ステップＳ５０８において、角膜反射領域の候補の数が２個以上変化したと判断される（ステップＳ５０８：Ｙｅｓ）。しかしながら、ステップＳ５０９において、変化した角膜反射領域の候補９１と９７のｙ座標値が一定範囲内でないと判断される（ステップＳ５０９：Ｎｏ）。
【００６４】
そして、変化した角膜反射領域の候補のｙ座標値が一定範囲内でないと判断された場合（ステップＳ５０９：Ｎｏ）、通常通り、ステップＳ５１１において、視線算出部１５が、ステップＳ５０６で取得した顔画像の特徴量に基づいて視線算出処理を実行する。ステップＳ５０８で角膜反射領域の候補の数が２個以上変わっていないと判断された場合も（ステップＳ５０８：Ｎｏ）、ステップＳ５１１において、視線算出部１５が、ステップＳ５０６で取得した顔画像の特徴量に基づいて視線算出処理を実行する。
【００６５】
他方、ステップＳ５０７で現フレームと１フレーム前の顔画像の角膜反射領域の候補の数が同じであると判断された場合（ステップＳ５０７：Ｙｅｓ）、ステップＳ５１２において、現フレームと１フレーム前の顔画像の対応する角膜反射領域の候補の座標値の差の平均値が一定値以内か否かを判断する。
【００６６】
一定値以内でなければ（ステップＳ５１２：Ｎｏ）、現フレームと１フレーム前の顔画像の対応する角膜反射領域の候補の位置が相違していると見なされるので、ステップＳ５１１に進む。
【００６７】
他方、一定値以内であれば（ステップＳ５１２：Ｙｅｓ）、ステップＳ５１３において、現フレームと１フレーム前の顔画像の角膜反射領域の候補の周辺領域の画像を取得する。ステップＳ５１４において、現フレームと１フレーム前の顔画像の対応する周辺領域を比較する。そして、ステップＳ５１５において、視線算出判定部１４が、一致度が９５％を超えているか否かを判断する。
【００６８】
超えていない場合（ステップＳ５１５：Ｎｏ）、ステップＳ５１１に進む。他方、超えている場合（ステップＳ５１５：Ｙｅｓ）、ステップＳ５１６において、視線算出判定部１４が、停留であると判定する。すなわち、黒目の位置を特定し、前フレームの黒目の位置と比較して、位置の変化が所定値以内なら、視線の位置に変化が無いと判断をする。
【００６９】
そして、ステップＳ５１７において、結果出力部１６が、実行した視線検出処理の処理結果を出力する。
【００７０】
このように、視線算出処理を実行すべき顔画像の視線の位置が、以前に撮像したフレームの視線の位置と変わっていないと見なす場合、又は、顔画像からの視線算出処理が実行できないと判断する条件を満たす場合、該当する顔画像を視線算出処理の対象から除外をする。
【００７１】
なお、停留や瞬目の判定を角膜反射候補領域の前フレームとの差分で求めたが、他の方法を用いることも可能である。例えば、停留であれば、虹彩のパターンマッチングなどの方法を用いることも考えられる。また、瞬目であれば、動きベクトルを用いる方式や、ユーザの顔画像から目、瞬きを検出し追跡する技術（例えば、特許文献２）などの方法を用いることも考えられる。
【００７２】
また、更に顔検出処理を行うことで、複数のユーザそれぞれについて、同様の視線検出処理を行うことも可能となる。
【００７３】
図１０は、第２の実施例に係る視線検出装置のコンピュータが実行するバッチ処理による視線検出処理の流れを示すフローチャートである。図１１は、処理データベースの例（その１）を示す図ある。
【００７４】
図５を用いて説明した、第１の実施例に係る視線検出装置のコンピュータが実行する逐次処理による視線検出処理と異なるステップを中心に説明する。
【００７５】
ステップＳ５０１乃至Ｓ５１０、及びＳ５１２乃至Ｓ５１６のステップは、図５を用いて説明した、第１の実施例に係る視線検出装置のコンピュータが実行する逐次処理による視線検出処理と同様である。すなわち、第２の実施例は、顔画像の取得、特徴量の抽出、瞬目の判定、及び停留の判定については、第１の実施例と同様である。判定する基準は、事前にルールデータベースに格納されている。
【００７６】
ステップＳ５０８で、現フレームと１フレーム前の顔画像の角膜反射領域の候補の数が２個以上変わっていないと判断された場合（ステップＳ５０８：Ｎｏ）、ステップＳ１００１において、ステップＳ５０６で取得した顔画像を図１１に示すような処理データベース１１１に格納する。図１１の処理データベース１１１には、例えば、時刻「０時０分０秒０３３」に撮像された顔画像がフレーム１として格納されている。この顔画像は、後に視線算出処理の実行に用いる。
【００７７】
また、ステップＳ５０９で、変化した角膜反射領域の候補のｙ座標値が一定範囲内でない場合（ステップＳ５０９：Ｎｏ）、ステップＳ１００１において、ステップＳ５０６で取得した顔画像を処理データベース１１１に格納する。また、ステップＳ５１２で、現フレームと１フレーム前の顔画像の対応する角膜反射領域の候補の座標値の差の平均値が一定値以内でない場合（ステップＳ５１２）、ステップＳ５１５で、現フレームと１フレーム前の顔画像の対応する周辺領域の一致度が９５％を超えていない場合（ステップＳ５１５：Ｎｏ）も、ステップＳ１００１において、ステップＳ５０６で取得した顔画像を処理データベース１１１に格納する。
【００７８】
本視線検出処理を終了すると判断されると（ステップＳ５０５：Ｙｅｓ）、ステップＳ１００２において、視線算出部１５が、ステップＳ１００１で処理データベース１１１に格納した顔画像の特徴量に基づいて視線算出処理を実行する。
【００７９】
そして、ステップＳ１００３において、結果出力部１６が、ステップＳ１００２で実行した視線検出処理の処理結果を出力する。
【００８０】
図１２は、第３の実施例に係る視線検出装置のコンピュータが実行する逐次処理による視線検出処理の流れを示すフローチャートである。図１３は、顔画像の右目周辺領域及び左目周辺領域を説明するための図である。図１４は、ルールデータベースの例（その２）を示す図である。図１５は、横目の判断の顔画像の例を示す図である。
【００８１】
図１２に示したフローチャートは、視線算出処理が実行不可能な状況として、ユーザが横目をしている状態を判定し、視線算出処理を行うことが必要な場合のみ、視線算出処理を行う場合の視線検出処理の流れを示す。ユーザが横目をしている状況では、黒目の形状を正確に求めることが困難であり、大きな誤差が生じるため視線算出処理が不要と考えられる。
【００８２】
本第３の実施例に係る視線検出処理は、角膜反射候補の領域と顔面領域の情報を用いて、視線算出処理の必要性を判定する。判定する基準は、事前にルールデータベースに格納されている。また、入力された顔画像から顔面領域の検出を行う処理として、公知の技術を用いることが考えられる。例えば、対象画像から抽出したエッジ画像に基づいて顔画像を含むと思われる部分画像を抽出し、顔画像と非顔画像とを識別するための学習辞書を参照して、抽出部分画像が顔画像を含んでいるか否かを識別する技術（例えば、特許文献３）などがある。なお、顔面領域は顔もしくは目の一部を含む領域であってもよい。
【００８３】
まず、図１２のステップＳ５０１において、画像取得部１１が、撮像装置２によって撮像されたユーザの顔画像を、伝送経路を経由して撮像装置２から取得する。ステップＳ１２０１において、画像取得部１１が、取得した顔画像から図１３に示すような顔面領域１３０１の検出を行う。そして、ステップＳ１２０２において、画像取得部１１が、図１３に示すように、検出した顔面領域１３０１から所定範囲内の右目周辺領域１３０２及び左目周辺領域１３０３を特定する。右目周辺領域１３０２は、右目の画像を含み、左目周辺領域１３０３は左目の画像を含む。
【００８４】
ステップＳ１２０３において、特徴量抽出部１２が、画像取得部１１によって検出した顔面領域１３０１の特徴量として、角膜反射領域の候補を抽出する。
【００８５】
次に、ステップＳ１２０４において、特徴量抽出部１２が、ステップＳ１２０３で抽出した角膜反射領域の候補の中から、ステップＳ１２０２で特定した右目周辺領域１３０２にある輝度値の最も高い角膜反射領域の候補を１つ取得する。例えば、黒画素から白画素まで８ビットの２５６階調で表現した場合、２４０以上の輝度値が最も高い輝度値となることが多い。輝度値の最も高い角膜反射領域の候補を取得する理由は、角膜反射領域の可能性が最も高いからである。ステップＳ１２０５において、特徴量抽出部１２が、右目周辺領域１３０２中の輝度値の最も高い角膜反射領域の候補の周辺領域、すなわち角膜周辺領域の可能性が最も高い領域である角膜周辺領域画像を取得する。
【００８６】
ステップＳ１２０６において、視線算出判定部１４が、図１４に示すようなルールデータベース１４１を参照する。そして、ステップＳ１２０５で取得した角膜周辺領域画像内で、角膜反射領域候補の左右（水平方向：ｘ軸方向）それぞれの方向の画素が所定数（例えば、予め定めたｎ個）以上白画素か否かを判断する。ここで、白画素とは、例えば、黒画素から白画素まで８ビットの２５６階調で表現した場合、１９０乃至２３０程度の輝度値が適切である。
【００８７】
角膜反射領域候補の左右の画素が所定数以上白画素である場合（ステップＳ１２０６：Ｙｅｓ）、視線算出判定部１４は横目ではないと判断し、ステップＳ１２０７において、視線算出部１５が、顔画像の特徴量に基づいて視線算出処理を実行する。そして、ステップＳ１２０８において、結果出力部１６が、実行した視線検出処理の処理結果を出力する。例えば、図１５の（Ａ）に示しように、輝度値の最も高い角膜反射領域の候補１５０１の左右には、所定数以上の白画素１５０２及び１５０３が存在する。
【００８８】
他方、ステップＳ１２０６で角膜反射領域候補の左右の画素が所定数以上白画素である場合（ステップＳ１２０６：Ｎｏ）、視線算出判定部１４は横目の可能性があると判断する。例えば、図１５の（Ｂ）に示しように、輝度値の最も高い角膜反射領域の候補１５０４には、片側のみ所定数以上の白画素１５０５が存在する。
【００８９】
そして、ステップＳ１２０９において、特徴量抽出部１２が、ステップＳ１２０３で抽出した角膜反射領域の候補の中から、ステップＳ１２０２で特定した左目周辺領域１３０３にある輝度値の最も高い角膜反射領域の候補を１つ取得する。ステップＳ１２１０において、特徴量抽出部１２が、左目周辺領域１３０３中の輝度値の最も高い角膜反射領域の候補の周辺領域、すなわち角膜周辺領域の可能性が最も高い領域である角膜周辺領域画像を取得する。
【００９０】
ステップＳ１２１１において、視線算出判定部１４が、図１４に示すようなルールデータベース１４１を参照する。そして、ステップＳ１２１０で取得した角膜周辺領域画像内で、角膜反射領域候補の左右（水平方向：ｘ軸方向）それぞれの方向の画素が所定数（例えば、予め定めたｎ個）以上白画素か否かを判断する。
【００９１】
角膜反射領域候補の左右の画素が所定数以上白画素である場合（ステップＳ１２１１：Ｙｅｓ）、視線算出判定部１４は横目ではないと判断し、ステップＳ１２０７において、視線算出部１５が、顔画像の特徴量に基づいて視線算出処理を実行する。そして、ステップＳ１２０８において、結果出力部１６が、実行した視線検出処理の処理結果を出力する。
【００９２】
他方、ステップＳ１２１１で角膜反射領域候補の左右の画素が所定数以上白画素である場合（ステップＳ１２１１：Ｎｏ）、ステップＳ１２１２において、視線算出判定部１４は横目であると判断する。
【００９３】
そして、ステップＳ１２１３において、本視線検出処理を終了するか否かを判断する。外部からの終了指示等がない限り、通常は本視線検出処理を終了しない。終了しない場合（ステップＳ１２１３：Ｎｏ）、ステップＳ１２１４において、次の顔画像を取得する。
【００９４】
以上説明したように、第３の実施例に係る視線検出処理では、角膜反射領域の位置から両側（水平方向）の所定の範囲に、輝度の明るい部分（白目）があるか否かを判断し、一方の側しか輝度の明るいがなければ、横目をしていると判断する。なお、寄り目の場合も同様である。
【００９５】
図１６は、第４乃至第８の実施例に係る視線検出装置の機能構成を示す図である。
図１６において、視線検出装置１Ｃは、例えば、ワークステーション、パーソナルコンピュータ、携帯通信端末等の情報処理装置であり、撮像装置２及びユーザ入力受付装置３と接続されている。視線検出装置１Ｃは、画像取得部１１、顔面検出部１６０１、特徴量抽出部１２、ルール記憶部１３、処理優先度設定部１６０２、視線算出判定部１４、視線算出部１５、結果出力部１６、及びユーザ入力受付部１６０３を備える。
【００９６】
撮像装置２は、例えば、デジタルカメラ等であり、例えば、ユーザの顔、及び顔周辺を含む顔画像を撮像する。撮像装置２は、複数のカメラで構成される場合もある。
【００９７】
ユーザ入力受付装置３は、キーボード、マウス等の入力装置であり、ユーザが処理優先度設定を入力する。
【００９８】
画像取得部１１は、撮像装置２によって撮像されたユーザの顔画像を、伝送経路を経由して撮像装置２から取得する。撮像装置２が複数のカメラから構成されている場合、画像取得部１１は、それぞれの撮像装置２によって撮像された顔画像を、それぞれの撮像装置２から取得する。
【００９９】
顔面検出部１６０１は、画像取得部１１によって取得した顔画像から顔面領域を検出する。例えば、対象画像から抽出したエッジ画像に基づいて顔画像を含むと思われる部分画像を抽出し、顔画像と非顔画像とを識別するための学習辞書を参照して、抽出部分画像が顔画像を含んでいるか否かを識別することにより、顔画像から顔面領域を検出する。
【０１００】
特徴量抽出部１２は、画像取得部１１によって取得した顔画像の特徴量、例えば角膜反射法で利用する角膜反射領域の候補を抽出する。また、特徴量抽出部１２は、顔面検出部１６０１によって検出した顔面領域の特徴量を抽出する。撮像装置２が複数のカメラから構成されている場合、特徴量抽出部１２は、それぞれの顔画像の特徴量を抽出する。そして、抽出した特徴量を特徴量記憶部４２に格納する。
【０１０１】
ルール記憶部１３は、ルールデータベースとしてルールセットを格納する。ルールデータベースは、顔面領域の大きさが所定値より小さい場合、視線算出処理を実行しないというルールセットを有する。このルールセットは、撮像装置２で撮像したユーザの顔が小さ過ぎるため、視線検出を行えないことを意味する。また、ルールデータベースは、抽出した特徴量が顔面領域以外での抽出であり顔面領域で特徴量を抽出しない場合、視線算出処理を実行しないというルールセットを有する。このルールセットは、顔以外の領域で金属等により特徴量が検出されてしまうため、視線検出を行えないことを意味する。また、ルールデータベースは、顔面領域の特徴量の大きさが所定値より大きい場合、視線算出処理を実行しないというルールセットを有する。このルールセットは、眼鏡等による反射によるものであるため、視線検出を行えないことを意味する。また、ルールデータベースは、２つの顔画像の特徴量が２つの顔画像のオーバーラップ領域内にある場合、何れか１つの顔画像の特徴量に基づいて視線算出処理を実行するというルールセットを有する。このルールセットは、何れの顔画像の特徴量に基づいても同様の視線算出結果が得られる可能性が高いため、一方の視線検出で十分であることを意味する。
【０１０２】
処理優先度設定部１６０２は、特徴量抽出部１２によって抽出した顔面領域の特徴量に、視線算出処理の実行優先度を対応付けて処理データベースに格納する。
【０１０３】
視線算出判定部１４は、特徴量抽出部１２によって抽出した特徴量に基づいて、ルールデータベースを参照し、ユーザの視線算出処理を実行するか否かを判定する。例えば、視線算出判定部１４は、顔面検出部１６０１によって検出された顔面領域の大きさが所定値より小さい場合、視線算出処理を実行しないと判定する。また、視線算出判定部１４は、特徴量抽出部１２によって抽出した特徴量が顔面領域以外での抽出であり顔面領域で特徴量を抽出しない場合、視線算出処理を実行しないと判定する。また、視線算出判定部１４は、特徴量抽出部１２によって抽出された顔面領域の特徴量の大きさが所定値より大きい場合、視線算出処理を実行しないと判定する。また、視線算出判定部１４は、特徴量抽出部１２によって抽出した顔面領域の特徴量の優先度に従って視線算出処理を実行すると判定する。また、視線算出判定部１４は、特徴量抽出部１２によって抽出した複数の顔画像の特徴量が画像取得部１１によって取得した複数の顔画像のオーバーラップ領域内にある場合、何れかの顔画像の特徴量に基づいて視線算出処理を実行すると判定する。
【０１０４】
視線算出部１５は、視線算出判定部１４によって視線算出処理を実行すると判定された場合、画像取得部１１によって取得した顔画像の特徴量に基づいて、ユーザの視線算出処理を実行する。例えば、角膜反射法では角膜反射領域の中心と瞳孔の中心から視線を算出する。
【０１０５】
結果出力部１６は、視線算出部１５によって実行した視線算出処理の結果を出力する。
ユーザ入力受付部１６０３は、ユーザ入力受付装置３によって入力された処理優先度設定を受け付ける。
【０１０６】
図１７は、第４の実施例に係る視線検出装置のコンピュータが実行するバッチ処理による視線検出処理の流れを示すフローチャートである。図１８は、ルールデータベースの例（その３）を示す図である。
【０１０７】
第４の実施例では、視線検出の方式や利用環境によって、視線算出処理が不可能な状況を想定する。例えば、ユーザの顔が小さくしか映らないような場合、金属など顔以外の領域で角膜反射領域の候補が発生するような場合、眼鏡による反射によって角膜反射領域が隠れてしまっているような場合等がある。このような場合には、正確な視線算出処理が不可能になる。
【０１０８】
まず、図１７のステップＳ５０１において、画像取得部１１は、撮像装置２によって撮像されたユーザの顔画像を、伝送経路を経由して撮像装置２から取得する。ステップＳ１７０１において、画像取得部１１が、取得した顔画像から顔面領域の検出を行う。
【０１０９】
ステップＳ１７０２において、視線算出判定部１４が、図１８に示すようなルールデータベース１８１を参照する。そして、ステップＳ１７０１で検出された顔面領域が所定のサイズ以上か否かを判断する。顔面領域のサイズが小さ過ぎると、目の領域も小さくなり、適切な視線検出が行えないからである。尚、ステップＳ１７０１の判断は、顔自体の領域のサイズで判断するほかに、目の領域の大きさで判断をすることを含む。また、ユーザが横を向いている場合、あるいは、上又は下を向いている場合など、目の領域自体は大きくても、画像に角膜反射領域がないことがある。視線算出判定部１４は、目や鼻や口といった顔のパーツの位置関係から、ユーザが横を向いている場合、あるいは、上又は下を向いている場合と判断をした場合、顔面領域が所定のサイズ以上でないと判断した場合と同様の処理を行うようにしても良い。あるいは、図示しないＤＢに格納したユーザが横を向いている場合、あるいは、上又は下を向いている場合の目の形状を参照し、顔面領域中の目の領域の形状がＤＢに格納したユーザが横を向いている場合、あるいは、上又は下を向いている場合の目の形状に所定の閾値を越えて近似をする場合、顔面領域が所定のサイズ以上でないと判断した場合と同様の処理をするようにしても良い。
【０１１０】
一定サイズ以上でなければ（ステップＳ１７０２：Ｎｏ）、ステップＳ１７０３において、視線算出判定部１４が、顔面領域のサイズが小さ過ぎるため視線算出処理が不可能であると判断し、ステップＳ５０５に進む。ユーザが横を向いている場合、あるいは、上又は下を向いている場合など、顔面領域が所定の大きさ、例えばその顔面領域中の目の画像からは、視線の検出ができないと定義した大きさ以下の場合にも、視線算出処理が不可能であると判断し、ステップＳ５０５に進む。他方、一定サイズ以上であれば（ステップＳ１７０２：Ｙｅｓ）、ステップＳ１７０４において、特徴量抽出部１２が、ステップＳ１７０１で画像取得部１１によって検出した顔面領域の特徴量として、角膜反射領域の候補を抽出する。
【０１１１】
次に、ステップＳ１７０５において、視線算出判定部１４が、図１８に示すようなルールデータベース１８１を参照する。そして、顔面領域の特徴量として角膜反射領域の候補を抽出したか否かを判断する。抽出した特徴量が顔面領域以外での抽出であり顔面領域で特徴量を抽出しない場合、抽出した特徴量は角膜反射領域でないからである。
【０１１２】
角膜反射領域の候補が抽出できなかった場合（ステップＳ１７０５：Ｎｏ）、ステップＳ１７０３において、視線算出判定部１４が、抽出した特徴量が顔面領域以外での抽出であり顔面領域で特徴量を抽出しないので、視線算出処理が不可能であると判断し、ステップＳ５０５に進む。
【０１１３】
他方、ステップＳ１７０５で角膜反射領域の候補が抽出できたと判断された場合（ステップＳ１７０５：Ｙｅｓ）、角膜反射領域の候補を順に処理するため、ステップＳ１７０６において、最初の角膜反射領域の候補を取得する。
【０１１４】
ステップＳ１７０７において、視線算出判定部１４が、特徴量抽出部１２によって抽出された顔面領域の特徴量の大きさが所定値より大きいか否かを判断する。顔面領域の特徴量の大きさが所定値より大きい場合（ステップＳ１７０７：Ｙｅｓ）、ステップＳ１７０８において、その角膜反射領域の候補は角膜反射領域でない（非角膜反射領域）と判定する。すなわち、その角膜反射領域の候補は眼鏡等による反射によるものと判定する。
【０１１５】
他方、ステップＳ１７０７で顔面領域の特徴量の大きさが所定値より大きくないと判断された場合（ステップＳ１７０７：Ｎｏ）、ステップＳ１７０９において、その角膜反射領域の候補は角膜反射領域であると判定する。そして、ステップＳ１００１において、顔画像を処理データベース１１１に格納する。
【０１１６】
ステップＳ１７１０において、次の角膜反射領域の候補がステップＳ１７０４で抽出した角膜反射領域の候補の最後であるか否かを判断する。最後でなければ（ステップＳ１７１０：Ｎｏ）、ステップＳ１７１１において、次の角膜反射領域の候補を取得し、ステップＳ１７０７以降を繰り返す。
【０１１７】
他方、最後であれば（ステップＳ１７１０：Ｙｅｓ）、ステップＳ１７１２において、処理データベース１１１に角膜反射領域の候補が１個以上格納されているか否かを判断する。
【０１１８】
１個以上格納されている場合（ステップＳ１７１２：Ｙｅｓ）、ステップＳ５０５に進む。他方、１個も格納されていない場合（ステップＳ１７１２：Ｎｏ）、ステップＳ１７０３において、視線算出判定部１４が、顔面領域で特徴量を抽出しないので、視線算出処理が不可能であると判断し、ステップＳ５０５に進む。
【０１１９】
そして、ステップＳ５０５において、本視線検出処理を終了するか否かを判断する。終了しない場合（ステップＳ５０５：Ｎｏ）、ステップＳ５０６において、次の顔画像を取得してステップＳ１９０１以降を繰り返す。
【０１２０】
他方、ステップＳ５０５で本視線検出処理を終了すると判断されると（ステップＳ５０５：Ｙｅｓ）、ステップＳ１００２において、視線算出部１５が、ステップＳ１００１で処理データベース１１１に格納した顔画像の特徴量に基づいて視線算出処理を実行する。
【０１２１】
そして、ステップＳ１００３において、結果出力部１６が、ステップＳ１００２で実行した視線検出処理の処理結果を出力する。
【０１２２】
なお、本第４の実施例では、顔面領域と角膜反射領域の候補を用いて説明したが、ユーザの入力顔画像より２次元テンプレートを用いて、より正確に目の輪郭の抽出を行う技術（例えば、特許文献５）を用いても良い。また、非角膜反射領域の判定についても、眼鏡を装着したユーザの撮影画像から、眼鏡での照明反射部分を検出する技術（例えば、特許文献）等、他の方法を用いることも可能である。
【０１２３】
図１９は、第５の実施例に係る視線検出装置のコンピュータが実行するバッチ処理による視線検出処理の流れを示すフローチャートである。図２０は、処理データベースの例（その２）を示す図ある。
【０１２４】
第５の実施例では、視線算出処理の必要性を判定するだけでなく、時系列順以外の順序で視線算出処理が必要となる場合を想定する。このような場合に、必要な場合のみ視線算出処理を行い、望まれた順序で視線算出処理行うことが可能になる。また、顔面領域と角膜反射領域の候補の情報を用いて、視線算出処理の必要性を判定する。
【０１２５】
まず、図１９のステップＳ５０１において、画像取得部１１は、撮像装置２によって撮像されたユーザの顔画像を、伝送経路を経由して撮像装置２から取得する。次に、ステップＳ１９０１において、特徴量抽出部１２が、ステップＳ５０１で画像取得部１１によって取得した顔画像の特徴量として、角膜反射領域の候補を抽出する。そして、ステップＳ１７０１において、画像取得部１１が、取得した顔画像から顔面領域の検出を行う。
【０１２６】
ステップＳ１７０２において、視線算出判定部１４が、図１８に示すようなルールデータベース１８１を参照する。そして、ステップＳ１７０１で検出された顔面領域が所定のサイズ以上か否かを判断する。
【０１２７】
一定サイズ以上でなければ（ステップＳ１７０２：Ｎｏ）、ステップＳ１７０３において、視線算出判定部１４が、顔面領域のサイズが小さ過ぎるため視線算出処理が不可能であると判断し、ステップＳ５０５に進む。他方、一定サイズ以上であれば（ステップＳ１７０２：Ｙｅｓ）、ステップＳ１７０４において、特徴量抽出部１２が、ステップＳ１７０１で画像取得部１１によって検出した顔面領域の特徴量として、角膜反射領域の候補を抽出する。
【０１２８】
次に、ステップＳ１７０５において、視線算出判定部１４が、図１８に示すようなルールデータベース１８１を参照する。そして、顔面領域の特徴量として角膜反射領域の候補を抽出したか否かを判断する。
【０１２９】
角膜反射領域の候補が抽出できなかった場合（ステップＳ１７０５：Ｎｏ）、ステップＳ１７０３において、視線算出判定部１４が、抽出した特徴量が顔面領域以外での抽出であり顔面領域で特徴量を抽出しないので、視線算出処理が不可能であると判断し、ステップＳ５０５に進む。
【０１３０】
他方、ステップＳ１７０５で角膜反射領域の候補が抽出できたと判断された場合（ステップＳ１７０５：Ｙｅｓ）、ステップＳ１９０２において、ユーザ入力受付部１６０３が、ユーザ入力受付装置３によって入力された処理優先度設定を受け付ける。例えば、視線算出処理の計算精度等を考慮して、角膜反射領域の候補の数が多い顔画像は、角膜反射領域の候補の数が少ない顔画像より処理優先度を高く設定する。また、取得された同一の顔画像から複数の顔面領域が検出された際に、視線算出処理の計算精度等を考慮し、大きい顔面領域の優先度を高く設定する。これにより、視線検出装置に近い人物についての視線検出処理から実行することができる。
【０１３１】
そして、ステップＳ１９０３において、処理優先度設定部１６０２は、ステップＳ１７０４で抽出した顔面領域の特徴量に、視線算出処理の実行優先度を対応付けて、図２０に示すような処理データベース２０１に格納する。
【０１３２】
そして、ステップＳ５０５において、本視線検出処理を終了するか否かを判断する。終了しない場合（ステップＳ５０５：Ｎｏ）、ステップＳ５０６において、次の顔画像を取得してステップＳ１９０１以降を繰り返す。
【０１３３】
他方、ステップＳ５０５で本視線検出処理を終了すると判断されると（ステップＳ５０５：Ｙｅｓ）、ステップＳ１９０４において、視線算出部１５が、ステップＳ１９０３で処理データベース１１１に格納した優先度の順に、顔画像の特徴量に基づいて視線算出処理を実行する。
【０１３４】
そして、ステップＳ１９０５において、結果出力部１６が、ステップＳ１９０４で実行した視線検出処理の処理結果を出力する。
【０１３５】
図２１は、第６の実施例に係る視線検出装置のコンピュータが実行する逐次処理による視線検出処理の流れを示すフローチャートである。図２２は、オーバーラップデータベースの例を示す図ある。図２３は、ルールデータベースの例（その４）を示す図である。図２４は、オーバーラップ画像の例を示す図である。
【０１３６】
後述する第６乃至第８の実施例では、撮像装置２が複数のカメラから構成される。この場合、各撮像装置２で撮像する空間が重複することが発生する。その空間にいるユーザについては、同一の視線情報が、複数の撮像装置２それぞれから出力される。そのため、同一の視線情報を重複して計算することを回避することで、視線算出処理を行う際の算出処理負荷を軽減することが可能になる。
【０１３７】
重複している領域は、事前にオーバーラップデータベース２２１に格納されている。例えば、オーバーラップデータベース２２１には、第１の撮像装置２である「カメラ１」が撮像した第１の顔画像の対角座標（４４０，０）と（６４０，４８０）で特定される領域が、オーバーラップ領域として格納されている。また、第２の撮像装置２である「カメラ２」が撮像した第２の顔画像の対角座標（０，０）と（２００，４８０）で特定される領域が、オーバーラップ領域として格納されている。
【０１３８】
まず、図２１のステップＳ２１０１において、画像取得部１１は、第１の撮像装置２によって撮像されたユーザの第１の顔画像を、伝送経路を経由して第１の撮像装置２から取得する。ステップＳ２１０２において、画像取得部１１が、取得した第１の顔画像から第１の顔面領域の検出を行う。ステップＳ２１０３において、特徴量抽出部１２が、ステップＳ２１０２で画像取得部１１によって検出した第１の顔面領域の特徴量として、第１の角膜反射領域の候補を抽出し、図２２に示したようなオーバーラップデータベース２２１に格納する。
【０１３９】
また、ステップＳ２１０４において、画像取得部１１は、第２の撮像装置２によって撮像されたユーザの第２の顔画像を、伝送経路を経由して第２の撮像装置２から取得する。ステップＳ２１０５において、画像取得部１１が、取得した第２の顔画像から第２の顔面領域の検出を行う。ステップＳ２１０６において、特徴量抽出部１２が、ステップＳ２１０５で画像取得部１１によって検出した第２の顔面領域の特徴量として、第２の角膜反射領域の候補を抽出し、図２２に示したようなオーバーラップデータベース２２１に格納する。
【０１４０】
ステップＳ２１０１乃至Ｓ２１０３は、ステップＳ２１０４乃至Ｓ２１０６と並行して実行される。
【０１４１】
ステップＳ２１０７において、視線算出判定部１４が、オーバーラップデータベース２２１を参照する。そして、特徴量抽出部１２によって抽出した第１及び第２の顔画像の特徴量が、画像取得部１１によって取得した第１及び第２の顔画像のオーバーラップ領域内にあるか否かを判断する。
【０１４２】
第１及び第２の顔画像の特徴量が第１及び第２の顔画像のオーバーラップ領域内にない場合（ステップＳ２１０７：Ｎｏ）、ステップＳ２１０８において、視線算出部１５は、第１及び第２の顔画像の特徴量それぞれに基づいて、ユーザの視線算出処理を実行する。そして、ステップＳ２１０９において、結果出力部１６が、実行した視線算出処理の結果を出力し、ステップＳ５０５に進む。
【０１４３】
他方、ステップＳ２１０７で第１及び第２の顔画像の特徴量が第１及び第２の顔画像のオーバーラップ領域内にあると判定された場合（ステップＳ２１０７：Ｙｅｓ）、ステップＳ２１１０において、視線算出判定部１４が、図２３に示すようなルールデータベース２３１を参照する。ルールデータベース２３１は、２つの顔画像の特徴量が２つの顔画像のオーバーラップ領域内にある場合、何れか１つの顔画像の特徴量に基づいて視線算出処理を実行するというルールセットを有する。このルールセットは、何れの顔画像の特徴量に基づいても同様の視線算出結果が得られる可能性が高いため、一方の視線検出で十分であることを意味する。例えば、２つの顔画像の特徴量が２つの顔画像のオーバーラップ領域内にある場合とは、図２４に示すように、２つの顔画像の特徴量がオーバーラップ領域２４０１及び２４０２内にある場合である。
そして、第１及び第２の顔面領域の角膜反射領域の候補がステップＳ２１０３及びＳ２１０６で抽出されなかった場合（ステップＳ２１１０：Ｙｅｓ）、ステップＳ２１１６に進む。
【０１４４】
第１及び第２の顔面領域の角膜反射領域の候補がステップＳ２１０３及びＳ２１０６で抽出された場合（ステップＳ２１１０：Ｎｏ）、ステップＳ２１１１において、第１の顔面領域の角膜反射領域の候補の平均尤度が第２の顔面領域の角膜反射領域の候補の平均尤度より高いか否かを判断する。
【０１４５】
第１の顔面領域の角膜反射領域の候補の平均尤度の方が高いと判断された場合（ステップＳ２１１１：Ｙｅｓ）、ステップＳ２１１２において、視線算出部１５が、第１の顔画像の特徴量に基づいて、ユーザの視線算出処理を実行する。そして、ステップＳ２１１３において、結果出力部１６が、実行した視線算出処理の結果を出力し、ステップＳ５０５に進む。
【０１４６】
他方、第１の顔面領域の角膜反射領域の候補の平均尤度の方が高くない、すなわち第２の顔面領域の角膜反射領域の候補の平均尤度の方が高いと判断された場合（ステップＳ２１１１：Ｎｏ）、ステップＳ２１１４において、視線算出部１５が、第２の顔画像の特徴量に基づいて、ユーザの視線算出処理を実行する。ここで、角膜反射領域の候補の平均尤度は、視線算出処理の計算精度を考慮した判定基準であり、予め設定されている。
【０１４７】
そして、ステップＳ２１１５において、結果出力部１６が、実行した視線算出処理の結果を出力し、ステップＳ５０５に進む。
【０１４８】
また、ステップＳ２１１０で第１及び第２の顔面領域の角膜反射領域の候補がステップＳ２１０３及びＳ２１０６で何れも抽出されなかった場合（ステップＳ２１１０：Ｙｅｓ）、ステップＳ２１１６において、視線算出判定部１４が、特徴量を抽出していないので、視線算出処理が不可能であると判断し、ステップＳ５０５に進む。
【０１４９】
そして、ステップＳ５０５において、本視線検出処理を終了するか否かを判断する。終了しない場合（ステップＳ５０５：Ｎｏ）、ステップＳ２１０１及びＳ２１０４に戻る。
【０１５０】
このような視線検出処理を実行することで、複数の顔画像で同一の角膜反射領域の候補が存在する場合、何れか一方の顔画像で視線算出処理を実行することが可能となる。また、視線算出処理が容易な顔画像と困難な顔画像、例えば眼鏡反射が発生している顔画像の２つの顔画像であった場合、視線算出処理が容易な顔画像を選択することも可能となる。更に、視線算出処理の計算精度を考慮した判定基準を設定することで、より視線算出処理の計算精度の高い条件の顔画像を選択することが可能となる。そのため、視線算出処理を行う際の処理負荷の軽減と計算精度低下の防止が可能になる。
【０１５１】
また、上述の説明では、何れかの顔画像を処理対象と判定する例を示したが、顔が半分ずつ映った際などに、両方の顔画像を合成して処理を行うことも可能である。また、オーバーラップ領域を撮像装置２からの距離に応じた設定にすることや、２つの撮像装置２の位置関係だけでなく、それぞれの設置条件、例えば、設置角度を含めた設定にすることも可能である。
【０１５２】
図２５及び図２６は、第７の実施例に係る視線検出装置のコンピュータが実行する逐次処理による視線検出処理の流れを示すフローチャートである。
【０１５３】
上述した第６の実施例では、ステップＳ２１０１乃至Ｓ２１０３が、ステップＳ２１０４乃至Ｓ２１０６と並行して実行された。
【０１５４】
第７の実施例では、ステップＳ２１０１乃至Ｓ２１０３が実行された後、ステップＳ２１０４乃至Ｓ２１０６が実行される。すなわち、２つの顔画像が同時刻に撮像された画像でなく、一定時間内に撮像された顔画像の場合にも視線検出処理を実行することができる。
【０１５５】
図２７及び図２８は、第８の実施例に係る視線検出装置のコンピュータが実行するバッチ処理による視線検出処理の流れを示すフローチャートである。
【０１５６】
第８の実施例では、第７の実施例のステップＳ２１１１の判定結果を優先度として設定する。
【０１５７】
すなわち、ステップＳ２１１１で第１の顔面領域の角膜反射領域の候補の平均尤度の方が高いと判断された場合（ステップＳ２１１１：Ｙｅｓ）、ステップＳ２８０３において、第１の顔画像に高い優先度を設定する。優先度は、例えば角膜反射領域の候補の尤度や検出精度分布のような特性に基づいて算出することが望ましい。そして、ステップＳ２８０４において、第１の顔画像とその優先度を対応付けて処理データベース２０１に格納してステップＳ５０５に進む。
【０１５８】
また、ステップＳ２１１１で第１の顔面領域の角膜反射領域の候補の平均尤度の方が高くないと判断された場合（ステップＳ２１１１：Ｎｏ）、ステップＳ２８０５において、第２の顔画像に高い優先度を設定する。そして、ステップＳ２８０６において、第２の顔画像とその優先度を対応付けて処理データベース２０１に格納してステップＳ５０５に進む。
【０１５９】
その後、ステップＳ５０５で終了すると判断された場合（ステップＳ５０５：Ｙｅｓ）、ステップＳ２８０７において、優先度の降順で処理データベース２０１内の顔画像を並べ替える（ソートする）。
【０１６０】
ステップＳ２８０８において、視線算出部１５が、ソートした優先度の降順の顔画像の特徴量に基づいて、視線算出処理を実行する。
【０１６１】
そして、ステップＳ２８０９において、結果出力部１６が、実行した視線算出処理の結果を出力する。
【０１６２】
このような優先度に基づいて視線算出処理を実行することで、例えば、片目だけで簡易的に視線算出処理を実行した後、両目での視線算出処理を実行することにより、計算処理の負荷制御が可能になる。
【０１６３】
図２９は、情報処理装置の構成図である。
図１の視線検出装置１Ａ、１Ｂ、１Ｃは、例えば、図２９に示すような情報処理装置（コンピュータ）を用いて実現することが可能である。図２９の情報処理装置は、ＣＰＵ（Central Processing Unit）２９０１、メモリ２９０２、入力装置２９０３、出力装置２９０４、外部記録装置２９０５、媒体駆動装置２９０６及びネットワーク接続装置２９０７を備える。これらはバス２９０８により互いに接続されている。
【０１６４】
メモリ２９０２は、例えば、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリ等の半導体メモリであり、視線検出装置１Ａ、１Ｂ、１Ｃが実行する視線検出処理に用いられるプログラム及びデータを格納する。例えば、ＣＰＵ２９０１は、メモリ２９０２を利用してプログラムを実行することにより、上述の視線検出処理を行う。
【０１６５】
入力装置２９０３は、例えば、キーボード、ポインティングデバイス等であり、オペレータからの指示や情報の入力に用いられる。出力装置２９０４は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータへの問い合わせや処理結果の出力に用いられる。
【０１６６】
外部記録装置２９０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。この外部記録装置２９０５には、ハードディスクドライブも含まれる。情報処理装置は、この外部記録装置２９０５にプログラム及びデータを格納しておき、それらをメモリ２９０２にロードして使用することができる。
【０１６７】
媒体駆動装置２９０６は、可搬型記録媒体２９０９を駆動し、その記録内容にアクセスする。可搬型記録媒体２９０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。この可搬型記録媒体２９０９には、Compact Disk Read Only Memory （ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等も含まれる。オペレータは、この可搬型記録媒体２９０９にプログラム及びデータを格納しておき、それらをメモリ２９０２にロードして使用することができる。
【０１６８】
このように、視線検出処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ２９０２、外部記録装置２９０５、及び可搬型記録媒体２９０９のような、物理的な（非一時的な）記録媒体が含まれる。
【０１６９】
ネットワーク接続装置２９０７は、通信ネットワーク２９１０に接続され、通信に伴うデータ変換を行う通信インターフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置２９０７を介して受け取り、それらをメモリ２９０２にロードして使用することができる。
【０１７０】
開示の実施の形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０１７１】
図面を参照しながら説明した実施の形態に関し、さらに以下の付記を開示する。
（付記１）
撮像装置によって撮像されたユーザの顔画像を前記撮像装置から取得する画像取得部と、
前記画像取得部によって取得した顔画像の特徴量を抽出する特徴量抽出部と、
前記特徴量抽出部によって抽出した特徴量に基づいて、前記顔画像の特徴量を含む条件と視線算出処理を実行するか否かを示す情報を対応付けたルールセットを格納したルールデータベースを参照し、前記ユーザの視線算出処理を実行するか否かを判定する視線算出判定部と、
前記視線算出判定部によって視線算出処理を実行すると判定された場合、前記画像取得部によって取得した顔画像の特徴量に基づいて、前記ユーザの視線算出処理を実行する視線算出部と、
を備えることを特徴とする視線検出装置。
（付記２）
前記視線算出部によって実行した視線算出処理の結果を出力する結果出力部、
を更に備えることを特徴とする付記１に記載の視線検出装置。
（付記３）
前記特徴量抽出部によって抽出した現フレームの顔画像の特徴量を１フレーム前の顔画像の特徴量と比較する比較部、
を更に備え、
前記ルールデータベースは、現フレームの顔画像の特徴量が１フレーム前の顔画像の特徴量と所定割合以上で一致する場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定部は、前記比較部によって比較した結果、現フレームの特徴量と１フレーム前の顔画像の特徴量が所定割合以上で一致した場合、前記視線算出処理を実行しないと判定し、
前記結果出力部は、前記１フレーム前の顔画像の特徴量に基づいて実行した視線算出処理の結果を出力する、
ことを特徴とする付記２に記載の視線検出装置。
（付記４）
前記特徴量抽出部によって抽出した現フレームの顔画像の特徴量を１フレーム前の顔画像の特徴量と比較する比較部、
を更に備え、
前記ルールデータベースは、現フレームの顔画像の特徴量の数が１フレーム前の顔画像の特徴量の数と比較して所定数以上変化し、変化した特徴量の所定方向の変化量が所定値以内である場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定部は、前記比較部によって比較した結果、現フレームの特徴量の数が１フレーム前の顔画像の特徴量の数と比較して所定数以上変化し、変化した特徴量の所定方向の変化量が所定値以内である場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする付記１又は２に記載の視線検出装置。
（付記５）
前記画像取得部は、前記取得した顔画像から所定範囲内の右目周辺領域及び左目周辺領域を特定し、
前記ルールデータベースは、右目周辺領域及び左目周辺領域の特徴量の左右それぞれの方向の画素が所定数以上白画素でない場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定部は、前記画像取得部によって特定された右目周辺領域及び左目周辺領域の特徴量の左右それぞれの方向の画素が所定数以上白画素でない場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする付記１又は２に記載の視線検出装置。
（付記６）
前記画像取得部によって取得した顔画像から顔面領域を検出する顔面検出部、
を更に備え、
前記ルールデータベースは、顔面領域の大きさが所定値より小さい場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定部は、前記顔面検出部によって検出された顔面領域の大きさが所定値より小さい場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする付記１又は２に記載の視線検出装置。
（付記７）
前記画像取得部によって取得した顔画像から顔面領域を検出する顔面検出部、
を更に備え、
前記特徴量抽出部は、前記顔面検出部によって検出した顔面領域の特徴量を抽出し、
前記ルールデータベースは、顔面領域で特徴量を抽出しない場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定部は、前記特徴量抽出部によって顔面領域で特徴量を抽出しない場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする付記１又は２に記載の視線検出装置。
（付記８）
前記画像取得部によって取得した顔画像から顔面領域を検出する顔面検出部、
を更に備え、
前記特徴量抽出部は、前記顔面検出部によって検出した顔面領域の特徴量を抽出し、
前記ルールデータベースは、顔面領域の特徴量が所定の範囲外である場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定部は、前記特徴量抽出部によって抽出された顔面領域の特徴量が所定の範囲外である場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする付記１又は２に記載の視線検出装置。
（付記９）
前記特徴量抽出部によって抽出した特徴量に、前記視線算出処理の実行優先度を対応付けて設定する優先度設定部、
を更に備え、
前記視線算出判定部は、前記特徴量抽出部によって抽出した特徴量の優先度に従って前記視線算出処理を実行すると判定する、
ことを特徴とする付記１乃至８の何れか１つに記載の視線検出装置。
（付記１０）
前記画像取得部は、第１の撮像装置によって撮像された第１の顔画像及び第２の撮像装置によって撮像された第２の顔画像を取得し、
前記特徴量抽出部は、前記画像取得部によって取得した第１の顔画像の特徴量及び第２の顔画像の特徴量を抽出し、
前記ルールデータベースは、２つの顔画像の特徴量が２つの顔画像のオーバーラップ領域内にある場合、何れか１つの顔画像の特徴量に基づいて前記視線算出処理を実行するというルールセットを含み、
前記視線算出判定部は、前記特徴量抽出部によって抽出した第１の顔画像の特徴量と第２の顔画像の特徴量が前記画像取得部によって取得した第１の顔画像と第２の顔画像のオーバーラップ領域内にある場合、前記第１の顔画像の特徴量及び／又は前記第２の顔画像の特徴量に基づいて前記視線算出処理を実行すると判定する、
ことを特徴とする付記１又は２に記載の視線検出装置。
（付記１１）
視線検出装置のコンピュータに、
撮像装置によって撮像されたユーザの顔画像を前記撮像装置から取得し、
前記取得した顔画像の特徴量を抽出し、
前記抽出した特徴量に基づいて、前記顔画像の特徴量を含む条件と視線算出処理を実行するか否かを示す情報を対応付けたルールセットを格納したルールデータベースを参照して、前記ユーザの視線算出処理を実行するか否かを判定し、
前記視線算出処理を実行すると判定された場合、前記取得した顔画像の特徴量に基づいて、前記ユーザの視線算出処理を実行する、
処理を実行させることを特徴とする視線検出プログラム。
（付記１２）
更に、前記実行した視線算出処理の結果を出力する、
ことを特徴とする付記１１に記載の視線検出プログラム。
（付記１３）
更に、前記抽出した現フレームの顔画像の特徴量を１フレーム前の顔画像の特徴量と比較する、
処理を実行させ、
前記ルールデータベースは、現フレームの顔画像の特徴量が１フレーム前の顔画像の特徴量と所定割合以上で一致する場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定は、前記比較した結果、現フレームの特徴量と１フレーム前の顔画像の特徴量が所定割合以上で一致した場合、前記視線算出処理を実行しないと判定し、
前記結果出力は、前記１フレーム前の顔画像の特徴量に基づいて実行した視線算出処理の結果を出力する、
ことを特徴とする付記１２に記載の視線検出プログラム。
（付記１４）
更に、前記抽出した現フレームの顔画像の特徴量を１フレーム前の顔画像の特徴量と比較する、
処理を実行させ、
前記ルールデータベースは、現フレームの顔画像の特徴量の数が１フレーム前の顔画像の特徴量の数と比較して所定数以上変化し、変化した特徴量の所定方向の変化量が所定値以内である場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定は、前記比較した結果、現フレームの特徴量の数が１フレーム前の顔画像の特徴量の数と比較して所定数以上変化し、変化した特徴量の所定方向の変化量が所定値以内である場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする付記１１又は１２に記載の視線検出プログラム。
（付記１５）
前記画像取得は、前記取得した顔画像から所定範囲内の右目周辺領域及び左目周辺領域を特定し、
前記ルールデータベースは、右目周辺領域及び左目周辺領域の特徴量の左右それぞれの方向の画素が所定数以上白画素でない場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定は、前記特定された右目周辺領域及び左目周辺領域の特徴量の左右それぞれの方向の画素が所定数以上白画素でない場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする付記１１又は１２に記載の視線検出プログラム。
（付記１６）
更に、前記取得した顔画像から顔面領域を検出する、
処理を実行させ、
前記ルールデータベースは、顔面領域の大きさが所定値より小さい場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定は、前記検出された顔面領域の大きさが所定値より小さい場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする付記１１又は１２に記載の視線検出プログラム。
（付記１７）
更に、前記取得した顔画像から顔面領域を検出する、
処理を実行させ、
前記特徴量抽出は、前記検出した顔面領域の特徴量を抽出し、
前記ルールデータベースは、顔面領域で特徴量を抽出しない場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定は、顔面領域で特徴量を抽出しない場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする付記１１又は１２に記載の視線検出プログラム。
（付記１８）
更に、前記取得した顔画像から顔面領域を検出する、
処理を実行させ、
前記特徴量抽出は、前記検出した顔面領域の特徴量を抽出し、
前記ルールデータベースは、顔面領域の特徴量が所定の範囲外である場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定は、前記抽出された顔面領域の特徴量が所定の範囲外である場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする付記１１又は１２に記載の視線検出プログラム。
（付記１９）
更に、前記抽出した特徴量に、前記視線算出処理の実行優先度を対応付けて設定する、
処理を実行させ、
前記視線算出判定は、前記抽出した特徴量の優先度に従って前記視線算出処理を実行すると判定する、
ことを特徴とする付記１１乃至１８の何れか１つに記載の視線検出プログラム。
（付記２０）
前記画像取得は、第１の撮像装置によって撮像された第１の顔画像及び第２の撮像装置によって撮像された第２の顔画像を取得し、
前記特徴量抽出は、前記取得した第１の顔画像の特徴量及び第２の顔画像の特徴量を抽出し、
前記ルールデータベースは、２つの顔画像の特徴量が２つの顔画像のオーバーラップ領域内にある場合、何れか１つの顔画像の特徴量に基づいて前記視線算出処理を実行するというルールセットを含み、
前記視線算出判定は、前記抽出した第１の顔画像の特徴量と第２の顔画像の特徴量が前記取得した第１の顔画像と第２の顔画像のオーバーラップ領域内にある場合、前記第１の顔画像の特徴量及び／又は前記第２の顔画像の特徴量に基づいて前記視線算出処理を実行すると判定する、
ことを特徴とする付記１１又は１２に記載の視線検出プログラム。
（付記２１）
視線検出装置のコンピュータが実行する視線検出方法であって、
撮像装置によって撮像されたユーザの顔画像を前記撮像装置から取得し、
前記取得した顔画像の特徴量を抽出し、
前記抽出した特徴量に基づいて、前記顔画像の特徴量を含む条件と視線算出処理を実行するか否かを示す情報を対応付けたルールセットを格納したルールデータベースを参照して、前記ユーザの視線算出処理を実行するか否かを判定し、
前記視線算出処理を実行すると判定された場合、前記取得した顔画像の特徴量に基づいて、前記ユーザの視線算出処理を実行する、
ことを特徴とする視線検出方法。
（付記２２）
更に、前記実行した視線算出処理の結果を出力する、
ことを特徴とする付記２１に記載の視線検出方法。
（付記２３）
更に、前記抽出した現フレームの顔画像の特徴量を１フレーム前の顔画像の特徴量と比較し、
前記ルールデータベースは、現フレームの顔画像の特徴量が１フレーム前の顔画像の特徴量と所定割合以上で一致する場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定は、前記比較した結果、現フレームの特徴量と１フレーム前の顔画像の特徴量が所定割合以上で一致した場合、前記視線算出処理を実行しないと判定し、
前記結果出力は、前記１フレーム前の顔画像の特徴量に基づいて実行した視線算出処理の結果を出力する、
ことを特徴とする付記２２に記載の視線検出方法。
（付記２４）
更に、前記抽出した現フレームの顔画像の特徴量を１フレーム前の顔画像の特徴量と比較し、
前記ルールデータベースは、現フレームの顔画像の特徴量の数が１フレーム前の顔画像の特徴量の数と比較して所定数以上変化し、変化した特徴量の所定方向の変化量が所定値以内である場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定は、前記比較した結果、現フレームの特徴量の数が１フレーム前の顔画像の特徴量の数と比較して所定数以上変化し、変化した特徴量の所定方向の変化量が所定値以内である場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする付記２１又は２２に記載の視線検出方法。
（付記２５）
前記画像取得は、前記取得した顔画像から所定範囲内の右目周辺領域及び左目周辺領域を特定し、
前記ルールデータベースは、右目周辺領域及び左目周辺領域の特徴量の左右それぞれの方向の画素が所定数以上白画素でない場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定は、前記特定された右目周辺領域及び左目周辺領域の特徴量の左右それぞれの方向の画素が所定数以上白画素でない場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする付記２１又は２２に記載の視線検出方法。
（付記２６）
更に、前記取得した顔画像から顔面領域を検出し、
前記ルールデータベースは、顔面領域の大きさが所定値より小さい場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定は、前記検出された顔面領域の大きさが所定値より小さい場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする付記２１又は２２に記載の視線検出方法。
（付記２７）
更に、前記取得した顔画像から顔面領域を検出し、
前記特徴量抽出は、前記検出した顔面領域の特徴量を抽出し、
前記ルールデータベースは、顔面領域で特徴量を抽出しない場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定は、顔面領域で特徴量を抽出しない場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする付記２１又は２２に記載の視線検出方法。
（付記２８）
更に、前記取得した顔画像から顔面領域を検出し、
前記特徴量抽出は、前記検出した顔面領域の特徴量を抽出し、
前記ルールデータベースは、顔面領域の特徴量が所定の範囲外である場合、前記視線算出処理を実行しないというルールセットを含み、
前記視線算出判定は、前記抽出された顔面領域の特徴量が所定の範囲外である場合、前記視線算出処理を実行しないと判定する、
ことを特徴とする付記２１又は２２に記載の視線検出方法。
（付記２９）
更に、前記抽出した特徴量に、前記視線算出処理の実行優先度を対応付けて設定し、
前記視線算出判定は、前記抽出した特徴量の優先度に従って前記視線算出処理を実行すると判定する、
ことを特徴とする付記２１乃至２８の何れか１つに記載の視線検出方法。
（付記３０）
前記画像取得は、第１の撮像装置によって撮像された第１の顔画像及び第２の撮像装置によって撮像された第２の顔画像を取得し、
前記特徴量抽出は、前記取得した第１の顔画像の特徴量及び第２の顔画像の特徴量を抽出し、
前記ルールデータベースは、２つの顔画像の特徴量が２つの顔画像のオーバーラップ領域内にある場合、何れか１つの顔画像の特徴量に基づいて前記視線算出処理を実行するというルールセットを含み、
前記視線算出判定は、前記抽出した第１の顔画像の特徴量と第２の顔画像の特徴量が前記取得した第１の顔画像と第２の顔画像のオーバーラップ領域内にある場合、前記第１の顔画像の特徴量及び／又は前記第２の顔画像の特徴量に基づいて前記視線算出処理を実行すると判定する、
ことを特徴とする付記２１又は２２に記載の視線検出方法。
【符号の説明】
【０１７２】
１Ａ、１Ｂ、１Ｃ  視線検出装置
２          撮像装置
３          ユーザ入力受付装置
１１        画像取得部
１２        特徴量抽出部
１３        ルール記憶部
１４        視線算出判定部
１５        視線算出部
１６        結果出力部
４１        比較部
４２        特徴量記憶部
４３        結果記憶部
６１        候補領域データベース
７１        ルールデータベース
８１、８２、８３、８４、８５、８６、８７  角膜反射領域の候補
９１、９２、９３、９４、９５、９６、９７  角膜反射領域の候補
１１１      処理データベース
１４１      ルールデータベース
１８１      ルールデータベース
２０１      処理データベース
２２１      オーバーラップデータベース
２３１      ルールデータベース
１３０１    顔面領域
１３０２    右目周辺領域
１３０３    左目周辺領域
１５０１、１５０４  輝度値の最も高い角膜反射領域の候補
１５０２、１５０３、１５０５  白画素
１６０１    顔面検出部
１６０２    処理優先度設定部１６０２
１６０３    ユーザ入力受付部
２４０１、２４０２  オーバーラップ領域
２９０１    ＣＰＵ（Central Processing Unit）
２９０２    メモリ
２９０３    入力装置
２９０４    出力装置
２９０５    外部記録装置
２９０６    媒体駆動装置
２９０７    ネットワーク接続装置
２９０８    バス
２９０９    可搬型記録媒体
２９１０    通信ネットワーク
【図１】
2015201096.tif 000003
【図２】
2015201096.tif 000004
【図３】
2015201096.tif 000005
【図４】
2015201096.tif 000006
【図５】
2015201096.tif 000007
【図６】
2015201096.tif 000008
【図７】
2015201096.tif 000009
【図８】
2015201096.tif 000010
【図９】
2015201096.tif 000011
【図１０】
2015201096.tif 000012
【図１１】
2015201096.tif 000013
【図１２】
2015201096.tif 000014
【図１４】
2015201096.tif 000015
【図１５】
2015201096.tif 000016
【図１６】
2015201096.tif 000017
【図１７】
2015201096.tif 000018
【図１８】
2015201096.tif 000019
【図１９】
2015201096.tif 000020
【図２０】
2015201096.tif 000021
【図２１】
2015201096.tif 000022
【図２２】
2015201096.tif 000023
【図２３】
2015201096.tif 000024
【図２５】
2015201096.tif 000025
【図２６】
2015201096.tif 000026
【図２７】
2015201096.tif 000027
【図２８】
2015201096.tif 000028
【図２９】
2015201096.tif 000029
【図１３】
2015201096.tif 000030
【図２４】
2015201096.tif 000031