(57)【要約】      （修正有）【課題】３次元空間の眼球中心点および瞳孔中心点の位置座標の推定精度を向上できる視線推定プログラムおよび視線推定装置を提供する。【解決手段】視線推定プログラムは、撮影された画像における眼球中心点および瞳孔中心点の２次元位置座標を第１の特徴点座標として入力する手順Ｓ１０２と、第１の特徴点座標に基づいて推定された、眼球中心点および瞳孔中心点の３次元位置座標を補正する手順Ｓ１０６と、手順Ｓ１０６において補正された、眼球中心点および瞳孔中心点の３次元位置座標に基づいて視線ベクトルを算出する手順Ｓ１０８と、を含む。【選択図】図６
2020017072.tif 000002
【特許請求の範囲】
【請求項１】
撮影された画像における眼球中心点および瞳孔中心点の２次元位置座標を第１の特徴点座標として入力する手順（ａ）と、
前記第１の特徴点座標に基づいて推定された、前記眼球中心点および瞳孔中心点の３次元位置座標を補正する手順（ｂ）と、
前記手順（ｂ）において補正された、前記眼球中心点および瞳孔中心点の３次元位置座標に基づいて視線ベクトルを算出する手順（ｃ）と、
を含む処理をコンピューターに実行させるための視線推定プログラム。
【請求項２】
前記手順（ａ）では、さらに、
前記眼球中心点および瞳孔中心点の２次元位置座標に基づいて推定された、３次元空間における眼球中心点および瞳孔中心点の３次元位置座標を第２の特徴点座標として入力し、
前記手順（ｂ）では、
前記第１および第２の特徴点座標に基づいて、前記３次元位置座標と前記２次元位置座標との間の射影方法を算出する手順（ｂ１）と、
前記射影方法を使用し、前記眼球中心点および瞳孔中心点のそれぞれについて、前記２次元位置座標を前提とした場合の前記３次元位置座標の最大事後確率が最大となる３次元位置座標に補正する手順（ｂ２）と、をさらに含む、請求項１に記載の視線推定プログラム。
【請求項３】
前記手順（ｂ２）では、
前記手順（ａ）において入力された前記第２の特徴点座標における、前記眼球中心点および瞳孔中心点の３次元位置座標を初期値として、
前記３次元位置座標の最大事後確率の最大化を前記眼球中心点および瞳孔中心点について交互に反復的に実施する、請求項２に記載の視線推定プログラム。
【請求項４】
前記手順（ａ）では、
時系列でそれぞれ複数の前記第１および第２の特徴点座標を入力し、
前記手順（ｂ１）では、
前記時系列のある時点における画像の前記第１および第２の特徴点座標に基づいて算出された射影行列と、前記ある時点よりも前の時点おける射影行列とを加重平均することにより、前記３次元位置座標から前記２次元位置座標へ変換するための射影行列を算出する、請求項２または３に記載の視線推定プログラム。
【請求項５】
撮影された画像における眼球中心点および瞳孔中心点の２次元位置座標を第１の特徴点座標として入力する第１の入力部と、
前記第１の特徴点座標に基づいて推定された、前記眼球中心点および瞳孔中心点の３次元位置座標を補正する補正部と、
前記補正部によって補正された、前記眼球中心点および瞳孔中心点の３次元位置座標に基づいて視線ベクトルを算出する視線方向算出部と、
を有する、視線推定装置。
【請求項６】
前記眼球中心点および瞳孔中心点の２次元位置座標に基づいて推定された、３次元空間における眼球中心点および瞳孔中心点の３次元位置座標を第２の特徴点座標として入力する第２の入力部をさらに有し、
前記補正部は、
前記第１および第２の特徴点座標に基づいて、前記３次元位置座標と前記２次元位置座標との間の射影方法を算出する射影方法算出部と、
前記射影方法を使用し、前記眼球中心点および瞳孔中心点のそれぞれについて、前記２次元位置座標を前提とした場合の前記３次元位置座標の最大事後確率が最大となる３次元位置座標に補正する特徴点補正部と、をさらに有する、請求項５に記載の視線推定装置。
【請求項７】
前記特徴点補正部は、
前記第２の入力部によって入力された前記第２の特徴点座標における、前記眼球中心点および瞳孔中心点の３次元位置座標を初期値として、
前記３次元位置座標の最大事後確率の最大化を前記眼球中心点および瞳孔中心点について交互に反復的に実施する、請求項６に記載の視線推定装置。
【請求項８】
前記第１および第２の入力部は、
時系列でそれぞれ複数の前記第１および第２の特徴点座標を入力し、
前記射影方法算出部は、
前記時系列のある時点における画像の前記第１および第２の特徴点座標に基づいて算出された射影行列と、前記ある時点よりも前の時点おける射影行列とを加重平均することにより、前記３次元位置座標から前記２次元位置座標へ変換するための射影行列を算出する、請求項６または７に記載の視線推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、視線推定プログラムおよび視線推定装置に関する。
【背景技術】
【０００２】
近年、カメラで撮像された画像から被写体の人の視線方向を推定し、防犯や店舗における販売戦略に利用する試みがなされている。たとえば、街中に設置されたカメラで撮像された人の視線方向から不審者を特定したり、スーパーマーケット等の店舗に設置されたカメラで撮像された人の視線方向から、陳列商品に対する関心の対象や度合いについての情報を取得したりすることが行われている。
【０００３】
カメラで撮像した画像から被写体の人の視線方向を推定する技術としては、たとえば下記の非特許文献１の技術が知られている。非特許文献１の技術では、カメラで撮像された人の眼球を含む画像から３次元空間における人の眼球中心点および瞳孔中心点の位置座標を算出し、３次元空間の眼球中心点と瞳孔中心点とを結ぶ方向を視線方向として推定している。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｅｒｒｏｌｌ  Ｗｏｏｄ  外５名、「Ｒｅｎｄｅｒｉｎｇ  ｏｆ  Ｅｙｅｓ  ｆｏｒ  Ｅｙｅ−Ｓｈａｐｅ  Ｒｅｇｉｓｔｒａｔｉｏｎ  ａｎｄ  Ｇａｚｅ  Ｅｓｔｉｍａｔｉｏｎ」、ＡＲＸＩＶ、ｅｐｒｉｎｔ  ａｒＸｉｖ：１５０５．０５９１６、２０１５年５月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１の技術では、２次元画像の眼球中心点および瞳孔中心点の位置座標を入力として、眼球中心点および瞳孔中心点の位置座標を３次元空間上にマッピングする際に誤差が生じる場合がある。その結果、３次元空間の眼球中心点および瞳孔中心点の位置座標に基づいて推定される視線方向にも誤差が生じるおそれがある。
【０００６】
本発明は、上述した課題に鑑みてなされたものである。したがって、本発明の目的は、３次元空間の眼球中心点および瞳孔中心点の位置座標の推定精度を向上できる視線推定プログラムおよび視線推定装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明の上記目的は、下記の手段によって達成される。
【０００８】
（１）撮影された画像における眼球中心点および瞳孔中心点の２次元位置座標を第１の特徴点座標として入力する手順（ａ）と、前記第１の特徴点座標に基づいて推定された、前記眼球中心点および瞳孔中心点の３次元位置座標を補正する手順（ｂ）と、前記手順（ｂ）において補正された、前記眼球中心点および瞳孔中心点の３次元位置座標に基づいて視線ベクトルを算出する手順（ｃ）と、を含む処理をコンピューターに実行させるための視線推定プログラム。
【０００９】
（２）前記手順（ａ）では、さらに、前記眼球中心点および瞳孔中心点の２次元位置座標に基づいて推定された、３次元空間における眼球中心点および瞳孔中心点の３次元位置座標を第２の特徴点座標として入力し、前記手順（ｂ）では、前記第１および第２の特徴点座標に基づいて、前記３次元位置座標と前記２次元位置座標との間の射影方法を算出する手順（ｂ１）と、前記射影方法を使用し、前記眼球中心点および瞳孔中心点のそれぞれについて、前記２次元位置座標を前提とした場合の前記３次元位置座標の最大事後確率が最大となる３次元位置座標に補正する手順（ｂ２）と、をさらに含む、上記（１）に記載の視線推定プログラム。
【００１０】
（３）前記手順（ｂ２）では、前記手順（ａ）において入力された前記第２の特徴点座標における、前記眼球中心点および瞳孔中心点の３次元位置座標を初期値として、前記３次元位置座標の最大事後確率の最大化を前記眼球中心点および瞳孔中心点について交互に反復的に実施する、上記（２）に記載の視線推定プログラム。
【００１１】
（４）前記手順（ａ）では、時系列でそれぞれ複数の前記第１および第２の特徴点座標を入力し、前記手順（ｂ１）では、前記時系列のある時点における画像の前記第１および第２の特徴点座標に基づいて算出された射影行列と、前記ある時点よりも前の時点おける射影行列とを加重平均することにより、前記３次元位置座標から前記２次元位置座標へ変換するための射影行列を算出する、上記（２）または（３）に記載の視線推定プログラム。
【００１２】
（５）撮影された画像における眼球中心点および瞳孔中心点の２次元位置座標を第１の特徴点座標として入力する第１の入力部と、前記第１の特徴点座標に基づいて推定された、前記眼球中心点および瞳孔中心点の３次元位置座標を補正する補正部と、前記補正部によって補正された、前記眼球中心点および瞳孔中心点の３次元位置座標に基づいて視線ベクトルを算出する視線方向算出部と、を有する、視線推定装置。
【００１３】
（６）前記眼球中心点および瞳孔中心点の２次元位置座標に基づいて推定された、３次元空間における眼球中心点および瞳孔中心点の３次元位置座標を第２の特徴点座標として入力する第２の入力部をさらに有し、前記補正部は、前記第１および第２の特徴点座標に基づいて、前記３次元位置座標と前記２次元位置座標との間の射影方法を算出する射影方法算出部と、前記射影方法を使用し、前記眼球中心点および瞳孔中心点のそれぞれについて、前記２次元位置座標を前提とした場合の前記３次元位置座標の最大事後確率が最大となる３次元位置座標に補正する特徴点補正部と、をさらに有する、上記（５）に記載の視線推定装置。
【００１４】
（７）前記特徴点補正部は、前記第２の入力部によって入力された前記第２の特徴点座標における、前記眼球中心点および瞳孔中心点の３次元位置座標を初期値として、前記３次元位置座標の最大事後確率の最大化を前記眼球中心点および瞳孔中心点について交互に反復的に実施する、上記（６）に記載の視線推定装置。
【００１５】
（８）前記第１および第２の入力部は、時系列でそれぞれ複数の前記第１および第２の特徴点座標を入力し、前記射影方法算出部は、前記時系列のある時点における画像の前記第１および第２の特徴点座標に基づいて算出された射影行列と、前記ある時点よりも前の時点おける射影行列とを加重平均することにより、前記３次元位置座標から前記２次元位置座標へ変換するための射影行列を算出する、上記（６）または（７）に記載の視線推定装置。
【発明の効果】
【００１６】
本発明によれば、３次元空間上の特徴点とカメラの撮像素子上に射影された特徴点との射影関係と、複数の特徴点間の位置関係と、に基づいて、特徴点の３次元位置座標を最大事後確率推定により反復的に交互に推定して補正する。したがって、特徴点の３次元位置座標の推定精度を向上できる。その結果、補正された特徴点である、３次元空間の眼球中心点および瞳孔中心点の位置座標に基づいて推定される視線方向の推定精度も向上できる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態に係る視線推定装置の概略構成を示すブロック図である。
【図２】図１に示す視線推定装置の概略構成を例示するブロック図である。
【図３】図１に示す視線推定装置の概略的な機能構成を例示する機能ブロック図である。
【図４】図３に示す特徴点補正部の概略的な機能構成を例示する機能ブロック図である。
【図５】３次元空間上の特徴点とカメラの撮像素子上に射影された特徴点との射影関係を例示する模式図である。
【図６】一実施形態における視線推定方法の処理手順の一例を示すフローチャートである。
【図７】射影行列の補正について説明するための模式図である。
【図８】視線推定装置によって特徴点の３次元位置座標を推定したシミュレーション結果を例示する図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１９】
＜視線推定装置の構成＞
図１は一実施形態に係る視線推定装置の概略構成を示すブロック図であり、図２は図１に示す視線推定装置の概略構成を例示するブロック図である。図１および図２に示すように、視線推定装置１００は、演算部１１０、記憶部１２０、表示部１３０、入力部１４０、および通信インターフェース１５０を有し、これらの構成要素はバス１６０により接続されている。視線推定装置１００は、たとえばパーソナルコンピューター、携帯情報端末、スマートフォン等によって実現されうる。視線推定装置１００には、カメラ２００が接続されている。
【００２０】
演算部１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を有し、ＣＰＵがプログラムを実行することにより、様々な機能を実現する。演算部１１０が実現する主な機能の詳細については後述する。
【００２１】
記憶部１２０は、予め各種プログラムや各種データを格納しておくＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、作業領域として一時的にプログラムやデータを記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、各種プログラムや各種データを格納する補助記憶部を有する。補助記憶部は、大容量の記憶媒体、たとえばハードディスクドライブ（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）またはＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等からなる。
【００２２】
プログラムには、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、視線推定プログラムを含む各種アプリケーションプログラム等が含まれる。また、様々なプログラムモジュールが用意され、アプリケーションプログラムによってこれらモジュールが呼び出されて使用されうる。ＣＰＵは、ＨＤＤまたはＳＳＤに記憶されている視線推定プログラムをＲＡＭにロードし、実行する。
【００２３】
表示部１３０は、ディスプレイを備え、カメラ２００によって撮影された画像を表示したり、演算部１１０による演算結果を表示したりする。
【００２４】
入力部１４０は、マウス等のポインティングデバイスやキーボードを含み、各種の入力を行うために使用される。
【００２５】
通信インターフェース１５０は、他の機器と通信するためのインターフェースであり、イーサネット（登録商標）、ＩＥＥＥ  １３９４、ＣａｍｅｒａＬｉｎｋ、ＵＳＢ２．０／３．０等の規格が用いられる。
【００２６】
＜カメラの構成＞
カメラ２００は、たとえば単眼カメラであり、被写体からの光を集光するレンズ２１０（図５を参照）含む光学系と撮像素子２２０（図５を参照）とを備える。撮像素子２２０は、たとえばＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）またはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ−Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサのような固体撮像素子である。カメラ２００は、通信インターフェース１５０に接続されうる。
【００２７】
カメラ２００の基本的な構成および動作は、動画撮影および静止画撮影を行える通常のカメラと同じであるので、詳細な説明を省略する。なお、撮像素子２２０の画素ピッチ等カメラの仕様に関する情報は、記憶部１２０に保存されており、演算部１１０は、適宜、カメラの仕様に関する情報を取得できる。
【００２８】
カメラ２００により撮影された動画に対応する映像信号は、不図示の映像処理回路によりキャプチャーされ、時系列フレーム（１〜Ｎフレーム）の画像データとして記憶部１２０のハードディスクに格納される。
【００２９】
＜視線推定装置の機能構成＞
図３は本実施形態の視線推定装置１００の概略的な機能構成を例示する機能ブロック図であり、図４は図３に示す特徴点補正部２０の概略的な機能構成を例示する機能ブロック図である。また、図５は、３次元空間上の特徴点とカメラの撮像素子上に射影された特徴点との射影関係を例示する模式図である。
【００３０】
図３に示すように、視線推定装置１００は、特徴点抽出部１０、特徴点補正部２０、および視線方向算出部３０を有し、これらの機能ブロックは、ＣＰＵが視線推定プログラムを実行することにより実現される。
【００３１】
特徴点抽出部１０は、記憶部１２０に格納されているフレームごとの画像に基づいて、２次元画像上の特徴点の位置座標を算出し、この位置座標に基づいて、３次元空間における特徴点の位置座標（以下、「特徴点の３次元位置座標」という）を推定する。本実施形態では、特徴点は、たとえば眼球中心点および瞳孔中心点である。眼球中心点は、眼球を球または楕円球のモデルと仮定した場合、その中心点と定義される。また、瞳孔中心点は、瞳孔を円または楕円のモデルと仮定した場合、その中心点と定義される。なお、特徴を抽出する対象の画像には、少なくとも人の眼部が含まれている。なお、以下では、人の眼球を例示して説明するが、人の眼球に限らず動物の眼球にも適用できる。
【００３２】
特徴点抽出部１０は、たとえば、ＯｐｅｎＦａｃｅをＣＰＵが実行することにより実現されうる。ＯｐｅｎＦａｃｅは、オープンソースソフトウェアであり、本実施形態ではプログラムモジュールとして使用される。ＯｐｅｎＦａｃｅは、カメラで撮像された人の眼球を含む画像に対して顔検出を行い、３次元空間における人の眼球中心点および瞳孔中心点の位置座標を推定する。
【００３３】
あるいは、特徴点抽出部１０は、ＯｐｅｎＦａｃｅの代わりに、他の簡易的な方法により特徴点の３次元位置座標を推定するように構成されてもよい。たとえば、特徴点抽出部１０は、画像における眼部に対して、ラプラシアンにより眼球の２次元輪郭を抽出して２次元輪郭の平均位置を算出し、２次元画像における眼球中心点の位置座標を求める。さらに、特徴点抽出部１０は、３次元空間上の眼球中心点とカメラ２００の撮像素子２２０上に射影された眼球中心点との射影関係が既知である場合、この射影関係を使用して、２次元画像における眼球中心点の位置座標を、眼球中心点の３次元位置座標に変換する。
【００３４】
また、特徴点抽出部１０は、眼球の２次元輪郭の範囲内において、ハフ変換で円形を検出することにより、瞳孔の位置および半径を特定し、２次元画像における瞳孔中心の位置座標を求める。さらに、特徴点抽出部１０は、上記射影関係を使用して、２次元画像における瞳孔中心の位置座標を、瞳孔中心点の３次元位置座標に変換する。
【００３５】
なお、後述するように、特徴点抽出部１０によって推定された、３次元空間における眼球中心点および瞳孔中心点の位置座標は、それぞれ眼球中心点および瞳孔中心の３次元位置座標の初期値となるものであり、推定誤差を含みうる。
【００３６】
特徴点補正部２０は、２次元画像および３次元空間の特徴点の位置座標を取得し、これらの位置座標に基づいて、特徴点の３次元位置座標を補正する。補正処理の詳細については後述する。
【００３７】
視線方向算出部３０は、特徴点補正部２０によって補正された、眼球中心点および瞳孔中心点の３次元位置座標（Ｂ１，Ｐ１）に基づいて視線ベクトル４１０を算出する（図５の符号４００の領域を参照）。視線方向は、この視線ベクトル４１０に沿った方向である。
【００３８】
図４に示すように、特徴点補正部２０は、２Ｄ特徴点入力部２１、単位換算部２２、３Ｄ特徴点入力部２３、現在射影方法算出部２４、射影方法補正部２５、過去射影方法保存部２６、および３Ｄ特徴点補正部２７を有する。これらの機能ブロックは、ＣＰＵが視線推定プログラムを実行することにより実現される。なお、以下では、特徴点は、両目の眼球中心点および瞳孔中心点を含み、右眼の眼球中心点および瞳孔中心点、ならびに左眼の眼球中心点および瞳孔中心点の座標位置に基づく視線推定処理は、それぞれ個別に行われる。
【００３９】
２Ｄ特徴点入力部２１は、第１の入力部として機能し、人の画像におけるその人の特徴点の位置座標を第１の特徴点座標として入力する。位置座標の単位は、ｐｉｘｅｌである。上記人の画像は、たとえばカメラ２００によって時系列で撮影され、フレームごとに記憶部１２０に格納される。
【００４０】
単位換算部２２は、画素ピッチを用いて２次元画像の特徴点の位置座標［ｐｉｘｅｌ］を対応する２次元位置座標［ｍｍ］に換算する。単位換算部２２は、画像の中心を光軸ＡＸ（図５を参照）として、画像上の画素配列を集光点の位置に変換する。
【００４１】
３Ｄ特徴点入力部２３は、第２の入力部として機能し、３次元空間上における特徴点の位置座標を第２の特徴点座標として入力する。入力される特徴点の位置座標［ｍｍ］は、２次元画像の特徴点の位置座標に基づいて、特徴点抽出部１０により推定されたものである。第２の特徴点座標は、特徴点の３次元位置座標の初期値となる。
【００４２】
現在射影方法算出部２４は、第１および第２の特徴点座標に基づいて、３次元空間における位置座標と、カメラ２００の撮像素子２２０上の位置座標、すなわち撮像素子２２０によって記録される２次元画像との間の射影方法を算出する。本実施形態では、射影方法は、たとえば射影行列である。以下では、射影方法が射影行列である場合を例示して説明する。
【００４３】
図５に示すように、３次元空間において被写体としての人がカメラ２００により撮像されている。カメラ２００のレンズ２１０は、収差の無い理想的な凸レンズであり、焦点距離ｆは既知であるものとする。本実施形態では、カメラ２００は、被写体として人の顔部を撮像している場合を想定する。顔部における非光軸上の任意の点からの光は、レンズによって集光され、顔部は撮像素子２２０上に結像される。一例として、符号３００の領域に撮像素子２２０上に結像された眼部とその周囲の顔部の画像を示す。
【００４４】
３次元空間の瞳孔中心Ｐ１の位置座標（ｘｐ１，ｙｐ１，ｚｐ１）をカメラ２００の撮像素子２２０上に射影した瞳孔中心Ｐ２の位置座標（ｘｐ２，ｙｐ２）は、射影行列Ｍを用いて、下記の数式（１）により求められる。
【００４５】
【数１】
2020017072.tif 000003
【００４６】
上記数式（１）において、（ｘｐ２，ｙｐ２）Ｔは（ｘｐ２，ｙｐ２）の転置行列であり、（ｘｐ１，ｙｐ１，ｚｐ１）Ｔは（ｘｐ１，ｙｐ１，ｚｐ１）の転置行列である。
【００４７】
また、３次元空間の眼球中心Ｂ１の位置座標（ｘｂ１，ｙｂ１，ｚｂ１）をカメラ２００の撮像素子２２０上に射影した眼球中心Ｂ２の位置座標（ｘｂ２，ｙｂ２）についても同様に、射影行列Ｍを用いて、下記の数式（２）により求められる。
【００４８】
【数２】
2020017072.tif 000004
【００４９】
公知の方法を用いて、上記数式（１）または数式（２）を射影行列Ｍについて解くことにより、射影行列Ｍを算出することができる。
【００５０】
射影方法補正部２５は、現在射影方法算出部２４によって算出された現在の射影行列Ｍと、過去射影方法保存部２６に保存されている過去の射影行列に基づいて、射影行列を補正（更新）する。射影方法補正部２５による射影行列の補正の詳細については後述する。
【００５１】
３Ｄ特徴点補正部２７は、第１の特徴点座標に基づいて、３次元空間における特徴点、すなわち眼球中心点および瞳孔中心点の位置座標を補正する。３Ｄ特徴点補正部２７による特徴点の位置座標の補正の詳細については後述する。
【００５２】
＜視線推定方法＞
図６は、本実施形態における視線推定方法の処理手順の一例を示すフローチャートである。図６に示す処理は、ＣＰＵが視線推定プログラムを実行することにより実現される。また、図７は、射影行列Ｍの補正について説明するための模式図である。
【００５３】
まず、画素ピッチを取得する（ステップＳ１０１）。ＣＰＵは、記憶部１２０のカメラの仕様に関する情報から撮像素子２２０の画素ピッチを取得する。
【００５４】
次に、第１および第２の特徴点座標を入力する（ステップＳ１０２）。２Ｄ特徴点入力部２１は、第１の特徴点座標を入力し、３Ｄ特徴点入力部２３は、第２の特徴点座標を入力する。
【００５５】
次に、第１の特徴点座標を２次元位置座標に換算する（ステップＳ１０３）。単位換算部２２は、画素ピッチを用いて第１の特徴点座標［ｐｉｘｅｌ］を、対応する３次元空間上の位置座標［ｍｍ］に換算する。
【００５６】
次に、現在の射影方法を算出する（ステップＳ１０４）。図７に示すように、現在射影方法算出部２４は、ある時点におけるｎフレーム目の画像の第１および第２の特徴点座標に基づいて初期射影行列Ｍｎを算出する。ｎの初期値は１である。
【００５７】
次に、射影方法を補正する（ステップＳ１０５）。射影方法補正部２５は、Ｍｎを補正前の初期射影行列、ＭＭｎを補正後の射影行列、ｗを所定の重みパラメーターとして、下記の数式（３）により射影行列を補正する。
【００５８】
【数３】
2020017072.tif 000005
【００５９】
たとえば、ｎ＝１の場合、ＭＭ１＝Ｍ１が取得され、取得されたＭＭ１は、過去射影方法保存部２６に過去の射影行列として保存される。また、ｎ＝２の場合、ＭＭ２＝ｗ＊ＭＭ１＋（１−ｗ）＊Ｍ２が算出される。ｎが３以上の場合についても同様である。
【００６０】
レンズ２１０は、理想レンズであり、射影行列Ｍは、被写体である人とカメラ２００との間の距離に依存するため、被写体の人が動いた場合、射影行列Ｍは変化しうる。これに対して、射影方法補正部２５は、過去の射影行列と現在の射影行列とを加重平均することにより、人とカメラ２００との間の距離の変化による射影行列Ｍへの影響を時間的に安定させることができる。
【００６１】
次に、特徴点の３次元位置座標を補正する（ステップＳ１０６）。３Ｄ特徴点補正部２７は、補正された射影行列ＭＭｎを使用し、眼球中心点および瞳孔中心点のそれぞれについて、第１の特徴点座標を前提とした場合の特徴点の３次元位置座標の最大事後確率が最大となる特徴点の３次元位置座標に補正する。以下、３次元空間における眼球中心点の位置座標をＢ１、瞳孔中心点の位置座標をＰ１、２次元画像における眼球中心点の位置座標をＢ２、瞳孔中心点の位置座標をＰ２とそれぞれ表記する。また、表記を簡単にするため、補正された射影行列ＭＭｎを単に射影行列「Ｍ」と書く。
【００６２】
たとえば、３次元空間における眼球中心点の位置座標Ｂ１を求めるために、Ｂ２が既知の条件の下で、最大事後確率推定（以下、「ＭＡＰ（Ｍａｘｉｍｕｍ  ａ  ｐｏｓｔｅｒｉｏｒｉ）推定」という」）を行う。
【００６３】
ベイズの定理によれば、Ｂ２を前提としたＢ１の確率分布Ｐ（Ｂ１＼Ｂ２）は、尤度Ｐ（Ｂ２＼Ｂ１）およびＢ１の事前確率Ｐ（Ｂ１）を用いて、以下の数式（４）ように表すことができる。
【００６４】
【数４】
2020017072.tif 000006
【００６５】
Ｐ（Ｂ２＼Ｂ１）およびＰ（Ｂ１）がともに標準正規分布にしたがう確率変数であると仮定すると、下記の数式（５）および数式（６）が成り立つ。
【００６６】
【数５】
2020017072.tif 000007
【００６７】
【数６】
2020017072.tif 000008
【００６８】
本実施形態では、尤度として｜｜ＭＢ１−Ｂ２｜｜、事前確率としてＢ１とＰ１との間の距離｜｜Ｂ１−Ｐ１｜｜が定数Ｄであることを利用する。Ｄは、たとえば１２［ｍｍ］である。したがって、
【００６９】
【数７】
2020017072.tif 000009
【００７０】
となる。上記数式（７）の両辺の自然対数をとると、
【００７１】
【数８】
2020017072.tif 000010
【００７２】
となる。上記数式（８）の確率を最大化するＢ１は、下記数式（９）の目的関数で与えられる。
【００７３】
【数９】
2020017072.tif 000011
【００７４】
数式（９）において、ＭＢ１−Ｂ２は、尤度関数であり、眼球中心点の３次元位置座標Ｂ１が与えられた条件下での眼球中心点の２次元位置座標Ｂ２の誤差を示す。また、｜｜Ｂ１−Ｐ１｜｜−Ｄは、事前分布であり、眼球中心点の３次元位置座標Ｂ１と瞳孔中心の３次元位置座標Ｐ１との間の距離に関する条件を示す。数式（９）を満たすＢ１は、Ｐ１を固定した状態で、たとえば、再急降下法、確率的勾配法、またはニュートン法等によって算出されうる。これらの手法については、公知であるので、説明を省略する。
【００７５】
このように、３Ｄ特徴点補正部２７は、眼球中心点の２次元位置座標Ｂ２を前提とした場合の眼球中心点の３次元位置座標Ｂ１に関するＭＡＰ確率推定を行い、最大事後確率が最大となる眼球中心点の３次元位置座標Ｂ１に補正する。
【００７６】
なお、瞳孔中心点の３次元位置座標Ｐ１についても、眼球中心点の３次元位置座標Ｂ１と同様の手順で補正できる。瞳孔中心点の３次元位置座標Ｐ１の補正は、眼球中心点の３次元位置座標Ｂ１の補正と交互に行う。したがって、眼球中心点の３次元位置座標Ｂ１を補正した後、瞳孔中心点の３次元位置座標Ｐ１の補正を行うか、瞳孔中心点の３次元位置座標Ｐ１を補正した後、眼球中心点の３次元位置座標Ｂ１の補正を行う。瞳孔中心点についての目的関数は、下記の数式（１０）で与えられる。
【００７７】
【数１０】
2020017072.tif 000012
【００７８】
数式（１０）を満たすＰ１は、Ｂ１を固定した状態で、たとえば、再急降下法、確率的勾配法、またはニュートン法等によって算出されうる。
【００７９】
３Ｄ特徴点補正部２７は、第２の特徴点座標における、眼球中心点および瞳孔中心点の３次元位置座標を初期値として、３次元位置座標の最大事後確率の最大化を眼球中心点および瞳孔中心点について交互に反復的に実施する。
【００８０】
次に、補正前後における特徴点の３次元位置座標の変化が所定の閾値未満か否かを判断する（ステップＳ１０７）。補正前後における特徴点の３次元位置座標の変化が所定の閾値（微小な値α）未満である場合（ステップＳ１０７：ＹＥＳ）、視線方向算出部３０は、３Ｄ特徴点補正部２７によって補正された、特徴点の３次元位置座標に基づいて視線ベクトル４１０を算出する（ステップＳ１０８）。そして、ＣＰＵは、処理を終了する（エンド）。なお、上記αは、反復的に実施する計算の終了を判定するパラメーターとなり、とくに限定されるものではないが、たとえば、１〜５［ｍｍ］程度である。
【００８１】
一方、補正前後における特徴点の３次元位置座標の変化が所定の閾値未満ではない場合（ステップＳ１０７：ＮＯ）、ｎに１を加え、次の時点におけるフレームｎを含めて補正処理を継続するため、ステップＳ１０２の処理に移行する。
【００８２】
このように、本実施形態では、第１の特徴点座標を入力し、第１の特徴点座標に基づいて推定された特徴点の３次元位置座標を補正する。より具体的には、３次元位置座標と撮像素子２２０上の２次元位置座標との間の射影行列を使用し、第１の特徴点座標を前提とした場合の特徴点の３次元位置座標の最大事後確率が最大となる特徴点の３次元位置座標に補正する。特徴点の３次元位置座標のＭＡＰ推定では、特徴点の３次元位置座標が与えられた条件下での特徴点の２次元位置座標の誤差と、特徴点間の位置関係（距離Ｄ）とが事前分布として与えられる。さらに、補正された射影行列を使用して、特徴点の３次元位置座標の補正を交互に反復的に実施することにより、特徴点の３次元位置座標の推定誤差を低減する。そして、補正された、眼球中心点および瞳孔中心点の３次元位置座標に基づいて視線ベクトル４１０を算出する。これにより、被写体の人の視線方向が推定される。
【００８３】
＜実施例＞
図８は、本実施形態の視線推定装置１００によって特徴点の３次元位置座標を推定したシミュレーション結果を例示する図である。横軸はシミュレーションにおける計算の反復回数［回］であり、縦軸は推定誤差［μｍ］である。
【００８４】
眼球中心点（Ｂ）および瞳孔中心点（Ｐ）のそれぞれについて、３次元位置座標を推定するシミュレーションを行った。初期条件として、シミュレーションの開始当初に、特徴点の３次元位置座標の推定に３０％、２０％、および１０％の誤差がある場合を設定した。図８には、初期誤差が３０％、２０％、および１０％の場合について同じ図に示されている。
【００８５】
本実施形態の視線推定装置１００による推定では、初期誤差３０％、２０％、および１０％いずれの場合についても、最終的には、より小さい誤差に収束させることができた。また、特徴点の３次元位置座標の推定誤差が減少したため、特徴点の３次元位置座標に基づいて算出する視線ベクトル４１０の推定精度が向上した。
【００８６】
以上で説明した本実施形態の視線推定装置１００は、下記の効果を奏する。
【００８７】
３次元空間上の特徴点とカメラ２００の撮像素子上に射影された特徴点との射影関係と、複数の特徴点間の位置関係とに基づいて、特徴点の３次元位置座標をＭＡＰ推定により反復的に交互に推定して補正するので、特徴点の３次元位置座標の推定精度を向上できる。その結果、補正された、３次元空間の眼球中心点および瞳孔中心点の位置座標に基づいて推定される視線方向の推定精度も向上できる。
【００８８】
本発明は、上述した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【００８９】
たとえば、上述した実施形態に係る視線推定装置１００における各種処理を行う手段および方法は、専用のハードウエア回路、またはプログラムされたコンピューターのいずれによっても実現することが可能である。上記プログラムは、たとえば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等のコンピューター読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピューター読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送され記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、視線推定装置１００の一機能としてその装置のソフトウエアに組み込まれてもよい。
【符号の説明】
【００９０】
１０  特徴点抽出部、
２０  特徴点補正部、
２１  ２Ｄ特徴点入力部、
２２  ２Ｄ特徴点入力部
２３  単位換算部、
２４  現在射影方法算出部、
２５  射影方法補正部、
２６  過去射影方法保存部、
２７  ３Ｄ特徴点補正部、
３０  視線方向算出部、
１００  視線推定装置、
１１０  演算部、
１２０  記憶部、
１３０  表示部、
１４０  入力部、
１５０  通信インターフェース、
２００  カメラ、
２１０  レンズ、
２２０  撮像素子。
【図１】
2020017072.tif 000013
【図２】
2020017072.tif 000014
【図３】
2020017072.tif 000015
【図４】
2020017072.tif 000016
【図５】
2020017072.tif 000017
【図６】
2020017072.tif 000018
【図７】
2020017072.tif 000019
【図８】
2020017072.tif 000020