【解決手段】障害物検知装置は、移動する車両に搭載され当該車両の前方または後方を撮影する第1カメラと、車両に搭載され車両の側方を撮影する第2カメラと、第1カメラが撮影して得られた画像に基づき当該車両の駐車スペースを検出する駐車スペース検出部と、駐車スペース検出部が検出する駐車スペースの実空間上の領域を記憶する記憶部と、車両の挙動に関する情報を取得する運動取得部と、第2カメラが異なる時刻に撮影して得られた複数の画像に基づき駐車スペースの周辺に存在する障害物の情報を算出する障害物算出部と、記憶部に記憶された駐車スペースの実空間上の領域、および運動取得部が取得する車両の挙動に関する情報に基づき、障害物算出部における算出を制御する処理領域設定部とを備える。
【発明を実施するための形態】
【0008】
(第1の実施の形態)
以下、
図1〜
図7を参照して、障害物検知装置の第1の実施の形態を説明する。
(構成)
図1は車両500に内蔵される障害物検知装置100の構成を示す図である。車両500はCANバス20を備えており、障害物検知装置100はCANバス20に接続される。CANバス20には不図示の他の機器も接続されている。すなわち、CANバス20に車両の進行方向を出力する装置や、CANバス20に車両の速度を出力する装置、さらに
障害物検知装置100が出力する障害物情報に基づき車両500を制御する装置が接続される。
【0009】
障害物検知装置100は、前方カメラ101と、側方カメラ102と、CPU10と、ROM11と、RAM12と、CANインタフェース13とを備える。
前方カメラ101は、車両500の上部前方に取り付けられ、車両500の前方を撮影する。側方カメラ102は、車両500の左側面に取り付けられ、車両500の左側方を撮影する。
【0010】
CPU10は、予め定められた周期ごと、たとえば0.1秒ごとに、後述するプログラムを用いて前方カメラ101および側方カメラ102が撮影して得られた画像から障害物情報を算出する。算出した障害物情報は、CANインタフェース13を介してCANバス20に出力される。以下では、上述した予め定められた周期を「処理周期」と呼ぶ。
ROM11には、プログラムと、前方カメラ101および側方カメラ102のカメラパラメータとが記憶される。プログラムは、CPU10によりROM11からRAM12に展開されて実行される。カメラパラメータとは、レンズ歪等の内部パラメータおよび車両に対するカメラ取り付け位置・角度等の外部パラメータである。RAM12には、駐車スペース情報領域12a、あるいはプログラムの実行に必要なその他の情報が一時的に保存される。駐車スペース情報領域12aについては後述する。
【0011】
CANインタフェース13は、障害物検知装置100のCANバス20との通信インタフェースである。障害物検知装置100は、CANインタフェース13を介して車両500の運動情報、すなわち車両500の進行方向および速度に関する情報を取得する。障害物検知装置100は、算出した障害物情報をCANインタフェース13を介してCANバス20に出力する。
【0012】
(駐車スペース情報領域)
駐車スペース情報領域12aは、後述する駐車スペース検知部103が検知した駐車スペースに関する情報が保存されるRAMの所定領域である。駐車スペースに関する情報とは、自車両に対する実空間上の駐車スペースの位置および姿勢である。出力する駐車スペースの位置および姿勢は、たとえば駐車スペースを構成する複数の頂点座標の組み合わせとして表される。あるいは、駐車スペースの中心座標、駐車スペースの大きさ、および自車両に対する駐車スペースの傾きの組み合わせとして表してもよい。
図2は駐車スペース情報領域12aの一例を示す図である。
図2に示す例では、駐車スペース情報領域12aには、3レコード、すなわち3つの駐車スペースに関する情報が保存されている。この例では駐車スペースを、駐車スペースを構成する複数の頂点座標の組み合わせとして表現している。この座標は、自車両を中心とした座標系、すなわち相対位置を表している。
【0013】
(機能ブロック)
図3は、障害物検知装置100のCPU10において実行されるプログラムが有する機能を機能ブロックとして表した図である。すなわち、障害物検知装置100は、CPU10において実行されるプログラムにより、駐車スペース検知部103による駐車スペース検知機能と、車両運動取得部104による車両運動取得機能と、処理領域設定部105による処理領域設定機能と、側方障害物検知部106による側方障害物検知機能と、出力部107による出力機能とを備える。障害物検知装置100は、予め定められた周期、すなわち処理周期ごとに前方カメラ101および側方カメラ102に撮影を行わせ、撮影して画像が得られると各機能ブロックによる処理を行う。具体的には、前方カメラ101が撮影を行い画像が得られると駐車スペース検知部103が処理を開始し、駐車スペース検知部103が処理を完了すると処理領域設定部105が処理を開始し、処理領域設定部105が処理を完了すると側方障害物検知部106が処理を開始する。すなわち、各機能ブロックは処理周期ごとに動作する。
【0014】
駐車スペース検知部103は、前方カメラ101が撮影して得られた画像から自車両前方に存在する駐車スペースを検知し、検知した駐車スペースに関する情報を駐車スペース情報領域12aに追加する。駐車スペースの検知とは、例えば、画像から白線を検出し、2つの白線の間の領域を駐車スペースとして検知するものである。もしくは、画像から障害物を検出し、障害物が存在しない領域を駐車スペースとするものである。障害物の検出には、後述する側方障害物検知部106と同様の処理を用いることができる。
【0015】
車両運動取得部104は、CANインタフェース13を介して車両500の運動に関する情報、すなわち車両500の進行方向や速度に関する情報を取得する。そして、前回の処理周期から現在の処理周期までの車両500の移動量を算出し、処理領域設定部105に出力する。車両500の運動情報は、車両500に取り付けられた車輪の回転量を取得するホイールエンコーダと操舵角からそれぞれ出力される情報をCANバス20経由で取得される。これらの情報に基づき車両の幾何モデルに従った計算を実行することにより、車両の移動量、たとえば右に2m、前方に0.5mなどが算出される。もしくは、車両500に搭載された加速度・角加速度計やGPSなど、姿勢・位置情報を取得可能なセンサの出力値をCANバス20を経由して取得し、車両の移動量を計算するようにしてもよい。
【0016】
処理領域設定部105は、後段の処理である側方障害物検知部106が処理対象とする、画像上の領域である処理領域Cを設定する。処理領域Cは、駐車スペース検知部103が出力してRAMに保存されている駐車スペース情報12a、および車両運動取得部104の出力、すなわち車両の運動情報に基づき設定される。後述するように、処理領域Cが空白、すなわち処理領域Cが存在しないと設定されている場合には、側方障害物検知部106は処理を行わない。
【0017】
側方障害物検知部106は、側方カメラ102が異なる時刻に撮影して得られた複数の画像に対して、以下の処理を行う。すなわち、現在の処理周期において得られた画像において、上述したように設定された処理領域Cを特定し、それらの処理領域Cに含まれる、輝度を含む画像情報と、過去の処理周期において得られた画像に含まれる、輝度を含む画像情報とを用いて、自車両側方に存在する障害物を検知し、障害物との相対位置を出力する。処理領域設定部105により処理領域Cが空白に設定されている場合は、側方障害物検知部106は処理を行わない。処理の詳細は後述する。
出力部107は、障害物検知結果をCANインタフェース13を介してCANバス20へ出力する。
【0018】
(処理領域設定部の動作)
次に
図4〜
図6を用いて、処理領域設定部105における処理の内容について説明する。
図4は処理領域設定部105において実行される処理を示すフローチャートである。以下に説明する各ステップの実行主体は、CPU10である。
ステップS210では、処理領域Cをクリアし、処理領域Cを空白とする。これにより、後述するステップS216で処理領域Cが設定されない限り、側方障害物検知部106は三次元位置の算出を行わない。次にステップS211に進む。
【0019】
ステップS211では、RAM12に保存されている駐車スペース情報12aを、車両運動取得部104により出力された直前の処理周期から現在の処理周期までの車両の移動量を用いて更新する。ただし、現在の処理周期において駐車スペース検知部103により検知された駐車スペースは、駐車スペース検知部103が出力した駐車スペースに関する情報をそのまま用いる。次にステップS212に進む。次のステップS212以降の処理は、駐車スペース情報領域12aに保存されている駐車スペースのそれぞれに対して繰り返される。ステップS212が初回に実行される際は、駐車スペース情報12aに保存されている先頭のレコードが処理される。
ステップS212では、駐車スペースと自車両の相対位置・姿勢から、駐車スペースと自車両との距離dを計算し、ステップS213に進む。
【0020】
図5は駐車スペースと自車両の距離dの一例を示す図である。自車両周辺には、白線502の間に駐車された駐車車両501が存在している。また、駐車スペース検知部103により駐車スペース503が検知されている。駐車スペース503の位置を駐車スペースにおける自車両500に最も近い位置と定義し、自車両の位置を側方カメラ102の位置と定義する。駐車スペース503の位置と自車の位置との距離504を計算し、これを距離dとする。
ここで、本例においては、自車両の位置として左カメラの位置を用いたが、自車両の位置はこれに限定されるものではなく、例えば、自車両の中心でもよい。また、駐車スペースの位置として、自車両に最も近い位置を用いたが、駐車スペースの位置はこれに限定されるものではなく、例えば、駐車スペースの中心でもよい。
【0021】
図4に戻ってフローチャートの説明を続ける。
ステップS213では、駐車スペースと自車両の距離dがあらかじめ設定された閾値d_th以下か否かを判断する。距離dが閾値d_th以下であると判断する場合にはステップS214に進み、距離dが閾値d_thより大きいと判断する場合にはステップS217に進む。
ステップS214では、側方カメラ102により撮影して得られた画像において、駐車スペースおよび駐車スペース周辺が映ると予想される領域である予測領域Pを計算する。予測領域Pは、駐車スペースと自車両の相対位置・姿勢と側方カメラ102の外部・内部パラメータとを用いて、透視投影モデルなどに従った投影計算により求めることができる。次にステップS215に進む。
【0022】
ステップS215では、ステップS214において算出した予測領域Pの全域が、あらかじめ設定された判定領域A内に存在するか否かを判断する。判定領域Aは次のように定義する。側方カメラ102により撮影して得られた画像の周辺部分は歪が大きい。そのため、画像の周辺部を除いた領域を判定領域Aとしている。予測領域Pの全域が判定領域A内に存在すると判断する場合にはステップS216に進む。予測領域Pの一部が判定領域A内に存在しない、または予測領域Pと判定領域Aが全く重複しないと判断する場合にはステップS217に進む。
【0023】
図6は、予測領域Pと判定領域Aの一例を示す図である。本例では、側方カメラ102によって撮影されて得られた画像510には、駐車車両511と白線512が映っている。ステップS214では、駐車スペースおよび駐車スペース周辺が映ると予想される領域である予測領域Pが投影計算により計算される。ステップS215では、予測領域Pが予め設定された判定領域A内に存在するか否かを判定する。
図6に示す例では、予測領域Pの全域が判定領域A内に存在するため、ステップS216に進むこととなる。
図4に戻って説明を続ける。
【0024】
ステップS216では、ステップS214において計算された予測領域Pを処理領域Cとして設定する。ここで、駐車スペースの検知位置や車両の移動量、キャリブレーションの誤差を考慮し、予測領域Pより広い領域を処理領域Cとして設定してもよい。次にステップS217に進む。
ステップS217では、RAM12に保存されている駐車スペース情報12aの全てのレコードが処理されたか否かを判断する。全てのレコードが処理されたと判断する場合は
図4のフローチャートにより表される処理を終了し、未処理のレコードが残っていると判断する場合はステップS212に戻る。
たとえば、駐車スペース情報12aに複数のレコードが保存されている場合は、これらに対応するそれぞれの予測領域Pが算出され、それらの全てを合せた領域が処理領域Cに設定される場合もある。
【0025】
(側方障害物検知部の動作)
図7を用いて、側方障害物検知部106における処理の内容について説明する。
図7は側方障害物検知部106において実行される処理を示すフローチャートである。側方障害物検知部106では、側方カメラ102が撮影して得られた画像、および処理領域設定部105において設定された処理領域Cに基づき側方障害物の三次元位置を計算する。以下に説明する各ステップの実行主体は、CPU10である。
【0026】
ステップS200では、処理領域Cが存在するか否かを判断する。側方障害物検知部106において、ステップS210により処理領域Cがクリアされた後に1度もステップS216が実行されなかった場合には、処理領域Cが存在しないこととなる。処理領域Cが存在すると判断する場合はステップS201に進み、処理領域Cが存在しないと判断する場合は
図7に示すフローチャートにより表される処理を終了する。
【0027】
ステップS201では、現在の処理周期において側方カメラ102が撮影して得られた画像であって、処理領域Cに含まれる領域から特徴点を抽出する。本ステップにおいて抽出した特徴点は、次のステップにおいて用いられる。特徴点の抽出はたとえば、画像から周囲の点との差が大きく対応付けが容易な点(特徴点)を、コーナーやエッジ上から抽出するハリスコーナ検出法(C. Harris and M. Stephens: “A combined corner and edge detector,” Proc. Alvey Vision Conf., pp. 147-151, 1988.)を用いることができる。次にステップS202に進む。
【0028】
ステップS202では、ステップS201において抽出された特徴点に対応する点をn周期前の側方カメラ102の画像から探索する。nにはあらかじめ任意の値を設定する。もしくは、車両運動取得部104から得られる車両の移動量に応じ、あらかじめ設定された距離の移動に要した周期を設定してもよい。
n周期前の側方カメラ102の画像から対応する点が探索されると、その点が障害物であると判断する。
【0029】
ここで、車両の移動前後で取得された時間的に連続な画像間では、特徴点の画像中での位置は大きく変化しないと考えられる。そこで、特徴点が抽出された位置の周囲を探索することで、効率的な探索を行うことができる。単純には、特徴点が抽出された位置を中心とした一定範囲内を探索範囲に設定し、探索を行う。探索には、特徴点の位置を中心とした近傍の画像パターンを用い、探索範囲内で画像パターンに最も類似したパターンを探索する。類似度の尺度としては、SSD(Sum of Squared Difference)やSAD(Sum of Absolute Difference)、NCC(正規化相互相関)などを用いることができる。
【0030】
また、探索範囲を設定する代わりに、特徴点の抽出位置を初期値とし、繰り返し計算により、初期値近傍でSSD値が小さくなる点を探索するLK法(Bruce D. Lucas and Takeo Kanade. An Iterative Image Registration Technique with an Application to Stereo Vision. Int. Joint Conf. on Artificial Intelligence, pp. 674-679, 1981.)を用いることができる。LK法は画像間の動きが小さい場合に高速・高精度に対応付けを得ることができ、移動体により撮影された時間的に連続した画像間の対応付けに適している。
【0031】
ステップS203では、ステップS202において対応付けられた特徴点の三次元位置を計算する。特徴点の三次元位置は、現在の処理周期およびn周期前の処理周期における画像中での特徴点の位置と、側方カメラ102の内部パラメータと、n周期間における側方カメラ102の移動量とを用いて、三角測量の原理に基づき計算することができる。
ここで、側方カメラ102の移動量は、車両運動取得部104により取得される車両の移動量と、側方カメラ102の車両に対する取り付け位置・角度から計算することができる。もしくは、特徴点の対応付け結果とカメラ内部パラメータからカメラの相対位置・姿勢を計算するSfM(Structure from Motion)法を適用してもよい。
【0032】
ステップS203の処理により、側方障害物検知部106は、三次元点群として側方障害物を検知する。また、例えば、得られた三次元点群において、距離が近い点同士を結合することで、側方障害物としてもよい。ただし、検出された障害物の高さが所定値以下である場合には、車両の走行の妨げとならないため障害物から除外してもよい。
以上により、
図5に示すフローチャートにより表される処理を終了する。
【0033】
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)障害物検知装置100は、移動する車両500に搭載され当該車両の前方を撮影する第1カメラ、すなわち前方カメラ101と、車両500に搭載され車両の左側方を撮影する第2カメラ、すなわち側方カメラ102と、第1カメラが撮影して得られた画像に基づき当該車両の駐車スペースを検出する駐車スペース検知部103と、駐車スペース検知部103が検出する駐車スペースの実空間上の領域を駐車スペース情報12aとして記憶する記憶部、すなわちRAM12と、車両500の挙動に関する情報を取得する車両運動取得部104と、側方カメラ102が異なる時刻に撮影して得られた複数の画像に基づき駐車スペースの周辺に存在する障害物の情報を算出する障害物算出部、すなわち側方障害物検知部106と、記憶部に記憶された駐車スペースの実空間上の領域、および運動取得部が取得する車両500の運動に関する情報に基づき、障害物算出部における算出を制御する処理領域設定部105とを備える。
障害物検知装置100では、前方カメラ101が撮影して得られた画像から検出される駐車スペースと、車両500の並進や回転に関する車両運動情報とに基づき、処理領域設定部105が側方障害物検知部106を制御するようにした。そのため、側方障害物検知部106で行われる障害物情報の算出による処理負荷を軽減することができる。
【0034】
(2)処理領域設定部105は、記憶部に記憶された駐車スペースの実空間上の領域、および運動取得部が取得する車両の挙動に関する情報に基づき、駐車スペースと車両500との実空間上の距離を算出し、距離が予め定められた距離よりも遠い場合に障害物算出部に障害物情報の算出処理を行わせないと決定する(
図4、ステップS213)。
そのため、側方カメラ102と駐車スペースとの距離が遠い場合には、処理領域Cを設定しないことにより側方障害物検知部106に障害物算出の演算を行わせず(
図7、ステップS200:NO)、障害物情報の算出処理を削減することができる。これは、側方カメラ102と駐車スペースとの距離が遠い場合には、側方カメラ102で撮影して得られた画像には駐車スペースが小さくしか撮影されず、このような画像を用いて障害物情報を算出することは困難、または算出できても精度が低いと考えられるからである。
【0035】
(3)処理領域設定部105は、記憶部に記憶された駐車スペースの実空間上の領域、および車両運動取得部104が取得する車両500の運動に関する情報に基づき、側方カメラ102が撮影して得られる画像における駐車スペースの領域、すなわち予測領域Pを算出し、予測領域Pと、画像内の予め定められた判定領域Aとの関係に基づき障害物算出部に算出を行わせるか否かを決定する(
図4、ステップS215)。
そのため、側方カメラ102が撮影して得られた画像において、周辺部を除いた領域を判定領域Aに設定しているので、予測領域Pが判定領域Aに含まれない場合は処理領域Cを設定せず、障害物情報の算出処理を削減することができる。
【0036】
(4)処理領域設定部105は、第2カメラが撮影して得られる画像における駐車スペースの領域、すなわち予測領域Pの少なくとも一部が判定領域Aに含まれる場合に、第2カメラが撮影して得られた画像において判定領域Aに含まれる領域を処理領域Cに設定する。処理領域設定部105は、処理領域Cに含まれる、輝度などを含む画像情報を用いて、側方障害物検知部106に算出を行わせる。
そのため、歪みの小さい判定領域Aに含まれる画像を用いて側方障害物検知部106が障害物情報を算出するので、精度の高い障害物情報を得ることができる。
【0037】
(5)処理領域設定部105は、第2カメラが撮影して得られる画像における駐車スペースの領域、すなわち予測領域Pの少なくとも一部が判定領域Aに含まれる場合に、第2カメラが撮影して得られた画像において、判定領域Aと予測領域Pとが重複する領域を処理領域Cに設定する。処理領域設定部105は、処理領域Cに含まれる、輝度を含む画像情報を用いて、側方障害物検知部106に算出を行わせる。
そのため、歪みが小さい領域にあり、なおかつ情報を得たい対象である駐車スペースが撮影されている領域のみを処理領域Cに設定するので、障害物情報の算出処理を削減しつつ精度の高い障害物情報を得ることができる。
【0038】
(変形例1)
上述した第1の実施の形態では、車両500の前方および左側方にカメラが取り付けられた。しかし、カメラの台数およびカメラの取付け位置はこれに限定されない。
障害物検知装置100は、車両500の前方を撮影する前方カメラ101の代わりに車両500の後方を撮影するカメラを備えてもよいし、前方カメラ101に加えて車両500の後方を撮影するカメラを備えてもよい。
前方カメラ101に代えて車両500の後方を撮影するカメラを備える場合は、前方カメラ101が撮影して得られた画像の代わりに車両500の後方を撮影するカメラが撮影して得られた画像を用いて第1の実施の形態において説明した処理を行う。
【0039】
前方カメラ101に加えて車両500の後方を撮影するカメラを備える場合は、それぞれのカメラで撮影して得られた画像に対して個別に第1の実施の形態において説明した処理を行ってもよい。さらに、車両500の進行方向により使い分けて、車両500の前進時には前方カメラ101が撮影して得られた映像を用い、車両500の後退時には車両500の後方を撮影するカメラが撮影して得られた画像を用いてもよい。この変形例を実現するためには、次の機能を障害物検知装置100に付加する必要がある。たとえば、車両前後進を判定する機能と、判定結果である前進か後進かによって、障害物検出対象画像を前方画像と後方画像との間で切り替える機能である。
【0040】
さらに、障害物検知装置100は、車両500の左側方を撮影する側方カメラ102の代わりに車両500の右側方を撮影するカメラを備えてもよいし、側方カメラ102に加えて車両500の右側方を撮影するカメラを備えてもよい。側方カメラ102と車両500の右側方を撮影するカメラとの使い分けは、上述した前方カメラ101と車両500の後方を撮影するカメラとの使い分けと同様である。この変形例を実現するためには、次の機能を障害物検知装置100に付加する必要がある。たとえば、前方カメラ画像もしくは後方画像を用いて、車両左右のどちら側に駐車スペースが存在するかを判定する機能と、判定結果である駐車スペースの存在方向によって、障害物検出対象画像を右方画像と左方画像との間で切り替える機能である。
【0041】
(変形例2)
上述した第1の実施の形態では、障害物検知装置100は車両500のCANバス20を介して他の機器と接続された。しかし、障害物検知装置100の他の機器との接続関係はこれに限定されない。
障害物検知装置100はCAN以外の通信バスを介して他の機器と接続されてもよいし、通信バスを介さずに直接他の機器と接続されてもよい。さらに、障害物検知装置100がカメラ装置または統合コントローラ内などに組み込まれてもよい。
【0042】
(変形例3)
処理領域設定部105は、予測領域Pの全域が判定領域A内に存在する場合に、予測領域Pを処理領域Cとして設定した(
図4、ステップS215:YES、ステップS216)。しかし処理領域Cの設定方法はこれに限定されない。
処理領域設定部105は、予測領域Pの全域が判定領域A内に存在する場合に、判定領域Aの全体を処理領域Cに設定してもよいし、側方カメラ102が撮影して得られた画像の全域を処理領域Cに設定してもよい。
処理領域設定部105は、予測領域Pの少なくとも一部が判定領域A内に存在する場合に、予測領域Pを処理領域Cとして設定してもよいし、判定領域Aを処理領域Cとして設定してもよいし、判定領域Aと予測領域Pとが重複する領域を処理領域Cとして設定してもよいし、側方カメラ102が撮影して得られた画像の全域を処理領域Cに設定してもよい。
【0043】
(変形例4)
処理領域設定部105の処理に用いられる距離の閾値d_th(
図4、ステップS213)に無限大を設定し、距離に関わらず駐車スペースの予測領域Pのみを用いて側方障害物検知部106の処理領域Cを設定してもよいし、判定領域Aとして側方カメラ102の画像全体を設定してもよい。
さらに、距離の閾値d_thと判定領域Aの組み合わせを複数組み用意し、ステップS213からステップS217の処理を複数組みに対して繰り返し実行することで、側方障害物検知部106の処理領域Cを設定してもよい。これにより例えば、自車両と駐車スペースとの距離が遠くても、側方カメラ102の画像の中心付近に駐車スペースが映ると予想される場合には、側方障害物検知部106において処理を実施するなどの設定が可能となる。
【0044】
(変形例5)
上述した第1の実施の形態では、三角測量を用いた特徴点の三次元位置計算による側方障害物検知方法について述べたが、側方障害物検知部106の処理内容はこれに限定されない。例えば、カメラの内部・外部パラメータを用いることで、周辺環境を真上から見た画像(俯瞰画像)に変換し、俯瞰画像上でエッジなどに基づき障害物を検知する手法を用いてもよい。
この変形例を実現するためには、次の機能を障害物検知装置100に付加する必要がある。たとえば、車両の前方向、後方向、右方向、左方向をそれぞれ撮像するカメラと、これら複数のカメラで撮像して得た画像を合成して俯瞰画像を生成する俯瞰画像生成機能と、俯瞰画像を用いて車両側方の障害物を検出する機能である。
この場合においても、処理領域設定部105において設定された処理領域Cのみを俯瞰画像に変換することで、計算コストを低減することが可能である。
【0045】
(変形例6)
上述した第1の実施の形態において、処理領域設定部105は駐車スペースと自車両の距離を算出し、その距離が所定の閾値以下である場合に駐車スペースの予測領域Pを算出した(
図4、ステップS213:YES、S214)。しかし、処理領域設定部105の動作はこれに限定されない。
処理領域設定部105は、駐車スペースと自車両との相対位置・姿勢を計算し、特段の判断を行うことなく側方カメラ102が撮影して得られた画像における駐車スペースの予測領域Pを算出してもよい。すなわち、
図4のステップS211の次にステップS214を実行してもよい。この場合は、次に予測領域Pの画像上の面積が予め定められた面積よりも大きいか否かを判断し、予め定められた面積よりも大きいと判断する場合はステップS215に進み、予め定められた面積以下であると判断する場合はステップS217に進む。
また、上記判断を予測領域Pと判定領域Aが重複する領域の面積で判断してもよい。
【0046】
上述した変形例6によれば、次の作用効果が得られる。
(1)処理領域設定部105は、記憶部に記憶された駐車スペースの実空間上の領域、および運動取得部が取得する車両の挙動に関する情報に基づき、第2カメラ,すなわち側方カメラ102が撮影して得られる画像における駐車スペースの面積、すなわち予測領域Pの面積を算出し、算出した面積が予め定められた面積よりも大きい場合に処理領域Cを設定し、障害物算出部、すなわち側方障害物検知部106に算出を行わせる。
【0047】
(第2の実施の形態)
図8〜
図9を参照して、本発明による障害物検知装置の第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、前方障害物検知部を備える点で、第1の実施の形態と異なる。
【0048】
(構成)
障害物検知装置100aの構成は、ROM11に保存されているプログラムを除いて第1の実施の形態と同様である。
図8は、障害物検知装置100aにおいて実行されるプログラムが有する機能を機能ブロックとして表した図である。第2の実施の形態と第1の実施の形態との相違点は以下のとおりである。第2の実施の形態では、第1の実施の形態における障害物検知装置100が備える機能に加えて、前方障害物検知部208をさらに備える。また、処理領域設定部105の代わりに処理領域設定部105aを備える。前方カメラ101が撮影して得られた画像は前方障害物検知部208に送信され、前方障害物検知部208の処理結果に基づき駐車スペース検知部103aが動作する。出力部107は、側方障害物検知部106だけでなく、前方障害物検知部208からも入力を受ける。
【0049】
前方障害物検知部208は、前方カメラ101が異なる時刻に撮影して得られた複数の画像から車両前方に存在する障害物を検知し、自車両に対する障害物の位置を出力する。前方障害物検知部208の処理は側方障害物検知部106と同様であり、相違点は側方カメラ102が撮影して得られた画像ではなく、前方カメラ101が撮影して得られた画像を用いる点である。ただし、処理領域Cは、あらかじめ設定されているものとする。たとえば、前方カメラ101の画像全体を処理領域Cとしてもよい。また、魚眼レンズを搭載したカメラにより撮影された場合など、画像端の歪が大きい場合には、画像の中心付近を処理領域Cに設定することが有効である。
【0050】
出力部107は、前方障害物検知部208により検知された車両前方の障害物位置と、側方障害物検知部106により検知された車両側方の障害物位置をCANバス20へ出力する。後述するように、前方障害物検知部208により障害物が検出されなかった位置のみが側方障害物検知部106の処理対象となる。そのため出力部107は、前方障害物検知部208が出力する障害物位置と、側方障害物検知部106が出力する障害物位置とをそのままあわせて出力する。
【0051】
(処理領域設定部105aの動作)
次に
図9、
図10を用いて、処理領域設定部105aにおける処理の内容について説明する。
図9は、処理領域設定部105aにおいて実行される処理を示すフローチャートである。本フローチャートと、第1の実施の形態における
図2に示すフローチャートとの違いは、ステップS215において肯定判断された後から、ステップS217に至るまでの処理である。以下に説明する各ステップの実行主体は、CPU10である。
【0052】
ステップS215において肯定判断されると実行されるステップS250では、現在の処理周期において実行された前方障害物検知部208では、障害物の背後に存在しており計測できなかった実空間上の領域である未計測領域Uを算出する。すなわち、前方障害物検知部208が検出した障害物により分断される領域であって、当該障害物よりも前方カメラ101に遠い領域が未計測領域Uである。次にステップS216aに進む。
【0053】
図10は、未計測領域の一例を示す図である。
図10は、前方カメラ101が異なる時刻に撮影して得られた複数の画像を用いて、車両前方に存在する障害物521を検知した状態を示している。このとき、前方カメラ101と障害物521との間の領域は、他の障害物が存在しないと考えられるため計測済み領域となり、残りの領域が未計測領域Uとなる。
【0054】
ステップ216aでは、側方障害物検知部106が処理する領域を設定する。すなわち、ステップS215において算出された実空間上の未計測領域Uを、側方カメラ102が撮影して得られた画像に投影し、画像上の未計測投影領域Wを得る。この未計測投影領域Wを、側方障害物検知部106が処理する領域、すなわち処理領域Cとする。未計測投影領域Wの算出には、未計測領域Uと自車両との相対位置・姿勢、および前方カメラ101と側方カメラ102の外部・内部パラメータを用いる。ここで、計算誤差を考慮し、未計測投影領域Wより広い領域を処理領域Cとして設定してもよい。次にステップS217に進む。
ステップS217の動作は第1の実施の形態と同様である。
【0055】
上述した第2の実施の形態によれば、次の作用効果が得られる。
(1)障害物検知装置100は、第1カメラ、すなわち前方カメラ101が異なる時刻に撮影して得られた複数の画像に基づき障害物の情報を算出する第1カメラ画像処理部、すなわち前方障害物検知部208を備える。駐車スペース検知部103aは、前方障害物検知部208の算出結果に基づき駐車スペースを検出する。処理領域設定部105aは、前方障害物検知部208により障害物の情報が算出されているか否かに基づき障害物算出部が算出を行うか否かを決定する。
そのため、駐車スペースの検知のために行われている前方障害物検知部208による障害物の情報の算出結果を用いて、側方障害物検知部106の算出処理を削減することができる。具体的には、すでに前方障害物検知部208により障害物の情報が算出されている場合には、その算出済みの領域には処理領域Cを設定せず、側方障害物検知部106の算出処理を削減することができる。
【0056】
(第2の実施の形態の変形例1)
上述した第2の実施の形態では、処理領域設定部105aは、現在の処理周期において前方障害物検知部208により計測ができなかった領域を未計測領域Uとした(
図9、ステップS250)。しかし、現在の処理周期だけでなく従前の処理周期においても前方障害物検知部208により計測ができなかった領域を未計測領域Uとしてもよい。すなわち、過去の処理周期における計測済み領域を、車両運動取得部104により出力された過去の処理周期から現在の処理周期までの車両運動を用いて補正する。そして、いずれの処理周期においても計測されていない領域を未計測領域Uとする。
また、未計測領域Uの計算において、計算コストを削減するために駐車スペース検知部203により検知された駐車スペース周辺のみを計算対象としてもよい。
【0057】
(第2の実施の形態の変形例2)
処理領域設定部105aは、実空間を所定の大きさのグリッド、たとえば一辺1mの格子に分割して、それぞれのグリッドごとに前方障害物検知部208により計測ができたか否かを判断してもよい。この場合は、前方障害物検知部208が検出した障害物とカメラ位置とを結ぶ線分が通過したグリッドを計測済みに設定する。
この変形例によれば、前方障害物検知部208において検知された前方・後方障害物が特徴点の三次元位置の集まりである三次元点群である場合には、各点に対する計測済み領域が線になるため、計測済み領域が疎になってしまう問題を解決できる。
【0058】
(第3の実施の形態)
図11〜
図13を参照して、本発明による障害物検知装置の第3の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、前方障害物検知部と側方障害物検知部の両方が同一の地点について障害物情報を算出し、信頼度に基づいていずれかの障害物情報を出力する点で、第1の実施の形態と異なる。
【0059】
(構成)
障害物検知装置100bの構成は、ROM11に保存されているプログラムを除いて第1の実施の形態と同様である。
図11は、第3実施の形態における障害物検知装置100bの構成を示すブロック図である。なお、以下の説明では、上述の第1実施の形態における障害物検知装置100および第2実施の形態における障害物検知装置100aと異なる箇所のみ詳述し、同様の箇所には同一の番号を付してその詳細な説明を省略する。
図11に示す第3の実施の形態と第1の実施の形態との相違点は以下のとおりである。第3の実施の形態では、第1の実施の形態における障害物検知装置100が備える機能に加えて、前方障害物検知部208、および統合部309を備える。
統合部309は、前方障害物検知部208により検知された車両前方の障害物位置と側方障害物検知部106により検知された車両側方の障害物位置を結合して出力部107に出力する。
【0060】
(統合部309の処理)
図12、
図13を用いて、統合部309における処理の内容について説明する。
図12は、統合部309における処理を示したフローチャートである。以下に説明する各ステップの実行主体は、CPU10である。
ステップS600では、前方障害物検知部208により検知された車両前方の障害物位置および側方障害物検知部106により検知された車両側方の障害物位置の信頼度を計算する。三角測量により障害物位置が計算されている場合は、信頼度を視差の大きさを用いて決定する。視差とは、当該障害物の位置から、障害物の算出に用いた複数の画像に対応するそれぞれのカメラの位置へのベクトルのなす角である。信頼度は、比較を容易にするために、たとえば0〜100の整数であらわされる。
【0061】
図13は、視差の一例を示す図である。
図13に示す例では、現在の処理周期における自車両の位置530と、過去の処理周期における自車両の位置531を用いた三角測量により、側方障害物検知部106が位置532における障害物情報を出力している。ここで視差は、位置532から三角測量に用いた2つのカメラ位置へのベクトルのなす角533として計算される。障害物の位置が異なれば2つのカメラ位置へのベクトルのなす角も異なるので、信頼度は位置ごと、すなわち障害物ごとに異なる値を有する。次にステップS601に進む。
【0062】
ステップS601では、自車両周辺の実空間をグリッドに分割する。例えば、自車両を中心とし、10m×10mの空間を1m×1mのグリッド100個に分割する。ただし、周辺空間およびグリッドのサイズは任意に変更してよい。次にステップS602に進む。
ステップS602では、あるグリッド内に存在するそれぞれの障害物の信頼度から各カメラの信頼度を計算する。例えば、各カメラの画像から計測された障害物位置の信頼度の平均値をカメラの信頼度とする。また、平均値に代わり、中央値を用いてもよい。なお、カメラの信頼度の計算に用いる障害物位置は、現在の処理周期により計測された障害物位置に限定されず、過去の処理周期により計測された障害物位置を用いてもよい。次にステップS603に進む。
【0063】
ステップS603では、ステップS602において算出した信頼度に基づき、あるグリッドにおいて、前方カメラ101および側方カメラ102のうち、いずれか高い信頼度を有するカメラの画像から計測された障害物位置を出力する。たとえば、あるグリッドにおいて、前方カメラ101から得られた障害物情報は信頼度が10のものと20のものの2点あり、側方カメラ102から得られた障害物情報は信頼度が20の1点ある場合は以下の出力が行われる。すなわち、前方カメラ101の信頼度は平均値の15であり、側方カメラ102の信頼度は20なので、そのグリッドの障害物情報は前方カメラ101から得られた1点のみが出力される。
以下、ステップS602およびステップS603を全てのグリッドに対して処理を行い、統合部309の処理を終了する。
【0064】
上述した第3の実施の形態によれば、次の作用効果が得られる。
(1)障害物検知装置100は、前方カメラ101が異なる時刻に撮影して得られた複数の画像に基づき障害物の情報を算出する前方障害物検知部208と、実空間を格子状に分割した領域ごとに、前方障害物検知部208が算出する障害物の情報の信頼度、および側方障害物検知部106が算出する障害物の情報の信頼度を算出し、当該領域における算出した信頼度が高い方の障害物の情報のいずれか一方を出力部107に出力する統合部309とを備える。駐車スペース検知部103は、前方障害物検知部208の算出結果に基づき駐車スペースを検出する。
そのため、前方カメラ101と側方カメラ102のそれぞれの画像から得られた障害物の情報のうち、信頼度が高い障害物の情報を出力することができる。車両500の操舵や車両500と障害物の位置関係により、前方カメラ101と側方カメラ102のいずれが精度よく障害物の情報を算出できるかが異なるため、本手法が有効である。
【0065】
(2)側方障害物検知部106および前方障害物検知部208は、それぞれ2枚の画像、および三角測量の原理に基づき障害物の情報を算出する。統合部309は、実空間上の障害物の位置と2枚の画像が撮影された際の前方カメラ101の実空間上のそれぞれの位置とを結ぶ2本の直線がなす角に基づき、前方障害物検知部208が算出する障害物の情報の信頼度を算出し、実空間上の障害物の位置と2枚の画像が撮影された際の側方カメラ102の実空間上のそれぞれの位置とを結ぶ2本の直線がなす角に基づき、側方障害物検知部106が算出する障害物の情報の信頼度を算出する。
そのため、簡易な演算により信頼度を算出することができる。
【0066】
(第3の実施の形態の変形例)
統合部309の処理は、上記に限定されない。
統合部309は、信頼度に係わらず、または信頼度を算出することなく、前方障害物検知部208により出力された車両前方の障害物位置と、側方障害物検知部106により出力された車両側方の障害物位置とを出力してもよい。
統合部309は、視差の代わりに障害物の数、すなわち対応付けができた点の数に基づき信頼度を算出してもよい。すなわち統合部309は、あるグリッド内において前方障害物検知部208により検出された障害物の数と、側方障害物検知部106により検出された障害物の数とを比較する。前方障害物検知部208の方が多くの障害物を検出した場合には、統合部309は当該グリッドの障害物の情報として、前方障害物検知部208が検出した障害物の情報を出力する。側方障害物検知部106の方が多くの障害物を検出した場合には、統合部309は当該グリッドの障害物の情報として、側方障害物検知部106が検出した障害物の情報を出力する。
【0067】
(第4の実施の形態)
図14〜
図15を参照して、本発明による障害物検知装置の第4の実施の形態を説明する。以下の説明では、第3の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第3の実施の形態と同じである。本実施の形態では、主に、障害物検知装置が出力する障害物検知結果を用いて駐車スペースを検知する点が、第3の実施の形態と異なる。
【0068】
(構成)
障害物検知装置の構成は第3の実施の形態と同様である。車両500は第3の実施の形態の構成に加えて、駐車スペース後処理検出部をさらに備える。
図14は、第4の実施の形態において車両500において実行されるプログラムが有する機能を機能ブロックとして表した図である。駐車スペース後処理検出部410は、CANバス20(
図1参照)に接続されるECUにおいて実行されるプログラムが有する機能を機能ブロックとして表したものである。駐車スペース後処理検出部410は、CANバス20を経由して障害物検知装置100bから障害物検知結果を受信し、自車両周辺に存在する駐車スペースを検知する。
【0069】
(駐車スペース後処理検出部)
図15を用いて駐車スペース後処理検出部410の処理の内容について説明する。
図15は駐車スペース後処理検出部410により検知された駐車スペースの一例を示す図である。本例では、自車両が過去の処理周期における位置540から現在の処理周期における位置541に移動した場合において、障害物検知装置100bによって障害物位置542、543が得られている。駐車スペース後処理検出部410は、複数の障害物位置の間に、障害物が存在しない空間が存在した場合に、障害物が存在しない空間を駐車スペースとして検知する。
図15に示す例では、障害物位置542、543の間の空間544が駐車スペースとして検知される。
第4の実施の形態によれば、自車両周囲に存在する、障害物が存在しない駐車スペースを検知することができる。
【0070】
(第4の実施の形態の変形例1)
第4の実施の形態では、駐車スペース後処理検出部410は複数の障害物の間の障害物が存在しない空間を駐車スペースとして検知したが、駐車スペースの検知方法はこれに限定されない。
駐車スペース後処理検出部410は、障害物が存在しない空間すべてを駐車スペースとして検知してもよい。
駐車スペース後処理検出部410は、事前に最小駐車スペースサイズを定義し、最小駐車スペース以上の障害物が存在しない空間のみを駐車スペースとして検知してもよい。
【0071】
駐車スペース後処理検出部410は、車両の前方もしくは後方を撮影した前方カメラ101の画像および側方を撮影した側方カメラ102の画像から白線などの駐車枠を検知し、障害物が存在しない駐車枠位置を駐車スペースとして検知してもよい。
駐車スペース後処理検出部410は、過去の処理周期における障害物位置を車両運動取得部104により出力された過去の処理周期から現在の処理周期までの車両運動を用いて補正し、現在の処理周期における障害物位置と足し合わせ、障害物位置として用いてもよい。
【0072】
(第4の実施の形態の変形例2)
第4の実施の形態では、駐車スペース後処理検知部410は障害物検知装置100bとは異なるECUが有する機能とした。しかし、障害物検知装置100bが駐車スペース後処理検知部410を備え、障害物検知結果とともに検知した駐車スペースの位置を出力してもよい。
【0073】
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。