JP2020077397A - Image processing method, image processing unit, production system, article manufacturing method, program, and storage medium - Google Patents
Image processing method, image processing unit, production system, article manufacturing method, program, and storage medium Download PDFInfo
- Publication number
- JP2020077397A JP2020077397A JP2019185678A JP2019185678A JP2020077397A JP 2020077397 A JP2020077397 A JP 2020077397A JP 2019185678 A JP2019185678 A JP 2019185678A JP 2019185678 A JP2019185678 A JP 2019185678A JP 2020077397 A JP2020077397 A JP 2020077397A
- Authority
- JP
- Japan
- Prior art keywords
- matching
- matching score
- image processing
- image
- score
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims description 80
- 238000004519 manufacturing process Methods 0.000 title claims description 52
- 238000003672 processing method Methods 0.000 title claims description 30
- 238000003860 storage Methods 0.000 title description 14
- 238000011156 evaluation Methods 0.000 claims abstract description 121
- 238000000034 method Methods 0.000 claims abstract description 62
- 238000007689 inspection Methods 0.000 claims abstract description 8
- 238000001514 detection method Methods 0.000 abstract description 67
- 238000004364 calculation method Methods 0.000 description 33
- 238000000605 extraction Methods 0.000 description 16
- 238000009826 distribution Methods 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000036544 posture Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
- Image Analysis (AREA)
Abstract
Description
本発明は、画像処理方法、画像処理装置、生産システム、および物品の製造方法、特に、パターンマッチングを用いた画像処理を利用する画像処理方法、画像処理装置、生産システム、および物品の製造方法に関する。 The present invention relates to an image processing method, an image processing apparatus, a production system, and an article manufacturing method, and more particularly to an image processing method, an image processing apparatus, a production system, and an article manufacturing method that utilize image processing using pattern matching. ..
画像処理の分野において、検出対象物体の位置を検出する方法として、パターンマッチングがよく知られている。パターンマッチングを行うには、検出対象となる物体の参照情報として、理想状態で検出対象物体を撮像した参照画像が用いられる。この参照画像は、モデル、テンプレートなどと呼ばれることがある。この参照画像から検出対象物体付近の領域のみを切り出し、パターンマッチングに用いるモデルを作成する。 In the field of image processing, pattern matching is well known as a method of detecting the position of a detection target object. In order to perform the pattern matching, a reference image obtained by imaging the detection target object in an ideal state is used as the reference information of the detection target object. This reference image is sometimes called a model, a template, or the like. Only a region near the detection target object is cut out from this reference image, and a model used for pattern matching is created.
実際の物体検出工程では、物体を検出するための被探索画像を撮像し、撮像した画像の各位置でモデルとの類似度を計算していく。この手法は、最も類似度の高かった画像の位置を検出位置とする、即ち、被探索画像の中からモデルと最も類似している位置を検出する方法である。 In the actual object detection step, a search target image for detecting an object is captured, and the degree of similarity with the model is calculated at each position of the captured image. In this method, the position of the image having the highest degree of similarity is set as the detection position, that is, the position most similar to the model is detected from the search target image.
上記の類似度を計算するために、複数の方法が知られており、輝度ベースで類似度を算出する輝度値差分法(SAD)、正規化相関法(NCC)やエッジ特徴ベースで類似度を算出する形状パターンマッチングなどが知られている。 A plurality of methods are known for calculating the above-mentioned similarity, and a brightness value difference method (SAD) for calculating a similarity on a luminance basis, a normalized correlation method (NCC), and a similarity on an edge feature basis are used. Shape pattern matching for calculation and the like are known.
この種のパターンマッチングでは、例えば検出対象物体以外の位置を検出してしまう、誤検出が問題となることがある。例えば、検出物体の位置よりも検出物体以外の位置の方が、類似度が高くなることにより誤検出が発生する。例えば、図1(a)のような画像があり、円環ワーク100の中の小さい丸の画像中の位置を検出するパターンマッチングを行うとする。図1(a)の101、102は、円環ワーク100の背景などに撮影されている他のワークなどの画像である。この場合、図1(b)のようなモデル1012の画像を作成することがある。図1(b)のモデル1012では、テンプレートから円環ワーク100の小さい丸の部分1011の部分だけを切り出した画像でモデル1012を作成している。このようなモデル1012を用いると、図1(a)の円環ワーク100とは別に撮影されている丸の位置(101)を誤検出してしまうことがある。このような誤検出(誤検知)を防止するためには、ユーザは、円環ワーク100の円環部分も含めるよう、モデルの画像を作成しなければならない。
In this type of pattern matching, there may be a problem of erroneous detection, for example, detecting a position other than the detection target object. For example, erroneous detection occurs because the similarity is higher at a position other than the detected object position than at the detected object position. For example, suppose that there is an image as shown in FIG. 1A, and pattern matching is performed to detect the position in the image of the small circle in the
上記のように、どのような物体の形状をモデルにするか、テンプレートからどの領域を切り出して用いるか、などによって、誤検出の頻度が変わってくる。そのため、従来では、パターンマッチングのためのモデルを作成する際には、試行錯誤が必要であり、またユーザの経験則に基づく微妙な設定が要求されることもあり、作業には習熟が必要とされる。 As described above, the frequency of erroneous detection varies depending on what kind of object shape is used as a model, which region is cut out from the template, and the like. Therefore, in the past, when creating a model for pattern matching, trial and error were required, and also delicate settings based on the user's empirical rule were sometimes required, so that work required proficiency. To be done.
また、この種のパターンマッチングは、物品の生産ラインにおけるワークや生産機器を撮影した画像に対して実行され、その結果が監視、生産制御などに利用されることがある。このようなシステムにおいて誤検出が発生した場合、不良品が発生したり、生産機器の誤動作による故障などが起きる可能性がある。そのため、誤検出が生じにくく、確実なパターンマッチングを行えるモデルを作成する手法やシステムが望まれている。 Further, this kind of pattern matching may be executed on an image obtained by photographing a work or a production device in a product production line, and the result may be used for monitoring, production control, or the like. If erroneous detection occurs in such a system, a defective product may occur, or a malfunction due to a malfunction of production equipment may occur. Therefore, there is a demand for a method and system for creating a model that is less likely to cause erroneous detection and can perform reliable pattern matching.
この点に鑑み、特許文献1では、撮像した画像に対し、予め用意した複数の異なるモデルの全てでパターンマッチングを実行する方法が提案されている。この場合、複数の検出位置の中でモデルの重なりが大きい位置を検出位置とする。そして、複数のモデルでパターンマッチングを行うことにより、誤検出の確率を下げる方法が記載されている。
In view of this point,
また、特許文献2では、複数のモデルを作成し、評価用画像にてパターンマッチングを実行し、その際、評価用画像の各位置での類似度(スコア)を記憶しておく。そして、モデル毎のスコア分布を作成し、このスコア分布の分散値を比較することにより、誤検知しづらいモデルを選定する。この特許文献2では、例えば、スコア分布の分散値が最も大きいモデルが誤検知しづらいモデルとして選ばれ、実際の物体検出工程では、選定されたモデルのみでパターンマッチングを実行することにより誤検出を回避する。
Further, in
上記の特許文献1の構成によると、実際の画像検査工程で複数のモデルでパターンマッチングを実行するため、モデルの数だけ処理時間が増大する。パターンマッチングは、様々な用途で使用されているが、特に工業用、FA用途では生産のサイクルタイムの短縮が重視されている。このような高速な処理が求められる用途には特許文献1の構成は向いていない可能性がある。
According to the configuration of
また、特許文献2の構成によると、スコア分布の分散値の大小により、モデルを評価する。しかしながら、様々な生産システムで撮影される画像の全てについて、スコア分布の分散値が大きい方が誤検知しづらいモデルとは必ずしも言えない可能性がある。特許文献2の技術では、誤検知の可能性が小さい場合は、スコアが正解位置のみ高くなり、他の位置では低くなることにより分散値が大きくなることを前提としている。また、誤検知の可能性が高い場合は、スコア分布が全体的に高くなることにより分散値が小さくなることを前提としている。しかし、生産システムで撮影される実際の画像では背景やノイズ、ワークの形状等によってスコア分布の形状は大きく異なっており、特許文献2のようなスコア分布の分散値を用いた評価基準は汎用性や一般性を有していない可能性がある。例えば、実際の生産システムで撮影される画像では、複数のピークが出るような誤検出の可能性が高いスコア分布で分散値が大きくなる場合がある、と予想される。
Further, according to the configuration of
本発明の課題は、パターンマッチングを利用する画像検査工程の高速性を損なうことなく、背景やノイズ、ワークの形状等に依存せず、誤検出が少ないモデルを生成できるようにすることにある。 An object of the present invention is to make it possible to generate a model that does not depend on the background, noise, the shape of a work, and the like and does not cause a false detection, without impairing the high speed of the image inspection process using pattern matching.
本発明の第一の態様は、パターンマッチングの対象物が記録された参照画像を用いてパターンマッチングのための複数の仮モデルを作成する仮モデル作成工程と、前記複数の仮モデルの各々と、前記パターンマッチングの対象物が記録された複数の評価画像の各々とでパターンマッチングを行い、前記複数の仮モデルの各々と前記複数の評価画像の各々との間のマッチングスコアを求め、前記複数の仮モデルの各々について、各評価画像内において類似度が最大となる第1のマッチングスコアを集合した第1のマッチングスコア群と、前記各評価画像内において類似度が前記第1のマッチングスコアよりも小さな第2のマッチングスコアを集合した第2のマッチングスコア群と、を取得するマッチングスコア取得工程と、
前記複数の仮モデルの各々について、前記第1のマッチングスコア群と前記第2のマッチングスコア群とから評価値を算出する評価工程と、算出された前記評価値に基づいて前記複数の仮モデルの中からマッチングモデルを決定する決定工程と、を備えたことを特徴する画像処理方法である。
A first aspect of the present invention is a temporary model creating step of creating a plurality of temporary models for pattern matching using a reference image in which an object of pattern matching is recorded, and each of the plurality of temporary models, Pattern matching is performed with each of the plurality of evaluation images in which the pattern matching target is recorded, and a matching score between each of the plurality of temporary models and each of the plurality of evaluation images is obtained. For each of the provisional models, a first matching score group in which first matching scores having the maximum similarity in each evaluation image are aggregated, and a similarity in each evaluation image is higher than the first matching score. A second matching score group in which small second matching scores are collected, and a matching score acquisition step of acquiring
For each of the plurality of temporary models, an evaluation step of calculating an evaluation value from the first matching score group and the second matching score group, and of the plurality of temporary models based on the calculated evaluation value. And a determining step of determining a matching model from the inside.
また、本発明の第二の態様は、パターンマッチングの対象物が記録された参照画像を用いてパターンマッチングのための複数の仮モデルを作成する仮モデル作成部と、前記複数の仮モデルの各々と、前記パターンマッチングの対象物が記録された複数の評価画像の各々とでパターンマッチングを行い、前記複数の仮モデルの各々と前記複数の評価画像の各々との間のマッチングスコアを求め、前記複数の仮モデルの各々について、各評価画像内において類似度が最大となる第1のマッチングスコアを集合した第1のマッチングスコア群と、前記各評価画像内において類似度が前記第1のマッチングスコアよりも小さな第2のマッチングスコアを集合した第2のマッチングスコア群と、を取得するマッチングスコア取得部と、前記複数の仮モデルの各々について、前記第1のマッチングスコア群と前記第2のマッチングスコア群とから評価値を算出する評価部と、算出された前記評価値に基づいて前記複数の仮モデルからマッチングモデルを決定する決定部と、を備えたことを特徴する画像処理装置である。 A second aspect of the present invention is a temporary model creation unit that creates a plurality of temporary models for pattern matching using a reference image on which a pattern matching object is recorded, and each of the plurality of temporary models. And, performing pattern matching with each of the plurality of evaluation images in which the pattern matching object is recorded, obtain a matching score between each of the plurality of temporary models and each of the plurality of evaluation images, For each of the plurality of provisional models, a first matching score group in which the first matching score having the maximum similarity in each evaluation image is collected, and the first matching score having the similarity in each evaluation image A second matching score group in which a second matching score smaller than the second matching score is acquired, and for each of the plurality of temporary models, the first matching score group and the second matching score. An image processing apparatus, comprising: an evaluation unit that calculates an evaluation value from a score group; and a determination unit that determines a matching model from the plurality of temporary models based on the calculated evaluation value.
本発明によれば、画像検査工程の高速性を損なうことなく、背景やノイズ、ワークの形状等に依存せず、誤検出が少ないモデルを生成し、該モデルを用いて信頼性の高いパターンマッチングを利用した画像処理を実施することができる。 According to the present invention, a model with less false detection is generated without impairing the high speed of the image inspection process, independent of the background, noise, shape of the work, etc., and highly reliable pattern matching is performed using the model. It is possible to carry out image processing using the.
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。 Embodiments for carrying out the present invention will be described below with reference to the accompanying drawings. Note that the configuration shown below is merely an example, and for example, a detailed configuration can be appropriately changed by those skilled in the art without departing from the spirit of the present invention. The numerical values taken in this embodiment are reference numerical values and do not limit the present invention.
<実施形態1>
図2は、本実施形態に係る生産システムの概略構成を示している。図2の生産機器200は、ワークW1(対象物)をワークW2(被組み付け部材)に組付けて、物品Wを製造する。生産機器200は、ロボット401と、撮像装置としてのカメラ500と、カメラ500と有線ないし無線で通信するよう構成された画像処理装置300と、を備えている。また、生産機器200は、ロボット401および画像処理装置300に、ネットワークや制御線で接続されたロボット制御装置400を備えている。
<
FIG. 2 shows a schematic configuration of the production system according to this embodiment. The
ロボット401は、例えば垂直多関節型のロボットアーム402と、エンドエフェクタであるロボットハンド403と、を有している。ロボットアーム402は、複数のリンクが複数の関節で旋回可能に連結された構成を備える。ロボットアーム402の基端(基端リンク、ベース部)が基台Bの上面に固定されている。また、ロボットアーム402の先端(先端リンク)には、ロボットハンド403が取り付けられている。ロボットハンド403は、複数のフィンガを有し、ワーク(対象物)W1を把持、または把持解放することができる。
The
カメラ500は例えばデジタルカメラによって構成される。カメラ500の画像センサは、例えばCCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサによって構成される。
The
画像処理装置300は、カメラ500の撮像動作(例えば撮像タイミングやシャッタースピード等)を制御し、カメラ500から撮像画像を取得する。また、画像処理装置300は、デジタル画像データに対して画像処理を施し、その結果をロボット制御装置400に出力する。この画像処理として、画像処理装置300は、パターンマッチング処理を行う。
The
図2のように構成された生産ラインでは、パターンマッチングは、ワークW1、W2の全体ないしその一部、ロボットアーム402の特定部位などの実際の位置、ないし姿勢を検出ないし測定するために行われる。そのため、このパターンマッチングには、ワークW1、W2、ロボットアーム402などの特定部位をマッチングするためのモデルが用いられる。画像処理装置300は、その画像処理結果をロボット制御装置400に出力する。この時のロボット制御装置400に対する出力データの形式は任意であるが、例えば、グローバル座標系や撮影画像の座標系における測定対象の特定部位の座標値などが考えられる。カメラ500の配置位置とロボットアーム402が動作する作業空間の位置関係は既知であり、例えば撮影画像の座標系と、ロボットアーム402の作業空間のグローバル座標系の間では座標変換演算が可能であるものとする。このような座標変換演算は、画像処理装置300ないしロボット制御装置400によって適宜行われる。
In the production line configured as shown in FIG. 2, pattern matching is performed to detect or measure the actual position or posture of the work W1 or W2 or a part thereof, a specific portion of the
ロボット制御装置400は、画像処理装置300による画像処理の結果に基づき、ロボット401の動作を制御する。例えば、ワークW1、W2を結合する操作では、ロボット制御装置400は画像処理から得られた両ワークの位置関係を参照して、両者が所定の位置関係で結合されるよう、ロボットアーム402、ロボットハンド403の位置、姿勢を制御する。
The
図3は、本実施形態の画像処理装置300の構成の一例を示している。図3の画像処理装置300は、画像処理、具体的にはパターンマッチング処理を行うものであり、例えばPC(パーソナルコンピュータ)のようなアーキテクチャを利用して構成することができる。画像処理装置300は、演算部(制御装置)としてのCPU(Central Processing Unit)301を備えている。また、画像処理装置300は、記憶部として、ROM(Read Only Memory)302、RAM(Random Access Memory)303、HDD(Hard Disk Drive)304を備えている。また、画像処理装置300は、記録ディスクドライブ305および各種のインタフェース311〜315を備えている。
FIG. 3 shows an example of the configuration of the
CPU301には、ROM302、RAM303、HDD304、記録ディスクドライブ305およびインタフェース311〜315が、バス310を介して接続されている。
A
ROM302には、BIOS等の起動プログラムが格納されている。RAM303は、CPU301の演算処理結果等、各種データを一時的に記憶する記憶装置である。HDD304には、プログラム321が格納(記録)されている。そして、CPU301がプログラム321を読み出して実行することにより、後述する画像処理方法の各工程を実行する。記録ディスクドライブ305は、記録ディスク322に記録された各種データやプログラム等を読み出すことができる。記録ディスク322は、各種の磁気ディスクや光ディスクの他、半導体メモリデバイスなどであっても構わない。この記録ディスク322が、本発明の制御手順を記述した画像処理プログラムを格納している場合は、記録ディスク322は、本発明のコンピュータ読み取り可能な記録媒体を構成することになる。
A boot program such as BIOS is stored in the
インタフェース311には、ロボット制御装置400が接続されている。CPU301は、バス310およびインタフェース311を介して画像処理結果をロボット制御装置400に送信する。ロボット制御装置400により制御されるロボットアーム402は、画像処理装置300のパターンマッチングの結果を用いて、ワークW1、W2に対する生産処理を実行する生産機器を構成する。画像処理装置300のパターンマッチングは、例えばワークW1、W2の相対的な位置および姿勢を認識してこれらの組み付けを行うロボットアーム402による生産処理の制御に用いられる。あるいは、画像処理装置300のパターンマッチングは、例えばワークW1、W2の個々、あるいはそれらが一体化されたアセンブリの検査のためなどに行われるものであってもよい。その場合、その検査結果に応じて、ロボットアーム402による生産処理、例えばワークやアセンブリの搬送先の変更などを制御することができる。画像処理装置300のパターンマッチングを用いた画像処理は、物品の生産システム(ライン)において、上記のような生産処理制御に種々の形態で利用することができる。
The
インタフェース312には、カメラ500が接続されている。CPU301は、バス310およびインタフェース312を介して、トリガ信号等の制御信号をカメラ500に送信する。CPU301は、カメラ500からの画像信号をバス310およびインタフェース312を介して取得する。取得した画像データは、CPU301の制御に基づき、例えばHDD304や外部記憶装置800など記憶装置に格納する。
The
インタフェース313には、マウスやキーボードなど、作業者が行った操作に応じた指令をCPU301に送信する入力装置600が接続されている。インタフェース314には、画像を表示するディスプレイ等の表示装置700が接続されている。インタフェース315には、USBメモリ等の書き換え可能な不揮発性メモリ、あるいは外付けHDD等の外部記憶装置800が接続される。
The
以下、画像処理装置300によるモデル作成、およびパターンマッチングによる画像処理の流れにつき説明する。画像処理装置300のCPU301は、プログラム321をHDD304から読み出して実行することにより、以下の画像処理方法の各工程を実行する。
Hereinafter, the flow of model creation by the
図4は、モデル作成処理の概要を示している。図4において、作業者ないしこのシステムのユーザであるオペレータは、パターンマッチング用のモデルを作成するための参照画像を用意するために、実際に生産ラインで生産を行なう時と同様の照明条件、位置に検出対象となるワークをセットする。CPU301は、カメラ500にワークの撮像を行わせ、ワークが撮影された参照画像としての画像データをカメラ500から取得する(S100)。
FIG. 4 shows an outline of the model creating process. In FIG. 4, an operator or an operator who is a user of this system prepares a reference image for creating a model for pattern matching, in order to prepare a reference image, the same lighting conditions and positions as when actually performing production on a production line. Set the workpiece to be detected in. The
なお、この参照画像は、既にHDD304や外部記憶装置800等の記憶装置に格納されていてもよく、その場合は、CPU301は、HDD304や外部記憶装置800等の記憶装置から、参照画像のデータを取得することとなる。参照画像は、生産ラインにおける監視処理における実際の撮影と同じ条件で撮影されているものとする。
The reference image may be already stored in a storage device such as the
CPU301は、参照画像を表示装置700に表示させ、オペレータにより指定された、参照物(ワーク)が写り込んだ部分もしくは参照物の特徴的な部分を包含する矩形領域を仮モデル作成領域として設定する(S200)。この仮モデル作成領域を設定する時には、オペレータは、例えば、マウス等の入力装置600を用いたユーザインターフェースを利用することができる。仮モデル作成領域の設定は、ユーザが表示装置700に表示された参照画像内の参照物が写り込んだ画像を包含する領域の左上と右下の2点をクリックするような操作により行う。
The
CPU301は、ステップS200では、仮モデルを作成する領域として、クリックされた2点の位置(矩形領域の左上、右下の角の点)から矩形領域を設定する。設定した仮モデル作成領域の位置、形状は、RAM303もしくはHDD304に記憶させておく。なお、以上では矩形領域での設定方法を説明したが、3点をクリックすることにより円領域を設定したり、クリック点間を結ぶ任意領域を設定したりしても良く、領域の設定は矩形に限定されるものではない。
In step S200, the
次に、仮モデルの作成方法について説明する。図5は仮モデル作成工程(図4:ステップS300)の処理例を詳細に示したものである。この仮モデル作成工程を実行するCPU301は、例えば画像処理装置300において仮モデル作成部としての機能ブロックを構成する。図5のステップS301において、CPU301は、ステップS100で取得した参照画像内のステップS200で設定した領域について、エッジ点が連結した連結エッジを抽出する処理を実施する。以下にこの連結エッジ抽出処理(ステップS301)の詳細につき説明する。
Next, a method of creating a temporary model will be described. FIG. 5 shows a detailed processing example of the temporary model creation process (FIG. 4: step S300). The
CPU301は、連結エッジ抽出対象の参照画像領域において、画素毎にエッジ強度とエッジ方向を算出する。エッジ強度とは、コントラストの大きさ(輝度の変化の急峻さ)を表し、注目画素に対し隣接する画素のコントラストが大きければエッジ強度も大きくなる。エッジ方向とは、コントラストの方向を表し、注目画素のエッジ強度が最も大きくなる方向(角度)を示す。エッジ強度の算出には、例えばx軸方向(画像の横軸方向)、y軸方向(画像の縦軸方向)のソーベルフィルタを使用する。
The
図6は、参照画像領域Imに対してエッジ強度とエッジ方向の抽出処理を行う動作を示したものである。この抽出処理では、CPU301は、図6の参照画像領域Im中の注目画素Cで、まずx軸方向のエッジ強度Exとy軸方向のエッジ強度Eyを算出する。このエッジ強度のベクトルは、(Ex,Ey)で表される。
FIG. 6 shows the operation of performing the extraction processing of the edge strength and the edge direction on the reference image area Im. In this extraction processing, the
そして、CPU301は、注目画素Cのエッジ強度Eを、例えば下式(1)のように、各軸のエッジ強度Ex,Eyの二乗和の平方根として算出する。
Then, the
また、CPU301は、エッジ方向θを、下式(2)により算出する。
Further, the
そして、CPU301は、上記方法により参照画像領域Imの全画素のエッジ強度とエッジ方向を算出する。さらに、CPU301は、エッジ強度がある一定の閾値以上の画素をエッジ特徴(エッジ点)として抽出し、複数のエッジ点の集合であるエッジ特徴画像を生成する。
Then, the
図7は、エッジ特徴画像ITの例を示している。図7では、エッジ特徴画像ITにおいて、エッジ強度がある一定の閾値以上のエッジ特徴を示す画素をエッジ点として黒で図示し、エッジ強度が閾値未満の画素を非エッジ点として白で図示している。 FIG. 7 shows an example of the edge feature image I T. In FIG. 7, in the edge feature image I T , pixels showing edge features whose edge strength is equal to or higher than a certain threshold are shown in black as edge points, and pixels whose edge strength is less than the threshold are shown in white as non-edge points. ing.
エッジ特徴画像ITのデータ保持方法としては、例えば以下のように、画像の画素毎に2チャンネルのデータ領域をRAM303などの記憶領域に確保する。そして、例えば図7のようにエッジ点として抽出された画素C1の場合は、1チャンネル目にエッジ強度、2チャンネル目にエッジ方向の情報を格納する。また、非エッジ点であると判断された画素C2には、エッジ特徴を示さないことを表す値(例えば0)を格納する。これらエッジ点を示す画素C1の集合ΣCが、エッジ特徴画像ITである。
As a data holding method of the edge feature image I T , for example, a 2-channel data area is secured in a storage area such as the
なお、エッジ強度のみを記憶したエッジ強度画像、エッジ方向のみを記憶したエッジ方向画像の2つの画像を、1組の特徴画像として用いるようにしてもよい。また、本実施形態では、エッジ強度の算出にソーベルフィルタを使用しているが、キャニーフィルタ等の一般的に知られたエッジ抽出フィルタを使用してもよい。 It should be noted that two images, an edge strength image storing only the edge strength and an edge direction image storing only the edge direction, may be used as one set of feature images. Further, in the present embodiment, the Sobel filter is used for calculating the edge strength, but a commonly known edge extraction filter such as a Canny filter may be used.
次に、エッジ点が連結した連結エッジを抽出し、連結エッジごとにラベリングを行う。前述したエッジ抽出処理によりエッジ点として抽出された画素の隣4方向、もしくは斜めをいれた8方向を探索し、エッジ点である画素同士が隣り合っていれば同じ連結エッジの連結成分として記憶していく。これにより、個々の連結成分が1つのまとまりとしてラベリングされた連結エッジを抽出することができる。図8に例示する画像8000において線で表した部分が抽出された連結エッジだとすると、801〜805の5つの連結エッジが抽出されたことになる。
Next, a connected edge in which the edge points are connected is extracted, and labeling is performed for each connected edge. Four adjacent directions of pixels extracted as edge points by the above-described edge extraction processing or eight oblique directions are searched, and if pixels that are edge points are adjacent to each other, they are stored as connected components of the same connected edge. To go. This makes it possible to extract connected edges in which individual connected components are labeled as a unit. If the portion represented by the line in the
そして、図5のS304Aにおいて、連結エッジの1つの組み合わせについて仮モデルを作成する。さらにS302〜S304Bのループを繰り返すことにより、連結エッジの全ての組合せ方法について仮モデルを作成する。つまり、ステップS301で抽出した連結エッジについて、図9(a)〜図9(c)に示すように連結エッジの組合せを変更しながら(S303)、仮モデルを作成する(S304B)。例えば、図9(a)に示す仮モデル901は、5つの連結エッジのうち連結エッジ802を選ぶ組み合わせ方法についての仮モデルである。また、図9(b)に示す仮モデル902は、連結エッジ801と連結エッジ802を選ぶ組み合わせ方法についての仮モデルである。また、図9(c)に示す仮モデル903は、連結エッジ801、連結エッジ803および連結エッジ805を選ぶ組み合わせ方法についての仮モデルである。
Then, in S304A of FIG. 5, a temporary model is created for one combination of connected edges. Further, by repeating the loop of S302 to S304B, temporary models are created for all combinations of connecting edges. That is, for the connected edges extracted in step S301, while changing the combination of connected edges as shown in FIGS. 9A to 9C (S303), a temporary model is created (S304B). For example, the
例えば、図8に示すように5本の連結エッジが抽出された場合は、5本の連結エッジの組み合わせ方法の全てについてパターンマッチング用の仮モデルを作成し、HDD304などに記憶していく。全ての連結エッジの組合せに対する仮モデルを作成したか否かはステップS302で判定され、全ての連結エッジの組合せに対して仮モデルを作成した場合はこの処理を終了する。
For example, when five connected edges are extracted as shown in FIG. 8, a temporary model for pattern matching is created for all the combination methods of the five connected edges and stored in the
5本の連結エッジが抽出された場合、5本全ての連結エッジを選択して仮モデルとすることもできるし、1本の連結エッジのみを選択して仮モデルとすることもできる。5本の連結エッジの場合、連結エッジの組合せ方法の数は例えば下式(3)で算出でき、31通りとなる。つまり、5本の連結エッジが抽出された場合は31通りの仮モデルが作成されることになる。 When five connected edges are extracted, all five connected edges can be selected as a temporary model, or only one connected edge can be selected as a temporary model. In the case of five connected edges, the number of combined methods of the connected edges can be calculated by the following formula (3), for example, and there are 31 ways. That is, when five connected edges are extracted, 31 types of temporary models are created.
次に、上記のようにして作成した複数の仮モデルの各々について評価値を算出する評価値算出工程(図4:S400)を行う。この評価値算出工程(S400)は、図10に示すように、複数の仮モデルの中から1つを選択し、その仮モデルの評価値を算出する処理を全ての仮モデルに対して順に実行することにより行う。なお、この評価値算出工程を実行するCPU301は、例えば画像処理装置300において評価部としての機能ブロックを構成する。
Next, an evaluation value calculation step (FIG. 4: S400) of calculating an evaluation value for each of the plurality of temporary models created as described above is performed. In this evaluation value calculation step (S400), as shown in FIG. 10, one of a plurality of temporary models is selected, and the process of calculating the evaluation value of the temporary model is sequentially executed for all the temporary models. By doing. The
図10のステップS401では、作成した複数の仮モデルの中から一つの仮モデルを選択する。選択した仮モデルと予め用意した複数の評価用画像の中の1枚とで、パターンマッチングを実行する。評価用画像は実際にワーク等の検出対象を撮影した画像であり、実験時に生産機器200と同様の系で撮影した画像もしくは生産中に保存しておいた実画像等を使用する。
In step S401 of FIG. 10, one temporary model is selected from the plurality of created temporary models. Pattern matching is executed using the selected temporary model and one of the plurality of evaluation images prepared in advance. The evaluation image is an image obtained by actually photographing a detection target such as a work, and an image photographed by the same system as the
すなわち、マッチングスコア取得工程として、CPU301は、HDD304に保存されている複数の評価用画像から1枚を読込み、選択した1つの仮モデルを用いてパターンマッチングを実行する(S402)。例えば、パターンマッチングの手法は次のようなものである。最初に、評価画像に対しエッジ抽出を行い、評価画像内に存在するエッジを含んだ評価用エッジ画像Isを作成する。エッジ抽出処理の手法は、前述した参照画像に対するエッジ抽出処理と同様でよい。図11に示すように、現在、選択されている仮モデルと同じ大きさの抽出窓を評価用エッジ画像IS内に置いて、評価用エッジ画像ISから仮モデルに対応する大きさの画像IIを抽出する。仮モデルと同じ大きさの抽出窓は、ピクセル単位で位置をずらしながら、次々に画像IIを抽出する。このようにして抽出した画像IIと仮モデルとの類似度を表すマッチングスコアRを下式(4)により求める。なお、以下では、簡略化のため、類似度を表すマッチングスコアを単に「スコア」と記載することがある。
That is, as a matching score acquisition step, the
即ち、仮モデルの一つのエッジ画素と抽出した評価用エッジ画像の一つのエッジ画素のエッジ方向差分のコサイン値を求めることにより、エッジ点1点の局所スコアを算出する。この処理を全てのエッジ画素について行うことにより、全エッジ点の局所スコアを算出し、さらにその総和を算出することができる。この局所スコアの総和を仮モデルのエッジ点数で割ることにより、最終的なスコアとして−1から1の範囲に正規化した値を得ることができる。 That is, the local score of one edge point is calculated by obtaining the cosine value of the edge direction difference between one edge pixel of the temporary model and one edge pixel of the extracted evaluation edge image. By performing this processing for all edge pixels, it is possible to calculate the local scores of all edge points and further calculate the sum thereof. By dividing the total sum of the local scores by the edge score of the tentative model, it is possible to obtain a value that is normalized in the range of -1 to 1 as the final score.
上記式4の画像内の位置(i、j)は、図11に(i、j)で示す位置、すなわち評価用エッジ画像から仮モデルに対応する大きさの画像を抽出した評価用エッジ画像内の位置に相当する。全ての平行移動の範囲で抽出窓を移動させ、このマッチングスコアRの計算を行う。スコアは−1から1で表され、1が最も類似性が高く、−1が最も類似性が低いことを示す。
The position (i, j) in the image of
なお、仮モデルの評価用のスコアの計算方法は任意であり、上記と異なるスコア計算手法を用いてもよい。例えば、モデルと評価用エッジ画像のx方向エッジ強度、y方向エッジ強度から、下式(5)のようにして、マッチングスコアを算出してもよい。 The method of calculating the score for evaluation of the temporary model is arbitrary, and a score calculation method different from the above may be used. For example, the matching score may be calculated from the x-direction edge strength and the y-direction edge strength of the model and the evaluation edge image as in the following expression (5).
評価用エッジ画像内の全ての探索位置でのスコア計算が完了したら、当該仮モデルを使ったパターンマッチングが終了となる。全ての探索位置でのスコア計算が完了していなければ、次の探索位置(i、j)に抽出窓を進めて、マッチングスコアの計算を続行する。本実施例では簡略化のためモデルの平行移動のみを検出するパターンマッチング方法を説明したが、同様の方法で、モデルの回転やスケール変化等を検出するパターンマッチングも適用可能である。 When the score calculation at all the search positions in the evaluation edge image is completed, the pattern matching using the temporary model ends. If score calculation has not been completed at all search positions, the extraction window is advanced to the next search position (i, j) and calculation of matching scores is continued. In the present embodiment, the pattern matching method for detecting only the parallel movement of the model has been described for simplification, but the pattern matching for detecting the rotation and scale change of the model can be applied by the same method.
前述したパターンマッチングを実行する際に、所定の閾値以上のマッチングスコアが算出された場合、そのマッチングスコアRと位置(i、j)をRAM303に記憶させる。これにより、図12に示すように、ある評価用画像に対するスコアマップが生成される。所定のスコア閾値を−1に設定すれば評価用画像内の全ての位置のスコアを含んだスコアマップが生成されることになる。
When a matching score equal to or higher than a predetermined threshold is calculated when executing the above-described pattern matching, the matching score R and the position (i, j) are stored in the
さらに、CPU301は、RAM303に一時的に記憶しておいたスコアマップから最大検出スコア(第1位の検出スコア)と、最大検出スコアが得られた第1の位置から離れた第2の位置で得られた第2位の検出スコアを抽出する(図10:S403)。抽出したこれらのスコアは記憶手段、例えばRAM303などに記憶させる。以下に前記2つのスコアの抽出方法を詳細に示す。
Further, the
最大検出スコア(第1位の検出スコア)とは、図12に1201で示す山の頂点のように、スコアマップの中で示されるマッチングスコアRの最大値である。即ち、この最大検出スコアは、当該の評価画像で得られた類似度が第1位の値を有する第1のマッチングスコアである。 The maximum detection score (first detection score) is the maximum value of the matching score R shown in the score map, such as the peak of 1201 in FIG. That is, the maximum detection score is the first matching score having the first-ranked degree of similarity obtained in the evaluation image.
また、第1のマッチングスコアが得られた評価画像中の空間的な位置とは異なる評価画像中の位置で得られた第2のマッチングスコアを取得する。この第2のマッチングスコアは、例えば図12に示すように、最大検出スコアが検出された頂点を含む山1201とは別の第2位の高さの山1202の頂点における検出スコアである。最大検出スコアは1番目に大きな極大値であるが、第2のマッチングスコアは2番目に大きな極大値であると言ってもよい。なお、スコアマップに極大値が1つしか表れない場合は、スコアマップ中の最小値を第2のマッチングスコアとする。
マッチングの精度誤差やノイズによる誤差、個体差による誤差等が大きいと、同じ位置におけるマッチングスコアがずれて複数個所に現れるが場合がある。そのような場合には最大検出スコアが検出された山1201の第1の位置からある閾値(所定距離)以上、離間した位置において、最大となるマッチングスコアを第2のマッチングスコアとするのが好ましい。第1の位置と第2の位置との離間距離の閾値は、マッチングの精度誤差やノイズによる誤差、個体差による誤差等に基づく値を算出して予め設定しておいてもよいし、ユーザが任意に設定してもよい。例えば、最大検出スコアが検出された山1201の位置から画像のX、Y方向に10画素以内の位置を最大検出スコア近傍の範囲として定義することができる。この場合は、空間的に10画素を超えて離間した範囲内における最大のスコアを抽出して第2のマッチングスコアとしてもよい。
Further, the second matching score obtained at a position in the evaluation image different from the spatial position in the evaluation image from which the first matching score was obtained is acquired. The second matching score is, for example, as shown in FIG. 12, a detection score at the apex of the
If the accuracy error of matching, the error due to noise, the error due to individual difference, etc. are large, the matching score at the same position may shift and appear at a plurality of places. In such a case, it is preferable to set the maximum matching score as the second matching score at a position separated by a threshold value (predetermined distance) or more from the first position of the
所定の距離は、必ずしも最大検出スコアの位置を中心として所定の画素数以上、離間した位置であることを条件としなくてもよい。例えば、図13に示すように、最大検出スコアの位置1301と第2位の位置1302に仮モデルを配置し、その2つの仮モデルの画像範囲の重複する態様によって、近傍を除いた範囲に該当するかを判定してもよい。2つの仮モデルの重なり具合(重複割合)は、例えば仮モデルの面積Mと、2つの仮モデルの重なった部分の面積NとからN/Mで算出する。この重複度(重複範囲)が所定の重複範囲以下(例えば所定の閾値以下)であれば、第2の検出スコアの位置が最大検出スコアの位置から所定の距離以上、離れていると判定する。重複度の所定の閾値を0.5に設定した場合は、最大検出スコアの位置に配置した仮モデルとその他の位置の仮モデルが50%以上重なったら閾値より近いとみなす。また、50%より小さければ最大検出スコア位置から閾値以上、離れているとみなし、その位置で得られたスコアを第2のマッチングスコアとして採用する。
The predetermined distance does not necessarily have to be a position separated by a predetermined number of pixels or more with the position of the maximum detection score as the center. For example, as shown in FIG. 13, a temporary model is arranged at the
以上のようにして、ある1つの評価画像とある1つの仮モデルから、画像の類似度に相当するマッチングスコアに関して、第1位のマッチングスコアと第2位のマッチングスコアを取得することができる。取得した第1位のマッチングスコアと、第1位のマッチングスコアが得られた位置から離れた位置で得られた第2位のマッチングスコアは、RAM303に記憶させる。このマッチグスコア取得工程を実行するCPU301は、例えば画像処理装置300においてマッチングスコア取得部としての機能ブロックを構成する。
As described above, the matching score of the first place and the matching score of the second place can be acquired from the one evaluation image and the one provisional model with respect to the matching score corresponding to the similarity of the images. The acquired first matching score and the second matching score obtained at a position away from the position where the first matching score is obtained are stored in the
そして、CPU301は、用意した全ての評価用画像に対して同様の処理を行ったか確認(S404)しながら、上記のステップS402、S403を実行する。取得した第1位のマッチングスコアの集合である第1のマッチングスコア群と、第2位のマッチングスコアの集合である第2のマッチングスコア群はRAM303に記憶させる。ステップS404で全ての評価用画像の処理を確認すると、次のステップS405に進む。以上のようにして、ある1つの仮モデルについて、複数の評価画像を用いて、第1のマッチングスコア群と第2のマッチングスコア群を取得することができる。
Then, the
ある1つの仮モデルについて全ての評価用画像に対しての処理が完了すると、当該仮モデルについての第1のマッチングスコア群と第2のマッチングスコア群の表(テーブルデータ)を得ることができる。例えば図14のように、各評価用画像ごとに抽出した第1位と第2位のマッチングスコア群の表(テーブルデータ)がRAM303上に得られる。図14では評価用画像が5枚の場合の例を示している。1401は評価用画像を識別する番号、1402、1403はそれぞれその評価用画像における第1位のマッチングスコア(最大検出スコア)と、その最大検出スコアの位置から所定距離以上、離間した位置における第2位のマッチングスコアの値である。
When the processing for all the evaluation images for a given temporary model is completed, a table (table data) of the first matching score group and the second matching score group for the temporary model can be obtained. For example, as shown in FIG. 14, a table (table data) of the first and second matching score groups extracted for each evaluation image is obtained on the
図10のステップS405では、CPU301は、ステップS401で選択した特定の仮モデルについての評価値を以下のようにして算出する。例えば、この仮モデルについての評価値は、ステップS404までの処理で作成した図14のスコアの表(テーブルデータ)に基づき算出する。
In step S405 of FIG. 10, the
図15は、この1つの仮モデルに対する評価値の演算結果を示している。図15において、1501は評価用画像を識別する番号、1502、1503はそれぞれその評価用画像における最大検出スコアと、その最大検出スコアの位置から離間した(近傍以外)の第2位のスコアの値である。また、1504はこれら最大検出スコアと第2位のスコアの差分、1505は各評価用画像の最大検出スコアと第2位のスコアの平均値、最大値、最小値である。
FIG. 15 shows the calculation result of the evaluation value for this one temporary model. In FIG. 15,
本実施形態では、例えば、ある仮モデルに対する評価値として、複数の評価用画像で得られた、最大検出スコアと、最大検出スコアが検出された位置から離間した(近傍以外)の第2位のスコアとの差分の最小値を採用する。例えば、図15に評価値の演算結果を示した仮モデルの例では、3番目の評価用画像で得られた差分(1504)が最も小さく、この仮モデルの評価値は、0.25となる。 In the present embodiment, for example, as the evaluation value for a given temporary model, the maximum detection score obtained from a plurality of evaluation images and the second highest position apart from the position where the maximum detection score is detected (other than the neighborhood) are used. Use the minimum difference from the score. For example, in the example of the temporary model in which the calculation result of the evaluation value is shown in FIG. 15, the difference (1504) obtained in the third evaluation image is the smallest, and the evaluation value of this temporary model is 0.25. ..
なお、仮モデルに対する評価値の演算手法は、他にも考えられる。例えば、評価値の算出方法の一つは、各画像の最大検出スコアの平均値と最大検出スコアが検出された位置の近傍以外の第2のスコアの平均値をそれぞれ算出し、その差分を評価値とする手法である。この手法によると、図15に評価値の演算結果を示した仮モデルの場合は、1505に示されるように、2つの平均値、0.952と0.572の差分である0.38がこの仮モデルの評価値となる。 Note that other methods of calculating the evaluation value for the temporary model can be considered. For example, one of the evaluation value calculation methods is to calculate the average value of the maximum detection scores of each image and the average value of the second scores other than the vicinity of the position where the maximum detection score is detected, and evaluate the difference. It is a method of setting the value. According to this method, in the case of the tentative model in which the calculation result of the evaluation value is shown in FIG. 15, as shown by 1505, the two average values, which is the difference between 0.952 and 0.572, is 0.38. It becomes the evaluation value of the temporary model.
評価値の算出方法の他の一つは、各画像の最大検出スコアの最小値と、最大検出スコアが得られた位置の近傍以外で得られた第2のスコアの最大値をそれぞれ算出し、その差分を評価値とするものである。この手法によると、図15に評価値の演算結果を示した仮モデルの場合は、1505に示されるように、0.87と0.67の差分となるため、0.2がこの仮モデルの評価値となる。仮モデルに対する評価値の演算手法は、上記のいくつかの手法以外の手法を当業者が適宜採用して構わない。例えば、図15の表の値を使用して、適宜、1つの仮モデルに対し1つの評価値を算出する。 Another one of the calculation methods of the evaluation value is to calculate the minimum value of the maximum detection score of each image and the maximum value of the second score obtained outside the vicinity of the position where the maximum detection score is obtained, The difference is used as the evaluation value. According to this method, in the case of the temporary model in which the calculation result of the evaluation value is shown in FIG. 15, there is a difference between 0.87 and 0.67 as indicated by 1505, so 0.2 is the value of this temporary model. It becomes an evaluation value. Those skilled in the art may appropriately adopt a method other than the above-mentioned several methods as the method of calculating the evaluation value for the temporary model. For example, using the values in the table of FIG. 15, one evaluation value is calculated for one temporary model as appropriate.
さらに、CPU301は、図10のステップS401からS405の処理を、用意した全ての仮モデルに対して実行する。そして、全ての仮モデルに対して評価値の算出が完了したと判定(S406)されると、図10に詳細を示した仮モデルの評価値算出処理(図4:S400)が完了する。
Further, the
最後に、CPU301は、ステップS400で作成した各仮モデルの評価値の中から、最大の評価値が得られた仮モデルを選択し、生産時にパターンマッチングとして用いる本モデルとして決定する(図4:S500)。この決定した本モデルは、実際のパターンマッチング時に利用できるよう、記憶手段、例えば、HDD304に記憶させる。なお、この決定工程(図4:S500)を実行するCPU301は、例えば画像処理装置300において決定部としての機能ブロックを構成することになる。
Finally, the
以上のようにして、モデルの自動作成処理が終了する。CPU301は、前記ステップにて作成された本モデルとカメラ500で撮影された画像とでパターンマッチングを実行することにより、実際の生産機器200が稼働することになる。このパターンマッチング工程を実行するCPU301は、例えば画像処理装置300においてパターンマッチング部としての機能ブロックを構成する。
As described above, the automatic model creating process is completed. The
以上のように、本実施形態によれば、誤検知の少ないパターンマッチング用のモデルを決定すべく、複数の仮モデルを作成して、評価用画像にてパターンマッチングを実行し、その中で最も評価値の高い仮モデルを本モデル(正式モデル)として採用する。その評価値としては、例えば、評価用画像をパターンマッチングした際の最大検出スコアと、最大検出スコアが検出された位置の近傍以外で検出された第2のマッチングスコアとの差を採用している。つまり、最も誤検出が発生しやすい位置は、図12のスコアマップの例では、山1202のように、マッチングスコアRが最高となる山1201とは別の位置に形成されるピークの位置である。そこで、これを最大検出スコア近傍以外の第2のマッチングスコアとして採用する。この誤検出を生じさせる可能性が高い山1202の第2のマッチングスコアと、検出の正解位置となる山1201で検出された最大検出スコアとの差が大きいマッチングモデルであるほど、誤検出の確率が低下する。
As described above, according to the present embodiment, in order to determine a model for pattern matching with few false detections, a plurality of temporary models are created, pattern matching is performed on the evaluation image, and the most of them is executed. A temporary model with a high evaluation value will be adopted as this model (official model). As the evaluation value, for example, a difference between the maximum detection score when the evaluation image is pattern-matched and the second matching score detected outside the vicinity of the position where the maximum detection score is detected is adopted. .. That is, the position where erroneous detection is most likely to occur is a peak position formed at a position different from the
そして、本実施形態によれば、複数の仮モデルの中から、この2つのスコアの差がなるべく大きくなるようなモデルを自動的に選択することができる。また、本実施形態では、モデルの評価、選択は、生産ラインで実際に生産を開始する前に事前に実施しておくことができるため、実際の生産工程における監視時などにおいては、予め選択された一つのモデルでパターンマッチングを実行することができる。即ち、本実施形態では、実際の生産ライン監視のために行う画像処理において多数のマッチングモデルを用いてパターンマッチングを実行する必要がない。そのため、画像処理時間を増大させることがなく、高速に画像処理に基づく監視処理を実行することができる。また、様々な生産工程での背景やノイズ、ワーク形状等の影響によりスコアマップの形状が変形するような場合であっても、前述した2つのスコア差を利用することにより汎用的に適用することが可能となる。本実施形態によれば、処理時間を増大させることなく、様々な生産工程で適用可能な誤検知を防ぐパターンマッチングに使用するモデルの自動作成が可能となる。 Then, according to the present embodiment, it is possible to automatically select, from a plurality of temporary models, a model in which the difference between the two scores is as large as possible. Further, in the present embodiment, the model evaluation and selection can be performed in advance before the actual production is started on the production line, so that it is selected in advance during monitoring in the actual production process. Only one model can perform pattern matching. That is, in the present embodiment, it is not necessary to perform pattern matching using a large number of matching models in image processing performed for actual production line monitoring. Therefore, the monitoring process based on the image processing can be executed at high speed without increasing the image processing time. Further, even when the shape of the score map is deformed due to the influence of background, noise, work shape, etc. in various production processes, it can be applied for general purpose by using the difference between the two scores described above. Is possible. According to the present embodiment, it is possible to automatically create a model used for pattern matching that can be applied in various production processes and that can prevent false detection without increasing the processing time.
<実施形態2>
上記の実施形態1では、形状(エッジ)ベースのパターンマッチングに用いられるモデルの作成手法につき説明した。他の手法によるパターンマッチングのためのモデル作成に関しても、本発明の手法を実施することができる。以下、本実施形態2では輝度ベースのパターンマッチングに用いられるモデルの自動作成につき説明する。
<
In the above-described first embodiment, a method of creating a model used for shape (edge) -based pattern matching has been described. The method of the present invention can also be applied to model creation for pattern matching by another method. Hereinafter, in the second embodiment, automatic creation of a model used for brightness-based pattern matching will be described.
本実施形態2の生産装置の概略構成、および画像処理装置の構成は上記の実施形態1の図2、図3に示したものと同様である。
以下、画像処理装置300によるモデル作成と、パターンマッチング実行(画像処理方法)について説明する。画像処理装置300のCPU301は、プログラム321をHDD304から読み出して実行することにより、以下に説明する画像処理方法の各工程を実行する。
The schematic configuration of the production apparatus according to the second exemplary embodiment and the configuration of the image processing apparatus are the same as those shown in FIGS. 2 and 3 of the first exemplary embodiment.
Hereinafter, model creation and pattern matching execution (image processing method) by the
モデル作成の全体の流れは、実施形態1の図4と同様である。特に、図4のステップS100、S200は実施形態1と同様であるが、本実施形態では、複数の仮モデルの作成(図4:S300)は、図16のような処理によって行う。 The overall flow of model creation is the same as in FIG. 4 of the first embodiment. In particular, steps S100 and S200 of FIG. 4 are the same as those of the first embodiment, but in the present embodiment, the creation of a plurality of temporary models (FIG. 4: S300) is performed by the process shown in FIG.
図16の仮モデルの作成では、図4のステップS100で取得した参照画像内のステップS200で設定した領域を基準領域として、基準領域の大きさや形状を変更して複数の仮モデルを作成する。図16の処理の全体の流れは、前述の図5の処理の流れと類似しており、まずステップS309にて、ある大きさや形状を有する基準領域について参照画像から部分画像を切り出し、仮モデルを作成し、HDD304に記憶する。その後、ステップS310で、大きさや形状を変更した全ての基準領域のそれぞれに対する仮モデルの作成が完了したかを判定しながら、ステップS311、S312を繰り返し実行する。
In the creation of the temporary model of FIG. 16, the area set in step S200 in the reference image acquired in step S100 of FIG. 4 is used as the reference area, and the size and shape of the reference area are changed to create a plurality of temporary models. The overall flow of the processing of FIG. 16 is similar to the flow of the processing of FIG. 5 described above. First, in step S309, a partial image is cut out from the reference image for the standard region having a certain size and shape, and the temporary model is created. Created and stored in
図16のステップS311では、仮モデルの基準領域の定義(大きさや形状)を変更する。ここでは、基準領域が矩形であれば領域の幅、高さを、円形であれば直径の大きさを変更した領域を作成する。また、基準領域の中心を基準位置として、矩形や円形等様々な形状の変更も行うようにしてもよい。ステップS311では、基準領域に対して、上記のように何らかの一つの変更を加えた領域を作成する。 In step S311 of FIG. 16, the definition (size and shape) of the reference area of the temporary model is changed. Here, if the reference area is rectangular, the width and height of the area are changed, and if the reference area is circular, the diameter is changed. Further, various shapes such as a rectangle and a circle may be changed with the center of the reference area as the reference position. In step S311, a region in which some one change is added to the reference region as described above is created.
ステップS312では、参照画像から、ステップS311で作成した領域に対応する部分画像を切り出し、パターンマッチング用の仮モデルとしてHDD304に記憶させる。ステップS310では、基準領域の変更とそれに基づいた仮モデルの作成を実行することによって、所定数の仮モデルを作成したか否かを判定し、このステップが肯定された場合には仮モデル作成処理を終了する。ステップS310が否定された場合には、ステップS311に進み、上記の処理を繰り返す。
In step S312, a partial image corresponding to the area created in step S311 is cut out from the reference image and stored in the
以下では、例えば、基準領域を矩形領域とし、与えられた基準領域の幅と高さを3通りずつ変更した全部で9通りの仮モデルを作成するものとする。 In the following, for example, it is assumed that the reference area is a rectangular area and the width and height of the given reference area are changed by 3 ways, respectively, to create 9 types of temporary models in total.
本実施形態において、仮モデルの評価値算出処理の全体の流れは、上述の図10とほぼ同様である。図10のステップS401では、作成した複数の仮モデルから一つの仮モデルを選択する。続いて、ステップS402で、実施形態1と同様に事前に用意しておいた評価用画像に対して、パターンマッチングを実行する。この処理は、実施形態1とは異なり、以下に示すような輝度ベースのパターンマッチング処理を行う。 In the present embodiment, the overall flow of the evaluation value calculation process of the temporary model is almost the same as in FIG. 10 described above. In step S401 of FIG. 10, one temporary model is selected from the created multiple temporary models. Subsequently, in step S402, pattern matching is performed on the evaluation image prepared in advance as in the first embodiment. This process is different from the first embodiment, and the following brightness-based pattern matching process is performed.
例えば、図11に示すように、仮モデルと同じ大きさの抽出窓を評価用画像内でピクセル単位で範囲をずらしながら、評価用画像から仮モデルに対応する大きさの部分画像を抽出する。そして、抽出した部分画像と仮モデルとのマッチングスコアRを下式(6)により求める。 For example, as shown in FIG. 11, a partial image having a size corresponding to the temporary model is extracted from the evaluation image while shifting the range of the extraction window having the same size as the temporary model in the evaluation image in pixel units. Then, the matching score R between the extracted partial image and the temporary model is calculated by the following equation (6).
上式(6)において、画像内の位置(i、j)とは、評価用画像から仮モデルに対応する大きさの画像を抽出した部分画像内と仮モデル内の位置に相当する。このスコアの値は1が最も類似性が高く、−1が最も低いことを示す。評価用画像内の全ての探索位置でのスコア計算が完了すると、パターンマッチングが終了となる。全て探索位置でのスコア計算が完了していなければ、次の探索位置に(i、j)を進めて、スコア計算を進める。 In the above formula (6), the position (i, j) in the image corresponds to the positions in the partial image and the temporary model in which the image of the size corresponding to the temporary model is extracted from the evaluation image. As for the value of this score, 1 indicates the highest similarity and −1 indicates the lowest similarity. When the score calculation at all the search positions in the evaluation image is completed, the pattern matching ends. If score calculation has not been completed for all search positions, (i, j) is advanced to the next search position, and score calculation is advanced.
このパターンマッチングを実行する際に、所定のスコア閾値以上のスコアが算出された場合、そのマッチングスコアRと位置(i、j)をRAM303に記憶しておく。これにより、実施形態1と同様に図12に示すように、ある評価用画像に対するある仮モデルのスコアマップが生成される。所定のスコア閾値を−1に設定すれば評価用画像内の全ての位置のスコアマップが生成されることになる。
When a score equal to or higher than a predetermined score threshold is calculated when executing this pattern matching, the matching score R and the position (i, j) are stored in the
以上のようにしてスコアマップを生成した後は、実施形態1と同様に図10のステップS403〜S406を実行し、全ての仮モデルに対して評価値を算出することができる。さらに、図4のステップS500のモデル自動設定(複数の仮モデルの中から本モデルを選択)も実施形態1と同様に実施することができる。 After the score map is generated as described above, steps S403 to S406 of FIG. 10 can be executed in the same manner as in the first embodiment to calculate the evaluation value for all the temporary models. Further, the model automatic setting (selecting this model from a plurality of temporary models) in step S500 of FIG. 4 can be performed in the same manner as in the first embodiment.
以上に示したように、パターンマッチングの演算方式が異なる場合、例えば、本実施形態のように輝度ベースのパターンマッチングを行う場合でも、スコア値の計算方式を適宜定めておけば、モデルの自動作成が可能である。当然ながら、以上のようにして作成されたモデルを実際のパターンマッチングを行う場合は、モデル作成時と同じ輝度ベースのパターンマッチングを実行する。図2のような生産ラインでは、CPU301は、前記ステップにて作成された本モデルとカメラ500で撮影された画像とでパターンマッチングを実行することにより、実際の生産機器200が稼働することになる。
As described above, when the pattern matching calculation method is different, for example, even when the brightness-based pattern matching is performed as in the present embodiment, if the score value calculation method is appropriately determined, the model is automatically created. Is possible. As a matter of course, when the model created as described above is actually subjected to pattern matching, the same brightness-based pattern matching as that at the time of model creation is executed. In the production line as shown in FIG. 2, the
本実施形態によれば、パターンマッチングが輝度ベースで行われる場合でも、スコアマップを用いた演算によって、実際の製造工程における画像処理に利用するマッチングモデルを自動作成することができる。以上では、画像処理に利用されるパターンマッチングが、実施形態1のような形状(連結エッジ)ベースのものである場合、あるいは実施形態2のような輝度ベースのものである場合の例を示した。しかしながら、本発明のスコアマップを用いた演算によるモデル生成技術は、マッチングスコアを算出できるパターンマッチングを行うのであれば、パターンマッチングの処理形態を問わず様々なパターンマッチングのモデル作成に実施可能である。 According to the present embodiment, even when the pattern matching is performed on the basis of the brightness, it is possible to automatically create the matching model used for the image processing in the actual manufacturing process by the calculation using the score map. In the above, an example in which the pattern matching used for image processing is shape-based (connected edge) -based as in the first embodiment or luminance-based as in the second embodiment has been shown. .. However, the model generation technique by calculation using the score map of the present invention can be implemented in various pattern matching model creation regardless of the pattern matching processing mode, as long as pattern matching capable of calculating a matching score is performed. ..
本発明は、上述実施例の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステムまたは装置に供給し、システムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えばASIC)によっても実現可能である。 The present invention also provides a process of supplying a program that implements one or more functions of the above-described embodiment to a system or apparatus via a network or a storage medium, and causing one or more processors in a computer of the system or apparatus to read and execute the program. It is feasible. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
1012…モデル、200…生産機器、300…画像処理装置、401…ロボット、500…カメラ、400…ロボット制御装置、301…CPU、302…ROM、303…RAM。
Claims (19)
前記複数の仮モデルの各々と、前記パターンマッチングの対象物が記録された複数の評価画像の各々とでパターンマッチングを行い、前記複数の仮モデルの各々と前記複数の評価画像の各々との間のマッチングスコアを求め、前記複数の仮モデルの各々について、各評価画像内において類似度が最大となる第1のマッチングスコアを集合した第1のマッチングスコア群と、前記各評価画像内において類似度が前記第1のマッチングスコアよりも小さな第2のマッチングスコアを集合した第2のマッチングスコア群と、を取得するマッチングスコア取得工程と、
前記複数の仮モデルの各々について、前記第1のマッチングスコア群と前記第2のマッチングスコア群とから評価値を算出する評価工程と、
算出された前記評価値に基づいて前記複数の仮モデルの中からマッチングモデルを決定する決定工程と、
を備えたことを特徴する画像処理方法。 A temporary model creating step of creating a plurality of temporary models for pattern matching using a reference image in which an object of pattern matching is recorded,
Pattern matching is performed between each of the plurality of temporary models and each of the plurality of evaluation images in which the pattern matching target is recorded, and between each of the plurality of temporary models and each of the plurality of evaluation images. A matching score of each of the plurality of temporary models, and a first matching score group in which the first matching score having the maximum similarity in each evaluation image is aggregated, and the similarity in each evaluation image. A second matching score group in which a second matching score smaller than the first matching score is collected, and a matching score acquiring step,
An evaluation step of calculating an evaluation value from the first matching score group and the second matching score group for each of the plurality of temporary models;
A determining step of determining a matching model from the plurality of temporary models based on the calculated evaluation value;
An image processing method comprising:
前記パターンマッチング工程の結果を用いてワークの位置および姿勢を認識する認識工程と、
前記認識工程で得られた情報を用いて、前記ワークを用いて物品を生産する生産制御工程と、
を含む物品の製造方法。 Each step of the image processing method according to claim 12,
A recognition step of recognizing the position and orientation of the work using the result of the pattern matching step;
A production control step of producing an article using the work, using the information obtained in the recognition step;
A method of manufacturing an article including.
前記パターンマッチング工程の結果を用いてワークを検査する検査工程と、
前記検査工程の検査結果に応じて、前記ワークを用いて物品を生産する生産制御工程と、
を含む物品の製造方法。 Each step of the image processing method according to claim 12,
An inspection step of inspecting the work using the result of the pattern matching step,
A production control step of producing an article using the work according to the inspection result of the inspection step;
A method of manufacturing an article including.
前記複数の仮モデルの各々と、前記パターンマッチングの対象物が記録された複数の評価画像の各々とでパターンマッチングを行い、前記複数の仮モデルの各々と前記複数の評価画像の各々との間のマッチングスコアを求め、
前記複数の仮モデルの各々について、
各評価画像内において類似度が最大となる第1のマッチングスコアを集合した第1のマッチングスコア群と、
前記各評価画像内において類似度が前記第1のマッチングスコアよりも小さな第2のマッチングスコアを集合した第2のマッチングスコア群と、
を取得するマッチングスコア取得部と、
前記複数の仮モデルの各々について、前記第1のマッチングスコア群と前記第2のマッチングスコア群とから評価値を算出する評価部と、
算出された前記評価値に基づいて前記複数の仮モデルからマッチングモデルを決定する決定部と、を備えたことを特徴する画像処理装置。 A temporary model creation unit that creates a plurality of temporary models for pattern matching using a reference image in which an object of pattern matching is recorded,
Pattern matching is performed between each of the plurality of temporary models and each of the plurality of evaluation images in which the pattern matching target is recorded, and between each of the plurality of temporary models and each of the plurality of evaluation images. Find the matching score of
For each of the plurality of temporary models,
A first matching score group in which first matching scores having the highest degree of similarity in each evaluation image are collected,
A second matching score group in which a second matching score whose similarity is smaller than the first matching score in each of the evaluation images is collected;
A matching score acquisition unit that acquires
An evaluation unit that calculates an evaluation value from the first matching score group and the second matching score group for each of the plurality of temporary models,
An image processing apparatus, comprising: a determination unit that determines a matching model from the plurality of temporary models based on the calculated evaluation value.
ワークを撮像した画像に対して行った前記パターンマッチング部によるパターンマッチングの結果を用いて、前記ワークに対する生産処理を実行する生産機器と、
を有する生産システム。 An image processing apparatus according to claim 18,
Using a result of pattern matching by the pattern matching unit performed on an image of a workpiece, a production device that executes a production process for the workpiece,
Production system with.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/661,262 US11200632B2 (en) | 2018-11-09 | 2019-10-23 | Image processing method and image processing apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018211413 | 2018-11-09 | ||
JP2018211413 | 2018-11-09 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2020077397A true JP2020077397A (en) | 2020-05-21 |
JP2020077397A5 JP2020077397A5 (en) | 2022-10-24 |
JP7404017B2 JP7404017B2 (en) | 2023-12-25 |
Family
ID=70724244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019185678A Active JP7404017B2 (en) | 2018-11-09 | 2019-10-09 | Image processing method, image processing device, production system, article manufacturing method, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7404017B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220083570A (en) | 2020-12-11 | 2022-06-20 | 주식회사 히타치하이테크 | Computer system and processing method of observing device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002032753A (en) * | 2000-07-19 | 2002-01-31 | Matsushita Electric Ind Co Ltd | Method for recognizing image |
JP2009245287A (en) * | 2008-03-31 | 2009-10-22 | Fujitsu Ltd | Image tracking device, method and program |
JP2014021684A (en) * | 2012-07-18 | 2014-02-03 | Hitachi High-Technologies Corp | Template preparation device of measurement device |
-
2019
- 2019-10-09 JP JP2019185678A patent/JP7404017B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002032753A (en) * | 2000-07-19 | 2002-01-31 | Matsushita Electric Ind Co Ltd | Method for recognizing image |
JP2009245287A (en) * | 2008-03-31 | 2009-10-22 | Fujitsu Ltd | Image tracking device, method and program |
JP2014021684A (en) * | 2012-07-18 | 2014-02-03 | Hitachi High-Technologies Corp | Template preparation device of measurement device |
Non-Patent Citations (2)
Title |
---|
GANG WANG ET AL.: ""A template extraction approach for image recognition"", 2012 INTERNATIONAL SYMPOSIUM ON INFORMATION TECHNOLOGIES IN MEDICINE AND EDUCATION, JPN6023033885, 3 August 2012 (2012-08-03), US, pages 932 - 935, XP032228964, ISSN: 0005195206, DOI: 10.1109/ITiME.2012.6291456 * |
斉藤 文彦: ""遺伝的アルゴリズムを用いた画素選択テンプレートによる画像マッチング"", 電子情報通信学会論文誌, vol. 84, no. 3, JPN6023033884, 1 March 2001 (2001-03-01), JP, pages 488 - 499, ISSN: 0005195205 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220083570A (en) | 2020-12-11 | 2022-06-20 | 주식회사 히타치하이테크 | Computer system and processing method of observing device |
Also Published As
Publication number | Publication date |
---|---|
JP7404017B2 (en) | 2023-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10997465B2 (en) | Information processing device, information processing method, and storage medium | |
US9621793B2 (en) | Information processing apparatus, method therefor, and measurement apparatus | |
TWI419081B (en) | Method and system for providing augmented reality based on marker tracing, and computer program product thereof | |
JP5699788B2 (en) | Screen area detection method and system | |
JP5671281B2 (en) | Position / orientation measuring apparatus, control method and program for position / orientation measuring apparatus | |
CN112837371A (en) | Object grabbing method and device based on 3D matching and computing equipment | |
CN110926330B (en) | Image processing apparatus, image processing method, and program | |
US10572762B2 (en) | Image processing method for performing pattern matching for detecting a position of a detection target | |
US9805443B2 (en) | Image processing method, image processing apparatus, program, storage medium, production apparatus, and method of producing assembly | |
JP7070153B2 (en) | Visual inspection system, visual inspection result display method, and visual inspection result display program | |
US20150310617A1 (en) | Display control device and display control method | |
US20180247150A1 (en) | Information processing device, information processing method, and article manufacturing method | |
JP2004213332A (en) | Calibration device, calibration method, program for calibration, and calibration mending tool | |
US20130058526A1 (en) | Device for automated detection of feature for calibration and method thereof | |
JP6483168B2 (en) | System and method for efficiently scoring a probe in an image with a vision system | |
US11590657B2 (en) | Image processing device, control method thereof, and program storage medium | |
JP5262705B2 (en) | Motion estimation apparatus and program | |
US10623629B2 (en) | Imaging apparatus and imaging condition setting method and program | |
JP5976089B2 (en) | Position / orientation measuring apparatus, position / orientation measuring method, and program | |
US20210042576A1 (en) | Image processing system | |
JP7404017B2 (en) | Image processing method, image processing device, production system, article manufacturing method, program, and recording medium | |
CN111199533B (en) | Image processing apparatus and method | |
US11200632B2 (en) | Image processing method and image processing apparatus | |
JP6337530B2 (en) | Image processing apparatus, image processing method, and image processing program | |
CN114902281A (en) | Image processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200206 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20200207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221006 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221006 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230817 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230822 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231020 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231213 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7404017 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |