(58)【調査した分野】(Int.Cl.,DB名)
前記検出部は、前記他方の区画線の両側の境界の平行度と、予め定められた前記第1平行閾値よりも大きい第2平行閾値とに基づいて、前記他方の区画線を採用するか否かを判定する
請求項3に記載の駐車支援装置。
【発明を実施するための形態】
【0017】
以下の例示的な実施形態等の同様の構成要素には共通の符号を付与して、重複する説明を適宜省略する。
【0018】
<実施形態>
図1は、実施形態の駐車支援装置が搭載される車両10の平面図である。
図1に示すように、車両10は、車体12と、4個の撮像部14a、14b、14c、14dとを有する。撮像部14a、14b、14c、14dを区別する必要がない場合、撮像部14と記載する。
【0019】
車体12は、乗員が乗車する車室を構成する。車体12は、車輪13及び撮像部14等の車両10の構成を収容または保持する。
【0020】
撮像部14は、例えば、CCD(Charge Coupled Device)、または、CIS(CMOS Image Sensor)等の撮像素子を内蔵するデジタルカメラである。撮像部14は、所定のフレームレートで生成される複数のフレーム画像を含む動画、または、静止画のデータを撮像画像のデータとして出力する。撮像部14は、それぞれ、広角レンズまたは魚眼レンズを有し、水平方向の140°〜190°の範囲を撮像することができる。撮像部14の光軸は、斜め下方に向けて設定されている。従って、撮像部14は、周辺の路面を含む車両10の周辺を撮像した撮像画像のデータを出力する。
【0021】
撮像部14は、車体12の周囲に設けられている。例えば、撮像部14aは、車体12の前端部の左右方向の中央部(例えば、フロントバンパー)に設けられている。撮像部14aは、車両10の前方の周辺を撮像した撮像画像を生成する。撮像部14bは、車体12の後端部の左右方向の中央部(例えば、リアバンパー)に設けられている。撮像部14bは、車両10の後方の周辺を撮像した撮像画像を生成する。撮像部14cは、車体12の左端部の前後方向の中央部(例えば、左側のサイドミラー12a)に設けられている。撮像部14cは、車両10の左方の周辺を撮像した撮像画像を生成する。撮像部14dは、車体12の右端部の前後方向の中央部(例えば、右側のサイドミラー12b)に設けられている。撮像部14dは、車両10の右方の周辺を撮像した撮像画像を生成する。
【0022】
図2は、車両10に搭載される駐車支援装置36を含む駐車支援システム20の構成を説明するブロック図である。
図2に示すように、駐車支援システム20は、車輪速センサ22と、操舵角センサ24と、自動運転部32と、モニタ装置34と、駐車支援装置36と、車内ネットワーク38とを備える。
【0023】
車輪速センサ22は、例えば、車輪13の近傍に設けられたホール素子等を含む。車輪速センサ22は、検出した車輪13の回転数を示す車輪速パルス数をセンサ値として車内ネットワーク38へ出力する。
【0024】
操舵角センサ24は、ステアリングホイールまたはハンドル等の操舵部に設けられている。操舵角センサ24は、運転者の操作による操舵部の回転量または回転角である操舵角を検出する。操舵角センサ24は、例えば、ロータリーエンコーダ等である。操舵角センサ24は、検出した操舵角を車内ネットワーク38へ出力する。
【0025】
自動運転部32は、駐車支援装置36からの指示に基づいて、アクセル、ブレーキ、及び、ハンドル等を制御して、駐車時に車両10を自動運転する。
【0026】
モニタ装置34は、車室内のダッシュボード等に設けられている。モニタ装置34は、表示部40と、音声出力部42と、操作入力部44とを有する。
【0027】
表示部40は、駐車支援装置36が送信した画像データに基づいて、画像を表示する。表示部40は、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)、または、有機ELディスプレイ(OELD:Organic Electroluminescent Display)等の表示装置である。表示部40は、例えば、自動運転における車両10を駐車する領域の候補である駐車候補領域を重畳させた撮像画像を表示する。
【0028】
音声出力部42は、駐車支援装置36が送信した音声データに基づいて音声を出力する。音声出力部42は、例えば、スピーカである。音声出力部42は、表示部40と異なる車室内の位置に設けられていてもよい。
【0029】
操作入力部44は、乗員の入力を受け付ける。操作入力部44は、例えば、タッチパネルである。操作入力部44は、表示部40の表示画面に設けられている。操作入力部44は、表示部40が表示する画像を透過可能に構成されている。これにより、操作入力部44は、表示部40の表示画面に表示される画像を乗員に視認させることができる。操作入力部44は、表示部40の表示画面に表示される画像に対応した位置を乗員が触れることによって入力した指示を受け付けて、駐車支援装置36へ送信する。例えば、操作入力部44は、表示部40が表示している駐車候補領域の位置を乗員が触れて選択した場合、駐車指示を駐車支援装置36へ出力する。
【0030】
駐車支援装置36は、ECU(Electronic Control Unit)等のマイクロコンピュータを含むコンピュータである。駐車支援装置36は、撮像部14から撮像画像のデータを取得する。駐車支援装置36は、撮像画像等に基づいて生成した画像または音声に関するデータをモニタ装置34へ送信する。駐車支援装置36は、自動運転部32を制御して、駐車時に車両10を自動運転して支援する。駐車支援装置36は、CPU(Central Processing Unit)36aと、ROM(Read Only Memory)36bと、RAM(Random Access Memory)36cと、表示制御部36dと、音声制御部36eと、SSD(Solid State Drive)36fとを備える。CPU36a、ROM36b及びRAM36cは、同一パッケージ内に集積されていてもよい。
【0031】
CPU36aは、ハードウェアプロセッサの一例であって、ROM36b等の不揮発性の記憶装置に記憶されたプログラムを読み出して、当該プログラムにしたがって各種の演算処理および制御を実行する。CPU36aは、例えば、表示部40に表示させる駐車支援用の画像等の画像処理を実行する。
【0032】
ROM36bは、各プログラム及びプログラムの実行に必要なパラメータ等を記憶する。RAM36cは、CPU36aでの演算で用いられる各種のデータを一時的に記憶する。表示制御部36dは、駐車支援装置36での演算処理のうち、主として、撮像部14で得られた画像の画像処理、表示部40に表示させる表示用の画像のデータ変換等を実行する。音声制御部36eは、駐車支援装置36での演算処理のうち、主として、音声出力部42に出力させる音声の処理を実行する。SSD36fは、書き換え可能な不揮発性の記憶部であって、駐車支援装置36の電源がオフされた場合にあってもデータを維持する。
【0033】
車内ネットワーク38は、例えば、CAN(Controller Area Network)及びLIN(Local Interconnect Network)等を含む。車内ネットワーク38は、車輪速センサ22と、操舵角センサ24と、自動運転部32と、駐車支援装置36と、操作入力部44とを互いに信号及び情報を送受信可能に電気的に接続する。
【0034】
本実施形態では、駐車支援装置36は、ハードウェアとソフトウェア(制御プログラム)が協働することにより、車両10の駐車支援処理を司る。駐車支援装置36は、撮像部14が撮像した周辺の画像を含む撮像画像から駐車場の駐車領域を区画する区画線を検出して、1または複数の駐車候補領域を設定する。駐車支援装置36は、自動運転部32を制御することにより、乗員が選択した駐車候補領域内へと移動させて、駐車を支援する。
【0035】
図3は、駐車支援装置36の機能を説明する機能ブロック図である。
図3に示すように、駐車支援装置36は、処理部50と、記憶部52とを有する。
【0036】
処理部50は、例えば、CPU36a等の機能として実現される。処理部50は、設定部54と、検出部56と、運転制御部58とを有する。処理部50は、記憶部52に格納された駐車支援プログラム70を読み込むことによって、設定部54、検出部56、及び、運転制御部58の機能を実現してよい。尚、設定部54、検出部56、及び、運転制御部58の一部または全ては、ASIC(Application Specific Integrated Circuit)を含む回路等のハードウェアによって構成されてもよい。
【0037】
設定部54は、移動中の車両10の周辺を撮像した撮像画像を撮像部14から取得する。例えば、設定部54は、撮像部14から時間的に異なる動画の複数のフレーム画像を撮像画像として取得する。設定部54は、隣接する駐車領域間に設けられた一本の区画線または一対の区画線を探索するための探索領域を撮像画像内に設定して、検出部56へ出力する。区画線の一例は、駐車場の地面に設けられた白線である。ここで、設定部54は、複数の撮像画像の全てに探索領域を設定するのではなく、例えば、数フレーム毎に探索領域を設定してよい。また、設定部54は、先に設定した探索領域に対する処理が終了してから取得した撮像画像に次の探索領域を設定してもよい。
【0038】
ここで、設定部54は、後述する検出部56が一対の区画線の一方を検出するまでは、1または複数の初期座標に基づいて、撮像画像内に第1探索領域を設定する。初期座標及び第1探索領域の形状は、例えば、予め設定されて数値データ72に含まれていてよい。第1探索領域の形状は、例えば、少なくとも一対の区画線の全体を含む程度の大きさを有する長方形または平行四辺形等の矩形状であってよい。具体的には、設定部54は、一方の区画線が検出されるまでは、現実世界において車両10と第1探索領域との相対位置が初期座標となるように設定する。例えば、設定部54は、初期座標に基づいて、車両10の左後方または右後方に第1探索領域を設定する。次に、設定部54は、予め設定された座標変換用のマッピングテーブル等によって現実世界の座標系から撮像画像の座標系に変換することによって、撮像画像内に第1探索領域を設定する。マッピングテーブルは、数値データ72に含まれていてよい。更に、設定部54は、初期座標及びマッピングテーブル等に基づいて、車両10の移動に伴って変化する複数の撮像画像のそれぞれに第1探索領域を設定する。ここで、設定部54は、撮像画像を拡大等しない場合、撮像画像内の同じ位置(即ち、同じ座標)に第1探索領域を設定してよい。
【0039】
更に、設定部54は、検出部56が一方の区画線を検出して、一方の区画線の情報を検出部56から取得すると、当該検出された一方の区画線に基づいて、一対の区画線のうち他方の区画線を探索するための第2探索領域の位置を新たに設定する。具体的には、設定部54は、現実世界において一方の区画線の位置と第2探索領域との相対位置が設定相対座標となるように、第2探索領域を現実世界に設定する。設定相対座標及び第2探索領域の形状は、例えば、予め設定されて数値データ72に含まれていてよい。設定相対座標は、例えば、検出された一方の区画線の長手方向と垂直な方向(以下、垂線方向)に沿って移動させた位置の座標である。設定相対座標は、一般的な一対の区画線の一方の区画線と他方の区画線との間隔に基づいて設定してよい。これにより、設定部54は、一方の区画線を基準として、他方の区画線が存在する可能性の高い位置に第2探索領域を設定できる。第2探索領域の形状は、例えば、少なくとも一対の区画線の全体を含む程度の大きさを有する長方形または平行四辺形等の矩形状であってよい。設定部54は、第1探索領域よりも小さい第2探索領域を設定してよい。設定部54は、現実世界の第2探索領域の座標を、マッピングテーブル等に基づいて撮像画像の座標に変換することによって、第2探索領域の位置を撮像画像内に設定する。
【0040】
設定部54は、検出部56が複数対の区画線を検出すると、一対の区画線と、隣接する一対の区画線との間に駐車候補領域を設定する。設定部54は、駐車候補領域を車両10の周辺の撮像画像に重畳させた画像を、駐車指示を受け付ける受付画面として、表示部40に表示させる。設定部54は、当該受付画面の表示中に、操作入力部44を介して、乗員から駐車指示を受け付けると、当該駐車指示及び駐車候補領域の位置等の情報を運転制御部58へ出力する。
【0041】
検出部56は、設定部54が撮像画像内に設定した第1探索領域内を探索して、一対の区画線のうち一方の区画線を検出する。検出部56は、検出した一方の区画線の情報を設定部54に出力する。更に、検出部56は、設定部54が一方の区画線の情報に基づいて設定した第2探索領域内を探索して、一対の区画線のうち他方の区画線を検出する。検出部56は、検出した他方の区画線の情報を設定部54へ出力する。検出部56は、同様の処理を繰り返すことによって、隣接する一対の区画線を検出して、新たに検出した一対の区画線の情報を設定部54へ出力する。
【0042】
運転制御部58は、設定部54が設定した駐車候補領域のうち、乗員が選択した駐車候補領域に基づいて、自動運転部32を制御する。これにより、運転制御部58は、乗員が選択した駐車候補領域へ車両10を駐車させる。
【0043】
記憶部52は、ROM36b、RAM36c及びSSD36f等の機能として実現される。記憶部52は、処理部50が実行するプログラム及びプログラムの実行において必要なデータ等を記憶する。記憶部52は、例えば、処理部50が実行する駐車支援プログラム70を記憶する。記憶部52は、駐車支援プログラム70の実行において探索領域を設定するための初期座標及び設定相対座標、探索領域の形状等を含む数値データ72等を記憶する。
【0044】
図4から
図8は、一対の区画線CLa、CLbのうち、一方の区画線CLaの検出方法を説明する図である。
図4から
図8において、斜線SLの後方が、撮像部14bが撮像している撮像領域である。
【0045】
図4に示すように、一対の区画線CLa、CLb、及び、別の一対の区画線CLa、CLbが、駐車領域PAの両側に設けられている。換言すれば、一対の区画線CLa、CLbが、駐車領域PAと、隣接する駐車領域PAとの間に設けられている。
図4に示す一対の区画線CLa、CLbはU字状であるが、区画線CLaと区画線CLbは分離していてもよい。区画線CLa、CLbを区別する必要がない場合、区画線CLと記載する。
【0046】
図4に示すように、設定部54は、初期座標に基づいて、現実世界内に第1探索領域FEAを設定する。例えば、設定部54は、車両10との相対位置が初期座標となるように、第1探索領域FEAを現実世界の座標で設定する。設定部54は、マッピングテーブル等によって、第1探索領域FEAの座標を、撮像部14bから取得したフレーム画像である撮像画像の座標に変換する。これにより、設定部54は、撮像画像内に矩形状の第1探索領域FEAを設定する。
【0047】
検出部56は、設定部54が設定した第1探索領域FEA内で、エッジ検出法、RANSAC(RANdom Sample Consensus)、CONSAC(CONnected Sample Consensus)、及び、最小二乗法等を用いて、一対の区画線CLa、CLbのうち、一方の区画線CLaを検出する。
【0048】
具体的には、
図5に示すように、検出部56は、設定部54が撮像画像に設定した第1探索領域FEA内を探索して、既知のエッジ検出法等によって、マイナスエッジ点MP及びプラスエッジ点PPを検出する。ここでいう、マイナスエッジ点MPは、画像が暗から明に変化する点である。マイナスエッジ点MPは、例えば、黒い路面から白い区画線CLに切り替わる境界上の点である。プラスエッジ点PPは、画像が明から暗に変化する点である。プラスエッジ点PPは、例えば、白い区画線CLから黒い路面に切り替わる境界上の点である。
図5において、マイナスエッジ点MPは黒点で示し、プラスエッジ点PPは白抜き点で示す。
【0049】
図6に示すように、検出部56は、区画線CLaを検出するための第1基準領域FRA、第2基準領域SRA、第1補助領域FSA、及び、第2補助領域SSAを、第1探索領域FEA内に設定する。例えば、検出部56は、後側から、第1基準領域FRA、第2基準領域SRA、第1補助領域FSA、及び、第2補助領域SSAの順で設定してよい。検出部56は、最初、第1基準領域FRAの後端部が第1探索領域FEAの後端部と一致するように設定してよい。尚、検出部56は、第1基準領域FRA及び第1補助領域FSAを設定するタイミングを、第2基準領域SRA及び第2補助領域SSAを設定するタイミングと異ならせてもよい。第1基準領域FRAと第1補助領域FSAとの間隔、及び、第2基準領域SRAと第2補助領域SSAとの間隔は、予め数値データ72として設定されていてよい。第1基準領域FRA、第2基準領域SRA、第1補助領域FSA、及び、第2補助領域SSAの一部が互いに重複していてもよい。
【0050】
第1基準領域FRA及び第1補助領域FSAは、区画線CLのマイナスエッジ点MPの個数(以下、マイナスポイント)を算出するための領域である。従って、検出部56は、第1基準領域FRA及び第1補助領域FSA内に含まれる区画線CLのマイナスエッジ点MPの個数をカウントして、マイナスポイントを算出する。第2基準領域SRA及び第2補助領域SSAは、区画線CLのプラスエッジ点PPの個数(以下、プラスポイント)を算出するための領域である。従って、検出部56は、第2基準領域SRA及び第2補助領域SSA内に含まれる区画線CLのプラスエッジ点PPの個数をカウントして、プラスポイントを算出する。
【0051】
ここで、検出部56は、
図7に示すように、一方の区画線CLaを探索するために、第1探索領域FEAの後端部から前端部へと予め定められた間隔で各領域FRA、FSAを移動させる。換言すれば、検出部56は、車両10の進行方向に沿って、第1探索領域FEA内で一方の区画線CLaを探索する。また、検出部56は、各位置で鉛直軸の周りで領域FRA、FSAを回転させて方向を変える。尚、検出部56は、領域FRA、FSAを互いに平行に保ちつつ、各領域FRA、FSAの位置及び方向を変化させる。検出部56は、各位置及び各方向での領域FRA、FSA内のマイナスエッジ点MPをカウントして、マイナスポイントを算出する。検出部56は、マイナスポイントが最も高くなる領域FRA、FSAの位置及び方向を特定する。
【0052】
検出部56は、一方の区画線CLaを探索するために、第1探索領域FEAの後端部から前端部へと予め定められた間隔で各領域SRA、SSAを移動させる。換言すれば、検出部56は、車両10の進行方向に沿って、第1探索領域FEA内で一方の区画線CLaを探索する。また、検出部56は、各位置で鉛直軸の周りで領域SRA、SSAを回転させて方向を変える。尚、検出部56は、領域SRA、SSAを互いに平行に保ちつつ、各領域SRA、SSAの位置及び方向を変化させる。検出部56は、各位置及び各方向での領域SRA、SSA内のプラスエッジ点PPをカウントして、プラスポイントを算出する。検出部56は、プラスポイントが最も高くなる領域SRA、SSAの位置及び方向を特定する。
【0053】
例えば、
図6に示す状態では、全ての領域FRA、SRA、FSA、SSAにエッジ点MP、PPが含まれるので、マイナスポイント及びプラスポイントが大きくなる。一方、
図7に示す状態では、補助領域FSA、SSAにエッジ点MP、PPが含まれないので、マイナスポイント及びプラスポイントが小さくなる。従って、検出部56は、
図6に示す状態での領域FRA、SRA、FSA、SSAを最もポイントが高くなる位置及び方向とし、この状態での基準領域FRA、SRAに基づいて、一方の区画線CLaを検出する。
【0054】
具体的には、
図8に示すように、検出部56は、マイナスポイントが最も高い第1基準領域FRAに含まれるマイナスエッジ点MPのうち、RANSACまたはCONSACを用いてノイズ(即ち、外れ値)を削除した複数のマイナスエッジ点MPに最小二乗法を適用して生成した直線を、一方の区画線CLaの外側の境界BDa1として検出する。境界BDa1は、太実線で示す。また、検出部56は、同様の処理を行って、プラスポイントが最も高い第2基準領域SRAに含まれるプラスエッジ点PPからノイズを削除した複数のプラスエッジ点PPに最小二乗法を適用して生成した直線を、一方の区画線CLaの内側の境界BDa2として検出する。境界BDa2は、太点線で示す。
【0055】
ここで、検出部56は、一方の区画線CLaの両側の境界BDa1、BDa2の平行度と、予め定められた第1平行閾値とに基づいて、検出した一方の区画線CLaを採用するか否かを判定してよい。平行度は、例えば、境界BDa1と境界BDa2とが交差する角度であってよい。第1平行閾値は、数値データ72に含まれ、例えば、数°であってよい。例えば、検出部56は、境界BDa1、BDa2の平行度が第1平行閾値未満であれば、区画線CLaを採用してよい。一方、検出部56は、境界BDa1、BDa2の平行度が第1平行閾値以上であれば、当該区画線CLaを採用せずにデータを消去して、新たな区画線CLaを検出してよい。検出部56は、採用すると判定した境界BDa1、BDa2の情報を一方の区画線CLaの情報として設定部54に出力する。
【0056】
図9から
図13は、一対の区画線CLa、CLbのうち、他方の区画線CLbの検出方法を説明する図である。
図9から
図13は、
図9に点線で示す
図6に示す位置から車両10が前進した状態を示す。設定部54は、車両10が前進した状態において撮像部14bが撮像した新たな撮像画像を取得する。
【0057】
設定部54は、検出部56から取得した一方の区画線CLaの情報に基づいて、他方の区画線CLbを検出するための第2探索領域SEAを設定する。具体的には、設定部54は、車輪速センサ22から取得した車輪速及び操舵角センサ24から取得した操舵角の情報に基づいて、他方の区画線CLbを検出するための第2探索領域SEAを、現実世界の一方の区画線CLaの位置(例えば、一方の区画線CLaの境界BDa1、BDa2の中心位置)から設定相対座標の位置に設定する。
【0058】
ここで、設定部54は、第1探索領域FEAよりも小さい矩形状の第2探索領域SEAを設定してよい。具体的には、設定部54は、第1探索領域FEAよりも区画線CLa、CLbの垂線方向(または、車両10の進行方向)における幅が小さい第2探索領域SEAを設定してよい。設定部54は、マッピングテーブル等を用いた座標変換によって、現実世界に設定した第2探索領域SEAを撮像画像内に設定する。設定部54は、設定した第2探索領域SEAの情報を検出部56に出力する。
【0059】
図10に示すように、検出部56は、エッジ検出法等によって第2探索領域SEA内を探索して、マイナスエッジ点MP及びプラスエッジ点PPを検出する。
【0060】
図11に示すように、検出部56は、第1基準領域FRA、第2基準領域SRA、第1補助領域FSA、及び、第2補助領域SSAを第2探索領域SEA内に設定する。ここで、検出部56は、前側から、第2基準領域SRA、第1基準領域FRA、第2補助領域SSA、第1補助領域FSAの順で配置する。即ち、検出部56は、第1探索領域FEAの順と異なる順で第2探索領域SEAに領域SRA、FRA、SSA、FSAを設定する。検出部56は、最初、第2基準領域SRAの前端部が第2探索領域SEAの前端部と一致するように、領域SRA、FRA、SSA、FSAを、第2探索領域SEA内に設定してよい。検出部56は、第2基準領域SRA及び第2補助領域SSA内のプラスエッジ点PPの個数であるプラスポイント、及び、第1基準領域FRA及び第1補助領域FSA内のマイナスエッジ点MPの個数であるマイナスポイントを算出する。
【0061】
図12に示すように、検出部56は、他方の区画線CLbを探索するために、第2探索領域SEAの前端部から後端部へと予め定められた間隔で各領域SRA、SSAを移動させる。換言すれば、検出部56は、車両10の進行方向と反対方向に沿って、第2探索領域SEA内で他方の区画線CLbを探索する。また、検出部56は、各位置で鉛直軸の周りで領域SRA、SSAを回転させて方向を変える。尚、検出部56は、領域SRA、SSAを互いに平行に保ちつつ、各領域SRA、SSAの位置及び方向を変化させる。検出部56は、各位置及び各方向での領域SRA、SSA内のプラスエッジ点PPをカウントして、プラスポイントを算出する。検出部56は、プラスポイントが最も高くなる領域SRA、SSAの位置及び方向を特定する。
【0062】
検出部56は、他方の区画線CLbを探索するために、第2探索領域SEAの前端部から後端部へと予め定められた間隔で各領域FRA、FSAを移動させる。換言すれば、検出部56は、車両10の進行方向と反対方向に沿って、第2探索領域SEA内で他方の区画線CLbを探索する。また、検出部56は、各位置で鉛直軸の周りで領域FRA、FSAを回転させて方向を変える。尚、検出部56は、領域FRA、FSAを互いに平行に保ちつつ、各領域FRA、FSAの位置及び方向を変化させる。検出部56は、各位置及び各方向での領域FRA、FSA内のマイナスエッジ点MPをカウントして、マイナスポイントを算出する。検出部56は、マイナスポイントが最も高くなる領域FRA、FSAの位置及び方向を特定する。
【0063】
検出部56は、プラスポイントが最も大きい位置及び方向における第2基準領域SRA及びマイナスポイントが最も大きい位置及び方向における第1基準領域FRAに基づいて、一対の区画線CLa、CLbのうち、他方の区画線CLbの位置及び方向を検出する。例えば、
図11に示す状態では、第2探索領域SEA内のエッジ点MP、PPが領域SRA、FRA、SSAに含まれるので、プラスポイント及びマイナスポイントが大きくなる。尚、検出部56は、第2探索領域SEAの境界上のエッジ点MP、PP(ここでは、一方の区画線CLaのマイナスエッジ点MP)をカウントしない。一方、
図12に示す状態では、第2探索領域SEA内のエッジ点MP、PPが領域FRA、SSA、FSAに含まれないので、プラスポイント及びマイナスポイントが小さくなる。従って、検出部56は、
図11に示す状態での基準領域FRA、SRAに基づいて、他方の区画線CLbを検出する。
【0064】
具体的には、
図13に示すように、検出部56は、プラスポイントが最も高い第2基準領域SRAに含まれるプラスエッジ点PPのうち、RANSACまたはCONSACを用いてノイズ(即ち、外れ値)を削除した複数のプラスエッジ点PPに最小二乗法を適用して生成した直線を、他方の区画線CLbの外側の境界BDb1として検出する。境界BDb1は、太実線で示す。また、検出部56は、同様の処理を行って、マイナスポイントが最も高い第1基準領域FRAに含まれるマイナスエッジ点MPからノイズを削除した複数のマイナスエッジ点MPに最小二乗法を適用して生成した直線を、他方の区画線CLbの内側の境界BDb2として検出する。境界BDb2は、太点線で示す。
【0065】
ここで、検出部56は、他方の区画線CLbの両側の境界BDb1、BDb2の平行度と、予め定められた第2平行閾値とに基づいて、検出した他方の区画線CLbを採用するか否かを判定してよい。例えば、検出部56は、境界BDb1、BDb2の平行度が第2平行閾値未満であれば、区画線CLbを採用してよい。一方、検出部56は、境界BDb1、BDb2の平行度が第2平行閾値以上であれば、当該区画線CLbを採用せずにデータを消去して、新たな区画線CLa、CLbを検出してよい。第2平行閾値は、例えば、第1平行閾値よりも大きい。検出部56は、採用すると判定した境界BDb1、BDb2の情報を他方の区画線CLbの情報として設定部54に出力する。
【0066】
図14は、処理部50が実行する駐車支援処理のフローチャートである。処理部50は、駐車支援プログラム70を読み込んで、駐車支援処理を実行する。
【0067】
図14に示すように、駐車支援処理では、設定部54が、撮像部14bから撮像画像を取得する(S102)。
【0068】
設定部54は、撮像画像内に第1探索領域FEAを設定する(S104)。具体的には、
図4に示すように、設定部54は、初期座標に基づいて、現実世界内に第1探索領域FEAを設定する。設定部54は、マッピングテーブル等を用いた座標変換によって、第1探索領域FEAを撮像画像内に設定する。設定部54は、第1探索領域FEAの情報を検出部56へ出力する。
【0069】
検出部56は、第1探索領域FEA内を探索して、一対の区画線CLa、CLbのうち、一方の区画線CLaを検出する処理を実行する(S106)。具体的には、
図4から
図7に示すように、検出部56は、第1探索領域FEA内のエッジ点MP、PPを検出して、マイナスポイント及びプラスポイントが最も高くなる領域FRA、SRA、FSA、SSAの位置及び方向を決定する。
図8に示すように、検出部56は、当該位置及び方向の領域FRA、SRA、FSA、SSA内のエッジ点MP、PPに基づいて、区画線CLaの境界BDa1、BDa2を検出する。
【0070】
検出部56は、一方の区画線CLaの境界BDa1、BDa2が検出されたか否かを判定する(S108)。検出部56は、区画線CLaの境界BDa1、BDa2が検出されない場合(S108:No)、ステップS102以降を繰り返す。
【0071】
検出部56は、区画線CLaの境界BDa1、BDa2が検出されたと判定すると(S108:Yes)、検出した区画線CLaを採用するか否かを判定する(S110)。例えば、検出部56は、境界BDa1、BDa2の平行度及び第1平行閾値に基づいて、区画線CLaを採用するか否かを判定してよい。検出部56は、境界BDa1、BDa2の平行度が第1平行閾値以上であれば、当該区画線CLaを採用しないと判定して(S110:No)、当該区画線CLaの情報を消去して、ステップS102以降を再度実行する。
【0072】
一方、検出部56は、境界BDa1、BDa2の平行度が第1平行閾値未満であれば、当該区画線CLaを採用すると判定して(S110:Yes)、一対の区画線CLa、CLbが駐車領域PA、PA間に存在するか否かを判定する(S112)。例えば、検出部56は、最も高いマイナスポイント及びプラスポイントの値に基づいて、一対の区画線CLa、CLbが駐車領域PA、PA間に存在するか否かを判定してよい。具体的には、駐車領域PA、PA間に一本しか区画線CLが存在しない場合、基準領域FRA、SRA及び補助領域FSA、SSAの一方にしか区画線CLが存在しない。このため、駐車領域PA、PA間に一本しか区画線CLが存在しない場合の最も高いマイナスポイント及びプラスポイントは、一対の区画線CLa、CLbが存在する場合の最も高いマイナスポイント及びプラスポイントに比べて小さくなる。従って、検出部56は、最も高いマイナスポイント及びプラスポイントが予め設定された判定用閾値以上であれば一対の区画線CLa、CLbが存在すると判定してよい。一方、検出部56は、最も高いマイナスポイントまたはプラスポイントが判定用閾値未満であれば、一本の区画線CLしか存在しないと判定してよい。判定用閾値は、一対の区画線CLa、CLbが存在する場合の最も高いマイナスポイント及びプラスポイントの平均値の半分程度に設定してよい。
【0073】
検出部56は、駐車領域PA、PA間の区画線CLが一対でなく一本のみであると判定すると(S112:No)、後述するステップS124を実行する。
【0074】
検出部56は、駐車領域PA、PA間に一対の区画線CLa、CLbが存在すると判定すると(S112:Yes)、検出した一方の区画線CLaの情報(例えば、境界BDa1、BDa2の情報)を設定部54へ出力する。
【0075】
具体的には、設定部54は、検出済みの一方の区画線CLaに基づいて、同じ駐車領域PA、PA間で一対の区画線CLa、CLbのうち、他方の区画線CLbを検出するために、撮像部14bから新たな撮像画像を取得する(S114)。
【0076】
設定部54は、新たな撮像画像に第2探索領域SEAを設定する(S116)。具体的には、設定部54は、現実世界において、検出部56から取得した検出済みの一方の区画線CLaの位置から設定相対座標の位置に、第1探索領域FEAよりも小さい第2探索領域SEAを設定する。設定部54は、マッピングテーブル等に基づいて、現実世界の座標から撮像画像の座標に変換して、第2探索領域SEAを撮像画像内に設定する。設定部54は、第2探索領域SEAの情報を検出部56に出力する。
【0077】
検出部56は、第2探索領域SEA内を探索して、一対の区画線CLa、CLbのうち、他方の区画線CLbを検出するための処理を実行する(S118)。具体的には、検出部56は、第2探索領域SEA内のエッジ点MP、PPを検出して、マイナスポイント及びプラスポイントが最も高くなる領域FRA、SRA、FSA、SSAの位置及び方向を決定する。検出部56は、当該位置及び方向の領域FRA、SRA、FSA、SSA内のエッジ点MP、PPに基づいて、他方の区画線CLbの境界BDb1、BDb2を検出する。
【0078】
検出部56は、他方の区画線CLbの境界BDb1、BDb2が検出されたか否かを判定する(S120)。検出部56は、区画線CLbの境界BDb1、BDb2が検出されない場合(S120:No)、ステップS102以降を繰り返す。
【0079】
検出部56は、区画線CLbの境界BDb1、BDb2が検出されたと判定すると(S120:Yes)、検出した区画線CLbを採用するか否かを判定する(S122)。例えば、検出部56は、境界BDb1、BDb2の平行度及び第2平行閾値に基づいて、区画線CLbを採用するか否かを判定してよい。検出部56は、境界BDb1、BDb2の平行度が第2平行閾値以上であれば、当該区画線CLbを採用しないと判定して(S122:No)、区画線CLa、CLbの情報を消去して、ステップS102以降を再度実行する。
【0080】
一方、検出部56は、境界BDb1、BDb2の平行度が第2平行閾値未満であれば、当該区画線CLbを採用すると判定して(S122:Yes)、検出した区画線CLbの境界BDb1、BDb2の情報を設定部54へ出力する。
【0081】
次に、設定部54は、区画線CLbの境界BDb1、BDb2の情報を取得すると、駐車領域PAの両側の区画線CLを検出したか否かを判定する(S124)。設定部54は、例えば、駐車領域PAの一方の側(例えば、車両10の後側)で一対の区画線CLa、CLbを検出し、同じ駐車領域PAの他方の側(例えば、車両10の前側)で別の一対の区画線CLa、CLbを検出していたら、駐車領域PAの両側で区画線CLを検出したと判定する。同様に、設定部54は、例えば、駐車領域PAの一方の側で一本の区画線CLを検出し、同じ駐車領域PAの他方の側で別の一本の区画線CLを検出していたら、駐車領域PAの両側で区画線CLを検出したと判定する。尚、設定部54は、二対の区画線CLa、CLbを検出済みの場合、一対の区画線CLa、CLbと、別の一対の区画線CLa、CLbとの間隔に基づいて、一の駐車領域PAの両側で区画線CLa、CLbを検出したと判定してよい。
【0082】
設定部54は、駐車領域PAの片側でしか区画線CLを検出していないと判定すると(S124:No)、ステップS102以降を繰り返して、区画線CLを検出した駐車領域PAの片側とは逆の側の区画線CLを検出する。
【0083】
設定部54は、駐車領域PAの両側で区画線CLを検出したと判定すると(S124:Yes)、二対の区画線CLa、CLb間(または二本の区画線CL間)に、駐車候補領域を設定する(S126)。
【0084】
設定部54は、駐車指示を受け付けたか否かを判定する(S128)。例えば、設定部54は、駐車候補領域の画像を、撮像画像に重畳させた受付画面を表示部40に表示させて、操作入力部44から駐車指示を受け付けてよい。例えば、設定部54は、乗員が操作入力部44の駐車候補領域上をタッチすると、駐車指示を受け付けたと判定してよい。設定部54は、受付画面を表示させてから予め定められた時間が経過、または、車両10が予め定められた距離移動するまでに、駐車指示を受け付けなかった場合、駐車指示を受け付けなかったと判定してよい。
【0085】
設定部54は、駐車指示を受け付けない場合(S128:No)、設定部54及び検出部56は、ステップS102以降を繰り返して新たな区画線CLa、CLbを検出する。
【0086】
設定部54は、駐車指示を受け付けると(S128:Yes)、運転制御部58に駐車指示を出力する。
【0087】
運転制御部58は、駐車指示を受け付けると、自動運転部32を制御して、車両10を自動運転して、乗員が選択した駐車候補領域に駐車させる(S130)。これにより、処理部50は、駐車支援処理を終了する。
【0088】
上述したように、駐車支援装置36では、一対の区画線CLa、CLbのうち、先に検出された一方の区画線CLaに基づいて、他方の区画線CLbを探索する第2探索領域SEAを設定する。これにより、駐車支援装置36は、撮像画像内において、他方の区画線CLbを探索する領域を小さく、かつ、適切な位置に設定できるので、他方の区画線CLbを検出する時間を短縮しつつ、検出する確率を高めることができる。
【0089】
駐車支援装置36では、第1探索領域FEAよりも小さい第2探索領域SEA内で他方の区画線CLbを検出している。これにより、駐車支援装置36は、他方の区画線CLbを検出する時間をより短縮することができる。
【0090】
駐車支援装置36では、一方の区画線CLaの境界BDa1、BDb1の平行度と第1平行閾値とに基づいて一方の区画線CLaを採用するか否かを判定するので、一方の区画線CLa以外の側溝等を誤って区画線として認識することを抑制できる。
【0091】
駐車支援装置36では、他方の区画線CLbの境界BDa1、BDb1の平行度と第2平行閾値とに基づいて他方の区画線CLbを採用するか否かを判定するので、他方の区画線CLb以外の側溝等を誤って区画線として認識することを抑制できる。更に、第2平行閾値を第1平行閾値よりも大きくすることによって、正しく検出された他方の区画線CLbが誤って不採用となることを抑制できる。
【0092】
駐車支援装置36では、車両10の進行方向に沿って第1探索領域FEA内を探索して一方の区画線CLaを検出し、車両10の進行方向と反対方向に沿って第2探索領域SEA内を探索して他方の区画線CLbを検出している。これにより、駐車支援装置36は、駐車候補領域の設定に必要な一対の区画線CLa、CLbの外側の境界BDa1、BDb1をより精度よく検出することができる。
【0093】
上述した実施形態の構成の機能、接続関係、個数、配置等は、発明の範囲及び発明の範囲と均等の範囲内で適宜変更、削除等してよい。各実施形態を適宜組み合わせてもよい。実施形態の各ステップの順序を適宜変更してよい。
【0094】
上述の実施形態では、ステップS110、S122において、検出した区画線CLa、CLbを境界の平行度と、平行閾値とに基づいて採用するか否かを判定したが、当該処理は省略してもよい。
【0095】
上述の実施形態では、一方の区画線CLaを検出すると、ステップS112において、一対の区画線CLa、CLbが存在するか否かを判定したが、当該処理は省略してもよい。この場合、検出部56は、ステップS118の第2探索領域SEA内での他方の区画線CLbの探索において、最も高いマイナスポイント及びプラスポイントが予め定められた判定用閾値未満であれば、他方の区画線CLbが存在しないと判定してよい。
【0096】
上述の実施形態では、車両10が前進している状態を想定したが、車両10が後退している状態において上述の実施形態を適用してもよい。