(57)【要約】【課題】検出対象を含む画像を圧縮してパターンマッチングする際に、圧縮前の画像にノイズエッジが多くても、その影響を抑制できるパターンマッチング装置を提供する。【解決手段】検出対象を含む被探索画像のエッジ画像をテンプレート画像と比較してパターンマッチングを行う演算部を備えるパターンマッチング装置において、演算部は、被探索画像において画素ごとのエッジの強度及び方向をベクトルとして抽出する抽出処理の利用により、被探索画像からエッジ画像を生成し、エッジ画像において隣接する複数の画素の矩形領域４７ａのベクトル４９ａ，４９ｂを１つのベクトル４９ｃに合成することで複数の画素の矩形領域４７ａを１つの画素の領域４７ｂに圧縮する圧縮処理の利用により、エッジ画像を所定の圧縮率で圧縮して圧縮エッジ画像を生成し、圧縮エッジ画像を、圧縮率で圧縮されたテンプレート画像と比較してパターンマッチングを行う。【選択図】図４
2015076026.tif 000002
【特許請求の範囲】
【請求項１】
検出対象を含む被探索画像のエッジ画像をテンプレート画像と比較してパターンマッチングを行う演算部を備えるパターンマッチング装置において、
前記演算部は、前記被探索画像において画素ごとのエッジの強度及び方向をベクトルとして抽出する抽出処理の利用により、前記被探索画像からエッジ画像を生成し、前記エッジ画像において隣接する複数の画素の前記ベクトルを１つのベクトルに合成することで前記複数の画素を１つの画素に圧縮する圧縮処理の利用により、前記エッジ画像を所定の圧縮率で圧縮して圧縮エッジ画像を生成し、前記圧縮エッジ画像を、前記圧縮率で圧縮されたテンプレート画像と比較してパターンマッチングを行う、
ことを特徴とするパターンマッチング装置。
【請求項２】
前記演算部は、前記エッジ画像を前記圧縮処理により段階的に圧縮して複数の前記圧縮エッジ画像を生成する、
ことを特徴とする請求項１記載のパターンマッチング装置。
【請求項３】
検出対象に対して作業可能なロボット本体と、
前記検出対象を撮影可能なカメラと、
請求項１又は２に記載のパターンマッチング装置を有し、該パターンマッチング装置が、前記カメラにより撮影された前記検出対象の画像を前記被探索画像として前記パターンマッチングを行って得た結果に基づいて、前記検出対象の位置姿勢を演算し、得られた前記検出対象の位置姿勢に基づいて前記ロボット本体の動作を制御する制御装置と、を備える、
ことを特徴とするロボット装置。
【請求項４】
検出対象に対して作業可能な生産装置と、
前記検出対象を撮影可能なカメラと、
請求項１又は２に記載のパターンマッチング装置を有し、該パターンマッチング装置が、前記カメラにより撮影された前記検出対象の画像を前記被探索画像として前記パターンマッチングを行って得た結果に基づいて、前記生産装置の動作を制御する制御装置と、を備える、
ことを特徴とする生産設備。
【請求項５】
演算部が、検出対象を含む被探索画像において画素ごとのエッジの強度及び方向をベクトルとして抽出する抽出処理の利用により、前記被探索画像からエッジ画像を生成する第１の生成工程と、
前記演算部が、前記エッジ画像において隣接する複数の画素の前記ベクトルを１つのベクトルに合成することで前記複数の画素を１つの画素に圧縮する圧縮処理の利用により、前記エッジ画像を所定の圧縮率で圧縮して圧縮エッジ画像を生成する第２の生成工程と、
前記演算部が、前記圧縮エッジ画像を、前記圧縮率で圧縮されたテンプレート画像と比較してパターンマッチングを行うパターンマッチング工程と、を備える、
ことを特徴とするパターンマッチング方法。
【請求項６】
前記第２の生成工程では、前記演算部が、前記エッジ画像を前記圧縮処理により段階的に圧縮して複数の前記圧縮エッジ画像を生成する、
ことを特徴とする請求項５記載のパターンマッチング方法。
【請求項７】
請求項５又は６に記載のパターンマッチング方法の各工程をコンピュータに実行させるためのパターンマッチングプログラム。
【請求項８】
請求項７に記載のパターンマッチング方法の各工程をコンピュータに実行させるためのパターンマッチングプログラムが記録されたコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出対象を含む画像を圧縮した圧縮画像に対してパターンマッチングを行うパターンマッチング装置及びパターンマッチング方法に関する。
【背景技術】
【０００２】
従来、画像処理の分野において、検出対象であるワーク等の位置を検出する方法として、パターンマッチング方法が周知である。その中でも、形状パターンマッチングは、照明変化、物体の隠れ、欠けにも強く、ロバスト性が高い手法であることから、広く普及している。また、パターンマッチング方法を高速化する手法として、所謂ピラミッド探索が行われることがある。ピラミッド探索とは、テンプレート画像と被探索画像とのそれぞれに段階的な複数の圧縮画像を生成し、同じ圧縮率の圧縮画像同士の組を用意する。そして、最も圧縮率の高い圧縮画像の組を用いて検出対象の粗い位置を検出し、圧縮率の低い圧縮画像の組を順に用いて、検出対象の精細な位置を検出していく方法である。
【０００３】
ロバスト性の高い形状パターンマッチングでピラミッド探索を行う際は、各圧縮率の圧縮画像において検出対象のエッジ等の形状特徴を抽出しなければならない。そのためには、被探索画像を各圧縮率へ圧縮し、各圧縮画像に対して特徴抽出を行わなければならないため、長時間を要してしまう。そこで、圧縮を行っていない被探索画像において特徴抽出を行い、抽出された特徴画像を圧縮していくことにより、短時間で特徴ピラミッド画像を生成できる。この特徴ピラミッド画像とは、具体的には、例えば各圧縮率に圧縮した段階的な圧縮画像に対して、エッジ抽出を行った結果である複数の圧縮率のエッジ画像を意味する。その特徴ピラミッド画像を用いることにより、形状パターンマッチングにおけるピラミッド探索が可能となる。
【０００４】
このような特徴ピラミッド画像の形成方法として、圧縮を行っていない画像から各画素のエッジ方向を抽出し、エッジ方向を８方向に量子化し、８ビットの方向フラグ情報を持つエッジ特徴画像を生成する方法が知られている（特許文献１参照）。この方法では、例えばある画素でエッジ方向が８方向のうちの第５の方向であれば５ビット目を１とし、その他のビットは０として表現する。そして、エッジ特徴のピラミッド画像を生成する際、圧縮率に応じた領域のエッジ方向の各ビット位置でＯＲ演算を行い、圧縮画像のエッジ特徴とする。例えば、画素Ａから画素Ｄの４画素を１画素に縮小する場合は、各ビット位置でＯＲ演算を行うことで、画素Ａから画素Ｄの４画素の全ての方向を保持することができる。つまり、圧縮率に応じた領域に存在する全てのエッジ方向を記憶しておくことができるため、特徴画像を縮小しても、エッジ特徴情報が失われにくい。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−６７２４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載されたパターンマッチング方法は、画像圧縮の際に全てのエッジ方向の情報を残す方法であるため、検出対象のエッジでもノイズによるエッジでも均等にエッジ情報が残ってしまう。特に、ノイズエッジが多く出るような画像においては、パターンマッチングにおいてノイズエッジの影響を受けやすく、パターンマッチングのロバスト性が低下してしまうことがあるという問題があった。
【０００７】
本発明は、検出対象を含む画像を圧縮してパターンマッチングする際に、圧縮前の画像にノイズエッジが多くても、その影響を抑制できるパターンマッチング装置及びパターンマッチング方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、検出対象を含む被探索画像のエッジ画像をテンプレート画像と比較してパターンマッチングを行う演算部を備えるパターンマッチング装置において、前記演算部は、前記被探索画像において画素ごとのエッジの強度及び方向をベクトルとして抽出する抽出処理の利用により、前記被探索画像からエッジ画像を生成し、前記エッジ画像において隣接する複数の画素の前記ベクトルを１つのベクトルに合成することで前記複数の画素を１つの画素に圧縮する圧縮処理の利用により、前記エッジ画像を所定の圧縮率で圧縮して圧縮エッジ画像を生成し、前記圧縮エッジ画像を、前記圧縮率で圧縮されたテンプレート画像と比較してパターンマッチングを行うことを特徴とする。
【０００９】
また、本発明のパターンマッチング方法は、演算部が、検出対象を含む被探索画像において画素ごとのエッジの強度及び方向をベクトルとして抽出する抽出処理の利用により、前記被探索画像からエッジ画像を生成する第１の生成工程と、前記演算部が、前記エッジ画像において隣接する複数の画素の前記ベクトルを１つのベクトルに合成することで前記複数の画素を１つの画素に圧縮する圧縮処理の利用により、前記エッジ画像を所定の圧縮率で圧縮して圧縮エッジ画像を生成する第２の生成工程と、前記演算部が、前記圧縮エッジ画像を、前記圧縮率で圧縮されたテンプレート画像と比較してパターンマッチングを行うパターンマッチング工程と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、演算部が、エッジをベクトルとして抽出する抽出処理によりエッジ画像を生成し、該エッジ画像からベクトル合成を利用した圧縮処理により圧縮エッジ画像を生成する。複数のエッジを１つにまとめて圧縮する際にベクトル合成を行うことにより、エッジ強度が弱いエッジやエッジ方向が低頻度のエッジは、エッジ強度が強いエッジやエッジ方向が高頻度のエッジに対して打ち消されやすくなる。
【００１１】
即ち、ノイズのエッジ（図４（ｃ）符号４８ａ）は、一般的にはエッジ強度が弱く、エッジの長さが短くて画素数が少ないことが多い。これに対し、検出対象のエッジ（図４（ｃ）符号４８ｂ）はエッジ強度が強く、エッジの長さが長くて画素数が多いことが多い。このため、ノイズのエッジと検出対象のエッジとのベクトル合成により、ノイズのエッジのベクトルは消えやすくなると共に検出対象のエッジのベクトル（図４（ｄ）符号４９ｃ）のみが残りやすくなる。
【００１２】
これにより、ノイズのエッジを多く含む画像を圧縮しても、ノイズのエッジが消えて検出対象のエッジが残り、ノイズの影響を抑制したパターンマッチング用の圧縮画像を生成することができるので、ロバスト性の高い形状パターンマッチングが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係るロボット装置の概略構成を示す説明図である。
【図２】本発明の実施形態に係るパターンマッチング装置によりテンプレートエッジ画像及びテンプレート圧縮エッジ画像を生成する際の手順を示すフローチャートである。
【図３】本発明の実施形態に係るパターンマッチング装置によりテンプレート圧縮エッジ画像と圧縮エッジ画像とでパターンマッチングする際の画像同士の対応を示す説明図である。
【図４】本発明の実施形態に係るパターンマッチング装置により各種処理を行う際の画像の説明図であり、（ａ）は通常の画像の単純な圧縮、（ｂ）はベクトルを含む複数の画素の圧縮、（ｃ）はエッジとベクトル、（ｄ）は合成ベクトルである。
【図５】本発明の実施形態に係るパターンマッチング装置によりエッジ画像及び圧縮エッジ画像を生成して、パターンマッチングする際の手順を示すフローチャートである。
【図６】本発明の実施形態に係るパターンマッチング装置によりパターンマッチングを行う際の説明図であり、（ａ）は全画素に対してパターンマッチングを実行する場合、（ｂ）はワーク周辺のみパターンマッチングをする場合である。
【図７】本発明の実施形態に係るパターンマッチング装置によりテンプレートエッジ画像及びテンプレート圧縮エッジ画像を生成する際の手順の変形例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【００１５】
図１に示すように、ロボット装置１は、ロボット本体２と、ロボット本体２から離隔して配置されロボット本体２が移動させるワーク（検出対象）Ｗを上方から撮影可能なカメラ４と、ロボット本体２及びカメラ４を制御する制御装置３と、を備えている。
【００１６】
ロボット本体２は、６軸の垂直多関節アーム（以下、アームと呼ぶ）２１と、エンドエフェクタであるハンド２２とを有している。本実施形態では、アーム２１として６軸の垂直多関節アームを適用しているが、軸数は用途や目的に応じて適宜変更してもよい。また、本実施形態では、エンドエフェクタとしてハンド２２を適用しているが、これには限られず、ワークＷに対して作業可能なツールの全般を含めることができる。
【００１７】
アーム２１は、７つのリンク６１〜６７と、各リンク６１〜６７を揺動又は回動可能に連結する６つの関節７１〜７６とを備えている。各リンク６１〜６７としては、長さが固定されたものを採用している。但し、例えば、直動アクチュエータにより伸縮可能なリンクを採用してもよい。各関節７１〜７６には、各関節７１〜７６を各々駆動するモータと、モータの回転角度を検知するエンコーダと、各モータに供給する電流を検知する電流センサと、各関節７１〜７６のトルクを検知するトルクセンサと、が設けられている。
【００１８】
ハンド２２は、アーム２１の先端リンク６７に取り付けられて支持され、アーム２１の動作により位置及び姿勢の少なくとも一自由度が調整されるようになっている。ハンド２２は、２本の指２３と、これら指２３の間隔を開閉可能に支持するハンド本体２４とを備え、指２３同士が接近する閉動作によりワークＷを把持可能になっている。
【００１９】
制御装置３は、コンピュータにより構成され、ロボット本体２及びカメラ４を制御するようになっている。制御装置３を構成するコンピュータは、例えばＣＰＵと、各部を制御するためのプログラムを記憶するＲＯＭと、データを一時的に記憶するＲＡＭと、入力インタフェース回路と、出力インタフェース回路とを備えている。また、制御装置３は、圧縮画像内のエッジを比較してパターンマッチングを実行するパターンマッチング装置３１を備えている。
【００２０】
パターンマッチング装置３１は、ワークＷを含む被探索画像４５のエッジ画像４６ａをテンプレートエッジ画像４４ａと比較してパターンマッチングを行う演算部３２を備えている。パターンマッチング装置３１及び演算部３２は、本実施形態では制御装置３に内蔵されており、実際には制御装置３を構成するコンピュータにより構成されている。演算部３２は、後述する抽出処理の利用により、被探索画像４５からエッジ画像４６ａを生成し、また、後述する圧縮処理の利用により、エッジ画像４６ａを所定の圧縮率で圧縮して圧縮エッジ画像４６ｂ〜４６ｄを生成するようになっている。
【００２１】
上述したロボット装置１のパターンマッチング装置３１により、参照画像４０からテンプレートエッジ画像４４ａ及び段階的に圧縮されたテンプレート圧縮エッジ画像４４ｂ〜４４ｄを生成する際の手順を、図２に示すフローチャートに沿って説明する。尚、ここでは本実施形態のカメラ４及び制御装置３を利用して圧縮画像を生成する場合について説明するが、これには限られず、別のカメラやコンピュータを利用してもよい。
【００２２】
まず、パターンマッチング用のテンプレート画像４２ａを生成するために、ワークＷを理想状態の位置姿勢に設置すると共に、理想状態の照明条件に設定し、カメラ４により撮影を行う。そして、図３に示すように、ワークＷｔを含む広域の参照画像４０を得る（ステップＳ１）。カメラ４から出力された参照画像４０の画像データは、パターンマッチング装置３１に入力されて記憶される。
【００２３】
操作者は、例えばディスプレイに表示された参照画像４０から、検出したいワークＷｔを含む矩形領域４１を設定する。その設定方法は、制御装置３に付随したマウス等を利用し、ディスプレイに表示された参照画像４０内のワークＷを包含する領域の左上の点４１ａと右下の点４１ｂとをクリックする。クリックした２点４１ａ，４１ｂの位置を矩形領域４１の左上及び右下の角の点として、参照画像４０から矩形領域４１のみを切り出し、当該領域４１の画像をテンプレート画像４２ａとする（ステップＳ２）。
【００２４】
次に、パターンマッチング装置３１は、生成したテンプレート画像４２ａから、図４（ａ）に示すように、左上端から圧縮率に応じた画素数の領域を選択する。ここでは、縦横比を２分の１に縮小して所定の圧縮率を４分の１にするので、２×２画素（図中、ハッチングで示す領域）４３ａを設定し、その２×２画素４３ａの輝度値の平均を縮小画像の１画素（図中、ハッチングで示す領域）４３ｂとする。パターンマッチング装置３１が、この圧縮処理をテンプレート画像４２ａの全画素に対して行うことにより、テンプレート圧縮画像４２ｂが生成される（ステップＳ３）。本実施形態では所定の圧縮率を４分の１としているが、これには限られず、他の圧縮率であってもよい。
【００２５】
パターンマッチング装置３１は、所定の圧縮率で段階的に圧縮したテンプレート圧縮画像４２ｂ〜４２ｄを所定枚数、例えば３枚生成したか否かを判断する（ステップＳ４）。パターンマッチング装置３１が、テンプレート圧縮画像４２ｂ〜４２ｄを３枚生成していないと判断した場合は、直前に生成したテンプレート圧縮画像に対して、同様の圧縮処理により４分の１の圧縮率で画像圧縮を実行する（ステップＳ３）。
【００２６】
パターンマッチング装置３１が、テンプレート圧縮画像４２ｂ〜４２ｄを３枚生成したと判断した場合は、圧縮処理を終了する。本実施形態では、４分の１に縮小することを３回繰り返し、解像度が１分の１、４分の１、１６分の１、６４分の１のピラミッド探索用の４枚の段階的なテンプレート画像４２ａ及びテンプレート圧縮画像４２ｂ〜４２ｄが生成される。尚、ここでは解像度を４段階としているが、これには限られず、ワークＷの形状や大きさ、要求される精度等に応じて適宜設定することができる。
【００２７】
次に、図３に示すように、テンプレート画像４２ａに対してエッジ抽出を行い、テンプレートエッジ画像４４ａを生成する（ステップＳ５）。ここでは、テンプレート画像４２ａの各画素ごとにエッジ強度及びエッジ方向を算出する。即ち、各画素において、エッジが強度と方向の要素を有するベクトルとして定義される。エッジ強度とは、コントラストの大きさを表し、注目画素に対し隣接する画素のコントラストが大きければエッジ強度も大きくなる。エッジ方向とは、コントラストの方向を表し、注目画素のエッジ強度が最も大きくなる方向（角度）を示す。
【００２８】
エッジ強度の算出には、Ｘ軸方向及びＹ軸方向のソーベルフィルタを使用し、任意の画素で、Ｘ軸方向のエッジ強度とＹ軸方向のエッジ強度とを算出する。そして、数式１に示すように、エッジ強度を各軸方向のエッジ強度の二乗和の平方根で表す。尚、本実施形態では、エッジ強度の算出にソーベルフィルタを使用しているが、これには限られず、例えば、ラプラシアンフィルタやキャニーフィルタ等の周知のエッジ抽出フィルタを使用してもよい。
【００２９】
【数１】
2015076026.tif 000003
ｅｘ：Ｘ軸方向のエッジ強度
ｅｙ：Ｙ軸方向のエッジ強度
【００３０】
エッジ方向の算出には、数式２を使用する。
【００３１】
【数２】
2015076026.tif 000004
ｅｘ：Ｘ軸方向のエッジ強度
ｅｙ：Ｙ軸方向のエッジ強度
【００３２】
上述の手法により、テンプレート画像４２ａの全画素のエッジ強度及びエッジ方向を抽出する抽出処理により、テンプレート画像４２ａに対応するテンプレートエッジ画像４４ａを生成する。テンプレートエッジ画像４４ａは、抽出されたエッジの強度及び方向を示すベクトルの集合として生成されるようになっている。
【００３３】
テンプレートエッジ画像４４ａのデータ保持方法は、テンプレートエッジ画像４４ａの各画素毎に２チャンネルのデータ領域を用意し、１チャンネル目にエッジ強度、２チャンネル目にエッジ方向の情報を格納する。もしくは、各画素ごとのエッジ強度のみを記憶したエッジ強度画像と、各画素ごとのエッジ方向のみを記憶したエッジ方向画像と、の２画像を１組としたエッジ画像として記憶するようにしてもよい。
【００３４】
そして、パターンマッチング装置３１は、上述のエッジ抽出（ステップＳ５）と同様の方法で、テンプレート圧縮画像４２ｂ〜４２ｄからテンプレート圧縮エッジ画像４４ｂ〜４４ｄを生成する（ステップＳ６）。これにより、参照画像４０に基づき、段階的に圧縮されたエッジであるワークＷｔｅを含むテンプレートエッジ画像４４ａ及びテンプレート圧縮エッジ画像４４ｂ〜４４ｄを生成する処理が完了する。
【００３５】
次に、上述したパターンマッチング装置３１により、実際のワークＷを撮影して得られた被探索画像４５を利用してパターンマッチング方法によりパターンマッチングを行う際の手順を、図５に示すフローチャートに沿って説明する。
【００３６】
まず、例えば作業中のワークＷをカメラ４により撮影し、図３に示すように、ワークＷを含む被探索画像４５を得る（ステップＳ１１）。カメラ４から出力された被探索画像４５の画像データは、パターンマッチング装置３１に入力されて記憶される。演算部３２は、被探索画像４５に対し、上述のステップＳ５と同様の方法により、抽出処理を行ってエッジを抽出し、エッジ画像４６ａを生成する（ステップＳ１２、第１の生成工程）。
【００３７】
次に、演算部３２は、エッジ画像４６ａの左上端から所定の圧縮率に応じた領域を選択する。例えば、所定の圧縮率が４分の１の場合は、図４（ｂ）に示すように、２×２画素の矩形領域４７ａを設定する。次に、エッジをベクトルとして扱い、２×２画素の矩形領域４７ａの内部に２つ以上のベクトルが存在する場合は、ベクトル合成により２×２画素の矩形領域４７ａの各ベクトルから１つの合成ベクトルを算出する。即ち、エッジの特徴であるエッジ強度をベクトルの大きさとすると共に、エッジ方向をベクトルの向きとして、ベクトル合成を行う。
【００３８】
演算部３２は、２×２画素の矩形領域４７ａから算出した合成ベクトルの結果を、次に生成する圧縮エッジ画像４６ｂの１画素の領域４７ｂとする。そして、同様の方法で元のエッジ画像４６ａの全画素分の圧縮を行う圧縮処理により、圧縮エッジ画像４６ｂを生成する（ステップＳ１３、第２の生成工程）。
【００３９】
ここで、合成後のベクトルの大きさの算出については、Ｘ軸方向成分Ｅｘは数式３により算出され、Ｙ軸方向成分Ｅｙは数式４により算出される。
【００４０】
【数３】
2015076026.tif 000005
【００４１】
【数４】
2015076026.tif 000006
ｅ１〜ｅ４：２×２画素内の４つのベクトルの大きさ
θ１〜θ４：２×２画素内の４つのベクトルの方向
【００４２】
合成後のベクトルの大きさ及び方向は、算出されたＥｘ及びＥｙを利用して、数式５及び数式６により各々算出される。
【００４３】
【数５】
2015076026.tif 000007
【００４４】
【数６】
2015076026.tif 000008
【００４５】
また、図４（ｃ）に示すように、ワークＷのエッジ４８ａはコントラストが強く長いため、エッジ強度が強く画素も多く、ベクトル４９ａが大きく多くなる。これに対して、ノイズのエッジ４８ｂはコントラストが弱く短いため、エッジ強度が弱く画素も少なく、ベクトル４９ｂが小さく少なくなる。このため、ワークＷのエッジ４８ａのベクトル４９ａとノイズのエッジ４８ｂのベクトル４９ｂとを合成すると、図４（ｄ）に示すように、ワークＷのエッジ４８ａのベクトル４９ａがほぼ残り、ノイズのエッジ４８ｂのベクトル４９ｂは消えやすくなる。これにより、合成されたベクトル４９ｃはノイズの影響が抑制されるので、ノイズの影響を抑制したパターンマッチング用の圧縮エッジ画像４６ｂを生成することができる。
【００４６】
ここで、例えば図３の被探索画像４５に示すように、ワークＷが黒い円形として撮影された場合、この被探索画像４５から生成されるエッジ画像４６ａでは、理想的には円形のワークエッジＷｅのみが含まれる。しかし、実際には、ワークＷや背景部の色むら、照明の反射むら、傷等の様々な原因により、ノイズエッジＮｅが発生することがある。但し、ノイズエッジＮｅはワークエッジＷｅに対してコントラストが低い場合が多く、エッジ強度が弱くなる傾向にあり、またノイズエッジＮｅは連結性が低いため、長さが短くなる傾向にある。つまり、ノイズエッジＮｅはエッジ強度が弱く、エッジを構成するエッジ点数が少ない。そのため、ベクトル合成をすることにより、ワークエッジＷｅにより打ち消される可能性が高くなり、圧縮した際にノイズエッジＮｅによる影響が少なくなる。それにより、圧縮率が高いピラミッド上段でのパターンマッチングの誤認識を抑制することができる。
【００４７】
演算部３２は、段階的に圧縮した圧縮エッジ画像４６ｂ〜４６ｄを所定枚数、例えば３枚生成したか否かを判断する（ステップＳ１４）。演算部３２が、圧縮エッジ画像を３枚生成していないと判断した場合は、直前に生成した圧縮エッジ画像に対して、同様の圧縮処理により４分の１の圧縮率で画像圧縮を実行する（ステップＳ１３）。
【００４８】
演算部３２が、圧縮エッジ画像４６ｂ〜４６ｄを３枚生成したと判断した場合は、圧縮画像生成の処理を終了する。本実施形態では、４分の１に縮小することを３回繰り返し、解像度が１分の１、４分の１、１６分の１、６４分の１のピラミッド探索用の４枚の段階的なエッジ画像４６ａ及び圧縮エッジ画像４６ｂ〜４６ｄが生成される。これにより、演算部３２は、圧縮エッジ画像４６ｂ〜４６ｄの圧縮率に対応したテンプレート圧縮エッジ画像４４ｂ〜４４ｄと比較することができるようになる。
【００４９】
次に、演算部３２は、圧縮エッジ画像４６ｂ〜４６ｄのうち最も圧縮率の大きい６４分の１の圧縮エッジ画像４６ｄと、これに対応するテンプレート圧縮エッジ画像４４ｄとにより、パターンマッチングを行う（ステップＳ１５）。
【００５０】
パターンマッチングの手法としては、図６（ａ）に示すように、テンプレート圧縮エッジ画像４４ｄを圧縮エッジ画像４６ｄの内部でピクセル単位ごとに範囲を移動させる。そして、範囲を移動させた各位置で、圧縮エッジ画像４６ｄからテンプレート圧縮エッジ画像４４ｄに対応する大きさの画像を抽出する。圧縮エッジ画像４６ｄから抽出した画像とテンプレート圧縮エッジ画像４４ｄとに基づき、数式７により類似度Ｒを求める。
【００５１】
【数７】
2015076026.tif 000009
Ｒｉｊ：画像内の位置（ｉ，ｊ）における類似度
ｎ：エッジの点数
θＩ：被探索圧縮エッジ画像のエッジ方向
θＴ：テンプレート圧縮エッジ画像のエッジ方向
【００５２】
数式７において、画像内の位置５０とは、とは、圧縮エッジ画像４６ｄの座標（ｉ，ｊ）であって、本実施形態では移動するテンプレート圧縮エッジ画像４４ｄの左上の座標が位置する座標としている。但し、テンプレート圧縮エッジ画像４４ｄにおける座標は左上には限られず、中心であったり、他の角部であってもよい。
【００５３】
また、数式７における類似度Ｒの範囲は０〜１となり、０が最も低い類似性、１が最も高い類似性となる。演算部３２は、圧縮エッジ画像４６ｄの全座標において数式７により演算を実行し、最も類似度Ｒの高かった位置５０の座標（ｉ，ｊ）を記憶しておく。
【００５４】
次に、演算部３２は、直前にパターンマッチングを行った圧縮率より１つ低い圧縮率で、圧縮エッジ画像と、対応するテンプレート圧縮エッジ画像とにより、パターンマッチングを行う（ステップＳ１６）。ここでのパターンマッチングでは、図６（ｂ）に示すように、パターンマッチングを行う範囲を全範囲にせず、直前のパターンマッチングで最も高い類似度Ｒの位置５１に対応する位置５２を囲む領域５３に限定する。
【００５５】
例えば、圧縮エッジ画像４６ｄにおいて、直前のパターンマッチングで最も高い類似度Ｒの位置５１が座標（Ｘ１，Ｙ１）であった場合について説明する。この場合、次のパターンマッチングでは圧縮エッジ画像４６ｃを用い、位置５１に対応する位置５２は座標（Ｘ１×２，Ｙ１×２）となる。そして、この位置５２を中心とする例えば５×５画像の範囲を周囲領域５３として、この周囲領域５３でのみテンプレート圧縮エッジ画像４４ｃとパターンマッチングを実行する。
【００５６】
そして、演算部３２は、パターンマッチングが、最小の圧縮率である圧縮エッジ画像４６ｂまで完了したか否かを判断する（ステップＳ１７）。演算部３２が、パターンマッチングが圧縮エッジ画像４６ｂまで完了していないと判断した場合は、直前にパターンマッチングを行った圧縮率より１つ低い圧縮率でパターンマッチングを行う（ステップＳ１６）。
【００５７】
演算部３２が、パターンマッチングが圧縮エッジ画像４６ｂまで完了したと判断した場合は、エッジ画像４６ａによりパターンマッチングを行う（ステップＳ１８）。そして、演算部３２は、最終的に得られた位置の座標を最終マッチング位置として、被探索画像４５でのワークＷの検出位置とする。尚、ステップＳ１５〜Ｓ１８は、本発明のパターンマッチング工程を構成する。
【００５８】
上述したように本実施形態のパターンマッチング装置３１によれば、演算部３２が、被探索画像４５から抽出処理によりエッジ画像４６ａを生成する。そして、演算部３２は、エッジ画像４６ａに基づき、圧縮処理により圧縮エッジ画像４６ｂ〜４６ｄを段階的な圧縮率で生成する。ここで、複数のエッジを１つにまとめて圧縮するためにベクトル合成を行うことにより、エッジ強度が弱いエッジやエッジ方向が低頻度のエッジは、エッジ強度が強いエッジやエッジ方向が高頻度のエッジに対して打ち消されやすくなる。
【００５９】
これにより、ノイズエッジＮｅを多く含むエッジ画像４６ａを圧縮しても、ノイズエッジＮｅが消えてワークエッジＷｅが残り、ノイズの影響を抑制したパターンマッチング用の圧縮エッジ画像４６ｂ〜４６ｄを生成することができる。よって、よりロバスト性の高い形状パターンマッチングが可能となる。
【００６０】
また、本実施形態のパターンマッチング装置３１によれば、ピラミッド探索用の圧縮エッジ画像４６ｂ〜４６ｄのノイズを低減することができるので、ノイズが低減されない場合に比べて圧縮率を高めることができる。これにより、より画素数の少ない圧縮画像を用いてパターンマッチングを実行することができるので、パターンマッチングの処理速度を向上することができる。
【００６１】
また、本実施形態のパターンマッチング装置３１によれば、被探索画像４５に対し、まず抽出処理によりエッジ画像４６ａを生成し、該エッジ画像４６ａを段階的に圧縮して圧縮エッジ画像４６ｂ〜４６ｄを生成している。これにより、通常の圧縮画像を各段階でエッジ処理する場合に比べて、ピラミッド探索用の圧縮画像を効率的かつ高速に生成できるようになる。
【００６２】
上述した実施形態では、テンプレート圧縮エッジ画像４４ｂ〜４４ｄを生成する際に、予め通常の画像を圧縮して生成したテンプレート圧縮画像４２ｂ〜４２ｄに対しそれぞれ抽出処理をして生成する場合について説明したが、これには限られない。例えば、圧縮エッジ画像４６ｂ〜４６ｄを生成した手順と同様に、テンプレートエッジ画像４４ａのみを抽出処理により生成して、後はテンプレートエッジ画像４４ａを圧縮処理により順次圧縮するようにしてもよい。
【００６３】
この場合、例えば、図７のフローチャートに示すように、図２のステップＳ１と同様に、ワークＷｔを含む広域の参照画像４０を得る（ステップＳ２１）。操作者は、図２のステップＳ２と同様に、領域４１の画像をテンプレート画像４２ａとする（ステップＳ２２）。
【００６４】
カメラ４から出力されたテンプレート画像４２ａの画像データは、パターンマッチング装置３１に入力されて記憶される。演算部３２は、テンプレート画像４２ａに対し、上述のステップＳ５と同様の方法により、抽出処理を行ってエッジを抽出し、テンプレートエッジ画像４４ａを生成する（ステップＳ２３）。演算部３２は、テンプレートエッジ画像４４ａの全画素について圧縮処理を行い、４分の１の圧縮率でテンプレート圧縮エッジ画像４４ｂを生成する（ステップＳ２４）。
【００６５】
演算部３２は、段階的に圧縮したテンプレート圧縮エッジ画像４４ｂ〜４４ｄを所定枚数、例えば３枚生成したか否かを判断する（ステップＳ２５）。演算部３２が、テンプレート圧縮エッジ画像４４ｂ〜４４ｄを３枚生成していないと判断した場合は、直前に生成したテンプレート圧縮エッジ画像に対して、同様の処理方法により４分の１の圧縮率で画像を生成する（ステップＳ２４）。
【００６６】
演算部３２が、テンプレート圧縮エッジ画像４４ｂ〜４４ｄを３枚生成したと判断した場合は、画像生成の処理を終了する。この手順によっても、解像度が１分の１、４分の１、１６分の１、６４分の１のピラミッド探索用の４枚の段階的なテンプレートエッジ画像４４ａ及びテンプレート圧縮エッジ画像４４ｂ〜４４ｄが生成される。
【００６７】
このように、テンプレートエッジ画像４４ａを圧縮処理により順次圧縮してテンプレート圧縮エッジ画像４４ｂ〜４４ｄを生成する。これにより、各圧縮率のテンプレート圧縮画像４２ｂ〜４２ｄからそれぞれテンプレート圧縮エッジ画像４４ｂ〜４４ｄを生成する場合に比べて、抽出処理が１回で済むため、テンプレート圧縮エッジ画像４４ｂ〜４４ｄの作成時間を短縮することができる。
【００６８】
また、上述した実施形態では、エッジ画像４６ａ及び圧縮エッジ画像４６ｂ，４６ｃの全画素について圧縮処理を行う場合について説明したが、これには限られない。圧縮処理は、例えば、エッジ画像４６ａ及び圧縮エッジ画像４６ｂ，４６ｃのうちで少なくともワークＷを含む画素について実行すればよい。例えば、圧縮処理を行う対象であるエッジ画像４６ａ及び圧縮エッジ画像４６ｂ，４６ｃの全画素の中で、所定値より小さいベクトルは微小なノイズとしてカットし、当該画素については圧縮を行わないことで、処理時間の短縮を図ることができる。
【００６９】
また、上述した実施形態では、テンプレート画像４２ａはワークＷをカメラ４により撮影して生成する場合について説明したが、これには限られない。例えば、テンプレート画像４２ａは、ワークＷの３次元ＣＡＤモデルを２次元に投影することで生成してもよい。
【００７０】
また、上述した実施形態では、パターンマッチングの対象を被探索画像４５とテンプレート画像４２ａとした場合について説明したが、これには限られない。例えば、検出対象をそれぞれ撮影して得られた画像同士をパターンマッチングする等、画像同士のパターンマッチングの全般に適用することができる。
【００７１】
また、上述した実施形態では、パターンマッチング装置３１がロボット装置１の制御装置３に内蔵されている場合について説明したが、これには限られない。例えば、パターンマッチング装置をＮＣ機器や生産ラインに配置される機器等の生産装置を備える生産設備にも適用することができる。この場合、例えば、生産設備のカメラがワークを撮影し、撮影で得られた情報に基づきパターンマッチング装置がワークの位置姿勢や真贋等を判定し、その結果に基づいて制御装置が生産装置に対して動作を制御するようにできる。
【００７２】
尚、以上述べた本実施形態の各処理動作は具体的には演算部３２により実行されるものである。従って、上述した機能を実現するソフトウェアのパターンマッチングプログラムを記録した記録媒体を演算部３２に供給し、演算部３２を構成するＣＰＵが記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した各実施の形態の機能を実現することになり、パターンマッチングプログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。
【００７３】
また、本実施形態では、コンピュータ読み取り可能な記録媒体がＲＯＭであり、ＲＯＭにプログラムが格納される場合について説明したが、これに限定するものではない。プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、ＨＤＤ、外部記憶装置、記録ディスク等を用いてもよい。
【符号の説明】
【００７４】
１…ロボット装置、２…ロボット本体、３…制御装置、４…カメラ、３１…パターンマッチング装置、３２…演算部、４２ａ…テンプレート画像、４４ａ…テンプレートエッジ画像（テンプレート画像）、４４ｂ…テンプレート圧縮エッジ画像（テンプレート画像）、４４ｃ…テンプレート圧縮エッジ画像（テンプレート画像）、４４ｄ…テンプレート圧縮エッジ画像（テンプレート画像）、４５…被探索画像、４６ａ…エッジ画像、４６ｂ…圧縮エッジ画像、４６ｃ…圧縮エッジ画像、４６ｄ…圧縮エッジ画像、Ｗ…ワーク（検出対象）
【図１】
2015076026.tif 000010
【図２】
2015076026.tif 000011
【図３】
2015076026.tif 000012
【図４】
2015076026.tif 000013
【図５】
2015076026.tif 000014
【図６】
2015076026.tif 000015
【図７】
2015076026.tif 000016