JP2004070512A - 運転者の顔状態検出装置 - Google Patents
運転者の顔状態検出装置 Download PDFInfo
- Publication number
- JP2004070512A JP2004070512A JP2002226491A JP2002226491A JP2004070512A JP 2004070512 A JP2004070512 A JP 2004070512A JP 2002226491 A JP2002226491 A JP 2002226491A JP 2002226491 A JP2002226491 A JP 2002226491A JP 2004070512 A JP2004070512 A JP 2004070512A
- Authority
- JP
- Japan
- Prior art keywords
- face
- difference
- driver
- image
- area
- 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
- Image Processing (AREA)
- Image Analysis (AREA)
- Indicating Or Recording The Presence, Absence, Or Direction Of Movement (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
【課題】運転者がサングラス等の眼鏡を装着しているかどうかに関わらずに運転者の脇見を検出することのできる運転者の顔状態検出装置を提供する。
【解決手段】画像撮像手段101にて撮像された画像を、所定のサンプリング時間で時系列的に取得し、取得した画像を記憶する画像記憶手段102と、時系列的に得られる今回の画像と、前回の画像との差分を演算して、2つの画像間の濃度差を求める差分演算手段103と、差分演算手段103より得られる濃度差が生じる領域の、時系列的な変化に基づいて、運転者の顔の移動方向を検出する顔の移動方向検出手段106と、を具備する。
【選択図】 図1
【解決手段】画像撮像手段101にて撮像された画像を、所定のサンプリング時間で時系列的に取得し、取得した画像を記憶する画像記憶手段102と、時系列的に得られる今回の画像と、前回の画像との差分を演算して、2つの画像間の濃度差を求める差分演算手段103と、差分演算手段103より得られる濃度差が生じる領域の、時系列的な変化に基づいて、運転者の顔の移動方向を検出する顔の移動方向検出手段106と、を具備する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、車両の運転者の顔状態を検出する顔状態検出装置に関する。
【0002】
【従来の技術】
従来におけるドライバの顔状態検出装置として、例えば、特開平7−69139号公報に記載された「わき見運転防止装置」(以下、従来例という)に記載されたものが知られている。
【0003】
該従来例では、撮影陽のカメラからの顔画像を検査画像として取り込み、検査画像に基づいて運転者の左右の眼画像の座標(XL,Yi)、(XR,Yi)を求める。そして、この眼画像の座標に基づいて、左右の眼の距離を演算し、眼距離データを所定回数取り込むことによって、基準眼距離を演算し、基準眼距離と今回得られた眼距離とから、正面に顔が存在しないことを検出する方式を採用している。
【0004】
【発明が解決しようとする課題】
しかしながら、上述した従来例では、脇見を検出する対象者が眼鏡を掛けている場合には、光環境の影響で眼鏡のレンズ部に写り込みが生じることにより、顔画像から眼を検出できなくなり、脇見状態を検出できなくなることがある。また、対象者がサングラスを掛けている場合には、眼を全く検出できなくなり、脇見の検出が全くできなくなってしまう。
【0005】
この発明は、このような従来の課題を解決するためになされたものであり、その目的とするところは、運転者がサングラスなどの眼鏡を装着しているかどうかに関わらずに運転者の脇見を検出できる運転者の顔状態検出装置を提供することにある。
【0006】
【課題を解決するための手段】
上記目的を達成するため、本願請求項1に記載の発明は、運転者の顔を撮像する撮像手段を具備し、該撮像手段にて撮像された顔画像に基づいて、運転者の顔状態を検出する顔状態検出装置において、前記撮像手段にて撮像された画像を、所定のサンプリング時間で時系列的に取得し、取得した画像を記憶する画像記憶手段と、前記時系列的に得られる今回の画像と、前回の画像との差分を演算して、2つの画像間の濃度差を求める差分演算手段と、前記差分演算手段より得られる濃度差が生じる領域の、時系列的な変化に基づいて、運転者の顔の移動方向を検出する顔の移動方向検出手段と、を具備したことを特徴とする。
【0007】
【発明の効果】
請求項1の発明では、運転中のドライバの顔の動きの特徴量を精度良く捕らえることができるので、顔の向き変化を伴う脇見や、安全確認の施行の有無などのドライバの状態検出を、簡単な構成で、且つ高精度に検出することができる。
【0008】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づいて説明する。図1,図2は、本発明の第1の実施形態に係る顔状態検出装置の構成を示すブロック図である。同図に示すように、該顔状態検出装置は、ドライバの顔近傍の映像を撮像する画像撮像手段101と、この画像撮像手段101にて撮像された画像を、所定のサンプリング時間で取り込み、記憶保存する画像記憶手段102と、今回のサンプリング時に取り込まれた画像と、前回のサンプリング時に取り込まれた画像との差分を求める差分演算手段103と、を有している。
【0009】
更に、差分演算手段103にて得られた差分結果を記憶保存する差分演算結果記憶手段104と、この差分演算結果記憶手段104に記憶されたデータに基づいて、ドライバの顔画像を再作成する顔画像再作成手段105と、再作成された顔画像のデータに基づいて、ドライバの顔の移動方向を検出する顔の移動方向検出手段106と、を具備している。
【0010】
また、必要に応じて、図2に示すように、顔の移動速度検出手段207を備える構成とすることもできる。即ち、図2に示す構成では、画像撮像手段201と、画像記憶手段202と、差分演算手段203と、差分演算結果記憶手段204と、顔画像再作成手段205と、顔の移動方向検出手段206と、顔の移動速度検出手段207と、を備えている。
【0011】
顔の移動速度検出手段207は、顔画像において濃度差が生じた面積を検出し、その面積の検出結果に基づいて、運転者の顔の移動速度を検出する。この際、顔画像において濃度差が生じた画素数を検出することにより、濃度差が生じた面積を求めるようにすることもできる。
【0012】
そして、本実施形態に係る顔状態検出装置では、時系列的に撮像される顔画像を対象として差分処理を行うことによって、簡単な構成で、且つ精度良くドライバの状態を検出するドライバモニター装置として使用することができる。
【0013】
次に、上述のように構成された本実施形態の動作を、図3〜図6に示すフローチャート、及び図7〜図9に示す説明図を用いて説明する。
【0014】
まず、図3のステップ301で画像入力を行い、ステップ302で画像メモリIMAGE_NEWに画像データを記憶する。次に、ステップ303に移行し、画像メモリIMAGE_OLDに画像データが記憶されているかどうかを確認する。本処理の起動直後であれば、画像メモリIMAGE_OLDには画像データが記憶されていないので、図6のステップ509に移行する。
【0015】
ステップ509では画像メモリIMAGE_NEWの画像データを画像メモリIMAGE_OLDに代入して、図3のステップ301に戻り、次の画像入力を行う。ステップ302では、新たに取り込んだ画像データを画像メモリIMAGE_NEWに記憶する。
【0016】
前述した処理ループを一度回った後は画像メモリIMAGE_OLDに画像データが記憶されているので、ステップ303からステップ304に移行して、画像メモリIMAGE_NEWとIMAGE_OLDとの濃度差分値の演算を行う。
【0017】
ステップ305では、ステップ304で演算した画像メモリIMAGE_NEWとIMAGE_OLDの各画素単位で濃度差分値が所定階調以上あるかどうかを判定し、所定値以上である画素を特定する。
【0018】
ここまでの具体的な処理内容を、ドライバが左方向に視線をそらして行く場面(図7,図8)で説明する。最初に取り込まれる画像データを▲1▼とすると、▲1▼の画像データが画像メモリIMAGE_NEWに一旦記憶され、その後、画像メモリIMAGE_OLDに代入される。
【0019】
次に、取り込まれた▲2▼の画像データが新たに画像メモリIMAGE_NEWに記憶される。この後、ステップ304で濃度差分値の演算を行い、ステップ305で各画素単位で所定階調以上の濃度差があった画素を特定して表示させたものが、図7の“I”に示す画像である。各画素の濃度値は256階調の濃淡で記憶されており、0を黒、255を白としている。
【0020】
撮像画像の検出タクトとなる▲1▼と▲2▼の画像メモリの濃度差分値の演算時間(サンプリング時間)は、一般的なTVカメラの画像の取り込みタイミングが33[msec]/フレームであることから、差分演算を画像データの取り込み中の裏処理として行うことを想定すると、この33[msec]となる。また、差分演算の裏処理を行わない場合は33[msec]+αの演算時間となり、この場合処理する領域の大きさによって演算時間は異なってくる。
【0021】
よって、差分演算を裏処理で行う場合の検出タクトの固定値は、33[msec]となり、差分演算を裏処理で行わない場合の検出タクトの固定値は、処理面積の大きさに比例した処理時間をプラスしたものになる。差分演算の裏処理を行えないハード構成で、且つ全画面を対象とした処理を行う場合、固定される検出タクトがドライバの速い動きを検出するには長すぎるという時の対応策としては、対象とする領域を顔幅や眼が存在する箇所に限定して処理することによって検出タクト(サンプリング時間)を短めに変更する方法がある。
【0022】
図3のステップ304、ステップ305では、図7,図8に示すように新たな画像が取り込まれる毎に、画像メモリIMAGE_NEWと一つ前の画像メモリIMAGE_OLDの濃度差分値の演算を行い、各画素単位で所定階調以上の濃度差があるもの特定し、▲3▼−▲2▼、▲4▼−▲3▼、・・・と演算を繰り返して行く。
【0023】
この後、図3のステップ306で差分画像メモリDIFF_IMAGE1〜5に画像データが代入されているかどうかを判定する。初期状態ではDIFF_IMAGEに画像データは代入されていないので、ステップ307でステップ305で特定した画素を対象として差分画像メモリ1〜5に順次代入して行く。
【0024】
この処理内容を具体的に説明すると、最初の処理ではDIFF_IMAGE1に、図7に示す▲2▼−▲1▼の濃度差分値で特定された画素からなる画像データ“I”、それ以降の処理ではDIFF_IMAGE2に▲3▼−▲2▼の濃度差分値で特定された画素からなる画像データ“II”、DIFF_IMAGE3に▲4▼−▲3▼の濃度差分値で特定された画素からなる画像データ“III”、DIFF_IMAGE4に▲5▼−▲4▼の濃度差分値で特定された画素からなる画像データ“IV”、DIFF_IMAGE5に▲6▼−▲5▼の濃度差分値で特定された画素からなる画像データ“V”が各々代入される。
【0025】
本実施形態においては、時系列的に記憶する差分画像DIFF_IMAGEを5つに固定して説明しているが、検出タクトの長さや、画像の濃度状態(画像全体の明るさ)や、車両が走行している環境に応じて可変させることも考えられる。
【0026】
ステップ306で、差分画像メモリDIFF_IMAGE1〜5に画像データが代入されていることが確認されるまでは、図6のステップ509で、画像メモリIMAGE_OLDを順次更新し、図3のステップ302で新たに取り込まれる画像データをIMAGE_NEWにメモリするフローを流れ、全ての差分画像メモリDIFF_IMAGE1〜5に画像データが代入されたら、ステップ306からステップ308へと移行する。
【0027】
ステップ308では、DIFF_IMAGE2に代入されている“II”のデータをDIFF_IMAGE1へ、DIFF_IMAGE3に代入されている“III”のデータをDIFF_IMAGE2へ、と順次更新して行き、最新の濃度差分値で特定された画素からなる画像データ“VI”をDIFF_IMAGE5に代入する。
【0028】
この処理内容を図9を用いて説明する。図3のステップ306の条件を初めて満たした時は、DIFF_IMAGEの1〜5には、図9の差分画像“I”〜“V”が各々メモリされており、ステップ305で演算される最新の差分画像データは、“VI”になる。
【0029】
この処理は5つのDIFF_IMAGEに一つずつ新しいデータを取り込みながら古いデータを吐き出していくものである。本実施形態で差分画像“I”のデータを実際の判定処理に用いていないのは、プログラムの構造をよりシンプルにすることを優先させたためである。よって、ステップ308を通るフローに移行後1回目の処理では、DIFF_IMAGEの1〜5に差分画像“II”〜“VI”が各々メモリされており、2回目の処理では、“III”〜“VII”へと順次更新していく。図3のステップ309では、各DIFF_IMAGE1〜5毎に、ステップ305で特定された画素の総和を演算する。
【0030】
図9の面積値(画素)の欄に、その演算によって得られる具体的な値を示している。ステップ310では、各DIFF_IMAGE毎に、ステップ305で特定された画素毎の座標データを縦成分、横成分に分けて、そのトータル値を構成画素数で除することによって、顔の動きの方向と速さを判定するための値を演算する。この手法には、全画素を対象とする以外に、図7,図8に示すような“I”〜“VI”画像データに対し、画素の集合体を判定するラベリング処理を行うことにより、大きな面積を有するもの1つに限定しての前記座標演算を行うこともできる。
【0031】
このラベリング処理を行うメリットは、顔の動きを表している大きな面積の差分領域だけに限定することができるので、より精度の高い座標データを演算することができる。ステップ310の座標データの演算後は、図4のステップ401に移行する。図4に示す各ステップの判定は、ドライバの顔の動き変化があったことが確認されてからのものとなるので、ステップ401、図5のステップ411で共にNOとなり、図6のステップ501に移行する。
【0032】
ステップ501では、図3のステップ310で演算した座標データが、差分画像メモリDIFF_IMAGE1〜5で右方向に連続性があると判定された場合は、ステップ502に移行して、右向きフラグをONにする。つまり、差分演算結果蓄積手段104に蓄積した差分演算結果に基づいて、濃度差が生じた領域の方向にドライバの顔が移動したものと判断する。また、差分演算結果蓄積手段104は、差分演算結果を蓄積する個数を、サンプリング周期に応じて変更するように構成することも可能である。
【0033】
このステップ501での判定は、所定数にわたって時系列的に記憶した差分演算結果の履歴を用いているので、顔の動きを時間変化パターンで認識でき、より精度の高い判定が可能となる。
【0034】
その後、ステップ503に移行し、座標データ変化が右方向の安全確認パターンになっているかどうかを判定する。この判定は、ドライバが右方向を見る場合、その動作が安全確認に相当する場合は、右ドアミラーや、右後方など見る位置に一貫性があり、またその時の顔の動く速度のばらつきも小さいという特徴を捕らえることにより行われる。
【0035】
ステップ503で安全確認であると判定された場合は、ステップ504に移行して右安全確認フラグをONにする。ステップ505から、ステップ508は、左方向への顔の動きに適用させたものであり、処理内容としては同一であるため各ステップの説明を省略する。
【0036】
ドライバの顔の動きの判定が行われた後は、ステップ509で画像メモリIMAGE_OLDのデータ更新後、図3のステップ301に戻り、新たな画像データの入力を行う。
【0037】
次いで、図6のステップ502で右向きフラグがONになった場合と、ステップ504で右安全確認フラグがONになった場合の脇見検出方法について、図4,図5の各ステップを用いて説明する。ステップ401で右向きフラグがONであることが認識された場合は、ステップ402に移行し、ステップ309で演算した各DIFF_IMAGEの画素の総和が所定値以下になったかどうかを確認する。
【0038】
各DIFF_IMAGEの画素の総和が所定値以下になったと判定された場合は、ドライバが右方向を見て、且つその動きが止まったと判定し、その静止時間を判定することによって脇見警報を出力する。その動作を、これ以降のステップで説明する。
【0039】
ステップ403では、既に右向きタイマーが作動状態にあるか否かを判定しており、作動していない場合は、ステップ404に移行して右向きタイマーをスタートさせる。ステップ405では、右向きタイマーが脇見許容時間を意味する所定時間1を超えたかどうかを判定し、まだ超えていない場合は、図3のステップ301に戻り、顔の動きが図4のステップ402で認識されるまでは、同一のフローを流れる。
【0040】
ステップ405で右向きタイマーが所定時間1を超えたと判定された場合は、ステップ406に移行して右安全確認フラグがOFFかどうかを確認し、OFFである場合はステップ408に移行して脇見警報1を出力させて、右向きタイマーをリセットする。
【0041】
ステップ406で右安全確認フラグがOFFでない場合は、ステップ407に移行して右向きタイマーが所定時間2を超えたかどうかを判定する。
【0042】
ステップ407で右向きタイマーが所定時間2を超えていない場合は、所定時間1の場合と同様に顔の動きがステップ402で認識されるまでは、同一のフローを流れる。ステップ407で、右向きタイマーが所定時間2を超えたと判定された場合は、ステップ409に移行して、脇見警報2を出力させて右向きタイマーをリセットする。
【0043】
このフローでの所定時間1と所定時間2の使い分けは、ドライバの顔の動きを伴う脇見が安全確認か否かを判定することによって、脇見許容時間を変えることにある。顔の動きの特徴から、図6のステップ503で安全確認である確立が高いと判定された場合は、一般的な安全確認にかかる時間より長めに設定した所定時間2を用い、安全確認と考えられない場合は、安全確認にかかる時間より短めに設定した所定時間1を用いるように設定している。
【0044】
次に、ステップ402でステップ309で演算した各DIFF_IMAGEの画素の総和が所定値を超えていると判定された場合の処理について説明する。
【0045】
この所定値を超えていると判定される場合には二通りある。その一つは、ドライバの顔は、一旦右方向を見たものの、すぐに元の車両前方を見たとされる場合で、ステップ410では、右向きフラグをOFFとし、右安全確認フラグもONである場合はOFF、タイマーをリセットすることによって、現状の右向き検出については判定をクローズさせ、新たな脇見検出に移る。
【0046】
この判定において、ドライバの注視方向が右方向から車両前方に戻らず、いきなり左方向まで行ってしまう場合も考えられるが、このような顔の動きは、一旦停止しての左右の安全確認の場面ぐらいであり、この安全確認は、車両が停止状態、または極低速状態のある場合なので、車両信号の判定を用いれば、その判断は容易に行える。
【0047】
ステップ402で、ステップ309にて演算した各DIFF_IMAGEの画素の総和が所定値を超えていると判定される場合のもう一つは、右向きフラグがONになった後も、ドライバの顔が更に同じ方向に動き続けている時である。
【0048】
この場合、ステップ410でフラグとタイマーのリセットが行われるものの、図6のステップ502にて、再セットされることになる。図5のステップ411から、ステップ418は、左方向への脇見検出に適用させたものであり、処理内容としては同一であるため各ステップの説明は省略する。
【0049】
このようにして、本実施形態に係る顔状態検出装置では、運転中のドライバの顔の動きの特徴量を精度良く捉えることができるので、顔の向きの変化を伴う脇見や、安全確認の施行の有無等のドライバの状態検出を、容易、且つ高精度に行うことができる(請求項1の効果)。
【0050】
また、今回サンプリングされた画像を、前回サンプリングされた画像との間の、差分を演算することにより得られる濃度差領域の、時系列的な変化に基づいて、顔の動きを捉えるようにするので、より高精度な検出が可能となる(請求項2の効果)。
【0051】
更に、顔画像が取得される毎に、濃度差が生じた領域の変位を検出する構成とすることにより、顔の動きをより高精度に検出することができる(請求項3の効果)。
【0052】
また、濃度差の生じる範囲のラベリング処理を行うことにより、高精度な検出が可能となる(請求項4の効果)。
【0053】
更に、濃度差が生じた領域を示す差分画像から、顔の移動速度を求めるようにしているので、顔の移動速度を高精度に求めることができる。これにより、顔の向きの変化が脇見によるものか、或いは安全確認によるものかを推定することができる。(請求項6の効果)。
【0054】
また、濃度差が生じた面積に応じて顔の移動速度を求めるようにすれば、顔の移動速度をより一層高精度に検出することができる(請求項7の効果)。
【0055】
更に、濃度差が生じた領域の画素数に基づいて、顔の移動速度を求めるようにすれば、検出精度を向上させることができる(請求項8の効果)。
【0056】
また、差分演算結果蓄積手段に蓄積された差分演算結果に基づいて、濃度差が生じた領域の変位の方向を検出するように構成することにより、変位の方向、即ち、ドライバが顔を移動した方向を高精度に検出することができる(請求項9の効果)。
【0057】
更に、サンプリング時間に応じて、差分演算結果を差分演算結果蓄積手段に蓄積する数を変更することにより、サンプリング時間に応じた好適な顔の向きの検出処理を行うことができる(請求項10の効果)。
【0058】
また、画像の明るさに応じて、差分演算結果を差分演算結果蓄積手段に蓄積する数を変更することにより、画像の明るさに応じた好適な顔の向きの検出処理を行うことができる(請求項11の効果)。
【0059】
更に、車両の走行環境に応じて、差分演算結果を差分演算結果蓄積手段に蓄積する数を変更することにより、走行環境に応じた好適な顔の向きの検出処理を行うことができる(請求項12の効果)。
【0060】
また、サンプリング時間を調整可能とすることにより、好適なサンプリング時間を設定することができ、周囲の状況に応じた処理が可能となる(請求項14の効果)。
【0061】
次に、本発明に係る顔状態検出装置の第2の実施形態を、図10〜図13を用いて説明する。
【0062】
本実施形態は、前述した第1の実施形態の図3のステップ309、及びステップ310で行っている画素の総和の演算と、座標データの演算方法を変更したものである。第1の実施形態では、図7,図8に示したように、過去の履歴として記憶保存された画素全てを対象として演算を行っていた。本実施形態では、新しい差分結果で、古い差分結果の面積を更新することにより、より一層、顔の向き判定精度を向上させることを目的としている。その内容を、図10を用いて説明する。
【0063】
図10の、塗りつぶされた箇所は、現在の差分結果で、枠線で示している箇所は一つ前の差分結果を表している。本実施形態では、枠線で囲まれている面積に対して塗りつぶされている箇所が重なっている部分は、新しいデータで更新する処理を行う。この処理を図7,図8と同一の6つの画像データで表してみると、図11,図12のようになる。
【0064】
このように、新しい差分結果で古い差分結果を上書きしていくことにより、第1の実施形態の、図6のステップ501やステップ505の判定を行う際に、図11,図12に示す変化面積が何パターンあるか、またそのパターン変化の順序性はあるか等の判定を行うことができる。この内容を具体例で説明すると、一方向に顔が動いているときは、図11,図12に示すように、順序良く各パターンで上書きされていくのに対し、顔が、狭い範囲で行き来している時は、図13に示すようになる。
【0065】
よって、図12の(e),(f)の2つの図に示すように、5つの差分結果を1つの差分結果として置き換えることによって、より精度の高いドライバの顔の向き判定ができる。
【0066】
このようにして、本実施形態に係る顔状態検出装置では、前述した第1の実施形態にて示した効果に加え、前回の処理で得られた濃度差が生じた領域と、今回の処理で得られた濃度差が生じた領域との間の変化分に応じて、運転者の顔の移動方向を検出するので、検出精度を向上させることができる(請求項5の効果)。
【0067】
次に、本発明に係る顔状態検出装置の、第3の実施形態について、図14に示す構成図、及び図15,図16に示すフローチャートを用いて説明する。
【0068】
本実施形態は、車両情報を用いることにより、ドライバの動きによる差分画素の発生限界をメモリすることによって、ハレーション等によって起こる差分処理への悪影響を防止することを目的としている。
【0069】
図14に示すように、本実施形態に係る顔状態検出装置は、画像撮像手段1101と、画像記憶手段1102と、差分演算手段1103と、差分演算結果記憶手段1104と、顔画像再作成手段1105と、顔の移動方向検出手段1106と、車両走行状態検出手段1107と、最大差分値記憶手段1108と、顔の移動方向検出方法変更手段1109と、を具備している。
【0070】
次に、図15,16に示すフローチャートを参照しながら、本実施形態の動作について説明する。
【0071】
図15のフローチャートの、ステップ1210の処理後に、図16のフローチャートに移行し、エンジンが始動状態であり、且つ車両が停止しているという条件下で、ドライバの動きのみに差分値の最大発生量を記憶する処理を行う。尚、図15のフローチャートの各ステップの処理は、前述した第1の実施形態で示した図3の処理と同一であるため、処理内容の説明は省略する。
【0072】
これより、図16のフローチャートの各ステップ毎の処理内容について説明する。ステップ1301、ステップ1302で、エンジン始動中で且つ車両停止状態かどうかを確認し、ステップ1303で、そのときのドライバの動きによる差分値の最大発生値を更新しながらメモリする。
【0073】
その更新がステップ1304で、所定回数行われたか否かを判定し、所定回数、画素の総和の更新が行われていない場合は、ステップ1306に直接移行し、ステップ1304で所定回数、画素の更新が行われたと判定された場合は、ステップ1305を経由して顔の動きによる最大差分値の決定後、ステップ1306に移行する。ステップ1306では顔の動きによる最大差分値が決定されているか否かを判定し、決定されていない場合は、第1の実施形態で示した図4の、ステップ401に移行する。
【0074】
本実施形態の、これ以降の処理は第1実施形態の、図4〜図6のフローチャートと同一である。ステップ1306で顔の動きによる最大差分値が決定されており、ステップ1307で、図15のステップ1209で演算される各DIFF_IMAGEの画素の総和がメモリした値を超えたかどうかを判定する。この判定によってステップ1308で全フラグとタイマーリセットし、外乱光によって生じた差分値の悪影響を防止する。
【0075】
また、最大差分値を超える値が出力していることを表示することによって、本装置が作動限界を超えていることを、ドライバに通知することもできる。ステップ1305で、一旦顔の動きによる最大差分値を決定したことを判定して、ステップ1301〜1304の処理をスルーさせるフローチャートも考えられるが、本実施形態では、ステップ1304で、所定回数の更新が行われる時間を待ち時間として、順次顔の動きによる最大差分値を更新する構成としている。
【0076】
この更新処理は、時系列的に最新の顔の動きによる最大差分値を記憶できるのでドライバの運転が長時間に及ぶ場合は、ドライバの疲労に伴う顔の動きの違いなどを記憶する値に反映することができる。
【0077】
このようにして、第3の実施形態に係る顔状態検出装置では、最大差分値記憶手段1108に最大差分値を記憶し、この記憶内容に基づいて、顔の移動方向の検出方法を変更するようにしているので、より運転状況に合致した処理が可能となる。
【0078】
即ち、車両停止状態であるときに、ドライバの動きだけによる差分値の発生状態を学習することができるので、車両走行中に発生する外乱光の大きな変化による差分値の発生をノイズであると判定して除去することができ、ドライバ状態検出の対応力を、更に向上させることができる(請求項13の効果)。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る顔状態検出装置の、第1の構成を示すブロック図である。
【図2】本発明の第1の実施形態に係る顔状態検出装置の、第2の構成を示すブロック図である。
【図3】第1の実施形態に係る顔状態検出装置の動作を示すフローチャートの、第1の分図である。
【図4】第1の実施形態に係る顔状態検出装置の動作を示すフローチャートの、第2の分図である。
【図5】第1の実施形態に係る顔状態検出装置の動作を示すフローチャートの、第3の分図である。
【図6】第1の実施形態に係る顔状態検出装置の動作を示すフローチャートの、第4の分図である。
【図7】差分演算により得られる濃度差のデータを示す説明図の、第1の分図である。
【図8】差分演算により得られる濃度差のデータを示す説明図の、第2の分図である。
【図9】濃度差のデータを5回分加算する様子を示す説明図である。
【図10】前回(n−1)の処理で得られた濃度差データと、今回(n)の処理で得られた濃度差データの変位の状態を示す説明図である。
【図11】差分演算により得られた濃度差データを順次加算する様子を示す説明図の、第1の分図である。
【図12】差分演算により得られた濃度差データを順次加算する様子を示す説明図の、第2の分図である。
【図13】ドライバの顔が狭い範囲で動作しているときの、濃度差が発生する領域を示す説明図である。
【図14】本発明の第3の実施形態に係る顔状態検出装置の構成を示すブロック図である。
【図15】第3の実施形態に係る顔状態検出装置の動作を示すフローチャートの、第1の分図である。
【図16】第3の実施形態に係る顔状態検出装置の動作を示すフローチャートの、第2の分図である。
【符号の説明】
101,201,1101 画像撮像手段
102,202,1102 画像記憶手段
103,203,1103 差分演算手段
104,204,1104 差分演算結果記憶手段
105,205,1105 顔画像再作成手段
106,206,1106 顔の移動方向検出手段
207 顔の移動速度検出手段
1107 車両走行状態検出手段
1108 最大差分値記憶手段
1109 顔の移動方向の検出方法変更手段
【発明の属する技術分野】
本発明は、車両の運転者の顔状態を検出する顔状態検出装置に関する。
【0002】
【従来の技術】
従来におけるドライバの顔状態検出装置として、例えば、特開平7−69139号公報に記載された「わき見運転防止装置」(以下、従来例という)に記載されたものが知られている。
【0003】
該従来例では、撮影陽のカメラからの顔画像を検査画像として取り込み、検査画像に基づいて運転者の左右の眼画像の座標(XL,Yi)、(XR,Yi)を求める。そして、この眼画像の座標に基づいて、左右の眼の距離を演算し、眼距離データを所定回数取り込むことによって、基準眼距離を演算し、基準眼距離と今回得られた眼距離とから、正面に顔が存在しないことを検出する方式を採用している。
【0004】
【発明が解決しようとする課題】
しかしながら、上述した従来例では、脇見を検出する対象者が眼鏡を掛けている場合には、光環境の影響で眼鏡のレンズ部に写り込みが生じることにより、顔画像から眼を検出できなくなり、脇見状態を検出できなくなることがある。また、対象者がサングラスを掛けている場合には、眼を全く検出できなくなり、脇見の検出が全くできなくなってしまう。
【0005】
この発明は、このような従来の課題を解決するためになされたものであり、その目的とするところは、運転者がサングラスなどの眼鏡を装着しているかどうかに関わらずに運転者の脇見を検出できる運転者の顔状態検出装置を提供することにある。
【0006】
【課題を解決するための手段】
上記目的を達成するため、本願請求項1に記載の発明は、運転者の顔を撮像する撮像手段を具備し、該撮像手段にて撮像された顔画像に基づいて、運転者の顔状態を検出する顔状態検出装置において、前記撮像手段にて撮像された画像を、所定のサンプリング時間で時系列的に取得し、取得した画像を記憶する画像記憶手段と、前記時系列的に得られる今回の画像と、前回の画像との差分を演算して、2つの画像間の濃度差を求める差分演算手段と、前記差分演算手段より得られる濃度差が生じる領域の、時系列的な変化に基づいて、運転者の顔の移動方向を検出する顔の移動方向検出手段と、を具備したことを特徴とする。
【0007】
【発明の効果】
請求項1の発明では、運転中のドライバの顔の動きの特徴量を精度良く捕らえることができるので、顔の向き変化を伴う脇見や、安全確認の施行の有無などのドライバの状態検出を、簡単な構成で、且つ高精度に検出することができる。
【0008】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づいて説明する。図1,図2は、本発明の第1の実施形態に係る顔状態検出装置の構成を示すブロック図である。同図に示すように、該顔状態検出装置は、ドライバの顔近傍の映像を撮像する画像撮像手段101と、この画像撮像手段101にて撮像された画像を、所定のサンプリング時間で取り込み、記憶保存する画像記憶手段102と、今回のサンプリング時に取り込まれた画像と、前回のサンプリング時に取り込まれた画像との差分を求める差分演算手段103と、を有している。
【0009】
更に、差分演算手段103にて得られた差分結果を記憶保存する差分演算結果記憶手段104と、この差分演算結果記憶手段104に記憶されたデータに基づいて、ドライバの顔画像を再作成する顔画像再作成手段105と、再作成された顔画像のデータに基づいて、ドライバの顔の移動方向を検出する顔の移動方向検出手段106と、を具備している。
【0010】
また、必要に応じて、図2に示すように、顔の移動速度検出手段207を備える構成とすることもできる。即ち、図2に示す構成では、画像撮像手段201と、画像記憶手段202と、差分演算手段203と、差分演算結果記憶手段204と、顔画像再作成手段205と、顔の移動方向検出手段206と、顔の移動速度検出手段207と、を備えている。
【0011】
顔の移動速度検出手段207は、顔画像において濃度差が生じた面積を検出し、その面積の検出結果に基づいて、運転者の顔の移動速度を検出する。この際、顔画像において濃度差が生じた画素数を検出することにより、濃度差が生じた面積を求めるようにすることもできる。
【0012】
そして、本実施形態に係る顔状態検出装置では、時系列的に撮像される顔画像を対象として差分処理を行うことによって、簡単な構成で、且つ精度良くドライバの状態を検出するドライバモニター装置として使用することができる。
【0013】
次に、上述のように構成された本実施形態の動作を、図3〜図6に示すフローチャート、及び図7〜図9に示す説明図を用いて説明する。
【0014】
まず、図3のステップ301で画像入力を行い、ステップ302で画像メモリIMAGE_NEWに画像データを記憶する。次に、ステップ303に移行し、画像メモリIMAGE_OLDに画像データが記憶されているかどうかを確認する。本処理の起動直後であれば、画像メモリIMAGE_OLDには画像データが記憶されていないので、図6のステップ509に移行する。
【0015】
ステップ509では画像メモリIMAGE_NEWの画像データを画像メモリIMAGE_OLDに代入して、図3のステップ301に戻り、次の画像入力を行う。ステップ302では、新たに取り込んだ画像データを画像メモリIMAGE_NEWに記憶する。
【0016】
前述した処理ループを一度回った後は画像メモリIMAGE_OLDに画像データが記憶されているので、ステップ303からステップ304に移行して、画像メモリIMAGE_NEWとIMAGE_OLDとの濃度差分値の演算を行う。
【0017】
ステップ305では、ステップ304で演算した画像メモリIMAGE_NEWとIMAGE_OLDの各画素単位で濃度差分値が所定階調以上あるかどうかを判定し、所定値以上である画素を特定する。
【0018】
ここまでの具体的な処理内容を、ドライバが左方向に視線をそらして行く場面(図7,図8)で説明する。最初に取り込まれる画像データを▲1▼とすると、▲1▼の画像データが画像メモリIMAGE_NEWに一旦記憶され、その後、画像メモリIMAGE_OLDに代入される。
【0019】
次に、取り込まれた▲2▼の画像データが新たに画像メモリIMAGE_NEWに記憶される。この後、ステップ304で濃度差分値の演算を行い、ステップ305で各画素単位で所定階調以上の濃度差があった画素を特定して表示させたものが、図7の“I”に示す画像である。各画素の濃度値は256階調の濃淡で記憶されており、0を黒、255を白としている。
【0020】
撮像画像の検出タクトとなる▲1▼と▲2▼の画像メモリの濃度差分値の演算時間(サンプリング時間)は、一般的なTVカメラの画像の取り込みタイミングが33[msec]/フレームであることから、差分演算を画像データの取り込み中の裏処理として行うことを想定すると、この33[msec]となる。また、差分演算の裏処理を行わない場合は33[msec]+αの演算時間となり、この場合処理する領域の大きさによって演算時間は異なってくる。
【0021】
よって、差分演算を裏処理で行う場合の検出タクトの固定値は、33[msec]となり、差分演算を裏処理で行わない場合の検出タクトの固定値は、処理面積の大きさに比例した処理時間をプラスしたものになる。差分演算の裏処理を行えないハード構成で、且つ全画面を対象とした処理を行う場合、固定される検出タクトがドライバの速い動きを検出するには長すぎるという時の対応策としては、対象とする領域を顔幅や眼が存在する箇所に限定して処理することによって検出タクト(サンプリング時間)を短めに変更する方法がある。
【0022】
図3のステップ304、ステップ305では、図7,図8に示すように新たな画像が取り込まれる毎に、画像メモリIMAGE_NEWと一つ前の画像メモリIMAGE_OLDの濃度差分値の演算を行い、各画素単位で所定階調以上の濃度差があるもの特定し、▲3▼−▲2▼、▲4▼−▲3▼、・・・と演算を繰り返して行く。
【0023】
この後、図3のステップ306で差分画像メモリDIFF_IMAGE1〜5に画像データが代入されているかどうかを判定する。初期状態ではDIFF_IMAGEに画像データは代入されていないので、ステップ307でステップ305で特定した画素を対象として差分画像メモリ1〜5に順次代入して行く。
【0024】
この処理内容を具体的に説明すると、最初の処理ではDIFF_IMAGE1に、図7に示す▲2▼−▲1▼の濃度差分値で特定された画素からなる画像データ“I”、それ以降の処理ではDIFF_IMAGE2に▲3▼−▲2▼の濃度差分値で特定された画素からなる画像データ“II”、DIFF_IMAGE3に▲4▼−▲3▼の濃度差分値で特定された画素からなる画像データ“III”、DIFF_IMAGE4に▲5▼−▲4▼の濃度差分値で特定された画素からなる画像データ“IV”、DIFF_IMAGE5に▲6▼−▲5▼の濃度差分値で特定された画素からなる画像データ“V”が各々代入される。
【0025】
本実施形態においては、時系列的に記憶する差分画像DIFF_IMAGEを5つに固定して説明しているが、検出タクトの長さや、画像の濃度状態(画像全体の明るさ)や、車両が走行している環境に応じて可変させることも考えられる。
【0026】
ステップ306で、差分画像メモリDIFF_IMAGE1〜5に画像データが代入されていることが確認されるまでは、図6のステップ509で、画像メモリIMAGE_OLDを順次更新し、図3のステップ302で新たに取り込まれる画像データをIMAGE_NEWにメモリするフローを流れ、全ての差分画像メモリDIFF_IMAGE1〜5に画像データが代入されたら、ステップ306からステップ308へと移行する。
【0027】
ステップ308では、DIFF_IMAGE2に代入されている“II”のデータをDIFF_IMAGE1へ、DIFF_IMAGE3に代入されている“III”のデータをDIFF_IMAGE2へ、と順次更新して行き、最新の濃度差分値で特定された画素からなる画像データ“VI”をDIFF_IMAGE5に代入する。
【0028】
この処理内容を図9を用いて説明する。図3のステップ306の条件を初めて満たした時は、DIFF_IMAGEの1〜5には、図9の差分画像“I”〜“V”が各々メモリされており、ステップ305で演算される最新の差分画像データは、“VI”になる。
【0029】
この処理は5つのDIFF_IMAGEに一つずつ新しいデータを取り込みながら古いデータを吐き出していくものである。本実施形態で差分画像“I”のデータを実際の判定処理に用いていないのは、プログラムの構造をよりシンプルにすることを優先させたためである。よって、ステップ308を通るフローに移行後1回目の処理では、DIFF_IMAGEの1〜5に差分画像“II”〜“VI”が各々メモリされており、2回目の処理では、“III”〜“VII”へと順次更新していく。図3のステップ309では、各DIFF_IMAGE1〜5毎に、ステップ305で特定された画素の総和を演算する。
【0030】
図9の面積値(画素)の欄に、その演算によって得られる具体的な値を示している。ステップ310では、各DIFF_IMAGE毎に、ステップ305で特定された画素毎の座標データを縦成分、横成分に分けて、そのトータル値を構成画素数で除することによって、顔の動きの方向と速さを判定するための値を演算する。この手法には、全画素を対象とする以外に、図7,図8に示すような“I”〜“VI”画像データに対し、画素の集合体を判定するラベリング処理を行うことにより、大きな面積を有するもの1つに限定しての前記座標演算を行うこともできる。
【0031】
このラベリング処理を行うメリットは、顔の動きを表している大きな面積の差分領域だけに限定することができるので、より精度の高い座標データを演算することができる。ステップ310の座標データの演算後は、図4のステップ401に移行する。図4に示す各ステップの判定は、ドライバの顔の動き変化があったことが確認されてからのものとなるので、ステップ401、図5のステップ411で共にNOとなり、図6のステップ501に移行する。
【0032】
ステップ501では、図3のステップ310で演算した座標データが、差分画像メモリDIFF_IMAGE1〜5で右方向に連続性があると判定された場合は、ステップ502に移行して、右向きフラグをONにする。つまり、差分演算結果蓄積手段104に蓄積した差分演算結果に基づいて、濃度差が生じた領域の方向にドライバの顔が移動したものと判断する。また、差分演算結果蓄積手段104は、差分演算結果を蓄積する個数を、サンプリング周期に応じて変更するように構成することも可能である。
【0033】
このステップ501での判定は、所定数にわたって時系列的に記憶した差分演算結果の履歴を用いているので、顔の動きを時間変化パターンで認識でき、より精度の高い判定が可能となる。
【0034】
その後、ステップ503に移行し、座標データ変化が右方向の安全確認パターンになっているかどうかを判定する。この判定は、ドライバが右方向を見る場合、その動作が安全確認に相当する場合は、右ドアミラーや、右後方など見る位置に一貫性があり、またその時の顔の動く速度のばらつきも小さいという特徴を捕らえることにより行われる。
【0035】
ステップ503で安全確認であると判定された場合は、ステップ504に移行して右安全確認フラグをONにする。ステップ505から、ステップ508は、左方向への顔の動きに適用させたものであり、処理内容としては同一であるため各ステップの説明を省略する。
【0036】
ドライバの顔の動きの判定が行われた後は、ステップ509で画像メモリIMAGE_OLDのデータ更新後、図3のステップ301に戻り、新たな画像データの入力を行う。
【0037】
次いで、図6のステップ502で右向きフラグがONになった場合と、ステップ504で右安全確認フラグがONになった場合の脇見検出方法について、図4,図5の各ステップを用いて説明する。ステップ401で右向きフラグがONであることが認識された場合は、ステップ402に移行し、ステップ309で演算した各DIFF_IMAGEの画素の総和が所定値以下になったかどうかを確認する。
【0038】
各DIFF_IMAGEの画素の総和が所定値以下になったと判定された場合は、ドライバが右方向を見て、且つその動きが止まったと判定し、その静止時間を判定することによって脇見警報を出力する。その動作を、これ以降のステップで説明する。
【0039】
ステップ403では、既に右向きタイマーが作動状態にあるか否かを判定しており、作動していない場合は、ステップ404に移行して右向きタイマーをスタートさせる。ステップ405では、右向きタイマーが脇見許容時間を意味する所定時間1を超えたかどうかを判定し、まだ超えていない場合は、図3のステップ301に戻り、顔の動きが図4のステップ402で認識されるまでは、同一のフローを流れる。
【0040】
ステップ405で右向きタイマーが所定時間1を超えたと判定された場合は、ステップ406に移行して右安全確認フラグがOFFかどうかを確認し、OFFである場合はステップ408に移行して脇見警報1を出力させて、右向きタイマーをリセットする。
【0041】
ステップ406で右安全確認フラグがOFFでない場合は、ステップ407に移行して右向きタイマーが所定時間2を超えたかどうかを判定する。
【0042】
ステップ407で右向きタイマーが所定時間2を超えていない場合は、所定時間1の場合と同様に顔の動きがステップ402で認識されるまでは、同一のフローを流れる。ステップ407で、右向きタイマーが所定時間2を超えたと判定された場合は、ステップ409に移行して、脇見警報2を出力させて右向きタイマーをリセットする。
【0043】
このフローでの所定時間1と所定時間2の使い分けは、ドライバの顔の動きを伴う脇見が安全確認か否かを判定することによって、脇見許容時間を変えることにある。顔の動きの特徴から、図6のステップ503で安全確認である確立が高いと判定された場合は、一般的な安全確認にかかる時間より長めに設定した所定時間2を用い、安全確認と考えられない場合は、安全確認にかかる時間より短めに設定した所定時間1を用いるように設定している。
【0044】
次に、ステップ402でステップ309で演算した各DIFF_IMAGEの画素の総和が所定値を超えていると判定された場合の処理について説明する。
【0045】
この所定値を超えていると判定される場合には二通りある。その一つは、ドライバの顔は、一旦右方向を見たものの、すぐに元の車両前方を見たとされる場合で、ステップ410では、右向きフラグをOFFとし、右安全確認フラグもONである場合はOFF、タイマーをリセットすることによって、現状の右向き検出については判定をクローズさせ、新たな脇見検出に移る。
【0046】
この判定において、ドライバの注視方向が右方向から車両前方に戻らず、いきなり左方向まで行ってしまう場合も考えられるが、このような顔の動きは、一旦停止しての左右の安全確認の場面ぐらいであり、この安全確認は、車両が停止状態、または極低速状態のある場合なので、車両信号の判定を用いれば、その判断は容易に行える。
【0047】
ステップ402で、ステップ309にて演算した各DIFF_IMAGEの画素の総和が所定値を超えていると判定される場合のもう一つは、右向きフラグがONになった後も、ドライバの顔が更に同じ方向に動き続けている時である。
【0048】
この場合、ステップ410でフラグとタイマーのリセットが行われるものの、図6のステップ502にて、再セットされることになる。図5のステップ411から、ステップ418は、左方向への脇見検出に適用させたものであり、処理内容としては同一であるため各ステップの説明は省略する。
【0049】
このようにして、本実施形態に係る顔状態検出装置では、運転中のドライバの顔の動きの特徴量を精度良く捉えることができるので、顔の向きの変化を伴う脇見や、安全確認の施行の有無等のドライバの状態検出を、容易、且つ高精度に行うことができる(請求項1の効果)。
【0050】
また、今回サンプリングされた画像を、前回サンプリングされた画像との間の、差分を演算することにより得られる濃度差領域の、時系列的な変化に基づいて、顔の動きを捉えるようにするので、より高精度な検出が可能となる(請求項2の効果)。
【0051】
更に、顔画像が取得される毎に、濃度差が生じた領域の変位を検出する構成とすることにより、顔の動きをより高精度に検出することができる(請求項3の効果)。
【0052】
また、濃度差の生じる範囲のラベリング処理を行うことにより、高精度な検出が可能となる(請求項4の効果)。
【0053】
更に、濃度差が生じた領域を示す差分画像から、顔の移動速度を求めるようにしているので、顔の移動速度を高精度に求めることができる。これにより、顔の向きの変化が脇見によるものか、或いは安全確認によるものかを推定することができる。(請求項6の効果)。
【0054】
また、濃度差が生じた面積に応じて顔の移動速度を求めるようにすれば、顔の移動速度をより一層高精度に検出することができる(請求項7の効果)。
【0055】
更に、濃度差が生じた領域の画素数に基づいて、顔の移動速度を求めるようにすれば、検出精度を向上させることができる(請求項8の効果)。
【0056】
また、差分演算結果蓄積手段に蓄積された差分演算結果に基づいて、濃度差が生じた領域の変位の方向を検出するように構成することにより、変位の方向、即ち、ドライバが顔を移動した方向を高精度に検出することができる(請求項9の効果)。
【0057】
更に、サンプリング時間に応じて、差分演算結果を差分演算結果蓄積手段に蓄積する数を変更することにより、サンプリング時間に応じた好適な顔の向きの検出処理を行うことができる(請求項10の効果)。
【0058】
また、画像の明るさに応じて、差分演算結果を差分演算結果蓄積手段に蓄積する数を変更することにより、画像の明るさに応じた好適な顔の向きの検出処理を行うことができる(請求項11の効果)。
【0059】
更に、車両の走行環境に応じて、差分演算結果を差分演算結果蓄積手段に蓄積する数を変更することにより、走行環境に応じた好適な顔の向きの検出処理を行うことができる(請求項12の効果)。
【0060】
また、サンプリング時間を調整可能とすることにより、好適なサンプリング時間を設定することができ、周囲の状況に応じた処理が可能となる(請求項14の効果)。
【0061】
次に、本発明に係る顔状態検出装置の第2の実施形態を、図10〜図13を用いて説明する。
【0062】
本実施形態は、前述した第1の実施形態の図3のステップ309、及びステップ310で行っている画素の総和の演算と、座標データの演算方法を変更したものである。第1の実施形態では、図7,図8に示したように、過去の履歴として記憶保存された画素全てを対象として演算を行っていた。本実施形態では、新しい差分結果で、古い差分結果の面積を更新することにより、より一層、顔の向き判定精度を向上させることを目的としている。その内容を、図10を用いて説明する。
【0063】
図10の、塗りつぶされた箇所は、現在の差分結果で、枠線で示している箇所は一つ前の差分結果を表している。本実施形態では、枠線で囲まれている面積に対して塗りつぶされている箇所が重なっている部分は、新しいデータで更新する処理を行う。この処理を図7,図8と同一の6つの画像データで表してみると、図11,図12のようになる。
【0064】
このように、新しい差分結果で古い差分結果を上書きしていくことにより、第1の実施形態の、図6のステップ501やステップ505の判定を行う際に、図11,図12に示す変化面積が何パターンあるか、またそのパターン変化の順序性はあるか等の判定を行うことができる。この内容を具体例で説明すると、一方向に顔が動いているときは、図11,図12に示すように、順序良く各パターンで上書きされていくのに対し、顔が、狭い範囲で行き来している時は、図13に示すようになる。
【0065】
よって、図12の(e),(f)の2つの図に示すように、5つの差分結果を1つの差分結果として置き換えることによって、より精度の高いドライバの顔の向き判定ができる。
【0066】
このようにして、本実施形態に係る顔状態検出装置では、前述した第1の実施形態にて示した効果に加え、前回の処理で得られた濃度差が生じた領域と、今回の処理で得られた濃度差が生じた領域との間の変化分に応じて、運転者の顔の移動方向を検出するので、検出精度を向上させることができる(請求項5の効果)。
【0067】
次に、本発明に係る顔状態検出装置の、第3の実施形態について、図14に示す構成図、及び図15,図16に示すフローチャートを用いて説明する。
【0068】
本実施形態は、車両情報を用いることにより、ドライバの動きによる差分画素の発生限界をメモリすることによって、ハレーション等によって起こる差分処理への悪影響を防止することを目的としている。
【0069】
図14に示すように、本実施形態に係る顔状態検出装置は、画像撮像手段1101と、画像記憶手段1102と、差分演算手段1103と、差分演算結果記憶手段1104と、顔画像再作成手段1105と、顔の移動方向検出手段1106と、車両走行状態検出手段1107と、最大差分値記憶手段1108と、顔の移動方向検出方法変更手段1109と、を具備している。
【0070】
次に、図15,16に示すフローチャートを参照しながら、本実施形態の動作について説明する。
【0071】
図15のフローチャートの、ステップ1210の処理後に、図16のフローチャートに移行し、エンジンが始動状態であり、且つ車両が停止しているという条件下で、ドライバの動きのみに差分値の最大発生量を記憶する処理を行う。尚、図15のフローチャートの各ステップの処理は、前述した第1の実施形態で示した図3の処理と同一であるため、処理内容の説明は省略する。
【0072】
これより、図16のフローチャートの各ステップ毎の処理内容について説明する。ステップ1301、ステップ1302で、エンジン始動中で且つ車両停止状態かどうかを確認し、ステップ1303で、そのときのドライバの動きによる差分値の最大発生値を更新しながらメモリする。
【0073】
その更新がステップ1304で、所定回数行われたか否かを判定し、所定回数、画素の総和の更新が行われていない場合は、ステップ1306に直接移行し、ステップ1304で所定回数、画素の更新が行われたと判定された場合は、ステップ1305を経由して顔の動きによる最大差分値の決定後、ステップ1306に移行する。ステップ1306では顔の動きによる最大差分値が決定されているか否かを判定し、決定されていない場合は、第1の実施形態で示した図4の、ステップ401に移行する。
【0074】
本実施形態の、これ以降の処理は第1実施形態の、図4〜図6のフローチャートと同一である。ステップ1306で顔の動きによる最大差分値が決定されており、ステップ1307で、図15のステップ1209で演算される各DIFF_IMAGEの画素の総和がメモリした値を超えたかどうかを判定する。この判定によってステップ1308で全フラグとタイマーリセットし、外乱光によって生じた差分値の悪影響を防止する。
【0075】
また、最大差分値を超える値が出力していることを表示することによって、本装置が作動限界を超えていることを、ドライバに通知することもできる。ステップ1305で、一旦顔の動きによる最大差分値を決定したことを判定して、ステップ1301〜1304の処理をスルーさせるフローチャートも考えられるが、本実施形態では、ステップ1304で、所定回数の更新が行われる時間を待ち時間として、順次顔の動きによる最大差分値を更新する構成としている。
【0076】
この更新処理は、時系列的に最新の顔の動きによる最大差分値を記憶できるのでドライバの運転が長時間に及ぶ場合は、ドライバの疲労に伴う顔の動きの違いなどを記憶する値に反映することができる。
【0077】
このようにして、第3の実施形態に係る顔状態検出装置では、最大差分値記憶手段1108に最大差分値を記憶し、この記憶内容に基づいて、顔の移動方向の検出方法を変更するようにしているので、より運転状況に合致した処理が可能となる。
【0078】
即ち、車両停止状態であるときに、ドライバの動きだけによる差分値の発生状態を学習することができるので、車両走行中に発生する外乱光の大きな変化による差分値の発生をノイズであると判定して除去することができ、ドライバ状態検出の対応力を、更に向上させることができる(請求項13の効果)。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る顔状態検出装置の、第1の構成を示すブロック図である。
【図2】本発明の第1の実施形態に係る顔状態検出装置の、第2の構成を示すブロック図である。
【図3】第1の実施形態に係る顔状態検出装置の動作を示すフローチャートの、第1の分図である。
【図4】第1の実施形態に係る顔状態検出装置の動作を示すフローチャートの、第2の分図である。
【図5】第1の実施形態に係る顔状態検出装置の動作を示すフローチャートの、第3の分図である。
【図6】第1の実施形態に係る顔状態検出装置の動作を示すフローチャートの、第4の分図である。
【図7】差分演算により得られる濃度差のデータを示す説明図の、第1の分図である。
【図8】差分演算により得られる濃度差のデータを示す説明図の、第2の分図である。
【図9】濃度差のデータを5回分加算する様子を示す説明図である。
【図10】前回(n−1)の処理で得られた濃度差データと、今回(n)の処理で得られた濃度差データの変位の状態を示す説明図である。
【図11】差分演算により得られた濃度差データを順次加算する様子を示す説明図の、第1の分図である。
【図12】差分演算により得られた濃度差データを順次加算する様子を示す説明図の、第2の分図である。
【図13】ドライバの顔が狭い範囲で動作しているときの、濃度差が発生する領域を示す説明図である。
【図14】本発明の第3の実施形態に係る顔状態検出装置の構成を示すブロック図である。
【図15】第3の実施形態に係る顔状態検出装置の動作を示すフローチャートの、第1の分図である。
【図16】第3の実施形態に係る顔状態検出装置の動作を示すフローチャートの、第2の分図である。
【符号の説明】
101,201,1101 画像撮像手段
102,202,1102 画像記憶手段
103,203,1103 差分演算手段
104,204,1104 差分演算結果記憶手段
105,205,1105 顔画像再作成手段
106,206,1106 顔の移動方向検出手段
207 顔の移動速度検出手段
1107 車両走行状態検出手段
1108 最大差分値記憶手段
1109 顔の移動方向の検出方法変更手段
Claims (14)
- 運転者の顔を撮像する撮像手段を具備し、該撮像手段にて撮像された顔画像に基づいて、運転者の顔状態を検出する顔状態検出装置において、
前記撮像手段にて撮像された画像を、所定のサンプリング時間で時系列的に取得し、取得した画像を記憶する画像記憶手段と、
前記時系列的に得られる今回の画像と、前回の画像との差分を演算して、2つの画像間の濃度差を求める差分演算手段と、
前記差分演算手段より得られる濃度差が生じる領域の、時系列的な変化に基づいて、運転者の顔の移動方向を検出する顔の移動方向検出手段と、
を具備したことを特徴とする運転者の顔状態検出装置。 - 前記顔の移動方向検出手段は、前記濃度差が生じる領域の、時系列的な変化に基づいて、運転者の顔の移動方向を求めることを特徴とする請求項1に記載の運転者の顔状態検出装置。
- 前記顔の移動方向検出手段は、前記顔画像が取得される毎に、前記差分演算手段より得られる濃度差に基づいて、濃度差が生じた領域を示す差分画像を生成し、この差分画像に含まれる前記濃度差が生じた複数の領域の変位を検出し、検出された変位に基づいて、運転者の顔の移動方向を求めることを特徴とする請求項1に記載の運転者の顔状態検出装置。
- 前記顔の移動方向検出手段は、前記顔画像が取得される毎に、前記差分演算手段より得られる濃度差に基づいて、濃度差が生じた領域を示す差分画像を作成し、
この差分画像に含まれる前記濃度差が生じた領域から、唯一の領域を選定し、当該選定した領域の変位方向を検出して、運転者の顔の移動方向を求めることを特徴とする請求項1に記載の運転者の顔状態検出装置。 - 前記顔の移動方向検出手段は、前記顔画像が取得される毎に、前記差分演算手段より得られる濃度差に基づいて、濃度差が生じた領域を示す差分画像を生成し、且つ、前回の処理で得られた濃度差が生じた領域と、今回の処理で得られた濃度差の生じた領域と、の変化分に応じて、濃度差が生じた領域の変位方向を検出し、この検出結果に基づいて運転者の顔の移動方向を検出することを特徴とする請求項1に記載の運転者の顔状態検出装置。
- 濃度差が生じた領域を示す差分画像から、顔の移動速度を検出する顔の移動速度検出手段を具備したことを特徴とする請求項3〜請求項5のいずれか1項に記載の運転者の顔状態検出装置。
- 前記顔の移動速度検出手段は、顔画像において濃度差が生じた面積を検出し、その面積の検出結果に基づいて、運転者の顔の移動速度を検出することを特徴とする請求項6に記載の運転者の顔状態検出装置。
- 前記顔の移動速度検出手段による濃度差が生じた面積の検出は、顔画像において濃度差が生じた画素数を検出することにより、求めることを特徴とする請求項7に記載の運転者の顔状態検出装置。
- 前記差分演算手段にて求められた差分演算結果を蓄積する差分演算結果記憶手段を具備し、
前記顔の移動方向検出手段は、前記差分演算結果蓄積手段に蓄積した差分演算結果に基づいて、前記濃度差が生じた領域の変位方向の検出を行うことを特徴とする請求項1〜請求項8のいずれか1項に記載の運転者の顔状態検出装置。 - 前記差分演算結果蓄積手段は、差分演算結果を蓄積する数を、前記サンプリング時間に応じて設定することを特徴とする請求項9に記載の運転者の顔状態検出装置。
- 前記差分演算結果蓄積手段は、差分演算結果を蓄積する個数を、顔画像全体の明るさに応じて設定することを特徴とする請求項9に記載の運転者の顔状態検出装置。
- 前記差分演算結果蓄積手段は、差分演算結果を蓄積する個数を、車両が走行している環境に応じて設定することを特徴とする請求項9に記載の運転者の顔状態検出装置。
- 車両の走行状態を検出する車両走行状態検出手段と、前記差分演算手段にて求められる差分値の最大値を記憶する最大差分値記憶手段と、運転者の顔の移動方向を検出する手法を変更する移動方向検出手段と、を具備したことを特徴とする請求項1〜請求項12のいずれかに記載の運転者の顔状態検出装置。
- 前記撮像手段により撮像された映像を検出するサンプリング時間を調整可能としたことを特徴とする請求項1〜請求項13のいずれか1項に記載の運転者の顔状態検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002226491A JP2004070512A (ja) | 2002-08-02 | 2002-08-02 | 運転者の顔状態検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002226491A JP2004070512A (ja) | 2002-08-02 | 2002-08-02 | 運転者の顔状態検出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004070512A true JP2004070512A (ja) | 2004-03-04 |
Family
ID=32013813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002226491A Pending JP2004070512A (ja) | 2002-08-02 | 2002-08-02 | 運転者の顔状態検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004070512A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008056789A1 (fr) | 2006-11-09 | 2008-05-15 | Aisin Seiki Kabushiki Kaisha | Dispositif de traitement d'image embarqué et procédé de commande pour un dispositif de traitement d'image embarqué |
JP2010078416A (ja) * | 2008-09-25 | 2010-04-08 | Bridgestone Corp | タイヤ接地部の摩擦エネルギーの測定方法 |
JP2014085832A (ja) * | 2012-10-23 | 2014-05-12 | Yazaki Energy System Corp | 車載装置 |
KR101393967B1 (ko) | 2008-08-29 | 2014-05-12 | 현대자동차주식회사 | 얼굴 검출 시스템 |
JP2014089579A (ja) * | 2012-10-30 | 2014-05-15 | Mitsubishi Motors Corp | 車両の脇見運転警報装置 |
-
2002
- 2002-08-02 JP JP2002226491A patent/JP2004070512A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008056789A1 (fr) | 2006-11-09 | 2008-05-15 | Aisin Seiki Kabushiki Kaisha | Dispositif de traitement d'image embarqué et procédé de commande pour un dispositif de traitement d'image embarqué |
US8350903B2 (en) | 2006-11-09 | 2013-01-08 | Aisin Seiki Kabushiki Kaisha | Vehicle-mounted image processing device, and method for controlling vehicle-mounted image processing device |
KR101393967B1 (ko) | 2008-08-29 | 2014-05-12 | 현대자동차주식회사 | 얼굴 검출 시스템 |
JP2010078416A (ja) * | 2008-09-25 | 2010-04-08 | Bridgestone Corp | タイヤ接地部の摩擦エネルギーの測定方法 |
JP2014085832A (ja) * | 2012-10-23 | 2014-05-12 | Yazaki Energy System Corp | 車載装置 |
JP2014089579A (ja) * | 2012-10-30 | 2014-05-15 | Mitsubishi Motors Corp | 車両の脇見運転警報装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6404455B1 (en) | Method for tracking entering object and apparatus for tracking and monitoring entering object | |
US8068639B2 (en) | Image pickup apparatus, control method therefor, and computer program for detecting image blur according to movement speed and change in size of face area | |
KR101278430B1 (ko) | 실시간으로 몇몇 사람들의 눈을 인식하고 추적하기 위한 방법 및 회로 장치 | |
US8050459B2 (en) | System and method for detecting pedestrians | |
US11330200B2 (en) | Parallax correction using cameras of different modalities | |
KR20080072826A (ko) | 견고한 온라인 얼굴 트래킹을 위한 방법 및 시스템 | |
US8982245B2 (en) | Method and system for sequential viewing of two video streams | |
JP2016520891A5 (ja) | ||
JP6583734B2 (ja) | 角膜反射位置推定システム、角膜反射位置推定方法、角膜反射位置推定プログラム、瞳孔検出システム、瞳孔検出方法、瞳孔検出プログラム、視線検出システム、視線検出方法、視線検出プログラム、顔姿勢検出システム、顔姿勢検出方法、および顔姿勢検出プログラム | |
JP2010152873A (ja) | 接近物体検知システム | |
JP2005500630A (ja) | 視標追跡システム | |
CN106030679A (zh) | 车辆周围监视装置 | |
CN110572636B (zh) | 摄像头脏污检测方法、装置、存储介质及电子设备 | |
JP2007265125A (ja) | コンテンツ表示装置 | |
JP2008009849A (ja) | 人物追跡装置 | |
CN107105193B (zh) | 基于人体信息的机器人监控系统 | |
JP2008171108A (ja) | 顔状況判定処理装置および撮像装置 | |
JP3570198B2 (ja) | 画像処理方法およびその装置 | |
JP2004070512A (ja) | 運転者の顔状態検出装置 | |
JP3134845B2 (ja) | 動画像中の物体抽出装置及び方法 | |
JP6405606B2 (ja) | 画像処理装置、画像処理方法、および画像処理プログラム | |
CN110908500B (zh) | 目标物信息的预载显示方法及装置 | |
JPH06111018A (ja) | イメージ処理システム | |
CN103491286A (zh) | 成像装置及其图像显示方法 | |
JP2004070411A (ja) | ドライバモニタ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070522 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071009 |