(57)【特許請求の範囲】
【請求項１】
フレーム顔画像から取得した人の眼球位置と虹彩位置とに基づいてフレーム顔画像毎の視線方向を計測する視線計測システムであって、
標準モデルを利用してフレーム顔画像毎に顔画像の前記虹彩位置を含む特徴点の位置データを取得する特徴点データ取得手段、
前記特徴点の位置データを利用してフレーム顔画像毎に顔の位置および姿勢データを取得する顔データ取得手段、
前記特徴点の位置データおよび前記顔の位置および姿勢データに基づいてフレーム画像毎に個人パラメータおよびフレームパラメータを設定するパラメータ設定手段、
前記個人パラメータおよびフレームパラメータの全フレーム顔画像に対する適合度を計算する適合度計算手段、
前記適合度が所定の閾値になるまで前記個人パラメータおよびフレームパラメータを修正する修正手段、および
修正された個人パラメータおよびフレームパラメータに基づいて前記視線方向を計測する手段を備える、視線計測システム。
【請求項２】
前記適合度計算手段は、標準モデルを使って個人パラメータとフレームパラメータに基づいて生成した虹彩の投影像と、各フレーム顔画像における虹彩との比較の誤差の全フレーム顔画像の総計を前記適合度として計算する、請求項１記載の視線計測システム。
【請求項３】
前記適合度計算手段は、標準モデルを使って個人パラメータとフレームパラメータに基づいて生成した虹彩を含む顔の所定の特徴点の投影像と、各フレーム顔画像におけるそれらの特徴点との比較の誤差の全フレーム顔画像の総計を前記適合度として計算する、請求項１記載の視線計測システム。
【請求項４】
前記修正した個人パラメータに基づいて前記標準モデルを更新する更新手段をさらに備える、請求項１ないし３のいずれかに記載の視線計測システム。
【請求項５】
フレーム顔画像から取得した人の眼球位置と虹彩位置とに基づいてフレーム顔画像毎の視線方向を計測する視線計測方法であって、
標準モデルを利用してフレーム顔画像毎に顔画像の前記虹彩位置を含む特徴点の位置データを取得する特徴点データ取得ステップ、
前記特徴点の位置データを利用してフレーム顔画像毎に顔の位置および姿勢データを取得する顔データ取得ステップ、
前記特徴点の位置データおよび前記顔の位置および姿勢データに基づいてフレーム画像毎に個人パラメータおよびフレームパラメータを設定するパラメータ設定ステップ、
前記個人パラメータおよびフレームパラメータの全フレーム顔画像に対する適合度を計算する適合度計算ステップ、
前記適合度が所定の閾値になるまで前記個人パラメータおよびフレームパラメータを修正する修正ステップ、および
修正された個人パラメータおよびフレームパラメータに基づいて前記視線方向を計測するステップを含む、視線計測方法。
【請求項６】
フレーム顔画像から取得した人の眼球位置と虹彩位置とに基づいてフレーム顔画像毎の視線方向を計測する視線計測システムのコンピュータによって実行される視線計測プログラムであって、前記コンピュータを、
標準モデルを利用してフレーム顔画像毎に顔画像の前記虹彩位置を含む特徴点の位置データを取得する特徴点データ取得手段、
前記特徴点の位置データを利用してフレーム顔画像毎に顔の位置および姿勢データを取得する顔データ取得手段、
前記特徴点の位置データおよび前記顔の位置および姿勢データに基づいてフレーム画像毎に個人パラメータおよびフレームパラメータを設定するパラメータ設定手段、
前記個人パラメータおよびフレームパラメータの全フレーム顔画像に対する適合度を計算する適合度計算手段、
前記適合度が所定の閾値になるまで前記個人パラメータおよびフレームパラメータを修正する修正手段、および
修正された個人パラメータおよびフレームパラメータに基づいて前記視線方向を計測する手段
として機能させる、視線計測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は視線計測システム、方法およびプログラムに関し、特に、たとえば単眼カメラで撮影した多数のフレーム顔画像を処理することによってその顔画像に含まれる目の視線方向を推定または計測する、視線計測システム、方法およびプログラムに関する。
【背景技術】
【０００２】
特許文献１には本件出願人が提案した視線推定システムが開示されている。この背景技術では、単眼カメラからの被験者の顔画像信号を処理することによって、当該被験者の視線方向を推定できる。
【特許文献１】特開２００８−１０２９０２号公報［G06T 7/60 A61B 3/113］
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１の背景技術ではカメラからの顔画像信号のリアルタイム処理によって視線方向を推定するものであり、被験者の顔の中の目や鼻口などのパーツの配置が全く分からない状態から処理を開始するので、逐次の学習による精度の向上に限界があった。
【０００４】
それゆえに、この発明の主たる目的は、新規な、視線計測システム、方法およびプログラムを提供することである。
【０００５】
この発明の他の目的は、精度を高められる、視線計測システム、方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００６】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために後述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【０００７】
第１の発明は、フレーム顔画像から取得した人の眼球位置と虹彩位置とに基づいてフレーム顔画像毎の視線方向を計測する視線計測システムであって、標準モデルを利用してフレーム顔画像毎に顔画像の虹彩位置を含む特徴点の位置データを取得する特徴点データ取得手段、特徴点の位置データを利用してフレーム顔画像毎に顔の位置および姿勢データを取得する顔データ取得手段、特徴点の位置データおよび顔の位置および姿勢データに基づいてフレーム画像毎に個人パラメータおよびフレームパラメータを設定するパラメータ設定手段、個人パラメータおよびフレームパラメータの全フレーム顔画像に対する適合度を計算する適合度計算手段、適合度が所定の閾値になるまで個人パラメータおよびフレームパラメータを修正する修正手段、および修正された個人パラメータおよびフレームパラメータに基づいて視線方向を計測する手段を備える、視線計測システムである。
【０００８】
第１の発明では、たとえばコンピュータ（サーバ12）によって形成される特徴点データ取得手段（12,261,S105）が、標準モデルを利用してフレーム顔画像毎に顔画像の虹彩位置を含む特徴点の位置データを取得する。ここで、標準モデルとは、一例として、解剖学の知見に従って構築した人の顔の所定の特徴点（たとえば、両目の目頭、目尻、口角）の３次元座標の位置を示す座標データと、それらの特徴点に対して解剖学的に推定できる眼球の位置および眼球の半径のデータとを含むものである。特徴点データ取得手段（12,261,S105）は、フレーム顔画像にこのような標準モデルを適用して、当該被験者の特徴点を検出する。顔データ取得手段（12,262,S107）は、特徴点の位置データを利用して、たとえば複数の特徴点に関する投影行列（Ｐ）をＱＲ分解するなどして、フレーム顔画像毎に顔の位置および姿勢データを取得する。パラメータ設定手段（12, S111,S121）は、特徴点の位置データおよび顔の位置および姿勢データに基づいてフレーム画像毎に個人パラメータおよびフレームパラメータを設定する。個人パラメータとは、一例として、各被験者に独特の上述の標準モデルに相当しかつ全てのフレームに共通する、６つの特徴点の３次元座標、眼球の位置および眼球の半径（ｒ）の１組のデータセットであり、フレームパラメータは、一例として、各フレームに特有のパラメータであって、顔の位置および姿勢、虹彩（瞳孔）の位置および虹彩（瞳孔）の半径を含むデータセットである。適合度計算手段（12,263,S115）は、パラメータ設定手段が設定した個人パラメータおよびフレームパラメータの各フレーム顔画像に対する適合度を示すスコア値を計算し、全フレーム画像についてそのスコア値を積算する。つまり、適合度計算手段（12,263,S115）は、積算スコア値を適合度として計算する。修正手段（12,264,S117,S121）はその適合度が所定の閾値になるまで個人パラメータおよびフレームパラメータを修正する。つまり、修正手段で個人パラメータおよびフレームパラメータを修正する都度積算スコア値を計算し、そのスコア値が所定の閾値を下回るまで、修正、積算スコア値計算が繰り返される。そして、視線方向計測手段（12,265,S123）は、修正された個人パラメータおよびフレームパラメータに基づいて、たとえば眼球中心と虹彩中心を結ぶ３次元直線として視線方向を計測する。
【０００９】
第１の発明によれば、個人的パラメータおよびフレームパラメータが全フレーム顔画像に対して適合するように修正されるので、視線計測の精度が向上する。
【００１０】
第２の発明は、第１の発明に従属し、適合度計算手段は、標準モデルを使って個人パラメータとフレームパラメータに基づいて生成した虹彩の投影像と、各フレーム顔画像における虹彩との比較の誤差の全フレーム顔画像の総計を適合度として計算する、視線計測システムである。
【００１１】
第２の発明によれば、生成した虹彩の投影像と実際のフレーム顔画像の虹彩との誤差を全フレームについて積算して適合度とするので、推定または計測する視線方向の精度向上が期待できる。
【００１２】
第３の発明は、第１の発明に従属し、適合度計算手段は、標準モデルを使って個人パラメータとフレームパラメータに基づいて生成した虹彩を含む顔の所定の特徴点の投影像と、各フレーム顔画像におけるそれらの特徴点との比較の誤差の全フレーム顔画像の総計を適合度として計算する、視線計測システムである。
【００１３】
第３の発明によれば、虹彩を含む顔の所定の特徴点の投影像と実際のフレーム顔画像におけるそれらの特徴点の誤差（距離）の和を全フレームについて積算して適合度とするので、これらの発明により適合度を正確に計算することができ、結果的に、推定または計測する視線方向の精度向上が期待できる。
【００１４】
第４の発明は、第１ないし第３のいずれか発明に従属し、修正したパラメータに基づいて標準モデルを更新する更新手段をさらに備える、視線計測システムである。
【００１５】
第４の発明によれば、修正した個人パラメータによって標準モデルを更新するので、その標準モデルを利用して特徴点を検出できる被験者の範囲が拡大する。つまり、より多くのタイプの被験者に適用できる標準モデルが得られる。
【００１６】
第５の発明は、フレーム顔画像から取得した人の眼球位置と虹彩位置とに基づいてフレーム顔画像毎の視線方向を計測する視線計測方法であって、標準モデルを利用してフレーム顔画像毎に顔画像の虹彩位置を含む特徴点の位置データを取得する特徴点データ取得ステップ、特徴点の位置データを利用してフレーム顔画像毎に顔の位置および姿勢データを取得する顔データ取得ステップ、特徴点の位置データおよび顔の位置および姿勢データに基づいてフレーム画像毎に個人パラメータおよびフレームパラメータを設定するパラメータ設定ステップ、個人パラメータおよびフレームパラメータの全フレーム顔画像に対する適合度を計算する適合度計算ステップ、適合度が所定の閾値になるまで個人パラメータおよびフレームパラメータを修正する修正ステップ、および修正された個人パラメータおよびフレームパラメータに基づいて視線方向を計測するステップを含む、視線計測方法である。
【００１７】
第５の発明でも第１の発明と同様の効果が期待できる。
【００１８】
第６の発明は、フレーム顔画像から取得した人の眼球位置と虹彩位置とに基づいてフレーム顔画像毎の視線方向を計測する視線計測システムのコンピュータによって実行される視線計測プログラムであって、コンピュータを、標準モデルを利用してフレーム顔画像毎に顔画像の虹彩位置を含む特徴点の位置データを取得する特徴点データ取得手段、特徴点の位置データを利用してフレーム顔画像毎に顔の位置および姿勢データを取得する顔データ取得手段、特徴点の位置データおよび顔の位置および姿勢データに基づいてフレーム画像毎に個人パラメータおよびフレームパラメータを設定するパラメータ設定手段、個人パラメータおよびフレームパラメータの全フレーム顔画像に対する適合度を計算する適合度計算手段、適合度が所定の閾値になるまで個人パラメータおよびフレームパラメータを修正する修正手段、および修正された個人パラメータおよびフレームパラメータに基づいて視線方向を計測する手段として機能させる、視線計測プログラムである。
【００１９】
第６の発明でも第１の発明と同様の効果が期待できる。
【発明の効果】
【００２０】
この発明によれば、全フレームの顔画像と照合して個人的パラメータおよびフレームパラメータを修正するので、視線の推定または計測の精度を向上させることができる。
【００２１】
この発明の上述の目的，その他の目的，特徴，および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２２】
【図１】図１はこの発明の一実施例の視線計測システムを示すブロック図である。
【図２】図２は図１実施例におけるサーバのメモリのメモリマップを示す図解図である。
【図３】図３はサーバが実行する視線計測の処理動作を示すフロー図である。
【図４】図４は図１実施例の視線計測システムにおいて視線計測をするための被験者の顔画像の一例を示す図解図である。
【図５】図５は眉間候補領域を検出するためのフィルタを説明するための概念図である。
【図６】図６は６分割矩形フィルタの他の構成を示す概念図である。
【図７】図７は眉間を中心とした画像領域を利用してＳＶＭによるモデル化を説明する図解図である。
【図８】図８は顔検出結果の例を示す図解図である。
【図９】図９は視線方向を決定するためのモデルを説明する概念図である。
【図１０】図１０は被験者の虹彩中心、眼球中心および投影点の関係を示す概念図である。
【発明を実施するための最良の形態】
【００２３】
この発明の一実施例の視線計測システム１０は、サーバ１２を含み、このサーバ１２はネットワーク１６を介してクライアント１４からアクセスされる。クライアント１４にたとえばＣＣＤまたはＣＭＯＳセンサのような固体撮像素子を含むカメラ１８が設けられ、このカメラ１８は被験者２０の顔を撮影して、被験者の顔画像（動画像）信号をクライアント１４に送る。クライアント１４は、カメラ１８で取得した被験者２０の一連の顔画像信号を、一連のフレーム顔画像データとして、被験者２０の視線方向をフレーム顔画像から推定して計測してもらうために、ネットワーク１６を通してサーバ１２に送る。ただし、クライアント１４からサーバ１２へのフレーム顔画像データの送信は、ネットワーク１６を介して行う他、たとえばフレーム顔画像データを記録した記録媒体（図示せず）からサーバ１２に取り込むなどの方法が考えられる。
【００２４】
サーバ１２は、そのようにして入力された入力画像データを、たとえばハードディスクや半導体メモリのような記憶装置である入力画像保存装置２２に保存する。
【００２５】
なお、サーバ１２が計測した視線方向のデータ（視線データ）は、必要に応じて、ネットワーク１６を介してクライアント１４に送られる。
【００２６】
サーバ１２における視線計測は、背景技術として挙げた特許文献１（特開２００８‐１０２９０２号）において本件発明者等が既に提案した視線推定方法を利用する。簡単にいうと、この背景となる視線計測技術は、被験者の顔の特徴点と虹彩中心の関係から顔特徴点と眼球中心の相対関係を求め、ついで、その相対関係を元にそのときの顔画像で得られている特徴点群から眼球中心位置を推定し、その位置と虹彩中心位置から視線方向を推定するのである。
【００２７】
図２は図１実施例におけるサーバ１２のメモリ２４のメモリマップを示し、このメモリ２４にはプログラム記憶領域２６およびデータ記憶領域２８が形成される。プログラム記憶領域２８には、それぞれ後に詳しく説明する、入力顔画像から被験者の顔を検出し、その顔の特徴点を抽出するための顔検出・特徴点抽出プログラム２６１、顔画像からカメラ１６に対する被験者の顔の位置および姿勢を検出するための顔位置・姿勢検出プログラム２６２を含む。顔の特徴点としては、実施例では、被験者の左右の目の目頭および目尻、口の両端（口角）の計６点を用いる。これらの特徴点は２次元座標として表現される。
【００２８】
プログラム記憶領域２６はさらに、個人パラメータおよびフレームパラメータ（後述）の入力顔画像に対する適合度を判定するために、後述のスコア積算のためのスコア積算プログラム２６３、およびそのスコア積算処理の結果に基づいて個人パラメータおよびフレームパラメータを修正するためのパラメータ修正プログラム２６４を含む。
【００２９】
プログラム記憶領域２６はさらに、修正した個人パラメータに含まれる眼球中心とフレームパラメータに含まれる虹彩中心とに基づいて視線方向を推定する視線推定プログラム２６５、およびパラメータ修正の結果に基づいて標準モデルを更新する標準モデル更新プログラム２６６を含む。
【００３０】
データ記憶領域２８には、一連のフレーム顔画像を分解した各フレーム顔画像のデータを記憶しておくための、フレーム顔画像データ記憶領域２８１を含み、この領域２８１に、入力画像保存装置２２（図１）から読み出して各フレームに分解した顔画像データを記憶しておく。
【００３１】
データ記憶領域２８はまた、上の顔検出・特徴点抽出プログラム２６１や顔位置・姿勢推定プログラム２６２で利用される標準モデルのデータを記憶した標準モデル記憶領域２８２が含まれる。ここで、標準モデルとは、解剖学の知見に従って構築した人の顔の上述の６つの特徴点の３次元座標の位置を示す座標データと、それらの特徴点に対して解剖学的に推定できる眼球の位置および眼球の半径（ｒ）のデータとを含むデータベースである。
【００３２】
顔検出・特徴点抽出プログラム２６１や顔位置・姿勢推定プログラム２６２で検出した特徴点のデータや顔の位置および姿勢のデータは、入力画像から抽出した図７のような目領域の画像とともに、特徴点、顔位置、姿勢データ記憶領域２８３に記憶される。
【００３３】
データ記憶領域２８はさらに、個人パラメータ記憶領域２８４およびフレームパラメータ記憶領域２８５を含む。個人パラメータとは、各被験者に独特の上述の標準モデルに相当しかつ全てのフレームに共通する、６つの特徴点の３次元座標、眼球の位置および眼球の半径（ｒ）の１組のデータセットのことである。これに対して、フレームパラメータは、各フレームに特有のパラメータであって、顔の位置および姿勢、虹彩（瞳孔）の位置および虹彩（瞳孔）の半径を含むデータセットである。したがって、フレームパラメータ記憶領域２８５は、一連の顔画像のフレーム数（Ｋ）に相当する記憶場所を有する。
【００３４】
そして、データ記憶領域２８に形成される視線データ記憶領域２８６は、上述の視線推定プログラムで推定または計測した視線方向を示すデータを、たとえばたとえば旋回方向の角度（水平面内の角度）および俯仰方向の角度（垂直面内の角度）のデータとして、フレーム毎に記憶するための領域である。この視線データ記憶領域も、一連の顔画像のフレーム数（Ｋ）に相当する記憶場所を含む。
【００３５】
図３はサーバ１２が実行する図１実施例の動作を示すフロー図であり、最初のステップＳ１０１では、サーバ１２は、たとえばクライアントコンピュータ１４から入力され、入力画像保存装置２２（図１）に保存されている一連のフレーム顔画像データを、フレーム毎の顔画像データに分解して、メモリ２４（図２）のフレーム顔画像データ記憶領域２８１に記憶する。
【００３６】
そして、メモリ２６の適宜の領域に形成されて、フレーム数をカウントするためのカウンタ（図示せず）をインクリメントする（ステップＳ１０３）。最初のフレームを処理するためにはこのカウンタに「１」がセットされ、順次フレーム毎にインクリメントされる。以下、ステップＳ１１３で最後のフレーム（Ｋ）までの処理が終了したと判断するまで、ステップＳ１０５‐Ｓ１１１を繰り返し実行する。
【００３７】
ステップＳ１０５では、図２に示す顔検出・特徴点抽出プログラム２６１に従って、そのときのフレーム顔画像から、被験者の顔を検出し、ついで特徴点を抽出する。
（顔検出）
視線方向の推定処理の動作の前提として、まず、たとえば６分割矩形フィルタを利用して、顔検出処理が実行される。
【００３８】
サーバ１２は、顔画像を処理するにあたり、横が顔幅、縦がその半分程度の大きさの矩形フィルタで画面を走査する。矩形は、たとえば、３×２に６分割されていて、各分割領域の平均明るさが計算され、それらの相対的な明暗関係がある条件を満たすとき、その矩形の中心を眉間候補とする。
【００３９】
連続した画素が眉間候補となるときは、それを取囲む枠の中心候補のみを眉間候補として残す。残った眉間候補を標準モデルと比較してテンプレートマッチング等を行うことで、上述した手続きで得られた眉間候補のうちから、偽の眉間候補を捨て、真の眉間を抽出する。以下、さらに詳しく説明する。
【００４０】
図５は、眉間候補領域を検出するためのフィルタを説明するための概念図であり、図５（ａ）は、上述した３×２に６分割された矩形フィルタ（以下、「６分割矩形フィルタ」と呼ぶ。）を示す。
【００４１】
６分割矩形フィルタは、(1) 鼻筋は両目領域よりも明るい、(2) 目領域は頬部よりも暗い、という顔の特徴を抽出し、顔の眉間位置を求めるフィルタである。たとえば、１点（ｘ、ｙ）を中心として、横ｉ画素、縦ｊ画素（ｉ，ｊ：自然数）の矩形の枠を設ける。そして、図５（ａ）のように、この矩形の枠を、横に３等分、縦に２等分して、６個のブロックＳ１‐Ｓ６に分割する。
【００４２】
このような６分割矩形フィルタを顔画像の両目領域および頬部に当てはめてみると、図５（ｂ）のようになる。
【００４３】
ただし、図４の６分割フィルタは各矩形領域が等分されたものであったが、このフィルタは図６に示すように変形されてもよい。
【００４４】
鼻筋の部分が目の領域よりも通常は狭いことを考慮すると、ブロックＳ２およびＳ５の横幅ｗ２は、ブロックＳ１，Ｓ３，Ｓ４およびＳ６の横幅ｗ１よりも狭い方がより望ましい。好ましくは、幅ｗ２は幅ｗ１の半分とすることができる。図６は、このような場合の６分割矩形フィルタの構成を示す。また、ブロックＳ１、Ｓ２およびＳ３の縦幅ｈ１と、ブロックＳ４、Ｓ５およびＳ６の縦幅ｈ２とは、必ずしも同一である必要もない。
【００４５】
図５に示す６分割矩形フィルタにおいて、それぞれのブロックＳｉ（１≦ｉ≦６）について、画素の輝度の平均値「バーＳｉ」（Ｓｉに上に“−”（バー）をつける。）を求める。
【００４６】
ブロックＳ１に１つの目と眉が存在し、ブロックＳ３に他の目と眉が存在するものとすると、以下の関係式（１）および（２）が成り立つ。
【００４７】
【数１】
0005688514.tif 000002
【００４８】
【数２】
0005688514.tif 000003
【００４９】
そこで、これらの関係を満たす点を眉間候補（顔候補）として抽出する。
【００５０】
矩形枠内の画素の総和を求める処理には、公知の文献（P. Viola and M. Jones, “Rapid Object Detection using a Boosted Cascade of Simple Features,”Proc. Of IEEEConf. CVPR, 1, pp.511-518, 2001）において開示されている、インテグラルイメージ（Integral Image）を利用した計算の高速化手法を取り入れることができる。インテグラルイメージを利用することでフィルタの大きさに依らず高速に実行することができる。多重解像度画像に本手法を適用することにより、画像上の顔の大きさが変化した場合にも顔候補の抽出が可能となる。
【００５１】
このようにして得られた眉間候補（顔候補）に対しては、上で説明した標準モデルとのテンプレートマッチングにより、真の眉間位置（真の顔領域）を特定することができる。
【００５２】
なお、得られた顔候補に対して、サポートベクタマシン（ＳＶＭ）による顔モデルによる検証処理を適用し顔領域を決定することもできる。髪型の違いや髭の有無、表情変化による認識率の低下を避けるため、たとえば、図７に示すように、眉間を中心とした画像領域を利用してＳＶＭによるモデル化を行うことができる。なお、このようなＳＶＭによる真の顔領域の決定については、文献：S. Kawato, N. Tetsutani and K. Hosaka: “Scale-adaptive face detection and tracking in real time with ssr fi1ters and support vector machine”, IEICE Trans．on Info. and Sys., E88−D, 12, pp．2857−2863（2005）に開示されている。６分割矩形フィルタによる高速候補抽出とＳＶＭによる処理とを組み合わせることで実時間の顔検出が可能である。
（特徴点検出）
続いて、目、口や虹彩（瞳孔）の位置を、たとえば、眼の両端、口の両端の特徴点抽出は、予め用意した各特徴点周辺のテンプレート画像を利用した類似点の探索処理によって実現できる。テンプレート画像をGaborフィルタ等の空間フィルタを利用して低次元のベクトルに変換することで、照明変化に対して頑健で効率的な照合処理とすることもできる。
【００５３】
両目の位置については、先に説明した顔領域検出で眉間のパターンを探索しているため、眉間の両側の暗い領域を再探索することにより、大まかな両目の位置を推定することができる。しかし、視線方向の推定のためには、虹彩中心をより正確に抽出する必要がある。ここでは、上で求まった目の周辺領域に対して、ラプラシアンにより虹彩のエッジ候補を抽出し、円のハフ変換を適用することにより、虹彩および虹彩の中心の投影位置を検出する。
【００５４】
図８は顔検出結果の例を示す図である。検出された顔において、虹彩中心や鼻先や口なども検出されている。たとえば、特徴点としては、左右の目の目尻や目頭、口の両端などを用いることができる。
【００５５】
このようにして検出された特徴点の位置データは、メモリ２４（図２）の特徴点、顔位置、姿勢記憶領域２８３に、フレーム毎に、記憶される。
（視線推定の原理）
視線の推定においては、視線方向は眼球中心と虹彩中心を結ぶ３次元直線として与えられるものとする。
【００５６】
図９は視線方向を決定するためのモデルを説明する概念図である。画像上での眼球半径をｒ、画像上での眼球中心と虹彩中心との距離をｄとすると、視線方向とカメラ光軸とのなす角θは次式(３)で表される。
【００５７】
【数３】
0005688514.tif 000004
【００５８】
後により詳しく説明するように、この実施例の視線方向の推定では、眼球中心と顔特徴点間の相対関係の推定処理と眼球中心の投影位置推定とを行なう。そのために、ステップＳ１０７で、顔の位置および姿勢を推定する。
（顔位置・姿勢推定）
顔特徴点ｐｊの２次元観測位置ｘｊ（ｋ）（太字）＝［ｘｊ（ｋ），ｙｊ（ｋ）］ｔとｖ）標準モデルより求まった３次元位置ｓｊ（太字）＝［Ｘｊ，Ｙｊ，Ｚｊ］ｔ（ｊ＝１，…，Ｍ）の間には、Ｍ個の特徴点のうち観測されたｍ個の特徴点について注目すると、次式の関係が得られる。
【００５９】
【数４】
0005688514.tif 000005
【００６０】
ただし、行列Ｐ（ｋ）は２×３の行列である。右辺の第２項の行列Ｓ（ｋ）は行列Ｓのうち、観測された特徴点に対応する要素のみからなる部分行列である。上述の通り、カメラと顔は十分に離れているとし正射影を仮定している。ここで、４点以上の特徴点が観測されれば、行列Ｐ（ｋ）は以下のように計算できる。
【００６１】
【数５】
0005688514.tif 000006
【００６２】
画像フレームＩｋにおける眼球中心の投影位置ｘｒ（ｉ）（太字），ｘｌ（ｉ）（太字）は、行列Ｐ（ｋ）を用いて以下のように計算できる（ステップＳ２１０）。
【００６３】
【数６】
0005688514.tif 000007
【００６４】
【数７】
0005688514.tif 000008
【００６５】
したがって、画像フレームＩｋにおいて特徴点として抽出した虹彩中心の投影位置とこの眼球中心の投影位置を用いると、視線の推定を行なうことができる。
【００６６】
なお、行列ＰをＱＲ分解により分解することで、顔の姿勢Ｒがまた、顔の位置が以下のように計算できる。
【００６７】
【数８】
0005688514.tif 000009
【００６８】
【数９】
0005688514.tif 000010
【００６９】
ただし、ｒ１、ｒ２はそれぞれ１×３のベクトルである。このような顔の姿勢Ｒの検出については、文献：L．Quan: “Self-calibration of an affine camera from multiple views”，Int’l Journal of Computer Vision, 19, pp. 93−105（1996）に開示がある。
【００７０】
得られたｒを真値とみなして、式（１０）、（１１）、（１２）に従って、最小二乗法により、投影誤差を最小とするスケールｓおよび並進ベクトルｖｘ，ｖｙを求める。式（１２）のスケールｓが顔の大きさを示し、並進ベクトルｖｘ，ｖｙが顔の位置を示す。
【００７１】
【数１０】
0005688514.tif 000011
【００７２】
【数１１】
0005688514.tif 000012
【００７３】
【数１２】
0005688514.tif 000013
【００７４】
このようにして、ステップＳ１０７で、各フレーム画像における被験者の顔の位置および姿勢を推定する。
【００７５】
このようにして検出された顔の位置および姿勢データは、メモリ２４（図２）の特徴点、顔位置、姿勢記憶領域２８３に、フレーム毎に記憶される。
【００７６】
続くステップＳ１０９で、サーバ１２はそのとき処理している入力画像から、先の図７に示すような目領域の画像データを抽出し、メモリ２４の特徴点、顔位置、姿勢記憶領域２８３に、特徴点、顔位置および姿勢データと一緒に、フレーム毎に、記憶する。
【００７７】
次のステップＳ１１１で、サーバ１２は、上で求めた特徴点、顔位置および姿勢データに従って、当該フレームの初期パラメータを設定する。個人パラメータは上述のように、特徴点との相対的位置関係から求めた眼球位置と、その眼球位置を中心とした解剖学的に得られる眼球半径である。ただし、個人パラメータはフレーム毎に変化するというものではなく、すべてのフレームに対して共通のものである。ステップＳ１１１で設定された個人パラメータの初期値が個人パラメータ記憶領域２８４（図２）に記憶される。また、フレームパラメータはフレーム毎に変化するもので、各フレームにおける顔の位置、姿勢、虹彩（瞳孔）位置および虹彩（瞳孔）半径の初期値をフレームパラメータ記憶領域２８５（図２）の該当フレームの記憶場所に記憶する。
【００７８】
このようにして初期パラメータを設定した後、サーバ１２は、ステップＳ１１５において、全フレームについて、スコアを積算する。「スコア」とは、たとえば標準モデルのデータを使って個人パラメータ（眼球半径、眼球位置）とフレームパラメータ（虹彩半径および虹彩位置）に基づいて生成した虹彩の投影像（コンピュータグラフィックス画像）と、実際の各フレーム顔画像における虹彩との比較の誤差である。実際の顔画像としては、実施例では、ステップＳ１０９で特徴点、顔位置、姿勢記憶領域２８３に特徴点、顔位置、姿勢のデータとともにフレーム毎に記憶した図７で示すような目領域の画像を利用する。この誤差は、虹彩の投影像とフレーム顔画像における虹彩とのずれ（距離）、および大きさ（面積）の差をそれぞれ画像上のピクセル数として計算する。あるいは、虹彩を含む顔の所定の特徴点の投影像と実際のフレーム顔画像におけるそれらの特徴点の観測位置のずれ（距離）の和を誤差として計算してもよい。そのフレーム毎の誤差（スコア）を全Ｋフレームで合計する。つまり、全フレームについてスコアを積算する。スコアは、パラメータ設定手段として機能するステップＳ１１１で設定した個人パラメータおよびフレームパラメータが各フレーム顔画像に適合している程度（適合度）を示すものであり、したがって、このステップＳ１１５で得られる積算スコア値は、つまり、初期パラメータ設定手段が設定した個人パラメータおよびフレームパラメータの全フレーム顔画像に対する適合度である。
【００７９】
次に、ステップＳ１１７において、ステップＳ１１５で積算したスコア値を所定の閾値と比較し、スコア値が閾値より小さいかどうか、つまり、ステップＳ１１１で設定した、全フレームに共通する個人パラメータおよび各フレーム毎のフレームパラメータが実際の全部のフレーム画像に対して十分適合しているかどうかを判断する。ステップＳ１１７では、すなわち、そのようなパラメータを使って視線方向を推定したとき誤差が許容できる範囲に収まるパラメータであるかどうかを判断する。
【００８０】
ステップＳ１１７で“ＮＯ”が判断されると、つまり、積算したスコア値が閾値以上であると判断したとき、次のステップＳ１１９で、サーバ１２は、ステップＳ１１５で求めたスコア値に基づいてステップＳ１２１で個人パラメータやフレームパラメータを修正した回数（繰り返し回数）が所定の規定値を超えたかどうか判断する。
【００８１】
ステップＳ１１９で“ＮＯ”なら、次のステップＳ１２１で、サーバ１２は個人パラメータおフレームパラメータを、スコア値が最も小さくなるように最適化手法を用いて修正する。修正方法としては種々考えられるが、実施例では、一例として最急降下法を用いる。最急降下法とは、誤差曲面の傾斜が最も急に降下する方向に
パラメータを修正することで誤差が最小となるパラメータの数値を求める方法である。ただし、誤差修正の最適化のためには別の方法が採用されてもよい。
【００８２】
このようにして、ステップＳ１１５‐Ｓ１２１を繰り返し実行して、理想的にはスコア値がゼロ（０）になるように、実際的には、閾値を下回るように個人パラメータおよびフレームパラメータを修正する。なお、ステップＳ１１１で設定した個人パラメータおよび各フレームパラメータ（初期パラメータ）はステップＳ１２１でその後全フレームの顔画像との対比に基づいて、修正される。しかしながら、ステップＳ１２１で修正したパラメータもその後ステップＳ１２１でさらに修正されるのであり、その意味でステップＳ１２１は、先のステップＳ１１１と同じく、パラメータ設定手段としても機能するのである。
【００８３】
このステップＳ１２１で修正された個人パラメータおよびフレーム顔画像毎のフレームパラメータは、図２に示す個人パラメータ記憶領域２８４およびフレームパラメータ記憶領域２８５にそれぞれ記憶される。
【００８４】
そして、ステップＳ１１７で“ＹＥＳ”が判断されるか、もしくはステップＳ１１９で“ＹＥＳ”が判断されると、サーバ１２は続いて、ステップＳ１２１で修正して記憶した個人パラメータおよび各フレームパラメータに基づいて、ステップＳ１２３において、眼球位置と虹彩位置とを結ぶ３次元直線（図１０）としてフレーム顔画像毎に視線方向を推定し、視線方向データを視線データ記憶領域２８５（図２）に記憶する。この視線方向データが、先に入力された一連の顔画像信号の各フレーム毎の被験者の視線方向を示すデータとして、必要に応じてクライアント１４に返される。
【００８５】
そして、最後に、サーバ１２はステップＳ１２５において、ステップＳ１２１で修正した個人パラメータを用いて、標準モデルを更新する。標準モデルの該当するパラメータが平均値であるときは、ステップＳ１２１で修正した個人パラメータの該当するパラメータを加えて平均値を計算し直す。たとえば、標準モデルの１つのパラメータがＮ人の被験者の該当パラメータの平均値であれば、このステップＳ１２５では、Ｎ＋１人の平均値を計算して、その結果で当該パラメータを更新する。標準モデルのパラメータの分散値を更新するときは、ステップＳ１２１で修正した当該パラメータ値に基づいて、たとえば重み付けを考慮して分散値を変更する。
【００８６】
標準モデルを修正した個人パラメータで更新することによって、その標準モデルを利用して特徴点を検出できる被験者の範囲が拡大する。つまり、より多くのタイプの被験者に適用できる標準モデルが得られる。
【００８７】
このように、この実施例によれば、ステップＳ１２１において、全フレームで積算したスコア値（設定パラメータと実際の顔画像との誤差の総和）を最小にするようにパラメータを修正するので、ステップＳ１２３で推定または計測する視線方向の精度が向上する。
【符号の説明】
【００８８】
１０  …視線計測システム
１２  …サーバ
１４  …クライアント
１６  …ネットワーク
１８  …カメラ
２０  …被験者
２２  …入力画像保存装置
２４  …メモリ
【図１】
0005688514.tif 000014
【図２】
0005688514.tif 000015
【図３】
0005688514.tif 000016
【図６】
0005688514.tif 000017
【図９】
0005688514.tif 000018
【図１０】
0005688514.tif 000019
【図４】
0005688514.tif 000020
【図５】
0005688514.tif 000021
【図７】
0005688514.tif 000022
【図８】
0005688514.tif 000023