(57)【特許請求の範囲】
【請求項１】
ユーザの顔を撮影する複数のカメラと、前記カメラの画像出力から顔の向きを検出する顔向き検出手段と、前記カメラの画像出力に撮影されている目周辺の画像領域から前記ユーザの目が開いているかどうかを検出する目開閉検出手段と、前記ユーザの目が開いていることに応答して、前記カメラの画像出力から前記ユーザの視線方向を検出する視線方向検出手段と、を備え、
前記目開閉検出手段は、前記目周辺の画像領域に含まれる水平方向エッジを検出し、該画像領域に含まれている水平方向エッジの割合に応じて、目が開いているかどうかを検出し、前記カメラの画像出力は、近赤外画像であり、前記視線方向検出手段は、目周辺の画像領域の明暗から瞳孔の位置を検出し、検出された瞳孔の中心位置と眼球の中心位置から視線方向を検出する顔・視線認識装置。
【請求項２】
ユーザの顔を撮影する複数のカメラと、前記カメラの画像出力から顔の向きを検出する顔向き検出手段と、前記カメラの画像出力に撮影されている目周辺の画像領域から前記ユーザの目が開いているかどうかを検出する目開閉検出手段と、前記ユーザの目が開いていることに応答して、前記カメラの画像出力から前記ユーザの視線方向を検出する視線方向検出手段と、を備え、
前記顔向き検出手段は、特徴的な顔の部分に相当する１つまたは複数の特徴点のそれぞれについて用意された複数のテンプレートから、顔の向きに応じて各特徴点のために１つのテンプレートを選択するテンプレート選択手段と、前記選択されたテンプレートをそれぞれ使用して、前記画像出力から前記特徴点に対応する１つまたは複数の画像領域を抽出する画像領域抽出手段と、を備え、前記抽出された１つまたは複数の画像領域に基づいて、前記ユーザの顔向きを検出し、
前記テンプレート選択手段は、前回の画像出力から検出された顔の向きに基づいて、今回の画像出力のために前記複数のテンプレートから１つのテンプレートを選択する顔・視線認識装置。
【請求項３】
前記画像領域抽出手段は、前回の画像出力から検出された顔の向きに基づいて今回の画像出力に撮影されていない特徴点を判断し、撮影されていない特徴点に対応する画像領域の抽出を処理しない請求項２に記載の顔・視線認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ヒューマン・インターフェース一般に関連し、より具体的には、画像認識を利用して人間の顔向きと視線方向を認識する技術に関する。
【０００２】
【従来の技術】
人間の視線の動きは、人間の意図するものや注意するものに深い関係があり、この視線の動きをキーボードやマウスなどの入力デバイスの代わりに利用する研究が進められている。この様な次世代ヒューマン・インターフェースは、カメラによって人間の行動を撮影し、人間の意図や注意を認識する高度なインターフェースとして構築される。
【０００３】
視線認識によるインターフェースでは、視線の動きが顔の動きに追従して動く場合が多いので、視線の動きを検出するのと同時に顔の向きを検出することが好ましい。この様な顔向きと視線方向を同時に検出する顔・視線認識装置は、松本ほかによる「顔・視線計測システムの開発と動作認識への応用」（第５回ロボティクス・シンポジア、２０００／３／２６、２７）の論文に示されている。
【０００４】
【発明が解決しようとする課題】
松本ほかにより提案された顔・視線認識装置では、ステレオカメラにより撮影された画像フレームから人間の顔の向きを３次元的に検出し、その後で顔の向きに基づいて視線方向を検出している。視線方向を検出した後では、新たに撮影された画像フレームを使用して、同様の顔向き検出と視線方向検出が繰り返される。この顔向きと視線方向の検出は、ビデオカメラによる画像フレームの撮影速度に応じた速度で繰り返されて、顔向きと視線方向のリアルタイムでの追従が可能とされる。
【０００５】
この様なリアルタイムでの顔向き・視線方向の追従が高速な画像処理を必要とするので、無駄な演算時間が発生した場合、顔・視線認識装置は顔向き・視線方向をリアルタイムで追従することができなくなる。したがって、顔・視線認識装置では、誤認識を減少させ、精度を向上させることが望ましい。
【０００６】
本発明は、リアルタイムでの顔向き・視線方向の追従において、高速な画像処理を実現するために、無駄な演算時間を発生させるエラーを可能な限り低減することを目的とする。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、本発明の顔・視線認識装置は、ユーザの顔を撮影する複数のカメラと、前記カメラの画像出力から顔の向きを検出する検出手段と、前記カメラの画像出力に撮影されている目周辺の画像領域から前記ユーザの目が開いているかどうかを検出する手段と、前記ユーザの目が開いていることに応答して、前記カメラの画像出力から前記ユーザの視線方向を検出する手段と、を備えるよう構成される。
【０００８】
この発明によると、ユーザの視線方向を検出する前にユーザの目の開閉を検出するので、視線方向の検出におけるエラーを回避することができる。
【０００９】
この発明の１つの形態によれば、前記目が開いているかどうかを検出する手段は、前記目周辺の画像領域に含まれる水平方向エッジを検出し、該画像領域に含まれている水平方向エッジの割合に応じて、目が開いているかどうかを検出するよう構成される。
【００１０】
この形態によると、目が開いている場合には目周辺の画像領域に縦や斜めのエッジが多く含まれているが、目が閉じている場合には水平方向のエッジが比較的多く含まれているので、水平方向のエッジを検出し、その割合を調べることにより、目が開いているかどうかを検出することができる。
【００１１】
この発明の１つの形態によれば、前記顔向き検出手段は、特徴的な顔の部分に相当する１つまたは複数の特徴点のそれぞれについて用意された複数のテンプレートから、顔向きに応じて各特徴点のために１つのテンプレートを選択する手段と、前記選択されたテンプレートをそれぞれ使用して、前記画像出力から前記特徴点に対応する１つまたは複数の画像領域を抽出する手段と、を備え、前記抽出された１つまたは複数の画像領域に基づいて、前記ユーザの顔向きを検出するよう構成される。
【００１２】
この形態によると、各特徴点のために複数のテンプレートの中から顔向きに応じて最適なテンプレートを選択し、その選択されたテンプレートを使用してテンプレート・マッチングを実行するので、テンプレート・マッチングでのエラーを低減することができる。
【００１３】
この発明の１つの形態によれば、前記テンプレートの選択手段は、前回の画像出力から検出された顔向きに基づいて、今回の画像出力のために前記複数のテンプレートから１つのテンプレートを選択するよう構成される。
【００１４】
この形態によると、前回の画像出力と今回の画像出力が連続的な画像フレームであり、前回の画像における顔向きと今回の画像における顔向きとが比較的相関が高いので、今回の画像における顔向きに比較的近い顔向きに対応したテンプレートを複数のテンプレートから選択することができる。
【００１５】
この発明の１つの形態によれば、前記顔・視線認識装置において、前記画像領域抽出手段は、前回の画像出力から検出された顔向きに基づいて今回の画像出力に撮影されていない特徴点を判断し、撮影されていない特徴点に対応する画像領域の抽出を処理しないよう構成される。
【００１６】
この発明の１つの形態によれば、今回の画像出力に撮影されていない特徴点に関するテンプレート・マッチングを回避することができるので、顔・視線認識装置のエラーを回避することができる。
【００１７】
この発明の１つの形態によれば、前記顔・視線認識装置の前記カメラの画像出力は、近赤外画像であり、前記視線方向の検出手段は、目周辺の画像の明暗から瞳孔の位置を検出し、検出された瞳孔の中心位置と眼球の中心位置から視線方向を検出するよう構成される。
【００１８】
この形態によると、近赤外画像に撮影されている瞳孔が虹彩との反射率の違いにより比較的暗く撮影されるので、目周辺の画像から最も暗い部分を検出することにより瞳孔が撮影されている領域を検出することができる。
【００１９】
【発明の実施の形態】
次に本発明の実施例を図面を参照して説明する。図１は、顔・視線認識装置におけるハードウェア構成の１つの実施形態を示す。この実施形態では、顔・視線認識装置はコンピュータで構成されるが、必ずしもこの様なハードウェア構成に限定されない。
【００２０】
図１の実施形態の顔・視線認識装置は、２個のビデオカメラ（右カメラ１１および左カメラ１３）、２個のカメラ・コントロール・ユニット（１５、１７）、画像処理ボード１９、ＩＲ投光機１４、パーソナル・コンピュータ２１、モニタ・ディスプレイ２３、キーボード２５、およびマウス２７を含む。
【００２１】
２個のビデオカメラは、撮影対象の人の前方左右に設置され、撮影対象の顔をステレオ視して撮影する。各ビデオカメラ（１１、１３）は、カメラ・コントロール・ユニット（１５、１７）を介してそれぞれ制御される。各カメラ・コントロール・ユニットは、外部同期信号線を介して相互接続されており、この同期信号によって左右のビデオカメラの同期がとられ、左右の位置で同じ時刻に撮影された２つの画像フレームが得られる。顔・視線認識装置は、左右の位置で同じ時刻に撮影された２つの画像フレームを入力画像として使用し、ステレオ法を用いて３次元的な物体認識を処理することができる。
【００２２】
赤外線投光機１４は、近赤外光を顔に照射するよう被写体の前面に設置され、車内の照明変動による画像の劣化を低減する。このため、ビデオカメラは、近赤外透過フィルタ２９などにより近赤外光以外の波長を遮断された状態で被写体を撮影する。
【００２３】
近赤外光を照明として使用する第１の理由は、照明変動に対する画像のロバスト性を向上させることにある。一般に撮影対象の周囲の明るさは、屋内外、または日中や夜間などの環境変化によって大きく変動する。また、強い可視光が１方向から顔にあたる場合には、顔面上に陰影のグラデーションが発生する。この様な照明の変動や陰影のグラデーションは、画像認識の精度を著しく悪化させる。
【００２４】
この実施例では、正面から赤外線投光機１４により近赤外光を照射して画像を撮影することによって、周囲からの可視光による顔面上の陰影のグラデーションを低減する。この様な近赤外画像は、可視光を使用して得られる画像と比較して照明変化による影響を受けにくく、画像認識の精度を向上させることができる。
【００２５】
近赤外光を使用する第２の理由は、目の瞳孔を明瞭に抽出することが可能な点にある。瞳の位置が視線方向を検出するために使用されるので、瞳を明瞭に撮影することは重要である。
【００２６】
画像処理ボード４７は、ビデオカメラで撮影された画像を様々に処理する。例えば、各ビデオカメラで撮影された画像がＮＴＳＣ方式のビデオ信号として送られてくる場合、画像処理ボード４７は、それらの画像を適当なフォーマットのクラスタ画像に変換し、内部のバッファメモリに記憶する。さらに、画像処理ボード４７は、画像処理アルゴリズムを実行するハードウェア回路を備えており、画像処理を高速に実行することができる。例えば、ハードウェア回路による画像処理アルゴリズムには、斜方投影機構、ハフ変換、２値画像マッチングフィルタ、アフィン変換（画像の回転、拡大、縮小）などの処理が含まれる。
【００２７】
画像処理ボード１９は、任意のインターフェース（例えばＰＣＩバス、シリアルバス、ＩＥＥＥ１３９４など）を介してパーソナル・コンピュータ２１に接続され、パーソナル・コンピュータ２１上のプログラムに応じて制御される。パーソナル・コンピュータ２１は、モニタ・ディスプレイ２３、キーボード２５、マウス２７などのユーザ・インターフェースなどを備え、「Ｌｉｎｕｘ」として知られるＯＳを使用して動作する。
【００２８】
図２は、図１に示すハードウェアによって実施される顔・視線認識装置の機能ブロック図を示す。図２の参照番号３１は撮影対象となる顔を示している。画像入力部３３は、図１で示す左右のビデオカメラ（１１、１３）、カメラ・コントロール・ユニット（１５、１７）、画像処理ボード１９を総合的に示している。この画像入力部３３は、撮影対象の顔３１を連続的にステレオ撮影し、それらの画像をクラスタ化して図２の画像処理部３５に提供する。
【００２９】
画像処理部３５は、顔探索部３７、顔トラッキング部３９、まばたき検出部４１、視線検出部４３を含み、提供された画像に撮影されている顔から顔向きと視線方向をリアルタイムで検出する。
【００３０】
顔探索部３７は、画像全体から顔が撮影されている領域を探索し、顔トラッキングの最初の初期化とエラー回復のために使用される。顔トラッキング部３９は、顔の特徴点を抽出し、撮影されている顔の向きをリアルタイムで検出する。まばたき検出部４１は、目周辺の画像を解析し、目が閉じているかどうかを判断する。視線検出部４３は、瞳孔を検出し、瞳孔の位置と眼球の位置から視線方向をリアルタイムで検出する。
【００３１】
図３は、画像処理部３５の全体的なフローチャートを示す。顔探索部３７、顔トラッキング部３９、まばたき検出部４１、視線検出部４３は、それぞれ関連して動作し、連続的に撮影される左右の入力画像から顔向きと視線方向をリアルタイムで検出することができる。
【００３２】
図３のフローチャートでは、顔探索部３７の処理がステップ１０１から１０３で示され、顔トラッキング部３９の処理がステップ１０５から１１３で示され、まばたき検出部４１の処理がステップ１１５から１１７で示され、視線検出部４３の処理がステップ１１９から１２３で示される。以下では、このフローチャートを参照して画像処理部３５の各機能ブロックの処理を説明する。
【００３３】
顔探索部３７
図３を参照して顔探索部３７の処理を説明する。顔探索部３７は、入力された画像から人間の顔が撮影されている画像領域をおおまかに探索する。ここでの処理は、顔トラッキング部３９のための前処理ともいえる。顔探索部３７が、顔トラッキング部３９の処理の前に、入力画像から顔が撮影されている領域をおおまかに探索することにより、顔トラッキング部３９は、入力画像中の顔の詳細な解析を高速に実行することができる。
【００３４】
最初に、ステップ１０１で画像入力部３３から左右のビデオカメラの画像が入力され、入力画像全体から人間の顔が撮影されている領域がおおまかに探索される。これは、予め記憶された探索用テンプレート５１を使用して２次元テンプレート・マッチングで実行される。
【００３５】
図４は、探索用テンプレート５１の例を示す。探索用テンプレート５９に使用される画像は、正面を向いた人間の顔を部分的に切り取った画像であり、この画像には目、鼻、口などの人間の顔の特徴的な領域が１つのテンプレートに含まれている。この探索用テンプレート５１は、テンプレート・マッチングでの処理速度を高めるために、予め低解像度化されており、さらに照明変動の影響を低減するために微分画像にされている。このテンプレートは、複数のサンプルから作成されて予め記憶されている。
【００３６】
ステップ１０１での探索は、２次元的なテンプレート・マッチングであるので、右ビデオカメラ１１の画像かまたは左ビデオカメラ１３の画像のどちらかが使用される。以下では、右ビデオカメラ１１の画像を使用したテンプレート・マッチングを例として述べる。
【００３７】
右ビデオカメラ１１の画像を使用したテンプレート・マッチングの場合、右ビデオカメラ１１の画像から探索用テンプレート５１に対応する画像領域が探索され抽出される。次に、ステップ１０３において、マッチした右画像内の画像領域をテンプレートにして、同様のテンプレート・マッチングが左画像に対して実行され、そのステレオ・マッチングの結果から顔全体の３次元位置がおおまかに求められる。この様にして得られた画像情報は、顔トラッキング部３９における各特徴点の探索範囲を設定するために使用される。
【００３８】
顔トラッキング部３９
顔トラッキング部３９は、前もって得られた画像情報に基づいて顔の特徴点を入力画像から抽出し、それらの特徴点から顔の３次元位置と顔の向きを求める。以下では、顔トラッキング部３９が入力画像から特徴点を抽出する方法に関して説明する。
【００３９】
顔トラッキング部３９は、テンプレート・マッチングにより入力画像から顔の特徴点を探索する。この探索に使用されるテンプレートは、データベース４７に予め記憶されている３次元顔特徴点モデル６９の画像を使用する。図５は、３次元顔特徴点モデル６９の例を示す。
【００４０】
本実施例における３次元顔特徴点モデル６９は、正面を向いた人間の顔の特徴的な部分を画像から局所的に切り取った部分的画像（５３〜６７）から生成される。例えば、これらの部分的画像は、図５に示すように、左の眉頭５３、右の眉頭５５、左の目尻５７、左の目頭５９、右の目尻６１、右の目頭６３、口の左端６５、口の右端６７などのように予め用意された顔画像から局所的に切り取られて生成される。これらの部分的画像のそれぞれは、その画像内で撮影されている対象物（この例では、左右の眉頭、左右の目尻と目頭、および口の両端）の３次元位置を表す３次元座標に関連付けられ、データベース４７に記憶されている。本明細書では、これらの３次元座標を有した顔特徴領域の部分的画像を顔特徴点と呼び、これらの複数の顔特徴点から生成される顔モデルを３次元顔特徴点モデル６９と呼ぶ。３次元顔特徴点モデル６９は、複数のサンプルから生成されデータベース４７に記憶されている。
【００４１】
顔トラッキング部３９は、３次元顔特徴点モデル６９の各部分的画像をテンプレートにしてそれぞれ対応する特徴点を入力画像から抽出する。このテンプレート・マッチングは、右ビデオカメラの画像と左ビデオカメラの画像のどちらを使用しても構わないが、この実施例では、右ビデオカメラの画像を使用している。このテンプレート・マッチングの結果得られる画像は、撮影された顔の左右の眉頭、左右の目頭と目尻、口の両端の計８個の画像である。
【００４２】
図３のフローチャートを参照してこの抽出処理を説明すると、最初に、ステップ１０５で各特徴点の探索範囲が設定される。この探索範囲の設定は、前もって得られた画像情報に基づいて行われる。例えば、ステップ１０３の後にステップ１０５が処理される場合、入力画像における顔全体の領域が既に分かっているので（ステップ１０１で検出されているので）、入力画像において各特徴点が存在している領域もおおまかに分かる。ステップ１１７またはステップ１２３の後にステップ１０５が処理される場合には、前回のループで検出された各特徴点（前回の入力画像における各特徴点）の情報から、今回の入力画像において各特徴点が存在している領域がおおまかに予測できる。したがって、各特徴点が存在する可能性が高い画像領域だけを各特徴点の探索範囲として設定することができ、この各特徴点の探索範囲の設定により、テンプレート・マッチングを高速に処理することが可能になる。
【００４３】
ステップ１０７で、各特徴点の探索範囲に基づいて３次元顔特徴点モデル６９に対応する画像領域が右ビデオカメラの画像から探索される。これは、３次元顔特徴点モデル６９の各特徴点の画像をテンプレートとし、右ビデオカメラ１１の画像に対してテンプレート・マッチングを行うことにより実行される。
【００４４】
ステップ１０９では、ステップ１０７の探索から得られた各特徴点の画像をテンプレートにして左ビデオカメラ１３の画像に対してステレオ・マッチングが実行される。これにより、３次元顔特徴点モデル６９の各特徴点に対応する入力画像の各特徴点の３次元座標が求められる。このステレオ・マッチングの結果、顔の左右の眉頭、左右の目尻と目頭、口の両端の３次元座標（観測点）がそれぞれ得られる。
【００４５】
ステップ１１１で、３次元顔特徴点モデル６９を使用して３次元モデル・フィッティングが実行され、顔の向きが検出される。以下ではこの３次元モデル・フィッティングを説明する。
【００４６】
先に述べたように、３次元顔特徴点モデル６９は、正面を向いた顔の特徴点から生成されている。それに対して入力画像で撮影されている顔は、必ずしも正面を向いているとは限らない。入力画像に撮影されている顔が正面を向いていない場合、ステップ１１１で得られた入力画像の各特徴点の３次元座標（観測点）は、３次元顔特徴点モデル６７の各特徴点の３次元座標から任意の角度と変位だけずれを有している。したがって、正面を向いた３次元顔特徴点モデル６７を任意に回転、変位させたときに、入力画像の各特徴点に一致する角度と変位が入力画像中の顔の向きと位置に相当する。
【００４７】
３次元顔特徴点モデル６７を任意に回転、変位させて、入力画像の各特徴点にフィッティングさせた場合、フィッティング誤差Ｅは、下記の式で表される。
【００４８】
【数１】
0004898026.tif 000002
【００４９】
ここで、Ｎが特徴点の数であり、ｘｉがモデル内の各特徴点の３次元座標であり、ｙｉが入力画像からの各特徴点の３次元座標を表す。ωｉは、各特徴点に関する重み付け係数であり、入力画像から特徴点の３次元位置を求めたときのステレオ・マッチングにおける相関値を利用する。この相関値を利用することによって、それぞれの特徴点の信頼度を考慮することができる。回転行列は、Ｒ（φ，θ，ψ）であり、並進ベクトルは、ｔ（ｘ，ｙ，ｚ）で表され、これらが、この式における変数となる。
【００５０】
したがって、上記の式におけるフィッティング誤差Ｅを最小にする回転行列Ｒと並進ベクトルｔを求めれば、入力画像の顔向きと顔位置が求められる。この演算は、最小二乗法または仮想バネモデルを使用したフィッティング手法などを利用することによって実行される。
【００５１】
ステップ１１３では、ステップ１１１で顔の向きが正しく検出されたかどうかが判定される。もし顔の向きが正しく検出されなかったと判定された場合、ステップ１０１に戻り、新しい入力画像を使用して一連の処理が繰り返される。
【００５２】
図６は、より詳細な顔トラッキング部３９のフローチャートを示している。このフローチャートは、基本的には図３に示す顔トラッキング部３９の処理と同一であるが、各特徴点のテンプレート・マッチング（ステップ１０７）をより詳細に示している。
【００５３】
図６のフローチャートでは、１つの特徴点に対して複数のテンプレートを使用するよう示されている。１つの特徴点に対する複数のテンプレートは、テンプレート・マッチングにおけるエラーを低減させ、顔向き検出の精度を向上させるために使用される。さらに、このフローチャートでは、カメラに撮影されていない特徴点を予測し、撮影されていない特徴点のテンプレート・マッチングを行わないよう処理している。
【００５４】
最初に、１つの特徴点に対して複数のテンプレートを使用する顔トラッキング部３９の処理を説明する。
【００５５】
３次元顔特徴点モデル６９における各特徴点の画像に撮影されている対象物（左右の眉頭、左右の目頭と目尻、口の両端など）は、平面ではなく立体である。したがって、その見え方（すなわち撮影されている対象物の状態）は、顔向きや傾きに応じて変化する。このため、単一のテンプレートだけでテンプレート・マッチングを行う場合、入力画像がそのテンプレートとは異なる見え方をしているときにテンプレート・マッチングでエラーを生じる。
【００５６】
例えば正面の顔の画像から作成された特徴点のテンプレートだけをテンプレート・マッチングに使用する場合、入力画像の顔が斜めを向いているときにエラーが生じることがある。この様な各特徴点の見え方の違いで生じるエラーを回避するために、各顔向きの画像から作成された各特徴点のテンプレートが使用される。
【００５７】
１つの顔特徴点に対して複数のテンプレートを使用する場合、前回の入力画像における顔の情報（顔の向き）に基づいて、今回のテンプレート・マッチングで使用するテンプレートが選択される。すなわち、前回の入力画像における顔の情報に基づいて、予め用意された複数のテンプレートから最適なテンプレートが選択され、選択されたテンプレートが今回のフレームにおける特徴点のテンプレート・マッチングに使用される。
【００５８】
図７は、１つの特徴点に対する複数のテンプレートを示す図であり、具体的には、右目尻の特徴点に対する複数のテンプレートの例を示す図である。図７のａは、頭部がカメラに対して左右方向を向いたときの状態を示し、図７のｂは、頭部がカメラに対して正面を向いているときの状態を示し、図７のｃは、頭部がカメラの光軸に対して回転したときの状態を示す。図７のａに対応する右目尻のテンプレートが参照番号７１で示され、図７のｂに対応する右目尻のテンプレートが参照番号６１で示され、図７のｃに対応する右目尻のテンプレートが参照番号７３で示されている。
【００５９】
図７を参照して分かるように、同じ右目尻の画像であっても、画像における見え方は、頭部の姿勢に応じて変化する。このため、顔トラッキング部３９は、頭部の姿勢に応じた複数のテンプレートを予めデータベース４７に記憶しておき、その複数のテンプレートから１つのテンプレートを選択して使用する。例えば、図７の例では、頭部が左右方向に回転した状態に対して３種類のテンプレートを用意し、頭部が光軸に対して回転した状態に対しても３種類のテンプレートを用意している。したがって、右目尻の特徴点のために、計９（３×３）個の右目尻のテンプレートの集合が使用される。
【００６０】
これらのテンプレートの集合のうち、テンプレート・マッチングで実際に使用されるテンプレートは１つだけである。このテンプレートの選択は、前回の入力画像の顔の情報に基づいて決められる。前回の入力画像と今回の入力画像が連続した画像フレームであるので、前回の頭部の姿勢と今回の頭部の姿勢は、比較的相関が高いはずである。したがって、図６のステップ２０１で、前回の入力画像に撮影されていた頭部の姿勢が取得され、ステップ２０３で、その頭部の姿勢に対応するテンプレートが選択される。対応するテンプレートが選択された後で、そのテンプレートを使用して今回の入力画像に対してテンプレート・マッチングを行うので、エラーを低減することができる。
【００６１】
上記では、計９個の右目尻のテンプレートの集合を例として述べた。しかしながら、他の特徴点に関しても複数のテンプレートが用意され、その中から前回の画像における顔の情報に応じて１つのテンプレートがそれぞれ使用される。各特徴点のためのテンプレートの数は、必要に応じていくつ用意してもよい。
【００６２】
次に、カメラに撮影されていない特徴点を予測する処理に関して詳細に説明する。これらの処理は、図６のフローチャートのステップ２０５から２０９で処理される。
【００６３】
図８および図９を参照して、カメラに撮影されていない特徴点の予測の概要を説明する。図９は、カメラに対して正面を向いた顔３１の正面図と上面図を示している。この図では便宜的に１個のカメラしか示されていないが、実際には、ステレオカメラを構成する２個のカメラが存在し、この処理は２個のカメラそれぞれに関して実行される。
【００６４】
図８では、カメラの設置位置に基づいて基準位置が定められる。この基準位置と各特徴点の３次元座標とを結ぶベクトルを各特徴点の「位置ベクトル」と呼ぶことにする。さらに、各特徴点の座標を結んで得られる曲面に対する各特徴点の法線方向のベクトルを各特徴点の「法線ベクトル」と呼ぶ。各特徴点がカメラに撮影されるかどうかは、各特徴点について「位置ベクトル」と「法線ベクトル」とがなす角度θによって判断することができる。
【００６５】
例えば、図８の上面図におけるｘ−ｚ平面に関して考察する。この場合、各特徴点について位置ベクトルと法線ベクトルとがなす角度θは、９０°より十分小さい。したがって、各特徴点全てがカメラで撮影することが可能である。しかしながら、顔が横向きである図９の上面図の場合、特徴１について位置ベクトルと法線ベクトルとがなす角度θ１が、ほぼ９０°になる。この場合、カメラは、特徴１を撮影することが出来なくなり、この特徴１に関するテンプレート・マッチングがエラーを生じる可能性が高くなる。
【００６６】
したがって、顔トラッキング部３９は、各特徴点ごとに位置ベクトルと法線ベクトルを求め、それらのベクトルがなす角度θを求める。この各特徴点のθが予め定められたしきい値より大きい場合、それに対応する特徴点は、カメラによって撮影されていないと判断される。結果として、顔トラッキング部３９は、その特徴点に関するテンプレート・マッチングを行わない。
【００６７】
上記の例では、ｘ−ｚ平面について説明したが、同様の処理は、ｘ−ｙ平面についても処理される。さらに、ステレオカメラを構成する２個のカメラのそれぞれについて、この処理が実行される。これにより、頭部の姿勢によって撮影されていない特徴点によって生じるエラーを回避することができる。
【００６８】
図６のフローチャートを参照して説明すると、ステップ２０５で前回の入力画像の頭部位置情報から各特徴点について位置ベクトルと法線ベクトルが求められる。ステップ２０７で各特徴点の位置ベクトルと法線ベクトルとがなす角度θが求められる。次に、ステップ２０９で、求められた角度θが予め定められたしきい値と比較され、テンプレート・マッチングを実行する特徴点が選択される。ステップ２１１で、今回の画像フレームに対して、選択されたテンプレートを使用してテンプレート・マッチングが実行され、その結果に基づいて、ステップ２１３で各特徴点のステレオ・マッチングが実行される。最終的にステップ２１５で３次元顔特徴点モデル６３に対して、３次元観測値とのフィッティングが行われることによって、入力画像に撮影されている顔向きが検出される。
【００６９】
まばたき検出部４１
まばたき検出部４１は、視線検出部４３のために、入力画像から目周辺の画像を抽出して目が閉じているかどうかを判断する。もし目が閉じられている場合、視線方向を検出する意味がないので顔トラッキング部３９に戻るよう処理される。
【００７０】
図１０は、まばたき検出部４１の処理（ステップ１１５）を詳細に示すフローチャートである。最初にステップ３０１で、入力画像において目が存在している領域が左右それぞれについて求められる。これは、顔トラッキング部３９で得られた左右の目尻と目頭の特徴点の情報に基づいて行われる。例えば、左右それぞれの目について、目全体を含む画像領域が求められる。次に、ステップ３０３で、その求められた領域から画像が抽出される。
【００７１】
図１１は、入力画像から抽出された右目の領域７５を示す。顔トラッキング部３９で検出された右目頭の特徴点は参照番号６３で示されており、右目尻の特徴点は参照番号６１で示されている。この例では、入力画像から抽出される目領域の範囲は、幅方向が目頭の特徴点から目尻の特徴点までであり、高さ方向が特徴点の高さの倍の長さである。
【００７２】
ステップ３０５で、目が開いているかどうかを判断するために目領域の画像から水平な直線が検出される。すなわち、目が開いている状態で撮影された入力画像の場合、抽出された目領域の画像には、虹彩や目の輪郭により生じる縦や斜めのエッジが多く含まれている。それに対して目が閉じている状態で撮影された入力画像の場合、閉じたまぶたによって生じる水平なエッジが比較的多く含まれている。したがって、目領域の画像からエッジ検出を行い、その目領域に含まれるエッジの種類（縦、斜め、水平など）の割合から目が閉じているかどうかを判断することができる。エッジの種類は、例えばハフ変換などの線分当てはめを行い、画像中に存在する直線群を検出することによって求められる。画像中に存在する直線群において水平とみなせる直線の割合が予め定めたしきい値より多く存在している場合、まばたき検出部４１は、ステップ３０７で目を閉じていると判断する。
【００７３】
この実施例では、左右両方の目についてそれぞれ目が開いているかどうかが検出される。左右どちらかの目が閉じられていると判断された場合、視線方向の検出には進まず、新たな画像フレームを使用して顔向き検出を処理する。
【００７４】
視線検出部４３
図１２は、視線検出部４３の詳細なフローチャートを示す。視線検出部４３は、顔トラッキング部３９で得られた顔の位置と向きに基づき、入力画像から視線方向を検出する。
【００７５】
視線検出部４３では、人の眼球は、眼球の中心が回転中心と一致する３次元的な球でモデル化される。視線方向は、顔トラッキング部３９で検出された頭部の位置および姿勢、並びに瞳孔の中心位置の関係で求められる。すなわち、視線検出部４３で検出される視線方向は、眼球の中心位置と瞳孔の中心位置とを結ぶベクトルとして求められる。
【００７６】
図１２のステップ４０１で、視線検出部４３は、顔トラッキング部３９で検出された顔の位置と向きから眼球の中心位置を求める。図１３を参照してこれを詳細に説明する。
【００７７】
図１３の参照番号７７は、顔トラッキング部３９で検出された目尻の特徴点の３次元座標を示しており、参照番号７７は、顔トラッキング部３９で検出された目頭の特徴点の３次元座標を示している。最初に、この２つの座標を結ぶ直線を得て、その直線の中点から眼球の中心方向に向かう直線が求められる。この明細書では、その中点から眼球の中心方向に向かうベクトルを「オフセット・ベクトル」と呼び、顔トラッキング部３９で得られた顔の向きに基づいて定める。眼球の中心位置８１は、その中点からオフセット・ベクトルに沿って引かれた直線上に存在し、中点から眼球の半径に相当する距離上に存在する。眼球の半径は、標準的な眼球の大きさに基づいて予め定められる。
【００７８】
次に、ステップ４０３で、画像から瞳孔の中心位置８３が検出される。先に述べたように、この実施例では、近赤外光を使用して撮影された近赤外画像が使用されている。この様な近赤外画像に撮影されている瞳孔は、虹彩との反射率の違いにより比較的暗く撮影される。したがって、目周辺の画像から最も暗い部分を検出することにより瞳孔が撮影されている領域を検出することができる。
【００７９】
ステップ４０５で、眼球の中心位置８１と瞳孔の中心位置８３とを結ぶベクトルから視線方向が求められる。図１４は、この様にして求められた視線方向を水平面および垂直面に対する角度として示している。図１４では、眼球の中心位置が参照番号８１で示され、眼球表面上に存在する瞳孔の中心が参照番号８２に示されている。図１４のａは、画像上平面をｘｙ座標とした場合に眼球の中心位置８１と瞳孔の中心位置８３とを結ぶベクトル（視線ベクトル）を示している。カメラの光軸方向をｚ軸とすると、図１４のａに対応する側面図は図１４のｂで示される。垂直面（この場合ｙｚ平面）に対する視線方向は、視線ベクトルがｘｚ平面に対してなす角度８５で表される。図１４のｃは、図１４のａの上面図を示している。この場合、水平面（ｘｚ平面）に対する視線方向は、視線ベクトルがｙｚ平面に対してなす角度８７で表される。
【００８０】
この実施例では、入力画像として左右の画像を使用しているので、右画像、左画像それぞれに対して視線ベクトルを求めることができる。さらに、１つの画像につき左右両方の視線ベクトルを求めることができるので、合計４つの視線ベクトルを求めることができる。本実施例では、この４つの視線ベクトルを平均したベクトルを入力画像の視線方向として使用する。
【００８１】
図３のステップ１２３で、顔の視線方向が検出された後で、ステップ１０５に戻り、新たな入力画像を使用して一連の処理が繰り返される。この繰り返しの結果、ドライバーの顔向き、顔位置、視線方向の連続的な追従をリアルタイムで実行することが可能になる。
【００８２】
他の実施形態
上記の顔・視線認識装置の実施形態では、コンピュータで構成されたハードウェア構成が説明されたが、本発明はこの様な実施形態に限定されない。図１５は、本発明による顔・視線認識装置を備えた自動車の１つの実施形態を示す。図１５の自動車は、画像入力部３３、サイドミラー９１、ルームミラー９３、制御装置９５、赤外線投光機１４を備える。
【００８３】
図１６は、図１５に示す顔・視線認識装置を備えた自動車の機能ブロック図を示す。この機能ブロック図には、画像入力部３３、赤外線投光機１４、画像解析部３５、個人識別部９６、環境設定部９７、サイドミラー・アクチュエータ９８、ルームミラー・アクチュエータ９９、シート・アクチュエータ１００が含まれる。
【００８４】
この実施形態における自動車は、図１６に示す各機能ブロックを使用して２種類の動作モードを処理する。第１の動作モードは、画像解析部３５が実行する顔向き・視線検出モードであり、このモードは、ドライバーの存在を検出して顔向きと視線方向の状態を連続的に検出する。第２の動作モードは、個人認証モードであり、このモードは、運転席に座っているドライバーを特定して、そのドライバーに合わせてミラーやシートなどの環境設定を実行する。
【００８５】
図１５に示す自動車は、通常、顔向き・視線検出モードで動作しており、ドライバーが運転席にいるかどうかを監視している。ドライバーが運転席にいる場合、ドライバーの顔向きと視線方向が常に画像解析部３５により検出される。自動車は、監視された顔向きと視線方向に基づいてドライバーの状態を判断し、それに応じた様々な処理を実行することができる。
【００８６】
個々のドライバーの情報は、データベース９２に予め登録されている。登録されているドライバー情報は、個々のドライバーの顔のデータ、個々のドライバーに対応する環境設定情報などである。顔のデータは、画像入力部３３で撮影された入力画像との照合のために個人識別部９６によって使用される。この実施形態では、個人識別部９６による個人認証の前に、画像解析部３５がドライバーの顔の位置や向き、視線方向などの情報を取得しているので、それらの顔の情報に応じた個人認証を実行することができる。
【００８７】
例えば、通常、ドライバーが斜め方向を向いている場合、個人認証の精度が低下する。しかしながら、この実施形態では、画像解析部３５がドライバーの顔の位置や向き、視線方向を前もって検出しているので、その様な顔の情報に応じた個人認証を実行することができる。
【００８８】
個人識別部９６によって運転席にいるドライバーが特定された場合、環境設定部９７は、登録された設定値を参照して、個々のドライバーのためにサイドミラー・アクチュエータ９８、バックミラー・アクチュエータ９９、シート・アクチュエータ１００を制御する。
【００８９】
以上この発明を特定の実施例について説明したが、この発明はこのような実施例に限定されるものではなく、当業者が容易に行うことができる種々の変形もこの発明の範囲に含まれる。
【００９０】
【発明の効果】
本発明は、リアルタイムでの顔向き・視線方向の追従において、誤認識が減少し、高精度な画像処理を実現させることができる。
【図面の簡単な説明】
【図１】コンピュータで構成される顔・視線認識装置の実施例。
【図２】顔・視線認識装置の機能ブロック図の実施例。
【図３】画像処理部の全体的なフローチャート。
【図４】探索用テンプレートの例。
【図５】３次元顔特徴点モデルの例。
【図６】顔トラッキング部のフローチャート。
【図７】複数のテンプレートを示す図。
【図８】カメラに撮影されていない特徴点の予測方法を示す図。
【図９】カメラに撮影されていない特徴点の予測方法を示す図。
【図１０】まばたき検出部のフローチャート。
【図１１】入力画像から抽出された右目の領域を示す図。
【図１２】視線検出部のフローチャート。
【図１３】視線検出部の処理を模式的に示す図。
【図１４】視線検出部により検出された視線方向を水平面および垂直面に対する角度として示した図。
【図１５】顔・視線認識装置を備えた自動車の実施例。
【図１６】図１３に示す顔・視線認識装置を備えた自動車の機能ブロック図。
【符号の説明】
１４        赤外線投光機
３３        画像入力部
３５        画像解析部
３７        顔探索部
３９        顔トラッキング部
４１        まばたき検出部
４３        視線検出部
【図１】
0004898026.tif 000003
【図２】
0004898026.tif 000004
【図３】
0004898026.tif 000005
【図４】
0004898026.tif 000006
【図５】
0004898026.tif 000007
【図６】
0004898026.tif 000008
【図７】
0004898026.tif 000009
【図８】
0004898026.tif 000010
【図９】
0004898026.tif 000011
【図１０】
0004898026.tif 000012
【図１１】
0004898026.tif 000013
【図１２】
0004898026.tif 000014
【図１３】
0004898026.tif 000015
【図１４】
0004898026.tif 000016
【図１５】
0004898026.tif 000017
【図１６】
0004898026.tif 000018