(57)【要約】【課題】路面形状の推定精度を向上させる。【解決手段】情報処理装置は、視差を含む視差画像を示す視差画像データを取得する視差情報入力部１５１と、視差画像データに基づいて、視差を視差画像の各画素の座標に対応する位置に投票することにより、視差画像の座標毎の視差の頻度を示すＶマップを生成するＶマップ生成部１５２と、Ｖマップに基づいて路面形状を推定する形状推定部１５６と、推定された路面形状に基づいて、視差と路面の高さとの関係を示す高さテーブルを生成する高さテーブル生成部１５７と、視差を取得するステレオカメラのローリングに関するローリング情報に基づいて、ローリングによる影響を打ち消すように、路面形状を示す情報の生成に利用される情報を補正する補正部１６１と、を備える。【選択図】図５
2018091652.tif 000002
【特許請求の範囲】
【請求項１】
距離情報を含む距離画像を示す距離画像データを取得する取得部と、
前記距離画像データに基づいて、前記距離情報を前記距離画像の各画素の座標に対応する位置に投票することにより、前記距離画像の前記座標毎の前記距離情報の頻度を示す頻度情報を生成する第１の生成部と、
前記頻度情報に基づいて路面形状を推定する推定部と、
推定された前記路面形状に基づいて、前記距離情報と路面の高さとの関係を示す高さ情報を生成する第２の生成部と、
前記距離情報を取得する距離情報取得ユニットのローリングに関するローリング情報に基づいて、前記ローリングによる影響を打ち消すように、前記路面形状を示す情報の生成に利用される情報を補正する補正部と、
を備える情報処理装置。
【請求項２】
前記補正部は、前記ローリング情報に基づいて前記高さ情報を補正する、
請求項１に記載の情報処理装置。
【請求項３】
前記補正部は、前記ローリングに起因する、推定された前記路面形状の実路面に対するずれを打ち消すように算出されたローリング補正量を前記高さ情報に含まれる前記高さに加減算する、
請求項２に記載の情報処理装置。
【請求項４】
前記ローリング補正量は、推定された前記路面形状をその傾きが実路面の傾きと一致するように回転させるための第１の補正量と、推定された前記路面形状をその座標が実路面の座標と一致するように平行移動させるための第２の補正量とを含む、
請求項３に記載の情報処理装置。
【請求項５】
前記補正部は、前記高さ情報から所定の前記高さを抽出して参照する際に、前記ローリング補正量の加減算を行う、
請求項３または４に記載の情報処理装置。
【請求項６】
前記補正部は、前記ローリング情報に基づいて前記頻度情報を補正する、
請求項１に記載の情報処理装置。
【請求項７】
補正部は、前記距離画像から前記頻度情報に投票される前記距離情報の投票位置を補正する、
請求項６に記載の情報処理装置。
【請求項８】
前記距離情報取得ユニットは、ステレオカメラであり、
前記距離情報は、視差であり、
前記距離画像は、視差画像であり、
前記距離画像データは、前記視差画像を示す視差画像データである、
請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項９】
前記距離画像データを生成するステレオカメラと、
請求項１〜８のいずれか１項に記載の情報処理装置と、
を備える撮像装置。
【請求項１０】
請求項１〜８のいずれか１項に記載の情報処理装置と、
前記路面形状を示す情報に基づいて機器の動作を制御する機器制御部と、
を備える機器制御システム。
【請求項１１】
距離情報を含む距離画像を示す距離画像データを取得するステップと、
前記距離画像データに基づいて、前記距離情報を前記距離画像の各画素の座標に対応する位置に投票することにより、前記距離画像の前記座標毎の前記距離情報の頻度を示す頻度情報を生成するステップと、
前記頻度情報に基づいて路面形状を推定するステップと、
推定された前記路面形状に基づいて、前記距離情報と路面の高さとの関係を示す高さ情報を生成するステップと、
前記距離情報を取得する距離情報取得ユニットのローリングに関するローリング情報に基づいて、前記ローリングによる影響を打ち消すように、前記路面形状を示す情報の生成に利用される情報を補正するステップと、
を含む情報処理方法。
【請求項１２】
コンピュータに、
距離情報を含む距離画像を示す距離画像データを取得する処理と、
前記距離画像データに基づいて、前記距離情報を前記距離画像の各画素の座標に対応する位置に投票することにより、前記距離画像の前記座標毎の前記距離情報の頻度を示す頻度情報を生成する処理と、
前記頻度情報に基づいて路面形状を推定する処理と、
推定された前記路面形状に基づいて、前記距離情報と路面の高さとの関係を示す高さ情報を生成する処理と、
前記距離情報を取得する距離情報取得ユニットのローリングに関するローリング情報に基づいて、前記ローリングによる影響を打ち消すように、前記路面形状を示す情報の生成に利用される情報を補正する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、撮像装置、機器制御システム、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、自動車の安全性において、歩行者と自動車とが衝突したときに、いかに歩行者を守れるか、および、乗員を保護できるかの観点から、自動車のボディー構造等の開発が行われてきた。しかしながら、近年、情報処理技術および画像処理技術の発達により、高速に人および自動車を検出する技術が開発されてきている。これらの技術を応用して、自動車が物体に衝突する前に自動的にブレーキをかけ、衝突を未然に防ぐという自動車もすでに開発されている。車両の自動制御には、人または他車等の物体までの距離を正確に測定する必要があり、そのためには、ミリ波レーダおよびレーザレーダによる測距、ならびに、ステレオカメラによる測距等が実用化されている。このような車両の自動制御を実用化するためには、上述した装置で測距された情報に基づいて、画面上に写る物体を検出し、物体ごとに制御を行う必要がある。例えば、検出された物体が歩行者か車両かによって制御を変えることが想定される。
【０００３】
ステレオカメラで測距する場合、左右のカメラで撮影された局所領域のズレ量（視差）に基づいて視差画像を生成し、前方物体と自車両との距離を測定することができる。そして、同程度の距離に存在する（同程度の視差値を有する）視差画素の群を１つの物体として検出するクラスタリング処理により、自車両が走行している路面の形状および衝突回避等の対象となるオブジェクト（人、車両、構造物等）を検出することができる。
【０００４】
視差画像を利用して路面の形状を推定する物体認識装置として、自車両のピッチング、ローリング等による影響を除去することを目的として、ステレオカメラから得られる画像をウィンドウに区分し、ウィンドウ毎に対象物までの距離を計測する計測手段と、ステレオカメラによって撮像された路面の距離に基づいて路面の車両に対する相対的な傾きを推定する推定手段と、推定された路面の傾きに基づいてウィンドウ毎に撮像対象が障害物か路面上の文字やマークであるか判別する判別手段と、判別手段による判別結果に基づいて対象物の認識を行う認識手段と、を備え、自車両から路面（平坦路面）までの距離を事前に算出しておき、ウィンドウ毎に平坦路面を仮定した場合の距離を算出する構成が開示されている（特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
距離画像（視差画像等）に基づいて路面形状を推定するシステムにおいて、距離情報（視差等）を取得するユニット（ステレオカメラ等）がローリングすると、路面に対応する距離情報は、実際の路面の状態を正確に示すものとはならない可能性がある。そのため、距離画像に基づいて路面形状を推定する際には、ローリングの影響を除去する補正処理が必要となる。
【０００６】
実際の路面は勾配が変化していることが多いものであるため、ローリングの影響を除去して路面の形状を高精度で推定するためには、路面の勾配に影響されない補正処理が必要となる。上記先行技術のように、平坦路面を仮定した補正処理によっては、勾配が変化する実際の路面上でカメラがローリングした場合等には路面形状を正確に推定することができない。
【０００７】
本発明は、上記に鑑みてなされたものであって、路面形状の推定精度を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、距離情報を含む距離画像を示す距離画像データを取得する取得部と、前記距離画像データに基づいて、前記距離情報を前記距離画像の各画素の座標に対応する位置に投票することにより、前記距離画像の前記座標毎の前記距離情報の頻度を示す頻度情報を生成する第１の生成部と、前記頻度情報に基づいて路面形状を推定する推定部と、推定された前記路面形状に基づいて、前記距離情報と路面の高さとの関係を示す高さ情報を生成する第２の生成部と、前記距離情報を取得する距離情報取得ユニットのローリングに関するローリング情報に基づいて、前記ローリングによる影響を打ち消すように、前記路面形状を示す情報の生成に利用される情報を補正する補正部と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、路面形状の推定精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施形態に係る機器制御システムを搭載した車両の例を示す模式図である。
【図２】図２は、第１の実施形態に係る機器制御システムの全体的なハードウェア構成の例を示す図である。
【図３】図３は、第１の実施形態に係る撮像装置のハードウェア構成の例を示す図である。
【図４】図４は、第１の実施形態に係る機器制御システムの機能的構成の例を示す図である。
【図５】図５は、第１の実施形態に係る路面推定部の機能的構成の例を示す図である。
【図６】図６は、視差とステレオカメラからオブジェクトまでの距離との関係を説明するための図である。
【図７】図７は、オブジェクトのサイズを画素数に変換する方法を説明するための図である。
【図８】図８は、視差画像の例を示す図である。
【図９】図９は、図８に示す視差画像に対応するＶマップの例を示す図である。
【図１０】図１０は、視差画像内において投票の対象となる投票領域の例を示す図である。
【図１１】図１１は、Ｖマップおよび高さテーブルの例を示す図である。
【図１２】図１２は、ステレオカメラのローリングが路面推定処理に与える影響を説明するための図である。
【図１３】図１３は、図１２に示す状況に対応するＶマップの例を示す図である。
【図１４】図１４は、第１の実施形態に係る補正部の機能的構成の例を示す図である。
【図１５】図１５は、ローリング補正量により推定路面の補正を行った場合の視差画像の例を示す図である。
【図１６】図１６は、第１の実施形態に係る路面推定部による処理の流れの例を示すフローチャートである。
【図１７】図１７は、第２の実施形態に係る路面推定部の機能的構成の例を示す図である。
【図１８】図１８は、補正前におけるＶマップへの投票の状態の例を示す図である。
【図１９】図１９は、補正後におけるＶマップへの投票の状態の例を示す図である。
【図２０】図２０は、第２の実施形態に係る路面推定部による処理の流れの例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、図面を参照しながら、本発明に係る情報処理装置、撮像装置、機器制御システム、情報処理方法、及びプログラムの実施形態を説明する。また、以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【００１２】
（第１の実施形態）
図１は、第１の実施形態に係る機器制御システムを搭載した車両１０の例を示す模式図である。本実施形態に係る車両１０のフロントガラスの上部（バックミラー付近）には、撮像装置１１が設置されている。本実施形態に係る撮像装置１１は、車両１０の進行方向１７前方の撮像データを取得するステレオカメラ（距離情報取得ユニット）と、ステレオカメラにより取得された撮像データを解析して解析結果を示す解析データを生成する画像解析ユニット（情報処理装置）とを含む。本実施形態に係るステレオカメラは、水平に配置された２つのカメラ部により、左側視界１５の輝度データおよび右側視界１６の輝度データを取得する。画像解析ユニットは、ステレオカメラにより取得された左右の輝度データに基づいて、路面の形状、衝突回避等の対象となるオブジェクトの存否、オブジェクトと車両１０との間の距離等を含む解析データを生成する。
【００１３】
図２は、第１の実施形態に係る機器制御システム１の全体的なハードウェア構成の例を示す図である。機器制御システム１は、撮像装置１１および車両ＥＣＵ（Engine  Control  Unit）５１（機器制御部）を含む。撮像装置１１の画像解析ユニットにより生成された解析データは、車両ＥＣＵ５１に入力される。車両ＥＣＵ５１は、車両１０の走行状態を制御する信号を生成する回路を含むユニットであり、プログラムが記憶されたメモリ、プログラムにより所定の演算制御処理を行うＣＰＵ（Central  Processing  Unit）、各種ロジック回路等を利用して構成される。車両ＥＣＵ５１は、撮像装置１１（画像解析ユニット）からの解析データに基づいて、車両１０の制御、例えばブレーキ、アクセル、操舵等の自動制御、警告の出力等を行うための処理を行う。
【００１４】
図３は、第１の実施形態に係る撮像装置１１のハードウェア構成の例を示す図である。本実施形態に係る撮像装置１１は、ステレオカメラ１２および画像解析ユニット１３を含む。
【００１５】
ステレオカメラ１２は、左目用となる第１のカメラ部２１ａと、右目用となる第２のカメラ部２１ｂとが平行に組み付けられて構成されている。両カメラ部２１ａ，２１ｂは、それぞれレンズ２２、画像センサ２３、およびセンサコントローラ２４を含む。画像センサ２３は、例えばＣＣＤ（Charge  Coupled  Device）、ＣＭＯＳ（Complementary  Metal-Oxide  Semiconductor）等である。センサコントローラ２４は、画像センサ２３の露光制御、画像読み出し制御、外部回路との通信、画像データの送信制御等を行うための回路を含むデバイスである。
【００１６】
画像解析ユニット１３は、ＣＰＵ３１、ＦＰＧＡ（Field-Programmable  Gate  Array）３２、ＲＯＭ（Read  Only  Memory）３３、ＲＡＭ（Random  Access  Memory）３４、シリアルＩＦ（Interface）３５、データＩＦ３６、データバスライン４１、およびシリアルバスライン４２を含む。
【００１７】
ステレオカメラ１２は、データバスライン４１およびシリアルバスライン４２を介して画像解析ユニット１３と接続している。ＣＰＵ３１は、ＲＯＭ３３に記憶されたプログラムに従って、画像解析ユニット１３全体の動作、画像処理、画像認識処理等を実行するための処理を行う。両カメラ部２１ａ，２１ｂの画像センサ２３により取得された輝度データは、データバスライン４１を介して画像解析ユニット１３のＲＡＭ３４に書き込まれる。ＣＰＵ３１またはＦＰＧＡ３２からのセンサ露光値の変更制御データ、画像読み出しパラメータの変更制御データ、各種設定データ等は、シリアルバスライン４２を介してセンサコントローラ２４との間で送受信される。
【００１８】
ＦＰＧＡ３２は、ＲＡＭ３４に保存されたデータに対してリアルタイム性が要求される処理を行う。リアルタイム性が要求される処理とは、例えばガンマ補正、ゆがみ補正（左右画像の平行化）、ブロックマッチングによる視差演算等を行うことにより、輝度画像（輝度画像データ）から視差画像（視差画像データ）を生成する処理等である。このように生成された視差画像データは、ＲＡＭ３４に再度書き込まれる。
【００１９】
ＣＰＵ３１は、ステレオカメラ１２の各センサコントローラ２４の制御、および画像解析ユニット１３の全体的な制御を行う。ＲＯＭ３３には、ＣＰＵ３１またはＦＰＧＡ３２に各種処理を実行させるプログラムが格納されている。ＣＰＵ３１は、データＩＦ３６を介して、例えば車両１０のＣＡＮ（Controller  Area  Network）情報（車速、加速度、舵角、ヨーレート等）をパラメータとして取得する。ＣＰＵ３１は、ＲＯＭ３３に記憶されているプログラムに従って、ＲＡＭ３４に記憶されている輝度画像データおよび視差画像データを用いて、路面形状の推定、オブジェクトの認識、距離の計測等の各種処理を実行する。
【００２０】
画像解析ユニット１３により生成された解析データは、シリアルＩＦ３５を介して、例えば自動ブレーキシステム、自動速度制御システム、自動操舵システム、警報システム等の外部システムへ供給される。
【００２１】
図４は、第１の実施形態に係る機器制御システム１の機能的構成の例を示す図である。本実施形態に係る機器制御システム１は、撮像部１０１、視差計算部１０２、路面推定部１０３、クラスタリング部１０４、棄却部１０５、トラッキング部１０６、および制御部１０７を含む。図４は、撮像装置１１による１フレームの撮像から路面推定、オブジェクト認識等を含む画像解析処理を終え、車両制御を開始させるまでの一連の流れの例を示している。
【００２２】
撮像部１０１は、車両１０前方を撮像し、２つの輝度画像データを取得する機能部である。撮像部１０１は、撮像装置１１等により構成される。撮像部１０１により取得された２つの輝度画像データの一方（例えば第１のカメラ部２１ａにより取得された左側視界１５の輝度画像データ）が基準画像となり、他方（例えば第２のカメラ部２１ｂにより取得された右側視界１６の輝度画像データ）が比較画像となる。
【００２３】
視差計算部１０２は、基準画像の輝度画像データと比較画像の輝度画像データとを用いて、ステレオカメラ１２の撮像範囲内の局所領域のブロックマッチング等により画素毎の視差を算出し、視差画像を示す視差画像データを生成する機能部である。視差計算部１０２は、ＦＰＧＡ３２、ＣＰＵ３１等により構成される。
【００２４】
路面推定部１０３は、視差画像データに基づいて、車両１０が走行している路面の形状を推定する機能部である。路面推定部１０３は、視差画像データに基づいて生成されるＶ−ＤｉｓｐａｒｉｔｙＭａｐ（Ｖマップ：頻度情報）に基づいて路面形状の推定を行う。路面推定部１０３は、路面形状を推定する際または推定した路面形状を示す情報を参照する際に、ステレオカメラ１２のローリングによる影響を打ち消すための補正処理を行う。補正処理等については後に詳述する。路面推定部１０３は、ＣＰＵ３１、ＦＰＧＡ３２等により構成される。
【００２５】
クラスタリング部１０４は、推定された路面より上方に存在する視差群に対してクラスタリング処理を行う機能部である。クラスタリング処理とは、同程度の距離に存在する（同程度の視差値を有する）視差画像上の画素の群を１つの物体として認識する処理である。クラスタリング処理の手法は特に限定されるべきものではないが、例えば視差画像上の視差の頻度をカウントしたＵ-ＤｉｓｐａｒｉｔｙＭａｐ（Ｕマップ）を利用する手法がある。この方法は、Ｕマップ上に於いて、頻度が所定値よりも多い視差が密集している領域を新規オブジェクトとして検出し、検出された領域の輝度画像上の座標、サイズ等に基づいてオブジェクトのタイプ(人、車両、ガードレール等)を推定し、タイプを示す個体情報を生成する方法である。クラスタリング部１０４は、ＣＰＵ３１、ＦＰＧＡ３２等により構成される。
【００２６】
棄却部１０５は、フレーム情報(輝度画像データ、視差画像データ等)、Ｕマップ、新規オブジェクトの個体情報等を用いて、検出されたオブジェクトのうち認識対象（衝突回避等の対象）でないものを棄却する処理を行う機能部である。棄却部１０５は、ＣＰＵ３１、ＦＰＧＡ３２等により構成される。
【００２７】
トラッキング部１０６は、検出されたオブジェクト（棄却されなかったオブジェクト）が複数のフレームで連続して出現する場合に、そのオブジェクトが追跡対象であるか否かを判定し、追跡対象である場合には追跡対象であることを示す個体情報を生成する処理を行う機能部である。トラッキング部１０６は、ＣＰＵ３１，ＦＰＧＡ３２等により構成される。
【００２８】
制御部１０７は、追跡対象であるオブジェクトに関する情報等に基づいて、車両１０の制御（衝突回避行動、警告の出力等）を行う機能部である。制御部１０７は、車両ＥＣＵ５１等により構成される。
【００２９】
図５は、第１の実施形態に係る路面推定部１０３の機能的構成の例を示す図である。本実施形態に係る路面推定部１０３は、視差情報入力部１５１（取得部）、Ｖマップ生成部１５２（第１の生成部）、セグメント設定部１５３、標本点設定部１５４、外れ点除去部１５５、形状推定部１５６（推定部）、高さテーブル生成部１５７（第２の生成部）、および補正部１６１を含む。
【００３０】
（視差情報入力処理）
視差情報入力部１５１は、視差計算部１０２により計算された視差画像データを入力する機能部である。視差情報入力部１５１は、ＣＰＵ３１、ＦＰＧＡ３２等により構成される。
【００３１】
図６は、視差ｄとステレオカメラ１２からオブジェクト１７１までの距離Ｄとの関係を説明するための図である。図７は、オブジェクト１７１のサイズＳを画素数ｐに変換する方法を説明するための図である。
【００３２】
図６に示すように、第１のカメラ部２１ａおよび第２のカメラ部２１ｂの二眼で対象物１７１の局所を撮像し、両カメラ部２１ａ，２１ｂで捉えた対象物１７１の同一局所に対応する位置の、撮像面１７５におけるズレ量が視差ｄとなる。視差ｄは、ステレオカメラ１２からオブジェクト１７１までの距離Ｄ、両カメラ部２１ａ，２１ｂの焦点位置間の基線長ｂ、および焦点距離ｆを用いて、下記式（１）により算出することができる。
ｂ：ｄ＝Ｄ：ｆ
ｄ＝ｂ・ｆ／Ｄ  …（１）
【００３３】
図７に示すように、距離Ｄ［ｍｍ］におけるオブジェクト１７１のサイズＳ［ｍｍ］は、焦点距離ｆ［ｍｍ］、画素数ｐ［ｐｉｘ］、および画像センサ２３のセンサ間隔をｃ［ｍｍ／ｐｉｘ」を用いて、下記式（２）により算出することができる。
ｓ：ｄ＝ｃ・ｐ：ｆ
ｐ＝ｓ・ｆ／ｃ／Ｄ  …（２）
式（２）により、例えば距離Ｄにおける車線幅を画素数に変換すること等が可能となる。
【００３４】
（Ｖマップ生成処理）
Ｖマップ生成部１５２は、視差画像データに基づいてＶマップを生成する機能部である。Ｖマップ生成部１５２は、ＣＰＵ３１、ＦＰＧＡ３２等により構成される。図８は、視差画像２０１の例を示す図である。図９は、図８に示す視差画像２０１に対応するＶマップ２２１の例を示す図である。
【００３５】
Ｖマップ２２１は、視差画像２０１の各画素が保有する画素値である視差ｄを、当該画素の座標に対応する位置に投票することにより生成され、視差画像２０１の座標毎に視差ｄの頻度を示す情報である。本例におけるＶマップ２２１は、縦軸に視差画像２０１のｙ座標、横軸に視差ｄをとり、視差画像２０１の各画素が保有する視差ｄを当該画素のｙ座標に対応する位置（投票位置）に投票することにより生成される２次元ヒストグラムである。
【００３６】
図８に示す視差画像２０１は、路面２１１上に他車両であるオブジェクト２１２が存在している状態を示している。視差画像２０１における路面２１１上の領域の視差ｄをＶマップ２２１上に投票すると、図９に示すように、路面２１１に対応する視差ｄの分布領域２２３およびオブジェクト２１２に対応する視差ｄの分布領域２２４が現出する。路面２１１に対応する分布領域２２３は、左端から右端にかけて連続する右下がりの形状となる。これは、視差ｄは車両１０から近い程大きくなり、視差画像２０１の下方における視差ｄは上方における視差ｄより大きくなるからである。なお、ｙ軸の取り方によっては分布領域２２３が右下がりにならない場合もある。オブジェクト２１２に対応する分布領域２２４のｙ軸方向の長さＨ２は、視差画像２０１におけるオブジェクト２１２の路面２１１からの高さＨ１に対応する。
【００３７】
なお、投票の対象となる視差画像２０１内の領域は、必ずしも視差画像２０１全体である必要はない。図１０は、視差画像２０１内において投票の対象となる投票領域２３１〜２３３の例を示す図である。図１０に示す例における投票領域２３１〜２３３は、路面２１１が存在する領域を含むように設定されている。このような投票領域２３１〜２３３を設定することにより、衝突回避等の対象となるオブジェクト２１２が存在し得る領域のみを画像処理の対象とすることができるので、処理負荷の軽減等を図ることができる。
【００３８】
（セグメント設定処理）
セグメント設定部１５３は、図９に示すように、Ｖマップ２２１にｄ座標を基準として１つ以上のセグメント（区分）２２７を設定する機能部である。後述する標本点設定処理、外れ点除去処理、および形状推定処理は、セグメント２２７毎に行われてもよい。セグメント２２７の設定方法は特に限定されるべきものではないが、セグメント２２７を細かく設定することにより、複雑な形状を有する路面２１１またはオブジェクト２１２を正確に認識することが可能となる。例えば、勾配が変化する路面２１１の形状等を正確に推定することが可能となる。なお、セグメントの設定後、後述する標本点設定処理、外れ点除去処理、および形状推定処理を実行する手順は、特に限定されるべきものではないが、例えば１つめのセグメントについて標本点設定処理、外れ点除去処理、および形状推定処理を実行した後、２つめのセグメントについてこれらの処理を行うようにしてもよいし、全てのセグメントについて標本点設定処理を行った後、全てのセグメントについて外れ点除去処理（同様に形状推定処理）を行うようにしてもよい。セグメント設定部１５３は、ＣＰＵ３１、ＦＰＧＡ３２等により構成される。
【００３９】
なお、セグメント設定部１５３は、路面推定部１０３による路面推定処理において、必ずしも必要な機能部ではない。Ｖマップ２２１にセグメントを設定することなく、路面２１１の形状を推定することも可能である。
【００４０】
（標本点設定処理）
標本点設定部１５４は、Ｖマップ２２１上に投票された１つ以上の視差ｄから１つ以上の標本点を設定する機能部である。標本点の設定（選択）方法は、特に限定されるべきものではないが、例えばｄ座標に対して垂直方向に存在する複数の視差ｄの中から頻度が最も高い点（最頻点）を選択する方法、路面２１１に対応する標本点が含まれ得る領域を所定の基準により制限する方法等が適用され得る。また、投票された視差ｄがない座標を標本点としてもよい（例えば、着目している座標には投票された視差ｄがないが、その周囲に高い頻度で視差ｄが投票されている場合等）。標本点設定部１５４は、ＣＰＵ３１、ＦＰＧＡ３２等により構成される。
【００４１】
（外れ点除去処理）
外れ点除去部１５５は、設定された標本点の内、不適切な標本点を除去する機能部である。不適切な標本点の決定方法は、特に限定されるべきものではないが、例えばＶマップ２１１上に投票された複数の標本点を用いて最小二乗法等により設定した近似直線から所定距離離れた標本点を除去する方法等が適用され得る。外れ点除去部１５５は、ＣＰＵ３１、ＦＰＧＡ３２等により構成される。
【００４２】
なお、外れ点除去部１５５は、路面推定部１０３による路面推定処理において、必ずしも必要な機能部ではない。外れ点を検出することなく、路面２１１の形状を推定することも可能である。
【００４３】
（形状推定処理）
形状推定部１５６は、残存した標本点（標本点設定部１５４により設定され、外れ点除去処理が行われた場合には外れ点除去部１５５により除去されなかった標本点）を用いて路面２１１の路面形状を推定する機能部である。形状推定部１５６は、Ｖマップ２１１上に投票された複数の標本点を用いて路面形状を推定し、Ｖマップ２１１上に路面推定線２２５を設定する。セグメント設定部１５３によりＶマップ２１１にセグメント２２７が設定された場合には、着目しているセグメント２２７内の残存した標本点を用いてセグメント２２７毎に路面形状を推定し、それらを連結して路面推定線２２５を設定する。路面形状の推定方法は、特に限定されるべきものではないが、例えば最小二乗法等の統計的手法を用いて標本点群の直線近似を行う方法が適用され得る。また、直線近似に限定することなく、多項式近似等により曲線形状を推定してもよい。形状推定部１５６は、ＣＰＵ３１、ＦＰＧＡ３２等により構成される。
【００４４】
形状推定部１５６は、推定された路面形状の成否判定を行うことが好ましい。例えば、推定された路面形状について所定の基準により信頼度を算出し、信頼度が一定の基準に満たない路面形状を失敗として処理（再推定の実行等）する。例えば、最小二乗法により直線近似した場合には、相関係数を信頼度として使用することができる。失敗と判定された場合には、代わりとして所定の路面２１１を補間することが可能である。例えば、平坦路を仮定して事前に計算しておいたデフォルト路面や、過去のフレームから算出された履歴路面を使用する方法が考えられる。また、セグメント２２７を設定した場合、着目しているセグメント２２７の１つ前のセグメント２２７において既に推定された路面形状を延長する方法も考えられる。
【００４５】
形状推定部１５６は、セグメント２２７が設定された場合には、セグメント２２７毎に推定された各路面推定線２２５を平滑化する処理（スムージング）を行うことが好ましい。スムージングの方法は特に限定されるべきものではないが、例えばあるセグメント２２７の路面推定線２２５の終点の座標と、このセグメント２２７の右側に隣接するセグメント２２７の路面推定線２２５の始点の座標とが一致しない場合、両座標が１つの座標を通るように路面推定線２２５を修正してもよい。スムージングされた路面推定線２２５を最終的な路面形状を示すものとして扱うことが好ましい。
【００４６】
（高さテーブル生成処理）
高さテーブル生成部１５７は、推定された路面形状（路面推定線２２５）に基づいて、視差ｄと、路面２１１またはオブジェクト２１２の高さとの対応関係を示す高さテーブル（高さ情報）を生成する機能部である。高さテーブル生成部１５７は、ＣＰＵ３１、ＦＰＧＡ３２等により構成される。
【００４７】
図１１は、Ｖマップ２２１および高さテーブル２４１の例を示す図である。高さテーブル２４１は、各視差ｄ０，ｄ１，…，ｄｎに対応する高さＨ０，Ｈ１，…，Ｈｎを格納している。例えば、Ｖマップ２２１のｄ座標の範囲が０〜９６０である場合、高さテーブル２４１は、Ｈ０〜Ｈ９６０の９６１個の値を格納する。高さＨ０，Ｈ１，…，Ｈｎは、Ｖマップ２２１のｙ軸の始点から路面推定線２２５までの距離を示している。高さＨ０，Ｈ１，…，Ｈｎの値は、実際の路面２１１の高さまたはオブジェクト２１２の高さに対応する。任意の視差ｄを入力値として高さテーブル２４１を参照することにより、当該視差ｄに対応する路面２１１またはオブジェクト２１２の高さＨを取得することができる。なお、高さテーブル２４１の構成は、上記に限られるものではない。
【００４８】
路面推定線２２５が傾きＫ、切片Ｂの一次関数で示されるとき、閾値ｄに対応する高さＨは下記式（３）により求められる。
Ｈ＝Ｋ＊ｄ＋Ｂ  …（３）
Ｖマップ２２１が複数のセグメント２２７に分割されている場合、セグメント２２７毎に視差ｄと高さＨとの関係が存在する。従って、参照しようとする視差ｄが含まれるセグメント２２７における路面推定線２２５の傾きＫと切片Ｂとを用いて高さＨを算出することができる。
【００４９】
例えば、図８に示すように、路面２１１上にオブジェクト２１２が存在する場合、視差画像２０１内の１つのライン上に複数の視差ｄが検出される。すなわち、オブジェクト２１２が存在する部分を通る１つのライン上において、路面２１１の視差ｄｒとオブジェクト２１２の視差ｄｏとが検出される。このような場合に、高さテーブル２４１において、視差ｄｒを入力値とすることにより路面２１１の高さＨｒを求めることができ、視差ｄｏを入力値とすることによりオブジェクト２１２の高さＨｏを求めることができる。また、当該ｙ座標に対応するオブジェクト２１２の路面２１１からの高さＨは、Ｈｏ−Ｈｒにより求めることができる。
【００５０】
（補正処理）
補正部１６１は、撮像装置１１（ステレオカメラ１２）のローリングによる影響を打ち消すように、路面２１１の形状を示す情報の生成に利用される情報を補正する機能部である。路面２１１の形状を示す情報は、路面推定部１０３より後段のクラスタリング部１０４、棄却部１０５、トラッキング部１０６、制御部１０７等において利用される情報である。路面２１１の形状を示す情報の生成に利用される情報とは、Ｖマップ２２１、高さテーブル２４１、これらを生成するための情報等である。第１の実施形態に係る補正部２４１は、ローリングによる影響を打ち消すように高さテーブル２４１を補正する。補正部１６１は、ＣＰＵ３１、ＦＰＧＡ３２等により構成される。
【００５１】
図１２は、ステレオカメラ１２のローリングが路面推定処理に与える影響を説明するための図である。図１３は、図１２に示す状況に対応するＶマップ２２１の例を示す図である。例えば、ステレオカメラ１２が時計回りにローリングした場合、図１２に示すように、前方に存在する他車両であるオブジェクト２１２は、左上がりに傾いて見えることになる。この場合、視差画像２０１中の着目ライン２７１における視差ｄは、視差群Ａと視差群Ｂとの間で異なってしまう。このような状況で生成されるＶマップ２２１においては、図１３に示すように、路面２１１に対応する視差ｄがｄ軸方向に分散する。路面推定処理においては、通常、路面２１１はオブジェクト２１２より低い位置に存在することが前提となるため、相対的に低い位置に対応する視差ｄを用いて路面形状の推定が行われる。従って、図１３に示す例では、地点Ｂに対応する視差ｄの群を用いて路面形状の推定が行われ、地点Ａに対応する視差ｄの群は、クラスタリング処理の対象となり、オブジェクトとして認識される可能性がある。
【００５２】
上記のようなローリングに起因する問題を解決するために、第１の実施形態に係る補正部１６１は、ローリングによる影響を打ち消すように高さテーブル２４１を補正する。図１４は、第１の実施形態に係る補正部１６１の機能的構成の例を示す図である。補正部１６１は、ローリング情報取得部１８１、補正量算出部１８２、および高さ値補正部１８３を含む。
【００５３】
ローリング情報取得部１８１は、ステレオカメラ１２のロール角を含むローリング情報を取得する機能部である。ローリング情報の取得方法は、特に限定されるべきものではないが、例えばステレオカメラ１２の車両１０への取り付け時におけるキャブレーションにより測定された情報を利用する方法、近方の視差ｄの群から最小二乗法により生成した近似直線の傾きからロール角を算出する方法等が適用され得る。
【００５４】
補正量算出部１８２は、ローリング情報に基づいてローリング補正量を算出する機能部である。本実施形態に係るローリング補正量は、ステレオカメラ１２のローリングに起因する、推定された路面形状の実路面に対するずれを打ち消すように算出された値である。ローリング補正量は、ローリングによる影響を打ち消すために、高さテーブル２４１に格納された高さＨ（Ｈ０，Ｈ１，…，Ｈｎ）の値に加減算される。本実施形態に係るローリング補正量は、第１の補正量および第２の補正量を含む。
【００５５】
図１５は、ローリング補正量により推定路面の補正を行った場合の視差画像２０１の例を示す図である。図１５中、左側の図は補正前の視差画像２０１Ａを示し、右側の図は補正後の視差画像２０１Ｂを示している。
【００５６】
補正前の視差画像２０１Ａにおいて、実路面２５１および補正前推定路面２５２が示されている。実路面２５１は、ローリングしたステレオカメラ１２により撮像された路面２１１に対応する領域を示している。本例は、水平な路面２１１を反時計回りにローリングしたステレオカメラ１２で撮像した場合を示している。補正前推定路面２５２は、実路面２５１の視差ｄに基づいて上記形状推定処理により推定された路面を示している。
【００５７】
補正後の視差画像２０１Ｂにおいて、実路面２５１、補正前推定路面２５２、第１の補正後推定路面２６１、および第２の補正後推定路面２６２が示されている。第１の補正後推定路面２６１は、第１の補正量により高さテーブル２４１を補正した後の推定路面を示している。第２の補正後推定路面２６２は、第１の補正量および第２の補正量により高さテーブル２４１を補正した後の推定路面を示している。
【００５８】
補正前推定路面２５２は、実路面２５１の両端部のうち下方に位置する端部（図１５に示す例では左端部）から水平に伸びた形状となっている。これは、上述したように、路面形状の推定は、Ｖマップ２２１においてより低い位置に対応する視差ｄを用いて行われるからである（図１３等参照）。このように不適切に推定された補正前推定路面２５２は、最終的には実路面２５１に重なるように、すなわち第２の補正後推定路面２６２のように補正される必要がある。
【００５９】
本実施形態においては、補正前推定路面２５２は、先ず第１の補正量により第１の補正後推定路面２６１に補正される。第１の補正後推定路面２６１の角度は、実路面２５１の角度と一致（略一致）している。第１の補正量は、補正前推定路面２５２を実路面２５１の角度と一致するように回転させるために、高さテーブル２４１の各高さＨ０，Ｈ１，…，Ｈｎに加減算される値である。第１の補正量の算出方法は、特に限定されるべきものではないが、例えば第１の補正量をεｘ、ステレオカメラ１２のロール角をθ、視差画像２０１中の着目ｘ座標をｘ、路面２１１の消失点をｆｏｅ＿ｘとするとき、下記式（４）により算出される。
εｘ＝ｔａｎθ＊（ｘ−ｆｏｅ＿ｘ）  …（４）
【００６０】
ｆｏｅ＿ｘは、ステレオカメラ１２が回転する基準点を示しており、ステレオカメラ１２が左右にヨーイングしていない場合、視差画像２０１の中心のｘ座標と消失点のｘ座標とが一致する。式（４）に示すように、ｆｏｅ＿ｘを減算することで、回転の基準点を原点（ｘ＝０）からｆｏｅ＿ｘの位置に移動させている。なお、ｆｏｅ＿ｘは、回転の基準点の一例であり、より好適な他の点を代わりに用いてもよい。上記のように算出される第１の補正量εｘを高さテーブル２４１の各高さＨ０，Ｈ１，…，Ｈｎに加減算することにより、補正前推定路面２５２を実路面２５１と角度が一致する第１の補正後推定路面２６１に補正することができる。このとき、補正前推定路面２５２は、基準軸２５５との交点を基点に回転する。
【００６１】
第１の補正後推定路面２６１は、次いで第２の補正量により第２の補正後推定路面２６２に補正される。第２の補正後推定路面２６２は、実路面２５１と角度が一致していると共に、ｙ軸上の位置が一致（略一致）している。第２の補正量は、第１の補正後推定路面２６１をｙ軸方向に平行移動させるために、高さテーブル２４１の各高さＨ０，Ｈ１，…，Ｈｎに加減算される値である。第２の補正量の算出方法は、特に限定されるべきものではないが、例えば第２の補正量をδ、ロール角をθ、路面２１１の幅をｒｏａｄ＿ｗｉｄｔｈとするとき、下記式（５）により算出される。
δ＝ａｂｓ（ｔａｎθ＊（ｒｏａｄ＿ｗｉｄｔｈ／２））  …（５）
【００６２】
ａｂｓは絶対値を表す。ｒｏａｄ＿ｗｉｄｔｈは、例えば一車線幅を表す３５００［ｍｍ］等の値であり得る。ｒｏａｄ＿ｗｉｄｔｈの値は、図１０に示す投票領域２３１〜２３３の幅に対応させてもよい。路面２１１の形状推定処理は、投票領域２３１〜２３３内の視差ｄに限定して処理することができるため、ローリングにより傾く路面２１１の視差ｄの横幅は、投票領域２３１〜２３３の幅と一致する。式（５）では、ｆｏｅ＿ｘを中心としているため、ｒｏａｄ＿ｗｉｄｔｈを半値に変換し、この半値にロール角θのｔａｎ値を乗算した値が第２の補正量δとなる。なお、第２の補正量δは、幅から決定されるためｘ座標の位置に依存しない。
【００６３】
以下に、補正前の高さテーブル２４１、すなわち補正前推定路面２５２から作成した高さテーブル２４１の各高さＨ０，Ｈ１，…，Ｈｎを参照する際に抽出された参照値を、第１の補正量および第２の補正量を用いて補正する例を示す。視差ｄに対応する補正後の路面２１１の高さをＨｄ’、視差ｄに対応する補正前の路面２１１の高さ（補正前の高さテーブル２４１から抽出された参照値）をＨｄ、第１の補正量をεｘ、第２の補正量をδとするとき、下記式（６）の関係が成り立つ。
Ｈｄ’＝Ｈｄ−εｘ−δ  …（６）
【００６４】
なお、本実施形態においては、高さテーブル２４１に格納されている高さＨ０，Ｈ１，…，Ｈｎは、左上を原点とするＶマップ２２１により算出されるため、第１の補正量εｘおよび第２の補正量δは減算値として使用されるが、例えば左下を原点とするＶマップを使用する場合には、両補正量εｘ，δは加算値として使用される。なお、路面２１１の高さを算出する際には、Ｈｄ’から路面推定線２２５のｙ軸上の値を減算すればよい。なお、第２の補正量δは、実距離であることから、他のパラメータと単位を合わせる必要がある。これは式（１）および式（２）に基づいてｒｏａｄ＿ｗｉｄｔｈの単位系を実距離からピクセルに変換しておけばよい。
【００６５】
以上により、補正前推定路面２５２から作成した高さテーブル２４１から抽出した参照値を、第２の補正後推定路面２６２から作成した高さテーブル２４１の値と同等に扱うことができる。なお、上記においては、高さテーブル２４１を参照する際に、参照値に対して補正量を加減算する方法を示したが、事前に高さテーブル２４１の値を式（６）により補正しておいてもよい。この場合、高さテーブル２４１を、ｄおよびｘの組み合わせで補正後の路面２１１の高さＨを参照できる二次元テーブルとしてもよい。
【００６６】
なお、上記においては、第１の補正量εｘおよび第２の補正量δをｘ座標毎に算出しているが、細かく算出する必要が無い場合には、比較的粗い所定の分解能で算出してもよい。例えば、横幅が１０００の視差画像２０１を分解能１０で処理した場合、各補正量εｘ，δを１００種類算出し、各区間に含まれる全てのｘ座標に共通の補正量εｘ，δを適用してもよい。このときの第１の補正量εｘを算出するｘ座標は、当該分解能における所定のｘ座標を使用することができる。例えば、分解能１０であり、１つ目の区間の第１の補正量εｘは、ｘ＝１〜１０のいずれかの値で算出することができる。また、座標ｘは、所定の範囲に対して算出してもよい。例えば、投票領域２３１〜２３３に含まれないｘ座標の範囲に関しては、補正量εｘ，δを算出しておく必要がない。このように、補正量εｘ，δを算出するｘ座標は、任意に設定され得るものである。
【００６７】
また、上記においては、消失点のｘ座標を中心として補正する方法について説明したが、路面２１１の横幅が既知である場合、補正前推定路面２５２の端点を基準点として、第１の補正量εｘによる回転補正を行ってもよい。例えば、図１５に示すような場合には、補正前推定路面２５２の左端を基準点として第１の補正量εｘによる回転補正を行うことにより、第２の補正量δによる平行移動補正を不要にすることができる。
【００６８】
図１６は、第１の実施形態に係る路面推定部１０３による処理の流れの例を示すフローチャートである。先ず、視差情報入力部１５１は、視差情報から生成された視差画像２０１（視差画像データ）を読み込む（ステップＳ１０１）。その後、Ｖマップ生成部１５２は、視差画像２０１からＶマップ２２１を生成する（ステップＳ１０２）。このとき、視差画像２０１中の視差ｄがＶマップ２２１上に投票される。その後、標本点設定部１５４は、Ｖマップ２２１上に投票された視差群の中から標本点を設定する（ステップＳ１０３）。標本点の設定は、Ｖマップ２２１にセグメント２２７を設定する場合には、セグメント２２７毎に行われてもよい。その後、複数の標本点からなる標本点群の分布状態に基づいて路面２１１の形状を推定する（ステップＳ１０４）。このとき、路面形状を推定する前に、標本点群から所定の基準に基づいて外れ点を検出し、外れ点を除去する処理を行ってもよい。その後、補正部１６１は、ローリングによる影響を打ち消すためのローリング補正量を算出する（ステップＳ１０５）。その後、高さテーブル生成部１５７は、推定された路面形状上の値にローリング補正量を加減算して高さテーブル２４１の高さの値を決定する（ステップＳ１０６）。このとき、高さテーブル２４１の高さの値を参照する際にローリング補正量を加減算してもよいし、予めローリング補正量を加減算した値を高さテーブル２４１に格納してもよい。
【００６９】
上記第１の実施形態によれば、ロール角θに合わせて高さテーブル２４１の高さＨ０，Ｈ１，…，Ｈｎが補正される。すなわち、Ｖマップ２２１に基づいて路面２１１の形状が推定された後に、ローリングによる影響を打ち消す補正処理が行われる。これにより、勾配変化がある路面２１１上でローリングが発生した場合であっても、路面２１１を水平と捉えることができるので、路面２１１の形状を高精度で推定することが可能となる。
【００７０】
以下に、第２の実施形態について図面を参照して説明するが、第１の実施形態と同一または同様の作用効果を奏する箇所については同一の符号を付してその説明を省略する場合がある。
【００７１】
（第２の実施形態）
図１７は、第２の実施形態に係る路面推定部３０３の機能的構成の例を示す図である。第２の実施形態に係る路面推定部３０３は、第１の実施形態に係る路面推定部１０３に対応する機能部であり、Ｖマップ２２１等を利用して路面２１１の形状を推定する。第２の実施形態に係る路面推定部３０３は、第１の実施形態に係る路面推定部１０３と同様に、ステレオカメラ１２のローリングによる影響を打ち消すように、路面２１１の形状を示す情報を生成するために利用される情報を補正する補正部３６１を含む。
【００７２】
第２の実施形態に係る補正部３６１は、ローリングによる影響を打ち消すようにＶマップ２２１を補正する。Ｖマップ２２１の補正方法は、特に限定されるべきものではないが、例えば視差画像２０１からＶマップ２２１に投票されるデータをローリング情報に応じて補正する。第１の実施形態において説明したように、ステレオカメラ１２がローリングする場合、視差画像２０１のあるライン上の視差ｄは、本来異なるライン上で抽出されるはずであった視差ｄを含むことになる。そのため、視差画像２０１中の各視差ｄをそのままＶマップ２２１のライン上に投票すると、投票された視差ｄの分布領域が横方向に分散してしまう（図１３等参照）。第２の実施形態に係る補正部３６１は、このようなＶマップ２２１作成時における問題を解決するものである。
【００７３】
ロール角θが既知である場合、ロール角θに合わせて視差ｄを抽出した座標を回転変換することにより、本来投票されるべきであったｙ座標を求めることができる。図１８は、補正前におけるＶマップ２２１への投票の状態の例を示す図である。図１９は、補正後におけるＶマップ２２１への投票の状態の例を示す図である。図１８に示す視差画像２０１において、反時計回りにローリングしたステレオカメラ１２により撮像された路面２１１に対応する視差群３７３が示されている。ここでは視差群３７３に含まれる視差１および視差２に着目する。ローリングによって視差群３７３が回転すると、図１８の右側の図に示すように、視差１および視差２は、異なる投票ライン３８１，３８２上の視差としてＶマップ２２１に投票される。
【００７４】
上記のような投票時における問題を解決するために、補正部３６１は、先ず視差群３７３を回転させる際の基準点３７５を設定する。基準点３７５の設定方法は、特に限定されるべきものではないが、例えば視差画像２０１の中心点、路面２１１の消失点等を基準点３７５とすることができる。補正部３６１は、次いで基準点３７５を回転軸として視差群３７３を構成する各視差ｄを回転させ、各視差ｄの補正後の投票位置（Ｖマップ２２１のｙ座標）を決定する。補正後の視差ｄのＶマップ２２１上の投票位置をｙ’、補正前の視差ｄの視差画像２０１中のｘ座標をｘ、補正前の視差ｄの視差画像２０１中のｙ座標をｙ、ロール角をθとするとき、下記式（７）が成り立つ。
ｙ’＝ｘｓｉｎθ＋ｙｃｏｓθ  …（７）
【００７５】
図１９の左側の図において、上記のように決定された補正後の投票位置を反映させた補正後の視差群３８８が示されている。補正後の視差群３８８を構成する全ての視差ｄは、１つのｙ座標（ｙ’）を通るライン上に位置している。これにより、図１９の右側の図に示すように、補正後の視差群３８８からＶマップ２２１に投票される全ての視差ｄは、Ｖマップ２２１の１つの投票ライン３８５上に投票される。
【００７６】
図２０は、第２の実施形態に係る路面推定部３０３による処理の流れの例を示すフローチャートである。先ず、視差情報入力部１５１は、視差情報から生成された視差画像２０１（視差画像データ）を読み込む（ステップＳ１０１）。その後、補正部３６１は、ロール角θに合わせて視差画像２０１を回転させる（視差画像２０１内の各視差ｄの投票位置をロール角θに合わせて補正する）（Ｓ２０１）。その後、Ｖマップ生成部１５２は、回転後の視差画像２０１からＶマップ２２１を生成する（Ｓ２０２）。このとき、視差画像２０１中の各視差ｄは、Ｖマップ２２１上の変換後の位置に投票される。その後、標本点設定部１５４は、Ｖマップ２２１上に投票された視差群の中から標本点を設定する（Ｓ１０３）。標本点の設定は、Ｖマップ２２１にセグメント２２７を設定する場合には、セグメント２２７毎に行われてもよい。その後、複数の標本点からなる標本点群の分布状態に基づいて路面２１１の形状を推定する（Ｓ１０４）。このとき、路面形状を推定する前に、標本点群から所定の基準に基づいて外れ点を検出し、外れ点を除去する処理を行ってもよい。その後、高さテーブル生成部３５７は、推定された路面形状上の値から高さテーブル２４１の高さの値を決定する（Ｓ２０３）。
【００７７】
上記第２の実施形態によれば、ロール角θに合わせて視差画像２０１内の各視差ｄの投票位置が補正され、補正後の視差ｄに基づいてＶマップ２２１が生成される。すなわち、ローリングの影響を打ち消す補正処理が施されたＶマップ２２１に基づいて路面２１１の形状が推定される。これにより、勾配変化がある路面２１１上でローリングが発生した場合であっても、路面２１１を水平と捉えることができるので、路面２１１の形状を高精度で推定することが可能となる。
【００７８】
なお、上記各実施形態においては、車両１０と物体（路面２１１およびオブジェクト２１２）との間の距離を示す距離情報として視差ｄを利用する例を示したが、距離情報は視差に限られるものではなく、例えばミリ波レーダ、レーザレーダ等を利用して取得される情報等であってもよい。従って、上記視差画像２０１は、距離を示す距離画像の一例である。視差以外の距離情報を用いた場合には、その距離情報に応じた距離画像を利用してもよい。
【００７９】
また、上記各実施形態においては、車両１０としての自動車に搭載される機器制御システム１について説明したが、本発明はこれに限定されるものではない。例えば、バイク、自転車、車椅子、農業用の耕運機等の車両に搭載されるものとしてもよい。また、機器は、車両だけでなく、ロボット等の移動体であってもよい。
【００８０】
また、上記各実施形態において、機器制御システム１の各機能部の少なくとも一部がプログラムの実行によって実現される場合、そのプログラムは、ＲＯＭ等に予め組み込まれて提供される。また、プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disc）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、プログラムをインターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、プログラムは、上述した各機能部のうち少なくともいずれかを含むモジュール構成となっていてもよい。
【符号の説明】
【００８１】
１  機器制御システム
１０  車両
１１  撮像装置
１５  左側視界
１６  右側視界
１７  進行方向
５１  車両ＥＣＵ（機器制御部）
１２  ステレオカメラ（距離情報取得ユニット）
１３  画像解析ユニット（情報処理装置）
２１ａ  第１のカメラ部
２１ｂ  第２のカメラ部
２２  レンズ
２３  画像センサ
２４  センサコントローラ
３１  ＣＰＵ
３２  ＦＰＧＡ
３３  ＲＯＭ
３４  ＲＡＭ
３５  シリアルＩＦ
３６  データＩＦ
４１  データバスライン
４２  シリアルバスライン
１０１  撮像部
１０２  視差計算部
１０３，３０３  路面推定部
１０４  クラスタリング部
１０５  棄却部
１０６  トラッキング部
１０７  制御部
１５１  視差情報入力部
１５２，３５２  Ｖマップ生成部
１５３  セグメント設定部
１５４  標本点設定部
１５５  外れ点除去部
１５６  形状推定部
１５７，３５７  高さテーブル生成部
１６１，３６１  補正部
１７１，２１２  オブジェクト
１７５  撮像面
１８１  ローリング情報取得部
１８２  補正量算出部
１８３  高さ値補正部
２０１，２０１Ａ，２０１Ｂ  視差画像
２１１  路面
２２１  Ｖマップ（頻度情報）
２２３，２２４  分布領域
２２５  路面推定線
２２７  セグメント
２３１〜２３３  投票領域
２４１  高さテーブル
２５１  実路面
２５２  補正前推定路面
２５５  基準軸
２７１  着目ライン
３７３  視差群
３７５  基準点
３８１，３８２，３８５  投票ライン
θ  ロール角
【先行技術文献】
【特許文献】
【００８２】
【特許文献１】特開２００１−０９１２１７号公報
【図１】
2018091652.tif 000003
【図２】
2018091652.tif 000004
【図３】
2018091652.tif 000005
【図４】
2018091652.tif 000006
【図５】
2018091652.tif 000007
【図６】
2018091652.tif 000008
【図７】
2018091652.tif 000009
【図８】
2018091652.tif 000010
【図９】
2018091652.tif 000011
【図１０】
2018091652.tif 000012
【図１１】
2018091652.tif 000013
【図１２】
2018091652.tif 000014
【図１３】
2018091652.tif 000015
【図１４】
2018091652.tif 000016
【図１５】
2018091652.tif 000017
【図１６】
2018091652.tif 000018
【図１７】
2018091652.tif 000019
【図１８】
2018091652.tif 000020
【図１９】
2018091652.tif 000021
【図２０】
2018091652.tif 000022