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