(57)【特許請求の範囲】
【請求項１】
対象者の顔姿勢と視線との間の第１角度及び基準顔姿勢と前記顔姿勢の間の第２角度の関係を規定する係数を含み、前記顔姿勢を補正するための関数を導出する関数導出ステップと、
前記顔姿勢を導出する顔姿勢導出ステップと、
前記関数導出ステップにおいて導出された前記関数を利用して、前記顔姿勢を補正する顔姿勢補正ステップと、を有し、
前記顔姿勢は、前記対象者の左瞳孔、右瞳孔、及び左右の鼻孔の何れか一方の３つの組み合わせである基準部位群における部位間の距離と、前記対象者の顔画像において検出される前記基準部位群の二次元的位置とを利用して、前記基準部位群を含む平面の法線を算出することによって導出され、
前記視線及び前記基準顔姿勢は、少なくとも２枚の前記対象者の顔画像に基づいて、ステレオマッチングにより導出される、顔検出方法。
【請求項２】
前記関数導出ステップは、
前記顔姿勢を導出するステップと、
前記視線及び前記基準顔姿勢を導出するステップと、
前記第１角度及び前記第２角度に基づいて、前記係数を導出するステップと、を含む、請求項１に記載の顔検出方法。
【請求項３】
前記関数導出ステップを１回実行した後に、前記顔姿勢導出ステップと前記顔姿勢補正ステップと、を繰り返し実行する、請求項１又は２に記載の顔検出方法。
【請求項４】
前記関数導出ステップと前記顔姿勢導出ステップと前記顔姿勢補正ステップと、この順で繰り返し実行する、請求項１又は２に記載の顔検出方法。
【請求項５】
前記顔姿勢補正ステップは、
第１の座標系に基づく前記視線と前記第１の座標系に基づく前記顔姿勢とを、前記第１の座標系とは異なる第２の座標系に基づくように座標変換するステップと、
前記第２の座標系に基づく前記視線と前記第２の座標系に基づく前記顔姿勢とを利用して、前記第２の座標系に基づく前記第１角度を取得し、当該第１角度と前記関数とを利用して、前記第２の座標系に基づく前記第２角度を取得するステップと、
前記第２の座標系に基づく前記第２角度を利用して、前記第２の座標系に基づく前記顔姿勢を補正するステップと、
補正された前記顔姿勢を前記第１の座標系に基づくように座標変換するステップと、を含む、請求項１〜４の何れか一項に記載の顔検出方法。
【請求項６】
対象者の顔を撮像する少なくとも２台の撮像手段と、
前記撮像手段で撮像された顔画像に基づいて、前記対象者の顔姿勢を導出する処理手段と、を備え、
前記処理手段は、
前記対象者の前記顔姿勢と視線との間の第１角度及び基準顔姿勢と前記顔姿勢の間の第２角度の関係を規定する係数を含み、前記顔姿勢を補正するための関数を導出する関数導出部と、
前記顔姿勢を導出する顔姿勢導出部と、
前記関数導出部において導出された前記関数を利用して、前記顔姿勢を補正する顔姿勢補正部と、を有し、
前記顔姿勢は、前記対象者の左瞳孔、右瞳孔、及び左右の鼻孔の何れか一方の３つの組み合わせである基準部位群における部位間の距離と、前記対象者の顔画像において検出される前記基準部位群の二次元的位置とを利用して、前記基準部位群を含む平面の法線を算出することによって導出され、
前記視線及び前記基準顔姿勢は、少なくとも２枚の前記対象者の顔画像に基づいて、ステレオマッチングにより導出される、顔検出装置。
【請求項７】
前記顔姿勢補正部は、
第１の座標系に基づく前記視線と前記第１の座標系に基づく前記顔姿勢とを、前記第１の座標系とは異なる第２の座標系に基づくように座標変換する第１の座標変換部と、
前記第２の座標系に基づく前記視線と前記第２の座標系に基づく前記顔姿勢とを利用して、前記第２の座標系に基づく前記第１角度を取得し、当該第１角度と前記関数とを利用して、前記第２の座標系に基づく前記第２角度を取得する角度取得部と、
前記第２の座標系に基づく前記第２角度を利用して、前記第２の座標系に基づく前記顔姿勢を補正する方向補正部と、
補正された前記顔姿勢を前記第１の座標系に基づくように座標変換する第２の座標変換部と、を含む、請求項６に記載の顔検出装置。
【請求項８】
コンピュータを、
対象者の顔姿勢と視線との間の第１角度及び基準顔姿勢と顔姿勢の間の第２角度の関係を規定する係数を含み、前記顔姿勢を補正するための関数を導出する関数導出部と、
前記顔姿勢を導出する顔姿勢導出部と、
前記関数導出部において導出された前記関数を利用して、前記顔姿勢を補正する顔姿勢補正部と、して機能させ、
前記顔姿勢は、前記対象者の左瞳孔、右瞳孔、及び左右の鼻孔の何れか一方の３つの組み合わせである基準部位群における部位間の距離と、前記対象者の顔画像において検出される前記基準部位群の二次元的位置とを利用して、前記基準部位群を含む平面の法線を算出することによって導出され、
前記視線及び前記基準顔姿勢は、少なくとも２枚の前記対象者の顔画像に基づいて、ステレオマッチングにより導出される、顔検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顔検出方法、顔検出装置、及び顔検出プログラムに関する。
【背景技術】
【０００２】
自動車技術などの分野では、ドライバーの視線及び頭部姿勢を計測し、これらデータに基づいてドライバーの運転支援を行う技術が検討されている。特許文献１〜３には、瞳孔と角膜反射像とを利用して、被験者の視線を高精度に検出する視線検出装置が開示されている。また、特許文献４〜６には、被験者の頭部姿勢を検出する装置が開示されている。ここで、頭部姿勢とは、被験者の眼球の回転とは関係の無い、頭蓋骨の位置と方向をいう。特許文献４，５の頭部姿勢検出装置は、いわゆるステレオマッチング法を利用している。具体的には、ステレオ較正された光学系を利用して被験者の頭部画像データを取得する。次に、２枚の頭部画像データをステレオマッチングして、被験者の瞳孔及び鼻孔の各三次元座標を求める。これら三次元座標を利用して瞳孔と鼻孔間中点の重心を算出し、この重心を頭部位置としている。また、瞳孔と鼻孔間中点を通る平面を算出し、この平面の法線を頭部方向としている。また、特許文献６の頭部姿勢検出方法は、１台の光学系によって瞳孔と鼻孔間中点といった特徴点の三次元位置を推定する。すなわち、特許文献６の頭部姿勢検出方法は、いわゆるステレオマッチング法を利用していない。この方法では、１台の光学系によって得た画像データと、２個の瞳孔と各鼻孔との互いの距離を拘束条件とを利用して、瞳孔と鼻孔間中点の三次元位置を推定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２３００４９号公報
【特許文献２】特開２００５−１９８７４３号公報
【特許文献３】特開２００５−１８５４３１号公報
【特許文献４】特開２００５−２６６８６８号公報
【特許文献５】特開２００７−２６０７３号公報
【特許文献６】特開２００７−２７１５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献４，５の頭部姿勢検出装置は、ステレオマッチング法を利用しているため、ランダムノイズが大きくなる傾向にある。特許文献６の頭部姿勢検出方法は、２個の瞳孔と各鼻孔との互いの距離を拘束条件として与えているため、頭部と眼球との相対的な姿勢関係によっては、偏り誤差が大きくなる傾向にある。
【０００５】
そこで、本発明は、精度のよい顔検出の結果が得られる顔検出方法、顔検出装置、及び顔検出プログラムを提供する。
【課題を解決するための手段】
【０００６】
本発明の一形態に係る顔検出方法は、対象者の顔姿勢と視線との間の第１角度及び基準顔姿勢と顔姿勢の間の第２角度の関係を規定する係数を含み、顔姿勢を補正するための関数を導出する関数導出ステップと、顔姿勢を導出する顔姿勢導出ステップと、関数導出ステップにおいて導出された関数を利用して、顔姿勢を補正する顔姿勢補正ステップと、を有し、顔姿勢は、対象者の左瞳孔、右瞳孔、及び左右の鼻孔の何れか一方の３つの組み合わせである基準部位群における部位間の距離と、対象者の顔画像において検出される基準部位群の二次元的位置とを利用して、基準部位群を含む平面の法線を算出することによって導出され、視線及び基準顔姿勢は、２枚の対象者の顔画像をステレオマッチングすることによって導出される。
【０００７】
この顔検出方法は、基準部位群における部位間の距離を拘束条件として利用する方法によって顔姿勢を導出する。従って、ランダムノイズの少ない安定した結果を得ることができる。そして、顔検出方法では、関数を利用して顔姿勢を補正する。この関数は、対象者の視線と顔姿勢の間の第１角度及び顔姿勢と基準顔姿勢の間の第２角度の関係を規定する係数を含んでいるので、導出された顔姿勢を基準顔姿勢に相当する結果に変換する。ここで、基準顔姿勢は、ステレオマッチングにより導出された結果であるので、真の顔姿勢に対する偏りが小さい。このため、ランダムノイズの少ない安定した顔姿勢が、真の顔姿勢に対する偏りが小さい顔姿勢に補正される。従って、精度のよい顔検出の結果が得られる。
【０００８】
関数導出ステップは、顔姿勢を導出するステップと、視線及び基準顔姿勢を導出するステップと、第１角度及び第２角度に基づいて、係数を導出するステップと、を含むこととしてもよい。この関数導出ステップによれば、第１角度及び第２角度の関係を規定する係数を含む関数を導出することができる。
【０００９】
関数導出ステップを１回実行した後に、顔姿勢導出ステップと顔姿勢補正ステップと、を繰り返し実行することとしてもよい。この方法では、顔姿勢導出ステップと、顔姿勢補正ステップを実行するときに、補正のための関数が既に得られている。従って、顔姿勢導出ステップと、顔姿勢補正ステップを実行し始めた直後から、精度のよい顔検出の結果が得ることができる。
【００１０】
顔検出方法では、関数導出ステップと顔姿勢導出ステップと顔姿勢補正ステップと、この順で繰り返し実行することとしてもよい。この方法によれば、顔姿勢導出ステップと顔姿勢補正ステップを実行する毎に、関数導出ステップも実行される。関数導出ステップの繰り返しにより係数が更新されて所定の値に収束する。従って、事前に関数を準備することなく、顔姿勢を検出し始めることができる。
【００１１】
顔姿勢補正ステップは、第１の座標系に基づく視線と第１の座標系に基づく顔姿勢とを、第１の座標系とは異なる第２の座標系に基づくように座標変換するステップと、第２の座標系に基づく視線と第２の座標系に基づく顔姿勢とを利用して、第２の座標系に基づく第１角度を取得し、当該第１角度と関数とを利用して、第２の座標系に基づく第２角度を取得するステップと、第２の座標系に基づく第２角度を利用して、第２の座標系に基づく顔姿勢を補正するステップと、補正された顔姿勢を第１の座標系に基づくように座標変換するステップと、を含むこととしてもよい。この方法によれば、顔姿勢の検出精度を高めることができる。
【００１２】
本発明の別の形態に係る顔姿勢検出装置は、対象者の顔を撮像する少なくとも２台の撮像手段と、撮像手段で撮像された顔画像に基づいて、対象者の顔姿勢を導出する処理手段と、を備え、処理手段は、対象者の顔姿勢と視線との間の第１角度及び基準顔姿勢と顔姿勢の間の第２角度の関係を規定する係数を含み、顔姿勢を補正するための関数を導出する関数導出部と、顔姿勢を導出する顔姿勢導出部と、関数導出部において導出された関数を利用して、顔姿勢を補正する顔姿勢補正部と、を有し、顔姿勢は、対象者の左瞳孔、右瞳孔、及び左右の鼻孔の何れか一方の３つの組み合わせである基準部位群における部位間の距離と、対象者の顔画像において検出される基準部位群の二次元的位置とを利用して、基準部位群を含む平面の法線を算出することによって導出され、視線及び基準顔姿勢は、２枚の対象者の顔画像をステレオマッチングすることによって導出される。
【００１３】
この顔検出装置は、上述した顔検出方法と同様の効果を得ることができる。すなわち、顔検出装置は、基準部位群における部位間の距離を拘束条件として利用することにより顔姿勢を導出する。従って、ランダムノイズの少ない安定した結果を得ることができる。そして、顔検出装置では、関数を利用して顔姿勢を補正する。この関数は、対象者の視線と顔姿勢の間の第１角度及び顔姿勢と基準顔姿勢の間の第２角度の関係を規定する係数を含んでいるので、導出された顔姿勢を、基準顔姿勢に相当する結果に変換する。ここで、基準顔姿勢は、ステレオマッチングにより導出された結果であるので、真の顔姿勢に対する偏りが小さい。このため、ランダムノイズの少ない安定した顔姿勢が、真の顔姿勢に対する偏りが小さい顔姿勢に補正される。精度のよい顔検出の結果が得られる。
【００１４】
顔姿勢補正部は、第１の座標系に基づく視線と第１の座標系に基づく顔姿勢とを、第１の座標系とは異なる第２の座標系に基づくように座標変換する第１の座標変換部と、第２の座標系に基づく視線と第２の座標系に基づく顔姿勢とを利用して、第２の座標系に基づく第１角度を取得し、当該第１角度と関数とを利用して、第２の座標系に基づく第２角度を取得する角度取得部と、第２の座標系に基づく第２角度を利用して、第２の座標系に基づく顔姿勢を補正する方向補正部と、補正された顔姿勢を第１の座標系に基づくように座標変換する第２の座標変換部と、を含むこととしてもよい。この構成によれば、顔姿勢の検出精度を高めることができる。
【００１５】
本発明の更に別の形態に係る顔検出プログラムは、コンピュータを、対象者の顔姿勢と視線との間の第１角度及び基準顔姿勢と顔姿勢の間の第２角度の関係を規定する係数を含み、顔姿勢を補正するための関数を導出する関数導出部と、顔姿勢を導出する顔姿勢導出部と、関数導出部において導出された関数を利用して、顔姿勢を補正する顔姿勢補正部と、して機能させ、顔姿勢は、対象者の左瞳孔、右瞳孔、及び左右の鼻孔の何れか一方の３つの組み合わせである基準部位群における部位間の距離と、対象者の顔画像において検出される基準部位群の二次元的位置とを利用して、基準部位群を含む平面の法線を算出することによって導出され、視線及び基準顔姿勢は、２枚の対象者の顔画像をステレオマッチングすることによって導出される。
【００１６】
この顔検出プログラムは、上述した顔検出方法及び顔検出装置と同様の効果を得ることができる。すなわち、顔検出プログラムは、基準部位群における部位間の距離を拘束条件として利用することにより顔姿勢を導出する。従って、ランダムノイズの少ない安定した結果を得ることができる。そして、顔検出装置では、関数を利用して顔姿勢を補正する。この関数は、対象者の視線と顔姿勢の間の第１角度及び顔姿勢と基準顔姿勢の間の第２角度の関係を規定する係数を含んでいるので、導出された顔姿勢を、基準顔姿勢に相当する結果に変換する。ここで、基準顔姿勢は、ステレオマッチングにより導出された結果であるので、真の顔姿勢に対する偏りが小さい。このため、ランダムノイズの少ない安定した顔姿勢が、真の顔姿勢に対する偏りが小さい顔姿勢に補正される。精度のよい顔検出の結果が得られる。
【発明の効果】
【００１７】
本発明の一形態に係る顔検出方法、顔検出装置及び顔検出プログラムによれば、精度のよい顔検出の結果が得られる。
【図面の簡単な説明】
【００１８】
【図１】実施形態に係る顔検出装置を示す図である。
【図２】特徴点を説明する図である。
【図３】拘束条件法において発生する誤差を説明するための図である。
【図４】拘束条件法において発生する誤差を説明するための図である。
【図５】顔姿勢補正の原理を説明する図である。
【図６】顔姿勢補正の原理を説明する図である。
【図７】実施形態に係る顔検出方法の主要なステップを示す図である。
【図８】実施形態に係る顔検出方法の効果を説明するための図である。
【図９】瞳孔用カメラ及び鼻孔用カメラのレンズ部分を示す図である。
【図１０】実施形態に係る画像処理装置のハードウェア構成を示す図である。
【図１１】実施形態に係る顔検出装置の機能構成を示す図である。
【図１２】世界座標系とカメラ座標系の関係を説明するための図である。
【図１３】カメラ座標系と顔座標系との位置関係を示す図である。
【図１４】鼻孔用カメラのレンズの中心を原点とした二次元座標系における画像平面と特徴点の三次元座標との関係を示す図である。
【図１５】視線の検出を説明するための図である。
【図１６】係数の決定方法を説明するための図である。
【図１７】実施形態に係る顔検出プログラムの構成を示す図である。
【発明を実施するための形態】
【００１９】
以下、添付図面を参照しながら本発明を実施するための形態を詳細に説明する。図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【００２０】
本発明の一形態に係る顔検出方法は、図１に示される顔検出装置１により実行される。顔検出装置１は、対象者Ａの視線及び顔姿勢を検出するコンピュータシステムであり、このシステムにより、顔検出方法が実施される。対象者Ａとは、視線及び顔姿勢を検出する対象となる人であり、被験者ともいうことができる。視線とは、対象者Ａの瞳孔中心と該対象者の注視点（対象者が見ている点）とを結ぶ線である。なお、「視線」という用語は、起点、終点、及び方向の意味（概念）を含む。顔姿勢は、顔の方向及び重心とで定まり、後述する顔姿勢ベクトルで表される。すなわち、顔姿勢とは骨格（頭蓋骨）の位置と方向を意味し、眼球の回転とは無関係である。顔検出装置１及び顔検出方法の利用目的は何ら限定されず、例えば、よそ見運転の検出、運転者の眠気の検出、商品の興味の度合いの調査、コンピュータへのデータ入力などに利用することができる。
【００２１】
まず、本実施形態に係る顔検出方法の基本原理について説明する。図２に示されるように、対象者Ａの顔姿勢を示す顔姿勢ベクトルＶＢは、対象者Ａの瞳孔及び鼻孔を利用して導出される。例えば、顔姿勢ベクトルＶＦ，ＶＢは、左瞳孔の座標Ｐ１、右瞳孔の座標Ｐ２、及び鼻孔間中心の座標Ｐ０の３点を通る平面の法線ベクトルとして導出される。これら左瞳孔、右瞳孔、左鼻孔中心、右鼻孔中心及び鼻孔間中心は、特徴点である。ここで特徴点の三次元座標を算出する方法として、所定の拘束条件を利用して算出する方法と、ステレオマッチングを利用して算出する方法と、がある。以下の説明において、便宜上、拘束条件を利用する方法を「拘束条件法」と呼び、ステレオマッチングによる方法を「ステレオ法」と呼ぶことにする。
【００２２】
拘束条件法では、特徴点の三次元座標の算出において、特徴点の間の距離（以下「特徴点間距離」又は単に「距離」という）を拘束条件として利用している。特徴点間距離とは、例えば、左瞳孔の座標Ｐ１と右瞳孔の座標Ｐ２との間の距離Ｌ１、左瞳孔の座標Ｐ１と鼻孔間中心の座標Ｐ０との間の距離Ｌ２及び右瞳孔の座標Ｐ２と鼻孔間中心の座標Ｐ０との間の距離Ｌ３である。拘束条件法により導出される顔姿勢は、安定性が高いという利点を有する。この安定性とは、対象者Ａの頭部を固定した状態で顔姿勢を検出したときに現れる時間的なランダムノイズによって示される特性をいう。すなわち、安定性が高いとは、ランダムノイズが小さいことを意味する。また、ステレオ法の実施には光学系（例えばカメラ）が２個必要であるところ、拘束条件法は１個の光学系だけで実施可能である。従って、２個の光学系を離間して配置し、それぞれの光学系を利用して拘束条件法を実施することにより、顔方向の検出範囲を光学系の離間方向に拡大することが可能になる。２個の光学系と拘束条件法を利用した場合の顔方向検出範囲は、２個の光学系とステレオ法を利用した場合の顔方向検出範囲よりも広い。なお、以下の説明において、拘束条件法で導出された結果を、単に「顔方向」（顔姿勢）と呼ぶ。
【００２３】
しかし、拘束条件法は、顔方向に対して視線が動いた場合に、特徴点間距離が変化する。例えば、対象者Ａが頭部を動かすことなく視線のみを移動させた場合や、対象者Ａがある点を注視した状態で頭部のみを移動させた場合が挙げられる。この場合には、特徴点間距離が変化する。図３（ａ）は、顔方向（顔姿勢ベクトルＶＢの方向）と視線Ｇが一致しているときに、３個の特徴点の座標Ｐ１，Ｐ２，Ｐ０により規定される平面Ｂ１と、その法線ベクトル（顔姿勢ベクトルＶＦ）を示す。図３（ｂ）は、図３（ａ）の状態から顔方向を固定したままで視線を変化させた場合における、３個の特徴点の座標Ｐ１，Ｐ２，Ｐ０により規定される平面Ｂ２と、その法線ベクトル（顔姿勢ベクトルＶＦ）を示す。理想的には、顔方向は固定されたままであるので、顔姿勢ベクトルＶＦも変化しないはずである。しかし、図３（ｂ）に示されるように、視線を変化させることによって、３個の特徴点の座標Ｐ１，Ｐ２，Ｐ０により規定される平面Ｂ２が変化している。換言すると、距離Ｌ１，Ｌ２，Ｌ３が変化している。従って、実際の特徴点間距離と、顔方向の導出に利用する特徴点間距離とに差異が生じ、導出される顔方向に誤差（偏り誤差）が発生する。すなわち、拘束条件法では、顔方向と視線とのずれに起因する誤差が生じ得る。図４に示されるように、対象者Ａの顔方向ｎａをディスプレイ装置４０の中心の点Ａ１に向けた状態で、視線Ｇだけをディスプレイ装置４０の左斜め下に設定した点Ａ２に向けると、導出される顔方向は点ｎeになる。例えば、対象者Ａの顔方向を固定した状態で、視線だけを左右に±１０度ほど動かすと、顔方向は真値から左右に±５度程度偏って検出される。視線は左右に±３０度程度までは検出できるため、顔方向は更に大きく偏って検出されることになる。
【００２４】
一方、ステレオ法では、顔方向と視線とのずれに起因する誤差はほとんど問題にならない。なぜならば、ステレオ法では、特徴点の三次元座標をステレオマッチングにより独立に検出する。このような三次元座標を利用して導出される顔姿勢ベクトルは、顔方向と視線との間でずれが発生した状態であっても、ほとんどその影響を受けない。この理由は、眼球が眼窩の中で±３０程度回転しても、瞳孔の奥行き方向の位置は大きく変化しないためである。しかし、ステレオ法は、ステレオマッチングの処理過程において、顔画像毎に含まれる独立したノイズが、算出される特徴点の三次元座標にも影響を与え、ひいては顔姿勢ベクトルにも影響を及ぼす。具体的には、顔画像に含まれたノイズは、顔姿勢ベクトルにおけるランダムノイズの要因となり得る。このランダムノイズは、平均化処理により低減することが可能である。この平均化処理された顔姿勢ベクトルは、拘束条件法で導出される顔姿勢ベクトルに比べて真の顔方向に対するずれが小さい。なお、以下の説明においてステレオ法で導出された結果を「基準顔方向」（基準顔姿勢）と呼ぶ。
【００２５】
発明者らは、基準顔方向と視線との間の第１角度は、顔方向と基準顔方向と間の第２角度と関係があることを見出した。本実施形態の顔検出方法は、拘束条件法で導出した顔方向に対して、顔方向と視線とのずれに起因して生じる誤差を補正することにより、安定度が高く且つ正確な顔方向を導出する。具体的には、拘束条件法で導出した顔方向から、ステレオ法で導出した顔方向を推定する。
【００２６】
具体的な原理について図５を用いて説明する。Ｇは視線であり、Ｈ１は拘束条件法で検出された顔方向であり、Ｈ２はステレオ法で検出された基準顔方向であるとする。視線Ｇと基準顔方向Ｈ２の間の角度は角度∠Ｇである。基準顔方向Ｈ２と顔方向Ｈ１との間の角度は角度∠Ｈである。
【００２７】
図６（ａ）に示されるように、基準顔方向Ｈ２と視線Ｇが一致するときには、顔方向Ｈ１は、基準顔方向Ｈ２と一致する。一方、図６（ｂ）に示されるように、基準顔方向Ｈ２が視線Ｇと一致しないときには、顔方向Ｈ１は、基準顔方向Ｈ２に対して偏る。ここで、新たな角度∠Ｇ’を定義する。角度∠Ｇ’は式（１）により示される。すなわち、角度∠Ｇ’は顔方向Ｈ１と視線Ｇとの間の角度であるともいえる。そして、角度∠Ｇ’と角度∠Ｈとの間には、下記式（２）により示される線形関係があると仮定する。ここで、式（２）における係数ｋ１，ｋ２は、対象者の顔方向Ｈ１と視線Ｇとの間の角度∠Ｇ’（第１角度）及び基準顔方向Ｈ２と顔方向Ｈ１の間の角度∠Ｈ（第２角度）の関係を規定する係数である。
【数１】
0006452235.tif 000002
【数２】
0006452235.tif 000003
まず、対象者の顔方向（頭部方向）と視線Ｇとのそれぞれをいろいろな方向へ向けながら角度∠Ｇ’と角度∠Ｈとを有するデータを収集する。それらデータは、図１６に示されるように、横軸が角度∠Ｇ’であり縦軸が角度∠Ｈである二次元座標にプロットされる。角度∠Ｇ’と角度∠Ｈとは、式（２）の関係を有する。従って、例えば最小二乗法等を利用して近似式を算出することにより、係数ｋ１，ｋ２を求めることができる。そうすると、係数ｋ１，ｋ２によって決定された関数を利用して、角度∠Ｇ’から角度∠Ｈを算出することが可能になる。そして、角度∠Ｈと顔方向Ｈ１とを角度∠Ｈの定義に適用すると、真値に近い基準顔方向Ｈ２を推定できる。なお、角度∠Ｈが大きくなった場合には、非線形成分を考慮することが望ましい。その場合には、下記式（３）に示される非線形関係式を使用してもよい。
【数３】
0006452235.tif 000004
【００２８】
なお、式（１）〜（３）は、Ｘ軸とＹ軸とにおいて、それぞれ独立に求めることが可能である。ただし、ここでいうＸ軸、Ｙ軸とは、顔座標系における軸である。すなわち、式（１）〜（３）は、顔座標系の上で成立する。顔方向Ｈ１の検出にあたっては、まず、様々な方向へ視線Ｇと顔方向Ｈ１を向けて、それらの方向を計測する。この計測は、世界座標系（第１の座標系）を基準として行われる。次に、世界座標系を基準とした視線Ｇと顔方向Ｈ１を顔座標系（第２の座標系）に変換する。次に、顔座標系において上記関係式（１）〜（３）を利用して、補正された顔方向Ｈ１を算出する。そして、顔座標系における補正された顔方向Ｈ１を、世界座標系に基づくように座標変換する。これらの処理により、精度の良い顔方向Ｈ１が取得される。図２におけるＺ軸は顔方向である。Ｘ軸はＺ軸に直交する水平軸である。Ｙ軸はＺ軸に直交する垂直軸である。例えば、Ｘ軸に沿って顔方向が移動するということは、Ｙ軸を周りに頭部が回転することを意味する。
【００２９】
このように、顔座標系に変換した上での補正は、頭部を左右に傾けた時に、特に有効である。なぜならば、世界座標系で対象者が左右に視線を動かしても、顔座標系では、純粋にＹ軸周りの眼球回転だけでなく、Ｘ軸周りの眼球回転成分も含まれるためである。すなわち、頭蓋骨に対して視線が斜め方向に動くためである。また、人間の場合、正面を見た時に、２個の瞳孔に対して、鼻孔間中心が前方に突出している。そうすると、顔座標系を基準とした顔方向は対象者が正面と思っている方向よりも上方を向く。従って、この場合に、対象者が視線をＸ軸方向に動かしたとしても、顔座標系の上では、Ｙ軸方向の成分が現れる。
【００３０】
上述したように、対象者が感じる正面に対して計測される顔正面（顔方向）は大きく上にずれている。従って、図６や図８で示されるように画面の中央に顔座標系を基準とした顔方向を向けるためには、頭部を大きく下に傾けることになる。これを解決するためには、顔方向（正面）の補正を行う。具体的には、注視点（視線）較正を行うにあたって、画面の中央に視標を提示し一点較正を行う。この一点較正を行うとき、対象者は予め画面の中央に顔の正面を向ける。この間に、世界座標系において、顔位置から画面中央へ向かう方向ベクトルを求める。ここで、顔位置は、一例として、重心や瞳孔間中点と規定することができる。なぜならば、視線も片眼毎ではなく、瞳孔間中点から画面中央へ直線と考えた方がよいためである。すなわち、起点を同じにする意味で理想的である。更に、このベクトルを顔座標系におけるベクトルに変換する。これにより、頭蓋骨に対する顔正面を意味する顔正面ベクトルが決定される。その後は、フレーム毎に、世界座標系における顔座標系の姿勢を求めて、それから顔座標系から世界座標系への座標変換式を求める。その座標変換式を利用して、先に求めた顔座標系における顔正面ベクトルを、顔座標系から世界座標系に変換すれば、顔方向ベクトルが求まる。この顔方向ベクトルの方向に顔位置を起点として直線を伸ばし、その直線と画面との交点を画面上の正面位置をすることができる。
【００３１】
図７に示されるように、顔検出方法は、主要なステップとして、画像取得ステップＳ１と、前処理ステップＳ２と、関数導出ステップＳ３と、画像取得ステップＳ４と、前処理ステップＳ５と、顔姿勢導出ステップＳ６と、顔姿勢補正ステップＳ７と、を有する。顔検出方法では、関数導出ステップＳ３を予め実施し、関数導出ステップＳ３で導出された関数（式（２）参照）をもって顔姿勢導出ステップＳ６及び顔姿勢補正ステップＳ７を繰り返し実施する。なお、顔検出方法では、関数導出ステップＳ３、顔姿勢導出ステップＳ６、顔姿勢補正ステップＳ７をこの順で繰り返し実施してもよい。この場合には、処理を繰り返す毎に、関数が更新され、徐々に顔方向の検出精度が向上することになる。
【００３２】
まず、画像取得ステップＳ１を実施する。画像取得ステップＳ１では、瞳孔用カメラ（撮像手段）１０と鼻孔用カメラ２０を制御して、複数の画像データ（顔画像）を取得する。画像データには、明瞳孔画像、暗瞳孔画像、鼻孔画像がある。画像取得ステップＳ１の詳細については、後述する。画像取得ステップＳ１の後に、前処理ステップＳ２を実施する。前処理ステップＳ２では、画像取得ステップＳ１で取得された画像データ（顔画像）を利用して、対象者Ａの顔方向及び視線を導出する。ここで、前処理ステップＳ２は、角度∠Ｇ’と角度∠Ｈとを世界座標系（第１の座標系）において取得するステップＳ２ａと、角度∠Ｇ’と角度∠Ｈとを顔座標系（第２の座標系）に座標変換するステップＳ２ｂとを含む。また、導出される顔方向は、ステレオ法により導出された結果と、拘束条件法により導出された結果とを含む。更に、導出される視線は、ステレオ法により導出された結果を含む。前処理ステップＳ２の詳細については、後述する。前処理ステップＳ２の後に、関数導出ステップＳ３を実施する。関数導出ステップＳ３では、前処理ステップＳ２で導出された顔方向及び視線を利用して、顔方向を補正するための関数（式（２）参照）を導出する。関数導出ステップＳ３は、上記式（２）に示された係数ｋ１，ｋ２を算出することにより関数（式（２））を決定するステップＳ３ａを含む。式（２）に示されるように、関数は、係数ｋ１，ｋ２含む。関数を導出するとは、この係数ｋ１，ｋ２を決定することである。関数導出ステップＳ３の詳細については、後述する。
【００３３】
以上の画像取得ステップＳ１、前処理ステップＳ２、関数導出ステップＳ３は、顔検出装置１の起動毎、又は、所望のタイミングで実行される。
【００３４】
次に、画像取得ステップＳ４を実施して画像データ（顔画像）を取得し、画像取得ステップＳ４の後に前処理ステップＳ５を実施する。続いて、前処理ステップＳ５の後に、顔姿勢導出ステップＳ６を実施する。顔姿勢導出ステップＳ６では、拘束条件法を利用して、顔方向を導出する。顔姿勢導出ステップＳ６では、特徴点間距離を拘束条件として利用する。この特徴点間距離は、予め取得された値を利用してもよいし、前処理ステップＳ２においてステレオ法を利用して算出した特徴点の三次元座標を利用してもよい。これは、視線検出（注視点検出）をするとき、１秒程度の注視をする間に同時に行うことができる。顔姿勢導出ステップＳ６の詳細については後述する。
【００３５】
顔姿勢導出ステップＳ６の後に、顔姿勢補正ステップＳ７を実施する。顔姿勢補正ステップＳ７では、関数と前処理ステップＳ２で検出された視線とを利用して、顔方向を補正する。顔姿勢補正ステップＳ７の詳細については、後述する。そして、再び画像取得ステップＳ４を実施する。これら画像取得ステップＳ４、前処理ステップＳ５、顔姿勢導出ステップＳ６、顔姿勢補正ステップＳ７を繰り返し実行する。
【００３６】
この顔検出方法は、基準部位群における部位間の距離を拘束条件として利用する拘束条件法によって顔方向Ｈ１を導出する。従って、ランダムノイズの少ない安定した結果を得ることができる。そして、顔検出方法では、関数（式（２））を利用して顔方向Ｈ１を補正する。この関数は、対象者Ａの視線Ｇと基準顔方向Ｈ２の間の第１角度、及び顔方向Ｈ１と基準顔方向Ｈ２の間の第２角度の関係を規定する係数ｋ１，ｋ２を含んでいるので、導出された顔方向Ｈ１を、基準顔方向Ｈ２に相当する結果に変換する。ここで、基準顔方向Ｈ２は、ステレオマッチングにより導出された結果であるので、真の顔方向に対する偏りが小さい。このため、ランダムノイズの少ない安定した顔方向Ｈ１が、真の顔方向に対する偏りが小さい顔方向に補正される。従って、顔検出における精度を向上することができる。
【００３７】
また、顔検出方法によれば、拘束条件法により得られた顔方向Ｈ１を、フレーム毎に補正することができる。この顔検出方法により得られた顔方向は、拘束条件法が有する高い安定性と、ステレオ法が有する正確性とを有している。
【００３８】
関数導出ステップＳ３は、係数ｋ１，ｋ２を導出するステップを含む。この関数導出ステップＳ３によれば、第１角度及び第２角度の関係を規定する係数ｋ１，ｋ２を含む関数（上記式（２））を導出することができる。
【００３９】
関数導出ステップＳ３を１回実行した後に、顔姿勢導出ステップＳ６と顔姿勢補正ステップＳ７と、を繰り返し実行する。この方法では、顔姿勢導出ステップＳ６と、顔姿勢補正ステップＳ７を実行するときに、既に補正のための関数が得られている。従って、顔姿勢導出ステップＳ６と、顔姿勢補正ステップＳ７を実行し始めた直後から、顔検出における検出精度を向上することができる。
【００４０】
顔検出方法では、関数導出ステップＳ３と前処理ステップＳ５と顔姿勢導出ステップＳ６と顔姿勢補正ステップＳ７と、この順で繰り返し実行することとしてもよい。この方法によれば、顔姿勢導出ステップＳ６と顔姿勢補正ステップＳ７を実行する毎に、関数導出ステップＳ３も実行される。関数導出ステップＳ３の繰り返しにより係数ｋ１，ｋ２が更新されて所定の値に収束する。従って、事前に関数を準備することなく、顔姿勢導出ステップＳ６と、顔姿勢補正ステップＳ７とを実行することができる。
【００４１】
顔検出方法は、世界座標系を基準として取得された角度∠Ｇ’と角度∠Ｈとを顔座標系に座標変換した後に関数を決定し、得られた関数を世界座標系に座標変換する。この方法によれば、顔姿勢の検出精度を高めることができる。
【００４２】
＜実施例＞
顔検出方法における顔方向の補正効果を確認した。まず、ディスプレイ装置４０の中心から７５ｃｍ離間した位置に対象者Ａの顎を固定する台を配置した。対象者は、この台に顎を載せて顔面をディスプレイ装置４０に対して正対させた。この状態では、対象者Ａの顔方向は、ディスプレイ装置４０の中心に向かう方向である。この状態において、まず注視点の一点較正を実施した。次に、対象者Ａは、ディスプレイ装置４０上に表示した９個の視標ＴＧに順次視線を向けた。各視標ＴＧを注視する時間はおよそ１秒間である。図８（ａ）は、顔検出方法に係る補正を行わなかった場合の結果を示し、図８（ａ）は、顔検出方法に係る補正を行った場合の結果を示す。破線の丸印Ｃは、顔検出装置１によって検出された顔方向を示す。図８（ａ）に示されるように、補正を行わない場合、実際の顔方向は固定されているにも関わらず、導出される顔方向は、二点鎖線に示される領域Ｄ１の範囲でばらついた。具体的には、領域Ｃ１の範囲は、４０ｍｍ〜５０ｍｍ程度であった。一方、図８（ｂ）に示されるように、補正を行った場合、二点鎖線に示される領域Ｄ２の範囲が縮小した。具体的には、領域Ｃ２の範囲は、１０ｍｍ以下であった。従って、顔検出方法によれば、顔方向の誤差を低減できることが確認できた。
【００４３】
以下、本実施形態に係る顔検出方法の具体的な形態、顔検出方法を実施するための顔検出装置１及び顔検出プログラムについて詳細に説明する。
【００４４】
＜顔姿勢検出装置＞
図１に示されるように、顔検出装置１は、ステレオカメラとして機能する一対の瞳孔用カメラ（撮像手段）１０と、一対の鼻孔用カメラ２０と、画像処理装置（処理手段）３０とを備える。以下では、必要に応じて、一対の瞳孔用カメラ１０を、対象者Ａの左側にある左側瞳孔用カメラ１０Ｌと、対象者Ａの右側にある右側瞳孔用カメラ１０Ｒとに区別する。また、一対の鼻孔用カメラ２０を、対象者Ａの左側にある左側鼻孔用カメラ２０Ｌと、対象者Ａの右側にある右側鼻孔用カメラ２０Ｒとに区別する。本実施形態では、顔検出装置１は、対象者Ａが見る対象であるディスプレイ装置４０を更に備えるが、顔検出装置１の利用目的は上記のように限定されないので、対象者Ａの視線の先にあるものはディスプレイ装置４０に限定されず、例えば自動車のフロントガラスでもあり得る。従って、ディスプレイ装置４０は顔検出装置１における必須の要素ではない。４台のカメラ１０，２０は何れも画像処理装置３０と無線又は有線により接続され、各カメラ１０，２０と画像処理装置３０との間で各種のデータ又は命令が送受信される。各カメラ１０，２０に対しては予めカメラ較正が行われる。
【００４５】
瞳孔用カメラ１０及び鼻孔用カメラ２０は何れも対象者Ａの顔を撮像する装置である。瞳孔用カメラ１０は特に対象者Ａの瞳孔及びその周辺を撮影するために用いられる。鼻孔用カメラ２０は特に対象者Ａの瞳孔、鼻孔、及びこれらの周辺を撮影するために用いられる。瞳孔用カメラ１０は瞳孔光学系であり、鼻孔用カメラ２０は鼻孔光学系である。本明細書では、瞳孔用カメラ１０により得られる画像を瞳孔画像（明瞳孔画像または暗瞳孔画像）といい、鼻孔用カメラ２０により得られる画像を鼻孔画像という。
【００４６】
瞳孔用カメラ１０及び鼻孔用カメラ２０は、対象者Ａが眼鏡をかけているときの顔画像における反射光の写り込みを防止する目的で、対象者Ａの顔より低い位置に設けられる。一対の瞳孔用カメラ１０は水平方向に沿って所定の間隔をおいて配される。一対の鼻孔用カメラ２０は、一対の瞳孔用カメラ１０より低くかつ水平方向に沿って所定の間隔をおいて配される。鼻孔用カメラ２０を瞳孔用カメラ１０より下に配置するのは、対象者が顔を下に向けた場合でも鼻孔を検出できるようにするためである。水平方向に対する瞳孔用カメラ１０及び鼻孔用カメラ２０の仰角は、瞳孔の確実な検出と対象者Ａの視野範囲の妨げの回避との双方を考慮して、例えば２０度〜３５度の範囲に設定される。あるいは、瞳孔用カメラ１０の仰角が２０度〜３０度の範囲に設定され、鼻孔用カメラ２０の仰角が２５度〜３５度程度の範囲に設定されてもよい。
【００４７】
本実施形態では、瞳孔用カメラ１０及び鼻孔用カメラ２０は、インターレーススキャン方式の一つであるＮＴＳＣ方式のカメラである。ＮＴＳＣ方式では、１秒間に３０枚得られる１フレームの画像データ（顔画像）は、奇数番目の水平画素ラインで構成される奇数フィールドと、偶数番目の水平画素ラインで構成される偶数フィールドから構成され、奇数フィールドの画像と偶数フィールドの画像とが１／６０秒の間隔で交互に撮影されることで生成される。従って、一つのフレームは、一対の奇数フィールド及び偶数フィールドに相当する。瞳孔用カメラ１０及び鼻孔用カメラ２０はそれぞれ、画像処理装置３０からの命令に応じて対象者Ａを撮像し、画像データ（顔画像）を画像処理装置３０に出力する。
【００４８】
瞳孔用カメラ１０及び鼻孔用カメラ２０は光源を備える。図９に示されるように、瞳孔用カメラ１０及び鼻孔用カメラ２０は、対物レンズ１１が円形状の開口部１２に収容され、開口部１２の外側に光源１３が設けられている。光源１３は、対象者Ａの顔に向けて照明光を照射するための機器であり、複数の発光素子１３ａと複数の発光素子１３ｂとから成る。発光素子１３ａは、出力光の中心波長が８５０ｎｍの半導体発光素子（ＬＥＤ）であり、開口部１２の縁に沿って等間隔でリング状に配される。発光素子１３ｂは、出力光の中心波長が９４０ｎｍの半導体発光素子であり、発光素子１３ａの外側に等間隔でリング状に配される。従って、瞳孔用カメラ１０の光軸から発光素子１３ｂまでの距離は、該光軸から発光素子１３ａまでの距離よりも大きい。それぞれの発光素子１３ａ，１３ｂは、瞳孔用カメラ１０の光軸に沿って照明光を出射するように設けられる。なお、光源１３の配置は図２に示す構成に限定されず、カメラをピンホールモデルとみなすことができれば他の配置であってもよい。なお、鼻孔用カメラ２０は、光源１３を備えていなくてもよい。この場合には、鼻孔用カメラ２０は、瞳孔用カメラ１０の光源１３により照らされた対象者Ａの顔を撮影する。すなわち、鼻孔用カメラ２０は光源１３からの光を利用して撮影を行う。
【００４９】
鼻孔は後述する角膜反射に比べて寸法が大きいので、瞳孔用カメラ１０より分解能が低いカメラを鼻孔用カメラ２０として用いても鼻孔を検出することができる。すなわち、鼻孔用カメラ２０の分解能は瞳孔用カメラ１０の分解用カメラより低くてもよい。例えば、瞳孔用カメラ１０の分解能が６４０ピクセル×４８０ピクセルであるのに対して、鼻孔用カメラ２０の分解能が３２０ピクセル×２４０ピクセルであってもよい。
【００５０】
画像処理装置３０は、瞳孔用カメラ１０及び鼻孔用カメラ２０の制御と、対象者Ａの視線及び顔方向の算出（検出）とを実行するコンピュータである。画像処理装置３０は、据置型又は携帯型のパーソナルコンピュータ（ＰＣ）により構築されてもよいし、ワークステーションにより構築されてもよいし、他の種類のコンピュータにより構築されてもよい。あるいは、画像処理装置３０は複数台の任意の種類のコンピュータを組み合わせて構築されてもよい。複数台のコンピュータを用いる場合には、これらのコンピュータはインターネットやイントラネットなどの通信ネットワークを介して接続される。
【００５１】
図１０に示されるように、画像処理装置３０は、ＣＰＵ（プロセッサ）１０１と、主記憶部１０２と、補助記憶部１０３と、通信制御部１０４と、入力装置１０５と、出力装置１０６とを備える。ＣＰＵ１０１は、オペレーティングシステムやアプリケーション・プログラムなどを実行する。主記憶部１０２は、ＲＯＭ及びＲＡＭで構成される。補助記憶部１０３は、ハードディスクやフラッシュメモリなどで構成される。通信制御部１０４は、ネットワークカードあるいは無線通信モジュールで構成される。入力装置１０５は、キーボードやマウスなどを含む。出力装置１０６は、ディスプレイやプリンタなどを含む。
【００５２】
後述する画像処理装置３０の各機能要素は、ＣＰＵ１０１又は主記憶部１０２の上に所定のソフトウェアを読み込ませ、ＣＰＵ１０１の制御の下で通信制御部１０４や入力装置１０５、出力装置１０６などを動作させ、主記憶部１０２又は補助記憶部１０３におけるデータの読み出し及び書き込みを行うことで実現される。処理に必要なデータやデータベースは主記憶部１０２又は補助記憶部１０３内に格納される。
【００５３】
図１１に示すように、画像処理装置３０は機能的構成要素として画像取得部３１、前処理部３２、関数導出部３３、顔姿勢導出部３４及び顔姿勢補正部３６を備える。画像取得部３１は、瞳孔用カメラ１０及び鼻孔用カメラ２０の撮影タイミングと瞳孔用カメラ１０の光源１３の発光タイミングとを制御することで、瞳孔用カメラ１０及び鼻孔用カメラ２０から画像データ（顔画像）を取得する機能要素である。前処理部３２は、画像データ（顔画像）に基づいて顔姿勢ベクトル及び視線を算出する機能要素である。前処理部３２は、角度取得部３２ａと、座標変換部（第１の座標変換部）３２ｂと、を有する。角度取得部３２ａは、角度∠Ｇ’及び角度∠Ｈを世界座標系において取得する。座標変換部３２ｂは、世界座標系において取得された角度∠Ｇ’及び角度∠Ｈを、世界座標系とは異なる顔座標系に変換する。関数導出部３３は、特徴点の三次元座標に基づいて顔方向を補正するための関数を導出する機能要素である。関数導出部３３は、関数決定部３３ａを有する。関数決定部３３ａは、上記式（２）に示された係数ｋ１，ｋ２を算出する。顔姿勢導出部３４は、拘束条件法を利用して顔方向を導出する機能要素である。顔姿勢補正部３６は、顔姿勢導出部３４により導出された顔方向を補正する機能要素である。顔姿勢補正部３６は、第１の座標変換部３６ａと、角度取得部３６ｂと、方向補正部３６ｃと、第２の座標変換部３６ｄとを有する。補正された顔方向の出力先は何ら限定されない。例えば、画像処理装置３０は結果を画像、図形、又はテキストでモニタに表示してもよいし、メモリやデータベースなどの記憶装置に格納してもよいし、通信ネットワーク経由で他のコンピュータシステムに送信してもよい。
【００５４】
この顔検出装置１は、上述した顔検出方法と同様の効果を得ることができる。すなわち、顔検出装置１は、基準部位群における部位間の距離を拘束条件として利用する拘束条件法によって顔方向Ｈ１を導出する。従って、ランダムノイズの少ない安定した結果を得ることができる。そして、顔検出装置では、関数（式（２））を利用して顔方向Ｈ１を補正する。この関数は、対象者Ａの視線Ｇと基準顔方向Ｈ２の間の第１角度、及び顔方向Ｈ１と基準顔方向Ｈ２の間の第２角度の関係を規定する係数ｋ１を含んでいるので、導出された顔方向Ｈ１を、基準顔方向Ｈ２に相当する結果に変換する。ここで、基準顔方向Ｈ２は、ステレオマッチングにより導出された結果であるので、真の顔方向に対する偏りが小さい。このため、ランダムノイズの少ない安定した顔方向Ｈ１が、真の顔方向に対する偏りが小さい顔方向に補正される。従って、顔検出における精度を向上することができる。
【００５５】
また、顔検出装置１は、２台以上の鼻孔用カメラ２０を互いに離間させて配置しているので、顔方向Ｈ１の検出範囲を広げることができる。例えば、顔検出装置１は、鼻孔用カメラ２０を正面にして各方向に±３０度〜±４０度の範囲で対象者Ａの顔方向Ｈ１を検出できる。ここで、基準顔方向Ｈ２の検出用光学系（図１における右側瞳孔用カメラ１０Ｒ、左側瞳孔用カメラ１０Ｌ）は、例えば互いに３０度程度離れているとする。この場合に、対象者Ａから向かって左に１５度のところに存在する左側瞳孔用カメラ１０Ｌでは、対象者Ａが右側に３０度を超えた位置を注視したときには顔方向を検出できない（光学系を正面にして左右±４５度の範囲で検出できる）。このような場合に、１枚の画像データ（顔画像）によって顔方向を導出できる拘束条件法が有利である。
【００５６】
以下、顔検出方法における、画像取得ステップＳ１、前処理ステップＳ２、関数導出ステップＳ３、画像取得ステップＳ４、前処理ステップＳ５、顔姿勢導出ステップＳ６、及び顔姿勢補正ステップＳ７の具体的態様について詳細に説明する。
【００５７】
＜画像取得ステップＳ１＞
眼に入った光は網膜で乱反射し、反射光のうち瞳孔を通り抜けた光は強い指向性をもって光源へ戻る性質がある。カメラの開口部近くにある光源が発光した時にカメラを露光させると、網膜で反射した光の一部がその開口部に入るため、瞳孔が瞳孔周辺よりも明るく写った画像を取得することができる。この画像が明瞳孔画像である。これに対して、カメラの開口部から離れた位置にある光源が発光した時にカメラを露光させると、眼から戻ってきた光はカメラの開口部にほとんど戻らないため、瞳孔が暗く写った画像を取得することができる。この画像が暗瞳孔画像である。また、透過率が高い波長の光を眼に照射すると、網膜での光の反射が多くなるので瞳孔が明るく写り、透過率が低い波長の光を眼に照射すると、網膜での光の反射が少なくなるので瞳孔が暗く写る。
【００５８】
（明瞳孔画像と暗瞳孔画像の取得）
画像取得部３１は、瞳孔用カメラ１０の奇数フィールドに合わせて発光素子１３ａを点灯させて明瞳孔画像を撮影し、瞳孔用カメラ１０の偶数フィールドに合わせて発光素子１３ａを点灯させて暗瞳孔画像を撮影する。画像取得部３１は２個の瞳孔用カメラ１０の間で作動タイミングをわずかにずらし、個々の瞳孔用カメラ１０の露光時間はそのずらし時間以下に設定される。画像取得部３１は、瞳孔用カメラ１０の露光時間中に、対応する発光素子１３ａ及び発光素子１３ｂを交互に発光させることで、一方の瞳孔用カメラ１０の光源１３からの光が他方の瞳孔用カメラ１０の画像に影響を与えないようにする（クロストークが起こらないようにする）。
【００５９】
画像取得部３１は、これらの一連の制御により得られる明瞳孔画像及び暗瞳孔画像を取得する。得られる画像データは、奇数フィールド又は偶数フィールドのみに有効画素を有しているため、画像取得部３１は、隣接する有効画素の画素ラインの輝度平均をそのライン間の画素値に埋め込むことによって、明瞳孔画像又は暗瞳孔画像を生成する。画像取得部３１は明瞳孔画像及び暗瞳孔画像を前処理部３２に出力する。
【００６０】
（鼻孔画像の取得）
画像取得部３１は、光源１３の点灯に同期させて鼻孔画像を撮影する。点灯される発光素子は、発光素子１３ａ，１３ｂの何れでもよい。画像取得部３１は鼻孔画像を前処理部３２に出力する。
【００６１】
＜前処理ステップＳ２＞
前処理ステップＳ２は、瞳孔位置を検出するステップと、鼻孔を検出するステップと、ステレオ法による顔姿勢ベクトルの導出ステップと、拘束条件法による顔姿勢ベクトルの導出ステップと、視線の検出ステップと、を有する。
【００６２】
（瞳孔位置の検出）
前処理部３２は、２画像の差分を取ることで差分画像を生成する。そして、前処理部３２は差分画像から対象者Ａにおける左右の瞳孔の位置を算出する。連続する２フィールドの一方は明瞳孔画像であり他方は暗瞳孔画像である。ｉ番目のフィールドの画像が撮影されてから（ｉ＋１）番目のフィールドの画像が撮影されるまでの間に対象者Ａの頭部が動かなければ、単純に明瞳孔画像及び暗瞳孔画像の差を取ることで、瞳孔部分が浮かび上がった差分画像を生成することができる。
【００６３】
ここで、前処理部３２は、差分を取る前に、連続する２フィールドの画像のうち、先に得られた画像の位置を後から得られた画像の位置に合わせ（この処理を位置補正という）を実行してもよい。具体的には、前処理部３２は、差分画像を得る前に明瞳孔画像及び暗瞳孔画像に対して位置補正を実行してもよい。ｉ番目のフィールドの画像が撮影されてから（ｉ＋１）番目のフィールドの画像が撮影されるまでの間のわずかな時間に対象者Ａの頭部が動くと、これら２画像の間で瞳孔の位置に偏りが生じ、その結果、良好な差分画像を得ることができない。従って、瞳孔用カメラ１０及び鼻孔用カメラ２０のフレームレートが高速ではない場合に、位置補正の適用が有効である。本実施形態での位置補正には、顔方向の予測に基づく位置補正と、その後に行われる、角膜反射に基づく位置補正の２種類がある。
【００６４】
瞳孔検出の方法は前フィールド（ｉ番目のフィールド）での瞳孔の検出結果（前回の瞳孔検出結果）によって下記の３種類に分類される。
（１）前フィールド（前回の瞳孔検出）で両瞳孔を検出できた場合。
（２）前フィールド（前回の瞳孔検出）で片方の瞳孔のみを検出できた場合。
（３）前フィールド（前回の瞳孔検出）で両瞳孔を検出できなかった場合。
【００６５】
前フィールドで両瞳孔を検出できた場合には、前処理部３２は瞳孔追跡により両瞳孔を決定し、左右の瞳孔の中心座標を算出する。まず、前処理部３２は、予測瞳孔位置の三次元座標を、後述する式（６）を用いて撮像平面（瞳孔画像）上の二次元座標に変換する。また、前処理部３２は、次フィールド（（ｉ＋１）番目のフィールド）の瞳孔画像を画像取得部３１から取得する。続いて、前処理部３２は予測瞳孔位置の二次元座標を中心とする小ウィンドウ（例えば７０ピクセル×７０ピクセル）を次フィールドの瞳孔画像に設定する。一方、前フィールドの画像に対しては、前処理部３２は既に検出されている二次元座標を中心とする小ウィンドウを設定する。続いて、前処理部３２は前フィールドのウィンドウの位置を次フィールドのウィンドウの位置に合わせ、明瞳孔画像と暗瞳孔画像との差分を取る。続いて、前処理部３２は、その処理で得られた差分画像に対してＰタイル法によって決定された閾値で２値化を行った後、孤立点除去及びラベリングを行う。続いて、前処理部３２は、瞳孔らしい面積、サイズ、面積比、正方形度、及び瞳孔特徴量等の形状パラメータに基づいて、ラベルづけされた画素の連結成分の中から瞳孔候補を選択する。そして、前処理部３２は二つの瞳孔候補の関係が所定の関係にあるものを左右の瞳孔として決定し、画像データにおける左右の仮の瞳孔位置を求める。すなわち、前処理部３２は、ピンホールモデルを用いて顔姿勢から予測された瞳孔の三次元座標を撮像平面に投影してから、位置補正を実行して差分画像を生成し、その差分画像に基づいて瞳孔を特定する。
【００６６】
前フィールドで片方の瞳孔のみ検出された場合には、前処理部３２は、検出された方の瞳孔については、上記と同様の瞳孔追跡により瞳孔を決定し、仮の瞳孔位置を求める。一方、検出されなかった方の瞳孔については、前処理部３２は検出された方の瞳孔の位置から所定の距離（例えば３０ピクセル）だけ離れた位置に中ウィンドウ（例えば１５０ピクセル×６０ピクセル）を設定し、その中ウィンドウについて差分画像を生成する。そして、前処理部３２はその差分画像に対して、上記と同様の手順で瞳孔候補を選択する。そして、前処理部３２は瞳孔候補の中で面積が最も大きいものを他方の仮の瞳孔位置として決定する。
【００６７】
前フィールドで両瞳孔を検出できなかった場合には、前処理部３２は画像全体から瞳孔を探索する。具体的には、前処理部３２は、前フィールドの画像と次フィールドの画像との差分を取ることで得た差分画像に対して、上記と同様の手順で瞳孔候補を選択する。そして、前処理部３２は二つの瞳孔候補の関係が所定の関係にあるものを左右の瞳孔として決定し、画像データにおける左右の仮の瞳孔位置を求める。
【００６８】
続いて、前処理部３２は角膜反射の位置を考慮して最終的な瞳孔位置を確定する。具体的には、前処理部３２は、明瞳孔画像及び暗瞳孔画像のそれぞれに対して、仮の瞳孔位置を中心とした小ウィンドウを設定し、その小ウィンドウの範囲のみを高分解像度化した画像データを作成し、その画像データから角膜反射を検出する。前処理部３２は、小ウィンドウ内において、Ｐタイル法による２値化とラベリングとを行い、形状や輝度平均などの情報から角膜反射候補を選択する。そして、前処理部３２は選択した部分の中心座標に対し分離度フィルタを与え、分離度と輝度を乗算して得られる特徴量を求める。その特徴量が一定値以上であれば、前処理部３２は小ウィンドウの中心座標を仮の角膜反射座標として検出し、二つの小ウィンドウの間での角膜反射の移動量を位置補正量として計算する。続いて、前処理部３２は明瞳孔画像及び暗瞳孔画像の間で角膜反射点が一致するように、前フィールド（ｉ番目のフィールド）の画像を、次フィールド（（ｉ＋１）番目のフィールド）の画像に位置補正量だけずらした上で、これら２画像から差分画像を生成する。一方、角膜反射を検出できなかった場合には、前処理部３２は位置補正を行うことなく２画像の差分を取ることで差分画像を生成する。
【００６９】
続いて、前処理部３２は差分画像から最終的な瞳孔位置を確定する。具体的には、前処理部３２は、前フレームと輝度が大きく変化しないことを利用して、前フレームで検出された瞳孔の輝度平均を利用して、その平均輝度の半分の値を閾値として差分画像を２値化し、ラベリングを行う。続いて、前処理部３２は、瞳孔らしい面積、サイズ、面積比、正方形度、及び瞳孔特徴量等の形状パラメータに基づいて、ラベルづけされた画素の連結成分の中から瞳孔候補を選択する。そして、前処理部３２は、予測瞳孔位置の近くにある瞳孔候補が求めるべき瞳孔であると判定し、その瞳孔の中心座標を算出する。
【００７０】
（鼻孔の検出）
前処理部３２は、鼻孔があると推定される鼻孔画像内の位置にウィンドウを設定し、そのウィンドウ内を処理することで鼻孔を検出する。なお、前処理部３２は、瞳孔の三次元位置に基づいて、鼻孔があると推定される鼻孔画像内の位置にウィンドウを設定してもよい。前処理部３２は、鼻孔画像及び暗瞳孔画像から鼻孔を検出する。あるいは、前処理部３２は、鼻孔画像から鼻孔を検出する。鼻孔検出の方法は前フィールドでの鼻孔の検出結果（前回の鼻孔検出の結果）によって下記の３種類に分類される。
（１）前フィールド（前回の鼻孔検出）で左右の鼻孔の双方を検出できなかった場合。
（２）前フィールド（前回の鼻孔検出）で左右の鼻孔の双方を検出できた場合。
（３）前フィールド（前回の鼻孔検出）で片方の鼻孔のみを検出できた場合。
【００７１】
前フィールドで左右の鼻孔の双方を検出できなかった場合には、前処理部３２は瞳孔の位置に基づいて鼻孔画像内に所定の大きさの大ウィンドウを設定し、その大ウィンドウ内の輝度を反転させ、Ｐタイル法によって設定された閾値で２値化を行った後、孤立点除去、収縮処理、膨張処理、及びラベリングを行う。続いて、前処理部３２はラベルづけされた画素の連結成分から、鼻孔らしい面積及び大ウィンドウ内での位置に基づいて鼻孔候補を選択する。続いて、前処理部３２は、大ウィンドウの中心に最も近い鼻孔候補を第１鼻孔とし、その第１鼻孔との距離が最も近い鼻孔候補を第２鼻孔と決定する。そして、前処理部３２はＸ座標に基づいて第１鼻孔及び第２鼻孔のどちらか一方を左鼻孔と認定し他方を右鼻孔と認定し、各鼻孔の中心座標を算出する。
【００７２】
前フィールドで左右の鼻孔の双方を検出できた場合には、前処理部３２は前フィールドの鼻孔位置からカルマンフィルタによって現在の処理対象フィールドにおける鼻孔位置を予測し、予測された鼻孔位置を中心とする小ウィンドウを設定する。小ウィンドウは大ウィンドウよりも小さい。そして、前処理部３２は大ウィンドウに対する処理と同様に、小ウィンドウ内の輝度反転、Ｐタイル法による２値化、孤立点除去、収縮処理、膨張処理、ラベリング、鼻孔候補の選択、及び左右の鼻孔の認定を実行することで、各鼻孔の中心座標を算出する。
【００７３】
前フィールドで片方の鼻孔のみ検出された場合には、前処理部３２は鼻孔推定を行う。前処理部３２は、対象者Ａが鼻孔用カメラ２０に真っ直ぐ向いているときの両瞳孔及び両鼻孔の座標を事前に保持しており、これらの座標に基づいて瞳孔間の距離と鼻孔間の距離との比と求める。続いて、前処理部３２は、両瞳孔をつないだ直線と両鼻孔をつないだ直線が平行であるとの前提に立ち、二つの瞳孔座標と、検出できた一つの鼻孔座標と、求めた比とに基づいて、前フィールドで検出できなかった鼻孔座標を推定し、推定された鼻孔座標を中心に上記と同様の小ウィンドウを設定する。そして、前処理部３２は小ウィンドウ内の輝度反転、Ｐタイル法による２値化、孤立点除去、収縮処理、膨張処理、ラベリング、鼻孔候補の選択、及び左右の鼻孔の認定を実行することで、各鼻孔の中心座標を算出する。
【００７４】
（ステレオ法による顔姿勢ベクトルの導出）
本実施形態では、ステレオ法によって導出された顔姿勢ベクトルを真の顔方向（基準顔方向Ｈ２）として取り扱う。ステレオ法とは、複数台のカメラによって撮像された画像データ（顔画像）から対象の三次元座標を復元する方法である。対象物は、瞳孔中心である。本実施形態では、瞳孔用カメラ１０を用いて得た少なくとも２枚の顔画像にステレオ法を適用することによって、瞳孔中心の三次元座標を決定する。そして、このステレオ法によって得られた瞳孔中心の三次元座標を利用して、対象者Ａの基準顔方向Ｈ２を示す顔姿勢ベクトルを算出する。すなわち、基準顔方向Ｈ２は、対象者Ａの顔画像に基づいて、ステレオ法により導出される。
【００７５】
具体的には、図１２に示されるように、ステレオ法による瞳孔中心の三次元座標を決定には、世界座標系（ＸＷ，ＹＷ，ＺＷ）、カメラ座標系（ＸＣ，ＹＣ，ＺＣ）及び画像座標系（ＸＩ，ＹＩ）の３個の座標系を利用する。世界座標系は、複数のカメラ（例えば左側瞳孔用カメラ１０Ｌ、右側瞳孔用カメラ１０Ｒ）の間で共有する任意の点を規定する座標系である。特徴点の三次元座標は、世界座標系ＸＷＹＷＺＷに基づく。世界座標系ＸＷＹＷＺＷとカメラ座標系ＸＣＹＣＺＣとの関係は、式（４）により示される。式（４）における回転行列Ｒと並進ベクトルＴＲは、カメラ較正により取得される定数である。前処理部３２は式（４）に基づいて、世界座標系ＸＷＹＷＺＷにおける瞳孔の位置を算出する。
【数４】
0006452235.tif 000005
【００７６】
続いて、前処理部３２は特徴点の座標Ｐ０，Ｐ１，Ｐ２の三次元位置に基づいて顔方向を求める。図１３に示すように、カメラ座標系ＸＣＹＣＺＣに対して特徴点の座標Ｐ０，Ｐ１，Ｐ２及びそれらの重心Ｍを基準にした顔座標系ｘｙｚを定義する。このｘ軸、ｙ軸、ｚ軸は、顔座標系の原点が重心Ｍと一致し、顔平面がｘｙ平面と一致し、かつｚ軸が法線ベクトルと一致するように設定される。また、重心Ｍが顔座標系ｘｙｚの原点と位置し、かつ鼻孔中点がｙ軸上にあって負値をとるように設定された状態を顔座標系ｘｙｚでの基準姿勢と定義する。
【００７７】
前処理部３２はステレオ法によって算出された各特徴点の座標Ｐ０，Ｐ１，Ｐ２の重心Ｍを通る平面の法線ベクトルを求める。この法線ベクトルは、対象者Ａの基準顔方向Ｈ２を示す顔姿勢ベクトルＶＢ＝（ｎＸ，ｎＹ，ｎＺ）である。
【００７８】
（拘束条件法による顔姿勢ベクトルの導出）
顔検出装置１における撮像光学系は、図１４に示すように焦点距離ｆのピンホールモデルと仮定することができる。ピンホールを原点ＯＲとしたカメラ座標系（基準座標系ＸＣ−ＹＣ−ＺＣにおける鼻孔画像（撮像平面ＰＬ）上の右瞳孔、左瞳孔、左鼻孔、及び右鼻孔の中心点の二次元座標をそれぞれ、Ｑ１（ｘ１，ｙ１）、Ｑ２（ｘ２，ｙ２）、Ｑ３（ｘ３，ｙ３）、及びＱ４（ｘ４，ｙ４）とする。前処理部３２は、これら４点の二次元座標から、両鼻孔の中点（鼻孔間中心）の座標（鼻孔間中心座標）Ｐ０、右瞳孔の座標Ｐ１、及び左瞳孔の座標Ｐ２を求める。ここで、Ｐｎ＝（Ｘｎ，Ｙｎ，Ｚｎ）（ｎ＝０，１，２）である。
【００７９】
３個の特徴点（鼻孔間中心、左瞳孔及び右瞳孔）間を結んだ三角形の各辺の距離は、それらのうちの任意の１点をｉとし、他の点をｊとすると、点ｉ，ｊの間の距離Ｌｉｊで示される（式（５））。
【数５】
0006452235.tif 000006
【００８０】
ピンホールから各特徴点への位置ベクトルが求まれば、各特徴点に対応する撮像平面ＰＬ上の二次元位置は、カメラの焦点距離ｆを用いて式（６）で得られる。
【数６】
0006452235.tif 000007
また、ピンホールＯから各特徴点へ向かう位置ベクトルに対応した単位ベクトルは式（７）により得られる。
【数７】
0006452235.tif 000008
各特徴点の位置ベクトルは定数ａｎ（ｎ＝０，１，２）を用いて式（８）で表される。
【数８】
0006452235.tif 000009
すると、式（９）が成立する。
【数９】
0006452235.tif 000010
これにより連立方程式（１０）が得られる。
【数１０】
0006452235.tif 000011
顔姿勢導出部３４はこの連立方程式からａ０，ａ１，ａ２を求め、その解を式（８）に適用することで位置ベクトルを求める。
【００８１】
続いて、前処理部３２は特徴点の座標Ｐ０，Ｐ１，Ｐ２に基づいて顔方向を求める。図１３に示すように、カメラ座標系ＸＣＹＣＺＣに対して特徴点の座標Ｐ０，Ｐ１，Ｐ２及びそれらの重心Ｍを基準にした顔座標系ｘｙｚを定義する。このｘ軸、ｙ軸、ｚ軸は、顔座標系の原点が重心Ｍと一致し、顔平面がｘｙ平面と一致し、かつｚ軸が法線ベクトルと一致するように設定される。また、重心Ｍが顔座標系ｘｙｚの原点と位置し、かつ鼻孔中点がｙ軸上にあって負値をとるように設定された状態を顔座標系ｘｙｚでの基準姿勢と定義する。
【００８２】
前処理部３２は各特徴点の座標Ｐ０，Ｐ１，Ｐ２の重心Ｍを通る撮像平面ＰＬの法線ベクトルを求める。この法線ベクトルは、対象者Ａの顔方向Ｈ１を示す顔姿勢ベクトルＶＦ＝（ｎＸ，ｎＹ，ｎＺ）である。
【００８３】
（視線の検出）
前処理部３２は左右の瞳孔の三次元座標に基づいて視線を検出する。この瞳孔の三次元座標には、上記ステレオ法による顔姿勢ベクトルの導出と同様に、瞳孔用カメラ１０を用いて得た少なくとも２枚の顔画像にステレオ法を適用することによって得られた瞳孔中心の三次元座標を利用することができる。すなわち、視線Ｇは、対象者Ａの顔画像に基づいてステレオ法により導出される。図１５に示されるように、瞳孔の三次元位置に基づいて、瞳孔用カメラ１０の開口部１２の中心を原点ＯＲとし、その原点ＯＲと瞳孔中心Ｐを結ぶ基準線ＯＲＰを法線とする仮想視点平面Ｘ’−Ｙ’を考える。ここで、Ｘ’軸は、世界座標系のＸｗ−Ｚｗ平面と仮想視点平面Ｘ’−Ｙ’との交線に相当する。
【００８４】
前処理部３２は、画像面ＳＧにおける角膜反射点ＧＲから瞳孔中心ＰまでのベクトルｒＧを算出し、そのベクトルｒＧを、距離ＯＰから求められたカメラの拡大率を用いて実寸に換算したベクトルｒに変換する。このとき、瞳孔用カメラ１０をピンホールモデルと考え、角膜反射点ＧＲと瞳孔中心Ｐとが、仮想視点平面Ｘ’−Ｙ’と平行な平面上にあると仮定する。つまり、前処理部３２は、仮想視点平面Ｘ’−Ｙ’と平行であって瞳孔の三次元座標を含む平面上において、瞳孔中心Ｐと角膜反射点ＧＲの相対座標をベクトルｒとして算出し、このベクトルｒは角膜反射点ＧＲから瞳孔中心Ｐまでの実距離を表す。
【００８５】
前処理部３２は、対象者Ａの仮想視点平面Ｘ’−Ｙ’上の注視点Ｔに関して、直線ＯＴの水平軸Ｘ’に対する傾きφが、ベクトルｒの画像面上の水平軸ＸＧに対する傾きφ’と等しいと仮定する。更に、前処理部３２は、対象者Ａの視線ベクトル、すなわち、瞳孔中心Ｐと注視点Ｔとを結ぶ視線ベクトルＰＴと、基準線ＯＰとのなす傾きθを、ゲイン値ｋ２を含むパラメータを使った式（１１）により計算する。
【数１１】
0006452235.tif 000012
【００８６】
このような傾きφ，θの計算は、瞳孔中心Ｐの存在する平面上のベクトルｒを仮想視点平面Ｘ’−Ｙ’上で拡大したものがそのまま対象者Ａの注視点に対応するとみなすことにより行われる。具体的には、対象者Ａの視線ベクトルＰＴの基準線ＯＰに対する傾きθは、瞳孔中心と角膜反射の距離｜ｒ｜との間で線形関係を有すると仮定する。
【００８７】
傾きと距離｜ｒ｜とは線形近似できるという仮定、及び二つの傾きφ，φ’が等しいという仮定を利用することで、（θ，φ）と（｜ｒ｜，φ’）とを一対一に対応させることができる。このとき、前処理部３２は、瞳孔用カメラ１０の開口部１２の中心に設定された原点ＯＲと、仮想視点平面Ｘ’−Ｙ’上の注視点Ｔとを結ぶベクトルＯＴを式（１２）により得る。なお、ベクトルＯＰは瞳孔用カメラ１０から得られる。
【数１２】
0006452235.tif 000013
【００８８】
最後に、前処理部３２は視線ベクトルＰＴと視対象平面（ディスプレイ装置４０）との交点である注視点Ｑを式（１３）により得る
【数１３】
0006452235.tif 000014
【００８９】
しかし、一般的にヒトの視軸（瞳孔中心および中心窩を通る軸）と光軸（角膜からレンズの中心へと延びる法線）との間には偏りがあり、対象者Ａがカメラを注視した際にも角膜反射と瞳孔中心とは一致しない。そこで、これを補正する原点補正ベクトルｒ０を定義し、カメラ画像から実測した角膜反射−瞳孔中心ベクトルをｒ’とすると、ベクトルｒはｒ＝ｒ’−ｒ０で表されるので、式（１１）は式（１４）のように書き換えられる。
【数１４】
0006452235.tif 000015
【００９０】
計測されたｒ’に対して原点補正を行うことで、（θ，φ）と（｜ｒ｜，φ’）とを一対位置に対応させることができ、精度の高い注視点検出を行うことができる。このような補正は、当業者に周知である一点較正法を用いて実現可能である。
【００９１】
＜関数導出ステップＳ３＞
関数導出部３３は、式（２）における係数ｋ１，ｋ２を決定する。係数ｋ１，ｋ２の決定方法は次の通りである。まず、対象者Ａは、顔方向と視線とを自由に動かす。この間に、視線Ｇと、顔方向Ｈ１と、基準顔方向Ｈ２とを取得する。そして、図１６に示されるように、角度∠Ｇ’（第１角度）と角度∠Ｈ（第２角度）を二次元座標上にプロットする。これら角度∠Ｇ’と角度∠Ｈとは、世界座標系を基準として表現された角度である。ここで、角度∠Ｇ’と角度∠Ｈとを顔座標系に座標変換する。そして、関数決定部３３ａは、顔座標系を基準とした角度∠Ｇ’と角度∠Ｈを利用して、二次元座標におけるグラフの傾き（係数ｋ１）および切片（係数ｋ２）を算出する（ステップＳ３ａ）。これらの算出には、最小二乗法を利用することができる。これら係数ｋ１，ｋ２が決定されることにより、関数（式（２））が決定される。
【００９２】
＜画像取得ステップＳ４＞
画像取得ステップＳ４では、上記画像取得ステップＳ１と同様の手法により、明瞳孔画像、暗瞳孔画像及び鼻孔画像を取得する。
【００９３】
＜前処理ステップＳ５＞
前処理ステップＳ５では、上記前処理ステップＳ２と同様の手法により、拘束条件法による顔方向Ｈ１を導出する。また、上記前処理ステップＳ２と同様の手法により、ステレオ法による視線Ｇを導出する。前処理ステップＳ５では、ステレオ法による基準顔方向Ｈ２は必要に応じて導出すればよい。
【００９４】
（拘束条件法による顔姿勢の導出：顔姿勢導出ステップＳ６）
顔姿勢導出ステップＳ６では、上記「拘束条件法による顔姿勢ベクトルの導出」と同様の手法により、顔方向Ｈ１を導出する。
【００９５】
＜顔姿勢補正ステップＳ７＞
顔姿勢補正部３６は、式（２）と関数導出ステップＳ３で決定された係数ｋ１，ｋ２を利用して、顔方向Ｈ１を補正する。まず、第１の座標変換部３６ａは、フレーム毎に求まる世界座標系における視線Ｇと顔方向Ｈ１を顔座標系に変換し、顔座標系における視線Ｇと顔方向Ｈ１を求める（第１の座標変換ステップ：Ｓ７ａ）。次に、角度取得部３６ｂは、顔座標系における視線Ｇと顔方向Ｈ１を利用して、顔座標系における角度∠Ｇ’（第１角度）を求めた後に、角度∠Ｇ’と、すでに求まっている係数ｋ１，ｋ２を含む記式（２）を用いて、顔座標系における角度∠Ｈを求める（角度取得ステップ：Ｓ７ｂ）。次に、方向補正部３６ｃは、この角度∠Ｈと顔座標系における顔方向Ｈ１から顔座標系における基準顔方向Ｈ２を求める（方向補正ステップ：Ｓ７ｃ）。そして、第２の座標変換部３６ｄは、顔座標系における基準顔方向Ｈ２を世界座標系における基準顔方向Ｈ２に変換する（第２の座標変換ステップ：Ｓ７ｄ）。以上のステップＳ７ａ〜Ｓ７ｄにより、補正された顔方向Ｈ１を得る。
【００９６】
［顔検出プログラム］
次に、顔検出装置１を実現するための顔検出プログラムを説明する。
【００９７】
図１７に示されるように、顔検出プログラムＰ１０は、メインモジュールＰ１１、画像取得モジュールＰ１２、前処理モジュールＰ１３、関数導出モジュールＰ１４、顔姿勢導出モジュールＰ１５、及び顔姿勢補正モジュールＰ１６、を備える。
【００９８】
メインモジュールＰ１１は、顔検出機能を統括的に制御する部分である。画像取得モジュールＰ１２、前処理モジュールＰ１３、関数導出モジュールＰ１４、顔姿勢導出モジュールＰ１５、及び顔姿勢補正モジュールＰ１６を実行することにより実現される機能はそれぞれ、上記の画像取得部３１、前処理部３２、関数導出部３３、顔姿勢導出部３４、及び顔姿勢補正部３６の機能と同様である。
【００９９】
顔検出プログラムＰ１０は、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。また、顔検出プログラムＰ１０は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
【符号の説明】
【０１００】
１…顔検出装置、１０…瞳孔用カメラ（撮像手段）、２０…鼻孔用カメラ、３０…画像処理装置（処理手段）、３１…画像取得部、３２…前処理部、３３…関数導出部、３４…顔姿勢導出部、３６…顔姿勢補正部、Ｈ１…顔方向、Ｈ２…基準顔方向、Ｓ１，Ｓ４…画像取得ステップ、Ｓ２，Ｓ５…前処理ステップ、Ｓ３…関数導出ステップ、Ｓ６…顔姿勢導出ステップ、Ｓ７…顔姿勢補正ステップ。
【図１】
0006452235.tif 000016
【図２】
0006452235.tif 000017
【図３】
0006452235.tif 000018
【図４】
0006452235.tif 000019
【図５】
0006452235.tif 000020
【図６】
0006452235.tif 000021
【図７】
0006452235.tif 000022
【図８】
0006452235.tif 000023
【図９】
0006452235.tif 000024
【図１０】
0006452235.tif 000025
【図１１】
0006452235.tif 000026
【図１２】
0006452235.tif 000027
【図１３】
0006452235.tif 000028
【図１４】
0006452235.tif 000029
【図１５】
0006452235.tif 000030
【図１６】
0006452235.tif 000031
【図１７】
0006452235.tif 000032