(57)【特許請求の範囲】
【請求項１】
複数の撮像装置により撮像された画像のうち少なくとも１つを基準画像として入力する第１の入力手段と、
前記撮像装置により撮像された画像のうち、前記基準画像以外を参照画像として入力する第２の入力手段と、
前記基準画像の各画素に基づいて、対象画素とその周辺画素をテンプレートとして設定する設定手段と、
前記設定手段により設定された前記テンプレートから、線形補間により前記テンプレートの形状を変形して得られる複数の変形テンプレートを生成する生成手段と、
前記複数の変形テンプレートを用いて、前記参照画像における対応点を求めることにより、前記基準画像に対する参照画像の対応関係を算定する算定手段と
を備え、
前記生成手段は、前記基準画像上に存在する被写体を構成する画素の画素数と、前記参照画像上に存在する前記被写体を構成する画素の画素数との差又は比の一方に基づいて、前記テンプレートの縦横比を変えることにより、前記複数の変形テンプレートを生成する
画像処理装置。
【請求項２】
前記算定手段は、前記複数の変形テンプレートに対して、前記参照画像の各画素における類似度を算出し、算出された前記類似度のうち、最も相関が高くなる座標を抽出して対応点とする
請求項１に記載の画像処理装置。
【請求項３】
複数の撮像装置により撮像された画像のうち少なくとも１つを基準画像として入力する第１の入力ステップと、
前記撮像装置により撮像された画像のうち、前記基準画像以外を参照画像として入力する第２の入力ステップと、
前記基準画像の各画素に基づいて、対象画素とその周辺画素をテンプレートとして設定する設定ステップと、
前記設定ステップの処理により設定された前記テンプレートから、線形補間により前記テンプレートの形状を変形して得られる複数の変形テンプレートを生成する生成ステップと、
前記複数の変形テンプレートを用いて、前記参照画像における対応点を求めることにより、前記基準画像に対する参照画像の対応関係を算定する算定ステップと
を含み、
前記生成ステップは、前記基準画像上に存在する被写体を構成する画素の画素数と、前記参照画像上に存在する前記被写体を構成する画素の画素数との差又は比の一方に基づいて、前記テンプレートの縦横比を変えることにより、前記複数の変形テンプレートを生成する
画像処理方法。
【請求項４】
コンピュータに、
複数の撮像装置により撮像された画像のうち少なくとも１つを基準画像として入力する第１の入力ステップと、
前記撮像装置により撮像された画像のうち、前記基準画像以外を参照画像として入力する第２の入力ステップと、
前記基準画像の各画素に基づいて、対象画素とその周辺画素をテンプレートとして設定する設定ステップと、
前記設定ステップの処理により設定された前記テンプレートから、線形補間により前記テンプレートの形状を変形して得られる複数の変形テンプレートを生成する生成ステップと、
前記複数の変形テンプレートを用いて、前記参照画像における対応点を求めることにより、前記基準画像に対する参照画像の対応関係を算定する算定ステップと
を含み、
前記生成ステップは、前記基準画像上に存在する被写体を構成する画素の画素数と、前記参照画像上に存在する前記被写体を構成する画素の画素数との差又は比の一方に基づいて、前記テンプレートの縦横比を変えることにより、前記複数の変形テンプレートを生成する
処理を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、画像処理方法、および記録媒体に関し、特に、ステレオ法に基づいて距離測定を行なう場合、複数の変形テンプレートを用いるようにすることで、より高精度に画像間の対応付けを行なうようにした画像処理装置、画像処理方法、および記録媒体に関する。
【０００２】
【従来の技術】
人間が物体の形状やその物体までの距離を感知する原理と同様に、対象となる物体までの距離を測定する方法として、一般的に、ステレオ法が知られている。ステレオ法によれば、視点の異なる複数台のカメラで観測された画像を用いて、三角測量の原理により、対象となる物体の形状またはその物体までの距離を計測することができる。
【０００３】
図１は、ステレオ法の原理を説明する図である。基準カメラ１と参照カメラ２の２台のカメラは、互いに異なる視点に配置されており、それぞれのカメラから測定しようとする対象点Ｑの３次元空間における位置が求められる。すなわち、対象点Ｑが基準カメラ１の画像面１Ａにより観察される観察点ｎbと、参照カメラ２の画像面２Ａにより観察される観察点ｎrとが求められる。そして、これらの観察点ｎb，ｎrから対象点Ｑの３次元空間内の位置を求めることができる。
【０００４】
観察点ｎbに対応する観察点ｎrを検出する手法としては、エピポーラライン（Epipolar  Line）上で対応点を探索する方法が提案されている。例えば、基準カメラ１で観察された画像面１Ａ（以下、そこにおける画像を、図２に示すように、基準画像１ａと略記する）上にある観察点ｎbに対して、その対応点である参照カメラ２の観察点ｎrは、両カメラの光学中心（光軸）と基準カメラ１の観察点ｎbにより決まる平面（画像面）と、参照カメラ２で観察された画像面２Ａ（以下、そこにおける画像を、図２に示すように、参照画像２ａと略記する）が交わる直線LP上に存在する。この直線LPは、エピポーララインと称される。そして、基準カメラ１と参照カメラ２の位置関係が既知であれば、異なる投影位置にある同一の対象を見つけることができるので、基準カメラ１の各観察点毎に参照画像２ａ上のエピポーラライン（直線ＬＰ）上で対応点を検索することにより、所望の対応点を検出することができる。
【０００５】
対応点を検索する手法として、「Pixel−Basedマッチング」、「Feature−Basedマッチング」、または、「Area−Basedマッチング」などが知られており、次のような特徴がある。
【０００６】
Pixel−Basedマッチングは、各々の画素間の濃淡値を用いて対応点を探索するため、演算速度が速いが、対応付け精度が低い。
【０００７】
Feature−Basedマッチングは、画像から濃淡エッジなどの特徴を抽出し、画像間の特徴だけを用いて対応点を探索するため、得られた距離画像の情報は疎である。
【０００８】
Area−Basedマッチングは、一種の相関演算を行なうため、演算コストがかかるが、対象の対応点を高精度に探索し、全ての画素の距離値を算出することができるため、一般的によく使われる。
【０００９】
図２は、Area−Basedマッチングの原理を表わしている。基準カメラ１で観察された画像（基準画像１ａ）のうち、任意に設定された注目点（注目画素）１１の周りに局所的なウィンドウ（領域）Ｗを設定し、それをテンプレート１２とする。図２（Ａ）では、例えば、テンプレート１２は、縦５個×横５個の画素で構成されている。
【００１０】
そして、図２（Ｂ）に示すように、参照カメラ２で観察された画像（参照画像２ａ）のエピポーラライン１３上に、テンプレート１２がテンプレート１２Ａとして配置され、設定された探索範囲内でマッチングが行なわれ、次式（１）に従って、一致度Ｒ（ｘ，ｙ）が演算される。次に、テンプレート１２がエピポーラライン１３に沿って移動され、テンプレート１２Ｂとして配置され、テンプレート１２Ａと同様に、式（１）に従って、一致度Ｒ（ｘ，ｙ）が演算される。さらに、テンプレート１２がエピポーラライン１３に沿って移動され、テンプレート１２Ｃとして配置され、テンプレート１２Ａ，１２Ｂと同様に、式（１）に従って、一致度Ｒ（ｘ，ｙ）が演算される。式（１）において、Im１（ｘ，ｙ）は、基準画像１ａの画素を表わし、Im２（ｘ＋Δｘ，ｙ＋Δｙ）は、参照画像２ａの画素を表わしている。また、Δｘ，Δｙは、テンプレート１２のエピポーラライン１３上での移動量を表わしている。
【００１１】
【数１】
0004524514.tif 000002
【００１２】
上記式（１）に従って求められた３個の一致度Ｒ（ｘ，ｙ）のうち、その値が最小となるとき、基準画像１ａと参照画像２ａの間の一致度（類似度）が最も高くなる。従って、一致度Ｒ（ｘ，ｙ）が最小になったときのテンプレート１２の移動量Δｘ，Δｙを、その注目点１１の視差とし、三角測量の原理により、その注目点１１の３次元空間における形状または奥行きを算出することができる。
【００１３】
このように、Area-Basedマッチングでは、各画素ごとにマッチング（対応付け）処理を繰り返すことにより、全ての画素に対応する３次元形状データを得ることができる。なお、図２では、３つのテンプレート１２Ａ乃至１２Ｃの一致度Ｒ（ｘ，ｙ）を上記式（１）に従って演算したが、実際には、テンプレート１２は、エピポーラライン１３上を、設定された探索範囲内で、所定の値ずつ移動され、式（１）に従って、各位置の一致度Ｒ（ｘ，ｙ）が演算される。
【００１４】
【発明が解決しようとする課題】
しかしながら、上記のいずれの手法においても、画像間の対応付けに「曖昧さ」が存在するため、画像上の全ての対応点を正確に求めることが困難であった。
【００１５】
例えば、Area−Basedマッチングを用いて、図３に示すように、３次元空間に斜めに配置されている平面２１上のテクスチャパターン２２の対応付けを行なう場合、基準カメラ１および参照カメラ２の２台のカメラが観察したテクスチャパターン２２は、図４に示すようになる。図４（Ａ）は、図３の平面２１と、そこに配置されているテクスチャパターン２２を示し、図４（Ｂ）は、基準カメラ１から平面２１を観察したときの観察画像（基準画像１ａ）を示し、図４（Ｃ）は、参照カメラ２から平面２１を観察したときの観察画像（参照画像２ａ）を示している。これらの図からも判るように、左右のカメラ（基準カメラ１と参照カメラ２）は、同一の対象パターン（テクスチャパターン２２）を観察しているにもかかわらず、そのテクスチャパターン２２の画像間に幾何学的な歪みが生じ、異なる対象として認識されることがあり、対応付けが困難になる課題があった。
【００１６】
そこで、より正確に対応点を求めるために、「ローカルサポート」、「高次特徴を使ったマッチング」、または、「マルチベースラインステレオ」などの手法が提案されている。しかしながら、その正確性は、まだ充分ではない。
【００１７】
本発明はこのような状況に鑑みてなされたものであり、テンプレートを変形して、変形テンプレートを生成し、より正確に対応点を見つけることができるようにするものである。
【００１８】
【課題を解決するための手段】
請求項１に記載の画像処理装置は、複数の撮像装置により撮像された画像のうち少なくとも１つを基準画像として入力する第１の入力手段と、撮像装置により撮像された画像のうち、基準画像以外を参照画像として入力する第２の入力手段と、基準画像の各画素に基づいて、対象画素とその周辺画素をテンプレートとして設定する設定手段と、設定手段により設定されたテンプレートから、線形補間によりテンプレートの形状を変形して得られる複数の変形テンプレートを生成する生成手段と、複数の変形テンプレートを用いて、参照画像における対応点を求めることにより、基準画像に対する参照画像の対応関係を算定する算定手段とを備え、生成手段は、基準画像上に存在する被写体を構成する画素の画素数と、参照画像上に存在する被写体を構成する画素の画素数との差又は比の一方に基づいて、テンプレートの縦横比を変えることにより、複数の変形テンプレートを生成する。
【００１９】
請求項３に記載の画像処理方法は、複数の撮像装置により撮像された画像のうち少なくとも１つを基準画像として入力する第１の入力ステップと、撮像装置により撮像された画像のうち、基準画像以外を参照画像として入力する第２の入力ステップと、基準画像の各画素に基づいて、対象画素とその周辺画素をテンプレートとして設定する設定ステップと、設定ステップの処理により設定されたテンプレートから、線形補間によりテンプレートの形状を変形して得られる複数の変形テンプレートを生成する生成ステップと、複数の変形テンプレートを用いて、参照画像における対応点を求めることにより、基準画像に対する参照画像の対応関係を算定する算定ステップとを含み、生成ステップは、基準画像上に存在する被写体を構成する画素の画素数と、参照画像上に存在する被写体を構成する画素の画素数との差又は比の一方に基づいて、テンプレートの縦横比を変えることにより、複数の変形テンプレートを生成する。
【００２０】
請求項４に記載の記録媒体のプログラムは、コンピュータに、複数の撮像装置により撮像された画像のうち少なくとも１つを基準画像として入力する第１の入力ステップと、撮像装置により撮像された画像のうち、基準画像以外を参照画像として入力する第２の入力ステップと、基準画像の各画素に基づいて、対象画素とその周辺画素をテンプレートとして設定する設定ステップと、設定ステップの処理により設定されたテンプレートから、線形補間によりテンプレートの形状を変形して得られる複数の変形テンプレートを生成する生成ステップと、複数の変形テンプレートを用いて、参照画像における対応点を求めることにより、基準画像に対する参照画像の対応関係を算定する算定ステップとを含み、生成ステップは、基準画像上に存在する被写体を構成する画素の画素数と、参照画像上に存在する被写体を構成する画素の画素数との差又は比の一方に基づいて、テンプレートの縦横比を変えることにより、複数の変形テンプレートを生成する処理を実行させる。
【００２１】
請求項１に記載の画像処理装置、請求項３に記載の画像処理方法、および請求項４に記載の記録媒体においては、複数の変形テンプレートが生成され、変形テンプレートに基づいて、基準画像に対する参照画像の対応関係が算定される。
【００２２】
【発明の実施の形態】
以下、本発明に係わる画像処理装置の構成例について、図面を参照しながら説明する。なお、従来の場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。最初に、本発明の原理について図５を参照して説明する。
【００２３】
図５は、２台のカメラ（基準カメラ１と参照カメラ２）から対象パターンを観察したとき、基準画像１ａの所定の小領域（テンプレート１２）に基づき、複数の変形テンプレート３１−１，３１−２，３１−３・・・を生成し、カメラキャリブレーションにより求められたパラメータを用いて参照画像２ａを射影変換し、奥行き方向にｓ分割して得られた参照画像２ａ1乃至２ａSとのテンプレートマッチングを行う原理を表している。基準カメラ１で観察された基準画像１ａからテンプレート１２が設定され、さらに、そのテンプレート１２が変形される。
【００２４】
例えば、図５の例では、縦９個×横９個の画素（以下、９×９と適宜略記する）で構成されているテンプレート１２が、３×９，５×９，７×９，９×９，１１×９，１３×９，１５×９の７種類の変形テンプレート３１−１乃至３１−７に変形される（簡単のため、変形テンプレート３１−４乃至３１−７の図示は省略されている）。そして、参照画像２ａ1乃至２ａSのエピポーラライン１３（図示せず）上で、それぞれの変形テンプレート３１−１乃至３１−７を用いて、テンプレートマッチングが行なわれる（その具体例については後述する）。
【００２５】
なお、カメラキャリブレーションと、１枚の参照画像２ａから、射影変換により、奥行き方向にｓ枚の参照画像２ａ1乃至２ａSを生成する原理の詳細は、例えば、特開平１１−５３５４８号公報、特開平１１−５３５４９号公報等に開示されている。
【００２６】
次に、本発明を適用した画像処理装置の構成について、図６を参照して説明する。基準カメラ１、並びに基準カメラ１と異なる視点に設置されたｎ台の参照カメラ２−１乃至２−ｎ（以下、これらを個々に区別する必要がない場合、単に参照カメラ２と称する。他の装置においても同様とする）は、テクスチャパターン２２をそれぞれ同時に撮像し、撮像された観察画像（基準画像１ａ、または参照画像２ａ−１乃至２ａ−ｎ）を電気信号（画像信号）に変換する。
【００２７】
画像処理装置４１は、例えば、パーソナルコンピュータにより構成されており、基準カメラ１と参照カメラ２−１乃至２−ｎから入力された画像信号に対して所定の処理を実行する。画像メモリ５１は、基準カメラ１より入力された画像信号を記憶し、画像メモリ５２−１乃至５２−ｎは、参照カメラ２−１乃至２−ｎより入力された画像信号をそれぞれ記憶する。
【００２８】
テンプレート設定部５３は、画像メモリ５１に記憶されている基準画像１ａのうち、任意の注目点１１を決定し、その注目点１１の周りに局所的な領域（テンプレート１２）を設定し、テンプレート変形部５５に入力する。テンプレート変形部５５は、入力されたテンプレート１２の形状に基づいて、例えば、線形補間により複数個の変形テンプレート３１−１乃至３１−ｒを生成し、マッチング演算部５４−１乃至５４−ｎに入力する。
【００２９】
マッチング演算部５４−１乃至５４−ｎは、画像メモリ５２−１乃至５２−ｎに記憶されている参照画像２ａ−１乃至２ａ−ｎのうちのエピポーラライン１３上の画像と、テンプレート変形部５５より入力された変形テンプレート３１−１乃至３１−ｒを用いて、エピポーラライン１３上のテンプレートマッチングを行なう。選択部５６−１乃至５６−ｎは、テンプレートマッチングの結果に基づいて、変形テンプレート３１−１乃至３１−ｒの中から、類似度が最も高くなるものを決定し、図示せぬメモリに保存する。また、選択部５６−１乃至５６−ｎは、類似度が最も高くなるときの座標位置を視差とし、距離画像演算部５７にその座標値を入力する。距離画像演算部５７は、三角測量の原理に基づいて、入力された座標値から距離値（奥行き）を演算し、さらに、入力された座標値とメモリに保存されている変形テンプレート３１に基づいて、画像を生成する。
【００３０】
次に、本発明の実施の形態の動作を説明する前に、左右のカメラで観察された画像の形状が変形する一般的な原理を説明する。図７は、基準カメラ１と参照カメラ２を水平方向に設置し、それぞれのカメラから斜面上にある線分Ｌを観察した場合において、観察画像の形状が視点により変化する原理を表わしている。左右に配置された基準カメラ１と参照カメラ２は、３次元空間に置かれた斜面上にある線分Ｌを観察する。このとき、線分Ｌ上の４点ａ，ｂ，ｃ，ｄは、参照カメラ２から観察した場合、それぞれ、基準カメラ１と参照カメラ２を結んだ直線と平行な線分Ｌ´上の点ａ´，ｂ´，ｃ´，ｄ´に投影される。また、これらの線分Ｌ，Ｌ´を観察する基準カメラ１の視点ｉ、および参照カメラ２の視点ｊは、線分Ｌ，Ｌ´と同一平面上に配置されている。
【００３１】
この図からも判るように、基準カメラ１で観察された基準画像１ａ上の直線Ｌの長さＰ1と、参照カメラ２で観察された参照画像２ａ上の直線Ｌの長さＰ2とは、必ずしも同一とはならない。ここで、基準カメラ１と参照カメラ２のレンズの焦点距離をＦとし、基準カメラ１と参照カメラ２の間の距離（ベースラインの距離と称する）をｇｈ（ｉｊ）＝Ｂとし、左右のカメラの視点ｉ，ｊから線分Ｌまでの直線距離をＺとする。また、基準カメラ１が撮像した線分Ｌは、線分Ｌ´上に線分ｂ´ｃ´＝Ｌ1として投影されているものとし、さらに参照カメラ２が撮像した線分Ｌは直線Ｌ´に線分ａ´ｄ´＝Ｌ2として投影されているものとすると、次式（２）に従って、基準カメラ１で観察された基準画像１ａと参照カメラ２で観察された参照画像２ａの画像間の差Ｐ1−Ｐ2を演算することができる。
【００３２】
Ｐ2−Ｐ1＝（Ｆ／Ｚ）・（Ｌ2−Ｌ1）                        ・・・（２）
【００３３】
ここで、ｅｂ´＝ΔＬ1，ａ´ｅ＝ΔＬ2，ｃ´ｆ＝ΔＬ3，ｆｄ´＝ΔＬ4とおくと、上記式（２）は、以下のように表わされる。
【００３４】
Ｐ2−Ｐ1＝（Ｆ／Ｚ）・（ΔＬ1＋ΔＬ2＋ΔＬ3＋ΔＬ4）      ・・・（３）
【００３５】
さらに、ｇｉｂ´＝α1，ｇｉｃ´＝α2，ａ´ｊｈ＝β1，ｄ´ｊｈ＝β2とすると、ΔＬ1乃至ΔＬ4は、以下の式（４）乃至式（７）のように表わされる。なお、これらの式において、Ｄは、点ａと点ｄの奥行き方向の距離を表わす。
【００３６】
ΔＬ1＝（Ｄ／２）・ｔａｎα1                              ・・・（４）
【００３７】
【数２】
0004524514.tif 000003
【００３８】
ΔＬ3＝（Ｄ／２）・ｔａｎα2                              ・・・（６）
【００３９】
【数３】
0004524514.tif 000004
【００４０】
さらにまた、ｔａｎα1，ｔａｎα2は、以下の式（８）と式（９）のように表わされる。ここで、ｘ11は、点ｉから基準画像１ａ上に垂らした垂線と基準画像１ａとの交点ｐから、点ａと点ｉを結ぶ直線と基準画像１ａとの交点までの距離を表わす。また、ｘ12は、点ｐから、点ｄと点ｉを結ぶ直線と基準画像１ａとの交点までの距離を表わす。
【００４１】
ｔａｎα1＝ｘ11／Ｆ                                      ・・・（８）
ｔａｎα2＝ｘ12／Ｆ                                      ・・・（９）
【００４２】
従って、式（４）乃至式（９）を式（３）に代入することにより、次式（１０）を得ることができ、基準カメラ１で観察された基準画像１ａと参照カメラ２で観察された参照画像２ａの画像間の差Ｐ2−Ｐ1を求めることができる。
【００４３】
Ｐ2−Ｐ1＝（Ｆ／Ｚ）・{（４ＺＤＢ）／（４Ｚ2−Ｄ2）}    ・・・（１０）
【００４４】
上記式（１０）で求められた画像間の差Ｐ2−Ｐ1の単位は、例えば、mmである。ここで、基準画像１ａの横方向の画素数をｍ（pixel）とし、基準カメラ１と参照カメラ２のCCDチップの横方向の長さをｋ（mm）とすると、以下のように基準カメラ１で観察された基準画像１ａと参照カメラ２で観察された参照画像２ａの画像間の画素数の差（Ｐ2−Ｐ1）Pは、式（１１）に示すように求めることができる。
【００４５】
（Ｐ2−Ｐ1）P＝{（４ＦＤＢ）／（４Ｚ2−Ｄ2）}・（ｍ／ｋ）
・・・（１１）
【００４６】
また、線分Ｌの奥行き（距離値）Ｄは、線分Ｌの角度φなどと関連し、次式（１２）により表わすことができる。
【００４７】
Ｄ＝Ｌ・sinφ                                         ・・・（１２）
【００４８】
図８は、線分Ｌが観察され、参照画像２ａのエピポーラライン１３上でテンプレートマッチングが行なわれる場合、画素数の差（Ｐ2−Ｐ1）Pを、上記式（１１）に従って演算した例を示している。ここで、レンズの焦点距離Ｆ＝８（mm）、カメラ間の距離Ｂ＝８０（mm）、カメラの視点ｉ，ｊから線分Ｌまでの距離Ｚ＝５００（mm）、基準画像１ａの画素数ｍ＝７２０（pixel）、CCDチップの横方向の長さｋ＝４．８（mm）とされている。また、テンプレート１２のウィンドウサイズは、３×３，５×５，７×７，９×９，１１×１１，１３×１３，１５×１５，１７×１７，１９×１９とされる。
【００４９】
例えば、線分Ｌの角度φが１５（度）の場合、用いられるテンプレート１２のサイズが３×３のとき、画素数の差（Ｐ2−Ｐ1）Pは０．１３２（pixel）となり、また、用いられるテンプレート１２のサイズが９×９のとき、画素数の差（Ｐ2−Ｐ1）Pは０．３９５（pixel）となり、さらにまた、用いられるテンプレート１２のサイズが１５×１５のとき、画素数の差（Ｐ2−Ｐ1）Pは０．６５９（pixel）となる。
【００５０】
また、例えば、線分Ｌの角度φが４５（度）の場合、用いられるテンプレート１２のサイズが５×５のとき、画素数の差（Ｐ2−Ｐ1）Pは０．８７５（pixel）となり、また、用いられるテンプレート１２のサイズが１１×１１のとき、画素数の差（Ｐ2−Ｐ1）Pは１．９３（pixel）となり、さらにまた、用いられるテンプレート１２のサイズが１７×１７のとき、画素数の差（Ｐ2−Ｐ1）Pは２．９９（pixel）となる。
【００５１】
さらにまた、例えば、線分Ｌの角度φが７５（度）の場合、用いられるテンプレート１２のサイズが７×７のとき、画素数の差（Ｐ2−Ｐ1）Pは６．１６４（pixel）となり、また、用いられるテンプレート１２のサイズが１３×１３のとき、画素数の差（Ｐ2−Ｐ1）Pは１１．６０７（pixel）となり、さらにまた、用いられるテンプレート１２のサイズが１９×１９のとき、画素数の差（Ｐ2−Ｐ1）Pは１７．２０４（pixel）となる。
【００５２】
この結果からも判るように、同一の対象（線分Ｌ）を観察しているにもかかわらず、テンプレート１２のサイズにより、また、線分Ｌの角度φにより、画像上の線分の長さが異なる。従って、基準カメラ１と異なる視点にある参照カメラ２が観察した参照画像２ａに対して、縦横比が同じである１枚のテンプレート１２を用いてテンプレートマッチングを行なう場合、また、角度φが大きい線分Ｌを観察してテンプレートマッチングを行なう場合（奥行きが大きくなる場合）、必ずしも正しい距離値を得ることができない。
【００５３】
そこで、本発明では、正しい距離値を得るために、基準カメラ１で観察された基準画像１ａからテンプレート１２が設定され、さらに、複数個の変形テンプレート３１が生成され、複数個の変形テンプレート３１を用いて、参照画像２ａのうちのエピポーラライン１３の画像とテンプレートマッチングが行なわれるようにするものである。
【００５４】
次に、本発明の実施の形態において、異なるカメラで観察された画像の距離画像計算処理を行なう場合の動作について、図９のフローチャートを参照して説明する。ステップＳ１において、基準カメラ１は、観測した基準画像１ａの画素をIm1（ｘ，ｙ）として画像メモリ５１に入力し、記憶させる。ステップＳ２において、テンプレート設定部５３は、画像メモリ５１に記憶されている基準画像１ａの画素Im１（ｘ，ｙ）のうち、任意の注目点１１を決定し、その注目点１１の周りにテンプレートＴ（ｘ，ｙ）を設定する。
【００５５】
ステップＳ３において、テンプレート変形部５５は、ステップＳ２で設定されたテンプレートＴ（ｘ，ｙ）を、線形補間により変形し、変形テンプレートＴj（ｊ＝１，２・・・Ｊ）を生成する。例えば、図１０に示すように、縦９個×横９個の画素（以下、９×９と適宜略記する）で構成されているテンプレートＴ（ｘ，ｙ）の大きさと形状が任意の方向に変形される。図１０（Ａ）は、９×９で構成されているテンプレートＴ（ｘ，ｙ）を、線形補間により水平方向（ｘ方向）に、９×３，９×５，９×７，９×９，９×１１，９×１３，９×１５の７種類に変形させた変形テンプレートＴ1乃至Ｔ7を表わしている。同図において、Ｊ＝７である。
【００５６】
また、テンプレートＴ（ｘ，ｙ）は、垂直方向（ｙ方向）に変形させてもよい。この場合、例えば、図１０（Ｂ）に示すように、３×９，５×９，７×９，９×９，１１×９，１３×９，１５×９の７種類の変形テンプレートＹ1乃至Ｙ7が生成される。
【００５７】
図９に戻って、ステップＳ１，Ｓ２，Ｓ３の処理と平行して、ステップＳ４乃至Ｓ７の処理が行なわれる。ステップＳ４において、参照カメラ２−１は、観測した参照画像２ａ−１の画素Im２（ｘ，ｙ）を画像メモリ５２−１に入力する。ステップＳ５において、マッチング演算部５４−１は、カメラキャリブレーションにより求められたパラメータを用いて参照画像２ａ−１を射影変換し、奥行き方向にｓ分割した、参照画像２ａ1乃至２ａSを生成する。
【００５８】
ステップＳ６において、変数ｉに０が初期設定される。ステップＳ７において、変数ｉが１だけインクリメントされ、いまの場合、ｉ＝１とされる。
【００５９】
ステップＳ８において、マッチング演算部５４−１は、第ｉ番目（いまの場合、ｉ＝１）の参照画像２ａiの画素Im２i（ｘi，ｙi）と、ステップＳ３で生成された変形テンプレートＴjを用いて、エピポーラライン１３上のテンプレートマッチングを行ない、最大マッチングスコアを算出する。
【００６０】
ここで、図１１を参照して、マッチング演算部５４−１の変形テンプレートＴjを用いた最大マッチングスコア算出処理について説明する。ステップＳ２１において、変形テンプレートＴjの変数ｊと、最大マッチングスコア値Ｍiに、それぞれ０が初期設定される。ステップＳ２２において、変数ｊが１だけインクリメントされ、いまの場合、ｊ＝１とされる。
【００６１】
ステップＳ２３において、マッチング演算部５４−１は、テンプレート変形部５５で変形された変形テンプレートＴj（ｊ＝１）と、第ｉ番目（ｉ＝１）の参照画像２ａiの画素Im２i（ｘi，ｙi）における同一領域とのマッチングスコア値Ｍj（テンプレートと参照画像の相関が高い程、大きくなる値であり、例えば、式（１）で示す一致度Ｒ（ｘ，ｙ）の逆数として求められる）を計算する。
【００６２】
ステップＳ２４において、マッチング演算部５４−１は、ステップＳ２３で計算されたマッチングスコア値Ｍjの値が、メモリに保存されている最大マッチングスコア値Ｍiの値より大きいか否かを判定し、マッチングスコア値Ｍjの値が、最大マッチングスコア値Ｍi（いまの場合、Ｍi＝０）の値より大きいと判定された場合、ステップＳ２５に進み、マッチング演算部５４−１は、マッチングスコア値Ｍjの値を、最大マッチングスコア値Ｍiに代入し、ステップＳ２６に進む。ステップＳ２４において、マッチングスコア値Ｍjの値が、最大マッチングスコア値Ｍiの値より小さいと判定された場合、ステップＳ２５の処理はスキップされ、処理はステップＳ２６に進む。
【００６３】
ステップＳ２６において、マッチング演算部５４−１は、全ての変形テンプレートＴjを用いて、第ｉ番目の参照画像２ａiの画素Im２i（ｘi，ｙi）とのマッチング処理が終了したか否かを判定し、処理が終了していないと判定された場合、ステップＳ２２に戻り、変数ｊの値を１だけインクリメントし、いまの場合、ｊ＝２とする。これにより、第２番目の変形テンプレートが選択され、以下、同様の処理が繰り返される。
【００６４】
ステップＳ２６において、全ての変形テンプレートＴjを用いて、第ｉ番目の参照画像２ａiの画素Im２i（ｘi，ｙi）とのマッチング処理が終了したと判定されるまで上述した処理が繰り返される。
【００６５】
図９に戻って、ステップＳ９において、マッチング演算部５４−１は、第ｉ番目の参照画像２ａiにおける全ての画素Im２i（ｘi，ｙi）との最大マッチングスコアの算出処理が終了したか否かを判定し、終了していないと判定された場合、ステップＳ２に戻り、ステップＳ９において、第ｉ番目の参照画像２ａiにおける全ての画素Im２i（ｘi，ｙi）との最大マッチングスコアの算出処理が終了したと判定されるまで、上述した処理を繰り返す。
【００６６】
ステップＳ９において、第ｉ番目（いまの場合、ｉ＝１）の参照画像２ａiにおける全ての画素Im２i（ｘi，ｙi）との最大マッチングスコアの算出処理が終了したと判定されると、マッチング演算部５４−１は、さらに、ステップＳ１０において、全ての参照画像２ａ1乃至２ａSとのマッチング処理が終了したか否かを判定し、終了していないと判定された場合、ステップＳ７に戻り、変数ｉの値を１だけインクリメントし、ｉ＝２とする。その後、ステップＳ８に進み、同様の処理が、ステップＳ１０において、全ての参照画像２ａ1乃至２ａSとのマッチング処理が終了したと判定されるまで繰り返される。
【００６７】
そして、ステップＳ１０において、全ての参照画像２ａ1乃至２ａSとのマッチング処理が終了したと判定されると、選択部５６−１は、最大マッチングスコア値Ｍiから、類似度が最も高くなる（最大マッチングスコア値Ｍiの値が最大となる）変形テンプレートＴjを決定し、図示せぬメモリに保存する。また、選択部５６−１は、類似度が最も高くなるときの参照画像２ａ−１の画素Im２（ｘ，ｙ）を選択し、距離画像演算部５７に入力する。
【００６８】
図１２は、上述したような最大マッチングスコア算出処理により、各変形テンプレートＴjを用いて、最大マッチングスコア値Ｍiが算出された結果を示している。同図において、横軸は変形テンプレートＴjを表わし、縦軸は類似度を表わしている。例えば、図１２では、変形テンプレートＴ6において、最も類似度が高くなるため、変形テンプレートＴ6がメモリに保存され、そのときの参照画像２ａ−１の画素Im２（ｘ，ｙ）が距離画像演算部５７に入力される。
【００６９】
図９に戻って、ステップＳ１１において、距離画像演算部５７は、最大マッチングスコア値Ｍiが得られたときの変形テンプレートの移動量を、それぞれの注目画素点の視差とし、三角測量の原理により、距離画像が生成され、処理を終了する。
【００７０】
以上においては、変形テンプレートＴjを長方形に変形させる方法を例として説明したが、例えば、台形などのその他の形状に変形しても適用できる。また、テンプレート１２の縦横比を決める基準として、式（１１）を用いたが、次式（１３）を用いることも可能である。
【００７１】
【数４】
0004524514.tif 000005
【００７２】
また、基準カメラ１で観察された基準画像１ａと参照カメラ２で観察された参照画像２ａの画像間の差Ｐ1−Ｐ2を求めるだけでなく、次式（１４）に従って、画像間の比Ｐ1／Ｐ2を求めることにより、テンプレート１２の縦横比を決定することもできる。
【００７３】
【数５】
0004524514.tif 000006
【００７４】
上述したように、テンプレート１２から複数個の変形テンプレート３１（元のテンプレート１２を含む）を生成し、その変形テンプレートを用いてテンプレートマッチングを行なうようにしたので、画像間の対応付けの曖昧さを低減し、ミスマッチングの発生頻度が大きく抑えられ、より信頼性の高い距離値を得ることができる。
【００７５】
従って、複雑な３次元形状のうち、特に奥行き方向の形状が複雑な対象に対しても、高精度に距離値を測定することができる。
【００７６】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアとしての画像処理装置４１に組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどにインストールされる。
【００７７】
次に、図１３を参照して、上述した一連の処理を実行するプログラムをコンピュータにインストールし、コンピュータによって実行可能な状態とするために用いられる媒体について、そのコンピュータが汎用のパーソナルコンピュータである場合を例として説明する。
【００７８】
プログラムは、図１３（Ａ）に示すように、パーソナルコンピュータ６１に内蔵されている記録媒体としてのハードディスク６２や半導体メモリ６３に予めインストールした状態でユーザに提供することができる。
【００７９】
あるいはまた、プログラムは、図１３（Ｂ）に示すように、フロッピーディスク７１、CD-ROM（CD-Read Only Memory）７２、MO（Magneto-Optical）ディスク７３、DVD（Digital Versatile Disc）７４、磁気ディスク７５、または半導体メモリ７６などの記録媒体に、一時的あるいは永続的に格納し、パッケージソフトウエアとして提供することができる。
【００８０】
さらに、プログラムは、図１３（Ｃ）に示すように、ダウンロードサイト８１から、デジタル衛星放送用の人工衛星８２を介して、パーソナルコンピュータ６１に無線で転送したり、ローカルエリアネットワーク、インターネットといったネットワーク９１を介して、パーソナルコンピュータ６１に有線で転送し、パーソナルコンピュータ６１おいて、内蔵するハードディスク６２などに格納させることができる。
【００８１】
本明細書における媒体とは、これら全ての媒体を含む広義の概念を意味するものである。
【００８２】
パーソナルコンピュータ６１は、例えば、図１４に示すように、CPU１０２を内蔵している。CPU１０２にはバス１０１を介して入出力インタフェース１０５が接続されており、CPU１０２は、入出力インタフェース１０５を介して、ユーザから、キーボード、マウスなどよりなる入力部１０７から指令が入力されると、それに対応して、図１３（Ａ）の半導体メモリ６３に対応するROM１０３に格納されているプログラムを実行する。あるいはまた、CPU１０２は、ハードディスク６２に予め格納されているプログラム、人工衛星８２もしくはネットワーク９１から転送され、通信部１０８により受信され、さらにハードディスク６２にインストールされたプログラム、またはドライブ１０９に装着されたフロッピーディスク７１、CD-ROM７２、MOディスク７３、DVD７４、もしくは磁気ディスク７５から読み出され、ハードディスク６２にインストールされたプログラムを、RAM１０４にロードして実行する。さらに、CPU１０２は、その処理結果を、例えば、入出力インタフェース１０５を介して、LCD（Liquid Crystal Display）などよりなる表示部１０６に必要に応じて出力する。
【００８３】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００８４】
【発明の効果】
本発明によれば、より高精度に画像の対応付けを行なうことができる。
【図面の簡単な説明】
【図１】ステレオ法の原理を説明する図である。
【図２】  Area−Basedマッチングの原理を説明する図である。
【図３】ステレオ法を用いた基準カメラ１と参照カメラ２の対応付けを説明する図である。
【図４】図３のカメラで観察された画像を説明する図である。
【図５】本発明の原理を説明する図である。
【図６】本発明を適用した画像処理装置の構成を示すブロック図である。
【図７】カメラの視点により観察画像の形状が変形する原理を説明する図である。
【図８】距離値Ｄを演算した結果を説明する図である。
【図９】図６の画像処理装置の動作を説明するフローチャートである。
【図１０】変形テンプレートを説明する図である。
【図１１】図９のステップＳ８の最大マッチングスコア算出処理を説明するフローチャートである。
【図１２】類似度を説明する図である。
【図１３】媒体を説明する図である。
【図１４】図１３のパーソナルコンピュータ６１の構成を示すブロック図である。
【符号の説明】
１  基準カメラ，  １ａ  基準画像，  ２−１乃至２−ｎ  参照カメラ，  ２ａ1乃至２ａS  参照画像，  １１Ａ乃至１１Ｃ  注目点，  １２Ａ乃至１２Ｃ  テンプレート，  ２１  平面，  ２２  テクスチャパターン，  ３１−１乃至３１−３  変形テンプレート，  ４１  画像処理装置，  ５１，５２−１乃至５２−ｎ  画像メモリ，  ５３  テンプレート設定部，  ５４−１乃至５４−ｎ  マッチング演算部，  ５５  テンプレート変形部，  ５６−１乃至５６−ｎ  選択部，  ５７  距離画像演算部
【図１】
0004524514.tif 000007
【図２】
0004524514.tif 000008
【図３】
0004524514.tif 000009
【図４】
0004524514.tif 000010
【図５】
0004524514.tif 000011
【図６】
0004524514.tif 000012
【図７】
0004524514.tif 000013
【図８】
0004524514.tif 000014
【図９】
0004524514.tif 000015
【図１０】
0004524514.tif 000016
【図１１】
0004524514.tif 000017
【図１２】
0004524514.tif 000018
【図１３】
0004524514.tif 000019
【図１４】
0004524514.tif 000020