(57)【要約】【課題】物体を認識する性能を向上させることができる技術を提供する。【解決手段】物体の縦方向位置と横方向位置と奥行方向位置とが対応づけられた情報から、物体の横方向位置と奥行方向位置とを対応づけた第１の情報を生成する第１の生成部と、第１の情報に基づいて物体を示す一の領域を検出する第１の検出部と、物体の縦方向位置と横方向位置と奥行方向位置とが対応づけられた情報から、物体の横方向位置と奥行方向位置とを対応づけた第１の情報より分離性能の高い第２の情報を生成する第２の生成部と、第２の情報に基づいて物体を示す複数の領域を検出する第２の検出部と、第１の情報に基づいて検出された一の領域と、第２の情報に基づいて検出された複数の領域とを互いに関連づけて出力する出力部と、を有する。【選択図】図９
2018092604.tif 000002
【特許請求の範囲】
【請求項１】
物体の縦方向位置と横方向位置と奥行方向位置とが対応づけられた情報から、物体の横方向位置と奥行方向位置とを対応づけた第１の情報を生成する第１の生成部と、
前記第１の情報に基づいて物体を示す一の領域を検出する第１の検出部と、
物体の縦方向位置と横方向位置と奥行方向位置とが対応づけられた情報から、物体の横方向位置と奥行方向位置とを対応づけた前記第１の情報より分離性能の高い第２の情報を生成する第２の生成部と、
前記第２の情報に基づいて物体を示す複数の領域を検出する第２の検出部と、
前記第１の情報に基づいて検出された一の領域と、前記第２の情報に基づいて検出された複数の領域とを互いに関連づけて出力する出力部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記第２の生成部は、前記第１の情報より分解能の高い第２の情報を生成する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記出力部により互いに関連づけて出力された前記一の領域と前記複数の領域のうち、一方を棄却する棄却部を有することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記棄却部は、前記一の領域内に、当該領域に存在すると推定される物体よりも遠方の物体が検出された場合に、前記一の領域を棄却することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記棄却部は、前記一の領域と前記複数の領域について、各領域のなかで予め想定された領域のサイズに該当しない非該当領域が存在した場合は、当該非該当領域を棄却することを特徴とする請求項３または４に記載の情報処理装置。
【請求項６】
前記棄却部は、前記複数の領域が前記一の領域の所定の割合以上を占める場合には、前記複数の領域を棄却する
ことを特徴とする請求項３乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記複数の領域について、当該複数の領域の各々同士の奥行方向の距離と横方向の距離の少なくともいずれか一方が所定の閾値以下である場合、当該領域同士を結合する補正部を有することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１の生成部は、所定の基準オブジェクトより縦方向位置の大きい情報を用いて前記第１の情報を生成し、
前記第２の生成部は、前記所定の基準オブジェクトより所定値以上縦方向位置の大きい情報を用いて前記第２の情報を生成する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項９】
互いに関連づけられた前記一の領域と前記複数の領域が所定の奥行方向位置より近い場合は第１の補正処理を行い、互いに関連づけられた前記一の領域と前記複数の領域が所定の奥行方向位置以上の場合は前記第１の補正処理と異なる第２の補正処理を行う補正部を有することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記補正部は、互いに関連づけられた前記一の領域と前記複数の領域が所定の奥行方向位置より近い場合は、前記複数の領域の各々の縦方向位置に基づいて前記複数の領域を拡張する補正処理を行うことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記補正部は、互いに関連づけられた前記一の領域と前記複数の領域が所定の奥行方向位置以上の場合は、当該複数の領域の各々同士の奥行方向の距離と横方向の距離の少なくともいずれか一方が所定の閾値以下である場合に当該領域同士を結合する補正処理を行うことを特徴とする請求項９または１０に記載の情報処理装置。
【請求項１２】
請求項１乃至１１のいずれか１項に記載の情報処理装置を備えることを特徴とする撮像装置。
【請求項１３】
請求項１２に記載の撮像装置を備えることを特徴とする機器制御システム。
【請求項１４】
請求項１３に記載の機器制御システムを備えることを特徴とする移動体。
【請求項１５】
物体の縦方向位置と横方向位置と奥行方向位置とが対応づけられた情報から、物体の横方向位置と奥行方向位置とを対応づけた第１の情報を生成する第１の生成工程と、
前記第１の情報に基づいて物体を示す一の領域を検出する第１の検出工程と、
物体の縦方向位置と横方向位置と奥行方向位置とが対応づけられた情報から、物体の横方向位置と奥行方向位置とを対応づけた前記第１の情報より分離性能の高い第２の情報を生成する第２の生成工程と、
前記第２の情報に基づいて物体を示す複数の領域を検出する第２の検出工程と、
前記第１の情報に基づいて検出された一の領域と、前記第２の情報に基づいて検出された複数の領域とを互いに関連づけて出力する出力工程と、
を含むことを特徴とする情報処理方法。
【請求項１６】
コンピュータに、
物体の縦方向位置と横方向位置と奥行方向位置とが対応づけられた情報から、物体の横方向位置と奥行方向位置とを対応づけた第１の情報を生成する第１の生成ステップと、
前記第１の情報に基づいて物体を示す一の領域を検出する第１の検出ステップと、
物体の縦方向位置と横方向位置と奥行方向位置とが対応づけられた情報から、物体の横方向位置と奥行方向位置とを対応づけた前記第１の情報より分離性能の高い第２の情報を生成する第２の生成ステップと、
前記第２の情報に基づいて物体を示す複数の領域を検出する第２の検出ステップと、
前記第１の情報に基づいて検出された一の領域と、前記第２の情報に基づいて検出された複数の領域とを互いに関連づけて出力する出力ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、撮像装置、機器制御システム、移動体、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、自動車の安全性において、歩行者と自動車とが衝突したときに、いかに歩行者を守れるか、および、乗員を保護できるかの観点から、自動車のボディー構造等の開発が行われてきた。しかしながら、近年、情報処理技術および画像処理技術の発達により、高速に人および自動車を検出する技術が開発されてきている。これらの技術を応用して、自動車が物体に衝突する前に自動的にブレーキをかけ、衝突を未然に防ぐという自動車もすでに開発されている。自動車の自動制御には、人または他車等の物体までの距離を正確に測定する必要があり、そのためには、ミリ波レーダおよびレーザレーダによる測距、ならびに、ステレオカメラによる測距等が実用化されている。
【０００３】
物体を認識する技術としてステレオカメラを使う場合、撮像した輝度画像に写り込んでいる各物体の視差に基づいて視差画像を生成し、同程度の視差値をもった画素群を一つにまとめることで物体を認識する。
【０００４】
特許文献１には、ステレオ画像処理によって生成された距離画像を用いて、物体を検出する技術において、検出された複数の物体の間に、同一物体グループが介在する場合、これらの物体を１つの物体とみなすことにより、単一の物体（例えば１台の先行車）として検出すべき状況を、分裂した複数の小物体（例えば２人の歩行者）とみなしてしまうといった誤検出を抑制する技術が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ステレオカメラによる視差画像から車両や歩行者等の物体を検出する従来技術では、例えば車両等の物体と、当該物体に隣接する他の物体が、同一の物体として検出される場合がある等の問題がある。
【０００６】
そこで、物体を認識する性能を向上させることができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、物体の縦方向位置と横方向位置と奥行方向位置とが対応づけられた情報から、物体の横方向位置と奥行方向位置とを対応づけた第１の情報を生成する第１の生成部と、前記第１の情報に基づいて物体を示す一の領域を検出する第１の検出部と、物体の縦方向位置と横方向位置と奥行方向位置とが対応づけられた情報から、物体の横方向位置と奥行方向位置とを対応づけた前記第１の情報より分離性能の高い第２の情報を生成する第２の生成部と、前記第２の情報に基づいて物体を示す複数の領域を検出する第２の検出部と、前記第１の情報に基づいて検出された一の領域と、前記第２の情報に基づいて検出された複数の領域とを互いに関連づけて出力する出力部と、を有することを特徴とする。
【発明の効果】
【０００８】
開示の技術によれば、物体を認識する性能を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施の形態に係る機器制御システムを車両に搭載した例を示す図である。
【図２】図２は、第１の実施の形態に係る物体認識装置のハードウェア構成の一例を示す図である。
【図３】図３は、第１の実施の形態に係る物体認識装置の機能ブロック構成の一例を示す図である。
【図４】図４は、第１の実施の形態に係る物体認識装置の認識処理部の機能ブロック構成の一例を示す図である。
【図５】図５は、視差画像から生成されるＶマップの例を示す図である。
【図６】図６は、視差画像から生成されるＵマップの例を示す図である。
【図７】図７は、Ｕマップから生成されるリアルＵマップの例を示す図である。
【図８】図８は、物体の種別の分類方法について説明する図表である。
【図９】図９は、クラスタリング処理部の処理の一例を示すフローチャートである。
【図１０】図１０は、検出枠を作成する処理を説明する図である。
【図１１】図１１は、基本検出処理の一例を示すフローチャートである。
【図１２】図１２は、統合検出処理の一例を示すフローチャートである。
【図１３】図１３は、出力する物体領域を選択する処理の一例を示すフローチャートである。
【図１４】図１４は、出力する物体領域を選択する処理の一例を示すフローチャートである。
【図１５】図１５は、車両等の物体領域に対する検出枠の場合の、背景検出処理について説明する図である。
【図１６】図１６は、歩行者等の二つのグループが結合されている物体領域に対する検出枠の場合の、背景検出処理について説明する図である。
【図１７】図１７は、棄却処理の一例を示すフローチャートである。
【図１８】図１８は、背景情報に基づく棄却処理について説明する図である。
【図１９】図１９は、第２の実施の形態の機器制御システムの概略構成を示す模式図である。
【図２０】図２０は、撮像ユニットおよび解析ユニットの概略的なブロック図である。
【図２１】図２１は、被写体と各カメラ部の撮像レンズとの位置関係を示す図である。
【図２２】図２２は、解析ユニットが有する機能を概略的に説明するための図である。
【図２３】図２３は、物体検出処理部が有する機能の一例を示す図である。
【図２４】図２４は、路面検出処理部が有する機能の一例を示す図である。
【図２５】図２５は、撮像画像の一例を示す図である。
【図２６】図２６は、Ｈｉｇｈ  Ｕｍａｐの一例を示す図である。
【図２７】図２７は、Ｓｔａｎｄａｒｄ  Ｕｍａｐの一例を示す図である。
【図２８】図２８は、クラスタリング処理部の詳細な機能の一例を示す図である。
【図２９】図２９は、撮像画像の一例を示す図である。
【図３０】図３０は、孤立領域の一例を示す図である。
【図３１】図３１は、図３０に示す孤立領域に対応する視差画像上の領域を示す図である。
【図３２】図３２は、棄却処理を説明するための図である。
【図３３】図３３は、クラスタリング処理部による処理の一例を示すフローチャートである。
【図３４】図３４は、孤立領域検出処理の一例を示すフローチャートである。
【図３５】図３５は、基本検出処理の一例を示すフローチャートである。
【図３６】図３６は、２値化処理後の一例を示す図である。
【図３７】図３７は、分離検出処理の一例を示すフローチャートである。
【図３８】図３８は、統合用検出処理の一例を示すフローチャートである。
【図３９】図３９は、検出結果を選別するための条件の一例を示す図表である。
【図４０】図４０は、最終判断処理の一例を示すフローチャートである。
【図４１】図４１は、棄却の条件の一例を示す図である。
【図４２】図４２は、マージ処理の条件の一例を示す図表である。
【図４３】図４３は、補正処理の一例を示す図である。
【図４４】図４４は、統合補正処理の一例を示すフローチャートである。
【図４５】図４５は、包括枠内の視差を持つ画素の外接矩形を示す図である。
【図４６】図４６は、部分枠の補正処理の流れを示すフローチャートである。
【図４７】図４７は、結合処理の対象とするか否かの条件の一例を示す図表である。
【図４８】図４８は、近距離用補正処理の流れを示すフローチャートである。
【図４９】図４９は、遠距離用補正処理の流れを示すフローチャートである。
【図５０】図５０は、高さマップの一例を示す図である。
【図５１】図５１は、関心領域の一例を示す図である。
【図５２】図５２は、高さプロファイルの一例を示す図である。
【図５３】図５３は、高さプロファイルの一例を示す図である。
【図５４】図５４は、結合判定処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
［第１の実施の形態］
以下、図を用いて、本実施の形態の具体的な説明をする。ここでは、物体認識装置１が自動車に搭載される場合を例に説明する。
【００１１】
（物体認識装置を備えた車両の概略構成）
図１は、実施の形態に係る機器制御システムを車両に搭載した例を示す図である。図１を参照しながら、本実施の形態の機器制御システム６０を搭載した車両７０について説明する。図１のうち、図１（ａ）は、機器制御システム６０を搭載した車両７０の側面図であり、図１（ｂ）は、車両７０の正面図である。
【００１２】
図１に示すように、自動車である車両７０は、機器制御システム６０を搭載している。機器制御システム６０は、車両７０の居室空間である車室に設置された物体認識装置１と、車両制御装置６（制御装置）と、ステアリングホイール７と、ブレーキペダル８と、を備えている。
【００１３】
物体認識装置１は、車両７０の進行方向を撮像する撮像機能を有し、例えば、車両７０のフロントウィンドウ内側のバックミラー近傍に設置される。物体認識装置１は、構成および動作の詳細は後述するが、本体部２と、本体部２に固定された撮像部１０ａと、撮像部１０ｂとを備えている。撮像部１０ａ、１０ｂは、車両７０の進行方向の被写体を撮像できるように本体部２に固定されている。
【００１４】
車両制御装置６は、物体認識装置１から受信した認識情報に基づいて、各種車両制御を実行するＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）である。車両制御装置６は、車両制御の例として、物体認識装置１から受信した認識情報に基づいて、ステアリングホイール７を含むステアリング系統（制御対象）を制御して障害物を回避するステアリング制御、または、ブレーキペダル８（制御対象）を制御して車両７０を減速および停止させるブレーキ制御等を実行する。
【００１５】
このような物体認識装置１および車両制御装置６を含む機器制御システム６０のように、ステアリング制御またはブレーキ制御等の車両制御が実行されることによって、車両７０の運転の安全性を向上することができる。
【００１６】
なお、上述のように、物体認識装置１は、車両７０の前方を撮像するものとしたが、これに限定されるものではない。すなわち、物体認識装置１は、車両７０の後方または側方を撮像するように設置されるものとしてもよい。この場合、物体認識装置１は、車両７０の後方の後続車および人、または側方の他の車両および人等の位置を検出することができる。そして、車両制御装置６は、車両７０の車線変更時または車線合流時等における危険を検知して、上述の車両制御を実行することができる。また、車両制御装置６は、車両７０の駐車時等におけるバック動作において、物体認識装置１によって出力された車両７０の後方の障害物についての認識情報に基づいて、衝突の危険があると判断した場合に、上述の車両制御を実行することができる。
【００１７】
＜物体認識装置のハードウェア構成＞
図２は、実施の形態に係る物体認識装置のハードウェア構成の一例を示す図である。図２を参照しながら、物体認識装置１のハードウェア構成について説明する。
【００１８】
図２に示すように、物体認識装置１は、本体部２内に視差値導出部３および認識処理部５を備えている。
【００１９】
視差値導出部３は、物体Ｅを撮像して得られた複数の画像から、物体Ｅに対する視差を示す視差値ｄｐを導出し、各画素における視差値ｄｐを示す視差画像（「検出対象物の縦方向の位置と、横方向の位置と、奥行方向の位置とが対応づけられた測定情報」の一例）を出力する。認識処理部５は、視差値導出部３から出力された視差画像に基づいて、撮像画像に写り込んでいる人および車等の物体に対する物体認識処理等を行い、物体認識処理の結果を示す情報である認識情報を、車両制御装置６に出力する。
【００２０】
図２に示すように、視差値導出部３は、撮像部１０ａと、撮像部１０ｂと、信号変換部２０ａと、信号変換部２０ｂと、画像処理部３０と、を備えている。
【００２１】
撮像部１０ａは、前方の被写体を撮像してアナログの画像信号を生成する処理部である。撮像部１０ａは、撮像レンズ１１ａと、絞り１２ａと、画像センサ１３ａと、を備えている。
【００２２】
撮像レンズ１１ａは、入射する光を屈折させて物体の像を画像センサ１３ａに結像させるための光学素子である。絞り１２ａは、撮像レンズ１１ａを通過した光の一部を遮ることによって、画像センサ１３ａに入力する光の量を調整する部材である。画像センサ１３ａは、撮像レンズ１１ａに入射し、絞り１２ａを通過した光を電気的なアナログの画像信号に変換する半導体素子である。画像センサ１３ａは、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅｓ）またはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）等の固体撮像素子によって実現される。
【００２３】
撮像部１０ｂは、前方の被写体を撮像してアナログの画像信号を生成する処理部である。撮像部１０ｂは、撮像レンズ１１ｂと、絞り１２ｂと、画像センサ１３ｂと、を備えている。なお、撮像レンズ１１ｂ、絞り１２ｂおよび画像センサ１３ｂの機能は、それぞれ上述した撮像レンズ１１ａ、絞り１２ａおよび画像センサ１３ａの機能と同様である。また、撮像レンズ１１ａおよび撮像レンズ１１ｂは、左右のカメラが同一の条件で撮像されるように、それぞれのレンズ面が互いに同一平面上にあるように設置されている。
【００２４】
信号変換部２０ａは、撮像部１０ａにより生成されたアナログの画像信号を、デジタル形式の画像データに変換する処理部である。信号変換部２０ａは、ＣＤＳ（Ｃｏｒｒｅｌａｔｅｄ  Ｄｏｕｂｌｅ  Ｓａｍｐｌｉｎｇ）２１ａと、ＡＧＣ（Ａｕｔｏ  Ｇａｉｎ  Ｃｏｎｔｒｏｌ）２２ａと、ＡＤＣ（Ａｎａｌｏｇ  Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）２３ａと、フレームメモリ２４ａと、を備えている。
【００２５】
ＣＤＳ２１ａは、画像センサ１３ａにより生成されたアナログの画像信号に対して、相関二重サンプリング、横方向の微分フィルタ、または縦方向の平滑フィルタ等によりノイズを除去する。ＡＧＣ２２ａは、ＣＤＳ２１ａによってノイズが除去されたアナログの画像信号の強度を制御する利得制御を行う。ＡＤＣ２３ａは、ＡＧＣ２２ａによって利得制御されたアナログの画像信号をデジタル形式の画像データに変換する。フレームメモリ２４ａは、ＡＤＣ２３ａによって変換された画像データを記憶する。
【００２６】
信号変換部２０ｂは、撮像部１０ｂにより生成されたアナログの画像信号を、デジタル形式の画像データに変換する処理部である。信号変換部２０ｂは、ＣＤＳ２１ｂと、ＡＧＣ２２ｂと、ＡＤＣ２３ｂと、フレームメモリ２４ｂと、を備えている。なお、ＣＤＳ２１ｂ、ＡＧＣ２２ｂ、ＡＤＣ２３ｂおよびフレームメモリ２４ｂの機能は、それぞれ上述したＣＤＳ２１ａ、ＡＧＣ２２ａ、ＡＤＣ２３ａおよびフレームメモリ２４ａの機能と同様である。
【００２７】
画像処理部３０は、信号変換部２０ａおよび信号変換部２０ｂによって変換された画像データに対して画像処理をする装置である。画像処理部３０は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）３１と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３３と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３４と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３５と、バスライン３９と、を備えている。
【００２８】
ＦＰＧＡ３１は、集積回路であり、ここでは、画像データに基づく画像における視差値ｄｐを導出する処理を行う。ＣＰＵ３２は、視差値導出部３の各機能を制御する。ＲＯＭ３３は、ＣＰＵ３２が視差値導出部３の各機能を制御するために実行する画像処理用プログラムを記憶している。ＲＡＭ３４は、ＣＰＵ３２のワークエリアとして使用される。Ｉ／Ｆ３５は、認識処理部５におけるＩ／Ｆ５５と、通信線４とを介して通信するためのインターフェースである。バスライン３９は、図２に示すように、ＦＰＧＡ３１、ＣＰＵ３２、ＲＯＭ３３、ＲＡＭ３４およびＩ／Ｆ３５が互いに通信可能となるように接続するアドレスバスおよびデータバス等である。
【００２９】
なお、画像処理部３０は、視差値ｄｐを導出する集積回路としてＦＰＧＡ３１を備えるものとしているが、これに限定されるものではなく、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等の集積回路であってもよい。
【００３０】
図２に示すように、認識処理部５は、ＦＰＧＡ５１と、ＣＰＵ５２と、ＲＯＭ５３と、ＲＡＭ５４と、Ｉ／Ｆ５５と、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）Ｉ／Ｆ５８と、バスライン５９と、を備えている。
【００３１】
ＦＰＧＡ５１は、集積回路であり、ここでは、画像処理部３０から受信した視差画像に基づいて、物体に対する物体認識処理を行う。ＣＰＵ５２は、認識処理部５の各機能を制御する。ＲＯＭ５３は、ＣＰＵ５２が認識処理部５の物体認識処理を実行する物体認識処理用プログラムを記憶している。ＲＡＭ５４は、ＣＰＵ５２のワークエリアとして使用される。Ｉ／Ｆ５５は、画像処理部３０のＩ／Ｆ３５と、通信線４とを介してデータ通信するためのインターフェースである。ＣＡＮＩ／Ｆ５８は、外部コントローラ（例えば、図２に示す車両制御装置６）と通信するためのインターフェースであり、例えば、自動車のＣＡＮ等に接続されるバスライン５９は、図２に示すように、ＦＰＧＡ５１、ＣＰＵ５２、ＲＯＭ５３、ＲＡＭ５４、Ｉ／Ｆ５５およびＣＡＮＩ／Ｆ５８が互いに通信可能となるように接続するアドレスバスおよびデータバス等である。
【００３２】
このような構成により、画像処理部３０のＩ／Ｆ３５から通信線４を介して認識処理部５に視差画像が送信されると、認識処理部５におけるＣＰＵ５２の命令によって、ＦＰＧＡ５１が、視差画像に基づいて、撮像画像に写り込んでいる人および車等の物体の物体認識処理等を実行する。
【００３３】
なお、上述の各プログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録媒体に記録して流通させてもよい。この記録媒体は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード等である。
【００３４】
＜物体認識装置の機能ブロックの構成および動作＞
図３は、実施の形態に係る物体認識装置の機能ブロック構成の一例を示す図である。まず、図３を参照しながら、物体認識装置１の機能ブロックの構成および動作について説明する。
【００３５】
図２でも上述したが、図３に示すように、物体認識装置１は、視差値導出部３と、認識処理部５と、を備えている。このうち、視差値導出部３は、画像取得部１００ａ（第１撮像手段）と、画像取得部１００ｂ（第２撮像手段）と、変換部２００ａ、２００ｂと、視差値演算処理部（生成部）３００と、を有する。
【００３６】
物体認識装置１の各機能部の少なくとも一部は、ＦＰＧＡ３１やＦＰＧＡ５１により実現されてもよいし、プログラムがＣＰＵ３２やＣＰＵ５２によって実行されることによって実現されてもよい。
【００３７】
画像取得部１００ａおよび画像取得部１００ｂは、それぞれ、右のカメラ（撮像部１０ａ）および左のカメラ（撮像部１０ｂ）により撮像された画像から、輝度画像を得る機能部である。
【００３８】
変換部２００ａは、画像取得部１００ａにより得られた輝度画像の画像データに対して、ノイズを除去し、デジタル形式の画像データに変換して出力する機能部である。変換部２００ａは、図２に示す信号変換部２０ａによって実現されてもよい。
【００３９】
変換部２００ｂは、画像取得部１００ｂにより得られた輝度画像の画像データに対して、ノイズを除去し、デジタル形式の画像データに変換して出力する機能部である。変換部２００ｂは、図２に示す信号変換部２０ｂによって実現されてもよい。
【００４０】
ここで、変換部２００ａ、２００ｂが出力する２つの輝度画像の画像データ（以下、単に、輝度画像と称する）のうち、右のカメラ（撮像部１０ａ）である画像取得部１００ａにより撮像された輝度画像を基準画像Ｉａの画像データ（以下、単に、基準画像Ｉａと称する）とし、左のカメラ（撮像部１０ｂ）である画像取得部１００ｂにより撮像された輝度画像を比較画像Ｉｂの画像データ（以下、単に、比較画像Ｉｂと称する）とする。すなわち、変換部２００ａ、２００ｂは、画像取得部１００ａ、１００ｂそれぞれから出力された２つの輝度画像に基づいて、それぞれ基準画像Ｉａおよび比較画像Ｉｂを出力する。
【００４１】
視差値演算処理部３００は、変換部２００ａ、２００ｂそれぞれから受信した基準画像Ｉａおよび比較画像Ｉｂに基づいて、基準画像Ｉａの各画素についての視差値を導出し、基準画像Ｉａの各画素に視差値を対応させた視差画像を生成する。
【００４２】
図４は、実施の形態に係る物体認識装置の認識処理部の機能ブロック構成の一例を示す図である。図４を参照しながら、認識処理部５の機能ブロックの構成および動作について説明する。
【００４３】
図４に示すように、認識処理部５は、第２生成部５００と、クラスタリング処理部５１０と、トラッキング部５３０と、を有する。
【００４４】
≪第２生成部５００≫
第２生成部５００は、視差値演算処理部３００から視差画像を入力し、視差値導出部３から基準画像Ｉａを入力し、Ｖ−Ｄｉｓｐａｒｉｔｙマップ、Ｕ−Ｄｉｓｐａｒｉｔｙマップ、およびＲｅａｌ  Ｕ−Ｄｉｓｐａｒｉｔｙマップ等を生成する機能部である。なお、Ｖ−Ｄｉｓｐａｒｉｔｙマップは、「縦方向の位置と、奥行方向の位置とが対応づけられた情報」の一例である。Ｕ−Ｄｉｓｐａｒｉｔｙマップ、およびＲｅａｌ  Ｕ−Ｄｉｓｐａｒｉｔｙマップは、「横方向の位置と、奥行方向の位置とが対応づけられた情報」の一例である。
【００４５】
図４に示すように、第２生成部５００は、第３生成部（移動面推定部）５０１と、第４生成部５０２と、第５生成部５０３と、を有する。図４〜７を参照しながら、認識処理部５の第２生成部５００の構成および動作について説明する。
【００４６】
図５は、視差画像から生成されるＶマップの例を示す図である。図６は、視差画像から生成されるＵマップの例を示す図である。図７は、Ｕマップから生成されるリアルＵマップの例を示す図である。
【００４７】
第３生成部５０１は、視差値演算処理部３００から入力した視差画像から路面（移動面）を検出するために、図５（ｂ）に示すＶ−ＤｉｓｐａｒｉｔｙマップであるＶマップＶＭを生成する機能部である。ここで、Ｖ−Ｄｉｓｐａｒｉｔｙマップとは、縦軸を基準画像Ｉａのｙ軸（縦方向）とし、横軸を視差画像の視差値ｄｐまたは奥行方向の距離とした、視差値ｄｐの頻度分布を示す二次元ヒストグラムである。図５（ａ）に示す基準画像Ｉａには、例えば、路面６００と、電柱６０１と、車６０２とが写り込んでいる。この基準画像Ｉａの路面６００は、ＶマップＶＭにおいては路面部６００ａに対応し、電柱６０１は、電柱部６０１ａに対応し、車６０２は、車部６０２ａに対応する。
【００４８】
第３生成部５０１は、生成したＶマップＶＭから、路面と推定される位置を直線近似する。路面が平坦な場合は、１本の直線で近似可能であるが、勾配が変わる路面の場合は、ＶマップＶＭの区間を分割して精度よく直線近似する必要がある。直線近似としては、公知技術であるハフ変換または最小二乗法等が利用できる。ＶマップＶＭにおいて、検出された路面部６００ａより上方に位置する塊である電柱部６０１ａおよび車部６０２ａは、それぞれ路面６００上の物体である電柱６０１および車６０２に相当する。後述する第４生成部５０２によりＵ−Ｄｉｓｐａｒｉｔｙマップが生成される際に、ノイズ除去のため路面より上方の情報のみが用いられる。なお、路面が推定できると路面の高さがわかるため、物体の高さがわかる。これは、公知の方法により行われる。例えば、路面を表す直線式が得られているため、視差値ｄｐ＝０のときの対応するｙ座標ｙ０が決まり、この座標ｙ０が路面の高さとなる。例えば視差値がｄｐでｙ座標がｙ’である場合、ｙ’−ｙ０が視差値ｄのときの路面からの高さを示す。上述の座標（ｄｐ，ｙ’）の路面からの高さＨは、Ｈ＝（ｚ×（ｙ’−ｙ０））／ｆという演算式で求めることができる。なお、この演算式における「ｚ」は、視差値ｄｐから計算される距離（ｚ＝ＢＦ／（ｄ−ｏｆｆｓｅｔ））、「ｆ」は撮像部１０ａ、１０ｂの焦点距離を（ｙ’−ｙ０）の単位と同じ単位に変換した値である。ここで、ＢＦは、撮像部１０ａ、１０ｂの基線長Ｂと焦点距離ｆを乗じた値、ｏｆｆｓｅｔは無限遠のオブジェクトを撮影したときの視差である。
【００４９】
第４生成部５０２は、ＶマップＶＭで検出された路面より上方（「第１の高さ以上」の一例）に位置する情報のみを利用、すなわち、図６（ａ）に示す基準画像Ｉａでは左ガードレール６１１、右ガードレール６１２、車６１３および車６１４に対応する視差画像上の情報を利用して、物体を認識するために、図６（ｂ）に示すＵ−ＤｉｓｐａｒｉｔｙマップであるＵマップＵＭ（第２頻度画像）を生成する機能部である。ここで、ＵマップＵＭは、横軸を基準画像Ｉａのｘ軸（横方向）とし、縦軸を視差画像の視差値ｄｐまたは奥行方向の距離とした、視差値ｄｐの頻度分布を示す二次元ヒストグラムである。図６（ａ）に示す基準画像Ｉａの左ガードレール６１１は、ＵマップＵＭにおいては左ガードレール部６１１ａに対応し、右ガードレール６１２は、右ガードレール部６１２ａに対応し、車６１３は、車部６１３ａに対応し、車６１４は、車部６１４ａに対応する。
【００５０】
また、第４生成部５０２は、ＶマップＶＭで検出された路面より上方に位置する情報のみを利用、すなわち、図６（ａ）に示す基準画像Ｉａでは左ガードレール６１１、右ガードレール６１２、車６１３および車６１４に対応する視差画像上の情報を利用して、図６（ｃ）に示すＵ−Ｄｉｓｐａｒｉｔｙマップの一例である高さＵマップＵＭ＿Ｈを生成する。ここで、Ｕ−Ｄｉｓｐａｒｉｔｙマップの一例である高さＵマップＵＭ＿Ｈは、横軸を基準画像Ｉａのｘ軸とし、縦軸を視差画像の視差値ｄｐとし、画素値を物体の高さとした画像である。なお、このときの物体の高さの値は、路面からの高さが最も高い値である。図６（ａ）に示す基準画像Ｉａの左ガードレール６１１は、高さＵマップＵＭ＿Ｈにおいては左ガードレール部６１１ｂに対応し、右ガードレール６１２は、右ガードレール部６１２ｂに対応し、車６１３は、車部６１３ｂに対応し、車６１４は、車部６１４ｂに対応する。
【００５１】
第５生成部５０３は、第４生成部５０２により生成された高さＵマップＵＭ＿Ｈから、横軸を実際の距離に変換した図７（Ａ）に示すＲｅａｌ  Ｕ−Ｄｉｓｐａｒｉｔｙマップの一例であるリアル高さＵマップＲＭ＿Ｈを生成する。
【００５２】
また、第５生成部５０３は、上記の処理と同様の処理によって、第４生成部５０２により生成されたＵマップＵＭから、横軸を実際の距離に変換した図７（Ｂ）に示すＲｅａｌ  Ｕ−Ｄｉｓｐａｒｉｔｙマップの一例であるリアルＵマップＲＭを生成する。
【００５３】
ここで、リアル高さＵマップＲＭ＿Ｈ、およびリアルＵマップＲＭは、横軸を、撮像部１０ｂ（左のカメラ）から撮像部１０ａ（右のカメラ）へ向かう方向（水平方向）の実距離とし、縦軸を、視差画像の視差値ｄｐ（またはその視差値ｄｐから変換した奥行き方向の距離）とした二次元ヒストグラムである。図７（Ａ）に示す高さリアルＵマップＲＭ＿Ｈの左ガードレール部６１１ｂは、リアルＵマップＲＭにおいては左ガードレール部６１１ｃに対応し、右ガードレール部６１２ｂは、右ガードレール部６１２ｃに対応し、車部６１３ｂは、車部６１３ｃに対応し、車部６１４ｂは、車部６１４ｃに対応する。
【００５４】
具体的には、第５生成部５０３は、高さＵマップＵＭ＿Ｈ、およびＵマップＵＭでは、遠方（視差値ｄｐが小さい）では物体が小さいため、視差情報が少なく、距離の分解能も小さいので間引きせず、近距離の場合は物体が大きく写るため、視差情報が多く、距離の分解能も大きいので画素を大きく間引くことによって、俯瞰図に相当するリアル高さＵマップＲＭ＿Ｈ、およびリアルＵマップＲＭを生成する。後述するように、リアル高さＵマップＲＭ＿ＨまたはリアルＵマップＲＭから画素値の塊（物体領域）を抽出することができる。この場合、塊を囲む矩形の幅は、抽出した物体の幅に相当し、高さは、抽出した物体の奥行きに相当する。なお、第５生成部５０３は、高さＵマップＵＭ＿Ｈからリアル高さＵマップＲＭ＿Ｈを生成することに限定されるものではなく、視差画像から、直接、リアル高さＵマップＲＭ＿Ｈを生成することも可能である。
【００５５】
また、第２生成部５００は、生成した高さＵマップＵＭ＿Ｈまたはリアル高さＵマップＲＭ＿Ｈから、物体の視差画像および基準画像Ｉａにおけるｘ軸方向の位置および幅（ｘｍｉｎ，ｘｍａｘ）を特定できる。また、第２生成部５００は、生成した高さＵマップＵＭ＿Ｈまたはリアル高さＵマップＲＭ＿Ｈでの物体の高さの情報（ｄｍｉｎ，ｄｍａｘ）から物体の実際の奥行きを特定できる。また、第２生成部５００は、生成したＶマップＶＭから、物体の視差画像および基準画像Ｉａにおけるｙ軸方向の位置および高さ（ｙｍｉｎ＝「最大視差値の路面からの最大高さに相当するｙ座標」，ｙｍａｘ＝「最大視差値から得られる路面の高さを示すｙ座標」）を特定できる。また、第２生成部５００は、視差画像において特定した物体のｘ軸方向の幅（ｘｍｉｎ，ｘｍａｘ）、ｙ軸方向の高さ（ｙｍｉｎ，ｙｍａｘ）およびそれぞれに対応する視差値ｄｐから、物体の実際のｘ軸方向およびｙ軸方向のサイズが特定できる。以上のように、第２生成部５００は、ＶマップＶＭ、高さＵマップＵＭ＿Ｈ、リアル高さＵマップＲＭ＿Ｈを利用して、基準画像Ｉａでの物体の位置、ならびに実際の幅、高さおよび奥行きを特定することができる。また、第２生成部５００は、基準画像Ｉａでの物体の位置が特定されるので、視差画像における位置も定まり、物体までの距離も特定できる。
【００５６】
図８は、物体の種別の分類方法について説明する図である。第２生成部５００は、物体について特定した実際のサイズ（幅、高さ、奥行き）から、図８に示すようなテーブルを用いて、物体の種別（物体タイプ）を特定することができる。例えば、物体の幅が１３００［ｍｍ］、高さが１８００［ｍｍ］、奥行きが２０００［ｍｍ］である場合、物体は「普通車」であると特定できる。なお、図８のような幅、高さおよび奥行きと、物体の種別（物体タイプ）とを関連付ける情報をテーブルとして、ＲＡＭ５４等に記憶させておくものとすればよい。
【００５７】
≪クラスタリング処理部５１０≫
図４に示すクラスタリング処理部５１０は、第２生成部５００から入力された各マップに基づいて、車両等の物体を検出する機能部である。図４に示すように、クラスタリング処理部５１０は、基本検出部５１１、分離検出部５１２、統合検出部５１３、選択部５１４、枠作成部５１５、背景検出部５１６、および棄却部５１７を有する。
【００５８】
基本検出部５１１は、高解像マップとしてのＲｅａｌ  Ｕ−Ｄｉｓｐａｒｉｔｙマップに基づき、車両等の物体の奥行きや幅等を検出する基本検出処理を行う。なお、以下では、基本検出部５１１が、Ｒｅａｌ  Ｕ−Ｄｉｓｐａｒｉｔｙマップを用いて検出する例について説明するが、基本検出部５１１は、Ｕ−Ｄｉｓｐａｒｉｔｙマップを用いて検出してもよい。この場合、例えばＵ−Ｄｉｓｐａｒｉｔｙマップのｘ座標を横方向（水平方向）の実距離等に変換する処理を基本検出部５１１にて行えばよい。基本検出処理では、ＶマップＶＭに基づいて推定された路面が実際の路面より低い等の場合は、物体領域の検出精度が低下する。
【００５９】
分離検出部５１２は、Ｒｅａｌ  Ｕ−Ｄｉｓｐａｒｉｔｙマップに含まれる視差点のうち、路面からの高さが所定値（「第２の高さ」）以上である視差点を用いたマップを高位置マップの一例として用いて、車両等の物体の奥行きや幅等を検出する分離検出処理を行う。分離検出部５１２は、高さが比較的低い物体の場合、同一の物体を、複数の物体領域に分離して検出する場合がある。
【００６０】
統合検出部５１３は、Ｒｅａｌ  Ｕ−Ｄｉｓｐａｒｉｔｙマップを、例えば画素を間引くことにより縮小したスモールリアルＵマップを低解像マップの一例として用いて、車両等の物体の奥行きや幅等を検出する統合検出処理を行う。スモールリアルＵマップは、リアルＵマップよりも画素数が少ないため、分解能が低いと言える。なお、統合検出部５１３は、Ｕ−Ｄｉｓｐａｒｉｔｙマップを縮小したマップを用いて検出を行ってもよい。統合検出部５１３は、分解能が比較的低いスモールリアルＵマップを用いるため、複数の物体を同一の物体として検出する場合がある。
【００６１】
このように、高解像マップを基本として物体検出に用い、より分離性能の高い高位置マップおよびより同一物体を統合的に検出可能な低解像マップをあわせて用いることで、物体の検出性能を高めることができる。
【００６２】
選択部５１４は、基本検出部５１１、分離検出部５１２、および統合検出部５１３により検出された物体のうち、棄却しない物体を選択する。ここで、棄却とは、その物体を後段の処理（追跡処理等）の対象外とする処理を示す。
【００６３】
枠作成部５１５は、選択部５１４により選択された物体の領域に対応する視差画像Ｉｐ（または基準画像Ｉａ）における領域（認識領域）に枠（検出枠）を作成する。なお、ここでいう枠とは、物体の位置と大きさを示す情報としての物体を囲む矩形の情報であり、例えば当該矩形の角の座標と当該矩形の高さおよび幅の情報である。
【００６４】
背景検出部５１６は、枠作成部５１５により作成された検出枠内に、当該検出枠に対応する物体の背景を検出する。
【００６５】
棄却部５１７は、背景検出部５１６により、所定の条件を満たす背景が検出された検出枠に対応する物体を棄却する。なお、背景検出およびこれに基づく棄却は、行う方が好ましいが、必ずしも行う必要はない。
【００６６】
≪トラッキング部５３０≫
トラッキング部５３０は、クラスタリング処理部５１０により認識された物体に関する情報である認識領域情報に基づいて、その物体を追跡する処理であるトラッキング処理を実行する機能部である。ここで、認識領域情報とは、クラスタリング処理部５１０により認識された物体に関する情報を示し、例えば、認識した物体のＶ−Ｄｉｓｐａｒｉｔｙマップ、Ｕ−Ｄｉｓｐａｒｉｔｙマップ、およびＲｅａｌ  Ｕ−Ｄｉｓｐａｒｉｔｙマップ等における位置および大きさ、後述するラベリング処理の識別番号、ならびに、棄却フラグ等の情報を含む。
【００６７】
＜処理＞
次に、図９を参照し、クラスタリング処理部５１０の処理について説明する。図９は、クラスタリング処理部５１０の処理の一例を示すフローチャートである。
【００６８】
ステップＳ１１において、クラスタリング処理部５１０の基本検出部５１１は、リアルＵマップＲＭから物体の領域を検出する基本検出処理を行う。基本検出処理では、リアルＵマップＲＭ上の視差点の塊が検出される。
【００６９】
リアルＵマップＲＭは、画素数が比較的多いため、距離の分解能が比較的高く、路面より上方に位置する物体の視差情報を利用している。そのため、基本検出処理では、比較的安定した精度で物体領域が検出される。しかしながら、ＶマップＶＭに基づいて推定された路面が、実際の路面より低い場合、または検出対象の物体による視差点の数が少ない等の場合は、物体領域の検出精度が低下する。なお、基本検出処理の詳細は後述する。
【００７０】
続いて、クラスタリング処理部５１０の分離検出部５１２は、リアルＵマップＲＭに含まれる視差点のうち、路面からの高さが所定値以上である視差点を用いて、物体の領域を検出する分離検出処理を行う（ステップＳ１２）。分離検出処理では、リアルＵマップＲＭに含まれる視差点のうち、路面からの高さが所定値以上である視差点の塊が検出される。そのため、路面からの高さが比較的低い位置にある物体の部分の影響を受けないため、高さが比較的高い複数の物体が隣接している場合でも、当該複数の物体が正しく分離された物体領域を検出できる。しかしながら、高さが比較的低い物体の場合、同一の物体を、複数の物体領域に分離されて検出される場合がある。なお、分離検出処理の詳細は後述する。
【００７１】
続いて、クラスタリング処理部５１０の統合検出部５１３は、リアルＵマップＲＭから画素を間引いた画像であるスモールリアルＵマップを用いて、物体の領域を検出する統合検出処理を行う（ステップＳ１３）。なお、リアルＵマップＲＭから、１画素の幅が例えば１０ｃｍ程度に対応するように画素を間引くことにより、スモールリアルＵマップが作成されてもよい。また、画素を間引く際、単純にリアルＵマップＲＭから画素を抽出してもよいし、リアルＵマップＲＭから抽出する画素から所定範囲内の画素の値に基づいて、スモールリアルＵマップにおける当該画素の値を決定してもよい。統合検出処理では、視差点数が少ない物体の場合に、同一の物体を、複数の物体領域に分離されて検出されることが比較的生じにくい。しかしながら、距離の分解能が比較的低いため、例えば複数の物体が隣接している場合に、同一の物体として検出される場合がある。なお、統合検出処理の詳細は後述する。
【００７２】
なお、上述した基本検出処理、分離検出処理、統合検出処理は、どのような順番で実行されてもよいし、並列に実行されてもよい。
【００７３】
続いて、クラスタリング処理部５１０の選択部５１４は、上述した「基本検出処理」、「分離検出処理」、「統合検出処理」により検出された物体領域のうち、枠作成部５１５に出力する物体領域を選択する（ステップＳ１４）。なお、枠作成部５１５に出力する物体領域を選択する処理の詳細は後述する。
【００７４】
続いて、クラスタリング処理部５１０の枠作成部５１５は、選択部５１４により選択された物体領域に応じた検出枠を作成する（ステップＳ１５）。図１０は、検出枠を作成する処理を説明する図である。物体領域検出処理により検出され、路面領域棄却処理により棄却されていない物体領域を用いて、図１０に示すように、視差画像Ｉｐ（または基準画像Ｉａ）における物体領域に対応する領域（認識領域）に枠を作成する。
【００７５】
続いて、クラスタリング処理部５１０の背景検出部５１６は、作成された検出枠のうち、「統合検出処理」により検出された物体領域に対応する検出枠における背景を検出する（ステップＳ１６）。なお、検出枠における背景を検出する処理の詳細は後述する。
【００７６】
続いて、クラスタリング処理部５１０の棄却部５１７は、棄却処理を行う（ステップＳ１７）。なお、棄却処理の詳細は後述する。
【００７７】
≪基本検出処理≫
次に、図１１を参照し、基本検出部５１１によるステップＳ１１の基本検出処理について説明する。図１１は、基本検出処理の一例を示すフローチャートである。
【００７８】
ステップＳ２０１において、基本検出部５１１は、リアルＵマップＲＭにおいて、画素値（視差の頻度）が所定値以上である画素である視差点について、縦、横、または斜め方向に連続している画素に同一のＩＤを付与する８近傍ラベリング処理を行う。なお、ラベリング処理としては公知のものが利用できる。
【００７９】
続いて、基本検出部５１１は、同一のＩＤが付与された各画素群（各孤立領域）に外接する矩形をそれぞれ設定する（ステップＳ２０２）。
【００８０】
続いて、基本検出部５１１は、当該各矩形のサイズが所定値以下のものを棄却する（ステップＳ２０３）。矩形のサイズが所定値以下のものは、ノイズと判断できるためである。また、当該各矩形のエリアに対するリアルＵマップＲＭのエリアにおける画素値（視差の頻度）の例えば平均値が所定値よりも小さい矩形についても棄却してもよい。
【００８１】
これにより、各孤立領域に外接する矩形が、物体領域として検出される。
【００８２】
なお、基本検出処理は、視差画像に基づいて物体を示す領域が検出できればよく、公知技術を用いて実行されてもよい。
【００８３】
≪分離検出処理≫
次に、分離検出部５１２によるステップＳ１２の分離検出処理について説明する。分離検出処理は、リアルＵマップＲＭに含まれる全ての視差点を用いる代わりに、リアルＵマップＲＭに含まれる視差点のうち、路面からの高さが所定値以上である視差点を用いる点が、上述した「基本検出処理」と大きく異なる。その他の点は、上述した「基本検出処理」と同様でもよい。なお、「分離検出処理」において、ステップＳ２０１の８近傍ラベリング処理を行う際、リアルＵマップＲＭにおける横方向の所定値（例えば１画素分）以下の視差点の途切れは、ノイズによるものである可能性があるため、連続しているとみなしてもよい。
【００８４】
≪統合検出処理≫
次に、図１２を参照し、統合検出部５１３によるステップＳ１３の統合検出処理について説明する。図１２は、統合検出処理の一例を示すフローチャートである。
【００８５】
ステップＳ３０１において、統合検出部５１３は、スモールリアルＵマップ上で、縦方向（奥行き方向）または横方向（水平方向）に連続している画素（視差点）に同一のＩＤを付与する４近傍ラベリング処理を行う。なお、上記処理では、８近傍ラベリング処理を用いてもよい。
【００８６】
続いて、統合検出部５１３は、同一のＩＤが付与された各画素群（各孤立領域）に外接する矩形をそれぞれ設定する（ステップＳ３０２）。
【００８７】
続いて、統合検出部５１３は、車両等の物体を抽出する（ステップＳ３０３）。統合検出部５１３は、各孤立領域の幅、奥行き、視差の頻度等に基づき、車両等の物体の領域を抽出する。これにより、各孤立領域に外接する矩形が、物体領域として検出される。
【００８８】
≪選択処理≫
次に、図１３を参照し、選択部５１４によるステップＳ１４の枠作成部５１５に出力する物体領域を選択する処理について説明する。図１３は、出力する物体領域を選択する処理の一例を示すフローチャートである。
【００８９】
ステップＳ４０１において、選択部５１４は、統合検出処理により検出された物体領域のうち、自車両が走行している車線上に存在しない物体領域を棄却する。例えば、選択部５１４は、物体領域の位置が、自車両の前方方向から所定の範囲外である場合、当該物体領域を棄却する。これにより、自車両の進行を妨げる可能性がある物体については、統合検出処理により検出された物体領域が出力される。
【００９０】
なお、自車両からの距離が比較的遠い遠方においては、物体領域の位置を検出する精度が下がる。そのため、当該所定の範囲は、自車両からの距離に応じて、比較的広い範囲に設定されてもよい。
【００９１】
続いて、選択部５１４は、統合検出処理により検出された物体領域と、基本検出処理により検出された一の物体領域とが、リアルＵマップＲＭにおいて一定程度重なっているか否かを判定する（ステップＳ４０２）。例えば、統合検出処理により検出された物体領域と、基本検出処理により検出された物体領域とが、リアルＵマップＲＭにおいて重なっている領域の面積を、基本検出処理により検出された物体領域の面積で除算した値が、所定の閾値以上である場合に、一定程度重なっていると判定される。
【００９２】
一定程度重なっている場合（ステップＳ４０２でＹＥＳ）、選択部５１４は、基本検出処理の結果の物体領域と比較して、統合検出処理の結果の物体領域の大きさが小さいか否かを判定する（ステップＳ４０３）。小さい場合（ステップＳ４０３でＹＥＳ）、基本検出処理により検出された物体領域と、分離検出処理により検出された物体領域を枠作成部５１５に出力し（ステップＳ４０４）、処理を終了する。すなわち、同一物体を示す情報として互いに紐付けられた状態で、包括する検出結果として基本検出処理の結果を、部分的な検出結果として分離検出処理の結果を、それぞれ出力する。基本検出処理の結果の物体領域と比較して統合検出処理の結果の物体領域の大きさが小さい場合は、統合検出処理の結果が誤っている可能性が高いため、一の物体を示す情報としては基本検出処理の結果が、複数の物体を示す情報としては分離検出処理の結果が、それぞれ最も信頼がおけると考えられるからである。
【００９３】
小さくない場合（ステップＳ４０３でＮＯ）、選択部５１４は、基本検出処理により検出された当該一の物体領域に、分離検出処理により検出された複数の物体領域が存在するか否かを判定する（ステップＳ４０５）。
【００９４】
複数存在する場合（ステップＳ４０５でＹＥＳ）、選択部５１４は、統合検出処理により検出された物体領域と、分離検出処理により検出された当該複数の物体領域を枠作成部５１５に出力し（ステップＳ４０６）、処理を終了する。すなわち、同一物体を示す情報として互いに紐付けられた状態で、包括する検出結果として統合検出処理の結果を、部分的な検出結果として分離検出処理の結果を、それぞれ出力する。基本検出処理により検出された一の物体領域に、分離検出処理により検出された複数の物体領域が存在する場合は、一の物体を示す情報としては統合検出処理の結果が、複数の物体を示す情報としては分離検出処理の結果が、それぞれ最も信頼がおけると考えられるからである。
【００９５】
複数存在しない場合（ステップＳ４０５でＮＯ）、選択部５１４は、統合検出処理により検出された物体領域と、基本検出処理により検出された当該一の物体領域を枠作成部５１５に出力し（ステップＳ４０７）、処理を終了する。すなわち、同一物体を示す情報として互いに紐付けられた状態で、包括する検出結果として統合検出処理の結果を、部分的な検出結果として基本検出処理の結果を、それぞれ出力する。基本検出処理により検出された一の物体領域に、分離検出処理により検出された複数の物体領域が存在しない場合は、基本検出処理の結果と分離検出処理の結果が同等に扱えることから、一の物体を示す情報としては統合検出処理の結果が、複数の物体を示す情報としては基本検出処理の結果が、それぞれ最も信頼がおけると考えられるからである。
【００９６】
一定程度重なっていない場合（ステップＳ４０２でＮＯ）、選択部５１４は、統合検出処理により検出された物体領域のみを枠作成部５１５に出力し（ステップＳ４０８）、処理を終了する。すなわち、同一物体を示す情報として互いに紐付けられた状態で、包括する検出結果として統合検出処理の結果を、部分的な検出結果としては検出されなかったという結果を、それぞれ出力する。統合検出処理により検出された物体領域と、基本検出処理により検出された一の物体領域とが一定程度重なっていない場合には、ノイズの影響を受けづらい統合検出処理の結果が、物体のおよその位置を示す情報として最も信頼がおけると考えられるからである。
【００９７】
なお、ステップＳ４０２以降の処理は、統合検出処理により検出された各物体領域について実行される。
【００９８】
上述のように、互いの検出処理結果を簡単な比較により紐付けて出力するため、高精度な検出結果を比較的短時間で出力することができる。
【００９９】
≪検出枠における背景を検出する処理≫
次に、図１４を参照し、ステップＳ１６の検出枠における背景を検出する処理について説明する。図１４は、出力する物体領域を選択する処理の一例を示すフローチャートである。
【０１００】
ステップＳ５０１において、背景検出部５１６は、視差画像Ｉｐに作成された検出枠に対応するリアルＵマップＲＭ上の範囲を算出する。当該範囲は、当該検出枠が自車両の直進方向付近に位置する場合であれば、当該検出枠に対応する物体領域のリアルＵマップＲＭにおける横方向の座標の左端、および当該物体領域の横方向の座標の右端との間の範囲としてもよい。または、当該範囲は、例えば、撮像部１０ａと撮像部１０ｂの中心と、当該検出枠に対応するリアルＵマップＲＭ上の物体領域の視差点とを結ぶ２つの異なる直線であって、横方向に対する角度が最大となる第１の直線と、横方向に対する角度が最少となる第２の直線との間の範囲でもよい。
【０１０１】
続いて、背景検出部５１６は、当該範囲における、当該検出枠に対応するリアルＵマップＲＭ上の物体領域の視差点の視差頻度の合計値を示すヒストグラム（以下で、「物体視差ヒストグラム」と称する。）を作成する（ステップＳ５０２）。
【０１０２】
続いて、背景検出部５１６は、当該範囲における、当該検出枠に対応するリアルＵマップＲＭ上の物体領域よりも所定距離以上遠方の視差点の視差頻度の合計値を示すヒストグラム（以下で、「背景視差ヒストグラム」と称する。）を作成する（ステップＳ５０３）。
【０１０３】
続いて、背景検出部５１６は、当該範囲において、物体視差ヒストグラムの値が第１の所定値以下であり、背景視差ヒストグラムの値が第２の所定値以上である部分が存在するか否かを判定する（ステップＳ５０４）。
【０１０４】
当該部分が存在する場合（ステップＳ５０４でＹＥＳ）、背景検出部５１６は、当該検出枠において背景が存在すると判定し（ステップＳ５０５）、処理を終了する。
【０１０５】
当該部分が存在しない場合（ステップＳ５０４でＮＯ）、背景検出部５１６は、当該検出枠において背景が存在しないと判定し（ステップＳ５０６）、処理を終了する。
【０１０６】
図１５は、車両等の物体領域に対する検出枠の場合の、背景検出処理について説明する図である。図１５（Ａ）における車両等の物体領域に対する検出枠７０１のうち、所定の高さの範囲７０２に存在するリアルＵマップＲＭ上の視差点のみを用いてもよい。この場合、物体視差ヒストグラム７０５は、図１５（Ｂ）に示すように、車両等の両端７０３、７０４付近に対応する部分で視差頻度の合計値が大きくなる。また、この場合、車両等の物体に遮られて、当該車両等の物体よりも遠方の物体は撮影されないため、背景視差ヒストグラム７０６は、図１５（Ｃ）に示すように、視差頻度の合計値の値がほぼ存在しない。この場合、ステップＳ５０６で、当該検出枠において背景が存在しないと判定される。
【０１０７】
図１６は、歩行者等の二つのグループが結合されている物体領域に対する検出枠の場合の、背景検出処理について説明する図である。図１５の場合と同様に、図１６（Ａ）における物体領域に対する検出枠７１１のうち、所定の高さの範囲７１２に存在するリアルＵマップＲＭ上の視差点のみを用いてもよい。この場合、物体視差ヒストグラム７１７は、図１６（Ｂ）に示すように、各歩行者７１３、７１４、７１５、７１６等の付近で視差頻度の合計値が大きくなる。また、この場合、各歩行者等の隙間から、当該歩行者等の物体よりも遠方の物体も撮影される。そのため、背景視差ヒストグラム７１８は、図１６（Ｃ）に示すように、物体視差ヒストグラム７１７の値がほぼ存在しない部分７１９において、背景視差ヒストグラム７１８の値が所定値以上である部分７２０が存在する。この場合、ステップＳ５０５で、当該検出枠において背景が存在すると判定される。
【０１０８】
≪棄却処理≫
次に、図１７を参照し、ステップＳ１７の棄却処理について説明する。図１７は、棄却処理の一例を示すフローチャートである。なお、棄却処理では、ステップＳ１４で選択された物体領域に対応する検出枠のうち、所定の条件を満たすものが棄却される。
【０１０９】
以下では、上述したステップＳ１６の検出枠における背景を検出する処理において、「統合検出処理」により検出された物体領域に対応する検出枠のうち、背景が存在すると判定された各検出枠が処理対象とされてもよい。
【０１１０】
ステップＳ６０１において、棄却部５１７は、処理対象の検出枠内に、基本検出処理または分離検出処理により検出された複数の物体領域にそれぞれ対応する複数の検出枠が存在するか否かを判定する。
【０１１１】
複数の検出枠が存在しない場合（ステップＳ６０１でＮＯ）、処理を終了する。
【０１１２】
複数の検出枠が存在する場合（ステップＳ６０１でＹＥＳ）、棄却部５１７は、当該複数の検出枠の間の部分において、背景が存在するか否かを判定する（ステップＳ６０２）。ここで、上述した検出枠における背景を検出する処理と同様、当該部分において背景視差ヒストグラムの値が所定値以上の場合、背景が存在すると判定される。
【０１１３】
背景が存在しない場合（ステップＳ６０２でＮＯ）、処理を終了する。
【０１１４】
背景が存在する場合（ステップＳ６０２でＹＥＳ）、棄却部５１７は、処理対象の検出枠を棄却する（ステップＳ６０３）。
【０１１５】
図１８は、背景情報に基づく棄却処理について説明する図である。図１８（Ａ）の例では、処理対象の検出枠７５１の中に、基本検出処理により検出された一の物体領域に対応する検出枠７５２が存在する。図１８（Ａ）のように、処理対象の検出枠７５１の中に、複数の検出枠が存在しない場合、処理対象の検出枠７５１は棄却されない。
【０１１６】
図１８（Ｂ）の例では、処理対象の検出枠７６１の中に、基本検出処理または分離検出処理により検出された複数の物体領域にそれぞれ対応する複数の検出枠７６２、７６３が存在する。ここで、検出枠７６２、７６３の間の部分７６４において、上述した検出枠における背景を検出する処理と同様に、当該部分において、背景視差ヒストグラムの値が所定値以上の場合、背景が存在すると判定される。
【０１１７】
図１８（Ｂ）のように、基本検出処理によっても、ポール等の側物７６５と、車両７６７とが、同一の物体として検出されるような場合であっても、背景検出およびこれに基づく棄却処理によれば、検出枠７６２、７６３により、それぞれ別の物体として検出できる。
【０１１８】
なお、棄却部５１７は、背景検出によらず、他の方法によって検出枠の棄却を行ってもよい。棄却部５１７は、ステップＳ１４で選択された物体領域に対応する各検出枠について、例えば、図８に示す物体の種別の分類方法において、「その他」に分類された物体の領域に対応する検出枠を棄却してもよい。また、棄却部５１７は、ステップＳ１４で選択された物体領域に対応する各検出枠について、他の検出枠と所定の割合以上、面積が重なっている検出枠を棄却してもよい。
【０１１９】
＜まとめ＞
上述した実施の形態によれば、分離性能が比較的低い第１の検出結果と、分離性能が比較的高い第２の検出結果と、を生成し、これらを対応づける。これにより、後段の簡易な処理を行うことによって容易に物体を認識する性能を向上させることができる。また、互いに対応づけられた第１の検出結果と第２の検出結果について、所定の条件に基づいて、第１の検出結果および第２の検出結果のうちの一方を棄却する。それにより、複数の物体の各々を認識する性能を向上させることができる。
【０１２０】
なお、距離の値（距離値）と視差値は等価に扱えることから、本実施の形態においては距離画像の一例として視差画像を用いて説明しているが、これに限られない。例えば、ステレオカメラを用いて生成した視差画像に対して、ミリ波レーダやレーザレーダ等の検出装置を用いて生成した距離情報を統合して、距離画像を生成してもよい。また、ステレオカメラと、ミリ波レーダやレーザレーダ等の検出装置を併用し、上述したステレオカメラによる物体の検出結果と組み合わせることにより、検出の精度をさらに高める構成としてもよい。
【０１２１】
上述した実施の形態におけるシステム構成は一例であり、用途や目的に応じて様々なシステム構成例があることは言うまでもない。また、上述した各実施の形態の一部または全部を組み合わせることも可能である。
【０１２２】
例えば、物体認識装置１の視差値演算処理部３００、第２生成部５００、クラスタリング処理部５１０、トラッキング部５３０等の各機能部の少なくとも一部の処理を行う機能部は、１以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。
【０１２３】
また、上述の実施の形態では、物体認識装置１が車両７０としての自動車に搭載される例について説明したが、これに限定されるものではない。例えば、他の車両の一例としてバイク、自転車、車椅子または農業用の耕運機等の車両に搭載されるものとしてもよい。また、移動体の一例としての車両だけでなく、ロボット等の移動体に搭載されるものとしてもよい。
【０１２４】
また、上述の実施の形態において、物体認識装置１の視差値導出部３および認識処理部５の各機能部の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ＲＯＭ等に予め組み込まれて提供される。また、上述の実施の形態に係る物体認識装置１で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述の実施の形態の物体認識装置１で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施の形態の物体認識装置１で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述の実施の形態の物体認識装置１で実行されるプログラムは、上述した各機能部のうち少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ５２（ＣＰＵ３２）が上述のＲＯＭ５３（ＲＯＭ３３）からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置（ＲＡＭ５４（ＲＡＭ３４）等）上にロードされて生成されるようになっている。
【０１２５】
［第２の実施の形態］
図１９は、第２の実施の形態の機器制御システム１１００の概略構成を示す模式図である。図１９に示すように、機器制御システム１１００は、機器（移動体）の一例である自動車等の車両１１０１に設けられる。機器制御システム１１００は、撮像ユニット１１０２、解析ユニット１１０３、制御ユニット１１０４および表示部１１０５を有している。
【０１２６】
撮像ユニット１１０２は、移動体の一例としての車両１１０１のフロントガラス１１０６のルームミラー付近に設けられ、車両１１０１の例えば進行方向等の画像を撮像する。撮像ユニット１１０２の撮像動作で得られる画像データを含む各種データは、解析ユニット１１０３に供給される。解析ユニット１１０３は、撮像ユニット１１０２から供給される各種データに基づいて、車両１１０１が走行中の路面、車両１１０１の前方車両、歩行者、障害物等の認識対象物を解析する。制御ユニット１１０４は、解析ユニット１１０３の解析結果に基づいて、表示部１１０５を介して、車両１１０１の運転者へ警告等を行う。また、制御ユニット１１０４は、解析結果に基づいて、各種車載機器の制御、車両１１０１のハンドル制御またはブレーキ制御等の走行支援を行う。なお、以下、機器の一例として車両について説明するが、本実施の形態の機器制御システムは、船舶、航空機、ロボット等にも適用可能である。
【０１２７】
図２０は、撮像ユニット１１０２および解析ユニット１１０３の概略的なブロック図である。この例では、解析ユニット１１０３は「情報処理装置」として機能し、撮像ユニット１１０２および解析ユニット１１０３の組は「撮像装置」として機能する。なお、上述の制御ユニット１１０４は、「制御部」として機能し、撮像装置の出力結果に基づいて機器（この例では車両１１０１）を制御する。撮像ユニット１１０２は、左目用となる第１のカメラ部１Ａと、右目用となる第２のカメラ部１Ｂとの、２台のカメラ部が平行に組み付けられて構成されている。つまり、撮像ユニット１１０２は、ステレオ画像を撮像するステレオカメラとして構成されている。ステレオ画像とは、複数の視点ごとの撮像で得られる複数の撮像画像（複数の視点と１対１に対応する複数の撮像画像）を含む画像であり、撮像ユニット１１０２は、このステレオ画像を撮像するための装置である（「撮像部」として機能する）。各カメラ部１Ａおよび１Ｂは、それぞれ撮像レンズ５Ａ，５Ｂ、画像センサ６Ａ，６Ｂ、センサコントローラ７Ａ，７Ｂを備えている。画像センサ６Ａ，６Ｂは、例えばＣＣＤイメージセンサまたはＣＭＯＳイメージセンサとなっている。
【０１２８】
解析ユニット１１０３は、データバスライン１０、シリアルバスライン１１、ＣＰＵ１５、ＦＰＧＡ１６、ＲＯＭ１７、ＲＡＭ１８、シリアルＩＦ１９、およびデータＩＦ２０を有している。
【０１２９】
上述の撮像ユニット１１０２は、データバスライン１０およびシリアルバスライン１１を介して解析ユニット１１０３と接続されている。ＣＰＵ１５は、解析ユニット１１０３全体の動作、画像処理、および画像認識処理を実行制御する。第１のカメラ部１Ａおよび第２のカメラ部１Ｂの画像センサ６Ａ，６Ｂで撮像された撮像画像の輝度画像データは、データバスライン１０を介して解析ユニット１１０３のＲＡＭ１８に書き込まれる。ＣＰＵ１５またはＦＰＧＡ１６からのセンサ露光値の変更制御データ、画像読み出しパラメータの変更制御データ、および各種設定データ等は、シリアルバスライン１１を介して送受信される。
【０１３０】
ＦＰＧＡ１６は、ＲＡＭ１８に保存された画像データに対してリアルタイム性が要求される処理である。ＦＰＧＡ１６は、第１のカメラ部１Ａおよび第２のカメラ部１Ｂでそれぞれ撮像された輝度画像データ（撮像画像）のうち、一方を基準画像とすると共に他方を比較画像とする。そして、ＦＰＧＡ１６は、撮像領域内の同一地点に対応する基準画像上の対応画像部分と比較画像上の対応画像部分との位置ズレ量を、対応画像部分の視差値（視差画像データ）として算出する。
【０１３１】
図２１に、ＸＺ平面上における被写体４０と、第１のカメラ部１Ａの撮像レンズ５Ａと、第２のカメラ部１Ｂの撮像レンズ５Ｂとの位置関係を示す。この図２１において、各撮像レンズ５Ａ、５Ｂの間の距離ｂおよび各撮像レンズ５Ａ、５Ｂの焦点距離ｆは、それぞれ固定値である。また、被写体４０の注視点Ｐに対する撮像レンズ５ＡのＸ座標のズレ量をΔ１とする。また、被写体４０の注視点Ｐに対する撮像レンズ５ＢのＸ座標のズレ量をΔ２とする。この場合において、ＦＰＧＡ１６は、被写体４０の注視点Ｐに対する各撮像レンズ５Ａ、５ＢのＸ座標の差である視差値ｄを、以下の式１で算出する。
【０１３２】
【数１】
2018092604.tif 000003
【０１３３】
解析ユニット１１０３のＦＰＧＡ１６は、撮像ユニット１１０２から供給される輝度画像データに対して、例えばガンマ補正処理および歪み補正処理（左右の撮像画像の平行化）等のリアルタイム性が要求される処理を施す。また、ＦＰＧＡ１６は、このようなリアルタイム性が要求される処理を施した輝度画像データを用いて上述の式１の演算を行うことで、視差画像データを生成し、ＲＡＭ１８に書き込む。
【０１３４】
図２０に戻って説明を続ける。ＣＰＵ１５は、撮像ユニット１１０２の各センサコントローラ７Ａ，７Ｂの制御、および解析ユニット１１０３の全体的な制御を行う。また、ＲＯＭ１７には、後述する状況認識、予測、立体物認識等を実行するための立体物認識プログラムが記憶されている。立体物認識プログラムは、画像処理プログラムの一例である。ＣＰＵ１５は、データＩＦ２０を介して、例えば自車両のＣＡＮ情報（車速、加速度、舵角、ヨーレート等）をパラメータとして取得する。そして、ＣＰＵ１５は、ＲＯＭ１７に記憶されている立体物認識プログラムに従って、ＲＡＭ１８に記憶されている輝度画像および視差画像を用いて、状況認識等の各種処理を実行制御することで、例えば先行車両等の認識対象の認識を行う。
【０１３５】
認識対象の認識データは、シリアルＩＦ１９を介して、制御ユニット１１０４へ供給される。制御ユニット１１０４は、認識対象の認識データを用いて自車両のブレーキ制御や自車両の速度制御等の走行支援を行う。
【０１３６】
図２２は、解析ユニット１１０３が有する機能を概略的に説明するための図である。ステレオカメラを構成する撮像ユニット１１０２で撮像されるステレオ画像は解析ユニット１１０３へ供給される。例えば第１のカメラ部１Ａおよび第２のカメラ部１Ｂがカラー仕様の場合、第１のカメラ部１Ａおよび第２のカメラ部１Ｂの各々は、以下の式２の演算を行うことで、ＲＧＢ（赤緑青）の各信号から輝度（ｙ）信号を生成するカラー輝度変換処理を行う。第１のカメラ部１Ａおよび第２のカメラ部１Ｂの各々は、カラー輝度変換処理により生成した輝度画像データ（撮像画像）を、解析ユニット１１０３が有する前処理部１１１１へ供給する。第１のカメラ部１Ａで撮像された輝度画像データ（撮像画像）と、第２のカメラ部１Ｂで撮像された輝度画像データ（撮像画像）との組がステレオ画像であると考えることができる。この例では、前処理部１１１１は、ＦＰＧＡ１６により実現される。
【０１３７】
【数２】
2018092604.tif 000004
【０１３８】
前処理部１１１１は、第１のカメラ部１Ａおよび第２のカメラ部１Ｂから受け取った輝度画像データの前処理を行う。この例では、前処理としてガンマ補正処理を行う。そして、前処理部１１１１は、前処理を行った後の輝度画像データを平行化画像生成部１１１２へ供給する。
【０１３９】
平行化画像生成部１１１２は、前処理部１１１１から供給された輝度画像データに対して、平行化処理（歪み補正処理）を施す。この平行化処理は、第１のカメラ部１Ａ、第２のカメラ部１Ｂから出力される輝度画像データを、２つのピンホールカメラが平行に取り付けられたときに得られる理想的な平行化ステレオ画像に変換する処理である。具体的には、各画素の歪み量を、Δｘ＝ｆ（ｘ、ｙ）、Δｙ＝ｇ（ｘ、ｙ）という多項式を用いて計算した計算結果を用いて、第１のカメラ部１Ａ、第２のカメラ部１Ｂから出力される輝度画像データの各画素を変換する。多項式は、例えば、ｘ（画像の横方向位置）、ｙ（画像の縦方向位置）に関する５次多項式に基づく。これにより、第１のカメラ部１Ａ、第２のカメラ部１Ｂの光学系の歪みを補正した平行な輝度画像を得ることができる。この例では、平行化画像生成部１１１２は、ＦＰＧＡ１６により実現される。
【０１４０】
視差画像生成部１１１３は、「距離画像生成部」の一例であり、撮像ユニット１１０２により撮像されたステレオ画像から、画素毎に距離情報を備えた距離画像の一例である、画素毎に視差値を備えた視差画像を生成する。ここでは、視差画像生成部１１１３は、第１のカメラ部１Ａの輝度画像データを基準画像データとし、第２のカメラ部１Ｂの輝度画像データを比較画像データとし、上述の式１に示す演算を行うことで、基準画像データと比較画像データの視差を示す視差画像データを生成する。具体的には、視差画像生成部１１１３は、基準画像データの所定の「行」について、一つの注目画素を中心とした複数画素（例えば１６画素×１画素）からなるブロックを定義する。一方、比較画像データにおける同じ「行」において、定義した基準画像データのブロックと同じサイズのブロックを１画素ずつ横ライン方向（Ｘ方向）へズラす。そして、視差画像生成部１１１３は、基準画像データにおいて定義したブロックの画素値の特徴を示す特徴量と比較画像データにおける各ブロックの画素値の特徴を示す特徴量との相関を示す相関値を、それぞれ算出する。なお、ここでいう視差画像は、縦方向位置と横方向位置と奥行き方向位置（視差）とが対応づけられた情報を意味する。
【０１４１】
また、視差画像生成部１１１３は、算出した相関値に基づき、比較画像データにおける各ブロックの中で最も基準画像データのブロックと相関があった比較画像データのブロックを選定するマッチング処理を行う。その後、基準画像データのブロックの注目画素と、マッチング処理で選定された比較画像データのブロックの対応画素との位置ズレ量を視差値ｄとして算出する。このような視差値ｄを算出する処理を基準画像データの全域または特定の一領域について行うことで、視差画像データを得る。なお、視差画像の生成方法としては、公知の様々な技術を利用可能である。要するに、視差画像生成部１１１３は、ステレオカメラで撮像されるステレオ画像から、画素毎に距離情報を有する距離画像（この例では視差画像）を算出（生成）していると考えることができる。
【０１４２】
マッチング処理に用いるブロックの特徴量としては、例えばブロック内の各画素の値（輝度値）を用いることができる。また、相関値としては、例えば基準画像データのブロック内の各画素の値（輝度値）と、これらの画素にそれぞれ対応する比較画像データのブロック内の各画素の値（輝度値）との差分の絶対値の総和を用いることができる。この場合、当該総和が最も小さくなるブロックが、最も相関があるブロックとして検出される。
【０１４３】
このような視差画像生成部１１１３のマッチング処理としては、例えばＳＳＤ（Sum  of  Squared  Difference）、ＺＳＳＤ（Zero-mean  Sum  of  Squared  Difference）、ＳＡＤ（Sum  of  Absolute  Difference）、または、ＺＳＡＤ（Zero-mean  Sum  of  Absolute  Difference）等の手法を用いることができる。なお、マッチング処理において、１画素未満のサブピクセルレベルの視差値が必要な場合は、推定値を用いる。推定値の推定手法としては、例えば等角直線方式または二次曲線方式等を用いることができる。ただし、推定したサブピクセルレベルの視差値には誤差が発生する。このため、推定誤差を減少させるＥＥＣ（推定誤差補正）等の手法を用いてもよい。
【０１４４】
この例では、視差画像生成部１１１３は、ＦＰＧＡ１６により実現される。視差画像生成部１１１３により生成された視差画像は、物体検出処理部１１１４へ供給される。この例では、物体検出処理部１１１４の機能は、ＣＰＵ１５が立体物認識プログラムを実行することにより実現される。
【０１４５】
図２３は、物体検出処理部１１１４が有する機能の一例を示す図である。図２３に示すように、物体検出処理部１１１４は、取得部１１２１、路面検出処理部１１２２、クラスタリング処理部１１２３、トラッキング処理部１１２４を有する。取得部１１２１は、視差画像生成部１１１３により生成された視差画像を取得する。取得部１１２１は、ステレオカメラで撮像されるステレオ画像から算出された、画素毎に距離情報を有する距離画像（この例では視差画像）を取得する機能を有していると考えることができる。取得部１１２１により取得された視差画像は路面検出処理部１１２２およびクラスタリング処理部１１２３へ入力される。
【０１４６】
図２４に示すように、路面検出処理部１１２２は、路面推定部１１３１と、第１の生成部１１３２と、第２の生成部１１３３と、第３の生成部１１３４と、を有する。路面推定部１１３１は、視差画像を用いて、画像の垂直方向（ステレオカメラの光軸と直交する上下方向）を示す縦方向の位置と、ステレオカメラの光軸の方向を示す奥行方向の位置とが対応付けられた対応情報を生成する。この例では、路面推定部１１３１は、視差画像の各画素(視差値)を、画像の垂直方向の座標（ｙ）を縦軸、視差値ｄを横軸とするマップ（以下、「Ｖマップ（Ｖ−Ｄｉｓｐａｒｉｔｙマップ）」と称する）に投票し、投票された視差点から所定の方法で標本点を選択し、選択された点群を直線近似(または、曲線近似)する形で路面形状を推定する。この路面推定の方法としては公知の様々な技術を利用可能である。Ｖマップとは、視差画像の（ｘ座標値、ｙ座標値、視差値ｄ）の組のうち、Ｘ軸を視差値ｄ、Ｙ軸をｙ座標値、Ｚ軸を頻度とした２次元ヒストグラムである。要するに、上記対応情報(この例ではＶマップ)は、縦方向の位置と視差値ｄ（奥行方向の位置に相当）との組み合わせごとに、視差の頻度値を記録した情報であると考えることもできる。路面推定部１１３１による推定結果（路面推定情報）は、第１の生成部１１３２、第２の生成部１１３３、第３の生成部１１３４、クラスタリング処理部１１２３へ入力される。なお、以下、第１の生成部１１３２、第２の生成部１１３３、第３の生成部１１３４、の３つの生成部を有するものとして説明するが、任意の２つを選択して実装してもよい。
【０１４７】
第１の生成部１１３２は、視差画像のうち、路面（オブジェクトの高さの基準となる基準オブジェクトの一例）よりも高い第１の範囲内の所定値以上の高さの範囲を示す第２の範囲に対応する複数の画素に基づいて、ステレオカメラの光軸と直交する方向を示す横方向の位置と、ステレオカメラの光軸の方向を示す奥行方向の位置とが対応付けられた第１の情報を生成する。この例では、第１の情報は、横軸（Ｘ軸）を横方向の距離（実距離）、縦軸（Ｙ軸）を視差画像の視差値ｄ、奥行方向の軸を頻度とした２次元ヒストグラムである。第１の情報は、実距離と視差値ｄとの組み合わせごとに、視差の頻度値を記録した情報であると考えることもできる。以下の説明では、この第１の情報を「Ｈｉｇｈ  Ｕｍａｐ」と称する。視差画像の横方向の位置をｘ、縦方向の位置をｙ、画素ごとに設定される視差値をｄとすると、第１の生成部１１３２は、視差画像のうち第２の範囲内に対応する点（ｘ、ｙ、ｄ）を、（ｘ、ｄ）の値に基づいて投票することで、横軸を視差画像のｘ、縦軸を視差値ｄ、奥行方向の軸を頻度とした２次元ヒストグラムを生成する。そして、この２次元ヒストグラムの横軸を実距離に変換して、Ｈｉｇｈ  Ｕｍａｐを生成する。なお、Ｈｉｇｈ  Ｕｍａｐの縦軸は、奥行き方向の位置を表すと考えてもよい（視差値ｄが小さいほど奥行き方向の距離は大きいことを表す）。
【０１４８】
ここで、上述の路面推定部１１３１の路面推定により、路面を表す直線式が得られているため、視差値ｄが決まれば、対応するｙ座標ｙ０が決まり、この座標ｙ０が路面の高さとなる。例えば視差値がｄでｙ座標がｙ’である場合、ｙ’−ｙ０が視差値ｄのときの路面からの高さを示す。上述の座標（ｄ，ｙ’）の路面からの高さＨは、Ｈ＝（ｚ×（ｙ’−ｙ０））／ｆという演算式で求めることができる。なお、この演算式における「ｚ」は、視差値ｄから計算される距離（ｚ＝ＢＦ／（ｄ−ｏｆｆｓｅｔ））、「ｆ」は撮像ユニット１１０２の焦点距離を（ｙ’−ｙ０）の単位と同じ単位に変換した値である。ここで、ＢＦは、撮像ユニット１１０２の基線長Ｂと焦点距離ｆを乗じた値、ｏｆｆｓｅｔは無限遠のオブジェクトを撮影したときの視差である。
【０１４９】
例えば図２５に示す撮像画像においては、大人と子供を含む人グループＧ１と、大人同士の人グループＧ２と、ポールと、車両とが映り込んでいる。この例では、路面からの実高さが１５０ｃｍ〜２００ｃｍの範囲が第２の範囲として設定され、該第２の範囲の視差値ｄが投票されたＨｉｇｈ  Ｕｍａｐは図２６のようになる。高さが１５０ｃｍ未満の子供の視差値ｄは投票されないためマップ上に現れないことになる。なお、縦軸は、距離に応じた間引き率を用いて視差値ｄを間引き処理した間引き視差となっている。第１の生成部１１３２により生成されたＨｉｇｈ  Ｕｍａｐはクラスタリング処理部１１２３に入力される。
【０１５０】
図２４の説明を続ける。第２の生成部１１３３は、視差画像のうち第１の範囲に対応する複数の画素に基づいて、ステレオカメラの横方向の位置と、奥行方向とが対応付けられた第２の情報を生成する。以下の説明では、この第２の情報を「Ｓｔａｎｄａｒｄ  Ｕｍａｐ」と称する。視差画像の横方向の位置をｘ、縦方向の位置をｙ、画素ごとに設定される視差値をｄとすると、第２の生成部１１３３は、視差画像のうち第１の範囲内に対応する点（ｘ、ｙ、ｄ）を、（ｘ、ｄ）の値に基づいて投票することで、横軸を視差画像のｘ、縦軸を視差値ｄ、奥行方向の軸を頻度とした２次元ヒストグラムを生成する。そして、この２次元ヒストグラムの横軸を実距離に変換して、Ｓｔａｎｄａｒｄ  Ｕｍａｐを生成する。なお、Ｓｔａｎｄａｒｄ  Ｕｍａｐの縦軸は、奥行き方向の位置を表すと考えてもよい。図２５の例では、０ｃｍ〜２００ｃｍの範囲（上述の第２の範囲を含んでいる）が第１の範囲として設定され、該第１の範囲の視差値ｄが投票されたＳｔａｎｄａｒｄ  Ｕｍａｐは図２７のようになる。また、第２の生成部１１３３は、Ｓｔａｎｄａｒｄ  Ｕｍａｐと併せて、Ｓｔａｎｄａｒｄ  Ｕｍａｐに投票される視差点（実距離と視差値ｄとの組）のうち、路面からの高さ（Ｈ）が最も高い視差点の高さを記録して、横軸を実距離（カメラの左右方向の距離）、縦軸を視差値ｄとし、対応する点ごとに高さが記録された高さ情報を生成する。高さ情報は、実距離と視差値ｄとの組み合わせごとに高さを記録した情報であると考えてもよい。第２の生成部１１３３により生成されたＳｔａｎｄａｒｄ  Ｕｍａｐはクラスタリング処理部１１２３に入力される。
【０１５１】
図２４の説明を続ける。第３の生成部１１３４は、視差画像のうち、路面よりも高い範囲に存在し、かつ、第１の情報や第２の情報を作成する場合よりも少ない数の複数の画素を用いて、ステレオカメラの横方向の位置と、奥行方向の位置とが対応付けられた第３の情報を生成する。この例では、第３の情報は、横軸を横方向の距離（実距離）、縦軸を視差画像の視差値ｄ、奥行き方向の軸を頻度とした２次元ヒストグラムである。第３の情報は、実距離と視差値ｄとの組み合わせごとに、視差の頻度値を記録した情報であると考えることもできる。以下の説明では、この第３の情報を「Ｓｍａｌｌ  Ｕｍａｐ」と称する。視差画像の横方向の位置をｘ、縦方向の位置をｙ、画素ごとに設定される視差値をｄとすると、第３の生成部１１３４は、視差画像のうち第１の範囲内に対応する点（ｘ、ｙ、ｄ）を、（ｘ、ｄ）の値に基づいて投票（Ｓｔａｎｄａｒｄ  Ｕｍａｐを作成する場合よりも少ない数を投票）することで、横軸を視差画像のｘ、縦軸を視差値ｄ、奥行方向の軸を頻度とした２次元ヒストグラムを生成する。そして、この２次元ヒストグラムの横軸を実距離に変換して、Ｓｍａｌｌ  Ｕｍａｐを生成する。なお、Ｓｍａｌｌ  Ｕｍａｐの縦軸は、奥行き方向の位置を表すと考えてもよい。Ｓｍａｌｌ  Ｕｍａｐは、Ｓｔａｎｄａｒｄ  Ｕｍａｐと比較して１画素の距離分解能が低い。また、第３の生成部１１３４は、Ｓｍａｌｌ  Ｕｍａｐと併せて、Ｓｍａｌｌ  Ｕｍａｐに投票される視差点（実距離と視差値ｄとの組）のうち、路面からの高さ（Ｈ）が最も高い視差点の高さを記録して、横軸を実距離（カメラの左右方向の距離）、縦軸を視差値ｄとし、対応する点ごとに高さが記録された高さ情報を生成する。高さ情報は、実距離と視差値ｄとの組み合わせごとに高さを記録した情報であると考えてもよい。第３の生成部１１３４により生成されたＳｍａｌｌ  Ｕｍａｐはクラスタリング処理部１１２３に入力される。
【０１５２】
なお、以下の説明では、Ｓｔａｎｄａｒｄ  Ｕｍａｐ、Ｈｉｇｈ  Ｕｍａｐ、Ｓｍａｌｌ  Ｕｍａｐを互いに区別しない場合は「リアルＵマップ」と称する。リアルＵマップは、横軸がステレオカメラの光軸に対して垂直方向（カメラの左右方向）、縦軸がステレオカメラの光軸方向の俯瞰マップ（俯瞰画像、鳥瞰画像）であると捉えることもできる。
【０１５３】
図２３に戻って説明を続ける。クラスタリング処理部１１２３は、路面検出処理部１１２２から受け取った各種の情報を用いて、取得部１１２１により取得された視差画像上の物体位置を検出する。図２８は、クラスタリング処理部１１２３の詳細な機能の一例を示す図である。図２８に示すように、クラスタリング処理部１１２３は、孤立領域検出処理部１１４０、視差画処理部１１５０、棄却処理部１１６０を有する。
【０１５４】
孤立領域検出処理部１１４０は、路面検出処理部１１２２から受け取った各リアルＵマップ（Ｈｉｇｈ  Ｕｍａｐ、Ｓｔａｎｄａｒｄ  Ｕｍａｐ、Ｓｍａｌｌ  Ｕｍａｐ）から、視差値ｄの塊の領域である孤立領域（集合領域）を検出する孤立領域検出処理を行う。孤立領域検出処理部１１４０の具体的な内容については後述する。
【０１５５】
例えば図２９に示す撮像画像の場合、左右にガードレール８１、８２があり、車両７７および車両７９がセンターラインを挟んで対面通行をしている。各走行車線には、それぞれ１台の車両７７または車両７９が走行している。車両７９とガードレール８２との間には２本のポール８０Ａ，８０Ｂが存在している。図３０は、図２９に示す撮像画像に基づいて得られたリアルＵマップであり、枠で囲まれた領域が孤立領域に相当する。
【０１５６】
視差画処理部１１５０は、孤立領域検出処理部１１４０により検出されたリアルＵマップ上の孤立領域に対応する視差画像上の領域や実空間での物体情報を検出する視差画処理を行う。図３１は、図３０に示す孤立領域に対応する視差画像上の領域（視差画処理部１１５０による処理の結果）を示す図であり、図３１の領域９１はガードレール８１に対応する領域であり、領域９２は車両７７に対応する領域であり、領域９３は車両７９に対応する領域であり、領域９４はポール８０Ａに対応する領域であり、領域９５はポール８０Ｂに対応する領域であり、領域９６はガードレール８２に対応する領域である。
【０１５７】
棄却処理部１１６０は、視差画処理部１１５０により検出された視差画像上の領域や実空間での物体情報に基づき、出力すべきオブジェクトを選別する棄却処理を行う。棄却処理部１１６０は、物体のサイズに着目したサイズ棄却と、物体同士の位置関係に着目したオーバラップ棄却とを実行する。例えばサイズ棄却では、前述した図８に示す物体タイプごとに定められたサイズ範囲に当てはまらないサイズの検出結果を棄却する。図３２の例では、領域９１および領域９６は棄却されている。また、オーバラップ棄却では、視差画処理により検出された、視差画像上の孤立領域（リアルＵマップ上の検出結果）に対応する領域同士に対し、重なりを持つ結果の取捨選択を行う。
【０１５８】
図３３は、クラスタリング処理部１１２３による処理の一例を示すフローチャートである。この例では、Ｓｔａｎｄａｒｄ  Ｕｍａｐ、Ｈｉｇｈ  Ｕｍａｐ、Ｓｍａｌｌ  Ｕｍａｐ、視差画像、路面推定情報、高さ情報が入力情報として入力され、視差画像上の検出結果が出力情報として出力される。まず孤立領域検出処理部１１４０は孤立領域検出処理を行う（ステップＳ１００１）。この孤立領域検出処理の具体的な内容については後述する。次に、視差画処理部１１５０は、視差画処理を行う（ステップＳ１００２）。そして、棄却処理部１１６０は、ステップＳ１００２の視差画処理の結果を用いて棄却処理を行い（ステップＳ１００３）、最終的な視差画像上の検出結果を出力情報として出力する。
【０１５９】
なお、クラスタリング処理部１１２３からの出力情報（検出結果）は図２３に示すトラッキング処理部１１２４に入力される。トラッキング処理部１１２４は、クラスタリング処理部１１２３による検出結果（検出された物体）が複数のフレームにわたって連続して出現する場合に追跡対象であると判定し、追跡対象である場合には、その検出結果を物体検出結果として制御ユニット１１０４へ出力する。
【０１６０】
次に、図２８に示す孤立領域検出処理部１１４０の具体的な内容を説明する。図２８に示すように、孤立領域検出処理部１１４０は、第１の検出部１１４１、第２の検出部１１４２、第３の検出部１１４３、最終判断処理部１１４４を含む。
【０１６１】
第１の検出部１１４１は、Ｈｉｇｈ  Ｕｍａｐ（第１の情報）から、視差値ｄ（距離情報の一例）の集合領域を検出する。以下の説明では、第１の検出部１１４１による検出処理を「分離検出処理」と称し、その処理結果を「分離検出結果（検出された集合領域を含む）」と称する。Ｈｉｇｈ  Ｕｍａｐは、Ｓｔａｎｄａｒｄ  Ｕｍａｐと比較して、高さの低い領域に存在する物体の影響を受けにくいため、分離性能に優れた検出である。ただし、路面から高い領域で視差が出ていない物体に対しては誤分離検出になり易い。具体的な処理内容については後述する。
【０１６２】
第２の検出部１１４２は、Ｓｔａｎｄａｒｄ  Ｕｍａｐ（第２の情報）から集合領域を検出する。以下の説明では、第２の検出部１１４２による検出処理を「基本検出処理」と称し、その処理結果を「基本検出結果（検出された集合領域を含む）」と称する。上記分離検出結果は、基本検出結果に付随する（基本検出結果に含まれる）ことになる。Ｓｔａｎｄａｒｄ  Ｕｍａｐは１画素の距離分解能が高いことや路面の低い位置から高い位置までを検出範囲とするので、検出範囲全体で安定した検出が期待できる。ただし、路面推定により実際の路面よりも推定路面が低く検出された場合や検出対象の視差が少なかったりすると、Ｓｔａｎｄａｒｄ  Ｕｍａｐの特徴から誤検出が発生し易い。具体的な処理内容については後述する。
【０１６３】
さらに、第３の検出部１１４３は、Ｓｍａｌｌ  Ｕｍａｐ（第３の情報）から集合領域を検出する。以下の説明では、第３の検出部１１４３による検出処理を「統合用検出処理」と称し、その処理結果を「統合検出結果（検出された集合領域を含む）」と称する。Ｓｍａｌｌ  ＵｍａｐはＳｔａｎｄａｒｄ  Ｕｍａｐと比較して１画素の分解能が低いため、視差が出にくい物体に対しても誤分離となりにくいという特徴を持つ。ただし、分離性能（分解能）が低いため、Ｓｍａｌｌ  Ｕｍａｐを用いた検出処理（統合用検出処理）では、物体同士が結合して検出されやすい。
【０１６４】
最終判断処理部１１４４は、「基本検出結果」「分離検出結果」「統合検出結果」の３つを入力とし、出力すべき検出結果の選別、補正、検出結果同士の関係を明らかにする最終判断処理を行う。図２８に示すように、最終判断処理部１１４４は、棄却判定処理部１１４５、マージ処理部１１４６および補正部１１４７を含む。棄却判定処理部１１４５は、統合検出結果を棄却すべきか否かを判定する棄却判定処理を行う。具体的な内容については後述する。マージ処理部１１４６は、「基本検出結果」およびそれに付随する「分離検出結果」と、「統合検出結果」とをマージする。具体的な内容については後述する。補正部１１４７は、マージ後の検出結果を補正して出力する。この補正の具体的な内容についても後述する。
【０１６５】
図３４は、孤立領域検出処理の一例を示すフローチャートである。この例では、Ｓｔａｎｄａｒｄ  Ｕｍａｐ、Ｈｉｇｈ  Ｕｍａｐ、Ｓｍａｌｌ  Ｕｍａｐ、高さ情報が入力情報として入力され、Ｓｔａｎｄａｒｄ  Ｕｍａｐ上の検出結果が出力情報として出力される。図３４に示すように、第２の検出部１１４２は基本検出処理を行い（ステップＳ１０１１）、第１の検出部１１４１は分離検出処理を行い（ステップＳ１０１２）、第３の検出部１１４３は統合用検出処理を行う（ステップＳ１０１３）。なお、ステップＳ１０１１〜ステップＳ１０１３の順序は任意であり、各ステップが並列に実行されてもよい。次に、最終判断処理部１１４４は最終判断処理を行う（ステップＳ１０１４）。
【０１６６】
説明の便宜上、まず基本検出処理の具体的な内容を説明する。図３５は、基本検出処理の一例を示すフローチャートである。この例では、Ｓｔａｎｄａｒｄ  Ｕｍａｐが入力情報として入力される。出力情報については後述の説明で明らかになる。まず、第２の検出部１１４２は、Ｓｔａｎｄａｒｄ  Ｕｍａｐ内の視差の塊ごとにグルーピングしてＩＤを付与するラベリング処理を行う（ステップＳ１０２１）。具体的には、第２の検出部１１４２は、Ｓｔａｎｄａｒｄ  Ｕｍａｐに含まれる複数の画素ごとに着目していき、着目画素、および、該着目画素の近傍に存在する画素（例えば、右方向、右斜め上方向、上方向、左斜め上方向、左方向、左斜め下方向、下方向、右斜め下方向の８つの方向と１対１に対応する８つの画素）のうち、頻度値を含む画素の画素値を「１」に設定し、頻度値を含まない画素の画素値を「０」に設定して２値化する。なお、２値化の方法はこれに限らず任意であり、例えば近傍に存在する上述の８つの画素のうち閾値以上の視差の頻度値を含む画素の画素値を「１」とし、それ以外の画素の画素値を「０」とする形態であってもよい。そして、画素値「１」の集合で形成される閉領域を視差の塊（１つのグループ）とし、該閉領域に含まれる各画素に対してＩＤを付与する。なお、ＩＤは、各グループを識別可能な値に設定される。
【０１６７】
図３６は、２値化処理後の一例を示す図であり、領域２０００に含まれる５つの画素の各々に対して、同一のＩＤが付与されることになる。
【０１６８】
図３５に戻って説明を続ける。ステップＳ１０２１の後、第２の検出部１１４２は、検出矩形作成処理を行う（ステップＳ１０２２）。具体的には、第２の検出部１１４２は、同一のＩＤが割り振られた画素の集合領域に外接する矩形を算出し、算出した外接矩形を検出矩形とする。次に、第２の検出部１１４２は、ステップＳ１０２２で作成した検出矩形のサイズをチェックするサイズチェックを行う（ステップＳ１０２３）。例えば第２の検出部１１４２は、ステップＳ１０２２で作成した検出矩形のサイズが、ノイズに相当するサイズとして予め定められた閾値以下の場合、該検出矩形を破棄する処理を行う（ステップＳ１０２４）。次に、第２の検出部１１４２は、ステップＳ１０２２で作成した検出矩形に含まれる各画素の頻度値（視差の頻度値）をチェックする頻度チェックを行う。例えば第２の検出部１１４２は、ステップＳ１０２２で作成した検出矩形に含まれる頻度値（視差の頻度値）の累積値が、物体を表すのに必要な数として予め定められた閾値以下の場合、該検出矩形を破棄する処理を行う。
【０１６９】
以上の基本検出処理により、Ｓｔａｎｄａｒｄ  Ｕｍａｐ上の検出矩形を示す情報が出力情報として出力される。なお、Ｓｔａｎｄａｒｄ  Ｕｍａｐ上の検出矩形内のグルーピングされた各画素（検出された集合領域に含まれる各画素）に対しては、グループを識別するＩＤが割り当てられている。つまり、Ｓｔａｎｄａｒｄ  Ｕｍａｐ上でグルーピングされたＩＤのマップを示す情報（「Ｓｔａｎｄａｒｄ  Ｕｍａｐ上のＩＤ  Ｕｍａｐ」、他と区別しない場合は単に「ＩＤ  Ｕマップ」と称する場合がある）が出力情報として出力されることにもなる。
【０１７０】
次に、分離検出処理の具体的な内容を説明する。図３７は、分離検出処理の一例を示すフローチャートである。この例では、Ｓｔａｎｄａｒｄ  ＵｍａｐおよびＨｉｇｈ  Ｕｍａｐが入力情報として入力される。出力情報については後述の説明で明らかになる。上述したように、分離検出結果は基本検出結果に付随し、以下の処理は基本検出結果数分だけ繰り返される。第１の検出部１１４１は、着目した基本検出結果に付随する１以上の分離検出結果ごとに、該分離検出結果を含む関心領域を設定し、その設定した関心領域に対してラベリング処理を行う（ステップＳ１０３１）。このラベリング処理の具体的な内容は上述したとおりである。次に、第１の検出部１１４１は、ステップＳ１０３１のラベリング処理によって同一のＩＤが割り振られた画素の集合領域ごとに、該集合領域に外接する矩形を算出する検出矩形作成処理を行う（ステップＳ１０３２）。
【０１７１】
次に、第１の検出部１１４１は、ステップＳ１０３２で作成した検出矩形ごとにサイズチェック処理を行う（ステップＳ１０３３）。サイズチェック処理の具体的な内容は上述したとおりである。次に、第１の検出部１１４１は、頻度チェック処理を行う（ステップＳ１０３４）。頻度チェック処理の具体的な内容は上述したとおりである。以上の処理が、全ての基本検出結果について完了していない場合（基本検出結果の数分のループ処理が終了していない場合）は、ステップＳ１０３１以降の処理が繰り返される。つまり、第１の検出部１１４１は、以上に説明した処理を基本検出結果の数だけ繰り返す。
【０１７２】
以上の分離検出処理により、Ｈｉｇｈ  Ｕｍａｐ上の検出矩形（基本検出結果に紐付くＨｉｇｈ  Ｕｍａｐ上の検出結果）を示す情報が出力情報として出力される。なお、Ｈｉｇｈ  Ｕｍａｐ上の検出矩形内のグルーピングされた各画素に対しては、グループを識別するＩＤが割り当てられている。つまり、Ｈｉｇｈ  Ｕｍａｐ上でグルーピングされたＩＤのマップを示す情報（「Ｈｉｇｈ  Ｕｍａｐ上のＩＤ  Ｕｍａｐ」、他と区別しない場合は単に「ＩＤ  Ｕマップ」と称する場合がある）が出力情報として出力されることにもなる。
【０１７３】
次に、統合用検出処理の具体的な内容を説明する。統合用検出処理の基本的な内容は、基本検出処理と同様である。図３８は、統合用検出処理の一例を示すフローチャートである。この例では、Ｓｍａｌｌ  Ｕｍａｐおよび高さ情報が入力情報として入力される。出力情報については後述の説明で明らかになる。第３の検出部１１４３は、検出完了まで以下の処理を繰り返す。まず、第３の検出部１１４３は、Ｓｍａｌｌ  Ｕｍａｐ内の視差の塊ごとにグルーピングしてＩＤを付与するラベリング処理を行う（ステップＳ１０４１）。ラベリング処理の具体的な内容は上述したとおりである。ただし、第３の検出部１１４３は、Ｓｍａｌｌ  Ｕｍａｐに含まれる複数の画素ごとに着目していき、着目画素、および、該着目画素の近傍に存在する画素（例えば上述の８つの画素）のうち、頻度値を含む画素の画素値を「１」に設定し、頻度値を含まない画素の画素値を「０」に設定して２値化する。なお、２値化の方法はこれに限らず任意であり、例えば近傍に存在する８つの画素のうち閾値以上の視差の頻度値を含む画素の画素値を「１」とし、それ以外の画素の画素値を「０」とする形態であってもよい。そして、画素値「１」の集合で形成される閉領域を視差の塊（１つのグループ）とし、該閉領域に含まれる各画素に対してＩＤを付与する。
【０１７４】
ステップＳ１０４１の後、第３の検出部１１４３は、検出矩形作成処理を行う（ステップＳ１０４２）。この具体的な内容は上述したとおりである。次に、第３の検出部１１４３は、出力判定処理を行う（ステップＳ１０４３）。出力判定処理は、ステップＳ１０４２で作成された検出矩形（検出結果）に対して、サイズや視差の頻度値、奥行き長などの条件に合致するか否かを判断して、出力する検出結果を選別するための処理である。統合用検出処理は物体同士が結合して検出され易いので、ここでは車両と思われる特徴を持つ検出結果のみを出力することを前提とする。図３９は上記条件の例を示す図表である。図３９の（Ａ）は、検出結果のサイズ（幅）に関する条件の一例を示す図表である。図３９の（Ｂ）は、検出結果の奥行き長に関する条件の一例を示す図表である。図３９の（Ｂ）における「最近点距離」については後述するが、予め定められた有効範囲（検出が有効な範囲）の中心から、検出結果（物体）のうち奥行き方向において該中心に最も近い点までの距離を指す。図３９の（Ｃ）は、視差の頻度値に関する条件の一例を示す図表である。
【０１７５】
以上の統合用検出処理により、Ｓｍａｌ  Ｕｍａｐ上の検出矩形を示す情報が出力情報として出力される。なお、Ｓｍａｌｌ  Ｕｍａｐ上の検出矩形内のグルーピングされた各画素に対しては、グループを識別するＩＤが割り当てられている。つまり、Ｓｍａｌｌ  Ｕｍａｐ上でグルーピングされたＩＤのマップを示す情報（「Ｓｍａｌｌ  Ｕｍａｐ上のＩＤ  Ｕｍａｐ」、他と区別しない場合は単に「ＩＤ  Ｕマップ」と称する場合がある）が出力情報として出力されることにもなる。
【０１７６】
次に、最終判断処理部１１４４による最終判断処理について説明する。最終判断処理部１１４４は、基本検出結果、分離検出結果、統合検出結果の３つの結果を受け付け、検出結果同士の対応関係を算出し、包括枠と、該包括枠に付随する部分枠を設定する。そして、包括枠および部分枠を補正し、その中で出力対象を選択する。包括枠は、分離性能が低い処理で検出された結果が格納される。つまり、同一の物体に対してより大きいサイズを持つ枠を指す。ここでは、統合検出結果または基本検出結果が包括枠として設定される。部分枠とは、包括枠より分離性能が高い処理で検出された結果が格納される。部分枠は、包括枠と対応付けがされた検出枠（検出結果の外枠）であり、包括枠内を分離した結果となる。ここでは、基本検出結果または分離検出結果がこれに相当する。なお、ここでいう枠とは、物体の位置と大きさを示すものであり、例えば物体を囲む矩形の角の座標と高さおよび幅が対応づけられた情報である。
【０１７７】
図４０は、最終判断処理の一例を示すフローチャートである。この例では、Ｓｔａｎｄａｒｄ  Ｕｍａｐ、Ｈｉｇｈ  Ｕｍａｐ、高さ情報、基本検出結果（Ｓｔａｎｄａｒｄ  Ｕｍａｐ上の検出矩形）、基本検出結果に紐付く分離検出結果（Ｈｉｇｈ  Ｕｍａｐ上の検出矩形）、統合検出結果（Ｓｍａｌｌ  Ｕｍａｐ上の検出矩形）が入力情報として入力される。そして、Ｓｔａｎｄａｒｄ  Ｕｍａｐ上の検出結果、それに対応するＩＤ  Ｕマップ、検出結果間の関係が記録されたＩＤテーブルが出力情報として出力される。
【０１７８】
図４０に示すステップＳ１０５１〜ステップＳ１０５６までの処理は、統合検出結果の数だけ繰り返されることになる。まず、棄却判定処理部１１４５は、着目した統合検出結果の棄却判定処理を行う（ステップＳ１０５１）。以下、棄却判定処理の具体的な内容を説明する。棄却判定処理部１１４５は、自車線上に存在する車両サイズの条件を満たす統合検出結果のみを選択し、それ以外を棄却する棄却判定処理を行う。ここでは、Ｓｍａｌｌ  Ｕｍａｐ上の検出矩形（統合検出結果）を、Ｓｔａｎｄａｒｄ  Ｕｍａｐ上の検出矩形に変換する処理を行い、Ｓｔａｎｄａｒｄ  Ｕｍａｐ上に予め設定された有効範囲外の統合検出結果を棄却する。なお、これに限らず、例えば有効範囲はＳｍａｌｌ  Ｕｍａｐ上に予め設定される形態であってもよく、Ｓｍａｌｌ  Ｕｍａｐ上に予め設定された有効範囲外の統合検出結果を棄却する形態であってもよい。
【０１７９】
図４１は、棄却の条件の一例を示す図である。例えば統合検出結果Ａのように、有効範囲の中心と、統合検出結果のうち奥行き方向（カメラの光軸方向）において該中心に最も近い点との距離を示す「最近点距離」が閾値Ｚ１よりも大きい場合は、有効範囲の中心と、統合検出結果の中心とのカメラ横方向（カメラの左右方向）の距離を示す「中心との距離」が、−Ｚ２（負側の閾値）よりも大きく、かつ、Ｚ２（正側の閾値）以下である場合に限って有効と判定され（出力候補となり）、そうでない場合は棄却される。また、例えば統合検出結果Ｂのように、最近点距離が閾値Ｚ１以下である場合は、中心との距離が、−Ｚ３（負側の閾値）よりも大きく、かつ、Ｚ３（正側の閾値）以下である場合に限って有効と判定され、そうでない場合は棄却される。
【０１８０】
以上の棄却判定処理により統合検出結果が有効であると判定されると、図４０のステップＳ１０５２の結果は肯定となり、基本検出結果の数だけステップＳ１０５３〜ステップＳ１０５６の処理が繰り返される。一方、ステップＳ１０５２の結果が否定の場合は、着目した統合検出結果に対する処理は終了となり、残りの統合検出結果の数分のループ処理を繰り返すことになる。
【０１８１】
ステップＳ１０５３において、マージ処理部１１４６は、統合検出結果と基本検出結果とのマッチングを行う。以下、この具体的な内容を説明する。マージ処理部１１４６は、統合検出結果の検出枠と、基本検出結果の検出枠のＬａｒｇｅ  Ｕｍａｐ上での重なりを検出し、その検出結果に基づいて対応関係を明らかにし、処理対象となる統合検出結果を選別する。
【０１８２】
この例では、まずマージ処理部１１４６は、統合検出結果と基本検出結果との重なり率を算出する。基本検出結果のサイズの方が統合検出結果のサイズに比べて小さい場合、重なり率は、両者の重なり合う領域の面積を基本検出結果の面積で除算することで算出される。また、基本検出結果のサイズの方が統合検出結果のサイズに比べて大きい場合（統合検出結果のサイズの方が基本検出結果のサイズに比べて小さい場合）、重なり率は、両者の重なり合う領域の面積を統合検出結果の面積で除算することで算出される。この例では、マージ処理部１１４６は、重なり率が閾値（一例として０．５）を上回る場合、統合検出結果に重なる基本検出結果が存在すると判定する。そして、マージ処理部１１４６は、図４２に示す条件に基づいて、包括枠と部分枠を設定する。
【０１８３】
図４２の例では、統合検出結果に重なる基本検出結果が存在し、かつ、基本検出結果と比較して統合検出結果のサイズが小さい場合、マージ処理部１１４６は、統合検出結果を棄却して基本検出結果を包括枠として設定し、該基本検出結果に紐付く分離検出結果を部分枠として設定する。また、統合検出結果に重なる基本検出結果が存在し、かつ、基本検出結果に紐付く分離検出結果が複数存在する場合、マージ処理部１１４６は、基本検出結果を棄却して統合検出結果を包括枠として設定し、基本検出結果に紐付く分離検出結果を部分枠として設定する。さらに、統合検出結果に重なる基本検出結果が存在し、かつ、基本検出結果と比較して統合検出結果のサイズが大きい、あるいは、基本検出結果に紐付く分離検出結果が１つのみ存在するなどの場合（基本検出結果と比較して統合検出結果のサイズが小さい、または、基本検出結果に紐付く分離検出結果が複数存在する以外の場合）、マージ処理部１１４６は、統合検出結果を包括枠として設定し、基本検出結果を部分枠として設定する。なお、統合検出結果に重なる基本検出結果が存在しない場合（統合検出結果に対応する基本検出結果が存在しない場合）、統合検出結果を包括枠として設定し、部分枠は無しに設定する。以上がマージ処理部１１４６によるマッチングの内容となる。
【０１８４】
図４０に戻って説明を続ける。ステップＳ１０５３のマッチングの結果、統合検出結果と基本検出結果とが重なる場合、ステップＳ１０５４の結果は肯定となる。ステップＳ１０５４の結果が肯定の場合、マージ処理部１１４６は、包括枠（統合検出結果）と部分枠（基本検出結果または分離検出結果）とをマージし（ステップＳ１０５５）、１つの「検出結果」を生成する。上述したように、この例におけるマージは図４２に示す条件に基づいて実施される。
【０１８５】
一方、ステップＳ１０５４の結果が否定の場合、マージ処理部１１４６は、統合検出結果のみを包括枠として設定する（ステップＳ１０５６）。対応する基本検出結果が存在しないため、部分枠も無しとなる。つまり、包括枠として統合検出結果が設定され、かつ、部分枠が無しに設定された１つの「検出結果」が生成される。
【０１８６】
以上のようにして生成された「検出結果」の数だけステップＳ１０５７の補正処理が行われる。以下、補正部１１４７が実行する補正処理を説明する。補正部１１４７は、検出結果が統合検出結果を含む場合、統合補正処理を行う。統合補正処理の具体的な内容については後述する。一方、検出結果が統合検出結果を含まない場合、補正部１１４７は、部分枠として設定される分離検出結果に含まれる集合領域（第１の検出部１１４１により検出された集合領域（ＩＤが付与された画素の集合）を示す第１の集合領域）の距離に応じた補正方法により第１の集合領域を補正する。第１の集合領域の距離は、ステレオカメラからの距離（奥行き方向の距離）を指し、該第１の集合領域に含まれる各画素の視差値ｄを用いて求めることができる。補正部１１４７は、第１の集合領域の距離が閾値未満の場合は、第１の集合領域に対して第１の補正処理を行い、第１の集合領域の距離が閾値以上の場合は、第１の集合領域に対して第２の補正処理を行う。ここでは、近距離では路面推定精度が高いため分離検出結果の誤分離が発生しにくい一方、遠距離では路面推定精度が低くなるため分離検出結果の誤分離が発生し易い。したがって、上記閾値としては、路面推定精度を担保可能な距離の値を設定することが好適である。この例では上記閾値は３０ｍに設定されているが、これに限られるものではない。
【０１８７】
上記第１の補正処理は、第１の集合領域の基準オブジェクト（路面）からの高さの相対的な基準を用いて、第１の集合領域を拡張する処理である。より具体的には、第１の補正処理は、第１の集合領域を含み、かつ、第２の検出部１１４２により検出された集合領域を示す第２の集合領域（分離検出結果に紐付く基本検出結果に含まれる集合領域）のうち、第１の集合領域から外側に向かう領域を示す関心領域が連続する方向において、関心領域の基準オブジェクトからの高さが、第１の集合領域の高さ（基準オブジェクトからの高さ）の平均値に応じて相対的な値を示す相対高さ閾値を下回る位置を境界として、第１の集合領域を該境界まで拡張する処理である。詳細な内容については後述する。以下の説明では第１の補正処理を「近距離用補正処理」と称する。
【０１８８】
上記第２の補正処理は、第１の集合領域の基準オブジェクト（路面）からの高さの相対的な基準を用いて、２つの第１の集合領域を結合する処理である。より具体的には、第２の補正処理は、２以上の第１の集合領域を含む第２の集合領域のうち、２つの第１の集合領域同士の間の領域を示す関心領域の、一方の第１の集合領域から他方の第１の集合領域へ連続する方向にわたって、関心領域の基準オブジェクトからの高さが、第１の集合領域の高さ（基準オブジェクトからの高さ）の平均値に応じて相対的な値を示す相対高さ閾値以上である場合、一方の第１の集合領域と他方の第１の集合領域を結合する処理である。詳細な内容については後述する。以下の説明では第２の補正処理を「遠距離用補正処理」と称する。
【０１８９】
図４３は、図４０のステップＳ１０５７の補正処理の一例を示すフローチャートである。この例では、包括枠のリスト、各包括枠に付随する部分枠、ＩＤ  Ｕｍａｐ、Ｓｔａｎｄａｒｄ  Ｕｍａｐ、高さ情報が入力情報として入力され、補正された包括枠のリスト、各包括枠に付随する部分枠、補正されたＩＤ  Ｕｍａｐ、検出結果間の関係が記録されたＩＤ  テーブルが出力情報として出力される。
【０１９０】
補正部１１４７は、ステップＳ１０６１〜ステップＳ１０６７の処理を「検出結果」の数だけ繰り返す。まず、補正部１１４７は、ＩＤテーブルを作成する（ステップＳ１０６１）。このＩＤテーブルは、包括枠と部分枠とをＩＤで紐付けたテーブル形式の情報である。次に、補正部１１４７は、着目した検出結果（包括枠と部分枠との組）に含まれる部分枠のうち、車両サイズに相当するサイズの部分枠の数をカウントする（ステップＳ１０６２）。次に、補正部１１４７は、検出結果が統合検出結果を含むか否かを判断する（ステップＳ１０６３）。つまり、補正部１１４７は、検出結果に含まれる包括枠が統合検出結果であるか否かを判断する。
【０１９１】
ステップＳ１０６３の結果が肯定の場合（ステップＳ１０６３：Ｙｅｓ）、補正部１１４７は統合補正処理を行う（ステップＳ１０６４）。ステップＳ１０６３の結果が否定の場合（ステップＳ１０６３：Ｎｏ）、補正部１１４７は検出結果の距離が所定距離（例えば３０ｍ）未満であるか否かを判断する（ステップＳ１０６５）。ステップＳ１０６５の結果が肯定の場合（ステップＳ１０６５：Ｙｅｓ）、補正部１１４７は近距離用補正処理を行う（ステップＳ１０６６）。ステップＳ１０６５の結果が否定の場合（ステップＳ１０６５：Ｎｏ）、補正部１１４７は遠距離用補正処理を行う（ステップＳ１０６７）。
【０１９２】
本実施の形態においては、検出結果に統合検出結果（分解能の低いマップであるＳｍａｌｌ  Ｕｍａｐを用いた検出の結果）が含まれている場合に、基本検出結果や分離検出結果に対して、距離差や横位置を考慮した統合補正処理を行う。これにより、誤分離を低減しつつ高い分離性能を持つ検出結果に補正することができる。また、本実施の形態においては、検出結果の距離に応じて、近距離用補正処理と遠距離用補正処理を使い分ける。これにより、路面の推定精度の高い近距離と路面の推定精度の低い遠距離の各々で適切な方法で補正することができる。
【０１９３】
次に、統合補正処理の具体的な内容を説明する。統合検出結果は、分解能の荒いマップ（Ｓｍａｌｌ  Ｕｍａｐ）を用いて得られる。そのため、物体の誤分離を低減することができるが、逆に分離性能が落ちる。一方で基本検出結果や分離検出結果は分解能の高いマップを用いて得られるため、分離性能は高いが物体の誤分離が問題となる。統合検出用補正処理では、統合検出結果に紐付く部分枠（基本検出結果または分離検出結果）を全て同一のものとして結合（統合）するのではなく、距離差や横位置により結合判断をすることで、誤分離を低減しつつ高い分離性能を持つ検出結果に補正することを目的とする。
【０１９４】
図４４は、統合補正処理の一例を示すフローチャートである。まず補正部１１４７は、包括枠（統合検出結果）の補正処理を行う（ステップＳ１０７１）。次に、補正部１１４７は、包括枠に含まれる部分枠（基本検出結果または分離検出結果）の補正処理を行う（ステップＳ１０７２）。次に、補正部１１４７は、ステップＳ１０７２の補正後の部分枠同士の結合処理を行う（ステップＳ１０７３）。各ステップの具体的な内容については後述する。なお、包括枠の中に部分枠が１つしか含まれていない場合は、ステップＳ１０７３の結合処理は行われない。
【０１９５】
まず包括枠の補正処理について説明する。図４５に示すように、補正部１１４７は、包括枠内の視差を持つ画素の外接矩形を算出する。そして、外接矩形に含まれる画素のうちＩＤを持たずに視差の頻度値を持つ画素に対して、包括枠のＩＤを付与する。頻度値を持つがＩＤを持たない画素が存在する場合があり、そのような画素に対しても包括枠の一部としてＩＤを設定する処理が包括枠の補正処理となる。これにより、視差値があまり得られない物体に対しても、適切な包括枠が設定できる。なお、本処理は、必要に応じて割愛してもよい。
【０１９６】
次に、部分枠の補正処理について説明する。図４６は、部分枠の補正処理の流れを示すフローチャートである。補正部１１４７は、着目した包括枠に紐付く部分枠ごとに、ステップＳ１７１０およびステップＳ１７２０の処理を繰り返す。ステップＳ１７１０では、補正部１１４７は部分枠の拡張処理を行う。その後のステップＳ１７２０では、補正部１１４７は、拡張した領域内の画素のＩＤを、部分枠のＩＤに更新する処理を行う。拡張処理は、例えば、高さ情報に基づいて行う。すなわち、高さ情報に連結性があるが頻度値をもたない画素を有効とする。そして、有効となった画素にＩＤを設定する。これが部分枠の補正処理となる。これにより、視差値があまり得られない物体に対しても、適切な部分枠が設定できる。なお、本処理は、必要に応じて割愛してもよい。
【０１９７】
次に、図４４のステップＳ１０７３における部分枠同士の結合処理について説明する。補正部１１４７は、部分枠の全ての組み合わせのうち、カメラの光軸方向（奥行き方向）の部分枠間の距離差（中心距離差）とカメラの左右方向の部分枠間の距離差（中心横位置差）が近いもの同士を結合する。結合処理としては、結合対象の部分枠の外接矩形（結合すべき２つの部分枠の外接矩形）を計算し、外接矩形の領域を結合後の部分枠として設定する。結合後の部分枠に含まれる画素のＩＤは、一方の部分枠のＩＤが割り当てられてもよいし、新規のＩＤが割り当てられてもよい。ここでは、一方の部分枠に含まれる第１の集合領域と、他方の部分枠に含まれる第１の集合領域との間に存在する複数の画素の各々に対して、結合対象の部分枠と同一のＩＤが割り当てられることになる。図４７は、結合処理の対象とするか否かの条件の一例を示す図表である。なお、中心距離差、および、中心横位置差のそれぞれの閾値は図４７の例（２ｍ、６ｍ）に限られるものではなく、同一物体にも関わらず誤分離が発生している可能性がある範囲で任意に変更可能である。中心横位置差は、後述の枠間距離に相当する。また、中心距離差は、一方の部分枠に含まれる画素ごとの距離（視差値ｄから導かれる距離）の平均値と、他方の部分枠に含まれる画素ごとの距離の平均値との差分によって求められる。なお、カメラの光軸方向（奥行き方向）の部分枠間の距離差（中心距離差）とカメラの左右方向の部分枠間の距離差（中心横位置差）の少なくとも一方が近いもの同士を結合する構成としてもよい。
【０１９８】
図４７の条件では、中心距離差が２ｍよりも小さく、かつ、中心横位置差が６ｍ以下の場合、対象となる２つの部分枠を結合処理の対象とする。また、上述したように、この例では、一方の部分枠に含まれる各画素の距離の平均値と、他方の部分枠に含まれる各画素の距離の平均値との差を中心距離差とし、その中心距離差と閾値とを比較して結合処理の対象とするか否かを判断しているが、例えば部分枠同士が縦長（奥行き方向に長い）の場合は、互いに重なり合うほど近接しているにも関わらず、中心距離差が閾値以上となることがある。そのため、結合処理の対象とすべきであるにも関わらず、結合処理の対象から除外されてしまうおそれがある。そこで、この例においては、中心距離差が閾値以上であっても、部分枠の奥行方向の重なり率が所定の割合（誤分離が発生している可能性があると判断可能な範囲内で任意に設定可能、例えば２０％等）以上であるか否かを確認する。ここでの重なり率は、２つの部分枠の重なる領域の面積を、２つの部分枠の何れか一方（典型的にはサイズが小さい方の部分枠）の面積で除算して得られる。そして、重なり率が所定の割合以上の場合であり、かつ、中心横位置差が６ｍ以下の場合は、対象となる２つの部分枠を結合処理の対象とする。以上の統合補正処理により、補正された包括枠のリスト、各包括枠に付随する補正後（拡張、結合後）の部分枠、補正されたＩＤ  Ｕマップが出力情報として出力される。
【０１９９】
次に、図４３のステップＳ１０６６における近距離用補正処理の具体的な内容を説明する。前述したように、近距離では路面の推定精度が高いため、分離検出結果の誤分離が発生しにくい。また、分離検出処理は路面から高い領域の視差値のみを投票したＨｉｇｈ  Ｕｍａｐを用いた検出処理であるため分離性能が高い。ただし、分離検出処理は路面から低い（路面に近い）領域で広がりを持つような物体は実際よりも枠が小さく検出されるおそれがある。以上を考慮して、近距離用補正処理は分離検出結果の検出枠を、該検出枠の路面からの高さの相対的な基準を用いて補正する。
【０２００】
図４８は、近距離用補正処理の流れを示すフローチャートである。補正部１１４７は、着目した検出結果（この場合は基本検出結果）の包括枠の中に、車両サイズの部分枠（この場合は分離検出結果）が１以上存在するか否かを確認する（ステップＳ１０９１）。ステップＳ１０９１の結果が否定の場合（ステップＳ１０９１：Ｎｏ）、処理は終了する。ステップＳ１０９１の結果が肯定の場合（ステップＳ１０９１：Ｙｅｓ）、補正部１１４７は、部分枠の拡張処理を行う（ステップＳ１０９２）。この具体的な内容は、統合補正処理で説明した内容と同様である。次に、補正部１１４７は、画素ＩＤの更新処理を行う（ステップＳ１０９３）。この内容も、統合補正処理で説明した内容と同様であるので、詳細な説明は省略する。次に、補正部１１４７は、包括枠を削除する（ステップＳ１０９４）。
【０２０１】
次に、図４３のステップＳ１０６７における遠距離用補正処理の具体的な内容を説明する。前述したように、遠距離での路面の推定精度は近距離に比べて低くなる。特に、路面の推定結果が実際の路面よりも低く推定された場合は、路面の視差が投票されて検出枠の結合や検出枠の拡大に繋がる。これは、路面から高い領域の検出結果である分離検出結果を採用することで改善できる。ただし、分離検出結果は分離性能が高く、逆に路面の推定結果が実際の路面より高く推定された場合や車高の低い車両に対しては、誤分離が発生し、実際の物体よりも小さく検出される可能性が高くなる。遠距離用補正処理では、以上を考慮した検出枠の結合処理と補正処理を行う。
【０２０２】
図４９は、遠距離用補正処理の流れを示すフローチャートである。補正部１１４７は、着目した検出結果（この場合は基本検出結果）の包括枠の中に、車両サイズの部分枠（この場合は分離検出結果）が１以上存在するか否かを確認する（ステップＳ１１０１）。ステップＳ１１０１の結果が肯定の場合（ステップＳ１１０１：Ｙｅｓ）、補正部１１４７は、車両サイズの部分枠と、その他の部分枠との組み合わせごとに、後述の結合判定処理を行う（ステップＳ１１０２）。一方、ステップＳ１１０１の結果が否定の場合（ステップＳ１１０１：Ｎｏ）、補正部１１４７は、全ての部分枠の組み合わせごとに（２つの部分枠の組み合わせごとに）、後述の結合判定処理を行う（ステップＳ１１０３）。
【０２０３】
ここで、結合判定処理の具体的な内容を説明する。補正部１１４７は、図５０に示すように、包括枠の領域に対応する高さ情報、該包括枠に紐付く部分枠の領域を特定しておく。そして、補正部１１４７は、着目した２つの部分枠同士のうち、Ｘ方向（カメラの左右方向）において向き合う部分間の距離（以下の説明では「枠間距離」と称する）を算出する。図５０の例では、左側の部分枠の右側の境界の距離と、右側の部分枠の左側の境界の距離との差が枠間距離として算出される。補正部１１４７は、以上のようにして算出した枠間距離が、同一物体にも関わらず誤分離が発生している可能性がある範囲内で設定される所定の閾値未満の場合、２つの部分枠を結合対象とする。一方、枠間距離が所定の閾値以上の場合は、別々の物体である可能性が高いため、２つの部分枠の結合処理は行わない。ここでは所定の閾値として１．５ｍを採用しているが、これに限られるものではない。以下では、２つの部分枠を結合対象とした場合の処理を説明する。
【０２０４】
図５１に示すように、補正部１１４７は、着目した部分枠同士の間の領域（図５１の例では左側（右側）の部分枠から右側（左側）の部分枠へ連続する領域）を関心領域として設定する。そして、補正部１１４７は、結合先の部分枠（例えば右側の部分枠でもよいし、左側の部分枠でもよい）の路面からの高さの平均値（高さマップ内の部分枠に含まれる各画素の高さの平均値）を求め、平均値に対して相対的な値を閾値（以下、「相対高さ閾値」と称する）として用いる。この例では、平均値の１／４を相対高さ閾値とする。ここでは、結合対象の２つの部分枠のうちの一方の部分枠の高さの平均値に対して相対的な値を相対高さ閾値としているが、これに限らず、例えば結合対象の２つの部分枠の高さの平均値に対して相対的な値を相対高さ閾値としてもよい。そして、補正部１１４７は、関心領域の連続する方向における最頻の高さの分布を示す高さプロファイルを作成する。例えば図５２および図５３に示すように、補正部１１４７は、関心領域の各列における最頻の高さを求めて高さプロファイルを作成する。そして、相対高さ閾値と、高さプロファイルとに基づいて、高さの連続性をチェックする。より具体的には、高さプロファイルが示す全ての最頻高さのうち、相対高さ閾値未満の最頻高さが存在するか否かを確認することで、高さの連続性をチェックし、高さの連続性を有する場合に限り、部分枠同士の結合処理を行うと判断する。例えば図５２に示すように、高さプロファイルが示す全ての最頻高さが何れも相対高さ閾値以上の場合（関心領域の全ての列において、最頻高さが相対高さ閾値以上の場合）は高さの連続性を有すると判断し、２つの部分枠の結合処理を行うと判断する。一方、例えば図５３に示すように、高さプロファイルが示す全ての最頻高さのうち、相対高さ閾値未満の最頻高さが存在する場合は高さの連続性を有していないと判断し、２つの部分枠の結合処理を行わないと判断する。
【０２０５】
なお、例えば遠距離での物体の歪みの発生等を考慮し、関心領域を上下に分割し、分割した関心領域ごとに、高さの連続性をチェックして結合処理を行うか否かを判定する形態であってもよい。
【０２０６】
図５４は、以上に説明した結合判定処理の流れを示すフローチャートである。各ステップの具体的な内容は上述したとおりであるので適宜に説明を省略する。まず補正部１１４７は、枠間距離が閾値未満であるか否かを確認する（ステップＳ１１１１）。ステップＳ１１１１の結果が否定の場合（ステップＳ１１１１：Ｎｏ）、補正部１１４７は、着目した２つの部分枠同士の結合処理は行わないと判断し（ステップＳ１１１７）、処理を終了する。ステップＳ１１１１の結果が肯定の場合（ステップＳ１１１１：Ｙｅｓ）、補正部１１４７は関心領域を設定する（ステップＳ１１１２）。次に、補正部１１４７は相対高さ閾値を算出し（ステップＳ１１１３）、高さの連続性をチェックする（ステップＳ１１１４）。ステップＳ１１１２〜ステップＳ１１１４の具体的な内容は上述したとおりである。ステップＳ１１１４の結果、高さの連続性を有すると判断された場合（ステップＳ１１１５：Ｙｅｓ）、結合処理を行うと判断し（ステップＳ１１１６）、処理を終了する。一方、ステップＳ１１１４の結果、高さの連続性を有しないと判断された場合（ステップＳ１１１５：Ｎｏ）、結合処理は行わないと判断し（ステップＳ１１１７）、処理を終了する。
【０２０７】
図４９のフローの説明を続ける。補正部１１４７は、部分枠の組み合わせのうち、以上の結合判定処理で結合処理を行うと判定された２つの部分枠については結合処理を行い、結合処理を行わないと判定された２つの部分枠については結合処理を行わない。つまり、図４９に示すステップＳ１１０４の処理は部分枠の組み合わせごとに行われ、結合処理を行うと判定された場合（ステップＳ１１０４：Ｙｅｓ）、補正部１１４７は、着目した２つの部分枠同士の結合処理を行い（ステップＳ１１０５）、処理はステップＳ１１０６に移行する。結合処理としては、結合対象の部分枠の外接矩形を計算し、外接矩形の領域を結合後の部分枠として設定し、ＩＤの更新処理を行う。一方、ステップＳ１１０４の結果が否定の場合（ステップＳ１１０４：Ｎｏ）、そのまま処理はステップＳ１１０６に移行する。
【０２０８】
ステップＳ１１０６では、補正部１１４７は、部分枠の補正処理を行う。この補正処理は図４４のステップＳ１０７２の補正処理と同じ内容であるので、詳細な説明は省略する。ステップＳ１１０６の処理は部分枠の数だけ繰り返し実行されることになる。
【０２０９】
以上に説明したように、本実施の形態では、補正部１１４７は、分離検出処理により得られた第１の集合領域の距離に応じて補正方法を切り替えながら、該第１の集合領域を補正する。より具体的には、補正部１１４７は、第１の集合領域の距離が閾値未満の場合は、第１の集合領域に対して近距離用補正処理を行い、第１の集合領域の距離が閾値以上の場合は、第１の集合領域に対して遠距離用補正処理を行う。前述したように、近距離では路面の推定精度が高いため、分離検出結果の誤分離が発生しにくいものの、分離検出処理は路面から低い領域で広がりを持つような物体は実際よりも枠が小さく検出されるおそれがある。以上を考慮して、近距離用補正処理は、分離検出処理により得られる第１の集合領域の路面からの高さの相対的な基準を用いて、該第１の集合領域を拡張する処理である。なお、近距離では路面の推定精度が高いため、結合などの処理は不要になる。また、前述したように、遠距離での路面の推定精度は近距離に比べて低くなるので、分離検出結果の誤分離が発生し易くなる。以上を考慮して、遠距離用補正処理は、分離検出処理により得られる第１の集合領域の路面からの高さの相対的な基準を用いて、２つの第１の集合領域を結合する処理である。以上のように、分離検出処理により得られる第１の集合領域の距離に応じて、近距離用補正処理と遠距離用補正処理を切り替えて該第１の集合領域を補正することで、物体の検出精度を十分に確保することができる。
【０２１０】
以上、本発明に係る実施の形態について説明したが、本発明は、上述の各実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【０２１１】
また、上述した実施の形態の機器制御システム１１００で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【０２１２】
１  物体認識装置（「情報処理装置」の一例）
２  本体部（「撮像装置」の一例）
３  視差値導出部
４  通信線
５  認識処理部
６  車両制御装置（「制御装置」の一例）
６０  機器制御システム
７０  車両
１００ａ、１００ｂ  画像取得部
２００ａ、２００ｂ  変換部
３００  視差値演算処理部（「生成部」の一例）
５００  第２生成部
５０１  第３生成部（「移動面推定部」の一例）
５０２  第４生成部
５０３  第５生成部
５１０  クラスタリング処理部
５１１  基本検出部（「第１の検出部」の一例）
５１２  分離検出部（「第２の検出部」の一例）
５１３  統合検出部（「第１の検出部」の一例）
５１４  選択部
５１５  枠作成部
５１６  背景検出部
５１７  棄却部
５３０  トラッキング部
１１００  機器制御システム
１１０１  車両
１１０２  撮像ユニット
１１０３  解析ユニット
１１０４  制御ユニット
１１０５  表示部
１１０６  フロントガラス
１１１１  前処理部
１１１２  平行化画像生成部
１１１３  視差画像生成部
１１１４  物体検出処理部
１１２１  取得部
１１２２  路面検出処理部
１１２３  クラスタリング処理部
１１２４  トラッキング処理部
１１３１  路面推定部
１１３２  第１の生成部
１１３３  第２の生成部
１１３４  第３の生成部
１１４０  孤立領域検出処理部
１１４１  第１の検出部
１１４２  第２の検出部
１１４３  第３の検出部
１１４４  最終判断処理部
１１４５  棄却判定処理部
１１４６  マージ処理部
１１４７  補正部
１１５０  視差画処理部
１１６０  棄却処理部
【先行技術文献】
【特許文献】
【０２１３】
【特許文献１】特開２００８−０６５６３４号公報
【図１】
2018092604.tif 000005
【図２】
2018092604.tif 000006
【図３】
2018092604.tif 000007
【図４】
2018092604.tif 000008
【図５】
2018092604.tif 000009
【図６】
2018092604.tif 000010
【図７】
2018092604.tif 000011
【図８】
2018092604.tif 000012
【図９】
2018092604.tif 000013
【図１０】
2018092604.tif 000014
【図１１】
2018092604.tif 000015
【図１２】
2018092604.tif 000016
【図１３】
2018092604.tif 000017
【図１４】
2018092604.tif 000018
【図１５】
2018092604.tif 000019
【図１６】
2018092604.tif 000020
【図１７】
2018092604.tif 000021
【図１８】
2018092604.tif 000022
【図１９】
2018092604.tif 000023
【図２０】
2018092604.tif 000024
【図２１】
2018092604.tif 000025
【図２２】
2018092604.tif 000026
【図２３】
2018092604.tif 000027
【図２４】
2018092604.tif 000028
【図２５】
2018092604.tif 000029
【図２６】
2018092604.tif 000030
【図２７】
2018092604.tif 000031
【図２８】
2018092604.tif 000032
【図２９】
2018092604.tif 000033
【図３０】
2018092604.tif 000034
【図３１】
2018092604.tif 000035
【図３２】
2018092604.tif 000036
【図３３】
2018092604.tif 000037
【図３４】
2018092604.tif 000038
【図３５】
2018092604.tif 000039
【図３６】
2018092604.tif 000040
【図３７】
2018092604.tif 000041
【図３８】
2018092604.tif 000042
【図３９】
2018092604.tif 000043
【図４０】
2018092604.tif 000044
【図４１】
2018092604.tif 000045
【図４２】
2018092604.tif 000046
【図４３】
2018092604.tif 000047
【図４４】
2018092604.tif 000048
【図４５】
2018092604.tif 000049
【図４６】
2018092604.tif 000050
【図４７】
2018092604.tif 000051
【図４８】
2018092604.tif 000052
【図４９】
2018092604.tif 000053
【図５０】
2018092604.tif 000054
【図５１】
2018092604.tif 000055
【図５２】
2018092604.tif 000056
【図５３】
2018092604.tif 000057
【図５４】
2018092604.tif 000058