(57)【特許請求の範囲】
【請求項１】
画像を処理する画像処理装置であって、
車両の周囲を撮影する撮影装置から撮影画像を取得する画像取得手段と、
前記取得した撮影画像に対して、運転を支援する支援画像を重畳させた表示画像を生成する画像生成手段と、
前記車両の移動又は静止を判定する判定手段と、を備え、
前記支援画像は、予め定められた領域に線を描画した第１支援画像と、車両の予測された移動経路に線を描画した第２支援画像とを含み、
前記画像生成手段は、前記判定手段の判定結果が移動状態のときは前記第１及び第２支援画像を重畳させた表示画像を生成し、静止状態のときは前記第１支援画像のみを重畳させた表示画像を生成することを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記画像生成手段は、車両が移動状態から静止状態へ変化したときは、前記第１支援画像のみを重畳させた表示画像を生成する前に、第１支援画像と、移動経路の線の長さが移動状態のときよりも短い第２支援画像とを重畳させた表示画像を生成することを特徴とする画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置において、
前記車両の移動量を導出する移動量導出手段をさらに備え、
前記判定手段は、前記導出した移動量に基づいて車両の移動又は静止を判定することを特徴とする画像処理装置。
【請求項４】
車両の運転を支援する運転支援システムであって、
車両の周囲を撮影する撮影装置と、
前記撮影装置が撮影した撮影画像を処理して表示画像を生成する画像処理装置と、
前記表示画像を表示する表示装置と、を備え、
前記画像処理装置は、
前記撮影画像を取得する画像取得手段と、
前記取得した撮影画像に対して、運転を支援する支援画像を重畳させた表示画像を生成する画像生成手段と、
前記車両の移動又は静止を判定する判定手段とを備えており、
前記支援画像は、予め定められた領域に線を描画した第１支援画像と、車両の予測された移動経路に線を描画した第２支援画像とを含み、
前記画像生成手段は、前記判定手段の判定結果が移動状態のときは前記第１及び第２支援画像を重畳させた表示画像を生成し、静止状態のときは前記第１支援画像のみを重畳させた表示画像を生成する
ことを特徴とする運転支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の運転を支援する技術に関する。
【背景技術】
【０００２】
従来より、自動車などの車両の運転を支援するための各種の運転支援システムが提案されている。このような運転支援システムとしては、車両を後退させて駐車枠内に駐車させる操作を支援するためにガイドラインを表示するものがある。例えば、車両に設置されたカメラの画像から導出した移動ベクトルに基づいて推定した回転角や車両速度を用いて車両の予測通過エリアに対応するガイドラインを表示するものがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2009-17462号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、車両が移動している際の表示については記載されているものの、停止しているときや移動から停止に変化しているときなどの表示については考慮されていない。仮に、移動から停止に変化した場合においても直前のガイドラインが表示されているとすると、停止中にステアリングを回した場合などにはタイヤの角度が変化しているため、その後の移動の際にガイドラインと異なる方向に車両が進んでしまう可能性がある。すなわち、ドライバに対して誤った情報を提供することになるため運転支援のためのシステムとしては問題がある。
【０００５】
本発明は、上記課題に鑑みてなされたものであり、車両の移動及び停止の各状態をも考慮して正確な運転支援を行うことが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、請求項１の発明は、画像を処理する画像処理装置であって、車両の周囲を撮影する撮影装置から撮影画像を取得する画像取得手段と、前記取得した撮影画像に対して、運転を支援する支援画像を重畳させた表示画像を生成する画像生成手段と、前記車両の移動又は静止を判定する判定手段と、を備え、前記支援画像は、予め定められた領域に線を描画した第１支援画像と、車両の予測された移動経路に線を描画した第２支援画像とを含み、前記画像生成手段は、前記判定手段の判定結果が移動状態のときは前記第１及び第２支援画像を重畳させた表示画像を生成し、静止状態のときは前記第１支援画像のみを重畳させた表示画像を生成する画像処理装置である。
【０００８】
また、請求項２の発明は、請求項１に記載の画像処理装置において、前記画像生成手段は、車両が移動状態から静止状態へ変化したときは、前記第１支援画像のみを重畳させた表示画像を生成する前に、第１支援画像と、移動経路の線の長さが移動状態のときよりも短い第２支援画像とを重畳させた表示画像を生成する。
【０００９】
また、請求項３の発明は、請求項１または２に記載の画像処理装置において、前記車両の移動量を導出する移動量導出手段をさらに備え、前記判定手段は、前記導出した移動量に基づいて車両の移動又は静止を判定する。
【００１０】
また、請求項４の発明は、車両の運転を支援する運転支援システムであって、車両の周囲を撮影する撮影装置と、前記撮影装置が撮影した撮影画像を処理して表示画像を生成する画像処理装置と、前記表示画像を表示する表示装置と、を備え、前記画像処理装置は、前記撮影画像を取得する画像取得手段と、前記取得した撮影画像に対して、運転を支援する支援画像を重畳させた表示画像を生成する画像生成手段と、前記車両の移動又は静止を判定する判定手段とを備えており、前記支援画像は、予め定められた領域に線を描画した第１支援画像と、車両の予測された移動経路に線を描画した第２支援画像とを含み、前記画像生成手段は、前記判定手段の判定結果が移動状態のときは前記第１及び第２支援画像を重畳させた表示画像を生成し、静止状態のときは前記第１支援画像のみを重畳させた表示画像を生成する運転支援システムである。
【発明の効果】
【００１１】
請求項１ないし４の発明によれば、車両の移動又は静止に応じて異なる支援画像を重畳させるため、静止時と移動時とで異なる画像を表示することができる。その結果、静止時であるにも関わらず移動時の表示画像を表示することなく、正確な運転支援を行うことが可能となる。
【００１２】
また、特に請求項１の発明によれば、静止状態では第１支援画像のみを重畳させて表示画像を生成することから、移動状態での表示に用いる移動経路の線を描画した第２支援画像を用いることがなく正確な運転支援を行うことが可能となる。
【００１３】
また、特に請求項２の発明によれば、移動状態から静止状態に変化した場合であっても、第１支援画像のみを重畳させた表示画像を生成する前に、移動経路の線の長さが移動状態のときよりも短い第２支援画像も重畳させることで、静止状態に変化していくことを把握し易くなる。
【００１４】
また、特に請求項３の発明によれば、画像処理装置が画像処理によって車両の移動又は静止を判定することができるため、車両の移動又は静止を判定するためのセンサ等を別途設けることなく判定が可能になる。
【図面の簡単な説明】
【００１５】
【図１】図１は、運転支援システムのブロック図である。
【図２】図２は、カメラの撮影方向を示す図である。
【図３】図３は、運転支援システムの利用場面を示す図である。
【図４】図４は、自車両後方の撮影画像を示す図である。
【図５】図５は、運転支援システムの処理を示すフローチャートである。
【図６】図６（ａ）は撮影画像を示す図であり、図６（ｂ）は俯瞰画像を示す図である。
【図７】図７は、移動ベクトルの導出手法を説明する図である。
【図８】図８は、移動ベクトルのヒストグラムを示す図である。
【図９】図９は、旋回量導出処理を示すフローチャートである。
【図１０】図１０は、旋回判定処理を示すフローチャートである。
【図１１】図１１は、旋回中心の導出方法を説明する図である。
【図１２】図１２は、旋回中心の導出方法を説明する図である。
【図１３】図１３は、旋回中心の導出方法を説明する図である。
【図１４】図１４は、旋回中心の導出方法を説明する図である。
【図１５】図１５は、旋回判定処理を説明する図である。
【図１６】図１６は、旋回角度の導出方法を説明する図である。
【図１７】図１７は、並進量の導出方法を説明する図である。
【図１８】図１８は、並進量の導出方法を説明する図である。
【図１９】図１９は、車両状態判定処理を示すフローチャートである。
【図２０】図２０は、状態判定処理を示すフローチャートである。
【図２１】図２１（ａ）は固定ガイド線を説明する図であり、図２１（ｂ）は予測ガイド線を説明する図である。
【図２２】図２２は、描画するガイド線を説明する図である。
【図２３】図２３は、ガイド線の描画方法を説明するタイミングチャートである。
【図２４】図２４（ａ）及び（ｂ）は、ガイド線を含む表示画像を示す図である。
【図２５】図２５（ａ）及び（ｂ）は、ガイド線を含む表示画像を示す図である。
【図２６】図２６（ａ）及び（ｂ）は、ガイド線を含む表示画像を示す図である。
【図２７】図２７（ａ）及び（ｂ）は、移動ベクトルの導出方法を説明する図である。
【図２８】図２８は、移動ベクトルの導出手法を説明する図である。
【図２９】図２９は、移動ベクトルの導出手法を説明する図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しつつ本発明の実施の形態について説明する。
【００１７】
＜１．実施の形態＞
＜１−１．システムの構成＞
まず、本実施の形態の運転支援システム１０の構成について説明する。図１は、運転支援システム１０の概略構成を示すブロック図である。運転支援システム１０は、カメラ１と、画像処理装置２と、表示装置３とを備えている。この運転支援システム１０は、自動車などの車両に搭載されて当該車両の移動量や旋回量などを導出する機能を有している。また、運転支援システム１０は、導出した移動量や旋回量などを用いて、例えば駐車支援としてのガイド線を表示する等の機能を有している。以下では、運転支援システム１０が搭載される車両を「自車両」という。
【００１８】
カメラ１は、自車両の周辺を撮影して撮影画像を得るものである。このカメラ１は、レンズと撮像素子とを備えており、電子的に撮影画像を取得する。カメラ１は、所定の周期（例えば、１／３０秒周期）で繰り返し撮影画像を取得する。なお、カメラ１は、例えば、自車両の後部に設けられ、車両後方を撮影するバックカメラとして用いられる。ただし、これに限定されるものではなく、他の方向を撮影するカメラであっても適用可能であるし、複数のカメラを用いる構成とすることもできる。
【００１９】
図２は、カメラ１をバックカメラとして用いた場合に、カメラ１が撮影する方向を示す図である。図２に示すように、カメラ１は、自車両の後端の背面ドア９２に設けられ、その光軸１５は自車両の前後方向に沿って後方に向けられる。したがって、カメラ１は、自車両の後方を撮影して、自車両の後方の様子を示す撮影画像を取得する。また、このカメラ１のレンズには魚眼レンズが採用されており、カメラ１は、略１３５度の画角を有している。このため、カメラ１は、自車両の後方に広がる左右方向に略１３５度程度の領域を撮影することが可能である。
【００２０】
運転支援システム１０は、このカメラ１で得られた撮影画像を用いて自車両の移動量や旋回量を導出する。そして、運転支援システム１０は、導出した移動量や旋回量を用いて進行方向を推定し、撮影画像上にガイド線として推定した進行方向を重畳表示した画像を表示装置３にて表示する。これにより、ユーザは、自車両がこれから移動すると予想される経路を容易に把握することができる。
【００２１】
図３は、運転支援システム１０が利用される場面の一例を示す図である。図３においては、自車両を駐車場に駐車させようとしている場面を示している。図３は、駐車場への駐車動作の途中の状態を示しており、この場合のカメラ１で撮影した自車両後方の撮影画像は例えば図４のようになる。
【００２２】
図１に戻り、画像処理装置２は、カメラ１で取得した撮影画像に基づいて表示用の画像を生成し、表示装置３に出力するものである。この画像処理装置２は、画像取得部２１、画像生成部２２、メモリ２３、及び、制御部２４を備えている。
【００２３】
画像取得部２１は、カメラ１からアナログ又はデジタルの撮影画像を所定の周期（例えば、１／３０秒周期）で時間的に連続して取得する。そして、取得した撮影画像がアナログの場合には、画像取得部２１は、そのアナログの撮影画像をデジタルの撮影画像に変換（Ａ／Ｄ変換）する。画像取得部２１が処理した撮影画像の１つが、映像信号の１つのフレームとなる。
【００２４】
画像生成部２２は、画像取得部２１が取得した撮影画像を用いて移動量や旋回量を導出し、表示用の画像を生成する処理を実行する。画像生成部２２としては、例えば、そのような所定の処理が実行可能なＡＳＩＣやＦＰＧＡなどのハードウェア回路を用いることができる。画像生成部２２は、俯瞰画像生成部２２ａと、移動ベクトル導出部２２ｂと、移動量導出部２２ｃと、旋回量導出部２２ｄと、車両状態判定部２２ｅと、描画処理部２２ｆとを備えている。
【００２５】
俯瞰画像生成部２２ａは、画像取得部２１が取得した撮影画像から俯瞰画像を生成する機能を有している。例えば、俯瞰画像生成部２２ａは、画像取得部２１が取得した撮影画像の視点位置を自車両上方に変換し、再描画することで俯瞰画像を生成するようになっている。俯瞰画像生成部２２ａによって生成された俯瞰画像は、メモリ２４に記憶される。
【００２６】
移動ベクトル導出部２２ｂは、俯瞰画像生成部２２ａにて生成した俯瞰画像を用いて自車両の移動ベクトルを導出する機能を有している。例えば、移動ベクトル導出部２２ｂは、時間的に前後する撮影画像から生成された各俯瞰画像において、同じ被写体を表示している部分を抽出し、各表示位置の関係に基づいて移動ベクトルを導出する。
【００２７】
移動量導出部２２ｃは、移動ベクトル導出部２２ｂが導出した移動ベクトルを用いて自車両の移動量を導出する機能を有している。移動ベクトル導出部２２ｂが導出した移動ベクトルには、路面の移動ベクトルと立体物の移動ベクトルとが含まれている。路面の移動ベクトルとは、路面部分が移動した大きさや方向を示すベクトルである。自車両の移動量は、路面の移動ベクトルに対応しているので、移動量導出部２２ｃは、導出された移動ベクトルの中から路面の移動ベクトルを抽出し、その路面の移動ベクトルに基づいて自車両の移動量を導出する。
【００２８】
旋回量導出部２２ｄは、移動ベクトル導出部２２ｂが導出した移動ベクトルを用いて自車両の旋回量を導出する機能を有している。なお、本実施の形態における旋回量とは、後述する旋回方向や旋回角度、並進量などを含む概念である。旋回量導出部２２ｄは、移動量導出部２２ｃと同様に、導出された移動ベクトルの中から路面の移動ベクトルを抽出し、その路面の移動ベクトルに基づいて自車両の旋回量を導出する。また、旋回量導出部２２ｄは、導出した旋回量に基づいて自車両の移動経路を予測する機能も有している。
【００２９】
車両状態判定部２２ｅは、旋回量導出部２２ｄが導出した旋回量に基づいて自車両の状態を判定する機能を有している。自車両の状態とは、例えば、自車両の移動又は静止の状態を示す。つまり、車両状態判定部２２ｅは、自車両が移動しているか又は静止しているかを判定する。
【００３０】
描画処理部２２ｆは、画像取得部２１が取得した撮影画像に対して、運転支援用のガイド線を描画した表示画像を生成し、ＮＴＳＣなどの所定形式の映像信号に変換して表示装置３に出力する。描画処理部２２ｆは、車両状態判定部２２ｅが判定した車両状態に応じて描画するガイド線の種類や長さを変化させる。
【００３１】
例えば、自車両が静止している場合には、描画処理部２２ｆは、規定のガイド線を撮影画像に重畳した表示画像を生成して表示装置３に出力する。また、自車両が移動している場合には、描画処理部２２ｆは、規定のガイド線に加えて、予測した移動経路を示すガイド線を撮影画像に重畳した表示画像を生成して表示装置３に出力する。つまり、自車両が静止している場合と移動している場合とで異なるガイド線を重畳した表示画像を生成する。これにより、自車両の状態に応じたガイド線が描画された表示画像が表示装置３において表示される。
【００３２】
なお、これら俯瞰画像生成部２２ａ、移動ベクトル導出部２２ｂ、移動量導出部２２ｃ、旋回量導出部２２ｄ、車両状態判定部２２ｅ、及び、描画処理部２２ｆが実行する各処理の詳細については後述する。
【００３３】
メモリ２３は、俯瞰画像生成部２２ａにて生成された俯瞰画像を記憶する。本実施の形態では、移動ベクトル導出部２２ｂが、撮影タイミングの異なる複数の俯瞰画像を用いて移動ベクトルを導出するようになっている。このため、メモリ２３には、最新の俯瞰画像の他に、過去の俯瞰画像も記憶されている。つまり、メモリ２３には、移動ベクトルの導出に必要な俯瞰画像が記憶されている。なお、メモリ２３としては、揮発性の半導体メモリや不揮発性の半導体メモリを用いることができる。ただし、他の記憶媒体を用いてもよく、磁気ディスクを備えたハードディスクドライブで構成してもよい。
【００３４】
制御部２４は、例えば、ＣＰＵ、ＲＡＭ及びＲＯＭなどを備えたマイクロコンピュータであり、画像生成部２２を含む画像処理装置２の各部を制御する。制御部２４の各種の機能は、ソフトウェアで実現される。すなわち、制御部２４の機能は、ＲＯＭなどに記憶されたプログラムに従ったＣＰＵの演算処理（プログラムの実行）によって実現される。
【００３５】
表示装置３は、自車両の車室内におけるユーザ（主にドライバ）が視認可能な位置に配置され、各種の情報をユーザに報知する。特に本実施の形態では、表示装置３は、運転支援用の表示画像を表示する機能を有している。また、表示装置３は、目的地までのルートを案内するナビゲーション機能や、ユーザの操作を受け付けるタッチパネル機能を備えていてもよい。
【００３６】
＜１−２．システムの処理＞
次に、運転支援システム１０の処理について説明する。図５は、運転支援システム１０の処理を示すフローチャートである。
【００３７】
運転支援システム１０は、開始指示の入力があった場合や、自車両のギアがＲ（リバース）に入った場合などの所定の条件が成立すると、画像取得部２１がカメラ１による撮影画像を取得して、画像処理部２２に出力する。そして、画像処理部２２が俯瞰画像生成処理を実行する（ステップＳ１０１）。
【００３８】
具体的には、まず、俯瞰画像生成部２２ａが、画像取得部２１から撮影画像のデータを取得する。撮影画像はカメラ１の光軸が視点方向となっているため、俯瞰画像生成部２２ａは、視点方向を変換して、撮影画像を上方から見た俯瞰画像を生成する。なお、カメラの撮影画像から俯瞰画像を生成する方法は、既存の方法を用いることができる。
【００３９】
俯瞰画像生成部２２ａは、画像取得部２１が取得した各撮影画像に対応する俯瞰画像を生成する。つまり、俯瞰画像生成部２２ａは、フレーム毎に撮影画像から俯瞰画像を生成する。そして、俯瞰画像生成部２２ａは、生成した俯瞰画像をメモリ２３に記憶させる。
【００４０】
ここで、図６を用いて説明する。図６（ａ）は、カメラ１による撮影画像を示し、図６（ｂ）は、この撮影画像から生成された俯瞰画像を示している。俯瞰画像生成部２２ａは、図６（ａ）に示すような撮影画像を画像取得部２１から取得すると、この撮影画像の視点を変換して図６（ｂ）に示すような俯瞰画像を生成する。俯瞰画像生成部２２ａは、異なるフレームの撮影画像毎に俯瞰画像を生成する。
【００４１】
図５に戻り、次に、画像処理部２２は、移動ベクトル導出処理を実行する（ステップＳ１０２）。これは、移動ベクトル導出部２２ｂが、俯瞰画像生成部２２ａにて生成された俯瞰画像を用いて移動ベクトルを導出する処理である。
【００４２】
具体的には、移動ベクトル導出部２２ｂは、俯瞰画像生成部２２ａが生成した現フレームの俯瞰画像を取得すると共に、メモリ２３に記憶されている前フレームの俯瞰画像を取得する。そして、移動ベクトル導出部２２ｂは、これら前後フレームの各俯瞰画像を比較して、各俯瞰画像から同一の被写体を表示している画素を抽出する。そして、移動ベクトル導出部２２ｂは、前フレームで抽出した画素の位置（座標）と、後フレームで抽出した画素の位置（座標）とを結ぶことで移動ベクトルを導出する。つまり、同一の被写体が俯瞰画像上で移動した前後の点を結ぶベクトルが移動ベクトルとなる。
【００４３】
同一の被写体を表示している画素を抽出する方法としては、例えば、テンプレートマッチング手法を用いることができる。テンプレートマッチング手法とは、画像の中から、予め指定したテンプレート画像と似ている位置を探す手法である。本実施の形態で用いる場合には、例えば、前フレームの俯瞰画像の一部分の画像をテンプレートとして、後フレームの俯瞰画像と比較するといった処理を画像全体に渡って実行すればよい。このようなテンプレートマッチング手法としては、例えば、ＳＡＤ（Sum of Absolute Difference）やＳＳＤ（Sum of Squared Difference）等の手法を用いることができる。
【００４４】
また、テンプレートマッチング手法以外にも特徴点方式を用いることもできる。特徴点方式とは、いわゆる、オプティカルフローを用いた方式である。つまり、互いに異なる時点に取得された複数の撮影画像から生成された各俯瞰画像のそれぞれから特徴点を抽出し、複数の俯瞰画像間での特徴点の動きを示すオプティカルフローを導出する。特徴点とは、際立って検出できる点であり、例えば、物体のコーナー（エッジの交点）などの点である。そして、特徴点方式では、直近の俯瞰画像から抽出した特徴点と、過去の基準となる俯瞰画像から抽出した特徴点とを対応づけ、この対応付けられた各特徴点の位置に基づいて移動ベクトルを導出する。
【００４５】
ここで、移動ベクトルを導出する方法について図７を用いて説明する。図７は、特徴点方式を用いて移動ベクトルを導出する手法を説明する図である。図７は、図６で示す撮影画像から生成した俯瞰画像と同じである。図７に示すように、俯瞰画像中には、特徴点を示す黒丸と、前フレームの位置から後フレームの位置までに特徴点が移動した経路が示されている。移動ベクトル導出部２２ｂは、この特徴点が移動した方向及び向きを移動ベクトルとして導出する。
【００４６】
図５に戻り、次に、画像処理部２２は、移動量導出処理を実行する（ステップＳ１０３）。これは、移動量導出部２２ｃが、移動ベクトル導出部２２ｂにて導出された移動ベクトルを用いて自車両の実際の移動量を導出する処理である。
【００４７】
カメラ１で車両周辺を撮影した画像には、路面を表示する部分と、自動車等の立体物を表示する部分との双方が含まれていることが多い。路面は、平面であり移動物ではないため、路面の移動ベクトルは、全て略同じ方向及び略同じ大きさの移動ベクトルになる。一方、立体物の移動ベクトルは、その立体物の移動方向や高さなどに応じて、方向及び大きさの異なる移動ベクトルとなる。
【００４８】
このため、立体物の移動ベクトルは、自車両の移動量を正確に反映したものではなく、路面の移動ベクトルが自車両の移動量を正確に反映したものとなる。したがって、移動ベクトル導出部２２ｂが導出した移動ベクトルには、種々の方向及び大きさの移動ベクトルが含まれていることになるが、自車両の移動量を正確に導出するためには、その中から路面の移動ベクトルを抽出する必要がある。
【００４９】
一般的には、車両周辺を撮影した画像には、路面を表示する部分が最も多く含まれているため、通常は、路面に関する移動ベクトルが最も多い。そこで、本実施の形態では、全ての移動ベクトルについて大きさに関するヒストグラムを生成し、数が最も多い部分の移動ベクトルを、路面の移動ベクトルとして抽出する。そして、移動量導出部２２ｃは、抽出した路面の移動ベクトルの大きさを自車両の移動量として導出する。
【００５０】
ここで、具体的に図を用いて説明する。図８は、全移動ベクトルについての大きさに関するヒストグラムを示す図である。図８に示すヒストグラムは、移動ベクトルの大きさをＬ１〜Ｌ９の長さ範囲に分け、全移動ベクトルを各々の大きさに応じて分類分けし、その数を積算したものである。図８に示すように、移動ベクトルの数が最も多い大きさはＬ５に含まれる移動ベクトルである。このため、移動量導出部２２ｃは、路面の移動ベクトルが、このＬ５に含まれていると判定する。すなわち、移動量導出部２２ｃは、路面の移動ベクトルを抽出することができる。
【００５１】
そして、移動量導出部２２ｃは、抽出した路面の移動ベクトルの大きさを自車両の移動量として導出する。つまり、図８の場合には、Ｌ５が自車両の移動量として導出されることになる。
【００５２】
図５に戻り、次に、画像処理部２２は、旋回量導出処理を実行する（ステップＳ１０４）。これは、旋回量導出部２２ｄが、移動ベクトル導出部２２ｂにて導出された路面の移動ベクトルを用いて自車両の実際の旋回量を導出する処理である。具体的には図を用いて説明する。
【００５３】
図９は、旋回量導出処理を示すフローチャートである。図９に示すように、旋回量導出部２２ｄは、まず、旋回判定処理を実行する（ステップＳ２０１）。旋回判定処理とは、自車両が旋回しているか又は直進しているかを判定する処理である。また、旋回判定処理では、自車両が旋回している場合には、その旋回方向も判定する。
【００５４】
ここで、旋回判定処理について具体的に説明する。図１０は、旋回判定処理を示すフローチャートである。図１０に示すように、旋回量導出部２２ｄは、まず、旋回判定処理に用いる移動ベクトルを抽出する（ステップＳ３０１）。具体的には、旋回量導出部２２ｄは、導出した移動ベクトルのうち、終点が特定の領域内に含まれる全移動ベクトルを抽出する。特定の領域とは自車両の旋回量を導出するのに適切な領域であればよく、特に限定されるものではないが、例えば、俯瞰画像中におけるカメラの位置から左右２ｍずつ、奥行き４ｍの領域とすることができる。つまり、この場合には、旋回量導出部２２ｄは、俯瞰画像中において、自車両の後端部から４ｍ×４ｍ四方に相当する領域内に終点が含まれる全ての移動ベクトルを抽出することになる。
【００５５】
次に、旋回量導出部２２ｄは、移動ベクトルが２ｍｍ以上であるか否かを判定する（ステップＳ３０２）。具体的には、旋回量導出部２２ｄは、抽出した移動ベクトルの長さが２ｍｍ以上であるか否かを判定する。これは、長さが２ｍｍ未満の移動ベクトルは移動量が小さいことから、旋回量の導出過程において誤差が大きくなる可能性が高く、これらを除外するためである。
【００５６】
したがって、移動ベクトルが２ｍｍ未満の場合には（ステップＳ３０２でＮｏ）、旋回量導出部２２ｄは、その移動ベクトルを旋回量の導出には用いずに、導出不可カウンタを「１」増加させる（ステップＳ３０３）。導出不可カウンタとは、移動量が小さいために旋回量の導出には使用しない移動ベクトルの数をカウントするものである。
【００５７】
一方、移動ベクトルが２ｍｍ以上の場合には（ステップＳ３０２でＹｅｓ）、旋回量導出部２２ｄは、その移動ベクトルについての旋回中心を導出する（ステップＳ３０４）。旋回中心の導出とは、移動ベクトルの旋回中心位置、すなわち自車両が移動している際の旋回中心位置を導出する処理である。
【００５８】
ここで、旋回中心を導出する処理について図を用いて具体的に説明する。図１１は、旋回中心を導出する考え方を示す図である。図１１は、任意の位置１００ａにある自車両が、他の位置１００ｂまで旋回している状況を示している。図１１に示すように、自車両が旋回しているときの旋回中心は、自車両の後輪を結んだ直線上に存在する。
【００５９】
また、図１２は、ワールド座標を示す図である。具体的には、図１２は、自車両の後部にカメラを設置した場合において、カメラの位置を原点とし、カメラの視点方向をＹ軸、自車両の左右方向をＸ軸としたワールド座標を示している。自車両の後部（カメラの取り付け位置、すなわちワールド座標の原点）から後輪までの距離Ｄ１は、車両情報から導出可能な値である。また、この距離Ｄ１は、旋回中心のＹ座標に相当する。つまり、旋回中心のＹ座標は既知の値（−Ｄ１）である。なお、旋回中心のＹ座標を通り、ワールド座標のＸ軸と平行な直線を直線ｒｙとする。
【００６０】
旋回中心のＹ座標は既知の値であるので、次に旋回中心のＸ座標を導出する処理について図を用いて説明する。図１３は、旋回中心のＸ座標を導出する処理を説明する図である。例として、旋回量導出部２２ｄが、抽出した路面の移動ベクトルｍｖを用いて旋回中心のＸ座標を導出する処理について説明する。図１３に示す移動ベクトルｍｖは、始点の座標が（ｐｘ，ｐｙ）であり、終点の座標が（ｃｘ，ｃｙ）のベクトルである。
【００６１】
この場合、移動ベクトルｍｖと直交する直線Ｌの傾きＡは、式（１）を用いて導出される。
傾きＡ＝（ｃｘ−ｐｘ）／（ｃｙ−ｐｙ）×（−１）  ・・・（１）
また、移動ベクトルｍｖの中点のＸ座標を中点Ｘとすると、中点Ｘは式（２）を用いて導出される。同様に、移動ベクトルｍｖの中点のＹ座標を中点Ｙとすると、中点Ｙは式（３）を用いて導出される。
中点Ｘ＝（ｃｘ−ｐｘ）／２＋ｐｘ  ・・・（２）
中点Ｙ＝（ｃｙ−ｐｙ）／２＋ｐｙ  ・・・（３）
さらに、移動ベクトルｍｖと直交する直線ＬのＹ切片を切片Ｂとすると、切片Ｂは式（４）を用いて導出される。
切片Ｂ＝中点Ｙ−傾きＡ×中点Ｘ  ・・・（４）
そして、直線Ｌが直線ｒｙと交わる点のＸ座標（すなわち、旋回中心のＸ座標）は、式（５）を用いて導出される。
旋回中心のＸ座標＝（旋回中心のＹ座標−切片Ｂ）／傾きＡ  ・・・（５）
これにより、移動ベクトルｍｖに関する旋回中心のＸ座標及びＹ座標が導出される。
【００６２】
図１０に戻り、次に旋回量導出部２２ｄは、旋回中心のＸ座標（以下「旋回中心Ｘ」と記載する）が、最小半径以上であるか否かを判定する（ステップＳ３０５）。最小半径とは、ハンドルを最大に切ったときに自車両が旋回する半径、すなわち最小回転半径を示す。上記で導出した旋回中心Ｘの値は、移動ベクトルｍｖの旋回半径を示すものであるため、旋回中心Ｘの値が最少半径よりも小さい場合には、それは自車両の旋回半径を示すものではないか、あるいはエラー値である可能性が高い。
【００６３】
したがって、旋回量導出部２２ｄは、旋回中心Ｘが最少半径以上であるか否かを判定し、最小半径未満である場合には（ステップＳ３０５でＮｏ）、その移動ベクトルを旋回量の導出対象から除外する（ステップＳ３０６）。つまり、その移動ベクトルは、旋回量の導出には使用しない。本実施の形態では、最小半径を４ｍとしている。ただし、これに限定されるものではなく、他の値を適用してもよいし、車種毎に変えてもよい。
【００６４】
一方、旋回量導出部２２ｄは、旋回中心Ｘが最少半径以上である場合には（ステップＳ３０５でＹｅｓ）、導出可カウンタを「１」増加させる（ステップＳ３０７）。導出可カウンタとは、旋回量の導出に使用する移動ベクトルの数をカウントするものである。
【００６５】
次に、旋回量導出部２２ｄは、移動ベクトルの旋回中心Ｘの値をヒストグラムに入力する（ステップＳ３０８）。この旋回中心Ｘのヒストグラムは、旋回量の導出に使用する移動ベクトルの旋回中心Ｘの値の分布を示すヒストグラムである。具体的には、このヒストグラムは、旋回中心Ｘの値が−４ｍ以下の範囲と＋４ｍ以上の範囲をデータ領域としている。これは、旋回中心Ｘが４ｍ未満のものは除外されているからである。
【００６６】
また、旋回中心Ｘのヒストグラムは、−１５０ｍ未満の範囲は１つの領域として分類され、＋１５０ｍより大きい範囲も１つの領域として分類されている。さらに、旋回中心Ｘのヒストグラムは、−１５０ｍ〜−４ｍの範囲と、＋４ｍ〜＋１５０ｍの範囲では、１００ｍｍの間隔を１つの領域として分類されている。そして、旋回量導出部２２ｄは、導出した旋回中心Ｘの値が存在する領域に、その値を入力する。
【００６７】
旋回量導出部２２ｄは、上述した、移動ベクトルの旋回中心Ｘの値をヒストグラムに入力する処理（ステップＳ３０８）、導出不可カウンタを「１」増加させる処理（ステップＳ３０３）、又は移動ベクトルを旋回量の導出対象から除外する処理（ステップＳ３０６）のいずれかを実行した後には、全移動ベクトルに対して処理を実行したか否かを判断する（ステップＳ３０９）。すなわち、抽出された移動ベクトルの全てについて、ステップＳ３０３、ステップＳ３０６又はステップＳ３０８のいずれかの処理を実行したか否かを判断する。
【００６８】
全移動ベクトルに対する処理が終了していない場合には（ステップＳ３０９でＮｏ）、旋回量導出部２２ｄは、処理を実行していない移動ベクトルに対して再度ステップＳ３０２からの処理を実行する。
【００６９】
本実施の形態では、図１４に示すように、導出不可や除外された移動ベクトルを除く複数の移動ベクトルについて旋回中心Ｘの値を導出している。そして、これら各旋回中心Ｘの値をヒストグラムに入力するようになっている。つまり、旋回中心Ｘのヒストグラムとは、各領域に含まれる移動ベクトルの積算値と、それに対応付けられた旋回中心Ｘの値とを示すものである。
【００７０】
図１０に戻り、抽出した全移動ベクトルに対する処理が終了した場合には（ステップＳ３０９でＹｅｓ）、旋回量導出部２２ｄは、導出可カウンタと導出不可カウンタの値を比較し、導出可カウンタの値が導出不可カウンタの値以上であるか否かを判断する（ステップＳ３１０）。
【００７１】
導出不可カウンタの値が導出可カウンタの値よりも大きい場合には（ステップＳ３１０でＮｏ）、旋回量導出部２２ｄは、自車両が旋回しているか又は直進しているかの旋回判定を行わず、前回値を保持する（ステップＳ３１１）。つまり、前フレームで実行した旋回判定処理の結果を保持する。導出不可カウンタの値が大きい場合には、旋回量を正確に導出できない可能性が高いため、今回の処理では判定に使用しない。
【００７２】
一方、導出可カウンタの値が導出不可カウンタの値以上である場合には（ステップＳ３１０でＹｅｓ）、旋回量導出部２２ｄは、旋回判定を行う（ステップＳ３１２）。つまり、自車両が旋回しているか又は直進しているかの判定を行う。
【００７３】
具体的には、旋回中心Ｘのヒストグラムのピークが存在する領域に基づいて判定する。図１５に示すように、例えば、旋回中心Ｘの領域を、−１５０ｍ未満の第１領域、−１５０ｍ以上−４ｍ未満の第２領域、４ｍ以上１５０ｍ以下の第３領域、及び１５０ｍより大きい第４領域に分ける。そして、旋回中心Ｘのヒストグラムのピークが第１領域又は第４領域に含まれている場合には、自車両は直進していると判定する。また、第２領域に含まれている場合には、自車両は左旋回していると判定し、第３領域に含まれている場合には、自車両は右旋回していると判定する。つまり、図１５の例では、自車両は右旋回していると判定される。このようにして、自車両が旋回しているか又は直進しているかを判定することができると共に、旋回している場合にはその方向も判定することができる。
【００７４】
図９に戻り、次に、旋回量導出部２２ｄは、旋回中心決定処理を実行する（ステップＳ２０２）。旋回中心決定処理とは、旋回中心Ｘのヒストグラムを用いて旋回中心Ｘの位置を最終的に決定する処理である。旋回中心Ｘのヒストグラムは、第２領域及び第３領域では、１００ｍｍの幅の中に存在する移動ベクトルの数を積算したものであり、旋回中心Ｘの値も対応付けられている。
【００７５】
このため、そのピーク領域に存在する移動ベクトルの旋回中心Ｘの値を用いることで正確な旋回中心Ｘの値を決定することができる。具体的には、ヒストグラムのピーク領域に含まれる全ての旋回中心Ｘの値をＩＩＲフィルター等の積分フィルターに入力する。これにより、その出力された値を正確な旋回中心Ｘの値として導出することができる。
【００７６】
次に、旋回量導出部２２ｄは、旋回角度導出処理を実行する（ステップＳ２０３）。旋回角度導出処理とは、旋回中心（Ｘ，Ｙ）を中心点として自車両が旋回した角度を導出する処理である。
【００７７】
具体的には、図１６に示すように、旋回量導出部２２ｄは、旋回中心と移動ベクトルの両端でできる三角形の角度を旋回角度として導出する。旋回中心から移動ベクトルの終点を結ぶ直線を直線Ｍとすると、直線Ｍの傾きＭｓは、式（６）を用いて導出される。同様に、旋回中心から移動ベクトルの始点を結ぶ直線を直線Ｎとすると、直線Ｎの傾きＮｓは、式（７）を用いて導出される。
傾きＭｓ＝（旋回中心Ｙ−ｃｙ）／（旋回中心Ｘ−ｃｘ）  ・・・（６）
傾きＮｓ＝（旋回中心Ｙ−ｐｙ）／（旋回中心Ｘ−ｐｘ）  ・・・（７）
そして、旋回角度をθｒとすると、θｒは式（８）を用いて導出される。
旋回角度θｒ＝arctan（（１＋傾きＭｓ×傾きＮｓ）／（傾きＭｓ−傾きＮｓ））  ・・・（８）
これにより、移動ベクトルに対応する旋回角度が導出される。なお、旋回角度の導出に用いられる移動ベクトルは、旋回中心Ｘのヒストグラムに入力された全移動ベクトルである。したがって、これら全ての移動ベクトルに対して上記と同様の方法にて旋回角度を導出する。そして、旋回角度のヒストグラムを作成する。
【００７８】
旋回角度のヒストグラムは、−２．０°から＋２．０°までの範囲を０．１°単位の領域に分け、各移動ベクトルから導出した旋回角度の値を対応する領域に分類したものである。すなわち、旋回角度のヒストグラムにおいても、各領域に含まれる移動ベクトルの積算値と、それに対応付けられた旋回角度の値とを示すものである。そして、旋回量導出部２２ｄは、ヒストグラムのピーク領域に含まれる全ての旋回角度の値の平均化処理を行い、旋回角度を決定する。具体的には、旋回角度の値の総和を移動ベクトルの数で除算する単純平均処理を行う。これにより、旋回角度が導出される。
【００７９】
なお、旋回判定処理において自車両が直進していると判定されている場合には、旋回角度は０°となる。また、ヒストグラムのピークが±２．０°を超える範囲に存在する場合にも旋回角度を０°とする。
【００８０】
図９に戻り、次に、旋回量導出部２２ｄは、並進量導出処理を実行する（ステップＳ２０４）。並進量とは、移動前の自車両の向きを移動後の自車両の向きと同じにして（つまり、自車両の旋回をキャンセルして）設定したワールド座標における移動量を示す（Ｘ軸方向の移動量とＹ軸方向の移動量とを指す場合もある）。
【００８１】
具体的に説明すると、図１７は、自車両１００ａが自車両１００ｂの位置まで移動した例を示している。この場合の移動量は、移動ベクトルＴで表される量である。この状態で移動前の自車両１００ａの旋回をキャンセルすると、図１８に示す自車両１００ａの状態となる。すなわち、自車両１００ａと自車両１００ｂとは同じ方向を向いている。そして、移動ベクトルＴの始点を原点としてワールド座標を設定すると、移動ベクトルＴのＸ軸方向の移動量Ｔｘと、Ｙ軸方向の移動量Ｔｙとが並進量となる。
【００８２】
より具体的に説明する。移動ベクトルＴの始点を（ｐｘ，ｐｙ）とし、終点を（ｃｘ，ｃｙ）とすると、これら始点（ｐｘ，ｐｙ）と、終点（ｃｘ，ｃｙ）と、上述した並進量（Ｔｘ，Ｔｙ）との関係は、旋回角度導出処理にて導出した旋回角度θｒを用いて式（９）のように表される。
【００８３】
【数１】
0006407596.tif 000002
そして、この式（９）を変換した式（１０）により並進量（Ｔｘ，Ｔｙ）を導出することができる。
【００８４】
【数２】
0006407596.tif 000003
なお、並進量の導出に用いられる移動ベクトルも、旋回角度を導出した全移動ベクトルである。このため、これら全ての移動ベクトルに対して上記と同様の方法で並進量を導出する。そして、並進量のヒストグラムを作成する。
【００８５】
並進量のヒストグラムは、１ｍｍ単位の領域に分け、各移動ベクトルから導出した並進量の値を対応する領域に分類したものである。すなわち、並進量のヒストグラムにおいても、各領域に含まれる移動ベクトルの積算値と、それに対応付けられた並進量の値とを示すものである。そして、旋回量導出部２２ｄは、ヒストグラムの最大ピークのヒストグラム値を最終的な並進量として決定する。
【００８６】
なお、オプティカルフローを用いて移動ベクトルを導出する場合において、基準にする画像は、移動量や旋回量などが所定値を超えたときに更新する。具体的には、所定値として、並進量Ｔｙが４５ｍｍと設定すると、あるフレームで導出された並進量が４５ｍｍ未満である場合には、基準となる画像は更新せずに同じものを用い、並進量が４５ｍｍ以上となったときにそのフレームの画像を次の基準画像として更新する。これにより、あまり物体が移動していない場合には基準画像を変えないことで処理負荷を低減することができる。
【００８７】
図５に戻り、次に、車両状態判定部２２ｅは、車両状態判定処理を実行する（ステップＳ１０５）。車両状態判定処理とは、自車両が移動しているか又は静止しているかを判定すると共に、過去の判定結果も用いて車両の移動状態を判定する処理である。車両の移動状態の判定とは、例えば、過去も現在も移動している場合には移動中であると判定する等である。この判定の詳細については後述する。
【００８８】
図１９は、車両状態判定処理を示すフローチャートである。図１９に示すように、まず、車両状態判定部２２ｅは、自車両が移動しているか又は静止しているかを判定する（ステップＳ４０１）。この処理は、旋回量導出部２２ｄが導出した並進量Ｔｙを用いて行われる。具体的には、予め移動又は静止を判定するための閾値Ｔｈが設定されており、車両状態判定部２２ｅは、並進量Ｔｙが閾値Ｔｈよりも大きい場合には自車両は移動していると判定し、並進量Ｔｙが閾値Ｔｈ以下である場合には自車両は静止していると判定する。閾値Ｔｈは、自車両の移動又は静止を判定できる程度の値であればよく適宜設定可能であるが、例えば４ｍｍとすることができる。
【００８９】
そして、自車両状態判定部２２ｅは、移動判定フラグを設定する（ステップＳ４０２）。移動判定フラグとは、自車両が移動しているか静止しているかを示すフラグである、自車両状態判定部２２ｅは、自車両が移動していると判定した場合には、移動判定フラグを立てる（以下「移動判定フラグを「移動」に設定する」などと記載する場合がある）。また、自車両状態判定部２２ｅは、自車両が静止していると判定した場合には、移動判定フラグを消去する（以下「移動判定フラグを「静止」に設定する」などと記載する場合がある）。
【００９０】
そして、自車両状態判定部２２ｅは、移動判定フラグが変化したか否かを判定する（ステップＳ４０３）。すなわち、前回の移動判定フラグと今回の移動判定フラグとを比較して、変化しているか否かを判定する。
【００９１】
移動判定フラグが変化している場合には（ステップＳ４０３でＹｅｓ）、自車両状態判定部２２ｅは、状態判定処理を実行する（ステップＳ４０５）。一方、移動判定フラグが変化していない場合には（ステップＳ４０３でＮｏ）、自車両状態判定部２２ｅは、状態遷移完了フラグがセットされているか否かを判定する（ステップＳ４０４）。状態遷移完了フラグは、自車両が移動状態から静止状態、又は静止状態から移動状態に変化している場合に、その状態変化が完了したことを示すフラグである。なお、この状態遷移完了フラグについては後述する。
【００９２】
状態遷移完了フラグがセットされている場合には（ステップＳ４０４でＹｅｓ）、自車両状態判定部２２ｅは、状態判定処理を実行する（ステップＳ４０５）。一方、状態遷移完了フラグがセットされていない場合には（ステップＳ４０４でＮｏ）、車両状態判定処理を実行することなく、次の処理（ステップＳ１０６）に進む。
【００９３】
状態判定処理とは、自車両の移動状態を判定する処理である。具体的には、自車両の移動状態として、静止中の状態（以下「第１状態」という）、移動中の状態（以下「第２状態」という）、移動状態から静止状態へ変化している状態（以下「第３状態」という）、及び静止状態から移動状態へ変化している状態（以下「第４状態」という）があり、これら第１〜第４のいずれの状態であるかを判定する処理である。
【００９４】
具体的に図を用いて説明する。図２０は、状態判定処理を示すフローチャートである。まず、自車両状態判定部２２ｅは、自車両が移動しているか否かを判定する（ステップＳ５０１）。これは、今回処理で設定された移動判定フラグに基づいて判定される。すなわち、自車両状態判定部２２ｅは、移動判定フラグが「移動」に設定されている場合には自車両が移動していると判定し、移動判定フラグが「静止」に設定されている場合には自車両は移動していない（静止している）と判定する。
【００９５】
自車両が移動していない場合には（ステップＳ５０１でＮｏ）、直前は移動していたか否かを判定する（ステップＳ５０２）。これは、前回処理で設定された移動判定フラグに基づいて判定される。すなわち、自車両状態判定部２２ｅは、前回処理で設定された移動判定フラグが「移動」に設定されている場合には、直前は移動していたと判定し、前回処理で設定された移動判定フラグが「静止」に設定されている場合には、直前は移動していなかった（静止していた）と判定する。
【００９６】
直前は移動していなかった場合には（ステップＳ５０２でＮｏ）、自車両状態判定部２２ｅは、自車両が第１状態であると判定する（ステップＳ５０３）。すなわち、直前も現在も静止している状態である。一方、直前は移動していた場合には（ステップＳ５０２でＹｅｓ）、自車両状態判定部２２ｅは、自車両が第３状態であると判定する（ステップＳ５０４）。すなわち、直前の移動状態から現在の静止状態へ変化している状態である。なお。第３状態において、移動状態から静止状態への変化が完了した際には、状態遷移完了フラグがセットされる（ステップＳ５０５）。
【００９７】
一方、ステップＳ５０１において、自車両が移動していない場合には（ステップＳ５０１でＮｏ）、直前は静止していたか否かを判定する（ステップＳ５０６）。これは、前回処理で設定された移動判定フラグに基づいて判定される。すなわち、自車両状態判定部２２ｅは、前回処理で設定された移動判定フラグが「静止」に設定されている場合には、直前は静止していたと判定し、前回処理で設定された移動判定フラグが「移動」に設定されている場合には、直前は静止していなかった（移動していた）と判定する。
【００９８】
直前は静止していなかった場合には（ステップＳ５０６でＮｏ）、自車両状態判定部２２ｅは、自車両が第２状態であると判定する（ステップＳ５０７）。すなわち、直前も現在も移動している状態である。一方、直前は静止していた場合には（ステップＳ５０６でＹｅｓ）、自車両状態判定部２２ｅは、自車両が第４状態であると判定する（ステップＳ５０８）。すなわち、直前の静止状態から現在の移動状態へ変化している状態である。なお、第４状態においても、静止状態から移動状態への変化が完了した際には、状態遷移完了フラグがセットされる（ステップＳ５０９）。このようにして、状態判定処理が実行される。
【００９９】
図５に戻り、次に、描画処理部２２ｆは、描画処理を実行する。この描画処理は、カメラで撮影された自車両周辺の画像に対して、ガイド線を重畳した表示画像を生成する処理である。なお、本実施の形態においては、旋回量導出処理で導出した旋回量や、車両状態判定処理で判定した車両の状態に基づいて、重畳するガイド線の種類や長さ等を変えている。以下、具体的に説明する。
【０１００】
まず、本実施の形態で用いられるガイド線の種類について説明する。重畳するガイド線としては、固定ガイド線と予測ガイド線とがある。固定ガイド線は、予め定められた領域に描画されるガイド線のことであり、自車両の移動経路等とは関係なく表示される所定の枠線のことである。本実施の形態の固定ガイド線は、図２１（ａ）に示すように、自車両の後部から車幅とほぼ同様の幅で車両の後方に延びた線と、それらを結ぶ線とで囲まれた線である。
【０１０１】
一方、予測ガイド線は、自車両の移動経路であると予測される位置に描画されるガイド線である。具体的には、図２１（ｂ）に示すように、自車両の後部から車幅とほぼ同様の幅の線であって、移動経路と予測された位置に延びた線が予測ガイド線である。
【０１０２】
これら固定ガイド線の間隔Ｄ２と予測ガイド線の間隔Ｄ３は、車幅とほぼ同じ間隔となっている。つまり、固定ガイド線の間隔Ｄ２と予測ガイド線の間隔Ｄ３とは、ほぼ同じ間隔である。Ｄ２及びＤ３の例としては２．６ｍである。ただし、これに限定されるものではなく適宜設定すればよい。また、固定ガイド線の後方への長さＤ４も任意の長さとすることができる。例としては２ｍである。
【０１０３】
予測ガイド線は、上記で決定された旋回中心を用いて描画される。具体的には、旋回中心から＋Ｘ方向にＤ２の半分の長さ移動した点を中心とした円と、旋回中心から−Ｘ方向にＤ２の半分の長さ移動した点を中心とした円を描画する。例えば、旋回中心から±Ｘ方向に各々１．３ｍ移動した点を中心点とした円を描くことにより、予測ガイド線を描画することができる。
【０１０４】
なお、予測ガイド線を描画する領域は、車両後端の中央部分から前後左右に一定の領域となっている。具体的には、例えば、車両の中央部分から車幅方向Ｄ５に±５ｍずつ（つまり全部で１０ｍ）、前後方向Ｄ６に２ｍの領域としている。この描画領域内に含まれる予測ガイド線は描画対象となるが、描画領域を超えた部分は描画されない。すなわち、上述した方法で描かれた予測ガイド線の内、この描画領域内に含まれる部分が実際に表示対象として描画される部分となる。この描画領域の大きさは一例であり、適宜変更が可能である。
【０１０５】
また、本実施の形態では、車両の状態に応じて描画するガイド線の種類を変更するとともに、予測ガイド線については、その長さも変化させている。つまり、上述した描画領域の車両前後方向の長さを車両の状態に応じて最大の２ｍから最小の０ｍまでの範囲で変化させているため、その範囲内に描画される予測ガイド線の長さも変化する。本実施の形態では、上述のように、車両状態として第１状態から第４状態までの４種類の状態が存在し、各状態で重畳するガイド線の種類と長さを変えている。以下では、これら第１状態〜第４状態の各々に対応する４種類の描画方法についてのモードを描画モードＡ〜描画モードＤとする。
【０１０６】
図２２は、各描画モードに対応した描画方法を示す図である。図２２に示すように、全ての描画モードにおいて固定ガイド線は描画される。一方で、予測ガイド線については、描画モードに応じて描画するか描画しない（非描画）かが異なっている。また、描画モードによっては、描画する場合であっても予測ガイド線の長さを変化させて描画することもある。これら予測ガイド線の描画及び非描画は、図２１（ｂ）で説明した描画領域の前後方向の長さＤ６を変化させて行われる。
【０１０７】
具体的には、描画領域の長さＤ６の最大値２ｍに対して長さ調整倍率をかけて変化させる。つまり、長さ調整倍率を０．０倍から１．０倍までの範囲で変化させるとすると、長さＤ６が０ｍから２ｍまでの範囲で変化することになる。すなわち、描画領域が変化することになり、その結果、予測ガイド線は変化後の描画領域の範囲内で描画されるため、予測ガイド線の長さを変化させることが可能になる。
【０１０８】
ここで、各描画モードの描画方法について説明する。車両状態が第１状態のときは、描画処理部２２ｆは描画モードＡを選択する。描画モードＡは、固定ガイド線を描画するのに対して予測ガイド線は描画しないモードである。すなわち、描画処理部２２ｆは、長さ調整倍率を０．０倍として固定ガイド線のみを描画する。
【０１０９】
車両状態が第２状態のときは、描画処理部２２ｆは描画モードＢを選択する。描画モードＢは、固定ガイド線を描画し、予測ガイド線も描画するモードである。すなわち、描画処理部２２ｆは、固定ガイド線を描画するとともに、長さ調整倍率を１．０倍として描画領域の長さＤ６を最大の２ｍとし、その描画領域の範囲内に含まれる予測ガイド線を描画する。
【０１１０】
車両状態が第３状態のときは、描画処理部２２ｆは描画モードＣを選択する。描画モードＣは、固定ガイド線を描画し、予測ガイド線を徐々に短くしていくモードである。すなわち、描画処理部２２ｆは、固定ガイド線を描画するとともに、長さ調整倍率を１．０倍から０．０倍に向けて変化させることで、描画領域の長さＤ６を最大の２ｍから短くなるように変化させる。描画処理部２２ｆは、この変化に応じて予測ガイド線を徐々に短くなるように描画していき、最終的には描画領域の長さＤ６が０ｍとなるため予測ガイド線は描画されなくなる。
【０１１１】
車両状態が第４状態のときは、描画処理部２２ｆは描画モードＤを選択する。描画モードＤは、固定ガイド線を描画し、予測ガイド線を徐々に長くしていくモードである。すなわち、描画処理部２２ｆは、固定ガイド線を描画するとともに、長さ調整倍率を０．０倍から１．０倍に向けて変化させることで、描画領域の長さＤ６を最小の０ｍから長くなるように変化させる。描画処理部２２ｆは、この変化に応じて予測ガイド線を徐々に長くなるように描画していき、最終的には描画領域の長さＤ６が最大の２ｍとなり、予測ガイド線はその範囲内に含まれるように描画される。
【０１１２】
このように、本実施の形態では、自車両が移動中又は静止状態から移動状態に変化しているような場合には、予測ガイド線を描画するようにし、自車両が静止中又は移動状態から静止状態に変化しているような場合には、予測ガイド線を描画しないようにしている。これにより、移動していない状態であるにも関わらず、誤って予測ガイド線を表示してしまうことを回避できる。
【０１１３】
次に、図を用いて具体的に説明する。図２３は、移動判定フラグ、描画モード及び長さ調整倍率の対応関係を示すタイミングチャートである。図２３に示すように、移動判定フラグが「静止」に設定されており、直前の移動判定フラグも「静止」であるとすると、車両状態は第１状態となる。このため、描画処理部２２ｆは描画モードＡを選択し、長さ調整倍率を０．０倍にする。すなわち、描画処理部２２ｆは、固定ガイド線を描画するものの、予測ガイド線は描画しない。これにより表示される画像は図２４のようになる。図２４（ａ）は俯瞰画像に固定ガイド線が描画されている表示画像を示し、図２４（ｂ）はカメラの撮影画像に固定ガイド線が描画されている表示画像を示している。また、移動判定フラグが「静止」のままで変化がない間は描画モードＡが保持される。
【０１１４】
図２３に戻り、次に、移動判定フラグが「移動」に変化すると、状態判定処理を実行する。この場合、直前の移動判定フラグが「静止」であることから、車両状態は第４状態に変化する。このため、描画処理部２２ｆは、描画モードＤを選択し、長さ調整倍率を０．０倍から１．０倍に変化させる。つまり、描画処理部２２ｆは、固定ガイド線を描画するとともに、予測ガイド線が長くなるように変化させながら描画する。
【０１１５】
変化させる速度は任意であるが、次のフレームでは１．０倍になっているように変化させることが好ましい。これは、車両状態が第４状態になったということは、静止状態から移動状態に変化した状態であることから、移動して直ぐに予測ガイド線を確認できるようにするために、予測ガイド線を早く表示した方が好ましいからである。これにより表示される画像は図２５のようになる。図２５は、描画領域の長さＤ６が２ｍと０ｍとの間で変化している途中における予測ガイド線の描画状態を示している。図２５（ａ）は俯瞰画像に各ガイド線が描画されている表示画像を示し、図２５（ｂ）はカメラの撮影画像に各ガイド線が描画されている表示画像を示している。
【０１１６】
図２３に戻り、長さ調整倍率が１．０倍に変化すると状態遷移完了フラグがセットされるため状態判定処理を実行する。この場合、移動判定フラグが「移動」のままであり、直前の移動判定フラグも「移動」であることから、車両状態は第２状態となる。このため、描画処理部２２ｆは、描画モードＢを選択し、長さ調整倍率を１．０倍のままにする。すなわち、描画処理部２２ｆは、固定ガイド線を描画するとともに、予測ガイド線を最大の２ｍとなるように描画する。これにより表示される画像は図２６のようになる。図２６は、固定ガイド線と予測ガイド線が最長で描画されている状態を示している。図２６（ａ）は俯瞰画像に各ガイド線が描画されている表示画像を示し、図２６（ｂ）はカメラの撮影画像に各ガイド線が描画されている表示画像を示している。また、移動判定フラグが「移動」のままで変化がない間は描画モードＢが保持される。
【０１１７】
図２３に戻り、次に、移動判定フラグが「静止」に変化すると、状態判定処理を実行する。この場合、直前の移動判定フラグが「移動」であることから、車両状態は第３状態に変化する。このため、描画処理部２２ｆは、描画モードＣを選択し、長さ調整倍率を１．０倍から０．０倍に変化させる。つまり、描画処理部２２ｆは、固定ガイド線を描画するとともに、予測ガイド線が短くなるように変化させながら描画する。移動状態から静止状態に変化したため、予測ガイド線の表示は不要になるからである。
【０１１８】
なお、変化させる速度は任意であるが、描画モードＤの変化速度よりも遅い方が好ましい。これは、静止状態から移動状態に変化したときは直ぐに予測ガイド線が確認できるようにした方が好ましいのに対して、移動状態から静止状態に変化したときに直ぐに予測ガイド線を描画しないようにするよりも、徐々に短くしていく方が静止状態に移行していることを把握しやすいからである。これにより表示される画像は図２５と同様である。
【０１１９】
また、長さ調整倍率が０．０倍に変化するまでは状態遷移完了フラグがセットされないため、移動判定フラグに変化がない限り状態判定処理は行われず、描画モードＣが保持される。
【０１２０】
図２３に戻り、長さ調整倍率が０．０倍に変化すると状態遷移完了フラグがセットされるため状態判定処理を実行する。移動判定フラグが「静止」のままであるとすると、車両状態が第１状態となる。このため、描画処理部２２ｆは、描画モードＡを選択し、長さ調整倍率を０．０倍のままにする。すなわち、描画処理部２２ｆは、固定ガイド線を描画して予測ガイド線は描画しない。
【０１２１】
以降、同様に、移動判定フラグや状態遷移完了フラグに基づいて車両状態が判定され、車両状態に対応する描画モードが選択される。そして、選択された描画モードに基づいたガイド線の描画処理が実行される。
【０１２２】
なお、例えば、描画モードＣにおいて長さ調整倍率が０．０倍まで変化する途中で、移動判定フラグに変化があって描画モードＤが選択された場合には、長さ調整倍率が変化した途中の倍率から再び１．０倍まで変化するようになっている。このように、処理の途中で描画モードが変更された場合であっても、変更後の描画モードにしたがって描画処理が実行される。
【０１２３】
以上のように、本実施の形態では、カメラで撮影した画像を用いて自車両の移動量や旋回量等を導出することで移動経路を予測したガイド線を表示することが可能になる。また、自車両の状態（移動や静止）やその変化などに応じて表示するガイド線の種類や長さを変えるため、状態に応じた適切なガイド線を表示することが可能になる。
【０１２４】
＜２．移動ベクトル導出処理の変形例＞
以上、本発明の実施の形態について説明してきたが、この発明は上記実施の形態に限定されるものではなく様々な変形が可能である。以下では、このような変形例について説明する。上記実施の形態及び以下で説明する形態を含む全ての形態は、適宜に組み合わせ可能である。
【０１２５】
まず、移動ベクトル導出処理の変形例について説明する。上記実施の形態では、異なる時点で撮影された画像から生成した複数の俯瞰画像を用いて路面の移動ベクトルを導出する構成について説明したが、これに限定されるものではない。例えば、カメラの撮影画像から画像上での移動ベクトルを導出し、これを路面に投影することで路面の移動ベクトルを導出する構成としてもよい。
【０１２６】
上記実施の形態では、路面の移動ベクトルを導出するために、フレーム毎に撮影画像から俯瞰画像を生成する必要があった。これに対して、本変形例では、撮影画像から俯瞰画像を生成することなく路面の移動ベクトルの導出が可能となるため、処理負荷を低減することが可能になる。
【０１２７】
また、撮影画像から俯瞰画像を生成すると、画質が劣化してしまうため、移動ベクトルの導出精度も低下してしまうことがあったものの、本変形例では、俯瞰画像への変換処理がないため、移動ベクトルを導出する際の精度低下も回避することが可能になる。以下、具体的に説明する。
【０１２８】
本変形例では、上記実施の形態と異なる点を主に説明する。本変形例では、上記実施の形態における俯瞰画像生成部２２ａは設けられておらず、代わりに路面投影部が設けられている。
【０１２９】
本変形例における移動ベクトル導出部は、画像取得部２１が取得した撮影画像を用いて移動ベクトルを導出する機能を有している。例えば、移動ベクトル導出部は、異なる時点で撮影された複数の撮影画像において、同じ被写体を表示している部分を抽出し、各表示位置に基づいて移動ベクトルを導出する。
【０１３０】
路面投影部は、移動ベクトル導出部にて導出された移動ベクトルをワールド座標上に投影し、路面上の移動ベクトルを導出する機能を有している。移動ベクトル導出部にて導出した移動ベクトルは、撮影画像上の移動量を示すものであるため、路面投影部がその移動ベクトルを路面上に投影して路面上の移動ベクトルを導出することで実際の移動量に変換する。
【０１３１】
次に、本変形例における移動ベクトルを導出する方法について図を用いて説明する。図２７は、特徴点方式を用いて移動ベクトルを導出する手法を説明する図である。図２７（ａ）及び（ｂ）は、各々前フレームの撮影画像及び後フレームの撮影画像を示している。
【０１３２】
図２７に示すように、異なる時点で撮影した画像中の特徴点同士を対応付けることにより、特徴点が移動する前の位置と、移動した後の位置とを導出することができる。図２７（ｂ）では、この特徴点が移動した経路を表示している。つまり、移動ベクトル導出部は、この特徴点の移動経路の方向及び大きさを示すベクトルを画像上の移動ベクトルとして導出する。
【０１３３】
そして、路面投影部が、移動ベクトル導出部にて導出された移動ベクトルを路面上（ワールド座標上）に投影し、路面上の移動ベクトルを導出する。以下、具体的に説明する。
【０１３４】
本変形例においては、移動ベクトル導出部が導出した移動ベクトルは、画像上のベクトルであり、そのままの移動ベクトルを自車両の移動量とすることはできない。このため、画像上の移動ベクトルを実際の路面上の移動ベクトルに変換する必要がある。すなわち、路面投影部は、画像上の各移動ベクトルに対応する実際の移動量を導出するために、画像上の移動ベクトルを路面上に投影することで路面上の移動ベクトルを導出している。
【０１３５】
ここで、移動ベクトルを路面上に投影する処理について図を用いて説明する。図２８は、撮影画像上の移動ベクトルを路面上の移動ベクトルに変換する処理の概念を説明する図である。
【０１３６】
図２８に示すように、カメラ１の撮影画像Ｉ上の移動ベクトルＢ１は、路面Ｒに投影されることで路面Ｒ上の移動ベクトルＢ２に変換される。具体的には、カメラ１の視点から撮影画像Ｉ上の移動ベクトルＢ１の始点を結ぶ線を延長し、路面Ｒと交差する点が路面上の移動ベクトルＢ２の始点となる。同様に、カメラ１の視点から撮影画像上の移動ベクトルＢ１の終点を結ぶ線を延長し、路面Ｒと交差する点が路面上の移動ベクトルＢ２の終点となる。なお、図２８において、撮影画像Ｉは、画像上の移動ベクトルＢ１を路面上の移動ベクトルＢ２に変換する際に用いられる概念図であり、実空間上に存在する画像面を示すものではない。
【０１３７】
路面上の移動ベクトルＢ２の始点及び終点は、路面ＲをＸＹ平面とし、カメラ１の位置を基点とした場合における、ＸＹ座標から導出することができる。このＸＹ座標を導出する方法について図を用いて説明する。図２９は、路面上の移動ベクトルの座標を導出する方法を説明する図である。
【０１３８】
図２９は、撮影画像Ｉ上の移動ベクトルＢ１を路面上Ｒに投影している様子をＹＺ平面で見た図である。つまり、Ｘ軸方向から見た図である。また、図２９中のｆｍｍは、カメラ１の焦点距離を示し、Ｚｗは、カメラ１の視点位置と路面ＲとのＺ軸方向の距離（高さ）を示す。また、Ｙｃ及びＺｃは、各々カメラ１の視点位置と移動ベクトルＢ１の位置との距離を示し、各々Ｙ軸方向の距離及びＺ軸方向の距離を示している。これらの各値は、カメラ１の仕様（レンズモデルや焦点距離等）や、カメラ１の地面に対する取り付け位置・取り付け角度に基づいて定まる値である。
【０１３９】
そして、投影された路面上の移動ベクトルＢ２のＹ座標（Ｙｗ）は、
Ｙｗ＝Ｚｗ／Ｚｃ×Ｙｃ
により導出することができる。また、同様にしてＸ座標（Ｘｗ）は、
Ｘｗ＝Ｚｗ／Ｚｃ×Ｘｃ
により導出することができる。なお、Ｘｃは、カメラ１の視点位置と移動ベクトルＢ１との距離のうちの、Ｘ軸方向の距離を示す。
【０１４０】
これにより、路面上に投影された移動ベクトルＢ２のＸＹ座標が定まるので、移動ベクトルＢ２の始点及び終点の座標を導出することで、路面上の移動ベクトルＢ２を導出することができる。
【０１４１】
＜３．他の変形例＞
上記実施の形態では、描画モードＣに移行すると長さ調整倍率を１．０倍から小さくし、描画領域を小さくする構成について説明したが、これに限定されるものではない。例えば、描画モードＣに移行した際には、移行後所定時間が経過してから長さ調整倍率を小さくする構成としてもよい。
【０１４２】
自車両を後退させながら駐車する場合などには、低速で走行していて移動と静止を繰り返す場合もある。このような場合に、予測ガイド線の長さを短くしたり長くしたりする処理を頻繁に繰り返すことはドライバにとって見難くなる可能性もあるからである。
【０１４３】
また、上記実施の形態では、自車両が停止したときは予測ガイド線を描画しなかったり短くしたりする構成について説明したが、これに限定されるものではない。例えば、予測ガイド線の表示はそのままで、現在自車両が停止中である旨をドライバに報知する構成としてもよい。報知する方法も適宜選択することができ、例えば、その旨を表示装置に表示する方法や、その旨を音声で出力する方法などが挙げられる。これにより、自車両が静止した場合においてもドライバに対して誤った情報を提供することがない。
【０１４４】
また、上記実施の形態では、カメラで撮影した自車両周辺の画像を用いて移動経路を予測したガイド線を表示することが可能であるため、舵角センサなどの他のセンサを別途設けることなく実現可能である。ただし、舵角センサなどの他のセンサを別途設けてそれらのフェールセーフとして使用することも可能である。
【０１４５】
例えば、通常は舵角センサなどの他のセンサを用いて移動経路を予測したガイド線を表示し、他のセンサが故障した場合に上記実施の形態で説明した方法でガイド線を表示する構成である。このようにすれば、他のセンサが故障した場合であってもガイド線が表示されないという事態を回避することが可能になる。
【０１４６】
また、上記実施の形態において、プログラムに従ったＣＰＵの演算処理によってソフトウェア的に各種の機能が実現されると説明した機能のうちの一部は、電気的なハードウェア回路により実現されてもよい。また逆に、ハードウェア回路によって実現されると説明した機能のうちの一部は、ソフトウェア的に実現されてもよい。
【符号の説明】
【０１４７】
１    カメラ
２    画像処理装置
３    表示装置
１０    物体検出システム
２１    画像取得部
２２    画像生成部
２３    メモリ
２４制御部
【図１】
0006407596.tif 000004
【図２】
0006407596.tif 000005
【図３】
0006407596.tif 000006
【図４】
0006407596.tif 000007
【図５】
0006407596.tif 000008
【図６】
0006407596.tif 000009
【図７】
0006407596.tif 000010
【図８】
0006407596.tif 000011
【図９】
0006407596.tif 000012
【図１０】
0006407596.tif 000013
【図１１】
0006407596.tif 000014
【図１２】
0006407596.tif 000015
【図１３】
0006407596.tif 000016
【図１４】
0006407596.tif 000017
【図１５】
0006407596.tif 000018
【図１６】
0006407596.tif 000019
【図１７】
0006407596.tif 000020
【図１８】
0006407596.tif 000021
【図１９】
0006407596.tif 000022
【図２０】
0006407596.tif 000023
【図２１】
0006407596.tif 000024
【図２２】
0006407596.tif 000025
【図２３】
0006407596.tif 000026
【図２４】
0006407596.tif 000027
【図２５】
0006407596.tif 000028
【図２６】
0006407596.tif 000029
【図２７】
0006407596.tif 000030
【図２８】
0006407596.tif 000031
【図２９】
0006407596.tif 000032