特許第6423314号(P6423314)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日本自動車部品総合研究所の特許一覧 ▶ 株式会社デンソーの特許一覧 ▶ 学校法人トヨタ学園の特許一覧

<>
  • 特許6423314-対応点探索方法および距離測定装置 図000015
  • 特許6423314-対応点探索方法および距離測定装置 図000016
  • 特許6423314-対応点探索方法および距離測定装置 図000017
  • 特許6423314-対応点探索方法および距離測定装置 図000018
  • 特許6423314-対応点探索方法および距離測定装置 図000019
  • 特許6423314-対応点探索方法および距離測定装置 図000020
  • 特許6423314-対応点探索方法および距離測定装置 図000021
  • 特許6423314-対応点探索方法および距離測定装置 図000022
  • 特許6423314-対応点探索方法および距離測定装置 図000023
  • 特許6423314-対応点探索方法および距離測定装置 図000024
  • 特許6423314-対応点探索方法および距離測定装置 図000025
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6423314
(24)【登録日】2018年10月26日
(45)【発行日】2018年11月14日
(54)【発明の名称】対応点探索方法および距離測定装置
(51)【国際特許分類】
   G01C 3/06 20060101AFI20181105BHJP
【FI】
   G01C3/06 110V
   G01C3/06 140
【請求項の数】5
【全頁数】18
(21)【出願番号】特願2015-114134(P2015-114134)
(22)【出願日】2015年6月4日
(65)【公開番号】特開2017-3281(P2017-3281A)
(43)【公開日】2017年1月5日
【審査請求日】2017年10月19日
(73)【特許権者】
【識別番号】000004695
【氏名又は名称】株式会社SOKEN
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(73)【特許権者】
【識別番号】592032636
【氏名又は名称】学校法人トヨタ学園
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際特許業務法人
(72)【発明者】
【氏名】石丸 和寿
(72)【発明者】
【氏名】白井 孝昌
(72)【発明者】
【氏名】テヘラニニキネジャド ホセイン
(72)【発明者】
【氏名】三田 誠一
(72)【発明者】
【氏名】ロン チャン
(72)【発明者】
【氏名】シェ チーウェイ
【審査官】 櫻井 仁
(56)【参考文献】
【文献】 特開2009−282762(JP,A)
【文献】 特開2003−085566(JP,A)
【文献】 特開平05−256610(JP,A)
【文献】 米国特許出願公開第2012/0163703(US,A1)
【文献】 特開2001−148012(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 3/06
G01B 11/00−11/30
G06T 1/00
(57)【特許請求の範囲】
【請求項1】
視差を有する複数の画像を画像処理する画像処理装置(10)にて実行され、複数の画像間の対応点を探索する対応点探索方法(S10〜S100)であって、
予め設定された第1の手法を用いて前記複数の画像のうちの基準画像中の画素毎に前記複数の画像間の対応点を探索する第1探索工程(S50)と、
前記第1の手法とは異なる第2の手法を用いて前記複数の画像のうちの基準画像中の画素毎に前記複数の画像間の対応点を探索する第2探索工程(S60)と、
前記第1の手法において利用した基準画像を複数に区分した区分領域毎に、前記第1の手法による対応点の探索精度が基準値以上であるか否かを判定する探索精度判定工程(S70:S430)と、
前記探索精度が基準値以上である区分領域にて前記第1の手法による対応点を採用し、前記探索精度が基準値未満である区分領域にて前記第2の手法による対応点を採用することで、複数の画像間の対応点を設定する対応点設定工程(S420,S440)と、
を実施することを特徴とする対応点探索方法。
【請求項2】
請求項1に記載の対応点探索方法において、
前記対応点設定工程では、前記第1の手法によって得られた対応点を前記複数の画像間の対応点として設定し、前記探索精度が基準値未満である区分領域の対応点を前記第2の手法による対応点と入れ替えること
を特徴とする対応点探索方法。
【請求項3】
請求項1または請求項2に記載の対応点探索方法において、
前記第1探索工程では、
前記複数の画像のうちの基準画像中のある画素を表す基準画素における画素情報と、前記基準画像を除く他の画像中の画素を表す比較画素における画素情報と、の差異に基づく画素コストを、前記基準画素および前記比較画素を変更しつつ、前記基準画素毎に演算する画素コスト演算工程(S210)と、
前記基準画素を変更する際において前記基準画素と前記比較画素との座標差である視差の変化量に対するコストを表す視差コストを、前記基準画素毎に演算し、前記各基準画素に対して、前記画素コストと前記視差コストとに基づく総合コストが最小値となる際の比較画素との組み合わせを演算する最小コスト画素演算工程(S220〜S260)と、
前記各基準画素に対応する比較画素を、前記各基準画素に対応する対応点の候補として抽出する対応点抽出工程(S270)と、
を実施し、
前記最小コスト画素演算工程では、
前記基準画素および前記比較画素を複数の方向に沿って順に変更したときにおける合計コストが最小となるときの最小コストを演算し、方向毎に演算された最小コストを互いに加算した値を前記最小値とすること
を特徴とする対応点探索方法。
【請求項4】
請求項1〜請求項3の何れか1項に記載の対応点探索方法において、
前記第2探索工程では、オプティカルフローを用いて基準画像中の各画素に対応する画素を対応点の候補として抽出すること
を特徴とする対応点探索方法。
【請求項5】
視差を有する複数の撮像画像を用いて撮像画像中の物体までの距離を測定する距離測定装置(1)であって、
前記複数の撮像画像における各画素間の位置関係を対応付ける画素対応手段(S10〜S100)と、
前記各画素間の位置関係に基づいて物標までの距離を測定する測定手段(S110)と、
を備え、
前記画素対応手段は、請求項1〜請求項4の何れか1項に記載の対応点探索方法を用いて前記複数の撮像画像における各画素間の位置関係を対応付けること
を特徴とする距離測定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の画像間の対応点を探索する対応点探索方法、および対応点探索方法を利用する距離測定装置に関する。
【背景技術】
【0002】
上記の対応点探索方法として、例えば左右の撮像画像の水平方向にビタビアルゴリズムを適用し、対応点の探索を行うものが知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−08556号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、一般的に上記のような対応点探索方法では、利用する撮像画像によって良好に対応点を探索できる場合とそうでない場合とが生じる傾向がある。
そこで、このような問題点を鑑み、複数の画像間の対応点を探索する対応点探索方法において、利用する画像に拘わらず、より精度よく対応点の探索ができるようにすることを本発明の目的とする。
【課題を解決するための手段】
【0005】
本発明の対応点探索方法において、第1探索工程では、予め設定された第1の手法を用いて複数の画像のうちの基準画像中の画素毎に複数の画像間の対応点を探索する。また、第2探索工程では、第1の手法とは異なる第2の手法を用いて複数の画像のうちの基準画像中の画素毎に複数の画像間の対応点を探索する。
【0006】
そして、探索精度判定工程では、第1の手法において利用した基準画像を複数に区分した区分領域毎に、第1の手法による対応点の探索精度が基準値以上であるか否かを判定する。さらに、対応点設定工程では、探索精度が基準値以上である区分領域にて前記第1の手法による対応点を採用し、探索精度が基準値未満である区分領域にて第2の手法による対応点を採用することで、複数の画像間の対応点を設定する。
【0007】
すなわち、本発明の対応点探索方法では、複数の手法で対応点を探索し、ある手法での対応点の探索精度が基準値以上であればこの手法による対応点を採用し、この手法での対応点の探索精度が基準値未満であれば他の手法による対応点を採用する。
【0008】
このような対応点探索方法によれば、得られる画像によってある手法での精度が悪い場合に他の手法による対応点を採用するので、探索精度のよい対応点を採用できる確度を向上させることができる。
【0009】
なお、各請求項の記載は、可能な限りにおいて任意に組み合わせることができる。この際、一部構成を除外してもよい。
【図面の簡単な説明】
【0010】
図1】本発明が適用された距離検出装置1の概略構成を示すブロック図である。
図2】処理部10(CPU11)が実行する距離演算処理を示すフローチャートである。
図3】分解画像を生成する処理の一例を示す画像図である。
図4】距離演算処理のうちの対応点探索処理を示すフローチャートである。
図5】左右方向におけるコスト演算の概略を示す説明図である。
図6】SSIMを説明する模式図である。
図7】上下方向におけるコスト演算の概略を示す説明図である。
図8】斜め方向におけるコスト演算の概略を示す説明図である。
図9】高速処理の概略の示す説明図である。
図10】距離演算処理のうちの視差統合処理を示すフローチャートである。
図11】本実施形態による効果の一例を示す画像図である。
【発明を実施するための形態】
【0011】
以下に本発明にかかる実施の形態を図面と共に説明する。
[本実施形態の構成]
本発明が適用された距離検出装置1は、複数の撮像画像の視差を検出することによって撮像画像中の各点(物体)までの距離を検出する装置である。特に、本実施形態の距離検出装置1では、動的計画法であるビタビアルゴリズムを複数の方向に適用することで複数の撮像画像を構成する画素間の対応関係(視差)を高精度かつ低負荷で求めることができるよう配慮されている。また、オプティカルフローを併用することで、より精度よく距離を推定できるよう設定されている。
【0012】
詳細には、距離検出装置1は、乗用車等の車両に搭載されており、図1に示すように、処理部10と、2つの撮像部21,22と、車両制御部30とを備えている。なお、撮像部は2つに限られることなく、3以上設けられていてもよい。
【0013】
撮像部21,22は、それぞれ車両の進行方向が撮像範囲内となる周知のカメラとして構成されている。撮像部21,22は、中心軸が平行かつ水平方向に所定の距離だけ離れて配置されたステレオカメラを構成している。これらの撮像部21,22は、予め決まった時間で周期的に同時に撮像を行うよう設定されている。
【0014】
処理部10は、CPU11と、ROM、RAM等のメモリ12とを備えた周知のコンピュータとして構成されている。処理部10(CPU11)は、撮像部21,22によって撮像された撮像画像を取得する。そして、メモリ12に格納されたプログラムに基づいて後述する距離演算処理等の各種処理を実行する。
【0015】
車両制御部30は、処理部10による処理結果を利用して車両を制御する処理を行う。例えば、車両制御部30は、撮像部21,22による撮像範囲内の各点(各画素)における距離の情報を処理部10から取得し、この距離の情報に基づいて物体の位置および相対速度を認識する。そして、物体が走行に支障を来す虞がある場合、走行軌道を変更する車両制御を行う。
【0016】
[本実施形態の処理]
このように構成された距離検出装置1において、処理部10(CPU11)は、図2以下に示す距離演算処理を実施する。距離演算処理は、撮像画像中の各点までの距離を演算する処理である。距離演算処理は、例えば距離検出装置1の電源が投入されると開始され、その後、一定周期毎に繰り返し実施される。
【0017】
この処理では、まず、撮像部21,22によって撮像された撮像画像を取得する(S10)。続いて、撮像された画像を平行化する(S20)。ここで、画像の平行化とは、撮像画像のレンズによる画像の歪みや姿勢のずれを補正する処理等を示す。
【0018】
続いて、分解画像を生成する(S30)。ここで、分解画像とは、撮像画像に含まれる構造部または模様部を示す画像を表す。なお、構造部とは、撮像画像(図3(a)参照)中の物体等における大まかな輪郭や幾何構造を表し、図3(b)に具体例を示す。また、模様部とは、構造部に対してより細かな部分であって、撮像画像中の物体表面の模様等を表し、図3(c)に具体例を示す。
【0019】
この処理では、まず、構造部の画像をIs、撮像画像をIとして、以下の最小化を実施することによって構造部の画像を得る。
【0020】
【数1】
【0021】
なお、上記式(1)において、∇(ナブラ)Isの項は、構造部の画像の輝度の偏微分ができるだけ小さくなるようにするための項である。この項によって、輝度の変化が大きいエッジ部分のみが残るようになる効果が得られる。また、上記式(1)において、1/2θ(Is-I)2の項は、構造部の画像と撮像画像の輝度の差が小さくなるようにするための項である。この項によって、構造部の画像と撮像画像とにおける輝度の差が大きく異ならないようにする効果が得られる。
【0022】
続いて、模様部の画像をItとして、It=I-Isを演算することによって模様部の画像を得る。このようにして得られた構造部および模様部の画像は、メモリ12において記録される。
【0023】
続いて、ピラミッド画像を生成する(S40)。ピラミッド画像とは、1つの撮像画像から生成される解像度の異なる複数の画像を示す。例えば、撮像画像から、画像拡大率ηが1,1/2,1/4に設定された3種類の画像を生成し、これらをピラミッド画像としてメモリ12に記録させる。
【0024】
なお、以下の処理は、解像度が低い順(画像拡大率ηが小さい順)に、ピラミッド画像を構成するそれぞれの画像について実施される。また、ピラミッド画像は、撮像画像のみから生成されてもよいし、分解画像のそれぞれから生成されてもよい。
【0025】
続いて、オプティカルフローによる視差演算を行う(S50)。オプティカルフローによる視差演算では、ピラミッド画像のそれぞれに対して、公知の論文(A. Wedel, T. Pock, C. Zach, D. Cremers, and H. Bischof., An improved algorithm for tv - l1 optical flow. , Proc. of the Dagstuhl Motion Workshop, 2008.の2節)にて開示された論文中のオプティカルフローの式(論文中の式(5))を下記式(2)として用いることにより視差を求める。
【0026】
【数2】
【0027】
中括弧内の前側の項は輝度やコントラストを表すデータ項(マッチングコスト)である。データ項では、観測された輝度情報をもとにして左右画像の差が算出される。また、中括弧内の後側の項は、平滑化等を行うための正則化項である。正則化項では、▽u、▽vの変化が大きい場合に、その変化を抑制してノイズなどにロバストに解を推定できるようにするものである。本手法では、特に正則化項にTotal Generalized Variation(http://www.uni-graz.at/imawww/optcon/projects/bredies/tgv.html)にて提案されたLpノルムを用いる。特に、Lpノルムは0より大きく1未満の値に設定される。この構成によって、ノイズに対してロバストでかつシャープな輪郭部が得られる構成を実現する。
【0028】
ここで、データ項は、例えば、マッチング特徴量であるCensus transform(C)およびSSIM(SS) (Structural Simirality)を用いて、以下のよう表す。
【0029】
【数3】
【0030】
なお、この式では特徴量不変とする。
一方、正則化項は、下記式にて求める。
【0031】
【数4】
【0032】
なお、上記式(4)において、vはuの近似値を示し、また、α1、α2、β、γは定数を示す。また、nは画像の輝度勾配の向きに垂直なベクトルを示す。上記式(4)においては、構造部の画像輝度のエッジに対して垂直な成分が大きい点ならば、uとvとが大きくずれても許容される。構造部の画像輝度のエッジに対して垂直な成分が大きくない場合には、vの変化が抑制される。
【0033】
続いて、対応点探索処理を実施する(S60)。対応点探索処理は、基準画像(例えば撮像部21による撮像画像)を構成する各画素と比較画像(例えば撮像部22による撮像画像)を構成する各画素との対応関係、すなわち、同じものが写っている場所を関連付ける処理である。
【0034】
詳細には図4に示すように、まず、節点のコストを算出する(S210)。ここで、節点とは、図5(a)に示すように、基準画像の画素位置を横軸に取り、基準画像の画素位置と比較画像の画素位置との視差を縦軸に取ったマトリクスにおいて、このマトリクスを構成する要素(基準画像の画素位置と視差との関係)の1つ1つを示す。
【0035】
なお、この処理では、基準画像の画素位置毎に、比較画像の視差探索する範囲内にある画素に対するコストを算出する。また、この処理は、前述のオプティカルフローを用いた手法とは独立した処理である。
【0036】
ここで、ピクセル位置p,視差upのときの節点のコストをD(p,up)と表現する。また、コストD(p,up)は、下記SSIM(Structual Similarity)を用いて求める。
【0037】
【数5】
【0038】
なお、上記数式における各記号の定義については、図6に示す。また、上記数式中のα、β、γは、任意の定数である。
次に、ビタビアルゴリズムによるコストを求める(S220〜S260)。S220の処理では、コストExを下記の手順を実施することで求める。
【0039】
[手順1−1]
まず、基準画像の画素については、基準画像の左上の画素から右方向に順に選択し、右端まで選択し終わると、1段下の左端の画素を選択し、再び右方向に順に選択する処理を繰り返す。この際、比較画像については、基準画像の選択中の画素と同じ高さ(鉛直方向の位置)にある比較画像の画素を、左から右に向かう方向(右方向)に左端から右端まで順次選択する。すなわち、図5(b)に示すように、基準画像および比較画像についてそれぞれ水平方向(X方向)について選択する画素の座標を遷移させる。
【0040】
そして、比較画像の各画素について、視差(基準画像の画素の位置と比較画像の画素の位置の差)が大きくなるにつれてコストが大きくなるよう予め設定された関数を用いて視差コストS(up,uq)を求める。なお、S(up,uq)は、pからqに視差が変化する際の視差コストを示す。
【0041】
[手順1−2]
そして、節点のコストD(p,up)と、視差コストS(up,uq)とについてビタビアルゴリズムを適用する。
【0042】
【数6】
【0043】
上記式(ビタビアルゴリズムの式)では、前述のある節点について、図5(a)に示すマトリクスにおける左端の何れかの節点からその節点(ある節点)に至るまでの、節点のコストD(p,up)と、視差コストS(up,uq)との和、を示している。
【0044】
ここでは、節点毎に、このE(up)が最小となる節点コストおよび視差コストの組み合わせをビタビアルゴリズムを用いて求める。この演算によって得られるこれらのデータを右方向のコストとする。
【0045】
[手順1−3]
上記[手順1−1]〜[手順1−2]と同様の方法を、右から左に向かう方向(左方向)に適用することによって、ビタビアルゴリズムのコストを得る。この演算によって得られるこれらのデータを左方向のコストとする。
【0046】
[手順1−4]
上記の手順にて求めた右方向のコストと左方向のコストとを対応する節点同士で加算し、得られたデータを左右方向のコストExとしてメモリ12に記録させる。
【0047】
続いて、S230の処理では、コストEyを下記の手順を実施することで求める。
[手順2−1]
まず、図7(b)に示すように、各節点について、Y方向(画像の鉛直方向)からみた仮想的な平面を準備する。そしてこの平面に対応する画素を選択する。すなわち、基準画像の画素については、基準画像の左上の画素から下方向に順に選択し、下端まで選択し終わると、1段右側の上端の画素を選択し、再び下方向に順に選択する処理を繰り返す。この際、比較画像については、基準画像のうちの選択中の画素と同じ左右位置(水平方向の位置)にある比較画像の画素を、上から下に向かう方向(下方向)に上端から下端まで順次選択する。
【0048】
そして、この際の視差コストS(up,uq)を求める。
[手順2−2]
そして、計算済みの節点のコストD(p,up)と、視差コストS(up,uq)とに
ついてビタビアルゴリズムを適用する。
【0049】
ここでは、図7(a)に示すように、前述のビタビアルゴリズムの式を利用して、節点毎に、このE(up)が最小となる節点コストおよび視差コストの組み合わせを求める。この演算によって得られるこれらのデータを下方向のコストとする。
【0050】
[手順2−3]
上記[手順2−1]〜[手順2−2]と同様の方法を、下から上に向かう方向(上方向)に適用することによって、ビタビアルゴリズムのコストを得る。この演算によって得られるこれらのデータを上方向のコストとする。
【0051】
[手順2−4]
上記の手順にて求めた下方向のコストと上方向のコストとを対応する節点同士で加算し、得られたデータを上下方向のコストEyとしてメモリ12に記録させる。
【0052】
続いて、S240の処理では、コストEx−yを下記の手順を実施することで求める。
[手順3−1]
まず、図8(b)に示すように、各節点について、XY方向(画像の左下から45度斜め右上方向)からみた仮想的な平面を準備する。そしてこの平面に対応する画素を選択する。すなわち、基準画像の画素については、基準画像の左上の画素を選択し、45度右上の画素を順に選択する。
【0053】
そして、端部まで選択し終わると、左端の画素のうちの最も上段の画素を選択し、再び45度右上に順に選択する処理を繰り返す。この際、比較画像については、基準画像のうちの選択中の画素と対応する斜め方向に位置する画素を左下端から右上端まで順次選択する。
【0054】
そして、この際の視差コストS(up,uq)を求める。
[手順3−2]
そして、計算済みの節点のコストD(p,up)と、視差コストS(up,uq)とについてビタビアルゴリズムを適用する。
【0055】
ここでは、図8(a)に示すように、前述のビタビアルゴリズムの式を利用して、節点毎に、このE(up)が最小となる節点コストおよび視差コストの組み合わせを求める。この演算によって得られるこれらのデータを右斜め上方向のコストとする。
【0056】
[手順3−3]
上記[手順3−1]〜[手順3−2]と同様の方法を、右上から左斜め下に向かう方向に適用することによって、ビタビアルゴリズムのコストを得る。この演算によって得られるこれらのデータを右斜め下方向のコストとする。
【0057】
[手順3−4]
上記の手順にて求めた右斜め下方向のコストと右斜め上方向のコストとを対応する節点同士で加算し、得られたデータを右斜め方向のコストEx−yとしてメモリ12に記録させる。
【0058】
[手順4]
続いて、S250の処理では、コストEx+yを下記の手順を実施することで求める。この際には、[手順3−1]〜[手順3−4]と同様に、左斜め方向のコストEx+yを求め、メモリ12に記録させる。
【0059】
ここで、上記の各処理において、ビタビアルゴリズムのコストE(p,u)(Ex、Ey、Ex−y、Ex+y)は以下の式(13)で求められる。
【0060】
【数7】
【0061】
ただし、E(p,u)は、ピクセル位置p、ピクセル位置p−1との視差uの際のビタビアルゴリズムによるコスト、s(u,v)は、ピクセル位置p−1からピクセル位置pになるときに、視差がvからuに変化する際のコスト、D(p,u)は、ピクセル位置p、視差uのときの節点のコストを表す。
【0062】
図9に示す例では、例えば、左から右方向に向けて、ピクセル位置p-1からpへのビタビアルゴリズムのコストを演算する例を示している。ピクセル位置p, 視差uのビタビアルゴリズムのコストは、ピクセル位置p−1にある全ての節点から接続される経路の内で、最も小さい{Ep−1,v}+s(u,v)}に自ノードのD(p,u)を足したものになる。
【0063】
ここで、取り得る視差の範囲をm, 探索範囲(図9での矢印の本数)をn個とすると、ピクセル位置p−1からpへ遷移するためには、m×n回の探索を行う必要があるといえる。
【0064】
しかしながら、本実施形態においては、下記式を用いてE(p,u)を求める。
【0065】
【数8】
【0066】
この式(14)では、視差(u−1)かつピクセル位置pでのコストと、視差u、ピクセル位置(p−1)のコストと、節点のコストD(p,u)とを利用して、最適解を求めている。
【0067】
本実施形態において式(13)の代わりに式(14)を用いるのは、式(13)と式(14)とが等価であるからである。式(13)と式(14)とが等価であることを以下に証明する。
【0068】
【数9】
【0069】
式(15)について、E(p,u)は上記のように,minの部分について,{v=0,…,u−1}の範囲と{v=u}のときの2項比較と等価となる。また、式(16)は、式(13)におけるuを(u−1)に置換した定義と同様の式である。
【0070】
【数10】
【0071】
式(16)の右辺のDを左辺に移項することによって上記式(17)が得られ、さらに、この式(17)における両辺に−s(u−1,v)+s(u,v)を足すと以下の式(18)が得られる。
【0072】
【数11】
【0073】
そして、式(15)の右辺のmin{E(p−1,v)+s(u,v)}の部分を式(18)の左辺に置き換えると、E(p,u)は上記の式(14)で表される。つまり、2項の比較演算(min部分)と節点コストDとの足し算により算出できることが分かる。
【0074】
なお、上記においては、s(u, v)=u−vとしている。このように式(13)に換えて式(14)を用いてコストE(p,u)を求めることで、m×n回の探索を2m回の探索とすることができる。すなわち、処理を高速化することができる。
【0075】
続いて、図4に戻り、コストE(E(p,u))に従って、最小となる視差を選択し(S270)、基準画像における各画素と比較画像における各画素との対応関係をメモリ12に記録し(S280)、対応点探索処理を終了する。
【0076】
このような対応点探索処理が終了すると、図2に戻り、視差統合処理を実施する(S70)。視差統合処理は、距離を推定する際に、各画素について、オプティカルフローによる視差推定結果を利用するか、ビタビアルゴリズムによる視差推定結果を利用するかを設定する処理である。
【0077】
視差統合処理では、図10に示すように、まず、オクルージョン領域の判定を行う(S410)。ここでいうオクルージョン領域とは、ビタビアルゴリズムによる視差推定結果の信頼性が低い領域を示し、例えば、前述のコストEが比較的大きくなる領域(判定閾値以上となる領域)を示す。オクルージョン領域の判定の際には、判定を行う画像を任意に区分した区分領域毎に判定を行う。つまり、区分領域は、1画素のみから構成されていてもよいし、複数の画素から構成されてもよい。
【0078】
オクルージョン領域の判定を行う処理としては、例えば、Peter Sandらによる手法”Particle Video: Long-Range Motion Estimation using Point Trajectories”等を用いることができる。
【0079】
続いて、全ての画素について、取り敢えずはビタビアルゴリズムによる視差推定結果を利用するよう設定し(S420)、区分領域の何れかにおいてオクルージョン領域が存在するか否かを判定する(S430)。オクルージョン領域が存在していなければ(S430:NO)、S420の処理に移行する。
【0080】
また、オクルージョン領域が存在していれば(S430:YES)、オクルージョン領域である区分領域について、オプティカルフローによる視差推定結果を利用するよう設定する(S440)。つまり、オクルージョン領域について、ビタビアルゴリズムによる視差推定結果をオプティカルフローによる視差推定結果に入れ替える。このような処理が終了すると、視差統合処理を終了する。
【0081】
視差統合処理が終了すると、図2に戻り、各画素の視差について外れ値があるか否かを判定する(S80)。この処理では、例えば、ある画素における視差とこの画素の周囲に位置する画素における視差とがかけ離れている場合に、この画素の視差が外れ値であると判定する。例えば、この処理としては、“Secrets of Optical Flow Estimation and Their Principles”を採用することができる。
【0082】
外れ値があれば(S80:YES)、この外れ値を除去する(S90)。つまり、外れ値となった画素における視差の推定結果を削除する。この処理の後、S30の処理に戻る。
【0083】
また、外れ値がなければ(S80:NO)、平滑化を行う(S100)。この処理では、例えば、公知の手法である、D. Ferstl等による”Image Guided Depth Upsampling using anisotropic total generalized variation”による手法を応用する。
【0084】
すなわち、該公知手法による、下記式(21)におけるDsを、下記式(22)に示すように、各解像度で得られた視差情報levels_uで置き換える。
【0085】
【数12】
【0086】
【数13】
【0087】
なお、視差情報levels_uは、前段のピラミッド画像(解像度が1段階低い撮像画像)において推定された視差を示す。このような式(22)を採用して平滑化を行うことで、シャープなエッジを残しながら路面などの表面を滑らかに処理する構成にできる。
【0088】
続いて、各画素における対応点の視差に応じて各画素に写っている物体までの距離を算出する(S110)。そして、これらの画素と距離との対応データを車両制御部30に対して出力する(S120)。このような処理が終了すると、距離演算処理を終了する。
【0089】
ここで、距離演算処理によって出力される対応データは、画素毎に距離が対応付けられた距離画像となる。距離画像においては、濃淡によって距離が表現されており、濃度が高くなるにつれて距離が遠くなることを示す。距離画像の一例を図11(b)、図11(c)に示す。なお、図11(a)は、撮像画像であり、図11(b)は、本実施形態の手法による距離画像であり、図11(c)は、ビダビアルゴリズムのみによって得られた距離画像である。
【0090】
図11(c)に示すビアルゴリズムのみによって得られた距離画像では、図中の枠にて示す電話ボックス付近の領域がオクルージョン領域となっており、輪郭がぼやけている。一方、図11(b)に示す本実施形態の手法による距離画像では、電話ボックス付近の領域がより鮮明になっており、距離の推定精度が相対的に向上しているといえる。
【0091】
[本実施形態による効果]
上記の距離検出装置1において処理部10は以下に示す各工程を実施する。すなわち、第1探索工程では、予め設定された第1の手法を用いて複数の画像のうちの基準画像中の画素毎に複数の画像間の対応点を探索する(S50)。また、第2探索工程では、第1の手法とは異なる第2の手法を用いて複数の画像のうちの基準画像中の画素毎に複数の画像間の対応点を探索する(S60)。そして、探索精度判定工程では、第1の手法において利用した基準画像を複数に区分した区分領域毎に、第1の手法による対応点の探索精度が基準値以上であるか否かを判定する(S70:S430)。さらに、対応点設定工程では、探索精度が基準値以上である区分領域にて第1の手法による対応点を採用し、探索精度が基準値未満である区分領域にて第2の手法による対応点を採用することで、複数の画像間の対応点を設定する(S420,S440)。
【0092】
すなわち、本発明の対応点探索方法では、複数の手法で対応点を探索し、ある手法での対応点の探索精度が基準値以上であればこの手法による対応点を採用し、この手法での対応点の探索精度が基準値未満であれば他の手法による対応点を採用する。
【0093】
このような距離検出装置1によれば、得られる画像によってある手法での精度が悪い場合に他の手法による対応点を採用するので、探索精度のよい対応点を採用できる確度を向上させることができる。
【0094】
なお、上記実施形態の距離検出装置1において、第1の手法は区分領域毎の探索精度の差が比較的大きく異なり、第2の手法は区分領域毎の探索精度の差が第1の手法よりも小さいものが採用される。第2の手法による平均的な探索精度よりも第1の手法による探索精度が低い区分領域について第2の手法を採用するようにすればよい。
【0095】
また、上記の距離検出装置1において処理部10は、第1の手法によって得られた対応点を複数の画像間の対応点として設定し、探索精度が基準値未満である区分領域の対応点を第2の手法による対応点と入れ替える。
【0096】
このような距離検出装置1によれば、探索精度が低い部位のみ第2の手法による対応点と入れ替えるので、全体的に探索精度が高い場合に入れ替える処理を不要とすることができ、処理負荷を軽減することができる。
【0097】
また、上記の距離検出装置1において処理部10は、複数の画像のうちの基準画像中のある画素を表す基準画素における画素情報と、基準画像を除く他の画像中の画素を表す比較画素における画素情報と、の差異に基づく画素コストを、基準画素および比較画素を変更しつつ、基準画素毎に演算する(S210)。そして、基準画素を変更する際において基準画素と比較画素との座標差である視差の変化量に対するコストを表す視差コストを、基準画素毎に演算し、各基準画素に対して、画素コストと視差コストとに基づく総合コストが最小値となる際の比較画素との組み合わせを演算する(S220〜S260)。この際、基準画素および比較画素を複数の方向に沿って順に変更したときにおける合計コストが最小となるときの最小コストを演算し、方向毎に演算された最小コストを互いに加算または左から右,右から左といった方向ペア毎の計算ステップにおいてコストを畳込みした値を最小値とする。また、各基準画素に対応する比較画素を、各基準画素に対応する対応点の候補として抽出する(S270)。
【0098】
すなわち、距離検出装置1においては、第1探索工程にて複数の方向においてビダビアルゴリズムを採用したマルチパスビダビを用いる。このような距離検出装置1によれば、ビダビアルゴリズムが得意とする領域においては高精度に対応点を探索できる。
【0099】
また、上記の距離検出装置1において処理部10は、オプティカルフローを用いて基準画像中の各画素に対応する画素を対応点の候補として抽出する。
このような距離検出装置1によれば、オプティカルフローを用いることで全領域においてある程度の精度で対応点を探索できる。よって、第1の手法での精度がオプティカルフローを用いた精度を下回る場合にオプティカルフローを用いて得られた対応点を採用する構成とすることで対応点の探索精度を向上させることができる。
【0100】
また、上記の距離検出装置1において処理部10は、各画素間の位置関係に基づいて物体までの距離を測定する(S110)。
このような距離検出装置1によれば、前述の対応点探索方法を用いることで対応点の探索精度を向上させることができるので、物体までの距離を精度よく測定することができる。
【0101】
[その他の実施形態]
本発明は、上記の実施形態によって何ら限定して解釈されない。また、上記の実施形態の説明で用いる符号を特許請求の範囲にも適宜使用しているが、各請求項に係る発明の理解を容易にする目的で使用しており、各請求項に係る発明の技術的範囲を限定する意図ではない。上記実施形態における1つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を1つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を、課題を解決できる限りにおいて省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【0102】
上述した距離検出装置1の他、当該距離検出装置1を構成要素とするシステム、当該距離検出装置1としてコンピュータを機能させるためのプログラム、このプログラムを記録した媒体、距離検出方法、対応点探索方法など、種々の形態で本発明を実現することもできる。
【0103】
例えば、上記実施形態において、ピラミッド画像や分解画像のそれぞれについて、オプティカルフローによる視差推定、平滑化等の各処理を実施したが、これらの処理は、ピラミッド画像や分解画像の一部について実施してもよい。また、処理の種別毎に、利用する画像を変更してもよい。
【0104】
[実施形態の構成と本発明の手段との対応関係]
上記実施形態において処理部10は、本発明でいう画像処理装置に相当する。また、処理部10が実行する処理のうちのS10〜S100は、本発明でいう対応点探索方法および画素対応手段に相当する。
【0105】
また、上記実施形態においてS50の処理は本発明でいう第1探索工程に相当し、上記実施形態においてS60の処理は本発明でいう第2探索工程に相当する。また、上記実施形態においてS210の処理は本発明でいう画素コスト演算工程に相当し、上記実施形態においてS220〜S260の処理は本発明でいう最小コスト画素演算工程に相当する。
【0106】
また、上記実施形態においてS270の処理は本発明でいう対応点抽出工程に相当し、上記実施形態においてS110の処理は本発明でいう測定手段に相当する。また、上記実施形態においてS430の処理は本発明でいう探索精度判定工程に相当する。
【0107】
また、上記実施形態においてS420,S440の処理は本発明でいう対応点設定工程に相当する。
【符号の説明】
【0108】
1…距離検出装置、10…処理部、11…CPU、12…メモリ、21…撮像部、22…撮像部、30…車両制御部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11