(57)【特許請求の範囲】
【請求項１】
離間されて配置された一対のカメラと関連する照明手段を用いて、瞳孔と鼻孔の空間位置の検出をおこない、それらの位置関係より顔の位置と顔の向きを示す顔姿勢検出システムであって、
２個の瞳孔と２個の鼻孔の中心点に対応する瞳孔と鼻孔の三次元位置に相当する空間座標を測定算出する鼻孔と瞳孔位置を測定または推定により獲得する鼻孔と瞳孔位置獲得ステップと、
２個の瞳孔と右鼻孔からなる三角形平面の法線ベクトルを算出する右法線ベクトル算出ステップと、
２個の瞳孔と左鼻孔からなる三角形平面の法線ベクトルを算出する左法線ベクトル算出ステップと、
前記左右の法線ベクトルの合成ベクトルを算出する合成ベクトル算出ステップと
から構成した顔姿勢検出システム。
【請求項２】
請求項１記載の顔姿勢検出システムにおいて、
予め被験者の頭部を前記一対のカメラに対して予め定めた一定のキャリブレーション位置に配置して２次元画像上の２個の瞳孔と２個の鼻孔間に形成される対の間の距離と距離間の比率を記録するキャリブレーションステップおよび、
当該被験者の任意の鼻孔が検出できなかった場合は前記キャリブレーションデータに基づいて検出できなかった鼻孔を推定するステップを設けた顔姿勢検出システム。
【請求項３】
請求項１または２記載の顔姿勢検出システムにおいて、
前記一対のカメラ、関連する照明手段、および被験者の位置関係は、
前記照明手段が、被験者が正常姿勢または前記キャリブレーション位置にあるときに、鼻孔が斜め下方向から照射される位置とした顔姿勢検出システム。
【請求項４】
請求項１または２記載の顔姿勢検出システムにおいて、
前記照明手段は瞳孔に対して暗照明および明照明を可能とする照明手段である顔姿勢検出システム。
【請求項５】
請求項２記載の顔姿勢検出システムにおいて、
一度、左右の鼻孔が検出されたら、予測モデルを使用して鼻孔の存在すると予測される位置にウインドウを設け追尾して、片方の鼻孔が検出できなくなっても、検出できている鼻孔が左右、どちらのものかを特定するステップを設けた顔姿勢検出システム。
【請求項６】
請求項１記載の顔姿勢検出システムにおいて、
前記各三角形平面の重心の重心を求めるステップをさらに設け、前記合成ベクトルの方向を、前記重心の重心を顔の位置とするときの顔の方向とした顔姿勢検出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、瞳孔と鼻孔の３次元位置を獲得し、それに基づいて顔の向きを代表することができる顔の方向ベクトルを得ることができる顔姿勢検出システムに関する。
【背景技術】
【０００２】
顔の向きの検出は、人間が注意の方向を計測する上で重要であり、自動車のドライバーの余所見運転の防止にも役立つと考えられ、多くの出願（特許文献１〜７）や研究がなされている。
また本件発明者も同種の目的のために、ステレオ測定により、瞳孔と鼻孔の座標位置を特定し、それらに基づいて、頭部の位置と方向を検出する方法の発明（特許文献８）および瞳孔の検出を容易にするために明瞳孔および暗瞳孔のデータを得て、瞳孔の２次元座標を高精度に検出する実時間瞳孔位置検出システムの発明（特許文献９）をしている。
【特許文献１】特開平０５−２１５５３１
【特許文献２】特開平０９−２５１３４２
【特許文献３】再公表ＷＯ０２／００７０９５
【特許文献４】特開２００４−９４４９１
【特許文献５】特開２００４−２３４３６７
【特許文献６】特開平８−１０６５１９
【特許文献７】特開２０００−２１０２７０
【特許文献８】特願２００４−７３９９８
【特許文献９】特願２００４−１７０５０６
【０００３】
これまで、顔の全体の輝度分布のおおよそをビデオカメラで検出し、その変化から顔の方向を推定したり、顔全体の形状に楕円を当てはめてその楕円の扁平度から顔の方向を検出する方法がある。しかし、精度は期待できない。また、顔の特徴点（たとえば、目頭，目じり，鼻孔，唇の両端など）をカメラで捉えて、それらの位置関係から顔の方向を推定する方法、さらに、精度を上げるために、２台のカメラによって三角測量の原理から、上述の顔の特徴点の３次元位置を計測し、それらの位置関係から顔の方向を捉える方法がある（非特許文献１) 。
しかし、顔の特徴点の画像をテンプレートマッチング法で探索するために、テンプレートを予め準備しなければならない点で面倒である。さらに環境光変動に弱い。その問題を比較的解決できる方法として、顔の特徴点として最も検出しやすいと考えられる黒目と鼻孔（２つの鼻孔の中心）を検出し、それらの位置関係から顔の方向を検出方法がある（非特許文献２）。
この方法は、照明条件がよければある程度の精度とロバスト性が望めると同時に、黒目や鼻孔が円形に近い形状をしているということを利用して、それらを検出するためにテンプレート画像が必要なく、それらのもっともらしい位置関係（たとえば、黒目の下に鼻孔がある；黒目どうしは大きく離れている、など）を検出条件に含めておくことで、特に学習の必要がない。しかし、黒目の検出精度や安定性は必ずしも高くなく精度を求めると難しい面がある。
【非特許文献１】松本  吉央  および  Ａ．ゼリンスキー  著  「頭部の方向と視線方向の実時間計測のアルゴリズム」(Y.Matsumoto and A.Zelinsky. An Algorithm for Realtime Stereo Vision Implementation of Head Pose and Gaze Direction Measurement.In Proc. of Fourth Int. Conf. on Automatic Face and Gesture Recognition (FG'2000), pages 499-505, 2000)
【非特許文献２】林  健太郎、橋本  学、鷲見  和彦  著  「頑健性と精緻性を備えた顔特徴点追跡による顔方向推定」電子情報通信学会，Vol.J84-D2 No.8 ，pp.1762-1771
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本件発明者は、人間の頭部に関する発明として、前述の特許文献８，９記載の発明をし、出願をしている。すでに出願済みの「瞳孔と鼻孔を用いた頭部の方向を検出する方法」（特許文献８）の発明は、顔の向きによって生ずる問題を解決するものである。この特許文献８記載の発明では、各カメラの画像中においてそれぞれ２個の鼻孔の中間位置の座標と２個の瞳孔位置の座標から、三角測量により、それら３点の３次元座標を求める。それらの３点を通る平面の法線ベクトルを求め、それを顔の方向とした。
しかし前記方法では顔の向きが左右に±１５度を超えると、どちらかの鼻孔が検出できなくなる傾向がある。
【０００５】
本件発明者の出願に係る（特許文献９）の「実時間瞳孔位置検出システム」によれば、瞳孔の位置を極めて安定に検出することができる。
カメラを少なくとも２台用意し、三角測量法ができるようにステレオカメラとして設置する。それら各カメラの光軸上もしくは開口部の周辺に近赤外線光源（ＬＥＤ）を並べる。それら２組の光源を、カメラのフィールド信号に同期させて交互に点滅させる。各カメラにおいて、それ自体に取り付けた光源が点灯するフィールドでは、瞳孔が明るく写る画像（明瞳孔画像）を得ることができる。これは、光源がカメラの開口部に近いからであり、いわゆる赤目現象に相当する。それに対して、互いに反対側の光源が点灯するフィールドでは瞳孔は暗く写る（暗瞳孔画像）。したがって、各カメラにおいて、明瞳孔画像と暗瞳孔画像が交互に得られる。これらを差分することにより、瞳孔だけが浮き彫りになり、画像処理によりロバスト性の高い瞳孔中心検出ができる。
【０００６】
しかし、前述の瞳孔検出に比較して、鼻孔の検出は容易ではなく何れかの鼻孔の検出が困難になるとか、両方の鼻孔を識別できない等の問題がある。前記問題を解決するために、本発明では鼻孔の検出に改善を加え、両方の鼻孔の中心を得ることができるようにする。
そして、得られた鼻孔の位置に基づいて、２個の瞳孔と右鼻孔による平面における三角形の重心からの右法線ベクトルを算出し、同様にして２個の瞳孔と左鼻孔による平面における三角形の重心からの左法線ベクトルを算出する。
これらの法線ベクトルの合成により顔の方向ベクトルを得ようとするものである。
すなわち本発明の目的は、両瞳孔と両鼻孔のデータに基づいてより良く被験者の方向を代表することができ、かつ確実に取得できる（ロバスト性をもつ）ベクトルを検出することができる顔姿勢検出システムを提供することにある。
【課題を解決するための手段】
【０００７】
前記目的を達成するために、本発明による請求項１記載の顔姿勢検出システムは、
離間されて配置された一対のカメラと関連する照明手段を用いて、瞳孔と鼻孔の空間位置の検出をおこない、それらの位置関係より顔の位置と顔の向きを示す顔姿勢検出システムであって、
２個の瞳孔と２個の鼻孔の中心点に対応する瞳孔と鼻孔の三次元位置に相当する空間座標を測定算出する鼻孔と瞳孔位置を測定または推定により獲得する鼻孔と瞳孔位置獲得ステップと、
２個の瞳孔と右鼻孔からなる三角形平面の法線ベクトルを算出する右法線ベクトル算出ステップと、
２個の瞳孔と左鼻孔からなる三角形平面の法線ベクトルを算出する左法線ベクトル算出ステップと、
前記左右の法線ベクトルの合成ベクトルを算出する合成ベクトル算出ステップと
から構成されている。
【０００８】
本発明による請求項２記載の顔姿勢検出システムは、請求項１記載の顔姿勢検出システムにおいて、
予め被験者の頭部を前記一対のカメラに対して予め定めた一定のキャリブレーション位置に配置して２次元画像上の２個の瞳孔と２個の鼻孔間に形成される対の間の距離と距離間の比率を記録するキャリブレーションステップおよび、
当該被験者の任意の鼻孔が検出できなかった場合は前記キャリブレーションデータに基づいて検出できなかった鼻孔を推定するステップを設けたものである。
【０００９】
本発明による請求項３記載の顔姿勢検出システムは、請求項１または２記載の顔姿勢検出システムにおいて、
前記一対のカメラ、関連する照明手段、および被験者の位置関係は、
前記照明手段が、被験者が正常姿勢または前記キャリブレーション位置にあるときに、鼻孔が斜め下方向から照射される位置としたものである。
本発明による請求項４記載の顔姿勢検出システムは、請求項１または２記載の顔姿勢検出システムにおいて、
前記照明手段は瞳孔に対して暗照明および明照明を可能とする照明手段とするものである。
【００１０】
本発明による請求項５記載の顔姿勢検出システムは、請求項２記載の顔姿勢検出システムにおいて、
一度、左右の鼻孔が検出されたら、予測モデルを使用して鼻孔の存在すると予測される位置にウインドウを設け追尾して、片方の鼻孔が検出できなくなっても、検出できている鼻孔が左右、どちらのものかを特定するステップを設けたものである。
本発明による請求項６記載の顔姿勢検出システムは、請求項１記載の顔姿勢検出システムにおいて、
前記各三角形平面の重心の重心を求めるステップをさらに設け、前記合成ベクトルの方向を、前記重心の重心を顔の位置とするときの顔の方向としたものである。
【発明の効果】
【００１１】
瞳孔と両方の鼻孔という明確な特徴点の３次元位置を検出でき、これを利用して顔の方向ベクトルを検出することができる。
なお片方の鼻孔が検出できない場合でも、その位置を推定して、両瞳孔および両鼻孔に基づく顔の方向ベクトルの検出を行なうことができるので、システムを複雑にしないでロバスト性の高い顔の方向ベクトルの検出が可能になる。顔の位置を代表する点も同様に検出でき、前記ベクトルをその点での方向とすることができる。なお実験によれば、左右角度にして±４５度の広範囲の顔方向検出、垂直方向は上下±１５度以上にわたって正しい検出が可能であることが実証されている。
【発明を実施するための最良の形態】
【００１２】
以下図面等を参照して本発明による顔姿勢検出システムの実施の形態を説明する。図１は、本発明によるシステムでカメラと被験者の配置を示す略図的平面図であり、第２０図に関連する斜視図を示してある。図２に、被験者またはユーザが斜め横方向に顔と眼を向けているときの鼻孔中心が撮影されている状態を示す。なお、瞳孔は暗瞳孔となっている。
離間されて配置された一対のカメラ１，２は被験者またはユーザを斜め下方向から照射するように照明手段５，６が配置されている（図２０参照）。
照明手段５，６は各カメラの光軸上もしくは開口部の周辺に近赤外線光源（ＬＥＤ）を並べて構成する。それら２組の光源を、カメラのフィールド信号に同期させて交互に点滅させる。各カメラにおいて、それ自体に取り付けた光源が点灯するフィールドでは、瞳孔が明るく写る画像（明瞳孔画像）を得ることができる。これは、光源がカメラの開口部に近いからであり、いわゆる赤目現象に相当する。それに対して、互いに反対側の光源が点灯するフィールドでは瞳孔は暗く写る（暗瞳孔画像）。したがって、各カメラにおいて、明瞳孔画像と暗瞳孔画像が交互に得られる。これらを差分することにより、瞳孔だけが浮き彫りになり、画像処理によりロバスト性の高い瞳孔中心検出ができる。
【００１３】
前述したように、鼻孔が写りやすくするためにカメラの位置を下げて配置する。例えば、２０度〜３０度程度が適当である。ディスプレイの下方にワイドカメラを配置する。
カメラ１，２間の距離は１００ｍｍであり、カメラ前面に取り付けた多光源ＬＥＤをフィールド単位で交互に点滅させている。
この実施例では瞳孔の位置の検出を容易にするために、前記各カメラと被験者（ユーザ）の頭部１０との関係において各カメラ１，２に対して明孔照明と暗孔照明を提供することができる位置関係を保って配置される照明手段５，６等を準備する。前記カメラと前記照明手段を連動動作させ、被験者の頭部を撮影して、各瞳孔と鼻孔の像を明孔照明および暗孔照明で獲得する。なお明孔照明と暗孔照明を必須の構成要件とするものではない。
被験者（ユーザ）がカメラから５０ｃｍ〜８０ｃｍ程の場所に座り、被験者（ユーザ）がカメラの存在する方向に顔を向けている場合を想定している。これらの配置は前述した引用文献８の場合と、照明手段の位置を除き共通する。
【００１４】
本発明による顔姿勢検出システムは、基本的には前述の装置により、取得した２つの瞳孔と２つの鼻孔のデータを得る。このデータは何れか一方の鼻孔のデータが後述するステップで推定される場合を含んでいる。その他前記特許文献８と異なる点は顔の方向ベクトル検出ステップが、前記特許文献８の場合は唯一の三角形に基づくのに対して、本発明の場合は２個の瞳孔と右鼻孔による三角平面の重心からの右法線ベクトルを算出し、２個の瞳孔と左鼻孔による平面の重心からの左法線ベクトルを算出し、これらに基づいて、顔の方向ベクトルを求めることにより、測定の範囲とロバスト性を高めた点にある。以下何れか一方の鼻孔のデータが後述するステップで推定される場合を中心に説明する。
【００１５】
顔以外の背景や顔の中にも鼻孔と同様に暗い部分があることが多く、その中から鼻孔を検出するには長い計算時間を要するか、ロバスト性に欠ける。そこで、次のようにロバスト性が高い瞳孔検出技術を活かして、鼻孔を検出する。まず、２個の瞳孔の中点を求める。そこからやや下に（瞳孔を含まないように）正面を向いているときにそれの中心がほぼ鼻孔位置に一致するように方形の大ウインドウを設定する。解析するのは、より鼻孔が暗く写る暗瞳孔画像からであり、明瞳孔画像や差分画像ではない。暗瞳孔画像に、上述の大ウインドウを設定し、その中だけを探索対象画像とする。まず、Ｐ−tile法により輝度が低いほうから０．８％の画素を検出する。０．８％という値は、鼻孔以外の部分が誤検出されないように故意に小さめに選んでいる。ただし、この値では鼻孔がかすれたような画像になる。そこで、画像の膨張と収縮（モルフォロジー処理）を繰り返し、かすれた画像から実際の鼻孔形状に類似した領域を作り出す。さらにラベリングを行い、大きなほうから２つの塊を選び出し、それぞれにおいて、上下左右端点より形成される長方形の中心と長方形の縦横比と面積を求める。縦横比が０．５より小さいか０．７より大きく、面積が１００画素より小さいか３００画素より大きい場合は鼻孔像ではないと判断し（画像全体を６４０×２４０画素としたとき）、そうではないときには、上述の長方形の中心を中心に３０画素×３０画素の小ウインドウを元の暗瞳孔画像に適用し、各小ウインドウ内において、Ｐ−tile法において輝度の低いほうから５％の画素を抽出する。さらに同様に、モルフォロジー処理を繰り返し、ラベリングを行い最大の塊を求める。その塊の面積が１３０画素以上か７０画素以下の場合は鼻孔ではないと判断し、それ以外の場合は鼻孔であると判断し、その上下左右端点より形成される長方形の中心を鼻孔の中心として求める。
【００１６】
上述のように大ウインドウと小ウインドウを設けて鼻孔検出を行なう理由のひとつは、先述の大ウインドウの中で単一の閾値で鼻孔を検出すると、顔を正面から回転させたときに、２つの鼻孔のそれぞれを検出するのに最適な閾値が変わってくるためであり、２個の鼻孔のそれぞれに別々に最適な閾値を与えるためである。
あるフレームにおいて、２つの鼻孔が検出された場合には、それらの中心のｘ座標の大きさから左右を判断する。いったん鼻孔が検出されたら、カルマンフィルタを用いて、次のフレームにおけるそれぞれの鼻孔位置を予測し、次のフレームの暗瞳孔画像におけるそれらの位置に初めから小ウインドウを与え、その中だけを上述の小ウインドウ内解析と同様に鼻孔探索を行なう。
【００１７】
２つの小ウインドウの両方において、鼻孔がないと判断された場合には、次のフレームでは２つの小ウインドウを解除して、再度、大ウインドウを設定して、その中で前述の方法で鼻孔を検出する。片方の小ウインドウにおいて鼻孔がないと判断されたなら、先述のように、ないと判断された鼻孔の中心座標を推定する。さらに、鼻孔があると判断されたのが左右のどちらの鼻孔であるかを示す情報を維持しながら、カルマンフィルタによりその位置を次のフレームにおける同側鼻孔位置を予測し、予測された位置に小ウインドウを予め設定し、その中において、鼻孔探索を行なう。（ないと判断された鼻孔に関しては、設定された小ウインドウ以外の大ウインドウ中において、前述の同じ方法により閾値を設定し（Ｐ−tile法、０．４％）鼻孔を検出することを試みることもできる。）
【００１８】
測定の基本的な流れを、図面等を参照して説明する。図２は、ユーザが斜め横方向に顔と眼を向けているときに、鼻孔中心が検出されている例を示している。
図３は大ウインドウの与え方を説明する略図である。図４に画像処理に用いる（ａ）暗瞳孔画像と、（ｂ）明瞳孔画像を示してある。
鼻孔は、暗瞳孔画像から検出する。理由は、眼瞳孔を得るための光源は、カメラの光軸の近くにあるため、鼻孔の奥を照らしやすく、カメラから見たときに鼻孔以外のところとの輝度差が出にくいためである。なお、１枚のフィールドの画像は６４０Ｈ×２４０Ｖの分解能で得るものとする。
【００１９】
（両瞳孔および鼻孔検出の基本的な流れ）
ステップ１．両瞳孔の各中心座標を取得する。
ステップ２．両瞳孔の中心座標の平均座標を計算し、それを基準に頭部が回転しても鼻孔が外れない位置に（ただし、２個の瞳孔よりも下の範囲）、大ウインドウを設定する（図３）。その中において鼻孔像探索を行う。
ステップ３．大ウインドウ内で鼻孔中心座標を取得する。
ステップ４．取得した鼻孔中心座標を中心として、３０Ｈ×３０Ｖの小ウインドウを適用する。
ステップ５．小ウインドウを適用した後は、カルマンフィルタにより次フレームの鼻孔位置を予測して、鼻孔に小ウインドウを適用しながら追尾する。
左右鼻孔ともに存在しないと判断されたら、小ウインドウを解除して再度ステップ１から４までを繰り返す。小ウインドウが左右鼻孔どちらかひとつが外れたとき（存在しないと判断されたとき）、または、大ウインドウで左右鼻孔どちらかひとつしか検出されなかったとき、ユーザキャリブレーションから得たデータを利用して、その鼻孔像中心座標を推定し鼻孔像探索を行う。
小ウインドウを与えるのは、その中で閾値を設定するために、より確実に鼻孔が検出できるためである。
上記の考えに基づいて構築した画像処理による鼻孔像検出アルゴリズムを実行した。
このように、ウインドウを鼻孔領域、左右鼻孔に適用し追尾していくことによりウインドウ外（鼻孔以外）のノイズの影響を受けずに安定して鼻孔を検出できる。この画像処理アルゴリズムの詳細については後述する。
【００２０】
瞳孔像を検出した後に鼻孔像を検出する。画像処理による瞳孔検出は明瞳孔画像と暗瞳孔画像の差分画像から行う。
画像処理による鼻孔像検出では、瞳孔像検出の差分画像では鼻孔像を検出できない。また、明瞳孔画像では鼻孔像内に高輝度部が存在することがあり、安定して検出できない。そのため、鼻孔検出は鼻孔像がより低輝度となる暗瞳孔画像から行う。
【００２１】
実際の画像では、照明条件が悪く背景部分の輝度値や対象部分の輝度値が画像全体で一定していない。そのため、固定閾値処理ではなく可変閾値処理を用いる。まず、Even画像の備考領域内の２値化を行うために輝度分布を作成する。図５に大ウインドウ、図６に小ウインドウの鼻孔領域を白線で示す。
【００２２】
ウインドウ内における鼻孔像の面積は、およそ７０〜１３０画素であり、鼻孔領域の面積は大ウインドウ（６０×１６０）では９６００画素、小ウインドウ（３０×３０）では９００画素である。これより、Ｐタイル法によりウインドウ内を２値化する。この実施例では面積比率を大ウインドウでは０．８％、小ウインドウでは５％とした。このときの大ウインドウ、小ウインドウの輝度分布および閾値を図７，８，９に示す。また、大ウインドウ、小ウインドウを２値化した画像を図１０，１１に示す（ただし、明るいところを黒（ＬＯＷ）とし、暗いところを白（ＨＩＧＨ）としている。
元の画像と同じであるが、大ウインドウと小ウインドウでは、閾値が異なってくるため、両者間で鼻孔の２値化画像が変わり、小ウインドウのほうが確実に鼻孔が検出できることが予想できる。
【００２３】
（モルフォロジ−処理）
図１０および図１１に大ウインドウ、小ウインドウにおける２値画像を示す。このような２値画像から正確な鼻孔中心を検出するのは難しい。そこでモルフォロジー処理を２値画像に施した後に中心を求める。ここで使用する処理は、膨張処理と縮小処理である。膨張処理とは、ここでは２値画像で注目する画像の８近傍に１つでもＨＩＧＨ画素がある場合、注目する画像をＨＩＧＨ画素に変換する処理であり、縮小処理とは２値画像で注目する画素の８近傍に１つでもＬＯＷ画素がある場合、注目する画素をＬＯＷ画素に変換する処理のことである。
はじめに、膨張を行った後に縮小処理を行う。この処理はクロージング処理と呼ばれる。図１２〜１４に、大ウインドウにおける上記の処理を行なう過程を示す。
図１２はクロージング処理後の画像を示す。次に、図１３に示すように膨張処理を行う。最後に、再度、クロージング処理を行なう（図１４）。
上記のようにして、鼻孔の中心を正確に求める。
【００２４】
（鼻孔かどうかの判断方法と鼻孔中心座標の算出）
はじめに２値画像のＨＩＧＨ領域を集合ごとに分けて考えるためラベル付けを行う。ラベル付けによって分けられた各集合に対して上下左右点より形成される長方形を考える。各長方形領域の縦横比が０．５より小さいか０．７より大きく、各長方形面積が１００より小さいか３００より大きい場合は鼻孔像ではないと判断する。鼻孔像であると判断した場合には、長方形の中心を求め、それを鼻孔像の中心座標とする。図１５Ａに、大ウインドウにおける鼻孔像中心算出の結果例を示し、図１５Ｂに、２つの小ウインドウ内における鼻孔像中心算出の結果例を示す。
【００２５】
（カルマンフィルタの適用）
検出された鼻孔中心座標を用いて、次フレームの鼻孔位置をカルマンフィルタにより推定する。
ステレオカメラにおける鼻の追尾は、ウインドウを適用して場所を限定して解析することにより、鼻孔検出の精度と処理速度を向上させている。しかし、頭部の移動が大きな場合や速く動く場合にはウインドウサイズを大きくしなければ追尾できなくなってしまうという問題があった。そこで、小さなウインドウサイズにおいても追尾が行えるようにカルマンフィルタを用いて、鼻孔の位置変化を予測して追尾させることにより、頭部の移動がある場合においても、安定した鼻孔検出が行えるようにした。
【００２６】
（ユーザキャリブレーション）
次に図１６を参照してユーザキャリブレーションについて説明する。
ユーザによって瞳孔位置、鼻孔位置、鼻孔形状は異なる。また、顔方向においてもユーザによって正面と考える方向が異なるため、ユーザにおける瞳孔位置、鼻孔位置、鼻孔形状、ユーザ自身が正面と考える顔方向をあらかじめ把握（以下、ユーザキャリブレーション）しておく必要がある。図１６に示すようにディスプレイの中心に例えば直径１ｃｍの円を表示する。次に、この円を注視し（視線を向ける）、ディスプレイに対してユーザ自身が正面と考える方向に５秒間顔を向ける。この間鼻孔検出処理と顔方向算出処理を行い、ユーザ自身が正面と考える顔方向をユーザの正面方向とする。このときの各カメラの画像中の２つの瞳孔中心座標と２つの鼻孔中心座標を求めておくことがユーザキャリブレーションである。これらの情報を片方の鼻孔が検出できないときに使用され、両方の鼻孔が検出できるときは不要である。
【００２７】
（鼻孔推定法）
ユーザが頭部を回転させるとき、常に左右両方の鼻孔像を検出するのは困難である。そこで、片方の鼻孔像（以下、片鼻孔）のみ検出されたとき、検出されなかった鼻孔像を推定する。
鼻孔領域から鼻孔を検出する際、鼻孔面積が１３０より大きいか７０より小さい場合は、鼻孔対象から除外する。これは鼻孔には際立った特徴がなく、誤って雑音を鼻孔像として検出する可能性があるためである。そこで、１つの鼻孔しか検出されなかった場合、もう１つの鼻孔の中心を求める。
ユーザキャリブレーションより取得した右瞳孔中心を（ＸRP0 ，ＹRP0 ）、左瞳孔中心（ＸLP0 ，ＹLP0 ）、右鼻孔中心（ＸRN0 ，ＹRN0 ）、左鼻孔中心（ＸLN0 ，ＹLN0 ）とする（図１７（ａ））。次に、顔を動かしたある時点の右瞳孔中心を（ＸRP，ＹRP）、左瞳孔中心（ＸLP，ＹLP）、右鼻孔中心（ＸRN，ＹRN）、左鼻孔中心（ＸLN，ＹLN）とする（図１７（ｂ））。図１７（ｂ）では左鼻孔が検出されなかった場合を示している。
【００２８】
キャリブレーションの瞳孔間距離ＤP0、鼻孔間距離ＤN0を求める。
ＤP0＝｛（ＸRP0 −ＸLP0 ）2 ＋（ＹRP0 −ＹLP0 ）2 ｝1/2     （１）
ＤN0＝｛（ＸRN0 −ＸLN0 ）2 ＋（ＹRN0 −ＹLN0 ）2 ｝1/2     （２）
次に、顔を動かしたある時点の瞳孔傾斜ＩP 、瞳孔間距離ＤP を求める。
ＩP ＝（ＹRP−ＹLP）／（ＸRP−ＸLP）            （３）
ＤP ＝｛（ＸRP−ＸLP）2 ＋（ＹRP−ＹLP）2 ｝1/2     （４）
両瞳孔と両鼻孔は常に平行であると考える。このとき鼻孔傾斜ＩN は式（６）のようになる。
ＩN ＝ＩP                 （６）
顔を動かしたある時点の鼻孔間距離を、ユーザキャリブレーションにより求めた瞳孔間距離と鼻孔間距離と顔を動かしたある時点の瞳孔間距離より求める。
ＤP ：ＤN ＝ＤP0：ＤN0
ＤN ＝（ＤN0／ＤP0）×ＤP           （５）
ＩN 、ＤN は式（６），（７）のようになる。
ＩN ＝（ＹRN−ＹLN）／（ＸRN−ＸLN）            （６）
ＤN ＝｛（ＸRN−ＸLN）2 ＋（ＹRN−ＹLN）2 ｝1/2     （７）
左の鼻孔の中心座標は次式で表すことができる。
ＸLN＝ＸRN−｛ＤN2 ／（１＋ＩN2 ）｝1/2           （８）
ＹLN＝ＹRN−｛（ＤN2・ＩN2 ）／（１＋ＩN2 ）｝1/2 （９）
【００２９】
しかし、ここで、左の鼻孔が検出できなかったとすると、（ＸLN，ＹLN）が不明なため（６）式と（７）式からは，ＩN とＤN が求まらないため、代わりに、（３）式と（６）式からＩN を算出し、（３）式と（５）式からＤN を算出し、これらを（８）式と（９）式に代入して，左鼻孔の中心座標（ＸLN，ＹLN）を推定する。
逆に、右鼻孔が検出できなかったとすると、（ＸRN，ＹRN）は次の２式で求める。
ＸRN＝ＸLN＋｛ＤN2 ／（１＋ＩN2 ）｝1/2           （１０）
ＹRN＝ＹLN＋｛（ＤN2・ＩN2 ）／（１＋ＩN2 ）｝1/2 （１１）
【００３０】
（顔方向算出法）
左瞳孔中心、右瞳孔中心、左鼻孔中心、右鼻孔中心の４点の三次元座標を求める。今、右瞳孔中心、左瞳孔中心、左鼻孔中心、右鼻孔中心の三次元座標をそれぞれ、（ＸPR，ＹPR，ＺPR）、（ＸPL，ＹPL，ＺPL）、（ＸNL，ＹNL，ＺNL）、（ＸNR，ＹNR，ＺNR）と算出されたとする。
左瞳孔中心と右瞳孔中心と左鼻孔中心を通る平面の法線
【数１】
0004501003.tif 000002
は、次の（１２）式で与えられる。
ｎLX＝（ＹNL−ＹPL）（ＺPR−ＺPL）−（ＹPR−ＹPL）（ＺNL−ＺPL）
ｎLY＝（ＺNL−ＺPL）（ＸPR−ＸPL）−（ＺPR−ＺPL）（ＸNL−ＸPL）    （１２）
ｎLZ＝（ＸNL−ＸPL）（ＹPR−ＹPL）−（ＸPR−ＸPL）（ＹNL−ＹPL）
同様に、左瞳孔中心と右瞳孔中心と右鼻孔中心を通る平面の法線ベクトル
【数２】
0004501003.tif 000003
が求められる。これらの合成ベクトルを、最終的な顔方向ベクトルとして
【数３】
0004501003.tif 000004
によって求める。
【００３１】
図１８は、各平面の法線ベクトルと顔方向ベクトルの関係を示す。
顔の水平角αH と垂直角βV は
αH ＝−ｔａｎ-1（ｎX ／ｎZ ）                    （１３）
βV ＝−ｔａｎ-1｛ｎY ／（ｎX 2 ＋ｎZ 2 ）1/2 ｝  （１４）
で与えられる。
図１９は、図１８に示すベクトルと被験者の写真との対応を示す。
また、顔の位置は次のように求めることもできる。図１８において２つの三角形のそれぞれの重心（ＸR,ＹR,ＺR ），（ＸL,ＹL,ＺL ）はそれぞれ次式で与えられる。
（ＸR,ＹR,ＺR ）
＝｛（ＸPR＋ＸPL＋ＸNR）／３，（ＹPR＋ＹPL＋ＹNR）／３，（ＺPR＋ＺPL＋ＺNR）／３｝                                                                （１５）
（ＸL,ＹL,ＺL ）
＝｛（ＸPR＋ＸPL＋ＸNL）／３，（ＹPR＋ＹPL＋ＹNL）／３，（ＺPR＋ＺPL＋ＺNL）／３｝                                                                （１６）
さらに、これらの重心（ＸC,ＹC,ＺC ）は次式で与えられる。
（ＸC,ＹC,ＺC ）
＝｛（ＸR ＋ＸL ）／２，（ＹR ＋ＹL ）／２，（ＺR ＋ＺL ）／２  ｝
（１７）
最終的に、顔の位置と顔の方向の情報を合わせた顔姿勢は（ＸC,ＹC,ＺC ）を通り、
【数４】
0004501003.tif 000005
すなわち、前記ベクトルは空間内の一点（ＸC,ＹC,ＺC ）における方向を示すことになり、顔の位置と顔の方向を示すものとなる。
なお、顔の位置（ＸC,ＹC,ＺC ）として、次式のように２個の瞳孔位置と２個の鼻孔位置の重心を用いても良いことは自明である。
（ＸC,ＹC,ＺC ）
＝｛（ＸPR＋ＸPL＋ＸNR＋ＸNL）／４，（ＹPR＋ＹPL＋ＹNR＋ＹNL）／４，
（ＺPR＋ＺPL＋ＺNR＋ＺNL）／４｝                              （１８）
【００３２】
（鼻孔検出率測定実験）
ユーザキャリブレーションを行った後、被験者にカメラの前から６０ｃｍほどの場所に座ってもらった。被験者には、図２０のように、ほぼ垂直角度が０度の高さに、水平角度にして０度（正面）、±１５度、±３０度、±４５度に相当する位置に取り付けたマーカの方向に顔を向けてもらい、４００フレーム分を撮影した。その間、被験者には頭を動かさないように指示した。
この実験では３人の被験者に実験を行った。表１に４００フレームの鼻孔検出の成功、失敗、瞬き、片鼻孔推定を行った回数、成功率（成功／（成功＋失敗））を１台のカメラの画像処理について示した。ここで、瞬きをした場合には、顔方向は求められないので、成功率を求めるときに除外してある。
【００３３】
【表１】
0004501003.tif 000006
【００３４】
被験者３名の鼻孔形状は異なったが、表１からわかるように被験者Ａ、Ｂ、Ｃともに水平方向の頭部回転運動で−４５度から４５度において鼻孔像検出率が９７．９％以上であった（平均：９９．５％）。
回転角が−３０度→−４５度、または、３０度→４５度となるにつれて、いずれの被験者においても片鼻孔推定が多くなっていた。片鼻孔推定により推定された鼻孔中心が実際の画像における鼻孔中心とほぼ同じ位置であったため、鼻孔像の検出に成功したものと考えられる。
また、顔方向を検出する上で両瞳孔、両鼻孔の４点が検出される必要がある。そのため、被験者が瞬きを行ったときのフレーム数は鼻孔検出成功率には影響を受けないものと考えた。各被験者の１回における瞬きのフレーム数は、今回の瞳孔検出システムにおいては４〜５フレームであった。
この結果から、鼻形状や鼻孔形状が変化しても鼻孔像検出において問題はなく、水平方向回転運動においても−４５度〜４５度の範囲では鼻孔像検出が可能であることが示せた。
【００３５】
（顔方向検出実験）
図２１Ａは、ユーザキャリブレーションを行った後、被験者にカメラの前から６０ｃｍほどの場所に座ってもらい、顔の方向を中央（０度）から右４５度まで動かしてさらに０度まで戻してもらったときの水平顔方向の推定値を示している。また、図２１Ｂは正面を中心に上下±１５度の範囲で頭部を動かしてもらったときの垂直顔方向の推定値を示している。
図からわかるように、今回の実験で行った各指標までの水平方向、垂直方向における顔方向の回転角度は、多少のばらつきはあったものの各被験者の顔方向を検出できたことがわかる。
また、各指標まで頭部の回転運動を行ったが、目標とする回転角度を下回っていたり、上回っていた。これは、各被験者が指標まで回転運動したと考える角度が目標とする角度と異なっていた可能性も考えられる。
【産業上の利用可能性】
【００３６】
本発明による顔姿勢検出システムは、顔の方向を代表する顔の方向ベクトルを確実に相当な範囲内で算出することができるので、自動車等の運転支援システムの運転者の運転状態の検出やその他のユーザの指向方向の検出などに広く利用できる。
【図面の簡単な説明】
【００３７】
【図１】本発明によるシステムでカメラと被験者の配置を示す平面図である。
【図２】ユーザが斜め横方向に顔と眼を向けているときの鼻孔中心が撮影されている状態を示す図である。なお、瞳孔は暗瞳孔となっている。
【図３】大ウインドウの付与状態を説明するための略図である。
【図４】画像処理に用いる（ａ）暗瞳孔画像と、（ｂ）明瞳孔画像を示す図である。
【図５】暗瞳孔画像に大ウインドウを適用した状態を示す図である。
【図６】暗瞳孔画像に小ウインドウを適用した状態を示す図である。
【図７】暗瞳孔画像の大ウインドウ内の輝度ヒストグラムを示すグラフである。
【図８】暗瞳孔画像において左鼻孔に与えられた小ウインドウ内の輝度ヒストグラムを示すグラフである。
【図９】暗瞳孔画像において右鼻孔に与えられた小ウインドウ内の輝度ヒストグラムを示すグラフである。
【図１０】大ウインドウ内を２値化した後の画像である。
【図１１】２つの小ウインドウにおける２値化画像であって、左は左鼻孔の２値化画像、右は右鼻孔の２値化画像を示す。
【図１２】クロージング処理後の画像を示す。
【図１３】膨脹処理後の画像を示す。
【図１４】再度クロージング処理を行った後の画像を示す。
【図１５Ａ】大ウインドウにおける鼻孔像中心を算出した状態を示す図である。
【図１５Ｂ】小ウインドウにおける鼻孔像中心を算出した状態を示す図である。
【図１６】ユーザキャリブレーションの原理を説明するための略図である。
【図１７】（ａ）はユーザキャリブレーション時の瞳孔と鼻孔の位置関係、（ｂ）は顔を回転させたときの瞳孔と鼻孔の位置関係を説明するための略図である。
【図１８】左右瞳孔と左鼻孔を含む平面、左右瞳孔と右鼻孔を含む平面の各法線ベクトルと顔方向ベクトル（合成ベクトル）を示す略図である。
【図１９】図１８に示すベクトルと被験者の写真との対応を示す略図である。
【図２０】鼻孔検出率測定実験における視標の方向を示す略図である。
【図２１Ａ】頭部を水平方向に回転させた顔方向検出実験における水平方向の回転角度の変移を示すグラフである。
【図２１Ｂ】頭部を垂直方向に回転させた顔方向検出実験における垂直方向の回転角度の変移を示すグラフである。
【符号の説明】
【００３８】
１，２  カメラ
３，４  カメラの開口
５，６  照明手段
１０  被験者（ユーザ）の頭部
【図１】
0004501003.tif 000007
【図２】
0004501003.tif 000008
【図３】
0004501003.tif 000009
【図４】
0004501003.tif 000010
【図５】
0004501003.tif 000011
【図６】
0004501003.tif 000012
【図７】
0004501003.tif 000013
【図８】
0004501003.tif 000014
【図９】
0004501003.tif 000015
【図１０】
0004501003.tif 000016
【図１１】
0004501003.tif 000017
【図１２】
0004501003.tif 000018
【図１３】
0004501003.tif 000019
【図１４】
0004501003.tif 000020
【図１５Ａ】
0004501003.tif 000021
【図１５Ｂ】
0004501003.tif 000022
【図１６】
0004501003.tif 000023
【図１７】
0004501003.tif 000024
【図１８】
0004501003.tif 000025
【図１９】
0004501003.tif 000026
【図２０】
0004501003.tif 000027
【図２１Ａ】
0004501003.tif 000028
【図２１Ｂ】
0004501003.tif 000029