(57)【要約】【課題】キャリブレーションを行うことなく、精度よく眼球中心の３次元位置を推定することができるようにする。【解決手段】顔位置姿勢推定部２４によって、顔画像から、顔の３次元の位置姿勢を推定する。２次元瞳孔中心位置検出部２６によって、左右の目の各々について、顔画像上の目の瞳孔中心位置を検出する。視線計算部２８によって、推定された顔の３次元の位置姿勢及び検出された目の瞳孔中心の２次元位置に基づいて、左右の目の各々について、顔モデル座標系において予め設定された眼球中心の３次元位置から瞳孔中心の３次元位置へ向かう３次元の視線ベクトルを時系列で計算する。最適値推定部３２によって、左右の目の各々の視対象の３次元位置の誤差が最小となるように、顔モデル座標系における左右の目の各々の眼球中心の３次元位置の最適値を推定する。【選択図】図１
2013252301.tif 000002
【特許請求の範囲】
【請求項１】
被観察者の顔を撮像する撮像手段によって撮像された前記顔を表す顔画像の時系列から、前記顔の３次元の位置姿勢の時系列を推定する顔位置姿勢推定手段と、
前記顔画像の時系列から、左右の目の各々について、前記顔画像上の前記顔の目の瞳孔中心位置の時系列を検出する瞳孔中心検出手段と、
前記顔位置姿勢推定手段によって推定された前記顔の３次元の位置姿勢の時系列、及び前記瞳孔中心検出手段によって検出された前記顔画像上の前記顔の目の瞳孔中心の２次元位置の時系列に基づいて、左右の目の各々について、顔モデル座標系において予め設定された眼球中心の３次元位置から前記瞳孔中心の３次元位置へ向かう３次元の視線ベクトルの時系列を計算する視線ベクトル計算手段と、
前記視線ベクトル計算手段によって計算された前記左右の目の各々の前記３次元の視線ベクトルの時系列に基づいて、前記計算された前記左右の目の各々の前記３次元の視線ベクトル、左右の目の各々について前記予め設定された眼球中心の３次元位置、及び変動パラメータを用いて表わされる、左右の目の各々の視対象の３次元位置の誤差が最小となるように、前記顔モデル座標系における前記左右の目の各々の前記眼球中心の３次元位置の最適値を推定する眼球中心推定手段と、
を含む眼球中心推定装置。
【請求項２】
被観察者の顔を撮像する撮像手段によって撮像された前記顔を表す顔画像の時系列から、前記顔の３次元の位置姿勢の時系列を推定する顔位置姿勢推定手段と、
前記顔画像の時系列から、左右の目の各々について、前記顔画像上の前記顔の目の瞳孔中心位置の時系列を検出する瞳孔中心検出手段と、
前記顔位置姿勢推定手段によって推定された前記顔の３次元の位置姿勢の時系列、及び前記瞳孔中心検出手段によって検出された前記顔画像上の前記顔の目の瞳孔中心の２次元位置の時系列に基づいて、左右の目の各々について、顔モデル座標系において予め設定された眼球中心の３次元位置から前記瞳孔中心の３次元位置へ向かう３次元の第１視線ベクトルの時系列を計算する視線ベクトル計算手段と、
前記視線ベクトル計算手段によって計算された前記左右の目の各々の前記３次元の第１視線ベクトルの時系列に基づいて、前記計算された前記左右の目の各々の前記３次元の第１視線ベクトル、左右の目の各々について前記予め設定された眼球中心の３次元位置、及び左右の目で共通の変動パラメータで表わされる視対象の３次元位置を用いて表わされる、右目の前記３次元の第１視線ベクトルと前記右目の眼球中心の３次元位置から前記視対象の３次元位置へ向かう３次元の第２視線ベクトルとの誤差、及び左目の前記３次元の第１視線ベクトルと前記左目の眼球中心の３次元位置から前記視対象の３次元位置へ向かう３次元の第２視線ベクトルとの誤差が最小となるように、前記顔モデル座標系における前記左右の目の各々の前記眼球中心の３次元位置の最適値を推定する眼球中心推定手段と、
を含む眼球中心推定装置。
【請求項３】
前記眼球中心推定手段は、前記顔モデル座標系における前記左右の目の眼球中心の３次元位置が、左右対称であることを仮定して、前記左右の目の各々の前記眼球中心の３次元位置の最適値を推定する請求項１又は２記載の眼球中心推定装置。
【請求項４】
前記眼球中心推定手段は、前記視対象の３次元位置を、前記視対象までの距離が固定値であることを仮定した３次元位置として、前記左右の目の各々の前記眼球中心の３次元位置の最適値を推定する請求項１〜請求項３の何れか１項記載の眼球中心推定装置。
【請求項５】
前記眼球中心推定手段は、前記視対象の３次元位置を、予め定められた平面上に前記視対象が位置することを仮定した３次元位置として、前記左右の目の各々の前記眼球中心の３次元位置の最適値を推定する請求項１〜請求項４の何れか１項記載の眼球中心推定装置。
【請求項６】
前記眼球中心推定手段は、前記左右の目の視線ベクトルが平行であることを仮定して、前記左右の目の各々の前記眼球中心の３次元位置の最適値を推定する請求項１〜請求項５の何れか１項記載の眼球中心推定装置。
【請求項７】
前記眼球中心推定手段によって推定された前記左右の目の各々の眼球中心の３次元位置を用いて、前記左右の目の各々の視線ベクトルを推定する視線推定手段を更に含む請求項１〜請求項６の何れか１項記載の眼球中心推定装置。
【請求項８】
コンピュータを、
被観察者の顔を撮像する撮像手段によって撮像された前記顔を表す顔画像の時系列から、前記顔の３次元の位置姿勢の時系列を推定する顔位置姿勢推定手段、
前記顔画像の時系列から、左右の目の各々について、前記顔画像上の前記顔の目の瞳孔中心位置の時系列を検出する瞳孔中心検出手段、
前記顔位置姿勢推定手段によって推定された前記顔の３次元の位置姿勢の時系列、及び前記瞳孔中心検出手段によって検出された前記顔画像上の前記顔の目の瞳孔中心の２次元位置の時系列に基づいて、左右の目の各々について、顔モデル座標系において予め設定された眼球中心の３次元位置から前記瞳孔中心の３次元位置へ向かう３次元の視線ベクトルの時系列を計算する視線ベクトル計算手段、及び
前記視線ベクトル計算手段によって計算された前記左右の目の各々の前記３次元の視線ベクトルの時系列に基づいて、前記計算された前記左右の目の各々の前記３次元の視線ベクトル、左右の目の各々について前記予め設定された眼球中心の３次元位置、及び変動パラメータを用いて表わされる、左右の目の各々の視対象の３次元位置の誤差が最小となるように、前記顔モデル座標系における前記左右の目の各々の前記眼球中心の３次元位置の最適値を推定する眼球中心推定手段
として機能させるためのプログラム。
【請求項９】
コンピュータを、
被観察者の顔を撮像する撮像手段によって撮像された前記顔を表す顔画像の時系列から、前記顔の３次元の位置姿勢の時系列を推定する顔位置姿勢推定手段、
前記顔画像の時系列から、左右の目の各々について、前記顔画像上の前記顔の目の瞳孔中心位置の時系列を検出する瞳孔中心検出手段、
前記顔位置姿勢推定手段によって推定された前記顔の３次元の位置姿勢の時系列、及び前記瞳孔中心検出手段によって検出された前記顔画像上の前記顔の目の瞳孔中心の２次元位置の時系列に基づいて、左右の目の各々について、顔モデル座標系において予め設定された眼球中心の３次元位置から前記瞳孔中心の３次元位置へ向かう３次元の第１視線ベクトルの時系列を計算する視線ベクトル計算手段、及び
前記視線ベクトル計算手段によって計算された前記左右の目の各々の前記３次元の第１視線ベクトルの時系列に基づいて、前記計算された前記左右の目の各々の前記３次元の第１視線ベクトル、左右の目の各々について前記予め設定された眼球中心の３次元位置、及び左右の目で共通の変動パラメータで表わされる視対象の３次元位置を用いて表わされる、右目の前記３次元の第１視線ベクトルと前記右目の眼球中心の３次元位置から前記視対象の３次元位置へ向かう３次元の第２視線ベクトルとの誤差、及び左目の前記３次元の第１視線ベクトルと前記左目の眼球中心の３次元位置から前記視対象の３次元位置へ向かう３次元の第２視線ベクトルとの誤差が最小となるように、前記顔モデル座標系における前記左右の目の各々の前記眼球中心の３次元位置の最適値を推定する眼球中心推定手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、眼球中心推定装置及びプログラムに係り、特に、顔を撮像した画像から、顔の目の眼球中心の３次元位置を推定する眼球中心推定装置及びプログラムに関する。
【背景技術】
【０００２】
従来より、ユーザの顔を撮影する複数のカメラと、前記カメラの画像出力から顔の向きを検出する検出手段と、前記カメラの画像出力に撮影されている目周辺の画像領域から前記ユーザの目が開いているかどうかを検出する手段と、前記ユーザの目が開いていることに応答して、前記カメラの画像出力から前記ユーザの視線方向を検出する手段と、を備えるよう構成された顔・視線認識装置が知られている（特許文献１）。
【０００３】
また、簡易な個人キャリブレーションのみで視線測定を実現する視線測定システムが知られている（非特許文献１）。従来の視線測定システムでは視線測定時に発生する視線のずれを補正するために、個人キャリブレーションとして視線測定前に画面上に位置する５から２０点のマーカを注視する作業が必要であったのに対し、この視線測定システムでは、ずれの補正を２段階に分離した視線測定法を導入することで、最低２点のマーカによる個人キャリブレーションを実現している。
【０００４】
また、相対関係特定部は、人間が単眼カメラを見ている状態で単眼カメラにより撮影された校正用画像を予め取得し、顔領域内の複数の特徴点間の相対的な３次元の位置関係を特定し、眼球中心推定部は、単眼カメラにより撮影された対象画像領域内において複数の特徴点の投影位置を検出し、特定された相対的な３次元の位置関係に基づいて、人間の眼球中心の投影位置を推定し、視線方向推定部は、抽出された虹彩中心位置と推定された眼球中心の投影位置に基づいて、視線方向を推定する視線方向の検出装置が知られている（特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３-０１５８１６号公報
【特許文献２】特開２００８-１０２９０２号公報
【非特許文献】
【０００６】
【非特許文献１】大野ら、「２点補正による簡易キャリブレーションを実現した視線測定システム」、情報処理学会論文誌、Ｖｏｌ４４、Ｎｏ.４、２００３年４月
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記特許文献１に記載の技術では、３次元的に求めた目尻目頭を結ぶベクトルの中点から垂直な方向で距離Ｌの位置に眼球中心があるとしているが、目尻、目頭と眼球中心との位置関係が個人ごとに異なるため、正確な眼球中心を求めることはできない、という問題がある。
【０００８】
また、上記非特許文献１に記載の技術では、眼球中心位置や眼球半径を求めるのにキャリブレーションを行う必要がある、という問題がある。２点とはいえ事前に特定方向を向くというキャリブレーション作業が必要であり、実車で使うには非現実的である。
【０００９】
また、上記特許文献２に記載の技術では、キャリブレーション画像が必要である、という問題がある。
【００１０】
本発明は、上記の問題点を解決するためになされたもので、キャリブレーションを行うことなく、精度よく眼球中心の３次元位置を推定することができる眼球中心推定装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために第１の発明に係る眼球中心推定装置は、被観察者の顔を撮像する撮像手段によって撮像された前記顔を表す顔画像の時系列から、前記顔の３次元の位置姿勢の時系列を推定する顔位置姿勢推定手段と、前記顔画像の時系列から、左右の目の各々について、前記顔画像上の前記顔の目の瞳孔中心位置の時系列を検出する瞳孔中心検出手段と、前記顔位置姿勢推定手段によって推定された前記顔の３次元の位置姿勢の時系列、及び前記瞳孔中心検出手段によって検出された前記顔画像上の前記顔の目の瞳孔中心の２次元位置の時系列に基づいて、左右の目の各々について、顔モデル座標系において予め設定された眼球中心の３次元位置から前記瞳孔中心の３次元位置へ向かう３次元の視線ベクトルの時系列を計算する視線ベクトル計算手段と、前記視線ベクトル計算手段によって計算された前記左右の目の各々の前記３次元の視線ベクトルの時系列に基づいて、前記計算された前記左右の目の各々の前記３次元の視線ベクトル、左右の目の各々について前記予め設定された眼球中心の３次元位置、及び変動パラメータを用いて表わされる、左右の目の各々の視対象の３次元位置の誤差が最小となるように、前記顔モデル座標系における前記左右の目の各々の前記眼球中心の３次元位置の最適値を推定する眼球中心推定手段と、を含んで構成されている。
【００１２】
また、第２の発明に係るプログラムは、コンピュータを、被観察者の顔を撮像する撮像手段によって撮像された前記顔を表す顔画像の時系列から、前記顔の３次元の位置姿勢の時系列を推定する顔位置姿勢推定手段、前記顔画像の時系列から、左右の目の各々について、前記顔画像上の前記顔の目の瞳孔中心位置の時系列を検出する瞳孔中心検出手段、前記顔位置姿勢推定手段によって推定された前記顔の３次元の位置姿勢の時系列、及び前記瞳孔中心検出手段によって検出された前記顔画像上の前記顔の目の瞳孔中心の２次元位置の時系列に基づいて、左右の目の各々について、顔モデル座標系において予め設定された眼球中心の３次元位置から前記瞳孔中心の３次元位置へ向かう３次元の視線ベクトルの時系列を計算する視線ベクトル計算手段、及び前記視線ベクトル計算手段によって計算された前記左右の目の各々の前記３次元の視線ベクトルの時系列に基づいて、前記計算された前記左右の目の各々の前記３次元の視線ベクトル、左右の目の各々について前記予め設定された眼球中心の３次元位置、及び変動パラメータを用いて表わされる、左右の目の各々の視対象の３次元位置の誤差が最小となるように、前記顔モデル座標系における前記左右の目の各々の前記眼球中心の３次元位置の最適値を推定する眼球中心推定手段として機能させるためのプログラムである。
【００１３】
第１の発明及び第２の発明によれば、顔位置姿勢推定手段によって、被観察者の顔を撮像する撮像手段によって撮像された前記顔を表す顔画像の時系列から、前記顔の３次元の位置姿勢の時系列を推定する。瞳孔中心検出手段によって、前記顔画像の時系列から、左右の目の各々について、前記顔画像上の前記顔の目の瞳孔中心位置の時系列を検出する。
【００１４】
そして、視線ベクトル計算手段によって、前記顔位置姿勢推定手段によって推定された前記顔の３次元の位置姿勢の時系列、及び前記瞳孔中心検出手段によって検出された前記顔画像上の前記顔の目の瞳孔中心の２次元位置の時系列に基づいて、左右の目の各々について、顔モデル座標系において予め設定された眼球中心の３次元位置から前記瞳孔中心の３次元位置へ向かう３次元の視線ベクトルの時系列を計算する。
【００１５】
そして、眼球中心推定手段によって、前記視線ベクトル計算手段によって計算された前記左右の目の各々の前記３次元の視線ベクトルの時系列に基づいて、前記計算された前記左右の目の各々の前記３次元の視線ベクトル、左右の目の各々について前記予め設定された眼球中心の３次元位置、及び変動パラメータを用いて表わされる、左右の目の各々の視対象の３次元位置の誤差が最小となるように、前記顔モデル座標系における前記左右の目の各々の前記眼球中心の３次元位置の最適値を推定する。
【００１６】
このように、推定された顔の３次元の位置姿勢、及び検出された顔画像上の瞳孔中心の２次元位置に基づいて、左右の目の各々について、眼球中心の３次元位置から瞳孔中心の３次元位置へ向かう３次元の視線ベクトルを計算し、左右の目の各々の３次元の視線ベクトルの時系列に基づいて、左右の目の各々の視対象の３次元位置の誤差が最小となるように、顔モデル座標系における左右の目の各々の眼球中心の３次元位置の最適値を推定することにより、キャリブレーションを行うことなく、精度よく眼球中心の３次元位置を推定することができる。
【００１７】
第３の発明に係る眼球中心推定装置は、被観察者の顔を撮像する撮像手段によって撮像された前記顔を表す顔画像の時系列から、前記顔の３次元の位置姿勢の時系列を推定する顔位置姿勢推定手段と、前記顔画像の時系列から、左右の目の各々について、前記顔画像上の前記顔の目の瞳孔中心位置の時系列を検出する瞳孔中心検出手段と、前記顔位置姿勢推定手段によって推定された前記顔の３次元の位置姿勢の時系列、及び前記瞳孔中心検出手段によって検出された前記顔画像上の前記顔の目の瞳孔中心の２次元位置の時系列に基づいて、左右の目の各々について、顔モデル座標系において予め設定された眼球中心の３次元位置から前記瞳孔中心の３次元位置へ向かう３次元の第１視線ベクトルの時系列を計算する視線ベクトル計算手段と、前記視線ベクトル計算手段によって計算された前記左右の目の各々の前記３次元の第１視線ベクトルの時系列に基づいて、前記計算された前記左右の目の各々の前記３次元の第１視線ベクトル、左右の目の各々について前記予め設定された眼球中心の３次元位置、及び左右の目で共通の変動パラメータで表わされる視対象の３次元位置を用いて表わされる、右目の前記３次元の第１視線ベクトルと前記右目の眼球中心の３次元位置から前記視対象の３次元位置へ向かう３次元の第２視線ベクトルとの誤差、及び左目の前記３次元の第１視線ベクトルと前記左目の眼球中心の３次元位置から前記視対象の３次元位置へ向かう３次元の第２視線ベクトルとの誤差が最小となるように、前記顔モデル座標系における前記左右の目の各々の前記眼球中心の３次元位置の最適値を推定する眼球中心推定手段と、を含んで構成されている。
【００１８】
第４の発明に係るプログラムは、コンピュータを、被観察者の顔を撮像する撮像手段によって撮像された前記顔を表す顔画像の時系列から、前記顔の３次元の位置姿勢の時系列を推定する顔位置姿勢推定手段、前記顔画像の時系列から、左右の目の各々について、前記顔画像上の前記顔の目の瞳孔中心位置の時系列を検出する瞳孔中心検出手段、前記顔位置姿勢推定手段によって推定された前記顔の３次元の位置姿勢の時系列、及び前記瞳孔中心検出手段によって検出された前記顔画像上の前記顔の目の瞳孔中心の２次元位置の時系列に基づいて、左右の目の各々について、顔モデル座標系において予め設定された眼球中心の３次元位置から前記瞳孔中心の３次元位置へ向かう３次元の第１視線ベクトルの時系列を計算する視線ベクトル計算手段、及び前記視線ベクトル計算手段によって計算された前記左右の目の各々の前記３次元の第１視線ベクトルの時系列に基づいて、前記計算された前記左右の目の各々の前記３次元の第１視線ベクトル、左右の目の各々について前記予め設定された眼球中心の３次元位置、及び左右の目で共通の変動パラメータで表わされる視対象の３次元位置を用いて表わされる、右目の前記３次元の第１視線ベクトルと前記右目の眼球中心の３次元位置から前記視対象の３次元位置へ向かう３次元の第２視線ベクトルとの誤差、及び左目の前記３次元の第１視線ベクトルと前記左目の眼球中心の３次元位置から前記視対象の３次元位置へ向かう３次元の第２視線ベクトルとの誤差が最小となるように、前記顔モデル座標系における前記左右の目の各々の前記眼球中心の３次元位置の最適値を推定する眼球中心推定手段として機能させるためのプログラムである。
【００１９】
第３の発明及び第４の発明によれば、顔位置姿勢推定手段によって、被観察者の顔を撮像する撮像手段によって撮像された前記顔を表す顔画像の時系列から、前記顔の３次元の位置姿勢の時系列を推定する。瞳孔中心検出手段によって、前記顔画像の時系列から、左右の目の各々について、前記顔画像上の前記顔の目の瞳孔中心位置の時系列を検出する。
【００２０】
そして、視線ベクトル計算手段によって、前記顔位置姿勢推定手段によって推定された前記顔の３次元の位置姿勢の時系列、及び前記瞳孔中心検出手段によって検出された前記顔画像上の前記顔の目の瞳孔中心の２次元位置の時系列に基づいて、左右の目の各々について、顔モデル座標系において予め設定された眼球中心の３次元位置から前記瞳孔中心の３次元位置へ向かう３次元の第１視線ベクトルの時系列を計算する。
【００２１】
そして、眼球中心推定手段によって、前記視線ベクトル計算手段によって計算された前記左右の目の各々の前記３次元の第１視線ベクトルの時系列に基づいて、前記計算された前記左右の目の各々の前記３次元の第１視線ベクトル、左右の目の各々について前記予め設定された眼球中心の３次元位置、及び左右の目で共通の変動パラメータで表わされる視対象の３次元位置を用いて表わされる、右目の前記３次元の第１視線ベクトルと前記右目の眼球中心の３次元位置から前記視対象の３次元位置へ向かう３次元の第２視線ベクトルとの誤差、及び左目の前記３次元の第１視線ベクトルと前記左目の眼球中心の３次元位置から前記視対象の３次元位置へ向かう３次元の第２視線ベクトルとの誤差が最小となるように、前記顔モデル座標系における前記左右の目の各々の前記眼球中心の３次元位置の最適値を推定する。
【００２２】
このように、推定された顔の３次元の位置姿勢、及び検出された顔画像上の瞳孔中心の２次元位置に基づいて、左右の目の各々について、眼球中心の３次元位置から瞳孔中心の３次元位置へ向かう３次元の視線ベクトルを計算し、左右の目の各々の３次元の視線ベクトルの時系列に基づいて、右目の眼球中心の３次元位置から視対象の３次元位置へ向かう３次元の視線ベクトルとの誤差、及び左目の眼球中心の３次元位置から視対象の３次元位置へ向かう３次元の視線ベクトルとの誤差が最小となるように、顔モデル座標系における左右の目の各々の眼球中心の３次元位置の最適値を推定することにより、キャリブレーションを行うことなく、精度よく眼球中心の３次元位置を推定することができる。
【発明の効果】
【００２３】
以上説明したように、本発明の眼球中心推定装置及びプログラムによれば、推定された顔の３次元の位置姿勢、及び検出された顔画像上の瞳孔中心の２次元位置に基づいて、左右の目の各々について、眼球中心の３次元位置から瞳孔中心の３次元位置へ向かう３次元の視線ベクトルを計算し、左右の目の各々の３次元の視線ベクトルの時系列に基づいて、左右の目の各々の視対象の３次元位置の誤差が最小となるように、あるいは、右目の眼球中心の３次元位置から視対象の３次元位置へ向かう３次元の視線ベクトルとの誤差、及び左目の眼球中心の３次元位置から視対象の３次元位置へ向かう３次元の視線ベクトルとの誤差が最小となるように、顔モデル座標系における左右の目の各々の眼球中心の３次元位置の最適値を推定することにより、キャリブレーションを行うことなく、精度よく眼球中心の３次元位置を推定することができる、という効果が得られる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施の形態に係る視線推定装置の構成を示すブロック図である。
【図２】各座標系の関係を示す図である。
【図３】本発明の第１の実施の形態に係る視線推定装置における眼球中心推定処理ルーチンの内容を示すフローチャートである。
【図４】本発明の第６の実施の形態に係る視線推定装置における眼球中心位置の推定方法を説明するための図である。
【発明を実施するための形態】
【００２５】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態では、連続的に撮像された顔画像から、視線ベクトルを推定する視線推定装置に本発明を適用した場合を例に説明する。
【００２６】
図１に示すように、第１の実施の形態に係る視線推定装置１０は、対象とする被験者の顔を含む画像を撮像するＣＣＤカメラ等からなる画像撮像部１２と、画像処理を行うコンピュータ１４と、ＣＲＴ等で構成された出力部１６とを備えている。
【００２７】
コンピュータ１４は、ＣＰＵ、後述する眼球中心推定処理ルーチンのプログラムを記憶したＲＯＭ、データ等を記憶するＲＡＭ、及びこれらを接続するバスを含んで構成されている。このコンピュータ１４をハードウエアとソフトウエアとに基づいて定まる機能実現手段毎に分割した機能ブロックで説明すると、図１に示すように、コンピュータ１４は、画像撮像部１２から出力される濃淡画像である顔画像を入力する画像入力部２０と、画像入力部２０の出力である顔画像から、顔上の特徴点を抽出する特徴点抽出部２２と、抽出された特徴点に基づいて顔の３次元の位置姿勢を推定する顔位置姿勢推定部２４と、画像入力部２０の出力である顔画像から、顔画像上の左右の目の各々の瞳孔中心の２次元位置を検出する２次元瞳孔中心位置検出部２６と、推定された顔位置姿勢及び検出された左右の目の各々の瞳孔中心の２次元位置に基づいて、左右の目の各々の３次元の視線ベクトルを計算する視線計算部２８と、計算された左右の目の各々の３次元の視線ベクトルの時系列データを記憶する時系列データ記憶部３０と、左右の目の各々の３次元の視線ベクトルの時系列データに基づいて、左右の目の各々の眼球中心の３次元位置の最適値を推定する最適値推定部３２と、推定された左右の目の各々の眼球中心の３次元位置の最適値を用いて、左右の目の各々の視線ベクトルを推定する視線推定部３４とを備えている。
【００２８】
画像入力部２０は、例えば、Ａ／Ｄコンバータや１画面の画像データを記憶する画像メモリ等で構成される。
【００２９】
特徴点抽出部２２は、以下に説明するように、顔画像から、予め求められた3次元顔モデルの各顔特徴点に対応する特徴点を抽出する。
【００３０】
まず、3次元顔モデルの顔特徴点の数をNとし、予め求められた全ての顔特徴点(Xmi, Ymi, Zmi)i=0〜N-1のそれぞれと顔画像上の特徴点(xi, yi) i=0〜N-1との対応関係を求める。
【００３１】
対応関係を求める方法は色々あり、例えば、以下の２種類の方法によって対応関係を求める。
【００３２】
まず、第１の方法では、３次元顔モデルに対して、全てのiについて画像パターンiを予め登録しておく。登録された画像パターンiで顔画像上をサーチし、一番適合度の高い座標を返すことで各iの対応関係を求める。
【００３３】
第２の方法では、３次元顔モデルに対して、全てのiについて画像パターンiを検出する検出器を設定しておく。検出器の例としてはSVM(support vector machine)やNN(neural net)が使える。設定された検出器で顔画像内をサーチし、検出器スコアの一番高い座標を返すことで各iの対応関係を求める。
【００３４】
そして、上記の第１の方法または第２の方法で検出された特徴点の2次元座標を(xoi, yoi)とし、顔特徴点(Xmi, Ymi, Zmi)を顔画像上に投影した点を、(xi, yi)とする。
【００３５】
顔位置姿勢推定部２４は、特徴点抽出部２２によって抽出された顔特徴点に対応する特徴点に基づいて、以下に説明するように、顔の３次元の位置姿勢として、カメラ座標系（図２参照）での顔の回転(ψc, θc, φc)と顔モデル原点位置(Xc, Yc, Zc)とを推定する。
【００３６】
まず、顔モデル座標系（図２参照）での(Xmi, Ymi, Zmi)とカメラ座標系での同じ点(Xci, Yci, Zci)の関係は以下の（１）式で表わされる。
【００３７】
【数１】
2013252301.tif 000003
【００３８】
画像の透視投影の式から、カメラの焦点距離パラメータをfとして、以下の（２）式が得られる。
【００３９】
(xi, yi)=(f Xci/Zci, f Yci/Zci)      ・・・（２）
【００４０】
また、求めたい位置姿勢の変数は(ψc, θc, φc)と(Xc, Yc, Zc)であり、顔モデル座標系（図２参照）での(Xmi, Ymi, Zmi)は固定値である。従って、最初の(ψc, θc, φc)と(Xc, Yc, Zc)として適切な初期値を使い、以降は前回フレームでの推定値を使うことにすれば、(xi, yi)は(ψc, θc, φc)と(Xc, Yc, Zc)を使って数値計算可能である。
【００４１】
従って、２乗誤差値e=Σi=0〜N-1((xi-xoi)2+ ((yi -yoi)2)が計算可能になり、eを最小化する非線形最適化問題として、今回フレームにおける(ψc, θc, φc)と(Xc, Yc, Zc)を求め、カメラ座標系での顔の回転(ψc, θc, φc)及び顔モデル原点位置(Xc, Yc, Zc)の推定結果とする。
【００４２】
なお、非線形最適化の具体的な手法は、拡張カルマンフィルタ、Levenberg-Marquardt法、最急降下法、Ｎｅｗｔｏｎ法、Ｇａｕｓｓ−Ｎｅｗｔｏｎ法などが適用可能である。
【００４３】
また、３次元顔モデルの原点位置は、計算上は任意に設定可能だが、合理的な設計指針として人体の左右首振り・上下首振り動作時の回転中心に近い場所を、原点位置として使うことが好ましい。
【００４４】
この場合には、顔モデルデータ収集時に各人の首振り回転中心の眼からの上下距離(y)・奥行き距離(z)を測定しておき、それらの平均値として設定する。左右方向(x)は3次元顔モデルの左右対称面上に載るようにすればよい。
【００４５】
２次元瞳孔中心位置検出部２６は、顔画像から、パターンマッチングにより、左右の目の各々の瞳孔を表わす領域を抽出し、抽出された瞳孔を表わす領域の中心を、顔画像上の左右の目の各々の瞳孔中心の２次元位置として検出する。
【００４６】
視線計算部２８は、推定された顔の３次元の位置姿勢及び検出された左右の目の各々の瞳孔中心の２次元位置に基づいて、以下に説明するように、左右の目の各々の視線ベクトルを計算する。
【００４７】
まず、顔モデル座標系での眼球中心位置の推定値の初期値を、右目について(Xmc_iniR,Ymc_iniR,Zmc_iniR)、左目について(Xmc_iniL,Ymc_iniL,Zmc_iniL)とし、カメラ座標系での眼球中心位置の推定値の初期値を、右目について(Xcc_iniR,Ycc_iniR,Zcc_iniR)、左目について(Xcc_iniL,Ycc_iniL,Zcc_iniL)とする。
【００４８】
また、顔モデル座標系での眼球中心位置の推定値を、右目について(XmcR,YmcR,ZmcR)、左目について(XmcL,YmcL,ZmcL)とし、カメラ座標系での眼球中心位置の推定値を、右目について(XccR,YccR,ZccR)、左目について(XccL,YccL,ZccL)とする。
【００４９】
ここで、顔位置姿勢推定部２４によって推定された、カメラ座標系から見た顔の回転を(ψc(t), θc(t), φc(t))とし、原点位置の差(Xc(t), Yc(t), Zc(t))とすると、顔モデル座標系の右目の眼球中心位置の推定値の初期値(Xmc_iniR,Ymc_iniR,Zmc_iniR)は、以下の（３）式に従って、カメラ座標系での右目の眼球中心位置の推定値の初期値(Xcc_iniR,Ycc_iniR,Zcc_iniR)へ変換される。
【００５０】
【数２】
2013252301.tif 000004
【００５１】
顔モデル座標系の左目の眼球中心位置の推定値の初期値(Xmc_iniL,Ymc_iniL,Zmc_iniL)、
【００５２】
顔モデル座標系での左右の目の各々の眼球中心位置の推定値(XmcR,YmcR,ZmcR)、(XmcL,YmcL,ZmcL)も、上記（３）式と同様の式に従って、カメラ座標系での値に変換される。
【００５３】
また、車両座標系での眼球中心位置の推定値の初期値を、右目について(Xvc_iniR,Yvc_iniR,Zvc_iniR)、左目について(Xvc_iniL,Yvc_iniL,Zvc_iniL)とし、車両座標系から見たカメラの回転を(ψv, θv, φv)とし、原点位置の差（カメラ設置時に決まる固定値）を(Xv, Yv, Zv)とすると、カメラ座標系の右目の眼球中心位置の推定値の初期値(Xcc_iniRL,Ycc_iniR,Zcc_iniR)は、以下の（４）式に従って、車両座標系の右目の眼球中心位置の推定値の初期値(Xvc_iniR,Yvc_iniR,Zvc_iniR)に変換される。
【００５４】
【数３】
2013252301.tif 000005
【００５５】
カメラ座標系の左目の眼球中心位置の推定値の初期値(Xcc_iniL,Ycc_iniL,Zcc_iniL)、カメラ座標系での左右の目の各々の眼球中心位置の推定値(XccR,YccR,ZccR)、(XccL,YccL,ZccL)も、上記（４）式と同様の式に従って、カメラ座標系での値に変換される。
【００５６】
また、眼球中心座標系での瞳孔中心位置の推定値を、右目について(XepR(t),YepR(t),ZepR(t))、左目について(XepL(t),YepL(t),ZepL(t))とする。
【００５７】
顔モデル座標系での瞳孔中心位置の推定値を、右目について(XmpR(t),YmpR(t),ZmpR(t))、左目について(Xmp(t)L,YmpL(t),ZmpL(t))とする。
【００５８】
カメラ座標系での瞳孔中心位置の推定値を、右目について(XcpR(t),YcpR(t),ZcpR(t))、左目について(XcpL(t),YcpL(t),ZcpL(t))とする。
【００５９】
車両座標系での瞳孔中心位置の推定値を、右目について(XvpR(t),YvpR(t),ZvpR(t))、左目について(XvpL(t),YvpL(t),ZvpL(t))とする。
【００６０】
また、２次元瞳孔中心位置検出部２６によって検出される、顔画像上（画像座標系）での瞳孔中心位置を、右目について(xpR(t), ypR(t))、左目について(xpL(t), ypL(t))とする。
【００６１】
観測でも求めた左右の視線角度の推定値を、右目について(αR(t), βR(t))、左目について(αL(t), βL(t))とする。また、眼球半径は、3次元空間での眼球中心から眼球表面までの距離であり、予め定められた固定値Ｒとする。なお、個人差を考慮して、Ｒを、変数としてもよい。
【００６２】
また、カメラの焦点距離パラメータは、カメラとレンズで決まる定数であり、fとする。
【００６３】
ここで、カメラ座標系での右目の瞳孔中心位置の推定値(XcpR(t),YcpR(t),ZcpR(t))と、顔画像上（画像座標系）での瞳孔中心位置(xpR(t), ypR(t))との関係は、以下の（５）式で表わされる。
【００６４】
xpR= f XcpR / ZcpR, ypR = f YcpR / ZcpR      ・・・（５）
【００６５】
カメラ座標系での左目の瞳孔中心位置の推定値 (XcpL(t),YcpL(t),ZcpL(t))と、顔画像上（画像座標系）での瞳孔中心位置(xpL(t), ypL(t))との関係は、は、上記（５）式と同様の式で表わされる。
【００６６】
また、眼球中心座標系での右目の瞳孔中心位置の推定値(XepR(t),YepR(t),ZepR(t))は、以下の（６）式で表わされる。眼球中心座標系での右目の瞳孔中心位置についても同様である。
【００６７】
【数４】
2013252301.tif 000006
【００６８】
また、顔モデル座標系での右目の瞳孔中心位置の推定値(XmpR(t),YmpR(t),ZmpR(t))は、以下の（７）式で表わされる。顔モデル座標系での右目の瞳孔中心位置についても同様である。
【００６９】
【数５】
2013252301.tif 000007
【００７０】
顔モデル座標系からカメラ座標系への変換は、上記（３）式と同様の式に従って行われ、カメラ座標系から車両座標系への変換は、上記（４）式と同様の式に従って行われる。
【００７１】
そして、顔モデル座標系での右目の視線ベクトルの推定値を (XmgR(t),YmgR(t),ZmgR(t))とすると、以下の（８）式に従って計算される。
【００７２】
【数６】
2013252301.tif 000008
【００７３】
左目の視線ベクトルの推定値(XmgL(t),YmgL(t),ZmgL(t))についても、上記（８）式と同様の式に従って計算される。
【００７４】
また、カメラ座標系での右目の視線ベクトルの推定値を、 (XcgR(t),YcgR(t),ZcgR(t))とすると、以下の（９）式に従って計算される。
【００７５】
【数７】
2013252301.tif 000009
【００７６】
左目の視線ベクトルの推定値(XcgL(t),YcgL(t),ZcgL(t))についても、上記（９）式と同様の式に従って計算される。
【００７７】
また、車両座標系での右目の視線ベクトルの推定値を、 (XvgR(t),YvgR(t),ZvgR(t))とすると、以下の（１０）式に従って計算される。
【００７８】
【数８】
2013252301.tif 000010
【００７９】
左目の視線ベクトルの推定値(XvgL(t),YvgL(t),ZvgL(t))についても、上記（１０）式と同様の式に従って計算される。
【００８０】
このように、視線計算部２８は、顔位置姿勢推定部２４によって推定された、カメラ座標系における顔の回転(ψc(t), θc(t), φc(t))及び原点位置の差(Xc(t), Yc(t), Zc(t))と、２次元瞳孔中心位置検出部２６によって検出された顔画像上の左右の目の各々の瞳孔中心の２次元位置とに基づいて、左右の目の各々の車両座標系での瞳孔中心位置の推定値を計算すると共に、左右の目の各々の顔モデル座標系の眼球中心位置の初期値を、車両座標系の位置に変換し、上記（１０）式に従って、車両座標系における右目の視線ベクトルを計算すると共に、上記（１０）式と同様の式に従って、左目の視線ベクトルを計算し、計算結果を時系列データ記憶部３０に格納する。
【００８１】
視線計算部２８は、画像撮像部１２によって撮像された各フレームの画像について、視線ベクトルを時系列で計算し、時系列データ記憶部３０には、視線ベクトルの計算結果が、時系列データとして格納される。また、時系列データ記憶部３０には、左右の目の各々の顔モデル座標系における眼球中心位置の推定値の初期値が格納される。
【００８２】
最適値推定部３２は、時系列データ記憶部３０に記憶された左右の目の各々の３次元の視線ベクトルの時系列データ及び左右の目の各々の眼球中心位置の推定値の初期値に基づいて、以下に説明するように、左右の目の各々の眼球中心の３次元位置の最適値を推定する。
【００８３】
まず、車両座標系での視対象の3次元位置(Xvt(t),Yvt(t),Zvt(t))は、左右の目で共通であって、時間変動する値とする。
【００８４】
ここで、視線ベクトルは、眼球中心から視対象の３次元位置へ向かう3次元ベクトルであるため、車両座標系での右目の視線ベクトル(Xvg'R,Yvg'R,Zvg'R)が、以下の（１１）式で表わされる。
【００８５】
【数９】
2013252301.tif 000011
【００８６】
左目の視線ベクトル(Xvg'L,Yvg'L,Zvg'L)についても、上記（１１）式と同様の式で表わされる。
【００８７】
上記（１０）式に従って計算された車両座標系における右目の視線ベクトルと、上記（１１）式で表わされる車両座標系における右目の視線ベクトルと向きが一致しなければならない。そこで、λ(t)を時間変動するスケールパラメータとすると、以下の（１２）式が得られる。
【００８８】
【数１０】
2013252301.tif 000012
【００８９】
上記（１２）式により、以下の（１３）式が得られる。
【００９０】
【数１１】
2013252301.tif 000013
【００９１】
また、左目の視線ベクトルについても、上記（１３）式と同様の式が得られる。
【００９２】
また、視対象は左右で同じなので、以下の（１４）式で表される拘束条件が成り立つ。
【００９３】
【数１２】
2013252301.tif 000014
【００９４】
ここで、観測変数は、上記（１０）式に従って計算される左右の目の視線ベクトル(XvgR,YvgR,ZvgR), (XvgL,YvgL,ZvgL)であるが、ベクトルの長さがRという拘束があるので実質的な観測変数は4個である。
【００９５】
また、カメラ座標と車両座標の位置関係は固定であり、カメラ座標中の顔位置姿勢は、顔位置姿勢推定部２４によって求められるので、既知である。
【００９６】
また、時間変動する未知変数は、λ(t)L, λ(t)Rの２つであり、時間変動しない未知変数は、顔モデル座標系での左右の目の各々の眼球中心位置の推定値 (XmcR,YmcR,ZmcR)、(XmcL,YmcL,ZmcL)の６個の変数である。
【００９７】
また、観測回数をNとすると、観測変数4N>未知変数2N+6が成り立てば解ける。本実施の形態では、何らかの仮定が無いため、N>3の観測が必要であり、ノイズの影響を考慮すると観測回数は多い方が望ましい。
【００９８】
上記（１４）式により、誤差を以下の（１５）式のように定義する。
【００９９】
【数１３】
2013252301.tif 000015
【０１００】
最適値推定部３２は、時系列データ記憶部３０に記憶された視線ベクトルの計算結果の時系列データ及び左右の目の各々の眼球中心位置の推定値の初期値を使って、以下の（１６）式に示す二乗誤差が最小になるように、顔モデル座標系での左右の目の各々の眼球中心位置の推定値  (XmcR,YmcR,ZmcR)、 (XmcL,YmcL,ZmcL)、 パラメータλ(t)L, λ(t)Rの各々の最適値を求めることで、眼球中心位置の修正を行う。最小化手法としては、拡張カルマンフィルタ、Levenberg-Marquardt法、最急降下法、Ｎｅｗｔｏｎ法、Ｇａｕｓｓ−Ｎｅｗｔｏｎ法などが適用可能である。
【０１０１】
【数１４】
2013252301.tif 000016
【０１０２】
また、最適値推定部３２は、時系列データ記憶部３０に記憶された視線ベクトルの計算結果の時系列データ及び左右の目の各々の眼球中心位置の前回推定値を使って、顔モデル座標系での左右の目の各々の眼球中心位置の推定値  (XmcR,YmcR,ZmcR)、 (XmcL,YmcL,ZmcL)、 パラメータλ(t)L, λ(t)Rの各々の最適値の推定を繰り返す。これによって、左右の目の各々の眼球中心位置の推定精度が徐々に向上していく。
【０１０３】
視線推定部３４は、最適値推定部３２によって推定された顔モデル座標系での左右の目の各々の眼球中心位置の最適値、顔位置姿勢推定部２４によって推定された推定結果、及び２次元瞳孔中心位置検出部２６によって検出された検出結果に基づいて、画像撮像部１２によって撮像される画像毎に、左右の目の各々の視線ベクトルを推定する。
【０１０４】
視線推定部３４によって推定された左右の目の各々の視線ベクトルの推定値が、出力部１６により出力される。
【０１０５】
次に、視線推定装置１０の動作について説明する。まず、画像撮像部１２で被験者の顔画像を連続的に撮像する。
【０１０６】
そして、コンピュータ１４において、図３に示す眼球中心推定処理ルーチンを実行する。まず、ステップ１００において、画像撮像部１２で撮像された顔画像を、ビデオ信号として取り込み、ステップ１０２で、ビデオ信号をＡ／Ｄ変換して、２次元ディジタル画像を生成する。本実施例においては、以降の処理は、このディジタル画像に基づいて、ディジタル処理により行われるので、以後、単に画像という場合にはディジタル画像を意味することとする。
【０１０７】
そして、ステップ１０４において、顔画像から顔上の特徴点を抽出し、次のステップ１０６では、上記ステップ１０４で検出された特徴点に基づいて、カメラ座標系におけるｆ顔の３次元の位置姿勢を推定する。
【０１０８】
そして、ステップ１０８では、顔画像から左右の目の各々の瞳孔領域を抽出し、左右の目の各々について顔画像上の２次元の瞳孔中心位置を検出する。ステップ１１０において、上記ステップ１０６で推定されたカメラ座標系における顔の位置姿勢、上記ステップ１０８で検出された左右の目の各々についての顔画像上の２次元の瞳孔中心位置、及び予め設定された顔モデル座標系における３次元の眼球中心位置の推定値の初期値に基づいて、上記（１０）式に従って、車両座標系における右目について眼球中心から瞳孔中心に向かう視線ベクトルを計算し、上記（１０）式と同様の式に従って、左目について眼球中心から瞳孔中心に向かう視線ベクトルを計算する。そして、視線ベクトルの計算結果を、３次元の眼球中心位置の推定値の初期値と共に時系列データ記憶部３０に格納する。
【０１０９】
次のステップＳ１１２において、上記ステップ１１０の計算を所定回数（＞３）以上行ったか否かを判定する。上記ステップ１１０の計算回数が所定回数に到達していない場合には、上記ステップ１００へ戻る。一方、上記ステップ１１０の計算回数が所定回数に到達した場合には、ステップ１１４へ移行する。
【０１１０】
ステップ１１４では、時系列データ記憶部３０に格納された視線ベクトルの計算結果の時系列データ、及び３次元の眼球中心位置の推定値の初期値に基づいて、上記（１６）式で表される二乗誤差が最小となる、顔モデル座標系における左右の目の眼球中心位置の最適値を推定する。
【０１１１】
そして、ステップ１１６において、上記ステップ１０６で最後に推定されたカメラ座標系における顔位置姿勢と、上記ステップ１０８で最後に検出された顔画像上の２次元瞳孔中心位置と、上記ステップ１１４で推定された顔モデル座標系における左右の目の眼球中心位置の最適値とに基づいて、車両座標系における左右の目の各々の視線ベクトルを計算して、出力部１６により出力し、眼球中心位置推定処理ルーチンを終了する。
【０１１２】
そして、コンピュータ１４は、画像撮像部１２から画像フレームが入力される毎に、上記眼球中心位置推定処理ルーチンで推定された左右の目の眼球中心位置の最適値を用いて、左右の目の各々の視線ベクトルを計算する。
【０１１３】
また、上記眼球中心位置推定処理ルーチンで推定された左右の目の眼球中心位置の最適値を、左右の目の眼球中心位置の代わりに用いて、再度、眼球中心位置推定処理ルーチンを実行することを繰り返し、左右の目の眼球中心位置の推定値を修正する。
【０１１４】
以上説明したように、第１の実施の形態に係る視線推定装置によれば、推定されたカメラ座標系における顔の３次元の位置姿勢、及び検出された顔画像上の瞳孔中心の２次元位置に基づいて、左右の目の各々について、顔モデル座標系で予め定められた眼球中心の３次元位置から瞳孔中心の３次元位置の推定値へ向かう３次元の視線ベクトルを時系列で計算し、左右の目の各々の３次元の視線ベクトルの時系列に基づいて、左右の目の各々の視対象の３次元位置の誤差が最小となるように、顔モデル座標系における左右の目の各々の眼球中心の３次元位置の最適値を推定することにより、キャリブレーションを行うことなく、精度よく眼球中心の３次元位置を推定することができる。
【０１１５】
また、事前のキャリブレーション画像取得や、視線計測中に使用者がどこを見ているかを特定できなくても、眼球中心パラメータを推定することができ、眼球中心パラメータの推定により、最終的に得たい視線推定の精度が向上する。
【０１１６】
従来技術では、通常、視対象の２次元座標を観測量として定式化しているが、一方、本実施の形態では、視対象の位置を、状態量として定式化している。これにより、従来法のように見ている対象の位置を計測しなくても、左右の視線が３次元空間のどこかで交わる、という制約を組み込むことが可能になる。
【０１１７】
次に、第２の実施の形態について説明する。なお、第２の実施の形態に係る視線推定装置の構成は、第１の実施の形態と同様の構成であるため、同一符号を付して説明を省略する。
【０１１８】
第２の実施の形態では、顔モデル座標系における左右の目の眼球中心の３次元位置が、左右対称であることを仮定して、左右の目の各々の眼球中心の３次元位置の最適値を推定している点が第１の実施の形態と異なっている。
【０１１９】
顔モデル座標系での眼球中心座標が左右対称であると仮定すると、顔モデル座標系でＸ座標が逆符号、Ｙ座標とＺ座標は同じになるため、第２の実施の形態では、顔モデル座標系での眼球中心位置の推定値の初期値は、右目について(Xmc_ini,Ymc_ini,Zmc_ini)と表わされ、左目について(-Xmc_ini,Ymc_ini,Zmc_ini)と表わされる。また、顔モデル座標系での眼球中心位置の推定値は、右目について(Xmc,Ymc,Zmc)と表わされ、左目について(-Xmc,Ymc,Zmc)と表わされる。
【０１２０】
つまり、第２の実施の形態に係る視線推定装置１０の最適値推定部３２では、最適値を求める変数が(Xmc,Ymc,Zmc)、 λ(t)L, λ(t)Rに減ることになる。
【０１２１】
このように、顔モデル座標系における左右の目の眼球中心の３次元位置が、左右対称であると仮定することで、未知変数XmcR,YmcR,ZmcR,,XmcL,YmcL,ZmcLをXmc,Ymc,Zmcの3個に減らすのと同等の効果がある。観測変数4N>未知変数2N+3が成り立てば良いので、N>2の観測で解けるようになる。
【０１２２】
なお、第２の実施の形態に係る視線推定装置の他の構成及び作用について、第１の実施の形態と同様であるため、説明を省略する。
【０１２３】
次に、第３の実施の形態について説明する。なお、第３の実施の形態に係る視線推定装置の構成は、第１の実施の形態と同様の構成であるため、同一符号を付して説明を省略する。
【０１２４】
第３の実施の形態では、視対象までの距離が固定値であることを仮定して、左右の目の各々の眼球中心の３次元位置の最適値を推定している点が第１の実施の形態と異なっている。
【０１２５】
視対象までの距離Zvt(t)が固定値Ａであると仮定すると、以下の（１７）式が成り立つため、第３の実施の形態では、λ(t)L, λ(t)Rが観測パラメータで表現される。
【０１２６】
【数１５】
2013252301.tif 000017
【０１２７】
つまり、第３の実施の形態に係る視線推定装置１０の最適値推定部３２では、最適値を求める変数が(XmcR,YmcR,ZmcR)、(XmcL,YmcL,ZmcL)に減ることになる。
【０１２８】
このように、視対象までの距離Zvt(t)が例えば20mのような固定値であると仮定することで、時間変動する未知変数2個を0個に減らすことができる。観測変数4N>6が成り立てば良いので、N>1の観測で解けるようになる。
【０１２９】
なお、第３の実施の形態に係る視線推定装置の他の構成及び作用について、第１の実施の形態と同様であるため、説明を省略する。
【０１３０】
次に、第４の実施の形態について説明する。なお、第４の実施の形態に係る視線推定装置の構成は、第１の実施の形態と同様の構成であるため、同一符号を付して説明を省略する。
【０１３１】
第４の実施の形態では、予め定められた平面上に視対象が位置することを仮定して、左右の目の各々の眼球中心の３次元位置の最適値を推定している点が第１の実施の形態と異なっている。
【０１３２】
車両座標系における視対象の３次元位置（Xvt(t), Yvt(t), Zvt(t)）が同一平面上に存在するということを仮定すると、以下の（１８）式で表される平面の方程式が成立する。
【０１３３】
aXvt(t)+bYvt(t)+c Zvt(t)+d=0      ・・・（１８）
【０１３４】
上記（１８）式より、右目について以下の（１９）式が得られる。また、左目についても、（１９）式と同様な式が得られる。このため、第４の実施の形態では、λ(t)L, λ(t)Rが観測パラメータで表現される。
【０１３５】
【数１６】
2013252301.tif 000018
【０１３６】
つまり、第４の実施の形態に係る視線推定装置１０の最適値推定部３２では、最適値を求める変数が(XmcR,YmcR,ZmcR)、(XmcL,YmcL,ZmcL)に減ることになる。
【０１３７】
このように、車両座標系における視対象の３次元位置（Xvt(t), Yvt(t), Zvt(t)）が同一平面上（例えば水平面）に存在すると仮定することで、時間変動する未知変数2個を0個に減らすことができる。観測変数4N>6が成り立てば良いので、N>1の観測で解けるようになる。
【０１３８】
なお、第４の実施の形態に係る視線推定装置の他の構成及び作用について、第１の実施の形態と同様であるため、説明を省略する。
【０１３９】
次に、第５の実施の形態について説明する。なお、第５の実施の形態に係る視線推定装置の構成は、第１の実施の形態と同様の構成であるため、同一符号を付して説明を省略する。
【０１４０】
第５の実施の形態では、左右の目の視線ベクトルが平行であることを仮定して、左右の目の各々の眼球中心の３次元位置の最適値を推定している点が第１の実施の形態と異なっている。
【０１４１】
車両座標系における視対象の３次元位置（Xvt(t), Yvt(t), Zvt(t)）が無限遠である、すなわち、左右の目の視線ベクトルが平行であることを仮定すると、以下の（２０）式が得られる。これは、6個の未知変数XmcR,YmcR,ZmcR,,XmcL,YmcL,ZmcLを3個の方程式で関係付けたことになるため、実質的に変数を3個に減らしたのと同等である。
【０１４２】
【数１７】
2013252301.tif 000019
【０１４３】
つまり、第５の実施の形態に係る視線推定装置１０の最適値推定部３２では、最適値を求める変数が、(Xmc,Ymc,Zmc)、 λ(t)L, λ(t)Rに減ることになる。
【０１４４】
このように、車両座標系における視対象の３次元位置（Xvt(t), Yvt(t), Zvt(t)）が無限遠であると仮定することで、時間変動しない未知変数６個を３個に減らすことができる。観測変数4N>2N+3が成り立てば良いので、N>2の観測で解けるようになる。
【０１４５】
なお、第５の実施の形態に係る視線推定装置の他の構成及び作用について、第１の実施の形態と同様であるため、説明を省略する。
【０１４６】
既存技術を使って設定した眼球中心位置の初期値と、検出した瞳孔中心位置とから、視線方向を計算することができるが、通常は左右の視線方向は一致せず角度差が生じる。本実施の形態では、左右の視線が平行であるという仮定を導入することにより、左右の目の視線方向を平均化した視線方向を計算することができる。
【０１４７】
次に、第６の実施の形態について説明する。なお、第６の実施の形態に係る視線推定装置の構成は、第１の実施の形態と同様の構成であるため、同一符号を付して説明を省略する。
【０１４８】
第６の実施の形態では、左右の目の各々の眼球中心の３次元位置の最適値を推定するために用いる誤差評価関数が第１の実施の形態と異なっている。
【０１４９】
図４に示すように、顔モデル座標系における右目の修正前の眼球中心位置の推定値（例えば初期値）を（XmcR,YmcR,ZmcR）とし、左目の修正前の眼球中心位置の推定値（例えば初期値）を（XmcL,YmcL,ZmcL）とし、顔モデル座標系における右目の瞳孔中心の３次元座標の推定値を（XmeR,YmeR,ZmeR）とし、左目の瞳孔中心の３次元座標の推定値を（XmeL,YmeL,ZmeL）とすると、顔モデル座標系において、左右の目の観測視線ベクトルを以下のように表わすことができる。
【０１５０】
右目の観測視線ベクトル= （ XmeR−XmcR, YmeR−YmcR, ZmeR−ZmcR）
【０１５１】
左目の観測視線ベクトル= （ XmeL−XmcL,  YmeL−YmcL,  ZmeL−ZmcL）
【０１５２】
また、２次元瞳孔中心位置検出部２６によって検出される、画像座標系における右目の瞳孔中心の２次元位置を（xeR,yeR）とし、左目の瞳孔中心の２次元位置を（xeL,yeL）とする。
【０１５３】
上記２つの観測視線ベクトルは一般には１点では交わらないが、仮に、視対象の３次元位置の推定値（XT, YT, ZT）で交わるとすると、視対象の３次元位置へ向かう推定視線ベクトルが、以下のように表わされる。
【０１５４】
右目の推定視線ベクトル= （ XT−XmcR, YT−YmcR, ZT−ZmcR）
左目の推定視線ベクトル= （ XT−XmcL, YT−YmcL, ZT−ZmcL）
【０１５５】
観測視線ベクトルと推定視線ベクトルとは一致すべきものであるため、観測視線ベクトルと推定視線ベクトルの誤差が定義できる。
【０１５６】
誤差はいくつか定義の方法があるが、本実施の形態では、以下の（２１）式で表わされる、ベクトル同士の角度θを使う。ベクトルが一致すれば角度は0になる。
【０１５７】
cos θ=（観測視線ベクトルと推定視線ベクトルとの内積）/（観測視線ベクトル長・推定視線ベクトル長）      ・・・（２１）
【０１５８】
cos0=1.0なので、最適値推定では、1- cos θが0になるようにすればよい。
【０１５９】
右目の誤差評価関数は、以下の（２２）式で表される。
【０１６０】
右目の誤差評価関数
=1.0 −（（観測視線ベクトルと推定視線ベクトルとの内積）/（観測視線ベクトル長・推定視線ベクトル長））
= 1.0 −
(((XmeR−XmcR)(XT−XmcR)+(YmeR−YmcR)(YT−YmcR)+(ZmeR−ZmcR)(ZT−ZmcR))
/(√((XmeR−XmcR)2+(YmeR−YmcR)2+(ZmeR−ZmcR)2)√ ((XT−XmcR)2+(YT −YmcR)2+(ZT −ZmcR)2)))
・・・(２２)
【０１６１】
また、左目の誤差評価関数は、以下の（２３）式で表される。
【０１６２】
左目の誤差評価関数
=1.0 −（（観測視線ベクトルと推定視線ベクトルとの内積）/（観測視線ベクトル長・推定視線ベクトル長））
= 1.0 −
(((XmeL−XmcL)(XT−XmcL)+(YmeL−YmcL)(YT −YmcL)+(ZmeL−ZmcL)(ZT−ZmcL))
/(√((XmeL−XmcL)2+(YmeL−YmcL)2+(ZmeL−ZmcL)2)√ ((XT−XmcL)2+(YT−YmcL)2+(ZT−ZmcL)2)))
・・・（２３）
【０１６３】
ここで、未知変数は、XmcR,YmcR,ZmcR,,XmcL,YmcL,ZmcL, XT, YT, ZTの9個であり、観測変数は、 xeR,yeR,xeL,yeLの4個である。なお、 XmeR,YmeR,ZmeR,,XmeL,YmeL,ZmeLは、 XmcR,YmcR,ZmcR,XmcL,YmcL,ZmcLとxeR,yeR,xeL,yeLとから計算できる推定量である。
【０１６４】
未知変数9個に対し観測変数4個なのでそのままでは解けないが、未知変数のうちXmcR,YmcR,ZmcR,XmcL,YmcL,ZmcLの6個は眼球中心位置を表わす値なので顔モデル座標系で時間変動しない固定パラメータである。
【０１６５】
つまり、観測変数4個から、時間変動する未知変数3個（ XT, YT, ZT ）と時間変動しない未知変数6個（XmcR,YmcR,ZmcR,XmcL,YmcL,ZmcL）を求める問題になる。
【０１６６】
そこで、時間方向に6回以上の観測を行えば、観測変数4×6=24、時間変動する未知変数3×6=18、時間変動しない未知変数6となり、観測変数の数と未知変数の数が釣り合うので、誤差評価関数を0にするような最適化手法で解くことが可能になる。
【０１６７】
最適値推定部３２は、時系列データ記憶部３０に記憶された視線ベクトルの計算結果の時系列データ及び左右の目の各々の眼球中心位置の推定値の初期値を使って、上記（２２）式、（２３）式に示す誤差が最小になるように、顔モデル座標系での左右の目の各々の眼球中心位置の推定値 (XmcR,YmcR,ZmcR)、 (XmcL,YmcL,ZmcL)、視対象の３次元位置（ XT, YT, ZT ）の各々の最適値を求めることで、眼球中心位置の推定値の修正を行う。
【０１６８】
なお、第６の実施の形態に係る視線推定装置の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【０１６９】
以上説明したように、第６の実施の形態に係る視線推定装置によれば、推定されたカメラ座標系における顔の３次元の位置姿勢、及び検出された顔画像上の瞳孔中心の２次元位置に基づいて、左右の目の各々について、顔モデル座標系において予め定められた眼球中心の３次元位置から瞳孔中心の３次元位置の推定値へ向かう３次元の視線ベクトルを時系列で計算し、左右の目の各々の３次元の視線ベクトルの時系列に基づいて、右目の眼球中心の３次元位置から視対象の３次元位置へ向かう３次元の視線ベクトルとの誤差、及び左目の眼球中心の３次元位置から視対象の３次元位置へ向かう３次元の視線ベクトルとの誤差が最小となるように、顔モデル座標系における左右の目の各々の眼球中心の３次元位置の最適値を推定することにより、キャリブレーションを行うことなく、精度よく眼球中心の３次元位置を推定することができる。
【０１７０】
なお、上記の第６の実施の形態において、上述した第２の実施の形態〜第５の実施の形態で説明した技術を適用してもよい。例えば、上記の第２の実施の形態で説明したように、顔モデル座標系において右目と左目の眼球中心座標を左右対象と仮定することで、未知変数XcR,YcR,ZcR,,XcL,YcL,ZcLをXc,Yc,Zcの3個に減らすことができ、時間方向の観測を3回以上に減らすことができる。
【０１７１】
また、上記の第３の実施の形態で説明したように、視対象の位置までの距離ZTを例えば20mのような固定値を仮定することで、時間変動する未知変数3個を2個に減らすことができ、時間方向の観測を4回以上に減らすことができる。また、上記の第４の実施の形態で説明したように、視対象の位置（XT, YT, ZT）が同一平面上（例えば水平面）に存在すると仮定することで、時間変動する未知変数3個を2個に減らすことができ、時間方向の観測を4回以上に減らすことができる。
【０１７２】
また、上記の第５の実施の形態で説明したように、視対象の位置（XT, YT, ZT）が無限遠に存在すると仮定することで、時間変動する未知変数3個を0個に減らすことができ、時間方向の観測を2回以上に減らすことができる。視対象の位置（XT, YT, ZT）が無限遠に存在する、いうことは視線の推定ベクトルが左右平行ということなので、左右の観測視線ベクトルを平均したものを推定視線ベクトルとして用いることができ、平行仮定で求められた視線上の虹彩中心と、計測で得られた虹彩中心にはずれが生じるので、そのずれが小さくなるように眼球中心位置を修正することで、本来計測不可能であるはずの眼球中心パラメータを推定することができるようになる。
【０１７３】
また、上記の第１の実施の形態〜第６の実施の形態において、眼球半径パラメータを固定値とする場合を例に説明したが、これに限定されるものではなく、眼球半径パラメータを、推定対象の変数としてもよい。この場合には、最適推定に必要な時間方向の観測数を増やせばよく、これによって、眼球中心位置の最適値と共に、眼球半径の最適値を推定することができる。
【符号の説明】
【０１７４】
１０   視線推定装置
１２   画像撮像部
１４   コンピュータ
２２   特徴点抽出部
２４   顔位置姿勢推定部
２６   ２次元瞳孔中心位置検出部
２８   視線計算部
３０   時系列データ記憶部
３２   最適値推定部
３４   視線推定部
【図１】
2013252301.tif 000020
【図３】
2013252301.tif 000021
【図２】
2013252301.tif 000022
【図４】
2013252301.tif 000023