JP4296617B2 - 画像処理装置および画像処理方法、並びに記録媒体 - Google Patents
画像処理装置および画像処理方法、並びに記録媒体 Download PDFInfo
- Publication number
- JP4296617B2 JP4296617B2 JP29321298A JP29321298A JP4296617B2 JP 4296617 B2 JP4296617 B2 JP 4296617B2 JP 29321298 A JP29321298 A JP 29321298A JP 29321298 A JP29321298 A JP 29321298A JP 4296617 B2 JP4296617 B2 JP 4296617B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- distance
- image
- pixels
- correction target
- 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
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Measurement Of Optical Distance (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Description
【発明の属する技術分野】
本発明は、画像処理装置および画像処理方法、並びに記録媒体に関し、特に、例えば、所定の対象物を、複数のカメラで撮影して得られる複数の画像の画素それぞれを相互に対応付け、対象物に対する視差や、対象物までの距離などを、画素ごとに求める、いわゆるステレオ画像処理を行う画像処理装置および画像処理方法、並びに記録媒体に関する。
【0002】
【従来の技術】
例えば、文献「解説,ビデオレート・ステレオマシン(A Video-rate Stereomachine;金出(Kanade),木村 著、日本ロボット学会誌("Journal of the Robotics Society of Japan (JRSJ)")vol.13 No.3, pp.322〜pp.326, 1995)」などには、2箇所以上から同一の対象物を撮影することにより、あるいは、2台以上のカメラで撮影することにより得た複数の画像の間で、互いに対応する画素の間の視差情報(視差)を得て、対象物上の各点の距離を求め、さらには、対象物の形状を計測する、いわゆるステレオ画像処理が開示されている。
【0003】
【発明が解決しようとする課題】
しかしながら、従来のステレオ画像処理では、背景と対象物との位置関係によっては、対象物の輪郭の近傍において、複数の画像間での画素の対応付けが不正確になり、画素間の視差情報や、対象物までの距離、あるいはその形状を正しく計測できないことがある。
【0004】
本発明は、このような状況に鑑みてなされたものであり、複数の画像間での画素の対応付けを正確に行うことができなかった場合であっても、比較的正確な視差情報や距離等を得ることができるようにするものである。
【0005】
【課題を解決するための手段】
請求項1に記載の画像処理装置は、第1の画像の画素と対応する、第2の画像の対応画素を検出する検出手段と、検出手段により検出された対応画素に基づき、第1の画像の画素について、距離関係情報を求める処理手段と、処理手段により求められた距離関係情報を画素値とする距離関係情報画像の画素のうち、検出手段により対応画素として検出された画素が真の対応点である確実性が一定以下の画素を、距離関係情報の補正を行う対象とする補正対象画素として選択する選択手段と、距離関係画像のうち、選択手段により選択された補正対象画素を含む所定の領域を検索ブロックとして、検索ブロック内の複数の画素の中から、確実性が所定の条件を満たす画素を検索し、補正対象画素についての距離関係情報を、検索された画素についての距離関係情報に置換することにより、補正対象画素についての距離関係情報を補正する補正手段とを備える。
【0006】
請求項9に記載の画像処理方法は、第1の画像の画素と対応する、第2の画像の対応画素を検出する検出ステップと、検出ステップの処理により検出された対応画素に基づき、第1の画像の画素について、距離関係情報を求める処理ステップと、処理ステップの処理により求められた距離関係情報を画素値とする距離関係情報画像の画素のうち、検出ステップの処理により対応画素として検出された画素が真の対応点である確実性が一定以下の画素を、距離関係情報の補正を行う対象とする補正対象画素として選択する選択ステップと、距離関係画像のうち、選択ステップの処理により選択された補正対象画素を含む所定の領域を検索ブロックとして、検索ブロック内の複数の画素の中から、確実性が所定の条件を満たす画素を検索し、補正対象画素についての距離関係情報を、検索された画素についての距離関係情報に置換することにより、補正対象画素についての距離関係情報を補正する補正ステップとを含む。
【0007】
請求項10に記載の記録媒体は、第1の画像の画素と対応する、第2の画像の対応画素を検出する検出ステップと、検出ステップの処理により検出された対応画素に基づき、第1の画像の画素について、距離関係情報を求める処理ステップと、処理ステップの処理により求められた距離関係情報を画素値とする距離関係情報画像の画素のうち、検出ステップの処理により対応画素として検出された画素が真の対応点である確実性が一定以下の画素を、距離関係情報の補正を行う対象とする補正対象画素として選択する選択ステップと、距離関係画像のうち、選択ステップの処理により選択された補正対象画素を含む所定の領域を検索ブロックとして、検索ブロック内の複数の画素の中から、確実性が所定の条件を満たす画素を検索し、補正対象画素についての距離関係情報を、検索された画素についての距離関係情報に置換することにより、補正対象画素についての距離関係情報を補正する補正ステップとを含むプログラムが記録されている。
【0009】
請求項1に記載の画像処理装置においては、検出手段は、第1の画像の画素と対応する、第2の画像の対応画素を検出し、処理手段は、検出手段により検出された対応画素に基づき、第1の画像の画素について、距離関係情報を求めるようになされている。選択手段は、処理手段により求められた距離関係情報を画素値とする距離関係情報画像の画素のうち、検出手段により対応画素として検出された画素が真の対応点である確実性が一定以下の画素を、距離関係情報の補正を行う対象とする補正対象画素として選択し、補正手段は、距離関係画像のうち、選択手段により選択された補正対象画素を含む所定の領域を検索ブロックとして、検索ブロック内の複数の画素の中から、確実性が所定の条件を満たす画素を検索し、補正対象画素についての距離関係情報を、検索された画素についての距離関係情報に置換することにより、補正対象画素についての距離関係情報を補正するようになされている。
【0010】
請求項9に記載の画像処理方法においては、第1の画像の画素と対応する、第2の画像の対応画素を検出し、検出された対応画素に基づき、第1の画像の画素について、距離関係情報を求めるようになされている。求められた距離関係情報を画素値とする距離関係情報画像の画素のうち、対応画素として検出された画素が真の対応点である確実性が一定以下の画素を、距離関係情報の補正を行う対象とする補正対象画素として選択し、距離関係画像のうち、選択された補正対象画素を含む所定の領域を検索ブロックとして、検索ブロック内の複数の画素の中から、確実性が所定の条件を満たす画素を検索し、補正対象画素についての距離関係情報を、検索された画素についての距離関係情報に置換することにより、補正対象画素についての距離関係情報を補正するようになされている。
【0011】
請求項10に記載の記録媒体に記録されるプログラムにおいては、第1の画像の画素と対応する、第2の画像の対応画素を検出し、検出された対応画素に基づき、第1の画像の画素について、距離関係情報を求めるようになされている。求められた距離関係情報を画素値とする距離関係情報画像の画素のうち、対応画素として検出された画素が真の対応点である確実性が一定以下の画素を、距離関係情報の補正を行う対象とする補正対象画素として選択し、距離関係画像のうち、選択された補正対象画素を含む所定の領域を検索ブロックとして、検索ブロック内の複数の画素の中から、確実性が所定の条件を満たす画素を検索し、補正対象画素についての距離関係情報を、検索された画素についての距離関係情報に置換することにより、補正対象画素についての距離関係情報を補正するようになされている。
【0013】
【発明の実施の形態】
図1は、本発明を適用した距離測定装置の一実施の形態の構成例を示している。
【0014】
カメラ1および2(撮像手段)は、異なる位置に固定された、例えばCCD(Charge Coupled Device)ビデオカメラで、その異なる位置(異なる視線方向)から対象物3を撮影し、その結果得られる画像を、カメラインターフェイス4に出力するようになされている。ここで、カメラ1または2は、それぞれ、いわゆる基準カメラまたは検出カメラとして機能する。そこで、以下、適宜、カメラ1または2を、それぞれ基準カメラ1または検出カメラ2というとともに、それぞれが出力する画像を、基準カメラ画像(第1の画像)または検出カメラ画像(第2の画像)という。
【0015】
カメラインターフェイス4は、基準カメラ1または検出カメラ2それぞれからの基準カメラ画像または検出カメラ画像を受信し、フレームメモリ5に供給するようになされている。フレームメモリ5は、カメラインターフェイス4からの基準カメラ画像および検出カメラ画像を、例えば、フレーム単位などで記憶するようになされている。
【0016】
演算処理回路6は、フレームメモリ5に記憶された基準カメラ画像および検出カメラ画像に基づいて、基準カメラ1または検出カメラ2のうちの、例えば、基準カメラ1から対象物3までの距離に関係する距離関係情報を求め、その距離関係情報に対応する画素値を有する画像を生成するようになされている。
【0017】
即ち、演算処理回路6は、基準カメラ画像の画素と、検出カメラ画像の画素のとの間の対応をとり、基準カメラ画像の画素それぞれについて、対象物3までの距離を求めて、その距離に対応する画素値を有する画像(例えば、距離が大きいほど輝度値が大きい画像)(以下、適宜、距離画像という)を生成するようになされている。あるいは、演算処理回路6は、対応をとった画素間の視差ζを測定し、その視差ζに対応する画素値を有する画像(以下、適宜、視差画像という)を生成するようになされている。なお、演算処理回路6においては、視差ζから、距離画像を求めたり、さらに、距離画像から、対象物3の3次元形状の解析を行うようにすること等も可能である。
【0018】
具体的には、演算処理回路6は、制御用のCPU(Central Processing Unit)6A,ROM(Read Only Memory)6B,RAM(Random Access Memory)6C、および画像処理用のDSP(Digital Signal Processor)6Dなどから構成されている。そして、CPU6Aは、記憶装置7に記憶されたアプリケーションプログラムを実行することで、距離測定装置を構成する各ブロックを制御するとともに、後述するようなステレオ処理や、補正処理等を行うことにより、距離画像等を生成するようになされている。
【0019】
なお、ROM6Bは、例えば、IPL(Initial Program Loading)用のプログラムその他の必要なデータを記憶している。RAM6Cは、CPU6Aが実行するプログラムや、CPU6Aの処理上必要なデータなどを一時記憶するようになされている。DSP6Dは、CPU6Aの制御の下、必要な積和演算その他を行うようになされている。
【0020】
記憶装置7は、例えば、HD(Hard Disk)や、CD−ROM(Compact Disc Read Only Memory)などで構成され、演算処理回路6が実行するOS(Operating System)のプログラムや、上述したような処理を行うためのアプリケーションプログラムなどを記憶している。また、記憶装置7は、演算処理回路6が出力する距離画像等を記憶するようにもなされている。出力装置8は、例えば、CRT(Cathode Ray Tube)や液晶パネルなどで構成され、演算処理回路6が出力する距離画像等を表示するようになされている。
【0021】
以上のように構成される距離測定装置では、基準カメラ1および検出カメラ2によって対象物3が撮影される。さらに、その結果得られる基準カメラ画像および検出カメラ画像が、カメラインターフェイス4を介してフレームメモリ5に供給されて記憶される。そして、その基準カメラ画像および検出カメラ画像を用いて、演算処理回路6において、ステレオ処理が行われる。
【0022】
ここで、ステレオ処理は、上述のように、2つ以上の方向(異なる視線方向)からカメラで同一対象物を撮影して得られる複数の画像間の画素同士を対応付けることで、対応する画素間の視差情報や、カメラから対象物までの距離、対象物の形状を求めるものである。
【0023】
即ち、例えば、図2に示すように、2台の基準カメラ1および検出カメラ2で対象物3を撮影すると、基準カメラ1からは対象物3の投影像を含む基準カメラ画像が得られ、検出カメラ2からも対象物3の投影像を含む検出カメラ画像が得られる。いま、図2における対象物3上のある点Pが、基準カメラ画像および検出カメラ画像の両方に表示されているとすると、その点Pが表示されている基準カメラ画像上の位置と、検出カメラ画像上の位置、つまり対応点(対応画素)とから、視差情報を求めることができ、さらに、三角測量の原理を用いて、点Pの3次元空間における位置(3次元位置)を求めることができる。
【0024】
従って、ステレオ処理では、まず、対応点を検出することが必要となるが、その検出方法としては、例えば、エピポーラライン(Epipolar Line)を用いたエリアベースマッチング法などがある。
【0025】
即ち、図3に示すように、基準カメラ1においては、対象物3上の点Pは、その点Pと基準カメラ1の光学中心(レンズ中心)O1とを結ぶ直線L上の、基準カメラ1の撮像面S1との交点naに投影される。
【0026】
また、検出カメラ2においては、対象物3の点Pは、その点Pと検出カメラ2の光学中心(レンズ中心)O2とを結ぶ直線上の、検出カメラ2の撮像面S2との交点nbに投影される。
【0027】
この場合、直線Lは、光学中心O1およびO2、並びに点na(または点P)の3点を通る平面と、検出カメラ画像が形成される撮像面S2との交線L2として、撮像面S2上に投影される。点Pは、直線L上の点であり、従って、撮像面S2において、点Pを投影した点nbは、直線Lを投影した直線L2上に存在し、この直線L2はエピポーララインと呼ばれる。即ち、点naの対応点nbが存在する可能性のあるのは、エピポーララインL2上であり、従って、対応点nbの探索は、エピポーララインL2上を対象に行えば良い。
【0028】
ここで、エピポーララインは、例えば、撮像面S1に形成される基準カメラ画像を構成する画素ごとに考えることができるが、基準カメラ1と検出カメラ2の位置関係が既知であれば、その画素ごとに存在するエピポーララインは求めることができる。
【0029】
エピポーララインL2上の点からの対応点nbの検出は、例えば、次のようなエリアベースマッチングによって行うことができる。
【0030】
即ち、エリアベースマッチングでは、図4(A)に示すように、基準カメラ画像上の点naを中心(例えば、対角線の交点)とする、例えば長方形状の小ブロック(以下、適宜、基準ブロックという)(第1のブロック)が、基準カメラ画像から抜き出されるとともに、図4(B)に示すように、検出カメラ画像に投影されたエピポーララインL2上の、ある点を中心とする、基準ブロックと同一の大きさの小ブロック(以下、適宜、検出ブロックという)(第2のブロック)が、検出カメラ画像から抜き出される。
【0031】
ここで、図4(B)の実施の形態においては、エピポーララインL2上に、検出ブロックの中心とする点として、点nb1乃至nb6の6点が設けられている。この6点nb1乃至nb6は、図3に示した3次元空間における直線Lを、所定の一定距離ごとに区分する点、即ち、基準カメラ1からの距離が、例えば、1m,2m,3m,4m,5m,6mの点それぞれを、検出カメラ2の撮像面S2に投影した点で、従って、基準カメラ1からの距離が1m,2m,3m,4m,5m,6mの点にそれぞれ対応している。
【0032】
エリアベースマッチングでは、検出カメラ画像から、エピポーララインL2上に設けられている点nb1乃至nb6それぞれを中心とする検出ブロックが抜き出され、各検出ブロックと、基準ブロックとの相関が、所定の評価関数を用いて演算される。そして、点naを中心とする基準ブロックとの相関が最も高い検出ブロックの中心の点nbが、点naの対応点として求められる。
【0033】
即ち、例えば、いま、評価関数として、相関が高いほど小さな値をとる関数を用いた場合に、エピポーララインL2上の点nb1乃至nb6それぞれについて、例えば、図5に示すような評価値(評価関数の値)が得られたとする。この場合、評価値が最も小さい(相関が最も高い)点nb3が、点naの対応点として検出される。なお、図5において、点nb1乃至nb6それぞれについて求められた評価値(図5において●印で示す)のうちの最小値付近のものを用いて補間を行い、評価値がより小さくなる点(図5において×印で示す)を求めて、その点を、最終的な対応点として検出することも可能である。
【0034】
図4の実施の形態では、上述したように、3次元空間における直線Lを所定の等距離ごとに区分する点を、検出カメラ2の撮像面S2に投影した点が設定されているが、この設定は、例えば、基準カメラ1および検出カメラ2のキャリブレーション時に行うことができる。そして、このような設定を、基準カメラ1の撮像面S1を構成する画素ごとに存在するエピポーララインごとに行い、図6(A)に示すように、エピポーラライン上に設定された点(以下、適宜、設定点という)と、基準カメラ1からの距離とを対応付ける設定点/距離テーブルをあらかじめ作成しておけば、対応点となる設定点を検出し、設定点/距離テーブルを参照することで、即座に、基準カメラ1からの距離(対象物3までの距離)を求めることができる。即ち、いわば、対応点から、直接、距離を求めることができる。
【0035】
一方、基準カメラ画像上の点naについて、検出カメラ画像上の対応点nbを検出すれば、その2点naおよびnbの間の視差(視差情報)を求めることができる。さらに、基準カメラ1と検出カメラ2の位置関係が既知であれば、2点naおよびnbの間の視差から、三角測量の原理によって、対象物3までの距離を求めることができる。視差から距離の算出は、所定の演算を行うことによって行うことができるが、あらかじめその演算を行っておき、図6(B)に示すように、視差ζと距離との対応付ける視差/距離テーブルをあらかじめ作成しておけば、対応点を検出し、視差を求め、視差/距離テーブルを参照することで、やはり、即座に、基準カメラ1からの距離を求めることができる。
【0036】
ここで、視差と、対象物3までの距離とは一対一に対応するものであり、従って、視差を求めることとと、対象物3までの距離を求めることとは、いわば等価である。
【0037】
また、対応点の検出に、基準ブロックおよび検出ブロックといった複数画素でなるブロックを用いるのは、ノイズの影響を軽減し、基準カメラ画像上の画素(点)naの周囲の画素のパターンの特徴と、検出カメラ画像上の対応点(画素)nbの周囲の画素のパターンの特徴との相関性を明確化して判断することにより、対応点の検出の確実を期すためであり、特に、変化の少ない基準カメラ画像および検出カメラ画像に対しては、画像の相関性により、ブロックの大きさが大きければ大きいほど対応点の検出の確実性が増す。
【0038】
次に、エリアベースマッチングにおいて、例えば、基準ブロックと検出ブロックとの相関性を評価する評価関数としては、基準ブロックを構成する画素と、それぞれの画素に対応する、検出ブロックを構成する画素の画素値の差分の絶対値の総和や、その差分の自乗和、正規化された相互相関(normalized cross correlation)などを用いることができる。
【0039】
基準ブロックを構成する画素と、それぞれの画素に対応する、検出ブロックを構成する画素の画素値の差分の絶対値の総和を評価関数として用いる場合、その評価値(評価関数の値)は、例えば、次式で計算することができる。
【0040】
【数1】
・・・(1)
なお、式(1)において、xは、対応点を求めようとして注目している基準画像上の画素(注目画素)を表し、従って、基準ブロックを構成する中心の画素を表す。また、yは、検出ブロックを構成する中心の画素を表し、S(x,y)は、基準カメラ画像上の画素xを中心とする基準ブロックと、検出カメラ画像上の画素yを中心とする検出ブロックとの相関性を示す評価値を表す。さらに、WAまたはWBは、基準ブロックまたは検出ブロックをそれぞれ表し、j WA,WBであるから、x+jは、基準ブロックWAを構成する画素を表し、y+jは、画素x+jに対応する、検出ブロックWBを構成する画素を、それぞれ表す。また、YA(x+j)またはYB(y+j)は、それぞれ、画素x+jまたはy+jの画素値を表す。
【0041】
式(1)を用いる場合においては、例えば、画素yを、エピポーラライン上に設定された設定点に順次ずらしながら、評価値S(x,y)を計算し、その評価値S(x,y)を最も小さくする検出カメラ画像の画素y(=ymin)が、基準カメラ画像の画素xの対応点として検出される。なお、視差は、画素xとyminとの位置から計算される。
【0042】
また、例えば、基準ブロックを構成する画素と、それぞれの画素に対応する、検出ブロックを構成する画素の画素値の差分の自乗和を評価関数として用いる場合、その評価値は、例えば、次式で計算することができる。
【0043】
【数2】
・・・(2)
なお、式(2)において、x,yは、画素のx座標、y座標をそれぞれ表し、η,ξは、x方向の視差、y方向の視差をそれぞれ表す。そして、SSD(x,y,η,ξ)は、視差が(η,ξ)であると仮定した場合の評価値、即ち、基準カメラ画像上の座標(x,y)に位置する画素を中心とする基準ブロックと、検出カメラ画像上の座標(x−η,y−ξ)に位置する画素を中心とする検出ブロックとの相関性を示す評価値を表す。また、WAまたはWBは、基準ブロックまたは検出ブロックをそれぞれ表し、i,j WA,WBであるから、(x+i,y+j)または(x+i−η,y+j−ξ)は、基準カメラ画像または検出カメラ画像上の座標をそれぞれ表す。そして、YA(x+i,y+j)は、基準カメラ画像上の座標(x+i,y+j)に位置する画素の画素値を表し、YB(x+i−η,y+j−ξ)は、検出カメラ画像上の座標(x+i−η,y+j−ξ)に位置する画素の画素値を表す。
【0044】
式(2)を用いる場合には、視差(η,ξ)を変化させならが、評価値SSD(x,y,η,ξ)を計算し、その評価値SSD(x,y,η,ξ)を最も小さくする検出カメラ画像の画素(x−η,y−ξ)が、基準カメラ画像の画素(x,y)の対応点として検出される。なお、評価値SSD(x,y,η,ξ)を最も小さくするときの視差(η,ξ)を、(ηmin,ξmin)と表すと、基準カメラの画素と、その対応点との距離としての視差ζは、次式で求められる。
【0045】
【数3】
・・・(3)
【0046】
ここで、式(1)および(2)に示した評価値は、基準ブロックを構成する画素と、それぞれの画素に対応する、検出ブロックの画素との画素値の差が少ないほど小さくなる。従って、基準カメラ画像の画素naについての評価値を最も小さくする検出カメラ画像の画素nbについては、その評価値が小さいほど、画素naの対応点であることの確実性が大きく、逆に、その評価値が大きいほど、画素naの対応点であることの確実性が低くなることになる。
【0047】
次に、例えば、図7(A)に示すように、背景となる壁の前方(基準カメラ1および検出カメラ2から見て手前)に置かれた対象物3を、基準カメラ1および検出カメラ2で撮影し、エピポーララインを用いてエリアベースマッチングを行うことにより、対応点の検出を行う場合を考える。
【0048】
ここで、上述したように、視差を求めることとと、対象物3までの距離を求めることとは等価であり、以下では、対応点から、例えば、図6(A)に示したような設定点/距離対応テーブルを参照して、距離を求めるものとして、説明を行う。さらに、以下では、例えば、式(1)の評価値を用いることとする。
【0049】
図7(A)に示した場合においては、基準カメラ1または検出カメラ2それぞれから、例えば、図7(B)に示すような基準カメラ画像または検出カメラ画像が得られる。
【0050】
そして、いま、図7(B)に示した基準カメラ画像において、図8(A)に示すように、対象物3の投影像である前景に接する背景の画素k(図8(A)において、■印で示す)の対応点k’を検出することを考える。
【0051】
この場合、例えば、画素kと対応点k’との間の視差ζが大きいと、図8(B)に示すように、基準カメラ画像において前景に接する背景の画素kの、検出カメラ画像上の真の対応点k’が、対象物3の投影像である前景から離れた位置に観察されることがある。
【0052】
このような場合においては、基準カメラ画像の画素kを中心画素とする基準ブロックは、図8(C)に示すように、一部に前景の画素を含み、残りに背景の画素を含むものとなる。なお、図8(C)の実施の形態では、画素kを中心とする5×5画素(横×縦)が、基準ブロックとして構成されており、左側の2列が前景の画素で、右側の3列が背景の画素で、それぞれ構成されている。
【0053】
図8(C)に示した場合において、基準ブロックの左側の2列と、右側の3列にそれぞれ対応する検出カメラ画像の画素は、図8(D)に示すように、2カ所に分かれる。即ち、基準ブロックの、前景の画素でなる左側の2列は、検出カメラ画像における前景の画素群Aに対応する。一方、基準ブロックの、背景の画素でなる右側の3列は、検出カメラ画像における真の対応点k’の部分の背景の画素群Bに対応する。
【0054】
そして、このように、基準ブロックを構成する画素に対応する検出カメラ画像の画素が分かれる場合においては、基準ブロックについて計算される評価値が、画素群Bを含む検出ブロックを対象としたときよりも、画素群Aを含む検出ブロックを対象としたときの方が小さくなることがある。即ち、図8(E)に示すように、検出カメラ画像において、前景に接する背景の画素k’’を中心として構成される検出ブロックが、基準ブロックとの間の評価値を最も小さくすることがある。この場合、真の対応点k’ではない点k’’が、画素kの対応点として検出され、従って、対応点を誤検出することになり、その誤検出に起因して、画素kに対応する3次元空間上の点までの距離も、誤った値が求められることになる。即ち、上述のような対応点の誤検出があると、画素kに対応する3次元空間上の点までの距離は、前景を構成する対象物3までの距離に近い値となって求められる。そして、その結果、そのような距離を画素値とする距離画像は、対象物3の横幅が広がったようなものとなる。
【0055】
ここで、以上のような対応点の誤検出は、前景と背景の絵柄が異なっている場合に比較的生じやすく、さらに、その絵柄が大きく異なっている場合には、特に生じやすい。
【0056】
上述のような対応点の誤検出は、基準ブロック(従って、検出ブロックも)を小さくする(基準ブロックを構成する画素数を少なくする)ことにより低減することができるが、これでは、エリアベースマッチングによる対応点の検出の確実性が低下する。
【0057】
そこで、図1の距離測定装置の演算処理回路6では、次のような距離の補正処理を行うことで、エリアベースマッチングによる対応点の検出の確実性を保ちつつ、上述のような前景と背景の境界部分、即ち、エッジ部分で生じる対応点の誤検出に起因する距離への影響を低減するようになされている。
【0058】
即ち、演算処理回路6では、まず最初に、上述したようなステレオ処理により、基準カメラ画像の各画素について、検出カメラ画像の各画素が、式(1)に示した評価関数による評価値を用いてエリアベースマッチング法により対応付けられ(対応点が検出され)、基準カメラ画像の各画素に対応する3次元空間上の点までの距離が求められる。これにより、その距離を画素値とする距離画像が生成される。
【0059】
次に、図9(A)に示すように、基準カメラ画像の画素kを中心とする、その画素kの距離を補正するのに最適な画素(以下、適宜、最尤画素という)を検索する領域(範囲)としての小ブロック(以下、適宜、検索ブロックという)(図9(A)において点線で囲んで示す)(第3のブロック)が構成される。なお、図9(A)では、検索ブロックは、画素kについて構成される基準ブロックと同一とされている。
【0060】
さらに、検索ブロックを構成する画素のうち、評価値の最小値が最も小さいものが、最尤画素として選択(検出)される。即ち、基準カメラ画像の画素kを中心とする検索ブロックに含まれる画素それぞれを中心とする基準ブロックそれぞれと、その検索ブロックに含まれる画素それぞれについて検出された検出カメラ画像上の対応点それぞれを中心とする検出ブロックそれぞれとの間の評価値の中で、最も小さい値が得られている検索ブロック内の画素が、対応点との対応付けが最も確からしく行われているものであるとして、その画素が、最尤画素として検出される。なお、図9(A)では、画素kを中心とする検索ブロックの最も右上の画素k2が、最尤画素として検出されている。
【0061】
そして、距離画像の画素kの画素値としての距離を、その画素kについて検出された最尤画素の画素値となっている距離で、例えば置換することで、画素kの画素値としての距離が補正される。即ち、図9(A)では、画素kについての距離(画素値)は、その検索ブロックの最も右上の画素k2を最尤画素として、その最尤画素k2についての距離(画素値)に置き換えられる。
【0062】
従って、この補正処理では、基準カメラ画像における前景と背景との境界(エッジ)部分の画素kについて誤検出された、検出カメラ画像の対応点k’’(図8)を無視する一方、例えば、図9(B)に示すように、対応点の誤検出が生じやすいエッジ部分を避けて、背景の画素と前景の画素とが混在しない基準ブロックを用いてエリアベースマッチングを行うことにより検出された対応点から求められた距離が、画素kの真の対応点k’から求められる距離にほぼ等しいと推定し、そのような、いわば、より確からしい距離で、対応点が誤検出された画素についての距離が置き換えられる。
【0063】
即ち、図9において、画素kについては、前景の画素と背景の画素とを含む基準ブロックが構成されるが(図9(A))、その近くにある画素k2については、背景の画素だけで基準ブロックが構成される(図9(B))。このため、画素kの対応点が誤検出される可能性は高い一方で、画素k2の対応点が誤検出される可能性は低いため、画素kについての距離は、より正確である可能性が高い画素k2についての距離に置き換えられる。
【0064】
なお、検索ブロックの大きさは特に限定されるものではないが、あまり大きいと、画素kからの距離が遠い位置にある画素についての距離による置き換えが行われる場合がある。そして、そのような遠い位置にある画素についての距離が、画素kについての真の距離にほぼ等しいとは推定し難いため、検索ブロックの大きさはあまり大きくしない方が望ましい。一方、検索ブロックの大きさが小さすぎると、基準カメラ画像において、背景の画素と前景の画素とが混在しない基準ブロック(対応点の誤検出が生じやすいエッジ部分を避けた基準ブロック)が構成される画素が、画素kの検索ブロックに含まれなくなる。即ち、検索ブロックに、対応点の誤検出の可能性の低い画素が含まれなくなり、その結果、誤った対応点から求められた誤った距離による置き換えが行われる場合が生じる。従って、検索ブロックの大きさは、あまり小さくしない方が望ましい。即ち、検索ブロックは、以上のような不都合が生じないように、適切な大きさとするのが望ましい。
【0065】
また、距離画像を構成する画素の画素値としての距離の補正は、その距離画像を構成する画素すべてを、順次、補正の対象として行うことも可能であるが、補正の対象とする画素(以下、適宜、補正対象画素という)を選択して行うことも可能である。この点については、後述する。
【0066】
次に、図10は、上述のようなステレオ処理および補正処理を行う図1の演算処理回路6の機能的構成例を示している。なお、この機能的構成は、例えば、演算処理回路6が、記憶装置7に記憶されたアプリケーションプログラムを実行することで実現される。
【0067】
ステレオ処理部11(検出手段)(処理手段)は、フレームメモリ5に記憶された基準カメラ画像および検出カメラ画像を読み出し、ステレオ処理を行うことで、距離画像等を求めるようになされている。即ち、ステレオ処理部11は、エピポーララインを用いてエリアベースマッチングを行うことにより、基準カメラ画像の画素それぞれと対応する、検出カメラ画像の対応点を検出し、その対応点に基づき、基準カメラ画像の各画素について、その画素に投影された3次元空間上の点までの距離を求める。そして、ステレオ処理部11は、その距離を画素値とする距離画像や、対応点を検出するときに得られた評価値を、距離画像記憶部12に供給する。
【0068】
距離画像記憶部12は、ステレオ処理部11から供給される距離画像および評価値を記憶するようになされている。
【0069】
補正対象画素選択部13(選択手段)は、距離画像記憶部12に記憶された距離画像を構成する画素から、その画素値となっている距離の補正を行う対象(補正処理の対象)とする補正対象画素を選択し、補正部14に指示するようになさている。補正部14(補正手段)は、距離画像記憶部12に記憶された距離画像を構成する画素のうち、補正対象画素選択部13から補正対象画素として指示のあったものを対象に、その画素値としての距離を補正するようになされている。
【0070】
距離画像記憶部15は、距離画像記憶部12に記憶された距離画像の、補正部14による補正後のものを記憶するようになされている。
【0071】
次に、図11のフローチャートを参照して、図10の演算処理回路6が行うステレオ処理について説明する。なお、ステレオ処理は、上述のように、ステレオ処理部11で行われる。
【0072】
上述のように、基準カメラ1または検出カメラ2それぞれでは、対象物3が撮影され、その結果得られる、例えば1フレームの基準カメラ画像または検出カメラ画像がフレームメモリ5に供給されて記憶される。
【0073】
フレームメモリ5に、基準カメラ画像および検出カメラ画像が記憶されると、ステップS1において、基準カメラ画像(および距離画像)を構成する画素を表す変数iが、例えば、1に初期化され(i=1は、例えば、基準カメラ画像の最も左上の画素を表す)、ステップS2に進む。ステップS2では、基準カメラ画像の画素iについてのエピポーラライン(3次元空間の対象物上の点と、基準カメラ1の光学中心O1とを結ぶ直線を、検出カメラ画像(撮像面S2)上に投影したもの)上にあらかじめ設定された設定点に対応する距離番号jが、例えば、1に初期化され、ステップS3に進む。
【0074】
ここで、基準カメラ画像の各画素についての、検出カメラ画像上におけるエピポーララインの検出や設定点の設定は、例えば、基準カメラ1および検出カメラ2のキャリブレーション時に行われているものとする。なお、3次元空間におけるエピポーラライン上の、距離番号jとj+1に対応する設定点どうし(隣接する設定点どうし)の距離は、例えば、図1の距離測定装置に対して要求される距離分解能にしたがって決定される。
【0075】
ステップS3では、基準カメラ画像の画素iについてのエピポーラライン上の距離番号jに対応する設定点の画素n(i,j)が、検出カメラ画像から検出される。なお、画素n(i,j)は、サブピクセルの精度とすることもできる。また、距離番号jと、それに対応する設定点n(i,j)との関係は、例えば、キャリブレーション時に求めておき、テーブル(ルックアップテーブル)にしておくことで、距離番号jに対応する設定点の画素n(i,j)は即座に求めることができる。
【0076】
そして、ステップS4に進み、基準カメラ画像の画素iを中心とする基準ブロックWA(i)が、基準カメラ画像から抽出される(切り出される)とともに、検出カメラ画像の画素n(i,j)を中心とする検出ブロックWB(i,j)が、検出カメラ画像から抽出され、ステップS5に進む。
【0077】
ステップS5では、基準ブロックWA(i)を構成する画素と、検出ブロックWB(i,j)を構成する画素とを用い、例えば、式(1)で定義される評価値S(i,n(i,j))が計算され、ステップS6に進む。ここで、以下、適宜、評価値S(i,n(i,j))を、S(j)と表す。なお、式(1)では、画素の輝度値を用いて、評価値S(j)が計算されるから、評価値S(j)は、基準ブロックWA(i)を構成する画素と、検出ブロックWB(i,j)を構成する画素との間の輝度値に関する類似性を表すということができる。また、このように、評価値S(j)を、輝度値を用いて計算する場合には、基準カメラ画像および検出カメラ画像は、輝度成分を有すれば良いから、基準カメラ1および検出カメラ2としては、輝度信号のみでなる濃淡画像を出力する(色信号を出力しない)、いわゆる白黒カメラを用いることができる。但し、式(1)による評価値の計算には、輝度信号だけでなく、色差信号も用いるようにすることが可能である。
【0078】
ステップS6では、距離番号jが、その最大値Jに等しいかどうかが判定され、等しくないと判定された場合、ステップS7に進み、距離番号jが1だけインクリメントされる。そして、ステップS3に戻り、以下、ステップS3乃至S7の処理が繰り返される。即ち、これにより、画素iについてのエピポーラライン上に設定されたすべての設定点について、画素iとの相関(ここでは、式(1)で表される評価値)が計算される。
【0079】
一方、ステップS6において、距離番号jが最大値Jに等しいと判定された場合、即ち、画素iについてのエピポーラライン上に設定されたすべての設定点について、画素iとの評価値S(j)が計算された場合、ステップS8に進み、評価値S(j)を最小にする(相関を最大にする)距離番号jが求められる。ここで、この評価値S(j)を最小にする(相関を最大にする)距離番号jを、以下、適宜、最小距離番号jmaxと表す。
【0080】
なお、最小距離番号jmaxに対応する設定点n(i,jmax)が、画素iの対応点であり、従って、最小距離番号jmaxを求めることは、対応点n(i,jmax)を検出することと等価である。
【0081】
また、距離番号jは、ここでは、整数の値をとるが、図5で説明したような補間を行うことで、小数の値をとる最小距離番号jmaxを求めるようにすることも可能である。
【0082】
その後、ステップS9に進み、最小距離番号jmaxから特定される距離が、距離画像を構成する画素iについての画素値として、ステレオ処理部11から距離画像記憶部12に供給されて記憶される。さらに、ステップS10に進み、評価値S(jmax)が、距離画像記憶部12に供給され、画素iの最終的な評価値S(i)として、その画素iについての距離と対応付けられて記憶され、ステップS11に進む。
【0083】
ステップS11では、画素iが、基準カメラ画像を構成する最後の画素(例えば、基準カメラ画像の最も右下の画素)Iに等しいかどうかが判定され、等しくないと判定された場合、ステップS12に進み、変数iが1だけインクリメントされ、ステップS2に戻る。そして、次に処理すべき画素(例えば、いま処理対象とされていた画素の、ラインスキャン順で次の画素)iを対象に、以下、同様の処理が繰り返される。
【0084】
また、ステップS11において、画素iが、基準カメラ画像を構成する最後の画素Iに等しいと判定された場合、即ち、基準カメラ画像を構成する画素すべてについて距離と評価値(最終的な評価値)S(jmax)が求められた場合、ステレオ処理を終了する。
【0085】
なお、図11では、基準カメラ画像を構成するすべての画素について、ステレオ処理を行うようにしたが、ステレオ処理は、基準カメラ画像を構成する一部の画素のみを対象に行うようにすることも可能である。
【0086】
次に、図12のフローチャートを参照して、図10の演算処理回路6が行う補正処理について説明する。なお、補正処理は、ステレオ処理が行われた後、補正対象画素選択部13および補正部14において行われる。
【0087】
補正処理では、まず最初に、ステップS21において、距離画像(および基準カメラ画像)を構成する画素を表す変数iが、例えば、1に初期化され、ステップS22に進む。ステップS22では、補正対象画素選択部13において、距離画像記憶部12に記憶されている、画素iの評価値S(i)(図11のステップS10で記憶された最終的な評価値S(i))が読み出され、その評価値S(i)が、所定の閾値εよりも小さいかどうかが判定される。
【0088】
ステップS22において、画素iの評価値S(i)が閾値εより小さいと判定された場合、即ち、基準カメラ画像の画素iについて、対応点を検出した際の評価値の最小値S(i)(図11で説明したS(jmax)に等しい)が、所定の閾値εより小さく、従って、検出した対応点が、真の対応点である確実性が高い場合、ステップS31に進む。ステップS31では、補正部14は、画素iの距離Z(i)を距離画像記憶部12から読み出して、距離画像記憶部15に供給して記憶させ、ステップS29に進む。従って、この場合、ステレオ処理で求められた、画素iについての距離Z(i)の補正は行われない。
【0089】
一方、ステップS22において、画素iの評価値S(i)が閾値εより小さくないと判定された場合、即ち、基準カメラ画像の画素iについて、対応点を検出した際の評価値の最小値S(i)が、所定の閾値ε以上であり、従って、検出した対応点が、真の対応点である確実性が低い場合、ステップS23に進み、以下、ステレオ処理で求められた、画素iについての距離の補正が、図9で説明したようにして行われる。
【0090】
即ち、補正対象画素選択部13では、画素iが補正対象画素として選択され、補正部14に知らされる。補正部14は、補正対象画素選択部13から、画素iが補正対象画素であるとの知らせを受けると、ステップS23において、画素iを中心とする検索ブロックW内の画素を表す変数jが、例えば、その検索ブロックW内の最も左上の画素を表す値j0に初期化される。さらに、ステップS23では、補正部14において、距離画像記憶部12を参照することで、検索ブロックW内の画素の最小の評価値を保持する変数Sminが、例えば、画素j0の評価値S(j0)に初期化されるとともに、距離を保持する変数Zが、例えば、画素j0についての距離Z(j0)に初期化される。
【0091】
そして、ステップS24に進み、補正部14は、画素jについての評価値S(j)を、距離画像記憶部12から読み出し、変数Sminが、評価値S(j)より小さいかどうかを判定する。ステップS24において、変数Sminが、評価値S(j)より小さくないと判定された場合、即ち、評価値S(j)が、変数Smin以下である場合、ステップS25に進み、補正部14は、変数Sminに、評価値S(j)を新たにセットするとともに、変数Zに、画素jについての距離Z(j)を新たにセットし、ステップS26に進む。
【0092】
また、ステップS24において、変数Sminが、評価値S(j)より小さいと判定された場合、ステップS25をスキップして、ステップS26に進み、画素jが、検索ブロックW内の最後の画素(例えば、検索ブロックWの最も右下の画素)であるかどうかが判定される。ステップS26において、画素jが、検索ブロックW内の最後の画素でないと判定された場合、ステップS27に進み、変数jに、検索ブロックW内の画素の中で、まだ、評価値が、変数Sminと比較されていないものを表す値がセットされ(例えば、検索ブロックWの画素のうち、いま処理の対象となっている画素の、ラインスキャン順で次の画素を表す値がセットされ)、ステップS24に戻る。そして、ステップS26において、画素jが、検索ブロックW内の最後の画素であると判定されるまで、ステップS24乃至S27の処理が繰り返される。即ち、これにより、変数Sminには、検索ブロックW内の画素の評価値のうちの最小値、つまり最尤画素の評価値がセットされ、変数Zには、その最尤画素についての距離がセットされる。
【0093】
そして、ステップS26において、画素jが、検索ブロックW内の最後の画素であると判定されると、ステップS28に進み、補正部14は、距離画像記憶部12に記憶された画素iについての距離Z(i)を、最尤画素の距離Zに置き換えることで補正し、ステップS29に進む。即ち、補正部14は、距離画像記憶部15に、画素iの距離として、最尤画素の距離Zを書き込み、ステップS29に進む。
【0094】
ステップS29では、図11のステップS11における場合と同様に、画素iが、距離画像を構成する最後の画素Iに等しいかどうかが判定され、等しくないと判定された場合、ステップS30に進み、変数iが1だけインクリメントされ、ステップS22に戻る。従って、この場合、次に処理すべき画素iを対象に、以下、同様の処理が繰り返される。
【0095】
また、ステップS29において、画素iが、距離画像を構成する最後の画素Iに等しいと判定された場合、補正処理を終了する。
【0096】
以上のように、評価値が所定の閾値εをより小さくない画素を補正対象画素として選択し、その補正対象画素の距離を、検索ブロック内で評価値が最小の画素の距離に置き換えることで補正するようにした場合には、検出された対応点が真の対応点である確実性が低い画素の距離が、その画素の近傍の画素であって、検出された対応点が真の対応点である確実性が最も高いものの距離に置き換えられるので、エリアベースマッチングによる対応点の検出の確実性を保ちつつ、図8で説明したような前景と背景の境界部分、即ち、エッジ部分で生じる対応点の誤検出に起因する距離への影響を低減し、比較的正確な距離を得ることができる。
【0097】
なお、距離画像を構成する画素を、補正対象画素とするか否かの判定に用いる評価値の閾値εは、例えば、実験等により最適な値に設定する。あるいは、また、閾値εは、フレームメモリ5に記憶された基準カメラ画像および検出カメラ画像の画素値から、適応的に設定するようにすることも可能である。
【0098】
次に、上述のように、評価値が所定の閾値εより小さくない画素を補正対象画素として選択し、その補正対象画素の距離を、検索ブロック内で評価値が最小の画素(最尤画素)の距離に置き換える場合には、評価値にそれほど大きな差がないのに、その最尤画素を含んで構成される検索ブロックの中心に位置する画素の距離が、その最尤画素の距離に置き換えられることがある。従って、例えば、あるひとかたまりの画素それぞれの評価値が、いずれも、閾値εより幾分大きく、かつ、そのひとかたまりの画素の周辺に、評価値が閾値εより幾分小さい画素が存在すると、そのひとかたまりの画素それぞれの距離が、その周辺にある評価値の小さな画素の距離に置き換えられる。この場合、そのひとかたまりの画素それぞれの距離が、同一の距離とされるため、距離画像に、ブロック状の歪みが生じる。
【0099】
即ち、図13に示すように、例えば、円柱などの、距離(奥行き)が連続して変化する対象物3について得られた距離画像に対して、図12で説明した補正処理を施した場合には、円柱の側面のある点を投影した点が補正対象画素とされ、その補正対象画素とされた画素の距離と最尤画素の距離とが連続して変化していても(その2つの距離の間に大きな差はないが、幾分かの差がある)、その補正対象画素の距離が、それを中心とする検索ブロック内の最尤画素の距離に置換されることがある。この場合、補正対象画素とされた画素の距離と、最尤画素の距離とが同一となるため、円柱の側面における距離の滑らかな変化(距離の連続性)が失われる。
【0100】
そこで、補正処理は、ある画素の距離と、その画素を中心とする検索ブロック内の最尤画素との距離との差が、ある程度大きい場合に、その画素を補正対象画素として行うようにすることができる。この場合、ある画素の距離と、その画素を中心とする検索ブロック内の最尤画素との距離との差が小さいときには、その画素は補正対象画素とされなくなり、その結果、例えば、上述したような円柱の側面などにおける距離の連続性が失われることを防止し、エッジ部分で生じる対応点の誤検出に起因する距離への影響のみを低減することが可能となる。
【0101】
即ち、図14は、図10の演算処理回路6に、そのような補正処理を行わせる場合のフローチャートを示している。
【0102】
この場合、まず最初に、ステップS41において、距離画像(および基準カメラ画像)を構成する画素を表す変数iが、例えば、1に初期化され、ステップS43に進む。ステップS43では、図12のステップS23における場合と同様に、画素iを中心とする検索ブロックW内の画素を表す変数jが、例えば、その検索ブロックW内の最も左上の画素を表す値j0に初期化され、検索ブロックW内の画素の最小の評価値を保持する変数Sminが、例えば、画素j0の評価値S(j0)に初期化されるとともに、距離を保持する変数Zが、例えば、画素j0についての距離Z(j0)に初期化される。
【0103】
そして、ステップS44に進み、以下、ステップS44乃至47において、図12のステップS24乃至S27それぞれにおける場合と同様の処理が行われることで、変数Sminには、検索ブロックW内の画素の評価値のうちの最小値、即ち、最尤画素の評価値がセットされ、変数Zには、その最尤画素についての距離がセットされる。
【0104】
変数Sminに、最尤画素の評価値がセットされるとともに、変数Zに、その最尤画素についての距離がセットされると、ステップS46からステップS48に進み、補正対象画素選択部13において、距離画像記憶部12から、画素iの距離Z(i)が読み出され、その距離Z(i)と変数Zとの差の絶対値(=|Z(i)−Z|)が、所定の閾値Thより小さいかどうかが判定される。
【0105】
ステップS48において、画素iの距離Z(i)と変数Zとの差の絶対値が、閾値Thより小さくないと判定された場合、即ち、画素iの距離Z(i)と、その画素iを中心とする検索ブロックW内の最尤画素との距離Zとの差が、ある程度大きい場合、補正対象画素選択部13は、画素iを補正対象画素として選択し、その旨を、補正部14に知らせる。補正部14は、補正対象画素選択部13から、画素iが補正対象画素であるとの知らせを受けると、ステップS49に進み、距離画像記憶部12に記憶された画素iについての距離Z(i)を、最尤画素の距離Zに置き換えることで補正し、即ち、距離画像記憶部15に、画素iの距離として、最尤画素の距離Zを書き込み、ステップS50に進む。
【0106】
また、ステップS48において、画素iの距離Z(i)と変数Zとの差の絶対値が、閾値Thより小さいと判定された場合、補正対象画素選択部13は、画素iを補正対象画素として選択しないで、ステップS52に進む。ステップS52では、補正部14は、画素iの距離Z(i)を距離画像記憶部12から読み出して、距離画像記憶部15に供給して記憶させ、ステップS50に進む。従って、この場合、ステレオ処理で求められた、画素iについての距離Z(i)の補正は行われない。
【0107】
ステップS50では、図12のステップS29における場合と同様に、画素iが、距離画像を構成する最後の画素Iに等しいかどうかが判定され、等しくないと判定された場合、ステップS51に進み、変数iが1だけインクリメントされ、ステップS43に戻る。そして、次に処理すべき画素iを対象に、以下、同様の処理が繰り返される。
【0108】
また、ステップS50において、画素iが、距離画像を構成する最後の画素Iに等しいと判定された場合、補正処理を終了する。
【0109】
なお、距離画像を構成する画素を、補正対象画素とするか否かの判定に用いる距離の閾値Thは、例えば、実験等により最適な値に設定し、あるいは、距離画像記憶部5に記憶された距離画像の画素の画素値としての距離から、適応的に設定することが可能である。
【0110】
また、図14の実施の形態では、ある画素iの距離Z(i)と、その画素iを中心とする検索ブロックW内の最尤画素との距離との差が、閾値Th以上の場合にのみ、その画素iを補正対象画素として選択するようにしたが、ある画素iの距離Z(i)と、その画素iを中心とする検索ブロックW内の最尤画素との距離との差が、閾値Th以上であり、かつ画素iの評価値S(i)が閾値ε以上の場合に、その画素iを補正対象画素として選択することも可能である。この場合の補正処理は、図15のフローチャートに示すようになる。即ち、そのような補正対象画素の選択は、図14のステップS41の処理後に、図12のステップS22と同様に、画素iの評価値S(i)が、閾値εよりも小さいかどうかを判定するステップS42を設け、画素iの評価値S(i)が、閾値εよりも小さくない場合には、ステップS43に進み、小さい場合には、ステップS52に進むようにすれば良い。
【0111】
次に、図14の実施の形態では、ある画素iを中心とする検索ブロックWを構成する画素の評価値どうしを比較し、検索ブロックWの中で、最小の評価値を有する画素(最尤画素)を見つけてから(ステップS44乃至S47)、距離の差を考慮して、画素iを、補正対象画素として選択するかどうかを判定するようにしたが(ステップS48)、その他、例えば、距離の差を考慮して、検索ブロックの中で、最尤画素となり得る画素を、あらかじめ選択し、その選択された画素についてだけ、評価値どうしの比較を行うようにすることが可能である。
【0112】
さらに、図14の実施の形態では、画素iの距離Z(i)と、その画素iを中心とする検索ブロックWの中の最尤画素の距離Zとの差(の絶対値)に基づいて、画素iを、補正対象画素として選択するかどうかを判定するようにしたが(ステップS48)、その他、例えば、画素iの、基準カメラ画像における輝度や色情報(例えば、彩度や色相など)などの画素値にも基づいて、画素iを、補正対象画素として選択するかどうかを判定するようにすることが可能である。
【0113】
即ち、図16は、図10の演算処理回路6に、そのような補正処理を行わせる場合のフローチャートを示している。
【0114】
この場合、まず最初に、ステップS61において、距離画像(および基準カメラ画像)を構成する画素を表す変数iが、例えば、1に初期化され、ステップS62に進む。ステップS62では、補正対象画素選択部13において、画素iの基準カメラ画像上の画素値としての、例えば、輝度Y(i)が、フレームメモリ5から、図10において点線で示すように読み出される。さらに、補正対象画素選択部13は、ステップS52において、距離画像記憶部12から、画素iの距離Z(i)を読み出し、ステップS63に進む。
【0115】
ステップS63では、補正対象画素選択部13において、図12のステップS23における場合と同様に、画素iを中心とする検索ブロックW内の画素を表す変数jが、例えば、その検索ブロックW内の最も左上の画素を表す値j0に初期化される。さらに、補正対象画素選択部13は、ステップS63において、変数SminまたはZを、評価値または距離としてそれぞれ取り得ない値である、例えば、−1に初期化し、ステップS64に進む。
【0116】
ステップS64では、補正対象画素選択部13において、画素jの、基準カメラ画像上の輝度Y(j)が、フレームメモリ5から読み出されるとともに、その距離Z(j)が、距離画像記憶部12から読み出される。さらに、ステップS64では、補正対象画素記憶部13において、画素iの輝度Y(i)と、画素jの輝度Y(j)との差の絶対値(=|Y(i)−Y(j)|)が、所定の閾値ThYより小さく、かつ画素iの距離Z(i)と、画素jの距離Z(j)との差の絶対値(=|Z(i)−Z|)が、所定の閾値ThZより大きいかどうかが判定される。
【0117】
ここで、閾値ThYは、例えば、実験等により最適な値に設定し、あるいは、フレームメモリ5に記憶された基準カメラ画像および検出カメラ画像の画素値から、適応的に設定することが可能である。また、閾値ThZは、図14で説明した閾値Thと同様に設定することが可能である。
【0118】
ステップS64において、画素iの輝度Y(i)と、画素jの輝度Y(j)との差の絶対値が、所定の閾値ThYより小さくないか、または画素iの距離Z(i)と、画素jの距離Z(j)との差の絶対値が、所定の閾値ThZより大きいくないと判定された場合、ステップS65乃至S68をスキップして、ステップS69に進む。
【0119】
また、ステップS64において、画素iの輝度Y(i)と、画素jの輝度Y(j)との差の絶対値が、所定の閾値ThYより小さく、かつ画素iの距離Z(i)と、画素jの距離Z(j)との差の絶対値が、所定の閾値ThZより大きいと判定された場合、ステップS65に進み、補正対象画素選択部13において、変数Smin(またはZ)が、初期値である−1に等しいかどうかが判定される。
【0120】
ステップS65において、変数Sminが−1に等しいと判定された場合、ステップS66に進み、補正対象画素選択部13は、画素jについての評価値S(j)を、距離画像記憶部12から読み出し、変数Sminにセットするとともに、画素jの距離Z(j)を、変数Zにセットし、ステップS69に進む。
【0121】
また、ステップS65において、変数Sminが−1に等しくないと判定された場合、ステップS67に進み、補正対象画素選択部13において、変数Sminが、画素jについての評価値S(j)より小さいかどうかが判定される。ステップS67において、変数Sminが、評価値S(j)より小さいと判定された場合、ステップS68に進み、補正対象画素選択部13は、変数Sminに、画素jについての評価値S(j)をセットするとともに、変数Zに、画素jの距離Z(j)をセットし、ステップS69に進む。
【0122】
また、ステップS67において、変数Sminが、評価値S(j)より小さくないと判定された場合、ステップS68をスキップして、ステップS69に進み、図12のステップS26における場合と同様に、画素jが、検索ブロックW内の最後の画素であるかどうかが判定される。ステップS69において、画素jが、検索ブロックW内の最後の画素でないと判定された場合、ステップS70に進み、図12のステップS27における場合と同様に、変数jに、検索ブロックW内の画素の中で、まだ、評価値が、変数Sminと比較されていないものを表す値がセットされ、ステップS64に戻る。そして、ステップS69において、画素jが、検索ブロックW内の最後の画素であると判定されるまで、ステップS64乃至S70の処理が繰り返される。
【0123】
即ち、これにより、検索ブロックW内に、その中心に位置する画素iの輝度Y(i)との差が、閾値ThY未満の輝度を有し、かつ画素iの距離Z(i)との差が、閾値ThZより大きい画素jが存在すれば、その画素jが、画素iの距離Z(i)の補正に用いるのに適切な画素(以下、適宜、適切画素という)として選択される。そして、検索ブロックWの中の適切画素のうち、評価値が最も小さいものが、最尤画素として選択され、その最尤画素の評価値または距離が、変数SminまたはZに、それぞれセットされる。
【0124】
そして、ステップS69において、画素jが、検索ブロックW内の最後の画素であると判定されると、ステップS71に進み、補正対象画素選択部13は、変数Smin(またはZ)が、初期値である−1に等しいかどうかを判定する。ステップS71において、変数Sminが−1に等しくないと判定された場合、即ち、変数minに、検索ブロックW内のいずれかの画素(最尤画素)についての評価値がセットされている場合、補正対象画素選択部13は、画素iを、補正対象画素として選択し、補正部14に知らせ、ステップS72に進む。
【0125】
補正部14は、補正対象画素選択部13から、画素iが補正対象画素であるとの知らせを受けると、ステップS72において、距離画像記憶部12に記憶された画素iについての距離Z(i)を、最尤画素の距離(変数)Zに置き換えることで補正し、即ち、距離画像記憶部15に、画素iの距離として、最尤画素の距離Zを書き込み、ステップS73に進む。
【0126】
また、ステップS71において、変数Sminが−1に等しいと判定された場合、即ち、検索ブロックW内に、その中心に位置する画素iの輝度Y(i)との差が、閾値ThY未満の輝度を有し、かつ画素iの距離Z(i)との差が、閾値ThZより大きい画素jが存在しない場合、つまり、適切画素が存在しない場合、ステップS75に進み、補正部14は、画素iの距離Z(i)を距離画像記憶部12から読み出して、距離画像記憶部15に供給して記憶させ、ステップS73に進む。従って、この場合、画素iは補正対象画素として選択されず、その結果、その距離Z(i)は補正されない。
【0127】
ステップS73では、図11のステップS11における場合と同様に、画素iが、距離画像を構成する最後の画素Iに等しいかどうかが判定され、等しくないと判定された場合、ステップS74に進み、変数iが1だけインクリメントされ、ステップS62に戻る。そして、次に処理すべき画素iを対象に、以下、同様の処理が繰り返される。
【0128】
また、ステップS73において、画素iが、距離画像を構成する最後の画素Iに等しいと判定された場合、補正処理を終了する。
【0129】
従って、図16の実施の形態によれば、検索ブロックW内に、その中心に位置する画素iの輝度Y(i)との差が、閾値ThY未満の輝度を有し、かつ画素iの距離Z(i)との差が、閾値ThZより大きい適切画素が存在すれば、画素iが補正対象画素として選択される。そして、適切画素の中で、評価値が最も小さい画素が最尤画素として選択され、その最尤画素の距離への置換が行われることで、補正対象画素iの距離Z(i)が補正される。
【0130】
次に、図17は、補正処理の他の実施の形態を示すフローチャートであり、この補正処理によっても、図16のフローチャートに示した場合と同様の補正処理を行うことができる。
【0131】
即ち、この場合、まず最初に、ステップS81において、距離画像(および基準カメラ画像)を構成する画素を表す変数iが、例えば、1に初期化され、ステップS82に進む。ステップS82では、補正対象画素選択部13において、画素iの基準カメラ画像上の画素値としての、例えば、輝度Y(i)が、フレームメモリ5から、図10において点線で示すように読み出される。さらに、補正対象画素選択部13は、ステップS82において、距離画像記憶部12から、画素iの距離Z(i)を読み出し、ステップS83に進む。
【0132】
ステップS83では、補正対象画素選択部13において、図12のステップS23における場合と同様に、画素iを中心とする検索ブロックW内の画素を表す変数jが、例えば、その検索ブロックW内の最も左上の画素を表す値j0に初期化される。さらに、補正対象画素選択部13は、ステップS83において、変数SminまたはZを、画素iの評価値S(i)または距離Z(i)にそれぞれ初期化し、ステップS84に進む。
【0133】
ステップS84では、補正対象画素選択部13において、画素jの、基準カメラ画像上の輝度Y(j)が、フレームメモリ5から読み出されるとともに、その距離Z(j)が、距離画像記憶部12から読み出される。さらに、ステップS84では、補正対象画素記憶部13において、画素iの輝度Y(i)と、画素jの輝度Y(j)との差の絶対値(=|Y(i)−Y(j)|)が、所定の閾値ThYより小さく、かつ画素iの距離Z(i)と、画素jの距離Z(j)との差の絶対値(=|Z(i)−Z|)が、所定の閾値ThZより大きいかどうかが判定される。
【0134】
ステップS84において、画素iの輝度Y(i)と、画素jの輝度Y(j)との差の絶対値が、所定の閾値ThYより小さくないか、または画素iの距離Z(i)と、画素jの距離Z(j)との差の絶対値が、所定の閾値ThZより大きいくないと判定された場合、ステップS85および86をスキップして、ステップS87に進む。
【0135】
また、ステップS84において、画素iの輝度Y(i)と、画素jの輝度Y(j)との差の絶対値が、所定の閾値ThYより小さく、かつ画素iの距離Z(i)と、画素jの距離Z(j)との差の絶対値が、所定の閾値ThZより大きいと判定された場合、ステップS85に進み、補正対象画素選択部13において、変数Sminが、画素jについての評価値S(j)より小さいかどうかが判定される。ステップS85において、変数Sminが、評価値S(j)より小さいと判定された場合、ステップS86に進み、補正対象画素選択部13は、変数Sminに、画素jについての評価値S(j)をセットするとともに、変数Zに、画素jの距離Z(j)をセットし、ステップS87に進む。
【0136】
また、ステップS85において、変数Sminが、評価値S(j)より小さくないと判定された場合、ステップS86をスキップして、ステップS87に進み、図12のステップS26における場合と同様に、画素jが、検索ブロックW内の最後の画素であるかどうかが判定される。ステップS87において、画素jが、検索ブロックW内の最後の画素でないと判定された場合、ステップS88に進み、図12のステップS27における場合と同様に、変数jに、検索ブロックW内の画素の中で、まだ、評価値が、変数Sminと比較されていないものを表す値がセットされ、ステップS84に戻る。そして、ステップS87において、画素jが、検索ブロックW内の最後の画素であると判定されるまで、ステップS84乃至S88の処理が繰り返される。
【0137】
即ち、これにより、検索ブロックWの中から適切画素が選択され、その適切画素のうち、評価値が最も小さいものが、最尤画素として選択され、その最尤画素の評価値または距離が、変数SminまたはZに、それぞれセットされる。なお、検索ブロックWの中に適切画素が存在しない場合には、変数SminまたはZそれぞれは、ステップS83でセットされた画素iの評価値S(i)または距離Z(i)がセットされたままの状態になっている。
【0138】
そして、ステップS87において、画素jが、検索ブロックW内の最後の画素であると判定されると、ステップS89に進み、補正部14は、距離画像記憶部12に記憶された画素iについての距離Z(i)を、変数Zに置き換えることで補正し、即ち、変数Zを、画素iの距離として、距離画像記憶部15に供給して記憶させ、ステップS90に進む。
【0139】
ここで、上述したように、検索ブロックWの中に適切画素が存在する場合には、そのうちの評価値が最小のものが最尤画素として選択され、その距離が変数Zにセットされるから、その場合の検索ブロックWの中心にある画素iの距離Z(i)が、変数Zに置き換えられるということは、実質的に、画素iが補正対象画素として選択され、その距離Z(i)の補正が行われたことになる。一方、検索ブロックWの中に適切画素が存在しない場合には、変数Zには、画素iの距離Z(i)がセットされた状態となっているから、その場合の検索ブロックWの中心にある画素iの距離Z(i)が、変数Zに置き換えられるということは、実質的に、何らの補正も行われていないのと等価であり、従って、画素iは、補正対象画素として選択されていないことになる。
【0140】
ステップS90では、図11のステップS11における場合と同様に、画素iが、距離画像を構成する最後の画素Iに等しいかどうかが判定され、等しくないと判定された場合、ステップS91に進み、変数iが1だけインクリメントされ、ステップS82に戻る。そして、次に処理すべき画素iを対象に、以下、同様の処理が繰り返される。
【0141】
また、ステップS90において、画素iが、距離画像を構成する最後の画素Iに等しいと判定された場合、補正処理を終了する。
【0142】
以上のように、画素iの距離Z(i)との差だけでなく、その基準カメラ画像上の画素値との差に基づいて、画素iを補正対象画素とするかどうかの選択を行い、さらに、画素値の差が小さい画素である適切画素から、最尤画素を選択し、画素iの距離を、最終画素の距離で補正することにより、画素iについて、誤った補正が行われるのを防止することが可能となる。
【0143】
即ち、基準カメラ画像および検出カメラ画像として、例えば、前景の輝度が低く、かつ背景の輝度が高い画像(前景が暗く、背景が明るい画像)が得られた場合においても、上述したように、エッジ部分では、背景を構成するある画素iについて、対応点が誤検出され、これにより、その距離として、前景の距離が誤って求められることがある。
【0144】
画素iを中心とする検索ブロックを構成する画素の中では、一般に、背景の画素のみで基準ブロックが構成されるものについての評価値の方が、前景および背景の両方の画素で基準ブロックが構成されるものについての評価値より小さくなるので、図12で説明したように、そのような小さい評価値が得られる背景の画素の距離で、画素iの距離を置換することにより、画素iの距離は、誤った前景の距離から、正しい背景の距離に補正されることになる。
【0145】
しかしながら、前景の輝度が低く、かつ背景の輝度が高い場合には、上述の場合とは逆に、前景および背景の両方の画素で基準ブロックが構成される画素についての評価値の方が、背景の画素のみで基準ブロックが構成される画素についての評価値より小さくなることがある。従って、そのような小さな評価値が得られる画素が、前景の画素である場合には、図12で説明したように、小さい評価値が得られる前景の画素の距離で、画素iの距離を置換すると、画素iの距離は、誤った前景の距離から、やはり、誤った前景の距離に補正されることになる。
【0146】
そこで、図16や図17で説明したように、検索ブロック内に、その中心に位置する画素iの輝度との差が、閾値ThY未満の輝度を有する画素である適切画素が存在する場合には、画素iを補正対象画素として選択するとともに、その適切画素のうちの評価値が最小のものの距離で、補正対象画素iの距離を置換することで、前景の輝度が低く、かつ背景の輝度が高いときであっても、画素iについて、誤って求められた前景の距離を、正しい背景の距離に置換することができる。
【0147】
即ち、適切画素は、画素iとの輝度が近いものであり、従って、検索ブロックの中で、適切画素は、画素iと同一の背景を構成している可能性が高く、それ以外の画素は、前景を構成している可能性が高い。従って、前景を構成している可能性が高い画素を無視し、背景を構成している可能性が高い適切画素だけを対象に、その中から、評価値の最も小さいものを最尤画素として選択し、その最尤画素の距離で、補正対象画素iの距離を置換することで、画素iについては、誤って求められた前景の距離が、正しい背景の距離に補正されることになり、これにより、誤った補正が行われるのを防止することが可能となる。
【0148】
なお、補正処理は、ステレオ処理によって求められた距離画像に対して、ノイズ除去または穴埋め等を行った後に行うのが望ましい。これは、基準カメラ画像や検出カメラ画像が、輝度の変化が少ないものである場合には、ステレオ処理において、対応点の誤検出が生じやすくなる一方で、各画素について求められる最終的な評価値は小さくなることが多いため、そのようなステレオ処理の結果得られる距離画像をそのまま用いて補正処理を行うと、ノイズが広がるような悪影響を生じることがあるからである。
【0149】
ここで、距離画像に対して、ノイズ除去または穴埋めを施す方法としては、例えば、距離の値が近い隣接する画素の集合を、1単位として、その1単位の面積が小さい部分をノイズと判定し、そのノイズと判定された画素の集合のうち、ノイズでない画素に隣接している画素にメディアンフィルタをかけて補正し、ノイズの部分を徐々に狭くして、最終的にはなくすようなものがある。なお、この方法の詳細については、例えば、本件出願人が先に出願した特願平9−288479号に記載されている。
【0150】
以上、本発明を、距離を測定する距離測定装置に適用した場合について説明したが、本発明は、上述したように、視差を測定する場合、その視差から、さらに距離を求める場合、対象物の3次元形状を解析する場合等にも適用可能である。ここで、視差から距離を求める場合には、視差に対して補正処理を施した後に距離を求めても、また、視差から距離を求め、その距離に対して補正処理を施しても、同様の効果を得ることができる。
【0151】
なお、本実施の形態では、ステレオ処理の終了後に、補正処理を行うようにしたが、補正処理が可能となるまでステレオ処理を行い、その後は、ステレオ処理と補正処理とを並列に行うようにすることが可能である。
【0152】
また、本実施の形態では、検索ブロックからの最尤画素の検出を、その検索ブロックを構成するすべての画素を対象に行うようにしたが、最尤画素の検出は、その他、例えば、検索ブロックの外周に位置する画素のみを対象としたり、検索ブロックを構成する画素のうちの1つおきの画素のみを対象とすることなどが可能である。この場合、最尤画素の検出を、高速に行うことが可能となる。
【0153】
さらに、本実施の形態では、演算処理回路6に、コンピュータプログラムを実行させることにより、ステレオ処理および補正処理を行わせるようにしたが、ステレオ処理および補正処理は、それ専用のハードウェアによって行うことも可能である。
【0154】
また、本実施の形態では、ステレオ処理および補正処理を行うためのアプリケーションプログラムを、記憶装置7に記憶させて提供するようにしたが、このようなアプリケーションプログラムは、例えば、インターネットその他の伝送媒体を介して伝送して提供することも可能である。
【0155】
さらに、本実施の形態では、基準ブロック、検出ブロック、および検索ブロックとして、長方形状のブロックを構成するようにしたが、基準ブロック、検出ブロック、および検索ブロックは、長方形状のブロックに限定されるものではなく、例えば、ある画素から一定距離内にある画素でなる円形状のブロックを、基準ブロックや、検出ブロック、検索ブロックとして採用することも可能である。また、基準ブロック、検出ブロック、および検索ブロックは、隣接している画素で構成する必要はなく、例えば、1画素おきの画素の集合などで構成することも可能である。
【0156】
さらに、本実施の形態では、基準カメラとして機能する1台のカメラ1と、検出カメラとして機能する1台のカメラ2を用いるようにしたが、検出カメラは、複数台用いるようにすることが可能である。また、カメラは1台だけ用意し、それを移動させることにより、その1台のカメラを、基準カメラおよび検出カメラの両方として使用することも可能である。
【0157】
また、本実施の形態では、ステレオ処理および補正処理により得られた距離画像を、出力装置8に表示し、あるいは、記憶装置7に記憶させるようにしたが、その他、距離画像は、例えば、インターネット等の伝送媒体を介して伝送して他の装置等に提供するようにすることが可能である。
【0158】
さらに、本実施の形態では、補正対象画素の距離を、1の最尤画素の距離に置換することによって補正を行うようにしたが、補正対象画素の距離は、その他、例えば、評価値の小さい順に、複数の最尤画素を選択し、その複数の最尤画素の距離の平均値などに基づいて補正したり、また、その複数の最尤画素の距離を用いて補間を行うことにより補正することなどが可能である。
【0159】
また、本実施の形態では、補正後の距離画像を、距離画像記憶部12とは別の距離画像記憶部15に記憶させるようにしたが、補正後の距離画像は、補正前の距離画像が記憶されている距離画像記憶部12に、いわば上書きする形で記憶させるようにすることも可能である。
【0160】
さらに、本実施の形態では、ステレオ処理後の距離画像に対して、1度だけ補正処理を施すようにしたが、補正処理は、補正処理を施した距離画像に対して、さらに施すようにすることも可能である。
【0161】
【発明の効果】
請求項1に記載の画像処理装置および請求項9に記載の画像処理方法、並びに請求項10に記載の記録媒体によれば、第1の画像の画素と対応する、第2の画像の対応画素が検出され、その対応画素に基づき、第1の画像の画素について、距離関係情報が求められる。さらに、求められた距離関係情報を画素値とする距離関係情報画像の画素のうち、対応画素として検出された画素が真の対応点である確実性が一定以下の画素が、距離関係情報の補正を行う対象とする補正対象画素として選択され、距離関係画像のうち、選択された補正対象画素を含む所定の領域を検索ブロックとして、検索ブロック内の複数の画素の中から、確実性が所定の条件を満たす画素が検索され、補正対象画素についての距離関係情報を、検索された画素についての距離関係情報に置換することにより、補正対象画素についての距離関係情報が補正される。従って、第1および第2の画像どうしでの画素の対応付けを正確に行うことができなかった場合であっても、精度の高い距離関係情報を得ることが可能となる。
【図面の簡単な説明】
【図1】本発明を適用した距離測定装置の一実施の形態の構成例を示すブロック図である。
【図2】基準カメラ1および検出カメラ1で、対象物3を撮影している状態を示す図である。
【図3】エピポーララインを説明するための図である。
【図4】基準カメラ画像および検出カメラ画像を示す図である。
【図5】評価値の推移を示す図である。
【図6】設定点/距離テーブルおよび視差/距離テーブルを示す図である。
【図7】壁の手前に配置された対象物3を撮影している状態を示す図である。
【図8】エッジ部分で生じる対応点の誤検出を説明するための図である。
【図9】対応点の誤検出に起因する距離の誤りの補正方法を説明するための図である。
【図10】図1の演算処理回路6の機能的構成例を示すブロック図である。
【図11】ステレオ処理を説明するためのフローチャートである。
【図12】補正処理の第1の実施の形態を説明するためのフローチャートである。
【図13】距離の連続性が失われる場合を説明するための図である。
【図14】補正処理の第2の実施の形態を説明するためのフローチャートである。
【図15】補正処理の第3の実施の形態を説明するためのフローチャートである。
【図16】補正処理の第4の実施の形態を説明するためのフローチャートである。
【図17】補正処理の第5の実施の形態を説明するためのフローチャートである。
【符号の説明】
1 基準カメラ(撮像手段), 2 検出カメラ(撮像手段), 3 対象物, 4 カメラインターフェイス, 5 フレームメモリ, 6 演算処理回路, 6A CPU, 6B ROM, 6C RAM, 6D DSP, 7 記憶装置, 8 出力装置, 11 ステレオ処理部(検出手段)(処理手段), 12 距離画像記憶部, 13 補正対象画素選択部(選択手段), 14補正部(補正手段), 15 距離画像記憶部
Claims (10)
- 所定の対象物を撮影した第1および第2の画像に基づいて、前記対象物までの距離に関係する距離関係情報を求める画像処理装置であって、
前記第1の画像の画素と対応する、前記第2の画像の対応画素を検出する検出手段と、
前記検出手段により検出された前記対応画素に基づき、前記第1の画像の画素について、前記距離関係情報を求める処理手段と、
前記処理手段により求められた前記距離関係情報を画素値とする距離関係情報画像の画素のうち、前記検出手段により対応画素として検出された画素が真の対応点である確実性が一定以下の画素を、前記距離関係情報の補正を行う対象とする補正対象画素として選択する選択手段と、
前記距離関係画像のうち、前記選択手段により選択された前記補正対象画素を含む所定の領域を検索ブロックとして、前記検索ブロック内の複数の画素の中から、前記確実性が所定の条件を満たす画素を検索し、前記補正対象画素についての前記距離関係情報を、検索された前記画素についての前記距離関係情報に置換することにより、前記補正対象画素についての前記距離関係情報を補正する補正手段と
を備える画像処理装置。 - 前記処理手段は、前記第1の画像の画素とその対応画素との間の視差を、前記距離関係情報として求める
請求項1に記載の画像処理装置。 - 前記検出手段は、前記第1および第2の画像の画素の画素値を用いて、所定の評価関数を演算し、その演算結果に基づいて、前記対応画素を検出し、
前記選択手段は、前記所定の評価関数の演算結果に基づいて、前記確実性を評価する
請求項1に記載の画像処理装置。 - 前記選択手段は、前記第1の画像の画素の画素値に基づいて、前記補正対象画素を選択する
請求項1に記載の画像処理装置。 - 前記補正手段は、前記検索ブロック内の画素のうち、最外周に位置する画素を検索の対象とする
請求項1に記載の画像処理装置。 - 前記検出手段は、前記第1の画像の画素の画素値と、その画素に対応する可能性のある前記第2の画像の画素群それぞれの画素値とについて、所定の評価関数をそれぞれ演算し、その演算結果に基づき、前記第2の画像の画素群の中から、前記対応画素を検出する
請求項1に記載の画像処理装置。 - 前記検出手段は、前記第1の画像の画素を含む第1の画素ブロックと、その画素に対応する可能性のある前記第2の画像の画素群それぞれの画素を含む第2の画素ブロックとを用いて、所定の評価関数をそれぞれ演算し、その演算結果に基づいて、前記第2の画像の画素群の中から、前記対応画素を検出し、
前記補正手段により利用される前記所定の条件として、前記検索ブロックの中で前記確実性が最も高いという条件が採用されている
請求項1に記載の画像処理装置。 - 前記所定の対象物を撮影し、前記第1および第2の画像を出力する撮像手段をさらに備える
請求項1に記載の画像処理装置。 - 所定の対象物を撮影した第1および第2の画像に基づいて、前記対象物までの距離に関係する距離関係情報を求める画像処理方法であって、
前記第1の画像の画素と対応する、前記第2の画像の対応画素を検出する検出ステップと、
前記検出ステップの処理により検出された前記対応画素に基づき、前記第1の画像の画素について、前記距離関係情報を求める処理ステップと、
前記処理ステップの処理により求められた前記距離関係情報を画素値とする距離関係情報画像の画素のうち、前記検出ステップの処理により対応画素として検出された画素が真の対応点である確実性が一定以下の画素を、前記距離関係情報の補正を行う対象とする補正対象画素として選択する選択ステップと、
前記距離関係画像のうち、前記選択ステップの処理により選択された前記補正対象画素を含む所定の領域を検索ブロックとして、前記検索ブロック内の複数の画素の中から、前記確実性が所定の条件を満たす画素を検索し、前記補正対象画素についての前記距離関係情報を、検索された前記画素についての前記距離関係情報に置換することにより、前記補正対象画素についての前記距離関係情報を補正する補正ステップと
を含む画像処理方法。 - 所定の対象物を撮影した第1および第2の画像に基づいて、前記対象物までの距離に関係する距離関係情報を求める処理を、コンピュータに行わせるためのプログラムが記録されているコンピュータ読み取り可能な記録媒体であって、
前記第1の画像の画素と対応する、前記第2の画像の対応画素を検出する検出ステップと、
前記検出ステップの処理により検出された前記対応画素に基づき、前記第1の画像の画素について、前記距離関係情報を求める処理ステップと、
前記処理ステップの処理により求められた前記距離関係情報を画素値とする距離関係情報画像の画素のうち、前記検出ステップの処理により対応画素として検出された画素が真の対応点である確実性が一定以下の画素を、前記距離関係情報の補正を行う対象とする補正対象画素として選択する選択ステップと、
前記距離関係画像のうち、前記選択ステップの処理により選択された前記補正対象画素を含む所定の領域を検索ブロックとして、前記検索ブロック内の複数の画素の中から、前記確実性が所定の条件を満たす画素を検索し、前記補正対象画素についての前記距離関係情報を、検索された前記画素についての前記距離関係情報に置換することにより、前記補正対象画素についての前記距離関係情報を補正する補正ステップと
を含むプログラムが記録されている
コンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29321298A JP4296617B2 (ja) | 1998-10-15 | 1998-10-15 | 画像処理装置および画像処理方法、並びに記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29321298A JP4296617B2 (ja) | 1998-10-15 | 1998-10-15 | 画像処理装置および画像処理方法、並びに記録媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000121319A JP2000121319A (ja) | 2000-04-28 |
JP2000121319A5 JP2000121319A5 (ja) | 2005-12-02 |
JP4296617B2 true JP4296617B2 (ja) | 2009-07-15 |
Family
ID=17791884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29321298A Expired - Fee Related JP4296617B2 (ja) | 1998-10-15 | 1998-10-15 | 画像処理装置および画像処理方法、並びに記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4296617B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2539804C2 (ru) * | 2010-09-14 | 2015-01-27 | Рикох Компани, Лтд. | Устройство стереоскопической камеры, способ коррекции и программа |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2008053649A1 (ja) * | 2006-11-02 | 2010-02-25 | コニカミノルタホールディングス株式会社 | 広角画像取得方法及び広角ステレオカメラ装置 |
JP4752918B2 (ja) * | 2009-01-16 | 2011-08-17 | カシオ計算機株式会社 | 画像処理装置、画像照合方法、および、プログラム |
JP5252642B2 (ja) * | 2009-04-13 | 2013-07-31 | 独立行政法人情報通信研究機構 | 奥行推定装置、奥行推定方法および奥行推定プログラム |
JP5533529B2 (ja) * | 2010-10-06 | 2014-06-25 | コニカミノルタ株式会社 | 画像処理装置及び画像処理システム |
JP5713350B2 (ja) * | 2011-10-25 | 2015-05-07 | 日本電信電話株式会社 | 画像処理装置、方法、及びプログラム |
JP5747797B2 (ja) * | 2011-11-29 | 2015-07-15 | コニカミノルタ株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
JP5818773B2 (ja) * | 2012-11-22 | 2015-11-18 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
JP6175878B2 (ja) * | 2013-04-25 | 2017-08-09 | 富士通株式会社 | 画像処理回路、画像処理装置及び画像処理方法 |
JP5980294B2 (ja) * | 2014-10-27 | 2016-08-31 | キヤノン株式会社 | データ処理装置、撮像装置、およびデータ処理方法 |
US11703326B2 (en) | 2016-02-25 | 2023-07-18 | Kyocera Corporation | Stereo camera apparatus, vehicle, and parallax calculation method |
EP3358844A1 (en) * | 2017-02-07 | 2018-08-08 | Koninklijke Philips N.V. | Method and apparatus for processing an image property map |
JP7042185B2 (ja) * | 2018-07-27 | 2022-03-25 | 日立Astemo株式会社 | 距離算出装置 |
JP7269130B2 (ja) * | 2019-08-14 | 2023-05-08 | 日立Astemo株式会社 | 画像処理装置 |
-
1998
- 1998-10-15 JP JP29321298A patent/JP4296617B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2539804C2 (ru) * | 2010-09-14 | 2015-01-27 | Рикох Компани, Лтд. | Устройство стереоскопической камеры, способ коррекции и программа |
Also Published As
Publication number | Publication date |
---|---|
JP2000121319A (ja) | 2000-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9070042B2 (en) | Image processing apparatus, image processing method, and program thereof | |
US20210232845A1 (en) | Information processing apparatus, information processing method, and storage medium | |
US6671399B1 (en) | Fast epipolar line adjustment of stereo pairs | |
CN108475433B (zh) | 用于大规模确定rgbd相机姿势的方法和*** | |
US6865289B1 (en) | Detection and removal of image occlusion errors | |
JP4296617B2 (ja) | 画像処理装置および画像処理方法、並びに記録媒体 | |
US10659762B2 (en) | Stereo camera | |
CN102714697A (zh) | 图像处理装置、图像处理方法及程序 | |
JP2010041419A (ja) | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 | |
WO2007052191A2 (en) | Filling in depth results | |
US11928805B2 (en) | Information processing apparatus, information processing method, and storage medium for defect inspection and detection | |
US6519358B1 (en) | Parallax calculating apparatus, distance calculating apparatus, methods of the same, and information providing media | |
CN113793266A (zh) | 一种多目机器视觉图像拼接方法、***及存储介质 | |
JP3659426B2 (ja) | エツジ検出方法及びエツジ検出装置 | |
KR20120138642A (ko) | 화상 처리 방법 및 화상 처리 장치 | |
CN110120012A (zh) | 基于双目摄像头的同步关键帧提取的视频拼接方法 | |
JPH10240934A (ja) | 被写体抽出装置 | |
JP6395429B2 (ja) | 画像処理装置、その制御方法及び記憶媒体 | |
CN117635421A (zh) | 图像拼接融合的方法及装置 | |
JPH07103734A (ja) | ステレオ対応探索装置 | |
US9380285B2 (en) | Stereo image processing method, stereo image processing device and display device | |
CN114283081B (zh) | 基于金字塔加速的深度恢复方法、电子设备及存储介质 | |
JP2981382B2 (ja) | パターンマッチング方法 | |
JP4018950B2 (ja) | ステレオカメラの位置ずれ検査装置および位置ずれ検査方法 | |
JP4468019B2 (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051012 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051012 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081216 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090204 |
|
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: 20090324 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090406 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120424 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |