(57)【要約】【課題】運転者の三次元挙動を検出することが可能な運転者三次元挙動検出装置を提供する。【解決手段】画像処理部２２は、運転者の頭部を含む顔画像から動きベクトルを求める。そして、顔動き検出部２３は、この動きベクトルに基づいて、顔画像上に設定された領域グループ毎に代表ベクトルを求める。その後、三次元挙動検出部２４は、求めた代表ベクトルの向き、及び領域グループの画像上の位置に基づいて、三次元的挙動を検出する。【選択図】      図２
2005014853.tif 000002
【特許請求の範囲】
【請求項１】
撮像された運転者の顔の画像を取得する顔画像取得手段と、前記顔画像取得手段により取得された２枚以上の連続する顔画像から１つ以上の動きベクトルを求める画像処理手段と、
前記画像処理手段により求められた前記動きベクトルが１つ以上属する領域グループそれぞれから、代表となる動きベクトルを検出する動き検出手段と、
前記動き検出手段により検出された前記領域グループ毎の代表となる動きベクトルの向き、及び前記領域グループそれぞれの顔画像上における位置に基づいて、運転者の頭部のヨー、ピッチ、ロール、上下左右前後のオフセットの挙動及び動きが無い状態の少なくとも１つを、三次元空間上の挙動として検出する三次元挙動検出手段と、
前記三次元挙動検出手段にて得られた三次元空間上の挙動の検出結果に従って信号を出力する信号出力手段と、
を備えることを特徴とする運転者三次元挙動検出装置。
【請求項２】
動きベクトルは、顔画像上に設定された少なくとも２つの演算領域それぞれから前記画像処理手段により検出され、
この演算領域それぞれは、前記顔画像取得手段により取得される顔画像のサイズに基づいて、予め顔部位程度の大きさで設定される
ことを特徴とする請求項１に記載の運転者三次元挙動検出装置。
【請求項３】
前記三次元挙動検出手段は、前記動き検出手段により検出された前記領域グループ毎の代表となる動きベクトルの向き、及び前記領域グループそれぞれの顔画像上における位置に加えて、代表となる動きベクトルの数に基づいて、三次元空間上の挙動を検出することを特徴とする請求項１又は請求項２のいずれかに記載の運転者三次元挙動検出装置。
【請求項４】
前記領域グループは、顔画像に対し右側、中央及び左側の３つの領域グループからなり、
これら領域グループのそれぞれは、動きベクトルを検出するために顔画像上に設定された演算領域を少なくとも１つ含むと共に、
右側の領域グループに包含される演算領域のうち一部の演算領域は、中央の領域グループに包含され、
左側の領域グループに包含される演算領域のうち一部の演算領域は、中央の領域グループに包含される
ことを特徴とする請求項１〜請求項３のいずれか１項に記載の運転者三次元挙動検出装置。
【請求項５】
前記三次元挙動検出手段は、運転者の頭部のヨー、ロール及び左右のオフセットの挙動を区別して検出し、
前記信号出力手段は、運転者の脇見を検出する脇見検出装置に接続され、前記三次元挙動検出手段がヨー挙動を検出した場合に、この脇見検出装置に運転者の顔の向きの変化があったことを示す信号を信号を出力する
ことを特徴とする請求項１〜請求項４のいずれか１項に記載の運転者三次元挙動検出装置。
【請求項６】
前記顔画像に設定された１つ以上の演算領域を、重複する領域をもつように、右側、中央、左側の３つの前記領域グループに分割し、それぞれの領域グループについて運転者の頭部の動きを検出することを特徴とする請求項１〜請求項５のいずれか１項に記載の運転者三次元挙動検出装置。
【請求項７】
前記三次元挙動検出手段は、前記動き検出手段により検出された前記領域グループ毎の代表となる動きベクトルの向き、及び前記領域グループそれぞれの顔画像上における位置に加えて、前記領域グループ毎の代表となる動きベクトルの大きさに基づいて、三次元空間上の挙動を検出することを特徴とする請求項１〜請求項６のいずれか１項に記載の運転者三次元挙動検出装置。
【請求項８】
撮像された運転者の顔の画像を連続して２枚以上取得し、この連続する顔画像から少なくとも１つ以上の動きベクトルを求め、求めた動きベクトルが少なくとも１つ以上属する領域グループそれぞれから、代表となる動きベクトルを検出し、前記領域グループそれぞれの顔画像上における位置、及び前記領域グループ毎の代表となる動きベクトルの向きに基づいて、運転者の頭部の挙動を三次元空間上の挙動として検出することを特徴とする運転者三次元挙動検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、運転者三次元挙動検出装置に関する。
【０００２】
【従来の技術】
従来、運転者の顔の画像に基づいて運転者の脇見、居眠り、漫然運転、安全確認等を検出する検出装置が提案されている。このうち脇見の検出装置においては、顔の画像を動画像として撮影し、画像処理にて眼の座標を順次検出し、眼の動きから脇見を判定するものが知られている（特許文献１参照）。
【０００３】
また、別の脇見判定装置としては、運転者の視線方向を検出する方法（特許文献２参照）に眼の瞳孔の反射を利用し、眼の座標を検出して脇見行為を判定するものが知られている（特許文献３参照）。
【０００４】
【特許文献１】
特開平０６−２６２９５９号公報
【０００５】
【特許文献２】
特開２００２−８３４００号公報
【０００６】
【特許文献３】
特開平０７−６１２５７号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、従来の装置では、顔のロール動作による挙動と顔のヨー動作による挙動とが同じような移動量を示すことから、これらを区別して検出することが困難であった。
【０００８】
また、直線道路を走行している場合、運転者が前方を視認している状態であっても、路面の凹凸、車体の振動、及び加速減速により、運転者の頭部は、オフセット（平行移動）の挙動を示す。このため、オフセットの挙動と浅い角度の脇見との区別が付きにくく、運転者が正面を見ているのか、浅い角度の脇見をしているのかを区別することが困難であった。
【０００９】
【課題を解決するための手段】
本発明によれば、運転者三次元挙動検出装置であって、顔画像取得手段は、撮像された運転者の顔の画像を取得し、画像処理手段は、取得された２枚以上の連続する顔画像から１つ以上の動きベクトルを求め、動き検出手段は、画像処理手段により求められた動きベクトルが１つ以上属する領域グループそれぞれから、代表となる動きベクトルを検出し、三次元挙動検出手段は、動き検出手段により検出された領域グループ毎の代表となる動きベクトルの向き、及び領域グループそれぞれの顔画像上における位置に基づいて、運転者の頭部のヨー、ピッチ、ロール、上下左右前後のオフセットの挙動及び動きが無い状態の少なくとも１つを、三次元空間上の挙動として検出し、信号出力手段は、三次元挙動検出手段にて得られた三次元空間上の挙動の検出結果に従って信号を出力する。
【００１０】
【発明の効果】
本発明によれば、領域グループそれぞれの位置、及び領域グループそれぞれから得られる代表となる動きベクトルの向きに基づいて、挙動検出するため、運転者の顔の挙動が詳細に判断できる。このため、例えば画像横方向へのオフセットと、ヨー挙動とを区別することができる。また、他の三次元的挙動についても同様に区別することができる。従って、運転者の三次元挙動を検出することができる。
【００１１】
【発明の実施の形態】
以下、本発明の好適な実施形態を図面に基づいて説明する。図１は、本発明の実施形態に係る運転者三次元挙動検出装置を含む運転者三次元挙動検出システムの構成を示すブロック図である。同図に示すように、運転者三次元挙動検出システム１は、運転者の頭部について三次元的な挙動を検出し、検出した挙動に応じた制御等を行うものであって、撮像装置１０と運転者三次元挙動検出装置２０と制御装置３０とを備えている。さらに、本システム１は、車両状態検出手段４０と環境情報検出手段５０とを備えている。
【００１２】
撮像装置１０は、運転者の頭部を含む撮像範囲を時系列的に撮像するものである。具体的に撮像装置１０は、可視光を撮像するためのカメラ、近赤外光にて撮像するカメラ、及び人等の発する熱を遠赤外にて撮像するカメラ等の光学的受光素子を有するカメラのうち少なくとも１つから構成されている。
【００１３】
また、撮像装置１０は、例えば運転者の正面下方に設置され、運転者の頭部を含む顔画像を取得し、得られた顔画像のデータをビデオ信号Ｓａとして運転者三次元挙動検出装置２０に送出するものである。なお、撮像装置１０は、運転者の正面下方に設置される場合に限らず、運転者の頭部を撮像範囲に含む位置であれば、他の位置に設置されてもよい。
【００１４】
運転者三次元挙動検出装置２０は、撮像装置１０からのビデオ信号Ｓａに基づいて、所定の処理を実行し、運転者の頭部について三次元的挙動を検出するものである。ここで、三次元的挙動としては、ロール、ピッチ、ヨー、及び上下左右のオフセット（平行移動）の挙動をいうものとする。さらに、動きが無い状態についても三次元的挙動というものとする。
【００１５】
運転者三次元挙動検出装置２０の詳細を図２に示す。図２は、図１に示した運転者三次元挙動検出装置２０の詳細構成を示すブロック図である。
【００１６】
運転者三次元挙動検出装置２０は、顔画像取得部（顔画像取得手段）２１、画像処理部（画像処理手段）２２、及び顔動き検出部（動き検出手段）２３を備えている。さらに、運転者三次元挙動検出装置２０は、三次元挙動検出部（三次元挙動検出手段）２４、及び挙動信号出力部（信号出力手段）２５を具備している。
【００１７】
顔画像取得部２１は、撮像装置１０により撮像された顔画像のデータであるビデオ信号Ｓａを取得するものであり、内部に記憶領域を備えている。そして、取得した顔画像のデータを横幅１６０画素、縦幅１２０画素、１画素あたり２５６階調の濃淡データを示すディジタルデータに変換して記憶領域に格納する。
【００１８】
画像処理部２２は、顔画像取得部２１により取得された２枚以上の連続する顔画像から１つ以上の動きベクトルを求めるものである。ここで、動きベクトルとは、画像内における物体の移動等を表すものである。より具体的に、動きベクトルは、画像の所定箇所に存在した顔部位等が、後の画像においてどの方向にどれだけ速度で移動したかを表すものである。すなわち、動きベクトルは、大きさ及び向きの情報を含むものである。
【００１９】
また、動きベクトルは、１つの参照領域（演算領域）につき１つずつ求められるものである。ここで、参照領域とは、予め画像上に所定の大きさで１又は複数設定されるものである。参照領域について説明する。
【００２０】
図３は、参照領域の説明図である。なお、図３では、顔画像上に参照領域が複数設定される場合を例に説明する。
【００２１】
同図に示すように、参照領域は顔画像上に５行７列に配置されている。この参照領域のそれぞれは、特定の点Ｏを中心として幅ｔｗ画素，高さｔｈ画素の大きさで設定される領域である。また、参照領域の周囲それぞれには、当該領域を取り囲むように探索領域が設定されるが、この探索領域については、後述することとする。
【００２２】
なお、上記参照領域は、カメラの位置、カメラの画角、及び顔画像のサイズ等に基づいて、目、鼻又は口等の顔の部位の大きさ程度に固定的に設定されることが望ましい。
【００２３】
顔動き検出部２３は、領域グループそれぞれから、代表となる動きベクトルを検出するものである。ここで、領域グループとは、画像処理部２２により求められた動きベクトルが１つ以上属するものである。すなわち、領域グループは、上記参照領域を１又は複数包含するようにして画像上に設定されているものである。
【００２４】
また、代表となる動きベクトル（以下代表ベクトルという）とは、１つの領域グループに包含される動きベクトルの代表となるものである。例えば、１つの領域グループに複数の動きベクトルが属している場合（参照領域を複数含む場合）、代表ベクトルは、それら複数の動きベクトルを平均化して得られたものなどである。
【００２５】
領域グループについて説明する。図４は、領域グループの説明図であり、（ａ）は顔画像上に設定されている参照領域の様子を示し、（ｂ）は右側の領域グループを示し、（ｃ）は中央の領域グループを示し、（ｄ）は左側の領域グループを示している。なお、図４では、領域グループが複数の参照領域を包含する場合を例に説明する。
【００２６】
まず、図４（ａ）に示すように、参照領域が顔画像上に５行７列に配置されているとした場合、領域グループは、これら参照領域のうち少なくとも１つを包含するものである。
【００２７】
例えば、図４（ｂ）に示すように、顔画像上には右側の領域グループ（以下、右領域グループという）が設定されている。この右領域グループは、５行７列の参照領域のうち、１〜５行目で１〜３列目の参照領域を含んでいる。
【００２８】
また、図４（ｃ）に示すように、顔画像上には中央の領域グループ（以下、中央領域グループという）が設定されている。この中央領域グループは、５行７列の参照領域のうち、１〜５行目で３〜５列目の参照領域を含んでいる。
【００２９】
さらに、図４（ｄ）に示すように、顔画像上には左側の領域グループ（以下、左領域グループという）が設定されている。この左領域グループは、５行７列の参照領域のうち、１〜５行目で５〜７列目の参照領域を含んでいる。
【００３０】
このように、各領域グループは、それぞれ１つ以上の参照領域を含んでいる。ここで、動きベクトルは、１つの参照領域につき１つ検出されるものである。故に、領域グループは、上記したように、動きベクトルが１つ以上属するものといえる。
【００３１】
また、図４（ｂ）〜（ｄ）に示すように、右領域グループに包含される参照領域のうち一部の参照領域、具体的には１〜５行目で３列目の参照領域は、中央領域グループに包含されている。さらに、左領域グループに包含される演算領域のうち一部の演算領域、具体的には１〜５行目で５列目の参照領域は、中央領域グループに包含されている。
【００３２】
すなわち、これら領域グループは、顔画像に設定された１つ以上の演算領域について、重複する領域をもつように、右側、中央、左側の３つの領域グループに分割されている。
【００３３】
再度、図１及び図２を参照する。三次元挙動検出部２４は、顔動き検出部２３により検出された領域グループそれぞれの代表ベクトルの向き及び大きさ、並びに領域グループそれぞれの顔画像上における位置に基づいて、上記三次元的挙動を検出するものである。すなわち、三次元挙動検出部２４は、図４に示す場合にあっては、左、中央、右の領域グループそれぞれの顔画像上における位置と、これら領域グループから検出される代表ベクトルとに基づいて、三次元的挙動を検出する。
【００３４】
挙動信号出力部２５は、三次元挙動検出部２４にて得られた三次元空間上の挙動の検出結果を、電気信号Ｓｂに変換して外部に出力するものである。すなわち、挙動信号出力部２５は、三次元挙動検出部２４により検出されたヨー、ピッチ、ロール、上下左右前後のオフセットの挙動、及び動きが無い状態の７つの結果のうちいずれかに応じて、電気的な信号を生成して制御装置３０に送出するものである。
【００３５】
なお、挙動信号出力部２５は、制御装置３０の仕様に応じて動きの種類のみ（ヨー、ピッチ、ロールなど）を電気信号として出力する構成としてもよく、また、動きの種類と動きの量とを出力するように構成してもよい。また、挙動信号出力部２５は、特定の動きの種類が検出された場合に限って信号を出力するように構成してもよい。
【００３６】
制御装置３０は、例えば、脇見検出装置や、居眠検出装置や、安全確認検出装置等であり、挙動信号出力部２５からの電気信号Ｓｂに基づいて、所定の処理、例えば脇見判定処理、居眠判定処理及び安全確認判定処理等を行うものである。
【００３７】
具体的に制御装置３０が脇見検出装置である場合、例えば、制御装置３０は、挙動信号出力部２５からヨー挙動を示す電気信号Ｓｂを入力したときに、脇見判定の処理を実行する。
【００３８】
車両状態検出手段４０は、車両の状態を検出するものであって、具体的に、車速や、ブレーキスイッチのオン／オフ情報、アクセルスイッチのオン／オフ情報、操舵角、シフトレンジ情報等の車両に関する状態を１つ以上検出するものである。また、車両状態検出手段４０は、ウインカースイッチのオン／オフ情報を検出するものであってもよい。
【００３９】
環境情報検出手段５０は、車両の周囲環境を検出するものであって、ＧＰＳやジャイロを利用したナビゲーションシステムによる位置情報を取得し、例えば、走行中の道路の種別や交差点の有無等を検出するものである。
【００４０】
また、環境情報検出手段５０は、可視光カメラ、遠赤外線検出素子、レーザーレーダー及び超音波センサの１つ以上から構成され、例えば、先行車や障害物の有無・接近、歩行者の横断、後続車の接近、側後方からの接近車両等を検出するものでもある。さらに、環境情報検出手段５０は、気象情報や、天候、照度計による外の明るさや昼夜の区別等の情報を得るものであってもよい。
【００４１】
また、車両状態検出手段４０及び環境情報検出手段５０は、制御装置３０に接続されている。このため、制御装置３０は、車両状態検出手段４０からの信号Ｓｃと、環境情報検出手段５０からの信号Ｓｄとの少なくとも一方を入力し、判定・検出すべき対象を変更することができる。
【００４２】
例えば、制御装置３０は、ナビゲーションによる地図情報から、見通しの悪い交差点や信号のない交差点に差し掛かっているという環境信号Ｓｄに基づいて、運転者の顔の向き、すなわち安全確認を検出対象とする。
【００４３】
また、制御装置３０は、車速が設定速度以下であるという車両の状態信号Ｓｃに基づいて、渋滞を判断し、運転者が眠気を感じているかなど、居眠状態を検出対象とする。
【００４４】
以上、本システム１の構成である。次に、本システム１の動作の概略について説明する。まず、撮像装置１０により運転者の顔を含む画像が撮像され、その画像がビデオ信号Ｓａとして顔画像取得部２１に入力される。撮像装置１０からのビデオ信号Ｓａを入力すると、顔画像取得部２１は、データを記憶領域に格納し、格納した顔画像データを画像処理部２２に出力する。
【００４５】
画像処理部２２は、顔画像取得部２１からの顔画像のデータに基づいて、動きベクトルを求める。この際、画像処理部２２は、参照領域毎に動きベクトルを求める。そして、画像処理部２２は、求めた各領域毎の動きベクトルのデータを顔動き検出部２３に送出する。
【００４６】
その後、顔動き検出部２３は、画像処理部２２により求められた各領域毎の動きベクトルに基づいて、領域グループそれぞれの代表ベクトルを検出する。そして、顔動き検出部２３は、求めた代表ベクトルのデータを三次元挙動検出部２４に送出する。
【００４７】
三次元挙動検出部２４は、顔動き検出部２３により検出された領域グループそれぞれの代表ベクトルの向き及び大きさ、並びに領域グループそれぞれの顔画像上における位置に基づいて、三次元的挙動を検出する。そして、三次元挙動検出部２４は、比較により得られた検出結果を挙動信号出力部２５に出力する。
【００４８】
その後、挙動信号出力部２５は、三次元挙動検出部２４からの検出結果を電気信号Ｓｂに変換して外部に出力する。そして、電気信号Ｓｂを受けた制御装置３０は、その信号に基づいて各種動作を行うこととなる。
【００４９】
次に、図３及び図５〜図１８を参照して、本実施形態に係る運転者三次元挙動検出装置２０の動作を詳細に説明する。
【００５０】
図５は、図２に示した画像処理部２２の動作を示すフローチャートである。まず、画像処理部２２は、顔画像取得部２１から顔画像のデータであるビデオ信号Ｓａを入力する。そして、画像処理部２２は、顔画像取得部２１からの顔画像にスムージングフィルタを適応し、所定の式にて画素値を変換する（ＳＴ１０）。ここで、スムージングフィルタは、以下に示す５行５列からなるフィルタである。
【００５１】
【数１】
2005014853.tif 000003
所定の式は、以下に示すものである。
【００５２】
【数２】
2005014853.tif 000004
なお、ｄ（ｘ，ｙ）は、顔画像内の任意位置の画素値であり、ｄ’（ｘ，ｙ）は変換後の画素値である。
【００５３】
画素値変換後、画像処理部２２は、ある時刻ｔのフィルタをかけた顔画像（前顔画像）に対して少なくとも１つ以上の参照領域を設定し、時刻ｔ＋１のフィルタをかけた顔画像（現顔画像）に対して探索領域を設定する。
【００５４】
ここで、再度図３を参照して、探索領域を説明する。同図に示すように、探索領域は、点Ｏを中心として設定される幅ｓｗ画素，高さｓｈ画素の領域である。この探索領域は、各参照領域を取り囲んで設定されるものであり、参照領域と同じ数だけ設定される。すなわち、参照領域と探索領域とは中心を等しくし、ｓｗ＞ｔｗ且つｓｈ＞ｓｗの関係となるように設定される。
【００５５】
領域設定後、画像処理部２２は、現顔画像の探索領域内から、前顔画像内の参照領域に最も類似する位置を求めて、動きベクトル（ｘｄ，ｙｄ）を算出する（ＳＴ１１）。具体的には、画像処理部２２は、まず、探索領域内から参照領域に最も類似する領域を求め、最も類似する領域の中心点を、参照領域に最も類似する位置とする。そして、画像処理部２２は、求められた最も類似する領域の中心点と、探索領域の中心点とから動きベクトル（ｘｄ，ｙｄ）を算出する。
【００５６】
ここで、ステップＳＴ１１について詳細に説明する。図６は、図５に示すステップＳＴ１１における動きベクトル（ｘｄ，ｙｄ）の算出方法の説明図である。ステップＳＴ１１の処理において、画像処理部２２は、まず、候補領域を作成する。この候補領域は、参照領域と同じ大きさを有する領域である。具体的には、探索領域内の任意の位置を（α，β）とした場合、候補領域は、−（ｓｗ−ｔｗ）／２＜α＜（ｓｗ−ｔｗ）／２、且つ、−（ｓｈ−ｔｈ）／２＜β＜（ｓｈ−ｔｈ）の範囲から切り出した領域である。
【００５７】
画像処理部２２は、探索領域内の所定箇所に上記のような候補領域を設定し、設定した候補領域と参照領域とを比較等して類似度を求める。そして、画像処理部２２は、候補領域を他の位置に動かし、動かした位置の候補領域と参照領域とを比較等して類似度を求める。
【００５８】
その後、画像処理部２２は、候補領域を順次移動させていき、探索領域内での各箇所において参照領域との類似度を算出する。類似度は、例えば、濃淡データを基準に判断される。ここで、濃淡データを基準に類似度を算出する場合において、類似度をｃｏｓθとすると、類似度は以下の式にて表される。
【００５９】
【数３】
2005014853.tif 000005
上式においては、参照領域の濃淡データをＴとし、候補領域の濃淡データをＳとしている。また、ｘｄは、探索領域内のＸ座標値を示し、ｙｄは、探索領域内のＹ座標値を示している。
【００６０】
以上から、画像処理部２２は、類似度が最大となる位置Ｓを定め、点Ｓと点Ｏとの座標値の差を動きベクトル（ｘｄ，ｙｄ）として取得する。
【００６１】
再度、図５を参照して説明する。動きベクトル（ｘｄ，ｙｄ）の算出後、画像処理部２２は、類似度の範囲が閾値以上か否かを判断する（ＳＴ１２）。すなわち、画像処理部２２は、ステップＳＴ１１にて探索領域内の各箇所の類似度を算出しているため、ステップＳＴ１２では、得られた類似度の分散を求め、この分散により類似度の範囲が閾値以上か否かを判断する。
【００６２】
ここで、類似度の範囲が小さい場合とは、探索領域内の各箇所において、同じような類似度が検出される場合である。例えば、参照領域が真っ白な画像である場合など、特徴が少ない場合には探索領域内のどの箇所と比較しても似たような類似度の結果が得られることとなる。そして、このような場合、それぞれ類似度の差が小さいことから、類似度が最大となる点Ｓの検出が不正確になりやすい。このため、図５のステップＳＴ１２の処理では、所定の閾値と比較し、好適なものと不適なものとの選別するようにしている。
【００６３】
ステップＳＴ１２において、類似度の範囲が閾値以上であると判断した場合（ＳＴ１２：ＹＥＳ）、画像処理部２２は、参照領域を有効な領域とし、ｆｄに「１」を代入する（ＳＴ１３）。そして、処理はステップＳＴ１５に移行する。
【００６４】
一方、類似度の範囲が閾値以上でないと判断した場合（ＳＴ１２：ＮＯ）、画像処理部２２は、参照領域を無効な領域とし、ｆｄに「０」を代入する（ＳＴ１４）。そして、処理はステップＳＴ１５に移行する。このように、画像処理部２２は、類似度の範囲と、予め設定される閾値とを比較することにより、後の計算に用いるか否かを判断している。
【００６５】
ステップＳＴ１５において、画像処理部２２は、領域の数だけ上記のステップＳＴ１１〜ＳＴ１４を行ったか否かを判断する（ＳＴ１５）。すなわち、画像処理部２２は、すべての参照領域について、探索領域内から類似する位置を特定したか否かを判断している。
【００６６】
いずれかの参照領域について、探索領域内から類似する位置を特定していないと判断した場合（ＳＴ１５：ＮＯ）、処理はステップＳＴ１１に戻り、類似する位置を特定していない参照領域について、上記ステップＳＴ１１〜ＳＴ１４の処理を繰り返すこととなる。
【００６７】
一方、すべての参照領域について、探索領域内から類似する位置を特定したと判断した場合（ＳＴ１５：ＹＥＳ）、画像処理部２２は、各参照領域毎の動きベクトルのデータを顔動き検出部２３に送信する。その後、画像処理部２２による処理は終了する。
【００６８】
なお、動きベクトルの計算方法は本実施形態の他に、八木信行監修，  ”ディジタル映像処理”，  映像情報メディア学会編，  ｐｐ．１２９−１３９，  ２０００，  オーム社  などにて動画像から動きを検出する手法が複数紹介されていおり、それらを用いることもできる。
【００６９】
次に、顔動き検出部２３の処理を説明する。図７は、図２に示した顔動き検出部２３の動作を示すフローチャートである。まず、顔動き検出部２３は、領域グループが複数存在する場合には、複数の領域グループのうち処理の対象となるものを選択し、その領域グループの積算動きベクトルに関する数値ｘ，ｙ，ｃを「０」に初期化する（ＳＴ２０）。その後、顔動き検出部２３は、選択した領域グループ内の参照領域のうちいずれか１つを選定する。
【００７０】
そして、顔動き検出部２３は、選定した参照領域が有効領域であるか否か、すなわちｆｄが「１」であるか否かを判断する（ＳＴ２１）。ｆｄが「１」であると判断した場合（ＳＴ２１：ＹＥＳ）、顔動き検出部２３は、動きベクトルを積算する（ＳＴ２２）。具体的に、顔動き検出部２３は、積算動きベクトルに関する数値「ｘ」を「ｘ＋ｘｄ」とし、「ｙ」を「ｙ＋ｙｄ」とし、「ｃ」を「ｃ＋１」とする。そして、処理はステップＳＴ２３に移行する。
【００７１】
一方、ｆｄが「１」でないと判断した場合（ＳＴ２１：ＮＯ）、顔動き検出部２３は、動きベクトルを積算することなく、処理はステップＳＴ２３に移行する。
【００７２】
ステップＳＴ２３において、顔動き検出部２３は、選択した領域グループ内のすべての参照領域について処理したか否かを判断する（ＳＴ２３）。いずれかの参照領域について処理をしてないと判断した場合（ＳＴ２３：ＮＯ）、処理はステップＳＴ２１に戻り、上記ステップＳＴ２１，ＳＴ２２を繰り返すこととなる。すなわち、顔動き検出部２３は、領域グループ内のすべての参照領域について有効領域か否かを判断し、有効領域である場合には、動きベクトルを積算するという処理を行っていく。
【００７３】
そして、順次動きベクトルの積算等が行われ、すべての参照領域について処理した場合（ＳＴ２３：ＹＥＳ）、顔動き検出部２３は、ｃが「０」であるか否かを判断する（ＳＴ２４）。
【００７４】
「ｃ」が「０」であると判断した場合（ＳＴ２４：ＹＥＳ）、処理はステップＳＴ２６に移行する。一方、「ｃ」が「０」でないと判断した場合（ＳＴ２４：ＮＯ）、顔動き検出部２３は、積算動きベクトルに関する数値「ｘ」「ｙ」についての平均を求める（ＳＴ２５）。すなわち、顔動き検出部２３は、「ｘ＝ｘ／ｃ」及び「ｙ＝ｙ／ｃ」を実行し、動きベクトルの平均を求める。この動きベクトルの平均が上述した代表ベクトルとなる。
【００７５】
なお、これは、以下の理由により行っている。まず、前顔画像と現顔画像の間で求めた参照領域の動きベクトルは、時間微分した単位時間の動きベクトル、つまり速度ベクトルを表しているといえる。そして、理論上、速度ベクトルを順次積算していくと、移動した後の顔部位等の位置を示すことができる。
【００７６】
しかし、動きベクトルは揺らぎやノイズ等を含むことが多く、１つの参照領域の動きベクトルを順次積算しても、移動後の位置を正確に求めることはできない。例えば、運転者の顔が中央から右を向いて中央に戻る場合、動きベクトルの積算値を求めると、右を向くときの動きベクトルの積算値と、中央に戻る時のときの動きベクトルの積算値とはノイズ等の影響により一致しない。このため、右を向き始めるとき（動作開始時）と、顔が正面に戻ったとき（動作終了時）とで顔部位等の位置がずれて検出されることがわかっている。そこで、顔動き検出部２３は、領域グループ毎に動きベクトルの平均を求めてノイズ等の影響を低減するようにしている。
【００７７】
ここで、図２を参照して説明した顔動き検出部２３は、この代表ベクトルのデータを三次元挙動検出部２４に送出している。しかし、検出等の精度を図るべく、以降の処理を実行し、代表ベクトルに基づく移動量（後述する）を検出して送出するようにしてもよい。以下にその手法を示す。
【００７８】
上記代表ベクトルである動きベクトルの平均の算出後、顔動き検出部２３は、求めた動きベクトルの平均について、移動平均値を求め、領域グループの単位時間当たりの動きベクトル（ａｘ，ａｙ）を求める（ＳＴ２６）。なお、移動平均を求める範囲は任意に定められている。また、領域グループの単位時間当たりの動きベクトル（ａｘ，ａｙ）を求めるのは、上記動きベクトルの平均であっても、未だノイズ等を含んでいるため、さらにノイズ等の影響を低減するためである。
【００７９】
その後、顔動き検出部２３は、ステップＳＴ２６にて求めた領域グループの単位時間当たりの動きベクトル（ａｘ，ａｙ）を積算する（ＳＴ２７）。具体的に、顔動き検出部２３は、「ｓｘ」を「ｓｘ＋ａｘ」とし、「ｓｙ」を「ｓｙ＋ａｙ」とする。ここで、領域グループの単位時間当たりの動きベクトルを積算するため、得られる（ｓｘ、ｓｙ）は、領域グループにおいて顔部位等の動いた量を積算したもの、すなわち現在位置を示すものとなる。
【００８０】
その後、顔動き検出部２３は、現在位置（ｓｘ，ｓｙ）の移動平均により基準位置（ｃｘ，ｃｙ）を求める（ＳＴ２８）。この移動平均を求める範囲についても任意に定められている。
【００８１】
そして、顔動き検出部２３は、現在位置（ｓｘ，ｓｙ）と基準位置（ｃｘ，ｃｙ）の差から移動量（ｖｘ，ｖｙ）を得る（ＳＴ２９）。具体的に、顔動き検出部２３は、「ｖｘ」を「ｓｘ−ｃｘ」とし、「ｖｙ」を「ｓｙ−ｃｙ」とする。
【００８２】
その後、顔動き検出部２３は、基準位置（ｃｘ，ｃｙ）が閾値以上であるか否かを判断する（ＳＴ３０）。基準位置（ｃｘ，ｃｙ）が閾値以上でないと判断した場合（ＳＴ３０：ＮＯ）、顔動き検出部２３は、移動量（ｖｘ，ｖｙ）のデータを三次元挙動検出部２４に送出し、処理はステップＳＴ３４に移行する。
【００８３】
一方、移動量（ｖｘ，ｖｙ）が閾値以上であると判断した場合（ＳＴ３０：ＹＥＳ）、顔動き検出部２３は、移動量（ｖｘ，ｖｙ）の標準偏差が閾値以下であるか否かを判断する（ＳＴ３１）。移動量（ｖｘ，ｖｙ）の標準偏差が閾値以下でないと判断した場合（ＳＴ３１：ＮＯ）、顔動き検出部２３は、移動量（ｖｘ，ｖｙ）のデータを三次元挙動検出部２４に送出し、処理はステップＳＴ３４に移行する。
【００８４】
一方、移動量（ｖｘ，ｖｙ）の標準偏差が閾値以下であると判断した場合（ＳＴ３２：ＹＥＳ）、顔動き検出部２３は、領域グループの単位時間当たりの動きベクトル（ａｘ，ａｙ）が閾値以下であるか否かを判断する（ＳＴ３２）。領域グループの単位時間当たりの動きベクトル（ａｘ，ａｙ）が閾値以下でないと判断した場合（ＳＴ３２：ＮＯ）、顔動き検出部２３は、移動量（ｖｘ，ｖｙ）のデータを三次元挙動検出部２４に送出し、処理はステップＳＴ３４に移行する。
【００８５】
一方、領域グループの単位時間当たりの動きベクトル（ａｘ，ａｙ）が閾値以下であると判断した場合（ＳＴ３２：ＹＥＳ）、顔動き検出部２３は、現在位置（ｓｘ，ｓｙ）を「０」に初期化する（ＳＴ３３）。そして、顔動き検出部２３は、移動量（ｖｘ，ｖｙ）のデータを三次元挙動検出部２４に送出し、処理はステップＳＴ３４に移行する。
【００８６】
ステップＳＴ３４では、すべての領域グループについて処理したか否かが判断される（ＳＴ３４）。いずれかの領域グループについて処理をしてないと判断した場合（ＳＴ３４：ＮＯ）、処理は再度ステップＳＴ２０に戻り、同様の処理を行っていくこととなる。一方、すべての領域グループについて処理したと判断した場合（ＳＴ３４：ＹＥＳ）、顔動き検出部２３は移動量（ｖｘ，ｖｙ）のデータを三次元挙動検出部２４に送出する。その後、顔動き検出部２３による処理は終了する。
【００８７】
なお、上記ステップＳＴ３１〜ＳＴ３３の処理は、ノイズが現在位置（ｓｘ，ｓｙ）として累積されてしまうことを防止すべく行っている。まず、現在位置（ｓｘ，ｓｙ）は、ステップＳＴ２７にて求められている。ここで、現在位置（ｓｘ，ｓｙ）を求める際に用いられる領域グループの単位時間当たりの動きベクトル（ａｘ，ａｙ）は、ステップＳＴ２５の平均化、及びステップＳＴ２６の移動平均の算出によりノイズ等が低減されたものとなっている。ところが、領域グループの単位時間当たりの動きベクトル（ａｘ，ａｙ）は、ノイズ等を含んでいないとは言えない。
【００８８】
このため、ノイズ等が徐々に現在位置（ｓｘ，ｓｙ）に蓄積されてしまう可能性がある。そこで、顔の向きの検出や顔以外のものの撮像範囲内への出入の検出に支障をきたすことがないように、まず、上記ステップＳＴ３１にて、基準位置（ｃｘ，ｃｙ）が閾値以上か否かを判断することにより、ノイズ等の累積量を判断している。そして、閾値以上の場合に現在位置（ｓｘ，ｓｙ）を「０」に初期化するようにしている。このように、所定の条件に基づいて現在位置（ｓｘ，ｓｙ）を初期化することにより、好適に検出対象を検出するようにしている。
【００８９】
ただし、現に運転者が顔の向きを変えている段階や顔以外のものが撮像範囲に出入している段階において現在位置（ｓｘ，ｓｙ）を「０」に初期化してしまうと、初期化することによって逆に検出対象の検出に支障をきたしてしまう。そこで、ステップＳＴ３２及びＳＴ３３において、顔が動いていない状態や顔以外のものが撮像範囲内に出入していない状態であることを検出している。すなわち、顔動き検出部２３は、基準位置（ｃｘ，ｃｙ）の標準偏差が閾値以下であり、且つ領域グループの単位時間当たりの動きベクトル（ａｘ，ａｙ）が閾値以下であるという条件に基づいて、現在位置（ｓｘ，ｓｙ）を「０」に初期化するようにしている。
【００９０】
そして、図７に示した処理の終了後、三次元挙動検出部２４は、上記顔動き検出部２３による処理によって得られた各領域グループの移動量、及び各領域グループの位置に基づいて運転者の頭部の挙動を検出する。
【００９１】
次に、三次元挙動検出部２４による挙動検出方法を詳細に説明するが、それに先だって三次元的な運転者の頭部挙動、及び従来装置による三次元的挙動の検出について詳説する。
【００９２】
図８は、三次元的な運転者の頭部挙動の説明図であり、（ａ）はピッチ、ヨー、ロールの挙動を示しており、（ｂ）はオフセット挙動を示しており、（ｃ）はそれら三次元的挙動が行われたときに二次元平面画像上で観察される顔の変化等を示している。なお、図８（ａ）及び（ｂ）では、顔の上部側がＹ軸に正方向となるように、且つ顔の正面側がＺ軸に正方向となるように三次元直交座標が表されている。
【００９３】
まず、図８（ａ）に示されるように、ピッチ挙動とは、Ｘ軸方向周りの回転動作であって、例えば運転者が首を縦に振った場合等に検出されるものである。また、ヨー挙動とは、Ｙ軸方向周りの回転動作であって、運転者が脇見をしている場合など顔の向きを変えた場合に検出されやすいものである。
【００９４】
さらに、ロール挙動とは、Ｚ軸方向周りの回転動作であって、運転者が首を傾けた場合などに検出されるものである。ここで、ロール挙動時、運転者は前方を視認している可能性が高い。これは、ヨー挙動及びピッチ挙動では運転者の顔の向きが変わるのに対して、ロール挙動では顔は前方を向いたままの状態だからである。
【００９５】
また、図８（ｂ）に示すように、オフセット挙動とは、平行移動であって凹凸の大きい道路を走行している場合などに検出されるものである。このオフセット挙動もロール挙動と同様に、運転者は前方を視認している可能性が高い。
【００９６】
そして、これら挙動は２次元画像上では、以下のような変化として現される。すなわち、ピッチ挙動に関しては、頭部がＸ軸周りに回転することから、見かけ上の頭部の縦幅が小さくなる画像縦方向の変形として現れる。また、ヨー挙動は、頭部がＹ軸周りに回転することから、見かけ上の頭部の横幅が小さくなる画像横方向の変形として現れる。
【００９７】
ロール挙動については、頭部が奥行き方向（Ｚ軸方向）に変位しないことから、そのままＺ軸周りの回転として現れる。さらに、左右方向（Ｘ軸方向）及び上下方向（Ｙ軸方向）のオフセット挙動についても同様に、頭部が奥行き方向に変位しないことから、そのまま平行移動として現れる。
【００９８】
また、前後方向（Ｚ軸方向）のオフセット挙動については、頭部が撮像装置１０に対して遠ざかったり近寄ったりすることから、顔の拡大又は縮小を伴う移動として現れる。
【００９９】
図９を参照して、ヨー挙動及びロール挙動についてさらに詳しく説明する。図９は、ヨー挙動及びロール挙動の説明図であり、（ａ）はヨー挙動を示し、（ｂ）はロール挙動を示している。なお、図９では、運転者頭部を上方から見た場合を示している。
【０１００】
まず、図９（ａ）に示すように、ヨー挙動は首を中心とする回転運動であるため、横方向の移動量としては回転の中心から最も遠い鼻の動きが大きく、顔の側部の動きは小さい。また、ピッチ挙動は、ヨー挙動と同様に、画像縦方向に鼻の移動量が大きく、顔の上部及び下部の移動量が小さい。
【０１０１】
また、図９（ｂ）に示すように、ロール挙動は、鼻も顔の側部もほぼ同様に動く。さらに、上下左右方向のオフセット挙動についても、顔の各部が一体的に移動して鼻も顔の側部もほぼ同様に動く。
【０１０２】
このように、ヨー及びピッチ挙動は、特徴的な動きを示す傾向にあり、ロール及び上下左右のオフセット挙動とは明らかに異なることがわかる。
【０１０３】
ここで、従来の装置では、例えば眼の座標位置等に着目しているため、これらの挙動を区別し難くなっている。図１０は、ロール挙動及びヨー挙動についての眼の座標位置を示すグラフであり、図１１は、直線道路において運転者が前方を視認しているときの眼の座標位置を示す説明図である。
【０１０４】
図１０では、縦軸に横方向座標位置を示しており、横軸に時刻を示している。また、横方向座標位置の計測は、時刻４０３８４〜４０３９７において行っている。さらに、図１１では、画像縦方向に４８０画素、横方向に６４０画素の画像上において眼の座標位置を計測している。
【０１０５】
まず、運転者の頭部がロール挙動した場合（図１０：時刻４０３８６〜４０３８８）、右眼及び左眼の横方向座標位置は、それぞれ約８０画素程度の変化を示している。また、運転者の頭部がヨー挙動した場合（時刻４０３９６付近）、右眼及び左眼の横方向座標位置は、それぞれ約１００画素程度の変化を示している。このように、ロール挙動とヨー挙動とが同じような移動量を示すことから、これらを区別して検出することが困難である。
【０１０６】
さらに、図１１に示すように、直線道路走行時に運転者が前を見ている状態であっても、路面の凹凸、車体の振動、及び加速減速により、運転者の頭部は、オフセット（平行移動）の挙動を示す。図１１では、左眼及び右眼は、画像縦方向に約８０画素程度、横方向に２００画素程度のオフセット挙動を示している。このように、前方を視認している場合であっても、眼の座標位置は動き、眼の座標位置に基づいて脇見を検出する従来装置では、浅い角度の脇見と混同してしまう可能性がある。
【０１０７】
しかし、本実施形態では、参照領域毎に動きベクトルを求め、参照領域を包含する領域グループ毎に代表ベクトルを求め、代表ベクトルの向き及び大きさ、並びに各領域グループの位置に基づいて、運転者の頭部の挙動を検出している。このため、例えば、運転者の鼻と顔の側部との動きを別々に捕らえることができ、オフセット挙動なのか、ヨー挙動なのかを区別することができる。
【０１０８】
次に、三次元挙動検出部２４による挙動検出方法を説明する。図１２は、運転者の頭部がヨー挙動を示した場合に得られる動きベクトルの説明図であり、（ａ）は時刻ｔにおける顔画像を示し、（ｂ）は時刻（ｔ＋１）における顔画像を示し、（ｃ）は両画像間の動きベクトルを示している。
【０１０９】
まず、図１２（ａ）に示すように、時刻ｔにおいて運転者は正面を視認している。そして、図１２（ｂ）に示すように、時刻ｔから時刻（ｔ＋１）にかけて、運転者が横方向を顔の向きを変えたとする。すなわち、運転者の頭部がヨー挙動を示したとする。この場合、動きベクトルは図１２（ｃ）に示すようになる。
【０１１０】
図１３は、図１２（ｃ）に示した動きベクトルが得られた場合の顔の移動量を示すグラフである。なお、図１３では、図４に示した右領域グループ及び中央領域グループについて得られた移動量を示しているものとする。また、図１３において、縦軸は画像横方向の移動量を示しており、横軸は時刻を示している。さらに、図１３では、図１２において図中左方側から図中右方側に移動したときの移動量を正方向に示し、図中右方側から図中左方側に移動したときの移動量を負方向に示すものとする。
【０１１１】
同図に示すように、図１２（ｃ）に示した動きベクトルが得られた場合、
右領域グループにおける移動量は、最大で負方向に４画素程度である（時刻１２）。これに対して、中央領域グループにおける移動量は、最大で負方向に１０画素まで達している（時刻１０〜１１）。このように、画像中央部において、横方向に大きな動きを示し、画像側方部において横方向に小さな動きを示している。図９を参照して説明したように、中央領域グループ（図９では鼻）の動きが大きく、右領域グループ（図９では頭部の側部）の動きが小さい場合、頭部はヨー挙動を示しているといえる。このため、上記動きが検出された場合、三次元挙動検出部２４は、運転者頭部がヨー挙動を示したと検出する。
【０１１２】
図１４は、運転者の頭部がロール挙動を示した場合に得られる動きベクトルの説明図であり、（ａ）は時刻ｔにおける顔画像を示し、（ｂ）は時刻（ｔ＋１）における顔画像を示し、（ｃ）は両画像間の動きベクトルを示している。
【０１１３】
まず、図１４（ａ）に示すように、時刻ｔにおいて運転者は正面を視認している。そして、図１４（ｂ）に示すように、時刻ｔから時刻（ｔ＋１）にかけて、運転者が首を傾けるなどしたとする。すなわち、運転者の頭部がロール挙動を示したとする。この場合、動きベクトルは図１４（ｃ）に示すようになる。
【０１１４】
図１５は、図１４（ｃ）に示した動きベクトルが得られた場合の顔の移動量を示すグラフである。なお、図１５では、図４に示した右領域グループ及び中央領域グループについて得られた移動量を示しているものとする。また、図１５において、縦軸は画像横方向の移動量を示しており、横軸は時刻を示している。
【０１１５】
さらに、図１５では、図１４において図中左方側から図中右方側に移動したときの移動量を正方向に示し、図中右方側から図中左方側に移動したときの移動量を負方向に示すものとする。
【０１１６】
同図に示すように、図１４（ｃ）に示した動きベクトルが得られた場合、
右領域グループにおける移動量は、最大で負方向に６画素である（時刻５〜１５）。また、中央領域グループにおける移動量についても、最大で負方向に６画素である（時刻５〜１５）。このように、画像中央部において横方向に示した動きと、画像側方部において示した横方向の動きとがほぼ等しくなっている。
【０１１７】
図９を参照して説明したように、中央領域グループ（図９では鼻）の動きと、右領域グループ（図９では頭部の側部）の動きとがほぼ等しい場合、頭部はロール又はオフセット挙動を示しているといえる。このため、上記動きが検出された場合、三次元挙動検出部２４は、運転者頭部がロール挙動又はオフセット挙動を示したと検出する。
【０１１８】
図１６は、運転者の頭部が前後方向へのオフセット挙動を示した場合に得られる動きベクトルの説明図であり、（ａ）は時刻ｔにおける顔画像を示し、（ｂ）は時刻（ｔ＋１）における顔画像を示し、（ｃ）は両画像間の動きベクトルを示している。
【０１１９】
まず、図１６（ａ）に示すように、時刻ｔにおいて運転者は正面を視認している。そして、図１６（ｂ）に示すように、時刻ｔから時刻（ｔ＋１）にかけて、運転者が顔を前方に突き出したとする。すなわち、運転者の頭部が前方のオフセット挙動を示したとする。このとき、動きベクトル（図示せず）は、顔が拡大しつつ画像上方への移動を示すものとなる。
【０１２０】
そして、図１６（ｃ）に示すように、運転者が顔を元の位置に戻したとする。この戻す際の動きベクトルは図１６（ｃ）に示すようになる。そして、画像上では、顔が縮小しつつ画像下方へ移動するものとなる。
【０１２１】
図１７は、及び図１８は、前後方向のオフセット挙動についての移動量を示すグラフであり、図１７は画像横方向の移動量を示し、図１８は画像縦方向の移動量を示している。
【０１２２】
なお、図１７及び図１８では、図４に示した３つの領域グループについて得られた移動量を示しているものとする。また、図１７において、縦軸は画像横方向の移動量を示しており、横軸は時刻を示している。
【０１２３】
さらに、図１７では、図１６において図中左方側から図中右方側に移動したときの移動量を正方向に示し、図中右方側から図中左方側に移動したときの移動量を負方向に示すものとする。また、図１８では、図１６において図中上方側から図中下方側に移動したときの移動量を正方向に示し、図中下方側から図中上方側に移動したときの移動量を負方向に示すものとする。
【０１２４】
図１７に示すように、運転者の頭部が前方へのオフセット挙動を示す場合（時刻１７００〜１９００）、左領域グループにおける移動量は、正方向に増大する。一方、右領域グループにおける移動量は、負の方向に増大する。また、中央領域グループにおける移動量については、さほど変化がない。
【０１２５】
一方、画像縦方向については、図１８に示すように、運転者の頭部が前方へのオフセット挙動を示す場合（時刻１７００〜１９００）、全ての領域グループについて、負方向に移動量を示す。このように、画像中央部において横方向の動きが見られず、且つ左右の領域グループについて、相対する方向（横方向における相対する方向）に移動量を示している。さらに、画像縦方向については、全ての領域グループにおいて、負方向の移動量が得られている。このような場合、三次元挙動検出部２４は、運転者頭部が前方にオフセット挙動を示したと検出する。
【０１２６】
また、図１７に示すように、運転者の頭部が後方へのオフセット挙動を示す場合（時刻１９００〜２２００）、左領域グループにおける移動量は、負方向に増加する。一方、右領域グループにおける移動量は、正方向に増大する。また、中央領域グループにおける移動量については、さほど変化がない。
【０１２７】
一方、画像縦方向については、図１８に示すように、運転者の頭部が後方へのオフセット挙動を示す場合（時刻１９００〜２２００）、全ての領域グループについて、正方向に移動量を示す。このように、画像中央部において横方向の動きが見られず、且つ左右の領域グループについて、相対する方向（横方向における相対する方向）に移動量を示している。さらに、画像縦方向については、全ての領域グループにおいて、正方向の移動量が得られている。このような場合、三次元挙動検出部２４は、運転者頭部が後方にオフセット挙動を示したと検出する。
【０１２８】
以上のようにして、三次元挙動検出部２４は、運転者頭部の挙動を検出する。なお、上記では、ヨー挙動、ロール挙動、オフセット挙動について説明しているが、ピッチ挙動についても同様にして検出する。
【０１２９】
その後、三次元挙動検出部２４は、この結果を挙動信号出力部２５に送出し、挙動信号出力部２５は、例えば所定の挙動が検出された場合のみに制御装置３０に伝える。また、すべての挙動に関する情報を伝えるようにしてもよい。
【０１３０】
そして、これを受けた制御装置３０は、所定の処理を行い、各制御等を行うこととなる。例えば、制御装置３０が脇見検出装置である場合には、ヨー挙動に関する信号を入力することで、脇見を判定する。また、制御装置３０が安全確認装置である場合には、前方へのオフセット挙動に関する信号を入力することで、安全確認が為されたか否かを判定する。これは、Ａピラーによる死角の回避や、狭い路地から出るときなどを想定している。
【０１３１】
このようにして、本実施形態に係る運転者三次元挙動検出装置２０では、領域グループそれぞれの位置、及び領域グループそれぞれから得られる代表となる動きベクトルの向きに基づいて、挙動検出するため、運転者の顔の挙動が詳細に判断できる。このため、例えば画像横方向へのオフセットと、ヨー挙動とを区別することができる。また、他の三次元的挙動についても同様に区別することができる。従って、運転者の三次元挙動を検出することができる。
【０１３２】
また、顔画像のサイズに基づいて、参照領域を顔部位程度の大きさに設定している。このため、大き過ぎる参照領域を設定して計算量が増大していしまうことを防止すると共に、１つの参照領域内に同時に複数の特徴的な部位が入る可能性を少なくすることができる。さらに、小さ過ぎる領域を設定して特徴的な部位がない領域となることを防ぐことができる。
【０１３３】
また、領域グループは、顔画像に対し右側、中央及び左側の３つとしている。このため、それぞれの領域グループについて異なった動きを検出することが可能となり、顔のヨーによる移動とロール、オフセットによる移動とを正確に区別することができる。また、それぞれの領域グループに重複部分を持たせることにより、運転者の顔が画像中央部に位置せず多少のズレがあった場合でも、好適に運転者頭部の挙動を検出することができる。
【０１３４】
また、運転者の頭部のヨー、ロール及び左右のオフセットの挙動を区別して検出し、ヨー挙動を検出した場合には、この脇見検出装置に運転者の顔の向きの変化があったことを示す信号を信号を出力するので、脇見検出装置は運転者が脇見をしたと誤って検出する可能性が少なくなると共に、的確に運転者の脇見を認識することができる。
【０１３５】
また、三次元挙動検出部２４は、領域グループ毎の代表となる動きベクトルの大きさに基づいて、三次元空間上の挙動を検出するので、例えば、オフセット挙動とユー挙動とを的確に区別することができ、一層の検出精度の向上を図ることができる。
【０１３６】
なお、特開２０００−１１３１６４号公報には、今回及び前回に撮像された画像の差分画像を形成する技術が開示されている。しかし、この公報に開示されるような差分画像を利用して、運転者の顔の向きを検出したとしも、本実施形態のように、３次元的に挙動を検出できないことは明らかである。すなわち、差分画像を利用したとしても、その差分画像は２次元的なものであるため、顔の特定部位を追跡する方法と同様の問題が生じる。従って、本実施形態は、顔の特定部位を追跡する方法に限らず、例えば差分画像を用いる方法によりも優れたものといえる。
【０１３７】
また、三次元挙動検出部２４は、上記実施形態に示した領域グループ毎の代表となる動きベクトルの向き、及び領域グループそれぞれの顔画像上における位置に加えて、代表となる動きベクトルの数に基づいて、三次元空間上の挙動を検出してもよい。この代表となる動きベクトルの数とは、具体的には、領域グループの数を言う。そして、三次元挙動検出部２４は、領域グループの数が少ないときなどには信頼度を考慮して三次元空間上の挙動を検出せず、他の場合に検出するようにしてもよい。これにより、より信頼性の高い挙動検出を行うことができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る運転者三次元挙動検出装置を含む運転者三次元挙動検出システム構成を示すブロック図である。
【図２】図１に示した運転者三次元挙動検出装置の詳細構成を示すブロック図である。
【図３】参照領域の説明図である。
【図４】領域グループの説明図であり、（ａ）は顔画像上に設定されている参照領域の様子を示し、（ｂ）は右側の領域グループを示し、（ｃ）は中央の領域グループを示し、（ｄ）は左側の領域グループを示している。
【図５】図２に示した画像処理部の動作を示すフローチャートである。
【図６】図５に示すステップＳＴ１１における動きベクトル（ｘｄ，ｙｄ）の算出方法の説明図である。
【図７】図２に示した顔動き検出部の動作を示すフローチャートである。
【図８】三次元的な運転者の頭部挙動の説明図であり、（ａ）はピッチ、ヨー、ロールの挙動を示しており、（ｂ）はオフセット挙動を示しており、（ｃ）はそれら三次元的挙動が行われたときに二次元平面画像上で観察される顔の変化等を示している。
【図９】ヨー挙動及びロール挙動の説明図であり、（ａ）はヨー挙動を示し、（ｂ）はロール挙動を示している。
【図１０】ロール挙動及びヨー挙動についての眼の座標位置を示すグラフである。直線道路において運転者が前方を視認しているときの眼の座標位置を示す説明図である。
【図１１】直線道路において運転者が前方を視認しているときの眼の座標位置を示す説明図である。
【図１２】運転者の頭部がヨー挙動を示した場合に得られる動きベクトルの説明図であり、（ａ）は時刻ｔにおける顔画像を示し、（ｂ）は時刻（ｔ＋１）における顔画像を示し、（ｃ）は両画像間の動きベクトルを示している。
【図１３】図１２（ｃ）に示した動きベクトルが得られた場合の顔の移動量を示すグラフである。
【図１４】運転者の頭部がロール挙動を示した場合に得られる動きベクトルの説明図であり、（ａ）は時刻ｔにおける顔画像を示し、（ｂ）は時刻（ｔ＋１）における顔画像を示し、（ｃ）は両画像間の動きベクトルを示している。
【図１５】図１４（ｃ）に示した動きベクトルが得られた場合の顔の移動量を示すグラフである。
【図１６】運転者の頭部が前後方向へのオフセット挙動を示した場合に得られる動きベクトルの説明図であり、（ａ）は時刻ｔにおける顔画像を示し、（ｂ）は時刻（ｔ＋１）における顔画像を示し、（ｃ）は両画像間の動きベクトルを示している。
【図１７】前後方向のオフセット挙動についての移動量を示すグラフであり、画像横方向の移動量を示している。
【図１８】前後方向のオフセット挙動についての移動量を示すグラフであり、画像縦方向の移動量を示している。
【符号の説明】
１…運転者三次元挙動検出システム
１０…撮像装置
２０…運転者三次元挙動検出装置
２１…顔顔画像取得部（顔画像取得手段）
２２…画像処理部（画像処理手段）
２３…顔動き検出部（動き検出手段）
２４…三次元挙動検出部（三次元挙動検出手段）
２５…挙動信号出力部（信号出力手段）
３０…制御装置
【図１】
2005014853.tif 000006
【図２】
2005014853.tif 000007
【図３】
2005014853.tif 000008
【図４】
2005014853.tif 000009
【図５】
2005014853.tif 000010
【図６】
2005014853.tif 000011
【図７】
2005014853.tif 000012
【図８】
2005014853.tif 000013
【図９】
2005014853.tif 000014
【図１０】
2005014853.tif 000015
【図１１】
2005014853.tif 000016
【図１２】
2005014853.tif 000017
【図１３】
2005014853.tif 000018
【図１４】
2005014853.tif 000019
【図１５】
2005014853.tif 000020
【図１６】
2005014853.tif 000021
【図１７】
2005014853.tif 000022
【図１８】
2005014853.tif 000023