(57)【特許請求の範囲】
【請求項１】
左右位置情報と距離情報を有し、頻度値が対応付けられた画素で構成されるマップを生成するマップ生成手段と、
前記マップにおいて共通する特徴量を有する前記画素の複数からなる画素塊を検出する検出手段と、
前記検出手段により検出された前記画素塊を構成する前記画素が示す情報に基づいて、前記距離情報から物体を検出するための検索対象領域を規定する検出枠を生成する枠生成手段と、
前記検出枠に基づいて、前記距離情報を示す画素で構成される距離画像を外側から中心に向かって検索し、距離情報の頻度が所定の閾値以上となる位置を前記物体の端部とする端部決定手段と、
を備え、前記端部決定手段は、前記距離画像の検索開始位置を前記検出枠の外側から所定の距離だけ離れた位置とすることを特徴とする画像処理装置。
【請求項２】
前記端部決定手段は、前記検出枠に基づいて前記距離画像を左右からｘ軸方向の中心に向かって検索し、ｘ軸方向における距離情報の頻度が所定の閾値以上となる位置を前記物体の左右端とすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記端部決定手段は、前記検出枠に基づいて前記距離画像を上下からｙ軸方向の中心に向かって検索し、ｙ軸方向における距離情報の頻度が所定の閾値以上となる位置を前記物体の上下端とすることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記端部決定手段は、前記検出枠に基づいて前記距離画像の左右からｘ軸方向の中心に向かってｙ軸方向における所定範囲を検索することを特徴とする請求項１から３の何れか１項に記載の画像処理装置。
【請求項５】
前記端部決定手段は、前記検出手段により検出された前記画素塊を構成する前記画素が示す距離情報に応じて、検索対象とする前記距離画像の解像度を変更することを特徴とする請求項１から４の何れか１項に記載の画像処理装置。
【請求項６】
左右位置情報と距離情報を有し、頻度値が対応付けられた画素で構成されるマップを生成するマップ生成手段と、
前記マップにおいて共通する特徴量を有する前記画素の複数からなる画素塊を検出する検出手段と、
前記検出手段により検出された前記画素塊を構成する前記画素が示す情報に基づいて、前記距離情報から物体を検出するための検索対象領域を規定する検出枠を生成する枠生成手段と、
前記枠生成手段により生成された検出枠に基づいて物体を検出する物体検出手段と、
前記物体検出手段による検出結果に基づいて所定の機器を制御する制御手段と、
前記検出枠に基づいて、前記距離情報を示す画素で構成される距離画像を外側から中心に向かって検索し、距離情報の頻度が所定の閾値以上となる位置を前記物体の端部とする端部決定手段と、
を備え、前記端部決定手段は、前記距離画像の検索開始位置を前記検出枠の外側から所定の距離だけ離れた位置とすることを特徴とする機器制御システム。
【請求項７】
２つの撮像手段と、
前記２つの撮像手段により撮像された撮像画像から生成された、左右位置情報と距離情報を有し、頻度値が対応付けられた画素で構成されるマップを生成するマップ生成手段と、
前記マップにおいて共通する特徴量を有する前記画素の複数からなる画素塊を検出する検出手段と、
前記検出手段により検出された前記画素塊を構成する前記画素が示す情報に基づいて、前記距離情報から物体を検出するための検索対象領域を規定する検出枠を生成する枠生成手段と、
前記検出枠に基づいて、前記距離情報を示す画素で構成される距離画像を外側から中心に向かって検索し、距離情報の頻度が所定の閾値以上となる位置を前記物体の端部とする端部決定手段と、
を備え、前記端部決定手段は、前記距離画像の検索開始位置を前記検出枠の外側から所定の距離だけ離れた位置とすることを特徴とする撮像装置。
【請求項８】
コンピュータに、
左右位置情報と距離情報を有し、頻度値が対応付けられた画素で構成されるマップを生成する手順と、
前記マップにおいて共通する特徴量を有する前記画素の複数からなる画素塊を検出する手順と、
検出された前記画素塊を構成する前記画素が示す情報に基づいて、前記距離情報から物体を検出するための検索対象領域を規定する検出枠を生成する手順と、
前記検出枠に基づいて、前記距離情報を示す画素で構成される距離画像を外側から中心に向かって検索し、距離情報の頻度が所定の閾値以上となる位置を前記物体の端部とする端部決定手順と、
を含む処理を実行させ、前記端部決定手順において、前記距離画像の検索開始位置を前記検出枠の外側から所定の距離だけ離れた位置とすることを特徴とする画像処理方法。
【請求項９】
前記検出枠を生成する手順は、
前記検出枠に基づいて検索する、前記距離情報を示す画素で構成される距離画像の検索開始位置を前記検出枠の下端から所定の距離だけ下方の位置とする手順と、
前記検出枠に基づいて前記距離画像を左右からｘ軸方向の中心に向かって検索し、ｘ軸方向における距離情報の頻度が所定の閾値以上となる位置を前記物体の左右端とする手順と、
前記検出枠に基づいて前記距離画像を上方から下方に向かって検索し、ｙ軸方向における距離情報の頻度が所定の閾値以上となる位置を前記物体の上端とする手順と、
前記検出枠に基づいて前記距離画像を下方から上方に向かって検索し、ｙ軸方向における距離情報の頻度が所定の閾値以上となる位置を前記物体の下端とする手順と、
を含むことを特徴とする請求項８記載の画像処理方法。
【請求項１０】
コンピュータに、
左右位置情報と距離情報を有し、頻度値が対応付けられた画素で構成されるマップを生成する手順と、
前記マップにおいて共通する特徴量を有する前記画素の複数からなる画素塊を検出する手順と、
検出された前記画素塊を構成する前記画素が示す情報に基づいて、前記距離情報から物体を検出するための検索対象領域を規定する検出枠を生成する手順と、
前記検出枠に基づいて、前記距離情報を示す画素で構成される距離画像を外側から中心に向かって検索し、距離情報の頻度が所定の閾値以上となる位置を前記物体の端部とする端部決定手順と、
を含む処理を実行させ、前記端部決定手順において、前記距離画像の検索開始位置を前記検出枠の外側から所定の距離だけ離れた位置とすることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、機器制御システム、撮像装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
自動車の安全性において、従来は歩行者や自動車と衝突したときに、いかに歩行者を守れるか、乗員を保護できるかの観点から自動車のボディー構造などの開発が行われてきた。しかしながら近年、情報処理技術、画像処理技術の発達により、人や自動車を高速に検出する技術が開発されてきている。これらの技術を自動車等に応用して、衝突する前に自動的にブレーキをかけ、衝突を未然に防ぐ技術が既に知られている。【０００３】
ところで、自車両に接近する人や自動車等の接近物をカメラ等を利用することにより検出し、検出した接近物を検知枠で囲む技術が、例えば特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５３２９５８２号公報
【発明の概要】
【０００５】
本発明は、物体の検出処理を高速化し、検出した物体を検出枠で囲むための画像処理時間を短縮することを目的とする。本発明の画像処理装置は、左右位置情報と距離情報を有し、頻度値が対応付けられた画素で構成されるマップを生成するマップ生成手段と、前記マップにおいて共通する特徴量を有する前記画素の複数からなる画素塊を検出する検出手段と、前記検出手段により検出された前記画素塊を構成する前記画素が示す情報に基づいて、前記距離情報から物体を検出するための検索対象領域を規定する検出枠を生成する枠生成手段と、前記検出枠に基づいて、前記距離情報を示す画素で構成される距離画像を外側から中心に向かって検索し、距離情報の頻度が所定の閾値以上となる位置を前記物体の端部とする端部決定手段とを備え、前記端部決定手段は、前記距離画像の検索開始位置を前記検出枠の外側から所定の距離だけ離れた位置とすることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、物体の検出処理を高速化し、検出した物体を検出枠で囲むための画像処理時間を短縮できる。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に係る機器制御システムの概略構成図である。
【図２】一実施形態に係る撮像装置の概略構成図である。
【図３】一実施形態に係る画像処理装置の機能ブロック図である。
【図４Ａ】一実施形態に係るＶマップを生成する手順を説明するための図である。
【図４Ｂ】一実施形態に係るＶマップを生成する手順を説明するための図である。
【図５Ａ】一実施形態に係るＵマップを生成する手順を説明するための図である。
【図５Ｂ】一実施形態に係るＵマップを生成する手順を説明するための図である。
【図５Ｃ】一実施形態に係るＵマップを生成する手順を説明するための図である。
【図６Ａ】一実施形態に係るリアルＵマップを生成する手順を説明するための図である。
【図６Ｂ】一実施形態に係るリアルＵマップを生成する手順を説明するための図である。
【図７Ａ】従来技術の課題を説明するための図である。
【図７Ｂ】従来技術の課題を説明するための図である。
【図７Ｃ】一実施形態に係る検出手順を説明するための図である。
【図７Ｄ】一実施形態に係る検出手順を説明するための図である。
【図８Ａ】一実施形態に係る検出枠を生成する手順を説明するための図である。
【図８Ｂ】一実施形態に係る検出枠を生成する手順を説明するための図である。
【図８Ｃ】一実施形態に係る検出枠を生成する手順を説明するための図である。
【図９】一実施形態に係る画像処理を説明するためのフローチャートである。
【図１０】一実施形態に係るボトム側の検索開始位置を決定する手順を説明するための図である。
【図１１】一実施形態に係る物体の左右位置を決定する手順を説明するための図である。
【図１２】一実施形態に係る物体の上端を決定する手順を説明するための図である。
【図１３Ａ】一実施形態に係る物体のボトムを決定する手順を説明するための図である。
【図１３Ｂ】一実施形態に係る物体のボトムを決定する手順を説明するための図である。
【発明を実施するための形態】
【０００８】
図面を用いて、本発明の実施形態に係る画像処理装置を説明する。この説明は、本発明の趣旨を越えない限り、下記の実施形態のみに限定されるものではない。なお、各図中、同一又は相当する部分には同一の符号を付しており、その重複説明は適宜に簡略化乃至省略する。また、下記の実施形態は本発明の最良の形態であって、本発明に係る特許請求の範囲を限定するものではない。
【０００９】
移動体としての車両に取り付けられたステレオカメラ等の撮像装置により撮像された、当該車両の前方を走行する他の車両等の物体を認識する例を用いて、一実施形態に係る画像処理装置を説明する。ここで、移動体としては車両に限定されず、船舶、航空機等にも適用可能である。
【００１０】
例えば、画像処理装置は、画像処理装置が実行した処理の結果を用いて車両の運行等を制御する。なお、この制御には、車両自体を制御する機能に加え、車両等が備える所定の機器（例えば、ブレーキシステム、操舵システム、エンジン制御システム等の機器）を制御する機能も含まれる。
【００１１】
また、画像処理装置は、例えば情報処理装置等として単独で構成してもよい。あるいは、画像処理装置が有する機能をステレオカメラ等の撮像装置が有する処理基板等に組み込んだ構成としてもよい。
【００１２】
＜機器制御システム＞
図１を参照して、一実施形態に係る機器制御システムを説明する。ここでは、機器制御システムとして車両を制御する車両制御システムの例を用いて、機器制御システムの概略を説明する。図１に示す車両１において、矢印Ａ方向が車両１の前進方向である。車両１は、撮像ユニット２と、画像処理ユニット３と、制御ユニット４とを備える。撮像ユニット２は、例えば車内のルームミラー付近に設置され、フロントガラス５越しに車両１の前方を走行する他の車両等を撮像する。
【００１３】
撮像ユニット２により撮像された画像に基づき、物体検出手段としての画像処理ユニット３は車両１の前方の物体を検出する。画像処理ユニット３からの検出結果に基づき、制御ユニット４は車両１の走行スピード、他の車両との走行間隔、走行レーン、ブレーキのタイミング等を制御する。ここで、撮像ユニット、画像処理ユニット、制御ユニットという用語は、説明の便宜上用いた用語である。すなわち、撮像ユニット、画像処理ユニット、制御ユニットという用語の代りに、それぞれ、撮像装置（又は撮像手段）、画像処理装置（又は画像処理手段）、制御装置（又は制御手段）という用語を用いてもよい。
【００１４】
＜撮像装置＞
図２を参照して、一実施形態に係る撮像装置を説明する。この撮像装置は、ステレオカメラ１０と、画像処理基板２０とを備える。
【００１５】
ステレオカメラ１０は、２台のカメラを平行に組み付けられて構成される。ステレオカメラ１０は、左レンズ１１Ｌに対応して、画像センサ１２Ｌ及び画像センサコントローラ１３Ｌを備え、右レンズ１１Ｒに対応して、画像センサ１２Ｒ及び画像センサコントローラ１３Ｒを備える。なお、この実施形態においては、２台のカメラによりステレオカメラ１０を構成しているが、本発明に係るステレオカメラを、３台以上のカメラにより構成してもよい。
【００１６】
画像センサコントローラ１３Ｌ、１３Ｒは、それぞれ、画像センサ１２Ｌ、１２Ｒの露光制御、Ａ／Ｄ変換、画像読み出し制御、外部回路との通信、画像データの送信の機能を有する。ステレオカメラ１０は、画像処理基板２０と、データバス２７及びシリアルバス２８を介して接続される。ステレオカメラ１０から、輝度画像データと視差画像データが画像処理基板２０に出力される。
【００１７】
ステレオカメラ１０の画像センサ１２Ｌ、１２Ｒから出力される輝度画像データはデータバス２７を介して画像処理基板２０に転送される。また、シリアルバス２８を介して、画像処理基板２０からのセンサ露光制御値変更、画像読み出しパラメータ変更、各種設定データの送受信が行われる。
【００１８】
画像処理基板２０は、ＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）２１と、ＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）２２と、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）２３と、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）２４と、シリアルＩ／Ｆ（ｓｅｒｉａｌ  ｉｎｔｅｒｆａｃｅ）２５と、データＩ／Ｆ（ｄａｔａ  ｉｎｔｅｒｆａｃｅ）２６と、データバス（ｄａｔａ  ｂｕｓ）２７と、シリアルバス（ｓｅｒｉａｌ  ｂｕｓ）２８とを備える。
【００１９】
ＣＰＵ２１は、画像処理基板２０の全体の動作制御、画像処理、及び画像認識処理を実行する。ＦＰＧＡ２２は、ＲＡＭ２３に保存された画像データに対してリアルタイム性が要求される処理を実行する。ＦＰＧＡ２２は、例えばガンマ補正、歪み補正（すなわち左右画像の平行化）、ブロックマッチングによる視差演算を行って視差画像を生成し、データをＲＡＭ２３に格納する。
【００２０】
ＣＰＵ２１は、ステレオカメラ１０の画像センサコントローラ１３Ｌ、１３Ｒの制御、及び画像処理基板２０の全体的な制御を実行する。また、ＣＰＵ２１は、路面形状検出、ガードレール検出、オブジェクト検出を実行するプログラムをＲＯＭ２４からロードして、ＲＡＭ２３に格納された輝度画像及び視差画像を入力として各種処理を実行する。さらに、ＣＰＵ２１は、検出データをシリアルＩ／Ｆ２５又はデータＩ／Ｆ２６から外部へ出力する。
【００２１】
ＣＰＵ２１は、処理の実行に際し、データＩ／Ｆ２６を利用して、車速、加速度、舵角、ヨーレートなど車両の情報を入力して路面形状検出などの各種処理のパラメータとして使用する。外部に出力されるデータは自動緊急ブレーキや自動速度制御等の車両の制御を実行するための入力データとして使用される。なお、ＣＰＵ２１やＦＰＧＡ２２で実現される機能の一部は、画像処理基板２０の外部に持たせてもよい。
【００２２】
＜画像処理装置の機能ブロック＞
図３を参照して、一実施形態に係る画像処理装置の機能ブロックを説明する。図３に示すように、この画像処理装置３０は、マップ生成部３１と、検出部３２と、枠生成部３３と、端部決定部３４とを備える。
【００２３】
まず、画像処理装置３０が、２つの撮像手段としての２台のカメラを有するステレオカメラ１０により撮像された撮像画像から視差画像を生成する手順を説明する。この手順は、図２に示したＦＰＧＡ２２の機能により実行される。
【００２４】
より具体的には、画像処理装置３０は、ステレオカメラ１０から取得した輝度画像データから視差画像を得るために、ステレオカメラ１０で撮像した撮像画像間の対応画像部分の視差値を演算する。
【００２５】
ここで、視差値とは、ステレオカメラ１０で撮像した一方の画像を基準画像、他方を比較画像とし、撮像領域内の同一地点に対応した基準画像上の画像部分に対する比較画像上の画像部分の位置ズレ量を、当該画像部分の視差値として算出したものである。次に、三角測量の原理を利用することで、この視差値から当該画像部分に対応した撮像領域内の当該同一地点までの距離を算出することができる。視差値は距離値と等価として扱えるため、この実施形態においては、視差画像を距離画像の一例として、また、視差情報を距離情報の一例として説明している。
【００２６】
ステレオカメラ１０からは撮像画像として輝度画像データが出力されるが、このときステレオカメラ１０がカラーの場合は、ＲＧＢ信号から輝度信号（Ｙ）を得るカラー輝度変換を行う。例えば、下記の式〔１〕により輝度信号を得る。
【００２７】
Ｙ＝０.３Ｒ＋０.５９Ｇ＋０.１１Ｂ・・・〔１〕
なお、ステレオカメラ１０から取得した輝度画像データに対して、画像処理装置３０は、平行化画像生成処理を行う。この平行化画像生成処理は、ステレオカメラ１０を構成する２つのカメラにおける光学系の歪みや左右のカメラの相対的な位置関係から、各カメラから出力されるステレオ画像を、２つのカメラが平行に取り付けられたときに得られる理想的な平行化ステレオ画像となるように変換する処理である。
【００２８】
このように平行化画像生成処理を行った後、画像処理装置３０は、視差画像データを生成する視差画像生成処理を行う。視差画像生成処理では、まず、２つのカメラのうちの一方のカメラから取得した輝度画像データを基準画像データとし、他方のカメラから取得した輝度画像データを比較画像データとし、これらを用いて両者の視差を演算して、視差画像データを生成して出力する。この視差画像データは、基準画像データ上の各画像部分について算出される視差値ｄに応じた画素値をそれぞれの画像部分の画素値として表した視差画像を示す。
【００２９】
具体的には、画像処理装置３０は、基準画像データのある行について、一つの注目画素を中心とした複数画素、例えば１６画素×１画素からなるブロックを定義する。一方、画像処理装置３０は、比較画像データにおける同じ行において、定義した基準画像データのブロックと同じサイズのブロックを１画素ずつ横ライン方向へずらし、基準画像データにおいて定義したブロックの画素値の特徴を示す特徴量と比較画像データにおける各ブロックの画素値の特徴を示す特徴量との相関を示す相関値を、それぞれ算出する。
【００３０】
次に、画像処理装置３０は、算出した相関値に基づき、比較画像データにおける各ブロックの中で最も基準画像データのブロックと相関があった比較画像データのブロックを選定するマッチング処理を行う。その後、画像処理装置３０は、基準画像データのブロックの注目画素と、マッチング処理で選定された比較画像データのブロックの対応画素との位置ズレ量を視差値ｄとして算出する。このような視差値ｄを算出する処理を基準画像データの全域又は特定の一領域について行うことで、視差画像データを得ることができる。
【００３１】
マッチング処理に用いるブロックの特徴量としては、例えば、ブロック内の各画素の値である輝度値を用いることができ、相関値としては、例えば、基準画像データのブロック内の各画素の値である輝度値と、これらの画素にそれぞれ対応する比較画像データのブロック内の各画素の値である輝度値との差分の絶対値の総和を用いることができる。この場合、当該総和が最も小さくなるブロックが最も相関があるといえる。
【００３２】
画像処理装置３０でのマッチング処理をハードウェア処理によって実現する場合には、例えばＳＳＤ（Sum of Squared Difference）、ＺＳＳＤ（Zero-mean Sum of Squared Difference）、ＳＡＤ（Sum of Absolute Difference）、ＺＳＡＤ（Zero-mean Sum of Absolute Difference）などの方法を用いることができる。
【００３３】
なお、マッチング処理では画素単位での視差値しか算出できないため、１画素未満のサブピクセルレベルの視差値が必要な場合には推定値を用いる必要がある。その推定方法としては、例えば、等角直線方式、二次曲線方式等を利用することができる。ただし、このサブピクセルレベルの推定視差値には誤差が発生するため、この推定誤差を減少させるＥＥＣ（推定誤差補正）などを用いてもよい。
【００３４】
マップ生成部３１は、上下左右の相対的な位置関係を示す位置情報を有し、かつ、距離情報を示す画素で構成される距離画像から、左右位置情報と距離情報を有し、頻度値が対応付けられた画素で構成されるマップを生成するマップ生成手段である。この実施形態においては、ｘｙ座標系におけるｘ、ｙの座標情報を「上下左右の相対的な位置関係を示す位置情報」の一例として説明している。他方、画素の上下左右の相対的な位置関係を示す位置情報であれば、ｘ、ｙの座標情報に限定されない。また、この実施形態においては、画素の左右の相対的な位置関係を示す位置情報を「左右位置情報」とし、画素の上下の相対的な位置関係を示す位置情報を「上下位置情報」とする。マップ生成部３１は、図２に示したＣＰＵ２１によりその機能が実現される。マップ生成部３１が生成する「マップ」には、後述するＵマップ及びリアルＵマップが含まれる。
【００３５】
マップ生成部３１は、Ｕマップを生成するにあたり、Ｖマップを生成する。さらに、マップ生成部３１は、Ｕマップから、Ｕマップのｘ軸方向を実距離に変換したリアルＵマップを生成する。なお、この実施形態では、複数のマップは互いに順序立てて生成されるものとして説明しているが、これに限られない。例えば、リアルＵマップを、２つの撮像手段によって得られる視差画像から直接生成しても良い。また、この実施形態では、後述のとおり視差画像における路面の位置を推定するためにＶマップを生成しているが、Ｖマップによらずとも、路面の位置が推定可能なその他の手法であってもよい。
【００３６】
図４Ａ及び図４Ｂを参照して、マップ生成部３１によりＶマップを生成する手順を説明する。マップ生成部３１は、生成された視差画像に基づいてＶマップを生成する。Ｖマップの生成は、視差画像における路面位置を推定し、路面上に存在する物体を認識するために行われる。路面位置を特定することで路面からの高さ情報を得ることができ、路面上に存在する物体の大きさを特定することができる。
【００３７】
視差画像データに含まれる各視差画素データは、ｘ方向位置とｙ方向位置と視差値ｄとの組（ｘ、ｙ、ｄ）で示される。マップ生成部３１は、この組（ｘ、ｙ、ｄ）のうち、Ｘ軸にｄ、Ｙ軸にｙ、Ｚ軸に頻度を設定して、２次元のヒストグラムを生成する。この２次元のヒストグラムがＶマップに相当する。つまり、マップ生成部３１は、視差画像の各画素において、（ｄ、ｙ）を持つときにその度数を一つカウントアップする。
【００３８】
図４Ａは、路面１０３上を車両１０１が矢印Ｃ方向に走行しており、路面１０３の左側に電柱１０２が存在する様子を撮像した撮像画像を示す。これをマップ生成部３１により生成したＶマップが図４Ｂである。図４Ｂに示すように、視差画像からＶマップに変換するとき、路面から一定の高さにある視差値をＶマップ上に対応付けてクラスタリングすることによって、路面上の物体を認識することができる。クラスタリングにより、Ｖマップ上において車両１０１ｖ、電柱１０２ｖ、路面１０３ｖを認識することができる。
【００３９】
また、視差値をＶマップ上に対応付ける領域（以下「投票領域」という）を設定する必要がある。この実施形態において、図４Ｂに斜線で示す領域Ｂは、路面１０３より下の部分を示している。路面１０３より下の部分において視差が検出されることはないため、領域Ｂには視差値の対応付けはされない。その他、カメラを搭載した車両の走行状態によって、路面推定範囲が変化すること等を考慮して投票領域を決定することが好ましい。
【００４０】
また、マップ生成部３１は、路面１０３の形状を検出する路面形状検出処理を行う。これは、Ｖマップにおいて路面と推定される位置を直線近似する処理である。直線近似の方法としては、例えば最小二乗法やハフ変換を用いればよい。例えば、路面が平坦な場合は一本の直線で近似可能であるが、途中で勾配が変わる場合には、マップの区間を分割して精度よく直線近似する必要がある。
【００４１】
なお、Ｖマップにおいて路面形状検出処理を行う場合、上述した投票領域の制限を行っても、視差の大きい領域と視差の小さい領域の２領域に分けて路面形状検出を行ってもよい。
【００４２】
マップ生成部３１は、路面１０３の高さを算出してテーブル化する路面高さテーブル算出処理を行う。Ｖマップから路面を表す直線式が得られ、視差ｄが決まればそのときのｙ座標が決定される。このｙ座標が路面の高さとなり、これを必要な視差の範囲でテーブル化する。
【００４３】
次に、図５Ａ、図５Ｂ及び図５Ｃを参照して、マップ生成部３１によりＵマップを生成する手順の概略を説明する。マップ生成部３１は、例えばガードレールや路面に沿った立ち壁等の存在を推定するためにＵマップを生成する。第１のマップ生成部３１は、視差画像データに含まれる各視差画素データにおけるｘ方向位置とｙ方向位置と視差値ｄとの組（ｘ、ｙ、ｄ）を、Ｘ軸にｘ、Ｙ軸にｄ、Ｚ軸に頻度を設定して、Ｘ−Ｙの２次元ヒストグラム情報を生成する。この２次元ヒストグラム情報がＵマップである。
【００４４】
この実施形態においては、マップ生成部３１は、上述の路面高さテーブルによってテーブル化された各路面部分の高さに基づいて、路面からの高さが所定の高さの範囲（たとえば２０ｃｍから３ｍ）にある視差画像の点（ｘ、ｙ、ｄ）について頻度Ｕマップを生成する。
【００４５】
図５Ａは、片側１車線の道路上のうち、左車線を車両１０１ａが矢印Ｄ方向に走行し、右車線を車両１０１ｂが矢印Ｅ方向に走行している状態を撮像した撮像画像を示す。また、道路両脇には、ガードレール１０５ａ、１０５ｂが設置されている。
【００４６】
図５Ｂは、図５Ａに示す撮像画像から変換された頻度Ｕマップを示す。ガードレール１０５ａ、１０５ｂは左右端から中央上部に延びる直線上になる。ここでは、Ｕマップ変換後のガードレール１０５ａ、１０５ｂを１０５ａｕ、１０５ｂｕと表記している。
【００４７】
他方、車両１０１ａ、車両１０１ｂはガードレール１０５ａｕ、１０５ｂｕの間で、水平線分と、車の側面が見えて視差が検出されている場合は斜め線が水平線分に連結した形状となる。ここでは、Ｕマップ変換後の車両１０１ａ、車両１０１ｂを１０１ａｕ、１０１ｂｕと表記している。
【００４８】
図５Ｃは、高さＵマップを示す。マップ生成部３１は、頻度Ｕマップの生成と同時に高さＵマップを生成する。マップ生成部３１は、視差画像データに含まれる各視差画素データにおけるｘ方向位置とｙ方向位置と視差値ｄとの組（ｘ、ｙ、ｄ）を、Ｘ軸にｘ、Ｙ軸にｄ、Ｚ軸に路面からの高さを設定して、Ｘ−Ｙの２次元ヒストグラム情報を生成する。この２次元ヒストグラム情報が高さＵマップである。このときの高さの値は路面からの高さの最大値である。
【００４９】
図５Ｃに異なる濃さのハッチングで示すように、車両１０１ａｕ、１０１ｂｕのハッチングはガードレール１０５ａｕ、１０５ｂｕのハッチングより濃く、車両１０１ａｕ、１０１ｂｕの高さはガードレール１０５ａｕ、１０５ｂｕの高さよりも大きい。これにより物体の高さ情報を物体認識に使用することができる。
【００５０】
マップ生成部３１は、Ｕマップのｘ軸方向を実距離に変換したリアルＵマップを生成する。図６Ａ及び図６Ｂを参照して、リアルＵマップを生成する手順を説明する。リアルＵマップは、上述したＵマップの横軸を画像の画素単位から実際の距離単位に変換し、縦軸の視差値を距離に応じた間引き率が適用された間引き視差に変換したマップである。なお、図６Ａは図５Ｂと同じ図である。ここでは横軸を実距離に変換した例を示しているが、実距離相当の単位に変換できればよい。
【００５１】
縦軸の間引き視差は、遠距離（ここでは５０ｍ以上）については間引きなし、中距離（２０ｍ以上、５０ｍ未満）については１／２に間引き、近距離（１０ｍ以上、２０ｍ未満）については１／３に間引き、最近距離（１０ｍ未満）については、１／８に間引いた。
【００５２】
つまり、遠方ほど、間引く量を少なくしている。その理由は、遠方では物体が小さく写るため、視差情報が少ない、距離の分解能も小さいため間引きを少なくし、近距離の場合は物体が大きく写るため、視差情報が多く距離の分解能も大きいため間引きを多くする。
【００５３】
図６Ｂは、マップ生成部３１により生成されたリアルＵマップの例を示す。図６ＢのリアルＵマップにおいては、路面や路面上を走行する車両等を上から俯瞰したような状態が示されている。ガードレール１０５ａｕ、１０５ｂｕは垂直の線状で表され、変換後のガードレール１０５ａｕ、１０５ｂｕを１０５ａｒｕ、１０５ｂｒｕとしている。また、車両１０１ａｕ、１０１ｂｕの形状も実際の形状に近い形状に変換されている。変換後の車両１０１ａｕ、１０１ｂｕを１０１ａｒｕ、１０１ｂｒｕと表記している。
【００５４】
なお、図５Ｃの高さＵマップと同様に、リアルＵマップについても頻度マップだけでなく、高さリアルＵマップを生成することも可能である。
【００５５】
検出部３２は、マップ生成部３１により生成されたＵマップ又はリアルＵマップにおいて共通する特徴量を有する画素の複数からなる画素塊を検出する検出手段であり、図２に示したＣＰＵ２１、ＲＡＭ２３等によってその機能が実現される。この実施形態において、「共通する特徴量」とは、例えば、所定の閾値より大きい頻度値を有する画素であって、その頻度値が互いに近似している場合等をいう。また、この実施形態においては、それらの画素の複数が互いに連結した（あるいは集合した）画素群を「画素塊」としている。なお、画素塊としては、所定の閾値より大きい頻度値を有する画素、またはそれらの集合としてもよい。
【００５６】
枠生成部３３は、検出部３２により検出された画素塊を構成する画素が示す情報に基づいて距離画像から物体を検出するための検索対象領域を規定する検出枠を生成する枠生成手段であり、図２に示したＣＰＵ２１、ＲＡＭ２３等によってその機能が実現される。この実施形態において「画素が示す情報」とは、例えば頻度値や距離情報等である。また、この実施形態において「検出枠」とは、例えばＵマップ等において検出部３２により検出された画素塊に対応する物体の幅や高さ等を特定する後述の検出処理を行うために検索対象領域として規定される枠である。詳細は後述するが、検出枠は、検出された画素塊を構成する画素が示す情報に基づいて生成される枠である。この実施形態において、検出枠は、物体の幅や高さ等を特定するために仮の枠（以下、「仮枠」という）として機能する。
【００５７】
なお、ここでいう「枠」とは視覚的に認識可能な矩形を意味するのではなく、単に画像上の領域を特定する座標位置や幅、高さ等の情報を意味するものとする。
【００５８】
この実施形態によれば、枠生成部３３により生成された検出枠に対応する物体の幅や高さ等を特定することにより、全ての視差画像にアクセスする必要がなくなる。その結果、物体の検出処理を高速化し、処理時間を短縮することが可能になる。
【００５９】
端部決定部３４は、検出枠に基づいて距離画像を外側から中心に向かって検索し、距離情報の頻度が所定の閾値以上となる位置を物体の端部とする端部決定手段であり、図２に示したＣＰＵ２１、ＲＡＭ２３等によってその機能が実現される。本処理は、物体の幅や高さを特定するための処理であり、詳細については後述する。
【００６０】
端部決定部３４は、検出枠に基づいて距離画像を左右からｘ軸方向の中心に向かって検索し、ｘ軸方向における距離情報の頻度が所定の閾値以上となる位置を物体の左右端とする。本処理は、物体の幅を特定するための処理であり、詳細については後述する。
【００６１】
端部決定部３４は、検出枠に基づいて距離画像を上下からｙ軸方向の中心に向かって検索し、ｙ軸方向における距離情報の頻度が所定の閾値以上となる位置を物体の上下端として決定する。この処理は、物体の高さを特定するための処理であり、詳細については後述する。
【００６２】
端部決定部３４は、距離画像の検索開始位置を検出枠の外側から所定距離だけ離れた位置とすることが好ましい。また、端部決定部３４は、検出枠に基づいて距離画像の左右からｘ軸方向の中心に向かってｙ軸方向における所定範囲を検索することが好ましい。これらの処理は、物体の幅や高さ等をできるだけ正確に特定するための処理であり、詳細については後述する。
【００６３】
さらに、端部決定部３４は、検出部３２により検出された画素塊を構成する画素が示す距離情報に応じて、検索対象とする距離画像の解像度を変更することが好ましい。撮像視点から近い近距離の物体については、画素を間引いて視差画像にアクセスすることで、処理速度を向上させることが可能となる。
【００６４】
＜検出手順＞
図７Ｃ及び図７Ｄを参照して、一実施形態に係る検出手順を説明する。ここでは、この実施形態に係る検出手順を従来技術（図７Ａ及び図７Ｂ参照）との比較により説明する。従来技術においては、図７Ａに示すように、検索対象領域の物体を検出するためには、視差画像中の全画像領域（すなわち全画素）にアクセスする必要があった。従来技術においては、図７Ｂに示すように、これにより検出された検索対象領域の物体の幅を特定するために、検索対象領域を検索あるいは再走査する処理を行っていた。
【００６５】
一方、この実施形態においては、図７Ｃに示すように、上述した検出枠に基づいて検索対象領域を抽出し、図７Ｄに示すように、検索対象領域のみを検索すればよい。この実施形態によれば、従来技術における全画素へのアクセス処理が不要になるので、物体の検出処理を高速化し、処理時間を短縮することが可能になる。
【００６６】
＜検出枠を生成する手順＞
図８Ａ、図８Ｂ及び図８Ｃを参照して、一実施形態に係る検出枠を生成する手順を説明する。図８Ａは、例えば図４Ａに示した路面１０３の左車線を走行する車両１０１を後方から撮影した画像２０１を示す。図８Ｂの右側に、画像２０１からリアルＵマップ上に変換された画素塊の例を示す。なお、ここではリアルＵマップ上に変換された画素塊の例を用いているが、これに限定されず、Ｕマップ上に変換された画素塊を用いてもよい。
【００６７】
ここでは、例えば図８Ｂの右側に示すような、リアルＵマップ上に変換された画素塊が有する画素情報に基づいて、枠生成部３３は、図８Ｂの左側に示すようなライン単位の枠を生成する。具体的には、枠生成部３３は、図８Ｂの右側に示す矩形枠で示される画素塊の視差情報とラベルの左右端に基づいて、各ラインにおける枠を生成する。また、枠生成部３３は、各ラインの頻度積算値が最大になるライン位置における視差を距離に変換する。また、枠生成部３３は、生成したライン単位の枠を統合することにより、仮枠[１５]を生成する（図８Ｃ参照）。
【００６８】
なお、図８Ｂにおいては、画素塊を構成する画素[１]〜[５]のうちから任意に選択した画素の画素情報にそれぞれ対応するように、生成されたライン単位の枠［１］'〜［５］'が示されている。これは図示上の便宜を図るためであり、実際には、枠生成部３３は図８Ｂの右側に示す全画素に対応する枠を生成する。なお、図８Ｂにおいて［５］は、幅のある、車両の背面に対応する画素であるため、生成されるラインの枠も幅広となっている。また、図８Ｂの左側においては、生成されたライン単位の枠［１］'〜［５］'の高さを一定に保つように示されている。これは、路面からの高さの上限を設定した場合のＵマップを生成しているからである。例えば、Ｕマップを生成する際に高さ上限を３ｍに設定した場合、実際の車両の高さが３ｍ以上あったとしても、生成される枠の高さは３ｍを超えることはない。この実施形態においては、物体を検出するための検索対象領域を規定する検出枠を生成する場合、検出枠が、検索対象の物体である車両の全体を完全に囲む必要はない。
【００６９】
＜画像処理＞
次に、図９のフローチャート及び図１０〜図１３Ｂを参照して、一実施形態に係る画像処理を説明する。まず、画像処理装置３０は、ステレオカメラ１０で撮像された撮像画像から視差画像を生成する（ステップＳ１）。次に、マップ生成部３１は、生成された視差画像に基づいて、Ｖマップ、Ｕマップ又はリアルＵマップを生成する（ステップＳ２）。
【００７０】
検出部３２は、生成されたＵマップ又はリアルＵマップにおける画素塊を検出する（ステップＳ３）。枠生成部３３は、検出された画素塊に基づいて仮枠を生成する（ステップＳ４）。
【００７１】
画像処理装置３０は、生成された仮枠に基づいて物体の仮ボトムを決定する（ステップＳ５）。例えば、図１０に示すように、仮枠のボトム（下端）から所定の距離（例えばｐ[ｃｍ]）だけ下方の位置を、仮ボトム検索の検索開始位置とする。これは、例えばＶマップにより推定された路面が所定の位置より上にずれた場合にできる限り物体の下端に近い位置から検索を開始したいからである。画像処理装置３０は、検索開始位置から上方へ検索し、例えば１ラインに４カウント以上の視差情報があるとき、そのラインを物体の仮ボトムとして決定する。なお、単位[ｃｍ]が一例であることは言うまでもない。
【００７２】
次に、端部決定部３４は、物体の左右端を決定する（ステップＳ６）。例えば、図１１に示すように、端部決定部３４は、横方向の視差の頻度ヒストグラムに基づいて、仮枠の左右端の外側から、矢印ＲＬで示すように右から左へ、矢印ＬＲで示すように左から右へ検索する。次に、端部決定部３４は、所定の閾値以上の頻度を有するヒストグラムが所定数連続した場合に、その位置を物体の左右端として決定する。なお、端部決定部３４は、頻度が閾値に満たないヒストグラムについては、ノイズとして処理すればよい。
【００７３】
なお、上述したステップＳ６において、端部決定部３４は、左右端を決定するために検索する範囲を、仮ボトムからｑ[ｍｍ]又はトップからｒ[ｍｍ]、仮ボトムからｓ[ｍｍ]の範囲とすることが好ましい。これは、例えば、路面上の視差情報や、物体の上方にある他の物体等の視差情報の影響を受け難くするためである。
【００７４】
次に、端部決定部３４は、物体の上端を決定する（ステップＳ７）。例えば、図１２に示すように、端部決定部３４は、高さ方向の視差の頻度ヒストグラムに基づいて、仮枠の上端の外側から、矢印ＵＤで示すように検索する。次に、端部決定部３４は、所定の閾値以上の頻度を有するヒストグラムが所定数連続した場合に、その位置を物体の上端として決定する。なお、端部決定部３４は、頻度が閾値に満たないヒストグラムについては、ノイズとして処理すればよい。また、物体の上方にある他物体や物体の屋根等の形状等によって、閾値を可変させてもよい。
【００７５】
最後に、端部決定部３４は、物体の本ボトムを決定する（ステップＳ８）。例えば、図１３Ａ及び図１３Ｂに示すように、端部決定部３４は、仮ボトムを基準として上下に視差を検索し、１ラインの視差が所定数検出されたとき、その位置を物体の本ボトムとして決定する。
【００７６】
上述した画像処理を実行することにより、物体の検出処理の高速化と、物体の幅等の正確な把握の両立において、無駄な処理を極力低減させる等の望ましい効果を得ることができる。なお、上述した実施形態は、本発明の効果を得るための画像処理であり、本発明の課題を解決する画像処理が上述した実施形態に限定されるものではない。例えば、左右端の決定手順と上端の決定手順を入れ替えた画像処理を実行してもよい。
【００７７】
また、上述した実施形態においては、ステップＳ５において仮ボトムを決定する手順を行っているが、これを仮トップを決定する手順に代えてもよい。その場合、ステップＳ７の上端を決定する手順を、下端を決定する手順に代えてもよい。この場合、高さ方向の頻度ヒストグラムを下から上に検索することになる。さらに、その場合、ステップＳ８のボトムを決定する手順を、トップを決定する手順に代えてもよい。
【００７８】
なお、図１１では、横方向の頻度ヒストグラムを仮枠の左右から検索する手順を例に説明したが、これは検出処理の高速化のために有効な手順である。他方、これに限定されず、横方向の頻度ヒストグラムのｘ軸方向の中央から左右方向へ検索する手順としてもよい。
【００７９】
なお、上述した実施形態は、本発明の好適な実施形態であり、本発明の要旨を逸脱しない範囲内において種々の変更や変形が可能である。例えば、上述した実施形態の画像処理装置による画像処理を、ハードウェア、又は、ソフトウェア、あるいは、両者の複合構成を用いて実行することも可能である。
【００８０】
なお、ソフトウェアを用いて画像処理を実行する場合、画像処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させることが可能である。あるいは、各種処理が実行可能な汎用コンピュータに上述したプログラムをインストールして実行させることが可能である。
【００８１】
また、上述した実施形態においては、ステレオカメラを前提として記載しているが、これに限られない。例えば、レーザーレーダ等の距離情報と視差画像を組み合わせて距離画像を生成し、生成された距離画像に対して上述した実施形態の画像処理装置を適用することができる。
【００８２】
この国際出願は、日本特許庁に２０１６年３月１４日に出願された特許出願２０１６−０４９７９５号に基づく優先権を主張するものであり、その全内容をここに援用する。
【符号の説明】
【００８３】
１    車両
２    撮像ユニット
３    画像処理ユニット
４    制御ユニット
５    フロントガラス
１０    ステレオカメラ
１１Ｌ    左レンズ
１１Ｒ    右レンズ
１２Ｌ、１２Ｒ    画像センサ
１３Ｌ、１３Ｒ    画像センサコントローラ
２０    画像処理基板
２１    ＣＰＵ
２２    ＦＰＧＡ
２３    ＲＡＭ
２４    ＲＯＭ
２５    シリアルＩ／Ｆ
２６    データＩ／Ｆ
２７    データバス
２８    シリアルバス
３０    画像処理装置
３１    マップ生成部
３２    検出部
３３    枠生成部
３４    端部決定部
【図１】
0006743882.tif 000002
【図２】
0006743882.tif 000003
【図３】
0006743882.tif 000004
【図４Ａ】
0006743882.tif 000005
【図４Ｂ】
0006743882.tif 000006
【図５Ａ】
0006743882.tif 000007
【図５Ｂ】
0006743882.tif 000008
【図５Ｃ】
0006743882.tif 000009
【図６Ａ】
0006743882.tif 000010
【図６Ｂ】
0006743882.tif 000011
【図７Ａ】
0006743882.tif 000012
【図７Ｂ】
0006743882.tif 000013
【図７Ｃ】
0006743882.tif 000014
【図７Ｄ】
0006743882.tif 000015
【図８Ａ】
0006743882.tif 000016
【図８Ｂ】
0006743882.tif 000017
【図８Ｃ】
0006743882.tif 000018
【図９】
0006743882.tif 000019
【図１０】
0006743882.tif 000020
【図１１】
0006743882.tif 000021
【図１２】
0006743882.tif 000022
【図１３Ａ】
0006743882.tif 000023
【図１３Ｂ】
0006743882.tif 000024