JP2005013626A - 覚醒状態検出装置 - Google Patents
覚醒状態検出装置 Download PDFInfo
- Publication number
- JP2005013626A JP2005013626A JP2003185921A JP2003185921A JP2005013626A JP 2005013626 A JP2005013626 A JP 2005013626A JP 2003185921 A JP2003185921 A JP 2003185921A JP 2003185921 A JP2003185921 A JP 2003185921A JP 2005013626 A JP2005013626 A JP 2005013626A
- Authority
- JP
- Japan
- Prior art keywords
- optical flow
- detected
- eye
- image
- motion vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
【課題】判定精度の向上を図ることが可能な覚醒状態検出装置を提供する。
【解決手段】覚醒状態検出装置1は、顔画像撮像部10と、オプティカルフロー検出部20と、覚醒状態検出部30とを備えている。顔画像撮像部10は被検出者の顔を撮像する。オプティカルフロー検出部20は、顔画像撮像部10による撮像によって得られた顔画像からオプティカルフローを検出する。このとき、オプティカルフロー検出部20は、時系列に連続する少なくとも2枚の顔画像からオプティカルフローを検出する。また、覚醒状態検出部30は、オプティカルフロー検出部20によって検出されたオプティカルフローから被検出者の覚醒状態を検出する。
【選択図】 図1
【解決手段】覚醒状態検出装置1は、顔画像撮像部10と、オプティカルフロー検出部20と、覚醒状態検出部30とを備えている。顔画像撮像部10は被検出者の顔を撮像する。オプティカルフロー検出部20は、顔画像撮像部10による撮像によって得られた顔画像からオプティカルフローを検出する。このとき、オプティカルフロー検出部20は、時系列に連続する少なくとも2枚の顔画像からオプティカルフローを検出する。また、覚醒状態検出部30は、オプティカルフロー検出部20によって検出されたオプティカルフローから被検出者の覚醒状態を検出する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、覚醒状態検出装置に関する。
【0002】
【従来の技術】
従来、閉眼状態が継続している時間を瞬き時間とし、所定の時間帯における瞬き時間毎に度数分布を求め、これに基づいて運転者の覚醒度レベルを判定する覚醒状態検出装置が知られている。この装置では、瞬きの信頼度を判定し、その信頼度に応じて度数重みを変化させ、所定時間帯の度数分布を求めている。すなわち、メータを見ている伏せ目状態など実際に眼が閉じていないものについて、度数分布にあまり反映させないようにし、誤った覚醒度レベルを判定しないようにしている(例えば特許文献1参照)。
【0003】
【特許文献1】
特開2003−000571号公報
【0004】
【発明が解決しようとする課題】
上記特許文献1の装置では、メータを見ている伏せ目の継続時間が、通常の瞬きによる閉眼状態の継続時間よりも長いことに着目している。そして、通常の瞬きより長い時間閉眼状態が検出された場合に、「0.2〜0.8」の重み付け係数を用いることで度数分布にあまり反映させず、伏せ眼状態を閉眼状態と判定しないようにしている。
【0005】
しかしながら、実際の居眠り状態において、運転者は、メータを見ている時間よりも長い時間継続して眼を閉じていることもある。このため、通常の瞬きより長い時間閉眼状態が継続したことをもって、上記係数を用いると、覚醒度レベルの判定精度の低下を招いてしまう可能性がある。
【0006】
このように、従来の覚醒状態検出装置では、未だ判定精度の向上が望まれるものである。
【0007】
【課題を解決するための手段】
本発明によれば、覚醒状態検出装置であって、顔画像撮像手段は、被検出者の顔を撮像し、オプティカルフロー検出手段は、顔画像撮像手段による撮像によって得られた時系列に連続する少なくとも2枚の顔画像からオプティカルフローを検出し、覚醒状態検出手段は、オプティカルフロー検出手段によって検出されたオプティカルフローから被検出者の覚醒状態を検出することを特徴とする。
【0008】
【発明の効果】
本発明によれば、被検出者の覚醒状態に応じてオプティカルフローに特徴が現れることから、オプティカルフローに基づいて精度良く被検出者の覚醒状態を検出することができる。従って、判定精度の向上を図ることができる。
【0009】
【発明の実施の形態】
以下、本発明の好適な実施形態を図面に基づいて説明する。
【0010】
図1は、本発明の第1実施形態に係る覚醒状態検出装置の構成図である。同図に示すように、本実施形態の覚醒状態検出装置1は、被検出者の覚醒状態、すなわち被検出者が居眠り状態であるか否かなどを検出するものであって、顔画像撮像部(顔画像撮像手段)10を備えている。また、覚醒状態検出装置1は、オプティカルフロー検出部(オプティカルフロー検出手段)20と、覚醒状態検出部(覚醒状態状態検出手段)30とを備えている。
【0011】
顔画像撮像部10は、被検出者の顔を撮像するものであって、撮像により得られた顔画像のデータを、オプティカルフロー検出部20に送出する構成とされている。また、顔画像撮像部10は、固定して設置されると共に、被検出者の顔全体が一画像内に収まるのに充分な画角が確保されている。
【0012】
オプティカルフロー検出部20は、顔画像撮像部10での撮像によって得られた顔画像からオプティカルフローを検出するものである。また、オプティカルフロー検出部20は、時系列に連続する少なくとも2枚の顔画像から、濃度差等に基づいて、オプティカルフローを検出するものである。
【0013】
ここで、オプティカルフローとは、画像内の各領域における移動量等を表すものである。具体的に、オプティカルフローは、画像の所定箇所に存在した顔部位等が、後の画像においてどの方向にどれだけ速度で移動したかを表すものである。すなわち、オプティカルフローは、大きさ及び向きの情報を含むものである。また、オプティカルフローの検出に当たっては、顔画像上に所定の位置及び大きさで設定される参照領域(演算領域)及び探索領域に基づいて行われる。
【0014】
図2は、参照領域及び探索領域の説明図である。なお、参照領域が或る時刻の画像上に設定されるとすると、探索領域はその時刻よりも後の画像に設定されるものであるが、図2においては、便宜上、幅w画素,高さh画素の1つの画像上に表して説明する。
【0015】
同図に示すように、参照領域は、(tx,ty)の位置に設定される幅tw画素,高さth画素の領域である。また、探索領域は、(sx,sy)の位置に設定される幅sw画素,高さsh画素の領域である。この探索領域は、各参照領域を取り囲んで設定されるものであり、参照領域と同じ数だけ設定される。また、この参照領域及び探索領域は、それぞれ大きさが異なるものの、中心位置に関しては特定の点Oで一致している。
【0016】
このように、これら両領域は中心を等しくし、sw>tw且つsh>swの関係となるように設定される。なお、ここでの参照領域及び探索領域は、被検出者の顔の位置等に依存せず、予め定められた位置及び大きさで設定される。
【0017】
また、参照領域は、規則的に配置されることが望ましい。図3は、顔画像に規則的に配置される参照領域の説明図である。参照領域は、例えば図3(a)に示すように、顔画像上の横方向に複数(例えば7つ)配置される。また、図3(b)に示すように、参照領域は、顔画像上に格子状に複数(例えば5行7列)配置される。さらには、図3(c)に示すように、参照領域は、横方向に且つ格子状に複数(例えば3行5列に加え、さらに横方向に2つの計17)配置されてもよい。
【0018】
また、さらに参照領域は、顔画像撮像部10の設置位置や画角、及び顔画像のサイズ等に基づいて、予め目、鼻又は口等の顔部位程度の大きさに固定的に設定されることが望ましい。
【0019】
覚醒状態検出部30は、オプティカルフロー検出部20によって検出されたオプティカルフローから被検出者の覚醒状態を検出するものである。この覚醒状態検出部30は、内部に動きベクトル検出部(動きベクトル検出手段)31と代表値算出部(代表値算出手段)32とを備えている。
【0020】
動きベクトル検出部31は、オプティカルフロー検出部20によって検出されたオプティカルフローから顔の動きベクトルを検出するものである。ここで、動きベクトルとは、オプティカルフローから所定の演算に従って、領域グループ毎に求められるものであり、領域グループ内の物体等の移動を示すものである。
【0021】
所定の演算については種々のものが挙げられるが、この演算については後述することとし、以下、図3を参照して、領域グループについて説明する。
【0022】
同図に示すように、領域グループは、1つ以上の参照領域を含んで顔画像上に定められるものである。ここで、オプティカルフローは、1つの参照領域につき1つ検出されるものである。故に、領域グループには、オプティカルフローが1つ以上属しており、動きベクトル検出部31は、1つ以上のオプティカルフローから所定の演算により動きベクトルを検出する。
【0023】
また、領域グループは、1つ以上の参照領域を含むものであればよく、顔画像上に設定される参照領域のすべてを含むものであってもよいし(図3(c))、画像端部に位置する参照領域のみを含むものであってもよい(図3(b))。さらに、領域グループは、互いに重複するものであってもよい(図3(a))。
【0024】
代表値算出部32は、動きベクトル検出部31によって検出された顔の動きベクトルの大きさから、動きベクトルの単位時間あたりの統計的代表値を算出するものである。この代表値としては、例えば平均値や最頻値などが用いられる。
【0025】
そして、覚醒状態検出部30は、代表値算出部32により算出された統計的代表座標値に基づいて、被検出者の覚醒状態を検出することとなる。
【0026】
次に、覚醒状態検出装置1の動作の概略について説明する。まず、覚醒状態検出装置1において、顔画像撮像部10が被検出者の顔を撮像し、得られた顔画像データをオプティカルフロー検出部20に送信する。これを受けたオプティカルフロー検出部20は、顔画像撮像部10にて得られた時系列に連続する少なくとも2枚の顔画像から、参照領域及び探索領域に基づいてオプティカルフローを検出する。
【0027】
具体的に、時刻tと時刻(t+1)における顔画像からオプティカルフローを検出する場合、オプティカルフロー検出部20は、時刻tにおける顔画像上に参照領域を設定する。また、オプティカルフロー検出部20は、時刻(t+1)における顔画像上に探索領域を設定する。
【0028】
その後、オプティカルフロー検出部20は、探索領域内から参照領域に最も類似する位置を求める。そして、参照領域の位置と最も類似する位置との差をオプティカルフローとして検出する。このため、オプティカルフローは、参照領域毎に求められることとなり、参照領域はオプティカルフローの計算領域として機能する。
【0029】
オプティカルフローの検出後、動きベクトル検出部31は、顔の動きベクトルを求める。ここで、動きベクトル検出部31は、オプティカルフローから所定の演算に従って、領域グループ毎に求める。
【0030】
動きベクトルの検出後、代表値算出部32は、動きベクトル検出部31によって検出された顔の動きベクトルの大きさから、動きベクトルの単位時間あたりの統計的代表値を算出する。すなわち、代表値算出部32は、顔の動きベクトルの大きさに関するデータを時系列的に収集し、収集した動きベクトルのデータが単位時間(例えば30秒など)分得られた段階で所定の処理を行って統計的代表値を求める。ここでの処理は、統計的代表値が平均値である場合には平均値を求める演算になり、最頻値である場合には最頻値を抽出する処理となる。
【0031】
統計的代表値が算出されると、覚醒状態検出部30は、被検出者の覚醒状態を検出する。そして、本装置1は、覚醒状態の検出後、上記処理を繰り返して順次覚醒状態を検出していく。
【0032】
ここで、本装置1は、上記統計的代表値が被検出者の覚醒状態を好適に表すものであるため、精度の高い検出が可能となっている。以下に、精度良く検出可能となっている理由を示す。
【0033】
まず、本実施形態ではオプティカルフローを求めている。このオプティカルフローは、上記したように画像内の何らかの物体等に動きがあったときに、その動きを表すものである。ここで、本実施形態では、被検出者の顔を撮像している。このため、オプティカルフローは、被検出者の顔に動きがあった場合に検出されることとなる。
【0034】
ここで、被検出者が車両の運転者である場合、車両の運転者は、正常状態(すなわち起きている状態)にあるときには、巻き込み確認等の種々の動作を行う。このため、運転者が正常状態にあるときには、オプティカルフローが得られやすい状態にあるといえる。一方、運転者が居眠り状態にあるときには、動作が行われ難く、オプティカルフローが得られ難い状態にある。
【0035】
このように、被検出者の覚醒状態に応じてオプティカルフローに特徴が現れることから、オプティカルフローに基づいて精度良く被検出者の覚醒状態を検出することができる。
【0036】
なお、本装置1は、自動車、鉄道車両、船舶の被検出者やプラントのオペレータ等に用いることができるが、以下、本実施形態においては、車両運転者の覚醒状態を検出する場合を例に説明することとする。
【0037】
図4は、本発明の第1実施形態に係る覚醒状態検出装置1を車両に搭載した場合のハード構成図である。同図に示すように、顔画像撮像部10としてTVカメラ2が自動車のインストルメント上に設けられている。このTVカメラ2は、運転者の顔全体を一画像内に収めることができる画角を有し、固定して設置されている。また、TVカメラ2は運転者を略正面から撮像できる位置に設置されている。
【0038】
また、TVカメラ2にて取得された入力画像は、インストルメント裏側など車体内部に設置されたマイクロコンピュータ(以下マイコンという)3に画像データとして入力される。
【0039】
マイコン3には、オプティカルフロー検出部20及び覚醒状態検出部30を構成するプログラムロジックがプログラミングされている。なお、覚醒状態検出部30のプログラムロジックは、動きベクトル検出部31、及び代表値算出部32のそれぞれのロジックを含むものである。
【0040】
次に、上記覚醒状態検出装置1の動作を説明する。図5は、図1に示した覚醒状態検出装置1の基本動作を示すフローチャートである。同図に示すように、まず、処理が開始されると、マイコン3は、初期値入力処理を実行する(ST1)。この初期値入力の処理では、サンプリング時間などの各種定数が読み込まれる。
【0041】
初期化後、マイコン3は、終了判断処理を実行する(ST2)。この際、マイコン3は、例えばエンジンが起動しているか等に基づいて判断を行う。
【0042】
そして、マイコン3は、「STOP」か否かを判断する(ST3)。例えばエンジンが起動されていないと判断した場合、マイコン3は、「STOP」であると判断し(ST3:YES)、処理は終了することとなる。
【0043】
一方、エンジンが起動され走行しているなどにより、「STOP」でないと判断した場合(ST3:NO)、マイコン3は、顔全体画像の撮像処理を実行する(ST4)。これにより、TVカメラ2は、被検出者の顔を撮像する。
【0044】
その後、マイコン3は、オプティカルフローの検出処理を実行する(ST5)。このステップST5の処理は、図1にて説明したオプティカルフロー検出部20にて行われる処理である。すなわち、マイコン3は、オプティカルフロー検出部20に相当するプログラムを実行することとなる。
【0045】
その後、マイコン3は、顔の動きベクトルの検出処理を実行する(ST6)。動きベクトルの検出処理は、ステップST5にて検出されたオプティカルフローに基づいて行われるものである。また、ステップST6の処理は、図1にて説明した動きベクトル検出部31にて行われる処理である。すなわち、マイコン3は、動きベクトル検出部31に相当するプログラムを実行することとなる。
【0046】
動きベクトルの検出後、マイコン3は、顔の動きベクトルについて単位時間あたりの統計的代表値を算出する(ST7)。このステップST7の処理は、図1にて説明した代表値算出部32にて行われる処理である。すなわち、マイコン3は、代表値算出部32に相当するプログラムを実行することとなる。
【0047】
統計的代表値の算出後、マイコン3は、覚醒状態判定処理を実行し、覚醒状態を検出する(ST8)。このステップST7の処理は、ステップST7にて算出された統計的代表値に基づいて行われる。また、ステップST7の処理は、図1にて説明した動き覚醒状態検出部30にて行われる処理である。すなわち、マイコン3は、覚醒状態検出部30に相当するプログラムを実行することとなる。ここで、電源オン時などの覚醒状態の検出開始時点では覚醒状態は正常状態とされる。検出開始時点は、例えば車両乗車時点などが該当するが、この時点で既に運転者が居眠り状態ということはあり得ないからである。
【0048】
その後、処理はステップST2に戻る。そして、電源がオフされるまで、ステップST2〜ST8の処理を繰り返していく。
【0049】
次に、オプティカルフロー検出処理(ステップST5)について詳細に説明する。図6は、図5に示したオプティカルフロー検出処理(ステップST5)の詳細なフローチャートである。
【0050】
まず、マイコン3は、顔画像にスムージングフィルタを適応し、所定の式にて画素値を変換する(ST10)。ここで、スムージングフィルタは、以下に示す5行5列からなるフィルタである。
【0051】
【数1】
所定の式は、以下に示すものである。
【0052】
【数2】
なお、d(x,y)は、顔画像内の任意位置の画素値であり、d’(x,y)は変換後の画素値である。
【0053】
その後、マイコン3は、現在の顔画像の探索領域内から、前回の顔画像内の参照領域に最も類似する位置を求めて、移動量(xd,yd)、すなわちオプティカルフローを算出する(ST11)。
【0054】
具体的には、マイコン3は、まず、探索領域内から参照領域に最も類似する領域を求め、最も類似する領域の中心点を、参照領域に最も類似する位置とする。そして、マイコン3は、求められた最も類似する領域の中心点と、探索領域の中心点とから移動量(xd,yd)を算出し、オプティカルフローとする。
【0055】
ここで、ステップST11について詳細に説明する。上述したように、顔画像上には予め参照領域が設定されている。また、探索領域は参照領域を取り囲むように設定される。また、参照領域と探索領域とは時間を異にして設定される。具体的には、図7に示すように、参照領域は時刻tにおいて設定され、探索領域は時刻t後の時刻(t+1)において設定される。
【0056】
図7は、図6に示すステップST11における移動量(xd,yd)の算出方法の説明図である。ステップST11の処理において、マイコン3は、まず、時刻(t+1)の探索領域内に候補領域を作成する。この候補領域は、参照領域と同じ大きさを有する領域である。具体的には、探索領域内の任意の位置を(xd,xy)とした場合、−(sw−tw)/2<xd<(sw−tw)/2、且つ、−(sh−th)/2<xy<(sh−th)の範囲から切り出した領域である。
【0057】
マイコン3は、探索領域内の所定箇所に上記のような候補領域を設定し、設定した候補領域と参照領域とを比較等して、類似度を求める。次に、マイコン3は、候補領域を他の位置に動かし、動かした位置の候補領域と参照領域とを比較等して類似度を求める。
【0058】
その後、マイコン3は、候補領域を順次移動させていき、探索領域内での各箇所において参照領域との類似度を算出する。類似度は、例えば、濃淡データを基準に判断される。ここで、濃淡データを基準に類似度を算出する場合において、類似度をcosθとすると、類似度は以下の式にて表される。
【0059】
【数3】
上式においては、参照領域の濃淡データをTとし、候補領域の濃淡データをSとしている。また、xdは、探索領域内のX座標値を示し、ydは、探索領域内のY座標値を示している。
【0060】
以上から、マイコン3は、類似度が最大となる位置Sを定め、点Sと点Oとの座標値の差を移動量(xd,yd)として取得し、これをオプティカルフローとする。
【0061】
再度、図6を参照して説明する。移動量(xd,yd)の算出後、マイコン3は、類似度の範囲が閾値以上か否かを判断する(ST12)。すなわち、マイコン3は、まず、候補領域によって探索領域内を走査していき、探索領域内の各箇所の類似度を算出する。その後、マイコン3は、得られた類似度の分散を求め、この分散により類似度の範囲が閾値以上か否かを判断する。
【0062】
ここで、類似度の範囲が小さい場合とは、探索領域内の各箇所において、同じような類似度が検出される場合である。例えば、参照領域が真っ白な画像である場合など、特徴が少ない場合には探索領域内のどの箇所と比較しても似たような類似度の結果が得られることとなる。
【0063】
そして、このような場合、それぞれ類似度の差が小さいことから、類似度が最大となる点Sの検出が不正確になりやすい。このため、図6のステップST12の処理では、所定の閾値と比較し、好適なものと不適なものとの選別するようにしている。
【0064】
類似度の範囲が閾値以上であると判断した場合(ST12:YES)、マイコン3は、参照領域を有効な領域とし、fdに「1」を代入する(ST13)。そして、処理はステップST15に移行する。
【0065】
一方、類似度の範囲が閾値以上でないと判断した場合(ST12:NO)、マイコン3は、参照領域を無効な領域とし、fdに「0」を代入する(ST14)。そして、処理はステップST15に移行する。このように、マイコン3は、特徴量としての類似度の変化量と、予め設定される閾値とを比較することにより、動きベクトルの計算に用いるか否かを判断している。
【0066】
ステップST15において、マイコン3は、領域の数だけ上記のステップST11〜ST14を行ったか否かを判断する(ST15)。すなわち、マイコン3は、すべての参照領域について、探索領域内から類似する位置を特定したか否かを判断している。
【0067】
いずれかの参照領域について、探索領域内から類似する位置を特定していないと判断した場合(ST15:NO)、処理はステップST11に戻り、類似する位置を特定していない参照領域について、上記ステップST11〜ST14の処理を繰り返すこととなる。
【0068】
一方、すべての参照領域について、探索領域内から類似する位置を特定したと判断した場合(ST15:YES)、マイコン3は、図5に示すステップST6の処理を実行する。なお、参照領域が1つだけしか設定されていない場合、ステップST15の処理を省略するようにしてもよい。
【0069】
また、オプティカルフローの計算方法は本実施形態の他に、八木信行監修, ”ディジタル映像処理”, 映像情報メディア学会編, pp.129−139, 2000, オーム社 などにて動画像から動きを検出する手法が複数紹介されていおり、それらを用いることもできる。
【0070】
ここで、オプティカルフローの検出例を説明する。図8は、運転者が左方向に顔の向きを変える場合のオプティカルフローの例を示す説明図であり、(a)は時刻tにおけるオプティカルフローの例を示し、(b)は時刻(t+1)におけるオプティカルフローの例を示し、(c)は時刻(t+2)におけるオプティカルフローの例を示し、(d)は時刻(t+3)におけるオプティカルフローの例を示している。
【0071】
まず、図8を参照して説明する。時刻tにおいて運転者は前方を視認している(図8(a))。その後、時刻(t+1)において、運転者は交差点の確認等を行うべく、顔を左方に向ける。このとき、オプティカルフローが検出される(図8(b))。ここで、画像中の四角で表示されている領域は、参照領域であり、各参照領域から伸びる線分は、各部位の移動量、すなわちオプティカルフローを示している。
【0072】
その後、時刻(t+2)において、運転者は顔をさらに左方に向ける。このときも同様に、オプティカルフローが検出される(図8(c))。そして、時刻(t+3)において運転者は顔を左上方に向けると、同様にオプティカルフローが検出される(図8(d))。
【0073】
なお、図8中において、参照領域を示す四角枠が実線にて図示されているものは、図6のステップST12にて「NO」と判断され、無効領域とされた参照領域であり、四角枠が破線にて図示されているものは、図6のステップST12にて「YES」と判断され、有効領域とされた参照領域である。
【0074】
次に、顔の動きベクトルの検出処理(図5:ST6)を説明する。図9は、図5に示した動きベクトルの検出処理(ST6)の詳細なフローチャートである。
【0075】
まず、マイコン3は、領域グループが複数存在する場合には、複数の領域グループのうち処理の対象となるものを選択し、その領域グループの移動量に関する数値x,y,cを「0」に初期化する(ST20)。その後、マイコン3は、選択した領域グループ内の参照領域のうちいずれか1つを選択する。
【0076】
そして、マイコン3は、選択した参照領域が有効領域であるか否か、すなわちfdが「1」であるか否かを判断する(ST21)。fdが「1」であると判断した場合(ST21:YES)、マイコン3は、移動量を積算する(ST22)。具体的に、マイコン3は、「x」を「x+xd」とし、「y」を「y+yd」とし、「c」を「c+1」とする。そして、処理はステップST23に移行する。
【0077】
一方、fdが「1」でないと判断した場合(ST21:NO)、マイコン3は、移動量を積算することなく、処理はステップST23に移行する。
【0078】
ステップST23において、マイコン3は、選択した領域グループ内のすべての参照領域について処理したか否かを判断する(ST23)。いずれかの参照領域について処理をしてないと判断した場合(ST23:NO)、処理はステップST21に戻り、上記ステップST21,ST22を繰り返すこととなる。すなわち、マイコン3は、すべての参照領域について有効領域か否かを判断し、有効領域である場合には、移動量を積算するという処理を行っていく。
【0079】
そして、順次移動量の積算等が行われ、すべての参照領域について処理した場合(ST23:YES)、マイコン3は、cが「0」であるか否かを判断する(ST24)。
【0080】
「c」が「0」であると判断した場合(ST24:YES)、処理はステップST26に移行する。一方、「c」が「0」でないと判断した場合(ST24:NO)、マイコン3は、積算した「x」「y」についての平均を求める(ST25)。すなわち、マイコン3は、「x=x/c」及び「y=y/c」を実行し、平均移動量を求める。
【0081】
平均移動量の算出後、マイコン3は、求めた平均移動量について、移動平均(ax,ay)を求める(ST26)。ここで得られた移動平均が顔の動きベクトルとなり、移動平均のx方向成分axが動きベクトルのx方向成分となり、移動平均のy方向成分ayが動きベクトルのy方向成分となる。なお、移動平均を求める範囲は任意に定められている。また、移動平均(ax,ay)を求めるのは、微細なノイズ等を除去するためである。
【0082】
ここで、動きベクトルの一例を説明すると、例えば、図8(b)〜(d)の画像の右隅に示すものが挙げられる。図8に示す動きベクトルは、顔画像全体に領域グループが設定されたときに得られるものであり、各画像について1つずつ得られている。同図に示すように、動きベクトルは、運転者の顔の動きを的確に反映していることがわかる。
【0083】
ステップST26の後、マイコン3は、すべての領域グループについて処理したか否かを判断する(ST27)。いずれかの領域グループについて処理をしてないと判断した場合(ST27:NO)、処理は再度ステップST20に戻り、同様の処理を行っていくこととなる。一方、すべての領域グループについて処理したと判断した場合(ST27:YES)、処理は終了する。
【0084】
次に、単位時間あたりの統計的代表値の算出処理(図5:ST7)及び覚醒状態判定処理(図5:ST8)について詳細に説明する。まず、統計的代表値の算出については、平均値を統計的代表値としている場合と、中間値や最頻値を統計的代表値としている場合とでそれぞれ異なった演算が行われる。
【0085】
しかし、一定時間中に検出された顔の動きベクトルから統計的代表値を求める点については、共通している。ここで、平均移動量、顔の動きベクトル、及び統計的代表値の例を説明する。
【0086】
図10は、平均移動量、顔の動きベクトル、及び統計的代表値を示す説明図である。なお、図10において、縦軸(図面左側)は大きさを示しており、横軸は時刻(秒)を示している。また、図10の縦軸(図面右側)は覚醒度を示している。また、図10に示す例では、単位時間を30秒としたときの動きベクトルの平均値を統計的代表値としている。
【0087】
平均移動量から求められる動きベクトルは同図に示すようになり、単位時間が30秒であるため、動きベクトルの平均値は30秒ごとにそれぞれの値として得られている。図10によれば、時刻180〜240(秒)の区間において運転者の動きが少なく、平均移動量及び動きベクトルが小さくなっている。また、時刻330(秒)以降についても、同様に、平均移動量及び動きベクトルが小さくなっている。
【0088】
ここで、図10に示す例では、統計的代表値として動きベクトルの平均値を用いている。このため、上記の動きベクトルが小さい区間においては、統計的代表値も小さくなる。
【0089】
また、図10に示す例において、マイコン3は、平均値を覚醒度におきかえる処理を行う。すなわち、図10に示す縦軸(図面右側)に示すように、平均値を1/5にして、覚醒度を得る処理を行う。この覚醒度は平均値から演算により求められるものであり統計的代表値の1つといえる。
【0090】
マイコン3は、統計的代表値を算出すると、覚醒状態の判定を行う。例えば図10に示すような平均値に基づいて、覚醒状態判定処理(図5:ST8)を行う場合、以下のような処理が実行される。
【0091】
まず、覚醒状態判定処理に際しては、図10にて得られた覚醒度を覚醒状態が判別しやすい状態に変換する処理を行う。具体的には、図10に示す覚醒度の値を整数値で四捨五入し、得られた値を2倍し、その後「1」を加える。これにより得られた結果が図11に示されている。
【0092】
図11は、図10に示す平均値から得られた覚醒度を示す説明図である。なお、図11において、縦軸は覚醒度を示し、横軸は時刻(秒)を示している。図10では動きベクトルの値が時刻180〜240(秒)及び時刻330(秒)以降の区間において、小さいものとなっていた。このため、得られる平均値も小さくなり、図11に示すように覚醒度も「2」以下と小さくなる。すなわち、これらの区間は低覚醒度状態となっている。
【0093】
マイコン3は、例えば、上記低覚醒度状態(すなわち覚醒度が「2」以下のとき)のときに運転者が居眠り状態であると判断し、低覚醒度状態でないとき(すなわち覚醒度が「2」を超えるとき)に運転者が正常状態であると検出する。
【0094】
すなわち、マイコン3は、運転者の覚醒状態が正常状態であると判断しているときに、覚醒度(統計的代表値の1つ)が所定の閾値以下となった場合、閾値以下となった時点よりあとの覚醒状態を居眠り状態とする。また、マイコン3は、運転者の覚醒状態が居眠り状態であると判断しているときに、覚醒度(統計的代表値の1つ)が所定の閾値より大きくなった場合、閾値より大きくなった時点よりあとの覚醒状態を正常状態とする。ここで、統計的代表値は、単位時間毎に平均化等により得られるものであるため、ノイズ等の影響が少なくなっている。このため、判定精度の向上が図ることができる。
【0095】
このようにして、本実施形態に係る覚醒状態検出装置1によれば、時系列に連続する少なくとも2枚の顔画像からオプティカルフローを検出している。このオプティカルフローは、画像内の何らかの物体等に動きがあったときに、その動きを表すものである。すなわち、被検出者の顔を撮像することにより、被検出者の顔に動きがあった場合には、その動きがオプティカルフローとして検出されることとなる。
【0096】
ここで、被検出者が車両の運転者である場合、車両の運転者は、正常状態(すなわち起きている状態)にあるときには、巻き込み確認等の種々の動作を行う。このため、運転者が正常状態にあるときには、オプティカルフローが得られやすい状態にあるといえる。一方、運転者が居眠り状態にあるときには、動作が行われ難く、オプティカルフローが得られ難い状態にある。
【0097】
このように、被検出者の覚醒状態に応じてオプティカルフローに特徴が現れることから、オプティカルフローに基づいて精度良く被検出者の覚醒状態を検出することができる。
【0098】
従って、判定精度の向上を図ることができる。
【0099】
また、オプティカルフローから動きベクトルを検出し、検出した動きベクトルから単位時間あたりの統計的代表値を算出している。そして、被検出者の覚醒状態が正常状態であるときに、統計的代表値が所定の閾値以下となった場合、閾値以下となった時点よりあとの覚醒状態を居眠り状態とする。ここで、統計的代表値は、単位時間毎に平均化等により得られるものであるため、ノイズ等の影響が少なくなっている。従って、判定精度の向上が図ることができる。また、同様に、被検出者の覚醒状態が居眠り状態であるときに、統計的代表値が所定の閾値を超えた場合についても、閾値を超えた時点よりあとの覚醒状態を正常状態とする。従って、判定精度の向上が図ることができる。
【0100】
また、顔画像撮像部10は、被検出者の顔全体を一画像内に収めることができる画角を有し、固定して設置されている。すなわち、顔画像撮像部10は、一画像内に被検出者の顔が収まった状態で撮像することができる。そして、一画像内に顔が収まることで顔全体の動きに基づいて覚醒状態を検出できることとなり、顔の一部だけに基づいたことによって、覚醒状態の検出精度が低下してしまうことを防止することができる。従って、検出精度の向上を図ることができる。
【0101】
また、検出開始時には被検出者の覚醒状態が正常状態であるとする。検出開始時としては、例えば車両乗車時などが該当するが、この時点で既に運転者が居眠り状態ということはあり得ない。そこで、被検出者の覚醒状態は、検出開始時において正常状態であるとすることで、覚醒状態の判定精度の向上が図ることができる。
【0102】
また、顔画像に対して所定の大きさ及び位置で定められる少なくとも1つの参照領域からオプティカルフローを求めている。このため、顔画像のよりも小さい領域からオプティカルフローを求めていることになり、詳細な検出が行われることとなる。
【0103】
そして、検出したオプティカルフローに基づいて、参照領域を少なくとも1つ含んで顔画像上に定められる領域グループから顔の動きベクトルを求めている。すなわち、詳細に検出したオプティカルフローに基づいて、顔の動きベクトルが求められていることとなる。
【0104】
このため、領域グループ全体から直接にオプティカルフローを求める場合に比して、詳細に画像内の物体等の移動を検出している分、精度の高い検出を行うことができる。
【0105】
また、参照領域は、顔画像のサイズに基づいて、顔部位程度の大きさに設定されている。このため、大き過ぎる参照領域を設定して計算量が増大していしまうことを防止すると共に、1つの参照領域内に同時に複数の特徴的な部位が入る可能性を少なくすることができる。さらに、小さ過ぎる領域を設定して特徴的な部位がない領域となることを防ぐことができる。
【0106】
次に、本発明の第2実施形態を説明する。図12は、第2実施形態に係る覚醒状態検出装置1aの機能ブロック図である。第2実施形態に係る覚醒状態検出装置1aは、第1実施形態のものとほぼ同様であるが、覚醒状態検出部30の構成が第1実施形態のものと異なっている。具体的には、覚醒状態検出部30に代えて開閉状態検出部(開閉状態検出手段)33を備える点で異なっている。また、顔画像撮像部10の撮像箇所等についても第1実施形態と異なっている。
【0107】
以下、第1実施形態との相違点について説明する。まず、第2実施形態の顔画像撮像部10は、被検出者の顔を撮像するものであるが、特に被検出者の眼の部分を撮像するものである。より詳しくは、顔画像撮像部10は、被検出者の少なくとも一方の眼が画像の中心となるように撮像を行うものであって、眼を中心とするために、被検出者の顔の動きに併せて追従動作を行うものである。
【0108】
また、顔画像撮像部10は、眼の位置を画像の中心としつつも眼全体が一画像内に収まるようにして撮像を行うものである。従って、第2実施形態に係る顔画像撮像部10は、被検出者の少なくとも一方の眼を中心にして眼全体が一画像内に収まる画像(以下眼画像という)を取得するものである。
【0109】
第2実施形態の覚醒状態検出部30は、内部に動きベクトル検出部31と、開閉状態検出部33とを備えている。本実施形態では顔画像撮像部10は眼を撮像する。このため、動きベクトル検出部31は、オプティカルフロー検出部20にて検出されたオプティカルフローから、瞼の動きベクトルを検出する構成とされている。
【0110】
また、開閉状態検出部33は、動きベクトル検出部31にて検出された瞼の動きベクトルから、眼の開閉状態を検出するものである。ここで、開閉状態の検出は、本装置1bが電源をオフされるなどして停止するまで繰り返される。このため、覚醒状態検出部30は、開閉状態検出部33による開閉状態の検出が複数回に渡って行われた段階で、瞼の開閉状態について時系列的変化の情報を取得できることとなる。そして、覚醒状態検出部30は、瞼の開閉状態の時系列的変化から、被検出者の覚醒状態を検出することとなる。
【0111】
なお、本装置1aについても第1実施形態のものと同様に、自動車、鉄道車両、船舶の被検出者やプラントのオペレータ等に用いることができるが、以下、本実施形態においては、車両運転者の覚醒状態を検出する場合を例に説明することとする。
【0112】
図13は、本発明の第2実施形態に係る覚醒状態検出装置1aを車両に搭載した場合のハード構成図である。同図に示すように、顔画像撮像部10としてTVカメラ2は、運転者の頭部に取り付けられている。また、TVカメラ2は、ミラー4を介して眼を撮像するように構成されている。ここで、TVカメラ2は、運転者の頭部に取り付けられていることから、運転者が頭を動かした場合には、その動きに追従することとなる。また、TVカメラ2は、ミラー4の位置に設置され、直接に眼を撮像する構成とされてもよい。さらに、TVカメラ2は、インストルメント上に設置されされ、運転者に視点の位置を自動追尾しながら眼を撮像する構成とされてもよい。
【0113】
なお、第1実施形態と同様に、マイコン3には、オプティカルフロー検出部20及び覚醒状態検出部30を構成するプログラムロジックがプログラミングされている。この覚醒状態検出部30のプログラムロジックには、動きベクトル検出部31、及び開閉状態検出部33のそれぞれのロジックが含まれている。
【0114】
次に、上記覚醒状態検出装置1aの動作を説明する。図14は、図12に示した覚醒状態検出装置1aの基本動作を示すフローチャートである。なお、図14のステップST30〜ST32の処理は、図5に示すST1〜ST3の処理と同様であるため、説明を省略する。
【0115】
ステップST33において、マイコン3は、眼画像の撮像処理を実行する(ST33)。これにより、TVカメラ2は、被検出者の眼を撮像する。その後、マイコン3は、図5のステップST4と同様に、オプティカルフローの検出処理を実行する(ST34)。
【0116】
その後、マイコン3は、瞼の動きベクトルの検出処理を実行する(ST35)。なお、この処理は、図12にて説明した動きベクトル検出部31にて行われる処理である。すなわち、マイコン3は、動きベクトル検出部31に相当するプログラムを実行することとなる。
【0117】
動きベクトルの検出後、マイコン3は、瞼の開閉状態判定処理を実行する(ST36)。この処理は、図12にて説明した開閉状態検出部33にて行われる処理である。すなわち、マイコン3は、開閉状態検出部33に相当するプログラムを実行することとなる。
【0118】
その後、マイコン3は、覚醒状態判定処理を実行し、覚醒状態を検出する(ST37)。このステップST37の処理は、ステップST36にて検出された瞼の開閉状態の時系列的変化に基づいて行われる。また、ステップST37の処理は、図1にて説明した動き覚醒状態検出部30にて行われる処理である。すなわち、マイコン3は、覚醒状態検出部30に相当するプログラムを実行することとなる。
【0119】
その後、処理はステップST31に戻る。そして、電源がオフされるまで、ステップST31〜ST37の処理を繰り返していく。すなわち、時系列的に検出等が行われることとなる。
【0120】
上記動作をより詳しく説明すると、まず、本実施形態ではオプティカルフローを求めているので、眼画像内の動き、すなわち瞼の動きを検出することができる。このため、被検出者が瞼を閉じる動作、及び開く動作をオプティカルフローとして捕らえることができる。
【0121】
そして、瞼が閉じる動作、及び開く動作を捕らえることができるため、この開閉動作のデータを時系列的に収集することにより、開閉状態の時系列的変化に関する情報を取得できることとなる。そして、例えば、開閉状態の時系列的変化から、瞼の閉状態が維持される時間を計測することにより、閉状態の継続時間を検出できるようになる。
【0122】
ここで、閉状態の継続時間は運転者の覚醒度に直接影響を及ぼすものであり、継続時間を取得することは覚醒状態の検出において精度の高い検出を可能とするものといえる。このため、瞼の閉状態が継続する場合、運転者は居眠りである可能性が高く、マイコン3は、覚醒状態が居眠り状態であると検出する。一方、閉動作があったとしても、その後にまもなく開動作が行われた場合、単なる瞬きである可能が高く、マイコン3は、覚醒状態が正常状態であると検出する。
【0123】
次に、オプティカルフローの検出例を説明する。図15は、瞼の開閉を検出する場合に得られるオプティカルフローの例を示す説明図であり、(a)は時刻tにおけるオプティカルフローの例を示し、(b)は時刻(t+1)におけるオプティカルフローの例を示し、(c)は時刻(t+2)におけるオプティカルフローの例を示している。
【0124】
まず、図15(a)に示すように、時刻tにおいて運転者の目は開いている状態となっている。その後、時刻(t+1)において運転者が目を閉じ始める。このとき、図15(b)に示すように、運転者の瞼の部分について画像縦方向(Y方向)にオプティカルフローが検出される。
【0125】
そして、時刻(t+2)において運転者の目が完全に閉じる。このときも、図15(c)に示すように、運転者の瞼部分には画像縦方向にオプティカルフローが検出される。なお、画像横方向(X方向)については、時刻t〜(t+2)を通じて、オプティカルフローがあまり検出されない。
【0126】
なお、図15から明らかなように、本実施形態においても、オプティカルフローは、参照領域から検出されている。また、瞼の動きベクトルは、検出されたオプティカルフローに基づいて、領域グループから求められることとなる。
【0127】
図16は、瞼の開閉を検出する場合に得られる平均移動量の移動平均(すなわち動きベクトル)を示す説明図である。なお、図16では、運転者が目を閉じ、その後目を開ける場合に得られる開閉状態の時系列的変化を示している。また、図16において、縦軸は平均移動量の移動平均の画素数を示し、横軸は時刻(1/30sec)を示している。
【0128】
まず、運転者が目を閉じる動作を行う場合、図16に示すように画像縦方向にオプティカルフローが検出され、画像横方向にはオプティカルフローがあまり検出されない。このため、得られる移動平均の値は、図16に示すようになる。
【0129】
具体的に説明すると、画像縦方向について運転者が目を開いている状態(時刻178〜186の期間)では、移動平均の値は「0」付近となっている。その後、運転者が目を閉じ始めると、画像縦方向のオプティカルフローが得られることから、移動平均の値が「6〜8」画素まで上昇する(時刻186〜190の期間)。
【0130】
そして、運転者が目を閉じ続けている状態(時刻190〜216の期間)では、移動平均の値は「6〜8」画素を維持し続ける。その後、運転者が目を開け始めると、移動平均の値は次第に減少する(時刻216〜237の期間)。
【0131】
一方、瞼のオプティカルフローは、画像横方向に余り検出されていない。このため、画像横方向については、時刻178〜186の期間においてほぼ同じ値を維持し続ける。
【0132】
このように、瞼の開閉状態は、瞼の動きベクトルから検出することができる。そして、この開閉状態の時系列的変化から、瞼の閉状態が長く検出される場合などには、運転者は居眠り状態であるなど検出することができる。
【0133】
例えば、図16に示す例にあっては、時刻178〜186の期間に瞼は閉状態となり、その後、時刻216〜237の期間に瞼が開状態となる。すなわち、少なくとも1秒近く閉状態が継続していることとなる。このため、覚醒度は高いものではない。従って、マイコン3は覚醒状態が居眠り状態であると検出する。なお、開閉状態の時系列的変化から覚醒状態を検出する方法としては、特開2002−279410号公報に記載の方法であってもよい。
【0134】
このようにして、本実施形態に係る覚醒状態検出装置1aによれば、第1実施形態と同様に、判定精度の向上を図ることができる。
【0135】
また、本実施形態ではオプティカルフローを求めているので、眼画像内の動き、すなわち瞼の動きを検出することができる。このため、被検出者の瞼が閉じる動作、及び開く動作をオプティカルフローとして捕らえることができる。
【0136】
そして、瞼の開閉動作を捕らえることができるため、例えば、閉状態の継続時間についても検出できるようになる。ここで、閉状態の継続時間は運転者の覚醒度に直接影響を及ぼす事項であり、継続時間を取得することは覚醒状態の検出において精度の高い検出を可能とするものといえる。また、継続時間に限らず、瞼の開閉速度や他の情報を取得したとしても、同様に覚醒状態の検出において精度の高い検出が可能となる。
【0137】
従って、判定精度の一層の向上を図ることができる。
【0138】
また、顔画像撮像部10は、被検出者の少なくとも一方の眼を中心にして眼全体が一画像内に収まるように被検出者の頭の動きに併せて追従動作を行う。このため、被検出者がどのような方向に向いたとしても眼画像が得られることとなり、
眼全体に基づいて覚醒状態が検出される。故に、眼が撮像されなくなってしまい、覚醒状態の検出が不正確となってしまうことを防止することができる。従って、精度の向上を図ることができる。
【0139】
また、眼画像に対して所定の大きさ及び位置で定められる少なくとも1つの参照領域からオプティカルフローを求めている。このため、眼画像のよりも小さい領域からオプティカルフローを求めていることになり、詳細な検出が行われることとなる。
【0140】
そして、検出したオプティカルフローに基づいて、参照領域を少なくとも1つ含んで顔画像上に定められる領域グループから瞼の動きベクトルを求めている。すなわち、詳細に検出したオプティカルフローに基づいて、瞼の動きベクトルが求められていることとなる。
【0141】
このため、領域グループ全体から直接にオプティカルフローを求める場合に比して、詳細に画像内の物体等の移動を検出している分、精度の高い検出を行うことができる。
【0142】
次に、本発明の第3実施形態を説明する。第3実施形態に係る覚醒状態検出装置1bは、第2実施形態のものと同様である。しかし、第2実施形態の構成に加え、眼位置検出部(眼位置検出手段)40と、眼領域画像抽出部(眼領域画像抽出手段)50を備える点で、第2実施形態のものと異なっている。また、顔画像撮像部10の撮像範囲についても第2実施形態のものと異なっている。
【0143】
以下、第2実施形態との相違点について説明する。図17は、第3実施形態に係る覚醒状態検出装置1bの機能ブロック図である。まず、第3実施形態に係る顔画像撮像部10は、少なくとも眼を含んで顔を撮像する構成とされている。好適には、確実に眼を撮像すべく、顔画像全体を撮像するものとされている。すなわち、第3実施形態の顔画像撮像部10は、第1実施形態の顔画像撮像部10と同様に、固定して設置されており、固定して設置される個所から撮像したときに、被検出者の顔全体を一画像内に収まるのに充分な画角を有するものである。
【0144】
また、同図に示すように、顔画像撮像部10とオプティカルフロー検出部20との間には、眼位置検出部40及び眼領域画像抽出部50とが介在されている。眼位置検出部40は、顔画像撮像部10から送信されてきた画像、すなわち少なくとも眼を含む顔画像から、被検出者の眼の位置を検出するものである。また、眼位置検出部40は、検出した眼の位置情報を眼領域画像抽出部50に送信する構成とされている。
【0145】
眼領域画像抽出部50は、眼全体を囲む領域を眼領域画像として抽出するものである。また、眼領域画像抽出部50は、眼領域画像を抽出する際、眼位置検出部40によって検出された眼の位置を中心とし、画像全体よりも小さくされた領域を眼領域画像として抽出するものである。また、眼領域画像抽出部50は、オプティカルフロー検出部20に眼領域画像のデータを送出する構成とされている。このため、オプティカルフロー検出部20は、画像全体からではなく、眼が領域画像からオプティカルフローを検出することとなる。
【0146】
なお、本実施形態のハード構成は、第2実施形態のものと同様である。但し、マイコン3内に、眼位置検出部40及び眼領域画像抽出部50に相当するロジックがプログラミングされている。また、本装置1bについても第2実施形態のものと同様に、自動車、鉄道車両、船舶の被検出者やプラントのオペレータ等に用いることができるが、以下、本実施形態においては、車両運転者の覚醒状態を検出する場合を例に説明することとする。
【0147】
次に、上記覚醒状態検出装置1bの動作を説明する。図18は、図17に示した覚醒状態検出装置1bの基本動作を示すフローチャートである。なお、図18のステップST40〜ST43の処理は、図14に示すST30〜ST33の処理と同様であるため、説明を省略する。
【0148】
ステップST44において、マイコン3は、顔画像内から眼の位置を検出する(ST44)。すなわち、マイコン3は、眼位置検出部40に相当するプログラムを実行することとなる。なお、この処理において眼の位置が検出されると、眼の位置の検出状態を示す検出フラグ「GetFlag」が「TRUE」とされることとなる。一方、眼の位置が検出されなかった場合、検出フラグ「GetFlag」が「FALSE」とされることとなる。
【0149】
その後、マイコン3は、眼領域画像抽出処理を実行する(ST45)。すなわち、マイコン3は、眼領域画像抽出部50に相当するプログラムを実行することとなる。
【0150】
そして、マイコン3は、検出フラグ「GetFlag」が「TRUE」であるか否かを判断する(ST46)。検出フラグ「GetFlag」が「TRUE」でないと判断した場合(ST46:NO)、眼の位置が検出されておらず、処理はステップST41に戻る。そして、再度、眼の位置検出が行われることとなる。
【0151】
一方、検出フラグ「GetFlag」が「TRUE」であると判断した場合(ST46:YES)、マイコン3は、オプティカルフロー検出処理を実行する(ST47)。以下、ステップST47〜ST50は、図12に示すステップST34〜ST37の処理と同様であるため、説明を省略する。
【0152】
次に、眼位置検出処理(ST44)の詳細な動作について説明する。図19は、図18に示した眼位置検出処理(ST44)の詳細な動作を示すフローチャートである。
【0153】
同図に示すように、ステップST43の後、マイコン3は、検出フラグ「GetFlag」が「FALSE」とする(ST60)。そして、マイコン3は、眼である可能性を有する候補の位置の特定処理を実行する(ST61)。この処理により、顔画像全体から眼の候補の位置が1又は複数特定される。
【0154】
その後、マイコン3は、眼判定処理を実行する(ST62)。なお、この処理では、眼の候補の位置特定処理(ST61)にて特定された1又は複数の眼の候補のうち1つを選別し、この選別した候補が眼であるか否かを判断する。
【0155】
その後、マイコン3は、眼の判定処理(ST61)の結果に基づいて、選別された眼の候補が眼であると判定されたか否かを判断する(ST62)。眼であると判定されていなかった場合(ST62:NO)、マイコン3は、特定された1又は複数の眼候補のすべてについて判定したか否かを判断する(ST64)。
【0156】
全てに対して判定した場合(ST64:YES)、処理は図18のステップST45に移行する。一方、全てに対して判定していない場合(ST64:NO)、処理はステップST62に戻る。
【0157】
ところで、ステップST63において、眼であると判定されていた場合(ST63:YES)、マイコン3は、眼検出フラグ「GetFlag」を「TRUE」にする(ST64)。そして、処理は図18のステップST45に移行する。
【0158】
以上のようにして、本装置1では、眼である可能性を有する1又は複数の眼候補を画像全体から特定し、特定された1又は複数の眼候補を1つずつ判定して眼を検出することとなる。なお、眼である可能性を有する1又は複数の眼候補を画像全体から特定する処理(ステップST61の処理)は、以下のようにして行われる。
【0159】
図20は、図19に示した眼候補位置特定処理(ST61)の詳細を示すフローチャートである。同図において、まず、マイコン3は、顔画像のデータ全体を、全体画像として画像メモリに保存する(ST70)。
【0160】
次に、マイコン3は、ステップST71の判断を行う。この判断については後述する。ステップST71において「NO」と判断された場合、マイコン3は、全体画像の縦方向(Y軸方向)の画素列のうち1ラインのみに沿って濃度値の相加平均演算を行う(ST72)。
【0161】
この相加平均演算は、例えば縦方向に並ぶ所定数の画素について、濃度の平均値を求め、所定数の画素のうちの1画素の濃度値を前記平均値とする処理である。例えば、所定数が「5」である場合、画面上方から1〜5番目に位置する画素を選択して平均値を求め、この平均値を5番目の画素の濃度値とする。次に、画面上方から2〜6番目に位置する画素を選択して平均値を求め、この平均値を6番目の画素の濃度値とする。そして、これを順次繰り返し、1ラインすべての画素について濃度の平均値を求める。
【0162】
このように相加平均演算することで、本装置1は、画像データ撮影時の濃度値の変化の小さなバラツキを無くすことができ、濃度値の大局的な変化を捉えることができる。
【0163】
相加平均演算後、マイコン3は、縦方向に相加平均値の微分演算を行う(ST73)。そして、マイコン3は、微分値に基づいてポイント抽出を行う(ST74)。このポイント抽出とは、縦方向の画素列に沿って画素濃度の相加平均値の局所的な高まり毎に1個ずつの画素を定める処理であって、例えば相加平均値の微分値が負から正に変化する画素を定める処理である。
【0164】
ポイントとなる画素を定めた後、マイコン3は、現在ポイント抽出していたラインを次ラインへ切り替える(ST75)。そして、マイコン3は、縦方向の全ラインでのポイント抽出が終了したか否かを判断する(ST71)。全ラインでのポイント抽出が終了していないと判断した場合(ST71:NO)、前述のステップST72〜ST75の処理を経て、再度ステップST71に戻る。
【0165】
一方、全ラインでのポイント抽出が終了したと判断した場合(ST71:YES)、隣り合う各ラインの抽出ポイントのY座標値を比較する。そして、Y座標値が所定値以内の場合、連続データとして、(i)連続データのグループ番号、(ii)連続開始ライン番号、(iii)連続データ数をメモリする。また、(iv)連続データを構成する各抽出ポイントの縦方向位置の平均値(その連続データの代表上下位置)、(v)連続開始ラインと終了ラインの横方向位置の平均値(その連続データの代表左右位置)をメモリする(ST76)。
【0166】
なお、上記処理では、眼の候補を特定としようとしているため、連続データは横方向比較的長く延びるものとなる。このため、マイコン3は、連続データ形成後、横方向に所定値以上続くことを条件に連続データを選択することができる。
【0167】
その後、マイコン3は、各連続データについて代表座標値Cを定め、これを基準として存在領域EAを設定する(ST77)。この代表座標値Cとは、ステップST76の処理において、メモリされたX座標値の平均値及びY座標値の平均値により決定するものである(上記iv,vに示す平均値)。なお、存在領域EAについては、図21〜図26を参照して後述する。
【0168】
代表座標値Cを定めて存在領域EAを設定した後、処理は、図19のステップST62に移行する。以上が、眼候補位置特定処理(ST61)である。以上のようにして、求められた連続データが眼の候補となり、連続データの代表座標値Cが眼の候補点の位置となる。
【0169】
次に、縦方向の画素列ごとに定められた抽出ポイントが画像横方向に隣接する場合に形成される連続データ、その連続データの代表座標値C及び存在領域EAについて説明する。
【0170】
図21は、図20に示したステップST76の処理にて形成される連続データ、並びにステップST77の処理にて定められる代表座標値C及び存在領域EAを示す説明図である。なお、眼候補位置特定処理(ST61)は、1又は複数の眼候補を特定するものであるが、図21では複数の眼候補が特定された場合を例に説明する。
【0171】
同図に示すように、マイコン3は、複数の連続データGを形成している。これは、眼を検出対象としているため、眼と似た特徴量を示すもの(口、鼻、眉毛など)が検出されるためである。
【0172】
連続データGは、前述したように、縦方向の画素列ごとに定められた抽出ポイントが画像横方向に隣接する場合に形成されるものである。そして、この連続データを形成する横方向両端の画素のX座標値の平均値と、連続データを形成する各画素のY座標の平均値により、代表座標値Cが決定される。さらに、存在領域EAは、この代表座標値Cを基準として設定される。
【0173】
次に、存在領域EAの設定方法を説明する。図22は、図21に示した存在領域EAの大きさを示す説明図であり、図23及び図24は数人の眼の大きさを調べた横Xa、縦Yaの長さの統計データを示す説明図であり、図25は存在領域EAの画像上の位置を決定する方法を示す説明図である。
【0174】
存在領域EAの設定は、存在領域EAの大きさが決定され、その後、存在領域EAの画像上における位置が定められることでなされる。存在領域EAの大きさは、ノイズ(顔の皺や明暗などを抽出してしまう)の低減や処理速度を落とさないためにも、可能な限り小さい領域が良い。本実施形態では、数人の顔部位の大きさを調べ、それに余裕分(例えば×1.5倍)を加味して、存在領域EAの大きさを決定している。すなわち、図23及び図24のように、眼の縦横寸法のデータを集め、その分布の例えば95%をカバーする寸法に余裕分を考慮して決定する方法を採用している。
【0175】
そして上記95%をカバーする寸法、すなわち横寸法xa、縦寸法yaに余裕分(×1.5)を加味して決定している(図22)。なお、存在領域EAの大きさについては、画像処理により眼の幅や高さを推定し、縦横の大きさに余裕分を加える大きさとしてもよい。
【0176】
このように存在領域EAの大きさが決定された後、図25に示すように、例えば眼の座標値(x1,y1)を基準に、基準点Pを決める。基準点Pは、眼の座標値(x1,y1)から距離x2,y2だけ離れた位置に定められるものである。
【0177】
そして、マイコン3は、点Pを基準に存在領域EAの寸法x3,y3を描画する。これにより、存在領域EAの位置が決定される。その後、顔画像全体で見つかった連続データGすべてについて存在領域EAを設定する。
【0178】
なお、上記のx2及びy2はx3,y3の1/2であって、予め存在領域EAが眼の中心にくるような長さとしている。
【0179】
以上の図20〜図25の処理により、図19の眼候補位置特定処理(ST61)がなされる。
【0180】
次に、図19の眼判定処理(ST62)について説明する。図26は、図19に示した眼判定処理(ST62)の詳細を示すフローチャートである。
【0181】
まず、マイコン3は、図20の処理にて求められた存在領域EAの画像データを微少画像IGとして画像メモリに保存する(ST80)。全体画像と画像メモリに保存される微小画像IGとの状態を図27に示す。図27は、微小画像を示す説明図である。図27に示すように、マイコン3は、全体画像から存在領域EA内の画像を抽出し、微小画像IGとしている。
【0182】
再度、図26を参照して説明する。マイコン3は、全体画像の代表座標値Cを微少画像IGの代表座標値ICとする。そして、マイコン3は、微少画像IGの代表座標値ICを基準とした範囲ARを設定し、範囲ARの濃度情報をもとに二値化閾値を設定する(ST81)。
【0183】
範囲ARでの二値化閾値の算出方法の一例を、図28を参照して説明する。図28は、範囲ARでの二値化閾値の算出方法の説明図である。まず、マイコン3は、範囲ARにおいて縦方向に数ラインの濃度値の読み出しを行う。
【0184】
そして、マイコン3は、各ラインにおいて濃度値の最も高い(明るい)濃度値と、最も低い(暗い)濃度値をメモリしていく。全ラインのメモリが終了したら、マイコン3は、各ラインの最も高い(明るい)濃度値の中で、一番低い濃度値(皮膚の部分)と、各ラインの最も低い(暗い)濃度値の中で、一番低い濃度値(眼の部分)とを求める。そして、その中央値を二値化閾値とする。
【0185】
なお、上記した範囲ARは、好適に二値化閾値を決定するため、眼の黒い部分と眼の周囲の皮膚の白い部分が入るように設定される。また、範囲ARは、画像の明るさのバラツキによる影響を少なくするために必要最小限の大きさにされる。
【0186】
さらに、二値化閾値は、範囲AR内の眼の一番低い(暗い)濃度値と、皮膚の部分の一番低い(暗い)濃度値の中央値とすることで、皮膚の部分から眼の部分を切り出すのに適した値になる。
【0187】
ここで、二値化閾値を決定するのに皮膚部分における一番低い(暗い)濃度値を用いている理由は、次の通りである。例えば、範囲ARの一部に直射光が当たっている場合、皮膚部分は、眼球の黒色部分に比して、光を強く反射する傾向にある。このため、本装置1bは、多くのノイズとも言える光を入力してしまうこととなる。
【0188】
この場合、濃度値を読み出す範囲ARを極力小さくしても、画像がノイズ光による影響を受け、本装置1bは正確な二値化閾値を決定できなくなる可能性がある。このため、本実施形態では、強く反射している可能性がある濃度値の高い部分を用いず、皮膚の部分の濃度値の一番低い(暗い)濃度値を用いることで、より適切な二値化閾値を決定できるようにしている。
【0189】
再度、図26を参照して説明する。二値化閾値の決定後、マイコン3は、決定した二値化閾値を用いて微少画像IGを二値化処理し、二値画像bGとして画像メモリに保存する(ST82)。
【0190】
次に、マイコン3は、全体画像の代表座標値Cを二値画像bGの位置bCとし、この位置bCを初期位置として設定する(ST83)。その後、マイコン3は、設定位置が黒画素か否かを判断する(ST84)。ここでは、ステップST43において設定された初期位置が黒画素か否か判断される。
【0191】
そして、設定位置が黒画素でないと判断した場合(ST84:NO)、マイコン3は、設定位置を上下左右に1画素ずつずらす(ST85)。その後、マイコン3は、再度、設定位置が黒画素か否かを判断する。ここでは、ステップST45においてずらされた設定位置が黒画素か否か判断される。そして、黒画素と判断されるまで、この処理が繰り返される。
【0192】
一方、設定位置が黒画素であると判断した場合(ST84:YES)、マイコン3は、その黒画素の連結成分を候補オブジェクトとして設定する(ST86)。そして、マイコン3は、候補オブジェクトの幾何形状を算出する(ST87)。
【0193】
算出後、マイコン3は、予め記憶している眼のテンプレートの幾何形状と候補オブジェクトの幾何形状とを比較する(ST88)。候補オブジェクトと眼のテンプレートとの幾何形状の比較方法の一例を、図29を参照して説明する。
【0194】
図29は、候補オブジェクトと眼のテンプレートとの幾何形状の比較方法の説明図であり、(a)は候補オブジェクトが最適な状態で撮像された場合を示し、(b)は眼の右側が欠けた状態を示し、(c)は眼の左側が欠けた状態を示している。
【0195】
眼の画像を二値化した形状は光環境が良く安定した画像であれば図29(a)に示すようなものになる。ところが、車室内に直射日光が一側から当たる等して光環境が悪化したときには、図29(b)及び(c)に示すように、一部が欠けた形状になることもある。
【0196】
マイコン3は、上記のような候補オブジェクトを正確に判断するために、3つの条件により比較判断を行う。まず、条件(i)としては、横幅が眼の相場値の2/3以上あり、且つ上に凸の所定範囲の曲率を持っていることである。次に、条件(ii)としては、黒眼の左側の凹み形状があることである。また、条件(iii)としては、黒眼の右側の凹み形状があることである。
【0197】
再度、図26を参照して説明する。幾何形状の比較後、マイコン3は、上記3つの条件に基づき、比較判断を行い、候補オブジェクトと眼テンプレートとの幾何形状が一致するか否かを判断する(ST89)。ここで、図13(b)及び(c)のように眼の形状の一部が欠けている場合を考慮し、マイコン3は、条件(i)及び(ii)を満たすもの、並びに条件(ii)及び(iii)を満たすものを一致すると判断する。
【0198】
一致しないと判断した場合(ST89:NO)、マイコン3は、その候補オブジェクトが眼でないと判定し(ST90)、その後、処理は、図19のステップST63に移行する。
【0199】
一方、一致すると判断した場合(ST89:YES)、マイコン3は、その候補オブジェクトが眼であると判定する(ST91)。そして、判定された候補オブジェクトの座標値(全体画像における代表座標値Cに相当する)を、画像上における眼の座標値としてメモリする(ST92)。
【0200】
その後、マイコン3は、ステップST90において一致すると判断された候補オブジェクトを含む微小画像IGを眼画像MGiとして、画像メモリに保存する(ST93)。その後、処理は、図19のステップST63に移行する。
【0201】
なお、図26の処理では、二値化閾値を用いて二値化した候補オブジェクトを検出している。このため、本実施形態では、眼の部分と他の部分(背景や眼以外の顔部分)とを明確に区別し、眼を正確に捉えることができる。さらには、候補オブジェクトの幾何形状を用いた判定をより正確に行うことができ、眼の位置検出精度をより向上させることができる。
【0202】
以上、図28〜図29を参照して説明したように、マイコン3(眼位置検出部40)は、顔画像全体から眼を検出する。そして、前述したように、眼が検出されると、眼検出フラグ「GetFlag」が「TRUE」とされる。そして、図18に示すように、眼領域画像抽出処理(ST45)、オプティカルフロー検出処理(ST47)及びそれ以降の処理が実行される。
【0203】
すなわち、マイコン3は、眼領域画像抽出処理(ST45)を実行し、検出した眼の位置から眼領域画像を抽出する。そして、マイコン3は、オプティカルフロー検出処理(ST47)を実行し、眼画像領域内からオプティカルフローを検出する。この際、マイコン3は、第2実施形態に示したものと同様に、眼画像領域内において所定の大きさ及び位置で定められる参照領域からオプティカルフローを検出する。
【0204】
さらに、マイコン3は、瞼の動きベクトル検出処理(ST48)を実行し、眼領域画像内に定められる領域グループから、瞼の動きベクトルを検出する。その後、マイコン3は、開閉状態判定処理(ST49)を実行し、瞼の開閉状態の時系列的変化を求める。そして、マイコン3は、瞼の開閉状態の時系列的変化から、運転者の覚醒状態を検出する。
【0205】
このようにして、本実施形態に係る覚醒状態検出装置1bによれば、第1実施形態と同様に、判定精度の向上を図ることができ、判定精度の一層の向上を図ることができ、詳細に画像内の物体等の移動を検出している分、精度の高い検出を行うことができる。
【0206】
さらに、本実施形態では、眼付近のオプティカルフローを求めるに際して、顔画像から眼の位置を検出し、その後眼領域画像を抽出することとしている。このため、第2実施形態のように、眼を追従して撮像する手段を要することなく、構成の簡素化を図ることができる。
【0207】
また、顔画像撮像部10は、被検出者の顔全体を一画像内に収めることができる画角を有し、固定して設置されている。すなわち、顔画像撮像部10は、一画像内に被検出者の顔が収まった状態で撮像することができる。このため、一画像内に顔が収まることから、確実に瞼を一画像内に収めることができ、さらに確実に瞼の動きを捕らえることができる。この結果、瞼の動きに基づいて覚醒状態を検出できることとなり、瞼が撮像されずに、覚醒状態の検出精度が低下してしまうことを防止することができる。従って、検出精度の向上を図ることができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態に係る覚醒状態検出装置の構成図である。
【図2】参照領域及び探索領域の説明図である。
【図3】顔画像に規則的に配置される参照領域の説明図であり、(a)は顔画像上の横方向に参照領域が複数(例えば7つ)配置される例を示し、(b)は顔画像上に格子状に参照領域が複数(例えば5行7列)配置される例を示し、(c)は横方向に且つ格子状に参照領域が複数(例えば3行5列に加え、さらに横方向に2つの計17)配置される例を示している。
【図4】本発明の第1実施形態に係る覚醒状態検出装置1を車両に搭載した場合のハード構成図である。
【図5】図1に示した覚醒状態検出装置の基本動作を示すフローチャートである。
【図6】図5に示したオプティカルフロー検出処理(ステップST5)の詳細なフローチャートである。
【図7】図6に示すステップST11における移動量(xd,yd)の算出方法の説明図である。
【図8】運転者が左方向に顔の向きを変える場合のオプティカルフローの例を示す説明図であり、(a)は時刻tにおけるオプティカルフローの例を示し、(b)は時刻(t+1)におけるオプティカルフローの例を示し、(c)は時刻(t+2)におけるオプティカルフローの例を示し、(d)は時刻(t+3)におけるオプティカルフローの例を示している。
【図9】図5に示した動きベクトルの検出処理(ST6)の詳細なフローチャートである。
【図10】平均移動量、顔の動きベクトル、及び単位時間を30秒としたときの動きベクトルの平均値(統計的代表値)を示す説明図である。
【図11】図10に示す平均値から得られた覚醒度を示す説明図である。
【図12】第2実施形態に係る覚醒状態検出装置の機能ブロック図である。
【図13】本発明の第2実施形態に係る覚醒状態検出装置を車両に搭載した場合のハード構成図である。
【図14】図12に示した覚醒状態検出装置の基本動作を示すフローチャートである。
【図15】瞼の開閉を検出する場合に得られるオプティカルフローの例を示す説明図であり、(a)は時刻tにおけるオプティカルフローの例を示し、(b)は時刻(t+1)におけるオプティカルフローの例を示し、(c)は時刻(t+2)におけるオプティカルフローの例を示している。
【図16】瞼の開閉を検出する場合に得られる平均移動量の移動平均(すなわち動きベクトル)を示す説明図である。
【図17】第3実施形態に係る覚醒状態検出装置の機能ブロック図である。
【図18】図17に示した覚醒状態検出装置の基本動作を示すフローチャートである。
【図19】図18に示した眼位置検出処理(ST44)の詳細な動作を示すフローチャートである。
【図20】図19に示した眼候補位置特定処理(ST61)の詳細を示すフローチャートである。
【図21】図20に示したステップST76の処理にて形成される連続データ、並びにステップST77の処理にて定められる代表座標値C及び存在領域EAを示す説明図である。
【図22】図21に示した存在領域EAの大きさを示す説明図である。図23及び図24は数人の眼の大きさを調べた横Xa、縦Yaの長さの統計データを示す説明図であり、図25は存在領域EAの画像上の位置を決定する方法を示す説明図である。
【図23】数人の眼の大きさを調べた横Xaの長さの統計データを示す説明図である。
【図24】数人の眼の大きさを調べた縦Yaの長さの統計データを示す説明図である。
【図25】存在領域EAの画像上の位置を決定する方法を示す説明図である。
【図26】図19に示した眼判定処理(ST62)の詳細を示すフローチャートである。
【図27】微小画像を示す説明図である。
【図28】範囲ARでの二値化閾値の算出方法の説明図である。
【図29】候補オブジェクトと眼のテンプレートとの幾何形状の比較方法の説明図であり、(a)は候補オブジェクトが最適な状態で撮像された場合を示し、(b)は眼の右側が欠けた状態を示し、(c)は眼の左側が欠けた状態を示している。
【符号の説明】
1,1a,1b…覚醒状態検出装置
10…顔画像撮像部(顔画像撮像手段)
20…オプティカルフロー検出部(オプティカルフロー検出手段)
30…覚醒状態検出部(覚醒状態検出手段)
31…動きベクトル検出部(動きベクトル検出手段)
32…代表値算出部(代表値算出手段)
33…開閉状態検出部(開閉状態検出手段)
40…眼位置検出部(眼位置検出手段)
50…眼領域画像抽出部(眼領域画像抽出手段)
【発明の属する技術分野】
本発明は、覚醒状態検出装置に関する。
【0002】
【従来の技術】
従来、閉眼状態が継続している時間を瞬き時間とし、所定の時間帯における瞬き時間毎に度数分布を求め、これに基づいて運転者の覚醒度レベルを判定する覚醒状態検出装置が知られている。この装置では、瞬きの信頼度を判定し、その信頼度に応じて度数重みを変化させ、所定時間帯の度数分布を求めている。すなわち、メータを見ている伏せ目状態など実際に眼が閉じていないものについて、度数分布にあまり反映させないようにし、誤った覚醒度レベルを判定しないようにしている(例えば特許文献1参照)。
【0003】
【特許文献1】
特開2003−000571号公報
【0004】
【発明が解決しようとする課題】
上記特許文献1の装置では、メータを見ている伏せ目の継続時間が、通常の瞬きによる閉眼状態の継続時間よりも長いことに着目している。そして、通常の瞬きより長い時間閉眼状態が検出された場合に、「0.2〜0.8」の重み付け係数を用いることで度数分布にあまり反映させず、伏せ眼状態を閉眼状態と判定しないようにしている。
【0005】
しかしながら、実際の居眠り状態において、運転者は、メータを見ている時間よりも長い時間継続して眼を閉じていることもある。このため、通常の瞬きより長い時間閉眼状態が継続したことをもって、上記係数を用いると、覚醒度レベルの判定精度の低下を招いてしまう可能性がある。
【0006】
このように、従来の覚醒状態検出装置では、未だ判定精度の向上が望まれるものである。
【0007】
【課題を解決するための手段】
本発明によれば、覚醒状態検出装置であって、顔画像撮像手段は、被検出者の顔を撮像し、オプティカルフロー検出手段は、顔画像撮像手段による撮像によって得られた時系列に連続する少なくとも2枚の顔画像からオプティカルフローを検出し、覚醒状態検出手段は、オプティカルフロー検出手段によって検出されたオプティカルフローから被検出者の覚醒状態を検出することを特徴とする。
【0008】
【発明の効果】
本発明によれば、被検出者の覚醒状態に応じてオプティカルフローに特徴が現れることから、オプティカルフローに基づいて精度良く被検出者の覚醒状態を検出することができる。従って、判定精度の向上を図ることができる。
【0009】
【発明の実施の形態】
以下、本発明の好適な実施形態を図面に基づいて説明する。
【0010】
図1は、本発明の第1実施形態に係る覚醒状態検出装置の構成図である。同図に示すように、本実施形態の覚醒状態検出装置1は、被検出者の覚醒状態、すなわち被検出者が居眠り状態であるか否かなどを検出するものであって、顔画像撮像部(顔画像撮像手段)10を備えている。また、覚醒状態検出装置1は、オプティカルフロー検出部(オプティカルフロー検出手段)20と、覚醒状態検出部(覚醒状態状態検出手段)30とを備えている。
【0011】
顔画像撮像部10は、被検出者の顔を撮像するものであって、撮像により得られた顔画像のデータを、オプティカルフロー検出部20に送出する構成とされている。また、顔画像撮像部10は、固定して設置されると共に、被検出者の顔全体が一画像内に収まるのに充分な画角が確保されている。
【0012】
オプティカルフロー検出部20は、顔画像撮像部10での撮像によって得られた顔画像からオプティカルフローを検出するものである。また、オプティカルフロー検出部20は、時系列に連続する少なくとも2枚の顔画像から、濃度差等に基づいて、オプティカルフローを検出するものである。
【0013】
ここで、オプティカルフローとは、画像内の各領域における移動量等を表すものである。具体的に、オプティカルフローは、画像の所定箇所に存在した顔部位等が、後の画像においてどの方向にどれだけ速度で移動したかを表すものである。すなわち、オプティカルフローは、大きさ及び向きの情報を含むものである。また、オプティカルフローの検出に当たっては、顔画像上に所定の位置及び大きさで設定される参照領域(演算領域)及び探索領域に基づいて行われる。
【0014】
図2は、参照領域及び探索領域の説明図である。なお、参照領域が或る時刻の画像上に設定されるとすると、探索領域はその時刻よりも後の画像に設定されるものであるが、図2においては、便宜上、幅w画素,高さh画素の1つの画像上に表して説明する。
【0015】
同図に示すように、参照領域は、(tx,ty)の位置に設定される幅tw画素,高さth画素の領域である。また、探索領域は、(sx,sy)の位置に設定される幅sw画素,高さsh画素の領域である。この探索領域は、各参照領域を取り囲んで設定されるものであり、参照領域と同じ数だけ設定される。また、この参照領域及び探索領域は、それぞれ大きさが異なるものの、中心位置に関しては特定の点Oで一致している。
【0016】
このように、これら両領域は中心を等しくし、sw>tw且つsh>swの関係となるように設定される。なお、ここでの参照領域及び探索領域は、被検出者の顔の位置等に依存せず、予め定められた位置及び大きさで設定される。
【0017】
また、参照領域は、規則的に配置されることが望ましい。図3は、顔画像に規則的に配置される参照領域の説明図である。参照領域は、例えば図3(a)に示すように、顔画像上の横方向に複数(例えば7つ)配置される。また、図3(b)に示すように、参照領域は、顔画像上に格子状に複数(例えば5行7列)配置される。さらには、図3(c)に示すように、参照領域は、横方向に且つ格子状に複数(例えば3行5列に加え、さらに横方向に2つの計17)配置されてもよい。
【0018】
また、さらに参照領域は、顔画像撮像部10の設置位置や画角、及び顔画像のサイズ等に基づいて、予め目、鼻又は口等の顔部位程度の大きさに固定的に設定されることが望ましい。
【0019】
覚醒状態検出部30は、オプティカルフロー検出部20によって検出されたオプティカルフローから被検出者の覚醒状態を検出するものである。この覚醒状態検出部30は、内部に動きベクトル検出部(動きベクトル検出手段)31と代表値算出部(代表値算出手段)32とを備えている。
【0020】
動きベクトル検出部31は、オプティカルフロー検出部20によって検出されたオプティカルフローから顔の動きベクトルを検出するものである。ここで、動きベクトルとは、オプティカルフローから所定の演算に従って、領域グループ毎に求められるものであり、領域グループ内の物体等の移動を示すものである。
【0021】
所定の演算については種々のものが挙げられるが、この演算については後述することとし、以下、図3を参照して、領域グループについて説明する。
【0022】
同図に示すように、領域グループは、1つ以上の参照領域を含んで顔画像上に定められるものである。ここで、オプティカルフローは、1つの参照領域につき1つ検出されるものである。故に、領域グループには、オプティカルフローが1つ以上属しており、動きベクトル検出部31は、1つ以上のオプティカルフローから所定の演算により動きベクトルを検出する。
【0023】
また、領域グループは、1つ以上の参照領域を含むものであればよく、顔画像上に設定される参照領域のすべてを含むものであってもよいし(図3(c))、画像端部に位置する参照領域のみを含むものであってもよい(図3(b))。さらに、領域グループは、互いに重複するものであってもよい(図3(a))。
【0024】
代表値算出部32は、動きベクトル検出部31によって検出された顔の動きベクトルの大きさから、動きベクトルの単位時間あたりの統計的代表値を算出するものである。この代表値としては、例えば平均値や最頻値などが用いられる。
【0025】
そして、覚醒状態検出部30は、代表値算出部32により算出された統計的代表座標値に基づいて、被検出者の覚醒状態を検出することとなる。
【0026】
次に、覚醒状態検出装置1の動作の概略について説明する。まず、覚醒状態検出装置1において、顔画像撮像部10が被検出者の顔を撮像し、得られた顔画像データをオプティカルフロー検出部20に送信する。これを受けたオプティカルフロー検出部20は、顔画像撮像部10にて得られた時系列に連続する少なくとも2枚の顔画像から、参照領域及び探索領域に基づいてオプティカルフローを検出する。
【0027】
具体的に、時刻tと時刻(t+1)における顔画像からオプティカルフローを検出する場合、オプティカルフロー検出部20は、時刻tにおける顔画像上に参照領域を設定する。また、オプティカルフロー検出部20は、時刻(t+1)における顔画像上に探索領域を設定する。
【0028】
その後、オプティカルフロー検出部20は、探索領域内から参照領域に最も類似する位置を求める。そして、参照領域の位置と最も類似する位置との差をオプティカルフローとして検出する。このため、オプティカルフローは、参照領域毎に求められることとなり、参照領域はオプティカルフローの計算領域として機能する。
【0029】
オプティカルフローの検出後、動きベクトル検出部31は、顔の動きベクトルを求める。ここで、動きベクトル検出部31は、オプティカルフローから所定の演算に従って、領域グループ毎に求める。
【0030】
動きベクトルの検出後、代表値算出部32は、動きベクトル検出部31によって検出された顔の動きベクトルの大きさから、動きベクトルの単位時間あたりの統計的代表値を算出する。すなわち、代表値算出部32は、顔の動きベクトルの大きさに関するデータを時系列的に収集し、収集した動きベクトルのデータが単位時間(例えば30秒など)分得られた段階で所定の処理を行って統計的代表値を求める。ここでの処理は、統計的代表値が平均値である場合には平均値を求める演算になり、最頻値である場合には最頻値を抽出する処理となる。
【0031】
統計的代表値が算出されると、覚醒状態検出部30は、被検出者の覚醒状態を検出する。そして、本装置1は、覚醒状態の検出後、上記処理を繰り返して順次覚醒状態を検出していく。
【0032】
ここで、本装置1は、上記統計的代表値が被検出者の覚醒状態を好適に表すものであるため、精度の高い検出が可能となっている。以下に、精度良く検出可能となっている理由を示す。
【0033】
まず、本実施形態ではオプティカルフローを求めている。このオプティカルフローは、上記したように画像内の何らかの物体等に動きがあったときに、その動きを表すものである。ここで、本実施形態では、被検出者の顔を撮像している。このため、オプティカルフローは、被検出者の顔に動きがあった場合に検出されることとなる。
【0034】
ここで、被検出者が車両の運転者である場合、車両の運転者は、正常状態(すなわち起きている状態)にあるときには、巻き込み確認等の種々の動作を行う。このため、運転者が正常状態にあるときには、オプティカルフローが得られやすい状態にあるといえる。一方、運転者が居眠り状態にあるときには、動作が行われ難く、オプティカルフローが得られ難い状態にある。
【0035】
このように、被検出者の覚醒状態に応じてオプティカルフローに特徴が現れることから、オプティカルフローに基づいて精度良く被検出者の覚醒状態を検出することができる。
【0036】
なお、本装置1は、自動車、鉄道車両、船舶の被検出者やプラントのオペレータ等に用いることができるが、以下、本実施形態においては、車両運転者の覚醒状態を検出する場合を例に説明することとする。
【0037】
図4は、本発明の第1実施形態に係る覚醒状態検出装置1を車両に搭載した場合のハード構成図である。同図に示すように、顔画像撮像部10としてTVカメラ2が自動車のインストルメント上に設けられている。このTVカメラ2は、運転者の顔全体を一画像内に収めることができる画角を有し、固定して設置されている。また、TVカメラ2は運転者を略正面から撮像できる位置に設置されている。
【0038】
また、TVカメラ2にて取得された入力画像は、インストルメント裏側など車体内部に設置されたマイクロコンピュータ(以下マイコンという)3に画像データとして入力される。
【0039】
マイコン3には、オプティカルフロー検出部20及び覚醒状態検出部30を構成するプログラムロジックがプログラミングされている。なお、覚醒状態検出部30のプログラムロジックは、動きベクトル検出部31、及び代表値算出部32のそれぞれのロジックを含むものである。
【0040】
次に、上記覚醒状態検出装置1の動作を説明する。図5は、図1に示した覚醒状態検出装置1の基本動作を示すフローチャートである。同図に示すように、まず、処理が開始されると、マイコン3は、初期値入力処理を実行する(ST1)。この初期値入力の処理では、サンプリング時間などの各種定数が読み込まれる。
【0041】
初期化後、マイコン3は、終了判断処理を実行する(ST2)。この際、マイコン3は、例えばエンジンが起動しているか等に基づいて判断を行う。
【0042】
そして、マイコン3は、「STOP」か否かを判断する(ST3)。例えばエンジンが起動されていないと判断した場合、マイコン3は、「STOP」であると判断し(ST3:YES)、処理は終了することとなる。
【0043】
一方、エンジンが起動され走行しているなどにより、「STOP」でないと判断した場合(ST3:NO)、マイコン3は、顔全体画像の撮像処理を実行する(ST4)。これにより、TVカメラ2は、被検出者の顔を撮像する。
【0044】
その後、マイコン3は、オプティカルフローの検出処理を実行する(ST5)。このステップST5の処理は、図1にて説明したオプティカルフロー検出部20にて行われる処理である。すなわち、マイコン3は、オプティカルフロー検出部20に相当するプログラムを実行することとなる。
【0045】
その後、マイコン3は、顔の動きベクトルの検出処理を実行する(ST6)。動きベクトルの検出処理は、ステップST5にて検出されたオプティカルフローに基づいて行われるものである。また、ステップST6の処理は、図1にて説明した動きベクトル検出部31にて行われる処理である。すなわち、マイコン3は、動きベクトル検出部31に相当するプログラムを実行することとなる。
【0046】
動きベクトルの検出後、マイコン3は、顔の動きベクトルについて単位時間あたりの統計的代表値を算出する(ST7)。このステップST7の処理は、図1にて説明した代表値算出部32にて行われる処理である。すなわち、マイコン3は、代表値算出部32に相当するプログラムを実行することとなる。
【0047】
統計的代表値の算出後、マイコン3は、覚醒状態判定処理を実行し、覚醒状態を検出する(ST8)。このステップST7の処理は、ステップST7にて算出された統計的代表値に基づいて行われる。また、ステップST7の処理は、図1にて説明した動き覚醒状態検出部30にて行われる処理である。すなわち、マイコン3は、覚醒状態検出部30に相当するプログラムを実行することとなる。ここで、電源オン時などの覚醒状態の検出開始時点では覚醒状態は正常状態とされる。検出開始時点は、例えば車両乗車時点などが該当するが、この時点で既に運転者が居眠り状態ということはあり得ないからである。
【0048】
その後、処理はステップST2に戻る。そして、電源がオフされるまで、ステップST2〜ST8の処理を繰り返していく。
【0049】
次に、オプティカルフロー検出処理(ステップST5)について詳細に説明する。図6は、図5に示したオプティカルフロー検出処理(ステップST5)の詳細なフローチャートである。
【0050】
まず、マイコン3は、顔画像にスムージングフィルタを適応し、所定の式にて画素値を変換する(ST10)。ここで、スムージングフィルタは、以下に示す5行5列からなるフィルタである。
【0051】
【数1】
所定の式は、以下に示すものである。
【0052】
【数2】
なお、d(x,y)は、顔画像内の任意位置の画素値であり、d’(x,y)は変換後の画素値である。
【0053】
その後、マイコン3は、現在の顔画像の探索領域内から、前回の顔画像内の参照領域に最も類似する位置を求めて、移動量(xd,yd)、すなわちオプティカルフローを算出する(ST11)。
【0054】
具体的には、マイコン3は、まず、探索領域内から参照領域に最も類似する領域を求め、最も類似する領域の中心点を、参照領域に最も類似する位置とする。そして、マイコン3は、求められた最も類似する領域の中心点と、探索領域の中心点とから移動量(xd,yd)を算出し、オプティカルフローとする。
【0055】
ここで、ステップST11について詳細に説明する。上述したように、顔画像上には予め参照領域が設定されている。また、探索領域は参照領域を取り囲むように設定される。また、参照領域と探索領域とは時間を異にして設定される。具体的には、図7に示すように、参照領域は時刻tにおいて設定され、探索領域は時刻t後の時刻(t+1)において設定される。
【0056】
図7は、図6に示すステップST11における移動量(xd,yd)の算出方法の説明図である。ステップST11の処理において、マイコン3は、まず、時刻(t+1)の探索領域内に候補領域を作成する。この候補領域は、参照領域と同じ大きさを有する領域である。具体的には、探索領域内の任意の位置を(xd,xy)とした場合、−(sw−tw)/2<xd<(sw−tw)/2、且つ、−(sh−th)/2<xy<(sh−th)の範囲から切り出した領域である。
【0057】
マイコン3は、探索領域内の所定箇所に上記のような候補領域を設定し、設定した候補領域と参照領域とを比較等して、類似度を求める。次に、マイコン3は、候補領域を他の位置に動かし、動かした位置の候補領域と参照領域とを比較等して類似度を求める。
【0058】
その後、マイコン3は、候補領域を順次移動させていき、探索領域内での各箇所において参照領域との類似度を算出する。類似度は、例えば、濃淡データを基準に判断される。ここで、濃淡データを基準に類似度を算出する場合において、類似度をcosθとすると、類似度は以下の式にて表される。
【0059】
【数3】
上式においては、参照領域の濃淡データをTとし、候補領域の濃淡データをSとしている。また、xdは、探索領域内のX座標値を示し、ydは、探索領域内のY座標値を示している。
【0060】
以上から、マイコン3は、類似度が最大となる位置Sを定め、点Sと点Oとの座標値の差を移動量(xd,yd)として取得し、これをオプティカルフローとする。
【0061】
再度、図6を参照して説明する。移動量(xd,yd)の算出後、マイコン3は、類似度の範囲が閾値以上か否かを判断する(ST12)。すなわち、マイコン3は、まず、候補領域によって探索領域内を走査していき、探索領域内の各箇所の類似度を算出する。その後、マイコン3は、得られた類似度の分散を求め、この分散により類似度の範囲が閾値以上か否かを判断する。
【0062】
ここで、類似度の範囲が小さい場合とは、探索領域内の各箇所において、同じような類似度が検出される場合である。例えば、参照領域が真っ白な画像である場合など、特徴が少ない場合には探索領域内のどの箇所と比較しても似たような類似度の結果が得られることとなる。
【0063】
そして、このような場合、それぞれ類似度の差が小さいことから、類似度が最大となる点Sの検出が不正確になりやすい。このため、図6のステップST12の処理では、所定の閾値と比較し、好適なものと不適なものとの選別するようにしている。
【0064】
類似度の範囲が閾値以上であると判断した場合(ST12:YES)、マイコン3は、参照領域を有効な領域とし、fdに「1」を代入する(ST13)。そして、処理はステップST15に移行する。
【0065】
一方、類似度の範囲が閾値以上でないと判断した場合(ST12:NO)、マイコン3は、参照領域を無効な領域とし、fdに「0」を代入する(ST14)。そして、処理はステップST15に移行する。このように、マイコン3は、特徴量としての類似度の変化量と、予め設定される閾値とを比較することにより、動きベクトルの計算に用いるか否かを判断している。
【0066】
ステップST15において、マイコン3は、領域の数だけ上記のステップST11〜ST14を行ったか否かを判断する(ST15)。すなわち、マイコン3は、すべての参照領域について、探索領域内から類似する位置を特定したか否かを判断している。
【0067】
いずれかの参照領域について、探索領域内から類似する位置を特定していないと判断した場合(ST15:NO)、処理はステップST11に戻り、類似する位置を特定していない参照領域について、上記ステップST11〜ST14の処理を繰り返すこととなる。
【0068】
一方、すべての参照領域について、探索領域内から類似する位置を特定したと判断した場合(ST15:YES)、マイコン3は、図5に示すステップST6の処理を実行する。なお、参照領域が1つだけしか設定されていない場合、ステップST15の処理を省略するようにしてもよい。
【0069】
また、オプティカルフローの計算方法は本実施形態の他に、八木信行監修, ”ディジタル映像処理”, 映像情報メディア学会編, pp.129−139, 2000, オーム社 などにて動画像から動きを検出する手法が複数紹介されていおり、それらを用いることもできる。
【0070】
ここで、オプティカルフローの検出例を説明する。図8は、運転者が左方向に顔の向きを変える場合のオプティカルフローの例を示す説明図であり、(a)は時刻tにおけるオプティカルフローの例を示し、(b)は時刻(t+1)におけるオプティカルフローの例を示し、(c)は時刻(t+2)におけるオプティカルフローの例を示し、(d)は時刻(t+3)におけるオプティカルフローの例を示している。
【0071】
まず、図8を参照して説明する。時刻tにおいて運転者は前方を視認している(図8(a))。その後、時刻(t+1)において、運転者は交差点の確認等を行うべく、顔を左方に向ける。このとき、オプティカルフローが検出される(図8(b))。ここで、画像中の四角で表示されている領域は、参照領域であり、各参照領域から伸びる線分は、各部位の移動量、すなわちオプティカルフローを示している。
【0072】
その後、時刻(t+2)において、運転者は顔をさらに左方に向ける。このときも同様に、オプティカルフローが検出される(図8(c))。そして、時刻(t+3)において運転者は顔を左上方に向けると、同様にオプティカルフローが検出される(図8(d))。
【0073】
なお、図8中において、参照領域を示す四角枠が実線にて図示されているものは、図6のステップST12にて「NO」と判断され、無効領域とされた参照領域であり、四角枠が破線にて図示されているものは、図6のステップST12にて「YES」と判断され、有効領域とされた参照領域である。
【0074】
次に、顔の動きベクトルの検出処理(図5:ST6)を説明する。図9は、図5に示した動きベクトルの検出処理(ST6)の詳細なフローチャートである。
【0075】
まず、マイコン3は、領域グループが複数存在する場合には、複数の領域グループのうち処理の対象となるものを選択し、その領域グループの移動量に関する数値x,y,cを「0」に初期化する(ST20)。その後、マイコン3は、選択した領域グループ内の参照領域のうちいずれか1つを選択する。
【0076】
そして、マイコン3は、選択した参照領域が有効領域であるか否か、すなわちfdが「1」であるか否かを判断する(ST21)。fdが「1」であると判断した場合(ST21:YES)、マイコン3は、移動量を積算する(ST22)。具体的に、マイコン3は、「x」を「x+xd」とし、「y」を「y+yd」とし、「c」を「c+1」とする。そして、処理はステップST23に移行する。
【0077】
一方、fdが「1」でないと判断した場合(ST21:NO)、マイコン3は、移動量を積算することなく、処理はステップST23に移行する。
【0078】
ステップST23において、マイコン3は、選択した領域グループ内のすべての参照領域について処理したか否かを判断する(ST23)。いずれかの参照領域について処理をしてないと判断した場合(ST23:NO)、処理はステップST21に戻り、上記ステップST21,ST22を繰り返すこととなる。すなわち、マイコン3は、すべての参照領域について有効領域か否かを判断し、有効領域である場合には、移動量を積算するという処理を行っていく。
【0079】
そして、順次移動量の積算等が行われ、すべての参照領域について処理した場合(ST23:YES)、マイコン3は、cが「0」であるか否かを判断する(ST24)。
【0080】
「c」が「0」であると判断した場合(ST24:YES)、処理はステップST26に移行する。一方、「c」が「0」でないと判断した場合(ST24:NO)、マイコン3は、積算した「x」「y」についての平均を求める(ST25)。すなわち、マイコン3は、「x=x/c」及び「y=y/c」を実行し、平均移動量を求める。
【0081】
平均移動量の算出後、マイコン3は、求めた平均移動量について、移動平均(ax,ay)を求める(ST26)。ここで得られた移動平均が顔の動きベクトルとなり、移動平均のx方向成分axが動きベクトルのx方向成分となり、移動平均のy方向成分ayが動きベクトルのy方向成分となる。なお、移動平均を求める範囲は任意に定められている。また、移動平均(ax,ay)を求めるのは、微細なノイズ等を除去するためである。
【0082】
ここで、動きベクトルの一例を説明すると、例えば、図8(b)〜(d)の画像の右隅に示すものが挙げられる。図8に示す動きベクトルは、顔画像全体に領域グループが設定されたときに得られるものであり、各画像について1つずつ得られている。同図に示すように、動きベクトルは、運転者の顔の動きを的確に反映していることがわかる。
【0083】
ステップST26の後、マイコン3は、すべての領域グループについて処理したか否かを判断する(ST27)。いずれかの領域グループについて処理をしてないと判断した場合(ST27:NO)、処理は再度ステップST20に戻り、同様の処理を行っていくこととなる。一方、すべての領域グループについて処理したと判断した場合(ST27:YES)、処理は終了する。
【0084】
次に、単位時間あたりの統計的代表値の算出処理(図5:ST7)及び覚醒状態判定処理(図5:ST8)について詳細に説明する。まず、統計的代表値の算出については、平均値を統計的代表値としている場合と、中間値や最頻値を統計的代表値としている場合とでそれぞれ異なった演算が行われる。
【0085】
しかし、一定時間中に検出された顔の動きベクトルから統計的代表値を求める点については、共通している。ここで、平均移動量、顔の動きベクトル、及び統計的代表値の例を説明する。
【0086】
図10は、平均移動量、顔の動きベクトル、及び統計的代表値を示す説明図である。なお、図10において、縦軸(図面左側)は大きさを示しており、横軸は時刻(秒)を示している。また、図10の縦軸(図面右側)は覚醒度を示している。また、図10に示す例では、単位時間を30秒としたときの動きベクトルの平均値を統計的代表値としている。
【0087】
平均移動量から求められる動きベクトルは同図に示すようになり、単位時間が30秒であるため、動きベクトルの平均値は30秒ごとにそれぞれの値として得られている。図10によれば、時刻180〜240(秒)の区間において運転者の動きが少なく、平均移動量及び動きベクトルが小さくなっている。また、時刻330(秒)以降についても、同様に、平均移動量及び動きベクトルが小さくなっている。
【0088】
ここで、図10に示す例では、統計的代表値として動きベクトルの平均値を用いている。このため、上記の動きベクトルが小さい区間においては、統計的代表値も小さくなる。
【0089】
また、図10に示す例において、マイコン3は、平均値を覚醒度におきかえる処理を行う。すなわち、図10に示す縦軸(図面右側)に示すように、平均値を1/5にして、覚醒度を得る処理を行う。この覚醒度は平均値から演算により求められるものであり統計的代表値の1つといえる。
【0090】
マイコン3は、統計的代表値を算出すると、覚醒状態の判定を行う。例えば図10に示すような平均値に基づいて、覚醒状態判定処理(図5:ST8)を行う場合、以下のような処理が実行される。
【0091】
まず、覚醒状態判定処理に際しては、図10にて得られた覚醒度を覚醒状態が判別しやすい状態に変換する処理を行う。具体的には、図10に示す覚醒度の値を整数値で四捨五入し、得られた値を2倍し、その後「1」を加える。これにより得られた結果が図11に示されている。
【0092】
図11は、図10に示す平均値から得られた覚醒度を示す説明図である。なお、図11において、縦軸は覚醒度を示し、横軸は時刻(秒)を示している。図10では動きベクトルの値が時刻180〜240(秒)及び時刻330(秒)以降の区間において、小さいものとなっていた。このため、得られる平均値も小さくなり、図11に示すように覚醒度も「2」以下と小さくなる。すなわち、これらの区間は低覚醒度状態となっている。
【0093】
マイコン3は、例えば、上記低覚醒度状態(すなわち覚醒度が「2」以下のとき)のときに運転者が居眠り状態であると判断し、低覚醒度状態でないとき(すなわち覚醒度が「2」を超えるとき)に運転者が正常状態であると検出する。
【0094】
すなわち、マイコン3は、運転者の覚醒状態が正常状態であると判断しているときに、覚醒度(統計的代表値の1つ)が所定の閾値以下となった場合、閾値以下となった時点よりあとの覚醒状態を居眠り状態とする。また、マイコン3は、運転者の覚醒状態が居眠り状態であると判断しているときに、覚醒度(統計的代表値の1つ)が所定の閾値より大きくなった場合、閾値より大きくなった時点よりあとの覚醒状態を正常状態とする。ここで、統計的代表値は、単位時間毎に平均化等により得られるものであるため、ノイズ等の影響が少なくなっている。このため、判定精度の向上が図ることができる。
【0095】
このようにして、本実施形態に係る覚醒状態検出装置1によれば、時系列に連続する少なくとも2枚の顔画像からオプティカルフローを検出している。このオプティカルフローは、画像内の何らかの物体等に動きがあったときに、その動きを表すものである。すなわち、被検出者の顔を撮像することにより、被検出者の顔に動きがあった場合には、その動きがオプティカルフローとして検出されることとなる。
【0096】
ここで、被検出者が車両の運転者である場合、車両の運転者は、正常状態(すなわち起きている状態)にあるときには、巻き込み確認等の種々の動作を行う。このため、運転者が正常状態にあるときには、オプティカルフローが得られやすい状態にあるといえる。一方、運転者が居眠り状態にあるときには、動作が行われ難く、オプティカルフローが得られ難い状態にある。
【0097】
このように、被検出者の覚醒状態に応じてオプティカルフローに特徴が現れることから、オプティカルフローに基づいて精度良く被検出者の覚醒状態を検出することができる。
【0098】
従って、判定精度の向上を図ることができる。
【0099】
また、オプティカルフローから動きベクトルを検出し、検出した動きベクトルから単位時間あたりの統計的代表値を算出している。そして、被検出者の覚醒状態が正常状態であるときに、統計的代表値が所定の閾値以下となった場合、閾値以下となった時点よりあとの覚醒状態を居眠り状態とする。ここで、統計的代表値は、単位時間毎に平均化等により得られるものであるため、ノイズ等の影響が少なくなっている。従って、判定精度の向上が図ることができる。また、同様に、被検出者の覚醒状態が居眠り状態であるときに、統計的代表値が所定の閾値を超えた場合についても、閾値を超えた時点よりあとの覚醒状態を正常状態とする。従って、判定精度の向上が図ることができる。
【0100】
また、顔画像撮像部10は、被検出者の顔全体を一画像内に収めることができる画角を有し、固定して設置されている。すなわち、顔画像撮像部10は、一画像内に被検出者の顔が収まった状態で撮像することができる。そして、一画像内に顔が収まることで顔全体の動きに基づいて覚醒状態を検出できることとなり、顔の一部だけに基づいたことによって、覚醒状態の検出精度が低下してしまうことを防止することができる。従って、検出精度の向上を図ることができる。
【0101】
また、検出開始時には被検出者の覚醒状態が正常状態であるとする。検出開始時としては、例えば車両乗車時などが該当するが、この時点で既に運転者が居眠り状態ということはあり得ない。そこで、被検出者の覚醒状態は、検出開始時において正常状態であるとすることで、覚醒状態の判定精度の向上が図ることができる。
【0102】
また、顔画像に対して所定の大きさ及び位置で定められる少なくとも1つの参照領域からオプティカルフローを求めている。このため、顔画像のよりも小さい領域からオプティカルフローを求めていることになり、詳細な検出が行われることとなる。
【0103】
そして、検出したオプティカルフローに基づいて、参照領域を少なくとも1つ含んで顔画像上に定められる領域グループから顔の動きベクトルを求めている。すなわち、詳細に検出したオプティカルフローに基づいて、顔の動きベクトルが求められていることとなる。
【0104】
このため、領域グループ全体から直接にオプティカルフローを求める場合に比して、詳細に画像内の物体等の移動を検出している分、精度の高い検出を行うことができる。
【0105】
また、参照領域は、顔画像のサイズに基づいて、顔部位程度の大きさに設定されている。このため、大き過ぎる参照領域を設定して計算量が増大していしまうことを防止すると共に、1つの参照領域内に同時に複数の特徴的な部位が入る可能性を少なくすることができる。さらに、小さ過ぎる領域を設定して特徴的な部位がない領域となることを防ぐことができる。
【0106】
次に、本発明の第2実施形態を説明する。図12は、第2実施形態に係る覚醒状態検出装置1aの機能ブロック図である。第2実施形態に係る覚醒状態検出装置1aは、第1実施形態のものとほぼ同様であるが、覚醒状態検出部30の構成が第1実施形態のものと異なっている。具体的には、覚醒状態検出部30に代えて開閉状態検出部(開閉状態検出手段)33を備える点で異なっている。また、顔画像撮像部10の撮像箇所等についても第1実施形態と異なっている。
【0107】
以下、第1実施形態との相違点について説明する。まず、第2実施形態の顔画像撮像部10は、被検出者の顔を撮像するものであるが、特に被検出者の眼の部分を撮像するものである。より詳しくは、顔画像撮像部10は、被検出者の少なくとも一方の眼が画像の中心となるように撮像を行うものであって、眼を中心とするために、被検出者の顔の動きに併せて追従動作を行うものである。
【0108】
また、顔画像撮像部10は、眼の位置を画像の中心としつつも眼全体が一画像内に収まるようにして撮像を行うものである。従って、第2実施形態に係る顔画像撮像部10は、被検出者の少なくとも一方の眼を中心にして眼全体が一画像内に収まる画像(以下眼画像という)を取得するものである。
【0109】
第2実施形態の覚醒状態検出部30は、内部に動きベクトル検出部31と、開閉状態検出部33とを備えている。本実施形態では顔画像撮像部10は眼を撮像する。このため、動きベクトル検出部31は、オプティカルフロー検出部20にて検出されたオプティカルフローから、瞼の動きベクトルを検出する構成とされている。
【0110】
また、開閉状態検出部33は、動きベクトル検出部31にて検出された瞼の動きベクトルから、眼の開閉状態を検出するものである。ここで、開閉状態の検出は、本装置1bが電源をオフされるなどして停止するまで繰り返される。このため、覚醒状態検出部30は、開閉状態検出部33による開閉状態の検出が複数回に渡って行われた段階で、瞼の開閉状態について時系列的変化の情報を取得できることとなる。そして、覚醒状態検出部30は、瞼の開閉状態の時系列的変化から、被検出者の覚醒状態を検出することとなる。
【0111】
なお、本装置1aについても第1実施形態のものと同様に、自動車、鉄道車両、船舶の被検出者やプラントのオペレータ等に用いることができるが、以下、本実施形態においては、車両運転者の覚醒状態を検出する場合を例に説明することとする。
【0112】
図13は、本発明の第2実施形態に係る覚醒状態検出装置1aを車両に搭載した場合のハード構成図である。同図に示すように、顔画像撮像部10としてTVカメラ2は、運転者の頭部に取り付けられている。また、TVカメラ2は、ミラー4を介して眼を撮像するように構成されている。ここで、TVカメラ2は、運転者の頭部に取り付けられていることから、運転者が頭を動かした場合には、その動きに追従することとなる。また、TVカメラ2は、ミラー4の位置に設置され、直接に眼を撮像する構成とされてもよい。さらに、TVカメラ2は、インストルメント上に設置されされ、運転者に視点の位置を自動追尾しながら眼を撮像する構成とされてもよい。
【0113】
なお、第1実施形態と同様に、マイコン3には、オプティカルフロー検出部20及び覚醒状態検出部30を構成するプログラムロジックがプログラミングされている。この覚醒状態検出部30のプログラムロジックには、動きベクトル検出部31、及び開閉状態検出部33のそれぞれのロジックが含まれている。
【0114】
次に、上記覚醒状態検出装置1aの動作を説明する。図14は、図12に示した覚醒状態検出装置1aの基本動作を示すフローチャートである。なお、図14のステップST30〜ST32の処理は、図5に示すST1〜ST3の処理と同様であるため、説明を省略する。
【0115】
ステップST33において、マイコン3は、眼画像の撮像処理を実行する(ST33)。これにより、TVカメラ2は、被検出者の眼を撮像する。その後、マイコン3は、図5のステップST4と同様に、オプティカルフローの検出処理を実行する(ST34)。
【0116】
その後、マイコン3は、瞼の動きベクトルの検出処理を実行する(ST35)。なお、この処理は、図12にて説明した動きベクトル検出部31にて行われる処理である。すなわち、マイコン3は、動きベクトル検出部31に相当するプログラムを実行することとなる。
【0117】
動きベクトルの検出後、マイコン3は、瞼の開閉状態判定処理を実行する(ST36)。この処理は、図12にて説明した開閉状態検出部33にて行われる処理である。すなわち、マイコン3は、開閉状態検出部33に相当するプログラムを実行することとなる。
【0118】
その後、マイコン3は、覚醒状態判定処理を実行し、覚醒状態を検出する(ST37)。このステップST37の処理は、ステップST36にて検出された瞼の開閉状態の時系列的変化に基づいて行われる。また、ステップST37の処理は、図1にて説明した動き覚醒状態検出部30にて行われる処理である。すなわち、マイコン3は、覚醒状態検出部30に相当するプログラムを実行することとなる。
【0119】
その後、処理はステップST31に戻る。そして、電源がオフされるまで、ステップST31〜ST37の処理を繰り返していく。すなわち、時系列的に検出等が行われることとなる。
【0120】
上記動作をより詳しく説明すると、まず、本実施形態ではオプティカルフローを求めているので、眼画像内の動き、すなわち瞼の動きを検出することができる。このため、被検出者が瞼を閉じる動作、及び開く動作をオプティカルフローとして捕らえることができる。
【0121】
そして、瞼が閉じる動作、及び開く動作を捕らえることができるため、この開閉動作のデータを時系列的に収集することにより、開閉状態の時系列的変化に関する情報を取得できることとなる。そして、例えば、開閉状態の時系列的変化から、瞼の閉状態が維持される時間を計測することにより、閉状態の継続時間を検出できるようになる。
【0122】
ここで、閉状態の継続時間は運転者の覚醒度に直接影響を及ぼすものであり、継続時間を取得することは覚醒状態の検出において精度の高い検出を可能とするものといえる。このため、瞼の閉状態が継続する場合、運転者は居眠りである可能性が高く、マイコン3は、覚醒状態が居眠り状態であると検出する。一方、閉動作があったとしても、その後にまもなく開動作が行われた場合、単なる瞬きである可能が高く、マイコン3は、覚醒状態が正常状態であると検出する。
【0123】
次に、オプティカルフローの検出例を説明する。図15は、瞼の開閉を検出する場合に得られるオプティカルフローの例を示す説明図であり、(a)は時刻tにおけるオプティカルフローの例を示し、(b)は時刻(t+1)におけるオプティカルフローの例を示し、(c)は時刻(t+2)におけるオプティカルフローの例を示している。
【0124】
まず、図15(a)に示すように、時刻tにおいて運転者の目は開いている状態となっている。その後、時刻(t+1)において運転者が目を閉じ始める。このとき、図15(b)に示すように、運転者の瞼の部分について画像縦方向(Y方向)にオプティカルフローが検出される。
【0125】
そして、時刻(t+2)において運転者の目が完全に閉じる。このときも、図15(c)に示すように、運転者の瞼部分には画像縦方向にオプティカルフローが検出される。なお、画像横方向(X方向)については、時刻t〜(t+2)を通じて、オプティカルフローがあまり検出されない。
【0126】
なお、図15から明らかなように、本実施形態においても、オプティカルフローは、参照領域から検出されている。また、瞼の動きベクトルは、検出されたオプティカルフローに基づいて、領域グループから求められることとなる。
【0127】
図16は、瞼の開閉を検出する場合に得られる平均移動量の移動平均(すなわち動きベクトル)を示す説明図である。なお、図16では、運転者が目を閉じ、その後目を開ける場合に得られる開閉状態の時系列的変化を示している。また、図16において、縦軸は平均移動量の移動平均の画素数を示し、横軸は時刻(1/30sec)を示している。
【0128】
まず、運転者が目を閉じる動作を行う場合、図16に示すように画像縦方向にオプティカルフローが検出され、画像横方向にはオプティカルフローがあまり検出されない。このため、得られる移動平均の値は、図16に示すようになる。
【0129】
具体的に説明すると、画像縦方向について運転者が目を開いている状態(時刻178〜186の期間)では、移動平均の値は「0」付近となっている。その後、運転者が目を閉じ始めると、画像縦方向のオプティカルフローが得られることから、移動平均の値が「6〜8」画素まで上昇する(時刻186〜190の期間)。
【0130】
そして、運転者が目を閉じ続けている状態(時刻190〜216の期間)では、移動平均の値は「6〜8」画素を維持し続ける。その後、運転者が目を開け始めると、移動平均の値は次第に減少する(時刻216〜237の期間)。
【0131】
一方、瞼のオプティカルフローは、画像横方向に余り検出されていない。このため、画像横方向については、時刻178〜186の期間においてほぼ同じ値を維持し続ける。
【0132】
このように、瞼の開閉状態は、瞼の動きベクトルから検出することができる。そして、この開閉状態の時系列的変化から、瞼の閉状態が長く検出される場合などには、運転者は居眠り状態であるなど検出することができる。
【0133】
例えば、図16に示す例にあっては、時刻178〜186の期間に瞼は閉状態となり、その後、時刻216〜237の期間に瞼が開状態となる。すなわち、少なくとも1秒近く閉状態が継続していることとなる。このため、覚醒度は高いものではない。従って、マイコン3は覚醒状態が居眠り状態であると検出する。なお、開閉状態の時系列的変化から覚醒状態を検出する方法としては、特開2002−279410号公報に記載の方法であってもよい。
【0134】
このようにして、本実施形態に係る覚醒状態検出装置1aによれば、第1実施形態と同様に、判定精度の向上を図ることができる。
【0135】
また、本実施形態ではオプティカルフローを求めているので、眼画像内の動き、すなわち瞼の動きを検出することができる。このため、被検出者の瞼が閉じる動作、及び開く動作をオプティカルフローとして捕らえることができる。
【0136】
そして、瞼の開閉動作を捕らえることができるため、例えば、閉状態の継続時間についても検出できるようになる。ここで、閉状態の継続時間は運転者の覚醒度に直接影響を及ぼす事項であり、継続時間を取得することは覚醒状態の検出において精度の高い検出を可能とするものといえる。また、継続時間に限らず、瞼の開閉速度や他の情報を取得したとしても、同様に覚醒状態の検出において精度の高い検出が可能となる。
【0137】
従って、判定精度の一層の向上を図ることができる。
【0138】
また、顔画像撮像部10は、被検出者の少なくとも一方の眼を中心にして眼全体が一画像内に収まるように被検出者の頭の動きに併せて追従動作を行う。このため、被検出者がどのような方向に向いたとしても眼画像が得られることとなり、
眼全体に基づいて覚醒状態が検出される。故に、眼が撮像されなくなってしまい、覚醒状態の検出が不正確となってしまうことを防止することができる。従って、精度の向上を図ることができる。
【0139】
また、眼画像に対して所定の大きさ及び位置で定められる少なくとも1つの参照領域からオプティカルフローを求めている。このため、眼画像のよりも小さい領域からオプティカルフローを求めていることになり、詳細な検出が行われることとなる。
【0140】
そして、検出したオプティカルフローに基づいて、参照領域を少なくとも1つ含んで顔画像上に定められる領域グループから瞼の動きベクトルを求めている。すなわち、詳細に検出したオプティカルフローに基づいて、瞼の動きベクトルが求められていることとなる。
【0141】
このため、領域グループ全体から直接にオプティカルフローを求める場合に比して、詳細に画像内の物体等の移動を検出している分、精度の高い検出を行うことができる。
【0142】
次に、本発明の第3実施形態を説明する。第3実施形態に係る覚醒状態検出装置1bは、第2実施形態のものと同様である。しかし、第2実施形態の構成に加え、眼位置検出部(眼位置検出手段)40と、眼領域画像抽出部(眼領域画像抽出手段)50を備える点で、第2実施形態のものと異なっている。また、顔画像撮像部10の撮像範囲についても第2実施形態のものと異なっている。
【0143】
以下、第2実施形態との相違点について説明する。図17は、第3実施形態に係る覚醒状態検出装置1bの機能ブロック図である。まず、第3実施形態に係る顔画像撮像部10は、少なくとも眼を含んで顔を撮像する構成とされている。好適には、確実に眼を撮像すべく、顔画像全体を撮像するものとされている。すなわち、第3実施形態の顔画像撮像部10は、第1実施形態の顔画像撮像部10と同様に、固定して設置されており、固定して設置される個所から撮像したときに、被検出者の顔全体を一画像内に収まるのに充分な画角を有するものである。
【0144】
また、同図に示すように、顔画像撮像部10とオプティカルフロー検出部20との間には、眼位置検出部40及び眼領域画像抽出部50とが介在されている。眼位置検出部40は、顔画像撮像部10から送信されてきた画像、すなわち少なくとも眼を含む顔画像から、被検出者の眼の位置を検出するものである。また、眼位置検出部40は、検出した眼の位置情報を眼領域画像抽出部50に送信する構成とされている。
【0145】
眼領域画像抽出部50は、眼全体を囲む領域を眼領域画像として抽出するものである。また、眼領域画像抽出部50は、眼領域画像を抽出する際、眼位置検出部40によって検出された眼の位置を中心とし、画像全体よりも小さくされた領域を眼領域画像として抽出するものである。また、眼領域画像抽出部50は、オプティカルフロー検出部20に眼領域画像のデータを送出する構成とされている。このため、オプティカルフロー検出部20は、画像全体からではなく、眼が領域画像からオプティカルフローを検出することとなる。
【0146】
なお、本実施形態のハード構成は、第2実施形態のものと同様である。但し、マイコン3内に、眼位置検出部40及び眼領域画像抽出部50に相当するロジックがプログラミングされている。また、本装置1bについても第2実施形態のものと同様に、自動車、鉄道車両、船舶の被検出者やプラントのオペレータ等に用いることができるが、以下、本実施形態においては、車両運転者の覚醒状態を検出する場合を例に説明することとする。
【0147】
次に、上記覚醒状態検出装置1bの動作を説明する。図18は、図17に示した覚醒状態検出装置1bの基本動作を示すフローチャートである。なお、図18のステップST40〜ST43の処理は、図14に示すST30〜ST33の処理と同様であるため、説明を省略する。
【0148】
ステップST44において、マイコン3は、顔画像内から眼の位置を検出する(ST44)。すなわち、マイコン3は、眼位置検出部40に相当するプログラムを実行することとなる。なお、この処理において眼の位置が検出されると、眼の位置の検出状態を示す検出フラグ「GetFlag」が「TRUE」とされることとなる。一方、眼の位置が検出されなかった場合、検出フラグ「GetFlag」が「FALSE」とされることとなる。
【0149】
その後、マイコン3は、眼領域画像抽出処理を実行する(ST45)。すなわち、マイコン3は、眼領域画像抽出部50に相当するプログラムを実行することとなる。
【0150】
そして、マイコン3は、検出フラグ「GetFlag」が「TRUE」であるか否かを判断する(ST46)。検出フラグ「GetFlag」が「TRUE」でないと判断した場合(ST46:NO)、眼の位置が検出されておらず、処理はステップST41に戻る。そして、再度、眼の位置検出が行われることとなる。
【0151】
一方、検出フラグ「GetFlag」が「TRUE」であると判断した場合(ST46:YES)、マイコン3は、オプティカルフロー検出処理を実行する(ST47)。以下、ステップST47〜ST50は、図12に示すステップST34〜ST37の処理と同様であるため、説明を省略する。
【0152】
次に、眼位置検出処理(ST44)の詳細な動作について説明する。図19は、図18に示した眼位置検出処理(ST44)の詳細な動作を示すフローチャートである。
【0153】
同図に示すように、ステップST43の後、マイコン3は、検出フラグ「GetFlag」が「FALSE」とする(ST60)。そして、マイコン3は、眼である可能性を有する候補の位置の特定処理を実行する(ST61)。この処理により、顔画像全体から眼の候補の位置が1又は複数特定される。
【0154】
その後、マイコン3は、眼判定処理を実行する(ST62)。なお、この処理では、眼の候補の位置特定処理(ST61)にて特定された1又は複数の眼の候補のうち1つを選別し、この選別した候補が眼であるか否かを判断する。
【0155】
その後、マイコン3は、眼の判定処理(ST61)の結果に基づいて、選別された眼の候補が眼であると判定されたか否かを判断する(ST62)。眼であると判定されていなかった場合(ST62:NO)、マイコン3は、特定された1又は複数の眼候補のすべてについて判定したか否かを判断する(ST64)。
【0156】
全てに対して判定した場合(ST64:YES)、処理は図18のステップST45に移行する。一方、全てに対して判定していない場合(ST64:NO)、処理はステップST62に戻る。
【0157】
ところで、ステップST63において、眼であると判定されていた場合(ST63:YES)、マイコン3は、眼検出フラグ「GetFlag」を「TRUE」にする(ST64)。そして、処理は図18のステップST45に移行する。
【0158】
以上のようにして、本装置1では、眼である可能性を有する1又は複数の眼候補を画像全体から特定し、特定された1又は複数の眼候補を1つずつ判定して眼を検出することとなる。なお、眼である可能性を有する1又は複数の眼候補を画像全体から特定する処理(ステップST61の処理)は、以下のようにして行われる。
【0159】
図20は、図19に示した眼候補位置特定処理(ST61)の詳細を示すフローチャートである。同図において、まず、マイコン3は、顔画像のデータ全体を、全体画像として画像メモリに保存する(ST70)。
【0160】
次に、マイコン3は、ステップST71の判断を行う。この判断については後述する。ステップST71において「NO」と判断された場合、マイコン3は、全体画像の縦方向(Y軸方向)の画素列のうち1ラインのみに沿って濃度値の相加平均演算を行う(ST72)。
【0161】
この相加平均演算は、例えば縦方向に並ぶ所定数の画素について、濃度の平均値を求め、所定数の画素のうちの1画素の濃度値を前記平均値とする処理である。例えば、所定数が「5」である場合、画面上方から1〜5番目に位置する画素を選択して平均値を求め、この平均値を5番目の画素の濃度値とする。次に、画面上方から2〜6番目に位置する画素を選択して平均値を求め、この平均値を6番目の画素の濃度値とする。そして、これを順次繰り返し、1ラインすべての画素について濃度の平均値を求める。
【0162】
このように相加平均演算することで、本装置1は、画像データ撮影時の濃度値の変化の小さなバラツキを無くすことができ、濃度値の大局的な変化を捉えることができる。
【0163】
相加平均演算後、マイコン3は、縦方向に相加平均値の微分演算を行う(ST73)。そして、マイコン3は、微分値に基づいてポイント抽出を行う(ST74)。このポイント抽出とは、縦方向の画素列に沿って画素濃度の相加平均値の局所的な高まり毎に1個ずつの画素を定める処理であって、例えば相加平均値の微分値が負から正に変化する画素を定める処理である。
【0164】
ポイントとなる画素を定めた後、マイコン3は、現在ポイント抽出していたラインを次ラインへ切り替える(ST75)。そして、マイコン3は、縦方向の全ラインでのポイント抽出が終了したか否かを判断する(ST71)。全ラインでのポイント抽出が終了していないと判断した場合(ST71:NO)、前述のステップST72〜ST75の処理を経て、再度ステップST71に戻る。
【0165】
一方、全ラインでのポイント抽出が終了したと判断した場合(ST71:YES)、隣り合う各ラインの抽出ポイントのY座標値を比較する。そして、Y座標値が所定値以内の場合、連続データとして、(i)連続データのグループ番号、(ii)連続開始ライン番号、(iii)連続データ数をメモリする。また、(iv)連続データを構成する各抽出ポイントの縦方向位置の平均値(その連続データの代表上下位置)、(v)連続開始ラインと終了ラインの横方向位置の平均値(その連続データの代表左右位置)をメモリする(ST76)。
【0166】
なお、上記処理では、眼の候補を特定としようとしているため、連続データは横方向比較的長く延びるものとなる。このため、マイコン3は、連続データ形成後、横方向に所定値以上続くことを条件に連続データを選択することができる。
【0167】
その後、マイコン3は、各連続データについて代表座標値Cを定め、これを基準として存在領域EAを設定する(ST77)。この代表座標値Cとは、ステップST76の処理において、メモリされたX座標値の平均値及びY座標値の平均値により決定するものである(上記iv,vに示す平均値)。なお、存在領域EAについては、図21〜図26を参照して後述する。
【0168】
代表座標値Cを定めて存在領域EAを設定した後、処理は、図19のステップST62に移行する。以上が、眼候補位置特定処理(ST61)である。以上のようにして、求められた連続データが眼の候補となり、連続データの代表座標値Cが眼の候補点の位置となる。
【0169】
次に、縦方向の画素列ごとに定められた抽出ポイントが画像横方向に隣接する場合に形成される連続データ、その連続データの代表座標値C及び存在領域EAについて説明する。
【0170】
図21は、図20に示したステップST76の処理にて形成される連続データ、並びにステップST77の処理にて定められる代表座標値C及び存在領域EAを示す説明図である。なお、眼候補位置特定処理(ST61)は、1又は複数の眼候補を特定するものであるが、図21では複数の眼候補が特定された場合を例に説明する。
【0171】
同図に示すように、マイコン3は、複数の連続データGを形成している。これは、眼を検出対象としているため、眼と似た特徴量を示すもの(口、鼻、眉毛など)が検出されるためである。
【0172】
連続データGは、前述したように、縦方向の画素列ごとに定められた抽出ポイントが画像横方向に隣接する場合に形成されるものである。そして、この連続データを形成する横方向両端の画素のX座標値の平均値と、連続データを形成する各画素のY座標の平均値により、代表座標値Cが決定される。さらに、存在領域EAは、この代表座標値Cを基準として設定される。
【0173】
次に、存在領域EAの設定方法を説明する。図22は、図21に示した存在領域EAの大きさを示す説明図であり、図23及び図24は数人の眼の大きさを調べた横Xa、縦Yaの長さの統計データを示す説明図であり、図25は存在領域EAの画像上の位置を決定する方法を示す説明図である。
【0174】
存在領域EAの設定は、存在領域EAの大きさが決定され、その後、存在領域EAの画像上における位置が定められることでなされる。存在領域EAの大きさは、ノイズ(顔の皺や明暗などを抽出してしまう)の低減や処理速度を落とさないためにも、可能な限り小さい領域が良い。本実施形態では、数人の顔部位の大きさを調べ、それに余裕分(例えば×1.5倍)を加味して、存在領域EAの大きさを決定している。すなわち、図23及び図24のように、眼の縦横寸法のデータを集め、その分布の例えば95%をカバーする寸法に余裕分を考慮して決定する方法を採用している。
【0175】
そして上記95%をカバーする寸法、すなわち横寸法xa、縦寸法yaに余裕分(×1.5)を加味して決定している(図22)。なお、存在領域EAの大きさについては、画像処理により眼の幅や高さを推定し、縦横の大きさに余裕分を加える大きさとしてもよい。
【0176】
このように存在領域EAの大きさが決定された後、図25に示すように、例えば眼の座標値(x1,y1)を基準に、基準点Pを決める。基準点Pは、眼の座標値(x1,y1)から距離x2,y2だけ離れた位置に定められるものである。
【0177】
そして、マイコン3は、点Pを基準に存在領域EAの寸法x3,y3を描画する。これにより、存在領域EAの位置が決定される。その後、顔画像全体で見つかった連続データGすべてについて存在領域EAを設定する。
【0178】
なお、上記のx2及びy2はx3,y3の1/2であって、予め存在領域EAが眼の中心にくるような長さとしている。
【0179】
以上の図20〜図25の処理により、図19の眼候補位置特定処理(ST61)がなされる。
【0180】
次に、図19の眼判定処理(ST62)について説明する。図26は、図19に示した眼判定処理(ST62)の詳細を示すフローチャートである。
【0181】
まず、マイコン3は、図20の処理にて求められた存在領域EAの画像データを微少画像IGとして画像メモリに保存する(ST80)。全体画像と画像メモリに保存される微小画像IGとの状態を図27に示す。図27は、微小画像を示す説明図である。図27に示すように、マイコン3は、全体画像から存在領域EA内の画像を抽出し、微小画像IGとしている。
【0182】
再度、図26を参照して説明する。マイコン3は、全体画像の代表座標値Cを微少画像IGの代表座標値ICとする。そして、マイコン3は、微少画像IGの代表座標値ICを基準とした範囲ARを設定し、範囲ARの濃度情報をもとに二値化閾値を設定する(ST81)。
【0183】
範囲ARでの二値化閾値の算出方法の一例を、図28を参照して説明する。図28は、範囲ARでの二値化閾値の算出方法の説明図である。まず、マイコン3は、範囲ARにおいて縦方向に数ラインの濃度値の読み出しを行う。
【0184】
そして、マイコン3は、各ラインにおいて濃度値の最も高い(明るい)濃度値と、最も低い(暗い)濃度値をメモリしていく。全ラインのメモリが終了したら、マイコン3は、各ラインの最も高い(明るい)濃度値の中で、一番低い濃度値(皮膚の部分)と、各ラインの最も低い(暗い)濃度値の中で、一番低い濃度値(眼の部分)とを求める。そして、その中央値を二値化閾値とする。
【0185】
なお、上記した範囲ARは、好適に二値化閾値を決定するため、眼の黒い部分と眼の周囲の皮膚の白い部分が入るように設定される。また、範囲ARは、画像の明るさのバラツキによる影響を少なくするために必要最小限の大きさにされる。
【0186】
さらに、二値化閾値は、範囲AR内の眼の一番低い(暗い)濃度値と、皮膚の部分の一番低い(暗い)濃度値の中央値とすることで、皮膚の部分から眼の部分を切り出すのに適した値になる。
【0187】
ここで、二値化閾値を決定するのに皮膚部分における一番低い(暗い)濃度値を用いている理由は、次の通りである。例えば、範囲ARの一部に直射光が当たっている場合、皮膚部分は、眼球の黒色部分に比して、光を強く反射する傾向にある。このため、本装置1bは、多くのノイズとも言える光を入力してしまうこととなる。
【0188】
この場合、濃度値を読み出す範囲ARを極力小さくしても、画像がノイズ光による影響を受け、本装置1bは正確な二値化閾値を決定できなくなる可能性がある。このため、本実施形態では、強く反射している可能性がある濃度値の高い部分を用いず、皮膚の部分の濃度値の一番低い(暗い)濃度値を用いることで、より適切な二値化閾値を決定できるようにしている。
【0189】
再度、図26を参照して説明する。二値化閾値の決定後、マイコン3は、決定した二値化閾値を用いて微少画像IGを二値化処理し、二値画像bGとして画像メモリに保存する(ST82)。
【0190】
次に、マイコン3は、全体画像の代表座標値Cを二値画像bGの位置bCとし、この位置bCを初期位置として設定する(ST83)。その後、マイコン3は、設定位置が黒画素か否かを判断する(ST84)。ここでは、ステップST43において設定された初期位置が黒画素か否か判断される。
【0191】
そして、設定位置が黒画素でないと判断した場合(ST84:NO)、マイコン3は、設定位置を上下左右に1画素ずつずらす(ST85)。その後、マイコン3は、再度、設定位置が黒画素か否かを判断する。ここでは、ステップST45においてずらされた設定位置が黒画素か否か判断される。そして、黒画素と判断されるまで、この処理が繰り返される。
【0192】
一方、設定位置が黒画素であると判断した場合(ST84:YES)、マイコン3は、その黒画素の連結成分を候補オブジェクトとして設定する(ST86)。そして、マイコン3は、候補オブジェクトの幾何形状を算出する(ST87)。
【0193】
算出後、マイコン3は、予め記憶している眼のテンプレートの幾何形状と候補オブジェクトの幾何形状とを比較する(ST88)。候補オブジェクトと眼のテンプレートとの幾何形状の比較方法の一例を、図29を参照して説明する。
【0194】
図29は、候補オブジェクトと眼のテンプレートとの幾何形状の比較方法の説明図であり、(a)は候補オブジェクトが最適な状態で撮像された場合を示し、(b)は眼の右側が欠けた状態を示し、(c)は眼の左側が欠けた状態を示している。
【0195】
眼の画像を二値化した形状は光環境が良く安定した画像であれば図29(a)に示すようなものになる。ところが、車室内に直射日光が一側から当たる等して光環境が悪化したときには、図29(b)及び(c)に示すように、一部が欠けた形状になることもある。
【0196】
マイコン3は、上記のような候補オブジェクトを正確に判断するために、3つの条件により比較判断を行う。まず、条件(i)としては、横幅が眼の相場値の2/3以上あり、且つ上に凸の所定範囲の曲率を持っていることである。次に、条件(ii)としては、黒眼の左側の凹み形状があることである。また、条件(iii)としては、黒眼の右側の凹み形状があることである。
【0197】
再度、図26を参照して説明する。幾何形状の比較後、マイコン3は、上記3つの条件に基づき、比較判断を行い、候補オブジェクトと眼テンプレートとの幾何形状が一致するか否かを判断する(ST89)。ここで、図13(b)及び(c)のように眼の形状の一部が欠けている場合を考慮し、マイコン3は、条件(i)及び(ii)を満たすもの、並びに条件(ii)及び(iii)を満たすものを一致すると判断する。
【0198】
一致しないと判断した場合(ST89:NO)、マイコン3は、その候補オブジェクトが眼でないと判定し(ST90)、その後、処理は、図19のステップST63に移行する。
【0199】
一方、一致すると判断した場合(ST89:YES)、マイコン3は、その候補オブジェクトが眼であると判定する(ST91)。そして、判定された候補オブジェクトの座標値(全体画像における代表座標値Cに相当する)を、画像上における眼の座標値としてメモリする(ST92)。
【0200】
その後、マイコン3は、ステップST90において一致すると判断された候補オブジェクトを含む微小画像IGを眼画像MGiとして、画像メモリに保存する(ST93)。その後、処理は、図19のステップST63に移行する。
【0201】
なお、図26の処理では、二値化閾値を用いて二値化した候補オブジェクトを検出している。このため、本実施形態では、眼の部分と他の部分(背景や眼以外の顔部分)とを明確に区別し、眼を正確に捉えることができる。さらには、候補オブジェクトの幾何形状を用いた判定をより正確に行うことができ、眼の位置検出精度をより向上させることができる。
【0202】
以上、図28〜図29を参照して説明したように、マイコン3(眼位置検出部40)は、顔画像全体から眼を検出する。そして、前述したように、眼が検出されると、眼検出フラグ「GetFlag」が「TRUE」とされる。そして、図18に示すように、眼領域画像抽出処理(ST45)、オプティカルフロー検出処理(ST47)及びそれ以降の処理が実行される。
【0203】
すなわち、マイコン3は、眼領域画像抽出処理(ST45)を実行し、検出した眼の位置から眼領域画像を抽出する。そして、マイコン3は、オプティカルフロー検出処理(ST47)を実行し、眼画像領域内からオプティカルフローを検出する。この際、マイコン3は、第2実施形態に示したものと同様に、眼画像領域内において所定の大きさ及び位置で定められる参照領域からオプティカルフローを検出する。
【0204】
さらに、マイコン3は、瞼の動きベクトル検出処理(ST48)を実行し、眼領域画像内に定められる領域グループから、瞼の動きベクトルを検出する。その後、マイコン3は、開閉状態判定処理(ST49)を実行し、瞼の開閉状態の時系列的変化を求める。そして、マイコン3は、瞼の開閉状態の時系列的変化から、運転者の覚醒状態を検出する。
【0205】
このようにして、本実施形態に係る覚醒状態検出装置1bによれば、第1実施形態と同様に、判定精度の向上を図ることができ、判定精度の一層の向上を図ることができ、詳細に画像内の物体等の移動を検出している分、精度の高い検出を行うことができる。
【0206】
さらに、本実施形態では、眼付近のオプティカルフローを求めるに際して、顔画像から眼の位置を検出し、その後眼領域画像を抽出することとしている。このため、第2実施形態のように、眼を追従して撮像する手段を要することなく、構成の簡素化を図ることができる。
【0207】
また、顔画像撮像部10は、被検出者の顔全体を一画像内に収めることができる画角を有し、固定して設置されている。すなわち、顔画像撮像部10は、一画像内に被検出者の顔が収まった状態で撮像することができる。このため、一画像内に顔が収まることから、確実に瞼を一画像内に収めることができ、さらに確実に瞼の動きを捕らえることができる。この結果、瞼の動きに基づいて覚醒状態を検出できることとなり、瞼が撮像されずに、覚醒状態の検出精度が低下してしまうことを防止することができる。従って、検出精度の向上を図ることができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態に係る覚醒状態検出装置の構成図である。
【図2】参照領域及び探索領域の説明図である。
【図3】顔画像に規則的に配置される参照領域の説明図であり、(a)は顔画像上の横方向に参照領域が複数(例えば7つ)配置される例を示し、(b)は顔画像上に格子状に参照領域が複数(例えば5行7列)配置される例を示し、(c)は横方向に且つ格子状に参照領域が複数(例えば3行5列に加え、さらに横方向に2つの計17)配置される例を示している。
【図4】本発明の第1実施形態に係る覚醒状態検出装置1を車両に搭載した場合のハード構成図である。
【図5】図1に示した覚醒状態検出装置の基本動作を示すフローチャートである。
【図6】図5に示したオプティカルフロー検出処理(ステップST5)の詳細なフローチャートである。
【図7】図6に示すステップST11における移動量(xd,yd)の算出方法の説明図である。
【図8】運転者が左方向に顔の向きを変える場合のオプティカルフローの例を示す説明図であり、(a)は時刻tにおけるオプティカルフローの例を示し、(b)は時刻(t+1)におけるオプティカルフローの例を示し、(c)は時刻(t+2)におけるオプティカルフローの例を示し、(d)は時刻(t+3)におけるオプティカルフローの例を示している。
【図9】図5に示した動きベクトルの検出処理(ST6)の詳細なフローチャートである。
【図10】平均移動量、顔の動きベクトル、及び単位時間を30秒としたときの動きベクトルの平均値(統計的代表値)を示す説明図である。
【図11】図10に示す平均値から得られた覚醒度を示す説明図である。
【図12】第2実施形態に係る覚醒状態検出装置の機能ブロック図である。
【図13】本発明の第2実施形態に係る覚醒状態検出装置を車両に搭載した場合のハード構成図である。
【図14】図12に示した覚醒状態検出装置の基本動作を示すフローチャートである。
【図15】瞼の開閉を検出する場合に得られるオプティカルフローの例を示す説明図であり、(a)は時刻tにおけるオプティカルフローの例を示し、(b)は時刻(t+1)におけるオプティカルフローの例を示し、(c)は時刻(t+2)におけるオプティカルフローの例を示している。
【図16】瞼の開閉を検出する場合に得られる平均移動量の移動平均(すなわち動きベクトル)を示す説明図である。
【図17】第3実施形態に係る覚醒状態検出装置の機能ブロック図である。
【図18】図17に示した覚醒状態検出装置の基本動作を示すフローチャートである。
【図19】図18に示した眼位置検出処理(ST44)の詳細な動作を示すフローチャートである。
【図20】図19に示した眼候補位置特定処理(ST61)の詳細を示すフローチャートである。
【図21】図20に示したステップST76の処理にて形成される連続データ、並びにステップST77の処理にて定められる代表座標値C及び存在領域EAを示す説明図である。
【図22】図21に示した存在領域EAの大きさを示す説明図である。図23及び図24は数人の眼の大きさを調べた横Xa、縦Yaの長さの統計データを示す説明図であり、図25は存在領域EAの画像上の位置を決定する方法を示す説明図である。
【図23】数人の眼の大きさを調べた横Xaの長さの統計データを示す説明図である。
【図24】数人の眼の大きさを調べた縦Yaの長さの統計データを示す説明図である。
【図25】存在領域EAの画像上の位置を決定する方法を示す説明図である。
【図26】図19に示した眼判定処理(ST62)の詳細を示すフローチャートである。
【図27】微小画像を示す説明図である。
【図28】範囲ARでの二値化閾値の算出方法の説明図である。
【図29】候補オブジェクトと眼のテンプレートとの幾何形状の比較方法の説明図であり、(a)は候補オブジェクトが最適な状態で撮像された場合を示し、(b)は眼の右側が欠けた状態を示し、(c)は眼の左側が欠けた状態を示している。
【符号の説明】
1,1a,1b…覚醒状態検出装置
10…顔画像撮像部(顔画像撮像手段)
20…オプティカルフロー検出部(オプティカルフロー検出手段)
30…覚醒状態検出部(覚醒状態検出手段)
31…動きベクトル検出部(動きベクトル検出手段)
32…代表値算出部(代表値算出手段)
33…開閉状態検出部(開閉状態検出手段)
40…眼位置検出部(眼位置検出手段)
50…眼領域画像抽出部(眼領域画像抽出手段)
Claims (14)
- 被検出者の顔を撮像する顔画像撮像手段と、
前記顔画像撮像手段による撮像によって得られた時系列に連続する少なくとも2枚の顔画像から、オプティカルフローを検出するオプティカルフロー検出手段と、
前記オプティカルフロー検出手段によって検出されたオプティカルフローから被検出者の覚醒状態を検出する覚醒状態検出手段と、
を備えることを特徴とする覚醒状態検出装置。 - 前記覚醒状態検出手段は、
前記オプティカルフロー検出手段によって検出されたオプティカルフローから顔の動きベクトルを検出する動きベクトル検出手段と、
前記動きベクトル検出手段よって検出された顔の動きベクトルの大きさから、動きベクトルの単位時間あたりの統計的代表値を算出する代表値算出手段と、を有し、
被検出者の覚醒状態が正常状態であるときに、前記代表値算出手段によって算出された顔の動きベクトルの統計的代表値が所定の閾値以下となった場合、閾値以下となった時点よりあとの覚醒状態を居眠り状態とする
ことを特徴とする請求項1に記載の覚醒状態検出装置。 - 前記顔画像撮像手段は、固定して設置されると共に、被検出者の顔全体を一画像内に収めるだけの画角が確保されていることを特徴とする請求項2に記載の覚醒状態検出装置。
- 前記覚醒状態検出手段は、被検出者の覚醒状態が居眠り状態であるときに、前記代表値算出手段によって算出された顔の動きベクトルの統計的代表値が所定の閾値を超えた場合、閾値を超えた時点よりあとの覚醒状態を正常状態とすることを特徴とする請求項2又は請求項3のいずれかに記載の覚醒状態検出装置。
- 前記覚醒状態検出手段は、検出開始時には被検出者の覚醒状態が正常状態であると判断することを特徴とする請求項2〜請求項4のいずれか1項に記載の覚醒状態検出装置。
- 前記オプティカルフロー検出手段は、顔画像に対して所定の大きさ及び位置で定められる少なくとも1つの演算領域からオプティカルフローを求め、
前記動きベクトル検出手段は、前記オプティカルフロー検出手段により検出されたオプティカルフローに基づいて、前記演算領域を少なくとも1つ含んで顔画像上に定められる領域グループから顔の動きベクトルを求める
ことを特徴とする請求項2〜請求項5のいずれか1項に記載の覚醒状態検出装置。 - 前記演算領域の少なくとも1つは、前記顔画像撮像手段による撮像によって得られた顔画像のサイズに基づいて、予め顔部位程度の大きさで設定されることを特徴とする請求項6に記載の覚醒状態検出装置。
- 前記顔画像撮像手段は、被検出者の少なくとも一方の眼を撮像範囲に含んで撮像し、
オプティカルフロー検出手段は、時系列に連続する少なくとも2枚の顔画像から、オプティカルフローを検出すると共に、この検出を時系列的に連続して行い、
前記覚醒状態検出手段は、
前記オプティカルフロー検出手段によって検出されたオプティカルフローから、瞼の動きベクトルを検出する動きベクトル検出手段と、
前記動きベクトル検出手段よって検出された瞼の動きベクトルから、瞼の開閉状態を検出する開閉状態検出手段と、を有し、
前記開閉状態検出手段による検出が複数回に渡って行われることによって得られる瞼の開閉状態の時系列的変化から、被検出者の覚醒状態を検出する
ことを特徴とする請求項1に記載の覚醒状態検出装置。 - 前記顔画像撮像手段は、被検出者の少なくとも一方の眼を中心にして眼全体が一画像内に収まるように撮像を行うと共に、被検出者の頭の動きに併せて追従動作を行うことを特徴とする請求項8に記載の覚醒状態検出装置。
- 前記オプティカルフロー検出手段は、被検出者の少なくとも一方の眼を中心にして眼全体が一画像内に収まった眼画像に対し、所定の大きさ及び位置で定められる少なくとも1つの演算領域からオプティカルフローを求め、
前記動きベクトル検出手段は、前記オプティカルフロー検出手段により検出されたオプティカルフローに基づいて、前記演算領域を少なくとも1つ含んで眼画像上に定められる領域グループから瞼の動きベクトルを求める
ことを特徴とする請求項8又は請求項9のいずれかに記載の覚醒状態検出装置。 - 前記顔画像撮像手段による撮像によって得られた顔画像から眼の位置を検出する眼位置検出手段と、
前記眼位置検出手段によって検出された眼の位置を中心とした眼全体を囲む領域を眼領域画像として抽出する領域抽出手段と、を更に備え、
前記オプティカルフロー検出手段は、眼画像領域内からオプティカルフローを検出する
ことを特徴とする請求項8に記載の覚醒状態検出装置。 - 前記顔画像撮像手段は、固定して設置されると共に、被検出者の顔全体を一画像内に収めるだけの画角が確保されていることを特徴とする請求項11に記載の覚醒状態検出装置。
- 前記オプティカルフロー検出手段は、前記領域抽出手段によって抽出された眼領域画像内において所定の大きさ及び位置で定められる少なくとも1つの演算領域からオプティカルフローを求め、
前記動きベクトル検出手段は、前記オプティカルフロー検出手段により検出されたオプティカルフローに基づいて、前記演算領域を少なくとも1つ含んで眼画像上に定められる領域グループから瞼の動きベクトルを求める
ことを特徴とする請求項11又は請求項12のいずれかに記載の覚醒状態検出装置。 - 被検出者の顔を時系列的に連続に撮像して得られた少なくとも2枚の顔画像からオプティカルフローを検出して、このオプティカルフローから被検出者の覚醒状態を検出することを特徴とする覚醒状態検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003185921A JP2005013626A (ja) | 2003-06-27 | 2003-06-27 | 覚醒状態検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003185921A JP2005013626A (ja) | 2003-06-27 | 2003-06-27 | 覚醒状態検出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005013626A true JP2005013626A (ja) | 2005-01-20 |
Family
ID=34185191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003185921A Pending JP2005013626A (ja) | 2003-06-27 | 2003-06-27 | 覚醒状態検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005013626A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011015913A (ja) * | 2009-07-10 | 2011-01-27 | Toyota Central R&D Labs Inc | 居眠り判定装置及びプログラム並びに警報出力装置及びプログラム |
CN104504378A (zh) * | 2014-12-29 | 2015-04-08 | 北京奇艺世纪科技有限公司 | 一种图像信息检测方法及装置 |
JP2016521411A (ja) * | 2013-04-10 | 2016-07-21 | オークランド ユニサービシズ リミテッド | 頭部及び眼球追跡 |
JP2016137155A (ja) * | 2015-01-28 | 2016-08-04 | 京セラ株式会社 | 眼の開閉状態の判定方法、画像処理装置、および判定システム |
WO2019198179A1 (ja) * | 2018-04-11 | 2019-10-17 | 三菱電機株式会社 | 搭乗者状態判定装置、警告出力制御装置及び搭乗者状態判定方法 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH066786A (ja) * | 1992-06-22 | 1994-01-14 | A T R Tsushin Syst Kenkyusho:Kk | 視線一致補正装置 |
JPH06292203A (ja) * | 1993-04-02 | 1994-10-18 | Mitsubishi Electric Corp | 動画像解析装置 |
JPH06314340A (ja) * | 1993-04-30 | 1994-11-08 | Mitsubishi Electric Corp | 車両周辺監視装置 |
JPH07249197A (ja) * | 1994-03-10 | 1995-09-26 | Mitsubishi Electric Corp | 人物状態検出装置 |
JPH08225028A (ja) * | 1995-02-20 | 1996-09-03 | Toyota Central Res & Dev Lab Inc | 運転者の覚醒度検出装置 |
JPH10272959A (ja) * | 1997-03-31 | 1998-10-13 | Mitsubishi Motors Corp | 覚醒度推定装置 |
JP2000142164A (ja) * | 1998-11-02 | 2000-05-23 | Nissan Motor Co Ltd | 眼の状態検出装置及び居眠り運転警報装置 |
JP2000301962A (ja) * | 1999-04-21 | 2000-10-31 | Niles Parts Co Ltd | 眼の状態検出装置、居眠り運転警報装置 |
JP2001043345A (ja) * | 1999-07-28 | 2001-02-16 | Mitsubishi Electric Corp | 表情認識装置、およびそれを用いた投薬制御システム、覚醒レベル評価システム、回復評価システム |
JP2001043382A (ja) * | 1999-07-27 | 2001-02-16 | Fujitsu Ltd | 目追跡装置 |
JP2001167283A (ja) * | 1999-12-10 | 2001-06-22 | Yukinobu Kunihiro | 顔面運動解析装置および顔面運動解析のためのプログラムを記憶した記憶媒体 |
JP2001229499A (ja) * | 2000-02-15 | 2001-08-24 | Niles Parts Co Ltd | 眼の状態検出装置 |
JP2002074370A (ja) * | 2000-08-28 | 2002-03-15 | Ntt Data Corp | 動画像による監視システム、方法及びコンピュータ読み取り可能な記録媒体 |
JP2002150291A (ja) * | 2000-11-06 | 2002-05-24 | Nagoya Industrial Science Research Inst | 動点軌跡計測方法及び動点軌跡計測装置、画像処理方法及び画像処理装置並びに動点軌跡計測プログラムを記録したコンピュータ読み取り可能な記録媒体及び動点軌跡計測プログラム |
JP2002279411A (ja) * | 2001-03-22 | 2002-09-27 | Nissan Motor Co Ltd | 運転注意力検出装置および居眠り運転検出装置 |
JP2002279410A (ja) * | 2001-03-22 | 2002-09-27 | Nissan Motor Co Ltd | 居眠り検出装置 |
JP2003000571A (ja) * | 2001-06-18 | 2003-01-07 | Mitsubishi Electric Corp | 覚醒度推定装置および覚醒度推定方法 |
-
2003
- 2003-06-27 JP JP2003185921A patent/JP2005013626A/ja active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH066786A (ja) * | 1992-06-22 | 1994-01-14 | A T R Tsushin Syst Kenkyusho:Kk | 視線一致補正装置 |
JPH06292203A (ja) * | 1993-04-02 | 1994-10-18 | Mitsubishi Electric Corp | 動画像解析装置 |
JPH06314340A (ja) * | 1993-04-30 | 1994-11-08 | Mitsubishi Electric Corp | 車両周辺監視装置 |
JPH07249197A (ja) * | 1994-03-10 | 1995-09-26 | Mitsubishi Electric Corp | 人物状態検出装置 |
JPH08225028A (ja) * | 1995-02-20 | 1996-09-03 | Toyota Central Res & Dev Lab Inc | 運転者の覚醒度検出装置 |
JPH10272959A (ja) * | 1997-03-31 | 1998-10-13 | Mitsubishi Motors Corp | 覚醒度推定装置 |
JP2000142164A (ja) * | 1998-11-02 | 2000-05-23 | Nissan Motor Co Ltd | 眼の状態検出装置及び居眠り運転警報装置 |
JP2000301962A (ja) * | 1999-04-21 | 2000-10-31 | Niles Parts Co Ltd | 眼の状態検出装置、居眠り運転警報装置 |
JP2001043382A (ja) * | 1999-07-27 | 2001-02-16 | Fujitsu Ltd | 目追跡装置 |
JP2001043345A (ja) * | 1999-07-28 | 2001-02-16 | Mitsubishi Electric Corp | 表情認識装置、およびそれを用いた投薬制御システム、覚醒レベル評価システム、回復評価システム |
JP2001167283A (ja) * | 1999-12-10 | 2001-06-22 | Yukinobu Kunihiro | 顔面運動解析装置および顔面運動解析のためのプログラムを記憶した記憶媒体 |
JP2001229499A (ja) * | 2000-02-15 | 2001-08-24 | Niles Parts Co Ltd | 眼の状態検出装置 |
JP2002074370A (ja) * | 2000-08-28 | 2002-03-15 | Ntt Data Corp | 動画像による監視システム、方法及びコンピュータ読み取り可能な記録媒体 |
JP2002150291A (ja) * | 2000-11-06 | 2002-05-24 | Nagoya Industrial Science Research Inst | 動点軌跡計測方法及び動点軌跡計測装置、画像処理方法及び画像処理装置並びに動点軌跡計測プログラムを記録したコンピュータ読み取り可能な記録媒体及び動点軌跡計測プログラム |
JP2002279411A (ja) * | 2001-03-22 | 2002-09-27 | Nissan Motor Co Ltd | 運転注意力検出装置および居眠り運転検出装置 |
JP2002279410A (ja) * | 2001-03-22 | 2002-09-27 | Nissan Motor Co Ltd | 居眠り検出装置 |
JP2003000571A (ja) * | 2001-06-18 | 2003-01-07 | Mitsubishi Electric Corp | 覚醒度推定装置および覚醒度推定方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011015913A (ja) * | 2009-07-10 | 2011-01-27 | Toyota Central R&D Labs Inc | 居眠り判定装置及びプログラム並びに警報出力装置及びプログラム |
JP2016521411A (ja) * | 2013-04-10 | 2016-07-21 | オークランド ユニサービシズ リミテッド | 頭部及び眼球追跡 |
US10506924B2 (en) | 2013-04-10 | 2019-12-17 | Auckland Uniservices Limited | Head and eye tracking |
CN104504378A (zh) * | 2014-12-29 | 2015-04-08 | 北京奇艺世纪科技有限公司 | 一种图像信息检测方法及装置 |
JP2016137155A (ja) * | 2015-01-28 | 2016-08-04 | 京セラ株式会社 | 眼の開閉状態の判定方法、画像処理装置、および判定システム |
WO2019198179A1 (ja) * | 2018-04-11 | 2019-10-17 | 三菱電機株式会社 | 搭乗者状態判定装置、警告出力制御装置及び搭乗者状態判定方法 |
JPWO2019198179A1 (ja) * | 2018-04-11 | 2020-12-03 | 三菱電機株式会社 | 搭乗者状態判定装置、警告出力制御装置及び搭乗者状態判定方法 |
US11315361B2 (en) | 2018-04-11 | 2022-04-26 | Mitsubishi Electric Corporation | Occupant state determining device, warning output control device, and occupant state determining method |
JP7118136B2 (ja) | 2018-04-11 | 2022-08-15 | 三菱電機株式会社 | 搭乗者状態判定装置、警告出力制御装置及び搭乗者状態判定方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2074550B1 (en) | Eye opening detection system and method of detecting eye opening | |
JP3768735B2 (ja) | 顔画像処理装置 | |
JP2937030B2 (ja) | 画像処理装置及び人物状態判定装置 | |
JP6234762B2 (ja) | 眼部検出装置、方法、およびプログラム | |
CN105844128A (zh) | 身份识别方法和装置 | |
EP3483832B1 (en) | Image processing device | |
CN101271517A (zh) | 面部区域检测装置、方法和计算机可读记录介质 | |
JP4992823B2 (ja) | 顔検出装置及び顔検出方法 | |
JP4989249B2 (ja) | 目検知装置、居眠り検知装置及び目検知装置の方法 | |
JP4506250B2 (ja) | 上瞼検出装置 | |
JP4529635B2 (ja) | 開閉眼判定装置 | |
JP4325271B2 (ja) | 状態検出装置及び状態検出システム | |
JP4107087B2 (ja) | 開閉眼判定装置 | |
JP4082203B2 (ja) | 開閉眼判定装置 | |
JP2005013626A (ja) | 覚醒状態検出装置 | |
JP4123077B2 (ja) | 運転者状態検出装置 | |
KR101886416B1 (ko) | 차량 도어 제어 시스템 및 방법 | |
JP4107104B2 (ja) | 顔部位追跡装置 | |
JP4781292B2 (ja) | 閉眼検知装置、居眠り検知装置、閉眼検知方法及び閉眼検知のためのプログラム | |
JP2005018654A (ja) | 脇見状態検出装置 | |
JP4725096B2 (ja) | 覚醒度判断装置 | |
JP3801075B2 (ja) | 画像拡大装置 | |
JP4692006B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2004341953A (ja) | 顔部位追跡装置 | |
JP2005018651A (ja) | 運転者状態検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060424 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081104 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090303 |