(57)【要約】【課題】複数の対象を検出することが可能な運転者状態検出装置を提供する。【解決手段】運転者状態検出装置１は、運転者の顔を撮影して得られた顔の画像から、漫然運転、居眠り運転及び脇見運転を判定する各判定手段３１〜３３を有している。また、本装置１は、画像処理部２１を有し、画像処理部２１は、撮影された２枚以上の顔の画像に基づいて画像間のオプティカルフローを計算する。そして、処理選択部２２は、オプティカルフローの計算結果に基づいて、各判定部３１〜３３のいずれに判定処理を行わせるかを選択する。そして、報知部３４は、選択された判定部３１〜３３の判定結果に基づいて、運転者に報知するための報知信号を出力する。【選択図】      図２
2005018656.tif 000002
【特許請求の範囲】
【請求項１】
運転者の顔を撮影する撮影手段と、
前記撮影手段により撮影された顔の画像から、運転者の漫然運転を判定する漫然運転判定手段と、
前記撮影手段により撮影された顔の画像から、運転者の脇見運転を判定する脇見運転判定手段と、
前記撮影手段により撮影された顔の画像から、運転者の居眠り運転を判定する居眠り判定手段と、
前記漫然運転判定手段、前記脇見運転判定手段、及び前記居眠り運転判定手段のうちの少なくとも１つの判定結果に基づいて、前記運転者に報知するための報知信号を出力する報知手段と、
前記撮影手段により撮影された２枚以上の顔の画像に基づいて画像間のオプティカルフローを計算する画像処理手段と、
前記画像処理手段の計算結果に応じて、前記漫然運転判定手段、前記脇見運転判定手段、及び前記居眠り運転判定手段のうち少なくとも１つを、判定処理を行わせる対象として選択する処理選択手段と、
を備えることを特徴とする運転者状態検出装置。
【請求項２】
運転者が安全確認を行うべき場所を特定するために、車両の走行状態を検出する車両走行状態検出手段と、
前記車両走行状態検出手段からの検出結果に基づいて、前記撮影手段により撮影された顔の画像から、運転者による安全確認の施行を判定する安全確認判定手段と、を更に備え、
前記報知手段は、前記安全確認判定手段、漫然運転判定手段、前記脇見運転判定手段、及び前記居眠り運転判定手段のうちの少なくとも１つの判定結果に基づいて、前記運転者に報知するための報知信号を出力し、
前記処理選択手段は、前記画像処理手段の計算結果に応じて、前記安全確認判定手段、漫然運転判定手段、前記脇見運転判定手段、及び前記居眠り運転判定手段のうちの少なくとも１つを、判定処理を行わせる対象として選択する
ことを特徴とする請求項１に記載の運転者状態検出装置。
【請求項３】
前記各判定手段は、前記画像処理手段の計算結果に基づいて、判定結果を得ることを特徴とする請求項１又は請求項２のいずれかに記載の運転者状態検出装置。
【請求項４】
前記画像処理手段は、オプティカルフローに基づいて動きベクトルを求め、
前記処理選択手段は、前記画像処理手段により求められた動きベクトルの大きさ、及び所定時間内において所定値以上の大きさを示した動きベクトルの出現頻度に基づいて、判定処理を行わせる対象を選択する
ことを特徴とする請求項１〜請求項３のいずれか１項に記載の運転者状態検出装置。
【請求項５】
前記画像処理手段は、オプティカルフローに基づいて動きベクトルを求め、
前記処理選択手段は、前記画像処理手段により求められた動きベクトルの大きさ、及び所定時間あたりの当該動きベクトルの出現頻度に基づいて、当該動きベクトルが所定時間内に所定値以上出現しなくなったと判断した場合、前記漫然運転判定手段及び前記居眠り判定手段の少なくとも一方を、判定処理を行わせる対象として選択する
ことを特徴とする請求項１〜請求項３のいずれか１項に記載の運転者状態検出装置。
【請求項６】
前記漫然運転判定手段は、
前記撮影手段により撮影された顔の画像全体から、運転者の眼の位置を検出する眼位置検出手段と、
前記眼位置検出手段により検出された顔画像上の眼の位置を基準として、運転者の眼を含む所定領域を画像上に設定し、この所定領域内から眼を追跡していく追跡手段と、
前記追跡手段により追跡される所定領域内の眼の位置を座標値として取得し、この座標値から目の移動量を求めて眼が滞留状態にあるか否かを判定する滞留判定手段と、を有し、
前記画像処理手段による計算結果に加え、前記滞留判定手段により滞留状態にあると判定された場合、その滞留状態が継続する時間に基づいて、運転者の漫然運転を判定する
ことを特徴とする請求項３に記載の運転者状態検出装置。
【請求項７】
前記脇見運転判定手段は、
前記撮影手段により撮影された顔の画像全体から、運転者の眼の位置を検出する眼位置検出手段と、
前記眼位置検出手段により検出された顔画像上の眼の位置を基準として、運転者の眼を含む所定領域を画像上に設定し、この所定領域内から眼を追跡していく追跡手段と、
前記追跡手段により追跡される所定領域内の眼の位置を座標値として取得し、この座標値から眼の移動方向を求めて運転者の眼の視方向を判定する視方向判定手段と、を有し、
前記画像処理手段による計算結果に加え、前記視方向判定手段によって判定された眼の視方向に基づいて、運転者の脇見運転を判定する
ことを特徴とする請求項３に記載の運転者状態検出装置。
【請求項８】
前記居眠り運転判定手段は、
前記撮影手段により撮影された顔の画像全体から、運転者の眼の位置を検出する眼位置検出手段と、
前記眼位置検出手段により検出された顔画像上の眼の位置を基準として、運転者の眼を含む所定領域を画像上に設定し、この所定領域内から眼を追跡していく追跡手段と、
前記追跡手段により追跡される所定領域内の眼についての開閉眼状態を判定する開閉眼判定手段と、を有し、
前記画像処理手段による計算結果に加え、前記開閉眼判定手段による判定結果に基づいて、運転者の脇見運転を判定する
ことを特徴とする請求項３に記載の運転者状態検出装置。
【請求項９】
前記安全確認判定手段は、
前記撮影手段により撮影された顔の画像全体から、運転者の眼の位置を検出する眼位置検出手段と、
前記眼位置検出手段により検出された顔画像上の眼の位置を基準として、運転者の眼を含む所定領域を画像上に設定し、この所定領域内から眼を追跡していく追跡手段と、
前記追跡手段により検出された眼の位置を座標値として取得し、この座標値から眼の移動方向を求めて運転者の眼の視方向を判定する視方向判定手段と、を有し、
前記画像処理手段による計算結果に加え、前記視方向判定手段によって判定された眼の視方向に基づいて、運転者による安全確認の施行を判定する
ことを特徴とする請求項３に記載の運転者状態検出装置。
【請求項１０】
運転者の顔を撮影して得られた２枚以上の顔の画像から、画像間のオプティカルフローを計算し、この計算結果に応じて、運転者の漫然運転、脇見運転及び居眠り運転の運転者状態のうち少なくとも１つを選択し、選択された運転者状態を、撮影により得られた顔の画像に基づいて判定し、得られた判定結果に基づいて運転者に報知するための報知信号を出力することを特徴とする運転者状態検出装置。
【請求項１１】
前記運転者状態は、撮影により得られた顔の画像から求まるオプティカルフローに基づいて、判定されることを特徴とする請求項１０に記載の運転者状態検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、運転者状態検出装置に関する。
【０００２】
【従来の技術】
従来、車両等の移動体を運転している運転者の脇見状態や居眠り状態を検出し、検出された結果に基づいて警報を行う装置が知られている。この装置では、車両走行状況を判断し、脇見運転をし易い走行状況では脇見の予測判断処理を行う一方、居眠り運転をし易い走行状況では居眠りの予測判断処理を行うように、予測判断処理を切換えている。このため、この装置においては、脇見状態と居眠り状態との２つの運転者状態を、車両の走行状況に応じて迅速に切換えて、検出することを可能としている（特許文献１参照）。
【０００３】
【特許文献１】
特開２０００−３２６７５８号公報
【０００４】
【発明が解決しようとする課題】
上記特許文献１に記載の装置では、走行状況によっては、脇見と居眠りとの両方の状態を検出する必要があると判断されてしまう場合がある。しかし、このような場合であっても、従来装置は、いずれか一方の状態に対する処理しか実行できず、走行状況に変化がない場合には、その処理を実行し続けることとなる。
【０００５】
【課題を解決するための手段】
本発明によれば、運転者状態検出手段は、運転者の顔を撮影する撮影手段と、前記撮影手段により撮影された顔の画像から、運転者の漫然運転を判定する漫然運転判定手段と、運転者の脇見運転を判定する脇見運転判定手段と、運転者の居眠り運転を判定する居眠り判定手段と、漫然運転判定手段、脇見運転判定手段、及び居眠り運転判定手段のうちの少なくとも１つの判定結果に基づいて、前記運転者に報知するための報知信号を出力する報知手段と、を備えており、更に、前記撮影手段により撮影された２枚以上の顔の画像に基づいて画像間のオプティカルフローを計算する画像処理手段と、画像処理手段の計算結果に応じて、漫然運転判定手段、脇見運転判定手段、及び居眠り運転判定手段のうち少なくとも１つを、判定処理を行わせる対象として選択する処理選択手段と、を備えている。
【０００６】
【発明の効果】
本発明によれば、２枚以上の顔の画像に基づいてオプティカルフローを計算し、計算結果に応じて検出対象を選択している。このオプティカルフローを検出する手法では、画像内の物体等の動きをとらえることができる。すなわち、運転者の顔の動きをとらえることができる。従って、顔の動きに基づいて検出すべき対象を適切に選択できることとなり、一定の走行状況が継続するような場合であっても、複数の対象を検出することができる。
【０００７】
【発明の実施の形態】
以下、本発明の好適な実施形態を図面に基づいて説明する。
【０００８】
図１は、本発明の第１実施形態に係る運転者状態検出装置の構成図である。同図に示すように、本実施形態の運転者状態検出装置１は、運転者状態としての脇見及び居眠りなどを複数の運転者状態のうち、状況に応じて検出すべき運転者状態を選択する機能を有するものである。
【０００９】
この運転者状態検出装置１は、車両の運転者の顔を撮影する撮影部（撮影手段）１０、及び撮影部１０により撮影された顔の画像（以下、顔画像という）に基づいて、検出すべき運転者状態を選択する運転者状態判定処理選択装置２０を備えている。さらに、運転者状態検出装置１は、撮影部１０により撮影された顔画像に基づき、運転者状態を判定する運転者状態判定装置３０、及び運転者状態判定装置３０による判定結果に基づき、運転者に報知するための報知動作を行う報知器４０を備えている。
【００１０】
具体的に上記撮影部１０は、例えば可視光を撮影するためのＣＣＤカメラなどであり、運転者の正面下方に設置される。また、運転者状態判定装置３０は、運転者状態として、運転者の漫然運転、脇見運転、及び居眠り運転を判定するものである。よって、運転者状態判定処理選択装置２０は、これら３つの運転者状態から、検出すべきものを選択して、運転者状態判定装置３０に検出すべき運転者状態の指令を行う。
【００１１】
次に、本装置１の詳細構成、特に運転者状態判定処理選択装置２０及び運転者状態判定装置３０を図２を参照して説明する。図２は、本発明の第１実施形態に係る運転者状態検出装置１の詳細構成図である。
【００１２】
同図に示すように、上記運転者状態判定処理選択装置２０は、画像処理部（画像処理手段）２１と、処理選択部（処理選択手段）２２とを備えている。画像処理部２１は、撮影部１０により撮影された２枚以上の顔の画像に基づいて画像間のオプティカルフローを計算するものである。詳しくは、画像処理部２１は、撮影部１０から画像データを順次入力し、それら画像データの少なくとも２枚分から、濃度差等に基づいて、画像内の物体の動き方向及び動きの速度を表すオプティカルフローを計算するものである。
【００１３】
このオプティカルフローとは画像内の各領域における移動量等を表すものである。具体的に、オプティカルフローは、画像の所定箇所に存在した顔部位等が、後の画像においてどの方向にどれだけ速度で移動したかを表すものである。すなわち、オプティカルフローは、大きさ及び向きの情報を含むものである。
【００１４】
ここで、オプティカルフローの検出に当たっては、顔画像上に所定の位置及び大きさで設定される参照領域及び探索領域に基づいて行われる。図３は、参照領域及び探索領域の説明図である。なお、参照領域が或る時刻の画像上に設定されるとすると、探索領域はその時刻よりも後の画像に設定されるものであるが、図３においては、便宜上、幅ｗ画素，高さｈ画素の１つの画像上に表して説明する。
【００１５】
同図に示すように、参照領域は、（ｔｘ，ｔｙ）の位置に設定される幅ｔｗ画素，高さｔｈ画素の領域である。また、探索領域は、（ｓｘ，ｓｙ）の位置に設定される幅ｓｗ画素，高さｓｈ画素の領域である。この探索領域は、各参照領域を取り囲んで設定されるものであり、参照領域と同じ数だけ設定される。また、この参照領域及び探索領域は、それぞれ大きさが異なるものの、中心位置に関しては特定の点Ｏで一致している。
【００１６】
このように、これら両領域は中心を等しくし、ｓｗ＞ｔｗ且つｓｈ＞ｓｗの関係となるように設定される。なお、ここでの参照領域及び探索領域は、被検出者の顔の位置等に依存せず、予め定められた位置及び大きさで設定される。
【００１７】
また、参照領域は、規則的に配置されることが望ましい。図４は、顔画像に規則的に配置される参照領域の説明図である。参照領域は、例えば図４（ａ）に示すように、顔画像上の横方向に複数（例えば７つ）配置される。また、図４（ｂ）に示すように、参照領域は、顔画像上に格子状に複数（例えば５行７列）配置される。さらには、図４（ｃ）に示すように、参照領域は、横方向に且つ格子状に複数（例えば３行５列に加え、さらに横方向に２つの計１７）配置されてもよい。
【００１８】
また、さらに参照領域は、撮影部１０の設置位置や画角、及び顔画像のサイズ等に基づいて、予め目、鼻又は口等の顔部位程度の大きさに固定的に設定されることが望ましい。
【００１９】
また、画像処理部２１は、オプティカルフローに基づいて動きベクトルを求めるものである。ここで、動きベクトルとは、オプティカルフローから所定の演算に従って、領域グループ毎に求められるものであり、領域グループ内の物体等の移動を示すものである。
【００２０】
所定の演算については後述することとし、以下、図５を参照して、領域グループについて説明する。図５は、領域グループの説明図である。なお、図５において参照領域は顔画像上に格子状（５行７列）に配置されているものとする。
【００２１】
まず、領域グループは、１つ以上の参照領域を含んで顔画像上に定められるものである。例えば、図５に示す例において、領域グループＡ〜Ｉはそれぞれ９つの参照領域を含むようにされている。具体的に領域グループＡ〜Ｉは３行３列分の参照領域を含み、領域グループＡは、１〜３行目の１〜３列目の参照領域を含んでいる。
【００２２】
また、領域グループＢ〜Ｄは、それぞれ１〜３行目の５〜７列目、３〜５行目の１〜３列目、３〜５行目の５〜７列目の参照領域を含んでいる。また、領域グループＥ〜Ｆは、それぞれ１〜３行目の３〜５列目、３〜５行目の３〜５列目の参照領域を含んでいる。さらに、領域グループＧ〜Ｉは、２〜４行目の２〜４列目、２〜４行目の４〜６列目、２〜４行目の３〜５列目の参照領域を含んでいる。
【００２３】
処理選択部２２は、画像処理部２１の計算結果に応じて、検出すべき運転者状態を選択し、選択した運転者状態の情報を運転者状態判定装置３０に送出するものである。すなわち、処理選択部２２は、画像処理部２１の計算結果に応じて、漫然運転、脇見運転及び居眠り運転のうち少なくとも１つを、判定処理を行わせる対象として選択し、その選択結果を運転者状態判定装置３０に送出するものである。
【００２４】
ここで、上記計算結果とは動きベクトルを意味するものである。すなわち、処理選択部２２は、動きベクトルに基づいて、判定処理を行わせる対象を選択するものである。より具体的に処理選択部２２は、動きベクトルの大きさや出現頻度に基づいて、判定処理を行わせる対象を選択するものである。なお、処理選択部２２は、動きベクトルでなく、オプティカルフローから直接に判定対象を選択するようにしてもよい。
【００２５】
また、上記運転者状態判定装置３０は、漫然運転判定部（漫然運転判定手段）３１と、脇見運転判定部（脇見運転判定手段）３２と、居眠り運転判定部（居眠り運転判定手段）３３と、報知部（報知手段）３４とを備えている。
【００２６】
漫然運転判定部３１は、撮影部１０により撮影された顔の画像から、運転者の漫然運転を判定するものである。また、脇見運転判定部３２は、撮影部１０により撮影された顔の画像から、運転者の脇見運転を判定するものである。また、居眠り運転判定部３３は、撮影部１０により撮影された顔の画像から、運転者の居眠り運転を判定するものである。
【００２７】
具体的に説明すると、漫然運転判定部３１は、眼位置検出機能（眼位置検出手段）と、追跡機能（追跡手段）と、滞留判定機能（滞留判定手段）とを有している。眼位置検出機能は、撮影部１０により撮影された顔の画像全体から、運転者の眼の位置を検出する機能である。すなわち、漫然運転判定部３１は、撮影部１０により撮影された顔画像のデータを処理選択部２２を介して、入力する。そして、眼位置検出機能により、画像全体から運転者の眼の位置を検出する。
【００２８】
また、追跡機能とは、眼位置検出機能により検出された顔画像上の眼の位置を基準として、運転者の眼を含む追跡領域（所定領域）を画像上に設定し、さらに、この追跡領域内から眼を追跡していく機能である。
【００２９】
ここで、追跡領域とは、顔画像上に設定された画像全体よりも小さい領域であって、顔画像から運転者の眼の位置を容易に探すために設けられたものである。すなわち、漫然運転判定部３１は、この追跡領域が設定されているときは、追跡領域内から運転者の眼を探索することなる。一方、追跡領域が設定されていない場合には、画像全体から運転者の眼の位置を探すこととなる。
【００３０】
なお、追跡領域は、眼を含む小さな領域として設定されるため、画像全体からの眼の位置を検出する場合に比べ、画像解像度を上げることができ、眼の位置の検出精度を向上させることができる。
【００３１】
また、追跡領域の大きさについては、眼の移動量を許容するように設定することで、眼を常に同領域内に捕らえることができる。この場合、眼の移動量を許容するように、眼の移動速度を１フレーム間で動く移動量に置き換えるなどの処理が必要となる。なお、上記許容する範囲の具体例としては、運転者が顔を所定方向に−４０°〜４０°程度動かしたときの範囲である。
【００３２】
また、滞留判定機能とは、追跡機能により追跡される追跡領域内の眼の位置を座標値として取得し、この座標値から目の移動量を求めて眼が滞留状態にあるか否かを判定する機能である。例えば、漫然運転判定部３１は、所定の閾値を記憶しており、取得した座標値から求めた移動量が当該閾値を超えるか否かを判断する。そして、閾値以下となった場合には、眼が滞留状態にあると判定する。
【００３３】
このような機能を備えるため、漫然運転判定部３１は、滞留判定機能により滞留状態にあると判定された場合、その滞留状態が継続する時間に基づいて、運転者の漫然運転を判定する。すなわち、滞留判定機能により眼が滞留していると判定されると、計時を開始して滞留状態の継続時間を測定する。そして、測定時間が所定時間以上となった場合に、運転者が漫然運転をしていると判定する。
【００３４】
また、脇見運転判定部３２は、眼位置検出機能（眼位置検出手段）と、追跡機能（追跡手段）と、視方向判定機能（視方向判定手段）とを有している。ここで、眼位置検出機能と追跡機能とは、漫然運転判定部３１のものと同じである。
【００３５】
視方向判定機能は、追跡機能により追跡される追跡領域内の眼の位置を座標値として取得し、この座標値から眼の移動方向を求めて運転者の眼の視方向を判定する機能である。
【００３６】
そして、脇見運転判定部３２は、これら機能に基づいて脇見運転を判定する。すなわち、脇見運転判定部３２は、判定された眼の視方向に基づいて、運転者の脇見運転を判定する。例えば、運転者が明らかに下側（灰皿の設置位置など）を視認している場合などには、脇見運転を判定する。
【００３７】
また、居眠り運転判定部３３は、眼位置検出機能（眼位置検出手段）と、追跡機能（追跡手段）と、開閉眼判定機能（開閉眼判定手段）とを有している。ここで、眼位置検出機能と追跡機能とは、漫然運転判定部３１のものと同じである。
【００３８】
開閉眼判定機能は、追跡機能により追跡される追跡領域内の眼についての開閉眼状態を判定する機能である。ここでの開閉眼判定は、例えば眼の縦幅に基づいて行われる。
【００３９】
そして、居眠り運転判定部３３は、開閉眼判定機能による判定結果に基づいて、居眠り運転を判定する。その後、居眠り運転判定部３３は、眼の閉状態の継続時間などに基づいて、運転者の居眠り運転を判定する。
【００４０】
なお、これら各判定部３１〜３３の詳細は、例えば特開平８−２０７６１７号公報、特開平１０−４０３６１号公報、特開平１０−４４８２４号公報、及び特開平１１−３３９２００号公報にも記載されている。
【００４１】
また、上記各部３１〜３３は、処理選択部２２を介して、画像処理部２１に接続されている。このため、各判定部３１〜３３は、画像処理部２１の計算結果が入力可能とされている。故に、各判定部３１〜３３は、座標データに基づいて運転者の脇見運転等を判定する構成に限らず、画像処理部２１による計算結果に基づいて運転者の脇見運転等を判定する構成とされていてもよい。なお、ここでの計算結果とは、動きベクトル又はオプティカルフローを意味するものである。
【００４２】
報知部３４は、漫然運転判定部３１、脇見運転判定部３２、及び居眠り運転判定部３３のうちの少なくとも１つの判定結果に基づいて、運転者に報知するための報知信号を、報知器４０に出力するものである。ここで、処理選択部２２は、各判定部３１〜３３のうち少なくとも１つを選択する。このため、報知器４０は、各判定部３１〜３３のうち処理選択部２２に選択されたものの判定結果を入力することとなる。また、入力した判定結果に基づいて報知すべきであると判断した場合、報知信号を出力することとなる。
【００４３】
なお、上記各判定部３１〜３３それぞれは、眼位置検出機能及び追跡機能の双方を備える点で共通している。このため、これら機能を運転者状態判定装置３０に持たせ、各判定部３１〜３３は、それぞれ共通しない滞留判定機能、視方向判定機能、及び開閉眼判定機能のみを有するようにされていてもよい。
【００４４】
次に、本装置１の動作の概略を説明する。なお、ここでは、各判定部３１〜３３は、眼位置検出機能等に基づいて各運転者状態を判定するものとする。
【００４５】
まず、撮影部１０により運転者の顔を含む画像が撮影され、その画像が画像処理部２１に入力される。入力後、画像処理部２１は、撮影部１０にて得られた少なくとも２枚の顔画像から、参照領域及び探索領域に基づいてオプティカルフローを検出する。
【００４６】
具体的に、時刻ｔと時刻（ｔ＋１）における顔画像からオプティカルフローを検出する場合、画像処理部２１は、時刻ｔにおける顔画像上に参照領域を設定する。また、画像処理部２１は、時刻（ｔ＋１）における顔画像上に探索領域を設定する。
【００４７】
その後、画像処理部２１は、探索領域内から参照領域に最も類似する位置を求める。そして、参照領域の位置と最も類似する位置との差をオプティカルフローとして検出する。このため、オプティカルフローは、参照領域毎に求められることとなり、参照領域はオプティカルフローの計算領域として機能する。
【００４８】
オプティカルフローの検出後、画像処理部２１は、顔の動きベクトルを求める。ここで、画像処理部２１は、オプティカルフローから所定の演算に従って、領域グループ毎に求める。
【００４９】
動きベクトルの検出後、画像処理部２１は、検出した顔の動きベクトルの情報を処理選択部２２に送信する。そして、処理選択部２２は、動きベクトルから検出すべき運転者状態を選択する。すなわち、各判定部３１〜３３のうち少なくとも１つを、判定処理を行わせる対象として選択する。
【００５０】
ここで、選択されたものが脇見運転判定部３２であるとすると、脇見運転判定部３２は、顔画像から眼の位置を検出し、その位置情報に基づき、脇見運転をしているか否かを判定する。
【００５１】
判定後、脇見運転判定部３２は、判定結果を報知部３４に送出する。報知部３４は、判定結果が脇見運転を示すものである場合、報知信号を報知器４０に出力する。
【００５２】
なお、上記動作は、脇見運転判定部３２の他の漫然運転判定部３１及び居眠り運転判定部３３が選択された場合も同様にして行われる。
【００５３】
次に、上記各判定部３１〜３３が画像処理部２１による計算結果に基づいて運転者の脇見運転等を判定する場合を、図６を参照して説明する。図６は、本実施形態に係る運転者状態検出装置１の各判定部３１〜３３が画像処理部２１による計算結果に基づいて運転者の脇見運転等を判定する場合の動作の概略を示すデータフローダイヤグラムである。
【００５４】
まず、撮影部１０により運転者の顔を含む画像が撮影され（図６ａに示す画像）、その画像が画像処理部２１に入力される。入力後、画像処理部２１は、撮影部１０により撮影された２枚以上の顔の画像に基づいて画像間のオプティカルフローを計算する（図６ｂ）。また、動きベクトルを求める場合は、さらに計算を実行して領域グループ毎に、動きベクトルを求める。
【００５５】
そして、処理選択部２２は、画像処理部２１の計算結果に基づいて、各判定部３１〜３３のうち判定処理を行わせるものを選択する。ここで、脇見運転の判定処理を行わせると選択した場合、脇見運転判定部３２は、画像処理部２１の計算結果に基づいて、動きパターンを求める（図６ｃ）。この動きパターンとは、オプティカルフロー（動きベクトル）から得られる運転者の顔の動きを時系列的なデータとして現したものである。
【００５６】
また、動きパターンは、運転者が脇見行為をする場合、例えば画像横方向に大きな移動量を示すなどの特徴を有しており、ある程度限られたものとなる。このため、本装置１に特徴的な動きを記憶パターンとして記憶させておき、求めた動きパターンと予め記憶される記憶パターン（図６ｄ）とを照合することにより、脇見行為を判定することができる（図６ｅ）。そして、脇見運転判定部３２は、判定した結果を報知部３４に出力する。
【００５７】
その後、報知部３４は、脇見運転判定部３２により判定された結果が脇見運転を示すものである場合、運転者に報知すべく、報知器４０に報知信号を出力する。
【００５８】
次に、本装置１の詳細な動作の一例を説明する。図７は、本実施形態に係る運転者状態検出装置１の詳細な動作の一例を示すフローチャートである。なお、図７において、各判定部３１〜３３は、眼の座標データに基づいて各運転者状態を判定するものとする。故に各判定部３１〜３３は、画像処理部２１の計算結果によらず判定を行うこととなる。
【００５９】
まず、撮影部１０は、運転者の顔を撮影し、得られた顔画像のデータを画像処理部２１及び処理選択部２２に送出する。そして、処理選択部２２は、顔画像のデータを運転者状態判定装置３０に出力する（ＳＴ１０）。
【００６０】
その後、運転者状態判定装置３０は、眼の追跡領域が存在するか否かを判断する（ＳＴ１１）。眼の追跡領域が設定されていると判断した場合（ＳＴ１１：ＹＥＳ）、処理はステップＳＴ１４に移行する。
【００６１】
一方、眼の追跡領域が設定されていないと判断した場合（ＳＴ１１：ＮＯ）、運転者状態判定装置３０は、画像全体から眼の位置を検出する（ＳＴ１２）。そして、運転者状態判定装置３０は、眼の位置のデータを取得する。
【００６２】
その後、運転者状態判定装置３０は、眼の位置のデータに基づいて、追跡領域を設定する（ＳＴ１３）。そして、運転者状態判定装置３０は、新たに入力される顔画像については追跡領域内から眼を検出する（ＳＴ１４）。その後、運転者状態判定装置３０は、眼の追跡が正しく行われているか否かを判断する（ＳＴ１５）。
【００６３】
眼の追跡が正しく行われていないと判断した場合（ＳＴ１５：ＮＯ）、運転者状態判定装置３０は、眼の追跡領域をクリアし（ＳＴ１６）、処理はステップＳＴ１０に戻る。この場合、再度追跡領域の設定が行われることとなる。
【００６４】
一方、眼の追跡が正しく行われていると判断した場合（ＳＴ１５：ＹＥＳ）、処理選択部２２は、動きベクトルの出現頻度が所定値未満か否かを判断する（ＳＴ１７）。
【００６５】
なお、ステップＳＴ１７の処理が実行されるまでに、以下の処理が並行して実行されている。すなわち、この間に画像処理部２１は、オプティカルフローに基づいて、領域グループ毎に動きベクトルを算出する（ＳＴ１８）。そして、画像処理部２１は、領域グループ毎に動きベクトルのうち、所定値以上の大きさを示す動きベクトルについての出現頻度をメモリする（ＳＴ１９）。なお、メモリされる出現頻度の情報は、所定時間分だけである。このため、所定時間経過後、メモリされた出現頻度の情報は、一度消去されることとなる。また、消去せずとも、メモリされた出現頻度の情報のうち所定時間超過分を順次に消去していくようにしてもよい。
【００６６】
その後、処理選択部２２は、動きベクトルの出現頻度が所定値未満か否かを判断することができる。ここで、動きベクトルの出現頻度が所定値未満であると判断した場合（ＳＴ１７：ＹＥＳ）、処理選択部２２は、漫然運転判定部３１及び居眠り運転判定部３３を選択する。一方、動きベクトルの出現頻度が所定値未満でないと判断した場合（ＳＴ１７：ＮＯ）、処理選択部２２は、脇見運転判定部３２を選択する。
【００６７】
このように、処理選択部２２は、画像処理部２１により求められた動きベクトルの大きさ、及び所定時間あたりの所定値以上の大きさを示した動きベクトルについての出現頻度に基づいて、判定処理を行わせる対象を選択している。
【００６８】
ここで、処理選択部２２が漫然運転判定部３１及び居眠り運転判定部３３を選択した場合、まず、漫然運転判定部３１は、追跡されている眼の位置に基づき漫然運転検出処理を実行する（ＳＴ２０）。すなわち、漫然運転判定部３１は、滞留判定機能により、追跡領域内の眼の位置を座標値として取得し、この座標値から目の移動量を求めて眼が滞留状態にあるか否かを判定する。
【００６９】
その後、漫然運転判定部３１は、判定された眼の滞留状態が継続する時間に基づいて、運転者の漫然運転を判定する（ＳＴ２１）。なお、この処理においては、漫然度たる指標を用いて漫然運転か否かを判定するとより明確に処理を行うことができる。
【００７０】
漫然運転をしていないと判断した場合（ＳＴ２１：ＮＯ）、処理はステップＳＴ１０に戻る。一方、漫然運転をしていると判断した場合（ＳＴ２１：ＹＥＳ）、居眠り運転判定部３３は、追跡されている眼の位置の開閉眼状態に基づき居眠り運転検出処理を実行する（ＳＴ２２）。すなわち、居眠り運転判定部３３は、開閉眼判定機能により、追跡領域内の眼についての開閉眼状態を判定する。
【００７１】
そして、居眠り運転判定部３３は、開閉眼判定機能による判定結果に基づいて、居眠り運転を判定する（ＳＴ２３）。居眠り運転をしていないと判断した場合（ＳＴ２３：ＮＯ）、報知部３４は、運転者へ注意喚起をすべく、報知信号を出力する。そして、報知器４０は、報知音などを出力することとなる（ＳＴ２４）。このとき、運転者は居眠りではないものの漫然運転をしているため、報知器４０は運転者に漫然運転であることを気づかせるだけで、違和感の少ない警報音を出力することとなる。その後処理はステップＳＴ１０に戻る。
【００７２】
一方、居眠り運転をしていると判断した場合（ＳＴ２３：ＹＥＳ）、報知部３４は、運転者へ注意喚起をすべく、報知信号を出力する。そして、報知器４０は、報知音などを出力することとなる（ＳＴ２５）。このとき、運転者は居眠り運転をしているため、報知器４０は覚醒効果を伴う警報音を出力することとなる。その後処理はステップＳＴ１０に戻る。
【００７３】
ところで、処理選択部２２が脇見運転判定部３２を選択した場合、脇見運転判定部３２は、追跡されている眼の位置に基づき脇見検出処理を実行する（ＳＴ２６）。すなわち、脇見運転判定部３２は、視方向判定機能により、追跡領域内の眼の位置を座標値として取得し、この座標値から眼の移動方向を求めて運転者の眼の視方向を判定する。
【００７４】
その後、脇見運転判定部３２は、判定された眼の視方向に基づいて、運転者が脇見運転をしているか否かを判断する（ＳＴ２７）。脇見運転をしていないと判断した場合（ＳＴ２７：ＮＯ）、処理はステップＳＴ１０に戻る。一方、脇見運転をしていると判断した場合（ＳＴ２７：ＹＥＳ）、処理はステップＳＴ２５にを経て、その後ステップＳＴ１０に戻る。
【００７５】
次に、オプティカルフローの算出処理について詳細に説明する。なお、この処理は、オプティカルフローによる動きベクトル算出処理（ステップＳＴ１８）の前段で行われる処理である。
【００７６】
図８は、図７に示したオプティカルフローによる動きベクトル算出処理（ステップＳＴ１８）の詳細なフローチャートである。まず、画像処理部２１は、顔画像にスムージングフィルタを適応し、所定の式にて画素値を変換する（ＳＴ３０）。ここで、スムージングフィルタは、以下に示す５行５列からなるフィルタである。
【００７７】
【数１】
2005018656.tif 000003
所定の式は、以下に示すものである。
【００７８】
【数２】
2005018656.tif 000004
なお、ｄ（ｘ，ｙ）は、顔画像内の任意位置の画素値であり、ｄ’（ｘ，ｙ）は変換後の画素値である。
【００７９】
その後、画像処理部２１は、現在の顔画像の探索領域内から、前回の顔画像内の参照領域に最も類似する位置を求めて、移動量（ｘｄ，ｙｄ）、すなわちオプティカルフローを算出する（ＳＴ３１）。
【００８０】
具体的には、画像処理部２１は、まず、探索領域内から参照領域に最も類似する領域を求め、最も類似する領域の中心点を、参照領域に最も類似する位置とする。そして、画像処理部２１は、求められた最も類似する領域の中心点と、探索領域の中心点とから移動量（ｘｄ，ｙｄ）を算出し、オプティカルフローとする。
【００８１】
ここで、ステップＳＴ３１について詳細に説明する。上述したように、顔画像上には予め参照領域が設定されている。また、探索領域は参照領域を取り囲むように設定される。また、参照領域と探索領域とは時間を異にして設定される。具体的には、図９に示すように、参照領域は時刻ｔにおいて設定され、探索領域は時刻ｔ後の時刻（ｔ＋１）において設定される。
【００８２】
図９は、図８に示すステップＳＴ３１における移動量（ｘｄ，ｙｄ）の算出方法の説明図である。ステップＳＴ３１の処理において、画像処理部２１は、まず、時刻ｔ＋１の探索領域内に候補領域を作成する。この候補領域は、参照領域と同じ大きさを有する領域である。具体的には、探索領域内の任意の位置を（ｘｄ，ｙｄ）とした場合、−（ｓｗ−ｔｗ）／２＜ｘｄ＜（ｓｗ−ｔｗ）／２、且つ、−（ｓｈ−ｔｈ）／２＜ｙｄ＜（ｓｈ−ｔｈ）の範囲から切り出した領域である。
【００８３】
画像処理部２１は、探索領域内の所定箇所に上記のような候補領域を設定し、設定した候補領域と参照領域とを比較等して、類似度を求める。次に、画像処理部２１は、候補領域を他の位置に動かし、動かした位置の候補領域と参照領域とを比較等して類似度を求める。
【００８４】
その後、画像処理部２１は、候補領域を順次移動させていき、探索領域内での各箇所において参照領域との類似度を算出する。類似度は、例えば、濃淡データを基準に判断される。ここで、濃淡データを基準に類似度を算出する場合において、類似度をｃｏｓθとすると、類似度は以下の式にて表される。
【００８５】
【数３】
2005018656.tif 000005
上式においては、参照領域の濃淡データをＴとし、候補領域の濃淡データをＳとしている。また、ｘｄは、探索領域内のＸ座標値を示し、ｙｄは、探索領域内のＹ座標値を示している。
【００８６】
以上から、画像処理部２１は、類似度が最大となる位置Ｓを定め、点Ｓと点Ｏとの座標値の差を移動量（ｘｄ，ｙｄ）として取得し、これをオプティカルフローとする。
【００８７】
再度、図８を参照して説明する。移動量（ｘｄ，ｙｄ）の算出後、画像処理部２１は、類似度の範囲が閾値以上か否かを判断する（ＳＴ３２）。すなわち、画像処理部２１は、まず、候補領域によって探索領域内を走査していき、探索領域内の各箇所の類似度を算出する。その後、画像処理部２１は、得られた類似度の分散を求め、この分散により類似度の範囲が閾値以上か否かを判断する。
【００８８】
ここで、類似度の範囲が小さい場合とは、探索領域内の各箇所において、同じような類似度が検出される場合である。例えば、参照領域が真っ白な画像である場合など、特徴が少ない場合には探索領域内のどの箇所と比較しても似たような類似度の結果が得られることとなる。そして、このような場合、それぞれ類似度の差が小さいことから、類似度が最大となる点Ｓの検出が不正確になりやすい。このため、図８のステップＳＴ３２の処理では、所定の閾値と比較し、好適なものと不適なものとの選別するようにしている。
【００８９】
類似度の範囲が閾値以上であると判断した場合（ＳＴ３２：ＹＥＳ）、画像処理部２１は、参照領域を有効な領域とし、ｆｄに「１」を代入する（ＳＴ３３）。そして、処理はステップＳＴ３５に移行する。
【００９０】
一方、類似度の範囲が閾値以上でないと判断した場合（ＳＴ３２：ＮＯ）、画像処理部２１は、参照領域を無効な領域とし、ｆｄに「０」を代入する（ＳＴ３４）。そして、処理はステップＳＴ３５に移行する。このように、画像処理部２１は、特徴量としての類似度の変化量と、予め設定される閾値とを比較することにより、動きベクトルの計算に用いるか否かを判断している。
【００９１】
ステップＳＴ３５において、画像処理部２１は、領域の数だけ上記のステップＳＴ３１〜ＳＴ３４を行ったか否かを判断する（ＳＴ３５）。すなわち、画像処理部２１は、すべての参照領域について、探索領域内から類似する位置を特定したか否かを判断している。
【００９２】
いずれかの参照領域について、探索領域内から類似する位置を特定していないと判断した場合（ＳＴ３５：ＮＯ）、処理はステップＳＴ３１に戻り、類似する位置を特定していない参照領域について、上記ステップＳＴ３１〜ＳＴ３４の処理を繰り返すこととなる。
【００９３】
一方、すべての参照領域について、探索領域内から類似する位置を特定したと判断した場合（ＳＴ３５：ＹＥＳ）、画像処理部２１は、図１１に示す処理を実行する。
【００９４】
なお、オプティカルフローの計算方法は本実施形態の他に、八木信行監修，  ”ディジタル映像処理”，  映像情報メディア学会編，  ｐｐ．１２９−１３９，  ２０００，  オーム社  などにて動画像から動きを検出する手法が複数紹介されていおり、それらを用いることもできる。
【００９５】
ここで、オプティカルフローの検出例を説明する。図１０は、運転者が左方向に顔の向きを変える場合のオプティカルフローの例を示す説明図であり、（ａ）は時刻ｔにおけるオプティカルフローの例を示し、（ｂ）は時刻（ｔ＋１）におけるオプティカルフローの例を示し、（ｃ）は時刻（ｔ＋２）におけるオプティカルフローの例を示し、（ｄ）は時刻（ｔ＋３）におけるオプティカルフローの例を示している。
【００９６】
まず、図１０を参照して説明する。時刻ｔにおいて運転者は前方を視認している（図１０（ａ））。その後、時刻（ｔ＋１）において、運転者は交差点の確認等を行うべく、顔を左方に向ける。このとき、オプティカルフローが検出される（図１０（ｂ））。ここで、画像中の四角で表示されている領域は、参照領域であり、各参照領域から伸びる線分は、各部位の移動量、すなわちオプティカルフローを示している。
【００９７】
その後、時刻（ｔ＋２）において、運転者は顔をさらに左方に向ける。このときも同様に、オプティカルフローが検出される（図１０（ｃ））。そして、時刻（ｔ＋３）において運転者は顔を左上方に向けると、同様にオプティカルフローが検出される（図１０（ｄ））。
【００９８】
なお、図１０中において、参照領域を示す四角枠が実線にて図示されているものは、図８のステップＳＴ１２にて「ＮＯ」と判断され、無効領域とされた参照領域であり、四角枠が破線にて図示されているものは、図８のステップＳＴ１２にて「ＹＥＳ」と判断され、有効領域とされた参照領域である。
【００９９】
次に、動きベクトルの検出処理について詳細に説明する。なお、この処理は、オプティカルフローによる動きベクトル算出処理（ステップＳＴ１８）の後段で行われる処理である。
【０１００】
図１１は、図７に示したオプティカルフローによる動きベクトル算出処理（ステップＳＴ１８）の詳細なフローチャートである。まず、画像処理部２１は、領域グループが複数存在する場合には、複数の領域グループのうち処理の対象となるものを選択し、その領域グループの移動量に関する数値ｘ，ｙ，ｃを「０」に初期化する（ＳＴ２０）。その後、画像処理部２１は、選択した領域グループ内の参照領域のうちいずれか１つを選択する。
【０１０１】
そして、画像処理部２１は、選択した参照領域が有効領域であるか否か、すなわちｆｄが「１」であるか否かを判断する（ＳＴ３１）。ｆｄが「１」であると判断した場合（ＳＴ３１：ＹＥＳ）、画像処理部２１は、図８に示す処理において求めた移動量（ｘｄ，ｘｙ）を積算する（ＳＴ３２）。具体的に、画像処理部２１は、「ｘ」を「ｘ＋ｘｄ」とし、「ｙ」を「ｙ＋ｙｄ」とし、「ｃ」を「ｃ＋１」とする。そして、処理はステップＳＴ３３に移行する。
【０１０２】
一方、ｆｄが「１」でないと判断した場合（ＳＴ３１：ＮＯ）、画像処理部２１は、移動量（ｘｄ，ｘｙ）を積算することなく、処理はステップＳＴ２３に移行する。
【０１０３】
ステップＳＴ３３において、画像処理部２１は、選択した領域グループ内のすべての参照領域について処理したか否かを判断する（ＳＴ３３）。いずれかの参照領域について処理をしてないと判断した場合（ＳＴ３３：ＮＯ）、処理はステップＳＴ３１に戻り、上記ステップＳＴ３１，ＳＴ３２を繰り返すこととなる。すなわち、画像処理部２１は、すべての参照領域について有効領域か否かを判断し、有効領域である場合には、移動量を積算するという処理を行っていく。
【０１０４】
そして、順次移動量の積算等が行われ、すべての参照領域について処理した場合（ＳＴ３３：ＹＥＳ）、画像処理部２１は、ｃが「０」であるか否かを判断する（ＳＴ３４）。
【０１０５】
「ｃ」が「０」であると判断した場合（ＳＴ３４：ＹＥＳ）、処理はステップＳＴ３６に移行する。一方、「ｃ」が「０」でないと判断した場合（ＳＴ３４：ＮＯ）、画像処理部２１は、積算した「ｘ」「ｙ」についての平均を求める（ＳＴ３５）。すなわち、画像処理部２１は、「ｘ＝ｘ／ｃ」及び「ｙ＝ｙ／ｃ」を実行し、平均移動量を求める。
【０１０６】
平均移動量の算出後、画像処理部２１は、求めた平均移動量について、移動平均（ａｘ，ａｙ）を求める（ＳＴ３６）。ここで得られた移動平均が、各領域グループの動きベクトルとなり、移動平均のｘ方向成分ａｘが動きベクトルのｘ方向成分となり、移動平均のｙ方向成分ａｙが動きベクトルのｙ方向成分となる。なお、移動平均を求める範囲は任意に定められている。
【０１０７】
ここで、ステップＳＴ３６の平均化処理は、以下の理由により行っている。まず、前顔画像と現顔画像の間で求めた参照領域の移動量（ｘｄ，ｘｙ）は、時間微分した単位時間の移動、つまり速度ベクトルを表しているといえる。そして、理論上、速度ベクトルを順次積算していくと、移動した後の顔部位等の位置を示すことができる。
【０１０８】
しかし、動きベクトルは揺らぎやノイズ等を含むことが多く、１つの参照領域の移動量（ｘｄ，ｘｙ）を順次積算しても、移動後の位置を正確に求めることはできない。例えば、運転者の顔が中央から右を向いて中央に戻る場合、移動量（ｘｄ，ｘｙ）の積算値を求めると、右を向くときの移動量（ｘｄ，ｘｙ）の積算値と、中央に戻る時のときの移動量（ｘｄ，ｘｙ）の積算値とはノイズ等の影響により一致しない。このため、右を向き始めるとき（動作開始時）と、顔が正面に戻ったとき（動作終了時）とで顔部位等の位置がずれて検出されることがわかっている。そこで、領域グループ毎に移動量（ｘｄ，ｘｙ）の平均を求め、さらにその移動平均を求めることでノイズ等の影響を低減するようにしている。
【０１０９】
ここで、図８に示すように画像処理部２１は、この動きベクトルのうち所定値以上のものの出現頻度をメモリしているが、検出等の精度向上を図るべく、以降の処理を実行し、動きベクトルに基づく移動量（後述する）を検出してメモリするようにしてもよい。以下にその手法を示す。
【０１１０】
その後、画像処理部２１は、ステップＳＴ３６にて求めた領域グループの動きベクトル（ａｘ，ａｙ）を積算する（ＳＴ３７）。具体的に、画像処理部２１は、「ｓｘ」を「ｓｘ＋ａｘ」とし、「ｓｙ」を「ｓｙ＋ａｙ」とする。ここで、領域グループの動きベクトルを積算するため、得られる（ｓｘ、ｓｙ）は、領域グループにおいて顔部位等が動いた量を積算したもの、すなわち現在位置を示すものとなる。
【０１１１】
その後、画像処理部２１は、現在位置（ｓｘ，ｓｙ）の移動平均により基準位置（ｃｘ，ｃｙ）を求める（ＳＴ３８）。この移動平均を求める範囲についても任意に定められている。
【０１１２】
そして、画像処理部２１は、現在位置（ｓｘ，ｓｙ）と基準位置（ｃｘ，ｃｙ）の差から移動量（ｖｘ，ｖｙ）を得る（ＳＴ３９）。具体的に、画像処理部２１は、「ｖｘ」を「ｓｘ−ｃｘ」とし、「ｖｙ」を「ｓｙ−ｃｙ」とする。移動量（ｖｘ，ｖｙ）は、前述の移動量（ｘｄ，ｘｙ）と異なるものである。すなわち、移動量（ｘｄ，ｘｙ）は、参照領域における移動量を示すのに対し、移動量（ｖｘ，ｖｙ）は領域グループにおいて移動した後の位置を示している。
【０１１３】
その後、画像処理部２１は、基準位置（ｃｘ，ｃｙ）が閾値以上であるか否かを判断する（ＳＴ４０）。基準位置（ｃｘ，ｃｙ）が閾値以上でないと判断した場合（ＳＴ４０：ＮＯ）、処理はステップＳＴ４４に移行する。
【０１１４】
一方、移動量（ｖｘ，ｖｙ）が閾値以上であると判断した場合（ＳＴ４０：ＹＥＳ）、画像処理部２１は、移動量（ｖｘ，ｖｙ）の標準偏差が閾値以下であるか否かを判断する（ＳＴ４１）。移動量（ｖｘ，ｖｙ）の標準偏差が閾値以下でないと判断した場合（ＳＴ４１：ＮＯ）、画像処理部２１は、処理はステップＳＴ４４に移行する。
【０１１５】
一方、移動量（ｖｘ，ｖｙ）の標準偏差が閾値以下であると判断した場合（ＳＴ４２：ＹＥＳ）、画像処理部２１は、領域グループの動きベクトル（ａｘ，ａｙ）が閾値以下であるか否かを判断する（ＳＴ４２）。領域グループの動きベクトル（ａｘ，ａｙ）が閾値以下でないと判断した場合（ＳＴ４２：ＮＯ）、画像処理部２１は、処理はステップＳＴ４４に移行する。
【０１１６】
一方、領域グループの動きベクトル（ａｘ，ａｙ）が閾値以下であると判断した場合（ＳＴ４２：ＹＥＳ）、画像処理部２１は、現在位置（ｓｘ，ｓｙ）を「０」に初期化する（ＳＴ４３）。そして、画像処理部２１は、処理はステップＳＴ４４に移行する。
【０１１７】
ステップＳＴ４４では、すべての領域グループについて処理したか否かが判断される（ＳＴ４４）。いずれかの領域グループについて処理をしてないと判断した場合（ＳＴ４４：ＮＯ）、処理は再度ステップＳＴ３０に戻り、同様の処理を行っていくこととなる。一方、すべての領域グループについて処理したと判断した場合（ＳＴ４４：ＹＥＳ）、画像処理部２１による処理は終了する。
【０１１８】
なお、上記ステップＳＴ４１〜ＳＴ４３の処理は、ノイズが現在位置（ｓｘ，ｓｙ）として累積されてしまうことを防止すべく行っている。まず、現在位置（ｓｘ，ｓｙ）は、ステップＳＴ４７にて求められている。ここで、現在位置（ｓｘ，ｓｙ）を求める際に用いられる領域グループの動きベクトル（ａｘ，ａｙ）は、ステップＳＴ４５の平均化、及びステップＳＴ４６の移動平均の算出によりノイズ等が低減されたものとなっている。ところが、領域グループの動きベクトル（ａｘ，ａｙ）は、ノイズ等を含んでいないとは言えない。
【０１１９】
このため、ノイズ等が徐々に現在位置（ｓｘ，ｓｙ）に蓄積されてしまう可能性があると言える。そして、ノイズ等が現在位置（ｓｘ，ｓｙ）に蓄積されてしまうと、現在位置（ｓｘ，ｓｙ）の移動平均である基準位置（ｃｘ，ｃｙ）にも当然にノイズ等が累積されて、基準を示す役割を果たさなくなってしまう。
【０１２０】
そこで、顔の向きの検出や顔以外のものの撮影範囲内への出入の検出に支障をきたことがないように、まず、上記ステップＳＴ４１にて、基準位置（ｃｘ，ｃｙ）が閾値以上か否かを判断している。そして、閾値以上の場合に現在位置（ｓｘ，ｓｙ）を「０」に初期化するようにしている。このように、所定の条件に基づいて現在位置（ｓｘ，ｓｙ）を初期化することにより、好適に検出対象を検出するようにしている。
【０１２１】
ただし、現に運転者が顔の向きを変えている段階や顔以外のものが撮影範囲内への出入している段階において現在位置（ｓｘ，ｓｙ）を「０」に初期化してしまうと、初期化することによって逆に検出対象の検出に支障をきたしてしまう。そこで、ステップＳＴ４２及びＳＴ４３において、顔が動いていない状態や顔以外のものが撮影範囲内に出入していない状態であることを検出している。すなわち、画像処理部２１は、基準位置（ｃｘ，ｃｙ）の標準偏差が閾値以下であり、且つ領域グループの動きベクトル（ａｘ，ａｙ）が閾値以下であるという条件に基づいて、現在位置（ｓｘ，ｓｙ）を「０」に初期化するようにしている。
【０１２２】
以上、図７，８，１１の処理により、漫然運転、脇見運転、居眠り運転のいずれかが選択され、選択されたものについて眼の位置等に基づいて判定処理が実行されていくこととなる。
【０１２３】
ここで、図７に示したステップ２０，ＳＴ２２，ＳＴ２７の処理が、眼の位置等に基づかず、図６に示すように動きパターンを求めて、判定する場合を説明する。
【０１２４】
まず、動きパターンは、図１１に示す処理の実行後においては、図１２に示す動きパターンが得られる。図１２は、動きパターンを示す説明図である。
【０１２５】
なお、図１２において、縦軸は図５に示す領域グループＩにて得られた移動量（ｄｘ，ｄｙ）を示しており、横軸は時刻を示している。また、図１２では、画像横方向（Ｘ方向）における移動量（ｄｘ，ｄｙ）のみを示し、画像縦方向（Ｙ方向）における移動量（ｄｘ，ｄｙ）は省略するものとする。
【０１２６】
さらに、図１２では、運転者が図１０に示すような動作を行う場合、すなわち前方を視認している状態から、顔を左に向け、この後に、再度前方を視認する場合の動きパターンの例を示している。
【０１２７】
同図に示すように、まず、運転者が車両前方を注視している場合（時刻３５０〜４１０の期間）、移動位置は、「０」付近となっている。次に、運転者が確認動作をして顔を左に向けた場合（時刻４１０〜４３０の期間）、移動位置が「−４５〜−４８」画素程度を示す。その後、しばらく間、運転者が左を向いているままの状態でいる場合（時刻４３０〜５６０の期間）、移動位置は「−４５〜−４８」画素程度を維持する。
【０１２８】
そして、運転者が再度車両前方に顔を向けると（時刻５６０〜５８０の期間）、移動位置が「０」付近に復帰する。その後、運転者が車両前方を注視し続けると（時刻５８０〜６５０の期間）、移動位置は「０」付近を維持し続ける。
【０１２９】
図１３は、動きパターンに基づいて、運転者状態を判定する動作を示すフローチャートである。なお、図１３に示す処理は、図７に示したステップ２０，ＳＴ２２，ＳＴ２７のそれぞれで共通するものである。
【０１３０】
同図に示すように、画像処理部２１は、図１２に示すような動きパターンと、予め記憶される複数の記憶パターンそれぞれとの相関を求める（ＳＴ５０）。相関を求める方法としては、例えば数３と同様にして求めたり、フーリエ変換やウェブレット変換により周波数解析した情報を用いて求めたりする。
【０１３１】
ここで具体的に、動きパターンＰ及び記憶パターンＤは、
【数４】
2005018656.tif 000006
となっている。なお、上記「ｓｔａｔｅ  ｃｏｄｅ」は進入した異物を表すコードである。また、「ｄａｔａ」は、移動量を示すものである。
【０１３２】
その後、画像処理部２１は、複数の記憶パターンのうち、最も相関の高い記憶パターンを検出する（ＳＴ５１）。検出後、画像処理部２１は、検出された記憶パターンが示す状態を、現在の運転者の状態とする（ＳＴ５２）。そして、画像処理部２１は、この検出結果に基づいて、それぞれステップ２１，ＳＴ２３，ＳＴ２８の処理を実行する。
【０１３３】
なお、図１３の処理において、画像処理部２１は、最も相関の高い記憶パターンの相関値が所定の閾値を超えない場合には、どの記憶パターンとも類似しなかったと判断して、この判断を結果として取得してもよい。
【０１３４】
以上により、オプティカルフローの計算を行って、動きパターンを求める方法によっても、眼の位置等に基づく手法と同様に、運転者状態を検出することができる。そして、本実施形態は、オプティカルフロー計算を経る手法、又は眼の位置等に基づく手法のいずれが行われるとしても、処理選択部２２により、検出すべき判定対象を選択して、好適に運転者の状態を判定している。
【０１３５】
このようにして、本実施形態に係る運転者状態検出装置１では、２枚以上の顔の画像に基づいてオプティカルフローを計算し、計算結果に応じて検出対象を選択している。このオプティカルフローを検出する手法では、画像内の物体等の動きをとらえることができる。すなわち、運転者の顔の動きをとらえることができる。従って、顔の動きに基づいて検出すべき対象を適切に選択できることとなり、一定の走行状況が継続するような場合であっても、複数の対象を検出することができる。
【０１３６】
より具体的には、従来装置が走行状況としての道路状況に基づいて、居眠りと脇見とのいずれを検出すべきかについて判断している場合、従来技術では上記したように道路状況に変化がない限り、居眠りと脇見との一方しか検出されない。ところが、本実施形態では、走行状況に関係なく運転者の顔の動きに基づくため、道路状況に変化がなくとも検出すべき対象が切り換えられる。すなわち、一定の道路状況が所定時間継続していても、その時間中には検出すべき対象が複数選択されることもある。従って、同じ道路状況において、複数の対象を検出することができる。
【０１３７】
また、各判定部３１〜３３は、画像処理部２１からの計算結果（オプティカルフローや動きベクトル）に基づいて、判定結果を得ている。ここで、画像処理部２１からの計算結果は、処理選択部２２における選択に用いられている。このため、画像処理部２１からの計算結果は、選択及び判定の双方の処理において用いられることとなり、処理を簡素化することができると共に、リアルタイム性を損ない難くすることができる。従って、同時的に各状態を検出することができる。
【０１３８】
また、動きベクトルの大きさ、及び所定時間内において所定値以上の大きさを示した動きベクトルの出現頻度に基づいて、判定処理を行わせる対象を選択している。さらには、動きベクトルが所定時間内に所定値以上しなくなったと判断した場合に、すなわち、所定時間内における動きベクトルの出現頻度が所定値未満であると判断した場合に、漫然運転又は居眠り運転の判定部３１，３３を選択している。このように、大きさや値に基づく処理を行うことで、明確な判断を行うことができ、的確に判定処理を行わせる対象を選択することができる。
【０１３９】
次に、本発明の第２実施形態を説明する。第２実施形態に係る運転者状態検出装置２は、第１実施形態のものと同様であるが、車両走行状態検出装置（車両走行状態検出手段）５０を備える点で、第１実施形態のものと異なっている。また、運転者状態判定装置３０内に、安全確認判定部（安全確認判定手段）３５を更に備える点で、第１実施形態のものと異なっている。
【０１４０】
以下、第２実施形態に係る運転者状態検出装置２について説明する。図１４は、本発明の第２実施形態に係る運転者状態検出装置の構成図である。同図に示すように、第２実施形態に係る運転者状態検出装置２は、安全確認を行うべき場所を特定して、安全確認を必要とする状況で運転者が安全確認を施行しなかった場合に、運転者に注意喚起する機能を更に備えたものである。
【０１４１】
車両走行状態検出装置５０は、車速や、ブレーキスイッチのオン／オフ情報、アクセルスイッチのオン／オフ情報、操舵角、シフトレンジ情報等の車両に関する状態を１つ以上検出するものである。
【０１４２】
また、車両走行状態検出装置５０は、車両周囲等の環境情報についても検出する構成とされている。例えば、車両走行状態検出装置５０は、ナビゲーションシステムによって位置情報を取得し、走行中の道路の種別や交差点の有無等を検出する構成とされている。また、カメラ装置等によって車両周辺の道路や先行車両の情報等を検出する構成とされていてもよい。さらに、車両走行状態検出装置５０は、気象情報や、天候、照度計による外の明るさや昼夜の区別等の情報を得るものであってもよい。
【０１４３】
また、車両走行状態検出装置５０は、上記目的とする情報を取得すると、その情報から車両信号を生成して運転者状態判定装置３０に送信する構成とされている。ここで、車両走行状態検出装置５０は、運転者状態判定装置３０において運転者が安全確認を行うべき場所を特定するために、上記情報を取得している。
【０１４４】
例えば、上記ナビゲーションシステムの位置情報を取得すると、安全確認を行うべき場所として、見通しの悪い交差点や信号のない交差点等を特定することができる。また、車速が設定速度以下であるという情報を取得すると、大きく左右に顔を動かした後に交差点内に進入すべきであるとの判断ができ、安全確認を行うべき場所を特定できることとなる。
【０１４５】
また、左のウィンカーの点灯中を示す情報を取得した場合、大きく顔を左に動かすという左の巻き込み確認を行うべきとの判断ができ、安全確認を行うべき場所を特定できることとなる。
【０１４６】
次に、本装置２の詳細構成、特に運転者状態判定装置３０を図１５を参照して説明する。図１５は、本発明の第２実施形態に係る運転者状態検出装置２の詳細構成図である。
【０１４７】
同図に示すように、運転者状態判定装置３０には、安全確認判定部３５が設けられている。この安全確認判定部３５は、車両走行状態検出装置５０に接続され出力され、車両信号を入力する構成とされている。
【０１４８】
車速信号は上記した情報の少なくとも１つであり、走行状態を示すものである。安全確認判定部３５は、この車速信号から走行状態を読み取り、その内容が安全確認を行うべき場所であると判断した場合、安全確認の施行を判定する構成とされている。
【０１４９】
また、安全確認判定部３５は、処理選択部２２を介して撮影部１０に接続されている。このため、安全確認判定部３５は、撮影部からの顔画像データに基づいて、運転者による安全運転の施行を判定することとなる。
【０１５０】
より具体的に説明すると、安全確認判定部３５は、眼位置検出機能（眼位置検出手段）と、追跡機能（追跡手段）と、視方向判定機能（視方向判定手段）とを有している。これら機能は、脇見運転判定部３２のものと同じである。
【０１５１】
そして、脇見運転判定部３２は、これら機能に基づいて脇見運転を判定する。すなわち、安全確認判定部３５は、判定された眼の視方向に基づいて、運転者の安全確認の有無を判定することとなる。
【０１５２】
次に、本装置２の詳細な動作の一例を説明する。図１６〜図１８は、本実施形態に係る運転者状態検出装置１の詳細な動作の一例を示すフローチャートである。なお、図１６〜図１８において、各判定部３１〜３３，３５は、眼の座標データに基づいて各運転者状態を判定するものとする。故に各判定部３１〜３３，３５は、画像処理部２１の計算結果によらず判定を行うこととなる。
【０１５３】
まず、図１６に示すステップＳＴ５０〜ＳＴ５６は、図７に示すステップＳＴ１０〜ＳＴ１６と同様であるため、説明を省略する。ステップＳＴ５７において、車両走行状態検出処理が実行される。
【０１５４】
この処理では、まず、車両走行状態検出装置５０がナビゲーションシステムによる位置情報等を取得する。そして、車両走行状態検出装置５０は、この位置情報等を安全確認判定部３５に出力する。その後、安全確認判定部３５は、位置情報等の走行状態に基づいて、安全確認すべき場所であるかを特定する（ＳＴ５７）。
【０１５５】
そして、安全確認判定部３５は、安全確認を判定した結果、撮影部１０からの顔画像に基づいて安全確認の施行を判定する（ＳＴ５８）。ここで、運転者が安全確認をしていないと判定した場合（ＳＴ５８：ＮＯ）、安全確認判定部３５は、安全確認の履行を示す安全確認施行フラグを「ＯＦＦ」とする（ＳＴ６０）。そして、処理はステップＳＴ６１に移行する。
【０１５６】
一方、運転者が安全確認をしたと判定した場合（ＳＴ５８：ＹＥＳ）、安全確認判定部３５は、安全確認の履行を示す安全確認施行フラグを「ＯＮ」とし、安全確認が為されたことをフラグにより示す（ＳＴ６０）。
【０１５７】
その後、処理選択部２２は、動きベクトルの出現頻度が所定値未満か否かを判断する（ＳＴ６１）。なお、ステップＳＴ６１の処理が実行されるまでに、ステップＳＴ６２，ＳＴ６３の処理が並行して実行されている。この処理は、図７に示したステップＳＴ１８，ＳＴ１９と同様である。すなわち、画像処理部２１により、所定値以上の大きさを示す動きベクトルについての出現頻度がメモリされる。
【０１５８】
このため、処理選択部２２は、メモリされた情報に基づいて、動きベクトルの出現頻度が所定値未満か否かを判断することができる。ここで、動きベクトルの出現頻度が所定値未満であると判断した場合（ＳＴ６１：ＹＥＳ）、処理は図１７に示すステップＳＴ６４に移行する。一方、動きベクトルの出現頻度が所定値未満でないと判断した場合（ＳＴ１７：ＮＯ）、図１８に示すステップＳＴ７２に移行する。
【０１５９】
次に、図１７について説明する。出現頻度が所定値未満であると判断した場合、報知部３４は、安全確認施行フラグが「ＯＮ」か否かを判断する（ＳＴ６４）。ここで、安全確認施行フラグが「ＯＮ」であると判断した場合（ＳＴ６４：ＹＥＳ）、処理はステップＳＴ６６に移行する。
【０１６０】
一方、安全確認施行フラグが「ＯＮ」でないと判断した場合（ＳＴ６４：ＮＯ）、報知部３４は、安全確認の施行を促すべく報知器４０に報知信号を出力する。そして、報知器４０は、安全確認の施行を促す注意喚起を行う（ＳＴ６５）。
【０１６１】
その後、漫然運転判定部３１は、追跡されている眼の位置に基づき漫然運転検出処理を実行する（ＳＴ６７）。ステップＳＴ６７〜ＳＴ７１の処理は、図７に示すステップＳＴ２０〜ＳＴ２５と同様であるため省略する。
【０１６２】
次に、図１７について説明する。出現頻度が所定値未満でないと判断した場合、脇見運転判定部３２は、追跡されている眼の位置に基づき脇見検出処理を実行する（ＳＴ７２）。この処理では、図７に示したステップＳＴ２７と同様に、眼の視方向が判定される。
【０１６３】
その後、脇見運転判定部３２は、判定された眼の視方向に基づいて、運転者が脇見運転をしているか否かを判断する（ＳＴ７３）。脇見運転をしていないと判断した場合（ＳＴ７３：ＮＯ）、処理はステップＳＴ５０に戻る。一方、脇見運転をしていると判断した場合（ＳＴ７３：ＹＥＳ）、報知部３４は、安全確認施行フラグが「ＯＦＦ」であるか否かを判断する（ＳＴ７４）。
【０１６４】
安全確認施行フラグが「ＯＦＦ」でないと判断した場合（ＳＴ７４：ＮＯ）、すなわち、安全確認を履行した場合、処理はステップＳＴ５０に戻る。ここで、処理をステップＳＴ５０に戻す理由は、以下の通りである。つまり、眼の視方向から脇見と判断できる場合であっても、実際は脇見でなく安全確認である可能性もある。このため、安全確認施行フラグが安全確認の履行を示す場合には、誤った注意喚起しないように、処理をステップＳＴ５０に戻すこととしている。
【０１６５】
一方、安全確認施行フラグが「ＯＦＦ」であると判断した場合（ＳＴ７４：ＹＥＳ）、すなわち、安全確認が為されていない場合、報知部３４は、運転者の脇見運転に関して注意喚起をすべく、報知信号を出力する。これにより、報知器４０は運転者に報知することとなる（ＳＴ７５）。なお、ここでの報知は、図７のステップＳＴ２５と同様に、運転者に脇見行為を気づかせる程度のものである。そして、報知終了後、処理はステップＳＴ５０に戻る。
【０１６６】
以上のようにして、本装置２では、車両走行状態に基づいて、安全確認の施行の有無を判定し、注意喚起を行うようにしている。なお、図１６〜図１８に示したフローチャートでは、各判定部３１〜３３，３５は、眼の座標データに基づいて各運転者状態を判定することとしている。しかし、これに限らず、第１実施形態と同様に、オプティカルフローに基づいて判定処理を行うようにしてもよい。
【０１６７】
また、以下の変形例１、変形例２及び変形例３のようにしてもよい。すなわち、上記では、車両走行状態検出装置５０は安全確認判定部３５に車両信号を送信するようにしているが、車両走行状態検出装置５０は処理選択部２２に車両信号を送信するようにしてもよい。そして、処理選択部２２が車両信号に基づいて、安全運転確認をするか否かを判断し、安全運転確認をする場合には、安全確認判定部３５を、判定処理を行わせる対象として選択するようにしてもよい（変形例１）。
【０１６８】
上記した図１６〜図１８では、安全確認判定部３５による判定処理は、必ず実行されるようにされていた。しかし、変形例１のように処理選択部２２によって選択させることにより、必要のない場合に安全確認判定部３５による判定処理を実行させないようにすることができる。従って、不要な演算を行わなくともよいようにすることができる。
【０１６９】
また、所定値以上の大きさを有する動きベクトルの出現頻度が、所定値以下である場合には、運転者は顔をあまり動かしておらず、安全確認は行われていないことが推測できる。このため、画像処理部２１による計算結果に基づいて、安全確認の判定処理を行うか否かを決定することもできる。この場合であっても、処理選択部２２によって、安全確認判定部３５を、判定処理を行わせる対象として選択するか否かが決定されることとなる（変形例２）。
【０１７０】
また、上記変形例１及び変形例２を組み合わせてもよい。すなわち、処理選択部２２は、車両走行状態検出装置５０と画像処理部２１との双方からの情報によって、安全確認判定部３５を、判定処理を行わせる対象として選択するか否かが決定するようにしてもよい（変形例３）。
【０１７１】
このようにして、本実施形態に係る運転者状態検出装置２では、第１実施形態と同様に、顔の動きに基づいて検出すべき対象を適切に選択できることとなり、一定の走行状況が継続するような場合であっても、複数の対象を検出することができる。
【０１７２】
また、第１実施形態と同様に、同時的に各状態を検出することができ、大きさや値に基づく処理を行うことで、明確な判断を行うことができ、的確に判定処理を行わせる対象を選択することができる。
【０１７３】
さらに、本実施形態の変形例２，３によれば、画像処理部２１の計算結果から、処理選択部２２によりすべての判定部３１〜３４のうちいずれかを選択することとなり、安全確認の有無を判定できる上に、処理の簡素化を図ることができる。
【０１７４】
次に、本発明の第３実施形態を説明する。第３実施形態に係る運転者状態検出装置３は、第２実施形態のものと同様であるが、各判定部３１〜３３，３５の構成が第１実施形態のものと異なっている。
【０１７５】
第３実施形態の各判定部３１〜３３，３５は、眼の座標値等に基づいて各運転者状態を判定すると共に、オプティカルフローに基づいて各運転状態を判定するものである。すなわち、第１及び第２実施形態の各判定部３１〜３３，３５は、眼の座標値等及びオプティカルフローのいずれか一方に基づく構成であったが、第３実施形態の各判定部３１〜３３，３５は双方に基づいて判定処理を実行するものである。
【０１７６】
以下、第３実施形態に係る運転者状態検出装置３について説明する。図１９は、本発明の第３実施形態に係る運転者状態検出装置３の詳細構成図である。同図に示すように、運転者状態判定装置３０には、各判定部３１〜３３，３５にはそれぞれ２つの判断部が設けられている。詳しくは、漫然運転判定部３１には、滞留判断部３１ａと、オプティカルフロー判断部３１ｂとが設けられており、脇見運転判定部３２には、視方向判断部３２ａと、オプティカルフロー判断部３１ｂとが設けられている。
【０１７７】
また、居眠り運転判定部３３には、開閉眼判断部３３ａと、オプティカルフロー判断部３３ｂとが設けられており、安全確認判定部３５には、視方向判断部３５ａと、オプティカルフロー判断部３５ｂとが設けられている。
【０１７８】
滞留判断部３１ａは、第１実施形態で説明した眼位置検出機能、追跡機能及び滞留判定機能を有し、各機能を経て、眼が滞留状態にあると判定された場合、その滞留状態が継続する時間に基づいて、運転者の漫然運転を判定するものである。
【０１７９】
視方向判断部３２ａは、第１実施形態で説明した眼位置検出機能、追跡機能及び視方向判定機能を有し、各機能を経て、眼の視方向を判定して、運転者が脇見運転をしているか否かを判定するものである。
【０１８０】
開閉眼判断部３３ａは、第１実施形態で説明した眼位置検出機能、追跡機能及び開閉眼判定機能を有し、各機能を経て、眼の開閉眼状態の情報を取得し、この開閉眼状態に基づいて、運転者の居眠り運転を判定するものである。
【０１８１】
安全確認判定部３５の視方向判断部３５ａは、第２実施形態で説明した眼位置検出機能、追跡機能及び視方向判定機能を有し、各機能を経て、眼の視方向を判定して、運転者が脇見運転をしているか否かを判定するものである。
【０１８２】
また、各判定部３１〜３３，３５が有するオプティカルフロー判断部３１ｂ〜３３ｂ，３５ｂは、画像処理部２１による計算結果に基づいて、各運転者状態を判定するものである。この計算結果とは、オプティカルフロー又は動きベクトルを意味するものである。
【０１８３】
このように、上記各判定部３１〜３３，３５は、２手法の判断を行うことが可能とされているため、個別に処理が実行されることとなる。そして、２手法による判断結果に基づいて、各運転者状態が判定されることとなる。
【０１８４】
この場合、いずれか一方の判定結果についてアンド処理を行うか、オア処理を行うかは、適宜設定可能である。脇見運転判定部３２のアンド処理について説明すると、視方向判断部３２ａとオプティカルフロー判断部３２ｂとの双方により脇見運転と判断された場合に、脇見運転判定部３２は、運転者が脇見運転をしていると判定する。また、オア処理については、視方向判断部３２ａとオプティカルフロー判断部３２ｂとのいずれか一方により脇見運転と判断された場合に、脇見運転判定部３２は、運転者が脇見運転をしていると判定する。
【０１８５】
また、アンド処理とオア処理とは、各判定部３１〜３３，３５の判定対象によって、適宜好適な方を設定するようにしてもよい。図２０は、追跡領域の一例を示す説明図であり、（ａ）は左眼が追跡限界に達しているときの様子を示し、（ｂ）は右眼が追跡限界に達しているときの様子を示している。
【０１８６】
図２０（ａ）に示すように、左眼に追跡領域が設定されている場合、運転者が更に顔を左に向けると左眼自体が撮影されなくなってしまう。そして、運転者が顔を更に左に向けたとすると、左眼の座標値等に基づいて運転者状態を判定することができず、アンド処理を行っている場合には、判定結果自体が不正確なものとなってしまう。このため、顔を大きく動かす可能性のある脇見判定及び安全確認判定は、アンド処理とせずオア処理とすることが望ましくなる。また、図２０（ｂ）に示すように、右眼に追跡領域が設定されている場合であっても同様である。
【０１８７】
さらに、追跡限界に達する場合でなくとも、運転者は、安全確認を行う際に、顔を速く動かし易い傾向がある。特に車両の運転中では、運転者は素早く安全確認動作を行うことから、顔を一層速く動かす傾向がある。しかし、運転者が顔を速く動かした場合、追跡精度の限界を超え、眼を追跡しきれなくなる可能性がある。このため、安全確認判定については、オア処理とすることが一層望ましいといえる。
【０１８８】
図２１は、安全確認判定部３５のオプティカルフロー判断部３２ｂによる処理内容を示す説明図である。上記のように、脇見判定及び安全確認判定は、眼を追跡して座標値等により、脇見及び安全確認を判定することが困難な場合がある。そこで、図２１に示すようなオプティカルフローによる顔の移動量による向き判定を統合すれば、例えば眼の追跡に失敗しても、運転者状態検出を続けることができる。
【０１８９】
図２１では、運転者の顔について左右の移動量と予め設定した閾値とを比較することにより、運転者がどの方向に顔を向けているか判断している。そして、現時点から所定時間だけ過去に遡って顔の向きをとらえて安全確認の有無を正確に判定している。
【０１９０】
すなわち、現時点のみの顔の向きとしては、左、右、正面のいずれかしか得ることはできない。しかし、過去に遡って顔の向きの情報を取得することで、左右の安全確認を行うべき場所においても、正確に左右の安全確認が為されたか否かを判定できるようにされている。
【０１９１】
なお、脇見運転の判定において眼の移動量の小さい場合には、アンド処理とすることも可能である。また、漫然運転及び居眠り運転の判定については、アンド処理とすることで、顔の移動量が少ないことを検出し、判定結果に対する信頼度を向上させることができる。
【０１９２】
上記のごとく、第３実施形態では、２手法による処理を行うことで、判定精度の向上を図ると共に、運転者の顔のあらゆる動きに対して適応するようにさせることができる。
【０１９３】
なお、第３実施形態では、第２実施形態の変形例１及び変形例３と同様の変更を採用することも可能である。
【０１９４】
このようにして、本実施形態に係る運転者状態検出装置３では、第２実施形態と同様に、顔の動きに基づいて検出すべき対象を適切に選択できることとなり、一定の走行状況が継続するような場合であっても、複数の対象を検出することができる。
【０１９５】
また、第２実施形態と同様に、同時的に各状態を検出することができ、大きさや値に基づく処理を行うことで、明確な判断を行うことができ、的確に判定処理を行わせる対象を選択することができる。
【０１９６】
また、第２実施形態の変形例１及び変形例３と同様に、安全確認の有無を判定できる上に、処理の簡素化を図ることができる。
【０１９７】
さらに、本実施形態に係る運転者状態検出装置３では、撮影された顔の画像全体から、運転者の眼の位置を検出し、検出された顔画像上の眼の位置を基準として、運転者の眼を含む所定領域を画像上に設定する。その後、この所定領域内から眼を追跡していき、追跡される所定領域内の眼の位置を座標値として取得し、この座標値から目の移動量を求めて眼が滞留状態にあるか否かを判定する。そして、画像処理部２１による計算結果に加え、この滞留状態が継続する時間に基づいて、運転者の漫然運転を判定している。このため、２手法により漫然運転の判定を行っていることにより、更に精度の高い漫然運転の判定を行うことができる。また、特に漫然運転については、２手法のアンド処理を行うことで、好適に精度の良く漫然運転の判定を行うことができる。
【０１９８】
また、同様に、居眠り運転の判定についても更に精度の高めることができると共に、２手法のアンド処理を行うことで、好適に精度の良く居眠り運転の判定を行うことができる。
【０１９９】
また、同様に、脇見運転の判定についても更に精度の高めることができる。また、脇見運転の判定については、２手法のオア処理を行うことで、一層精度の良く判定を行うことができる。
【０２００】
また、同様に、安全確認の判定についても更に精度の高めることができる。また、安全確認の判定については、２手法のオア処理を行うことで、一層精度の良く判定を行うことができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係る運転者状態検出装置の構成図である。
【図２】本発明の第１実施形態に係る運転者状態検出装置１の詳細構成図である。
【図３】参照領域及び探索領域の説明図である。
【図４】顔画像に規則的に配置される参照領域の説明図であり、（ａ）は顔画像上の横方向に複数（例えば７つ）配置される例を示し、（ｂ）は顔画像上に格子状に複数（例えば５行７列）配置される例を示し、（ｃ）は横方向に且つ格子状に複数（例えば３行５列に加え、さらに横方向に２つの計１７）配置される例を示している。
【図５】領域グループの説明図である。
【図６】本実施形態に係る運転者状態検出装置１の各判定部３１〜３３が画像処理部２１による計算結果に基づいて運転者の脇見運転等を判定する場合の動作の概略を示すデータフローダイヤグラムである。
【図７】本実施形態に係る運転者状態検出装置１の詳細な動作の一例を示すフローチャートである。
【図８】図７に示したオプティカルフローによる動きベクトル算出処理（ステップＳＴ１８）の詳細なフローチャートである。
【図９】図８に示すステップＳＴ３１における移動量（ｘｄ，ｙｄ）の算出方法の説明図である。
【図１０】運転者が左方向に顔の向きを変える場合のオプティカルフローの例を示す説明図であり、（ａ）は時刻ｔにおけるオプティカルフローの例を示し、（ｂ）は時刻（ｔ＋１）におけるオプティカルフローの例を示し、（ｃ）は時刻（ｔ＋２）におけるオプティカルフローの例を示し、（ｄ）は時刻（ｔ＋３）におけるオプティカルフローの例を示している。
【図１１】図７に示したオプティカルフローによる動きベクトル算出処理（ステップＳＴ１８）の詳細なフローチャートである。
【図１２】動きパターンを示す説明図である。
【図１３】動きパターンに基づいて、運転者状態を判定する動作を示すフローチャートである。
【図１４】本発明の第２実施形態に係る運転者状態検出装置の構成図である。
【図１５】本発明の第２実施形態に係る運転者状態検出装置２の詳細構成図である。
【図１６】本実施形態に係る運転者状態検出装置１の詳細な動作の一例を示すフローチャートであり、前半部分を示している。
【図１７】本実施形態に係る運転者状態検出装置１の詳細な動作の一例を示すフローチャートであり、後半部分の一方の処理を示している。
【図１８】本実施形態に係る運転者状態検出装置１の詳細な動作の一例を示すフローチャートであり、後半部分の他方の処理を示している。
【図１９】本発明の第３実施形態に係る運転者状態検出装置３の詳細構成図である。
【図２０】追跡領域の一例を示す説明図であり、（ａ）は左眼が追跡限界に達しているときの様子を示し、（ｂ）は右眼が追跡限界に達しているときの様子を示している。
【図２１】安全確認判定部３５のオプティカルフロー判断部３２ｂによる処理内容を示す説明図である。
【符号の説明】
１，２，３…運転者状態検出装置
１０…撮影部（撮影手段）
２１…画像処理部（画像処理手段）
２２…処理選択部（処理選択手段）
３１…漫然運転判定部（漫然運転判定手段）
３１ａ…滞留判断部（眼位置検出手段、追跡手段、滞留判定手段）
３２…脇見運転判定部（脇見運転判定手段）
３２ａ…視方向判断部（眼位置検出手段、追跡手段、視方向判定手段）
３３…居眠り運転判定部（居眠り判定手段）
３３ａ…開閉眼判断部（眼位置検出手段、追跡手段、開閉眼判定手段）
３４…報知部（報知手段）
３５…安全確認判定部（安全確認判定手段）
３５ａ…視方向判断部（眼位置検出手段、追跡手段、視方向判定手段）
５０…車両走行状態検出装置（車両走行状態検出手段）
【図１】
2005018656.tif 000007
【図２】
2005018656.tif 000008
【図３】
2005018656.tif 000009
【図４】
2005018656.tif 000010
【図５】
2005018656.tif 000011
【図６】
2005018656.tif 000012
【図７】
2005018656.tif 000013
【図８】
2005018656.tif 000014
【図９】
2005018656.tif 000015
【図１０】
2005018656.tif 000016
【図１１】
2005018656.tif 000017
【図１２】
2005018656.tif 000018
【図１３】
2005018656.tif 000019
【図１４】
2005018656.tif 000020
【図１５】
2005018656.tif 000021
【図１６】
2005018656.tif 000022
【図１７】
2005018656.tif 000023
【図１８】
2005018656.tif 000024
【図１９】
2005018656.tif 000025
【図２０】
2005018656.tif 000026
【図２１】
2005018656.tif 000027