IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ キヤノン株式会社の特許一覧

<>
  • 特許-画像処理方法、および画像処理装置 図1
  • 特許-画像処理方法、および画像処理装置 図2
  • 特許-画像処理方法、および画像処理装置 図3
  • 特許-画像処理方法、および画像処理装置 図4
  • 特許-画像処理方法、および画像処理装置 図5
  • 特許-画像処理方法、および画像処理装置 図6
  • 特許-画像処理方法、および画像処理装置 図7
  • 特許-画像処理方法、および画像処理装置 図8
  • 特許-画像処理方法、および画像処理装置 図9
  • 特許-画像処理方法、および画像処理装置 図10
  • 特許-画像処理方法、および画像処理装置 図11
  • 特許-画像処理方法、および画像処理装置 図12
  • 特許-画像処理方法、および画像処理装置 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-22
(45)【発行日】2024-01-05
(54)【発明の名称】画像処理方法、および画像処理装置
(51)【国際特許分類】
   G06T 7/593 20170101AFI20231225BHJP
   G01C 3/06 20060101ALI20231225BHJP
【FI】
G06T7/593
G01C3/06 110V
G01C3/06 140
【請求項の数】 5
(21)【出願番号】P 2019187167
(22)【出願日】2019-10-10
(65)【公開番号】P2021064066
(43)【公開日】2021-04-22
【審査請求日】2022-10-07
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003133
【氏名又は名称】弁理士法人近島国際特許事務所
(72)【発明者】
【氏名】溝花 弘登
(72)【発明者】
【氏名】檀 慶太
【審査官】新井 則和
(56)【参考文献】
【文献】特開2015-179499(JP,A)
【文献】特開2019-120590(JP,A)
【文献】特開2019-159708(JP,A)
【文献】縦断勾配を持つ路面領域の抽出,SSII2011 第17回 画像センシングシンポジウム講演論文集,2011年06月08日
【文献】Accurate and efficient stereo processing by semi-global matching and mutual information,2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05),2005年06月20日,https://ieeexplore.ieee.org/document/1467526
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/593
G01C 3/06
(57)【特許請求の範囲】
【請求項1】
コンピュータが、対象物が撮影された第1画像に基づく基準領域の画像と、前記対象物が撮像された第2画像に基づく複数の比較領域の画像と、を用いて、各比較領域の画像について、視差方向及び画素方向におけるマッチングコストの関係を示すコストマップピクセル単位で算出する第1マッチングコスト算出工程と、
前記コンピュータが、前記ピクセル単位のコストマップの視差方向の単位をサブピクセル単位に細分化して、サブピクセル単位のコストマップを算出する第2マッチングコスト算出工程と、
前記コンピュータが、前記サブピクセル単位のコストマップにおけるマッチングコストの値の比較結果に基づいて、前記サブピクセル単位のコストマップのマッチングコストにペナルティコストを付与して、前記基準領域に関する合成コストを算出する合成コスト算出工程と、を備えた、
ことを特徴とする画像処理方法。
【請求項2】
請求項1に記載の画像処理方法の各工程を前記コンピュータに実行させるための制御プログラム。
【請求項3】
請求項に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項4】
画像処理装置であって、
対象物が撮像された第1画像および第2画像を取得する画像取得部と、
前記第1画像に基づく基準領域の画像と、前記第2画像に基づく複数の比較領域の画像と、を用いて、各比較領域の画像について、視差方向及び画素方向におけるマッチングコストの関係を示すコストマップをピクセル単位で算出し、前記ピクセル単位のコストマップの視差方向の単位をサブピクセル単位に細分化して、サブピクセル単位のコストマップを算出するコストマップ生成部と、
前記サブピクセル単位のコストマップにおけるマッチングコストの値の比較結果に基づいて、前記サブピクセル単位のコストマップのマッチングコストにペナルティコストを付与して、前記基準領域に関する合成コストを算出する合成コスト生成部と、を備え
ことを特徴とする画像処理装置。
【請求項5】
請求項に記載の画像処理装置であって、前記サブピクセル単位のコストマップの視差単位に関するユーザ指定を受け付けるユーザインターフェースを備えた画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所定の基線長だけ離間した位置からそれぞれ撮像された第1画像、および第2画像に撮像されている被写体の視差量を算出する画像処理方法、および画像処理装置に関する。
【背景技術】
【0002】
被写体を所定の基線長だけ離間した位置からステレオ撮像することにより得た、複数、例えば2枚の視差画像から視差を算出する方法が種々提案されている。例えば、画像間においてブロックマッチング法などの画像探索処理によって互いに対応する対応点を検出し、各画像における対応点の位置(座標)の相違量から視差を算出する方法がある。
【0003】
画像探索処理では、一方のカメラによって撮影された画像内の基準領域と、他方のカメラによって撮影された画像内の比較領域を比較し、領域間のマッチングコストを求める。ここで言うマッチングコストとは、2つの同じ大きさの画像がどれほど異なっているかを表す指標である。例えば、SAD(Sum of Absolute Difference)法による比較では、マッチングコストには各画像内の同一座標における画素値の差の絶対値を全画素について足し合わせた値が用いられる。SAD法のマッチングコストは、2つの画像が全く同じ時0となり、画像が異なったものであるほど大きくなる。SAD法では、複数の比較領域について比較を行い、最もマッチングコストが小さくなる比較領域を基準領域に対する対応点とすることで視差を算出することができる。
【0004】
領域間の比較手法には、SAD法の他、SSD(Sum of Squared Difference)法、ZNCC(Zero means Normalized Cross Correlation)法などがある。SAD法やSSD法の場合には算出された結果値をマッチングコストとして利用できる。なお、ZNCC法の場合には比較された結果値(マッチングコスト)は領域間の類似度が高いほど高くなる。この場合、結果値の逆数が最も高い領域を対応点とする、マッチングコストとしての結果値が最も高い領域を対応点とするなどの視差算出方法の修正を行う。
【0005】
画像探索処理によって算出される視差はピクセル単位であるため、画像の分解能によっては必要な視差分解能を得られない場合がある。そのような場合には、マッチングコストの分布を適当なマッチングコスト分布関数にフィッティングすることで、視差をより細かい精度、すなわちサブピクセル精度で算出できる(例えば下記の非特許文献1)。
【0006】
また、算出した視差量に三角測量の原理を適用することにより、カメラから物体までの距離の計測などを行うことができる。ところが、物体表面のテクスチャが弱く輝度変化に乏しい場合や、撮影された画像にノイズが生じた場合には、画像探索処理ではマッチングコストの算出に誤差が生じやすくなり、視差算出の精度が低下する。
【0007】
このような問題を考慮し、注目する基準領域のマッチングコスト情報だけでなく、画像全体のマッチングコストを集約したコストマップを生成し、注目領域の周辺の基準領域のマッチングコストを用い準大域的最適化を行う技術が知られている。例えば、この手法としてSGM(Semi-Global Matching)法が知られており(例えば下記の非特許文献2)、この手法によると、精度の高い視差演算が可能となる。この種の手法で用いられるコストマップは、例えば全ての基準領域と比較領域の組合せについて算出したマッチングコストを3次元の配列に格納したものである。SGM法は精度と処理速度を両立可能な視差算出法として利用されており、SGM法を利用した視差演算方法として種々の提案が知られている(例えば下記の特許文献1)。
【先行技術文献】
【特許文献】
【0008】
【文献】特開2015-143677号公報
【非特許文献】
【0009】
【文献】画像のマッチングにおけるサブピクセル推定の意味と性質(電子情報通信学会論文誌 D Vol.J85-D2 No.12 pp.1791-1800)
【文献】Stereo Processing by Semiglobal Matching and Mutual Information(IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 30, no. 2, pp. 328-341, Feb. 2008)
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明の課題を説明すべく、以下では、まず、公知のSGM法による視差演算の概要について説明する。サブピクセル推定に関しては非特許文献1、SGM法に関しては非特許文献2に開示されている。このため、以下では本発明の課題に関わるSGM法の概要について説明する。また、説明の便宜のため、入力となる画像は平行ステレオカメラによって撮影され、予めレンズの歪などを除去した平行化画像であるものとする。
【0011】
SGM法を利用した視差演算は、大別して、コストマップ生成処理および合成コストマップ生成処理、サブピクセル視差生成処理の3ステップからなる。
【0012】
コストマップ生成処理では、二つのカメラから得られた第1画像および第2画像から、SAD法など公知の方法によってコストマップを生成する。例えば、図1(a)は第1のカメラで撮像した第1画像中のある矩形領域(基準領域)を、また、図1(b)は第2のカメラで撮像した第2画像中のある基準領域と同じ大きさの矩形領域(比較領域)を示す。このコストマップは、第1画像中の矩形領域(基準領域)に対する第2画像中の基準領域と同じ大きさの矩形領域(比較領域)とのマッチングコストを基準領域のx座標およびy座標、視差ごとに算出した各マッチングコストを3次元配列に格納したものである。
【0013】
例えば、図1(a)に示すx座標=x、y座標=yを左上位置とする基準領域に対し、視差候補d=0~Dピクセルの範囲に対しピクセル単位でマッチングコストを算出する場合を考える。この場合、図1(b)に示すx座標=x~x-d、y座標=yを左上とする比較領域のそれぞれについてマッチングコストを算出し、図1(c)のように3次元配列のコストマップに格納する。図1(d)は3次元配列のコストマップの一部をy=0の平面、すなわち、x座標=0~4、y座標=0、視差候補d=0~4の5ピクセル(図1(c)の斜線部)について切り出した一例を示している。図1(d)では、第1画像中の5つの画素にそれぞれについて、視差候補d=0~4に対応して算出されたマッチングコストが格納されている。
【0014】
マッチングコストの算出法にSAD法を用いた場合、マッチングコストは基準領域と比較領域の各画素の輝度値の差の絶対値の和となる。すなわち、x座標=x、y座標=y、視差=dのマッチングコストC(x、y、d)は下記の(式1)のように表すことができる。ただし、(式1)において、S(X,Y)はx座標=x、y座標=yにおける第1画像の輝度値、R(X-d,Y)はx座標=x、y座標=yにおける第2画像の輝度値を表す。また、Bは基準領域のx方向の大きさ、Bは基準領域のy方向の大きさを表す。
【0015】
【数1】
【0016】
なお、以上の(式1)では、便宜上、視差候補を0~Dピクセルとしたが、カメラの設置方法や事前の画像処理によって視差候補は負の値で表現されるものであってもよい。また、(式1)は第1画像が平行ステレオカメラの左カメラ、第2画像が右カメラによって撮影された場合の一例であって、第1画像および第2画像を撮像する撮像装置の構成によっては、各比較領域の座標等は異なるものとなる。なお、第1画像および第2画像において、x座標=xと画像端の間にBピクセル分の画素が存在しない場合など、(式1)を適用できない画素も存在する。そのような画素に対しては、マッチングコストを算出しない、第1画像および第2画像の周辺に適当な画素値を持った画素を追加する、など計算を実施するために例外的な処理を行うようにしてよい。また、以下、文中でチルダ、ハット、ダッシュなどの記号を含む合字(リガチャ)を用いた文字式を引用する場合、これらの記号は文字に後置して表記するものとする。
【0017】
合成コストマップ生成処理では、コストマップ生成処理によって生成されたコストマップに、視差量の変化に対するペナルティコストP1、P2を合成することで合成コストマップを生成する。合成コストの算出では、まず、あるコスト集約方向rについて、画像端から順にr方向合成コストLを算出する。ここで、rはある注目画素座標p=(x、y)について、その次に注目する、pに隣接した画素座標p’が、p’-p=rで表されるようなベクトルである。例えば、x正方向にコストを集約していく場合、rはr=(1、0)となり、また、x、y座標について負方向に斜め45度にコストを集約していく場合、rはr=(-1、-1)となる。SGM法では、複数のコスト集約方向rそれぞれについて算出したr方向合成コストLを用いて、合成コストLを算出する。
【0018】
ここで、図2は8方向からコストを集約する場合のコスト集約方向の例を示している。同図では、区別のため各コスト集約方向rに添え字を付し、i番目のコスト集約方向をコスト集約方向rと示している。なお、コスト集約方向rは、例えば4方向に取る、16方向に取る、などいくつ設定してもよい。
【0019】
具体的には、Lは、下記の(式2)を用いて計算することができる。ただし、(式2)において、C(p、d)=C(x、y、d)である。
【0020】
【数2】
【0021】
(式2)において、注目画素におけるr方向合成コストLは、一つ前に注目した画素のr方向合成コストLが最も小さくなる視差と同じ視差でマッチングコストと等しくなる。そして、注目画素におけるr方向合成コストLは、1ピクセル変化した視差の場合はP1、また、2ピクセル以上変化した視差の場合はP2のペナルティコストをマッチングコストに加えた値になる。また、SGM法により適切な結果を得るためには、P1およびP2はP1<P2の関係を満たす必要がある。このP1,P2は、カメラの構成、制御条件、設置環境、被写体などの特徴に応じて、ユーザがユーザインターフェースを介して設定するようにしておく。あるいは、カメラの構成、制御条件、設置環境、被写体などの特徴に応じて、制御装置が自動的に設定する構成であってもよい。
【0022】
P1,P2は、例えば、視差量算出単位である第1画像の基準領域のx方向、y方向の大きさに応じて決定することができる。例えば、後述の実施形態においては、各画像の輝度値を0~255の整数値で表現し、P1=8×B×B、P2=24×B×Bのような値を用いている。
【0023】
即ち、ペナルティコストP1,P2は、マッチングコストの視差量算出単位に比例した値に取ることができ、このペナルティコストP1,P2をマッチングコストに作用させることにより、基準領域に関する合成コストを算出することができる。
【0024】
図3に、r方向の合成コストの算出過程の具体的な一例を示す。図3(a)は、y=0平面で切り出したコストマップの一部の理想値の一例を、また、図3(c)は実際に得られた値の一例を示す。なお、図3(a)、(c)中の太字部分は同一の画素について最も小さいマッチングコストを示す。この例では、x=2の画素において、画像のノイズなどに起因するマッチングコスト算出誤差の影響があって、d=4で最小となっているが、他の画素はマッチングコストが正しく算出されていると仮定している。実際の画像においては、あるノイズに対してマッチングコスト算出誤差は複数の画素に生じるが、ここでは、説明の便宜のためx=2の画素でのみ発生したと仮定する。図3(e)はこのコストマップを、r=(1、0)に従って、P1=20,P2=40で画像左端からコストを集約した例を示している。また、図中の矢印は(式2)の第2項のmin関数において、どの候補値が集約されたかを示している。まず、x=0の画素は画像端のため、マッチングコストがそのままr方向合成コストとなる。
【0025】
次に、x=1の画素について、図3(f)によりコスト集約の方法の詳細を説明する。図3(f)はx=1における視差候補d(1)を列、x=0における視差候補d(0)を行に取って、(式2)の第2項のmin関数内の候補値を並べたものである。
【0026】
すなわち、一つの列が、ある視差候補値d(1)に対するmin関数内の全候補値を表している。例えば、d(1)=0の列について、d(0)=0のセルは視差変化がないためC((0、0)、0)=20がそのまま候補値となっている。d(0)=1のセルは視差変化が1ピクセル発生するためC((0、0)、1)にペナルティコストP1=20を加えた値30となっている。また、d(0)=2~5のセルは視差変化が2ピクセル以上発生するため、C((0、0)、d(0))にペナルティコストP2=40を加えた値が候補値となる。以上の候補値のうち、最も値が小さいd(0)=0の候補値が集約される。また、d(0)のマッチングコストが最小となるのはd(0)=1の時であるため、L((1、0)、0)=C((1、0)、0)+C((0、0)、0)-C((0、0)、1) と算出される。同様の計算をd(1)=1~5についても行い、これにより、d(1)=1,2についてd(0)=1、d(1)=3,4についてd(0)=4、d(1)=5についてd(0)=5の候補値がそれぞれ集約されることになる。
【0027】
続いて、x=2の画素に注目すると、全ての視差候補に対してd(1)=1の候補値が選択され、d(2)=1以外のコストにペナルティコストが合成される。これによって、L((2、0)、1)=30、L((2、0)、4)=60となり、d(2)=1のr方向合成コストが正しく最小となる。また、x=3、x=4の画素に注目すると、最小マッチングコストは、正しく算出されているため、他の視差に対するマッチングコストよりも大幅に小さくなっている。x=2においてr方向合成コストが最小となるd=1と、x=3、x=4でマッチングコストが最小となる視差はそれぞれ異なっている。このため、これらの画素ではペナルティコストが合成されるが、コストが最小となる視差は変化せず、正しい視差が保持される。同様の過程を繰り返すことによって、画像右端までr方向合成コストを算出することができる。
【0028】
さらに、(式2)を用いてr方向について算出されたr方向合成コストLそれぞれを用いて、合成コストLを下記の(式3)によって算出することができる。
【0029】
【数3】
【0030】
サブピクセル視差生成処理では、合成コストマップ生成処理によって生成された合成コストマップから、第1画像の各画素について、最も類似度の高くなる視差を推定する。カメラによって撮影された画像は通常、輝度値がなめらかに変化する。そのため、合成コストも何らかの相関関数に従ってなめらかに変化しているとみなすことができ、その相関関数が最も小さくなる視差がサブピクセル精度の視差となる。
【0031】
サブピクセル視差推定では、第1画像のある画素について、合成コストが最も小さくなる視差およびその前後の視差に対する3つの合成コストを、二次関数にフィッティングすることで相関関数を推定できる。ここで、相関関数は二次関数だけでなく、一次対称関数や非対称な関数を用いても良い。また、フィッティングする合成コストは3つだけでなく、より多くの値を使ってもよい。
【0032】
以下では、図4を参照して、相関関数を二次関数として、3つの視差に対する合成コストを用いてサブピクセル視差を推定する方法をより具体的に説明する。ある第1画像の画素座標pにおいて、合成コストマップ中で最も合成コストが小さくなる視差をd、サブピクセル精度の視差をdとし、d’=d-dとする。図4は合成コストL(p、d’+d)をd’の二次関数としてグラフ化したものである。ここで、合成コストL(p、d’+d)=a((d’-b))+cとみなしてよく、下記の(式4)の関係が成り立つ。ただし、Aは行列Aの転置を表す。
【0033】
【数4】
【0034】
(式4)をbについて解くと、bは下記の(式5)のように求めることができる。
【数5】
この(式5)の結果を用いて、サブピクセル精度の視差をd=d+bと算出することができる。第1画像の各画素についてサブピクセル視差推定を行うことにより、画像全体に対するサブピクセル視差を生成できる。以上のようにして、SGM法による視差演算を行うことができる。
【0035】
最後に、図3を参照して、視差演算におけるSGM法の効果の例を説明する。図3(b)はサブピクセル精度の視差理想値dgtを表形式によって示している。図3(d)、(g)はそれぞれ図3(c)コストマップ、および図3(e)の合成コストマップからサブピクセル視差を推定した結果と、理想値dgtとの差を表形式によって示している。ただし、この例では、合成コストマップ生成処理において、r=(1、0)方向にのみコストを集約している。図3(d)ではx=2の画素について3ピクセル以上の誤差が発生していたが、図3(g)ではその誤差が0.04ピクセルまで修正されている。また、同時に、x=3,4の画素については、視差変化を平滑化する効果によって、視差が小さく推定されている。
【0036】
以上にSGM法の概略を示したが、一般に、基線長が短いステレオカメラにおいては、物体とカメラの距離が変わっても視差変化量が小さく、1ピクセル(画素)以下になる場合が多々ある。一方で、従来のSGM法はピクセル単位で算出されたマッチングコストを集約したコストマップを生成し、隣接画素と視差値が1ピクセル以上異なる場合にはペナルティコストを与えることで最適化を行う。従って、隣接画素との視差変化量が1ピクセル以下になる場合には、最適化の効果を得ることができず、マッチングコストの誤差が修正されないため、視差算出の精度が低下するという課題が生じる。
【0037】
本発明の課題は、上記事情に鑑み、基線長が短いステレオカメラにおいても、例えばSGM法を用いて、精度よく視差量を算出でき、算出した視差量に基づき、高精度な3次元計測を行えるようにすることにある。
【課題を解決するための手段】
【0038】
本発明一態様は、コンピュータが、対象物が撮影された第1画像に基づく基準領域の画像と、前記対象物が撮像された第2画像に基づく複数の比較領域の画像と、を用いて、各比較領域の画像について、視差方向及び画素方向におけるマッチングコストの関係示すコストマップをピクセル単位で算出する第1マッチングコスト算出工程と、前記コンピュータが、前記ピクセル単位のコストマップの視差方向の単位をサブピクセル単位に細分化して、サブピクセル単位のコストマップを算出する第2マッチングコスト算出工程と、前記コンピュータが、前記サブピクセル単位のコストマップにおけるマッチングコスト値の比較結果に基づいて、前記サブピクセル単位のコストマップのマッチングコストにペナルティコストを付与して、前記基準領域に関する合成コストを算出する合成コスト算出工程と、を備えた、ことを特徴とする画像処理方法である。
本発明一態様は、画像処理装置であって、対象物が撮像された第1画像および第2画像を取得する画像取得部と、前記第1画像に基づく基準領域の画像と、前記第2画像に基づく複数の比較領域の画像と、を用いて、各比較領域の画像について、視差方向及び画素方向におけるマッチングコストの関係を示すコストマップをピクセル単位で算出し、前記ピクセル単位のコストマップの視差方向の単位をサブピクセル単位に細分化して、サブピクセル単位のコストマップを算出するコストマップ生成部と、前記サブピクセル単位のコストマップにおけるマッチングコスト値の比較結果に基づいて、前記サブピクセル単位のコストマップのマッチングコストにペナルティコストを付与して、前記基準領域に関する合成コストを算出する合成コスト生成部と、を備えた、ことを特徴とする画像処理装置である。
【発明の効果】
【0039】
上記構成によれば、最適化を行う前にコストマップをサブピクセル化することで、1ピクセル以下の分解能で最適化を行うことができ、1ピクセル以下の視差変化に対してもペナルティコストを与えることが可能になる。したがって、最適化の効果を十分に得ることができ、視差変化量が小さい場合でもマッチングコストの誤差を修正することができる。即ち、上記構成によって、基線長が短いステレオカメラにおいても、例えばSGM法を用いて、精度よく視差量を算出でき、算出した視差量に基づき、高精度な3次元計測を行うことができる。
【図面の簡単な説明】
【0040】
図1】コストマップ生成処理に関し、(a)は基準領域、(b)は比較領域、(c)はコストマップ、(d)はコストマップの一部をある平面で切り出した例をそれぞれ示す説明図である。
図2】合成コスト生成処理におけるコスト集約の説明図である。
図3】SGM法による視差演算の例を示したもので、(a)はコストマップの理想値、(b)はサブピクセル視差の理想値、(c)は実際に得られたコストマップをそれぞれ示す説明図である。また、(d)は(c)から推定されたサブピクセル視差、(e)は合成コストマップ、(f)は合成コスト生成方法の説明図、(g)は(e)から推定されたサブピクセル視差をそれぞれ示す説明図である。
図4】サブピクセル視差生成処理における相関関数を示した説明図である。
図5】本発明の実施形態1に係る視差演算装置の概略構成を示した説明図である。
図6】本発明の実施形態1に係る視差演算処理の全体の流れを示すフローチャート図である。
図7】本発明の実施形態1に係る視差演算処理の詳細な流れを示し、(a)はコストマップ生成処理のフローチャート図、(b)はサブピクセル視差生成処理のフローチャート図である。
図8】従来のSGM法における課題を示したもので、(a)はコストマップの理想値、(b)はサブピクセル視差の理想値、(c)は実際に得られたコストマップをそれぞれ示す説明図である。また、(d)は(c)から推定されたサブピクセル視差、(e)は合成コストマップ、(f)は(e)から推定されたサブピクセル視差をそれぞれ示す説明図である。
図9】実施形態1によって課題が解決される例を示したもので、(a)はサブピクセル単位コストマップ、(b)は合成コストマップ、(c)は(b)から推定されるサブピクセル視差をそれぞれ示す説明図である。
図10】本発明の実施形態2に係るコストマップ生成処理の詳細な流れを示すフローチャート図である。
図11】本発明の実施形態2に係るコストマップサブピクセル化の説明図である。
図12】本発明の実施形態2によって課題が解決される例で、(a)はサブピクセル単位コストマップ、(b)は合成コストマップ、(c)は(b)から推定されるサブピクセル視差をそれぞれ示した説明図である。
図13】本発明を実施可能な画像処理装置の制御系の具体的な構成の一例を示したブロック図である。
【発明を実施するための形態】
【0041】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【0042】
以下に述べる実施形態は、2つの撮像装置により得られる画像から視差を算出する装置に関するものである。本実施形態の構成は、その演算結果を用いて被写体と装置の距離計測、被写体の形状計測などに利用できる。特に、本実施形態の構成は、基線長の小さなステレオカメラなどを利用した小規模なシステムで視差を算出する場合に好適に適用することができる。
【0043】
なお、以下では、便宜上、第1撮像装置および第2撮像装置はモノクロ平行ステレオカメラ、すなわち、光軸が平行かつカメラ位置に上下(y)方向のずれがなく、撮影される画像はレンズの歪などを除去したモノクロの平行化画像であるものとする。また、コストマップ生成にはSAD法を用いるものとする。ただし、これらの条件は、本発明を限定するものではなく、異なるカメラ設定、例えば光軸が交わっていたり、ねじれの位置にあったり、カラーカメラであったりしても本発明は実施できる。また、SAD法以外の方法、例えばSSD法やZNCC法を用いる場合でも本発明は実施可能である。
【0044】
<実施形態1>
図5は本実施形態において、本発明の画像処理方法として視差演算を実施する画像処理装置100の概略構成を示している。
【0045】
図5の画像処理装置100は、装置本体101、第1撮像装置102、第2撮像装置103、入力装置109、出力装置110、記憶装置111などのハードウェアから構成される。第1撮像装置102および第2撮像装置103はカラーまたはモノクロの静止画あるいは動画像を同時に、同じ設定条件で撮影し装置本体101に取り込むためのデバイスである。これらの撮像装置は、例えば、撮像光学系が互いに平行に配置された2台のデジタルカメラや、ステレオカメラなどにより構成できる。
【0046】
また、第1撮像装置102および第2撮像装置103は、像面位相差方式を用いたカメラなど、一つの装置で複数の画像を撮影できるデバイスが第1撮像装置102および第2撮像装置103両方の機能を備えていても良い。本実施形態では、第1撮像装置102および第2撮像装置103は、別体構成であるものとするが、必ずしも2台の撮像装置を用いてステレオ撮影を行わなくても構わない。例えば、1台の撮像装置を用いて、被写体と撮像装置を相対移動させ、第1撮像装置102、第2撮像装置103の基線長に相当する距離、離間した異なる撮像位置で複数回撮影を行うことにより、2台の撮像装置を用いる場合と同様の撮像を行うことができる。
【0047】
第1撮像装置102、第2撮像装置103により撮像する被写体104は、例えば物品を製造する生産ラインで取り扱われ、あるいは検査されるワークや、生産ラインに配置されたロボット装置や搬送装置の特定部位である。第1撮像装置102、第2撮像装置103によるステレオ撮影により、例えば、これらワークやロボット装置、搬送装置の3次元空間における位置や姿勢を測定することができ、その測定結果に基づき、物品の製造処理を制御することができる。
【0048】
入力装置109は、ユーザが装置本体101に対し指示を入力するために操作するデバイスであり、例えば、マウス、キーボード、タッチパネル、専用コンソールなどを利用できる。出力装置110は算出した視差をユーザや外部装置に表示、出力するデバイスであり、例えば、液晶ディスプレイによる表示や、ネットワークケーブルによるデータ送信などを利用可能である。入力装置109および出力装置110によって、ユーザインターフェース装置400(図13)を構成することができる。このユーザインターフェース装置400は、例えば、後述のサブピクセル単位のマッチングコストの視差量算出単位に関するユーザ指定を受け付けるために用いることができる。
【0049】
記憶装置111は画像処理装置100が視差演算処理において参照する各種の設定情報(撮像装置の設定、視差演算処理の設定値、視差演算プログラムなど)や撮像結果、視差演算結果などを格納するデバイスである。記憶装置111には、例えばROM、RAMなどのメモリデバイス、HDDやSSDなどの外部記憶装置の他、フラッシュメモリ、ネットワークストレージなどの着脱可能な記録媒体を用いることができる(図13参照)。
【0050】
装置本体101は、後述の図13に詳細な一例を示すが、CPU(中央演算処理装置)、主記憶装置(RAM)、補助記憶装置(ROM,HDD,SSDなど)などのハードウェアを備えたコンピュータで構成することができる。また、後述の演算は、GPU(画像演算処理装置)およびGPUメモリ(VRAM)を用いて行うことができ、これによりシステム高速化することができる。
【0051】
装置本体101は、画像取得部105、コストマップ生成部106、合成コスト生成部107、サブピクセル視差生成部108などの機能ブロックを有する。
【0052】
画像取得部105は第1撮像装置102および第2撮像装置103から画像を取得するための機能、コストマップ生成部106は画像取得部105で取得した画像からマッチングコストを生成する機能である。また、合成コスト生成部107は第1画像に含まれる基準領域と複数の異なる比較領域とについて、それぞれ算出された第1のマッチングコストと、第2のマッチングコストと、の比較結果に基づき、合成コストを生成する機能ブロックに相当する。サブピクセル視差生成部108は前記合成コストからサブピクセル単位の視差算出結果を生成する機能に相当する(視差量生成部)。例えば、これらの機能は、補助記憶装置または記憶装置111に格納されたコンピュータ・プログラムが主記憶装置に読み込まれ、CPUまたはGPUによって実行されることにより実現される(図13参照)。
【0053】
なお、図5は装置構成の一例を示すものに過ぎず、第1撮像装置102、第2撮像装置103、入力装置109、出力装置110、記憶装置111の全部または一部を装置本体101に一体化してもよい。なお装置本体101はパーソナルコンピュータやスレート型端末のようなコンピュータで構成しても良いし、あるいは、専用チップやオンボードコンピュータなどで構成してもよい。
【0054】
ここで、図13図1の画像処理装置100を構成する制御系の具体的なハードウェア構成の一例を示しておく。同図のような制御系は、例えばいわゆるPCフォームの実装形態で実現できる。
【0055】
図13の制御系は、主制御手段としてのCPU1601、記憶装置としてのROM1602、およびRAM1603を備えたPCハードウェアなどによって構成することができる。ROM1602には、本実施形態の画像処理手順を実現するためのCPU1601の制御プログラムや定数情報などを格納しておくことができる。また、RAM1603は、その制御手順を実行する時にCPU1601のワークエリアなどとして使用される。また、図13の制御系には、外部記憶装置1606が接続されている。外部記憶装置1606は、本発明の実施には必ずしも必要ではないが、HDDやSSD、ネットワークマウントされた他のシステムの外部記憶装置などから構成することができる。
【0056】
本実施形態の画像処理、例えば検査領域特定部112と検査処理部113の処理を実現するためのCPU1601の制御プログラムは、上記の外部記憶装置1606やROM1602(例えばそのEEPROM領域)のような記憶部に格納しておく。その場合、本実施形態の制御手順を実現するためのCPU1601の制御プログラムは、ネットワークインターフェース1607を介して、上記の各記憶部に供給し、また新しい(別の)プログラムに更新することができる。あるいは、後述の制御手順を実現するためのCPU1601の制御プログラムは、各種の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのためのドライブ装置を経由して、上記の各記憶部に供給し、またその内容を更新することができる。本実施形態の制御手順を実現するためのCPU1601の制御プログラムを格納した状態における各種の記憶手段、記憶部、ないし記憶デバイスは、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。
【0057】
ネットワーク1608を介して通信するためのネットワークインターフェース1607は、例えばIEEE 802.3のような有線通信、IEEE 802.11、802.15のような無線通信による通信規格を用いて構成することができる。CPU1601は、ネットワークインターフェース1607、ネットワークインターフェース1608を介して、他の外部装置1104と通信することができる。画像処理装置100が配置されたシステムの統轄制御装置やサーバ装置に相当する。インターフェース1605はCPU1601が外部装置、周辺回路などと通信するためのインターフェースであり、たとえば、第1撮像装置102、第2撮像装置103はこのインターフェース1605を介して接続することができる。あるいは、第1撮像装置102、第2撮像装置103はネットワークインターフェース1607、ネットワークインターフェース1608を介して接続する形態であってもよい。
【0058】
また、図13の制御装置は、ユーザインターフェース装置400(UI装置)を備える。ユーザインターフェース装置400としては、LCDディスプレイ、キーボード、ポインティングデバイス(マウス、ジョイスティックなど)などから成るGUI装置を配置してもよい。このようなユーザインターフェース装置400を介して、画像処理の進行状況をユーザに報知することができる。あるいは、ユーザインターフェース装置400を介して画像処理を制御する各種パラメータのユーザ設定などを行わせることができる。
【0059】
(視差演算処理)
以下では、図6図7を参照して、本実施形態の画像処理装置100の視差演算処理につき説明する。図6は視差演算処理の全体の流れを、また、図7は実施形態1における視差演算処理の詳細な流れを示す。図6図7のフローチャートに図示した制御手順は、CPU1601(図13)が実行可能な画像処理プログラムとして記述され、例えば記憶装置111の任意の記憶デバイスに格納しておく(後述の他のフローチャートにおいても同様)。
【0060】
図6の画像撮影ステップ(S20)では、画像取得部105の制御によって、第1撮像装置102および第2撮像装置103を用いて被写体104が同時に撮影され、第1画像および第2画像が装置本体101に取り込まれる。なお、被写体と装置がともに固定されているなどの条件が満たされている場合など、被写体の撮影画像が時刻によって変化しない場合には、撮像は上記のように同時に行わなくても構わない。また、事前に撮影された画像が装置本体の補助記憶装置や記憶装置111の中に存在する場合には、撮影の代わりに補助記憶装置や記憶装置111からデータを読み込んでもよい。ここで撮影された第1画像および第2画像は、必要に応じて出力装置110に表示させることができる。あるいは、画像の一部分の視差のみを算出するために注視領域をユーザ入力させるために用いるなど、視差演算以外の他の処理にも利用されるものであってもよい。
【0061】
コストマップ生成ステップ(S21)では、コストマップ生成部106が、画像撮影ステップ(S20)で取り込まれた第1画像および第2画像から、サブピクセル単位のマッチングコストを算出し、サブピクセル単位のコストマップを生成する。コストマップ生成ステップ(S21)は、画像高解像度化ステップ(S30)、およびサブピクセル単位コストマップ生成ステップ(S31)からなる。
【0062】
画像高解像度化ステップ(S30)では、画像撮影ステップ(S20)で取り込まれた第1画像および第2画像を高解像度化し、第1高解像度画像および第2高解像度画像を生成する。この高解像化処理としては、ニアレストネイバー法やバイキュービック法など、例えば画像を拡大・高解像度化する任意の手法を適用できる。この時、第1画像および第2画像を何倍に高解像度化するかによって、SGM法によって修正される視差の大きさが変化する。
【0063】
例えば、第1画像および第2画像において0.5ピクセルの視差推定誤差をなめらかに修正したい場合、2倍に高解像度化することで高解像度画像における視差変化が1ピクセルとなり、SGM法による誤差修正が可能となる。また、画像の高解像度化はx、y両方向に行っても良いし、第1画像および第2画像が構成するステレオ画像のエピポーラ線方向にのみ高解像度化しても良い。また、この高解像度化は、エピポーラ線方向における視差変化を増大するためのもので、エピポーラ線に直交する方向への高解像度化は視差量誤差低減の効果がない。そのため、例えば平行ステレオカメラであれば、x方向にのみ高解像度化すれば後述同様の効果を得ることができ、計算負荷を低減できる。
【0064】
サブピクセル単位コストマップ生成ステップ(S31)では、画像高解像度化ステップ(S30)で生成した第1高解像度画像および第2高解像度画像に対して、SAD法などの画像探索処理を用いて、ピクセル単位のマッチングコストを算出する。これにより、コストマップを生成する。この時、第1画像および第2画像に対して当業者が経験的に定めた基準領域の大きさを、画像の高解像度化倍率と同じだけ拡大しても良く、それによって、当業者が意図したのと同じ画像領域を基準領域に設定できる。なお、生成されたコストマップは、第1高解像度画像に対してはピクセル単位である。しかし、当然ながら、例えば第1高解像度画像における1ピクセルの視差が第1画像に対しては0.5ピクセルに該当するのであれば、第1画像に対してはサブピクセル単位でマッチングコストを算出し、コストマップを生成したことになる。
【0065】
合成コスト生成ステップ(S22)では、合成コスト生成部107が、コストマップ生成ステップ(S21)で生成されたサブピクセル単位コストマップに対して、SGM法を用いて合成コストマップを生成する。この時、合成コストマップ生成に用いる上述のペナルティコストP1およびP2の値には、ユーザインターフェース装置からユーザが入力した値を用いるよう、システムを構成しておくことができる。また、ペナルティコストP1、P2は、事前に予め行ったユーザ入力に対応するデフォルト値が記憶装置111に設定される、あるいは、もしくは視差演算実行時に、入力装置109などからその都度、入力、設定されるものであってよい。
【0066】
サブピクセル視差生成ステップ(S23)では、サブピクセル視差生成部108が、合成コスト生成ステップ(S22)で生成された合成コストマップから各基準領域に対するサブピクセル単位の視差を推定し、視差分布を算出する。サブピクセル視差生成ステップ(S23)は、高解像度サブピクセル視差生成ステップ(S32),サブピクセル視差低解像度化ステップ(S33)からなる。
【0067】
高解像度サブピクセル視差生成ステップ(S32)では、合成コスト生成ステップ(S22)で生成された合成コストマップから、第1高解像度画像の各画素についてサブピクセル視差を生成する。この時、サブピクセル視差推定は二次関数に合成コストをフィッティングすることで推定しても良いし、非対称関数にフィッティングするなどその他の公知の方法を用いても良い。
【0068】
サブピクセル視差低解像度化ステップ(S33)では、高解像度サブピクセル視差生成ステップ(S32)で推定した第1高解像度画像に対するサブピクセル視差の低解像度化を行う。高解像度サブピクセル視差生成ステップ(S32)で推定したサブピクセル視差は高解像度化画像に対するものであるため、第1画像に対するサブピクセル視差を生成する必要がある。そのため、例えば、高解像度サブピクセル視差生成ステップ(S32)で推定したサブピクセル視差の分布を画像とみなし、第1画像に対する第1高解像度画像の倍率分縮小することで第1画像に対するサブピクセル視差を生成する処理を行う。この時の縮小処理は、バイキュービック法や画像のリサンプリングなど、公知の画像縮小方法であればいずれの方法も適用可能である。
【0069】
以上の処理のようにして、本実施形態の一組の第1画像および第2画像に対する視差算出を行うことができる。なお、動画像や連続撮影した静止画を用いる場合には、上述の処理を各々の第1画像および第2画像について繰り返し実行すればよい。
【0070】
本実施形態によれば、以下のような作用効果を期待できる。例えば、従来のピクセル単位のコストマップに対してSGM法を適用しても、基線長が短く、視差変化が1ピクセル以下になる場合には、(式4)でペナルティコストP1,P2の合成が行われない。このために、r方向合成コストLがマッチングコストCと等しくなってしまう。一方、本実施形態においてサブピクセル単位のコストマップにSGM法を適用すると、マッチングコストが最小となる視差に変化が生じる。従って、ペナルティコストを合成することにより、なめらかな視差変化となるような合成コストマップを生成することができる。
【0071】
ここで、図8図9を参照し、本実施形態の作用効果を説明する。図8は従来のSGM法による視差演算の例、図9は同じ画像に対して本実施形態における視差演算方法を適用した場合の例を示している。
【0072】
図8(a)は第1撮像装置102および第2撮像装置103の基線長が短い場合に得られるコストマップの理想値の表である。また、図8(c)は従来のコストマップ生成処理によって実際に得られたコストマップ、図8(e)はコストマップからr=(1、0)方向にのみコストを集約した合成コストマップを示す。また、図8(b)はサブピクセル精度の視差理想値dgtを表形式で示し、図8(d)、(f)はそれぞれ図8(c)のコストマップ、図8(e)の合成コストマップからサブピクセル視差を推定した結果および理想値dgtとの差を表形式で示している。
【0073】
そして、この例では、図8(c)コストマップにおいて、x=2、d=0~2のマッチングコストに誤差が発生したと仮定している。このコストマップから推定される図8(d)x=2のサブピクセル視差には0.3ピクセルの誤差が発生しているが、コストマップ上でx=0~3の画素で最小マッチングコストとなる視差はすべてd=1である。コストマップ上で誤差が顕在化しないため、図8(e)合成コストマップから推定した図8(f)x=2のサブピクセル視差は誤差がほとんど修正されない。
【0074】
一方、図9(a)は本実施形態のコストマップ生成ステップ(S21)で生成されたサブピクセル単位コストマップの例である。ただし、この例では、画像高解像度化ステップ(S30)で第1画像および第2画像をx方向に2倍に高解像度化し、サブピクセル単位コストマップ生成ステップ(S31)で基準領域の大きさをx方向に2倍に拡大している。そして、図8(c)コストマップにおいてマッチングコストが最小となった視差の周辺のマッチングコストは二次相関関数に従うものと仮定している。また、高解像度化によって補間された画素におけるマッチングコストは隣接画素のマッチングコストから線形補間された値になると仮定している。図9(a)サブピクセル単位コストマップでは、x=2(高解像度画像ではx=4)のマッチングコストが最小となる視差が、隣接画素と異なっている。コストマップ上で誤差が顕在化したため、図9(b)合成コスト生成ステップ(S22)によって合成コストマップの誤差が修正され、図9(c)サブピクセル視差の誤差が約1/2に修正されている。
【0075】
<実施形態2>
上記実施形態では、第1、第2画像の高解像度画像を生成してから、その高解像度画像を用いてサブピクセル単位のコストマップを生成している。本実施形態では、第2画像に含まれる複数の比較領域と比較して算出したピクセル単位のマッチングコストに基づき、サブピクセル単位のマッチングコストを算出する例を示す。なお、本実施形態の視差演算装置のハードウェア構成は、実施形態1の視差演算装置のハードウェア構成と同じであるため、その説明を省略する。
【0076】
(視差演算処理)
ここで、図10図11により、本実施形態における画像処理装置100の視差演算処理に関わる動作を説明する。図10は本実施形態のコストマップ生成ステップ(S21)の詳細な流れを、また、図11は、ピクセル単位コストマップ生成ステップS40におけるコストマップサブピクセル化の処理を示している。なお、処理の全体の流れおよび画像撮影ステップ(S20)における処理内容は実施形態1と同じである。そこで、以下では、コストマップ生成ステップ(S21)、合成コスト生成ステップ(S22)、サブピクセル視差生成ステップ(S23)の処理内容についてのみ説明する。
【0077】
コストマップ生成ステップ(S21)では、コストマップ生成部106が、画像撮影ステップ(S20)で取り込まれた第1画像および第2画像から、サブピクセル単位のマッチングコストを算出し、サブピクセル単位のコストマップを生成する。コストマップ生成ステップS21は、ピクセル単位コストマップ生成ステップS40およびコストマップサブピクセル化ステップS41からなる。
【0078】
ピクセル単位コストマップ生成ステップ(S40)では、第1画像および第2画像から、SAD法などの画像探索処理を用いてマッチングコストを算出し、ピクセル単位のコストマップを生成する。
【0079】
コストマップサブピクセル化ステップ(S41)では、ピクセル単位コストマップ生成ステップ(S40)で生成した、ピクセル単位のコストマップからサブピクセル単位のマッチングコストを算出し、サブピクセル単位コストマップを生成する。
【0080】
以下で、サブピクセル単位のマッチングコスト算出手順を説明する。まず、コストマップのうち、第1画像のある座標p=(x,y)の画素に注目する。この画素における、視差[d~-1、d~+1]の範囲に対するマッチングコストをサブピクセル単位のマッチングコストに変換する。範囲[d~-1、d~+1]におけるマッチングコストが相関関数C(p、d)=ad~(d-bd~+cd~に従うものと仮定すれば、この相関関数を推定することで任意のサブピクセル視差dに対してマッチングコストを算出することができる。図11は視差範囲[0、2]に対して相関関数をグラフ化したものである。ここで、d’=d-d~とおけば、d’=-1、0、1における相関関数から、以下に示す(式6)が成り立ち、(式6)を解くと、以下に示す(式7)が得られる。
【0081】
【数6】
【0082】
【数7】
【0083】
以上の計算によって、範囲[d~-1、d~+1]におけるマッチングコストの相関関数を推定することができる。この計算を各視差範囲に順次実行することで、全視差候補範囲[0、D]について相関関数を求めることができる。そして、この相関関数を用いて、目標とする視差分解能sに応じて、相関関数の値をサブピクセル単位のコストマップに登録していき、上記を第1画像の各画素について行うことでコストマップのサブピクセル化が完了する。例えば、視差分解能sを0.2ピクセルにしたい場合、視差0.2ピクセルごとの相関関数の値を登録すれば良い。この時、視差分解能sは事前もしくは視差演算実行時に入力装置109から入力された値、または、装置本体の補助記憶装置や記憶装置111に記録された値を用いる。順次相関関数推定を行う際は、例えば、d~=1、3、5、…と範囲の重複なく実行しても良い。また、d~=1、2、3、…と重なり合う範囲について計算し、一つの視差に対して二つ推定された相関関数の平均値をとるなどしてもよい。このようにサブピクセル化する視差範囲全体に対して相関関数を推定できればどのように範囲を設定しても良い。
【0084】
なお、以上では、3つの視差に対するマッチングコストを二次関数にフィッティングする例を示した。しかしながら、これはあくまでも便宜上のものであって、相関関数は一次対称関数や非対称な関数であっても良く、フィッティングするマッチングコストは3つだけでなく、より多くの値を使ってもよい。また、視差候補のうち一部の範囲しかSGM法による合成コスト生成が必要でない場合などでは、サブピクセル化するのはコストマップのうち一部の視差候補に対する部分のみであっても良い。
【0085】
合成コスト生成ステップ(S22)では、合成コスト生成部107が、コストマップサブピクセル化ステップS41で生成されたサブピクセル単位コストマップに対して、SGM法を用いて合成コストマップを生成する。この時、ペナルティコストP1およびP2の値は、事前もしくは視差演算実行時に入力装置109から入力された値、または、装置本体の補助記憶装置や記憶装置111に記録された値を用いる。ただし、コストマップがサブピクセル化されているため、ある視差候補と、その次の視差候補に対するマッチングコストの変化がピクセル単位のコストマップより小さくなる。そのため、実施形態1と同様の誤差修正効果を得るためには、実施形態1よりもペナルティコストP1,P2を小さくする必要がある。サブピクセル単位コストマップにおけるd^番目の視差候補は、視差分解能sを用いて、sd^=dと表せ、(式8)が成り立つため、ある視差候補と、その次の視差候補のマッチングコストの変化はs倍になる。そのため、ペナルティコストP1,P2をそれぞれs倍して用いれば良い。
【0086】
【数8】
【0087】
サブピクセル視差生成ステップ(S23)では、サブピクセル視差生成部108が、合成コスト生成ステップ(S22)で生成されたサブピクセル単位の合成コストマップから、各基準領域に対するさらにサブピクセル化された視差分布を算出する。この時、相関関数にフィッティングする合成コストは、最も合成コストが小さくなる視差dと、その前後の視差、すなわちdからコストマップの視差分解能s分ずれた視差、に対する合成コストの3つを用いる。これにより、視差分解能sよりもさらに小さい単位で視差を算出できる。
【0088】
本実施形態によれば、以上の処理を行うことにより、第1画像、第2画像に撮像されている被写体の視差量を算出することができる。なお、本実施形態においても、上述同様に、動画像や連続撮影した静止画を用いる場合には、上記の処理を各第1画像および第2画像について繰り返し実行する。
【0089】
ここで、図12を参照して、本実施形態の利点を詳細に説明する。図12(a)は、本実施形態において、コストマップサブピクセル化ステップ(S41)で生成されるサブピクセル単位コストマップの例である。また、図12(b)は、合成コスト生成ステップ(S22)で生成されるサブピクセル単位合成コストマップの例である。また、図12(c)は、サブピクセル視差生成ステップ(S23)で生成されるサブピクセル視差の例である。本実施形態によれば、実施形態1と同様に、基線長が短く、視差変化が1ピクセル以下になってしまう場合でも、なめらかな視差変化となるような合成コストマップ生成およびサブピクセル視差を生成することができる。
【0090】
上述の実施形態1では、高解像度画像に対して画像探索処理によってコストマップを生成している。そのため、コストマップの画素方向(x方向およびy方向、またはエピポーラ線方向)と視差方向に高解像度が行われる。また、サブピクセル視差生成においても、高解像度画像に対して生成したサブプクセル単位の視差分布を、第1画像と同じ画素数になるよう縮小する処理が必要である。これに対して、本実施形態では、コストマップを視差方向にのみサブピクセル化する処理だけで済み、図12(a)コストマップの次元数および図12(b)合成コストマップの次元数が小さくなり、視差量分布などの縮小処理も不要である。これにより、本実施形態は、計算量の面で、時間計算量、空間計算量ともに実施形態1よりも優れており、同等の計算機ハードウェアによってより高速、ないし効率的な視差量の演算が可能である。あるいは、実施形態1と同等の視差量演算性能を、低速な、あるいは限定された計算資源を用いて実現できる可能性がある。
【0091】
本発明は上述の実施例の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0092】
100…画像処理装置、101…装置本体、102…第1撮像装置、103…第2撮像装置、104…被写体、105…画像取得部、106…コストマップ生成部、107…合成コスト生成部、108…サブピクセル視差生成部、109…入力装置、110…出力装置、111…記憶装置、400…ユーザインターフェース装置、1104…外部装置、1601…CPU、1602…ROM、1603…RAM、1605…インターフェース、1606…外部記憶装置、1607…ネットワークインターフェース、1608…ネットワーク。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13