"観測領域内において、人間の頭部領域を含む動画像を獲得するための複数の撮影手段を備え、各前記頭部領域には、予め複数の特徴点が規定されており、視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化されているときに、前記複数の撮影手段により同時刻に撮影された前記動画像中の複数の画像フレームのうちから、前記視線方向の推定処理の対象となる現時刻の画像フレームを選択し、前記選択された画像フレームに基づいて、当該モデルを用いて、前記眼球中心位置を推定するとともに、前記現時刻の画像フレームから抽出された虹彩の位置に基づいて、前記推定対象となる人間の視線の方向を推定する視線方向推定手段をさらに備える、視線方向の推定装置。前記視線方向推定手段は、前記複数の撮影手段において少なくとも2台により撮影された前記動画像の複数の画像フレームにより、前記視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各前記複数の特徴点と前記撮影手段とを結ぶ3次元直線の交わる点として取得することで、前記特定の人物の頭部の前記観測領域内での位置を追跡する頭部追跡手段と、前記特定の人物について前記複数の撮影手段により撮影された前記複数の画像フレームにおいて、それぞれ特定される前記複数の特徴点により前記特定の人物の頭部の姿勢を推定する姿勢推定手段と、前記推定された顔姿勢に基づいて、前記特定の人物が撮影された前記複数の画像フレームのうちから、前記視線方向の推定処理に使用するための画像フレームを選択する選択手段と、前記選択された画像フレームにおいて、前記特定の人物の虹彩中心を抽出するための虹彩中心位置推定手段と、前記選択された画像フレームに基づいて、前記特定の人物の眼球中心位置を推定するための眼球中心位置推定手段と、前記抽出された前記虹彩中心および前記推定された眼球中心位置により、前記特定の人物の視線の方向を算出する視線方向算出手段とを含む、請求項1に記載の視線方向の推定装置。前記選択手段は、前記複数の撮影手段で撮影された画像フレームのうちから撮影された画像が最も顔正面に近い画像フレームを選択する、請求項2に記載の視線方向の推定装置。前記選択手段は、右眼と左眼について、それぞれ、撮影された画像における対応する顔半面の顔正面への近さが異なる場合は、右眼と左眼に対して、異なる前記撮影手段で撮影された画像フレームを選択する、請求項3に記載の視線方向の推定装置。前記姿勢推定手段は、前記頭部追跡手段における投影変換から弱透視変換に投影変換を変更して、前記頭部の姿勢の推定を実行する、請求項2に記載の視線方向の推定装置。前記視線方向推定手段は、前記複数の撮影手段により撮影された画像において、前記視線方向の推定処理を実行する時点における特定の人物の顔の領域を検出し、前記複数の特徴点を特定するための顔特徴点特定手段と、前記複数の撮影手段により撮影された前記動画像の複数の画像フレームにより、前記特定の人物の頭部の位置および姿勢を、前記複数の特徴点の再投影誤差が最小となるように特定する頭部方向の推定手段と、前記特定された頭部方向に基づいて、前記特定の人物が撮影された前記複数の画像フレームのうちから、前記視線方向の推定処理に使用するための画像フレームを選択する選択手段と、前記選択された画像フレームにおいて、各画素ごとに前記特定の人物の目領域内の虹彩領域をラベルづけするための虹彩抽出手段と、仮定された視線方向ベクトルと前記頭部の位置および姿勢に基づいて、各選択された画像フレームの画像中のモデル虹彩領域を推定し、前記ラベルづけされた虹彩領域と前記モデル虹彩領域とが最もフィットするように視線方向ベクトルを決定することにより、前記特定の人物の視線の方向を算出する視線方向算出手段とを含む、請求項1に記載の視線方向の推定装置。観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各前記頭部領域には、予め複数の特徴点が規定されており、視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化するステップと、前記複数の撮影手段により同時刻に撮影された前記動画像中の複数の画像フレームのうちから、前記視線方向の推定処理の対象となる現時刻の画像フレームを選択し、前記選択された画像フレームに基づいて、当該モデルを用いて、前記眼球中心位置を推定するとともに、前記現時刻の画像フレームから抽出された虹彩の位置に基づいて、前記推定対象となる人間の視線の方向を推定するステップとをさらに備える、視線方向の推定方法。観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各前記頭部領域には、予め複数の特徴点が規定されており、前記複数の撮影手段において少なくとも2台により撮影された前記動画像の複数の画像フレームにより、視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各前記複数の特徴点と前記撮影手段とを結ぶ3次元直線の交わる点として取得することで、前記特定の人物の頭部の前記観測領域内での位置を追跡するステップと、前記特定の人物について前記複数の撮影手段により撮影された前記複数の画像フレームにおいて、それぞれ特定される前記複数の特徴点により前記特定の人物の頭部の姿勢を推定するステップと、前記推定された顔姿勢に基づいて、前記特定の人物が撮影された前記複数の画像フレームのうちから、視線方向の推定に使用するための画像フレームを選択するステップと、前記選択された画像フレームにおいて、前記特定の人物の虹彩中心を抽出するステップと、前記選択された画像フレームに基づいて、前記特定の人物の眼球中心位置を推定するステップと、前記抽出された前記虹彩中心および前記推定された眼球中心位置により、前記特定の人物の視線の方向を算出するステップとをさらに備える、視線方向の推定方法。演算処理手段を有するコンピュータに、視線方向の推定処理を実行させるためのプログラムであって、前記プログラムは、観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各前記頭部領域には、予め複数の特徴点が規定されており、視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化するステップと、前記複数の撮影手段により同時刻に撮影された前記動画像中の画像フレームのうちから、前記視線方向の推定処理の対象となる現時刻の画像フレームを選択し、前記選択された画像フレームに基づいて、当該モデルを用いて、前記眼球中心位置を推定するとともに、前記現時刻の画像フレームから抽出された虹彩の位置に基づいて、前記推定対象となる人間の視線の方向を推定するステップとをコンピュータに実行させる、プログラム。演算処理手段を有するコンピュータに、視線方向の推定処理を実行させるためのプログラムであって、前記プログラムは、観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各前記頭部領域には、予め複数の特徴点が規定されており、前記複数の撮影手段において少なくとも2台により撮影された前記動画像の複数の画像フレームにより、前記視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各前記複数の特徴点と前記撮影手段とを結ぶ3次元直線の交わる点として取得することで、前記特定の人物の頭部の前記観測領域内での位置を追跡するステップと、前記特定の人物について前記複数の撮影手段により撮影された前記複数の画像フレームにおいて、それぞれ特定される前記複数の特徴点により前記特定の人物の頭部の姿勢を推定するステップと、前記推定された顔姿勢に基づいて、前記特定の人物が撮影された前記複数の画像フレームのうちから、視線方向の推定に使用するための画像フレームを選択するステップと、前記選択された画像フレームにおいて、前記特定の人物の虹彩中心を抽出するステップと、前記選択された画像フレームに基づいて、前記特定の人物の眼球中心位置を推定するステップと、前記抽出された前記虹彩中心および前記推定された眼球中心位置により、前記特定の人物の視線の方向を算出するステップとをコンピュータに実行させる、プログラム。それゆえに本発明の目的は、顔の向きの制限を緩和して、比較的少数のカメラにより、観測範囲内の任意の位置における被測定対象者の視線方向のリアルタイムに推定し追跡する視線方向の推定装置、視線方向の推定方法およびコンピュータに当該視線方向の推定方法を実行させるためのプログラムを提供することである。この発明のある局面に従うと、視線方向の推定装置であって、観測領域内において、人間の頭部領域を含む動画像を獲得するための複数の撮影手段を備え、各頭部領域には、予め複数の特徴点が規定されており、視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化されているときに、複数の撮影手段により同時刻に撮影された動画像中の複数の画像フレームのうちから、視線方向の推定処理の対象となる現時刻の画像フレームを選択し、選択された画像フレームに基づいて、当該モデルを用いて、眼球中心位置を推定するとともに、現時刻の画像フレームから抽出された虹彩の位置に基づいて、推定対象となる人間の視線の方向を推定する視線方向推定手段をさらに備える。好ましくは、視線方向推定手段は、複数の撮影手段において少なくとも2台により撮影された動画像の複数の画像フレームにより、視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各複数の特徴点と撮影手段とを結ぶ3次元直線の交わる点として取得することで、特定の人物の頭部の観測領域内での位置を追跡する頭部追跡手段と、特定の人物について複数の撮影手段により撮影された複数の画像フレームにおいて、それぞれ特定される複数の特徴点により特定の人物の頭部の姿勢を推定する姿勢推定手段と、推定された顔姿勢に基づいて、特定の人物が撮影された複数の画像フレームのうちから、視線方向の推定処理に使用するための画像フレームを選択する選択手段と、選択された画像フレームにおいて、特定の人物の虹彩中心を抽出するための虹彩中心位置推定手段と、選択された画像フレームに基づいて、特定の人物の眼球中心位置を推定するための眼球中心位置推定手段と、抽出された虹彩中心および推定された眼球中心位置により、特定の人物の視線の方向を算出する視線方向算出手段とを含む。好ましくは、選択手段は、複数の撮影手段で撮影された画像フレームのうちから撮影された画像が最も顔正面に近い画像フレームを選択する。好ましくは、選択手段は、右眼と左眼について、それぞれ、撮影された画像における対応する顔半面の顔正面への近さが異なる場合は、右眼と左眼に対して、異なる撮影手段で撮影された画像フレームを選択する。好ましくは、姿勢推定手段は、頭部追跡手段における投影変換から弱透視変換に投影変換を変更して、頭部の姿勢の推定を実行する。好ましくは、視線方向推定手段は、複数の撮影手段により撮影された画像において、視線方向の推定処理を実行する時点における特定の人物の顔の領域を検出し、複数の特徴点を特定するための顔特徴点特定手段と、複数の撮影手段により撮影された動画像の複数の画像フレームにより、特定の人物の頭部の位置および姿勢を、複数の特徴点の再投影誤差が最小となるように特定する頭部方向の推定手段と、特定された頭部方向に基づいて、特定の人物が撮影された複数の画像フレームのうちから、視線方向の推定処理に使用するための画像フレームを選択する選択手段と、選択された画像フレームにおいて、各画素ごとに特定の人物の目領域内の虹彩領域をラベルづけするための虹彩抽出手段と、仮定された視線方向ベクトルと頭部の位置および姿勢に基づいて、各選択された画像フレームの画像中のモデル虹彩領域を推定し、ラベルづけされた虹彩領域とモデル虹彩領域とが最もフィットするように視線方向ベクトルを決定することにより、特定の人物の視線の方向を算出する視線方向算出手段とを含む。この発明の他の局面に従うと、視線方向の推定方法であって、観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各頭部領域には、予め複数の特徴点が規定されており、視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化するステップと、複数の撮影手段により同時刻に撮影された動画像中の複数の画像フレームのうちから、視線方向の推定処理の対象となる現時刻の画像フレームを選択し、選択された画像フレームに基づいて、当該モデルを用いて、眼球中心位置を推定するとともに、現時刻の画像フレームから抽出された虹彩の位置に基づいて、推定対象となる人間の視線の方向を推定するステップとをさらに備える。この発明のさらに他の局面にしたがうと、視線方向の推定方法であって、観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各頭部領域には、予め複数の特徴点が規定されており、複数の撮影手段において少なくとも2台により撮影された動画像の複数の画像フレームにより、視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各複数の特徴点と撮影手段とを結ぶ3次元直線の交わる点として取得することで、特定の人物の頭部の観測領域内での位置を追跡するステップと、特定の人物について複数の撮影手段により撮影された複数の画像フレームにおいて、それぞれ特定される複数の特徴点により特定の人物の頭部の姿勢を推定するステップと、推定された顔姿勢に基づいて、特定の人物が撮影された複数の画像フレームのうちから、視線方向の推定に使用するための画像フレームを選択するステップと、選択された画像フレームにおいて、特定の人物の虹彩中心を抽出するステップと、選択された画像フレームに基づいて、特定の人物の眼球中心位置を推定するステップと、抽出された虹彩中心および推定された眼球中心位置により、特定の人物の視線の方向を算出するステップとをさらに備える。この発明のさらに他の局面にしたがうと、演算処理手段を有するコンピュータに、視線方向の推定処理を実行させるためのプログラムであって、プログラムは、観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各頭部領域には、予め複数の特徴点が規定されており、視線方向の推定処理の対象となる現時刻以前の時点の画像フレームまでの動画像により、推定対象となる人間の3次元の眼球中心位置と画像フレーム中に投影された特徴点の2次元の位置との関係が予めモデル化するステップと、複数の撮影手段により同時刻に撮影された動画像中の画像フレームのうちから、視線方向の推定処理の対象となる現時刻の画像フレームを選択し、選択された画像フレームに基づいて、当該モデルを用いて、眼球中心位置を推定するとともに、現時刻の画像フレームから抽出された虹彩の位置に基づいて、推定対象となる人間の視線の方向を推定するステップとをコンピュータに実行させる。この発明のさらに他の局面にしたがうと、演算処理手段を有するコンピュータに、視線方向の推定処理を実行させるためのプログラムであって、プログラムは、観測領域内において、人間の頭部領域を含む動画像を複数の撮影手段により撮影するステップを備え、各頭部領域には、予め複数の特徴点が規定されており、複数の撮影手段において少なくとも2台により撮影された動画像の複数の画像フレームにより、視線方向の推定処理を実行する時点における特定の人物の頭部の位置を、各複数の特徴点と撮影手段とを結ぶ3次元直線の交わる点として取得することで、特定の人物の頭部の観測領域内での位置を追跡するステップと、特定の人物について複数の撮影手段により撮影された複数の画像フレームにおいて、それぞれ特定される複数の特徴点により特定の人物の頭部の姿勢を推定するステップと、推定された顔姿勢に基づいて、特定の人物が撮影された複数の画像フレームのうちから、視線方向の推定に使用するための画像フレームを選択するステップと、選択された画像フレームにおいて、特定の人物の虹彩中心を抽出するステップと、選択された画像フレームに基づいて、特定の人物の眼球中心位置を推定するステップと、抽出された虹彩中心および推定された眼球中心位置により、特定の人物の視線の方向を算出するステップとをコンピュータに実行させる。本発明の視線方向の推定装置、視線方向の推定方法およびコンピュータに当該視線方向の推定方法を実行させるためのプログラムによれば、顔の向きの制限を緩和して、比較的少数のカメラにより、観測範囲内の任意の位置における被測定対象者の視線方向のリアルタイムに推定し追跡することが可能である。[実施の形態1][ハードウェア構成]以下、本発明の実施の形態1にかかる視線方向の推定装置について説明する。この視線方向の推定装置は、パーソナルコンピュータまたはワークステーション等、コンピュータ上で実行されるソフトウェアにより実現されるものであって、対象画像から人物の顔を抽出し、さらに人物の顔の映像に基づいて、視線方向を推定検出するためのものである。図1は、この視線方向の推定装置の外観を示す図である。ただし、以下に説明する視線方向の推定装置の各機能の一部または全部は、ハードウェアにより実現されてもよい。図1を参照して、この視線方向の推定装置を構成するシステム20は、CD-ROMCompactDiscReadOnlyMemoryまたはDVD-ROMDigitalVersatileDiscReadOnlyMemoryドライブ以下、光学ディスクドライブと呼ぶ50、メモリカードドライブ52のような記録媒体からデータを読み取るためのドライブ装置を備えたコンピュータ本体40と、コンピュータ本体40に接続された表示装置としてのディスプレイ42と、同じくコンピュータ本体40に接続された入力装置としてのキーボード46およびマウス48と、コンピュータ本体40に接続された、画像を取込むための複数のカメラ30.1~30.nとを含む。この実施の形態の装置では、各カメラ30.i1≦i≦nとしては、CCDChargeCoupledDeviceまたはCMOSComplementaryMetalOxideSemiconductorセンサのような固体撮像素子を含む単眼カメラを用い、後に説明するように、各カメラ30.iの観測範囲から得られる画像データを統合して使用することにより、観測領域内の人物の顔の位置および視線を推定検出する処理を行なうものとする。したがって、観測領域内の人物については、複数のカメラ30.1~30.nのうちの望ましくは、少なくとも2つのカメラにより、当該人物の顔領域を含む画像であって対象となる画像領域内の各画素の値のデジタルデータが準備されるように、カメラ30.1~30.nは、配置されているものとする。なお、後に説明するように、当該人物の顔領域を含む画像を撮影可能なカメラが、複数のカメラ30.1~30.nのうちの2つ以上であることは、必ずしも必須の条件ではなく、観測領域内の一部の領域では、カメラのうちの1つからの画像に基づいて、以下に説明するような視線方向の推定を行なうことも可能である。しかしながら、原則としては、以下の説明でも明らかとなるように、本実施の形態の視線方向の推定装置では、基本的には、複数カメラからの画像情報に基づいて、視線の推定を行なう構成である。図2は、このシステム20のハードウェア構成を示すブロック図である。図2に示されるようにこのシステム20を構成するコンピュータ本体40は、光学ディスクドライブ50およびメモリカードドライブ52に加えて、それぞれバス66に接続された中央演算装置CPU:CentralProcessingUnit56と、ROMReadOnlyMemory58と、RAMRandomAccessMemory60と、ハードディスク54と、カメラ30からの画像を取込むための画像取込装置68とを含んでいる。光学ディスクドライブ50にはCD-ROMまたはDVD-ROM62が装着される。メモリカードドライブ52にはメモリカード64が装着される。メモリカードドライブ52の機能を実現する装置は、フラッシュメモリなどの不揮発性の半導体メモリに記憶されたデータを読み出せる装置であれば、対象となる記憶媒体は、メモリカードに限定されない。また、ハードディスク54の機能を実現する装置も、不揮発的にデータを記憶し、かつ、ランダムアクセスできる装置であれば、ハードディスクのような磁気記憶装置に限られず、フラッシュメモリなどの不揮発性半導体メモリを記憶装置として用いるソリッドステートドライブSSD:SolidStateDriveを用いることができる。既に述べたようにこの視線方向の推定装置の主要部は、コンピュータハードウェアと、CPU56により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアはCD-ROMまたはDVD-ROM62、メモリカード64等の記憶媒体に格納されて流通し、光学ディスクドライブ50またはメモリカードドライブ52等により記憶媒体から読取られてハードディスク54に一旦格納される。または、当該装置がネットワークに接続されている場合には、ネットワーク上のサーバから一旦ハードディスク54にコピーされる。そうしてさらにハードディスク54からRAM60に読出されてCPU56により実行される。なお、ネットワーク接続されている場合には、ハードディスク54に格納することなくRAM60に直接ロードして実行するようにしてもよい。図1および図2に示したコンピュータのハードウェア自体およびその動作原理は一般的なものである。したがって、本発明の最も本質的な部分は、CD-ROMまたはDVD-ROM62、メモリカード64、ハードディスク54等の記憶媒体に記憶されたソフトウェアである。なお、最近の一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要な時に呼び出して処理を進める方式が一般的である。そうした場合、当該視線方向の推定装置を実現するためのソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめて視線方向の推定装置が実現することになる。しかし、一般的なプラットフォームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記録媒体およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号が実施の形態を構成すると考えることができる。[システムの機能ブロック]以下に説明するとおり、本実施の形態の視線方向の推定装置では、顔特徴点を検出追跡することにより、複数のカメラを使用して視線方向を推定する。本実施の形態の視線方向の推定装置では、眼球中心と虹彩中心を結ぶ3次元直線を視線方向として推定する。眼球中心は画像からは直接観測することはできないものの、以下に説明するような3次元モデルにより、眼球中心と顔特徴点との相対関係をモデル化することにより、眼球中心の投影位置を推定する。なお、以下では実施の形態の説明の便宜上、虹彩中心との用語を用いるが、この用語は、虹彩の中心または瞳孔の中心を意味するものとして使用するものとする。つまり、視線の推定処理において、以下の説明のような手続きにより求められるものを虹彩中心と呼ぶか瞳孔中心と呼ぶかは、その手続きが同様である限りにおいて、本実施の形態の態様において、本質的な相違を有するものではない。図3は、本実施の形態の視線方向の推定装置において、上述したCPU56がソフトウェアを実行するにより実現する機能を示す機能ブロック図である。なお、図3に示した機能ブロックのうちのCPU56が実現する機能ブロックとしては、ソフトウェアでの処理に限定されるものではなく、その一部または全部がハードウェアにより実現されてもよい。図3を参照して、複数のカメラ30.1~30.nにより撮像された動画に対応する映像信号は、フレームごとに画像キャプチャ処理部5602により制御されてデジタルデータとしてキャプチャされ、画像データ記録処理部5604により、たとえば、ハードディスク54のような記憶装置に格納される。顔頭部検出部5606は、キャプチャされたフレーム画像列に対して、周知の顔検出アルゴリズムにより、顔頭部候補探索を行う。なお、このような周知な顔頭検出アルゴリズムとしては、特に限定されないが、たとえば、上述した特許文献1特開2008-102902号公報明細書に記載されるようなアルゴリズムや、後に説明するような公知文献に記載されるアルゴリズムを使用することが可能である。続いて、顔頭部対応付け部5608は、処理が画像フレームごとに実施される場合は、前時刻の画像フレームにおいてすでに検出されている顔頭部と、処理対象となっている現時刻における画像フレームにおいて複数のカメラのそれぞれで検出された顔頭部とを対応づけることで、検出された顔頭部を特定人の顔頭部として追跡する。なお、複数のカメラによる撮影は、フレームについて同期して実施される構成とすることが可能である。あるいは、複数のカメラによる撮影がフレームについて同期されていない場合は、時間軸についてのフィルタ処理を行なうなどして、複数のカメラで撮影された画像フレームを同時刻とみなせるように補正処理を行うことも可能である。顔頭部対応付け部5608により特定された特定人物の頭部位置は、当該時刻における頭部位置として、次の処理タイミングで使用するためにハードディスク54に格納される。顔頭部対応付け部5608における対応付けの処理の結果、特定の人物については、その時刻において、複数のカメラのうち、1つのカメラのみで、顔の中の特徴点が撮影されたと判断されるときは、単眼カメラにより視線の検出を行うことと同等となる。したがって、この場合は、当該特定の人物については、第1の頭部位置姿勢推定部5610が、たとえば、特許文献1特開2008-102902号公報明細書に記載されたような単眼カメラによる視線方向の検出処理におけるのと同様の処理により、撮影できているカメラからの画像データにおいて、頭部の位置および頭部の姿勢の推定処理が実行される。一方、顔頭部対応付け部5608における対応付けの処理の結果、特定の人物については、その時刻において、複数のカメラのうち、少なくとも2つ以上のカメラで、顔の中の特徴点が撮影されたと判断されるときは、第2の頭部位置姿勢推定部5612において、たとえば、後に説明するような処理手順により、頭部顔の画像中の所定の特徴点が抽出され、抽出された特徴点に基づいて頭部の位置と頭部の姿勢を3次元的に推定する。つまり、第2の頭部位置姿勢推定部5612は、撮影できている複数のカメラからの画像データを統合して処理することにより、頭部の位置および頭部の姿勢の推定処理を実行する。頭部の位置および頭部の姿勢が推定されると、処理対象となっている画像フレーム以前に獲得されている眼球の3次元モデルに基づいて、眼球中心推定部5614は、処理対象の特定人物の眼球中心の3次元的な位置を推定する。虹彩中心抽出部5616は、後に説明するようなアルゴリズムにより、虹彩の中心の投影位置を検出する。ここで、虹彩位置の推定においては、後に説明する非線形最適化処理により虹彩位置の推定を行ってもよいし、あるいは、これも特許文献1特開2008-102902号公報明細書に記載されたような処理であって、目の周辺領域に対して、ラプラシアンにより虹彩のエッジ候補を抽出し、円のハフ変換を適用することにより、虹彩の中心の投影位置を検出する、というような処理を行ってもよい。視線方向推定部5618は、抽出された虹彩の中心の投影位置である画像フレーム中の2次元的な位置と、推定された眼球の3次元的な中心位置とに基づいて、視線方向を推定する。推定された視線方向は、眼球中心位置等の推定処理に使用したパラメータとともに、ハードディスク54に格納される。また、表示制御部5613は、以上のようにして推定された視線の方向を、取得された画像フレーム上に表示するための処理を行なう。図4は、本実施の形態において、CPU56により視線推定のソフトウェアを実行する処理フローを示すフローチャートである。図4を参照して、処理が開始されると、まず、CPU56は、処理する画像フレームを時間軸上で特定するためのフレーム数Nfを1に設定するS102。続いて、CPU56は、画像キャプチャ処理部5602により、カメラ30.1~30.nで観測される画像を、画像データとしてキャプチャするS104.1~S104.n。そして、CPU56は、顔頭部検出部5606により、キャプチャされた各カメラ30.1~30.nからの画像フレームのデータにおいて、顔頭部の検出を実施するS106.1~S106.n。ここで、図5は、このような顔頭部の検出が実施された結果を示す図である。このような顔頭部の検出処理としては、特に限定されないが、たとえば、以下の公知文献1に開示されたアルゴリズムAdaBoostと呼ぶを使用することができる。公知文献1:CVIM研究会チュートリアルシリーズ情報処理学会研究報告2007CVIM159コンピュータビジョンとイメージメディアP26527220070515顔頭部の画像フレームからの検出については、周知の他のアルゴリズムを利用することも可能である。再び図4を参照して、顔頭部の検出が、それぞれのカメラ30.1~30.nで終了すると、CPU56は、顔頭部対応付け部5608により、前の処理ステップのタイミングの前時刻の画像フレームにおいてすでに検出されている顔頭部と、現時刻における画像フレームにおいて複数のカメラのそれぞれで検出された顔頭部とを対応づけるS108。ここで、図6は、このような顔頭部の対応付け処理の概念を説明するための概念図である。図6を参照して、1つ前の処理ステップでは、画像中で、人物P1と人物P2とが事前に検出されているものとする。顔頭部対応付け部5608は、現時刻の画像フレームにおいて、カメラ30.1で撮像された画像フレーム中では、2人の顔頭部の検出されたものとするとき、各顔頭部の画像フレーム中の位置と大きさから、図6に示されるような部屋以下、その領域に存在する人物の視線推定を行う領域という意味で観測領域と呼ぶの2次元内での位置を推定する。一方、カメラ30.2でも、撮像された画像フレーム中では、2人の顔頭部が検出され、この2人の顔頭部の画像フレーム中の位置と大きさから、観測領域の2次元内での位置が推定される。たとえば、人物P1については、現時刻でカメラ30.1およびカメラ30.2で撮影された画像フレームから推定された顔頭部の2次元内での位置と、前時刻で推定された顔頭部の2次元内での位置とが、重なっていることから、現時刻における人物P1の2次元内での位置が、たとえば、現時刻において推定された顔頭部の2次元内での位置複数の平均として特定される。同様に、人物P2については、現時刻でカメラ30.1で撮影された画像フレームから推定された顔頭部の2次元内での位置と、前時刻で推定された顔頭部の2次元内での位置とが、重なっていることから、現時刻における人物P1の2次元内での位置が、現時刻において推定された顔頭部の2次元内での位置として特定される。なお、人物P1とP2については、前時刻の顔頭部の2次元内での位置と現時刻の顔頭部の2次元内での位置とが重なっているものとして描かれているが、たとえば、現時刻と前時刻の位置が所定の距離範囲内であれば、同一人物であると特定することとしてもよい。また、人物P3については、現時刻において、初めて顔頭部が検出されたものとする。このとき、顔頭部対応付け部5608は、カメラ30.2とカメラ30.3からの画像フレームから推定される顔頭部の2次元内での位置の位置が重なっていることにより、新たな人物P3が検出されたものとして、この人物をハードディスク54に登録する。特に限定されないが、このようにして、複数のカメラから撮影された画像フレームにより、同一の2次元内での位置に顔頭部が初めて検出されたときに、新たな人物が特定されたものとして、登録する構成とすることができる。以後は、人物P3についても、上述した人物P1や人物P2と同様にして、その顔頭部の2次元内での位置を追跡する。再び、図4にもどって、CPU56は、顔頭部対応付け部5608により、p人の顔頭部が検出され対応付けが完了するとS108、1人目~p人目について、順次、以下の処理を実行するS110。すなわち、CPU56は、1人目~p人目のうち、現在の処理対象であるj人目の人物について、まず、このj人目の人物を観測したカメラが2台以上であるかを判断するS112。観測したカメラが1台である場合は、たとえば、当該特定の人物については、第1の頭部位置姿勢推定部5610が、たとえば、特許文献1特開2008-102902号公報明細書に記載されたような単眼カメラによる視線方向の検出処理におけるのと同様の処理により、撮影できているカメラからの画像データにおいて、頭部の位置および頭部の姿勢の推定処理が実行されるS140。一方、観測したカメラが2台以上である場合は、第2の頭部位置姿勢推定部5612において、以下に説明するような処理手順により、頭部顔の画像中の所定の特徴点が抽出され、抽出された特徴点に基づいて頭部の位置と頭部の姿勢を3次元的に推定する。頭部の位置および頭部の姿勢の推定処理以下では、ステップS114において実行される頭部の位置および頭部の姿勢の推定処理について、さらに、詳しく説明する。まず、このような頭部の位置および頭部の姿勢の推定処理を説明する前提を説明する。N台のカメラで観測された顔特徴点群の2次元座標と、頭部モデルのモデル3次元座標とから頭部位置TM、頭部姿勢RMを推定する場合の処理を以下説明する。カメラiの位置をTiとし、カメラ姿勢を以下の式Riとし、カメラの内部パラメータをAiとする。このとき、fiはカメラiの焦点距離であり、下記のuiは、カメラの中心座標である。ここで、カメラiの位置Ti、および姿勢Ri内のri,は、1,2,3のいずれかは、3×1の縦ベクトルである。このとき、3次元点Xjは透視投影変換により、以下のように2次元座標xi,jに投影されるiはカメラの番号、jは3次元の座標の番号。さらに、頭部モデル上の点jの3次元座標をXM,jとするj=1,...,Mと、以下の関係が成り立つ。頭部の位置および姿勢をそれぞれ、TM,RMとするとモデル上の点jの位置は、以下のように表現されるXjとなるので、このXjを式1に代入すると、以下の式3となる。以上の前提の下に、以下、頭部の位置および頭部の姿勢の推定処理を説明する。図7は、図4のステップS114の頭部の位置および頭部の姿勢の推定処理の一例を示すフロー図である。特徴点の抽出まず、CPU56は、各カメラからの画像フレーム上で顔部品モデルとのテンプレートマッチング処理により、特徴点の2次元座標を得るS200。特に限定されないが、顔部品モデルとしては、特徴点を含む部分画像を顔部品テンプレートとして事前に準備しおいてもよいし、あるいは、ガボールGabor表現を用いたモデルを使用することも可能である。図8は、このようなガボール表現を用いた顔部品モデルを用いた特徴点の抽出処理を説明するための概念図である。ここで、ガボール表現を用いた顔部品モデルとは、顔画像領域内の各部分領域をガボール基底ベクトルとの積和演算により低次元ベクトル表現に変換し、あらかじめ変換してハードディスク54に記録してあるモデルのことである。各カメラからの画像フレームは、たとえば、図8aの黒枠で示されるような黒四角の枠の大きさで部分画像に分割してあるものとする。CPU56は、このガボール表現を用いた顔部品モデルを顔部品テンプレートとして、各カメラからの画像フレームの各部分画像と比較し、類似度の高いものを特徴点として抽出する。このような特徴点の抽出処理については、たとえば、以下の公知文献2に記載されている。公知文献2:画像処理による顔検出と顔認識情報処理学会研究報告2005CVIM149コンピュータビジョンとイメージメディアP34336820050513頭部位置の推定再び、図7にもどって、続いて、CPU56は、第2の頭部位置姿勢推定部5612により、頭部位置の推定処理を実行するS202。すなわち、第2の頭部位置姿勢推定部5612は、各カメラで撮影された画像フレーム上で得られた各特徴点の2次元座標とその特徴点を観測したカメラの位置姿勢、焦点距離等の投影パラメータから、特徴点3次元とカメラを結ぶ3次元直線を得る。さらに、第2の頭部位置姿勢推定部5612は、顔特徴点間での位置の違いを無視し、同一人物について得られた直線群の交点を最小二乗法で求めて頭部位置とする。より具体的には、第2の頭部位置姿勢推定部5612は、以下のような処理を実行する。頭部とカメラの距離に比べて頭部上の顔特徴点間の距離が十分に小さい|RMXM,J|≪|TM-Ti|と仮定する。すると、上記式3は、以下のように書き直せる。上述の式4の第3行から、以下の式5-1が得られるので、これを第1、2行に代入して整理すると、式5-2が得られる。ある時刻に合計L個の観測結果が得られた場合を考える。ここで、k番目の観測では、モデル上の点jk1≦jk≦Mが、カメラik1≦ik≦Nで観測されたとする。このとき、式5-2により観測の数だけ以下のような方程式6が得られる。この式7をまとめて、式8のように記載することができる。そのとき、頭部位置TMの推定値TMハットは、式8のように最小二乗法による推定値として求めることができる。ここで、ハットとは、変数の頭部に^が付されたものをいう。以上により、頭部位置の推定値が得られる。なお、以上の説明では、処理の簡単のために顔特徴点間での位置の違いを無視することにより頭部位置を複数の特徴点についての平均値として推定するものとしたが、例えば、以下で説明するような後段の処理で推定された顔姿勢に基づいて、再度頭部位置を推定したり、さらに頭部位置推定と姿勢推定を繰り返して両者の最適化を図るといった処理を行なうことにより、頭部位置の推定を高精度化することも可能である。頭部姿勢推定処理再び、図7にもどって、続いて、CPU56は、第2の頭部位置姿勢推定部5612により、頭部姿勢の推定処理を実行するS204。すなわち、第2の頭部位置姿勢推定部5612は、上で得られた頭部位置により弱透視変換におけるスケールパラメータを決定し、特徴点毎に頭部姿勢を未知数として特徴点3次元と特徴点2次元の関係を示す方程式を得る。これに基づいて方程式を満たす頭部姿勢が算出される。すなわち、ここで、頭部姿勢推定処理においては、投影変換の仮定を弱透視変換に切り替える。つまり、頭部とカメラの距離比べて頭部上の顔特徴点間の距離がカメラから見て奥行き方向に関しては十分に小さい|rti3RMXM,J|≪|rti3TM-Ti|と仮定する。すると、上述した式3は、次のように書き換えられる。さらに、上記の式9は、次の式10のように書き換えることができる。ここで、以下の式で表現されるRMの各要素を用いると、式10の第1行、第2行はそれぞれr1,r2,...,r9およびδxi,δyiを変数とする一次式12および13となる。式6と同様に、L個の観測を考えると、式12式13からは次の2L個の方程式14を得る。そして、式14は行列形式にまとめると、以下の式15のようにまとめられる。さらに、最小自乗法により各要素の値として、以下の式16を得る。最後に、RMに基づき、式17として表現されるQR分解を利用して、頭部の姿勢を示す直行行列RMハットを求める。以上により、頭部の姿勢が推定される。再び、図4にもどって、続いて、このようにして推定した顔の姿勢により、現時刻において、視線を推定するのに適したカメラを選択、言い換えると、複数カメラで撮影された画像フレームのうちから視線推定を実行する画像フレームを選択するステップS116。ここでは、利用可能な全ての画像フレームを利用するという方法もあり得るが、CPU56の処理負荷等の観点から、例えば特徴点抽出時に左右眼の特徴点目尻目頭等を抽出できた画像のうち、カメラ位置から撮影された画像が最も顔正面に近いものを左右眼の眼球中心位置の推定と虹彩位置検出に利用するということが可能である。なお、カメラと対象人物との位置関係によっては、左眼と右眼とで、視線推定に使用する画像フレームを、それぞれ異なるカメラで撮影された画像フレームとすることも可能である。すなわち、対象人物の位置関係によっては、右眼の存在する顔半面と左眼の存在する顔半面について、それぞれ、顔正面への近さたとえば、顔の方向とカメラの方向のなす角度の大きさがより近い画像フレームが、異なるカメラで撮影された画像フレームである場合がありうるので、この場合は、左眼と右眼とで、視線推定に使用する画像フレームを、それぞれ異なるカメラで撮影された画像フレームとする。そして、頭部の位置および頭部の姿勢の推定、推定に使用する画像フレームの選択の処理が終了すると、続いて、CPU56は、眼球中心推定部5614により、眼球の中心位置を推定するS118。すなわち、以下に説明するように、眼球モデルパラメータの推定処理を、逐次型眼球モデル推定として実行する処理を例にとって、眼球中心位置の推定処理および虹彩または瞳孔位置の検出処理について説明する。図9は、このような眼球モデルパラメータの推定処理を逐次型眼球モデル推定の処理として実行する場合の処理の流れを説明する概念図である。すなわち、実施の形態1の眼球モデルパラメータの推定処理については、平均的なモデルパラメータを初期値とした逐次型のアルゴリズムを用いる。図9を参照して、このアルゴリズムの実装例について説明している。まずアルゴリズムの開始時点では、事前の被験者実験により複数の対象人物について平均値を求めておく等の方法で得た眼球中心位置X0L太字、太字はベクトルであることを表し、添え字Lは左目を表す、X0R太字、添え字Rは右目を表す、眼球半径l0、虹彩半径r0を初期パラメータとして、眼球モデルパラメータが、たとえばハードディスク54に保持されているものとする。ここで、眼球中心位置X0L、X0Rは、頭部モデルにおける座標系で表現されているものとする。CPU56は、ステップS116で選択された第1フレームに対する以下に説明するような目領域の画像に対するラベリング結果および頭部顔姿勢を入力として、上記初期パラメータを出発点として、非線形最適化処理によって眼球モデルパラメータである眼球中心位置X1L太字、X1R太字、大きさ眼球半径l1、虹彩半径r1および第1フレームにおける虹彩中心位置xL,1太字,xR,1太字を得て、たとえば、ハードディスク54に格納するステップS118,S120。ここで、眼球中心位置X1L太字、X1R太字ならびに虹彩中心位置xL,1太字,xR,1太字も、頭部モデルにおける座標系で表現されているものとする。より詳しく説明すると、以下のとおりである。RANSAC:Randomsampleconsensus以下で説明するRANSAC処理は、外れ値を含むデータから安定にモデルパラメータを定めるための処理であり、これについては、たとえば、以下の文献に記載されているので、その処理の概略を説明するにとどめる。文献:M.A.FischlerandR.C.Bolles:Randomsampleconsensus:Aparadigmformodelfittingwithapplicationstoimageanalysisandautomatedcartography,Comm.OftheACM,Vol.24,pp.381395,1981文献:大江統子、佐藤智和、横矢直和:画像徳著点によるランドマークデータベースに基づくカメラ位置姿勢推定、画像の認識理解シンポジウムMIRU20052005年7月上述のような眼球中心位置を初期値として、入力画像群に対して眼球モデルを当てはめ最適なモデルパラメータを推定する。ここで、入力画像から目の周辺領域を切り出し、色および輝度情報をもとに、以下の式22に従って、虹彩黒目、白目、肌領域の3種類にラベル付けを行なう。ここで、hskは、肌領域のk番目の画素の色相hueの値を表わす。hi,jは、入力画像中の画素i,j第i番目のフレームのj番目の画素の色相の値を表わす。vskは、入力画像中の画素i,jの明度の値を表わす。図10は、このようなラベリング処理例を示す図である。続いて各画素が虹彩モデルの内側にあるかどうかをチェックし、眼球モデルとの照合度を評価する非線形最適化。図11は、このような右目および左目の虹彩と眼球モデルとの照合処理の概念を示す図である。ここで、このような非線形最適化処理を行なうにあたり、以下の式23で表される距離d{LR}ijを導入する。一方、r{LR}ijは、虹彩中心から画素i,j方向の虹彩半径を示すとすると、図11に示すとおり、画素i,jが虹彩の外側にあれば、d{LR}ijは、r{LR}ijよりも大きな値を示す。r{LR}ijは、以下の式24に示すように、3次元の眼球中心位置XiLR太字、対象画像フレーム内の画素位置xi,j,yi,j、眼球半径li、虹彩半径ri、対象画像フレーム内の虹彩中心投影位置xLR、i太字の関数となる。なお、以下では、下付文字{LR}は、左を意味するL、右を意味するRを総称するものとして使用する。また、添え字のiは、第i番目の画像フレームであることを示す。なお、頭部の相対座標で考えているので、本来は、眼球中心位置は、フレームに拘わらず、一定の位置に存在するはずである。最後に、眼周辺の全画素についてd{LR}ijの評価を行ない、入力画像群に尤もよく当てはまる以下の式25のモデルパラメータθを、式26に従って決定する。ここで、gij{LR}は、フレームi、画素jにおけるd{LR}ijの評価値であり、対象画素が虹彩領域か白目領域かによって、以下の式に従い、符合を反転させる。ラベリングuijが撮影された画像内の虹彩領域を反映し、関数Gij{LR}は、眼球モデルから算出される虹彩領域を反映している。そして、得られた虹彩中心投影位置および眼球中心位置の投影位置から第1フレームにおける視線方向を計算することができるS122。より具体的には、以上で求まった眼球中心位置と虹彩中心位置より視線方向を計算する。図12は、視線方向を決定するためのモデルを説明する概念図である。図12に示されるように、画像上での眼球半径をl、画像上での眼球中心と虹彩中心とのx軸方向、y軸方向の距離をdx、dyとすると、視線方向とカメラ光軸とのなす角、つまり、視線方向を向くベクトルがx軸およびy軸との成す角ψx、ψyは次式で表される。なお、右目と左目のそれぞれで、視線が推定されるので、左右両眼について得られた視線方向の平均値を視線方向として出力する。ただし、たとえば、右目と左目とで、異なるカメラで撮影した画像フレームで視線を推定した場合などは、観測解像度、観測方向を考慮した重み付き平均としてもよい。また、以上の説明では、数18では、3次元眼球中心位置と入力画像2次元に基づいて虹彩位置を求めて、これにより、実際に視線方向の推定決定をしている。そして、数20は単に視線方向の表現を上で推定された眼球中心-虹彩中心表現から角度表現に変換しているものである。ただし、視線方向を得るための変換の方法としては、数20のように、3次元の眼球中心を特定の画像上に投影した眼球中心投影位置と虹彩中心の位置関係から角度表現を得てもよいし、あるいは、逆に、画像上で観測された虹彩中心の位置を3次元の眼球モデル上に投影して、3次元の角度表現を得ることも可能である。さらに、CPU56は、顔頭部の対応付けができたp人のすべてについて、視線方向の推定が終了したかを判断するS124。終了していなければ、再び、処理はステップS112に復帰する。一方、p人について処理が終了していればS124、CPU56の視線方向推定部5618は、視線推定の結果を出力して、ハードディスク54に格納するS126。表示制御部5613は、表示される画像上において、視線の方向を、たとえば、画像中の対象人物の虹彩の中心瞳孔から、視線方向に伸びる線分または矢印として表示する。続いて、CPU56は、この時刻または対応するフレーム番号ならびに人物を識別するための情報と関連付けて、頭部顔の観測領域内の2次元位置、頭部位置および頭部の姿勢推定結果をハードディスク54に保存するS128。さらに、CPU56は、処理終了の指示があるかを判断しS130、指示がなければ、何番目のフレームが処理対象であるかを示す変数Nfの値を1だけインクリメントしS150、次のフレームの処理のために現時刻すなわち、次のフレームにとっては前時刻または前フレームの推定結果をハードディスク54から取得してS152、処理をステップS104.1~S104.nに復帰させる。次フレーム以降の処理においては、前フレームで得られた眼球モデルパラメータを初期値と置き換え、新たに得られる入力画像フレームのデータに対して、非線形最適化処理を行なうことでモデルパラメータの更新および当該フレームにおける虹彩中心位置の推定、視線方向の推定を行なうことができる。ステップS130で処理の終了の指示がでていれば、CPU56は、処理を終了させる。このような処理を行なうと、複数のカメラの中から視線方向の推定に最も適したと考えられるカメラからの画像フレームを推定を実行する時刻ごとに選択することとなり、従来の視線方向の推定方式に比べて、カメラから対象人物までの距離やカメラの対象人物に対する方向の制約を緩和して、観測領域内の対象人物の視線の推定を行うことができ、複数のカメラによりいわゆるステレオ視を利用して、3次元空間での眼球中心や虹彩中心を導出する構成比べれば、より少ないカメラの台数で、観測領域内にいる対象人物の視線方向を推定することができる。また、たとえば、上述したように、左眼と右眼とで、視線推定に使用する画像フレームを、それぞれ異なるカメラで撮影された画像フレームとすることも可能であるから、この場合、従来のステレオカメラ方式とは異なり、虹彩瞳孔含めて、各特徴点を複数のカメラで同時に観測することを要求されず、この点で、顔の向きの制限を緩和して、比較的少数のカメラにより、観測範囲内における被測定対象者の視線方向のリアルタイムに推定し追跡することが可能となる。また、複数のカメラのうちから、視線推定を行う画像フレームを顔姿勢に応じて選択することになるので、より正確に視線の推定を行うことができる。しかも、視線方向の推定処理を短時間で開始できるという利点がある。実施の形態1の変形例以上の説明では、視線方向の推定は、眼球モデルパラメータの推定処理を、逐次型眼球モデル推定として実行する場合を例にとって説明した。ただし、たとえば、最初の1~Nフレームの間では、眼球モデルパラメータの推定処理にあてることとし、N1フレーム以後は、このようにして導出された眼球モデルパラメータを用いて、視線方向の推定を実行することとしてもよい。この場合は、視線方向の推定処理が開始されるまでにタイムラグが発生することになるものの、推定処理の最初から正確な視線方向の推定が可能となるとの利点がある。ところで、実施の形態1においては、i顔面上の複数の特徴点を別々のカメラで観測して顔姿勢を推定し、ii推定された顔姿勢を用いて、眼球中心を推定し、iii顔姿勢を推定したのと同じカメラで観測された虹彩瞳孔中心を抽出し、iv眼球中心と虹彩中心とを組み合わせて視線方向を算出する、との手続きであった。これに対して、上述したような実施の形態1の変形例では、3次元の眼球中心位置と2次元の特徴点の関係が予めモデル化されているという前提の下に、顔面上の複数の特徴点を別々のカメラで観測し、観測された特徴点と上記モデルとを利用して眼球中心を推定するとともに、眼球中心が推定された画像フレームにおいて虹彩中心を抽出することで、視線の方向を推定するという構成とすることも可能である。さらに言えば、上述した実施の形態1においても、視線方向の推定を行なう対象となっている画像フレームよりも前の画像フレームにおいて、推定対象の画像フレームにおいて非線形最適化に使用される眼球モデルの最適化前のパラメータが予めもとまっているといえるので、実施の形態1についても、3次元の眼球中心位置と顔内の特徴点の関係が予めモデル化されていることを前提の下に、顔面上の複数の特徴点を別々のカメラで観測し、観測された特徴点と上記モデルとを利用して眼球中心を推定するとともに、眼球中心が推定された画像フレームにおいて虹彩中心を抽出することで、視線の方向を推定するという処理を行なっているといえる点では共通しているといえる。[実施の形態2]以下では、複数カメラを利用した広域遠隔視線計測のための異なる実施の形態について説明する。実施の形態1で述べた通り、近年通常のカメラによる観測によって人の視線を計測する手法が提案され、視線計測時の観測距離の制約を大幅に緩和することが可能となった。しかしながら、一方で観測方向に関しては依然として大きな制約が残っており、現実場面における視線計測の利用を妨げている。図13は、従来法の持つ観測時の制約について説明する図である。図13Aに示す角膜反射に基づく手法では、赤外照明光の到達距離の制約のために近距離通常1m以下での観測が必須となる。これに対して、図13Bに示す通常の画像観測を利用した手法では、観測距離の制約が大幅に緩和される。特に単眼カメラによる視線計測では一定以上の解像度で顔および目領域が観測できれば視線計測が可能であり、カメラとの距離に関わらず視線計測を行うことができる。図14は、頭部姿勢が大きく変化する場合に必要となるシステムの概念を示す図である。図13Bの従来の手法では、視線計測に必要な画像特徴を観測するためにカメラに対するユーザの頭部姿勢の変化が比較的狭い範囲に限定されるため、図14Cに示すように頭部姿勢が大きく変化する場面で継続的に視線計測を行うためには、対象者を様々な方向から観測するために非常に多数のカメラを設置する必要がある。これに対して、図14Dに示すように、実施の形態2の手法では、視線計測に必要な画像特徴の観測を複数のカメラに分担させる。顔の特徴点および眼球領域がいずれかのカメラで観測できれば視線を計測することが可能であり、ユーザの広範囲の顔向き変化に対応することができる。図15は、後に説明するような実施の形態2よる視線計測の適用例を示す図である。図15では、2台のカメラによって対象人物を異なる方向から観測している。ここにみられるように、左の画像では被験者の顔の右側の特徴点および右目領域、右の画像では被験者の左側の特徴点および左目領域がそれぞれ観測されている。実施の形態2よる視線計測では、各カメラから計測した顔の特徴点を用いて頭部の位置姿勢を推定し3次元の眼球中心位置を求める。また、各目領域画像から虹彩位置を検出し、眼球中心と虹彩中心を結ぶ方向として視線方向を推定している図中、灰色の線分は推定された視線方向を示す。これにより被験者の顔向き変化が大きい場合にも視線計測が可能となる。複数カメラによる視線計測処理以下では、実施の形態2の複数カメラを利用した視線計測手法の処理の詳細について述べる。図16は、実施の形態2の視線方向の推定装置の構成を示す機能ブロック図である。特に限定されないが、実施の形態2の視線方向の推定装置も、実施の形態1の視線方向の推定装置と同様のハードウェアにより実現できる。したがって、図16では、ソフトウェアにより実行される機能の主要な部分のみを記載している。図16に明示的に記載されていない機能についても、実施の形態1と同様の構成が存在する。実施の形態2の視線方向の推定装置は、視線方向を眼球中心と虹彩中心を結ぶ3次元ベクトルとして推定する。ここで虹彩はカメラ30.1~30.NN:2以上の自然数によって観測可能であるが、眼球中心は直接観測することができない。そこで各カメラで得られる観測画像から、顔検出部6610.1~6610.Nが顔領域を検出し、顔特徴点検出部6612.1~6612.Nが、ユーザの顔面上の特徴点を検出する。3次元頭部方向推定部6620が、顔形状の3次元モデルと顔特徴点の2次元観測座標から頭部の位置姿勢を推定し、眼球中心推定部6640が、間接的に眼球中心の3次元座標を推定する。顔形状の3次元モデルと眼球中心位置の関係は、複数フレームの観測結果から、実施の形態1に示すのと同様の手法によりユーザに意識させることなく自動的にキャリブレーションすることができる。なお、このキャリブレーションの方法については、以下の文献にも開示がある。文献:山添大丈,内海章,米澤朋子,安部伸治:単眼カメラを用いた視線推定のための三次元眼球モデルの自動キャリブレーション.電子情報通信学会論文誌.D,情報システムJ94D,9881006,20110601一方で、カメラ選択部6630は、頭部位置姿勢の推定結果に基づいて、左右それぞれの目領域を観測可能なカメラを選択し、虹彩抽出部6650は、選択されたカメラからの画像に基づいて虹彩抽出を行う。すなわち、虹彩抽出部6650は、選択された各カメラで抽出された虹彩領域について楕円形上の当てはめにより3次元の虹彩中心位置を決定し、視線推定部6660は、眼球中心推定部6640の推定した眼球中心位置と虹彩抽出部6650の抽出した虹彩中心位置から視線方向を算出する。なお、ユーザの顔画像が1台のカメラのみによって観測される場合は、上記処理は単眼視線計測手法に一致する。図16中、点線で囲まれた領域の機能は、図2に示したCPU56がプログラムに基づいて実行する処理により達成される。上記の処理を実現するためには、以下に挙げる各項目についての検討が必要となる。顔の3次元モデル顔、顔特徴点の決定頭部方向の推定虹彩の抽出視線方向の推定以下では、これらの各項目について、順次、説明する。顔の3次元モデル顔面上の各特徴点の重心位置を原点として顔の正面方向をZ軸の正方向とする座標系X=0に対して左右対称を定義し、複数の被験者についての観測データに基づいて顔の3次元モデルを生成することができる。以下の説明では、顔面上の特徴点として6点両目尻、両目頭と口の両端点を利用する。ここでp番目の特徴点の3次元位置をXp=XpYpZpTとする1≦p≦6。また、眼球中心の3次元位置をXek=XekYekZekTとするk∈{leftright}。顔特徴点の決定顔検出および顔特徴点の検出については、それぞれ広く用いられているHaar-like特徴量を用いた顔検出アルゴリズムおよび、Gabor特徴量を利用した顔特徴点抽出を利用することができる。Haar-like特徴量を用いた顔検出アルゴリズムについては、以下の文献に開示がある。文献:ViolaPandJonesM2001RapidobjectdetectionusingaboostedcascadeofsimplefeaturesInProcCVPR2001vol1511518また、Gabor特徴量については、実施の形態1と同様である。なお、より広い範囲の頭部角度に対応させるために、顔特徴点モデルとして横顔データを含む複数の頭部姿勢における観測データを用いるものとする。頭部方向の推定上記の顔の3次元モデルを用いて顔の3次元位置、姿勢を決定する。カメラCiの位置、姿勢をそれぞれTci,Rciとし、焦点距離をfci[pixel]、カメラ画像の中心座標をuxCi,uyCiとすると、透視投影変換により3次元点X=[X,Y,Z]Tはカメラ上の座標xi=[xi,yi]Tに、次式で投影される。頭部の位置、姿勢をR,Tとすると、顔の特徴点pの3次元位置Xp,Yp,Zpは以下の式で画像上の点xip,yipに投影される。ここで、Aciは、カメラiの内部パラメータ、RciとTciはカメラiの回転行列、並進ベクトルを表す。頭部の位置姿勢RとTは次式で計算される再投影誤差を最小にすることで求めることができる。虹彩の抽出上記のようにして得られた頭部位置姿勢に基づいて、目領域を観測可能なカメラが選択され、選択された各カメラにおける左右の各目領域画像が抽出される。図17は、抽出された左右の各目領域画像を示す図である。目領域の抽出には、ベジェ曲線を用いてモデル化した瞼形状の当てはめ結果と眼球領域の境界を利用する。抽出後、各画素ごとの輝度値に基づいて虹彩白目のラベル付けが行われる。図18は、虹彩白目のラベル付けが行われた状態を示す図である。図18において、虹彩は、白の領域として示されている。最後に得られた虹彩領域に対して3次元虹彩モデルを当てはめることで虹彩位置が得られる。視線方向の推定実施の形態2よる視線計測では眼球の3次元モデルと虹彩中心を利用して視線方向を推定する。顔特徴点の画像上への投影と同様に、原点に対する顔の位置、姿勢をそれぞれT,Rとすると、左右の眼球中心位置Xekは、次式によりXekハットに移動する。眼球半径をL、世界座標における視線方向ベクトルをVgとすると、世界座標における虹彩中心位置Xiriskは次式で表わされる。このときカメラCiにおける虹彩中心の観測位置xiirisk,yiiriskは次式で計算される。図19は、虹彩の画像上の観測形状を示す図である。図19に示されるとおり、虹彩が円形であり、またカメラと眼球との距離に対して眼球半径Lが十分に小さいと仮定すると、虹彩の画像上の観測形状は楕円で近似できる。虹彩半径をrとすると、カメラCiの画像上での虹彩半径長軸半径rCikは、以下の式で表される。カメラCiの画像上で視線方向Vgによって決まる眼球kに関する上記の楕円内に含まれる画素の集合をGikVgとし、ある画素Xが集合GikVgに含まれるか否かを示す関数fVg,Xを次のように定義する。虹彩へのラベル付けの結果として、カメラCiの眼球kに関する目領域について虹彩領域に属する画素の集合をHik、白目領域に属する画素の集合を/Hik表記上は、Hikの上にバーが記載されるとすると、視線方向は以下の評価関数Egを最大化する方向ベクトルVgとして求めることができる。すなわち、眼球モデルに対して視線方向Vgを仮定し、評価関数Egが最大となる、すなわち、もっとも画像上の虹彩の領域および白目の領域にフィットする視線方向Vgが、真の視線方向であるものと推定する。なお、以上の説明においては、虹彩領域と白目の領域の双方を考慮し、モデルと撮影された画像とをフィッティングするものとして説明したが、フィッティングにあたっては、虹彩領域のみを考慮することも可能である。また、眼球半径Lと眼球中心とは、複数の人間について事前に計測された平均的な値を用いることが可能である。さらに、このような眼球半径Lと眼球中心とは、実施の形態1または実施の形態1の変形例で説明したのと同様の方法により、このような平均的な値を初期値とし眼球モデルパラメータの推定処理を撮影の時間経過とともに実行して、これらの値を初期値から逐次更新する構成としてもよい。[実験結果]実施の形態2よる視線計測の有効性を確認するため、以下の実験を行った。図20は、この実験の実験環境を示す概念図である。図20を参照して、実験環境はカメラPointgrayGRAS50S5MC2台被験者からみて右方向に設置したカメラをcam1、左方向をcam2とするを1.8m間隔に配置し、1024×768の解像度で撮影した。頭部姿勢の推定の評価まず、実装したシステムを用いて頭部姿勢の推定について評価を行った。図21は、頭部姿勢の追跡結果の例を示す図である。ここでは被験者が2台のカメラから等距離にあって両カメラの中点から1.5m離れた位置に立ち、水平面上で左方向に顔を動かした。図21上に見られるように、実施の形態2の視線方向の推定装置により連続的に頭部姿勢の追跡が行われていることがわかる。図21の下は、このときの左右の眼領域に関する各カメラ画像上での計測可否についての判定結果を示している。この結果から,このときの被験者について頭部姿勢に依らず左右の目領域が,少なくともいずれか一方のカメラで取得できると判定されていることがわかる。実施の形態2では、この判定結果に基づいて虹彩抽出に利用する画像領域を決定する。図22は、視線推定の処理結果の例を示す図である。ここでは、図21と同様に被験者は水平方向に顔向きを変化させている。ここにみられるように、2台のカメラの観測を組み合わせることで適切に頭部姿勢および視線方向が推定されていることがわかる。特に、一方のカメラが完全に側方からの観測になったり、2台のカメラで共通する観測が得られない場合でも視線推定が行われていることに注意されたい。図23は、視線推定精度を示す図である。ここでは、環境中の方向既知の同一点を注視しながら顔向きを水平方向に変化させ、各顔向き条件についての視線推定誤差を算出した。35°まで頭部向きを変化させた際の平均誤差は8°未満であった。遠隔視線計測アプリケーション遠隔視線計測手法を利用すると、日常環境の中で人々の興味や注意に関する情報を獲得することができ、これまで困難だった様々なサービスが可能になる。例えば、遠隔視線計測システムとロボットとを連動させることでロボットと人が視線を介してコミュニケーションできるシステムが実現されうる。このシステムは、ロボットがユーザと一緒の物を見る行動やロボットをユーザの方向へ向かせ話しかけるをすることによりロボットとユーザ間でコミュニケーションを誘発させるシステムである。このように、視線情報を日常環境で自然なかたちで利用するためには、ユーザの頭部位置姿勢を限定せず、できるだけ広い範囲で視線情報を計測できることが望ましい。図24は、視線計測を利用した案内システムの例を示す図である。ここでは、案内板の前にいるユーザの興味を視線によって計測し、ユーザの興味に合わせた情報を画像や音声により案内することを想定している。しかし、図24Aに示すように、従来のシステムでは特に頭部姿勢に関する制約が大きいため、広い顔向き範囲で連続的に視線計測を行うためには、多数のカメラを利用する必要がある。一方、実施の形態2の視線方向の推定装置、視線方向の推定方法またはコンピュータに当該視線方向の推定方法を実行させるためのプログラムでは、比較的少数の複数カメラを利用し、広い顔向き範囲についてより少ないカメラで視線方向を計測できる。あるいは、運転中のドライバーの視線など、大きな顔向き変化を想定しなければならない場面は、他にも多く、実施の形態2よる視線計測によってこれまで適用の難しかった分野での視線情報の利用が可能になる。以上説明したように、実施の形態2の視線方向の推定装置、視線方向の推定方法またはコンピュータに当該視線方向の推定方法を実行させるためのプログラムによれば、複数のカメラの観測を組み合わせることで、従来の視線計測手法の持つ顔向きに関する制約を緩和し、広い頭部姿勢範囲について視線計測が可能な遠隔視線計測が提供される。実施の形態2よる視線計測では、顔面上の特徴点および左右の目領域画像の観測がそれぞれ異なるカメラで行われることを許容し、頭部の位置姿勢および視線方向の推定を行う。そのため少数のカメラによって広い頭部姿勢範囲をカバーできる。実施の形態2よる視線計測により日常生活や公共の場における視線アプリケーションの適用範囲を大幅に拡大することができる。今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。"