(57)【要約】 【課題】  検出精度を低下させることなく計算量を低減することができる照合方法に特長をもつ画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録した記録媒体を提供する。【解決手段】  ステップＳ１〜ステップＳ４において方向符号値を算出する。算出された方向符号値を用いてステップＳ６で方向符号差分ヒストグラム照合処理を行う。方向符号差分ヒストグラム照合処理において基準画像データとの相違度が小さかった領域のデータのみステップＳ８以下で方向符号ヒストグラム照合処理および方向符号照合処理を行う。照合位置および基準画像データの回転角度は、方向符号差分ヒストグラム照合処理、方向符号ヒストグラム照合処理および方向符号照合処理それぞれの照合結果を総合して決定する。【選択図】      図１
2006133884.tif 000002
【特許請求の範囲】
【請求項１】
テンプレートとなる基準画像データと、照合の対象となる対象画像データ内に複数設定され、前記基準画像データとほぼ同じ大きさを有する対象領域データとを照合し、前記基準画像データと一致する前記対象領域データの位置と、一致するときの前記基準画像データの回転角度とを決定する照合方法に特長をもつ画像処理方法であって、
前記基準画像データおよび前記対象領域データを構成する各画素のエッジ方向を表す値である方向符号値に基づいて、前記基準画像データおよび前記対象領域データのそれぞれに含まれる２つの画素の方向符号値の差である方向符号差分値を算出し、算出した方向符号差分値を用いて前記基準画像データと前記対象領域データとの照合を行う第１照合工程と、
前記基準画像データ、および前記方向符号差分照合工程の照合結果に対応する対象領域データに対する方向符号値を用いて前記基準画像データと前記対象領域データとの照合を行う第２照合工程とを含む照合方法に特長をもつ画像処理方法。
【請求項２】
テンプレートとなる基準画像データと、照合の対象となる対象画像データ内に複数設定され、前記基準画像データとほぼ同じ大きさを有する対象領域データとを照合し、前記基準画像データと一致する前記対象領域データの位置と、一致するときの前記基準画像データの回転角度とを決定する照合方法に特長をもつ画像処理方法であって、
前記基準画像データおよび前記対象領域データを構成する各画素のエッジ方向を表す値である方向符号値に基づいて、前記基準画像データおよび前記対象領域データのそれぞれに含まれる２つの画素の方向符号値の差である方向符号差分値を算出し、算出した方向符号差分値を用いて前記基準画像データと前記対象領域データとの照合を行う方向符号差分値照合工程と、
前記基準画像データ、および前記方向符号差分値照合工程の照合結果に対応する対象領域データに対する方向符号値のヒストグラムをそれぞれ作成し、これらのヒストグラムを照合し、前記対象領域データと略一致するときの前記基準画像データの回転角度を算出する方向符号ヒストグラム照合工程と、
前記対象領域データ、および算出された回転角度だけ回転させた基準画像データに対する方向符号値を照合する方向符号照合工程と、
前記方向符号差分値照合工程、前記方向符号ヒストグラム照合工程および前記方向符号照合工程の照合結果に基づいて前記基準画像データと一致する前記対象領域データの位置と、一致するときの前記基準画像データの回転角度とを決定する決定工程とを含む照合方法に特長をもつ画像処理方法。
【請求項３】
前記方向符号差分値照合工程では、前記方向符号差分値として、前記基準画像データおよび前記対象領域データに予め設定される円環とこの円環の中心線とが交差する位置にある２つの画素の差を算出するとともに、算出した方向符号差分値のヒストグラムを作成して照合を行う請求項２記載の照合方法に特長をもつ画像処理方法。
【請求項４】
テンプレートとなる基準画像データと、照合の対象となる対象画像データ内に複数設定され、前記基準画像データとほぼ同じ大きさを有する対象領域データとを照合し、前記基準画像データと一致する前記対象領域データの位置と、一致するときの前記基準画像データの回転角度とを決定する照合方法に特長をもつ画像処理装置であって、
前記基準画像データおよび前記対象領域データを構成する各画素のエッジ方向を表す値である方向符号値に基づいて、前記基準画像データおよび前記対象領域データのそれぞれに含まれる２つの画素の方向符号値の差である方向符号差分値を算出し、算出した方向符号差分値を用いて前記基準画像データと前記対象領域データとの照合を行う方向符号差分値照合手段と、
前記基準画像データ、および前記方向符号差分値照合手段による照合結果に対応する対象領域データに対する方向符号値のヒストグラムをそれぞれ作成し、これらのヒストグラムを照合し、前記対象領域データと略一致するときの前記基準画像データの回転角度を算出する方向符号ヒストグラム照合手段と、
前記対象領域データ、および算出された回転角度だけ回転させた基準画像データに対する方向符号値を照合する方向符号照合手段と、
前記方向符号差分値照合手段、前記方向符号ヒストグラム照合手段および前記方向符号照合手段による照合結果に基づいて前記基準画像データと一致する前記対象領域データの位置と、一致するときの前記基準画像データの回転角度とを決定する決定手段とを含む照合方法に特長をもつ画像処理装置。
【請求項５】
コンピュータを請求項４記載の画像処理装置として機能させるための画像処理プログラム。
【請求項６】
コンピュータを請求項４記載の画像処理装置として機能させるための画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テンプレートとなる基準画像データと、照合の対象となる対象画像データとを照合し、基準画像データと一致する領域の位置と、一致するときの基準画像データの回転角度とを決定する照合方法に特長をもつ画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
パターン照合などを行う画像処理を応用する技術は、生産ラインにおける目視検査、画像監視、画像計測などに利用されている。
【０００３】
生産ラインを流れる検査対象物は、様々な状態に置かれているため、照合しようとするパターンの位置、姿勢、大きさが変化したり、付加ノイズ、照明変動、遮蔽などにより誤認識のおそれが生じる。特に、照明変動、遮蔽に対する数理モデルや対処方法の設計提案が少なく、大きな問題となる。
【０００４】
このような照明変動や遮蔽に対して頑強（ロバスト）な画像照合法として、方向符号照合法、方向符号ヒストグラム照合法などが提案されている。
【０００５】
方向符号照合法では、まず画像データに対してSobel演算子などで求めたエッジにおける勾配計算を行い、２次元ベクトル値として濃度変化情報を得る。この勾配方向にのみ依存することによって、局所的な照明変動などに対する頑強性を確保しようとする。
【０００６】
先の勾配計算で求めた勾配方向と予め決定した角度量子化幅（以下、角度幅）とから各画素位置における方向符号値を求める。求めた方向符号値が巡回的であることに注目しながら、画素ごとに得られる方向符号値の差の絶対値の和を算出して照合判定を行う（非特許文献１参照）。
【０００７】
この方法の場合、照明変動などによって、濃度変化の最大方向は変化しないので、照明の局所的および大域的な変化に頑強であることがわかる。
【０００８】
方向符号ヒストグラム照合法では、上記の方向符号照合法と同様に、画像データに対してSobel演算子などで求めたエッジにおける勾配計算を行い、２次元ベクトル値として濃度変化情報を得る。先の勾配計算で求めた勾配方向と予め決定した角度幅とから各画素位置における方向符号値を求め、テンプレートとなる基準画像と、照合の対象となる対象画像のそれぞれについてヒストグラムを作成する。
【０００９】
基準画像に対するヒストグラムをシフトしながら、対象画像のヒストグラムと照合することにより、最も一致している回転角度と位置を求めることができる（非特許文献２参照）。
【００１０】
【非特許文献１】金子俊一、「画像処理におけるロバストなセンシング技術」、精密工学会誌、２００３年、第６９巻、第１０号、ｐ．１３８３−１３８６
【非特許文献２】Farhan Ullash, Shunichi Kaneko, “Using orientation codes of rotation-invariant template matching”, Pattern Recognition, 37 (2004), p.201-209
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上記のような方向符号照合法では、画素単位の方向符号値を全て照合するため、精度の高い結果が得られる反面、計算量が非常に大きくなってしまうという問題がある。
【００１２】
方向符号ヒストグラム照合法では、高精度の回転角度を求めるには方向符号値数の増加が必要となり、計算量が大きくなってしまうという問題がある。また、計算量を低減するには方向符号値数を削減することが考えられるが、削減することで回転角度の検出精度が低くなり照合位置の検出精度が低下するという問題も発生する。
【００１３】
本発明の目的は、検出精度を低下させることなく計算量を低減することができる照合方法に特長をもつ画像処理方法、画像処理装置、画像処理プログラムおよび画像処理プログラムを記録した記録媒体を提供することである。
【課題を解決するための手段】
【００１４】
本発明は、テンプレートとなる基準画像データと、照合の対象となる対象画像データ内に複数設定され、前記基準画像データとほぼ同じ大きさを有する対象領域データとを照合し、前記基準画像データと一致する前記対象領域データの位置と、一致するときの前記基準画像データの回転角度とを決定する照合方法に特長をもつ画像処理方法であって、
前記基準画像データおよび前記対象領域データを構成する各画素のエッジ方向を表す値である方向符号値に基づいて、前記基準画像データおよび前記対象領域データのそれぞれに含まれる２つの画素の方向符号値の差である方向符号差分値を算出し、算出した方向符号差分値を用いて前記基準画像データと前記対象領域データとの照合を行う第１照合工程と、
前記基準画像データ、および前記方向符号差分照合工程の照合結果に対応する対象領域データに対する方向符号値を用いて前記基準画像データと前記対象領域データとの照合を行う第２照合工程とを含む照合方法に特長をもつ画像処理方法である。
【００１５】
また本発明は、テンプレートとなる基準画像データと、照合の対象となる対象画像データ内に複数設定され、前記基準画像データとほぼ同じ大きさを有する対象領域データとを照合し、前記基準画像データと一致する前記対象領域データの位置と、一致するときの前記基準画像データの回転角度とを決定する照合方法に特長をもつ画像処理方法であって、
前記基準画像データおよび前記対象領域データを構成する各画素のエッジ方向を表す値である方向符号値に基づいて、前記基準画像データおよび前記対象領域データのそれぞれに含まれる２つの画素の方向符号値の差である方向符号差分値を算出し、算出した方向符号差分値を用いて前記基準画像データと前記対象領域データとの照合を行う方向符号差分値照合工程と、
前記基準画像データ、および前記方向符号差分値照合工程の照合結果に対応する対象領域データに対する方向符号値のヒストグラムをそれぞれ作成し、これらのヒストグラムを照合し、前記対象領域データと略一致するときの前記基準画像データの回転角度を算出する方向符号ヒストグラム照合工程と、
前記対象領域データ、および算出された回転角度だけ回転させた基準画像データに対する方向符号値を照合する方向符号照合工程と、
前記方向符号差分値照合工程、前記方向符号ヒストグラム照合工程および前記方向符号照合工程の照合結果に基づいて前記基準画像データと一致する前記対象領域データの位置と、一致するときの前記基準画像データの回転角度とを決定する決定工程とを含む照合方法に特長をもつ画像処理方法である。
【００１６】
また本発明は、前記方向符号差分値照合工程では、前記方向符号差分値として、前記基準画像データおよび前記対象領域データに予め設定される円環とこの円環の中心線とが交差する位置にある２つの画素の差を算出するとともに、算出した方向符号差分値のヒストグラムを作成して照合を行うことを特徴とする。
【００１７】
また本発明は、テンプレートとなる基準画像データと、照合の対象となる対象画像データ内に複数設定され、前記基準画像データとほぼ同じ大きさを有する対象領域データとを照合し、前記基準画像データと一致する前記対象領域データの位置と、一致するときの前記基準画像データの回転角度とを決定する照合方法に特長をもつ画像処理装置であって、
前記基準画像データおよび前記対象領域データを構成する各画素のエッジ方向を表す値である方向符号値に基づいて、前記基準画像データおよび前記対象領域データのそれぞれに含まれる２つの画素の方向符号値の差である方向符号差分値を算出し、算出した方向符号差分値を用いて前記基準画像データと前記対象領域データとの照合を行う方向符号差分値照合手段と、
前記基準画像データ、および前記方向符号差分値照合手段による照合結果に対応する対象領域データに対する方向符号値のヒストグラムをそれぞれ作成し、これらのヒストグラムを照合し、前記対象領域データと略一致するときの前記基準画像データの回転角度を算出する方向符号ヒストグラム照合手段と、
前記対象領域データ、および算出された回転角度だけ回転させた基準画像データに対する方向符号値を照合する方向符号照合手段と、
前記方向符号差分値照合手段、前記方向符号ヒストグラム照合手段および前記方向符号照合手段による照合結果に基づいて前記基準画像データと一致する前記対象領域データの位置と、一致するときの前記基準画像データの回転角度とを決定する決定手段とを含む照合方法に特長をもつ画像処理装置である。
【００１８】
また本発明は、コンピュータを上記の画像処理装置として機能させるための画像処理プログラムである。
【００１９】
また本発明は、コンピュータを上記の画像処理装置として機能させるための画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００２０】
本発明によれば、テンプレートとなる基準画像データと、照合の対象となる対象画像データ内に複数設定され、前記基準画像データとほぼ同じ大きさを有する対象領域データとを照合し、前記基準画像データと一致する前記対象領域データの位置と、一致するときの前記基準画像データの回転角度とを決定する照合方法に特長をもつ画像処理方法である。
【００２１】
第１照合工程では、前記基準画像データおよび前記対象領域データを構成する各画素のエッジ方向を表す値である方向符号値を用いる。前記基準画像データに含まれる２つの画素の方向符号値の差と、前記対象領域データに含まれる２つの画素の方向符号値の差とを方向符号差分値として算出し、算出した方向符号差分値を用いて前記基準画像データと前記対象領域データとの照合を行う。
【００２２】
第２照合工程では、前記方向符号差分照合工程の照合結果に対応する対象領域データ、たとえば、前記方向符号差分照合工程の照合結果において基準画像データとの類似性が高かった対象領域データに対して照合を行う。照合は、前記基準画像データ、および前記方向符号差分照合工程の照合結果に対応する対象領域データに対する方向符号値を用いて行う。
【００２３】
第２照合工程は、方向符号値を用いる照合を行うために計算量が大きくなるが、第１照合工程での照合結果を用いて、第２照合工程で照合を行う対象領域データを限定するので、全ての対象領域データに対して照合を行う必要がなくなる。したがって、第２照合工程における計算量を減少させることができる。また、１つの対象領域データに対する照合自体は限定されないので検出精度の低下も生じない。
【００２４】
さらに方向符号差分値は、画像データが回転しても不変の特徴量であるので、第１照合工程では回転に起因する計算が発生せず、計算量を増加させない。
【００２５】
また本発明によれば、テンプレートとなる基準画像データと、照合の対象となる対象画像データ内に複数設定され、前記基準画像データとほぼ同じ大きさを有する対象領域データとを照合し、前記基準画像データと一致する前記対象領域データの位置と、一致するときの前記基準画像データの回転角度とを決定する照合方法に特長をもつ画像処理方法である。
【００２６】
方向符号差分値照合工程では、前記基準画像データおよび前記対象領域データを構成する各画素のエッジ方向を表す値である方向符号値を用いる。前記基準画像データに含まれる２つの画素の方向符号値の差と、前記対象領域データに含まれる２つの画素の方向符号値の差とを方向符号差分値として算出し、算出した方向符号差分値を用いて前記基準画像データと前記対象領域データとの照合を行う。
【００２７】
方向符号ヒストグラム照合工程では、前記方向符号差分照合工程の照合結果に対応する対象領域データに対して照合を行う。ここでの照合は、前記基準画像データ、および前記方向符号差分値照合工程の照合結果に対応する対象領域データに対する方向符号値のヒストグラムをそれぞれ作成し、これらのヒストグラムを照合する。さらに、前記対象領域データと略一致するときの前記基準画像データの回転角度も算出する。
【００２８】
方向符号照合工程では、前記対象領域データ、および算出された回転角度だけ回転させた基準画像データに対する方向符号値を照合する。
【００２９】
最後に決定工程では、前記方向符号差分値照合工程、前記方向符号ヒストグラム照合工程および前記方向符号照合工程の照合結果に基づいて前記基準画像データと一致する前記対象領域データの位置と、一致するときの前記基準画像データの回転角度とを決定する。
【００３０】
方向符号ヒストグラム照合工程は、方向符号値を用いる照合を行うために計算量が大きくなるが、方向符号差分値照合工程での照合結果を用いて、方向符号ヒストグラム照合工程で照合を行う対象領域データを限定するので、全ての対象領域データに対して照合を行う必要がなくなる。したがって、方向符号ヒストグラム照合処理にかかる計算量を減少させることができる。また、１つの対象領域データに対する照合自体は限定されないので検出精度の低下も生じない。
【００３１】
さらに方向符号差分値は、画像データが回転しても不変の特徴量であるので、方向符号差分値照合工程では回転に起因する計算が発生せず、計算量を増加させない。
【００３２】
また、方向符号照合工程で方向符号値の照合を行うので、さらに検出精度を向上させることができる。
【００３３】
また本発明によれば、前記方向符号差分値照合工程では、前記方向符号差分値として、前記基準画像データおよび前記対象領域データに予め設定される円環とこの円環の中心線とが交差する位置にある２つの画素の差を算出するとともに、算出した方向符号差分値のヒストグラムを作成して照合を行う。
【００３４】
これにより、円環に含まれる画素を処理すればよく、対象領域データの全ての画素に対して処理を行う必要が無いので、方向符号差分値照合工程での計算量が非常に少なくて済む。
【００３５】
また本発明によれば、テンプレートとなる基準画像データと、照合の対象となる対象画像データ内に複数設定され、前記基準画像データとほぼ同じ大きさを有する対象領域データとを照合し、前記基準画像データと一致する前記対象領域データの位置と、一致するときの前記基準画像データの回転角度とを決定する照合方法に特長をもつ画像処理装置である。
【００３６】
方向符号差分値照合手段は、前記基準画像データおよび前記対象領域データを構成する各画素のエッジ方向を表す値である方向符号値を用いる。前記基準画像データに含まれる２つの画素の方向符号値の差と、前記対象領域データに含まれる２つの画素の方向符号値の差とを方向符号差分値として算出し、算出した方向符号差分値を用いて前記基準画像データと前記対象領域データとの照合を行う。
【００３７】
方向符号ヒストグラム照合手段は、前記方向符号差分照合工程の照合結果に対応する対象領域データに対して照合を行う。ここでの照合は、前記基準画像データ、および前記方向符号差分値照合手段による照合結果に対応する対象領域データに対する方向符号値のヒストグラムをそれぞれ作成し、これらのヒストグラムを照合する。さらに、前記対象領域データと略一致するときの前記基準画像データの回転角度も算出する。
【００３８】
方向符号照合手段は、前記対象領域データ、および算出された回転角度だけ回転させた基準画像データに対する方向符号値を照合する。
【００３９】
最後に決定手段は、前記方向符号差分値照合手段、前記方向符号ヒストグラム照合手段および前記方向符号照合手段による照合結果に基づいて、前記基準画像データと一致する前記対象領域データの位置と、一致するときの前記基準画像データの回転角度とを決定する。
【００４０】
方向符号ヒストグラム照合手段は、方向符号値を用いる照合を行うために計算量が大きくなるが、方向符号差分値照合手段による照合結果を用いて、方向符号ヒストグラム照合手段が照合を行う対象領域データを限定するので、全ての対象領域データに対して照合を行う必要がなくなる。したがって、方向符号ヒストグラム照合手段が行なう計算量を減少させることができる。また、１つの対象領域データに対する照合自体は限定されないので検出精度の低下も生じない。
【００４１】
さらに方向符号差分値は、画像データが回転しても不変の特徴量であるので、方向符号差分値照合工程では回転に起因する計算が発生せず、計算量を増加させない。
【００４２】
また、方向符号照合手段は向符号値の照合を行うので、さらに検出精度を向上させることができる。
【００４３】
また本発明によれば、コンピュータを上記の画像処理装置として機能させるための画像処理プログラムおよび画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体として提供することができる。
【発明を実施するための最良の形態】
【００４４】
本発明は、次の手順から構成される画像処理方法により、テンプレートとなる基準画像データと、照合の対象となる対象画像データとの照合を行い、これらが一致するときの基準画像データの回転角度、および対象画像データ内における位置を検出する。
手順１：方向符号値算出
手順２：方向符号差分ヒストグラム照合処理
手順３：方向符号ヒストグラム照合処理
手順４：方向符号照合処理
手順５：最終決定
【００４５】
以下では、各手順について詳細に説明する。
図１は、本発明の実施の一形態である画像処理方法を示すフローチャートである。
本実施形態では、たとえば、製品の組立ておよび検査の際に、部品を正しい方向に配置する場合について説明する。
【００４６】
検査対象となる部品などが固定カメラなどで撮像され、撮像された画像データが画像処理装置に入力されると、画像処理を開始する。画像データを構成する各画素には座標（ｘ，ｙ）が割り当てられている。撮像された画像データは、対象画像データとしても基準画像としても用いることができる。たとえば、対象画像データとして撮像された画像データを用い、基準画像データは予め記憶している画像データを用いてもよいし、対象画像データとして撮像された画像データを用い、基準画像データとしても撮像された画像データを用いるようにしてもよい。
【００４７】
まず手順１は、ステップＳ１〜ステップＳ５として処理が行われ、少なくとも対象画像データ全体について方向符号値を算出する。
【００４８】
ステップＳ１では、入力された画像データから注目画素を選択し、注目画素のエッジ強度を算出する。エッジ強度は、公知の算出方法で算出することができ、Sobelフィルタ、Robertsフィルタ、Prewittフィルタなどの微分オペレータを用いて局所積和演算を行う。なお、処理開始時の最初の注目画素は、画像データが矩形の場合は、四隅のいずれかの画素を選択する。
【００４９】
エッジの検出においては、実験からSobelフィルタを用いることが好ましいことがわかっており、以下では、Sobelフィルタを用いたエッジ強度の算出方法について説明する。注目画素を中心とする３×３画素の画素ブロックに対して、以下のオペレータに示すようなｘ方向（水平方向）フィルタＨＦと、ｙ方向（垂直方向）フィルタＶＦとを適用し、注目画素の水平方向エッジ強度ｆｘおよび垂直方向エッジ強度ｆｙを算出する。
【００５０】
【数１】
2006133884.tif 000003
【００５１】
算出した水平方向エッジ強度ｆｘおよび垂直方向エッジ強度ｆｙに基づいて、下記（１）式に基づいて注目画素のエッジ強度Δｆｘｙを算出する。
Δｆｘｙ＝√（ｆｘ２＋ｆｙ２）≒｜ｆｘ｜＋｜ｆｙ｜            …（１）
【００５２】
次にステップＳ２では、ステップＳ１で算出したエッジ強度Δｆｘｙと予め定めるしきい値ΔｆＴＨとを比較し、Δｆｘｙ＞ΔｆＴＨであるかどうかを判断する。Δｆｘｙ＞ΔｆＴＨであれば、注目画素を、エッジに含まれる画素であるエッジ画素と判定して、ステップＳ３に進む。Δｆｘｙ≦ΔｆＴＨであれば、注目画素を、エッジ画素ではないと判定して、ステップＳ４に進む。
【００５３】
ステップＳ３では、下記（２）式に基づいてエッジ画素と判定された注目画素のエッジ方向θを算出する。
θ＝ｔａｎ−１（ｆｙ／ｆｘ）                                  …（２）
【００５４】
ステップＳ４では、下記（３）式に基づいて方向符号値を算出する。
方向符号値Ｃxyは、エッジ方向を、予め設定した角度幅Δθによって得られるＮ（＝３６０°／Δθ）レベルに量子化することで求めることができる。
【００５５】
図２は、本実施形態で算出する方向符号値の例を示す図である。ここでは、Δθ＝π／８＝２２．５°とし、Ｎ＝３６０°／２２．５°＝１６レベルに量子化している。
【００５６】
【数２】
2006133884.tif 000004
【００５７】
方向符号値Ｃxyは、注目画素のエッジ強度がしきい値より大きい場合は、得られた方向により方向符号値０〜Ｎ−１のいずれかの値が与えられ、エッジ強度がしきい値より小さい場合は方向不定符合値Ｎが与えられる。
【００５８】
ステップ５では、対象画像データに含まれる全ての画素について方向符号値を算出したかどうかを判断し、全ての画素について算出していればステップＳ６に進み、算出していない画素があれば、次の注目画素に対してステップＳ１〜ステップＳ４の処理を繰り返す。
【００５９】
算出された全ての方向符号値は、画像処理装置に備えられる記憶部に記憶しておき、以降のステップでは、必要時に記憶部から読み出す。
【００６０】
なお、基準画像データに含まれる画素についての方向符号値は、予め算出した値を記憶しておいてもよいし、対象画像データと同様に手順１で算出してもよい。
【００６１】
手順２〜手順４では、対象画像データ中に、基準画像データと同程度の大きさ、たとえば縦横の画素数が基準画像データと同じ画素数である対象領域データを設定し、この対象領域データと基準画像データとを比較することで各照合処理を行う。
【００６２】
また、対象画像データ中の対象領域データの位置は、Ｉ（ｍ，ｎ）で表される。処理開始位置をたとえば対象画像の左上隅とし、１つの対象領域データに対する処理が終了すると、ｘ方向またはｙ方向に１ライン移動した位置を次の対象領域データとして処理を行う。
【００６３】
手順２は、ステップＳ６およびステップＳ７として処理が行われる。
ステップＳ６では、方向符号差分ヒストグラム照合処理を行う。方向符号差分ヒストグラム照合処理は、図３のフローチャートを用いて詳細に説明する。
【００６４】
方向符号差分ヒストグラム照合処理は、「画像内２点の方向符号値の差は、その画像が回転しても変化しない」という特徴を利用して基準画像および対象画像のそれぞれについて回転不変な特徴量を求め、これを照合する処理である。
【００６５】
図４は、方向符号差分値の特徴を示す概念図である。図４（ａ）と図４（ｂ）は、１つの画像をΔθ＝２２．５°回転させたときの円環を示している。図４（ａ）において、円環に含まれる各画素の方向符号値を、３，６，０，１２，７とすると、２２．５°回転した図４（ｂ）の円環では、方向符号値は４，７，１，１３，８となる。これらの画素の方向符号値の差（方向符号差分値）を算出すると、図４（ａ）、（ｂ）いずれの場合も、３，１０，１１，１２となり変化しないこと（回転不変）がわかる。
【００６６】
ステップＳ２１では、方向符号差分値を算出する。
基準画像データにおける方向符号の差の集合を、対象領域データにおける集合と一致させるために、照合する各データの中心を原点とする同心円環を図５に示すように定義する。ここで同心円環は、円環の半径ｑを１〜ｎの範囲で変化させたときの円環の集合（円環数はｎ個）である。
【００６７】
ステップＳ２１〜ステップＳ２４では、同心円環のうちの１つの円環について各値の算出を行う。
【００６８】
対象領域内に、基準画像に基づいて予め円環を設定したとき、この円環と円環の中心線とが交差する位置にある２つの画素ａ，ｂにおける方向符号値をそれぞれＣａ，Ｃｂとする。このとき、画素ａ，ｂ間の方向符号差分値ｓ（Ｃａ，Ｃｂ）は、下記（４）式に基づいて算出される。
【００６９】
【数３】
2006133884.tif 000005
このとき、ｓ（Ｃａ，Ｃｂ）＝０〜Ｎとなる。
【００７０】
ステップＳ２２では、算出した方向符号差分値に基づいてヒストグラムを作成する。
同心円環のうち半径ｑの円環における方向符号差分ヒストグラムをυq＝(υq(0),υq(1)・・・υq(N))とすると、階級ｋ（方向符号差分値）に対する度数υq(ｋ)は、下記（５）式で表すことができる。
【００７１】
【数４】
2006133884.tif 000006
【００７２】
ここで、δ(ｋ，ｓ（ＣｑΨ，ＣｑΨ＋π）)はクロネッカーのデルタであり、ｋ＝ｓ（ＣｑΨ，ＣｑΨ＋π）のときは１となり、ｋ≠ｓ（ＣｑΨ，ＣｑΨ＋π）のときは０となる。また、Ψは、図５に示すように、対角にある画素の円環上の位置を示す角度であり、Ψ＝０〜πである。
このヒストグラムυqは、前述のように回転不変な特徴量となる。
【００７３】
ステップＳ２３では、半径ｑの円環における基準画像データの方向符号差分ヒストグラムυqＴ(k)と、対象領域データの方向符号差分ヒストグラムυqとの照合を行う。
【００７４】
２つのヒストグラムを比較する場合、一般的にヒストグラム交差法で行う。ヒストグラム交差法とは、比較する２つのヒストグラムの各度数に対して、その小さいほうの度数（交差値）の総和を求めることで類似度を求める方法である。
【００７５】
半径ｑの円環において、ヒストグラム交差法による類似度Ｓqは、下記（６）式に基づいて算出することができる。
【００７６】
【数５】
2006133884.tif 000007
ここで、Ａqは半径ｑの円環に含まれる画素数とする。
【００７７】
ステップＳ２４では、半径ｑの円環における相違度Ｒｑ＝１−Ｓqを算出する。
ステップＳ２５では、同心円環の全ての円環について照合処理が完了したかどうかを判断する。完了していればステップＳ２６に進み、完了していなければ半径ｑを変化させた円環に対して処理を行う。
【００７８】
ステップＳ２６では、方向符号差分ヒストグラムの照合結果として第１相違度Ｄ１を算出する。
【００７９】
円環数ｎの同心円環における方向符号差分ヒストグラムの第１相違度Ｄ１は、各円環の相違度Ｒｑを円環の画素数Ａqの割合で足し合わせ、相違度の最大が１、最小が０となるよう正規化することで得られ、下記（７）式で算出することができる。
【００８０】
第１相違度Ｄ１が小さいほど、方向符号差分ヒストグラム照合においては、基準画像データと対象領域データとが類似していることを示す。
【００８１】
【数６】
2006133884.tif 000008
【００８２】
ステップＳ７では、方向符号差分ヒストグラム照合処理で得られた第１相違度Ｄ１と、予め設定したしきい値Ｄ１ＴＨとを比較し、Ｄ１≦Ｄ１ＴＨであるかどうかを判断する。Ｄ１≦Ｄ１ＴＨであれば、基準画像データと対象領域データとの類似性が高いので、方向符号ヒストグラム照合処理を行うために、ステップＳ８に進む。Ｄ１＞Ｄ１ＴＨであれば、基準画像データと対象画像データとの類似性が低いので、ステップＳ１２に進む。
【００８３】
以上のように、方向符号差分ヒストグラム照合処理を行い、その相違度によって方向符号ヒストグラム照合処理を行うかどうかを決定するので、方向符号差分ヒストグラム照合処理の終了時点で基準画像データに対する相違度が小さい対象領域データに対してのみ方向符号ヒストグラム照合処理を行うことができる。言い換えれば、全ての対象領域データに対して方向符号ヒストグラム照合処理を行う必要がなくなるので、検出精度を低下させることなく方向符号ヒストグラム照合処理にかかる計算量を減少させることができる。
【００８４】
さらに、回転不変の特徴量を利用することにより回転に起因する計算が発生せず、また円環に含まれる画素を処理の対象とすることにより対象領域データの全ての画素に対して処理を行う必要が無いので、方向符号差分ヒストグラム照合処理自体の計算量が非常に少なくて済む。
【００８５】
手順３は、ステップＳ８およびステップＳ９として処理が行われる。
ステップＳ８では、方向符号ヒストグラム照合処理を行う。方向符号ヒストグラム照合処理は、図６のフローチャートを用いて詳細に説明する。
【００８６】
ステップＳ３１では、手順１で算出した方向符号値に基づいて、基準画像データおよび対象領域データの方向符号ヒストグラムを作成する。
【００８７】
位置（ｍ，ｎ）における対象領域データをＩｍ，ｎとすると、このＩｍ，ｎにおける方向符号ヒストグラムｈｍ，ｎは、ｈｍ，ｎ＝（ｈｍ，ｎ（０），ｈｍ，ｎ（１）・・・ｈｍ，ｎ（Ｎ））で表され、Ｉｍ，ｎにおける方向符号ｉに対する度数ｈｍ，ｎ（ｉ）は、下記（８）式で表すことができる。
【００８８】
【数７】
2006133884.tif 000009
【００８９】
ここで、δ(ｉ，Ｃｘｙ)はクロネッカーのデルタであり、ｉ＝Ｃｘｙのときは１となり、ｉ≠Ｃｘｙのときは０となる。
【００９０】
ステップＳ３２では、基準画像データの方向符号差分ヒストグラムｈＴ(ｉ)と、対象領域データＩｍ，ｎの方向符号ヒストグラムｈｍ,ｎとの照合を行う。ヒストグラムの照合は、方向符号差分ヒストグラム照合処理と同様に、ヒストグラム交差法で行う。
【００９１】
対象領域データＩｍ，ｎにおいて、ヒストグラム交差法による類似度Ｌｒは、下記（９）式に基づいて算出することができる。
【００９２】
【数８】
2006133884.tif 000010
【００９３】
ここで、Ｍは基準画像データに含まれる画素数であり、ｒはデータを比較するときの基準画像データの回転角度を表す値とし、ｒ＝０〜Ｎ−１である。なお、基準画像データをｒに基づく角度で回転させることは、ヒストグラムをｒビット左シフトすることと同様になる。
【００９４】
図７は、方向符号ヒストグラムのビットシフトを説明する図である。図７（ａ）は、基準画像データのヒストグラムをシフトさせない（回転させない）場合の、基準画像データおよび対象領域データのヒストグラムを示す。ここで、基準画像データのヒストグラムを２ビット（方向符号値２つ分）シフトさせる（２×２２．５°＝４５°回転させる）ことで、図７（ｂ）に示すように、２つのヒストグラムが一致することがわかる。
【００９５】
ステップＳ３３では、方向符号ヒストグラムの照合結果として第２相違度Ｄ２を算出する。
【００９６】
ステップＳ３２において、ｒを変化させたときのＬｒを算出することは、すなわち基準画像データの回転角度を変化させたときの各回転角度における対象領域データと基準画像データとの類似度を算出することであるから、第２相違度Ｄ2は、最も大きな類似度max｛Ｌｒ｝を用いてＤ2＝１−max｛Ｌｒ｝で表すことができる。
【００９７】
また、最も大きな類似度となるときのｒまたはｒに基づく回転角度（ｒ×Δθ）を対象領域データと基準画像データとを一致させるための回転角度として決定する。
【００９８】
ステップＳ９では、方向符号ヒストグラム照合処理で得られた第２相違度Ｄ２と、予め設定したしきい値Ｄ２ＴＨとを比較し、Ｄ２≦Ｄ２ＴＨであるかどうかを判断する。Ｄ２≦Ｄ２ＴＨであれば、基準画像データと対象領域データとの類似性が高いので、方向符号照合処理を行うために、ステップＳ１０に進む。Ｄ２＞Ｄ２ＴＨであれば、基準画像データと対象画像データとの類似性が低いので、ステップＳ１２に進む。
【００９９】
手順４は、ステップＳ１０として処理が行われる。
手順２および手順３で行った照合処理結果に加え、さらに方向符号照合処理を行うことで検出精度を高めることができる。
【０１００】
ステップＳ１０では、方向符号照合処理を行う。方向符号照合処理は、図８のフローチャートを用いて詳細に説明する。
【０１０１】
ステップＳ４１では、手順３で決定した回転角度に基づき、基準画像データをこの回転角度だけ回転させたときの方向符号値と、対象領域データの方向符号値との照合を行う。
【０１０２】
具体的には、下記（１０）式に基づいて、回転後の基準画像データの方向符号値と対象領域データの方向符号値との差分値ｄ（ＣＩｘｙ，ＣＴｘｙ）を算出する。
【０１０３】
【数９】
2006133884.tif 000011
【０１０４】
ステップＳ４２では、方向符号値の照合結果として第３相違度Ｄ３を算出する。
第３相違度Ｄ３は、下記（１１）式で表すことができる。
【０１０５】
【数１０】
2006133884.tif 000012
ここで、Ｅは２つの方向符号値の差における最大値であり、Ｎ／２となる。
【０１０６】
手順５は、ステップＳ１１〜ステップＳ１３として処理が行われる。
ステップＳ１１では、総合相違度Ｄとして第１相違度Ｄ１、第２相違度Ｄ２、第３相違度Ｄ３の和を算出する。なお、総合相違度Ｄとしては、各相違度を単に足し合わせるだけではなく、下記（１２）式のように各相違度に対する重み付けを行うことが望ましい。
Ｄ＝（αＤ1＋βＤ2＋γＤ3）／（α＋β＋γ）                   …（12）
ここで、α，β，γは、それぞれＤ１，Ｄ２，Ｄ３に対する重み付け変数であり、実験的または理論的に最適化される。
【０１０７】
算出された総合相違度Ｄ、手順３で決定した回転角度（ｒまたはｒ×Δθ）は、画像処理装置に備えられる記憶部に、対象領域データの位置（ｍ，ｎ）に関連付けて記憶する。
【０１０８】
ステップＳ１２では、全ての対象領域データに対して照合処理が完了したかどうかを判断する。完了していればステップＳ１３に進み、完了していなければ次の位置の対象領域データに対して照合処理を行うために、ステップＳ６に戻る。
【０１０９】
ステップＳ１３では、上記のステップで算出され記憶部に記憶されている総合相違度Ｄのうち最小の総合相違度Ｄを決定し、最小の総合相違度Ｄを示す位置および回転角度を最終的な照合結果として決定する。
【０１１０】
図９は、本発明の実施例を示す図である。
図９（ａ）は対象画像データ１を示し、図９（ｂ）は、基準画像データ２を示す。図１で示したフローチャートに基づいて照合処理を実行したところ、図９（ａ）の白抜き線で囲まれた領域が照合位置３として検出された。
【０１１１】
図１０は、画像処理システム１００の構成を示すブロック図である。画像処理システム１００は、撮像装置１０１、画像処理装置１０２、表示装置１０３を有し、前述のような部品の位置合わせシステムを構成する。
【０１１２】
撮像装置１０１は、ＣＣＤ（電荷結合素子）カメラ１１１、Ａ／Ｄ（アナログ／デジタル）変換器１１２、カメラコントローラ１１３、Ｄ／Ａ変換器１１４およびフレームメモリ１１５からなる。ＣＣＤカメラ１１１が、被写体、上記の実施形態では基準面および部品を撮像し、受光量をアナログ画像信号として出力する。Ａ／Ｄ変換器１１２は、ＣＣＤカメラ１１１から出力されたアナログ画像信号をデジタルデータに変換し、デジタル画像データとして出力する。カメラコントローラ１１３は、デジタル画像データを１フレームごとにフレームメモリ１１５に格納するとともに、表示装置１０３に表示させるために、Ｄ／Ａ変換器１１４に出力する。Ｄ／Ａ変換器１１４は、カメラコントローラ１１３から出力されたデジタル画像データを表示装置１０３に応じたアナログ画像信号に変換して表示装置１０３に出力する。表示装置１０３は、ＬＣＤ（Liquid Crystal Display）やＣＲＴ（Cathode Ray Tube）ディスプレイなどで実現され、撮像装置１０１から出力されたアナログ画像信号を表示する。
【０１１３】
画像処理装置１０２は、ＣＰＵ（中央演算処理装置）１２１、ＲＡＭ（Random Access
Memory）１２２、ＲＯＭ（Read Only Memory）１２３およびＩ／Ｏ（Input/Output）コントローラ１２４からなる。ＣＰＵ１２１は、ＲＯＭ１２３に記憶されている制御プログラムに基づいて画像処理装置１０２の動作を制御する。処理中の画像データや演算中のデータなどは一時的にＲＡＭ１２２に記憶される。Ｉ／Ｏコントローラ１２４は、キーボードやマウスなどの入力装置や部品の移動装置などが接続され、これらの入出力データの制御を行う。
【０１１４】
ＣＰＵ１２１およびＲＯＭ１２３は、方向符号差分値照合手段、方向符号ヒストグラム照合手段、方向符号照合手段および決定手段を構成し、撮像装置１０１のカメラコントローラ１１３を介してフレームメモリ１１５から画像データを取得し、図１のフローチャートで示した画像処理を実行する。画像処理によって照合位置、回転角度が決定されると、たとえば、位置合わせのための部品の移動距離、移動方向、回転角度などが算出され、これらのパラメータが不図示の移動装置に出力される。移動装置は、取得したパラメータに基づいて部品を移動させて位置合わせを行う。
【０１１５】
また、本発明の他の実施形態は、コンピュータを画像処理装置１０２として機能させるための画像処理プログラム、および画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体である。これによって、画像処理プログラムおよび画像処理プログラムを記録した記録媒体を持ち運び自在に提供することができる。
【０１１６】
記録媒体は、プリンタやコンピュータシステムに備えられるプログラム読み取り装置により読み取られることで、画像処理プログラムが実行される。
【０１１７】
コンピュータシステムの入力手段としては、フラットベッドスキャナ・フィルムスキャナ・デジタルカメラなどを用いてもよい。コンピュータシステムは、これらの入力手段と、所定のプログラムがロードされることにより画像処理などを実行するコンピュータと、コンピュータの処理結果を表示するＣＲＴディスプレイ・液晶ディスプレイなどの画像表示装置と、コンピュータの処理結果を紙などに出力するプリンタより構成される。さらには、ネットワークを介してサーバーなどに接続するための通信手段としてのＬＡＮ（
Local Area Network）インターフェイスなどが備えられる。
【０１１８】
なお、記録媒体としては、プログラム読み取り装置によって読み取られるものには限らず、マイクロコンピュータのメモリ、たとえばＲＯＭであっても良い。記録されているプログラムはマイクロプロセッサがアクセスして実行しても良いし、あるいは、記録媒体から読み出したプログラムを、マイクロコンピュータのプログラム記憶エリアにダウンロードし、そのプログラムを実行してもよい。このダウンロード機能は予めマイクロコンピュータが備えているものとする。
【０１１９】
記録媒体の具体的な例としては、磁気テープやカセットテープなどのテープ系、フレキシブルディスクやハードディスクなどの磁気ディスクやＣＤ−ＲＯＭ（Compact Disc-
Read Only Memory）／ＭＯ（Magneto Optical）ディスク／ＭＤ（Mini Disc）／ＤＶＤ（
Digital Versatile Disc）などの光ディスクのディスク系、ＩＣ（Integrated Circuit）カード（メモリカードを含む）／光カードなどのカード系、あるいはマスクＲＯＭ、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electrically
Erasable Programmable Read Only Memory）、フラッシュＲＯＭなどの半導体メモリを含めた固定的にプログラムを担持する媒体である。
【０１２０】
また、本実施形態においては、コンピュータはインターネットを含む通信ネットワークに接続可能なシステム構成とし、通信ネットワークを介して画像処理プログラムをダウンロードしても良い。なお、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード機能は予めコンピュータに備えておくか、あるいは別な記録媒体からインストールされるものであっても良い。また、ダウンロード用のプログラムはユーザーインターフェースを介して実行されるものであっても良いし、決められたＵＲＬ（Uniform Resource Locater）から定期的にプログラムをダウンロードするようなものであっても良い。
【０１２１】
以上のように、本発明により、たとえば食品容器、プリント基板、電子部品、金属部品などの工業製品を対象として、照明変動などの影響が受けにくく、高速かつ高精度の画像照合を行うことができる。
【図面の簡単な説明】
【０１２２】
【図１】本発明の実施の一形態である画像処理方法を示すフローチャートである。
【図２】本実施形態で算出する方向符号値の例を示す図である。
【図３】方向符号差分ヒストグラム照合処理を示すフローチャートである。
【図４】方向符号差分値の特徴を示す概念図である。
【図５】同心円環の例を示す図である。
【図６】方向符号ヒストグラム照合処理を示すフローチャートである。
【図７】方向符号ヒストグラムのビットシフトを説明する図である。
【図８】方向符号照合処理を示すフローチャートである。
【図９】本発明の実施例を示す図である。
【図１０】画像処理システム１００の構成を示すブロック図である。
【符号の説明】
【０１２３】
１  対象画像データ
２  基準画像データ
３  照合位置
１００  画像処理システム
１０１  撮像装置
１０２  画像処理装置
１０３  表示装置
１１１  ＣＣＤカメラ
１１２  Ａ／Ｄ変換器
１１３  カメラコントローラ
１１４  Ｄ／Ａ変換器
１１５  フレームメモリ
１２１  ＣＰＵ
１２２  ＲＡＭ
１２３  ＲＯＭ
１２４  Ｉ／Ｏコントローラ
【図１】
2006133884.tif 000013
【図２】
2006133884.tif 000014
【図３】
2006133884.tif 000015
【図４】
2006133884.tif 000016
【図５】
2006133884.tif 000017
【図６】
2006133884.tif 000018
【図７】
2006133884.tif 000019
【図８】
2006133884.tif 000020
【図１０】
2006133884.tif 000021
【図９】
2006133884.tif 000022