画像監視装置
【課題】短時間で画像から顔位置の探索を行う。
【解決手段】画像センサ10で撮像した撮像画像から運転者の顔位置を探索するECU20は、画像センサ10により取得した撮像画像全体から運転者の顔位置を発見(探索)してテンプレートを作成する顔位置初期発見部21と、テンプレートマッチングにより撮像画像における運転者の顔位置をトラッキングしてテンプレートを更新する顔位置追跡部22と、撮像画像における顔位置を探索するための探索領域を設定する顔探索位置設定部23と、顔位置の探索履歴を記録して2二元頻度ヒストグラムH(x,y)を作成する顔位置履歴記録部24との機能を備えている。そして、ECU20は、顔位置のトラッキングに失敗すると、2次元頻度ヒストグラムH(x,y)を参照して、探索数の多い座標(x,y)から順に顔位置の探索を行う。
【解決手段】画像センサ10で撮像した撮像画像から運転者の顔位置を探索するECU20は、画像センサ10により取得した撮像画像全体から運転者の顔位置を発見(探索)してテンプレートを作成する顔位置初期発見部21と、テンプレートマッチングにより撮像画像における運転者の顔位置をトラッキングしてテンプレートを更新する顔位置追跡部22と、撮像画像における顔位置を探索するための探索領域を設定する顔探索位置設定部23と、顔位置の探索履歴を記録して2二元頻度ヒストグラムH(x,y)を作成する顔位置履歴記録部24との機能を備えている。そして、ECU20は、顔位置のトラッキングに失敗すると、2次元頻度ヒストグラムH(x,y)を参照して、探索数の多い座標(x,y)から順に顔位置の探索を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置により取得した撮像画像から対象者の顔位置を探索して、対象者の状態を監視する画像監視装置に関する。
【背景技術】
【0002】
従来、車両に搭載された撮像装置で撮像した撮像画像から運転者の顔位置を探索し、運転者の状態を監視する画像監視装置が知られている。この画像監視装置は、撮像された撮像画像の任意領域とテンプレートとのマッチングを取ることで運転者の顔位置を特定するものであり、一旦、顔位置が探索されると、その後は探索された顔位置に基づいて設定される小範囲の探索範囲において顔位置を探索し、顔位置を追跡している。
【0003】
ところで、このような撮像画像を用いて顔位置を追跡すると、運転者の顔が手などの障害物で隠れるなどして、顔位置を見失う(ロストする)ことがある。そこで、特許文献1では、探索範囲において顔位置を探索できなかった場合は、顔の移動速度が高くなるほど探索範囲を大きくすることで、顔位置のロストを防止している。
【特許文献1】特開2001−195582号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の技術では、顔の移動速度に応じて探索範囲を変更するものであるため、運転者の顔が動いていない場合には対応できないという問題があった。しかも、特許文献1に記載の技術では、顔の移動速度によっては探索範囲が大きくなりすぎる可能性もあるため、探索速度の低下を十分に抑制することができないという問題もあった。
【0005】
そこで、本発明は、短時間で撮像画像から顔位置の探索を行うことができる画像監視装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係る画像監視装置は、撮像手段によって取得した撮像画像における所定の切り出し領域とテンプレートとを順次適合させることにより撮像画像における対象者の顔位置を探索し、対象者の状況を監視する画像監視装置であって、顔位置の探索履歴を記録し、顔位置の探索に失敗した場合は、探索履歴に基づいて顔位置を再探索することを特徴とする。
【0007】
本発明に係る画像監視装置によれば、顔位置の探索に失敗した場合は、顔位置の探索履歴に基づいて顔位置を再探索することで、顔位置の存在する確率の高い領域を優先的に探索することができる。このため、顔位置の探索に失敗しても、撮像画像から短時間で顔位置の探索を行うことができる。
【0008】
この場合、再探索は、探索履歴における探索数の多い順に、顔位置を探索することが好ましい。この画像監視装置によれば、探索数の多い順に顔位置を再探索することで、顔位置が存在する可能性の高い順に顔位置を探索することができるため、より短時間で撮像画像から顔位置の探索を行うことができる。
【0009】
また、撮像装置は車両に搭載され、車両の方向指示情報又は方向変更動作情報に対応させて顔位置の探索履歴を記録し、再探索は、探索に失敗したときの方向指示又は方向変更動作に対応した探索履歴における探索数の多い順に、顔位置を探索することが好ましい。この画像監視装置によれば、運転者は、車両の方向変更動作を行う場合は顔を傾けるなどの同じような動作を行う傾向にあることに鑑み、過去に探索された運転者の顔位置と方向指示又は方向変更動作とを対応付けて学習しておくことで、方向指示情報又は方向変更動作情報により顔位置の探索範囲を絞り込むことができるため、より短時間で撮像画像から顔位置の探索を行うことができる。
【0010】
また、再探索は、探索履歴として記録された顔位置を含む探索実績範囲内において、探索に失敗した直前に探索された顔位置から外方に向けて行うことが好ましい。この画像監視装置によれば、再探索する範囲を過去に探索された顔位置を含む探索実績範囲とし、探索に失敗した直前に探索された顔位置から外方に向けて再探索することで、探索範囲を顔位置が存在する可能性の高い範囲に絞り込み、しかも、より顔位置が存在する可能性の高い順に顔位置を探索するため、より短時間で撮像画像から顔位置の探索を行うことができる。
【発明の効果】
【0011】
本発明によれば、短時間で撮像画像から顔位置の探索を行うことができる。
【発明を実施するための最良の形態】
【0012】
[第1実施形態]
以下、図面を参照して、本発明に係る画像監視装置の好適な実施形態について詳細に説明する。本発明に係る画像監視装置は、車両に搭載された画像センサから取得した撮像画像から運転者の顔位置を探索して、運転者の状態を監視するものであり、例えば、運転者の顔位置から運転者の瞼の開閉状況を検知することで、運転者の居眠り状況を監視するものである。なお、全図中、同一又は相当部分には同一符号を付すこととする。
【0013】
図1は、本実施形態に係る画像監視装置のブロック構成を示した図である。図に示すように、本実施形態の画像監視装置1は、車両に搭載されており、運転者の顔を撮像する画像センサ10と、運転者の顔位置を探索するECU(Electronic Control Unit)20とを備えている。
【0014】
画像センサ10は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の半導体素子を用いたカメラで構成されており、車両のステアリングコラムなどに内蔵されており、運転席に座った運転者の顔を撮像する撮像装置である。そして、画像センサ10は、撮像した撮像画像をECU20に送信する。なお、画像センサ10は、夜間でも運転者の顔を撮像するために、赤外線カメラで構成してもよい。
【0015】
ECU20は、画像センサ10と電気的に接続されており、画像センサ10から送信された撮像画像を取得すると、この撮像画像から運転者の顔位置を探索して、運転者の状態を監視する制御部である。このため、ECU20は、顔位置初期発見部21と、顔位置追跡部22と、顔探索位置設定部23と、顔位置履歴記録部24として機能する。なお、ECU20は、例えば、CPU、ROM、RAMを含むコンピュータを主体として構成されている。
【0016】
顔位置初期発見部21は、ニューラルネットワークなどの周知の手法により、画像センサ10により取得した撮像画像全体から運転者の顔位置を発見(探索)するものである。この顔位置は、発見した顔の中心位置を撮像画像全体における座標値(x,y)で示したものである。また、顔位置初期発見部21は、撮像画像から運転者の顔位置を発見すると、この発見した顔位置に基づいて、運転者の顔のテンプレートを作成する。このテンプレートは、撮像画像から顔位置(x,y)を中心とした縦横一定の幅の矩形領域を切り出すことで作成される。なお、このテンプレートは、後述するテンプレートマッチングの処理速度及び適合性を向上させるために、運転者の顔と略同じ大きさの、又は運転者の顔より少し小さい矩形領域とするのが望ましい。
【0017】
顔位置追跡部22は、顔位置初期発見部21により顔位置が発見された後、テンプレートマッチングなどの周知の手法により、撮像画像における運転者の顔位置をトラッキング(追跡)するものである。このテンプレートマッチングは、撮像画像からテンプレートと同形の切り出し領域を順次切り出してテンプレートと対比し、このテンプレートにマッチング(適合)する切り出し領域を探索する手法である。なお、テンプレートマッチングの方式は、SAD(Sum of Absolute Difference)、SSD(Sum of Square Difference)、正規化相関などの何れであってもよい。そして、顔位置追跡部22は、撮像画像における所定の探索領域においてテンプレートマッチングにより運転者の顔位置を探索し、運転者の顔位置をトラッキングする。また、顔位置追跡部22は、運転者の顔位置を探索すると、この探索した顔位置の切り出し領域で、運転者の顔のテンプレートを更新する。
【0018】
顔探索位置設定部23は、撮像画像における顔位置を探索するための探索領域を設定するものである。すなわち、顔探索位置設定部23は、前回探索された顔位置を中心とした所定の矩形領域を探索領域として設定する。なお、この探索範囲は、テンプレートの矩形領域よりも大きな範囲であって、探索速度が低下しない程度の大きさの範囲となる。これにより、顔位置追跡部22は、顔探索位置設定部23により設定された探索領域において、顔位置を探索する。
【0019】
顔位置履歴記録部24は、顔位置初期発見部21及び顔位置追跡部22における顔位置の探索履歴を記録するものである。すなわち、顔位置履歴記録部24は、顔位置初期発見部21及び顔位置追跡部22において顔位置を探索すると、この探索した顔位置の座標値(x,y)を探索履歴として記録する。そして、顔位置履歴記録部24は、この探索履歴から、2次元頻度ヒストグラムH(x,y)を作成する。
【0020】
図2は、2次元頻度ヒストグラムの一例を示した図である。図2に示すように、2次元頻度ヒストグラムH(x,y)は、撮像画像をxy座標軸で表したものであり、顔位置が探索された数だけ、対応する座標(x,y)の値を加算(+1カウントアップ)するものである。このため、2次元頻度ヒストグラムH(x,y)を参照することで、顔位置が探索された頻度の多い位置を容易に探索することができる。
【0021】
また、顔位置履歴記録部24は、2次元頻度ヒストグラムH(x,y)に用いるデータをFIFO(First In First Out)処理して、探索されてから所定時間(例えば、5〜10分)経過したデータは2次元頻度ヒストグラムH(x,y)から削除(−1カウントダウン)する。
【0022】
更に、顔位置履歴記録部24は、作成した2次元頻度ヒストグラムH(x,y)の平滑化処理を行い、2次元頻度ヒストグラムH’(x,y)を作成する。
【0023】
次に、図3を参照しながら、第1の実施形態に係る画像監視装置1の処理動作について説明する。図3は、第1の実施形態に係る画像監視装置の処理動作を示すフローチャートである。なお、以下に説明する処理は、画像監視装置1のECU20の処理によって行われるものであり、画像センサ10からECU20に撮像画像が送信されるたびに、下記の処理が繰り返し行われる。
【0024】
まず、運転者により車両のイグニションがONにされると、画像センサ10は、30f/S(1秒間に30フレーム)又は60f/Sの間隔で撮像を開始する。そして、ECU20は、この画像センサ10において撮像した運転者の顔の撮像画像を取得したことを契機として(ステップS1)、以下の処理を開始する。
【0025】
ECU20は、撮像画像を取得すると、ステップS1における撮像画像の取得が初回であるか否かを判定する(ステップS2)。すなわち、車両のイグニションをONにした直後などであって画像監視装置1の処理が始めての場合は、撮像画像の取得が初回であると判定し、撮像画像の取得が2回目以降であって前回の処理で既に顔位置を探索(又は発見)している場合は、撮像画像の取得が初回ではないと判定する。
【0026】
撮像画像の取得が初回であると判定した場合(ステップS2:YES)、ECU20は、取得した撮像画像から、運転者の顔位置の初期発見(探索)を行う(ステップS3)。顔位置の初期発見は、ステップS1において取得した撮像画像全体を探索範囲として、ニューラルネットワークなどの周知の手法を用いて運転者の顔を探索し、撮像画像における顔の中心座標を顔位置(x,y)として特定する。
【0027】
次に、ECU20は、運転者の顔位置をトラッキングするためのテンプレートを作成する(ステップS4)。テンプレートの作成は、まず、ステップS1において取得した撮像画像(濃淡画像)に対して3×3の横ソーベルフィルタでフィルタ処理を行い、横ソーベルフィルタ画像を生成する。図4は、撮像画像を示した図であり、図5は、横ソーベルフィルタの一例を示す図であり、図6は、横ソーベルフィルタ画像を示した図である。図5に示すように、横ソーベルフィルタは、注目画素を中心とした9の画素に重み付けを行い合計することで、エッジが強調された画像を生成するものである。そして、図4に示す濃淡画像の撮像画像に対して、図5に示す3×3の横ソーベルフィルタでフィルタ処理を行うと、図6に示すエッジが強調された横ソーベルフィルタ画像が生成される。なお、横ソーベルフィルタによるフィルタ処理を行うことで、光環境の変化などに対する頑健性が向上する。
【0028】
横ソーベルフィルタ画像を生成すると、次に、この横ソーベルフィルタ画像に対して3×3の平滑化フィルタで平滑化処理を行い、横ソーベルフィルタ平滑化画像を生成する。図7は、平滑化フィルタの一例を示した図であり、図8は、横ソーベルフィルタ平滑化画像を示した図である。図7に示すように、平滑化フィルタは、注目画素を中心とした9の画素に同一の重み付けを行い合計することで、ノイズなどを平滑化した画像を生成するものである。そして、図6に示す横ソーベルフィルタ画像に対して、図7に示す3×3の平滑化フィルタで平滑化処理を行うと、図8に示すノイズが平滑化された横ソーベルフィルタ平滑化画像が生成される。
【0029】
横ソーベルフィルタ平滑化画像を生成すると、次に、テンプレートの切り出し処理を行う。図9は、横ソーベルフィルタ平滑化画像からテンプレートを切り出す処理を説明するための図である。図9に示すように、テンプレートの切り出し処理は、横ソーベルフィルタ平滑化画像から、顔位置の座標(x,y)を中心とした縦横一定の幅の矩形領域Aを切り出す。そして、この切り出した矩形領域AをテンプレートTとする。
【0030】
そして、ステップS4が終了すると、又は、上述したステップS2において撮像画像の取得が初回でないと判定した場合(ステップS2:NO)、ECU20は、テンプレートマッチングによる顔位置のトラッキングを行う(ステップS5)。図10は、顔位置のトラッキングを説明するための図である。図10に示すように、顔位置のトラッキングは、まず、前回に探索された顔位置を中心とした所定範囲の矩形領域を探索領域Bとして設定する。次に、この探索領域B内において、前回に探索された顔位置を中心とした縦横一定幅の矩形領域を切り出し領域Cとして順次切り出す。そして、ステップS4で作成されたテンプレートT又は後述するステップS9で更新されたテンプレートTを用いて、順次切り出し領域Cのテンプレートマッチングを行う。そして、テンプレートマッチングの値が所定の閾値以内にある切り出し領域Cが検出されると、この切り出し領域Cを、運転者の顔位置とする。
【0031】
次に、ECU20は、トラッキングが成功したか否かを判定する(ステップS6)。ステップS6において、トラッキングが成功したか否かは、ステップS5におけるテンプレートマッチングの値が所定の閾値以内にある切り出し領域が検出されたか否かによって判定する。
【0032】
トラッキングが成功したと判定した場合(ステップS6:YES)、ECU20は、ステップS5において切り出した切り出し領域の中心座標(x,y)、すなわち、運転者の顔位置の座標(x,y)を記録する(ステップS7)。
【0033】
そして、ECU20は、ステップS7において記録した顔位置の座標(x,y)に基づいて、2次元頻度ヒストグラムH(x,y)のカウントアップ処理を行うとともに、FIFO処理を行う(ステップS8)。すなわち、ステップS8では、ステップS7において記録した顔位置の座標(x,y)に対応する2次元頻度ヒストグラムH(x,y)の値を+1カウントアップし、一方で、ステップS7において記録してから所定時間経過した顔位置の座標(x、y)に対応する2次元頻度ヒストグラムH(x,y)の値を−1カウントダウンする。このように、2次元頻度ヒストグラムH(x,y)のデータをFIFO処理し、最新のデータによって顔位置の探索を行うことで、より高精度なトラッキングを行うことができる。
【0034】
次に、ECU20は、テンプレートを更新する(ステップS9)。ステップS9において更新されるテンプレートは、ステップS4において作成したテンプレート又は前回のステップS9で更新したテンプレートである。そして、テンプレートの更新は、ステップS1で取得した撮像画像から、ステップS7において記録した顔位置の座標(x,y)を中心とした縦横一定の幅の矩形領域を切り出して、この切り出した画像でテンプレートを更新する。このようにテンプレートを更新することで、運転者の表情変化や光環境の変化などへのロバスト性を高めることができる。
【0035】
一方、上述したステップS6においてトラッキングが失敗したと判定した場合(ステップS6:NO)、ECU20は、顔位置の探索を行う前段階として、2次元頻度ヒストグラムH(x,y)の平滑化処理を行う(ステップS10)。平滑化処理を行うための平滑化フィルタは、図7に示した3×3の平滑化フィルタを用いる。そして、この3×3の平滑化フィルタを用いて、2次元頻度ヒストグラムH(x,y)に平滑化処理を行い、2次元頻度ヒストグラムH’(x,y)を作成する。このように、顔位置の探索を行う前に2次元頻度ヒストグラムH(x,y)の平滑化処理を行うことで、トラッキングされた顔位置(x,y)の誤差やノイズの影響を低減させることができる。
【0036】
次に、ECU20は、ステップS10において平滑化処理した2次元頻度ヒストグラムH’(x,y)を参照して、2次元頻度ヒストグラムH’(x,y)におけるカウント数の多い座標(x,y)から順に、運転者の顔位置を探索する(ステップS11)。ステップS11では、まず、2次元頻度ヒストグラムH’(x,y)の各座標を、カウント値の高い順にソートする(並べ替える)。そして、カウント値の高い座標から順にテンプレートマッチングを行う。このとき、ステップS5と同様に、前回探索された顔位置の座標(x,y)を中心とした所定の探索領域においてテンプレートマッチングを行うが、この探索領域において顔位置が探索されない場合は、テンプレートマッチングを行う範囲を広げていく。なお、テンプレートマッチングで用いるテンプレートは、ステップS4で作成されたテンプレート又はステップS9において更新されたテンプレートとなる。
【0037】
そして、上述したステップS9又はステップS11が終わると、一旦処理を終了して、再度ステップS1から処理を繰り返す。
【0038】
このように、第1の実施形態に係る画像監視装置1によれば、顔位置のトラッキングに失敗した場合は、2次元頻度ヒストグラムH(x,y)を参照して、過去の探索数の多い座標から順に顔位置を探索することで、顔位置が存在する可能性の高い順に顔位置を探索することができるため、より短時間で撮像画像から顔位置の探索を行うことができる。
【0039】
[第2実施形態]
次に、第2の実施形態について説明する。第2の実施形態に係る画像監視装置は、第1の実施形態に係る画像監視装置にステアリング角度検出センサとウィンカー状態検出センサを加えたものであり、その他の構成は同一である。このため、以下では、第1の実施形態に係る画像監視装置と異なる部分のみ説明する。
【0040】
図11は、第2の実施形態に係る画像監視装置のブロック構成を示した図である。図に示すように、第2の実施形態に係る画像監視装置101は、画像センサ10及びECU20に加え、更に、ステアリング角度検出センサ30と、ウィンカー状態検出センサ40とを備えている。
【0041】
ステアリング角度検出センサ30は、運転者の方向変更動作情報として、運転者が操作するステアリングのステアリング角度θを検出するセンサである。ステアリング角度検出センサ30は、例えば、ステアリング角度θを1°単位で検出してもよく、所定角度幅単位で検出してもよい。そして、ステアリング角度検出センサ30は、検出したステアリング角度θをECU20に送信する。
【0042】
ウィンカー状態検出センサ40は、運転者の方向指示動作情報として、運転者が操作するウィンカーの状態を示すウィンカー状態φを検出するセンサである。このウィンカー状態φは、ウィンカーが右又は左に操作されたこと示す情報である。そして、ウィンカー状態検出センサ40は、検出したウィンカー状態φをECU20に送信する。
【0043】
ECU20の顔位置履歴記録部24は、撮像画像から探索した顔位置を、この撮像画像が撮像された時点のステアリング角度θ及びウィンカー状態φに対応付けて、2次元頻度ヒストグラムH(x,y)を作成する。具体的には、ステアリング角度θとウィンカー状態φとの組合せごとに2次元頻度ヒストグラムH(x,y)を作成しておき、撮像画像から顔位置が探索されると、この撮像画像が撮像された時点のステアリング角度θ及びウィンカー状態φの組み合わせに対応する2次元頻度ヒストグラムH(x,y)に対して、顔位置の座標(x,y)の値を+1カウントアップする。なお、2次元頻度ヒストグラムH(x,y)は、ステアリング角度θが1°変わるごとに設けてもよく、ステアリング角度θが30°、60°、90°等の所定範囲変わるごとに設けてもよく、ステアリング角度θが+(プラス)側と−(マイナス)側とで分けて設けてもよい。
【0044】
次に、図12を参照しながら、第2の実施形態に係る画像監視装置101の処理動作について説明する。図12は、第2の実施形態に係る画像監視装置の処理動作を示すフローチャートである。なお、以下に説明する処理は、画像監視装置101のECU20の処理によって行われるものであり、画像センサ10からECU20に撮像画像が送信されるたびに、下記の処理が繰り返し行われる。
【0045】
まず、運転者により車両のイグニションがONにされると、第1の実施形態と同様に、ステップS1〜6が行われる。
【0046】
そして、ステップS6において、トラッキングが成功したと判定した場合(ステップS6:YES)、ECU20は、ステップS5において切り出した切り出し領域の中心座標、すなわち、運転者の顔位置の座標(x,y)を記録するとともに、ステアリング角度検出センサ30が検出したステアリング角度θ及びウィンカー状態検出センサ40が検出したウィンカー状態φを検出して記録する(ステップS21)。
【0047】
次に、ECU20は、ステップS21において記録した顔位置の座標(x,y)、ステアリング角度θ及びウィンカー状態φに基づいて、2次元頻度ヒストグラムH(x,y)のカウントアップ処理を行うとともに、FIFO処理を行う(ステップS22)。すなわち、ステップS22では、ステップS21において記録したステアリング角度θ及びウィンカー状態φの組合せに対応する2次元頻度ヒストグラムH(x,y)を選択し、この選択した2次元頻度ヒストグラムH(x,y)における顔位置の座標(x,y)に対応した値を+1カウントアップする。一方で、ステップS21において記録してから所定時間経過した顔位置の座標(x、y)に対応する2次元頻度ヒストグラムH(x,y)の値を−1カウントダウンする。このとき、所定時間経過した顔位置の座標(x,y)に対応する値を、全ての2次元頻度ヒストグラムH(x,y)から−1カウントダウンする。
【0048】
次に、ECU20は、テンプレートを更新し(ステップS9)、一旦処理を終了する。
【0049】
一方、上述したステップS6においてトラッキングが失敗したと判定した場合(ステップS6:NO)、ECU20は、まず、ステップS1において取得した撮像画像が撮像された時点(又は、ステップS6においてトラッキングが失敗した時点)のステアリング角度θ及びウィンカー状態φを検出して記録する(ステップS23)。
【0050】
そして、ECU20は、ステップS23において検出したステアリング角度θ及びウィンカー状態φの組合せに対応する2次元頻度ヒストグラムH(x,y)を選択し、顔位置の探索を行う前段階として、この選択した2次元頻度ヒストグラムH(x,y)の平滑化処理を行い、2次元頻度ヒストグラムH’(x,y)を作成する(ステップS10)。
【0051】
次に、ECU20は、ステップS10において平滑化処理した2次元頻度ヒストグラムH’(x,y)を参照して、2次元頻度ヒストグラムH’(x,y)におけるカウント数の多い座標(x,y)から、運転者の顔位置を探索する(ステップS11)。すなわち、ステップS11では、ステップS23において検出したステアリング角度θ及びウィンカー状態φの組合せに対応する2次元頻度ヒストグラムH(x,y)を参照して、顔位置を探索する。
【0052】
そして、ステップS11の顔位置の探索が終わると、一旦処理を終了して、再度ステップS1から処理を繰り返す。
【0053】
このように、第2の実施形態に係る画像監視装置101によれば、運転者は、車両の方向変更動作等を行う場合は、顔を傾けるなどの同じような動作を行う傾向にあることに鑑み、過去に探索された運転者の顔位置の座標(x,y)を、ステアリング角度θ及びウィンカー状態φとの組合せに対応付けて2次元頻度ヒストグラムH(x,y)に記録しておくことで、ステアリング角度θ及びウィンカー状態φにより顔位置の探索範囲を絞り込むことができるため、より短時間で撮像画像から顔位置の探索を行うことができる。
【0054】
[第3実施形態]
次に、第3の実施形態について説明する。第3の実施形態に係る画像監視装置は、第1の実施形態に係る画像監視装置と基本的に構成が同じであり、その処理動作のみ相違する。このため、以下では、第1の実施形態に係る画像監視装置と異なる部分のみ説明する。
【0055】
図13は、第3の実施形態に係る画像監視装置のブロック構成を示した図である。図に示すように、第3の実施形態に係る画像監視装置201は、画像監視装置1と同様に、画像センサ10と、ECU20とを備えており、ECU20は、顔位置初期発見部21と、顔位置追跡部22と、顔探索位置設定部23と、顔位置履歴記録部24として機能する。
【0056】
そして、ECU20の顔位置履歴記録部24は、探索した顔位置を記録すると、2次元頻度ヒストグラムH(x,y)ではなく、2次元探索実績行列H(x,y)を作成する。図14は、2次元探索実績行列の一例を示した図である。図14に示すように、2次元探索実績行列H(x,y)は、撮像画像をxy座標軸で表したものであり、顔位置が探索された座標の値を1に変更するものである。このため、2次元探索実績行列H(x,y)を参照することで、顔位置が探索されたことのある位置を容易に探索することができる。なお、図14において、黒く塗り潰した座標領域は1を示しており、黒く塗り潰されていない座標領域は0を示している。
【0057】
次に、図15を参照しながら、第3の実施形態に係る画像監視装置201の処理動作について説明する。図15は、第3の実施形態に係る画像監視装置の処理動作を示すフローチャートである。なお、以下に説明する処理は、画像監視装置201のECU20の処理によって行われるものであり、画像センサ10からECU20に撮像画像が送信されるたびに、下記の処理が繰り返し行われる。
【0058】
まず、運転者により車両のイグニションがONにされると、第1の実施形態と同様に、ステップS1〜6が行われる。
【0059】
そして、ステップS6において、トラッキングが成功したと判定した場合(ステップS6:YES)、ECU20は、運転者の顔位置の座標(x,y)を記録する(ステップS7)。
【0060】
次に、ECU20は、ステップS31において記録した顔位置の座標(x,y)に基づいて、2次元探索実績行列H(x,y)の書き換え処理を行うとともに、FIFO処理を行う(ステップS31)。すなわち、ステップS31では、ステップS7において記録した顔位置の座標(x,y)に対応する2次元探索実績行列H(x,y)の値が0である場合は、この値を1に変更する。なお、2次元探索実績行列H(x,y)の値が既に1に変更されている場合は、特にこの値を変更しない。一方、ステップS7において記録してから所定時間経過した顔位置の座標(x、y)に対応する2次元探索実績行列H(x,y)の値を0に変更する。
【0061】
次に、ECU20は、テンプレートを更新し(ステップS9)、一旦処理を終了する。
【0062】
一方、上述したステップS6においてトラッキングが失敗したと判定した場合(ステップS6:NO)、ECU20は、2次元探索実績行列H(x,y)を参照して、探索実績範囲を算出する(ステップS32)。図16は、図14に示した2次元探索実績行列H(x,y)における探索実績範囲を示した図である。図16に示すように、探索実績範囲Dは、2次元探索実績行列H(x,y)において1に変更されているx座標及びy座標の最大値及び最小値を算出する。そして、この最大値及び最小値を囲む長方形の範囲を、探索実績範囲Dとする。すなわち、探索実績範囲Dは、FIFOで削除される前の間に、一度でも探索された座標を含む長方形の範囲となる。なお、この探索実績範囲Dは、例えば、2次元探索実績行列H(x,y)において1に変更されている座標を全て含む最小円の範囲としてもよい。
【0063】
そして、ECU20は、ステップS32において算出した探索実績範囲Dにおいて、運転者の顔を探索する(ステップS33)。図17は、2次元探索実績行列を用いた運転者の顔の探索を説明するための図である。図17に示すように、ステップS33では、トラッキングに失敗した直前に探索した顔位置の座標(x0,y0)を中心として、探索実績範囲内を内方から順に外方に向けて顔位置の探索を行う。すなわち、探索実績範囲内において、座標(x0,y0)と距離が近い座標から順に顔を探索していく。
【0064】
そして、ステップS33の顔位置の探索が終わると、一旦処理を終了して、再度ステップS1から処理を繰り返す。
【0065】
このように、第3の実施形態に係る画像監視装置201によれば、トラッキングに失敗した場合に、探索する範囲を過去に探索された顔位置を含む探索実績範囲Dとし、探索に失敗した直前に探索された顔位置(x0,y0)から外方に向けて探索することで、探索範囲を顔位置が存在する可能性の高い範囲に絞り込み、しかも、より顔位置が存在する可能性の高い順に顔位置を探索するため、より短時間で撮像画像から顔位置の探索を行うことができる。
【0066】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されるものではない。例えば、顔位置を示す座標は、撮像画像の1画素を示すものであってもよく、複数の画素範囲(所定領域)を示すものであってもよい。
【0067】
また、第3の実施形態では、探索実績範囲Dを用いて探索範囲を絞り込むように説明したが、例えば、ステアリング角度θ及びウィンカー状態φの組合せ毎に探索実績範囲を用意し、トラッキングが失敗した時点におけるステアリング角度θ及びウィンカー状態φの組合せに対応する探索実績範囲で、探索範囲を絞り込むようにしてもよい。
【図面の簡単な説明】
【0068】
【図1】第1の実施形態に係る画像監視装置のブロック構成を示した図である。
【図2】2次元頻度ヒストグラムの一例を示した図である。
【図3】第1の実施形態に係る画像監視装置の処理動作を示すフローチャートである。
【図4】撮像画像を示した図である。
【図5】横ソーベルフィルタの一例を示す図である。
【図6】横ソーベルフィルタ画像を示した図である。
【図7】平滑化フィルタの一例を示した図である。
【図8】横ソーベルフィルタ平滑化画像を示した図である。
【図9】横ソーベルフィルタ平滑化画像からテンプレートを切り出す処理を説明するための図である。
【図10】顔位置のトラッキングを説明するための図である。
【図11】第2の実施形態に係る画像監視装置のブロック構成を示した図である。
【図12】第2の実施形態に係る画像監視装置の処理動作を示すフローチャートである。
【図13】第3の実施形態に係る画像監視装置のブロック構成を示した図である。
【図14】2次元探索実績行列の一例を示した図である。
【図15】第3の実施形態に係る画像監視装置の処理動作を示すフローチャートである。
【図16】図14に示す2次元探索実績行列における探索実績範囲を示した図である。
【図17】2次元探索実績行列を用いた運転者の顔の探索を説明するための図である。
【符号の説明】
【0069】
1…画像監視装置、10…画像センサ、20…ECU、21…顔位置初期発見部、22…顔位置追跡部、23…顔探索位置設定部、24…顔位置履歴記録部、30…ステアリング角度検出センサ、40…ウィンカー状態検出センサ、101…画像監視装置、201…画像監視装置、A…矩形領域、B…探索領域、C…切り出し領域、D…探索実績範囲、T…テンプレート。
【技術分野】
【0001】
本発明は、撮像装置により取得した撮像画像から対象者の顔位置を探索して、対象者の状態を監視する画像監視装置に関する。
【背景技術】
【0002】
従来、車両に搭載された撮像装置で撮像した撮像画像から運転者の顔位置を探索し、運転者の状態を監視する画像監視装置が知られている。この画像監視装置は、撮像された撮像画像の任意領域とテンプレートとのマッチングを取ることで運転者の顔位置を特定するものであり、一旦、顔位置が探索されると、その後は探索された顔位置に基づいて設定される小範囲の探索範囲において顔位置を探索し、顔位置を追跡している。
【0003】
ところで、このような撮像画像を用いて顔位置を追跡すると、運転者の顔が手などの障害物で隠れるなどして、顔位置を見失う(ロストする)ことがある。そこで、特許文献1では、探索範囲において顔位置を探索できなかった場合は、顔の移動速度が高くなるほど探索範囲を大きくすることで、顔位置のロストを防止している。
【特許文献1】特開2001−195582号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の技術では、顔の移動速度に応じて探索範囲を変更するものであるため、運転者の顔が動いていない場合には対応できないという問題があった。しかも、特許文献1に記載の技術では、顔の移動速度によっては探索範囲が大きくなりすぎる可能性もあるため、探索速度の低下を十分に抑制することができないという問題もあった。
【0005】
そこで、本発明は、短時間で撮像画像から顔位置の探索を行うことができる画像監視装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係る画像監視装置は、撮像手段によって取得した撮像画像における所定の切り出し領域とテンプレートとを順次適合させることにより撮像画像における対象者の顔位置を探索し、対象者の状況を監視する画像監視装置であって、顔位置の探索履歴を記録し、顔位置の探索に失敗した場合は、探索履歴に基づいて顔位置を再探索することを特徴とする。
【0007】
本発明に係る画像監視装置によれば、顔位置の探索に失敗した場合は、顔位置の探索履歴に基づいて顔位置を再探索することで、顔位置の存在する確率の高い領域を優先的に探索することができる。このため、顔位置の探索に失敗しても、撮像画像から短時間で顔位置の探索を行うことができる。
【0008】
この場合、再探索は、探索履歴における探索数の多い順に、顔位置を探索することが好ましい。この画像監視装置によれば、探索数の多い順に顔位置を再探索することで、顔位置が存在する可能性の高い順に顔位置を探索することができるため、より短時間で撮像画像から顔位置の探索を行うことができる。
【0009】
また、撮像装置は車両に搭載され、車両の方向指示情報又は方向変更動作情報に対応させて顔位置の探索履歴を記録し、再探索は、探索に失敗したときの方向指示又は方向変更動作に対応した探索履歴における探索数の多い順に、顔位置を探索することが好ましい。この画像監視装置によれば、運転者は、車両の方向変更動作を行う場合は顔を傾けるなどの同じような動作を行う傾向にあることに鑑み、過去に探索された運転者の顔位置と方向指示又は方向変更動作とを対応付けて学習しておくことで、方向指示情報又は方向変更動作情報により顔位置の探索範囲を絞り込むことができるため、より短時間で撮像画像から顔位置の探索を行うことができる。
【0010】
また、再探索は、探索履歴として記録された顔位置を含む探索実績範囲内において、探索に失敗した直前に探索された顔位置から外方に向けて行うことが好ましい。この画像監視装置によれば、再探索する範囲を過去に探索された顔位置を含む探索実績範囲とし、探索に失敗した直前に探索された顔位置から外方に向けて再探索することで、探索範囲を顔位置が存在する可能性の高い範囲に絞り込み、しかも、より顔位置が存在する可能性の高い順に顔位置を探索するため、より短時間で撮像画像から顔位置の探索を行うことができる。
【発明の効果】
【0011】
本発明によれば、短時間で撮像画像から顔位置の探索を行うことができる。
【発明を実施するための最良の形態】
【0012】
[第1実施形態]
以下、図面を参照して、本発明に係る画像監視装置の好適な実施形態について詳細に説明する。本発明に係る画像監視装置は、車両に搭載された画像センサから取得した撮像画像から運転者の顔位置を探索して、運転者の状態を監視するものであり、例えば、運転者の顔位置から運転者の瞼の開閉状況を検知することで、運転者の居眠り状況を監視するものである。なお、全図中、同一又は相当部分には同一符号を付すこととする。
【0013】
図1は、本実施形態に係る画像監視装置のブロック構成を示した図である。図に示すように、本実施形態の画像監視装置1は、車両に搭載されており、運転者の顔を撮像する画像センサ10と、運転者の顔位置を探索するECU(Electronic Control Unit)20とを備えている。
【0014】
画像センサ10は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の半導体素子を用いたカメラで構成されており、車両のステアリングコラムなどに内蔵されており、運転席に座った運転者の顔を撮像する撮像装置である。そして、画像センサ10は、撮像した撮像画像をECU20に送信する。なお、画像センサ10は、夜間でも運転者の顔を撮像するために、赤外線カメラで構成してもよい。
【0015】
ECU20は、画像センサ10と電気的に接続されており、画像センサ10から送信された撮像画像を取得すると、この撮像画像から運転者の顔位置を探索して、運転者の状態を監視する制御部である。このため、ECU20は、顔位置初期発見部21と、顔位置追跡部22と、顔探索位置設定部23と、顔位置履歴記録部24として機能する。なお、ECU20は、例えば、CPU、ROM、RAMを含むコンピュータを主体として構成されている。
【0016】
顔位置初期発見部21は、ニューラルネットワークなどの周知の手法により、画像センサ10により取得した撮像画像全体から運転者の顔位置を発見(探索)するものである。この顔位置は、発見した顔の中心位置を撮像画像全体における座標値(x,y)で示したものである。また、顔位置初期発見部21は、撮像画像から運転者の顔位置を発見すると、この発見した顔位置に基づいて、運転者の顔のテンプレートを作成する。このテンプレートは、撮像画像から顔位置(x,y)を中心とした縦横一定の幅の矩形領域を切り出すことで作成される。なお、このテンプレートは、後述するテンプレートマッチングの処理速度及び適合性を向上させるために、運転者の顔と略同じ大きさの、又は運転者の顔より少し小さい矩形領域とするのが望ましい。
【0017】
顔位置追跡部22は、顔位置初期発見部21により顔位置が発見された後、テンプレートマッチングなどの周知の手法により、撮像画像における運転者の顔位置をトラッキング(追跡)するものである。このテンプレートマッチングは、撮像画像からテンプレートと同形の切り出し領域を順次切り出してテンプレートと対比し、このテンプレートにマッチング(適合)する切り出し領域を探索する手法である。なお、テンプレートマッチングの方式は、SAD(Sum of Absolute Difference)、SSD(Sum of Square Difference)、正規化相関などの何れであってもよい。そして、顔位置追跡部22は、撮像画像における所定の探索領域においてテンプレートマッチングにより運転者の顔位置を探索し、運転者の顔位置をトラッキングする。また、顔位置追跡部22は、運転者の顔位置を探索すると、この探索した顔位置の切り出し領域で、運転者の顔のテンプレートを更新する。
【0018】
顔探索位置設定部23は、撮像画像における顔位置を探索するための探索領域を設定するものである。すなわち、顔探索位置設定部23は、前回探索された顔位置を中心とした所定の矩形領域を探索領域として設定する。なお、この探索範囲は、テンプレートの矩形領域よりも大きな範囲であって、探索速度が低下しない程度の大きさの範囲となる。これにより、顔位置追跡部22は、顔探索位置設定部23により設定された探索領域において、顔位置を探索する。
【0019】
顔位置履歴記録部24は、顔位置初期発見部21及び顔位置追跡部22における顔位置の探索履歴を記録するものである。すなわち、顔位置履歴記録部24は、顔位置初期発見部21及び顔位置追跡部22において顔位置を探索すると、この探索した顔位置の座標値(x,y)を探索履歴として記録する。そして、顔位置履歴記録部24は、この探索履歴から、2次元頻度ヒストグラムH(x,y)を作成する。
【0020】
図2は、2次元頻度ヒストグラムの一例を示した図である。図2に示すように、2次元頻度ヒストグラムH(x,y)は、撮像画像をxy座標軸で表したものであり、顔位置が探索された数だけ、対応する座標(x,y)の値を加算(+1カウントアップ)するものである。このため、2次元頻度ヒストグラムH(x,y)を参照することで、顔位置が探索された頻度の多い位置を容易に探索することができる。
【0021】
また、顔位置履歴記録部24は、2次元頻度ヒストグラムH(x,y)に用いるデータをFIFO(First In First Out)処理して、探索されてから所定時間(例えば、5〜10分)経過したデータは2次元頻度ヒストグラムH(x,y)から削除(−1カウントダウン)する。
【0022】
更に、顔位置履歴記録部24は、作成した2次元頻度ヒストグラムH(x,y)の平滑化処理を行い、2次元頻度ヒストグラムH’(x,y)を作成する。
【0023】
次に、図3を参照しながら、第1の実施形態に係る画像監視装置1の処理動作について説明する。図3は、第1の実施形態に係る画像監視装置の処理動作を示すフローチャートである。なお、以下に説明する処理は、画像監視装置1のECU20の処理によって行われるものであり、画像センサ10からECU20に撮像画像が送信されるたびに、下記の処理が繰り返し行われる。
【0024】
まず、運転者により車両のイグニションがONにされると、画像センサ10は、30f/S(1秒間に30フレーム)又は60f/Sの間隔で撮像を開始する。そして、ECU20は、この画像センサ10において撮像した運転者の顔の撮像画像を取得したことを契機として(ステップS1)、以下の処理を開始する。
【0025】
ECU20は、撮像画像を取得すると、ステップS1における撮像画像の取得が初回であるか否かを判定する(ステップS2)。すなわち、車両のイグニションをONにした直後などであって画像監視装置1の処理が始めての場合は、撮像画像の取得が初回であると判定し、撮像画像の取得が2回目以降であって前回の処理で既に顔位置を探索(又は発見)している場合は、撮像画像の取得が初回ではないと判定する。
【0026】
撮像画像の取得が初回であると判定した場合(ステップS2:YES)、ECU20は、取得した撮像画像から、運転者の顔位置の初期発見(探索)を行う(ステップS3)。顔位置の初期発見は、ステップS1において取得した撮像画像全体を探索範囲として、ニューラルネットワークなどの周知の手法を用いて運転者の顔を探索し、撮像画像における顔の中心座標を顔位置(x,y)として特定する。
【0027】
次に、ECU20は、運転者の顔位置をトラッキングするためのテンプレートを作成する(ステップS4)。テンプレートの作成は、まず、ステップS1において取得した撮像画像(濃淡画像)に対して3×3の横ソーベルフィルタでフィルタ処理を行い、横ソーベルフィルタ画像を生成する。図4は、撮像画像を示した図であり、図5は、横ソーベルフィルタの一例を示す図であり、図6は、横ソーベルフィルタ画像を示した図である。図5に示すように、横ソーベルフィルタは、注目画素を中心とした9の画素に重み付けを行い合計することで、エッジが強調された画像を生成するものである。そして、図4に示す濃淡画像の撮像画像に対して、図5に示す3×3の横ソーベルフィルタでフィルタ処理を行うと、図6に示すエッジが強調された横ソーベルフィルタ画像が生成される。なお、横ソーベルフィルタによるフィルタ処理を行うことで、光環境の変化などに対する頑健性が向上する。
【0028】
横ソーベルフィルタ画像を生成すると、次に、この横ソーベルフィルタ画像に対して3×3の平滑化フィルタで平滑化処理を行い、横ソーベルフィルタ平滑化画像を生成する。図7は、平滑化フィルタの一例を示した図であり、図8は、横ソーベルフィルタ平滑化画像を示した図である。図7に示すように、平滑化フィルタは、注目画素を中心とした9の画素に同一の重み付けを行い合計することで、ノイズなどを平滑化した画像を生成するものである。そして、図6に示す横ソーベルフィルタ画像に対して、図7に示す3×3の平滑化フィルタで平滑化処理を行うと、図8に示すノイズが平滑化された横ソーベルフィルタ平滑化画像が生成される。
【0029】
横ソーベルフィルタ平滑化画像を生成すると、次に、テンプレートの切り出し処理を行う。図9は、横ソーベルフィルタ平滑化画像からテンプレートを切り出す処理を説明するための図である。図9に示すように、テンプレートの切り出し処理は、横ソーベルフィルタ平滑化画像から、顔位置の座標(x,y)を中心とした縦横一定の幅の矩形領域Aを切り出す。そして、この切り出した矩形領域AをテンプレートTとする。
【0030】
そして、ステップS4が終了すると、又は、上述したステップS2において撮像画像の取得が初回でないと判定した場合(ステップS2:NO)、ECU20は、テンプレートマッチングによる顔位置のトラッキングを行う(ステップS5)。図10は、顔位置のトラッキングを説明するための図である。図10に示すように、顔位置のトラッキングは、まず、前回に探索された顔位置を中心とした所定範囲の矩形領域を探索領域Bとして設定する。次に、この探索領域B内において、前回に探索された顔位置を中心とした縦横一定幅の矩形領域を切り出し領域Cとして順次切り出す。そして、ステップS4で作成されたテンプレートT又は後述するステップS9で更新されたテンプレートTを用いて、順次切り出し領域Cのテンプレートマッチングを行う。そして、テンプレートマッチングの値が所定の閾値以内にある切り出し領域Cが検出されると、この切り出し領域Cを、運転者の顔位置とする。
【0031】
次に、ECU20は、トラッキングが成功したか否かを判定する(ステップS6)。ステップS6において、トラッキングが成功したか否かは、ステップS5におけるテンプレートマッチングの値が所定の閾値以内にある切り出し領域が検出されたか否かによって判定する。
【0032】
トラッキングが成功したと判定した場合(ステップS6:YES)、ECU20は、ステップS5において切り出した切り出し領域の中心座標(x,y)、すなわち、運転者の顔位置の座標(x,y)を記録する(ステップS7)。
【0033】
そして、ECU20は、ステップS7において記録した顔位置の座標(x,y)に基づいて、2次元頻度ヒストグラムH(x,y)のカウントアップ処理を行うとともに、FIFO処理を行う(ステップS8)。すなわち、ステップS8では、ステップS7において記録した顔位置の座標(x,y)に対応する2次元頻度ヒストグラムH(x,y)の値を+1カウントアップし、一方で、ステップS7において記録してから所定時間経過した顔位置の座標(x、y)に対応する2次元頻度ヒストグラムH(x,y)の値を−1カウントダウンする。このように、2次元頻度ヒストグラムH(x,y)のデータをFIFO処理し、最新のデータによって顔位置の探索を行うことで、より高精度なトラッキングを行うことができる。
【0034】
次に、ECU20は、テンプレートを更新する(ステップS9)。ステップS9において更新されるテンプレートは、ステップS4において作成したテンプレート又は前回のステップS9で更新したテンプレートである。そして、テンプレートの更新は、ステップS1で取得した撮像画像から、ステップS7において記録した顔位置の座標(x,y)を中心とした縦横一定の幅の矩形領域を切り出して、この切り出した画像でテンプレートを更新する。このようにテンプレートを更新することで、運転者の表情変化や光環境の変化などへのロバスト性を高めることができる。
【0035】
一方、上述したステップS6においてトラッキングが失敗したと判定した場合(ステップS6:NO)、ECU20は、顔位置の探索を行う前段階として、2次元頻度ヒストグラムH(x,y)の平滑化処理を行う(ステップS10)。平滑化処理を行うための平滑化フィルタは、図7に示した3×3の平滑化フィルタを用いる。そして、この3×3の平滑化フィルタを用いて、2次元頻度ヒストグラムH(x,y)に平滑化処理を行い、2次元頻度ヒストグラムH’(x,y)を作成する。このように、顔位置の探索を行う前に2次元頻度ヒストグラムH(x,y)の平滑化処理を行うことで、トラッキングされた顔位置(x,y)の誤差やノイズの影響を低減させることができる。
【0036】
次に、ECU20は、ステップS10において平滑化処理した2次元頻度ヒストグラムH’(x,y)を参照して、2次元頻度ヒストグラムH’(x,y)におけるカウント数の多い座標(x,y)から順に、運転者の顔位置を探索する(ステップS11)。ステップS11では、まず、2次元頻度ヒストグラムH’(x,y)の各座標を、カウント値の高い順にソートする(並べ替える)。そして、カウント値の高い座標から順にテンプレートマッチングを行う。このとき、ステップS5と同様に、前回探索された顔位置の座標(x,y)を中心とした所定の探索領域においてテンプレートマッチングを行うが、この探索領域において顔位置が探索されない場合は、テンプレートマッチングを行う範囲を広げていく。なお、テンプレートマッチングで用いるテンプレートは、ステップS4で作成されたテンプレート又はステップS9において更新されたテンプレートとなる。
【0037】
そして、上述したステップS9又はステップS11が終わると、一旦処理を終了して、再度ステップS1から処理を繰り返す。
【0038】
このように、第1の実施形態に係る画像監視装置1によれば、顔位置のトラッキングに失敗した場合は、2次元頻度ヒストグラムH(x,y)を参照して、過去の探索数の多い座標から順に顔位置を探索することで、顔位置が存在する可能性の高い順に顔位置を探索することができるため、より短時間で撮像画像から顔位置の探索を行うことができる。
【0039】
[第2実施形態]
次に、第2の実施形態について説明する。第2の実施形態に係る画像監視装置は、第1の実施形態に係る画像監視装置にステアリング角度検出センサとウィンカー状態検出センサを加えたものであり、その他の構成は同一である。このため、以下では、第1の実施形態に係る画像監視装置と異なる部分のみ説明する。
【0040】
図11は、第2の実施形態に係る画像監視装置のブロック構成を示した図である。図に示すように、第2の実施形態に係る画像監視装置101は、画像センサ10及びECU20に加え、更に、ステアリング角度検出センサ30と、ウィンカー状態検出センサ40とを備えている。
【0041】
ステアリング角度検出センサ30は、運転者の方向変更動作情報として、運転者が操作するステアリングのステアリング角度θを検出するセンサである。ステアリング角度検出センサ30は、例えば、ステアリング角度θを1°単位で検出してもよく、所定角度幅単位で検出してもよい。そして、ステアリング角度検出センサ30は、検出したステアリング角度θをECU20に送信する。
【0042】
ウィンカー状態検出センサ40は、運転者の方向指示動作情報として、運転者が操作するウィンカーの状態を示すウィンカー状態φを検出するセンサである。このウィンカー状態φは、ウィンカーが右又は左に操作されたこと示す情報である。そして、ウィンカー状態検出センサ40は、検出したウィンカー状態φをECU20に送信する。
【0043】
ECU20の顔位置履歴記録部24は、撮像画像から探索した顔位置を、この撮像画像が撮像された時点のステアリング角度θ及びウィンカー状態φに対応付けて、2次元頻度ヒストグラムH(x,y)を作成する。具体的には、ステアリング角度θとウィンカー状態φとの組合せごとに2次元頻度ヒストグラムH(x,y)を作成しておき、撮像画像から顔位置が探索されると、この撮像画像が撮像された時点のステアリング角度θ及びウィンカー状態φの組み合わせに対応する2次元頻度ヒストグラムH(x,y)に対して、顔位置の座標(x,y)の値を+1カウントアップする。なお、2次元頻度ヒストグラムH(x,y)は、ステアリング角度θが1°変わるごとに設けてもよく、ステアリング角度θが30°、60°、90°等の所定範囲変わるごとに設けてもよく、ステアリング角度θが+(プラス)側と−(マイナス)側とで分けて設けてもよい。
【0044】
次に、図12を参照しながら、第2の実施形態に係る画像監視装置101の処理動作について説明する。図12は、第2の実施形態に係る画像監視装置の処理動作を示すフローチャートである。なお、以下に説明する処理は、画像監視装置101のECU20の処理によって行われるものであり、画像センサ10からECU20に撮像画像が送信されるたびに、下記の処理が繰り返し行われる。
【0045】
まず、運転者により車両のイグニションがONにされると、第1の実施形態と同様に、ステップS1〜6が行われる。
【0046】
そして、ステップS6において、トラッキングが成功したと判定した場合(ステップS6:YES)、ECU20は、ステップS5において切り出した切り出し領域の中心座標、すなわち、運転者の顔位置の座標(x,y)を記録するとともに、ステアリング角度検出センサ30が検出したステアリング角度θ及びウィンカー状態検出センサ40が検出したウィンカー状態φを検出して記録する(ステップS21)。
【0047】
次に、ECU20は、ステップS21において記録した顔位置の座標(x,y)、ステアリング角度θ及びウィンカー状態φに基づいて、2次元頻度ヒストグラムH(x,y)のカウントアップ処理を行うとともに、FIFO処理を行う(ステップS22)。すなわち、ステップS22では、ステップS21において記録したステアリング角度θ及びウィンカー状態φの組合せに対応する2次元頻度ヒストグラムH(x,y)を選択し、この選択した2次元頻度ヒストグラムH(x,y)における顔位置の座標(x,y)に対応した値を+1カウントアップする。一方で、ステップS21において記録してから所定時間経過した顔位置の座標(x、y)に対応する2次元頻度ヒストグラムH(x,y)の値を−1カウントダウンする。このとき、所定時間経過した顔位置の座標(x,y)に対応する値を、全ての2次元頻度ヒストグラムH(x,y)から−1カウントダウンする。
【0048】
次に、ECU20は、テンプレートを更新し(ステップS9)、一旦処理を終了する。
【0049】
一方、上述したステップS6においてトラッキングが失敗したと判定した場合(ステップS6:NO)、ECU20は、まず、ステップS1において取得した撮像画像が撮像された時点(又は、ステップS6においてトラッキングが失敗した時点)のステアリング角度θ及びウィンカー状態φを検出して記録する(ステップS23)。
【0050】
そして、ECU20は、ステップS23において検出したステアリング角度θ及びウィンカー状態φの組合せに対応する2次元頻度ヒストグラムH(x,y)を選択し、顔位置の探索を行う前段階として、この選択した2次元頻度ヒストグラムH(x,y)の平滑化処理を行い、2次元頻度ヒストグラムH’(x,y)を作成する(ステップS10)。
【0051】
次に、ECU20は、ステップS10において平滑化処理した2次元頻度ヒストグラムH’(x,y)を参照して、2次元頻度ヒストグラムH’(x,y)におけるカウント数の多い座標(x,y)から、運転者の顔位置を探索する(ステップS11)。すなわち、ステップS11では、ステップS23において検出したステアリング角度θ及びウィンカー状態φの組合せに対応する2次元頻度ヒストグラムH(x,y)を参照して、顔位置を探索する。
【0052】
そして、ステップS11の顔位置の探索が終わると、一旦処理を終了して、再度ステップS1から処理を繰り返す。
【0053】
このように、第2の実施形態に係る画像監視装置101によれば、運転者は、車両の方向変更動作等を行う場合は、顔を傾けるなどの同じような動作を行う傾向にあることに鑑み、過去に探索された運転者の顔位置の座標(x,y)を、ステアリング角度θ及びウィンカー状態φとの組合せに対応付けて2次元頻度ヒストグラムH(x,y)に記録しておくことで、ステアリング角度θ及びウィンカー状態φにより顔位置の探索範囲を絞り込むことができるため、より短時間で撮像画像から顔位置の探索を行うことができる。
【0054】
[第3実施形態]
次に、第3の実施形態について説明する。第3の実施形態に係る画像監視装置は、第1の実施形態に係る画像監視装置と基本的に構成が同じであり、その処理動作のみ相違する。このため、以下では、第1の実施形態に係る画像監視装置と異なる部分のみ説明する。
【0055】
図13は、第3の実施形態に係る画像監視装置のブロック構成を示した図である。図に示すように、第3の実施形態に係る画像監視装置201は、画像監視装置1と同様に、画像センサ10と、ECU20とを備えており、ECU20は、顔位置初期発見部21と、顔位置追跡部22と、顔探索位置設定部23と、顔位置履歴記録部24として機能する。
【0056】
そして、ECU20の顔位置履歴記録部24は、探索した顔位置を記録すると、2次元頻度ヒストグラムH(x,y)ではなく、2次元探索実績行列H(x,y)を作成する。図14は、2次元探索実績行列の一例を示した図である。図14に示すように、2次元探索実績行列H(x,y)は、撮像画像をxy座標軸で表したものであり、顔位置が探索された座標の値を1に変更するものである。このため、2次元探索実績行列H(x,y)を参照することで、顔位置が探索されたことのある位置を容易に探索することができる。なお、図14において、黒く塗り潰した座標領域は1を示しており、黒く塗り潰されていない座標領域は0を示している。
【0057】
次に、図15を参照しながら、第3の実施形態に係る画像監視装置201の処理動作について説明する。図15は、第3の実施形態に係る画像監視装置の処理動作を示すフローチャートである。なお、以下に説明する処理は、画像監視装置201のECU20の処理によって行われるものであり、画像センサ10からECU20に撮像画像が送信されるたびに、下記の処理が繰り返し行われる。
【0058】
まず、運転者により車両のイグニションがONにされると、第1の実施形態と同様に、ステップS1〜6が行われる。
【0059】
そして、ステップS6において、トラッキングが成功したと判定した場合(ステップS6:YES)、ECU20は、運転者の顔位置の座標(x,y)を記録する(ステップS7)。
【0060】
次に、ECU20は、ステップS31において記録した顔位置の座標(x,y)に基づいて、2次元探索実績行列H(x,y)の書き換え処理を行うとともに、FIFO処理を行う(ステップS31)。すなわち、ステップS31では、ステップS7において記録した顔位置の座標(x,y)に対応する2次元探索実績行列H(x,y)の値が0である場合は、この値を1に変更する。なお、2次元探索実績行列H(x,y)の値が既に1に変更されている場合は、特にこの値を変更しない。一方、ステップS7において記録してから所定時間経過した顔位置の座標(x、y)に対応する2次元探索実績行列H(x,y)の値を0に変更する。
【0061】
次に、ECU20は、テンプレートを更新し(ステップS9)、一旦処理を終了する。
【0062】
一方、上述したステップS6においてトラッキングが失敗したと判定した場合(ステップS6:NO)、ECU20は、2次元探索実績行列H(x,y)を参照して、探索実績範囲を算出する(ステップS32)。図16は、図14に示した2次元探索実績行列H(x,y)における探索実績範囲を示した図である。図16に示すように、探索実績範囲Dは、2次元探索実績行列H(x,y)において1に変更されているx座標及びy座標の最大値及び最小値を算出する。そして、この最大値及び最小値を囲む長方形の範囲を、探索実績範囲Dとする。すなわち、探索実績範囲Dは、FIFOで削除される前の間に、一度でも探索された座標を含む長方形の範囲となる。なお、この探索実績範囲Dは、例えば、2次元探索実績行列H(x,y)において1に変更されている座標を全て含む最小円の範囲としてもよい。
【0063】
そして、ECU20は、ステップS32において算出した探索実績範囲Dにおいて、運転者の顔を探索する(ステップS33)。図17は、2次元探索実績行列を用いた運転者の顔の探索を説明するための図である。図17に示すように、ステップS33では、トラッキングに失敗した直前に探索した顔位置の座標(x0,y0)を中心として、探索実績範囲内を内方から順に外方に向けて顔位置の探索を行う。すなわち、探索実績範囲内において、座標(x0,y0)と距離が近い座標から順に顔を探索していく。
【0064】
そして、ステップS33の顔位置の探索が終わると、一旦処理を終了して、再度ステップS1から処理を繰り返す。
【0065】
このように、第3の実施形態に係る画像監視装置201によれば、トラッキングに失敗した場合に、探索する範囲を過去に探索された顔位置を含む探索実績範囲Dとし、探索に失敗した直前に探索された顔位置(x0,y0)から外方に向けて探索することで、探索範囲を顔位置が存在する可能性の高い範囲に絞り込み、しかも、より顔位置が存在する可能性の高い順に顔位置を探索するため、より短時間で撮像画像から顔位置の探索を行うことができる。
【0066】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されるものではない。例えば、顔位置を示す座標は、撮像画像の1画素を示すものであってもよく、複数の画素範囲(所定領域)を示すものであってもよい。
【0067】
また、第3の実施形態では、探索実績範囲Dを用いて探索範囲を絞り込むように説明したが、例えば、ステアリング角度θ及びウィンカー状態φの組合せ毎に探索実績範囲を用意し、トラッキングが失敗した時点におけるステアリング角度θ及びウィンカー状態φの組合せに対応する探索実績範囲で、探索範囲を絞り込むようにしてもよい。
【図面の簡単な説明】
【0068】
【図1】第1の実施形態に係る画像監視装置のブロック構成を示した図である。
【図2】2次元頻度ヒストグラムの一例を示した図である。
【図3】第1の実施形態に係る画像監視装置の処理動作を示すフローチャートである。
【図4】撮像画像を示した図である。
【図5】横ソーベルフィルタの一例を示す図である。
【図6】横ソーベルフィルタ画像を示した図である。
【図7】平滑化フィルタの一例を示した図である。
【図8】横ソーベルフィルタ平滑化画像を示した図である。
【図9】横ソーベルフィルタ平滑化画像からテンプレートを切り出す処理を説明するための図である。
【図10】顔位置のトラッキングを説明するための図である。
【図11】第2の実施形態に係る画像監視装置のブロック構成を示した図である。
【図12】第2の実施形態に係る画像監視装置の処理動作を示すフローチャートである。
【図13】第3の実施形態に係る画像監視装置のブロック構成を示した図である。
【図14】2次元探索実績行列の一例を示した図である。
【図15】第3の実施形態に係る画像監視装置の処理動作を示すフローチャートである。
【図16】図14に示す2次元探索実績行列における探索実績範囲を示した図である。
【図17】2次元探索実績行列を用いた運転者の顔の探索を説明するための図である。
【符号の説明】
【0069】
1…画像監視装置、10…画像センサ、20…ECU、21…顔位置初期発見部、22…顔位置追跡部、23…顔探索位置設定部、24…顔位置履歴記録部、30…ステアリング角度検出センサ、40…ウィンカー状態検出センサ、101…画像監視装置、201…画像監視装置、A…矩形領域、B…探索領域、C…切り出し領域、D…探索実績範囲、T…テンプレート。
【特許請求の範囲】
【請求項1】
撮像手段によって取得した撮像画像における所定の切り出し領域とテンプレートとを順次適合させることにより前記撮像画像における対象者の顔位置を探索し、前記対象者の状況を監視する画像監視装置であって、
前記顔位置の探索履歴を記録し、
前記顔位置の探索に失敗した場合は、前記探索履歴に基づいて前記顔位置を再探索することを特徴とする画像監視装置。
【請求項2】
前記再探索は、前記探索履歴における探索数の多い順に、前記顔位置を探索することを特徴とする請求項1に記載の画像監視装置。
【請求項3】
前記撮像装置は車両に搭載され、
前記車両の方向指示情報又は方向変更動作情報に対応させて前記顔位置の探索履歴を記録し、
前記再探索は、探索に失敗したときの方向指示又は方向変更動作に対応した前記探索履歴における探索数の多い順に、前記顔位置を探索することを特徴とする請求項1に記載の画像監視装置。
【請求項4】
前記再探索は、前記探索履歴として記録された顔位置を含む探索実績範囲内において、探索に失敗した直前に探索された顔位置から外方に向けて行うことを特徴とする請求項1に記載の画像監視装置。
【請求項1】
撮像手段によって取得した撮像画像における所定の切り出し領域とテンプレートとを順次適合させることにより前記撮像画像における対象者の顔位置を探索し、前記対象者の状況を監視する画像監視装置であって、
前記顔位置の探索履歴を記録し、
前記顔位置の探索に失敗した場合は、前記探索履歴に基づいて前記顔位置を再探索することを特徴とする画像監視装置。
【請求項2】
前記再探索は、前記探索履歴における探索数の多い順に、前記顔位置を探索することを特徴とする請求項1に記載の画像監視装置。
【請求項3】
前記撮像装置は車両に搭載され、
前記車両の方向指示情報又は方向変更動作情報に対応させて前記顔位置の探索履歴を記録し、
前記再探索は、探索に失敗したときの方向指示又は方向変更動作に対応した前記探索履歴における探索数の多い順に、前記顔位置を探索することを特徴とする請求項1に記載の画像監視装置。
【請求項4】
前記再探索は、前記探索履歴として記録された顔位置を含む探索実績範囲内において、探索に失敗した直前に探索された顔位置から外方に向けて行うことを特徴とする請求項1に記載の画像監視装置。
【図1】
【図2】
【図3】
【図5】
【図7】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図4】
【図6】
【図8】
【図9】
【図10】
【図2】
【図3】
【図5】
【図7】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図4】
【図6】
【図8】
【図9】
【図10】
【公開番号】特開2010−128961(P2010−128961A)
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2008−305086(P2008−305086)
【出願日】平成20年11月28日(2008.11.28)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(000003609)株式会社豊田中央研究所 (4,200)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願日】平成20年11月28日(2008.11.28)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(000003609)株式会社豊田中央研究所 (4,200)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
[ Back to top ]