(57)【特許請求の範囲】
【請求項１】
入力画像と所定のテンプレート画像との照合を行うことで、前記入力画像において、前記テンプレート画像に対応する対象物を検出する画像処理方法であって、
前記テンプレート画像を、所定の周波数範囲に属する低周波から高周波までの所定数の周波数成分を基底として、回転方向に周波数分解して、前記周波数成分と同数の固有値テンプレート画像を算出する第１ステップ（Ｓ１００、Ｓ１１０）と、
前記入力画像と前記固有値テンプレート画像とを畳み込み演算することにより、前記固有値テンプレート画像毎に、前記入力画像との相関値を算出する第２ステップ（Ｓ２１０）と、
算出された前記相関値に対して、所定の回転方向を基準とするＦＦＴ演算処理を行って、回転角度毎の類似度を算出する第３ステップ（Ｓ２４０）と、
前記回転角度毎の類似度から、前記入力画像における前記対象物の回転角度を算出する第４ステップ（Ｓ２５０、Ｓ２６０）と、を備える画像処理方法。
【請求項２】
前記所定の周波数範囲に属する低周波から高周波までの所定数の周波数成分は、直流成分を下限とし、所定の基準周波数を上限とするものである請求項１に記載の画像処理方法。
【請求項３】
前記第１ステップは、
回転角度が異なる複数の前記テンプレート画像からなる画像群を生成する生成ステップ（Ｓ１００）と、
前記画像群を回転方向に周波数分解して、所定の基準周波数以下の前記所定数の周波数成分からなる周波数基底関数と、前記周波数成分と同数の固有値テンプレート画像とに分解することにより、前記固有値テンプレート画像を算出する分解ステップ（Ｓ１１０、Ｓ１２０）と、を含む請求項１又は２に記載の画像処理方法。
【請求項４】
前記第１ステップは、
前記テンプレート画像を、極座標に変換する変換ステップ（Ｓ３００）と、
極座標に変換された前記テンプレート画像を、所定の基準周波数以下の所定数の周波数成分を基底として、周波数分解し、その周波数分解したときの各周波数成分の係数と、各周波数成分とを用いて、前記固有値テンプレート画像を算出する算出ステップ（Ｓ３１０〜Ｓ３４０）と、を含む請求項１又は２に記載の画像処理方法。
【請求項５】
前記入力画像と前記テンプレート画像について、それぞれ、輝度勾配の強度と向きからなる複素勾配画像を計算し、その複素勾配画像から位相成分を取り出した画像に変換する第５ステップを備え、
変換された画像を用いて、前記第１ステップから前記第４ステップまでの処理が実行される請求項１乃至４のいずれかに記載の画像処理方法。
【請求項６】
前記第５ステップでは、複素勾配画像を以下の数式１を用いて、作成する請求項５に記載の画像処理方法。
【数１】
0006665488.tif 000026
ただし、Ｔｘ、Ｔｙは、元の画像Ｔの水平、垂直方向の微分画像である。
【請求項７】
前記入力画像は、前記テンプレート画像よりも広い画像エリアを有しており、前記入力画像において、前記テンプレート画像と照合される照合領域を定める第６ステップ（Ｓ２００、Ｓ２７０）を備え、
前記第６ステップでは、前記照合領域が前記入力画像の全域をカバーするように、前記照合領域を所定画素単位でずらしながら、複数回、前記照合領域を定め、
前記第２ステップでは、前記入力画像として、前記第６ステップで定められた照合領域を用いて、前記固有値テンプレート画像との畳み込み演算を行って、前記相関値を算出し、
さらに、前記固有値テンプレート画像毎に算出された各相関値の絶対値の和と所定の閾値とを比較し、各相関値の絶対値の和が前記所定の閾値に満たない場合、前記第３ステップ以降の処理の対象から除外する第７ステップ（Ｓ２３０）を備える請求項１乃至６のいずれかに記載の画像処理方法。
【請求項８】
前記第３ステップは、
前記ＦＦＴ演算処理により算出した回転角度毎の類似度の中の最大類似度に対して、以下の数式２で示すフィルタ処理を施すフィルタステップを含み、フィルタ処理後の類似度を、最終的な最大類似度とする請求項１乃至７のいずれかに記載の画像処理方法。
【数２】
0006665488.tif 000027
ただし、peakは最大類似度、meanは類似度の平均値、σは類似度の分散値である。
【請求項９】
入力画像と所定のテンプレート画像との照合を行うことで、前記入力画像において、前記テンプレート画像に対応する対象物を検出する画像処理装置であって、
前記テンプレート画像を、所定の周波数範囲に属する低周波から高周波までの所定数の周波数成分を基底として、回転方向に周波数分解することにより算出した、前記周波数成分と同数の固有値テンプレート画像を記憶する記憶部（２１）と、
前記入力画像と、前記記憶部に記憶された固有値テンプレート画像とを畳み込み演算することにより、前記固有値テンプレート画像毎に、前記入力画像との相関値を算出する相関値算出部（Ｓ２１０）と、
算出された前記相関値に対して、所定の回転方向を基準とするＦＦＴ演算処理を行って、回転角度毎の類似度を算出する類似度算出部（Ｓ２４０）と、
前記回転角度毎の類似度から、前記入力画像における前記対象物の回転角度を算出する回転角度算出部（Ｓ２５０、Ｓ２６０）と、を備える画像処理装置。
【請求項１０】
前記所定の周波数範囲に属する低周波から高周波までの所定数の周波数成分は、直流成分を下限とし、所定の基準周波数を上限とするものである請求項９に記載の画像処理装置。
【請求項１１】
前記入力画像と前記テンプレート画像について、それぞれ、輝度勾配の強度と向きからなる複素勾配画像を計算し、その複素勾配画像の位相成分を取り出した画像に変換する変換部を備える請求項９又は１０に記載の画像処理装置。
【請求項１２】
前記変換部は、複素勾配画像を以下の数式３を用いて、作成する請求項１１に記載の画像処理装置。
【数３】
0006665488.tif 000028
ただし、Ｔｘ、Ｔｙは、元の画像Ｔの水平、垂直方向の微分画像である。
【請求項１３】
前記入力画像は、前記テンプレート画像よりも広い画像エリアを有しており、前記入力画像において、前記テンプレート画像と照合される照合領域を定める照合領域設定部（Ｓ２００、Ｓ２７０）を備え、
前記照合領域設定部は、前記照合領域が前記入力画像の全域をカバーするように、前記照合領域を所定画素単位でずらしながら、複数回、前記照合領域を定め、
前記相関値算出部は、前記入力画像として、前記照合領域設定部によって定められた照合領域を用いて、前記固有値テンプレート画像との畳み込み演算を行って、前記相関値を算出し、
さらに、前記固有値テンプレート画像毎に算出された各相関値の絶対値の和と所定の閾値とを比較し、各相関値の絶対値の和が前記所定の閾値に満たない場合、前記類似度算出部における類似度の算出対象から除外する相関値判定部（Ｓ２３０）を備える請求項９乃至１２のいずれかに記載の画像処理装置。
【請求項１４】
前記類似度算出部は、
前記ＦＦＴ演算処理により算出した回転角度毎の類似度の中の最大類似度に対して、以下の数式４で示すフィルタ処理を施すフィルタ部を含み、フィルタ処理後の類似度を、最終的な最大類似度とする請求項９乃至１３のいずれかに記載の画像処理装置。
【数４】
0006665488.tif 000029
ただし、peakは最大類似度、meanは類似度の平均値、σは類似度の分散値である。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像と所定のテンプレート画像との照合を行うことで、入力画像において、テンプレート画像に対応する対象物を検出する画像処理方法及び画像処理装置に関する。
【背景技術】
【０００２】
カメラで撮影した画像（クエリ画像）の中から予め登録した対象物の画像（テンプレート画像）を検出するテンプレートマッチングは画像処理の基本技術であり、産業上も広く利用されている。例えば、テンプレートマッチングを使って面内回転からなる角度パラメータを推定する回転マッチングは、工場内のロボットによるビンピッキングや外観検査など多くのアプリケーションに用いられている。このため、回転マッチングを高速かつロバストにすることは実応用において重要な課題である。
【０００３】
回転マッチングはＳＩＦＴ（Scale-Invariant Feature Transform）等の手法を使って高速に行うことが可能であるが、表面に模様の少ないテクスチャレスの対象物には適用が難しいという問題がある。一方、テクスチャレスの対象物に有効なテンプレート画像とクエリ画像の相関に基づいた手法が、いくつか提案されている。
【０００４】
例えば、ＮＣＣ（Normalized Cross-Correlation）は、一定の明るさの変動やノイズにロバストであることから広く用いられている。ＮＣＣでは、畳み込み領域内のクエリ画像のノルムで規格化した値を類似度とすることで内積値を類似度とする手法に対してロバスト性を向上することができる。ただし、ＮＣＣを回転マッチングに適用する場合、クエリ画像と一定の回転ピッチで回転したテンプレート画像との相関計算を複数回繰り返すことで、位置及び角度の姿勢パラメータの類似度を求める必要がある。そして、検出率や角度パラメータの推定精度を上げるには回転ピッチを小さくする必要があるため、必要な畳み込み演算の数が増え処理時間が増大するという課題がある。
【０００５】
回転マッチングを高速化する手法としてLog-Polar変換を使ったＲＩＰＯＣ（Rotation Invariant Phase Only Correlation）が知られている。ＲＩＰＯＣは、テンプレート画像とクエリ画像のパワースペクトルが並進に依存しないことを利用して、パワースペクトルのLog-Polar画像についてＰＯＣを使って回転ずれを求め、求めた回転で補正したクエリ画像に対してＰＯＣにより並進を推定する。この手法は、回転を推定するためのマッチングと並進を推定するためのマッチングの２回のマッチングで回転マッチングを行えるため非常に効率が良い。しかし、ＲＩＰＯＣは回転角の推定時に画像を特徴づける位相成分を捨てることから、クエリ画像の背景にテンプレート画像と似た周波数成分が多く含まれる場合には検出に失敗しやすいという課題がある。
【０００６】
上述した手法の課題を解決できる手法として、固有値テンプレート法が提案されている（例えば、特許文献１参照）。この固有値テンプレート法は、クエリ画像に対して、複数のテンプレート画像を１画像ずつマッチングする代わりに、テンプレート画像群を特異値分解（ＳＶＤ）で情報圧縮することで得られる新たなテンプレート画像（固有値テンプレート画像）を利用し効率よく類似度を算出するものである。また、固有値テンプレート法は、ＲＩＰＯＣとは異なり、重要な情報を捨てることなく類似度を計算することから背景の影響にロバストでもある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第５３１７２５０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述した固有値テンプレート法は、大きく分けて、クエリ画像と各固有値テンプレート画像との相関値（レスポンス）を求める処理と、相関値と固有関数（基底関数）との積和演算により姿勢パラメータの類似度を計算する処理とからなる。しかしながら、固有値テンプレート画像に対するクエリ画像のレスポンスから類似度を計算する積和演算処理の計算量負荷が相対的に高く、処理時間も長くなる傾向にあるため、改善の余地がある。
【０００９】
本発明は、上述した点に鑑みてなされたものであり、固有値テンプレート法を改良し、より高速に類似度の演算を行うことが可能な画像処理方法及び画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、第１発明による画像処理方法は、入力画像と所定のテンプレート画像との照合を行うことで、入力画像において、テンプレート画像に対応する対象物を検出するための方法であって、
テンプレート画像を、所定の周波数範囲に属する低周波から高周波までの所定数の周波数成分を基底として、回転方向に周波数分解して、所定数の周波数成分と同数の固有値テンプレート画像を算出する第１ステップ（Ｓ１００、Ｓ１１０）と、
入力画像と固有値テンプレート画像とを畳み込み演算することにより、固有値テンプレート画像毎に、入力画像との相関値を算出する第２ステップ（Ｓ２１０）と、
算出された相関値に対して、所定の回転方向を基準とするＦＦＴ演算処理を行って、回転角度毎の類似度を算出する第３ステップ（Ｓ２４０）と、
回転角度毎の類似度から、入力画像における対象物の回転角度を算出する第４ステップ（Ｓ２５０、Ｓ２６０）と、を備える。
【００１１】
また、第２発明による画像処理装置は、入力画像と所定のテンプレート画像との照合を行うことで、入力画像において、テンプレート画像に対応する対象物を検出するための装置であって、
テンプレート画像を、所定の周波数範囲に属する低周波から高周波までの所定数の周波数成分を基底として、回転方向に周波数分解することにより算出した、所定数の周波数成分と同数の固有値テンプレート画像を記憶する記憶部（２１）と、
入力画像と、記憶部に記憶された固有値テンプレート画像とを畳み込み演算することにより、固有値テンプレート画像毎に、入力画像との相関値を算出する相関値算出部（Ｓ２１０）と、
算出された相関値に対して、所定の回転方向を基準とするＦＦＴ演算処理を行って、回転角度毎の類似度を算出する類似度算出部（Ｓ２４０）と、
回転角度毎の類似度から、入力画像における対象物の回転角度を算出する回転角度算出部（Ｓ２５０、Ｓ２６０）と、を備える。
【００１２】
上述した画像処理方法及び画像処理装置によれば、テンプレート画像を、所定の周波数範囲に属する低周波から高周波までの所定数の周波数成分を基底として、回転方向に周波数分解することにより、所定数の周波数成分と同数の固有値テンプレート画像が算出される。このため、類似度を算出すべく、固有値テンプレート画像と入力画像との畳み込み演算により算出した相関値に対し、所定数の周波数成分を要素とする周波数基底関数との積和演算を行った場合と、ＦＦＴ演算処理を行った場合とで等価な結果を得ることができるようになる。ＦＦＴ演算処理は、相関値と周波数基底関数との積和演算に比較して、演算時間を大幅に短縮することが可能である。そのため、従来の固有値テンプレート法と同等の検出率を維持しながら、従来の固有値テンプレート法に比較して、高速に類似度の演算を行うことが可能になる。
【００１３】
上記括弧内の参照番号は、本発明の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら本発明の範囲を制限することを意図したものではない。
【００１４】
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態に係る画像処理装置を含む、工場内のロボットによるビンピッキングを行うためのシステム全体の構成を示す構成図である。
【図２】Ｌ字型のワークをテンプレート画像とした場合の、各周波数成分に対する固有値を示すグラフである。
【図３】Ｎ次元ＦＦＴの結果得られる類似度が、Ｍ次元（Ｍ＜Ｎ）ＦＦＴを使って近似できることを説明するための説明図である。
【図４】第１実施形態の、固有値テンプレート画像の作成手法を含む学習処理を示すフローチャートである。
【図５】対象物を検出するための入力画像に対する照合処理を示すフローチャートである。
【図６】第２実施形態の、固有値テンプレート画像の作成手法を含む学習処理を示すフローチャートである。
【図７】第１実施形態に係る画像処理装置及び第２実施形態に係る画像処理装置における手法と、従来の固有値テンプレート法とを、照合時間、学習時間、メモリ使用量の観点で対比させた結果を示す図である。
【図８】各実施形態に関わる手法の優位性を検証するための実験に用いたサンプル画像である。
【図９】実施形態に係る手法と、従来の各種手法との処理時間の相違の一例を示す図である。
【図１０】実施形態に係る手法と、従来の各種手法との検出率の相違の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を、図面を参照しつつ、詳細に説明する。
【００１７】
（第１実施形態）
図１は、第１実施形態に係る画像処理装置２０を含む、工場内のロボットによるビンピッキングを行うためのシステム全体の構成を示している。
【００１８】
図１に示すように、システムは、カメラ１０を備えている。カメラ１０は、例えば、ライン上を流動する、対象物を収容した部品箱の内部を撮影する。カメラ１０によって撮影された画像は、入力画像として、画像処理装置２０に提供される。
【００１９】
画像処理装置２０は、入力画像と、予め準備され、内部のメモリ２１に記憶されている固有値テンプレート画像を用いた照合を行うことで、入力画像において、テンプレート画像に対応する対象物を検出する。なお、固有値テンプレート画像の作成手法を含む学習処理は、後に、図４のフローチャートに基づき詳しく説明する。
【００２０】
入力画像は、通常、テンプレート画像よりも広い画像エリアを有している。そのため、画像処理装置２０は、入力画像において、テンプレート画像と照合される照合領域を定めてクエリ画像とする。なお、クエリ画像とは、画像処理装置２０において、類似度の演算に用いられる画像を意味するものである。
【００２１】
その際、画像処理装置２０は、照合領域が入力画像全域をカバーするように、照合領域を所定画素単位（例えば、１画素単位）でずらしながら、複数回、照合領域を設定する。さらに、画像処理装置２０は、入力画像の異なる位置に設定された照合領域毎、すなわち、クエリ画像毎に、固有値テンプレート画像との相関値に対してＦＦＴ演算を行って、回転角度毎の類似度を算出し、その類似度が最大となる回転角度を求める。なお、入力画像とテンプレート画像との画像エリアが同等である場合には、直接、入力画像をクエリ画像として用いれば良い。
【００２２】
そして、画像処理装置２０は、クエリ画像毎に算出された類似度に基づき、類似度が最大になる位置及び回転角度に関する姿勢パラメータ、もしくは、類似度が閾値以上となる位置及び回転角度に関する姿勢パラメータを検出することで、最終的に必要な対象物の姿勢に関する情報を得る。例えば、画像処理装置２０は、クエリ画像毎に算出された類似度を相互に比較し、最大の類似度となるクエリ画像の位置及び回転角度から、対象物の姿勢を検出する。なお、画像処理装置２０における上記の照合処理の詳細については、後に、図５のフローチャートに基づき詳細に説明する。
【００２３】
ロボット３０は、画像処理装置２０から、対象物の位置及び回転角度に関する姿勢情報を取得し、その姿勢情報に基づき、例えば、該当する対象物を把持し、製品への組み付けを行うように、アームを制御する。
【００２４】
本実施形態に係る画像処理装置２０は、ビンピッキングを行うシステム以外に、例えば、部品や製品の外観検査を行うシステムなどにも適用可能である。外観検査を行うシステムに適用する場合には、例えば、画像処理装置２０から類似度に関する情報を表示装置に出力するようにし、表示装置において、類似度が閾値以上であれば正常表示し、閾値未満であれば警告表示を行うようにしても良い。
【００２５】
次に、本実施形態に係る画像処理装置２０における、相関に基づいた回転マッチングの高速化の手法について説明する。
【００２６】
従来の相関に基づいた回転マッチングは、下記の数式１のように定式化できる。すなわち、クエリ画像ｆと、一定の回転ピッチ（Δθ=２π／Ｎ）で面内回転したテンプレート画像Ｔθとの畳み込み演算をＮ回行うことで、各姿勢パラメータｘ、ｙ、θに対する類似度をそれぞれ計算する。なお、Ｒは、テンプレート画像Ｔθが、クエリ画像と重なる領域を示している。
【数１】
0006665488.tif 000002
【００２７】
検出率や角度パラメータθの推定精度を上げるために、角度ピッチΔθを小さくすると、必要な畳み込み演算の数が増えるため処理時間が増大してしまう。この問題を解決できる手法として固有値テンプレート法が提案されている。
【００２８】
固有値テンプレート法では、テンプレート画像群を特異値分解で情報圧縮して得た新たなテンプレート画像（固有値テンプレート画像）をマッチングに利用することで効率よく類似度を算出する。以下に、固有値テンプレート法による類似度の算出手法の一例を説明する。
【００２９】
例えば、テンプレート画像群Ｔを、以下の数式２のように定義する。
【数２】
0006665488.tif 000003
【００３０】
そして、テンプレート画像群Ｔを、下記の数式３のように、テンプレート画像群Ｔの画像枚数Ｎよりも少ないＭ枚の固有値テンプレート画像Ｅ＝［Ｅ０，…，ＥＭ−１］と、Ｍ個の固有関数φｋ（θ）＝［φ0Ｔ (θ)，…，φM-1Ｔ(θ)]Ｔとの積で近似する。
【数３】
0006665488.tif 000004
【００３１】
数式３の近似式を数式１に代入し、以下の数式４に示す類似度の近似式を得る。
【数４】
0006665488.tif 000005
【００３２】
この数式４を用いて類似度を算出することにより、数式２に比較して、Ｎ回の畳み込み演算をＭ回に削減することができ、演算処理を効率化することができる。
【００３３】
本実施形態による画像処理装置２０では、類似度を算出するための演算処理の更なる高速化を図るべく、数式４を２つのステップに分けて考える。すなわち、下記の数式５に示すように、クエリ画像ｆとＭ枚の固有値テンプレート画像Ｅとの畳込み演算により、相関値ベクトル（レスポンスベクトル）ｒ（ｘ，ｙ）を計算する処理を第１のステップとする。そして、下記の数式６に示すように、相関値ベクトルｒ（ｘ，ｙ）と固有関数φｋ（θ）との各要素の積の総和から類似度ｇを計算する処理を第２のステップとする。
【数５】
0006665488.tif 000006
【数６】
0006665488.tif 000007
【００３４】
数式５の相関値ベクトルｒの計算は、固有値テンプレート画像Ｅの枚数Ｍを固定すれば一定の処理時間で効率的に計算できる。しかし、数式６の相関値ベクトルｒと固有関数φｋ（θ）との積の総和の演算は、それぞれに含まれる要素数に比例して処理負荷が増大する。換言すると、この相関値ベクトルｒと固有関数φｋ（θ）との積の総和の演算を効率化することができれば、類似度ｇ（ｘ，y，θ）の演算処理をより高速化することができる。
【００３５】
そこで、本実施形態に係る画像処理装置２０は、テンプレート画像群ＴがＤＦＴ（Discrete Fourier Transform）行列を使って特異値分解でき、また大きな特異値が低周波成分に集中していることに着目し、固有関数φとしてＤＦＴ行列の低周波部分を用いた周波数基底関数を用いて固有値テンプレート画像Ｅを作成することとした。このようにすれば、類似度を算出すべく、固有値テンプレート画像Ｅとクエリ画像ｆとの畳み込み演算により算出した相関値ベクトルｒに対し、低周波部分のＤＦＴ行列（周波数基底関数）を固有関数として積和演算を行った場合と、ＦＦＴ演算処理を行った場合とで等価な結果を得ることができるようになる。ＦＦＴ演算処理は、相関値ベクトルｒとＤＦＴ行列との積和演算に比較して、演算時間を大幅に短縮することが可能である。そのため、従来の固有値テンプレート法と同等の検出率を維持しながら、従来の固有値テンプレート法に比較して、高速に回転マッチング、すなわち、類似度の演算を行うことが可能になる。
【００３６】
以下に、上述した手法の理論的背景について説明する。
【００３７】
まず、テンプレート画像群ＴがＤＦＴ行列を用いて特異値分解できることを示す。
【００３８】
テンプレート画像群Ｔのように、一定の回転ピッチで面内回転させて作成した行列の分散共分散行列は循環行列になり、さらに、循環行列はＤＦＴ行列Ｆと固有値行列Σとに固有値分解することができる。従って、以下の数式７が成り立つ。なお、添字の「Ｔ」は、転置行列、「†」は共役転置行列を表している。
【数７】
0006665488.tif 000008
【００３９】
数式７から、テンプレート画像群Ｔは、以下の数式８のように、ＤＦＴ行列Ｆを使って特異値分解することができる。
【数８】
0006665488.tif 000009
【００４０】
ここで、固有値テンプレート画像Ｅを、数式９のように定義すると、固有値テンプレート画像Ｅは、数式１０のように、テンプレート画像群ＴとＤＦＴ行列Ｆとから求めることができる。
【数９】
0006665488.tif 000010
【数１０】
0006665488.tif 000011
【００４１】
次に、上述したようにテンプレート画像群Ｔを周波数分解して作成した固有値テンプレート画像Ｅを用いた類似度の算出手法について説明する。
【００４２】
数式８より、Ｎ枚の固有値テンプレート画像Ｅは互いに直交していることから、数式１の類似度は、以下の数式１１のように、フーリエ級数の形で表すことができる。
【数１１】
0006665488.tif 000012
【００４３】
なお、相関値ベクトルｒｋの定義は、数式５と同様である。
【００４４】
ここで、多くの画像では面内回転方向の輝度変化は緩やかなので、テンプレート画像群Ｔをフーリエ級数展開した場合、低周波領域に、高い値の固有値が集中する傾向がある。例えば、図２は、Ｌ字型のワークをテンプレート画像として、固有値と各周波数成分とに分解した場合の、各周波数成分に対する固有値を示している。この図２からも、低周波成分に対応する固有値が、相対的に高い値を示すことが分かる。
【００４５】
このため、離散フーリエ基底の低周波成分Ｍ個からなるトランケートＤＦＴ行列Ｆ(N×M)を使って、テンプレート画像群Ｔは、以下の数式１２のように近似することができる。なお、Ｍ個の低周波数成分としては、例えば、直流成分を下限とし、所定の基準周波数を上限とするＭ個の周波数成分を選択することができる。また、各固有値テンプレート画像Ｅは、それぞれＮ個の要素からなるものとしている。
【数１２】
0006665488.tif 000013
【００４６】
数式１２を、数式１１に適用することで、Ｍ枚の固有値テンプレート画像Ｅによる類似度の近似式が、以下の数式１３のように得られる。
【数１３】
0006665488.tif 000014
【００４７】
次に、固有値テンプレート画像Ｅとクエリ画像ｆとの畳み込みの結果得られる相関値ベクトルｒのＮ次元ＦＦＴにより、数式１３の類似度が計算できることを示す。準備として、数式１３の類似度を以下の数式１４のようにトランケートＤＦＴ行列を使って書き直す。
【数１４】
0006665488.tif 000015
【００４８】
なお、数式１４における相関値ベクトルｒの定義は、数式１５に示す通りである。
【数１５】
0006665488.tif 000016
【００４９】
数式１４の相関値ベクトルｒとトランケートＤＦＴ行列Ｆ（Ｎ×Ｍ）の積和演算により得られる類似度は、長さＮに０パディングした相関値ベクトルｒ（＝［rＴ(ｘ,y),0,…,0］）とＮ次元ＤＦＴ行列との積和演算結果と等価である。
【００５０】
従って、数式１４の類似度は以下の数式１６のように変形することができ、Ｎ次元ＦＦＴ演算により計算することができる。
【数１６】
0006665488.tif 000017
【００５１】
より高速に類似度を計算することを可能とするため、数式１６のＮ次元ＦＦＴの結果得られる類似度が、より高速なＭ（＜Ｎ）次元ＦＦＴを使って近似できることを示す。
【００５２】
ＤＦＴ行列Ｆ（N×M）のＭ次元ＤＦＴ行列への射影は、図３に示すように、対角行列を縦に潰したような形になっている。このことから、数式１７の類似度は、０パディングを行わずに、相関値ベクトルｒをＭ次元ＦＦＴすることで得られる類似度を、回転角方向に伸ばしたもので良く近似できることがわかる。
【００５３】
したがって、Ｍ次元ＦＦＴの結果からピークサーチにより、各照合領域の回転方向の類似度のピーク値ｇ（x,y,θmax）と対応する角度パラメータθmax（x, y）の初期値を推定できる。そして、角度パラメータθmax（x, y）の精度をさらに高めるべく、θmax（x, y）を初期値として、Newton法を使って回転角の推定を、サブピクセル単位で行う。類似度が解析関数（フーリエ基底の線形和）で記述できるため、その二次微分も解析的に計算できるためである。あるいは、ピーク周辺の３点を使ってパラボラフィッティングを行うことで回転角の推定を行っても良い。
【００５４】
以下、図４のフローチャートを参照して、固有値テンプレート画像の作成手法を中心として、画像処理装置２０における学習処理について説明する。
【００５５】
この学習処理では、まず、ステップＳ１００において、回転角度が異なる複数のテンプレート画像からなるテンプレート画像群Ｔを生成する。続くステップＳ１１０では、テンプレート画像群Ｔを、上述した数式１２によって示されるように、要素としての周波数成分がＭ個のトランケートＤＦＴ行列Ｆと、Ｍ枚の固有値テンプレート画像Ｅとに近似分解する。このようにして、Ｍ枚の固有値テンプレート画像Ｅを作成する。作成したＭ枚の固有値テンプレート画像Ｅは、メモリ２１に記憶しておく。
【００５６】
なお、上述した学習処理は、他のコンピュータで行い、作成されたＭ枚の固有値テンプレート画像Ｅを、画像処理装置２０のメモリ２１に記憶させるようにしても良い。
【００５７】
次に、図５のフローチャートを参照して、画像処理装置２０において実行される照合処理について説明する。
【００５８】
まず、ステップＳ２００において、入力画像において、テンプレート画像と照合される照合領域を設定する。この設定された照合領域がクエリ画像として、以下に説明する各処理の処理対象となる。
【００５９】
続くステップＳ２１０では、上述した数式５に従い、クエリ画像ｆと、Ｍ枚の固有値テンプレート画像との畳み込み演算を行い、数式１５に示す、Ｍ個の要素からなる相関値ベクトルｒを算出する。
【００６０】
ステップＳ２２０では、算出した相関値ベクトルｒの各要素の絶対値の和を算出する。この処理を行う理由は、ＤＦＴ行列Ｆの構造に着目することで、算出される類似度の上限値を簡易的に計算し、上限値が閾値に満たない場合には、詳細な類似度の計算を省略することで処理をさらに高速にするためである。なお、ＤＦＴ行列Ｆでは、行ベクトルのｌ２ノルムは対応するθによらず一定である。そのため、相関値ベクトルｒの各要素の絶対値の和から類似度の上限値が計算できる。
【００６１】
ステップＳ２３０では、算出した絶対値の和を所定の閾値と比較する。そして、算出した絶対値の和が所定の閾値未満であると判定した場合、類似度を算出するための処理をスキップして、ステップＳ２７０の処理に進む。一方、閾値以上であると判定した場合には、ステップＳ２４０の処理に進む。
【００６２】
ステップＳ２４０では、相関値ベクトルｒに対して、Ｍ次元ＦＦＴ演算を実行する。この際、Ｍ次元ＦＦＴは、数式１３に示されるように、所定の回転角度θを基準として実行される。これにより、Ｍ次元ＦＦＴ演算により得られる各周波数成分と、回転角度との対応関係が一義的に定まる。そのため、ステップＳ２５０において、Ｍ次元ＦＦＴ演算の結果から、類似度がピークとなる角度パラメータθmax（x,y）の初期値を求めることができる。そして、ステップＳ２６０において、ステップＳ２５０で算出したθmax（x, y）を初期値として、Newton法を使って回転角の最終的な推定をサブピクセル単位で行う。
【００６３】
ステップＳ２７０では、入力画像の全域に渡って照合が行われたか否かを判定する。まだ、全域での照合が完了していないと判定された場合には、ステップＳ２００に戻り、照合領域をずらして、ステップＳ２１０以降の処理を実行する。一方、ステップＳ２７０において、全域での照合が完了したと判定された場合には、ステップＳ２８０に進み、全ての照合領域での照合結果に基づいて、対象物の位置及び回転角度を決定する。
【００６４】
（第２実施形態）
次に、本発明の第２実施形態に係る画像処理装置２０について説明する。
【００６５】
上述した第１実施形態に係る画像処理装置２０では、固有値テンプレート画像Ｅを作成するために、回転角度が異なる複数のテンプレート画像からなるテンプレート画像群Ｔを生成した。このようなテンプレート画像群Ｔを用いる場合、テンプレート画像を回転する処理を複数回行わなければならず、学習処理が煩雑となる。また、回転したテンプレート画像を保存しておくために大量のメモリも必要となる。
【００６６】
そこで、本実施形態に係る画像処理装置２０では、１枚のテンプレート画像を極座標表現し、その極座標表現したテンプレート画像に対して、回転軸方向にフーリエ変換を施すことで、固有値テンプレート画像を作成し、その固有値テンプレート画像を用いて類似度の近似計算を行うようにしたものである。
【００６７】
以下、本実施形態による手法の理論的背景について説明する。
【００６８】
まず、角度θだけ回転したテンプレート画像Ｔ（ｒ、τ−θ）とクエリ画像ｆ（ｒ、τ）との類似度を極座標パラメータ（ｒ、θ）を使って、以下の数式１７のように定義する。
【数１７】
0006665488.tif 000018
【００６９】
また、極座標変換したテンプレート画像Ｔ（ｒ，τ）は回転軸方向のフーリエ級数展開により、以下の数式１８ように書き表すことができる。
【数１８】
0006665488.tif 000019
【００７０】
テンプレート画像を極座標変換した場合も、回転角度が異なる複数のテンプレート画像からなるテンプレート画像群Ｔの場合と同様に、回転方向の輝度変化は低周波成分に集中する。このため、数式１８は、以下の数式１９のように、Ｍ個の低周波数成分を基底とし、そのＭ個の低周波成分の線形和で近似することができる。
【数１９】
0006665488.tif 000020
【００７１】
数式１９を、数式１７に代入し、ｋθについて整理すると、以下の数式２０のように、類似度ｇ（θ）が、上述したＭ個の低周波成分を要素とするフーリエ基底の線形和で表現することができる。
【数２０】
0006665488.tif 000021
【００７２】
なお、数式２０における、固有値テンプレート画像Ｅｋ（ｒ、τ）は、以下の数式２１のように定義される。
【数２１】
0006665488.tif 000022
【００７３】
このように、固有値テンプレート画像Ｅｋ（ｒ、τ）は、極座標に変換された前記テンプレート画像をフーリエ級数展開したときの、Ｍ個の低周波成分と、各低周波成分の係数φｋ（ｒ）とを用いて算出することができる。
【００７４】
なお、数式２１のままでは、クエリ画像ｆとの照合を行う際に、クエリ画像ｆを極座標変換する必要があるため計算負荷が大きくなり、また、畳み込み定理を使った内積演算の効率化ができないという問題が生じる。
【００７５】
そこで、数式２１における、φｋ（ｒ）、ψｋ（τ）を逆極座標変換することで、数式２２に示すように、固有値テンプレート画像Ｅｋ（ｒ、τ）をユークリッド座標上において算出する。
【数２２】
0006665488.tif 000023
【００７６】
これにより、第１実施形態の場合と同様に、クエリ画像ｆと固有値テンプレート画像Ｅｋとの畳み込み演算により相関値ベクトルｒを算出することができる。従って、本実施形態に係る画像処理装置２０も、第１実施形態に係る画像処理装置２０と同じく、図５のフローチャートに示される照合処理により、類似度を算出し、対象物の姿勢パラメータを求めることができる。
【００７７】
以下に、本実施形態に係る画像処理装置２０において実行される学習処理について、図６のフローチャートを参照して説明する。
【００７８】
まず、ステップＳ３００において、テンプレート画像の中心を基準として、テンプレート画像を極座標に変換する。続くステップＳ３１０では、極座標に変換したテンプレート画像を回転軸方向にフーリエ級数展開することにより、周波数分解する。このフーリエ級数展開では、数式１９に示されるように、Ｍ個の低周波数成分を基底とし、そのＭ個の低周波成分の線形和で近似する。これにより、Ｍ個の低周波成分と、各低周波成分の係数φｋ（ｒ）とが定まる。
【００７９】
続くステップＳ３２０では、Ｍ個の周波数成分を要素とする関数ψｋ（τ）、及び各周波数成分の係数φｋ（ｒ）をユークリッド座標に変換する。そして、ステップＳ３３０において、数式２２に従い、ユークリッド座標に変換されたＭ個の低周波成分を要素とする関数ψｋ（τ）と、各低周波成分の係数φｋ（ｒ）とを用いて、固有値テンプレート画像Ｅｋ（ｒ、τ）を算出する。
【００８０】
なお、上述した説明では、テンプレート画像を極座標変換したのちに、フーリエ変換する手法を示したが、ユークリッド座標上のテンプレート画像から直接極座標におけるフーリエ変換を行うことも可能である。また、第１実施形態の場合と同様に、上述した学習処理を、他のコンピュータに行わせ、作成されたＭ枚の固有値テンプレート画像Ｅを、画像処理装置２０のメモリ２１に記憶させるようにしても良い。
【００８１】
ここで、上述した第１実施形態に係る画像処理装置及び第２実施形態に係る画像処理装置における手法と、従来の固有値テンプレート法とを、照合時間、学習時間、メモリ使用量の観点で対比させた結果を図７に示す。なお、図７（ａ）〜（ｃ）において、「実１」は第１実施形態にて説明した手法を採用した場合の結果を示し、「実２」は第２実施形態にて説明した手法を採用した場合の結果を示している。また、図７（ａ）〜（ｃ）に示す値は、理論値の一例を示したものである。
【００８２】
図７（ａ）は、クエリ画像との照合処理に要した照合時間に関する対比結果を示している。第１実施形態及び第２実施形態に係る手法では、相関値ベクトルと周波数基底関数との積和演算をＦＦＴ演算により高速化しているため、照合時間を従来法の１／５程度に短縮できている。
【００８３】
また、図７（ｂ）は、固有値テンプレート画像の作成を含む学習時間に関する対比結果を示している。第１実施形態に係る手法では、学習アルゴリズムの中で、処理負荷が高い特異値分解（ＳＶＤ）がＦＦＴに置き換わるので、学習時間も、従来法に比較して１／４程度に短縮できている。
【００８４】
さらに、図７（ｃ）は、学習処理におけるメモリ使用量に関する対比結果を示している。第２実施形態に係る手法では、学習時に、テンプレート画像の極座標変換を使うことで、従来法で必要であった面内回転画像のメモリへの格納を不要としている。これにより、第２実施形態の手法によれば、学習処理時のメモリ使用量を従来法の１／１２０程度まで削減できている。
【００８５】
（第３実施形態）
次に、本発明の第３実施形態に係る画像処理装置２０について説明する。
【００８６】
本実施形態に係る画像処理装置２０は、照明や背景の変動に対するロバスト化を強化するため、背景のノイズに対してロバストである位相情報を使ったマッチングと、照明の変動にロバストである輝度勾配方向を使ったマッチングとを、上述した第１実施形態及び第２実施形態によるテンプレート画像の情報圧縮に基づいたマッチングに適用するものである。
【００８７】
輝度勾配の方向は環境の明るさ変動による画像の輝度変化に対して頑強である。また、クエリ画像の背景にテンプレート画像と似たような模様がある場合でも、位相成分を使ったＰＯＣはロバストに類似度を計算できる。これらの考え方を適用した画像を用いて、第１実施形態及び第２実施形態において説明した、学習処理や照合処理を実行することで、照明や背景の変動に対するロバスト化を強化することができる。
【００８８】
そこで、本実施形態では、クエリ画像及びテンプレート画像それぞれに関して、以下の数式２３に示すように、輝度勾配の強度と方向からなる複素勾配画像を計算する。
【数２３】
0006665488.tif 000024
【００８９】
数式２３において、Ｔｘ、Ｔｙは、元の画像Ｔに対してガウシアンフィルタを適用した、水平、垂直方向の微分画像である。
【００９０】
さらに、この複素勾配画像の２次元フーリエ変換した周波数空間における位相成分を取り出した画像（振幅を１にした画像）を生成する。
【００９１】
面内回転したテンプレート画像から、上記の方法で生成した画像から作られるテンプレート群の分散共分散行列は循環行列になる。このため、第１実施形態及び第２実施形態において説明した手法に適用することができる。
【００９２】
また、テンプレート画像とクエリ画像とで背景の輝度が大きく変わると、輝度勾配の方向が反転（π回転）する。そこで、数式２３では、輝度勾配の方向が反転した場合でも、内積の値が同じになるように回転成分に２をかけることで、このような変動にロバストにしている。
【００９３】
（第４実施形態）
次に、本発明の第４実施形態に係る画像処理装置２０について説明する。
【００９４】
例えば、第３実施形態として説明した、複素勾配画像の位相成分のみを使って、クエリ画像と固有値テンプレート画像との相関を計算する場合など、クエリ画像によっては偽ピークが発生し易くなる場合がある。クエリ画像の背景などによって発生する偽ピークは、広い面積で高い値を示す傾向がある。
【００９５】
そこで、本実施形態では、ＦＦＴ演算結果、すなわち類似度のピーク値peakと、その周辺の平均値meanと分散値σとの関係を評価することで、偽ピークを抑制することとした。具体的には、回転方向の最大類似度に対してＰＳＲ（Peak Signal Ratio）フィルタ処理を施して、最終的な類似度を求める。ＰＳＲフィルタ処理は、以下の数式２４によって定義される。
【数２４】
0006665488.tif 000025
【００９６】
なお、各クエリ画像における、ピーク値peak、平均値mean、分散値σは、インテグラルイメージを用いることで高速に計算することができる。
【００９７】
（評価実験）
上述した各実施形態による、高速化及び背景／明るさに対するロバスト化の手法の有用性を評価するためシミュレーションによる実験を行った。なお、以下に記載する提案法１（Proposed-Phase）とは、第１実施形態による手法に、第３実施形態による複素勾配画像より生成した画像を適用したものに相当し、提案法２（Proposed-Naive）とは、第１実施形態で説明した手法をそのまま使用したものに相当する。
【００９８】
（１）評価項目
検出成功率及び処理速度について評価を行った。検出成功率は、ＸＹ位置については正しい位置から±３［pix］以内、回転角度θについては±３［deg］以内を検出成功とした。処理速度は、各手法で類似度ｇを最大にするパラメータを探索するまでの時間を計測した。
【００９９】
なお、閾値を使った判定は行っていない。その理由は、各手法で相関値の指標が異るため、各手法で同じ閾値を設定するのができないためである。従って、提案法１，２としては、相関値ベクトルｒの各要素の絶対値の和の大きさに基づく足切りは行っていない。
【０１００】
（２）比較した手法
提案法１（Proposed-Phase）及び提案法２（Proposed-Naive）に対して対比された手法は、以下の４つの手法である。
・積分形正規化エッジ固有値テンプレート法（Eigen-Edge）
・固有値テンプレート法（Eigen-Naive）
・回転不変位相限定相関法（RIPOC）
・正規化相互相関を使った回転マッチング（NCC）
なお、今回の評価実験では、精度についての評価は行わないため、サブピクセル推定の処理は無効にしている。
【０１０１】
また、提案法１（Proposed-Phase）及び提案法２（Proposed-Naive）を含め、各手法に関して、ＧＰＵによる処理の並列化を行った実装についても処理速度の評価を行った。
【０１０２】
また、提案法（Proposed-Phase）、提案法２（Proposed-Naive）、積分形正規化エッジ固有値テンプレート法（Eigen-Edge）、及び固有値テンプレート法（Eigen-Naive）では、テンプレート画像を角度ピッチΔθ＝３６０／５１２［deg］刻みで回転して生成した５１２枚のテンプレート画像群を、Ｍ＝３２枚の固有値テンプレート画像で近似した。
【０１０３】
回転不変位相限定相関法（RIPOC）については、ノイズへのロバスト性を向上するため、ＰＯＣ処理においてローパスフィルタを適用した。
【０１０４】
正規化相互相関を使った回転マッチング（NCC）についても、角度刻み数Ｎ＝５１２とした。
【０１０５】
（３）対象ワークとクエリ画像
対象のワークはテクスチャレスの工業部品を想定し、図８（ａ）〜（ｄ）に示すように、Ｌ字型のパーツを用いた。また、クエリ画像に関しては、別に撮影した回路基板の実装面など、特徴が異なる４種類の画像を背景画像とし、対象ワークの画像と合成することにより、図８（ａ）〜（ｄ）に示す４種類のクエリ画像を作成した。さらに、クエリ画像の枚数を増やすため、図８（ａ）〜（ｄ）のそれぞれのクエリ画像を元に、背景画像に対して対象ワークをランダムに回転した上で背景画像と合成することにより、各クエリ画像からそれぞれ１０００枚のクエリ画像を作成した。また、実環境におけるノイズを再現するため、クエリ画像に分散が１５のガウシアンノイズを付与し、I(x,y)←I(x,y)×(0.5×x/512)となるようなシェーディングによる変換を施した。
【０１０６】
（４）処理時間
図９に、各手法による処理時間を示す。なお、図９に示す処理時間は、４種類のクエリ画像×１０００枚について平均値である。
【０１０７】
正規化相互相関を使った回転マッチング（NCC）は、面内回転した多数のテンプレート画像とそれぞれ畳み込み演算を行わなければならず、処理時間は非常に長くなる。また、ＧＰＵ利用による改善効果もさほど見られない。ＧＰＵへの転送時間がボトルネックとなっていることが一因と考えられる。
【０１０８】
提案法１（Proposed-Phase）、提案法２（Proposed-Naive）、積分形正規化エッジ固有値テンプレート法（Eigen-Edge）及び固有値テンプレート法（Eigen-Naive）は、畳み込み演算に関しては、３２枚の固有値テンプレート画像との畳込み演算を行うだけで良いので、正規化相互相関を使った回転マッチング（NCC）に対して大幅に処理時間を短縮できている。
【０１０９】
さらに、提案法１（Proposed-Phase）及び提案法２（Proposed-Naive）は、相関値と固有関数との積和演算をＦＦＴ演算に置き換えているため、提案法１（Proposed-Phase）と積分形正規化エッジ固有値テンプレート法（Eigen-Edge）との比較では、約５．５倍、提案法２（Proposed-Naive）と固有値テンプレート法（Eigen-Naive）との比較では、約３．５倍の処理速度の高速化が確認できた。
【０１１０】
また、提案法１（Proposed-Phase）及び提案法２（Proposed-Naive）は、ＧＰＵを使用した場合、高速に回転マッチングが行えることで知られるＲＩＣＯＰと比較して、約３倍の高速化が実現できた。
（５）検出成功率
図１０に、各手法の検出成功率を示す。なお、図１０では、図８（ａ）〜（ｄ）に示す各クエリ画像ごとに分けて、検出成功率を示している。
【０１１１】
提案法２（Proposed-Naive）と固有値テンプレート法（Eigen-Naive）では、図８（ａ）、（ｂ）に示すクエリ画像に関して同等の検出成功率が得られており、今回実験に用いたテクスチャが少ないワークでは、第１実施形態で説明した高速化のための手法が検出成功率に悪影響を与えないことが確認できた。
【０１１２】
ただし、提案法２（Proposed-Naive）と固有値テンプレート法（Eigen-Naive）とも、図８（ｃ）、（ｄ）のような複雑な背景の画像ではロバスト性の改善を行った他の手法と比べて低い検出成功率となった。
【０１１３】
それに対して、第３実施形態において説明した複素勾配画像より生成した画像を適用した提案法１（Proposed-Phase）は、正規化相互相関を使った回転マッチング（NCC）や積分形正規化エッジ固有値テンプレート法（Eigen-Edge）のようなロバスト性の改善を行った従来法と比べても高い検出成功率が得られた。特に、積分形正規化エッジ固有値テンプレート法（Eigen-Edge）では、背景の輝度が学習時と大きく異なる図８（ｄ）のクエリ画像の検出成功率が大きく低下しているが、提案法１（Proposed-Phase）ではこのようなクエリ画像に対してもロバストに対象ワークの姿勢が推定できた。
【０１１４】
上述した各実施形態は、本発明の画像処理方法及び画像処理装置の好ましい実施形態ではあるが、本発明の画像処理方法及び画像処理装置は、上記実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形することが可能である。
【０１１５】
例えば、上述した第１実施形態及び第２実施形態では、直流成分を下限とし、所定の基準周波数を上限とするＭ個の低周波成分が、全固有値の中で相対的に大きい固有値に対応するものを包含していることを前提としている。しかし、大きな固有値に対応する周波数成分が、高周波領域にあるようなテンプレートの場合には、その大きな固有値に対応する周波数成分を含むようにＤＦＴ行列を選択する必要がある。例えば、テンプレート毎に、各周波数成分に対応する固有値の大きさを調べ、その結果に基づいて、ＤＦＴ行列の周波数成分を定めても良い。
【０１１６】
また、画像の回転方向の高周波成分をカットするような前処理を適用することで、大きな固有値に対応する周波数成分を低周波領域に集中させるようにしても良い。
【符号の説明】
【０１１７】
１０  カメラ
２０  画像処理装置
２１  メモリ
３０  ロボット
【図１】
0006665488.tif 000030
【図２】
0006665488.tif 000031
【図３】
0006665488.tif 000032
【図４】
0006665488.tif 000033
【図５】
0006665488.tif 000034
【図６】
0006665488.tif 000035
【図７】
0006665488.tif 000036
【図８】
0006665488.tif 000037
【図９】
0006665488.tif 000038
【図１０】
0006665488.tif 000039