(58)【調査した分野】(Int.Cl.,DB名)
前記画像補完手段は、前記可視側面画像を左右反転した補完画像を生成するに際して、前記左右反転した補完画像における前輪部分の画像を、当該前輪部分の舵角を反転した画像に修正することを特徴とする請求項3に記載の車両用画像生成装置。
前記画像補完手段は、前記死角部位の画像の一部を補完した場合に、前記死角情報推測手段で推測した死角部位の形状に基づき、前記補完画像部分と前記可視画像部分との間の死角部位の画像部分の形状を補間計算によって描画補完することを特徴とする請求項2乃至請求項4のいずれか1項に記載の車両用画像生成装置。
前記死角情報推測手段は、前記可視画像部分から前記死角部位の少なくとも一部の情報が推測不可能であると判定すると、該当部位に対して推測が不可能であることを示す推測不可情報を前記画像補完手段に出力し、
前記画像補完手段は、前記死角情報推測手段からの前記推測不可情報に基づき、前記他車両の死角部位のうち推測不可能な部分があったと判定すると、推測不可能な部分について、予め設定された描画内容で描画を行うことを特徴とする請求項1乃至請求項6のいずれか1項に記載の車両用画像生成装置。
前記死角情報推測手段は、前記他車両の死角部位のうち少なくともウィンカーランプ部を含む照明系の部位を推測不可能な部分と判定することを特徴とする請求項7又は請求項8に記載の車両用画像生成装置。
前記画像補完手段は、前記死角情報推測手段の推測結果に基づき、前記死角部位の情報が推測できなかったと判定すると、前記車両周囲画像に含まれる前記他車両の可視画像部分を検索情報として、前記車両画像データベースから前記他車両に対応する3次元CGモデルを検索し、該検索によって索出された前記3次元CGモデルに基づき、前記他車両の死角部位の補完画像を生成し、生成した補完画像を用いて前記他車両の死角部位の画像を補完することを特徴とする請求項10に記載の車両用画像生成装置。
【発明を実施するための形態】
【0008】
以下、本発明の実施形態を図面に基づき説明する。
図1〜
図14は、本発明の実施形態に係る車両用画像生成装置及び車両用画像生成方法の実施形態を示す図である。
(構成)
まず、車両用画像生成装置の構成について説明する。
図1は本発明の実施形態に係る車両用画像生成装置の概要構成図である。
【0009】
本実施形態において、車両用画像生成装置100は、車両1に搭載されている。車両用画像生成装置100は、CPU10と、車両周囲撮影部11と、RAM12と、ROM13と、操作部14と、ディスプレイ15と、HDD16と、車速センサ17とを備える。
車両周囲撮影部11は、撮像装置11Aと、撮像装置11Bと、撮像装置11Cと、撮像装置11Dと、を備える。
【0010】
図2は、撮像装置11A〜11Dの配置例を示す図である。
撮像装置11Aは、自車両1の前端部中央に設けられ、撮像装置11Bは、自車両1の左端部中央に設けられる。撮像装置11Cは、自車両1の右端部中央のルーフ側部に設けられ、撮像装置11Dは、自車両1の後端部中央に設けられる。このようにして設置された撮像装置11A〜11Dは、それぞれの撮影範囲内に含まれる領域を撮影し、撮影した画像データをCPU10に送信する。
【0011】
ここで、本実施形態の車両用画像生成装置100は、撮像装置11A〜11Dによって車両周囲の領域を撮影して得られた画像データを用いて、3次元構造を有する車両周囲の画像を生成するものである。
ここで、カメラの撮影画像は2次元構造(X、Y)となる。3次元構造を有する車両周囲画像を生成するためには、カメラの撮影画像に加えて、撮影領域内に存在する被写体(物体)の3次元座標情報(X、Y、Z)を検出する必要がある。なお、本実施形態では、
図2に示すように、車両の幅方向をX軸とし、高さ方向をY軸とし、車両の前後方向をZ軸とする。3次元座標情報を得るためには、例えば、基準位置から物体までの距離情報を得る必要がある。この距離情報を得るためには、例えば、モーションステレオ法を用いた距離測定方法、ステレオ画像法を用いた距離測定方法、レンジファインダによる距離測定方法等を用いることが可能である。これらの距離測定方法は、いずれも公知技術である。
【0012】
図3(a)〜(c)は、撮像装置11Aの構成例を示す図である。
図3(a)は、モーションステレオ法を用いる場合の撮像装置11Aの構成例を示す図である。モーションステレオ法は、時系列に撮影された連続画像における、被写体の「画面上の動き」と「撮影位置の変位量」とに基づき、被写体までの距離を測定する技術である。モーションステレオ法を用いる場合、撮像装置11Aは、
図3(a)に示すように、1台のCCDカメラ(CMOSカメラ等の他のカメラでも可能)から構成される。なお、CCDカメラは、広角(例えば画角100°)レンズを備え、比較的広範囲の領域を撮影することが可能となっている。また、CCDカメラは、カラーフィルタを備え、カラー画像の撮影が可能となっている。
【0013】
図3(b)は、ステレオ画像法を用いる場合の撮像装置11Aの構成例を示す図である。ステレオ画像法は、ステレオカメラで撮影された同一被写体を含む複数の画像に基づき、三角測量の原理を用いて被写体までの距離を測定する技術である。かかる技術を用いる場合、撮像装置11Aは、
図3(b)に示すように、1台のステレオカメラから構成される。本実施形態のステレオカメラは、一定間隔に並列して配設された複数のレンズ(本実施形態では2つ)と、各レンズに対応する撮像素子とを含んで構成される複数の撮像ユニットを有する。ステレオカメラは、これら複数の撮像ユニットによって、複数の方向から同一被写体を含む領域を撮影することが可能である。各撮像ユニットは、
図3(a)のCCDカメラと同様に、広角レンズ及びカラーフィルタを備え、比較的広範囲の領域の撮影及びカラー画像の撮影が可能となっている。
【0014】
図3(c)は、レンジファインダによる距離測定技術を用いる場合の撮像装置11Aの構成例を示す図である。レンジファインダによる距離測定技術は、光レーダ法、アクティブステレオ法、照度差ステレオ法など、様々な公知手法がある。本実施形態では、光レーダ法を用いることとする。光レーダ法には、例えば、パルス光投影(時間計測)法と、変調光投影(位相差計測)法とがある。パルス光投影法は、光パルスを投影して、この光パルスが反射して返ってくるまでの時間を計測することで被写体までの距離を計測する方法である。変調光投影法は、正弦波又は矩形波で強度を時間変調した光ビームを投影し、この光ビームとその反射ビームとの位相差から距離を測定する方法である。前者は処理負荷は低いが、S/Nやクロック周波数の制限などから距離の分解能を高くするのが難しく、後者は距離の分解能は高いが、処理負荷が大きい。
【0015】
光レーダ法による距離測定技術を用いる場合、撮像装置11Aは、
図3(c)に示すように、1台のCCDカメラ(CMOSカメラ等の他のカメラでも可能)と、1台のレーザレンジファインダとから構成される。なお、CCDカメラは、
図3(a)と同様のものを用いる。レーザレンジファインダは、上記パルス光投影法を用いる場合、CCDカメラと同様又は略同様の撮影範囲に対して光パルスを投影する。そして、投影した光パルスの反射光を受けて時間差を計測し、計測した時間差を距離に換算する機能を有する。一方、上記変調光投影法を用いる場合は、CCDカメラと同様又は略同様の撮影範囲に対して上記光ビームを投影する。そして、投影した光ビームの反射ビームを受けて、光ビームと反射ビームとの位相差を測定し、測定した位相差を距離に換算する機能を有する。
【0016】
なお、撮像装置11B〜11Dは、上記いずれの距離測定方法においても、撮像装置11Aと同様の構成となる。
図4(a)〜(c)は、
図3(a)〜(c)の各構成に対応した撮影範囲及び測距範囲の例を示す図である。なお、
図4(a)〜(c)中の自車両1に付された矢印は、自車両1の向きを示す。
【0017】
ステレオモーション技術を用いた場合、CCDカメラ11A〜11Dの撮影範囲は、
図4(a)に示すように、各CCDカメラの広角レンズの特性(レンズ性能、焦点距離等)によって決まる画角の範囲となる。なお、
図4(a)では、撮影範囲として、X軸方向の撮影幅の一部しか示していないが、実際はCCDカメラのレンズ中央を頂点とした円錐状の撮影範囲となる。このことは、
図4(b)の撮影範囲についても同様となる。
【0018】
また、ステレオ画像法を用いた場合、ステレオカメラ11A〜11Dの撮影範囲は、
図4(b)に示すように、一定間隔を空けてX軸方向に並列する2つの広角レンズによって、2つの撮影範囲がX軸方向に一定間隔分のずれをもってオーバーラップした状態となる。なお、ステレオカメラを構成する2つのレンズ及び2つの撮像素子は、同様の部品(型番等が同じ部品)を用いて構成された同様のレンズ及び素子となっている。そのため、各撮影ユニットの撮影範囲は、略同等の撮影範囲となる。また、ステレオカメラ11A〜11Dの各撮影ユニットの撮影範囲は、各撮影ユニットの有する広角レンズの特性によって決まる画角の範囲となる。
【0019】
また、光レーダ法を用いた場合、CCDカメラ110A〜110Dの撮影範囲は、
図4(c)に示す実線の範囲となる。また、レーザレンジファインダ111A〜111Dの測距範囲は、
図4(c)に示す一点鎖線の範囲となる。CCDカメラ11A〜11Dの撮影範囲は、ステレオモーション技術を用いた場合と同様となる。一方、レーザレンジファインダ111A〜111Dの測距範囲は、レーザレンジファインダの走査範囲によって決まる。この走査範囲は、レーザレンジファインダの有する、レーザ照射ユニットの走査範囲によって決まる。CCDカメラ110A〜110Dの撮影範囲と、それぞれ対応するレーザレンジファインダ111A〜111Dの測距範囲とは、
図4(c)に示すように、オーバーラップさせる。つまり、CCDカメラ110A〜110Dで撮影する被写体と、それぞれ対応するレーザレンジファインダ111A〜111Dで測距する被写体とが対応するように範囲を設定する。
【0020】
また、被写体の存在する物体座標系とカメラ座標系とについて、事前に、各CCDカメラ及び各撮影ユニットの外部パラメータと内部パラメータとを決定するカメラキャリブレーションを行う必要がある。カメラキャリブレーションは、物体座標系からカメラ座標系への変換を行うための外部パラメータと、カメラ座標系から画像面への投影を行うための内部パラメータとを決定する処理となる。このカメラキャリブレーションは公知の技術であり、予め座標値のわかっているいくつかの点を用い、その投影点座標値から各パラメータを推定することで行う。
【0021】
以上説明したように、撮像装置11A〜11Dは、上記例示した構成を採用することができる。本実施形態では、ステレオ画像法に対応する構成を採用することとし、以下、ステレオ画像法を用いた構成を主として説明する。
図1に戻って、ROM12は、後述する車両周囲画像生成機能を実現するための専用プログラムや、プログラムの実行に必要な各種データが格納されている。ROM12は、CPU10からの要求に応じて格納された各種データを読み出してCPU10に入力する。
【0022】
RAM13は、専用のプログラムを実行する際のワークメモリとして活用される。RAM13は、専用のプログラムの実行に必要な各種データ(撮影画像データ、測距データ、車両周囲画像データ等)を一時記憶する。
操作部14は、ユーザによって操作され、後述する仮想視点情報の入力等を行う際に使用される。
【0023】
ディスプレイ15は、CPU10が車両周囲画像を表示する際に活用する。なお、メータディスプレイやナビゲーションシステムのディスプレイと併用でも構わない。
HDD(Hard disk drive)16は、複数種類の車両の3次元構造を有する全体画像(3Dモデル)が記憶された車両画像データベース300を記憶する。
車速センサ17は、自車両1の車速を検出するセンサである。車速センサ17は、検出した自車速をCPU10に送信する。
【0024】
CPU(Centoral Processing Unit)10は、ROM12に記憶された専用のプログラムを実行して、撮像装置11A〜11Dから送信された画像情報に基づき、3次元構造を有する車両周囲画像を生成する。CPU10は、車両周囲画像の生成に際して、車両周囲画像に含まれる他車両の可視画像部分を検出する。そして、検出した可視画像部分の画像情報に基づき、他車両の死角部位の画像を補完する。また、CPU10は、操作部14を介して入力された仮想視点に基づき、補完後の車両周囲画像を仮想視点から視た画像に再構成する。また、CPU10は、仮想視点から視た車両周囲画像を、ディスプレイ15に表示する。
【0025】
次に、CPU10において専用のプログラムを実行することによって実現される車両用画像生成機能の機能構成を説明する。
図5は、車両用画像生成装置100の機能構成の一例を示すブロック図である。
図5に示すように、車両用画像生成機能構成部120は、画像情報入力部20と、座標情報検出部21と、投影画像生成部22と、車両周囲画像生成部23と、車両画像検出部24と、死角情報推測部25と、画像補完部26とを備える。
【0026】
車両用画像生成機能構成部120は、更に、仮想視点設定部27と、画像再構成部28と、画像表示部29と、走行状態判定部30とを備える。
画像情報入力部20は、撮像装置11A〜11Dの各2つの撮像ユニットによって車両周囲の領域を撮影して得られる4組(8枚)の撮影画像データを予め設定されたサンプリング周期で順次取得する。画像情報入力部20は、取得した4組の撮影画像データを座標情報検出部21及び投影画像生成部22にそれぞれ入力する。
【0027】
なお、上記ステレオモーション法を用いる場合は、画像情報入力部20は、CCDカメラ11A〜11Dによって車両周囲の領域を撮影して得られる4枚の撮影画像データを予め設定されたサンプリング周期で順次取得する。画像情報入力部20は、取得した4枚の画像データを、座標情報検出部21及び投影画像生成部22にそれぞれ入力する。
また、上記光レーダ法を用いる場合は、画像情報入力部20は、CCDカメラ110A〜110Dによって車両周囲の領域を撮影して得られる4枚の撮影画像データを予め設定されたサンプリング周期で順次取得する。加えて、画像情報入力部20は、レーザレンジファインダ111A〜111Dによって車両周囲の領域に存在する被写体までの距離を測定して得られる測距データを、予め設定されたサンプリング周期で順次取得する。画像情報入力部20は、取得した4枚の撮影画像データと、この4枚の撮影画像データに対応する測距データとを投影画像生成部22に入力する。
【0028】
また、画像情報入力部20は、撮像装置11A〜11Dから取得した撮影画像データを、車速センサ17から送信される自車速と撮影時間情報とに対応付けてRAM13に記憶する。本実施形態において、画像情報入力部20は、バッファメモリを介して、各撮像装置から送信される撮影画像データを同期をとって取得する。このことは、光レーダ法を用いた場合の測距データについても同様となる。
【0029】
座標情報検出部21は、画像情報入力部20から入力された4組の撮影画像データにおける各組の撮影画像データに対して、一方の画像の対象点の座標について、他方の画像における該対象点に対応する対応点の座標を探索する。そして、対象点の座標(XL,YL)と、探索した対応点の座標(XR,YR)と、焦点距離f(予め設定)と、基線長(左右のレンズ間の距離)b(予め設定)とを用いて、下式(1),(2)から、3次元座標値(X,Y,Z)を得る。なお、下式(1),(2)は、投影画像の生成に透視変換を用いた場合の式となる。
XL=f・(X+b)/Z,YL=f・Y/Z ・・・(1)
XR=f・(X−b)/Z,YR=f・Y/Z ・・・(2)
座標情報検出部21は、各組の撮影画像データの全画素に対して上記探索及び3次元座標値の算出を行う。座標情報検出部21は、このようにして得られた3次元座標情報を、投影画像生成部22に入力する。
【0030】
なお、上記ステレオモーション法を用いる場合、座標情報検出部21は、画像情報入力部20から入力された2周期分以上の画像データを用いて、CCDカメラ毎に、時系列で連続する各画像間における被写体の「画面上の動き」と「撮影位置の変位量」とを検出する。そして、検出結果に基づき、各被写体までの距離(X,Y,Z)を検出する。座標情報検出部21は、検出した距離の情報(3次元座標情報)を、投影画像生成部22に入力する。
【0031】
また、上記光レーダ法を用いる場合は、座標情報の検出処理が不要となる。つまり、レーザレンジファインダ111A〜111D自体に測距機能(座標情報検出部21の機能)がある。従って、光レーダ法を用いる場合、画像情報入力部20は、レーザレンジファインダ111A〜111Dからの測距データを投影画像生成部22に直接入力する。
なお、レーザレンジファインダ111A〜111Dが、レーザ照射ユニットとその反射光を受光する受光ユニットのみを備える構成としてもよい。この場合は、レーザレンジファインダ111A〜111Dの測定結果を座標情報検出部21に入力する。そして、座標情報検出部21において、測定結果を用いた測距処理を行って、3次元座標情報を検出する。
【0032】
投影画像生成部22は、RAM13に記憶された撮像装置111A〜111Dの撮影画像データと、座標情報検出部21から入力された各撮影画像データに対応する3次元座標情報とに基づき、各撮影画像データに対応する投影画像データを生成する。
具体的に、投影画像生成部22は、各撮影画像データに対応する3次元座標情報から、各撮影画像データに含まれる物体の形状を認識する。更に、投影画像生成部22は、認識した形状に対応する投影面を設定する。そして、設定した投影面に、各撮影画像データの対応する物体の画像を投影する。このようにして、各撮影画像データに対応する投影画像(3次元構造を有する画像)データを生成する。本実施形態では、投影画像データの生成に、公知の透視変換(透視投影変換とも呼ばれる)を用いる。投影画像生成部22は、生成した各物体の投影画像データを、車両周囲画像生成部23に入力する。また、投影画像生成部22は、認識した各物体の撮影画像データにおける座標情報を、各撮影画像データに対応付けてRAM13に記憶する。
【0033】
車両周囲画像生成部23は、投影画像生成部22から入力された、撮像装置11A〜11Dの各撮影範囲に対応する投影画像データを合成して、3次元構造を有する車両周囲画像データを生成する。その際、車両周囲画像生成部23は、自車両1を基準位置とした車両周囲画像データを生成する。具体的に、自車両1に対応する3次元CGモデルを予め用意しておき、この自車両モデルを基準として、各撮影範囲に対応する投影画像を合成して車両周囲画像データを生成する。車両周囲画像生成部23は、生成した車両周囲画像データを、生成に用いられた撮影画像データの撮影時間情報と対応付けてRAM13に記憶すると共に、車両画像検出部24に入力する。
【0034】
車両画像検出部24は、テンプレートマッチング処理によって、車両周囲画像生成部23から入力された車両周囲画像データの画像中に含まれる他車両の画像を検出する。ここで、テンプレートデータは、予めROM12に記憶されている。このテンプレートマッチング処理は、撮影画像データに対して行ってもよいし、車両周囲画像データに対して行ってもよい。本実施形態では、車両周囲画像データに対して行うこととする。車両画像検出部24は、車両周囲画像から他車両の画像を検出すると、車両周囲画像データに含まれる検出した他車両の画像部分(可視画像部分)を切り出して、切り出した可視画像部分データとその車両周囲画像データにおける座標情報とを死角情報推測部25に入力する。なお、実際にオリジナル画像から可視画像部分を切り出すのではなく複製画像データを生成する。一方、車両画像検出部24は、車両周囲画像から他車両の画像が検出されなかった場合は、そのことを死角情報推測部25及び走行状態判定部30に通知する。また、車両画像検出部24は、他車両の可視画像部分を検出した場合は、そのことを走行状態判定部30に通知する。加えて、車両画像検出部24は、検出した他車両の情報を、RAM13に記憶された認識物体の座標情報に対応付けてRAM13に記憶する。
【0035】
走行状態判定部30は、車両画像検出部24から他車両の可視画像部分が検出された通知を受けると、RAM13に記憶された、該当する他車両の画像を含む時系列に連続する2枚の撮影画像データを読み出す。更に、走行状態判定部30は、読み出した撮影画像データと該撮影画像データに対応する自車速とに基づき、自車速に対する自車両1と他車両との位置変位等から他車両が走行状態か否かを判定する。そして、走行状態であると判定すると、走行状態の判定結果を死角情報推測部25に入力し、走行状態では無いと判定すると、停止状態の判定結果を死角情報推測部25に入力する。例えば、ROM12に、予め実験等を行って得た、車速と画像の位置変位との対応関係を示す情報を記憶しておく。走行状態判定部30は、この情報に基づいて、走行状態か否かを判定する。
【0036】
死角情報推測部25は、車両画像検出部24から可視画像部分データが入力されると、この可視画像部分データの画像情報に基づき、他車両の死角部位の情報を推測する。
ここで、可視画像部分は、撮像装置11A〜11Dの撮影画像によって構成される他車両の画像部分である。また、他車両の死角部位は、撮像装置11A〜11Dの撮影範囲外となる他車両の部位である。また、死角部位の情報は、可視画像部分データから推測される、死角部位の形状や色などの情報である。
【0037】
死角情報推測部25は、画像情報の推測に際して、まず、得られた可視画像部分データによって、死角部位の情報(形状や色など)の推測が可能か否かの判断を行う。死角情報推測部25は、可視画像部分が、例えば、他車両の後側や前側の画像部分、側面の一部だけ等の場合は、その可視画像部分だけで死角部位の情報の推測は困難であると判断する。死角情報推測部25は、このような場合に推測不可能と判断する。
【0038】
一方、死角情報推測部25は、可視画像部分が、例えば、他車両の一方の側面全体又は略全体(例えば、80%以上)の画像(以下、可視側面画像と称す)を含むとする。この場合は、該可視側面画像から他車両の死角部位の形状(例えば、反対側の側面等)を推測することができるため、死角情報推測部25は、このような場合に推測可能と判断する。
また、死角情報推測部25は、走行状態判定部30の判定結果に基づき、他車両が走行状態であると判定すると、反対側の側面のドア部の形状を推測可能と判断する。一方、停車状態であると判定すると、反対側の側面のドア部の形状を推測不可能と判断する。
【0039】
また、死角情報推測部25は、死角部位にウインカーランプ、ヘッドランプ、ブレーキランプ等の照明部位が含まれるか否かを判定し、照明部位を含むと判定すると、該当する照明部位を推測不可能と判断する。
死角情報推測部25は、可視画像部分データ及び座標情報と、推測した死角部位の情報と、推測可能と判断した情報(以下、推測可能情報と称す)と、推測不可能と判断した情報(以下、推測不可情報と称す)とを含む死角情報を、画像補完部26に入力する。
【0040】
画像補完部26は、死角情報推測部25から入力された死角情報に基づき、可視画像部分データを用いて、RAM13に記憶された対象の車両周囲画像に含まれる他車両の死角部位の画像を補完する。
例えば、可視画像部分に可視側面画像が含まれる場合に、死角情報に含まれる死角部位の形状情報に基づき、死角部位が、可視側面画像の形状と左右対称であると判定したとする。この場合、画像補完部26は、まず、可視側面画像を左右反転させる。加えて、画像補完部26は、反転させた可視側面画像における前輪の舵角を反転(前輪の画像を左右反転)させて補完画像データを生成する。そして、画像補完部26は、生成した補完画像データによって、死角部位の画像を補完する。
【0041】
更に、画像補完部26は、死角情報に含まれる形状情報に基づき、他車両が箱形の形状になると判定したとする。この場合、画像補完部26は、可視側面画像と補完画像(反対側の側面)との間の死角部位を、補間演算によって補間描画する。例えば、他車両のルーフ部分、バンパー部分、トランク部分等の外形形状を補間描画する。以下、補間描画による死角部位の補完を描画補完と称す。
【0042】
更に、画像補完部26は、死角情報に含まれる推測不可能情報に基づき、補完画像データに含まれる推測不可能と判定された部位を、予め設定された描画内容に修正する(例えば、他の部分との見分けが付く色に着色する)。
なお、画像補完部26は、死角情報推測部25において死角部位の推測が不可能であったと判定すると、可視画像部分データを検索情報として、HDD16に記憶された車両画像データベース300から、他車両と同車種の3次元CGモデルを検索する。そして、この検索によって、同車種の3次元CGモデルが索出されると、そのデータを用いて補完画像データを生成する。画像補完部26は、生成した補完画像データを用いて、他車両の死角部位の画像を補完する。なお、本実施形態では、車両画像データベース300を利用した死角部位の補完よりも、可視画像部分を利用した補完を優先して実行する。
【0043】
画像補完部26は、補完後の車両周囲画像をRAM13に記憶すると共に、補完後の車両周囲画像を、画像再構成部28に入力する。
仮想視点設定部27は、ユーザの操作部14の操作に応じて入力される仮想視点情報を受け付ける。仮想視点設定部27は、受け付けた仮想視点情報を、画像再構成部28に入力する。本実施形態において、仮想視点情報は、予め設定可能な複数の仮想視点を決めておき、ユーザが、操作部14を介して、複数の仮想視点のなかから任意の仮想視点を選択して入力する構成となっている。また、操作部14を介して、視点を固定したまま画像を回転・拡大等することも可能である。
【0044】
画像再構成部28は、仮想視点設定部27から入力された仮想視点情報に基づき、画像補完部26から入力された車両周囲画像を、仮想視点情報の示す視点から見た画像へと再構成する。また、画像再構成部28は、操作部14を介した回転・拡大等の指示に応じて画像を回転・拡大等して画像を再構成する。そして、再構成した車両周囲画像を画像表示部29に入力する。
画像表示部29は、画像再構成部28から入力される車両周囲画像を、ディスプレイ15に表示する。
【0045】
(車両周囲画像生成処理)
次に、車両用画像生成機能構成部120で行われる車両周囲画像生成処理の処理手順について説明する。
図6は、車両周囲画像生成処理の処理手順の一例を示すフローチャートである。
電源がON(イグニッションON)され、CPU10において専用のプログラムが実行されると、
図6に示すように、まずステップS100に移行する。
ステップS100では、CPU10において、以降の処理の実行に使用するタイマーやカウンタ、フラグを初期設定する初期化の処理を実行して、ステップS102に移行する。
【0046】
ステップS102では、CPU10において、操作部14を介したユーザからの開始指示があったか否かを判定し、開始指示があったと判定した場合(Yes)は、ステップS104に移行し、そうでないと判定した場合(No)は、指示があるまで判定処理を繰り返す。
ステップS104に移行した場合は、画像情報入力部20において、撮像装置11A〜11Dから送信される測定データ(撮影画像データ、又は撮影画像データ及び測距データの組)を取得する。更に、車速センサ17から、自車両1の車速情報を取得する。そして、取得した測定データ及び車速情報を撮影時間情報と対応付けてRAM13に記憶すると共に、測定データを座標情報検出部21及び投影画像生成部22にそれぞれ入力して、ステップS106に移行する。なお、光レーダ法を用いた場合は、撮影画像データ及び測距データ共に、投影画像生成部22に入力する。
【0047】
ステップS106では、座標情報検出部21において、画像情報入力部20から入力された撮影画像データに基づき、撮影画像データに含まれる物体の3次元座標情報を検出して、ステップS108に移行する。なお、光レーダ法を用いた場合は、この処理が不要となる。
ステップS108では、投影画像生成部22において、画像情報入力部20から入力された撮影画像データと、座標情報検出部21から入力された3次元座標情報とに基づき、各撮影画像データに対応する投影画像データを生成する。そして、生成した投影画像データを、車両周囲画像生成部23に入力して、ステップS110に移行する。
【0048】
ステップS110では、車両周囲画像生成部23において、投影画像生成部22から入力された各撮像装置に対応する複数の投影画像データ及び自車両モデルとを合成して、3次元構造を有する車両周囲画像データを生成する。そして、生成した車両周囲画像データを撮影時間と対応付けてRAM13に記憶すると共に、車両画像検出部24に入力して、ステップS112に移行する。
【0049】
ステップS112では、車両画像検出部24において、ROM12から車両画像検出用のテンプレートを読み出す。そして、読み出したテンプレートを用いて、車両周囲画像生成部23で生成された車両周囲画像データ(又は撮影画像データ)に対してテンプレートマッチング処理を実行する。車両周囲画像から他車両の可視画像が検出された場合は、その可視画像部分を切り出し、切り出した可視画像部分データと座標情報とを死角情報推測部25に入力して、ステップS114に移行する。なお、他車両の画像が検出されなかった場合は、検出されなかったことを示す情報を死角情報推測部25に入力して、ステップS114に移行する。
【0050】
ステップS114では、死角情報推測部25において、車両情報検出部23から入力された他車両の可視画像部分データの画像情報に基づき、死角部位の情報を推測する死角情報推測処理を実行して、ステップS116に移行する。
ステップS116では、画像補完部26において、死角情報推測部25からの死角情報に基づき、他車両の死角部位の画像を補完する画像補完処理を実行する。そして、画像補完処理によって補完された車両周囲画像データを、撮影時間情報と対応付けてRAM13に記憶すると共に、画像再構成部28に入力して、ステップS118に移行する。
【0051】
ステップS118では、仮想視点設定部27において、ユーザの操作部14を介した仮想視点情報の入力があったか否かを判定し、入力があったと判定した場合(Yes)は、入力された仮想視点情報を画像再構成部28に入力して、ステップS120に移行する。一方、仮想視点情報の入力がなかったと判定した場合(No)は、前回入力された仮想視点情報を画像再構成部28に入力して、ステップS126に移行する。つまり、仮想視点設定部27は、最新の仮想視点情報を保持し、新たな仮想視点が設定されるまでは保持した仮想視点情報を画像再構成部28に入力する。
【0052】
ステップS120に移行した場合は、画像再構成部28において、仮想視点設定部27から入力された仮想視点情報に基づき、画像補完部26から入力された車両周囲画像データを、仮想視点から見た画像データへと再構成する。そして、再構成した車両周囲画像データを画像表示部29に入力して、ステップS122に移行する。なお、現在の仮想視点と入力された車両周囲画像データの視点とが一致する場合は、再構成処理が不要となる。この場合は、再構成せずに入力された車両周囲画像データを画像表示部29に入力する。
【0053】
ステップS122では、画像表示部29において、画像再構成部28から入力された再構成後の車両周囲画像データの画像をディスプレイ15に表示して、ステップS124に移行する。
ステップS124では、CPU10において、操作部14を介したユーザからの終了指示があったか否かを判定し、終了指示があったと判定した場合(Yes)は、一連の処理を終了する。一方、終了指示が無いと判定した場合(Yes)は、ステップS104に移行する。
【0054】
また、ステップS118において、仮想視点情報の入力が無く、ステップS126に移行した場合は、画像再構成部28において、画像補完部26から入力された車両周囲画像データを、前回の仮想視点から見た画像データへと再構成する。そして、再構成した車両周囲画像データを画像表示部29に入力して、ステップS128に移行する。
ステップS128では、画像表示部29において、画像再構成部28から入力された再構成後の車両周囲画像データの画像をディスプレイ15に表示して、ステップS124に移行する。
【0055】
(死角情報推測処理)
次に、死角情報推測処理の処理手順について説明する。
図7は、ステップS114において、死角情報推測部25によって行われる死角情報推測処理の処理手順の一例を示すフローチャートである。
ステップS114において、死角情報推測処理が実行されると、
図7に示すように、まず、ステップS200に移行する。
ステップS200では、死角情報推測部25において、車両画像検出部24からの情報に基づき、車両周囲画像から他車両の可視画像部分が検出されたか否かを判定する。そして、他車両の可視画像部分が検出されたと判定した場合(Yes)は、ステップS202に移行し、そうでないと判定した場合(No)は、一連の処理を終了して元の処理に復帰させる。
【0056】
ステップS202に移行した場合は、死角情報推測部25において、他車両の可視画像部分が可視側面画像を含むか否かを判定し、可視側面画像を含むと判定した場合(Yes)は、ステップS204に移行し、そうでないと判定した場合(No)は、ステップS214に移行する。
ステップS204に移行した場合は、死角情報推測部25において、可視側面画像から死角部位の形状を推測して、ステップS206に移行する。例えば、死角部位の形状が左右対称であり、かつ可視画像部分と共に箱形を形成すると推測する。
【0057】
ステップS206では、死角情報推測部25において、可視画像部分の色から死角部位の色を推測して、ステップS208に移行する。例えば、ルーフ部分が死角部位である場合に、ルーフ部分について、可視側面画像のドア部の色と同じ色であると推測する。
ステップS208では、死角情報推測部25において、可視画像部分にウィンカーランプ部等の照明部位が含まれるか否かを判定し、照明部位が含まれると判定した場合(Yes)は、ステップS210に移行し、そうでないと判定した場合(No)は、ステップS212に移行する。
【0058】
ステップS210に移行した場合は、死角情報推測部25において、死角部位の照明部位は推測不可能と判断して、照明部位に対する推測不可能情報を生成して、ステップS212に移行する。
ステップS212では、死角情報推測部25において、走行状態判定部30からの判定結果に基づき、該当の他車両は、走行状態か否かを判定する。そして、走行状態であると判定した場合(Yes)は、ステップS214に移行し、そうでないと判定した場合(No)は、ステップS216に移行する。
【0059】
ステップS214に移行した場合は、死角情報推測部25において、死角部位である可視側面と反対側のドア部は推測可能であると判断し、ドア部に対する推測可能情報を生成して、ステップS220に移行する。つまり、他車両が走行状態であれば、反対側のドアは閉まっていると判断できるので、推測可能と判断する。
一方、ステップS216に移行した場合は、死角情報推測部25において、反対側のドア部は推測不可能であると判断し、ドア部に対する推測不可能情報を生成して、ステップS220に移行する。つまり、他車両が停車している場合、反対側のドアは開いている場合があるので、推測不可能と判断する。
【0060】
また、ステップS202において、可視画像部分が可視側面画像を含まず、ステップS218に移行した場合は、死角情報推測部25において、死角部位は推測不可能と判断し、推測不可能情報を生成して、ステップS220に移行する。
ステップS220では、死角情報推測部25において、可視画像部分データ及び座標情報と、死角部位の情報とを画像補完部26に入力して、一連の処理を終了し元の処理に復帰させる。ここで、可視画像部分が可視側面画像を含む場合は、死角部位の形状、色の情報、照明部位を含む場合の推測不可能情報、走行状態時のドア部の推測可能情報、停車時のドア部の推測不可能情報等の死角部位の情報が画像補完部26に入力される。また、可視画像部分が可視側面画像を含む場合は、死角部位に対する推測不可能情報が画像補完部26に入力される。
【0061】
(画像補完処理)
次に、画像補完処理の処理手順について説明する。
図8は、ステップS116において、画像補完部26によって行われる画像補完処理の処理手順の一例を示すフローチャートである。
ステップS116において、画像補完処理が実行されると、
図8に示すように、まず、ステップS300に移行する。
ステップS300では、画像補完部26において、死角情報推測部25からの情報に基づき、車両周囲画像から他車両の可視画像部分が検出されたか否かを判定する。そして、他車両の可視画像部分が検出されたと判定した場合(Yes)は、RAM13から、対象の車両周囲画像データを読み出して、ステップS302に移行する。一方、そうでないと判定した場合(No)は、一連の処理を終了して元の処理に復帰させる。
【0062】
ステップS302に移行した場合は、画像補完部26において、死角情報に基づき、死角部位の情報が推測可能であるか否かを判定し、推測可能であると判定した場合(Yes)は、ステップS304に移行し、そうでないと判定した場合(No)は、ステップS322に移行する。
ステップS304に移行した場合は、画像補完部26において、可視側面画像を反転した反転画像を生成して、ステップS306に移行する。
ステップS306では、画像補完部26において、反転画像における前輪部分を反転し、他車両の反対側の側面の補完画像データを生成して、ステップS308に移行する。
ステップS308では、画像補完部26において、ステップS306で生成した補完画像データによって、他車両の反対側の側面の画像を補完して、ステップS310に移行する。
【0063】
ステップS310では、画像補完部26において、可視画像部分と補完画像部分との間の死角部位の形状を補間演算によって補間描画して、ステップS312に移行する。
ステップS312では、画像補完部26において、描画補完した死角部位を推測した色に着色して、ステップS314に移行する。
ステップS314では、画像補完部26において、死角情報推測部25からの情報に基づき、照明部位は推測不可能か否かを判定し、推測不可能であると判定した場合(Yes)は、ステップS316に移行し、そうでないと判定した場合(No)は、ステップS318に移行する。
【0064】
ステップS316に移行した場合は、画像補完部26において、反対側の側面の補完画像における照明部位の色を灰色に着色(変更)して、ステップS318に移行する。
ステップS318では、画像補完部26において、死角情報推測部25からの情報に基づき、ドア部は推測不可能か否かを判定し、推測不可能であると判定した場合(Yes)は、ステップS320に移行し、そうでないと判定した場合(No)は、一連の処理を終了して元の処理に復帰させる。
ステップS320に移行した場合は、画像補完部26において、反対側の側面の補完画像におけるドア部の色を灰色に着色(変更)して、一連の処理を終了して元の処理に復帰させる。
【0065】
一方、ステップS302において、死角部位の情報が推測不可能であると判定して、ステップS322に移行した場合は、画像補完部26において、可視画像部分を検索情報として、HDD16に記憶された車両画像データベース300を検索して、ステップS324に移行する。
ステップS324では、画像補完部26において、ステップS322の検索処理によって、他車両と同種の車両が索出されたか否かを判定する。そして、同種の車両が索出されたと判定した場合(Yes)は、ステップS326に移行し、そうでないと判定した場合(No)は、一連の処理を終了して元の処理に復帰させる。
ステップS326に移行した場合は、画像補完部26において、索出した車両の3次元CGデータを用いて、他車両の死角部位の補完画像データを生成して、ステップS328に移行する。
【0066】
ステップS328では、画像補完部26において、ステップS326で生成した補完画像データを用いて、他車両の死角部位を補完して、ステップS330に移行する。
ステップS330では、画像補完部26において、死角情報推測部25からの情報に基づき、別の他車両があるか否かを判定し、あると判定した場合(Yes)は、ステップS302に移行し、そうでないと判定した場合(No)は、一連の処理を終了して元の処理に復帰させる。
【0067】
(動作)
次に、本実施形態の車両用画像生成装置100の動作を説明する。
図9は、車両周囲の領域を撮影時における自車両と他車両との位置関係の一例を示す図である。
図10は、
図9の仮想視点とは反対側の視点から見た場合の他車両の撮影範囲の一例を示す図である。
図11は、
図9の仮想視点から見た場合の、他車両の死角部位を含む非撮影範囲の一例を示す図である。
図12(a)〜(d)は、他車両が走行状態時の画像補完処理の流れの一例を示す図である。
図13(a)は、他車両が走行状態時の画像補完後の
図9の仮想視点から見た画像を示す図であり、(b)は、他車両が停車状態時の画像補完後の
図9の仮想視点から見た画像を示す図である。
図14は、他車両が停車状態時の画像補完処理の流れの一例を示す図である。
【0068】
イグニッションスイッチがONされ、電源がONされると、CPU10において専用のプログラムが実行される。プログラムが実行されると、まず、タイマーやカウンタの初期化に加えて、プログラムで用いる各種変数等が初期化される(S100)。初期化処理においては、不図示のカメラキャリブレーション部において、撮像装置11A〜11Dの各ステレオカメラに対するカメラキャリブレーションが実行される。そして、カメラキャリブレーション処理が終了し、操作部14を介したユーザからの開始指示が入力されると(S102のYes)、車両用画像生成機能構成部120は、まず、画像情報入力部20において、ステレオカメラ11A〜11Dから送信される車両周囲の領域を撮影した撮影画像データを取得する。更に、画像情報入力部20は、車速センサ17から自車両1の車速情報を取得する。そして、取得した撮影画像データを、車速情報及び撮影時間情報と対応付けてRAM13に記憶する。加えて、画像情報入力部20は、取得した撮影画像データを、座標情報検出部21と投影画像生成部22とにそれぞれ入力する(S104)。
なお、本実施形態において、ステレオカメラ11A〜11Dは、デジタルビデオカメラであり、各ステレオカメラにおいて、30[fps]のフレームレートで撮影が行われる。画像情報入力部20は、この撮影画像データのうち、予め設定されたサンプリング周期に対応するタイミングで撮影された撮影画像データを取得する。
【0069】
座標情報検出部21は、画像情報入力部20から撮影画像データが入力されると、ステレオカメラ11A〜11Dにおける各ステレオカメラに対応する同じ撮影時間の2枚の撮影画像データIL,IRについて、撮影画像データILの各対象点の座標(XL,YL)に対する撮影画像データIRの対応点の座標(XR,YR)の探索処理を実行する。その後、座標(XL,YL)と、座標(XR,YR)と、焦点距離fと、基線長bとを用いて、上式(1)及び(2)から、各撮影画像データに含まれる物体の3次元座標値を算出(検出)する。座標情報検出部21は、このようにして検出した3次元座標値の情報を、投影画像生成部22に入力する(S106)。
【0070】
投影画像生成部22は、ステレオカメラ11A〜11Dに対応する各撮影画像データの3次元座標値に基づき、各撮影画像データに含まれる各物体の形状を認識する。更に、形状の認識された各物体について、投影面を設定する。投影画像生成部22は、予め設定された基準視点(XVr,YVr,ZVr)に基づき、各物体に対して設定した投影面に、撮影画像データに含まれる各物体に対応する画像を、透視変換によって投影する。これにより、ステレオカメラ11A〜11Dの各撮影範囲に対応する投影画像データを生成する。投影画像生成部22は、生成した投影画像データを、車両周囲画像生成部23に入力する(S108)。
【0071】
車両周囲画像生成部23は、各撮影範囲に対応する投影画像データと、自車両1の3次元CGモデルとを合成して、基準視点から見た、3次元構造を有する車両周囲画像データを生成する。車両周囲画像生成部23は、生成した車両周囲画像データを、撮影時間情報と対応付けてRAM13に記憶すると共に、車両画像検出部24に入力する(S110)。
【0072】
車両画像検出部24は、車両周囲画像生成部23から車両周囲画像データが入力されると、ROM12から、テンプレートデータを読み出す。そして、読み出したテンプレートを用いたテンプレートマッチング処理によって、入力された車両周囲画像データから、他車両の可視画像部分を検出する。車両画像検出部24は、他車両の可視画像部分を検出すると、検出した他車両の可視画像部分データと座標情報とを死角情報推測部25に入力する。加えて、走行状態判定部30に、他車両の可視画像部分が検出されたことを通知する(S112)。ここでは、他車両の可視画像部分が検出されたこととして、以下の動作を説明する。
【0073】
走行状態判定部30は、車両画像検出部24から他車両が検出された通知を受けると、RAM13から、時系列に連続する各2つの撮影画像データと、各撮影画像データに対応する自車速と、他車両の座標情報とを読み出す。更に、ROM12から、車速と画像(物体)の位置変位との対応関係を示す情報を読み出す。そして、走行状態判定部30は、これら読み出したデータに基づき、2枚の撮影画像データに含まれる他車両の画像の位置変位量が、自車両1の車速に対して、走行状態時の位置変位量か停車状態時の位置変位量かを判定する。これにより、撮影画像データに含まれる各他車両が、走行状態か否かを判定する。走行状態判定部30は、各他車両に対する判定結果を、死角情報推測部25に入力する(S114)。
【0074】
死角情報推測部25は、車両画像検出部24の検出結果に基づき他車両が検出されたと判定し(S200のYes)、可視画像部分データの画像情報に基づき、他車両の死角部位の情報を推測する。
以下、
図9に示す位置関係で、自車両1に搭載されたステレオカメラ11A〜11Dによって、他車両2を撮影した場合を例に挙げて説明する。
【0075】
図9に例示する位置関係の場合、他車両2は、ステレオカメラ11A及び11Bの撮影範囲A及びBに含まれる。一方、
図9の配置関係を、自車両1及び他車両2の右側方に仮想視点(XVR,YVR,ZVR)を設定して見た場合、
図10に示すように、他車両の右側面及び後面は撮影範囲内となり、他車両の前面、上面及び左側面は撮影範囲外となる。従って、
図9に示すように、自車両1及び他車両2の左側方に仮想視点(XVL,YVL,ZVL)を設定して見た場合、
図11に示すように、他車両2の前面、上面、左側面及び他車両2によって遮られる反対側の景色は、撮影範囲外となる。つまり、
図9に示す位置関係の場合、他車両2の前面、上面及び左側面が死角部位(撮影範囲外)となる。
【0076】
図12(a)の右図に示すように、他車両2を上面から見ると、太線部分が他車両2の可視画像部分200となる。一方、
図12(a)の左図に示すように、可視画像部分200は、可視側面画像220を含む。死角情報推測部25は、可視側面画像220の画像データに基づき、他車両2の死角部位の形状を推測する。ここでは、他車両2の側面全体の画像データが得られているので、死角情報推測部25は、左右対称として、他車両2の死角部位である左側面の形状が、可視側面画像220と同形状であると推測する。加えて、可視画像部分200の形状から、他車両2は、箱形の車両であると推測する(S204)。
【0077】
例えば、車両側面の形状と車両全体の形状との対応関係を示す情報をROM12に記憶しておき、他車両2の可視側面画像の形状と照らし合わせることで、形状を推測する。
これにより、側面画像から、オープンカーや荷台のあるトラック等のような特殊な形状や、セダンやワンボックスカーのような一般によく見られる箱形の形状等を推測する。
更に、死角情報推測部25は、可視側面画像データに基づき、左側面部の色を解析する。例えば、各色の画素数を計数する。
図12(a)の例では、他車両2のボディカラーが白色であるため、白色の画素数が最も多くなる。従って、死角情報推測部25は、死角部位の色が白色であると推測する(S206)。
【0078】
次に、死角情報推測部25は、可視側面画像データに基づき、可視側面画像220が照明部位を含むか否かを判定する(S208)。
図12(a)の例では、可視側面画像220は、ヘッドランプの一部とウィンカーランプ(前後)の一部とを含んでいる。死角情報推測部25は、例えば、パターンマッチング処理や色の濃淡の変化(輝度変化)等により、これらの照明部位を検出する。そして、この検出結果に基づき、ここでは、照明部位を含むと判定する(S208のYes)。死角情報推測部25は、可視側面画像220が照明部位を含むことから、他車両2の死角部位である左側面部の照明部位は推測不可能であると判断する。そして、照明部位についての推測不可能情報を生成する(S210)。
【0079】
なお、ヘッドランプについては、ウィンカーランプのように一方だけを点灯するといった状態にはならないので推測可能と判定してもよい。しかし、ヘッドランプと前方のウィンカーランプとは近接して配置されることが多い。そのため、ヘッドランプとウィンカーランプとの境界を判定することが困難となる恐れがある。従って、本実施形態では、照明系は一緒くたにして、推測不可能と判定している。
【0080】
次に、死角情報推測部25は、走行状態判定部30からの判定結果に基づき、他車両2が走行状態か否かを判定する(S212)。ここでは、他車両2が走行状態である判定結果を取得したとする。死角情報推測部25は、他車両2が走行状態であると判定し(S212のYes)、他車両2の死角部位である左側面部のドア部は推測可能であると判断する。そして、ドア部についての推測可能情報を生成する(S214)。
【0081】
死角情報推測部25は、可視画像部分データ及び座標情報と、推測した形状情報、色情報、照明部位の推測不可情報、及びドア部の推測可能情報を含む死角情報とを、画像補完部26に入力する(S220)。引き続き、別の他車両が検出されている場合は、上記同様の処理を繰り返し行う。ここでは、説明の便宜上、他車両2の1台だけであるとする。
画像補完部26は、死角情報推測部25から上記死角情報を取得すると、死角情報の内容から、他車両が検出されたと判定し、RAM13から対象の車両周囲画像データを読み出す(S300のYes)。更に、画像補完部26は、死角情報の内容に基づき、死角部位の情報が推測可能であると判定する(S302のYes)。
【0082】
画像補完部26は、死角情報に含まれる形状情報から、他車両2の死角部位である左側面が、可視側である右側面と左右対称であると判定する。これにより、画像補完部26は、
図12(b)に示すように、車両画像検出部24から取得した、オリジナル画像から複製(コピー)した可視側面画像データに基づき、可視側面画像220を左右反転した反転側面画像220Tを生成する(S304)。このとき、前輪の舵角によっては、前輪の向きが反対向きとなってしまうので、画像補完部26は、前輪の画像部分を左右反転した反転側面画像220T+を生成する(S306)。つまり、可視側面画像220を左右反転(turn)させた画像が220Tであり、これに加えて、220Tにおける前輪の画像部分を左右反転させた画像が220T+となる。
【0083】
画像補完部26は、
図12(c)に示すように、生成した反転側面画像220T+によって、他車両2の反対側の側面(左側面)の画像を補完する(S308)。これが、
図12(c)に示す、補完(1)の複製補完処理となる。
引き続き、画像補完部26は、形状情報から、他車両2が箱形であること判定する。これにより、画像補完部26は、
図12(c)の点線部に示すように、可視画像部分200と、補完画像部分である反転側面画像220T+との間の死角部位を、補間計算による補間描画によって補完する(S310)。これが、
図12(c)に示す、補完(2)の描画補完処理となる。なお、
図12(c)における斜線部は、描画補完によって補完された部分(面が形成された部分)であり、色が不明となっている。
【0084】
次に、画像補完部26は、死角情報に含まれる色情報から、他車両2の死角部位の色が白色であると判定する。これにより、画像補完部26は、
図12(d)に示すように、色が不明となっていた
図12(c)の斜線部を白色に着色する(S312)。加えて、画像補完部26は、死角情報に含まれる照明部位に対する推測不可能情報から、反転側面画像220T+における照明部位が推測不可能であると判定する(S314のYes)。これにより、画像補完部26は、補完部分である反転側面画像220T+における照明部位の画像部分を、予め設定された推測不可能部位を示す色(ここでは灰色)に着色する(S316)。これが
図12(d)に示す、補完(3)の着色補完処理となる。
【0085】
次に、画像補完部26は、死角情報に含まれるドア部の推測可能情報から、反転側面画像220T+におけるドア部が推測可能であると判定する(S318のNo)。画像補完部26は、推測可能な場合、ドア部はそのままとする。
そして、画像補完部26は、死角部位を補完後の車両周囲画像データを、対応する撮影画像データの撮影時間情報に対応付けてRAM13に記憶する。更に、画像補完部26は、補完後の車両周囲画像データを、画像再構成部28に入力する。
【0086】
画像再構成部28は、基準視点から見た補完後の車両周囲画像を、
図9に示す仮想視点(XVL,YVL,ZVL)から見た画像へと再構成する。そして、画像再構成部28は、再構成後の車両周囲画像データを、画像表示部29に入力する(S120)。
なお、透視変換によって構成される画像を、仮想視点から見た画像に再構成する技術は公知であるので説明を省略する。
【0087】
画像表示部29は、入力された再構成後の車両周囲画像データに基づき、車両周囲画像を、ディスプレイ15に表示するための画像信号を生成する。そして、画像表示部29は、生成した画像信号をディスプレイ15に入力する。これにより、ディスプレイ15に、再構成後の車両周囲画像が表示される。
このようにして表示された、車両周囲画像における
図9の仮想視点に対応する画像は、
図13(a)に示すように、他車両2の死角部位が、反転側面画像220T+によって補完され、かつ推測不可能と判断された照明部位が灰色に着色されたものとなる。
【0088】
次に、死角情報推測部25において、他車両2が停車状態であると判定され(S212のNo)、ドア部が推測不可能であると判断された場合の画像補完処理について説明する。
死角情報推測部25は、他車両2が停車状態であると判断すると、ドア部についての推測不可能情報を生成する(S216)。
なお、その他の死角情報は、上記他車両2が走行状態であった場合と同じとする。
【0089】
死角情報推測部25は、可視画像部分データ及び座標情報と、推測した形状情報、色情報、照明部位の推測不可情報、及びドア部の推測不可情報を含む死角情報とを、画像補完部26に入力する(S220)。
画像補完部26は、死角情報推測部25から上記死角情報を取得すると、死角情報の内容から、他車両が検出されたと判定し、RAM13から対象の車両周囲画像データを読み出す(S300のYes)。更に、画像補完部26は、死角情報の内容に基づき、死角部位の情報が推測可能であると判定する(S302のYes)。
【0090】
なお、補完(2)の描画補完までは、上記
図12に示す他車両2が走行状態のときと同様の処理となるので説明を省略する。
画像補完部26は、死角情報に含まれる色情報から、他車両2の死角部位の色が白色であると判定する。これにより、画像補完部26は、
図14(d)に示すように、色が不明となっていた
図14(c)の斜線部を白色に着色する(S312)。加えて、画像補完部26は、死角情報に含まれる照明部位の推測不可能情報から、反転側面画像220T+における照明部位が推測不可能であると判定する(S314のYes)。これにより、画像補完部26は、補完部分である反転側面画像220T+における照明部位の画像部分を灰色に着色する(S316)。加えて、画像補完部26は、死角情報に含まれるドア部の推測不可情報から、反転側面画像220T+におけるドア部が推測不可能であると判定する(S318のYes)。つまり、他車両2は停車状態であるため、死角側のドア部が開いている状態の場合もあるため、ドア部の形状について推測ができない。この場合に、画像補完部26は、反転側面画像220T+におけるドア部を灰色に着色する(S320)。これが
図14(d)に示す、補完(3)の着色補完処理となる。
【0091】
そして、画像補完部26は、死角部位を補完後の車両周囲画像データを、対応する撮影画像データの撮影時間情報に対応付けてRAM13に記憶する。更に、画像補完部26は、補完後の車両周囲画像データを、画像再構成部28に入力する。
画像再構成部28は、基準視点から見た補完後の車両周囲画像を、
図9に示す仮想視点(XVL,YVL,ZVL)から見た画像へと再構成する。そして、画像再構成部28は、再構成後の車両周囲画像データを、画像表示部29に入力する(S120)。
【0092】
画像表示部29は、入力された再構成後の車両周囲画像データに基づき、画像信号を生成する。そして、画像表示部29は、生成した画像信号をディスプレイ15に入力する。これにより、ディスプレイ15に、再構成後の車両周囲画像が表示される。
このようにして表示された、車両周囲画像における
図9に対応する画像は、
図13(b)に示すように、他車両2の死角部位が、反転側面画像220T+によって補完され、かつ推測不可能と判断された照明部位及びドア部が灰色に着色されたものとなる。
【0093】
次に、死角情報推測部25において、死角部位の情報が推測できないと判定された場合の動作について説明する。つまり、可視画像部分に可視側面画像(側面の80%以上)が無い場合の動作となる。
死角情報推測部25は、可視画像部分に可視側面画像が無いと判定すると(S202のNo)、死角部位の情報が推測不可能であると判断する。死角情報推測部25は、死角部位の情報が推測不可能であると判断すると、死角部位の情報についての推測不可能情報を生成する(S218)。そして、死角情報推測部25は、可視画像部分データ及び座標情報と、死角部位についての推測不可能情報を含む死角情報とを、画像補完部26に入力する(S220)。
【0094】
画像補完部26は、死角情報推測部25からの死角情報に基づき、他車両の死角部位の推測が不可能であると判定する(S302のNo)。これにより、画像補完部26は、可視画像部分データを検索情報として、HDD16に記憶された車両画像データベース300から、他車両と同車種の3次元CGモデルを検索する(S322)。この検索によって、同車種の3次元CGモデルが索出されると(S324)、そのデータを用いて他車両の死角部位の補完画像データを生成する(S326)。画像補完部26は、生成した補完画像データを用いて、他車両の死角部位の画像を補完する(S328)。なお、この場合も、死角部位となるドア部を他車両が停車時に灰色に着色したり、死角部位の照明部位を灰色に着色したりしてもよい。
【0095】
画像補完部26は、補完後の車両周囲画像データをRAM13に記憶すると共に、補完後の車両周囲画像データを、画像再構成部28に入力する。
画像再構成部28は、基準視点から見た補完後の車両周囲画像を、仮想視点から見た画像へと再構成する。そして、画像再構成部28は、再構成後の車両周囲画像データを、画像表示部29に入力する(S120)。
【0096】
画像表示部29は、入力された再構成後の車両周囲画像データに基づき、画像信号を生成する。そして、画像表示部29は、生成した画像信号をディスプレイ15に入力する。これにより、ディスプレイ15に、再構成後の車両周囲画像が表示される。
ここで、上記説明において、画像情報入力部20は、画像入力手段を構成する。座標情報検出部21は、座標情報検出手段を構成する。投影画像生成部22は、投影画像生成手段を構成する。車両周囲画像生成部23は、車両周囲画像生成手段を構成する。車両画像検出部24は、車両画像検出手段を構成する。死角情報推測部25は、死角情報推測手段を構成する。画像補完部26は、画像補完手段を構成する。仮想視点設定部27は、仮想視点情報設定手段を構成する。画像再構成部28は、画像再構成手段を構成する。走行状態判定部30は、走行状態判定手段を構成する。
【0097】
(本実施形態の効果)
本実施形態は、次のような効果を奏する。
(1)画像情報入力部20が、車両に搭載された複数のカメラにより車両周囲の領域を撮影して得られる複数の画像を入力する。座標情報検出部21が、画像入力手段によって入力された複数の画像に含まれる各物体の3次元座標情報を検出する。投影画像生成部22が、座標情報検出手段で検出した各物体の3次元座標情報に基づき構成される各物体の投影面に、複数の画像に含まれる各物体に対応する画像を投影して複数の投影画像を生成する。車両周囲画像生成部23が、投影画像生成部22によって生成された複数の投影画像を合成して、3次元構造を有する車両周囲画像を生成する。車両画像検出部24が、車両周囲画像に含まれる、複数のカメラにより撮影された画像に基づき構成される他車両の可視画像部分を検出する。死角情報推測部25が、車両画像検出手段の検出結果に基づき、車両周囲画像に他車両の可視画像部分が含まれると判定すると、可視画像部分の画像情報に基づき、複数のカメラの撮影範囲外となる前記他車両の死角部位の情報を推測する。画像補完部26が、死角情報推測部25で推測した情報に基づき、可視画像部分の画像情報を用いて、車両周囲画像に含まれる他車両の死角部位の画像を補完する。仮想視点設定部27が、仮想視点情報を設定する。画像再構成部28が、画像補完部26で補完された車両周囲画像を、仮想視点設定部27で設定された仮想視点情報の示す仮想視点から見た画像に再構成する。
【0098】
他車両の可視画像部分から死角部位の情報を推測し、この推測した情報に基づき可視画像部分の画像情報を用いて死角部位の画像を補完するようにした。これによって、車両周囲画像を仮想視点から見た画像に再構成した場合でも、他車両の死角部位の画像の少なくとも一部を補完して表示することができる。従って、他車両の死角部位の画像が何も表示されないような車両周囲画像と比較して、見やすい車両周囲画像を表示することが可能となる。また、車両周囲画像の信頼性を向上することが可能となる。
【0099】
(2)死角情報推測部25が、可視画像部分の画像情報に基づき他車両の死角部位の形状を推測する。画像補完部26が、死角情報推測部25で推測した死角部位の形状に基づき、可視画像部分から補完画像を生成し、生成した補完画像を用いて他車両の死角部位の画像を補完する。
車両の形状は、例えば、車両前後方向の中心線等に対して対称形状であることが多く、かつ1台の車両に同じ形状のパーツが複数存在する。従って、可視画像部分の内容によっては、例えば、可視部分と対となる死角部位の形状を推測することが可能である。このようにして推測した形状に基づき、可視画像部分から生成した補完画像を用いて死角部位の画像を補完するようにしたので、死角部位の画像を適切に補完することが可能となる。
【0100】
(3)死角情報推測部25が、可視画像部分が、他車両の側面を撮影した画像から構成される可視側面画像を含む場合に、他車両の画像形状を左右対称と推測する。画像補完部26は、死角情報推測部25の推測結果に基づき、可視側面画像を左右反転した補完画像を生成し、生成した補完画像を用いて他車両の死角部位の一部である反対側の側面の画像を補完する。
可視画像部分に他車両の側面の画像が含まれる場合に、車両形状の対称性から左右対称と推測し、可視側面画像を左右反転した補完画像によって、他車両の死角部位の一部である反対側の側面の画像を補完するようにした。これにより、死角部位の画像を適切に補完することが可能となる。
【0101】
(4)画像補完部26が、可視側面画像を左右反転した補完画像を生成するに際して、前記左右反転した補完画像における前輪部分の画像を、当該前輪部分の舵角を反転した画像に修正する。
可視側面画像を反転させて補完画像を生成した場合に、前輪の舵角によっては、前輪の向きが逆向きになった画像が生成される。上記(4)の構成であれば、前輪の画像部分を舵角を反転した画像に修正することができるので、より正確な補完画像を生成することが可能となる。
【0102】
(5)画像補完部26が、死角部位の画像の一部を補完した場合に、死角情報推測部25で推測した死角部位の形状に基づき、補完画像部分と可視画像部分との間の死角部位の画像部分の形状を補間計算によって描画補完する。
車両は、例えば、オープンカー等の特殊な形状の車両を除いて、多くが対称形状かつ箱形となる。従って、例えば、補完画像を含めて他車両の両側面の画像を形成できれば、両側面間を補間計算による補間描画によって補完することが可能となる。このような描画補完を行うようにしたので、より信頼性の置ける補完画像を生成することが可能となる。
【0103】
(6)死角情報推測部25が、可視画像部分の色情報に基づき、描画補完によって補完された補完画像部分の色を推測する。画像補完部26が、補完画像部分の少なくとも一部を死角情報推測部25で推測した色に着色する。
車両のボディカラーは、単色であることが多いので、例えば、車両側面のパーツに使用されている色が可視側面画像から解れば、ルーフ部分等の死角部位の色も同じ色であると推測することが可能である。このようにして、死角部位の色を補完することで、より信頼性の置ける補完画像を生成することが可能となる。
【0104】
(7)死角情報推測部25が、可視画像部分から死角部位の少なくとも一部の情報が推測不可能であると判定すると、該当部位に対して推測が不可能であることを示す推測不可情報を画像補完部26に出力する。画像補完部26が、死角情報推測部25からの推測不可情報に基づき、他車両の死角部位のうち推測不可能な部分があったと判定すると、推測不可能な部分について、予め設定された描画内容で描画を行う。
例えば、他車両の可視画像部分が少なくて、形状や色などを推測するには情報が不足している場合は、死角部位の情報を推測することが不可能となる。また、他車両の走行状態によって形状や状態が変わる可能性のある死角部位などは、情報の推測が不可能となる。このような場合に、推測不可能であることを画像補完部26に通知するようにした。加えて、画像補完部26は、推測不可能と判定された死角部分を、予め設定された内容で描画するようにした。例えば、推測不可能な部位を推測不可能であることを明示できる色で着色する等することで、推測不可能な部位をユーザに対して明示することが可能となる。これによって、不明確な情報の表示を防ぐことができ、ユーザが補完画像を見て誤った判断をすること等を防ぐことが可能となる。
【0105】
(8)走行状態判定部30が、他車両の走行状態を判定する。死角情報推測部25が、走行状態判定部30の判定結果に基づき、他車両が停止していると判定すると、他車両の死角部位に含まれるドア部分を推測不可能な部分と判定する。
他車両が走行している状態であれば、当該他車両のドアが全て閉まっている状態であると推測することができる。一方、他車両が停止している状態であると、死角部位となるドアが閉まっている状態であるとは限らない。このような状況を考慮して、他車両が停止している状態のときは、死角部位のドア部を推測不可能な部分と判定するようにした。これによって、不明確な情報の表示を防ぐことができ、ユーザが補完画像を見て誤った判断をすること等を防ぐことが可能となる。
【0106】
(9)死角情報推測部25が、他車両の死角部位のうち少なくともウィンカーランプ部を含む照明系の部位を推測不可能な部分と判定する。
例えば、ウィンカーランプは、左右の一方が点灯していない状態において、他方が点灯している状態と、点灯していない状態との2状態があり得る。また、左右双方が点灯する状態もあり得る。このような状況を考慮して、少なくとも死角部位のウィンカーランプ部を推測不可能な部分と判定するようにした。これによって、不明確な情報の表示を防ぐことができ、ユーザが補完画像を見て誤った判断をすること等を防ぐことが可能となる。
【0107】
(10)画像補完部26が、車両周囲画像に含まれる他車両の可視画像部分を検索情報として、車両画像データベース300から他車両に対応する3次元CGモデルを検索する。画像補完部26が、該検索によって索出された3次元CGモデルに基づき、他車両の死角部位の補完画像を生成し、生成した補完画像を用いて他車両の死角部位の画像を補完する。
車両画像データベース300に記憶された複数車種の3次元CGモデルのなかに、可視画像部分に合致する画像部分を有する車種の3次元CGモデルがある場合に、その画像データを用いて生成した補完画像を用いて他車両の死角部位の画像を補完するようにした。これによって、可視画像部分から死角部位の推測ができないような場合や、大部分を推測できなかった場合などに、適切に死角部位の画像を補完することが可能となる。
【0108】
(11)画像補完部26が、死角情報推測部25の推測結果に基づき、死角部位の情報が推測できなかったと判定すると、車両周囲画像に含まれる他車両の可視画像部分を検索情報として、車両画像データベース300から他車両に対応する3次元CGモデルを検索し、該検索によって索出された前記3次元CGモデルに基づき、他車両の死角部位の補完画像を生成し、生成した補完画像を用いて他車両の死角部位の画像を補完する。
可視画像部分から死角部位の情報が推測ができなかった場合に、車両画像データベース300の可視画像部分から検出される3次元CGモデルの画像データを用いて、他車両の死角部位の画像を補完するようにした。これによって、他車両の死角部位の画像が何も表示されないような車両周囲画像と比較して、見やすい車両周囲画像を表示することが可能となる。また、車両周囲画像の信頼性を向上することが可能となる。
【0109】
(12)画像情報入力部20が、車両に搭載された複数のカメラにより車両周囲の領域を撮影して得られる複数の画像を入力する。座標検情報出部21が、画像情報入力部20によって入力された複数の画像に含まれる各物体の3次元座標情報を検出する。投影画像生成部22が、座標情報検出部21で検出した各物体の3次元座標情報に基づき構成される各物体の投影面に、複数の画像に含まれる各物体に対応する画像を投影して複数の投影画像を生成する。車両周囲画像生成部23が、投影画像生成部22によって生成された複数の投影画像を合成して、3次元構造を有する車両周囲画像を生成する。車両画像検出部24が、車両周囲画像に含まれる、複数のカメラにより撮影された画像に基づき構成される他車両の可視画像部分を検出する。画像補完部26が、車両画像検出部24で検出された他車両の可視画像部分を検索情報として、車両画像データベース300から前記他車両に対応する3次元CG(Computer Graphics)モデルを検索し、該検索によって索出された3次元CGモデルに基づき、他車両の死角部位の補完画像を生成し、生成した補完画像を用いて他車両の死角部位の画像を補完する。仮想視点設定部27が、仮想視点情報を設定する。画像再構成部28が、画像補完部26で補完された車両周囲画像を、仮想視点設定部27で設定された仮想視点情報の示す仮想視点から見た画像に再構成する。
【0110】
車両画像データベース300に記憶された複数車種の3次元CGモデルのなかに、可視画像部分に合致する画像部分を有する車種の3次元CGモデルがある場合に、その画像データを用いて生成した補完画像を用いて他車両の死角部位の画像を補完するようにした。これによって、他車両の死角部位の画像が何も表示されないような車両周囲画像と比較して、見やすい車両周囲画像を表示することが可能となる。また、車両周囲画像の信頼性を向上することが可能となる。
【0111】
(変形例)
(1)上記実施形態において、自車両1の周囲の領域を撮影する撮像装置(撮像装置11A〜11D)を、自車両1の前後左右に各1台ずつ配置する構成としたが、この構成に限らない。
【0112】
例えば、
図15に示すように、自車両1の前後左右に各2台ずつの撮像装置を配置するなど他の構成としてもよい。
図15において、各黒点が上記実施形態の撮像装置に対応する。また、各黒点から伸びる2本の線の内側が撮影範囲となる。なお、
図15中の撮影範囲は、一部を示したものであり、かつ2本の線で2次元的に示しているが、実際は円錐形状となる。
一般に、カメラのレンズが広角になるほど、画像に歪みが生じる。
図15の例のように、カメラの数を増やすことで、画角を狭めることができ、歪みの少ない撮影画像を用いて車両周囲画像を生成することが可能となる。また、他の撮像装置の撮影範囲とのオーバーラップも容易となる。これにより、隙間無く車両周囲の領域を撮影することが可能となり、より正確な車両周囲画像を生成することが可能となる。
【0113】
(2)上記実施形態において、今回生成した車両周囲画像に含まれる可視画像部分のみを用いて、他車両の死角部位の画像を補完する構成を例に挙げて説明したが、この構成に限らない。
例えば、
図16に示すように、自車両1の隣の車線を走行する他車両2が自車両1を追い抜いていった場合を想定する。この場合、他車両2が
図16中の(1)の位置にいるときは、自車両1の撮影範囲Dによって、他車両2の前側の大部分を撮影することができる。また、他車両2が
図16中の(2)の位置にいるときは、自車両1の撮影範囲Bによって、他車両2の右側面の全体を撮影することができる。そして、他車両2が
図16中の(3)の位置にいるときは、自車両1の撮影範囲Aによって、他車両2の後側の大部分を撮影することができる。これは、自車両1が後方から他車両2を追い越す場合なども同様となる。また、他車両2が対向車線を走行している場合も、撮影対象の向きが変わるのみで同様となる。このように、自車両1と他車両2との位置関係が変化する場合に、同一の他車両に対して得られる画像の内容が変化する。このことを踏まえて、既に得られている最大範囲の撮影画像データと、新たに得られる撮影画像データとを併用して、車両周囲画像に含まれる他車両の死角部位の画像を補完する構成としてもよい。これにより、より正確に他車両の死角部位の画像を補完することが可能となる。
【0114】
(3)上記実施形態において、他車両の可視画像部分に可視側面画像が含まれない場合に、死角部位の情報を推測できないと判定する構成としたが、この構成に限らない。可視側面画像を含まない場合や、一部しか含まない場合でも、例えば、他車両の前側の大部分や後側の大部分の可視画像部分などがあるような場合、側面画像が無くても推測が可能な場合は死角部位の情報を推測する構成としてもよい。
(4)上記実施形態において、他車両の可視画像部分から死角部位の情報を推測できないと判定した場合に、車両画像データベース300を利用して、死角部位の画像を補完する構成としたが、この構成に限らない。例えば、死角部位の情報を推測せずに、初めから車両画像データべースを利用して、死角部位の画像を補完する構成としてもよい。
【0115】
また、上記実施形態は、本発明の好適な具体例であり、技術的に好ましい種々の限定が付されているが、本発明の範囲は、上記の説明において特に本発明を限定する旨の記載がない限り、これらの形態に限られるものではない。また、上記の説明で用いる図面は、図示の便宜上、部材ないし部分の縦横の縮尺は実際のものとは異なる模式図である。
また、本発明は上記実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良、均等物等は本発明に含まれるものである。