(57)【要約】      （修正有）【課題】メガネを装着した人物の視線を簡素な構成で精度良く検出する。【解決手段】候補抽出部は、人物の目を含む像が写っている第１の画像及び第２の画像から角膜反射の候補を抽出する。基準点抽出部は、第１の画像及び第２の画像から人物における基準点を抽出する。閾値ベクトル算出部は、第２の画像において第１の画像の基準点の位置と重なる位置を始点とし第２の画像における基準点を終点とする基準点の移動ベクトルと、予め定めた閾値とに基づいて、第２の画像において第１の画像の角膜反射の候補の位置と重なる候補位置を始点とする閾値ベクトルを算出する。角膜反射特定部は、第２の画像における候補位置を始点とし第２の画像から抽出した角膜反射の候補の位置を終点とする反射位置の移動ベクトルを算出し、閾値ベクトルと、反射位置の移動ベクトルとに基づいて、第２の画像における複数の角膜反射の候補の中から角膜反射の位置を特定する。【選択図】図３
2018025987.tif 000002
【特許請求の範囲】
【請求項１】
人物の目を含む像が写っている第１の画像と、前記第１の画像よりも後に撮像された第２の画像から所定の特徴を有する角膜反射の候補を抽出する角膜反射候補抽出部と、
前記第１の画像及び前記第２の画像から前記人物における基準点を抽出する基準点抽出部と、
前記第２の画像において前記第１の画像の基準点と重なる位置を始点とし前記第２の画像における基準点を終点とする前記基準点の移動ベクトルと、予め定めた閾値とに基づいて、前記第２の画像において前記第１の画像の角膜反射の候補の位置と重なる候補位置を始点とする閾値ベクトルを算出する閾値ベクトル算出部と、
前記第２の画像における前記候補位置を始点とし前記第２の画像から抽出した前記角膜反射の候補の位置を終点とする反射位置の移動ベクトルを算出し、前記閾値ベクトルと、前記反射位置の移動ベクトルとに基づいて、前記第２の画像から抽出された複数の角膜反射の候補の中から角膜反射の位置を特定する角膜反射特定部と、
前記画像から瞳孔の位置を抽出する瞳孔抽出部と、
特定した前記角膜反射の位置と、抽出した前記瞳孔の位置とに基づいて、前記画像に写っている前記人物の視線を算出する視線算出部と、
を備えることを特徴とする視線検出装置。
【請求項２】
前記閾値ベクトル算出部は、前記第２の画像における前記候補位置を前記基準点の移動ベクトルの始点としたときの当該移動ベクトルの終点の位置と、前記人物の前記目の移動範囲に基づいて、第２の画像における前記候補位置から前記目の移動範囲までの距離が最小となる前記閾値ベクトルを算出する、
ことを特徴とする請求項１に記載の視線検出装置。
【請求項３】
前記角膜反射特定部は、前記基準点の移動ベクトルの大きさが、前記閾値ベクトルの大きさよりも大きくなる前記第１の画像と前記第２の画像との組を選択して、前記角膜反射の位置を特定する、
ことを特徴とする請求項２に記載の視線検出装置。
【請求項４】
前記基準点抽出部は、前記人物が装着しているメガネの所定箇所を前記基準点として前記画像から抽出する、
ことを特徴とする請求項１に記載の視線検出装置。
【請求項５】
前記基準点抽出部は、前記人物の眉毛を前記基準点として前記画像から抽出する、
ことを特徴とする請求項１に記載の視線検出装置。
【請求項６】
前記人物の前記目の移動範囲の最大値を保持する保持部、を更に備え、
前記閾値ベクトル算出部は、前記第２の画像における前記候補位置を前記基準点の移動ベクトルの始点としたときの当該移動ベクトルの終点の位置と、前記人物の前記目の移動範囲の最大値とに基づいて、前記閾値ベクトルを算出する、
ことを特徴とする請求項２に記載の視線検出装置。
【請求項７】
コンピュータが、
人物の目を含む像が写っている画像から前記人物における基準点を抽出するとともに、所定の特徴を有する角膜反射の候補を抽出し、
第１の画像よりも後に撮像された第２の画像において前記第１の画像の基準点と重なる位置を始点とし前記第２の画像における基準点を終点とする前記基準点の移動ベクトルを算出し、
前記基準点の移動ベクトルと、予め定めた閾値とに基づいて、前記第２の画像において前記第１の画像の角膜反射の候補の位置と重なる候補位置を始点とする閾値ベクトルを算出するとともに、前記第２の画像における前記候補位置を始点とし前記第２の画像から抽出した前記角膜反射の候補の位置を終点とする反射位置の移動ベクトルを算出し、
前記閾値ベクトルと、前記反射位置の移動ベクトルとに基づいて、前記第２の画像から抽出された複数の角膜反射の候補の中から角膜反射の位置を特定し、
前記画像から瞳孔の位置を抽出し、
特定した前記角膜反射の位置と、抽出した前記瞳孔の位置とに基づいて、前記画像に写っている前記人物の視線を算出する、
処理を実行することを特徴とする視線検出方法。
【請求項８】
人物の目を含む像が写っている画像から前記人物における基準点を抽出するとともに、所定の特徴を有する角膜反射の候補を抽出し、
第１の画像よりも後に撮像された第２の画像において前記第１の画像の基準点と重なる位置を始点とし前記第２の画像における基準点を終点とする前記基準点の移動ベクトルを算出し、
前記基準点の移動ベクトルと、予め定めた閾値とに基づいて、前記第２の画像において前記第１の画像の角膜反射の候補の位置と重なる候補位置を始点とする閾値ベクトルを算出するとともに、前記第２の画像における前記候補位置を始点とし前記第２の画像から抽出した前記角膜反射の候補の位置を終点とする反射位置の移動ベクトルを算出し、
前記閾値ベクトルと、前記反射位置の移動ベクトルとに基づいて、前記第２の画像から抽出された複数の角膜反射の候補の中から角膜反射の位置を特定し、
前記画像から瞳孔の位置を抽出し、
特定した前記角膜反射の位置と、抽出した前記瞳孔の位置とに基づいて、前記画像に写っている前記人物の視線を算出する、
処理をコンピュータに実行させる視線検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、視線検出装置、視線検出方法、及び視線検出プログラムに関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータのユーザインタフェースや、店舗やデジタルサイネージ等において顧客の興味を示す商品や情報を調査する方法の１つとして、視線検出技術が利用されている。視線検出技術では、例えば、赤外光を照射した利用者の頭部を含む赤外線画像を撮像し、当該赤外線画像の角膜反射の位置と、瞳孔の位置とに基づいて利用者の視線を検出する。
【０００３】
この種の視線検出技術では、視線を検出する人物がメガネを装着している場合、メガネのレンズで赤外光が反射し、撮像した画像におけるメガネのレンズ部分に角膜反射とは別の赤外光の反射が写ることがある。このような角膜反射とは別の赤外光の反射は、角膜反射の抽出の妨げになることがある。
【０００４】
メガネのレンズでの赤外光の反射が画像に写ることを回避する方法の一つとして、２組の赤外光源と撮像装置との組を離れた場所に設置し、人物の顔の向きに応じて切り替える方法が知られている（例えば、特許文献１を参照）。
【０００５】
また、瞬き等で目を閉じているときには角膜反射が写らないことを利用し、断続的に発生する反射を角膜反射として検出することで、メガネのレンズによる反射と角膜反射とを識別する方法が知られている（例えば、特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１６７２５６号公報
【特許文献２】特開２０１２−２３９５５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
２組の赤外光源と撮像装置との組を離れた場所に設置し、人物の顔の向きに応じて切り替える場合、導入コストが増大するとともに、装置が大型化する。
【０００８】
また、瞬きをして目を閉じている時間は非常に短い。このため、画像の撮像間隔が長い（フレームレートが低い）場合や、画像を間引いて処理を行う場合、目を閉じている画像の発生間隔が長くなり処理に十分な量の瞬き画像の取得ができない、もしくは取得に時間がかかる場合がある。そのため、メガネを装着した人物の視線を検出する際に、角膜反射を正しく検出することが難しく、視線を正しく検出できない可能性がある。
【０００９】
１つの側面において、本発明は、メガネを装着した人物の視線を簡素な構成で精度良く検出することを目的とする。
【課題を解決するための手段】
【００１０】
１つの態様では、視線検出装置は、角膜反射候補抽出部と、基準点抽出部と、閾値ベクトル算出部と、角膜反射特定部と、瞳孔抽出部と、視線算出部と、を備える。角膜反射候補抽出部は、人物の目を含む像が写っている第１の画像と、第１の画像よりも後に撮像された第２の画像から所定の特徴を有する角膜反射の候補を抽出する。基準点抽出部は、第１の画像及び第２の画像から人物における基準点を抽出する。閾値ベクトル算出部は、第２の画像において第１の画像の基準点と重なる位置を始点とし第２の画像における基準点を終点とする基準点の移動ベクトルと、予め定めた閾値とに基づいて、第２の画像において第１の画像の角膜反射の候補の位置と重なる候補位置を始点とする閾値ベクトルを算出する。角膜反射特定部は、第２の画像における候補位置を始点とし第２の画像から抽出した角膜反射の候補の位置を終点とする反射位置の移動ベクトルを算出し、閾値ベクトルと、反射位置の移動ベクトルとに基づいて、第２の画像から抽出された複数の角膜反射の候補の中から角膜反射の位置を特定する。瞳孔抽出部は、前記画像から瞳孔の位置を抽出する。視線算出部は、特定した前記角膜反射の位置と、抽出した前記瞳孔の位置とに基づいて、前記画像に写っている前記人物の視線を算出する。
【発明の効果】
【００１１】
メガネを装着した人物の視線を簡素な構成で精度良く検出することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】視線検出システムの構成例を示す図である。
【図２】一実施形態に係る視線検出装置の機能的構成を示す図である。
【図３】角膜反射抽出部の機能的構成を示す図である。
【図４Ａ】一実施形態に係る視線検出装置が行う処理を説明するフローチャート（その１）である。
【図４Ｂ】一実施形態に係る視線検出装置が行う処理を説明するフローチャート（その２）である。
【図５Ａ】角膜反射特定処理の内容を説明するフローチャート（その１）である。
【図５Ｂ】角膜反射特定処理の内容を説明するフローチャート（その２）である。
【図６】顔領域及び目領域の例を示す図である。
【図７】目領域の角膜反射の例を示す図である。
【図８】顔の動きの例を示す図である。
【図９】角膜反射及びメガネ反射の例を示す図である。
【図１０Ａ】角膜反射の特定方法を説明する図（その１）である。
【図１０Ｂ】角膜反射の特定方法を説明する図（その２）である。
【図１１】コンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１３】
図１は、視線検出システムの構成例を示す図である。
図１に示すように、視線検出システム１は、例えば、表示装置２の表示面２０１を観察する人物３の視線４の検出に用いられる。視線検出システム１は、赤外光源５と、撮像装置６と、視線検出装置７と、を含む。赤外光源５は、例えば、赤外発光ダイオードである。赤外光源５は、表示装置２の表示面２０１を観察する人物３の頭部に向けて赤外光５０１を発する向きで、表示装置２の近傍に設置される。撮像装置６は、赤外線カメラである。撮像装置６は、表示装置２の表示面２０１を観察する人物３の頭部を含む赤外線画像を撮像する向きで、表示装置２の近傍に設置される。視線検出装置７は、撮像装置６で撮像した赤外線画像に写っている人物３の目の部分（眼球部分）における角膜反射の位置と、瞳孔の位置とに基づいて、人物３の視線４を検出する。すなわち、視線検出装置７は、瞳孔−角膜反射法により人物３の視線４を検出する。視線検出装置７で検出した人物３の視線４は、例えば、表示装置２の表示面２０１上における人物３の視線位置（すなわち人物３が表示面２０１のどこを見ているか）に基づいた視線入力等に利用される。
【００１４】
図２は、一実施形態に係る視線検出装置の機能的構成を示す図である。
図２に示すように、視線検出装置７は、画像取得部７１０と、情報抽出部７２０と、視線算出部７３０と、出力部７４０と、を備える。また、視線検出装置７は、視線履歴７５０を記憶する記憶部（図示せず）を備える。
【００１５】
画像取得部７１０は、撮像装置６から赤外線画像を取得する。
情報抽出部７２０は、取得した赤外線画像に写っている人物３の目の部分から、角膜反射の位置と瞳孔の位置とを含む、人物３の視線の算出に用いる情報を抽出する。情報抽出部７２０は、領域抽出部７２１と、角膜反射抽出部７２２と、瞳孔抽出部７２３と、抽出情報保持部７２４と、を含む。
【００１６】
視線算出部７３０は、情報抽出部７２０で抽出した角膜反射の位置と瞳孔の位置とに基づいて、人物３の視線を算出する。視線算出部７３０は、瞳孔−角膜反射法における既知の算出方法に従って、人物３の視線を算出する。
【００１７】
出力部７４０は、視線算出部７３０で算出した人物３の視線を視線履歴７５０に蓄積するとともに、表示装置２等の外部装置に出力する。
【００１８】
上記のように、本実施形態に係る視線検出装置７における情報抽出部７２０は、情報抽出部７２０は、領域抽出部７２１と、角膜反射抽出部７２２と、瞳孔抽出部７２３と、抽出情報保持部７２４と、を含む。
【００１９】
領域抽出部７２１は、取得した赤外線画像から人物３の顔領域及び目領域を抽出する。領域抽出部７２１は、画像解析の分野における既知の抽出方法に従って、人物３の顔領域及び目領域を抽出する。
【００２０】
角膜反射抽出部７２２は、赤外線画像から抽出した目領域内に存在する角膜反射を抽出し、その位置を算出する。角膜反射抽出部７２２は、瞳孔−角膜反射法における既知の抽出方法に従って、角膜反射を抽出する。なお、本実施形態に係る角膜反射抽出部７２２は、１つの目領域内から複数の角膜反射の候補が抽出された場合、それら複数の角膜反射の候補の中から角膜反射を特定する。角膜反射抽出部７２２は、例えば、２枚の赤外線画像における顔領域内の基準点の移動ベクトルと、角膜反射の候補の移動ベクトルとに基づいて、角膜反射を特定する。
【００２１】
瞳孔抽出部７２３は、赤外線画像から抽出した目領域内に存在する瞳孔を抽出し、その位置を算出する。瞳孔抽出部７２２は、瞳孔−角膜反射法における既知の抽出方法に従って、瞳孔を抽出する。
【００２２】
抽出情報保持部７２４は、画像取得部７１０で取得した複数の赤外線画像のそれぞれから抽出した顔領域、目領域、角膜反射の候補の位置、及び顔領域内の基準点の位置等を保持する。
【００２３】
図３は、角膜反射抽出部の機能的構成を示す図である。
図３に示すように、本実施形態に係る角膜反射抽出部７２２は、角膜反射候補抽出部７２２Ａと、基準点抽出部７２２Ｂと、閾値ベクトル算出部７２２Ｃと、角膜反射特定部７２２Ｄと、を含む。
【００２４】
角膜反射候補抽出部７２２Ａは、瞳孔−角膜反射法における既知の抽出方法に従って、角膜反射の候補を抽出する。ここで、角膜反射の候補は、角膜反射に限らず、メガネのレンズによる赤外光の反射等、目領域における角膜反射らしい反射を含む。
【００２５】
基準点抽出部７２２Ｂは、取得した画像から人物における基準点を抽出する。基準点は、例えば、人物が装着しているメガネ等における所定箇所であってもよいし、眉毛等の人物の顔において特徴となる点でもよい。
【００２６】
閾値ベクトル算出部７２２Ｃは、角膜反射の候補から角膜反射を特定する際に用いる閾値ベクトルを算出する。閾値ベクトル算出部７２２Ｃは、例えば、まず、第１の画像よりも後に撮像された第２の画像において第１の画像の基準点と重なる位置を始点とし第２の画像における基準点を終点とする基準点の移動ベクトルを算出する。また、閾値ベクトル算出部７２２Ｃは、算出した基準点の移動ベクトルと、予め定めた閾値とに基づいて、第２の画像において第１の画像の角膜反射の候補の位置と重なる位置（以下「候補位置」ともいう）を始点とする閾値ベクトルを算出する。
【００２７】
角膜反射特定部７２２Ｄは、第２の画像から抽出された複数の角膜反射の候補の中から、角膜反射の位置を特定する。角膜反射特定部７２２Ｄは、第２の画像における候補位置を始点とし第２の画像から抽出した角膜反射の候補の位置を終点とする反射位置の移動ベクトルを算出する。また、角膜反射特定部７２２Ｄは、閾値ベクトルと、反射位置の移動ベクトルとに基づいて、第２の画像から抽出された複数の角膜反射の候補の中から角膜反射の位置を特定する。
【００２８】
本実施形態に係る視線検出装置７は、動作を開始すると、画像取得部７１０において撮像装置６が撮像した赤外線画像の取得を開始する。その後、視線検出装置７は、取得した赤外線画像のそれぞれに対し、例えば、図４Ａ及び図４Ｂに示す処理を行う。なお、以下の説明では、撮像装置６が撮像した赤外線画像のことを単に「画像」という。
【００２９】
図４Ａは、一実施形態に係る視線検出装置が行う処理を説明するフローチャート（その１）である。図４Ｂは、一実施形態に係る視線検出装置が行う処理を説明するフローチャート（その２）である。
【００３０】
視線検出装置７は、まず、図４Ａに示すように、取得した画像から視線の検出対象とする画像を選択する（ステップＳ１）。ステップＳ１の処理は、画像取得部７１０又は情報抽出部７２０が行う。画像取得部７１０又は情報抽出部７２０は、例えば、取得した画像のうちの、未選択であり、かつ撮像時刻が最も早い（古い）画像を、視線の検出対象に選択する。
【００３１】
次に、視線検出装置７は、選択した画像から顔領域及び目領域を抽出する（ステップＳ２）。ステップＳ２の処理は、情報抽出部７２０の領域抽出部７２１が行う。領域抽出部７２１は、画像解析の分野における既知の抽出方法に従って、人物３の顔領域及び目領域を抽出する。
【００３２】
次に、視線検出装置７は、画像から抽出した目領域に含まれる角膜反射の候補を抽出する（ステップＳ３）。ステップＳ３の処理は、情報抽出部７２０の角膜反射抽出部７２２における角膜反射候補抽出部７２２Ａが行う。角膜反射候補抽出部７２２Ａは、瞳孔−角膜反射法における既知の抽出方法に従って、角膜反射の候補を抽出する。
【００３３】
ステップＳ３の後、角膜反射抽出部７２２は、角膜反射の候補があるか否かを判定する（ステップＳ４）。角膜反射の候補がない場合（ステップＳ４；ＮＯ）、角膜反射抽出部７２２は、視線検出装置７に、ステップＳ５〜Ｓ１１をスキップさせ、図４Ｂに示すように、ステップＳ１２の判定を行わせる。
【００３４】
角膜反射の候補がある場合（ステップＳ４；ＹＥＳ）、角膜反射抽出部７２２は、次に、候補が複数であるか否かを判定する（ステップＳ５）。抽出した角膜反射の候補が複数である場合（ステップＳ５；ＹＥＳ）、角膜反射抽出部７２２は、次に、複数の角膜反射の候補の中から角膜反射を特定する角膜反射特定処理（ステップＳ６）を行う。ステップＳ６において、角膜反射抽出部７２２は、例えば、２枚の赤外線画像における顔領域内の基準点の移動ベクトルと、角膜反射の候補の移動ベクトルとに基づいて、角膜反射を特定する。
【００３５】
角膜反射特定処理を終えると、角膜反射抽出部７２２は、瞳孔抽出部７２３に、目領域に含まれる瞳孔を抽出する処理（ステップＳ７）を行わせる。ステップＳ７の処理において、瞳孔抽出部７２３は、瞳孔−角膜反射法における既知の抽出方法に従って、瞳孔を抽出する。
【００３６】
一方、抽出した角膜反射の候補が１つである場合（ステップＳ５；ＮＯ）、角膜反射抽出部７２２は、ステップＳ６の角膜反射特定処理をスキップし、瞳孔抽出部７２３に、目領域に含まれる瞳孔を抽出する処理（ステップＳ７）を行わせる。
【００３７】
ステップＳ７の処理を終えると、視線検出装置７は、次に、図４Ｂに示すように、特定した角膜反射が複数であるか否かを判定する（ステップＳ８）。ステップＳ８の判定は、例えば、視線算出部７３０が行う。視線算出部７３０は、ステップＳ６で角膜反射であると特定した反射が１個の目領域内に複数存在するか否かを判定する。特定した角膜反射が複数である場合（ステップＳ８；ＹＥＳ）、視線算出部７３０は、複数の角膜反射のうちの瞳孔に最も近い角膜反射を選択し（ステップＳ９）、瞳孔の位置と角膜反射の位置とに基づいて視線を算出する（ステップＳ１０）。一方、特定した角膜反射が１個である場合（ステップＳ８；ＮＯ）、視線算出部７３０は、ステップＳ９の処理をスキップし、瞳孔の位置と角膜反射の位置とに基づいて視線を算出する（ステップＳ１０）。ステップＳ１０の処理において、視線算出部７３０は、瞳孔−角膜反射法における既知の算出方法に従って、人物３の視線を算出する。
【００３８】
ステップＳ１０の処理を終えると、視線検出装置７は、次に、算出した視線を出力する（ステップＳ１１）。ステップＳ１１の処理は、出力部７４０が行う。出力部７４０は、視線算出部７３０が算出した人物３の視線についての情報を視線履歴７５０に蓄積する。なお、ステップＳ１１において、出力部７４０は、例えば、視線算出部７３０が算出した人物３の視線、或いは視線に基づいて表示装置２の表示面２１０上における視線位置を算出し、表示装置２等の外部装置に出力してもよい。
【００３９】
算出した視線を出力した後、視線検出装置７は、一連の処理（ステップＳ１〜Ｓ１１）を終了するか否かを判定する（ステップＳ１２）。例えば、撮像装置６の撮像範囲内にいた人物３が撮像範囲の外側に移動した場合や、人物３等が視線検出装置７に対し視線の検出を終了させる操作を行った場合、視線検出装置７は、一連の処理を終了する（ステップＳ１２；ＹＥＳ）と判定する。一方、一連の処理を続ける場合（ステップＳ１２；ＮＯ）、視線検出装置７は、ステップＳ１〜Ｓ１１の処理を繰り返す。
【００４０】
このように、本実施形態に係る視線検出装置７の角膜反射抽出部７２２は、１枚の画像から抽出した１個の目領域に複数の角膜反射の候補が存在する場合には当該複数の角膜反射の候補から角膜反射を特定する角膜反射特定処理（ステップＳ６）を行う。角膜反射抽出部７２２は、角膜反射特定処理として、例えば、図５Ａ及び図５Ｂに示した処理を行う。
【００４１】
図５Ａは、角膜反射特定処理の内容を説明するフローチャート（その１）である。図５Ｂは、角膜反射特定処理の内容を説明するフローチャート（その２）である。
【００４２】
角膜反射特定処理において、角膜反射抽出部７２２は、まず、図５に示すように、顔領域から特徴点を抽出する（ステップＳ６０１）。ステップＳ６０１の処理は、例えば、基準点抽出部７２２Ｂが行う。基準点抽出部７２２Ｂは、例えば、画像から抽出した顔領域に対しエッジ検出処理等を行い、顔領域内の特徴点を抽出する。
【００４３】
次に、角膜反射抽出部７２２は、抽出した特徴点に基づいて顔領域の基準点を決定し、当該基準点の位置情報を記憶する（ステップＳ６０２）。ステップＳ６０２の処理は、基準点抽出部７２２Ｂが行う。角膜反射特定処理を行う場合（すなわち、１個の目領域に複数の角膜反射の候補が存在する場合）、画像に写っている人物３がメガネを装着している可能性が高い。そのため、基準点抽出部７２２Ｂは、例えば、メガネのフレームにおけるリムとブリッジとの接続点等を基準点とし、顔領域内における基準点の位置を決定する。基準点抽出部７２２Ｂは、基準点の位置情報を、処理対象の画像の識別子と対応付けて抽出情報保持部７２４に記憶させる（保持させる）。
【００４４】
次に、角膜反射抽出部７２２は、角膜反射の各候補の位置情報と特徴情報とを記憶する（ステップＳ６０３）。ステップＳ６０３の処理は、例えば、角膜反射候補抽出部７２２Ａが行う。角膜反射候補抽出部７２２Ａは、例えば、角膜反射の中心の位置を位置情報とし、角膜反射の大きさを特徴情報として、処理対象の画像の識別子と対応付けて抽出情報保持部７２４に記憶させる（保持させる）。
【００４５】
次に、角膜反射抽出部７２２は、抽出情報保持部７２４を参照し、過去の角膜反射特定処理において記憶させた基準点の位置情報等があるか否かを判定する（ステップＳ６０４）。ステップＳ６０４の判定は、例えば、閾値ベクトル算出部７２２Ｃが行う。ここで、過去の角膜反射特定処理は、例えば、ある一人の人物３に対する視線の検出処理を開始してから現在の角膜反射特定処理を行う前までに行われた角膜反射特定処理とする。過去の情報がない場合（ステップＳ６０４；ＮＯ）、角膜反射抽出部７２２は、図５Ａ及び図５Ｂに示すように、ステップＳ６０５〜Ｓ６１７の処理をスキップして角膜反射特定処理を終了する。この場合、角膜反射抽出部７２２は、複数の角膜反射の候補の全てを角膜反射と特定する。このため、ステップＳ６，Ｓ７の後、視線算出部７３０は、特定した角膜反射が複数である判定し（ステップＳ８；ＹＥＳ）、複数の角膜反射のうちの瞳孔に最も近い角膜反射の位置と、瞳孔の位置とに基づいて人物３の視線を算出する（ステップＳ９，Ｓ１０）。
【００４６】
一方、過去の情報がある場合（ステップＳ６０４；ＹＥＳ）、角膜反射抽出部７２２は、過去の情報を参照し、顔の移動距離を算出する（ステップＳ６０５）。ステップＳ６０５は、例えば、角膜反射抽出部７２２の閾値ベクトル算出部７２２Ｃが行う。ステップＳ６０５において、角膜反射抽出部７２２は、例えば、まず、撮像装置６から人物３の顔までの距離Ｌ（ｃｍ）を算出する。距離Ｌは、画像内における顔幅の画素数と、撮像装置６の水平解像度と、撮像装置６の水平画角と、人の顔幅の平均値（例えば、１４．２９ｃｍ）とに基づいて算出する。次に、角膜反射抽出部７２２は、下記式（１）により、撮像装置６の水平撮像範囲Ｈ（ｃｍ）を算出する。
Ｈ＝２・ｔａｎ（φ／２）・Ｌ      ・・・（１）
式（１）におけるφは、撮像装置６の水平画角である。
【００４７】
その後、角膜反射抽出部７２２は、下記式（２）により、顔の移動距離Ｄ（ｃｍ）を算出する。
Ｄ＝（Ｗ・Ｈ）／ＨＲ      ・・・（２）
式（２）において、Ｗは画像内における顔の移動幅を表す画素数であり、ＨＲは水平解像度である。
【００４８】
顔の移動距離Ｄを算出した後、角膜反射抽出部７２２は、算出した顔の移動距離Ｄが閾値ＴＨ１以上であるか否かを判定する（ステップＳ６０６）。ステップＳ６０６の判定は、例えば、角膜反射特定部７２２Ｄが行う。顔の移動距離Ｄが閾値ＴＨ１よりも短い場合（ステップＳ６０６；ＮＯ）、角膜反射抽出部７２２は、図５Ａ及び図５Ｂに示すように、ステップＳ６０７〜Ｓ６１７の処理をスキップして角膜反射特定処理を終了する。この場合、角膜反射抽出部７２２は、複数の角膜反射の候補の全てを角膜反射と特定する。このため、ステップＳ６，Ｓ７の後、視線算出部７３０は、特定した角膜反射が複数である判定し（ステップＳ８；ＹＥＳ）、複数の角膜反射のうちの瞳孔に最も近い角膜反射の位置と、瞳孔の位置とに基づいて人物３の視線を算出する（ステップＳ９，Ｓ１０）。
【００４９】
一方、顔の移動距離Ｄが閾値ＴＨ１以上である場合（ステップＳ６０６；ＹＥＳ）、角膜反射抽出部７２２は、次に、基準点の移動ベクトルＶＲを算出する（ステップＳ６０７）。ステップＳ６０７の処理は、例えば、角膜反射抽出部７２２の閾値ベクトル算出部７２２Ｃが行う。ステップＳ６０７において、角膜反射抽出部７２２は、ステップＳ６０２で決定した基準点の位置情報と、ステップＳ６０５で参照した過去の情報に含まれる基準点の位置情報とに基づいて、移動ベクトルＶＲを算出する。
【００５０】
次に、角膜反射抽出部７２２は、角膜反射の候補同士の対応付けを行う（ステップＳ６０８）。ステップＳ６０８の処理は、例えば、角膜反射抽出部７２２の閾値ベクトル算出部７２２Ｃが行う。ステップＳ６０８において、角膜反射抽出部７２２は、現在の処理対象である画像における角膜反射の位置情報及び特徴情報と、ステップＳ６０５で参照した過去の情報に含まれる角膜反射の位置情報及び特徴情報とに基づいて、角膜反射の候補同士を対応付ける。
【００５１】
次に、角膜反射抽出部７２２は、対応付けた角膜反射の候補同士の移動ベクトルＶＭを算出する（ステップＳ６０９）。ステップＳ６０９の処理は、例えば、角膜反射抽出部７２２の角膜反射特定部７２２Ｄが行う。
【００５２】
次に、角膜反射抽出部７２２は、図５Ｂに示すように、角膜反射の移動範囲を取得する（ステップＳ６１０）。ステップＳ６１０の処理は、例えば、角膜反射抽出部７２２の閾値ベクトル算出部７２２Ｃが行う。角膜反射の移動範囲は、例えば、視線を検出可能な範囲における眼球の移動範囲の最大値とする。視線検出装置７は、例えば、人物３の視線を検出する処理を開始する際のキャリブレーションにおいて人物３が表示装置２の表示面２０１の端部を注視した際の眼球の移動量を、角膜反射の移動範囲として抽出情報保持部７２４等に記憶させておく。
【００５３】
次に、角膜反射抽出部７２２は、角膜反射の候補の組を識別する変数Ｍを１にする（ステップＳ６１１）。ステップＳ６１１の処理は、角膜反射抽出部７２２の閾値ベクトル算出部７２２Ｃが行う。
【００５４】
次に、角膜反射抽出部７２２は、Ｍ番目の角膜反射の候補の組に対する閾値ベクトルＶＴＨを算出する（ステップＳ６１２）。ステップＳ６１２の処理は、角膜反射抽出部７２２の閾値ベクトル算出部７２２Ｃが行う。ステップＳ６１２において、閾値ベクトル算出部７２２Ｃは、下記式（３）により、閾値ベクトルＶＴＨを算出する。
ＶＴＨ＝ＶＭ−Ｒ・（ＶＭ／｜ＶＭ｜）      ・・・（３）
式（３）におけるＲは、ステップＳ６１０で取得した角膜反射の移動範囲を表す円の半径である。
【００５５】
次に、角膜反射抽出部７２２は、移動ベクトルＶＭの大きさが閾値ベクトルＶＴＨの大きさ以上であるか否かを判定する（ステップＳ６１３）。ステップＳ６１３の判定は、角膜反射抽出部７２２の角膜反射特定部７２２Ｄが行う。｜ＶＭ｜≧｜ＶＴＨ｜である場合（ステップＳ６１３；ＹＥＳ）、角膜反射特定部７２２Ｄは、次に、閾値ベクトルＶＴＨと移動ベクトルＶＭとのなす角が閾値ＴＨ２以下であるか否かを判定する（ステップＳ６１４）。閾値ベクトルＶＴＨと移動ベクトルＶＭとのなす角が閾値ＴＨ２以下である場合（ステップＳ６１４；ＹＥＳ）、角膜反射特定部７２２Ｄは、Ｍ番目の角膜反射の候補を角膜反射と特定する（ステップＳ６１５）。
【００５６】
その後、角膜反射特定部７２２Ｄは、変数Ｍが角膜反射の候補の組の総数ｍ以上であるか否かを判定する（ステップＳ６１６）。なお、｜ＶＭ｜＜｜ＶＴＨ｜である場合（ステップＳ６１３；ＮＯ）、角膜反射特定部７２２Ｄは、ステップＳ６１４，Ｓ６１５をスキップしてステップＳ６１６の判定を行う。また、閾値ベクトルＶＴＨと移動ベクトルＶＭとのなす角が閾値ＴＨ２よりも大きい場合（ステップＳ６１４；ＮＯ）、角膜反射特定部７２２Ｄは、ステップＳ６１５をスキップしてステップＳ６１６の判定を行う。
【００５７】
Ｍ＜ｍである場合（ステップＳ６１６；ＮＯ）、角膜反射特定部７２２Ｄは、変数ＭをＭ＝Ｍ＋１に更新し（ステップＳ６１７）、閾値ベクトル算出部７２２Ｃと協働して、ステップＳ６１２以降の処理を繰り返す。そして、Ｍ≧ｍになった場合（ステップＳ６１６；ＹＥＳ）、角膜反射特定部７２２Ｄは、角膜反射特定処理を終了する。
【００５８】
図６は、顔領域及び目領域の例を示す図である。図７は、目領域の角膜反射の例を示す図である。
【００５９】
本実施形態に係る視線検出装置７は、例えば、図６の（ａ）に示すような画像１０を取得し、領域検出部７２１において顔領域１１を抽出する。顔領域１１は、例えば、矩形の領域とし、左上角部の座標（Ｕ１，Ｖ１）と、水平方向（ｕ方向）の画素数と、垂直方向（ｖ方向）の画素数とで指定する。
【００６０】
更に、領域検出部７２１は、図６の（ｂ）に示すように、顔領域１１内に存在する目領域１２Ａ，１２Ｂを抽出する。目領域１２Ａは、人物３の右目３０１Ｒを含む矩形の領域とし、例えば、左上角部の座標（Ｕ２，Ｖ２）と、水平方向（ｕ方向）の画素数と、垂直方向（ｖ方向）の画素数とで指定する。目領域１２Ｂは、人物３の左目３０１Ｌを含む矩形の領域とし、例えば、左上角部の座標（Ｕ３，Ｖ３）と、水平方向（ｕ方向）の画素数と、垂直方向（ｖ方向）の画素数とで指定する。
【００６１】
このとき、１個の目領域１２Ａに着目すると、図７に示すように、右目３０１Ｒの角膜部分に角膜反射１３、すなわち赤外光源５が発した赤外光５０１の反射が見られる。視線検出装置７では、目領域１２Ａ内の角膜反射１３との位置（Ｕ４，Ｖ４）と、瞳孔３０２Ｒの位置（Ｕ５，Ｖ５）とに基づいて、画像に写っている人物の視線を算出する。
【００６２】
ここで、画像に写っている人物３がメガネを装着していない場合、１個の目領域１２Ａ内における赤外光５０１の反射は１個であり、当該反射を角膜反射１３と特定することが可能である。ところが、画像に写っている人物３がメガネを装着している場合、赤外光５０１は、目の角膜だけでなく、メガネのレンズでも反射する。そのため、画像に写っている人物３がメガネを装着している場合、１個の目領域内に複数の赤外光５０１の反射が見られ、角膜反射を特定することが難しくなる。よって、本実施形態では、１個の目領域内に複数の赤外光５０１の反射が見られる場合、角膜反射特定処理（ステップＳ６）を行い、複数の反射（角膜反射の候補）の中から角膜反射を特定する。角膜反射特定処理では、上記のように、画像内における人物の顔の動きを利用して、複数の角膜反射の候補の中から角膜反射を特定する。
【００６３】
図８は、顔の動きの例を示す図である。
図８の（ａ）には、時刻ｔにおける人物３の顔の向きと、撮像装置６で撮像した画像１０との例を示している。時刻ｔにおける人物３の視線４は、表示装置２の表示面２０１の正面方向から時計回り（左側）に角度θ１だけ傾いている。また、図８の（ｂ）には、時刻ｔ＋Δｔにおける人物３の顔の向きと、撮像装置６で撮像した画像１０との例を示している。ここで、時間差Δｔは、例えば、０．１秒〜０．３秒程度とする。時刻ｔ＋Δｔにおける人物３の視線４は、表示装置２の表示面２０１の正面方向から時計回りに角度θ２（＜θ１）だけ傾いている。
【００６４】
撮像装置６は、表示装置２の近傍に設置されており、撮像範囲が一定である。そのため、表示装置２の表示面２０１を観察する人物３が顔の向きを変えて視線４の方向を変化させると、それに伴い、画像１０内における人物３の顔の向きが変化する。そのため、時刻ｔの画像１０及び時刻ｔ＋Δｔの画像１０における位置（Ｕ６，Ｖ６）を左上角部とする矩形領域１４を比較すると、矩形領域１４内における左目３０１Ｌの位置が移動する。
【００６５】
図９は、角膜反射及びメガネ反射の例を示す図である。
図９の（ａ）には、図８の（ａ）に示した時刻ｔの画像１０における矩形領域１４を示している。図９の（ａ）の矩形領域１４には、人物３の左目３０１Ｌと、メガネ１５の一部が写っている。また、図９の（ａ）の矩形領域１４には、赤外光源５が発した赤外光の反射１３０１，１３０２，１３０３が写っている。３個の反射１３０１，１３０２，１３０３のうち、左目３０１Ｌの瞳孔３０２Ｌの中心に最も近い反射１３０１は、左目３０１Ｌ（角膜）における赤外光の反射である。また、３個の反射１３０１，１３０２，１３０３のうち、残りの２個の反射１３０２，１３０３は、それぞれ、メガネ１５における左目用のレンズ１５０３における赤外光の反射（メガネ反射）である。
【００６６】
図９の（ｂ）には、図８の（ｂ）に示した時刻ｔ＋Δｔの画像１０における矩形領域１４を示している。図９の（ｂ）の矩形領域１４には、人物３の左目３０１Ｌと、メガネ１５の一部が写っている。また、図９の（ａ）の矩形領域１４には、赤外光源５が発した赤外光の反射１３１１，１３１２，１３１３が写っている。３個の反射１３１１，１３１２，１３１３のうち、左目３０１Ｌの瞳孔３０２Ｌの中心に最も近い反射１３１１は、左目３１１Ｌ（角膜）における赤外光の反射である。また、３個の反射１３１１，１３１２，１３１３のうち、残りの２個の反射１３１２，１３１３は、それぞれ、メガネ１５における左目用のレンズ１５０３における赤外光の反射（メガネ反射）である。
【００６７】
このように、画像に写っている人物がメガネ１５を装着している場合、画像には目（角膜）での赤外光の反射と、メガネ１５のレンズ１５０３での赤外光の反射とが含まれる。しかも、１枚の画像から角膜での赤外光の反射と、レンズ１５０３での赤外光の反射とを識別することは難しい。このため、本実施形態では、時刻ｔの画像１０と時刻ｔ＋Δｔの画像１０における基準点の移動ベクトルに基づいて、複数の角膜反射の候補の中から角膜反射を特定する。
【００６８】
画像１０における基準点は、顔の向きに応じて変化する点とし、例えば、メガネ１５におけるリム１５０１と、ブリッジ１５０２との接続部分Ｐ１，Ｐ２とする。図９の（ｂ）に点線の円で示した基準点Ｐ１は、時刻ｔの画像におけるリム１５０１と、ブリッジ１５０２との接続部分の位置を表している。一方、図９の（ｂ）に実線の円で示した基準点Ｐ２は、時刻ｔ＋Δｔの画像におけるリム１５０１と、ブリッジ１５０２との接続部分の位置を表している。また、図９の（ｂ）には、時刻ｔの画像における角膜反射の候補１３０１，１３０２，１３０３の位置を、それぞれ点線の円で示している。
【００６９】
人物３が目を動かさずに顔の向きを変化させた場合、角膜反射の移動方向及び移動量は、基準点の移動方向及び移動量と略一致する。これに対し、メガネ１５のレンズ１５０３における反射の移動方向及び移動量と、基準点の移動方向及び移動量との間には、大きなずれが生じる。本実施形態に係る角膜反射特定処理では、このような顔の向きを変化させたときに生じる、角膜反射の移動方向及び移動量と、メガネ１５のレンズ１５０３での反射の移動方向及び移動量との差異に基づいて、角膜反射を特定する。例えば、図９の（ｂ）に示した矩形領域１４（画像）における反射１３０１から反射１３１１への移動方向及び移動量と、反射１３０２から反射１３１２への移動方向及び移動量に比べて、基準点Ｐ１から基準点Ｐ２への移動方向及び移動量との類似性が高い。よって、閾値を用いて反射１３１１と、反射１３１２，１３１３とを識別することで、メガネを装着した人物における角膜反射を正しく抽出することが可能となる。
【００７０】
図１０Ａは、角膜反射の特定方法を説明する図（その１）である。図１０Ｂは、角膜反射の特定方法を説明する図（その２）である。
【００７１】
本実施形態に係る角膜反射特定処理（ステップＳ６）では、処理対象の画像における角膜反射を特定する際に、過去の角膜反射特定処理で決定した基準点の位置情報を参照して基準点の移動ベクトルＶＲを算出する（ステップＳ６０７）。ここで、処理対象の画像を図８の（ｂ）に示した時刻ｔ＋Δｔの画像１０とすると、ステップＳ６０７において、角膜反射抽出部７２２は、例えば、図８の（ａ）に示した時刻ｔの画像１０との間での基準点の移動ベクトルＶＲを算出する。この場合、基準点の移動ベクトルＶＲは、図１０Ａに示したように、時刻ｔ＋Δｔの画像における基準点Ｐ１の位置を始点とし、基準点Ｐ２を終点とするベクトル（すなわち基準点Ｐ１から基準点Ｐ２に向かうベクトル）となる。
【００７２】
次に、角膜反射抽出部７２２は、角膜反射の候補同士の対応付けを行う（ステップＳ６０８）、ステップＳ６０８において、角膜反射抽出部７２２は、抽出情報保持部７２４に記憶させた角膜反射の各候補の位置情報と特徴情報とに基づいて、角膜反射の候補同士を対応付ける。例えば、図１０Ａに示した時刻ｔ＋Δｔの画像における３個の反射１３１１，１３１２，１３１３は、略垂直方向（ｖ方向）に並んでおり、最も下方の反射１３１３が大きい。また、図１０Ａに示した時刻ｔの画像における３個の反射１３０１，１３０２，１３０３は、略垂直方向（ｖ方向）に並んでおり、最も下方の反射１３０３が大きい。そのため、時刻ｔ＋Δｔの画像における最も上方の反射１３１１は、時刻ｔの画像における最も上方の反射１３０１と対応付けられる。また、図１０Ａに示した時刻ｔ＋Δｔの画像における最も下方の反射１３１３は、時刻ｔの画像における最も下方の反射１３０３と対応付けられる。更に、図１０Ａに示した時刻ｔ＋Δｔの画像における反射１３１２は、時刻ｔの画像における反射１３０２と対応付けられる。
【００７３】
次に、角膜反射抽出部７２２は、角膜反射の候補同士の移動ベクトルＶＭを算出する（ステップＳ６０９）。ステップＳ６０９において、角膜反射抽出部７２２は、まず、時刻ｔの画像における最も上方の反射１３０１から、時刻ｔ＋Δｔの画像における最も上方の反射１３１１に向かう移動ベクトルＶＭ＝１を算出する。続けて、角膜反射抽出部７２２は、時刻ｔの画像における反射１３０２から時刻ｔ＋Δｔの画像における反射１３１２に向かう移動ベクトルＶＭ＝２（図示せず）を算出する。更に、角膜反射抽出部７２２は、時刻ｔの画像における反射１３０３から時刻ｔ＋Δｔの画像における反射１３１３に向かう移動ベクトルＶＭ＝３（図示せず）を算出する。
【００７４】
その後、角膜反射抽出部７２２は、角膜反射の移動範囲を取得し（ステップＳ６１０）、Ｍ＝１の角膜反射の候補の組に対する閾値ベクトルＶＴＨを算出する（ステップＳ６１２）。ステップＳ６１０において、角膜反射抽出部７２２は、図１０Ａに示すように、Ｍ＝１の角膜反射の候補の組における時刻ｔの画像の反射１３０１の位置を始点とする基準点の移動ベクトルＶＲを設定する。次に、角膜反射抽出部７２２は、当該移動ベクトルＶＲの終点を中心とする半径Ｒの領域ＡＲを、角膜反射の移動範囲に設定する。その後、角膜反射抽出部７２２は、反射１３０１から領域ＡＲの外周上の点までの距離が最小となるベクトルを、Ｍ＝１の角膜反射の候補の組に対する閾値ベクトルＶＴＨとする。
【００７５】
Ｍ＝１の角膜反射の候補の組に対する閾値ベクトルＶＴＨを算出した後、角膜反射抽出部７２２は、｜ＶＭ＝１｜≧｜ＶＴＨ｜であるか否かを判定する（ステップＳ６１３）。図１０Ａに示した例では、｜ＶＭ＝１｜≧｜ＶＴＨ｜である（ステップＳ６１３；ＹＥＳ）。したがって、角膜反射抽出部７２２は、次に、閾値ベクトルＶＴＨと移動ベクトルＶＭ＝１とのなす角が閾値ＴＨ２以下であるか否かを判定する（ステップＳ６１４）。ここで、閾値ベクトルＶＴＨと移動ベクトルＶＭ＝１とのなす角が閾値ＴＨ２以下であるとすると、角膜反射抽出部７２２は、Ｍ＝１の角膜反射の候補の組における、時刻ｔ＋Δｔの画像の角膜反射の候補１３１１を角膜反射に特定する（ステップＳ６１５）。
【００７６】
Ｍ＝１の角膜反射の候補の組に対するステップＳ６１２〜Ｓ６１５の処理を終えると、角膜反射抽出部７２２は、Ｍ＝２の角膜反射の候補の組に対するステップＳ６１２，Ｓ６１３の処理を行う。このとき、角膜反射抽出部７２２は、図１０Ｂに示すように、時刻ｔの画像の反射１３０２の位置を始点とする基準点の移動ベクトルＶＲに基づいて半径Ｒの領域ＡＲ（角膜反射の移動範囲）を設定し、閾値ベクトルＶＴＨを算出する（ステップＳ６１２）。その後、角膜反射抽出部７２２は、｜ＶＭ＝２｜≧｜ＶＴＨ｜であるか否かを判定する（ステップＳ６１３）。図１０Ｂに示した例では、｜ＶＭ＝２｜＜｜ＶＴＨ｜である（ステップＳ６１３；ＮＯ）。したがって、角膜反射抽出部７２２は、Ｍ＝２の角膜反射の候補の組に対するステップＳ６１４，Ｓ６１５をスキップし、次に、Ｍ＝３の角膜反射の候補の組に対するステップＳ６１２，Ｓ６１３の処理を行う。図示は省略するが、Ｍ＝３の角膜反射の候補の組では、｜ＶＭ＝３｜＜｜ＶＴＨ｜である（ステップＳ６１３；ＮＯ）。したがって、角膜反射抽出部７２２は、Ｍ＝３の角膜反射の候補の組に対するステップＳ６１４，Ｓ６１５をスキップし、ステップＳ６１６の判定を行う。図１０Ａ，図１０Ｂに示した例では、角膜反射の候補の組が３組（ｍ＝３）である。そのため、Ｍ＝３の角膜反射の候補の組に対するステップＳ６１４，Ｓ６１５をスキップした後、角膜反射抽出部７２２は、ステップＳ６１６においてＮＯと判定し、角膜反射特定処理を終了する。
【００７７】
以上の処理により図８の（ｂ）に示した時刻ｔ＋Δｔの画像１０における左目３０１Ｌの角膜反射が特定される。
【００７８】
このように、本実施形態に係る視線検出装置７では、画像内で人物とともに移動する基準点の移動ベクトルと、画像内の１個の目領域から抽出した複数の角膜反射の候補の位置の移動ベクトルと、角膜反射の移動範囲についての閾値とに基づいて角膜反射を特定する。この際、視線検出装置７では、第１の画像及び第２の画像における角膜反射の候補の組に対し、第１の画像における角膜反射の候補の位置を始点とする基準点の移動ベクトルと、角膜反射の移動範囲についての閾値とに基づいて、角膜反射の候補の組に対する閾値ベクトルを設定する。そして、視線検出装置７は、角膜反射の候補の組における移動ベクトルの大きさが、閾値ベクトルの大きさよりも大きく、かつ、移動ベクトルと閾値ベクトルとのなす角が角度閾値ＴＨ２以下である場合に、その角膜反射の候補を角膜反射に特定する。このため、画像に写っている人物がメガネを装着している場合でも、メガネのレンズにおける赤外光の反射を除外して角膜反射を特定することが可能となる。
【００７９】
また、基準点の移動ベクトルが閾値ベクトルよりも大きくなる第１の画像と第２の画像との組を選択することで、より精度よく角膜反射を特定することが可能となる。
【００８０】
また、画像に写っている人物が目を閉じており、メガネのレンズによる赤外光の反射のみが角膜反射の候補として抽出された場合にも、本実施形態によれば、メガネのレンズにおける赤外光の反射を除外して角膜反射を特定することが可能となる。
【００８１】
更に、画像の撮像間隔が長い場合（フレームレートが低い場合）や、取得した画像を間引きして処理を行う場合のように、人物が目を閉じている画像が定期的に現れない場合でも、メガネのレンズによる赤外光の反射を除外して角膜反射を特定することが可能となる。
【００８２】
しかも、本実施形態に係る視線検出装置７では、１組の赤外光源５及び撮像装置６によりメガネのレンズによる赤外光の反射を除外して角膜反射を特定することが可能となる。このため、簡素な構成で角膜反射を精度良く特定でき、視線検出システムのコストを低減することが可能となる。
【００８３】
なお、本実施形態においては、第１の画像（時刻ｔの画像）と、第１の画像よりも後に撮像された第２の画像（時刻ｔ＋Δｔ）とに基づいて第２の画像における角膜反射の位置を特定している。しかしながら、本実施形態に係る角膜反射特定処理では、これに限らず、第１の画像と、第２の画像とに基づいて、第１の画像における角膜反射の位置を特定してもよい。
【００８４】
また、基準点は、上記のメガネ１５におけるリム１５０１とブリッジ１５０２との接続位置に限らず、顔の向きとともに移動する点であればよい。例えば、撮像装置６で画像を撮像する際の時間間隔（フレームレート）が数十ｆｐｓ以上であり表情筋の動きよりも十分速い場合には、眉毛を基準点としてもよい。
【００８５】
また、図５Ａ及び図５Ｂに示したフローチャートは、本実施形態に係る視線検出装置７が行う角膜反射特定処理の一例に過ぎない。角膜反射特定処理は、上記の手順に限らず、本実施形態の要旨を逸脱しない範囲において適宜変更可能である。
【００８６】
また、図４Ａ及び図４Ｂに示したフローチャートは、本実施形態に係る視線検出装置７が行う処理の一例に過ぎない。本実施形態に係る視線検出装置７が行う処理は、上記の手順に限らず、本実施形態の要旨を逸脱しない範囲において適宜変更可能である。
【００８７】
更に、本実施形態に係る視線検出装置７の機能的構成は、図２に示した構成に限らず、本実施形態の要旨を逸脱しない範囲において適宜変更可能である。
【００８８】
加えて、本実施形態に係る視線検出装置７は、図１に示したような構成の視線検出システム１に限らず、種々の視線検出システムに適用可能である。例えば、視線検出装置７は、店舗内で顧客がどの商品に興味を示したかを調査する表示装置２のない視線検出システムにも適用可能である。
【００８９】
また、上記の処理を行う視線検出装置７は、例えば、コンピュータと、当該コンピュータに実行させるプログラムとにより実現可能である。以下、図１１を参照して、コンピュータとプログラムとを用いて実現される視線検出装置７について説明する。
【００９０】
図１１は、コンピュータのハードウェア構成を示す図である。
図１１に示すように、コンピュータ２０は、プロセッサ２００１と、主記憶装置２００２と、補助記憶装置２００３と、入力装置２００４と、出力装置２００５と、入出力インタフェース２００６と、通信制御装置２００７と、媒体駆動装置２００８と、を備える。コンピュータ２０におけるこれらの要素２００１〜２００８は、バス２０１０により相互に接続されており、要素間でのデータの受け渡しが可能になっている。
【００９１】
プロセッサ２００１は、Central Processing Unit（ＣＰＵ）やMicro Processing Unit（ＭＰＵ）等である。プロセッサ２００１は、オペレーティングシステムを含む各種のプログラムを実行することにより、コンピュータ２０の全体の動作を制御する。また、プロセッサ２００１は、例えば、図４Ａ、図４Ｂ、図５Ａ、及び図５Ｂに示した各処理を行う。
【００９２】
主記憶装置２００２は、図示しないRead Only Memory（ＲＯＭ）及びRandom Access Memory（ＲＡＭ）を含む。主記憶装置２００２のＲＯＭには、例えば、コンピュータ２０の起動時にプロセッサ２００１が読み出す所定の基本制御プログラム等が予め記録されている。また、主記憶装置２００２のＲＡＭは、プロセッサ２００１が、各種のプログラムを実行する際に必要に応じて作業用記憶領域として使用する。主記憶装置２００２のＲＡＭは、例えば、撮像装置６から取得した画像、画像から抽出した顔領域の基準点の位置情報、角膜反射の候補の位置情報及び特徴情報、角膜反射の移動範囲、並びに角膜反射の候補同士の移動ベクトルＶＭ等の記憶に利用可能である。
【００９３】
補助記憶装置２００３は、例えば、Hard Disk Drive（ＨＤＤ）や、フラッシュメモリ等の不揮発性メモリ（Solid State Drive（ＳＳＤ）を含む）等、主記憶装置２００２のＲＡＭと比べて容量の大きい記憶装置である。補助記憶装置２００３は、プロセッサ２００１によって実行される各種のプログラムや各種のデータ等の記憶に利用可能である。補助記憶装置２００３は、例えば、図４Ａ、図４Ｂ、図５Ａ、及び図５Ｂに示した各処理を含むプログラム等の記憶に利用可能である。また、補助記憶装置２００３は、例えば、撮像装置６から取得した画像、画像から抽出した顔領域の基準点の位置情報、角膜反射の候補の位置情報及び特徴情報、角膜反射の移動範囲、角膜反射の候補同士の移動ベクトルＶＭ、並びに検出した視線（視線履歴７５０）等の記憶に利用可能である。
【００９４】
入力装置２００４は、例えば、キーボード装置やタッチパネル装置等である。コンピュータ２０のオペレータ（利用者）が入力装置２００４に対して所定の操作を行うと、入力装置２００４は、その操作内容に対応付けられている入力情報をプロセッサ２００１に送信する。入力装置２００４は、例えば、視線の検出処理を開始させる命令、視線の検出処理を終了させる命令、コンピュータ２０が実行可能な他の処理に関する命令等の入力や、各種設定値の入力等に利用可能である。
【００９５】
出力装置２００５は、例えば、液晶表示装置等の装置、スピーカ等の音声再生装置を含む。出力装置２００５における表示装置は、図１の視線検出システム１の表示装置２として利用可能である。
【００９６】
入出力インタフェース２００６は、コンピュータ２０と、他の電子機器とを接続する。入出力インタフェース２００６は、例えば、Universal Serial Bus（ＵＳＢ）規格のコネクタ等を備える。入出力インタフェース２００６は、例えば、コンピュータ２０と、撮像装置６や赤外光源５との接続に利用可能である。
【００９７】
通信制御装置２００７は、コンピュータ２０をインターネット等の通信ネットワークに接続し、通信ネットワークを介したコンピュータ２０と他の電子機器との各種通信を制御する装置である。通信制御装置２００７は、例えば、コンピュータ２０と、表示装置２に表示させる各種映像等を蓄積したサーバ装置等との通信に利用可能である。
【００９８】
媒体駆動装置２００８は、可搬型記憶媒体２１に記録されているプログラムやデータの読み出し、補助記憶装置２００３に記憶されたデータ等の可搬型記憶媒体２１への書き込みを行う。媒体駆動装置２００８には、例えば、１種類又は複数種類の規格に対応したメモリカード用リーダ／ライタが利用可能である。媒体駆動装置２００８としてメモリカード用リーダ／ライタを用いる場合、可搬型記憶媒体２１としては、メモリカード用リーダ／ライタが対応している規格、例えば、Secure  Digital（ＳＤ）規格のメモリカード（フラッシュメモリ）等を利用可能である。また、可搬型記録媒体２１としては、例えば、ＵＳＢ規格のコネクタを備えたフラッシュメモリが利用可能である。更に、コンピュータ２０が媒体駆動装置２００８として利用可能な光ディスクドライブを搭載している場合、当該光ディスクドライブで認識可能な各種の光ディスクを可搬型記録媒体２１として利用可能である。可搬型記録媒体２１として利用可能な光ディスクには、例えば、Compact Disc（ＣＤ）、Digital Versatile Disc（ＤＶＤ）、Blu-ray Disc（Blu-rayは登録商標）等がある。可搬型記録媒体２１は、図４Ａ、図４Ｂ、図５Ａ、及び図５Ｂに示した処理を含むプログラム、撮像装置６で撮像した画像、コンピュータ２０で算出した（検出した）視線の履歴等の記憶に利用可能である。
【００９９】
図４Ａ及び図４Ｂに示した処理を開始する命令をコンピュータ２０に入力すると、プロセッサ２００１が、補助記憶装置２００３等の非一時的な記録媒体に記憶させた、図４Ａ及び図４Ｂに示した処理を含むプログラムを読み出して実行する。これらの処理において、プロセッサ２００１は、図２の視線検出装置７の画像取得部７１０、領域抽出部７２１、角膜反射抽出部７２２、瞳孔抽出部７２３、視線算出部７３０、及び出力部７４０として機能する（動作する）。また、主記憶装置２００２のＲＡＭや補助記憶装置２００３等は、図２の視線検出装置７における抽出情報保持部７２４、視線履歴７５０を記憶する記憶部の他、図示していないバッファ等として機能する。
【０１００】
なお、視線検出装置７として動作させるコンピュータ２０は、図１１に示した全ての要素２００１〜２００８を含む必要はなく、用途や条件に応じて一部の要素を省略することも可能である。例えば、コンピュータ２０は、通信制御装置２００７や媒体駆動装置２００８が省略されたものであってもよい。
【０１０１】
以上記載した各実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
人物の目を含む像が写っている第１の画像と、前記第１の画像よりも後に撮像された第２の画像から所定の特徴を有する角膜反射の候補を抽出する角膜反射候補抽出部と、
前記第１の画像及び前記第２の画像から前記人物における基準点を抽出する基準点抽出部と、
前記第２の画像において前記第１の画像の基準点と重なる位置を始点とし前記第２の画像における基準点を終点とする前記基準点の移動ベクトルと、予め定めた閾値とに基づいて、前記第２の画像において前記第１の画像の角膜反射の候補の位置と重なる候補位置を始点とする閾値ベクトルを算出する閾値ベクトル算出部と
前記第２の画像における前記候補位置を始点とし前記第２の画像から抽出した前記角膜反射の候補の位置を終点とする反射位置の移動ベクトルを算出し、前記閾値ベクトルと、前記反射位置の移動ベクトルとに基づいて、前記第２の画像から抽出された複数の角膜反射の候補の中から角膜反射の位置を特定する角膜反射特定部と、
前記画像から瞳孔の位置を抽出する瞳孔抽出部と、
特定した前記角膜反射の位置と、抽出した前記瞳孔の位置とに基づいて、前記画像に写っている前記人物の視線を算出する視線算出部と、
を備えることを特徴とする視線検出装置。
（付記２）
前記閾値ベクトル算出部は、前記第２の画像における前記候補位置を前記基準点の移動ベクトルの始点としたときの当該移動ベクトルの終点の位置と、前記人物の前記目の移動範囲に基づいて、第２の画像における前記候補位置から前記目の移動範囲までの距離が最小となる前記閾値ベクトルを算出する、
ことを特徴とする付記１に記載の視線検出装置。
（付記３）
前記角膜反射特定部は、前記基準点の移動ベクトルの大きさが、前記閾値ベクトルの大きさよりも大きくなる前記第１の画像と前記第２の画像との組を選択して、前記角膜反射の位置を特定する、
ことを特徴とする付記２に記載の視線検出装置。
（付記４）
前記基準点抽出部は、前記人物が装着しているメガネの所定箇所を前記基準点として前記画像から抽出する、
ことを特徴とする付記１に記載の視線検出装置。
（付記５）
前記基準点抽出部は、前記人物の眉毛を前記基準点として前記画像から抽出する、
ことを特徴とする付記１に記載の視線検出装置。
（付記６）
前記人物の前記目の移動範囲の最大値を保持する保持部、を更に備え、
前記閾値ベクトル算出部は、前記第２の画像における前記候補位置を前記基準点の移動ベクトルの始点としたときの当該移動ベクトルの終点の位置と、前記人物の前記目の移動範囲の最大値とに基づいて、前記閾値ベクトルを算出する、
ことを特徴とする付記２に記載の視線検出装置。
（付記７）
前記視線算出部は、特定した前記角膜反射が複数である場合に、当該複数の前記角膜反射のうちの前記瞳孔に最も近い角膜反射の位置と、前記瞳孔の位置とに基づいて、前記人物の視線を算出する、
ことを特徴とする付記１に記載の視線検出装置。
（付記８）
コンピュータが、
人物の目を含む像が写っている画像から前記人物における基準点を抽出するとともに、所定の特徴を有する角膜反射の候補を抽出し、
第１の画像よりも後に撮像された第２の画像において前記第１の画像の基準点と重なる位置を始点とし前記第２の画像における基準点を終点とする前記基準点の移動ベクトルを算出し、
前記基準点の移動ベクトルと、予め定めた閾値とに基づいて、前記第２の画像において前記第１の画像の角膜反射の候補の位置と重なる候補位置を始点とする閾値ベクトルを算出するとともに、前記第２の画像における前記候補位置を始点とし前記第２の画像から抽出した前記角膜反射の候補の位置を終点とする反射位置の移動ベクトルを算出し、
前記閾値ベクトルと、前記反射位置の移動ベクトルとに基づいて、前記第２の画像から抽出された複数の角膜反射の候補の中から角膜反射の位置を特定し、
前記画像から瞳孔の位置を抽出し、
特定した前記角膜反射の位置と、抽出した前記瞳孔の位置とに基づいて、前記画像に写っている前記人物の視線を算出する、
処理を実行することを特徴とする視線検出方法。
（付記９）
前記閾値ベクトルを算出する処理において、前記コンピュータは、
前記第２の画像における前記候補位置を前記基準点の移動ベクトルの始点としたときの当該移動ベクトルの終点の位置と、前記人物の前記目の移動範囲に基づいて、第２の画像における前記候補位置から前記目の移動範囲までの距離が最小となる前記閾値ベクトルを算出する、
ことを特徴とする付記８に記載の視線検出方法。
（付記１０）
前記コンピュータは、
前記基準点の移動ベクトルの大きさが、前記閾値ベクトルの大きさよりも大きくなる前記第１の画像と前記第２の画像との組を選択して、前記角膜反射の位置を特定する、
ことを特徴とする付記９に記載の視線検出方法。
（付記１１）
前記基準点を抽出する処理において、前記コンピュータは、
前記人物が装着しているメガネの所定箇所を前記基準点として前記画像から抽出する、
ことを特徴とする付記８に記載の視線検出方法。
（付記１２）
前記基準点を抽出する処理において、前記コンピュータは、
前記人物の眉毛を前記基準点として前記画像から抽出する、
ことを特徴とする付記８に記載の視線検出方法。
（付記１３）
前記閾値ベクトルを算出する処理において、前記コンピュータは、
当該コンピュータのメモリに記憶させた前記人物の目の移動範囲の最大値を読み出し、
前記第２の画像における前記候補位置を前記基準点の移動ベクトルの始点としたときの当該移動ベクトルの終点の位置と、前記人物の前記目の移動範囲の最大値とに基づいて、前記閾値ベクトルを算出する、
ことを特徴とする付記９に記載の視線検出方法。
（付記１４）
前記人物の視線を算出する処理において、前記コンピュータは、
特定した前記角膜反射が複数である場合には、当該複数の前記角膜反射のうちの前記瞳孔に最も近い角膜反射の位置と、前記瞳孔の位置とに基づいて、前記人物の視線を算出する、
ことを特徴とする付記８に記載の視線検出方法。
（付記１５）
人物の目を含む像が写っている画像から前記人物における基準点を抽出するとともに、所定の特徴を有する角膜反射の候補を抽出し、
第１の画像よりも後に撮像された第２の画像において前記第１の画像の基準点と重なる位置を始点とし前記第２の画像における基準点を終点とする前記基準点の移動ベクトルを算出し、
前記基準点の移動ベクトルと、予め定めた閾値とに基づいて、前記第２の画像において前記第１の画像の角膜反射の候補の位置と重なる候補位置を始点とする閾値ベクトルを算出するとともに、前記第２の画像における前記候補位置を始点とし前記第２の画像から抽出した前記角膜反射の候補の位置を終点とする反射位置の移動ベクトルを算出し、
前記閾値ベクトルと、前記反射位置の移動ベクトルとに基づいて、前記第２の画像から抽出された複数の角膜反射の候補の中から角膜反射の位置を特定し、
前記画像から瞳孔の位置を抽出し、
特定した前記角膜反射の位置と、抽出した前記瞳孔の位置とに基づいて、前記画像に写っている前記人物の視線を算出する、
処理をコンピュータに実行させる視線検出プログラム。
【符号の説明】
【０１０２】
１  視線検出システム
２  表示装置
３  人物
４  視線
５  赤外光源
６  撮像装置
７  視線検出装置
１０  画像
１１  顔領域
１２Ａ，１２Ｂ  目領域
１３,１３０１，１３１１  角膜反射（の候補）
１５  メガネ
２０  コンピュータ
２１  可搬型記録媒体
３０１Ｒ  右目
３０１Ｌ  左目
３０２Ｒ，３０２Ｌ  瞳孔
１３０２，１３０３，１３１２，１３１３  角膜反射の候補
７１０  画像取得部
７２０  情報抽出部
７２１  領域抽出部
７２２  角膜反射抽出部
７２３  瞳孔抽出部
７２４  抽出情報保持部
７３０  視線算出部
７４０  出力部
７５０  視線履歴
１５０１  リム
１５０２  ブリッジ
１５０３  レンズ
２００１  プロセッサ
２００２  主記憶装置
２００３  補助記憶装置
２００４  入力装置
２００５  出力装置
２００６  入出力インタフェース
２００７  通信制御装置
２００８  媒体駆動装置
Ｐ１，Ｐ２  基準点
【図１】
2018025987.tif 000003
【図２】
2018025987.tif 000004
【図３】
2018025987.tif 000005
【図４Ａ】
2018025987.tif 000006
【図４Ｂ】
2018025987.tif 000007
【図５Ａ】
2018025987.tif 000008
【図５Ｂ】
2018025987.tif 000009
【図６】
2018025987.tif 000010
【図７】
2018025987.tif 000011
【図８】
2018025987.tif 000012
【図９】
2018025987.tif 000013
【図１０Ａ】
2018025987.tif 000014
【図１０Ｂ】
2018025987.tif 000015
【図１１】
2018025987.tif 000016