説明

ワークの位置を求める画像処理装置

【課題】輪郭が不安定なワークを検出する際に、ワーク上に略同形の形状が複数存在している場合でもワークの誤認識を防ぐとともに、ワークの正確な位置姿勢を認識する画像処理装置を提供する。
【解決手段】鋳物部品等の輪郭が不安定なワーク7をパターンマッチングで認識する場合、まずワーク7の輪郭を認識して、その結果を使ってワーク上の所定部位8及び10を探索する範囲やパラメータを調整する。調整された探索範囲やパラメータを使ってワーク上の所定部位を認識することで、同形の形状が複数存在した場合でもワークの誤認識を防ぐとともに、ワークの正確な位置姿勢を認識することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処置装置に関し、特には、予め指定された対象物をカメラから得られた入力画像中から認識する機能を備えた画像処理装置に関する。
【背景技術】
【0002】
予め指定された対象物をカメラから得られた入力画像中から認識する画像処理装置は、FA(ファクトリーオートメーション)の分野で使用されるものが代表的である。このような画像処理装置は例えば、工業製品をカメラで撮像し、得られた画像中からその製品の位置や姿勢を認識して、ロボットでその製品をハンドリングする場合に使用される。
【0003】
このような製品(ワーク)の位置姿勢を求める画像処理装置としては、例えば特許文献1に記載されている、物体の輪郭を用いてワークの位置姿勢を認識するものが公知である。こうした画像処理装置を適用する際には、照明の変動や障害物による隠蔽といった環境の変動、あるいは、輪郭の形状誤差といった不確定な要素の影響がしばしば認識の妨げとなる。そこで、特許文献2に記載の技術は、認識する対象の全体パターンを、特徴的な部分の局所パターンとそうでない部分との連結パターンに分け、認識する対象を含む画像から局所パターンを認識し、その部分の情報を基にして全体パターンの変形(位置、回転、スケール変動)を推定することにより、上述の問題の解決を図っている。
【0004】
【特許文献1】特開昭60−258689号公報
【特許文献2】特開2003−216931号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ワークの輪郭が安定している場合には、特許文献1で示されている画像処理装置等でも、比較的安定してワークを認識することができる。ここで、例えばワークが鋳物部品の場合、同一の金型を使って製造するロットではワークの輪郭の個体差は小さいが、金型を変更して別に製造するロットではワークの輪郭に個体差が発生するため、適切に認識できない虞がある。このような場合、特許文献2で示された技術を使えば、ワーク上の加工箇所等の、図面上で位置が決められているワークの部分的な特徴箇所を認識対象として選択することで、全体の位置を決定することができる。しかし、こうしたワーク上の加工箇所は、丸穴など比較的単純な形状になることが多く、同形の形状の箇所が複数存在することがしばしば起こる。このような場合には、同形の別の箇所を誤認識してしまう虞がある。
【0006】
そこで本発明は、略同形の形状のワークが複数存在している場合でもワークの誤認識を防ぐとともに、ワークの正確な位置姿勢を認識する画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、請求項1に記載の発明は、ワークを捉えた対象画像に画像処理を行って前記ワークの位置を求める画像処理装置であって、対象画像内において、パターンマッチングを用いてワークの輪郭からワークの位置を仮位置として認識する仮位置認識手段と、前記仮位置認識手段が認識したワークの仮位置に基づいて、該ワーク上の所定部位を探索する範囲又はパラメータを調整して該ワーク上の所定部位の位置を認識する所定部位認識手段と、前記仮位置と、前記所定部位認識手段が認識した所定部位の位置とからそれらの相対位置関係を求める相対位置計算手段と、基準となるワークについて、前記相対位置計算手段が求めた前記相対位置関係を記憶する記憶手段と、前記基準となるワークについて求めた相対位置関係と、認識対象ワークについて前記相対位置計算手段が求めた相対位置関係とに基づいて、前記認識対象ワークの輪郭から認識された仮位置を、該ワーク上の所定部位によって表現される本来の位置に変換するための調整量を求める調整量計算手段と、前記調整量計算手段が求めた調整量を、前記認識対象ワークの仮位置に乗じることにより、前記認識対象ワークの位置姿勢を求める位置姿勢計算手段と、を備えたことを特徴とする画像処理装置を提供する。
【0008】
請求項2に記載の発明は、請求項1に記載の画像処理装置において、対象画像内において、パターンマッチングを用いてワークの輪郭から該ワークの位置及び角度、スケール、扁平率を認識する手段をさらに備え、前記所定部位認識手段は、ワークを仮に認識した位置と、該ワークの角度、スケール及び扁平率の少なくとも1つとに基づいて、該ワーク上の所定部位を探索する範囲又はパラメータを調整して該ワーク上の所定部位の位置を認識する、画像処理装置を提供する。
【0009】
請求項3に記載の発明は、請求項1又は2に記載の画像処理装置において、ワーク上の所定部位は1点以上であり、前記認識対象ワークの認識された位置に対する調整量が位置又は角度である、画像処理装置を提供する。
【0010】
請求項4に記載の発明は、請求項1又は2に記載の画像処理装置において、ワーク上の所定部位は2点以上であり、前記認識対象ワークの認識された位置に対する調整量が位置及び角度である、画像処理装置を提供する。
【0011】
請求項5に記載の発明は、請求項1又は2に記載の画像処理装置において、ワーク上の所定部位は3点以上であり、前記認識対象ワークの認識された位置に対する調整量が位置、角度、スケール及び扁平率である、画像処理装置を提供する。
【発明の効果】
【0012】
本発明に係る画像処理装置によれば、先ずワークの輪郭を認識して、その結果を使ってワーク上の所定部位を探索する範囲やパラメータを調整し、さらに調整された探索範囲やパラメータを使ってワーク上の所定部位を認識することにより、同形の形状が複数存在した場合でもワークの誤認識が防止され、ワークの正確な位置姿勢が認識可能となる。従って、鋳物部品のように輪郭が不安定なワークであっても、安定してその位置を認識することができる。また、ワーク上の所定部位を認識する前に、ワークの輪郭を認識し、ワーク輪郭から得られた認識結果を用いて、ワーク上の所定部位を認識するので、所定部位と同形の箇所が複数存在しても、誤認識することがない。
【発明を実施するための最良の形態】
【0013】
図1は、本発明に係る画像処理装置の一実施形態の構成を示すブロック図である。パーソナルコンピュータ等のコンピュータによって実現可能な画像処理装置1は、カメラ2による撮像画像を入力とし、所定の画像処理を行い、認識対象であるワーク(後述)の位置姿勢を求める画像処理部3と、画像処理部3による画像処理に使用されるデータを蓄積・記憶するデータ格納部5とを備えている。画像処理部3の処理結果は、モニタ4に出力することができる。また、画像処理装置1の処理結果は、ロボット6に送られる。ロボット6は付属のコントローラ(図示省略)により、画像処理部3で計算された認識対象ワークの位置姿勢データに基づいて、該ワークを把持するように制御される。
【0014】
図2は、カメラ2によって撮像された、認識対象ワークの一例である鋳物物品7の画像の一例を示す。図示例の鋳物物品7は、自動車のエンジンに使用される部品であって、後述する部位8及び10を含む複数の開口部を有している。鋳物部品すなわちワーク7の外形の輪郭は、実際には個体差によるばらつきがあり、この輪郭だけでワーク7の位置姿勢を認識しようとすると、意図的に画像の分解能を下げて細部の違いを考慮しない(無視する)画像処理をする等の工夫が必要となる。しかし、このような工夫によって認識自体はできるようになったとしても、細部の違いを考慮しないため、同一のワークに対する認識結果が各回毎に異なる可能性がある。
【0015】
図3は、ワーク7の外形の輪郭を用いてワーク7の位置姿勢を認識しようとした際に、ワーク7の輪郭の変化によりワーク7の位置姿勢が変わることを説明する図である。ワーク7の位置姿勢11はワークの輪郭が実線の時のワークの位置姿勢であり、ワークの位置姿勢12はワークの輪郭が点線の時のワークの位置姿勢である。なお図3の例では、ワーク7の位置を表す点の例として重心を使用し、該重心の位置がワークの輪郭の変化によって変化する様子を示している。但し一般的には、ワークの輪郭の変化によってワークの位置だけでなく姿勢も変化する場合もある。
【0016】
一方、ワーク7は、加工時や組立時等にワーク7の位置を特定する際のポイントとなる部位8及び部位10を、例えば予め加工された基準穴として有している。図3に例示したように、ワークの外形の輪郭でワークの位置姿勢を認識しようとすると、ワークの位置姿勢はワークの輪郭の変化により変わるが、部位8や部位10のような箇所は、ワークの外形の輪郭が変化しても位置が変わらない。そこで、この部位8及び部位10を使って鋳物部品7の位置姿勢を正確に認識する手順を本発明の実施例として説明する。
【0017】
先ず、教示作業として、鋳物部品7の基準ワークを用意し、認識するモデルの設定を行う。図4は、その処理の流れを示すフローチャートである。
先ずステップTS0において、カメラを用いて基準ワークを含む画像を撮像する。次にステップTS1において、パターンマッチングにより、認識するモデルとして基準ワークの外形の輪郭を設定し、基準ワークを認識する際に探索する範囲と、認識するためのパラメータとを調整する。パラメータとして、角度やスケール、扁平率等が挙げられる。
【0018】
ステップTS2において、ステップTS1で設定したモデルを使って基準ワークを認識する。認識した基準ワークでの結果を、W1としてデータ格納部5に記憶する。基準ワークを認識した結果W1は、基準ワークの位置、角度、スケール、扁平率のデータを含んだ次式(1)で表すことができる。
【0019】
【数1】

【0020】
式(1)において、x、yは基準ワークの検出位置、r11〜r22は基準ワークの角度、スケール、扁平率を表す。基準ワークの位置(W1.Trans)はx、yを用いて式(2−1)によって表され、基準ワークの角度(W1.Ang)、(W1.Scale)及び扁平率(W1.Aspect)は、r11〜r22を用いてそれぞれ次式(2−2)、(2−3)及び(2−4)によって表すことができる。
【0021】
【数2】

【0022】
ステップTS3において、さらに、パターンマッチングで認識するモデルとして基準ワーク7上の部位8及び部位10をそれぞれ設定し、部位8及び部位10が認識できるように探索する範囲や、角度、スケール及び扁平率といったパラメータを調整する。図5は、所定部位を探索する範囲の設定例を示す。探索範囲13は基準ワーク7上の部位8を探索する範囲であり、探索範囲14は基準ワーク7上の部位10を探索する範囲である。図5に示すように、所定部位を探索する範囲からは、同形のものなど誤認識しやすい対象が含まれる可能性のある箇所を除外しておくことが好ましい。例えば、鋳物部品の部位8を探索する際、部位8に近い形状を有する部位9の周辺も探索する範囲に含まれていると、部位9の位置を部位8として誤認識する恐れがある。
【0023】
ステップTS4において、ステップTS3で設定したモデルを使って基準ワーク上の部位8及び部位10の位置を認識する。ここで認識した基準ワーク上の部位8の位置をP1、部位10の位置をP2としてデータ格納部5に保存する。ここで、P1及びP2は、次式(3)で示される検出位置を表すものである。
【0024】
【数3】

【0025】
ステップTS5において、ステップTS2で認識した基準ワークの検出位置(W1.Trans)と基準ワーク上の部位8の位置(P1)及び部位10の位置(P2)の相対位置関係を計算してデータ格納部5に記憶する。相対位置関係REFは次式(4)で計算される。
【0026】
【数4】

【0027】
次に実行時の処理の流れを、図6のフローチャートを用いて説明する。まず、ステップRS0において、カメラを用いてワークを含む画像を撮像し、ステップRS1においてワークの輪郭からワークの仮位置を認識する。認識した結果をW1’とすると、W1’は、基準ワークで認識した結果W1と同様に、ワークの位置、角度、スケール、扁平率のデータを含んだものであり、次式(5)で表すことができる。
【0028】
【数5】

【0029】
ステップRS2において、ステップTS2で記憶された基準ワークの認識結果(W1)とステップRS1におけるワークの認識結果(W1’)とを使って、次のステップRS3で必要とするワーク上の所定部位の探索範囲やパラメータを調整する。ステップTS3で設定したワーク上の部位8の探索範囲をS1とし、それに対応するステップRS3の探索範囲S1’を求める方法を以下に示す。探索範囲S1は、次式(6−1)〜(6−4)でそれぞれ規定される4点A〜Dを頂点とする矩形として表すことができる。
【0030】
【数6】

【0031】
ここでPoは原点から探索範囲のコーナーへのベクトル、Vxは該コーナーから矩形の長辺に沿った方向ベクトル、Vyは矩形の短辺に沿った方向ベクトルを表す。ステップRS3で使用する探索範囲S1’を求めるには、A〜Dに対応する頂点A’〜D’を求めればよい。そのための計算式を次式(7−1)〜(7−8)に示す。なお以下、演算子「×」は行列同士の乗算を表すものとする。
【0032】
【数7】

【0033】
図7は、実行時に計算された探索範囲の一例を示す図である。探索範囲15はワーク7上の部位8を探索する範囲であり、探索範囲16はワーク7上の部位10を探索する範囲である。ワークの位置に応じて、ワーク上の所定部位を探索する範囲が調整される。
【0034】
また、ステップTS3において、ワーク上の部位8を角度がAng_MAXからAng_MIN、スケールがScale_MAXからScale_MIN、扁平率がAspect_MAXからAspect_MINの範囲にあるワークを認識するように設定したとすると、ステップRS3で使用するパラメータは次式(8−1)〜(8−9)で計算される。
【0035】
【数8】

【0036】
ここで、W1'.AngはW1'の角度、W1'.ScaleはW1'のスケール、W1'.AspectはW1'の扁平率を表す。
【0037】
ワーク上の部位10においても同様の処理を行ない、部位10の探索範囲及びパラメータを調整する。
【0038】
ステップRS3において、ステップRS2で求めたパラメータを使ってワーク上の部位8及び部位10の位置を認識する。ここで認識したワーク上の部位8の位置をP1’、部位10の位置をP2’とする。P1’及びP2’は、次式(9)で示す検出位置を表すものである。
【0039】
【数9】

【0040】
ステップRS4において、ワーク認識位置の調整量Tを求める。調整量Tは、ワークの外形から認識した仮位置を、ワーク上の部位8や部位10などによって表現される本来の位置に変換するための量であり、ワークの外形が基準ワークのそれと全く同一だった場合には調整量Tは単位行列となり、仮位置の変換は行われない。調整量Tは、次式(10)で表すものとする。
【0041】
【数10】

【0042】
調整量Tを求めるためには、先ず次式(11−1)、(11−2)に示される値を計算する。
【0043】
【数11】

【0044】
ここで、ACTとREFとの間には次式(12)に示す関係が成り立つ。
【0045】
【数12】

【0046】
上式(12)を満足する値a〜fを計算し、ワーク認識位置の調整量Tを求める。調整するのが位置と姿勢の場合は、次式(13−1)〜(13−3)に示すような条件が存在する。
【0047】
【数13】

【0048】
上記条件を満たすa〜fを求めれば、調整量Tが定まる。このTを用いた次式(14)により、仮位置W1’を本来の位置W1”に変換することができる。
【0049】
【数14】

【0050】
仮位置W1’に調整量Tを乗じる理由は、後述するようにTの求め方を変えるだけで位置姿勢の調整だけでなく、位置だけの調整や姿勢(角度)だけの調整などに対応できることである。例えば、ワークが鋳物であってその形状にばらつきがあり、おおよその位置姿勢は外形から把握可能であるが、正確な位置はワーク所定部位に頼りたい、しかし所定部位として利用可能な部位は丸穴一箇所のみ(すなわち角度を確定させることはできない)、従って正確な位置を所定部位(丸穴1箇所)で調整し、姿勢(角度)についてはワーク外形から求められる姿勢をそのまま用いたい、という場合を考える。このような場合、後述する位置のみを調整する量としてTを求めることで、こうした場合に柔軟かつ容易に対応することができる。
【0051】
さて上記にてワーク上で検出する所定部位が2点でワークの位置姿勢を調整する量を計算する方法について説明したが、ワーク上の所定部位が1点の場合には、次の制約条件を付加して位置又は角度のみを調整する量を計算する。具体的には、位置だけを調整する場合、次式(15−1)、(15−2)が制約条件となる。
【0052】
【数15】

【0053】
一方、角度だけを調整する場合、次式(16−1)〜(16−4)が制約条件となる。
【0054】
【数16】

【0055】
また、ワーク上で検出する所定部位が3点以上の場合、ワークの位置姿勢だけでなく変形量(スケールや扁平率の変化)を計算することができる。3点以上の場合は、式(12)は次式(17−1)、(17−2)のように変形できる。
【0056】
【数17】

【0057】
従って、次式(18)によりa〜fを計算することができる。
【0058】
【数18】

【0059】
ここで、REFi.x及びREFi.yはそれぞれREFiのx方向及びy方向成分を表し、ACTi.x及びACTi.yはそれぞれACTiのx方向及びy方向成分を表している。
【0060】
ステップRS5において、ステップRS4で計算した調整量Tを、ステップRS1でワークを認識した結果W1’に乗じて、鋳物部品7の位置を正確に認識した結果W1”を得る。この際、計算式は式(14)を用いることができる。
【0061】
上述のような鋳物部品等の輪郭が不安定なワークをパターンマッチングで認識する場合、認識対象としてワークの輪郭を設定すると正確な位置が得られない。そのため、加工穴のようなワークの所定部位(ワークの位置を表現する要となる部位)を認識対象として設定する方法がとられるが、そうした対象は、往々にして形状が単純であり、同形の形状が複数存在して、誤認識を招くという問題があった。そこで本発明では、まずワークの輪郭を認識して、その結果を使ってワーク上の所定部位を探索する範囲やパラメータを調整する。調整された探索範囲やパラメータを使ってワーク上の所定部位を認識することで、同形の形状のワークが複数存在している場合でも、ワークの誤認識を防ぐとともに、ワークの正確な位置姿勢を認識することができる。
【図面の簡単な説明】
【0062】
【図1】本発明に係る画像処理装置の一実施形態の概略構成を示すブロック図である。
【図2】カメラで撮像して得られる画像の一例を示す図である。
【図3】ワークの輪郭の変化によりワークの重心が変わることを説明する図である。
【図4】教示時の処理の手順を示すフローチャートである。
【図5】ワークの各所定部位の探索範囲の設定例を示す図である。
【図6】実行時の処理の手順を示すフローチャートである。
【図7】実行時におけるワークの所定部位の探索範囲が、ワークの位置に応じて調整される例を示す図である。
【符号の説明】
【0063】
1 画像処理装置
2 カメラ
3 画像処理部
4 モニタ
5 データ格納部
6 ロボット
7 ワーク
8、9、10 部位
11、12 重心
13、14、15、16 探索範囲

【特許請求の範囲】
【請求項1】
ワークを捉えた対象画像に画像処理を行って前記ワークの位置を求める画像処理装置であって、
対象画像内において、パターンマッチングを用いてワークの輪郭からワークの位置を仮位置として認識する仮位置認識手段と、
前記仮位置認識手段が認識したワークの仮位置に基づいて、該ワーク上の所定部位を探索する範囲又はパラメータを調整して該ワーク上の所定部位の位置を認識する所定部位認識手段と、
前記仮位置と、前記所定部位認識手段が認識した所定部位の位置とからそれらの相対位置関係を求める相対位置計算手段と、
基準となるワークについて、前記相対位置計算手段が求めた前記相対位置関係を記憶する記憶手段と、
前記基準となるワークについて求めた相対位置関係と、認識対象ワークについて前記相対位置計算手段が求めた相対位置関係とに基づいて、前記認識対象ワークの輪郭から認識された仮位置を、該ワーク上の所定部位によって表現される本来の位置に変換するための調整量を求める調整量計算手段と、
前記調整量計算手段が求めた調整量を、前記認識対象ワークの仮位置に乗じることにより、前記認識対象ワークの位置姿勢を求める位置姿勢計算手段と、
を備えたことを特徴とする画像処理装置。
【請求項2】
対象画像内において、パターンマッチングを用いてワークの輪郭から該ワークの位置及び角度、スケール、扁平率を認識する手段をさらに備え、
前記所定部位認識手段は、ワークを仮に認識した位置と、該ワークの角度、スケール及び扁平率の少なくとも1つとに基づいて、該ワーク上の所定部位を探索する範囲又はパラメータを調整して該ワーク上の所定部位の位置を認識する、請求項1に記載の画像処理装置。
【請求項3】
ワーク上の所定部位は1点以上であり、前記認識対象ワークの認識された位置に対する調整量が位置又は角度である、請求項1又は2に記載の画像処理装置。
【請求項4】
ワーク上の所定部位は2点以上であり、前記認識対象ワークの認識された位置に対する調整量が位置及び角度である、請求項1又は2に記載の画像処理装置。
【請求項5】
ワーク上の所定部位は3点以上であり、前記認識対象ワークの認識された位置に対する調整量が位置、角度、スケール及び扁平率である、請求項1又は2に記載の画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−78513(P2010−78513A)
【公開日】平成22年4月8日(2010.4.8)
【国際特許分類】
【出願番号】特願2008−248730(P2008−248730)
【出願日】平成20年9月26日(2008.9.26)
【出願人】(390008235)ファナック株式会社 (1,110)
【Fターム(参考)】