(第1の実施形態に係る構成)
以下、第1の実施形態に係る検出装置、検出方法および検出プログラムについて説明する。図1は、第1の実施形態に係る検出装置を適用可能な、移動物体の動作を制御する制御システムの一例の構成を示す。
図1の例では、移動物体が車両であるものとし、制御システム1は、バス10と、全体制御装置11と、操舵装置12と、ウィンカ制御装置13と、ライト制御装置14と、ワイパー制御装置15と、速度検出装置16と、ブレーキ制御装置17と、エアコンディショナ18と、操作装置19と、検出装置20とを含む。操舵装置12、ウィンカ制御装置13、ライト制御装置14、ワイパー制御装置15、速度検出装置16、ブレーキ制御装置17、エアコンディショナ18、操作装置19および検出装置20は、バス10を介して全体制御装置11と互いに通信可能に接続される。以下では、この制御システム1に動作を制御される車両を自車両と呼ぶ。
操作装置19は、それぞれ図示を省略する、ステアリングホイール、ブレーキペダル、ライト操作スイッチ、ワイパー操作スイッチ、ウィンカ操作スイッチ、エアコンディショナ操作スイッチなど車両の各部を操作するための操作子を含む。操作装置19は、運転者などの操作に応じて各操作子から出力される操作信号を、全体制御装置11に供給する。
全体制御装置11は、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)および通信I/F(インターフェイス)とを含み、ROMに予め記憶されるプログラムに従い、RAMをワークメモリとして用いて、バス10に接続される各装置の制御を行う。通信I/Fは、CPUと、バス10に接続される各装置との間で信号をやり取りするためのインターフェイスとして機能する。
操舵装置12は、ステアリングホイールに対する操作に応じた全体制御装置11の制御に従い車両の操舵機構を駆動して、車両の走行方向を変える。ウィンカ制御装置13は、ウィンカ操作スイッチに対する操作に応じた全体制御装置11の制御に従い、左右のウィンカそれぞれの点灯をオン・オフさせる。ライト制御装置14は、ライト操作スイッチに対する操作に応じた全体制御装置11の制御に従い、ヘッドライトの点灯のオン・オフや、ライトの照射方向(ハイビームおよびロービーム)の切り替えを行う。
ワイパー制御装置15は、ワイパー操作スイッチに対する操作に応じた全体制御装置11の制御に従い、ワイパーの動作のオン・オフや、ワイパー動作時のワイパーアームの振り速度の切替を行う。ワイパー制御装置15は、全体制御装置11の制御に従い設定された振り速度で、一定間隔でワイパーアームを往復させる。
速度検出装置16は、例えばトランスミッションに設置された速度センサを含み、速度センサの出力に基づき車両の走行速度を検出する。検出された走行速度を示す情報は、全体制御装置11に送信される。これに限らず、速度検出装置16は、速度センサの出力を全体制御装置11に送信し、全体制御装置11が速度センサの出力に基づき走行速度を検出してもよい。ブレーキ制御装置17は、ブレーキペダルに対する操作に応じた全体制御装置11の制御に従った制動量で、ブレーキを駆動する。
エアコンディショナ18は、エアコンディショナ操作スイッチに対する操作に応じた全体制御装置11の制御に従い、冷房、暖房および送風や、フロントガラスなどの霜取り、曇り取りなどの動作を行う。
第1の実施形態に係る検出装置20は、例えば自車内に設置されたカメラで正面を撮像し、撮像画像の中から、人や障害物といった予め定められた対象物体の領域を検出する。検出結果提示部21は、例えばLCD(Liquid Crystal Display)によるディスプレイを有し、検出装置20による検出結果に従い、自車両の正面側に存在する人や障害物などの情報を提示する。
このとき、検出装置20は、自車両における動作を例えば全体制御装置11から取得し、取得した動作に応じて検出パラメータを設定する。そして、検出装置20は、設定された検出パラメータに従い、撮像画像から対象物体の領域を検出する。これにより、第1の実施形態では、自車両の動作に応じた検出処理によって、撮像画像から対象物体の領域を検出でき、撮像画像からの対象物体の領域の検出処理を、より高精度に行うことが可能となる。
図2は、第1の実施形態に係る検出装置20の一例の機能を示す機能ブロック図である。検出装置20は、画像取得部200と、動作情報取得部201と、検出パラメータ設定部202と、検出部203とを有する。これら画像取得部200、動作情報取得部201、検出パラメータ設定部202および検出部203は、それぞれ独立したハードウェアで構成してもよいし、一部または全部をCPU上で動作するプログラムにより構成してもよい。
画像取得部200は、自車両の車外を撮像した画像を取得する。例えば、画像取得部200は、自車両に設置されたカメラにより動画像として撮像された撮像画像を取得する。
図3は、自車両にカメラが設置された状態の例を示す。図3において、自車両の車体30において、フロントガラス31により車内と車外とが仕切られ、車内の手前側にダッシュボード33とステアリングホイール32とが設けられ、フロントガラス31の車外側の下部にワイパーアーム34が設けられている様子が示されている。また、図3の例では、ルームミラー35がフロントガラス31に装着されている。
さらに、カメラ36Rおよび36Lが、車内の天井に、車体30の正面を撮像するように設けられている。図3の例では、カメラ36Rおよび36Lが車内に設けられているため、カメラ36Rおよび36Lによる撮像画像は、フロントガラス31越しに車外を撮像した画像となる。
なお、カメラ36Rおよび36Lは、2台で所謂ステレオカメラを構成し、視野が水平方向に所定間隔だけずれた2つの画像を取得することができる。第1の実施形態では、画像取得部200が画像を取得するためのカメラは、ステレオカメラに限らず、単眼のカメラを用いてもよい。以下では、カメラ36Rおよび36Lのうちカメラ36Rの撮像画像を用いるものとして説明する。画像取得部200がカメラ36Rから取得した撮像画像は、検出部203に供給される。
なお、図3の例では、カメラ36Rが車両30の正面側を撮像するように設けられているが、これはこの例に限定されない。カメラ36Rは、車体30の側面側や後方を撮像するものであってもよい。また、ここでは、カメラ36Rが可視光領域の光を撮像するものであるとして説明するが、これに限らず、カメラ36Rが可視光領域外、例えば赤外線領域の光を撮像するものであってもよい。
動作情報取得部201は、自車両の動作に関する情報を取得する。このとき、動作情報取得部201が動作情報を取得する動作は、自車両における各動作のうち、カメラ36Rが撮像する撮像画像に変化を及ぼす動作が選択される。ここで、例えば撮像装置が撮像した時系列順で前後の画像を比較した場合に、当該動作によって画像が示す特徴が異なる場合に、画像に変化を及ぼす、という。比較する画像は数フレーム間の間隔をあけるなどしてもよい。例えば、動作情報取得部201は、全体制御装置11から、操舵装置12と、ウィンカ制御装置13と、ライト制御装置14と、ワイパー制御装置15と、速度検出装置16と、ブレーキ制御装置17と、エアコンディショナ18とのうち少なくとも1から動作情報を取得する。
検出パラメータ設定部202は、動作情報取得部201に取得された動作情報に基づき、検出部203が撮像画像から対象物体の領域を検出する際に用いる検出パラメータを設定する。検出部203は、検出パラメータ設定部202で設定された検出パラメータに従い、画像取得部200から供給された撮像画像から対象物体の領域を検出する。対象物体は、人や、標識、ポールといった所定の物体など、種類が予め定められる。検出部203による検出結果は、検出装置20から出力され、検出結果提示部21に供給される。
図4は、第1の実施形態に係る検出装置20における対象物体の検出処理の例を示すフローチャートである。なお、図4のフローチャートによる処理の実行に先立って、撮像画像から検出すべき対象物体が予め決められる。対象物体の種類は特に限定されないが、以下では、人を検出の対象物体とする。
検出装置20において、画像取得部200は、ステップS10で、カメラ36Rで撮像された撮像画像を取得する。取得された撮像画像は、検出部203に供給される。
次のステップS11で、動作情報取得部201は、自車両における所定の動作について、動作を示す動作情報を取得する。このとき、動作情報取得部201は、自車両において動作情報を取得可能な各動作のうち、動作により、または、動作の前後で撮像画像に変化を及ぼす動作の動作情報を取得する。
次のステップS12で、検出パラメータ設定部202は、同一種類の動作について、前回取得した動作情報と今回取得した動作情報とを比較して、動作情報の変化の有無を判定する。検出パラメータ設定部202は、動作情報に変化が無いと判定した場合、処理をステップS14に移行させる。
一方、検出パラメータ設定部202は、ステップS12で動作情報に変化があったと判定した場合、処理をステップS13に移行させる。ステップS13で、検出パラメータ設定部202は、今回取得した動作情報に基づき、検出部203が撮像画像から対象物体の領域を検出する際に用いる検出パラメータを変更する。詳細は後述するが、検出パラメータは、撮像画像に対して対象物体の検出処理を行う際の手順を示す検出アルゴリズムと、検出処理の種類を示す検出モデルと、検出モデルにおいて対象物体の領域を検出する際に用いる閾値とを含む。検出パラメータ設定部202は、変更された検出パラメータを検出部203に対して設定する。
なお、検出パラメータ設定部202は、今回取得した動作情報を図示されないメモリなどに保持する。保持された動作情報は、次回のステップS12の処理の実行時に、前回の動作情報として用いられる。
次のステップS14で、検出部203は、設定された検出パラメータに従い、ステップS10で画像取得部200により取得され供給された撮像画像から対象物体の領域を検出する検出処理を行う。このとき、検出部203は、検出パラメータに含まれる検出アルゴリズムに従い撮像画像に対して画像処理を施し、画像処理が施された撮像画像から対象物体の領域を検出する。検出部203は、対象物体の検出処理を、検出パラメータに含まれる検出モデルおよび閾値に従い行う。
検出部203は、ステップS14の検出処理の結果、撮像画像から対象物体の領域が検出された場合、その旨示す情報を検出結果提示部21に対して出力する。そして、処理がステップS10に戻される。
(対象物体の検出処理)
次に、ステップS14の対象物体の検出処理について、より詳細に説明する。図5に例示されるように、第1の実施形態では、検出部203は、検出対象となる撮像画像40に対して所定の大きさの検出窓領域50を設定する。そして、検出部203は、この検出窓領域50を撮像画像40内で例えば水平方向に所定単位毎に移動させ、さらに、垂直方向に所定単位毎に移動させながら、検出窓領域50内の画像に対して特徴量を算出し、算出した特徴量に基づき、撮像画像40に対象物体に対応する領域55が含まれているか否かを判定する。
図6は、第1の実施形態に係る検出部203による検出処理の例を示すフローチャートである。なお、ここでは、撮像画像40から検出すべき対象物体が人であるものとして説明する。
図6において、検出部203は、ステップS100で、検出窓領域50内の画像から特徴量を算出する。例えば、検出部203は、特徴量として、検出窓領域50内の輝度の勾配と強度とをヒストグラム化したHOG(Histgrams of Oriented Gradients)特徴量を算出することが考えられる。
次のステップS101で、検出部203は、ステップS100で抽出された特徴量に基づき、識別器を用いて人らしさを示す評価値を算出する。識別器としては、例えば対象物体が写った画像から抽出したHOG特徴量と、対象物体が写っていない、もしくは対象物体のごく一部しか映っていない画像から抽出したHOG特徴量とにより適切に学習されたSVM(Support Vector Machine)を適用することができる。評価値としては、例えば、ステップS100で算出された特徴量の、学習によって求められたマージン最大化超平面に対する距離を用いることができる。
また、非特許文献1「“Tomoki Watanabe, Satoshi Ito and Kentaro Yokoi: “Co-occurrence Histograms of Oriented Gradients for Human Detection”, IPSJ Transactions on Computer Vision and Applications, Vol. 2, pp.39-47. (2010).”」に記載されるように、ステップS100で算出する特徴量を、HOG特徴量を識別性能の面で改良したCoHOG(Co-occurrence HOG)特徴量としてもよい。すなわち、ステップS100において、検出窓領域50の領域の画像から輝度の勾配の方向を計算し、算出された勾配の方向からCoHOG特徴量を算出する。そして、対象物体が写った画像と、写っていない、または対象物体のごく一部しか写っていない画像から抽出されたCoHOG特徴量により適切に学習されたSVMを用いて、算出されたCoHOG特徴量のマージン最大化超平面に対する距離を計算し、評価値とする。
次のステップS102で、検出部203は、ステップS101で算出された評価値を、閾値と比較する。この閾値は、検出パラメータ設定部202により検出部203に設定された検出パラメータに含まれるものである。
次のステップS103で、検出部203は、ステップS102の比較結果に基づき、検出窓領域50内の画像が対象物体の領域を含むか否かを判定する。例えば、検出部203は、評価値が閾値を超える値である場合に、対象物体の領域を含むと判定するものとする。検出部203は、判定の結果、対象物体の領域を含まないと判定した場合、処理をステップS105に移行させる。
検出部203は、ステップS103の判定の結果、対象物体の領域を含むと判定した場合、処理をステップS104に移行させ、当該対象物体が写った領域の撮像画像40内での位置をメモリなどに記憶する。これに限らず、検出部203は、対象物体を含むと判定された検出窓領域50の撮像画像40内での座標位置を記憶しておくようにしてもよい。検出部203は、対象物体が写った領域の位置を記憶すると、処理をステップS105に移行させ、検出窓領域50を撮像画像40上で移動させる。
なお、上述した図4のステップS10〜ステップS14の処理は、予め定められた間隔で、検出窓領域50を移動させながら繰り返して実行される。そして、検出窓領域50が撮像画像40における最終の移動位置(例えば撮像画像40の右下隅)に移動しその位置での検出が終了した場合、撮像画像40の次のフレームついて、ステップS10〜ステップS14の処理が、検出窓領域50を移動させながら繰り返して実行される。
(検出パラメータ)
次に、第1の実施形態に係る検出パラメータについて、より詳細に説明する。図4のフローチャートでも説明したように、検出装置20は、所定の種類の動作について自車両の動作情報を取得して、動作情報に変化があった場合に、検出部203が対象物体の検出処理を行うための検出パラメータを変更する。このとき、検出装置20が動作情報を取得する動作は、上述したように、動作により、または、動作の前後で、撮像画像40に変化を及ぼす動作の動作情報が選択される。換言すれば、検出装置20は、動作の変化の前後で撮像画像40の見え方が異なる動作の動作情報を取得する。
このような、動作により、または、動作の前後で撮像画像40に変化を及ぼす動作としては、ライトの点灯のオン・オフ動作およびライトの向きを切り替える動作、ワイパー動作、自車両の走行動作、ブレーキによる制動動作、操舵動作およびウィンカの点灯のオン・オフ動作などが考えられる。
これに限らず、エアコンディショナの動作を、撮像画像40に変化を及ぼす動作として取得することもできる。すなわち、例えば寒い時期と暑い時期とで服装のパターンが異なると考えられ、時期によってエアコンディショナの動作が異なれば、それに伴い撮像画像40が変化を含むことになる。
動作情報取得部201は、図4のフローチャートのステップS11において、これらの、動作により、または、動作の前後で撮像画像40に変化を及ぼす動作のうち少なくとも1つの動作情報を取得する。
ライトの点灯のオン・オフ動作およびライトの向きを切り替える動作については、例えば、その旨示す動作情報を動作情報取得部201が全体制御装置11に対して要求する。全体制御装置11は、この要求に応じてライト制御装置14からライトの点灯のオン・オフおよびライトの向きを示す動作情報を取得し、動作情報取得部201に渡す。同様に、ワイパー動作については、例えば、その旨示す動作情報を動作情報取得部201が全体制御装置11に対して要求する。全体制御装置11は、この要求に応じてワイパー制御装置15からワイパー動作を示す動作情報を取得し、動作情報取得部201に渡す。
また、自車両の走行動作については、例えば、その旨示す動作情報を動作情報取得部201が全体制御装置11に要求する。全体制御装置11は、この要求に応じて速度検出装置16から走行速度を示す情報を取得し、走行動作を示す動作情報として動作情報取得部201に渡す。ブレーキによる制動動作については、例えば、その旨示す動作情報を動作情報取得部201が全体制御装置11に対して要求する。全体制御装置11は、この要求に応じてブレーキ制御装置17からブレーキ制動量を示す情報を取得し、ブレーキによる制動動作を示す動作情報として動作情報取得部201に渡す。
操舵動作については、例えば、その旨示す動作情報を動作情報取得部201が全体制御装置11に要求する。全体制御装置11は、この要求に応じて操舵装置12からステアリングホイールの角度を示す情報を取得し、操舵動作を示す動作情報として動作情報取得部201に渡す。また、ウィンカの点灯のオン・オフについては、例えば、その旨示す動作情報を動作情報取得部201が全体制御装置11に要求する。全体制御装置11は、この要求に応じて、ウィンカ制御装置13からウィンカの点灯のオン・オフを示す情報と、ウィンカ点灯がオンする場合、左右のウィンカの何れが点灯するかを示す情報とを取得し、ウィンカ点灯のオン・オフを示す動作情報として動作情報取得部201に渡す。
エアコンディショナ18の動作についても同様に、その旨示す動作情報を動作情報取得部201が全体制御装置11に要求する。全体制御装置11は、この要求に応じてエアコンディショナ18からエアコンディショナのオン・オフや設定温度・風量といった動作情報を取得し、動作情報取得部201に渡す。
なお、上述では、動作情報取得部201が全体制御装置11に対して各動作情報を要求するように説明したが、これはこの例に限定されない。例えば、動作情報取得部201は、操舵装置12、ウィンカ制御装置13、ライト制御装置14、ワイパー制御装置15、速度検出装置16、ブレーキ制御装置17およびエアコンディショナ18といった、動作情報が得られる各部から、それぞれ直接的に動作情報を取得してもよい。
(検出パラメータテーブル)
検出パラメータ設定部202は、各動作に対応する検出パラメータを、検出パラメータテーブルとしてメモリなどに予め記憶する。図7は、第1の実施形態に係る検出パラメータテーブルの例を示す。図7に例示するように、検出パラメータテーブルは、各動作に対して、検出パラメータおよび優先順位がそれぞれ関連付けられて構成される。また、検出パラメータは、上述したように、検出アルゴリズムと、検出モデルと、閾値とを含む。
検出パラメータは、動作毎に検出アルゴリズム、検出モデル、閾値および優先順位が設定される。図7の例では、動作が(1)ライト点灯、向き、(2)ワイパー、(3)走行速度、(4)ブレーキ制動量、(5)ステアリングホイール角度、(6)ウィンカ、(7)エアコン、の7種類とされている。
これら各動作に対して、それぞれ検出パラメータが関連付けられる。なお、検出パタメータのうち閾値は、閾値を設定するための動作情報と、当該動作情報に応じた閾値の値とを含む。なお、図7の例では、閾値において、閾値を設定するための動作情報のみを示している。
各動作のうち(1)の「ライト点灯、向き」は、ライトの点灯のオン・オフおよびライトの向きの動作であって、検出パラメータのうち検出アルゴリズムとして「明るさ調整」が、検出モデルとして「暗所対応モデル」がそれぞれ関連付けられる。また、閾値がライトの照射位置に応じて設定されることが示される。
より具体的には、動作「ライト点灯、向き」に適用される「明るさ調整」は、画像の明るさを調整した後に対象物体の領域の検出を行う検出アルゴリズムである。また、暗所対応モデルは、暗所の画像で学習された識別器を用いて対象物体の領域を検出する検出モデルである。さらに、閾値は、ライトの照射位置に応じて、ライトが照射されていない位置の閾値を下げ、ライトが照射された位置に比べ、より低い評価値で対象物体の領域を判定可能とする。
各動作のうち(2)の「ワイパー」は、ワイパー動作のオン・オフであって、検出パラメータのうち検出アルゴリズムとして「暈け除去」が、検出モデルとして「マスク使用モデル」がそれぞれ関連付けられる。また、閾値が画像上のワイパーアームの位置に応じて設定されることが示される。
より具体的には、動作「ワイパー」に適用される「暈け除去」は、撮像画像40の暈け除去を行なった後に対象物体の領域の検出を行う検出アルゴリズムである。また、マスク使用モデルは、検出窓領域50の一部にマスクを掛けた状態で学習した識別器を用いて対象物体の領域を検出する検出モデルである。さらに、閾値は、画像上のワイパーアームの位置から所定範囲内での閾値を下げ、ワイパーアームの周辺においてより低い評価値で対象物体を判定可能とする。なお、ワイパーアームの現在の位置(角度)は、例えば全体制御装置11あるいはワイパー制御装置15から取得することができる。
各動作のうち(3)の「走行速度」は、自車両の走行速度であって、検出パラメータのうち検出アルゴリズムとして「ブレ除去」が、検出モデルとして「モーションブラー」がそれぞれ関連付けられる。また、閾値が走行速度に応じて設定されることが示される。
より具体的には、動作「走行速度」に適用される「ブレ除去」は、撮像画像40のブレ除去を行なった後に対象物体の領域の検出を行う検出アルゴリズムである。また、「モーションブラー」は、撮像装置と撮影対象との動きの速度の違いによって生じるブレであるモーションブラーが、撮像画像40の消失点から周囲に向けて存在する画像で学習した識別器を用いて対象物体の領域を検出する検出モデル(モーションブラーモデルと呼ぶ)である。さらに、閾値は、走行速度が所定単位で増加する毎に閾値を上げ、速度が上がるに連れより低い評価値で対象物体の領域として判定可能とする。
各動作のうち(4)の「ブレーキ制動量」は、ブレーキペダルの操作に応じたブレーキの制動量であって、検出パラメータのうち検出アルゴリズムとして「ブレ除去」が、検出モデルとして「垂直ブレ」がそれぞれ関連付けられる。また、閾値がブレーキ制動量に応じて設定されることが示される。
より具体的には、動作「ブレーキ制動量」に適用されるブレ除去は、撮像画像40のブレ除去を行なった後に対象物体の領域の検出を行う検出アルゴリズムである。また、垂直ブレは、撮像画像40の垂直方向にブレが生じている画像で学習した識別器を用いて対象物体の領域を検出する検出モデル(垂直ブレモデルと呼ぶ)である。さらに、ブレーキ制動量が、タイヤロックされるブレーキ制動量より所定以上大きい場合に閾値を下げ、ブレーキ制動量が大きいほど低い評価値で対象物体の領域を判定可能とする。
各動作のうち(5)の「ステアリングホイール角度」は、ステアリングホイールの角度に応じた自車両の進行方向の変化であって、検出パラメータのうち検出アルゴリズムとして「ブレ除去」が、検出モデルとして「モーションブラー」がそれぞれ関連付けられる。また、閾値が、ステアリングホイール角度に従い設定されることが示される。
より具体的には、動作「ステアリングホイール角度」に適用されるブレ除去は、撮像画像40のブレ除去を行なった後に対象物体の領域の検出を行う検出アルゴリズムである。また、検出モデルは、上述したモーションブラーモデルが採用される。さらに、ステアリングホイール角度に従い、自車両の走行方向が曲がる方向に角度が大きくなるに連れて閾値を下げる。
各動作のうち(6)の「ウィンカ」は、ウィンカ点灯のオン・オフと、ウィンカ点灯する場合に左右何れのウィンカが点灯するかの動作であって、検出パラメータのうち検出アルゴリズムとして「ブレ除去」が、検出モデルとして「モーションブラー」がそれぞれ関連付けられる。また、閾値が、ウィンカ点灯のオン・オフに応じて設定されることが示される。
より具体的には、動作「ウィンカ」に適用されるブレ除去は、撮像画像40のブレ除去を行なった後に対象物体の領域の検出を行う検出アルゴリズムである。また、検出モデルとして、モーションブラーモデルが採用される。また、閾値が、左右のウィンカのうち点灯しているウィンカの方向の閾値をより低い値とする。
各動作のうち(7)の「エアコン」は、エアコンディショナの動作のオン・オフと、エアコンディショナの温度設定(冷房/暖房)などの動作であって、検出パラメータのうち検出アルゴリズムは、対象物体の領域の検出を行う前に前処理を行わないアルゴリズムが採用される。また、検出モデルとして「服装モデル」が関連付けられる。また、閾値が、エアコンディショナの風量モードに応じて設定されることが示される。
より具体的には、動作「エアコン」では、検出モデルとして、エアコンディショナの設定温度に応じた服装の画像で学習した識別器を用いて対象物体の領域を検出するモデルが適用される。すなわち、「服装モデル」は、服装のパターンに応じた複数の検出モデルを含み、識別器は、この複数の検出モデルそれぞれに対応して複数が用意される。さらに、エアコンディショナの風量モードに応じて、風量が多いほど閾値を下げ、より低い評価値で対象物体の領域を判定可能とする。
図7において、各動作に対して、さらに優先順位が関連付けられる。優先順位は、検出パラメータ設定部202において複数の動作情報に変化があったと判定した場合に選択する動作情報の順番を示す。優先順位は、例えば、動作情報の変化に伴う撮像画像40の変化の大きさに応じて付与するとよい。図7の例では、動作「ライト点灯、向き」が最も優先度が高く、以下、動作「ワイパー」、動作「走行速度」、動作「ブレーキ制動量」、動作「ステアリングホイール角度」、動作「ウィンカ」、動作「エアコン」の順に優先度が低くなるように、優先順位が付与されている。
(動作「ライト点灯、向き」の場合の検出処理例)
次に、第1の実施形態に係る対象物体の領域の検出処理を、図7に示した各動作についてより具体的に説明する。先ず、動作が(1)の動作「ライト点灯、向き」の場合の検出装置20による検出処理について説明する。図8は、第1の実施形態に係る検出装置20による、動作「ライト点灯、向き」の場合の対象物体の領域の検出処理の例を示すフローチャートである。
この図8のフローチャートの処理の実行に先立って、撮像画像40から検出すべき対象物体の領域が、例えば人の画像に予め決められる。さらに、図6のフローチャートのステップS101で用いる識別器を、対象物体としての人の画像と、対象外の物体としての、人以外の画像を用いて予め学習させる。このとき、識別器の学習は、検出パラメータに定められる検出モデルに従い、暗所での人の画像を用いて行う。また、通常の明るさでの人の画像を用いての識別器の学習も行なっておく。
図8のフローチャートにおいて、ステップS20で、検出装置20は、画像取得部200によりカメラ36Rから撮像画像を取得する。取得された撮像画像は、検出部203に供給される。
次のステップS21で、動作情報取得部201は、自車両におけるライトに関する動作について、動作を示す動作情報を取得する。次のステップS22で、検出パラメータ設定部202は、ライトに関する動作について、前回取得した動作情報と今回取得した動作情報とを比較して、動作情報の変化の有無を判定する。また、検出パラメータ設定部202は、変化があったと判定した場合に、変化の内容を判定する。
検出パラメータ設定部202は、若し、ステップS22でライトに関する動作情報に変化が無いと判定した場合、処理をステップS26に移行させる。ステップS26で、検出部203は、現在設定されている検出パラメータの検出モデルおよび閾値を用いて、図6のフローチャートに従い、対象物体の領域の検出処理を行う。検出装置20は、検出部203による検出処理が終了すると、処理をステップS20に戻す。
一方、検出パラメータ設定部202は、ステップS22でライトに関する動作情報が変化していると判定し、且つ、変化の内容が、ライトの消灯状態から点灯状態への変化とライトの照射方向の変化とのうち何れかであると判定した場合、処理をステップS23に移行させる。
ステップS23で、検出パラメータ設定部202は、ステップS22での判定結果に応じて検出パラメータを変更し、変更された検出パラメータを検出部203に設定する。ここでは、検出パラメータ設定部202は、図7を参照し、検出アルゴリズムを「明るさ調整」に変更し、検出モデルを暗所の画像で学習された識別器を用いて検出を行う暗所対応モデルに変更する。
また、検出パラメータ設定部202は、閾値をライトの照射位置に応じて変更する。より具体的には、検出パラメータ設定部202は、ライトの向きがハイビームである場合には、ライトが照射される撮像画像の中央部付近の閾値に対して、撮像画像の周辺部の閾値を低く設定する。また、検出パラメータ設定部202は、ライトの向きがロービームである場合には、ライトが照射される撮像画像の中央部より低い位置の閾値に対して、撮像画像の中央部より高い位置の閾値を低く設定する。
次のステップS24で、検出部203は、撮像画像の明るさを取得する。検出部203は、撮像画像の全体について明るさを取得してもよいし、撮像画像に対して予め定められた領域、例えばライトが路面を照射すると推測される領域について明るさを取得してもよい。
次のステップS25で、検出部203は、ステップS24で取得された撮像画像の明るさに基づき、撮像画像の明るさを、対象物体の領域の検出性能が最も高くなると考えられる明るさに補正する。検出部203は、例えば次式(1)で表されるガンマ補正を用いて撮像画像の明るさの補正を行うことができる。なお、式(1)において、値Y0は、入力画像(撮像画像)の画素値、値Y1は、出力画像(変換後の画像)の画素値をそれぞれ示す。また、式(1)では、画素値のビット深度を8ビット(256階調)とする。
Y1=255×(Y0/255)1/γ …(1)
式(1)によれば、図9に例示されるように、値γ=1で入力画素値と出力画素値とが等しくなる。値γ>1で、中間階調において入力画素値に対して出力画素値が大きくなって、中間階調がより明るい画像となる。また、値γ<1で、中間階調において入力画素値に対して出力画素値が小さくなり、中間階調がより暗い画像となる。例えば、検出部203は、撮像画像内の路面に相当すると推測される領域の平均画素値が予め定めた明るさになるように値γを変更することが考えられる。
撮像画像の明るさの調整方法は、ガンマ補正を用いた方法に限られない。例えば、検出部203は、平均化を行うことで、撮像画像の明るさを調整してもよい。平均化は、階調を複数の輝度レベルに分割し、各輝度レベルの画素数が前輝度レベルの数/全画素数となるように、撮像画像の画素を画素値が大きな順に取り出し、取り出した画素を高い輝度レベルから順に割り振り、各輝度レベルに割り当てられる画素数を等しくすることで行う。これに限らず、撮像画像の全画素の画素値を単純に一定値増減させることで、明るさ調整を行なってもよい。
検出部203は、ステップS25で撮像画像の明るさを補正すると、処理を上述したステップS26に移行させる。
検出パラメータ設定部202は、上述のステップS22でライトに関する動作情報が変化していると判定し、且つ、変化の内容が、ライトの点灯状態から消灯状態への変化であると判定した場合、処理をステップS27に移行させる。
ステップS27で、検出パラメータ設定部202は、検出パラメータを、ライトが点灯されている場合の検出パラメータから、ライトが消灯している場合すなわちライトが点灯していない場合の検出パラメータに変更する。具体的には、検出パラメータ設定部202は、検出アルゴリズムを「明るさ補正」を行わない検出アルゴリズムに変更する。また、検出パラメータ設定部202は、検出モデルおよび閾値を、通常の明るさで学習した識別器を用いて対象物体の領域を検出するモデルおよび閾値に変更する。
次のステップS28で、検出器203は、撮像画像の明るさを、デフォルトの明るさ、すなわち、撮像画像に対してなされた明るさ補正を解除した明るさに戻す。そして、処理を上述したステップS26に移行させる。
(動作「ワイパー」の場合の検出処理例)
次に、動作が(2)の動作「ワイパー」の場合の検出装置20による検出処理について説明する。図10は、第1の実施形態に係る検出装置20による、動作「ワイパー」の場合の対象物体の領域の検出処理の例を示すフローチャートである。
この図10のフローチャートの処理の実行に先立って、撮像画像40から検出すべき対象物体の領域が、例えば人の画像に予め決められる。さらに、図6のフローチャートのステップS101で用いる識別器を、対象物体としての人の画像と、対象外の物体としての、人以外の画像を用いて予め学習させる。このとき、識別器の学習は、検出パラメータに定められる検出モデルに従い、検出窓領域50の一部をマスクした状態での人の画像を用いて行う。例えば、図11に例示されるように、検出窓領域50の一部(この例では上部)にマスク領域52を設ける。例えば、検出窓領域50に対象物体である人の領域51が含まれる場合、人の領域51の上部がマスク領域52でマスクされる。
識別器の学習は、ワイパーアームの位置に応じて異なる位置にマスク領域52が設けられた検出窓領域50について、それぞれ行うようにする。図12は、第1の実施形態に係る、ワイパーアームの位置に応じたマスク領域の設定について説明するための図である。図3を参照し、ワイパーアーム34は、例えば下端部を回転の中心としてフロントガラス31上を所定の角度範囲内、且つ、所定の角速度で回動される。
図12(a)に例示されるように、撮像画像40においては、ワイパーアーム34の画像は、ワイパー動作のあるタイミングにおいてワイパーアーム領域53のように表示される。ワイパーアーム34は、カメラ36Rに対して、対象物体である人の領域51となる被写体よりも手前にある。そのため、ワイパーアーム領域53と、人の領域51が含まれる検出窓領域50とが重なると、人の領域51の一部がワイパーアーム領域53より隠され、検出部203による対象物体の領域の検出が正確に行われないおそれがある。
そこで、第1の実施形態では、異なる位置にマスク領域52を設けた検出窓領域50についてそれぞれ学習した複数の識別器を用意する。検出部203は、ワイパーアーム領域53すなわちワイパーアーム34の位置と、現在の検出窓領域50の撮像画像40内での位置とに基づき識別器を切り替えて、対象物体の領域の検出を行う。
例えば、図12(b)および図12(c)にそれぞれ例示されるように、上部にマスク領域52bが設けられた検出窓領域50bを用いて学習した第1の識別器と、下部にマスク領域52aが設けられた検出窓領域50aを用いて学習した第2の識別器とを予め用意する。そして、検出部203は、ワイパーアーム領域53と検出窓領域50との位置関係に基づき、第1および第2の識別器を切り替えて対象物体の領域の検出を行う。
より具体的には、図12(a)に例示されるように、検出部203は、ワイパーアーム領域53が検出窓領域50の上部に重なる場合には、検出窓領域50bを用いて学習した第1の識別器を用いる。また、検出部203は、ワイパーアーム領域53が検出窓領域50の下部に重なる場合には、検出窓領域50aを用いて学習した第2の識別器を用いる。
図10のフローチャートにおいて、ステップS30で、検出装置20は、画像取得部200によりカメラ36Rから撮像画像を取得する。取得された撮像画像は、検出部203に供給される。次のステップS31で、動作情報取得部201は、自車両におけるワイパーに関する動作について、動作を示す動作情報を取得する。
次のステップS32で、検出パラメータ設定部202は、ワイパーに関する動作について、前回取得した動作情報と今回取得した動作情報とを比較して、動作情報の変化の有無を判定する。また、検出パラメータ設定部202は、変化があったと判定した場合に、変化の内容を判定する。検出パラメータ設定部202は、ステップS32でワイパーに関する動作情報が変化していると判定し、且つ、変化の内容が、ワイパーが停止状態から稼動状態への変化であると判定した場合、処理をステップS33に移行させる。
ステップS33で、検出パラメータ設定部202は、ステップS32での判定結果に応じて検出パラメータを変更し、変更された検出パラメータを検出部203に設定する。ここでは、検出パラメータ設定部202は、図7を参照し、検出アルゴリズムを「暈け除去」に変更し、検出モデルをマスク使用すなわち検出窓領域50にマスク領域50を設けた状態で学習された識別器を用いて検出を行うモデルに変更する。
また、検出パラメータ設定部202は、閾値をワイパー位置に応じて変更する。より具体的には、検出パラメータ設定部202は、ステップS31で動作情報取得部201に取得されたワイパーアーム34の位置に基づき、撮像画像40におけるワイパーアーム領域53の位置を求める。そして、検出パラメータ設定部202は、ワイパーアーム領域53から所定画素範囲内の領域における閾値を、当該範囲外の閾値よりも低く設定する。
次のステップS34で、検出部203は、撮像画像40に対して暈け除去の処理を施す。この例では、検出部203は、暈け除去処理として、撮像画像40に含まれる雨滴の画像を除去する処理を行う。
例えば、カメラ36Rが車内に配置される場合、カメラ36Rの前玉とフロントガラス31との間に一定の距離dが発生する。図13は、カメラ36Rが天井またはダッシュボード33に配置される場合に、カメラ36Rの前玉とフロントガラス31との間に距離d1またはd2が発生する例を示す。
このように、カメラ36Rの前玉とフロントガラス31と間に一定の距離dが存在する場合、フロントガラス31に雨が当たると、図14に例示されるように、カメラ36Rの撮像画像40に、雨滴による雨滴画像41、41、…が写り込んでしまう。この雨滴画像41、41、…と対象物体の領域とが重なると、対象物体の領域が本来の対象物体とは異なった画像となってしまい、対象物体の領域が正確に検出できない可能性がある。
そのため、第1の実施形態では、ステップS34で暈け除去として撮像画像40に対して雨滴除去処理を施し、雨滴画像41、41、…を撮像画像40から除去する。雨滴除去処理としては、例えば、非特許文献2「稲葉 洋, 大城 政邦, 鎌田 清一郎, ``降雨時の車載カメラ映像に向けたフレーム間の対応付けに基づく雨滴除去に関する検討'', Institute of Electronics, Information, and Communication Engineers(2011)」に記載の技術を適用することができる。
この非特許文献2によれば、検出部203は、撮像画像40において、雨滴画像41、41、…の除去を行う撮像画像40のフレーム(着目フレームとする)と、着目フレームから数フレーム前までのフレーム(過去フレーム)とから、雨滴画像41、41、…に対応する領域(雨滴領域)を検出する。当該領域は、例えば撮像画像40に対するエッジ検出を用いて検出することが考えられる。検出部203は、着目フレームの雨滴領域の輝度情報と、着目フレームの雨滴領域に対応する過去フレームの各領域の輝度情報とを用いて、着目フレームの雨滴領域の補間を行う。このとき、車両が直進走行をすると仮定した場合、着目フレームでの画像上の点と、カメラ36Rの前方の消失点とを結ぶ線分上の画素列は、過去フレームでは当該画素列が伸縮したパターンとして存在することを利用する。
次のステップS35で、動作情報取得部201は、ワイパーアーム34の位置を示す情報をさらに取得する。ワイパーアーム34の位置を示す情報は、例えば、ワイパー制御装置15から取得することができる。検出部203は、動作情報取得部201により取得されたワイパーアーム34の位置に従い、撮像画像40におけるワイパーアーム領域53の位置を取得する。検出部203は、ワイパーアーム画像53の位置を取得すると、処理をステップS36に移行させる。
なお、検出部203は、ステップS35において、取得されたワイパーアーム領域53の位置に応じて、対象物体の領域を検出するための識別器を、例えば上述した第1および第2の識別器とで切り替える。
上述したステップS32で、検出パラメータ設定部202は、ワイパーに関する動作について、前回取得した動作情報と今回取得した動作情報とを比較して、動作情報の変化の有無を判定する。また、検出パラメータ設定部202は、変化があったと判定した場合に、変化の内容を判定する。
一方、検出パラメータ設定部202は、ステップS32でワイパーに関する動作情報が変化していると判定し、且つ、変化の内容が、ワイパーが稼働状態から停止状態への変化であると判定した場合、処理をステップS37に移行させる。
ステップS37で、検出パラメータ設定部202は、検出パラメータを、ワイパーが稼働している場合の検出パラメータから、ワイパーが停止している場合の検出パラメータに変更し、検出部203に設定する。具体的には、検出パラメータ設定部202は、検出アルゴリズムを「暈け除去」を行わない検出アルゴリズムに変更する。また、検出パラメータ設定部202は、検出モデルおよび閾値を、検出窓領域50にマスク領域52を設けない状態で学習した識別器を用いて対象画像を検出するモデルおよび閾値に変更する。そして、処理がステップS36に移行される。
また、検出パラメータ設定部202は、ステップS32でワイパーに関する動作情報が変化していないと判定した場合、処理をステップS38に移行させる。ステップS38で、動作情報取得部201は、現在のワイパーの動作状態が稼働中および停止中の何れであるかを判定する。若し、現在のワイパーの状態が稼働中であると判定された場合、処理がステップS34に移行される。一方、現在のワイパーの状態が停止中であると判定された場合、処理がステップS36に移行される。
ステップS36で、検出部203は、現在設定されている検出パラメータの検出モデルおよび閾値を用いて、図6のフローチャートに従い、対象物体の領域の検出処理を行う。検出装置20は、検出部203による検出処理が終了すると、処理をステップS30に戻す。
(動作「走行速度」の場合の検出処理例)
次に、動作が(3)の動作「走行速度」の場合の検出装置20による検出処理について説明する。図15は、第1の実施形態に係る検出装置20による、動作「走行速度」の場合の対象物体の領域の検出処理の例を示すフローチャートである。この図15の検出処理の実行に先立って、撮像画像から検出すべき対象物体が、例えば人の画像に予め決められる。さらに、図6のフローチャートのステップS101で用いる識別器を、対象物体としての人の領域がモーションブラーが存在する画像に含まれるモデルにより、予め学習させる。
検出装置20において、画像取得部200は、ステップS40で、カメラ36Rから撮像画像を取得する。取得された撮像画像は、検出部203に供給される。
次のステップS41で、動作情報取得部201は、自車両の走行速度を取得する。そして、次のステップS42で、検出パラメータ設定部202は、走行速度について、前回取得した走行速度と今回取得した走行速度とを比較して変化の有無を判定する。このとき、検出パラメータ設定部202は、走行速度が変化したと判定する速度の差分に、所定のマージンを持たせるとよい。検出パラメータ設定部202は、走行速度の差分が所定のマージンよりも小さい場合、処理をステップS45に移行させる。
一方、検出パラメータ設定部202は、ステップS42で走行速度に変化があったと判定した場合、処理をステップS43に移行させる。ステップS43で、検出パラメータ設定部202は、今回取得した走行速度に基づき、検出部203が撮像画像から対象物体の領域を検出する際に用いる検出パラメータを変更する。より具体的には、検出パラメータ設定部202は、検出アルゴリズムを「ブレ除去」に変更し、検出モデルをモーションブラーモデルに変更する。また、検出パラメータ設定部202は、閾値を走行速度に応じて変更する。より具体的には、検出パラメータ設定部202は、走行速度が大きいほど閾値を低い値に設定する。例えば、検出パラメータ設定部202は、走行速度の所定速度の増加に対して、閾値を所定値毎に減少させる。
次のステップS44で、検出部203は、ステップS40で画像取得部200から供給された撮像画像に対して、ブレ除去の処理を行う。ここで、自車両が走行している場合には、モーションブラーにより、図16に例示するように、撮像画像40における消失点60から周辺部に向けて、放射状にブレが発生する。例えば、消失点60の右側の画像61Rは、消失点60に対して外側、すなわち、画像61Rより右側にブレが発生する。同様に、消失点60の左側の画像61Lは、画像61Lより左側にブレが発生する。そこで、第1の実施形態では、検出アルゴリズムに従い、前処理として、撮像画像40におけるこの放射状のブレを除去するブレ除去処理を行う。
画像からのブレの除去には、例えば非特許文献3「C.Inoshita, Y. Mukaigawa, Y.Yagi, ``Ringing Detector for Deblurring based on Frequency Analysis of PSF’’, IPSJ Transactions on Computer Vision and Applications (2011)」に記載の技術を適用することができる。
この非特許文献3によれば、先ず、ブレが存在する画像を点拡がり関数で除算して原画像の周波数特性を求め、周波数特性を逆フーリエ変換して、ブレ画像を含む画像を原画像に復元する。復元された原画像について、点拡がり関数の周波数特性において極めて小さい強度となる成分を探索する。そして、復元画像と、点拡がり関数の当該成分に基づく不可逆周波数とを入力とし、周波数成分に相当する正弦波が復元画像全体に亘って同じ位相で存在しているか否かを調べてリンギングの有無を判定するリンギング検出器を適用する。リンギング検出器の出力から誤成分と判断される場合は、誤成分の未知パラメータである位相および振幅を推定して復元画像から誤成分の除去を行う。また、誤成分と判断されない場合は、再び点拡がり関数の周波数特性において極めて小さい強度となる成分を探索し、処理を繰り返す。
検出部203は、ステップS44でブレ除去処理を行うと、処理をステップS45に移行させ、ブレが除去された撮像画像40に対して、検出パラメータにより設定された検出モデルおよび閾値を用いて、図6のフローチャートに従い対象物体の領域の検出処理を行う。検出装置20は、検出部203による検出処理が終了すると、処理をステップS40に戻す。
(動作「ブレーキ制動量」の場合の検出処理例)
次に、動作が(4)の動作「ブレーキ制動量」の場合の検出装置20による検出処理について説明する。図17は、第1の実施形態に係る検出装置20による、動作「ブレーキ制動量」の場合の対象物体の領域の検出処理の例を示すフローチャートである。この図17の検出処理の実行に先立って、撮像画像40から検出すべき対象物体が、例えば人の画像に予め決められる。さらに、図6のフローチャートのステップS101で用いる識別器を、対象物体としての人の領域が垂直方向のブレが存在する画像に含まれるモデルにより、予め学習させる。
検出装置20において、画像取得部200は、ステップS50で、カメラ36Rから撮像画像40を取得する。取得された撮像画像40は、検出部203に供給される。
次のステップS51で、動作情報取得部201は、自車両のブレーキ制動量を取得する。そして、次のステップS52で、検出パラメータ設定部202は、ブレーキ制動量について、前回取得したブレーキ制動量と今回取得したブレーキ制動量とを比較して変化の有無を判定する。このとき、検出パラメータ設定部202は、ブレーキ制動量が変化したと判定する制動量の差分に、所定のマージンを持たせるとよい。検出パラメータ設定部202は、ブレーキ制動量の差分が所定のマージンよりも小さい場合、処理をステップS55に移行させる。
一方、検出パラメータ設定部202は、ステップS52でブレーキ制動量に変化があったと判定した場合、処理をステップS53に移行させる。ステップS53で、検出パラメータ設定部202は、今回取得したブレーキ制動量に基づき、検出部203が撮像画像40から対象物体の領域を検出する際に用いる検出パラメータを変更する。より具体的には、検出パラメータ設定部202は、検出アルゴリズムを「ブレ除去」に変更し、検出モデルを垂直ブレモデルに変更する。また、検出パラメータ設定部202は、閾値をブレーキ制動量に応じて変更する。より具体的には、検出パラメータ設定部202は、ブレーキ制動量が大きいほど閾値を低い値に設定する。例えば、検出パラメータ設定部202は、ブレーキ制動量がタイヤロックされる制動量に対して所定割合以上の場合に、閾値をより低い値とする。
次のステップS54で、検出部203は、ステップS50で画像取得部200から供給された撮像画像40に対して、検出アルゴリズムに従い垂直方向のブレのブレ除去処理を行う。これは、自車両が例えばタイヤロックされる制動量の所定割合以上のブレーキ制動量で停止された場合、慣性により車体の前部が上下に搖動するため、撮像画像40において上下方向のブレが生じる可能性がある。そのため、検出部203は、対象物体の検出処理を行う前に、前処理として上下方向すなわち垂直方向のブレ除去処理を行う。撮像画像40に対する垂直方向のブレ除去処理には、上述した非特許文献3に記載の技術を適用することができる。
検出部203は、ステップS54でブレ除去処理を行うと、処理をステップS55に移行させ、ブレが除去された撮像画像40に対して、検出パラメータにより設定された検出モデルおよび閾値を用いて、図6のフローチャートに従い対象物体の領域の検出処理を行う。検出装置20は、検出部203による検出処理が終了すると、処理をステップS50に戻す。
(動作「ステアリングホイール角度」の場合の検出処理例)
次に、動作が(5)の動作「ステアリングホイール角度」の場合の検出装置20による検出処理について説明する。図18は、第1の実施形態に係る検出装置20による、動作「ステアリングホイール角度」の場合の対象画像の検出処理の例を示すフローチャートである。
この図18の検出処理の実行に先立って、撮像画像40から検出すべき対象物体が、例えば人に予め決められる。さらに、図6のフローチャートのステップS101で用いる識別器を、対象物体としての人がモーションブラーが存在する画像に含まれるモデルにより、予め学習させる。
検出装置20において、画像取得部200は、ステップS60で、カメラ36Rから撮像画像40を取得する。取得された撮像画像40は、検出部203に供給される。
次のステップS61で、動作情報取得部201は、自車両のステアリングホイール角度を取得する。そして、次のステップS62で、検出パラメータ設定部202は、ステアリングホイール角度について、前回取得した角度と今回取得した角度とを比較して、変化の有無、および、変化があった場合に変化の方向をそれぞれ判定する。このとき、検出パラメータ設定部202は、ステアリングホイール角度が変化したと判定する角度の差分に、所定のマージンを持たせるとよい。検出パラメータ設定部202は、ステアリングホイール角度の差分が所定のマージンよりも小さい場合、処理をステップS65に移行させる。
一方、検出パラメータ設定部202は、ステップS62でステアリングホイール角度に変化があったと判定した場合、処理をステップS63に移行させる。ステップS63で、検出パラメータ設定部202は、今回取得したステアリングホイール角度に基づき、検出部203が撮像画像40から対象物体の領域を検出する際に用いる検出パラメータを変更する。
より具体的には、検出パラメータ設定部202は、検出アルゴリズムを「ブレ除去」に変更し、検出モデルを走行方向モーションブラーモデルに変更する。また、検出パラメータ設定部202は、閾値を、ステアリングホイール角度に応じて、当該角度が予め定めた角度に達する毎に変更する。例えば、検出パラメータ設定部202は、ステアリングホイール角度が走行方向側に大きくなるに連れて閾値をより低い値とする。これは、自車両が曲がる方向においては、巻き込み事故などが発生し易いので、対象物体をより容易に検出可能とするためである。
次のステップS64で、検出部203は、ステップS60で画像取得部200から供給された撮像画像40に対して、検出アルゴリズムに従いブレ除去処理を行う。撮像画像40に対するブレ除去処理には、上述した非特許文献3に記載の技術を適用することができる。
検出部203は、ステップS64でブレ除去処理を行うと、処理をステップS65に移行させ、ブレが除去された撮像画像40に対して、検出パラメータにより設定された検出モデルおよび閾値を用いて、図6のフローチャートに従い対象物体の領域の検出処理を行う。このとき、検出部203は、ステアリングホイール角度に基づき自車両の走行方向を求め、識別器として、モーションブラーが存在する画像を用いて学習した識別器を選択する。検出装置20は、検出部203による検出処理が終了すると、処理をステップS60に戻す。
(動作「ウィンカ」の場合の検出処理例)
次に、動作が(6)の動作「ウィンカ」の場合の検出装置20による検出処理について説明する。図19は、第1の実施形態に係る検出装置20による、動作「ウィンカ」の場合の対象物体の領域の検出処理の例を示すフローチャートである。
この図19の検出処理の実行に先立って、撮像画像40から検出すべき対象物体が、例えば人に予め決められる。さらに、図6のフローチャートのステップS101で用いる識別器を、対象物体としての人がモーションブラーが存在する画像に含まれるモデルにより、予め学習させる。
検出装置20において、画像取得部200は、ステップS70で、カメラ36Rから撮像画像40を取得する。取得された撮像画像40は、検出部203に供給される。
次のステップS71で、動作情報取得部201は、ウィンカに関する動作について、動作を示す動作情報を取得する。この場合、動作情報は、左右何れのウィンカが点灯しているかの情報を含む。なお、左右のウィンカが同時に点灯している場合は、無視してもよいし、左右何れのウィンカも点灯してないと見做すようにしてもよい。
次のステップS72で、検出パラメータ設定部202は、ウィンカ動作について、前回取得した動作情報と今回取得した動作情報とを比較して、動作情報の変化の有無を判定する。検出パラメータ設定部202は、変化が無いと判定した場合、処理をステップS75に移行させる。
一方、検出パラメータ設定部202は、ステップS72で動作状態に変化があると判定した場合に、変化の内容を判定する。検出パラメータ設定部202は、若し、ステップS72で左右何れかのウィンカが消灯状態から点灯状態へと変化したと判定した場合、処理をステップS73に移行させる。
ステップS73で、検出パラメータ設定部202は、今回消灯状態から点灯状態に変化したウィンカが左右何れのウィンカであるかに従い、検出部203が撮像画像から対象物体の領域を検出する際に用いる検出パラメータを変更する。より具体的には、検出パラメータ設定部202は、検出アルゴリズムを「ブレ除去」に変更し、検出モデルを、モーションブラーモデルに変更する。
さらに、検出パラメータ設定部202は、閾値を、ウィンカが点灯している側でより低い値に変更する。例えば、右のウィンカが点灯している場合には、撮像画像40の右側部分の閾値を、左側部分の閾値より低い値とする。これは、上述のステアリングホイール角度の場合と同様に、自車両が曲がる方向においては、巻き込み事故などが発生し易いので、対象物体をより容易に検出可能とするためである。
次のステップS74で、検出部203は、ステップS70で画像取得部200から供給された撮像画像40に対して、検出アルゴリズムに従いブレ除去処理を行う。撮像画像40に対するブレ除去処理には、上述した非特許文献3に記載の技術を適用することができる。
検出部203は、ステップS74でブレ除去処理を行うと、処理をステップS75に移行させ、ブレが除去された撮像画像40に対して、検出パラメータ設定部202により変更され設定された検出モデルおよび閾値を用いて、図6のフローチャートに従い対象物体の領域の検出処理を行う。検出装置20は、検出部203による検出処理が終了すると、処理をステップS70に戻す。
検出パラメータ設定部202は、上述したステップS72で動作状態に変化があると判定し、且つ、変化の内容が左右何れかのウィンカが点灯状態から消灯状態へと変化したと判定した場合、処理をステップS76に移行させる。
ステップS76で、検出パラメータ設定部202は、検出パラメータを、ウィンカが点灯されていない場合の検出パラメータに変更する。具体的には、検出パラメータ設定部202は、検出アルゴリズムを、ブレ除去を行わない検出アルゴリズムに変更する。また、検出パラメータ設定部202は、検出モデルを、モーションブラーが存在しない画像を用いて学習した識別器を用いたモデルに変更し、閾値を撮像画像40の全体で共通の値とする。
(動作「エアコン」の場合の検出処理例)
次に、動作が(7)の動作「エアコン」の場合の検出装置20による検出処理について説明する。図20は、第1の実施形態に係る検出装置20による、動作「エアコン」の場合の対象物体の領域の検出処理の例を示すフローチャートである。
この図20の検出処理の実行に先立って、撮像画像40から検出すべき対象物体が、例えば人に予め決められる。さらに、図6のフローチャートのステップS101で用いる識別器として、外気温に応じて推測される複数の服装パターンについてそれぞれ学習した複数の識別器を用意する。ここでは、服装パターンとして、外気温が低い冬季に対応する第1の服装パターンと、外気温が高い夏季に対応する第2の服装パターンと、外気温が冬季と夏季との中間の季節に対応する第3の服装パターンとの3通りの服装パターンを想定する。識別器は、これら第1〜第3の服装パターンでそれぞれ学習した第1の識別器と、第2の識別器と、第3の識別器とを用意する。
検出装置20において、画像取得部200は、ステップS80で、カメラ36Rから撮像画像40を取得する。取得された撮像画像40は、検出部203に供給される。
次のステップS81で、動作情報取得部201は、エアコンに関する動作について、動作を示す動作情報を取得する。この場合、動作情報は、エアコンが動作しているか否かを示す情報と、エアコンの動作モード(冷房、暖房、停止など)を示す情報と、エアコンの風量を示す情報とを含む。
次のステップS82で、検出パラメータ設定部202は、エアコン動作について、前回取得した動作情報と今回取得した動作情報とを比較して、動作情報の変化の有無を判定する。検出パラメータ設定部202は、変化が無いと判定した場合、処理をステップS87に移行させる。
一方、検出パラメータ設定部202は、ステップS82で動作状態に変化があると判定した場合に、次のステップS83で、エアコンの動作モードに基づき変化の内容を判定する。検出パラメータ設定部202は、ステップS83でエアコンの動作モードが冷房であると判定した場合、処理をステップS84に移行させる。動作モードが冷房であれば、外気温が高く、車外の人の服装が第2の服装パターンの服装であると推測される。第2の服装パターンとしては、半袖や薄着などが考えられる。
ステップS84で、検出パラメータ設定部202は、検出パラメータを、服装パターンが第2の服装パターンの場合に対応する検出パラメータに変更する。この検出パラメータでは、検出モデルとして第2の服装パターンを検出する検出モデルに変更し、閾値を、エアコンの風量が強いほど閾値より低い値とする。検出パラメータが変更されたら、処理がステップS87に移行される。
検出パラメータ設定部202は、ステップS83で、エアコンの動作モードが停止であると判定した場合、処理をステップS85に移行させる。動作モードが停止であれば、外気温が中間程度であって、車外の人の服装が第3の服装パターンであると推測される。第3の服装パターンとしては、長袖やある程度の薄着などが考えられる。
ステップS85で、検出パラメータ設定部202は、検出パラメータを、服装パターンが第3の服装パターンの場合に対応する検出パラメータに変更する。この検出パラメータでは、検出モデルとして第3の服装パターンを検出する検出モデルに変更する。また、検出パラメータ設定部202は、閾値を、例えば所定の値に固定する。検出パラメータが変更されたら、処理がステップS87に移行される。
検出パラメータ設定部202は、ステップS83で、エアコンの動作モードが暖房であると判定した場合、処理をステップS86に移行させる。動作モードが暖房であれば、外気温が低く、車外の人の服装が第1の服装パターンであると推測される。第1の服装パターンとしては、厚手のコートやダウンジャケット、マフラーなどが考えられる。
ステップS86で、検出パラメータ設定部202は、検出パラメータを、服装パターンが第1の服装パターンの場合に対応する検出パラメータに変更する。この検出パラメータでは、検出モデルとして第1の服装パターンを検出する検出モデルに変更し、閾値を、エアコンの風量が強いほどより低い値の閾値とする。検出パラメータが変更されたら、処理がステップS87に移行される。
ステップS87で、検出部203は、上述したステップS84〜ステップS86の何れかで変更され設定された検出モデルおよび閾値を用いて、図6のフローチャートに従い対象物体の領域の検出処理を行う。このとき、検出部203は、第1〜第3の識別器のうち、検出モデルに対応する識別器を選択して検出処理を行う。検出装置20は、検出部203による検出処理が終了すると、処理をステップS80に戻す。
(複数動作の組み合わせ)
次に、上述した(1)〜(7)の各動作のうち複数の動作情報の変化が同時に検出された場合について説明する。一例として、検出装置20において、上述した(1)〜(7)の動作に対応する図8、図10、図15、図17、図18、図19および図20のフローチャートによる処理が並列的に実行されているものとする。検出パラメータ設定部202は、動作情報に変化があった動作が(1)〜(7)の動作のうち1つであった場合、変化があった動作に関する検出パラメータを検出装置203に適用する。
また、検出パラメータ設定部202は、動作情報に変化があった動作が(1)〜(7)のうち複数あり、且つ、複数の動作に関する複数の検出パラメータが含む各項目、すなわち検出アルゴリズム、検出モデルおよび閾値が全て同時に変更可能な場合には、当該複数の検出パタメータを全て検出部203に設定する。一方、当該複数の検出パラメータが含む各項目のうち同時に変更可能ではない項目については、検出パラメータテーブルにおいて各動作に関連付けられる優先度に従い、当該項目において、最も優先度の高い動作に関連付けられた値を、当該項目の変更する値として選択する。
例えば、(1)〜(7)の各動作のうち、動作情報に変化があった動作が(1)の「ライト点灯、向き」の1つのみであり、ライトが消灯状態から点灯状態へと変化したと判定された場合について考える。この場合、検出部203は、ライトの消灯状態から点灯状態への変化およびライトの照射方向に対応した検出処理を行えばよい。
すなわち、図8のフローチャートにおけるステップS23で、検出パラメータ設定部202は、検出パラメータに含まれる全ての項目(検出アルゴリズム、検出モデルおよび閾値)を選択し、検出部203に設定する。検出部203は、設定された検出パラメータの検出アルゴリズムに従い撮像画像40の明るさを補正し(図8のフローチャートのステップS24およびステップS25)、検出モデルとしては暗所対応の識別器を用いた検出モデルを選択し、ライトの照射方向に基づき撮像画像40のうちライトが照射されていない領域において閾値を下げる。
また例えば、(1)〜(7)の各動作のうち、動作情報に変化があった動作が(1)の「ライト点灯、向き」と、(2)の「ワイパー」との2つあり、ライトが消灯状態から点灯状態へと変化し、ワイパーが停止状態から稼動状態に変化したと判定された場合について考える。
この場合、検出モデルは、(1)の「ライト点灯、向き」が暗所対応モデルであり、(2)の「ワイパー」がマスク使用モデルであり、これらが同時に選択できないとすると、検出パラメータ設定部202は、検出モデルとして、より優先順位の高い暗所対応モデルを選択する。また、検出アルゴリズムは、(1)の「ライト点灯、向き」が明るさ調整であり、(2)の「ワイパー」が暈け除去であり、これらが同時に選択できる場合、検出部203は、例えば撮像画像40に対して明るさ補正を行い、その後、暈け除去を行った上で、対象物体の領域の検出処理を行う。
なお、同時に選択された複数の検出アルゴリズムによる処理の順番は、例えば検出部203に予め設定しておくと良い。
このように、第1の実施形態によれば、自車両の動作情報を取得することで、車外環境に依存することなく、より高精度に対象物体の領域を検出することができる。
(第2の実施形態)
次に、第2の実施形態に係る検出装置について説明する。図21は、第2の実施形態に係る検出装置の一例の構成を示す。なお、図21において、上述した図1と共通する部分には同一の符号を付して、詳細な説明を省略する。
図21において、検出装置20’は、図2で説明した検出装置20に対して検出パラメータ適用領域決定部204を追加した構成となっている。すなわち、画像取得部200は、取得した撮像画像40を検出パラメータ適用領域決定部204に供給する。また、検出パラメータ設定部202は、動作情報取得部201から前回供給された動作情報に対して今回供給された動作状態が変化している場合に、検出パラメータテーブルから、動作に対応する検出パラメータと、検出パラメータを適用する適用領域を示す情報とを選択する。検出パラメータ設定部202は、選択した検出パラメータと適用領域を示す情報とを検出パラメータ適用領域決定部204に供給する。
検出パラメータ適用領域決定部204は、検出パラメータ設定部202から供給された検出パラメータと、画像取得部200から供給された撮像画像40とを検出部203’に供給する。また、検出パラメータ適用領域決定部204は、検出パラメータ設定部202から供給された適用領域に従い、画像取得部200から供給された撮像画像40に対して、検出パラメータを適用する適用領域を決定する。
検出パラメータ適用領域決定部204は、決定された適用領域を示す情報を、検出部203’に供給する。検出部203’は、撮像画像40に対して検出パラメータ適用領域決定部204により決定された適用領域について、動作情報の変化に応じて変更した変更後の検出パラメータを適用して、撮像画像40からの対象物体の領域の検出処理を実行する。また、検出部203’は、撮像画像40の適用領域外の非適用領域では、動作情報の変化に応じて変更した、変更前の検出パラメータを適用して、撮像画像40からの対象物体の領域の検出処理を実行する。
図22は、第2の実施形態に係る検出パラメータテーブルの一例を示す。図22に示される検出パラメータテーブルは、図7を用いて説明した検出パラメータテーブルに対して項目「適用領域」が追加された内容であり、他の項目(優先順位、動作、検出アルゴリズム、検出モデルおよび閾値)は、図7と共通であるので、ここでは、項目「適用領域」を中心に説明を行う。
図22の検出パラメータテーブルにおいて、(1)の動作「ライト点灯、向き」では、撮像画像40においてライトが照射されていない領域が適用領域とされる。例えば、ライトの向きがハイビームの場合には、撮像画像40の上下端部の所定範囲が適用領域とされ、ロービームの場合には、撮像画像40の上部の所定範囲が適用領域とされる。
(2)の動作「ワイパー」では、撮像画像40においてワイパーアーム領域53に対して所定範囲の領域が適用領域とされる。一例として、図23に示されるように、撮像画像40がワイパーアーム領域53を含んでいる場合、ワイパーアーム領域53と、当該領域から所定画素範囲内の領域60aおよび60bとが適用領域とされる。
(3)の動作「走行速度」では、撮像画像40において、消失点60を中心に、左右端部の所定範囲の領域が適用領域とされる。すなわち、図16を参照し、撮像画像40において、消失点60に対して左右端部の領域は、例えば歩道である場合が多く、対象物体である人の領域が含まれる可能性が高い。そこで、変更後の検出パラメータを、この消失点60に対して左右端部の所定範囲に適用する。
(4)の動作「ブレーキ制動量」では、撮像画像40の全体が適用領域とされる。すなわち、ブレーキ制動による撮像画像40の垂直方向の揺動は、撮像画像40の全体に及ぶため、撮像画像40の全体を適用領域とする。
(5)の動作「ステアリングホイール角度」および(6)の動作「ウィンカ」では、撮像画像40において、消失点を中心に、自車両が曲がる方向の所定範囲の領域を適用領域とする。これは、上述したように、自車両が曲がる方向においては、巻き込み事故などが発生し易いので、対象物体をより容易に検出可能とするためである。
(7)の動作「エアコン」では、撮像画像40の全体が適用領域とされる。
一例として、(2)の動作「ワイパー」に対して適用領域を適用した場合の検出処理について説明する。例えば、検出パラメータ適用領域決定部204は、図10のステップS35で動作情報取得部201により取得されたワイパーアーム34の位置に応じたワイパーアーム領域53の撮像画像40上での位置に基づき、上述の領域60aおよび60bを求め、適用領域を決定する。検出部203’は、図10のステップS36で、例えば、この適用領域が検出窓領域50に含まれる場合に、ステップS33で変更された検出パラメータを用いて対象物体の領域の検出処理を行う。
別の例として、動作情報の変化が複数の動作について取得され、且つ、当該複数の動作に関する複数の検出パラメータが含む各項目のうち少なくとも1つが同時に変更可能な場合の適用領域について説明する。例えば、(1)の動作「ライト点灯、向き」と、(2)の動作「ワイパー」とについて、動作情報の変化が取得された場合について考える。
この場合、図24に例示されるように、(1)の動作「ライト点灯、向き」については、撮像画像40においてライトの照射されていない領域70が、ライト点灯時の適用領域とされている。したがって、検出部203’は、領域70に対して動作「ライト点灯、向き」に対応する、動作情報の変化に応じて変更された検出パラメータを適用して、対象物体の領域の検出処理を実行する。
同様に、(2)の動作「ワイパー」については、図23で説明したように、領域60aおよび60bと、ワイパーアーム領域53とが適用領域とされている。したがって、検出部203’は、領域60aおよび60bと、ワイパーアーム領域53とに対して動作「ワイパー」に対応する、動作情報の変化に応じて変更された検出パラメータを適用して、対象物体の領域の検出処理を実行する。
また、図24の例では、動作「ライト点灯、向き」に対する適用領域である領域70と、動作「ワイパー」に対する適用領域である領域60aおよび60bと、ワイパーアーム領域53とが重なる重なり領域71が発生している。この重なり領域71では、動作「ライト点灯、向き」の検出パラメータの各項目と、動作「ワイパー」の検出パラメータの各項目とのうち同時に変更可能でない項目について、より高い優先順位の項目のみを変更し、検出部203’による検出処理を実行する。
このように、第2の実施形態によれば、撮像画像40に対して動作情報の変化を適用する領域を動作に応じて設定することで、対象物体の領域の検出に用いる検出パラメータを適切に使用することができ、撮像画像40の全体からより高精度に対象物体の領域を検出することが可能である。
なお、上述した検出装置20に含まれる画像取得部200、動作情報取得部201、検出パラメータ設定部202および検出部203、あるいは、検出装置20’に含まれる動作情報取得部201、検出パラメータ設定部202、検出部203’および検出パラメータ適用領域決定部204、CPU上で動作するプログラムで実現する場合、当該プログラムは、例えばROMに予め記憶され、CPU上で動作する検出プログラムによって実現される。この検出プログラムは、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、実施形態の検出装置20(検出装置20’)で実行される検出プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供するように構成してもよい。また、実施形態の検出装置20(検出装置20’)で実行される検出プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。さらに、実施形態の検出プログラムを、ROMなどに予め組み込んで提供するように構成してもよい。
実施形態の検出装置20(検出装置20’)で実行される検出プログラムは、上述した各部(検出装置20の場合、画像取得部200、動作情報取得部201、検出パラメータ設定部202および検出部203)を含むモジュール構成となっている。実際のハードウェアとしては、CPUがROMなどの記憶媒体から検出プログラムを読み出して実行することにより、上述した各部がRAMなどの主記憶装置上にロードされ、画像取得部200、動作情報取得部201、検出パラメータ設定部202および検出部203が主記憶装置上に生成されるようになっている。
なお、本発明は上述した各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。