(57)【要約】【課題】事前登録を行うことなく、顔の姿勢や表情を高精度に推定することの可能なフェーストラッキング方法、フェーストラッカおよび車両を提供する。【解決手段】フェーストラッキング方法は、輝度画像および距離画像を取得する取得ステップと、輝度画像および距離画像を利用して顔の特徴点を抽出する抽出ステップと、抽出した顔の特徴点を利用して顔モデルの各種パラメータを推定する推定ステップとを含む。【選択図】図５
2013156680.tif 000002
【特許請求の範囲】
【請求項１】
輝度画像および距離画像を取得する取得ステップと、
前記輝度画像および前記距離画像を利用して顔の特徴点を抽出する抽出ステップと、
抽出した顔の特徴点を利用して顔モデルの各種パラメータを推定する推定ステップと
を含む
フェーストラッキング方法。
【請求項２】
前記抽出ステップにおいて、前記輝度画像および前記距離画像を利用して顔の特徴点の座標を導出し、
前記推定ステップにおいて、導出した顔の特徴点の座標を利用して前記各種パラメータを推定する
請求項１に記載のフェーストラッキング方法。
【請求項３】
前記推定ステップにおいて、拡張カルマンフィルタを利用して前記各種パラメータを推定する
請求項１または請求項２に記載のフェーストラッキング方法。
【請求項４】
前記推定ステップにおいて、前記拡張カルマンフィルタを利用した前記各種パラメータの推定に際して、エネルギー関数を再帰的に解くことにより、状態ベクトルのフィッティングを行うようになっており、
前記エネルギー関数には、当該エネルギー関数を規格化するための事前情報が組み込まれている
請求項３に記載のフェーストラッキング方法。
【請求項５】
前記推定ステップにおいて、いくつかの状態変数の期待値で、測定ベクトルをあらかじめ補強し、さらに、対応する状態変数の分散で、測定分散行列をあらかじめ補強した上で、前記拡張カルマンフィルタを利用した前記各種パラメータの推定を行う
請求項３に記載のフェーストラッキング方法。
【請求項６】
前記推定ステップにおいて、前記各種パラメータとして、形状パラメータと、アニメーションパラメータとを推定する
請求項１ないし請求項５のいずれか一項に記載のフェーストラッキング方法。
【請求項７】
輝度画像および距離画像を取得する取得部と、
前記輝度画像および前記距離画像を利用して顔の特徴点を抽出する抽出部と、
抽出した顔の特徴点を利用して顔モデルの各種パラメータを推定する推定部と
を備えた
フェーストラッカ。
【請求項８】
前記抽出部は、前記輝度画像および前記距離画像を利用して顔の特徴点の座標を導出し、
前記推定部は、導出した顔の特徴点の座標を利用して前記各種パラメータを推定する
請求項７に記載のフェーストラッカ。
【請求項９】
前記推定部は、拡張カルマンフィルタを利用して前記各種パラメータを推定する
請求項７または請求項８に記載のフェーストラッカ。
【請求項１０】
前記各種パラメータは、形状パラメータおよびアニメーションパラメータである
請求項７ないし請求項９のいずれか一項に記載のフェーストラッカ。
【請求項１１】
フェーストラッカを備え、
前記フェーストラッカは、
輝度画像および距離画像を取得する取得部と、
前記輝度画像および前記距離画像を利用して顔の特徴点を抽出する抽出部と、
抽出した顔の特徴点を利用して顔モデルの各種パラメータを推定する推定部と
を有する
車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顔の姿勢（向き）や、顔の表情を推定することの可能なフェーストラッキング方法に関する。また、本発明は、顔の姿勢（向き）や、顔の表情を推定することの可能なフェーストラッカおよびそれを備えた車両（例えば自動車、鉄道）に関する。
【背景技術】
【０００２】
顔は、読話によって語られたものを解釈したり、感情的な表情に基づいて自分の感情や意図を理解したり、または、人々を区別し、識別したりするための主な情報源である。そのため、画像から顔の３次元情報を復元する研究が盛んに行われている。最近では、例えば、顔認識、ビデオ会議、ドライバの不注意の監視、バーチャルリアリティなど、多くの興味深いアプリケーションが実用化され始めている。
【０００３】
例えば、非特許文献１〜４には、単一カメラを用いて顔特徴を検出し、検出した顔特徴から、顔の向きや表情などを予測する様々な手法が開示されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】勞世こう，山口修：顔画像処理技術の動向，情報処理，Vol.50, No.4, pp.319-326 (2009).
【非特許文献２】勞世こう，山口修：顔画像処理技術の動向，情報処理，Vol.50, No.5, pp.436-443 (2009).
【非特許文献３】Seeing Machines社  ＤＳＳ装置  http://www.seeingmachines.com/product/dss/
【非特許文献４】トヨタ自動車プリクラッシュセーフティシステム  http://www2.toyota.co.jp/jp/news/08/01/nt08_008.html
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、非特許文献１〜４では、単一カメラで得られる情報には奥行き情報が含まれていない。そのため、単一カメラで得られた顔領域を、顔モデルに相対的にフィッティングさせることしかできないので、瞼の開閉度や、顔の向きの絶対角度の計測が難しく、特に視線の計測はできない。また、単一カメラでは、観察視野が狭いので、被験者の顔特徴を検出するとともに追跡することの可能な範囲が限定されてしまう。さらに、被験者の顔の一部が遮蔽されている場合には、計測結果が不安定になってしまう。上記の問題を解決する有効な方法としては、２台以上のカメラを利用して、より広い範囲で顔特徴を検出するとともに追跡することが挙げられる。
【０００６】
ところで、２台以上のカメラを利用したシステムにおいて、顔の姿勢（向き）や表情をより詳細に解析するためには、事前に被験者の顔特徴を登録することが必要である。しかし、事前登録を要するというのは、被験者に負担を強いることになり、実用的ではない。もっとも、顔平均モデルを使用することにより、事前登録を省略することは可能である。しかし、顔平均モデルは、個々の被験者の細かな顔特徴に対応していないので、顔の姿勢（向き）や表情の推定に誤差が生じてしまう。
【０００７】
本発明はかかる問題点に鑑みてなされたもので、その目的は、事前登録を行うことなく、顔の姿勢（向き）や表情を高精度に推定することの可能なフェーストラッキング方法、フェーストラッカ、および上記のフェーストラッカを備えた車両を提供することにある。
【課題を解決するための手段】
【０００８】
本発明のフェーストラッキング方法は、輝度画像および距離画像を取得する取得ステップと、輝度画像および距離画像を利用して顔の特徴点を抽出する抽出ステップと、抽出した顔の特徴点を利用して顔モデルの各種パラメータを推定する推定ステップとを含む。
【０００９】
本発明のフェーストラッキング方法では、抽出ステップにおいて、輝度画像および距離画像を利用して顔の特徴点の座標を導出するようになっていてもよい。さらに、推定ステップにおいて、導出した顔の特徴点の座標を利用して各種パラメータを推定するようになっていてもよい。また、本発明のフェーストラッキング方法では、推定ステップにおいて、拡張カルマンフィルタを利用して各種パラメータを推定するようになっていてもよい。また、本発明のフェーストラッキング方法では、推定ステップにおいて、各種パラメータとして、形状パラメータと、アニメーションパラメータとを推定するようになっていてもよい。
【００１０】
本発明のフェーストラッカは、輝度画像および距離画像を取得する取得部と、輝度画像および距離画像を利用して顔の特徴点を抽出する抽出部と、抽出した顔の特徴点を利用して顔モデルの各種パラメータを推定する推定部とを備えている。本発明の車両は、上記のフェーストラッカを備えている。
【００１１】
本発明のフェーストラッカおよび車両では、抽出部が、輝度画像および距離画像を利用して顔の特徴点の座標を導出するようになっていてもよい。さらに、推定部が、導出した顔の特徴点の座標を利用して各種パラメータを推定するようになっていてもよい。また、本発明のフェーストラッカおよび車両では、推定部が、拡張カルマンフィルタを利用して各種パラメータを推定するようになっていてもよい。また、本発明のフェーストラッカおよび車両では、各種パラメータが、形状パラメータおよびアニメーションパラメータとなっていてもよい。
【００１２】
本発明のフェーストラッキング方法、フェーストラッカおよび車両では、輝度画像および距離画像から抽出した顔の特徴点を利用して、顔モデルの各種パラメータが推定される。これにより、個々の被験者の細かな顔特徴に対応した顔モデルを生成することが可能となる。また、顔モデルの自動登録も可能となる。
【発明の効果】
【００１３】
本発明のフェーストラッキング方法、フェーストラッカおよび車両によれば、個々の被験者の細かな顔特徴に対応した顔モデルを生成するとともに、自動登録を行うことができるようにしたので、顔特徴の事前登録を行うことなく、顔の姿勢（向き）や表情を高精度に推定することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施の形態に係るトラッカが自動車に搭載されている様子を表す図である。
【図２】図１のトラッカの機能ブロックの一例を表す図である。
【図３】図２のドライバ情報取得部の一例を表す図である。
【図４】図３（Ｂ）のステレオカメラの座標系と世界座標系との関係を表す図である。
【図５】図１のトラッカにおけるフェーストラッキングの一例を表す流れ図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１６】
図１は、本発明の一実施の形態に係るフェーストラッカ１を自動車１００に搭載した様子を表したものである。フェーストラッカ１は、人の顔特徴を検出するシステムであり、例えば、自動車１００に搭載されるものである。フェーストラッカ１が自動車１００に搭載さているときの検出対象は、自動車１００を運転するドライバ２００の顔である。ドライバ２００は、例えば、自動車１００の運転席１２０に座ってハンドル１３０等を操作することにより自動車１００を操縦する者である。
【００１７】
フェーストラッカ１は、ドライバ２００と向き合う位置に配置されており、例えば、自動車１００のフロントガラス１１０に固定されている。フェーストラッカ１は、例えば、図２に示したように、ドライバ情報取得部１０、トラッキング部２０、記憶部３０および出力部４０を備えている。
【００１８】
記憶部３０は、例えば、ＲＡＭ（Random Access Memory）およびＨＤ（hard disk)からなる。記憶部３０には、顔特徴を検出するためのプログラムなどが格納されており、トラッキング部２０で得られた演算結果（例えば各種パラメータ）などが随時格納される。トラッキング部２０は、例えば、ＤＳＰ（Digital Signal Processor）などにより構成されており、記憶部３０に格納された顔特徴を検出するためのプログラムがロードされることにより、ドライバ情報取得部１０によって得られた情報を処理して顔特徴を導出するようになっている。なお、トラッキング部２０は、顔特徴を検出するためのプログラムで実行される処理がハードウェアで実現されたものであってもよい。出力部４０は、トラッキング部２０で導出した顔特徴を利用して他のデバイスを制御するものであり、他のデバイスを制御する制御信号を出力するようになっている。
【００１９】
ドライバ情報取得部１０は、ドライバ２００についての情報を取得するものであり、具体的には、フェーストラッカ１との関係でドライバ２００側の空間領域の距離情報および輝度情報の２つの情報を取得するようになっている。ドライバ情報取得部１０は、例えば、図３（Ａ）に示したように、ＴＯＦ（Time Of Flight）センサ１１で構成されている。ＴＯＦセンサ１１は、単眼カメラとＬＥＤ（light emitting diode）照明を組み合わせたものであり、単眼カメラで輝度画像（輝度情報）を取得するとともに、ＬＥＤから照射される赤外線が反射して観測されるまでの時間差から距離画像（奥行き情報）を取得するようになっている。
【００２０】
なお、ドライバ情報取得部１０は、例えば、図３（Ｂ）に示したように、２つのカメラ（右カメラ１２Ｒ，左カメラ１２Ｌ）を有するステレオカメラ１２で構成されていてもよい。ステレオカメラ１２は、２つのカメラを用いて視差の互いに異なる２枚の画像を取得するようになっている。上記の２枚の画像から、輝度画像および距離画像が得られる。
【００２１】
[３Ｄフェーストラッキング（face tracking）法]
次に、本実施の形態のフェーストラッカ１における数学的定式化の一例について詳細に説明する。フェーストラッカ１は、いわゆるモデルベースのトラッカである。モデルベースのトラッカは、構造についての予備知識と、物体の動きを使用し、新しいフレームに合うようにオブジェクトモデルの姿勢（さらに、できれば形状）パラメータの変更を試みるようになっている。そのため、モデルベースのトラッカでは、モーションベースのトラッカに起こりがちなドリフトの問題がない。さらに、フェーストラッカ１は、特徴ベースのトラッカでもある。特徴ベースのトラッカは、容易にかつ確実にトラックできる顔の特徴点（feature points）をいくつか抽出し、抽出した特徴点から顔の姿勢（さらに、できれば形状）を計算するようになっている。顔の特徴点は、顔の構成要素（例えば、眉毛、目、鼻、および口）を取り巻く目立ったランドマークである。これらは、顔の表情や頭部の動きに関する重要な情報を符号化している。
【００２２】
このように、フェーストラッカ１は、モデルベースおよび特徴ベースの双方を兼ね備えたトラッカである。そこで、以下では、そのようなトラッカにおける数学的定式化について説明する。具体的には、（Ａ）投影モデル、（Ｂ）顔モデル、（Ｃ）ゼロオーダーバイノキュラーフェースポーズトラッカーカーネル（The Zero-Order Binocular Face Pose Tracker Kernel）、（Ｄ）顔の形状登録と、姿勢およびアニメーションの推定、（Ｅ）規則化および安定化、の５つについて順に説明する。
【００２３】
（Ａ）投影モデル
世界座標系内の点Ｘの座標を（ｘ，ｙ，ｚ）’とし、カメラ座標系内の点ｂcの３次元座標を（ｘc，ｙc，ｚc）’ とし、画像面の座標系内の点ｍの座標を（ｕ，ｖ）’とする。なお、上記の「’」はベクトル転置の符号である。このとき、回転行列をＲwcとすると共に並進ベクトルをｔwcとすると、点Ｘと点ｂcとの関係は、以下の数１で表される。
【数１】
2013156680.tif 000003
【００２４】
画像面上へのｂcの投影については、以下の数２を用いて計算することができる。
【数２】
2013156680.tif 000004
【００２５】
ここで、カメラ座標系の原点は（ｕ0，ｖ0）であり、画像中央に対応しており、カメラ座標系の座標は（ｕ，ｖ）で与えられるものとする。数２において、Φは透視投影の変換関数を意味しており、Ａcamは、カメラの内部パラメータベクトルである。また、ｆxはｕ軸のスケーリング（scaling）係数であり、ｆyはｖ軸のスケーリング係数である。
【００２６】
（Ｂ）顔モデル
顔モデルは、複数個の三角形の面を形成する複数の線によって接続された複数個の特徴点を含んで構成されている。顔モデルは、例えば、１８４個の三角形の面を形成する複数の線によって接続された１１３個の特徴点を含んで構成されている。顔モデルは、一般的な固定の顔モデル（固定の特徴点）と、顔の形状を制御する形状ユニットと、顔のアニメーションを制御するアニメーションユニットとのセットを含んで構成されている。モデル中心の座標系において、顔モデルｂmは、以下の数３で表される。
【数３】
2013156680.tif 000005
【００２７】
数３において、ｇは一般的な固定の顔モデル（固定の特徴点）である。また、Ｓは形状ユニットであり、Ａはアニメーションユニットである。ベクトルであるｓは形状パラメータであり、ベクトルであるａはアニメーションパラメータである。
【００２８】
回転（rotation）、縮小拡大（scaling）、および平行移動（translation）により、モデル中心の座標系から世界座標系への変換を実行した後の顔モデルｂmのｉ番目の特徴点ｂwiは、以下の数４で表される。
【数４】
2013156680.tif 000006
【００２９】
数４において、Ｒは回転行列（Ｒ（ｒx，ｒy，ｒz））である。また、Ｃはスケーリング行列（ｄｉａｇ（ｃx，ｃy，ｃz））である。なお、ｄｉａｇは、対角行列である。ｔは移動ベクトル（（ｔx，ｔy，ｔz）’）である。ｒx，ｒy，ｒzは、それぞれ、ｘ軸，ｙ軸，ｚ軸周りの回転角（ラジアン単位）である。ｃx，ｃy，ｃzは、それぞれ、ｘ軸，ｙ軸，ｚ軸におけるスケーリング係数である。ｔx，ｔy，ｔzは、それぞれ、ｘ軸，ｙ軸，ｚ軸方向における平行移動量である。ｃ＝（ｃx，ｃy，ｃz）’とすると、顔モデルｂmは、以下の数５に示したベクトルｐによってパラメータ化される。
【数５】
2013156680.tif 000007
【００３０】
顔の姿勢（向き）は回転角（ｒ）と平行移動量（ｔ）で表され、顔の形状はスケーリング係数（ｃ）と形状パラメータ（ｓ）で表され、そして顔の器官（例えば、目、眉毛、口）のアニメーションはアニメーションパラメータ（ａ）で表される。つまり、顔モデルｂmは、顔の姿勢（向き）に関するパラメータと、顔の形状に関するパラメータと、顔の器官のアニメーションに関するパラメータとにより表される。
【００３１】
（Ｃ）ゼロオーダーバイノキュラーフェースポーズトラッカーカーネル
人間の顔の形状は互いに異なっており、顔は、常にグローバルまたはローカルの動きのいくつかの形態を取る。そのため、ベクトルｐのすべてのパラメータが確率変数である。しかし、時刻ｔkから時刻ｔk+1にかけてのベクトルｐの進化（evolution）は、いくつかの古典的な動的モデルといくつかの付加的なノイズで近似することができる。顔のグローバルな動き（顔の姿勢の動き）は、ｒとｔで表される動きであり、ゼロオーダーバイノキュラーフェースポーズトラッカーカーネルによってトラッキングされる。ここで、ゼロオーダーバイノキュラーフェースポーズトラッカーカーネルは、システムの動的モデル、計測モデル、および解析アルゴリズムを含んでおり、回転角（ｒ）と平行移動量（ｔ）をトラッキングするものである。以下に、ゼロオーダーバイノキュラーフェースポーズトラッカーカーネルについて説明する。
【００３２】
システムの動的モデルは、オブジェクトの動きが静的な進化と考えられているゼロオーダーの進化モデルである。トラッキングされる状態ベクトルｘは、以下の数６で表される。
【数６】
2013156680.tif 000008
【００３３】
状態進化式は、以下の数７で表される。
【数７】
2013156680.tif 000009
【００３４】
数７において、Ａeは、単位行列である。Ｍは、サンプリング時間Ｔsに等しい。ｗkは、プロセスノイズであり、具体的には、ゼロ平均（zero-mean）のホワイトガウスノイズ（gaussian white noise）（ｗ1，ｗ2，ｗ3，ｗ4，ｗ5，ｗ6）’である。
【００３５】
計測モデルは、カメラの画像平面上に顔の特徴点の座標系がどのように影響するかを扱う。一般性を失わずに、例えば、右カメラ１２Ｒの座標系（右カメラ座標系）および左カメラ１２Ｌの座標系（左カメラ座標系）は図４のように配置されている。世界座標系と、左カメラ１２Ｌの座標系とは、剛性変換（rigid transformation）（Ｒwc0、ｔwc0）によって関連付けられている。ここで、Ｒwc0は、左カメラ座標系と世界座標系の回転行列である。ｔwc0は、左カメラ座標系と世界座標系の平行移動行列である。同様に、世界座標系と、右カメラ座標系とは、剛性変換（Ｒwc1、ｔwc1）によって関連付けられている。ここで、Ｒwc1は、右カメラ座標系と世界座標系の回転行列である。ｔwc1は、右カメラ座標系と世界座標系の平行移動行列である。投影モデルと顔モデルｂmとを互いに組み合わせ、さらに両目の場合にはホワイトガウスノイズＶkを追加することにより、計測モデルが得られる。この計測モデルは、数８に示したように、７つの式で表される。
【数８】
2013156680.tif 000010
【００３６】
数８において、ｃ０ｉは、左カメラ１２Ｌの画像面内で計測された複数の特徴点のうちｉ番目の特徴点を指している。従って、ｂc0iは、左カメラ１２Ｌの画像面内で計測された複数の特徴点のうちｉ番目の特徴点のカメラ座標系の座標である。また、ｍc0iは、左カメラ１２Ｌの画像面内で計測された複数の特徴点のうちｉ番目の特徴点の左カメラ１２Ｌの画像面内の座標である。また、（uc00,uv00）は、左カメラ１２Ｌの光学中心の画像への投影座標であり、（uc10,uv10）は、右カメラ１２Ｒの光学中心の画像への投影座標である。また、ｖkc0iは、左カメラ１２Ｌで計測された画像面内のホワイトガウスノイズＶkである。
【００３７】
また、数８において、ｃ１ｉは、右カメラ１２Ｒの画像面内で計測された複数の特徴点のうちｉ番目の特徴点を指している。従って、ｂc1iは、右カメラ１２Ｒの画像面内で計測された複数の特徴点のうちｉ番目の特徴点のカメラ座標系の座標である。また、ｍc1iは、右カメラ１２Ｒの画像面内で計測された複数の特徴点のうちｉ番目の特徴点の右カメラ１２Ｒの画像面内の座標である。また、ｖkc1iは、右カメラ１２Ｒで計測された画像面内のホワイトガウスノイズＶkである。
【００３８】
計測モデルは、ｙk＝ｈ（ｘk，ｖk）で表される。ここで、ｙkは状態ベクトルｘkとホワイトガウスノイズＶkより推定される計測ベクトルである。ｈは計測ベクトルの計算関数である。この計測モデルは、非線形である。そのため、この計測モデルでは、ヤコビ（Jacobian）行列が用いられる。この計測モデルで計測される特徴点は、以下の数９で表される。
【数９】
2013156680.tif 000011
【００３９】
数９において、ｃ０Ｎｆは、左カメラ１２Ｌの画像面内で計測された特徴点の数である。また、ｃ１Ｎｆは、右カメラ１２Ｒの画像面内で計測された特徴点の数である。従って、状態ベクトルに対する計測モデルのヤコビ行列は、以下の数１０のようになる。
【数１０】
2013156680.tif 000012
【００４０】
世界座標系からカメラ座標系への変換ペアの一般的な表記として、（Ｒwc，ｔwc）を用いることにより、ヤコビ行列Ｊhxの各要素の計算は以下のようになる。
【数１１】
2013156680.tif 000013
【００４１】
ここで、Ｒwc,1，Ｒwc,2，Ｒwc,3は、Ｒwc（＝Ｒ’wc,1，Ｒ’wc,2，Ｒ’wc,3）’）の列ベクトルである。
【００４２】
初期状態の誤差共分散（error covariance）行列がＰであるとすると、ノイズの分布は、ｐ（ｗk）〜Ｎ（０，Ｑk）およびｐ（ｖk）〜Ｎ（０，Ｒk）を満たす。ここで、Ｎ（０，Ｑk）は状態ベクトルｘkのノイズ分布関数であり、Ｎ（０，Ｒk）は計測ベクトルｙkのノイズ分布関数である。ｐ（ｗk）は状態ベクトルｘkのノイズｗkの分布であり、ｐ（ｖk）は計測ベクトルｙkのノイズｖkの分布である。このとき、ＥＫＦ（Extending the Kalman Filter：拡張カルマンフィルタ）アルゴリズムが、ゼロオーダーバイノキュラーフェースポーズトラッカーカーネルにおける解析アルゴリズムとして用いられる。ＥＫＦアルゴリズムは、以下の数１２に示すように、顔の姿勢（向き）を再帰的に推定するために利用される。演繹的な（priori）推定は、以下の数１２で表される。なお、ＥＫＦとは、誤算の分散が最小となる値を時系列的に推定し、推定値と測定値とから推定値を修正する最適化フィルタである。ここで、数１２において、「−」は推定値であり、「＋」は、推定値をベースに補正した値である。
【数１２】
2013156680.tif 000014
【００４３】
カルマンゲインは、以下の数１３で表される。
【数１３】
2013156680.tif 000015
【００４４】
事後（posteriori）推定は、以下の数１４で表される。ここで、数１４において、Ｉは単位マトリクスである。
【数１４】
2013156680.tif 000016
【００４５】
以上、数６〜数１４が、ゼロオーダーバイノキュラーＥＫＦフェースポーズトラッカーの式である。
【００４６】
（Ｄ）顔の形状登録と、姿勢およびアニメーションの推定
ヤコビ行列の各要素を計算するとき、数１１に示すように、顔モデルｂmの特徴点ｂmiが、あらかじめ用意されていなければならない。数４は、特徴点ｂmiが一般的な固定の顔モデルｇと、顔の形状パラメータｓと、顔のアニメーションパラメータａとを互いに融合することにより導出されることを示している。初期登録の段階で形状パラメータｓを推定するために、状態ベクトルｘは以下の数１５に示したように拡張される。
【数１５】
2013156680.tif 000017
【００４７】
ここで、ｃ＝（ｃx’，ｃy’，ｃz’）は、スケーリングのベクトルである。ｓ＝（ｓ1，ｓ2，．．．，ｓNs）は、形状パラメータｓのベクトルである。Ｎｓは、形状パラメータｓの数である。ヤコビ行列は、新たに追加された状態変数を含むように拡張される。具体的には、数１１に対して、さらに、数１６が新たに追加される。ｒ’，ｔ’，ｃ’，ｓ’の再帰的な推定は、上記の『（Ｃ）ゼロオーダーバイノキュラーフェースポーズトラッカカーネル』で説明したようになされる。
【数１６】
2013156680.tif 000018
【００４８】
顔に表情が現れたとき、アニメーションパラメータａの推定が不可欠である。数３において、形状パラメータｓとアニメーションパラメータａは、顔モデルｂmの調整において同じ力を持っている。したがって、形状パラメータｓをトラッキングする技術と、アニメーションパラメータａをトラッキングする技術とは、その点で似ている。ただし、形状パラメータｓのトラッキングは初期登録段階だけで使用されるタスクである一方で、アニメーションパラメータａのトラッキングは、初期登録以降の手順においても継続的に使用されるタスクである。そのため、その点で、形状パラメータｓをトラッキングする技術と、アニメーションパラメータａをトラッキングする技術とは相違している。
【００４９】
形状パラメータｓおよびアニメーションパラメータａの推定段階において、状態ベクトルｘは、以下の数１７に示したように拡張される。
【数１７】
2013156680.tif 000019
【００５０】
ここで、ａ＝（ａ1，ａ2，．．．，ａNa））’は、アニメーションパラメータａのベクトルである。Ｎａは、アニメーションパラメータａの数である。ヤコビ行列の行は、数１８に示したように、新しく追加された状態変数と、ヤコビ行列に新たに追加された要素の計算とを含むように拡張される。
【数１８】
2013156680.tif 000020
【００５１】
ヤコビ行列を得た後の形状パラメータｓおよびアニメーションパラメータａの再帰的な推定は、上記の『（Ｃ）ゼロオーダーバイノキュラーフェースポーズトラッカカーネル』で説明したようになされる。
【００５２】
ヤコビ行列の要素の計算は複雑にみえるが、上述の数１１，数１６，数１８を見ると、ヤコビ行列は、ヤコビ行列の要素のうちの２つのファクタ（以下の数１９参照）で構成されていることがわかる。従って、プログラムでヤコビ行列の記述することは容易である。
【数１９】
2013156680.tif 000021
【００５３】
（Ｅ）規則化および安定化
いくつかの形状パラメータｓとアニメーションパラメータａは相互に連成（coupling）されている。例えば、形状パラメータｓの１つである口の幅は、アニメーションパラメータａの１つである口の伸縮と連成されている。１つのカーネルが、連成されたパラメータ同士を同時に推定する場合、これらの連成されたパラメータの推定は、間違っている可能性がある。従って、状態ベクトルｘは、互いに連成していない複数のパラメータで構成する必要がある。注意深くいくつかのパラメータを選択した場合であっても、場合によっては、それらのパラメータ同士が互いに連成しているかもしれない。ｚ軸周りの回転ｒzと、ｘ軸周りの回転ｒxが共にゼロの状態では、例えば、ｙ軸ｔyに沿って顔を移動させた場合、その移動量は、顔の器官（例えば、目や口）の垂直位置と結合する。上述のＥＫＦは、時間ステップｋで、以下の数２０に示したエネルギー関数を再帰的に解く。
【数２０】
2013156680.tif 000022
【００５４】
従来のカルマンフィルタでは、エネルギー関数（数２０）において、状態ベクトルｘのオーバーフィッティングが生じる。特に、連成条件で、奇妙な状態推定を与える可能性がある。例えば、形状パラメータｓとアニメーションパラメータａの分布（ｐ（ｓi）〜Ｎ（０，ｗi））を事前に与えた場合に、連成条件で、オーバーフィッティングの問題を解決することが必要である。事前情報を与える際に、オーバーフィッティングを最小化するエネルギー関数は以下の数２１で表される。
【数２１】
2013156680.tif 000023
【００５５】
ここで、Ｗは対角行列であり、その対角要素は、対応する状態変数の分散が含まれている。数２１には、エネルギー関数を規格化するための事前情報が組み込まれている。これにより、拡張カルマンフィルタを利用した各種パラメータの推定に際して、数２１を再帰的に解くことにより、状態ベクトルのフィッティングを行うことが可能となる。つまり、数２１に対して上述の事前情報が組み込まれていることにより、オーバーフィッティングの問題を低減し得る。しかし、数２１は、閉じた形の解を持っていない。そのため、いくつかの状態変数を規格化するためのカルマンフィルタの枠組みに、事前情報を組み込むために別の新たな戦略が必要である。
【００５６】
具体的には、いくつかの状態変数の期待値で、測定ベクトル（数９）をあらかじめ補強し、さらに、対応する状態変数の分散で、測定分散行列をあらかじめ補強した上で、拡張カルマンフィルタを利用した各種パラメータの推定を行う。補強後の測定ベクトルは、以下の数２２のようになる。
【数２２】
2013156680.tif 000024
【００５７】
ここで、ｓi，・・・，Ｓj，ａl，・・・，ａmは、事前情報を持った状態変数である。この補強をプログラムに実装することは容易であり、しかも、数２２では、オーバーフィッティングの問題を低減するために数２１を用いたときと同じ効果が得られる。
【００５８】
なお、上記の議論では、カルマンフィルタの演算が無限精度であることが前提となっている。しかし、デジタルコンピュータの演算は有限精度であり、それゆえ、デジタルコンピュータの演算においてカルマンフィルタを実装したとしても、発散したり、不安定になったりする可能性がある。上記の議論では、システムモデルや計測モデルが正確に知られていることが前提となっており、ノイズモデルＱk，Ｒkは、ゼロ平均（zero-mean）のホワイトガウスノイズであり、それぞれが互いに関係付けられていないことが前提となっている。これらの前提のうちの１つでも正しくない場合には、カルマンフィルタの前提も正しくなくなるので、上記のシステムは正しく機能しない。上述の前提が成り立たないような現実の状況下で、カルマンフィルタの堅牢性を改善するためには、いくつかの実装技術を用いることが必要となる。
【００５９】
数７に示すように、ゼロオーダーの静的進化系モデルは、顔の動きの近似に用いられる。そして、この近似は、推定結果の精度に影響を与えるいくつかのモデリング誤差を必然的に含んでいる。モデリング誤差を補償するために、フェーディングメモリ（fading memory）技術が用いられる。フェーディングメモリフィルタは、下記の点を除いて、標準的なカルマンフィルタと全く同一である。フェーディングメモリフィルタが標準的なカルマンフィルタと異なる点は、演繹的な（priori）推定誤差の共分散の計算のための時間更新式が、数２３に示したように、その最初の項でα2の係数を持っていることである。α2の係数は、状態推定において曖昧さを高める役割を有している。このことが、測定の信憑性をより高めている。ほとんどのアプリケーションでは、αは、１（たとえば、１．０１）よりわずかに大きい。
【数２３】
2013156680.tif 000025
【００６０】
状態誤差共分散行列Ｐは対称正定行列であることが好ましい。数値計算上の問題から、数１４における状態誤差共分散行列Ｐ+k+1の事後更新は、Ｐ-k+1とＰ+kが正定値である場合であってもＰ+k+1が正定であることを保証していない。そのため、数１４の２段目の式は、以下の数２４に置き換えられる。数２４は、Ｐ+k+1が正定であることを保証している。
【数２４】
2013156680.tif 000026
【００６１】
（フェーストラッキングの手順）
次に、図５を参照して、本実施の形態のフェーストラッカ１におけるフェーストラッキングの手順の一例について説明する。
【００６２】
トラッキング部２０は、まず、ドライバ情報を取得する（ステップＳ１０１）。具体的には、トラッキング部２０は、ドライバ情報取得部１０に対して、ドライバ情報の取得を要求する制御信号を出力する。ドライバ情報取得部１０は、そのような制御信号をトラッキング部２０から受信すると、ドライバ情報の取得を開始する。
【００６３】
ドライバ情報取得部１０がＴＯＦセンサ１１で構成されている場合には、ＴＯＦセンサ１１は、上記の制御信号の受信に同期して、単眼カメラで輝度画像（輝度情報）を取得するとともに、ＬＥＤから照射される赤外線が反射して観測されるまでの時間差から距離画像（距離情報）を取得する。ＴＯＦセンサ１１は、さらに、取得した輝度画像および距離画像をトラッキング部２０に出力する。
【００６４】
ドライバ情報取得部１０がステレオカメラ１２で構成されている場合には、ステレオカメラ１２上記の制御信号の受信に同期して、２つのカメラ（右カメラ１２Ｒ，左カメラ１２Ｌ）で、視差の互いに異なる２枚の画像を取得する。ステレオカメラ１２は、さらに、取得した２枚の画像をトラッキング部２０に出力する。トラッキング部２０は、ステレオカメラ１２から取得した２枚の画像から、輝度画像および距離画像を生成する。
【００６５】
トラッキング部２０は、次に、輝度画像および距離画像を利用して、顔の特徴点を抽出する（ステップＳ１０２）。トラッキング部２０は、例えば、距離画像上をラスタスキャンし、次に、検出ウィンドウ内から距離ヒストグラム特徴量とＨＯＧ（Histograms of Oriented Gradients）特徴量を用いてＣａｓｃａｄｅ ＡｄａＢｏｏｓｔによる識別を行う。これにより、トラッキング部２０は、検出ウィンドウが顔の特定の器官（例えば、目、眉毛、口）であるか否かを判別し、顔の器官を検出する。続いて、トラッキング部２０は、検出した顔の器官の特定の部位を特徴点とし、その部位の座標（カメラ座標系および画像面内の座標）を導出する。
【００６６】
なお、ＨＯＧ特徴量は、エッジベースの局所特徴量であり、輝度勾配から算出されるものである。なお、トラッキング部２０は、ＨＯＧ特徴量以外の特徴量を用いてＣａｓｃａｄｅ ＡｄａＢｏｏｓｔによる識別を行ってもよい。また、トラッキング部２０は、Ｃａｓｃａｄｅ ＡｄａＢｏｏｓｔ以外の識別器を用いてもよい。
【００６７】
トラッキング部２０は、次に、抽出した顔の特徴点ｂmi（または、導出した顔の特徴点の座標）を利用して、顔モデルｂmの各種パラメータを推定する（ステップＳ１０３）。トラッキング部２０は、例えば、顔の特徴点の座標と、上述の数６〜数１６を利用して、形状パラメータｓを推定する。このとき、ドライバ情報取得部１０は、ドライバ２００の顔が無表情に近い状態で、輝度画像（輝度情報）と、距離画像（距離情報）とを取得することが好ましい。推定終了条件としては、形状パラメータｓの推定値が安定であることが挙げられる。次に，通常状態で抽出により得られた顔の特徴点の座標と、上述の数１７〜数２４を利用して、アニメーションパラメータａを推定する。このように、トラッキング部２０は、顔特徴の事前登録をドライバ２００に要求せず、その代わりに、抽出した顔の特徴点ｂmiを利用して顔モデルｂmの各種パラメータを推定することにより顔特徴を自動登録している。続いて、トラッキング部２０は、推定により得られた顔モデルｂmから、顔の姿勢（向き）や、顔の表情を推定する。
【００６８】
その後、トラッキング部２０は、推定により得られた顔の姿勢（向き）や、顔の表情から、ドライバ２００に対して何らかのフィードバックを必要とするか否かを判定する。言い換えると、トラッキング部２０は、フィードバックに必要な制御信号の出力が必要か否かを判定する（ステップＳ１０４）。例えば、トラッキング部２０は、推定により得られた顔の姿勢（向き）や、顔の表情から、ドライバ２００の眠気の強さを判定する。
【００６９】
その結果、フィードバックが必要と判断した場合には、トラッキング部２０は、所定の制御信号を出力するよう、出力部４０に指令を出す。例えば、トラッキング部２０は、ドライバ２００の強い眠気を検知した場合には、ドライバ２００に対して警告音などを発することの可能なデバイスに対して、警告音を発する指令に相当する制御信号を出力するよう、出力部４０に指令を出す。出力部４０は、トラッキング部２０から指令を受信すると、指令の内容に応じた制御信号を所定のデバイスに出力する（ステップＳ１０５）。また、フィードバックが必要でない判断した場合や、出力部４０から所定の制御信号が出力された後は、トラッキング部２０は、再び、上述のステップＳ１０１〜ステップＳ１０４を実行する。このようにして、トラッキング部２０は、フェーストラッキングを繰り返し、実行する。
【００７０】
次に、本実施の形態のフェーストラッカ１の効果について説明する。
【００７１】
本実施の形態のフェーストラッカ１では、輝度画像および距離画像から抽出した顔の特徴点ｂmiを利用して、顔モデルｂmの各種パラメータ（形状パラメータｓおよびアニメーションパラメータａ）が推定される。これにより、個々の被験者の細かな顔特徴に対応した顔モデルｂmを生成することが可能となる。また、顔モデルｂmの自動登録も可能となる。その結果、顔特徴の事前登録を行うことなく、顔の姿勢（向き）や表情を高精度に推定することができる。
【００７２】
また、本実施の形態のフェーストラッカ１では、数２１に示したように、エネルギー関数に対して、当該エネルギー関数を規格化するための事前情報が組み込まれているので、パラメータ間の連成を抑制することができる。その結果、オーバーフィッティングの問題を低減することができる。また、本実施の形態のフェーストラッカ１では、いくつかの状態変数の期待値で、測定ベクトル（数９）があらかじめ補強され、さらに、対応する状態変数の分散で、測定分散行列があらかじめ補強されているので（数２２参照）、数２１と同様に、パラメータ間の連成を抑制することができる。その結果、オーバーフィッティングの問題を低減することができる。
【００７３】
また、本実施の形態のフェーストラッカ１では、演繹的な（priori）推定誤差の共分散の計算のための時間更新式がその最初の項でα2の係数を持つフェーディングメモリフィルタが用いられているので、測定の信憑性をより高めることができる。
【００７４】
また、本実施の形態のフェーストラッカ１において、輝度画像および距離画像の取得にＴＯＦセンサ１１が用いられている場合、ＴＯＦセンサ１１のセンシングは赤外線でなされている。そのため、外部の照明条件に依らずに、精度よく、フェーストラッキングを実行することができる。
【００７５】
以上、実施の形態および実施例を挙げて本発明を説明したが、本発明は、これらに限定されるものではなく、種々の変形が可能である。
【００７６】
例えば、上記実施の形態では、フェーストラッカ１が自動車１００に搭載されていたが、他の車両（例えば、鉄道など）に搭載されていてもよい。この場合の検出対象は、鉄道の運転手の顔である。
【符号の説明】
【００７７】
１…フェーストラッカ、１０…ドライバ情報取得部、１１…ＴＯＦセンサ、１２…ステレオカメラ、１２Ｒ…右カメラ、１２Ｌ…左カメラ、２０…トラッキング部、３０…記憶部、４０…出力部、１００…自動車、１１０…フロントガラス、１２０…運転席、１３０…ハンドル。
【図１】
2013156680.tif 000027
【図２】
2013156680.tif 000028
【図３】
2013156680.tif 000029
【図４】
2013156680.tif 000030
【図５】
2013156680.tif 000031