(58)【調査した分野】(Int.Cl.,DB名)
前記特徴点足元位置算出部は、前記特徴点の3次元位置から前記足元位置を算出する際に、路面高さを実際の路面よりも高い所定の高さ位置に設定して画像座標を算出し、該画像座標の路面高さ位置における3次元座標を算出することを特徴とする請求項1に記載の車載用外界認識装置。
【発明を実施するための形態】
【0012】
<第一実施の形態>
以下、本発明の第一実施の形態について図面を用いて詳細に説明する。
図1は、第一実施の形態における車載用外界認識装置1000のブロック図である。
【0013】
車載用外界認識装置1000は、自動車に搭載されるカメラ装置内、もしくは統合コントローラ内等に組み込まれ、カメラ装置のカメラ1001〜1004で撮影した画像内から外界を認識するためのものであり、本実施の形態では、自車周囲の障害物を認識するように構成されている。
【0014】
車載用外界認識装置1000は、CPUやメモリ、I/O等を有するコンピュータによって構成されており、所定の処理がプログラミングされて、あらかじめ定められた周期Tで繰り返し処理を実行する。
【0015】
車載用外界認識装置1000は、
図1に示すように、画像取得部1011と、特徴点位置計測部1021と、特徴点足元位置算出部1031と、路面領域推定部1041と、障害物判定部1051を有する。
【0016】
画像取得部1011は、自車周囲の環境を含む画像を取得する。画像取得部1011は、
図2に示すように,自車10の周囲を撮像可能な位置に取り付けられたカメラ1001〜1004から、自車周囲を撮影した画像1005〜1008のうちいずれか1つ以上を取得する。本実施例においては、自車10の進行方向の情報に基づき、前進時は前方カメラ1001で撮像した画像1005を取得し、後進時は後方カメラ1004で撮像した画像1008を取得する。取得した画像は、2次元配列としてRAM上に記録される。以下、入力画像はIMGSRC[x][y]で表すものとする。x、yはそれぞれ画像の座標を示す。
図2に示す各画像1005〜1008は、自車10が駐車枠に前向き駐車したときの画像であり、駐車スペースの区画線Lが撮像されている。
【0017】
特徴点位置計測部1021は、画像から特徴点を抽出し、特徴点を時系列追跡した画像上の動きに基づいて特徴点の三次元位置を計測する。つまり、特徴点位置計測部1021では、入力画像IMGSRC[x][y]から特徴点FP[p]を抽出し、その特徴点FP[p]を時系列追跡した画像上の動き(特徴点の時系列変化)に基づいて、特徴点の三次元位置として、自車10から特徴点FP[p]までの距離を計測する。特徴点位置計測部1021は、入力画像IMGSRC[x][y]から特徴点FP[p]を検出し、時系列に追跡することにより各特徴点の画像座標テーブルFPI[p]から3次元距離テーブルFPW[p]を計測する。ここで、FPI[p]は画像座標(x、y)、FPW[p]は自車後輪車軸を原点とする世界座標(x、y、z)の要素を持つテーブルの1次元配列であり、pは複数検出した場合のIDを表す。処理の詳細は後述する。
【0018】
特徴点足元位置算出部1031は、特徴点の三次元位置から特徴点の足元位置を算出する。つまり、特徴点足元位置算出部1031では、特徴点FP[p]の世界座標FPW[p]からカメラの設置高さや角度といったカメラ幾何情報を用いて、特徴点FP[p]の足元位置FPW0[p]を算出する。ここで、FPW0[p]は世界座標(x、y、0)の要素を持つテーブルの1次元配列であり、pは複数検出した場合のIDを表す。処理の詳細は後述する。特徴点の足元位置とは、特徴点の位置から鉛直方向に下げた路面上の位置をいう。
【0019】
路面領域推定部1041は、画像から画像のテクスチャの類似度を用いて、自車が走行可能な路面領域を推定する。つまり、路面領域推定部1041では、入力画像IMGSRC[x][y]から、画像のテクスチャ情報を解析し、路面領域を抽出する。情報の持ち方は様々あるが、本実施例においては、1グリッド5cm程度で自車後輪車軸中心を原点とするグリッドマップGRD[x][y]を前後左右10m程度の範囲で用意し、路面領域ほど「1」、非路面領域ほど「0」となるような推定値をもたせるものとする。処理の詳細は後述する。
【0020】
障害物判定部1051は、特徴点の足元位置と推定した路面領域とを比較し、足元位置が推定した路面領域に含まれない特徴点を自車周囲の静止した障害物の特徴点であると判定する。つまり、障害物判定部1051では、特徴点FP[p]の足元位置FPW0[p]=(x、y、0)の座標と路面領域推定値を格納したグリッドGRD[x][y]を比較し、特徴点の足元位置が路面領域に含まれている特徴点は除去し、路面領域に含まれていない特徴点を残した障害物特徴点OFP[q]を生成する。処理の詳細は後述する。
【0021】
[特徴点位置計測部1021]
つぎに、
図3、4を用いて、特徴点位置計測部1021における処理の内容について説明する。
図3は、特徴点位置計測部1021の処理の流れを示したフローチャートである。また、
図4は、特徴点位置計測部1021の処理の説明図である。
【0022】
特徴点位置計測部1021は、入力画像IMGSRC[x][y]に対して実施する。まず、ステップS301にて、現在画像である入力画像IMGSRC[x][y]から特徴点FPI[p]を抽出する。特徴点FPI[p]の抽出は、Harrisコーナー等公知の方法を用いる。その結果、各特徴点に対して画像座標が得られる。
【0023】
つぎに、ステップS302にて、同じカメラから取得された、所定時刻前の過去画像IMGSRC_Pを取得する。
【0024】
つぎに、ステップS303にて、現在画像と過去画像からオプティカルフローを算出する。ここでは、現在画像IMGSRC上における各特徴点FPI[p]の過去画像IMGSRC_P上の対応位置を、オプティカルフロー法により算出し、各特徴点の移動ベクトルFP_VX[p]、FP_VY[p]を取得する。オプティカルフローは、Lucas−Kanade法等、公知の方法を用いる。
【0025】
そして、ステップS304にて、オプティカルフローから3次元情報FPW[p]を算出する。ここでは、特徴点FPI[p]および移動ベクトルFP_VX[p]、FP_VY[p]を用いて、各特徴点FPI[p]の自車周囲における3次元位置を算出する。算出方法は、公知の手段を用いる。本実施例においては、画像上の移動ベクトルと、CANにより取得した自車位置DRC[t]およびDRC[t−1]を用いて算出した自車移動量を用いる。ここで、tは処理のタイミングを表す記号であり、自車移動量DRC[t]は、自車後輪車軸中心を原点とする座標系におけるX、Y、ヨー角である。自車位置DRC[t]およびDRC[t−1]より、X、Y、ヨー角の移動量が得られる。
【0026】
最後に、ステップS305にて、各特徴点の相対座標を取得する処理を行う。ここでは、各特徴点の3次元位置を車両の後輪車軸中心を原点とする座標系に変換し、距離テーブルFPW[p]として格納する。
【0027】
図4(a)に示すように、過去の自車位置DRC[t−1]と現在の自車位置DRC[t]が変化することにより視差が生まれ、距離を計測することができる。
図4(a)に示す例では、自車10がt−1時点からt時点までの間に距離dだけ進むことによって生じた視差に基づいて駐車車両20までの距離Yが計測される。画像の特徴点それぞれの距離を計測するため、たとえば駐車車両20に対して計測した結果は、
図4(b)に示すように、複数の点21として計測される。
【0028】
[特徴点足元位置算出部1031]
つぎに、足元位置算出部1031における処理の内容について説明する。
【0029】
本実施例においては、2つの方法について説明する。
まず、一つ目の方法(一番目の方法)は、単純に距離テーブルFPW[p]を距離テーブルFPW0[p]=(x、y、z)へコピーし、距離テーブルFPW0[p]のz=0とする方法である。
【0030】
そして、二つ目の方法(二番目の方法)は、特徴点の3次元位置から足元位置を算出する際に、路面高さを実際の路面よりも高い位置に設定して画像座標を算出し、画像座標の路面高さ位置における3次元座標を算出する方法である。この二番目の方法について、
図5を用いて説明する。
図5は、足元位置算出部1031の処理の流れを示したフローチャートである。
まず、ステップS501にて、距離テーブルFPW[p]=(x、y、z)を距離テーブルFPW0T[p]=(x、y、z)へコピーする。
【0031】
つぎに、ステップS502にて、距離テーブルFPW0T[p]の高さzを、実際の路面より高い値「Hv」に設定する。
【0032】
つぎに、ステップS503にて、距離テーブルFPW0T[p]から画像座標テーブルFPI0[p]を算出する。算出には、予め登録されているカメラの設置高さ、設置角度やレンズの歪テーブルといったカメラ幾何情報を用いる。カメラ幾何情報を用いて、世界座標から画像座標を算出する処理は公知の技術であるため詳細な説明は割愛する。
【0033】
そして、ステップS504にて、カメラ幾何情報を用いて、画像座標テーブルFPI0[p]の位置における、路面高さ(z=0)における距離テーブルFPW0[p]=(x、y、0)を算出する。
【0034】
足元位置の算出方法として、上記した一番目の方法と二番目の方法のどちらを用いるべきかは、自車10のカメラの設置高さに応じて選択できる。また、二番目の方法の高さHvは、仕向け地や自車の車種によって値を変えてもよい。さらに、機械学習による識別器を用いて画像内の車両の種類を識別し、その種類に応じて変えてもよい。機械学習による車両の検出や車種の判定方法は公知技術のため、ここでは説明を割愛する。
図6は、自車のカメラで他の車両を撮像している状況を模式的に示す図であり、
図6(a)は一番目の方法を示し、
図6(b)は二番目の方法を示している。
【0035】
図6(a)に示すように、低く設置されたカメラを用いて、他の車両20を対象に特徴点位置計測部1021と路面領域推定部1041による処理を実行すると、車のバンパーは路面よりも高い位置にあるため、路面領域推定部1041により推定した路面領域がバンパーの下まで回りこんでしまい、特徴点位置計測部1021により得られる距離よりも広い範囲で路面領域が検出される。そのため、
図6(b)に示すように、車のバンパーの高さHvの位置で一旦画像座標に変換し、その画像座標の路面高さ(z=0)における距離を求めることで、距離テーブルFPW0[p]と路面領域が重複しないようにすることができる。
【0036】
つまり、一番目の方法では、
図6(a)に示すように、路面領域推定部104で推定した路面領域内に、特徴点足元位置算出部1031で算出した足元位置が入り込んでしまうので、障害物判定部1051によって、その特徴点は誤検出されたものと判断されて除去されるおそれがある。これに対して、二番目の方法では、
図6(b)に示すように、特徴点から下方に所定長さだけ離れた位置にバンパーの下縁が存在するとみなし、かかる位置、換言すると、足元位置から路面から高さHvの位置を、障害物判定部1051の障害物判定に用いる。障害物判定部1051では、カメラと足元位置から路面から高さHVの位置との間を結ぶ線を路面まで延長した位置が、推定した路面領域の端縁近傍に位置している場合には、障害物の特徴点として残す処理を行う。
【0037】
[路面領域推定部1041]
つぎに、
図7,8,9を用いて、路面領域推定部1041における処理の内容について説明する。
図7は、路面領域推定部1041の処理の流れを示したフローチャートである。
【0038】
路面領域推定部1041は、入力画像IMGSRC[x][y]に対して実施する。画像から路面領域を推定する方法は、たとえば機械学習を用いた方法や、画像内の類似度を用いた方法等様々あるが、本実施例では、特徴点位置計測部1021の結果を用いて実施する方法を用いる。
【0039】
まず、ステップS701にて、入力画像IMGSRC[x][y]を複数の局所領域R[r]に分割する。
【0040】
つぎに、ステップS702にて、特徴点から計測された距離テーブルFPW[p]=(x、y、z)のうち高さが路面高さの範囲(thZrmin、thZrmax)の範囲内の特徴点を抽出し、その特徴点が属する局所領域R[r]のIDのテーブルrd[d]を抽出する。
【0041】
以下、ステップS703からS705まで、rd[d]についてd=0からDまで繰り返し処理を行う。
【0042】
まず、ステップS703にて、路面高さの範囲内の特徴点が属する局所領域R[rd[d]]から、画像のヒストグラム情報Hst1を取得する。
【0043】
つぎに、ステップS704にて、路面高さの範囲内の特徴点が属する局所領域R[rd[d]]近傍の局所領域R[r’]について、以下ステップS704,S705の処理を行う。近傍の判定は、たとえば局所領域R[rd[d]]と局所領域R[r’]の中心間の距離が閾値thRDist以下である領域とする。
【0044】
まず、ステップS704にて、局所領域R[r’]のヒストグラム情報Hst2を取得する。
そして、ステップS705にて、ヒストグラムHst1とHst2の類似度Matchを算出し、類似度が閾値thMatch以上であれば、その局所領域R[r’]のID=r’をテーブルrdm[dm]へ登録する。
すべてのr’に対する処理が終了したら、次のrd[d]を選択し、ステップS703へ戻る。
【0045】
すべてのrd[d]に対して処理を終了したらステップS706へ移動し、rd[d]およびrdm[dm]に所属するすべての局所領域R[rd[d]]、R[rdm[dm]]を、画像内の路面領域推定瞬間値RDI[t]として抽出する。
さらに、ステップS707にて、カメラ幾何情報を用いて、路面領域の境界を世界座標の路面推定瞬間値RDT[x][y]へ変換し、時系列処理を行う。
【0046】
ステップS707の時系列処理について、
図8,9を用いて説明する。
図8は処理のフロー、
図9は時系列処理の説明図である。
【0047】
まず、ステップS801にて、デッドレコニング情報に基づき、今回の自車位置DRC[t]と前回の自車位置DRC[t−1]を取得し、今回の自車位置DRC[t]を基準とする前回の自車位置DRC_P[t]を算出する。
図9(a)はその例である。
図9(a)では、今回の自車位置を実線で示し、前回の自車位置を破線で示している。
【0048】
つぎに、ステップS802にて、前回の自車位置DRC_P[t]を基準とし、前回の路面領域推定結果GRDz1[x][y]を展開し、全体から一定値を減算する。
図9(b)はその例である。
図9(b)には、前回の路面領域推定結果151を破線で示している。
【0049】
つづいて、ステップS803にて、今回の自車位置DRC[t]を基準とし、今回の路面領域推定瞬間値RDT[t][x][y]を展開する。
図9(c)はその例である。
図9(c)には、今回の路面領域推定瞬間値152を実線で示している。
【0050】
そして、ステップS804にて、前回の路面領域推定結果RDT[t−1][x][y]と今回の路面領域推定瞬間値RDT[t][x][y]を加算する。
図9(d)はその例である。
図9(d)では、前回と今回の路面領域推定瞬間値の重複領域153をハッチングで示している。
【0051】
さらに、ステップS805にて、重複領域を今回の路面領域推定結果GRD[x][y]として出力し、同時に、今回の路面領域推定結果を前回の路面領域推定結果GRDz1[x][y]へコピーする。
【0052】
[障害物判定部1051]
つぎに、
図10、
図11を用いて障害物判定部1051の処理の内容について説明する。
【0053】
図10は障害物判定部1051の処理の流れを示したフローチャートである。
処理は、ステップS10001からS1003まで、特徴点IDであるp=0からPまで繰り返し処理を行う。
【0054】
まず、ステップS10001にて特徴点FP[p]の足元座標FPW0[p]を取得する。
つぎに、ステップS10002にて足元座標FPW0[p]を路面領域推定結果GRD[x][y]へ投影し、足元座標を確認し、足元座標FPW0[p]の路面領域推定値が閾値thRoad未満、すなわち路面ではなかったら、ステップS10003へ移動し、障害物特徴点OFP[q]へ登録する。
上記処理をすべての特徴点FP[p]について実施する。
【0055】
一方、
図11は障害物判定部1051の異なる処理の流れを示したフローチャートである。
処理は、ステップS11001からS11009まで、特徴点IDであるp=0からPまで繰り返し処理を行う。
【0056】
まず、ステップS11001にて、特徴点FP[p]の世界座標FPW[p]と、p以外のすべての世界座標FPW[p’]との距離を比較し、半径thAround以内の特徴点の合計数SumAroundを算出する。本実施例では、距離算出には世界座標(x、y、z)のうち、(x、y)のみを用いる。
【0057】
つぎに、ステップS11002にて、合計数SumAroundと閾値thSumFewを比較し、合計数SumAroundが少なければステップS11004へ行く。そうでなければ、ステップS11005へ行き、合計数SumAroundと閾値thSumManyを比較し、合計数SumAroundが多ければステップS11005へ行く。そうでなければステップS11006へ行く。
【0058】
ステップS11004からS11006では、後段で利用する閾値thRoadを設定する。
ステップS11004では、閾値thRoad=thRoadFewとする。
ステップS11005では、閾値thRoad=thRoadManyとする。
ステップS11006では、閾値thRoad=thRoadNormalとする。
ここで、thRoadFew<thRoadNormal<thRoadManyである。
【0059】
つぎに、ステップS11007にて、特徴点FP[p]の足元座標FPW0[p]を取得する。
【0060】
つぎに、ステップS11008にて足元座標FPW0[p]を路面領域推定結果GRD[x][y]へ投影し、足元座標を確認し、足元座標FPW0[p]の路面領域推定値が閾値thRoad未満、すなわち路面ではなかったら、ステップS10003へ移動し、障害物特徴点OFP[q]へ登録する。
上記処理をすべての特徴点FP[p]について実施する。
【0061】
特徴点足元位置算出特徴点足元位置算出の際に部1031にて説明したように、路面高さよりも高い位置で一旦画像座標を求め、その点が路面高さに存在するものと仮定する処理により、カメラの設置高さが低い場合に対象物体が車両のバンパーのように空中に浮いている場合であっても適切に障害物を障害物と判定することができる。
【0062】
また、障害物判定部1051で説明したように、特徴点の密集度に応じてその特徴点の閾値を変化させることで、はずれ値のように特徴点が孤立して出力されているようなものを除去しやすく設定することができる。
【0063】
本実施の形態の車載用外界認識装置1000によれば、自車周囲の環境を含む画像から特徴点を抽出し、特徴点を時系列追跡した画像上の動きに基づいて特徴点の3次元位置を計測し、特徴点の3次元位置から画像上の足元位置を算出する処理を行う。そして、画像のテクスチャの類似度を用いて自車が走行可能な路面領域を画像内から抽出し、特徴点の足元位置が路面領域に含まれないと判定された特徴点を信頼度が高いと判定し、特徴点の足元位置が路面領域に含まれていると判定された特徴点を信頼性が低いと判定する処理を行う。信頼性の高い特徴点は、自車周囲の静止した障害物の特徴点である可能性が高い。一方、特徴点の足元位置が路面領域に含まれている特徴点は、自車周囲の静止した障害物の特徴点である可能性が低く、例えば移動体による誤検知であることが予想される。車載用外界認識装置1000は、計測した特徴点の足元位置と路面領域との重複を用いて、特徴点の確からしさを判定するので、特徴点の足元位置とエッジの位置とが異なっていたり、足下のエッジの観測が難しい場合であっても、その影響を受けない。また、偶然存在するエッジによる誤判定も発生しない。
【0064】
<第二実施の形態>
つぎに、本発明の車載用外界認識装置の第二実施の形態について、以下に図面を用いて説明する。
図12は、第二実施の形態における車載用外界認識装置2000の構成を示すブロック図である。なお、以下の説明では、上述の第一実施の形態における車載用外界認識装置1000と異なる箇所のみ詳述し、同様の箇所には同一の番号を付してその詳細な説明を省略する。
【0065】
本実施の形態において特徴的なことは、障害物情報取得部2111と空間情報取得部2112を有し、さらに障害物情報取得部2111から得られた障害物情報を用いた障害物方位算出部2131を有しており、これらが第一実施の形態とは異なる処理内容となる障害物判定部2051に入力されていることである。
【0066】
車載用外界認識装置2000は、自動車に搭載されるカメラ装置内、もしくは統合コントローラ内等に組み込まれ、カメラ1001〜1004で撮影した画像内から外界を認識するためのものであり、本実施の形態では、自車周囲の障害物を認識するように構成されている。
【0067】
車載用外界認識装置2000は、CPUやメモリ、I/O等を有するコンピュータによって構成されており、所定の処理がプログラミングされて、あらかじめ定められた周期で
繰り返し処理を実行する。
【0068】
画像取得部1011は、自車周囲の環境を含む画像を取得する。画像取得部1011は、
図2に示すように,自車10の周囲を撮像可能な位置に取り付けられたカメラ1001〜1004から、自車周囲を撮影した画像1005〜1008のうちいずれか1つ以上を取得する。本実施例においては、自車10の進行方向の情報に基づき、前進時は前方カメラ1001で撮像した画像1005を取得し、後進時は後方カメラ1004で撮像した画像1008を取得する。取得した画像は入力画像はIMGSRC[x][y]としてRAM上に記録される。第一実施例のものと同様のため、説明は省略する。
【0069】
特徴点位置計測部1021は、入力画像IMGSRC[x][y]から特徴点FP[p]を検出し、時系列に追跡することにより各特徴点の画像座標テーブルFPI[p]から3次元距離テーブルFPW[p]を計測する。第一実施例のものと同様のため、説明は省略する。
【0070】
特徴点足元位置算出部1031は、特徴点FP[p]の世界座標FPW[p]からカメラの設置高さや角度といったカメラ幾何情報を用いて、特徴点FP[p]の足元位置FPW0[p]を算出する。第一実施例のものと同様のため、説明は省略する。
【0071】
路面領域推定部1041は、入力画像IMGSRC[x][y]から、画像のテクスチャ情報を解析し、路面領域を抽出する。情報の持ち方は様々あるが、本実施例においては、グリッドマップGRD[x][y]を用いるものとする。第一実施例のものと同様のため、説明は省略する。
【0072】
障害物情報取得部2111は、超音波センサから取得する障害物情報SOBJ[b]を取得する。ここでSOBJ[b]は自車後輪車軸中心を原点とする世界座標(x、y、z)の要素を持つテーブルの1次元配列であり、bは複数検知した場合のIDを表す。なお、本実施の形態では、自車周囲の障害物を検知するセンサの例として超音波センサを例に説明するが、音波や光線により検知できるセンサであればよく、例えば、自車に搭載されたレーザーレーダー、LIDAR、及び単眼カメラの少なくとも一つを用いてもよい。そして、障害物情報取得部2111は、障害物の情報を取得できるものであればよく、他車両から送信される情報や、駐車場などのインフラ設備から送信される情報を取得してもよい。
【0073】
空間情報取得部2112は、超音波センサにより検知した自車周囲の障害物の検知結果から自車が走行可能な空間の情報を取得する。具体的には、空間情報取得部2112は、超音波センサで検知した障害物の手前までの空きが確認できている空間情報SFS[f]を取得する。ここで、空間情報SFS[f]は各超音波センサから得られる、各センサから障害物までの空間情報、すなわち走行可能距離を距離で表すテーブルの一次元配列であり、fは超音波センサの取り付け数である。
【0074】
障害物方位算出部2131は、障害物情報取得部2111から取得した障害物情報から、自車の左右の障害物の方位θL,θRを算出する。処理の詳細は後述する。
【0075】
障害物判定部2051は、特徴点の3次元位置から、所定の特徴点の周囲に存在する他の特徴点の密度を算出する空間特徴算出を行い、特徴点の密度の高さ、および、特徴点の画像内の足元位置と路面領域とを比較して、特徴点が障害物の特徴点であるか否かの判定を行う。具体的には、障害物判定部2051は、特徴点足元位置FPW0[p]、路面領域推定結果GRD[x][y]、さらに障害物情報SOBJ[b]、空間情報SFS[f]、障害物方位θL,θR、といった情報を活用して、障害物特徴点OFP[q]を生成
する。処理の詳細は後述する。
【0076】
[障害物方位算出部2131]
つぎに、
図13を用いて、障害物方位算出部2131の処理の内容について説明する。
図13は障害物方位算出部2131の処理の流れを示したフローチャートである。障害物の方位を算出する方法は様々考えられるが、本実施例においては、サイドソナーによる自車側方の障害物検知情報を時系列に蓄積するサイドソナー情報をサイドソナーテーブルに蓄積して利用する方法を説明する。
【0077】
サイドソナーテーブルには、自車後輪車軸中心を原点とする座標系における検知座標(x、y)、デッドレコニングと対応するタイムスタンプが格納されているものとする。
まず、ステップS13001にて、デッドレコニング情報を取得する。
【0078】
つぎに、ステップS13002にて、前回処理したサイドソナーテーブルを取得し、デッドレコニングにより算出される前回処理時から今回までの移動分だけテーブルの情報をを動かす。動かした結果、自車から一定距離以上はなれた障害物情報は消去する。本実施例では、自車後端5mより後方になった障害物情報を消去する。
【0079】
そして、ステップS13003にて、前回の処理後取得されたサイドソナー情報を、サイドソナーテーブルへ登録する。
【0080】
さらに、ステップS13004にて、自車左右それぞれの障害物情報に対して最小二乗法を適用し、自車左側の障害物から障害物方位θL、自車右側の障害物から障害物方位θRを算出する。
【0081】
なお、本実施例においては、自車側方の点数が閾値THSSNUM以下、すなわち最小二乗法を算出するだけの点数が存在しない場合、あるいは、最小二乗法で算出した直線と全サイドソナー障害物点との距離の平均SSDISが閾値THSSDIS以上である場合は、算出した障害物方位ではなく、自車方位を採用するものとする。
【0082】
上述の処理について、
図18(a)に示すようなシーンにおける算出の例を説明する。
図18(a)は、駐車区画線のある駐車場におけるシーンの一例であり、自車10の左側方に1台分だけ駐車空きスペース1801があり、その左右には障害物となる他の車両1802が駐車されている例である。
【0083】
まず、
図18(b)は、
図18(a)のシーンにおいて、サイドソナーによる自車側方の障害物検知情報を時系列に蓄積した結果を示す。自車10の左側には、他車両1802が配置されており、サイドソナーにより検知されて、複数のサイドソナー障害物点として存在している。ここから、ステップS13004の処理により、自車左側の障害物方位θLを算出した結果が
図18(c)の破線である。また、このシーンの場合、自車右側にサイドソナー障害物点が存在しないため、自車右側の障害物方位θRは自車方位となる。
【0084】
[障害物判定部2051]
つぎに、
図14から17を用いて、障害物判定部2051の処理の内容について説明する。
障害物判定部2051は、所定の特徴点の周囲に存在する他の特徴点の密度、および、障害物の方位θL上の他の特徴点の有無を算出し、障害物の方位θL上における他の特徴点の有無と、特徴点密度と、特徴点の足元位置と路面領域とを比較した結果に基づいて、特徴点が障害物の特徴点であるか否かの判定を行う。
まず、
図14、
図15を用いて、障害物判定部2051の実施例1について説明する。
図14,15は障害物判定部2051の処理の流れを示したフローチャートである。
【0085】
本処理を、すべての特徴点FP[p]に対して実施する。
まず、ステップS14001にて、特徴点FP[p]の世界座標FPW[p]から半径thAroundCam以内の他の特徴点の世界座標FPW[p’]の合計数SumAroundCamを算出する。本実施例では、距離演算には世界座標(x、y、z)のうち(x、y)のみを用いる。
【0086】
つぎに、ステップS14002にて、世界座標FPW[p]から半径thAroundObj以内の超音波センサ障害物SOBJ[b]の合計数SumAroundObjを算出する。
【0087】
つぎに、ステップS14003にて,世界座標FPW[p]から障害物方位方向に伸ばした直線FPL[p]を算出する。
【0088】
そして、ステップS14004にて、直線FPL[p]との垂直距離が閾値thLineCam以内の他の特徴点の世界座標FPW[p’]の合計数SumLineCamを算出する。
【0089】
また、ステップS14005にて、直線FPL[p]との垂直距離が閾値thLineObj以内の超音波センサ障害物SOBJ[b]の合計数SumLineObjを算出する。
【0090】
以降、閾値調整のステップに入る。まず、ステップS14006にて初期閾値thRoad=thRoadInitを設定する。
【0091】
つぎに、ステップS14007にてSumAroundCamとthSumCamを比較し、大きい場合(SumAroundCam>thSumCam)にはステップS14008にて、閾値thRoadにthAddSumCamを加算し、次に進む。そうでない場合(SumAroundCam≦thSumCam)には何もせずに次に進む。
【0092】
つぎに、ステップS14009にてSumAroundObjとthSumObjを比較し、大きい場合(SumAroundObj>thSumObj)にはステップS14010にて、閾値thRoadにthAddSumObjを加算し、次に進む。そうでない場合(SumAroundObj≦thSumObj)には何もせずに次に進む。
【0093】
つぎに、ステップS14011にてSumLineCamとthSumLineCamを比較し、大きい場合(SumLineCam>thSumLineCam)にはステップS14012にて、閾値thRoadにthAddLineCamを加算し、次に進む。そうでない場合(SumLineCam≦thSumLineCam)には何もせずに次に進む。
【0094】
つぎに、ステップS14013にてSumLineObjとthSumLineObjを比較し、大きい場合(SumLineObj>thSumLineObj)にはステップS14014にて、閾値thRoadにthAddLineObjを加算し、次に進む。そうでない場合(SumLineObj≦thSumLineObj)には何もせずに次に進む。
【0095】
さらに、ステップS14015にて、足元座標FPW0[p]がソナー空間SFS[f]内か否かを判定し、空間内である場合にはステップS14016hにて、閾値thRo
adからthSFSを減算する。そうでない場合(足元座標FPW0[p]がソナー空間SFS[f]外の場合)には何もせずに次に進む。
【0096】
上記により調整された閾値thRoadを用いて、ステップS14017にて足元座標の路面推定値が閾値thRoad未満か否かを判定し、閾値未満であった場合にはステップS14018へ進み、障害物特徴量OFP[q]として登録する。そうでない場合(閾値以上の場合)には何もせずに次に進む。
【0097】
つぎに、
図16、
図17を用いて、障害物判定部2051の実施例2について説明する。
図16,17は障害物判定部2051の処理の流れを示したフローチャートである。図中で、
図14,15と同じ動作を行う部分については同じ番号を付している。
【0098】
まず、ステップS16001にて、超音波センサから得られる空間情報SFS[f]を自車後輪車軸中心のグリッドマップ上へ展開する。
【0099】
そして、ステップS16002にて、時系列処理を行い空間推定マップGFS[x][y]を求める。時系列処理の流れは
図8、
図9に示した流れと同様のため、ここでは説明を割愛する。
【0100】
以降、ステップS14001からS14014までは前述の説明と同様のため、説明を割愛する。
【0101】
ステップS14014のつぎに、ステップS16003として、足元座標FPW0[p]の位置における路面領域推定結果GRD[x][y]と閾値thGRDを比較し、閾値以上の場合(路面領域推定結果GRD[x][y]>閾値thGRD)には、ステップS16004にて、閾値thRoadからthGRDを減算する。そうでない場合(路面領域推定結果GRD[x][y]≦閾値thGRD)には何もせずに次に進む。
【0102】
つぎに、ステップS16005として、足元座標FPW0[p]の位置における時系列処理を行った空間推定マップGFS[x][y]を参照し、その値と閾値thRoadを比較する。閾値未満であった場合には、ステップS16006へ進み、障害物特徴点OFP[q]として登録する。閾値以上の場合には何もせずに次に進む。
【0103】
上述の処理のうち、ステップS14001からS14014の内容について、
図19(a)に示すようなシーンにおける算出の例を説明する。
図19(a)は、駐車区画線のある駐車場におけるシーンの一例で、自車左側に1台分の駐車空きスペース1901があり、自車前方から歩行者1903が接近している例である。駐車空きスペース1901の両側は、障害物である他の車両1902が駐車されている。
【0104】
図19(b)は、
図19(a)のシーンから得られる、カメラおよびソナーによる検出結果である。黒い点がカメラによる検出結果、すなわち特徴点FP[p]から算出される世界座標FPW[p]である。また、白い点がソナーによる検出点、すなわち障害物点SOBJ[b]である。このうち、特徴点FP[p]の世界座標FPW[p]について、ステップS14001からS14014の処理を行う。
【0105】
なお、
図19の説明では、半径thAroundCamおよびthAroundObjは同じであるとし、また、thSumCam=1,thSumObj=1,thLineCam=1,thLineObj=1とする。
【0106】
図19(c)は、特徴点FP[p1]に対する処理の例である。まず、半径thAro
undCam内に他の特徴点の世界座標FPW[p]が存在するため、SumAroundCamは0より大きい値を持つ。半径thAroundObj内に他の障害物点SOBJ[b]は存在しないため、SumAroundObjは0である。また、世界座標FPW[p1]から自車左側の障害物方位θLの方向に直線を引き、直線に近い特徴点数および障害物点数をカウントする。ここでは、いずれも直線の近い位置に特徴点の世界座標および障害物点が存在するため、SumLineCam,SumLineObjはいずれも0より大きい値を持つ。よって、特徴点FP[p1]に対する閾値thRoadは、ステップS14006からS14014の処理において高い値を持つことになる。
【0107】
図19(d)は、特徴点FP[p2]に対する処理の例である。まず、半径thAroundCam内に他の特徴点の世界座標FPW[p]が存在するため、SumAroundCamは0より大きい値を持つ。さらに、半径thAroundObj内に他の障害物点SOBJ[b]が存在するため、SumAroundObjも0より大きい値を持つ。また、世界座標FPW[p2]から自車左側の障害物方位θLの方向に直線を引き、直線に近い特徴点数および障害物点数をカウントする。ここでは、いずれも直線の近い位置に特徴点の世界座標および障害物点が存在するため、SumLineCam,SumLineObjは0より大きい値を持つ。よって、特徴点FP[p1]に対する閾値thRoadは、ステップS14006からS14014の処理において、高い値を持つことになる。
【0108】
一方、
図19(e)は、特徴点FP[p3]に対する処理の例である。まず、半径thAroundCam内に他の特徴点の世界座標FPW[p]が存在しないため、SumAroundCamは0となる。さらに、半径thAroundObj内に他の障害物点SOBJ[b]が存在しないため、SumAroundObjも0となる。また、世界座標FPW[p3]から自車左側の障害物方位θLの方向に直線を引き、直線に近い特徴点数および障害物点数をカウントする。ここでは、いずれも直線の近い位置に特徴点の世界座標および障害物点が存在しないため、SumLineCam,SumLineObjはいずれも0となる。よって、特徴点FP[p3]に対する閾値thRoadは、ステップS14006からS14014の処理の結果、thRoadInitから変化しない。
【0109】
以上説明したように、特徴点FP[p]の世界座標FPW[p]の周囲のほかの特徴点や障害物点、また、障害物方位上の特徴点や障害物点の有無によって閾値が調整され、たとえば
図19(c)、(d)の特徴点に対する閾値は高く設定され、特徴点は除去されにくくなり、一方、
図19(e)の特徴点に対する閾値は低く設定され、除去されやすくなる。結果、
図19(f)のように、移動体などの要因により誤検知した特徴点を除去することができる。
【0110】
以上説明したように、超音波センサからの情報を用いた場合には、自車側方の障害物の方位を算出して、障害物方位上に他の障害物が存在するときは障害物特徴点として採用されやすくすることができる。また、超音波センサから得られる空間情報を障害物特徴点として採用しにくくするための条件として用いることで、より誤検知した特徴点を除去しやすくすることができる。さらに、路面領域推定結果を障害物特徴点として採用しにくくするための条件として用いて、最終的な採否判断に超音波センサから得られる空間情報を用いるという構成も可能となる。
【0111】
また、以上説明した実施例による処理の結果得られる特徴点情報は、自動駐車の経路生成処理に用いられる。
図20は、本実施例の効果を説明する図である。
【0112】
図20(a)は、本実施例による処理の結果を用いなかった場合の図である。自車10の近傍には、障害物の特徴点2011が誤検知されている。
図20(a)に示す情報を用
いて、障害物にぶつからないように自動駐車経路2012を生成した例を
図20(b)に示す。なお、障害物にぶつからないように自動駐車経路2012を生成する方法については、公知技術を用いるものとし、ここでは説明を割愛する。
【0113】
一方、
図20(c)は、本実施例による処理の結果を用いた場合の図である。
図20(c)に示す特徴点の情報を用いて、同じように駐車経路を生成した例を
図20(d)に示す。
図20(a)で誤検出されていた特徴点2011は、
図20(c)では除去されている。
【0114】
このように、
図20(b)は、
図20(d)には無い特徴点2011が存在するため、自動駐車経路2012が間延びしている。また、誤検知された特徴点2011の位置によっては、自動駐車経路2012が生成できない場合もある。一方、
図20(d)では、最短の自動駐車経路2013を生成することができている。