Nothing Special   »   [go: up one dir, main page]

JP6337504B2 - 画像処理装置、移動体、ロボット、機器制御方法およびプログラム - Google Patents

画像処理装置、移動体、ロボット、機器制御方法およびプログラム Download PDF

Info

Publication number
JP6337504B2
JP6337504B2 JP2014032287A JP2014032287A JP6337504B2 JP 6337504 B2 JP6337504 B2 JP 6337504B2 JP 2014032287 A JP2014032287 A JP 2014032287A JP 2014032287 A JP2014032287 A JP 2014032287A JP 6337504 B2 JP6337504 B2 JP 6337504B2
Authority
JP
Japan
Prior art keywords
image
pixel
value
parallax
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014032287A
Other languages
English (en)
Other versions
JP2015158749A (ja
Inventor
高橋 祐二
祐二 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2014032287A priority Critical patent/JP6337504B2/ja
Publication of JP2015158749A publication Critical patent/JP2015158749A/ja
Application granted granted Critical
Publication of JP6337504B2 publication Critical patent/JP6337504B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Studio Devices (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Description

本発明は、画像処理装置、移動体、ロボット、機器制御方法およびプログラムに関する。
近年、自動車間の距離、または自動車と障害物との間の距離等を測定することにより自動車の衝突防止を図る車載システムが一般的に利用されてきている。このような車載システムは、例えば、自動車の前方を監視し、歩行者、他車両または障害物等との距離を測定し、各種認識処理、または、他車両等に衝突する可能性がある場合には、ステアリングを制御して衝突を回避する操舵制御、もしくはブレーキを制御して衝突の回避をするブレーキ制御等を実行する。
そのような距離を測定する方法として、ステレオカメラを用い、三角測量の原理を用いたステレオマッチング処理が用いられている。ステレオマッチング処理とは、ステレオカメラの2つのカメラのうち、一方のカメラで撮像された基準画像と、他方のカメラで撮像された比較画像との間で対応する画素をマッチングすることにより視差を求め、視差からステレオカメラと、画像に含まれる物体との距離を算出する処理である。
上述のようなステレオマッチング処理として、2つのカメラにより撮像された一対の画像のある所定領域(ブロック)の相関値(評価値)を計算し、最も相関が高い所定領域の位置が特定できた際にその所定領域における画素間のシフト量を視差として算出するブロックマッチング処理がある。このようなブロックマッチング処理を用いた技術として、ブロックマッチング処理の際に画像のエッジ情報を利用したテクスチャ特性値を用いることによって、処理の高速化を実現する技術が提案されている(特許文献1参照)。
しかし、ブロックマッチング処理は比較的、高速かつ高精度に視差の演算が可能であるが、画像においてエッジ部分ではないテクスチャが弱い部分では、画像としての特徴を抽出することが困難であり、精度の高い視差を得ることができない場合がある。これに対し、ブロックマッチングのように、局所的な情報ではなく、画像全体の評価値を加味して視差値を求め、路面等のようにテクスチャの弱い部分においても精度よく視差を算出することができるデンスアルゴリズムであるSGM(Semi−Global Matching)法を用いた処理が提案されている(非特許文献1参照)。
しかしながら、SGM法等のデンスアルゴリズムを用いた処理(以下、デンス処理という)は、演算量がブロックマッチング処理よりも多く、処理工程が膨大でハードウェア等のリソースを多く必要とし、処理時間も多くかかる。したがって、リアルタイムに視差値を求めることが困難であり、認識処理の性能へ影響を与える可能性があるという問題点があった。
本発明は、上記に鑑みてなされたものであって、デンス処理を用いても認識処理の性能への影響を抑制する画像処理装置、移動体、ロボット、機器制御方法およびプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、第1撮像手段が被写体を撮像することにより得られた基準画像、および第2撮像手段が前記被写体を撮像することにより得られた比較画像を取得する取得手段と、前記基準画像および前記比較画像に基づいてデンス処理を実行し第1視差値を導出するデンス処理手段と、前記基準画像および前記比較画像に基づいてブロックマッチング処理を実行し第2視差値を導出するマッチング処理手段と、基準画像を構成する各画素が、エッジ部に相当する画素か非エッジ部に相当する画素かを検出し、その検出結果の情報である検出情報を出力する検出手段と、検出情報が、その検出情報に対応する基準画像の画素が非エッジ部に相当する画素であることを示す場合、その画素に対応する第1視差値を出力し、その検出情報に対応する基準画像の画素がエッジ部に相当する画素であることを示す場合、その画素に対応する第2視差値を出力する選択手段と、選択手段により出力された第1視差値および第2視差値によって視差画像を生成する生成手段と、を備えたことを特徴とする。
本発明によれば、デンス処理を用いても認識処理の性能への影響を抑制することができる。
図1は、撮像装置から物体物までの距離を導き出す原理を説明する図である。 図2は、基準画像、デンス視差画像およびエッジ視差画像を示す概念図である。 図3は、基準画像における基準画素に対応する比較画像における対応画素を求める場合の説明図である。 図4は、シフト量とコスト値との関係を示すグラフである。 図5は、合成コストを導出するための概念図である。 図6は、シフト量と合成コスト値との関係を示すグラフである。 図7は、第1の実施の形態に係る機器制御システムを車両に搭載した例を示す図である。 図8は、第1の実施の形態に係る視差値導出装置の外観の一例を示す図である。 図9は、第1の実施の形態に係る視差値導出装置のハードウェア構成の一例を示す図である。 図10は、第1の実施の形態に係る視差値導出装置のブロック構成の一例を示す図である。 図11は、第1の実施の形態に係る視差値導出装置により撮像された画像の一例を示す図である。 図12は、第1の実施の形態において基準画像の画素に対するデンス処理のスキャン動作を示す図である。 図13は、第1の実施の形態におけるシフト量と合成コスト値との関係を示すグラフである。 図14は、パラボラフィッティングによるサブピクセル推定を説明する図である。 図15は、最小二乗法によるサブピクセル推定を説明する図である。 図16は、サブピクセル推定を用いたデンス視差画像を示す概念図である。 図17は、第1の実施の形態に係る視差値導出装置のデンス処理によるステレオマッチング処理の動作フローの一例を示す図である。 図18は、第1の実施の形態に係る視差値導出装置のブロックマッチング処理によるステレオマッチング処理の動作フローの一例を示す図である。 図19は、第1の実施の形態に係る機器制御システムの処理のタイミングチャートを示す図である。 図20は、第2の実施の形態に係る機器制御システムの処理のタイミングチャートを示す図である。 図21は、第3の実施の形態に係る機器制御システムの処理のタイミングチャートを示す図である。 図22は、第4の実施の形態において基準画像の画素に対するデンス処理のスキャン動作を示す図である。 図23は、第4の実施の形態に係る機器制御システムの処理のタイミングチャートを示す図である。 図24は、第5の実施の形態において基準画像の画素に対するデンス処理のスキャン動作を示す図である。 図25は、第6の実施の形態に係る視差値導出装置のブロック構成の一例を示す図である。 図26は、第7の実施の形態に係る視差値導出装置のブロック構成の一例を示す図である。 図27は、非エッジ部を検出する動作の一例を示す図である。
[SGM法を用いた測距方法の概略]
まず、図1乃至図6を用いて、SGM法を用いた測距方法の概略について説明する。
(測距の原理)
図1は、撮像装置から物体物までの距離を導き出す原理を説明する図である。図1を参照しながら、ステレオマッチング処理により、ステレオカメラから物体に対する視差を導出し、この視差を示す視差値によって、ステレオカメラから物体までの距離を測定する原理について説明する。なお、以下では、説明を簡略化するため、所定領域(ブロック)のマッチングではなく、画素単位のマッチングの例について説明する。
図1に示す撮像システム(ステレオカメラ)は、平行等位に配置された撮像装置510aと撮像装置510bとを有するものとする。撮像装置510a、510bは、それぞれ、入射する光を屈折させて物体の像を固体撮像素子である画像センサ(図示せず)に結像させる撮像レンズ511a、511bを有する。撮像装置510aおよび撮像装置510bによって撮像された各画像を、それぞれ比較画像Iaおよび基準画像Ibとする。図1において、3次元空間内の物体E上の点Sは、比較画像Iaおよび基準画像Ibそれぞれにおいて、撮像レンズ511aと撮像レンズ511bとを結ぶ直線と平行な直線上の位置に写像される。ここで、各画像に写像された点Sを、比較画像Iaにおいて点Sa(x,y)とし、基準画像Ibにおいて点Sb(X,y)とする。このとき、視差値dpは、比較画像Ia上の座標における点Sa(x,y)と基準画像Ib上の座標における点Sb(X,y)とを用いて、以下の(式1)のように表される。
dp=X−x (式1)
また、図1において、比較画像Iaにおける点Sa(x,y)と撮像レンズ511aから撮像面上におろした垂線の交点との距離をΔaとし、基準画像Ibにおける点Sb(X,y)と撮像レンズ511bから撮像面上におろした垂線の交点との距離をΔbとすると、視差値dpは、dp=Δa+Δbと表すこともできる。
次に、視差値dpを用いることにより、撮像装置510a、510bと物体Eとの間の距離Zを導出する。ここで、距離Zは、撮像レンズ511aの焦点位置と撮像レンズ511bの焦点位置とを結ぶ直線から物体E上の点Sまでの距離である。図1に示すように、撮像レンズ511aおよび撮像レンズ511bの焦点距離f、撮像レンズ511aと撮像レンズ511bとの間の長さである基線長B、および視差値dpを用いて、下記の(式2)により、距離Zを算出することができる。
Z=(B×f)/dp (式2)
この(式2)により、視差値dpが大きいほど距離Zは小さく、視差値dpが小さいほど距離Zは大きくなることが分かる。
(SGM法)
次に、図2乃至図6を用いて、SGM法を用いた測距方法について説明する。
図2は、基準画像、デンス視差画像およびエッジ視差画像を示す概念図である。このうち、図2(a)は、基準画像を示し、図2(b)は、図2(a)に示す基準画像に対するデンス視差画像を示し、図2(c)は、図2(a)に示す基準画像に対するエッジ視差画像を示す概念図である。ここで、基準画像は、図1に示す基準画像Ibに相当し、撮像された被写体が輝度値によって表された画像である。また、デンス視差画像とは、基準画像の各画素を、SGM法によって導出された基準画像における各画素に対応する視差値で表した画像を示すものとする。そして、エッジ視差画像は、基準画像の各画素を、エッジ検出法によって導出された基準画像における各画素に対応する視差値で表した画像を示すものとする。ただし、エッジ検出法によって導出できる視差値は、後述するように、基準画像におけるエッジ部のような比較的テクスチャの強い部分であり、テクスチャの弱い部分のように視差値を導出できない場合は、例えば視差値を「0」として画像を構成する。
SGM法は、画像におけるテクスチャが弱い部分に対しても適切に視差値を導出するための方法であり、図2(a)に示す基準画像に基づいて、図2(b)に示すデンス視差画像を導出する方法である。なお、エッジ検出法は、図2(a)に示す基準画像に基づいて、図2(c)に示すエッジ視差画像を導出する方法である。SGM法によれば、図2(b)および図2(c)における破線の楕円内を比べると分かるように、デンス視差画像は、エッジ視差画像に比べてテクスチャが弱い道路等においても詳細な視差値に基づく距離を表すことができるため、より詳細な測距を行うことができる。
SGM法は、基準画像に対する比較画像上のコスト値を算出して直ちに視差値を導出せず、コスト値を算出後、さらに、合成コスト値を算出することで視差値を導出する方法である。そして、SGM法は、最終的に、基準画像におけるほぼ全ての画素に対応する視差値で表された視差画像(ここでは、デンス視差画像)を導出する。
なお、エッジ検出法の場合は、コスト値を算出する点はSGM法と同じであるが、SGM法のように、合成コスト値を算出せずに、エッジ部のような比較的テクスチャの強い部分の視差値のみを算出する。
<コスト値の算出>
図3は、基準画像における基準画素に対応する比較画像における対応画素を求める場合の説明図である。図4は、シフト量とコスト値との関係を示すグラフである。図3および図4を参照しながら、コスト値C(p,d)の算出方法について説明する。図3のうち、図3(a)は、基準画像における基準画素を示す概念図を示し、図3(b)は、図3(a)に示す基準画素に対応する比較画像における対応画素の候補となる候補画素を順次シフトしながら(ずらしながら)、候補画素のコスト値を算出する際の概念図である。ここで、対応画素とは、基準画像における基準画素に最も類似する比較画像における画素を示す。また、コスト値とは、基準画像における基準画素に対する、比較画像における各候補画素の非類似度を表す評価値である。すなわち、以下に示すコスト値(および合成コスト値)は、値が小さいほど比較画像における候補画素が基準画素と類似していることを示す。
図3(a)に示すように、基準画像Ibにおける所定の基準画素p(x,y)、および、基準画素p(x,y)に対する比較画像Iaにおけるエピポーラ線EL上の対応画素の候補である候補画素q(x+d,y)の各輝度値に基づいて、基準画素p(x,y)に対する対応画素の候補画素q(x+d,y)のコスト値C(p,d)が算出される。dは、基準画素pと候補画素qとのシフト量(ずれ量)であり、シフト量dは、画素単位でシフトされる。すなわち、図3では、候補画素q(x+d,y)を予め指定された範囲(例えば、0<d<25)において順次一画素分シフトしながら、候補画素q(x+d,y)と基準画素p(x,y)との輝度値の非類似度であるコスト値C(p,d)が算出される。
なお、上述のように、撮像装置510a、510bは、それぞれ平行等位に配置されるため、比較画像Iaおよび基準画像Ibも、それぞれ平行等位の関係にある。したがって、基準画像Ibにおける基準画素pに対応する比較画像Iaにおける対応画素は、図3に示すエピポーラ線EL上に存在することになり、比較画像Iaにおける対応画素を求めるためには、比較画像Iaのエピポーラ線EL上の画素を探索すればよい。
このようにして算出されたコスト値C(p,d)は、画素単位のシフト量dとの関係で、図4に示すグラフにより表される。図4の例では、コスト値Cは、シフト量d=5、12、19の場合が「0」となるため、最小値を求めることができない。例えば、画像におけるテクスチャが弱い部分がある場合には、このようにコスト値Cの最小値を求めることは困難になる。
<合成コスト値の算出>
図5は、合成コストを導出するための概念図である。図6は、シフト量と合成コスト値との関係を示すグラフである。図5および図6を参照しながら、合成コスト値Ls(p,d)の算出方法について説明する。
合成コスト値の算出は、SGM法に特有のものであり、コスト値C(p,d)の算出だけでなく、基準画素p(x,y)の周辺の画素を基準画素とした場合のコスト値を、基準画素p(x,y)におけるコスト値C(p,d)に集約させて、合成コスト値Ls(p,d)を算出するものである。合成コスト値Ls(p,d)を算出するためには、まず、経路コスト値Lr(p,d)を算出する。経路コスト値Lr(p,d)は、下記の(式3)によって算出する。
Lr(p,d)=C(p,d)+min(Lr(p−r,k)+P(d,k))
(式3)
(P=0(d=kの場合)、
P=P1(|d−k|=1の場合)、
P=P2(>P1)(|d−k|>1の場合))
(式3)に示すように経路コスト値Lrは、再帰的に求められる。ここで、rは、集約方向の方向ベクトルを示し、x方向およびy方向の2成分を有する。min()は、最小値を求める関数である。Lr(p−r,k)は、基準画素pの座標からr方向に1画素シフトした座標の画素について、シフト量を変化させた場合(この場合のシフト量をkとしている)のそれぞれの経路コスト値Lrを示す。そして、経路コスト値Lr(p−r,k)のうち、経路コスト値Lr(p,d)のシフト量であるdと、シフト量kとの間の関係に基づいて、下記の(1)〜(3)のように値P(d,k)を求め、Lr(p−r,k)+P(d,k)を算出している。
(1)d=kの場合、P=0とする。すなわち、Lr(p−r,k)+P(d,k)=Lr(p−r,k)となる。
(2)|d−k|=1の場合、P=P1とする。すなわち、Lr(p−r,k)+P(d,k)=Lr(p−r,k)+P1となる。
(3)|d−k|>1の場合、P=P2(>P1)とする。すなわち、Lr(p−r,k)+P(d,k)=Lr(p−r,k)+P2となる。
そして、min(Lr(p−r,k)+P(d,k))は、上述の(1)〜(3)で算出したLr(p−r,k)+P(d,k)のうち最小の値を抽出した値となる。すなわち、比較画像Iaにおける基準画素pの座標の位置にある画素からr方向において隣接する画素(p−r)からシフト量dだけシフトした画素から離れた場合に、値P1、または値P1よりも大きい値P2を加算することにより、比較画像Iaにおける基準画素pの座標から離れた画素の経路コスト値Lrの影響を受け過ぎないようにしている。また、値P1および値P2は、予め実験により定められた固定パラメータであり、経路上で隣接する基準画素の視差値が連続になりやすいようなパラメータになっている。例えば、P1=48、P2=96である。このように、比較画像Iaにおいてr方向の各画素における経路コスト値Lrを求めるために、最初は、基準画像p(x,y)の座標からr方向の一番端の画素から経路コスト値Lrを求め、r方向に沿って経路コスト値Lrが求められる。
そして、図5に示すように、8方向(r、r45、r90、r135、r180、r225、r270およびr315)の経路コスト値LrであるLr、Lr45、Lr90、Lr135、Lr180、Lr225、Lr270およびLr315が求められ、最終的に下記の(式4)に基づいて、合成コスト値Ls(p,d)が求められる。
Ls(p,d)=ΣLr (式4)
以上のようにして、算出された合成コスト値Ls(p,d)は、シフト量dとの関係で、図6に示すグラフによって表すことができる。図6の例では、合成コスト値Lsは、シフト量d=3の場合が最小値となるため、視差値dp=3として導出される。なお、上述の説明においては、r方向の数を8個として説明しているが、これに限定されるものではない。例えば、8方向をさらに2つに分割して16方向、または、3つに分割して24方向等にしてもよい。あるいは、8方向のうちのいずれかの経路コスト値Lrを求め、合成コスト値Lsを算出するものとしてもよい。
以下に、図面を参照しながら、本発明に係る画像処理装置、移動体、ロボット、機器制御方法およびプログラムの実施の形態を詳細に説明する。ここでは、ステレオマッチング処理を行う視差値導出装置1が自動車に搭載される場合を例に説明する。また、以下の実施の形態によって本発明が限定されるものではなく、以下の実施の形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施の形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換および変更を行うことができる。
[第1の実施の形態]
(視差値導出装置を備えた車両の概略構成)
図7は、第1の実施の形態に係る機器制御システムを車両に搭載した例を示す図である。図7を参照しながら、本実施の形態に係る機器制御システム50を搭載した車両100について説明する。図7のうち、図7(a)は、機器制御システム50を搭載した車両100の側面図であり、図7(b)は、車両100の正面図である。
図7に示すように、自動車である車両100は、機器制御システム50を備えている。機器制御システム50は、居室空間である車室に設置された視差値導出装置1と、制御装置5と、ステアリングホイール6と、ブレーキペダル7と、を備えている。なお、機器制御システム50および視差値導出装置1は、いずれも「画像処理装置」として機能するものとする。
視差値導出装置1は、車両100の進行方向を撮像する撮像機能を有し、例えば、車両100のフロントウィンドウ内側のバックミラー近傍に設置される。視差値導出装置1は、詳細は後述するが、本体2と、本体2に固定された撮像部10a(第1撮像手段)と、撮像部10b(第2撮像手段)とを備えている。撮像部10a、10bは、車両100の進行方向の被写体を撮像できるように本体2に固定されている。
制御装置5は、視差値導出装置1から受信した視差画像の画像データに基づいて求まる視差値導出装置1から被写体までの距離情報により、各種認識処理および各種車両制御を実行する。制御装置5は、認識処理の例として、状態の変化が大きい人物、標識、車両、その他の障害物(第2被写体)を認識する物体認識処理、または、道路の路面等のテクスチャの弱い等の状態の変化が小さい部分(第1被写体)を認識する路面認識処理等を実行する。制御装置5は、車両制御の例として、視差値導出装置1から受信した視差画像の画像データに基づいて、ステアリングホイール6を含むステアリング系統(制御対象)を制御して障害物を回避するステアリング制御、または、ブレーキペダル7(制御対象)を制御して車両100を減速および停止させるブレーキ制御等を実行する。なお、状態の変化が大きい被写体とは、例えば、人物、標識および車両等のように、画像の中で位置の変動の度合いが大きい被写体、またはテクスチャの強い被写体等を示すものとする。
このような視差値導出装置1および制御装置5を含む機器制御システム50のように、物体認識処理および路面認識処理等の認識処理、ならびにステアリング制御またはブレーキ制御等の車両制御が実行されることによって、車両100の運転の安全性を向上することができる。
なお、上述のように、視差値導出装置1は、車両100の前方を撮像するものとしたが、これに限定されるものではない。すなわち、視差値導出装置1は、車両100の後方または側方を撮像するように設置されるものとしてもよい。この場合、視差値導出装置1は、車両100の後方の後続車、または側方を並進する他の車両等の距離を検出することができる。そして、制御装置5は、車両100の車線変更時または車線合流時等における危険を検知して、上述の車両制御を実行することができる。また、制御装置5は、車両100の駐車時等におけるバック動作において、視差値導出装置1によって検出された車両100の後方の障害物の視差画像に基づいて、衝突の危険があると判断した場合に、上述の車両制御を実行することができる。
(視差値導出装置の構成)
図8は、第1の実施の形態に係る視差値導出装置の外観の一例を示す図である。図8に示すように、視差値導出装置1は、上述のように、本体2と、本体2に固定された撮像部10aと、撮像部10bとを備えている。撮像部10a、10bは、本体2に対して平行等位に配置された一対の円筒形状のカメラで構成されている。また、説明の便宜上、図8に示す撮像部10aを「左」のカメラと称し、撮像部10bを「右」のカメラと称するものとする。
<視差値導出装置のハードウェア構成>
図9は、本実施の形態に係る視差値導出装置のハードウェア構成の一例を示す図である。図9を参照しながら、視差値導出装置1のハードウェア構成について説明する。
図9に示すように、視差値導出装置1は、本体2と、撮像部10aと、撮像部10bと、信号変換部20aと、信号変換部20bと、画像処理部30と、を備えている。
本体2は、視差値導出装置1の筐体を構成するものであり、撮像部10a、10bを固定して支持し、信号変換部20a、20bおよび画像処理部30を内蔵する。
撮像部10aは、前方の被写体を撮像してアナログ形式の画像データを生成する処理部である。撮像部10aは、撮像レンズ11aと、絞り12aと、画像センサ13aと、を備えている。
撮像レンズ11aは、入射する光を屈折させて物体の像を画像センサ13aに結像させるための光学素子である。絞り12aは、撮像レンズ11aを通過した光の一部を遮ることによって、画像センサ13aに結像される光の量を調整する部材である。画像センサ13aは、撮像レンズ11aに入射し、絞り12aを通過した光を電気的なアナログ形式の画像データに変換する固体撮像素子である。画像センサ13aは、例えば、CCD(Charge Coupled Devices)またはCMOS(Complementary Metal Oxide Semiconductor)によって実現される。
撮像部10bは、前方の被写体を撮像してアナログ形式の画像データを生成する処理部である。撮像部10bは、撮像レンズ11bと、絞り12bと、画像センサ13bと、を備えている。撮像レンズ11b、絞り12bおよび画像センサ13bの機能は、それぞれ上述した撮像レンズ11a、絞り12aおよび画像センサ13aの機能と同様である。また、撮像レンズ11aおよび撮像レンズ11bは、それぞれのレンズ面が互いに同一平面内になるように設置されている。
信号変換部20aは、撮像部10aにより生成されたアナログ形式の画像データを、デジタル形式の画像データに変換する処理部である。信号変換部20aは、CDS(Correlated Double Sampling)21aと、AGC(Auto Gain Control)22aと、ADC(Analog Digital Converter)23aと、フレームメモリ24aと、を備えている。
CDS21aは、画像センサ13aにより生成されたアナログ形式の画像データに対して、相関二重サンプリング、横方向の微分フィルタ、および縦方向の平滑フィルタ等によりノイズを除去する。AGC22aは、CDS21aによってノイズが除去されたアナログ形式の画像データの強度を制御する利得制御を行う。ADC23aは、AGC22aによって利得制御されたアナログ形式の画像データをデジタル形式の画像データに変換する。フレームメモリ24aは、ADC23aによって変換された画像データを記憶する。
信号変換部20bは、撮像部10bにより生成されたアナログ形式の画像データを、デジタル形式の画像データに変換する処理部である。信号変換部20bは、CDS21bと、AGC22bと、ADC23bと、フレームメモリ24bと、を備えている。CDS21b、AGC22b、ADC23bおよびフレームメモリ24bの機能は、それぞれ上述したCDS21a、AGC22a、ADC23aおよびフレームメモリ24aの機能と同様である。
画像処理部30は、信号変換部20aおよび信号変換部20bによって変換された画像データに対して画像処理を実行する装置である。画像処理部30は、FPGA(Field Programmable Gate Array)31と、CPU(Central Processing Unit)32と、ROM(Read Only Memory)33と、RAM(Random Access Memory)34と、通信I/F(Interface)35と、CANC(CAN Controller)36と、バス39と、を備えている。
FPGA31は、集積回路であり、ここでは、画像データに基づく画像における視差値を導出する処理を行う。CPU32は、視差値導出装置1の各機能を制御する。ROM33は、CPU32が視差値導出装置1の各機能を制御するために実行する画像処理用プログラムを記憶している。RAM34は、CPU32のワークエリアとして使用される。通信I/F35は、外部コントローラ等と通信するためのインターフェースであり、例えば、図9に示すような画像表示装置3が接続される。CANC36は、CAN(Controller Area Network)プロトコルに基づいて、他の制御装置(ECU(Electronic Control Unit))等と通信を行い、例えば、図7に示すような制御装置5と接続される。なお、CANC36は、CANプロトコルによる通信を行うことに限定されるものではなく、例えば、FlexRayプロトコルによる通信を行うものとしてもよい。バス39は、図9に示すように、FPGA31、CPU32、ROM33、RAM34、通信I/F35およびCANC36を互いに電気的に接続するアドレスバスおよびデータバス等である。
なお、FPGA31は、FPGAであることに限定されるものではなく、例えば、ASIC(Application Specific Integrated Circuit)もしくはDSP(Digital Signal Processor)によって構成、または、これらを組み合わせて構成されてもよい。
図9に示す画像表示装置3は、液晶ディスプレイ、有機EL(Electro−Luminescence)ディスプレイ、またはHUD(Head Up Display)等の表示装置である。画像表示装置3は、信号変換部20a、20bにより変換された画像データに基づく画像、または、FPGA31により導出された視差値で表された視差画像等を表示する。視差画像を表示する方法としては、例えば、視差画像上のそれぞれの視差値(またはそれに基づく距離情報)に応じて異なる色で表示する方法等がある。
<視差値導出装置のブロック構成および各ブロックの動作>
図10は、第1の実施の形態に係る視差値導出装置のブロック構成の一例を示す図である。図11は、第1の実施の形態に係る視差値導出装置により撮像された画像の一例を示す図である。図12は、第1の実施の形態において基準画像の画素に対するデンス処理のスキャン動作を示す図である。図13は、第1の実施の形態におけるシフト量と合成コスト値との関係を示すグラフである。図14は、パラボラフィッティングによるサブピクセル推定を説明する図である。図15は、最小二乗法によるサブピクセル推定を説明する図である。図16は、サブピクセル推定を用いたデンス視差画像を示す概念図である。図10乃至図16を参照しながら、視差値導出装置1の要部のブロック構成および各ブロックの動作について説明する。
図10に示すように、視差値導出装置1は、画像取得部110(取得手段)と、フィルタ部210と、補正部310と、第1記憶部350と、視差値演算部300(デンス処理手段、マッチング処理手段)と、第2記憶部360と、視差画像生成部370(生成手段)と、を備えている。視差画像生成部370の出力側には、認識処理部410が接続されている。
画像取得部110は、左右2台のカメラにより前方の被写体を撮像して、それぞれアナログ形式の画像データを生成し、各画像データ基づく画像である2つの輝度画像を得る処理部である。画像取得部110により撮像された輝度画像の例を、図11に示す。図11は、2つの輝度画像のうち基準画像Ibの例として示したものであり、図11に示す基準画像Ibには、例えば、人物の画像である画像部Img1、車両の画像である画像部Img2、および道路の路面の画像である画像部Img3等を含む。画像取得部110は、図9に示す撮像部10aおよび撮像部10bによって実現される。
フィルタ部210は、画像取得部110により得られた2つの輝度画像の画像データに対して、ノイズを除去し、デジタル形式の画像データに変換して出力する。ここで、フィルタ部210が出力する2つの輝度画像の画像データ(以下、単に「輝度画像」と称する)のうち、画像取得部110の右のカメラ(撮像部10b)により撮像された基準画像Ibの画像データ(以下、単に「基準画像Ib」という)とし、左のカメラ(撮像部10a)により撮像された比較画像Iaの画像データ(以下、単に「比較画像Ia」という)とする。すなわち、フィルタ部210は、画像取得部110から出力された2つの輝度画像に基づいて、基準画像Ibおよび比較画像Iaを出力する。フィルタ部210は、図9に示す信号変換部20a、20bによって実現される。
補正部310は、フィルタ部210から入力した2つの画像(比較画像Ia、基準画像Ib)に対して、撮像部10aと撮像部10bとの間の光学的なずれ、および幾何学的なずれを補正し、補正した比較画像Iaおよび基準画像Ibを出力する。補正部310は、図9に示すFPGA31によって実現される。
第1記憶部350は、補正部310から出力された比較画像Iaおよび基準画像Ibを一時記憶する記憶部である。第1記憶部350は、図9に示すRAM34によって実現される。なお、第1記憶部350は、図9において図示しないHDD(Hard Disk Drive)等の外部記憶装置によって実現されるものとしてもよい。
視差値演算部300は、比較画像Iaおよび基準画像Ibに対して、ステレオマッチング処理であるデンス処理およびブロックマッチング処理を実行する処理部である。視差値演算部300は、第1コスト算出部320(第1算出手段)と、コスト合成部330(合成手段)と、第1サブピクセル推定部340(第1導出手段)と、第2コスト算出部321(第2算出手段)と、第2サブピクセル推定部341(第2導出手段)と、を含んでいる。視差値演算部300は、図9に示すFPGA31によって実現され、本実施の形態では、視差値演算部300に含まれる上述の各処理部は、共通のハードウェア回路(集積回路)によって実現されているものとする。視差値演算部300のうち、第1コスト算出部320、コスト合成部330および第1サブピクセル推定部340は、後述する動作により、比較画像Iaおよび基準画像Ibに対してデンス処理を実行する。また、視差値演算部300のうち、第2コスト算出部321および第2サブピクセル推定部341は、後述する動作により、比較画像Iaおよび基準画像Ibに対してブロックマッチング処理を実行する。
第1コスト算出部320は、基準画像Ibにおける基準画素p(x,y)(第1基準領域)の輝度値、および、基準画素p(x,y)に基づく比較画像Iaにおけるエピポーラ線上で、基準画素p(x,y)の位置に相当する画素からシフト量dでシフトすることにより特定される、対応画素の候補である候補画素q(x+d,y)(第1候補領域)の各輝度値に基づいて、各候補画素q(x+d,y)の第1コスト値C1(p,d)を算出する。第1コスト算出部320が算出する第1コスト値C1としては、例えば、SAD(Sum of Absolute Differences)、またはSSD(Sum of Squared Differences)等を用いることができる。第1コスト算出部320は、上述のように、基準画像Ibにおける基準画素pごとに、比較画像Iaにおける各候補画素qの第1コスト値C1を算出していく。この場合、第1コスト算出部320は、図12に示すように、ラスタースキャンの要領で、基準画像Ibにおいて基準画素pを左上の画素から水平方向に一画素ずつ移動させつつ、かつ垂直方向に移動させながら、各基準画素pに対応する比較画像Iaにおける第1コスト値C1を算出していく。そして、シフト量dと、第1コスト算出部320により算出された第1コスト値C1との関係を示すグラフの例が、上述した図4に示すグラフにおいてコスト値Cを第1コスト値C1に置き換えたものである。
コスト合成部330は、基準画像Ibにおける基準画素p(x,y)の周辺の画素を基準画素とした場合のその基準画素(第2基準領域)についての比較画像Iaにおける画素の第1コスト値C1を、第1コスト算出部320により算出された候補画素q(x+d,y)の第1コスト値C1(p,d)に集約させて、候補画素q(x+d,y)の合成コスト値Ls(p,d)を算出する。コスト合成部330は、画素単位にシフトするシフト量dに基づいて合成コスト値Ls(p,d)を算出する。コスト合成部330は、合成コスト値Lsを算出するために、まず、上述の(式3)によって、所定のr方向の経路コスト値Lr(p,d)を算出する。次に、コスト合成部330は、図5および図12に示したように、8方向の経路コスト値LrであるLr、Lr45、Lr90、Lr135、Lr180、Lr225、Lr270およびLr315を算出し、最終的に上述の(式4)に基づいて、合成コスト値Ls(p,d)を算出する。そして、画素単位のシフト量dと、コスト合成部330により算出された合成コスト値Lsとの関係を示すグラフが、図13に示すグラフである。図13に示すように、合成コスト値Lsは、シフト量d=3のとき最小値となる。
第1サブピクセル推定部340は、コスト合成部330により算出された、基準画像Ibにおける基準画素についての比較画像Iaにおける画素の合成コスト値Lsの最小値(第1極値)に対応するシフト量d、およびそれに隣接するシフト量dにおける合成コスト値Lsに基づいて、サブピクセル推定を実行する。図13に示す合成コスト値Lsのグラフは、上述のように、画素単位のシフト量dに対する合成コスト値Lsのグラフである。図13に示すグラフの合成コスト値Lsの最小値は、画素単位のシフト量d=3における合成コスト値Lsということになる。すなわち、図13に示すような画素単位のシフト量dに対する合成コスト値Lsのグラフにおいては、視差値として画素単位の値を導出することしかできないことになる。ここで、サブピクセル推定とは、視差値を画素単位の値ではなく、画素より小さい単位(以下、サブピクセル単位という)の視差値を第1視差値dp1として推定して導出するものである。
まず、図14を参照しながら、第1サブピクセル推定部340がパラボラフィッティングによるサブピクセル推定を実行する場合について説明する。第1サブピクセル推定部340は、コスト合成部330によって算出された合成コスト値Lsのグラフ(図13)において、合成コスト値Lsが最小となるシフト量dの値を求める。図13の例では、シフト量d=3の場合が、合成コスト値Lsが最小となる。次に、第1サブピクセル推定部340は、シフト量d=3に隣接するシフト量dを求める。具体的には、シフト量d=2,4である。次に、第1サブピクセル推定部340は、図13に示すシフト量dと合成コスト値Lsとのグラフにおいて、図14に示すように、シフト量d=2,3,4である3点を通る下に凸の2次曲線を求める。そして、第1サブピクセル推定部340は、その2次曲線の極小値に対応するサブピクセル単位のシフト量dが第1視差値dp1であると推定する。
次に、図15を参照しながら、第1サブピクセル推定部340が最小二乗法によるサブピクセル推定を実行する場合について説明する。第1サブピクセル推定部340は、コスト合成部330によって算出された合成コスト値Lsのグラフ(図13)において、合成コスト値Lsが最小となるシフト量dの値を求める。図13の例では、シフト量d=3の場合が、合成コスト値Lsが最小となる。次に、第1サブピクセル推定部340は、シフト量d=3の近傍の4つのシフト量dを求める。具体的には、シフト量d=1,2,4,5である。次に、第1サブピクセル推定部340は、図13に示すシフト量dと合成コスト値Lsとのグラフにおいて、図15に示すように、最小二乗法によってシフト量d=1〜5である5点の近傍を通る下に凸の2次曲線を求める。そして、第1サブピクセル推定部340は、その2次曲線の極小値に対応するサブピクセル単位のシフト量dが第1視差値dp1であると推定する。
第1サブピクセル推定部340は、図14に示すパラボラフィッティングによるサブピクセル推定、または、図15に示す最小二乗法によるサブピクセル推定のいずれかによって、第1視差値dp1を推定して導出する。
以上のように、コスト合成部330によって合成コスト値Lsが算出され、さらに、第1サブピクセル推定部340によって合成コスト値Lsのグラフについてサブピクセル推定が実行されるものとしている。これによって、輝度画像にテクスチャが弱い部分がある場合においても、精度よく視差値を導出することができ、かつ、サブピクセル単位で視差値を推定するので密な視差値を導出することができる。
なお、サブピクセル推定は、上述のパラボラフィッティングによるもの、または、最小二乗法によるものに限定されるものではなく、その他の方法によるサブピクセル推定であってもよい。例えば、第1サブピクセル推定部340は、図14に示す3点を用いて、2次曲線ではなく、3点を通る等角直線を求めて視差値を推定する等角直線フィッティングによりサブピクセル推定を実行するものとしてもよい。
また、最小二乗法によるサブピクセル推定において、図15に示すグラフ上の5点を用いて2次曲線を求めるものとしたが、これに限定されるものではなく、異なる数の点を用いて2次曲線を求めるものとしてもよい。
また、第1サブピクセル推定部340によるサブピクセル推定によってサブピクセル単位の第1視差値dp1を算出することに限定されるものではなく、サブピクセル推定の実行はせずに、画素単位の第1視差値dp1を算出するものとしてもよい。この場合、第1サブピクセル推定部340は、コスト合成部330により算出された、基準画像Ibにおける基準画素についての比較画像Iaにおける画素の合成コスト値Lsの最小値に対応するシフト量dを第1視差値dp1とすればよい。
第2コスト算出部321は、基準画像Ibにおける基準画素p(x,y)を含む所定領域(ブロック)(第3基準領域)の輝度値、および、基準画素p(x,y)に基づく比較画像Iaにおけるエピポーラ線上で、基準画素p(x,y)の位置に相当する画素からシフト量dでシフトすることにより特定される、対応画素の候補である候補画素q(x+d,y)を含むブロック(第2候補領域)の各輝度値に基づいて、候補画素q(x+d,y)を含むブロックの第2コスト値C2(p,d)を算出する。第2コスト算出部321が算出する第2コスト値C2としては、例えば、SAD(Sum of Absolute Differences)、またはSSD(Sum of Squared Differences)等を用いることができる。第2コスト算出部321は、上述のように、基準画像Ibにおける基準画素pを含むブロックごとに、比較画像Iaにおける各候補画素qを含むブロックの第2コスト値C2を算出していく。この場合、第2コスト算出部321は、第1コスト算出部320と同様に、図12に示すように、ラスタースキャンの要領で、基準画像Ibにおいて基準画素pを左上の画素から水平方向に一画素ずつ移動させつつ、かつ垂直方向に移動させながら、各基準画素pを含むブロックに対応する比較画像Iaにおける第2コスト値C2を算出していく。
そして、基準画像Ibにおける基準画素pを含むブロックが、テクスチャの弱い部分であるとした場合、シフト量dと、第2コスト算出部321により算出された第2コスト値C2との関係を示すグラフは、例えば、上述した図4に示すグラフにおいてコスト値Cを第2コスト値C2に置き換えたようなグラフが得られる。この場合、図4に示すグラフにおいては、シフト量d=5、12、19において、第2コスト値C2の最小値として近似した値となっているため、第2コスト値C2の最小値を求めることによって、基準画素に対応する比較画像Iaにおける対応画素を求めることは困難である。しかし、基準画像Ibにおける基準画素pを含むブロックが、エッジ部分を含む、すなわちテクスチャの強い部分であるとした場合、シフト量dと、第2コスト算出部321により算出された第2コスト値C2との関係を示すグラフは、例えば、上述した図13に示すグラフにおいて合成コスト値Lsを第2コスト値C2に置き換えたようなグラフが得られる。この場合、図13に示すグラフにおいては、シフト量d=3の場合、第2コスト値C2が最小値であると認識することができる。
第2サブピクセル推定部341は、第2コスト算出部321により算出された、基準画像Ibにおける基準画素を含むブロックについての比較画像Iaにおける画素のブロックの第2コスト値C2の最小値(第2極値)に対応するシフト量d、およびそれに隣接するシフト量dにおける第2コスト値C2に基づいて、サブピクセル推定を実行する。図13に示すグラフがシフト量dと第2コスト値C2との関係を示すグラフとした場合、上述のように、画素単位のシフト量dに対する第2コスト値C2のグラフということになる。この場合、グラフの第2コスト値C2の最小値は、画素単位のシフト量d=3における第2コスト値C2ということになる。すなわち、図13に示すような画素単位のシフト量dに対する第2コスト値C2のグラフにおいては、視差値として画素単位の値を導出することしかできないことになる。ここで、第1サブピクセル推定部340の動作について上述したように、第2サブピクセル推定部341は、サブピクセル推定によって、視差値を画素単位の値ではなく、画素より小さいサブピクセル単位の視差値を第2視差値dp2として推定して導出する。第2サブピクセル推定部341は、第1サブピクセル推定部340の動作について上述したように、パラボラフィッティングまたは最小二乗法によるサブピクセル推定のいずれかによって、第2視差値dp2を推定して導出する。
以上のように、第2コスト算出部321によって第2コスト値C2が算出され、さらに、第2サブピクセル推定部341によって第2コスト値C2のグラフについてサブピクセル推定が実行されるものとしている。これによって、輝度画像にエッジ部分を含む、すなわちテクスチャの強い部分においては、精度よく視差値を導出することができ、かつ、サブピクセル単位で視差値を推定するので密な視差値を導出することができる。
また、第2サブピクセル推定部341によるサブピクセル推定によってサブピクセル単位の第2視差値dp2を算出することに限定されるものではなく、サブピクセル推定の実行はせずに、画素単位の第2視差値dp2を算出するものとしてもよい。この場合、第2サブピクセル推定部341は、第2コスト算出部321により算出された、基準画像Ibにおける基準画素を含むブロックについての比較画像Iaの画素のブロックにおける第2コスト値C2の最小値に対応するシフト量dを第2視差値dp2とすればよい。
第2記憶部360は、第1サブピクセル推定部340によって導出された第1視差値dp1、および第2サブピクセル推定部341によって導出された第2視差値dp2を記憶する記憶部である。第2記憶部360は、図9に示すRAM34によって実現される。なお、第2記憶部360は、図9において図示しないHDD等の外部記憶装置によって実現されるものとしてもよい。
視差画像生成部370は、第2記憶部360に記憶され、デンス処理によって導出された第1視差値dp1によって、基準画像Ibの各画素の輝度値を、その画素に対応する第1視差値dp1で表した画像であるデンス視差画像Ip1(第1視差画像)を生成する。また、視差画像生成部370は、第2記憶部360に記憶され、ブロックマッチング処理によって導出された第2視差値dp2によって、基準画像Ibの各画素の輝度を、その画素に対応する第2視差値dp2で表した画像であるエッジ視差画像Ip2(第2視差画像)を生成する。視差画像生成部370は、図9に示すFPGA31によって実現される。図16のうち、図16(a)は、比較画像Iaの一例を示し、図16(b)は、基準画像Ibの一例を示し、図16(c)は、視差画像生成部370により生成されたデンス視差画像Ip1の模式図を示す。
認識処理部410は、視差画像生成部370により生成されたデンス視差画像Ip1に基づいて、認識処理として道路の路面等のテクスチャの弱い部分を認識する路面認識処理等を実行する。また、認識処理部410は、視差画像生成部370により生成されたエッジ視差画像Ip2に基づいて、認識処理として人物、標識、車両、その他の障害物を認識する物体認識処理等を実行する。認識処理部410は、図9に示す画像表示装置3、または、図7に示す制御装置5等によって実現される。なお、認識処理部410は、視差値導出装置1の外部の装置である画像表示装置3または制御装置5等において実現されることに限定されるものではない。すなわち、認識処理部410による認識処理は、視差値導出装置1で実行されるものとしてもよく、この場合、認識処理部410は、図9に示すFPGA31によって実現されるものとすればよい。
(視差値導出装置のデンス処理動作)
図17は、第1の実施の形態に係る視差値導出装置のデンス処理によるステレオマッチング処理の動作フローの一例を示す図である。図17を参照しながら、視差値導出装置1のデンス処理に基づく画像処理の動作の流れについて説明する。
<ステップS1−1>
視差値導出装置1の画像取得部110は、左のカメラ(撮像部10a)により前方の被写体を撮像して、それぞれアナログ形式の画像データを生成し、その画像データに基づく画像である輝度画像を得る。そして、ステップS2−1へ進む。
<ステップS1−2>
視差値導出装置1の画像取得部110は、右のカメラ(撮像部10b)により前方の被写体を撮像して、それぞれアナログ形式の画像データを生成し、その画像データに基づく画像である輝度画像を得る。そして、ステップS2−2へ進む。
<ステップS2−1>
視差値導出装置1のフィルタ部210は、撮像部10aにより撮像されて得られたアナログ形式の画像データに対して、ノイズを除去し、デジタル形式の画像データに変換する。そして、ステップS3−1へ進む。
<ステップS2−2>
視差値導出装置1のフィルタ部210は、撮像部10bにより撮像されて得られたアナログ形式の画像データに対して、ノイズを除去し、デジタル形式の画像データに変換する。そして、ステップS3−2へ進む。
<ステップS3−1>
フィルタ部210は、ステップS2−1において変換したデジタル形式の画像データに基づく画像をステレオマッチング処理における比較画像Iaとして出力する。そして、ステップS4へ進む。
<ステップS3−2>
フィルタ部210は、ステップS2−2において変換したデジタル形式の画像データに基づく画像をステレオマッチング処理における基準画像Ibとして出力する。そして、ステップS4へ進む。
<ステップS4>
視差値導出装置1の補正部310は、フィルタ部210から入力した2つの画像(比較画像Ia、基準画像Ib)に対して、撮像部10aと撮像部10bと間の光学的なずれ、および幾何学的なずれを補正し、補正した比較画像Iaおよび基準画像Ibを出力する。視差値導出装置1の第1記憶部350は、補正部310から出力された比較画像Iaおよび基準画像Ibを一時記憶する。視差値導出装置1の第1コスト算出部320は、補正部310から出力された比較画像Iaおよび基準画像Ib、または、第1記憶部350に記憶された比較画像Iaおよび基準画像Ibを入力する。第1コスト算出部320は、基準画像Ibにおける基準画素p(x,y)の輝度値、および、基準画素p(x,y)に基づく比較画像Iaにおけるエピポーラ線上で、基準画素p(x,y)の位置に相当する画素からシフト量dでシフトすることにより特定される、対応画素の候補である候補画素q(x+d,y)の各輝度値に基づいて、各候補画素q(x+d,y)の第1コスト値C1(p,d)を算出する。そして、ステップS5へ進む。
<ステップS5>
視差値導出装置1のコスト合成部330は、基準画像Ibにおける基準画素p(x,y)の周辺の画素を基準画素とした場合のその基準画素についての比較画像Iaにおける画素のコスト値Cを、第1コスト算出部320により算出された候補画素q(x+d,y)のコスト値C(p,d)に集約させて、候補画素q(x+d,y)の合成コスト値Ls(p,d)を算出する。コスト合成部330は、合成コスト値Lsを算出するために、所定のr方向の経路コスト値Lr(p,d)のうち、Lr、Lr45およびLr90については、比較画像Iaおよび基準画像Ibの全体(すなわち構成する画素値全体)が第1記憶部350に記憶されていなくても算出が可能である。すなわち、コスト合成部330は、補正部310から出力された比較画像Iaおよび基準画像Ibを構成する画素値のうち、直接入力された画素値で第1コスト算出部320により算出された第1コスト値C1に基づいて、Lr、Lr45およびLr90を算出できる。一方、コスト合成部330は、合成コスト値Lsを算出するために、所定のr方向の経路コスト値Lr(p,d)のうち、Lr135、Lr180、Lr225、Lr270およびLr315については、比較画像Iaおよび基準画像Ibの全体(すなわち構成する画素値全体)が第1記憶部350に記憶されていなければ算出ができない。すなわち、コスト合成部330は、補正部310から出力され、第1記憶部350に記憶された比較画像Iaおよび基準画像Ibを構成する画素値で第1コスト算出部320により算出された第1コスト値C1に基づいて、Lr135、Lr180、Lr225、Lr270およびLr315を算出する。そして、ステップS6へ進む。
<ステップS6>
視差値導出装置1の第1サブピクセル推定部340は、コスト合成部330により算出された、基準画像Ibにおける基準画素についての比較画像Iaにおける画素の合成コスト値Lsの最小値に対応するシフト量d、およびそれに隣接するシフト量dにおける合成コスト値Lsに基づいて、サブピクセル推定を実行する。第1サブピクセル推定部340は、サブピクセル推定によって求めた近似曲線(図14および図15においては下に凸の2次曲線)の極小値に対応するサブピクセル単位のシフト量dが第1視差値dp1であると推定する。そして、ステップS7へ進む。
<ステップS7>
視差値導出装置1の第2記憶部360は、第1サブピクセル推定部340によって導出された第1視差値dp1を記憶する。視差値導出装置1の視差画像生成部370は、第2記憶部360に記憶され、デンス処理によって導出された第1視差値dp1によって、基準画像Ibの各画素の輝度値を、その画素に対応する第1視差値dp1で表した画像であるデンス視差画像Ip1を生成する。
その後、デンス視差画像Ip1の画像データは、通信I/F35またはCANC36を介して出力され、視差値導出装置1の外部の装置(例えば、画像表示装置3または制御装置5)である認識処理部410によって、デンス視差画像Ip1に基づいた路面認識処理等の認識処理が実行される。
(視差値導出装置のブロックマッチング処理動作)
図18は、第1の実施の形態に係る視差値導出装置のブロックマッチング処理によるステレオマッチング処理の動作フローの一例を示す図である。図18を参照しながら、視差値導出装置1のブロックマッチング処理に基づく画像処理の動作の流れについて説明する。
<ステップS11−1>
視差値導出装置1の画像取得部110は、左のカメラ(撮像部10a)により前方の被写体を撮像して、それぞれアナログ形式の画像データを生成し、その画像データに基づく画像である輝度画像を得る。そして、ステップS12−1へ進む。
<ステップS11−2>
視差値導出装置1の画像取得部110は、右のカメラ(撮像部10b)により前方の被写体を撮像して、それぞれアナログ形式の画像データを生成し、その画像データに基づく画像である輝度画像を得る。そして、ステップS12−2へ進む。
<ステップS12−1>
視差値導出装置1のフィルタ部210は、撮像部10aにより撮像されて得られたアナログ形式の画像データに対して、ノイズを除去し、デジタル形式の画像データに変換する。そして、ステップS13−1へ進む。
<ステップS12−2>
視差値導出装置1のフィルタ部210は、撮像部10bにより撮像されて得られたアナログ形式の画像データに対して、ノイズを除去し、デジタル形式の画像データに変換する。そして、ステップS13−2へ進む。
<ステップS13−1>
フィルタ部210は、ステップS12−1において変換したデジタル形式の画像データに基づく画像をステレオマッチング処理における比較画像Iaとして出力する。そして、ステップS14へ進む。
<ステップS13−2>
フィルタ部210は、ステップS12−2において変換したデジタル形式の画像データに基づく画像をステレオマッチング処理における基準画像Ibとして出力する。そして、ステップS14へ進む。
<ステップS14>
視差値導出装置1の補正部310は、フィルタ部210から入力した2つの画像(比較画像Ia、基準画像Ib)に対して、撮像部10aと撮像部10bと間の光学的なずれ、および幾何学的なずれを補正し、補正した比較画像Iaおよび基準画像Ibを第2コスト算出部321に出力する。視差値導出装置1の第2コスト算出部321は、基準画像Ibにおける基準画素p(x,y)を含む所定領域(ブロック)の輝度値、および、基準画素p(x,y)に基づく比較画像Iaにおけるエピポーラ線上で、基準画素p(x,y)の位置に相当する画素からシフト量dでシフトすることにより特定される、対応画素の候補である候補画素q(x+d,y)を含むブロックの各輝度値に基づいて、候補画素q(x+d,y)を含むブロックの第2コスト値C2(p,d)を算出する。そして、ステップS15へ進む。
<ステップS15>
視差値導出装置1の第2サブピクセル推定部341は、第2コスト算出部321により算出された、基準画像Ibにおける基準画素を含むブロックについての比較画像Iaにおける画素のブロックの第2コスト値C2の最小値に対応するシフト量d、およびそれに隣接するシフト量dにおける第2コスト値C2に基づいて、サブピクセル推定を実行する。第2サブピクセル推定部341は、サブピクセル推定によって求めた近似曲線(図14および図15においては下に凸の2次曲線)の極小値に対応するサブピクセル単位のシフト量dが第2視差値dp2であると推定する。そして、ステップS16へ進む。
<ステップS16>
視差値導出装置1の第2記憶部360は、第2サブピクセル推定部341によって導出された第2視差値dp2を記憶する。視差値導出装置1の視差画像生成部370は、第2記憶部360に記憶され、ブロックマッチング処理によって導出された第2視差値dp2によって、基準画像Ibの各画素の輝度を、その画素に対応する第2視差値dp2で表した画像であるエッジ視差画像Ip2を生成する。
その後、エッジ視差画像Ip2の画像データは、通信I/F35またはCANC36を介して出力され、視差値導出装置1の外部の装置(例えば、画像表示装置3または制御装置5)である認識処理部410によって、エッジ視差画像Ip2に基づいた物体認識処理等の認識処理が実行される。
(機器制御システムの処理の動作タイミング)
図19は、第1の実施の形態に係る機器制御システムの処理のタイミングチャートを示す図である。図19を参照しながら、本実施の形態に係る機器制御システム50の処理の動作タイミングについて説明する。
図19に示すように、画像取得部110は、有効フレーム信号FVがオン状態のとき、撮像部10a、10bによってそれぞれ1フレーム分、すなわちそれぞれ1つの輝度画像を得る。
視差値演算部300の第2コスト算出部321および第2サブピクセル推定部341によるブロックマッチング処理は、画像取得部110による輝度画像の取得の途中からでも、第2視差値dp2の導出およびエッジ視差画像Ip2の生成(図19では、「視差値演算」と記載)が可能であり、かつ、演算処理の負荷もデンス処理と比較して軽い。したがって、ブロックマッチング処理においては、比較画像Iaおよび基準画像Ibの1組が取得されるごとに、視差値演算、および認識処理部410によるエッジ視差画像Ip2に基づく認識処理(図19では「物体認識処理」と例示)の実行が可能である。
一方、視差値演算部300の第1コスト算出部320、コスト合成部330および第1サブピクセル推定部340によるデンス処理は、まず、画像取得部110の輝度画像の取得と共に、比較画像Iaおよび基準画像Ibの第1記憶部350への記憶を開始する。また、上述のように、所定のr方向の経路コスト値Lrのうち、Lr、Lr45およびLr90については、画像取得部110による輝度画像の取得の途中からでも算出が可能である。しかし、デンス処理は、上述のように、所定のr方向の経路コスト値Lrのうち、Lr135、Lr180、Lr225、Lr270およびLr315については、画像取得部110による輝度画像の取得が終了し、第1記憶部350への比較画像Iaおよび基準画像Ibの記憶がなされていないと算出することができない。したがって、デンス処理は、ブロックマッチング処理よりも演算量が多く、処理時間が長いうえに、一部の演算については、第1記憶部350への比較画像Iaおよび基準画像Ibの記憶が完了していないと実行できない。よって、視差値演算部300による第1視差値dp1の導出、および視差画像生成部370によるデンス視差画像Ip1の生成(図19では、「視差値演算」と記載)は、ブロックマッチング処理における視差値演算よりも処理時間が長くなる。
図19のタイムチャートの例では、デンス処理においては、例えば、比較画像Iaおよび基準画像Ibの1組の取得が2回行われる間に、視差値演算を1度実行することが可能であり、認識処理部410によるデンス視差画像Ip1に基づく認識処理(図19では「路面認識処理」と例示)についても1度の実行が可能である。しかし、比較画像Iaおよび基準画像Ibの1組の取得が2回行われるごとに、認識処理部410による路面認識処理等が行われるとしても、道路の路面の状態は通常は急激な変化を伴うものではないため、認識処理の性能への影響は少ない。また、路面認識処理以外に、画像において急激な変化を伴うものではない被写体の認識処理については、演算処理の負荷が大きいデンス処理により生成したデンス視差画像Ip1に基づいて実行するものとしても、その認識処理の性能への影響は少ない。なお、図19のタイムチャートの例では、デンス処理において、比較画像Iaおよび基準画像Ibの1組の取得が2回行われる間に、視差値演算を1度実行するものとしているが、認識処理の性能への影響が少ない限りにおいては、画像の取得が3回以上行われる間に、視差値演算が1度の実行が行われるものとしてもよい。
以上のように、本実施の形態に係る視差値導出装置1において、デンス処理およびブロックマッチング処理を実行する視差値演算部300は、共通のハードウェア(集積回路)で実現するものとし、デンス処理とブロックマッチング処理とを並列に実行するものとしている。この場合、ブロックマッチング処理は、デンス処理よりも演算処理の負荷が小さいため、比較画像Iaおよび基準画像Ibの1組が取得されるごとに、視差値演算、およびエッジ視差画像Ip2に基づく認識処理の実行が可能である。これに対し、デンス処理は、ブロックマッチング処理よりも演算処理の負荷が大きいため、比較画像Iaおよび基準画像Ibの1組の取得が複数回行われる間に、視差値演算、および、デンス視差画像Ip1に基づく認識処理について1度の実行が可能である。このように、デンス処理およびブロックマッチング処理を並列に動作させることが可能であり、変化のすくない被写体(道路の路面等)についての認識処理は、デンス視差画像によって処理、変化の多い被写体(人物、車両等)についての認識処理は、エッジ視差画像によって処理させるものとしている。これによって、演算処理の負荷が大きいデンス処理を用いても、各種認識処理の性能への影響を抑制することができる。
また、視差値導出装置1において、第1サブピクセル推定部340および第2サブピクセル推定部341は、画素より小さい単位であるサブピクセル単位で視差値を導出することができるので、精度が高く、かつ密な視差値を導出することができ、より正確な視差画像を得ることができる。
なお、補正部310、第1コスト算出部320、コスト合成部330、第1サブピクセル推定部340、第2コスト算出部321、第2サブピクセル推定部341および視差画像生成部370は、FPGA31によって実現、すなわちハードウェア回路(集積回路)によって実現されるものとしたが、これに限定されるものではない。すなわち、補正部310、第1コスト算出部320、コスト合成部330、第1サブピクセル推定部340、第2コスト算出部321、第2サブピクセル推定部341および視差画像生成部370の少なくともいずれかは、ソフトウェアである画像処理用プログラムがCPU32によって実行されることにより、実現されてもよい。また、補正部310、第1コスト算出部320、コスト合成部330、第1サブピクセル推定部340、第2コスト算出部321、第2サブピクセル推定部341および視差画像生成部370は、機能を概念的にブロック構成したものであって、このような構成に限定されるものではない。
また、上述の画像処理用プログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録媒体に記録して流通させてもよい。この記録媒体は、CD−ROMまたはSDカード等である。
[第2の実施の形態]
第2の実施の形態に係る視差値導出装置および機器制御システムについて、第1の実施の形態に係る視差値導出装置および機器制御システムと相違する点を中心に説明する。本実施の形態に係る視差値導出装置1および機器制御システム50は、構成、ならびに、デンス処理およびブロックマッチング処理の各処理の内容については、第1の実施の形態と同様である。
(機器制御システムの処理の動作タイミング)
図20は、第2の実施の形態に係る機器制御システムの処理のタイミングチャートを示す図である。図20を参照しながら、本実施の形態に係る機器制御システム50の処理の動作タイミングについて説明する。
図20に示すように、画像取得部110は、有効フレーム信号FVがオン状態のとき、撮像部10a、10bによってそれぞれ1フレーム分、すなわち、それぞれ1つの輝度画像を得る。
本実施の形態に係る機器制御システム50は、所定の輝度画像の組数(所定のページ数)を画像取得部110により取得するごとに、ブロックマッチング処理のみの実行と、デンス処理とブロックマッチング処理との並列処理の実行とを、切り替えるものとしている。すなわち、機器制御システム50は、ブロックマッチング処理は、常時実行するものとし、デンス処理については、所定の輝度画像の組数ごとに処理の実行と停止とを繰り返すものとしている。
これによって、デンス処理およびブロックマッチング処理の両方を同時に実行しない期間を設けているので、演算量を低減することができる。本実施の形態に係る機器制御システム50の動作は、路面認識処理等のデンス視差画像に基づく認識処理があまり必要とされない場合に、特に有効である。
なお、図20においては、ブロックマッチング処理のみが実行されるページ数と、デンス処理とブロックマッチング処理との並列処理が実行されるページ数とが同一のように記載されているが、これに限定されるものではない。例えば、上述のように、路面認識処理等のデンス視差画像に基づく認識処理があまり必要とされない場合においては、ブロックマッチング処理のみが実行されるページ数を、デンス処理とブロックマッチング処理との並列処理が実行されるページ数よりも多くしてもよい。
[第3の実施の形態]
第3の実施の形態に係る視差値導出装置および機器制御システムについて、第1の実施の形態に係る視差値導出装置および機器制御システムと相違する点を中心に説明する。本実施の形態に係る視差値導出装置1および機器制御システム50は、構成、ならびに、デンス処理およびブロックマッチング処理の各処理の内容については、第1の実施の形態と同様である。
(機器制御システムの処理の動作タイミング)
図21は、第3の実施の形態に係る機器制御システムの処理のタイミングチャートを示す図である。図21を参照しながら、本実施の形態に係る機器制御システム50の処理の動作タイミングについて説明する。
図21に示すように、画像取得部110は、有効フレーム信号FVがオン状態のとき、撮像部10a、10bによってそれぞれ1フレーム分、すなわち、それぞれ1つの輝度画像を得る。
本実施の形態に係る機器制御システム50は、所定の輝度画像の組数(所定のページ数)を画像取得部110により取得するごとに、ブロックマッチング処理のみの実行と、デンス処理のみの実行とを、切り替えるものとしている。また、認識処理部410は、デンス処理のみを実行する期間では、デンス処理により導出された第1視差値dp1によるデンス視差画像Ip1に基づいて、物体認識処理および路面認識処理の双方を実行する。
これによって、ブロックマッチング処理とデンス処理とを並列に実行させる必要がないので、ハードウェア回路の規模を縮小することができ、演算量、コストおよび電力消費量を低減させることができる。
[第4の実施の形態]
第4の実施の形態に係る視差値導出装置および機器制御システムについて、第1の実施の形態に係る視差値導出装置および機器制御システムと相違する点を中心に説明する。本実施の形態に係る視差値導出装置1および機器制御システム50は、構成、および、ブロックマッチング処理の内容については、第1の実施の形態と同様である。
(視差値導出装置のデンス処理動作)
図22は、第4の実施の形態において基準画像の画素に対するデンス処理のスキャン動作を示す図である。図22を参照しながら、本実施の形態に係る視差値導出装置1のデンス処理について説明する。
上述の図11に示す基準画像Ibのように、人物、車両等の変化の多い被写体は、基準画像Ib全体に散在することが多いと考えられるが、路面等の変化の少ない被写体は、基準画像Ibのうち下側半分に存在することが多い。したがって、路面認識処理が特に必要となるのは、第1の実施の形態で視差画像生成部370により生成されるデンス視差画像Ip1全体ではなく、デンス視差画像Ip1の下側半分であることになる。そこで、本実施の形態に係る視差値導出装置1においては、図22に示すように、デンス処理の対象を基準画像Ibの下側半分とする。
具体的には、第1コスト算出部320は、基準画像Ibの下側半分における基準画素pの輝度値、および、基準画素pに基づく比較画像Iaにおけるエピポーラ線上で、基準画素pの位置に相当する画素からシフト量dでシフトすることにより特定される、対応画素の候補である候補画素qの各輝度値に基づいて、各候補画素qの第1コスト値C1を算出する。また、コスト合成部330は、基準画像Ibの下側半分における基準画素pの周辺の画素を基準画素とした場合のその基準画素についての比較画像Iaにおける画素の第1コスト値C1を、第1コスト算出部320により算出された候補画素qの第1コスト値C1に集約させて、候補画素qの合成コスト値Lsを算出する。また、第1サブピクセル推定部340は、コスト合成部330により算出された、基準画像Ibの下側半分における基準画素についての比較画像Iaにおける画素の合成コスト値Lsの最小値に対応するシフト量d、およびそれに隣接するシフト量dにおける合成コスト値Lsに基づいて、サブピクセル推定を実行し、サブピクセル単位の第1視差値dp1を導出する。そして、視差画像生成部370は、第2記憶部360に記憶され、デンス処理によって導出された基準画像Ibの下側半分に対応する第1視差値dp1によって、基準画像Ibの下側半分の各画素の輝度値を、その画素に対応する第1視差値dp1で表した画像であるデンス視差画像を生成する。
以上のように、デンス処理を実行する対象を基準画像Ibの下側半分としているので、デンス処理の処理時間を半分にすることができる。
(機器制御システムの処理の動作タイミング)
図23は、第4の実施の形態に係る機器制御システムの処理のタイミングチャートを示す図である。図23を参照しながら、本実施の形態に係る機器制御システム50の処理の動作タイミングについて説明する。
図23に示すように、画像取得部110は、有効フレーム信号FVがオン状態のとき、撮像部10a、10bによってそれぞれ1フレーム分、すなわち、それぞれ1つの輝度画像を得る。
上述のように、デンス処理を実行する対象を基準画像Ibの下側半分としたことによりデンス処理の処理時間を半分にすることができる。しがたって、図23に示すように、デンス処理は、ブロックマッチング処理と同様に、比較画像Iaおよび基準画像Ibの1組が取得されるごとに、視差値演算、および認識処理部410によるデンス視差画像(デンス視差画像Ip1の半分のサイズ)に基づく認識処理の実行が可能となる。
これによって、デンス処理による演算処理の負荷を低減することができる。また、比較画像Iaおよび基準画像Ibの1組が取得されるごとに、デンス視差画像に基づく認識処理を実行することが可能となるので、認識処理の性能を確保することができると共に、デンス視差画像に基づく認識処理の対象としていた被写体に急激な変化が発生しても対応することができる。
なお、デンス処理の対象を基準画像Ibの下側半分としたが、これに限定されるものではなく、基準画像Ibの上下方向の特定の位置から下側の部分であってもよい。
[第5の実施の形態]
第5の実施の形態に係る視差値導出装置および機器制御システムについて、第1の実施の形態に係る視差値導出装置および機器制御システムと相違する点を中心に説明する。本実施の形態に係る視差値導出装置1および機器制御システム50は、構成、および、ブロックマッチング処理の内容については、第1の実施の形態と同様である。
(視差値導出装置のデンス処理動作)
図24は、第5の実施の形態において基準画像の画素に対するデンス処理のスキャン動作を示す図である。図24を参照しながら、本実施の形態に係る視差値導出装置1のデンス処理について説明する。
上述の図11に示す基準画像Ibのように、人物、車両等の変化の多い被写体は、基準画像Ib全体に散在することが多いと考えられるが、路面等の変化の少ない被写体は、基準画像Ibのうち下側半分に存在することが多い。したがって、コスト合成部330によって、図5に示すように8方向すべてから第1コスト値C1を集約させる必要はなく、本実施の形態においては、図24に示すように、0度、180度、225度、270度および315度の5方向(特定方向)から第1コスト値C1を集約させるものとする。
具体的には、コスト合成部330は、合成コスト値Lsを算出するために、上述の(式3)によって、上述の5方向の経路コスト値Lr(p,d)、すなわち、Lr、Lr180、Lr225、Lr270およびLr315を算出し、これらの和をとって合成コスト値Lsとする。そして、第1サブピクセル推定部340および視差画像生成部370の動作によって、デンス視差画像を得る。
以上のように、デンス処理を実行する場合における、コスト合成部330による経路コスト値Lrの算出を8方向から5方向に減らしているので、デンス処理の処理時間を約半分にすることができる。これによって、第4の実施の形態と同様に、デンス処理は、ブロックマッチング処理と同様に、比較画像Iaおよび基準画像Ibの1組が取得されるごとに、視差値演算、および認識処理部410によるデンス視差画像に基づく認識処理の実行が可能となる。また、比較画像Iaおよび基準画像Ibの1組が取得されるごとに、デンス視差画像に基づく認識処理を実行することが可能となるので、認識処理の性能を確保することができると共に、デンス視差画像に基づく認識処理の対象としていた被写体に急激な変化が発生しても対応することができる。
なお、コスト合成部330によって5方向の経路コスト値Lr(p,d)が算出されるものとしているが、これに限定されるものではなく、3方向または4方向等としてもよい。3方向としては、例えば、コスト合成部330はLr225、Lr270およびLr315を算出するものとし、4方向としては、例えば、コスト合成部330は、Lr、Lr225、Lr270およびLr315を算出するものとすればよい。
[第6の実施の形態]
第6の実施の形態に係る視差値導出装置および機器制御システムについて、第1の実施の形態に係る視差値導出装置および機器制御システムと相違する点を中心に説明する。本実施の形態に係る視差値導出装置1および機器制御システム50は、デンス処理およびブロックマッチング処理の各処理の内容については、第1の実施の形態と同様である。
<視差値導出装置のブロック構成>
図25は、第6の実施の形態に係る視差値導出装置のブロック構成の一例を示す図である。図25を参照しながら、視差値導出装置1の要部のブロック構成について説明する。
図25に示すように、視差値導出装置1は、画像取得部110と、フィルタ部210と、補正部310と、第1記憶部350と、視差値演算部300a(デンス処理手段)と、視差値演算部300b(マッチング処理手段)と、第2記憶部360と、視差画像生成部370と、を備えている。視差画像生成部370の出力側には、認識処理部410が接続されている。
視差値演算部300aは、第1コスト算出部320と、コスト合成部330と、第1サブピクセル推定部340と、を含んでおり、比較画像Iaおよび基準画像Ibに対してデンス処理を実行する。視差値演算部300bは、第2コスト算出部321と、第2サブピクセル推定部341と、を含んでおり、比較画像Iaおよび基準画像Ibに対してブロックマッチング処理を実行する。すなわち、本実施の形態に係る視差値導出装置1は、第1の実施の形態の視差値導出装置1における同一のハードウェア回路(集積回路)により実現されていた視差値演算部300に代えて、別個のハードウェア回路(集積回路)である視差値演算部300aと、視差値演算部300bとを備えている。図25に示す視差値導出装置1に含まれる各処理部の機能は、第1の実施の形態と同様である。
以上の構成のように、視差値演算部300aと視差値演算部300bとは別個のハードウェア回路によって構成されているので、デンス処理およびブロックマッチング処理を並列に実行することができると共に、各ハードウェア回路で独立に実行することができる。これによって、デンス処理およびブロックマッチング処理を、双方、第1の実施の形態と比較して高速に処理することができ、図23に示すようなタイミングチャートで実行することができる。したがって、比較画像Iaおよび基準画像Ibの1組が取得されるごとに、デンス視差画像に基づく認識処理を実行することが可能となるので、認識処理の性能を確保することができると共に、デンス視差画像に基づく認識処理の対象としていた被写体に急激な変化が発生しても対応することができる。
[第7の実施の形態]
第7の実施の形態に係る視差値導出装置および機器制御システムについて、第6の実施の形態に係る視差値導出装置および機器制御システムと相違する点を中心に説明する。
<視差値導出装置のブロック構成および各ブロックの動作>
図26は、第7の実施の形態に係る視差値導出装置のブロック構成の一例を示す図である。図27は、非エッジ部を検出する動作の一例を示す図である。図26および図27を参照しながら、視差値導出装置1の要部のブロック構成および各ブロックの動作について説明する。
図26に示すように、視差値導出装置1は、画像取得部110と、フィルタ部210と、補正部310と、第1記憶部350と、視差値演算部300aと、視差値演算部300bと、検出部380(検出手段)と、選択部390(選択手段)と、第2記憶部360aと、視差画像生成部370a(生成手段)と、を備えている。視差画像生成部370aの出力側には、認識処理部410(認識処理手段)が接続されている。
視差値演算部300aは、第1コスト算出部320と、コスト合成部330と、第1サブピクセル推定部340と、を含んでおり、比較画像Iaおよび基準画像Ibに対してデンス処理を実行する。視差値演算部300bは、第2コスト算出部321と、第2サブピクセル推定部341と、を含んでおり、比較画像Iaおよび基準画像Ibに対してブロックマッチング処理を実行する。すなわち、本実施の形態に係る視差値導出装置1は、第6の実施の形態に係る視差値導出装置1と同様に、別個のハードウェア回路である視差値演算部300aと、視差値演算部300bとを備えている。
検出部380は、補正部310から出力された基準画像Ibを入力し、基準画像Ibを構成する各画素が、エッジ部に相当する画素か非エッジ部に相当する画素かを検出し、検出した結果情報である検出情報を選択部390に渡す。検出部380は、基準画像Ibを構成する画素がエッジ部か非エッジ部かを、例えば、以下のように検出する。図27(a)に示すように、検出対象である注目画素が「E」であるものとし、注目画素である「E」に隣接して囲む隣接画素を「A〜D、F〜I」とする。検出部380は、注目画素である「E」の画素値と、隣接画素である「A〜D、F〜I」の画素値とのそれぞれの差の絶対値を算出する。次に、検出部380は、算出した8個の絶対値それぞれが、所定の閾値Th以下であるか否かを判定する。そして、検出部380は、図27(b)に示すように、8個の絶対値がすべて、所定の閾値Th以下である場合、注目画素である「E」は、非エッジ部であるものと判定する。また、検出部380は、図27(b)の条件を満たさない場合、注目画素である「E」は、エッジ部であるものと判定する。
選択部390は、第1サブピクセル推定部340から第1視差値dp1を入力し、第2サブピクセル推定部341から第2視差値dp2を入力し、検出部380から検出情報を入力する。そして、選択部390は、基準画像Ibの特定の画素についての非エッジ部か否かを示す検出情報に基づいて、その特定の画素に対応する第1視差値dp1または第2視差値dp2のうちいずれかを出力して、第2記憶部360aに記憶させる。具体的には、選択部390は、基準画像Ibの特定の画素に対応する検出情報が非エッジ部を示す情報である場合、その特定の画素に対応する第1視差値dp1を出力し、その特定の画素と関連付けた第1視差値dp1を、第2記憶部360aに記憶させる。また、選択部390は、基準画像Ibの特定の画素に対応する検出情報がエッジ部を示す情報である場合、その特定の画素に対応する第2視差値dp2を出力し、その特定の画素と関連付けた第2視差値dp2を、第2記憶部360aに記憶させる。選択部390は、図9に示すFPGA31によって実現される。
第2記憶部360aは、選択部390から出力された第1視差値dp1および第2視差値dp2を、それぞれ基準画像Ibの画素に関連付けて記憶する。第2記憶部360aは、図9に示すRAM34によって実現される。なお、第2記憶部360aは、図9において図示しないHDD等の外部記憶装置によって実現されるものとしてもよい。
視差画像生成部370aは、第2記憶部360aに基準画像Ibの各画素に関連付けて記憶された第1視差値dp1および第2視差値dp2によって、基準画像Ibの各画素の輝度値を、その画素に対応する第1視差値dp1または第2視差値dp2で表した画像である混合視差画像Ip3を生成する。すなわち、混合視差画像Ip3は、第1視差値dp1および第2視差値dp2を混合して生成されたものであり、第1視差値dp1に対応する画素は、基準画像Ibにおける非エッジ部に相当する画素に対応し、第2視差値dp2に対応する画素は、基準画像Ibにおけるエッジ部に相当する画素に対応する。視差画像生成部370aは、図9に示すFPGA31によって実現される。
認識処理部410は、視差画像生成部370aにより生成された混合視差画像Ip3に基づいて、道路の路面等のテクスチャの弱い部分を認識する路面認識処理等、および人物、標識、車両、その他の障害物を認識する物体認識処理等の双方を実行する。認識処理部410は、図9に示す画像表示装置3、または、図7に示す制御装置5等によって実現される。
なお、補正部310、第1コスト算出部320、コスト合成部330、第1サブピクセル推定部340、第2コスト算出部321、第2サブピクセル推定部341、検出部380、選択部390および視差画像生成部370aは、FPGA31によって実現、すなわちハードウェア回路によって実現されるものとしたが、これに限定されるものではない。すなわち、補正部310、第1コスト算出部320、コスト合成部330、第1サブピクセル推定部340、第2コスト算出部321、第2サブピクセル推定部341、検出部380、選択部390および視差画像生成部370aの少なくともいずれかは、ソフトウェアであるプログラムがCPU32によって実行されることにより、実現されてもよい。また、補正部310、第1コスト算出部320、コスト合成部330、第1サブピクセル推定部340、第2コスト算出部321、第2サブピクセル推定部341、検出部380、選択部390および視差画像生成部370aは、機能を概念的にブロック構成したものであって、このような構成に限定されるものではない。
以上のような構成および動作のように、本実施の形態に係る視差値導出装置1は、輝度画像である基準画像Ibの各画素を、非エッジ部か否かを検出し、非エッジ部である画素に対しては視差値演算部300aにより導出された第1視差値dp1を用いて、エッジ部である画素に対しては視差値演算部300bにより導出された第2視差値dp2を用いて、混合視差画像Ip3を生成している。そして、認識処理部410は、この混合視差画像Ip3を用いて各種認識処理を実行するものとしている。これによって、道路の路面等のテクスチャの弱い部分を認識する路面認識処理等、および人物、標識、車両、その他の障害物を認識する物体認識処理等の双方において、共通の混合視差画像Ip3を利用して処理が可能となる。そして、混合視差画像Ip3を構成する視差値は、いずれの認識処理にも適した視差値となるので、認識処理の性能を向上させることができる。
なお、上述の実施の形態では、コスト値C、第1コスト値C1および第2コスト値C2は非類似度を表す評価値としているが、類似度を表す評価値であってもよい。この場合、合成コスト値Lsがサブピクセル単位で最大となるシフト量dが第1視差値dp1となる。
また、上述の実施の形態では、説明の簡略化のために、画素単位でのマッチングで説明したが、これに限定されるものではなく、所定領域(ブロック)単位でマッチングされてもよい。この場合、基準画素を含む所定領域は基準領域として示され、対応画素を含む所定領域は対応領域として示され、対応画素の候補画素は候補領域として示される。また、この基準領域には基準画素のみの場合も含まれ、対応領域には対応画素のみの場合も含まれ、候補領域には候補画素のみの場合も含まれる。
また、上述の実施の形態では、視差値導出装置1の外部の機器(例えば、画像表示装置3)が視差画像(視差値)に基づき、距離Zを算出しているが、これに限定されるものではなく、画像処理部30のCPU32が距離Zを算出するものとしてもよい。
また、上述の実施の形態では、車両100としての自動車に搭載される視差値導出装置1について説明したが、これに限定されるものではない。例えば、他の車両の一例としてバイク、自転車、車椅子または農業用の耕運機等の車両に搭載されるものとしてもよい。また、移動体の一例としての車両だけでなく、ロボット等の移動体であってもよい。
さらに、ロボットは、移動体だけでなく、FA(Factory Automation)において固定設置される工業用ロボット等の装置であってもよい。また、固定設置される装置としては、ロボットだけでなく、防犯用の監視カメラ等であってもよい。
1 視差値導出装置
2 本体
3 画像表示装置
5 制御装置
6 ステアリングホイール
7 ブレーキペダル
10a、10b 撮像部
11a、11b 撮像レンズ
12a、12b 絞り
13a、13b 画像センサ
20a、20b 信号変換部
21a、21b CDS
22a、22b AGC
23a、23b ADC
24a、24b フレームメモリ
30 画像処理部
31 FPGA
32 CPU
33 ROM
34 RAM
35 通信I/F
36 CANC
39 バス
50 機器制御システム
100 車両
110 画像取得部
210 フィルタ部
300、300a、300b 視差値演算部
310 補正部
320 第1コスト算出部
321 第2コスト算出部
330 コスト合成部
340 第1サブピクセル推定部
341 第2サブピクセル推定部
350 第1記憶部
360、360a 第2記憶部
370、370a 視差画像生成部
380 検出部
390 選択部
410 認識処理部
510a、510b 撮像装置
511a、511b 撮像レンズ
B 基線長
C コスト値
C1 第1コスト値
C2 第2コスト値
d シフト量
dp 視差値
dp1 第1視差値
dp2 第2視差値
E 物体
EL エピポーラ線
f 焦点距離
FV 有効フレーム信号
Ia 比較画像
Ib 基準画像
Img1〜Img3 画像部
Ip1 デンス視差画像
Ip2 エッジ視差画像
Ip3 混合視差画像
Lr 経路コスト値
Ls 合成コスト値
S、Sa、Sb 点
Th 閾値
Z 距離
特開2012−018013号公報
H.Hirschmuller,Accurate and Efficient Stereo Processing by Semi−Global Matching and Mutual Imformation,IEEE Conference on Computer Vision and Pattern Recognition(CVPR),San Diego,CA,USA,June 20−26,2005.

Claims (13)

  1. 第1撮像手段が被写体を撮像することにより得られた基準画像、および第2撮像手段が前記被写体を撮像することにより得られた比較画像を取得する取得手段と、
    前記基準画像および前記比較画像に基づいてデンス処理を実行し第1視差値を導出するデンス処理手段と、
    前記基準画像および前記比較画像に基づいてブロックマッチング処理を実行し第2視差値を導出するマッチング処理手段と、
    前記基準画像を構成する各画素が、エッジ部に相当する画素か非エッジ部に相当する画素かを検出し、その検出結果の情報である検出情報を出力する検出手段と、
    前記検出情報が、該検出情報に対応する前記基準画像の画素が前記非エッジ部に相当する画素であることを示す場合、該画素に対応する前記第1視差値を出力し、該検出情報に対応する前記基準画像の画素が前記エッジ部に相当する画素であることを示す場合、該画素に対応する前記第2視差値を出力する選択手段と、
    前記選択手段により出力された前記第1視差値および前記第2視差値によって視差画像を生成する生成手段と、
    を備えた画像処理装置。
  2. 前記第1視差を用いて第1被写体に対する認識処理を実行し、前記第2視差を用いて前記第1被写体よりも状態の変化が大きい第2被写体に対する認識処理を実行する認識処理手段をさらに備えた請求項1に記載の画像処理装置。
  3. 前記デンス処理手段は、
    前記基準画像における第1基準領域の輝度値と、前記第1基準領域に基づく前記比較画像におけるエピポーラ線上で、前記第1基準領域の位置に相当する領域から、画素単位のシフト量でシフトすることにより特定される、前記第1基準領域に対応する前記比較画像の対応領域の候補となる複数の第1候補領域の輝度値と、に基づいて前記複数の第1候補領域それぞれの第1コスト値を算出する第1算出手段と、
    前記第1基準領域の周辺の第2基準領域についての前記比較画像における第1コスト値を、前記第1候補領域の第1コスト値に集約させて、前記複数の第1候補領域それぞれの合成コスト値を算出する合成手段と、
    前記比較画像における前記複数の第1候補領域の前記合成コスト値のうち第1極値に対応する前記シフト量に基づいて、前記第1視差値を導出する第1導出手段と、
    を備えた請求項1または2に記載の画像処理装置。
  4. 前記マッチング処理手段は、
    前記基準画像における第3基準領域の輝度値と、前記第3基準領域に基づく前記比較画像におけるエピポーラ線上で、前記第3基準領域の位置に相当する領域から、画素単位のシフト量でシフトすることにより特定される、前記第3基準領域に対応する前記比較画像の対応領域の候補となる複数の第2候補領域の輝度値と、に基づいて前記複数の第2候補領域それぞれの第2コスト値を算出する第2算出手段と、
    前記比較画像における前記複数の第2候補領域の前記第2コスト値のうち第2極値に対応する前記シフト量に基づいて、前記第2視差値を導出する第2導出手段と、
    を備えた請求項1〜3のいずれか一項に記載の画像処理装置。
  5. 前記第1算出手段は、前記基準画像の所定位置から下側部分における前記第1基準領域の輝度値と、前記エピポーラ線上で、前記第1基準領域の位置に相当する領域から、画素単位のシフト量でシフトすることにより特定される、前記複数の第1候補領域の輝度値と、に基づいて前記複数の第1候補領域それぞれの第1コスト値を算出し、
    前記合成手段は、前記基準画像の前記所定位置から下側部分における前記第1基準領域の周辺の第2基準領域についての前記比較画像における第1コスト値を、前記第1候補領域の第1コスト値に集約させて、前記複数の第1候補領域それぞれの前記合成コスト値を算出し、
    前記第1導出手段は、前記基準画像の前記所定位置から下側部分に対応して前記第1視差値を導出し、
    前記生成手段は、前記基準画像の前記所定位置から下側部分に対応した前記第1視差値に基づく視差画像を生成する請求項3に記載の画像処理装置。
  6. 前記合成手段は、前記第1基準領域の複数の特定方向で隣接する前記第2基準領域についての前記比較画像における第1コスト値を、前記第1候補領域の第1コスト値に集約させて、前記複数の第1候補領域それぞれの前記各特定方向の経路コスト値を算出し、前記各経路コスト値を合計することにより前記合成コスト値を算出する請求項3に記載の画像処理装置。
  7. 前記デンス処理手段および前記マッチング処理手段は、別々の集積回路によって構成された請求項1〜4のいずれか一項に記載の画像処理装置。
  8. 第1撮像手段が被写体を撮像することにより得られた基準画像、および第2撮像手段が前記被写体を撮像することにより得られた比較画像を取得する取得手段と、
    前記基準画像および前記比較画像に基づいてデンス処理を実行し第1視差値を導出するデンス処理手段と、
    前記基準画像および前記比較画像に基づいてブロックマッチング処理を実行し第2視差値を導出するマッチング処理手段と、
    前記基準画像を構成する各画素が、エッジ部に相当する画素か非エッジ部に相当する画素かを検出し、その検出結果の情報である検出情報を出力する検出手段と、
    前記検出情報が、該検出情報に対応する前記基準画像の画素が前記非エッジ部に相当する画素であることを示す場合、該画素に対応する前記第1視差値を出力し、該検出情報に対応する前記基準画像の画素が前記エッジ部に相当する画素であることを示す場合、該画素に対応する前記第2視差値を出力する選択手段と、
    前記選択手段により出力された前記第1視差値および前記第2視差値によって視差画像を生成する生成手段と、
    を備え、
    前記デンス処理手段および前記マッチング処理手段は、別々の集積回路によって構成された画像処理装置。
  9. 第1撮像手段が被写体を撮像することにより得られた基準画像、および第2撮像手段が前記被写体を撮像することにより得られた比較画像を取得する取得手段と、
    前記基準画像および前記比較画像に基づいてデンス処理を実行し第1視差値を導出するデンス処理手段と、
    前記基準画像および前記比較画像に基づいてブロックマッチング処理を実行し第2視差値を導出するマッチング処理手段と、
    前記基準画像を構成する各画素が、エッジ部に相当する画素か非エッジ部に相当する画素かを検出し、その検出結果の情報である検出情報を出力する検出手段と、
    前記検出情報が、該検出情報に対応する前記基準画像の画素が前記非エッジ部に相当する画素であることを示す場合、該画素に対応する前記第1視差値を出力し、該検出情報に対応する前記基準画像の画素が前記エッジ部に相当する画素であることを示す場合、該画素に対応する前記第2視差値を出力する選択手段と、
    前記選択手段により出力された前記第1視差値および前記第2視差値によって視差画像を生成する生成手段と、
    を備え、
    前記デンス処理手段および前記マッチング処理手段のうち、一方は集積回路によって構成され、他方はプログラムが実行されることにより実現される画像処理装置。
  10. 請求項1〜のいずれか一項に記載の画像処理装置を備えた移動体。
  11. 請求項1〜のいずれか一項に記載の画像処理装置を備えたロボット。
  12. 第1撮像手段が被写体を撮像することにより得られた基準画像、および第2撮像手段が前記被写体を撮像することにより得られた比較画像を取得する取得ステップと、
    前記基準画像および前記比較画像に基づいてデンス処理を実行し第1視差値を導出するデンス処理ステップと、
    前記基準画像および前記比較画像に基づいてブロックマッチング処理を実行し第2視差値を導出するマッチング処理ステップと、
    前記基準画像を構成する各画素が、エッジ部に相当する画素か非エッジ部に相当する画素かを検出し、その検出結果の情報である検出情報を出力する検出ステップと、
    前記検出情報が、該検出情報に対応する前記基準画像の画素が前記非エッジ部に相当する画素であることを示す場合、該画素に対応する前記第1視差値を出力し、該検出情報に対応する前記基準画像の画素が前記エッジ部に相当する画素であることを示す場合、該画素に対応する前記第2視差値を出力する選択ステップと、
    出力した前記第1視差値および前記第2視差値によって視差画像を生成する生成ステップと、
    有する機器制御方法。
  13. 第1撮像手段が被写体を撮像することにより得られた基準画像、および第2撮像手段が前記被写体を撮像することにより得られた比較画像を取得する取得手段と、
    前記基準画像および前記比較画像に基づいてデンス処理を実行し第1視差値を導出するデンス処理手段と、
    前記基準画像および前記比較画像に基づいてブロックマッチング処理を実行し第2視差値を導出するマッチング処理手段と、
    前記基準画像を構成する各画素が、エッジ部に相当する画素か非エッジ部に相当する画素かを検出し、その検出結果の情報である検出情報を出力する検出手段と、
    前記検出情報が、該検出情報に対応する前記基準画像の画素が前記非エッジ部に相当する画素であることを示す場合、該画素に対応する前記第1視差値を出力し、該検出情報に対応する前記基準画像の画素が前記エッジ部に相当する画素であることを示す場合、該画素に対応する前記第2視差値を出力する選択手段と、
    前記選択手段により出力された前記第1視差値および前記第2視差値によって視差画像を生成する生成手段と、
    をコンピュータに実現させるためのプログラム。
JP2014032287A 2014-02-21 2014-02-21 画像処理装置、移動体、ロボット、機器制御方法およびプログラム Active JP6337504B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014032287A JP6337504B2 (ja) 2014-02-21 2014-02-21 画像処理装置、移動体、ロボット、機器制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014032287A JP6337504B2 (ja) 2014-02-21 2014-02-21 画像処理装置、移動体、ロボット、機器制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2015158749A JP2015158749A (ja) 2015-09-03
JP6337504B2 true JP6337504B2 (ja) 2018-06-06

Family

ID=54182706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014032287A Active JP6337504B2 (ja) 2014-02-21 2014-02-21 画像処理装置、移動体、ロボット、機器制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6337504B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6810009B2 (ja) * 2017-09-29 2021-01-06 トヨタ自動車株式会社 視差算出装置
CN111242990B (zh) * 2020-01-06 2024-01-30 西南电子技术研究所(中国电子科技集团公司第十研究所) 基于连续相位稠密匹配的360°三维重建优化方法
EP4094433A4 (en) 2020-01-22 2024-02-21 Nodar Inc. NON-RIGID STEREOSCOPIC VISION CAMERA SYSTEM
CN112347882B (zh) * 2020-10-27 2024-03-22 中德(珠海)人工智能研究院有限公司 一种智能分拣控制方法和智能分拣控制系统
EP4275194A1 (en) * 2021-01-06 2023-11-15 Nodar Inc. Methods and systems for providing depth maps with confidence estimates
US11577748B1 (en) 2021-10-08 2023-02-14 Nodar Inc. Real-time perception system for small objects at long range for autonomous vehicles
WO2023244252A1 (en) 2022-06-14 2023-12-21 Nodar Inc. 3d vision system with automatically calibrated stereo vision sensors and lidar sensor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5106771B2 (ja) * 2005-11-08 2012-12-26 株式会社トヨタマップマスター 路面標示計測装置
JP5188429B2 (ja) * 2009-03-24 2013-04-24 富士重工業株式会社 環境認識装置
JP2013073598A (ja) * 2011-09-29 2013-04-22 Sony Corp 画像処理装置、画像処理方法、及びプログラム

Also Published As

Publication number Publication date
JP2015158749A (ja) 2015-09-03

Similar Documents

Publication Publication Date Title
JP6565188B2 (ja) 視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラム
JP6337504B2 (ja) 画像処理装置、移動体、ロボット、機器制御方法およびプログラム
JP5926228B2 (ja) 自律車両用の奥行き検知方法及びシステム
JP6417886B2 (ja) 視差値導出装置、移動体、ロボット、視差値生産方法、及びプログラム
JP6561512B2 (ja) 視差値導出装置、移動体、ロボット、視差値導出方法、視差値生産方法及びプログラム
WO2017138245A1 (ja) 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム
JP6171593B2 (ja) 視差図からの対象追跡方法及びシステム
JP6306735B2 (ja) ステレオカメラ装置及びステレオカメラ装置を備える車両
JP6589313B2 (ja) 視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラム
JP6455164B2 (ja) 視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラム
EP3545464A1 (en) Information processing device, imaging device, equipment control system, mobile object, information processing method, and computer-readable recording medium
JP6543935B2 (ja) 視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラム
JPWO2017099199A1 (ja) 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム
JP6519138B2 (ja) 視差値導出装置、移動体、ロボット、視差値生産方法、及びプログラム
JP2015230703A (ja) 物体検出装置及び物体検出方法
JP6561511B2 (ja) 視差値導出装置、移動体、ロボット、視差値生産導出方法、視差値の生産方法及びプログラム
JP6387710B2 (ja) カメラシステム、測距方法、およびプログラム
JP6515547B2 (ja) 視差値導出装置、機器制御システム、移動体、ロボット、視差値生産方法、及びプログラム
JP2018146495A (ja) 物体検出装置、物体検出方法、物体検出プログラム、撮像装置、及び、機器制御システム
JP6459482B2 (ja) 視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラム
JP6561688B2 (ja) 検出装置、検出方法、撮像装置、機器制御システム、及びプログラム
JP6442911B2 (ja) 視差値導出装置、移動体、ロボット、視差値導出方法、及びプログラム
KR20190069958A (ko) 동적 객체 검출 장치 및 방법
JP6701738B2 (ja) 視差値導出装置、視差値導出方法及びプログラム
JP2015195019A (ja) 視差値導出装置、移動体、ロボット、視差値導出方法、視差値の生産方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180330

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180423

R151 Written notification of patent or utility model registration

Ref document number: 6337504

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151