(57)【要約】 【課題】処理時間を短縮しつつ物体の検出精度の低下を抑制可能な情報処理装置、システム、移動体、情報処理方法およびプログラムを提供する。【解決手段】本発明の情報処理装置は、画素毎に距離情報を有する距離画像を取得する取得部と、距離画像に基づくデータを生成するデータ生成部と、を備える。データ生成部は、距離画像を間引きながら複数の画素の各々に対してアクセスし、アクセス対象の画素を示すアクセス画素の距離情報に基づいて、アクセスしない画素を示す未アクセス画素の距離情報を決定し、その決定した距離情報を用いてデータを生成する。【選択図】図１１
2019160248.tif 000002
【特許請求の範囲】
【請求項１】
画素毎に距離情報を有する距離画像を取得する取得部と、
前記距離画像に基づくデータを生成するデータ生成部と、を備え、
前記データ生成部は、
前記距離画像を間引きながら複数の画素の各々に対してアクセスし、アクセス対象の画素を示すアクセス画素の距離情報に基づいて、アクセスしない画素を示す未アクセス画素の距離情報を決定し、その決定した距離情報を用いて前記データを生成する、
情報処理装置。
【請求項２】
前記データ生成部は、
第１のアクセス画素と、その次にアクセスする第２のアクセス画素との間に存在する１以上の前記未アクセス画素の距離情報を、該第１のアクセス画素の距離情報と同じ値に決定する、
請求項１に記載の情報処理装置。
【請求項３】
前記データ生成部は、
第１のアクセス画素の周囲に存在する１以上の画素の距離情報に基づいて、該第１のアクセス画素と、その次にアクセスする第２のアクセス画素との間に存在する１以上の前記未アクセス画素の距離情報を決定する、
請求項１に記載の情報処理装置。
【請求項４】
前記データ生成部は、
前記第１のアクセス画素の周囲に存在する１以上の画素の距離情報に基づいて、前記第１のアクセス画素の距離情報を算出し直し、前記第１のアクセス画素と、前記第２のアクセス画素との間に存在する１以上の前記未アクセス画素の距離情報を、該算出し直した距離情報と同じ値に決定する、
請求項３に記載の情報処理装置。
【請求項５】
前記データ生成部は、
前記第１のアクセス画素の周囲に存在する１以上の画素の距離情報の平均値、重み付き平均値、最大値、最小値、中央値、最頻値のうちの何れかを求め、その求めた値を、該第１のアクセス画素の距離情報として算出する、
請求項４に記載の情報処理装置。
【請求項６】
前記第１のアクセス画素の周囲に存在する１以上の画素は、アクセス済みのアクセス画素である、
請求項３乃至５のうちの何れか１項に記載の情報処理装置。
【請求項７】
前記データ生成部は、前記アクセス画素が有効であるか否かを判定し、有効である場合は、前記アクセス画素の距離情報に基づいて、前記未アクセス画素の距離情報を決定する、
請求項１乃至６のうちの何れか１項に記載の情報処理装置。
【請求項８】
前記アクセス画素が有効であると判定するための条件には、該アクセス画素の距離情報が、予め定められた範囲内であることが含まれる、
請求項７に記載の情報処理装置。
【請求項９】
前記データは、前記距離画像の垂直方向の位置と、距離との関係を示す第１のマップ、または、前記距離画像の水平方向の位置と、路面の高さを超える距離との関係を示す第２のマップである、
請求項１乃至８のうちの何れか１項に記載の情報処理装置。
【請求項１０】
前記データが前記第２のマップである場合、前記アクセス画素が有効であると判定するための条件には、該アクセス画素の距離情報が、前記路面から所定範囲内の高さを示すことが含まれる、
請求項９に記載の情報処理装置。
【請求項１１】
前記距離画像は画素毎に視差値を有する視差画像である、
請求項１乃至１０のうちの何れか１項に記載の情報処理装置。
【請求項１２】
請求項１乃至１０のうちの何れか１項に記載の情報処理装置と、
前記情報処理装置による情報処理の結果に基づく制御を行う制御装置と、を備える、
システム。
【請求項１３】
請求項１乃至１０のうちの何れか１項に記載の情報処理装置と、
前記情報処理装置による情報処理の結果に基づく制御を行う制御装置と、を備える、
移動体。
【請求項１４】
画素毎に距離情報を有する距離画像を取得する取得ステップと、
前記距離画像に基づくデータを生成するデータ生成ステップと、を含み、
前記データ生成ステップは、
前記距離画像を間引きながら複数の画素の各々に対してアクセスし、アクセス済みの画素の距離情報に基づいて、アクセスしない画素を示す未アクセス画素の距離情報を決定し、その決定した距離情報を用いて前記データを生成する、
情報処理方法。
【請求項１５】
コンピュータに、
画素毎に距離情報を有する距離画像を取得する取得ステップと、
前記距離画像に基づくデータを生成するデータ生成ステップと、を実行させるためのプログラムであって、
前記データ生成ステップは、
前記距離画像を間引きながら複数の画素の各々に対してアクセスし、アクセス済みの画素の距離情報に基づいて、アクセスしない画素を示す未アクセス画素の距離情報を決定し、その決定した距離情報を用いて前記データを生成する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、システム、移動体、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、自動車の安全性において、歩行者と自動車とが衝突したときに、いかに歩行者を守れるか、および、乗員を保護できるかの観点から、自動車のボディー構造等の開発が行われてきた。しかしながら、近年、情報処理技術および画像処理技術の発達により、高速に人および自動車を検出する技術が開発されてきている。これらの技術を応用して、自動車が物体に衝突する前に自動的にブレーキをかけ、衝突を未然に防ぐという自動車も既に開発されている。また、安全性能に加えてドライバーの運転時の負荷を軽減するため、前方車両を認識して、自動で追従する制御機能(ACC：Adaptive Cruise Control)も既に車載システムとして発売されている。
【０００３】
これらの制御を実現するためには、自車から前方に存在する物体までの距離を正確に測定する必要があり、そのために、ミリ波レーダ、レーザレーダによる測距、ステレオカメラによる測距などが既に採用されている。車載用画像認識技術による自動車の自動制御を実用化するには、上記装置で計測した距離情報に基づき、画面上に写る物体を認識し、物体ごとに制御を行う必要がある。例えば、検出物体が歩行者か車両かによって制御を変えることが想定される。
【０００４】
例えばステレオカメラで測距する場合、左右のカメラで撮影された局所領域のズレ量に基づいて視差画像（距離画像の一例）を生成することで、画像中の画素ごとに距離を測定することができる。この視差画像を用いて物体検出を行う場合は、まず、視差画像中の各画素を、横軸を視差値（距離）、縦軸を視差画像のｙ座標としたマップ（Ｖマップ：V-Disparity Map）上に投票し、マップ上の分布形状から路面形状を推定する。次に、視差画像中の画素のうち、推定した路面よりも高い位置に存在する画素のみを、横軸を視差画像のｘ座標、縦軸を視差値としたマップ（Ｕマップ：U-Disparity Map）に投票する。そして、U-Disparity  Map上の同程度の視差値が高密度で集まる領域(視差塊)を物体として検出する。
【０００５】
以上の方法で物体を検出する場合、各マップを生成する際に視差画像や他のマップにアクセスする必要があるために多くの処理時間を要するという問題がある。そこで、視差画像を間引いてアクセスする方法が知られている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、単純に画素を間引いてアクセスする方法では、重要な情報が欠損して検出（認識）精度が低下してしまうおそれがある。
【０００７】
本発明は、上記に鑑みてなされたものであって、処理時間を短縮しつつ物体の検出精度の低下を抑制可能な情報処理装置、システム、移動体、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、画素毎に距離情報を有する距離画像を取得する取得部と、前記距離画像に基づくデータを生成するデータ生成部と、を備え、前記データ生成部は、前記距離画像を間引きながら複数の画素の各々に対してアクセスし、アクセス対象の画素を示すアクセス画素の距離情報に基づいて、アクセスしない画素を示す未アクセス画素の距離情報を決定し、その決定した距離情報を用いて前記データを生成する情報処理装置である。
【発明の効果】
【０００９】
本発明によれば、処理時間を短縮しつつ物体の検出精度の低下を抑制できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施形態に係る機器制御システムを搭載した車両を示す図である。
【図２】図２は、第１の実施形態に係る機器制御システムのハードウェア構成を示す図である。
【図３】図３は、第１の実施形態に係る撮像ユニットのハードウェア構成を示す図である。
【図４】図４は、第１の実施形態に係る機器制御システムの機能的構成を示す図である。
【図５】図５は、視差画像とＶマップとの関係を説明するための図である。
【図６】図６は、視差画像とＵマップとの関係を説明するための図である。
【図７】図７は、画素の間引きについて説明するための図である。
【図８】図８は、Ｕマップにおける横方向の全画素投票方式と、第１の実施形態の仮想投票方式との差異を説明するための図である。
【図９】図９は、Ｕマップにおける縦方向の全画素投票方式と、第１の実施形態の仮想投票方式との差異を説明するための図である。
【図１０】図１０は、Ｖマップの生成に際して、縦方向に対して、全画素投票方式、または、仮想投票方式を適用した場合の比較図を示している。
【図１１】図１１は、第１の実施形態のＵマップ生成部の機能構成を示す図である。
【図１２】図１２は、第１の実施形態のデータ生成部の機能構成を示す図である。
【図１３】図１３は、第１の実施形態のＵマップ生成部の動作例を示す図である。
【図１４】図１４は、第１の実施形態の仮想投票方式と、第２の実施形態の仮想投票方式との差異を説明するための図である。
【図１５】図１５は、第２の実施形態のＵマップ生成部の機能構成を示す図である。
【図１６】図１６は、第２の実施形態のデータ生成部の機能構成を示す図である。
【図１７】図１７は、第２の実施形態のＵマップ生成部の動作例を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照しながら、本発明に係る情報処理装置、システム、移動体、情報処理方法およびプログラムの実施形態を詳細に説明する。
【００１２】
（第１の実施形態）
図１は、第１の実施形態に係る機器制御システム１（「システム」の一例）を搭載した車両１０（「移動体」の一例）の例を示す模式図である。本実施形態に係る車両１０のフロントガラスの上部（バックミラー付近）には、撮像ユニット１１が設置されている。撮像ユニット１１は、車両１０の進行方向１７前方を撮像するステレオカメラと、ステレオカメラが撮像した撮像画像を解析する解析ユニット（「情報処理装置」の一例）と、を含む。ステレオカメラは、水平に配置された２つのカメラ部により、左側視界１５の撮像画像および右側視界１６の撮像画像を取得する。解析ユニットは、ステレオカメラから供給される左右の撮像画像に基づいて、車両１０が走行中の路面、前方車両、歩行者、障害物等の認識対象物を解析する。また、車両１０には、解析ユニットの解析結果（情報処理装置による情報処理の結果）に基づく制御（各種車載機器の制御、車両１０のハンドル制御又はブレーキ制御等）を行う車両ＥＣＵ（「制御装置」の一例）などが搭載されている。
【００１３】
図２は、第１の実施形態に係る機器制御システム１の全体的なハードウェア構成の例を示す図である。機器制御システム１は、撮像ユニット１１および車両ＥＣＵ（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）情報（車速、加速度、舵角、ヨーレート等）をパラメータとして取得する。ＣＰＵ３１は、ＲＯＭ３３に記憶されているプログラムに従って、ＲＡＭ３４に記憶されている輝度画像および視差画像を用いて、路面形状の推定、オブジェクトの認識、距離の計測等の各種処理を実行する。
【００２１】
画像解析ユニット１３による解析結果を示す解析データは、シリアルＩＦ３５を介して、例えば自動ブレーキシステム、自動速度制御システム、自動操舵システム、警報システム等の外部システムへ供給される。
【００２２】
図４は、第１の実施形態に係る機器制御システム１の機能的構成の例を示す図である。本実施形態に係る機器制御システム１は、撮像部１０１、視差計算部１０２、Ｖマップ生成部１０３、路面推定部１０４、Ｕマップ生成部１０５、クラスタリング部１０６、棄却部１０７、トラッキング部１０８、および制御部１０９を含む。図４は、撮像ユニット１１による１フレームの撮像から路面推定、オブジェクト認識等を含む画像解析処理を終え、車両制御を開始させるまでの一連の流れの例を示している。
【００２３】
撮像部１０１は、車両１０前方を撮像し、２つの輝度画像（撮像画像）を取得する機能部である。撮像部１０１は、撮像ユニット１１等により構成される。撮像部１０１により取得された２つの輝度画像の一方（例えば第１のカメラ部２１ａにより取得された左側視界１５の輝度画像）が基準画像となり、他方（例えば第２のカメラ部２１ｂにより取得された右側視界１６の輝度画像）が比較画像となる。
【００２４】
視差計算部１０２は、基準画像の輝度画像と比較画像の輝度画像とを用いて、ステレオカメラ１２の撮像範囲内の局所領域のブロックマッチング等により画素毎の視差値を算出し、視差画像を生成する機能部である。視差計算部１０２は、例えばＦＰＧＡ３２、ＣＰＵ３１等により構成される。
【００２５】
Ｖマップ生成部１０３は、視差計算部１０２により生成された視差画像を用いて、後段の路面推定部１０４で使用するためのＶマップを生成する。Ｖマップは、「第１のマップ」の一例であり、視差画像（「距離画像」の一例）の垂直方向の位置と、視差値ｄ（「距離」の一例）との関係を示すマップである。より具体的には、Ｖマップは、横軸に視差値ｄ、縦軸に視差画像のｙ座標を対応させた二次元マップであり、視差画像の各座標（ｘ，ｙ）の視差値ｄが、Ｖマップ上の対応する位置（ｄ，ｙ）に投票されて生成される。Ｖマップ上の座標（ｄ，ｙ）には、この位置に投票された視差値ｄの頻度（点数）を示す値（頻度値）が格納される。
【００２６】
図５は、視差画像とＶマップとの関係を説明するための図である。図５に示すように、Ｖマップの横方向の一ライン(水平ライン)上に投票される視差は、視差画像中の所定の横方向の一ラインから抽出された視差になる。なお、図５の例では、視差画像とＶマップのｙ座標を一致させているが、必ずしもこうなっている必要はない。この関係に基づくと、視差画像中の物体は、自車から同距離に存在するため、Ｖマップ上では縦方向に分布(同程度の視差値ｄ（横軸の座標）に対応して分布)することとなる。また、視差値ｄは距離が近方ほど大きな値となり、遠方ほど小さな値となるという特徴がある。従って、Ｖマップを図５のように左上原点とした場合、視差画像中の各画素（視差値ｄ）をＶマップ上に投票すると、視差値ｄの分布を示す形状は左上上がりとなる。後段の路面推定部１０４による路面形状の推定は、Ｖマップを用いて実施し、推定後は視差値ｄにおける路面高さに対応するｙ座標を決定することができる。図５に示す符号１０３０は、図５に示すＶマップ上で路面形状を推定した結果を示す。ここで、前方車両の視差αにおける路面からの高さは図中の関係となる。そのため、このｙ座標差（前方車両の視差αに対応するｙ座標と、視差αにおける路面高さに対応するｙ座標との差）が路面からの高さとなる。
【００２７】
本実施形態では、Ｖマップ生成部１０３は、視差画像（「距離画像」の一例）を間引きながら複数の画素の各々に対してアクセス（順番にアクセス）し、アクセス対象の画素を示すアクセス画素の視差値ｄ（「距離情報」の一例）に基づいて、アクセスしない画素を示す未アクセス画素の視差値ｄを決定し、その決定した視差値ｄを用いてＶマップ（「距離画像に基づくデータ」の一例）を生成する。詳細な内容については後述する。なお、Ｖマップ生成部１０３の機能は、ＣＰＵ３１がプログラムを実行することにより実現されるが、これに限らず、例えば専用のハードウェア回路（例えばＦＰＧＡ３２等）で実現されてもよい。
【００２８】
図４に戻って説明を続ける。路面推定部１０４は、Ｖマップ生成部１０３により生成されるＶマップに基づいて路面形状の推定を行う。Ｖマップの生成方法については後述する。路面推定部１０４は、例えばＣＰＵ３１、ＦＰＧＡ３２等により構成される。
【００２９】
Ｕマップ生成部１０５は、視差計算部１０２により生成された視差画像と、路面推定部１０４による路面形状の推定結果とを用いて、後段のクラスタリング部１０６で使用するためのＵマップを生成する。Ｕマップは、「第２のマップ」の一例であり、視差画像（距離画像）の水平方向の位置と、路面の高さを超える視差値ｄ（距離）との関係を示す。より具体的には、Ｕマップは、横軸に視差画像のｘ座標、縦軸に視差値ｄを対応させた二次元マップであり、視差画像の各座標（ｘ，ｙ）の視差値ｄのうち路面高さを超える視差値ｄが、Ｕマップ上の対応する位置（ｘ，ｄ）に投票されて生成される。Ｕマップ上の座標（ｘ，ｄ）には、この位置に投票された視差値ｄの頻度（点数）を示す値（頻度値）が格納される。
【００３０】
図６は、視差画像とＵマップとの関係を説明するための図である。このＵマップには、視差画像中の画素のうち、路面よりも高い視差を有する画素のみが投票されている。また、視差画像の横軸とＵマップの横軸は一致しているものとする。なお、Ｕマップの横軸は、視差画像の横方向の座標を実距離に換算した形態であってもよいし、Ｕマップ上の座標に頻度値ではなく路面からの実高さを格納する形態とすることも可能であるが、Ｕマップの種類は任意であり、この例では、横軸を視差画像中のｘ座標と対応させ、各座標には頻度値を格納するものとする。物体検出は、このマップ上の視差の塊を見つける処理に該当する。図６の例では、側壁２面分と前方車両が物体として検出される。
【００３１】
本実施形態では、Ｕマップ生成部１０５は、視差画像を間引きながら複数の画素の各々に対してアクセスし、アクセス画素の視差値ｄに基づいて、アクセスしない画素を示す未アクセス画素の視差値ｄを決定し、その決定した視差値ｄを用いてＵマップを生成する。詳細な内容については後述する。なお、Ｕマップ生成部１０５の機能は、ＣＰＵ３１がプログラムを実行することにより実現されるが、これに限らず、例えば専用のハードウェア回路（例えばＦＰＧＡ３２等）で実現されてもよい。
【００３２】
なお、以下の説明では、ＶマップとＵマップを区別しない場合は、単に「disparity Map」と称する場合がある。このdisparity Mapは、距離画像（この例では視差画像）に基づくデータの一例である。
【００３３】
図４に戻って説明を続ける。クラスタリング部１０６は、Ｕマップ生成部１０５により生成されたＵマップ上において、頻度値が所定値よりも多い視差値が密集している領域を新規オブジェクトとして検出し、検出された領域の輝度画像上の座標、サイズ等に基づいてオブジェクトのタイプ(人、車両、ガードレール等)を推定し、タイプを示す個体情報を付与する。クラスタリング部１０６は、例えばＣＰＵ３１、ＦＰＧＡ３２等により構成される。
【００３４】
棄却部１０７は、フレーム情報(輝度画像、視差画像等)、Ｕマップ、新規オブジェクトの個体情報等を用いて、検出されたオブジェクトのうち認識対象（衝突回避等の対象）でないものを棄却する処理を行う機能部である。棄却部１０７は、例えばＣＰＵ３１、ＦＰＧＡ３２等により構成される。
【００３５】
トラッキング部１０８は、検出されたオブジェクト（棄却されなかったオブジェクト）が複数のフレームで連続して出現する場合に、そのオブジェクトが追跡対象であるか否かを判定し、追跡対象である場合には追跡対象であることを示す個体情報を生成する処理を行う機能部である。トラッキング部１０８は、例えばＣＰＵ３１，ＦＰＧＡ３２等により構成される。
【００３６】
制御部１０９は、上記処理で得られた結果に基づき、車両１０を制御（衝突回避行動、警告の出力等）する機能部である。制御部１０９は、例えば車両ＥＣＵ５１等により構成される。
【００３７】
次に、disparity Mapの具体的な生成方法について説明する。本実施形態のＶマップ生成部１０３またはＵマップ生成部１０５（何れも「データ生成部」の一例）は、disparity Mapを生成する際に、視差画像を間引きながら複数の画素の各々に対して順番にアクセスし、第１のアクセス画素（着目したアクセス画素）と、その次にアクセスする第２のアクセス画素との間に存在する未アクセス画素の視差値ｄを、該第１のアクセス画素の視差値ｄと同じ値に決定して投票する。以下では、このようにアクセス画素の視差値ｄを基に未アクセス画素の視差値ｄを決定（推定）して投票する方式を、「仮想投票方式」と称する場合がある。
【００３８】
図７は、画素の間引きについて説明するための図である。例えばｘ方向の間引き幅が４、ｙ方向の間引き幅が２の場合、ｘ方向においてアクセス画素の間に存在する未アクセス画素の数は３、ｙ方向においてアクセス画素の間に存在する未アクセス画素の数は１となる。このとき、間引かれた未アクセス画素を間引き画素と定義する。以降では、間引かれない画素（アクセス対象の画素）を「アクセス画素」、間引かれた画素（未アクセス画素）を「間引き画素」と称する場合がある。
【００３９】
ここで、disparity Mapを生成する際に、全ての画素にアクセスして投票する方式を全画素投票方式と称する。この方式では仮想投票方式や後述の単純間引き方式に比べて処理時間は最遅であるが、情報欠損は発生しない。また、disparity Mapを生成する際に、アクセス画素のみを投票し、間引き画素は投票しない方式を単純間引き方式と称する。この方式では全画素投票方式や仮想投票方式に比べて処理時間は最速であるが、情報欠損が生じるため物体の検出精度が低下してしまう。
【００４０】
これに対して、本実施形態の仮想投票方式では、disparity Mapを生成する際に、所定の間引き幅で間引くものの、アクセス画素の視差値ｄを基に間引き画素の視差値ｄを推定し、アクセス画素と間引き画素を合わせて投票するので、視差画像へのアクセスを減らしつつ、disparity Map上の有効視差点数を増加させることができる。これにより、処理時間を短縮しつつ物体の検出精度の低下を抑制できる。
【００４１】
この仮想投票方式では、視差画像（距離画像）の場合、画像中の着目画素の周辺は同じ被写体の画素である確率が高いため、近い画素値になる確率も高いことを前提とする。例えば輝度画像の場合は、被写体のテクスチャなどにより、着目画素の周辺が模様の境界に該当すると画素値は大きく変化することになる。しかしながら、視差画像（距離画像）の場合はテクスチャに関係なく同じ物体の画素値は同程度の距離になり易いため、より上記前提が成立し易い。この前提の下、視差画像に基づくdisparity Mapを生成する場合は、例えば着目画素の右隣の画素に対しては、実際にアクセスしなくても同じ画素とみなして投票しても、概ね良好な視差値ｄを投票することができる（多少の微変化はあっても）。左右方向に限らず、上下、斜め方向に関しても同様である。つまり、仮想投票方式では、視差画像中の着目画素とその近傍画素は近い視差値ｄになっている可能性が高いことに着目し、アクセス画素の視差値ｄを基に、その近傍の間引き画素の視差値ｄを決定（推定）し、アクセス画素と間引き画素を合わせて投票している。これにより、処理時間を短縮しつつも有効な投票点数を増やすことができる。
【００４２】
以下、Ｕマップを例に挙げて本実施形態の仮想投票方式について説明する。図８は、Ｕマップにおける横方向の全画素投票方式と、本実施形態の仮想投票方式との差異を説明するための図である。図８（Ａ）に示すように、視差画像中の着目画素をアクセス画素αとし、次にアクセスする画素β（アクセス画素β）までの投票を考える。なお、この例では、画素へのアクセス順序は左上を始点として右方向に処理していき、１ラインにおける処理が完了すると下方向のラインに進み、そのライン中のアクセス画素に対するアクセスを左端から右方向に向かって順番に行うことになるが、これに限らず、アクセス順序は任意である。例えば下から上に向かって着目するラインを変えていく形態であってもよい。なお、図８の例では、アクセス画素αの視差値ｄを１５０、アクセス画素αの右隣の間引き画素の視差値ｄを１４５、その右隣の間引き画素の視差値ｄを１４０、さらにその右隣の間引き画素の視差値ｄを１３５とする。
【００４３】
ここで、全画素投票方式では、アクセス画素αからアクセス画素βまでの区間に存在する間引き画素３つ分に対し、実際にアクセスしてＵマップ上に投票する。この場合、投票後のＵマップは図８（Ｂ）のようになる。
【００４４】
これに対して、本実施形態の仮想投票方式では、上記３つの間引き画素は着目画素（アクセス画素α）の近傍の画素であるため、アクセス画素αと同じ画素値（視差値ｄ）であるとみなして（推定して）、投票位置のみを変えて投票する。この場合、投票後のＵマップは図８（Ｃ）のようになる。図８（Ｂ）に比べて誤差はあるものの、概ね良好な視差値ｄが投票されていると言える。
【００４５】
このように本実施形態の仮想投票方式を採用することで、間引き画素にアクセスすることなく、有効であると想定される視差値を決定してＵマップ上に投票することができるので、Ｕマップ上の有効視差点数が増加し、検出精度を向上させることができる。
【００４６】
なお、ここでは、着目したアクセス画素αと、その次にアクセスするアクセス画素βとの間に存在する３つの間引き画素全てを仮想投票したが、これに限らず、例えば３つよりも少ない数の間引き画素を仮想投票する形態であってもよい。例えば間引き幅が大きい場合、全ての間引き画素を仮想投票すると、推定された視差値ｄ（実際とは異なる値を示す可能性がある視差値ｄ）を割り当てられた多数の画素がＵマップに投票されることになるため、検出精度に悪影響を及ぼす可能性がある。
【００４７】
要するに、本発明が適用される仮想投票方式は、第１のアクセス画素（この例ではアクセス画素α）と、その次にアクセスする第２のアクセス画素（この例ではアクセス画素β）との間に存在する１以上の未アクセス画素（間引き画素）の視差値ｄ（「距離情報」の一例）を、該第１のアクセス画素の視差値ｄと同じ値に決定して投票する形態であればよい。
【００４８】
また、横方向だけではなく、図９に示すように、縦方向に対しても同様の処理が可能となる。Ｕマップの場合、縦方向に仮想投票方式を採用すると、ｘ座標は上下で同じになるため、Ｕマップ上の同じ座標に投票することになる（図９（Ｃ）参照）。
【００４９】
なお、着目画素（着目するアクセス画素）に対して、その視差値ｄの有効無効判定を実施した後に、着目画素の視差値ｄを用いた仮想投票を実施するか否かを決定しても良い。例えば、画素によっては夜間や黒い被写体であるため視差を計算できない(視差を左右画像のブロックマッチングで算出する場合、マッチングできない)場合がある。その場合を想定し、有効視差範囲を予め定義しておき、着目画素の視差値ｄが有効視差範囲外である場合には、着目画素は無効として、その着目画素、および、その着目画素と次のアクセス画素との間に存在する未アクセス画素の投票は行わない（仮想投票対象外とする）形態でも構わない。この場合、無効画素を仮想投票することで発生する処理時間を削減できる。ただし、これに限らず、無効画素であっても処理してしまっても構わない。判定処理のように分岐処理を入れるとＦＰＧＡ３２などの回路で一括処理する際に、かえって処理時間が増加してしまう可能性がある。従って、分岐を入れず、有効、無効画素に関係なく仮想投票方式で処理した方が良い場合も存在する。
【００５０】
また、上記では着目画素の有効無効判定を、着目画素の視差値ｄと、予め定められた有効視差範囲との関係に基づいて実施したが、これに限定されない。例えば、着目画素の視差値ｄが、路面からの高さが所定範囲外(例えば、高すぎる視差)を示す値であれば無効とみなすことも可能である。このように着目画素に対して、任意の判定基準を設けることが可能である。要するに、アクセス画素が有効であると判定するための条件には、該アクセス画素の視差値ｄ（距離情報）が、予め定められた範囲内であることが含まれてもよいし、該アクセス画素の視差値ｄ（距離情報）が、路面から所定範囲内の高さを示すことが含まれてもよい。
【００５１】
また、視差画像中のラインごとに仮想投票方式、全画素投票方式、単純間引き方式のいずれかを採用しても良い。例えば、前方車両が写りやすい画像の中央領域付近では、全画素投票方式を採用し、その上下領域では仮想投票方式を採用し、最も重要度が低い(検出対象が写る可能性が低い)領域では、単純間引き方式を採用するといった使い方が可能である。各方式の採用基準は処理時間と検出精度のトレードオフを考慮し、好適な結果が得られるように組み合わせて利用することができる。例えば、画像を所定縦幅の横長領域に分割し、領域ごとに投票方式、及び、ｘ，ｙ方向の間引き幅を決定するという使い方が可能である(例えば、視差画像サイズが(横×縦)=(２，０００×１，０００)である場合に、縦方向を５分割するとして、２，０００×２００を一つの領域とする)。
【００５２】
また、上記は仮想投票方式を用いてＵマップを生成する場合の方法を説明したが、これに限定されない。例えば、以上に説明した仮想投票方式を用いてＶマップを生成することもできる。図１０は、Ｖマップの生成に際して、縦方向に対して、全画素投票方式、または、仮想投票方式を適用した場合の比較図を示している。ＶマップとＵマップは視差値ｄの座標が縦横逆転するだけであるため、上記と同様の方法によって仮想投票方式を実施することができる。Ｖマップの横方向に対しても、Ｕマップの横方向に対して仮想投票方式を採用した場合と同様の手順で適用可能である。
【００５３】
図１１は、Ｕマップ生成部１０５の機能構成の一例を示す図である。なお、Ｖマップ生成部１０３の機能構成も同様となる。図１１に示すように、Ｕマップ生成部１０５は、取得部１１０２と、データ生成部１１０３とを有する。取得部１１０２は、視差画像（「距離画像」の一例）を取得する。この例では、視差計算部１０２により生成された視差画像は、ネットワークバス１１０１を介して、Ｕマップ生成部１０５に伝送される。取得部１１０２は、この視差画像を取得する。
【００５４】
データ生成部１１０３は、取得部１１０２により取得された視差画像に基づくＵマップ（「データ」の一例）を生成する。ここでは、データ生成部１１０３は、取得部１１０２により取得された視差画像に基づいて、以上に説明した仮想投票方式によりＵマップを生成する機能を有している。
【００５５】
データ生成部１１０３は、視差画像を間引きながら複数の画素の各々に対して順番にアクセスし、アクセス対象の画素を示すアクセス画素の視差値ｄ（「距離情報」の一例）に基づいて、アクセスしない画素を示す未アクセス画素の視差値ｄを決定し、その決定した視差値ｄを用いてＵマップを生成する。
【００５６】
より具体的には、データ生成部１１０３は、視差画像中のアクセス画素のうち、着目したアクセス画素を示す第１のアクセス画素と、その次にアクセスする第２のアクセス画素との間に存在する１以上の未アクセス画素（間引き画素）の視差値を、該第１のアクセス画素の視差値と同じ値に決定する。この具体的な内容は、上述の仮想投票方式の説明で述べたとおりである。
【００５７】
また、データ生成部１１０３は、アクセス画素が有効であるか否かを判定し、有効である場合は、該アクセス画素の視差値ｄに基づいて、未アクセス画素の視差値ｄを決定する。Ｕマップを生成する場合、アクセス画素が有効であると判定するための条件として、該アクセス画素の視差値ｄが、路面から所定範囲内の高さを示すことを条件としてもよい。なお、アクセス画素が有効であると判定するための条件として、アクセス画素の視差値が予め定められた有効視差範囲内であることを条件としてもよいし、これらの条件を組み合わせてもよい。
【００５８】
図１２は、データ生成部１１０３が有する機能の一例を示す図である。図１２に示すように、データ生成部１１０３は、着目画素投票部１１０４と、仮想投票部１１０５と、を有する。着目画素投票部１１０４は、着目したアクセス画素をＵマップに投票する機能を有する。仮想投票部１１０５は、着目したアクセス画素（第１のアクセス画素）の視差値ｄに基づいて、該着目したアクセス画素と、その次にアクセスするアクセス画素（第２のアクセス画素）との間に存在する未アクセス画素（間引き画素）をＵマップに投票（仮想的な視差値ｄに基づく投票（仮想投票））する機能を有する。
【００５９】
また、この例では、取得部１１０２およびデータ生成部１１０３の各々の機能は、ＣＰＵ３１がプログラムを実行することにより実現されるが、これに限らず、例えば専用のハードウェア回路（例えばＦＰＧＡ３２等）で実現されてもよい。
【００６０】
図１３は、Ｕマップ生成部１０５の動作例を示すフローチャートである。なお、ここではＵマップ生成部１０５の動作例を説明するが、Ｖマップ生成部１０３の動作例についても同様に考えることができる。
【００６１】
図１３に示すように、まず取得部１１０２は視差画像を取得する（ステップＳ１１０１）。次に、データ生成部１１０３は、ステップＳ１１０１で取得された視差画像の各ラインに対して、ステップＳ１１０３〜Ｓ１１０６の処理を繰り返し実行する（ステップＳ１１０２）。データ生成部１１０２は、所定の縦方向の間引き幅で、処理するラインを順番に選択していく。なお、図１３のステップＳ１１０２の「画像縦幅分ループ開始」に付された括弧書きは（開始座標，終了座標，移動量）を示している。開始座標は任意であるため、図１３の例では「＊」で記載している。また、例えば視差画像を縦方向に領域分割して処理する場合には、領域ごとに設定した縦方向の間引き幅で画像アクセスを実行する。
【００６２】
次に、データ生成部１１０２は、ステップＳ１１０２で指定したライン（横方向に延びるラインであって、縦方向の位置は任意のｙ）に対し、ステップＳ１１０４〜ステップＳ１１０６の処理を繰り返し実行する（ステップＳ１１０３）。データ生成部１１０２は、所定の横方向の間引き幅で、処理する画素（アクセス画素）を順番に選択していく。なお、図１３のステップＳ１１０３の「画像横幅分ループ開始」に付された括弧書きは（開始座標，終了座標，移動量）を示している。開始座標は任意であるため、図１３の例では「＊」で記載している。また、例えば視差画像を縦方向に領域分割して処理する場合には、領域ごとに設定した横方向の間引き幅で画像アクセスを実行する。
【００６３】
以下、ステップＳ１１０４〜ステップＳ１１０６の処理について説明する。ステップＳ１１０４において、データ生成部１１０３は、着目したアクセス画素（選択したアクセス画素）が有効であるか否かを判定する。Ｕマップを生成する場合は、推定路面よりも高い視差値ｄを有する画素のみを投票するので、ここでは、データ生成部１１０３は、アクセス画素の視差値ｄが、路面よりも高く、かつ、適正範囲内であることを示す範囲に収まっているか否かを判定することで、アクセス画素の有効無効を判定することができる。なお、Ｖマップでは、前記判定における路面からの高さ判定は不要であるため、視差値ｄが適正範囲内であるか否かのみを判定してもよい。
【００６４】
上記判定の結果、アクセス画素が有効である場合は（ステップＳ１１０４：Ｙｅｓ）、処理はステップＳ１１０５に移行し、アクセス画素が無効である場合は（ステップＳ１１０４：Ｎｏ）、処理はステップＳ１１０７に移行する。
【００６５】
ステップＳ１１０５において、データ生成部１１０３は、アクセス画素をＵマップ上の対応する位置に投票する。次に、ステップＳ１１０６において、データ生成部１１０３は、該アクセス画素に基づいて周辺の間引き画素を投票（仮想投票）し、処理はステップＳ１１０７に移行する。なお、この投票の具体的な内容は上述したとおりである。このとき、領域分割している場合には、領域ごとに投票方式を決定することができる。例えば全画素投票方式の場合には間引き画素は存在しないため本処理は実行されない。また、単純間引き方式の場合にも本処理は実行されない。仮想投票方式の場合、上述したとおり、投票は縦方向、横方向、斜め方向の任意の方向に対して実行可能である。このとき、いずれか一つの方向のみに対して実行してもよいし、複数の方向に対して実行してもよい。
【００６６】
ステップＳ１１０７において、データ生成部１１０３は、ライン内に処理すべきアクセス画素が残存する場合は、ステップＳ１１０３以降の処理を繰り返す。ライン内に処理すべきアクセス画素が残存していない場合は、次のラインに進むため、処理はステップＳ１１０８に移行する。
【００６７】
ステップＳ１１０８において、データ生成部１１０３は、一ライン分の処理が完了した後、視差画像中に処理すべきラインが残存する場合は、ステップＳ１１０２以降の処理を繰り返す。視差画像中に処理すべきラインが残存していない場合は、処理を終了する。
【００６８】
以上に説明したように、本実施形態では、視差画像中の着目画素とその近傍画素は近い視差値ｄになっている可能性が高いことに着目し、アクセス画素の視差値ｄを基に、その近傍の間引き画素の視差値ｄを決定し、アクセス画素と間引き画素を合わせて投票している。これにより、有効な投票点数を増やすことができるので、処理時間を短縮しつつ物体の検出精度の低下を抑制できる。
【００６９】
（第２の実施形態）
次に、第２の実施形態について説明する。本実施形態の仮想投票方式では、視差画像を間引いてdisparity Mapを生成する際に、着目したアクセス画素（第１のアクセス画素）の周辺の画素（典型的にはアクセス済みのアクセス画素）の視差値ｄに基づいて、第１のアクセス画素と、その次にアクセスするアクセス画素（第２のアクセス画素）との間に存在する１以上の間引き画素（未アクセス画素）の視差値ｄを決定（推定）して投票する。以下、具体的な内容を説明する。なお、上述の第１の実施形態と共通する部分については、適宜に説明を省略する。
【００７０】
上述の第１の実施形態では、着目したアクセス画素のみに基づき間引き画素を投票する仮想投票方式について説明した。この方式では、着目したアクセス画素が無効であった場合、disparity Map上の有効視差点数を増加させることができないおそれがある。例えば、夜間など元々視差が少ないシーンにおいては顕著である。また、アクセス画素に依存してしまうため、例えばアクセス画素は無効であったが、一つ隣の未アクセス画素は有効であったというケースも想定され、このようなケースにおいても有効視差点数を増加させることができないおそれがある。
【００７１】
そこで、本実施形態では、着目したアクセス画素、及び、該着目したアクセス画素の周辺のアクセス済みのアクセス画素を用いて仮想投票する方式を採用している。以下、具体的に説明する。図１４は、上述の第１の実施形態と本実施形態（第２の実施形態）との違いを説明するための図である。この例では、着目したアクセス画素αは無効であることを想定している。この状態で上述の第１の実施形態の仮想投票方式を実行すると、アクセス画素αの有効無効判定の結果、無効と判定されるため、アクセス画素α、及び、該アクセス画素αと、次にアクセスするアクセス画素βとの間に存在する３つの間引き画素は投票されない。
【００７２】
これに対して、本実施形態では、アクセス画素が無効であった場合は、アクセス済みである周辺のアクセス画素の視差値ｄを使って、仮想投票する間引き画素の視差値ｄを決定（推定）する（以下、「推定値」と称する場合がある）。例えば、視差画像中の画素へのアクセス順序を、図８と同様に左上原点、右方向、下方向とした場合に、着目したアクセス画素の上段と左側は既にアクセスされた状態となっている。従って、これらのアクセス済みの周辺画素の視差値ｄをバッファに格納して保持しておき、着目したアクセス画素が無効だった場合に、バッファに記憶した周辺画素の視差値ｄを使って、該着目したアクセス画素、および、その次にアクセスするアクセス画素までの間引き画素の視差値ｄを決定して投票する。推定値の生成方法の一例としては、周辺画素群（１以上の周辺画素）の平均値、重み付き平均値、中央値、最大値、最小値、最頻値などが挙げられる。ただし、これらに限定されるものではなく、周辺画素の視差値ｄから生成される値であれば任意の方法で決定可能である。また、周辺画素に無効画素が含まれる可能性もあり、その場合、無効画素は無視しても良い。
【００７３】
本実施形態の仮想投票方式に従って投票した結果は図８の右端の図のようになる。この例では、着目したアクセス画素αを含めて、４つ分の推定値を投票しているが、着目したアクセス画素αと間引き画素との合計値以下の数であれば、任意の数を投票することが可能である。
【００７４】
ここで、周辺画素の視差値ｄを取得するために画像にアクセスすると処理時間の増加につながり、そもそも仮想投票する意義がなくなるため、画像にアクセスするよりもアクセス時間が少なくなるように、バッファを設計する必要がある(例えば、バッファサイズを小さくするなど)。また、高速化を最優先するのであれば、左側の周辺画素（つまり、直前にアクセスされた周辺画素）の視差値ｄのみを記憶しておくという方法が最も処理時間がかからなくて済む。上ラインの場合、最悪、「画像横幅／間引き幅分」のサイズを持ったバッファを用意することになり、このバッファへのアクセス時間が必要になる。しかし、左方向のアクセス画素であれば、一つ前に処理した画素であるため、バッファを用意する必要がなくなる(一変数に記憶しておけば良い)。
【００７５】
また、推定値として、着目画素の左側に存在するアクセス済み画素を２つ以上使う場合には、加算値とその加算された画素の個数のみを記憶しておけばよいため、この場合もバッファを用意する必要はない。なお、周辺画素として使う範囲、及び、使う画素数は任意に決定可能である。図１４の例では、アクセス画素の左上、上、右上、左の４つの画素を周辺画素としているが、更に広げても良い。ただし、広げすぎると、着目画素と関係ない画素が混入する可能性もあるため、注意が必要となる。また、上述したように、上方向の周辺画素はバッファに蓄積する必要があるため、広げるほど、用意するバッファサイズが多くなりアクセス処理時間が増加する。
【００７６】
なお、上記の例では、着目したアクセス画素の周辺のアクセス済みのアクセス画素の視差値ｄを使って推定値を生成しているが、これに限らず、着目したアクセス画素の周辺に存在する仮想投票された画素の視差値ｄを使ってもかまわない。
【００７７】
また、上記では、着目したアクセス画素が無効であった場合に限定して説明したが、着目したアクセス画素が有効である場合にも適用することができる。その場合、一例としては、着目したアクセス画素と、その次にアクセスするアクセス画素との間に存在する間引き画素の推定値は、該着目したアクセス画素の視差値ｄと、その周辺画素の視差値ｄとから生成することができる。
【００７８】
また、図１４では、Ｕマップが例示されているが、Ｖマップに関しても、同じ手順によって本実施形態の仮想投票方式を実施することができる。また、領域分割して、領域ごとに間引き幅を設定できる点やラインごとに投票方式を決定できる点、および、未アクセスである任意の方向に投票できる点は上述の第１の実施形態と同様である。
【００７９】
図１５は、本実施形態のＵマップ生成部１０５の機能構成の一例を示す図である。なお、本実施形態のＶマップ生成部１０３の機能構成も同様に考えることができる。図１５に示すように、Ｕマップ生成部１０５は、取得部２１０２と、データ生成部２１０３とを有する。取得部２１０２は、視差画像（「距離画像」の一例）を取得する。この例では、視差計算部１０２により生成された視差画像は、ネットワークバス２１０１を介して、Ｕマップ生成部１０５に伝送される。取得部２１０２は、この視差画像を取得する。
【００８０】
データ生成部２１０３は、取得部１１０２により取得された視差画像に基づくＵマップ（「データ」の一例）を生成する。ここでは、データ生成部２１０３は、取得部２１０２により取得された視差画像に基づいて、以上に説明した仮想投票方式によりＵマップを生成する機能を有している。
【００８１】
本実施形態のデータ生成部２１０３は、差画像中のアクセス画素のうち、着目したアクセス画素を示す第１のアクセス画素の周囲に存在する１以上の画素の視差値ｄ（「距離情報」の一例）に基づいて、該第１のアクセス画素と、その次にアクセスする第２のアクセス画素との間に存在する１以上の間引き画素（未アクセス画素）の視差値を決定する。
【００８２】
より具体的には、データ生成部２１０３は、第１のアクセス画素の周囲に存在する１以上の画素の視差値に基づいて、第１のアクセス画素の視差値ｄを算出し直し、第１のアクセス画素と、第２のアクセス画素との間に存在する１以上の未アクセス画素の視差値を、該算出し直した視差値と同じ値に決定する。
【００８３】
さらに言えば、データ生成部２１０３は、第１のアクセス画素の周囲に存在する１以上の画素（アクセス済みのアクセス画素でもよいし仮想投票済みの間引き画素でもよい）の視差値ｄの平均値、重み付き平均値、最大値、最小値、中央値、最頻値のうちの何れかを求め、その求めた値を、該第１のアクセス画素の視差値ｄとして算出することができる。
【００８４】
ここでは、データ生成部２１０３は、着目したアクセス画素が有効である場合は、上述の第１の実施形態の仮想投票方式で間引き画素を投票し、該着目したアクセス画素が無効である場合は、該着目したアクセス画素の周辺画素の視差値ｄを用いて、該着目したアクセス画素と間引き画素とを仮想投票する。ただし、これに限らず、着目したアクセス画素が有効であっても、該着目したアクセス画素の周辺画素の視差値ｄを用いて、該着目したアクセス画素と間引き画素とを仮想投票することもできる。なお、アクセス画素の有効無効を判定する方法は上述の第１の実施形態と同様であるので、詳細な説明は省略する。
【００８５】
図１６は、本実施形態のデータ生成部２１０３が有する機能の一例を示す図である。図１６に示すように、データ生成部２１０３は、着目画素投票部２１０４と、仮想投票部２１０５と、周辺画素記憶部２１０６と、を有する。着目画素投票部２１０４は、着目したアクセス画素をＵマップに投票する機能を有する。仮想投票部２１０５は、着目したアクセス画素と、その次にアクセスするアクセス画素との間に存在する間引き画素をＵマップに投票する機能を有する。周辺画素記憶部２１０６は、投票済みのアクセス画素の視差値ｄ（推定値も含まれる）を記憶する。
【００８６】
また、この例では、取得部２１０２およびデータ生成部２１０３の各々の機能は、ＣＰＵ３１がプログラムを実行することにより実現されるが、これに限らず、例えば専用のハードウェア回路（例えばＦＰＧＡ３２等）で実現されてもよい。また、周辺画素記憶部２１６は、例えばＲＯＭ３３等の記憶装置により実現されてもよい。
【００８７】
図１７は、Ｕマップ生成部１０５の動作例を示すフローチャートである。なお、ここではＵマップ生成部１０５の動作例を説明するが、Ｖマップ生成部１０３の動作例についても同様に考えることができる。
【００８８】
図１７に示すように、まず取得部２１０２は視差画像を取得する（ステップＳ２１０１）。次に、データ生成部２１０３は、ステップＳ２１０１で取得された視差画像の各ラインに対して、ステップＳ２１０３〜Ｓ２１０９の処理を繰り返し実行する（ステップＳ１１０２）。本処理は図１３のステップＳ１１０２の処理に対応する。
【００８９】
次に、データ生成部２１０３は、ステップＳ２１０２で指定したラインに対し、ステップＳ２１０４〜ステップＳ１１０８の処理を繰り返し実行する（ステップＳ２１０３）。本処理は、図１３のステップＳ１１０３の処理に対応する。
【００９０】
以下、ステップＳ２１０４〜ステップＳ２１０８の処理について説明する。ステップＳ２１０４において、データ生成部２１０３は、着目したアクセス画素（選択したアクセス画素）が有効であるか否かを判定する。本処理は図１３のステップＳ１１０４の処理と同様であるので詳細な説明は省略する。
【００９１】
上記判定の結果、アクセス画素が有効である場合は（ステップＳ２１０４：Ｙｅｓ）、処理はステップＳ２１０５に移行し、アクセス画素が無効である場合は（ステップＳ２１０４：Ｎｏ）、処理はステップＳ２１０７に移行する。
【００９２】
ここでは、アクセス画素が有効である場合は、上述の第１の実施形態で説明した仮想投票方式が実行されるので、ステップＳ２１０５およびステップＳ２１０６の処理は、図１３のステップＳ１１０５およびステップＳ１１０６の処理と同じである。一方、アクセス画素が無効である場合は、データ生成部２１０３は、着目したアクセス画素の周辺画素の視差値ｄを基に、該着目したアクセス画素、および、該着目したアクセス画素と、その次にアクセスするアクセス画素との間に存在する１以上の間引き画素の視差値ｄを推定して投票する（ステップＳ２１０７）。なお、上述したように、着目したアクセス画素が有効であっても、本実施形態の仮想投票方式により該着目したアクセス画素および間引き画素を投票する形態であってもよい。この場合は、図１７に示すステップＳ２１０５およびステップＳ２１０６の処理は省略できる。なお、仮想投票は縦方向、横方向、斜め方向の任意の方向に対して実行可能である。このとき、いずれか一つの方向のみに対して実行してもよいし、複数の方向に対して実行してもよい。
【００９３】
ステップＳ２１０６またはステップＳ２１０７の後、データ生成部２１０３は、着目したアクセス画素の視差値ｄを周辺画素記憶部２１０６に記憶する（ステップＳ２１０８）。このとき、ステップＳ２１０７の周辺画素として、仮想投票済みの間引き画素を使用する場合は、ステップＳ２１０７で推定された間引き画素の視差値ｄを周辺画素記憶部２１０６に記憶することもできる。その後のステップＳ２１０９の処理は図１３のステップＳ１１０７の処理に対応し、ステップＳ２１１０の処理は図１３のステップＳ１１０８の処理に対応するので詳細な説明は省略する。
【００９４】
以上に説明したように、本実施形態では、着目したアクセス画素の周辺の画素（典型的にはアクセス済みのアクセス画素であるが、これに限らず仮想投票済みの間引き画素でもよい）の視差値ｄを基に、該着目したアクセス画素と、その次にアクセスするアクセス画素との間に存在する１以上の間引き画素の視差値ｄを決定し、該着目したアクセス画素と合わせて投票する。これにより、例えば着目したアクセス画素が無効であった場合でも、その周辺の画素の視差値ｄを基に、該着目したアクセス画素と、その次にアクセスするアクセス画素との間に存在する１以上の間引き画素の視差値ｄを決定して投票できるので、より安定して投票数を増加させることができる。
【００９５】
以上、本発明の実施形態を説明したが、上記実施形態は例として提示したものであり、発明の範囲を限定することを意図するものではない。この新規な実施形態はその他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。この実施形態及びその変形は発明の範囲及び要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００９６】
また、上述した実施形態の機器制御システム１で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【００９７】
１        機器制御システム
１０      車両
１１      撮像ユニット
１２      ステレオカメラ
１３      画像解析ユニット
５１      車両ＥＣＵ
１０１    撮像部
１０２    視差計算部
１０３    Ｖマップ生成部
１０４    路面推定部
１０５    Ｕマップ生成部
１０６    クラスタリング部
１０７    棄却部
１０８    トラッキング部
１０９    制御部
１１０２  取得部
１１０３  データ生成部
１１０４  着目画素投票部
１１０５  仮想投票部
２１０２  取得部
２１０３  データ生成部
２１０４  着目画素投票部
２１０５  仮想投票部
２１０６  周辺画素記憶部
【先行技術文献】
【特許文献】
【００９８】
【特許文献１】特開２０１７−０８３３２６号公報
【図１】
2019160248.tif 000003
【図２】
2019160248.tif 000004
【図３】
2019160248.tif 000005
【図４】
2019160248.tif 000006
【図５】
2019160248.tif 000007
【図６】
2019160248.tif 000008
【図７】
2019160248.tif 000009
【図８】
2019160248.tif 000010
【図９】
2019160248.tif 000011
【図１０】
2019160248.tif 000012
【図１１】
2019160248.tif 000013
【図１２】
2019160248.tif 000014
【図１３】
2019160248.tif 000015
【図１４】
2019160248.tif 000016
【図１５】
2019160248.tif 000017
【図１６】
2019160248.tif 000018
【図１７】
2019160248.tif 000019