【文献】
上瀧 剛 Gou Koutaki,明るさ変動および雑音に頑健な固有値分解テンプレート法 Robust Template Matching against Intensity Variations and Noise Using Eigen Decomposed Templates,電気学会論文誌C Vol.131 No.9 IEEJ,日本,(社)電気学会 The Institute of Electrical Engineers of Japan,2011年 9月 1日,第131巻,pp.1625-1632
(58)【調査した分野】(Int.Cl.,DB名)
照合の対象物の画像であるテンプレート画像を用いた照合を行うことで、入力画像に存在する照合の対象物の画像部分の幾何変換パラメータの値を決定する画像処理方法であって、
前記テンプレート画像に幾何変換を加えることで、前記幾何変換の量が異なる複数の幾何変換後の前記テンプレート画像からなる第1の画像群を生成する第1の画像群生成ステップと、
前記第1の画像群に固有値分解を施すことで、前記複数の幾何変換後の前記テンプレート画像と同数の固有値および固有関数を算出する固有値分解ステップと、
複数の前記固有関数と前記第1の画像群との内積演算を施すことで、第2の画像群を生成する第2の画像群生成ステップと、
前記第1の画像群の各画像について、前記第2の画像群の各画像との相関を表す所定の実数である相関値を各成分の値とする相関値ベクトルを生成する相関値ベクトル生成ステップと、
前記入力画像の各画素について、前記第2の画像群の画像のうち次数が最も低い最低次数画像と前記入力画像との関係について算出される前記相関値に基づき、前記入力画像の画素のうち前記最低次数画像についての前記相関値が相対的に低い画素を処理対象から除外する画素除外ステップと、
前記入力画像について、前記相関値を各成分の値とする特徴ベクトルを生成する特徴ベクトル生成ステップと、
前記相関値ベクトル生成ステップで生成された複数の前記相関値ベクトルのうち、前記特徴ベクトルに最も近似する前記相関値ベクトルを選出するベクトル選出ステップと、
前記画素除外ステップにより除外された画素以外の処理対象となる画素について、前記ベクトル選出ステップにより選出された前記相関値ベクトルに対応する前記幾何変換パラメータの値の近傍の範囲で、連続曲線で表され前記入力画像と前記第2の画像群との類似度合いを示す画像類似度を算出する画像類似度算出ステップと、
前記画像類似度算出ステップで算出された前記画像類似度に基づき、前記幾何変換パラメータの値を決定する照合ステップと、を備える、
画像処理方法。
【発明を実施するための形態】
【0020】
本発明は、複数のテンプレート画像を固有値分解することで得られた固有値分解テンプレート画像に基づいて算出される、画像の類似度を示す相関値を用いることで、入力画像中に存在する対象物の幾何変換パラメータを推定するものである。そして、本発明は、入力画像と固有値分解テンプレート画像との照合を行うに際し、固有値分解テンプレート画像の畳込みの結果を利用し、入力画像において対象物が存在する領域(位置)の絞込みと、推定する幾何変換パラメータの値(方向角等)の範囲の絞込みとを行うことで、高速かつ高精度な照合を行おうとするものである。以下、本発明の実施の形態を説明する。
【0021】
[画像処理方法の目的]
図1に示すように、本実施形態に係る画像処理方法は、照合の対象物の画像であるテンプレート画像1を用いた照合を行うことで、入力画像2に存在する照合の対象物の画像部分である対象画像部分3の幾何変換パラメータの値を決定する。ここで、幾何変換パラメータとしては、例えば、方向角および2次元座標値(XY座標値)が用いられる。
【0022】
すなわち、本実施形態の画像処理方法では、入力画像2に対して、テンプレート画像1の照合が行われることにより、テンプレート画像1の入力画像2に対する近似度合いである画像類似度が最も高くなる方向角および2次元座標値を求める処理が行われる。したがって、本実施形態の画像処理方法によれば、照合結果として、テンプレート画像1を基準とする入力画像2中の対象画像部分3の方向角および2次元座標値が求められる。
【0023】
具体的には、
図1に示すように、照合結果に含まれる方向角としては、例えば、テンプレート画像1の方向角を示す基準線O1に対する、対象画像部分3の傾き(回転角度)θが求められる。また、照合結果に含まれる2次元座標値としては、例えば、入力画像2における所定の位置(
図1に示す例では、入力画像2の左上の角の位置)を原点O2とした場合の対象画像部分3の中心位置C1の2次元座標値(XY座標値)が求められる。
【0024】
本実施形態の画像処理方法は、例えば、部品の検査等を行うための産業用の画像処理に用いられる。このため、本実施形態の画像処理方法において、テンプレート画像1は、例えば、検査対象となる部品と同じ部品がカメラ等の撮像手段によって撮像されることにより取得され、予め準備される。入力画像2は、例えば、部品の検査においては、検査対象となる部品をカメラ等の撮像手段によって撮像することにより取得され、テンプレート画像1の照合の対象となる。以下では、本実施形態の画像処理方法の具体的な処理内容について説明する。
【0025】
[画像処理方法の概略]
本実施形態の画像処理方法の概略について、
図2に示すフロー図を用いて説明する。
図2に示すように、本実施形態の画像処理では、まず、テンプレート画像1の入力が行われる(S10)。ここでは、上述したようにカメラ等の撮像手段によって取得されて予め準備されたテンプレート画像1が、本実施形態の画像処理方法を実行するコンピュータ等の演算装置に入力される。
【0026】
次に、固有値分解テンプレート画像の生成が行われる(S20)。ここで、固有値分解テンプレート画像とは、上記のとおり入力されたテンプレート画像1に幾何変換を施し、その幾何変換後のテンプレート画像に固有値分解を施すことで得られる固有関数と、幾何変換後のテンプレート画像とから得られる画像である。
【0027】
次に、辞書の生成が行われる(S30)。ここで、辞書とは、上述した固有値分解テンプレート画像と入力画像2との照合によって、幾何変換後のテンプレート画像の各画像に対応して得られるベクトル群である。
【0028】
次に、入力画像2の入力が行われる(S40)。ここでは、上述したように例えば検査対象となる部品がカメラ等の撮像手段によって撮像することにより取得された入力画像2が、コンピュータ等の演算装置に入力される。
【0029】
続いて、3段階の絞込みをともなう画像照合が行われる(S50)。この画像照合の過程で行われる絞込みには、入力画像2において対象物が存在する領域、つまり対象画像部分3を含む画像領域を推定することによる、処理対象となる画素の絞込みと、決定する幾何変換パラメータの値の範囲の絞込みとが含まれる。この画像照合の結果として、入力画像2についての方向角と2次元座標値(XY座標値)とが検出される。
【0030】
そして、ステップS50における画像照合の結果に基づき、入力画像2についての方向角および2次元座標値が、それぞれ検出姿勢および検出位置として出力される(S60)。このように、本実施形態の画像処理方法では、決定すべき幾何変換パラメータとして、入力画像2についての方向角および2次元座標値が採用される。以下では、本実施形態の画像処理方法の詳細な処理内容について説明する。
【0031】
[画像処理方法の詳細]
本実施形態の画像処理方法においては、テンプレート画像1に幾何変換を加えて第1の画像群としての変換後テンプレート画像群を生成する処理が行われる。つまり、変換後テンプレート画像群は、幾何変換後のテンプレート画像1(以下「変換後テンプレート画像」という。)、言い換えるとテンプレート画像1に幾何変換を加えたものからなる画像群である。テンプレート画像1に加えられる幾何変換としては、例えば、方向角を変化させる回転や、2次元座標値を変化させる平行移動が行われる。
【0032】
具体的には、テンプレート画像1に加える幾何変換として、方向角を変化させる回転が行われる場合、例えば、テンプレート画像1を1°ピッチで回転させることで、変換後テンプレート画像群を生成する処理が行われる。この処理によれば、方向角が1°ピッチで異なる360枚の変換後テンプレート画像が生成され、この360枚の変換後テンプレート画像が、変換後テンプレート画像群として得られる。
【0033】
また、テンプレート画像1に加える幾何変換として、2次元座標値を変化させる平行移動が行われる場合、例えば、テンプレート画像1が128×128(ピクセル)の場合において、テンプレート画像1の中心位置(中心の2次元座標値)を8×8(ピクセル)の範囲で1(ピクセル)ピッチで平行移動させることで、変換後テンプレート画像群を生成する処理が行われる。この処理によれば、中心位置(中心の2次元座標値)が1(ピクセル)ピッチで異なる64枚の変換後テンプレート画像が生成され、この64枚の変換後テンプレート画像が、変換後テンプレート画像群として得られる。
【0034】
このように、本実施形態の画像処理方法においては、テンプレート画像1に幾何変換を加えることで、幾何変換の量が異なる複数の変換後テンプレート画像からなる変換後テンプレート画像群を生成する第1の画像群生成ステップが行われる。ここで、幾何変換の量は、幾何変換が方向角の場合、テンプレート画像1の方向角を基準とした画像の回転量に対応し、幾何変換が2次元座標値の場合、テンプレート画像1の2次元座標値を基準とした画像の平行移動量に対応する。したがって、幾何変換の量は、幾何変換パラメータの値の大きさに対応する。
【0035】
なお、テンプレート画像1に加える幾何変換としては、方向角および2次元座標値のほか、例えば、画像の歪み、ぼけの量、焦点深度、台形歪み等の画像歪み等であってもよい。また、テンプレート画像1に加える幾何変換としては、前記のような幾何変換のいずれか一つが用いられる場合に限らず、複数の幾何変換が組み合わせて用いられてもよい。
【0036】
本実施形態の画像処理方法においては、変換後テンプレート画像群に固有値分解を施して固有値および固有関数を算出する処理が行われる。ここでは、変換後テンプレート画像群を構成する変換後テンプレート画像と同数の固有値および固有関数が算出される。
【0037】
したがって、上述したように、テンプレート画像1に加える幾何変換として方向角が用いられ、360枚の変換後テンプレート画像からなる変換後テンプレート画像群が生成される場合、その360枚の画像からなる変換後テンプレート画像群に対して固有値分解が行われ、360個の固有値および固有関数が得られる。また、テンプレート画像1に加える幾何変換として2次元座標値が用いられ、64枚の変換後テンプレート画像からなる変換後テンプレート画像群が生成される場合、その64枚の画像からなる変換後テンプレート画像群に対して固有値分解が行われ、64個の固有値および固有関数が得られる。
【0038】
固有値分解を施すことで算出される固有関数としては、例えば、
図3に示すように、波形p1〜p3で表わされる固有関数φ
1(θ)〜φ
3(θ)が得られる。これらの固有関数群は、主成固有関数群と言える。波形p1〜p3を示す各グラフにおいて、横軸はテンプレート画像1を基準とする方向角(θ)を示し、縦軸は固有関数値を示す。波形p1〜p3に示すように、固有関数として得られる波形は、方向角について固有関数値が連続的に存在する連続波形である。
【0039】
固有関数においては、
図3の波形p1〜p3に示すように、方向角の変化にともなって固有関数値が周期的に変動する。これらの固有関数は、本実施形態の画像処理方法において、後述する相関値(r
n)が掛け合わせられることで、画像類似度を表す関数(P
n(θ))として算出される。
【0040】
このように、本実施形態の画像処理方法においては、第1の画像群生成ステップの後に、変換後テンプレート画像群に固有値分解を施すことで、複数の変換後テンプレート画像と同数の固有値および固有関数を算出する固有値分解ステップが行われる。
【0041】
本実施形態の画像処理方法においては、上記のとおり算出された複数の固有関数と変換後テンプレート画像群とを内積演算して新たな画像群を生成する処理が行われる。ここで生成される新たな画像群が、本実施形態での第2の画像群に相当する。以下の説明では、ここで生成される新たな画像群を「固有値分解テンプレート画像群」という。
【0042】
固有値分解テンプレート画像群としては、例えば、
図3において固有値分解テンプレート画像E1〜E3に示すような複数の画像が得られる。各固有値分解テンプレート画像E1〜E3は、固有関数を表す各波形p1〜p3にそれぞれ対応する。
【0043】
このように、本実施形態の画像処理方法においては、固有値分解ステップの後に、複数の固有関数と変換後テンプレート画像群との内積演算を施すことで、固有値分解テンプレート画像群を生成する第2の画像群生成ステップが行われる。
【0044】
本実施形態の画像処理方法においては、入力画像2について、固有値分解テンプレート画像群に対する画像類似度を算出する処理が行われる。
【0045】
画像類似度の算出の原理について説明する。なお、ここでは、上述した第1の画像群生成ステップでテンプレート画像1に加えられる幾何変換が方向角であるとして説明する。
【0046】
テンプレート画像1をT(x,y)、入力画像2をf(x,y)、テンプレート画像T(x,y)をθ回転させた画像、つまり変換後テンプレート画像をT(x,y;θ)でそれぞれ表すとすると、テンプレート画像1と入力画像2との画像類似度g(θ)は、次式(1)により計算される。なお各画像を表すx,yは、画像におけるピクセルの2次元座標値を示す。
【0048】
g(θ)をθ方向に沿って固有関数列φ
n(θ),(n=0,1,2,・・・)で展開を行うと、次式(2)となる。
【0050】
上記式(2)の積分演算の順序を交換して次式(3)が得られる。
【0052】
ここで、次式(4)として定義するE
n(x,y)は、変換後テンプレート画像T(x,y;θ)と固有関数φ
n(θ)との内積で計算される画像、つまり固有値分解テンプレート画像となる。
【0054】
上記式(4)で表わされる画像は、入力画像f(x,y)と分離して計算することができる。したがって、事前にE
n(x,y)を計算しておくことで、その後、入力画像f(x,y)が与えられることにより、E
n(x,y)との照合結果から、全方向角の画像類似度(g(θ))を計算することができる。
【0055】
全方向角の画像類似度(g(θ))としては、例えば、
図3に示すように、波形p1〜p3で表わされる固有関数φ
1(θ)〜φ
3(θ)が所定の比率で足し合わせることで得られる波形qsが算出される。波形qsに示すように、全方向角の画像類似度(g(θ))として得られる波形は、方向角について画像類似度が連続的に存在する連続波形(連続曲線)である。つまり、画像類似度(g(θ))は、方向角(θ)方向についての画像類似度の分布を表す。
【0056】
画像類似度(g(θ))は、具体的には次のようにして算出される。
図3に示す例では、固有関数φ
1(θ)〜φ
3(θ)には、それぞれ相関値r
1〜r
3が掛け合わされる。固有関数φ
1(θ)〜φ
3(θ)に相関値r
1〜r
3が掛け合わされることで、画像類似度を表す関数P
1(θ)〜P
3(θ)が算出される。
図3に示すように、関数P
1(θ)〜P
3(θ)は、固有関数φ
1(θ)〜φ
3(θ)としての波形p1〜p3が所定の比率で表された波形q1〜q3により表され、この所定の比率が、相関値r
1〜r
3に相当する。関数P
1(θ)〜P
3(θ)を表す波形q1〜q3を示す各グラフにおいて、横軸はテンプレート画像1を基準とする方向角(θ)を示し、縦軸は画像類似度を示す。そして、関数P
1(θ)〜P
3(θ)が足し合わされることで、波形qsで表される画像類似度(g(θ))が算出される。ここで、相関値r
nは、固有値分解テンプレート画像群の各固有値分解テンプレート画像との相関を表す所定の実数であり、入力画像2の場合は、固有値分解テンプレート画像群の各固有値分解テンプレート画像と入力画像2との相関を表す所定の実数であり、次式(5)として定義される。
【0058】
このように、相関値r
nは、f(x,y)で表される入力画像2と、上記式(4)で表される固有値分解テンプレート画像群との内積値となる。したがって、上記式(3)および式(5)から、画像類似度(g(θ))は、次式(6)により表わされる。
g(θ)=Σr
n×φ
n(θ) ・・・(6)
【0059】
以上のように、本実施形態の画像処理方法においては、連続曲線で表され入力画像2と固有値分解テンプレート画像群との類似度合いを示す画像類似度を算出する処理が行われる。また、画像類似度の算出に用いられる相関値r
nは、入力画像2についての各固有値分解テンプレート画像に対する「応答値」ということができる。本明細書では、固有値分解テンプレート画像群と入力画像2とから相関値r
nを算出することを「畳込み」といい、相関値r
nを算出するための演算を「畳込み演算」という。
【0060】
そして、本実施形態の画像処理方法では、上記のとおり算出された画像類似度(g(θ))に基づいて、テンプレート画像1を基準とする入力画像2の幾何変換パラメータの値(実数値)を決定する処理が行われる。つまり、この処理では、テンプレート画像1と入力画像2との照合が、上記のとおり算出された画像類似度(g(θ))の値を指標として行われる。
【0061】
具体的には、
図3に示すように、画像類似度(g(θ))である波形qsにおいて、画像類似度が最大となる方向角θaが、テンプレート画像1を基準とする入力画像2の幾何変換パラメータの値として決定される。つまり、本実施形態の画像処理方法の照合結果として、テンプレート画像1を基準とする入力画像2の方向角が、方向角θaとして算出される。
【0062】
ここで、照合結果として得られた方向角θaは、テンプレート画像1の方向角を基準(0°)とした場合における画像の回転角度に対応する。つまり、この場合、テンプレート画像1が360°回転する範囲において、角度θa回転させられた状態のテンプレート画像1が、入力画像2との関係において画像類似度が最も高くなる。
【0063】
また、本実施形態の画像処理方法においては、上述したように変換後テンプレート画像群に固有値分解を施す固有値分解ステップの後に、固有値分解ステップで算出された複数の固有関数のうち、固有値の大きな順に、所定の数の固有関数を選択する固有関数選択ステップが行われる。
【0064】
本実施形態の画像処理方法においては、固有値分解ステップにおいて、複数の変換後テンプレート画像と同数の固有値および固有関数が算出される。つまり、上記のとおり1°ピッチの回転がテンプレート画像1に対して幾何変換として加えられることで360枚の変換後テンプレート画像が得られる場合、360個の固有値および固有関数が算出される。この場合、固有値分解テンプレート画像群の生成に際して全ての固有関数が用いられると、固有値分解テンプレート画像群は、360枚の固有値分解テンプレート画像となる。
【0065】
そこで、固有値分解ステップで算出された変換後テンプレート画像と同数の固有関数のうち、所定の数の固有関数が選択される。そして、固有関数の選択は、固有値が大きい方から行われる。つまり、固有関数選択ステップにおいては、固有値分解ステップで算出された複数の固有関数のうち、固有値が大きい側から所定の数だけ選択される。したがって、例えば、上記のとおり360個の固有関数が算出される場合、そのうち固有値が大きい側の60個の固有関数が選択される。このことは、固有値が大きい固有関数ほど、最終的に算出される、入力画像2と固有値分解テンプレート画像群との画像類似度に対する影響が大きい(寄与度が高い)ことに基づく。
【0066】
このような固有関数選択ステップが行われる場合、上述した第2の画像群生成ステップにおいては、固有関数選択ステップで選択された複数の固有関数と変換後テンプレート画像群との内積演算が施されることで、固有値分解テンプレート画像群が生成される。つまり、固有関数選択ステップによれば、固有値分解ステップで算出された複数の固有関数のうち、固有値が大きい側の一部の固有関数が用いられて、固有値分解テンプレート画像群の生成が行われる。
【0067】
このような固有関数選択ステップは、具体的には、上記式(3)において、級数を所定の数で打ち切り近似することに対応する。ここで、式(3)の級数をM個で打ち切り近似する場合、式(3)は、次式(7)で表わされる。
【0069】
このとき、少ない次数Mでg(θ)を近似することができる固有関数列φ
n(θ)を選ぶことにより、全方向角での画像類似度が、M枚の画像E
n(x,y)との照合により計算することができる。そして、固有関数列φ
n(θ)の選び方として、変換後テンプレート画像列T(x,y;θ)の固有値λ
nおよび固有関数φ
n(θ)を算出し、固有値の大きな順から、M個の固有関数を選ぶ。
【0070】
具体的には、θ={θ
1,θ
2,・・・,θ
N}と離散化して得られるベクトルφ
n、テンプレート画像T
i(x,y)=T(x,y;θ
i)として、次式(8)の行列固有値問題を解くことで、固有ベクトルφ
nおよび固有値λ
nが得られる。
Cφ
n=λ
nφ
n ・・・(8)
【0071】
ここで、行列Cは、i行j番目の要素を、次式(9)とする共分散行列である。
【0073】
式(9)において、μ
iは、T
i(x,y)の平均濃度値である。本固有ベクトルを用いて得られる画像E
n(x,y)が、固有値分解テンプレート画像に相当する。
【0074】
以上のような各処理を行う画像処理方法においては、
図3に示す波形qsで表されるような画像類似度(g(θ))の算出が、入力画像2の全画素について、かつ、全方向角(全姿勢)について行われた場合、計算量が膨大となり、実用化に際して処理時間の面で問題がある。
【0075】
具体的には、全方向角についての画像類似度(g(θ))の算出を行う場合、入力画像2の1画素に対して、変換後テンプレート画像の枚数をN、上述したような級数の打ち切りにおける近似次数をMとした場合、N×M回の演算が必要となる。したがって、例えば、変換後テンプレート画像の枚数N=360、入力画像2の画素数が512×512(ピクセル)、近似次数M=60の場合、入力画像2の全画素について、かつ、全方向角(全姿勢)について画像類似度(g(θ))の算出が行われる場合、360×60×512×512=5,662,310,400(回)、つまり約60億回の演算が必要となる。
【0076】
そこで、本実施形態の画像処理方法では、入力画像2についての画像の照合を行うに際し、畳込みの結果としての相関値を利用し、決定すべき幾何変換パラメータについて、入力画像2において対象画像部分3が存在する領域(画素)の絞込み、つまり位置(2次元座標値)の絞込みと、姿勢(方向角)の絞込みとを行う。このように、本実施形態の画像処理方法では、位置(2次元座標値)に関しては、入力画像2の画素のうち、対象画像部分3が存在する見込みのない画素についてはそもそも演算処理の対象とはせず、また、姿勢(方向角)に関しては、おおよそのθの値を推定後、その値の範囲内について、詳細な演算を行うことで、幾何変換パラメータについての粗密探索を行う。
【0077】
まず、上述した絞込みのうち、位置(2次元座標値)の絞込みについて説明する。入力画像2において、テンプレート画像1とのマッチングの度合いが高い部分は、最も低い次数である0次の固有値分解テンプレート画像の応答値である相関値も高い。ここでの相関値は、入力画像2の各画素について、固有値分解テンプレート画像群の各固有値分解テンプレート画像との相関を表す値として算出されるものである。
【0078】
そこで、
図4に示すように、対象画像部分3を有する入力画像2と、最低次数画像である0次の固有値分解テンプレート画像4との照合として畳込みが行われ、入力画像2の各画素について、最低次数画像についての相関値である0次の相関値r
0の算出が行われる。具体的には、上記式(5)により、畳込み演算が行われ、0次の相関値r
0が求められる。
【0079】
図4には、この入力画像2と0次の固有値分解テンプレート画像4との畳込みの結果として得られる0次相関画像5が示されている。0次相関画像5は、入力画像2の各画素に対応する画素ついての0次の応答値、つまり0次の相関値r
0の大小を色の濃淡で表したものである。
図4に示す例では、0次相関画像5において、相関値r
0が大きい画素ほど薄い色で示されている。したがって、
図4において符号「5a」で示す白い部分が、相関値r
0が比較的大きい部分であって、対象画像部分3が存在する部分であると判断することが可能となる。
【0080】
そこで、位置の絞込みでは、0次の相関値r
0について所定の閾値を予め設定し、入力画像2の画素のうち、算出された0次の相関値r
0が所定の閾値以上の画素を、上述したような画像類似度(g(θ))の算出処理等の処理対象とする。すなわち、入力画像2の画素に関し、所定の閾値をArとした場合、0次の相関値r
0≧Arとなる画素については、画像類似度(g(θ))の算出処理等の処理対象とし、それ以外の画素、つまり0次の相関値r
0<Arとなる画素については、処理対象から除外する。所定の閾値Arの値は、例えば30等である。
【0081】
このように、位置の絞込みとして、0次の相関値r
0が所定の閾値Ar未満の画素については、処理対象から除外して幾何変換パラメータについての探索を打ち切る。そして、0次の相関値r
0が所定の閾値Ar以上の画素のみを処理対象とし、幾何変換パラメータについての探索を行う。
【0082】
このように、本実施形態の画像処理方法では、入力画像2の各画素について、固有値分解テンプレート画像群の画像である固有値分解テンプレート画像のうち次数が最も低い最低次数画像である0次の固有値分解テンプレート画像4と入力画像2との関係について算出される0次の相関値r
0に基づき、入力画像2の画素のうち0次の相関値r
0が相対的に低い画素を処理対象から除外する画素除外ステップが行われる。
【0083】
なお、位置の絞込みを行う画素除外ステップにおいて、上述した例では、0次の相関値r
0について設定した所定の閾値Arを用い、0次の相関値r
0が所定の閾値Ar未満の画素を処理対象から除外する処理を採用している。この点、画素除外ステップの処理としては、入力画像2の画素毎の0次の相関値r
0に基づいて、0次の相関値r
0が相対的に低い画素を処理対象から除外する処理であれば、その具体的な処理内容については限定されない。画素除外ステップの処理としては、例えば、0次の相関値r
0が所定の閾値Ar以下の画素を処理対象から除外する処理であってもよく、また、算出した0次の相関値r
0について所定の演算を施したものを所定の閾値の比較対象とする処理であってもよい。以上のようにして、位置(2次元座標値)の絞込みが行われる。
【0084】
次に、姿勢(方向角)の絞込みについて説明する。ここで、姿勢の絞込みの説明に際し、上述したような級数の打ち切りにおける近似次数Mと、方向角の推定精度との関係について、
図5を用いて説明する。
【0085】
図5に、全方向角の画像類似度(g(θ))として得られる相関波形g(θ)のうち、近似次数M=60で近似した相関波形G1と、近似次数M=10で近似した相関波形G2とを示す。
図5では、近似次数M=60で近似した相関波形G1を実線のグラフで示し、近似次数M=10で近似した相関波形G2を一点鎖線のグラフで示している。また、
図5に示すグラフにおいて、横軸は幾何変換パラメータとしての方向角(θ)であり、縦軸は、画像類似度(g(θ))である。このような相関波形のグラフのピークの位置が、決定すべき方向角(姿勢)となる。
【0086】
幾何変換パラメータとしての方向角については、近似次数Mの値が大きいほど、高精度に方向角を推定することができる。
図5に示すように、近似次数M=60の相関波形G1においては、近似次数M=10の相関波形G2と比べて、波形の凹凸が大きくはっきりと表れている。つまり、近似次数M=10の相関波形G2が全体的になだらかな形状であるのに対し、近似次数M=60の相関波形G1においては緩急が比較的大きく表れる。
【0087】
このため、上述したように画像類似度(g(θ))の波形において画像類似度が最大となる方向角(
図3、方向角θa参照)を幾何変換パラメータの値として決定するに際しては、なだらかな近似次数M=10の相関波形G2よりも、凹凸が大きい近似次数M=60の相関波形G1の方が、波形のピークが明確となり、決定すべき方向角について高い検出精度が得られる。しかしながら、近似次数Mの値が大きいほど、計算量が多くなり、処理時間が長くなる。
【0088】
一方、近似次数Mの値がある程度小さくても、おおまかな方向角(姿勢)を推定することができる。
図5に示す例では、近似次数M=10の相関波形G2において決定される方向角θa10は、近似次数M=60の相関波形G1において決定される方向角θa60の近傍に位置する。つまり、近似次数M=10の相関波形G2によっても、決定される方向角についてある程度の検出精度が得られる。
【0089】
そこで、姿勢の絞込みとして、比較的小さい値の近似次数M(=10)の相関波形によって方向角を決定し、その決定した方向角の近傍の範囲を、幾何変換パラメータとしての方向角の探索の対象とする。つまり、幾何変換パラメータとして決定すべき方向角、言い換えると、ある程度大きい近似次数M(=60)の相関波形によって決定される方向角は、比較的小さい値の近似次数M(=10)の相関波形によって決定した方向角の近傍の範囲に存在すると言えるので、その近傍の範囲を、方向角の探索の対象とする。そして、その方向角の探索の対象とされた、小さい値の近似次数M(=10)の相関波形によって決定した方向角の近傍の範囲について、大きな近似次数M(=60)の相関波形を用いて、詳細に方向角を推定する。以下の説明では、このように姿勢の絞込みの処理において方向角の探索の対象を規定する近傍の範囲の基準として決定する方向角を「第1の推定方向角」という。
【0090】
図5に示す例において、仮に、近似次数M=10の相関波形G2において決定される方向角θa10を第1の推定方向角θ
A1(°)とすると、第1の推定方向角θ
A1(°)の近傍の範囲B1は、例えば、θ
A1±5°の範囲として設定される。この場合、幾何変換パラメータとしての方向角の探索の対象が、第1の推定方向角θ
A1を中心とする10°の角度範囲となり、方向角についての探索の対象が、全方向角、つまり360°の角度範囲に対して1/36の範囲に絞り込まれる。なお、第1の推定方向角に対する近傍の範囲を規定する数値(±5°等)は、近似次数M等によって適宜設定される。
【0091】
本実施形態の画像処理方法では、変換後テンプレート画像についての各固有値分解テンプレート画像に対する相関値a
nが用いられて、第1の推定方向角が求められる。具体的には、次のような手法により、第1の推定方向角が求められる。
【0092】
第1の推定方向角を求めるに際しては、変換後テンプレート画像と固有値分解テンプレート画像との照合によって、変換後テンプレート画像群の各変換後テンプレート画像に対応する相関値ベクトルが算出される。つまり、変換後テンプレート画像群の変換後テンプレート画像の枚数と同数の相関値ベクトルが算出される。これらの相関値ベクトルからなるベクトル群が、上述したように本実施形態の画像処理方法において作成される辞書に相当する(
図2、S30参照)。
【0093】
図6に示すように、本実施形態の画像処理方法では、変換後テンプレート画像群として、方向角が1°ピッチで異なる360枚の変換後テンプレート画像(θ=0〜359)が生成される。これらの各変換後テンプレート画像に対応して、同数の(360個の)相関値ベクトルv0〜359が生成される。
【0094】
相関値ベクトルの各成分は、変換後テンプレート画像と、固有値分解テンプレート画像群との畳込みによって得られる相関値a
nである。したがって、相関値ベクトルは、変換後テンプレート画像に対する畳込みの対象となる固有値分解テンプレート画像4の数と同数の成分(次元)からなる。つまり、各θの値に対応する変換後テンプレート画像の相関値ベクトルは、その変換後テンプレート画像と、各次数の固有値分解テンプレート画像4との関係において算出される相関値a
nを各成分とする。言い換えると、相関値ベクトルは、変換後テンプレート画像自身に固有値分解テンプレート画像4を畳み込むことで得られるものであり、各変換後テンプレート画像について各固有値分解テンプレート画像4の畳込みの応答値を並べたベクトルである。
【0095】
具体的には、上記式(5)において、入力画像2を表すf(x,y)の代わりに、変換後テンプレート画像を表す関数であるT(x,y,θ)が用いられることで、変換後テンプレート画像についての相関値a
nが算出される。つまり、相関値a
nは、次式(10)として定義される。
【0097】
図6に示す例では、相関値ベクトルのうち、θ=0の変換後テンプレート画像に対応する相関値ベクトルv0と、θ=30の変換後テンプレート画像に対応する相関値ベクトルv30と、θ=170の変換後テンプレート画像に対応する相関値ベクトルv170とが示されている。θ=0の相関値ベクトルv0については、θ=0の変換後テンプレート画像と0次の固有値分解テンプレート画像E0との相関を表す0次の相関値は、「5.0」である。同様に、1次の固有値分解テンプレート画像E1との相関を表す1次の相関値は、「2.0」であり、2次の固有値分解テンプレート画像E2との相関を表す2次の相関値は、「3.3」であり、3次の固有値分解テンプレート画像E3との相関を表す3次の相関値は、「4.4」である。
【0098】
同様にして、θ=30の相関値ベクトルv30については、0次の相関値は「5.3」であり、1次の相関値は「−2.2」であり、2次の相関値は、「6.3」であり、3次の相関値は、「2.4」である。また、θ=170の相関値ベクトルv170については、0次の相関値は「4.3」であり、1次の相関値は「4.2」であり、2次の相関値は、「2.3」であり、3次の相関値は、「−2.4」である。このようにして、変換後テンプレート画像と同数の360個の相関値ベクトルv0〜v359が算出される。
【0099】
以上のように、本実施形態の画像処理方法においては、変換後テンプレート画像群の各変換後テンプレート画像について、固有値分解テンプレート画像群の各固有値分解テンプレート画像4との相関を表す所定の実数である相関値a
nを各成分の値とする相関値ベクトルv0〜v359を生成する相関値ベクトル生成ステップが行われる。
【0100】
この相関値ベクトル生成ステップにおいて生成される相関値ベクトルについて、その成分の数は、上記のとおり変換後テンプレート画像群に対する畳込みの対象となる固有値分解テンプレート画像4の数と同数になる。本実施形態では、上述したような固有関数選択ステップが行われた場合、固有値分解テンプレート画像群として生成される固有値分解テンプレート画像4の数は、近似次数Mに相当する。したがって、生成された全ての固有値分解テンプレート画像4が畳込みの対象とされた場合、相関値ベクトルは、近似次数Mの数と同数の成分を有する。つまり、この場合、近似次数M=60のときには、相関値ベクトルの成分の数は60個となる。
【0101】
このような相関値ベクトルの成分の数については、計算量を削減して処理速度を向上させる観点からは、近似次数Mよりも少ない方が好ましい。そこで、相関値ベクトルの算出処理においては、生成された全てであるM個の固有値分解テンプレート画像4のうちの一部であるK(<M)個の固有値分解テンプレート画像4が選択されて用いられる。
【0102】
具体的には、例えば、近似次数M=60の場合、言い換えると60枚の固有値分解テンプレート画像4が生成される場合、K=10〜20枚程度の固有値分解テンプレート画像4が選択され、相関値ベクトルの算出処理において畳込みの対象とされる。つまり、相関値ベクトルの次元は、K(<M)次元となる。K=10の場合、相関値ベクトルの成分の数が10個となる。
【0103】
このような固有値分解テンプレート画像4の選択においては、その選択の基準として、例えば、上述したような固有関数選択ステップにおける固有関数の選択と同様に、固有値の大きさが用いられる。すなわち、第2の画像群生成ステップで生成された近似次数Mと同数の固有値分解テンプレート画像4のうち、固有値が大きい方から選択された固有関数に対応する所定の数の固有値分解テンプレート画像4が選択される。したがって、例えば、固有値分解テンプレート画像4の選択数K=10の場合、固有値が大きい側から10個の固有関数に対応する10枚の固有値分解テンプレート画像4が選択される。このことは、上述のとおり、固有値が大きい固有関数ほど、最終的に算出される、入力画像2と固有値分解テンプレート画像群との画像類似度に対する影響が大きい(寄与度が高い)ことに基づく。
【0104】
以上のように、本実施形態の画像処理方法においては、相関値ベクトル生成ステップを行うに際して、第2の画像群生成ステップで生成された固有値分解テンプレート画像群の各固有値分解テンプレート画像4のうち、固有値の大きな順に、所定の数の(K枚の)固有値分解テンプレート画像4を選択する画像選択ステップが行われる。
【0105】
この画像選択ステップにおいて選択される固有値分解テンプレート画像4についての所定の数(K)は、生成される全ての固有値分解テンプレート画像4の数に相当する近似次数M、つまり上述した固有関数選択ステップにおける所定の数よりも少ない方が好ましい。したがって、固有関数選択ステップにおいて選択される固有関数の数についての「所定の数」を「第1の所定数」とした場合、この画像選択ステップにおいて選択される固有値分解テンプレート画像4の数についての「所定の数」は、「第1の所定数よりも小さい第2の所定数」であることが好ましい。つまり、上述した固有関数選択ステップが行われない場合においても、この画像選択ステップを行い、変換後テンプレート画像と同数生成された全ての(N枚の)固有値分解テンプレート画像から一部の枚数の固有値分解テンプレート画像4を選択することで、相関値ベクトルの生成処理において計算量を削減することができる。
【0106】
そして、画像選択ステップが行われた場合、相関値ベクトル生成ステップは、画像選択ステップで選択されたK(<M)枚の固有値分解テンプレート画像4を用いて、相関値ベクトルを生成する。つまり、この場合、相関値ベクトル生成ステップでは、N枚の変換後テンプレート画像とK枚の固有値分解テンプレート画像4との畳込み演算により、K個の成分を有するN個の相関値ベクトルv0〜v359が生成される。
【0107】
このような相関値ベクトルの算出は、上述した画素除外ステップにより除外された画素以外の処理対象となる画素(以下「処理対象画素」という。)の全てについて、画素毎に行われる。
【0108】
以上のようにN個の相関値ベクトルが算出された後、相関値ベクトルの比較対象となる特徴ベクトルの生成が行われる。特徴ベクトルは、処理対象画素の全てについて画素毎に算出されるものであり、その画素の位置での、入力画像2に対する固有値分解テンプレート画像4の相関値を各成分とする。
【0109】
特徴ベクトルの各成分は、入力画像2と、固有値分解テンプレート画像群との畳込みによって得られる相関値r
nである。したがって、特徴ベクトルは、入力画像2に対する畳込みの対象となる固有値分解テンプレート画像4の数と同数の成分(次元)からなる。つまり、特徴ベクトルは、入力画像2と各次数の固有値分解テンプレート画像4との関係において算出される相関値r
nを各成分とする。言い換えると、特徴ベクトルは、入力画像2について各固有値分解テンプレート画像4の畳込みの応答値を並べたベクトルである。
【0110】
特徴ベクトルの各成分となる相関値r
nは、上記式(5)により算出される。特徴ベクトルVt={t0,t1,t2,・・・,t(K−1)}とした場合、t0が入力画像2と0次の固有値分解テンプレート画像E0との相関を表す0次の相関値r
0、t1が入力画像2と1次の固有値分解テンプレート画像E1との相関を表す1次の相関値r
1、t2が入力画像2と2次の固有値分解テンプレート画像E2との相関を表す2次の相関値r
2、t(K−1)が入力画像2と(K−1)次の固有値分解テンプレート画像との相関を表す(K−1)次の相関値r
K−1となる。
【0111】
このような特徴ベクトルVtは、上記のとおり処理対象画素の全ての画素について得られるものであり、処理対象画素の位置にK枚の固有値分解テンプレート画像4を平行移動させて画像照合した結果得られるものと言える。ここで、処理対象画素の位置にK枚の固有値分解テンプレート画像4を平行移動させることは、各固有値分解テンプレート画像4の中心の位置を、処理対象画素の2次元座標値(XY座標値)に合わせることに相当する。
【0112】
このように、本実施形態の画像処理方法においては、入力画像2について、相関値r
nを各成分の値とする特徴ベクトルVtを生成する特徴ベクトル生成ステップが行われる。
【0113】
以上のように、処理対象画素の各画素について、N個の相関値ベクトル、および特徴ベクトルVtが生成された後、特徴ベクトルVtを用いて、N個の相関値ベクトルから1つの相関値ベクトルを選出する処理が行われる。具体的には、N個の相関値ベクトルから、特徴ベクトルVtに最も近似する相関値ベクトルが選出される。
【0114】
図7に、相関値ベクトルおよび特徴ベクトルを座標空間にプロットした状態を模式的に示す。
図7では、便宜上、座標空間を3つの相関値a
0、a
1、a
2の3軸で示しているが、相関値ベクトルおよび特徴ベクトルVtはいずれもK次元であり、座標空間は相関値a
0〜a
(K−1)のK次元空間で表される。また、
図7では、便宜上、相関値ベクトルについてθ=0〜5までの5個の相関値ベクトルを示しているが、実際にはθ=0〜359の360個の相関値ベクトルが存在する。
【0115】
このように共通の座標空間にプロットされる相関値ベクトルおよび特徴ベクトルVtにおいて、特徴ベクトルVtに最も近似する相関値ベクトルが選出される。
図7に示す例では、特徴ベクトルVtに最も近似する相関値ベクトルは、θ=0の相関値ベクトルV[i]0である。
【0116】
特徴ベクトルVtに最も近似する相関値ベクトルを求める手法としては、近似近傍探索等と称されるアルゴリズムによる手法が用いられる。なお、特徴ベクトルVtに最も近似する相関値ベクトルを求める手法としては、距離空間において点の集合から最も近い点を探索する手法であれば、近似近傍探索のほか、適宜周知の手法を用いることができる。ここで用いられる手法としては、例えば、Kd−Treeを用いる手法、K−meansを用いる手法、ベクトル量子化を用いる手法等の、探索木を使用する手法が挙げられる。また、他の例としては、多次元のベクトル値{a0,a1,・・・,aN}とそれに対応する出力値の対応関係を記したテーブル(置換表、ハッシュテーブル法など)を用いる手法が挙げられる。
【0117】
このように、本実施形態の画像処理方法においては、相関値ベクトル生成ステップで生成された複数の相関値ベクトルのうち、特徴ベクトルVtに最も近似する相関値ベクトルを選出するベクトル選出ステップが行われる。
【0118】
このベクトル選出ステップにおいては、N枚の変換後テンプレート画像、および入力画像2のそれぞれについての固有値分解テンプレート画像4を畳み込んだ応答値のベクトルの比較により、入力画像2の姿勢(方向角)が大まかに探索される。つまり、相関値ベクトルのベクトル群である辞書の探索が行われる。
【0119】
そして、このベクトル選出ステップで選出された相関値ベクトルのθの値が、上述した第1の推定方向角θ
A1となる。ベクトル選出ステップで選出された相関値ベクトルのθの値は、最終的に決定する幾何変換パラメータとしての方向角の値としては精度が十分であるとは言えないが、第1の推定方向角θ
A1としては十分な精度を有する。
【0120】
このようにして求められた第1の推定方向角の近傍の角度範囲が、幾何変換パラメータとしての方向角の探索の対象となる。以上のようにして、姿勢(方向角)の絞込みが行われる。姿勢の絞込みは、処理対象画素の全ての画素について、それぞれ行われる。
【0121】
以上のような姿勢の絞込みによって絞り込まれた方向角θの値の範囲、即ち第1の推定方向角θ
A1±α(°)の範囲(以下「絞込み角度範囲θ
A1±α」とする。)について、詳細な演算により、方向角の値が探索される。すなわち、上述したようなある程度大きい近似次数M(=60)による画像類似度(g(θ))の算出が、絞込み角度範囲θ
A1±αについてのみ行われ、その範囲の一部分の画像類似度(g(θ))の相関波形から、画像類似度が最大となる方向角(
図3、方向角θa参照)が算出される。そして、この画像類似度が最大となる方向角の算出が処理対象画素の全ての画素について行われ、これらの処理対象画素のうち、方向角を決定する最大の画像類似度が最大となる画素が導かれ、その画素の2次元座標およびその画素について決定された方向角とが、それぞれ幾何変換パラメータとしての位置(2次元座標値)および姿勢(方向角)として決定される。
【0122】
したがって、まず、絞込み角度範囲θ
A1±αについて、ある程度大きい近似次数Mによる画像類似度(g(θ))の相関波形の算出が行われる。具体的には、上記式(3)あるいは式(7)により算出される画像類似度(g(θ))としての相関波形のうち、絞込み角度範囲θ
A1±αの範囲の部分が算出される。αの値は、近似次数Mの値等によって適宜設定されるが、計算量を削減して処理速度の向上を図る観点からは、10(°)以下、好ましくは5(°)以下の値に設定される。
【0123】
図8に、近似次数M=60の場合の例を示す。
図8に示す相関波形G1は、上記式(7)においてM=60として算出される相関波形である。この近似次数M=60の相関波形G1のうち、実線で示す絞込み角度範囲θ
A1±αの部分G1a(範囲B1の部分)が、画像類似度(g(θ))としての相関波形として算出される。
【0124】
すなわち、
図8を参照すると、画像類似度が全方向角(0〜359°)について算出された場合は、相関波形G1において二点鎖線で示す部分を含む波形の全体が算出されるが、上述したような姿勢の絞込みによって検索の対象となる方向角の範囲が絞り込まれ、姿勢の絞込みによって得られた角度範囲である絞込み角度範囲θ
A1±αの部分G1aについてのみ、相関波形の算出、つまり画像類似度の算出が行われる。
【0125】
このように、本実施形態の画像処理方法においては、処理対象画素について、ベクトル選出ステップにより選出された相関値ベクトルに対応する幾何変換パラメータの値である第1の推定方向角θ
A1の値の近傍の範囲、すなわち絞込み角度範囲θ
A1±αで、画像類似度(g(θ))を算出する画像類似度算出ステップが行われる。
【0126】
次に、上記のとおり算出された絞込み角度範囲θ
A1±αの画像類似度(g(θ))の相関波形に基づいて、最終的な検出結果としての幾何変換パラメータである位置(2次元座標値)と姿勢(方向角)の値が決定される。具体的には次のとおりである。
【0127】
入力画像2の画素数を512×512とし、上述した画素除外ステップで除外された後の処理対象画素が全体画素数の約1/4の65,000画素とする。この場合、65,000画素の全ての画素について、上述したような姿勢の絞込みが行われ、絞込み角度範囲θ
A1±αの画像類似度(g(θ))の算出が行われる。したがって、65,000画素の各画素について、絞込み角度範囲θ
A1±αから、画像類似度(g(θ))が最大となる方向角が算出される。この絞込み角度範囲θ
A1±αにおける最大の画像類似度(g(θ))に対応する方向角を、「第2の推定方向角θA2」とする。そして、65,000の画素のうち、第2の推定方向角θ
A2に対応する画像類似度(以下「最大画像類似度」という。)が最も大きい画素についての位置と、その画素についての第2の推定方向角θ
A2が、それぞれ最終的な幾何変換パラメータの値としての位置(2次元座標値)と姿勢(方向角)として決定される。
【0128】
このように、本実施形態の画像処理方法においては、画像類似度算出ステップで算出された画像類似度に基づき、幾何変換パラメータである位置(2次元座標値)および姿勢(方向角)の値を決定する照合ステップが行われる。すなわち、照合ステップは、処理対象画素のうち、画像類似度算出ステップにより算出された最大画像類似度が最も大きな画素の位置を、幾何変換パラメータの2次元座標値の値として決定し、最大画像類似度が最も大きな画素についての最大画像類似度に対応する方向角(第2の推定方向角θ
A2)を、幾何変換パラメータの方向角として決定する。こうした照合ステップでは、固有関数の連続性に起因する画像類似度の連続性に着目し、幾何変換パラメータの実数値が決定される。
【0129】
以上のように、本実施形態の画像処理方法は、固有値分解テンプレート画像による畳込みによって得られる相関値を頼りに、入力画像2において対象画像部分3が存在する位置(2次元座標値)、および対象画像部分3の姿勢(方向角)について、絞込みを多段的に行うことで、幾何変換パラメータについての検出精度を維持しつつ、計算量の削減を図ろうとするものである。このような本実施形態の画像照合方法は、まとめると次のような3段階の照合(探索)を行う処理方法と言える。
【0130】
1段目は、0次の固有値分解テンプレート画像との畳込みの応答値(相関値r
0)を頼りに、閾値処理により、入力画像2に対して対象画像部分3が存在する可能性が高い領域(XY位置)の絞込みを行い、処理対象画素を決定する処理である。かかる処理によって決定された処理対象画素以外の画素については、幾何変換パラメータの探索の対象から外される。すなわち、この1段目の処理は、上述した位置(2次元座標値)の絞込みの処理であり、画素除外ステップでの処理に相当する。
【0131】
2段目は、N枚の変換後テンプレート画像および入力画像2のそれぞれについて、近似次数Mよりも少ないK(<M)枚の固有値分解テンプレート画像4との畳込み応答値により得られる相関値ベクトルおよび特徴ベクトルVtに基づいて、検索対象とする方向角の範囲の絞込みを行い、大まかな姿勢(方向角)を推定する処理である。すなわち、この2段目の処理は、上述した姿勢(方向角)の絞込みの処理であり、相関値ベクトル生成ステップ、画像選択ステップ、特徴ベクトル生成ステップ、およびベクトル選出ステップの各ステップでの処理を含む。
【0132】
3段目は、1段目および2段目の処理によって絞り込まれた位置(2次元座標値)および姿勢(方向角)について、従来と同様に、M枚の固有値分解テンプレート画像4との畳込みの応答値から相関値を算出し、画像類似度に基づいて精密な探索を行う。すなわち、この3段目の処理は、上述した画像類似度算出ステップでの処理に相当する。
【0133】
以上のような本実施形態の画像処理方法によれば、複数のテンプレート画像1を固有値分解することで得られた固有値分解テンプレート画像4に基づいて算出される、画像の類似度を示す相関値を用いた画像照合技術において、精度を維持しながら、計算量を大幅に削減することができ処理速度の向上を図ることができる。
【0134】
また、本実施形態の画像処理方法において、上述したように、固有値の大きな順に固有関数の一部を選択する固有関数選択ステップを行うことで、検出精度を確保しながら、処理時間のさらなる短縮化を図ることができる。すなわち、本実施形態に係る固有関数選択ステップによれば、変換後テンプレート画像と同数(N個)の固有関数のうち、画像類似度への影響(寄与度)が大きい一部の(M個の)固有関数が用いられる。これにより、算出された固有関数の全てを用いる場合との比較において、決定される幾何変換パラメータについては十分な精度を確保することができるとともに、選択しない固有関数の分、処理速度を上げることができ、処理時間をさらに短くすることができる。
【0135】
この点、本実施形態の画像処理においては、近似次数Mの値の調整により、処理時間と検出精度の調整が可能となる。すなわち、処理時間の短縮よりも検出精度が優先される場合は、近似次数Mの値を大きく設定し、逆に、検出精度よりも処理時間の短縮が優先される場合は、近似次数Mの値を小さく設定する。
【0136】
さらに、本実施形態の画像処理方法において、上述したように、姿勢(方向角)の絞込み処理を行うに際し、固有値の大きな順に固有値分解テンプレート画像4の一部を選択する画像選択ステップを行うことで、検出精度を確保しながら、処理時間のさらなる短縮化を図ることができる。すなわち、本実施形態に係る画像選択ステップによれば、固有関数と同数(例えばM個)のうち、画像類似度への影響(寄与度)が大きい一部の(K枚の)固有値分解テンプレート画像4が用いられる。これにより、算出された固有値分解テンプレート画像4の全てを用いる場合との比較において、決定される幾何変換パラメータについては十分な精度を確保することができるとともに、選択しない固有値分解テンプレート画像4の分、処理速度を上げることができ、処理時間をさらに短くすることができる。
【0137】
本実施形態の画像処理方法により、次のような実験結果が得られている。従来手法、すなわち処理対象を入力画像2の全画素とし、しかも方向角の探索対象を全方向角とする手法を用いた場合、処理時間(計算時間)が7000[msec]であるのに対し、本実施形態の画像処理方法によれば、処理時間が500[msec]となるという実験結果が得られている。この実験結果によると、本実施形態の画像処理方法によれば、従来手法に対して10倍程度の高速化を図ることができる。なお、この実験結果は、入力画像2の画像サイズが標準サイズである512×512画素、変換後テンプレート画像の数N=360、近似次数M=60、姿勢(方向角)の絞込み処理で用いられる固有値分解テンプレート画像4の枚数K=20という条件のもとで得られたものである。
【0138】
また、本実施形態の画像処理方法によれば、テンプレート画像を回転させながら照合を行う回転照合法等の、幾何変換を用いた従来の画像照合技術に対して、少ない照合回数で同等の精度を確保することができ、処理時間を大幅に短縮することができる。
【0139】
また、本実施形態の画像処理方法においては、次のような手法を採用することができる。本実施形態の画像処理方法においては、上述したようにテンプレート画像1に幾何変換を加えることで得られる変換後テンプレート画像群の枚数が多いほど、固有関数の連続度は高くなる。そこで、本実施形態の画像処理方法では、変換後テンプレート画像の枚数を無限大に増やすことができる。つまり、上述したような本実施形態の画像処理方法における一連の処理において、変換後テンプレート画像群を構成する変換後テンプレート画像の枚数を、数学的に無限大とする。
【0140】
この場合、行列の固有値問題の上記式(8)が、次式(11)のようになる。
【数9】
【0141】
上記式(11)において、K(s,t)は、次式(12)により表される。
【数10】
【0142】
すなわち、行列の固有値問題ではなく、式(11)は、微分方程式の問題に変換される。変換後テンプレート画像の枚数を無限大に増やすことで、固有関数は、真の意味で連続関数となる。例えば、この連続関数を多項式で近似して、解析的に表すことも可能である。
【0143】
固有関数を多項式で表現することで、相関値を用いた固有関数の重み付き和である画像類似度関数(画像類似度g)も、多項式で表現される。多項式で表現された画像類似度関数の最大値を見つける処理は、多項式を微分して0となる位置を見つければよい。このように、変換後テンプレート画像の枚数を無限大に増やすことにより、パラメータの推定値を解析的に求めることが可能となり、幾何学的パラメータの値の推定精度を非常に高くすることができる。
【0144】
また、本実施形態の画像処理方法においては、入力画像2について決定される幾何変換パラメータは、方向角および2次元座標値を含み、テンプレート画像1に加えられる幾何変換は、方向角を変化させる回転および2次元座標値を変化させる平行移動を含むことが好ましい。
【0145】
方向角および2次元座標値は、産業用の画像照合処理において比較的多用される幾何変換パラメータであり、また、2次元的な幾何変換パラメータであることから、比較的単純な演算処理により本実施形態の画像処理方法を行うことができる。このため、高い汎用性を得ることができる。
【0146】
また、本実施形態の画像処理方法においては、入力画像2について決定される幾何変換パラメータは、射影変換に必要なパラメータを含み、テンプレート画像1に加えられる幾何変換は、射影変換を含む。
【0147】
射影変換は、アフィン変換をも含む一般的な射影変換であり、所定の変換式により、元の画像の座標(x,y)を、投影面における座標(x’,y’)に変換するものである。したがって、射影変換に必要なパラメータは、射影変換の一般式における係数である。
【0148】
したがって、本実施形態の画像処理方法において、テンプレート画像1に加えられる幾何変換として射影変換が用いられる場合、第1の画像群生成ステップにおいて、テンプレート画像1に射影変換が加えられることで、変換後テンプレート画像群が生成される。そして、照合ステップにおいて、入力画像2の幾何変換パラメータの値として、射影変換の一般式における係数の値が決定される。
【0149】
また、本実施形態の画像処理方法においては、入力画像2について決定される幾何変換パラメータは、画像のぼかし処理に必要なパラメータを含み、テンプレート画像1に加えられる幾何変換は、画像のぼかし処理を含む。
【0150】
画像のぼかし処理は、画像をにじませる処理であり、例えば次のようにして行われる。画像のぼかし処理としては、例えば、処理対象のピクセル(x,y)を中心とする3×3ピクセル(9ピクセル)の色(色値)の平均を、処理対象のピクセルの色(色値)とする処理が行われる。かかる処理は、平滑化とも称される。画像のぼかし処理は、例えば、ピクセルの色を構成するR(赤)、G(緑)、B(青)の成分ごとに行われる。このように3×3ピクセルの色の平均が処理対象のピクセルの色として採用される場合、9ピクセルの平均化処理における各ピクセルの重みはいずれも同じ(「1」)となる。
【0151】
したがって、画像のぼかし処理においては、処理対象のピクセルに対して周囲の8ピクセルの各ピクセルに2倍の重みを置いたり、処理対象のピクセルの上下左右の4ピクセルのみの色の平均が処理対象の色として用いられたりしてもよい。前者の場合、処理対象のピクセルの重みは「1」、周囲の各ピクセルの重みは「2」となり、後者の場合、処理対象のピクセルの上下左右のピクセルの重みは「1」、それ以外の5ピクセルの各ピクセルの重みは「0」となる。
【0152】
このように画像のぼかし処理において行われる平均化処理における各ピクセルの重み(「1」や「2」等の数値)が、画像のぼかし処理に必要なパラメータとなる。また、処理対象のピクセルの色として平均化される対象となる範囲のピクセルの数(縦N×横N(個))も、画像のぼかし処理に必要なパラメータとなる。なお、Nの値が大きいほど、画像のぼけ具合は大きくなる。このような画像のぼかし処理に必要なパラメータが、入力画像2について決定される幾何変換パラメータに含まれる。
【0153】
したがって、本実施形態の画像処理方法において、テンプレート画像1に加えられる幾何変換として画像のぼかし処理が用いられる場合、第1の画像群生成ステップにおいて、テンプレート画像1に画像のぼかし処理が加えられることで、変換後テンプレート画像群が生成される。そして、照合ステップにおいて、入力画像2の幾何変換パラメータの値として、上述のような画像のぼかし処理に必要なパラメータの値が決定される。なお、画像のぼかし処理としては、上述のような画像のぼかし処理に限らず、周知の画像のぼかし処理を適宜採用することができる。
【0154】
以上のように、本実施形態の画像処理方法において、射影変換や画像のぼかし処理を用いることで、より高度な画像照合処理において、処理時間の短縮化および検出精度の向上を図ることが可能となる。
【0155】
具体的には、入力画像2に関し、検査対象となる部品等の撮像の際に、カメラ等の撮像手段による撮像方向が、検査対象物において設定される撮影面に対して垂直でないことにより、入力画像2において検査対象となる部品等が台形状に歪む現象(いわゆる台形歪み)が生じる場合がある。このような入力画像2において生じる台形歪みは、検出誤差の原因となる。
【0156】
そこで、上述したように本実施形態の画像処理方法において射影変換が用いられることにより、入力画像2において台形歪みが生じた場合であっても、正確に画像照合を行うことが可能となる。つまり、変換後テンプレート画像群として、射影変換を施した複数のテンプレート画像1を予め準備することにより、台形歪みの影響を加味した固有値分解テンプレート画像を生成することができ、台形歪みによる誤差の少ない正確な画像照合を行うことができる。
【0157】
また、同じく入力画像2に関し、カメラ等の撮像手段と検査対象物との距離により、入力画像2には「ぼけ」が含まれる。通常、このような画像のぼけに対しては、オートフォーカス処理等によって、カメラやレンズの移動をともなう調整(ピント合わせ)が行われる。しかし、このようなカメラやレンズの移動をともなう調整は、機械的な処理であるため、処理時間が長くなってしまう。
【0158】
そこで、上述したように本実施形態の画像処理方法において画像のぼかし処理が用いられることにより、入力画像2にぼけが生じた場合であっても、事前に様々なパターンでぼかし処理を施したテンプレート画像1を準備することで対応が可能となる。つまり、変換後テンプレート画像群として、ぼかし処理を施した複数のテンプレート画像1を予め準備することにより、画像のぼけの影響を加味した固有値分解テンプレート画像を生成することができ、画像のぼけによる誤差の少ない正確な画像照合を行うことができる。また、オートフォーカス処理等の、画像処理時間の長期化の原因となる処理を省略することができるので、画像照合を行うための処理時間を短くすることができる。
【0159】
ぼかし処理についてさらに説明する。本実施形態の画像処理方法を用いた実際の検査においては、入力画像2について、ノイズや検査対象物の回転等の幾何学的な変形に加え、撮像手段のレンズのフォーカスずれ等に起因する画像のぼけが発生する。ぼけた画像である入力画像2に対して、テンプレート画像1による画像照合を行った場合、位置ずれが大きくなる。すなわち、入力画像2がぼけることで、ぼけていないテンプレート画像1とぼけた入力画像2との画像照合が行われることになり、画像照合がうまくいかず、位置ずれが生じる。このように画像照合の結果生じる位置ずれは、深刻な問題である。
【0160】
そこで、上記のとおりテンプレート画像1にぼかし処理を施すことで、敢えてぼけを加えたテンプレート画像1を画像照合に用いることで、入力画像2にぼけが生じた場合であっても、入力画像2とテンプレート画像1とを一致させることができる。これにより、入力画像2のぼけによる位置ずれの問題を回避することが可能となる。つまり、ぼけた入力画像2に合わせてテンプレート画像1にぼけを加えることで、マッチング精度を上げることができる。
【0161】
一般的に、画像のぼかし処理は、ノイズ除去の用途に用いられるが、本実施形態の画像処理方法においては、入力画像2の照合の対象となるテンプレート画像1にぼかし処理を施すことで、ぼけを加えたテンプレート画像1を作成するために用いられる。このように、本実施形態の画像処理方法は、画像のぼかし処理の用い方が特徴的である。
【0162】
また、画像のぼけに関しては、小さな画像ぼけから、大きな画像ぼけまで多数のバリエーションがあり得る。このような多数のバリエーションの画像のぼけに対応するためには、画像のぼけのバリエーションに応じて、ぼけを加えたテンプレート画像1も多数枚用意する必要がある。このように全ての画像のぼけに対応して多数のテンプレート画像1を用いた画像照合を行うと、計算時間が非常に長くなると考えられる。
【0163】
この点、本実施形態の画像処理方法においては、様々なぼけを加えたテンプレート画像群を変換後テンプレート画像として入力し、これらを固有値分解を用いて圧縮することで、上述のような計算時間の問題を解消することができる。つまり、変換後テンプレート画像は、固有値分解によって情報圧縮されることから、画像のぼけのバリエーションが多くなっても、計算時間が長くなることを抑えることができる。
【0164】
なお、幾何変換としての射影変換および画像のぼかし処理は、それぞれ単独で用いられたり、上述した方向角および2次元座標値との関係で組み合わせて用いられたりする。
【0165】
[画像処理装置]
次に、本実施形態の画像処理方法の適用例として、本実施形態の画像処理方法を行うための装置について説明する。この適用例では、例えばICチップの生産ラインにおいて、ICチップのIC基盤への位置決めの工程で、画像照合が用いられる。
【0166】
図9および
図10に示すように、本実施形態の画像処理装置10は、コンピュータ11と、カメラ12とを備える。画像処理装置10は、カメラ12によってワークとしてのICチップ20を撮像し、その撮像画像を入力画像として、コンピュータ11において予め準備されているテンプレート画像を用いて画像照合を行う。本実施形態の画像処理装置10は、画像照合結果として、入力画像についての方向角および2次元座標値を検出する。
【0167】
そして、画像処理装置10による画像照合結果が用いられることで、複数のICチップ20が収容されるICチップ供給トレイ16からアーム17によってピッキングされたICチップ20が、IC基盤における所定の位置に位置決めされる。なお、アーム17は、例えばICチップ20を搬送する装置の一部を構成するロボットアームやピッキングアーム等の、部品取り出し用の構成である。
【0168】
ICチップ20の位置決めは、具体的には次のように行われる。まず、アーム17によって、ICチップ供給トレイ16内の所定のICチップ20がピッキングされる(矢印A1参照)。ピッキングされたICチップ20が、アーム17に保持された状態で、カメラ12によって撮像される。このICチップ20の撮像画像が入力画像としてコンピュータ11に送信され、テンプレート画像が用いられて画像照合が行われる。
【0169】
画像処理装置10による画像照合結果としての入力画像の方向角および2次元座標値は、撮像対象となったICチップ20の角度および位置に対応する。したがって、画像処理装置10による画像照合結果に基づき、ICチップ20を保持するアーム17が、IC基盤への位置決めに際して、回転および平行移動させられる。かかるアーム17の回転および平行移動の動作の後、アーム17の上下方向の移動をともなって、ICチップ20がIC基盤における所定の位置に位置決めされる。なお、アーム17を回転および平行移動させる代わりに、ICチップ20を支持する構成として、回転および平行移動が可能なステージを採用してもよい。
【0170】
図10に示すように、コンピュータ11は、演算制御部13と、入力部14と、表示部15とを備える。演算制御部13は、画像処理装置10の一連の動作を制御する。演算制御部13は、プログラム等を格納する格納部、プログラム等を展開する展開部、プログラム等に従って所定の演算を行う演算部、演算部による演算結果等を保管する保管部等を有する。
【0171】
演算制御部13としては、具体的には、CPU、ROM、RAM、HDD等がバスで接続される構成や、ワンチップのLSI等からなる構成が用いられる。演算制御部13としては、専用品のほか、市販のパーソナルコンピュータやワークステーション等に上記プログラム等が格納されたものが用いられる。
【0172】
入力部14は、演算制御部13に接続され、演算制御部13に、画像処理に係る種々の情報・指示等を入力する。入力部14としては、例えば、キーボード、マウス、ポインティングデバイス、ボタン、スイッチ等が用いられる。
【0173】
表示部15は、演算制御部13に接続され、画像処理の動作状況、入力部14から演算制御部13への入力内容、画像処理による処理結果等を表示する。表示部15としては、例えば、液晶ディスプレイやCRT(陰極線管)等が用いられる。
【0174】
カメラ12は、例えばCCDカメラであり、接続ケーブルを介する等してコンピュータ11に接続される。カメラ12は、ICチップ供給トレイ16内のICチップ20に対して相対移動することで、アーム17によるピッキングの対象となるICチップ20を撮像する。本実施形態では、カメラ12は、ICチップ20を上側から撮像し、ICチップ20の平面画像を撮像する。
【0175】
カメラ12により撮像されたICチップ20についての撮像データは、コンピュータ11に送られ、入力画像22(
図11参照)として演算制御部13に入力される。このように、本実施形態の画像処理装置10においては、カメラ12が、入力画像22を取得するための入力画像取得手段として機能する。
【0176】
図11に示すように、本実施形態の画像処理装置10において、コンピュータ11に備えられる演算制御部13が、照合の対象物としてのICチップ20の画像であるテンプレート画像21を用いた照合を行うことで、入力画像22に存在するICチップ20の対象画像部分23の幾何変換パラメータの値を決定する画像処理手段として機能する。したがって、演算制御部13において格納部に格納されるプログラム等には、テンプレート画像21とカメラ12によって撮像される入力画像22との画像照合を行うためのプログラムが含まれる。
【0177】
演算制御部13におけるプログラム等の格納部分としては、例えばRAM等のコンピュータ11に内蔵される記憶デバイスのほか、CD(Compact Disk)、FD(Flexible Disk )、MO(Magneto−Optical Disk)、DVD(Digital Versatile Disk)、HD(Hard Disk)等の記憶デバイスが適宜用いられる。
【0178】
図10に示すように、演算制御部13は、固有値分解テンプレート画像作成処理部31と、絞込み処理部32と、検出処理部33とを有する。固有値分解テンプレート画像作成処理部31は、予め記憶されているテンプレート画像21に基づいて、変換後テンプレート画像群を生成し、生成した変換後テンプレート画像群に固有値分解を施し、算出した固有関数と変換後テンプレート画像群とから固有値分解テンプレート画像群を作成する。
【0179】
絞込み処理部32は、入力画像22について、上述したような位置(2次元座標値)の絞込み、および姿勢(方向角)の絞込みを行うための処理を行う。つまり、絞込み処理部32は、位置の絞込みによって入力画像22の処理対象画素を決定し、また、姿勢の絞込みにおいて、処理対象画素の全ての画素について、第1の推定方向角θ
A1を算出し、絞込み角度範囲θ
A1±αを導出する。
【0180】
検出処理部33は、絞込み処理部32によって得られた処理対象画素の各画素について、絞込み角度範囲θ
A1±αで、入力画像22と、固有値分解テンプレート画像作成処理部31によって生成された固有値分解テンプレート画像群との相関値を算出する。検出処理部33は、算出した相関値から、画像類似度を算出し、算出した画像類似度に基づいて、入力画像22の幾何変換パラメータの値を決定する。
【0181】
図10に示すように、演算制御部13は、テンプレート画像記憶部41と、変換後テンプレート画像生成部42と、固有値分解部43と、固有関数選択部44と、固有値分解テンプレート画像生成部45と、画像選択部46と、相関値ベクトル生成部47と、画素除外部48と、特徴ベクトル生成部49と、ベクトル選出部50と、画像類似度算出部51と、照合部52とを有する。
【0182】
テンプレート画像記憶部41は、テンプレート画像21(
図11参照)を記憶する。テンプレート画像21は、例えば、カメラ12による撮像対象となるICチップ20と同じ部品がカメラ12と同様のアングルから撮像されることにより得られる。テンプレート画像21は、ICチップ20のIC基盤への位置決めの工程において、方向角および2次元座標値の基準を示す画像として、入力画像22の照合の対象となる。
【0183】
詳細には、テンプレート画像21は、カメラ12によって取得される入力画像22におけるICチップ20の占める部分、つまり対象画像部分23と同程度の大きさとなるように作成される。言い換えると、カメラ12については、その取得する入力画像22におけるICチップ20の占める部分である対象画像部分23が、テンプレート画像21におけるICチップ20の占める部分と同程度となるように、ICチップ20の撮像位置等が設定される。このようなテンプレート画像21が、演算制御部13のテンプレート画像記憶部41において予め設定され記憶される。
【0184】
変換後テンプレート画像生成部42は、上述した画像処理方法における第1の画像群生成ステップでの処理に相当する処理を行う。すなわち、変換後テンプレート画像生成部42は、テンプレート画像記憶部41に記憶されているテンプレート画像21に幾何変換を加えることで、第1の画像群としての変換後テンプレート画像群を生成する。
【0185】
変換後テンプレート画像生成部42は、テンプレート画像21に加える幾何変換として、方向角を変化させる回転等を行う。このように、画像処理装置10においては、変換後テンプレート画像生成部42が、テンプレート画像21に幾何変換を加えることで、幾何変換の量が異なる複数の(N枚の)変換後テンプレート画像からなる変換後テンプレート画像群を生成する第1の画像群生成部として機能する。
【0186】
固有値分解部43は、上述した画像処理方法における固有値分解ステップでの処理に相当する処理を行う。すなわち、固有値分解部43は、変換後テンプレート画像群に固有値分解を施すことで、固有値および固有関数を算出する。
【0187】
固有値分解部43は、変換後テンプレート画像群を構成する変換後テンプレート画像と同数の固有値および固有関数を算出する。このように、画像処理装置10においては、固有値分解部43は、変換後テンプレート画像群に固有値分解を施すことで、複数の変換後テンプレート画像と同数の固有値および固有関数を算出する。
【0188】
固有関数選択部44は、上述した画像処理方法における固有関数選択ステップでの処理に相当する処理を行う。すなわち、画像処理装置10においては、固有関数選択部44は、固有値分解部43で算出された複数の固有関数のうち、固有値の大きな順に、所定の数の固有関数を選択する。つまり、固有関数選択部44によれば、固有値分解部43で算出された複数の(N個の)固有関数のうち、固有値が大きい側の一部の(M個の)固有関数が選択される。
【0189】
固有値分解テンプレート画像生成部45は、上述した画像処理方法における第2の画像群生成ステップでの処理に相当する処理を行う。すなわち、固有値分解テンプレート画像生成部45は、固有値分解部43で算出された複数の固有関数と変換後テンプレート画像生成部42で生成された変換後テンプレート画像群とを内積演算することで、固有値分解テンプレート画像群を生成する処理を行う。
【0190】
このように、固有値分解テンプレート画像生成部45は、複数の固有関数と変換後テンプレート画像群との内積演算を施すことで、固有値分解テンプレート画像群を生成する第2の画像群生成部として機能する。画像処理装置10のように、固有関数選択部44を有する構成においては、固有値分解テンプレート画像生成部45は、固有関数選択部44で選択された複数の(M個の)固有関数と変換後テンプレート画像群との内積演算を施すことで、固有値分解テンプレート画像群を生成する。
【0191】
画像選択部46は、上述した画像処理方法における画素選択ステップでの処理に相当する処理を行う。すなわち、画像処理装置10においては、画像選択部46は、固有値分解テンプレート画像生成部45で生成された固有値分解テンプレート画像群の各画像(各固有値分解テンプレート画像4)のうち、固有値の大きな順に、所定の数の固有値分解テンプレート画像4を選択する。つまり、画像選択部46によれば、固有値分解テンプレート画像生成部45で生成された複数の(M枚の)固有値分解テンプレート画像4のうち、固有値が大きい側の一部の(K枚の)固有値分解テンプレート画像4が選択される。
【0192】
相関値ベクトル生成部47は、上述した画像処理方法における相関値ベクトル生成ステップでの処理に相当する処理を行う。すなわち、相関値ベクトル生成部47は、変換後テンプレート画像群の各画像(変換後テンプレート画像)について、固有値分解テンプレート画像群の各画像(固有値分解テンプレート画像4)との相関を表す所定の実数である相関値a
nを各成分の値とする相関値ベクトルを生成する。
【0193】
このように、相関値ベクトル生成部47は、変換後テンプレート画像と固有値分解テンプレート画像との照合によって、変換後テンプレート画像群の各変換後テンプレート画像に対応する相関値ベクトルを算出する。画像処理装置10のように、画像選択部46を有する構成においては、相関値ベクトル生成部47は、画像選択部46で選択された(K枚の)固有値分解テンプレート画像4について、相関値ベクトルを生成する。
【0194】
このように相関値ベクトルを生成する相関値ベクトル生成部47は、本実施形態の画像処理方法において用いられる辞書を作成する辞書作成部として機能する。ここで作成された辞書、即ち変換後テンプレート画像群と同数の相関値ベクトル群は、演算制御部13において格納部に格納されたりRAM等の記憶部に記憶されたりする。
【0195】
画素除外部48は、上述した画像処理方法における画素除外ステップでの処理に相当する処理を行う。すなわち、画素除外部48は、上述した位置(2次元座標値)の絞込みの処理を行う部分であり、0次の相関値r
0が所定の閾値Ar未満の画素については、処理対象から除外する。処理対象から除外された画素は、幾何変換パラメータについての探索が打ち切られる。
【0196】
このように、画素除外部48は、入力画像2の各画素について、固有値分解テンプレート画像群の画像のうち次数が最も低い最低次数画像(0次の固有値分解テンプレート画像4)と入力画像2との関係について算出される相関値r
0に基づき、入力画像2の画素のうち最低次数画像についての相関値r
0が相対的に低い画素を処理対象から除外する。
【0197】
特徴ベクトル生成部49は、上述した画像処理における特徴ベクトル生成ステップでの処理に相当する処理を行う。すなわち、特徴ベクトル生成部49は、入力画像2について、相関値a
nを各成分の値とする特徴ベクトルVtを生成する。特徴ベクトルVtは、相関値ベクトル生成部47によって生成された相関値ベクトルの比較対象となる。
【0198】
ベクトル選出部50は、上述した画像処理におけるベクトル選出ステップでの処理に相当する処理を行う。すなわち、ベクトル選出部50は、相関値ベクトル生成部47で生成された複数の相関値ベクトルのうち、特徴ベクトルVtに最も近似する相関値ベクトルを選出する。
【0199】
具体的には、ベクトル選出部50は、近似近傍探索等の手法によって、N=360個の相関値ベクトルv0〜v359から、特徴ベクトルVtに最も近似する相関値ベクトルを選出する。
【0200】
画像類似度算出部51は、上述した画像処理方法における画像類似度算出ステップでの処理に相当する処理を行う。すなわち、画像類似度算出部51は、上記式(1)〜(9)に基づき、姿勢の絞込みによって得られた絞込み角度範囲θ
A1±αで、入力画像22について、固有値分解テンプレート画像群に対する画像類似度(g(θ))を算出する。画像類似度算出部51は、こうした絞込み角度範囲θ
A1±αについての画像類似度(g(θ))を、処理対象画素の全てについて画素毎に行う。
【0201】
このように、画像類似度算出部51は、処理対象画素について、ベクトル選出部50により選出された相関値ベクトルに対応する幾何変換パラメータの値である第1の推定方向角θ
A1の値の近傍の範囲、すなわち絞込み角度範囲θ
A1±αで、画像類似度(g(θ))を算出する。
【0202】
照合部52は、上述した画像処理方法における照合ステップでの処理に相当する処理を行う。すなわち、照合部52は、画像類似度算出部51で算出された画像類似度(g(θ))に基づき、入力画像22の幾何変換パラメータの値を決定する。
【0203】
照合部52は、テンプレート画像21と入力画像22との照合を、上記のとおり画像類似度算出部51で算出された画像類似度の値を指標として行う。画像処理装置10においては、照合部52は、画像類似度算出部51で算出された画像類似度に基づき、幾何変換パラメータである位置(2次元座標値)および姿勢(方向角)の値を決定する。すなわち、照合部52は、処理対象画素のうち、画像類似度算出部51により算出された最大画像類似度が最も大きな画素の位置を、幾何変換パラメータの2次元座標値の値として決定し、最大画像類似度が最も大きな画素についての最大画像類似度に対応する方向角(第2の推定方向角θ
A2)を、幾何変換パラメータの方向角として決定する。
【0204】
以上のように、本実施形態の画像処理装置10において演算制御部13が有する各部によって行われる画像照合によれば、照合結果として、入力画像22の方向角および2次元座標値が得られる。具体的には、
図11に示すように、照合結果に含まれる方向角としては、例えば、テンプレート画像21の方向角を示す基準線O10に対する、対象画像部分23の傾き(回転角度)θが求められる。また、照合結果に含まれる2次元座標値としては、例えば、入力画像22における所定の位置(
図11に示す例では、入力画像2の左上の角の位置)を原点O20とした場合の対象画像部分23の中心位置C10の2次元座標値(XY座標値)が求められる。
【0205】
以上説明した画像処理装置10においては、入力画像22について決定される幾何変換パラメータとして、方向角および2次元座標値が用いられているが、上述したように、テンプレート画像21に加えられる幾何変換として射影変換や画像のぼかし処理が用いられ、幾何変換パラメータとして射影変換や画像のぼかし処理に必要なパラメータが用いられてもよい。
【0206】
[処理手順]
本実施形態の画像処理として行われる画像照合の処理手順の一例について、
図2、
図12から
図14に示すフロー図を用いて説明する。
【0207】
図2に示すように、本実施形態の画像処理としての画像照合の処理手順では、まず、テンプレート画像の入力が行われる(S10)。ここでは、画像処理装置10において、検査対象であるICチップ20が所定の方法によって撮像されることで得られるテンプレート画像21が、テンプレート画像記憶部41に入力され、予め記憶される。
【0208】
次に、固有値分解テンプレート画像の生成が行われる(S20)。この固有値分解テンプレート画像生成ステップの詳細を、
図12のフロー図に示す。
【0209】
図12に示すように、固有値分解テンプレート画像生成ステップでは、まず、変換後テンプレート画像群の生成が行われる(S21)。このステップは、第1の画像群生成ステップに相当する。このステップでは、テンプレート画像1を1°ピッチで回転させることで、方向角が1°ピッチで異なるN=360枚の変換後テンプレート画像(θ=0〜359)が生成され、この360枚の変換後テンプレート画像が、変換後テンプレート画像群T[i]として得られる。
【0210】
画像処理装置10では、変換後テンプレート画像生成部42により、テンプレート画像記憶部41に記憶されているテンプレート画像21が1°ピッチで回転させられることで、N=360枚の変換後テンプレート画像(回転画像)からなる変換後テンプレート画像群が生成される。
図3に示す例では、N枚の変換後テンプレート画像からなる変換後テンプレート画像群1Nが生成される。
【0211】
次に、複数の固有値および固有関数の算出が行われる(S22)。このステップは、固有値分解ステップに相当する。このステップでは、変換後テンプレート画像群T[i]に対して固有値分解を行うことで、固有関数φ[i]と固有値λ[i]が得られる。
【0212】
画像処理装置10では、固有値分解部43により、変換後テンプレート画像群(N枚の変換後テンプレート画像)に固有値分解が施されることで、固有値および固有関数が算出される。ここでは、固有値分解部43により生成された変換後テンプレート画像の数と同数(N個)の固有値および固有関数が算出される。したがって、上記のとおり360枚の変換後テンプレート画像が生成される場合、360個の固有値および固有関数が算出される。
図3に示す例では、変換後テンプレート画像群1Nに固有値分解が施されることで、N個の固有関数φ
n(θ),(n=1,2,・・・N)からなる固有関数群と、N個の固有値が算出される。
【0213】
続いて、固有値の大きさに基づく固有関数の選択が行われる(S23)。このステップは、固有関数選択ステップに相当する。このステップでは、固有値λ[i]の値を基に、固有値λ[i]が大きい順に、M個(例えば60個)の固有関数φ[i]が選択される。
【0214】
画像処理装置10では、固有関数選択部44により、固有値分解部43で算出されたN個の固有関数のうち、固有値が大きい側の所定の数(M個)の固有関数が選択される。例えば、上記のとおり360個(N個)の固有関数が算出された場合、そのうちの固有値が大きい方の60個(M個)の固有関数が選択される。
図3に示す例では、N個の固有関数φ
n(θ)から、M個の固有関数からなる固有関数群φ
1(θ),φ
2(θ),・・・,φ
M(θ)が選択される。
【0215】
そして、固有値分解テンプレート画像群の生成が行われる(S24)。このステップは、第2の画像群生成ステップに相当する。このステップでは、ステップS23で選択されたM個の固有関数φ[i]と、ステップS21で生成されたN枚の変換後テンプレート画像から、M個の固有値分解テンプレート画像が生成される。
【0216】
画像処理装置10では、固有値分解テンプレート画像生成部45により、上記式(4)に基づき、固有関数選択部44で選択されたM個の固有関数と変換後テンプレート画像生成部42で生成された変換後テンプレート画像群とが内積演算されることで、固有値分解テンプレート画像群(M枚の固有値分解テンプレート画像)が生成される。
図3に示す例では、固有値分解テンプレート画像E1〜E3(E
1(x,y)〜E
3(x,y))からなる固有値分解テンプレート画像群が得られる。
【0217】
次に、
図2に戻り、辞書の生成が行われる(S30)。この辞書生成ステップの詳細を、
図13のフロー図に示す。
【0218】
図13に示すように、辞書生成ステップでは、まず、K(<M)個の固有値分解テンプレート画像の選択が行われる(S31)。このステップは、画像選択ステップに相当する。このステップでは、固有値λ[i]の値を基に、固有値λ[i]が大きい順に、K個(例えば10個)の固有値分解テンプレート画像4が選択される。ここで選択された複数の固有値分解テンプレート画像4を「辞書テンプレート群」とする。
【0219】
画像処理装置10では、画像選択部46により、固有値分解テンプレート画像生成部45で生成されたM枚の固有値分解テンプレート画像4のうち、固有値が大きい側の所定の数(K枚)の固有値分解テンプレート画像4が選択される。例えば、60枚の固有値分解テンプレート画像4が生成された場合、そのうちの固有値が大きい方の10枚(K枚)の固有値分解テンプレート画像4が選択される。
【0220】
次に、N個の相関値ベクトルの生成が行われる(S32)。このステップは、相関値ベクトル生成ステップに相当する。このステップでは、N個の変換後テンプレート画像群T[i]に対して、K(<M)個の固有値分解テンプレート画像4との照合が行われ、N個の相関値ベクトルv[i]={ai0,ai1,ai2,・・・,ai(K−1)}が生成される。ここで、各相関値ベクトルv[i]に対応する変換後テンプレート画像の姿勢(方向角)を「s[i]」とする。
【0221】
画像処理装置10では、相関値ベクトル生成部47により、変換後テンプレート画像生成部42により生成されたN枚の変換後テンプレート画像と、画像選択部46により選択されたK枚の固有値分解テンプレート画像4との畳込み演算により、K個(例えば10個)の成分を有するN=360個の相関値ベクトルv0〜v359が生成される。
【0222】
次に、
図2に戻り、入力画像2の入力が行われる(S40)。ここでは、画像処理装置10において、カメラ12により、アーム17によってピッキングされてアーム17に保持されている状態のICチップ20が撮像され、その撮像データが、コンピュータ11の演算制御部13に入力される。
図3に示す例では、入力画像2が取得され入力される。
【0223】
続いて、同じく
図2に示すように、3段階の絞込みをともなう画像照合が行われる(S50)。この3段階絞込み画像照合ステップの詳細を、
図14のフロー図に示す。
【0224】
図14に示すように、3段階絞込み画像照合ステップでは、まず、入力画像2と0次の固有値分解テンプレート画像4との照合による0次相関画像5の取得が行われる(S51)。すなわち、このステップでは、入力画像2と0次の固有値分解テンプレート画像4との畳込みの結果として、入力画像2の各画素に対応する画素ついての0次の応答値、つまり0次の相関値r
0の大小を表した0次相関画像5(
図4参照)が取得される。
【0225】
画像処理装置10では、画素除外部48により、入力画像2と0次の固有値分解テンプレート画像4との畳込み演算が行われ、0次相関画像5が生成される。
【0226】
次に、0次相関画像5における閾値Arを用いた処理対象画素の決定が行われる(S52)。すなわち、このステップでは、入力画像2の画素に関し、0次の相関値r
0が閾値Ar以上となる画素を処理対象画素とし、それ以外の画素、つまり0次の相関値r
0が閾値Ar未満となる画素については、処理対象から除外する。
【0227】
画像処理装置10では、画素除外部48により、入力画像2の各画素について算出した0次の相関値r
0に対し、閾値Arを用いた閾値処理により、処理対象画素以外の画素が処理対象から除外される。なお、閾値Arは、例えば演算制御部13において画素除外部48等に予め設定され記憶される。
【0228】
3段階絞込み画像照合ステップにおいて、これらのステップS51、S52が、画素除外ステップに相当する。すなわち、これらのステップS51、S52での処理は、上述した位置(2次元座標値)の絞込みの処理に対応する。
【0229】
次に、特徴ベクトルの生成が行われる(S53)。このステップは、特徴ベクトル生成ステップに相当する。このステップでは、処理対象画素の位置に辞書テンプレート群を平行移動させて画像照合が行われ、特徴ベクトルVt={t0,t1,t2,・・・,t(K−1)}が生成される。
【0230】
画像処理装置10では、特徴ベクトル生成部49により、入力画像22と、画像選択部46により選択されたK枚の固有値分解テンプレート画像4との畳込み演算により、K個(例えば10個)の成分を有する特徴ベクトルVtが生成される。
【0231】
次に、特徴ベクトルと相関値ベクトルとの比較による最近似相関値ベクトルの選出が行われる(S54)。このステップは、ベクトル選出ステップに相当する。このステップでは、近似近傍探索等の手法が用いられ、辞書テンプレート群、即ちθ=0〜359の360個の相関値ベクトル群から、特徴ベクトルVtに最も近似する相関値ベクトルが選出される。ここで選出された相関値ベクトルから、第1の推定方向角θ
A1および絞込み角度範囲θ
A1±αが得られる。ここで選出された相関値ベクトルの姿勢(方向角)s[i]を、「第1の推定姿勢」とする。
【0232】
画像処理装置10では、ベクトル選出部50により、相関値ベクトル生成部47により生成された360個の相関値ベクトルから、特徴ベクトル生成部49により生成された特徴ベクトルVtに最も近似する相関値ベクトルが選出される。そして、ベクトル選出部50において、選出した相関値ベクトルから、第1の推定方向角θ
A1および絞込み角度範囲θ
A1±αが算出される。
【0233】
3段階絞込み画像照合ステップにおいて、これらのステップS53、S54での処理が、上述した姿勢(方向角)の絞込みの処理に対応する。
【0234】
次に、絞込み角度範囲θ
A1±αについての画像類似度の算出が行われる(S55)。このステップは、画像類似度算出ステップに相当する。このステップでは、ステップS54にて選出された相関値ベクトルに対応する第1の推定方向角θ
A1の値の近傍の範囲、すなわち絞込み角度範囲θ
A1±αで、画像類似度(g(θ))が算出される。そして、絞込み角度範囲θ
A1±αから、画像類似度(g(θ))が最大となる方向角(第2の推定方向角θ
A2)が算出される。これにともない、第2の推定方向角θ
A2に対応する画像類似度(最大画像類似度)が算出される。ここで、最大画像類似度に対応する姿勢(方向角)s[i]を、「第2の推定姿勢」とする。
【0235】
画像処理装置10では、画像類似度算出部51により、ベクトル選出部50により選出された相関値ベクトルに対応する第1の推定方向角θ
A1の値の近傍の範囲で、画像類似度(g(θ))が算出される。この画像類似度(g(θ))の相関波形から、第2の推定方向角θ
A2が算出される。
【0236】
そして、入力画像2についての方向角および2次元座標値(XY座標値)の決定が行われる(S56)。このステップは、照合ステップに相当する。このステップでは、処理対象画素のうち、ステップS55により算出された最大画像類似度が最も大きな画素の位置が、2次元座標値の値として決定され、最大画像類似度が最も大きな画素についての最大画像類似度に対応する方向角(第2の推定方向角θ
A2)が、方向角として決定される。ここで決定された2次元座標の値が、検出位置であり、ここで決定された方向角、つまり第2の推定姿勢が、検出姿勢である。
【0237】
画像処理装置10では、照合部52により、画像類似度算出部51で算出された、処理対象画素についての絞込み角度範囲θ
A1±αにおける画像類似度(g(θ))に基づき、入力画像22についての、検出位置となる2次元座標値、および検出姿勢となる方向角が決定される。
【0238】
そして、
図2に戻り、ステップS50における画像照合の結果に基づき、入力画像についての方向角および2次元座標値が、それぞれ検出姿勢および検出位置として出力される(S60)。
【0239】
画像処理装置10では、照合部52により決定された検出姿勢および検出位置は、例えば、演算制御部13に接続された表示部15において出力される。
【0240】
以上のような処理手順において、ステップS53〜S55は、ステップS51およびS52において決められた処理対象画素の全ての画素について行われる。このため、上述した処理手順においては、例えば次のような手法が採用される。まず、入力画像のうち、ステップS51およびS52において得られた処理対象画素について、その2次元座標値(x,y)が特定される。
【0241】
そして、処理対象画素の各画素の位置(x,y)について、所定の順序で、特徴ベクトルの生成(S53)、最近似相関値ベクトルの選出(S54)、および画像類似度の算出(S55)が繰り返し行われる。例えば、処理対象画素の各画素の位置(x,y)は、上から順に各行において左側から右側に向けて1画素ずつ順にずらしながら設定される。そして、全ての処理対象画素についての画像類似度gの算出が行われると、その算出結果に基づいて、ステップS56において、最終的な幾何変換パラメータの値(実数値)、つまり方向角および2次元座標値が決定される。
【0242】
以上のような画像照合の処理手順に関し、画像処理装置10においては、予め記憶されているテンプレート画像21に基づいて固有値分解テンプレート画像群が作成される処理であるステップS10、S20が、固有値分解テンプレート画像作成処理部31により行われる。また、位置の絞込みおよび方向角の絞込みの処理を行う、ステップS30、S40、およびS50のS51〜S55が、絞込み処理部32により行われる。そして、画像類似度を算出し、方向角および2次元座標値を決定して出力する、ステップS50のS56、およびS60が、検出処理部33により行われる。
【0243】
なお、実際の処理工程においては、複数のICチップ20の位置決めが行われる場合、固有値分解テンプレート画像作成処理部31による固有値分解テンプレート画像群の生成処理は、複数のICチップ20の位置決めに際して予め行われる。そして、検出処理部33による方向角および2次元座標値の決定のための処理が、各ICチップ20の位置決めの工程において、予め生成された固有値分解テンプレート画像群が用いられて繰り返し行われることとなる。
【0244】
[評価実験]
以下、本発明の実施例としての評価実験について説明する。
図15(a)に示すように、この評価実験では、入力画像102として、512×512ピクセルの画像を100セット用いた。入力画像102においては、対象画像部分103として、姿勢(方向角)が特定できる十字形状の画像部分を用いた。入力画像102において、対象画像部分103は、黒無地の背景中に存在する。100セットの入力画像102は、それぞれ他の入力画像102との関係において対象画像部分103の部分をランダムに回転・平行移動させることで作成した。これに対し、テンプレート画像は、入力画像102における対象画像部分103と同サイズ・同形状の画像部分を含む画像である。
【0245】
また、この評価実験では、本発明に係る画像処理方法(以下「提案手法」という。)において、テンプレート画像を1°ピッチで回転させることで、計360枚の変換後テンプレート画像からなる変換後テンプレート画像群を生成した(N=360)。また、この評価実験では、近似次数M=60とし、相関値ベクトルおよび特徴ベクトルVtの算出に用いる固有値分解テンプレート画像の枚数K=20とした。
【0246】
図15(b)に、この評価実験の結果を示す。
図15(b)に示すように、この評価実験では、提案手法に対する比較例として、従来手法についての実験を行った。ここで、従来手法は、提案手法において、位置の絞込みおよび姿勢の絞込みを行わない手法である。つまり、従来手法は、入力画像102の全ての画素を処理対象とし、しかも、相関波形の算出(画像類似度の算出)を全方向角(θ=0〜359°)について行ったものである。また、
図15(b)に示すように、この評価実験では、他の比較例として、パターンマッチング手法であるRIPOC(Rotation Invariant Phase Only Correlation)とNCC(Normalized Cross Correlation)を採用した。
【0247】
図15(b)に示す表において、「距離誤差[pix]」は、位置(2次元座標値)についての正解値に対する測定値のズレであり、「角度誤差[deg]」は、姿勢(方向角)についての正解値対する測定値のズレである。ここで、位置および姿勢それぞれについての正解値は、予め設定される既知の値である。
図15(b)に示す表の「距離誤差」および「角度誤差」の各欄に示す数値は、いずれも100枚の入力画像102について得られた測定値の平均値である。また、「成功率[%]」は、位置の測定値が正解値±5[pix]の範囲内であり、かつ、姿勢の測定値が正解値±5[deg]の範囲内である状態を「成功」とし、100枚の入力画像102のうち成功した枚数に相当する。「処理時間[msec]」は、処理を開始してから方向角および2次元座標値を測定するまでの時間である。
【0248】
図15(b)に示す結果からわかるように、提案手法において、従来手法に対して、「距離誤差」、「角度誤差」、および「成功率」はいずれも同じであるが、「処理時間」が1/10以下と大幅に短縮されている。そして、提案手法の「処理時間」は、比較的高速と言われているRIPOCと同程度である。また、提案手法の「距離誤差」および「角度誤差」は、RIPOCと同程度であり、提案手法によれば、RIPOCと同程度の検出精度が得られる。なお、NCCとの比較においては、提案手法の「距離誤差」および「角度誤差」は十分に小さく、「処理時間」も短い。
【0249】
他の評価実験について、
図16を用いて説明する。この評価実験では、入力画像にノイズを加えて測定を行った。具体的には、
図16(a)に示すように、この評価実験用いた入力画像202は、対象画像部分203に加え、ノイズとしての網目模様の背景204と3本の湾曲したライン205とを有する。他の条件等は、上述した評価実験と同じである。このように入力画像が比較的複雑な評価実験は、実際に画像照合が用いられる状況に近い場面を想定したものである。
【0250】
図16(b)に示す結果からわかるように、この評価実験についても、上述した評価実験と同様に、提案手法において、従来手法に対して、「距離誤差」、「角度誤差」、および「成功率」はいずれも同程度であるが、「処理時間」が1/10以下と大幅に短縮されている。また、提案手法の「処理時間」は、比較的高速と言われているRIPOCと同程度である。また、提案手法の「距離誤差」および「角度誤差」は、RIPOCと同程度であり、提案手法によれば、RIPOCと同程度の検出精度が得られる。なお、NCCとの比較においては、提案手法の「距離誤差」および「角度誤差」は十分に小さく、「処理時間」も短い。
【0251】
ただし、この評価実験では、RIPOCの「成功率」が、上述した評価実験の場合と比べて大幅に(半分以下に)減少している。これに対し、提案手法は、このノイズを含む入力画像202を用いた評価実験においても、ノイズを有しない入力画像102を用いた評価実験の場合と同程度の「成功率」が維持されている。つまり、提案手法は、RIPOCと比べて、検出精度について入力画像上に存在するノイズによる影響を受けにくく、入力画像が複雑になっても、検出精度を維持することができる。
【0252】
以上のような評価実験の結果から、提案手法によれば、実用に十分耐えうる処理速度が得られ、RIPOCとの比較においても同程度の検出精度を得ることができることが実証された。また、提案手法は、RIPOCと比べて、入力画像上のノイズによる影響を受けにくく、入力画像が複雑になっても検出精度をある程度維持できることが実証された。以上のように、評価実験の結果から、提案手法は、処理速度、検出精度、およびノイズの影響を総合的に勘案して、上述した提案手法に対する従来手法やRIPOCやNCC等の従来技術に対して優れた手法であると言える。
【0253】
なお、提案手法において、テンプレート画像群の濃淡値に対して固有値分解を行うのではなく、それぞれのテンプレート画像および入力画像をエッジ方向画像あるいは増分符号画像に変換した後に、提案手法によりテンプレート画像群を固有値分解テンプレート画像群に変換して画像照合を行うこともできる。すなわち、エッジ方向を加味した画像照合を行うことで、明るさの変動や、対象物の一部が隠れる等の遮蔽に頑健な画像照合が可能となる。
【0254】
提案手法は、入力画像からテンプレート画像と一致する位置と方向角等の幾何変換パラメータを高速に検出する手法である。提案手法は、テンプレート画像の固有値分解で得られる画像を照合することで、相関値波形を算出する。すなわち、提案手法は、画像照合用のテンプレート画像群に固有値分解を施して主成分情報を抽出し、これに基づいて画像の類似度推定用の連続した類似度曲線を算出することにより、照合時間の短縮および照合精度の向上を可能とするものである。
【0255】
提案手法は、固有値分解を用いて枚数を削減した新たなテンプレート画像を用いて精度を落とすことなく、検査対象画像(入力画像)とテンプレート画像との幾何学的差異(幾何変換パラメータの値)を推定する圧縮テンプレートマッチング法ということができる。そして、固有値分解により算出された固有関数を、元のテンプレート画像群である第1の画像群(変換後テンプレート画像群)に内積演算して生成した第2の画像群(固有値分解テンプレート画像群)の生成、および入力画像との画像類似度の算出に2度活用している。これにより、連続曲線で表される画像類似度を得ることができ、従来技術では得られない高い精度の幾何変換パラメータの値の推定を行うことが可能となる。
【0256】
そして、提案手法は、入力画像に対して、位置(2次元座標値)の絞込みと、姿勢(方向角)の絞込みとの2段階の絞込みを行うことで、効果的に幾何変換パラメータの探索の範囲、つまり画像類似度を算出する対象となる範囲を狭め、処理時間の更なる短縮化を図る。
【0257】
本発明の応用例としては、自動車部品等の各種機械部品の検査・計測、バイオメトリクス(指紋認証)、文字認識(OCR)、食品・薬品検査、高精度な位置合わせが要求される、半導体ウエハやIC基盤の位置決め(半導体検査、マスク露光の位置合わせ、回転角合わせ(アライメント))、外観検査等が挙げられ、本発明は各分野での適用の可能性を有する。特に、サブピクセルレベルの高い照合精度と高速処理が要求される工業画像処理における画像照合処理においては、本発明に係る画像処理技術が有用である。