(57)【要約】【課題】サブピクセル精度が要求される立体物であってもメモリ消費量を抑えて立体物の検出を可能にする立体物検出装置、立体物検出方法、および立体物検出プログラムを提供する。【解決手段】奥行推定部は異なる視点の複数の画像間で対応する位置の奥行きを推定する。基準点設定部は奥行きが推定された位置に基準点を設定する。参照点設定部は奥行きが推定された位置であって、基準点に対して画像上の縦軸方向の上方に離れた位置に参照点を設定する。範囲設定部は基準点の上方に、高さと奥行きの広がりを持つ投票範囲を設定する。投票部は投票範囲内にある参照点に対して投票処理を行う。立体物判定部は投票処理の結果に基づいて路面上の立体物を検出する。【選択図】図９
2015184929.tif 000002
【特許請求の範囲】
【請求項１】
路面上を移動する移動体に搭載された撮像装置によって撮像された異なる視点の複数の画像を取得する撮像部と、
前記複数の画像間で対応する位置の奥行きを推定する奥行推定部と、
前記奥行きが推定された位置に基準点を設定する基準点設定部と、
前記奥行きが推定された位置であって、前記基準点に対して前記画像上の縦軸方向の上方に離れた位置に参照点を設定する参照点設定部と、
前記基準点の上方に、高さと奥行きの広がりを持つ投票範囲を設定する範囲設定部と、
前記投票範囲内にある前記参照点に対して投票処理を行う投票部と、
前記投票処理の結果に基づいて前記路面上の立体物を検出する立体物判定部と、
を備えた立体物検出装置。
【請求項２】
前記範囲設定部は、前記基準点に対する高さが増すほど前記投票範囲の前記奥行きの方向の幅を広げる請求項１記載の立体物検出装置。
【請求項３】
前記範囲設定部は、前記移動体と検出対象物との距離に応じて前記投票範囲を変える請求項１または２に記載の立体物検出装置。
【請求項４】
前記範囲設定部は、前記奥行推定部による前記奥行きの推定誤差に応じて前記投票範囲を変える請求項１〜３のいずれか１つに記載の立体物検出装置。
【請求項５】
第１の時刻で撮像された前記異なる視点の複数の画像から求められた第１の投票処理の結果を、前記第１の時刻よりも後の第２の時刻に撮像された前記異なる視点の複数の画像から求められた第２の投票処理の結果に加算する時系列情報反映部をさらに備えた請求項１〜４のいずれか１つに記載の立体物検出装置。
【請求項６】
前記基準点設定部は、前記画像上における輝度が周囲と異なる位置を前記基準点に設定する請求項１〜５のいずれか１つに記載の立体物検出装置。
【請求項７】
１つの前記基準点に対して複数の前記参照点が設定される請求項１〜６のいずれか１つに記載の立体物検出装置。
【請求項８】
前記基準点に対応する前記参照点の数をＴ１、前記投票範囲内にある前記参照点の数をＴ２とすると、Ｔ２／Ｔ１に対して閾値が設定され、
前記立体物判定部は、前記Ｔ２／Ｔ１が前記閾値より大きい位置に立体物を検出する請求項７記載の立体物検出装置。
【請求項９】
路面上を移動する移動体に搭載された撮像装置によって撮像された異なる視点の複数の画像を取得し、
前記複数の画像間で対応する位置の奥行きを推定し、
前記奥行きが推定された位置に基準点を設定し、
前記奥行きが推定された位置であって、前記基準点に対して前記画像上の縦軸方向の上方に離れた位置に参照点を設定し、
前記基準点の上方に、高さと奥行きの広がりを持つ投票範囲を設定し、
前記投票範囲内にある前記参照点に対して投票処理を行い、
前記投票処理の結果に基づいて前記路面上の立体物を検出する立体物検出方法。
【請求項１０】
路面上を移動する移動体に搭載された撮像装置によって撮像された異なる視点の複数の画像を取得し、
前記複数の画像間で対応する位置の奥行きを推定し、
前記奥行きが推定された位置に基準点を設定し、
前記奥行きが推定された位置であって、前記基準点に対して前記画像上の縦軸方向の上方に離れた位置に参照点を設定し、
前記基準点の上方に、高さと奥行きの広がりを持つ投票範囲を設定し、
前記投票範囲内にある前記参照点に対して投票処理を行い、
前記投票処理の結果に基づいて前記路面上の立体物を検出する処理をコンピュータに実行させる立体物検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、立体物検出装置、立体物検出方法、および立体物検出プログラムに関する。
【背景技術】
【０００２】
車両やロボットなどの移動体に設置されたカメラによって撮影された画像から、走行に障害となる立体物を検出することで、運転支援やロボットの自動制御が可能となる。これを行うには、路面に対して出っ張り、走行上障害となり得る物体（たとえば歩行者、他の自動車、道路構造物など）の検出が求められる。
【０００３】
広く知られているように、視点の異なる複数の画像を取得し、それら複数の画像間で対応する位置から視差を求め、三角測量の原理によって画像の各位置に対して３次元情報（３次元位置）を推定することができる。この３次元情報を利用することで、路面上に存在する立体物を検出することが可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２３６１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施形態は、遠方やエピポール付近などのサブピクセル精度が要求される立体物であってもメモリ消費量を抑えて立体物の検出を可能にする立体物検出装置、立体物検出方法、および立体物検出プログラムを提供する。
【課題を解決するための手段】
【０００６】
実施形態によれば、立体物検出装置は、撮像部と、奥行推定部と、基準点設定部と、参照点設定部と、範囲設定部と、投票部と、立体物判定部と、を備えている。前記撮像部は、路面上を移動する移動体に搭載された撮像装置によって撮像された異なる視点の複数の画像を取得する。前記奥行推定部は、前記複数の画像間で対応する位置の奥行きを推定する。前記基準点設定部は、前記奥行きが推定された位置に基準点を設定する。前記参照点設定部は、前記奥行きが推定された位置であって、前記基準点に対して前記画像上の縦軸方向の上方に離れた位置に参照点を設定する。前記範囲設定部は、前記基準点の上方に、高さと奥行きの広がりを持つ投票範囲を設定する。前記投票部は、前記投票範囲内にある前記参照点に対して投票処理を行う。前記立体物判定部は、前記投票処理の結果に基づいて前記路面上の立体物を検出する。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態の立体物検出装置の構成の一例を示すブロック図。
【図２】第１実施形態の立体物検出方法の一例を示すフローチャート。
【図３】実施形態の立体物検出方法を説明するための模式図。
【図４】図２のフローチャートのステップＳ２０の詳細なフローチャート。
【図５】実施形態の立体物検出方法を説明するための模式図。
【図６】実施形態の立体物検出方法を説明するための模式図。
【図７】実施形態の立体物検出方法を説明するための模式図。
【図８】実施形態の立体物検出方法を説明するための模式図。
【図９】実施形態の立体物検出方法を説明するための模式図。
【図１０】実施形態の立体物検出方法を説明するための模式図。
【図１１】入力画像のサンプル図。
【図１２】推定された奥行き情報を重畳したサンプル図。
【図１３】図１２から奥行き情報を抽出したサンプル図。
【図１４】投票結果から得られたＴｈを重畳したサンプル図。
【図１５】立体物の検出結果のサンプル図。
【図１６】第２実施形態の立体物検出装置の構成の一例を示すブロック図。
【図１７】第２実施形態の立体物検出方法の一例を示すフローチャート。
【図１８】第２実施形態の立体物検出方法を説明するための模式図。
【発明を実施するための形態】
【０００８】
以下、図面を参照し、実施形態について説明する。なお、各図面中、同じ要素には同じ符号を付している。
【０００９】
実施形態は、路面上を移動する移動体に搭載されたカメラ等の撮像装置で撮像された視点の異なる複数の画像から推定される撮像対象の３次元情報（３次元位置）を利用して、移動体の移動に障害となり得る路面上の立体物を検出する立体物検出装置、立体物検出方法、および立体物検出プログラムに関する。
【００１０】
移動体は、例えば、自動車やロボットなどである。また、路面は、自動車が走行する面、あるいは、屋外または屋内においてロボットが歩行または走行する面である。
【００１１】
（第１実施形態）
図１は、第１実施形態の立体物検出装置１０の構成の一例を示すブロック図である。
【００１２】
第１実施形態の立体物検出装置１０は、撮像部１１と、奥行推定部１２と、基準点設定部１３と、参照点設定部１４と、範囲設定部１５と、投票部１６と、立体物判定部１７と、を備えている。
【００１３】
図３（ａ）は、路面１０４を走行している移動体としての自動車の、異なる例えば２つの時刻におけるそれぞれの状態を模式的に表す。  
図３（ａ）において、右方向が移動体の進行方向であり、第１の時刻における移動体１０１に対して、第１の時刻よりも後の第２の時刻における移動体１０３は進行方向側に位置している。
【００１４】
移動体１０１と移動体１０３には異なる符号が付されているが、時間軸上の位置が異なるだけで同じ移動体である。その同じ移動体には、例えば１つの撮像装置が搭載されている。
【００１５】
第１の時刻の位置にある移動体１０１に搭載された撮像装置１００を第１の視点の位置にあるとし、第２の時刻の位置にある移動体１０３に搭載された撮像装置１０２を第２の視点の位置にあるとする。
【００１６】
移動体１０３は、路面１０４に沿って移動体１０１が進行方向側に移動した後の位置にあるため、撮像装置１００と撮像装置１０２は、異なる時刻で撮像された画像である。すなわち、実施形態によれば、撮像装置１００、１０２によって、複数の異なる視点の画像が撮像される。撮像装置１００と撮像装置１０２は、時間軸上の位置が異なるだけで、同じ移動体に搭載された同じ撮像装置である。
【００１７】
なお、時系列的に視点の異なる複数の画像に限らず、移動体に複数の撮像装置を搭載し、同時刻にそれぞれの撮像装置によって撮像された視点の異なる複数の画像を、後述する３次元情報（奥行き）の推定に利用してもよい。
【００１８】
図３（ｂ）は、撮像装置１００によって第１の時刻に撮像された画像１０７を表す。  
図３（ｃ）は、撮像装置１０２によって第２の時刻に撮像された画像１１０を表す。
【００１９】
移動体１０１、１０３の進行方向前方には、路面上パタン１０５と立体物１０６が存在している。撮像装置１００で撮像された図３（ｂ）に示す画像１０７には、図３（ａ）における立体物１０６が立体物１０８として写り、図３（ａ）における路面上パタン１０５が路面上パタン１０９として写っている。同様に撮像装置１０２で撮像された図３（ｃ）に示す画像１１０には、図３（ａ）における立体物１０６が立体物１１１として写り、図３（ａ）における路面上パタン１０５が路面上パタン１１２として写っている。画像１１０は、画像１０７よりも移動体が進行方向側に進んだ位置で撮像されているため、画像１１０には画像１０７に比べて立体物１０６及び路面上パタン１０５が大きく写っている。
【００２０】
図３（ａ）において撮像装置１００に付されたＺ軸は光軸を表す。その光軸に対して垂直に路面１０４の上方に延びる軸（Ｙ軸）が、路面１０４に対して略垂直になるように撮像装置は設置されている。そのため、路面１０４に対して垂直方向に高さを持って存在する立体物１０６は、画像１０７、１１０において縦軸方向に長さを持った立体物１０８、１１１として写っている。
【００２１】
撮像装置１００、１０２は移動体１０１、１０３の進行方向前方を向いて設置されているが、これに限定することなく、自動車のバックカメラのように撮像装置１００、１０２は進行方向後方を向いて設置されてもよく、また、進行方向に対して横向きに設置されてもよい。
【００２２】
また、異なる視点で撮像された複数の画像を取得できればよいため、移動体に２つの撮像装置を取り付けて、ステレオカメラを構成してもよい。この場合、移動体は移動することなく、異なる視点で撮像された複数の画像を得ることができる。
【００２３】
実施形態によれば、図３（ａ）〜（ｃ）に示す状況下において、路面上パタン１０５や立体物１０６が、路面１０４上から出っ張った立体物であるか否かを検出する。
【００２４】
図２は、第１実施形態の立体物検出装置１０を用いた立体物検出方法の一例を示すフローチャートである。
【００２５】
まず、ステップＳ１０では、撮像装置１００、１０２で異なる複数の視点から検出対象を撮影し、そして、図１に示す撮像部１１は、撮像装置１００、１０２によって撮像された異なる視点の複数の画像１０７、１１０を取得する。
【００２６】
次に、ステップＳ２０では、それら複数の画像１０７、１１０を利用して奥行きの推定を行う。図１に示す奥行推定部１２は、複数の画像１０７、１１０間で対応する位置の奥行きを推定する。
【００２７】
図４は、ステップＳ２０をより詳細に示したフローチャートである。
【００２８】
まず、ステップＳ２００では、撮像装置１００と撮像装置１０２との間の運動の推定を行う。撮像装置１００、１０２は空間中を移動しているため、３次元の回転行列と３次元の移動ベクトルが運動の推定で求めるパラメータである。
【００２９】
運動の推定には、撮像装置１００で撮像された画像１０７と撮像装置１０２で撮像された画像１１０を用いる。これらの画像１０７、１１０から、まず特徴点を検出する。特徴点の検出方法としては、画像の輝度が周囲とは異なることを検出するＨａｒｒｉｓ、ＳＵＳＡＮ、ＦＡＳＴ等多くが提案されており、それらを用いることができる。
【００３０】
続いて、各特徴点が両画像１０７、１１０で一致するものを求める。特徴点同士の対応をとるには、特徴点の周囲を囲む小ウィンドウ内の輝度差分絶対和（ＳＡＤ）、ＳＩＦＴ特徴、ＳＵＲＦ特徴、ＯＲＢ特徴、ＢＲＩＳＫ特徴、ＢＲＩＥＦ特徴などの既存の方法を用いて求めることができる。
【００３１】
図５（ａ）に示す画像１０７では特徴点２００〜２０４が抽出され、各特徴点２００〜２０４は、図５（ｂ）に示す画像１１０の特徴点２０５〜２０９と対応がついている。例えば、画像１０７の左の壁３０にある特徴点２００は、画像１１０の特徴点２０５に対応がついている。これらの特徴点の対応組が５つ以上あると、数１に示すような画像間の基本行列Ｅ（Ｅｓｓｅｎｔｉａｌ  Ｍａｔｒｉｘ）を求めることができる。
【００３２】
【数１】
2015184929.tif 000003
【００３３】
ここで、同次座標ｘ（tilde）’は、画像１０７での特徴点の位置を正規化画像座標で表現したものであり、ｘ（tilde）は、画像１１０での特徴点の位置を正規化画像座標で表現したものである。なお、正規化画像座標を得るために、撮像装置１００、１０２の内部パラメータは事前に校正作業を行い既知であることを想定しているが、未知である場合には、対応組を７つ以上使う等して基礎行列Ｆ（Ｆｕｎｄａｍｅｎｔａｌ  Ｍａｔｒｉｘ）を推定するようにしてもよい。なお、内部パラメータとは、レンズの焦点距離、撮像装置の撮像素子の有効画素間隔、画像中心、レンズの歪係数で構成される。基本行列Ｅは、回転行列Ｒと移動ベクトルｔ［ｔｘ ｔｙ ｔｚ］で構成されているため、基本行列Ｅを分解することで運動の推定結果である、撮像装置間の３次元の回転行列および移動ベクトルを算出することができる。
【００３４】
次に、ステップＳ２０１では、ステップＳ２００で求められた運動の推定結果を拘束条件として、画像１０７と画像１１０との間で、同じ位置どうしの対応を求める。
【００３５】
運動推定により基本行列Ｅが求められているため、拘束条件を用いて画像間の対応付けを行う。図６（ｂ）に示す画像１１０上に点３００を設定し、この点３００の、図６（ａ）に示す画像１０７での対応位置を求めるには、数１のｘ（tilde）に点３００の座標を代入する。基本行列Ｅは既知であるため、数１はｘ（tilde）’に対して直線を表す式となる。この直線はエピポーラ線と呼ばれ、画像１０７上で線３０２で表される。
【００３６】
点３００に対応する位置はこのエピポーラ線３０２上にある。エピポーラ線３０２上での対応をとるためには、点３００のまわりに小ウィンドウを設定し、小ウィンドウ内での輝度パタンが似ている点を画像１０７のエピポーラ線３０２上で探せばよい。ここでは点３０３が見つかっている。
【００３７】
同様に点３０１についても、エピポーラ線３０４が求められ、対応位置として点３０５が求められる。画像１０７、１１０中のほかの位置に対しても同様に対応点の推定を行うことで、画像１０７、１１０内の各位置に対して対応位置を求めることができる。なお、エピポーラ線３０２とエピポーラ線３０４の交点３０６がエピポールである。
【００３８】
次に、ステップＳ２０２では、ステップＳ２００の運動の推定結果と、ステップＳ２０１の対応位置の推定結果から、三角測量の原理に基づいて、両画像１０７、１１０間で対応がとれた各位置の３次元位置の推定を行う。
【００３９】
３次元位置の同次座標をＸ（tilde）＝［Ｘ Ｙ Ｚ １］とし、撮像装置の内部パラメータから成る撮像装置１０２の透視投影行列をＰ１００３、内部パラメータに加えてステップ２０１で推定された運動推定結果から求めた撮像装置１００の透視投影行列をＰ１００１とすると、数２が成り立つ。
【００４０】
【数２】
2015184929.tif 000004
【００４１】
ここで、Ａは内部パラメータであり、３次元位置Ｘ以外については既知であるため、３次元位置はＸについて最小２乗法などによって解くことで求めることができる。
【００４２】
次に、図２に示すステップＳ３０では、ステップＳ２０によって求められた３次元位置情報を持つ画像上の点（奥行きが推定された位置）に、基準点および参照点を設定する。
【００４３】
図１に示す基準点設定部１３は、例えば、画像上における輝度が周囲と異なる位置を基準点に設定する。また、参照点設定部１４は、３次元位置情報を持つ画像上の点（奥行きが推定された位置）であって、基準点に対して画像上の縦軸方向の上方に離れた位置に参照点を設定する。
【００４４】
実施形態によれば、図７（ａ）に示すように、撮像装置４００が移動体４０１に搭載されており、進行方向前方には立体物４０３と路面上パタン４０４が存在している。この状況下で撮影された図７（ｂ）に示す画像４０８には、立体物４０３および路面上パタン４０４が画像上に投影されている。
【００４５】
ここで、画像４０８の立体物４０３上に基準点４０９を、路面上パタン４０４上に基準点４１１を設定する。続いて、基準点４０９の鉛直上方に参照点４１０を設定し、基準点４１１の鉛直上方に参照点４１２を設定する。
【００４６】
基準点４０９と基準点４１１は、画像上での縦軸方向での位置が等しく、撮像装置４００の光軸が路面４０２に対して平行に設置されているならば、基準点４０９及び基準点４１１はどちらも、図７（ａ）に示す空間上での位置は４０５となる。
【００４７】
参照点４１０と参照点４１２は、画像上での縦軸方向での位置が等しいならば、撮像装置４００の光学中心を通る直線３１上に存在しており、参照点４１０は図７（ａ）に示す空間上で位置４０６に位置し、参照点４１２は図７（ａ）に示す空間上で位置４０７に位置する。
【００４８】
位置４０５と位置４０６とを結ぶ方向は路面４０２に対して鉛直方向であり、位置４０５と位置４０７を結ぶ方向は路面４０２に対して平行方向である。
【００４９】
移動体（車両）４０１の走行中、路面４０２に対する撮像装置４００の姿勢は未知である。ただし、実際には移動体４０１と路面４０２の位置関係は大きくは変わらないため、後述するステップＳ４０で設定される投票範囲に余裕を持たせることで、路面４０２に対する撮像装置４００の姿勢変動の影響を抑えることができる。
【００５０】
基準点４０９、４１１および参照点４１０、４１２はともに３次元情報（奥行き）が求められた画像上の位置（条件Ａ）を用いる。まず、基準点４０９、４１１を条件Ａに基づいて設定する。
【００５１】
続いて、参照点４１０、４１２は、条件Ａを満たしつつ、基準点４０９、４１１に対して画像の縦軸方向で上方に離れて設定する。参照点は１つの基準点に対して、複数設定することが望ましい。または、条件Ａを満たしつつ、画像の輝度の変化が大きい、エッジやコーナー点のみを参照点として設定してもよい。
【００５２】
参照点４１０、４１２は、基準点４０９、４１１に対して画像の縦軸方向で上方に設定する。この参照点４１０、４１２の設定範囲として、例えば検出する立体物の最小高さＹｍｉｎ（位置４０１３）を設定しておくことができる。すなわち、Ｙｍｉｎが図７（ｂ）の画像上に投影される点４１４の高さまでの範囲内で参照点を設定することができる。
【００５３】
具体的には、基準点の座標をｘ（tilde）ｂａｓｅとし、その３次元位置をＸ（tilde）ｂａｓｅとする。基準点の空間位置に対して、立体物の最小高さＹｍｉｎを持った場合の画像上での投影位置ｘ（tilde）ｒは、空間透視投影行列Ｐ４００１を使って数３のようにあらわされる。
【００５４】
【数３】
2015184929.tif 000005
【００５５】
このｙｒからｙｂまでの範囲に参照点を設定すればよい。
【００５６】
次に、ステップＳ４０では設定された基準点および参照点を用いて、図１に示す範囲設定部１５が、基準点の上方に、高さと奥行きの広がりを持つ投票範囲を設定する。
【００５７】
図８（ａ）、および図８（ａ）における立体物１０６を拡大した図８（ｃ）に示すように、立体物１０６は三角測量の誤差によって実際の形状が符号１０６で表される形状であっても、符号１０６ａや１０６ｂで表される形状のように形状が変形されて観測される可能性がある。これは、異なる視点で撮像された複数の画像間の対応点を求める際の誤差などによって生じる。
【００５８】
撮像装置１００で撮像された画像５０２において、図８（ｂ）に拡大して示すように、真の対応位置を５０３とする。その位置５０３に対して誤差が載った２点５０４と５０５を設定する。撮像装置１００の光学中心と、それぞれの点５０３、５０４、５０５を通る直線をそれぞれ５０６、５０７、５０８とする。ここでは図面上でのスペースの関係で、図８（ｂ）と図８（ｃ）の間の線５０６、５０７、５０８が曲線で図示しているが実際は直線である。これらの直線５０６、５０７、５０８と、撮像装置１００の光学中心を通る直線５００との交点がそれぞれ５０９、５１０、５１１であり、これが真の形状からずれた形状１０６ａと１０６ｂを形成する。
【００５９】
本ステップでは、このような計測誤差を鑑みて投票範囲を設定する。
【００６０】
図９（ａ）は、基準点及び参照点が設定された画像６００である。  
図９（ｂ）は、画像６００に表示された立体物６１０の基準点６０１に対する参照点６０２、６０３の３次元位置を表す。  
図９（ｃ）は、画像６００に表示された路面パタン６２０の基準点６０６に対する参照点６０７、６０８の３次元位置を表す。  
図９（ｂ）及び（ｃ）において、Ｚ方向は奥行き方向を、Ｙ方向は高さ方向を表す。
【００６１】
図９（ａ）に示す点６０１は立体物６１０に対して設定された基準点であり、点６０２、点６０３はその基準点６０１に対応する参照点である。
【００６２】
３次元情報の計測誤差による、図８（ｃ）、図９（ｄ）に示すような立体物の変形を考えると、点５０９、５１０、５１１は範囲６０５に収まっており、これに相当するように投票範囲６０４を設定すれば、投票範囲６０４内にあり、立体物６１０に属する参照点６０２、６０３の数を数えることができる。
【００６３】
また、路面上パタン６２０に設定された基準点６０６と、参照点６０７、６０８は、路面６３０上にあるため、図９（ｃ）に示すように奥行き方向Ｚに長く分布する。よって、路面上パタン６２０については、投票範囲６０９が立体物についての投票範囲６０４と同じであっても、その投票範囲６０９内に参照点６０７、６０８が含まれない。
【００６４】
次に、投票範囲の設定方法、すなわち、図９（ｂ）に示すΔｚとΔｙの設定方法の具体例について説明する。Δｚは、基準点６０１から任意の高さΔｙにおける投票範囲６０４の奥行き方向Ｚの幅の半分を表す。
【００６５】
１つの方法としては、３次元情報の計測誤差による立体物の変形を鑑み、基準点に対するＹ方向の高さが増すほど投票範囲の奥行き方向Ｚの幅を広げるつまり数４のように表現できる。
【００６６】
【数４】
2015184929.tif 000006
【００６７】
ここで、θは、基準点６０１を中心に扇状に広がった投票範囲６０４の角度の１／２の角度である。撮像装置の光軸が路面に対して略平行に設置されているとすると、ｔａｎθの値を小さくすると、路面に対して垂直な立体物に属する参照点が投票範囲６０４に入りやすくなる。すなわち、路面に対して垂直に近いものが検出されやすくなるが、路面に対して傾いた物体は検出しにくくなる。
【００６８】
逆に、ｔａｎθを大きくしていくと、路面に対して傾いた立体物に属する参照点が投票範囲６０４に入りやすくなるため、路面上パタンを立体物として検出する可能性が高まる。
【００６９】
ｔａｎθの設定方法として、１つ挙げられるのは固定値とする方法である。道路の最大勾配は法律で定められており、日本ではおよそ１０°（θは９０−１０＝８０°ほど）である。よって８０°よりθが小さくなるように定める。また、計算を高速化するために、角度にとらわれずに、Δｙに対してΔｚは１倍、半分、２倍等の簡易に計算できる値を用いてもよい。
【００７０】
２つめとして挙げられるのは、移動体と検出対象物との距離に応じてｔａｎθの値を変える方法である。遠方では、道路形状が上り下り等により車両に対して大きく角度がつく可能性があるが、車両に近い領域については道路の傾きは小さい。よって、奥行Ｚが小さい場所では路面に対する撮像装置の傾きは大きくないためｔａｎθを大きくして、路面に対して傾いた立体物も検出しやすくする。
【００７１】
逆に奥行Ｚが大きい場所では路面の傾きによって路面上パタンを立体物として誤判定するのを避けるため、ｔａｎθを小さくして、路面に対して垂直に近いものだけを検出しやすくする。
【００７２】
３次元情報の計測誤差（奥行き推定誤差）に応じて投票範囲を設定することもできる。３次元情報の計測誤差（奥行き推定誤差）は、数２を参照すると、数５によって算出される。
【００７３】
【数５】
2015184929.tif 000007
【００７４】
ここでεｘとεｙは仮定する計測誤差であり、ｘ（tilde）およびｘ（tilde）’は基準点または参照点の、視点の異なる撮像装置で撮影された画像での対応位置である。基準点と参照点とで、（εｘ２＋εｙ２）の絶対値が一定値であり、εｘとεｙはエピポーラ線方向に沿っていることが望ましい。Ｘ（tilde）ｅ＝［Ｘｅ Ｙｅ Ｚｅ １］は、計測誤差を含んだ３次元位置を同次座標系で表現したものである。
【００７５】
図１０において投票範囲７０３を斜線で表す。
【００７６】
ΔＺは、基準点７００での３次元位置の推定結果と、計測誤差を付加した際の３次元位置の推定結果の奥行き方向の差とを利用して、例えば（Ｚｅ−Ｚ）の絶対値である。
【００７７】
ｙｏｆｆｓｅｔは路面上パタンを投票範囲から除外するための閾値である。ΔＺｍは立体物が路面から傾いていても検出しやすくするための閾値であり、数４のように高さ変化に応じて大きくしてもよい。また、ΔＺは、参照点での３次元位置の推定結果や、計測誤差を付加した際の３次元位置の推定結果を用いてもよい。
【００７８】
前述した投票範囲を設定した後、次のステップＳ５０では、図１に示す投票部１６が、投票範囲内にある参照点に対して投票処理を行う。
【００７９】
この投票処理では、基準点の画像上での位置（座標）と結び付けて、各基準点に対応する参照点の個数Ｔ１と、参照点のうち投票範囲に入った個数Ｔ２の２つの投票値を保持する。
【００８０】
Ｔ１が大きければ大きいほど基準点の上方にはより多くの３次元情報が集まっている。Ｔ２が大きければ大きいほど、より路面に対して垂直方向の３次元位置を持つ参照点が含まれている。
【００８１】
次に、ステップＳ６０では、図１に示す立体物判定部１７が、ステップＳ５０で計算された投票値Ｔ１、Ｔ２など路面上の立体物を検出する。
【００８２】
Ｔ２の値が大きいほど路面に対して垂直方向の３次元位置を持つ参照点が多いが、同時にＴ１の値が十分に大きいと、Ｔ２がノイズで多くの投票数を稼いでしまっている可能性もある。
【００８３】
Ｔｈは０以上１以下で正規化されており、Ｔｈが１であるときに最も立体物である可能性が高く、逆に０に近いと参照点のほとんどは路面上パタンであることを表す。そこで、Ｔ２／Ｔ１＝Ｔｈに対して閾値を設定し、立体物判定部１７は、Ｔｈがその閾値より大きい位置に立体物を検出する。
【００８４】
基準点は、路面と立体物の接する位置を仮定して設定しているため、検出された立体物の下端位置が路面との接する位置であることが多い。なお、立体物の画像上の位置だけでなく、その３次元位置も知りたい場合には、ステップＳ５０においてＴ１とＴ２を記録するときに同時に３次元座標も保持しておけばよい。この情報を利用して、撮像装置と路面との位置関係を推定することもできる。
【００８５】
図１１は、自動車に搭載された撮像装置によって、異なる視点で撮像された例えば２つの画像例を示す。
【００８６】
図１２は、ステップＳ２０で求められた３次元位置を、図１１の画像に重畳した画像を示す。図１３は、図１２から背景画像を取り除き、奥行き情報のみを抽出した図を示す。これら画像はグレースケールでもカラーでも表示可能である。
【００８７】
グレースケール画像においては、相対的に暗い（濃い）点の位置は明るい（薄い）点の位置よりも自車両に近い。カラー画像においては、例えば、赤い点の位置ほど自車両に近く、青い点の位置ほど遠いというように、奥行きに応じて色を変えて表示させることができる。
【００８８】
また、図１４に示すように、上記Ｔｈ（＝Ｔ２／Ｔ１）の大きさに応じて色を変えて表示することもできる。例えば、赤ほど１に近く立体物らしく、路面上の白線やマンホールの蓋などは一定値の黒色で表される。立体物周辺でＴｈの値が大きくなっていることが確認できる。また、グレースケールでも表示可能であり、白い位置は黒い位置よりもＴｈが大きい。
【００８９】
図１５は、Ｔｈが閾値を上回った位置が分布する部分の下端位置に色を変えて（例えば、グレースケール画像では白色で、カラー画像では緑色で）表現している。路面と立体物の境界線で多くの立体物が検出されている。空中に浮いている立体物もあるが、奥行きがわかっているため、撮像装置と路面の位置関係がわかれば数２を使って路面と立体物の３次元空間中での境界位置から画像上の投影位置を算出することもできる。
【００９０】
ここで、３次元情報から路面と立体物を検出する方法の比較例として、路面を平面と仮定せずに、得られた３次元情報をもとに、局所的に立体物と路面の判定を行う方法が提案されている。この方法では、視差の大きさに応じて範囲を変えたブロックをあらかじめ作成しておき、画像内の３次元情報（視差）をこのブロックに投票していく。路面と立体物の分離は、ブロックでの投票値や偏差を用いる。
【００９１】
この方法では、画素単位で設定された範囲内の視差を特定のブロックに投票を行うため、サブピクセル精度の視差が必要な遠方やエピポール付近での立体物が検出できない。１つのカメラを進行方向に向けて取り付け、異なる時刻に撮影された複数の画像から３次元情報を得る際にはエピポールが画像中央付近に生じる。仮にサブピクセル精度の視差を扱おうとするとブロック数が膨大になり、メモリを大量に必要とするという問題がある。
【００９２】
これに対して実施形態によれば、画像上の各位置に設定される基準点と参照点との間の奥行き差を考慮して投票範囲を設定することで、路面が平面でない場合や、エピポール付近や遠方のサブピクセル精度の視差を必要とする場合にも、メモリの使用量が変わらずに、一定のメモリ量で立体物の検出を可能とする。
【００９３】
（第２実施形態）
図１６は、第２実施形態の立体物検出装置２０の構成の一例を示すブロック図である。
【００９４】
第２実施形態の立体物検出装置２０は、第１実施形態の立体物検出装置１０の要素に加えて、さらに時系列情報反映部１８を備えている。
【００９５】
時系列情報反映部１８は、第１の時刻で撮像された異なる視点の複数の画像から求められた第１の投票処理の結果を、第１の時刻よりも後の第２の時刻に撮像された異なる視点の複数の画像から求められた第２の投票処理の結果に加算する。
【００９６】
図１７は、第２実施形態の立体物検出装置２０を用いた立体物検出方法の一例を示すフローチャートである。
【００９７】
ステップＳ１０〜ステップＳ５０、およびステップＳ６０は、第１実施形態と同様に処理される。第２実施形態では、ステップＳ５５が追加された処理内容である。
【００９８】
ステップＳ５５における時系列情報反映部１８の処理によって、投票結果を時系列方向に伝搬させることにより、立体物検出の安定性向上を図ることができる。
【００９９】
画像の明るさの変化、オクルージョン等によって画像間の対応位置が正しく取れず、３次元位置が推定されなかったことで十分な投票数を得られないと、立体物の検出精度の低下が懸念される。これに対して、投票数を時間方向に伝搬することで投票数を上げ、立体物検出の検出率を向上させることができる。
【０１００】
例えば、第１実施形態で説明したように、図１８に示す撮像装置１００と撮像装置１０２の撮像画像により、ステップＳ５０の投票処理が済んでいるものとする。撮像装置１００と撮像装置１０２の撮像画像から求められる投票処理結果を第１の時刻の投票処理結果とする。
【０１０１】
次に、撮像装置１０２の位置よりもさらに進行方向に進んだ移動体１２０に搭載された撮像装置１２１の撮像画像と、前時刻の撮像装置１０２の撮像画像を用いて、ステップＳ１０〜ステップＳ５０までを行い、撮像装置１２１の画像に対する投票結果を得る。
【０１０２】
前時刻では、撮像装置１０２の画像に対する投票結果がある。撮像装置１２１と撮像装置１０２の間の運動は前述したステップ２００で推定されている。そのため、その運動推定の結果と、前時刻の投票結果に付随している基準点の３次元位置を用いて、撮像装置１２１の画像に相当する位置を、運動推定結果による座標変換と透視投影変換とから求めることができる。
【０１０３】
その求められた位置に対して、前時刻のＴ１およびＴ２を、撮像装置１２１の画像に対する投票結果に対して加算する。
【０１０４】
また、過去の情報を減衰させる効果や投票数が時刻が進むにしたがって増大するのを防ぐため、前時刻のＴ１およびＴ２に１より小さい重みを乗算したあとに加算してもよい。得られた新しい投票結果を用いて次のステップ６０で第１実施形態と同様に立体物の検出を行う。また、次の時刻で投票結果を用いるため、この投票結果を保存しておく。
【０１０５】
実施形態の立体物検出プログラムは記憶装置に格納され、実施形態の立体物検出装置はそのプログラムを読み込み、その命令のもと前述した処理（立体物検出方法）を実行する。なお、実施形態の立体物検出プログラムは、移動体や、遠隔操作用のコントローラ側のユニットに据え付けられた記憶装置に格納されていることに限らず、可搬性のディスク状記録媒体や半導体メモリに格納されてもよい。
【０１０６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０７】
１０，２０…立体物検出装置、１１…撮像部、１２…奥行推定部、１３…基準点設定部、１４…参照点設定部、１５…範囲設定部、１６…投票部、１７…立体物判定部、１８…時系列情報反映部
【図１】
2015184929.tif 000008
【図２】
2015184929.tif 000009
【図３】
2015184929.tif 000010
【図４】
2015184929.tif 000011
【図５】
2015184929.tif 000012
【図６】
2015184929.tif 000013
【図７】
2015184929.tif 000014
【図８】
2015184929.tif 000015
【図９】
2015184929.tif 000016
【図１０】
2015184929.tif 000017
【図１６】
2015184929.tif 000018
【図１７】
2015184929.tif 000019
【図１８】
2015184929.tif 000020
【図１１】
2015184929.tif 000021
【図１２】
2015184929.tif 000022
【図１３】
2015184929.tif 000023
【図１４】
2015184929.tif 000024
【図１５】
2015184929.tif 000025