(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、本発明の例示的な実施形態について図面を参照しながら説明する。
[1.第1実施形態]
[1−1.構成]
本発明が適用された距離検出装置1は、複数の撮像画像の視差を検出することによって撮像画像中の各点(歩行者、他車両等の立体物や路面等の任意の物体を表す物標)までの距離を検出する装置である。特に、本実施形態の距離検出装置1では、動的計画法であるビタビアルゴリズムを複数の方向に適用することで複数の撮像画像を構成する画素間の対応関係(視差)を高精度に求めることができるよう配慮されている。
【0011】
詳細には、距離検出装置1は、乗用車等の車両に搭載されており、
図1に示すように、処理部10と、2つの撮像部21,22と、車両制御部30とを備えている。なお、撮像部は2つに限られることなく、3以上設けられていてもよい。
【0012】
撮像部21,22は、それぞれ車両の進行方向が撮像範囲内となる周知のカメラとして構成されている。撮像部21,22は、中心軸が平行かつ水平方向に所定の距離だけ離れて配置されたカメラ群を表すステレオカメラを構成している。これらの撮像部21,22は、予め決まった時間で周期的に同時に撮像を行うよう設定されている。
【0013】
処理部10は、CPU11と、RAM、ROM、フラッシュメモリ等の半導体メモリ(以下、メモリ12)と、を有する周知のマイクロコンピュータを中心に構成される。処理部10の各種機能は、CPU11が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、メモリ12が、プログラムを格納した非遷移的実体的記録媒体に該当する。なお、非遷移的実体的記録媒体とは、記録媒体のうちの電波を除く任意のものである。
【0014】
また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、処理部10を構成するマイクロコンピュータの数は1つでも複数でもよい。処理部10は、CPU11がプログラムを実行することで実現される機能の構成として、距離演算機能を備える。
【0015】
距離演算機能は、後述する距離演算処理が実施されることによって実現される。処理部10において各種機能を実現する手法はソフトウェアに限るものではなく、その一部または全部の要素を、論理回路やアナログ回路等を組み合わせたハードウェアを用いて実現してもよい。
【0016】
車両制御部30は、処理部10による処理結果を利用して車両を制御する処理を行う。例えば、車両制御部30は、撮像部21,22による撮像範囲内の各点(各画素)における距離の情報を処理部10から取得し、この距離の情報に基づいて物標位置および相対速度を認識する。そして、物標が走行に支障を来す虞がある場合、走行軌道を変更する等の車両制御を行う。
【0017】
[1−2.処理]
このように構成された距離検出装置1において、処理部10、すなわちCPU11は、
図2以下に示す距離演算処理を実施する。距離演算処理は、撮像画像中の各点までの距離を演算する処理である。距離演算処理は、例えば距離検出装置1の電源が投入されると開始され、その後、一定周期毎に繰り返し実施される。
【0018】
この処理では、まず、S110にて、撮像部21,22によって撮像された撮像画像を取得する。この処理によって同期した一組の撮像画像が得られる。
続いて、S120にて、撮像された画像を平行化する。ここで、画像の平行化とは、撮像画像のレンズによる画像の歪みや姿勢のずれを補正する処理等を示す。
【0019】
続いて、S130にて、対応点探索処理を実施する。対応点探索処理は、基準画像(例えば撮像部21による撮像画像)を構成する各画素と比較画像(例えば撮像部22による撮像画像)を構成する各画素との対応関係、すなわち、同じものが写っている場所を関連付ける処理である。
【0020】
なお、基準画像における座標値に対して、比較画像において同じものが写っている座標値との水平方向の座標の差異を視差と呼ぶ。また、比較画像とは、一組の撮像画像のうちの基準画像を除く画像を表す。
【0021】
詳細には
図3に示すように、まずS210にて、節点コスト算出処理を実施する。ここで、節点とは、基準画像の画素位置を横軸に取り、基準画像の画素位置と比較画像の画素位置との視差を縦軸に取ったマトリクスにおいて、このマトリクスを構成する要素(基準画像の画素位置と視差との関係)の1つ1つを示す。
【0022】
なお、節点についての詳細は、上記特許文献1の
図4(a)に記載されているためここでの説明を省略する。また、この処理では、基準画像の画素位置毎に、比較画像の視差探索する範囲内にある画素に対するコストを算出する。すなわち、接点コスト算出処理は、基準画像おける画素を順に選択し、選択した画素毎に実施される。
【0023】
節点コスト算出処理では、
図4に示すように、まずS410にて、小領域を設定する。小領域とは、例えば、注目画素を含む周囲数画素の領域を表す。例えば小領域を、注目画素の周囲の2画素を含む領域とする場合、注目画素を中心に、5×5ピクセルの領域が小領域となる。なお、注目画素とは、基準画像を構成する画素のうちの、節点コスト算出処理の開始時において選択された画素を表す。
【0024】
続いて、S420にて、探索対象領域(以下、探索領域)を設定する。探索領域とは、
図5に示すように、小領域のさらに周囲に設けられた領域であって、基準画像の一部に注目画素の位置に応じて予め設定される。例えば、基準画像を32×32ピクセル毎に分割することで複数の領域を準備しておき、これらの領域のうちの注目画素が含まれる領域を探索領域とする。
【0025】
続いて、S430にて、類似領域を探索する。類似領域とは、注目画素が含まれる小領域における特徴量と類似する特徴量を有する領域である。特に、本実施形態では、小領域と同じ大きさである複数の領域が類似領域として探索される。
【0026】
詳細には、
図5に示すように、小領域と同じ大きさの領域を探索領域内において移動させつつ、この領域における特徴量と、小領域における特徴量とを比較する。ここで、特徴量とは、領域に含まれる画素群が有する画像としての特徴を表す。特徴量には、例えば、領域に含まれる画素群における輝度、色度、コントラスト、分散等の値が含まれうる。領域における特徴量では、各画素における特徴量の加算値や平均値等を採用しうる。
【0027】
このような移動する領域における特徴量と、小領域における特徴量とが概ね一致する場合、すなわち、特徴量の差分がある閾値未満である場合、その領域が類似領域として設定される。
図5に示す例では、SP1,SP2の2つの類似領域が設定されている。この際、小領域と、類似領域との位置関係は、メモリ12において記録される。
【0028】
なお、本実施形態においては、ある注目画素について探索された類似領域を、当該注目画素について設定された探索対象領域内に位置する他の注目画素の類似領域としても利用する。つまり、S430の処理は、探索領域毎に少なくとも1回だけ実施され、S430の処理が実施されないときには、既に得られた探索領域が利用される。この場合、例えば、探索領域の中央付近に位置する画素を最初に選択する選択画素とするとよい。
【0029】
続いて、S440にて、比較範囲を設定する。比較範囲とは、比較画像において注目画素に対応する比較画素を探索する範囲、つまり視差の探索範囲を示す。比較範囲は、注目画素と同座標値となる比較画像中の画素を中心に、予め設定された所定の範囲内に設定される。
【0030】
続いて、S450にて、比較範囲内から1つの画素を比較画素として選択する。続いて、S460にて、比較領域を設定する。比較領域とは、基準画像における小領域および類似領域に対応する比較画像中の領域である。
【0031】
比較領域は、小領域および類似領域の和と等しい画素数を有する。すなわち、比較領域を設定する際には、
図6に示すように、まず、比較画素を中心とする小領域と同じ大きさの領域を抽出し、この領域に対して、小領域および類似領域の位置関係と同じ位置関係となる複数の領域を比較画像から抽出する。これら抽出された領域の全てが比較領域として設定される。
【0032】
続いて、S470にて、比較特徴量および統合特徴量を算出する。ここで、比較特徴量とは、比較領域における特徴量を表す。また、統合特徴量とは、小領域における特徴量および類似領域における特徴量の和や平均値等、これらの特徴量から求められる特徴量を表す。
【0033】
続いて、S480にて、比較特徴量および統合特徴量の差を算出する。ここで、本実施形態においては、比較特徴量および統合特徴量の差として、SSIM(Structual Similarity)を求める。SSIMを求める際の定義は下記に示す。
【0034】
【数1】
上記定義を用いると、SSIMは以下の式で求めることができる。
【0035】
【数2】
なお、上記式中のl、c、s、C1、C2、C3、α、β、γは、任意の定数である。
【0036】
続いて、S490にて、この差の値、つまりSSIMを、注目画素についてのコスト、すなわち節点のコストD(p,up)として設定する。ここで、pは注目画素の位置、upは、視差の大きさを表す。
【0037】
続いて、S500にて、比較領域内に未選択の比較画素があるか否かを判定する。未選択の比較画素があれば、S510にて、未選択の比較画素のうちの1つを比較画素として選択し、S460の処理に戻る。この場合、S460〜S510の処理が繰り返され、
図6に示すように、比較画素を変更しながらコストDが求められることになる。また、未選択の比較画素がなければ、節点コスト算出処理を終了する。
【0038】
次に、S220〜S260にて、ビタビアルゴリズムによるコストEを求める。S220〜S260の処理は、上記特許文献1における段落[0022]〜[0052]の記載と同様であるため記載を省略する。
【0039】
続いて、S270にて、上記処理にて得られたコストE(E(p,u))が最小となる視差を選択する。続いて、S280にて、基準画像における各画素と比較画像における各画素との対応関係をメモリ12に記録し、対応点探索処理を終了する。
【0040】
このような対応点探索処理が終了すると、
図2に戻り、S140にて、各画素における対応点の視差に応じて各画素に写っている物標までの距離を算出する。そして、S150にて、これらの画素と距離との対応データを車両制御部30に対して出力し、距離演算処理を終了する。
【0041】
[1−3.効果]
以上詳述した第1実施形態によれば、以下の効果が得られる。
(1a)上記の距離検出装置1において処理部10は、同期して撮像を行う撮像部21,22から一組の撮像画像を取得し(S110)、一組の撮像画像のうちの1の画像である基準画像における画素を順に選択し、該基準画像にて選択された画素を表す注目画素を含む予め設定された範囲内を小領域として設定するように構成される(S410)。また、処理部10は、小領域における特徴量と類似する特徴量を有する類似領域を、基準画像中から探索するように構成される(S420、S430)。
【0042】
また、処理部10は、一組の撮像画像のうちの基準画像を除く画像である比較画像における予め設定された範囲内にある画素を順に選択し、該比較画像にて選択された画素を比較画素として、該比較画素を含む領域である比較領域における特徴量を表す比較特徴量と、小領域における特徴量および類似領域における特徴量から求められる統合特徴量と、の差異の大きさを、注目画素についてのコストとして求めるように構成される(S440〜S510)。また、処理部10は、基準画像における画素毎に、コストが最小となる画素を比較画像から探索することによって、基準画像における画素に対応する視差を求めるように構成される(S210〜S280)。
【0043】
このような距離検出装置1によれば、コストを求める際に、小領域における特徴量だけでなく、類似領域における特徴量も加味した統合特徴量を用いる。すなわち、より多くの情報を用いるので、ノイズに対する耐性を向上させることができる。よって、より精度よく視差を求めることができる。
【0044】
具体的には、例えば、
図7に示すような撮像画像について本処理を適用すると、
図8に示すような視差画像が得られる。特許文献1に示す構成で得られる
図9に示す視差画像と比較すると、
図8に示す視差画像では、路面や立体物がより鮮明に得られていることが分かる。よって、この視差画像を用いて物標の識別等を実施すれば、より正確に物標の位置や種別を認識することができる。
【0045】
(1b)上記の距離検出装置1において処理部10は、比較領域として、小領域および類似領域の和と等しい画素数を有する領域を設定する。
このような距離検出装置1によれば、比較特徴量と統合特徴量とのスケールを等しくすることができるので、比較特徴量と統合特徴量との差異をそのまま演算することができる。
【0046】
(1c)上記の距離検出装置1において処理部10は、比較領域として、小領域および類似領域の位置関係と同じ位置関係となる複数の領域を比較画像から抽出する。
このような距離検出装置1によれば、小領域および類似領域の位置関係と同じ位置関係になる領域を比較領域として抽出するので、比較特徴量と統合特徴量とを同じ条件で求めることができる。
【0047】
(1d)上記の距離検出装置1において処理部10は、基準画像におけるある端部に位置する画素を始点として、他の端部に位置する画素に対して動的計画法によりコストを積算することによって、コストが最小となる画素を探索する。
【0048】
このような距離検出装置1によれば、動的計画法により視差を求めるので、ある画素の視差を求める際に、近接する画素の視差も加味することができる。よって、より精度よく視差を求めることができる。特に、本実施形態では、動的計画法のうちのビタビアルゴリズムを利用するので、ノイズの影響をより軽減することができる。
【0049】
(1e)上記の距離検出装置1において処理部10は、類似領域を、基準画像の一部であって注目画素の位置に応じて予め設定された探索対象領域から探索する。
このような距離検出装置1によれば、類似領域を画像の一部から探索するので、画像全体から探索する構成と比較して処理負荷を軽減することができる。
【0050】
(1f)上記の距離検出装置1において処理部10は、ある注目画素について探索された類似領域を、当該注目画素について設定された探索対象領域内に位置する他の注目画素の類似領域としても利用する。
【0051】
このような距離検出装置1によれば、ある注目画素について探索された類似領域を他の注目画素の類似領域としても利用するので、類似領域を探索する際の処理負荷を軽減することができる。
【0052】
[2.他の実施形態]
以上、本発明を実施するための形態について説明したが、本発明は上述の実施形態に限定されることなく、種々変形して実施することができる。
【0053】
(2a)上記実施形態では、下記SSIMを用いて節点のコストD(p,up)を求めたが、SSIM以外の手法を用いて求めてもよい。例えば、輝度やコントラストの差のみ等から節点のコストをD(p,up)求めてもよい。
【0054】
(2b)上記実施形態では、ビタビアルゴリズムを用いてコストEを算出したが、例えば、節点のコストが最小となる視差を画素毎に選択するなど、その他の任意の手法を採用してもよい。また、動的計画法を採用する場合、ビタビアルゴリズム以外にも、例えば、SGM(Semi Global Matching)等の手法を採用してもよい。
【0055】
(2c)上記実施形態における1つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を1つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【0056】
(2d)上述した距離検出装置1の他、当該距離検出装置1を構成要素とするシステム、当該距離検出装置1としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、距離検出方法など、種々の形態で本発明を実現することもできる。
【0057】
[3.実施形態の構成と本発明の構成との関係]
上記実施形態において処理部10は本発明でいう視差検出装置の一例に相当し、上記実施形態において撮像部21,22は本発明でいうステレオカメラの一例に相当する。また、上記実施形態において処理部10が実行する処理のうちのS110の処理は本発明でいう画像取得部の一例に相当し、上記実施形態においてS210〜S280の処理は本発明でいう視差算出部の一例に相当する。
【0058】
また、上記実施形態においてS410の処理は本発明でいう小領域設定部の一例に相当し、上記実施形態においてS420、S430の処理は本発明でいう類似探索部の一例に相当する。また、上記実施形態においてS440〜S510の処理は本発明でいうコスト算出部の一例に相当する。