以下、添付図面を参照して本発明の実施形態について説明する。なお、各図において同一又は相当部分には同一の符号を付し、重複する説明を省略する。
本実施形態に係る運転者監視装置は、例えば走行支援機能や運転支援機能を有する車両に好適に採用されるものである。
最初に、本実施形態に係る運転者監視装置を備える車両の概要から説明する。図1は、本実施形態に係る運転者監視装置1を備える車両の概要図である。図1に示す車両3は、ハンドル角検出センサ30、画像センサ(撮像手段)31及びECU(Electronic Control Unit)2を備えている。ECUは、電子制御する自動車デバイスのコンピュータであり、CPU(Central Processing Unit)、ROM(Read Only Memory)やRAM(Random AccessMemory)等のメモリ、及び入出力インターフェイスなどを備えて構成されている。
ハンドル角検出センサ30は、運転者が操作したハンドルのハンドル角θを検出するセンサである。ハンドル角θは、例えば、操舵していない状態を基準としたハンドル回転角である。ハンドル角検出センサ30として、例えばホール素子やフォトインタラプタ等の位置検出センサが用いられる。また、ハンドル角検出センサ30は、検出したハンドル角θをECU2に出力する機能を有している。
画像センサ31は、運転者の画像を撮像するセンサである。画像センサ31として、例えばCCDカメラ等が用いられる。また、画像センサ31は、撮像した画像情報をECU2へ出力する機能を有している。
ECU2は、遮蔽領域検出部20、遮蔽領域記録部21、探索範囲設定部22、顔初期テンプレート生成部23、特徴点初期テンプレート生成部24、顔追跡処理部25及び特徴点追跡処理部26を有している。
遮蔽領域検出部20は、画像センサ31が撮像した画像においてハンドルが撮像された領域(遮蔽領域)を検出する機能を有している。遮蔽領域検出部20は、例えばハンドル検出用のテンプレートを、画像センサ31が撮像した画像とマッチングさせることにより遮蔽領域を検出する機能を有している。また、遮蔽領域検出部20は、検出した遮蔽領域に関する情報を、遮蔽領域記録部21へ出力する機能を有している。
遮蔽領域記録部21は、ハンドル角検出センサ30が出力したハンドル角θ及び遮蔽領域検出部20が出力した遮蔽領域に関する情報に基づいてハンドル角θと遮蔽領域との関係を記録する手段である。例えば、ECU2に備わるメモリ記録する。
探索範囲設定部22は、画像センサ31が撮像した画像の探索範囲を設定する機能を有している。探索範囲設定部22は、画像センサ31が撮像した画像のうち遮蔽領域を除いた領域を探索範囲として設定する機能を有している。例えば、探索範囲設定部22は、ハンドル角検出センサ30が出力した所定のハンドル角θ及び遮蔽領域記録部21が記録したハンドル角θと遮蔽領域との関係に基づいて、所定のハンドル角θでの遮蔽領域を特定して探索範囲を設定する機能を有している。また、設定した探索範囲を必要に応じて顔初期テンプレート生成部23、特徴点初期テンプレート生成部24、顔追跡処理部25及び特徴点追跡処理部26へ出力する機能を有している。
顔初期テンプレート生成部23は、画像内の運転者の顔を探索するために用いるテンプレートを生成する機能を有している。顔初期テンプレート生成部23は、例えばニューラルネットワーク等の統計手法を用いて運転者の顔位置を画像の中から発見し、運転者の顔の初期テンプレートを作成する機能を有している。顔初期テンプレートは、更新されることがないテンプレートである。
特徴点初期テンプレート生成部24は、画像内の運転者の特徴点を探索するために用いられるテンプレートを作成する機能を有している。特徴点初期テンプレート生成部24は、例えばニューラルネットワークなどにより、運転者の顔の特徴点を画像の中から発見し、顔の特徴点の初期テンプレートを作成する機能を有している。顔の特徴点として、例えば目、鼻、口等が用いられる。特徴点初期テンプレートは、更新されることがないテンプレートである。
顔追跡処理部25は、画像センサ31が出力する画像内の運転者の顔を追跡する機能を有している。顔追跡処理部25は、例えば、顔トラッキングテンプレートを、画像センサ31が撮像した画像とマッチングさせることにより運転者の顔を検出して追跡する機能を有している。顔トラッキングテンプレートは、顔初期テンプレート生成部23が生成した顔初期テンプレートと同一のものを初期値とし、テンプレートマッチング処理が成功するたびに更新されるテンプレートである。
特徴点追跡処理部26は、画像センサ31が出力する画像内における運転者の顔の特徴点を追跡する機能を有している。特徴点追跡処理部26は、例えば、特徴点トラッキングテンプレートを、画像センサ31が撮像した画像とマッチングさせることにより運転者の顔の特徴点を検出して追跡する機能を有している。特徴点トラッキングテンプレートは、特徴点初期テンプレート生成部24が生成した特徴点初期テンプレートと同一のものを初期値とし、テンプレートマッチング処理が成功するたびに更新されるテンプレートである。
運転者監視装置1は、上述した画像センサ31及びECU2を備えて構成され、画像センサ31は撮像手段として機能し、ECU2は遮蔽領域検出手段及び監視手段として機能する。また、運転者監視装置1は、例えば警報システム等に監視結果を提供可能に構成されていてもよい。
次に、本実施形態に係る運転者監視装置1の動作について説明する。まず、監視動作の前処理となる学習動作から説明する。図2は、本実施形態に係る運転者監視装置1の学習動作を示すフローチャートである。図2に示す制御処理は、監視動作を行う前に、所定のタイミングで繰り返し実行される。監視動作とは後述する図4に示す動作のことであり、本実施形態においては一例として図2に示す処理を車両出荷前に実行する場合を説明する。なお、説明理解の容易性を考慮して、画像センサ31は、ハンドル後方に配置されている例を説明する。
図2に示す制御処理が開始されると、ハンドル角の検出処理及び記録処理から実行する(S10)。S10の処理は、ハンドル角検出センサ30が実行し、運転者により操作されたハンドルのハンドル角θを検出しECU2のメモリに記録する処理である。S10の処理が終了すると、遮蔽領域抽出処理及び記録処理へ移行する(S12)。
S12の処理は、遮蔽領域検出部20及び遮蔽領域記録部21が実行し、遮蔽領域の抽出及び記録を行う処理である。遮蔽領域検出部20は、S10の処理で検出したハンドル角θの時に画像センサ31により撮像された画像の中から遮蔽領域を検出する。例えば、ハンドルの模様等を反映したテンプレート(ハンドル検出用テンプレート)を事前に作成し、画像センサ31により撮像された画像全体を探索範囲としてテンプレートマッチング処理を行う。テンプレートマッチング処理の詳細について、図3を用いて説明する。図3は、遮蔽領域を検出するテンプレートマッチング処理を説明するための概要図である。図3(a)は、画像センサ31が運転者を正面から撮像した画像であって、遮蔽領域を検出する対象となる画像である。図3(a)に示す画像において、ハンドルが撮像された領域を遮蔽領域RHとする。また、図3(b)は、図3(a)に示す画像の一部を切り出した切出領域RKを示すものである。また、図3(c)画像は、図3(a)に示す画像から遮蔽領域RHを検出するためのハンドル検出用テンプレートTHであり、事前にハンドルの画像情報を反映させて作成したものである。遮蔽領域検出部20は、図3(a)に示す画像から、ハンドル検出用テンプレートTHと同一サイズの切出領域RKを切り出して、ハンドル検出用テンプレートTHと切出領域RKとをマッチングする。テンプレートマッチングの方式として、例えば、類似度(SSD:Sum of Square Difference)に基づく方式、相違度(SAD:Sum of AbsoluteDifference)に基づく方式、正規化相関に基づく方式等が用いられる。例えばSADに基づく方式を用いた場合、遮蔽領域検出部20は、SADの結果により相違度が一定閾値以下である場合には、マッチング処理に用いた切出領域RKは遮蔽領域RHであると判定する。あるいは、切出領域RKを複数の領域に分割し、その各領域の輝度ヒストグラムとハンドル検出用テンプレートTHの輝度ヒストグラムとの類似度を算出し、類似度が所定の閾値以上の場合には、マッチング処理に用いた切出領域RKは遮蔽領域RHであると判定してもよい。遮蔽領域検出部20は、切出領域RKを図3(a)に示す方向Hに沿って順次切り出してテンプレートマッチング処理をそれぞれ行う。そして、遮蔽領域記録部21は、テンプレートマッチング処理の結果を例えばECU2のメモリに記録する。遮蔽領域記録部21は、画像をxy平面とし、S10の処理で検出したハンドル角θと対応させて遮蔽領域RHを2次元配列H(x,y)として記録する。すなわち、ハンドル角θと遮蔽領域RHとの関係が記録される。遮蔽領域記録部21は、例えば、2次元配列H(x,y)において、遮蔽領域RHであれば1、それ以外の領域であれば0として記録する。S12の処理が終了すると、図3に示す制御処理を終了する。
図3に示す制御処理を全てのハンドル角θに対して繰り返し実行することにより、ハンドル角θに依存した遮蔽領域RH(2次元配列H(x,y))を記録することができる。
次に、本実施形態に係る運転者監視装置1の監視動作について説明する。図4〜7は、本実施形態に係る運転者監視装置1の監視動作を示すフローチャートである。図4に示す制御処理は、例えばイグニッションオンされた時から所定のタイミングで繰り返し実行される。なお、説明理解の容易性を考慮して、画像センサ31は、ハンドル後方に配置されている例を説明する。
図4に示すように、運転者監視装置1は、処理モード分岐判定処理から開始する(S20)。S20の処理は、初期発見モード、トラッキングモード及び再探索モードの3つのモードから制御モードを選択する処理である。初期発見モードは、画像内の運転者を発見しテンプレートの初期作成等を行う制御モードである。また、トラッキングモードは、画像内の運転者を追跡して監視する制御モードである。また、再探索モードは、画像内の運転者の発見を再度行う制御モードである。各モードの詳細は後述する。S20の処理として、ECU2は、例えば、ECU2のメモリに作成された初期発見モードフラグ、トラッキングモードフラグ、再探索モードフラグの値を判定してモードを選択する。例えば、フラグが1となっているモードを実行する。なお、以下では説明理解の容易性を考慮して、初期発見モードフラグの初期値として1、トラッキングモードフラグ及び再探索モードフラグの初期値として0が設定されているものとし、図4に示す制御処理をイグニッションONされてから最初に実行する場合を説明する。この場合、初期発見モードが選択され、初期発見制御モードの実行処理へ移行する(S22)。
S22の処理は、初期発見モードを実行する処理である。S22の処理の詳細を、図5を用いて説明する。図5は、初期発見モードの実行動作を示すフローチャートである。図5に示すように、最初にハンドル角の検出処理及び記録処理から開始する(S30)。
S30の処理は、ハンドル角検出センサ30が実行し、運転者により操作されたハンドルのハンドル角θを検出しECU2のメモリに記録する処理である。S30の処理が終了すると、処理範囲限定処理へ移行する(S32)。
S32の処理は、探索範囲設定部22が実行し、処理範囲を限定する処理である。探索範囲設定部22は、画像センサ31により撮像した画像を入力し、入力した画像の中で運転者の顔の発見(探索)を行う領域を設定する。例えば、探索範囲設定部22は、S30の処理で検知したハンドル角θに対応した2次元配列H(x,y)を、図2に示す制御処理によって記録されたメモリから入力し、入力した2次元配列H(x,y)の中で、値が0となる領域を探索範囲と設定する。すなわち遮蔽領域RH以外の領域を探索範囲と設定する。S32の処理が終了すると、顔の初期発見処理へ移行する(S34)。
S34の処理は、顔初期テンプレート生成部23が実行し、顔の初期発見を行う処理である。顔初期テンプレート生成部23は、S32の処理により限定した探索範囲を対象としてニューラルネットワーク等を用いて顔の中心位置及び存在範囲RSを検出する。S34の処理が終了すると、特徴点の初期発見処理へ移行する(S36)。
S36の処理は、特徴点初期テンプレート生成部24が実行し、特徴点の初期発見を行う処理である。特徴点初期テンプレート生成部24は、S34の処理により検出した顔の存在範囲RSを対象としてニューラルネットワーク等を用いて顔の特徴点の位置を検出する。特徴点として、例えば、右目頭、右目尻、左目頭、左目尻、鼻腔中心、左右口端などが用いられる。S36の処理が終了すると、検出終了判定処理へ移行する(S38)。
S38の処理は、特徴点初期テンプレート生成部24が実行し、全ての特徴点の位置を検出したか否かを判定する処理である。例えば、検出すべき特徴点は予め設定されている。S38の処理において、全ての特徴点の位置を検出していない場合には、ハンドル角検出処理へ再度移行する(S30)。このように、全ての特徴点の位置を検出するまで、S30からS38に示す処理を繰り返し実行する。
一方、S38の処理において、全ての特徴点の位置を検出した場合には、テンプレート作成処理へ移行する(S40)。S40の処理は、顔初期テンプレート生成部23及び特徴点初期テンプレート生成部24が実行し、顔の初期テンプレート、顔のトラッキングテンプレート、特徴点の初期テンプレート、及び特徴点のトラッキングテンプレートを作成する処理である。まず、トラッキングに適したテンプレートを作成すべく、画像センサ31から入力した画像を編集する。この処理について、図8を用いて説明する。図8(a)は、エッジを強調する処理過程を示す説明図であり、図8(b)は、平滑化処理過程を示す説明図である。図8(a)に示すように、画像センサ31から入力した濃淡画像G1に対して横ソーベルフィルタF1をかけて横方向のエッジを強調した横ソーベルフィルタ画像G2とする。その後、横ソーベルフィルタ画像G2に対して3×3の平滑化フィルタF2をかけて平滑化した横ソーベルフィルタ平滑化画像G3とする。横ソーベルフィルタ平滑化画像G3は、エッジが強調されているため光環境の変化に対する頑健性が高く、平滑化されていることでノイズが少ないという特徴がある。このため、横ソーベルフィルタ平滑化画像G3からテンプレートを作成することにより、最適なトラッキングを実現することができる。
次に、テンプレートの作成の詳細を、図9を用いて説明する。図9(a)は、顔初期テンプレート及び顔トラッキングテンプレートの作成を説明する概要図、図9(b)は、特徴点初期テンプレート及び特徴点トラッキングテンプレートの作成を説明する概要図である。顔初期テンプレート生成部23は、図9(a)に示すように、S34の処理で検出した顔の存在範囲RSを切り出し顔初期テンプレートTIKとして記録する。同様に、顔初期テンプレートTIKと同一の顔トラッキングテンプレートTTKを作成し記録する。また、特徴点初期テンプレート生成部24は、図9(b)に示すように、S36の処理で検出した各特長点の位置を基準に、縦横一定の幅の領域を切り出し特徴点初期テンプレートTITとして記録する。切り出す領域の大きさは、対象とする特徴点に応じて変化させる。同様に、特徴点初期テンプレートTITと同一の特徴点トラッキングテンプレートTTTを作成し記録する。上述した顔初期テンプレートTIK及び特徴点初期テンプレートTITは、一度記録された後に更新されることがないものである。反対に、顔トラッキングテンプレートTTK及び特徴点トラッキングテンプレートTTTは、トラッキングが成功するたびに更新されるものである。各テンプレートを作成すると、フラグ更新処理へ移行する(S42)。
S42の処理は、ECU2が実行し、フラグの更新を行う処理である。ECU2は、初期発見モードフラグ、トラッキングモードフラグ、再探索モードフラグを0にリセットした後に、トラッキングモードフラグを0から1に変更する。これにより、初期発見モードからトラッキングモードへ移行することができる。S42の処理が終了すると、図5に示す制御処理を終了する。
図4のS22の処理に戻り、図4に示す制御処理を終了する。次に、S42の処理で設定したフラグ状態、すなわち、初期発見モードフラグ及び再探索モードフラグが0、トラッキングモードフラグが1の場合について説明する。この場合、図4のS20の処理においてトラッキングモードが選択され、トラッキングモード実行処理へ移行する(S24)。
S24の処理は、トラッキングモードを実行する処理である。S24の処理の詳細を、図6を用いて説明する。図6は、トラッキングモードの実行動作を示すフローチャートである。図6に示すように、最初にハンドル角の検出処理及び記録処理から開始する(S50)。
S50の処理は、ハンドル角検出センサ30が実行し、ハンドルのハンドル角θを検出して記録する処理である。S50の処理は、図5のS30の処理と同様である。S50の処理が終了すると、処理範囲限定処理へ移行する(S52)。
S52の処理は、探索範囲設定部22が実行し、処理範囲を限定する処理である。S52の処理は、図5のS32の処理と同様である。S52の処理が終了すると、顔位置トラッキング処理へ移行する(S54)。
S54の処理は、探索範囲設定部22及び顔追跡処理部25が実行し、顔の発見を行う処理である。最初に、探索範囲設定部22が探索範囲をさらに限定する処理を行う。例えば、探索範囲設定部22は、顔初期テンプレート生成部23が図5のS34の処理で発見した顔の位置を中心に探索範囲(探索領域)を設定する。この設定について図10、11を用いて説明する。図10、11は、顔の探索処理を説明するための概要図である。探索範囲設定部22は、例えば図10に示すように、画像センサ31から入力した画像Z1において、縦横一定幅の探索領域U1を設定する。また、既に一度トラッキングモードを実行済みであって後述するトラッキング処理が成功している場合には、それ以降のフレームに対しては前回フレームでの顔位置を中心に縦横一定幅の探索範囲を設定する。
ここで、図11に示すように、画像センサ31から入力した画像Z2において縦横一定幅の探索領域を設定すると、遮蔽領域RHと探索領域とが重なる場合がある。この場合には、探索範囲設定部22は、縦横一定幅の探索領域に含まれる遮蔽領域RHを除いた探索領域U2を設定する。このように設定することで、処理負荷を軽減することができる。
次に、顔追跡処理部25は、設定した探索領域内で顔を探索する。顔追跡処理部25は、例えば図10に示すように、縦横一定幅の探索領域U1内を探索する場合には、画像Z1から図5のS40の処理で生成した顔トラッキングテンプレートTTKと同一サイズの切出領域RK1を切り出して、顔トラッキングテンプレートTTKと切出領域RK1とをマッチングする。テンプレートマッチングの方式としては、図2のS20の処理と同様に、類似度に基づく方式、相違度に基づく方式、正規化相関に基づく方式等が用いられる。また、顔追跡処理部25は、切出領域RK1を画像Z1に示された方向H1に沿って順次切り出してテンプレートマッチング処理をそれぞれ行う。一方、図11に示す探索領域U2内を探索する場合も、同様である。ここで、図11において、切出領域RK2の切り出す位置によっては、切出領域RK2に遮蔽領域RHが含まれる。この場合には、遮蔽領域RH以外の切出領域RK2の画素を用いて顔トラッキングテンプレートTTKとマッチング処理を行う。このようにマッチングの対象とする領域を限定することにより、精度の高いマッチング処理を行うことができる。さらに、切出領域RK2に含まれる遮蔽領域RHの割合が所定値以上となる場合には、マッチング処理に利用できる画素数が少ないため、マッチング処理を実行しないこととする。あるいは、遮蔽領域RHの画素数が所定値以上である場合には、マッチング処理を実行しないこととする。このように動作することで、精度の低いマッチング処理を実行することを回避することができる。探索領域の全てにおいてマッチング処理が終了すると、トラッキング判定処理へ移行する(S56)。
S56の処理は、顔追跡処理部25が実行し、顔のトラッキングが成功したか否かを判定する処理である。顔追跡処理部25は、例えば、S54の処理におけるテンプレートマッチングの最大の相関値が所定値以上であって、かつ、最大の相関値が得られる位置における切出領域RKと遮蔽領域RHとの重複領域の画素数が所定値以下であることを満たす場合には、顔のトラッキングが成功したと判定する。あるいは、S54の処理におけるテンプレートマッチングの最大の相関値が所定値以上であって、かつ、最大の相関値が得られる位置における切出領域RKに含まれる遮蔽領域RHの切出領域RKに対する割合が一定値以下であることを満たす場合には、顔のトラッキングが成功したと判定してもよい。S56の処理において、顔のトラッキングが成功したと判定した場合には、テンプレート更新処理へ移行する(S58)。
S58の処理は、顔追跡処理部25が実行し、顔トラッキングテンプレートTTKを更新する処理である。顔追跡処理部25は、トラッキングに成功した顔の位置を中心に縦横一定の幅の領域を切り出して、顔トラッキングテンプレートTTKとする。次回のフレームにおいて顔位置をトラッキングする際には、更新された顔トラッキングテンプレートTTKが用いられる。これにより、顔の表情変化や光環境の変化等へのロバスト性を向上することができる。ここで、例えば図13(a)に示すように、顔トラッキングテンプレートTTKが遮蔽領域RHを含む場合には、次回のフレームにおいてS54の処理(顔位置をトラッキングする処理)を行う際に、顔トラッキングテンプレートTTKのうち当該遮蔽領域RHを除いた領域を用いてマッチング処理を行う。これにより、マッチングの精度を向上させることができる。S58の処理が終了すると、特徴点位置トラッキング処理へ移行する(S60)。
S60の処理は、探索範囲設定部22及び特徴点追跡処理部26が実行し、特徴点の位置をトラッキングする処理である。特徴点追跡処理部26は、テンプレートマッチングにより各特徴点のトラッキングを行う。図12を用いて処理の詳細を説明する。図12は、特徴点のトラッキングを説明するための概要図である。まず、探索範囲設定部22は、前回のフレームの顔位置(存在範囲RS−1)と今回のフレームの顔位置(存在範囲RS)との差分を算出する。そして、前回の各特徴点Pnの探索中心を、矢印Yに示すように、算出した差分に応じてシフトさせる。次に、シフトさせた各特徴点の探索中心を基準に縦横一定幅の探索範囲を設定する。この探索範囲の大きさは、各特徴点に応じて変更する。そして、この探索範囲において、S54の処理と同様にテンプレートマッチング処理を行う。探索領域の全てにおいてマッチング処理が終了すると、トラッキング判定処理へ移行する(S62)。
S62の処理は、特徴点追跡処理部26が実行し、特徴点のトラッキングが成功したか否かを判定する処理である。特徴点追跡処理部26は、例えば、S60の処理におけるテンプレートマッチングの最大の相関値が所定値以上であって、かつ、最大の相関値が得られる位置における切出領域RKと遮蔽領域RHとの重複領域の画素数が所定値以下であることを満たす場合には、特徴点のトラッキングが成功したと判定する。あるいは、S60の処理におけるテンプレートマッチングの最大の相関値が所定値以上であって、かつ、最大の相関値が得られる位置における切出領域RKに含まれる遮蔽領域RHの切出領域RKに対する割合が一定値以下であることを満たす場合には、特徴点のトラッキングが成功したと判定してもよい。S62の処理において、特徴点のトラッキングが成功したと判定した場合には、テンプレート更新処理へ移行する(S64)。
S64の処理は、特徴点追跡処理部26が実行し、特徴点トラッキングテンプレートTTTを更新する処理である。顔追跡処理部25は、トラッキングに成功した顔の位置を中心に縦横一定の幅の領域を切り出して、特徴点トラッキングテンプレートTTTとする。次回のフレームにおいて顔位置をトラッキングする際には、更新された特徴点トラッキングテンプレートTTTが用いられる。これにより、顔の表情変化や光環境の変化等へのロバスト性を向上することができる。また、S58の処理と同様に、図13(b)に示すように、特徴点トラッキングテンプレートTTTが遮蔽領域RHを含む場合には、次回のフレームにおいてS60の処理(顔位置をトラッキングする処理)を行う際に、特徴点トラッキングテンプレートTTTのうち当該遮蔽領域RHを除いた領域を用いてマッチング処理を行う。これにより、マッチングの精度を向上させることができる。S64の処理が終了すると、フラグ更新処理へ移行する(S66)。
S66の処理は、ECU2が実行し、フラグの更新を行う処理である。ECU2は、初期発見モードフラグ、トラッキングモードフラグ、再探索モードフラグを0にリセットした後に、トラッキングモードフラグを0から1に変更する。これにより、トラッキングモードを継続することができる。S66の処理が終了すると、図6に示す制御処理を終了する。
一方、S56の処理で顔のトラッキングが成功しなかった場合、又は、S62の処理で特徴点のトラッキングが成功しなかった場合には、フラグ更新処理へ移行する(S68)。S68の処理は、ECU2が実行し、フラグの更新を行う処理である。ECU2は、初期発見モードフラグ、トラッキングモードフラグ、再探索モードフラグを0にリセットした後に、再探索モードフラグを0から1に変更する。これにより、トラッキングモードから再探索モードへ変更することができる。S68の処理が終了すると、図6に示す制御処理を終了する。
以上で図6に示す制御処理を終了する。図6に示す制御処理を終了すると、図4のS24の処理に戻り、図4に示す制御処理を終了する。次に、S68の処理で設定したフラグ状態、すなわち、初期発見モードフラグ及びトラッキングモードフラグが0、再探索モードフラグが1の場合について説明する。この場合、図4のS20の処理において再探索モードが選択され、再探索モード実行処理へ移行する(S26)。
S26の処理は、再探索モードを実行する処理である。S26の処理の詳細を、図7を用いて説明する。図7は、再探索モードの実行動作を示すフローチャートである。図7に示すように、最初にハンドル角の検出処理及び記録処理から開始する(S70)。
S70の処理は、ハンドル角検出センサ30が実行し、ハンドルのハンドル角θを検出して記録する処理である。S70の処理は、図5のS30の処理と同様である。S50の処理が終了すると、処理範囲限定処理へ移行する(S72)。
S72の処理は、探索範囲設定部22が実行し、処理範囲を限定する処理である。S72の処理は、図5のS32の処理と同様である。S72の処理が終了すると、顔位置トラッキング処理へ移行する(S74)。
S74の処理は、探索範囲設定部22及び顔追跡処理部25が実行し、顔の発見を行う処理である。S74の処理は、図6のS54の処理とほぼ同様である。S74の処理とS54の処理とを比較すると、S74の処理では探索処理を実行する場合に顔初期テンプレートTIKを用いる点が相違する。その他の点は図6のS54の処理と同様である。S74の処理が終了すると、トラッキング判定処理へ移行する(S76)。
S76の処理は、顔追跡処理部25が実行し、顔のトラッキングが成功したか否かを判定する処理である。S76の処理は、図6のS56の処理と同様である。S76の処理において、顔のトラッキングが成功したと判定した場合には、テンプレート更新処理へ移行する(S78)。
S78の処理は、顔追跡処理部25が実行し、顔トラッキングテンプレートTTKを更新する処理である。S78の処理は、図6のS58の処理と同様である。S78の処理が終了すると、特徴点位置トラッキング処理へ移行する(S80)。
S80の処理は、探索範囲設定部22及び特徴点追跡処理部26が実行し、特徴点の位置をトラッキングする処理である。S80の処理は、図6のS60の処理とほぼ同様である。S80の処理とS60の処理とを比較すると、S80の処理では、特徴点初期テンプレートTITを用いる点が相違する。その他の点は図6のS60の処理と同様である。S80の処理が終了すると、トラッキング判定処理へ移行する(S82)。
S82の処理は、特徴点追跡処理部26が実行し、特徴点のトラッキングが成功したか否かを判定する処理である。S82の処理は、図6のS62の処理と同様である。S82の処理において、特徴点のトラッキングが成功したと判定した場合には、テンプレート更新処理へ移行する(S84)。
S84の処理は、特徴点追跡処理部26が実行し、特徴点トラッキングテンプレートTTTを更新する処理である。S84の処理は、図6のS64の処理と同様である。S84の処理が終了すると、フラグ更新処理へ移行する(S86)。
S86の処理は、ECU2が実行し、フラグの更新を行う処理である。S86の処理は、図6のS66の処理と同様である。S86の処理が終了すると、図7に示す制御処理を終了する。
一方、S76の処理で顔のトラッキングが成功しなかった場合、又は、S82の処理で特徴点のトラッキングが成功しなかった場合には、フラグ更新処理へ移行する(S88)。S88の処理は、ECU2が実行し、フラグの更新を行う処理である。ECU2は、初期発見モードフラグ、トラッキングモードフラグ、再探索モードフラグを0にリセットした後に、再探索モードフラグを0から1に変更する。これにより、再探索モードを継続することができる。S88の処理が終了すると、図7に示す制御処理を終了する。
以上で図7に示す制御処理を終了する。図7に示す制御処理を終了すると、図4のS26の処理に戻り、図4に示す制御処理を終了する。
以上で図4に示す制御処理を終了する。図4に示す制御処理を実行することで、初期テンプレートとトラッキングテンプレートを登録する初期発見モード、運転者の顔移動に追従して顔特徴点の位置をトラッキングするとともにトラッキングに成功した場合にはトラッキングテンプレートを更新するトラッキングモード、顔位置あるいは顔特徴点のトラッキングに失敗した場合に初期テンプレートを用いて再探索する再探索モードの3つのモードを、条件によって遷移させて実行することが可能となる。ここで、初期発見モードでは、ニューラルネットワーク等の統計手法が用いられるため、検出精度は高いが処理負荷が大きい。このため、例えば運転者の顔が大きく移動してトラッキングに失敗した場合には、登録した初期テンプレートを用いて再探索する再探索モードに遷移させ、再発見した場合にトラッキングモードに遷移させることにより、処理負荷の軽減を図ることができる。
上述したように、本実施形態に係る運転者監視装置1によれば、運転者を撮像した画像において、運転者と画像センサ31との間に介在し可動するハンドルを追跡してハンドルが遮る遮蔽領域RHを検出し、撮像した画像のうち遮蔽領域RHを除く画像領域内を探索して運転者の顔や顔特徴点を追跡することができる。このため、遮蔽領域RHを含む領域内を探索することで顔や顔特徴点の追跡結果に誤差が生じることを回避することが可能となる。よって、撮像した画像に遮蔽領域RHが含まれる場合、すなわち画像センサ31を遮るハンドルが存在する状態であっても、画像を用いて精度良く運転者を監視することができる。また、精度良く運転者を監視することができるので、監視結果を用いるシステム、例えば顔向き角度の算出や警報システム等の精度も向上させることができる。
また、本実施形態に係る運転者監視装置1によれば、遮蔽領域RHとハンドル角θとの関係を予め取得し、監視中におけるハンドル角θに基づいて遮蔽領域RHを検出することで、遮蔽領域RHを的確に追跡して精度良く運転者を監視することができる。
また、本実施形態に係る運転者監視装置1によれば、遮蔽領域RHを除いた画像領域内において、画像センサ31により撮像された画像の一部を切り出した切出領域RK1、RK2の画素情報と運転者の特徴点を反映させたトラッキングテンプレートとをマッチング処理して運転者の特徴点を追跡し、切出領域RK1、RK2に遮蔽領域RHが含まれる場合には、切出領域RK1、RK2のうち遮蔽領域RHを除いた画像領域をマッチング処理の対象とすることにより、精度の高いテンプレートマッチングを行うことが可能となる。
また、本実施形態に係る運転者監視装置1によれば、マッチング処理が成功した切出領域RK1、RK2の画素情報を、次回の処理で用いるトラッキングテンプレートとすることで、遮蔽領域RHを含めて追跡用のテンプレートを更新することができるので、遮蔽物が存在した場合であっても運転者の特徴点を精度良く追跡することが可能となる。
さらに、本実施形態に係る運転者監視装置1によれば、トラッキングテンプレートに遮蔽領域RHが含まれる場合には、トラッキングテンプレートのうち遮蔽領域RHを除いた画素情報を用いてマッチング処理を行うことが好適である。このように構成することで、精度の高いテンプレートマッチングを行うことが可能となる。
なお、上述した実施形態は本発明に係る運転者監視装置の一例を示すものである。本発明に係る運転者監視装置は、実施形態に係る運転者監視装置1に限られるものではなく、各請求項に記載した要旨を変更しない範囲で、実施形態に係る運転者監視装置を変形し、又は他のものに適用したものであってもよい。
例えば、上述した実施形態では、遮蔽物をハンドルとして説明したが、ハンドルに限られるものではない。例えば、遮蔽物として、ハンドルのコラム部分(ステアリングコラム)、当該コラム部分に備わる灯火操作レバー、ワイパー操作レバー、ウィンカ操作レバー、ギアシフトレバー等、差し込まれたイグニッションキー及び付属物等、さらにはハンドルや上記レバーを操作する手であってもよい。この場合、各種レバーの操作については操作方向に応じた手の動き、ハンドルの操作においてはハンドルの操舵速度や回転角に応じた手の動きに基づいて、遮蔽される領域を学習して探索範囲から除外することもできる。また、遮蔽物として、運転者が眼鏡をしている場合にその眼鏡を直す手や、運転者が飲む飲料水の缶等であってもよい。上述した遮蔽物を処理対象とする場合には、実施形態に示すハンドルの例と同様に、事前に遮蔽物のテンプレートのパターンを学習し、図5のS32、図6のS52、図7のS72の処理においてテンプレートを用いて遮蔽物の領域を検出し探索範囲から除外すればよい。この場合、テンプレートでなく色ヒストグラム等を用いても良い。一方、上記の遮蔽物を事前に学習をすることが困難な場合もある。例えば、飲料水の缶等にあっては、全てのパターンを学習できない場合もある。このような場合には、図5のS32、図6のS52、図7のS72の処理において、ニューラルネットワークの学習(適合)により生成される初期テンプレートと、トラッキングパターンの数フレーム分の平均とをマッチングさせて、類似度が所定値未満である場合、すなわち急激に変化したと判定できる場合には、それらの領域を演算処理や探索範囲から除外することで、精度の高い監視処理を実行することができる。
また、上述した実施形態では、ハンドルの動作を回転角で検出する例を説明したが、遮蔽物の動作は回転動作に限られるものではなく、前後方向に動く場合には前後方向の角度も取得して学習することで、本実施形態に示す運転者監視装置1と同様に精度の高い監視処理を実行することができる。
また、上述した実施形態では、図2の処理を車両出荷前に行う例を説明したが、運転中に学習するものであってもよい。
また、上述した実施形態では、ハンドル角を検出し遮蔽領域RHを探索範囲から除外することで監視精度を向上させる例を説明したが、ハンドル角が所定角度以上の場合には、追跡を中断するように構成してもよい。このように構成することで、特徴点の誤差を含んだまま追跡して監視対象物を見失うことを回避できるので、顔の向きを利用した警報システム等の誤作動を防止することが可能となる。