(57)【特許請求の範囲】
【請求項１】
複数の撮像部で各々撮影された複数の撮影画像における路面及び前記路面を遮る障害物の距離に応じた距離値を有する距離画像から、前記距離画像の垂直方向に対する距離値の頻度の分布を示す垂直方向分布データを生成する生成部と、
前記垂直方向分布データに基づいて、前記距離に応じた前記路面の高さを推定する推定部と、
前記推定部により推定された前記障害物の距離における路面の高さを、低く修正する修正部と、を備え、
前記修正部は、前記距離画像の垂直方向に対する距離値の頻度の分布を、前記距離値に応じた複数のセグメントに分割し、前記分割された分布に応じた値が所定の閾値未満である第１のセグメントよりも前記距離値が小さい第２のセグメントにおける路面の高さを、前記推定部により推定された高さよりも低く修正する、
ことを特徴とする画像処理装置。
【請求項２】
前記第２のセグメントは、前記各セグメントに含まれる各々の前記距離値の頻度の値が所定値以上である垂直方向の距離点の数が所定の閾値以上である前記距離値の数が、所定の閾値以上であるセグメントのうち、セグメントに含まれる前記距離値が最も大きいセグメントである、
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記第２のセグメントは、前記各セグメントに含まれる前記距離値の頻度の値が所定値以上である垂直方向の距離点の数が所定の閾値以上であるセグメントのうち、セグメントに含まれる前記距離値が最も大きいセグメントである、
ことを特徴とする請求項１記載の画像処理装置。
【請求項４】
複数の撮像部で各々撮影された複数の撮影画像における路面及び前記路面を遮る障害物の距離に応じた距離値を有する距離画像から、前記距離画像の垂直方向に対する距離値の頻度の分布を示す垂直方向分布データを生成する生成部と、
前記垂直方向分布データに基づいて、前記距離に応じた前記路面の高さを推定する推定部と、
前記推定部により推定された前記障害物の距離における路面の高さを、低く修正する修正部と、を備え、
前記修正部は、前記撮影画像における前記障害物を画像認識し、前記推定部により推定された前記障害物の距離における路面の高さを、低く修正する、
ことを特徴とする画像処理装置。
【請求項５】
複数の撮像部で各々撮影された複数の撮影画像における路面及び前記路面を遮る障害物の距離に応じた距離値を有する距離画像から、前記距離画像の垂直方向に対する距離値の頻度の分布を示す垂直方向分布データを生成する生成部と、
前記垂直方向分布データに基づいて、前記距離に応じた前記路面の高さを推定する推定部と、
前記推定部により推定された前記障害物の距離における路面の高さを、低く修正する修正部と、を備え、
前記修正部は、前記路面が上り坂であるか否か判定し、上り坂である場合は、前記推定部により推定された前記障害物の距離における路面の高さを修正しない、
ことを特徴とする画像処理装置。
【請求項６】
複数の撮像部で各々撮影された複数の撮影画像における路面及び前記路面を遮る障害物の距離に応じた距離値を有する距離画像から、前記距離画像の垂直方向に対する距離値の頻度の分布を示す垂直方向分布データを生成する生成部と、
前記垂直方向分布データに基づいて、前記距離に応じた前記路面の高さを推定する推定部と、
前記推定部により推定された前記障害物の距離における路面の高さを、低く修正する修正部と、を備え、
前記修正部は、前記障害物の距離よりも距離値が大きい距離における路面の高さのデータを破棄する、
ことを特徴とする画像処理装置。
【請求項７】
前記修正部は、以前に撮影された前記複数の撮影画像に応じて前記推定部により推定された前記路面の高さに基づいて、前記障害物の距離における路面の高さを修正する、
ことを特徴とする請求項１乃至６のいずれか一項に記載の画像処理装置。
【請求項８】
前記修正部は、前記推定部により推定された前記障害物の距離における路面の高さを、前記推定部により推定された前記障害物の距離よりも距離値が小さい距離における路面の高さに修正する、
ことを特徴とする請求項１乃至７のいずれか一項に記載の画像処理装置。
【請求項９】
複数の撮像部と、
前記複数の撮像部で各々撮影された複数の撮影画像から、前記複数の撮影画像における路面及び前記路面を遮る障害物の視差に応じた距離値を有する距離画像を生成する距離画像生成部と、
前記距離画像の垂直方向に対する距離値の頻度の分布を示す垂直方向分布データを生成する生成部と、
前記垂直方向分布データに基づいて、前記距離値に応じた前記路面の高さを推定する推定部と、
前記推定部により推定された前記障害物の距離値における路面の高さを、低く修正する修正部と、を備え、
前記修正部は、前記距離画像の垂直方向に対する距離値の頻度の分布を、前記距離値に応じた複数のセグメントに分割し、前記分割された分布に応じた値が所定の閾値未満である第１のセグメントよりも前記距離値が小さい第２のセグメントにおける路面の高さを、前記推定部により推定された高さよりも低く修正する、
撮像装置。
【請求項１０】
複数の撮像部と、
前記複数の撮像部で各々撮影された複数の撮影画像から、前記複数の撮影画像における路面及び前記路面を遮る障害物の視差に応じた距離値を有する距離画像を生成する距離画像生成部と、
前記距離画像の垂直方向に対する距離値の頻度の分布を示す垂直方向分布データを生成する生成部と、
前記垂直方向分布データに基づいて、前記距離に応じた前記路面の高さを推定する推定部と、
前記推定部により推定された前記障害物の距離における路面の高さを、低く修正する修正部と、を備え、
前記修正部は、前記撮影画像における前記障害物を画像認識し、前記推定部により推定された前記障害物の距離における路面の高さを、低く修正する、
撮像装置。
【請求項１１】
複数の撮像部と、
前記複数の撮像部で各々撮影された複数の撮影画像から、前記複数の撮影画像における路面及び前記路面を遮る障害物の視差に応じた距離値を有する距離画像を生成する距離画像生成部と、
前記距離画像の垂直方向に対する距離値の頻度の分布を示す垂直方向分布データを生成する生成部と、
前記垂直方向分布データに基づいて、前記距離に応じた前記路面の高さを推定する推定部と、
前記推定部により推定された前記障害物の距離における路面の高さを、低く修正する修正部と、を備え、
前記修正部は、前記路面が上り坂であるか否か判定し、上り坂である場合は、前記推定部により推定された前記障害物の距離における路面の高さを修正しない、
撮像装置。
【請求項１２】
複数の撮像部と、
前記複数の撮像部で各々撮影された複数の撮影画像から、前記複数の撮影画像における路面及び前記路面を遮る障害物の視差に応じた距離値を有する距離画像を生成する距離画像生成部と、
前記距離画像の垂直方向に対する距離値の頻度の分布を示す垂直方向分布データを生成する生成部と、
前記垂直方向分布データに基づいて、前記距離に応じた前記路面の高さを推定する推定部と、
前記推定部により推定された前記障害物の距離における路面の高さを、低く修正する修正部と、を備え、
前記修正部は、前記障害物の距離よりも距離値が大きい距離における路面の高さのデータを破棄する、
撮像装置。
【請求項１３】
移動体に搭載され、前記移動体の前方を撮像する撮像装置であって、請求項９から１２のいずれか一項に記載の撮像装置と、
前記撮像装置により修正された移動面、及び前記距離画像に基づいて、物体を検出する物体検出部と、
前記物体検出部により検出された前記物体のデータに基づいて、前記移動体の制御を行う制御部と、
を備える移動体機器制御システム。
【請求項１４】
コンピュータが、
複数の撮像部で各々撮影された複数の撮影画像における路面及び前記路面を遮る障害物の距離に応じた距離値を有する距離画像から、前記距離画像の垂直方向に対する距離値の頻度の分布を示す垂直方向分布データを生成するステップと、
前記垂直方向分布データに基づいて、前記距離に応じた前記路面の高さを推定するステップと、
前記距離画像の垂直方向に対する距離値の頻度の分布を、前記距離値に応じた複数のセグメントに分割し、前記分割された分布に応じた値が所定の閾値未満である第１のセグメントよりも前記距離値が小さい第２のセグメントにおける路面の高さを、前記推定するステップにより推定された高さよりも低く修正するステップと、
を実行する画像処理方法。
【請求項１５】
コンピュータが、
複数の撮像部で各々撮影された複数の撮影画像における路面及び前記路面を遮る障害物の距離に応じた距離値を有する距離画像から、前記距離画像の垂直方向に対する距離値の頻度の分布を示す垂直方向分布データを生成するステップと、
前記垂直方向分布データに基づいて、前記距離に応じた前記路面の高さを推定するステップと、
前記撮影画像における前記障害物を画像認識し、前記推定するステップにより推定された前記障害物の距離における路面の高さを、低く修正するステップと、
を実行する画像処理方法。
【請求項１６】
コンピュータが、
複数の撮像部で各々撮影された複数の撮影画像における路面及び前記路面を遮る障害物の距離に応じた距離値を有する距離画像から、前記距離画像の垂直方向に対する距離値の頻度の分布を示す垂直方向分布データを生成するステップと、
前記垂直方向分布データに基づいて、前記距離に応じた前記路面の高さを推定するステップと、
前記推定された前記障害物の距離における路面の高さを、低く修正するステップであって、前記路面が上り坂であるか否か判定し、上り坂である場合は、前記推定するステップにより推定された前記障害物の距離における路面の高さを修正しないステップと、
を実行する画像処理方法。
【請求項１７】
コンピュータが、
複数の撮像部で各々撮影された複数の撮影画像における路面及び前記路面を遮る障害物の距離に応じた距離値を有する距離画像から、前記距離画像の垂直方向に対する距離値の頻度の分布を示す垂直方向分布データを生成するステップと、
前記垂直方向分布データに基づいて、前記距離に応じた前記路面の高さを推定するステップと、
前記推定された前記障害物の距離における路面の高さを、低く修正するステップであって、前記障害物の距離よりも距離値が大きい距離における路面の高さのデータを破棄するステップと、
を実行する画像処理方法。
【請求項１８】
コンピュータに、
請求項１４から１７のいずれか一項に記載の画像処理方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、移動体機器制御システム、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
自動車の安全性において、従来は歩行者や自動車と衝突したときに、いかに歩行者を守れるか、乗員を保護できるかの観点から自動車のボディー構造などの開発が行われてきた。しかしながら近年、情報処理技術、画像処理技術の発達により、高速に人や自動車等を検出する技術が開発されてきている。これらの技術を応用して、衝突する前に自動的にブレーキをかけ、衝突を未然に防ぐという自動車もすでに発売されている。
【０００３】
自動的にブレーキをかけるには人や他車等の物体までの距離を測定する必要があり、そのために、ステレオカメラの画像を用いた測定が実用化されている。
【０００４】
このステレオカメラの画像を用いた測定では、次のような画像処理を行うことで、人や他車等の物体の認識を行う技術が知られている（例えば、特許文献１参照）。
【０００５】
まず、ステレオカメラで撮像した複数の画像から、画像の垂直方向の座標を一方の軸とし、画像の視差(disparity)を他方の軸とし、視差の頻度の値を画素値とするV-Disparity画像を生成する。次に、生成したV-Disparity画像から、路面を検出する。検出した路面を用いてノイズを除去したうえで、画像の水平方向の座標を縦軸とし、画像の視差を横軸とし、視差頻度を画素値とするU-Disparity画像を生成する。そして、生成したU-Disparity画像に基づいて、人や他車等の物体の認識を行う。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、従来技術には、例えば路面がカーブしていること等により、ステレオカメラの前方に高速道路の側壁やガードレール等が存在する場合に、側壁やガードレール等の障害物の視差の影響を受けて、路面を正確に測定できない場合があるという問題がある。
【０００７】
そこで、路面を検出する精度を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
画像処理装置において、複数の撮像部で各々撮影された複数の撮影画像における路面及び前記路面を遮る障害物の距離に応じた距離値を有する距離画像から、前記距離画像の垂直方向に対する距離値の頻度の分布を示す垂直方向分布データを生成する生成部と、前記垂直方向分布データに基づいて、前記距離に応じた前記路面の高さを推定する推定部と、前記推定部により推定された前記障害物の距離における路面の高さを、低く修正する修正部と、を備え、前記修正部は、前記距離画像の垂直方向に対する距離値の頻度の分布を、前記距離値に応じた複数のセグメントに分割し、前記分割された分布に応じた値が所定の閾値未満である第１のセグメントよりも前記距離値が小さい第２のセグメントにおける路面の高さを、前記推定部により推定された高さよりも低く修正する。
【発明の効果】
【０００９】
開示の技術によれば、路面を検出する精度を向上させることが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る移動体機器制御システムとしての車載機器制御システムの構成を示す図である。
【図２】撮像ユニット及び画像解析ユニットの構成を示す模式図である。
【図３】移動体機器制御システムの機能ブロック図である。
【図４】視差画像データ、及びその視差画像データから生成されるＶマップについて説明するための図である。
【図５】一方の撮像部で撮像された基準画像としての撮影画像の画像例と、その撮影画像に対応するＶマップを示す図である。
【図６】一方の撮像部で撮像された基準画像としての撮影画像の画像例と、その撮影画像に対応する所定の領域のＶマップを示す図である。
【図７】路面推定処理の一例を示すフローチャートである。
【図８】側壁を有する路面がカーブしている場合の例について説明する図である。
【図９】第１の実施形態に係る終端セグメント修正処理の一例を示すフローチャートである。
【図１０】終端セグメントよりも遠いセグメントの路面を修正する処理の例について説明する図である。
【図１１】第２の実施形態に係る終端セグメント修正処理の一例を示すフローチャートである。
【図１２】第２の実施形態の終端セグメントを探索する処理について説明する図である。
【図１３】第３の実施形態に係る終端セグメント修正処理の一例を示すフローチャートである。
【図１４】撮影画像と、Ｖマップの対応関係を説明する図である。
【図１５】側壁等の障害物の撮影画像と、Ｖマップの対応関係を説明する図である。
【図１６】第４の実施形態に係る路面推定処理の一例を示すフローチャートである。
【図１７】第４の実施形態に係る標本点抽出処理の一例を説明する図である。
【図１８】上り坂における終端セグメント修正処理について説明する図である。
【図１９】第５の実施形態に係る終端セグメント修正処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、実施形態に係る画像処理装置を有する移動体機器制御システムについて説明する。
【００１２】
［第１の実施形態］
〈車載機器制御システムの構成〉
図１は、本発明の実施形態に係る移動体機器制御システムとしての車載機器制御システムの構成を示す図である。
【００１３】
この車載機器制御システム１は、移動体である自動車などの自車両１００に搭載されており、撮像ユニット５００、画像解析ユニット６００、表示モニタ１０３、及び車両走行制御ユニット１０４からなる。そして、撮像ユニット５００で、移動体の前方を撮像した自車両進行方向前方領域（撮像領域）の撮像画像データから、自車両前方の路面（移動面）の相対的な高さ情報（相対的な傾斜状況を示す情報）を検知し、その検知結果から、自車両前方の走行路面の３次元形状を検出し、その検出結果を利用して移動体や各種車載機器の制御を行う。移動体の制御には、例えば、警告の報知、自車両１００（自移動体）のハンドルの制御、または自車両１００（自移動体）のブレーキが含まれる。
【００１４】
撮像ユニット５００は、例えば、自車両１００のフロントガラス１０５のルームミラー（図示せず）付近に設置される。撮像ユニット５００の撮像によって得られる撮像画像データ等の各種データは、画像処理手段としての画像解析ユニット６００に入力される。
【００１５】
画像解析ユニット６００は、撮像ユニット５００から送信されてくるデータを解析して、自車両１００が走行している路面部分（自車両の真下に位置する路面部分）に対する自車両前方の走行路面上の各地点における相対的な高さ（位置情報）を検出し、自車両前方の走行路面の３次元形状を把握する。また、自車両前方の他車両、歩行者、各種障害物などの認識対象物を認識する。
【００１６】
画像解析ユニット６００の解析結果は、表示モニタ１０３及び車両走行制御ユニット１０４に送られる。表示モニタ１０３は、撮像ユニット５００で得られた撮像画像データ及び解析結果を表示する。車両走行制御ユニット１０４は、画像解析ユニット６００による自車両前方の他車両、歩行者、各種障害物などの認識対象物の認識結果に基づいて、例えば、自車両１００の運転者へ警告を報知したり、自車両のハンドルやブレーキを制御したりするなどの走行支援制御を行う。
【００１７】
〈撮像ユニット５００及び画像解析ユニット６００の構成〉
図２は、撮像ユニット５００及び画像解析ユニット６００の構成を示す図である。
【００１８】
撮像ユニット５００は、撮像手段としての２つの撮像部５１０ａ，５１０ｂを備えたステレオカメラで構成されており、２つの撮像部５１０ａ，５１０ｂは同一のものである。各撮像部５１０ａ，５１０ｂは、それぞれ、撮像レンズ５１１ａ，５１１ｂと、受光素子が２次元配置された画像センサ５１３ａ，５１３ｂを含んだセンサ基板５１４ａ，５１４ｂと、センサ基板５１４ａ，５１４ｂから出力されるアナログ電気信号（画像センサ５１３ａ，５１３ｂ上の各受光素子が受光した受光量に対応する電気信号）をデジタル電気信号に変換した撮像画像データを生成して出力する信号処理部５１５ａ，５１５ｂとから構成されている。撮像ユニット５００からは、輝度画像データと視差画像データが出力される。
【００１９】
また、撮像ユニット５００は、ＦＰＧＡ（Field-Programmable Gate Array）等からなる処理ハードウェア部５１０を備えている。この処理ハードウェア部５１０は、各撮像部５１０ａ，５１０ｂから出力される輝度画像データから視差画像を得るために、各撮像部５１０ａ，５１０ｂでそれぞれ撮像した撮像画像間の対応画像部分の視差値を演算する視差画像情報生成手段としての視差演算部５１１を備えている。
【００２０】
ここでいう視差値とは、各撮像部５１０ａ，５１０ｂでそれぞれ撮像した撮像画像の一方を基準画像、他方を比較画像とし、撮像領域内の同一地点に対応した基準画像上の画像部分に対する比較画像上の画像部分の位置ズレ量を、当該画像部分の視差値として算出したものである。三角測量の原理を利用することで、この視差値から当該画像部分に対応した撮像領域内の当該同一地点までの距離を算出することができる。
【００２１】
画像解析ユニット６００は、画像処理基板等から構成され、撮像ユニット５００から出力される輝度画像データ及び視差画像データを記憶するＲＡＭやＲＯＭ等で構成される記憶手段６０１と、識別対象の認識処理や視差計算制御などを行うためのコンピュータプログラムを実行するＣＰＵ（Central Processing Unit）６０２と、データＩ／Ｆ（インタフェース）６０３と、シリアルＩ／Ｆ６０４を備えている。
【００２２】
処理ハードウェア部５１０を構成するＦＰＧＡは、画像データに対してリアルタイム性が要求される処理、例えばガンマ補正、ゆがみ補正（左右の撮像画像の平行化）、ブロックマッチングによる視差演算を行って視差画像の情報を生成し、画像解析ユニット６００のＲＡＭに書き出す処理などを行う。画像解析ユニット６００のＣＰＵ６０２は、各撮像部５１０ａ，５１０ｂの画像センサコントローラの制御および画像処理基板の全体的な制御を担うとともに、路面の３次元形状の検出処理、ガードレールその他の各種オブジェクト（識別対象物）の検出処理などを実行するプログラムをＲＯＭからロードして、ＲＡＭに蓄えられた輝度画像データや視差画像データを入力として各種処理を実行し、その処理結果をデータＩ／Ｆ６０３やシリアルＩ／Ｆ６０４から外部へと出力する。このような処理の実行に際し、データＩ／Ｆ６０３を利用して、自車両１００の車速、加速度（主に自車両前後方向に生じる加速度）、操舵角、ヨーレートなどの車両動作情報を入力し、各種処理のパラメータとして使用することもできる。外部に出力されるデータは、自車両１００の各種機器の制御（ブレーキ制御、車速制御、警告制御など）を行うための入力データとして使用される。
【００２３】
なお、撮像ユニット５００及び画像解析ユニット６００は、一体の装置である撮像装置２として構成してもよい。
【００２４】
図３は、図２における処理ハードウェア部５１０、画像解析ユニット６００、及び車両走行制御ユニット１０４で実現される車載機器制御システム１の機能ブロック図である。なお、画像解析ユニット６００で実現される機能部は、画像解析ユニット６００にインストールされた１以上のプログラムが、画像解析ユニット６００のＣＰＵ６０２に実行させる処理により実現される。
【００２５】
以下、本実施形態における処理について説明する。
【００２６】
〈視差画像生成処理〉
視差画像生成部１１は、視差画像データ（視差画像情報）を生成する視差画像生成処理を行う。なお、視差画像生成部１１は、例えば視差演算部５１１（図２）によって構成される。
【００２７】
視差画像生成処理では、まず、２つの撮像部５１０ａ，５１０ｂのうちの一方の撮像部５１０ａの輝度画像データを基準画像データとし、他方の撮像部５１０ｂの輝度画像データを比較画像データとし、これらを用いて両者の視差を演算して、視差画像データを生成して出力する。この視差画像データは、基準画像データ上の各画像部分について算出される視差値ｄに応じた画素値をそれぞれの画像部分の画素値として表した視差画像を示すものである。
【００２８】
具体的には、視差画像生成部１１は、基準画像データのある行について、一つの注目画素を中心とした複数画素（例えば１６画素×１画素）からなるブロックを定義する。一方、比較画像データにおける同じ行において、定義した基準画像データのブロックと同じサイズのブロックを１画素ずつ横ライン方向（ｘ方向）へずらし、基準画像データにおいて定義したブロックの画素値の特徴を示す特徴量と比較画像データにおける各ブロックの画素値の特徴を示す特徴量との相関を示す相関値を、それぞれ算出する。そして、算出した相関値に基づき、比較画像データにおける各ブロックの中で最も基準画像データのブロックと相関があった比較画像データのブロックを選定するマッチング処理を行う。その後、基準画像データのブロックの注目画素と、マッチング処理で選定された比較画像データのブロックの対応画素との位置ズレ量を視差値ｄとして算出する。このような視差値ｄを算出する処理を基準画像データの全域又は特定の一領域について行うことで、視差画像データを得ることができる。
【００２９】
マッチング処理に用いるブロックの特徴量としては、例えば、ブロック内の各画素の値（輝度値）を用いることができ、相関値としては、例えば、基準画像データのブロック内の各画素の値（輝度値）と、これらの画素にそれぞれ対応する比較画像データのブロック内の各画素の値（輝度値）との差分の絶対値の総和を用いることができる。この場合、当該総和が最も小さくなるブロックが最も相関があると言える。
【００３０】
視差画像生成部１１でのマッチング処理をハードウェア処理によって実現する場合には、例えばＳＳＤ（Sum of Squared Difference）、ＺＳＳＤ（Zero-mean Sum of Squared Difference）、ＳＡＤ（Sum of Absolute Difference）、ＺＳＡＤ（Zero-mean Sum of Absolute Difference）、ＮＣＣ（Normalized cross correlation）などの方法を用いることができる。なお、マッチング処理では画素単位での視差値しか算出できないので、１画素未満のサブピクセルレベルの視差値が必要な場合には推定値を用いる必要がある。その推定方法としては、例えば、等角直線方式、二次曲線方式等を利用することができる。
【００３１】
〈Ｖマップ生成処理〉
Ｖマップ生成部１２は、視差画素データに基づき、Ｖマップ（V-Disparity Map、「垂直方向分布データ」の一例）を生成するＶマップ生成処理を実行する。視差画像データに含まれる各視差画素データは、ｘ方向位置とｙ方向位置と視差値ｄとの組（ｘ，ｙ，ｄ）で示される。これを、Ｘ軸にｄ、Ｙ軸にｙ、Ｚ軸に頻度ｆを設定した三次元座標情報（ｄ，ｙ，ｆ）に変換したもの、又はこの三次元座標情報（ｄ，ｙ，ｆ）から所定の頻度閾値を超える情報に限定した三次元座標情報（ｄ，ｙ，ｆ）を、視差ヒストグラム情報として生成する。本実施形態の視差ヒストグラム情報は、三次元座標情報（ｄ，ｙ，ｆ）からなり、この三次元ヒストグラム情報をＸ−Ｙの２次元座標系に分布させたものを、Ｖマップと呼ぶ。
【００３２】
具体的に説明すると、Ｖマップ生成部１２は、視差画像を上下方向に複数分割して得られる各行領域について、視差値頻度分布を計算する。この視差値頻度分布を示す情報が視差ヒストグラム情報である。
【００３３】
図４は視差画像データ、及びその視差画像データから生成されるＶマップについて説明するための図である。ここで、図４Ａは視差画像の視差値分布の一例を示す図であり、図５Ｂは、図４Ａの視差画像の行毎の視差値頻度分布を示すＶマップを示す図である。
【００３４】
図４Ａに示すような視差値分布をもった視差画像データが入力されたとき、Ｖマップ生成部１２は、行毎の各視差値のデータの個数の分布である視差値頻度分布を計算し、これを視差ヒストグラム情報として出力する。このようにして得られる各行の視差値頻度分布の情報を、Ｙ軸に視差画像上のｙ方向位置（撮像画像の上下方向位置）をとりＸ軸に視差値ｄをとった二次元直交座標系上に表すことで、図４Ｂに示すようなＶマップを得ることができる。このＶマップは、頻度ｆに応じた画素値をもつ画素が前記二次元直交座標系上に分布した画像として表現することもできる。
【００３５】
図５は、一方の撮像部で撮像された基準画像としての撮影画像の画像例と、その撮影画像に対応するＶマップを示す図である。ここで、図５Ａが撮影画像であり、図５ＢがＶマップである。即ち、図５Ａに示すような撮影画像から図５Ｂに示すＶマップが生成される。Ｖマップでは、路面より下の領域には視差は検出されないので、斜線で示した領域Ａで視差がカウントされることはない。
【００３６】
図５Ａに示す画像例では、自車両が走行している路面４０１と、自車両の前方に存在する先行車両４０２と、路外に存在する電柱４０３が映し出されている。また、図５Ｂに示すＶマップには、画像例に対応して、路面５０１、先行車両５０２、及び電柱５０３がある。
【００３７】
この画像例は、自車両の前方路面が、相対的に平坦な路面、即ち、自車両の前方路面が自車両の真下の路面部分と平行な面を自車両前方へ延長して得られる仮想の基準路面（仮想基準移動面）に一致している場合のものである。この場合、画像の下部に対応するＶマップの下部において、高頻度の点は、画像上方へ向かうほど視差値ｄが小さくなるような傾きをもった略直線状に分布する。このような分布を示す画素は、視差画像上の各行においてほぼ同一距離に存在していてかつ最も占有率が高く、しかも画像上方へ向かうほど距離が連続的に遠くなる識別対象物を映し出した画素であると言える。
【００３８】
撮像部５１０ａでは自車両前方領域を撮像するため、その撮像画像の内容は、図５Ａに示すように、画像上方へ向かうほど路面の視差値ｄは小さくなる。また、同じ行（横ライン）内において、路面を映し出す画素はほぼ同じ視差値ｄを持つことになる。従って、Ｖマップ上において上述した略直線状に分布する高頻度の点は、路面（移動面）を映し出す画素が持つ特徴に対応したものである。よって、Ｖマップ上における高頻度の点を直線近似して得られる近似直線上又はその近傍に分布する点の画素は、高い精度で、路面を映し出している画素であると推定することができる。また、各画素に映し出されている路面部分までの距離は、当該近似直線上の対応点の視差値ｄから高精度に求めることができる。
【００３９】
図６は、一方の撮像部で撮像された基準画像としての撮影画像の画像例と、その撮影画像に対応する所定の領域のＶマップを示す図である。
【００４０】
Ｖマップ生成部１２は、視差画像における全画素を用いてＶマップを生成してもよいし、視差画像（図６Ａは、視差画像の基となる撮影画像の例）における所定の領域（例えば、路面が写り得る領域）の画素のみを用いてＶマップを生成してもよい。例えば、路面は遠方になるにつれて、消失点に向かって狭くなるため、図６Ａに示すように、路面の幅に応じた領域を設定してもよい。これにより、路面が写り得る領域以外の領域に位置する物体（例えば電柱４０３）によるノイズがＶマップに混入しないようにすることができる。
【００４１】
〈路面推定〉
路面推定部１３は、視差画像生成部１１により生成された視差画像に基づき、路面を推定（検出）する。以下、路面推定部１３の処理について説明する。図７は、路面推定処理の一例を示すフローチャートである。
【００４２】
路面推定部１３は、Ｖマップの横軸である視差ｄの値に応じて、Ｖマップを複数のセグメントに分割する（ステップＳ１１）。複数のセグメントに分割して処理することにより、例えば平坦路から途中でアップ・ダウンするような坂形状等の複雑な形状の路面を捉えることができる。
【００４３】
続いて、路面推定部１３は、Ｖマップの画素の中から、標本点を抽出する（ステップＳ１２）。路面推定部１３は、例えば、各視差値ｄの座標位置毎に一つ以上の標本点を抽出してもよい。または、路面推定部１３は、各視差値ｄの座標位置において、頻度の最も多い最頻点を標本点として抽出してもよい。あるいは、路面推定部１３は、各視差値ｄを含む複数のｄ座標（例えば各視差値ｄの座標位置と、当該各視差値ｄの左及び右の少なくとも一方の１以上の座標位置）における頻度の最も多い最頻点を標本点として抽出してもよい。
【００４４】
続いて、路面推定部１３は、抽出した標本点のうち、不適切な点を除外する（ステップＳ１３）。路面推定部１３は、例えば最小二乗法を用いて、抽出した各標本点に応じた近似直線を算出する。そして、算出した近似直線に対し、ユークリッド距離が所定の閾値以上離れている標本点を除去する。
【００４５】
続いて、路面推定部１３は、ステップＳ１３で除外されていない標本点に基づき、路面の形状（位置、高さ）を検出する（ステップＳ１４）。路面推定部１３は、例えば最小二乗法により、各セグメントの標本点から近似直線を算出し、算出した近似直線を、路面として検出（推定）する。または、路面形状検出部１３３は、各セグメントの標本点から多項式近似などを使って算出した曲線形状を、路面として検出（推定）してもよい。
【００４６】
続いて、路面推定部１３は、検出（推定）した路面が不適切である場合は、路面を補足する（ステップＳ１５）。路面推定部１３は、例えば、ノイズにより、ステレオカメラにて撮影されることがあり得ない不適切な路面が推定された場合、デフォルト路面または、以前のフレームにて推定された路面のデータに基づいて、不適切な路面を補足（補間）する。
【００４７】
続いて、路面推定部１３は、各セグメントで推定された各路面を、当該各路面が連続するように修正（スムージング処理）する（ステップＳ１６）。路面推定部１３は、例えば、隣り合う２つのセグメントにおいてそれぞれ推定された各路面のうち、一方の路面の終点（端点）と、他方の路面の始点（端点）が一致するよう、各路面の傾きと切片を変更する。
【００４８】
〈終端セグメント修正〉
終端セグメント修正部１４は、路面推定部１３により推定された障害物の距離における路面の高さを、低く修正する。
【００４９】
第１の実施形態では、終端セグメント修正部１４は、Ｖマップを、視差値に応じた複数のセグメントに分割し、分割した各セグメントに含まれる視差頻度の値が所定値以上である画素（以下で適宜「視差点」と称する。なお、「視差点」は「距離点」の一例である。）をカウントする。
【００５０】
そして、終端セグメント修正部１４は、視差点の数が所定の閾値以上であるセグメント（終端候補）のうち、自車両からの距離が最も遠いセグメント（第２のセグメント）を判定する。
【００５１】
そして、終端セグメント修正部１４は、第２のセグメントよりも自車両からの距離が遠い第１のセグメントがあれば、第２のセグメントにおける路面の高さを低く修正する。
【００５２】
次に、図８及び図９を参照し、終端セグメント修正部１４の処理の詳細例について説明する。
【００５３】
図８は、側壁を有する路面がカーブしている場合の例について説明する図である。図８（Ａ）は側壁を有する路面がカーブしている場合の一方の撮像部で撮像された基準画像としての撮影画像の画像例を示す図である。図８（Ｂ）は、図８（Ａ）の撮影画像に対応する所定の領域のＶマップの例を示す図である。
【００５４】
図８（Ａ）のように、自車両から遠方に側壁等の障害物があり、遠方を見通せない場合、図８（Ｂ）のように、当該障害物の視差が存在するセグメントよりも遠方のセグメントでは、視差分布（画素）が存在しないことになる。
【００５５】
この場合、当該障害物の視差が存在するセグメントにおいて、路面推定部１３は、当該障害物の視差により、図８（Ｂ）の５２１のように路面の高さを高く誤検出する場合がある。
【００５６】
また、当該障害物の視差が存在するセグメントよりも遠方のセグメントにおいて、路面推定部１３は、例えばノイズ等による不適切な画素に応じて、図８（Ｂ）の５２２のように路面を検出する場合がある。
【００５７】
そこで、終端セグメント修正部１４は、以下のような処理を行う。図９は、第１の実施形態に係る終端セグメント修正処理の一例を示すフローチャートである。
【００５８】
終端セグメント修正部１４は、Ｖマップを複数のセグメントに分割する（ステップＳ１０１）。なお、分割する各セグメントのサイズ、形状、数はどのようにしてもよい。
【００５９】
続いて、終端セグメント修正部１４は、分割した各セグメントにおいて所定値（例えば１）以上の値を有する視差点をカウントする（ステップＳ１０２）。なお、所定値として、ノイズを除去するために２以上としてもよいし、各セグメント内の視差頻度の平均値としてもよい。
【００６０】
続いて、終端セグメント修正部１４は、カウント数が所定の閾値以上であるセグメントをセグメントＡ（終端候補）、カウント数が所定の閾値未満であるセグメントをセグメントＢ（非終端候補）とする（ステップＳ１０３）。これにより、図８（Ｂ）の例では、自車両からの距離が比較的近い第１セグメント乃至第４セグメントはセグメントＡ、自車両からの距離が比較的遠い第５セグメント乃至第７セグメントはセグメントＢと判定される。
【００６１】
続いて、終端セグメント修正部１４は、自車両からの距離が遠いセグメントから順に評価していき、セグメントＢからセグメントＡに変わった際のセグメントＡを終端セグメントとして決定する（ステップＳ１０４）。自車両からの距離が遠いセグメントから順に探索することにより、終端セグメントよりも自車両からの距離が近いセグメントが例えばノイズ等によりセグメントＢと判定されている場合であっても、正しく終端セグメントを検出できる。
【００６２】
続いて、終端セグメント修正部１４は、終端セグメントの路面が低くなるように路面を修正する（ステップＳ１０５）。終端セグメント修正部１４は、終端セグメントに対して路面推定部１３により推定された路面と、路面推定部１３とは異なる方法により推定した路面のうち、より低い路面を終端セグメントの路面とする。ここで、高さが低い位置に存在する路面は、例えば、終端セグメントの終点（左端）におけるｙ座標が低い路面や、中点のｙ座標が低い路面としてもよい。
【００６３】
終端セグメント修正部１４は、例えば、以下により算出した路面を、路面推定部１３とは異なる方法により推定した路面としてもよい。
【００６４】
・終端セグメントの一つ前のセグメントに対して推定された路面を終端セグメントまで延長した路面
・終端セグメントに対して以前の撮影画像（フレーム）にて推定された路面（履歴路面）
なお、終端セグメントを修正した結果、セグメントが不連続となる場合は、上述したスムージング処理を実施して、各セグメントが連続するように修正してもよい。
【００６５】
これにより、図８（Ｂ）の５２３のように、終端セグメントにおける路面が修正される。
【００６６】
続いて、終端セグメント修正部１４は、終端セグメントよりも自車両からの距離が遠いセグメントの路面を修正する（ステップＳ１０６）。終端セグメント修正部１４は、終端セグメントよりも自車両からの距離が遠いセグメントの路面について、例えば以下の処理を行う。図１０は、終端セグメントよりも遠いセグメントの路面を修正する処理の例について説明する図である。
【００６７】
・図１０（Ａ）のように、路面を終端セグメントで打ち切る（終端セグメントよりも遠いセグメントの路面を破棄する）。これにより、後段のクラスタリングに使用されるＵマップには、終端セグメントよりも自車両からの距離が遠いセグメントの視差が利用されないようにすることができる。
【００６８】
・図１０（Ｂ）のように、終端セグメントよりも自車両からの距離が遠いセグメントにおいて、修正した終端セグメントの路面を延長する。
【００６９】
・図１０（Ｃ）のように、終端セグメントよりも自車両からの距離が遠いセグメントに対して以前のフレームにて推定された路面を、修正した終端セグメントの路面の終点（左端）を基点として、連続するように連結する。
【００７０】
〈路面高さテーブル算出処理〉
路面高さテーブル算出部１５は、スムージング処理部１３５にて修正された各セグメントにおける路面に基づいて、路面高さ（自車両の真下の路面部分に対する相対的な高さ）を算出してテーブル化する路面高さテーブル算出処理を行う。
【００７１】
路面高さテーブル算出部１５は、各セグメントにおける路面の情報から、撮像画像上の各行領域（画像上下方向の各位置）に映し出されている各路面部分までの距離を算出する。なお、自車両の真下に位置する路面部分をその面に平行となるように自車両進行方向前方へ延長した仮想平面の自車両進行方向における各面部分が、撮像画像中のどの各行領域に映し出されるかは予め決まっており、この仮想平面（基準路面）はＶマップ上で直線（基準直線）により表される。路面高さテーブル算出部１５は、各セグメントにおける路面と、基準直線とを比較することで、自車両前方の各路面部分の高さを得ることができる。簡易的には、各セグメントにおける路面上のＹ軸位置から、これに対応する視差値から求められる距離だけ自車両前方に存在する路面部分の高さを算出できる。路面高さテーブル算出部１５では、近似直線から得られる各路面部分の高さを、必要な視差範囲についてテーブル化する。
【００７２】
なお、ある視差値ｄにおいてＹ軸位置がｙ'である地点に対応する撮像画像部分に映し出されている物体の路面からの高さは、当該視差値ｄにおける路面上のＹ軸位置をｙ０としたとき、（ｙ'−ｙ０）から算出することができる。一般に、Ｖマップ上における座標（ｄ，ｙ'）に対応する物体についての路面からの高さＨは、下記の式より算出することができる。ただし、下記の式において、「ｚ」は、視差値ｄから計算される距離（ｚ＝ＢＦ／（ｄ−ｏｆｆｓｅｔ））であり、「ｆ」はカメラの焦点距離を（ｙ'−ｙ０）の単位と同じ単位に変換した値である。ここで、「ＢＦ」は、ステレオカメラの基線長と焦点距離を乗じた値であり、「ｏｆｆｓｅｔ」は無限遠の物体を撮影したときの視差値である。
【００７３】
Ｈ＝ｚ×（ｙ'−ｙ０）／ｆ
〈クラスタリング、棄却、トラッキング〉
クラスタリング部１６は、視差画像データに含まれる各視差画素データにおけるｘ方向位置とｙ方向位置と視差値ｄとの組（ｘ，ｙ，ｄ）を、Ｘ軸にｘ、Ｙ軸にｄ、Ｚ軸に頻度を設定し、Ｘ−Ｙの２次元ヒストグラム情報（頻度Ｕマップ）を作成する。
【００７４】
クラスタリング部１６は、路面高さテーブル算出部１５によってテーブル化された各路面部分の高さに基づいて、路面からの高さＨが所定の高さ範囲（たとえば２０ｃｍから３ｍ）にある視差画像の点（ｘ，ｙ，ｄ）についてだけ頻度Ｕマップを作成する。この場合、路面から当該所定の高さ範囲に存在する物体を適切に抽出することができる。
【００７５】
クラスタリング部１６は、頻度Ｕマップにおいて、頻度が所定値よりも多い、視差が密集している領域を物体の領域として検出し、視差画像上の座標や、物体の実際の大きさ（サイズ）から予測した物体のタイプ（人や歩行者）などの個体情報を付与する。
【００７６】
棄却部１７は、視差画像、頻度Ｕマップ、物体の個体情報に基づいて、認識対象ではない物体の情報を棄却する。
【００７７】
トラッキング部１８は、検出された物体が複数の視差画像のフレームで連続して出現する場合に、追跡対象であるか否かを判定する。
【００７８】
〈走行支援制御〉
制御部１９は、クラスタリング部１６による、物体の検出結果に基づいて、例えば、自車両１００の運転者へ警告を報知したり、自車両のハンドルやブレーキを制御したりするなどの走行支援制御を行う。
【００７９】
［第２の実施形態］
第１の実施形態では、各セグメントにおける視差点の数に基づいて、終端セグメントを検出する例について説明した。第２の実施形態では、終端セグメント修正部１４は、各セグメントの各視差ｄに対する視差点の数に基づいて、終端セグメントを検出する例について説明する。なお、第２の実施形態は一部を除いて第１の実施形態と同様であるため、適宜説明を省略する。
【００８０】
以下では第２の実施形態に係る車載機器制御システム１の処理について第１の実施形態との差異を説明する。
【００８１】
第２の実施形態に係る終端セグメント修正部１４は、まず、第１の実施形態と同様に、Ｖマップを、視差値に応じた複数のセグメントに分割し、分割した各セグメントに含まれる視差頻度の値が所定値以上である画素（視差点）をカウントする。
【００８２】
そして、終端セグメント修正部１４は、視差点の数が所定の閾値以上である視差値ｄの数が所定の閾値以上であるセグメント（終端候補）のうち、自車両からの距離が最も遠いセグメント（第２のセグメント）を判定する。
【００８３】
そして、終端セグメント修正部１４は、第１の実施形態と同様に、第２のセグメントよりも自車両からの距離が遠い第１のセグメントがあれば、第２のセグメントにおける路面の高さを低く修正する。
【００８４】
図１１は、第２の実施形態に係る終端セグメント修正処理の一例を示すフローチャートである。
【００８５】
終端セグメント修正部１４は、Ｖマップを複数のセグメントに分割する（ステップＳ２０１）。
【００８６】
続いて、終端セグメント修正部１４は、分割した各セグメントの各ｄ座標について、所定値（例えば１）以上の値を有する画素（視差点）が所定数（例えば１）以上であるｄ座標をカウントする（ステップＳ２０２）。なお、当該所定値として、ノイズを除去するために２以上としてもよいし、各セグメント内の視差頻度の平均値としてもよい。
【００８７】
また、当該所定数は、路面の分散を考慮して設定してもよいし、何らかの所定値を予め設定してもよい。例えば、路面の視差の縦方向（ｙ方向）に分散する際の正常な高さが20cm分であると分かっている場合に、実距離20cmを画素数に変換した値を所定値としてもよい。これにより、ノイズを除去することができる。
【００８８】
続いて、終端セグメント修正部１４は、ｄ座標のカウント数が所定の閾値以上であるセグメントをセグメントＡ、ｄ座標のカウント数が所定の閾値未満であるセグメントをセグメントＢとする（ステップＳ２０３）。
【００８９】
続いて、終端セグメント修正部１４は、自車両からの距離が遠いセグメントから順に評価していき、セグメントBからセグメントAに変わった際のセグメントAを終端セグメントとして決定する（ステップＳ２０４）。
【００９０】
続いて、終端セグメント修正部１４は、終端セグメントの路面が低くなるように路面を修正する（ステップＳ２０５）。
【００９１】
続いて、終端セグメント修正部１４は、終端セグメントよりも自車両からの距離が遠いセグメントの路面を修正する（ステップＳ２０６）。
【００９２】
なお、ステップＳ２０１、ステップＳ２０４乃至ステップＳ２０６の処理は、第１の実施形態に係る図９のステップＳ１０１、ステップＳ１０４乃至ステップＳ１０６の処理と同様である。
【００９３】
次に、図１２を参照し、ステップＳ２０２、ステップＳ２０３の処理について説明する。図１２は、第２の実施形態の終端セグメントを探索する処理について説明する図である。
【００９４】
あるセグメントにおけるＶマップが図１２（Ａ）のような形状の場合、図１２（Ｂ）のように、各d座標に対して、所定値以上の値を有する画素数を縦方向にカウントしていった時に、その数が所定数未満のd座標はノイズと判定され、ノイズと判定されなかったd座標の数がカウントされる。そして、ノイズと判定されなかったd座標の数が所定の閾値以上であるセグメントをセグメントＡ（終端候補）と判定する。
【００９５】
なお、図１２（Ｂ）の例では、各ｄ座標における視差点の数をヒストグラムに変換してから判定する例を示しているが、必ずしもヒストグラム化する必要はない。例えば、以下のような処理をしてもよい。
【００９６】
終端セグメント修正部１４は、対象セグメントの終点（左端）のｄ座標から順に判定していき、各ｄ座標（ビン）のカウント数が所定数５２４を超えていた場合に、ｄ座標のカウンタをインクリメントし、次のｄ座標の判定に移る。そして、ｄ座標のカウンタが所定の閾値以上となった時点で、対象セグメントをセグメントＡ（終端候補）とする。
【００９７】
第２の実施形態によれば、Ｖマップの縦方向（ｙ方向）にまとまって出現する側壁等の障害物の視差点群を捉えることができる。そのため、終端セグメントを探索する精度が向上する。
【００９８】
［第３の実施形態］
第３の実施形態では、Ｖマップの各セグメントに対応する輝度画像（基準画像データ）中の所定領域内を画像認識し、認識結果に基づいて終端セグメントを判定する例について説明する。
【００９９】
第１の実勢形態、及び第２の実勢形態では、Ｖマップ上の視差点に基づいて終端セグメントを判定するため、例えば路面に凹凸や白線等がないため視差点を検出できない場合、終端セグメントであると誤判定する可能性がある。
【０１００】
第３の実施形態によれば、視差点を検出できないセグメントの場合でも、終端セグメントであるか否かを正しく判定できる。
【０１０１】
なお、第３の実施形態は一部を除いて第１の実施形態と同様であるため、適宜説明を省略する。以下では第３の実施形態に係る車載機器制御システム１の処理の詳細について第１の実施形態との差異を説明する。
【０１０２】
図１３乃至図１５を参照して、第３の実施形態の終端セグメント修正部１４による終端セグメント修正処理を説明する。
【０１０３】
図１３は、第３の実施形態に係る終端セグメント修正処理の一例を示すフローチャートである。
【０１０４】
まず、終端セグメント修正部１４は、撮影画像中に各領域を設定する（ステップＳ３０１）。図１４は、撮影画像と、Ｖマップの対応関係を説明する図である。図１４では、直進する路面が写り得る領域を３つの領域５９１、５９２、５９３に分割した場合の例を示している。
【０１０５】
続いて、終端セグメント修正部１４は、撮影画像の各領域を画像認識する（ステップＳ３０２）。
【０１０６】
なお、ステップＳ３０２の画像認識の手法としては、任意の手法を使用してよい。例えば、車両、人、路面、雨滴等の物体用のテンプレートを事前に用意しておき、テンプレートマッチングさせることで物体を認識してもよい。
【０１０７】
また、例えば、「Csurka, G., Bray, C., Dance, C. and Fan, L, "Visual categorization with bags of keypoints," Proc. ECCV Workshop on Statistical Learning in Computer Vision, pp.1-22, 2004.」に記載されているような、ＳＩＦＴ(Scale-Invariant Feature Transform)などの局所特徴量を量子化したvisual wordsと称されるベクトルを用いて認識に利用するBag-of-Visual-Words法を用いてもよい。あるいは、「Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton., "Imagenet classification with deep convolutional neural networks," In Advances in neural information processing systems, pp.1097-1105, 2012.」に記載されているような、ニューラルネットを多層化したDeep Learningを用いる方法を用いてもよい。
【０１０８】
また、画像認識する際は、基準画像の所定領域をより小さな小領域に分割し、ラスタスキャンしながら逐次認識処理を実行してもよい。この場合、セグメント全体を認識処理にかけるよりも、ノイズが含まれる領域を除去できるため、認識精度を向上させることができる。
【０１０９】
続いて、終端セグメント修正部１４は、ステップＳ３０２の画像認識の結果に基づき、終端セグメントを判定する（ステップＳ３０３）。
【０１１０】
Ｖマップの各セグメントの視差点は、輝度画像中の各セグメントに対応する領域に写っている物体によるものである。したがって、輝度画像中の各領域に側壁等の障害物が写っているか否かを画像認識で判定すれば、各領域に対応するＶマップの各セグメントが終端セグメントであるか否かを判定できる。
【０１１１】
終端セグメント修正部１４は、例えば、側壁等の障害物が、輝度画像中の各領域のうち、最も高い位置の領域の上端まで写っている場合、この障害物の下端が含まれるセグメントが終端セグメントと判定してもよい。
【０１１２】
図１５は、側壁等の障害物の撮影画像と、Ｖマップの対応関係を説明する図である。
【０１１３】
例えば、撮影画像の領域５９２の一部の領域と、及び領域５９３の全体に障害物が写っていた（存在していた）場合、Ｖマップ上では、セグメント５９２ａに縦方向に延びる形で視差が分布し、それより遠方のセグメント５９３ａでは視差点が出現しない。この場合、セグメント５９２ａが終端セグメントであると判定される。
【０１１４】
第３の実施形態によれば、例えば悪天候時で、雨の照り返しで視差が分散するノイズが発生する状況においても、終端セグメントを探索する精度が向上する。
【０１１５】
なお、上述した画像認識は、撮像画像（輝度画像）の代わりに、視差画像を用いて行ってもよい。または、撮像画像と視差画像の両方を用いてもよい。この場合、例えば認識結果に重み付けをして障害物を認識してもよいし、認識結果のスコアを平均した値が所定値よりも大きい場合に障害物が存在すると判定してもよい。
【０１１６】
また、第３の実施形態の終端セグメント判定結果と、第１の実施形態、第２の実施形態の終端セグメント判定結果との重み付け加算した値に基づいて、終端セグメントを判定してもよい。
【０１１７】
［第４の実施形態］
第４の実施形態では、各セグメントの路面を推定する際に、以前に撮影した撮影画像（過去のフレーム）で判定された終端セグメントのデータに基づいて、今回撮影した撮影画像で判定された終端セグメントの路面を修正する例について説明する。
【０１１８】
なお、第４の実施形態は一部を除いて第１の実施形態と同様であるため、適宜説明を省略する。以下では第４の実施形態に係る車載機器制御システム１の処理の詳細について第１の実施形態との差異を説明する。
【０１１９】
図１６は、第４の実施形態に係る路面推定処理の一例を示すフローチャートである。
【０１２０】
路面推定部１３は、Ｖマップの横軸である視差ｄの値に応じて、Ｖマップを複数のセグメントに分割する（ステップＳ２１）。
【０１２１】
続いて、路面推定部１３は、Ｖマップにおいて、自車両からの距離が最も近いセグメントを、処理対象のセグメントとする（ステップＳ２２）。
【０１２２】
続いて、路面推定部１３は、処理対象のセグメントに含まれる画素の中から、標本点を抽出する（ステップＳ２３）。
【０１２３】
図１７は、第４の実施形態に係る標本点抽出処理の一例を説明する図である。路面推定部１３は、例えば、第２のセグメントにおいて、前のセグメント（既に路面を検出した、第２のセグメントと隣り合うセグメント）の路面５６１の終点位置（前のセグメントの路面５６１が、第２のセグメントと接する位置）を基準点５６２とする。そして、路面推定部１３は、基準点５６２に応じた所定範囲を標本点の探索領域５６３として設定する。
【０１２４】
路面推定部１３は、例えば、図１７（Ａ）のように、基準点を始点とする２直線５６４，５６５であって、所定の角度で隣のセグメントまで延びる２直線５６４，５６５の間を探索領域５６３としてもよい。この場合、路面推定部１３は、当該２直線５６４，５６５を、路面が傾き得る角度に対応して決定してもよい。または、路面推定部１３は、探索領域５６３を、例えば、図１７（Ｂ）のように、基準点５６２のｙ座標に応じた高さを有する矩形の領域としてもよい。
【０１２５】
続いて、路面推定部１３は、抽出した標本点のうち、不適切な点を除外する（ステップＳ２４）。
【０１２６】
続いて、路面推定部１３は、ステップＳ２４で除外されていない標本点に基づき、処理対象のセグメントにおける路面の形状（位置、高さ）を検出する（ステップＳ２５）。
【０１２７】
続いて、路面推定部１３は、検出（推定）した路面が不適切である場合は、処理対象のセグメントにおける路面を補足する（ステップＳ２６）。
【０１２８】
続いて、終端セグメント修正部１４は、処理対象のセグメントが終端セグメントであるか否かを判定する（ステップＳ２７）。終端セグメント修正部１４は、ステップＳ２７で、例えば、データＩ／Ｆ６０３を利用して自車両１００の車速を取得し、車速に応じた障害物の移動量を算出し、算出した障害物の移動量に応じて、今回のフレームにおける終端セグメントを判定してもよい。
【０１２９】
処理対象のセグメントが終端セグメントである場合（ステップＳ２７でＹＥＳ）、終端セグメント修正部１４は、終端セグメントの路面を、終端セグメントの履歴路面に基づいて修正し（ステップＳ２８）、後述するステップＳ３１の処理に進む。終端セグメント修正部１４は、ステップＳ２８で、前回のフレームで算出した終端セグメントの路面を、今回のフレームで算出した終端セグメントの路面としてもよい。または、終端セグメント修正部１４は、例えば、データＩ／Ｆ６０３を利用して自車両１００の車速を取得し、車速に応じた路面の移動量を算出し、算出した路面の移動量に応じて終端セグメントの路面を修正してもよい。
【０１３０】
なお、終端セグメント修正部１４は、起動時等のため、履歴路面が記憶されていない場合は、上述した第１乃至第３の実施形態で説明した処理により、終端セグメントの路面を修正し、修正した路面を履歴路面として記憶してもよい。
【０１３１】
処理対象のセグメントが終端セグメントでない場合（ステップＳ２７でＮＯ）、路面推定部１３は、Ｖマップにおいて、処理対象のセグメントよりも自車両からの距離が遠い次のセグメントがあるか否かを判定する（ステップＳ２９）。
【０１３２】
次のセグメントがある場合（ステップＳ２９でＹＥＳ）、次のセグメントを処理対象として選択し（ステップＳ３０）、ステップＳ２３の処理に進む。
【０１３３】
次のセグメントがない場合（ステップＳ２９でＮＯ）、路面推定部１３は、各セグメントで推定された各路面を、当該各路面が連続するように修正（スムージング処理）する（ステップＳ３１）。
【０１３４】
ステップＳ２３において、路面推定部１３が、図１７のように、自車両からの距離がより近いセグメントから順に、前のセグメントの路面を基準に、処理対象のセグメントにおける標本点の探索領域を決定するものとする。このように、前のセグメントで推定された路面が、次のセグメントで推定される路面に影響を与える場合、路面推定処理と終端セグメント修正処理を順次実行し、次のセグメントを処理する際には、一つ前のセグメントの路面が修正済みとなっている必要がある。
【０１３５】
第４の実施形態によれば、路面推定処理と終端セグメント修正処理を各セグメントに対して順次実行するため、例えば、前のセグメントの路面を基準に、処理対象のセグメントにおける標本点の探索領域を決定することができる。
【０１３６】
［第５の実施形態］
第５の実施形態では、上り坂を、側壁等の障害物であると誤判定した場合に、終端セグメント修正処理を実施しないように制御する例について説明する。
【０１３７】
なお、第５の実施形態は一部を除いて第１の実施形態と同様であるため、適宜説明を省略する。以下では第５の実施形態に係る車載機器制御システム１の処理の詳細について第１の実施形態との差異を説明する。
【０１３８】
第１の実施形態、及び第２の実施形態において、自車両の前方が上り坂の場合、Ｖマップ上のあるセグメントにおいて推定された路面の高さが上に突き抜け、より遠方のセグメントにおいて視差点がない場合がある。
【０１３９】
図１８は、上り坂における終端セグメント修正処理について説明する図である。図１８（Ａ）のように、Ｖマップ上で、自車両からの距離が近い順に、第１から第７までのセグメントに分割し、第６セグメントにおいて路面の高さが上がる上り坂のシーンであるとする。この場合、第７セグメントにおいて視差点が少ないため、第１の実施形態、第２の実施形態で説明した処理では、第６セグメントが終端セグメントと判定され、終端セグメントにおける路面５４１が、高さが低い路面５４２に修正されるという問題がある。
【０１４０】
そこで、第５の実施形態に係る終端セグメント修正部１４は、以下の処理を行う。
【０１４１】
図１９は、第５の実施形態に係る終端セグメント修正処理の一例を示すフローチャートである。
【０１４２】
終端セグメント修正部１４は、Ｖマップを複数のセグメントに分割する（ステップＳ５０１）。
【０１４３】
終端セグメント修正部１４は、分割した各セグメントにおいて、上り坂であるセグメントが存在するか否かを判定する（ステップＳ５０２）。
【０１４４】
終端セグメント修正部１４は、図１８（Ｂ）のように、あるセグメントの所定の範囲５５１に、所定数（例えば１）以上の視差点が含まれる場合に、このセグメントを上り坂のセグメントと判定してもよい。この所定の範囲５５１は、例えば前のセグメントの路面の終端（左端）を基準とし、当該基準よりも位置が高い範囲としてもよい。
【０１４５】
上り坂であるセグメントが存在する場合（ステップＳ５０２でＹＥＳ）、処理を終了する。
【０１４６】
上り坂であるセグメントが存在しない場合（ステップＳ５０２でＮＯ）、終端セグメント修正部１４は、終端セグメントを探索する（ステップＳ５０３）。なお、終端セグメントを探索する処理は、例えば、上述した第１の実施形態、または第２の実施形態と同様でもよい。
【０１４７】
続いて、終端セグメント修正部１４は、終端セグメントの路面が低くなるように路面を修正する（ステップＳ５０４）。
【０１４８】
続いて、終端セグメント修正部１４は、終端セグメントよりも自車両からの距離が遠いセグメントの路面を修正する（ステップＳ５０５）。
【０１４９】
第５の実施形態によれば、路面が上り坂の場合は、終端セグメント修正処理を実施しないように制御するため、より適切に路面を推定できる。
【０１５０】
＜まとめ＞
上述した各実施形態によれば、Ｖマップにおける各セグメントのうち、視差点の数に応じた値が所定の閾値未満のセグメントよりも手前のセグメントを終端セグメントと判定し、終端セグメントにおける路面の高さを低くなるように修正する。それにより、側壁やガードレール等の障害物の視差を検出した場合であっても、路面を検出する精度を向上させることが可能となる。
【０１５１】
なお、距離の値（距離値）と視差値は等価に扱えることから、本実施形態においては距離画像の一例として視差画像を用いて説明しているが、これに限られない。例えば、ステレオカメラを用いて生成した視差画像に対して、ミリ波レーダやレーザレーダ等の検出装置を用いて生成した距離情報を統合して、距離画像を生成してもよい。また、ステレオカメラと、ミリ波レーダやレーザレーダ等の検出装置を併用し、上述したステレオカメラによる物体の検出結果と組み合わせることにより、検出の精度をさらに高める構成としてもよい。
【０１５２】
上述した実施形態におけるシステム構成は一例であり、用途や目的に応じて様々なシステム構成例があることは言うまでもない。また、上述した各実施形態の一部又は全部を組み合わせることも可能である。
【０１５３】
例えば、路面推定処理において、外れ点除去、路面補足、スムージング処理等の処理は必須ではないため、これらの処理を行わないようにしてもよい。
【０１５４】
また、処理ハードウェア部５１０、画像解析ユニット６００、及び車両走行制御ユニット１０４の各機能部は、ハードウェアによって実現される構成としてもよいし、ＣＰＵが記憶装置に格納されたプログラムを実行することによって実現される構成としてもよい。このプログラムは、インストール可能な形式又は実行可能な形式のファイルによって、コンピュータで読み取り可能な記録メディアに記録されて流通されるようにしても良い。また、上記記録メディアの例として、ＣＤ−Ｒ(Compact Disc Recordable)、ＤＶＤ(Digital Versatile Disk)、ブルーレイディスク等が挙げられる。また、各プログラムが記憶されたＣＤ−ＲＯＭ等の記録メディア、並びに、これらプログラムが記憶されたＨＤ５０４は、プログラム製品(Program Product)として、国内又は国外へ提供されることができる。
【符号の説明】
【０１５５】
１  車載機器制御システム（「機器制御システム」の一例）
１００  自車両
１０１  撮像ユニット
１０３  表示モニタ
１０６  車両走行制御ユニット（「制御部」の一例）
１１  視差画像生成部（「距離画像生成部」の一例）
１２  Ｖマップ生成部（「生成部」の一例）
１３  路面推定部（「推定部」の一例）
１４  終端セグメント修正部（「修正部」の一例）
１５  路面高さテーブル算出部
１６  クラスタリング部（「物体検出部」の一例）
１７  棄却部
１８  トラッキング部
１９  制御部
２  撮像装置
５１０ａ，５１０ｂ  撮像部
５１０  処理ハードウェア部
６００  画像解析ユニット（「画像処理装置」の一例）
【先行技術文献】
【特許文献】
【０１５６】
【特許文献１】特開２０１５−０７５８００号公報
【図１】
0006733302.tif 000002
【図２】
0006733302.tif 000003
【図３】
0006733302.tif 000004
【図４】
0006733302.tif 000005
【図５】
0006733302.tif 000006
【図６】
0006733302.tif 000007
【図７】
0006733302.tif 000008
【図８】
0006733302.tif 000009
【図９】
0006733302.tif 000010
【図１０】
0006733302.tif 000011
【図１１】
0006733302.tif 000012
【図１２】
0006733302.tif 000013
【図１３】
0006733302.tif 000014
【図１４】
0006733302.tif 000015
【図１５】
0006733302.tif 000016
【図１６】
0006733302.tif 000017
【図１７】
0006733302.tif 000018
【図１８】
0006733302.tif 000019
【図１９】
0006733302.tif 000020