(57)【要約】【課題】対象物の回転角度を求めるパターンマッチングに用いるべく、回転角度に応じた適切なエッジ形状をもつ回転モデルを効率よく、容易に生成する。【解決手段】撮影された対象物の回転角度を特定するためのパターンマッチング処理に用いる回転モデルを生成する。異なる回転角度を有する複数のモデルエッジ画像を生成（Ｓ１）し、その回転角度が含まれる回転角度範囲に対応する複数のクラスのいずれかにクラス分け（Ｓ２）された複数のモデルエッジ画像を含む基準回転モデルを作成する（基準回転モデル生成）。特定の回転角度を持つよう対象物を撮影した更新用画像を用いて、基準回転モデルのクラスのうち、その特定の回転角度が含まれる回転角度範囲に対応するクラスに分割されている少なくとも１つのモデルエッジ画像のモデルエッジを更新（Ｓ５）する（Ｓ４：回転モデル更新工程）。【選択図】図４
2020173637.tif 000002
【特許請求の範囲】
【請求項１】
パターンマッチング処理に用いる回転モデルを生成する画像処理装置において、
互いに異なる回転角度を有する複数のモデルエッジ画像が、回転角度に応じて複数のクラスのいずれかにクラス分けされた基準回転モデルを作成する基準回転モデル生成工程と、
特定の回転角度を持つよう対象物を撮影した更新用画像を用い、前記基準回転モデルのクラスのうち、前記特定の回転角度を含むクラスにクラス分けされている少なくとも１つのモデルエッジ画像のモデルエッジを更新する基準回転モデル更新工程と、
を含む画像処理を実行する制御装置を備えた画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、前記基準回転モデル生成工程で、前記特定の回転角度を持つよう対象物を撮影した原画像に対してエッジ検出を行い、少なくとも１つのモデルエッジ画像を生成する画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、前記基準回転モデル生成工程で、前記原画像に対してエッジ検出を行って生成した少なくとも１つのモデルエッジ画像を回転させて、異なる他の回転角度を有するモデルエッジ画像を生成する画像処理装置。
【請求項４】
請求項１から３のいずれか１項に記載の画像処理装置において、前記画像処理の各工程の処理条件を設定するためのユーザーインターフェース装置を備えた画像処理装置。
【請求項５】
請求項１から４のいずれか１項に記載の画像処理装置において、前記制御装置が、前記対象物が撮影された被探索画像からエッジ検出により生成したエッジ画像と、前記基準回転モデル更新工程で処理された前記基準回転モデルに含まれるモデルエッジ画像と、のパターンマッチング処理により、前記対象物の位置および回転角度を特定する探索工程を実行する画像処理装置。
【請求項６】
請求項１から５のいずれか１項に記載の画像処理装置において、前記基準回転モデル更新工程において、前記制御装置が、
前記更新用画像を被探索画像として、基準回転モデルのモデルエッジ画像を用いてパターンマッチング処理を行い、前記更新用画像に撮影されている対象物の回転角度から基準回転モデルの更新対象クラスと、前記パターンマッチング処理により検出された回転角度を有する更新対象のモデルエッジ画像と、を特定し、
前記更新対象のモデルエッジ画像のエッジ分割処理および領域化処理を介して生成したエッジ抽出領域で前記更新用画像から抽出したモデルエッジ画像を回転させることにより、前記更新対象クラスに含まれるモデルエッジ画像を更新する画像処理装置。
【請求項７】
請求項６に記載の画像処理装置において、前記基準回転モデル更新工程において、前記制御装置が、前記パターンマッチング処理、または、前記更新対象のモデルエッジ画像の更新に失敗した場合に当該のクラスに含まれるモデルエッジ画像の更新を中止する画像処理装置。
【請求項８】
請求項５に記載の画像処理装置と、前記対象物としてのワークを撮影する撮影装置と、前記ワークを操作して物品の製造工程を実行するロボット装置と、を備えた生産システムであって、前記制御装置が、前記撮影装置で撮影した被探索画像から前記探索工程によって、特定した前記ワークの位置および回転角度に基づき、前記ロボット装置が実行する前記製造工程が制御される生産システム。
【請求項９】
請求項５に記載の画像処理装置と、前記対象物としてのワークを撮影する撮影装置と、前記ワークを操作して物品の製造工程を実行するロボット装置と、を備えた生産システムを用いた物品の製造方法において、前記制御装置が、前記撮影装置で撮影した被探索画像から前記探索工程によって、特定した前記ワークの位置および回転角度に基づき、前記ロボット装置が実行する前記製造工程が制御される物品の製造方法。
【請求項１０】
パターンマッチング処理に用いる回転モデルを生成する画像処理方法において、
互いに異なる回転角度を有する複数のモデルエッジ画像が、回転角度に応じて複数のクラスのいずれかにクラス分けされた基準回転モデルを作成する基準回転モデル生成工程と、
特定の回転角度を持つよう対象物を撮影した更新用画像を用い、前記基準回転モデルのクラスのうち、前記特定の回転角度を含むクラスにクラス分けされている少なくとも１つのモデルエッジ画像のモデルエッジを更新する基準回転モデル更新工程と、
を含む画像処理方法。
【請求項１１】
請求項１０に記載の画像処理方法の各工程をコンピュータに実行させる制御プログラム。
【請求項１２】
請求項１１に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項１３】
前記対象物としてのワークを撮影してワークの画像を取得する工程と、
前記ワークの画像をエッジ検出してエッジ画像を生成する工程と、
前記エッジ画像に対して、請求項１０に記載の画像処理方法によって生成された回転モデルを用いたパターンマッチング処理により、前記ワークの位置および回転角度を特定する工程と、
特定した前記ワークの位置および回転角度に基づき、前記ワークに対して処理を行う工程と、を含む物品の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影された対象物の回転角度を特定するためのパターンマッチング処理に用いる回転モデルを生成する画像処理装置、生産システム、物品の製造方法、および画像処理方法に関する。
【背景技術】
【０００２】
ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）などの分野において、検出対象物であるワークの位置・姿勢を検出する方法として、画像の輪郭情報を用いた形状パターンマッチング（以下、パターンマッチングということがある）が知られている。
【０００３】
この種のパターンマッチング処理は、例えば、生産装置に供給された供給トレイ上に平置きされたワークの位置・姿勢（以下、位相とも呼ぶ）を計測するために使用されることがある。このような用途では、供給時点ではワークの姿勢が不揃いの状態で供給されることがあるため、計測時点でワークの向きは一定ではないことが多い。
【０００４】
この種のパターンマッチング処理で、対象物のワークの位相を検出する場合には、回転モデルを作成することがある。この回転モデルとは、ワークを一定角度刻みで回転させた場合の各角度のモデルエッジ画像の集合である。モデルエッジ画像は、探索対象となるワークを撮影した画像にエッジ抽出処理を適用してワークの輪郭をエッジとして抽出することで作成する。探索を行う際には、例えば各角度の回転モデルを用いて順に探索を行い、最も類似度の高いスコアが得られた角度をワーク検出結果として算出する。
【０００５】
旧来では、ワークの位相計測に用いられる回転モデルはワークあるいはカメラを所定角度刻みで回転させ、各角度の位置において対象ワークを撮影し、撮影された画像を使用して各角度のモデルエッジ画像作成を行うことにより作成していた。各角度でのモデルエッジ画像作成では、撮影された画像にエッジ抽出処理を適用した結果をディスプレイに表示させ、作業者が表示画像上でモデルとして使用したいエッジを選択する、といった作業が行われる。このように、従来では、ワークの位相計測に用いられる回転モデルの作成は、作業者の関与が少なからず要求され、手間のかかるものであった。
【０００６】
しかも、パターンマッチングにおける位相計測では、要求される角度分解能で回転モデルを作成する必要がある。高精度に位相を計測するためには、非常に細かい角度刻みで回転モデルを作成する必要があり、この場合にはモデルエッジ画像作成を行う回数が多くなり、作業者の負担が大きくなるという問題があった。
【０００７】
この点に鑑み、回転モデルを作成する場合、ある角度（位相）で作成したモデルエッジ画像をアフィン変換することにより、各回転角度（位相）に応じたモデルエッジ画像を生成する方法が提案されている（例えば下記の特許文献１）。この手法によると、作業者は一度だけモデルエッジ画像作成を行うだけで回転モデルを作成でき、回転角度の刻み量が小さくても手間をかけずに回転モデルを作成できるというメリットがある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平８−２４０４１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１の技術のように、アフィン変換により複数の回転モデルを作成する方法には以下のような問題がある。例えば、アフィン変換を用いると、ある一つの基準となるモデルエッジ画像を回転させて各角度のモデルエッジ画像を生成するため、回転成分を除いたエッジの形状は、各回転モデルで角度（位相）によらず同一形状となる。
【００１０】
一方、実際の測定で撮影される被探索画像では、対象物であるワークの位相が変化すると、例えば照明との位置関係が変化することにより照明条件が変化するため、撮影されるエッジの形状は、ワークの角度（位相）に応じて変化する。
【００１１】
そのため、アフィン変換で作成した回転モデルでパターンマッチングを行う場合には、基準となるモデルエッジ画像を作成した角度とは異なる角度では、モデル画像と被探索画像のエッジ形状が異なるものになる。そのため、パターンマッチングの精度が低下したり、パターンマッチングが失敗したりする可能性がある。
【００１２】
本発明の課題は、上記の事情に鑑み、対象物の回転角度を求めるパターンマッチングを行うための回転モデルの生成において、回転角度に応じた適切なエッジ形状をもつ回転モデルを効率よく、容易に生成できるようにすることにある。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、本発明においては、パターンマッチング処理に用いる回転モデルを生成する画像処理装置において、互いに異なる回転角度を有する複数のモデルエッジ画像が、回転角度に応じて複数のクラスのいずれかにクラス分けされた基準回転モデルを作成する基準回転モデル生成工程と、特定の回転角度を持つよう対象物を撮影した更新用画像を用い、前記基準回転モデルのクラスのうち、前記特定の回転角度を含むクラスにクラス分けされている少なくとも１つのモデルエッジ画像のモデルエッジを更新する基準回転モデル更新工程と、を含む画像処理を実行する制御装置を備えた構成を採用した。
【発明の効果】
【００１４】
上記構成によれば、対象物の回転角度を求めるパターンマッチングを行うための回転モデルの生成において、回転角度に応じた適切なエッジ形状をもつ回転モデルを効率よく、容易に生成することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係るロボットシステムの概略構成を示した説明図である。
【図２】図１のロボットシステムの制御系の構成を示したブロック図である。
【図３】（ａ）〜（ｅ）は図１のロボットシステムにおけるワークおよびエッジ抽出の様子を示した説明図である。
【図４】本発明の実施形態に係る回転モデル生成を含むパターンマッチングの事前処理の制御手順を示すフローチャート図である。
【図５】図４の基準回転モデル生成に係る制御手順を詳細に示すフローチャート図である。
【図６】本発明の実施形態に係る基準回転モデル生成の手順を示すもので、（ａ）は参照画像（原画像）、（ｂ）はノイズエッジが含まれたエッジ画像、（ｃ）は基準モデルエッジ画像、（ｄ）は基準回転モデルをそれぞれ示す説明図である。
【図７】図４のクラス内モデルエッジ画像更新処理の制御手順を詳細に示すフローチャート図である。
【図８】（ａ）〜（ｇ）は本発明の実施形態に係るクラス内モデルエッジ画像更新処理の様子を示した説明図である。
【図９】本発明の実施形態に係るエッジ間距離算出の手法を示した説明図である。
【図１０】本発明の実施形態に係るパターンマッチングを用いた探索処理の制御手順を示したフローチャート図である。
【図１１】本発明の実施形態に係るロボットシステムを用いた製造ラインの制御手順を示したフローチャート図である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【００１７】
以下では、ワークを操作するロボットアームを備えたロボット装置、あるいはそのロボット装置を含む生産システム（生産ライン）を考える。このロボット装置は、視覚系として、操作ないし製造の対象物としてのワークや、ロボットアームを撮影できるカメラ（撮影装置）を備える。そして、このカメラで撮影した被探索画像から得た被探索エッジ画像と予め生成した回転モデルとのパターンマッチングに基づき、対象物（としてのワーク）を被探索画像中から探索する。そして、この探索結果に基づき、ロボットアームが制御される。ロボットアームは、例えばワークの組立てや加工などのワーク操作を行うことにより、このロボットアームによって工業製品、あるいはその部品など各種の物品の製造を行うことができる。
【００１８】
＜装置の構成＞
本実施形態のロボット装置１は、図１に示すように、上記のパターンマッチングに用いる被探索画像を撮影するカメラ２、ロボットアーム３、ロボットアーム３およびカメラ２を制御する制御装置４と、を備えている。ロボットアーム３が部品を製造するために操作するワーク６は、例えば供給トレイ７上に配置されている。
【００１９】
制御装置４は、本発明に係る演算部であって、例えばＣＰＵ５０のハードウェアおよびソフトウェアにより実装することができる。本実施形態の場合、制御装置４は、ロボットアーム３の動作を制御するロボット制御部５４（図２）、およびパターンマッチング演算部５５（図２）を備えている。即ち、本実施形態では、制御装置４は、ロボットアーム３（製造装置）を制御するロボット制御装置ないし製造制御装置であるとともに、パターンマッチングによる対象物の探索工程を実行する画像処理装置を兼ねている。ただし、ロボットアーム３を制御するロボット制御装置ないし製造制御装置がパターンマッチングに係る処理を行う制御装置を兼ねる構成は本発明の実施に必須なものではない。
【００２０】
例えば、パターンマッチングには、ワーク６を撮影して得た画像から予め生成した回転モデルが用いられる。本実施形態では、後述する回転モデルの生成も、制御装置４のパターンマッチング演算部５５によって行われるものとして説明する。しかしながら、回転モデルの生成処理は、例えばロボット制御装置とは、別の画像処理端末を用いて行われるものであってもよい。
【００２１】
図１のロボット装置１では、ロボットアーム３の操作の対象物であるワーク６をカメラ２で撮影する。そして撮影された被探索画像に対してパターンマッチング処理を行い、目的のワーク６を探索、即ち、位置・位相を計測し、その計測結果を用いてロボットアーム３にワーク６を操作させる。このワーク６の操作は、例えば、供給トレイ７にあるワーク６をロボットアーム３により把持して取り出す操作である。
【００２２】
ロボットアーム３はワーク６に対する操作が可能であり、制御装置４は、ロボットアーム３の動作およびカメラ２の撮影を制御することができる。
【００２３】
カメラ２は、例えば不図示のカメラ固定台を介して、ロボットアーム３の作業空間に固定的に配置される。カメラ２に関して、その撮影条件（画角、撮影距離）は、少なくとも本実施形態では、ワーク６が配置された供給トレイ７（の全体）を上方から撮影できるような条件（画角、撮影距離）が選択されているものとする。
【００２４】
ロボットアーム３は、例えば６軸の垂直多関節形式のアーム３１と、エンドエフェクタとしてハンド３２とを有している。なお、図１ではアーム３１として６軸、シリアルリンクの多関節アームを例示しているが、軸（関節）数は用途や目的に応じて適宜変更してもよく、また、リンクの結合方式は他の方式、例えばパラレルリンク方式などであってもよい。また、本実施形態では、エンドエフェクタとしてハンド３２を例示しているが、これに限定されることなく、ハンド３２に換えてワーク６を操作可能な任意のツールを用いることができる。
【００２５】
アーム３１は、６軸の垂直多関節形式で、７つのリンクと、これら各リンクを揺動または回動可能に連結する６つの関節とを備えている。説明を容易にするため、各リンクとしては、固定長のリンクを用いるものとするが、例えば、一部ないし全部のリンクが直動アクチュエータにより伸縮可能なリンクであってもよい。
【００２６】
アーム３１の各関節には、図２に示すように、各関節を各々駆動するモータ８０と、モータ８０の回転角度を検知するロータリーエンコーダなどから成るエンコーダ８１と、が配置される。なお、簡略化のため、図２では、アーム３１の各関節のモータおよびエンコーダを代表する部材として、モータ８０およびエンコーダ８１はそれぞれ１ブロックによって図示してある。各関節のモータ８０およびエンコーダ８１と、制御装置４と、の間には、ＣＰＵ５０の制御に応じて、モータ８０およびエンコーダ８１を制御するモータ制御部８２が設けられている。
【００２７】
図１のように、ハンド３２は、アーム３１の先端に取り付けられており、アーム３１の動作により位置および位相の少なくとも一自由度を調整可能である。ハンド３２は、例えば少なくとも２本の指３２ａ（フィンガ）と、これらの指３２ａの間隔を開閉可能に支持するハンド本体３２ｂとを備え、指３２ａ同士が近接する動作（いわゆる閉動作）によりワーク６を把持することができるよう構成される。
【００２８】
図２に示すように、制御装置４は、例えば、マイクロプロセッサなどから成るＣＰＵ５０を制御主体とするコンピュータシステムとして構成される。制御装置４は、ＣＰＵ５０と、データを一時的に記憶可能なＲＡＭ（記憶部）５１と、各部を制御するプログラムを記憶するＲＯＭ５２と、を備える。また、制御装置４は、ロボットアーム３と通信するための入出力インターフェース５３（Ｉ／Ｆ）と、を備える。また、本実施形態では、制御装置４は、ロボット制御装置を構成するとともに、カメラ２で撮影した被探索画像から対象物（ワーク６）を探索するためのパターンマッチングを実行するパターンマッチング装置を兼ねている。
【００２９】
さらに、図２の制御系には、上記構成に加え、ディスプレイ、キーボード、ポインティングデバイスなどから成るＵＩ装置５９（ユーザーインターフェース）を接続することができる。ＵＩ装置５９は、画像処理の各工程に係る種々の処理条件を決定するために用いることができる。例えば、ＵＩ装置５９は、後述の事前処理の回転モデルの生成などにおいて、特定の画像中の部位を指定する、などの目的で利用することができる。
【００３０】
なお、本実施形態では、ロボット制御機能を含む制御装置４がパターンマッチング装置の機能を含んでいる。しかしながら、パターンマッチングによる対象物の探索、あるいは後述の回転モデルの生成を行う事前処理を実行する画像処理装置の部分は、ロボット制御機能を含む制御装置４とは別体の処理端末として配置されていてもよい。その場合、別体の処理端末には、例えば図２のロボット制御に係るブロック（５４、８０〜８２）が配置されていればよい。
【００３１】
ＲＯＭ５２は、後述するパターンマッチングプログラム５２ａや、ロボットアーム３の動作を制御するロボット制御プログラムや、その他のＣＰＵ５０が行うワーク６の位置位相演算に関する演算プログラムなどを格納する。ＲＯＭ５２に格納されたデータは、不揮発性を有し、ＣＰＵ５０からの書き込みや消去を除き、制御装置４の電源がオフ状態にされても保持される。ＲＡＭ５１は、後述する被探索エッジ画像５６や、回転モデル５７等のＣＰＵ５０にて処理中のデータを一時的に記憶する。
【００３２】
なお、後述の制御手順を実現するためのＣＰＵ５０の制御プログラムは、不図示のＨＤＤやＳＳＤなどの外部記憶装置、ＲＯＭ５２（例えばＥＥＰＲＯＭ領域）のような記憶部に格納しておくこともできる。その場合、後述の制御手順を実現するためのＣＰＵ５０の制御プログラムは、ネットワークインターフェースなどを介して、上記の各記憶部に供給し、また新しい（別の）プログラムに更新することができる。あるいは、後述の制御手順を実現するためのＣＰＵ５０の制御プログラムは、各種の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのためのドライブ装置を経由して、上記の各記憶部に供給し、またその内容を更新することができる。上述の制御手順を実現するためのＣＰＵ５０の制御プログラムを格納した状態における各種の記憶手段ないし記憶部は、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。
【００３３】
ＣＰＵ５０は、上記のようにロボットアーム３の動作を制御するロボット制御部５４や、パターンマッチング演算部５５を備えている。ロボット制御部５４は、ロボット制御プログラムの実行により、ロボットアーム３の動作を制御する。
【００３４】
後述するように、パターンマッチング演算部５５は、パターンマッチングプログラム５２ａの実行により、被探索エッジ画像５６と、回転モデル５７と、のパターンマッチング処理を行う。
【００３５】
＜ワーク＞
図３（a）は、供給トレイ７の上方に設置されたカメラ２の視点からワークを見た様子を模式的に表している。ワーク６は円柱形状であり、上方から見た場合、円形に見える。また、ワーク６の上面には台形状の溝部が設けられている。このような構成を有するワーク６の場合、この台形状の溝部によってワークの位相（例えばワーク載置平面における回転位置）を特定することができる。ただし、ワークの位相を規定する特徴はこれに限られず、例えばマークやビス、リベットなどの形状であってもよく、その形状や個数も台形に限られず、複数個の任意の形状であってもよい。
【００３６】
図３（ｂ）は、ワークの位相が０度のときに、ある撮影条件でカメラ２により撮影された画像に対してエッジ抽出処理を施した結果、抽出されたエッジを表している。なお、図３（ｂ）、（ｃ）、（ｄ）、（ｅ）における矩形は、カメラ２の撮影範囲（画角の外縁）を示している。図３（ｂ）では一例として、位相特徴部である台形の一部のエッジが抽出されていない状態を示している。図３（ｃ）、（ｄ）、（ｅ）は、ワークの位相が９０度、１８０度、２７０度の場合について同様にエッジ抽出を施した結果を表している。ワークの位相によってエッジ抽出に失敗している部分が異なり、位相特徴部のエッジ形状はワーク位相に応じて変化していることが判る。ただし、抽出に失敗したエッジと、カメラ２の撮影範囲（画角の外縁）との関係を考慮すると、この撮影条件では、主に撮影範囲の上半部に位置するエッジが抽出されていない、ということが判る。
【００３７】
このように、画角内の特定の領域で生じるエッジ抽出の失敗は、照明の配置位置や照明方向などの撮影条件に応じて起きることがある。例えば、ワークに対して均一に照明が当てられていない場合、被写体平面においてワークの回転位相が変化すると、ワーク上の各部分の照明条件が変化することになる。つまり、ワーク上のある位置に照射される照明光の方向や強度が変化し、照明条件が変化すると画像上の輝度値も変化する。
【００３８】
一方、エッジ抽出処理は、画像上で輝度値のコントラストが閾値よりも大きい場所をエッジとして抽出する。そのため、ワークの位相が変化するとワーク上の同じ場所であっても画像上での輝度値が変化し、それによりエッジ位置が変化したり、コントラストが低下してエッジが抽出されなくなったりする。以上のような理由により、ワークの位相変化に応じて現実に撮影された画像から抽出されるエッジの形状は変化する。
【００３９】
本実施形態の画像処理装置と、ロボット装置と、を備えた生産システムでは、供給トレイ７上に配置されたワーク６をカメラ２で撮影した被探索画像に対して回転モデルを用いてパターンマッチングを行う。そして、パターンマッチングでの探索結果に応じて、ロボットアーム３が制御され、探索されたワーク６に対する製造操作（組立、加工、塗装など）を行う。
【００４０】
回転モデルは、実際の製造工程でパターンマッチングによるワーク探索を行う前に、下記のような事前処理によって生成する。以下で説明する事前処理は、例えば、同じワーク６を配置した供給トレイ７が繰り返し交換されるように構成された生産ラインでは、下記の事前処理は実際の製造工程を開始する前に少なくとも１回実行する。
【００４１】
＜事前処理＞
以下、実際の探索処理に先立って、回転モデルを生成する事前処理の手順を図４のフローチャートに沿って説明する。回転モデルを生成し（ステップＳ１〜Ｓ５）、その後、パラメータ登録（ステップＳ６）を行って事前処理が終了する。まず初めに、基準回転モデルを生成する（ステップＳ１）。基準回転モデルは、例えば、従来の手法を用いてアフィン変換により生成される。以下、この基準回転モデル生成の手順について図５を参照して説明する。
【００４２】
まず、ワーク６とカメラ２の相対的な回転角度の関係を定めて（例えば０°）、参照画像１２（原画像：図６（ａ））を少なくとも１枚、撮影する（ステップＳ１１）。モデルエッジ画像を作成するためにカメラ２によりワーク６を撮影して画像を取得する（図６（ａ）参照）。この時、ワーク６は、当然ながら実際にロボットアーム３が実行する生産工程で用いるワークと同じものを用いる。
【００４３】
次に、参照画像１２に対してエッジ抽出（エッジ検出）処理を適用し、エッジ画像１３を生成する（ステップＳ１２、図６（ｂ））。ここでは、参照画像１２の画素ごとにエッジ強度およびエッジ方向を算出する。即ち、各画素において、エッジは強度と方向の要素を有するベクトルとして定義される。エッジ強度とは、コントラストの大きさを表し、注目画素に対し隣接する画素のコントラストが大きければ、当該注目画素のエッジ強度も大きくなる。エッジ方向とは、コントラストの方向を表し、注目画素のエッジ強度が最も大きくなる方向（角度）を示す。
【００４４】
また、エッジ強度の算出には、Ｘ軸方向及びＹ軸方向のソーベルフィルタを使用し、任意の画素でＸ軸方向のエッジ強度とＹ軸方向のエッジ強度とを算出する。そして、下式（数１）のように、エッジ強度を各軸方向のエッジ強度の二乗和の平方根で表す。
【００４５】
【数１】
2020173637.tif 000003
【００４６】
上式（数１）において、Ｉはエッジ強度、ｅｘはＸ軸方向のエッジ強度、ｅｙはＹ軸方向のエッジ強度を示す。なお、本実施形態では、エッジ強度の算出にソーベルフィルタを用いることを考えたが、これに限定されることなく、例えば、ラプラシアンフィルタやキャニーフィルタ等の周知のエッジ抽出フィルタを使用してもよい。また、エッジ方向の算出には下式を用いることができる。
【００４７】
【数２】
2020173637.tif 000004
【００４８】
上式（数２）において、θはエッジ方向、ｅｘはＸ軸方向のエッジ強度、ｅｙはＹ軸方向のエッジ強度を示す。以上のようにして、参照画像１２（図６（ａ））のエッジ強度ｅｘ、ｅｙエッジ方向θを算出することができる。そして、エッジ強度がある所定の閾値以上になった画素をエッジ特徴として抽出し、エッジ画像１３（図６（ｂ））を生成する。
【００４９】
エッジ画像のデータ保持方法は、エッジ画像１３の画素毎に２チャンネルのデータ領域を用意し、エッジ特徴として抽出された有効画素に関しては１チャンネル目にエッジ強度、２チャンネル目にエッジ方向の情報を格納しておく。エッジ特徴ではないと判断された画素には、１チャンネル目、ないし１、２チャンネル目の双方に無効値（例えば０）を入れておく。図６（ｂ）はこのようにして抽出されたエッジ画像を示しており、同図ではエッジ特徴の有効画素を暗色で表現し、無効画素を白色で表現している。
【００５０】
以上のように参照画像１２にエッジ抽出処理を適用して生成されたエッジ画像１３には、ワークの輪郭に相当するエッジ１５だけではなく、背景やワーク表面の陰影の影響で意図しないノイズエッジ１４が含まれていることが多い。そこで、このノイズエッジ１４をエッジ画像１３から除外する目的や、ワークの輪郭に相当するエッジの中からモデルとして使用するエッジを選択する目的でモデルエッジ選択を行う（ステップＳ１３）。
【００５１】
モデルエッジ選択（ステップＳ１３）では、ディスプレイに表示されたエッジ画像１３の中から、作業者がモデルとして使用したいエッジをマウスなどのＵＩ装置５９（図２）によりクリックし、選択する。このとき、作業者がクリックした位置に最も近いエッジが選択される。このような操作によって選択されたエッジのみを残し、選択されなかったエッジはエッジ画像から除外する。この画素の除外は、例えば、該当する画素値として上記の無効値を格納することなどによって行う。
【００５２】
以上のようにして、モデルとして使用したいエッジのみが有効となった基準モデルエッジ画像１６（図６（ｃ）：以下、単に「モデルエッジ画像１６」として言及する場合がある）が生成される。なお、ノイズエッジの除去は、上記のような作業者の手動操作によって行う他、適当なノイズフィルタ処理を利用できる場合には、そのノイズフィルタ処理を用いて自動的に行ってもよい。
【００５３】
以上のようにして、作成された基準モデルエッジ画像１６に対してアフィン変換処理を行うことで基準回転モデル１７を生成する（ステップＳ１４、図６（ｄ）：基準回転モデル生成工程）。アフィン変換に際し、作業者がキーボードなどのＵＩ装置５９によって開始角度、終了角度、角度ステップを設定する。また、このとき、基準モデルエッジ画像１６のうちの有効画素の外接する矩形や円の中心を回転中心として設定する。あるいは、この回転中心は、作業者がマウスなどのＵＩ装置５９によるクリックによって手動設定するようにしてもよい。開始角度から指定した角度ステップずつ増加させながら終了角度に達するまで回転角度φで基準モデルエッジ画像１６を回転させて各角度のモデルエッジ画像を生成する。図６（ｄ）では、開始角度が０°、終了角度が３６０°の場合に作成される基準回転モデル１７の様子を概念的に示している。
【００５４】
本実施形態では、全回転角度範囲（０°〜３６０°）に対して参照画像１２（原画像）を１枚撮影し、それを回転させて基準回転モデル１７の各モデルエッジ画像１６を生成することを考える。しかしながら、実撮影する参照画像１２（原画像）は、１８０°、９０°などの回転角度インターバルで、２枚、４枚程度、撮影するようにしてもよい。その場合、実撮影した参照画像１２（原画像）を１８０°、９０°などの回転角度範囲内のモデルエッジ画像を回転させて作成する。例えばワーク６と照明（不図示）との位置関係によって、１８０°、９０°のような回転角度差では、かなり異なるモデルエッジが抽出される可能性がある。そのため、環境によっては、原画像（参照画像１２）を２枚以上、１８０°、９０°などの回転角度インターバルで撮影し、それをその角度範囲で回転させて基準回転モデルの各モデルエッジ画像を作成するのが有利である可能性がある。
【００５５】
以上のようにして基準回転モデル１７が生成（図４のＳ１）された後、回転モデルのクラス分割（クラス分け）処理（ステップＳ２）を行う。この回転モデルのクラス分割（クラス分け）処理では、基準回転モデル１７の各モデルエッジ画像１６のそれぞれを、任意の回転角度範囲で分割された複数のクラスに振り分ける。このとき、基準回転モデル１７に含まれる各々のモデルエッジ画像は、モデルエッジ画像の回転角度が含まれる回転角度範囲に対応するクラスに振り分けられ、ラベル付けされる。
【００５６】
例えば、まず、作業者がＵＩ装置５９のキーボードなどによって分割数を指定する。次に、基準回転モデル１７の開始角度から終了角度までの角度を分割数によって均等に分割してクラス（グループ）分けする。そして、各角度のモデルエッジ画像に対して対象クラスのラベルを付ける。このように、本実施形態では、作業者が開始角度から終了角度までの角度をいくつのクラスに分けるかを設定するユーザーインターフェースを用意している。これにより、例えばロボットアーム３が行う物品の製造工程での作業内容などに応じて変化する撮影されるワーク６の回転角度の変動状況に適したクラス分割数を選択することができる。
【００５７】
なお、この処理例では、予め基準モデルエッジ画像１６を回転させて、基準回転モデル１７の全ての回転角度のモデルエッジ画像を生成（Ｓ１）してから、回転モデルのクラス分割（クラス分け）処理（Ｓ２）を行うようにしている。しかしながら、モデルエッジ画像の生成とクラス分割（クラス分け）処理の態様はこれに限定されない。基準回転モデル生成では、それぞれ異なる回転角度を有し、その回転角度が含まれる回転角度範囲に対応する複数のクラスのいずれかにクラス分けされた複数のモデルエッジ画像を含む基準回転モデルを作成できればよい。基準回転モデル生成工程は、例えば、原画像を１回、回転させて異なる回転角度の１つのモデルエッジ画像を作成し、それをあるクラスにクラス分割（クラス分け）する処理を順次繰り返すような構成であっても構わない。
【００５８】
また、この処理例では、基準回転モデル生成工程で用いる原画像の生成には、特定の回転角度を持つよう対象物を撮影した原画像に対してエッジ検出を行い、少なくとも１つのモデルエッジ画像を生成する手法を用いている。しかしながら、基準回転モデル生成工程で用いる原画像は実際に撮影したものでなくても構わない。例えば、ワーク６の設計データやＣＡＤデータから上記と同等の原画像のモデルエッジ画像を得られる場合には、それを回転させて基準回転モデル１７を構成するモデルエッジ画像群を生成してもよい。
【００５９】
続いて、ステップＳ３では、回転画像群の撮影を行う。この回転画像群の撮影では、ワーク６の角度を変えてカメラ２によりワーク６を撮影し、基準回転モデルの各モデルエッジを更新するための更新用画像を複数枚、取得する。この時、クラス分割処理（Ｓ２）で分割された各クラスが対応する角度に実際に撮影画像が少なくとも１枚ずつ属するように撮影を行う。例えば、クラス分割が０°から３６０°まで１０°刻みで３６クラスに分割されていた場合は、ワークの回転角度を５°、１５°、２５°…に順次変更しながら、それぞれの回転角度で、１０°刻みで３６枚の画像を撮影する。０°は参照画像を撮影した時のワーク位相が０°に相当する。
【００６０】
撮影時のワーク角度は正確に測る必要はなく、各クラスに少なくとも１枚ずつ属するように撮影されればよい。また、撮影時にはワークではなくカメラを回転させながら撮影してもよい。
【００６１】
次に、図４のステップＳ４として示したループ処理によって、クラス内モデルエッジ画像更新（ステップＳ５）を回転画像群の回転画像数分繰り返し、基準回転モデル１７のモデルエッジ画像を更新する。
【００６２】
このクラス内モデルエッジ画像更新（ステップＳ５）では、基準回転モデル１７と回転画像（更新用画像）を用いて、対象クラス内の各角度のモデルエッジ画像を更新する。回転画像（更新用画像）を各クラスに画像が１枚ずつ属するように撮影している場合には、ステップＳ４の繰り返し処理を行うことにより、基準回転モデル１７の全クラスのモデルエッジ画像が更新される。以下では、図７を参照してクラス内モデルエッジ画像更新の手順につき説明する。
【００６３】
まず、回転画像（更新用画像）を被探索画像として基準回転モデル１７を用いて、パターンマッチングを行う（ステップＳ５１）。パターンマッチングにより検出された角度から基準回転モデル１７の更新対象クラスを特定する。図８（ａ）ではパターンマッチングによって被探索画像７０の中からワーク６の位置位相を計測した結果を用いて特定したモデルエッジ７１の位置、姿勢（回転位置）を補正する様子を表している。
【００６４】
モデルエッジ７１は、基準回転モデル１７の各角度のモデルエッジ画像のうち、パターンマッチングにより検出された回転角度のモデルエッジ画像のことである。ステップＳ５１においてパターンマッチングに失敗した場合には、当該の更新対象クラスの更新処理が失敗したと判定し、そのクラスについては、それ以上のモデルエッジ画像の更新を中止し、次のクラス内モデルエッジ画像更新処理に移行する。この時、パターンマッチングに失敗した旨をＵＩ装置５９のディスプレイに警告表示する。
【００６５】
次に、エッジ抽出領域の生成を行う（ステップＳ５２）。モデルエッジ７１を分割して分割モデルエッジ７２とする（図８（ｂ））。このモデルエッジのエッジ分割では、エッジを直線とみなせるまで分割する。エッジは連続した画素の列とみなすことができるため、モデルエッジ画像の各画素が持つエッジ方向が急激に変化する点で分割することで、直線とみなせるエッジ成分に分割することができる。図８（ｂ）に示した分割モデルエッジ７２は、この直線に近似可能なエッジ成分を模式的に示したものである。続いて、図８（ｃ）のように、分割モデルエッジ７２を領域化した後、膨張させてエッジ抽出領域７３を生成する。ここでは、例えば分割モデルエッジ７２を取り囲む外側の画素を有効画素とすることなどにより、図示のようなエッジ抽出領域７３へ膨張させる。
【００６６】
その後、各エッジ抽出領域７３の内側で、実際に撮影した回転画像（更新用画像）に対してエッジ抽出を行う（ステップＳ５４）。図８（ｄ）はこのエッジ抽出の結果を示している。ここでは位相特徴部である台形の各辺のうち一辺でエッジが抽出されていない様子を表している。また、図８（ｅ）は図８（ｄ）の点線で囲んだ部分を拡大して示しており、抽出されたエッジ７６には位相特徴部の輪郭に相当するエッジ７６ａとノイズエッジ７６ｂが含まれている。
【００６７】
続いてこのノイズエッジ７６ｂを除去する処理（ステップＳ５５）を行う。ノイズ除去処理では、抽出されたエッジ７６と分割モデルエッジ７２との比較を行い、例えば、エッジの長さ、傾き、エッジ間距離について評価して当該のエッジがノイズエッジか否かを判定し、ノイズエッジと判定されたエッジを除去する。ここで、エッジ長さは、エッジ端点間の距離として算出する。抽出されたエッジ７６と分割モデルエッジ７２とでエッジ長さを算出して比較し、例えば、分割モデルエッジ７２の長さの１／４以下の抽出エッジはノイズエッジとして判定する。なお、エッジ長さの算出方法はこれに限られるものではなく、例えば隣り合うエッジ点間距離の合計値として算出してもよい。
【００６８】
また、エッジ傾きは、エッジ端点間を結ぶ直線が画像ｘ軸方向と成す角度として算出する。抽出されたエッジ７６と分割モデルエッジ７２とでエッジ傾きを算出して比較し、例えば分割モデルエッジと傾きの差が４５度以上の抽出エッジはノイズエッジとして判定する。なお、エッジ傾きの算出方法はこれに限られるものではなく、例えばエッジに対して直線フィッティングを行って直線を推定し、その直線が画像ｘ軸方向となす角度として算出してもよい。
【００６９】
エッジ間距離は、図９に示すように、抽出されたエッジ７６の２つの端点から分割モデルエッジ７２までの距離７８、７９をそれぞれ算出する。このとき、分割モデルエッジ７２に対して直線フィッティングを行い、点と直線の距離としてそれぞれの距離７８、７９を算出し、それらの距離の平均値をエッジ間距離として算出する。そして、例えばエッジ間距離が５画素以上離れている抽出エッジはノイズエッジとして判定する。なお、エッジ間距離の算出方法はこれに限られるものではなく、例えば抽出されたエッジ７６と分割モデルエッジ７２の各重心点間距離として算出してもよい。以上のようにしてエッジ長さ、エッジ傾き、エッジ間距離に基づいてノイズエッジ判定を実施し、ノイズエッジと判定されたエッジを除去する。
【００７０】
各エッジ抽出領域７３でエッジ抽出（ステップＳ５４）とノイズ除去処理（ステップＳ５５）を繰り返し（ステップＳ５３）、最後に、各エッジを結合する（ステップＳ５６）。結合は、ステップＳ５４、Ｓ５５で抽出されたエッジ同士を端点が近いものから結合していき、すべてのエッジが結合されるまで繰り返し、更新モデルエッジ７７を作成する（図８（ｆ））。最後に、更新モデルエッジ７７をアフィン変換して、対象クラス内の各角度のモデルエッジ画像７８０を生成し、元のモデルエッジ画像と入れ替えることでモデルエッジ画像を更新する（ステップＳ５７、図８（ｇ））。以上のようにして基準回転モデル１７の中で対象クラスに属するモデルエッジ画像を更新する。クラス内のモデルエッジ画像については同一のエッジ形状となるが、角度が近いためエッジ形状の変化も小さく、実際のパターンマッチングでは精度よくパターンマッチング処理を行うことができる。
【００７１】
本実施形態では、位相特徴部である台形のエッジの一辺が更新によって削除された例を示した（図８（ｇ））。このように実際に撮影した回転画像に基づいてモデルエッジ画像を更新することで、実際のエッジ形状に適したモデルエッジ画像を持つ回転モデルに更新することができる。再び、図４の基準回転モデル更新のループ（Ｓ４）において、上記クラス内モデルエッジ画像更新を繰り返すことにより、基準回転モデル１７の全クラスのモデルエッジ画像を更新することができる。
【００７２】
全クラスのモデルエッジ画像更新が終了すると、図４のステップＳ６において、後程実行されるパターンマッチングによるワーク探索を行うのに必要なパラメータ登録処理を行う。ここでは、作業者が、パターンマッチングに必要な各種パラメータ、例えば、探索範囲や類似度閾値などの設定を行う。この類似度閾値は、例えば後述する類似度Ｒの値に応じてパターンマッチングを成功と判断するか否かを決定するための閾値である。
【００７３】
＜探索処理＞
次に、図１０のフローチャートを参照して、実際のパターンマッチングによるワーク探索の制御手順につき説明する。この探索は、例えば供給トレイ７に配置されたワーク６の位置、位相（回転角度）を特定するために行うことができる。そして、その探索結果に基づき、制御装置４は探索された位置・位相にあるワークを操作するようロボットアーム３を制御することができる。図１０の手順は、例えば、供給トレイ７に配置されたワーク６を撮影して被探索画像を取得し、ワークをパターンマッチングによって探索して、その位置・位相を取得するものである。
【００７４】
まず、ＣＰＵ５０のパターンマッチング演算部５５は、上記の事前処理で生成した回転モデルや、事前処理で登録した探索範囲、類似度閾値などのパラメータを入力する（ステップＳ７）。これにより、回転モデル５７は図２のようにＲＡＭ５１に格納されて利用可能な状態となる。
【００７５】
パターンマッチング演算部５５は、供給トレイ７上のワーク６をカメラ２で撮影させ（図１、図２）、パターンマッチングを行うための被探索画像を入力する（ステップＳ８）。
【００７６】
さらに、パターンマッチング演算部５５は、被探索画像に対して、上述したエッジ抽出処理（図５：ステップＳ１２）と同様の方法により、エッジ特徴を抽出し、被探索エッジ画像５６を生成する（ステップＳ９）。これにより、被探索エッジ画像５６は、図２のようにＲＡＭ５１に格納されて利用可能な状態となる。そして、パターンマッチング演算部５５は、回転モデル５７と、被探索エッジ画像５６とでパターンマッチングを行う（ステップＳ１０）。
【００７７】
パターンマッチングの手法としては、回転モデル５７に含まれる各角度のモデルエッジ画像の中心を被探索エッジ画像５６内部でピクセル単位で移動させる。そして、移動させた各位置で、被探索エッジ画像５６とモデルエッジ画像との類似度Ｒを下式（数３）により求める。
【００７８】
【数３】
2020173637.tif 000005
【００７９】
ここで、Ｒijφは、角度φのモデルエッジ画像の被探索エッジ画像５６内の中心位置（ｉ，ｊ）における類似度を、また、ｎはエッジの数を示す。また、θＩは被探索エッジ画像５６のエッジ方向、θＴはモデルエッジ画像のエッジ方向をそれぞれ示す。上式（数３）において、画像内の位置は、モデルエッジ画像の中心の被探索エッジ画像５６の内部の位置に相当する。また、上式（数３）における類似度Ｒの範囲は０〜１の実数範囲となるよう算出され、０が最も低い類似性、１が最も高い類似性を示す値となる。
【００８０】
パターンマッチング演算部５５は、回転モデル５７に含まれる全モデルエッジ画像に対して、被探索エッジ画像５６の中の探索範囲の全座標において上式（数３）により演算を実行する。そして、最も類似度Ｒの高かった位置の座標（ｉ，ｊ）と角度φを記憶しておく。最も類似度Ｒの高かった位置の座標（ｉ，ｊ）と角度φを、被探索エッジ画像５６のワーク６の検出位置（ｉ，ｊ）と位相φとし、これに基づき被探索画像中でのワーク６の検出位置、位相（回転角度）を算出する。ただし、最も高い類似度Ｒが類似度閾値より小さい場合、パターンマッチングは失敗したと判定して、エラーを出力してパターンマッチング処理を終了する。
【００８１】
なお、ロボットアーム３を制御するための座標系に対するカメラ２の設置位置、画角、撮影距離は全て既知である。従って、被探索画像５６中で検出したワークの位置（座標値）は、適当な座標変換によって、ロボットアーム３を制御するための座標系における位置（座標値）に変換することができる。これにより、制御装置４は、カメラ２で撮影した供給トレイ７上のワーク６を操作するよう、ロボットアーム３を制御することができる。
【００８２】
なお、ロボットアーム３で同じ供給トレイ７とワーク６の組合せを取り扱う限り、生産ラインをオンラインで稼働させる前に少なくとも一度だけ事前処理で回転モデル生成を行えばよい。しかしながら、事前処理で回転モデル生成を行うタイミングはこれに限定されない。例えば、オンライン生産中にある一定のタイミングで回転モデル生成を実施してもよい。これにより、例えば経時的な環境光の変化やカメラ・照明の劣化による画質の経時的な変化に対応することができる。また、ワークのロット変更（ワークの一部の形状が変更されるなどのマイナーチェンジ）が行われる場合には、事前処理によって回転モデル生成を実施することができる。これにより、ロット変更によるワーク形状の微小な変化に対応し、正確かつ確実にロボットアーム３によりワークを操作して組み立てや加工などの処理を行い、工業製品、部品などの製造を行うことができる。
【００８３】
ここで、図１１にロボットアーム３を用いて、パターンマッチングを利用して工業製品、部品などの製造を行う制御の全体の手順を示しておく。
【００８４】
図１１のステップＳ６３では、ロボット教示と、前述の事前処理による回転モデルデータの生成を行う。このロボット教示では、例えば、作業者により、不図示のティーチングペンダントなどと呼ばれる端末を用いて教示点列を指示し、またハンドの開閉操作などを指示する作業が行われる。また、ロボット教示は、他のロボットプログラミング専用の端末を用いて行ってもよい。
【００８５】
ステップＳ６４では、上記のように供給トレイ７を撮影して被探索画像を取得する。そして、ステップＳ６５でパターンマッチングによるワーク探索を行い、その探索結果に基づきロボットアーム３の制御を行う（Ｓ６６）。
【００８６】
以上説明したように、本実施形態によれば、回転モデルを複数のクラスに分割し、実際にワークを回転させて撮影した回転画像を用いてクラス内のモデルエッジ画像を更新する。そのため、位相が不定なワークに対してパターンマッチングを行う場合に、ワークの角度に応じた適切なエッジ形状をもつ回転モデルを効率的に生成することができる。さらに、本実施形態によれば、パターンマッチングのための適切な回転モデルを生成できるため、例えばロボットアームを用いた生産ラインにおいて撮影した被探索画像に対して、パターンマッチングを利用して高精度なワーク探索が可能となる。このため、ロボットアームの動作を正確に制御でき、高効率かつ、高精度な部品、あるいは工業製品の製造が可能となる。
【００８７】
本実施形態の基準回転モデル生成工程と基準回転モデル更新工程によれば、パターンマッチングで必要な全ての回転角度のモデルエッジ画像について、旧来のような対象物の撮影と、撮影画像のエッジ抽出、ノイズ除去などの手作業を必要としない。実際の対象物の撮影は、例えば１０°程度の部分角度範囲を単位としてクラス分けされた１クラスについて少なくとも１回、あるいはさらに、基準回転モデル生成工程で回転させる原画像の撮影の１回のみで足りる。従って、パターンマッチングに用いる基準回転モデルのモデルエッジ画像を、簡単、かつ短時間で作成することができる。
【００８８】
そして、基準回転モデル更新工程によれば、１クラスについて少なくとも１枚、実際にその回転角度で撮影された更新用画像を用いて、基準回転モデル生成工程で原画像を回転させて生成した基準回転モデルを更新することができる。そのため、角度範囲のクラスに、その回転角度における実際の照明状態などの撮影条件と整合しないモデルエッジ画像があっても、そのモデルエッジ画像を実際の撮影条件において得られるのに近い画像に更新（補正）することができる。
【００８９】
なお、本実施形態によれば、基準回転モデル生成工程と、基準回転モデル更新工程と、によって自動的にパターンマッチングに用いる基準回転モデルのモデルエッジ画像が生成、更新される。このため、生成、更新された基準回転モデルのモデルエッジ画像の個々の実際のパターンマッチングにおける有用性にはばらつきがある可能性がある。そこで、モデルエッジ画像のパターンマッチングにおける有用性を判断して、有用性の低い、例えば特定の回転角度のモデルエッジ画像は実際のパターンマッチングで使用しないよう、無効化したり、再生成したりするようにしてもよい。
【００９０】
このモデルエッジ画像のパターンマッチングにおける有用性は、例えば、エッジ方向（例えば上式（数２））の標準偏差などを介して判断することが考えられる。例えば、エッジ方向（例えば上式（数２））の値の標準偏差を取り、標準偏差の値が小さいモデルエッジ画像はパターンマッチングにおける有用性が低く、標準偏差の値が大きいモデルエッジ画像はパターンマッチングにおける有用性が高い、と判断する。その場合、標準偏差の値が所定の閾値以下の場合には、例えば、そのモデルエッジ画像は実際のパターンマッチングで使用しないよう、無効化する制御を行う。あるいは、標準偏差の値が所定の閾値以下の場合には、そのモデルエッジ画像ないしそれが属する角度クラスを再生成、再更新するようにしてもよい。その場合、モデルエッジ画像の回転角度を取得し、その角度で実際に原画像を撮影し、エッジ抽出して得たモデルエッジ画像に置き換えてもよい。
【００９１】
本発明は、上述の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステムまたは装置に供給しそのシステムまたは装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９２】
１…ロボット装置、２…カメラ、３…ロボットアーム、４…制御装置、６…ワーク、７…供給トレイ、１２…参照画像、１３…エッジ画像、１６…基準モデルエッジ画像、１７…基準回転モデル、３２…ハンド、５０…ＣＰＵ、５１…ＲＡＭ、５２…ＲＯＭ、７７…更新モデルエッジ、８０…モータ、８１…エンコーダ、８２…モータ制御部。
【図１】
2020173637.tif 000006
【図２】
2020173637.tif 000007
【図３】
2020173637.tif 000008
【図４】
2020173637.tif 000009
【図５】
2020173637.tif 000010
【図６】
2020173637.tif 000011
【図７】
2020173637.tif 000012
【図８】
2020173637.tif 000013
【図９】
2020173637.tif 000014
【図１０】
2020173637.tif 000015
【図１１】
2020173637.tif 000016