(57)【特許請求の範囲】
【請求項１】
二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る方法であって、
（1a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算処理と、
（1b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める誤差関数演算処理と、
（1c）前記２次誤差関数の総和又は部分和を、関数を表現するパラメータで再表現し、パラメータについて非線形反復最小化によりパラメータを求める非線形反復最小化処理から構成され、さらに前記非線形反復最小化処理は
（1c-1）前記２次誤差関数の総和又は部分和のパラメータに関する１階偏微分ベクトルと２階偏微分行列を求める偏微分演算処理と、
（1c-2）各反復における最小化が所定の期待値を下回る程度に応じて２階偏微分行列の対角成分を増加させる２階偏微分行列変更処理と、
（1c-3）前記変更された２階偏微分行列の逆行列を前記１階偏微分ベクトルに乗してパラメータの増減値を得るパラメータ変更処理から構成され、
前記偏微分演算処理、２階偏微分行列変更処理、パラメータ変更処理を反復して得られたパラメータ増減値を逐次加えてパラメータを変更し最小化を行うことを特徴とする画像間対応検出方法。
【請求項２】
二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る装置であって、
（2a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算手段と、
（2b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める誤差関数演算手段と、
（2c）前記２次誤差関数の総和又は部分和を、関数を表現するパラメータで再表現し、パラメータについて非線形反復最小化によりパラメータを求める非線形反復最小化手段から構成され、さらに、前記非線形反復最小化手段は、
（2c-1）前記２次誤差関数の総和又は部分和のパラメータに関する１階偏微分ベクトルと２階偏微分行列を求める偏微分演算手段と、
（2c-2）各反復における最小化が所定の期待値を下回る程度に応じて２階偏微分行列の対角成分を増加させる２階偏微分行列変更手段と、
（2c-3）前記変更された２階偏微分行列の逆行列を前記１階偏微分ベクトルに乗してパラメータの増減値を得るパラメータ変更手段から構成され、
前記偏微分演算手段、２階偏微分行列変更手段、パラメータ変更手段を反復して得られたパラメータ増減値を逐次加えてパラメータを変更し最小化を行うことを特徴とする画像間対応検出装置。
【請求項３】
二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る方法であって、
（3a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算処理と、
（3b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める誤差関数演算処理と、
（3c）前記２次誤差関数の総和又は部分和を、関数を表現するパラメータで再表現し、パラメータについての偏導関数が線形関数となる線形最小化可能パラメータとそうはならない非線形最小化パラメータに分け、前者のみを線形最小化により求める線形パラメータ演算処理と
（3d）前記２次誤差関数の総和又は部分和を、前記線形最小化可能パラメータについては前記線形パラメータ演算処理により得られたパラメータを初期値として前記パラメータ全てを非線形反復最小化により求める全パラメータ演算処理を有することを特徴とする画像間対応検出方法。
【請求項４】
二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る装置であって、
（4a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算手段と、
（4b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める誤差関数演算手段と、
（4c）前記２次誤差関数の総和又は部分和を、関数を表現するパラメータで再表現し、パラメータについての偏導関数が線形関数となる線形最小化可能パラメータとそうはならない非線形最小化パラメータに分け、前者のみを線形最小化により求める線形パラメータ演算手段と、
（4d）前記２次誤差関数の総和又は部分和を、前記線形最小化可能パラメータについては前記線形パラメータ演算手段により得られたパラメータを初期値として前記パラメータ全てを非線形反復最小化により求める全パラメータ演算手段を有することを特徴とする画像間対応検出装置。
【請求項５】
二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る方法であって、
（5a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算処理と、
（5b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とし最小値を零にもつ２次の誤差関数を各部分領域について求める誤差関数演算処理と、
（5c）前記２次誤差関数の重み付け総和を、関数を表現するパラメータで再表現し、パラメータについて反復最小化によりパラメータを求める反復最小化処理と、
（5d）前記反復最小化の反復過程において、前記２次誤差関数の値に逆比例して重み付けを設定する重み付け再設定処理から構成されることを特徴とする画像間対応検出方法。
【請求項６】
二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る装置であって、
（6a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算手段と、
（6b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とし最小値を零にもつ２次の誤差関数を各部分領域について求める誤差関数演算手段と、
（6c）前記２次誤差関数の重み付け総和を、関数を表現するパラメータで再表現し、パラメータについて反復最小化によりパラメータを求める反復最小化手段と、
（6d）前記反復最小化の反復過程において、前記２次誤差関数の値に逆比例して重み付けを設定する重み付け再設定手段から構成されることを特徴とする画像間対応検出装置。
【請求項７】
二つの画像の対応を一方の画面上の位置集合を他方の画像上の直線へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る方法であって、
（7a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算処理と、
（7b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める誤差関数演算処理と、
（7c）前記２次誤差関数の総和又は部分和を、写像される直線と２次誤差関数の値を決める偏位との関係から関数を特定するパラメータで再定義する誤差パラメータ化処理と、
（7d）前記再パラメータ化された２次誤差関数の総和又は部分和を、パラメータについて最小化し、最小化するパラメータを画像間の動きとして出力する最小化処理を有することを特徴とする画像間対応検出方法。
【請求項８】
二つの画像の対応を一方の画面上の位置集合を他方の画像上の直線へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る装置であって、
（8a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算手段と、
（8b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める誤差関数演算手段と、
（8c）前記２次誤差関数の総和又は部分和を、写像される直線と２次誤差関数の値を決める偏位との関係から関数を特定するパラメータで再定義する誤差パラメータ化手段と、
（8d）前記再パラメータ化された２次誤差関数の総和又は部分和を、パラメータについて最小化し、最小化するパラメータを画像間の動きとして出力する最小化手段を有することを特徴とする画像間対応検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば以下の技術分野に属する画像間対応検出方法およびその装置に関するものである。
【０００２】
1.時間的に連続する画像間の対応関係を知って、画像を少ない符号化量で伝送蓄積する画像符号化・復号化装置。
【０００３】
2.ステレオ画像の間に成立する対応関係を求めて、距離を計測する測定装置。
3.手ぶれ等、意図しないカメラの動きによって生じる画像の動きを補正する画像処理装置。
【０００４】
4.複数の画像を統合して広視野画像を生成する画像処理装置。
【０００５】
【従来の技術】
カメラ視点の移動又は物体の移動により物体は画像中の異なる位置に投影される。この二つの投影像の対応関係は、一方の画面上の位置集合を他方の画像上の位置集合への写像として表現することができる。
【０００６】
この写像には様々なモデルがあり、点から点への写像としては式１から式３で表現される２次元アフィン写像、式4から式6で表現される２次元２次形式写像、
式７から式８で表現される平面透視写像が知られている。
【０００７】
これらはそれぞれ、十分遠い距離にある物体とカメラの相対運動、平面の瞬間的移動、平面の任意移動によって生じる投影像間の対応を表している。
【０００８】
ここで、(x,y)と(x',y')は各々異なる投影像の対応する画像位置であり、肩文字の記号tはベクトル、行列の転置を表す。また太字のxは座標(x,y)を表す。
【０００９】
２次元アフィン写像：
【００１０】
【数１】
0003870491.tif 000002
【００１１】
【数２】
0003870491.tif 000003
【００１２】
２次元アフィン写像のパラメータ：
【００１３】
【数３】
0003870491.tif 000004
【００１４】
２次元２次形式写像：
【００１５】
【数４】
0003870491.tif 000005
【００１６】
【数５】
0003870491.tif 000006
【００１７】
２次元２次形式写像のパラメータ：
【００１８】
【数６】
0003870491.tif 000007
【００１９】
平面透視写像：
【００２０】
【数７】
0003870491.tif 000008
【００２１】
平面透視写像のパラメータ：
【００２２】
【数８】
0003870491.tif 000009
【００２３】
各写像のパラメータが定まれば異なる画像の位置対応を決定する関数が定まる。２次元アフィン写像では、式３に示す６つのパラメータが、２次元２次形式写像では、式６に示す８つのパラメータが、平面透視写像では式８に示す８つのパラメータが求まれば画像間の対応が記述されることになる。
【００２４】
画像間対応を表す写像は点と点との対応に限るものではなく、一方の位置集合から他方の画像上の位置集合へのより一般的な写像も考えられる。前述の点と点の対応では、投影条件や物体の構造に制約(平面)があったが、剛体の異なる投影像間で一般的に成り立つ写像がエピポーラ幾何として知られている。これは直線から直線からへの写像であり、本明細書ではエピポーラ写像と呼ぶ。このエピポーラ写像の一般化として点から直線への写像がある。これを式９から式１０で表し、一般化エピポーラ写像とよぶことにする。
一般化エピポーラ写像：
【００２５】
【数９】
0003870491.tif 000010
【００２６】
【数１０】
0003870491.tif 000011
【００２７】
式９中のFは基本行列とよばれる３×３行列であり、記号〜は式10に示す同次座標表現（２次元位置座標を(x,y)でなく(x,y,1)として３次元ベクトルとした表現）を表している。一般化エピポーラ写像はxから写像されるx’が行列Fで表現される直線の方程式を満足するというものである。すなわち、点は直線に写像される。この写像パラメータは行列Fそのものである（エピポーラ写像の詳しい説明は実施例で再度述べる）。
【００２８】
以上の写像パラメータを求めるために特徴点対応による方法又は輝度誤差の直接最小化による方法が従来利用されてきた。平面透視写像を例にとる。
【００２９】
平面透視写像では求めるパラメータ数が８であるから、異なる投影像で４点の対応が得られればその関数を特定することができる。
【００３０】
４点の対応につき式７から８つの連立方程式を得ることにより、容易に写像パラメータを計算することができる。２次元アフィン写像では３点対応、２次元２次形式写像のパラメータは４点対応で、各々６または８の連立方程式から求めることができる。
【００３１】
また、一般化エピポーラ写像の場合は、Longuet-Higginsの８点対応による方法が、文献「ネイチャー  第２９３巻  第１３３頁〜第１３５頁  １９８１年」（H. C. Longuet-Higgins, ''A computer algorithm for reconstructing a scene from two projections,'' Nature, Vol. 293,  pp.133-135, 1981）に開示されている。本明細書では、このような投影像の特徴点の対応による方法を特徴点対応によるパラメータ推定方法と呼ぶ。
【００３２】
輝度誤差直接最小化の方法は、例えば「アイイーイーイー  コンピュター  グラフィクス  アンド  アプリケーションズ  第２２頁〜第３０頁,  1996年  ３月」（R. Szeliski, "Video Mosaics for Virtual Environment", IEEE  Computer Graphics and  Applications,pp. 22-30）に開示されている。
【００３３】
【数１１】
0003870491.tif 000012
【００３４】
これは式１１で定義される輝度誤差を画面全体について最小化しようとするものである。
【００３５】
式１１においてI(xi,yi)はi番目の画素の輝度を表しており、I'(xi',yi')は異なる投影像の対応する点における輝度である。
【００３６】
ここで、写像を式７で定義される平面透視写像とし、この写像パラメータ（式８）を求めるものとする。本従来例では式１１において、輝度誤差が２乗誤差として定義されているため、マーカート法（Levenberg-Marquart法）により式１１の最小化を行なっている。マーカート法の詳細は、「カンブリッジ  ユニバースプレス,  1992年」（W.H. Press他, "Numerical Receipes in C : The art of Scientific Computing", Cambridge Univ.Press）に開示されている。
【００３７】
本従来例では、以下のステップを反復することにより、写像パラメータｐを求めている。
【００３８】
ステップ１：まず、式１１に示されているeiを画像より計算する。
ステップ２：式１２により式１１の１階偏微分を求める。
【００３９】
【数１２】
0003870491.tif 000013
【００４０】
式１２においてDiは式１１の分母、すなわち式１３である。
【００４１】
【数１３】
0003870491.tif 000014
【００４２】
ステップ３：式１２を用いて、式１４に示すように要素aklを持つ８×８行列Ａと要素bkをもつ列ベクトルbを求める。
【００４３】
【数１４】
0003870491.tif 000015
【００４４】
ステップ４：式１５に従って、写像パラメータの変更分δpを計算し、式１６に従って写像パラメータの新候補p'を計算する。λは非負の制御変数でλの初期値は実験的に定める。またIは単位行列である。
【００４５】
【数１５】
0003870491.tif 000016
【００４６】
【数１６】
0003870491.tif 000017
【００４７】
ステップ５：p'から式１１の値を計算し、これがステップ１で計算した値よりも減少した場合はp'をpとして写像パラメータを更新する。さらにこの場合はλの値を小さくする。逆に増加した場合は更新はせず、λの値を大きくする。
【００４８】
マーカート法は、２乗誤差を最小化するパラメータ推定に有効な非線形反復最小化手法として知られている。式１１が、写像パラメータについて２次関数として近似できる場合は、ニュートン法が使え、ニュートン法の近似として式１７で計算される写像パラメータの変更分δpにより最小化が行なえる（元来のニュートン法であれば行列Aを２階偏微分行列として求める）。
【００４９】
【数１７】
0003870491.tif 000018
【００５０】
ところが、非線形最小化では、一般的に式１１が写像パラメータについて２次関数として近似できない場合が少なくない。そこで式１５にあるように、λ倍した単位行列を加えることにより、安定な収束を行なっている。
【００５１】
この調整は、上記最小化ステップが成功した場合は、写像パラメータが少ない反復回数で得ることができるよう、λを小さな値とし、逆に最小化ステップが失敗した場合は、より確実な収束が行なえるようλを大きな値として行なわれる。
【００５２】
【発明が解決しようとする課題】
特徴点対応による方法の課題：特徴点が正確に得られれば、特徴点対応によるパラメータ推定方法は簡易でかつ正確である。しかし、輝度のパターン（特徴）が似通った位置の対応は一般に誤対応を生む。この誤対応であるかどうかの判定が困難である。また特徴点対応の精度が粗ければ、得られるパラメータの精度も粗くなる。
【００５３】
輝度誤差直接最小化による方法の課題：輝度誤差直接最小化による方法では、画面上の対応位置の座標が大きくことなる場合、すなわち画面上の動きが大きな場合にパラメータ推定が困難である。
【００５４】
【課題を解決するための手段】
上記問題点を解決するために、第１の発明は、二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る方法であって、（1a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算処理と、（1b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める誤差関数演算処理と、（1c）前記２次誤差関数の総和又は部分和を、関数を表現するパラメータで再表現し、パラメータについて非線形反復最小化によりパラメータを求める非線形反復最小化処理から構成され、さらに、前記非線形反復最小化処理は（1c-1）前記２次誤差関数の総和又は部分和のパラメータに関する１階偏微分ベクトルと２階偏微分行列を求める偏微分演算処理と、（1c-2）各反復における最小化が所定の期待値を下回る程度に応じて２階偏微分行列の対角成分を増加させる２階偏微分行列変更処理と、（1c-3）前記変更された２階偏微分行列の逆行列を前記１階偏微分ベクトルに乗してパラメータの増減値を得るパラメータ変更処理から構成され、前記偏微分演算処理、２階偏微分行列変更処理、パラメータ変更処理を反復して得られたパラメータ増減値を逐次加えてパラメータを変更し最小化を行うことを特徴とする画像間対応検出方法である。
【００５５】
第２の発明は、二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る装置であって、（2a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算手段と、（2b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める誤差関数演算手段と、（2c）前記２次誤差関数の総和又は部分和を、関数を表現するパラメータで再表現し、パラメータについて非線形反復最小化によりパラメータを求める非線形反復最小化手段から構成され、さらに前記非線形反復最小化手段は（2c-1）前記２次誤差関数の総和又は部分和のパラメータに関する１階偏微分ベクトルと２階偏微分行列を求める偏微分演算手段と、（2c-2）各反復における最小化が所定の期待値を下回る程度に応じて２階偏微分行列の対角成分を増加させる２階偏微分行列変更手段と、（2c-3）前記変更された２階偏微分行列の逆行列を、前記１階偏微分ベクトルに乗してパラメータの増減値を得るパラメータ変更手段から構成され、前記偏微分演算手段、２階偏微分行列変更手段、パラメータ変更手段を反復して得られたパラメータ増減値を逐次加えてパラメータを変更し最小化を行うことを特徴とする画像間対応検出装置である。
【００５６】
第３の発明は、二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る方法であって、（3a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算処理と、（3b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める誤差関数演算処理と、（3c）前記２次誤差関数の総和又は部分和を、関数を表現するパラメータで再表現し、パラメータについての偏導関数が線形関数となる線形最小化可能パラメータとそうはならない非線形最小化パラメータに分け、前者のみを線形最小化により求める線形パラメータ演算処理と、（3d）前記２次誤差関数の総和又は部分和を、前記線形最小化可能パラメータについては前記線形パラメータ演算処理により得られたパラメータを初期値として前記パラメータ全てを非線形反復最小化により求める全パラメータ演算処理を有することを特徴とする画像間対応検出方法である。
【００５７】
第４の発明は、二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る装置であって、（4a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算手段と、（4b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める誤差関数演算手段と、（4c）前記２次誤差関数の総和又は部分和を、関数を表現するパラメータで再表現し、パラメータについての偏導関数が線形関数となる線形最小化可能パラメータとそうはならない非線形最小化パラメータに分け、前者のみを線形最小化により求める線形パラメータ演算手段と、（4d）前記２次誤差関数の総和又は部分和を、前記線形最小化可能パラメータについては前記線形パラメータ演算手段により得られたパラメータを初期値として前記パラメータ全てを非線形反復最小化により求める全パラメータ演算手段を有することを特徴とする画像間対応検出装置である。
【００５８】
第５の発明は、二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る方法であって、（5a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算処理と、（5b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とし最小値を零にもつ２次の誤差関数を各部分領域について求める誤差関数演算処理と、（5c）前記２次誤差関数の重み付け総和を、関数を表現するパラメータで再表現し、パラメータについて反復最小化によりパラメータを求める反復最小化処理と、（5d）前記反復最小化の反復過程において、前記２次誤差関数の値に逆比例して重み付けを設定する重み付け再設定処理から構成されることを特徴とする画像間対応検出方法である。
【００５９】
第６の発明は、二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る装置であって、（6a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算手段と、（6b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とし最小値を零にもつ２次の誤差関数を各部分領域について求める誤差関数演算手段と、（6c）前記２次誤差関数の重み付け総和を、関数を表現するパラメータで再表現し、パラメータについて反復最小化によりパラメータを求める反復最小化手段と、（6d）前記反復最小化の反復過程において、前記２次誤差関数の値に逆比例して重み付けを設定する重み付け再設定手段から構成されることを特徴とする画像間対応検出装置である。
【００６０】
第７の発明は、二つの画像の対応を一方の画面上の位置集合を他方の画像上の直線へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る方法であって、（7a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算処理と、（7b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める誤差関数演算処理と、（7c）前記２次誤差関数の総和又は部分和を、写像される直線と２次誤差関数の値を決める偏位との関係から関数を特定するパラメータで再定義する誤差パラメータ化処理と、（7d）前記再パラメータ化された２次誤差関数の総和又は部分和を、パラメータについて最小化し、最小化するパラメータを画像間の動きとして出力する最小化処理を有することを特徴とする画像間対応検出方法である。
【００６１】
第８の発明は、二つの画像の対応を一方の画面上の位置集合を他方の画像上の直線へ写像する関数として表現し、この関数を特定する写像パラメータを求めることにより画像間の動きを得る装置であって、（8a）画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める誤差演算手段と、（8b）前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める誤差関数演算手段と、（8c）前記２次誤差関数の総和又は部分和を、写像される直線と２次誤差関数の値を決める偏位との関係から関数を特定するパラメータで再定義する誤差パラメータ化手段と、（8d）前記再パラメータ化された２次誤差関数の総和又は部分和を、パラメータについて最小化し、最小化するパラメータを画像間の動きとして出力する最小化手段を有することを特徴とする画像間対応検出装置である。
【００６２】
【発明の実施の形態】
第１の発明の画像間対応検出方法では、
１.誤差演算処理が、画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める。
【００６３】
２.この結果を受けて、誤差関数演算処理が前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める。
各部分領域について得られた２次の誤差関数を用いて、２次誤差関数の総和又は部分和を写像パラメータで再表現する。
【００６４】
３.非線形反復最小化処理は、この再表現された２次誤差関数の総和又は部分和を写像パラメータについて最小化する。この最小化は、以下の偏微分演算処理と２階偏微分行列変更処理とパラメータ変更処理から構成される。
【００６５】
3-1.偏微分演算処理は、写像パラメータで再表現された２次誤差関数の総和又は部分和の1階偏微分ベクトルと２階偏微分行列を求める。
【００６６】
3-2.２階偏微分行列変更処理は上記処理で得られた２階偏微分行列を各反復における最小化が所定の期待値を下回る程度に応じて２階偏微分行列の対角成分を増加させる。
【００６７】
3-3.パラメータ変更処理は変更された２階偏微分行列の逆行列を１階偏微分ベクトルに乗してパラメータの増減値を得る。
【００６８】
そして、偏微分演算処理、２階偏微分行列変更処理、パラメータ変更処理を反復して得られたパラメータ増減値を逐次加えてパラメータを変更し最小化を行う。
【００６９】
結果として、二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータが求められる。
【００７０】
第２の発明の画像間対応検出装置では、
１.誤差演算手段が、画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める。
【００７１】
２.この結果を受けて、誤差関数演算手段が前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める。
各部分領域について得られた２次の誤差関数を用いて、２次誤差関数の総和又は部分和を写像パラメータで再表現する。
【００７２】
３.非線形反復最小化手段は、この再表現された２次誤差関数の総和又は部分和を写像パラメータについて最小化する。
【００７３】
この最小化は、以下の偏微分演算手段と２階偏微分行列変更手段とパラメータ変更手段から構成される。
【００７４】
3-1.偏微分演算手段は、写像パラメータで再表現された２次誤差関数の総和又は部分和の1階偏微分ベクトルと２階偏微分行列を求める。
【００７５】
3-2.２階偏微分行列変更手段は上記手段で得られた２階偏微分行列を各反復における最小化が所定の期待値を下回る程度に応じて２階偏微分行列の対角成分を増加させる。
【００７６】
3-3.パラメータ変更手段は変更された２階偏微分行列の逆行列を１階偏微分ベクトルに乗してパラメータの増減値を得る。
【００７７】
そして、偏微分演算手段、２階偏微分行列変更手段、パラメータ変更手段を反復して得られたパラメータ増減値を逐次加えてパラメータを変更し最小化を行う。
【００７８】
結果として、二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータが求められる。
【００７９】
第３の発明の画像間対応検出方法では、
１.誤差演算処理が、画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める。
【００８０】
２.この結果を受けて、誤差関数演算処理が前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める。
２次誤差関数の総和又は部分和を、関数を表現するパラメータで再表現する。ここでパラメータについての偏導関数が線形関数となる線形最小化可能パラメータとそうはならない非線形最小化パラメータに分けることができる。
【００８１】
３.線形パラメータ演算処理は,線形最小化可能パラメータのみを線形最小化により求める。
【００８２】
４.全パラメータ演算処理は前記線形パラメータ演算処理により得られたパラメータを初期値としてパラメータ全てを非線形反復最小化により求める。
【００８３】
以上により、二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることができる。
【００８４】
第４の発明の画像間対応検出装置では、
１.誤差演算手段が、画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める。
【００８５】
２.この結果を受けて、誤差関数演算手段が前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める。
２次誤差関数の総和又は部分和は、関数を表現するパラメータで再表現する。ここでパラメータについての偏導関数が線形関数となる線形最小化可能パラメータとそうはならない非線形最小化パラメータに分けることができる。
【００８６】
３.線形パラメータ演算手段は,線形最小化可能パラメータのみを線形最小化により求める。
【００８７】
４.全パラメータ演算手段は前記線形パラメータ演算手段により得られたパラメータを初期値としてパラメータ全てを非線形反復最小化により求める。
【００８８】
以上により、二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることができる。
【００８９】
第５の発明の画像間対応検出方法では、
１.誤差演算処理が、画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める。
【００９０】
２.この結果を受けて、誤差関数演算処理が前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める。
各部分領域について得られた２次の誤差関数と所定の重み付けを用いて、２次誤差関数の重み付け総和を写像パラメータで再表現する。
【００９１】
３.反復最小化処理は２次誤差関数の重み付け総和を、写像パラメータについて反復最小化によりパラメータを求める。
【００９２】
４.上記の反復最小化の過程で、重み付け再設定処理は前記２次誤差関数の値に逆比例した値を２次誤差関数の重み付けとして設定する。
【００９３】
以上により、二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることができる。
【００９４】
第６の発明の画像間対応検出装置では、
１.誤差演算手段が、画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める。
【００９５】
２.この結果を受けて、誤差関数演算手段が前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める。
各部分領域について得られた２次の誤差関数と所定の重み付けを用いて、２次誤差関数の重み付け総和を写像パラメータで再表現する。
【００９６】
３.反復最小化手段は２次誤差関数の重み付け総和を、写像パラメータについて反復最小化によりパラメータを求める。
【００９７】
４.上記の反復最小化の過程で、重み付け再設定手段は前記２次誤差関数の値に逆比例した値を２次誤差関数の重み付けとして設定する。
【００９８】
以上により、二つの画像の対応を一方の画面上の位置集合を他方の画像上の位置集合へ写像する関数として表現し、この関数を特定する写像パラメータを求めることができる。
【００９９】
第７の発明の画像間対応検出方法では、
１.誤差演算処理が、画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める。
【０１００】
２.この結果を受けて、誤差関数演算処理が前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める。
【０１０１】
３.誤差パラメータ化処理は２次誤差関数の総和又は部分和を、写像される直線と２次誤差関数の値を決める偏位との関係から関数を特定するパラメータで再定義する。
【０１０２】
４.最小化処理は再パラメータ化された２次誤差関数の総和又は部分和を、パラメータについて最小化し、最小化するパラメータを画像間の動きとして出力する。
【０１０３】
以上により、二つの画像の対応を一方の画面上の位置集合を他方の画像上の直線へ写像する関数として表現し、この関数を特定する写像パラメータを求めることができる。
【０１０４】
第８の発明の画像間対応検出装置では、
１.誤差演算手段が、画像を分割して得られる複数の部分領域について、異なる２つの画像の部分領域の対応を誤差として演算し、最小誤差となる前記部分領域間の偏位とその近傍の誤差値を求める。
【０１０５】
２.この結果を受けて、誤差関数演算手段が前記最小誤差となる偏位とその近傍の誤差値から偏位を変数とする２次の誤差関数を各部分領域について求める。
【０１０６】
３.誤差パラメータ化手段は、２次誤差関数の総和又は部分和を、写像される直線と２次誤差関数の値を決める偏位との関係から関数を特定するパラメータで再定義する。
【０１０７】
４.最小化手段は再パラメータ化された２次誤差関数の総和又は部分和を、パラメータについて最小化し、最小化するパラメータを画像間の動きとして出力する。
【０１０８】
以上により、二つの画像の対応を一方の画面上の位置集合を他方の画像上の直線へ写像する関数として表現し、この関数を特定する写像パラメータを求めることができる。
【０１０９】
【実施例】
以下、本発明の実施例を図面を用いて説明する。なお、本実施例の入力は標本化された（輝度が数値化された）画素から構成される２つの画像である。実施例での説明では、２つの画像うち一方を基準画像、他方を参照画像と呼び、基準画像中の(x,y)の位置から写像される参照画像中の座標を(x',y')とする。また理解を容易にするために、一般性を欠くことなく画像の大きさは縦２４０画素、横３５２画素の画像であるとする。
【０１１０】
本発明（第１項）の画像間対応検出方法の実施例を図１、図２、図３、図４を用いて説明する。これを第１の実施例とする。図１は全処理を表す処理構成図、図２はブロックマッチングの説明図、図３はブロックマッチングの誤差絶対値和と２次誤差関数の説明図、図４は図１中の非線形反復最小化処理の処理構成図である。
【０１１１】
図１において、１０１はブロックマッチングによる誤差演算処理、１０２は微分オペレータによる２次誤差関数近似処理、１０３は平面透視写像パラメータについての非線形反復最小化処理である。
【０１１２】
また、図４において、４０１は偏微分演算処理、４０２は２階偏微分行列変更処理、４０３はパラメータ変更演算処理、４０４は収束制御変数更新処理、４０５はパラメータ更新判定処理、４０６は収束判定処理である。
【０１１３】
図１の処理構成図に従って以下に本実施例を説明する。
ブロックマッチングによる誤差演算処理（１０１）：
図２に示すように、基準画像中の１６×１６画素のブロックＲについて参照画素中から輝度誤差の差分絶対値和(SADと略す）が最小となる偏位を探索する。これは式１８を最小化する(u,v)として得ることができる。
【０１１４】
【数１８】
0003870491.tif 000019
【０１１５】
式１８を最小化する偏位(l,m)と、探索の結果、副次的に得られる(l,m)近傍のSADを式１９として求める。
【０１１６】
【数１９】
0003870491.tif 000020
【０１１７】
ブロックマッチングは、基準画像の縦横１６画素毎に行なう。画像の大きさは縦２４０画素、横３５２画素の画像であるから、３３０ブロック位置について上記最小偏位と式１９の近傍SADが求まることになる。
【０１１８】
微分オペレータによる２次誤差関数近似処理（１０２）：
図３に示すように、SADは最小値となった偏位付近を底にしたお椀型の曲面を形成すると仮定する。この曲面を２次関数近似して式２０で表現する。
【０１１９】
i,jは水平i番目、垂直j番目のブロックを表しており、(lij,mij)はそのブロックにおけるSAD最小偏位である。これにより、偏位を変数としたSADの関数化が行なえる。
【０１２０】
【数２０】
0003870491.tif 000021
【０１２１】
式２０に示す各係数は次のように求める。式１８を最小化する偏位を（l,m)を中心とした(l,m)近傍のSADは式１９として既にブロックマッチングによる誤差演算処理で求まっている。これを用いて式２１〜式２５の内積演算で式２０の係数を求める。この内積演算は画像空間では上下、左右、斜めの差分演算である。
【０１２２】
【数２１】
0003870491.tif 000022
【０１２３】
【数２２】
0003870491.tif 000023
【０１２４】
【数２３】
0003870491.tif 000024
【０１２５】
【数２４】
0003870491.tif 000025
【０１２６】
【数２５】
0003870491.tif 000026
【０１２７】
式２０のオフセット値は式２６で求める。このオフセットにより、式２０は最小値に０をとる。
【０１２８】
【数２６】
0003870491.tif 000027
【０１２９】
なお、式２０が最小値をとる条件として式２７がある。
【０１３０】
【数２７】
0003870491.tif 000028
【０１３１】
本明細書で述べる全ての実施例で、式２７を満たさないブロックマッチング結果は写像パラメータ推定に用いない。本実施例でも、３３０のブロック位置について、式２７を満たさないものを除いて式２０に示す２次関数を求める。
【０１３２】
平面透視写像パラメータについての非線形反復最小化処理（１０３）：
式２０によりSADが各ブロック位置における偏位を変数とする関数として表された。式７と式２０の関係から平面透視写像のパラメータｐについて画面全体のSADの和を表現することができる。これを式２８に示す。
【０１３３】
【数２８】
0003870491.tif 000029
【０１３４】
式２８において(xij,yij)はブロックi,jの中心位置である（図２参照）。式２８を最小化するｐが求める写像パラメータである。これを実行する処理構成を図４に示し、以下に説明する。
【０１３５】
偏微分演算処理（４０１）：
式２８について、式２９、式３０に示すように１階偏微分ベクトルｇと２階偏微分行列Hを計算する。式２８が２次関数Eijの和として定義されることから式２８は２階偏微分可能である。
【０１３６】
【数２９】
0003870491.tif 000030
【０１３７】
【数３０】
0003870491.tif 000031
【０１３８】
２階偏微分行列変更処理（４０２）：
式３１に示すように、２階偏微分行列Ｈにその対角成分を絶対値化しλ倍した対角行列AbsoluteDiag(H)を加え、Hdとする。対角行列AbsoluteDiag(H)の要素dijは式３２で与えられる。式３２中hijは行列Ｈの要素である。
なお、λの初期値は１．０とする。
【０１３９】
【数３１】
0003870491.tif 000032
【０１４０】
【数３２】
0003870491.tif 000033
【０１４１】
パラメータ変更演算処理（４０３）：
式３３により写像パラメータの変分δpを計算し、次の写像パラメータ候補をｐを式３４で求める。
【０１４２】
【数３３】
0003870491.tif 000034
【０１４３】
【数３４】
0003870491.tif 000035
【０１４４】
収束制御変数更新処理（４０４）：
式３５により、写像パラメータをp'とすることにより得られる最小化分を計算する。その一方で、式３６により式２８を写像パラメータｐの２次関数とみなした場合の理想的な最小化分を計算する。式３５の値が式３６に近ければニュートン法に従った効率のよい推定が行なえる。
【０１４５】
このために、式３６に対する式３５の比が０．７を越えていれば、λを1/２倍する。逆に式３６に対する式３５の比が０．３を下回っていればλを２倍する。
【０１４６】
【数３５】
0003870491.tif 000036
【０１４７】
【数３６】
0003870491.tif 000037
【０１４８】
パラメータ更新判定処理（４０５）：
式３５が正であればp'をｐとして更新する。
【０１４９】
収束判定処理（４０６）：
式３７の条件式を満たす場合または反復回数が１００を越える場合は、ｐを結果として出力し、それ以外の場合は現在のλ、ｐを保持して偏微分演算処理から再度反復を行なう。
【０１５０】
【数３７】
0003870491.tif 000038
【０１５１】
以上のように本実施例によれば、画像を分割して得られる各ブロックについてのSADと写像パラメータが関連付けられ、SAD総和を写像パラメータについて最小化することにより画像対応が検出される。
【０１５２】
具体的には、式２８が各ブロック位置に置ける偏位の２次関数の和として定義され、各ブロック位置における偏位は写像パラメータとブロック位置から定まることを利用している。
【０１５３】
従って、各ブロック位置における偏位が写像パラメータについて１階偏微分可能である写像であれば、実施例に示した方法により、パラメータ推定が可能である。本実施例の２階偏微分行列変更処理（４０２）では、対角成分を絶対値化しλ倍した対角行列AbsoluteDiag(H)を本来の２階偏微分行列Hに加えている。
【０１５４】
これは２階偏微分行列を正定値行列として、安定してパラメータ推定を行なうためである。従来例で示したマーカート法では２階偏微分行列を１階偏微分ベクトルの積として近似して求めるために式１４に示す行列Ａは正定値行列であることが保証されている。本実施例で示した方法の行列Ｈには、その保証はないためマーカート法とは異なる手法を用いて、非線形最小化の安定化を行なっている。
【０１５５】
なお、応用によりSADだけでなく、式３８に示す２乗誤差和SSDや式３９に示す相関係数CORを用いても良い。
【０１５６】
また、平面透視写像パラメータについての非線形反復最小化処理にはパラメータｐの初期値が必要であるが、本実施例ではｐ＝(1,0,0,0,1,0,0,0）とした。
【０１５７】
一般的に、非線形最小化の収束結果は初期値に依存すると言われている。本実施例も初期値により得られる結果が異なる場合がある。このために初期値を安定に得ることが課題となる。この課題への対応は、第３の実施例で示す。
【０１５８】
【数３８】
0003870491.tif 000039
【０１５９】
【数３９】
0003870491.tif 000040
【０１６０】
次に、第１の実施例に示した画像間対応検出方法を実装した本発明（請求項２）の画像対応検出装置の実施例を図５を用いて説明する。これを第２の実施例とする。図５において、５０１は画像を１フレーム遅延させるフレームメモリ、５０２はブロックマッチング部、５０３は２次誤差関数近似部、５０４はメモリ、５０５は演算処理装置である。
【０１６１】
フレームメモリ（５０１）で１フレーム遅延させることにより、本実施例に示す画像対応検出装置は動画像の時間的に前後するフレーム間の対応を検出する。
【０１６２】
ブロックマッチング部（５０２）の動作は第１の実施例におけるブロックマッチングによる誤差演算処理（１０１）と同じである。２次誤差関数近似部（５０３）の動作は、第１の実施例における微分オペレータによる２次誤差関数近似処理（１０２）と同じである。結果はメモリ（５０４）に書き込まれる。
【０１６３】
本実施例では以後の第１の実施例で示した平面透視写像パラメータについての非線形反復最小化処理（１０３）が、プログラムにより演算処理装置（５０５）で実行される。以上、第２の実施例では第１の実施例で示した画像対応検出方法を装置として示した。
【０１６４】
次に本発明（請求項２）に該当する画像対応検出方法の実施例を図６を用いて説明する。図６は画像対応検出方法の処理構成図である。以後これを第３の実施例と呼ぶ。第３の実施例は、第１の実施例と同様、平面透視写像のパラメータを画像対応として検出する。
【０１６５】
図６において、６０１はブロックマッチングによる誤差演算処理、６０２は微分オペレータによる２次誤差関数近似処理、６０３は平面透視写像パラメータの線形化可能部分に対する最小化処理、６０４は平面透視写像パラメータについての非線形反復最小化処理である。
【０１６６】
図６中、ブロックマッチングによる誤差演算処理（６０１）、微分オペレータによる２次誤差関数近似処理（６０２）、平面透視写像パラメータについての非線形反復最小化処理（６０４）の内容、入出力は全く第１の実施例と同じであるので説明は省略する。
【０１６７】
第１の実施例で問題となった平面透視写像のパラメータの推定には初期値が必要であるが、本実施例は平面透視写像パラメータの線形化可能部分に対する最小化処理が新たに追加されている。
【０１６８】
式７に示される平面透視写像のうち、ｐ６，ｐ７を零で固定すると、式１〜式３に示される２次元アフィン写像と同一であることが分かる。すなわち２次元アフィン写像は平面透視写像の制限された一写像である。そこで、まず、式１〜式３に示される２次元アフィン写像のパラメータを求め、得られたパラメータａ＝（a0,a1,a2,a3,a4,a5）から初期値をｐ＝（a0,a1,a2,a3,a4,a5,0,0）として平面透視写像パラメータについての非線形反復最小化処理を行なえば、より正確なパラメータ推定が期待できる。
【０１６９】
なぜならば、異なる投影像間の写像は通常、並行移動、回転、拡大が支配的で
p2,p5≫p0-1.0,p1,p3,p4-1.0,≫p6,p7≒0.0
であることが多いからである。
【０１７０】
以下に２次元アフィン写像のパラメータａ＝（a0,a1,a2,a3,a4,a5）を求める手順を説明する。
【０１７１】
平面透視写像パラメータの線形化可能部分に対する最小化処理（６０３）：
最小化対象は式４０である。
【０１７２】
【数４０】
0003870491.tif 000041
【０１７３】
式４０が２次元アフィン写像のパラメータａについて最小値をもつ条件として１階偏微分が零ベクトルとなるオイラー条件を利用する。これを式４１に示す。
【０１７４】
【数４１】
0003870491.tif 000042
【０１７５】
式４０はパラメータａについて２次式であることから、式４１は式４２で表される線形連立方程式となる。ここで、行列Aaと行ベクトルbaは式４３〜式４５で表される。
【０１７６】
【数４２】
0003870491.tif 000043
【０１７７】
【数４３】
0003870491.tif 000044
【０１７８】
【数４４】
0003870491.tif 000045
【０１７９】
【数４５】
0003870491.tif 000046
【０１８０】
本発明（請求項３）において「パラメータについての偏導関数が線形関数となる線形最小化可能パラメータ」とはこのように、オイラー条件により線形連立方程式が得られるパラメータのことである。式４２の線形連立方程式より２次元アフィン写像のパラメータａは式４６により、反復なく得ることができる。
【０１８１】
【数４６】
0003870491.tif 000047
【０１８２】
本実施例では、この得られた２次元アフィン写像のパラメータａを平面透視写像パラメータpに代入して初期値とし、第１の実施例と同じ内容で平面透視写像パラメータについての非線形反復最小化処理（６０４）が行なわれる。
【０１８３】
次に第３の実施例に示した画像間対応検出方法は、第１の実施例と同様に、画像対応検出装置として実装できる。これは第２の実施例のなかで、演算処理装置５０４で実行されるプログラムを図６中の平面透視写像パラメータの線形化可能部分に対する最小化処理（６０３）と平面透視写像パラメータについての非線形反復最小化処理（６０４）に交換すれば良い。これを第４の実施例とする。
【０１８４】
次に、本発明（請求項５）の画像対応検出方法の実施例を図７を用いて説明する。図７は画像対応検出方法の処理構成図である。
【０１８５】
図７中、７０１はブロックマッチングによる誤差演算処理、７０２は微分オペレータによる２次誤差関数近似処理、７０３は２次誤差関数に対する重み付け初期化処理、７０４は平面透視写像パラメータの線形化可能部分に対する重み付け最小化処理、７０５は２次誤差関数にたいする再重み付け処理、７０６は重み付け収束判定処理、７０７は平面透視写像パラメータについての非線形反復最小化処理である。
【０１８６】
以後これを第５の実施例とする。第５の実施例は第３の実施例中の平面透視写像パラメータの線形化可能部分に対する最小化処理（６０３）が、２次誤差関数に対する重み付け初期化処理（７０３）、平面透視写像パラメータの線形化可能部分に対する重み付け最小化処理（７０４）、２次誤差関数にたいする再重み付け処理（７０５）、重み付け収束判定処理（７０６）からなる処理の反復に置き換わっている。他の処理は第３の実施例と全く同じであるので、置換された処理のみ説明する。
【０１８７】
第３の実施例では、式４０を最小化することにより、まず２次元アフィン写像パラメータを求めた。３３０個のＥijの和が最小化の対象である（但し、式２７を満たさないものは除く）が、この中にはブロックマッチングにより誤った対応位置から得られたもの、異なる写像パラメータに属するものが含まれている可能性がある。そこで、式４７に示すEijに重み付けをした和を最小化する。式４７中、wijが重みであり、[0,1]の値をとる。
【０１８８】
【数４７】
0003870491.tif 000048
【０１８９】
２次誤差関数に対する重み付け初期化処理（７０３）：
全てのwijについて値を1.0とする。
【０１９０】
平面透視写像パラメータの線形化可能部分に対する重み付け最小化処理（７０４）：
ｗijを定数と見れば、第３の実施例と同様に式４８に示すオイラー条件を解くことにより、重み付け最小化処理が２次元アフィン写像パラメータについて行なうことができる。
【０１９１】
【数４８】
0003870491.tif 000049
【０１９２】
式４９〜式５２の処理を行なって２次元アフィン写像パラメータを求める。
【０１９３】
【数４９】
0003870491.tif 000050
【０１９４】
【数５０】
0003870491.tif 000051
【０１９５】
【数５１】
0003870491.tif 000052
【０１９６】
【数５２】
0003870491.tif 000053
【０１９７】
２次誤差関数に対する再重み付け処理（７０５）：
得られた２次元アフィン写像パラメータを元に、式５３に示すσを計算する。そして式５４により、重みを再計算する。式５４中、CRはσに対する乗数で、本実施例では3.0である。
【０１９８】
【数５３】
0003870491.tif 000054
【０１９９】
【数５４】
0003870491.tif 000055
【０２００】
重み付け収束判定処理（７０６）：
反復回数が５回を越えなければ、再度、平面透視写像パラメータの線形化可能部分に対する重み付け最小化処理から処理を行なう。
【０２０１】
５回を越えれば、次の平面透視写像パラメータについての非線形反復最小化処理（７０７）に移る。
【０２０２】
Ｅijが式２０の定義により最小値０を持つことが保証されていることが重み付け最小化に大きな意味をもつ。式５４から明らかにwijは[0,1]の値をとる。
【０２０３】
本実施例によれば、値の大きなＥijの重みを小さくすることにより画像内に複数の異なる２次元アフィン写像が存在した場合やブロックマッチングに誤りがある場合に対応することができる。画像内に異なる２次元アフィン写像が存在した場合は、画面全体の動きに関して支配的な写像パラメータ、すなわち属するＥijの数の多い写像のパラメータが得られる。
【０２０４】
本実施例では、２次誤差関数に対する再重み付け処理を式５４としたが、他の重み付け、例えば式５５や、より簡単には式５６でも上記の効果が期待できる。
また、σの推定は単純な重み付け加算平均としたが、中央値から推定するなどロバスト統計手法も適用可能である。
【０２０５】
【数５５】
0003870491.tif 000056
【０２０６】
【数５６】
0003870491.tif 000057
【０２０７】
次に第５の実施例に示した画像間対応検出方法は、第１の実施例と同様に画像対応検出装置として実装できる。これは第２の実施例のなかで、演算処理装置５０４で実行されるプログラムを図７中の２次誤差関数に対する重み付け初期化処理（７０３）、平面透視写像パラメータの線形化可能部分に対する重み付け最小化処理（７０４）、２次誤差関数に対する再重み付け処理（７０５）、重み付け収束判定処理（７０６）、平面透視写像パラメータについての非線形反復最小化処理を行なう処理（７０７）に交換すれば良い。これを第６の実施例とする。
【０２０８】
次に本発明（請求項７）の画像対応検出方法の第７の実施例を説明する。本実施例では、エピポーラ写像パラメータを求める画像対応検出方法を示す。
【０２０９】
はじめにエピポーラ写像を図９、図１０を用いて説明する。図９では理想的なピンホールカメラの仮定下でエピポーラ幾何を説明する図である。図９においてC１、C２は異なる位置におけるカメラの光学中心、Ｍは撮影される物体表面の特徴点、m1とm2はその物体位置の画像上への投影位置であり、e1とe2は光学中心が互いの画像に投影される位置でありエピ極と言われる。
【０２１０】
図９から分かるように、撮影される物体表面の特徴点Ｍと二つのカメラの光学中心Ｃ１，Ｃ２は平面を形成する。この平面が投影画像面を切断する線はエピ極線と呼ばれる。
【０２１１】
さて、ここで特徴点Mの投影点m1に対応する投影点m2は直線e2-m2、すなわち投影画像面のエピ極線上に必ず存在する。これを表現したのが従来の技術で述べた一般化エピポーラ写像（式９と式１０）である。
【０２１２】
式９は点が直線に写像されることを述べているが、これは図９に示すエピポーラ幾何の厳密な表現ではない。
【０２１３】
平面Ｍ-C1-C2上の全ての点はエピ極線e1-m1とe2-m2に投影されることから、より厳密には直線e1-m1が直線e2-m2に写像されることになる。
【０２１４】
これを図１０に示す。この関係を式５７〜式６０で表現する。
【０２１５】
【数５７】
0003870491.tif 000058
【０２１６】
【数５８】
0003870491.tif 000059
【０２１７】
【数５９】
0003870491.tif 000060
【０２１８】
【数６０】
0003870491.tif 000061
【０２１９】
式５７においてsは直線を表すための任意実数でる。式５７はe1-m1の直線をＫで変換しe2移動させるエピポーラ写像を表している。
【０２２０】
式５８〜式６０から分かるように、このエピポーラ写像はエピ極に関して４パラメータ、行列Kに関して３パラメータの計７つのパラメータで記述される。
この関係を用いて式９の基本行列Fを表現すると、式６１となる。
【０２２１】
【数６１】
0003870491.tif 000062
【０２２２】
この基本行列を用いて式９の写像を行なうと、点から直線への写像であるだけでなく、図１０に示すエピ極線からエピ極線への写像も保証される。
【０２２３】
言い替えると、写像パラメータ数を９とする任意の正則行列を式７に用いると点から直線への写像が表現されるが、直線から直線への写像は保証されない。
【０２２４】
この意味で一般化エピポーラ写像（式９と式１０）は厳密なエピポーラ幾何の拘束を利用していないことになる。
【０２２５】
次に図８と図１２を用いて本実施例の処理手順を説明する。図８は画像対応検出方法の処理構成図である。
【０２２６】
図８中、８０１はブロックマッチングによる誤差演算処理、８０２は微分オペレータによる２次誤差関数近似処理、８０３は２次誤差関数和のエピポーラ写像パラメータ表現処理、８０４はエピポーラ写像パラメータについての非線形反復最小化処理である。
【０２２７】
図８中でブロックマッチングによる誤差演算処理（８０１）と微分オペレータによる２次誤差関数近似処理（８０２）は第１の実施例と全く同じ処理であるので説明を省略し、以下に２次誤差関数和のエピポーラ写像パラメータ表現処理（８０３）とエピポーラ写像パラメータについての非線形反復最小化処理（８０４）の二つを説明する。
【０２２８】
２次誤差関数和のエピポーラ写像パラメータ表現処理（８０３）：
第１から第６の実施例までは、点から点への写像であったため、得られた２次誤差関数の入力に写像パラメータから得られる偏位を代入することで容易に２次誤差関数和を写像パラメータで表現することができた。
【０２２９】
本実施例では点から直線への写像を扱うために、基準画像のブロック位置から写像される直線上の任意点で最小値をとる２次誤差関数値を表現する関数和として表現する。この直観的理解のために図１１を用いて説明する。
【０２３０】
微分オペレータによる２次誤差関数近似処理（８０２）により、図３に示すようなSAD２次曲面が各ブロック位置について表現されている。
【０２３１】
ここでエピポーラ写像により偏位はエピ極線Ｉ上に拘束されるから、２次誤差関数値はSAD２次曲面をエピ極線lを垂直に通る平面で切断することにより得られる２次曲線上に拘束される。２次誤差関数値を一意に定めるために、この２次曲線上の最小値を誤差値として定める。
【０２３２】
表記を簡単にするために式２０の２次誤差関数を式６２で再表現する。
式６２の各係数は式６３〜式６８で与えられる。
【０２３３】
【数６２】
0003870491.tif 000063
【０２３４】
【数６３】
0003870491.tif 000064
【０２３５】
【数６４】
0003870491.tif 000065
【０２３６】
【数６５】
0003870491.tif 000066
【０２３７】
【数６６】
0003870491.tif 000067
【０２３８】
【数６７】
0003870491.tif 000068
【０２３９】
【数６８】
0003870491.tif 000069
【０２４０】
ここで、各２次誤差関数における偏位（u,v)が直線に拘束されることを式６９で表す。式６９は、水平垂直に(i,j）番目のブロックに対応する偏位の拘束式であり、これは、エピポーラ写像により、式７０により求めることができる（式９参照）。
【０２４１】
【数６９】
0003870491.tif 000070
【０２４２】
【数７０】
0003870491.tif 000071
【０２４３】
式６９が与えられて式６２が最小値を持つ偏位uは式７１として計算できる。
【０２４４】
【数７１】
0003870491.tif 000072
【０２４５】
式７１と式６９を式６２に代入すると、各ブロックに対する誤差関数は式７２で与えることができる。式７２中の係数は式７３〜式８１で与えられる。
【０２４６】
【数７２】
0003870491.tif 000073
【０２４７】
【数７３】
0003870491.tif 000074
【０２４８】
【数７４】
0003870491.tif 000075
【０２４９】
【数７５】
0003870491.tif 000076
【０２５０】
【数７６】
0003870491.tif 000077
【０２５１】
【数７７】
0003870491.tif 000078
【０２５２】
【数７８】
0003870491.tif 000079
【０２５３】
【数７９】
0003870491.tif 000080
【０２５４】
【数８０】
0003870491.tif 000081
【０２５５】
【数８１】
0003870491.tif 000082
【０２５６】
エピポーラ写像パラメータとブロック位置(xij,yij)より(aij,bij,cij)が定まり式７２が得られる。
【０２５７】
エピポーラ写像パラメータについての非線形反復最小化処理（８０４）：
最小化対象は式８２である。式８３に示すエピポーラ写像パラメータについての１階偏微分関数が線形関数ではないので、実施例１と同様、非線形反復最小化により、パラメータ推定を行なう。
【０２５８】
【数８２】
0003870491.tif 000083
【０２５９】
【数８３】
0003870491.tif 000084
【０２６０】
以上を実行する処理の流れを図１２に示し以下に説明する。
図１２はエピポーラ写像パラメータについての非線形反復最小化処理（８０４）の処理構成図である。
【０２６１】
図１２中、１２０１は偏微分演算処理、１２０２は２階偏微分行列変更処理、１２０３はパラメータ変更演算処理、１２０４は収束制御変数更新処理、１２０５はパラメータ更新判定処理、１２０６は収束判定処理である。
【０２６２】
第１の実施例と偏微分演算処理（１２０１）以降は推定するパラメータ数が８から７となった点のみが異なり、本質的に処理に大きな違いがない。このため使用する変数名（１階偏微分ベクトルgや２階偏微分行列Hなど）を重複して説明する。
【０２６３】
偏微分演算処理（１２０１）：
式８２について式８４、式８５に示すように１階偏微分ベクトルｇと２階偏微分行列Hを計算する。
【０２６４】
【数８４】
0003870491.tif 000085
【０２６５】
【数８５】
0003870491.tif 000086
【０２６６】
２階偏微分行列変更処理（１２０２）：
式８６に示すように２階偏微分行列Ｈにその対角成分を絶対値化しλ倍した対角行列AbsoluteDiag(H)を加え、Hdとする。対角行列AbsoluteDiag(H)の要素ｄijは式８７で与えられる。λの初期値は１．０とする。
【０２６７】
【数８６】
0003870491.tif 000087
【０２６８】
【数８７】
0003870491.tif 000088
【０２６９】
パラメータ変更演算処理（１２０３）：
式８７により写像パラメータの変分δqと新たな候補q'を計算する。
【０２７０】
【数８８】
0003870491.tif 000089
【０２７１】
【数８９】
0003870491.tif 000090
【０２７２】
収束制御変数更新処理（１２０４）：
式９０により、写像パラメータをq'とすることにより得られる最小化分を計算する。その一方で、式９１により式８２を写像パラメータｑの２次関数とみなした場合の理想的な最小化分を計算する。
【０２７３】
式９１に対する式９０の比が０．７を越えていればλを1/２倍する。
逆に式９１に対する式８９の比が０．３を下回っていればλを２倍する。
【０２７４】
【数９０】
0003870491.tif 000091
【０２７５】
【数９１】
0003870491.tif 000092
【０２７６】
パラメータ更新判定処理：
式９０が正であればq'をqとして更新する。
【０２７７】
収束判定：
式９２の条件式を満たす場合または反復回数が１００を越える場合は、ｑを結果として出力し、それ以外の場合は現在のλ、ｑを保持して偏微分演算処理（１２０１）から再度反復を行なう。
【０２７８】
【数９２】
0003870491.tif 000093
【０２７９】
最後に第７の実施例に示した画像間対応検出方法は、第１の実施例と同様に画像対応検出装置として実装できる。これは第２の実施例のなかで、演算処理装置５０４で実行されるプログラムを図８中の２次誤差関数和のエピポーラ写像パラメータ表現処理（８０３）とエピポーラ写像パラメータについての非線形反復最小化処理（８０４）に交換すれば良い。これを第８の実施例とする。
【０２８０】
以上に示した８実施例から、本発明の特長を以下にまとめることができる。
１.従来例に示した輝度誤差最小化の手法では異なる投影像間の移動が大きな場合安定してパラメータ推定が行なえなかった。特徴点対応による方法はこの点に関し頑健である。
【０２８１】
一方、画像を少ない符号化量で伝送蓄積する画像符号化・復号化装置等の応用では異なる画像から輝度誤差を最小とする写像パラメータ推定により予測符号化を行なうことが重要であり、この点において、輝度誤差最小化の手法は、より合目的である。
【０２８２】
本発明は、従来の２手法の長所を統合するもので、ブロックマッチングの結果を輝度誤差関数として表現することにより、輝度誤差最小化を目的として頑健なパラメータ推定を行なうことを可能にしている。
【０２８３】
２.現在の予測符号化に基づく動画像符号化装置は、１６×１６画素のブロックマッチングを用いており、ハードウェア化が容易であることが既に実証されている。一方、ブロックマッチング後のパラメータ推定処理は３３０のブロック位置についての演算で済み演算処理装置とソフトウェアで実現可能である。
【０２８４】
３.ブロックマッチングは一度行なうだけであり、パラメータ推定に関して再度ブロックマッチングを行なう必要がない。画像符号化・復号化装置の出力結果を用いてパラメータ推定を独立に行なうことがでる。
【０２８５】
【発明の効果】
以上のように本発明は、異なる投影像の対応位置間に大きな移動量がある場合でも輝度誤差最小化を目的として写像パラメータ推定が行なえる、すなわち従来の輝度誤差最小化と特徴点対応による推定方法の両長所を併せている。また個々の発明の効果には以下がある。
【０２８６】
第１の発明では、部分領域間対応（ブロックマッチング）の結果用いて、輝度誤差を写像パラメータで表現し、２階偏微分行列を用いた非線形反復最小化でパラメータ推定を行なっている。これにより、偏微分に関して連続関数であれば、任意の写像パラメータを推定することが可能になっている。
【０２８７】
第２の発明では、部分領域間対応の結果を処理する過程で、初期値を必要としない、すなわち反復演算を必要としない写像パラメータを求め、これを非線形反復最小化のパラメータ初期値としている。これにより安定した非線形写像のパラメータ推定が可能となっている。
【０２８８】
第３の発明では、２次誤差関数が最小値を零とするよう設計されていることを利用して、[0,1]の重み付け最小化を実現している。
【０２８９】
これにより、誤差の大きな部分領域間対応の重みを連続的に小さくすることができ、誤った部分領域間対応や、異なる写像パラメータに属する部分領域間対応の影響を排除することが可能となっている。
【０２９０】
第４の発明によれば、最小化対象の２次誤差関数の総和又は部分和を、写像される直線と２次誤差関数の値を決める偏位との関係から関数を特定するパラメータで再定義することにより、点と点の写像だけでなく点と直線、直線と直線など画素の部分集合間の写像パラメータが推定可能である。
【０２９１】
以上の効果により、予測符号化による画像符号化・復号化装置、ステレオ画像計測装置、広視野画像生成装置に利用することができ産業上の利用価値は高い。
【図面の簡単な説明】
【図１】本発明の第１の実施例における画像間対応検出方法の処理構成図
【図２】ブロックマッチングを示す図
【図３】ブロックマッチングの誤差絶対値和と２次誤差関数を示す図
【図４】第１の実施例における平面透視写像パラメータについての非線形反復最小化処理の処理構成図
【図５】第２、第４、第６、第８の実施例に共通する画像間対応検出装置の構成図
【図６】本発明の第３の実施例における画像間対応検出方法の処理構成図
【図７】本発明の第５の実施例における画像間対応検出方法の処理構成図
【図８】本発明の第７の実施例における画像間対応検出方法の処理構成図
【図９】エピポーラ幾何を示す図
【図１０】エピポーラ写像を示す図
【図１１】エピ極線と２次誤差関数を示す図
【図１２】第７の実施例におけるエピポーラ写像パラメータについての非線形反復最小化処理の処理構成図
【符号の説明】
１０１  ブロックマッチングによる誤差演算処理
１０２  微分オペレータによる２次誤差関数近似処理
１０３  平面透視写像パラメータについての非線形反復最小化処理
４０１  偏微分演算処理
４０２  ２階偏微分行列変更処理
４０３  パラメータ変更演算処理
４０４  収束制御変数更新処理
４０５  パラメータ更新判定処理
４０６  収束判定処理
５０１  フレームメモリ
５０２  ブロックマッチング部
５０３  ２次誤差関数近似部
５０４  メモリ
５０５  演算処理装置
６０１  ブロックマッチングによる誤差演算処理
６０２  微分オペレータによる２次誤差関数近似処理
６０３  平面透視写像パラメータの線形化可能部分に対する最小化処理
６０４  平面透視写像パラメータについての非線形反復最小化処理
７０１  ブロックマッチングによる誤差演算処理
７０２  微分オペレータによる２次誤差関数近似処理
７０３  ２次誤差関数に対する重み付け初期化処理
７０４  平面透視写像パラメータの線形化可能部分に対する重み付け最小化処理
７０５  ２次誤差関数に対する再重み付け処理
７０６  重み付け収束判定処理
７０７  平面透視写像パラメータについての非線形反復最小化処理
８０１  ブロックマッチングによる誤差演算処理
８０２  微分オペレータによる２次誤差関数近似処理
８０３  ２次誤差関数和のエピポーラ写像パラメータ表現処理
８０４  エピポーラ写像パラメータについての非線形反復最小化処理
１２０１  偏微分演算処理
１２０２  ２階偏微分行列変更処理
１２０３  パラメータ変更演算処理
１２０４  収束制御変数更新処理
１２０５  パラメータ更新判定処理
１２０６  収束判定処理
【図１】
0003870491.tif 000094
【図２】
0003870491.tif 000095
【図３】
0003870491.tif 000096
【図４】
0003870491.tif 000097
【図５】
0003870491.tif 000098
【図６】
0003870491.tif 000099
【図７】
0003870491.tif 000100
【図８】
0003870491.tif 000101
【図９】
0003870491.tif 000102
【図１０】
0003870491.tif 000103
【図１１】
0003870491.tif 000104
【図１２】
0003870491.tif 000105