(57)【要約】【課題】路面推定の精度を向上させることができる画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラムを提供する。【解決手段】被写体に対する距離画像における縦方向の任意の２つの第１座標から、所定の方法に基づいて、距離画像における第１座標の位置と、各位置における距離値と、を関連付けた距離値の頻度分布を示す頻度画像において第１座標の軸と交差する距離を示す２つの第２座標を決定し、２つの第２座標に挟まれた頻度画像上の部分領域をセグメントとして設定する設定部と、設定部により設定された所定の１以上の各セグメントにおいて、距離値の頻度を示す各頻度点に基づいて、路面の形状を推定する形状推定部と、を備える。【選択図】図１５
2018045328.tif 000002
【特許請求の範囲】
【請求項１】
被写体に対する距離画像における縦方向の任意の２つの第１座標から、所定の方法に基づいて、前記距離画像における第１座標の位置と、前記各位置における距離値と、を関連付けた前記距離値の頻度分布を示す頻度画像において第１座標の軸と交差する距離を示す２つの第２座標を決定し、前記２つの第２座標に挟まれた前記頻度画像上の部分領域をセグメントとして設定する設定部と、
前記設定部により設定された所定の１以上の各セグメントにおいて、前記距離値の頻度を示す各頻度点に基づいて、路面の形状を推定する形状推定部と、
を備えた画像処理装置。
【請求項２】
前記設定部は、前記頻度画像上の基準路面において、前記２つの第１座標にそれぞれ対応する前記２つの第２座標を決定する請求項１に記載の画像処理装置。
【請求項３】
前記設定部は、平坦な路面を仮定した路面、または、前記距離画像に対応するフレームより前のフレームで推定された路面に基づく履歴路面を前記基準路面とする請求項２に記載の画像処理装置。
【請求項４】
前記設定部は、所定の固定点を通る路面を前記基準路面とする請求項２に記載の画像処理装置。
【請求項５】
前記設定部は、前記固定点を前記頻度画像における切片とし、平坦な路面を仮定した路面、または、前記距離画像に対応するフレームより前のフレームで推定された路面に基づく履歴路面の傾きを有する路面を前記基準路面とする請求項４に記載の画像処理装置。
【請求項６】
前記設定部は、設定しようとするセグメントよりも前に路面の形状が推定されたセグメントでの推定路面を延長した延長路面を、前記基準路面とする請求項２に記載の画像処理装置。
【請求項７】
前記形状推定部により推定された路面が所定の条件を満たすか否かを判定する判定部を、さらに備えた請求項１〜６のいずれか一項に記載の画像処理装置。
【請求項８】
前記設定部により設定されたセグメントにおいて、前記頻度点から、前記各距離値の位置において０以上の標本点を選択する選択部を、さらに備え、
前記形状推定部は、前記選択部により選択された前記標本点の群から路面の形状を推定する請求項１〜７のいずれか一項に記載の画像処理装置。
【請求項９】
被写体を撮像することにより第１撮像画像を得る第１撮像部と、
前記第１撮像部の位置とは異なる位置に配置され、前記被写体を撮像することにより第２撮像画像を得る第２撮像部と、
前記第１撮像画像および前記第２撮像画像から前記被写体に対して求めた前記距離値に基づいて、前記距離画像を生成する第１生成部と、
前記距離画像に基づいて、前記頻度画像を生成する第２生成部と、
請求項１〜８のいずれか一項に記載の画像処理装置と、
を備えた物体認識装置。
【請求項１０】
請求項９に記載の物体認識装置と、
前記物体認識装置により検出された物体の情報に基づいて、制御対象を制御する制御装置と、
を備えた機器制御システム。
【請求項１１】
被写体に対する距離画像における縦方向の任意の２つの第１座標から、所定の方法に基づいて、前記距離画像における第１座標の位置と、前記各位置における距離値と、を関連付けた前記距離値の頻度分布を示す頻度画像において第１座標の軸と交差する距離を示す２つの第２座標を決定する決定ステップと、
前記２つの第２座標に挟まれた前記頻度画像上の部分領域をセグメントとして設定する設定ステップと、
設定した所定の１以上の各セグメントにおいて、前記距離値の頻度を示す各頻度点に基づいて、路面の形状を推定する形状推定ステップと、
を有する画像処理方法。
【請求項１２】
コンピュータを、
被写体に対する距離画像における縦方向の任意の２つの第１座標から、所定の方法に基づいて、前記距離画像における第１座標の位置と、前記各位置における距離値と、を関連付けた前記距離値の頻度分布を示す頻度画像において第１座標の軸と交差する距離を示す２つの第２座標を決定し、前記２つの第２座標に挟まれた前記頻度画像上の部分領域をセグメントとして設定する設定部と、
前記設定部により設定された所定の１以上の各セグメントにおいて、前記距離値の頻度を示す各頻度点に基づいて、路面の形状を推定する形状推定部と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、自動車の安全性において、歩行者と自動車とが衝突したときに、いかに歩行者を守れるか、および、乗員を保護できるかの観点から、自動車のボディー構造等の開発が行われてきた。しかしながら、近年、情報処理技術および画像処理技術の発達により、高速に人および自動車を検出する技術が開発されてきている。これらの技術を応用して、自動車が物体に衝突する前に自動的にブレーキをかけ、衝突を未然に防ぐという自動車もすでに開発されている。車両の自動制御には、人または他車等の物体までの距離を正確に測定する必要があり、そのためには、ミリ波レーダおよびレーザレーダによる測距、ならびに、ステレオカメラによる測距等が実用化されている。このような車両の自動制御を実用化するためには、上述した装置で測距された情報に基づいて、画面上に写る物体を検出し、物体ごとに制御を行う必要がある。例えば、検出された物体が歩行者か車両かによって制御を変えることが想定される。
【０００３】
ステレオカメラで測距する場合、左右のカメラで撮影された局所領域のズレ量（視差）に基づいて視差画像を生成し、前方物体と自車との距離を測定することができる。そして、同程度の距離に存在する（同程度の視差値を有する）視差画素の群を１つの物体として検出するクラスタリング処理を行う。しかし、視差画像においてすべての視差画素をクラスタリングしてしまうと、検出対象となる物体とは別に、路面上の白線等の視差画素も物体として検出し、平坦であるはずの路面の一部分を物体として誤検出してしまう問題がある。この場合、自動制御システムは、前方に物体が存在するものであると判定して、例えば、急ブレーキをかけてしまうという問題が生じる。
【０００４】
この問題を解決するために、各視差画素（視差画像上の一点）を、視差画像の垂直位置（ｙ座標の位置）に対して、その視差画素の視差値が示す水平座標（以下、「ｄｐ座標」と称する場合がある）に投票したＶ−Ｄｉｓｐａｒｉｔｙマップ（縦軸：視差画像の垂直座標、横軸：視差値）（以下、単に「Ｖマップ」と称する場合がある）（頻度画像）を生成し、Ｖマップに投票された点（以下、「視差点」と称する場合がある）群に対して最小二乗法等の統計手法を用いて路面形状を推定するという方法がある。ここで、Ｖ−Ｄｉｓｐａｒｉｔｙマップとは、上述のように、縦軸を視差画像のｙ軸とし、横軸を視差画像の視差値（または距離）とした、視差値の頻度分布を示す二次元ヒストグラムである。また、投票とは、Ｖマップ上の所定の座標の視差点の値（画素値）（初期値＝０）を１だけインクリメントする処理をいうものとする。そして、推定された路面（推定路面）よりも高い位置に存在する視差点に対応する視差画像の視差画素によってクラスタリング処理を行うことによって、路面等から検出された不要な視差画素を誤って物体として検出してしまう問題を緩和することができる。
【０００５】
このようにＶマップを生成して路面を推定する技術として、Ｖマップの所定の始点から終点にかけて標本点を決定し、これらの標本点群に対して最小二乗法を用いて路面の推定を行う技術が提案されている（特許文献１参照）。具体的には、視差画像の下から上方に向けて（近方から遠方に向けて）、各水平ライン上で視差値の頻度についてのヒストグラムを生成し、その中の頻度が最大となる視差を標本点として、これらの標本点群に対して最小二乗法等の統計的手法を用いて路面形状を推定するものとしている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
実世界には、様々な勾配を持つ路面が存在しており、Ｖマップ上に投票される路面に対応する視差点の位置は勾配に応じて変化する。このような理由から、路面推定では、Ｖマップ上において路面に対応する視差点の位置を正確に捉えて正しい路面の形状を推定しなければならない。しかしながら、路面推定を行う時点では、路面の勾配は未知であり、路面に対応する視差点がＶマップ上のどの位置に分布しているのかを特定するのは困難である。通常、路面推定の処理では、Ｖマップを所定の大きさのセグメントに分割して、セグメントごとに路面推定を行う場合が多い。これは、路面は、途中で傾斜が変わる場合があり、細かく分割して処理した方が勾配の変化に対してロバストな路面推定が実行できるためである。しかし、上述したように、路面に対応する視差点は傾斜によってＶマップ上のどの位置に投票されるかは未知であり、路面が存在する領域を好適に捉えてセグメントを分割することは困難である。すなわち、様々な傾斜を有する路面を正確に推定するために、どのようにしてセグメントを路面が存在する位置に分割して配置するかが重要となるところ、特許文献１に記載された技術では、設定するセグメント数は２つであり、複雑な形状を有する路面に対しては十分な路面推定の精度を得られないという問題点がある。
【０００７】
本発明は、上記に鑑みてなされたものであって、路面推定の精度を向上させることができる画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、被写体に対する距離画像における縦方向の任意の２つの第１座標から、所定の方法に基づいて、前記距離画像における第１座標の位置と、前記各位置における距離値と、を関連付けた前記距離値の頻度分布を示す頻度画像において第１座標の軸と交差する距離を示す２つの第２座標を決定し、前記２つの第２座標に挟まれた前記頻度画像上の部分領域をセグメントとして設定する設定部と、前記設定部により設定された所定の１以上の各セグメントにおいて、前記距離値の頻度を示す各頻度点に基づいて、路面の形状を推定する形状推定部と、を備えたことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、路面推定の精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施形態に係る機器制御システムを車両に搭載した例を示す図である。
【図２】図２は、第１の実施形態に係る物体認識装置の外観の一例を示す図である。
【図３】図３は、第１の実施形態に係る物体認識装置のハードウェア構成の一例を示す図である。
【図４】図４は、撮像部から物体までの距離を導き出す原理を説明する図である。
【図５】図５は、基準画像における基準画素に対応する比較画像における対応画素を求める場合の説明図である。
【図６】図６は、ブロックマッチング処理の結果のグラフの一例を示す図である。
【図７】図７は、第１の実施形態に係る物体認識装置の機能ブロック構成の一例を示す図である。
【図８】図８は、視差画像から生成されるＶマップの一例を示す図である。
【図９】図９は、平坦な路面の場合のＶマップの一例を示す図である。
【図１０】図１０は、上り坂に差し掛かる場合のＶマップの一例を示す図である。
【図１１】図１１は、下り坂に差し掛かる場合のＶマップの一例を示す図である。
【図１２】図１２は、第１の実施形態において、Ｖマップ上の基準路面を使用してセグメントを設定する動作を説明する図である。
【図１３】図１３は、視差画像から生成されるＵマップの一例を示す図である。
【図１４】図１４は、第１の実施形態に係る物体認識装置の視差値演算処理部の機能ブロック構成の一例を示す図である。
【図１５】図１５は、第１の実施形態に係る物体認識装置の路面推定部の機能ブロック構成の一例を示す図である。
【図１６】図１６は、Ｖマップの生成動作を説明する図である。
【図１７】図１７は、第１の実施形態に係る視差値導出部のブロックマッチング処理の動作の一例を示すフローチャートである。
【図１８】図１８は、第１の実施形態に係る路面推定部の路面推定処理の動作の一例を示すフローチャートである。
【図１９】図１９は、Ｖマップ上の基準路面がセグメントの設定に不向きな場合の一例を示す図である。
【図２０】図２０は、第２の実施形態において、Ｖマップ上の固定点を切片とする基準路面を使用してセグメントを設定する動作を説明する図である。
【図２１】図２１は、第３の実施形態において、着目フレームで推定した路面を使用してセグメントを設定する動作を説明する図である。
【図２２】図２２は、第３の実施形態に係る路面推定部の路面推定処理の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、図１〜図２２を参照しながら、本発明に係る画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラムの実施形態を詳細に説明する。また、以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【００１２】
［第１の実施形態］
（物体認識装置を備えた車両の概略構成）
図１は、第１の実施形態に係る機器制御システムを車両に搭載した例を示す図である。図１を参照しながら、本実施形態の機器制御システム６０が車両７０に搭載される場合を例に説明する。
【００１３】
図１のうち、図１（ａ）は、機器制御システム６０を搭載した車両７０の側面図であり、図１（ｂ）は、車両７０の正面図である。
【００１４】
図１に示すように、自動車である車両７０は、機器制御システム６０を搭載している。機器制御システム６０は、車両７０の居室空間である車室に設置された物体認識装置１と、車両制御装置６と、ステアリングホイール７と、ブレーキペダル８と、を備えている。
【００１５】
物体認識装置１は、車両７０の進行方向を撮像する撮像機能を有し、例えば、車両７０のフロントウィンドウ内側のバックミラー近傍に設置される。物体認識装置１は、構成および動作の詳細は後述するが、本体部２と、本体部２に固定された撮像部１０ａと、撮像部１０ｂとを備えている。撮像部１０ａ、１０ｂは、車両７０の進行方向の被写体を撮像できるように本体部２に固定されている。
【００１６】
車両制御装置６は、物体認識装置１から受信した認識情報に基づいて、各種車両制御を実行するＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）である。車両制御装置６は、車両制御の例として、物体認識装置１から受信した認識情報に基づいて、ステアリングホイール７を含むステアリング系統（制御対象）を制御して障害物を回避するステアリング制御、または、ブレーキペダル８（制御対象）を制御して車両７０を減速および停止させるブレーキ制御等を実行する。
【００１７】
このような物体認識装置１および車両制御装置６を含む機器制御システム６０のように、ステアリング制御またはブレーキ制御等の車両制御が実行されることによって、車両７０の運転の安全性を向上することができる。
【００１８】
なお、上述のように、物体認識装置１は、車両７０の前方を撮像するものとしたが、これに限定されるものではない。すなわち、物体認識装置１は、車両７０の後方または側方を撮像するように設置されるものとしてもよい。この場合、物体認識装置１は、車両７０の後方の後続車および人、または側方の他の車両および人等の位置を検出することができる。そして、車両制御装置６は、車両７０の車線変更時または車線合流時等における危険を検知して、上述の車両制御を実行することができる。また、車両制御装置６は、車両７０の駐車時等におけるバック動作において、物体認識装置１によって出力された車両７０の後方の障害物についての認識情報に基づいて、衝突の危険があると判断した場合に、上述の車両制御を実行することができる。
【００１９】
（物体認識装置の構成）
図２は、第１の実施形態に係る物体認識装置の外観の一例を示す図である。図２に示すように、物体認識装置１は、上述のように、本体部２と、本体部２に固定された撮像部１０ａと、撮像部１０ｂとを備えている。撮像部１０ａ、１０ｂは、本体部２に対して平行等位に配置された一対の円筒形状のカメラで構成されている。また、説明の便宜上、図２に示す撮像部１０ａを右のカメラと称し、撮像部１０ｂを左のカメラと称する場合がある。
【００２０】
＜物体認識装置のハードウェア構成＞
図３は、第１の実施形態に係る物体認識装置のハードウェア構成の一例を示す図である。図３を参照しながら、物体認識装置１のハードウェア構成について説明する。
【００２１】
図３に示すように、物体認識装置１は、本体部２内に視差値導出部３および認識処理部５を備えている。
【００２２】
視差値導出部３は、物体を撮像して得られた複数の画像から、物体に対する視差を示す視差値ｄｐ（距離値の一例）を導出し、各画素の画素値として視差値ｄｐを示す視差画像（距離画像の一例）を出力する装置である。認識処理部５は、視差値導出部３から出力された視差画像に基づいて、撮像画像に写り込んでいる人および車等の物体に対する物体認識処理等を行い、物体認識処理の結果を示す情報である認識情報を、車両制御装置６に出力する装置である。
【００２３】
図３に示すように、視差値導出部３は、撮像部１０ａと、撮像部１０ｂと、信号変換部２０ａと、信号変換部２０ｂと、画像処理部３０と、を備えている。
【００２４】
撮像部１０ａは、前方の被写体を撮像してアナログの画像信号を生成する処理部である。撮像部１０ａは、撮像レンズ１１ａと、絞り１２ａと、画像センサ１３ａと、を備えている。
【００２５】
撮像レンズ１１ａは、入射する光を屈折させて物体の像を画像センサ１３ａに結像させるための光学素子である。絞り１２ａは、撮像レンズ１１ａを通過した光の一部を遮ることによって、画像センサ１３ａに入力する光の量を調整する部材である。画像センサ１３ａは、撮像レンズ１１ａに入射し、絞り１２ａを通過した光を電気的なアナログの画像信号に変換する半導体素子である。画像センサ１３ａは、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅｓ）またはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）等の固体撮像素子によって実現される。
【００２６】
撮像部１０ｂは、前方の被写体を撮像してアナログの画像信号を生成する処理部である。撮像部１０ｂは、撮像レンズ１１ｂと、絞り１２ｂと、画像センサ１３ｂと、を備えている。なお、撮像レンズ１１ｂ、絞り１２ｂおよび画像センサ１３ｂの機能は、それぞれ上述した撮像レンズ１１ａ、絞り１２ａおよび画像センサ１３ａの機能と同様である。また、撮像レンズ１１ａおよび撮像レンズ１１ｂは、左右のカメラが同一の条件で撮像されるように、それぞれのレンズの主面が互いに同一平面上にあるように設置されている。
【００２７】
信号変換部２０ａは、撮像部１０ａにより生成されたアナログの画像信号を、デジタル形式の画像データに変換する処理部である。信号変換部２０ａは、ＣＤＳ（Ｃｏｒｒｅｌａｔｅｄ  Ｄｏｕｂｌｅ  Ｓａｍｐｌｉｎｇ）２１ａと、ＡＧＣ（Ａｕｔｏ  Ｇａｉｎ  Ｃｏｎｔｒｏｌ）２２ａと、ＡＤＣ（Ａｎａｌｏｇ  Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）２３ａと、フレームメモリ２４ａと、を備えている。
【００２８】
ＣＤＳ２１ａは、画像センサ１３ａにより生成されたアナログの画像信号に対して、相関二重サンプリング、横方向の微分フィルタ、または縦方向の平滑フィルタ等によりノイズを除去する。ＡＧＣ２２ａは、ＣＤＳ２１ａによってノイズが除去されたアナログの画像信号の強度を制御する利得制御を行う。ＡＤＣ２３ａは、ＡＧＣ２２ａによって利得制御されたアナログの画像信号をデジタル形式の画像データに変換する。フレームメモリ２４ａは、ＡＤＣ２３ａによって変換された画像データを記憶する。
【００２９】
信号変換部２０ｂは、撮像部１０ｂにより生成されたアナログの画像信号を、デジタル形式の画像データに変換する処理部である。信号変換部２０ｂは、ＣＤＳ２１ｂと、ＡＧＣ２２ｂと、ＡＤＣ２３ｂと、フレームメモリ２４ｂと、を備えている。なお、ＣＤＳ２１ｂ、ＡＧＣ２２ｂ、ＡＤＣ２３ｂおよびフレームメモリ２４ｂの機能は、それぞれ上述したＣＤＳ２１ａ、ＡＧＣ２２ａ、ＡＤＣ２３ａおよびフレームメモリ２４ａの機能と同様である。
【００３０】
画像処理部３０は、信号変換部２０ａおよび信号変換部２０ｂによって変換された画像データに対して画像処理を行う装置である。画像処理部３０は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）３１と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３３と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３４と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３５と、バスライン３９と、を備えている。
【００３１】
ＦＰＧＡ３１は、集積回路であり、ここでは、画像データに基づく画像における視差値ｄｐを導出する処理を行う。ＣＰＵ３２は、視差値導出部３の各機能を制御する。ＲＯＭ３３は、ＣＰＵ３２が視差値導出部３の各機能を制御するために実行する画像処理用プログラムを記憶している。ＲＡＭ３４は、ＣＰＵ３２のワークエリアとして使用される。Ｉ／Ｆ３５は、認識処理部５におけるＩ／Ｆ５５と、通信線４とを介して通信するためのインターフェースである。バスライン３９は、図３に示すように、ＦＰＧＡ３１、ＣＰＵ３２、ＲＯＭ３３、ＲＡＭ３４およびＩ／Ｆ３５が互いに通信可能となるように接続するアドレスバスおよびデータバス等である。
【００３２】
なお、画像処理部３０は、視差値ｄｐを導出する集積回路としてＦＰＧＡ３１を備えるものとしているが、これに限定されるものではなく、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のその他の集積回路であってもよい。
【００３３】
図３に示すように、認識処理部５は、ＦＰＧＡ５１と、ＣＰＵ５２と、ＲＯＭ５３と、ＲＡＭ５４と、Ｉ／Ｆ５５と、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）Ｉ／Ｆ５８と、バスライン５９と、を備えている。
【００３４】
ＦＰＧＡ５１は、集積回路であり、ここでは、画像処理部３０から受信した視差画像に基づいて、物体に対する物体認識処理を行う。ＣＰＵ５２は、認識処理部５の各機能を制御する。ＲＯＭ５３は、ＣＰＵ５２が認識処理部５の物体認識処理を実行する物体認識処理用プログラムを記憶している。ＲＡＭ５４は、ＣＰＵ５２のワークエリアとして使用される。Ｉ／Ｆ５５は、画像処理部３０のＩ／Ｆ３５と、通信線４とを介してデータ通信するためのインターフェースである。ＣＡＮＩ／Ｆ５８は、外部コントローラ（例えば、図３に示す車両制御装置６）と通信するためのインターフェースであり、例えば、自動車のＣＡＮ等に接続されるバスライン５９は、図３に示すように、ＦＰＧＡ５１、ＣＰＵ５２、ＲＯＭ５３、ＲＡＭ５４、Ｉ／Ｆ５５およびＣＡＮＩ／Ｆ５８が互いに通信可能となるように接続するアドレスバスおよびデータバス等である。
【００３５】
なお、認識処理部５は、物体認識処理を行う集積回路としてＦＰＧＡ５１を備えるものとしているが、これに限定されるものではなく、ＡＳＩＣ等のその他の集積回路であってもよい。
【００３６】
このような構成により、画像処理部３０のＩ／Ｆ３５から通信線４を介して認識処理部５に視差画像が送信されると、認識処理部５におけるＣＰＵ５２の命令によって、ＦＰＧＡ５１が、視差画像に基づいて、撮像画像に写り込んでいる人および車等の物体の物体認識処理等を実行する。
【００３７】
なお、上述の各プログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録媒体に記録して流通させてもよい。この記録媒体は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード等である。
【００３８】
また、図３に示すように、視差値導出部３の画像処理部３０と、認識処理部５とは別体の装置としているが、これに限定されるものではなく、例えば、画像処理部３０と認識処理部５とを同一の装置として、視差画像の生成、および物体認識処理を行うものとしてもよい。また、図３に示す物体認識装置１のハードウェア構成は一例であって、これに限定されるものではなく、上述と同様の機能を実現するハードウェア回路によって実現されてもよい。
【００３９】
＜測距の原理＞
図４は、撮像部から物体までの距離を導き出す原理を説明する図である。図４を参照しながら、ステレオマッチング処理により、ステレオカメラから物体に対する視差を導出し、この視差を示す視差値によって、ステレオカメラから物体までの距離を測定する原理について説明する。
【００４０】
図４に示す撮像システムは、平行等位に配置された撮像部１０ａと撮像部１０ｂとを有するものとする。撮像部１０ａ、１０ｂは、それぞれ、入射する光を屈折させて物体の像を固体撮像素子である画像センサに結像させる撮像レンズ１１ａ、１１ｂを有する。撮像部１０ａおよび撮像部１０ｂによって撮像された各画像を、それぞれ基準画像Ｉａおよび比較画像Ｉｂとする。図４において、３次元空間内の物体Ｅ上の点Ｓは、基準画像Ｉａおよび比較画像Ｉｂそれぞれにおいて、撮像レンズ１１ａと撮像レンズ１１ｂとを結ぶ直線と平行な直線上の位置に写像される。ここで、各画像に写像された点Ｓを、基準画像Ｉａにおいて点Ｓａ（ｘ，ｙ）とし、比較画像Ｉｂにおいて点Ｓｂ（Ｘ，ｙ）とする。このとき、視差値ｄｐは、基準画像Ｉａ上の座標における点Ｓａ（ｘ，ｙ）と比較画像Ｉｂ上の座標における点Ｓｂ（Ｘ，ｙ）とを用いて、以下の（式１）のように表される。
【００４１】
ｄｐ＝Ｘ−ｘ                                                    ・・・（式１）
【００４２】
また、図４において、基準画像Ｉａにおける点Ｓａ（ｘ，ｙ）と撮像レンズ１１ａから撮像面上におろした垂線の交点との距離をΔａとし、比較画像Ｉｂにおける点Ｓｂ（Ｘ，ｙ）と撮像レンズ１１ｂから撮像面上におろした垂線の交点との距離をΔｂとすると、視差値ｄｐは、ｄｐ＝Δａ＋Δｂと表すこともできる。
【００４３】
次に、視差値ｄｐを用いることにより、撮像部１０ａ、１０ｂと物体Ｅとの間の距離Ｚを導出する。ここで、距離Ｚは、撮像レンズ１１ａの焦点位置と撮像レンズ１１ｂの焦点位置とを結ぶ直線から物体Ｅ上の点Ｓまでの距離である。図４に示すように、撮像レンズ１１ａおよび撮像レンズ１１ｂの焦点距離ｆ、撮像レンズ１１ａと撮像レンズ１１ｂとの間の長さである基線長Ｂ、および視差値ｄｐを用いて、下記の（式２）により、距離Ｚを算出することができる。
【００４４】
Ｚ＝（Ｂ×ｆ）／ｄｐ                                            ・・・（式２）
【００４５】
この（式２）により、視差値ｄｐが大きいほど距離Ｚは小さく、視差値ｄｐが小さいほど距離Ｚは大きくなることがわかる。
【００４６】
＜ブロックマッチング処理＞
図５は、基準画像における基準画素に対応する比較画像における対応画素を求める場合の説明図である。図６は、ブロックマッチング処理の結果のグラフの一例を示す図である。図５および図６を参照しながら、ブロックマッチング処理による測距方法について説明する。
【００４７】
図５および図６を参照しながら、コスト値Ｃ（ｐ，ｄ）の算出方法について説明する。なお、以降、Ｃ（ｐ，ｄ）は、Ｃ（ｘ，ｙ，ｄ）を表すものとして説明する。
【００４８】
図５のうち、図５（ａ）は、基準画像Ｉａにおける基準画素ｐおよび基準領域ｐｂを示す概念図を示し、図５（ｂ）は、図５（ａ）に示す基準画素ｐに対応する比較画像Ｉｂにおける対応画素の候補を順次シフトしながら（ずらしながら）、コスト値Ｃを算出する際の概念図である。ここで、対応画素とは、基準画像Ｉａにおける基準画素ｐに最も類似する比較画像Ｉｂにおける画素を示す。また、コスト値Ｃとは、基準画像Ｉａにおける基準画素ｐに対する、比較画像Ｉｂにおける各画素の類似度または非類似度を表す評価値（一致度）である。以下に示すコスト値Ｃは、値が小さいほど、比較画像Ｉｂにおける画素が基準画素ｐと類似していることを示す非類似度を表す評価値であるものとして説明する。
【００４９】
図５（ａ）に示すように、基準画像Ｉａにおける基準画素ｐ（ｘ，ｙ）、および、基準画素ｐ（ｘ，ｙ）に対する比較画像Ｉｂにおけるエピポーラ線ＥＬ上の対応画素の候補である候補画素ｑ（ｘ＋ｄ，ｙ）の各輝度値（画素値）に基づいて、基準画素ｐ（ｘ，ｙ）に対する対応画素の候補である候補画素ｑ（ｘ＋ｄ，ｙ）のコスト値Ｃ（ｐ，ｄ）が算出される。ｄは、基準画素ｐと候補画素ｑとのシフト量（ずれ量）であり、シフト量ｄは、画素単位でシフトされる。すなわち、候補画素ｑ（ｘ＋ｄ，ｙ）を予め指定された範囲（例えば、０＜ｄ＜２５）において順次一画素分シフトしながら、候補画素ｑ（ｘ＋ｄ，ｙ）と基準画素ｐ（ｘ，ｙ）との輝度値の非類似度であるコスト値Ｃ（ｐ，ｄ）が算出される。また、基準画素ｐの対応画素を求めるためのステレオマッチング処理として、本実施形態ではブロックマッチング処理を行う。ブロックマッチング処理では、基準画像Ｉａの基準画素ｐを中心とする所定領域である基準領域ｐｂと、比較画像Ｉｂの候補画素ｑを中心とする候補領域ｑｂ（大きさは基準領域ｐｂと同一）との非類似度を求める。基準領域ｐｂと候補領域ｑｂとの非類似度を示すコスト値Ｃとしては、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）、ＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）、または、ＳＳＤの値から各ブロックの平均値を減算したＺＳＳＤ（Ｚｅｒｏ−ｍｅａｎ−Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）等が用いられる。これらの評価値は、相関が高い（類似の度合いが高い）ほど、値が小さくなるので非類似度を示す。
【００５０】
なお、上述のように、撮像部１０ａ、１０ｂは、それぞれ平行等位に配置されるため、基準画像Ｉａおよび比較画像Ｉｂも、それぞれ平行等位の関係にある。したがって、基準画像Ｉａにおける基準画素ｐに対応する比較画像Ｉｂにおける対応画素は、図５に紙面視横方向の線として示されるエピポーラ線ＥＬ上に存在することになり、比較画像Ｉｂにおける対応画素を求めるためには、比較画像Ｉｂのエピポーラ線ＥＬ上の画素を探索すればよい。
【００５１】
このようなブロックマッチング処理で算出されたコスト値Ｃ（ｐ，ｄ）は、シフト量ｄとの関係で、例えば、図６に示すグラフにより表される。図６の例では、コスト値Ｃは、シフト量ｄ＝７の場合が最小値となるため、視差値ｄｐ＝７として導出される。
【００５２】
＜物体認識装置の機能ブロックの構成および動作＞
図７は、第１の実施形態に係る物体認識装置の機能ブロック構成の一例を示す図である。図８は、視差画像から生成されるＶマップの一例を示す図である。図９は、平坦な路面の場合のＶマップの一例を示す図である。図１０は、上り坂に差し掛かる場合のＶマップの一例を示す図である。図１１は、下り坂に差し掛かる場合のＶマップの一例を示す図である。図１２は、第１の実施形態において、Ｖマップ上の基準路面を使用してセグメントを設定する動作を説明する図である。図１３は、視差画像から生成されるＵマップの一例を示す図である。図７〜図１３を参照しながら、物体認識装置１の要部の機能ブロックの構成および動作について説明する。
【００５３】
図３でも上述したが、図７に示すように、物体認識装置１は、視差値導出部３と、認識処理部５と、を備えている。このうち、視差値導出部３は、画像取得部１００ａ（第１撮像部）と、画像取得部１００ｂ（第２撮像部）と、変換部２００ａ、２００ｂと、視差値演算処理部３００と、を有する。
【００５４】
画像取得部１００ａは、右のカメラにより前方の被写体を撮像して、アナログの画像信号を生成し、画像信号に基づく画像である輝度画像を得る機能部である。画像取得部１００ａは、図３に示す撮像部１０ａによって実現される。
【００５５】
画像取得部１００ｂは、左のカメラにより前方の被写体を撮像して、アナログの画像信号を生成し、画像信号に基づく画像である輝度画像を得る機能部である。画像取得部１００ｂは、図３に示す撮像部１０ｂによって実現される。
【００５６】
変換部２００ａは、画像取得部１００ａにより得られた輝度画像の画像データに対して、ノイズを除去し、デジタル形式の画像データに変換して出力する機能部である。変換部２００ａは、図３に示す信号変換部２０ａによって実現される。
【００５７】
変換部２００ｂは、画像取得部１００ｂにより得られた輝度画像の画像データに対して、ノイズを除去し、デジタル形式の画像データに変換して出力する機能部である。変換部２００ｂは、図３に示す信号変換部２０ｂによって実現される。
【００５８】
ここで、変換部２００ａ、２００ｂが出力する２つの輝度画像の画像データ（以下、単に、輝度画像と称する）のうち、右のカメラ（撮像部１０ａ）である画像取得部１００ａにより撮像された輝度画像を基準画像Ｉａの画像データ（以下、単に、基準画像Ｉａと称する）（第１撮像画像）とし、左のカメラ（撮像部１０ｂ）である画像取得部１００ｂにより撮像された輝度画像を比較画像Ｉｂの画像データ（以下、単に、比較画像Ｉｂと称する）（第２撮像画像）とする。すなわち、変換部２００ａ、２００ｂは、画像取得部１００ａ、１００ｂそれぞれから出力された２つの輝度画像に基づいて、それぞれ基準画像Ｉａおよび比較画像Ｉｂを出力する。
【００５９】
視差値演算処理部３００は、変換部２００ａ、２００ｂそれぞれから受信した基準画像Ｉａおよび比較画像Ｉｂに基づいて、基準画像Ｉａの各画素についての視差値を導出し、基準画像Ｉａの各画素に視差値を対応させた視差画像を生成する機能部である。視差値演算処理部３００は、生成した視差画像を、認識処理部５に出力する。
【００６０】
図７に示すように、認識処理部５は、路面推定部４００と、クラスタリング部４５０と、棄却部５００と、トラッキング判定部５５０と、を有する。
【００６１】
路面推定部４００は、視差値演算処理部３００から受信した視差画像の各画素値（視差値）をＶマップの対応する座標の視差点に対して投票することによって最終的なＶマップを生成し、Ｖマップにおける投票された視差点から標本点を選択し、選択された標本点群に対して直線近似（または、曲線近似）することで路面形状を推定する機能部である。ここで、図８（ａ）は、視差値演算処理部３００から出力される視差画像Ｉｐを示し、図８（ｂ）は、路面推定部４００により視差画像Ｉｐから生成されるＶマップＶＭを示す。図８（ｂ）に示すように、ＶマップＶＭの縦軸は視差画像Ｉｐのｙ座標に対応し、横軸は視差値ｄｐに対応している。ＶマップＶＭの生成時においては、所定のｙ座標における視差画像Ｉｐ中の水平ラインに存在する視差値を、ＶマップＶＭ上のｄｐ座標に投票していくため、ＶマップＶＭの各座標の画素値には視差値の頻度が格納される。
【００６２】
図８（ａ）に示す視差画像Ｉｐには、例えば、路面６００と、車６０１と、が写り込んでいる。この視差画像Ｉｐの路面６００は、ＶマップＶＭにおいては推定路面６００ａに対応し、車６０１は、車部６０１ａに対応する。推定路面６００ａは、下記のように、ＶマップＶＭにおいて路面６００に対応する視差点から推定された路面形状である。
【００６３】
また、路面推定部４００は、生成したＶマップＶＭから、路面と推定される位置を直線近似する。具体的には、路面推定部４００は、ＶマップＶＭに対して投票された視差点から、路面形状の推定に必要な代表点である標本点を選択し、それらを最小二乗法等により直線近似することによって、路面形状を推定し推定路面６００ａを得る。路面が平坦な場合は、１本の直線で近似可能であるが、勾配が変わる路面の場合は、ＶマップＶＭの区間を分割して精度よく直線近似する必要がある。また、視差値は、自車に近いほど、値が大きくなるため、視差画像の下方の視差値は上方の視差値に比べて大きな値を有する。したがって、ＶマップＶＭ上の推定路面６００ａは、図８（ｂ）に示すように、右下下がり（左上上がり）の形状となる。この時、物体が存在するｙ座標の範囲（図８に示す水平の破線の間の範囲内）には、物体を表す視差が投票される。物体は路面よりも高い位置に存在しているため、ＶマップＶＭ上の分布は上下方向に延びる形状をしている。これは、同じ物体であれば物体認識装置１からの距離がほぼ一定となるため、この物体について求められた各視差値同士は互いに近い数値になるためである。なお、路面推定部４００の詳細な構成および動作は、図１５、図１６および図１８で後述する。
【００６４】
ＶマップＶＭにおいて、推定された推定路面６００ａより上方に位置する塊である車部６０１ａは、実際の路面（路面６００）上の物体である車６０１に相当する。後述するクラスタリング部４５０によりＵ−Ｄｉｓｐａｒｉｔｙマップが生成される際には、ノイズ除去のため推定された路面より上方の情報のみが用いられる。
【００６５】
次に、推定路面の類型について説明する。すなわち、様々な勾配を有する路面の視差値が、具体的にどのようにＶマップ上に分布するかを説明する。まず、図９（ａ）は、車両が平坦な路面を走行している場合の視差画像Ｉｐ１を示し、図９（ｂ）は、視差画像Ｉｐ１から生成されたＶマップＶＭ１を示している。図９（ｂ）のＶマップＶＭ１に示すように、平坦な路面を走行している場合、推定される推定路面ＥＲ１は、平坦な路面と仮定した路面（以下、「デフォルト路面」と称する）であるデフォルト路面ＤＲと、ほぼ一致する。
【００６６】
次に、図１０（ａ）は、車両が上り坂に差し掛かる場合の視差画像Ｉｐ２を示し、図１０（ｂ）は、視差画像Ｉｐ２から生成されたＶマップＶＭ２を示している。図１０（ｂ）のＶマップＶＭ２に示すように、推定される上り坂の路面である推定路面ＥＲ２は、デフォルト路面ＤＲと比較して上方に存在し、推定路面ＥＲ２の開始位置もデフォルト路面ＤＲと比較して右側に存在する。なお、上り坂を走行している場合は、車両は上り坂の路面に対して平行となるため、路面の視差は、平坦な路面を走行している場合と同様となる。
【００６７】
次に、図１１（ａ）は、車両が下り坂に差し掛かる場合の視差画像Ｉｐ３を示し、図１１（ｂ）は、視差画像Ｉｐ３から生成されたＶマップＶＭ３を示している。図１１（ｂ）のＶマップＶＭ３に示すように、推定される下り坂の路面である推定路面ＥＲ３は、デフォルト路面ＤＲと比較して下方に存在し、推定路面ＥＲ３の開始位置もデフォルト路面ＤＲと比較して左側に存在する。なお、下り坂を走行している場合は、車両は下り坂の路面に対して平行となるため、路面の視差は、平坦な路面を走行している場合と同様となる。
【００６８】
以上のように、推定路面の典型的な類型を示したが、路面推定を行う時点では、路面の勾配は未知であり、路面に対応する視差点がＶマップ上のどの位置に分布しているのかを特定するのは困難である。図８（ｂ）に示す例では、ＶマップＶＭが単純に等間隔に７つのセグメント（短冊状の部分領域）に分割され、路面が適切に推定できた例を示しているが、通常は、路面に対応する視差点が投票されていない位置にセグメントを設定してしまう可能性があり、さらに、細かく路面形状を推定しようとする領域に対して、広めのセグメントが設定されることにより、推定が粗い処理となる可能性もある。
【００６９】
そこで、本実施形態の認識処理部５の路面推定部４００は、履歴路面またはデフォルト路面等を基準路面として用い、セグメントの位置を、路面に対応する視差点に合わせて設定する。具体的には、路面推定部４００は、例えば、図１２（ａ）に示す視差画像Ｉｐに対応する図１２（ｂ）に示すＶマップＶＭ上のセグメントを、路面に対応する視差点に合わせて設定する場合、まず、視差画像Ｉｐの所定のｙ座標（第１座標）を２つ選択する。ここで、図１２（ａ）に示すように、視差画像Ｉｐ上で、選択された２つのｙ座標で挟まれた部分領域をセグメントＳｅｇ＿ｐとする。次に、路面推定部４００は、ＶマップＶＭ上の基準路面ＳＲにおけるこれらの２つのｙ座標をそれぞれ有する２つのｄｐ座標（第２座標）を決定する。すなわち、基準路面ＳＲは直線であるため、ｙ座標が特定されていれば、直線である基準路面ＳＲの傾きおよび切片は既知であるため、ｄｐ座標が一意に定まる。ここで、図１２（ｂ）に示すように、ＶマップＶＭ上で、決定された２つのｄｐ座標で挟まれた部分領域をセグメントＳｅｇとする。すなわち、視差画像Ｉｐ中のｙ座標は、基準路面ＳＲを用いることによって、ＶマップＶＭ上のｄｐ座標に変換することができる。
【００７０】
基準路面ＳＲとされる履歴路面は、１フレーム以上前のフレームで推定された過去の推定路面（過去の所定数のフレームで推定された路面を平均した路面であってもよい）であって、過去に路面に対応する視差値が投票された視差点に基づく路面である。また、基準路面ＳＲとされるデフォルト路面は、多くの状況で路面に対応する視差値が投票された視差点に基づく路面を捉えたものである。したがって、上述のように、履歴路面またはデフォルト路面を基準路面ＳＲとし、この基準路面ＳＲを用いてセグメントＳｅｇを設定することによって、路面に対応する視差値が投票されると想定される視差点の位置をある程度予測することができる。ただし、フレーム間で車両７０のピッチング等が影響して、路面に対応する視差値が投票される視差点の位置が大きく変わる場合があるが、その場合、ズレは生じるものの、ＶマップＶＭを適当に分割した場合と比較して、精度の高いセグメントの設定が可能となる可能性が高い。
【００７１】
また、基準路面ＳＲの傾きに合わせて、視差画像Ｉｐ中のセグメントＳｅｇ＿ｐに対応するＶマップＶＭ上のセグメントＳｅｇのｄｐ方向の幅も動的に変化させることができる。例えば、基準路面ＳＲの傾きが急勾配である場合、セグメントＳｅｇの両端のｄｐ座標の間隔は狭くなる。したがって、基準路面ＳＲを用いたセグメントの設定は、路面に対応する視差値が投票されている視差点の位置を推測するだけでなく、基準路面ＳＲの勾配に合わせて、セグメントＳｅｇのｄｐ方向の幅も適切に設定することができる。基準路面ＳＲの勾配に合わせてセグメントの幅を動的に変える利点について説明する。例えば、急勾配の路面の場合、Ｖマップ上に含まれる路面の視差の情報量は減少する。例えば、同じ始点からデフォルト路面、および急勾配の路面がＶマップに分布する場合を比較した場合、後者の路面は前者のデフォルト路面に比べて、早期にＶマップの上端（または下端）を突き抜けることになる。一方、勾配が緩やかになる場合、逆にＶマップに路面の視差の情報の情報量は増加する。以上により、急勾配の場合、セグメントの幅を狭くしてＶマップに写る路面の視差点の部分に限定してセグメントを設定した方がよい。一方、路面が緩やかな勾配である場合、逆にセグメントの幅を広くした方がよい。
【００７２】
さらに、基準路面ＳＲを用いたセグメントの設定では、視差画像Ｉｐ中のセグメントＳｅｇ＿ｐに合わせて、ＶマップＶＭ上のセグメントＳｅｇが決定されるため、例えば、遠方の領域は分解能が低いため、細かくセグメントＳｅｇを設定して路面推定を行おうとする場合は、セグメントＳｅｇ＿ｐのサイズを小さく設定することで、セグメントＳｅｇのｄｐ方向の幅も小さくすることができる。すなわち、視差画像Ｉｐを見ながら、直感的にセグメントＳｅｇの大きさを決めることができる。
【００７３】
なお、路面は、視差画像Ｉｐの下方から上方に向かって連続しているため、ＶマップＶＭにおけるセグメント間も連続するように設定することが望ましいが、これに限定されるものではなく、意図的にセグメントを不連続に設定するものとしてもよい。例えば、視差画像Ｉｐにおいて、あるｙ座標の区間にノイズが含まれることが多いことがわかっている場合、この領域を避けるように２つのｙ座標を選択するものとしてもよい。この場合、対応するＶマップＶＭのセグメントＳｅｇも所定の区間が抜けて、路面推定が行われないことになる。このとき、路面推定では、推定しない区間の路面を、それよりも近方のセグメントの推定路面を延長する等して補間するものとしてもよい。ただし、推定に失敗しやすい区間であるため、路面を推定せずに、この区間に存在する物体はクラスタリング処理が行われないようにしてもよい。
【００７４】
また、車両７０の状態をＣＡＮ等から受けてピッチングが発生している場合には、路面に対応する位置の視差値の特定が困難になるため、固定のセグメントを設定するものとしてもよい。
【００７５】
また、履歴路面またはデフォルト路面を基準路面ＳＲとする例を示したが、その他のＶマップＶＭ上に定義できる路面であれば任意のものを使用してもよい。例えば、遠方の視差値の精度が悪くなる性質を鑑みて、近方のセグメントで推定された路面を最後のセグメントまで延長した路面を基準路面としてもよい。
【００７６】
クラスタリング部４５０は、視差値導出部３から受信した基準画像Ｉａ（輝度画像）および視差画像、ならびに、路面推定部４００により出力されるＶマップおよび推定路面の情報に基づいて、視差画像に写っている物体を検出する機能部である。具体的には、クラスタリング部４５０は、まず、Ｖマップ上において路面推定部４００により推定された推定路面より上方に位置する情報のみを利用、すなわち、例えば、図１３（ａ）に示す視差画像Ｉｐ４の左ガードレール６１１、右ガードレール６１２、車６１３および車６１４に対応する情報を利用して、物体を認識するために、図１３（ｂ）に示すＵ−Ｄｉｓｐａｒｉｔｙマップ（以下、単に「Ｕマップ」と称する場合がある）であるＵマップＵＭを生成する。ここで、Ｕ−Ｄｉｓｐａｒｉｔｙマップとは、横軸を視差画像Ｉｐのｘ軸とし、縦軸を視差画像Ｉｐの視差値ｄｐ（または距離）とした、視差値ｄｐの頻度分布を示す二次元ヒストグラムである。図１３（ａ）に示す視差画像Ｉｐ４の左ガードレール６１１は、ＵマップＵＭにおいては左ガードレール部６１１ａに対応し、右ガードレール６１２は、右ガードレール部６１２ａに対応し、車６１３は、車部６１３ａに対応し、車６１４は、車部６１４ａに対応する。
【００７７】
なお、クラスタリング部４５０は、視差画像Ｉｐ４からＲｅａｌ  Ｕ−Ｄｉｓｐａｒｉｔｙマップを生成してもよい。ここで、Ｒｅａｌ  Ｕ−Ｄｉｓｐａｒｉｔｙマップとは、横軸を、撮像部１０ｂ（右のカメラ）から撮像部１０ａ（左のカメラ）へ向かう方向の実距離とし、縦軸を、視差画像の視差値ｄｐ（またはその視差値ｄｐから変換した奥行き方向の距離）とした二次元ヒストグラムである。
【００７８】
また、視差値導出部３からクラスタリング部４５０に入力される画像は基準画像Ｉａに限定されるものではなく、比較画像Ｉｂを対象とするものとしてもよい。
【００７９】
クラスタリング部４５０は、生成したＵマップから、物体の視差画像および基準画像Ｉａにおけるｘ軸方向の位置および幅（ｘｍｉｎ，ｘｍａｘ）を特定できる。また、クラスタリング部４５０は、生成したＵマップでの物体の高さの情報（ｄｍｉｎ，ｄｍａｘ）から物体の実際の奥行きを特定できる。また、クラスタリング部４５０は、受信したＶマップから、物体の視差画像および基準画像Ｉａにおけるｙ軸方向の位置および高さ（ｙｍｉｎ＝「最大視差値の路面からの最大高さに相当するｙ座標」，ｙｍａｘ＝「最大視差値から得られる路面の高さを示すｙ座標」）を特定できる。また、クラスタリング部４５０は、視差画像において特定した物体のｘ軸方向の幅（ｘｍｉｎ，ｘｍａｘ）、ｙ軸方向の高さ（ｙｍｉｎ，ｙｍａｘ）およびそれぞれに対応する視差値ｄｐから、物体の実際のｘ軸方向およびｙ軸方向のサイズが特定できる。以上のように、クラスタリング部４５０は、ＶマップおよびＵマップを利用して、基準画像Ｉａでの物体の位置、ならびに実際の幅、高さおよび奥行きを特定することができる。また、クラスタリング部４５０は、基準画像Ｉａでの物体の位置が特定されるので、視差画像における位置も定まり、物体までの距離も特定できる。
【００８０】
また、クラスタリング部４５０は、物体について特定した実際のサイズ（幅、高さ、奥行き）から、下記の（表１）を用いて、物体が何であるかを特定することができる。例えば、物体の幅が１３００［ｍｍ］、高さが１８００［ｍｍ］、奥行きが２０００［ｍｍ］である場合、物体は「普通車」であると特定できる。なお、（表１）のような幅、高さおよび奥行きと、物体の種類（物体タイプ）とを関連付ける情報をテーブルとして、ＲＡＭ５４等に記憶させておくものとすればよい。
【００８１】
【表１】
2018045328.tif 000003
【００８２】
そして、クラスタリング部４５０は、検出した物体の画像（認識画像）に関する情報（例えば、基準画像Ｉａでの位置を示す座標、およびサイズ等）（以下、単に「認識画像情報」と称する）を出力する。
【００８３】
棄却部５００は、視差値導出部３から出力された基準画像Ｉａ、およびクラスタリング部４５０から出力された認識画像情報に基づいて、認識画像情報で示される認識画像について棄却するか否かを判定する棄却判定を行う機能部である。ここで、棄却とは、その物体を後段の処理（追跡処理等）の対象外とする処理を示す。
【００８４】
トラッキング判定部５５０は、棄却部５００からの棄却判定の結果に基づいて、認識画像に含まれる物体に対してトラッキングを行うか否かを判定する機能部である。例えば、トラッキング判定部５５０は、棄却部５００で棄却と判定されなかった物体に対してトラッキングを行うものと判定し、その物体の認識画像情報にトラッキングを行う旨の情報を含め、認識情報として車両制御装置６に出力する。
【００８５】
また、図７に示す認識処理部５の路面推定部４００、クラスタリング部４５０、棄却部５００およびトラッキング判定部５５０は、それぞれ図３に示すＦＰＧＡ５１によって実現される。なお、路面推定部４００、クラスタリング部４５０、棄却部５００およびトラッキング判定部５５０の一部または全部は、ハードウェア回路であるＦＰＧＡ５１ではなく、ＲＯＭ５３に記憶されているプログラムがＣＰＵ５２によって実行されることによって実現されるものとしてもよい。
【００８６】
なお、本発明に係る「画像処理装置」は、路面推定部４００であってもよく、路面推定部４００を含む認識処理部５であってもよい。
【００８７】
また、図７に示す視差値導出部３および認識処理部５の各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図７に示す視差値導出部３および認識処理部５で独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図７に示す視差値導出部３および認識処理部５で１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００８８】
＜＜視差値演算処理部の機能ブロック構成＞＞
図１４は、第１の実施形態に係る物体認識装置の視差値演算処理部の機能ブロック構成の一例を示す図である。図１４を参照しながら、視差値演算処理部３００の機能ブロックの具体的な構成および動作について説明する。
【００８９】
図１４に示すように、視差値演算処理部３００は、コスト算出部３０１と、決定部３０２と、生成部３０３（第１生成部）と、を有する。
【００９０】
コスト算出部３０１は、基準画像Ｉａにおける基準画素ｐ（ｘ，ｙ）の輝度値、および、基準画素ｐ（ｘ，ｙ）に基づく比較画像Ｉｂにおけるエピポーラ線ＥＬ上で、基準画素ｐ（ｘ，ｙ）の位置に相当する画素からシフト量ｄでシフトすることにより特定される、対応画素の候補である候補画素ｑ（ｘ＋ｄ，ｙ）の各輝度値に基づいて、各候補画素ｑ（ｘ＋ｄ，ｙ）のコスト値Ｃ（ｐ，ｄ）を算出する機能部である。具体的には、コスト算出部３０１は、ブロックマッチング処理により、基準画像Ｉａの基準画素ｐを中心とする所定領域である基準領域ｐｂと、比較画像Ｉｂの候補画素ｑを中心とする候補領域ｑｂ（大きさは基準領域ｐｂと同一）との非類似度をコスト値Ｃとして算出する。
【００９１】
決定部３０２は、コスト算出部３０１により算出されたコスト値Ｃの最小値に対応するシフト量ｄを、コスト値Ｃの算出の対象となった基準画像Ｉａの画素についての視差値ｄｐとして決定する機能部である。
【００９２】
生成部３０３は、決定部３０２により決定された視差値ｄｐに基づいて、基準画像Ｉａの各画素の画素値を、その画素に対応する視差値ｄｐで置き換えた画像である視差画像を生成する機能部である。
【００９３】
図１４に示すコスト算出部３０１、決定部３０２および生成部３０３は、それぞれ図３に示すＦＰＧＡ３１によって実現される。なお、コスト算出部３０１、決定部３０２および生成部３０３の一部または全部は、ハードウェア回路であるＦＰＧＡ３１ではなく、ＲＯＭ３３に記憶されているプログラムがＣＰＵ３２によって実行されることによって実現されるものとしてもよい。
【００９４】
なお、図１４に示す視差値演算処理部３００のコスト算出部３０１、決定部３０２および生成部３０３は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図１４に示す視差値演算処理部３００で独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図１４に示す視差値演算処理部３００で１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００９５】
＜＜路面推定部の機能ブロック構成＞＞
図１５は、第１の実施形態に係る物体認識装置の路面推定部の機能ブロック構成の一例を示す図である。図１６は、Ｖマップの生成動作を説明する図である。図１５および図１６を参照しながら、路面推定部４００の機能ブロックの具体的な構成および動作について説明する。
【００９６】
図１５に示すように、路面推定部４００は、入力部４０１と、Ｖマップ生成部４０２（第２生成部）と、セグメント設定部４０３（設定部）と、推定部４０４と、スムージング部４０５と、出力部４０６と、を有する。
【００９７】
入力部４０１は、視差値演算処理部３００から視差画像を入力する機能部である。
【００９８】
Ｖマップ生成部４０２は、入力部４０１により入力された視差画像の各視差画素の視差値を、Ｖマップの対応する視差点に投票することによってＶマップを生成する機能部である。Ｖマップ生成部４０２によるＶマップの生成において、視差画像のｙ座標とＶマップのｙ座標とは対応関係にあり、視差画像の特定のｙ座標の水平ライン上の視差値は、Ｖマップの対応するｙ座標の水平ラインのいずれかの視差点に投票される。したがって、視差画像の同じ水平ラインに含まれる視差値は同値となるものも存在するため、Ｖマップの任意の座標の視差点には、視差値の頻度が格納されることになる。視差画像の特定の水平ラインにおいては、同じ路面であれば、視差値は互いに類似する値となるため、Ｖマップにおける路面に対応する視差点は密集して投票されることになる。
【００９９】
なお、Ｖマップ生成部４０２は、視差画像中の全ての視差画素の視差値をＶマップに投票してもよいが、図１６に示す視差画像Ｉｐ５のように、所定の領域（例えば、図１６に示す投票領域７０１〜７０３）を設定し、その領域に含まれる視差画素の視差値のみを投票するものとしてもよい。例えば、路面は遠方になるにつれて、消失点に向かって狭くなっていくという性質を利用し、図１６に示すように、路面の幅にあった投票領域を所定数設定する方法が考えられる。このように投票領域に制限することによって、路面以外のノイズがＶマップに混入することを抑制することができる。
【０１００】
また、視差画像中の一水平ラインにおける視差画素を適宜間引いて投票するものとしてもよい。また、間引きに関しては、水平方向だけではなく、垂直方向に対して実行してもよい。
【０１０１】
また、視差画像とＶマップとの対応付けは、路面推定を視差画像の下方から上方に向けて行うことから、視差画像の下辺とＶマップの下辺とが対応付くようにすることが望ましい。ただし、両者が一意に対応付くのであれば、任意の位置で対応付けてもよい。
【０１０２】
セグメント設定部４０３は、Ｖマップ生成部４０２により生成されたＶマップ上において、履歴路面またはデフォルト路面等を基準路面として用い、路面に対応する視差点に合わせてセグメントを設定する機能部である。具体的には、セグメント設定部４０３は、視差画像に対応するＶマップ上のセグメントを、路面に対応する視差点に合わせて設定する場合、まず、視差画像の所定のｙ座標を２つ選択する。次に、セグメント設定部４０３は、Ｖマップ上の基準路面におけるこれらの２つのｙ座標をそれぞれ有する２つのｄｐ座標を決定し、決定した２つのｄｐ座標で挟まれた部分領域をセグメントとして設定する。
【０１０３】
なお、セグメントは、等間隔に設定せずに所定の幅で設定してよい。例えば、遠方の領域は解像度が低い（路面の分解能が低い）ことは既知であるため、遠方に行くにつれて、セグメントを細かく設定する方法が考えられる。したがって、これに合わせてセグメントの数を決定すればよい。
【０１０４】
また、設定されるセグメントはｄｐ座標において設定されるものだが、ｙ座標においてもセグメントを分割してもよい。例えば、Ｖマップにおいて、路面に対応する視差点が分布する位置が特定できる場合、ｙ方向でセグメントに分割することにより、ｄｐ方向だけでセグメントに設定した場合よりも限定した領域内を処理することができる。これによって、ノイズの混入を抑制する効果が向上し、かつ、路面推定処理の処理時間の短縮に寄与する。なお、本実施形態においては、セグメントは、ｄｐ方向でのみ設定した短冊状の部分領域であるものとして説明する。
【０１０５】
推定部４０４は、セグメント設定部４０３により設定されたセグメントにおいて路面を推定する機能部である。推定部４０４は、図１５に示すように、標本点選択部４１１と、形状推定部４１２と、判定部４１３と、設定部４１４と、を有する。
【０１０６】
標本点選択部４１１は、Ｖマップに投票された視差点（頻度点の一例）のうち、セグメント設定部４０３により設定されたセグメントである処理対象のセグメント（以下、「対象セグメント」と称する場合がある）における各ｄｐ座標の位置から、少なくとも１つ以上の代表点（以下、「標本点」と称する）を選択する機能部である。標本点の選択方法としては、例えば、各ｄｐ座標に対して、その垂直（縦）方向に存在する視差点のうち、単純に頻度の最も多い視差点（最頻点）を選択してもよく、または、着目するｄｐ座標とその左右の複数の画素を併せてＶマップの下方向から上方向に上げていき、路面の視差点が含まれ得る領域を制限した上で、その中から最頻点を選択するといように、より正確に路面の視差点を捉える方法を用いてもよい。または、視差点がない位置（座標）を標本点として選択してもよい。例えば、着目している座標（ｄｐ，ｙ）には視差点は存在していないが、周囲に頻度が多い視差点が集中している場合、偶発的に座標（ｄｐ，ｙ）の視差点が欠落している可能性があるため、この抜けている位置を標本点として選択することも可能である。
【０１０７】
なお、標本点選択部４１１は、選択した標本点のうち、不適切な標本点を除去してもよい。これによって、後述する形状推定部４１２によって標本点群に対する直線近似の際に、不適切な標本点（外れ点）の影響を受けて、推定路面の形状が不適切になってしまうことを抑制することができる。外れ点の除去方法としては、例えば、一旦、対象セグメント内の全ての標本点を使って最小二乗法で直線近似し、近似直線から所定の距離離れた標本点を除去するものとしてもよい。この場合、外れ点を除去した状態で、再度、最小二乗法により推定した路面が最終的な推定路面となる。
【０１０８】
形状推定部４１２は、標本点選択部４１１により選択された標本点群から路面形状の推定（路面推定）を行う機能部である。路面推定の方法としては、例えば、最小二乗法等によって標本点群に対して直線近似を行う方法、または、多項式近似等を用いて曲線形状を推定する方法等がある。または、路面推定の結果に対する成否判定に使用するための信頼度を算出する方法としてもよい。例えば、最小二乗法を使って直線近似した場合は、相関係数を信頼度として使用することができる。以降の説明では、特に断らない限り、路面推定は直線近似によるものとして説明する。
【０１０９】
判定部４１３は、形状推定部４１２により推定された路面が、所定の成否判定条件を満たすか否かにより、路面推定が適切（成功）か否かを判定する機能部である。例えば、判定部４１３は、標本点の並びが右上並びに整列していると推定された場合、路面としては不適切（失敗）であると判定する。このような問題の発生の原因としては、例えば、個々の標本点の選択が独立して実行されることが挙げられる。また、判定部４１３による成否判定では、路面の信頼度を定量化できるのであれば、任意の尺度を利用して判定してもよい。例えば、標本点数が所定値よりも少ない場合は、路面の情報が少ない状態で推定した路面なので、不適切な傾きになっている可能性がある。したがって、この所定値を閾値として成否を分けるものとしてもよい。また、標本点群の分散状態を成否判定に採用することもできる。例えば、路面形状を推定する際に、最小二乗法を使っていた場合、近似直線を算出する際に相関係数も算出することができるため、この相関係数が所定値以下である場合に、推定路面がばらついた標本点群から推定された路面であると判定し、失敗と判定するものしてもよい。また、路面はセグメント間で連続しているという性質を利用して、対象セグメントの一つ前のセグメントで推定された路面との角度が所定範囲に入っているか否かを判定し、入っていない場合、失敗と判定してもよい。
【０１１０】
設定部４１４は、判定部４１３による成否判定の結果に基づいて、対象セグメントでの適切な路面を設定する機能部である。例えば、設定部４１４は、形状推定部４１２により推定された路面が判定部４１３により適切であると判定した場合、その推定路面を対象セグメントでの適切な路面として設定する。また、設定部４１４は、形状推定部４１２により推定された路面が判定部４１３により不適切であると判定された場合、その代わりとなる路面で補足する。路面を補足する方法としては、例えば、デフォルト路面または履歴路面を割り当てる方法等が挙げられる。
【０１１１】
スムージング部４０５は、推定部４０４により推定された路面に対してスムージング処理を行う機能部である。Ｖマップにおいて複数のセグメントが設定された場合、セグメント間で推定された路面が不連続になる可能性がある。そこで、ある２つのセグメントの推定路面のうち、一方の推定路面の始点の座標と、もう一方の推定路面の終点の座標とが所定のｙ座標を通るように修正する、すなわち、推定路面のＶマップ上における傾きおよび切片を変更することによって、セグメント間で推定路面に連続性を担保する。所定のｙ座標としては、例えば、上述の一方の推定路面の始点のｙ座標と、もう一方の推定路面の終点のｙ座標との中点のｙ座標を採用することができる。このようなスムージング処理を行うことにより、あるセグメントでの推定結果が適していない場合に、修正される可能性があるため、路面推定の精度を向上させる効果がある。
【０１１２】
出力部４０６は、スムージング部４０５によりスムージング処理されたＶマップ上の推定路面の情報（路面情報）を、クラスタリング部４５０に出力する機能部である。なお、Ｖマップ上の推定路面の情報が、後段（クラスタリング部４５０等）で特に必要とされない場合においては、例えば、路面情報を図３に示すＲＡＭ５４等に記憶させておくものとしてもよい。この場合、スムージング部４０５および出力部４０６は備えない構成としてもよい。
【０１１３】
図１５に示す入力部４０１、Ｖマップ生成部４０２、セグメント設定部４０３、推定部４０４、スムージング部４０５および出力部４０６は、それぞれ図３に示すＦＰＧＡ５１によって実現される。なお、入力部４０１、Ｖマップ生成部４０２、セグメント設定部４０３、推定部４０４、スムージング部４０５および出力部４０６の一部または全部は、ハードウェア回路であるＦＰＧＡ５１ではなく、ＲＯＭ５３に記憶されているプログラムがＣＰＵ５２によって実行されることによって実現されるものとしてもよい。
【０１１４】
なお、図１５に示す路面推定部４００の入力部４０１、Ｖマップ生成部４０２、セグメント設定部４０３、推定部４０４、スムージング部４０５および出力部４０６は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図１５に示す路面推定部４００で独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図１５に示す路面推定部４００で１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【０１１５】
（物体認識装置の動作）
次に、図１７および図１８を参照しながら、物体認識装置１の具体的な動作について説明する。
【０１１６】
＜視差値導出部のブロックマッチング処理＞
図１７は、第１の実施形態に係る視差値導出部のブロックマッチング処理の動作の一例を示すフローチャートである。図１７を参照しながら、物体認識装置１の視差値導出部３のブロックマッチング処理の動作の流れについて説明する。
【０１１７】
＜＜ステップＳ１−１＞＞
視差値導出部３の画像取得部１００ｂは、左のカメラ（撮像部１０ｂ）により前方の被写体を撮像して、それぞれアナログの画像信号を生成し、その画像信号に基づく画像である輝度画像を得る。これによって、後段の画像処理の対象となる画像信号が得られることになる。そして、ステップＳ２−１へ移行する。
【０１１８】
＜＜ステップＳ１−２＞＞
視差値導出部３の画像取得部１００ａは、右のカメラ（撮像部１０ａ）により前方の被写体を撮像して、それぞれアナログの画像信号を生成し、その画像信号に基づく画像である輝度画像を得る。これによって、後段の画像処理の対象となる画像信号が得られることになる。そして、ステップＳ２−２へ移行する。
【０１１９】
＜＜ステップＳ２−１＞＞
視差値導出部３の変換部２００ｂは、撮像部１０ｂにより撮像されて得られたアナログの画像信号に対して、ノイズを除去し、デジタル形式の画像データに変換する。このように、デジタル形式の画像データに変換することによって、その画像データに基づく画像に対して画素ごとの画像処理が可能となる。そして、ステップＳ３−１へ移行する。
【０１２０】
＜＜ステップＳ２−２＞＞
視差値導出部３の変換部２００ａは、撮像部１０ａにより撮像されて得られたアナログの画像信号に対して、ノイズを除去し、デジタル形式の画像データに変換する。このように、デジタル形式の画像データに変換することによって、その画像データに基づく画像に対して画素ごとの画像処理が可能となる。そして、ステップＳ３−２へ移行する。
【０１２１】
＜＜ステップＳ３−１＞＞
変換部２００ｂは、ステップＳ２−１において変換したデジタル形式の画像データに基づく画像をブロックマッチング処理における比較画像Ｉｂとして出力する。これによって、ブロックマッチング処理において視差値を求めるための比較対象となる画像を得る。そして、ステップＳ４へ移行する。
【０１２２】
＜＜ステップＳ３−２＞＞
変換部２００ａは、ステップＳ２−２において変換したデジタル形式の画像データに基づく画像をブロックマッチング処理における基準画像Ｉａとして出力する。これによって、ブロックマッチング処理において視差値を求めるための基準となる画像を得る。そして、ステップＳ４へ移行する。
【０１２３】
＜＜ステップＳ４＞＞
視差値導出部３の視差値演算処理部３００のコスト算出部３０１は、基準画像Ｉａにおける基準画素ｐ（ｘ，ｙ）の輝度値、および、基準画素ｐ（ｘ，ｙ）に基づく比較画像Ｉｂにおけるエピポーラ線ＥＬ上で、基準画素ｐ（ｘ，ｙ）の位置に相当する画素からシフト量ｄでシフトすることにより特定される、対応画素の候補画素ｑ（ｘ＋ｄ，ｙ）の各輝度値に基づいて、各候補画素ｑ（ｘ＋ｄ，ｙ）のコスト値Ｃ（ｐ，ｄ）を算出する。具体的には、コスト算出部３０１は、ブロックマッチング処理により、基準画像Ｉａの基準画素ｐを中心とする所定領域である基準領域ｐｂと、比較画像Ｉｂの候補画素ｑを中心とする候補領域ｑｂ（大きさは基準領域ｐｂと同一）との非類似度をコスト値Ｃとして算出する。そして、ステップＳ５へ進む。
【０１２４】
＜＜ステップＳ５＞＞
視差値導出部３の視差値演算処理部３００の決定部３０２は、コスト算出部３０１により算出されたコスト値Ｃの最小値に対応するシフト量ｄを、コスト値Ｃの算出の対象となった基準画像Ｉａの画素についての視差値ｄｐとして決定する。そして、視差値導出部３の視差値演算処理部３００の生成部３０３は、決定部３０２により決定された視差値ｄｐに基づいて、基準画像Ｉａの各画素の輝度値を、その画素に対応する視差値ｄｐで表した画像である視差画像を生成する。生成部３０３は、生成した視差画像を、認識処理部５に出力する。
【０１２５】
なお、上述のブロックマッチング処理は、ステレオマッチング処理の一例として説明したが、これに限定されるものではなく、ＳＧＭ（Ｓｅｍｉ−Ｇｌｏｂａｌ  Ｍａｔｃｈｉｎｇ）法を用いた処理であってもよい。
【０１２６】
＜路面推定処理＞
図１８は、第１の実施形態に係る路面推定部の路面推定処理の動作の一例を示すフローチャートである。図１８を参照しながら、認識処理部５の路面推定部４００の路面推定処理の動作の流れについて説明する。
【０１２７】
＜＜ステップＳ１１＞＞
入力部４０１は、視差値演算処理部３００から視差画像を入力する。なお、視差画像は、ステレオカメラを構成する視差値導出部３で生成した視差画像を直接入力してもよく、これらの情報を予め、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記録メディア、または、ネットワークストレージ等に記憶させておき、必要に応じて、これらから視差画像を読み込んで使用するものとしてもよい。また、視差画像は１画像のみを入力するものとしてもよく、または、動画像データをフレームごとに逐次入力するものとしてもよい。そして、ステップＳ１２へ移行する。
【０１２８】
＜＜ステップＳ１２＞＞
Ｖマップ生成部４０２は、入力部４０１により入力された視差画像の各視差画素の視差値を、Ｖマップの対応する視差点に投票することによってＶマップを生成する。そして、ステップＳ１３へ移行する。
【０１２９】
＜＜ステップＳ１３＞＞
路面推定部４００は、セグメント設定部４０３により設定されるセグメントに対する路面推定を開始するために、現在処理しているインデックスをｓｅｇ＿ｉｎｄｅｘとした場合、このインデックスを０に初期化する。なお、ｓｅｇ＿ｉｎｄｅｘの値域は、０〜（分割数−１）となるが、以降の説明では、インデックスは（セグメント番号−１）として説明する。そして、ステップＳ１４へ移行する。
【０１３０】
＜＜ステップＳ１４＞＞
推定部４０４は、後述するようにセグメント設定部４０３により設定される所定のセグメント数分だけ路面推定および成否判定等の処理（ステップＳ１７〜Ｓ２０）を繰り返す。そして、ステップＳ１５へ移行する。
【０１３１】
＜＜ステップＳ１５＞＞
セグメント設定部４０３は、Ｖマップ上のセグメントを、路面に対応する視差点に合わせて設定する場合、まず、視差画像の所定のｙ座標を２つ選択する。そして、ステップＳ１６へ移行する。
【０１３２】
＜＜ステップＳ１６＞＞
セグメント設定部４０３は、Ｖマップ上の基準路面において、選択した２つのｙ座標をそれぞれ有する２つのｄｐ座標を決定し、決定した２つのｄｐ座標で挟まれた部分領域をセグメントとして設定する。なお、設定されるセグメントの横幅（ｄｐ方向の幅）は、他のセグメントと同値とならなくてもよい。例えば、遠方の路面を細かく推定したい場合は、遠方になるにつれ（Ｖマップではｄｐ値が小さくなるにつれ）、セグメント幅が小さくなるように設定していけばよい。また、セグメントを細かく設定することで、より複雑な形状（例えば、平坦な路面から途中でアップダウンするような坂道の形状等)の路面を捉えることができる。そして、ステップＳ１７へ移行する。
【０１３３】
＜＜ステップＳ１７＞＞
推定部４０４の標本点選択部４１１は、Ｖマップに投票された視差点のうち、セグメント設定部４０３により設定されたセグメントである対象セグメントにおける各ｄｐ座標の位置から、少なくとも１つ以上の標本点を選択する。なお、このとき、各ｄｐ座標で選択される標本点は、１点に限定されるものではなく、複数の標本点が選択されるものとしてもよい。また、Ｖマップ上に視差点が垂直方向に存在しないｄｐ座標も存在することから、標本点を選択しないｄｐ座標が存在してもよい。そして、ステップＳ１８へ移行する。
【０１３４】
＜＜ステップＳ１８＞＞
推定部４０４の形状推定部４１２は、標本点選択部４１１により選択された標本点群から路面形状の推定（路面推定）を行う。そして、ステップＳ１９へ移行する。
【０１３５】
＜＜ステップＳ１９＞＞
推定部４０４の判定部４１３は、形状推定部４１２により推定された路面が、所定の成否判定条件を満たすか否かにより、路面推定が適切（成功）か否かを判定する。推定部４０４の設定部４１４は、判定部４１３による成否判定の結果に基づいて、対象セグメントでの適切な路面を設定する。例えば、設定部４１４は、形状推定部４１２により推定された路面が判定部４１３により適切であると判定した場合、その推定路面を対象セグメントでの適切な路面として設定する。また、設定部４１４は、形状推定部４１２により推定された路面が判定部４１３により不適切であると判定された場合、その代わりとなる路面で補足する。そして、ステップＳ２０へ移行する。
【０１３６】
＜＜ステップＳ２０＞＞
路面推定部４００は、セグメント設定部４０３により設定される別のセグメントを対象セグメントとするために、インデックスｓｅｇ＿ｉｎｄｅｘを、１だけインクリメントする。そして、ステップＳ２１へ移行する。
【０１３７】
＜＜ステップＳ２１＞＞
路面推定部４００は、セグメント設定部４０３および推定部４０４によってステップＳ１５〜Ｓ２０の処理を所定のセグメント数分だけ行ったか否かを判定する。所定のセグメント数分だけ処理を行っていない場合、ステップＳ１５へ戻り、所定のセグメント数分だけ処理を行った場合、スムージング部４０５は、推定部４０４により推定された路面に対してスムージング処理を行う。そして、出力部４０６は、スムージング部４０５によりスムージング処理されたＶマップ上の推定路面の情報（路面情報）を、クラスタリング部４５０に出力して路面推定処理を終了する。なお、スムージング部４０５によるスムージング処理では、着目するセグメントの推定路面が求められた後、この推定路面と、着目するセグメントの１つ前のセグメントの推定路面とを逐次的にスムージングを行うものとしてもよい。
【０１３８】
以上のステップＳ１１〜Ｓ２１の処理により、路面推定部４００による路面推定処理が行われる。
【０１３９】
なお、図１８に示すフローにおいて、ステップＳ１５〜Ｓ１９の処理を、セグメント設定部４０３により設定されるセグメントごとに直列的に実行するものとしてもよく、各ステップの処理を設定されたセグメントそれぞれに並列的に実行するものとしてもよい。
【０１４０】
以上のように、履歴路面またはデフォルト路面を基準路面とし、選択した視差画像中のｙ座標を、この基準路面を用いることによって、Ｖマップ上のｄｐ座標に変換し、セグメントを設定するものとしている。これによって、路面に対応する視差値が投票されると想定される視差点の位置をある程度予測することができ、路面推定の精度を向上させることができる。
【０１４１】
［第２の実施形態］
第２の実施形態に係る物体認識装置について、第１の実施形態に係る物体認識装置１と相違する点を中心に説明する。第１の実施形態では、履歴路面またはデフォルト路面等をそのまま基準路面として用い、セグメントを設定する動作を説明した。本実施形態では、基準路面の切片を所定位置に固定してセグメントを設定する動作について説明する。
【０１４２】
なお、本実施形態に係る物体認識装置のハードウェア構成および機能ブロック構成は、第１の実施形態で説明した構成と同様である。また、本実施形態に係る視差値演算処理部３００および路面推定部４００の機能ブロック構成についても、第１の実施形態で説明した構成と同様である。また、本実施形態に係る視差値導出部３のブロックマッチング処理についても、第１の実施形態で説明した動作と同様である。
【０１４３】
（路面推定部の動作）
図１９は、Ｖマップ上の基準路面がセグメントの設定に不向きな場合の一例を示す図である。図２０は、第２の実施形態において、Ｖマップ上の固定点を切片とする基準路面を使用してセグメントを設定する動作を説明する図である。図１９および図２０を参照しながら、本実施形態に係る路面推定部４００の具体的な動作について説明する。なお、上述のように、本実施形態に係る路面推定部４００の機能ブロック構成は、第１の実施形態で説明した構成と同様である。
【０１４４】
本実施形態のセグメント設定部４０３は、Ｖマップ生成部４０２により生成されたＶマップ上において、履歴路面またはデフォルト路面等である基準路面を、所定の固定点を通るように補正した補正基準路面を用い、路面に対応する視差点に合わせてセグメントを設定する機能部である。
【０１４５】
図１９（ｂ）に示すように、下り坂のシーン等でＶマップＶＭ６に示す基準路面ＳＲ６がデフォルト路面等と比較して低い位置に存在する場合、この基準路面ＳＲ６を用いて、第１の実施形態と同様にセグメントの設定を行うと、ＶマップＶＭ６に収まらない領域をセグメントとして設定しまう可能性がある。これは、基準路面ＳＲ６が低い場合だけではなく、高い場合も同様に起こり得る。例えば、図１９（ａ）に示す視差画像Ｉｐ６上で選択された２つのｙ座標で挟まれた部分領域であるセグメントＳｅｇ＿ｐ１を得る。そして、履歴路面等である基準路面ＳＲ６におけるこれらの２つのｙ座標をそれぞれ有する２つのｄｐ座標を決定し、これらの２つのｄｐ座標で挟まれたＶマップＶＭ６上の部分領域であるセグメントＳｅｇ１は、視差値ｄｐ＜０の位置、すなわち、ＶマップＶＭ６の外部の位置に設定されてしまう。この設定されたセグメントＳｅｇ１は、処理の対象とならない領域であるため不要な領域として設定されてしまう。このようになる理由は、視差画像のセグメントＳｅｇ＿ｐ１の位置が既に路面の消失点よりも高い位置を指しているため、本来路面が存在しない領域となるためである。
【０１４６】
また、履歴路面はフレーム間で異なるため、システムとしても不安定になりやすく、例えば、車両７０でピッチングが発生した場合、フレームごとに履歴路面は上下方向に変動する場合があり、上述のようなＶマップの外部の位置にセグメントが設定される可能性がある。
【０１４７】
そこで、本実施形態では、図２０（ｂ）に示すように、固定点ＦＰを設け、基準路面ＳＲ６を、この固定点ＦＰを切片とし、基準路面ＳＲ６の傾きを有するように補正して補正基準路面ＣＳＲとして使用する。例えば、セグメント設定部４０３は、図２０（ａ）に示す視差画像Ｉｐ６においてセグメントＳｅｇ＿ｐ２を、セグメントとして最上位に設定した場合、このセグメントＳｅｇ＿ｐ２の上側のｙ座標を有し、視差値ｄｐ＝０となるＶマップＶＭ６上の所定の位置を固定点ＦＰとして設定する。この場合、固定点ＦＰは、視差値ｄｐ＝０であるため直線の切片となる。
【０１４８】
次に、セグメント設定部４０３は、固定点ＦＰを通るように基準路面ＳＲ６を、傾きをそのままに平行移動させ、この平行移動させた路面を補正基準路面ＣＳＲとする。そして、セグメント設定部４０３は、視差画像Ｉｐ６の所定のｙ座標（第１座標）を２つ選択し、ＶマップＶＭ６の補正基準路面ＣＳＲにおけるこれらの２つのｙ座標をそれぞれ有する２つのｄｐ座標（第２座標）を決定する。例えば、決定された２つのｄｐ座標で挟まれた部分領域として、図２０（ｂ）に示すように、セグメントＳｅｇ２が設定される。すなわち、視差画像Ｉｐ６中のｙ座標は、補正基準路面ＣＳＲを用いることによって、ＶマップＶＭ６上のｄｐ座標に変換することができる。
【０１４９】
以上のように、固定点ＦＰを最上のｙ座標に設定すると、ＶマップＶＭ６上のセグメントＳｅｇ２の左端は視差値ｄｐ＝０に固定することができ、そこから補正基準路面ＣＳＲの傾きに合わせて、所定個数のセグメントを、幅を動的に変更させながら設定することができる。すなわち、セグメント数は固定し、セグメントの幅および位置を動的に変化させることができる。また、基準路面ＳＲ６を固定点ＦＰを通る補正基準路面ＣＳＲに補正して使用することによって、ＶマップＶＭ６上のセグメントを、視差値ｄｐ＜０の位置、すなわち、ＶマップＶＭ６の外部の位置に設定されてしまうことを抑制することができる。
【０１５０】
なお、路面推定部４００による路面推定処理は、図１８に示すフローのうちステップＳ１５およびＳ１６の動作が、上述の本実施形態に係るセグメント設定部４０３の動作に置換されるのみで、他のステップの動作は、第１の実施形態と同様である。
【０１５１】
また、上述の図２０で示した例では、固定点ＦＰを切片として有する補正基準路面ＣＳＲの例を示したが、固定点を通るように補正基準路面を設定するのであれば、任意の固定点を設定するものとしてもよい。例えば、上り坂に対応するために、セグメントの右端がＶマップの右端となるように固定点を設定してもよい。
【０１５２】
また、上述の図２０で示した例では、補正基準路面の傾きに関しても、基準路面の傾きをそのままに平行移動させる例を示しているが、任意の傾きに設定するものとしてもよい。すなわち、基準路面を、固定点を通り、所定の傾きを有する路面に補正して補正基準路面を得るものとしてもよい。
【０１５３】
［第３の実施形態］
第３の実施形態に係る物体認識装置について、第１の実施形態に係る物体認識装置１と相違する点を中心に説明する。第１の実施形態では、履歴路面またはデフォルト路面等を基準路面として用い、セグメントを設定する動作を説明した。本実施形態では、着目フレームに対応するＶマップで推定された路面を基準路面として用い、セグメントを設定する動作について説明する。
【０１５４】
なお、本実施形態に係る物体認識装置のハードウェア構成および機能ブロック構成は、第１の実施形態で説明した構成と同様である。また、本実施形態に係る視差値演算処理部３００および路面推定部４００の機能ブロック構成についても、第１の実施形態で説明した構成と同様である。また、本実施形態に係る視差値導出部３のブロックマッチング処理についても、第１の実施形態で説明した動作と同様である。
【０１５５】
（路面推定部の動作）
図２１は、第３の実施形態において、着目フレームで推定した路面を使用してセグメントを設定する動作を説明する図である。図２１を参照しながら、本実施形態に係る路面推定部４００の具体的な動作について説明する。なお、上述のように、本実施形態に係る路面推定部４００の機能ブロック構成は、第１の実施形態で説明した構成と同様である。
【０１５６】
本実施形態のセグメント設定部４０３は、Ｖマップ生成部４０２により生成された、着目フレームに対応するＶマップ上において推定された路面を基準路面として、路面に対応する視差点に合わせてセグメントを設定する機能部である。
【０１５７】
上述の第１の実施形態および第２の実施形態では、基準路面として履歴路面またはデフォルト路面等を使用している。しかし、厳密には履歴路面であっても着目フレームで推定すべき路面との差異が生じる場合がある。例えば、車両７０においてピッチングが生じる場合、フレーム間で推定路面が上下に大きく変動するので、履歴路面を使用したとしても、着目フレームに対応するＶマップにおいて、路面の視差点が分布する位置を正確に捉えることは困難である。
【０１５８】
そこで、本実施形態では、基準路面として着目フレームに対応するＶマップで推定された路面を用いる。すなわち、図２１（ｂ）に示すように、セグメント設定部４０３は、着目フレームに対応するＶマップＶＭ７において１つ前に路面推定が行われたセグメントの推定路面に基づく路面を基準路面として、セグメントを設定する。図２１（ａ）に示す視差画像Ｉｐ７は、途中で路面が見切れる下り坂に差し掛かる状況を示す画像であるものとする。なお、図２１（ｂ）に示すＶマップＶＭ７は、基準路面の説明を簡便にするために、視差点の図示を省略している。
【０１５９】
セグメント設定部４０３は、処理を下のセグメントから順に実行するものと仮定して、まず、視差画像Ｉｐ７上のセグメントＳｅｇ＿ｐ３ａを設定する。このとき、ＶマップＶＭ７において既に推定された路面は存在しないため、最初は、履歴路面またはデフォルト路面等を推定された路面とした推定路面ＥＲ７ａを基準路面として使用する。セグメント設定部４０３は、この推定路面ＥＲ７ａを基準路面として、視差画像Ｉｐ７上で設定したセグメントＳｅｇ＿ｐ３ａから、ＶマップＶＭ７上でセグメントＳｅｇ３ａを設定する。
【０１６０】
次に、セグメント設定部４０３は、視差画像Ｉｐ７上において、セグメントＳｅｇ＿ｐ３ａの上側にセグメントＳｅｇ＿ｐ３ｂを設定する。セグメント設定部４０３は、このセグメントＳｅｇ＿ｐ３ｂに対応するＶマップＶＭ７上のセグメントを設定するために、セグメントＳｅｇ３ａで推定された推定路面ＥＲ７ａを延長した延長路面ＥＸＲ７ａを基準路面として使用する。セグメント設定部４０３は、この延長路面ＥＸＲ７ａを基準路面として、視差画像Ｉｐ７上で設定したセグメントＳｅｇ＿ｐ３ｂから、ＶマップＶＭ７上でセグメントＳｅｇ３ｂを設定する。
【０１６１】
さらに、セグメント設定部４０３は、視差画像Ｉｐ７上において、セグメントＳｅｇ＿ｐ３ｂの上側にセグメントＳｅｇ＿ｐ３ｃを設定する。セグメント設定部４０３は、このセグメントＳｅｇ＿ｐ３ｃに対応するＶマップＶＭ７上のセグメントを設定するために、セグメントＳｅｇ３ｂで推定された推定路面ＥＲ７ｂを延長した延長路面ＥＸＲ７ｂを基準路面として使用する。セグメント設定部４０３は、この延長路面ＥＸＲ７ｂを基準路面として、視差画像Ｉｐ７上で設定したセグメントＳｅｇ＿ｐ３ｃから、ＶマップＶＭ７上でセグメントＳｅｇ３ｃを設定する。そして、推定部４０４は、設定されたセグメントＳｅｇ３ｃで推定路面ＥＲ７ｃを求める。すなわち、視差画像Ｉｐ７中のｙ座標は、１つ前に路面推定が行われたセグメントの推定路面の延長路面を基準路面として用いることによって、ＶマップＶＭ７上のｄｐ座標に変換することができる。
【０１６２】
ここで、ＶマップＶＭ７のセグメントＳｅｇ３ｂで推定された路面（推定路面ＥＲ７ｂ）は、他の推定路面よりも傾きが緩やかになっている。したがって、この推定路面ＥＲ７ｂを延長した延長路面ＥＸＲ７ｂを使用して設定されたセグメントＳｅｇ３ｃは幅が広いセグメントとなっている。このように、１つ前に路面推定が行われたセグメントの推定路面の延長路面を基準路面としてセグメントを設定することによって、より精度よく路面の勾配を捉えることができる。同様に、上り坂のシーンにおけるセグメントの設定処理を実行すると、今度は推定される路面の傾きが急になるため、急になった路面の視差点の位置に対応するセグメントの幅は狭くなる。
【０１６３】
なお、延長路面は、１つ前に路面推定が行われたセグメントの推定路面から延長されたものに限定されるものではなく、例えば、着目セグメントよりも以前に推定された路面のうち、任意の路面から延長された路面を用いてもよい。例えば、１つ前に路面推定が行われたセグメントの推定路面が成否判定で失敗となっている場合、その推定路面の傾きが不適切になっている可能性があるため、直近に成否判定が成功となった推定路面の延長路面を使用してもよい。また、着目セグメント以前の複数のセグメントで推定された路面を平均した路面などを使用してもよい。
【０１６４】
また、最初のセグメントについては、一つ前に路面推定が行われたセグメントの推定路面が得られないため、履歴路面またはデフォルト路面等を基準路面として用いるものとしていたが、これに限定されるものではなく、一フレーム前の同セグメントにおける推定路面を使用してもよい。
【０１６５】
（路面推定処理）
図２２は、第３の実施形態に係る路面推定部の路面推定処理の動作の一例を示すフローチャートである。図２２を参照しながら、本実施形態に係る認識処理部５の路面推定部４００の路面推定処理の動作の流れについて説明する。
【０１６６】
＜ステップＳ３１〜Ｓ３３＞
ステップＳ３１〜Ｓ３３の処理は、それぞれ第１の実施形態の図１８に示すステップＳ１１〜Ｓ１３の処理と同様である。そして、ステップＳ３４へ移行する。
【０１６７】
＜ステップＳ３４＞
推定部４０４は、後述するようにセグメント設定部４０３により設定される所定のセグメント数分だけ路面推定および成否判定等の処理（ステップＳ３７〜Ｓ４１）を繰り返す。そして、ステップＳ３５へ移行する。
【０１６８】
＜ステップＳ３５＞
セグメント設定部４０３は、Ｖマップ上のセグメントを、路面に対応する視差点に合わせて設定する場合、まず、視差画像の所定のｙ座標（第１座標）を２つ選択する。そして、ステップＳ３６へ移行する。
【０１６９】
＜ステップＳ３６＞
セグメント設定部４０３は、設定しようとするＶマップ上のセグメントでの路面推定に使用する基準路面として、１つ前に路面推定が行われたセグメントの推定路面の延長路面を設定する。なお、セグメント設定部４０３は、最初にＶマップ上でセグメントを設定しようとする場合、既に推定された路面は存在しないため、履歴路面またはデフォルト路面等を基準路面として設定する。そして、ステップＳ３７へ移行する。
【０１７０】
＜ステップＳ３７＞
セグメント設定部４０３は、ステップＳ３６で設定した基準路面において、選択した２つのｙ座標をそれぞれ有する２つのｄｐ座標（第２座標）を決定し、決定した２つのｄｐ座標で挟まれた部分領域をセグメントとして設定する。なお、設定されるセグメントの横幅（ｄｐ方向の幅）は、他のセグメントと同値とならなくてもよい。例えば、遠方の路面を細かく推定したい場合は、遠方になるにつれ（Ｖマップではｄｐ値が小さくなるにつれ）、セグメント幅が小さくなるように設定していけばよい。また、セグメントを細かく設定することで、より複雑な形状（例えば、平坦な路面から途中でアップダウンするような坂道の形状等)の路面を捉えることができる。そして、ステップＳ３８へ移行する。
【０１７１】
＜ステップＳ３８〜Ｓ４１＞
ステップＳ３８〜Ｓ４１の処理は、それぞれ第１の実施形態の図１８に示すステップＳ１７〜Ｓ２０の処理と同様である。そして、ステップＳ４２へ移行する。
【０１７２】
＜ステップＳ４２＞
路面推定部４００は、セグメント設定部４０３および推定部４０４によってステップＳ３５〜Ｓ４１の処理を所定のセグメント数分だけ行ったか否かを判定する。所定のセグメント数分だけ処理を行っていない場合、ステップＳ３５へ戻り、所定のセグメント数分だけ処理を行った場合、スムージング部４０５は、推定部４０４により推定された路面に対してスムージング処理を行う。そして、出力部４０６は、スムージング部４０５によりスムージング処理されたＶマップ上の推定路面の情報（路面情報）を、クラスタリング部４５０に出力して路面推定処理を終了する。なお、スムージング部４０５によるスムージング処理では、着目するセグメントの推定路面が求められた後、この推定路面と、着目するセグメントの１つ前のセグメントの推定路面とを逐次的にスムージングを行うものとしてもよい。
【０１７３】
以上のステップＳ３１〜Ｓ４２の処理により、本実施形態の路面推定部４００による路面推定処理が行われる。
【０１７４】
以上のように、１つ前に路面推定が行われたセグメントの推定路面の延長路面を基準路面としてセグメントを設定することによって、より精度よく路面の勾配を捉えることができる。
【０１７５】
また、上述の各実施形態では、コスト値Ｃは非類似度を表す評価値としているが、類似度を表す評価値であってもよい。この場合、類似度であるコスト値Ｃが最大（極値）となるシフト量ｄが視差値ｄｐとなる。
【０１７６】
また、上述の各実施形態では、車両７０としての自動車に搭載される物体認識装置について説明したが、これに限定されるものではない。例えば、他の車両の一例としてバイク、自転車、車椅子または農業用の耕運機等の車両に搭載されるものとしてもよい。また、移動体の一例としての車両だけでなく、ロボット等の移動体であってもよい。
【０１７７】
また、上述の各実施形態において、物体認識装置の視差値導出部３および認識処理部５の各機能部の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ＲＯＭ等に予め組み込まれて提供される。また、上述の各実施形態に係る物体認識装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ）、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述の各実施形態の物体認識装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の各実施形態の物体認識装置で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述の各実施形態の物体認識装置で実行されるプログラムは、上述した各機能部のうち少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ５２（ＣＰＵ３２）が上述のＲＯＭ５３（ＲＯＭ３３）からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置（ＲＡＭ５４（ＲＡＭ３４）等）上にロードされて生成されるようになっている。
【符号の説明】
【０１７８】
１  物体認識装置
２  本体部
３  視差値導出部
４  通信線
５  認識処理部
６  車両制御装置
７  ステアリングホイール
８  ブレーキペダル
１０ａ、１０ｂ  撮像部
１１ａ、１１ｂ  撮像レンズ
１２ａ、１２ｂ  絞り
１３ａ、１３ｂ  画像センサ
２０ａ、２０ｂ  信号変換部
２１ａ、２１ｂ  ＣＤＳ
２２ａ、２２ｂ  ＡＧＣ
２３ａ、２３ｂ  ＡＤＣ
２４ａ、２４ｂ  フレームメモリ
３０  画像処理部
３１  ＦＰＧＡ
３２  ＣＰＵ
３３  ＲＯＭ
３４  ＲＡＭ
３５  Ｉ／Ｆ
３９  バスライン
５１  ＦＰＧＡ
５２  ＣＰＵ
５３  ＲＯＭ
５４  ＲＡＭ
５５  Ｉ／Ｆ
５８  ＣＡＮＩ／Ｆ
５９  バスライン
６０  機器制御システム
７０  車両
１００ａ、１００ｂ  画像取得部
２００ａ、２００ｂ  変換部
３００  視差値演算処理部
３０１  コスト算出部
３０２  決定部
３０３  生成部
４００  路面推定部
４０１  入力部
４０２  Ｖマップ生成部
４０３  セグメント設定部
４０４  推定部
４０５  スムージング部
４０６  出力部
４１１  標本点選択部
４１２  形状推定部
４１３  判定部
４１４  設定部
４５０  クラスタリング部
５００  棄却部
５５０  トラッキング判定部
６００  路面
６００ａ  推定路面
６０１  車
６０１ａ  車部
６１１  左ガードレール
６１１ａ  左ガードレール部
６１２  右ガードレール
６１２ａ  右ガードレール部
６１３  車
６１３ａ  車部
６１４  車
６１４ａ  車部
７０１〜７０３  投票領域
Ｂ  基線長
Ｃ  コスト値
ＣＳＲ  補正基準路面
ｄ  シフト量
ｄｐ  視差値
ＤＲ  デフォルト路面
Ｅ  物体
ＥＬ  エピポーラ線
ＥＲ１〜ＥＲ３、ＥＲ７ａ〜ＥＲ７ｃ  推定路面
ＥＸＲ７ａ、ＥＸＲ７ｂ  延長路面
ｆ  焦点距離
ＦＰ  固定点
Ｉａ  基準画像
Ｉｂ  比較画像
Ｉｐ、Ｉｐ１〜Ｉｐ７  視差画像
ｐ  基準画素
ｐｂ  基準領域
ｑ  候補画素
ｑｂ  候補領域
Ｓ、Ｓａ、Ｓｂ  点
Ｓｅｇ、Ｓｅｇ１、Ｓｅｇ２  セグメント
Ｓｅｇ３ａ〜Ｓｅｇ３ｃ  セグメント
Ｓｅｇ＿ｐ、Ｓｅｇ＿ｐ１、Ｓｅｇ＿ｐ２  セグメント
Ｓｅｇ＿ｐ３ａ〜Ｓｅｇ＿ｐ３ｃ  セグメント
ＳＲ、ＳＲ６  基準路面
ＵＭ  Ｕマップ
ＶＭ、ＶＭ１〜ＶＭ３、ＶＭ６、ＶＭ７  Ｖマップ
Ｚ  距離
【先行技術文献】
【特許文献】
【０１７９】
【特許文献１】特開２０１１−１２８８４４号公報
【図１】
2018045328.tif 000004
【図２】
2018045328.tif 000005
【図３】
2018045328.tif 000006
【図４】
2018045328.tif 000007
【図５】
2018045328.tif 000008
【図６】
2018045328.tif 000009
【図７】
2018045328.tif 000010
【図８】
2018045328.tif 000011
【図９】
2018045328.tif 000012
【図１０】
2018045328.tif 000013
【図１１】
2018045328.tif 000014
【図１２】
2018045328.tif 000015
【図１３】
2018045328.tif 000016
【図１４】
2018045328.tif 000017
【図１５】
2018045328.tif 000018
【図１６】
2018045328.tif 000019
【図１７】
2018045328.tif 000020
【図１８】
2018045328.tif 000021
【図１９】
2018045328.tif 000022
【図２０】
2018045328.tif 000023
【図２１】
2018045328.tif 000024
【図２２】
2018045328.tif 000025