(57)【特許請求の範囲】
【請求項１】
被験者の顔領域を少なくとも含む画像に基づいて前記被験者の視線方向を検出する視線方向検出装置であって、
前記画像における前記被験者の左の瞳の中心の位置情報と、前記被験者の右の瞳の中心の位置情報とを抽出し、前記左の瞳の中心の位置情報と、前記右の瞳の中心の位置情報との第１の中点の位置情報を算出する特徴位置算出部と、
前記画像における前記被験者の左右対称に存在する顔部品を抽出し、一方の前記顔部品の位置情報と、他方の前記顔部品の位置情報との第２の中点の位置情報を算出する基準位置算出部と、
前記第１の中点の位置情報と、前記第２の中点の位置情報と、予め定められた眼球半径とに基づいて、前記被験者の第１の視線方向を算出する視線方向算出部と、
を備える視線方向検出装置。
【請求項２】
前記視線方向算出部は、
前記第１の中点の位置情報と前記第２の中点の位置情報との差分のうち前記左の瞳の中心と前記右の瞳の中心とを通る直線方向の成分の差分または前記一方の顔部品と前記他方の顔部品とを通る直線方向の成分の差分と、前記眼球半径とに基づいて、前記第１の視線方向を算出する、
請求項１に記載の視線方向検出装置。
【請求項３】
前記被検者の顔正面が左右のいずれに向いているかを判定する顔向き判定部と、
前記顔向き判定部により判定された顔正面の左右の向きに基づいて、前記左の瞳と前記右の瞳のうち手前側に位置する瞳を選択する特徴選択部を、さらに備え、
前記視線方向算出部が前記第１の視線方向を算出した後、
前記視線方向算出部は、前記左の瞳の中心と前記右の瞳の中心との瞳間距離の半分の値と、前記左の瞳および前記右の瞳のうち選択された瞳の中心の位置情報と、前記第２の中点の位置情報と、前記眼球半径とに基づいて、前記被験者の第２の視線方向を算出する、
請求項１に記載の視線方向検出装置。
【請求項４】
被験者の顔領域を少なくとも含む画像に基づいて前記被験者の視線方向を検出する視線方向検出方法であって、
特徴位置算出部は、前記画像における前記被験者の左の瞳の中心の位置情報と、前記被験者の右の瞳の中心の位置情報とを抽出し、前記左の瞳の中心の位置情報と、前記右の瞳の中心の位置情報との第１の中点の位置情報を算出し、
基準位置算出部は、前記画像における前記被験者の左右対称に存在する顔部品を抽出し、一方の前記顔部品の位置情報と、他方の前記顔部品の位置情報との第２の中点の位置情報を算出し、
視線方向算出部は、前記第１の中点の位置情報と、前記第２の中点の位置情報と、予め定められた眼球半径とに基づいて、前記被験者の第１の視線方向を算出する、
視線方向検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人の視線方向を検出する視線方向検出装置および視線方向検出方法に関する。
【背景技術】
【０００２】
近年、人の視線の方向を検出することにより、その人の注意の対象や意図を特定することが、多くの分野で注目されている。人間の視線方向の検出を非接触で行う技術が、従来提案されている（たとえば、特許文献１および特許文献２参照）。
【０００３】
特許文献１記載の視線認識装置は、ステレオカメラを使用して視線方向の検出の対象となる人（以下「被検者」という）を撮影し、撮影した画像を解析して、被検者の瞳の中心と、片方の目の目頭および目尻の三次元位置を検出する。次に、目頭および目尻が眼球の外側球面上に位置する前提で、目頭の位置と目尻の位置および眼球半径に基づいて、被検者の眼球の中心の三次元位置を特定する。そして、眼球中心を始点とし、瞳中心を終点とするベクトルを、被検者の視線方向を示すベクトルとして算出する。
【０００４】
また、特許文献２記載の視線方向検出装置は、ステレオカメラで撮影した被検者の画像を解析し、被検者の瞳の中心と、被検者の瞳の輪郭が通る平面の三次元位置を求める。そして、瞳の輪郭が通る平面の法線のうち、瞳の中心を通る線の方向を、被検者の視線方向として検出する。
【特許文献１】特開２００３−１５８１６号公報
【特許文献２】特開２００４−２５５０７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、目頭および目尻の形状や視覚的特徴には、個人差が大きい。したがって、上記した特許文献１記載の装置では、高い精度の視線方向検出結果を得るためには、被検者ごとに、実際の視線方向と検出される目頭および目尻の位置との関係を測定により特定し、視線方向の算出に用いる各種パラメータの校正を行う必要がある。すなわち、被検者ごとに、装置の校正（キャリブレーション）を行わなくてはならないため、手間が掛かるだけでなく、装置が複雑化するという問題がある。
【０００６】
また、視覚的に検出される瞳の輪郭の状態も、睫および瞼の態様や、眼鏡およびコンタクトレンズの有無により、個人差が大きい。したがって、上記した特許文献２記載の装置においても、高い精度の視線方向検出結果を得るためには、特許文献１記載の装置と同様に、被検者ごとに装置のキャリブレーションを行う必要がある。
【０００７】
本発明の目的は、被検者ごとのキャリブレーションを特に行うことなく高い精度の視線方向検出結果を得ることができる視線方向検出装置および視線方向検出方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明の視線方向検出装置は、被験者の顔領域を少なくとも含む画像に基づいて前記被験者の視線方向を検出する視線方向検出装置であって、前記画像における前記被験者の左の瞳の中心の位置情報と、前記被験者の右の瞳の中心の位置情報とを抽出し、前記左の瞳の中心の位置情報と、前記右の瞳の中心の位置情報との第１の中点の位置情報を算出する特徴位置算出部と、前記画像における前記被験者の左右対称に存在する顔部品を抽出し、一方の前記顔部品の位置情報と、他方の前記顔部品の位置情報との第２の中点の位置情報を算出する基準位置算出部と、前記第１の中点の位置情報と、前記第２の中点の位置情報と、予め定められた眼球半径とに基づいて、前記被験者の第１の視線方向を算出する視線方向算出部と、を備える構成を採る。
【０００９】
本発明の視線方向検出方法は、被験者の顔領域を少なくとも含む画像に基づいて前記被験者の視線方向を検出する視線方向検出方法であって、特徴位置算出部は、前記画像における前記被験者の左の瞳の中心の位置情報と、前記被験者の右の瞳の中心の位置情報とを抽出し、前記左の瞳の中心の位置情報と、前記右の瞳の中心の位置情報との第１の中点の位置情報を算出し、基準位置算出部は、前記画像における前記被験者の左右対称に存在する顔部品を抽出し、一方の前記顔部品の位置情報と、他方の前記顔部品の位置情報との第２の中点の位置情報を算出し、視線方向算出部は、前記第１の中点の位置情報と、前記第２の中点の位置情報と、予め定められた眼球半径とに基づいて、前記被験者の第１の視線方向を算出するようにした。
【発明の効果】
【００１０】
本発明によれば、左右の瞳中心の三次元位置や、目頭などの左右対称に位置する２つの顔部品の三次元位置という、高い検出精度で取得できかつ検出精度に個人差が少ないようなパラメータから、被検者の視線方向を検出することができる。すなわち、被検者ごとのキャリブレーションを特に行うことなく、高い精度の視線方向検出結果を得ることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１２】
（実施の形態１）
図１は、本発明の実施の形態１に係る視線方向検出装置の構成を示すブロック図である。本実施の形態の視線方向検出装置１００は、たとえば、よそ見運転など、車の運転者に対して事故発生の危険を警報する警報装置に併設されるものであり、運転者の視線方向を検出するための装置である。ここで、視線方向の検出とは、被検者の目を始点とし被検者の注視対象を終点とするベクトルと、方向を同一とするベクトル（以下「視線ベクトル」という）を検出することを示す。
【００１３】
図１において、視線方向検出装置１００は、画像入力部１１０、顔検出部１２０、顔部品検出部１３０、三次元位置算出部１４０、頭部姿勢推定部１５０、特徴算出部１６０、および視線方向算出部１７０を有する。また、画像入力部１１０は、第１撮像部１１１、第２撮像部１１２、および同期部１１３を有し、視線方向算出部１７０は、視線特徴投影部１７１、視線方向特徴量算出部１７２、および視線ベクトル算出部１７３を有する。
【００１４】
画像入力部１１０は、被検者を撮影して画像を入力し、入力画像を、顔検出部１２０および三次元位置算出部１４０へ出力する。
【００１５】
画像入力部１１０において、第１撮像部１１１および第２撮像部１１２は、図示しないイメージセンサをそれぞれ備えており、異なる位置で被検者を撮影する。イメージセンサは、たとえば、レンズと、ＣＣＤ（charge coupled device）またはＣＭＯＳ（complementary metal oxide semiconductor）により構成される。また、第１撮像部１１１および第２撮像部１１２の、入力画像と撮像位置との関係を定義する内部パラメータや、第１撮像部１１１および第２撮像部１１２の撮像位置を定義する外部パラメータは、既知である。ここで、たとえば、内部パラメータには、焦点距離、画像中心座標、画素サイズ、およびレンズ歪み係数が含まれ、外部パラメータには、並進ベクトルおよび回転行列が含まれる。また、同期部１１３は、第１撮像部１１１と第２撮像部１１２が同期したタイミングで撮像を行うように制御する。すなわち、画像入力部１１０は、ステレオカメラとして機能し、第１撮像部１１１と第２撮像部１１２でほぼ同時刻に撮像された２つの画像の組（以下「ステレオ画像対」という）を出力する。なお、イメージセンサとして上記したＣＣＤやＣＭＯＳを用いる場合には、画像入力部１１０は、ディジタルステレオカメラとして機能する。
【００１６】
顔検出部１２０は、画像入力部１１０により入力される画像から、被検者の顔（以下単に「顔」という）の画像の領域を検出し、顔の画像の領域（以下「顔領域」という）を示す顔領域情報を、ステレオ画像対のうち顔領域が検出された画像とともに、顔部品検出部１３０へ出力する。
【００１７】
顔部品検出部１３０は、顔検出部１２０により入力される画像から、同じく顔検出部１２０により入力される顔領域情報に基づいて、顔の中心を基準として顔に左右対称に位置する部品（以下「顔部品」という）を検出する。すなわち、顔部品検出部１３０は、顔部品に対応する画像を検出する。この顔部品は、たとえば、目頭、目尻、鼻孔、口角、眉頭、眉尻である。また、顔部品検出部１３０は、検出した顔部品（顔部品に対応する画像）に基づいて、被検者の左右の瞳中心（瞳中心に対応する画像）を検出する。そして、顔部品検出部１３０は、検出した各顔部品および瞳中心の、顔領域が検出された画像における二次元位置を示す顔部品二次元位置情報を、三次元位置算出部１４０へ出力する。
【００１８】
三次元位置算出部１４０は、画像入力部１１０から入力されるステレオ画像対、顔部品検出部１３０から入力される顔部品二次元位置情報、および上記した画像入力部１１０の既知の内部パラメータおよび外部パラメータに基づいて、各顔部品の三次元位置を算出する。そして、三次元位置算出部１４０は、各顔部品の三次元位置を示す顔部品三次元位置情報を、頭部姿勢推定部１５０および特徴算出部１６０へ出力する。
【００１９】
頭部姿勢推定部１５０（顔方向推定手段）は、三次元位置算出部１４０から入力される顔部品三次元位置情報から、顔正面の方向を示すベクトル（以下「顔正面ベクトル」という）を、被検者の頭部（以下単に「頭部」という）の姿勢を示す頭部姿勢パラメータとして取得する。具体的には、頭部姿勢推定部１５０は、左右で対応する２つの顔部品を含む３つ以上の顔部品のそれぞれの三次元位置を通る平面を算出し、その平面の法線ベクトルを、頭部姿勢パラメータとして取得する。そして、頭部姿勢推定部１５０は、取得した頭部姿勢パラメータを、視線方向算出部１７０へ出力する。
【００２０】
特徴算出部１６０は、三次元位置算出部１４０により入力される顔部品三次元位置情報から、被検者の視線（以下単に「視線」という）の特徴を示す視線特徴パラメータを取得する。視線特徴パラメータは、視線方向に対応して移動する点である視線方向特徴点の三次元位置（特徴位置）と、視線方向特徴点の移動を判別する際の基準となる視線方向基準点の三次元位置（基準位置）から成る。具体的には、視線方向特徴点は、左右の瞳中心の中点であり、視線方向基準点は、左右で対応する２つの顔部品（たとえば左右の目頭）の中点である。そして、特徴算出部１６０は、取得した視線特徴パラメータを、顔部品三次元位置情報とともに、視線方向算出部１７０へ出力する。
【００２１】
視線方向算出部１７０は、頭部姿勢推定部１５０から入力される頭部姿勢パラメータと、特徴算出部１６０から入力される視線特徴パラメータおよび顔部品三次元位置情報に基づいて、視線ベクトルを算出する。
【００２２】
視線方向算出部１７０において、視線特徴投影部１７１は、視線方向特徴点を、視線方向基準点の基となった左右で対応する２つの顔部品を通る直線に垂直に投影した、視線特徴投影点の三次元位置を算出する。視線方向特徴量算出部１７２は、視線方向基準点に対する視線特徴投影点のずれ量を、視線方向の特徴を示す量（以下「視線方向特徴量」という）として算出する。視線ベクトル算出部１７３は、視線方向特徴量と顔正面ベクトルに基づいて、視線ベクトルを算出する。視線方向算出部１７０は、算出された視線ベクトルを、視線方向検出結果として、たとえば上記した警報装置へ出力する。
【００２３】
視線方向検出装置１００は、図示しないが、ＣＰＵ（Central Processing Unit）と、制御プログラムを格納したＲＯＭ（Read Only Memory）と、ＣＰＵの作業用メモリとしてのＲＡＭ（Random Access Memory）とを備えている。すなわち、上記した視線方向検出装置１００の各部の機能は、ＣＰＵが制御プログラムを実行することにより実現される。
【００２４】
以上の構成を有する視線方向検出装置１００の動作について、以下、詳細な説明を行う。
【００２５】
図２は、視線方向検出装置１００による視線方向検出処理の流れを示すフローチャートである。この視線方向検出処理は、たとえば、上記した警報装置の起動を示す信号の入力や、ユーザ操作による処理開始の指示をトリガとして開始される。
【００２６】
図２のステップＳ１０００において、画像入力部１１０は、第１撮像部１１１および第２撮像部１１２により撮像された２つの画像を、ステレオ画像対として入力する。
【００２７】
図３は、画像入力部１１０で取得されるステレオ画像対の一例を示す説明図である。ステレオ画像対４００は、上記したように、第１撮像部１１１で撮像された画像（以下「第１画像」という）４０１と、第２撮像部１１２で撮像された画像（以下「第２画像」という）４０２から成る。ここで、第１撮像部１１１は、頭部をやや左側からみる位置に配置され、第２撮像部１１２は、頭部をやや右側からみる位置に配置されている。したがって、第１画像４０１と第２画像４０２は、同期部１１３の制御によりほぼ同時に撮像されたものであるが、異なった画像となっている。
【００２８】
画像入力部１１０は、上記したようにディジタルステレオカメラとして機能する場合には、たとえば、ＰＰＭ（Portable Pix Map file format）形式の画像データとして、第１画像４０１および第２画像４０２を取得する。画像入力部１１０は、取得した画像データを、画像入力部１１０に備えられた図示しない記憶部（たとえば、上記したＲＡＭの所定のメモリ空間）に一時的に記憶させる。そして、顔検出部１２０および三次元位置算出部１４０は、この記憶部から、ＰＰＭ形式の画像データを取得する。
【００２９】
図２のステップＳ１１００において、顔検出部１２０は、ステップＳ１０００で入力されたステレオ画像対４００のうち、第１画像４０１に対し、顔領域４０３の検出を行い、上記した顔領域情報を生成する。なお、顔検出部１２０は、第１画像４０１のみを画像入力部１１０から取得するようにしてもよい。
【００３０】
顔検出部１２０は、たとえば、第１画像４０１のうち、あらかじめ用意した平均顔の顔領域を表す特徴画像との相関が最も高い画像部分を特定することにより、顔領域４０３を検出する。具体的には、顔検出部１２０は、第１画像４０１から、特徴となる画像部分を複数抽出し、抽出した各画像部分と、特徴画像とを比較する。そして、抽出した画像部分のうち、特徴画像との類似度が最も高いものを、顔領域４０３に決定する。
【００３１】
顔検出部１２０は、たとえば、第１画像４０１のガボール特徴量を算出し、あらかじめ用意しておいた特徴画像のガボール特徴量と照合して、その差分の絶対値の逆数を、この類似度として用いるようにすればよい。ここで、ガボール特徴量とは、画像にガボールウェーブレット変換を施すことにより算出される、画像の特徴を示す値である。
【００３２】
また、顔検出部１２０は、第１画像４０１を解析して肌色の領域を検出したり、楕円形に近い形状の領域を検出したり、統計的パターン識別手法を用いることにより、顔領域４０３を検出するようにしてもよい。なお、第１画像４０１または第２画像４０２において顔領域４０３の検出を行うことが可能であれば、上記以外の各種手法を適用してもよいことは勿論である。
【００３３】
顔部品は、当然ながら顔に位置している。したがって、このように顔領域４０３を検出しておくことにより、顔部品の探索の対象となる領域を顔に絞ることができ、処理の高速化を図ることができる。
【００３４】
ステップＳ１２００において、顔部品検出部１３０は、ステップＳ１１００で生成された顔領域情報を基に、第１画像４０１の顔領域４０３を探索領域として、第１画像４０１から、顔部品４０４を検出する。ただし、顔部品検出部１３０は、たとえば、左右の目頭と左の口角というように、少なくとも２種類の顔部品を検出するとともに、少なくとも１種類については左右の両方を検出する。ここで、顔部品４０４として、左右の口角、左右の目頭、左右の目尻を検出したものとする。これらの顔部品４０４は、上記したように、顔の中心を基準として左右対称に位置している。
【００３５】
顔部品検出部１３０は、たとえば、分離度フィルタを用いて第１画像４０１の顔領域４
０３の各位置の分離度を検出し、分離度が高い箇所の中から、顔部品４０４に該当するものを特定することにより、顔部品４０４を検出する。具体的には、顔部品検出部１３０は、顔領域と顔部品との位置関係をあらかじめ記憶または学習しておき、分離度が高い箇所のうち、尤度が高い箇所を顔部品４０４として検出する。または、顔部品検出部１３０は、平均顔の画像を部分的に切り取った画像部分から作成された画像部品のテンプレートを用意しておき、第１画像４０１の顔領域４０３の各所に対してテンプレートマッチングを行って類似する箇所を探索することにより、顔部品４０４を検出するようにしてもよい。
【００３６】
ステップＳ１３００において、顔部品検出部１３０は、ステップＳ１１００で生成された顔領域情報を基に、第１画像４０１の顔領域４０３を探索領域として、第１画像４０１から、被検者の瞳中心４０５を検出する。
【００３７】
顔部品検出部１３０は、たとえば、顔部品４０４のうち目尻と目頭を含む領域に対して円形分離度フィルタを適用し、最も輝度の分離度が高い円中心を、瞳中心４０５として検出する。ただし、このとき、ソーベル（Sobel）フィルタを用いたエッジ検出や、大津の閾値法を用いた輝度の二値化などにより瞼を検出し、上下瞼に挟まれた領域内のみを検出対象範囲とすることが望ましい。または、顔部品検出部１３０は、目尻と目頭を含む領域において、水平方向および垂直方向のそれぞれで輝度和をとり、それぞれの輝度和が小さい点を瞳中心４０５とするようにしてもよい。なお、瞳中心４０５の検出を行うことが可能であれば、上記以外の各種手法を適用してもよいことは勿論である。
【００３８】
ステップＳ１４００において、三次元位置算出部１４０は、ステップＳ１０００で取得されたステレオ画像対４００、ステップＳ１２００で検出された顔部品４０４、およびステップＳ１３００で検出された瞳中心４０５に基づいて、顔部品４０４および瞳中心４０５の三次元位置を算出する。具体的には、三次元位置算出部１４０は、第１画像４０１と第２画像４０２のそれぞれにおける顔部品４０４および瞳中心４０５の二次元位置と、上記した第１撮像部１１１と第２撮像部１１２の内部パラメータおよび外部パラメータを基に、ステレオ法により、顔部品４０４および瞳中心４０５の三次元位置を算出する。そして、三次元位置算出部１４０は、算出した各顔部品の三次元位置を、顔部品三次元位置情報として、頭部姿勢推定部１５０および特徴算出部１６０へ出力する。
【００３９】
三次元位置算出部１４０は、たとえば、第２画像４０２に対してテンプレートマッチングを行うことにより、顔部品４０４および瞳中心４０５の第２画像４０２における対応点の位置を検出する。具体的には、三次元位置算出部１４０は、第１画像４０１における各顔部品４０４と瞳中心４０５を含む画像部分のそれぞれをテンプレートとするとともに、第１画像４０１における各顔部品４０４と瞳中心４０５のエピポーラ線を第２画像４０２に対して引く。そして、エピポーラ線上で、対応するテンプレートに最も相関の高い箇所を探索して、顔部品４０４および瞳中心４０５の対応点の第２画像４０２における位置を特定する。
【００４０】
なお、三次元位置算出部１４０は、第１画像４０１を基に顔を三次元モデル化して、第２画像４０２における対応点の探索範囲を限定するようにしてもよい。このように、顔部品４０４および瞳中心４０５の対応点の探索領域を絞ることにより、処理の高速化を図ることができる。また、三次元位置算出部１４０は、顔の形状を三次元モデル化した上で、特徴が顕著な顔部品４０５の対応点の探索を優先させて、顔全体の三次元形状として考えた際に矛盾が生じないように、残りの対応点を探索するようにしてもよい。顔部品４０４および瞳中心４０５の三次元位置の検出を行うことが可能であれば、上記以外の各種手法を適用してもよいことは勿論である。
【００４１】
ステップＳ１５００において、頭部姿勢推定部１５０は、ステップＳ１４００で検出さ
れた顔部品４０４の三次元位置に基づいて、頭部の姿勢を推定し、頭部姿勢パラメータを取得する。
【００４２】
頭部姿勢推定部１５０は、たとえば、ステップＳ１２００で取得された顔部品４０４のうち、左右の口角と左右の目頭の４点を通る平面を特定し、その法線ベクトルを算出する。そして、算出した法線ベクトルを、顔正面ベクトル、つまり頭部姿勢パラメータとする。なお、実際には上記した４点のすべてを通る平面を常に取得することは難しいため、各点から引いた垂線の長さの二乗和が最小となる平面を特定し、その法線ベクトルを顔正面ベクトルとする。または、たとえば、左右の口角と一方の目頭の３点を通る平面を特定し、その法線ベクトルを顔正面ベクトルとしてもよい。または、左右の目頭を結ぶベクトルと、いずれかの目頭と左右の口角の中点を結ぶベクトルを求め、これらの２つのベクトルの外積をとることにより、顔正面ベクトルを求めるようにしてもよい。また、平面を算出する際の評価方法として、Ｍ推定などのロバスト推定手法を用いてもよい。なお、顔正面ベクトルの算出を行うことが可能であれば、上記以外の各種手法を適用してもよいことは勿論である。
【００４３】
ステップＳ１６００において、特徴算出部１６０は、ステップＳ１４００で検出された瞳中心４０５および顔部品４０４の三次元位置に基づいて、視線特徴パラメータを取得する。
【００４４】
特徴算出部１６０は、左右の瞳中心４０５の三次元位置から、左右の瞳中心４０５の中点の三次元位置を特定し、特定した点を上記した視線方向特徴点とする。また、特徴算出部１６０は、たとえば、顔部品４０４のうち左右の目頭の三次元位置から、左右の目頭の中点の三次元位置を特定し、特定した点を上記した視線方向基準点とする。
【００４５】
なお、左右の目尻の中点、左右の口角の中点など、顔に左右対称に存在する他の顔部品４０４の中点を、視線方向基準点としてもよい。また、左右の目尻と左右の口角というように、左右対称の顔部品を複数組選定し、それぞれの各点の重心を視線方向基準点としてもよい。すなわち、視線方向基準点は、顔が左右対称となっている前提で、顔の左右方向の中心に位置する点である。特徴算出部１６０は、視線特徴パラメータだけでなく、視線方向基準点の基となった顔部品４０４の三次元位置に関する情報も、視線方向算出部１７０へ出力する。
【００４６】
ステップＳ１７００において、視線特徴投影部１７１は、ステップＳ１６００で取得された視線特徴パラメータおよび顔部品三次元位置情報に基づいて、視線方向特徴点を、視線方向基準点の基となった左右の対応する２つの顔部品４０４を通る直線へ投影し、その投影点を、視線特徴投影点として取得する。
【００４７】
視線特徴投影部１７１は、たとえば、左右の目頭の中点が視線方向基準点とされた場合には、視線方向特徴点から左右の目頭を通る直線へ垂線を下ろし、この垂線と左右の目頭を通る直線との交点を、視線特徴投影点として取得する。また、たとえば、３点以上の顔部品４０４の重心が視線方向基準点とされた場合には、顔部品４０４を左右に分け、左右それぞれの顔部品４０４の重心を通る直線に対して、垂線を下ろすようにすればよい。
【００４８】
ステップＳ１８００において、視線方向特徴量算出部１７２は、ステップＳ１６００で取得された視線方向基準点と、ステップＳ１７００で取得された視線特徴投影点に基づいて、視線方向特徴量を算出する。
【００４９】
図４は、視線方向ベクトルに関する各パラメータの関係を示す説明図であり、被検者の目とその周辺部分を上方からみた状態で示している。ここでは、左右の目頭の中点が視線
方向基準点とされた場合を例として説明を行う。
【００５０】
図４に示すように、視線方向基準点Ｆｃは、左目頭５０１と右目頭５０２の中点である。また、瞳中心５０３が移動すると、視線方向特徴点５０４も移動し、視線特徴投影点Ｅｃも左右の同じ方向に同じ距離だけ移動する。したがって、瞳中心５０３が、顔正面を向いたときの位置に対して左右方向にずれ量ｄだけ移動した場合、視線特徴投影点Ｅｃも、視線方向基準点Ｆｃに対して左右方向にずれ量ｄだけ移動する。ここで、視線方向基準点Ｆｃを基準とするずれ量ｄおよび顔正面ベクトル５１２を基準とする角度について、顔を正面からみたときの左方向を正とする。
【００５１】
ずれ量ｄは、視線方向特徴量であり、視線方向特徴点５０４が視線方向基準点Ｆｃよりも左側にある場合には、たとえば、以下に示す式（１）を用いて求められる。また、視線方向特徴点５０４が視線方向基準点Ｆｃよりも右側にある場合には、ずれ量ｄは、たとえば、以下に示す式（２）を用いて求められる。
【００５２】
【数１】
0005137833.tif 000002
【数２】
0005137833.tif 000003
【００５３】
ステップＳ１９００において、視線ベクトル算出部１７３は、ステップＳ１９００で算出された視線方向特徴量に基づいて、視線ベクトル５１１と顔正面ベクトル５１２とが成す角を算出し、視線ベクトル５１１を算出する。そして、算出した視線ベクトル５１１を、たとえば、上記した警報装置へ出力する。
【００５４】
顔を基準としたときの瞳中心５０３の回転中心は、眼球中心５０５に一致するため、視線ベクトル５１１は、眼球中心５０５を始点とし瞳中心５０３を終点とするベクトルで示すことができる。したがって、眼球半径をｒとしたとき、視線ベクトル５１１と顔正面ベクトル５１２とが成す角θに関して、以下の式（３）が成り立つ。
【００５５】
【数３】
0005137833.tif 000004
【００５６】
したがって、視線ベクトル５１１と顔正面ベクトル５１２とが成す角θは、たとえば、以下の式（４）を用いて求められる。
【００５７】
【数４】
0005137833.tif 000005
【００５８】
なお、眼球半径ｒは、成人であれば個人差は少ないため、あらかじめ定めた値を用いることができる。また、年齢や性別、人種といった被検者の特性に合わせて、眼球半径ｒの値を切り変えたり、被検者の実際の眼球半径を測定し、測定結果を用いるようにしてもよ
い。
【００５９】
ここで、三次元位置算出部１４０で三次元位置を表現するのに使用する座標系、つまり第１撮像部１１１および第２撮像部１１２の撮像位置を基準とした座標系を、ステレオカメラ座標系というものとする。また、視線方向基準点の基となった左右で対応する２つの顔部品４０４（図４では、左目頭５０１と右目頭５０２）を通る直線をｘ軸とし、顔正面ベクトル５１２と平行なｚ軸を有する座標系を、顔座標系というものとする。
【００６０】
顔座標系における顔正面ベクトル５１２の各成分を、（０，０，ｆｚ）とし、顔座標系における視線ベクトル５１１の各成分を、（ｇｘ，ｇｙ，ｇｚ）とすると、視線ベクトル５１１は、たとえば、以下の式（５）を用いて求められる。
【００６１】
【数５】
0005137833.tif 000006
【００６２】
顔座標系の各軸は、ステレオカメラ座標系で表現可能なベクトルまたは特徴を基に定義される。したがって、顔座標系で表現される視線ベクトル５１１は、ステレオカメラ座標系においても表現することが可能である。したがって、第１撮像部１１１および第２撮像部１１２の外部パラメータから、たとえば視線ベクトルが外界のどの方向を向いているかを検出することができる。
【００６３】
たとえば、ステレオカメラ座標系における視線ベクトル５１１の各成分を（Ｇｘ，Ｇｙ，Ｇｚ）とし、顔座標系からステレオカメラ座標系へ回転行列および並進ベクトルをそれぞれＲ、Ｔとすると、ステレオカメラ座標系における視線ベクトル５１１は、たとえば、以下の式（６）を用いて求められる。
【００６４】
【数６】
0005137833.tif 000007
【００６５】
なお、回転行列Ｒおよび並進ベクトルＴは、顔正面ベクトル５１２を算出する際に用いた顔部品３点の座標から取得することが可能である。
【００６６】
ステップＳ２０００において、視線方向検出装置１００は、視線ベクトル５１１を検出する処理の終了判定を行う。この終了判定は、たとえば、上記した警報装置の停止を示す信号の入力や、ユーザ操作による処理停止の指示の有無を判別することにより行われる。処理を終了すると判定した場合には（Ｓ２０００：ＹＥＳ）、そのまま一連の処理を終了する。処理を終了しないと判定した場合には（Ｓ２０００：ＮＯ）、ステップＳ１０００へ戻り、再びステレオ画像対４００を入力し、視線ベクトル５１１の検出を行う。
【００６７】
ただし、視線方向検出装置１００を構成する複数の処理部で並行して処理を進められる場合には、直前に取得されたステレオ画像対４００から視線ベクトル５１１が取得される前に、次のステレオ画像対４００の取得を行うようにしてもよい。また、画像入力部１１０は一定周期ごとに撮像を行うようにしてもよい。この場合には、視線方向検出装置１０
０は、ステップＳ２０００の終了判定を早期に行い、視線ベクトル５１１を検出する処理を終了することを判定したときに、画像入力部１１０の撮像を停止させる。なお、ステップＳ１０００からステップＳ１９００までの処理に要する時間を短縮すればするほど、よりリアルタイムに近い視線方向検出を実現できることと、ステップＳ１０００の処理間隔を短くすればするほど、より細やかな視線方向検出を実現できることは、いうまでもない。
【００６８】
このようにして、視線方向検出装置１００は、被検者がどの方向を見ているかを、視線ベクトル５１１として検出し、警報装置へ出力する。
【００６９】
警報装置では、たとえば、ステレオカメラ座標系において、フロントガラスの領域、サイドミラーの領域、カーナビゲーション装置の液晶パネルの領域などを記憶しており、入力される視線ベクトル５１１を基に、運転者がどの領域に視線を向けているかを監視する。そして、たとえば、左右にハンドルを切る操作が行われる際に、ハンドルを切る側のサイドミラーに運転者の視線が向いていない場合には、サイドミラーを確認するよう警告を行う。これにより、ハンドルを切る際の巻き込み事故を未然に防ぐことが可能となる。
【００７０】
以上説明したように、本実施の形態によれば、人間の左右の瞳中心が、顔正面の方向を見ているときには顔に左右対称に配置され、他の方向を見る際には連動して動くという、人間の顔に一般的に共通する特徴を利用し、視線方向の検出を行うようにした。具体的には、左右の瞳中心の三次元位置と、顔の中心を基準として顔に左右対称に位置する顔部品の三次元位置とを検出し、左右の瞳中心の中点の、顔の中心に対する左右方向のずれ量を検出し、そのずれ量と眼球半径に基づいて視線方向を検出するようにした。
【００７１】
これにより、高い検出精度で取得することが可能であり、かつ検出精度に個人差が少ないパラメータから、視線方向を検出することができる。したがって、被検者ごとのキャリブレーションを特に行うことなく、高い精度の視線方向検出結果を、安定して得ることができる。また、たとえば、ステレオカメラによる低解像度の撮影像からでも、高い精度の視線方向検出結果を安定して得ることができる。すなわち、ステレオカメラの解像度を低く抑えることができ、装置の低コスト化を図ることができる。
【００７２】
また、人間の顔に左右対称に存在する顔部品を利用して、ステレオカメラ座標系などの特定の座標系における顔正面の方向を検出するので、検出した視線方向を特定の座標系で表現することができ、検出結果の利用価値を高めることができる。また、ステレオカメラで撮影した画像に基づいて、左右の瞳中心の中点の、顔の中心に対する左右方向のずれ量を検出するので、非接触での視線方向検出を実現することができ、各種分野に柔軟に適用することができる。さらに、上記した人間の顔に共通する特徴を利用するだけでなく、個人差の少ない眼球半径を既知の値とすることで、被検者ごとのキャリブレーションが全く不要となる。これにより、より短時間で視線方向検出を開始することができるとともに、使用者への負担を軽減することができる。すなわち、より簡便かつ気軽に、人間の視線方向を検出することが可能となる。
【００７３】
特に、車の運転者に対して事故の危険性を警報する警報装置に適用するような場合、ステレオカメラを使用して非接触での視線方向検出を行う必要があるが、運転時の車内の明るさや照明状態の変動が大きいため、画像に影などの不確定要素が入りやすい。したがって、このような警報装置には、本実施の形態による視線方向検出装置は、特に有用である。
【００７４】
なお、本実施の形態の視線方向検出装置では、顔の左右方向における瞳の移動に対応した視線方向検出のみを行うようになっているが、通常、人の瞳は上下方向に比べて左右方
向により大きく移動するため、被検者の注意の対象や意図を特定するための情報として、十分に利用価値の高い検出結果を得ることができる。また、顔の上下方向における瞳の移動に対応した視線方向検出の技術と組み合わせてもよいことは勿論である。
【００７５】
（実施の形態２）
以上説明した実施の形態１では、左右の瞳中心の中点の左右方向のずれ量を算出する際に、視線特徴投影点を用いたが、本実施の形態では、顔の左右方向における中心に位置する基準面を算出し、算出された基準面（対称面）を用いる。
【００７６】
図５は、本発明の実施の形態２に係る視線方向検出装置の構成を示すブロック図であり、実施の形態１の図１に対応するものである。
【００７７】
図５において、本実施の形態の視線方向検出装置２００は、図１に示す視線方向算出部１７０に代えて、視線方向算出部２７０を有している。視線方向算出部２７０は、図１に示す視線特徴投影部１７１および視線方向特徴量算出部１７２に代えて、視線基準面算出部２７１および視線方向特徴量算出部２７２を有している。
【００７８】
視線方向算出部２７０において、視線基準面算出部２７１は、顔の対称面に相当する視線基準面の三次元位置（基準位置）を算出する。視線方向特徴量算出部２７２は、視線基準面に対する視線方向特徴点のずれ量を、視線方向特徴量として算出する。
【００７９】
図６は、視線方向検出装置２００による視線方向検出処理の流れを示すフローチャートであり、実施の形態１の図２に対応するものである。
【００８０】
ステップＳ１０００からステップＳ１６００までの処理は、図２と同様である。ステップＳ１６００で、特徴算出部１６０が視線特徴パラメータを取得すると、ステップＳ１７１０へ進む。
【００８１】
ステップＳ１７１０において、視線基準面算出部２７１は、ステップＳ１４００で取得された顔部品三次元位置情報と、ステップＳ１６００で取得された視線特徴パラメータとに基づいて、上記した視線基準面を算出する。ここで、視線基準面は、視線方向基準点の基となった左右で対応する２つの顔部品４０４を通る直線を法線とし、視線方向基準点を通る平面と定義する。
【００８２】
視線基準面算出部２７１は、まず、視線方向基準点Ｆｃの基となった左右で対応する２つの顔部品４０４を結ぶベクトル（以下「顔部品ベクトル」という）を算出する。そして、算出した顔部品ベクトルと、視線方向基準点に基づいて、視線基準面を算出する。
【００８３】
図７は、視線方向ベクトルに関する各パラメータの関係を示す説明図であり、実施の形態１の図４に対応するものである。
【００８４】
図７に示すように、視線基準面６０１は、視線方向基準点Ｆｃの基となった左右で対応する２つの顔部品４０４（図７では、左目頭５０１と右目頭５０２）を通る直線と直交し、視線方向基準点Ｆｃを通る。顔部品ベクトル６１１の各成分を、（ａ，ｂ，ｃ）とし、視線方向基準点Ｆｃの座標を、（ｘｆ，ｙｆ，ｚｆ）とすると、視線基準面６０１は、たとえば、以下の式（７）で示される。
【００８５】
【数７】
0005137833.tif 000008
【００８６】
ステップＳ１８１０において、視線方向特徴量算出部２７２は、ステップＳ１６００で取得された視線方向特徴点５０４と、ステップＳ１７１０で算出された視線基準面６０１に基づいて、視線基準面６０１に対する視線方向特徴点５０４のずれ量ｄを算出する。
【００８７】
ずれ量ｄ、つまり視線方向特徴量は、視線方向特徴点５０４の座標を、（ｘｐ，ｙｐ，ｚｐ）とすると、視線方向特徴点５０４が視線基準面６０１よりも左側にある場合には、たとえば、以下の式（８）を用いて求めることができる。また、視線方向特徴点５０４が視線基準面６０１よりも右側にある場合には、ずれ量ｄは、たとえば、以下に示す式（９）を用いて求められる。
【００８８】
【数８】
0005137833.tif 000009
【数９】
0005137833.tif 000010
【００８９】
図６において、以上のようにステップＳ１８１０で視線方向特徴量が算出されると、ステップＳ１９００へ進む。ステップＳ１９００以降の処理については、図２と同様であり、ステップＳ１９００において、視線ベクトル５１１が算出される。この演算には、たとえば、眼球半径ｒを既知の値として、実施の形態１の式（３）、式（４）、式（５）、および式（６）を用いればよい。
【００９０】
このように、本実施の形態によれば、実施の形態１と同様に、被検者ごとのキャリブレーションを特に行うことなく、高い精度の視線方向検出結果を、安定して得ることができる。また、実施の形態１における視線方向特徴量の精度は、視線方向投影点と視線特徴点との距離、つまり視線方向基準点の基となる顔部品の選定によって変動するが、本実施の形態では視線基準面を基準とするため、このような精度のばらつきを抑えることができる。したがって、実施の形態１と比較して、視線ベクトルの検出精度を向上させることができる。
【００９１】
（実施の形態３）
たとえば車を運転中の人の視線方向検出を行う場合、広い範囲で顔の向きを変えるため、一時的に片目しか撮像できないことがある。そこで、本実施の形態では、両目を撮像できたときの情報を記憶しておき、一時的に片目しか撮像できないことがあっても、継続的に視線方向を検出できるようにする。
【００９２】
図８は、本発明の実施の形態３に係る視線方向検出装置の構成を示すブロック図であり、実施の形態１の図１に対応するものである。
【００９３】
図８において、本実施の形態の視線方向検出装置３００は、図１に示す特徴算出部１６
０および視線方向算出部１７０に代えて、特徴算出部３６０および視線方向算出部３７０を有している。視線方向算出部３７０は、図１に示す視線特徴投影部１７１および視線方向特徴量算出部１７２に代えて、視線特徴投影部３７１および視線方向特徴量算出部３７２を有している。また、視線方向検出装置３００は、特徴記憶部３６５を有している。
【００９４】
特徴算出部３６０は、三次元位置算出部１４０から入力される顔部品三次元位置情報から、視線特徴パラメータを取得するとともに、左右の瞳中心の距離である瞳間距離を算出する。ただし、本実施の形態では、視線特徴パラメータは視線方向基準点を含んでいればよく、必ずしも視線方向特徴点を含む必要はない。
【００９５】
特徴記憶部３６５は、特徴算出部３６０で算出される瞳間距離を記憶する。
【００９６】
視線方向算出部３７０において、視線特徴投影部３７１は、左右の瞳中心のうち、適切な方の瞳中心を、視線方向基準点の基となる顔部品４０４を通る直線へ投影した投影点（以下「顔部品投影点」という）を算出する。視線方向特徴量算出部３７２は、顔部品投影点と、視線特徴パラメータと、特徴記憶部３６５に記憶されている瞳間距離に基づいて、視線方向特徴量を算出する。
【００９７】
図９は、視線方向検出装置３００による視線方向検出処理の流れを示すフローチャートであり、実施の形態１の図２に対応するものである。
【００９８】
ステップＳ１０００からステップＳ１５００までの処理は、図２と同様である。ステップＳ１５００で、頭部姿勢推定部１５０が頭部姿勢パラメータを取得すると、ステップＳ１５５０へ進む。
【００９９】
ステップＳ１５５０において、特徴算出部３６０は、視線特徴パラメータ（視線方向基準点）を取得するとともに、被検者の左右の瞳中心の三次元位置を基に、瞳間距離を算出し、特徴記憶部３６５に記憶させる。過去の情報が特徴記憶部３６５に既に記憶されている場合には、新たに算出した瞳間距離で記憶内容を更新する。
【０１００】
ただし、顔が横を向いていたり、眼鏡のレンズへの映り込みが激しいなどして、ステップＳ１０００で、第１撮像部１１１および第２撮像部１１２の両方が、左右の瞳中心の両方を撮像できなかった場合には、視線方向特徴点の取得と、瞳間距離の算出および記憶は行わずに、そのままステップＳ１６００へ進む。また、同一の被検者について過去に取得された瞳間距離が特徴記憶部３６５に既に記憶されている場合も、瞳間距離の算出および記憶を行わずに、そのままステップＳ１６００へ進むようにしてもよい。
【０１０１】
ステップＳ１６００において、特徴算出部３６０は、ステップＳ１４００で検出された瞳中心４０５および顔部品４０４の三次元位置に基づいて、視線特徴パラメータを取得し、ステップＳ１７２０へ進む。
【０１０２】
ステップＳ１７２０において、視線特徴投影部３７１は、ステップＳ１４００で取得された顔部品三次元位置情報と、ステップＳ１６００で取得された視線特徴パラメータとに基づいて、左右の瞳中心のいずれかを、視線方向基準点の基となった左右の対応する２つの顔部品４０４を通る直線へ投影し、その投影点を、顔部品投影点として取得する。
【０１０３】
ステップＳ１８２０において、視線方向特徴量算出部３７２は、ステップＳ１５５０で取得された視線方向基準点と、ステップＳ１７２０で取得された顔部品投影点に基づいて、視線方向特徴量を算出する。
【０１０４】
図１０は、視線方向ベクトルに関する各パラメータの関係を示す説明図であり、実施の形態１の図４に対応するものである。
【０１０５】
図１０に示すように、瞳中心５０３が移動すると、視線方向基準点Ｆｃの基となった２つの顔部品４０４（図１０では、左目頭５０１と右目頭５０２）が通る直線に投影された左右の顔部品投影点Ｅｐの中点７０１の三次元位置（特徴位置）も、左右方向に同じずれ量だけ移動する。したがって、瞳中心５０３が、顔正面を向いたときの位置に対して左右方向にずれ量ｄだけ移動した場合、左右の顔部品投影点Ｅｐの中点７０１も、視線方向基準点Ｆｃに対して左右方向にずれ量ｄだけ移動する。
【０１０６】
ずれ量ｄは、視線方向特徴量であり、瞳間距離をＬｅｙｅとすると、左右の顔部品投影点Ｅｐの中点７０１が視線方向基準点Ｆｃによりも左側にある場合には、たとえば、以下に示す式（１０）を用いて求められる。また、左右の顔部品投影点Ｅｐの中点７０１が視線方向基準点Ｆｃによりも右側にある場合には、ずれ量ｄは、たとえば、以下に示す式（１１）を用いて求められる。
【０１０７】
【数１０】
0005137833.tif 000011
【数１１】
0005137833.tif 000012
【０１０８】
上記した式（１０）および式（１１）により算出される値は、左右の顔部品投影点Ｅｐのいずれを採用してもそれぞれ同一となる。したがって、視線方向特徴量を算出する際には、左右の顔部品投影点Ｅｐのうち任意の一方を採用することができる。これは、視線方向基準点Ｆｃと瞳間距離Ｌｅｙｅを取得すれば、左右の瞳中心５０３のうちいずれか一方の三次元位置のみから、視線方向特徴量を算出できることを意味する。すなわち、必ずしも左右の瞳の両方を撮像する必要がなく、たとえば、顔が横を向き、一時的に片目しか撮像できなくても、継続して視線方向特徴量を算出できる。
【０１０９】
図１０において、以上のようにステップＳ１８２０で視線方向特徴量が算出されると、ステップＳ１９００へ進む。ステップＳ１９００以降の処理については、図２と同様であり、ステップＳ１９００において、視線ベクトル５１１が算出される。この演算には、たとえば、眼球半径ｒを既知の値として、実施の形態１の式（３）、式（４）、式（５）、および式（６）を用いればよい。
【０１１０】
このように、本実施の形態によれば、実施の形態１および実施の形態２と同様に、被検者ごとのキャリブレーションを特に行うことなく、高い精度の視線方向検出結果を、安定して得ることができる。また、瞳間距離を記憶しておくことにより、左右の顔部品投影点の中点を片方の瞳中心から特定できるので、片目しか撮像できなくても、正面方向に対する瞳中心の左右方向のずれ量を常に取得することができる。
【０１１１】
すなわち、本実施の形態によれば、顔の向きや、髪や眼鏡の縁、光の反射などの原因により、被検者の片目しか撮像できない場合でも、視線方向を検出することができ、高い精度の視線方向検出結果をより安定的に得ることができる。たとえば、顔が左向きならば右目、右向きならば左目というように、第１撮像部１１１および第２撮像部１１２から向かって顔の向きと逆側の瞳の中心を、三次元位置の検出の対象として選択すればよい。
【０１１２】
なお、瞳間距離は、別途検出を行ったり、初期値として入力することにより、あらかじめ記憶しておくようにしてもよい。さらに、左右の瞳中心の両方が検出されているときには、実施の形態１または実施の形態２で説明した手法により視線方向特徴量を算出し、片方の瞳中心しか検出できないときにのみ本実施の形態で説明した手法を適用するようにしてもよい。この場合、左右の瞳中心の両方が検出されているか否かを判別し、判別結果に応じて処理を切り変えるようにすればよい。
【０１１３】
（実施の形態４）
実施の形態４では、実施の形態３で説明した片方の瞳中心の三次元位置を用いた視線方向検出を、実施の形態２で説明した視線基準面を用いて行う場合について説明する。
【０１１４】
図１１は、本発明の実施の形態４に係る視線方向検出装置の構成を示すブロック図であり、実施の形態２の図５および実施の形態３の図８に対応するものである。
【０１１５】
図１１において、本実施の形態の視線方向検出装置６００は、図８に示す視線方向算出部３７０に代えて、視線方向算出部６７０を有している。視線方向算出部６７０は、図８に示す視線特徴投影部３７１および視線方向特徴量算出部３７２に代えて、図５に示す視線基準面算出部２７１と、視線方向特徴量算出部６７２とを有している。
【０１１６】
視線方向算出部６７０において、視線方向特徴量算出部６７２は、視線基準面算出部２７１により算出された視線基準面の三次元位置と、特徴算出部３６０により算出された視線特徴パラメータと、特徴記憶部３６５に記憶されている瞳間距離とに基づいて、視線方向特徴量を算出する。
【０１１７】
図１２は、視線方向検出装置６００による視線方向検出処理の流れを示すフローチャートであり、実施の形態２の図６および実施の形態３の図９に対応するものである。
【０１１８】
ステップＳ１０００からステップＳ１６００までの処理は、図９と同様である。また、ステップＳ１７１０およびステップＳ１９００以降の処理は、ステップＳ１８１０の処理をステップＳ１８３０の処理に代えたことを除き、図６と同様である。
【０１１９】
ステップＳ１８３０において、視線方向特徴量算出部６７２は、ステップＳ１４００で検出された瞳中心の三次元位置と、ステップＳ１５５０で求められた瞳間距離と、ステップＳ１７１０で求められた視線基準面とに基づいて、視線方向特徴量を算出する。
【０１２０】
図１３は、視線方向ベクトルに関する各パラメータの関係を示す説明図であり、実施の形態２の図７および実施の形態３の図１０に対応するものである。
【０１２１】
図１３に示すように、瞳中心５０３が、顔正面を向いたときの位置に対して左右方向にずれ量ｄだけ移動した場合、左右の瞳中心５０３の中点である視線方向特徴点５０４も、視線基準面６０１に対して左右方向にずれ量ｄだけ移動する。また、左右の瞳中心５０３を結ぶ線は視線基準面６０１と直交する。したがって、左右いずれかの瞳中心５０３の視線基準面６０１からの距離Ｄと、瞳間距離Ｌｅｙｅとの差分が、ずれ量ｄとなる。
【０１２２】
顔部品ベクトル６１１の各成分を（ａ，ｂ，ｃ）とし、視線方向基準点Ｆｃの座標を（ｘｆ，ｙｆ，ｚｆ）とし、左右いずれかの瞳中心の座標を（ｘｑ，ｙｑ，ｚｑ）とすると、瞳中心５０３の視線基準面６０１からの距離Ｄは、たとえば、以下の式（１２）で示される。
【０１２３】
【数１２】
0005137833.tif 000013
【０１２４】
したがって、視線方向特徴量であるずれ量ｄは、演算に使用する瞳中心５０３が視線方向基準点Ｆｃによりも左側にある場合には、たとえば、以下に示す式（１３）を用いて求められる。また、演算に使用する瞳中心５０３が視線方向基準点Ｆｃによりも右側にある場合には、ずれ量ｄは、たとえば、以下に示す式（１４）を用いて求められる。
【０１２５】
【数１３】
0005137833.tif 000014
【数１４】
0005137833.tif 000015
上記した式（１３）および式（１４）により算出される値は、左右の瞳中心５０３のいずれを採用してもそれぞれ同一となる。したがって、実施の形態３と同様に、視線方向特徴量を算出する際には、左右の瞳中心５０３のうち任意の一方を採用することができる。
【０１２６】
このように、本実施の形態によれば、実施の形態３と同様に、片目しか撮像できなくても視線方向検出を行うことができ、高い精度の視線方向検出結果をより安定的に得ることができる。更に、視線基準面を基準とし、瞳中心の三次元位置をそのまま演算に用いるため、実施の形態３と比較して視線ベクトルの検出精度を向上させることができる。
【０１２７】
（実施の形態５）
実施の形態５では、左右両方の目の瞳中心の三次元位置が取得可能な場合に、取得される三次元位置の信頼度がより高い方の目を用いて視線方向検出を行う場合について説明する。
【０１２８】
顔の向きが左右のいずれかに振れているときに、ステレオカメラとして機能する第１撮像部１１１および第２撮像部１１２のイメージセンサ（以下「カメラ」という）からみて奥側となる目は、カメラに対する奥行きが大きいことから、相対的に小さい画像で撮像される。また、撮像のための光源として投光器をカメラ付近に置くような場合には、カメラからみて横を向くことになる奥側の目は、光が当たりにくいことから、画像上で黒つぶれしてしまうことが多い。したがって、カメラの光軸に対して、顔の向きが左右のいずれかに大きく振れているとき、カメラからみて奥側の目の画像は、精度が大きく低下することがある。
【０１２９】
画像の精度が低下すると、瞳中心の三次元位置の検出精度も低くなる。したがって、両目を撮像可能であっても手前側の目の瞳中心の三次元位置のみを用いて視線方向検出を行うことで、安定した検出精度を確保することができる。そこで、本実施の形態では、左右いずれの目が手前側にあるか否かを顔の向きから判断し、より高い信頼度で情報を得ることができる手前側の目から得られる情報と視線基準面とを用いて視線方向検出を行う。
【０１３０】
図１４は、本発明の実施の形態５に係る視線方向検出装置の構成を示すブロック図であり、実施の形態４の図１１に対応するものである。
【０１３１】
図１４において、本実施の形態の視線方向検出装置７００は、図１１に示す視線方向算出部６７０に代えて、視線方向算出部７７０を有している。視線方向算出部７７０は、図１１に示す視線方向特徴量算出部６７２に代えて、水平顔向き判定部７７４、選択情報格納部７７５、使用特徴選択部７７６、および視線方向特徴量算出部７７２を有している。
【０１３２】
視線方向算出部７７０において、水平顔向き判定部７７４は、頭部姿勢推定部１５０で取得された顔正面ベクトルから、ステレオカメラ座標系における水平方向の顔の向きを判定し、顔がカメラからみて左向きか右向きかを示す顔向き情報を生成する。
【０１３３】
選択情報格納部７７５は、顔の向きに対応付けて左右のいずれの目を選択すべきかを予め記述した選択情報テーブルを格納する。
【０１３４】
図１５は、選択情報テーブルの内容の一例を示す図である。
【０１３５】
図１５に示すように、選択情報テーブル７７５ａには、カメラからみたときの顔の向きと、視線方向検出の演算に使用すべき左右の目とが記述されている。「左向き」という顔の向きには、使用すべき目として「右目」が対応付けられている。「右向き」という顔の向きには、使用すべき目として「左目」が対応付けられている。すなわち、選択情報テーブル７７５ａは、手前側に位置する目、つまり、より安定した精度で視線方向を検出することができる方の目を、顔の向きに対応付けて記述している。
【０１３６】
図１４の使用特徴選択部７７６は、選択情報テーブル７７５ａを参照して、水平顔向き判定部７７４により生成された顔向き情報が示す顔の向きから、使用すべき目を選択する。そして、使用特徴選択部７７６は、左右のいずれの目を選択したかを示す瞳選択情報を生成する。
【０１３７】
視線方向特徴量算出部７７２は、顔部品三次元位置情報と、視線基準面の三次元位置と、視線特徴パラメータと、瞳間距離と、使用特徴選択部７７６により生成された瞳選択情報とに基づいて、視線方向特徴量を算出する。
【０１３８】
図１６は、視線方向検出装置７００による視線方向検出処理の流れを示すフローチャートであり、実施の形態４の図１２に対応するものである。
【０１３９】
図１６に示す視線方向検出処理は、ステップＳ１８３０の処理をステップＳ１７５０〜Ｓ１８４０の処理に代えたことを除き、図１２と同様である。
【０１４０】
ステップＳ１７５０において、水平顔向き判定部７７４は、ステップＳ１５００で取得された顔正面ベクトルに基づいて、ステレオカメラ座標系における顔の向きが左右のいずれであるかを判定する。そして、水平顔向き判定部７７４は、判定結果、つまり左向きか右向きかを示す顔向き情報を、使用特徴選択部７７６へ出力する。
【０１４１】
カメラ座標系における顔向きの左右の判定は、たとえば、以下のようにして行う。水平顔向き判定部７７４は、顔正面ベクトルをステレオカメラ座標系で表した場合の水平成分を取得する。そして、ここでは顔を正面からみたときの左方向を正としていることから、水平顔向き判定部７７４は、顔正面ベクトルの水平成分が正の場合には、顔は左向きであると判定し、顔正面ベクトルの水平成分が負の場合には、顔は右向きであると判定する。
【０１４２】
なお、顔正面ベクトルの水平成分の値をそのまま顔向き情報としてもよい。この場合には、顔向き情報は、値の正負により、左向きか右向きかを示す。また、顔向き情報は、顔が右向きの場合は０、左向きの場合には１というように、２つ以上の予め定められた値により、顔の向きを示すようにしてもよい。
【０１４３】
ステップＳ１７６０で、使用特徴選択部７７６は、入力された顔向き情報が示す顔の向きに対応する目を、選択情報テーブル７７５ａを参照して選択する。そして、使用特徴選択部７７６は、選択した目を示す瞳選択情報を生成し、生成した瞳選択情報を、視線方向特徴量算出部７７２へ出力する。
【０１４４】
なお、顔向き情報をそのまま瞳選択情報としてもよい。この場合、たとえば、顔向き情報が値の正負により左向きか右向きかを示すものであれば、瞳選択情報は、値の正負により、右目か左目かを示す。また、瞳選択情報は、左目を選択した場合は０、右目を選択した場合には１というように、２つ以上の予め定められた値により、左右の目を示すようにしてもよい。
【０１４５】
ステップＳ１８４０で、視線方向特徴量算出部７７２は、瞳選択情報が示す目の瞳中心の三次元位置に基づいて、実施の形態４と同様に、視線方向特徴量であるずれ量ｄを求める。たとえば、視線方向特徴量算出部７７２は、瞳選択情報が右目を示す場合には、実施の形態４で例示した式（１３）を用い、瞳選択情報が左目を示す場合には、実施の形態４で例示した式（１４）を用いる。
【０１４６】
なお、顔正面ベクトルの水平成分が０の場合には、顔向き情報または瞳選択情報を生成する際や、視線方向特徴量算出部７７２での演算手法を決定する際に、選択肢のいずれかに割り振ればよい。
【０１４７】
このように、本実施の形態によれば、顔の向きから手前側の目を判断し、手前側の目のみを用いて視線方向検出を行う。これにより、視線方向検出において安定した検出精度を確保することができる。また、逐次検出される顔方向ベクトルから顔の向きを判断するので、精度の安定した視線方向検出を継続させることができる。
【０１４８】
なお、本実施の形態では、視線基準面に対する瞳中心の距離からずれ量ｄを求める場合について説明したが、実施の形態３のように、視線方向基準点に対する顔部品投影点の距離からずれ量ｄを求める場合に適用してもよい。この場合には、視線特徴投影部３７１で、瞳選択情報が示す方の目から顔部品投影点を取得すればよい。
【０１４９】
（実施の形態６）
実施の形態６では、左右両方の目からそれぞれ得られる視線方向特徴量に、顔の向きに応じた重み付けを行って視線方向検出を行う場合について説明する。
【０１５０】
陰になった側の目から取得される三次元位置の信頼度は、顔が左右に大きく振れているときには低いが、カメラの光軸方向に近付けば近付くほど高くなる。また、被検者が至近距離を注視しているなどして左右の瞳中心を結ぶ線分と視線基準面とが垂直ではない場合や、取得した瞳間距離の精度が低い場合、片方の目のみを使用すると、視線方向検出精度が低下する。そこで、本実施の形態では、陰になった側の目から得られた情報と手前側の目から得られた情報に、顔の向きに応じた重み付けを行い、積極的に両方の目を用いて視線方向検出を行う。
【０１５１】
図１７は、本発明の実施の形態５に係る視線方向検出装置の構成を示すブロック図であ
り、実施の形態５の図１４に対応するものである。
【０１５２】
図１７において、本実施の形態の視線方向検出装置８００は、図１４に示す視線方向算出部７７０に代えて、視線方向算出部８７０を有している。視線方向算出部８７０は、図１４に示す水平顔向き判定部７７４、選択情報格納部７７５、使用特徴選択部７７６、および視線方向特徴量算出部７７２に代えて、水平顔向き角度算出部８７４、重み情報格納部８７５、特徴重み決定部８７６、および視線方向特徴量算出部８７２を有している。
【０１５３】
視線方向算出部８７０において、水平顔向き角度算出部８７４は、頭部姿勢推定部１５０で取得される顔正面ベクトルから、カメラの光軸方向に対する顔の向きの水平方向における角度を、水平顔向き角度として算出する。
【０１５４】
重み情報格納部８７５は、重み情報を格納する。重み情報は、水平顔向き角度に、左右の目から得られる情報の信頼度のバランスに応じた値を、左目から得られた情報に対して掛けるべき重み係数（以下「左目重み係数」という）として予め対応付けた情報である。重み情報は、たとえば、水平顔向き角度の離散的な値に対応付けて左目重み係数を記述するテーブル形式や、水平顔向き角度の関数として左目重み係数を決定する関数形式とすることができる。
【０１５５】
図１８は、テーブル形式の重み情報の内容の一例を示す図である。
【０１５６】
図１８に示すように、テーブル形式の重み情報８７６ａは、左目重み係数を、水平顔向き角度の増加に従って１から０へと徐々に減少する値として記述している。すなわち、顔が右を向けば向くほど、左目重み係数は大きくなり、顔が左を向けば向くほど、左目重み係数は小さくなる。これは、顔が右を向けば向くほど、右目から得られる情報の信頼度が低くなり、顔が左を向けば向くほど、左目から得られる情報の信頼度が低くなるためである。図１８に示すように、顔が大きく左右を向いている場合には、陰になっている側の目の重みを０とし、顔が正面方向（カメラの光軸方向）付近の方向にある場合には、左右とも同じ重みにすることにより、処理負荷を軽減することができる。
【０１５７】
図１９は、関数形式の重み情報の内容の一例を示す図である。
【０１５８】
図１９に示すように、関数形式の重み情報８７６ｂも、左目重み係数を、水平顔向き角度の増加に従って１から０へと徐々に減少する連続する値として定義している。関数形式の重み情報８７６ｂを用いた場合、テーブル形式の重み情報８７６ａを用いた場合よりもより細やかに左目重み係数を決定することができる。
【０１５９】
図１７の特徴重み決定部８７６は、重み情報を用いて、水平顔向き角度算出部８７４で算出された水平顔向き角度から左目重み係数を取得する。そして、特徴重み決定部８７６は、取得した左目重み係数を、視線方向特徴量であるずれ量を算出する際の重みを表す特徴重み情報として、視線方向特徴量算出部８７２へ出力する。
【０１６０】
視線方向特徴量算出部８７２は、顔部品三次元位置情報と、視線基準面の三次元位置と、視線特徴パラメータと、瞳間距離と、特徴重み決定部８７６で取得された特徴重み情報とに基づいて、視線方向特徴量を算出する。
【０１６１】
図２０は、視線方向検出装置８００による視線方向検出処理の流れを示すフローチャートであり、実施の形態５の図１６に対応するものである。
【０１６２】
図２０に示す各処理は、ステップＳ１７５０〜Ｓ１８４０の処理をステップＳ１７７０
〜Ｓ１８５０の処理に代えたことを除き、図１６と同様である。
【０１６３】
ステップＳ１７７０で、水平顔向き角度算出部８７４は、ステップＳ１５００で取得された顔正面ベクトルに基づいて、カメラの光軸方向に対する顔の向きの水平成分の角度を、水平顔向き角度として算出し、算出した水平顔向き角度を特徴重み決定部８７６へ出力する。
【０１６４】
水平顔向き角度の算出は、たとえば、以下のようにして行う。水平顔向き角度算出部８７４は、ステレオカメラ座標系における顔正面ベクトルの水平成分、垂直成分、および光軸方向成分を、それぞれ（Ｘｆｃ,Ｙｆｃ,Ｚｆｃ）とすると、たとえば以下の式（１５）を用いて、水平顔向き角度θｈを求める。
【０１６５】
【数１５】
0005137833.tif 000016
【０１６６】
ステップＳ１７８０で、特徴重み決定部８７６は、入力された水平顔向き角度に対応する左目重み係数を、重み情報格納部８７５に格納された重み情報に基づいて決定し、決定した左目重み係数から、右目から得られた情報に対して掛けるべき重み係数（以下「右目重み係数」という）を算出する。そして、特徴重み決定部８７６は、左目重み係数と右目重み係数とを、特徴重み情報として視線方向特徴量算出部８７２へ出力する。
【０１６７】
特徴重み決定部８７６は、左目重み係数をＷｌとしたとき、右目重み係数Ｗｒを、たとえば以下の式（１６）を用いて求める。
【０１６８】
【数１６】
0005137833.tif 000017
【０１６９】
なお、視線方向特徴量算出部８７２で、式（１６）を用いて右目重み係数を算出するようにしてもよい。この場合には、特徴重み決定部８７６は、左目重み係数のみを特徴重み情報として視線方向特徴量算出部８７２へ出力する。
【０１７０】
ステップＳ１８５０で、視線方向特徴量算出部８７２は、左右の瞳中心の三次元位置から得られる情報に対し、特徴重み情報が示す重み付けを行い、視線方向特徴量であるずれ量ｄを求める。
【０１７１】
左右の瞳中心の三次元位置から得られる情報に対する重み付けは、たとえば、以下のようにして行う。視線方向特徴量算出部８７２は、顔部品ベクトル６１１の各成分を（ａ，ｂ，ｃ）、視線方向基準点Ｆｃの座標を（ｘｆ，ｙｆ，ｚｆ）、右目の瞳中心の座標を（ｘｒ，ｙｒ，ｚｒ）、右目の瞳中心の座標を（ｘｌ，ｙｌ，ｚｌ）とすると、右目を用いた場合のずれ量ｄｒと、左目を用いた場合のずれ量ｄｌとを、たとえば、以下の式（１７）、（１８）を用いて求める。
【０１７２】
【数１７】
0005137833.tif 000018
【数１８】
0005137833.tif 000019
【０１７３】
そして、視線方向特徴量算出部８７２は、求めたずれ量ｄｒ、ｄｌに、右目重み係数Ｗｒと左目重み係数をＷｌとをそれぞれ乗じた値の和を取ることにより、つまり以下の式（１９）を用いることにより、最終的な視線方向特徴量としてのずれ量ｄを算出する。
【０１７４】
【数１９】
0005137833.tif 000020
【０１７５】
なお、重み付けは、左右の目それぞれから個別に求めたずれ量から、視線ベクトルと顔正面ベクトルとが成す角θをそれぞれ算出し、算出された２つの値に対して対応する重み係数を乗じてもよい。
【０１７６】
具体的には、たとえば、視線方向特徴量算出部８７２は、まず、右目を用いた場合のずれ量ｄｒおよび左目を用いた場合のずれ量ｄｌを算出し、算出結果と、右目重み係数Ｗｒおよび左目重み係数をＷｌとを、視線ベクトル算出部１７３へ出力する。そして、視線ベクトル算出部１７３は、眼球半径ｒと、ずれ量ｄｒ、ｄｌから、以下の式（２０）、（２１）を用いて、右目を用いた場合の視線ベクトルと顔正面ベクトルとが成す角θｒと、左目を用いた場合の視線ベクトルと顔正面ベクトルとが成す角θｌとを求める。
【０１７７】
【数２０】
0005137833.tif 000021
【数２１】
0005137833.tif 000022
【０１７８】
そして、視線ベクトル算出部１７３は、求めた角θｒ、θｌに、右目重み係数Ｗｒと左目重み係数をＷｌとをそれぞれ乗じた値の和を取ることにより、つまり以下の式（２２）を用いることにより、最終的な視線方向特徴量としてのずれ量ｄを算出する。
【数２２】
0005137833.tif 000023
【０１７９】
このように、本実施の形態によれば、左右の目から得られた情報に信頼度に応じた重み付けを行い、積極的に両方の目を用いて視線方向検出を行う。これにより、視線方向検出の精度の安定化を図ることができる。
【０１８０】
なお、撮影条件、瞳間距離の検出精度、および水平顔向き角度と、瞳中心の三次元位置の検出精度との関係を、実験により予め解析し、解析結果から、視線方向検出の精度が最も安定する重み付けを各水平顔向き角度ごとに求めておくことにより、視線方向検出の精度の更なる安定化を図ることができる。また、撮影条件に応じて内容の異なる重み情報を用意しておき、撮影条件に応じて使い分けるようにしてもよい。
【０１８１】
また、本実施の形態では、視線基準面に対する瞳中心の距離からずれ量ｄを求める場合について説明したが、実施の形態３のように、視線方向基準点に対する顔部品投影点の距離からずれ量ｄを求める場合に適用してもよい。この場合、視線特徴投影部３７１で、左右両方の目から顔部品投影点を取得し、視線方向特徴量算出部３７２で、それぞれのずれ量を求めた後、特徴重み情報に従って重み付けを行えばよい。
【０１８２】
以上説明した各実施の形態では、車の運転者の視線方向に基づいて事故の危険性を警報する警報装置に適用する場合を例として説明を行ったが、人間の視線方向に基づいて処理を行う他の各種装置に適用してもよいことは勿論である。
【０１８３】
このような装置としては、たとえば、テレビジョンや音響スピーカなどの情報提示機器や、監視カメラなどの安全状態監視機器、スチールカメラやビデオカメラなどの映像記録機器、ロボットなどの生活補助機器、ビデオゲームや体感ゲームなどの遊戯機器などが挙げられる。他にも、たとえば、車の運転者が見ていると推定される画像を入力して記録する映像記録装置、ロボットがユーザやロボット自身の状況を把握するための周辺情報把握装置、ビデオゲームのゲーム内容の状態を変化させるためのゲーム状態更新装置、眼球の動きに関する検査をするための医療機器が挙げられる。
【０１８４】
また、視線方向の検出の対象となる被検者は、人間に限定されるものではない。顔の中心を基準として左右対称に位置する２つの顔部品を有し、かつ瞳中心を検出可能な動物であれば、本発明を適用してその視線方向を検出することが可能である。
【０１８５】
２００６年７月１４日出願の特願特願２００６−１９４８９２の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
【産業上の利用可能性】
【０１８６】
本発明に係る視線方向検出装置および視線方向検出方法は、被検者ごとのキャリブレーションを特に行うことなく、高い精度の視線方向検出結果を得ることができる視線方向検出装置および視線方向検出方法として有用である。具体的には、パーソナルコンピュータ、ＯＡ（office automation）機器、携帯電話機などの情報端末や、自動車、飛行機、船、電車などの移動手段に搭載される情報提供装置として有用である。また、監視装置、警報装置、ロボット、映像音響再生装置などの情報入力装置としても応用できる。
【図面の簡単な説明】
【０１８７】
【図１】本発明の実施の形態１に係る視線方向検出装置の構成を示すブロック図
【図２】本発明の実施の形態１における視線方向検出装置による視線方向検出処理の流れを示すフローチャート
【図３】本発明の実施の形態１における画像入力部で取得されるステレオ画像対の一例を示す説明図
【図４】本発明の実施の形態１における視線方向ベクトルに関する各パラメータの関係を示す説明図
【図５】本発明の実施の形態２に係る視線方向検出装置の構成を示すブロック
【図６】本発明の実施の形態２における視線方向検出装置による視線方向検出処理の流れを示すフローチャート
【図７】本発明の実施の形態２における視線方向ベクトルに関する各パラメータの関係を示す説明図
【図８】本発明の実施の形態３に係る視線方向検出装置の構成を示すブロック図
【図９】本発明の実施の形態３における視線方向検出装置による視線方向検出処理の流れを示すフローチャート
【図１０】本発明の実施の形態３における視線方向ベクトルに関する各パラメータの関係を示す説明図
【図１１】本発明の実施の形態４に係る視線方向検出装置の構成を示すブロック図
【図１２】本発明の実施の形態４における視線方向検出装置による視線方向検出処理の流れを示すフローチャート
【図１３】本発明の実施の形態４における視線方向ベクトルに関する各パラメータの関係を示す説明図
【図１４】本発明の実施の形態５に係る視線方向検出装置の構成を示すブロック図
【図１５】本発明の実施の形態５における選択情報テーブルの内容の一例を示す図
【図１６】本発明の実施の形態５における視線方向検出装置による視線方向検出処理の流れを示すフローチャート
【図１７】本発明の実施の形態６に係る視線方向検出装置の構成を示すブロック図
【図１８】本発明の実施の形態６における視線方向検出装置による視線方向検出処理の流れを示すフローチャート
【図１９】本発明の実施の形態６における重み情報の内容の一例を示す図
【図２０】本発明の実施の形態６における重み情報の内容の他の例を示す図
【図１】
0005137833.tif 000024
【図２】
0005137833.tif 000025
【図３】
0005137833.tif 000026
【図４】
0005137833.tif 000027
【図５】
0005137833.tif 000028
【図６】
0005137833.tif 000029
【図７】
0005137833.tif 000030
【図８】
0005137833.tif 000031
【図９】
0005137833.tif 000032
【図１０】
0005137833.tif 000033
【図１１】
0005137833.tif 000034
【図１２】
0005137833.tif 000035
【図１３】
0005137833.tif 000036
【図１４】
0005137833.tif 000037
【図１５】
0005137833.tif 000038
【図１６】
0005137833.tif 000039
【図１７】
0005137833.tif 000040
【図１８】
0005137833.tif 000041
【図１９】
0005137833.tif 000042
【図２０】
0005137833.tif 000043