JP5428618B2 - 画像処理装置、撮像装置、および画像処理方法、並びにプログラム - Google Patents

画像処理装置、撮像装置、および画像処理方法、並びにプログラム Download PDF

Info

Publication number
JP5428618B2
JP5428618B2 JP2009176085A JP2009176085A JP5428618B2 JP 5428618 B2 JP5428618 B2 JP 5428618B2 JP 2009176085 A JP2009176085 A JP 2009176085A JP 2009176085 A JP2009176085 A JP 2009176085A JP 5428618 B2 JP5428618 B2 JP 5428618B2
Authority
JP
Japan
Prior art keywords
image
block
likelihood
unit
similarity
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.)
Expired - Fee Related
Application number
JP2009176085A
Other languages
English (en)
Other versions
JP2011028662A (ja
JP2011028662A5 (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2009176085A priority Critical patent/JP5428618B2/ja
Priority to EP10168702A priority patent/EP2293243A3/en
Priority to US12/839,347 priority patent/US8416989B2/en
Priority to CN201010235558XA priority patent/CN101990065B/zh
Publication of JP2011028662A publication Critical patent/JP2011028662A/ja
Publication of JP2011028662A5 publication Critical patent/JP2011028662A5/ja
Application granted granted Critical
Publication of JP5428618B2 publication Critical patent/JP5428618B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本発明は、画像処理装置、撮像装置、および画像処理方法、並びにプログラムに関する。特に異なる視点から撮影された複数の画像間の対応点を求める画像処理装置、撮像装置、および画像処理方法、並びにプログラムに関する。
複数の異なる視点から撮影された画像間の対応点探索により画像中の被写体のカメラからの距離を算出することができる。画像の対応点探索処理を精度よく高速に行う手法について数多くの提案がある。
例えば、高精度に画像間の対応を求める手法を開示した従来技術として特許文献1(特開2003−085566号公報)がある。この特許文献1は動的計画法の一種であるビタビアルゴリズムに基づき、水平走査線上の画素列に対して最適な対応を割り当てる手法を開示している。
また、高速に画像間の対応を求める手法を開示した従来技術として特許文献2(特開平07−103734号公報)がある。この特許文献2は画像を縮小し階層構造を形成して、解像度の低い階層における対応検出の結果をより解像度の高い階層に伝播し、解像度の高い階層における対応探索処理の低減を図る手法を開示している。
特開2003−085566号公報 特開平07−103734号公報
上述のように、いくつかの従来技術において、複数の視点から撮影された画像間の対応点を高精度に、もしくは高速に算出する構成を開示している。しかしながら、例えば上述の特許文献1の処理は、画像を構成する各画素の対応を算出するため、計算処理量が多くなるという問題がある。また、上述の特許文献2の処理は各階層における対応探索に用いるブロックサイズが階層によらず固定されているため、低解像度の階層における対応探索に用いるブロックサイズが画像に対して相対的に大きくなるという問題がある。
本発明は、例えばこのような状況に鑑みてなされたものであり、精度や速度を向上させた対応点対策手法を提案するものである。
例えば、本発明の一実施例では、画像をブロック分割し水平方向のブロック列に関して対応位置から得られる評価値を最適化するとともに、画像を縮小して低解像度の画像における対応検出の結果を取得する。この処理に際してブロックサイズも画像縮小率に応じて縮小する。このような処理により画像間の対応を高速かつ高精度に検出可能とした画像処理装置、撮像装置、および画像処理方法、並びにプログラムを提供する。
本発明の第1の側面は、
異なる視点からの撮影画像である第1画像と第2画像から選択された第1画像についてブロック分割処理を行うブロック分割部と、
前記ブロック分割部の設定した前記第1画像のブロックと、前記第2画像を構成する画像領域との類似度を計算する類似度計算部と、
前記第1画像の隣接ブロックを構成するブロック各々に対する前記第2画像の対応画像領域候補の尤度を前記対応画像領域候補の位置関係に基づいて算出する尤度算出部と、
前記第1画像のブロックに対する前記第2画像の対応画像領域候補の評価値を前記類似度と前記尤度から算出し、算出した評価値の比較により、前記第1画像のブロックに対応する前記第2画像の画像領域を決定する対応位置決定部と、
を有する画像処理装置にある。
さらに、本発明の画像処理装置の一実施態様において、前記画像処理装置は、さらに、前記第1画像と第2画像を縮小して縮小第1画像と縮小第2画像を生成する画像縮小部を有し、前記ブロック分割部と、前記類似度計算部と、前記尤度算出部と、前記対応位置決定部は、前記画像縮小部において生成した縮小画像に対する処理を実行して前記縮小第1画像のブロックに対する前記縮小第2画像の対応画像領域を決定し、さらに、前記ブロック分割部と、前記類似度計算部と、前記尤度算出部と、前記対応位置決定部は、縮小前の前記第1画像と第2画像に対する処理を実行して前記第1画像のブロックに対する前記第2画像の対応画像領域の決定処理を実行する処理に際して、前記対応位置決定部は、前記縮小第2画像に対して求められた対応画像領域に対応する縮小前の第2画像対応画像領域のみを前記評価値の算出対象となる対応画像領域候補とする処理を実行する。
さらに、本発明の画像処理装置の一実施態様において、前記画像縮小部は、異なる縮小率の縮小画像を生成し、前記ブロック分割部と、前記類似度計算部と、前記尤度算出部と、前記対応位置決定部は、先行画像処理として、縮小率の大きい縮小画像に対する処理を実行し、後続画像処理として、縮小率の小さい縮小画像または縮小されていない画像に対する処理を実行し、前記後続画像処理では、先行画像処理において求められた縮小率の大きい縮小第2画像の対応画像領域に基づいて、前記評価値の算出対象となる対応画像領域候補とする処理を実行する。
さらに、本発明の画像処理装置の一実施態様において、前記縮小画像に対するブロック分割を実行するブロック分割部は、画像縮小率と同一の縮小率で縮小したブロックサイズで縮小画像の分割処理を実行する。
さらに、本発明の画像処理装置の一実施態様において、前記尤度算出部は、前記第1画像の隣接ブロックを構成するブロックAB各々に対する前記第2画像の対応画像領域候補abの尤度の算出処理を、前記第2画像の対応画像領域候補abが離間している場合には、離間距離が大きくなるに従って低下する尤度を設定し、前記第2画像の対応画像領域候補abが重なる場合には、重なり幅が大きくなるに従って低下する尤度を設定する。
さらに、本発明の画像処理装置の一実施態様において、前記対応位置決定部は、前記類似度計算部の算出した類似度Fと、前記尤度算出部の算出した尤度Hを適用し、評価値Xを、X=F+λH、ただしλは、予め設定した係数、上記式によって算出する。
さらに、本発明の画像処理装置の一実施態様において、前記対応位置決定部は、前記評価値を、前記第1画像に設定した複数のブロックの集合に対して算出し、算出した評価値を利用して前記第1画像に設定した複数のブロックに対する第2画像における対応画像領域を決定する。
さらに、本発明の画像処理装置の一実施態様において、前記対応位置決定部は、前記評価値の比較による第1画像のブロックに対する前記第2画像の対応画像領域の決定処理を動的計画法を適用して実行する。
さらに、本発明の第2の側面は、前記の画像処理装置を有する撮像装置にある。
さらに、本発明の第3の側面は、
画像処理装置において実行する画像処理方法であり、
ブロック分割部が、異なる視点からの撮影画像である第1画像と第2画像から選択された第1画像についてブロック分割処理を行うブロック分割ステップと、
類似度計算部が、前記ブロック分割ステップにおいて設定した前記第1画像のブロックと、前記第2画像を構成する画像領域との類似度を計算する類似度計算ステップと、
尤度算出部が、前記第1画像の隣接ブロックを構成するブロック各々に対する前記第2画像の対応画像領域候補の尤度を前記対応画像領域候補の位置関係に基づいて算出する尤度算出ステップと、
対応位置決定部が、前記第1画像のブロックに対する前記第2画像の対応画像領域候補の評価値を前記類似度と前記尤度から算出し、算出した評価値の比較により、前記第1画像のブロックに対応する前記第2画像の画像領域を決定する対応位置決定ステップと、
を有する画像処理方法にある
さらに、本発明の第4の側面は、
画像処理装置において画像処理を実行させるプログラムであり、
ブロック分割部に、異なる視点からの撮影画像である第1画像と第2画像から選択された第1画像についてブロック分割処理を行わせるブロック分割ステップと、
類似度計算部に、前記ブロック分割ステップにおいて設定した前記第1画像のブロックと、前記第2画像を構成する画像領域との類似度を計算させる類似度計算ステップと、
尤度算出部に、前記第1画像の隣接ブロックを構成するブロック各々に対する前記第2画像の対応画像領域候補の尤度を前記対応画像領域候補の位置関係に基づいて算出させる尤度算出ステップと、
対応位置決定部に、前記第1画像のブロックに対する前記第2画像の対応画像領域候補の評価値を前記類似度と前記尤度から算出させ、算出した評価値の比較により、前記第1画像のブロックに対応する前記第2画像の画像領域を決定させる対応位置決定ステップと、
を実行させるプログラムにある。
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な画像処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、画像処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の一実施例によれば、複数の異なる視点から撮影された複数の画像間の対応点検出を効率的に実行することが可能となる。すなわち、異なる視点からの撮影画像であるL画像とR画像中のL画像についてブロック分割を行い、L画像のブロックと、R画像を構成する画像領域との類似度を計算し、L画像の隣接ブロックを構成するブロック各々に対するR画像の対応画像領域候補の尤度を対応画像領域候補の位置関係に基づいて算出する。さらにL画像のブロックに対するR画像の対応画像領域候補の評価値を類似度と尤度から算出し、算出した評価値の比較により、L画像のブロックに対応するR画像の画像領域を決定する。さらに縮小画像を用いた処理や動的計画法を適用する処理によりさらなる高速化が実現される。
本発明の一実施例に係る画像処理装置の構成例について説明する図である。 同時に異なる視点からの画像を撮影するカメラの構成例について説明する図である。 本発明の一実施例に係る画像処理装置の実行するブロック分割処理例について説明する図である。 本発明の一実施例に係る画像処理装置の実行する対応点探索処理における探索範囲の設定例について説明する図である。 類似度計算部において実行する類似度算出処理の具体例について説明する図である。 尤度計算部の実行する尤度算出処理の具体例について説明する図である。 画像上で横一列に並んだブロックを対象として最適化を行う場合について説明する図である。 動的計画法を適用したステレオマッチングの処理例について説明する図である。 動的計画法を適用したステレオマッチングの処理例について説明する図である。 動的計画法を適用したステレオマッチングの処理例について説明する図である。 動的計画法を適用したステレオマッチングの処理例について説明する図である。 動的計画法を適用したステレオマッチングの処理例について説明する図である。 動的計画法を適用したステレオマッチングの処理例について説明する図である。 動的計画法を適用したステレオマッチングの処理例について説明する図である。 動的計画法を適用したステレオマッチングの処理例について説明する図である。 動的計画法を適用したステレオマッチングの処理例について説明する図である。 本発明の一実施例に係る画像処理装置の構成例について説明する図である。 本発明の一実施例に係る画像処理装置の実行する画像縮小処理例について説明する図である。 本発明の一実施例に係る撮像装置の構成例について説明する図である。
以下、図面を参照しながら本発明の画像処理装置、撮像装置、および画像処理方法、並びにプログラムの詳細について説明する。説明は、以下の項目に従って行う。
1.画像処理装置の第1実施例について
2.高速処理を実現する画像処理装置の構成例について(第2実施例)
3.撮像装置の実施例について
[1.画像処理装置の第1実施例について]
以下、図面を参照しながら、本発明の画像処理装置の第1実施例について説明する。図1に本発明の第1実施例に係る画像処理装置の構成例を示す。図1に示す画像処理装置100は、異なる視点から撮影された複数の画像を入力する。以下の実施例では、入力画像をL画像200およびR画像300として説明する。画像処理装置100は、L画像200を構成する画像領域を分割したブロックがR画像300上のいずれの位置に対応するかを判別する。すなわち画像間の対応点を求める処理を行う。
L画像200は、例えば平行に配置された2つのカメラの一方から得られる画像であり、R画像300は他方のカメラから得られる画像である。図1下部の(カメラと入力画像との対応図)に示すようにL画像200,R画像300は、平行に配置された2つのカメラ20,カメラ30の撮影する異なる視点からの撮影画像である。
2つのカメラが完全に平行に配置されている場合、あるブロックの垂直方向の対応位置は他方の画像において必ず同一となるので、対応位置の探索は水平方向のみにおこなえばよい。カメラが平行に配置されていない場合には、L画像200およびR画像300は画像変形補正処理としてのレクティフィケーション(Rectification)が施された画像とする。レクティフィケーションは、2つの平行に配置されていないカメラから得られる画像を、カメラが平行に配置されている場合に取得されるような画像へと変形する画像補正処理である。レクティフィケーションを施すことで、対応位置の探索方向を水平に限定することが可能となる。
なお、L画像200およびR画像300は必ずしも複数のカメラを用いて撮像された画像である必要はなく、例えば、一方の画像を撮影後、カメラを移動させて視点を変更させた後に他方の画像を撮影し、これらの画像をL画像200およびR画像300として利用することも可能である。
また、鏡などを使用することにより、一つのカメラで同時に複数の視点からの画像を取得することも可能であり、このような画像を利用してもよい。一つのカメラで同時に複数の視点からの画像を取得する構成例について図2を参照して説明する。図2に示すカメラ50は、2つの離間した撮像経路(実線と点線)と、1つの撮像素子51を有する。
図2の右側の(カメラ内部構成)に示すように、光学系52の前に鏡53〜56を配置することで、単一の撮像素子51でも複数の視点からの画像を得ることができる。撮像素子51、光学系52の前方に鏡53〜56を配置することで、実線矢印と点線矢印によって示したような異なる視点からの光を単一の撮像素子51で取得することが可能になる。
図1に示す構成におけるL画像200およびR画像300は、このように1つのカメラで撮影した画像であってもよく、複数のカメラで撮影した画像であってもよい。また、1つのカメラを移動させて撮影した画像であってもよい。
図1に示す画像処理装置100の実行する処理の概要について説明する。
ブロック分割部101は、L画像200をブロックに分割する。画像処理装置100は、L画像200に設定した各ブロックが、R画像300のいずれの位置に対応するかを判定する。なお、L画像200のある1つのブロックに対するR画像300の対応位置を探索する領域(探索範囲)は、R画像の全画像範囲としてもよいが、各ブロックに対応した限定領域を予め設定することが可能である。具体的な探索範囲の決定例については後述する。
類似度計算部102は、ブロック分割部101の設定したL画像200の各ブロックと、R画像300に設定される探索範囲に設定可能な全ての対応位置候補(対応ブロック候補)との類似度を個別に全て計算する。
尤度計算部103は、L画像200の隣接する複数ブロックからなる隣接ブロック集合を設定し、L画像200に設定した各隣接ブロック集合を単位として、R画像300に設定される対応ブロック集合の尤度を算出する。
例えばL画像200に設定される左右に隣接する2つのブロック(ブロックLa/ブロックLb)をブロック集合とし、R画像300にはL画像のブロックLa、ブロックLb各々の対応位置候補(ブロックRa/ブロックRb)を設定する。
尤度計算部103は、R画像300に設定した対応位置候補(ブロックRa/ブロックRb)の確からしさとしての尤度を算出する。具体的には、L画像のブロックLa、ブロックLbが左右に隣接している場合、R画像300の対応位置候補(ブロックRa/ブロックRb)が左右に隣接した状態であれば尤度は高くなる。R画像300の対応位置候補(ブロックRa/ブロックRb)が左右に隣接せず離間している場合や、重なり合っていた場合などには尤度が低くなる。
尤度計算部103は、このようにブロック集合を単位とした尤度算出を行う。尤度計算部103は、L画像に設定されるブロック集合に対してR画像に設定する対応位置の尤度を、前述の探索領域内に設定可能な全ての対応位置候補の組み合わせについて算出する。
対応位置決定部104は尤度計算部103から得られる尤度と、類似度計算部102から得られる類似度に基づいて計算される評価値が最適値となるような対応位置を、対応位置の候補の中から決定し、各ブロックに割り当てる。
以下、各構成部の実行する処理の詳細について説明する。
画像処理装置100は、まずブロック分割部101においてL画像200をブロックに分割する。分割するブロックサイズは、例えば4画素×4画素または8画素×8画素などの大きさに設定する。
図3は、L画像200を4画素×4画素のブロックに分割した処理例を示す図である。図3には、L画像200の一部領域について拡大して縦10個、横10個の4画素×4画素の100ブロックを示している。R画像300についてもL画像200と同一位置の領域を拡大して示している。
類似度計算部102は、ブロック分割部101の設定したL画像200の各ブロックと、R画像300に設定される探索範囲に設定可能な全ての対応位置候補(対応ブロック候補)との類似度を個別に全て計算する。
なお、前述したように、L画像のある1つのブロックに対するR画像300の対応位置探索領域(探索範囲)は、R画像の全範囲としてもよいが、予め限定した領域に設定することが可能である。探索範囲の設定を行うことで、探索処理を短時間で行うことが可能となる。類似度計算部102、尤度計算部103は、この探索範囲内で処理を実行する。具体的な探索範囲の決定例について説明する。
探索範囲は、例えば想定される被写体の距離に応じて決定することができる。被写体が、L画像200とR画像300を撮影する2つのカメラから距離Dの位置にいる場合、その際の各カメラから得られる画像上における被写体の対応位置のずれ量dは以下の式によって得られる。
d=(f×B)/(D×p)
上記式において、
fは2つのカメラの焦点距離、
Bは2つのカメラ間の距離、
pはカメラに搭載されているCMOSセンサ等の固体撮像素子の画素ピッチ、
である。
仮にf=10mm、B=100mm、p=0.01mmとし、想定するカメラからの被写体の距離が、1m〜無限遠であるとすれば、被写体の距離が1mのときのL画像200とR画像300の対応位置のずれ量は上記の式から10mmとなる。また、無限遠(D=∞)の場合は同様に上記の式からずれ量は0となるから、対応位置のずれ量は、d=0〜10mmと推定することができる。この結果、例えば、L画像200に設定した1つのブロックに対するR画像300の探索領域は、L画像200のブロック位置に対応するR画像のブロック位置から0〜10mmずれた領域を持つ範囲として設定することができる。
画像にはカメラからの距離が様々な被写体が写っていると想定され、また撮影画像に含まれる誤差なども考慮して探索範囲を設定する。例えば上記条件で算出したd=0〜10mmの場合、10mmよりやや大きい範囲の探索範囲を設定すれば被写体の距離が1m〜無限遠のすべての被写体の対応点を検索できる。このように、撮影条件に基づいて探索範囲を設定することが可能である。なお、探索範囲を設定することなく、L画像200に設定した1つのブロックに対して、R画像300の全画像を探索範囲として設定してもよい。
なお、前述したように、2つのカメラが完全に平行に配置されている場合、あるブロックの垂直方向の対応位置は他方の画像において必ず同一となるので、対応位置の探索領域をR画像300において水平方向にのみ設定することができる。すなわち、図4に示すように、L画像200のあるブロックLaに対するR画像の対応領域の探索範囲は、画像の同一高さ(LY=RY)の位置で水平方向に、上述した処理によって求めた最大ずれ量dを探索範囲として設定することができる。以下の実施例では、図4に示すような探索範囲を設定して処理を行なう例について説明する。
類似度計算部102は、ブロック分割部101の設定したL画像200の各ブロックと、R画像300に設定される探索範囲に設定可能な全ての対応位置候補(対応ブロック候補)との類似度を個別に全て計算する。
類似度としては、画素間の差分絶対値の和や画素間の差分の二乗和などを用いることが可能である。例えば、画素間の差分絶対値の和を類似度として用いるとすると、類似度計算部102は、以下の式1に示す類似度Fを計算する。
Figure 0005428618
・・・(式1)
上記(式1)において、
F(i,d)はL画像200を構成するブロックのうち、i番目のブロックと、R画像300上でベクトルd(図5参照)によって示される位置との類似度である。
Biはi番目のブロックを構成する画素の座標の集合である。
I(p)はL画像200の座標pの画素値を示し、
J(p+d)はR画像300における座標p+dの画素値を示す。
式1に示す類似度Fは、L画像200のブロックとR画像300の対応ブロックの類似度が高いほど小さい値となり、類似度が低いほど大きな値となる。式1に示す類似度Fの最小値は0であり、L画像200のブロックとR画像300の対応ブロックが一致すれば類似度Fは、F=0となる。
類似度計算部102において実行する類似度算出処理の具体例について、図5を参照して説明する。
図5において、L画像200を構成する1つのブロック201をi番目のブロックとすると、Biはブロック201に含まれる画素の集合であり、I(p)はそれらブロック201に含まれる各画素の画素値である。また、図5のR画像300において点線で示したブロック301の領域を、L画像200のブロック201と同一の画像位置とすると、その位置から距離dだけずれたブロック領域302内の画素値がJ(p+d)によって表わされる。類似度計算部102は、各画素間の差分絶対値和を計算し、それをi番目のブロックと、距離dによって示されるR画像300上の領域(ブロック領域302)との類似度とする。
尤度計算部103は、L画像200において水平方向に隣接する2つのブロックに対するR画像300における対応位置を割り当てた場合、その対応位置の尤もらしさ(確からしさ)を計算する。
具体的には、隣接ブロック間で対応位置が極端に変動することは少ないとの仮定に基づく処理である。
L画像200の隣接ブロックのR画像300における各ブロック対応位置が極端に異なる場合には低い尤度を設定する。これは、例えばL画像200の隣接ブロックのR画像300における各ブロック対応位置が隣接せず離間している場合や重なっている場合である。このような場合は低い尤度を設定する。
一方、L画像200の隣接ブロックのR画像300における各ブロック対応位置が近い場合には高い尤度を設定する。これは、例えばL画像200の隣接ブロックのR画像300における各ブロック対応位置が隣接している場合である。このような場合は高い尤度を設定する。
尤度計算部103の尤度算出処理の具体例について図6を参照して説明する。
例えば、図6に示すように、L画像200の隣接する2つのブロック211およびブロック212に対するR画像300の対応領域がそれぞれブロック311およびブロック312であったとする。図6に示すようにブロック311およびブロック312との間には間隔が存在する。このような場合ブロック間隔を[s]とする。
また、図6において、L画像200の別の隣接する2つのブロック213およびブロック214に対するR画像300の対応領域がそれぞれブロック313およびブロック314であったとする。図6に示すように対応領域であるブロック313,314には重なりが存在する。このような場合、領域の重なりを[r]とする。尤度計算部103は、rおよびsを用いて、以下の計算式に基づいて、これらの対応位置の尤度H(s,r)を計算する。
space(s)=C|s|・・・(式2)
overlap(r)=Dr・・・(式3)
H(s,r)=Gspace(s)+Goverlap(r)・・・(式4)
式2において、Gspace(s)は対応位置の間隔sに基づく尤度である。
式3においてGoverlap(r)は、対応領域の重なり量rに基づく尤度である。
最終的な対応位置の尤度は式4に示したH(s、r)となる。
式2においてCは尤度の間隔sに基づく変化を制御するパラメータであり任意の値をあらかじめ設定する。また、Gspace(s)は絶対値に基づく計算を行っているが、Gspace(s)は、対応位置の間隔sの絶対値の増加に対して増加するような関数であればどのようなものであってもよい。例えばsの二乗なども使用可能である。
式3において、Dは対応位置の重なりrに基づく尤度の変化を制御するパラメータであり任意の値をあらかじめ設定する。また、Goverlap(r)に関しても、対応位置の重なりrが大きくなると得られる値が大きくなるような関数であればよい。なお、尤度Hはその値が小さいほど尤度が高いとする。
対応位置決定部104は、類似度計算部102から得られる類似度と、尤度計算部103から得られる尤度に基づいて、評価値を計算し、その評価値を最適値とするような対応位置を、L画像200を構成する各ブロックに対して割り当てる。
L画像200のブロックとR画像300の対応ブロックのずれ量を[d]としたとき(図5参照)、そのずれ量(d)を持つブロック間の評価値X(d)は例えば以下の式5に従って算出される。
Figure 0005428618
・・・(式5)
Iは最適化の対象となるブロックのインデックスの集合である。
例えば、画像を構成するすべてのブロックを対象として最適化を行うときはIは画像を構成するすべてのブロックのインデックスの集合となる。
係数λによって、類似度と尤度の評価値に及ぼす影響を調整する。
Fは式1に示したi番目のブロックの対応位置をdiによって示される位置とした場合のブロックiとR画像300上の当該領域の類似度である。
Hは式4に示した尤度であり、ブロックiおよび隣接するブロックi−1間の対応位置の隔たりsi、およびブロックiとブロックi−1の重なりriに基づき算出される。
siおよびriはブロックiとブロックi−1の対応位置をdi、di−1とすると、下式によって算出される。
Figure 0005428618
siおよびriは上記式によって得られる。
式7において、Nはブロックサイズである。式5におけるdは各ブロックの対応位置diからなるベクトルであり、対応位置決定部104は評価値Xを最小化するような各ブロックの対応位置の組み合わせdを求め、それを各ブロックのR画像300における対応位置として決定する。
ずれ量(d)を持つブロック間の評価値X(d)は、前述の式5によって示されるように、類似度Fと、尤度Hを用いて算出される。
先に式1を参照して説明したように、
類似度Fは、LR画像のブロック間類似度が大きい程、値が小さく(0に近づく)なる。
尤度HもLR画像のブロック間の尤度が高いほど、値が小さくなる。
従って、上記式5に示す評価値X(d)は、LR画像のブロック間類似度が大きく尤度が高いほど小さい値を持つ。
すなわち、対応位置決定部104は、類似度計算部102から得られる類似度Fと、尤度計算部103から得られる尤度Hに基づいて、評価値X(d)を計算し、その評価値X(d)が最小となる対応位置を、L画像200を構成する各ブロックに対して割り当てる。
図7を参照して、画像上で横一列に並んだブロックを対象として最適化を行う場合について説明する。つまり、図7に示すL画像200の横一列のブロック列221の各ブロックが、R画像300の対応領域の探索範囲321の領域内のいずれの位置に対応するかを判定する。
対応位置決定部104は、この判定処理において、式5の評価値X(d)が最小となる位置を対応位置として決定する。これを、L画像200を構成する全てのブロック列に対して順次行う。すなわち、L画像200を構成する全てのブロック列に対応する最適なR画像300の対応領域(対応ブロック)の位置を決定する。前述の評価値X(d)がより小さくなるように各ブロックの対応位置決定処理を行う。この処理を最適化処理と呼ぶ。
図7に示すL画像200の横一列のブロック列221に関して最適化を行う場合について説明する。ブロック列221を構成する各ブロックを表すインデックスiをi=0,・・・,9とする。
前述した式5で示したI、すなわち、最適化の対象となるブロックのインデックスの集合Iで表現すると、
I={0,1,・・・,9}
となる。
図7下部の(探索範囲における対応ブロックを示すベクトルdiの例)に示すように、L画像200のブロックiに対応するR画像のブロック位置は、ベクトルdiによって示される。ベクトルdiは、L画像200のブロックIiのR画像300の同一位置を起点とし、対応ブロックの位置を終点とするベクトルである。
先に(式1)で示した類似度F(i、di)は、L画像200におけるi番目のブロックIiのR画像における対応位置がdiというベクトルで定められるとした場合のL画像200上のブロックIiとR画像300上の対応領域(対応ブロック)との類似度である。
また、ベクトルdiに基づいて、L画像の隣接ブロックの集合に対応するR画像の対応ブロック間の尤度H(si、ri)が式4および式6、式7によって得られる。
図7に示すL画像200の画像上で横一列に並んだブロックI0〜I9の各々に対応するR画像の対応位置を示すベクトルd0〜d9の組み合わせを以下の式8のように示す。
d=[d0,d1,d2,d3,d4,d5,d6,d7,d8,d9]・・・(式8)
このブロックI0〜I9の各々に対応するベクトルd0〜d9を用いて、評価値X(d)を前述の式5に基づいて計算することができる。
対応位置決定部104は、算出される評価値X(d)が最小となるような対応位置の組み合わせd=[d0〜d9]を算出し、得られるd0〜d9を0番目のブロックから9番目のブロックのR画像300における対応位置を示す距離情報とする。
すなわち、
L画像200のブロックI0のR画像300における対応位置は、R画像300におけるブロックI0位置(L画像のブロックI0と同一の位置)からd0ずれた位置にある。
L画像200のブロックI1のR画像300における対応位置は、R画像300におけるブロックI1位置(L画像のブロックI1と同一の位置)からd1ずれた位置にある。
このように、L画像200のブロックI0〜I9のR画像300における対応位置は、R画像300におけるブロックI0〜I9位置(L画像のブロックI0〜I9と同一の位置)からd0〜d9ずれた位置にある。
対応位置決定部104は、例えば、図7に示すL画像200の画像上で横一列に並んだブロックI0〜I9の各々に対応するR画像の対応位置を示すベクトルd0〜d9を前述の式5に示す評価値X(d)がより小さくなるように各ブロックの対応位置決定処理を行う。この処理を最適化処理と呼ぶ。
なお、図7を参照して説明した処理は、L画像200の10個のブロックI0〜I9のR画像における対応位置を示すベクトルd0〜d9を算出する処理例である。前述したように、画像を構成するすべてのブロックを対象として最適化を行うときはIは画像を構成するすべてのブロックのインデックスの集合となる。
このように多数のブロックの処理を行う場合は、計算量が膨大となるため、前述した探索範囲を予め設定して、その探索範囲で評価値を算出して、比較して最小値を選択する処理を行うことが好ましい。
例えばブロックIiの対応位置を示すベクトルdiの候補を、予めdi=−5〜0と定める。なお、di=−5〜0とは、左に5画素ずれた位置からずれ量0までの範囲を探索範囲としていることに相当する。
図7に示すL画像200のブロックI0〜I9の10個のブロックについて、このように各ブロックIiのずれ量を規定し、d0〜d9に全ての対応位置の候補の組み合わせを割り当て、各々の対応位置の組み合わせに基づき評価値を計算することで、最小の評価値となるような対応位置の組み合わせを得ることができる。
図7に示す例であれば、I0〜I9の10個のブロックの各々について、ブロックのずれ位置di=−5〜0の6つのブロック位置候補があり、対応位置の組み合わせは、
10通り存在することになる。
その全てについて、前述の式5に従って評価値X(d)を計算する。
その結果を比較し、評価値X(d)が最小となるd0〜d9の組み合わせ、すなわち、
d=[d0,d1,d2,d3,d4,d5,d6,d7,d8,d9]
この組み合わせを、L画像200のブロックI0〜I9に対するR画像における対応位置を示すベクトルd0〜d9として決定する。
ただし、このように探索範囲を限定してdiの範囲を規定した場合でも、例えば、図7に示すI0〜I9の10個のブロックの各々について、ブロックのずれ位置di=−5〜0の6つのブロック位置候補があり、対応位置の組み合わせは、610通り存在することになる。
これらを画像200を構成する全てのブロックについて計算すると、計算量は大きくなる。
さらに計算量を削減するため、既存の最適化手法を適用してもよい。例えば、図7に示すように横一列に並んだブロックI0〜I9の列に対しての最適化を行う場合には、動的計画法を適用することが可能で、計算量を削減したと同時に、逐一評価値を計算した場合と同様に最適な(評価値が最小となる)対応位置の組み合わせを得ることができる。
動的計画法を適用したステレオマッチングの処理例について、図8以下を参照して説明する。
動的計画法は、ある問題を小問題へと分割し、小問題を先に解き、その結果を再利用することで効率的に問題を解く手法である。
動的計画法により最適な評価値を与える対応位置の組み合わせを求める例について、図8〜図16を用いて説明する。
図8は動的計画法を適用するために用いるコスト行列と呼ばれる行列を示している。図8に示すコスト行列400の各要素にはL画像の各ブロックとR画像との間の類似度を格納する。すなわち、コスト行列400の各要素は類似度に対応する。
図8に示す1つの類似度格納領域404に対する類似度格納処理について説明するる。L画像ブロック列402は、例えば図7に示すL画像200のブロック列221に対応する。本例ではブロックの大きさは4画素×4画素であるとする。
図8に示すR画像帯領域403は、図7のR画像300の探索範囲321に対応する。図8では90度回転して示している。コスト行列400の各列には、L画像中のブロックとR画像中の特定の領域との類似度が格納される。
例えば、図8の類似度格納領域404にはL画像200のブロック421と、R画像300の探索範囲であるR画像帯領域403中の特定位置の画素領域431との類似度を格納する。画素領域431は、L画像のブロック421の位置に対応するR画像の位置から1画素分ずれた位置のブロック領域である。R画像帯領域403中の点線は1画素の幅を示している。
図9に示すコスト行列400の類似度格納領域405にはL画像200のブロック422と、R画像300の探索範囲であるR画像帯領域403中の特定位置の画素領域432との類似度を格納する。画素領域432は、L画像のブロック422の位置に対応するR画像の位置から2画素分ずれた位置のブロック領域である。
コスト行列400の各要素として設定する類似度は、例えばLR画像の比較ブロックの画素間の差分絶対値和などを用いることができる。この場合、コスト行列400中に格納される値が小さいほど類似度が高いと考えることができる。
コスト行列400の各要素には、あらかじめ若しくは必要に応じて逐次計算された類似度が格納されるが、全ての要素を計算する必要はない。例えばブロックの対応位置のずれ量は、前述したように所定の探索範囲内に限定することができる。すなわち、探索範囲内のずれ量dのみを考慮すればよい。
探索範囲に相当するずれ量dが、0〜9画素であるとすれば、図10に太線で示した類似度格納領域440の要素のみを計算すれば良い。すなわち、LR画像間において位置ずれとして発生しない領域の類似度は算出不要となる。
ここで、コスト行列400中の各要素をノードと考える。すると、コスト行列400中の最も左の列を構成する各ノードから開始して、各列のノードを一度ずつ通過して、最終的にコスト行列中の最も右の列を構成するノードのいずれかに到達する経路は、各ブロックに割り当てる対応位置のずれ量を表している。
例えば、図11に示す矢印で示した経路450がそのような経路の一例である。図11に示した経路450は、L画像200を構成する各ブロックLA,LB,LC,LD,LEが、R画像300では、左から順に、[1],[1],[3],[5],[3]画素ずれた位置でR画像300上において対応する場合を示している(最適な対応ではなく、対応付けの一例に過ぎない)。L画像200の各ブロックLA〜LEが、この経路に従ってR画像上で対応付けられた場合のR画像におけるブロック配置が、図11のブロックRA〜REである。
このとき、図11に示した経路450に対して、通過したノードに応じたコスト、およびノードとノードをつなぐエッジに応じたコストを総和することによって、その経路に対してある評価値を得ることができる。通過したノードに応じたコストを類似度とし、ノードとノードとを結ぶエッジに応じたコストを尤度とすれば、ある経路に関して得られるコストの総和(総コスト)は、その経路が示す各ブロックに対する対応位置のずれ量に対する、式5に基づく評価値そのものであると考えることができる。
図11の経路450の総コストを、図12を用いて説明する。前述した尤度の計算式(式2)〜(式4)において、係数Cおよび係数Dはともに1とする。
すると、ブロックAのずれ量は1、ブロックBのずれ量は1であるから(式2)〜(式4)および(式6)、(式7)に基づいて、ブロックAB間を結ぶ矢印(エッジ)によって示される経路451に対応する尤度は0となる。
同様に、各ブロック間を結ぶ矢印の経路451〜454の尤度を算出すると以下の通りとなる。
ブロックAB間を結ぶ矢印の経路451に対応する尤度は0、
ブロックBC間を結ぶ矢印の経路452に対応する尤度は2、
ブロックCD間を結ぶ矢印の経路453に対応する尤度は2、
ブロックDE間を結ぶ矢印の経路454に対応する尤度は2、
となる。図12中の行列内の数値はL画像中の各ブロックのずれ量に応じたR画像との類似度である。
ブロックAに対応する類似度は3、
ブロックBに対応する類似度は5、
ブロックCに対応する類似度は4、
ブロックDに対応する類似度は6、
ブロックEに対応する類似度は5、
となる。よって、図12の経路に関する総コストは、上記の尤度および類似度を総和した値である29となる。すなわち、
(0+2+2+2)+(3+5+4+6+5)=29
このように経路451〜454によって示される経路の総コストは29となる。る
前述の(式5)に基づく評価値X(d)を最適化するような対応位置の割り当てを探索する問題は、つまり、総コストが最小となるような経路の探索問題である考えることができる。考えられるすべての経路に関して、上述の総コストを計算し、総コストが最小となる経路を選択すれば問題を解くことは可能であるが、膨大な計算が必要となる。しかし、動的計画法を適用することで容易にそのような経路を発見することができる。以下、具体的に動的計画法に基づいて経路を探索する手順の一部を示す。
図13に、必要な類似度を計算し終えた時点のコスト行列400を示す。このコスト行列400を用いて、ブロックAに対応する列からブロックEに対応する列までの最適経路を探索する。なお、以後、行列の各要素を列方向はブロックに付けられたA〜Eの文字を、行方向は行列の右側に記したインデックスを用いて表現する。例えばコスト行列400の最も左下の要素はA0、最も右上の要素はE19と称する。
まず、ブロックBの列に対応する各ノード(列Bのノード)と接続されるべき列Aのノードの探索を行う。図13に示すノードB4に接続するべき最適なノードは以下のように見つけることができる。
まず、ノードB4とノードA0とを接続することを考える、この場合、ノードA0の類似度は2であり、ノードB4の類似度は6、ノードA0とノードB4に対応するずれ量はともに0であるから尤度は0となる。
よってノードA0からノードB4という経路を選択した場合の総コストは、
2+6+0=8
すなわち、8となる。
同様にノードA1からノードB4、ノードA2からノードB4、という経路に対応するコストを順次計算する。このようにしてノードA0〜A7とノードB4を接続した場合のコストを計算すると、以下の結果が得られる。
ノードA0とノードB4を接続:コスト=8
ノードA1とノードB4を接続:コスト=10
ノードA2とノードB4を接続:コスト=9
ノードA3とノードB4を接続:コスト=14
ノードA4とノードB4を接続:コスト=14
ノードA5とノードB4を接続:コスト=16
ノードA6とノードB4を接続:コスト=14
ノードA7とノードB4を接続:コスト=9
これらの結果から、コストが8となるノードA0と接続するのがノードB4に関しては最適ということがわかる。最適な部分経路が分かった時点で、これに対応する総コストをコスト行列400中に上書きする。
つまり、図14に示すようにノードB4の値を、前述したノードA0からノードB4という経路を選択した場合の総コスト、
2+6+0=8
この総コストの値[8]に変更する。また、この際に、ノードB4に到達する最適なAノードを示す0という数値も記憶しておく。これを図14ではカッコ内に数値を記載することで表現した。まとめると、図14のノードB4に示す8(0)という表記は、ノードB4に到達する最適なノードはA0であり、その際のB4までの総コストは8であることを示している。
続いて、上記の処理をノードB5からノードB11に関して順に繰り返していくと図15に示すように、コスト行列の各要素が設定される。
次に列Cと列Bの間の接続を考える。すでに列Aから列B上の各ノードに到達するための最適経路と、その際の総コストは分かっているので、列Cの各ノードに関して、先ほど列Bの各ノードに対して行った処理と同様の処理を施せば列Aの各ノードから列Cの各ノードに至る最適な経路が得られる。
以上をすべての列に対して繰り返し実行していくと最終的に図16に示すようなコスト行列400が得られる。列Eの各ノードの値は、列Aのいずれかのノードから開始して列Eの各ノードに到達する最適な経路をたどった場合の、当該経路の総コストを示している。よって総コストの最小値13をもつノードE16またはノードE17を選択すればよい。なお、同一の最小値を持つノードが発生した場合の選択方法は任意だが、ここでは一番下のノードE16を選択する。
ノードE16に繋がる最適な列D上のノードはノードE16カッコ内に示されているようにノードD12であるから、ノードD12を参照する。ノードD12に繋がる最適な列C上のノードはノードD12カッコ内に示されているようにノードC8であるから、ノードC8を参照する。ノードC8に繋がる最適な列B上のノードはノードC8のカッコ内に示されているようにノードB6であるから、ノードB6を参照する。
ノードB6に繋がる最適な列A上のノードはノードB6のカッコ内に示されているようにノードA2であるから。結局、A2→B6→C8→D12→E16という経路が最小コストを与えると判定できる。各ノードに対応するずれ量を各ブロックに割り当てれば、そのずれ量が評価値を最適化するL画像の各ブロックとR画像との対応関係となる。すなわち、ブロックAは2、ブロックBは2、ブロックCは0、ブロックDは0、ブロックEは0のずれ量を割り当てると評価値が最小となることが分かる。
図8〜図16を参照して説明したような動的計画法により最適な評価値を与える対応位置の組み合わせを効率的に求めることが可能となる。すなわち、動的計画法の適用により計算量の削減と同時に、逐一評価値を計算した場合と同様に最適な(評価値が最小となる)対応位置の組み合わせを得ることができる。
[2.高速処理を実現する画像処理装置の構成例について(第2実施例)]
続いて、本発明の第2実施例として、さらなる処理の高速化を図った画像処理装置構成と処理について説明する。
図17に、画像間の対応を高速に検出することを可能とした画像処理装置700の一構成例を示す。画像処理装置700は、対応点検出対象とするL画像200とR画像300を入力し、各画像間の対応点を検出する。これは、第1実施例において説明した図1の画像処理装置100と同様の処理である。画像処理装置700は、L画像200を構成するブロックがR画像300上のいずれの位置に対応するかを判別する。すなわち画像間の対応点を求める処理を行う。
本実施例における画像処理装置700は、入力された画像を縮小し、得られた縮小画像に対して前述の第1実施例の画像処理装置100と同様の対応付けの処理を施す。得られた対応付けの結果に基づいて、縮小前の画像における対応付けを行うことで、対応付けの候補を限定し、処理量を低減することができる。縮小画像に対する対応付けの処理の際には、画像の縮小率と同様の縮小率に基づいて、対応付けに用いるブロックサイズをも縮小する。よって画像を構成するブロック数は変わらない。
以下、具体的な処理例について図18に示す例を参照しながら、図17の画像処理装置700の動作について説明する。
図18には、
(a)入力画像
(b)第1縮小画像
(c)第2縮小画像
これらの画像データを示している。
図18(a)に示す入力画像は、図17に示す画像処理装置700に入力されるL画像200とR画像300である。この入力画像は先に第1実施例において図1を参照して説明したと同様のL画像200とR画像300である。
画像処理装置700は、L画像200を4画素×4画素のブロックに分割し画像間の対応を検出する。画像処理装置700に入力されたL画像200とR画像300は、まず画像縮小部701および画像縮小部702に入力され、1/2に縮小される。この縮小処理によって、図18(2)に示す第1縮小画像データが生成される。1/2縮小L画像821と1/2縮小R画像822である。
なお、ここでは、縮小率1/2として説明するが、縮小率は任意の値に設定してよい。
画像縮小部701および画像縮小部702において縮小されたLR画像は、さらに画像縮小部703および画像縮小部704によって、さらに1/2に縮小される。この縮小処理によって、図18(3)に示す第2縮小画像データが生成される。1/4縮小L画像851と、1/4縮小R画像852である。
図18(3)に示す第2縮小画像データは、図18(1)の入力画像データに対して1/4の大きさとなる。
1/4縮小L画像851と、1/4縮小R画像852は、図17の画像処理装置70の画像処理部c730に入力される。
画像処理部c730は既に説明した画像処理装置100と同一の処理を行う。但し、ブロック分割部731は画像をブロックに分割する際に画像と同じ縮小率で縮小されたブロックサイズを使用してブロックに分割する。つまり、図18(3)に示すように1/4縮小L画像851は1画素×1画素のブロックに分割する。
類似度計算部732は、ブロック分割部731の設定した1/4縮小L画像851の1画素×1画素の各ブロックと、1/4縮小R画像852に設定される探索範囲に設定可能な全ての対応位置候補(対応ブロック候補)との類似度を個別に全て計算する。
尤度計算部733は、1/4縮小L画像851の隣接する複数ブロックからなる隣接ブロック集合を設定し、1/4縮小L画像851に設定した各隣接ブロック集合を単位として、1/4縮小R画像852に設定される対応ブロック集合の尤度を算出する。
対応位置決定部734は尤度計算部733から得られる尤度と、類似度計算部732から得られる類似度に基づいて計算される評価値が最適値となるような対応位置を、対応位置の候補の中から決定し、各ブロックに割り当てる。
これら、類似度計算部732、尤度計算部733、対応位置決定部734の処理は、すべて第1実施例において説明した画像処理装置100の類似度計算部102、尤度計算部103、対応位置決定部104の処理と同様の処理である。ただし、処理対象とするブロックサイズが異なっている。1画素×1画素のブロックを処理対象として処理を行う。
次に、画像処理部b720において、図18(2)に示す1/2縮小L画像821と、1/2縮小R画像822に対する対応点探索処理が行われる。画像処理部b720のブロック分割部721は画像をブロックに分割する際に画像と同じ縮小率で縮小されたブロックサイズを使用してブロックに分割する。つまり、図18(2)に示すように1/2縮小L画像821は2画素×2画素のブロックに分割する。
類似度計算部722、尤度計算部733の処理は、すべて第1実施例において説明した画像処理装置100の類似度計算部102、尤度計算部103の処理と同様の処理である。ただし、処理対象とするブロックサイズが異なっている。2画素×2画素のブロックを処理対象として処理を行う。
対応位置決定部724は、より縮小された画像、すなわち、図18(3)に示す1/4縮小L画像851と、1/4縮小R画像852を適用して対応点探索処理を実行して得られた対応位置情報を画像処理部c730から入力する。対応位置決定部724は、この入力情報を利用して対応位置候補を決定し、決定した対応位置候補のみに対して評価値を算出する処理を行う。
対応位置決定部724の処理について説明する。対応位置決定部724は、画像処理部c730の対応位置決定部734から1/4縮小画像の1画素×1画素のブロック単位の対応位置情報を入力可能な構成となっており、対応位置決定部724は、以下の式9により、対応位置候補を決定する。
Figure 0005428618
・・・(式9)
上記の式9において、
Di'は対応位置決定部724におけるi番目のブロックIiの対応位置を決定する際の対応位置の候補の集合である。
di"は画像処理部c730の対応位置決定部734によって定められたi番目のブロックIiの対応位置である。
式9から明らかなように、画像処理部b720の対応位置決定部724における対応位置の候補は3種類と非常に少なくなっている。すなわち、対応ブロックのずれ量dの候補は、2d"を中心として1画素ずつ左右にずらした3つのずれ量、
2d"
2d"−1
2d"+1
これらの値となる。なお、このずれ量dは1/2縮小画像におけるずれ量である。
対応位置決定部724は、各ブロックに対してこの3つのずれ量dを候補として、先に説明した評価値X(d)の算出を実行する。この結果、計算量は大幅に削減される。なお、対応位置の候補については必ずしも式9に依らなくともよく、より縮小された画像に対して得られた結果に基づいたものであれば構わない。
続いて図17に示す画像処理部a710が処理を行う。画像処理部a710は、図18(1)に示すL画像200と、R画像300に対する対応点探索処理を実行する。画像処理部a710のブロック分割部711は画像を4画素×4画素のブロックに分割する。
類似度計算部712、尤度計算部713の処理は、すべて第1実施例において説明した画像処理装置100の類似度計算部102、尤度計算部103の処理と同様の処理である。
対応位置決定部714は、縮小画像を適用して対応点探索処理を実行して得られた対応位置情報を画像処理部b720から入力する。対応位置決定部714は、この入力情報を利用して対応位置候補を決定し、決定した対応位置候補のみに対して評価値を算出する処理を行う。
対応位置決定部714の処理について説明する。対応位置決定部714は、画像処理部b720の対応位置決定部724から対応位置情報を入力可能な構成となっており、対応位置決定部714は、以下の式10により、対応位置候補を決定する。
Figure 0005428618
・・・(式10)
上記の式10において、
Diは対応位置決定部714におけるi番目のブロックの対応位置を決定する際の、対応位置の候補の集合である。
di’は画像処理部720の対応位置決定部724によって定められたi番目のブロックの対応位置である。
式10から明らかなように、画像処理部a710の対応位置決定部714における対応位置の候補は3種類と非常に少なくなっている。対応ブロックのずれ量dの候補は、2d'を中心として1画素ずつ左右にずらした3つのずれ量、
2d'
2d'−1
2d'+1
これらの値となる。なお、このずれ量dは縮小されていない画像におけるずれ量である。
対応位置決定部714は、各ブロックに対してこの3つのずれ量dを候補として、先に説明した評価値X(d)の算出を実行する。この結果、計算量は大幅に削減される。なお、対応位置の候補については必ずしも式10に依らなくともよく、より縮小された画像に対して得られた結果に基づいたものであれば構わない。
以上のようにして、図17に示す画像処理装置700は縮小画像を階層的に生成し、縮小画像に対して得られた対応位置情報を利用して、より大きな画像における対応位置候補を決定して、決定した対応位置候補のみを評価値算出対象として処理を行う。この処理により、計算量を大幅に削減して対応点を算出することが可能となり、高速な対応点探索を実現することができる。
[3.撮像装置の実施例について]
これまで、画像処理装置の実施例について第1実施例(図1)、第2実施例(図17)を説明してきたが、これら各実施例の画像処理装置に撮像部を備えた撮像装置を構成することが可能である。例えば、図19に示すように、撮像装置800は、撮像部a801、撮像部802、画像処理部810を有する。
撮像部a801はL画像200を撮影し、撮像部b802はR画像300を撮影する。これらの画像は画像処理部810に入力される。画像処理部810は、図1を参照して説明した画像処理装置100と同様、ブロック分割部811、類似度計算部812、尤度計算部813、対応位置決定部814を有し、前述の第1実施例と同様の処理を行う。
この図19に示す撮像装置の撮像部は、例えば図2を参照して説明した構成とすることが可能であり、1つの撮像装置で、2つの異なる視点からのL画像200、R画像300を撮影する構成とすることが可能である。
また、図19に示す画像処理部810は図17を参照して説明した画像処理装置700に置き換えた構成としてもよい。すなわち縮小画像を生成して縮小画像に対する処理結果から対応位置候補を決定して階層的な処理を実行する構成としてもよい。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の一実施例の構成によれば、複数の異なる視点から撮影された複数の画像間の対応点検出を効率的に実行することが可能となる。すなわち、異なる視点からの撮影画像であるL画像とR画像中のL画像についてブロック分割を行い、L画像のブロックと、R画像を構成する画像領域との類似度を計算し、L画像の隣接ブロックを構成するブロック各々に対するR画像の対応画像領域候補の尤度を対応画像領域候補の位置関係に基づいて算出する。さらにL画像のブロックに対するR画像の対応画像領域候補の評価値を類似度と尤度から算出し、算出した評価値の比較により、L画像のブロックに対応するR画像の画像領域を決定する。さらに縮小画像を用いた処理や動的計画法を適用する処理によりさらなる高速化が実現される。
20,30 カメラ
51 撮像素子
52 光学系
53〜56 鏡
100 画像処理装置
101 ブロック分割部
102 類似度計算部
103 尤度計算部
104 対応位置決定部
200 L画像
300 R画像
400 コスト行列
700 画像処理装置
701〜704 画像縮小部
710,720,730 画像処理部
711,721,731 ブロック分割部
712,722,732 類似度計算部
713,723,733 尤度計算部
714,724,734 対応位置決定部
800 撮像装置
801,802 撮像部
810 画像処理部
811 ブロック分割部
812 類似度計算部
813 尤度計算部
814 対応位置決定部

Claims (10)

  1. 異なる視点からの撮影画像である第1画像と第2画像から選択された第1画像についてブロック分割処理を行うブロック分割部と、
    前記ブロック分割部の設定した前記第1画像のブロックと、前記第2画像を構成する画像領域との類似度を計算する類似度計算部と、
    前記第1画像の隣接ブロックを構成するブロック各々に対する前記第2画像の対応画像領域候補の尤度を前記対応画像領域候補の位置関係に基づいて算出する尤度算出部であり、
    前記第1画像の隣接ブロックを構成するブロックAB各々に対する前記第2画像の対応画像領域候補abの尤度の算出処理に際して、
    前記第2画像の対応画像領域候補abが離間している場合には、離間距離が大きくなるに従って低下する尤度として設定し、
    前記第2画像の対応画像領域候補abが重なる場合には、重なり幅が大きくなるに従って低下する尤度として設定する尤度算出部と、
    前記第1画像のブロックに対する前記第2画像の対応画像領域候補の評価値を前記類似度と前記尤度から算出し、算出した評価値の比較により、前記第1画像のブロックに対応する前記第2画像の画像領域を決定する対応位置決定部と、
    を有する画像処理装置。
  2. 前記画像処理装置は、さらに、
    前記第1画像と第2画像を縮小して縮小第1画像と縮小第2画像を生成する画像縮小部を有し、
    前記ブロック分割部と、前記類似度計算部と、前記尤度算出部と、前記対応位置決定部は、前記画像縮小部において生成した縮小画像に対する処理を実行して前記縮小第1画像のブロックに対する前記縮小第2画像の対応画像領域を決定し、
    さらに、前記ブロック分割部と、前記類似度計算部と、前記尤度算出部と、前記対応位置決定部は、縮小前の前記第1画像と第2画像に対する処理を実行して前記第1画像のブロックに対する前記第2画像の対応画像領域の決定処理を実行する処理に際して、前記対応位置決定部は、前記縮小第2画像に対して求められた対応画像領域に対応する縮小前の第2画像対応画像領域のみを前記評価値の算出対象となる対応画像領域候補とする処理を実行する請求項1に記載の画像処理装置。
  3. 前記画像縮小部は、異なる縮小率の縮小画像を生成し、
    前記ブロック分割部と、前記類似度計算部と、前記尤度算出部と、前記対応位置決定部は、
    先行画像処理として、縮小率の大きい縮小画像に対する処理を実行し、
    後続画像処理として、縮小率の小さい縮小画像または縮小されていない画像に対する処理を実行し、
    前記後続画像処理では、先行画像処理において求められた縮小率の大きい縮小第2画像の対応画像領域に基づいて、前記評価値の算出対象となる対応画像領域候補とする処理を実行する請求項2に記載の画像処理装置。
  4. 前記縮小画像に対するブロック分割を実行するブロック分割部は、画像縮小率と同一の縮小率で縮小したブロックサイズで縮小画像の分割処理を実行する請求項2または3に記載の画像処理装置。
  5. 前記対応位置決定部は、
    前記類似度計算部の算出した類似度Fと、
    前記尤度算出部の算出した尤度Hを適用し、
    評価値Xを、
    X=F+λH
    ただしλは、予め設定した係数、
    上記式によって算出する請求項1〜4いずれかに記載の画像処理装置。
  6. 前記対応位置決定部は、
    前記評価値を、前記第1画像に設定した複数のブロックの集合に対して算出し、算出した評価値を利用して前記第1画像に設定した複数のブロックに対する第2画像における対応画像領域を決定する請求項5に記載の画像処理装置。
  7. 前記対応位置決定部は、
    前記評価値の比較による第1画像のブロックに対する前記第2画像の対応画像領域の決定処理を動的計画法を適用して実行する請求項1〜6いずれかに記載の画像処理装置。
  8. 前記請求項1〜7いずれかに記載の画像処理装置を有する撮像装置。
  9. 画像処理装置において実行する画像処理方法であり、
    ブロック分割部が、異なる視点からの撮影画像である第1画像と第2画像から選択された第1画像についてブロック分割処理を行うブロック分割ステップと、
    類似度計算部が、前記ブロック分割ステップにおいて設定した前記第1画像のブロックと、前記第2画像を構成する画像領域との類似度を計算する類似度計算ステップと、
    尤度算出部が、前記第1画像の隣接ブロックを構成するブロック各々に対する前記第2画像の対応画像領域候補の尤度を前記対応画像領域候補の位置関係に基づいて算出する尤度算出ステップであり、
    前記第1画像の隣接ブロックを構成するブロックAB各々に対する前記第2画像の対応画像領域候補abの尤度の算出処理に際して、
    前記第2画像の対応画像領域候補abが離間している場合には、離間距離が大きくなるに従って低下する尤度を設定し、
    前記第2画像の対応画像領域候補abが重なる場合には、重なり幅が大きくなるに従って低下する尤度を設定する尤度算出ステップと、
    対応位置決定部が、前記第1画像のブロックに対する前記第2画像の対応画像領域候補の評価値を前記類似度と前記尤度から算出し、算出した評価値の比較により、前記第1画像のブロックに対応する前記第2画像の画像領域を決定する対応位置決定ステップと、
    を有する画像処理方法。
  10. 画像処理装置において画像処理を実行させるプログラムであり、
    ブロック分割部に、異なる視点からの撮影画像である第1画像と第2画像から選択された第1画像についてブロック分割処理を行わせるブロック分割ステップと、
    類似度計算部に、前記ブロック分割ステップにおいて設定した前記第1画像のブロックと、前記第2画像を構成する画像領域との類似度を計算させる類似度計算ステップと、
    尤度算出部に、前記第1画像の隣接ブロックを構成するブロック各々に対する前記第2画像の対応画像領域候補の尤度を前記対応画像領域候補の位置関係に基づいて算出させる尤度算出ステップであり、
    前記第1画像の隣接ブロックを構成するブロックAB各々に対する前記第2画像の対応画像領域候補abの尤度の算出処理に際して、
    前記第2画像の対応画像領域候補abが離間している場合には、離間距離が大きくなるに従って低下する尤度を設定し、
    前記第2画像の対応画像領域候補abが重なる場合には、重なり幅が大きくなるに従って低下する尤度を設定する尤度算出ステップと、
    対応位置決定部に、前記第1画像のブロックに対する前記第2画像の対応画像領域候補の評価値を前記類似度と前記尤度から算出させ、算出した評価値の比較により、前記第1画像のブロックに対応する前記第2画像の画像領域を決定させる対応位置決定ステップと、
    を実行させるプログラム。
JP2009176085A 2009-07-29 2009-07-29 画像処理装置、撮像装置、および画像処理方法、並びにプログラム Expired - Fee Related JP5428618B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009176085A JP5428618B2 (ja) 2009-07-29 2009-07-29 画像処理装置、撮像装置、および画像処理方法、並びにプログラム
EP10168702A EP2293243A3 (en) 2009-07-29 2010-07-07 Image processing apparatus, image capture apparatus, image processing method, and program
US12/839,347 US8416989B2 (en) 2009-07-29 2010-07-19 Image processing apparatus, image capture apparatus, image processing method, and program
CN201010235558XA CN101990065B (zh) 2009-07-29 2010-07-22 图像处理装置、图像拍摄装置、图像处理方法和程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009176085A JP5428618B2 (ja) 2009-07-29 2009-07-29 画像処理装置、撮像装置、および画像処理方法、並びにプログラム

Publications (3)

Publication Number Publication Date
JP2011028662A JP2011028662A (ja) 2011-02-10
JP2011028662A5 JP2011028662A5 (ja) 2012-07-19
JP5428618B2 true JP5428618B2 (ja) 2014-02-26

Family

ID=43014254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009176085A Expired - Fee Related JP5428618B2 (ja) 2009-07-29 2009-07-29 画像処理装置、撮像装置、および画像処理方法、並びにプログラム

Country Status (4)

Country Link
US (1) US8416989B2 (ja)
EP (1) EP2293243A3 (ja)
JP (1) JP5428618B2 (ja)
CN (1) CN101990065B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7308017B2 (ja) 2018-05-31 2023-07-13 大王製紙株式会社 薄葉紙包装体

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5901160B2 (ja) * 2010-07-07 2016-04-06 キヤノン株式会社 画像配信装置及びその制御方法、画像送信装置及びその制御方法、並びにプログラム
JP2012089931A (ja) * 2010-10-15 2012-05-10 Sony Corp 情報処理装置、情報処理方法およびプログラム
US9576349B2 (en) * 2010-12-20 2017-02-21 Microsoft Technology Licensing, Llc Techniques for atmospheric and solar correction of aerial images
JP5978573B2 (ja) * 2011-09-06 2016-08-24 ソニー株式会社 映像信号処理装置および映像信号処理方法
JP5769248B2 (ja) * 2011-09-20 2015-08-26 Necソリューションイノベータ株式会社 ステレオマッチング処理装置、ステレオマッチング処理方法、及び、プログラム
CA2888468A1 (en) * 2012-10-17 2014-04-24 Gelsight, Inc. Three-dimensional digital impression and visualization of objects
CN105701438B (zh) * 2014-11-26 2020-06-23 东芝医疗系统株式会社 医学图像处理装置和方法以及医学成像设备
JP2017045124A (ja) * 2015-08-24 2017-03-02 株式会社日本自動車部品総合研究所 視差検出装置
JP6800628B2 (ja) * 2016-06-22 2020-12-16 キヤノン株式会社 追跡装置、追跡方法、及びプログラム
CN110189256B (zh) * 2019-05-30 2023-05-02 影石创新科技股份有限公司 一种全景图像拼接方法、计算机可读存储介质及全景相机

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02268215A (ja) * 1989-04-10 1990-11-01 Graphics Commun Technol:Kk 距離検出方法と装置
US5048095A (en) * 1990-03-30 1991-09-10 Honeywell Inc. Adaptive image segmentation system
JP2966248B2 (ja) * 1993-10-01 1999-10-25 シャープ株式会社 ステレオ対応探索装置
US6263088B1 (en) * 1997-06-19 2001-07-17 Ncr Corporation System and method for tracking movement of objects in a scene
EP1025517A1 (en) * 1997-10-27 2000-08-09 Massachusetts Institute Of Technology Image search and retrieval system
US6819797B1 (en) * 1999-01-29 2004-11-16 International Business Machines Corporation Method and apparatus for classifying and querying temporal and spatial information in video
JP2001243451A (ja) * 2000-03-01 2001-09-07 Olympus Optical Co Ltd 画像間対応探索方法
US6785427B1 (en) * 2000-09-20 2004-08-31 Arcsoft, Inc. Image matching using resolution pyramids with geometric constraints
JP2003085566A (ja) 2001-09-10 2003-03-20 Nippon Hoso Kyokai <Nhk> 対応点探索方法及びこれを用いたマッチング装置
US6985623B2 (en) * 2002-06-10 2006-01-10 Pts Corporation Scene change detection by segmentation analysis
JP4622265B2 (ja) * 2004-03-01 2011-02-02 ソニー株式会社 動きベクトル検出装置、および動きベクトル検出方法、並びにプログラム
US7397970B2 (en) * 2004-12-07 2008-07-08 Lockheed Martin Corporation Automatic scene correlation and identification
US7702183B1 (en) * 2006-05-17 2010-04-20 The Boeing Company Methods and systems for the detection of the insertion, removal, and change of objects within a scene through the use of imagery
US8233712B2 (en) * 2006-07-28 2012-07-31 University Of New Brunswick Methods of segmenting a digital image
JP5238220B2 (ja) * 2007-10-29 2013-07-17 株式会社東芝 解像度変換装置、方法およびプログラム
JP2009140046A (ja) * 2007-12-04 2009-06-25 Sony Corp 画像処理装置および画像データのメモリアクセス方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7308017B2 (ja) 2018-05-31 2023-07-13 大王製紙株式会社 薄葉紙包装体

Also Published As

Publication number Publication date
CN101990065A (zh) 2011-03-23
US20110026834A1 (en) 2011-02-03
EP2293243A3 (en) 2012-07-04
JP2011028662A (ja) 2011-02-10
US8416989B2 (en) 2013-04-09
EP2293243A2 (en) 2011-03-09
CN101990065B (zh) 2013-06-12

Similar Documents

Publication Publication Date Title
JP5428618B2 (ja) 画像処理装置、撮像装置、および画像処理方法、並びにプログラム
US11341750B2 (en) Quasi-parametric optical flow estimation
JP6147172B2 (ja) 撮像装置、画像処理装置、画像処理方法、及びプログラム
JP5870636B2 (ja) 画像処理装置および方法、並びにプログラム
JP2005269419A (ja) 画像変形推定方法および画像変形推定装置
JP6494402B2 (ja) 画像処理装置、撮像装置、画像処理方法、プログラム
JP2020021126A (ja) 画像処理装置およびその制御方法、距離検出装置、撮像装置、プログラム
CN114764823A (zh) 自校正的深度计算方法、系统、介质及深度图像处理设备
WO2020175063A1 (ja) 演算装置、視差算出方法
JP5051670B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2011053937A (ja) 画像変換パラメータ算出装置、画像変換パラメータ算出方法およびプログラム
JP2007179236A (ja) 画像生成装置及び方法
WO2022271499A1 (en) Methods and systems for depth estimation using fisheye cameras
JP4906753B2 (ja) 画像処理用ルックアップテーブル作成装置および画像処理用ルックアップテーブル作成方法
JP2003050110A (ja) 3次元形状データ生成システム、3次元形状データ生成方法、プログラム、および記録媒体
KR20210133472A (ko) 이미지 병합 방법 및 이를 수행하는 데이터 처리 장치
JP6730214B2 (ja) 視差演算装置
JP5364982B2 (ja) 情報処理システム
JP2019158759A (ja) 撮像装置、車両、及び撮像方法
US11909942B2 (en) Parallax detecting apparatus, image capturing apparatus, parallax detecting method, and storage medium
JP7030356B2 (ja) 視差確定方法、電子機器及びコンピュータ可読記憶媒体
JP5463974B2 (ja) 情報処理装置、プログラム、および情報処理方法
JP5338724B2 (ja) 画像処理装置及び画像処理プログラム
WO2023000205A1 (en) Method and apparatus for computer vision processing
JP4825824B2 (ja) 全方位画像生成装置、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120605

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130326

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: 20131105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131118

R151 Written notification of patent or utility model registration

Ref document number: 5428618

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees