【文献】
矢田 晃嗣郎など,多段絞り込みによる固定値テンプレート法の高速化,電気学会論文誌C,日本,一般社団法人電気学会 The Institute of Electrical Engineers of Japan,2013年11月 1日,Vol.133 No.11,pp.2110−2117
(58)【調査した分野】(Int.Cl.,DB名)
前記所定の周波数範囲に属する低周波から高周波までの所定数の周波数成分は、直流成分を下限とし、所定の基準周波数を上限とするものである請求項1に記載の画像処理方法。
前記入力画像と前記テンプレート画像について、それぞれ、輝度勾配の強度と向きからなる複素勾配画像を計算し、その複素勾配画像から位相成分を取り出した画像に変換する第5ステップを備え、
変換された画像を用いて、前記第1ステップから前記第4ステップまでの処理が実行される請求項1乃至4のいずれかに記載の画像処理方法。
前記入力画像は、前記テンプレート画像よりも広い画像エリアを有しており、前記入力画像において、前記テンプレート画像と照合される照合領域を定める第6ステップ(S200、S270)を備え、
前記第6ステップでは、前記照合領域が前記入力画像の全域をカバーするように、前記照合領域を所定画素単位でずらしながら、複数回、前記照合領域を定め、
前記第2ステップでは、前記入力画像として、前記第6ステップで定められた照合領域を用いて、前記固有値テンプレート画像との畳み込み演算を行って、前記相関値を算出し、
さらに、前記固有値テンプレート画像毎に算出された各相関値の絶対値の和と所定の閾値とを比較し、各相関値の絶対値の和が前記所定の閾値に満たない場合、前記第3ステップ以降の処理の対象から除外する第7ステップ(S230)を備える請求項1乃至6のいずれかに記載の画像処理方法。
前記所定の周波数範囲に属する低周波から高周波までの所定数の周波数成分は、直流成分を下限とし、所定の基準周波数を上限とするものである請求項9に記載の画像処理装置。
前記入力画像と前記テンプレート画像について、それぞれ、輝度勾配の強度と向きからなる複素勾配画像を計算し、その複素勾配画像の位相成分を取り出した画像に変換する変換部を備える請求項9又は10に記載の画像処理装置。
前記入力画像は、前記テンプレート画像よりも広い画像エリアを有しており、前記入力画像において、前記テンプレート画像と照合される照合領域を定める照合領域設定部(S200、S270)を備え、
前記照合領域設定部は、前記照合領域が前記入力画像の全域をカバーするように、前記照合領域を所定画素単位でずらしながら、複数回、前記照合領域を定め、
前記相関値算出部は、前記入力画像として、前記照合領域設定部によって定められた照合領域を用いて、前記固有値テンプレート画像との畳み込み演算を行って、前記相関値を算出し、
さらに、前記固有値テンプレート画像毎に算出された各相関値の絶対値の和と所定の閾値とを比較し、各相関値の絶対値の和が前記所定の閾値に満たない場合、前記類似度算出部における類似度の算出対象から除外する相関値判定部(S230)を備える請求項9乃至12のいずれかに記載の画像処理装置。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態を、図面を参照しつつ、詳細に説明する。
【0017】
(第1実施形態)
図1は、第1実施形態に係る画像処理装置20を含む、工場内のロボットによるビンピッキングを行うためのシステム全体の構成を示している。
【0018】
図1に示すように、システムは、カメラ10を備えている。カメラ10は、例えば、ライン上を流動する、対象物を収容した部品箱の内部を撮影する。カメラ10によって撮影された画像は、入力画像として、画像処理装置20に提供される。
【0019】
画像処理装置20は、入力画像と、予め準備され、内部のメモリ21に記憶されている固有値テンプレート画像を用いた照合を行うことで、入力画像において、テンプレート画像に対応する対象物を検出する。なお、固有値テンプレート画像の作成手法を含む学習処理は、後に、
図4のフローチャートに基づき詳しく説明する。
【0020】
入力画像は、通常、テンプレート画像よりも広い画像エリアを有している。そのため、画像処理装置20は、入力画像において、テンプレート画像と照合される照合領域を定めてクエリ画像とする。なお、クエリ画像とは、画像処理装置20において、類似度の演算に用いられる画像を意味するものである。
【0021】
その際、画像処理装置20は、照合領域が入力画像全域をカバーするように、照合領域を所定画素単位(例えば、1画素単位)でずらしながら、複数回、照合領域を設定する。さらに、画像処理装置20は、入力画像の異なる位置に設定された照合領域毎、すなわち、クエリ画像毎に、固有値テンプレート画像との相関値に対してFFT演算を行って、回転角度毎の類似度を算出し、その類似度が最大となる回転角度を求める。なお、入力画像とテンプレート画像との画像エリアが同等である場合には、直接、入力画像をクエリ画像として用いれば良い。
【0022】
そして、画像処理装置20は、クエリ画像毎に算出された類似度に基づき、類似度が最大になる位置及び回転角度に関する姿勢パラメータ、もしくは、類似度が閾値以上となる位置及び回転角度に関する姿勢パラメータを検出することで、最終的に必要な対象物の姿勢に関する情報を得る。例えば、画像処理装置20は、クエリ画像毎に算出された類似度を相互に比較し、最大の類似度となるクエリ画像の位置及び回転角度から、対象物の姿勢を検出する。なお、画像処理装置20における上記の照合処理の詳細については、後に、
図5のフローチャートに基づき詳細に説明する。
【0023】
ロボット30は、画像処理装置20から、対象物の位置及び回転角度に関する姿勢情報を取得し、その姿勢情報に基づき、例えば、該当する対象物を把持し、製品への組み付けを行うように、アームを制御する。
【0024】
本実施形態に係る画像処理装置20は、ビンピッキングを行うシステム以外に、例えば、部品や製品の外観検査を行うシステムなどにも適用可能である。外観検査を行うシステムに適用する場合には、例えば、画像処理装置20から類似度に関する情報を表示装置に出力するようにし、表示装置において、類似度が閾値以上であれば正常表示し、閾値未満であれば警告表示を行うようにしても良い。
【0025】
次に、本実施形態に係る画像処理装置20における、相関に基づいた回転マッチングの高速化の手法について説明する。
【0026】
従来の相関に基づいた回転マッチングは、下記の数式1のように定式化できる。すなわち、クエリ画像fと、一定の回転ピッチ(Δθ=2π/N)で面内回転したテンプレート画像Tθとの畳み込み演算をN回行うことで、各姿勢パラメータx、y、θに対する類似度をそれぞれ計算する。なお、Rは、テンプレート画像Tθが、クエリ画像と重なる領域を示している。
【数1】
【0027】
検出率や角度パラメータθの推定精度を上げるために、角度ピッチΔθを小さくすると、必要な畳み込み演算の数が増えるため処理時間が増大してしまう。この問題を解決できる手法として固有値テンプレート法が提案されている。
【0028】
固有値テンプレート法では、テンプレート画像群を特異値分解で情報圧縮して得た新たなテンプレート画像(固有値テンプレート画像)をマッチングに利用することで効率よく類似度を算出する。以下に、固有値テンプレート法による類似度の算出手法の一例を説明する。
【0029】
例えば、テンプレート画像群Tを、以下の数式2のように定義する。
【数2】
【0030】
そして、テンプレート画像群Tを、下記の数式3のように、テンプレート画像群Tの画像枚数Nよりも少ないM枚の固有値テンプレート画像E=[E
0,…,E
M−1]と、M個の固有関数φ
k(θ)=[φ
0T (θ),…,φ
M-1T(θ)]
Tとの積で近似する。
【数3】
【0031】
数式3の近似式を数式1に代入し、以下の数式4に示す類似度の近似式を得る。
【数4】
【0032】
この数式4を用いて類似度を算出することにより、数式2に比較して、N回の畳み込み演算をM回に削減することができ、演算処理を効率化することができる。
【0033】
本実施形態による画像処理装置20では、類似度を算出するための演算処理の更なる高速化を図るべく、数式4を2つのステップに分けて考える。すなわち、下記の数式5に示すように、クエリ画像fとM枚の固有値テンプレート画像Eとの畳込み演算により、相関値ベクトル(レスポンスベクトル)r(x,y)を計算する処理を第1のステップとする。そして、下記の数式6に示すように、相関値ベクトルr(x,y)と固有関数φ
k(θ)との各要素の積の総和から類似度gを計算する処理を第2のステップとする。
【数5】
【数6】
【0034】
数式5の相関値ベクトルrの計算は、固有値テンプレート画像Eの枚数Mを固定すれば一定の処理時間で効率的に計算できる。しかし、数式6の相関値ベクトルrと固有関数φ
k(θ)との積の総和の演算は、それぞれに含まれる要素数に比例して処理負荷が増大する。換言すると、この相関値ベクトルrと固有関数φ
k(θ)との積の総和の演算を効率化することができれば、類似度g(x,y,θ)の演算処理をより高速化することができる。
【0035】
そこで、本実施形態に係る画像処理装置20は、テンプレート画像群TがDFT(Discrete Fourier Transform)行列を使って特異値分解でき、また大きな特異値が低周波成分に集中していることに着目し、固有関数φとしてDFT行列の低周波部分を用いた周波数基底関数を用いて固有値テンプレート画像Eを作成することとした。このようにすれば、類似度を算出すべく、固有値テンプレート画像Eとクエリ画像fとの畳み込み演算により算出した相関値ベクトルrに対し、低周波部分のDFT行列(周波数基底関数)を固有関数として積和演算を行った場合と、FFT演算処理を行った場合とで等価な結果を得ることができるようになる。FFT演算処理は、相関値ベクトルrとDFT行列との積和演算に比較して、演算時間を大幅に短縮することが可能である。そのため、従来の固有値テンプレート法と同等の検出率を維持しながら、従来の固有値テンプレート法に比較して、高速に回転マッチング、すなわち、類似度の演算を行うことが可能になる。
【0036】
以下に、上述した手法の理論的背景について説明する。
【0037】
まず、テンプレート画像群TがDFT行列を用いて特異値分解できることを示す。
【0038】
テンプレート画像群Tのように、一定の回転ピッチで面内回転させて作成した行列の分散共分散行列は循環行列になり、さらに、循環行列はDFT行列Fと固有値行列Σとに固有値分解することができる。従って、以下の数式7が成り立つ。なお、添字の「T」は、転置行列、「†」は共役転置行列を表している。
【数7】
【0039】
数式7から、テンプレート画像群Tは、以下の数式8のように、DFT行列Fを使って特異値分解することができる。
【数8】
【0040】
ここで、固有値テンプレート画像Eを、数式9のように定義すると、固有値テンプレート画像Eは、数式10のように、テンプレート画像群TとDFT行列Fとから求めることができる。
【数9】
【数10】
【0041】
次に、上述したようにテンプレート画像群Tを周波数分解して作成した固有値テンプレート画像Eを用いた類似度の算出手法について説明する。
【0042】
数式8より、N枚の固有値テンプレート画像Eは互いに直交していることから、数式1の類似度は、以下の数式11のように、フーリエ級数の形で表すことができる。
【数11】
【0043】
なお、相関値ベクトルr
kの定義は、数式5と同様である。
【0044】
ここで、多くの画像では面内回転方向の輝度変化は緩やかなので、テンプレート画像群Tをフーリエ級数展開した場合、低周波領域に、高い値の固有値が集中する傾向がある。例えば、
図2は、L字型のワークをテンプレート画像として、固有値と各周波数成分とに分解した場合の、各周波数成分に対する固有値を示している。この
図2からも、低周波成分に対応する固有値が、相対的に高い値を示すことが分かる。
【0045】
このため、離散フーリエ基底の低周波成分M個からなるトランケートDFT行列F
(N×M)を使って、テンプレート画像群Tは、以下の数式12のように近似することができる。なお、M個の低周波数成分としては、例えば、直流成分を下限とし、所定の基準周波数を上限とするM個の周波数成分を選択することができる。また、各固有値テンプレート画像Eは、それぞれN個の要素からなるものとしている。
【数12】
【0046】
数式12を、数式11に適用することで、M枚の固有値テンプレート画像Eによる類似度の近似式が、以下の数式13のように得られる。
【数13】
【0047】
次に、固有値テンプレート画像Eとクエリ画像fとの畳み込みの結果得られる相関値ベクトルrのN次元FFTにより、数式13の類似度が計算できることを示す。準備として、数式13の類似度を以下の数式14のようにトランケートDFT行列を使って書き直す。
【数14】
【0048】
なお、数式14における相関値ベクトルrの定義は、数式15に示す通りである。
【数15】
【0049】
数式14の相関値ベクトルrとトランケートDFT行列F(N×M)の積和演算により得られる類似度は、長さNに0パディングした相関値ベクトルr(=[r
T(x,y),0,…,0])とN次元DFT行列との積和演算結果と等価である。
【0050】
従って、数式14の類似度は以下の数式16のように変形することができ、N次元FFT演算により計算することができる。
【数16】
【0051】
より高速に類似度を計算することを可能とするため、数式16のN次元FFTの結果得られる類似度が、より高速なM(<N)次元FFTを使って近似できることを示す。
【0052】
DFT行列F
(N×M)のM次元DFT行列への射影は、
図3に示すように、対角行列を縦に潰したような形になっている。このことから、数式17の類似度は、0パディングを行わずに、相関値ベクトルrをM次元FFTすることで得られる類似度を、回転角方向に伸ばしたもので良く近似できることがわかる。
【0053】
したがって、M次元FFTの結果からピークサーチにより、各照合領域の回転方向の類似度のピーク値g(x,y,θmax)と対応する角度パラメータθmax(x, y)の初期値を推定できる。そして、角度パラメータθmax(x, y)の精度をさらに高めるべく、θmax(x, y)を初期値として、Newton法を使って回転角の推定を、サブピクセル単位で行う。類似度が解析関数(フーリエ基底の線形和)で記述できるため、その二次微分も解析的に計算できるためである。あるいは、ピーク周辺の3点を使ってパラボラフィッティングを行うことで回転角の推定を行っても良い。
【0054】
以下、
図4のフローチャートを参照して、固有値テンプレート画像の作成手法を中心として、画像処理装置20における学習処理について説明する。
【0055】
この学習処理では、まず、ステップS100において、回転角度が異なる複数のテンプレート画像からなるテンプレート画像群Tを生成する。続くステップS110では、テンプレート画像群Tを、上述した数式12によって示されるように、要素としての周波数成分がM個のトランケートDFT行列Fと、M枚の固有値テンプレート画像Eとに近似分解する。このようにして、M枚の固有値テンプレート画像Eを作成する。作成したM枚の固有値テンプレート画像Eは、メモリ21に記憶しておく。
【0056】
なお、上述した学習処理は、他のコンピュータで行い、作成されたM枚の固有値テンプレート画像Eを、画像処理装置20のメモリ21に記憶させるようにしても良い。
【0057】
次に、
図5のフローチャートを参照して、画像処理装置20において実行される照合処理について説明する。
【0058】
まず、ステップS200において、入力画像において、テンプレート画像と照合される照合領域を設定する。この設定された照合領域がクエリ画像として、以下に説明する各処理の処理対象となる。
【0059】
続くステップS210では、上述した数式5に従い、クエリ画像fと、M枚の固有値テンプレート画像との畳み込み演算を行い、数式15に示す、M個の要素からなる相関値ベクトルrを算出する。
【0060】
ステップS220では、算出した相関値ベクトルrの各要素の絶対値の和を算出する。この処理を行う理由は、DFT行列Fの構造に着目することで、算出される類似度の上限値を簡易的に計算し、上限値が閾値に満たない場合には、詳細な類似度の計算を省略することで処理をさらに高速にするためである。なお、DFT行列Fでは、行ベクトルのl
2ノルムは対応するθによらず一定である。そのため、相関値ベクトルrの各要素の絶対値の和から類似度の上限値が計算できる。
【0061】
ステップS230では、算出した絶対値の和を所定の閾値と比較する。そして、算出した絶対値の和が所定の閾値未満であると判定した場合、類似度を算出するための処理をスキップして、ステップS270の処理に進む。一方、閾値以上であると判定した場合には、ステップS240の処理に進む。
【0062】
ステップS240では、相関値ベクトルrに対して、M次元FFT演算を実行する。この際、M次元FFTは、数式13に示されるように、所定の回転角度θを基準として実行される。これにより、M次元FFT演算により得られる各周波数成分と、回転角度との対応関係が一義的に定まる。そのため、ステップS250において、M次元FFT演算の結果から、類似度がピークとなる角度パラメータθmax(x,y)の初期値を求めることができる。そして、ステップS260において、ステップS250で算出したθmax(x, y)を初期値として、Newton法を使って回転角の最終的な推定をサブピクセル単位で行う。
【0063】
ステップS270では、入力画像の全域に渡って照合が行われたか否かを判定する。まだ、全域での照合が完了していないと判定された場合には、ステップS200に戻り、照合領域をずらして、ステップS210以降の処理を実行する。一方、ステップS270において、全域での照合が完了したと判定された場合には、ステップS280に進み、全ての照合領域での照合結果に基づいて、対象物の位置及び回転角度を決定する。
【0064】
(第2実施形態)
次に、本発明の第2実施形態に係る画像処理装置20について説明する。
【0065】
上述した第1実施形態に係る画像処理装置20では、固有値テンプレート画像Eを作成するために、回転角度が異なる複数のテンプレート画像からなるテンプレート画像群Tを生成した。このようなテンプレート画像群Tを用いる場合、テンプレート画像を回転する処理を複数回行わなければならず、学習処理が煩雑となる。また、回転したテンプレート画像を保存しておくために大量のメモリも必要となる。
【0066】
そこで、本実施形態に係る画像処理装置20では、1枚のテンプレート画像を極座標表現し、その極座標表現したテンプレート画像に対して、回転軸方向にフーリエ変換を施すことで、固有値テンプレート画像を作成し、その固有値テンプレート画像を用いて類似度の近似計算を行うようにしたものである。
【0067】
以下、本実施形態による手法の理論的背景について説明する。
【0068】
まず、角度θだけ回転したテンプレート画像T(r、τ−θ)とクエリ画像f(r、τ)との類似度を極座標パラメータ(r、θ)を使って、以下の数式17のように定義する。
【数17】
【0069】
また、極座標変換したテンプレート画像T(r,τ)は回転軸方向のフーリエ級数展開により、以下の数式18ように書き表すことができる。
【数18】
【0070】
テンプレート画像を極座標変換した場合も、回転角度が異なる複数のテンプレート画像からなるテンプレート画像群Tの場合と同様に、回転方向の輝度変化は低周波成分に集中する。このため、数式18は、以下の数式19のように、M個の低周波数成分を基底とし、そのM個の低周波成分の線形和で近似することができる。
【数19】
【0071】
数式19を、数式17に代入し、kθについて整理すると、以下の数式20のように、類似度g(θ)が、上述したM個の低周波成分を要素とするフーリエ基底の線形和で表現することができる。
【数20】
【0072】
なお、数式20における、固有値テンプレート画像E
k(r、τ)は、以下の数式21のように定義される。
【数21】
【0073】
このように、固有値テンプレート画像E
k(r、τ)は、極座標に変換された前記テンプレート画像をフーリエ級数展開したときの、M個の低周波成分と、各低周波成分の係数φ
k(r)とを用いて算出することができる。
【0074】
なお、数式21のままでは、クエリ画像fとの照合を行う際に、クエリ画像fを極座標変換する必要があるため計算負荷が大きくなり、また、畳み込み定理を使った内積演算の効率化ができないという問題が生じる。
【0075】
そこで、数式21における、φ
k(r)、ψ
k(τ)を逆極座標変換することで、数式22に示すように、固有値テンプレート画像E
k(r、τ)をユークリッド座標上において算出する。
【数22】
【0076】
これにより、第1実施形態の場合と同様に、クエリ画像fと固有値テンプレート画像E
kとの畳み込み演算により相関値ベクトルrを算出することができる。従って、本実施形態に係る画像処理装置20も、第1実施形態に係る画像処理装置20と同じく、
図5のフローチャートに示される照合処理により、類似度を算出し、対象物の姿勢パラメータを求めることができる。
【0077】
以下に、本実施形態に係る画像処理装置20において実行される学習処理について、
図6のフローチャートを参照して説明する。
【0078】
まず、ステップS300において、テンプレート画像の中心を基準として、テンプレート画像を極座標に変換する。続くステップS310では、極座標に変換したテンプレート画像を回転軸方向にフーリエ級数展開することにより、周波数分解する。このフーリエ級数展開では、数式19に示されるように、M個の低周波数成分を基底とし、そのM個の低周波成分の線形和で近似する。これにより、M個の低周波成分と、各低周波成分の係数φ
k(r)とが定まる。
【0079】
続くステップS320では、M個の周波数成分を要素とする関数ψ
k(τ)、及び各周波数成分の係数φ
k(r)をユークリッド座標に変換する。そして、ステップS330において、数式22に従い、ユークリッド座標に変換されたM個の低周波成分を要素とする関数ψ
k(τ)と、各低周波成分の係数φ
k(r)とを用いて、固有値テンプレート画像E
k(r、τ)を算出する。
【0080】
なお、上述した説明では、テンプレート画像を極座標変換したのちに、フーリエ変換する手法を示したが、ユークリッド座標上のテンプレート画像から直接極座標におけるフーリエ変換を行うことも可能である。また、第1実施形態の場合と同様に、上述した学習処理を、他のコンピュータに行わせ、作成されたM枚の固有値テンプレート画像Eを、画像処理装置20のメモリ21に記憶させるようにしても良い。
【0081】
ここで、上述した第1実施形態に係る画像処理装置及び第2実施形態に係る画像処理装置における手法と、従来の固有値テンプレート法とを、照合時間、学習時間、メモリ使用量の観点で対比させた結果を
図7に示す。なお、
図7(a)〜(c)において、「実1」は第1実施形態にて説明した手法を採用した場合の結果を示し、「実2」は第2実施形態にて説明した手法を採用した場合の結果を示している。また、
図7(a)〜(c)に示す値は、理論値の一例を示したものである。
【0082】
図7(a)は、クエリ画像との照合処理に要した照合時間に関する対比結果を示している。第1実施形態及び第2実施形態に係る手法では、相関値ベクトルと周波数基底関数との積和演算をFFT演算により高速化しているため、照合時間を従来法の1/5程度に短縮できている。
【0083】
また、
図7(b)は、固有値テンプレート画像の作成を含む学習時間に関する対比結果を示している。第1実施形態に係る手法では、学習アルゴリズムの中で、処理負荷が高い特異値分解(SVD)がFFTに置き換わるので、学習時間も、従来法に比較して1/4程度に短縮できている。
【0084】
さらに、
図7(c)は、学習処理におけるメモリ使用量に関する対比結果を示している。第2実施形態に係る手法では、学習時に、テンプレート画像の極座標変換を使うことで、従来法で必要であった面内回転画像のメモリへの格納を不要としている。これにより、第2実施形態の手法によれば、学習処理時のメモリ使用量を従来法の1/120程度まで削減できている。
【0085】
(第3実施形態)
次に、本発明の第3実施形態に係る画像処理装置20について説明する。
【0086】
本実施形態に係る画像処理装置20は、照明や背景の変動に対するロバスト化を強化するため、背景のノイズに対してロバストである位相情報を使ったマッチングと、照明の変動にロバストである輝度勾配方向を使ったマッチングとを、上述した第1実施形態及び第2実施形態によるテンプレート画像の情報圧縮に基づいたマッチングに適用するものである。
【0087】
輝度勾配の方向は環境の明るさ変動による画像の輝度変化に対して頑強である。また、クエリ画像の背景にテンプレート画像と似たような模様がある場合でも、位相成分を使ったPOCはロバストに類似度を計算できる。これらの考え方を適用した画像を用いて、第1実施形態及び第2実施形態において説明した、学習処理や照合処理を実行することで、照明や背景の変動に対するロバスト化を強化することができる。
【0088】
そこで、本実施形態では、クエリ画像及びテンプレート画像それぞれに関して、以下の数式23に示すように、輝度勾配の強度と方向からなる複素勾配画像を計算する。
【数23】
【0089】
数式23において、T
x、T
yは、元の画像Tに対してガウシアンフィルタを適用した、水平、垂直方向の微分画像である。
【0090】
さらに、この複素勾配画像の2次元フーリエ変換した周波数空間における位相成分を取り出した画像(振幅を1にした画像)を生成する。
【0091】
面内回転したテンプレート画像から、上記の方法で生成した画像から作られるテンプレート群の分散共分散行列は循環行列になる。このため、第1実施形態及び第2実施形態において説明した手法に適用することができる。
【0092】
また、テンプレート画像とクエリ画像とで背景の輝度が大きく変わると、輝度勾配の方向が反転(π回転)する。そこで、数式23では、輝度勾配の方向が反転した場合でも、内積の値が同じになるように回転成分に2をかけることで、このような変動にロバストにしている。
【0093】
(第4実施形態)
次に、本発明の第4実施形態に係る画像処理装置20について説明する。
【0094】
例えば、第3実施形態として説明した、複素勾配画像の位相成分のみを使って、クエリ画像と固有値テンプレート画像との相関を計算する場合など、クエリ画像によっては偽ピークが発生し易くなる場合がある。クエリ画像の背景などによって発生する偽ピークは、広い面積で高い値を示す傾向がある。
【0095】
そこで、本実施形態では、FFT演算結果、すなわち類似度のピーク値peakと、その周辺の平均値meanと分散値σとの関係を評価することで、偽ピークを抑制することとした。具体的には、回転方向の最大類似度に対してPSR(Peak Signal Ratio)フィルタ処理を施して、最終的な類似度を求める。PSRフィルタ処理は、以下の数式24によって定義される。
【数24】
【0096】
なお、各クエリ画像における、ピーク値peak、平均値mean、分散値σは、インテグラルイメージを用いることで高速に計算することができる。
【0097】
(評価実験)
上述した各実施形態による、高速化及び背景/明るさに対するロバスト化の手法の有用性を評価するためシミュレーションによる実験を行った。なお、以下に記載する提案法1(Proposed-Phase)とは、第1実施形態による手法に、第3実施形態による複素勾配画像より生成した画像を適用したものに相当し、提案法2(Proposed-Naive)とは、第1実施形態で説明した手法をそのまま使用したものに相当する。
【0098】
(1)評価項目
検出成功率及び処理速度について評価を行った。検出成功率は、XY位置については正しい位置から±3[pix]以内、回転角度θについては±3[deg]以内を検出成功とした。処理速度は、各手法で類似度gを最大にするパラメータを探索するまでの時間を計測した。
【0099】
なお、閾値を使った判定は行っていない。その理由は、各手法で相関値の指標が異るため、各手法で同じ閾値を設定するのができないためである。従って、提案法1,2としては、相関値ベクトルrの各要素の絶対値の和の大きさに基づく足切りは行っていない。
【0100】
(2)比較した手法
提案法1(Proposed-Phase)及び提案法2(Proposed-Naive)に対して対比された手法は、以下の4つの手法である。
・積分形正規化エッジ固有値テンプレート法(Eigen-Edge)
・固有値テンプレート法(Eigen-Naive)
・回転不変位相限定相関法(RIPOC)
・正規化相互相関を使った回転マッチング(NCC)
なお、今回の評価実験では、精度についての評価は行わないため、サブピクセル推定の処理は無効にしている。
【0101】
また、提案法1(Proposed-Phase)及び提案法2(Proposed-Naive)を含め、各手法に関して、GPUによる処理の並列化を行った実装についても処理速度の評価を行った。
【0102】
また、提案法(Proposed-Phase)、提案法2(Proposed-Naive)、積分形正規化エッジ固有値テンプレート法(Eigen-Edge)、及び固有値テンプレート法(Eigen-Naive)では、テンプレート画像を角度ピッチΔθ=360/512[deg]刻みで回転して生成した512枚のテンプレート画像群を、M=32枚の固有値テンプレート画像で近似した。
【0103】
回転不変位相限定相関法(RIPOC)については、ノイズへのロバスト性を向上するため、POC処理においてローパスフィルタを適用した。
【0104】
正規化相互相関を使った回転マッチング(NCC)についても、角度刻み数N=512とした。
【0105】
(3)対象ワークとクエリ画像
対象のワークはテクスチャレスの工業部品を想定し、
図8(a)〜(d)に示すように、L字型のパーツを用いた。また、クエリ画像に関しては、別に撮影した回路基板の実装面など、特徴が異なる4種類の画像を背景画像とし、対象ワークの画像と合成することにより、
図8(a)〜(d)に示す4種類のクエリ画像を作成した。さらに、クエリ画像の枚数を増やすため、
図8(a)〜(d)のそれぞれのクエリ画像を元に、背景画像に対して対象ワークをランダムに回転した上で背景画像と合成することにより、各クエリ画像からそれぞれ1000枚のクエリ画像を作成した。また、実環境におけるノイズを再現するため、クエリ画像に分散が15のガウシアンノイズを付与し、I(x,y)←I(x,y)×(0.5×x/512)となるようなシェーディングによる変換を施した。
【0106】
(4)処理時間
図9に、各手法による処理時間を示す。なお、
図9に示す処理時間は、4種類のクエリ画像×1000枚について平均値である。
【0107】
正規化相互相関を使った回転マッチング(NCC)は、面内回転した多数のテンプレート画像とそれぞれ畳み込み演算を行わなければならず、処理時間は非常に長くなる。また、GPU利用による改善効果もさほど見られない。GPUへの転送時間がボトルネックとなっていることが一因と考えられる。
【0108】
提案法1(Proposed-Phase)、提案法2(Proposed-Naive)、積分形正規化エッジ固有値テンプレート法(Eigen-Edge)及び固有値テンプレート法(Eigen-Naive)は、畳み込み演算に関しては、32枚の固有値テンプレート画像との畳込み演算を行うだけで良いので、正規化相互相関を使った回転マッチング(NCC)に対して大幅に処理時間を短縮できている。
【0109】
さらに、提案法1(Proposed-Phase)及び提案法2(Proposed-Naive)は、相関値と固有関数との積和演算をFFT演算に置き換えているため、提案法1(Proposed-Phase)と積分形正規化エッジ固有値テンプレート法(Eigen-Edge)との比較では、約5.5倍、提案法2(Proposed-Naive)と固有値テンプレート法(Eigen-Naive)との比較では、約3.5倍の処理速度の高速化が確認できた。
【0110】
また、提案法1(Proposed-Phase)及び提案法2(Proposed-Naive)は、GPUを使用した場合、高速に回転マッチングが行えることで知られるRICOPと比較して、約3倍の高速化が実現できた。
(5)検出成功率
図10に、各手法の検出成功率を示す。なお、
図10では、
図8(a)〜(d)に示す各クエリ画像ごとに分けて、検出成功率を示している。
【0111】
提案法2(Proposed-Naive)と固有値テンプレート法(Eigen-Naive)では、
図8(a)、(b)に示すクエリ画像に関して同等の検出成功率が得られており、今回実験に用いたテクスチャが少ないワークでは、第1実施形態で説明した高速化のための手法が検出成功率に悪影響を与えないことが確認できた。
【0112】
ただし、提案法2(Proposed-Naive)と固有値テンプレート法(Eigen-Naive)とも、
図8(c)、(d)のような複雑な背景の画像ではロバスト性の改善を行った他の手法と比べて低い検出成功率となった。
【0113】
それに対して、第3実施形態において説明した複素勾配画像より生成した画像を適用した提案法1(Proposed-Phase)は、正規化相互相関を使った回転マッチング(NCC)や積分形正規化エッジ固有値テンプレート法(Eigen-Edge)のようなロバスト性の改善を行った従来法と比べても高い検出成功率が得られた。特に、積分形正規化エッジ固有値テンプレート法(Eigen-Edge)では、背景の輝度が学習時と大きく異なる
図8(d)のクエリ画像の検出成功率が大きく低下しているが、提案法1(Proposed-Phase)ではこのようなクエリ画像に対してもロバストに対象ワークの姿勢が推定できた。
【0114】
上述した各実施形態は、本発明の画像処理方法及び画像処理装置の好ましい実施形態ではあるが、本発明の画像処理方法及び画像処理装置は、上記実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形することが可能である。
【0115】
例えば、上述した第1実施形態及び第2実施形態では、直流成分を下限とし、所定の基準周波数を上限とするM個の低周波成分が、全固有値の中で相対的に大きい固有値に対応するものを包含していることを前提としている。しかし、大きな固有値に対応する周波数成分が、高周波領域にあるようなテンプレートの場合には、その大きな固有値に対応する周波数成分を含むようにDFT行列を選択する必要がある。例えば、テンプレート毎に、各周波数成分に対応する固有値の大きさを調べ、その結果に基づいて、DFT行列の周波数成分を定めても良い。
【0116】
また、画像の回転方向の高周波成分をカットするような前処理を適用することで、大きな固有値に対応する周波数成分を低周波領域に集中させるようにしても良い。