(57)【要約】      （修正有）【課題】視差画像等の物体の横方向位置及び奥行方向位置を示す２次元分布情報に基づいて、高速かつ高精度で物体を検出可能とする。【解決手段】画像処理装置において、生成部４４が、物体の縦方向位置、横方向位置及び奥行方向位置が対応づけられた情報に基づいて、物体の横方向位置及び奥行方向位置を示す２次元分布情報を生成する。分離部４６は、２次元分布情報上の物体における、奥行方向に沿った各列の長さを検出し、所定の長さの列を境にして、奥行方向に沿って物体を分離処理する。【選択図】図４
2018092603.tif 000002
【特許請求の範囲】
【請求項１】
物体の縦方向位置、横方向位置及び奥行方向位置が対応づけられた情報に基づいて、前記物体の横方向位置及び奥行方向位置を示す２次元分布情報を生成する生成部と、
前記２次元分布情報上の前記物体における、前記奥行方向に沿った各列の長さを検出し、所定の長さの列を境にして、前記奥行方向に沿って前記物体を分離処理する分離部と
を有する情報処理装置。
【請求項２】
前記分離部は、最長の列を境にして、前記奥行方向に沿って前記物体を分離処理すること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記分離部は、所定の閾値以上の長さを有する前記列のうち、最長の列及び前記最長の列に隣接する列を一塊の物体として認識し、認識した前記一塊の物体を境にして、前記奥行方向に沿って前記物体を分離処理すること
を特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記分離部は、前記奥行方向に対して２次元的に直交する方向である行方向に沿って、前記物体の各行の大きさである幅を検出し、幅の大きさに所定以上の差異が存在する行を境として、前記行方向に沿って前記物体を分離処理すること
を特徴とする請求項１から請求項３のうち、いずれか一項に記載の情報処理装置。
【請求項５】
前記分離部は、前記奥行方向に対して２次元的に直交する方向である行方向に沿って、前記物体の各行の大きさである幅を検出し、一つ又は複数の前記幅の値を含む、前記列方向に沿って連続する第１の区間及び第２の区間を、前記第２の区間が奥側となるように設定すると共に、前記各区間を前記列方向に沿って、一つ又は複数の幅の値ずつ移動させながら前記第２の区間の幅の値の平均値、及び、前記第１の区間の幅の値の平均値に所定の重み付けをした値を算出し、前記第２の区間の平均値が、前記所定の重み付けをした前記第１の区間の平均値よりも大きな値となった場合に、前記各区間の移動位置における前記各区間の境目で、前記行方向に沿って前記物体を分離すること
を特徴とする請求項１から請求項３のうち、いずれか一項に記載の情報処理装置。
【請求項６】
前記分離部は、前記各区間を設定可能な分だけ、前記物体の各行の幅を検出した際に、前記各区間の設定を行い、前記各区間の平均値の算出、及び、前記物体の分離を行うこと
を特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記分離部は、前記物体のサーチを複数回行い、サーチ毎に所定の閾値以上の値を有する情報単位を検出してサーチ回数に対応するラベルを付すラベリング処理を行う際に、サーチを行っている情報単位に対して、サーチ方向に近接する複数の情報単位から、前記閾値以上の値を有する情報単位を選択し、選択した情報単位にラベルが付されていない場合に、前記サーチ回数に対応するラベルを付すラベリング処理を行うと共に、前記物体の行方向の値を検出し、前記物体の行方向に沿った分離を可能とする数の前記幅の値を検出さした際に、行方向に沿った前記物体の分離を行うこと
を特徴とする請求項４から請求項６のうち、いずれか一項に記載の情報処理装置。
【請求項８】
前記生成部は、路面の高さを反映した前記２次元分布情報を生成すること
を特徴とする請求項１から請求項７のうち、いずれか一項に記載の情報処理装置。
【請求項９】
物体の横方向位置及び奥行方向位置を示す２次元分布情報を生成するための撮像情報を生成する撮像部と、
請求項１から請求項８のうち、いずれか一項に記載の情報処理装置と
を有する撮像装置。
【請求項１０】
請求項９に記載の撮像装置と、
前記情報処理装置により分離処理された前記物体の前記２次元分布情報に基づいて、所定の機器を制御する制御部と
を有する機器制御システム。
【請求項１１】
請求項１０に記載の機器制御システムの前記制御部により制御されること
を特徴とする移動体。
【請求項１２】
生成部が、物体の縦方向位置、横方向位置及び奥行方向位置が対応づけられた情報に基づいて、前記物体の横方向位置及び奥行方向位置を示す２次元分布情報を生成する生成ステップと、
分離部が、前記２次元分布情報上の前記物体における、前記奥行方向に沿った各列の長さを検出し、所定の長さの列を境にして、前記奥行方向に沿って前記物体を分離処理する分離ステップと
を有する情報処理方法。
【請求項１３】
コンピュータを、
物体の縦方向位置、横方向位置及び奥行方向位置が対応づけられた情報に基づいて、前記物体の横方向位置及び奥行方向位置を示す２次元分布情報を生成する生成部と、
前記２次元分布情報上の前記物体における、前記奥行方向に沿った各列の長さを検出し、所定の長さの列を境にして、前記奥行方向に沿って前記物体を分離処理する分離部として機能させること
を特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、撮像装置、機器制御システム、移動体、情報処理方法、及び、情報処理プログラムに関する。
【背景技術】
【０００２】
今日において、歩行者又は自動車等との衝突の際に、いかに歩行者を守れるか及び乗員を保護できるかという、自動車の安全性における観点から自動車のボディー構造等の開発が行われている。近年においては、情報処理技術、画像処理技術の発達により、人及び自動車等を高速に検出する技術が知られている。これらの技術を用いることで、衝突する前に自動的にブレーキをかけて衝突を未然に防止する衝突防止システムが設けられた自動車も知られている。この衝突防止システムの場合、ミリ波レーダ装置、レーザレーダ装置又はステレオカメラ装置等を用いて人又は他車等までの距離を測距し、この測距した結果に基づいて、ブレーキ制御を行う。これにより、人又は他車等との距離に応じて、自動的にブレーキをかけることができる。
【０００３】
特許文献１（特開平６−２６６８２８号公報）には、ガードレール、植え込み、パイロン列等の道路の境界となる連続した立体物を側壁として検出する車輛用車外監視装置が開示されている。この車輛用車外監視装置は、ステレオ光学系で車輌の車外の設置範囲内の対象を撮像する。ステレオ画像処理装置は、ステレオ光学系１０の撮像画像全体に渡る距離分布を計算する。道路・側壁検出装置は、この距離分布に対応する被写体の各部分の三次元位置を計算する。そして、道路・側壁検出装置は、計算した三次元位置の情報を用いて道路の形状と側壁を検出する。
【０００４】
ここで、人及び自動車等の物体検出処理は、上述のように人又は他車等の物体までの距離を計測することで行われる。このため、まず、各物体を正確に分離して検出することが好ましい。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、高速で物体を検出しようとすると、物体検出処理における解析処理が粗くならざるを得ない。このため、特許文献１の技術を含む従来の物体検出技術の場合、例えば壁と車両が近くに位置している場合に、壁と車両を物理的に同一物体として誤検出する問題があった。また、多数の先行車両が縦に繋がって走行又は停車しているように見える場合、車両の列を壁として誤検出する問題があった。なお、綿密な解析処理を行うことで物体の認識精度を向上させることができるが、この場合、解析時間が長くなることから、物体検出処理の高速化に支障をきたす。検出処理時間と検出精度との間には、このようなトレードオフの関係がある。
【０００６】
本発明は、上述の課題に鑑みてなされたものであり、高速かつ高精度で物体を検出できる情報処理装置、撮像装置、機器制御システム、移動体、情報処理方法、及び、情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、物体の縦方向位置、横方向位置及び奥行方向位置が対応づけられた情報に基づいて、物体の横方向位置及び奥行方向位置を示す２次元分布情報を生成する生成部と、２次元分布情報上の物体における、奥行方向に沿った各列の長さを検出し、所定の長さの列を境にして、奥行方向に沿って物体を分離処理する分離部とを有する。
【発明の効果】
【０００８】
本発明によれば、高速かつ高精度で物体を検出できるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態の機器制御システムである車両に設けられたステレオカメラの位置を示す図である。
【図２】図２は、車両が有するステレオカメラ及びその周辺の構成を示す図である。
【図３】図３は、ステレオカメラを備えた撮像装置の構成例を示す図である。
【図４】図４は、実施の形態の機器制御システムの機能を示す機能ブロック図である。
【図５】図５は、オブジェクトに対する列方向の分離処理を説明するための図である。
【図６】図６は、第１の実施の形態の機器制御システムにおけるオブジェクトに対する列方向の分離処理の流れを示すフローチャートである。
【図７】図７は、第１の実施の形態の機器制御システムにおけるオブジェクトに対する列方向の分離処理を説明するための模式図である。
【図８】図８は、第２の実施の形態の機器制御システムにおけるオブジェクトに対する列方向の分離処理の流れを示すフローチャートである。
【図９】図９は、第２の実施の形態の機器制御システムにおけるオブジェクトに対する列方向の分離処理を説明するための模式図である。
【図１０】図１０は、第３の実施の形態の機器制御システムにおけるオブジェクトに対する行方向の分離処理を説明するための図である。
【図１１】図１１は、第３の実施の形態の機器制御システムにおけるオブジェクトに対する行方向の分離処理を説明するための模式図である。
【図１２】図１２は、第３の実施の形態の機器制御システムにおけるオブジェクトに対する行方向の分離処理の流れを示すフローチャートである。
【図１３】図１３は、第４の実施の形態の機器制御システムにおけるオブジェクトに対する行方向の分離処理を説明するための図である。
【図１４】図１４は、第４の実施の形態の機器制御システムにおけるオブジェクトに対する行方向の分離処理の流れを示すフローチャートである。
【図１５】図１５は、第４の実施の形態の機器制御システムにおけるオブジェクトに対する行方向の分離処理を説明するための図である。
【図１６】図１６は、第４の実施の形態の機器制御システムにおけるオブジェクトに対する行方向の分離処理を説明するための模式図である。
【図１７】図１７は、第４の実施の形態の機器制御システムにおいて、行方向に沿って分離処理されたオブジェクトを示す図である。
【図１８】図１８は、第５の実施の形態の機器制御システムにおけるオブジェクトに対する行方向の分離処理の流れを示すフローチャートである。
【図１９】図１９は、第６の実施の形態の機器制御システムにおけるオブジェクトに対する行方向の分離処理の流れを示すフローチャートである。
【図２０】図２０は、実施の形態の機器制御システムの機能を示す機能ブロック図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、実施の形態の機器制御システムの説明をする。
【００１１】
（第１の実施の形態）
（システム構成）
第１の実施の形態の機器制御システムは、図１に示すように車両１のフロントガラス等に設けられ、進行方向前側の所定の撮像範囲を撮像するステレオカメラ２を有している。ステレオカメラ２は、図３を用いて後述するように２つの画像センサ２２を備え、左目視界と右目視界の２つの画像を撮像する撮像部である。
【００１２】
図２は、移動体の一例である車両１が有するステレオカメラ２及びその周辺の構成例を示す図である。ステレオカメラ２は、例えば撮像した２つの画像を車両ＥＣＵ（Engine  Control  Unit）３に対して出力する。車両ＥＣＵ３は車両１に設置され、例えば車両１のエンジン制御、制動制御、及び走行レーンキープアシスト、操舵アシスト等の車両１に対する制御を行う。なお、以下、移動体の一例である車両について説明するが、本実施の形態の機器制御システムは、船舶、航空機、ロボット等にも適用可能である。
【００１３】
（撮像装置の構成）
図３は、ステレオカメラ２を備えた撮像装置４の構成例を示す図である。撮像装置４は、例えばステレオカメラ２及び画像処理装置３０を有する。ステレオカメラ２は、左目用となるカメラ部２ａと、右目用となるカメラ部２ｂが平行（水平）に組みつけられ、撮像対象領域の動画（又は静止画）を撮影する。
【００１４】
カメラ部２ａ、２ｂは、それぞれレンズ２１、画像センサ２２、及びセンサコントローラ２３を備えている。画像センサ２２は、例えばＣＣＤ（Charge  Coupled  Device）イメージセンサ又はＣＭＯＳ（Complementary  Metal-Oxide  Semiconductor）イメージセンサである。センサコントローラ２３は、例えば画像センサ２２の露光制御、画像読み出し制御、外部回路との通信、及び画像データの送信制御等を行う。
【００１５】
画像処理装置３０は、例えば図２に示した車両ＥＣＵ３内に設けられる。画像処理装置３０は、例えばデータバスライン３００、シリアルバスライン３０２、ＣＰＵ（Central  Processing  Unit）３０４、ＦＰＧＡ（Field-Programmable  Gate  Array）３０６、ＲＯＭ（Read  Only  Memory）３０８、ＲＡＭ（Random  Access  Memory）３１０、シリアルＩＦ（Interface）３１２、及びデータＩＦ（Interface）３１４を有する。
【００１６】
上述したステレオカメラ２は、データバスライン３００及びシリアルバスライン３０２を介して画像処理装置３０と接続されている。ＣＰＵ３０４は、画像処理装置３０全体の動作を制御し、画像処理及び画像認識処理を実行する。カメラ部２ａ、２ｂそれぞれの画像センサ２２が撮像した撮像画像の輝度画像データは、データバスライン３００を介して画像処理装置３０のＲＡＭ３１０に書き込まれる。ＣＰＵ３０４又はＦＰＧＡ３０６からのセンサ露光値の変更制御データ、画像読み出しパラメータの変更制御データ、及び各種設定データ等は、シリアルバスライン３０２を介して送受信される。
【００１７】
ＦＰＧＡ３０６は、ＲＡＭ３１０に保存された画像データに対してリアルタイム性が要求される処理である、例えばガンマ補正、ゆがみ補正（左右画像の平行化）、ブロックマッチングによる視差演算を行って視差画像を生成し、ＲＡＭ３１０に再度書き込む。ＣＰＵ３０４は、ステレオカメラ２の各センサコントローラ２３の制御、及び画像処理装置３０の全体的な制御を行う。ＣＰＵ３０４は、データＩＦ３１４を介して、例えば自車両のＣＡＮ（Controller  Area  Network）情報をパラメータ（車速、加速度、舵角、ヨーレート等）として取得する。なお、以下、「視差画像」のように「画像」という語を用いて説明する場合は、必ずしもディスプレイ等の表示を要するものではなく、単なる情報の集合体を含むものとする。
【００１８】
検出対象（認識対象）の検出データ（認識データ）は、シリアルＩＦ３１２を介して、車両ＥＣＵ３に供給され、車両ＥＣＵ３の制御機能として設けられた例えば自動ブレーキシステム又は走行アシストシステム等で用いられる。自動ブレーキシステムは、車両１のブレーキ制御を行う。また、走行アシストシステムは、車両１の走行レーンキープアシスト及び操舵アシスト等を行う。
【００１９】
（画像処理装置の機能）
画像処理装置３０は、図４に示すように平行化部４２、視差画像生成部４３、Ｕマップ生成部４４（生成部の一例）、壁検出部４５及び分離部４６（分離部の一例）の各機能を有している。平行化部４２及び視差画像生成部４３は、例えばＦＰＧＡ３０６のプログラム可能な論理ブロックにより、ハードウェアで実現される。なお、この例では、平行化部４２及び視差画像生成部４３は、ハードウェアで実現することとしたが、以下に説明する立体物認識プログラム等により、ソフトウェアで実現してもよい。
【００２０】
Ｕマップ生成部４４、壁検出部４５及び分離部４６の各機能を、例えばＲＡＭ３１０又はＲＯＭ３０８等の記憶部に記憶されている立体物認識プログラムを、ＣＰＵ３０４が実行することで実現する。
【００２１】
なお、この例では、Ｕマップ生成部４４〜分離部４６をソフトウェアで実現することとして説明を進めるが、Ｕマップ生成部４４〜分離部４６のうち、一部又は全部を、ＩＣ（Integrated  Circuit）等のハードウェアで実現してもよい。
【００２２】
また、立体物認識プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）などのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）、ブルーレイディスク（登録商標）、半導体メモリ等のコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、立体物認識プログラムは、インターネット等のネットワーク経由でインストールするかたちで提供してもよい。また、立体物認識プログラムは、機器内のＲＯＭ等に予め組み込んで提供してもよい。
【００２３】
（画像処理装置の動作）
ステレオカメラ４１は、各カメラ部２ａ、２ｂでカラー輝度変換処理により輝度画像データを生成し、ＦＰＧＡ３０６の平行化部４２に供給する。平行化部４２は、ステレオカメラ４１から供給された輝度画像データに平行化処理を施すことで、各カメラ部２ａ、２ｂの光学系の歪みを補正した平行な輝度画像を生成する。
【００２４】
視差画像生成部４３は、画素毎に距離情報を備えた距離画像の一例である、画素毎に視差値を備えた視差画像を生成する。すなわち、視差画像は、物体の縦方向位置、横方向位置及び奥行方向位置が対応づけられた情報の一例である。Ｕマップ生成部４４は、視差画像生成部４３により生成された視差画像に基づいて、横軸を実距離、縦軸を視差値ｄとし、ｚ軸に頻度を表した２次元ヒストグラムであるＵマップを生成する。すなわち、Ｕマップは、視差画像に基づいて生成された俯瞰的なマップ（鳥瞰画像、俯瞰画像）であり、物体の横方向位置及び奥行方向位置が対応づけられた２次元分布情報である。なお、説明の都合上、「マップ」という語句を用いるが、実際にマップを生成するのではなく、このような特徴を有する情報を生成し、２次元分布情報として、例えばＲＡＭ３１０又はＲＯＭ３０８等の記憶部に記憶すると理解されたい。
【００２５】
視差画像生成部４３は、路面からの高さが所定の高さの範囲（たとえば２０ｃｍから３ｍ）にある視差画像の点（ｘ，ｙ，ｄ）を（ｄ）の値に基づいて高さを計算し、投票の可否を決定してもよい。路面の位置および路面からの高さは、視差画像を利用して公知の方法により算出できる。投票位置の横位置は視差画像の点（ｘ，ｙ，ｄ）の（ｘ，ｄ）の値を用いて計算する。視差画像の画像中央とｘの画素での距離を実距距離に変換し、投票の横位置を決定する。例えば、図５（ａ）に示す道路の右端に沿って壁ｗ１が設けられており、この壁ｗ１に沿って車両ｃ１が走行している撮像画像に対応する視差画像が供給されとする。この場合、Ｕマップ生成部４４は、図５（ｂ）に示すように、手前から奥行き方向に沿って伸びる直線の棒状の壁ｗ１、及び、壁ｗ１に接触した状態で四角形状の車両ｃ１の背面が投票されたＵマップを生成する。
【００２６】
壁検出部４５は、例えば図５（ｂ）に示したＵマップ上に投票されている壁ｗ１を検出する。しかし、図５（ｂ）に示す例の場合、壁ｗ１と車両ｃ１が接触した状態で投票されているため、壁ｗ１と車両ｃ１を一塊の壁として誤検出するおそれがある。このため、分離部４６は、列方向の分離処理を実行することで、壁検出部４５により、一塊の壁として検出されたオブジェクトを、壁ｗ１及び車両ｃ１に分離する。
【００２７】
（列方向分離処理）
図６に、一塊の壁として検出されたオブジェクト（壁検出結果）を、壁ｗ１及び車両ｃ１に分離する処理の流れを示す。分離部４６は、ステップＳ１を介して処理を開始し、全ての壁検出結果に対する処理が終了するまで、ステップＳ２〜ステップＳ７の処理を繰り返し実行する。
【００２８】
ステップＳ２：壁検出結果となる画像（オブジェクト）の列毎に高さ（奥行方向の長さ）を検出する。
【００２９】
ステップＳ３：ステップＳ２で検出した列の高さ（奥行方向の長さ）は、現在、高さ（奥行方向の長さ）を検出しているオブジェクトにおける、検出済みの列の高さ（奥行方向の長さ）のうち、最大となる高さ（奥行方向の長さ）か否かを判別する。ステップＳ３がＮｏの場合は、ステップＳ５に処理を進める。
【００３０】
ステップＳ４：検出した列の高さ（奥行方向の長さ）が最大と判別された場合（ステップＳ３：Ｙｅｓ）、現在のオブジェクトに対する列の最大の高さ（奥行方向の長さ）の値、及び、最大の高さ（奥行方向の長さ）の値を有する列の位置情報を更新する。
【００３１】
ステップＳ５：現在のオブジェクトに対する、全ての列の高さ（奥行方向の長さ）等の検出（探索）は終了したか否かを判別。現在のオブジェクトの全ての列に対する探索が終了していない場合は（ステップＳ５：Ｎｏ）、ステップＳ２に処理を戻し、現在のオブジェクトにおける、探索を行っていない列に対して探索を行う。
【００３２】
ステップＳ６：現在のオブジェクトの全ての列に対する探索が終了した際に、現在のオブジェクトの最大の高さ（奥行方向の長さ）の列の位置情報を、壁の位置を示す壁位置情報として、ＲＡＭ３１０又はＲＯＭ３０８等の記憶部に記憶する。
【００３３】
ステップＳ７：全てのオブジェクトに対する探索が終了した際に、図６のフローチャートの処理終了し（ステップＳ７：Ｙｅｓ）、全てのオブジェクトに対する探索が終了していない場合は（ステップＳ７：Ｎｏ）、ステップＳ１に処理を戻し、上述の各処理を、他のオブジェクトに対して繰り返し実行する。
【００３４】
図７は、このようなオブジェクトの列方向の分離処理を模式図である。すなわち、分離部４６は、図７（a）に示すように、オブジェクトの各列の高さ（奥行方向の長さ）を検出する（ステップＳ２〜ステップＳ５）。次に分離部４６は、オブジェクトを構成する各列のうち、最大長の列の位置情報を壁位置情報として記憶部に記憶する。
【００３５】
分離部４６は、この壁位置情報で示される列を境界として一塊のオブジェクトを分離することで、壁ｗ１と車両ｃ１を分離する。これにより、解像度の低いＵマップを用いても、オブジェクトを構成する列で最大長の列を境にオブジェクトを分離するという、簡単な分離処理で、精度良くオブジェクトの分離を行うことができる。また、簡単な演算処理でオブジェクトを分離できるため、高速にオブジェクトの分離処理を行うことができる。すなわち、簡単な情報処理演算で高速に物体の分離処理を行うことができる。
【００３６】
（第２の実施の形態）
次に、第２の実施の形態の機器制御システムの説明をする。第１の実施の形態のように、最大長の列を境界としてオブジェクトを分離した場合、図７（ｃ）に示す、分離後における左側の部分的なオブジェクトのように、物体として特定困難なオブジェクトが残るおそれがある。すなわち、図７（ｃ）の例の場合、  分離後における左側の部分的なオブジェクトは、車両として検出することが困難な形状を有している。
【００３７】
第２の実施の形態の機器制御システムは、このような不都合を防止するため、分離部４６が、図８のフローチャートに従って処理を実行することで、さらに精度よく、オブジェクトを分離可能とした。なお、図８のフローチャートにおいて、ステップＳ１〜ステップＳ５及びステップＳ７は、上述の図６のフローチャートのステップＳ１〜ステップＳ５及びステップＳ７とそれぞれ同じ処理である。すなわち、図６のフローチャートと図８のフローチャートの差異は、ステップＳ２及びステップＳ３の間にステップＳ１１及びステップＳ１２の処理が介在し、ステップＳ５とステップＳ７との間にステップＳ１３の処理が介在することである。そして、上述の第１の実施の形態と、以下に説明する第２の実施の形態とでは、この点のみが異なる。このため、以下、両者の差異の説明のみ行い、重複説明は省略する。
【００３８】
第２の実施の形態の場合、分離部４６は、ステップＳ２において、図９（ａ）に示すように、壁検出結果（オブジェクト）の各列の高さ（奥行方向の長さ）を検出すると、ステップＳ１１に処理を進め、現在、探索している列の高さ（奥行方向の長さ）は、閾値以上の高さ（奥行方向の長さ）であるか否かを判別する。一例ではあるが、この閾値としては、例えば「１０ｍ」等の、常識的に考えられる車両の長さを超える程度の値（多少長めの値）が設定されている。
【００３９】
分離部４６は、閾値以上の高さ（奥行方向の長さ）の列を検出すると（ステップＳ１１：Ｙｅｓ）ステップＳ１２に処理を進め、閾値以上の高さ（奥行方向の長さ）の列の位置情報を壁位置情報としてＲＡＭ３１０等の記憶部に記憶する。図９（ｂ）に示す例の場合、斜線の列が、閾値以上の高さ（奥行方向の長さ）を有する列を示している。分離部は、この斜線の列の位置情報を記憶部に記憶する。
【００４０】
分離部４６は、このようにオブジェクトを形成する各列のうち、閾値以上の高さ（奥行方向の長さ）の列の検出が終了すると、ステップＳ３及びステップＳ４において、閾値以上の高さ（奥行方向の長さ）の列のうち、最大の高さ（奥行方向の長さ）の列を検出する。そして、分離部４６は、ステップＳ１３において、最大の高さ（奥行方向の長さ）の列、及び、最大の高さ（奥行方向の長さ）の列に隣接し、かつ、上述の閾値以上の高さ（奥行方向の長さ）の列の位置を、それぞれ壁位置情報として記憶部に記憶する。
【００４１】
図９（ｃ）の例の場合、列ＣＬ６が最大の高さ（奥行方向の長さ）の列である。そして、この最大の列ＣＬ６に隣接する列のうち、閾値以上の高さ（奥行方向の長さ）の列は、列ＣＬ５である。列ＣＬ７は、閾値未満の列である。この場合、分離部４６は、列ＣＬ５及び列ＣＬ６の位置を壁位置情報として記憶部に記憶する。これにより、列ＣＬ５及び列ＣＬ6を境としてオブジェクトを分離した際に、図９（ｃ）の列ＣＬ１〜列ＣＬ４に示すように、車両（物体）として特定可能なオブジェクトを残すことができ、さらに精度よく、オブジェクトを分離可能とすることができる他、上述の第１の実施の形態と同じ効果を得ることができる。
【００４２】
（第３の実施の形態）
（行方向分離処理）
次に、第３の実施の形態の機器制御システムの説明をする。上述の第１及び第２の実施の形態は、オブジェクトを行方向に沿って分離する例であった。これに対して、第３の実施の形態の機器制御システムは、オブジェクトを列方向に沿って分離する例である。なお、上述の各実施の形態と以下に説明する第３の実施の形態は、この点のみが異なる。このため、以下、差異の説明のみ行い、重複説明は省略する。
【００４３】
一例ではあるが、図１０（ａ）に示すように左車線を先行する車両ｃ１〜車両ｃ３が繋がって見える状態で走行している場合、Ｕマップ上には、図１０（ｂ）に示すように、繋がった状態の各車両ｃ１〜ｃ３の側面に対応する棒状（直線状）のオブジェクトが現れる。また、この棒状のオブジェクトの手前右の部分に接続されるかたちで、最後尾の車両ｃ１の背面に対応する四角形状のオブジェクトが現れる。すなわち、左車線を先行する車両ｃ１〜車両ｃ３が繋がって見える状態の場合、Ｕマップ上には、図１０（ｂ）に示すように「Ｌ字状」のオブジェクトが現れる。
【００４４】
このようなＵマップが得られた場合、第３の実施の形態の機器制御システムの分離部４６は、壁検出結果となるオブジェクトの各行の幅の大きさに、所定以上の差異が存在する行を境として、行方向に沿ってオブジェクトを分離処理する。具体的には、分離部４６は、図１１（ａ）〜図１１（ｃ）に示すように、オブジェクトの手前から、当該オブジェクトを構成する各行の幅の大きさを順に検出する。分離部４６は、各行の幅を検出する毎に第１の閾値と比較する。一例ではあるが、この第１の閾値としては、車両１台分の背面の幅の大きさよりも多少狭い値となる例えば「１．５ｍ」が設定されている。分離部４６は、各行の幅を検出する毎に第１の閾値以上となる行の幅の数が車両１台分に相当する数であった場合に、最後に第１の閾値以上であることが検出された行を境にオブジェクトを分離する。
【００４５】
これにより、図１１（ｄ）に示すように、「手前の車両ｃ１」と、「車両ｃ１に対する先行車両に相当する車両ｃ２及び車両ｃ３」とを分離することができる。また、当該機器制御システムが設けられている車両の制御は、手前の車両ｃ１の走行状態を参照して行われる場合が多い。このため、分離部４６は、手前の車両ｃ１以外の車両ｃ２及び車両ｃ３に対応するオブジェクトは、壁の検出結果として車両の制御に用いることなく破棄する。なお、車両ｃ２及び車両ｃ３に対応するオブジェクトを壁の検出結果として用いてもよい。
【００４６】
図１２のフローチャートに、このような第３の実施の形態における分離部４６の行方向分離処理の流れを示す。分離部４６は、ステップＳ２１を介して処理を開始し、ステップＳ３３において、全ての壁検出結果（オブジェクト）に対して行方向分離処理が終了したものと判別するまで、ステップＳ２２〜ステップＳ３３の各処理をオブジェクト毎に繰り返し実行する。
【００４７】
ステップＳ２２では、分離部４６が、図１１（ａ）〜図１１（ｃ）を用いて説明したように、行毎の幅の大きさを検出する。ステップＳ２３では、分離部４６が、車両１台分の背面の幅の大きさよりも若干狭めに設定されている第１の閾値以上であるか否かを判別する。ステップＳ２４では、第１の閾値以上となった行の幅の数をカウントする。ステップＳ２５では、第１の閾値以上となった行の幅の数が、例えば車両１台分の背面部の幅に相当する所定数以上（所定カウント数以上）となったか否かを判別する。ステップＳ２６では、第１の閾値以上の幅を有する行の数が所定カウント数以上となったため、分離部４６が、車両に相当するオブジェクトであることを示す情報を、上述の記憶部に記憶する（フラグをＯＮにする）。
【００４８】
ステップＳ２７では、分離部４６が、フラグがオンか否かを判別する。フラグがオンとなっていない場合（ステップＳ２７：Ｎｏ）、分離部４６は、ステップＳ３２において、現在、探索を行っているオブジェクトの全ての行に対する処理が終了したか否かを判別する。全ての行に対する処理が終了したと判別した場合、分離部４６は、ステップＳ３３に処理を進め、全てのオブジェクト（壁検出結果）に対する行方向分離処理が終了したか否かを判別する。全てのオブジェクト（壁検出結果）に対する行方向分離処理が終了したと判別した場合（ステップＳ３３：Ｙｅｓ）、分離部４６は、図１２のフローチャートの処理を終了し、全てのオブジェクトに対する行方向分離処理が終了していないと判別した場合（ステップＳ３３：Ｎｏ）、ステップＳ２１を介してステップＳ２２に処理を戻し、次のオブジェクトの行の幅の検出を開始する。
【００４９】
ステップＳ２８では、フラグがオンであるため、分離部４６が、行の幅が第２の閾値未満であるか否かを判別する。第２の閾値は、例えば最も手前の車両ｃ１の前方を走行する車両ｃ２及び車両ｃ３等に対応して形成されるオブジェクトの幅以上で、車両１台分の背面の幅よりも若干狭めに設定されている第１の閾値よりも、さらに狭い幅の値に設定されている。分離部４６は、ステップＳ２９において、第２の閾値未満の幅となる行の数をカウントする。そして、ステップＳ３０において、このカウント値が、車両が連続して所定数以上繋がっている場合にカウントされるカウント値以上であった場合に（ステップＳ３０：Ｙｅｓ）、現在の行の位置でオブジェクトを分離するように、記憶部に記憶されているオブジェクトの位置情報を修正する。
【００５０】
なお、分離部４６は、分離後における車両ｃ２及び車両ｃ３に対応するオブジェクトの壁位置情報を記憶部から除外する。これにより、車両１のブレーキ制御及び走行位置制御等の運転支援は、車両ｃ１の動きに基づいて行われることとなる。しかし、車両ｃ２及び車両ｃ３は、車両ｃ１よりも遠く（奥行側）に位置するため、差ほど影響はない。
【００５１】
第３の実施の形態の機器制御システムは、図１１（ｄ）に示すように「最も手前の車両ｃ１」と、「車両ｃ１の前方を走行する車両ｃ２及び車両ｃ３」とを行方向に沿って分離することができる。このため、分離したオブジェクトに基づいて正確な物体認識処理を行うことができ、牽いては、機器制御システムにおける制御の精度を向上させることができる他、上述の各実施の形態と同様の効果を得ることができる。
【００５２】
（第４の実施の形態）
（行方向分離処理の他の実施形態）
次に、第４の実施の形態の機器制御システムの説明をする。図１３（ａ）に示すように、道路の左端部に沿って壁ｗ１が設けられており、道路の奥側の位置（遠方側の位置）を車両ｃ１が走行している場合、図１３（ｂ）に示すオブジェクトが現れたＵマップが得られる。すなわち、図１３（ｂ）に示すように、棒状の壁ｗ１のオブジェクトと、車両ｃ１の背面部に対応する四角形状のオブジェクトとが、奥側で接続されたかたちのオブジェクトがＵマップ上に現れる。第４の実施の形態の機器制御システムは、このようなオブジェクトを行方向に沿って分離することで、壁ｗ１のオブジェクト及び車両ｃ１のオブジェクトを得る。なお、上述の第３の実施の形態と以下に説明する第４の実施の形態は、この点のみが異なる。このため、以下、差異の説明のみ行い、重複説明は省略する。
【００５３】
図１４のフローチャートに、このような第４の実施の形態における分離部４６の行方向分離処理の流れを示す。分離部４６は、ステップＳ４１を介して処理を開始し、ステップＳ４８において、全ての壁検出結果（オブジェクト）に対して行方向分離処理が終了したものと判別するまで、ステップＳ４２〜ステップＳ４８の各処理をオブジェクト毎に繰り返し実行する。
【００５４】
まず、分離部４６は、ステップＳ４２において、壁検出結果（オブジェクト）の全ての行の幅を検出する。具体的には、図１３（ａ）に示す撮像画像の場合、図１５に示すようなオブジェクトが現れたＵマップが得られる。分離部４６は、図１５に示すオブジェクトの第１行目Ｌ１〜第１４行目Ｌ１４の幅をそれぞれ検出する。
【００５５】
次に、分離部４６は、ステップＳ４３において、壁検出結果の矩形内の行単位の区間をとり、区間を矩形の下端から上方向にスライドさせる。すなわち、分離部４６は、図１６（ａ）に示すように、オブジェクトの第１行目Ｌ１の幅の値から第１４行目Ｌ１４の幅の値を順に下から積み上げたかたちの１次元的なヒストグラムを生成し、例えば５つの値を含む第１の区間、及び、第１の区間に連続する区間であり、５つの値を含む第２の区間を設定する。図１６（ａ）の例の場合、第１行目Ｌ１から第５行目Ｌ５までの区間が第１の区間となり、この第１の区間に連続する第６行目Ｌ６〜第１０行目Ｌ１０の区間が第２の区間となる。分離部４６は、以下に説明するように、第１及び第２の区間を同時に一つの行の幅の値ずつ、ヒストグラム上をスライドさせながら、第１及び第２の区間の幅の値の平均値を算出する。
【００５６】
すなわち、ステップＳ４４では、分離部４６が、図１６（ａ）に示す第１行目Ｌ１から第５行目Ｌ５までの第１の区間の幅の値の平均値（下側の平均値）と、第６行目Ｌ６〜第１０行目Ｌ１０の第２の区間の幅の値の平均値（上側の平均値）を算出する。そして、ステップＳ４５において、分離部４６は、「（第１の区間の平均値×閾値）＞第２の区間の平均値」であるか否かを判別する。なお、閾値としては、例えば「２」の値を用いる。
【００５７】
図１６（ａ）の例の場合、分離部４６は、第１行目Ｌ１から第５行目Ｌ５までの各幅の値である２、３、２、３、３の平均値である「２．６」を算出すると共に、第６行目Ｌ６から第１０行目Ｌ１０までの各幅の値である３、２、２、２、６の平均値である「３．０」を算出する。そして、分離部４６は、第１の区間の平均値である「２．６」に、閾値である「２」を乗算処理し、この乗算値、すなわち重み付けした平均値である「５．２」を、第２の区間の平均値である「３．０」と比較処理する。
【００５８】
この例の比較処理の場合、下側ｎ乗算値「５．２」の方が、上側である第２の区間の平均値「３．０」よりも大きな値となるため（ステップＳ４５：Ｎｏ）、分離部４６は、ステップＳ４７に処理を進め、第１及び第２の区間が、ヒストグラムの最上端に相当する位置までスライドされたか否かを判別する。第１及び第２の区間が、ヒストグラムの最上端に相当する位置までスライドされたものと判別した場合（ステップＳ４７：Ｙｅｓ）、分離部４６は、ステップＳ４８に処理を進め、全ての壁検出結果（オブジェクト）に対して、以下に説明する行方向分離処理を施したか否かを判別する。そして、全ての壁検出結果（オブジェクト）に対して、以下に説明する行方向分離処理を施したと判別した場合に（ステップＳ４８：Ｙｅｓ）、図１４のフローチャートに示す行方向分離処理を終了する。
【００５９】
これに対して、全ての壁検出結果（オブジェクト）に対して、以下に説明する行方向分離処理を施していないと判別した場合（ステップＳ４８：Ｎｏ）、分離部４６は、ステップＳ４１を介してステップＳ４２に処理を戻し、次の壁検出結果（オブジェクト）に対して、以下に説明する行方向分離処理を施す。
【００６０】
すなわち、分離部４６は、図１６（ａ）〜図１６（ｅ）に示すように、第１の区間及び第２の区間を同時に一つの幅の値ずつ、ヒストグラム上をスライドさせ、第１の区間の閾値で重み付けした平均値、及び、第２の区間の重み付けしない平均値の算出を行い、両者を比較する。これにより、図１６（ａ）〜図１６（ｅ）の例の場合、第１の区間及び第２の区間のスライド位置に応じて、「３＜（２．６×２）（図１６（ａ））」→「３．４＜（２．８×２）（図１６（ｂ））」→「４．０＜（２．６×２）（図１６（ｃ））」→「４．６＜（２．６×２）（図１６（ｄ））」→「５．２＞（２．４×２）（図１６（ｅ））」との比較結果を得ることができる。
【００６１】
分離部４６は、ステップＳ４５において、図１６（ｅ）に示すように、第２の区間の重み付けしない平均値が、第１の区間の閾値で重み付けした平均値よりも大きな値となった場合に（ステップＳ４５：Ｙｅｓ）、ステップＳ４６において、図１７に示すように、第１の区間と第２の区間の境目で、オブジェクトを行方向に沿って分離する。すなわち、図１６（ｅ）の例の場合、ヒストグラムの下から９つ目の値の位置が、第１の区間と第２の区間の境目となる。このため、分離部４６は、図１７に示すように、第９行目Ｌ９の位置で、行方向に沿ってオブジェクトを分離する。これにより、車両のような、壁に対して幅が大きくなる物体を分離する指標を用いて行方向の分離を行うため、奥側に位置している車両ｃ１に相当するオブジェクト（第１０行目Ｌ１０〜第１４行目Ｌ１４）と、壁ｗ１に相当するオブジェクト（第１行目Ｌ１〜第９行目Ｌ９）とを分離することができる。
【００６２】
第４の実施の形態の機器制御システムは、結合しているオブジェクトを、行方向の沿って正確に分離できるため、分離したオブジェクトに基づいて正確な物体認識処理を行うことができ、牽いては、機器制御システムにおける制御の精度を向上させることができる等、上述の各実施の形態と同様の効果を得ることができる。
【００６３】
（第５の実施の形態）
（行方向分離処理の第１の変形例）
次に、第５の実施の形態の機器制御システムの説明をする。上述の第４の実施の形態の場合、最初に各行の幅を全て計算してから平均値の算出処理及び比較処理等を行う例であった。これに対して、第５の実施の形態は、上述の各区間の設定が可能となったタイミングで、各区間の平均値の算出及び分離処理等を行う例である。なお、上述の第４の実施の形態と以下に説明する第５の実施の形態とでは、この点のみが異なる。このため、以下、差異の説明のみ行い、重複説明は省略する。
【００６４】
図１８のフローチャートに、このような第５の実施の形態における分離部４６の行方向分離処理の流れを示す。分離部４６は、ステップＳ５１を介して処理を開始し、ステップＳ５９において、全ての壁検出結果（オブジェクト）に対して行方向分離処理が終了したものと判別するまで、ステップＳ５２〜ステップＳ５９の各処理をオブジェクト毎に繰り返し実行する。
【００６５】
まず、分離部４６は、ステップＳ５２において、壁検出結果（オブジェクト）下の行から上の行にかけて順に移動しながら走査を行い、ステップＳ５３において、現在の行の幅を算出する。すなわち、移動操作毎に順次、行の幅を計算する。ステップＳ５４では、分離部４６が、既定回数以上、幅の計算が終了したか否かを判別する。すなわち、ステップＳ５４では、分離部４６が、上述の第１の区間及び第２の区間の設定が可能となる、例えば１０個分の幅の値の計算が終了したか否かを判別する。なお、第１の区間及び第２の区間は、上述のようにそれぞれ５個の幅の値を含む例であるため、１０個分の幅の値の計算が終了したか否かを判別することとしたが、各区間がそれぞれ３個の幅の値を含む場合は、６個分の幅の計算が終了したか否かを判別することとなる。さらに説明すると、ステップＳ５４では、分離部４６が、第１の区間及び第２の区間を設定可能な数の分、幅の値の計算が終了したか否かを判別している。
【００６６】
幅の計算が既定回数未満の場合（ステップＳ５４：Ｎｏ）、分離部４６は、ステップＳ５８に進み、現在のオブジェクトの全ての行の走査を完了したか否かを判別する。現在のオブジェクトの全ての行の走査が完了している場合（ステップＳ５８：Ｙｅｓ）、分離部４６は、ステップＳ５９に処理を進め、全てのオブジェクトに対する行方向分離処理が完了したか否かを判別する。全てのオブジェクトに対する行方向分離処理が完了している場合（ステップＳ５９：Ｙｅｓ）、分離部４６は、この図１８のフローチャートの処理を終了する。また、全てのオブジェクトに対する行方向分離処理が完了していない場合（ステップＳ５９：Ｎｏ）、分離部４６は、ステップＳ５１を介してステップＳ５２に処理を戻し、他のオブジェクトに対して、以下に説明する行方向分離処理を実行する。
【００６７】
これに対して、オブジェクトの全ての行の走査を完了していない場合（ステップＳ５８：Ｎｏ）、分離部４６は、ステップＳ５２に処理を戻し、オブジェクトの他の行の走査を実行する。
【００６８】
次に、ステップＳ５４において、既定回数以上の幅の計測を完了したと判別した場合（ステップＳ５４：Ｙｅｓ）、分離部４６は、上述のヒストグラム（図１６（ａ）〜図１６（ｅ）参照）のおける現在の行から下方向に向かって、上述の第１の区間及び第２の区間を設定し、ステップＳ５６で各区間の平均値を算出する。そして、ステップＳ５７において、分離部４６は、「第２の区間の平均値＞（第１の区間の平均値×２）」か否かを判別する。「第２の区間の平均値＞（第１の区間の平均値×２）」である場合（ステップＳ５７：Ｙｅｓ）、分離部４６は、ステップＳ６０において、第１の区間及び第２の区間の境目でオブジェクトを分離する（図１６（ｅ）及び図１７参照）。
【００６９】
これに対して、「第２の区間の平均値＞（第１の区間の平均値×２）」ではない場合（ステップＳ５７：Ｎｏ）、分離部４６は、ステップＳ５８に処理を進め、上述のようにオブジェクト内の全ての行の走査が完了したか否かを判別し、完了していない場合は、ステップＳ５２に処理を戻す。このような第５の実施の形態は、壁検出結果（オブジェクト）の下方から行の探索、幅の計測、変化のチェックを同時に行うことができるため、迅速にオブジェクトの分離処理を行うことができ、高速な機器制御に貢献できる他、上述の各実施の形態と同様の効果を得ることができる。
【００７０】
（第６の実施の形態）
（行方向分離処理の第２の変形例）
次に、第６の実施の形態の機器制御システムの説明をする。この第６の実施の形態は、分離部４６が、Ｕマップ上において、手前から奥行き方向に向かって順に連結しているオブジェクトを探索することで、奥行方向に向かって連続する壁状の物体を検出すると共に、検出した壁及び車両等の他の物体を分離する例である。なお、上述の各実施の形態と、第６の実施の形態とでは、この点のみが異なる。このため、以下、差異の説明のみ行い、重複説明は省略する。
【００７１】
図１９のフローチャートに、このような第６の実施の形態における分離部４６の行方向分離処理の流れを示す。分離部４６は、ステップＳ５１を介して処理を開始し、ステップＳ５９において、全ての壁検出結果（オブジェクト）に対して行方向分離処理が終了したものと判別するまで、ステップＳ５２〜ステップＳ５９の各処理をオブジェクト毎に繰り返し実行する。
【００７２】
まず、分離部４６は、ステップＳ５２において、Ｕマップの最初の列を下（最近距離エリア）からサーチする（ステップＳ６１）。次に、分離部４６は、現在、サーチしているピクセルの上の行の３つのピクセル（現在サーチしているピクセルの上の行のピクセル、この上の行の左右にそれぞれ隣接するピクセル）のうち、頻度値を有するピクセルが存在するか否かを判別する（ステップＳ６２）。上述の３つのピクセルのうち、頻度値を有するピクセルが存在しない場合（ステップＳ６２：Ｎｏ）、分離部４６は、ステップＳ７５に処理を進め、最後の列の最終のデータのサーチが終了したか否かを判別する。
【００７３】
分離部４６は、最後の列の最終のデータのサーチが終了したと判別した場合（ステップＳ７５：Ｙｅｓ）、そのまま図１９のフローチャートの処理を終了する。これに対して、最後の列の最終のデータのサーチが終了していないと判別した場合、分離部４６は、次の列のサーチを行うべく、ステップＳ６１に処理を戻す。すなわち、分離部４６は、現在、サーチを行っているピクセルの上の行の３つのピクセルに、頻度値を有するピクセルを検出しない場合、現在のサーチである、例えば「１」のラベリング番号（ラベル）を付す１回目のサーチを終了し、「２」のラベリング番号を付す２回目のサーチに移行する。
【００７４】
次に、上述の３つのピクセルに、頻度値を有するピクセルが存在する場合（ステップＳ６２：Ｙｅｓ）、分離部４６は、現在のサーチ位置を、頻度値を有するピクセルの位置に更新する（ステップＳ６３）。そして、分離部４６は、現在のサーチ位置のピクセルに、既にラベリング番号（ラベリング番号）が付されているか否かを判別する（ステップＳ６４）。
【００７５】
既にラベリング番号が付されていると判別した場合、分離部４６は、上述のステップＳ７５を介して、図１９のフローチャートの処理を終了し、又は、次の列のサーチを行うべく、処理をステップＳ６１に戻す。
【００７６】
これに対して、ラベリング番号が付されていないと判別した場合（ステップＳ６４：Ｎｏ）、分離部４６は、ラベリング番号を一つインクリメントし（ステップＳ６５）、現在のサーチ位置のピクセルに対して、インクリメントしたラベリング番号を付与するラベリング処理を行う（ステップＳ６６）。
【００７７】
次に、分離部４６は、ステップＳ６７において、現在の行の幅の大きさを算出する（図１１（ａ）〜図１１（ｃ）参照）。
【００７８】
次に、分離部４６は、現在のサーチ位置のピクセル（ラベリング番号を付与したピクセル）の一行上の行のピクセルのうち、  現在のサーチ位置のピクセルの上の位置のピクセル、上の位置のピクセルの左右にそれぞれ隣接するピクセルのうち、頻度値を有するピクセルが存在するか否かを判別する（ステップＳ６８）。すなわち、分離部４６は、このステップＳ６８において、上述の３つのピクセルのうち、  頻度値を有するピクセルが存在するか否かを判別する。
【００７９】
上述の３つのピクセルのうち、  頻度値を有するピクセルが存在しないと判別した場合（ステップＳ６８：Ｎｏ）、分離部４６は、上述のステップＳ７５を介して、図１９のフローチャートの処理を終了し、又は、次の列のサーチを行うべく、処理をステップＳ６１に戻す。
【００８０】
これに対して、上述の３つのピクセルのうち、頻度値を有するピクセルが存在すると判別した場合（ステップＳ６８：Ｙｅｓ）、分離部４６は、最大頻度のピクセルの位置を、現在のサーチ位置として更新する（ステップＳ６９）。
【００８１】
次に、分離部４６は、更新した現在のサーチ位置のピクセルに対して、既に異なるＩＤが付されているか否かを判別する（ステップＳ７０）。既に異なるＩＤが付されていると判別した場合（ステップＳ７０：Ｙｅｓ）、分離部４６は、上述のステップＳ７５を介して、図１９のフローチャートの処理を終了し、又は、次の列のサーチを行うべく、処理をステップＳ６１に戻す。
【００８２】
これに対して、更新した現在のサーチ位置のピクセルに対して、既に異なるＩＤが付されていないと判別した場合（ステップＳ７０：Ｎｏ）、分離部４６は、現在のサーチ位置のピクセルにラベリング番号を付与する（ステップＳ７１）。
【００８３】
次に、分離部４６は、ステップＳ７２において、現在の行の幅の大きさを算出する（図１１（ａ）〜図１１（ｃ）参照）。分離部４６は、ステップＳ７３において、これまで算出した幅情報をもちいて、上述の第１〜第５の実施の形態で説明したいずれかの分離処理を行うか否かを判別する。分離処理を行う場合（ステップＳ７３：Ｙｅｓ）、分離部４６は、ステップＳ７６に処理を進め、上述の第３〜第５の実施の形態で説明したいずれかの行方向に沿った分離処理を実行する。分離部４６は、いずれかの分離処理を実行すると、ステップＳ７５を介して、図１９のフローチャートの処理を終了し、又は、次の列のサーチを行うべく、処理をステップＳ６１に戻す。
【００８４】
これに対して、分離処理を行わない場合（ステップＳ７３：Ｎｏ）、分離部４６は、ステップＳ７４に処理を進める。ステップＳ７４では、分離部４６が、現在、サーチを行っている行の最後のデータ（ピクセル）に対するサーチが終了したか否かを判別する。そして、現在の行の最後のピクセルのサーチを終了していないと判別した場合（ステップＳ７４：Ｎｏ）、分離部４６は、現在の行の次のピクセルのサーチを行うべく、ステップＳ６８に処理を戻す。これに対して、現在の行の最後のピクセルのサーチを終了したと判別した場合（ステップＳ７４：Ｙｅｓ）、分離部４６は、上述のステップＳ７５を介して、図１９のフローチャートの処理を終了し、又は、次の列のサーチを行うべく、処理をステップＳ６１に戻す。
【００８５】
このような第６の実施の形態の場合、壁の検出、及び、壁と車両等のオブジェクトの分離処理を同時に行うことができ、高速な機器制御に貢献できる他、上述の各実施の形態と同様の効果を得ることができる。
【００８６】
（第７の実施の形態）
次に、第７の実施の形態の機器制御システムの説明をする。上述の各実施の形態の場合、Ｕマップ生成部４４は、視差画像生成部からの視差画像に基づいてＵマップを生成した。これに対して、第７の実施の形態の機器制御システムは、路面の高さを反映したＵマップを生成し、このＵマップ上のオブジェクトを上述の各実施の形態で説明したように分離処理することで、オブジェクトの、さらに高精度な分離を可能とした例である。なお、上述の各実施の形態と、第７の実施の形態とでは、この点のみが異なる。このため、以下、差異の説明のみ行い、重複説明は省略する。
【００８７】
第７の実施の形態の機器制御システムの場合、ＣＰＵ３０４は、立体物認識プログラムを実行することで、図４に示した平行化部４２〜分離部４６と共に、図２０に示すように視差補間部５１、Ｖマップ生成部５２、路面形状検出部５３及び路面高さ算出部５４の各機能を実現する。
【００８８】
なお、視差補間部５１〜路面高さ算出部５４は、ソフトウェアで実現することとしたが、一部又は全部を、ＩＣ（Integrated  Circuit）等のハードウェアで実現してもよいこと等は、上述のとおりである。
【００８９】
視差補間部５１は、視差画像補間処理を行う。Ｖマップ生成部５２は、投票領域が制限された各画素値に基づいて、Ｖマップを生成する。路面形状検出部５３及び路面高さ算出部５４は、視差画像に対応するＶマップの生成が完了するよりも前に、路面の高さを算出しておく。
【００９０】
具体的には、Ｖマップ生成部５２は、例えば画面中央に延びる平坦な路面上を走行する車両の左側に電柱が存在する視差画像が得られた場合、この撮像画像の各画素のうち、視差値Ｄ及びｙ座標値を有する画素に対して、一つカウントアップした度数（頻度）を付与する。そして、Ｖマップ生成部５２は、Ｘ軸を視差値Ｄ、Ｙ軸をｙ座標値、Ｚ軸を頻度とした２次元ヒストグラム上に各画素を投票することで、右下がりの直線として投票される路面上に、車両及び電柱が投票されたＶマップを作成する。このＶマップ上における直線状の画素群を特定することで、路面に相当する画素群を特定できる。このようなＶマップにおいては、路面より下の部分の視差値は検出されない。
【００９１】
次に、路面形状検出部５３は、各オブジェクトの高さの基準とする基準オブジェクトである路面を検出する。路面形状検出部５３は、Ｖマップ上で路面と推定される位置を直線近似する。路面が平坦な場合は、一本の直線で近似する。また、途中で勾配が変わる路面の場合、Ｖマップ上を複数の区間に分割して直線近似を行う。これにより、途中で勾配が変わる路面の場合でも、精度よく直線近似を行うことができる。
【００９２】
次に、路面高さ算出部５４は、路面高さを算出してＲＡＭ３１０等の記憶部に記憶する（テーブル化する）。Ｖマップから路面を表す直線式が得られたため、視差ｄが決まれば、対応するｙ座標ｙ０が決まる。この座標ｙ０が、路面の高さとなる。路面高さ算出部５４は、路面の高さを示す座標ｙ０と、必要な範囲の視差とを関連付けた路面高さリストを生成する。また、視差がｄでｙ座標がｙ’である場合、ｙ’−ｙ０が、視差ｄのときの路面からの高さを示す。路面高さ算出部５４は、座標（ｄ、ｙ’）の路面からの高さＨを、「Ｈ＝（ｚ×（ｙ’−ｙ０））／ｆ」の演算式を用いて算出する。なお、この演算式における「ｚ」は、視差ｄから計算される距離（ｚ＝ＢＦ／（ｄ−ｏｆｆｓｅｔ））、「ｆ」はステレオカメラ２の焦点距離を（ｙ’−ｙ０）の単位と同じ単位に変換した値である。ここで、ＢＦは、撮像ユニット２の基線長Ｂと焦点距離ｆを乗じた値、ｏｆｆｓｅｔは無限遠のオブジェクトを撮影したときの視差である。
【００９３】
Ｕマップ生成部４４は、上述のように横軸を視差画像のｘ、縦軸を視差画像の視差ｄ、Ｚ軸を頻度とした２次元ヒストグラムであるＵマップを生成する。この際、路面からの高さが、例えば２０ｃｍ〜３ｍ等の所定の高さの範囲にある視差画像の点（ｘ、ｙ、ｄ）を、（ｘ、ｄ）の値に基づいて投票する。Ｕマップ生成部４４は、ある視差画像の点（ｘ、ｙ、ｄ）を視差画像の所定の範囲の画素を投票してＵマップを生成する。すなわち、視差画像の上部１／６の領域には空が写っており、殆どの場合、認識を必要とするオブジェクトが写っていることは無い。このため、Ｕマップ生成部４４は、例えば視差画像の地面側５／６の領域（上部１／６の領域以外の領域）の画素を投票して頻度のＵマップを生成する。
【００９４】
このような路面からの高さ等が反映されたＵマップを用いて、上述の分離処理を実行することで、さらに精度良く分離処理を実行できる他、上述の各実施の形態と同様の効果を得ることができる。
【００９５】
上述の各実施の形態は、例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な各実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことも可能である。例えば、距離の値（距離値）と視差値は等価に扱うことができる。このため、上述の実施の形態の説明では、距離画像の一例として視差画像を用いて説明しているが、これに限られない。例えば、ステレオカメラを用いて生成した視差画像に対して、ミリ波レーダやレーザレーダ等の検出装置を用いて生成した距離情報を統合して、距離画像を生成してもよい。また、ステレオカメラと、ミリ波レーダやレーザレーダ等の検出装置を併用し、上述したステレオカメラによる物体の検出結果と組み合わせることにより、検出の精度をさらに高める構成としてもよい。
【００９６】
このような実施の形態及び実施の形態の変形例は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９７】
１  車両
２  ステレオカメラ（撮像部）
２ａ  カメラ部
２ｂ  カメラ部
３  車両ＥＣＵ
４  撮像装置
３０  画像処理装置
４２  平行化部
４３  視差画像生成部
４４  Ｕマップ生成部
４５  壁検出部
４６  分離部
５１  視差補間部
５２  Ｖマップ生成部
５３  路面形状検出部
５４  路面高さ算出部
【先行技術文献】
【特許文献】
【００９８】
【特許文献１】特開平６−２６６８２８号公報
【図１】
2018092603.tif 000003
【図２】
2018092603.tif 000004
【図３】
2018092603.tif 000005
【図４】
2018092603.tif 000006
【図５】
2018092603.tif 000007
【図６】
2018092603.tif 000008
【図７】
2018092603.tif 000009
【図８】
2018092603.tif 000010
【図９】
2018092603.tif 000011
【図１０】
2018092603.tif 000012
【図１１】
2018092603.tif 000013
【図１２】
2018092603.tif 000014
【図１３】
2018092603.tif 000015
【図１４】
2018092603.tif 000016
【図１５】
2018092603.tif 000017
【図１６】
2018092603.tif 000018
【図１７】
2018092603.tif 000019
【図１８】
2018092603.tif 000020
【図１９】
2018092603.tif 000021
【図２０】
2018092603.tif 000022