(57)【要約】【課題】検出精度の向上を図ることが可能な脇見状態検出装置を提供する。【解決手段】脇見状態検出装置１は、顔画像撮像部１０と、オプティカルフロー検出部２０と、脇見状態検出部３０とを備えている。顔画像撮像部１０は被検出者の顔を撮像する。オプティカルフロー検出部２０は、顔画像撮像部１０による撮像によって得られた顔画像からオプティカルフローを検出する。このとき、オプティカルフロー検出部２０は、時系列に連続する少なくとも２枚の顔画像からオプティカルフローを検出する。また、脇見状態検出部３０は、オプティカルフロー検出部２０によって検出されたオプティカルフローから被検出者の脇見状態を検出する。【選択図】      図１
2005018654.tif 000002
【特許請求の範囲】
【請求項１】
被検出者の顔を撮像する顔画像撮像手段と、
前記顔画像撮像手段による撮像によって得られた時系列に連続する少なくとも２枚の顔画像から、オプティカルフローを検出するオプティカルフロー検出手段と、
前記オプティカルフロー検出手段によって検出されたオプティカルフローから被検出者の脇見状態を検出する脇見状態検出手段と、
を備えることを特徴とする脇見状態検出装置。
【請求項２】
前記顔画像撮像手段は、固定して設置されると共に、被検出者の顔全体を一画像内に収めるだけの画角が確保されていることを特徴とする請求項１に記載の脇見状態検出装置。
【請求項３】
前記脇見状態検出手段は、
前記オプティカルフロー検出手段によって検出されたオプティカルフローから顔の動きベクトルを検出する動きベクトル検出手段と、
実験データ又は過去に検出された顔の動きベクトルの時系列的データに基づいて、被検出者の顔が一の方向に動作したことを検出するための一方向閾値、及び被検出者の顔が当該一の方向と逆側の方向に動作したことを検出するための逆方向閾値とを設定する閾値設定手段と、
前記閾値設定手段により設定される前記一方向閾値及び前記逆方向閾値と、前記動きベクトル検出手段よって検出された顔の動きベクトルの大きさとを比較して、被検出者の顔が当該一の方向に動作したか否か、及び被検出者の顔が当該逆側の方向に動作したか否かを判断する顔方向判断手段と、を有し、
前記顔方向判断手段により時系列的に被検出者の顔の方向を判断した結果、当該一の方向に動作したと判断してから所定時間経過したにもかかわらず、当該逆側の方向に動作したと判断されなかった場合には、被検出者が脇見をしていると検出する
ことを特徴とする請求項１又は請求項２のいずれかに記載の脇見状態検出装置。
【請求項４】
前記閾値設定手段は、当該一の方向を正とし、当該逆側の方向を負とした場合、前記一方向閾値を正の値に設定すると共に、逆方向閾値を負の値に設定し、
前記顔方向判断手段は、前記動きベクトル検出手段よって検出された顔の動きベクトルの大きさが前記一方向閾値以上の値を示したときに、被検出者の顔が当該一の方向に動作したと判断し、前記逆方向閾値以下の値を示したときに、被検出者の顔が当該逆側の方向に動作したと判断する
ことを特徴とする請求項３に記載の脇見状態検出装置。
【請求項５】
前記脇見状態検出手段は、
前記オプティカルフロー検出手段によって検出されたオプティカルフローから顔の動きベクトルを検出する動きベクトル検出手段と、
実験データ又は過去に検出された顔の動きベクトルの時系列的データに基づいて、被検出者の顔が一の方向に移動したことを検出するための一方向閾値、及び被検出者の顔が当該一の方向から元の位置に復帰したことを検出するための復帰方向閾値とを設定する閾値設定手段と、
前記閾値設定手段により設定される前記一方向閾値及び前記復帰方向閾値と、前記動きベクトル検出手段よって検出された顔の動きベクトルの累積値とを比較して、被検出者の顔が当該一の方向に移動したか否か、及び被検出者の顔が元の位置に復帰したか否かを判断する顔方向判断手段と、を有し、
前記顔方向判断手段により時系列的に被検出者の顔の移動を判断した結果、当該一の方向に移動したと判断してから所定時間経過したにもかかわらず、元の位置に復帰したと判断されなかった場合には、被検出者が脇見をしていると検出する
ことを特徴とする請求項１又は請求項２のいずれかに記載の脇見状態検出装置。
【請求項６】
前記閾値設定手段は、当該一の方向を正とした場合、前記一方向閾値を正の値に設定すると共に、復帰方向閾値を前記一方向閾値よりも大きい値に設定し、
前記顔方向判断手段は、前記動きベクトル検出手段よって検出された顔の動きベクトルの累積値が前記一方向閾値以上の値を示したときに、被検出者の顔が当該一の方向に移動したと判断し、前記復帰方向閾値以下の値を示したときに、被検出者の顔が元の位置に復帰したと判断する
ことを特徴とする請求項５に記載の脇見状態検出装置。
【請求項７】
前記脇見状態検出手段は、
前記オプティカルフロー検出手段によって検出されたオプティカルフローから顔の動きベクトルを検出する動きベクトル検出手段と、
前記動きベクトル検出手段よって検出された顔の動きベクトルに基づいて、被検出者の顔が正面方向から他の方向に向いたか否か、及び被検出者の顔が当該他の方向から正面方向に復帰したか否かを判断する顔方向判断手段と、を有し、
前記顔方向判断手段により時系列的に被検出者の顔の方向を判断した結果、当該他の方向を向いたと判断してから所定時間経過したにもかかわらず、正面方向に復帰したと判断されなかった場合には、被検出者が脇見をしていると検出する
ことを特徴とする請求項１又は請求項２のいずれかに記載の脇見状態検出装置。
【請求項８】
前記オプティカルフロー検出手段は、顔画像に対して所定の大きさ及び位置で定められる少なくとも１つの演算領域からオプティカルフローを求め、
前記動きベクトル検出手段は、前記オプティカルフロー検出手段により検出されたオプティカルフローに基づいて、前記演算領域を少なくとも１つ含んで顔画像上に定められる領域グループから顔の動きベクトルを求める
ことを特徴とする請求項３〜請求項７のいずれか１項に記載の脇見状態検出装置。
【請求項９】
前記演算領域の少なくとも１つは、前記顔画像撮像手段による撮像によって得られた顔画像のサイズに基づいて、予め顔部位程度の大きさで設定されることを特徴とする請求項８に記載の脇見状態検出装置。
【請求項１０】
被検出者の顔を時系列的に連続に撮像して得られた少なくとも２枚の顔画像からオプティカルフローを検出して、このオプティカルフローから被検出者の脇見状態を検出することを特徴とする脇見状態検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、脇見状態検出装置に関する。
【０００２】
【従来の技術】
従来、顔の画像を動画像として撮像し、画像処理にて眼の座標を順次検出し、眼の動きから脇見を検出する脇見検出装置が知られている（特許文献１参照）。また、運転者の視線方向を検出する方法（特許文献２参照）に眼の瞳孔の反射を利用し、眼の座標を検出して脇見を検出する脇見検出装置が知られている（特許文献３参照）。
【０００３】
このように、上記装置では、眼という特定の顔部位を顔画像中から検出して運転者の脇見行為を推定するようにしている。
【０００４】
【特許文献１】
特開平０６−２６２９５９号公報
【０００５】
【特許文献２】
特開２００２−８３４００号公報
【０００６】
【特許文献３】
特開平０７−６１２５７号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、従来装置では、運転者が眼を瞑るなど、運転者の顔部位を含む顔画像が得られない場合、顔の向き等を検出できなくなってしまう。そして、上記のように顔の向き等が検出できなくなった場合には、運転者の脇見を検出することができなくなってしまう。
【０００８】
【課題を解決するための手段】
本発明によれば、脇見状態検出装置であって、顔画像撮像手段は、被検出者の顔を撮像し、オプティカルフロー検出手段は、顔画像撮像手段による撮像によって得られた時系列に連続する少なくとも２枚の顔画像からオプティカルフローを検出し、脇見状態検出手段は、オプティカルフロー検出手段によって検出されたオプティカルフローから被検出者の脇見状態を検出することを特徴とする。
【０００９】
【発明の効果】
本発明によれば、時系列に連続する少なくとも２枚の顔画像からオプティカルフローを求めている。このオプティカルフローは、画像内の何らかの物体等に動きがあったときに、その動きを表すものである。このため、被検出者が顔を動かした場合、特定の顔部位（例えば眼や鼻や口）が撮像されない状況にあっても、オプティカルフローが得られる。そして、このオプティカルフローから顔の向きを検出することができる。
【００１０】
従って、検出精度の向上を図ることができる。
【００１１】
【発明の実施の形態】
以下、本発明の好適な実施形態を図面に基づいて説明する。
【００１２】
図１は、本発明の第１実施形態に係る脇見状態検出装置の構成図である。同図に示すように、本実施形態の脇見状態検出装置１は、被検出者の脇見状態、すなわち脇見をしているか否かを検出するものであって、顔画像撮像部（顔画像撮像手段）１０を備えている。また、脇見状態検出装置１は、オプティカルフロー検出部（オプティカルフロー検出手段）２０と、脇見状態検出部（脇見状態状態検出手段）３０とを備えている。
【００１３】
顔画像撮像部１０は、被検出者の顔を撮像するものであって、撮像により得られた顔画像のデータを、オプティカルフロー検出部２０に送出する構成とされている。また、顔画像撮像部１０は、固定して設置されると共に、被検出者の顔全体が一画像内に収まるのに充分な画角が確保されている。
【００１４】
オプティカルフロー検出部２０は、顔画像撮像部１０での撮像によって得られた顔画像からオプティカルフローを検出するものである。また、オプティカルフロー検出部２０は、時系列に連続する少なくとも２枚の顔画像から、濃度差等に基づいて、オプティカルフローを検出するものである。
【００１５】
ここで、オプティカルフローとは、画像内の各領域における移動量等を表すものである。具体的に、オプティカルフローは、画像の所定箇所に存在した顔部位等が、後の画像においてどの方向にどれだけ速度で移動したかを表すものである。すなわち、オプティカルフローは、大きさ及び向きの情報を含むものである。また、オプティカルフローの検出に当たっては、顔画像上に所定の位置及び大きさで設定される参照領域（演算領域）及び探索領域に基づいて行われる。
【００１６】
図２は、参照領域及び探索領域の説明図である。なお、参照領域が或る時刻の画像上に設定されるとすると、探索領域はその時刻よりも後の画像に設定されるものであるが、図２においては、便宜上、幅ｗ画素，高さｈ画素の１つの画像上に表して説明する。
【００１７】
同図に示すように、参照領域は、（ｔｘ，ｔｙ）の位置に設定される幅ｔｗ画素，高さｔｈ画素の領域である。また、探索領域は、（ｓｘ，ｓｙ）の位置に設定される幅ｓｗ画素，高さｓｈ画素の領域である。この探索領域は、各参照領域を取り囲んで設定されるものであり、参照領域と同じ数だけ設定される。また、この参照領域及び探索領域は、それぞれ大きさが異なるものの、中心位置に関しては特定の点Ｏで一致している。
【００１８】
このように、これら両領域は中心を等しくし、ｓｗ＞ｔｗ且つｓｈ＞ｓｗの関係となるように設定される。なお、ここでの参照領域及び探索領域は、被検出者の顔の位置等に依存せず、予め定められた位置及び大きさで設定される。
【００１９】
また、参照領域は、規則的に配置されることが望ましい。図３は、顔画像に規則的に配置される参照領域の説明図である。参照領域は、例えば図３（ａ）に示すように、顔画像上の横方向に複数（例えば７つ）配置される。また、図３（ｂ）に示すように、参照領域は、顔画像上に格子状に複数（例えば５行７列）配置される。さらには、図３（ｃ）に示すように、参照領域は、横方向に且つ格子状に複数（例えば３行５列に加え、さらに横方向に２つの計１７）配置されてもよい。
【００２０】
また、さらに参照領域の少なくとも１つは、顔画像撮像部１０の設置位置や画角、及び顔画像のサイズ等に基づいて、予め目、鼻又は口等の顔部位程度の大きさに固定的に設定されることが望ましい。
【００２１】
脇見状態検出部３０は、オプティカルフロー検出部２０によって検出されたオプティカルフローから被検出者の脇見状態を検出するものであって、検出に必要とする各種機能を備えるものである。
【００２２】
具体的に脇見状態検出部３０は、動きベクトル検出機能（動きベクトル検出手段）と、閾値設定機能（閾値設定手段）と、顔方向判断機能（顔方向判断手段）とを備えている。
【００２３】
動きベクトル検出機能は、オプティカルフロー検出部２０によって検出されたオプティカルフローから顔の動きベクトルを検出する機能である。ここで、動きベクトルとは、オプティカルフローから所定の演算に従って、領域グループ毎に求められるものであり、領域グループ内の物体等の移動を示すものである。
【００２４】
所定の演算については種々のものが挙げられるが、この演算については後述することとし、以下、図３を参照して、領域グループについて説明する。
【００２５】
同図に示すように、領域グループは、１つ以上の参照領域を含んで顔画像上に定められるものである。ここで、オプティカルフローは、１つの参照領域につき１つ検出されるものである。故に、領域グループには、オプティカルフローが１つ以上属していることとなり、脇見状態検出部３０は、動きベクトル検出機能によって、１つ以上のオプティカルフローに基づき動きベクトルを検出する。
【００２６】
また、領域グループは、１つ以上の参照領域を含むものであればよく、顔画像上に設定される参照領域のすべてを含むものであってもよいし（図３（ｃ））、画像端部に位置する参照領域のみを含むものであってもよい（図３（ｂ））。さらに、領域グループは、互いに重複するものであってもよい（図３（ａ））。
【００２７】
また、閾値設定機能は、被検出者の顔の方向を検出するための閾値を設定する機能である。ここでの閾値は、例えば、実験により得られたデータに基づいて予め設定されてもよく、脇見検出中に検出状態に応じて逐次設定されてもよい。
【００２８】
また、顔方向判断機能は、動きベクトル検出機能及び閾値設定機能からの双方の情報に基づいて、顔の動作を判断する機能である。具体的には、動きベクトル検出機能にて検出された動きベクトルの大きさと、閾値設定機能にて設定された閾値とを比較することにより、顔の動作を判断する機能である。
【００２９】
以上の機能を備えるため、脇見状態検出部３０は、顔方向判断機能からの判断結果を時系列的に収集しておき、時系列的な判断結果を基に、脇見状態を検出することとなる。具体的には、顔の動作方向とその方向を向いている時間とに基づいて、脇見状態を検出する。
【００３０】
次に、脇見状態検出装置１の動作の概略について説明する。まず、脇見状態検出装置１において、顔画像撮像部１０が被検出者の顔を撮像し、得られた顔画像データをオプティカルフロー検出部２０に送信する。これを受けたオプティカルフロー検出部２０は、顔画像撮像部１０にて得られた時系列に連続する少なくとも２枚の顔画像から、参照領域及び探索領域に基づいて、オプティカルフローを検出する。
【００３１】
具体的に、時刻ｔと時刻（ｔ＋１）における顔画像からオプティカルフローを検出する場合、オプティカルフロー検出部２０は、時刻ｔにおける顔画像上に参照領域を設定する。また、オプティカルフロー検出部２０は、時刻（ｔ＋１）における顔画像上に探索領域を設定する。
【００３２】
その後、オプティカルフロー検出部２０は、探索領域内から参照領域に最も類似する位置を求める。そして、参照領域の位置と最も類似する位置との差をオプティカルフローとして検出する。このため、オプティカルフローは、参照領域毎に求められることとなり、参照領域はオプティカルフローの計算領域として機能する。
【００３３】
オプティカルフローの検出後、脇見状態検出部３０は、動きベクトル検出機能により、顔の動きベクトルを求める。ここで、脇見状態検出部３０は、オプティカルフローから所定の演算に従って、領域グループ毎に動きベクトルを検出する。
【００３４】
動きベクトルの検出後、脇見状態検出部３０は、閾値設定機能により、閾値を設定する。具体的には、被検出者の顔が一の方向（例えば右方向）に動作したことを検出するための一方向閾値と、被検出者の顔がその一の方向と逆側の方向（例えば左方向）に動作したことを検出するための逆方向閾値とを設定する。なお、脇見状態検出部３０は、実験により得られたデータに基づいて、予め上記閾値を設定しおいてもよい。
【００３５】
閾値設定後、脇見状態検出部３０は、顔方向判断機能により、被検出者の顔の動作を判断する。具体的には、検出された顔の動きベクトルの大きさと、上記一方向閾値及び逆方向閾値とを比較して、被検出者の顔が一の方向に動作したか否か、及び一の方向と逆側の方向に動作したか否かを判断する。
【００３６】
その後、脇見状態検出部３０は、上記機能による処理を繰り返し、顔方向判断機能による判断結果を時系列的に取得していくと共に、被検出者の顔が一の方向に動作したと判断した場合、判断時点から計時を開始する。そして、所定時間経過後に、未だ逆側の方向に動作したと判断できない場合には、被検出者が脇見をしていると判断する。
【００３７】
なお、本装置１は、自動車、鉄道車両、船舶の被検出者やプラントのオペレータ等の脇見状態の検出に用いることができるが、以下、本実施形態においては、車両運転者の脇見状態を検出する場合を例に説明することとする。
【００３８】
図４は、本発明の第１実施形態に係る脇見状態検出装置１を車両に搭載した場合のハード構成図である。同図に示すように、顔画像撮像部１０としてＴＶカメラ２が自動車のインストルメント上に設けられている。このＴＶカメラ２は、運転者の顔全体を一画像内に収めることができる画角を有し、固定して設置されている。また、ＴＶカメラ２は運転者を略正面から撮像できる位置に設置されている。
【００３９】
また、ＴＶカメラ２にて取得された入力画像は、インストルメント裏側など車体内部に設置されたマイクロコンピュータ（以下マイコンという）３に画像データとして入力される。
【００４０】
マイコン３には、オプティカルフロー検出部２０及び脇見状態検出部３０を構成するプログラムロジックがプログラミングされている。なお、脇見状態検出部３０のプログラムロジックは、動きベクトル検出機能等の各種機能それぞれのロジックを含むものである。
【００４１】
次に、上記脇見状態検出装置１の動作を説明する。図５は、図１に示した脇見状態検出装置１の基本動作を示すフローチャートである。同図に示すように、まず、処理が開始されると、マイコン３は、初期値入力処理を実行する（ＳＴ１）。この初期値入力の処理では、サンプリング時間などの各種定数が読み込まれる。
【００４２】
初期化後、マイコン３は、終了判断処理を実行する（ＳＴ２）。この際、マイコン３は、例えばエンジンが起動しているか等に基づいて判断を行う。そして、マイコン３は、「ＳＴＯＰ」か否かを判断する（ＳＴ３）。例えばエンジンが起動されていないと判断した場合、マイコン３は、「ＳＴＯＰ」であると判断し（ＳＴ３：ＹＥＳ）、処理は終了することとなる。
【００４３】
一方、エンジンが起動され走行しているなどにより、「ＳＴＯＰ」でないと判断した場合（ＳＴ３：ＮＯ）、マイコン３は、顔全体画像の撮像処理を実行する（ＳＴ４）。これにより、ＴＶカメラ２は、被検出者の顔を撮像する。そして、マイコン３は、撮像により得られた顔画像のデータを画像メモリ（図示せず）に保存する
その後、マイコン３は、オプティカルフローの検出処理を実行する（ＳＴ５）。このステップＳＴ５の処理は、図１にて説明したオプティカルフロー検出部２０にて行われる処理である。すなわち、マイコン３は、オプティカルフロー検出部２０に相当するプログラムを実行することとなる。また、この処理において、マイコン３は、得られたオプティカルフローを時系列的にメモリ（図示せず）に保存していく。
【００４４】
その後、マイコン３は、顔の動きベクトルの検出処理を実行する（ＳＴ６）。動きベクトルの検出処理は、ステップＳＴ５にて検出されたオプティカルフローに基づいて行われるものである。また、ステップＳＴ６の処理は、動きベクトル検出機能にて行われる処理である。すなわち、マイコン３は、動きベクトル検出機能に相当するプログラムを実行することとなる。
【００４５】
動きベクトルの検出後、マイコン３は、顔の動きベクトルに基づいて脇見状態を検出する（ＳＴ７）。このステップＳＴ７の処理は、図１を参照して説明した脇見状態検出部３０にて行われる処理である。すなわち、マイコン３は、脇見状態検出部３０に相当するプログラムを実行することとなる。
【００４６】
ステップＳＴ７の処理では、まず、マイコン３が閾値設定機能、及び顔方向判断機能に相当するプログラムを実行する。その後、マイコン３が得られた判断結果である顔の方向、及び時間に基づく脇見検出を行う。
【００４７】
その後、処理はステップＳＴ２に戻る。そして、電源がオフされるまで、ステップＳＴ２〜ＳＴ８の処理を繰り返していく。すなわち、時系列的に被検出者の顔の動作を判断していくこととなる。
【００４８】
次に、オプティカルフロー検出処理（ステップＳＴ５）について詳細に説明する。図６は、図５に示したオプティカルフロー検出処理（ステップＳＴ５）の詳細なフローチャートである。
【００４９】
まず、マイコン３は、顔画像にスムージングフィルタを適応し、所定の式にて画素値を変換する（ＳＴ１０）。ここで、スムージングフィルタは、以下に示す５行５列からなるフィルタである。
【００５０】
【数１】
2005018654.tif 000003
所定の式は、以下に示すものである。
【００５１】
【数２】
2005018654.tif 000004
なお、ｄ（ｘ，ｙ）は、顔画像内の任意位置の画素値であり、ｄ’（ｘ，ｙ）は変換後の画素値である。
【００５２】
その後、マイコン３は、現在の顔画像の探索領域内から、前回の顔画像内の参照領域に最も類似する位置を求めて、移動量（ｘｄ，ｙｄ）、すなわちオプティカルフローを算出する（ＳＴ１１）。
【００５３】
具体的には、マイコン３は、まず、探索領域内から参照領域に最も類似する領域を求め、最も類似する領域の中心点を、参照領域に最も類似する位置とする。そして、マイコン３は、求められた最も類似する領域の中心点と、探索領域の中心点とから移動量（ｘｄ，ｙｄ）を算出し、オプティカルフローとする。
【００５４】
ここで、ステップＳＴ１１について詳細に説明する。上述したように、顔画像上には予め参照領域が設定されている。また、探索領域は参照領域を取り囲むように設定される。また、参照領域と探索領域とは時間を異にして設定される。具体的には、図７に示すように、参照領域は時刻ｔにおいて設定され、探索領域は時刻ｔ後の時刻（ｔ＋１）において設定される。
【００５５】
図７は、図６に示すステップＳＴ１１における移動量（ｘｄ，ｙｄ）の算出方法の説明図である。ステップＳＴ１１の処理において、マイコン３は、まず、時刻（ｔ＋１）の探索領域内に候補領域を作成する。この候補領域は、参照領域と同じ大きさを有する領域である。具体的には、探索領域内の任意の位置を（ｘｄ，ｘｙ）とした場合、−（ｓｗ−ｔｗ）／２＜ｘｄ＜（ｓｗ−ｔｗ）／２、且つ、−（ｓｈ−ｔｈ）／２＜ｘｙ＜（ｓｈ−ｔｈ）の範囲から切り出した領域である。
【００５６】
マイコン３は、探索領域内の所定箇所に上記のような候補領域を設定し、設定した候補領域と参照領域とを比較等して、類似度を求める。次に、マイコン３は、候補領域を他の位置に動かし、動かした位置の候補領域と参照領域とを比較等して類似度を求める。
【００５７】
その後、マイコン３は、候補領域を順次移動させていき、探索領域内での各箇所において参照領域との類似度を算出する。類似度は、例えば、濃淡データを基準に判断される。ここで、濃淡データを基準に類似度を算出する場合において、類似度をｃｏｓθとすると、類似度は以下の式にて表される。
【００５８】
【数３】
2005018654.tif 000005
上式においては、参照領域の濃淡データをＴとし、候補領域の濃淡データをＳとしている。また、ｘｄは、探索領域内のＸ座標値を示し、ｙｄは、探索領域内のＹ座標値を示している。
【００５９】
以上から、マイコン３は、類似度が最大となる位置Ｓを定め、点Ｓと点Ｏとの座標値の差を移動量（ｘｄ，ｙｄ）として取得し、これをオプティカルフローとする。
【００６０】
再度、図６を参照して説明する。移動量（ｘｄ，ｙｄ）の算出後、マイコン３は、類似度の範囲が閾値以上か否かを判断する（ＳＴ１２）。すなわち、マイコン３は、まず、候補領域によって探索領域内を走査していき、探索領域内の各箇所の類似度を算出する。その後、マイコン３は、得られた類似度の分散を求め、この分散により類似度の範囲が閾値以上か否かを判断する。
【００６１】
ここで、類似度の範囲が小さい場合とは、探索領域内の各箇所において、同じような類似度が検出される場合である。例えば、参照領域が真っ白な画像である場合など、特徴が少ない場合には探索領域内のどの箇所と比較しても似たような類似度の結果が得られることとなる。
【００６２】
そして、このような場合、それぞれ類似度の差が小さいことから、類似度が最大となる点Ｓの検出が不正確になりやすい。このため、図６のステップＳＴ１２の処理では、所定の閾値と比較し、好適なものと不適なものとの選別するようにしている。
【００６３】
類似度の範囲が閾値以上であると判断した場合（ＳＴ１２：ＹＥＳ）、マイコン３は、参照領域を有効な領域とし、ｆｄに「１」を代入する（ＳＴ１３）。そして、処理はステップＳＴ１５に移行する。
【００６４】
一方、類似度の範囲が閾値以上でないと判断した場合（ＳＴ１２：ＮＯ）、マイコン３は、参照領域を無効な領域とし、ｆｄに「０」を代入する（ＳＴ１４）。そして、処理はステップＳＴ１５に移行する。このように、マイコン３は、特徴量としての類似度の変化量と、予め設定される閾値とを比較することにより、動きベクトルの計算に用いるか否かを判断している。
【００６５】
ステップＳＴ１５において、マイコン３は、領域の数だけ上記のステップＳＴ１１〜ＳＴ１４を行ったか否かを判断する（ＳＴ１５）。すなわち、マイコン３は、すべての参照領域について、探索領域内から類似する位置を特定したか否かを判断している。
【００６６】
いずれかの参照領域について、探索領域内から類似する位置を特定していないと判断した場合（ＳＴ１５：ＮＯ）、処理はステップＳＴ１１に戻り、類似する位置を特定していない参照領域について、上記ステップＳＴ１１〜ＳＴ１４の処理を繰り返すこととなる。
【００６７】
一方、すべての参照領域について、探索領域内から類似する位置を特定したと判断した場合（ＳＴ１５：ＹＥＳ）、マイコン３は、図５に示すステップＳＴ６の処理を実行する。なお、参照領域が１つだけしか設定されていない場合、ステップＳＴ１５の処理を省略するようにしてもよい。
【００６８】
また、オプティカルフローの計算方法は本実施形態の他に、八木信行監修，  ”ディジタル映像処理”，  映像情報メディア学会編，  ｐｐ．１２９−１３９，  ２０００，  オーム社  などにて動画像から動きを検出する手法が複数紹介されていおり、それらを用いることもできる。
【００６９】
ここで、オプティカルフローの検出例を説明する。図８は、運転者が左方向に顔の向きを変える場合のオプティカルフローの例を示す説明図であり、（ａ）は時刻ｔにおけるオプティカルフローの例を示し、（ｂ）は時刻（ｔ＋１）におけるオプティカルフローの例を示し、（ｃ）は時刻（ｔ＋２）におけるオプティカルフローの例を示し、（ｄ）は時刻（ｔ＋３）におけるオプティカルフローの例を示している。
【００７０】
まず、図８を参照して説明する。時刻ｔにおいて運転者は前方を視認している（図８（ａ））。その後、時刻（ｔ＋１）において、運転者は交差点の確認等を行うべく、顔を左方に向ける。このとき、オプティカルフローが検出される（図８（ｂ））。ここで、画像中の四角で表示されている領域は、参照領域であり、各参照領域から伸びる線分は、各部位の移動量、すなわちオプティカルフローを示している。
【００７１】
その後、時刻（ｔ＋２）において、運転者は顔をさらに左方に向ける。このときも同様に、オプティカルフローが検出される（図８（ｃ））。そして、時刻（ｔ＋３）において運転者は顔を左上方に向けると、同様にオプティカルフローが検出される（図８（ｄ））。
【００７２】
なお、図８中において、参照領域を示す四角枠が実線にて図示されているものは、図６のステップＳＴ１２にて「ＮＯ」と判断され、無効領域とされた参照領域であり、四角枠が破線にて図示されているものは、図６のステップＳＴ１２にて「ＹＥＳ」と判断され、有効領域とされた参照領域である。
【００７３】
次に、顔の動きベクトルの検出処理（図５：ＳＴ６）を説明する。図９は、図５に示した動きベクトルの検出処理（ＳＴ６）の詳細なフローチャートである。
【００７４】
まず、マイコン３は、領域グループが複数存在する場合には、複数の領域グループのうち処理の対象となるものを選択し、その領域グループの移動量に関する数値ｘ，ｙ，ｃを「０」に初期化する（ＳＴ２０）。その後、マイコン３は、選択した領域グループ内の参照領域のうちいずれか１つを選択する。
【００７５】
そして、マイコン３は、選択した参照領域が有効領域であるか否か、すなわちｆｄが「１」であるか否かを判断する（ＳＴ２１）。ｆｄが「１」であると判断した場合（ＳＴ２１：ＹＥＳ）、マイコン３は、移動量を積算する（ＳＴ２２）。具体的に、マイコン３は、「ｘ」を「ｘ＋ｘｄ」とし、「ｙ」を「ｙ＋ｙｄ」とし、「ｃ」を「ｃ＋１」とする。そして、処理はステップＳＴ２３に移行する。
【００７６】
一方、ｆｄが「１」でないと判断した場合（ＳＴ２１：ＮＯ）、マイコン３は、移動量を積算することなく、処理はステップＳＴ２３に移行する。
【００７７】
ステップＳＴ２３において、マイコン３は、選択した領域グループ内のすべての参照領域について処理したか否かを判断する（ＳＴ２３）。いずれかの参照領域について処理をしてないと判断した場合（ＳＴ２３：ＮＯ）、処理はステップＳＴ２１に戻り、上記ステップＳＴ２１，ＳＴ２２を繰り返すこととなる。すなわち、マイコン３は、すべての参照領域について有効領域か否かを判断し、有効領域である場合には、移動量を積算するという処理を行っていく。
【００７８】
そして、順次移動量の積算等が行われ、すべての参照領域について処理した場合（ＳＴ２３：ＹＥＳ）、マイコン３は、ｃが「０」であるか否かを判断する（ＳＴ２４）。
【００７９】
「ｃ」が「０」であると判断した場合（ＳＴ２４：ＹＥＳ）、処理はステップＳＴ２６に移行する。一方、「ｃ」が「０」でないと判断した場合（ＳＴ２４：ＮＯ）、マイコン３は、積算した「ｘ」「ｙ」についての平均を求める（ＳＴ２５）。すなわち、マイコン３は、「ｘ＝ｘ／ｃ」及び「ｙ＝ｙ／ｃ」を実行し、平均移動量を求める。
【００８０】
平均移動量の算出後、マイコン３は、求めた平均移動量について、移動平均（ａｘ，ａｙ）を求める（ＳＴ２６）。ここで得られた移動平均が顔の動きベクトルとなり、移動平均のｘ方向成分ａｘが動きベクトルのｘ方向成分（画像横方向成分）となり、移動平均のｙ方向成分ａｙが動きベクトルのｙ方向成分（画像縦方向成分）となる。なお、移動平均を求める範囲は任意に定められている。また、移動平均（ａｘ，ａｙ）を求めるのは、微細なノイズ等を除去するためである。
【００８１】
ここで、動きベクトルの一例を説明すると、例えば、図８（ｂ）〜（ｄ）の画像の右隅に示すものが挙げられる。図８に示す動きベクトルは、顔画像全体に領域グループが設定されたときに得られるものであり、各画像について１つずつ得られている。同図に示すように、動きベクトルは、運転者の顔の動きを的確に反映していることがわかる。
【００８２】
ステップＳＴ２６の後、マイコン３は、すべての領域グループについて処理したか否かを判断する（ＳＴ２７）。いずれかの領域グループについて処理をしてないと判断した場合（ＳＴ２７：ＮＯ）、処理は再度ステップＳＴ２０に戻り、同様の処理を行っていくこととなる。一方、すべての領域グループについて処理したと判断した場合（ＳＴ２７：ＹＥＳ）、処理は終了する。
【００８３】
次に、脇見状態検出処理（図５：ＳＴ７）について詳細に説明する。図１０は、時系列的に得られた動きベクトルの大きさ、一方向閾値、逆方向閾値、及び脇見判断の様子を示す説明図である。図１０において縦軸は動きベクトルの大きさを示し、横軸は時刻を示している。
【００８４】
脇見状態の検出に際しては、まず、マイコン３は過去に検出された動きベクトルの時系列データに基づいて、閾値の設定を行う。このとき、実験データにより予め閾値を設定しておき、図５のステップＳＴ７にて、閾値の設定を新たに行わなくともよい。
【００８５】
同図に示すように、マイコン３は、閾値設定機能により、例えば、右方向を負とし、左方向を正とした場合、右方向閾値（一方向閾値）を負の値に設定すると共に、左方向閾値（逆方向閾値）を正の値に設定する。また、図１０に示すものと、正及び負を逆にして設定してもよい。
【００８６】
設定後、マイコン３は、顔方向判断機能により、顔の動きベクトルの大きさが右方向閾値以下の値を示したときに、被検出者の顔が右方向に動作したと判断し、左方向閾値以上の値を示したときに、被検出者の顔が左方向に動作したと判断する。
【００８７】
まず、図１０ａの期間では、右方向閾値以下及び左方向閾値以上の双方について条件を満たさない。この場合、運転者には顔の動作がないととなる。すなわち、運転者は正面を視認しているといえる。その後、図１０ｂの期間中に、顔の動きベクトルの大きさ（ａｘのみ）が右方向閾値以下の値を示す。すなわち、運転者は右方向に顔を動かしたこととなる。そして、顔の動きベクトルの大きさが右方向閾値以下の値を示した段階で、計時が行われる。
【００８８】
その後、図１０ｃの期間中に動きベクトルの大きさが「０」付近の値に戻る。すなわち、動きが検出されていないことを示しており、運転者は右方向に顔を動かしたままの状態となっている。
【００８９】
そして、図１０ｄの期間中に顔の動きベクトルの大きさ（ａｘのみ）が左方向閾値以上の値を示す。すなわち、運転者は左方向に顔を動かしたこととなる。その後、図１０ｅの期間のように、動きベクトルの大きさが右方向閾値以下及び左方向閾値以上の双方の条件を満たさないため、運転者は顔を動かしておらず、正面方向を視認しているといえる。
【００９０】
上記の場合において、時系列的に被検出者の顔の方向を判断した結果、右方向に動作したと判断してから所定時間（図１０ｆ）経過するまでに、左方向に動作したと判断されていない。すなわち、運転者は比較的長い間右方向を視認したままでいたことになる。このため、マイコン３は、所定時間経過後の期間（図１０ｇ）に、運転者は脇見をしていると検出する。
【００９１】
このようにして、本実施形態に係る脇見状態検出装置１によれば、時系列に連続する少なくとも２枚の顔画像からオプティカルフローを求めている。このオプティカルフローは、画像内の何らかの物体等に動きがあったときに、その動きを表すものである。このため、被検出者が顔を動かした場合、特定の顔部位（例えば眼や鼻や口）が撮像されない状況にあっても、オプティカルフローが得られる。そして、このオプティカルフローから顔の向きを検出することができる。
【００９２】
従って、検出精度の向上を図ることができる。
【００９３】
また、顔画像撮像部１０は、被検出者の顔全体を一画像内に収めることができる画角を有し、固定して設置されている。すなわち、顔画像撮像部１０は、一画像内に被検出者の顔が収まった状態で撮像することができる。そして、一画像内に顔が収まることで顔全体の動きに基づいて脇見状態を検出できることとなり、顔の一部だけに基づいたことによって、脇見状態の検出精度が低下してしまうことを防止することができる。従って、一層の検出精度の向上を図ることができる。
【００９４】
なお、本実施形態では、顔全体に基づいて脇見検出を行う方が望ましいというだけで、上記したように顔全体が撮像されなくとも脇見検出は可能である。そして、たとえ顔の一部に基づいて脇見状態の検出したとしても、従来装置に比べると、検出精度は向上されている。
【００９５】
また、被検出者の顔が一の方向に動作したこと、及び一の方向と逆側の方向に動作したことを、閾値を用いて判断している。そして、時系列的に顔の方向を判断し、一の方向に動作してから所定時間中に被検出者の顔が逆側の方向に向かなかったときに、脇見を検出している。
【００９６】
このように、動きの大きさと閾値とを比較しているので、被検出者の小さな動きに基づいて、顔の方向が変わったと誤認することを防止している。例えば、凹凸のある道路を車両が走行している場合などには、運転者の顔はオフセット移動（平行移動）することがある。このオフセット移動は、わずかな移動量であることが多く、このような場合に閾値判断を行わないと、脇見検出するうえで、誤認を招く結果となる。ところが、本実施形態では、閾値判断によりこのような誤認を排除することができる。従って、一層検出精度の向上を図ることができる。
【００９７】
さらには、過去の動きベクトルに基づいて閾値を設定する場合には、オフセット移動が多く検出されるときなど、閾値を高めに設定することも可能となり、より誤検出してしまうことを防止することができる。
【００９８】
また、顔画像に対して所定の大きさ及び位置で定められる少なくとも１つの参照領域からオプティカルフローを求めている。このため、顔画像のよりも小さい領域からオプティカルフローを求めていることになり、詳細な検出が行われることとなる。
【００９９】
そして、検出したオプティカルフローに基づいて、参照領域を少なくとも１つ含んで顔画像上に定められる領域グループから顔の動きベクトルを求めている。すなわち、詳細に検出したオプティカルフローに基づいて、顔の動きベクトルが求められていることとなる。
【０１００】
このため、領域グループ全体から直接にオプティカルフローを求める場合に比して、詳細に画像内の物体等の移動を検出している分、精度の高い検出を行うことができる。
【０１０１】
また、参照領域は、顔画像のサイズに基づいて、顔部位程度の大きさに設定されている。このため、大き過ぎる参照領域を設定して計算量が増大していしまうことを防止すると共に、１つの参照領域内に同時に複数の特徴的な部位が入る可能性を少なくすることができる。さらに、小さ過ぎる領域を設定して特徴的な部位がない領域となることを防ぐことができる。
【０１０２】
次に、本発明の第２実施形態を説明する。第２実施形態に係る脇見状態検出装置１ａは、第１実施形態のものとほぼ同様であるが、脇見状態検出部３０が有する機能が異なっている。より詳しくは、脇見状態検出部３０は、第１実施形態と同様の機能を有しているが、顔方向判断機能及び閾値設定機能の詳細が異なっている。
【０１０３】
以下、第１実施形態との相違点について説明する。まず、第２実施形態の脇見状態検出部３０は、顔方向判断機能により、顔の動きベクトルの累積値と、閾値とを比較する。ここで、動きベクトルの累積値は、過去から現在に掛けて、動きベクトルの大きさ及び向きを考慮して積算したものである。すなわち、累積値は、動き量及び動いた方向に基づいて積算されることとなるため、被検出者の顔の現在位置を示すものとなる。
【０１０４】
具体的に本実施形態では、累積値を以下の式により算出する。
【０１０５】
【数４】
2005018654.tif 000006
また、累積値に基づいて顔の方向を判断するため、閾値の設定についても多少異なっている。すなわち、第２実施形態において、一方向閾値は顔が一の方向に移動したことを検出するためのものとして設定される。また、逆方向閾値に代えて、被検出者の顔が一の方向から元の位置に復帰したことを検出するための復帰方向閾値が設定される。
【０１０６】
このため、脇見状態検出部３０は、時系列的に被検出者の顔の移動を判断した結果、一の方向に移動したと判断してから所定時間経過したにもかかわらず、元の位置に復帰したと判断されなかった場合に、被検出者が脇見をしていると検出する。
【０１０７】
なお、本装置１ａについても第１実施形態のものと同様に、自動車、鉄道車両、船舶の被検出者やプラントのオペレータ等に用いることができるが、以下、本実施形態においては、車両運転者の脇見状態を検出する場合を例に説明することとする。
【０１０８】
次に、上記脇見状態検出装置１ａの動作を説明する。図１１は、第２実施形態に係る脇見状態検出装置１ａの基本動作を示すフローチャートである。なお、図１１のステップＳＴ３０〜ＳＴ３５の処理は、図５に示すＳＴ１〜ＳＴ６の処理と同様であるため、説明を省略する。
【０１０９】
ステップＳＴ３６において、マイコン３は、顔の動きベクトルの累積値を算出する（ＳＴ３６）。すなわち、動きベクトル（ａｘ，ａｙ）の値を随時累積していく。
【０１１０】
その後、マイコン３は、脇見状態検出処理を実行し、脇見状態を検出する（ＳＴ３７）。ここでの脇見検出に際しては以下の処理が行われる。まず、マイコン３は、閾値設定機能により、閾値を設定する。具体的には、被検出者の顔が一の方向（例えば右方向）に移動したことを検出するための一方向閾値と、被検出者の顔が元の位置に復帰したことを検出するための復帰方向閾値とを設定する。なお、第２実施形態においても第１実施形態と同様に、実験により得られたデータに基づいて、予め上記閾値を設定しおいてもよい。
【０１１１】
閾値設定後、マイコン３は、顔方向判断機能により、被検出者の顔の位置がどの方向に存するかを判断する。具体的には、ステップＳＴ３６にて算出された累積値と、上記一方向閾値及び復帰方向閾値とを比較して、被検出者の顔が一の方向に移動したか否か、及び元の位置に復帰したか否かを判断する。
【０１１２】
なお、この処理において、累積値と一方向閾値のみとを比較して、被検出者の顔が一の方向に移動したか否かだけを判断し、一の方向に移動したことが判断された段階で、累積値と復帰方向閾値のみとを比較するようにしてもよい。すなわち、被検出者の顔が一の方向に移動していない場合には、元の位置に復帰という概念自体生じないからである。
【０１１３】
そして、マイコン３は、顔方向判断機能によって得られる判断結果を、過去分も含めて取得し、脇見状態を検出する。すなわち、マイコン３は、過去において、被検出者の顔が一の方向に移動したと判断した場合、その判断時点からの時間が所定時間に達しているか否かを判断する。そして、所定時間に達している場合には、被検出者が脇見をしていると判断する。一方、マイコン３は、所定時間に達する前に、顔が元の位置に復帰したと判断した場合には、運転者が脇見をしていると判断しない。
【０１１４】
図１２は、時系列的に得られた動きベクトルの大きさの累積値、一方向閾値、復帰方向閾値、及び脇見判断の様子を示す説明図である。なお、図１２において縦軸は動きベクトルの累積値を示し、横軸は時刻を示している。また、図１２において画像横方向の累積値をｓｘとし、画像縦方向の累積値をｓｙとする。
【０１１５】
脇見状態の検出に際しては、まず、マイコン３は第１実施形態と同様に閾値の設定を行う。すなわち、マイコン３は、閾値設定機能により、例えば、一の方向を負とした場合、向きはじめ閾値（一方向閾値）を負の値に設定すると共に、むき終わり閾値（復帰方向閾値）を向きはじめ閾値よりも小さい値に設定する。また、正及び負を逆にして設定してもよい。
【０１１６】
設定後、マイコン３は、顔方向判断機能により、累積値が向きはじめ閾値以下の値を示したときに、被検出者の顔がいずれかの方向に移動したと判断し、向き終わり閾値以上の値を示したときに、被検出者の顔が元の位置に復帰したと判断する。
【０１１７】
まず、図１２ａの期間では、向きはじめ閾値以下という条件を満たさない。この場合、運転者は顔を移動させておらず正面方向を視認していることとなる。その後、図１２ｂの期間中に、累積値（ｓｘのみ）が向きはじめ閾値以下（具体的には−２００）の値を示す。すなわち、運転者はいずれかの方向に顔を移動させたこととなる。そして、顔の動きベクトルの累積値が向きはじめ閾値以下の値を示した段階で、計時が行われる。
【０１１８】
その後、図１２ｃの期間中に累積値は「−２００」付近の値を維持する。すなわち、復帰動作が行われていないことを示しており、運転者の顔は移動したままの状態となっている。
【０１１９】
そして、図１２ｄの期間中に累積値（ｓｘのみ）が向き終わり閾値以上の値を示す。すなわち、運転者は元の位置に顔を戻したこととなる。その後、図１２ｅの期間のように、累積値が向きはじめ閾値以下という条件を満たさないため、運転者は顔を移動させておらず正面方向を視認していることとなる。
【０１２０】
上記の場合において、時系列的に被検出者の顔の移動を判断した結果、いずれか方向に移動したと判断してから所定時間（図１２ｆ）経過するまでに、元の位置に復帰したと判断されていない。すなわち、運転者は比較的長い間正面とは異なる方向を視認したままでいたことになる。このため、マイコン３は、所定時間経過後の期間（図１２ｇ）に、運転者は脇見をしていると検出する。
【０１２１】
このようにして、本実施形態に係る脇見状態検出装置１によれば、第１実施形態と同様に検出精度の向上を図ることができ、詳細に画像内の物体等の移動を検出している分、精度の高い検出を行うことができる。また、大き過ぎる参照領域を設定して計算量が増大していしまうことを防止すると共に、１つの参照領域内に同時に複数の特徴的な部位が入る可能性を少なくすることができる。さらに、小さ過ぎる領域を設定して特徴的な部位がない領域となることを防ぐことができる。
【０１２２】
また、本実施形態によれば、累積値を得ているので、被検出者の顔の現在位置を取得することができる。このため、累積値から、浅い角度の脇見しているのか、大きく脇見をしているか等について、詳細に検出することが可能となる。従って、一層の検出精度の向上を図ることができる。（請求項５，６）
次に、本発明の第３実施形態を説明する。第３実施形態に係る脇見状態検出装置１ｂは、第２実施形態のものとほぼ同様であるが、脇見状態検出部３０が有する機能が異なっている。より詳しくは、脇見状態検出部３０は、第２実施形態と同様の機能を有しているが、閾値設定機能を備えていない点で異なっている。また、顔方向判断機能の詳細が異なっている。
【０１２３】
以下、第２実施形態との相違点について説明する。まず、第３実施形態に係る脇見状態検出部３０は、顔方向判断機能により、顔の動きベクトルの累積値と閾値との比較を行うことなく顔の方向を判断している。このため、閾値設定機能は不要となっており、顔方向判断機能のみで顔の方向を判断するようにされている。
【０１２４】
顔方向判断機能は、被検出者の顔の動きが上下左右均等に発生するという考えに基づいて顔の方向を判断している。すなわち、顔方向判断機能は、被検出者が最終的には顔を正面に戻すことから、顔の動きは上下左右均等に発生するとしている。
【０１２５】
一方、顔の動きベクトルの累積値と実際の顔の現在位置とは一致する関係にある。ところが、実際の顔の動きは複雑であることから、長く計測していくほど累積値に誤差が蓄積され、累積値は実際の顔の現在位置を示さないようになる。
【０１２６】
そこで、本実施形態における顔方向判断機能は、顔の動きが上下左右均等に発生するという考えて基づいて、誤差分の影響を緩和し、正確に顔の方向を検出するようにしている。
【０１２７】
図１３は、第３実施形態に係る脇見状態検出装置１ｂの基本動作を示すフローチャートである。なお、図１３のステップＳＴ４０〜ＳＴ４６の処理は、図１１に示すＳＴ３０〜ＳＴ３６の処理と同様であるため、説明を省略する。
【０１２８】
ステップＳＴ４６において、マイコン３は、顔の向き算出処理を実行する（ＳＴ４６）。なお、この処理は顔方向判断機能によって行われる。この処理では、まず、顔の動きが上下左右均等に発生するという考えて基づいて、誤差分の影響を緩和するための補正値を算出する。
【０１２９】
図１４は、画像横方向の顔の動きベクトル、累積値、及び補正値を示す説明図である。なお、図１４において縦軸は動きベクトル、累積値、補正値の大きさを示し、横軸は時刻を示している。
【０１３０】
同図に示すように、顔の動きベクトルに基づいて得られる累積値は、徐々にマイナス方向へシフトしている。ここで、累積値は、運転者の顔の現在位置を示すため、マイナス方向を右側とした場合、運転者の顔の位置が徐々に右方向へシフトしていることを示している。しかし、上記したように、通常、顔の動きは上下左右均等に発生するものである。このため、同図に示すシフトは、本来発生するものではなく、誤差が蓄積されたものといえる。
【０１３１】
そこで、ステップＳＴ４７の処理では、所定時間帯における累積値の移動平均を求め、その移動平均値を中立位置としている。そして、累積値と中立位置との差を顔の現在位置としている。すなわち、累積値の移動平均を求めて中立位置とすることにより、当初の中立位置であった箇所（図１４でいえば時刻が「０」の箇所）から中立位置を変更していき、累積値に誤差を含んでいたとしても正確な中立位置を求めるようにしている。そして、正確な中立位置と累積値との差により正確に顔の現在位置を判断できるようにしている。なお、本実施形態では、例えば３秒間の累積値から移動平均を得るようにしている。
【０１３２】
図１５は、補正値により補正した後の累積値を示す説明図である。なお、図１５において縦軸は累積値の大きさを示し、横軸は時刻を示している。
【０１３３】
同図に示すように、補正後の累積値は、顔の動きが上下左右均等に発生するという理論に適するものとなっている。すなわち、当初の中立位置であった箇所（図１５でいえば時刻が「０」の箇所）に対して、図１４に示すようなシフトが取り除かれた状態で累積値が示されていることがわかる。
【０１３４】
そして、同図の縦軸の正方向が運転者にとって右方向に相当する場合、正の累積値が得られているときには、運転者が右方向を向いていると判断し、負の累積値が得られているときには、運転者が左方向を向いていると判断する。このように、第３実施形態では、顔方向判断機能により補正を行って現在位置を正確に取得するため、正確に顔の方向を判断できることとなる。
【０１３５】
再度、図１３を参照して説明する。顔の方向を判断した後、マイコン３は、脇見状態の検出処理を実行する（ＳＴ４８）。すなわち、マイコン３は、運転者が正面以外の他の方向を向いたと判断すると、計時を開始する。そして、時系列的に運転者の顔の方向を判断した結果、計時開始から所定時間経過したにもかかわらず、運転者の顔が正面方向に復帰したと判断できない場合には、運転者が脇見をしていると検出する。
【０１３６】
図１６は、累積値と補正値との関係を示す説明図である。なお、図１６において縦軸は動きベクトルの累積値及び補正値を示し、横軸は時刻を示している。同時に示すように、累積値は時刻１６付近においてマイナス方向にシフトしている。このとき、補正値についても同様にマイナスの値を示している。すなわち、シフトした分を補正する値となっている。
【０１３７】
以上のように、本実施形態では、正確に顔の方向を判断して、脇見検出の精度の向上を図っている。なお、本実施形態では、閾値設定機能を有していない構成を説明したが、有していてもよい。この場合、顔の向きの判断は、図１７に示すようにして行われる。
【０１３８】
図１７は、補正後の累積値と、閾値との関係を示す説明図である。なお、図１７において縦軸は補正後の累積値を示し、横軸は時刻を示している。また、図１７では、第１実施形態と同様に右向き閾値及び左向き閾値を設定するものとする。
【０１３９】
まず、図１７ａの期間では、右向き閾値以下という条件を満たさない。この場合、運転者は正面方向を視認していることとなる。その後、図１７ｂの期間中に、累積値は、右向き閾値以下の値を示した後に、「−１５０」以下の値まで到達する。すなわち、運転者は右方向に顔を移動させたこととなる。そして、顔の動きベクトルの累積値が右向き閾値以下の値を示した段階で、計時が行われる。
【０１４０】
その後、図１７ｃの期間中に累積値は「−１５０」以下の値を維持する。すなわち、左方向への動作が行われていないことを示しており、運転者の顔は右方向へ移動したままの状態となっている。
【０１４１】
そして、図１７ｄの期間中に累積値が右向き閾値以上の値を示す。すなわち、運転者の顔は正面方向に復帰したこととなる。その後、図１７ｅの期間のように、累積値が右向き閾値以下という条件を満たさず、さらには左向き閾値以上という条件についても満たさない。このため、運転者は顔を移動させておらず正面方向を視認していることとなる。
【０１４２】
上記の場合において、時系列的に被検出者の顔の方向を判断した結果、いずれか方向に移動したと判断してから所定時間（図１７ｆ）経過するまでに、正面方向に復帰したと判断されていない。すなわち、運転者は比較的長い間正面とは異なる方向を視認したままでいたことになる。このため、マイコン３は、所定時間経過後の期間（図１７ｇ）に、運転者は脇見をしていると検出する。
【０１４３】
なお、図１７では、運転者が右を向く場合を例に説明したが、右に限らず他の方向であっても構わない。また、上記したように、本実施形態では、閾値を設定することなく、脇見検出を行ってもよい。
【０１４４】
このようにして、本実施形態に係る脇見状態検出装置１ｂによれば、第２実施形と同様に、検出精度の向上を図ることができ、詳細に画像内の物体等の移動を検出している分、精度の高い検出を行うことができる。また、大き過ぎる参照領域を設定して計算量が増大していしまうことを防止すると共に、１つの参照領域内に同時に複数の特徴的な部位が入る可能性を少なくすることができる。さらに、小さ過ぎる領域を設定して特徴的な部位がない領域となることを防ぐことができる。
【０１４５】
また、本実施形態によれば、オプティカルフローから顔の方向を判断し、顔の方向及び時間に基づいて、脇見状態を検出している。このため、一層の検出精度の向上を図ることができる。（請求項７）特に本実施形態では、顔の動きベクトルから累積値を求め、所定の演算により累積値から補正値を求め、補正値により累積値を補正して、顔の向きを判断するようにしている。これにより、顔の向きが正確に判断されることとなり、一層の検出精度の向上を図ることができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係る脇見状態検出装置の構成図である。
【図２】参照領域及び探索領域の説明図である。
【図３】顔画像に規則的に配置される参照領域の説明図であり、（ａ）は顔画像上の横方向に参照領域が複数（例えば７つ）配置される例を示し、（ｂ）は顔画像上に格子状に参照領域が複数（例えば５行７列）配置される例を示し、（ｃ）は横方向に且つ格子状に参照領域が複数（例えば３行５列に加え、さらに横方向に２つの計１７）配置される例を示している。
【図４】本発明の第１実施形態に係る脇見状態検出装置１を車両に搭載した場合のハード構成図である。
【図５】図１に示した脇見状態検出装置１の基本動作を示すフローチャートである。
【図６】図５に示したオプティカルフロー検出処理（ステップＳＴ５）の詳細なフローチャートである。
【図７】図６に示すステップＳＴ１１における移動量（ｘｄ，ｙｄ）の算出方法の説明図である。
【図８】運転者が左方向に顔の向きを変える場合のオプティカルフローの例を示す説明図であり、（ａ）は時刻ｔにおけるオプティカルフローの例を示し、（ｂ）は時刻（ｔ＋１）におけるオプティカルフローの例を示し、（ｃ）は時刻（ｔ＋２）におけるオプティカルフローの例を示し、（ｄ）は時刻（ｔ＋３）におけるオプティカルフローの例を示している。
【図９】図５に示した動きベクトルの検出処理（ＳＴ６）の詳細なフローチャートである。
【図１０】時系列的に得られた動きベクトルの大きさ、一方向閾値、逆方向閾値、及び脇見判断の様子を示す説明図である。
【図１１】第２実施形態に係る脇見状態検出装置１ａの基本動作を示すフローチャートである。
【図１２】時系列的に得られた動きベクトルの大きさの累積値、一方向閾値、復帰方向閾値、及び脇見判断の様子を示す説明図である。
【図１３】第３実施形態に係る脇見状態検出装置１ｂの基本動作を示すフローチャートである。
【図１４】画像横方向の顔の動きベクトル、累積値、及び補正値を示す説明図である。
【図１５】補正値により補正したとき後の累積値を示す説明図である。
【図１６】累積値と補正値との関係を示す説明図である。
【図１７】補正後の累積値と、閾値との関係を示す説明図である。
【符号の説明】
１，１ａ，１ｂ…脇見状態検出装置
１０…顔画像撮像部（顔画像撮像手段）
２０…オプティカルフロー検出部（オプティカルフロー検出手段）
３０…脇見状態検出部（脇見状態検出手段）
【図１】
2005018654.tif 000007
【図２】
2005018654.tif 000008
【図３】
2005018654.tif 000009
【図４】
2005018654.tif 000010
【図５】
2005018654.tif 000011
【図６】
2005018654.tif 000012
【図７】
2005018654.tif 000013
【図８】
2005018654.tif 000014
【図９】
2005018654.tif 000015
【図１０】
2005018654.tif 000016
【図１１】
2005018654.tif 000017
【図１２】
2005018654.tif 000018
【図１３】
2005018654.tif 000019
【図１４】
2005018654.tif 000020
【図１５】
2005018654.tif 000021
【図１６】
2005018654.tif 000022
【図１７】
2005018654.tif 000023