以下、図面に基づいて、本発明の実施形態について説明する。
図1は、本実施形態に係る駐車支援システム100のブロック構成図である。図1に示すように、本実施形態に係る駐車支援システム100は、制御装置10、自車両の外部に固定された4つの車載カメラ1a〜1d、車速センサ2、操舵角センサ3、シフト位置センサ4、ディスプレイ5、および駐車ボタン6を備えている。これらの各装置はCAN(Controller Area Network)その他の車載LANによって接続され、相互に情報の授受を行うことができる。
車載カメラ1a〜1dは、車両の外部の異なる位置に各々設置され、車両周囲の4方向の画像をそれぞれ撮像する。図2に、車載カメラ1a〜1dの配置例を示す。たとえば、図2に示すように、フロントグリル近傍などの車両前方の所定位置に設置された車載カメラ1aは、車両前方の所定撮像エリアSP1の画像(以下、フロントビュー画像という)を撮像する。左サイドミラーなどの車両左側方の所定位置に設置され車載カメラ1bは、車両左側方の所定撮像エリアSP2の画像(以下、左サイドビュー画像という)を撮像する。ルーフスポイラーなどの車両後方の所定位置に設置された車載カメラ1cは、車両後方の所定撮像エリアSP3の画像(以下、リアビュー画像という)を撮像する。右サイドミラーなどの車両右側方の所定位置に設置された車載カメラ1dは、車両右側方の所定撮像エリアSP4の画像(以下、右サイドビュー画像という)を撮像する。これら4台の車載カメラ1a〜1dは所定周期で撮像画像を制御装置10へ送出する。制御装置10は、車載カメラ1a〜1dから撮像画像をそれぞれ取得する。カメラ1a〜1dは、例えばCCD(Charge Coupled Device)カメラやCMOS(Complementary Metal-Oxide Semiconductor)カメラで構成されている。これらカメラ1a〜1dは、車両周辺を所定の周期で撮像し、得られた撮像画像を制御装置10に出力する。
車速センサ2、操舵角センサ3およびシフト位置センサ4は、自車両の挙動を検出する。具体的には、車速センサ2は、自車両の車速を検出する。また、操舵角センサ3は、自車両のハンドル操舵角を検出する。さらに、シフト位置センサ4は、自車両のシフト位置(ギヤポジションの位置)を検出する。なお、車速センサ2、操舵角センサ3およびシフト位置センサ4による、車速の検出、操舵角の検出、およびシフト位置の検出は所定の周期で繰り返し実行される。そして、車速センサ2、操舵角センサ3およびシフト位置センサ4は、車速信号、操舵角信号、およびシフト位置信号を制御装置10に出力する。
また、本実施形態の駐車支援システム100は、運転操作を支援する各種情報を運転者に提示するディスプレイ5を備える。ディスプレイ5は、自車両周囲の画像である周囲画像を表示画面上に表示させる。
さらに、本実施形態の駐車支援システム100は、駐車ボタン6を備えている。駐車ボタン6は、たとえば、車室内インストメントパネルに設置されている。駐車ボタン6は、ユーザに押圧操作されることによって、制御装置10に対して駐車支援動作の開始を指示する起動信号を出力する。
また、制御装置10は、図1に示すように、各種プログラムが格納されたROM(Read Only Memory)12と、このROM12に格納されたプログラムを実行する動作回路としてのCPU(Central Processing Unit)11と、アクセス可能な記憶装置として機能するRAM(Random Access Memory)13と、を備えている。
そして、制御装置10は、駐車支援を行なうための周囲画像を生成し、生成した周囲画像および周囲画像中で検出された目標駐車枠をディスプレイ6に表示させるために、撮像画像取得機能と、画像変換機能と、周囲画像生成機能と、白線検出機能と、白線平行度算出機能と、駐車枠判定機能と、表示制御機能とを備えている。制御装置10は、上記各機能を実現するためのソフトウェアと、上述したハードウェアの協働により各機能を実行することができる。
以下に、駐車支援システム100の制御装置10が実現する各機能についてそれぞれ説明する。
まず、制御装置10の撮像画像取得機能について説明する。本実施形態の制御装置10は、イグニッションスイッチ(不図示)に入力操作がされると、車載カメラ1a〜1dに所定周期で車両周囲を撮像させる。そして、制御装置10は、車載カメラ1a〜1dにより所定周期で撮像された撮像画像を取得する。
次に、制御装置10の画像変換機能について説明する。本実施形態の制御装置10は、取得した各車載カメラ1a〜1dの撮像画像に基づいて、自車両上方の仮想視点から自車両および自車両周囲を見下ろした俯瞰画像に変換するとともに、これらを繋ぎ合わせて、一つの合成俯瞰画像を生成する。具体的には、制御装置10は、異なる位置の車載カメラ1a〜1dによって取得された各撮像画像を、各撮像画像の画素アドレスと合成俯瞰画像におけるアドレスとの対応関係を示す変換テーブルを参照して、合成俯瞰画像の座標へ変換する。そして、制御装置10は、座標変換された各撮像画像を繋ぎ合せ、自車両周囲の様子を示す一つの合成俯瞰画像を生成する。
図3は合成俯瞰画像Kの一例を示す図である。図3に示す合成俯瞰画像Kは、図2に示す車載カメラ1a〜1dによって撮像されたフロントビュー画像、左サイドビュー画像、リアビュー画像、右サイドビュー画像を視点変換して得た俯瞰画像A1、A2、A3およびA4を繋ぎ合せたものである。また、図3に示す合成俯瞰画像Kに示す斜線部分は自車両が存在する部分である。この部分には、上空の仮想視点から見た車両の画像を重畳することにより、あたかも上方の仮想視点から自車両および自車両周囲を見下ろした合成俯瞰画像Kを生成することができる。
本実施形態において、この合成俯瞰画像Kを生成する具体的な手法としては、図4(a)の車載カメラ1cの設置位置を視点としてエリアSP3を撮像した撮像画像(図4(b))を、図4(a)に示す上空の仮想視点Qで撮像した俯瞰画像(図4(c))に変換する方法が挙げられる。ここにおいては、車載カメラ1cおよび車載カメラ1cにより撮像されるエリアSP3を例示して説明するが、車載カメラ1c以外の車載カメラ1a,1b,1d、およびこれらにより撮像されるエリアSP1,SP2,SP4についても同様である。このようにして得られる俯瞰画像は、エリアSP3を車両中央の真上の仮想視点Qから自車両および自車両周囲を見下ろした画像である。ちなみに、変換前後の撮像画像(図4(b))の座標値と俯瞰画像(図4(c))の座標値の対応関係は、車載カメラ1cのレンズの特性および取り付け角度により一意に変換テーブルにおいて定義することができる。
ここで、図4(c)に示す俯瞰画像は、自車両が置かれている路面と水平な面を基準面とし、車載カメラ1cによって得られた車両周辺画像を仮想視点Qを視点とした基準面上における俯瞰画像として変換されたものである。すなわち、図4(c)に示す俯瞰画像は、車載カメラ1cによって撮影された撮影画像中の全ての被写体が、自車両が置かれている路面上に存在するものとして、画像変換されたものとされる。
そのため、たとえば、図5(a)に示すように、車載カメラ1cによって撮影される実際の路面が、自車両が置かれている路面である基準面と同じ面上にある場合には、路面上の対象物Oの俯瞰画像中の位置は、自車両の上方から見た平面図である図5(b)、および画像変換によって得られる俯瞰画像である図5(c)に示すように、実際の位置とほぼ等しい位置となる。すなわち、図5(b)と図5(c)とで対象物Oの位置がほぼ等しい位置となる。ここで、図5(a)は、車載カメラ1cによって撮影される実際の路面が基準面と同じ面上にある場合における、側面図であり、図5(b)は、自車両の上方から見た平面図、図5(c)は、画像変換によって得られる俯瞰画像である。
その一方で、図6(a)に示すように、車載カメラ1cによって撮影される実際の路面が、自車両が置かれている路面である基準面と所定の角度θをなす面上にある場合には、路面上の対象物Oの俯瞰画像中の位置は、自車両の上方から見た平面図である図6(b)、および画像変換によって得られる俯瞰画像である図6(c)に示すように、実際の位置からずれた位置となってしまう。すなわち、対象物Oの位置は、図6(b)と図6(c)とで異なる位置となってしまう。なお、この理由としては、上述したように俯瞰画像を得る際には、車載カメラ1cによって撮影される対象物Oが実際の路面ではなく、自車両が置かれている路面と水平な面である基準面上に存在するものとして、俯瞰画像への変換が行なわれるからである。ここで、図6(a)は、車載カメラ1cによって撮影される実際の路面が、自車両が置かれている路面である基準面と所定の角度θをなす面上にある場合における、側面図であり、図6(b)は、自車両の上方から見た平面図、図6(c)は、画像変換によって得られる俯瞰画像である。
続いて、制御装置10の周囲画像生成機能について説明する。本実施形態の制御装置10は、上述した合成俯瞰画像K(図3参照)を構成する、各俯瞰画像A1、A2、A3およびA4の境界領域Rを示す境界領域画像Lを合成俯瞰画像Kに重畳した周囲画像Sを生成する。
図7は、合成俯瞰画像Kに重畳する境界領域画像Lの一例を示す図である。境界領域画像Lは、合成俯瞰画像Kを構成する複数の撮像画像の各境界領域Rを含む。制御装置10は、車載カメラ1a〜1dの位置、各車載カメラ1a〜1dの撮像範囲、仮想視点の位置、合成俯瞰画像Kの表示範囲に応じて、1または2以上の境界領域画像Lを予め記憶している。この境界領域画像Lを複数記憶している理由は、たとえば車両が壁などに接触してしまって、車載カメラ1の取付位置が出荷時より、ずれてしまった場合に、監視画像における境界領域画像Lの位置がずれて表示されてしまうことを防止するために、境界領域画像Lを変更することで、ずれを防止する、いわゆるキャリブレーションを実行できるようにするためである。
また、図7に示す車両画像Vは、監視画像における自車両の位置を車両乗員に認識させるため、仮想視点から見下ろした車両の平面図であるCG(コンピュータグラフィックス)画像である。この車両画像Vは、境界領域画像Lの一部として記憶してもよいし、境界領域画像Lとは別個の画像データとして記憶することもできる。
本実施形態の制御装置10は、異なる位置で撮像された撮像画像を座標変換し、これらを繋ぎ合せて一つの合成俯瞰画像Kを生成するため、異なる撮像画像から合成された領域同士の境界(図3に示す俯瞰画像A1、A2、A3、A4の各領域の境界)では映像の歪みの程度が大きくなり、映像の連続性が損なわれるという問題がある。特に、各合成俯瞰画像Kを構成する各俯瞰画像A1,A2,A3,A4の繋ぎ目に路上の立体物が映るような場合には、画像の不連続性から立体物の認識が難しくなる。
この点を解決するために、本実施形態の制御装置10は、撮像画像から合成された俯瞰画像A1,A2,A3,A4の境界領域Rを示す境界領域画像Lを合成俯瞰画像Kに重畳し、周囲画像Sとして表示する。このように、境界領域画像Lを合成俯瞰画像Kに重畳させて示すことにより、合成俯瞰画像Kが複数の撮像画像から構成されていること、および、境界領域R付近において画像として正確性に欠けることとを乗員に認識させることができる。ここで、図8に、合成俯瞰画像Kに境界領域画像Lを重畳して得られる周囲画像Sの一例を示す。なお、図8においては、車両の側面方向に駐車枠を表す複数の白線W1〜W5が存在する場面における周囲画像を例示して示している。
次に、制御装置10の白線検出機能について説明する。本実施形態の制御装置10は、上記にて得られた合成俯瞰画像K中に存在する白線を検出する。すなわち、制御装置10は、上記にて得られた合成俯瞰画像K(図3参照)全体についての色情報を取得し、取得した色情報から、白色部分を抽出し、抽出した白色部分が所定の線幅で一方向に連続している部分が存在する場合には、当該部分を白線として検出する。たとえば、図8に示す場面例においては、合計5本の白線W1〜W5が検出される。
続いて、制御装置10の白線平行度算出機能について説明する。本実施形態の制御装置10は、上記にて検出した複数の白線について、検出した複数の白線が駐車枠を構成するものか否かの判定を行なうために平行度の算出を行なう。平行度は、たとえば、検出した複数の白線のうちの一対の白線について、白線間の相対角度を演算することにより算出することができる。あるいは、平行度は、たとえば、白線間の距離を演算し、長さ方向の距離の変化を演算することにより算出することもできる。なお、本実施形態において、一対の白線の相対角度が小さいほど、すなわち0°に近いほど、平行度は高いものとし、逆に、一対の白線の相対角度が大きいほど、平行度は低いものとする。また、平行度の演算は、検出された複数の白線の全ての組み合わせについて行ってもよいが、たとえば、隣り合う白線同士のみ平行度を演算するような構成としてもよいし、あるいは、所定の距離範囲(車両を駐車することを考慮した距離範囲)内にある白線同士のみ平行度を演算するような構成としてもよい。たとえば、隣り合う白線同士のみ平行度を演算するような構成とする場合を図8の場面例について説明すると、隣り合う白線W1,W2の平行度、隣り合う白線W2,W3の平行度、隣り合う白線W3,W4の平行度、および隣り合う白線W4,W5の平行度のみを算出するような構成とすることができる。
次に、制御装置10の駐車枠判定機能について説明する。本実施形態の制御装置10は、上記にて算出した白線間の平行度に基づいて、一対の白線が駐車枠を構成する白線であるか否かの判断を行なう。具体的には、制御装置10は、上記にて算出した白線間の平行度が、所定の平行度閾値T以上であるか否かの判断を行ない、白線間の平行度が、所定の閾値以上である場合には、当該一対の白線が駐車枠を構成する白線であると判断する。
ここで、上述したように、本実施形態で得られる俯瞰画像は、自車両が置かれている路面と水平な面を基準面とし、車載カメラ1a〜1dによって得られた車両周辺画像を、仮想視点Qを視点とした基準面上における俯瞰画像として変換されたものである。すなわち、本実施形態で得られる俯瞰画像は、車載カメラ1a〜1dによって撮影された撮影画像中の全ての被写体が、自車両が置かれている路面上に存在するものとして、画像変換されたものである。そのため、上述したように、図6(a)〜図6(c)に示すように、車載カメラ1cによって撮影される実際の路面が、自車両が置かれている路面である基準面と所定の角度θをなす面上にある場合には、路面上の対象物Oの俯瞰画像中の位置は、実際の位置からずれた位置となってしまう。
そして、たとえば、複数の白線が車載カメラで撮像されている場合において、図9(a)に示すように、車載カメラによって撮影される実際の路面が、自車両が置かれている路面である基準面と所定の角度θをなす面上にある場合には、路面上の白線W6〜W8の俯瞰画像中の位置は、自車両の上方から見た平面図である図9(b)、および画像変換によって得られる俯瞰画像である図9(c)に示すように、所定の傾きを有し、互いに平行ではないものとなってしまう。すなわち、白線W6〜W8は、図9(b)に示すように、実際に平行であるにも拘わらず、図9(c)に示すように、俯瞰画像中では、互いに平行ではないものとして検出されてしまう。ここで、図9(a)は、車載カメラ1cによって撮影される実際の路面が、自車両が置かれている路面である基準面と所定の角度θをなす面上にある場合における、側面図であり、図9(b)は、自車両の上方から見た平面図、図9(c)は、画像変換によって得られる俯瞰画像である。
そのため、図8に示す場面例と同様の場面例において、白線W1〜W5が存在する路面が、自車両が置かれている路面である基準面と所定の角度θをなす面上にある場合には、図10に示すように、白線W1’〜W5’は、俯瞰画像に基づいて得られる周囲画像S中では、所定の傾きを有し、互いに平行ではないものとなってしまう。なお、後述するように白線W1’〜W5’の傾き度合いは、車載カメラからの位置によって変化するものであるため、図10中においては、俯瞰画像に基づいて得られる周囲画像Sに、車載カメラ1a〜1dの設置位置を重畳して示した。ここで、図10に示す例においては、白線W1’は、車載カメラ1aにより撮像されたフロントビュー画像を視点変換して得た俯瞰画像A1中に含まれるものであり、また、白線W2’〜W4’は、車載カメラ1dにより撮像された右サイドビュー画像を視点変換して得た俯瞰画像A4中に含まれるものであり、さらに、白線W5’は、車載カメラ1cにより撮像されたリアビュー画像を視点変換して得た俯瞰画像A3中に含まれるものである。そして、右サイドビュー画像を視点変換して得た俯瞰画像A4中に含まれる白線W2’〜W4’においては、車載カメラ1dから相対的に遠い白線W4’は、白線W2’,W3’と比較して、相対的に傾きが大きい状態で表示されることとなる。
これに対し、本実施形態では、このような俯瞰画像に視点変換した際における白線の傾きを考慮して、一対の白線が駐車枠を構成する白線であるか否かを判断するものである。以下、白線の傾きを考慮して、一対の白線が駐車枠を構成する白線であるか否かを判断する方法について、詳細に説明する。
まず、自車両が置かれている路面である基準面と所定の角度θをなす面上に白線が存在する場合における、実際の白線の位置と、俯瞰画像中における白線の位置との関係について、図11を参照して説明する。図11中においては、実際の路面および実際の路面上に描画された白線W9,W10を実線で、俯瞰画像の投影面(すなわち、基準面に投影される路面)および俯瞰画像中の白線W9’,W10’を破線でそれぞれ示している。また、図11に示すように、俯瞰画像の投影面(すなわち、基準面)が、Z=0であるXY平面と等しくなるように、X軸、Y軸、およびZ軸を設定し、かつ、車載カメラが、Z軸上の高さhの位置(すなわち、X=0,Y=0,Z=hの位置)にある場合を例示して説明する。まず、実際の路面上に描画された白線W9上の任意の点Aについて注目すると、白線W9上の点Aは、図11に示すように、俯瞰画像の投影面上では、点A’の位置に投影されることとなる。ここで、点Aの座標を(Ax,Ay,Az)とし、点A’の座標を(A’x,A’y,0)とすると、下記式(1)〜(3)の関係を満足することとなる。なお、点A’は、俯瞰画像の投影面上に存在するため、Z=0となる。
Az=Ay×cosθ ・・・(1)
A’x=Ax×h/(h−Az) ・・・(2)
A’y=Ay×h/(h−Az) ・・・(3)
そして、同様に、図11に示す白線W9上の点B(Bx,By,Bz)と、その投影面上の点B’(B’x,B’y,0)との関係、さらに、白線W10上の点C(Cx,Cy,Cz)と、その投影面上の点C’(C’x,C’y,0)との関係、白線W10上の点D(Dx,Dy,Dz)と、その投影面上の点D’(D’x,D’y,0)との関係も上記式(1)〜(3)に準じたものとなる。
すなわち、白線上の任意の点の座標を(Xr,Yr,Zr)と、その投影面上の点の座標を(Xr’,Yr’,0)とすると、これらは下記式(4)〜(6)の関係を満足することとなる。
Zr=Yr×cosθ ・・・(4)
Xr’=Xr×h/(h−Zr) ・・・(5)
Yr’=Yr×h/(h−Zr) ・・・(6)
そして、上記式(4)〜(6)式より得られた関係から、白線上の任意の点(たとえば、点A)と、その投影面上の点(たとえば、点A’)とのX軸方向における差(Xr−Xr’)およびY軸方向における差(Yr−Yr’)は、以下の通りとなる。
X軸方向における差:Xr×Zr/(h−Zr)
Y軸方向における差:Yr×Zr/(h−Zr)
すなわち、X軸の座標であるXrの絶対値が大きくなるほど(すなわち、X軸方向における、車載カメラからの位置が遠くなるほど)、X軸方向における、実際の路面上における位置と、投影面上の位置との差が大きくなる。同様に、Y軸の座標であるYrの絶対値が大きくなるほど(すなわち、Y軸方向における、車載カメラからの位置が遠くなるほど)、Y軸方向における、実際の路面上における位置と、投影面上の位置との差が大きくなる。
さらに、車載カメラの高さhは、通常、Z軸の座標であるZrの絶対値よりも十分に大きな値であるため、Z軸の座標であるZrの絶対値が大きいほど、X軸方向およびY軸方向における、実際の路面上における位置と、投影面上の位置との差が大きくなる。加えて、車載カメラの高さhが低いほど、X軸方向およびY軸方向における、実際の路面上における位置と、投影面上の位置との差が大きくなる。
ここで、図12に示すように、白線W9,W10が、XY平面上においてY軸と水平である(車載カメラの撮像方向と水平である)とし、また、点Aおよび点CのY軸の座標であるYrの値、点Bおよび点DのY軸の座標であるYrの値はそれぞれ同じであるとする。なお、図12は、図11に示す場面をZ軸方向から見た図であり、実際の路面上に描画された白線W9,W10を実線で、俯瞰画像中の白線W9’,W10’を破線でそれぞれ示している。ここで、図11、図12に示す白線W9上に位置する点Aと点Bとに注目すると、点A、点Bともに、実際の路面上におけるX軸の座標であるXrの値が同じである一方で、Y軸の座標であるYr、およびZ軸の座標であるZrの値は、点Aよりも点Bの方が大きな値となる。なお、Z軸の座標であるZrの値が点Aよりも点Bの方が大きくなるのは、実際の路面が、Y軸方向に沿って、投影面となる基準面より角度θだけ傾斜していることによる。そのため、図11、図12に示すように、点Bと点B’とのX軸方向における位置の差は、点Aと点A’とのX軸方向における位置の差よりも大きくなり、その結果として、俯瞰画像中の白線W9’は車載カメラ(自車両)から離れるにしたがって、傾いていくような態様となる。
同様に、図11、図12に示す白線W10上に位置する点Cと点Dとに注目すると、点C、点Dともに、実際の路面上におけるX軸の座標であるXrの値が同じである一方で、Y軸の座標であるYr、およびZ軸の座標であるZrの値は、点Cよりも点Dの方が大きな値となる。そのため、図11、図12に示すように、点Dと点D’とのX軸方向における位置の差は、点Cと点C’とのX軸方向における位置の差よりも大きくなり、その結果として、俯瞰画像中の白線W9’は車載カメラ(自車両)から離れるにしたがって、傾いていくような態様となる。
さらに、図11、図12に示す点Aと点Cに注目すると、これら点A、点Cともに、Y軸の座標であるYrの値およびZ軸の座標であるZrの値は同じである一方で、X軸の座標であるXrの値は、点Aよりも点Dの方が大きな値となる。なお、Z軸の座標であるZrの値が点A、点Cともに同じとなるのは、実際の路面が、Y軸方向に沿って、投影面となる基準面より角度θだけ傾斜していることによる。そのため、図11、図12に示すように、点Cと点C’とのX軸方向における位置の差は、点Aと点A’とのX軸方向における位置の差よりも大きくなる。同様に、点Bと点Dに注目すると、点Dと点D’とのX軸方向における位置の差は、点Bと点B’とのX軸方向における位置の差よりも大きくなる。すなわち、車載カメラの設置位置から相対的に近い位置に存在する白線W9と、相対的に遠い位置に存在する白線W10とを比較すると、相対的に遠い位置に存在する白線W10の方が、投影面に投影した際における、X軸方向における位置の差が大きくなり、そのため、傾斜角度も大きくなることとなる。
なお、上述した例は、白線W9,W10が、XY平面上においてY軸と水平である場合を例示したが、Y軸と水平でない場合(車載カメラの撮像方向に対して所定の角度を有している場合)も同様の傾向となる。さらに、図13に示すように、X軸方向において、車載カメラの設置位置に対して反対側に存在する白線W11については、投影面に投影される白線W11’の傾きは反対方向となる。
このように、自車両が置かれている路面である基準面と所定の角度θをなす面上に白線が存在する場合には、白線は所定の角度を持った傾き、すなわち、所定の角度ズレαを有するような態様で、俯瞰画像中に含まれることとなる。そのため、本実施形態では、上述した方法にしたがって算出される白線の角度ズレαを考慮して、一対の白線が駐車枠を構成する白線であるか否かを判断する。具体的には、俯瞰画像中において検出された各白線について、車載カメラの高さの基準面からの高さh、白線の描画されている路面の基準面からの高さH、俯瞰して見た場合における車載カメラから白線までの距離D、および白線の描画されている路面の基準面に対する角度θに基づいて、角度ズレαを、α=f(h,H,D,θ)にしたがって演算する。
そして、一対の白線間の平行度に基づいて、該一対の白線が駐車枠を構成する白線であるか否かを判定する際における平行度閾値Tを、演算した角度ズレαに基づいて設定(変更)し、角度ズレαに基づいて設定した平行度閾値Tを用いて、一対の白線が駐車枠を構成する白線であるか否かを判定する。たとえば、図11、図12に示す一対の白線W9’、W10’が駐車枠を構成するか否かを判定する際には、白線W9’の角度ズレαW9’と、白線W10’の角度ズレαW10’とを算出し、これらの差αW9’−αW10’を算出し、得られた角度ズレ差αW9’−αW10’の大きさに基づいて平行度閾値Tを設定する。具体的には、角度ズレ差αW9’−αW10’が大きいほど、角度ズレ差αW9’−αW10’に応じて、平行度閾値Tを低く設定し、平行度が比較的低い場合でも、当該一対の白線が駐車枠を構成する白線であると判断できるようにする。なお、角度ズレαと、h,H,D,θとの関係や、角度ズレ差Δαと平行度閾値Tとの関係は、たとえば、予めテーブルとして記憶しているような構成とすることができる。
また、本実施形態では、一対の白線の平行度が、所定の平行度閾値T以上であることに加え、一対の白線間の距離が所定の駐車幅閾値(駐車枠であると判断できるような距離に基づいて設定される閾値)以内である場合に、該一対の白線が駐車枠を構成する白線であると判断するような構成としてもよい。
次に、制御装置10の表示制御機能について説明する。本実施形態の制御装置10は、上記方法により生成した周囲画像Sを、ディスプレイ5の表示画面上に表示させる。また、制御装置10は、駐車枠を構成する白線であると判定された一対の白線が存在する場合、すなわち、合成俯瞰画像K中に駐車枠が存在する場合には、合成俯瞰画像K中の一つの駐車枠を目標駐車枠に設定し、周囲画像Sをディスプレイ5の表示画面上に表示する際に、周囲画像S中における、目標駐車枠を構成する一対の白線に挟まれた領域を、たとえば、ハイライト表示することで、ユーザに目標駐車枠領域を提示する。
次いで、本実施形態における駐車支援動作について説明する。図14は、本実施形態に係る駐車支援動作を示すフローチャートである。なお、以下に説明する動作は、ユーザにより駐車ボタン6の押圧操作が行なわれることによって開始される。また、以下の動作は、制御装置10により実行される。
まず、ステップS1では、車載カメラ1a〜1dにより撮像された撮像画像の取得が行なわれる。
ステップS2では、ステップS1で取得した撮影画像を、俯瞰画像に変換し、変換した俯瞰画像に基づいて、合成俯瞰画像K(図3参照)を生成する処理が行なわれる。
次いで、ステップS3では、ステップS2で生成した合成俯瞰画像K中に存在する白線を検出する処理が行われる。具体的には、制御装置10は、合成俯瞰画像K全体についての色情報を取得し、取得した色情報から、白色部分を抽出し、抽出した白色部分が所定の線幅で一方向に連続している部分を検出し、当該部分を白線として検出する。
ステップS4では、ステップS3において、白線が2本以上検出できたか否かの判定が行なわれる。白線が2本以上検出できた場合には、ステップS5に進み、一方、白線が1本しか検出できなかった場合、あるいは、白線が全く検出できなかった場合には、ステップS14に進み、駐車枠は存在しないと判定して、本処理を終了する。
ステップS5では、ステップS3において検出された2本以上の白線について、2本ずつペアリングする処理が行われる。なお、白線をペアリングする際の組み合わせは、特に限定されないが、たとえば、検出された白線全てをそれぞれ組み合わせてペアリングする方法が挙げられる。あるいは、隣り合う白線同士をそれぞれペアリングする方法や、あるいは、所定の距離範囲(車両を駐車することを考慮した距離範囲)内にある白線同士をそれぞれペアリングする方法などを採用してもよい。
ステップS6では、ステップS5においてペアリングした一対の白線のうち一つを選択する処理が行なわれる。
ステップS7では、ステップS6において選択した一対の白線の平行度を算出し、算出した平行度が、所定の平行度閾値T以上であるか否かの判定が行なわれる。なお、この際において、本実施形態では、上述した方法にしたがい、一対の白線のそれぞれについて角度ズレαを算出し、その差分を算出することで角度ズレ差Δαを演算する。そして、得られた角度ズレ差Δαに基づいて、所定の平行度閾値Tを設定し、一対の白線の平行度が、角度ズレ差Δαに基づいて設定された平行度閾値T以上であるか否かを判定する。そして、一対の白線の平行度が、角度ズレ差Δαに基づいて設定された平行度閾値T以上である場合には、ステップS8に進み、一方、一対の白線の平行度が、角度ズレ差Δαに基づいて設定された平行度閾値T以上である場合には、ステップS10に進む。
ステップS8において、選択された一対の白線の平行度が、角度ズレ差Δαに基づいて設定された平行度閾値T以上であると判断された場合にはステップS9に進み、ステップS9では、選択された一対の白線間の距離が、所定の駐車幅閾値の範囲内にあるか否かの判定が行なわれる。選択された一対の白線間の距離が、所定の駐車幅閾値の範囲内にある場合には、ステップS9に進み、一方、所定の駐車幅閾値の範囲内にない場合には、ステップS10に進む。
選択された一対の白線の平行度が、角度ズレ差Δαに基づいて設定された平行度閾値T以上であり、かつ、選択された一対の白線間の距離が、所定の駐車幅閾値の範囲内にある場合には、ステップS9に進み、選択された一対の白線が駐車枠を構成すると判定され、ステップS11に進む。
一方、選択された一対の白線の平行度が、角度ズレ差Δαに基づいて設定された平行度閾値T未満である場合、あるいは、選択された一対の白線間の距離が、所定の駐車幅閾値の範囲内にない場合には、ステップS10に進み、選択された一対の白線が駐車枠を構成しないと判定され、ステップS11に進む。
ステップS11では、ペアリングした一対の白線の全てについて、上述したステップS7〜S10の判定を行なったか否かの判断が行なわれる。ペアリングした一対の白線の全てについて、上述したステップS7〜S10の判定を行なった場合には、ステップS12に進み、一方、上述したステップS7〜S10の判定を行なっていない一対の白線が存在する場合には、ステップS6に戻り、上述したステップS7〜S10の判定を行なっていない一対の白線のうち、一つのペアが選択され、再度、選択された一対の白線について、上述したステップS7〜S10の判定が行なわれる。
ペアリングした一対の白線の全てについて、上述したステップS7〜S10の判定を行なった場合には、ステップS12に進み、ペアリングされた一対の白線のうち、駐車枠を構成すると判断されたものが存在するか否か、すなわち、合成俯瞰画像K中に駐車枠が存在するか否かの判定が行なわれる。合成俯瞰画像K中に駐車枠が存在する場合には、ステップS13に進み、一方、合成俯瞰画像K中に駐車枠が存在しない場合には、ステップS14に進む。
ステップS13では、合成俯瞰画像K中に検出された駐車枠のうち、一つを目標駐車枠に設定し、周囲画像Sをディスプレイ5の表示画面上に表示する際に、周囲画像S中における、目標駐車枠を構成する一対の白線に挟まれた領域を、たとえば、ハイライト表示することで、ユーザに目標駐車枠領域を提示する。なお、合成俯瞰画像K中に検出された駐車枠のうち、一つを目標駐車枠に設定する方法としては、特に限定されないが、検出された駐車枠のうち、他の車が駐車されていない駐車枠であり、かつ、自車両位置から最も駐車し易い駐車枠を目標駐車枠に設定する方法が挙げられる。また、合成俯瞰画像K中に検出された駐車枠が一つの場合には、検出された駐車枠を、目標駐車枠に設定する。
一方、ステップS4において、合成俯瞰画像K中に白線が2本以上検出されなかったと判断された場合、およびステップS12において、駐車枠が検出されなかったと判断された場合には、ステップS14に進み、合成俯瞰画像K中には、駐車枠が存在しないと判断し、ユーザに対して目標駐車枠を提示することなく、本処理を終了する。
以上のようにして、本実施形態における駐車支援動作は実行される。
本実施形態においては、合成俯瞰画像K中に存在する白線を検出し、検出した各白線について、検出された各白線を2本ずつペアリングして、ペアリングされた一対の白線について平行度を算出し、算出した平行度が平行度閾値T以上であるか否かに基づいて、当該一対の白線が駐車枠を構成する白線であるか否かを判定する際に、各白線の角度ズレαに基づいて、平行度閾値Tを設定(変更)し、角度ズレαに基づいて設定した平行度閾値Tを用いて、当該一対の白線が駐車枠を構成する白線であるか否かを判定する。なお、本意実施形態においては、各白線の角度ズレαを、車載カメラの高さの基準面からの高さh、白線の描画されている路面の基準面からの高さH、俯瞰して見た場合における車載カメラから白線までの距離D、および白線の描画されている路面の基準面に対する角度θに基づき、α=f(h,H,D,θ)にしたがって演算する。そのため、本実施形態によれば、角度ズレαを考慮して、平行度閾値Tを設定することにより、実際の路面上では平行であるものの、俯瞰画像中では平行となっていないような一対の白線について、自車両が駐車可能な駐車枠を構成するものと判断することができ、これにより、自車両が駐車可能な駐車枠をユーザに適切に提示することができる。特に、本実施形態によれば、一対の白線が、自車両が置かれている路面と水平な面である基準面に対して、所定角度θを有しているような路面上に存在し、俯瞰画像中では平行となっていないような一対の白線についても、駐車枠として検出することができるため、ユーザに対して駐車枠を提示できる機会を適切に増やすことができる。
加えて、本実施形態では、角度ズレαを算出する際に、車載カメラの高さの基準面からの高さh、白線の描画されている路面の基準面からの高さH、俯瞰して見た場合における車載カメラから白線までの距離D、および白線の描画されている路面の基準面に対する角度θに基づき、α=f(h,H,D,θ)にしたがって演算することにより、俯瞰画像中における、白線の角度ズレ(傾き度合い)を適切に検出することができ、これにより、俯瞰画像中では平行となっていないような一対の白線について、自車両が駐車可能な駐車枠であるか否かの判断を適切に行なうことができる。
なお、上述した実施形態において、車載カメラ1a〜1dは本発明の撮像手段に、制御装置10の画像変換機能は本発明の画像変換手段に、制御装置10の白線検出機能は本発明の線状ロードマーク検出手段に、制御装置10の白線平行度算出機能は本発明の平行度算出手段に、制御装置10の駐車枠判定機能は本発明の判断手段に、制御装置10の表示制御機能は本発明の提示手段に、それぞれ相当する。
以上、本発明の実施形態について説明したが、これらの実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
たとえば、上述した実施形態では、合成俯瞰画像K中の白線を検出し、検出した白線が駐車枠を構成するか否かを判断するような態様を例示したが、白線に加えて、白線以外の色の線(以下、「他の色の線」とする。)についても併せて検出し、検出した白線および他の色の線が駐車枠を構成するか否かを判断するような構成としてもよい。なお、この場合には、駐車枠を構成するか否かを判断するために、白線および他の色の線をペアリングする際には、同じ色の線同士(たとえば、白線同士や黄線同士)をペアリングして、駐車枠を構成するか否かを判断することが望ましい。