(58)【調査した分野】(Int.Cl.,DB名)
前記車両の運転者に対して、前記車両のスピーカを介した音声出力およびブザー出力ならびに前記車両の運転者が視認可能な位置に設けられた表示装置に対する警告表示の少なくとも1つにより、前記算出部の出力した情報を通知する警告部、
をさらに備えた請求項1ないし3のいずれか1項に記載のTTC測定装置。
【発明を実施するための形態】
【0011】
本発明に係る
TTC計測装置および
TTC計測プログラムの実施の形態について、
画像処理装置および画像処理プログラムを例として添付図面を参照して説明する。
【0012】
(全体構成)
図1は、本発明の第1実施形態に係る画像処理装置10の一構成例を示すブロック図である。
【0013】
画像処理装置10は、カメラ11、制御部12、記憶部13、車両情報取得部14、灯火装置16、クラクション17、スピーカ18および表示装置19を有する。
【0014】
カメラ11は、CCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサにより構成され、自家用自動車等の車両の周囲の映像を取り込んで画像データを生成して制御部12に与える。
【0015】
たとえば後方を監視する場合、カメラ11は車両後部のナンバープレート付近やリアウインドウの上部などに設けられる(リアカメラ)。また、車両の側方を監視する場合、カメラ11はサイドミラー付近に設けられる(サイドカメラ)。また、車両前方を監視する場合、カメラ11は車両前部のナンバープレート付近やフロントウインドウの上部などに設けられる(フロントカメラ)。
【0016】
カメラ11には、広画角撮像を可能とするよう広角レンズや魚眼レンズが取り付けられてもよい。たとえば広画角撮像が可能なカメラ11をサイドミラー付近に配設する場合(サイドカメラ)、車両の側方に加えて車両の前方および後方を同時に撮像することも可能である。また、複数のカメラ11を用いることにより広範な車外周囲画像を取り込むようにしてもよい。
【0017】
以下の説明では、カメラ11に広画角撮像を可能とするよう広角レンズや魚眼レンズが取り付けられる場合の例について示す。
【0018】
制御部12は、たとえばCPU、RAM、ROMを備えたマイクロコントローラにより構成される。制御部12のCPUは、ROMなどの記憶媒体に記憶された画像処理プログラムおよびこのプログラムの実行のために必要なデータをRAMへロードし、このプログラムに従って、カメラ11により取得された画像から生成されたピラミッド画像を用いて処理画像内に含まれる検出対象物を検出しつつ、検出した検出対象物のTTC(衝突するまでの時間)を精度よく予測するための処理を実行する。
【0019】
制御部12のRAMは、CPUが実行するプログラムおよびデータを一時的に格納するワークエリアを提供する。制御部12のROMなどの記憶媒体は、画像処理プログラムや、これらのプログラムを実行するために必要な各種データを記憶する。
【0020】
なお、ROMをはじめとする記憶媒体は、磁気的もしくは光学的記録媒体または半導体メモリなどの、CPUにより読み取り可能な記録媒体を含んだ構成を有し、これら記憶媒体内のプログラムおよびデータの一部または全部は図示しないネットワーク接続部を介して電子ネットワークを介してダウンロードされるように構成してもよい。
【0021】
なお、この場合、ネットワーク接続部は、ネットワークの形態に応じた種々の情報通信用プロトコルを実装し、この各種プロトコルに従って制御部12と他の車両のECUなどの電気機器とを電子ネットワークを介して接続する。この接続には、電子ネットワークを介した電気的な接続などを適用することができる。ここで電子ネットワークとは、電気通信技術を利用した情報通信網全般を意味し、無線/有線LAN(Local Area Network)やインターネット網のほか、電話通信回線網、光ファイバ通信ネットワーク、ケーブル通信ネットワークおよび衛星通信ネットワークなどを含む。
【0022】
記憶部13は、制御部12によるデータの読み書きが可能な不揮発性のメモリであり、検出対象物を撮像した画像を用いてあらかじめ生成された画像辞書(モデル)などの種々の情報を記憶している。これらの情報は、電子ネットワークを介してまたは光ディスクなどの可搬型記憶媒体を介して更新されてもよい。
【0023】
車両情報取得部14は、少なくとも自車の現在の加速度の情報を取得し、制御部12に出力する。車両情報取得部14は、たとえば加速度センサにより構成してもよいし、CAN(Controller Area Network)において一般的に用いられる車両情報取得機能を有するものであってもよい。本実施形態において、車両情報取得部14は必ずしも設けられずともよい。
【0024】
灯火装置16は、一般的なヘッドライトにより構成され、制御部12により制御されて点滅(いわゆるパッシング)を行うことにより、たとえば自車両の外部に対して警告を行う。
【0025】
クラクション17は、制御部12により制御されて自車両の外部に対して警告音を出力する。
【0026】
スピーカ18は、自車両の車内に設けられ、制御部12により制御されて自車両の運転者に対してビープ音や危険が迫っていることを知らせるための情報などの各種情報に対応した音声を出力する。
【0027】
表示装置19は、運転者が視認可能な位置に設けられ、車載用の一般的なディスプレイやカーナビゲーションシステム、HUD(ヘッドアップディスプレイ)などの表示出力装置を用いることができ、制御部12の制御に従って、カメラ11の撮像画像や検出対象物の検出位置を示す画像などの各種情報を表示する。
【0028】
(制御部12の構成および動作の概略)
続いて、制御部12のCPUによる機能実現部の構成および動作の概略について説明する。
【0029】
図1に示すように、制御部12のCPUは、画像処理プログラムによって、少なくとも辞書生成部21、処理画像生成部22、検出部23、TTC算出部24および警告部25として機能する。検出部23は、HOG処理部31、HOG結果判定部32およびHOG結果選定部33を有する。
【0030】
この各部21−25は、RAMの所要のワークエリアをデータの一時的な格納場所として利用する。なお、これらの機能実現部は、CPUを用いることなく回路などのハードウエアロジックによって構成してもよい。
【0031】
図2は、
図1に示す制御部12のCPUにより、カメラ11により取得された画像から生成されたピラミッド画像を用いて処理画像内に含まれる検出対象物を検出しつつ、検出した検出対象物のTTC(衝突するまでの時間)を精度よく予測する際の手順の概略を示すフローチャートである。
図2において、Sに数字を付した符号はフローチャートの各ステップを示す。
【0032】
ステップS1において、辞書生成部21は、あらかじめ検出対象物を撮像した画像を用いて画像辞書(モデル)を生成し記憶部13に記憶させておく。たとえば、辞書生成部21は、カメラ11の所定の視線軸と、検出対象物の検出対象面の法線方向と、が平行となるように検出対象物をカメラ11の撮像範囲内の所定範囲の複数の位置に配置して、カメラ11により複数の位置のそれぞれで事前に検出対象物を撮像した画像を用いてあらかじめ1つの辞書を生成しておく。
【0033】
辞書生成部21が生成する辞書は、特徴量にもとづいて画像から対象物を検出するための種々の技術に適用可能な内容を有する。以下の説明では、辞書生成部21が生成する辞書がHOG特徴量にもとづく対象物検出処理(以下、HOG処理という)に適した辞書(以下、HOG辞書という)であり、検出部23がHOG処理を行う場合の例について示す。
【0034】
次に、ステップS2において、処理画像生成部22は、カメラ11から車両の周囲を広画角に撮像した撮像画像を取得する。
【0035】
次に、ステップS3において、処理画像生成部22は、カメラ11による撮像画像にもとづいて、自車41から設定される投影面の距離が互いに異なる複数の処理画像により構成される画像群(ピラミッド画像)を生成する。各処理画像は、辞書生成に用いられた視線軸と同じ視線軸を法線方向とする投影面に透視投影された画像として生成される。各処理画像は、自車41からの推定距離としての画像距離とあらかじめ関連付けられる。
【0036】
次に、ステップS4において、検出部23のHOG処理部31は、HOG処理(たとえば特開2010−44438号公報、特開2010−55195号公報など参照)を行って尤度を出力する。HOG処理部31は、具体的には、処理画像を勾配方向画像に変換して検出対象物に応じた所定サイズの枠を走査し、HOG辞書を用いて走査位置ごとにHOG特徴量を求めることにより各走査位置に検出対象物が存在するもっともらしさを示す尤度を求める。HOG処理部31は、各走査位置の枠内画像を辞書にあてはめることで尤度(スコア)を求めることができる。尤度が高ければ高いほど、辞書にマッチングした画像であるといえる。
【0037】
HOG特徴量は、縦、横、斜め方向のエッジがブロック内にどの程度あるのかを定量化したものである。このため、明るさの変化などの影響を受けにくく、形状の変化に対しても頑健であることが知られている。なお、HOG処理部31によるHOG処理は、共起性を利用した処理(coHOG処理)であってもよい。
【0038】
次に、ステップS5において、検出部23のHOG結果判定部32は、HOG処理部31により得られた尤度が閾値より大きい結果を有効な結果とする。HOG処理部31がHOG処理において走査枠を走査する際の画素のずらし量を小さくするほど、また尤度の閾値を小さくするほど、HOG結果判定部32により有効な結果とされる走査枠の数が多くなる。
【0039】
次に、ステップS6において、検出部23のHOG結果選定部33は、HOG結果判定部32により得られた複数の有効な結果のうち最も尤度の高い結果や、複数の有効な結果の単純な平均、尤度による加重平均などにより、最も有効な結果を1つ選定する。また、HOG結果選定部33は、選定した最も有効な結果から同じもしくは一番近くの処理画像に関連付けられた自車からの推定距離を直接出力してもよいが、ここでは基準とする画像(基準画像、以下、正規化画像という)上へ選定した最も有効な結果の枠の大きさや位置を正規化した枠(以下、検出枠という)を出力する。つまり、遠い距離ほど小さい枠に、近い距離ほど大きい枠に変換される。なお、HOG結果判定部32により有効な結果とされた走査枠が1つの場合は、ステップS6は実行されずともよい。
【0040】
次に、ステップS7において、TTC算出部24は、正規化画像と検出枠の大きさの関係より、自車から検出対象物までの推定距離を求め、推定距離の履歴と複数の処理画像に関連付けられた自車からの推定距離としての各画像距離(以下、適宜総称してピラミッド画像距離という)にもとづいて自車と検出対象物とが衝突するまでの時間TTCを求めて出力する。このとき、検出される枠が1つである場合や最も尤度が高い結果1つを選んだ場合、検出枠の距離はピラミッド画像距離の1つと一致する。
【0041】
複数の処理画像のそれぞれに関連付けられた自車からの距離は飛び飛びの値である。TTC算出部24は、推定距離をそのまま用いるのではなく、推定距離の履歴とピラミッド画像距離を用いることで、より正確なTTCを求めることができる。
【0042】
次に、ステップS8において、警告部25は、TTC算出部24により出力された自車から検出対象物までの推定距離やTTCの情報を自車の運転者に通知するべきか否かを判定する。TTC算出部24の出力情報を通知すべき場合はステップS9に進む。一方、通知せずともよい場合はステップS10に進む。たとえば、検出対象物の位置が自車から所定の距離以内の位置である場合や、TTCが所定時間以内である場合にはユーザに通知すべきと判定するとよい。なお、このステップS8は実行されずともよい。
【0043】
次に、ステップS9において、警告部25は、自車の運転者に対してスピーカ18を介した音声出力およびブザー出力ならびに表示装置19に対する警告表示の少なくとも1つにより、TTC算出部24の出力情報を自車の運転者に通知してステップS10に進む。たとえば、警告部25は、正規化画像と自車から検出対象物までの距離およびTTCの情報を示す画像とを重畳して表示装置19に表示する。また、警告部25は、灯火装置16の点滅(いわゆるパッシング)やクラクション17の警告音により、自車両の外部に対して警告通知してもよい。
【0044】
次に、ステップS10において、制御部12は一連の手順を終了するか否かを判定する。たとえば自車が所定時間以上停車している場合や運転者による入力指示があった場合には一連の手順は終了となる。手順を続行する場合はステップS2に戻り、カメラ11から次のフレームの画像を取得してステップS3−S9の処理を繰り返す。
【0045】
以上の手順により、カメラ11により取得された画像から生成されたピラミッド画像を用いて処理画像内に含まれる検出対象物を検出しつつ、検出した検出対象物のTTC(衝突するまでの時間)を精度よく予測することができる。
【0046】
(辞書の生成)
ここで、本実施形態に係る辞書生成部21により生成される辞書について説明する。
【0047】
図3は、辞書生成部21による辞書の生成時に設定される所定の範囲44の一例を示す説明図である。
【0048】
本実施形態では、広画角のカメラ11を用い、自車41の進行方向に平行に真後ろを向いた視線軸40の処理画像を生成する(
図3参照)。本実施形態に係る辞書生成部21は、
図3に示すような視線軸40と検出対象面法線方向の位置関係で検出対象物42を検出することができるよう、カメラ11の所定の視線軸40と、検出対象物42の検出対象面の法線方向と、が平行となるように検出対象物42をカメラ11の撮像範囲内の所定の範囲44の複数の位置に配置して、カメラ11により複数の位置のそれぞれで事前に検出対象物42を撮像した画像を用いてあらかじめ1つの辞書を生成する。
【0049】
所定の範囲44は、検出部23が検出対象とする範囲である。撮像画像の中心から大きくずれた位置では中心に比べて形状が大きく変化する。このため、所定の範囲44は、形状変化があまり大きすぎることのない範囲とするとよく、たとえば自車41の進行方向に平行な視線軸40から、自車41の外側に向かって30度から60度くらいまで(たとえば45度まで)の範囲とする。また、検出対象物42がトラックやバスなどの場合、検出対象面はより平行とみなせる。このため、所定の範囲44は、自車41の進行方向に平行な視線軸40から、自車41の外側に向かって85度くらいまで範囲を広げてもよい。
【0050】
また、たとえば視線軸40から自車41の外側に向かって45度を超える範囲とする場合、検出対象物42の側面も見えるようになる。このため、45度を超える範囲とする場合は、検出対象物42の側面を検出対象面とし、視線軸40を側面の法線方向(自車41の進行方向に垂直な方向)と平行にした辞書を別に生成しておいてもよい。
【0051】
このとき、検出対象面は車両前方の一部の側面やタイヤなどの小さな領域としてもよい。視線軸40を側面の法線方向に平行とする場合の辞書において切り出す検出対象面を小さな領域とすれば、遠くほど解像度が少なくなる影響や遠くほど検出対象物42の側面が(完全な平面でないと)歪んでしまう影響を低減することができる。
【0052】
図3には、自車41が走行する車線の隣の車線を走行して自車41から接近する他車を検出することを想定し、カメラ11から所定の距離以内までは視線軸40から自車41の外側に向かって45度までの範囲を、カメラ11から所定の距離より遠くでは視線軸40から自車外側に向かって所定距離の範囲を、所定の範囲44とする場合の例について示した。
【0053】
(ピラミッド画像生成)
続いて、本実施形態に係る処理画像生成部22により生成されるピラミッド画像について説明する。
【0054】
図4は、カメラ11が左右および後部に設けられ、自車41に並走する他車の前面を検出する場合における各カメラ11の視線軸40および投影面43の一例を示す説明図である。自車41に並走する他車の前面を検出する場合、処理画像生成部22は、カメラ11の撮像画像にもとづいて自車41の進行方向に平行で後方に向かう視線軸40をもつ投影面43に透視投影された処理画像を生成する。
【0055】
また、カメラ11を左右および前部に設け、自車41に並走する他車の後面を検出してもよい。自車41に並走する他車の後面を検出する場合、処理画像生成部22は、カメラ11の撮像画像にもとづいて自車41の進行方向に平行で前方に向かう視線軸40をもつ投影面43に透視投影された処理画像を生成する。
【0056】
また、カメラ11を左右、前部および後部に設け、自車41に並走する他車の側面を検出してもよい。自車41に並走する他車の側面を検出する場合、処理画像生成部22は、カメラ11の撮像画像にもとづいて自車41の進行方向に垂直な視線軸40をもつ投影面43に透視投影された処理画像を生成する。
【0057】
他車の前面、側面および後面を検出する場合は、各視線軸40に対応する個別の辞書を利用する。これらの辞書は辞書生成部21によりあらかじめ生成される。もちろん、全てに対応する辞書を用意しておき全ての検出対象面(他車の前面、後面および側面)を検出対象としてもよい。
【0058】
図5は、処理画像生成部22により生成されるピラミッド画像50の一例を示す説明図である。なお、
図5には、最も縮小された画像(解像度が低い画像)から順に番号を0〜16として示した。また、
図5には、複数の処理画像を拡大縮小率に応じて近距離用画像、中距離用画像、遠距離用画像にそれぞれ分類する場合の例について示した。また、
図5には、近距離用画像(0−8)が互いに1.3倍の拡大率、中距離用画像(9−12)が互いに1.19倍の拡大率、遠距離用画像(13−16)が互いに1.19倍の拡大率である場合の例について示した。
【0059】
本実施形態において、辞書生成部21により生成される辞書は、検出対象物42に応じた所定サイズ(たとえば横×縦が24×12ピクセルなど)の画像に対応したものである。この場合、検出部23は、処理画像上で所定サイズの枠(たとえば24×12ピクセルなど)を走査することになる。一方、処理画像上での検出対象物42の大きさは、自車41からの距離に応じて異なる。たとえば検出対象物42が自車41から遠い場合は、近い場合に比べて検出対象物42は処理画像上で小さく写ることになる。
【0060】
このため、処理画像生成部22は、自車41から設定される投影面43の距離が互いに異なる複数の処理画像により構成される画像群(ピラミッド画像)50を生成する。このとき、処理画像生成部22は、各処理画像が検出対象面の法線方向に平行な視線軸40を有するように、すなわち辞書生成に用いられた視線軸40と同一の視線軸40を有するように、各処理画像を生成する。
【0061】
処理画像上の検出対象物42のサイズが枠のサイズと一致する場合における自車41から検出対象物42までの距離は、あらかじめ測定しておくことができる。たとえば、枠の縦幅がhで画像の焦点距離をf、実際の縦幅がSとすると、検出対象物までの距離Dは次のように書ける。
D=f・S/h
【0062】
このため、各処理画像は、あらかじめ自車41から検出対象物42までの距離と関連付けておくことができる。小さい処理画像ほど、関連付けられる自車41からの距離が短い。なお、ここでの処理画像の面は平面であるため、各処理画像での距離は、視線軸方向に対しての距離である。処理画像の面は円柱状や球状としてもよい。たとえば面を円柱にした場合、焦点距離は円(2次元)方向となり、検出対象物42までの距離は円(2次元)方向となる。また、たとえば面を球にした場合、焦点距離は球(3次元)方向となり、検出対象物42までの距離は球(3次元)方向となる。
【0063】
なお、各処理画像は、自車41からの互いに異なる距離と関連付けることができればよく、カメラ11の撮像画像を複数の倍率で拡大縮小することにより生成されてもよいし、自車41から検出対象物42までの距離(たとえば2mなど)ごとに生成されてもよい。
【0064】
処理画像生成部22は、自車41から所定の距離ごとに投影面43を設定し、この各投影面43を用いて撮像画像にもとづいて各処理画像を生成する。
【0065】
各投影面43が同一の視線軸40を有する場合、検出部23はピラミッド画像50を構成する全ての処理画像に対して1つの辞書を適用することができる。ピラミッド画像50が生成されると、検出部23は、各処理画像上で所定サイズの枠を走査し、HOG特徴量にもとづいてHOG辞書を用いて得られる検出枠とその推定距離を求める。
【0066】
(走査枠)
図6は、検出対象物42が自動車である場合における走査枠(HOG処理対象となる領域(検出対象面))について説明するための図である。
【0067】
HOG処理部31は、処理画像上で検出対象物42の検出対象面(HOG処理領域)に応じたサイズの走査枠を走査し、HOG辞書を用いてHOG特徴量を求めることにより走査位置ごとに尤度を求める。この尤度にもとづいてHOG結果選定部33により検出枠が求められる。
【0068】
検出対象面は、完全な平面でなくともある程度平面とみなせる領域であることが好ましい。このため、検出対象物42が自動車であって視線軸40が自車41の進行方向に平行である場合は、検出部23は自動車(他車)の前面のライトあたりを検出対象面とするとよい。フロントガラス部分はライトよりも自車41から見て奥に位置するため、近くで自車41の横に位置する場合にはフロントガラス部分とライトあたりでは横位置がずれて処理画像が作成されてしまうためである。
【0069】
なお、自車41から遠くの位置のみを所定の範囲44とする場合は、フロントガラス部分とライトあたりの奥行きが相対的に同じぐらいになるため、フロントガラスを含む自動車全体を検出対象面(HOG処理領域)としてもよい。
【0070】
また、視線軸40が自車41の進行方向に垂直である場合は、他車の側面を検出対象面とすればよい。なお、検出対象面は車両前方の一部の側面やタイヤなどの小さな領域としてもよい。検出対象面を小さな領域とすれば、遠くほど解像度が少なくなる影響や遠くほど検出対象物42の側面が(完全な平面でない場合に)歪んでしまう影響を低減することができる。
【0071】
この辞書は、1つのみで、広画角のカメラ11により撮像される画像上に写った検出対象物42が画像中心から離れた位置に写っており、かつ画像中心に写った場合に比べて形状が歪んでいる場合にも対応したものである。このため、広画角なカメラ11を用いて広範囲を撮像した画像上において検出対象物42の形状が歪んでいても、検出部23は、1つの辞書で誤検出を抑制しつつ柔軟に安定して検出対象物42を検出することができる。
【0072】
また、画像処理装置10は、1つの辞書で広い範囲に位置する検出対象物42を検出することができる。このため、複数の辞書を用いる場合に比べ、必要となる記憶容量を大幅に低減することができるとともに、検出処理にかかる負荷を低減し処理時間を削減することができる。また、画像処理装置10は、他車が自車41に近い場合は、視線軸40を自車41の進行方向に垂直な方向とするとともに所定の範囲44を自車41の進行方向に沿った広い範囲とし、検出対象面を他車の側面や検出対象とすることもできる。このため、特にサイドミラー付近にカメラ11を設けておく場合、自車41を追い越す他車を自車41の近くまで監視することができる。
【0073】
(検出対象物に応じた走査枠の設定)
検出対象物42が自動車である場合は、HOG処理により処理画像において検出対象物42として尤度の高い検出枠を、基準とした正規化画像に枠の大きさや位置を正規化した検出枠の縦幅Hhおよび横幅Hwと、検出対象面の実際の縦幅Ohおよび横幅Ow(たとえば前面のライトあたりであれば縦幅Oh0.5mおよび横幅Ow1.7mなど)とを関連付けておくことができる。このため、正規化画像上の検出枠の位置および大きさの情報にもとづいて、検出対象物42の自車41からの距離を求めることが可能である。
【0074】
一方、検出対象物42のサイズがさまざまある場合、地面位置が限定されていれば処理は容易である。処理画像上で、地面の位置は遠い地面ほど上になる。地面ごとに考えれば、1つの処理画像内で走査は横方向だけである。そこで、検出部23は、検出対象物42のサイズを複数に分類して分類サイズごとに互いに異なるサイズの走査枠を設け、ピラミッド画像50を構成する複数の処理画像の各画像上でこの分類サイズごとの走査枠のそれぞれを走査する。
【0075】
検出対象物42のサイズがさまざまある場合としては、たとえば検出対象物42が人物である場合が挙げられる。人物の縦幅(身長)は、年齢などによって大きな幅がある。
【0076】
図7(a)は、焦点距離をfとした正規化画像の一例を示す説明図であり、(b)は、検出対象物42が人物であって走査枠の縦幅Ohを3種に分類する場合の様子の一例を示す説明図である。
【0077】
図7(a)に示すように地面位置が限定されていれば、検出対象物42をある程度の大きさごとに走査枠を設定できる。この場合、各走査枠による走査により得られた検出枠ごとに同じ縦幅Ohを有するものとみなして計算すればよい。
【0078】
検出対象物42が人物の場合、たとえば
図7(b)に示すように検出対象物42の実際の縦幅OhをOh1=0.75m(0.45m〜1.05m)、Oh2=1.25m(0.95m〜1.55m)、Oh3=1.75m(1.45m〜2.05m)の3通りに分類する。分割した中間の高さの人物の場合、重複して検出することになるが、その場合、より多くの検出枠が得られた方や、尤度が高い方を採用するとよい。
【0079】
図8(a)は、地面に立っている人物を検出した焦点位置画像の一例を示す説明図であり、(b)は、(a)に示す例における検出枠の下端Hybの算出方法を説明するための図である。
【0080】
カメラ11の地面からの高さをCh、検出対象物42の実際の縦幅をOhi(ただしi=1、2、3)、焦点位置画像上の検出枠の縦幅をHhi(ただしi=1、2、3)、焦点位置画像上の視線軸中心の座標を(px、py、f)とする。この場合、
図8(a)に示すように検出枠の下辺が地面位置のとき、焦点位置画像上での検出枠の下端Hbyi(ただしi=1、2、3)の位置は、次のように書ける。
Ohi : Hhi = Ch : (Hybi - py)
Hybi = (Hhi・Ch / Ohi) + py
【0081】
このように、実際の縦幅を範囲として設定することにより(たとえば上記例ではOh1は0.45m〜1.05mの範囲)、縦方向の位置はマージンをもつことになり、その領域のみを走査枠とすると。この結果、検出枠は分類された各縦幅と近いものだけ(上記例では縦幅との差が0.3m以内)となる。したがって、検出対象物42は、各走査枠による走査により得られた検出枠ごとに同じ縦幅Ohを有するものとみなして計算することができる。
【0082】
図9は、地面から所定の高さだけ浮いている人物を検出した焦点位置画像の一例を示す説明図である。
【0083】
図9に示すように地面から所定の高さΔOhi(ただし、i=1、2、3)だけ浮いたものを検出する場合には、焦点位置画像上での検出枠の下端Hybi(ただしi=1、2、3)の位置は、
Hybi = [Hhi・(Ch -ΔOhi) / Ohi] + py
【0084】
と書け、検出枠の下辺が地面位置のときと同様に処理することができる。
【0085】
(TTCの算出手順の概略)
続いて、本実施形態に係るTTC算出部24によるTTC(衝突までの時間)の算出方法について説明する。
【0086】
図10は、
図2のステップS7でTTC算出部24により実行されるTTC算出処理の手順の一例を示すサブルーチンフローチャートである。
【0087】
ステップS11において、TTC算出部24は、HOG結果選定部33により出力された検出枠を取得する。
【0088】
次に、ステップS12において、TTC算出部24は、検出枠から検出対象物42の推定距離を算出する。
【0089】
次に、ステップS13において、TTC算出部24は、推定距離の履歴とピラミッド画像距離にもとづいて、有効距離を複数選定し、選定した有効距離と各有効距離に対応する推定距離の取得時間とを関連付けて記憶部13に記憶させる。
【0090】
次に、ステップS14において、TTC算出部24は、複数の有効距離を用いて検出対象物42の速度を算出する。
【0091】
そして、ステップS15において、TTC算出部24は、算出した速度を用いて検出対象物42が自車41に衝突するまでの時間TTCを求め、
図2のステップS8に進む。なお、TTCは検出対象物42が自車41から所定の距離Dcの位置に達するまでの時間としてもよい。
【0092】
以上の手順により、推定距離の履歴とピラミッド画像距離を用いることで、正確なTTCを求めることができる。
【0093】
(有効距離の選定方法)
次に、有効距離の選定方法について説明する。なお、以下の説明では、
図3に示す例におけるz方向の距離の求め方について示すが、x方向についても同様に求めることができる。
【0094】
図11は、有効距離の第1の選定方法について説明するための図である。
【0095】
有効距離の第1の選定方法は、検出される枠が1つである場合や最も尤度が高い結果1つを選んだ場合(検出枠の距離がピラミッド画像距離の1つに一致する場合)に、ピラミッド画像距離を用いつつ、推定距離の履歴により推定距離をスムージングする方法である。
【0096】
ピラミッド画像距離が、自車41に近い順にDzp0、Dzp1、Dzp2、Dzp3、・・・である場合を考える。このとき、各距離Dzp0、Dzp1、Dzp2、Dzp3、・・・に対して、隣接する処理画像間の距離Δdの所定の割合r(たとえば0.2など)の距離r・Δdだけ所定の幅を持たせた範囲を各処理画像の所属範囲とする。すなわち、各処理画像は、自車41から見て近方の境界61から遠方の境界62までを所属範囲とする。
【0097】
有効距離の第1の選定方法では、TTC算出部24は、今回の推定距離αを、前回の推定距離βに応じた以下の補正式で補正した補正推定距離を求めることにより、推定距離をスムージングする。
補正推定距離=β+(α−β)・c
【0098】
ここで、比例定数c(0<c≦1)は検出対象物42の最大相対速度に応じて決めるとよい。たとえば、今回の推定距離以上の一番近いピラミッド画像距離をDzpiとし、次に近いピラミッド画像距離をDzpjとする。最大相対速度(1回の処理中に進む距離)をvmaxとすると、2つのピラミッド間を通過する最小時間(処理回数)tminは、
tmin = (Dpzi-Dpzj)/vmax
【0099】
と書け、比例定数cは比例定数c0をかけて、次のように書ける。
c = c0/tmin
【0100】
ここで、比例定数c0は例えば1であり、比例定数cは例えば最大0.2、最小0.05でリミットしてもよい。または、単に最大相対速度で前回の推定距離βからの移動量をリミットした補正推定距離としてもよい。または、隣接するピラミッド画像距離が長いほど時間当たりの処理回数を減らしてもよい。
【0101】
TTC算出部24は、この今回の補正後の推定距離(
図11の直線参照)がある処理画像の所属範囲内または前回の推定距離がこの処理画像の所属範囲の逆側であるとともに、直近に格納された有効距離がこの処理画像に所属していないとき、今回の補正後の推定距離または今回の推定距離を有効距離として選定して、今回の推定距離の取得時間とともに記憶部13に記憶させる。
【0102】
たとえば、
図11の時間t=t2において、今回の補正後の推定距離はDzp2の遠方境界62に進入しており、Dzp2の所属範囲にある。また、t=t2の前回の推定距離はDzp2であるものの(t=t2の1つ左の×参照)、前回の補正後の推定距離はいずれの処理画像の所属範囲にも属さない。このため、TTC算出部24は、今回の補正後の推定距離Dzp2+γまたは今回の推定距離Dzp2を有効距離として選定して、今回の推定距離の取得時間t2とともに記憶部13に記憶させる。
【0103】
なお、一度に複数の処理画像をまたいだ場合は、またいだ処理画像の距離は無視し、今回の補正後の推定距離が属する処理画像、またはまたいだ一番近くの処理画像を所属範囲にあるとし、その推定距離を有効距離とすればよい。
【0104】
第1の選定方法によれば、飛び飛びの値である処理画像の距離を単発的に用いる場合に比べ、安定して検出対象物42の位置および速度を求めることができる。
【0105】
図12は、有効距離の第2の選定方法について説明するための図である。
【0106】
有効距離の第2の選定方法は、検出される枠が1つである場合や最も尤度が高い結果1つを選んだ場合(検出枠の距離がピラミッド画像距離の1つに一致する場合)に、推定距離をスムージングさせる代わりに、推定距離が所定回数連続して1つの処理画像の所属範囲内もしくは直近に格納された有効距離の逆側の所属範囲外であるときに有効距離とする方法である。
【0107】
たとえば連続とする回数を3回とすると、TTC算出部24は、ある処理画像の所属範囲内に3回連続で属した時の推定距離を取得時間とともに記憶部13に記憶させる(
図12参照)。
【0108】
第2の方法によっても、飛び飛びの値である処理画像の距離を単発的に用いる場合に比べ、安定して検出対象物42の位置および速度を求めることができる。
【0109】
図13(a)は、有効距離の第3の選定方法について説明するための焦点位置画像の一例を示す説明図であり、(b)は(a)に示す例における自車41から検出対象物42までの距離Dzの演算方法を説明するための図である。
【0110】
有効距離の第3の選定方法は、複数の有効な結果の単純な平均、尤度による加重平均などの場合(検出枠の距離がピラミッド画像距離の1つに一致しないことがある場合)に、検出枠の大きさHh、Hwと検出対象物42の実際の大きさOh、Owにもとづいて自車41から検出対象物42までの距離Dzを演算する方法である。
【0111】
焦点距離をf、正規化画像上の視線軸中心の座標を(px、py、f)、正規化画像上の検出枠の縦幅、横幅および中心座標をHh、Hwおよび(Hx、Hy、f)、検出対象物42の実際の縦幅および横幅をOhおよび横幅Owとする。このとき、自車41から検出対象物42までのz方向の距離Dzおよびx方向の距離Dxは、それぞれ次のように表せる。
Dz=f・Ow/Hw
Dx=(Hx-px)・Dz/f
【0112】
この演算により得られる距離Dzは、検出対象物42の速度や処理画像の配置の分解能(距離間隔)にもよるが、処理画像の距離Dzp0等に近くなると予想される。このため、演算により得られた距離Dzがある処理画像の所属範囲内(たとえばDzp2+γ)であるときには、この処理画像に関連付けられた自車41からの距離(たとえばDzp2)を今回の推定距離としてあつかう。また、第1の選定方法と同様に、推定距離をスムージングしてもよい。
【0113】
なお、これら第1から第3の選定方法において、全ての処理画像の距離を処理対象とせずに間引いて処理して負荷を低減してもよい。
【0114】
(TTCの算出手順の詳細)
TTC算出部24は、記憶部13に格納された有効距離が3つ以上となると、TTCを計算するとよい。TTCは、2点の有効距離とその取得時間および現在の時間がわかれば計算できる。しかし、最初に格納される有効距離は、当該処理画像の所属範囲にその時に突入したか否かが判別できないため使用しないことが好ましい。このため、格納された値が3つ以上必要となる。
【0115】
図14は、有効距離にもとづくTTC算出方法を説明するための図である。なお、
図14には
図11に示す有効距離の第1の選定方法を用いる場合の例について示すとともに煩雑さを避けるため近方境界61および遠方境界62を省略して示した。
【0116】
まず、時間的に直近に格納された2つの有効距離およびその取得時間を用いて検出対象物42の速度v1を求める。
【0117】
たとえば、現在の時刻をt=t、時間的に直近に格納された2つの有効距離およびその取得時間をそれぞれ(Dzp1、t1)、(Dzp2、t2)である場合を考える。この場合、速度v1は次のように表せる。
v1=(Dzp2−Dzp1)/(t1―t2)
【0118】
このとき、検出対象物42が短時間で急峻な動きをしないことがわかっている場合には、短時間とする時間(たとえば1秒)以内に2点より多く有効距離が格納された場合、その時間内の有効距離で直近と一番過去での計算や、平均や最小2乗法などによって速度v1を計算してもよい。
【0119】
この速度v1を用いると、検出対象物42が自車41から所定の距離Dcの位置に達するまでの時間TTCは次のように書ける。
TTC=(Dzp1―Dc)/v1−(t−t1)
【0120】
ここで、TTCは、検出対象物42が速度v1で移動すると仮定した場合に、検出対象物42が自車41から距離Dcの位置に達する時間を表す。
【0121】
図15は、検出対象物42と自車41との相対速度が低下した場合にTTCを再計算する方法を説明するための図である。
【0122】
図15に示すように、ある処理画像(
図15に示す例ではDzp1)の所属範囲に達した後、検出対象物42と自車41との相対速度がほぼゼロとなる場合がある。この場合、検出対象物42は、当該処理画像の所属範囲で停滞したように見える。このため、
図14に示す方法で算出した速度v1にもとづいて算出したTTCよりも、実際のTTCは長くなる。
【0123】
たとえば、
図14および
図15に示す例において、現在の時間t=tが速度v1にもとづいて予測されるDzp0に到達するはずの時間になっても、いまだに検出対象物42がDzp0に到達しない場合の条件は、次のように表せる。
t−t1>(Dzp1―Dzp0)/v1
【0124】
そこで、v1の算出時に検出対象物42が属していた処理画像の距離(
図14および
図15に示す例ではDzp1)から次の処理画像の距離(同例ではDzp0)に今まさに到達したと仮定し、直近の有効距離およびその取得時間(Dzp1、t1)を用いて速度を再計算する。再計算速度をvとすると、今現在t=tでDzp0に到達したと仮定したことから、vは次のように表せる。
v=(Dzp1―Dzp0)/(t−t1)
【0125】
この再計算速度vを用いると、TTCは次のように再計算することができる。
TTC´=(Dzp0−Dc)/v
【0126】
ここで、TTC´は再計算速度vにより上記式により再計算されたTTCを表すものとする。また、誤差で停滞していることを考慮し、到達するはずの時間から所定の期間は、停滞しているとしてTTC´を大きくするのではなく、同じ値で更新したりそのまま近づいてきているとして小さくしたりしてもよい。
【0127】
また、処理画像の所属範囲で停滞したように見える原因が誤検出などの何らかのトラブルである場合、実際には検出対象物42が自車41に接近してしまっている場合がある。この場合、検出対象物42が短時間で急峻な動きをしないことがわかっている場合には、たとえば相対加速度の大きさがaより大きくならないとして速度vを計算してもよい。直近の2点の有効距離から求めた速度v1にもとづいて予測される速度vの範囲は、t=t1からの速度v1の変化量を相対加速度で予測して次のように書ける。
v1 - a・(t-t1) ≦ v ≦ v1 + a・(t-t1)
【0128】
そこで、この範囲で速度vを設定してTTCを計算してもよい。また、相対加速度はカメラ11(自車41)と検出対象物42との相対加速度であるため、画像処理装置10が車両情報取得部14を備える場合は、カメラ11(自車41)の加速度や速度を車両情報取得部14から取得してオフセットし、検出対象物42の加速度の範囲を決定してもよい。
【0129】
また、
図15に示す例において再計算した速度vおよび再計算したTTC´を用いて、検出対象物42の現在の距離Dzを再計算してもよい。
Dz´=Dc+v・TTC´
ここで、Dz´は再計算した現在の距離を表すものとする。
【0130】
なお、上記説明ではz方向に沿った距離Dzに関する処理について示したが、x方向に沿った距離Dxについても同様に処理してもよいし、推定距離のスムージングのみをおこなってもよい。
【0131】
また、再計算した現在の距離Dz´を用いて処理画像上の検出枠の位置を修正してもよい。
【0132】
図16(a)は、検出枠の下端が地面からDyだけ上にある場合の焦点位置画像の一例を示す説明図であり、(b)は(a)に示す例において再計算距離Dz´を用いて処理画像上の検出枠の位置を修正する方法を説明するための図である。
【0133】
たとえば、検出枠の下端や上端やその中間の地面からの高さをDyとする。また、検出枠の内側に地面があり、枠の下端が地面よりも下に埋もれている場合には、地面からの高さDyはマイナスとなる。なお、Dyが地面からの高さではない場合、Dyは固定値としておいてもよいが、検出対象物42の種別や大きさによって高さDyが変わって見えることが想定されるため、過去の検出したときの検出枠の大きさとそれによる推定距離と下辺位置から、地面からの高さを計算しておき、その平均や最小2乗法の結果により高さDyを計算しておいてもよい。
【0134】
例えば、カメラ11の地面からの高さをCh、検出枠の下辺の位置をHybとすると、Dyは次式で表せる。
Dz:f=(Ch−Dy):(Hyb−py)
Dy=Ch−(Hyb−py)・Dz・f
【0135】
また、カメラ11の高さChを用いない式とする場合は、Dyのかわりに水平線からの位置Dy´を用いた次の式を利用するとよい。
Dz:f=Dy´:(Hyb−py)
Dy´=(Hyb−py)・Dz・f
【0136】
以上説明したように、本実施形態に係る画像処理装置10は、飛び飛びの距離に関連付けられた処理画像(ピラミッド画像の構成画像)を用いたHOG処理の結果から推定距離を求め、推定距離の履歴とピラミッド画像距離を用いてTTCを算出することができる。このため、画像処理装置10は、カメラ11により取得された画像から生成されたピラミッド画像を用いて処理画像内に含まれる検出対象物42を検出しつつ、検出した検出対象物42のTTC(衝突するまでの時間)を精度よく予測することができる。
【0137】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0138】
たとえば、画像処理装置10が利用する撮像画像は、車両に設けられたカメラ11の撮像画像でなくともよく、たとえば街灯に設置されたカメラなどの一般的な周辺監視カメラにより撮像された画像であってもよい。