JP5712925B2 - 画像変換パラメータ算出装置、画像変換パラメータ算出方法およびプログラム - Google Patents

画像変換パラメータ算出装置、画像変換パラメータ算出方法およびプログラム Download PDF

Info

Publication number
JP5712925B2
JP5712925B2 JP2011532899A JP2011532899A JP5712925B2 JP 5712925 B2 JP5712925 B2 JP 5712925B2 JP 2011532899 A JP2011532899 A JP 2011532899A JP 2011532899 A JP2011532899 A JP 2011532899A JP 5712925 B2 JP5712925 B2 JP 5712925B2
Authority
JP
Japan
Prior art keywords
pixel
image
parameter
conversion
conversion parameter
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.)
Active
Application number
JP2011532899A
Other languages
English (en)
Other versions
JPWO2011036851A1 (ja
Inventor
仙田 修司
修司 仙田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2011532899A priority Critical patent/JP5712925B2/ja
Publication of JPWO2011036851A1 publication Critical patent/JPWO2011036851A1/ja
Application granted granted Critical
Publication of JP5712925B2 publication Critical patent/JP5712925B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform

Landscapes

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

Description

本発明は、画像変換パラメータ算出装置、画像変換パラメータ算出方法および画像変換パラメータ算出プログラムに関する。
同一対象物を撮影した場合であっても、カメラ位置のずれ等の原因により、画像内における物体の位置がずれることがある。このような場合に、一つの画像を変換して、その画像に含まれる物体の位置が他の画像におけるその物体の位置と同じになるように、画像の位置合わせを行う。このような画像の位置合わせを行う変換の変換パラメータを求める手法は、特徴点ベースの手法と領域ベースの手法に分類できる。
特徴点ベースの手法は、位置合わせの対象とする2つの画像からそれぞれ特徴点を抽出し、画像間で特徴点を対応付けて、変換パラメータを求める手法である。
領域ベースの手法は、画像同士の輝度(画素値)の差が最小になるような変換を特定する方法である。この方法として勾配法が知られている。また、領域ベースの手法は、ルーカス・カナデ法(Lucas Kanade法)とも呼ばれている。
領域ベースの手法が、非特許文献1に記載されている。非特許文献1に記載された方法では、変換パラメータの更新量を求め、変換パラメータを更新することを繰り返しながら、変換パラメータを収束させる。非特許文献1では、変換パラメータの更新の態様を、加法的アルゴリズム(Additive Algorithm)と、合成的アルゴリズム(Compositional Algorithm )とに分類している。加法的アルゴリズムは、変換パラメータに、変換パラメータの更新量を加算することによって、変換パラメータを更新するアルゴリズムである。合成的アルゴリズムは、変換パラメータに対して、変換パラメータの更新量を合成することによって、変換パラメータを更新するアルゴリズムである。
また、非特許文献1では、一方の画像を変換してもう一方の画像(基準画像)に合わせる場合に、変換される側の画像と基準画像のどちらに基づいて、変換パラメータの更新量を導出するかという観点から、フォワードアルゴリズムと、インバースアルゴリズムに分類している。フォワードアルゴリズムは、変換される側の画像に基づいて変換パラメータの更新量を求めるアルゴリズムである。インバースアルゴリズムは、基準画像に基づいて変換パラメータの更新量を求めるアルゴリズムである。
加法的アルゴリズムおよび合成的アルゴリズムが、それぞれフォワードアルゴリズムとインバースアルゴリズムに分類できるので、4種類のアルゴリズムが得られる。
また、非特許文献1に記載された方法を発展させた画像位置合わせ方法が特許文献1に記載されている。特許文献1に記載された方法では、入力画像と基準画像との位置合わせを行う際に、基準画像に注目領域を設定し、注目領域の全画素から、その注目領域の全画素より少ない画素を選択し、選択した画素のみを利用して、変換パラメータを推定する方法が記載されている。注目領域の全画素から、その全画素より少ない画素を選択する方法として、注目領域内の画素を空間的に間引く方法が示されている。より具体的には、注目領域内の画素から、空間的にとびとびの画素を選択することが示されている。例えば、注目領域内の画素に対して10画素おきのとびとびの画素を選択することが示されている。
また、特許文献1には、基準画像の全ての画素の変形パラメータに対する偏微分に基づき、画素を選択することも記載されている。より具体的には、画素毎に、偏微分を判断し、その偏微分が閾値より大きい画素を選択することが示されている。また、画素毎に、偏微分から計算される重要度を判断し、その重要度が閾値より大きい画素を選択することも示されている。
また、特許文献2には、階層型ルーカス・カナデ法(Pyramidal Lucas Kanade法)が記載されている。階層型ルーカス・カナデ法では、位置合わせの対象とする画像間の変形の度合いが大きい場合でも、位置合わせができる。
特開2009−104228号公報 特開2009−116730号公報
エス. ベイカー(S. Baker),アイ. マシューズ(I. Matthews)、「ルーカス・カナデ 20 イヤーズ オン: ア ユニファイング フレームワーク(Lucas-Kanade 20 Years On: A Unifying Framework)」,インターナショナル ジャーナル オブ コンピュータ ビジョン(International Journal of Computer Vision),第56巻,第3号,pp.221-255,2004年
特徴点ベースの手法には、適切な特徴点を抽出できない場合や、特徴点同士の対応付けが正確に行えない場合に、変換パラメータの精度が低下するという問題があった。
また、一般に、領域ベースの手法では、計算量が多いため高速に処理を実行することが困難であった。特許文献1に記載の方法では、選択した画素のみを利用して、変換パラメータを推定することによって、計算量を減少することができる。しかし、画像の大きさ(すなわち、画像内の画素数)に処理量が依存し、画像の大きさが巨大になれば、処理量は増加してしまう。例えば、特許文献1には、10画素おきのとびとびの画素を選択する場合が示されているが、画像が大きくなるほど、選択する画素数も増加し、その結果、処理量が増加してしまう。特許文献2に記載された階層型ルーカス・カナデ法でも、処理対象画像が大きくなれば処理量が増加する。
また、特許文献1に記載された方法では、画素を空間的に間引く。この方法では、画像の画素値に周期性があると、選択した画素の画素値に偏りが生じてしまうという問題も生じる。例えば、画素を空間的に間引いて画素を選択するときの選択画素同士の間隔と、画素値の変化の周期が一致すると、選択した画素の画素値がいずれも同様の値になってしまい、精度よく変換パラメータを算出することができない。
そこで、本発明は、位置あわせの対象となる画像の大きさに依存しない処理量で、精度よく、画像位置あわせの変換パラメータを算出することができる画像変換パラメータ算出装置、画像変換パラメータ算出方法および画像変換パラメータ算出プログラムを提供することを目的とする。
本発明による画像変換パラメータ算出装置は、第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択する画素選択手段と、画素選択手段によって選択された画素である選択画素に関して、選択画素に対応する第2の画像の画素を変換したときの変換後の画素位置における画素値と第1の画像内の選択画素との差分を用いて変換パラメータの更新量を算出し、第2の画像の画素に対する変換の変換パラメータにその更新量を合成または加算することによって変換パラメータを更新する処理を、更新量が更新量に関する閾値よりも小さくなるまで繰り返すことによって、第1の画像とともに画像位置あわせの対象となる第2の画像を第1の画像に変換する変換パラメータを導出するパラメータ導出手段とを備え、画素選択手段が、第1の画像からランダムに画素を抽出する画素抽出手段と、画素抽出手段によって抽出された画素の偏微分が画素の偏微分に関する閾値以上であるか否かを判定し、画素の偏微分が閾値以上であることを条件に、その画素を変換パラメータの導出に用いる画素として選択する基準判定手段とを含むことを特徴とする。
また、本発明による画像変換パラメータ算出装置は、第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択する画素選択手段と、画素選択手段によって選択された画素である選択画素に関して、選択画素に対応する第2の画像の画素を変換したときの変換後の画素位置における画素値と第1の画像内の選択画素との差分を用いて変換パラメータの更新量を算出し、第2の画像の画素に対する変換の変換パラメータにその更新量を合成または加算することによって変換パラメータを更新する処理を、更新量が更新量に関する閾値よりも小さくなるまで繰り返すことによって、第1の画像とともに画像位置あわせの対象となる第2の画像を第1の画像に変換する変換パラメータを導出するパラメータ導出手段とを備え、画素選択手段が、第1の画像からランダムに画素を抽出する画素抽出手段と、画素抽出手段によって抽出された画素が第1の画像のノイズ領域の画素であるか否かをバイラテラルフィルタによって判定し、画素がノイズ領域の画素でないことを条件に、その画素を変換パラメータの導出に用いる画素として選択する基準判定手段とを含むことを特徴とする。
また、本発明による画像変換パラメータ算出方法は、第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択し、選択画素に対応する第2の画像の画素を変換したときの変換後の画素位置における画素値と第1の画像内の選択画素との差分を用いて変換パラメータの更新量を算出し、第2の画像の画素に対する変換の変換パラメータにその更新量を合成または加算することによって変換パラメータを更新する処理を、更新量が更新量に関する閾値よりも小さくなるまで繰り返すことによって、第1の画像とともに画像位置あわせの対象となる第2の画像を第1の画像に変換する変換パラメータを導出し、第1の画像からランダムに画素を抽出し、抽出した画素の偏微分が画素の偏微分に関する閾値以上であるか否かを判定し、画素の偏微分が閾値以上であることを条件に、その画素を変換パラメータの導出に用いる画素として選択することを特徴とする。
また、本発明による画像変換パラメータ算出方法は、第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択し、選択画素に対応する第2の画像の画素を変換したときの変換後の画素位置における画素値と第1の画像内の選択画素との差分を用いて変換パラメータの更新量を算出し、第2の画像の画素に対する変換の変換パラメータにその更新量を合成または加算することによって変換パラメータを更新する処理を、更新量が更新量に関する閾値よりも小さくなるまで繰り返すことによって、第1の画像とともに画像位置あわせの対象となる第2の画像を第1の画像に変換する変換パラメータを導出し、第1の画像からランダムに画素を抽出し、抽出した画素が第1の画像のノイズ領域の画素であるか否かをバイラテラルフィルタによって判定し、画素がノイズ領域の画素でないことを条件に、その画素を変換パラメータの導出に用いる画素として選択することを特徴とする。
また、本発明による画像変換パラメータ算出プログラムは、コンピュータに、第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択する画素選択処理、および、画素選択処理で選択された画素である選択画素に関して、選択画素に対応する第2の画像の画素を変換したときの変換後の画素位置における画素値と第1の画像内の選択画素との差分を用いて変換パラメータの更新量を算出し、第2の画像の画素に対する変換の変換パラメータにその更新量を合成または加算することによって変換パラメータを更新する処理を、更新量が更新量に関する閾値よりも小さくなるまで繰り返すことによって、第1の画像とともに画像位置あわせの対象となる第2の画像を第1の画像に変換する変換パラメータを導出するパラメータ導出処理を実行させ、画素選択処理で、第1の画像からランダムに画素を抽出する画素抽出処理、および、画素抽出処理で抽出された画素の偏微分が画素の偏微分に関する閾値以上であるか否かを判定し、画素の偏微分が閾値以上であることを条件に、その画素を変換パラメータの導出に用いる画素として選択する基準判定処理を実行させることを特徴とする。
また、本発明による画像変換パラメータ算出プログラムは、コンピュータに、第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択する画素選択処理、および、画素選択処理で選択された画素である選択画素に関して、選択画素に対応する第2の画像の画素を変換したときの変換後の画素位置における画素値と第1の画像内の選択画素との差分を用いて変換パラメータの更新量を算出し、第2の画像の画素に対する変換の変換パラメータにその更新量を合成または加算することによって変換パラメータを更新する処理を、更新量が更新量に関する閾値よりも小さくなるまで繰り返すことによって、第1の画像とともに画像位置あわせの対象となる第2の画像を第1の画像に変換する変換パラメータを導出するパラメータ導出処理を実行させ、画素選択処理で、第1の画像からランダムに画素を抽出する画素抽出処理、および、画素抽出処理で抽出された画素が第1の画像のノイズ領域の画素であるか否かをバイラテラルフィルタによって判定し、画素がノイズ領域の画素でないことを条件に、その画素を変換パラメータの導出に用いる画素として選択する基準判定処理を実行させることを特徴とする。
本発明によれば、位置あわせの対象となる画像の大きさに依存しない処理量で、精度よく、画像位置あわせの変換パラメータを算出することができる。
本発明の第1の実施形態の画像変換パラメータ算出装置の例を示すブロック図である。 第1の実施形態の処理経過の例を示すフローチャートである。 前処理(ステップS2)の処理経過の例を示すフローチャートである。 変換パラメータ計算処理(ステップS3)の処理経過の例を示すフローチャートである。 本発明の第2の実施形態の画像変換パラメータ算出装置の例を示すブロック図である。 第2の実施形態における画素選択処理の処理経過の例を示すフローチャートである。 本発明の第3の実施形態の画像変換パラメータ算出装置の例を示すブロック図である。 第3の実施形態の処理経過の例を示すフローチャートである。 第3の実施形態における1回目の前処理で∇Tの計算に用いるフィルタの例を示す説明図である。 本発明の第4の実施形態の画像変換パラメータ算出装置の例を示すブロック図である。 第4の実施形態の処理経過の例を示すフローチャートである。 本発明の最小構成の例を示すブロック図である。
以下、本発明の実施形態を図面を参照して説明する。
加法的アルゴリズムと合成的アルゴリズムのいずれか一方と、フォワードアルゴリズムとインバースアルゴリズムのいずれか一方とを組み合わせることで4種類のアルゴリズムが得られる。本発明は、この4種類のアルゴリズムのいずれも適用可能である。以下の説明では、合成的アルゴリズムとインバースアルゴリズムとの組み合わせを本発明に適用した場合を例にして説明する。なお、合成的アルゴリズムとインバースアルゴリズムとを組み合わせたアルゴリズムを、以下、インバース・コンポジショナルアルゴリズムと称する。
実施形態1.
図1は、本発明の第1の実施形態の画像変換パラメータ算出装置の例を示すブロック図である。以下の説明では、本発明の画像変換パラメータ算出装置1が基準画像を保持し、外部から入力される入力画像内の物体の位置を基準画像内の物体の位置に合わせるように入力画像を変換する変換パラメータを算出する場合を例にして説明する。ただし、基準画像も入力画像と合わせて外部から入力される構成であってもよい。なお、以下の説明において、基準画像を記号Tで表し、入力画像を記号Iで表す場合がある。
本発明の画像変換パラメータ算出装置1は、画素選択手段2と、選択画素記憶手段5と、パラメータ導出手段6とを備える。
画素選択手段2は、基準画像からランダムに画素を選択する。基準画像から選択する画素数は、予め定めておけばよい。
基準画像および入力画像の画素数が一定数に定められている場合には(すなわち画像の大きさが固定的に定められている場合には)、基準画像から選択される画素の位置を予め所定数だけ決定しておけばよい。この画素選択位置は、規則性のないランダムな位置として予め決定しておく。この場合、画素選択手段2は、基準画像内の画素のうち、予め決定されている各画素選択位置から画素を選択すればよい。このように画素を選択すれば、基準画像の画素数が一定であるという前提の元で基準画像を入れ替えても、ランダムに画素を選択することができる。
また、画像位置合わせに用いる基準画像の画素数が一定数であるとは限らない場合には、画素選択手段2は、例えば、x座標、y座標それぞれに関して、画素の座標の最小値から最大値までの範囲で乱数を発生させ、発生させた乱数を座標値とする画素を選択すればよい。あるいは、画素選択手段2は、発生させる個々の乱数から画素を一意に特定できるように乱数を発生させ、発生させた乱数から一意に定まる画素を選択してもよい。そして、画素選択手段2は、乱数を発生させ、乱数によって定まる画素を選択する処理を所定回繰り返せばよい。なお、この場合、同一乱数が重複して発生すると、選択する画素も重複し、選択する画素数は、乱数発生回数より少なくなる。すなわち、所望の画素数を選択するために、乱数を所定回数発生させても、選択する画素数は所望の数より少なくなる場合があり得る。しかし、そのような画素の減少は無視できる程度である。画素選択手段2は、乱数が重複して発生した場合に、所望の画素数が得られるまで乱数発生回数を増加してもよいが、その分、処理量が増える。そのため、画素選択手段2は、乱数を発生させて画素を選択する処理を所定回数繰り返した時点で、画素選択を終了してもよい。
また、画素選択手段2は、基準画像の全画素をランダムな順番に並べた、画素のランダムな集合を作成し、その集合から、所定数の画素を選択してもよい。この場合にも、ランダムに画素を選択することができる。
なお、上記の画素選択処理は例示であり、画素選択手段2による画素選択処理は、上記の例に限定されない。画素選択手段2は、基準画像の画素をランダムに選択する処理であれば、他の方法で基準画像から画素を選択してもよい。
以下、画素選択手段2が基準画像Tから選択した各画素(選択画素)を記号で表す場合、記号Tで表すこととする。ただし、記号Tを用いずに、単に「選択画素」等のように記す場合もある。
選択画素記憶手段5は、画素選択手段2によって選択された基準画像の画素の位置および画素値(輝度値)を記憶する記憶装置である。画素選択手段2は、選択した画素の位置および画素値を選択画素記憶手段5に記憶させる。なお、画素選択手段2は、選択画素の位置として、例えば、座標を記憶させればよい。また、画素選択手段2が発生させる個々の乱数から画素を一意に特定でき、乱数の値が画素の位置を表す場合には、画素選択手段2は、座標ではなく、発生させた乱数の値を選択画素の位置を示す情報として記憶させてもよい。
パラメータ導出手段6は、画素選択手段2に選択された選択画素に関して処理を行うことによって、入力画像を基準画像に合うように変換させる変換パラメータを導出する。パラメータ導出手段6は、画素選択手段2に選択されていない画素に関する処理は実行しない。
パラメータ導出手段6は、前処理手段3と、パラメータ計算手段4とを含む。パラメータ計算手段4は、変換パラメータの更新量を求め、変換パラメータを更新することを繰り返すことによって、入力画像を基準画像に変換するための変換パラメータを決定する。このとき、パラメータ計算手段4は、予め定められた変換パラメータの初期値から処理を開始すればよい。この初期値から変換パラメータを更新していくことによって、パラメータ計算手段4は、変換パラメータを決定する。前処理手段3およびパラメータ計算手段4は、選択画素記憶手段5に記憶された選択画素の位置および画素値を参照して、選択画素に関して処理を行う。
前処理手段3は、パラメータ計算手段4の処理の前処理を実行する。
前処理手段3は、微分手段31と、パラメータ更新量計算前処理手段32とを有する。
微分手段3は、基準画像Tから選択した画素Tにおける微分(勾配)を計算する。この微分を、∇Tと表す。微分手段3は、各選択画素Tに関して∇Tを計算する。個々の選択画素について∇Tを計算する際に、微分手段3は、∇Tの計算対象としている選択画素の周辺の画素の画素値を用いる。すなわち、微分手段3は、基準画像T全体から∇Tを計算するのではなく、選択画素の周辺の画素から∇Tを計算する。本実施形態では、微分手段3は、選択画素に隣接する画素の画素値から∇Tを計算する。具体的な∇Tの計算方法については後述する。
パラメータ更新量計算前処理手段32は、パラメータ計算手段4による変換パラメータの更新量計算の前処理を行う。パラメータ更新量計算前処理手段32は、∇Tを用いて、この前処理を行う。本実施形態では、インバース・コンポジショナルアルゴリズムを適用した場合を例にして説明する。インバース・コンポジショナルアルゴリズムを適用したパラメータ更新量計算前処理手段32については、後述する。
なお、他のアルゴリズムを適用した場合には、パラメータ更新量計算前処理手段32は、そのアルゴリズムに応じて、前処理を行えばよい。
パラメータ計算手段4は、変換後画素値計算手段41と、差分計算手段42と、パラメータ更新量計算手段43と、パラメータ更新手段44と、条件判定手段45とを備える。
変換後画素値計算手段41は、基準画像Tから選択された選択画素に対応する入力画像I内の画素位置の座標を変換パラメータに基づいて変換し、画素値を補間する。変換後画素値計算手段41は、この処理によって、選択画素に対応する入力画像の画素の座標を変換したときの変換後の画素位置における画素値を求める。なお、変換パラメータpで画素位置Xの座標を変換することを、記号W(X;p)で表すこととする。また、変換後画素値計算手段41によって求められる変換後の画素値を、I(W(X;p))で表すこととする。I(W(X;p))は、画像全体に対する処理で求められるのではなく、選択画素に関する処理によって求められる。
なお、ここで、変換W(X;p)の例を示す。例えば、平行移動は、変換パラメータpとして、2つのパラメータ(p,pとする。)を用いて表すことができる。平行移動の場合、変換W(X;p)は、以下に示す式(1)のように表すことができる。
Figure 0005712925
また、例えば、アフィン変換は、変換パラメータpとして、6個のパラメータ(p〜pとする。)を用いて表すことができる。アフィン変換の場合、変換W(X;p)は、以下に示す式(2)のように表すことができる。
Figure 0005712925
差分計算手段42は、選択画素に対応する入力画像の画素の座標を変換したときの変換後の画素位置における画素値I(W(X;p))と、基準画像Tからの選択画素の画素値(T(X)と記す。)との差分を計算する。すなわち、差分計算手段42は、対応するI(W(X;p))およびT(X)に関して、I(W(X;p))−T(X)を計算する。
なお、選択画素Tの画素位置を座標(x,y)で表したときに、その画素の画素値をT(x,y)と記す場合もある。また、その周囲の画素の画素値に関しても、その座標を用いて、T(x+1,y),T(x−1,y),T(x,y+1),T(x,y−1)と記す。
パラメータ更新量計算手段43は、前処理手段3の処理結果を用いて、変換パラメータの更新量を計算する。この変換パラメータの更新量をΔpと記す。インバース・コンポジショナルアルゴリズムにおけるΔpの計算方法については後述する。
パラメータ更新手段44は、変換パラメータの更新量Δpを用いて、現在の変換パラメータを更新する。ここでは、インバース・コンポジショナルアルゴリズムを適用した場合を例にしているので、パラメータ更新手段44は、現在の変換パラメータにΔpを合成することによって、変換パラメータを更新する。
インバース・コンポジショナルアルゴリズム以外のアルゴリズムを適用する場合、パラメータ更新量計算手段43は、そのアルゴリズムに応じた方法でΔpを計算すればよい。また、パラメータ更新手段44も、そのアルゴリズムに応じた方法で変換パラメータを更新すればよい。
条件判定手段45は、所定の条件が満たされたか否かを判定する。所定の条件が満たされた場合には、パラメータ更新手段44が更新した最新の変換パラメータを、入力画像から基準画像への変換を表す変換パラメータであると決定する。
前処理手段3(微分手段31およびパラメータ更新量計算前処理手段32)とパラメータ計算手段4(変換後画素値計算手段41、差分計算手段42、パラメータ更新量計算手段43、パラメータ更新手段44および条件判定手段45)とを含むパラメータ導出手段6と、画素選択手段2は、例えば、画像変換パラメータ算出プログラムに従って動作するコンピュータのCPUによって実現される。この場合、コンピュータのプログラム記憶装置(図示せず。)が画像変換パラメータ算出プログラムを記憶し、CPUがそのプログラムを読み込んで、そのプログラムに従って、画素選択手段2、およびパラメータ導出手段6に含まれる各手段として動作すればよい。また、図1に示す各手段が、それぞれ別のハードウェアで実現されていてもよい。
次に、動作について説明する。
図2は、第1の実施形態の処理経過の例を示すフローチャートである。なお、入力画像は既に画像変換パラメータ算出装置に入力されているものとする。
まず、画素選択手段2が、基準画像から、予め定められた数の画素をランダムに選択する(ステップS1)。既に説明したように、画素選択手段2は、例えば、乱数を発生させて、乱数に応じた画素を選択することを、予め定められた所定数だけ繰り返してもよい。あるいは、他の方法で、予め定められた数の画素をランダムに選択してもよい。また、乱数を利用して画素を選択する場合、乱数の重複により、選択画素数が所定数に達しないこともあるが、そのような画素の減少は無視し得る程度であるので、厳密に所定数の画素が選択されなくてもよい。
画素選択手段2は、ステップS1において、基準画像から選択した画素の画素位置および画素値を選択画素記憶手段5に記憶させる。
次に、前処理手段3が前処理を行う(ステップS2)。続いて、パラメータ計算手段4が、前処理の結果を用いて、変換パラメータの更新量を求め、変換パラメータを更新することを繰り返すことにより、変換パラメータを決定する(ステップS3)。
図3は、前処理(ステップS2)の処理経過の例を示すフローチャートである。前処理(ステップS2)において、まず、微分手段31が、基準画像からランダムに選択された各選択画素における微分∇Tを計算する(ステップS1)。具体的には、微分手段31は、x方向の∇Tと、y方向の∇Tとを計算する。選択画素Tの座標を(x,y)としたときに、その選択画素におけるx方向の∇Tおよびy方向の∇Tを、それぞれ∇TRx(x,y),∇TRy(x,y)と表すこととする。
第1の実施形態では、選択画素に関する∇Tを計算するときに、選択画素に隣接する画素の画素値を用いる。すなわち、微分手段31は、∇TRx(x,y)を求める場合には、選択画素に対してフィルタ(−1 0 1)を畳み込む処理を行う。具体的には、微分手段31は、以下に示す式(3)の計算により、∇TRx(x,y)を算出する。
∇TRx(x,y)={T(x+1,y)−T(x−1,y)}/2 式(3)
また、微分手段31は、∇TRy(x,y)を求める場合には、選択画素に対してフィルタ(−1 0 1)を畳み込む処理を行う。このTは、転置行列を表す。すなわち、微分手段31は、以下に示す式(4)の計算により、∇TRy(x,y)を算出する。
∇TRy(x,y)={T(x,y+1)−T(x,y−1)}/2 式(4)
次に、パラメータ更新量計算前処理手段32は、選択画素毎に、変換W(X;p)に関するヤコビアン行列を計算する(ステップS12)。ただし、ここでは、変換W(X;p)における(X;p)は、(X;0)であるものとする。
W(X;p)をx成分およびy成分で表し、W(X;p)=(W(X;p),W(X;p))と表すと、W(X;p)に関するヤコビアン行列は、以下に示す式(5)のように表される。
Figure 0005712925
ヤコビアン行列は、画像全体に対する処理で求められるのではなく、選択画素に関する処理によって求められる。
ステップS12の後、パラメータ更新量計算前処理手段32は、選択画素毎に、ステップS11で計算された∇Tと、ステップS12で計算したヤコビアン行列との積を計算する。すなわち、以下に示す式(6)を計算する(ステップS13)。
Figure 0005712925
次に、パラメータ更新量計算前処理手段32は、選択画素毎にステップS13で求めた結果を用いて、ヘシアン行列Hを計算する(ステップS14)。パラメータ更新量計算前処理手段32は、以下に示す式(7)の計算により、ヘシアン行列Hを求めればよい。
Figure 0005712925
ステップS14を終えることで、前処理(図2に示すS2)を終える。
次に、前処理後に行われる変換パラメータ計算処理(図2に示すステップS3)について説明する。図4は、変換パラメータ計算処理(図2に示すステップS3)の処理経過の例を示すフローチャートである。
まず、変換後画素値計算手段41は、基準画像Tから選択された選択画素に対応する入力画像I内の画素位置の座標を変換パラメータに基づいて変換し、画素値を補間する。変換後画素値計算手段41は、この処理によって、選択画素に対応する入力画像の画素の座標を変換したときの変換後の画素位置における画素値I(W(X;p))を計算する(ステップS21)。変換後画素値計算手段41は、この処理を、基準画像Tから選択された選択画素に対応する入力画像の画素毎に行う。
次に、差分計算手段42は、ステップS21で計算されたI(W(X;p))と、基準画像Tから選択された選択画素の画素値T(X)との差分を計算する(ステップS22)。すなわち、差分計算手段42は、対応するI(W(X;p))およびT(X)に関して、I(W(X;p))−T(X)を計算する。
各選択画素についてI(W(X;p))−T(X)が計算された後、パラメータ更新量計算手段43は、前処理のステップS13(図3参照)の計算結果と、ステップS22で計算された差分とを用いて、以下に示す式(8)を計算する(ステップS23)。
Figure 0005712925
すなわち、パラメータ更新量計算手段43は、ステップS13の結果として得られる行列(式(6)参照)の転置行列に、ステップS22で計算された差分を乗じる処理を、選択画素毎に行い、その乗算結果の総和を計算する。
次に、パラメータ更新量計算手段43は、ステップS23の計算結果と、ヘシアン行列とを用いて、変換パラメータの更新量Δpを計算する(ステップS24)。変換パラメータの更新量Δpは、以下に示す式(9)で表すことができる。
Figure 0005712925
すなわち、パラメータ更新量計算手段43は、前処理のステップS14(図3参照)で計算されたヘシアン行列Hの逆行列に、式(8)の計算結果を乗じることによって、Δpを算出する。
次に、パラメータ更新手段44は、以下に示す式(10)により、変換パラメータにΔpを合成し、変換パラメータを更新する(ステップS25)。
Figure 0005712925
式(10)の右辺に示す以下の演算子
Figure 0005712925
は、座標変換の合成を表す演算子である。また、座標変換の合成演算は、変換モデルに応じて異なる。ステップS25では、変換モデルに応じた合成を行えばよい。
次に、条件判定手段45は、変換パラメータの更新の繰り返しを終了する所定の条件が満たされたか否かを判定する(ステップS26)。本実施形態では、条件判定手段45は、直近のステップS24で計算されたΔpに関して、以下に示す式(11)が成立しているか否かを判定し、式(11)が成立しているならば、所定の条件が満たされたと判定する。
Figure 0005712925
式(11)の右辺のεは、予め定められた閾値である。すなわち、式(11)は、変換パラメータの更新量Δpが、定められた基準よりも小さいことを示している。この条件が満たされていると判定した場合(ステップS26のYes)、条件判定手段45は、直近のステップS25で計算した変換パラメータを、入力画像から基準画像への変換を表すパラメータとして決定する(ステップS27)。
また、式(11)が成立していない場合(ステップS26のNo)、条件判定手段45は、所定の条件は満たされていないと判定する。この場合、パラメータ計算手段4は、直近のステップS25で更新された変換パラメータを用いて、ステップS21以降の処理を繰り返す。
また、パラメータ計算手段4は、ステップS27で変換パラメータを決定することにより、処理を終了する。
本実施形態によれば、画素選択手段2が、基準画像からランダムに画素を選択し、パラメータ導出手段6が、その選択された画素に関して処理を行うことで、変換パラメータを導出する。画素選択手段2は、ランダムに画素を選択するので、基準画像の大きさに依存せずに、選択する画素数を一定数以下にすることができる。従って、基準画像の画素数が変化しても、変換パラメータ算出の処理コストを一定に抑えることができる。
特許文献1に記載された方法と本発明とを比較すると、特許文献1に記載された方法では、空間的にとびとびの画素を選択するので、基準画像の画素数が大きくなれば、選択する画素数も多くなり、その結果、変換パラメータ算出の処理コストも増えることになる。一方、本発明では、画素選択手段2が、基準画像の画素数に依存せずに、基準画像からランダムに画素を選択するので、基準画像の画素数に依らずに、選択画素数を一定に抑えることができる。その結果、本発明では、基準画像の画素数が多い場合であっても、変換パラメータ算出の処理コストを一定のまま抑えることができる。
また、本発明では、画素選択手段2が基準画像からランダムに画素を選択するので、基準画像の画素値に周期性があったとしても、選択する画素の画素値に偏りが生じることを防ぐことができる。従って、高い精度で変換パラメータを計算することができる。
実施形態2.
図5は、本発明の第2の実施形態の画像変換パラメータ算出装置の例を示すブロック図である。第1の実施形態と同様の構成要素については、図1と同一の符号を付し、詳細な説明を省略する。第2の実施形態の画像変換パラメータ算出装置1aは、画素選択手段2aと、選択画素記憶手段5と、パラメータ導出手段6とを備える。選択画素記憶手段5およびパラメータ導出手段6は、第1の実施形態と同様である。すなわち、第2の実施形態の画像変換パラメータ算出装置1aは、第1の実施形態における画素選択手段2の代わりに、画素選択手段2aを備える。
画素選択手段2aは、基準画像からランダムに画素を抽出し、その画素が所定の基準を満たしている場合に、その画素を、変換パラメータの算出に用いる画素として選択する。画素選択手2aは、この処理を繰り返すことにより、変換パラメータの算出に用いる画素を、定められた個数選択する。
画素選択手段2aは、画素抽出手段21と、基準判定手段22とを含む。
画素抽出手段21は、基準画像からランダムに画素を抽出する(取り出す)。ここで、「抽出」とは、単に画素を取り出すことを意味し、変換パラメータの算出に用いる画素として選択することとは区別する。
基準判定手段22は、画素抽出手段21に抽出された画素が基準を満たしているか否かを判定し、基準を満たしていれば、その画素を、変換パラメータの算出に用いる画素として選択する。この基準の例として、抽出された画素における偏微分が所定の閾値以上であるという基準が挙げられる。ただし、基準判定手段22が判定する基準は、この基準に限定されない。例えば、「抽出された画素が、基準画像内のノイズの生じている領域の画素でない。」という基準を用いてもよい。
画素選択手段2a(画素抽出手段21および基準判定手段22)は、例えば、画像変換パラメータ算出プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUが、画像変換パラメータ算出プログラムを読み込んで、そのプログラムに従って、画素選択手段2aの画素抽出手段21、基準判定手段22、およびパラメータ導出手段6に含まれる各手段として動作すればよい。また、図5に示す各手段が、それぞれ別のハードウェアで実現されていてもよい。
次に、第2の実施形態の動作について説明する。
本実施形態の画像変換パラメータ算出装置1aも、図2に示すフローチャートの順に処理を実行する。すなわち、画素選択手段2aが、基準画像から画素を選択する(ステップS1)。そして、前処理手段3が前処理を実行し(ステップS2)、パラメータ計算手段4が、入力画像Iから基準画像Tへの変換の変換パラメータを決定する(ステップS3)。ただし、第2の実施形態では、画素選択処理(ステップS1)が、第1の実施形態と異なる。
図6は、第2の実施形態における画素選択処理(ステップS1)の処理経過の例を示すフローチャートである。まず、画素抽出手段21が、基準画像の全画素をランダムな順番に並べた、画素のランダムな集合を作成する(ステップS31)。以下、この画素の集合をランダム集合と記す。
次に、画素抽出手段21は、ランダム集合から1つの画素を抽出する(ステップS32)。
次に、基準判定手段22は、ステップS32で抽出された画素が、予め定められた基準を満たしているか否かを判定する(ステップS33)。基準として、変換パラメータの精度向上に寄与する基準を予め定めておく。ここでは、抽出された画素における変換パラメータに対する偏微分が所定の閾値以上であるという基準が予め定められている場合を例にして説明する。この場合、基準判定手段22は、ステップS32で抽出された画素に関して、変換パラメータに対する偏微分を計算し、その偏微分が所定の閾値以上であるか否かを判定する。偏微分が閾値以上であれば、基準を満たしている。また、偏微分が閾値未満であれば、基準を満たしていないことになる。
抽出された画素に関する偏微分が閾値未満である場合(ステップS33のNo)、画素選択手段2aはステップS32以降の処理を繰り返す。
また、抽出された画素に関する偏微分が閾値以上である場合(ステップS33のYes)、基準判定手段22は、ステップS32で抽出された画素を、変換パラメータの算出に用いる画素として選択する。そして、その画素の画素位置(座標)および画素値を選択画素記憶手段5に記憶させる。
続いて、基準判定手段22は、変換パラメータの算出に用いる画素として選択した画素(選択画素)が所定数に達したか否かを判定する(ステップS35)。例えば、基準判定手段22は、選択画素記憶手段5に画素位置および画素値を記憶させた画素の数が所定数に達したか否かを判定すればよい。
選択画素が所定数に達していなければ、画素選択手段2aはステップS32以降の処理を繰り返す。
一方、選択画素が所定数に達したならば、画素選択手段2aは、画素選択処理(ステップS1。図2参照。)を終了する。以降の、前処理(ステップS2)および変換パラメータ計算(ステップS3)は、第1の実施形態と同様であり、説明を省略する。
第2の実施形態では、画素選択手段2aが、ランダムに抽出された画素であって、所定の基準を満たす画素を選択する。そして、前処理手段3およびパラメータ計算手段4が、その画素に関して処理を行って、変換パラメータを計算する。従って、第2の実施形態によれば、第1の実施形態と同様の効果が得られ、さらに、変換パラメータの精度を向上させることができる。
また、本実施形態では、基準画像からランダムに画素を抽出してから、基準判定手段22が、その画素が基準を満たしているか否かを判定する。従って、基準画像の全画素について基準を満たしているか否かを判定するわけではないので、処理コストの増加を防止することができる。
また、本実施形態では、所望の選択画素数をいくつに定めたとしても、基準を満たす画素をランダムに所望数だけ選択することができる。特許文献1に記載された方法と本発明とを比較すると、特許文献1に記載された方法でも、画素の偏微分、または偏微分から計算した重要度が閾値以上となる画素を選択する。しかし、特許文献1に記載された方法は、空間的にとびとびの画素を選択するので、選択画素数を所望の数に抑えることができず、基準画像の画素数が多い場合には、選択画素数も増加していき、処理コストが増加してしまう。また、特許文献1に記載された方法において、とびとびの画素を抽出し、そのうち、偏微分が閾値以上の画素を所定個選択した時点で画素選択を終了することも考えられる。しかし、その場合には、選択画素が基準画像内の特定の領域(例えば上部)に偏っている等の問題が生じる。それに対し本発明では、ランダムに所望の数の画素を選択することができる。
なお、上記の例では、抽出された画素に関する偏微分を計算し、その偏微分と閾値とを比較する場合を示した。基準判定手段22は、計算した偏微分からさらに、画素の良さを示す指標を計算し、その指標と、閾値とを比較してもよい。そして、指標が閾値以上であれば基準を満たし、指標が閾値未満であれば基準を満たさないと判定してもよい。なお、この「画素の良さ」とは、変換パラメータの精度を向上させることができるという観点による画素の適切さである。画素の偏微分も、この指標の一態様である。
また、基準判定手段22は、この指標(偏微分の結果自体でもよい。)を、0〜1の範囲の値になるように変換し、乱数との比較によって、基準を満足しているか否かを判定してもよい。具体的には、基準判定手段22は、指標を0〜1の範囲の値に変換する。そして、基準判定手段22は、0〜1の範囲の値をとる乱数を発生させる。基準判定手段22は、変換後の指標が乱数値以上であれば、基準を満たすと判定し、変換後の指標が乱数値未満であれば基準を満たさないと判定してもよい。このようにステップS33の判定処理を行うことで、指標が小さな値となる画素が絶対に選ばれなくなることを防止することができる。すなわち、ランダムな画素選択の頑健性を向上させることができる。
また、ステップS33の判定基準として、「抽出された画素が、基準画像内のノイズの生じている領域の画素でない。」という基準を用いてもよい。この場合、基準判定手段22は、ステップS33において、画素抽出手段21に抽出された画素がノイズの生じている領域(以下、ノイズ領域と記す。)であるか否かを判定し、抽出された画素がノイズ領域の画素でなければ基準を満たしていると判定すればよい(ステップS33のYes)。また、抽出された画素がノイズ領域の画素であれば基準を満たしていないと判定すればよい(ステップS33のNo)。
ただし、抽出された画素がノイズ領域の画素であるか否かを判定するアルゴリズムとして、その抽出された画素に関する処理のみで判定を行うことができるアルゴリズムを採用する。このようなアルゴリズムを適用することで、基準画像の大きさに依らず、処理量を一定に抑えることができる。例えば、基準判定手段22は、抽出された画素がノイズ領域の画素であるか否かを、バイラテラルフィルタ(Bilateral Filter)によって判定すればよい。
抽出された画素がノイズ領域の画素でないという基準を採用した場合でも、変換パラメータの精度を向上させることができる。
実施形態3.
図7は、本発明の第3の実施形態の画像変換パラメータ算出装置の例を示すブロック図である。第1の実施形態と同様の構成要素については、図1と同一の符号を付し、詳細な説明を省略する。第3の実施形態の画像変換パラメータ算出装置1bは、画素選択手段2と、選択画素記憶手段5と、パラメータ導出手段6bとを備える。画素選択手段2および選択画素記憶手段5は、第1の実施形態と同様である。
第3の実施形態では、パラメータ導出手段6bが、前処理およびパラメータ計算を1度行った後、更に、2回目の前処理およびパラメータ計算を行う。パラメータ導出手段6bは、1回目の前処理では、2回目の前処理に比べて、∇Tをぼかして計算する。そして、パラメータ導出手段6bは、2回目の前処理後のパラメータ計算では、1回目の前処理後のパラメータ計算で求めた変換パラメータを用いて、変換パラメータを計算する。
パラメータ導出手段6bは、前処理を実行する前処理手段3bと、前処理の結果を用いて変換パラメータを計算するパラメータ計算手段4とを備える。前処理手段3bが前処理を行い、パラメータ計算手段4がパラメータ計算を行う処理を、2回繰り返す。
前処理手段3bは、微分手段31と、第2の微分手段31bと、パラメータ更新量計算前処理手段32とを備える。
微分手段31は、第1の実施形態や第2の実施形態における微分手段31と同様であり、選択画素における微分∇Tを計算する。ただし、微分手段31は、2回目の前処理で∇Tを計算する。また、第2の微分手段31bも、選択画素における微分∇Tを計算する。ただし、第2の微分手段31bは、1回目の前処理で∇Tを計算する。
第2の微分手段31bは、1回目の前処理で∇Tを計算する時に、微分手段31が2回目の前処理で行う∇Tの計算に比べて、∇Tをぼかして計算する。具体的には、第2の微分手段31bは、選択画素に隣接する画素だけでなく、さらにその周囲の画素も用いて∇Tを計算する。2回目の前処理において、微分手段31は、第1の実施形態と同様に、選択画素に隣接する画素の画素値を用いて∇Tを計算する。すなわち、第2の微分手段31bは、1回目の前処理において、2回目の前処理での微分手段31による∇T計算よりも広い範囲の画素を用いて∇Tを計算する。
パラメータ更新量計算前処理手段32は、第1の実施形態におけるパラメータ更新量計算前処理手段32と同様であり、∇Tを用いて変換パラメータの更新量計算の前処理を行う。パラメータ更新量計算前処理手段32は、1回目の前処理では、第2の微分手段31bに計算された∇Tを用いて変換パラメータの更新量計算の前処理を行う。また、2回目の前処理では、微分手段31に計算された∇Tを用いて変換パラメータの更新量計算の前処理を行う。
パラメータ計算手段4は、変換後画素値計算手段41と、差分計算手段42と、パラメータ更新量計算手段43と、パラメータ更新手段44と、条件判定手段45とを備える。変換後画素値計算手段41、差分計算手段42、パラメータ更新量計算手段43、パラメータ更新手段44および条件判定手段45は、それぞれ、第1の実施形態における変換後画素値計算手段41、差分計算手段42、パラメータ更新量計算手段43、パラメータ更新手段44、条件判定手段45と同様の処理を行う。ただし、パラメータ計算手段4は、2回の前処理後にそれぞれパラメータ計算処理を行う。
前処理手段3b(微分手段31、第2の微分手段31bおよびパラメータ更新量計算前処理手段32)とパラメータ計算手段4(変換後画素値計算手段41、差分計算手段42、パラメータ更新量計算手段43、パラメータ更新手段44および条件判定手段45)とを含むパラメータ導出手段6bと、画素選択手段2とは、例えば、画像変換パラメータ算出プログラムに従って動作するコンピュータのCPUによって実現される。この場合、コンピュータのプログラム記憶装置(図示せず。)が画像変換パラメータ算出プログラムを記憶し、CPUがそのプログラムを読み込んで、そのプログラムに従って、画素選択手段2、およびパラメータ導出手段6bに含まれる各手段として動作すればよい。また、図7に示す各手段が、それぞれ別のハードウェアで実現されていてもよい。
次に、動作について説明する。
図8は、第3の実施形態の処理経過の例を示すフローチャートである。まず、画素選択手段2が、基準画像から、予め定められた数の画素をランダムに選択する(ステップS41)。ステップS41の画素選択処理は、第1の実施形態におけるステップS1と同様である。
次に、前処理手段3bが1回目の前処理を行う(ステップS42)。図3に示すフローチャートを参照して、1回目の前処理(ステップS42)について説明する。
1回目の前処理(ステップS42)では、まず、第2の微分手段31bが、基準画像から選択された各選択画素における微分∇Tを計算する(ステップS11)。具体的には、第2の微分手段31bは、x方向の∇TRx(x,y)と、y方向の∇TRy(x,y)とを計算する。この点は第1の実施形態と同様である。ただし、第2の微分手段31bは、1回目の前処理において、微分手段31による2回目の前処理での∇T計算に比べて、∇Tをぼかして計算する。
図9は、1回目の前処理で∇Tの計算に用いるフィルタの例を示す説明図である。第2の微分手段31bは、例えば、図9(a)に示すフィルタを用いて選択画素に対する畳み込みを実行することによって∇TRx(x,y)を計算すればよい。∇TRx(x,y)の計算には、例えば、中央の縦1列の要素が0であり、中央の縦1列より右側の各要素が1であり、中央の縦1列よりも左側の各要素が1であるフィルタを用いることができる(図9(a)参照)。なお、図9(a)による畳み込みは、図9(b)に示す2つのフィルタの畳み込みに相当する。
同様に、第2の微分手段31bは、例えば、図9(c)に示すフィルタを用いて選択画素に対する畳み込みを実行することによって∇TRy(x,y)を計算すればよい。∇TRy(x,y)の計算には、例えば、中央の横1列の要素が0であり、中央の横1列よりも上側の各要素が−1であり、中央の横1列よりも下側の各要素が1であるフィルタを用いることができる(図9(c)参照)。なお、図9(c)による畳み込みは、図9(d)に示す2つのフィルタの畳み込みに相当する。
図9(a),(c)に示すフィルタは、1回目の前処理で∇Tの計算に用いるフィルタの例示であり、第2の微分手段31bは他のフィルタを用いてもよい。
∇Tの計算後、パラメータ更新量計算前処理手段32は、選択画素毎に、変換W(X;p)に関するヤコビアン行列を計算する(ステップS12)。次に、パラメータ更新量計算前処理手段32は、選択画素毎に、ステップS11で計算された∇Tと、ステップS12で計算したヤコビアン行列との積を計算する(ステップS13)。次に、パラメータ更新量計算前処理手段32は、ヘシアン行列Hを計算する(ステップS14)。ステップS12〜S14の処理は、第1の実施形態と同様である。
次に、パラメータ計算手段4が、1回目のパラメータ計算処理を行う(ステップS43)。図4に示すフローチャートを参照して、1回目のパラメータ計算処理について説明する。
まず、変換後画素値計算手段41は、基準画像Tから選択された選択画素に対応する入力画像I内の画素位置の座標を変換パラメータに基づいて変換し、画素値を補間する。変換後画素値計算手段41は、この処理によって、I(W(X;p))を計算する(ステップS21)。次に、差分計算手段42は、ステップS21で計算されたI(W(X;p))と、選択画素の画素値T(X)との差分を計算する(ステップS22)。次に、パラメータ更新量計算手段43は、1回目の前処理におけるステップS13の計算結果と、ステップS22で計算された差分とを用いて、式(8)の計算を行う(ステップS23)。さらに、パラメータ更新量計算手段43は、その計算結果と、ヘシアン行列とを用いて、変換パラメータの更新量Δpを計算する(ステップS24)。次に、パラメータ更新手段44は、式(10)により、変換パラメータにΔpを合成し、変換パラメータを更新する(ステップS25)。このステップS21〜S25の処理は、第1の実施形態と同様である。
ステップS25の後、条件判定手段45は、変換パラメータの更新の繰り返しを終了する所定の条件が満たされたか否かを判定する(ステップS26)。この判定も、第1の実施形態ど同様に行えばよい。所定の条件が満たされていなければ(ステップS26のNo)、パラメータ計算手段4は、更新後の変換パラメータを用いて、ステップS21以降の処理を繰り返す。所定の条件が満たされていれば(ステップS26のYes)、条件判定手段45は、直近のステップS25で計算した変換パラメータを、一回目の変換パラメータ計算結果として決定する(ステップS27)。以上の処理によって、パラメータ計算手段4は、1回目のパラメータ計算処理(ステップS43)を終了する。
次に、前処理手段3bは、2回目の前処理を実行する(ステップS44)。図3に示すフローチャートを参照して、2回目の前処理(ステップS44)について説明する。
2回目の前処理(ステップS44)では、まず、微分手段31が、基準画像から選択された各選択画素における微分∇Tを計算する(ステップS11)。2回目の前処理では、微分手段31は、∇Tをぼかさずに、第1の実施形態と同様に∇Tを計算する。すなわち、微分手段31は、選択画素に隣接する画素の画素値を用いて、式(3)、式(4)の計算を行って、∇TRx(x,y)および∇TRy(x,y)を計算する。
∇Tの計算後、パラメータ更新量計算前処理手段32は、1回目の前処理の時と同様に、ステップS12〜S14を行う。ただし、パラメータ更新量計算前処理手段32は、微分手段31によって計算された∇Tを用いてステップS12〜S14を行う。1回目の前処理(ステップS42)と2回目の前処理(ステップS43)とでは、微分手段31による∇Tの計算と、第2の微分手段31bによる∇Tの計算とが異なるだけで、他の処理内容は、同じである。ただし、∇Tの違いにより、得られる結果は、1回目の前処理と2回目の前処理で異なる。
次に、パラメータ計算手段4が、2回目のパラメータ計算処理を行う(ステップS46)。2回目のパラメータ計算処理では、1回目のパラメータ計算処理(ステップS43)で求めた変換パラメータを初期値として、図4に示すステップS21〜S26のループ処理を実行する。そして、ステップS26で所定の条件が満たされていれば(ステップS26のYes)、条件判定手段45は、直近のステップS25で計算した変換パラメータを、2回目の変換パラメータ計算結果として決定する(ステップS27)。ステップS21〜S27の各処理は、1回目のパラメータ計算処理(ステップS43)と同様である。
この2回目のパラメータ計算処理(ステップS45)内で実行するステップS27で決定された変換パラメータが、最終的に求める変換パラメータとなる。
第3の実施形態によれば、1回目の前処理(ステップS42)で∇Tをぼかして計算する。その結果、その後のパラメータ計算処理(ステップS43)におけるループ処理(図4に示すステップS21〜S26参照)で、1回のループ処理当たりの変換パラメータの更新量が小さくならずに済む。また、局所解を得てしまって、真の解となる変換パラメータが得られなくなることを防止することができる。そして、2回目の前処理(ステップS44)では∇Tをぼかさず、ステップS43で計算した変換パラメータを元に、変換パラメータをより詳細に計算することができる。この結果、基準画像と入力画像との間の変化が大きい場合や、選択画素数が少ない場合であっても、解となる変換パラメータを安定的に求めることができる。また、高速に変換パラメータを求めることができる。
また、第3の実施形態において、1回目の前処理では、2回目の前処理に比べて、変換モデルのパラメータの自由度を減少させてもよい。例えば、1回目の前処理では、変換W(X;p)として、パラメータ自由度2の平行移動を適用して演算を行い、2回目の前処理では、パラメータ自由度6のアフィン変換を適用して演算を行ってもよい。なお、変換モデルの適用のさせ方は、この例に限定されない。例えば、1回目の前処理で、平行移動を適用し、2回目の前処理でホモグラフィ変換をしてもよい。
この場合、変換後画素値計算手段41、差分計算手段42、パラメータ更新量計算手段43およびパラメータ更新手段44は、1回目の前処理後のパラメータ計算時には、1回目の前処理と同じ変換モデルを適用したW(X;p)を用いて演算を行い、2回目の前処理後のパラメータ計算時には、2回目の前処理と同じ変換モデルを適用したW(X;p)を用いて演算を行う。
実施形態4.
図10は、本発明の第4の実施形態の画像変換パラメータ算出装置の例を示すブロック図である。第1の実施形態と同様の構成要素については、図1と同一の符号を付し、詳細な説明を省略する。第4の実施形態の画像変換パラメータ算出装置1cは、画素選択手段2と、選択画素記憶手段5と、パラメータ導出手段6cと、動体画素判定手段7とを備える。画素選択手段2および選択画素記憶手段5は、第1の実施形態と同様である。
第4の実施形態では、パラメータ導出手段6cが、前処理およびパラメータ計算を繰り返す。そして、前処理およびパラメータ計算が行われると、動体画素判定手段7が、選択画素の中から、画像間で動きのある被写体(以下、動体と記す。)に相当する領域(動体領域)の画素を除外する。動体領域の画素を用いて変換パラメータを計算すると、変換パラメータの精度が低下する。本実施形態では、動体画素判定手段7が、選択画素からそのような画素を除外し、再度、前処理およびパラメータ計算を行うことで、高精度の変換パラメータを導出する。
ただし、パラメータ導出手段6cは、前処理およびパラメータ計算を繰り返す場合、繰り返し回数が何回目であるかによって、前処理およびパラメータ計算の処理を一部、変更する。以下に示す例では、前処理およびパラメータ計算を3回繰り返す場合を例にして説明する。
パラメータ導出手段6cは、前処理を実行する前処理手段3cと、前処理の結果を用いて変換パラメータを計算するパラメータ計算手段4cとを備える。パラメータ計算手段4cが変換パラメータを計算すると、動体画素判定手段7が、その変換パラメータに基づいて、動体領域の画素を判定し、その画素を選択画素から除外する。その後、前処理手段31cおよびパラメータ計算手段4cは、それぞれの処理を再度実行する。
前処理手段3cは、微分手段31cと、パラメータ更新量計算前処理手段32cとを備える。
微分手段31cは、選択画素における微分∇Tを計算する。パラメータ更新量計算前処理手段32cは、微分手段31cに計算された∇Tを用いて変換パラメータの更新量計算の前処理を行う。微分手段31cおよびパラメータ更新量計算前処理手段32cの処理は、第1の実施形態における微分手段31およびパラメータ更新量計算前処理手段32の処理と同様である。ただし、前処理手段3cが前処理を複数回実行する点で第1の実施形態と異なる。
パラメータ計算手段4cは、変換後画素値計算手段41cと、差分計算手段42cと、パラメータ更新量計算手段43cと、パラメータ更新手段44cと、条件判定手段45cとを備える。変換後画素値計算手段41c、差分計算手段42c、パラメータ更新量計算手段43c、パラメータ更新手段44c、条件判定手段45cは、それぞれ、第1の実施形態における変換後画素値計算手段41、差分計算手段42、パラメータ更新量計算手段43、パラメータ更新手段44、条件判定手段45と同様の処理を行う。ただし、パラメータ計算手段4cは、前処理毎にパラメータ計算処理を行う。また、条件判定手段45cは、1回目から3回目までの各前処理後のパラメータ計算処理時において、後の回になるほど、ステップS21〜S26(図4参照)のループ処理の終了条件を厳しく設定して、条件判定を行う。この条件は、変換パラメータの収束判定条件であるということができる。
動体画素判定手段7は、1回目の前処理およびパラメータ計算の後に、その変換パラメータに基づいて、選択画素の中から動体領域の画素を判定し、その画素を選択画素から除外する。同様に、動体画素判定手段7は、2回目の前処理およびパラメータ計算の後に、その変換パラメータに基づいて、選択画素の中から動体領域の画素を判定し、さらに、その画素を選択画素から除外する。
前処理手段3c(微分手段31cおよびパラメータ更新量計算前処理手段32c)とパラメータ計算手段4c(変換後画素値計算手段41c、差分計算手段42c、パラメータ更新量計算手段43c、パラメータ更新手段44cおよび条件判定手段45c)とを含むパラメータ導出手段6cと、画素選択手段2と、動体画素判定手段7は、例えば、画像変換パラメータ算出プログラムに従って動作するコンピュータのCPUによって実現される。この場合、コンピュータのプログラム記憶装置(図示せず。)が画像変換パラメータ算出プログラムを記憶し、CPUがそのプログラムを読み込んで、そのプログラムに従って、画素選択手段2、動体画素判定手段7、およびパラメータ導出手段6cに含まれる各手段として動作すればよい。また、図10に示す各手段が、それぞれ別のハードウェアで実現されていてもよい。
次に、動作について説明する。
図11は、第4の実施形態の処理経過の例を示すフローチャートである。まず、画素選択手段2が、基準画像から、予め定められた数の画素をランダムに選択する(ステップS51)。ステップS51の画素選択処理は、第1の実施形態におけるステップS1と同様である。
次に、前処理手段3cが1回目の前処理を行う(ステップS52)。図3に示すフローチャートを参照して、1回目の前処理(ステップS52)について説明する。
1回目の前処理(ステップS52)では、まず、微分手段31cが、基準画像から選択された各選択画素における微分∇Tを計算する(ステップS11)。具体的には、微分手段31cは、x方向の∇TRx(x,y)と、y方向の∇TRy(x,y)とを計算する。この計算は第1の実施形態における∇Tの計算と同様である。具体的には、式(3)、式(4)の計算を行って、∇TRx(x,y)および∇TRy(x,y)を計算すればよい。
∇Tの計算後、パラメータ更新量計算前処理手段32cは、選択画素毎に、変換W(X;p)に関するヤコビアン行列を計算する(ステップS12)。次に、パラメータ更新量計算前処理手段32cは、選択画素毎に、ステップS11で計算された∇Tと、ステップS12で計算したヤコビアン行列との積を計算する(ステップS13)。次に、パラメータ更新量計算前処理手段32は、ヘシアン行列Hを計算する(ステップS14)。ステップS12〜S14の処理も、第1の実施形態と同様である。
次に、パラメータ計算手段4cが、1回目のパラメータ計算処理を行う(ステップS53)。図4に示すフローチャートを参照して、1回目のパラメータ計算処理について説明する。
まず、変換後画素値計算手段41cは、基準画像Tから選択された選択画素に対応する入力画像I内の画素位置の座標を変換パラメータに基づいて変換し、画素値を補間する。変換後画素値計算手段41cは、この処理によって、I(W(X;p))を計算する(ステップS21)。次に、差分計算手段42cは、ステップS21で計算されたI(W(X;p))と、選択画素の画素値T(X)との差分を計算する(ステップS22)。次に、パラメータ更新量計算手段43cは、1回目の前処理におけるステップS13の計算結果と、ステップS22で計算された差分とを用いて、式(8)の計算を行う(ステップS23)。さらに、パラメータ更新量計算手段43cは、その計算結果と、ヘシアン行列とを用いて、変換パラメータの更新量Δpを計算する(ステップS24)。次に、パラメータ更新手段44cは、式(10)により、変換パラメータにΔpを合成し、変換パラメータを更新する(ステップS25)。このステップS21〜S25の処理は、第1の実施形態と同様である。
ステップS25の後、条件判定手段45cは、変換パラメータの更新の繰り返しを終了する所定の条件が満たされたか否かを判定する(ステップS26)。ここでは、説明を簡単にするため、式(11)が成立しているならば、所定の条件が満たされたと判定する場合を例にして説明する。式(11)の右辺に用いる閾値εの値は、1回目のパラメータ計算処理(ステップS53)が最も大きく、2回目のパラメータ計算処理(ステップS56)、3回目のパラメータ計算処理(ステップS59)の順に、小さくなっていくように設定する。すなわち、後のパラメータ計算処理ほど、ステップS21〜S26のループ処理の終了条件を厳しくする。ここでは、式(11)を用いて終了判定を行う場合を例にしているが、他の終了条件を用いる場合にも同様である。
式(11)が成立していなければ(ステップS26のNo)、パラメータ計算手段4cは、更新後の変換パラメータを用いて、ステップS21以降の処理を繰り返す。
式(11)が成立していれば(ステップS26のYes)、条件判定手段45cは、直近のステップS25で計算した変換パラメータを、一回目の変換パラメータ計算結果として決定する。以上の処理によって、パラメータ計算手段4cは、1回目のパラメータ計算処理(ステップS53)を終了する。
次に、動体画素判定手段7は、ステップS53で計算された変換パラメータを用いて、選択画素の中から動体領域の画素を判定し、その画素を選択画素から除外する(ステップS54)。
動体画素判定手段7は、動体領域に該当する画素を、例えば、以下のように判定すればよい。動体画素判定手段7は、ステップS53で計算した変換パラメータによって基準画像内の選択画素に変換される入力画像内の画素と、その変換画素とで、画素値の差分を計算する。動体画素判定手段7は、その差分が、予め定められた閾値以上であれば、その選択画素は動体領域の画素であると判定し、その差分が閾値未満であれば、その選択画素は動体領域の画素でないと判定すればよい。ただし、選択画素が動体領域の画素であるか否かを判定する方法は、この方法に限定されず、動体画素判定手段7は、他の方法で判定してもよい。
また、動体画素判定手段7は、動体領域の画素であると判定された選択画素を除外する時には、その選択画素の情報を選択画素記憶手段5から削除すればよい。
ステップS54の後、前処理手段31cは、除外されずに残った選択画素に関して、前処理を行う(ステップS55)。この前処理は、2回目の前処理に該当する。
2回目の前処理(ステップS55)では、前処理手段31cは、除外されずに残っている選択画素に関して、1回目の前処理(ステップS52)と同様の処理を行ってもよい。ただし、除外されずに残った選択画素に対するステップS11〜S13(図3参照)の処理は、1回目の前処理(ステップS52)で行うステップS11〜S13の処理と同一の処理であり、同じ処理結果が得られる。従って、3回目の前処理では、ステップS11〜S13の処理を省略して、1回目の前処理(ステップS52)におけるステップS11〜S13の結果を用いればよい。ただし、選択画素数が減少したことにより、ヘシアン行列Hに関しては、1回目の前処理と計算結果が異なる。従って、パラメータ更新量計算前処理手段32cは、ヘシアン行列Hの計算(ステップS14)に関しては、ステップS55において省略せずに実行する。パラメータ更新量計算前処理手段32cは、ヘシアン行列Hを式(7)の計算で求めればよい。
次に、パラメータ計算手段4cが、2回目のパラメータ計算処理を行う(ステップS56)。2回目のパラメータ計算処理(ステップS56)は、ステップS26における判定で用いる式(11)の右辺の閾値εを、1回目(ステップS53)よりも小さな値に設定する他は、ステップS53と同様である。
次に、動体画素判定手段7は、ステップS56で計算された変換パラメータを用いて、選択画素の中から動体領域の画素を判定し、その画素を、選択画素から除外する(ステップS57)。この処理は、ステップS54と同様である。
ステップS57の後、前処理手段31cは、除外されずに残った選択画素に関して、前処理を行う(ステップS58)。この前処理は、3回目の前処理に該当する。
3回目の前処理(ステップS58)では、前処理手段31cは、除外されずに残っている選択画素に関して、1回目の前処理(ステップS52)と同様の処理を行ってもよい。ただし、既に説明したように、除外されずに残った選択画素に対するステップS11〜S13(図3参照)の処理は、1回目の前処理(ステップS52)で行うステップS11〜S13の処理と同一の処理であり、同じ処理結果が得られる。従って、2回目の前処理と同様に、3回目の前処理でも、ステップS11〜S13の処理を省略して、1回目の前処理(ステップS52)におけるステップS11〜S13の結果を用いればよい。ただし、選択画素数が減少したことにより、ヘシアン行列Hに関しては、1回目や2回目の前処理と計算結果が異なる。従って、パラメータ更新量計算前処理手段32cは、ヘシアン行列Hの計算(ステップS14)に関しては、ステップS58において省略せずに実行する。パラメータ更新量計算前処理手段32cは、ヘシアン行列Hを式(7)の計算で求めればよい。
次に、パラメータ計算手段4cが、3回目のパラメータ計算処理を行う(ステップS59)。3回目のパラメータ計算処理(ステップS59)は、ステップS26における判定で用いる式(11)の右辺の閾値εを、2回目(ステップS56)よりも小さな値に設定する他は、ステップS56と同様である。
条件判定手段45cは、ステップS59で得られた変換パラメータを、入力画像から基準画像への変換を表すパラメータとして決定する。
第4の実施形態によれば、パラメータ計算手段4cが計算した変換パラメータを用いて、動体画素判定手段7が、選択画素の中から動体領域に属する画素を判定し、その画素を除外する。そして、前処理手段3cおよびパラメータ計算手段4cは、除外されずに残った選択画素(すなわち、動体領域以外の選択画素)に関して処理を行って、変換パラメータを計算する。従って、入力画像と基準画像間で動きのある被写体の影響を受けずに、高い精度で変換パラメータを計算することができる。
なお、ステップS57〜S59の処理を行わずに、ステップS56で得られた変換パラメータを、入力画像から基準画像への変換を表すパラメータとして決定してもよい。
また、ステップS54において除外された選択画素の数が予め定めた閾値以下である場合には、パラメータ導出手段6cは、動体が存在しないと判定し、以降の処理を行わずに、ステップS53で得られた変換パラメータを、入力画像から基準画像への変換を表すパラメータとして決定してもよい。同様に、ステップS57において除外された選択画素の数が予め定めた閾値以下である場合にも、パラメータ導出手段6cは、動体が存在しないと判定し、以降の処理を行わずに、ステップS56で得られた変換パラメータを、入力画像から基準画像への変換を表すパラメータとして決定してもよい。
また、ステップS59の後にも、ステップS57〜S59の処理と同様の処理を繰り返してもよい。この繰り返し数は、特に限定されない。ただし、3回目の変換パラメータ計算(ステップS59)までに、精度の高い変換パラメータが得られるので、処理量の増加を防ぐ観点からステップS59で処理を終えることが好ましい。
また、上記の説明では、前処理手段3cが、1回目の前処理(ステップS52、図11参照)では、ステップS11〜S14(図3参照)を実行し、2回目以降の前処理では、ステップS11〜S13を省略してヘシアン行列Hの計算(ステップS14)に関しては省略せずに実行する場合を示した。このとき、前処理手段3cは、2回目以降の前処理(ステップS55,S58)では、1回目の前処理におけるステップS11〜S13の結果を用いることで、ステップS11〜S13を省略している。上記の実施形態の変形例として、前処理手段3cが、2回目以降の前処理(ステップS55,S58)において、ヘシアン行列Hの計算(ステップS14)に関しても省略し、パラメータ計算手段4cは、1回目の前処理で計算されたヘシアン行列Hを用いて、2回目以降のパラメータ計算(ステップS56,S59)を行う構成としてもよい。すなわち、2回目以降の前処理(ステップS55,S58)において、パラメータ更新量計算前処理手段32cがヘシアン行列Hの計算を省略してもよい。なお、1回目の前処理では、前処理手段3cは、ヘシアン行列Hの計算を含むステップS11〜S14を全て省略せずに実行する。2回目以降の前処理でヘシアン行列の計算も省略することにより、前処理における処理量を減少させることができる。
1回目の前処理で計算されたヘシアン行列Hを用いて、パラメータ計算手段4cが2回目以降のパラメータ計算(ステップS56,S59)を行うということは、1回目の前処理で計算されたヘシアン行列Hを、ヘシアン行列の近似値として用いるということである。計算する変換パラメータの精度を高くする場合には、2回目以降のパラメータ計算(ステップS56,S59)でヘシアン行列の近似値を用いるのではなく、パラメータ更新量計算前処理手段32cがヘシアン行列Hの計算を省略せずに実行する構成とすればよい。
一方、前処理の処理量を減少させる場合には、2回目以降の前処理(ステップS55,S58)で、ステップS11〜S13と同様にヘシアン行列の計算も省略する構成とすればよい。
また、第4の実施形態に第3の実施形態を適用してもよい。すなわち、1回目の前処理(ステップS52)では、2回目以降の前処理(ステップS55,S58)に比べて、∇Tをぼかして計算してもよい。
また、第4の実施形態に第3の実施形態を適用する場合、1回目の前処理では、2回目以降の前処理に比べて、変換モデルのパラメータの自由度を減少させてもよい。例えば、1回目の前処理では、変換W(X;p)として、パラメータ自由度2の平行移動を適用して演算を行い、2回目以降の前処理では、パラメータ自由度6のアフィン変換を適用して演算を行ってもよい。なお、変換モデルの適用のさせ方は、この例に限定されない。例えば、1回目の前処理で、平行移動を適用し、2回目以降の前処理でホモグラフィ変換をしてもよい。この場合、変換後画素値計算手段41c、差分計算手段42c、パラメータ更新量計算手段43cおよびパラメータ更新手段44cは、1回目の前処理後のパラメータ計算時(ステップS53)には、1回目の前処理と同じ変換モデルを適用したW(X;p)を用いて演算を行い、2回目以降の前処理後のパラメータ計算時(ステップS56,S59)には、2回目以降の前処理(ステップS55,S58)と同じ変換モデルを適用したW(X;p)を用いて演算を行う。
第4の実施形態に第3の実施形態を適用する場合において、1回目の前処理と、2回目以降の前処理とでは、∇Tが異なることになる。従って、前処理手段3cは、2回目の前処理(ステップS55)においてステップS11〜S14の処理を全てやり直す。3回目の前処理では、ステップS11〜S13の処理を省略し、2回目の前処理(ステップS55)におけるステップS11〜S13の結果を用いればよい。ただし、既に説明したように、ヘシアン行列の計算(ステップS14)はやり直す。
また、第3の実施形態および第4の実施形態において、画像変換パラメータ算出装置1b,1cが、画素選択手段2(図7、図10参照)の代わりに、画素選択手段2a(図5参照)を備え、第2の実施形態と同様の方法で、ランダムに画素を選択してもよい。
上記の各実施形態において、画像変換パラメータ算出装置が、変換パラメータを求めた後に、その変換パラメータを用いて入力画像を変換してもよい。
次に、本発明の最小構成の例について説明する。図12は、本発明の最小構成の例を示すブロック図である。本発明の画像変換パラメータ算出装置は、画素選択手段2と、パラメータ導出手段6とを備える。
画素選択手段2は、第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択する。
パラメータ導出手段6は、画素選択手段によって選択された画素である選択画素に関して処理を行うことによって、第1の画像とともに画像位置あわせの対象となる第2の画像を第1の画像に変換する変換パラメータを導出する。
そのような構成によれば、画素選択手段2は、第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択し、その選択画素に関して処理を行って変換パラメータを導出する。従って、基準画像の大きさに依存せずに、選択画素数を一定数以下に抑え、その結果、変換パラメータ算出の処理コストを一定に抑えることができる。また、ランダムに画素を選択するので、基準画像の画素値に周期性があったとしても、選択画素の画素値に偏りが生じることを防止できるので、精度よく変換パラメータを算出することができる。
なお、上記の実施形態には、以下の(付記1)〜(付記12)に示すような画像変換パラメータ算出装置の特徴的な構成が開示されている。
(付記1)第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択する画素選択手段と、画素選択手段によって選択された画素である選択画素に関して処理を行うことによって、第1の画像とともに画像位置あわせの対象となる第2の画像を第1の画像に変換する変換パラメータを導出するパラメータ導出手段とを備えることを特徴とする画像変換パラメータ算出装置。
(付記2)画素選択手段が、第1の画像からランダムに画素を抽出する画素抽出手段と、画素抽出手段によって抽出された画素が所定の基準を満たすか否かを判定し、その画素が基準を満たすことを条件に、その画素を変換パラメータの導出に用いる画素として選択する基準判定手段とを含む付記1に記載の画像変換パラメータ算出装置。
(付記3)基準判定手段が、画素抽出手段によって抽出された画素の偏微分に基づいて、その画素が基準を満たすか否かを判定する付記2に記載の画像変換パラメータ算出装置。
(付記4)基準判定手段が、画素抽出手段によって抽出された画素が第1の画像のノイズ領域の画素であるか否かを判定し、画素がノイズ領域の画素でないという基準を満たすことを条件に、画素を変換パラメータの導出に用いる画素として選択する付記2に記載の画像変換パラメータ算出装置。
(付記5)パラメータ導出手段が導出した変換パラメータを用いて、画素選択手段によって選択された選択画素のうち動体の領域の画素となる選択画素を判定し、動体の領域の画素と判定した選択画素を、画素選択手段によって選択された選択画素から除外する動体画素判定手段を備え、パラメータ導出手段が、動体画素判定手段によって除外されずに残った選択画素に関して処理を行うことによって、第2の画像を第1の画像に変換する変換パラメータを再度導出する付記1から付記4のうちのいずれかに記載の画像変換パラメータ算出装置。
(付記6)パラメータ導出手段が、画素選択手段によって選択された各選択画素における微分を算出する微分手段(例えば、第3の実施形態における微分手段31)と、微分手段よりも広範囲の画素の画素値から各選択画素における微分を算出する第2の微分手段(例えば、第3の実施形態における第2の微分手段31b)と、画素選択手段によって選択された各選択画素におけるヤコビアン行列と、選択画素群に関するヘシアン行列を算出するパラメータ更新計算前処理手段(例えば、パラメータ更新量計算前処理手段32)と、予め定められた収束判定条件が満たされるまで、選択画素における微分、ヤコビアン行列およびヘシアン行列を用いて変換パラメータの更新を繰り返すパラメータ計算手段とを含み、第2の微分手段が、各選択画素における微分を算出し、パラメータ更新計算前処理手段が、その微分を用いてヤコビアン行列およびヘシアン行列を算出し、パラメータ計算手段が、その微分、ヤコビアン行列およびヘシアン行列を用いて、1回目のパラメータ更新繰り返し処理を行い、微分手段が、各選択画素における微分を算出し、パラメータ更新計算前処理手段が、その微分を用いてヤコビアン行列およびヘシアン行列を算出し、パラメータ計算手段が、その微分、ヤコビアン行列およびヘシアン行列を用いて、2回目のパラメータ更新繰り返し処理を行う付記1から付記4のうちのいずれかに記載の画像変換パラメータ算出装置。
(付記7)第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択する画素選択部と、画素選択部によって選択された画素である選択画素に関して処理を行うことによって、第1の画像とともに画像位置あわせの対象となる第2の画像を第1の画像に変換する変換パラメータを導出するパラメータ導出部とを備えることを特徴とする画像変換パラメータ算出装置。
(付記8)画素選択部が、第1の画像からランダムに画素を抽出する画素抽出部と、画素抽出部によって抽出された画素が所定の基準を満たすか否かを判定し、前記画素が前記基準を満たすことを条件に、前記画素を変換パラメータの導出に用いる画素として選択する基準判定部とを含む付記7に記載の画像変換パラメータ算出装置。
(付記9)基準判定部が、画素抽出部によって抽出された画素の偏微分に基づいて、前記画素が基準を満たすか否かを判定する付記8に記載の画像変換パラメータ算出装置。
(付記10)基準判定部が、画素抽出部によって抽出された画素が第1の画像のノイズ領域の画素であるか否かを判定し、前記画素がノイズ領域の画素でないという基準を満たすことを条件に、前記画素を変換パラメータの導出に用いる画素として選択する付記8に記載の画像変換パラメータ算出装置。
(付記11)パラメータ導出部が導出した変換パラメータを用いて、画素選択部によって選択された選択画素のうち動体の領域の画素となる選択画素を判定し、動体の領域の画素と判定した選択画素を、画素選択部によって選択された選択画素から除外する動体画素判定部を備え、パラメータ導出部が、動体画素判定部によって除外されずに残った選択画素に関して処理を行うことによって、第2の画像を第1の画像に変換する変換パラメータを再度導出する付記7に記載の画像変換パラメータ算出装置。
(付記12)パラメータ導出部が、画素選択部によって選択された各選択画素における微分を算出する微分部(例えば、第3の実施形態における微分手段31)と、前記微分部よりも広範囲の画素の画素値から各選択画素における微分を算出する第2の微分部(例えば、第3の実施形態における第2の微分手段31b)と、画素選択部によって選択された各選択画素におけるヤコビアン行列と、選択画素群に関するヘシアン行列を算出するパラメータ更新計算前処理部(例えば、パラメータ更新量計算前処理手段32)と、予め定められた収束判定条件が満たされるまで、選択画素における微分、ヤコビアン行列およびヘシアン行列を用いて変換パラメータの更新を繰り返すパラメータ計算部とを含み、第2の微分部が、各選択画素における微分を算出し、パラメータ更新計算前処理部が、前記微分を用いてヤコビアン行列およびヘシアン行列を算出し、パラメータ計算部が、前記微分、ヤコビアン行列およびヘシアン行列を用いて、1回目のパラメータ更新繰り返し処理を行い、微分部が、各選択画素における微分を算出し、パラメータ更新計算前処理部が、前記微分を用いてヤコビアン行列およびヘシアン行列を算出し、パラメータ計算部が、前記微分、ヤコビアン行列およびヘシアン行列を用いて、2回目のパラメータ更新繰り返し処理を行う付記7に記載の画像変換パラメータ算出装置。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2009年9月28日に出願された日本出願特願2009−223038を基礎とする優先権を主張し、その開示の全てをここに取り込む。
産業上の利用の可能性
本発明は、画像位置合わせにおける画像の変換パラメータを算出する画像変換パラメータ算出装置に好適に適用される。
1,1a,1b,1c 画像変換パラメータ算出装置
2,2a 画素選択手段
3,3b,3c 前処理手段
4,4c パラメータ計算手段
5 選択画素記憶手段
6,6b,6c パラメータ導出手段
7 動体画素判定手段
21 画素抽出手段
22 基準判定手段
31,31c 微分手段
31b 第2の微分手段
32,32c パラメータ更新量計算前処理手段
41,41c 変換後画素値計算手段
42,42c 差分計算手段
43,43c パラメータ更新量計算手段
44,44c パラメータ更新手段
45,45c 条件判定手段

Claims (11)

  1. 第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択する画素選択手段と、
    前記画素選択手段によって選択された画素である選択画素に関して、選択画素に対応する第2の画像の画素を変換したときの変換後の画素位置における画素値と第1の画像内の前記選択画素との差分を用いて変換パラメータの更新量を算出し、前記第2の画像の画素に対する変換の変換パラメータに前記更新量を合成または加算することによって変換パラメータを更新する処理を、前記更新量が更新量に関する閾値よりも小さくなるまで繰り返すことによって、第1の画像とともに画像位置あわせの対象となる第2の画像を第1の画像に変換する変換パラメータを導出するパラメータ導出手段とを備え、
    前記画素選択手段は、
    前記第1の画像からランダムに画素を抽出する画素抽出手段と、
    前記画素抽出手段によって抽出された画素の偏微分が画素の偏微分に関する閾値以上であるか否かを判定し、前記画素の偏微分が前記閾値以上であることを条件に、前記画素を変換パラメータの導出に用いる画素として選択する基準判定手段とを含む
    ことを特徴とする画像変換パラメータ算出装置。
  2. 選択画素に対応する第2の画像内の画素と、当該画素をパラメータ導出手段が導出した変換パラメータによって変換した画素との間で画素値の差分を計算し、当該差分が閾値以上となる選択画素を、動体の領域の画素と判定し、動体の領域の画素と判定した選択画素を、画素選択手段によって選択された選択画素から除外する動体画素判定手段を備え、
    パラメータ導出手段は、動体画素判定手段によって除外されずに残った選択画素に関して処理を行うことによって、第2の画像を第1の画像に変換する変換パラメータを再度導出する
    請求項1に記載の画像変換パラメータ算出装置。
  3. パラメータ導出手段は、
    画素選択手段によって選択された各選択画素における微分を算出する微分手段と、
    前記微分手段よりも広範囲の画素の画素値から各選択画素における微分を算出する第2の微分手段と、
    画素選択手段によって選択された各選択画素におけるヤコビアン行列と、選択画素群に関するヘシアン行列を算出するパラメータ更新計算前処理手段と、
    予め定められた収束判定条件が満たされるまで、選択画素における微分、ヤコビアン行列およびヘシアン行列を用いて変換パラメータの更新を繰り返すパラメータ計算手段とを含み、
    第2の微分手段が、各選択画素における微分を算出し、
    パラメータ更新計算前処理手段が、前記微分を用いてヤコビアン行列およびヘシアン行列を算出し、
    パラメータ計算手段が、前記微分、ヤコビアン行列およびヘシアン行列を用いて、1回目のパラメータ更新繰り返し処理を行い、
    微分手段が、各選択画素における微分を算出し、
    パラメータ更新計算前処理手段が、前記微分を用いてヤコビアン行列およびヘシアン行列を算出し、
    パラメータ計算手段が、前記微分、ヤコビアン行列およびヘシアン行列を用いて、2回目のパラメータ更新繰り返し処理を行う
    請求項1または請求項2に記載の画像変換パラメータ算出装置。
  4. 第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択する画素選択手段と、
    前記画素選択手段によって選択された画素である選択画素に関して、選択画素に対応する第2の画像の画素を変換したときの変換後の画素位置における画素値と第1の画像内の前記選択画素との差分を用いて変換パラメータの更新量を算出し、前記第2の画像の画素に対する変換の変換パラメータに前記更新量を合成または加算することによって変換パラメータを更新する処理を、前記更新量が更新量に関する閾値よりも小さくなるまで繰り返すことによって、第1の画像とともに画像位置あわせの対象となる第2の画像を第1の画像に変換する変換パラメータを導出するパラメータ導出手段とを備え、
    前記画素選択手段は、
    前記第1の画像からランダムに画素を抽出する画素抽出手段と、
    前記画素抽出手段によって抽出された画素が第1の画像のノイズ領域の画素であるか否かをバイラテラルフィルタによって判定し、前記画素がノイズ領域の画素でないことを条件に、前記画素を変換パラメータの導出に用いる画素として選択する基準判定手段とを含む
    ことを特徴とする画像変換パラメータ算出装置。
  5. 選択画素に対応する第2の画像内の画素と、当該画素をパラメータ導出手段が導出した変換パラメータによって変換した画素との間で画素値の差分を計算し、当該差分が閾値以上となる選択画素を、動体の領域の画素と判定し、動体の領域の画素と判定した選択画素を、画素選択手段によって選択された選択画素から除外する動体画素判定手段を備え、
    パラメータ導出手段は、動体画素判定手段によって除外されずに残った選択画素に関して処理を行うことによって、第2の画像を第1の画像に変換する変換パラメータを再度導出する
    請求項4に記載の画像変換パラメータ算出装置。
  6. 第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択し、
    選択した画素である選択画素に関して、選択画素に対応する第2の画像の画素を変換したときの変換後の画素位置における画素値と第1の画像内の前記選択画素との差分を用いて変換パラメータの更新量を算出し、前記第2の画像の画素に対する変換の変換パラメータに前記更新量を合成または加算することによって変換パラメータを更新する処理を、前記更新量が更新量に関する閾値よりも小さくなるまで繰り返すことによって、第1の画像とともに画像位置あわせの対象となる第2の画像を第1の画像に変換する変換パラメータを導出し、
    前記第1の画像からランダムに画素を抽出し、
    抽出した画素の偏微分が画素の偏微分に関する閾値以上であるか否かを判定し、前記画素の偏微分が前記閾値以上であることを条件に、前記画素を変換パラメータの導出に用いる画素として選択する
    ことを特徴とする画像変換パラメータ算出方法。
  7. 第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択し、
    選択した画素である選択画素に関して、選択画素に対応する第2の画像の画素を変換したときの変換後の画素位置における画素値と第1の画像内の前記選択画素との差分を用いて変換パラメータの更新量を算出し、前記第2の画像の画素に対する変換の変換パラメータに前記更新量を合成または加算することによって変換パラメータを更新する処理を、前記更新量が更新量に関する閾値よりも小さくなるまで繰り返すことによって、第1の画像とともに画像位置あわせの対象となる第2の画像を第1の画像に変換する変換パラメータを導出し、
    前記第1の画像からランダムに画素を抽出し、
    抽出した画素が第1の画像のノイズ領域の画素であるか否かをバイラテラルフィルタによって判定し、前記画素がノイズ領域の画素でないことを条件に、前記画素を変換パラメータの導出に用いる画素として選択する
    ことを特徴とする画像変換パラメータ算出方法。
  8. 選択画素に対応する第2の画像内の画素と、当該画素を変換パラメータによって変換した画素との間で画素値の差分を計算し、当該差分が閾値以上となる選択画素を、動体の領域の画素と判定し、動体の領域の画素と判定した選択画素を、選択した選択画素から除外し、
    除外されずに残った選択画素に関して処理を行うことによって、第2の画像を第1の画像に変換する変換パラメータを再度導出する
    請求項6または請求項7に記載の画像変換パラメータ算出方法。
  9. コンピュータに、
    第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択する画素選択処理、および、
    前記画素選択処理で選択された画素である選択画素に関して、選択画素に対応する第2の画像の画素を変換したときの変換後の画素位置における画素値と第1の画像内の前記選択画素との差分を用いて変換パラメータの更新量を算出し、前記第2の画像の画素に対する変換の変換パラメータに前記更新量を合成または加算することによって変換パラメータを更新する処理を、前記更新量が更新量に関する閾値よりも小さくなるまで繰り返すことによって、第1の画像とともに画像位置あわせの対象となる第2の画像を第1の画像に変換する変換パラメータを導出するパラメータ導出処理を実行させ、
    前記画素選択処理で、
    前記第1の画像からランダムに画素を抽出する画素抽出処理、および
    前記画素抽出処理で抽出された画素の偏微分が画素の偏微分に関する閾値以上であるか否かを判定し、前記画素の偏微分が前記閾値以上であることを条件に、前記画素を変換パラメータの導出に用いる画素として選択する基準判定処理を実行させるための画像変換パラメータ算出プログラム。
  10. コンピュータに、
    第1の画像からランダムに、予め定められた所定数または当該所定数以下の画素を選択する画素選択処理、および、
    前記画素選択処理で選択された画素である選択画素に関して、選択画素に対応する第2の画像の画素を変換したときの変換後の画素位置における画素値と第1の画像内の前記選択画素との差分を用いて変換パラメータの更新量を算出し、前記第2の画像の画素に対する変換の変換パラメータに前記更新量を合成または加算することによって変換パラメータを更新する処理を、前記更新量が更新量に関する閾値よりも小さくなるまで繰り返すことによって、第1の画像とともに画像位置あわせの対象となる第2の画像を第1の画像に変換する変換パラメータを導出するパラメータ導出処理を実行させ、
    前記画素選択処理で、
    前記第1の画像からランダムに画素を抽出する画素抽出処理、および
    前記画素抽出処理で抽出された画素が第1の画像のノイズ領域の画素であるか否かをバイラテラルフィルタによって判定し、前記画素がノイズ領域の画素でないことを条件に、前記画素を変換パラメータの導出に用いる画素として選択する基準判定処理を実行させるための画像変換パラメータ算出プログラム。
  11. コンピュータに、
    選択画素に対応する第2の画像内の画素と、当該画素をパラメータ導出処理で導出された変換パラメータによって変換した画素との間で画素値の差分を計算し、当該差分が閾値以上となる選択画素を、動体の領域の画素と判定し、動体の領域の画素と判定した選択画素を、画素選択処理で選択された選択画素から除外する処理を実行させ、
    除外されずに残った選択画素に関してパラメータ導出処理を再度実行させることによって、第2の画像を第1の画像に変換する変換パラメータを再度導出させる
    請求項9または請求項10に記載の画像変換パラメータ算出プログラム。
JP2011532899A 2009-09-28 2010-09-09 画像変換パラメータ算出装置、画像変換パラメータ算出方法およびプログラム Active JP5712925B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011532899A JP5712925B2 (ja) 2009-09-28 2010-09-09 画像変換パラメータ算出装置、画像変換パラメータ算出方法およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009223038 2009-09-28
JP2009223038 2009-09-28
JP2011532899A JP5712925B2 (ja) 2009-09-28 2010-09-09 画像変換パラメータ算出装置、画像変換パラメータ算出方法およびプログラム
PCT/JP2010/005518 WO2011036851A1 (ja) 2009-09-28 2010-09-09 画像変換パラメータ算出装置、画像変換パラメータ算出方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2011036851A1 JPWO2011036851A1 (ja) 2013-02-14
JP5712925B2 true JP5712925B2 (ja) 2015-05-07

Family

ID=43795621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011532899A Active JP5712925B2 (ja) 2009-09-28 2010-09-09 画像変換パラメータ算出装置、画像変換パラメータ算出方法およびプログラム

Country Status (3)

Country Link
US (1) US8897601B2 (ja)
JP (1) JP5712925B2 (ja)
WO (1) WO2011036851A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2780888B1 (en) 2011-11-17 2019-08-14 Koninklijke Philips N.V. Processing an image containing one or more artifacts
GB2544786A (en) * 2015-11-27 2017-05-31 Univ Of East Anglia Method and system for generating an output image from a plurality of corresponding input image channels
US11403773B2 (en) * 2020-03-28 2022-08-02 Wipro Limited Method of stitching images captured by a vehicle, and a system thereof
WO2022190663A1 (ja) * 2021-03-08 2022-09-15 日本電産株式会社 表面検査装置およびプログラム
CN113077378B (zh) * 2021-03-31 2024-02-09 重庆长安汽车股份有限公司 一种基于车载摄像头的图像处理及目标识别方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235357A (ja) * 1995-02-24 1996-09-13 Mitsubishi Electric Corp 画像処理装置
JP2002516440A (ja) * 1998-05-18 2002-06-04 データキューブ,インコーポレイテッド 画像認識および相関システム
JP2009104228A (ja) * 2007-10-19 2009-05-14 Tokyo Institute Of Technology 画像位置合わせ方法及び画像位置合わせプログラム
JP2009116730A (ja) * 2007-11-08 2009-05-28 Handotai Rikougaku Kenkyu Center:Kk 画像処理装置及び方法
JP2009124552A (ja) * 2007-11-16 2009-06-04 Olympus Corp ノイズ低減システム、ノイズ低減プログラム及び撮像システム。

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235357A (ja) * 1995-02-24 1996-09-13 Mitsubishi Electric Corp 画像処理装置
JP2002516440A (ja) * 1998-05-18 2002-06-04 データキューブ,インコーポレイテッド 画像認識および相関システム
JP2009104228A (ja) * 2007-10-19 2009-05-14 Tokyo Institute Of Technology 画像位置合わせ方法及び画像位置合わせプログラム
JP2009116730A (ja) * 2007-11-08 2009-05-28 Handotai Rikougaku Kenkyu Center:Kk 画像処理装置及び方法
JP2009124552A (ja) * 2007-11-16 2009-06-04 Olympus Corp ノイズ低減システム、ノイズ低減プログラム及び撮像システム。

Also Published As

Publication number Publication date
WO2011036851A1 (ja) 2011-03-31
US8897601B2 (en) 2014-11-25
JPWO2011036851A1 (ja) 2013-02-14
US20130064451A1 (en) 2013-03-14

Similar Documents

Publication Publication Date Title
US8306121B2 (en) Method and apparatus for super-resolution of images
JP5712925B2 (ja) 画像変換パラメータ算出装置、画像変換パラメータ算出方法およびプログラム
WO2010098054A1 (ja) 画像補正装置及び画像補正方法
JP2007000205A (ja) 画像処理装置及び画像処理方法並びに画像処理プログラム
JP2005317011A (ja) 高解像度画像を発生する方法、デジタル画像編集ツールおよび媒体
JP5166156B2 (ja) 解像度変換装置、方法およびプログラム
WO2018139461A1 (ja) 移動物体検出装置、移動物体検出方法及び記憶媒体
JP2012208553A (ja) 画像処理装置、および画像処理方法、並びにプログラム
CN114339030B (zh) 一种基于自适应可分离卷积的网络直播视频稳像方法
JP6202879B2 (ja) ローリングシャッタ歪み補正と映像安定化処理方法
JP2013175003A (ja) Psf推定方法とそれを用いた劣化画像の復元方法およびこれらを記録したプログラムとそれを実行するコンピュータ装置
JP2008217526A (ja) 画像処理装置、画像処理プログラム及び画像処理方法
JP2020086891A (ja) 画像処理装置、画像処理システム、撮像装置、画像処理方法、プログラム、および、記憶媒体
CN113724155A (zh) 用于自监督单目深度估计的自提升学习方法、装置及设备
JP5566199B2 (ja) 画像処理装置およびその制御方法、並びにプログラム
JP5034554B2 (ja) 相関演算装置、相関演算方法及びプログラム
JP6079076B2 (ja) 物体追跡装置及び物体追跡方法
JP5617841B2 (ja) 画像処理装置、画像処理方法および画像処理用プログラム
JP6371515B2 (ja) X線画像処理装置、x線画像処理方法、及びプログラム
JP4985542B2 (ja) 対応点探索装置
CN109313795B (zh) 用于超分辨率处理的方法和设备
CN101473350A (zh) 全局运动估计
Khosravi et al. A new statistical technique for interpolation of landsat images
EP2424243A1 (en) Motion estimation using integral projection
JP5927053B2 (ja) 画像処理装置、画像処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141001

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150223

R150 Certificate of patent or registration of utility model

Ref document number: 5712925

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150