JP2010097436A - Positioning method for pattern model in image processing, image processing apparatus, image processing program and computer-readable recording medium - Google Patents

Positioning method for pattern model in image processing, image processing apparatus, image processing program and computer-readable recording medium Download PDF

Info

Publication number
JP2010097436A
JP2010097436A JP2008267976A JP2008267976A JP2010097436A JP 2010097436 A JP2010097436 A JP 2010097436A JP 2008267976 A JP2008267976 A JP 2008267976A JP 2008267976 A JP2008267976 A JP 2008267976A JP 2010097436 A JP2010097436 A JP 2010097436A
Authority
JP
Japan
Prior art keywords
image
edge
search
segment
pattern model
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.)
Pending
Application number
JP2008267976A
Other languages
Japanese (ja)
Inventor
Manabu Kido
学 木戸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Keyence Corp
Original Assignee
Keyence Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Keyence Corp filed Critical Keyence Corp
Priority to JP2008267976A priority Critical patent/JP2010097436A/en
Publication of JP2010097436A publication Critical patent/JP2010097436A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To stably obtain a result of precise positioning regardless of the graphics of a search target image. <P>SOLUTION: There is provided a positioning method of a pattern model in image processing for, when searching and positioning a search object similar to a preregistered image from search target images by using a pattern model corresponding to the pertinent registered image, calculating an error value to be used for calculation by a method of least square with a position relation between a point under consideration and a corresponding point corresponding to the point under consideration, and for solving simultaneous equations obtained by the method of least square from those values, and for carrying out positioning with higher precision than an initial position given with prescribed precision. The method of least square includes an item which becomes minimum when it is matched with an ideal position and an item which becomes minimum when it is matched with a trial parameter as the variables of the method of least square. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、予め登録された登録画像に対応するパターンモデルを用いて、サーチ対象画像中から該登録画像に類似するサーチ対象物をサーチして位置決めを行う際に、より高い精度で精密位置決めを行う画像処理におけるパターンモデルの位置決め方法、画像処理装置、画像処理プログラム及びコンピュータで読み取り可能な記録媒体に関する。   The present invention uses a pattern model corresponding to a registered image registered in advance to perform precise positioning with higher accuracy when searching for a search target similar to the registered image from the search target images. The present invention relates to a pattern model positioning method, an image processing apparatus, an image processing program, and a computer-readable recording medium in image processing to be performed.

撮像素子で撮像した画像を処理する画像処理装置は一般に、画像処理対象物(以下、「ワーク」とも呼ぶ)を撮像する撮像装置と、その撮像装置により撮像した画像のデータを記憶する画像データ記憶手段と、画像データ記憶手段に記憶された画像データを処理する画像データ処理手段とを備える。例えば、撮像装置をCCDカメラで構成した画像処理装置においては、撮像面を構成する多数の電荷結合素子の各電荷量に基づいて256階調や1024階調等の輝度データ(いわゆる多値データ)を得、それによりサーチ対象物であるワークのサイズ、位置、回転角度等を求めることができる。従来、画像データを処理して画像処理でサーチ対象物をサーチする手法として、画像間の画素差分値の絶対値の合計値をサーチに用いた差分サーチや、画像間の正規化相関値をサーチに用いた正規化相関サーチ等が知られている。これらのサーチは予めサーチしたいサーチ対象物をテンプレート画像として登録して、その画像に基づいて、サーチ対象画像中からサーチ対象物のサーチを実行する。これらのサーチ処理においては、従来は画像データを使った領域ベースのサーチが主流であった。しかしながら、このような従来の、画像の濃淡等に基づく領域ベースのサーチは、画像撮像時の照度変化等の影響を受けやすいといった問題があった。   An image processing apparatus that processes an image picked up by an image pickup element is generally an image pickup apparatus that picks up an image processing object (hereinafter also referred to as “work”), and an image data storage that stores data of the image picked up by the image pickup apparatus. And image data processing means for processing the image data stored in the image data storage means. For example, in an image processing apparatus in which the image pickup apparatus is constituted by a CCD camera, luminance data (so-called multi-value data) such as 256 gradations and 1024 gradations based on the respective charge amounts of a large number of charge-coupled elements constituting the image pickup surface. Thus, the size, position, rotation angle, etc. of the workpiece that is the search object can be obtained. Conventionally, as a technique for processing image data and searching for a search target by image processing, a difference search using a total value of absolute values of pixel difference values between images or a normalized correlation value between images is searched. The normalized correlation search used for the above is known. In these searches, a search object to be searched is registered in advance as a template image, and a search for the search object is executed from the search object image based on the image. In these search processes, an area-based search using image data has been the mainstream. However, such a conventional region-based search based on the density of an image has a problem that it is easily influenced by an illuminance change at the time of image capturing.

一方で、登録画像とサーチ対象画像に対してエッジ抽出処理を行って、エッジ情報に基づきサーチを行う方法も提案されている。この方法では、画像データを構成する画素の濃度値でなく濃度値の変化量に基づいたエッジデータを用いるため、撮像時の照度の変動による影響を受け難いという利点が得られる。特に近年は、そのロバスト性の高さからエッジを特徴量としたエッジベースのパターンサーチが注目を集め、工業用途等での実用化が行われている。   On the other hand, a method has also been proposed in which edge extraction processing is performed on a registered image and a search target image and a search is performed based on edge information. In this method, since edge data based on the amount of change in density value is used instead of the density value of the pixels constituting the image data, there is an advantage that it is difficult to be affected by fluctuations in illuminance during imaging. In particular, in recent years, edge-based pattern search using edges as a feature amount has attracted attention due to its robustness and has been put to practical use in industrial applications and the like.

パターンサーチの処理速度を向上させる手法として、コース・トゥ・ファイン(coarse to fine)のアプローチが知られている。すなわち、最初に低解像度の画像(コース画像)を用いて粗くサーチし、大まかな位置を特定した後に、高解像度の画像(ファイン画像)を用い、詳細な位置決めを行うことで位置や姿勢の精度を高めている。コース・トゥ・ファイン型のテンプレートマッチングでエッジベースのサーチを行う場合は、オリジナルデータに対して圧縮(「間引き」等とも呼ばれる。)した粗いデータでサーチを行い、大まかな位置を特定した上で、詳細なデータを用いてサーチを行うピラミッドサーチが利用される。ピラミッドサーチの概念を図87に示す。この図に示すように、縮小率の高い、低解像度の画像を用いて粗いサーチ(「粗サーチ」等と呼ばれる。)を行い、大まかな位置を求めた後、解像度を上げた中間の縮小率でその近辺のサーチを行い、最終的にオリジナルサイズ又はそれに近い縮小率の画像に対して詳細なサーチを行う。このようにピラミッドサーチにおいては一般に、解像度を変更した複数の画像を用意し、まず最低解像度の画像で概略位置を検出する。以降の処理では、徐々に解像度を高めながら、探索の範囲を前回の検出位置近傍に絞って探索する。これにより、処理の段階が進む毎に検出位置の精度が高まり、最終的に元画像又はそれに近い解像度で高精度の位置の検出が可能となる。この方法では広い探索範囲を解像度の低い画像で探索することで、効率良く位置検出が行える。   As a technique for improving the processing speed of pattern search, a “coarse to fine” approach is known. In other words, first, a rough search is performed using a low-resolution image (course image), a rough position is specified, and then a high-resolution image (fine image) is used to perform detailed positioning to obtain position and posture accuracy. Is increasing. When performing edge-based search using course-to-fine template matching, the original data is compressed (also called “thinning” etc.) and the search is performed with coarse data to specify the approximate position. Pyramid search that performs a search using detailed data is used. The concept of the pyramid search is shown in FIG. As shown in this figure, a rough search (called “rough search” or the like) is performed using a low-resolution image with a high reduction ratio, and after obtaining a rough position, an intermediate reduction ratio with an increased resolution. Then, a search in the vicinity is performed, and finally a detailed search is performed on an image having an original size or a reduction ratio close thereto. As described above, in the pyramid search, generally, a plurality of images with different resolutions are prepared, and first, the approximate position is detected from the image with the lowest resolution. In the subsequent processing, the search range is narrowed down to the vicinity of the previous detection position while gradually increasing the resolution. As a result, the accuracy of the detection position increases each time the processing stage proceeds, and finally, a highly accurate position can be detected with the original image or a resolution close thereto. In this method, the position can be detected efficiently by searching a wide search range with an image having a low resolution.

このようなコース・トゥ・ファイン型のテンプレートマッチングで位置や姿勢を高精度に求める精密位置決めに関する技術としては、特許文献1の画像処理装置が知られている。また、このような精密位置決めにおいては、従来最小二乗法が多く利用されてきた。   An image processing apparatus disclosed in Patent Document 1 is known as a technique related to precise positioning for obtaining a position and orientation with high accuracy by such course-to-fine template matching. In such precision positioning, the least square method has been widely used.

従来の最小二乗法を用いた精密位置決めにおいては、点と接線の距離をエラー関数として演算されている。図47及び図48に基づいて、従来の最小二乗法を用いた精密位置決めの例として、一部を平面状に切り欠いたワークのパターンマッチングを行う場合を説明する。これらの図において、図47は粗サーチを行い、ある程度の位置決めが終了した状態を、図48はさらに精密位置決めを行ってパターンモデルPMをサーチ対象画像に重ねようとした状態を、それぞれ示している。またこれらの図において、太線はパターンモデルPMを、細線はサーチ対象画像のエッジ点(入力エッジ点IE)を、それぞれ示す。さらに入力エッジ点IEの注目点を破線矢印で示すと共に、この入力エッジ点の接線SLを破線で示す。なお実際の接線SLはもっと短く、細線のパターンモデルPMに重なる状態で存在しているが、これらの図においては説明の便宜上長く表示している。   In precision positioning using a conventional least square method, the distance between a point and a tangent is calculated as an error function. Based on FIG. 47 and FIG. 48, the case of performing pattern matching of a workpiece with a part cut out in a planar shape will be described as an example of precision positioning using a conventional least square method. In these drawings, FIG. 47 shows a state in which a rough search has been performed and a certain degree of positioning has been completed, and FIG. 48 shows a state in which fine positioning has been performed and the pattern model PM has been attempted to be superimposed on the search target image. . In these drawings, the thick line indicates the pattern model PM, and the thin line indicates the edge point (input edge point IE) of the search target image. Further, the attention point of the input edge point IE is indicated by a broken line arrow, and the tangent SL of the input edge point is indicated by a broken line. The actual tangent line SL is shorter and exists in a state where it overlaps the fine line pattern model PM. However, in these drawings, the tangent line SL is displayed longer for convenience of explanation.

最小二乗法では、入力エッジ点と接線SLの距離をエラー関数とし、この距離が小さくなるようにパターンモデルPMを移動(回転)させる。今、図47のように粗サーチの結果、ある程度パターンモデルPMと入力エッジ点が重なっている状態にあるとする。この状態からさらに精密位置決めを行うならば、図48に示すようにパターンモデルPMを時計回りに回転させて(あるいは入力エッジ点側を時計回りに回転させて)パターンモデルPMと入力エッジ点とを一致させることが期待される。   In the least square method, the distance between the input edge point and the tangent SL is used as an error function, and the pattern model PM is moved (rotated) so that this distance becomes small. Now, it is assumed that the pattern model PM and the input edge point are overlapped to some extent as a result of the rough search as shown in FIG. If further precise positioning is performed from this state, the pattern model PM is rotated clockwise (or the input edge point side is rotated clockwise) as shown in FIG. Expected to match.

このように最小二乗法を用いた位置合わせでは、エラー値が0になる方向に移動、回転させる。ところが、本発明者が鋭意研究した結果、特定の条件下では精密位置決めに際して最小二乗法を使用した場合に、精度が悪くなる方向に移動、回転する現象が見られた。例えば、図85に示す円状のような対称性の高い図形に対して精密位置決めを行う場合、円の中心を回転軸として回転させてもエラー値が殆ど変化しないため、いずれの方向にも回転できることとなる。このため、本来の回転すべき方向とは逆の方向に回転することが生じ得、結果としてエラー値が収束せず、精密位置決めに失敗することが発生する。精密位置決めの初期位置としては、粗いサーチで得られた大まかな位置が与えられるが、この大まかな位置よりも、精密位置決めの結果が却って悪くなるという事態も起こり得、安定したパターンサーチの障害となっていた。
特許第3759983号公報 特開平7−128017号公報 米国特許第6408109B1号明細書
As described above, in the alignment using the least square method, the error value is moved and rotated in the direction in which the error value becomes zero. However, as a result of diligent research by the present inventor, there was a phenomenon in which movement and rotation in a direction in which the accuracy deteriorates when the least square method is used for precise positioning under specific conditions. For example, when precise positioning is performed for a highly symmetrical figure such as a circle shown in FIG. 85, the error value hardly changes even if the circle is rotated around the center of rotation, so it rotates in either direction. It will be possible. For this reason, it is possible to rotate in the direction opposite to the original direction of rotation, and as a result, the error value does not converge and precise positioning fails. The rough position obtained by the rough search is given as the initial position of the fine positioning, but the situation that the result of the fine positioning becomes worse than this rough position may occur, which is an obstacle to stable pattern search. It was.
Japanese Patent No. 3759983 JP-A-7-128017 US Pat. No. 6,408,109 B1

本発明は、このような状況に鑑みてなされたものである。本発明の主な目的は、サーチ対象画像の図形によらず、精密位置決めの結果を安定して得ることのできる画像のデータ圧縮方法、画像処理におけるパターンモデルの位置決め方法、画像処理装置、画像処理プログラム及びコンピュータで読み取り可能な記録媒体を提供することにある。   The present invention has been made in view of such a situation. A main object of the present invention is to provide an image data compression method, a pattern model positioning method in image processing, an image processing apparatus, and an image processing capable of stably obtaining a result of precise positioning regardless of a figure of a search target image. To provide a recording medium readable by a program and a computer.

課題を解決するための手段及び発明の効果Means for Solving the Problems and Effects of the Invention

上記目的を実現するために、第1の画像処理におけるパターンモデルの位置決め方法は、予め登録された登録画像に対応するパターンモデルを用いて、サーチ対象画像中から該登録画像に類似するサーチ対象物をサーチして位置決めを行う際に、注目点と、該注目点に対応する対応点との位置関係で最小二乗法計算で用いるエラー値を演算し、これらの値から最小二乗法で得られる連立方程式を解き、所定の精度で与えられた初期位置よりも高い精度で位置決めを行う画像処理におけるパターンモデルの位置決め方法であって、前記最小二乗法が、理想の位置と一致したときに最小となる項と、最小二乗法の変数である試行パラメータと一致したときに最小となる項とを含むことができる。このように最小二乗法の演算において、試行パラメータの変化量が大きくなるにつれてエラー値が大きくなる項を追加したことで、両方の項が小さくなるような方向に解を探すこととなり、位置決めに際して誤った方向に回転したり発散するといった事態を回避でき、位置決め結果を安定できる効果が得られる。   In order to achieve the above object, a pattern model positioning method in the first image processing uses a pattern model corresponding to a registered image registered in advance, and a search target similar to the registered image from search target images. When performing positioning by searching for an error value used in the least-squares method calculation based on the positional relationship between the point of interest and the corresponding point corresponding to the point of interest, and simultaneous values obtained by these methods using the least-squares method A pattern model positioning method in image processing that solves an equation and performs positioning with higher accuracy than an initial position given with a predetermined accuracy, and is minimized when the least squares method matches an ideal position. It is possible to include a term and a term that becomes minimum when it matches a trial parameter that is a least squares variable. In this way, in the least squares method, by adding a term that increases the error value as the amount of change in the trial parameter increases, the solution is searched in such a direction that both terms become smaller. It is possible to avoid the situation of rotating or diverging in a different direction and stabilizing the positioning result.

また、第2の画像処理におけるパターンモデルの位置決め方法は、予め登録された登録画像に対応するパターンモデルを用いて、サーチ対象画像中から該登録画像に類似するサーチ対象物をサーチして位置決めを行う際に、所定の精度で与えられた初期位置よりも高い精度で位置決めを行う画像処理におけるパターンモデルの位置決め方法であって、サーチ対象画像を取得すると共に、該サーチ対象画像中に含まれる登録画像に対応する初期位置を取得し、該初期位置に従って、前記パターンモデルをサーチ対象画像上に重ねるように配置して、前記パターンモデルを構成する各セグメントに対応するサーチ対象画像上の個々の対応エッジ点を求める工程と、各セグメントと、その対応エッジ点との距離を第1エラー値として定義された最小二乗法の、第1エラー値の累積値を演算する第1エラー関数と、前記第1エラー関数における変数である試行パラメータを変化させる際の該変化量を第2エラー値とし、該第2エラー値の累積値を演算する第2エラー関数と、を含む最小二乗法の演算式を演算して、前記第1エラー関数と第2エラー関数の和が最小となるように、前記与えられた初期位置の精度よりも高い精度で精密位置決めを行う工程と、を含むことができる。これにより最小二乗法の演算において、理想の位置を求める試行パラメータの変化量が大きくなるにつれて第2エラー値が大きくなるように設定されるため、試行パラメータの大きな変位を解としてしまう事態を回避でき、精密位置決め結果の安定性を高められる。   The pattern model positioning method in the second image processing uses a pattern model corresponding to a registered image registered in advance to search for a search object similar to the registered image from the search target image and perform positioning. A pattern model positioning method in image processing in which positioning is performed with higher accuracy than an initial position given with a predetermined accuracy, and a search target image is obtained and registered in the search target image An initial position corresponding to the image is obtained, and according to the initial position, the pattern model is arranged so as to overlap the search target image, and individual correspondence on the search target image corresponding to each segment constituting the pattern model The minimum step defined as the first error value is the step of obtaining the edge point and the distance between each segment and its corresponding edge point. A first error function for calculating a cumulative value of the first error value of multiplication, and a change amount when changing a trial parameter which is a variable in the first error function is a second error value, and the second error value And a second error function for calculating a cumulative value of the first error function, and calculating the least squares arithmetic expression, so that the sum of the first error function and the second error function is minimized. And a step of performing precise positioning with higher accuracy than the accuracy of. As a result, in the least squares calculation, the second error value is set to increase as the amount of change in the trial parameter for obtaining the ideal position increases, so that a situation in which a large displacement of the trial parameter is solved can be avoided. The stability of precision positioning results can be improved.

さらにまた、第3の画像処理におけるパターンモデルの位置決め方法は、前記第2エラー関数を、最小二乗法の試行パラメータをPi、試行パラメータの初期値をP0iとするとき、Pi−P0iの関数とできる。 Furthermore, in the pattern model positioning method in the third image processing, when the second error function is P i as the trial parameter of the least square method and the initial value of the trial parameter is P 0i , P i −P 0i Can be a function of

さらにまた、第4の画像処理におけるパターンモデルの位置決め方法は、前記第2エラー関数を、   Furthermore, the pattern model positioning method in the fourth image processing includes the second error function,

とできる。 And can.

さらにまた、第5の画像処理装置は、予め登録された登録画像に対応するパターンモデルを用いて、サーチ対象画像中から該登録画像に類似するサーチ対象物をサーチして位置決めを行う際に、予め所定の精度で与えられた初期位置よりも高い精度で位置決めを行う画像処理装置であって、登録画像及びサーチ対象画像を取得する画像入力手段と、前記画像入力手段で取得された登録画像から輪郭を抽出する輪郭抽出手段と、前記輪郭抽出手段で抽出された輪郭から複数のエッジ点を抽出し、抽出された複数のエッジ点の内、隣接しているエッジ点同士を連結して連続したチェーンを作成するチェーン作成手段と、前記チェーン作成手段で作成された一以上のチェーンに対して、各々線分及び/又は円弧で近似したセグメントを作成するセグメント作成手段と、前記セグメント作成手段で作成されたセグメント上に、複数の基点を設定すると共に、各基点に対して、基点を通りかつ輪郭と略直交する所定長さの対応点探索ラインを割り当てた登録画像のパターンモデルを構築するパターンモデル構築手段と、前記画像入力手段で取得されたサーチ対象画像中に含まれる登録画像に対応する初期位置を取得し、該初期位置に従って、前記パターンモデルをサーチ対象画像上に重ねるように配置して、前記パターンモデルを構成する各セグメントに対応するサーチ対象画像上の個々の対応エッジ点を求め、各セグメントと、その対応エッジ点との距離を第1エラー値として定義された最小二乗法を演算し、該エラー値の累積値が最小となるようにすることで、前記当初与えられた初期位置よりも高い精度で精密位置決めを行うための精密位置決め手段と、を備えており、前記精密位置決め手段で用いる最小二乗法のエラー関数が、該第1エラー値を規定する第1エラー関数と、該最小二乗法における変数の試行パラメータからの変化量を第2エラー値とする第2エラー関数とを含むことができる。このように、最小二乗法の演算式に試行パラメータ変化分の項を追加することで、試行パラメータの変化量が大きくなるにつれて第2エラー値が大きくなるため、試行パラメータの大きな変位を解としてしまう事態を回避でき、精密位置決め結果の安定性を高められる。   Furthermore, the fifth image processing apparatus uses a pattern model corresponding to a registered image registered in advance to search for a search object similar to the registered image from the search target image and perform positioning. An image processing apparatus for positioning with higher accuracy than an initial position given in advance with a predetermined accuracy, comprising: an image input means for acquiring a registered image and a search target image; and a registered image acquired by the image input means Contour extraction means for extracting a contour, and a plurality of edge points are extracted from the contour extracted by the contour extraction means, and adjacent edge points are continuously connected among the plurality of extracted edge points. A chain creating means for creating a chain, and a segment for creating a segment approximated by a line segment and / or an arc for each of one or more chains created by the chain creating means. A plurality of base points are set on the segment created by the segment creating means and the segment creating means, and a corresponding point search line having a predetermined length passing through the base point and substantially orthogonal to the contour is assigned to each base point. A pattern model construction means for constructing a pattern model of the registered image, and an initial position corresponding to the registered image included in the search target image obtained by the image input means, and the pattern model is obtained according to the initial position. Each corresponding edge point on the search target image corresponding to each segment constituting the pattern model is obtained by overlapping the search target image, and the distance between each segment and the corresponding edge point is set as the first distance. By calculating a least square method defined as an error value so that the accumulated value of the error value is minimized, the initial position given initially is calculated. A precision positioning means for performing precise positioning with higher accuracy, and a least squares error function used in the precision positioning means includes a first error function that defines the first error value, and And a second error function having a second error value as the amount of change from the trial parameter of the variable in the least square method. In this way, by adding the term of the trial parameter change to the least squares method expression, the second error value increases as the trial parameter change amount increases, so that a large displacement of the trial parameter is solved. The situation can be avoided and the stability of precision positioning results can be improved.

さらにまた、第6の画像処理プログラムは、予め登録された登録画像に対応するパターンモデルを用いて、サーチ対象画像中から該登録画像に類似するサーチ対象物をサーチして位置決めを行う際に、予め所定の精度で与えられた初期位置よりも高い精度で位置決めを行う画像処理プログラムであって、登録画像及びサーチ対象画像を取得する画像入力機能と、前記画像入力機能で取得された登録画像から輪郭を抽出する輪郭抽出機能と、前記輪郭抽出機能で抽出された輪郭から複数のエッジ点を抽出し、抽出された複数のエッジ点の内、隣接しているエッジ点同士を連結して連続したチェーンを作成するチェーン作成機能と、前記チェーン作成機能で作成された一以上のチェーンに対して、各々線分及び/又は円弧で近似したセグメントを作成するセグメント作成機能と、前記セグメント作成機能で作成されたセグメント上に、複数の基点を設定すると共に、各基点に対して、基点を通りかつ輪郭と略直交する所定長さの対応点探索ラインを割り当てた登録画像のパターンモデルを構築するパターンモデル構築機能と、前記画像入力機能で取得されたサーチ対象画像中に含まれる登録画像に対応する初期位置を取得し、該初期位置に従って、前記パターンモデルをサーチ対象画像上に重ねるように配置して、前記パターンモデルを構成する各セグメントに対応するサーチ対象画像上の個々の対応エッジ点を求め、各セグメントと、その対応エッジ点との距離を第1エラー値として定義された最小二乗法を演算し、該エラー値の累積値が最小となるようにすることで、前記当初与えられた初期位置よりも高い精度で精密位置決めを行うための精密位置決め機能と、をコンピュータに実現させるものであり、前記精密位置決め機能で用いる最小二乗法のエラー関数が、該第1エラー値を規定する第1エラー関数と、該最小二乗法における変数の試行パラメータからの変化量を第2エラー値とする第2エラー関数とを含むことができる。このように、最小二乗法の演算式に試行パラメータ変化分の項を追加することで、試行パラメータの変化量が大きくなるにつれて第2エラー値が大きくなるため、試行パラメータの大きな変位を解としてしまう事態を回避でき、精密位置決め結果の安定性を高められる。   Furthermore, the sixth image processing program uses a pattern model corresponding to a registered image registered in advance to search for a search object similar to the registered image from the search target image and perform positioning. An image processing program for positioning with higher accuracy than an initial position given in advance with a predetermined accuracy, from an image input function for acquiring a registered image and a search target image, and a registered image acquired by the image input function A contour extraction function for extracting a contour, and a plurality of edge points are extracted from the contour extracted by the contour extraction function, and the adjacent edge points are continuously connected among the extracted plurality of edge points. A chain creation function for creating a chain and a segment approximated by a line segment and / or arc for each of one or more chains created by the chain creation function. The segment creation function to be formed, and a plurality of base points are set on the segment created by the segment creation function, and for each base point, a corresponding point search line having a predetermined length that passes through the base point and is substantially orthogonal to the contour A pattern model construction function for constructing a pattern model of a registered image to which an image is assigned, an initial position corresponding to a registered image included in a search target image obtained by the image input function, and the pattern according to the initial position The model is arranged so as to overlap the search target image, and each corresponding edge point on the search target image corresponding to each segment constituting the pattern model is obtained, and the distance between each segment and the corresponding edge point is determined. By calculating the least square method defined as the first error value so that the accumulated value of the error value is minimized, the initial value is given. And a precision positioning function for performing precise positioning with higher accuracy than the initial position, and a least squares error function used in the precision positioning function defines the first error value. And a second error function in which the amount of change from the trial parameter of the variable in the least square method is a second error value. In this way, by adding the term of the trial parameter change to the least squares method expression, the second error value increases as the trial parameter change amount increases, so that a large displacement of the trial parameter is solved. The situation can be avoided and the stability of precision positioning results can be improved.

さらにまた第7のコンピュータで読み取り可能な記録媒体は、上記プログラムを格納したものである。記録媒体には、CD−ROM、CD−R、CD−RWやフレキシブルディスク、磁気テープ、MO、DVD−ROM、DVD−RAM、DVD−R、DVD+R、DVD−RW、DVD+RW、Blu−ray等の磁気ディスク、光ディスク、光磁気ディスク、半導体メモリその他のプログラムを格納可能な媒体が含まれる。またプログラムには、上記記録媒体に格納されて配布されるものの他、インターネット等のネットワーク回線を通じてダウンロードによって配布される形態のものも含まれる。さらに記録媒体にはプログラムを記録可能な機器、例えば上記プログラムがソフトウェアやファームウェア等の形態で実行可能な状態に実装された汎用もしくは専用機器を含む。さらにまたプログラムに含まれる各処理や機能は、コンピュータで実行可能なプログラムソフトウエアにより実行してもよいし、各部の処理を所定のゲートアレイ(FPGA、ASIC)等のハードウエア、又はプログラムソフトウエアとハードウェアの一部の要素を実現する部分的ハードウエアモジュールとが混在する形式で実現してもよい。   Furthermore, a seventh computer-readable recording medium stores the above program. Recording media include CD-ROM, CD-R, CD-RW, flexible disk, magnetic tape, MO, DVD-ROM, DVD-RAM, DVD-R, DVD + R, DVD-RW, DVD + RW, Blu-ray, etc. A medium that can store a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, and other programs is included. The program includes a program distributed in a download manner through a network line such as the Internet, in addition to a program stored and distributed in the recording medium. Further, the recording medium includes a device capable of recording the program, for example, a general purpose or dedicated device in which the program is implemented in a state where the program can be executed in the form of software, firmware, or the like. Furthermore, each process and function included in the program may be executed by computer-executable program software, or each part of the process or hardware may be executed by hardware such as a predetermined gate array (FPGA, ASIC), or program software. And a partial hardware module that realizes a part of hardware elements may be mixed.

以下、本発明の実施の形態を図面に基づいて説明する。ただし、以下に示す実施の形態は、本発明の技術思想を具体化するための画像処理におけるパターンモデルの位置決め方法、画像処理装置、画像処理プログラム及びコンピュータで読み取り可能な記録媒体を例示するものであって、本発明は画像処理におけるパターンモデルの位置決め方法、画像処理装置、画像処理プログラム及びコンピュータで読み取り可能な記録媒体を以下のものに特定しない。また、本明細書は特許請求の範囲に示される部材を、実施の形態の部材に特定するものでは決してない。特に実施の形態に記載されている構成部品の寸法、材質、形状、その相対的配置等は特に特定的な記載がない限りは、本発明の範囲をそれのみに限定する趣旨ではなく、単なる説明例にすぎない。なお、各図面が示す部材の大きさや位置関係等は、説明を明確にするため誇張していることがある。さらに以下の説明において、同一の名称、符号については同一もしくは同質の部材を示しており、詳細説明を適宜省略する。さらに、本発明を構成する各要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態様としてもよいし、逆に一の部材の機能を複数の部材で分担して実現することもできる。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the following embodiments exemplify a pattern model positioning method, an image processing apparatus, an image processing program, and a computer-readable recording medium in image processing for embodying the technical idea of the present invention. Therefore, the present invention does not specify a pattern model positioning method, an image processing apparatus, an image processing program, and a computer-readable recording medium in image processing as follows. Further, the present specification by no means specifies the members shown in the claims to the members of the embodiments. In particular, the dimensions, materials, shapes, relative arrangements, and the like of the component parts described in the embodiments are not intended to limit the scope of the present invention unless otherwise specified, and are merely explanations. It's just an example. Note that the size, positional relationship, and the like of the members shown in each drawing may be exaggerated for clarity of explanation. Furthermore, in the following description, the same name and symbol indicate the same or the same members, and detailed description thereof will be omitted as appropriate. Furthermore, each element constituting the present invention may be configured such that a plurality of elements are constituted by the same member and the plurality of elements are shared by one member, and conversely, the function of one member is constituted by a plurality of members. It can also be realized by sharing.

本発明の実施例において使用される画像処理装置とこれに接続される操作、制御、表示、その他の処理等のためのコンピュータ、プリンタ、外部記憶装置その他の周辺機器との接続は、例えばIEEE1394、RS−232xやRS−422、USB等のシリアル接続、パラレル接続、あるいは10BASE−T、100BASE−TX、1000BASE−T等のネットワークを介して電気的、あるいは磁気的、光学的に接続して通信を行う。接続は有線を使った物理的な接続に限られず、IEEE802.1x等の無線LANやBluetooth(登録商標)等の電波、赤外線、光通信等を利用した無線接続等でもよい。さらにデータの交換や設定の保存等を行うための記録媒体には、メモリカードや磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等が利用できる。なお本明細書において画像処理装置とは、エッジ抽出やパターンマッチング等を行う装置本体のみならず、これにコンピュータ、外部記憶装置等の周辺機器を組み合わせた輪郭抽出システムも含む意味で使用する。   The connection between the image processing apparatus used in the embodiment of the present invention and a computer, a printer, an external storage device and other peripheral devices for operation, control, display, and other processing connected thereto is, for example, IEEE 1394, RS-232x, RS-422, serial connection such as USB, parallel connection, or communication via network such as 10BASE-T, 100BASE-TX, 1000BASE-T, etc. Do. The connection is not limited to a physical connection using a wire, but may be a wireless connection using a wireless LAN such as IEEE802.1x, radio waves such as Bluetooth (registered trademark), infrared light, optical communication, or the like. Furthermore, a memory card, a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like can be used as a recording medium for exchanging data or storing settings. In this specification, the term “image processing device” is used to include not only a device main body that performs edge extraction, pattern matching, and the like, but also a contour extraction system that combines peripheral devices such as a computer and an external storage device.

また、本明細書において画像処理におけるパターンモデルの位置決め方法、画像処理装置、画像処理プログラム及びコンピュータで読み取り可能な記録媒体は、エッジ抽出や計測領域設定、エッジ点連結を行うシステムそのもの、ならびに各種画像の撮像、取得に関連する入出力、表示、演算、通信その他の処理をハードウェア的に行う装置や方法に限定するものではない。ソフトウェア的に処理を実現する装置や方法も本発明の範囲内に包含する。例えば汎用の回路やコンピュータにソフトウェアやプログラム、プラグイン、オブジェクト、ライブラリ、アプレット、コンパイラ、モジュール、特定のプログラム上で動作するマクロ等を組み込んでエッジ抽出やエッジ点連結そのもの、あるいはこれに関連する処理を可能とした装置やシステムも、本発明の画像処理におけるパターンモデルの位置決め方法、画像処理装置、画像処理プログラム及びコンピュータで読み取り可能な記録媒体のいずれかに該当する。また本明細書においてコンピュータには、汎用あるいは専用の電子計算機の他、ワークステーション、端末、携帯型電子機器、PDCやCDMA、W−CDMA、FOMA(登録商標)、GSM、IMT2000や第4世代等の携帯電話、PHS、PDA、ページャ、スマートフォンその他の電子デバイスも包含する。さらに本明細書においてプログラムとは、単体で使用されるものに限られず、特定のコンピュータプログラムやソフトウェア、サービス等の一部として機能する態様や、必要時に呼び出されて機能する態様、OS等の環境においてサービスとして提供される態様、環境に常駐して動作する態様、バックグラウンドで動作する態様やその他の支援プログラムという位置付けで使用することもできる。
(画像処理の大まかな流れ)
Further, in this specification, a pattern model positioning method, an image processing apparatus, an image processing program, and a computer-readable recording medium in image processing include edge extraction, measurement area setting, edge point connection system itself, and various images. However, the present invention is not limited to an apparatus or method that performs input / output, display, calculation, communication, and other processes related to imaging and acquisition in hardware. An apparatus and method for realizing processing by software are also included in the scope of the present invention. For example, by incorporating software, programs, plug-ins, objects, libraries, applets, compilers, modules, macros that run on specific programs, etc. into general-purpose circuits or computers, edge extraction or edge point connection itself, or processing related to this The apparatus and system that enable the image processing correspond to any one of the pattern model positioning method, the image processing apparatus, the image processing program, and the computer-readable recording medium in the image processing of the present invention. In this specification, the computer includes a general-purpose or dedicated computer, a workstation, a terminal, a portable electronic device, PDC, CDMA, W-CDMA, FOMA (registered trademark), GSM, IMT2000, fourth generation, and the like. Mobile phones, PHS, PDAs, pagers, smartphones and other electronic devices. Further, in the present specification, the program is not limited to a program that is used alone, an aspect that functions as a part of a specific computer program, software, service, etc., an aspect that is called and functions when necessary, an environment such as an OS, etc. It can also be used as a mode provided as a service, a mode that operates resident in the environment, a mode that operates in the background, and other support programs.
(Rough flow of image processing)

図1に、画像処理装置100のブロック図を示す。この画像処理装置100は、図2に示すように予めサーチしたい画像を登録しておき、この登録画像からパターンモデルを作成し、実際の運転時においては、入力されるサーチ対象画像中から該パターンモデルに対応する位置を求める。ここで、パターンモデル作成時の動作の概要を、図3のフローチャートに示す。本実施の形態においては、図2(a)に示すように、サーチしたい登録画像RIに対して、パターンモデルを作成する領域、すなわちパターンウインドウPWをユーザが設定する(図3におけるステップS301)。このパターンウィンドウPWを設定した領域を含む画像を、図2(b)に示すように必要に応じて縮小する(同ステップS302)。さらに縮小パターンウィンドウRPMから、図2(c)に示すように登録画像RIに対応する、サーチパターンとしてのパターンモデルPMを作成する(同ステップS303)。このように画像処理装置は、サーチ対象画像中からサーチしたい登録画像RIに対応するパターンモデルPMを、実際にサーチを行う運転時に先立ち予め作成しておく。   FIG. 1 shows a block diagram of the image processing apparatus 100. The image processing apparatus 100 registers an image to be searched in advance as shown in FIG. 2, creates a pattern model from the registered image, and in actual operation, the pattern is extracted from the input search target images. Find the position corresponding to the model. Here, an outline of the operation when creating the pattern model is shown in the flowchart of FIG. In the present embodiment, as shown in FIG. 2A, the user sets an area for creating a pattern model, that is, a pattern window PW, for the registered image RI to be searched (step S301 in FIG. 3). The image including the area where the pattern window PW is set is reduced as necessary as shown in FIG. 2B (step S302). Further, a pattern model PM as a search pattern corresponding to the registered image RI is created from the reduced pattern window RPM as shown in FIG. 2C (step S303). As described above, the image processing apparatus creates in advance a pattern model PM corresponding to the registered image RI to be searched from the search target images prior to the actual search operation.

さらにパターンモデルPMは、図2(d)に示すように第1エッジ角度ビット画像用の縮小率、第2エッジ角度ビット画像用の縮小率(後述)に縮小されて、運転時に利用される(同ステップS304)。このような縮小パターンモデルRPMの作成は、登録時に予め行うこともできるし、また運転時にその都度行うこともできる。   Further, the pattern model PM is reduced to a reduction rate for the first edge angle bit image and a reduction rate (described later) for the second edge angle bit image as shown in FIG. Step S304). Such a reduced pattern model RPM can be created in advance at the time of registration, or can be performed each time during operation.

一方、運転時の動作の概要を図4のフローチャートに示す。運転時には、ステップS401でサーチ対象画像OIを入力した後(図2(e))、ステップS402で必要に応じてこのサーチ対象画像OIを縮小し、縮小サーチ対象画像ROIとする(図2(f))。次にステップS403で縮小サーチ対象画像ROIからエッジ角度ビット画像EBを生成する(図2(g):詳細は後述)。さらにステップS404で、エッジ角度ビット画像EBを縮小したエッジ角度ビット縮小画像REBを作成する(図2(h))。このようにして得られたエッジ角度ビット縮小画像REBに対して、ステップS405で、登録時に得られたパターンモデルを用いてパターンサーチを実行する。
(画像処理装置100)
On the other hand, the outline of the operation during operation is shown in the flowchart of FIG. During operation, after inputting the search target image OI in step S401 (FIG. 2 (e)), in step S402, the search target image OI is reduced as necessary to obtain a reduced search target image ROI (FIG. 2 (f). )). In step S403, an edge angle bit image EB is generated from the reduced search target image ROI (FIG. 2 (g): details will be described later). In step S404, an edge angle bit reduced image REB obtained by reducing the edge angle bit image EB is created (FIG. 2 (h)). In step S405, a pattern search is performed on the edge angle bit reduced image REB obtained in this way using the pattern model obtained at the time of registration.
(Image processing apparatus 100)

次に画像処理装置100の構成を説明する。図1のブロック図に示す画像処理装置100は、画像処理装置本体100Aと、画像を入力する画像入力手段1と、画像や各種データを表示する表示手段3と、ユーザが各種操作を行うための操作手段2と、画像処理装置本体100Aにて画像処理した結果を外部に出力するための出力インターフェースを構成する出力手段5とを備える。画像入力手段1は、CCD等の撮像手段で構成される。画像入力手段1から入力される入力画像は、A/D変換手段を介して画像処理装置本体100Aに取り込まれる。また表示手段3は、入力画像の原画像や、その原画像を例えばエッジ画像処理によって画像処理したエッジ画像を表示する。
(画像処理装置本体100A)
Next, the configuration of the image processing apparatus 100 will be described. An image processing apparatus 100 shown in the block diagram of FIG. 1 includes an image processing apparatus main body 100A, an image input unit 1 that inputs an image, a display unit 3 that displays an image and various data, and a user's various operations. An operation unit 2 and an output unit 5 constituting an output interface for outputting the result of image processing by the image processing apparatus main body 100A to the outside are provided. The image input means 1 is composed of an imaging means such as a CCD. The input image input from the image input unit 1 is taken into the image processing apparatus main body 100A via the A / D conversion unit. The display unit 3 displays an original image of the input image and an edge image obtained by performing image processing on the original image by, for example, edge image processing.
(Image processing apparatus main body 100A)

画像処理装置本体100Aは、各種データを記憶する記憶手段4と、画像処理に関する各種演算を行う演算手段6を備える。記憶手段4は、画像入力手段1からA/D変換手段を介して入力された登録画像の他、この登録画像をテンプレート画像として生成されるパターンモデル、サーチ対象画像、並びに登録画像からパターンモデルを生成する際やサーチの際に作成される一時的なデータの保持、記憶に使用するワーク領域等を備えている。
(演算手段6)
The image processing apparatus main body 100A includes a storage unit 4 that stores various data and a calculation unit 6 that performs various calculations related to image processing. In addition to the registered image input from the image input unit 1 via the A / D conversion unit, the storage unit 4 stores a pattern model generated using the registered image as a template image, a search target image, and a pattern model from the registered image. It has a work area used for holding and storing temporary data created at the time of generation and search.
(Calculation means 6)

演算手段6は、画像に対してエッジ検出を行い、輪郭を抽出する輪郭抽出手段62と、輪郭情報からチェーンを作成するチェーン作成手段63と、チェーンからセグメントを作成するセグメント作成手段68と、その他の各種手段とを含む。その他の手段としては、エッジ角度ビット画像作成手段69、エッジ角度ビット画像縮小手段78、画像を所定の倍率に縮小する画像縮小手段77、パターンモデルを構成するパターンモデル構成手段70、粗サーチを行う粗サーチ手段71、エッジ情報に基づき登録画像のパターンモデルでサーチ対象画像内での精度の高い位置決めを行う精密位置決め手段76等が挙げられる(詳細は後述する)。この演算手段6は、上述の通りパターンモデルの登録と、登録されたパターンモデルを用いたサーチ対象画像でのサーチを行う。このような動作を行うため、チェーン作成手段63、セグメント作成手段68、及びパターンモデル構成手段70は、パターンモデルの登録時に利用される。また粗サーチ手段71と精密位置決め手段76は、実際の運転時に利用される。さらに画像縮小手段77、輪郭抽出手段62、チェーン作成手段63等は、登録時の動作及び運転時の動作共に使用され、エッジ角度ビット画像作成手段69及びエッジ角度ビット画像縮小手段78は、運転時に使用される。なおチェーン作成手段63は、本実施の形態では登録時のみに使用されるが、運転時にサーチ対象画像に対してチェーン化を行うこともできる。
(輪郭抽出手段62)
The computing means 6 performs edge detection on the image and extracts a contour, a contour extracting means 62 for creating a contour, a chain creating means 63 for creating a chain from the contour information, a segment creating means 68 for creating a segment from the chain, and the like And various means. As other means, an edge angle bit image creating means 69, an edge angle bit image reducing means 78, an image reducing means 77 for reducing an image to a predetermined magnification, a pattern model constituting means 70 for constituting a pattern model, and a rough search are performed. Examples include a coarse search means 71, and a fine positioning means 76 that performs high-precision positioning within a search target image using a pattern model of a registered image based on edge information (details will be described later). As described above, the calculation unit 6 registers a pattern model and performs a search on a search target image using the registered pattern model. In order to perform such an operation, the chain creation means 63, the segment creation means 68, and the pattern model construction means 70 are used when registering the pattern model. The coarse search means 71 and the fine positioning means 76 are used during actual operation. Further, the image reduction means 77, the contour extraction means 62, the chain creation means 63 and the like are used for both the registration operation and the operation operation. The edge angle bit image creation means 69 and the edge angle bit image reduction means 78 are used during the operation. used. The chain creating means 63 is used only at the time of registration in the present embodiment, but it is also possible to chain the search target images during driving.
(Outline extraction means 62)

輪郭抽出手段62は、エッジ画像としてエッジ角度画像及びエッジ強度画像を作成するエッジ角度・エッジ強度画像作成手段60と、エッジ点の細線化を行う細線化手段61を備える。詳細には、エッジ角度・エッジ強度画像作成手段60は、画像入力手段1にて入力された多値画像(オリジナルサイズの原画像もしくは後述する画像縮小手段77で縮小された縮小画像)に対して、エッジ点を抽出するために知られているフィルタ、例えばX方向とY方向の各々に対してソーベルフィルタ(Sobel filter)を用いて、XY各方向におけるエッジ強度画像(X方向エッジ強度画像成分ならびにY方向エッジ強度画像成分)を生成すると共に、これらのXY各方向のエッジ強度画像から2次元的なエッジ角度画像を生成する。また細線化手段61は、このエッジ角度・エッジ強度画像作成手段60にて作成されたエッジ画像に対して、例えばエッジ強度の非極大点抑制処理によってエッジ点の細線化を行う。   The contour extracting unit 62 includes an edge angle / edge intensity image creating unit 60 that creates an edge angle image and an edge strength image as edge images, and a thinning unit 61 that thins edge points. Specifically, the edge angle / edge strength image creation means 60 applies to the multivalued image (original image of the original size or the reduced image reduced by the image reduction means 77 described later) input by the image input means 1. A known filter for extracting edge points, for example, a Sobel filter for each of the X and Y directions, and an edge intensity image (X direction edge intensity image component) in each XY direction. In addition, a Y-direction edge intensity image component) is generated, and a two-dimensional edge angle image is generated from the edge intensity images in the XY directions. The thinning means 61 thins the edge points of the edge image created by the edge angle / edge strength image creating means 60 by, for example, edge strength non-maximal point suppression processing.

なお本明細書においてエッジ強度とは、一の画素がエッジ(暗→明)の一部であるかどうかの度合いを表す数値である。一般にエッジ強度は、注目画素とその周囲に位置する9画素の画素値から算出される。またエッジ角度とは、一の画素におけるエッジの方向を示しており、一般には上述したX方向とY方向のソーベルフィルタ等により求められたX方向とY方向のエッジ強度から計算される。
(チェーン作成手段63)
In this specification, the edge strength is a numerical value indicating the degree of whether one pixel is a part of an edge (dark → light). In general, the edge strength is calculated from the pixel value of the pixel of interest and nine pixels located around it. The edge angle indicates the direction of the edge in one pixel, and is generally calculated from the edge intensities in the X and Y directions obtained by the above-described Sobel filters in the X and Y directions.
(Chain creation means 63)

一方、チェーン作成手段63、セグメント作成手段68は、登録画像の一部をテンプレート画像とするパターンモデルを生成する際に用いられるものである。本実施例におけるチェーン作成手段63は、エッジチェーン化手段64と、チェーンフィルタ手段66とを備える。詳細には、エッジチェーン化手段64は、輪郭抽出手段62によって生成されたエッジ画像に含まれる複数のエッジ点の内、隣接する複数のエッジ点同士を連結してチェーンを作成する。またチェーンフィルタ手段66は、エッジチェーン化手段64で生成された複数のチェーン群に対して、チェーンの各種特徴量でフィルタリングを行う。
(セグメント作成手段68)
On the other hand, the chain creating means 63 and the segment creating means 68 are used when generating a pattern model using a part of the registered image as a template image. The chain creating means 63 in this embodiment includes an edge chain forming means 64 and a chain filter means 66. Specifically, the edge chaining unit 64 creates a chain by connecting a plurality of adjacent edge points among a plurality of edge points included in the edge image generated by the contour extracting unit 62. The chain filter unit 66 filters the plurality of chain groups generated by the edge chaining unit 64 with various chain feature quantities.
(Segment creation means 68)

またセグメント作成手段68は、エッジチェーンセグメント化手段65と、セグメント選択手段67とを備える。エッジチェーンセグメント化手段65は、エッジチェーン化手段64で作成され、かつチェーンフィルタ手段66でフィルタリングされた各チェーンに対して、近似を行ってセグメントを作成する。セグメントは、ここではチェーンを最小二乗法で近似した線分及び/又は円弧である。またセグメント選択手段67は、セグメントに対してフィルタリングを行う。   The segment creation means 68 includes an edge chain segmentation means 65 and a segment selection means 67. The edge chain segmentation unit 65 performs approximation on each chain created by the edge chaining unit 64 and filtered by the chain filter unit 66 to create a segment. The segment here is a line segment and / or an arc that approximates the chain by the least squares method. The segment selection means 67 performs filtering on the segment.

さらにセグメント選択手段67は、パターン特徴選択機能を備えることもできる。すなわち、サーチ対象物から得られるパターンの特徴に応じて、パターンモデルを構成するセグメントの選択基準を変更させることで、より安定した位置決めが実現できる。詳細については後述する。
(パターンモデル構成手段70)
Furthermore, the segment selection means 67 can also have a pattern feature selection function. That is, more stable positioning can be realized by changing the selection criteria of the segments constituting the pattern model in accordance with the pattern characteristics obtained from the search object. Details will be described later.
(Pattern model construction means 70)

パターンモデル構成手段70は、上述した記憶手段に記憶させるパターンモデルを生成する手段である。具体的には、登録画像に対して、上述した輪郭抽出手段62及びチェーン作成手段63、セグメント作成手段68により処理を施して、生成された各セグメントをパターンモデル構成手段70で加工する。パターンモデルの詳細については、後述する。
(画像縮小手段77)
The pattern model construction unit 70 is a unit that generates a pattern model to be stored in the storage unit described above. Specifically, the registered image is processed by the above-described contour extraction unit 62, chain creation unit 63, and segment creation unit 68, and each generated segment is processed by the pattern model construction unit 70. Details of the pattern model will be described later.
(Image reduction means 77)

一方で画像縮小手段77は、登録画像及びサーチ対象画像を縮小する手段である。この縮小率は、自動縮小率決定モードによって自動的に設定される。具体的には、上述の通り本実施の形態においては、ユーザが登録画像に対して、パターンモデルとしたい領域を設定している。ここでの縮小率は、ユーザが設定した領域、すなわちパターンモデルを指定するパターンウインドウPWの大きさによって自動的に決定される。例えばパターンウィンドウPWが矩形状の場合、短い辺の長さに応じて縮小率を決定する。   On the other hand, the image reduction means 77 is a means for reducing the registered image and the search target image. This reduction ratio is automatically set by the automatic reduction ratio determination mode. Specifically, as described above, in the present embodiment, the user sets an area desired to be a pattern model for a registered image. Here, the reduction ratio is automatically determined according to the size set by the user, that is, the size of the pattern window PW for designating the pattern model. For example, when the pattern window PW is rectangular, the reduction ratio is determined according to the length of the short side.

なお本明細書において「縮小率を上げる」又は「縮小率が大きい」、「縮小率が高い」とは、縮小度合い又は圧縮率を大きくすることであって、例えば縮小率1/8の縮小画像を縮小率1/16に、より縮小することを指す。逆に「縮小率を下げる」又は「縮小率が小さい」、「縮小率が低い」とは、縮小の程度を抑え、例えば縮小された画像を等倍画像側に近付ける意味であって、例えば縮小率1/16の画像を1/8にすることを指す。また「等倍以上の縮小率」とは、等倍画像を拡大する意味でなく、等倍画像すなわち縮小率1よりも縮小率が高いか、縮小率1の等倍画像という意味である。   In this specification, “increasing the reduction ratio”, “large reduction ratio”, and “high reduction ratio” are to increase the degree of reduction or the compression ratio, for example, a reduced image with a reduction ratio of 1/8. Is reduced to a reduction ratio of 1/16. Conversely, “reducing the reduction ratio” or “small reduction ratio” and “low reduction ratio” mean that the degree of reduction is suppressed, for example, the reduced image is brought closer to the same size image side, for example, reduction This means that an image with a rate of 1/16 is reduced to 1/8. The “reduction ratio equal to or greater than the same size” does not mean to enlarge the same-size image, but means an equal-size image, that is, a reduction ratio higher than the reduction ratio 1 or an equal-size image with a reduction ratio of 1.

またこのような自動縮小率決定モード以外に、ユーザが所望の縮小率を選択して決定する手動縮小率決定モードとすることもできる。図5に示すユーザインターフェースの例では、大域サーチ用縮小率として異なる複数の縮小率、ここでは1/2、1/4、1/8の選択肢の中から、ユーザに選択させる。縮小率は、任意の数値で指定させても良い。また、ここで選択した縮小率で画像を縮小すると元画像がどのように変形するかを示すイメージを併せて表示させてもよい。このようにして、大域サーチ用縮小率(大域用縮小率)の他、局所サーチ用縮小率(中間縮小率)、精密位置決め縮小率も設定できる。   In addition to such an automatic reduction ratio determination mode, a manual reduction ratio determination mode in which the user selects and determines a desired reduction ratio can also be used. In the example of the user interface shown in FIG. 5, the user is made to select from a plurality of different reduction rates, here 1/2, 1/4, and 1/8 as the global search reduction rates. The reduction ratio may be designated by an arbitrary numerical value. Further, an image showing how the original image is deformed when the image is reduced at the reduction ratio selected here may be displayed together. In this manner, the local search reduction rate (intermediate reduction rate) and the precise positioning reduction rate can be set in addition to the global search reduction rate (global reduction rate).

さらに、局所サーチ用縮小率を自動で追加することもできる。具体的には、大域サーチ用縮小率と局所サーチ用縮小率の比率が所定値よりも大きい場合、これら大域サーチ用縮小率と局所サーチ用縮小率との間で追加の縮小率(局所サーチ用縮小率)に設定された局所サーチ(追加局所サーチ)を自動的に追加する(図10参照)。また、追加の局所サーチは、複数回行うこともできる。このようにして、大域サーチ用縮小率と局所サーチ用縮小率との比率を所定値以内に維持でき、サーチ速度の短縮化を図る。   Furthermore, a reduction rate for local search can be automatically added. Specifically, when the ratio between the global search reduction ratio and the local search reduction ratio is larger than a predetermined value, an additional reduction ratio (for local search) is selected between the global search reduction ratio and the local search reduction ratio. A local search (additional local search) set to (reduction ratio) is automatically added (see FIG. 10). Further, the additional local search can be performed a plurality of times. In this way, the ratio between the global search reduction ratio and the local search reduction ratio can be maintained within a predetermined value, and the search speed can be shortened.

画像縮小手段77は、パターンモデルを生成する登録画像、及び該登録画像で設定された縮小率と同一の縮小率にて縮小されるサーチ対象画像に対して活用される。いいかえると、登録画像で設定した縮小率で、サーチ対象画像も縮小されることになる。
(エッジ角度ビット画像作成手段69)
The image reduction unit 77 is used for a registered image for generating a pattern model and a search target image that is reduced at the same reduction rate as that set for the registered image. In other words, the search target image is also reduced at the reduction rate set for the registered image.
(Edge angle bit image creation means 69)

エッジ角度ビット画像作成手段69は、サーチ対象画像、及び該サーチ対象画像を上述した画像縮小手段77で縮小した縮小画像に対し、上述した演算手段6のエッジ角度・エッジ強度画像作成手段60によって生成したエッジ角度画像を用いて、エッジ角度ビット画像を生成するものである。すなわちエッジ角度ビット画像作成手段69は、運転時にサーチ対象画像のエッジ角度ビット画像を生成するために使用される。いいかえると、パターンモデルの登録時には利用されない。   The edge angle bit image creation unit 69 generates the search target image and the reduced image obtained by reducing the search target image by the image reduction unit 77 by the edge angle / edge strength image creation unit 60 of the calculation unit 6 described above. An edge angle bit image is generated by using the edge angle image. That is, the edge angle bit image creation means 69 is used to generate an edge angle bit image of the search target image during driving. In other words, it is not used when registering a pattern model.

より具体的には、図6に示すように、エッジ角度である0〜360°の値を45°単位で8分割した8ビットデータとし(図6(b))、エッジ角度画像の各画素に対応して求められているエッジ角度が、これら8分割された分割領域の各々に割り当てられたビット位置であるかを判断し(図6(a))、判断したビット位置に1のフラグを立てることにより、エッジ角度画像をエッジ角度ビット画像に変換する(図6(c))。本実施の形態では、演算手段6のエッジ角度・エッジ強度画像作成手段60によって生成したエッジ角度画像を用いて、エッジ角度ビット画像作成手段69にてエッジ角度ビット画像を生成している(詳細は、図30等に基づいて後述する)。ただ、この方法に限られず、例えば演算手段6の細線化手段61にて細線化されたエッジ角度画像を用いて、エッジ角度ビット画像作成手段69にてエッジ角度ビット画像を生成しても良い。
(エッジ角度ビット画像縮小手段78)
More specifically, as shown in FIG. 6, 8-bit data obtained by dividing an edge angle value of 0 to 360 ° into 8 units in units of 45 ° (FIG. 6B) is provided for each pixel of the edge angle image. It is determined whether the corresponding edge angle is a bit position assigned to each of these eight divided areas (FIG. 6A), and a flag of 1 is set at the determined bit position. Thus, the edge angle image is converted into an edge angle bit image (FIG. 6C). In the present embodiment, the edge angle bit image generating unit 69 generates an edge angle bit image using the edge angle image generated by the edge angle / edge strength image generating unit 60 of the calculating unit 6 (for details, see FIG. And will be described later based on FIG. 30). However, the present invention is not limited to this method, and the edge angle bit image may be generated by the edge angle bit image creating means 69 using, for example, the edge angle image thinned by the thinning means 61 of the computing means 6.
(Edge angle bit image reduction means 78)

エッジ角度ビット画像縮小手段78は、上述したエッジ角度ビット画像作成手段69にて生成されたエッジ角度ビット画像を縮小する手段である。これによりエッジ角度ビット縮小画像が得られる。   The edge angle bit image reduction means 78 is a means for reducing the edge angle bit image generated by the edge angle bit image creation means 69 described above. Thereby, an edge angle bit reduced image is obtained.

本実施の形態におけるエッジ角度ビット縮小画像の縮小率は、登録画像に対して、ユーザがパターンモデルとしたい領域を設定するパターンウインドウPWの大きさに従って決定する。したがって、このエッジ角度ビット画像縮小手段78における縮小率を自動的に決定する場合、この登録画像に対して設定されているパターンウインドウPWの大きさを反映させている。ただ、この方法に限定されるものでなく、該パターンモデルの縮小率を確認することによって、エッジ角度ビット画像縮小手段78における縮小率を直接的に設定してもよいことは言うまでもない。   The reduction rate of the edge angle bit reduced image in the present embodiment is determined according to the size of the pattern window PW in which the user sets an area that the user wants to make a pattern model for the registered image. Therefore, when the reduction rate in the edge angle bit image reduction means 78 is automatically determined, the size of the pattern window PW set for the registered image is reflected. However, the present invention is not limited to this method, and it goes without saying that the reduction rate in the edge angle bit image reduction means 78 may be set directly by checking the reduction rate of the pattern model.

この様子を従来の方法との対比で説明すると、従来の方法でエッジ角度ビット画像を縮小する場合は、例えば縮小率がサーチ対象画像のオリジナル画像サイズに対して1/8である場合、8×8画素の領域、つまり64画素を代表する一つの画素のエッジ角度、又は64画素の平均値が縮小された一つの画素のエッジ角度を、その領域の代表値としていた。これに対し、本実施の形態に係るエッジ角度ビット画像縮小手段78によるエッジ角度ビット画像の縮小では、例えば縮小率がサーチ対象画像のオリジナルに対して1/8である場合、8×8画素の領域の64画素の各画素が有するビット位置、つまり角度ビットの位置をOR演算によりそのまま保存する形式で、図7に示すように64画素が保有する全ての角度に対応するビット位置に1のフラグを立てた状態を維持する。これによって、エッジ角度ビット画像の情報は、画像縮小後でも損なわれないように保持でき、パターンモデルを用いたサーチにおいて正確さを得られる。   This situation will be described in comparison with the conventional method. When the edge angle bit image is reduced by the conventional method, for example, when the reduction ratio is 1/8 of the original image size of the search target image, 8 × The region of 8 pixels, that is, the edge angle of one pixel representing 64 pixels or the edge angle of one pixel obtained by reducing the average value of 64 pixels was used as the representative value of the region. On the other hand, in the reduction of the edge angle bit image by the edge angle bit image reduction means 78 according to the present embodiment, for example, when the reduction ratio is 1/8 with respect to the original of the search target image, 8 × 8 pixels. The bit position of each of the 64 pixels in the area, that is, the position of the angle bit is stored as it is by OR operation, and as shown in FIG. 7, one flag is set at the bit positions corresponding to all the angles held by the 64 pixels. Maintain a standing position. As a result, the information of the edge angle bit image can be held so as not to be damaged even after the image is reduced, and the accuracy can be obtained in the search using the pattern model.

ここで、OR演算を行うOR演算領域は、エッジ角度ビット画像を縮小する縮小率に応じて決定される。例えば、エッジ角度ビット画像を1/8に縮小したエッジ角度ビット縮小画像を生成する場合、8×8の領域がOR演算領域となる。すなわち、エッジ角度ビット画像は8×8のOR演算領域に区分され、各OR演算領域においては、OR演算領域に含まれるすべての画素のエッジ角度ビットをOR演算した結果を、各OR演算領域を表す縮小エッジ角度ビットデータとする。このようにして得られた各OR演算領域毎の縮小エッジ角度ビットデータの集合が、エッジ角度ビット縮小画像となる。   Here, the OR operation area in which the OR operation is performed is determined according to a reduction ratio for reducing the edge angle bit image. For example, when an edge angle bit reduced image obtained by reducing an edge angle bit image to 1/8 is generated, an 8 × 8 area is an OR operation area. That is, the edge angle bit image is divided into 8 × 8 OR operation areas. In each OR operation area, the result of OR operation of the edge angle bits of all the pixels included in the OR operation area is obtained in each OR operation area. The reduced edge angle bit data is represented. A set of reduced edge angle bit data for each OR operation area obtained in this manner is an edge angle bit reduced image.

またOR演算とは、和演算、特にビット和を意味する。さらに画素のOR演算を行う際には、単なるビット和とする他、エッジ角度ビットを有する画素の数に下限値を設けても良い。例えば、加算対象のエッジ角度ビットを有する画素数が予め設定された所定の画素数閾値に満たない場合は、このエッジ角度ビットを無視する。すなわち、加算される画素数が1個乃至数個である等、他よりも極端に少ないエッジ角度ビットについては、ノイズやエラーである可能性があるため、このような信憑性の低い画素については無視して、信頼性が高いと思われる角度ビットのみに基づいた信頼性の高いエッジ角度ビット縮小画像を生成できる。
(その他のOR演算 飽和加算)
The OR operation means a sum operation, particularly a bit sum. Further, when performing an OR operation of pixels, in addition to a simple bit sum, a lower limit value may be provided for the number of pixels having edge angle bits. For example, when the number of pixels having the edge angle bit to be added is less than a predetermined pixel number threshold value, this edge angle bit is ignored. That is, the edge angle bits that are extremely smaller than the others, such as one to several pixels to be added, may be noise or error. By ignoring, it is possible to generate a highly reliable edge angle bit reduced image based only on the angle bits that are considered to be highly reliable.
(Other OR operations, saturation addition)

さらにOR演算として、上記和演算以外の演算を利用することができる。ここでは一例として飽和加算を説明する。例えばOR演算で縮小処理や膨張処理をする場合、nxnのエッジ角度ビット画像のピクセルデータをOR演算する。この演算の拡張となるのが「各角度に対応するビットに対して飽和加算を行い、その結果から次の代表値を決定する」ことである。ここで飽和加算とは、加算結果に上限を設けておき、通常の加算を行った後にその上限を超える場合、その上限の値にクリッピングする加算処理をいう。例えば上限を100とすると、
10+89=99
11+89=100
12+89=100
10+100=100
といった具合に、上限値を100に制限する。
Furthermore, operations other than the above sum operation can be used as the OR operation. Here, saturation addition will be described as an example. For example, when performing reduction processing and expansion processing by OR operation, OR operation is performed on pixel data of nxn edge angle bit images. An extension of this calculation is “saturation addition is performed on the bits corresponding to each angle, and the next representative value is determined from the result”. Here, the saturation addition refers to an addition process in which an upper limit is provided for the addition result, and when the upper limit is exceeded after normal addition, clipping is performed to the upper limit value. For example, if the upper limit is 100,
10 + 89 = 99
11 + 89 = 100
12 + 89 = 100
10 + 100 = 100
For example, the upper limit value is limited to 100.

次に、飽和加算を用いた縮小処理の具体例を図52に基づいて説明する。ここで図52(a)は各ピクセルがエッジ角度を有するエッジ角度画像、図52(b)はこのエッジ角度画像を構成する各ピクセルを8ビットのエッジ角度ビットデータで表現するためのエッジ角度区分を示す模式図を、それぞれ示している。なおエッジ角度方向をエッジ角度ビットで表現するために角度を区分けしたエッジ角度区分については、図31で後述する。図52(b)の例では、水平又は垂直方向から22.5°ずらして8等分し、真右から時計回りに45°幅でE、SE、S、SW、W、NW、N、NEのエッジ角度区分にラベル分けし、各エッジ角度区分に対してエッジ角度ビットのラベルをそれぞれ0、1、2、3、4、5、6、7と付与している。図52(a)のエッジ角度画像を構成する9個のピクセルa〜iを、図52(b)のエッジ角度区分に従いエッジ角度ビットで表現して得られるエッジ角度ビット画像は、以下のようなエッジ角度ビットデータを有する。   Next, a specific example of reduction processing using saturation addition will be described with reference to FIG. Here, FIG. 52A is an edge angle image in which each pixel has an edge angle, and FIG. 52B is an edge angle section for expressing each pixel constituting the edge angle image by 8-bit edge angle bit data. The schematic diagram which shows is shown, respectively. Note that the edge angle division in which the angles are divided in order to express the edge angle direction with the edge angle bits will be described later with reference to FIG. In the example shown in FIG. 52 (b), E2.5, E, SE, S, SW, W, NW, N, NE are divided into 8 equal parts with a shift of 22.5 ° from the horizontal or vertical direction, and 45 ° clockwise from the right. The edge angle sections are labeled, and edge angle bit labels are assigned to the respective edge angle sections as 0, 1, 2, 3, 4, 5, 6, and 7, respectively. An edge angle bit image obtained by expressing the nine pixels a to i constituting the edge angle image of FIG. 52A by edge angle bits according to the edge angle section of FIG. 52B is as follows. It has edge angle bit data.

76543210
a:00001000
b:10000000
c:10000000
d:00001000
e:10000000
f:10000000
g:00001000
h:00000100
i:10000101
754343210
a: 00001000
b: 10000000
c: 10000000
d: 00001000
e: 10000000
f: 10000000
g: 00001000
h: 00000100
i: 10000101

そして、新しい縮小画像でのエッジ角度ビット画像は、それぞれの角度に対応するa〜iのビットをすべて飽和加算する。ここでは飽和加算の上限を3とする。例えば、eの位置の縮小エッジ角度ビットデータe’は
e’=a+b+c+d+e+f+g+h+i
で計算することができ、その結果は下のようになる。
Then, in the edge angle bit image in the new reduced image, all the bits a to i corresponding to the respective angles are saturated and added. Here, the upper limit of the saturation addition is set to 3. For example, the reduced edge angle bit data e ′ at the position e is e ′ = a + b + c + d + e + f + g + h + i
The result is as follows.

7766554433221100
e’:1100000011100001;2進表示
e’: 3 0 0 0 3 2 0 1;10進表示
77665554433221100
e ′: 1100000011100001; binary display e ′: 3 0 0 0 3 2 0 1; decimal display

上記演算結果に、飽和加算処理の特徴が表れる。すなわち3以上はすべて3にクリッピングされる。このように和の結果が所定のクリッピング閾値以上になると、その値でクリッピングする加算を飽和加算と呼ぶ。この縮小エッジ角度ビットデータe’をサーチの処理でそのまま使うこともできる。例えば2以上のもののみを1にして、その他を0にした縮小エッジ角度ビットデータe”を以下のように表現してサーチに用いることもできる。   A characteristic of the saturation addition process appears in the calculation result. That is, all 3 or more are clipped to 3. When the result of the sum is equal to or greater than a predetermined clipping threshold, the addition for clipping at that value is called saturation addition. The reduced edge angle bit data e 'can be used as it is in the search process. For example, reduced edge angle bit data e ″ in which only two or more are set to 1 and the others are set to 0 can be expressed as follows and used for the search.

76543210
e”:10001100;2進表示
(粗サーチ手段用のパターンモデルX)
754343210
e ″: 1000100; binary display (pattern model X for coarse search means)

パターンモデル構成手段70はパターンモデルとして、後述する粗サーチ手段71で用いられる粗サーチ用のパターンモデルXと、精密位置決め手段76にて用いられる精密位置決め用のパターンモデルYの二種類を作成する(図8)。粗サーチ用パターンモデルXとしては、各セグメント上に、予め定めた条件に基づいて基点を決定し、さらに各基点でのセグメントの法線方向で、且つエッジの向きを設定した角度が設定される。
(精密位置決め用のパターンモデルY)
The pattern model construction means 70 creates two types of pattern models: a coarse search pattern model X used by a coarse search means 71 described later and a fine positioning pattern model Y used by a fine positioning means 76 ( FIG. 8). As the coarse search pattern model X, a base point is determined on each segment based on a predetermined condition, and an angle in which the direction of the edge is set in the normal direction of the segment at each base point is set. .
(Pattern model Y for precision positioning)

一方、精密位置決め用パターンモデルYとしては、上述した粗サーチ用パターンモデルXの持つ情報に加え、各基点は、データとして、対応する各セグメントを表現するセグメント種別パラメータ(例えば、線分や円弧からなるセグメントを定義できるパラメータ)と、上述した各基点から、各基点でのセグメントの法線方向で、且つエッジの方向に延長されたセグメント法線の一種であって、さらに予め定めた長さを有する線分(以下「対応点探索ライン」という。)を設定したものが生成される。対応点探索ラインは、基点を中心として法線方向に前後に延長される。なお基点は、各セグメント上に少なくとも1以上設定されることが好ましい。言い換えると、基点を設定しないセグメントは、パターンモデルに含める必要がない。
(粗サーチ手段71)
On the other hand, as the fine positioning pattern model Y, in addition to the information of the above-described coarse search pattern model X, each base point is a segment type parameter (for example, a line segment or an arc) representing each corresponding segment as data. Is a kind of segment normal extended from the above-mentioned base points in the normal direction of the segment at each base point and in the direction of the edge, and further having a predetermined length. A line segment having a line segment (hereinafter referred to as “corresponding point search line”) is generated. The corresponding point search line is extended back and forth in the normal direction around the base point. In addition, it is preferable that at least one base point is set on each segment. In other words, a segment for which no base point is set need not be included in the pattern model.
(Coarse search means 71)

運転時のサーチは、登録時に作成された専用のパターンモデルを用いて、粗サーチ手段71と精密位置決め手段76により行われる。粗サーチ手段71は、運転時において粗サーチを行う手段である。粗サーチは一回のみ行う他、異なる縮小率で複数回行うことができる。複数回の粗サーチを行う場合は、2回目の粗サーチは第1回目の粗サーチよりも縮小率を低く抑えて、すなわち解像度を高める等、オリジナルサイズに近付けたより詳細なデータに基づいて行うことが好ましい。また2回目の粗サーチでは、1回目の粗サーチ結果に基づいて、走査範囲を絞って行うことが好ましい。ここで運転時のサーチの概要を図9のフローチャート及び図10の模式図に示す。本実施の形態では、図9のステップS901に示すように、サーチ対象画像の全域を、大域用縮小率で縮小された第2のパターンモデルを用いてサーチする第1の粗サーチ(大域サーチ)を行う。その上でステップS902に示すように、該第1の粗サーチで得られた「検出候補」の領域及びその周辺領域に対して、第1の粗サーチよりも低い中間縮小率のサーチ対象画像にてサーチを行う第2の粗サーチ(局所サーチ)を行っている。さらにステップS903にて、精密位置決め用のパターンモデルYを用いて、精密位置決め手段76で精密位置決めを行う。   The search during operation is performed by the coarse search means 71 and the fine positioning means 76 using a dedicated pattern model created at the time of registration. The coarse search means 71 is means for performing a coarse search during operation. The coarse search can be performed only once, or multiple times with different reduction ratios. When performing multiple coarse searches, the second coarse search should be based on more detailed data that is closer to the original size, such as reducing the reduction rate compared to the first coarse search, that is, increasing the resolution. Is preferred. In the second coarse search, it is preferable to narrow the scanning range based on the first coarse search result. Here, an outline of the search during operation is shown in the flowchart of FIG. 9 and the schematic diagram of FIG. In the present embodiment, as shown in step S901 in FIG. 9, the first coarse search (global search) for searching the entire area of the search target image using the second pattern model reduced at the global reduction rate. I do. After that, as shown in step S902, the “detection candidate” region obtained by the first coarse search and its peripheral region are converted into search target images having an intermediate reduction rate lower than that of the first coarse search. A second coarse search (local search) is performed. Further, in step S903, precise positioning is performed by the precision positioning means 76 using the pattern model Y for precise positioning.

なお、登録時にパターンモデルを作成する順序と、運転時にサーチを実行する順序とを、必ずしも一致させる必要はない点に留意されたい。例えば、登録時には縮小率の低い(オリジナルサイズに近い)パターンモデルから順に作成する(第1のパターンモデル→第2のパターンモデル、等)。これにより、画像の縮小につれて細かな情報が失われる事態を極減できる。これに対し、運転時には逆に縮小率の高い(解像度が低い、圧縮率が高い等)パターンモデルから順にサーチを行う(第1の粗サーチ→第2の粗サーチ)。これによってコース・トゥ・ファインのアプローチで効率よくサーチを行える。この結果、運転時には第2のパターンモデルを用いて第1の粗サーチを行い、次に第1のパターンモデルを用いて第2の粗サーチを行っている。
(第1の粗サーチ)
It should be noted that the order in which the pattern model is created at the time of registration and the order in which the search is executed at the time of operation do not necessarily match. For example, at the time of registration, a pattern model having a low reduction rate (close to the original size) is created in order (first pattern model → second pattern model, etc.). Thereby, the situation where detailed information is lost as the image is reduced can be greatly reduced. In contrast, during operation, the search is performed in order from the pattern model having a high reduction ratio (low resolution, high compression ratio, etc.) (first coarse search → second coarse search). This makes it possible to search efficiently with a course-to-fine approach. As a result, during operation, the first coarse search is performed using the second pattern model, and then the second coarse search is performed using the first pattern model.
(First coarse search)

次に、粗サーチ手段71が行う粗サーチの概要を説明する。まず第1の粗サーチでは、登録されたパターンモデルを用いてサーチ対象画像の全域に対して大まかなサーチを行い、大まかな位置、すなわち検出候補を抽出する。ここでは、上述したエッジ角度ビット画像縮小手段78にて生成されたサーチ対象画像のエッジ角度ビット縮小画像に対して、同一の縮小率の登録画像から生成されたパターンモデルをスキャンさせる。具体的には、例えばオリジナルサイズから1/8倍に縮小されたエッジ角度ビット縮小画像の全領域に対してスキャンを行うために、エッジ角度ビット縮小画像の左上から、特定の回転角度を持つ姿勢に設定されたパターンモデルを右下方向に向かってスキャンさせる。これにより、エッジ角度ビット縮小画像の全領域に対して、パターンモデルに類似する検出候補の領域を特定する。このスキャンは、パターンモデルに対して個別に設定される、複数の異なる回転姿勢の全てを用いて同様のスキャンが実行される。すなわち、回転角度を変化させたスキャンを複数回繰り返す。この結果、パターンモデルに類似する検出候補の領域の全てが、パターンモデルに対するマッチング候補として抽出される。ここで、パターンモデルを回転させた結果エッジ角度ビットが変化する様子を図11に示す。この例では、大域サーチ用パターンモデル(a)を時計回りに60°回転させた場合(c)の、エッジ角度ビットの変化(b)→(d)を示している。また検出候補は、類似度を表す評価値(スコア値)を各々演算して、ある閾値よりも高いスコア値を持つものを検出候補として抽出している。また各検出候補は、その位置と姿勢、すなわちパターンモデルのXY座標と、角度θとスコアの情報を有する。なお、スコアの詳細については、後述する。
(第2の粗サーチ)
Next, an outline of the coarse search performed by the coarse search means 71 will be described. First, in the first coarse search, a rough search is performed on the entire area of the search target image using the registered pattern model, and a rough position, that is, a detection candidate is extracted. Here, the pattern model generated from the registered image having the same reduction ratio is scanned with respect to the edge angle bit reduced image of the search target image generated by the edge angle bit image reducing means 78 described above. Specifically, for example, an attitude having a specific rotation angle from the upper left of the edge angle bit reduced image in order to scan the entire area of the edge angle bit reduced image reduced to 1/8 times from the original size. The pattern model set to is scanned in the lower right direction. As a result, a detection candidate region similar to the pattern model is specified for the entire region of the edge angle bit reduced image. In this scan, the same scan is executed using all of a plurality of different rotational postures set individually for the pattern model. That is, the scan with the rotation angle changed is repeated a plurality of times. As a result, all detection candidate regions similar to the pattern model are extracted as matching candidates for the pattern model. FIG. 11 shows how the edge angle bits change as a result of rotating the pattern model. In this example, the change (b) → (d) of the edge angle bit when the global search pattern model (a) is rotated 60 ° clockwise (c) is shown. In addition, each of the detection candidates calculates an evaluation value (score value) indicating the degree of similarity, and a candidate having a score value higher than a certain threshold is extracted as a detection candidate. Each detection candidate has information on its position and orientation, that is, XY coordinates of the pattern model, angle θ, and score. Details of the score will be described later.
(Second coarse search)

次に粗サーチ手段71は、第1の粗サーチの結果に基づいて第2の粗サーチを行う。第2の粗サーチは、上述した第1の粗サーチで用いたサーチ対象画像の縮小率よりも縮小率の小さい、言い換えると情報量の多い縮小率を用いる。例えば1/4倍の縮小率のエッジ角度ビット縮小画像を用いて、第1の粗サーチで用いた1/8倍の縮小率のエッジ角度ビット縮小画像にて抽出された、全てのパターンモデルに類似する検出候補の周辺領域に対してのみ、同縮小率のパターンモデルを用いて、検出候補の絞込みを行う。この第2の粗サーチは、エッジ角度ビット縮小画像の一部を用いて行うサーチであるため、検出候補の絞込みを効率良く実行することができる。このように粗サーチを複数段行うことで、効率のよいサーチが可能となる。すなわち第1の粗サーチで全域をスキャンし、大まかな位置を特定した上で、縮小率を低くした画像で第2の粗サーチを、該特定された領域(検出候補又は「対象らしさ」)又はその近傍で行う。このような多段の粗サーチによって、サーチ精度の維持とサーチ時間の短縮を両立させることができる。また局所サーチを、縮小率に応じて複数回行うこともできる。
(精密位置決め手段76)
Next, the coarse search means 71 performs a second coarse search based on the result of the first coarse search. The second coarse search uses a reduction rate that is smaller than the reduction rate of the search target image used in the first coarse search described above, in other words, that has a large amount of information. For example, by using an edge angle bit reduced image having a reduction ratio of 1/4, all pattern models extracted from the edge angle bit reduced image having a reduction ratio of 1/8 used in the first coarse search are used. Only for the peripheral areas of similar detection candidates, the detection candidates are narrowed down using the pattern model of the same reduction ratio. Since the second coarse search is a search performed using a part of the edge angle bit reduced image, the detection candidates can be narrowed down efficiently. Thus, efficient search is possible by performing a plurality of stages of coarse search. That is, the entire area is scanned by the first coarse search, a rough position is specified, and then the second coarse search is performed on the image with the reduced reduction ratio, the specified region (detection candidate or “targetness”) or Perform in the vicinity. Such multi-stage coarse search can maintain both search accuracy and shorten search time. The local search can be performed a plurality of times according to the reduction rate.
(Precise positioning means 76)

以上のように粗サーチ手段71で検出候補あるいはこの近辺でさらに粗サーチを行った「より対象らしき検出候補」を求めた後、精密位置決め手段76で精密位置決めを行う。精密位置決めでは、縮小していないオリジナルサイズの画像、又は粗サーチで用いた縮小率よりも低い、オリジナルサイズに近い縮小率の画像にてサーチを行う。なお、ここではオリジナルサイズの画像も、縮小率1の縮小画像として扱う。また粗サーチでは、サーチ対象画像がエッジ角度ビット画像であるのに対し、精密位置決めでは原画像又はその縮小画像である。   As described above, after obtaining the detection candidate by the coarse search means 71 or the “more likely detection candidate” obtained by further coarse search in the vicinity thereof, the fine positioning means 76 performs the fine positioning. In precise positioning, a search is performed using an original size image that has not been reduced, or an image with a reduction rate close to the original size that is lower than the reduction rate used in the coarse search. Here, the original size image is also handled as a reduced image with a reduction ratio of 1. In the coarse search, the search target image is an edge angle bit image, whereas in the fine positioning, the original image or a reduced image thereof is used.

精密位置決め手段76は、サーチ対象画像上で得られた、パターンモデルに類似する検出候補の領域に対して、精密位置決め用パターンモデルYの対応点探索ラインをサーチ対象画像上に重ねるように配置する。具体的には、上述した粗サーチ手段71を用いて2つの異なる縮小率のエッジ角度ビット縮小画像とパターンモデルとのサーチによって絞り込んだ、パターンモデルに類似する検出候補の領域に対して、サーチ対象画像と同倍率のパターンモデルを用いてサーチを行い、最終的な位置決めを行うサーチ手段である。   The precise positioning means 76 is arranged so that the corresponding point search line of the precise positioning pattern model Y is superimposed on the search target image with respect to the detection candidate region similar to the pattern model obtained on the search target image. . More specifically, the search target is searched with respect to the detection candidate region similar to the pattern model, which is narrowed down by searching the edge angle bit reduced images having two different reduction ratios and the pattern model using the coarse search means 71 described above. Search means for performing a final positioning by performing a search using a pattern model having the same magnification as the image.

以上の粗サーチ手段71や精密位置決め手段76にて用いられるパターンモデルは、画像処理に使用するデータとして画像(以下「画像データ」という。)そのものでなく、画像データから得られた各エッジ点に対応する少なくともX座標位置、Y座標位置、エッジ角度の値を一次元的にリスト化したデータである。このようなデータから構成されたものが「パターンモデル」であり、画像データでなくリスト化したデータで構成されたパターンモデルを用いることで処理の高速化が図られる。一方で画像データは、いわゆるイメージデータであって、例えば640×480ビットのデータサイズであれば、全面の各画素について、座標位置毎の値を保有しなければならない。これに対し、パターンモデルを利用する場合は、エッジ画像のエッジ部分に相当する位置と角度のみの値で構成することができる。このためデータ量が相対的に少なく、必要な処理量も低減できる。したがって画像データに変わってパターンモデルを用いることで、より高速な処理が可能となる。   The pattern model used in the coarse search means 71 and the fine positioning means 76 described above is not an image (hereinafter referred to as “image data”) itself as data used for image processing, but at each edge point obtained from the image data. The data is a one-dimensional list of at least the corresponding X coordinate position, Y coordinate position, and edge angle. The “pattern model” is composed of such data, and the processing speed can be increased by using the pattern model composed of the list data instead of the image data. On the other hand, the image data is so-called image data. For example, if the data size is 640 × 480 bits, a value for each coordinate position must be held for each pixel on the entire surface. On the other hand, when the pattern model is used, the pattern model can be composed of only the position and angle corresponding to the edge portion of the edge image. For this reason, the data amount is relatively small, and the required processing amount can be reduced. Therefore, using a pattern model instead of image data enables faster processing.

なお本明細書において登録画像とは、サーチしたい画像のオリジナルである。一方、パターンモデルは、登録画像と同様のものをサーチ対象画像中からサーチするためのサーチに適した上述したリスト化されたデータである。本実施の形態ではパターンモデルとして、パターンモデルを構成する各点のXY座標及び角度θの情報を有する。なお、後述するように、精密位置決めにおけるパターンモデルを構成するデータとしては、各点のXY座標及び角度θの情報に加え、後述する対応点探索ラインの情報を有する。   In this specification, the registered image is the original image to be searched. On the other hand, the pattern model is the above listed data suitable for searching for searching for the same image as the registered image from the search target images. In this embodiment, the pattern model has information on the XY coordinates and the angle θ of each point constituting the pattern model. As will be described later, the data constituting the pattern model in the precise positioning includes information on the corresponding point search line described later in addition to the information on the XY coordinates and the angle θ of each point.

図1に示す各部材は、複数の部材を統合したり、あるいは一の機能を個別の部材に分けて実行することもできる。例えば、画像を縮小する画像縮小手段77を、輪郭抽出手段62に統合してもよい。またこれら演算手段6の各機能は、一のCPUやLSI等で処理することもできるが、例えば前処理を行う専用のFPGAと、画像処理を行う専用のDSP等に機能を分散してもよい。この画像処理装置100では、画像処理はDSP等で構成された画像処理部で実行し、画像イメージやサーチ結果の表示はCPUで処理する。このように各機能を分散処理することで、処理の高速化が図られる。各機能を実行する部材は、任意に構成できる。   Each member shown in FIG. 1 can be implemented by integrating a plurality of members or dividing one function into individual members. For example, an image reducing unit 77 that reduces an image may be integrated with the contour extracting unit 62. Each function of the calculation means 6 can be processed by a single CPU, LSI, or the like. For example, the functions may be distributed to a dedicated FPGA that performs preprocessing and a dedicated DSP that performs image processing. . In this image processing apparatus 100, image processing is executed by an image processing unit configured by a DSP or the like, and display of image images and search results is processed by a CPU. In this way, the processing is speeded up by performing distributed processing of each function. The member that performs each function can be arbitrarily configured.

画像入力手段1は、外部機器で撮像、作成された画像処理の対象となる入力画像を取得する。入力画像データは通信やI/Oにより外部機器から取得される他、記録媒体を介してデータファイルの形で入力することもできる。また画像処理装置自体に入力画像を撮像する機能を持たせてもよい。この場合、画像入力手段1は撮像手段や画像生成手段として機能する。撮像手段としてCCDやCMOS等の固体撮像素子を利用したカメラを使用し、画像処理の対象となる電子部品等のワークを撮像すると、ワークに照射された光の反射光と背景に照射された光の反射光の光量が異なるため、ワークに対応する部分と背景に対応する部分とでは固体撮像素子の電荷量に差が生ずる。すなわちワークと背景で画像の輝度差が生じるため、この輝度差をワークの輪郭やエッジとして検出できる。なお、ワークのCADデータ等として登録画像の輪郭データを入力することも可能である。このようにして画像入力手段1から入力されたデータは、必要に応じてA/D変換して画像処理装置本体部に送られる。   The image input unit 1 obtains an input image that is captured and created by an external device and is a target of image processing. In addition to being acquired from an external device by communication or I / O, the input image data can also be input in the form of a data file via a recording medium. Further, the image processing apparatus itself may have a function of capturing an input image. In this case, the image input unit 1 functions as an imaging unit or an image generation unit. When a camera using a solid-state image sensor such as a CCD or CMOS is used as an imaging means and a workpiece such as an electronic component to be image-processed is imaged, the reflected light of the light irradiated on the workpiece and the light irradiated on the background Since the amount of reflected light is different, there is a difference in the charge amount of the solid-state imaging device between the portion corresponding to the workpiece and the portion corresponding to the background. That is, since a difference in brightness occurs between the work and the background, this brightness difference can be detected as the contour or edge of the work. It is also possible to input the contour data of the registered image as the CAD data of the workpiece. The data input from the image input unit 1 in this way is A / D converted as necessary and sent to the image processing apparatus main body.

記憶手段4は、各種変換及びテンプレートマッチング等の計算に必要な各種データを記憶したパラメータファイル、登録画像のパターンモデル、サーチ対象画像用エッジ画像等のデータを保持する。このように記憶手段4は、設定内容を保持する他、入力画像のデータを記憶する領域としても利用できる。このような記憶手段4には、DRAMやフラッシュメモリ等の半導体素子、あるいはハードディスク等の固定記憶手段が利用できる。   The storage unit 4 holds data such as a parameter file storing various data necessary for calculations such as various conversions and template matching, a pattern model of a registered image, and an edge image for a search target image. As described above, the storage unit 4 can be used as an area for storing input image data in addition to holding the setting contents. As the storage means 4, a semiconductor element such as a DRAM or a flash memory, or a fixed storage means such as a hard disk can be used.

操作手段2は、画像処理装置100を操作するための入力デバイスである。例えば、ユーザがマウス81及びキーボード82を操作して手動で処理領域を指定する場合は、入力デバイスが処理領域指定手段5として機能する。一方、画像処理装置100側で画像処理に基づき演算手段6で演算することで、自動的に処理領域を指定することもできる。   The operation unit 2 is an input device for operating the image processing apparatus 100. For example, when the user manually designates a processing area by operating the mouse 81 and the keyboard 82, the input device functions as the processing area designation unit 5. On the other hand, the processing area can be automatically specified by calculating with the calculating means 6 based on the image processing on the image processing apparatus 100 side.

入力デバイスは画像処理装置100と有線もしくは無線で接続され、あるいは固定されている。一般的な入力デバイスとしては、例えばマウスやキーボード、スライドパッド、トラックポイント、タブレット、ジョイスティック、コンソール、ジョグダイヤル、デジタイザ、ライトペン、テンキー、タッチパッド、アキュポイント等の各種ポインティングデバイスが挙げられる。またこれらの入力デバイスは、輪郭抽出プログラムをインストールしたコンピュータを画像処理装置100と接続する態様、あるいは輪郭抽出プログラムをインストールしたコンピュータを画像処理装置や輪郭抽出装置とする態様において、輪郭抽出プログラムの操作の他、画像処理装置自体やその周辺機器の操作にも利用できる。さらに、インターフェース画面を表示するディスプレイ自体にタッチスクリーンやタッチパネルを利用して、画面上をユーザが手で直接触れることにより入力や操作を可能としたり、又は音声入力その他の既存の入力手段を利用、あるいはこれらを併用することもできる。図1の例では、入力デバイスはマウスやキーボード等のポインティングデバイスで構成される。   The input device is connected to the image processing apparatus 100 in a wired or wireless manner, or is fixed. Examples of general input devices include various pointing devices such as a mouse, keyboard, slide pad, track point, tablet, joystick, console, jog dial, digitizer, light pen, numeric keypad, touch pad, and accu point. Further, these input devices operate the contour extraction program in a mode in which a computer in which the contour extraction program is installed is connected to the image processing apparatus 100, or in a mode in which the computer in which the contour extraction program is installed is used as the image processing device or the contour extraction device. In addition, it can be used to operate the image processing apparatus itself and its peripheral devices. Furthermore, using a touch screen or touch panel on the display itself that displays the interface screen, the user can directly input or operate the screen by hand, or use voice input or other existing input means, Or these can also be used together. In the example of FIG. 1, the input device is configured by a pointing device such as a mouse or a keyboard.

表示手段3は、外付けの液晶モニタやCRTモニタ等のディスプレイが利用できる。またタッチパネル等入力機能を備えるタイプを使用すれば、表示手段と操作手段を兼用することもできる。表示手段3は、外部接続する形態の他、画像処理装置自体に組み込むこともできる。   As the display means 3, an external display such as a liquid crystal monitor or a CRT monitor can be used. If a type having an input function such as a touch panel is used, the display means and the operation means can be used together. The display means 3 can be incorporated in the image processing apparatus itself in addition to the externally connected form.

以上の構成は例示であって、例えば画像処理装置自体に表示手段、操作手段等を含んでいてもよく、また各部材は、一の部材で兼用したり、演算手段6に統合することもできる。以下、汎用のコンピュータに輪郭抽出プログラムをインストールしてエッジ連結処理や輪郭抽出処理を実行する例について説明する。
(画像処理の詳細な手順)
The above configuration is an example. For example, the image processing apparatus itself may include a display unit, an operation unit, and the like. Each member may be shared by a single member or may be integrated with the calculation unit 6. . Hereinafter, an example in which an edge extraction program is installed in a general-purpose computer and edge connection processing and contour extraction processing are executed will be described.
(Detailed procedure for image processing)

この画像処理装置は、画像入力手段1で取得された登録画像(基準画像、参照画像等とも呼ばれる)及びサーチ対象画像に対し、前処理(膨張、収縮、平滑化、ソーベル等)を行った後、特徴抽出としてエッジを抽出する。そして、登録画像から得られたパターンモデルを用いて、運転時にはエッジベースのパターンサーチを行う。本実施の形態では上述の通り、事前にパターンモデルを登録しておき(図3)、実際の運転時にはサーチ対象画像について処理を行う(図4)。このように登録時と運転時の処理を分散することで、処理を高速化できる。   This image processing apparatus performs preprocessing (expansion, contraction, smoothing, Sobel, etc.) on the registered image (also referred to as a standard image or reference image) acquired by the image input means 1 and the search target image. Then, an edge is extracted as feature extraction. Then, an edge-based pattern search is performed during operation using the pattern model obtained from the registered image. In the present embodiment, as described above, a pattern model is registered in advance (FIG. 3), and the search target image is processed during actual driving (FIG. 4). In this way, the processing can be speeded up by distributing the processing at the time of registration and operation.

登録時の動作をより具体的に説明すると、登録画像を上述した輪郭抽出手段62にて処理することにより、登録画像の輪郭部分がエッジとして抽出され、幅約1画素の点の集合で表現される登録画像用エッジ画像が生成される。登録画像用エッジ画像は、記憶手段4の登録画像用エッジ画像メモリに一時的に保持される。さらに、登録画像用エッジ画像から、セグメント作成手段68ならびにパターンモデル構成手段70によりパターンモデルが生成される。サーチに使用されるパターンモデルは、記憶手段4のパターンモデルメモリに保持されており、必要に応じて呼び出される。
(登録時のパターンモデルの作成)
The operation at the time of registration will be described in more detail. By processing the registered image by the above-described contour extracting means 62, the contour portion of the registered image is extracted as an edge and expressed by a set of points having a width of about 1 pixel. A registered image edge image is generated. The registered image edge image is temporarily held in the registered image edge image memory of the storage unit 4. Furthermore, a pattern model is generated by the segment creation means 68 and the pattern model construction means 70 from the registered image edge image. The pattern model used for the search is held in the pattern model memory of the storage means 4 and is called up as necessary.
(Create pattern model at registration)

ここで登録時のパターンモデルの作成手順のフローチャートを図12に示す。パターンモデルの作成には、上述したようにサーチ対象画像内から抽出したい対象の画像のマスタ画像を登録画像として指定し、一時的に記憶手段4に記憶する。このため登録画像にパターンウィンドウを設定する(ステップS1201)。この登録画像に対して、縮小率を決定した上で(ステップS1202)、画像縮小手段77により画像の縮小化を図る(ステップS1203)。さらに縮小された画像から輪郭を抽出する。具体的にはエッジ抽出処理とチェーン化処理を行う(ステップS1204)。さらにチェーンを連結するセグメント化を行う(ステップS1205)。以上のようにして、縮小画像に対して、輪郭抽出手段62及びチェーン作成手段63、セグメント作成手段68によりエッジデータのセグメント化を図る。そしてパターンモデル構成手段70によりパターンモデルが生成される(ステップS1206)。   FIG. 12 shows a flowchart of a pattern model creation procedure at the time of registration. In creating the pattern model, as described above, the master image of the target image to be extracted from the search target image is designated as a registered image and temporarily stored in the storage unit 4. Therefore, a pattern window is set for the registered image (step S1201). After determining the reduction ratio for this registered image (step S1202), the image reduction means 77 attempts to reduce the image (step S1203). Further, a contour is extracted from the reduced image. Specifically, edge extraction processing and chaining processing are performed (step S1204). Further, segmentation for connecting the chains is performed (step S1205). As described above, the edge data is segmented by the contour extracting unit 62, the chain creating unit 63, and the segment creating unit 68 on the reduced image. Then, a pattern model is generated by the pattern model construction means 70 (step S1206).

上述の通り、本実施の形態においてはパターンモデルとして、粗サーチ用のパターンモデルXと、精密位置決め用のパターンモデルYの二種類が生成される。また、粗サーチ用のパターンモデルのデータ構造は、任意に設定されている原点に対する各エッジ点のX方向とY方向の座標位置、及びエッジ角度により構成され、精密位置決め用のパターンモデルのデータ構造は、任意に設定されている原点に対する各エッジ点のX方向とY方向の座標位置、及びエッジ角度ならびに、後述する対応点探索ラインから構成される。
(エッジ角度)
As described above, in the present embodiment, two types of pattern models, ie, a rough search pattern model X and a fine positioning pattern model Y are generated as pattern models. The data structure of the pattern model for coarse search is composed of the coordinate position and edge angle of each edge point with respect to the arbitrarily set origin, and the data structure of the pattern model for fine positioning Is composed of coordinate positions in the X direction and Y direction of each edge point with respect to an arbitrarily set origin, edge angles, and corresponding point search lines described later.
(Edge angle)

エッジ角度は、エッジ点におけるエッジの濃度勾配方向を示すものである。ここでは、エッジ角度を示すために、0°から360°を256段階で表現している。
(エッジ強度)
The edge angle indicates an edge density gradient direction at an edge point. Here, in order to indicate the edge angle, 0 ° to 360 ° are expressed in 256 levels.
(Edge strength)

なお各エッジ点のエッジ強度については、本実施の形態では予め定められた強度値より大きな強度値を有するエッジ点のみで構成しているため、データとしてその値を保有していない。ただ、本発明はこの方法に限定されるものでなく、例えばサーチアルゴリズムにおいて、そのエッジ強度値の類似性に基づいて後述するスコア計算による評価や重み付け等を行う場合は、パターンモデルのデータ構造の値としてエッジ強度のデータを保有させても良い。
(画像の縮小率の決定)
Note that the edge strength of each edge point is composed only of edge points having a strength value larger than a predetermined strength value in the present embodiment, and therefore does not have that value as data. However, the present invention is not limited to this method. For example, in the search algorithm, when evaluation or weighting by score calculation to be described later is performed based on the similarity of the edge strength values, the data structure of the pattern model is changed. Data of edge strength may be held as a value.
(Determination of image reduction ratio)

また、登録時に縮小した画像を用いる際には、その縮小率が運転時にも影響を与えるため、縮小率の選定が非常に重要となる。ここでは、サーチに必要な画像の特徴点を保持しつつ、ノイズを削除し、サーチ時間を短縮できる適切な縮小率に設定する。例えば、サーチ精度とサーチ時間とのバランスにおいて、サーチ時間をある程度犠牲し、サーチ精度に重きを置く場合は、縮小率を比較的低くした特定の縮小率とする。あるいは、ユーザが試行錯誤によって決定した最適な縮小率を活用することもできる。本実施の形態においては、自動的に縮小率を決定するオートモードと、ユーザが縮小率を指定するマニュアルモードとを切り替え可能としている。ここでオートモードにおいては、パターンウィンドウPMの矩形領域を画定する短い方の辺の長さに基づいて縮小率を決定する。またマニュアルモードでは、縮小率に応じてパターンモデルが実際にどのように変形するかをユーザが目で確認しながら、最適値を選択するようにすれば、設定作業を感覚的として容易にできる。図13のユーザインターフェースの例では、マニュアルモードを選択すると、ドロップダウンリストで縮小率を選択できると共に、選択した縮小率に応じて画像がどのように変形するかをイメージで示している。縮小率を高くする程、画像の角の部分がなまって変形が激しくなる。このようなイメージの変化を参考にしながら、ユーザは用途や目的に応じて適切な縮小率を選択できる。   In addition, when using a reduced image at the time of registration, the selection of the reduction rate is very important because the reduction rate affects the operation. Here, while maintaining the feature points of the image necessary for the search, noise is deleted, and an appropriate reduction ratio that can shorten the search time is set. For example, in the balance between search accuracy and search time, when the search time is sacrificed to some extent and the search accuracy is emphasized, a specific reduction rate with a relatively low reduction rate is set. Alternatively, an optimum reduction ratio determined by trial and error by the user can be used. In the present embodiment, it is possible to switch between an auto mode in which the reduction ratio is automatically determined and a manual mode in which the user designates the reduction ratio. Here, in the auto mode, the reduction ratio is determined based on the length of the shorter side defining the rectangular area of the pattern window PM. In the manual mode, if the user selects the optimum value while visually checking how the pattern model is actually deformed according to the reduction ratio, the setting operation can be facilitated as a sensation. In the example of the user interface in FIG. 13, when the manual mode is selected, a reduction ratio can be selected from a drop-down list, and an image shows how an image is deformed according to the selected reduction ratio. As the reduction ratio is increased, the corners of the image become distorted and the deformation becomes more severe. The user can select an appropriate reduction ratio according to the application and purpose while referring to such a change in image.

あるいは、他の実施例としてサーチ精度とサーチ時間とのバランスを自動的に決定する手法を採用してもよい。例えば、ユーザが重視する項目として、サーチ精度か、サーチ時間か、又は両方かを選択肢として提示し、ユーザに選択させた上で、該選択に応じて適切な設定を自動で行う。
(粗サーチ用パターンモデルX)
Alternatively, as another embodiment, a method of automatically determining the balance between search accuracy and search time may be employed. For example, a search accuracy, a search time, or both are presented as choices as items that are emphasized by the user, and after the user makes a selection, an appropriate setting is automatically performed according to the selection.
(Coarse search pattern model X)

粗サーチとは、後述する精密位置決めに先立って、サーチ対象画像内から、登録画像と同一の画像が存在する可能性の高い領域を検出候補として、効率よく短時間で絞り込むためのサーチである。このため粗サーチは、オリジナルのサーチ対象画像や登録画像から縮小した画像を活用することによって、上述した目的を達成している。より具体的には、図87に示すピラミッドサーチのように、オリジナルサイズの画像を縮小した縮小画像を用いて、粗いサーチを行う。この粗サーチにおいては、縮小率の高い、低解像度の画像を用いる。そして粗サーチで得られた粗い位置(検出候補)に対して、精密値決めを行う。この精密位置決めにおいては、粗サーチよりも縮小率の低い、解像度の高い画像を用いる。   The coarse search is a search for efficiently narrowing down an area in which there is a high possibility that the same image as the registered image exists in the search target image as a detection candidate prior to precise positioning described later. For this reason, the rough search achieves the above-described object by utilizing an original search target image or an image reduced from a registered image. More specifically, as in the pyramid search shown in FIG. 87, a coarse search is performed using a reduced image obtained by reducing an original size image. In this rough search, a low-resolution image with a high reduction ratio is used. Then, a precise value is determined for the coarse position (detection candidate) obtained by the coarse search. In this precise positioning, an image with a high resolution and a lower reduction rate than that of the coarse search is used.

ここで粗サーチ用パターンモデルXを作成する手順を説明する。ステップS1201でサーチ対象画像内から検出したい対象の画像のマスタ画像を登録画像として、一時的に記憶手段4の登録画像メモリに記憶する。より具体的には、撮像手段から取り込み、表示手段に表示される画像に対して、登録画像として必要な部分の位置とその大きさを、図2に示すように矩形状のパターンウインドウPWを用いて、ユーザが画面上にて設定する。   Here, the procedure for creating the rough search pattern model X will be described. In step S1201, the master image of the target image to be detected from the search target image is temporarily stored in the registered image memory of the storage unit 4 as a registered image. More specifically, the position and size of a necessary part as a registered image is used for the image captured from the imaging unit and displayed on the display unit, using a rectangular pattern window PW as shown in FIG. The user makes settings on the screen.

次にこの登録画像に対して、画像縮小手段77により画像を縮小化する際の縮小率を決定する(ステップS1202)。本実施の形態においては、後述するパターンモデルの大域用縮小率は、このパターンウインドウPWの大きさ、すなわち矩形内に含まれる画素数によって決定される。   Next, a reduction ratio when the image is reduced by the image reduction unit 77 is determined for the registered image (step S1202). In the present embodiment, the global reduction rate of the pattern model to be described later is determined by the size of the pattern window PW, that is, the number of pixels included in the rectangle.

つまり、登録画像としての画素数が比較的多い場合は、縮小率を高く設定しても、画像の内の特徴点の喪失が少ないため、ある程度縮小率を高く設定する。一方、登録画像としての画素数が比較的少ない場合は、縮小率が高いと、画像の内の特徴点が喪失される可能性が高くなるため、ある程度縮小率を低く設定する。なお、最適な縮小率の設定は、縮小によって、画像内のノイズが除去され、且つ画像の特徴点を喪失しない程度の縮小率が好ましい。   That is, when the number of pixels as a registered image is relatively large, even if the reduction ratio is set high, the loss of feature points in the image is small, so the reduction ratio is set high to some extent. On the other hand, when the number of pixels as a registered image is relatively small, if the reduction ratio is high, there is a high possibility that feature points in the image will be lost. Therefore, the reduction ratio is set low to some extent. The optimal reduction ratio is preferably set to such a degree that noise in the image is removed by the reduction and the feature points of the image are not lost.

縮小率を決定する他の手法としては、例えば登録画像を、同じ登録画像に対してX方向ならびにY方向に所定量ずつシフトさせる。ここで自己相関が緩やかに変化する場合は、ある程度マッチングすれば相関値が変化し難い特徴のある画像と判断できるため、縮小率を高くする。一方で自己相関が急激に変化する場合は、相関値が変化しやすい特徴のある画像と判断できるため、縮小率を低く抑える。このように自己相関に基づいて縮小率を決定することもできる。   As another method for determining the reduction ratio, for example, a registered image is shifted by a predetermined amount in the X direction and the Y direction with respect to the same registered image. Here, when the autocorrelation changes slowly, it can be determined that the correlation value is difficult to change if matching is performed to some extent, and therefore the reduction ratio is increased. On the other hand, when the autocorrelation changes abruptly, it can be determined that the image has a characteristic that the correlation value is likely to change, so the reduction rate is kept low. Thus, the reduction rate can be determined based on the autocorrelation.

以上のようにして決定された縮小率に基づき、オリジナルサイズの登録画像が画像縮小手段77により縮小される(ステップS1203)。詳細には、画像縮小手段77では、パターンウインドウPWのサイズによって決定された最終の縮小率ではなく、まず画像のオリジナルサイズと大域用縮小率の間に位置する中間縮小率にて、画像の縮小が実行される。ここでは、画像縮小手段77により中間縮小率にて縮小された画像に対して、さらに輪郭抽出手段62及びチェーン作成手段63、セグメント作成手段68により、エッジのセグメント化を図る(ステップS1204、ステップS1205)。なお中間縮小率は、第2の粗サーチにおける縮小率に対応している。   Based on the reduction ratio determined as described above, the registered image of the original size is reduced by the image reduction means 77 (step S1203). In detail, the image reduction means 77 reduces the image at an intermediate reduction ratio located between the original size of the image and the global reduction ratio, not the final reduction ratio determined by the size of the pattern window PW. Is executed. Here, the image is reduced by the image reduction unit 77 at the intermediate reduction rate, and the edge extraction unit 62, the chain generation unit 63, and the segment generation unit 68 further perform edge segmentation (steps S1204 and S1205). ). Note that the intermediate reduction rate corresponds to the reduction rate in the second coarse search.

ここで、先にオリジナルサイズの画像を縮小した後、次いで画像のエッジデータ化ならびにセグメント化を図る理由は、逆にオリジルサイズの画像をエッジデータ化ならびにセグメント化した後で縮小する手順に比べ、オリジナル画像の保有する特徴点を保存しつつ、ノイズを低減できるからである。またこの方法は、パターンモデルに類似する検出候補の領域を抽出する粗サーチの目的にも合致している。このため、中間縮小率は、オリジナルサイズの画像の特徴点を保持しつつ、ノイズをある程度低減できるように、ユーザがそのセグメントを見ながら手動で決定するマニュアル設定とすることもできる。あるいは、パターンウインドウPWのサイズに応じて自動的に決定する自動設定とすることもできる。
(第1のパターンモデル作成)
Here, after reducing the original size image first, the reason for the edge data conversion and segmentation of the image is compared to the procedure for reducing the size of the original size image after converting it to edge data and segmentation. This is because noise can be reduced while preserving the feature points of the original image. This method also matches the purpose of the coarse search for extracting detection candidate regions similar to the pattern model. For this reason, the intermediate reduction ratio can be set manually so that the user can manually determine the segment while looking at the segment so that the noise can be reduced to some extent while retaining the feature points of the original size image. Or it can also be set as the automatic setting determined automatically according to the size of the pattern window PW.
(Create first pattern model)

次にステップS1206で、パターンモデル構成手段70は、セグメント作成手段68にてセグメント化されたデータを用いて、上述した中間縮小率での第1のパターンモデルを生成する。この第1のパターンモデルは粗サーチの内、局所サーチ用である(図9のステップS902)。図8に、各パターンモデルの例を示す。第1のパターンモデルは、図8(a)に示すように、エッジ画像データ内に存在する各セグメント上に、予め定めた条件に基づいて、基点を決定し、さらに各基点に対して、セグメントの法線方向で、且つエッジの向きにエッジ角度を設定したエッジモデル点が規定される。
(第2のパターンモデル作成)
In step S1206, the pattern model construction unit 70 uses the data segmented by the segment creation unit 68 to generate the first pattern model at the intermediate reduction rate described above. This first pattern model is for local search in the coarse search (step S902 in FIG. 9). FIG. 8 shows an example of each pattern model. As shown in FIG. 8A, the first pattern model determines a base point on each segment existing in the edge image data based on a predetermined condition, and further, a segment for each base point. The edge model point is defined in which the edge angle is set in the normal direction and the edge direction.
(Create second pattern model)

さらにパターンモデル構成手段70は、セグメント作成手段68にてセグメント化されたデータを用いて、上述した大域用縮小率での第2のパターンモデルを生成する(図8(b))。この粗サーチ用の第2のパターンモデルは、第1のパターンモデルと同様に、エッジ画像データ内に存在する各セグメント上に、予め定めた条件に基づいて、基点を決定し、各基点に対して、セグメントの法線方向で、且つエッジの向きにエッジ角度を設定している。これらパターンモデルは縮小率に応じて個別に作成せずとも、1つのみを作成し、運転時においてはサーチ対象画像の縮小率に応じてパターンモデルを拡大縮小して利用することができる。   Further, the pattern model construction unit 70 uses the data segmented by the segment creation unit 68 to generate the second pattern model at the above-described global reduction rate (FIG. 8B). As in the first pattern model, the second pattern model for coarse search determines a base point on each segment existing in the edge image data based on a predetermined condition, and for each base point, Thus, the edge angle is set in the normal direction of the segment and in the direction of the edge. Even if these pattern models are not created individually according to the reduction ratio, only one pattern model can be created, and during operation, the pattern model can be enlarged and reduced according to the reduction ratio of the search target image.

第1のパターンモデルと第2のパターンモデルの相違点は、各セグメント上に設定される基点が複数存在する場合、図8(a)、(b)に示すように、その基点間の距離が第1のパターンモデルのものに比べ、第2のパターンモデルのものが長くなっている点である。これは、2つのパターンモデルの縮小率が相違することに起因している。基点間の距離が相違する度合いは、中間縮小率と大域用縮小率との違いに支配されている。   The difference between the first pattern model and the second pattern model is that when there are a plurality of base points set on each segment, the distance between the base points is as shown in FIGS. 8 (a) and 8 (b). Compared to the first pattern model, the second pattern model is longer. This is because the two pattern models have different reduction rates. The degree of difference in the distance between the base points is governed by the difference between the intermediate reduction rate and the global reduction rate.

ここで、具体的な粗サーチは、図9に示したように、大域用縮小率の第2のパターンモデルを用いてサーチ対象画像の全範囲に対して実施される「大域サーチ」(ステップS901)と、この「大域サーチ」によって抽出された検出候補の候補領域に対してのみ、中間縮小率の第1のパターンモデルを用いて実施される「局所サーチ」(ステップS902)で構成される。   Here, as shown in FIG. 9, the specific coarse search is performed on the entire range of the search target image using the second pattern model of the global reduction ratio (step S901). ), And “local search” (step S902) performed using the first pattern model of the intermediate reduction rate only for the candidate region of the detection candidate extracted by this “global search”.

本実施の形態の説明においては、粗サーチは、一の大域用縮小率のパターンモデルを用いた1回の「大域サーチ」と、一の中間縮小率のパターンモデルを用いた1回の「局所サーチ」を行っている。具体的には、画像のオリジナルサイズに対して中間縮小率が、
(1)1/√2倍以下の場合、大域用縮小率を中間縮小率の1/2倍、
(2)1/√2倍〜1/4倍の場合、大域用縮小率を中間縮小率の1/3倍、及び
(3)1/4以上の場合、大域用縮小率を中間縮小率の1/4倍に、それぞれ設定している。このように中間縮小率に応じて大域用縮小率を決定することで、サーチの効率と、オリジナル画像からの特徴点の保存を両立させている。
In the description of the present embodiment, the coarse search is performed by one “global search” using one global reduction rate pattern model and one “local search” using one intermediate reduction rate pattern model. “Search”. Specifically, the intermediate reduction ratio with respect to the original size of the image is
(1) If 1 / √2 or less, the global reduction rate is ½ times the intermediate reduction rate,
(2) In the case of 1 / √2 times to 1/4 times, the global reduction rate is 1/3 times the intermediate reduction rate, and (3) in the case of 1/4 or more, the global reduction rate is set to the intermediate reduction rate. Each is set to 1/4 times. Thus, by determining the global reduction rate according to the intermediate reduction rate, both the search efficiency and the saving of the feature points from the original image are achieved.

ここで、局所サーチを複数回行うこともできる。上記(3)のように、画像のオリジナルサイズに対して中間縮小率が著しく高い場合、例えば画像のオリジナルサイズに対して、中間縮小率が1/4倍に設定された場合、大域用縮小率は、画像のオリジナルサイズに対して1/16倍となる。この場合は、大域用縮小率と中間縮小率との比率が4倍も異なるため、大域用縮小率の第2のパターンモデルを用いて抽出した検出候補の候補領域とその周辺をサーチの最小とする「局所サーチ」に時間がかかりすぎる恐れがある。   Here, the local search can be performed a plurality of times. As in (3) above, when the intermediate reduction ratio is remarkably high with respect to the original size of the image, for example, when the intermediate reduction ratio is set to 1/4 times the original size of the image, the global reduction ratio Is 1/16 times the original size of the image. In this case, since the ratio between the global reduction rate and the intermediate reduction rate is different by a factor of four, the candidate area of the detection candidate extracted using the second pattern model of the global reduction rate and its surroundings are set as the minimum search. The “local search” to be performed may take too long.

そこで、本実施の形態においては、中間縮小率と大域用縮小率の比率が2倍より大きい場合、隣接する縮小率同士の比率が2倍以下となるように、自動的に更にサーチを1回又はそれ以上追加するように、追加的な中間縮小率が設定される。すなわち、局所サーチを2回以上行うことで、1回の局所サーチに要する時間の短縮化を図っている。このような中間縮小率(局所サーチ用縮小率)の自動追加は、例えば図5に示すユーザインターフェース画面で、「自動で局所サーチ用縮小率を追加する」オプションにチェックを入れて設定できる。   Therefore, in the present embodiment, when the ratio between the intermediate reduction ratio and the global reduction ratio is larger than twice, the search is automatically performed once more so that the ratio between the adjacent reduction ratios becomes two times or less. An additional intermediate reduction ratio is set so as to add more or more. That is, the time required for one local search is shortened by performing the local search twice or more. Such an automatic addition of the intermediate reduction rate (reduction rate for local search) can be set by checking the “Automatically add reduction rate for local search” option on the user interface screen shown in FIG. 5, for example.

上述したように、パターンモデルは、任意に設定されている原点に対する各エッジ点のX方向とY方向の座標位置及びエッジ角度から構成されるデータ構造である。したがって、追加の中間縮小率が設定された場合、その追加の中間縮小率に対応するパターンモデルは、上述した第1のパターンモデルや第2のパターンモデルと同様に、セグメントから生成される。追加の中間縮小率のパターンモデルと、第1のパターンモデルや第2のパターンモデルとの相違は、各セグメント上に設定される基点が複数存在する場合、その基点間の距離が第1のパターンモデルのものに比べ長く、かつ第2のパターンモデルのものに比べて短いことである。なお、パターンモデルを縮小しても、パターンモデル自体が座標位置等のデータで構成されているため、画像データの縮小に比べ、縮小による情報の欠損を極減できる。
(大域サーチ)
As described above, the pattern model is a data structure including coordinate positions and edge angles in the X direction and Y direction of each edge point with respect to an arbitrarily set origin. Therefore, when an additional intermediate reduction ratio is set, the pattern model corresponding to the additional intermediate reduction ratio is generated from the segment in the same manner as the first pattern model and the second pattern model described above. The difference between the additional intermediate reduction ratio pattern model and the first pattern model or the second pattern model is that when there are a plurality of base points set on each segment, the distance between the base points is the first pattern. It is longer than that of the model and shorter than that of the second pattern model. Even if the pattern model is reduced, since the pattern model itself is composed of data such as coordinate positions, information loss due to the reduction can be reduced as compared with reduction of image data.
(Global search)

ここで、説明の便宜ためサーチの運転時の動作についても説明する。図9のステップS901に示すように、大域用縮小率のパターンモデルを用いた「大域サーチ」を実行することにより、検出候補の候補領域を抽出する。そして、抽出された検出候補の候補領域を、大域用縮小率の次に縮小率の高い第2のパターンモデルを用いて、「局所サーチ」を実行する。これにより、サーチ結果に基づいて、より精度の高い検出候補の候補領域を絞り込む。その後、縮小率の高い順に、設定される中間縮小率のパターンモデルを用いて、絞り込まれた検出候補の候補領域に対して、「局所サーチ」を実行し、検出候補の候補領域を絞り込むステップを繰り返す。
(精密位置決め縮小率)
(手動縮小率決定モード)
Here, for convenience of explanation, the operation during the search operation will also be described. As shown in step S901 in FIG. 9, a “global search” using a global reduction rate pattern model is executed to extract candidate areas for detection candidates. Then, a “local search” is performed on the extracted candidate areas of the detection candidates using the second pattern model having the next highest reduction ratio after the global reduction ratio. Thereby, the candidate area | region of a detection candidate with higher precision is narrowed down based on a search result. After that, using the pattern model of the intermediate reduction rate that is set in descending order of the reduction rate, a step of performing “local search” on the narrowed detection candidate region and narrowing down the detection candidate region repeat.
(Precise positioning reduction rate)
(Manual reduction rate determination mode)

また上述したように、ユーザが図5のユーザインターフェースを用いて縮小率を選択する手動縮小率決定モードの場合は、ユーザは、一の中間縮小率と、一の大域用縮小率、及び精密位置決め手段76を用いる際の精密位置決め縮小率を選択することができる。ただこの場合でも、選択された中間縮小率と大域用縮小率との比率が2倍より大きい場合には、自動的にこれらの縮小率の間に上述した条件に基づいた更なる中間縮小率を自動的に生成されるように設定してもよい。また、精密位置決め手段76を用いる際の精密位置決め縮小率については、縮小率の候補をユーザに選択させる際、粗サーチ用に設定された縮小率の内で最も低い値か、これよりもさらに低い縮小率の値(画像のオリジナルサイズを含む)しか選択できないように、選択対象の値を制限している。これにより、誤って前段の粗サーチよりも縮小率の高い、粗いデータで精密位置決めを行う事態を回避できる。
(精密位置決め用パターンモデル)
As described above, in the manual reduction ratio determination mode in which the user selects the reduction ratio using the user interface of FIG. 5, the user can select one intermediate reduction ratio, one global reduction ratio, and precise positioning. The precise positioning reduction rate when using the means 76 can be selected. However, even in this case, if the ratio between the selected intermediate reduction ratio and the global reduction ratio is larger than two times, a further intermediate reduction ratio based on the above-described conditions is automatically set between these reduction ratios. You may set so that it may be generated automatically. The precision positioning reduction ratio when using the precision positioning means 76 is the lowest value among the reduction ratios set for the coarse search when the user selects a reduction ratio candidate, or even lower than this. The value to be selected is limited so that only the reduction ratio value (including the original size of the image) can be selected. As a result, it is possible to avoid a situation in which precise positioning is performed with coarse data having a higher reduction ratio than the previous coarse search.
(Pattern model for precise positioning)

精密位置決めサーチは、図9のステップS903に示すように、上述した粗サーチの「局所サーチ」によって絞り込まれた、一つ又は複数の検出候補の候補領域に対して、「局所サーチ」において最後に用いた最終中間縮小率又はこれよりも低い(画像のオリジナルサイズを含む)縮小率のパターンモデルを用いて、精密な位置決めを行うものである。好ましくは、精密位置決めに用いるパターンモデルの縮小率は、等倍画像すなわちオリジナルサイズの原画像とする。
(エッジの鮮鋭度)
As shown in step S903 in FIG. 9, the fine positioning search is performed at the last in the “local search” with respect to one or a plurality of detection candidate candidate areas narrowed down by the “local search” of the coarse search described above. Precise positioning is performed using the pattern model of the final intermediate reduction ratio used or a reduction ratio lower than this (including the original size of the image). Preferably, the reduction ratio of the pattern model used for precise positioning is an equal-size image, that is, an original image of an original size.
(Edge sharpness)

上述の通り、精密位置決めにおいては必ずしもオリジナルサイズのサーチ対象画像を用いるものでなく、前段の局所サーチにおいて最後に用いた最終中間縮小率を超えない範囲の縮小率(精密位置決め縮小率)で縮小した画像を用いることもできる。これによって、特にサーチ対象画像がぼけている場合にも好適なサーチ結果が期待できる。   As described above, the original image search target image is not necessarily used for precise positioning, but reduced at a reduction rate (precise positioning reduction rate) that does not exceed the final intermediate reduction rate used last in the previous local search. Images can also be used. As a result, a suitable search result can be expected even when the search target image is blurred.

例えば、オリジナルサイズのエッジ画像の輝度データの波形が尖鋭である程、鮮鋭度が高く、逆になだらかである程、画像がぼやけているといえる。そこで、エッジの部分の鮮鋭度が予め定められた値より低い場合、すなわちエッジが幅方向において所定の幅以上に分散して、画像がぼやけている場合は、適切な精密位置決め縮小率に設定して画像をこの縮小率に縮小することで、この画像の鮮鋭度を低減してエッジの鮮鋭度を増すことができ、この結果安定した位置決め精度を得ることができる。   For example, it can be said that the sharper the waveform of the luminance data of the edge image of the original size, the higher the sharpness, and vice versa. Therefore, when the sharpness of the edge portion is lower than a predetermined value, that is, when the edge is spread over a predetermined width in the width direction and the image is blurred, an appropriate precision positioning reduction ratio is set. By reducing the image to this reduction ratio, the sharpness of the image can be reduced and the edge sharpness can be increased. As a result, stable positioning accuracy can be obtained.

例えば図53に示すような画素の変化が急峻な二値画像の場合、この画像の輪郭すなわちエッジは、図54に示すように画素の濃度すなわち画素値が階段状に変化する、いわゆるステップエッジである。このため、エッジの強度変化は図55に示すように、境界線がシャープに現れる傾向にあり、正確な位置決めが期待できる。一方、二値画像が不鮮明な場合は、境界部分の変化が図56に示すようになだらかとなり、この結果エッジの強度変化が図57に示すように起伏の乏しい曲線となって、照度や光量変化といった周囲環境の僅かな変動でエッジ検出精度が左右され、安定したエッジ検出ができず画像認識等の画像処理の信頼性も低下するという問題があった。そこで本実施の形態では、適切な位置決め縮小率に縮小することでエッジの鮮鋭度を向上させる。
(エッジのサブピクセル座標の決定)
For example, in the case of a binary image with sharp pixel changes as shown in FIG. 53, the contour or edge of the image is a so-called step edge in which the pixel density or pixel value changes stepwise as shown in FIG. is there. For this reason, as shown in FIG. 55, the edge intensity changes tend to appear sharply, and accurate positioning can be expected. On the other hand, when the binary image is unclear, the change in the boundary portion becomes gentle as shown in FIG. 56, and as a result, the edge intensity change becomes an uneven curve as shown in FIG. As described above, there is a problem that the edge detection accuracy is affected by slight fluctuations in the surrounding environment, and stable edge detection cannot be performed, and the reliability of image processing such as image recognition is reduced. Therefore, in this embodiment, the sharpness of the edge is improved by reducing to an appropriate positioning reduction rate.
(Determine edge sub-pixel coordinates)

具体的には、エッジ情報を用いた精密位置決めにおいては、登録画像から抽出したエッジの位置情報に基づき生成するパターンモデルと、サーチ対象画像から抽出したエッジの位置情報に基づき高精度な位置決めを行う。このため、エッジの位置情報は極めて重要となる。   Specifically, in precise positioning using edge information, highly accurate positioning is performed based on a pattern model generated based on edge position information extracted from a registered image and edge position information extracted from a search target image. . For this reason, edge position information is extremely important.

従来、エッジのサブピクセル位置を決定する手法として、特許文献2、3等の技術が知られている。これらの方法では、注目画素のエッジ強度と、その周囲に位置する2つの画素のエッジ強度の、合計3つのデータを用いて二次関数補完を用いてサブピクセル座標を求めている。図58に、特許文献2に係るサブピクセル座標の計算方法の概要を示す。この図において、EMc(Edge Magnitude center)は、エッジの細線化のための非極大点抑制処理(nonmaxsupress)後に残ったエッジ点である注目エッジ点のエッジ強度値である。またEMf(Edge Magnitude forward)は、注目エッジ点のエッジ角度の向きにある矢印での推定エッジ強度値である。さらにEMb(Edge Magnitude backward)は、注目エッジ点のエッジ角度の向きにある丸印での推定エッジ強度値である。さらにまたEMf1、EMb1の添え字の1は、十字方向のエッジ点の特徴量に、EMf2、EMb2の添え字の2は、対角方向のエッジ点の特徴量に、それぞれ与えられる。以下の例では、エッジ角度が水平方向となす角度EAc<45°について考える。他の角度については、対称性を考慮して求めることができる。ここで、次式が成立する。 Conventionally, as a method for determining the edge sub-pixel position, techniques such as Patent Documents 2 and 3 are known. In these methods, sub-pixel coordinates are obtained using quadratic function interpolation using a total of three pieces of data, that is, the edge intensity of the target pixel and the edge intensity of two pixels located around the target pixel. FIG. 58 shows an outline of a subpixel coordinate calculation method according to Patent Document 2. In this figure, EMc (Edge Magnitude center) is an edge intensity value of the target edge point that is an edge point remaining after non-maximal point suppression processing (nonmaxsupress) for edge thinning. Further, EMf (Edge Magnitude forward) is an estimated edge strength value at an arrow in the direction of the edge angle of the target edge point. Further, EMb (Edge Magnitude backward) is an estimated edge intensity value at a circle in the direction of the edge angle of the target edge point. Furthermore, the subscript 1 of EMf 1 and EMb 1 is given to the feature quantity of the edge point in the cross direction, and the subscript 2 of EMf 2 and EMb 2 is given to the feature quantity of the edge point in the diagonal direction. . In the following example, an angle EAc <45 ° between the edge angle and the horizontal direction will be considered. Other angles can be obtained in consideration of symmetry. Here, the following equation holds.

EMf=EMf1*(1−tanEAc)+EMf2*tanEAc
EMb=EMb1*(1−tanEAc)+EMb2*tanEAc
EMf = EMf 1 * (1-tanEAc) + EMf 2 * tanEAc
EMb = EMb 1 * (1-tanEAc) + EMb 2 * tanEAc

上式のEMcとEMfとEMbの3つのエッジ強度データを用いて、EMcの位置からのサブピクセル位置のオフセット量は、次式で計算できる。   Using the three edge intensity data of EMc, EMf, and EMb in the above equation, the offset amount of the subpixel position from the EMc position can be calculated by the following equation.

x=(EMf−EMb)/(2(2EMc−EMf−EMb))
y=x*tanθ
x = (EMf-EMb) / (2 (2EMc-EMf-EMb))
y = x * tan θ

以上のようにして、サブピクセル位置を演算することができる。次に、ピントの合ったエッジ強度の様子と、不鮮明な画像でのエッジ強度の様子を、図55及び図57に示す。図55から明らかなように、ある程度ピントの合ったエッジ強度はピークが尖鋭となり、エッジ位置は明確に決定できる。一方、図57に示すように不鮮明でぼやけた画像の場合は、極大付近がかなりフラットな状態となり、エッジ強度の誤差によるサブピクセル座標への影響が大きくなる。その影響を評価するために、EMf=EMbでEMfに誤差が1階調ある場合を検討する。エッジ強度の誤差とサブピクセル位置との関係を、次式に示す。   As described above, the subpixel position can be calculated. Next, FIGS. 55 and 57 show the state of the focused edge strength and the state of the edge strength in a blurred image. As is clear from FIG. 55, the edge strength that is in focus to some extent has a sharp peak, and the edge position can be clearly determined. On the other hand, in the case of an unclear and blurry image as shown in FIG. 57, the vicinity of the maximum is in a considerably flat state, and the influence on the subpixel coordinates due to the error of the edge strength is increased. In order to evaluate the influence, the case where EMf = EMb and EMf has one gradation is considered. The relationship between edge strength error and subpixel position is shown in the following equation.

上記関数において、x=a+1付近の状況を調べると、以下の通りとなる。   In the above function, the situation near x = a + 1 is examined as follows.

上式において、X=c−aとすると、   In the above equation, if X = c−a,

となる。これをグラフで表現すると、図59のようになる。この図に示すように、EMf=EMb付近で、X→0、つまりc→aでエッジ強度がフラットになっていくと、エッジ強度の誤差によるエッジ位置の誤差への影響が大きくなることが判る。同様の傾向がEMf≠EMbでも見られる。そこで、本実施の形態では、エッジ点の鮮鋭度を演算し、この値を用いてエッジのサブピクセル位置計算を行うための画像データ縮小率を計算する。さらに、画像データ縮小率に縮小した画像データを用いて、エッジ抽出を行う。このように画像データを縮小することで、図57のようななだらかな波形を図55のような尖鋭な波形とし、エッジ位置を安定させ、位置決めの精度を向上させることができる。 It becomes. This can be expressed as a graph as shown in FIG. As shown in this figure, when the edge strength becomes flat in the vicinity of EMf = EMb, X → 0, that is, c → a, the influence of the edge strength error on the edge position error increases. . A similar tendency can be seen even when EMf ≠ EMb. Therefore, in this embodiment, the sharpness of the edge point is calculated, and the image data reduction ratio for calculating the edge sub-pixel position is calculated using this value. Further, edge extraction is performed using the image data reduced to the image data reduction rate. By reducing the image data in this way, the gentle waveform as shown in FIG. 57 becomes a sharp waveform as shown in FIG. 55, the edge position is stabilized, and the positioning accuracy can be improved.

エッジ点の鮮鋭度に基づき、画像データ縮小率を決定する手順を、図60のフローチャートに基づいて説明する。まずステップS6001において、等倍画像からエッジ画像を作成する。次にステップS6002において、エッジ画像のエッジの細線化を図り、一方でステップS6003において、エッジ画像の各エッジ点の鮮鋭度の演算を行う。エッジの細線化処理は、エッジ連結処理に先立ち、非極大点抑制処理のために行われる。さらにステップS6004で、細線化された対象のエッジ点の鮮鋭度の平均値を演算する。そしてステップS6005で、この鮮鋭度の平均値に基づいて、画像データの縮小率を決定する。ここでエッジ点の位置精度が所定以上に維持されるように画像データ縮小率を決定する。
(エッジのモデル関数)
The procedure for determining the image data reduction ratio based on the sharpness of the edge point will be described based on the flowchart of FIG. First, in step S6001, an edge image is created from the same size image. In step S6002, the edge of the edge image is thinned. In step S6003, the sharpness of each edge point of the edge image is calculated. Edge thinning processing is performed for non-maximum point suppression processing prior to edge connection processing. In step S6004, the average value of the sharpness of the thinned target edge point is calculated. In step S6005, the reduction rate of the image data is determined based on the average value of the sharpness. Here, the image data reduction ratio is determined so that the position accuracy of the edge point is maintained at a predetermined level or higher.
(Edge model function)

次に、エッジのモデル関数について検討する。抽出されるエッジの多くは、ステップ状のエッジであると考え、以下に示すエッジのモデル関数で表現できると仮定する。このエッジのモデル関数のσsを、エッジ点の鮮鋭度とする。この場合エッジの理想型は、次式で表現できる。 Next, the model function of the edge is examined. It is assumed that many of the extracted edges are step-like edges and can be expressed by the following edge model function. The edge model function σ s is defined as the sharpness of the edge point. In this case, the ideal type of edge can be expressed by the following equation.

上式の関数のグラフを、図61に示す。この図に示すエッジの理想的な形状(プロファイル)は、次式でプロットされる(x軸に沿ってI=2、l=0、σs=0.6の場合)。 A graph of the above function is shown in FIG. The ideal shape (profile) of the edge shown in this figure is plotted by the following equation (when I = 2, l = 0, and σ s = 0.6 along the x-axis):

(画像データ縮小率を適用したパターンサーチの手順) (Pattern search procedure using image data reduction ratio)

次に、画像データ縮小率を用いた具体的な画像処理におけるパターンサーチの手順を、図62、図63のフローチャートに基づいて説明する。これらの図において、図62は登録時の動作を、図63は運転時の動作を、それぞれ示している。
(画像データ縮小率を適用した登録時の動作)
Next, a pattern search procedure in specific image processing using the image data reduction ratio will be described with reference to the flowcharts of FIGS. In these drawings, FIG. 62 shows an operation at the time of registration, and FIG. 63 shows an operation at the time of operation.
(Operations during registration with image data reduction ratio applied)

まず登録時の動作を図62に基づいて説明すると、ステップS6201において、粗サーチ用のパターンモデルを作成する。次にステップS6202において、等倍画像でエッジ抽出を行い、抽出されたエッジ点毎に標準偏差σsを求める。標準偏差σsを求めるに際して、実際に画像データから抽出されるエッジの形状は、上記図61のモデルに近似していると仮定する。ここでは、所定のエッジ強度閾値以上のエッジ点における各エッジのサブピクセル位置を計算するために、図64に示す近接する3点B、C、Fのエッジ強度EMb、EMc、EMfを用いて、対数エッジ強度の二次微分の近似式である次式を用いる。 First, the operation at the time of registration will be described with reference to FIG. 62. In step S6201, a pattern model for rough search is created. In step S6202, edge extraction is performed on the same-size image, and a standard deviation σ s is obtained for each extracted edge point. When obtaining the standard deviation σ s , it is assumed that the shape of the edge actually extracted from the image data approximates the model shown in FIG. Here, in order to calculate the sub-pixel position of each edge at an edge point equal to or higher than a predetermined edge strength threshold, the edge strengths EMb, EMc, EMf of three adjacent points B, C, F shown in FIG. 64 are used. The following expression which is an approximate expression of the second derivative of the logarithmic edge strength is used.

上式のtを用いて、標準偏差σsが次式から計算できる。 The standard deviation σ s can be calculated from the following equation using t in the above equation.

なお上式のtを用いると標準偏差σsを1価関数で表現できるということが重要であり、上式に特別な意味があるわけではない。 If t in the above equation is used, it is important that the standard deviation σ s can be expressed by a monovalent function, and the above equation does not have a special meaning.

一方で、ステップS6203において、画像データから抽出されたエッジを、チェーン作成手段63、セグメント作成手段68でチェーン化、セグメント化して、仮のパターンモデルを作成する。さらにステップS6204において、この仮のパターンモデルの作成に際して用いた各エッジのσsのみを用いた平均値σaを演算する。次いでステップS6205で、この平均値σaを用いて、画像データ縮小率rを次式で求める。ここでは、精密位置決め縮小率となる。 On the other hand, in step S6203, the edge extracted from the image data is chained and segmented by the chain creation means 63 and the segment creation means 68 to create a temporary pattern model. Further, in step S6204, an average value σ a using only σ s of each edge used when creating the temporary pattern model is calculated. In step S6205, using this average value σ a , the image data reduction ratio r is obtained by the following equation. Here, the precision positioning reduction rate is obtained.

この例では、エッジ強度の対数の差分値を求めて、この差分値から縮小度を計算した。ただ、この例に限られず、エッジ強度の対数の微分値に関する各種近似値を用いて、画像データ縮小率を演算することもできる。またここでいう近似値には、エッジ強度の微分値の近似値も含む。   In this example, the logarithmic difference value of the edge strength is obtained, and the reduction degree is calculated from the difference value. However, the present invention is not limited to this example, and the image data reduction ratio can also be calculated using various approximate values related to the logarithmic differential value of the edge strength. The approximate value here includes an approximate value of the differential value of the edge strength.

このようにして画像データ縮小率rが得られると、ステップS6206で登録画像を改めて精密位置決め縮小率に合わせて縮小し、さらにステップS6207で、縮小した登録画像から、精密位置決め用のパターンモデルを作成する。
(画像データ縮小率を適用した運転時の動作)
When the image data reduction ratio r is obtained in this way, in step S6206, the registered image is reduced again according to the precision positioning reduction ratio, and in step S6207, a pattern model for precise positioning is created from the reduced registration image. To do.
(Operation during operation using image data reduction ratio)

次に、画像データ縮小率を用いた登録動作を受けて行う運転時の動作を図63に基づいて説明する。まずステップS6301において、上記で得られた精密位置決め縮小率を用いて、サーチ対象画像を、精密位置決め用の縮小サーチ対象画像に縮小する。一方でステップS6302として、サーチ対象画像から、粗サーチ用の縮小画像を作成し、そしてステップS6303で、粗サーチ用パターンモデルと粗サーチ用縮小画像を用いて、検出候補の位置と姿勢を求める。最後にステップS6304で、これら精密位置決め用パターンモデルと、精密位置決め用縮小サーチ対象画像と、検出候補の位置及び姿勢を用いて、精密位置決めを実行する。
(画像縮小の前処理・後処理)
Next, the operation at the time of operation performed in response to the registration operation using the image data reduction ratio will be described based on FIG. First, in step S6301, the search target image is reduced to a reduced search target image for precise positioning using the fine positioning reduction ratio obtained above. On the other hand, in step S6302, a reduced image for coarse search is created from the search target image, and in step S6303, the position and orientation of the detection candidate are obtained using the coarse search pattern model and the reduced image for coarse search. Finally, in step S6304, precise positioning is executed using the precision positioning pattern model, the precision positioning reduction search target image, and the position and orientation of the detection candidate.
(Image reduction pre-processing and post-processing)

なお、画像データ縮小後でもエッジ位置の情報が可能な限り維持されるように、画像データの縮小を行う。具体的には、画像データ縮小率に応じたローパスフィルタを適用した後に、サブサンプリングを行う。サブサンプリング後の画像データに対して、エッジの抽出を行うことで、精度の良いエッジ位置情報を得ることが可能となる。   Note that the image data is reduced so that the edge position information is maintained as much as possible even after the image data is reduced. Specifically, sub-sampling is performed after applying a low-pass filter corresponding to the image data reduction rate. By performing edge extraction on image data after sub-sampling, it is possible to obtain accurate edge position information.

以上のようにして、元画像のぼやけ等不鮮明が原因で生じる精度の低下を抑制できる。さらに、画像データを縮小してデータ量を小さくすることで、以降の処理を高速、軽負荷にできるという副次的な利点も得られる。   As described above, it is possible to suppress a decrease in accuracy caused by unclearness such as blurring of the original image. Further, by reducing the image data to reduce the amount of data, there is also a secondary advantage that the subsequent processing can be performed at high speed and light load.

本実施の形態において精密位置決め縮小率は、「局所サーチ」において最後に用いた最終中間縮小率(第1縮小率)を上限とする縮小率に自動的に設定する。また精密位置決めに用いるパターンモデルは、精密位置決め縮小率と同一になるよう縮小された登録画像から生成される。このように精密位置決め縮小率は、オリジナルサイズのエッジ画像のエッジの鮮鋭度に基づいて、画像のオリジナルサイズから局所サーチにおいて最後に用いた最終中間縮小率の範囲で決定される。   In this embodiment, the precise positioning reduction ratio is automatically set to a reduction ratio whose upper limit is the final intermediate reduction ratio (first reduction ratio) used last in the “local search”. The pattern model used for precise positioning is generated from the registered image reduced so as to be the same as the precision positioning reduction rate. Thus, the precise positioning reduction ratio is determined in the range from the original size of the image to the final intermediate reduction ratio used last in the local search based on the edge sharpness of the edge image of the original size.

このように精密位置決め縮小率を調整することで、鮮鋭度を一定以上に維持して、鮮鋭度の高い状態で利用することにより位置決め精度の安定性を確保できる。
(パターンモデルの登録時の動作)
By adjusting the precision positioning reduction ratio in this way, it is possible to maintain the sharpness at a certain level or more and to ensure the stability of the positioning accuracy by using the sharpness in a high state.
(Operation when registering a pattern model)

再びパターンモデルの登録動作の説明に戻って、精密位置決め用パターンモデルを登録する手順について、図14のフローチャートに基づいて説明する。精密位置決め用パターンモデルは、上述した粗サーチ用パターンモデルにて説明した登録画像と同一の画像を用いて作成する。まずステップS1401において、画像縮小手段77による処理に先立ち、輪郭抽出手段62によって、登録画像に対するオリジナルサイズのエッジ画像を生成し、エッジの鮮鋭度を評価する。これに基づいて、ステップS1402で最適な縮小率を決定する。このようにして登録画像に対して決定された最適な精密位置決め縮小率に基づいて、ステップS1403で画像縮小手段77により、画像の縮小化を図る。さらに、画像縮小手段77により決定された縮小率(縮小率1倍も含む)にて縮小された画像に対して、輪郭抽出手段62及びチェーン作成手段63、セグメント作成手段68により、エッジのセグメント化を図る(ステップS1404、ステップS1405)。具体的には、縮小された画像に対して、エッジを抽出するエッジ抽出処理と、エッジ点からチェーンを作成するチェーン化処理を行い、さらにチェーンを連結するセグメント化を行う。次に、パターンモデル構成手段70は、セグメント作成手段68にてセグメント化されたデータを用いて、決定された精密位置決め縮小率での精密位置決め用パターンモデルを生成する(ステップS1406)。   Returning to the description of the pattern model registration operation again, the procedure for registering the precision positioning pattern model will be described with reference to the flowchart of FIG. The fine positioning pattern model is created using the same image as the registered image described in the above-described coarse search pattern model. First, in step S1401, prior to processing by the image reducing unit 77, the edge extracting unit 62 generates an original size edge image for the registered image, and evaluates the sharpness of the edge. Based on this, an optimum reduction ratio is determined in step S1402. Based on the optimum precise positioning reduction ratio determined for the registered image in this way, the image is reduced by the image reduction means 77 in step S1403. Further, edge segmentation is performed on the image reduced at the reduction ratio determined by the image reduction means 77 (including a reduction ratio of 1) by the contour extraction means 62, the chain creation means 63, and the segment creation means 68. (Steps S1404 and S1405). Specifically, an edge extraction process for extracting an edge and a chaining process for creating a chain from edge points are performed on the reduced image, and a segmentation for connecting the chains is further performed. Next, the pattern model construction unit 70 uses the data segmented by the segment creation unit 68 to generate a precise positioning pattern model at the determined precise positioning reduction rate (step S1406).

さらに精密位置決め用パターンモデルは、上述した粗サーチ用パターンモデルと同様に、エッジ画像データ内に存在する各セグメント上に、予め定めた条件に基づいて、基点を決定する(ステップS1407)。また各基点に対して、角度の設定を行う(ステップS1408)。ここではセグメントの法線方向で、且つエッジの向きに角度を設定する。さらに各基点について、その基点が設けられているセグメントの種類(線分や円弧等のセグメントの種類)、そのセグメントを表すパラメータ(線分や円弧からなるセグメントを定義できるパラメータ)、セグメントの法線の向きでエッジの角度に近い向きの角度、及びセグメントの法線方向に予め定めた長さを有する線分情報、すなわち対応点探索ラインを設定する(ステップS1409)。
(対応点探索ラインの線分長さ)
Further, the fine positioning pattern model determines a base point on each segment existing in the edge image data based on a predetermined condition, similarly to the above-described coarse search pattern model (step S1407). Further, an angle is set for each base point (step S1408). Here, an angle is set in the normal direction of the segment and in the direction of the edge. Furthermore, for each base point, the type of the segment where the base point is provided (segment type such as a line segment or arc), a parameter that represents the segment (a parameter that can define a segment consisting of a line segment or arc), and the normal of the segment Line segment information having a predetermined angle in the normal direction of the segment, that is, an angle close to the edge angle and corresponding segment search line is set (step S1409).
(Line length of corresponding point search line)

ここで、各基点に対して与えられる対応点探索ラインの線分長さは、各基点に対して同じ長さのものが設定される。その長さは、局所サーチにおいて最後に用いた最終中間縮小率と、精密位置決めで用いる精密位置決め縮小率との比率によって決定される。言い換えれば、最終中間縮小率と精密位置決め縮小率との比率が大きければ、線分の長さは長く、比率が小さければ、線分の長さは短くなるように設定されている。   Here, the line length of the corresponding point search line given to each base point is set to the same length for each base point. The length is determined by the ratio between the final intermediate reduction ratio used last in the local search and the fine positioning reduction ratio used in the fine positioning. In other words, if the ratio between the final intermediate reduction ratio and the precision positioning reduction ratio is large, the length of the line segment is long, and if the ratio is small, the length of the line segment is short.

例えば、局所サーチにおいて最後に用いた最終中間縮小率が、画像のオリジナルサイズに対して1/4倍であり、精密位置決めの縮小率が等倍であった場合、最終中間縮小率と、精密位置決め縮小率との比率は4倍であるため、局所サーチでの1ピクセルが、精密位置決めでは4ピクセルに相当することになる。そのため、精密位置決め用パターンモデルでの線分の長さは、基点から、エッジの正と負の向きに各々4ピクセルをカバーする長さに設定される。ただし、この線分の長さは、位置決めの精度とサーチ時間に影響を与えるため、縮小率の比率によって対応するピクセル数を全てカバーすることが必ずしも必要でない。例えば、要求される処理時間に応じて対応点探索ラインの線分長さを短く設定する。あるいは逆に、対応するピクセル数以上の長さを持たせても良い。例えば、縮小率の比率に応じた線分長さに、マージンを設定することで、一層の処理の安定性を図ることができる。
(対応点探索ラインの線分長さの変化)
For example, if the final intermediate reduction ratio used last in the local search is 1/4 times the original size of the image, and the fine positioning reduction ratio is the same magnification, the final intermediate reduction ratio and the fine positioning Since the ratio with the reduction ratio is four times, one pixel in the local search corresponds to four pixels in the fine positioning. Therefore, the length of the line segment in the precision positioning pattern model is set to a length that covers 4 pixels in the positive and negative directions of the edge from the base point. However, since the length of this line segment affects positioning accuracy and search time, it is not always necessary to cover all the corresponding number of pixels by the ratio of the reduction ratio. For example, the line length of the corresponding point search line is set short according to the required processing time. Or conversely, it may have a length longer than the corresponding number of pixels. For example, by setting a margin to the line segment length corresponding to the reduction ratio, further processing stability can be achieved.
(Change in segment length of corresponding point search line)

また、対応点探索ラインの長さを、基点に対して前後に均等でなく、一方を長く又は短くするように変化させることもできる。この処理はパターンモデル構成手段70等により行われる。ここで、対応点探索ラインの長さを変化させた例を、図27及び図28に基づいて説明する。これらの図において、図27は基点からの長さが等しい場合、図28は基点からの長さが異なる場合を、それぞれ示している。なお、これらの図において内側の矩形領域で発生する対応点探索ラインは、フィルタリングされている。図27に示すように、基点から延長される対応点探索ラインの長さを、基点の前後左右で一定にすると、内側の矩形状と重なり合い、誤判定を生じる虞がある。そこで、内側に向かう方向には対応点探索ラインを延長させず、図28のように外側に向かう方向のみに対応点探索ラインを設定すれば、より誤判定の少ない、正確なサーチ結果が期待できる。
(対応点探索ラインの設定間隔)
In addition, the length of the corresponding point search line can be changed so that it is not equal in the front and rear directions with respect to the base point, and one of them is lengthened or shortened. This process is performed by the pattern model construction means 70 and the like. Here, an example in which the length of the corresponding point search line is changed will be described with reference to FIGS. In these figures, FIG. 27 shows the case where the length from the base point is equal, and FIG. 28 shows the case where the length from the base point is different. In these drawings, the corresponding point search line generated in the inner rectangular area is filtered. As shown in FIG. 27, if the length of the corresponding point search line extended from the base point is constant before and after the base point, it overlaps with the inner rectangular shape, which may cause an erroneous determination. Therefore, if the corresponding point search line is set only in the outward direction as shown in FIG. 28 without extending the corresponding point search line in the inward direction, an accurate search result with fewer erroneous determinations can be expected. .
(Set interval of corresponding point search line)

対応点探索ラインは、セグメント上に端部を除いて設定される。このような端部は、位置をずらした際の影響が大きいためである。したがってこのような位置ずれした場合の影響が大きい部分を排除して対応点探索ラインを設定することで、安定した処理が見込まれる。   The corresponding point search line is set on the segment except for the end. This is because such an end has a great influence when the position is shifted. Therefore, stable processing is expected by setting a corresponding point search line by excluding a portion having a large influence when the position is shifted.

対応点探索ラインを設定する間隔や本数は、要求されるパターンサーチの処理速度や精度に応じて決定される。セグメントを構成する各線分や円弧に少なくとも1つは、対応点探索ラインを配置するよう設定することでパターンサーチの精度を維持できる。最も簡単には、セグメント上の中心に一つの基点を配置してその点からセグメント上に等間隔に基点を設定する。また、セグメントの内、エッジ角度が曖昧な部分については基点の設定を間引き、確実に検出されている部分で密に基点を設定することで、精度を高められる。   The interval and the number of corresponding point search lines are determined according to the required pattern search processing speed and accuracy. Pattern search accuracy can be maintained by setting at least one corresponding line search line for each line segment or arc constituting the segment. In the simplest case, one base point is arranged at the center on the segment, and base points are set at equal intervals on the segment from that point. In addition, the accuracy can be improved by thinning out the base point setting for a portion of the segment where the edge angle is ambiguous and setting the base point densely in a portion that is reliably detected.

また、対応点探索ラインはセグメントの中央に少なくとも1つは必ず割り当てるようにすることが好ましい。これにより、パターンモデルの一部を構成するセグメントに対しては、短いものであっても一つは対応点探索ラインを設定するよう保証する。
(運転時のサーチ対象画像に対する前処理)
Further, it is preferable that at least one corresponding point search line is always assigned to the center of the segment. As a result, one of the segments constituting a part of the pattern model is guaranteed to set a corresponding point search line even if it is short.
(Preprocessing for search target images during driving)

以上、パターンモデルの登録時の動作、すなわち粗サーチ用、精密位置決め用パターンモデルの作成について説明した(図3、図12)。運転時においては、これらのパターンモデルを使用したサーチを行う(図4)。サーチにあたっては、撮像手段から入力されたサーチ対象画像に対して所定の前処理が施される。ここで、運転時のサーチにおいて、サーチ対象画像に対する前処理を行う手順を図15のフローチャートに基づいて説明する。   The operation at the time of registering the pattern model, that is, the creation of the pattern model for coarse search and fine positioning has been described (FIGS. 3 and 12). During operation, a search using these pattern models is performed (FIG. 4). In the search, a predetermined pre-process is performed on the search target image input from the imaging unit. Here, a procedure for performing pre-processing on the search target image in the search during driving will be described based on the flowchart of FIG.

まずステップS1501において、入力されたサーチ対象画像に基づき、画像縮小手段77は、登録時に登録画像に対して用いた、粗サーチ用の第1のパターンモデルの中間縮小率(第1縮小率)を用いて、縮小画像を生成する。   First, in step S1501, based on the input search target image, the image reduction unit 77 uses the intermediate reduction rate (first reduction rate) of the first pattern model for coarse search used for the registered image at the time of registration. To generate a reduced image.

一方でステップS1502において、輪郭抽出手段62のエッジ角度・エッジ強度画像作成手段60が、エッジ角度画像及びエッジ強度画像を生成する。また細線化手段61が、このエッジ角度画像及びエッジ強度画像に基づいて、細線化されたエッジ角度画像を生成する。   On the other hand, in step S1502, the edge angle / edge strength image creating means 60 of the contour extracting means 62 generates an edge angle image and an edge strength image. Further, the thinning means 61 generates a thinned edge angle image based on the edge angle image and the edge intensity image.

次にステップS1503において、エッジ角度ビット画像作成手段69が、輪郭抽出手段62にて生成され、細線化されたエッジ角度画像に基づいて、粗サーチ用の第1のパターンモデルの中間縮小率に対応したエッジ角度ビット画像を作成する。言うまでもなく、ここで生成されたエッジ角度ビット画像が、サーチ動作において、粗サーチ用の第1のパターンモデルを用いた「局所サーチ」に適用される。   In step S1503, the edge angle bit image creation unit 69 corresponds to the intermediate reduction rate of the first pattern model for coarse search based on the edge angle image generated by the contour extraction unit 62 and thinned. Create an edge angle bit image. Needless to say, the edge angle bit image generated here is applied to “local search” using the first pattern model for coarse search in the search operation.

さらにステップS1504において、エッジ角度ビット画像縮小手段78は、エッジ角度ビット画像作成手段69にて生成されたエッジ角度ビット画像に基づいて、「大域サーチ」用の第2のパターンモデルの大域用縮小率に対応したエッジ角度ビット縮小画像を生成する。   Further, in step S1504, the edge angle bit image reduction means 78, based on the edge angle bit image generated by the edge angle bit image creation means 69, reduces the global reduction rate of the second pattern model for “global search”. The edge angle bit reduced image corresponding to is generated.

なお、粗サーチの中間縮小率の設定の説明において述べたように、最初に設定される中間縮小率と大域用縮小率との間の追加の中間縮小率に基づいて、追加のパターンモデルが作成される場合は、任意的なステップS1505として、この前処理においても、エッジ角度ビット画像縮小手段78にて、エッジ角度ビット画像作成手段69にて生成されたエッジ角度ビット画像に基づいて、追加のパターンモデルの中間縮小率に対応したエッジ角度ビット縮小画像が生成される。   As described in the description of setting the intermediate reduction ratio of the coarse search, an additional pattern model is created based on the additional intermediate reduction ratio between the initial intermediate reduction ratio and the global reduction ratio. If so, as an optional step S1505, also in this pre-processing, the edge angle bit image reducing unit 78 adds an additional value based on the edge angle bit image generated by the edge angle bit image generating unit 69. An edge angle bit reduced image corresponding to the intermediate reduction rate of the pattern model is generated.

なお、上述した運転時の前処理においては、運転時に行う粗サーチの大域サーチ及び局所サーチ、並びに精密位置決めとは逆の順序で、サーチ対象画像に対する処理を行っているが(図8参照)、パターンモデルの作成順序は特に限定されるものでなく、精密位置決め用のパターンモデルを先に作成した後、粗サーチ用のパターンモデルを作成してもよいことはいうまでもない。一方、運転時においては縮小率の高い画像を用いて粗いサーチを行い、徐々に縮小率を下げてオリジナルサイズに近い画像で細かいサーチを行う。   Note that, in the above-described preprocessing during operation, the search target image is processed in the reverse order to the global search and local search of the coarse search performed during operation and the fine positioning (see FIG. 8). The order of creating the pattern model is not particularly limited, and it is needless to say that the pattern model for coarse search may be created after the pattern model for precise positioning is created first. On the other hand, during operation, a coarse search is performed using an image with a high reduction ratio, and a fine search is performed with an image close to the original size by gradually reducing the reduction ratio.

以上のようにして運転時の前処理が終了した後、生成されたエッジ角度ビット縮小画像、エッジ角度ビット画像等を用いて、粗サーチの大域サーチ、局所サーチを行い、検出候補の座標を求めた後に精密位置決めを行う(図9)。
(登録時の各動作の詳細)
After the pre-processing during driving is completed as described above, the coarse search global search and local search are performed using the generated edge angle bit reduced image, edge angle bit image, etc., and the coordinates of the detection candidate are obtained. After that, precise positioning is performed (FIG. 9).
(Details of each operation during registration)

以上、登録時と運転時の動作の概要について説明した。次に、登録時における画像処理動作の詳細について説明する。登録時において、エッジ角度・エッジ強度画像作成手段60は、登録画像に対してソーベルフィルタを適用し、登録画像を構成する各点毎にエッジ強度及びエッジ角度を求め、エッジ強度、エッジ角度、エッジ位置を含むエッジ情報を演算する。これらエッジ情報に基づいて、細線化処理を行ってエッジ点を求める。細線化処理の具体例としては、エッジ強度の非極大点抑制処理が利用できる。ここでは、細線化により幅1ピクセルの線状としている。   The outline of the operation at the time of registration and operation has been described above. Next, details of the image processing operation at the time of registration will be described. At the time of registration, the edge angle / edge strength image creating means 60 applies a Sobel filter to the registered image, obtains the edge strength and the edge angle for each point constituting the registered image, the edge strength, the edge angle, Edge information including the edge position is calculated. Based on the edge information, thinning processing is performed to obtain edge points. As a specific example of the thinning process, an edge strength non-maximum point suppression process can be used. Here, the line shape is 1 pixel wide by thinning.

なおエッジ点は、サブピクセル位置の精度で求めることもできる。例えば、2次関数補間(例えば、特開平7−128017号公報参照)を利用してサブピクセル位置が演算できる。   The edge point can also be obtained with the accuracy of the subpixel position. For example, the subpixel position can be calculated using quadratic function interpolation (see, for example, Japanese Patent Laid-Open No. 7-128017).

さらに得られたエッジ点を連結して、連続したチェーンを作成する。ここでは、エッジチェーン化手段64が、エッジ角度がほぼ同一方向である隣接したエッジ点同士を連結するエッジ連結処理を行い、一続きの線分要素(チェーン)を作成する。ここで得られるチェーンも、xyサブピクセル座標を有する。各チェーンは、エッジ点の集合であり、個々のチェーンにはチェーン同士を区別するための識別子としてチェーンインデックスが付与される。   Further, the obtained edge points are connected to create a continuous chain. Here, the edge chaining means 64 performs an edge connection process for connecting adjacent edge points whose edge angles are substantially in the same direction, and creates a continuous line segment element (chain). The resulting chain also has xy subpixel coordinates. Each chain is a set of edge points, and a chain index is assigned to each chain as an identifier for distinguishing the chains.

さらにエッジチェーンセグメント化手段65で、チェーンを近似してセグメントを生成する。セグメントは、最小二乗法を利用してチェーンを線分及び円弧で近似するフィッティングによって求められる。フィッティングは、まず線分での近似を行い、線分による近似の誤差が所定の閾値を超えると、円弧でのフィッティングに切り替える。円弧で近似しても誤差が減少しない場合は、線分でのフィッティング結果を用いる。このようにして、線分と円弧の組み合わせで順次フィッティングする作業を繰り返し、フィッティング結果の誤差が閾値を超えた時点で、その前までに得られたデータが十分長ければ、連続線としてのセグメントとする。エッジ点がサブピクセル位置で求められているため、セグメントもサブピクセルオーダーの高精度な位置で得られる。   Further, the edge chain segmentation means 65 generates a segment by approximating the chain. The segment is obtained by fitting the chain with a line segment and an arc using the least square method. In the fitting, first, approximation with a line segment is performed, and when an approximation error due to the line segment exceeds a predetermined threshold, switching to fitting with an arc is performed. If the error does not decrease even when approximated by a circular arc, the fitting result of the line segment is used. In this way, the process of sequentially fitting with a combination of line segments and arcs is repeated, and when the error of the fitting result exceeds the threshold, if the data obtained up to that point is sufficiently long, the segment as a continuous line To do. Since the edge point is obtained at the subpixel position, the segment can also be obtained at a highly accurate position in the subpixel order.

ここでは、チェーンを線分と円弧で近似したセグメントが形成される。線分のセグメントは、直線を表す式(例えばax+by+c=0)と端点の座標等で表現できる。一方円弧のセグメントは、中心の座標と半径、開始角度と終了角度等で表現できる。例えば(x−xo2+(y−yo2=ro2における円弧の中心座標(xo、yo)及び半径roで円弧セグメントを表現する。このようにして生成した各セグメント上に、所定間隔で基点を設定する。 Here, a segment approximating the chain with a line segment and an arc is formed. A segment of a line segment can be expressed by an equation representing a straight line (for example, ax + by + c = 0) and end point coordinates. On the other hand, arc segments can be expressed by center coordinates and radius, start angle and end angle, and the like. For example, an arc segment is represented by the center coordinates (x o , y o ) and the radius r o of the arc at (x−x o ) 2 + (y−y o ) 2 = ro 2 . Base points are set at predetermined intervals on each segment generated in this manner.

なお上記は、セグメントとして線分又は円弧による近似の例を説明したが、これに限らず、円錐曲線、スプライン曲線、ベジエ曲線等も適宜利用できる。これにより、円形状や楕円形状、三角形状、矩形状といった一定の幾何学形状を基準として、これらの単独若しくは組み合わせとしてパターンモデルを作成できるので、パターンサーチ作成やその後の各処理を簡素化できる。
(パターンモデルの縮小)
In the above, an example of approximation by a line segment or an arc as a segment has been described. However, the present invention is not limited to this, and a conic curve, a spline curve, a Bezier curve, or the like can be used as appropriate. As a result, a pattern model can be created as a single or a combination thereof based on a certain geometric shape such as a circular shape, an elliptical shape, a triangular shape, or a rectangular shape, so that pattern search creation and subsequent processes can be simplified.
(Reduction of pattern model)

また、サーチの運転時にはパターンモデルを縮小する。この縮小率は、後述する運転時においてサーチ対象画像を粗サーチのために縮小する縮小率となる。この縮小処理があるため、パターンモデルのモデルエッジ点としての基点は、その縮小処理の結果として同じ座標を指定することのないように、基点同士の間隔が設定される。この結果、図16のパターンモデルは、図17のようになる。
(粗サーチ用パターンモデルと精密位置決め用パターンモデルとの相違点)
Also, the pattern model is reduced during search operation. This reduction rate is a reduction rate for reducing the search target image for rough search during operation, which will be described later. Since there is this reduction processing, the base points as the model edge points of the pattern model are set with an interval between the base points so that the same coordinates are not designated as a result of the reduction processing. As a result, the pattern model of FIG. 16 becomes as shown in FIG.
(Differences between the coarse search pattern model and the fine positioning pattern model)

粗サーチ用パターンモデルと精密位置決め用パターンモデルとは、それぞれオリジナルサイズの登録画像(もしくはその縮小画像)から作成される。いいかえると、粗サーチ用パターンモデルのセグメントは、精密位置決め用パターンモデルのセグメントから作成されているものでなく、両者のセグメントは必ずしも一致しない。また粗サーチ用パターンモデルと精密位置決め用パターンモデルとは、パターンモデルの大きさが異なるため、基点間の距離も異なる。その基点間を等倍換算した距離の相違は、縮小率に依存する。   The coarse search pattern model and the fine positioning pattern model are each created from an original size registered image (or a reduced image thereof). In other words, the segment of the coarse search pattern model is not created from the segment of the fine positioning pattern model, and the two segments do not necessarily match. Further, since the pattern model for coarse search and the pattern model for fine positioning are different in size, the distance between the base points is also different. The difference in distance obtained by converting the base points to the same magnification depends on the reduction ratio.

さらに粗サーチ用パターンモデルでは、基点の座標と、基点におけるエッジの向き(角度情報)が与えられている。いいかえると、対応点探索ラインの長さ情報を有しないセグメントの法線方向でエッジの向きに近い角度が設定される。この粗サーチ用パターンモデルを用いた粗サーチでは、パターンモデルをサーチ対象画像上に置き、基点の位置にエッジがあるかどうか、そのエッジの向きがパターンモデルの向きと一致するかどうかを確認する。   Further, in the coarse search pattern model, the coordinates of the base point and the direction of the edge (angle information) at the base point are given. In other words, an angle close to the edge direction is set in the normal direction of the segment not having the length information of the corresponding point search line. In this coarse search using the coarse search pattern model, the pattern model is placed on the image to be searched, and it is confirmed whether or not there is an edge at the position of the base point and whether the edge direction matches the direction of the pattern model. .

これに対して精密位置決め用パターンモデルでは、粗サーチ用パターンモデルである上記基点の座標、基点におけるエッジの向きに加えて、基点を通り、セグメントと略直交する方向に伸びる所定長さの対応点探索ライン(すなわちセグメント法線の長さを規定したもの)と、セグメントの種別(例えば線分又は円弧といった属性)とを有している。この違いは、各サーチの処理内容に対応している。すなわち、精密位置決めにおいては、対応点探索ラインの範囲内で対応するエッジを探索する。このように精密位置決め用パターンモデルは、基点に対応する対応エッジ点を選択する対応エッジ点選択手段として機能する。   On the other hand, in the fine positioning pattern model, in addition to the coordinates of the base point and the direction of the edge at the base point, which are the rough search pattern model, a corresponding point of a predetermined length extending through the base point in a direction substantially orthogonal to the segment. It has a search line (that is, one that defines the length of the segment normal) and a segment type (for example, an attribute such as a line segment or an arc). This difference corresponds to the processing content of each search. That is, in precise positioning, a corresponding edge is searched for within the range of the corresponding point search line. As described above, the precision positioning pattern model functions as a corresponding edge point selection unit that selects a corresponding edge point corresponding to the base point.

なお、輪郭の抽出においては、必ずしもセグメントを作成する必要はない。セグメントでなくチェーンから直接対応点探索ラインを設定することもできる。例えば、ある輪郭に対して基点を3点設定する場合、その輪郭に相当するチェーンを構成するエッジ点3点を等間隔に設定し、各法線方向に対応点探索ラインを設定する。この方法であれば、セグメントを作成しない分高速な処理が見込まれる反面、チェーンを直線や円弧で近似していないため精度が多少低下する。特にチェーンは単にエッジ点を連結しただけであって、直線性に劣ることがある一方、セグメントは直線や円弧で近似しているため、より正確な演算結果が得られ、位置決め精度も安定する。
(運転時の粗サーチの詳細)
Note that it is not always necessary to create a segment in the contour extraction. It is also possible to set the corresponding point search line directly from the chain instead of the segment. For example, when three base points are set for a certain contour, three edge points constituting the chain corresponding to the contour are set at equal intervals, and corresponding point search lines are set in each normal direction. With this method, high-speed processing is expected as long as segments are not created, but the accuracy is somewhat lowered because the chain is not approximated by straight lines or arcs. In particular, the chain simply has the edge points connected and may be inferior in linearity. On the other hand, since the segment is approximated by a straight line or arc, a more accurate calculation result can be obtained and the positioning accuracy can be stabilized.
(Details of coarse search during operation)

次に、以上のようにして登録されたパターンモデルを用いて、実際にサーチ対象画像中から一致する部位をサーチする運転時の動作を説明する。まず粗サーチで粗い位置及び姿勢を求める手順の詳細を、図18のフローチャートに基づいて説明する。本実施の形態では、粗サーチを大域サーチと局所サーチに分けて行い、検出候補を求める。
(ステップS1801 サーチ対象画像の縮小)
Next, a description will be given of an operation at the time of an operation for actually searching for a matching part from the search target image using the pattern model registered as described above. First, details of a procedure for obtaining a rough position and posture by a rough search will be described based on the flowchart of FIG. In this embodiment, the coarse search is divided into a global search and a local search, and detection candidates are obtained.
(Step S1801 Reduction of search target image)

まず、ステップS1801で、サーチ対象のサーチ対象画像を、登録画像の縮小率に合わせて縮小する。例えば図19(a)に示すサーチ対象画像を、登録画像と同じ倍率に縮小して、図19(b)に示す縮小サーチ対象画像を得る。ここではまず粗サーチ用として、中間縮小率まで縮小する。いいかえると、縮小率の大きい大域用縮小率への縮小を先に行うことはせず、先に縮小率の小さい中間縮小率まで縮小する。
(ステップS1802 エッジ角度画像、エッジ強度画像の取得)
First, in step S1801, the search target image to be searched is reduced in accordance with the reduction ratio of the registered image. For example, the search target image shown in FIG. 19A is reduced to the same magnification as the registered image to obtain a reduced search target image shown in FIG. Here, the image is first reduced to an intermediate reduction ratio for coarse search. In other words, the reduction to the global reduction rate with a large reduction rate is not performed first, but the reduction is first performed to an intermediate reduction rate with a small reduction rate.
(Step S1802 Acquisition of edge angle image and edge strength image)

次にステップS1802で、縮小サーチ対象画像からエッジ強度画像及びエッジ角度画像を、エッジ計算手段でそれぞれ求める。エッジ計算法としてはソーベルフィルタ等が使用できる。   In step S1802, an edge strength image and an edge angle image are obtained from the reduced search target image by the edge calculation unit. As an edge calculation method, a Sobel filter or the like can be used.

ここでソーベル法について説明する。ソーベル法は、オペレータ(カーネル)として3×3の行列を用いる。この方法は、対象点を中心とする周囲の点につき、画素値(例えば輝度)に係数を乗じて加算したものを中央点の画素値として抽出する。この方法は水平方向、垂直方向のフィルタであり、また平滑化の操作を含むためノイズに強いという特性を備える。ソーベルフィルタで使用するカーネルを、以下に示す。   Here, the Sobel method will be described. The Sobel method uses a 3 × 3 matrix as an operator (kernel). This method extracts a pixel value (for example, luminance) obtained by multiplying a pixel value (for example, luminance) by a coefficient and adds it as a pixel value at the center point for surrounding points centered on the target point. This method is a filter in the horizontal direction and the vertical direction, and has a characteristic of being resistant to noise because it includes a smoothing operation. The kernel used in the Sobel filter is shown below.

この結果、サーチ対象画像のエッジ強度画像とエッジ角度画像が、それぞれ得られる。
(ステップS1803 サーチ対象画像のエッジ角度ビット画像の作成)
As a result, an edge strength image and an edge angle image of the search target image are obtained.
(Step S1803 Creation of edge angle bit image of search target image)

さらにステップS1803で、エッジ角度画像とエッジ強度画像から、エッジ角度ビット画像作成手段69でエッジ角度ビット画像を作成する。エッジ角度ビット画像とは、エッジ角度画像を構成する各点のエッジ角度を、角度ビット情報として表現した画像データである。この結果、エッジ角度ビット画像が得られる。エッジ角度画像からエッジ角度ビット画像への変換については、後述する。
(ステップS1804 エッジ角度ビット画像の縮小)
In step S1803, an edge angle bit image creating unit 69 creates an edge angle bit image from the edge angle image and the edge strength image. The edge angle bit image is image data expressing the edge angle of each point constituting the edge angle image as angle bit information. As a result, an edge angle bit image is obtained. The conversion from the edge angle image to the edge angle bit image will be described later.
(Step S1804: Reduction of edge angle bit image)

さらにステップS1804で、得られたエッジ角度ビット画像をエッジ角度ビット画像縮小手段78で縮小する。縮小率は、大域サーチ用の第2のパターンモデルを作成する場合は大域用縮小率に、局所サーチ用の第1のパターンモデルを作成する場合は中間縮小率に、それぞれ設定される。この結果、エッジ角度ビット画像の縮小画像が得られる。
(ステップS1805 大域サーチの実行)
In step S 1804, the obtained edge angle bit image is reduced by the edge angle bit image reduction means 78. The reduction ratio is set to the global reduction ratio when creating the second pattern model for global search, and to the intermediate reduction ratio when creating the first pattern model for local search. As a result, a reduced image of the edge angle bit image is obtained.
(Step S1805 Execution of global search)

次に、ステップS1804で縮小されたエッジ角度ビット縮小画像に対して、予め縮小されたパターンモデルで大域サーチを行う。具体的には、左上から右下に走査するように、パターンモデルの角度を変化させながら全ての範囲でサーチを行う。それによって、検出候補の領域を抽出する。検出候補の位置は、例えばxy座標、姿勢は、例えば角度θ等で表現される。ここで、検出候補はスコア計算によって行われ、粗サーチ手段71によって、縮小パターンモデルを探索位置及び姿勢の自由度で移動させ、それぞれの位置及び姿勢にてスコアを計算する。
(スコア計算)
Next, a global search is performed on the edge angle bit reduced image reduced in step S1804 using a pattern model reduced in advance. Specifically, the search is performed in the entire range while changing the angle of the pattern model so as to scan from the upper left to the lower right. Thereby, a detection candidate region is extracted. The position of the detection candidate is expressed by, for example, xy coordinates, and the posture is expressed by, for example, an angle θ. Here, the detection candidates are performed by score calculation, and the coarse search means 71 moves the reduced pattern model with the degree of freedom of the search position and posture, and calculates the score at each position and posture.
(Score calculation)

大域サーチにおけるスコア計算は、サーチ対象画像を大域用縮小率に縮小して得られたエッジ角度ビット画像及びパターンモデルに含まれる各エッジ点のエッジ角度ビットを各々比較して、一致度を計算することにより行われる。サーチの際は、基点の位置と角度のデータをスコア計算を行う位置及び姿勢に合わせ変化させる。その後に角度をエッジ角度ビット画像と同様に変換して、縮小後のエッジ角度ビット画像データの画素値に対してAND処理を行い、残ったビットの数の合計値を期待される合計値のマックス値で割った値を一致度とし、粗サーチ手段71で演算する。また、角度方向に複数のビットを割り当て、重みの概念を付加することもできる。
(ステップS1806 局所サーチの実行)
In the global search, the score is calculated by comparing the edge angle bit image obtained by reducing the search target image to the global reduction ratio and the edge angle bits of each edge point included in the pattern model. Is done. At the time of search, the position and angle data of the base point are changed in accordance with the position and posture where the score is calculated. After that, the angle is converted in the same manner as the edge angle bit image, the pixel value of the reduced edge angle bit image data is ANDed, and the total number of remaining bits is the maximum of the expected total value. The value divided by the value is used as the degree of coincidence and is calculated by the coarse search means 71. It is also possible to assign a plurality of bits in the angular direction and add the concept of weight.
(Step S1806 Execution of local search)

さらに、大域サーチで見出した検出候補の領域に対して、局所サーチを行う。局所サーチにおいては、大域サーチ用のパターンモデルよりも縮小率を低くした局所サーチ用のパターンモデルを用いる。また、サーチ対象画像としてのエッジ角度ビット画像も、大域サーチ用縮小率よりも縮小率の低い局所サーチ用縮小率で縮小した縮小画像が用いられる。   Further, a local search is performed on the detection candidate area found in the global search. In the local search, a pattern model for local search having a reduction rate lower than that of the pattern model for global search is used. The edge angle bit image as the search target image is also a reduced image reduced at a local search reduction rate lower than the global search reduction rate.

また、局所サーチの際には、大域サーチで見出した検出候補の領域をそのまま利用するのみならず、その近傍の一定領域、例えば3×3画素、5×5画素といった周囲の画素についても、局所サーチを行ってもよい。これによって安定したサーチ結果が期待できる。
(膨張処理)
In addition, in the local search, not only the detection candidate area found in the global search is used as it is, but also a certain area in the vicinity thereof, for example, surrounding pixels such as 3 × 3 pixels and 5 × 5 pixels are also locally A search may be performed. As a result, stable search results can be expected.
(Expansion treatment)

すなわち、スコア計算の結果を安定させるために、粗サーチの際に膨張処理を行うこともできる。一般にサーチ対象画像の縮小率が小さくなって精度が上がると、僅かな位置のずれでもスコアが大きく低下する傾向を示す。スコアの急激な変化を回避するためには、回転角度を細かく変化させればよいが、この場合は処理量が増えるというデメリットを生じる。そこで処理量の軽減と精度の向上のバランスを考慮して、サーチ対象画像であるエッジ角度ビット画像を所定量だけ膨張させる。例えば、画素のXY方向に対し、所定の画素数、例えば1画素分を2倍した2×2画素分拡張させる。これにより、僅かな角度のずれによる急激なスコア値の変動が抑制され、安定したスコア値を得ることができる。   That is, in order to stabilize the score calculation result, expansion processing can be performed during the coarse search. In general, when the reduction rate of the search target image is reduced and the accuracy is increased, the score tends to be greatly reduced even if the position is slightly shifted. In order to avoid an abrupt change in the score, the rotation angle may be finely changed. In this case, however, there is a disadvantage that the processing amount increases. Therefore, in consideration of the balance between the reduction in processing amount and the improvement in accuracy, the edge angle bit image that is the search target image is expanded by a predetermined amount. For example, the number of pixels is expanded by a predetermined number of pixels, for example, 2 × 2 pixels obtained by doubling one pixel with respect to the XY direction of the pixels. Thereby, a rapid change in score value due to a slight angle shift is suppressed, and a stable score value can be obtained.

このようにして、計算されたスコアに基づき、縮小パターンモデルの縮小サーチ対象画像における粗位置を決定する。また、必要に応じて上記工程を繰り返して、粗位置の精度を高めることができる。すなわち、単に粗サーチを大域サーチと局所サーチの2回に分けるのみならず、局所サーチを複数回行い、サーチ対象画像の縮小率を徐々に下げて、より大きな縮小サーチ対象画像を用いることで、より高精度な位置決めを行うことができる。   In this way, based on the calculated score, the coarse position in the reduced search target image of the reduced pattern model is determined. Moreover, the said process can be repeated as needed and the precision of a coarse position can be improved. That is, not only simply dividing the rough search into two times, the global search and the local search, but also performing the local search multiple times, gradually reducing the reduction rate of the search target image, and using a larger reduced search target image, More accurate positioning can be performed.

なお、大域サーチはサーチ範囲が広く処理量が多いため、通常1回のみ行う。ただ、要求される精度やタクトタイムに応じて、大域サーチを複数回行うことも可能である。また、サーチの手法としては、エッジサーチや正規化相関サーチ、一般化ハフ変換、ジオメトリックハッシング等の既知のサーチ技術が利用できる。
(運転時の精密位置決めの詳細)
The global search is normally performed only once because the search range is wide and the processing amount is large. However, the global search can be performed a plurality of times depending on the required accuracy and tact time. As a search method, known search techniques such as edge search, normalized correlation search, generalized Hough transform, and geometric hashing can be used.
(Details of precision positioning during operation)

以上のようにして粗サーチを行い、パターンモデルが存在する検出候補の位置、姿勢のデータを求めた上で、精密位置決め手段76により精密位置決めを行う。次に、精密位置決めの詳細手順を、図20のフローチャートに基づき詳述する。   As described above, the coarse search is performed to obtain the position and orientation data of the detection candidate where the pattern model exists, and then the precise positioning is performed by the precision positioning means 76. Next, the detailed procedure of precise positioning will be described in detail based on the flowchart of FIG.

まずステップS2001において、粗サーチで得られた検出候補の粗い位置及び姿勢に基づき、精密位置決め用パターンモデルをサーチ対象画像に重ねる。ここでは、粗サーチで最終的に得られた位置及び姿勢を開始位置、開始姿勢として、オリジナルサイズのサーチ対象画像及び精密位置決め用パターンモデルを使用することが好ましい。ただし、オリジナルサイズ(縮小率1)よりも高く、かつ粗サーチで最後に使用した縮小率よりも低い縮小率にて精密位置決めを行うこともできる。   First, in step S2001, based on the coarse position and orientation of the detection candidate obtained by the coarse search, the fine positioning pattern model is superimposed on the search target image. Here, it is preferable to use the original size search target image and the fine positioning pattern model with the position and orientation finally obtained by the coarse search as the start position and start orientation. However, precise positioning can also be performed with a reduction ratio higher than the original size (reduction ratio 1) and lower than the reduction ratio used last in the coarse search.

さらにステップS2002で、精密位置決め用パターンモデルの対応点探索ラインに沿って対応エッジ点となる点を求める。対応点探索ラインは、上述の通りセグメントの法線方向に延びる所定長さの線分であり、線分の両端の一方である起点を探索開始点、終点を探索終了点とする。ここでは、まず対応点探索ラインに沿ってエッジ計算を行い、エッジベクトルを取得する。エッジ計算の手法としては、上述の通りソーベルが適宜用できる。このエッジ計算で得られたエッジベクトルから、対応点探索ライン上の各点のエッジ角度、エッジ強度、エッジ位置等を求める。なおエッジベクトルとは、エッジの強度と向きをベクトル表現したもので(Ex,Ey)のように表現することができる。例えば図46に示すようにエッジ強度をEM、エッジ角度をθEとすると、エッジ角度θE=Atan(Ey/Ex)、エッジ強度EM=sqrt(Ex2+Ey2)で表現できる。
(対応エッジ点探索処理)
In step S2002, points corresponding to corresponding edge points are obtained along the corresponding point search line of the precision positioning pattern model. The corresponding point search line is a line segment having a predetermined length extending in the normal direction of the segment as described above, and a starting point that is one of both ends of the line segment is a search start point and an end point is a search end point. Here, edge calculation is first performed along the corresponding point search line to obtain an edge vector. As an edge calculation method, a Sobel can be used as described above. From the edge vector obtained by this edge calculation, the edge angle, edge strength, edge position, etc. of each point on the corresponding point search line are obtained. The edge vector is a vector representation of the edge strength and direction, and can be represented as ( Ex , Ey ). For example, as shown in FIG. 46, when the edge strength is E M and the edge angle is θ E , the edge angle θ E = Atan (Ey / E x ) and the edge strength E M = sqrt (E x2 + E y2 ) can be expressed.
(Corresponding edge point search processing)

またこれらエッジベクトル、エッジ角度、エッジ強度、エッジ位置等の情報に基づいて、対応点探索ラインの基点を含むセグメントに対応する対応エッジ点を求める。対応エッジ点を決める方法の例としては、上述したエッジベクトルを用いることで高速に行える。また別の方法として、以下説明する通りエッジ強度とエッジ角度を用いて計算することもできるが、この場合は後述の通りAtanの演算が必要になるため、演算が複雑になる。以下、エッジ強度とエッジ角度を用いて対応エッジ点を求める手順を説明する。   Also, the corresponding edge point corresponding to the segment including the base point of the corresponding point search line is obtained based on the information such as the edge vector, the edge angle, the edge strength, and the edge position. As an example of a method for determining the corresponding edge point, it can be performed at high speed by using the above-described edge vector. As another method, the calculation can be performed using the edge strength and the edge angle as described below, but in this case, the calculation of Atan is required as described later, and the calculation becomes complicated. Hereinafter, a procedure for obtaining the corresponding edge point using the edge strength and the edge angle will be described.

まずエッジ強度が所定のエッジ強度閾値より大きい極大点で、さらにエッジ角度と基点が持つ角度の差の絶対値が所定のエッジ角度閾値よりも小さい点を対応エッジ点の候補とする。さらにその対応エッジ点候補の中から最も基点に近い点を最終的に対応エッジ点とする。   First, a point corresponding to a maximum point where the edge strength is larger than a predetermined edge strength threshold and the absolute value of the difference between the edge angle and the base point is smaller than the predetermined edge angle threshold is set as a corresponding edge point candidate. Further, a point closest to the base point among the corresponding edge point candidates is finally set as a corresponding edge point.

さらに、その対応エッジ点のエッジのサブピクセル位置を求めて(ステップS2003)、その位置と、セグメントの幾何データを使ってエラー値を求め、最小二乗法計算を行い(ステップS2004)、精密な位置を求める(ステップS2005)。エラー値の例としては、線分セグメントでは対応エッジ点と直線の距離がエラー値、円弧セグメントでは対応エッジ点と中心位置との距離と半径との差の絶対値がエラー値として挙げられる。   Further, the subpixel position of the edge of the corresponding edge point is obtained (step S2003), an error value is obtained using the position and the geometric data of the segment, and the least square method calculation is performed (step S2004). Is obtained (step S2005). As an example of the error value, the distance between the corresponding edge point and the straight line is the error value in the line segment, and the absolute value of the difference between the distance between the corresponding edge point and the center position and the radius is the error value in the arc segment.

以上のようにして、最小二乗法計算で用いるエラー値やウェイト値を精密位置決め手段76で計算し、その値から最小二乗法で得られる連立方程式を取得する。ここではセグメントを理想形状とし、セグメントと対応する複数の対応点との誤差を最小とするように最小二乗法を適用している。さらに連立方程式を解き、高精度の位置及び姿勢を求める。
このようにして、位置Xの補正量Δx、位置Yの補正量Δy、角度θの補正量Δθ、スケールsの補正量Δs(s:scale)が得られる。
As described above, the error value and weight value used in the least square method calculation are calculated by the precision positioning means 76, and simultaneous equations obtained by the least square method are obtained from the values. Here, the least square method is applied so that the segment has an ideal shape and the error between the corresponding points corresponding to the segment is minimized. Furthermore, simultaneous equations are solved to obtain a highly accurate position and orientation.
In this way, the correction amount Δx of the position X, the correction amount Δy of the position Y, the correction amount Δθ of the angle θ, and the correction amount Δs (s: scale) of the scale s are obtained.

精密位置決めにおいては、粗サーチで得られた位置、姿勢のデータを用いて基点をサーチ対象画像に重ねる。そして、対応点探索ラインに沿ってソーベルフィルタ等のエッジ計算を行い、エッジベクトルを取得している。なおエッジベクトルは、ソーベルフィルタを適用した結果で表され、(Sx,Sy)等で表現できる。またエッジ強度EMは、EM=√(Sx2+Sy2)、エッジ角度θEは、θE=Atan(Sy/Sx)等として表現できる。さらに、エッジベクトルから対応エッジ点上のピクセルのエッジ角度、エッジ強度と位置を求め、これらエッジベクトル、エッジ角度、エッジ強度、位置から対応エッジ点の基点を含むセグメントに対応する対応エッジ点を精密位置決め手段76で求める。 In precise positioning, the base point is overlaid on the search target image using the position and orientation data obtained by the coarse search. Then, an edge calculation such as a Sobel filter is performed along the corresponding point search line to obtain an edge vector. The edge vector is expressed as a result of applying the Sobel filter, and can be expressed by (S x , S y ) or the like. The edge strength E M can be expressed as E M = √ (S x2 + S y2 ), and the edge angle θ E can be expressed as θ E = Atan (S y / S x ). Furthermore, the edge angle, edge strength, and position of the pixel on the corresponding edge point are obtained from the edge vector, and the corresponding edge point corresponding to the segment including the base point of the corresponding edge point is determined from these edge vector, edge angle, edge strength, and position. It is determined by the positioning means 76.

この様子を図21(a)に基づき説明すると、まず太字実線で示すパターンモデルPMを、粗サーチで求めたサーチ対象画像(破線で示すエッジ角度ビット縮小画像EABR)の検出候補の位置に、精密位置決め手段76で重ねて配置する。そしてパターンモデルPM上に設定された基点KTを通り、パターンモデルのセグメントにほぼ垂直な対応点探索ラインTLに沿って、基点KTと対応する対応エッジ点TTを求める。図21(a)において対応点探索ラインTLは細線実線で示されている。なお、対応点探索ラインTLは仮想的に設定されたラインであって、実際にラインを引くわけではない。対応エッジ点TTは、対応点探索ラインTLと縮小画像EABRとの交点となる。ここで対応エッジ点TTは、サブピクセル座標位置を求めることができる。この位置と、セグメントの幾何データを使って、精密位置決め手段76で精密位置決めを行う。   This situation will be described with reference to FIG. 21A. First, the pattern model PM indicated by a bold solid line is precisely positioned at the position of a detection candidate of a search target image (edge angle bit reduced image EABR indicated by a broken line) obtained by a rough search. The positioning means 76 superimposes them. A corresponding edge point TT corresponding to the base point KT is obtained along a corresponding point search line TL that passes through the base point KT set on the pattern model PM and is substantially perpendicular to the segment of the pattern model. In FIG. 21A, the corresponding point search line TL is indicated by a thin solid line. The corresponding point search line TL is a virtually set line and does not actually draw a line. The corresponding edge point TT is an intersection of the corresponding point search line TL and the reduced image EABR. Here, the corresponding edge point TT can determine the subpixel coordinate position. Using this position and the geometric data of the segment, the precise positioning means 76 performs precise positioning.

具体的には、セグメントの幾何データ(この場合は線分)と対応エッジ点との関係を評価値とし、評価値の累積値が最小又は最大となるようにスコア計算を行う。評価値としては、典型的には距離が利用でき、この距離をエラー値として、エラー値が最小となるよう最小二乗法計算を行うことで精密な位置を求めることができる。距離には、セグメントとその対応エッジ点とのユークリッド距離が利用できる。つまりセグメントが線分の場合は対応エッジ点と直線の距離、セグメントが円弧の場合は対応エッジ点と中心位置との距離と半径との差の絶対値を用いる。最小二乗法による解法で得られる連立方程式を解くことで、高精度の位置及び姿勢を求めることができる。また評価値は距離に限られず、基点と基点の対応エッジ点とがなす角度としてもよい。   Specifically, the relationship between the geometric data of the segment (in this case, a line segment) and the corresponding edge point is used as an evaluation value, and score calculation is performed so that the accumulated value of the evaluation value is minimized or maximized. As an evaluation value, a distance can be typically used, and a precise position can be obtained by performing a least-squares calculation so that the error value is minimized with this distance as an error value. As the distance, the Euclidean distance between the segment and its corresponding edge point can be used. That is, when the segment is a line segment, the distance between the corresponding edge point and the straight line is used, and when the segment is an arc, the absolute value of the difference between the distance between the corresponding edge point and the center position and the radius is used. By solving simultaneous equations obtained by the method of least squares, it is possible to obtain a highly accurate position and orientation. The evaluation value is not limited to the distance, and may be an angle formed by the base point and the corresponding edge point of the base point.

また、精密位置決め手段76が対応エッジ点を求める対応エッジ点探索処理の様子を図21(b)に示す。この図において、図21(a)と同様、破線はサーチ対象画像の縮小画像EABR、太字実線はパターンモデルPM、細線実線は基点KT上に設定された対応点探索ラインTLを、それぞれ示している。ここでは、縮小画像EABRの3×3画素の領域SRでソーベルフィルタを適用した座標位置x、yを求める。この計算の中心座標は、ブレゼンハムの直線データ生成アルゴリズムを用いて行われる。図21(b)の例では、モデルエッジ点Aに対して、ピクセルBが対応エッジ点として抽出される。   FIG. 21B shows the state of the corresponding edge point search process in which the precise positioning means 76 obtains the corresponding edge point. In this figure, as in FIG. 21A, the broken line indicates the reduced image EABR of the search target image, the bold solid line indicates the pattern model PM, and the thin solid line indicates the corresponding point search line TL set on the base point KT. . Here, the coordinate positions x and y to which the Sobel filter is applied in the 3 × 3 pixel region SR of the reduced image EABR are obtained. The center coordinates of this calculation are performed using Bresenham's straight line data generation algorithm. In the example of FIG. 21B, the pixel B is extracted as the corresponding edge point for the model edge point A.

図21(b)に示す方法は、対応エッジ点が自動的に抽出されたセグメント上で適当に選択された点を基点として配置される点で上述した特許文献1と相違する。特に特許文献1では、シークラインの配置方法が規定されていない。さらに、対応エッジ点の決定に際して、エッジ強度のみならず、エッジ角度やエッジ位置等のデータを用いることで、対応エッジ点の信頼性が向上する。加えて、エッジ角度やエッジ強度を求める処理で用いるカーネルをよりコンパクトとしており、演算処理を低負荷としている。さらに対応エッジ点に対してはサブピクセル精度で位置を求めることができる。加えて、最小二乗法を用いることにより、様々な形状のモデルにも対応できる利点が得られる。   The method shown in FIG. 21B is different from Patent Document 1 described above in that the corresponding edge point is arranged with a point appropriately selected on the segment from which the corresponding edge point is automatically extracted. In particular, Patent Document 1 does not define a seek line arrangement method. Further, when determining the corresponding edge point, not only the edge strength but also the data such as the edge angle and the edge position are used, thereby improving the reliability of the corresponding edge point. In addition, the kernel used in the processing for obtaining the edge angle and edge strength is made more compact, and the computation processing is lightly loaded. Furthermore, the position can be obtained with subpixel accuracy for the corresponding edge point. In addition, by using the method of least squares, there is an advantage that it can cope with models of various shapes.

以上のようにして、パターンサーチにおける高速且つ高精度な位置決めが可能となる。特にこの方法では、対応点探索ラインの線分長さを変えることで、簡単に対応点探索ラインによる対応エッジ点の探索範囲を変えることができ、必要な安定性を調整できる利点が得られる。すなわち、繰り返し最小二乗法を適用する際に、対応点探索ラインの線分長さを徐々に短くしていくことで、より高精度で高速な位置決めが簡単に実現できる。   As described above, high-speed and high-precision positioning in pattern search is possible. In particular, in this method, by changing the line segment length of the corresponding point search line, the search range of the corresponding edge point by the corresponding point search line can be easily changed, and an advantage that necessary stability can be adjusted is obtained. That is, when the iterative least square method is applied, the line length of the corresponding point search line is gradually shortened, so that higher-precision and high-speed positioning can be easily realized.

加えて、パターンモデルをセグメントで表現するので、図22に示すようなエッジ位置の波打現象を解消できる。すなわち、点と点での精密位置決めを行う場合、波の高いところとペアリングするのと低いところとペアリングするので位置が大きくずれることがあるが、そのような影響を低減できる。   In addition, since the pattern model is expressed by segments, the wavy phenomenon at the edge position as shown in FIG. 22 can be eliminated. In other words, when performing precise positioning between points, the position may be greatly shifted because it is paired with a high wave part and a low wave part, but such influence can be reduced.

また、これに代わってあるいはこれに加えて、最小二乗法を繰り返す毎に、エッジ角度閾値を変化させてもよい。すなわち、エッジ角度閾値を最小二乗法の繰り返し回数に応じて徐々に小さくすることでも、より安定した位置決めを実現できる。   Alternatively, or in addition to this, the edge angle threshold value may be changed each time the least square method is repeated. That is, more stable positioning can be realized by gradually reducing the edge angle threshold value in accordance with the number of times of the least squares method.

なお、粗サーチで得られた初期位置あるいは再度の粗サーチで得られた精密位置決め開始位置に基づいてサーチ対象画像にパターンモデルを重ねる際は、サーチ対象画像は未処理のいわゆる原画像データを、パターンモデルは原画像データに対応したパターンモデルを用いる。   When the pattern model is superimposed on the search target image based on the initial position obtained by the coarse search or the precise positioning start position obtained by the coarse search again, the search target image is unprocessed so-called original image data, As the pattern model, a pattern model corresponding to the original image data is used.

この方法であれば、サーチ対象画像の原画像データの、すべての画素をエッジ画像データに変換する必要が無く、処理の高速化が図られる。特に、タクトタイムが要求あれるインライン処理においては、このような低負荷で高速な処理は好ましい。なお、全体で事前にエッジデータを抽出した方が効率的な場合は、サーチ対象画像のすべての点をエッジ画像データに変換してパターンサーチを行うことも可能であることはいうまでもない。   With this method, it is not necessary to convert all the pixels of the original image data of the search target image into edge image data, and the processing speed can be increased. In particular, in-line processing requiring a tact time, such low-load and high-speed processing is preferable. If it is more efficient to extract the edge data in advance as a whole, it goes without saying that the pattern search can be performed by converting all points of the search target image into the edge image data.

また、パターンモデルのすべてをサーチ対象画像に重ねて配置する必要はなく、少なくとも対応点探索ラインを重ねて配置すれば足りる。特に対応点探索ラインは直線であるため、演算で容易に求めることができる。したがって、本明細書において「重ねる」とは、現実に画像を重ねることを必ずしも意味せず、対応点探索ラインに従って対応エッジ点を決定する処理を意味するものとして使用する。また、ここでいう「重ねて配置する」とは、上述の通り重ねることで各画像の対応位置を把握しやすくしたことを説明するためのものであり、あくまでも計算上における仮想的なものにすぎず、実際にデータを重ねる作業は必要でないことはいうまでもない。   Further, it is not necessary to arrange all of the pattern models so as to overlap the search target image, and it is sufficient to arrange at least the corresponding point search lines. In particular, since the corresponding point search line is a straight line, it can be easily obtained by calculation. Therefore, in this specification, “superimpose” does not necessarily mean that images are actually superimposed, but is used to mean a process of determining corresponding edge points according to corresponding point search lines. In addition, the term “placed in an overlapping manner” here is for explaining that it is easy to grasp the corresponding position of each image by overlapping as described above, and is only a virtual thing in calculation. Needless to say, it is not necessary to actually superimpose data.

この方法によれば、従来の方法に比べ高精度なエッジベースのサーチが実現できる。上述した特許文献1の手法では、エッジの方向や角度成分を検討しておらず、予め規定されたエッジの方向しか見ないため、複雑な形状での安定性が期待できない。これに対し、本実施の形態に係る手法では、エッジの方向が重要となるため、対応エッジ点の信頼性を高めることができる。さらに本実施の形態ではソーベルフィルタのようなカーネルの小さなフィルタを用いて差分を計算するため、ワークが細長いものであってもエッジを検出できる。このように、特許文献1の手法に比べ、複雑な形状のサーチ対象にも対応できる安定したエッジベースのサーチが実現できる。   According to this method, a highly accurate edge-based search can be realized as compared with the conventional method. In the method of Patent Document 1 described above, the direction of the edge and the angle component are not examined, and only the direction of the edge defined in advance is seen, so stability in a complicated shape cannot be expected. On the other hand, in the method according to the present embodiment, the edge direction is important, so that the reliability of the corresponding edge point can be improved. Furthermore, since the difference is calculated using a small kernel filter such as a Sobel filter in this embodiment, an edge can be detected even if the workpiece is elongated. As described above, a stable edge-based search that can cope with a search object having a complicated shape can be realized as compared with the technique of Patent Document 1.

また、パターンモデルのサーチ対象画像中における検出候補の位置、すなわち局所サーチの初期位置を粗サーチで求める際に、サーチ対象画像を縮小してパターンサーチを行うことで、低負荷で高速に行える利点がある。ただ、縮小により一部の情報が失われる結果、精度が低下する虞があるので、情報量を維持するような縮小を行うことが望ましい(詳細は後述)。さらにパターンモデルの初期位置は、粗サーチで求める形態の他、ユーザが手動で初期位置を指定することもできる。   In addition, when the position of the detection candidate in the search target image of the pattern model, that is, the initial position of the local search is obtained by the coarse search, the pattern search is performed by reducing the search target image, so that the load can be reduced and the speed can be increased. There is. However, since some information is lost due to the reduction, there is a possibility that the accuracy may be lowered. Therefore, it is desirable to perform the reduction so as to maintain the information amount (details will be described later). Further, the initial position of the pattern model can be manually specified by the user in addition to the form obtained by the coarse search.

なお上記の例において点とは、サーチ対象画像や登録画像を構成する点、すなわち一画素(ピクセル)を指すが、複数画素(例えば4画素)を一つの点として扱うことも可能であることは言うまでもない。したがって本明細書において点とは、一又は所定の画素数を意味するものとする。   In the above example, a point refers to a point constituting a search target image or a registered image, that is, one pixel (pixel), but a plurality of pixels (for example, four pixels) can be handled as one point. Needless to say. Therefore, in this specification, a point means one or a predetermined number of pixels.

また「基点に基づいて」とは、基点上でエッジ検出を行うのみならず、基点の近傍でエッジ検出を行うことも包含する意味で使用する。例えば、基点の周囲1画素〜10画素等、指定された範囲内でエッジ検出を行う。   The term “based on the base point” is used to include not only performing edge detection on the base point but also performing edge detection near the base point. For example, edge detection is performed within a specified range such as 1 to 10 pixels around the base point.

さらにセグメントとは、線分及び/又は円弧の組み合わせで構成される連続した有限長の線をいう。また線分や円弧に加えて、円錐曲線、スプライン曲線、ベジエ曲線等を組み合わせることもできる。また対応点探索ラインのデータには、基点の座標、対応点探索ラインの角度、長さが含まれる
(最小二乗法)
Furthermore, a segment refers to a continuous finite length line composed of a combination of line segments and / or arcs. In addition to line segments and arcs, conic curves, spline curves, Bezier curves, and the like can also be combined. The corresponding point search line data includes the coordinates of the base point, the angle and length of the corresponding point search line (least square method).

最小二乗法は、線分セグメントに対しては直線のエラー関数を適応する。直線のエラー関数は、点と直線の距離をエラー関数にした最小二乗法である。また円弧セグメントに対しては、円弧のエラー関数を適応する。円弧のエラー関数は、点と円弧の距離をエラー関数にした最小二乗法である。この詳細については、後述する。   The least squares method applies a linear error function to the line segment. The straight line error function is a least square method in which the distance between a point and a straight line is an error function. An arc error function is applied to the arc segment. The arc error function is a least square method in which the distance between a point and an arc is an error function. Details of this will be described later.

最小二乗法の問題点として、大きく懸け離れた値が1つでも存在すると、この点に影響されて精度が極端に悪くなる点が挙げられる。そこで本手法においては、このような点に対する重み付けを低くするようウェイト値を持たせた重み付き最小二乗法を用いて、影響を抑制している。   As a problem of the least squares method, there is a point that if even one large value exists, the accuracy is extremely deteriorated due to this point. Therefore, in this method, the influence is suppressed by using a weighted least square method in which weight values are given so as to reduce the weights for such points.

また、最小二乗法において使用する自由度としては、X方向移動、Y方向移動、回転、拡大/縮小、スキュー、アスペクト等が利用できる。これらを選択することで、xy方向の平行移動のみならず、登録画像の回転や拡大縮小、歪み等にも対応できる。
(最小二乗法のエラー関数の一般化)
Further, as the degree of freedom used in the least square method, X direction movement, Y direction movement, rotation, enlargement / reduction, skew, aspect, and the like can be used. By selecting these, not only translation in the xy direction but also rotation, enlargement / reduction, distortion, etc. of the registered image can be handled.
(Generalization of least squares error function)

ここで、最小二乗法のエラー関数を一般化して展開する。まずエラー関数E(po,p1,・・・,pn)がアフィンパラメータpo,p1,・・・,pnで決定されると考える(例えばp0=x、p1=y等)。ここで最適なアフィンパラメータpoo,p1o,・・・,pnoでエラー関数E(po,p1,・・・,pn)が最小になると仮定する(o:optimized)。このときエラー関数E(po,p1,・・・,pn)を次式で表現する。 Here, the least squares error function is generalized and expanded. First error function E (p o, p 1, ···, p n) is affine parameter p o, p 1, considered ..., and is determined by p n (e.g. p 0 = x, p 1 = y etc). Here, it is assumed that the error function E (p o , p 1 ,..., P n ) is minimized with the optimum affine parameters p o o, p 1 o,..., P n o (o: optimized). . At this time, the error function E (p o, p 1, ···, p n) to be represented by the following equation.

上式におけるパラメータの意味は、以下の通りである。
i:対応エッジ点のindex
ωi:対応エッジ点とモデルとの位置関係で決まるウェイトであり、例えば対応エッジ点と線分との点と直線の距離が遠い場合、0に近づくように定義される。
e(p0,p1,・・・,pn):対応エッジ点とモデルとの幾何的な距離で決まる個別エラー関数であり、対応エッジ点と線分との点と直線の距離等で表される。
0〜pn:平行x移動量,平行y移動量,回転角度,スケール値等のアフィンパラメータ
The meanings of the parameters in the above equation are as follows.
i: Index of the corresponding edge point
ω i is a weight determined by the positional relationship between the corresponding edge point and the model, and is defined to approach 0 when the distance between the corresponding edge point and the line segment and the straight line is far, for example.
e (p 0 , p 1 ,..., p n ): an individual error function determined by the geometric distance between the corresponding edge point and the model, and the distance between the corresponding edge point and the line segment and the straight line, etc. expressed.
p 0 to p n : Affine parameters such as parallel x movement, parallel y movement, rotation angle, scale value, etc.

上記エラー関数E(po,p1,・・・,pn)を最小にするアフィンパラメータpoo,p1o,・・・,pnoを求めるために、その値に十分近いことが期待される粗サーチや一つ前に行われた精密位置決めで求めたアフィンパラメータp0t,p1t,・・・,pntからの変位量 The error function E (p o, p 1, ···, p n) affine parameters to minimize p o o, p 1 o, ···, in order to obtain the p n o, sufficiently close to the value displacement from affine parameter p 0t, p 1t, ···, p nt but determined by precise positioning conducted in coarse search and the previous expected

を求める。 Ask for.

Δp0,Δp1,・・・,Δpnは、以下の連立方程式を解くことで得られる。 Δp 0, Δp 1, ···, Δp n is obtained by solving the system of equations below.

上述の通り、画像のエッジ強度のみならず、エッジの角度を用いることで、方向成分を加味することができ、ノイズ成分に強いより安定な位置決めが可能となる。特に画像データに対して微分処理を利用することで、照度の変動に影響を受け難い安定したサーチが可能となる。
(対応点探索ラインフィルタ処理)
As described above, by using not only the edge strength of the image but also the angle of the edge, the direction component can be taken into account, and a more stable positioning resistant to the noise component can be achieved. In particular, by using differential processing for image data, a stable search that is hardly affected by fluctuations in illuminance is possible.
(Corresponding point search line filter processing)

特に、登録画像に対して対応点探索ライン探索処理を行い、対応点探索ラインの選択が困難な可能性が高い場合には、そのような位置をパターンサーチから排除することが好ましい。例えば図23のような登録画像がある場合を考えるとき、このパターンに対して対応点探索ラインを自動設定すると、図24のようになる。この図に示すとおり、周辺輪郭のみならず、内部の中心付近に位置する濃淡差のある部分にも、対応点探索ラインが設定されることになる。このような中心付近に設定された対応点探索ラインでエッジのマッチングを行うと、エッジ角度が類似する部分が多々生じる。その結果、この対応点探索ラインを用いてパターンサーチを行うと、対応エッジ点検出で対応エッジ点が曖昧になる可能性が高くなる。   In particular, when a corresponding point search line search process is performed on a registered image and it is highly likely that it is difficult to select a corresponding point search line, such a position is preferably excluded from the pattern search. For example, when there is a registered image as shown in FIG. 23, if a corresponding point search line is automatically set for this pattern, the result is as shown in FIG. As shown in this figure, corresponding point search lines are set not only in the peripheral contour but also in a portion with a difference in density located near the inner center. When edge matching is performed on the corresponding point search line set in the vicinity of the center, there are many portions having similar edge angles. As a result, when a pattern search is performed using the corresponding point search line, there is a high possibility that the corresponding edge point becomes ambiguous by detecting the corresponding edge point.

本実施の形態においては、このような曖昧な対応点探索ラインを排除することで、安定した精度の高いサーチを可能としている。具体的には、対応点探索ラインフィルタ手段により、このような好ましくない領域に設定された対応点探索ラインをフィルタリングして、エッジ強度とエッジ角度が似ているものが存在する場合はこれを排除する。図25に、図24から対応点探索ラインをフィルタリングした結果の例を示す。   In the present embodiment, by eliminating such an ambiguous corresponding point search line, a stable and highly accurate search is possible. Specifically, the corresponding point search line filter means filters the corresponding point search line set in such an unfavorable region, and if there is something similar in edge strength and edge angle, this is excluded. To do. FIG. 25 shows an example of the result of filtering the corresponding point search line from FIG.

このように、対応点探索ラインの候補に対して、対応点探索ラインフィルタ手段が対応点探索ラインフィルタ処理を行う手順の一例を、図26のフローチャートに基づいて説明する。まずステップS2601で、登録画像に対して対応点探索ライン生成処理を行い、対応点探索ラインの候補を作成する。次にステップS2602で、登録画像に対して対応点探索ラインの候補を配置する。対応点探索ラインが作成された位置に配置されると、対応点探索ラインの候補の中間近辺で、対応点探索ライン候補が検出できる。   An example of a procedure in which the corresponding point search line filter unit performs the corresponding point search line filter processing on the corresponding point search line candidates will be described with reference to the flowchart of FIG. First, in step S2601, a corresponding point search line generation process is performed on the registered image to generate a corresponding point search line candidate. Next, in step S2602, corresponding point search line candidates are placed on the registered image. When the corresponding point search line is arranged at the created position, the corresponding point search line candidate can be detected near the middle of the corresponding point search line candidate.

さらにステップS2603で、対応点探索ラインの候補に沿って対応点探索ライン候補探索を行い、対応点探索ライン候補の数をそれぞれ計数する。またステップS2604でフィルタリング処理を行い、対応点探索ライン候補の数が2以上の場合、その対応点探索ラインでの対応点探索ラインは曖昧である可能性が高いと判断して、対応点探索ライン候補から排除する。そしてステップS2605で、残った対応点探索ラインを最終の対応点探索ラインとする。この処理により、不確実な対応点探索ラインを排除して、より安定したパターンサーチ結果が見込まれる。   In step S2603, corresponding point search line candidate searches are performed along the corresponding point search line candidates, and the number of corresponding point search line candidates is counted. In addition, when the filtering process is performed in step S2604 and the number of corresponding point search line candidates is 2 or more, it is determined that the corresponding point search line in the corresponding point search line is highly ambiguous, and the corresponding point search line is determined. Exclude from the candidate. In step S2605, the remaining corresponding point search line is set as the final corresponding point search line. By this process, an uncertain corresponding point search line is eliminated, and a more stable pattern search result is expected.

なお、精密位置決めの工程を繰り返す場合は、対応点探索ラインの線分長さを繰り返し回数に応じて短くしていくため、一旦行った対応点探索ラインフィルタ処理で選択された対応点探索ラインを記録しておき、繰り返し工程においてはこの情報を利用することができる。あるいは、対応点探索ラインを短くした場合も同様に対応点探索ラインフィルタ処理を行い、その結果選択された対応点探索ラインを記録しておくこともできる。
(対応点探索ライン)
When the precise positioning process is repeated, the corresponding point search line selected by the corresponding point search line filter processing once performed is reduced in order to shorten the line length of the corresponding point search line according to the number of repetitions. This information can be used in a repetitive process. Alternatively, when the corresponding point search line is shortened, the corresponding point search line filter process is performed in the same manner, and the corresponding point search line selected as a result can be recorded.
(Corresponding point search line)

また対応点探索ラインの線分長さを変化させることで、精密位置決めの安定度の向上と高速化が期待できる。対応点探索ラインの線分長さは、粗サーチと精密位置決めの縮小率の差で決定する。例えば、精密位置決めを等倍の画像で行い、最終的な粗サーチを1/4倍とする場合、2*4=8ピクセル程度の長さとする。
(チェーンフィルタ手段66)
In addition, by changing the line length of the corresponding point search line, it is possible to improve the precision and speed of precision positioning. The line segment length of the corresponding point search line is determined by the difference in the reduction ratio between the coarse search and the fine positioning. For example, when precise positioning is performed with an equal magnification image and the final coarse search is 1/4 times, the length is about 2 * 4 = 8 pixels.
(Chain filter means 66)

上記の例では、すべてのセグメントに対して少なくとも一の基点を設定している。本実施の形態においては、セグメントを生成する際に、セグメントを構成するチェーンを選別することにより、予め信頼性の高いセグメントを構築し、各セグメントに基点を設定している。このような特定のチェーンの選択又は排除は、図1のブロック図に示したチェーンフィルタ手段66で行う。チェーンフィルタ手段66がチェーンを選択する基準としては、平均エッジ強度、チェーンの長さ等が挙げられる。   In the above example, at least one base point is set for all segments. In the present embodiment, when generating a segment, a highly reliable segment is constructed in advance by selecting a chain constituting the segment, and a base point is set for each segment. Such a specific chain is selected or excluded by the chain filter means 66 shown in the block diagram of FIG. References for the chain filter 66 to select a chain include average edge strength, chain length, and the like.

このチェーンフィルタ手段66は、登録時及び運転時にチェーンの選択を行う。登録時においては、セグメントを構成するのに値するチェーンを抽出する。具体的には所定のチェーン長閾値に満たない短いチェーンや、所定のエッジ強度閾値に満たない平均エッジ強度の低いチェーンについて、これらのチェーンからセグメントを作成しても、セグメントデータの信頼性が低いことが予想されるため、これらのチェーンを排除するようにフィルタリングする。   This chain filter means 66 performs chain selection at the time of registration and operation. At the time of registration, a chain worthy of constituting a segment is extracted. Specifically, even if a segment is created from a short chain that does not meet the predetermined chain length threshold or a chain that has a low average edge strength that does not meet the predetermined edge strength threshold, the reliability of the segment data is low. It is anticipated that we will filter out these chains.

一方、運転時においては、長さの短いチェーンはノイズである可能性が高いため、サー対象画像の状況に応じて使用するかどうかを選択する。例えば、ユーザが長さの閾値を設定し、短いチェーンを排除する。以下、これらの詳細を順次説明する。   On the other hand, during operation, since a short chain is highly likely to be noise, whether or not to use the chain is selected depending on the situation of the target image. For example, the user sets a length threshold and eliminates short chains. Hereinafter, these details will be described sequentially.

まず平均エッジ強度でチェーンをフィルタリングする場合は、各チェーンに対して含まれるエッジ点の平均エッジ強度をチェーンフィルタ手段66が演算し、予め設定された平均エッジ強度閾値と比較してフィルタリングする。すなわち、平均エッジ強度の低いチェーンを排除し、一定以上の平均エッジ強度を有するチェーンのみに対してセグメント化し、得られたセグメントに対して基点を設定し、パターンモデル化することで、確度の高いエッジに基づいたパターンサーチが見込まれ、サーチ精度を高めることができる。平均エッジ強度閾値は、パターンモデルの輪郭を識別するのに十分なエッジ強度を含む程度に、ユーザが設定できる。   First, when filtering a chain based on the average edge strength, the chain filter means 66 calculates the average edge strength of the edge points included for each chain, and compares the average edge strength with a preset average edge strength threshold. In other words, high accuracy is achieved by eliminating chains with low average edge strength, segmenting only chains with average edge strength above a certain level, setting a base point for the obtained segments, and pattern modeling A pattern search based on edges is expected, and the search accuracy can be improved. The average edge strength threshold can be set by the user to include an edge strength sufficient to identify the contour of the pattern model.

またチェーン長でフィルタリングする場合は、各チェーンの長さを予め設定されたチェーン長閾値と比較して、チェーンフィルタ手段66がフィルタリングする。すなわち、一定長さ以上のチェーンのみを選択し、それよりも短いチェーンを排除することで、安定したエッジに基づいたパターンサーチが可能となり、精度向上に寄与する。   When filtering by chain length, the chain filter means 66 performs filtering by comparing the length of each chain with a preset chain length threshold. That is, by selecting only a chain having a certain length or more and eliminating a shorter chain, a pattern search based on a stable edge can be performed, which contributes to an improvement in accuracy.

一方、チェーンで構成されたセグメントに対してフィルタリングを行うセグメント選択手段67を利用することもできる。セグメント選択手段67がセグメントの選択する基準としては、上記チェーンフィルタ手段66と同様に平均エッジ強度、セグメントの長さ、近傍に類似するエッジ角度を有するセグメントが存在するか否か、あるいは理想エッジ角度の偏在の排除、等が挙げられる。また、単に短いセグメントを一律に排除するのでなく、セグメントを構成する線分や円弧の組み合わせに応じて、セグメントのフィルタリング方法を変更してもよい。例えば、セグメントの集合から十分長いセグメントを抽出し、それらの組み合わせを評価し、円弧のセグメントが一以上ある場合は、線分も一以上あれば、短いセグメントは不要としてこれらを排除又は削除する。また、すべてのセグメントが線分の場合、長いセグメントが3本以上あれば、他の短いセグメントを排除しても十分な精度を維持できる。このように、セグメントを構成する組み合わせに応じてセグメント選択手段67によるフィルタリングを変更し、適切なセグメントを選別してより効率よくサーチを実行できる。   On the other hand, the segment selection means 67 which filters with respect to the segment comprised with the chain can also be utilized. As a criterion for selecting a segment by the segment selecting unit 67, the average edge strength, the length of the segment, whether or not there is a segment having an edge angle similar to the vicinity, as in the chain filter unit 66, or the ideal edge angle is selected. And the like. Further, instead of simply eliminating short segments uniformly, the segment filtering method may be changed according to the combination of line segments and arcs constituting the segments. For example, a sufficiently long segment is extracted from a set of segments, a combination thereof is evaluated, and when there are one or more arc segments, if there are one or more line segments, short segments are unnecessary and are eliminated or deleted. Further, when all segments are line segments, if there are three or more long segments, sufficient accuracy can be maintained even if other short segments are excluded. In this way, the filtering by the segment selecting means 67 is changed according to the combination constituting the segment, and an appropriate segment is selected and the search can be executed more efficiently.

なお、ここでセグメント長とは、パターンモデルを構成するセグメントの、線分や円弧の端から端までの直線もしくは曲線の長さを指す。また、線分長さと円弧長さについて、それぞれセグメント長閾値を個別に設けることもできる。セグメント長閾値は、登録画像や要求される精度等に応じて設定され、又は登録画像やサーチ対象画像の平均セグメント長に基づいて設定できる。   Here, the segment length refers to the length of a straight line or a curved line from the end of the line segment or the arc of the segment constituting the pattern model. In addition, segment length thresholds can be individually provided for the line segment length and the arc length. The segment length threshold is set according to the registered image, the required accuracy, or the like, or can be set based on the average segment length of the registered image or the search target image.

さらに近傍に類似するエッジ角度を有するセグメントが存在するか否かに基づいてフィルタリングする場合は、各セグメントに含まれるエッジ点のエッジ角度について、近傍に類似するエッジ角度を有する別のセグメントが存在するかどうかをセグメント選択手段67が判定し、存在する場合は該セグメントを排除する。すなわち、同じようなエッジ角度を有するセグメントについては、パターンサーチ結果が安定しない虞があることを考慮し、このようなセグメントを排除して基点を設定することにより、パターンサーチ結果の安定性を高めることができる。
(仮対応エッジ点)
Furthermore, when filtering based on whether or not there is a segment having an edge angle similar to the neighborhood, another segment having an edge angle similar to the neighborhood exists for the edge angle of the edge point included in each segment. The segment selection means 67 determines whether or not the segment exists. In other words, considering the possibility that the pattern search results may not be stable for segments having the same edge angle, the stability of the pattern search results is improved by setting such a base point by eliminating such segments. be able to.
(Temporary corresponding edge point)

次に図29に基づき、精密位置決めにおいて基点に対応する対応エッジ点の座標を求める手順を説明する。ここでは、まず対応点探索ラインTL上で対応エッジ点を見つけ、次にもう一方のペアとなる対応エッジ点を見つけ、その二つから平均座標を求めてその座標を真の対応エッジ点座標とする。   Next, a procedure for obtaining the coordinates of the corresponding edge point corresponding to the base point in the precise positioning will be described with reference to FIG. Here, first, a corresponding edge point is found on the corresponding point search line TL, then a corresponding edge point that is another pair is found, an average coordinate is obtained from the two, and the coordinates are determined as true corresponding edge point coordinates. To do.

具体的には、図29において、円弧状のセグメントの一部(図において○で示す位置)に基点KTが設定され、この点を通る対応点探索ラインTLが左上から右下方向に延長されている。まず、対応点探索ラインTLに沿って、サーチ対象画像の各点のエッジ強度を調べる。図29の例では、基点KTをベースとしてエッジ強度を求めている。ここでは、基点KTを含む枡目状の各頂点a、b、c、dの4点につき、各点のエッジ強度を調べる。そして最もエッジ強度の高い点のサブピクセル位置を、仮対応エッジ点として求める。その結果、例えばa点のサブピクセル位置としてeが仮対応エッジ点として演算されたとすると、次にこの仮対応エッジ点eに対応するペア点を選択する。ペア点は、仮対応エッジ点eとペア点とで基点KTを挟むように選択される。ここでは、ペア点としてfが選択されたとする。さらに、これら仮対応エッジ点e及びそのペア点fから平均座標を求める。そして、得られた平均座標を真の対応エッジ点座標として扱う。   Specifically, in FIG. 29, a base point KT is set at a part of the arc-shaped segment (position indicated by a circle in the figure), and the corresponding point search line TL passing through this point is extended from the upper left to the lower right. Yes. First, the edge strength of each point of the search target image is examined along the corresponding point search line TL. In the example of FIG. 29, the edge strength is obtained based on the base point KT. Here, the edge strength of each of the four points of the grid-like vertices a, b, c and d including the base point KT is examined. Then, the subpixel position of the point having the highest edge strength is obtained as a temporary corresponding edge point. As a result, if e is calculated as a temporary corresponding edge point as a sub-pixel position of point a, for example, a pair point corresponding to this temporary corresponding edge point e is selected next. The pair points are selected so that the base point KT is sandwiched between the temporary corresponding edge point e and the pair point. Here, it is assumed that f is selected as the pair point. Further, average coordinates are obtained from these provisional corresponding edge points e and their pair points f. Then, the obtained average coordinates are treated as true corresponding edge point coordinates.

このようにすることで、対応エッジ点が波打状に演算されることを抑制して、安定した演算結果を得ることができる。すなわち、点と点での精密位置決めを行う場合、波の高いところでペアリングするのと、低いところでペアリングするので位置が大きくずれることがあるが、上記手法によりその影響を低減できる。
(近傍エッジ点を用いて対応エッジ点の座標を求める方法)
By doing in this way, it can suppress that a corresponding edge point is calculated in a wavy shape, and can obtain the stable calculation result. That is, when performing precise positioning between points, the pairing occurs at a high wave and the pairing occurs at a low wave, so that the position may be greatly shifted, but the influence can be reduced by the above method.
(Method to obtain the coordinates of the corresponding edge point using the nearby edge point)

また対応エッジ点の座標をサブピクセル単位で求める方法は、上記に限られず他の方法も利用できる。例えば、対応点探索ライン上で対応エッジ点をピクセル単位で探索し、得られた点を仮対応エッジ点とする。この仮対応エッジ点の周囲にある近傍エッジ点をピクセル単位で複数求め、該仮対応エッジ点と該複数の近傍エッジ点のサブピクセル座標を求めた上で、これらの平均座標を求めることでも実現できる。この方法であれば、仮対応エッジ点と近接する複数の近傍エッジ点を用いて真の対応エッジ点の位置を求めることができるため、対応エッジ点の座標位置がサブピクセル単位で精度よく得られる。また、対応点探索ラインによらず、仮対応エッジ点の周囲で適宜選択される複数の近傍エッジ点を利用することで、より簡素に対応エッジ点の座標位置を正確に決定できる。   The method for obtaining the coordinates of the corresponding edge point in units of subpixels is not limited to the above, and other methods can be used. For example, the corresponding edge point is searched for in the pixel unit on the corresponding point search line, and the obtained point is set as the temporary corresponding edge point. It is also possible to obtain a plurality of neighboring edge points around this temporary corresponding edge point in units of pixels, obtain the subpixel coordinates of the temporary corresponding edge point and the plurality of neighboring edge points, and then obtain the average coordinates of these. it can. With this method, since the position of the true corresponding edge point can be obtained using a plurality of neighboring edge points close to the temporary corresponding edge point, the coordinate position of the corresponding edge point can be accurately obtained in subpixel units. . In addition, the coordinate position of the corresponding edge point can be determined more simply and accurately by using a plurality of neighboring edge points appropriately selected around the temporary corresponding edge point without using the corresponding point search line.

近傍エッジ点の選択は、仮対応エッジ点の周囲で、同じ輪郭あるいはセグメント上に位置するエッジ点とできる。また、仮対応エッジ点のエッジ角度を用いることで、エッジ角度の似た近傍エッジ点が得られる。好ましくは、仮対応エッジ点のエッジ角度方向を中心として、左右に近接するエッジ点を近傍エッジ点として各々選択する。また、仮対応エッジ点から近傍エッジ点までの距離は、近接していることが望ましく、例えば2ピクセル以内、好適には1ピクセル程度とする。離れすぎると、精度が悪くなるからである。以下、近傍エッジ点を用いて対応エッジ点の座標を求める手順を、図65の模式図及び図66のフローチャートに基づいて説明する。   The selection of neighboring edge points can be edge points located on the same contour or segment around the provisional corresponding edge point. Further, by using the edge angle of the temporary corresponding edge point, a neighboring edge point having a similar edge angle can be obtained. Preferably, edge points close to the left and right with the edge angle direction of the temporary corresponding edge point as the center are respectively selected as neighboring edge points. The distance from the temporary corresponding edge point to the neighboring edge point is preferably close, for example, within 2 pixels, preferably about 1 pixel. This is because if it is too far away, the accuracy will deteriorate. Hereinafter, the procedure for obtaining the coordinates of the corresponding edge point using the neighboring edge point will be described with reference to the schematic diagram of FIG. 65 and the flowchart of FIG.

まずステップS6601で、対応点探索ライン上で仮対応エッジ点をピクセル単位で探索する。図65において、斜線で示す白丸が基点KTであり、基点KTを通る対応点探索ラインTL上で、輪郭を構成するセグメントの対応位置を見つける。探索はピクセル単位、すなわち図65の格子状のグリッドの交点を基準として行われ、ここではピクセル座標で(x、y)=(2,3)が選択される。   First, in step S6601, a temporary corresponding edge point is searched for on a pixel basis on the corresponding point search line. In FIG. 65, a white circle indicated by diagonal lines is the base point KT, and the corresponding position of the segment constituting the contour is found on the corresponding point search line TL passing through the base point KT. The search is performed on the basis of pixel units, that is, the intersection of the grid-like grid in FIG. 65. Here, (x, y) = (2, 3) is selected in pixel coordinates.

次にステップS6602で、ピクセル単位の仮対応エッジ点の周囲で、近傍エッジ点をピクセル単位で選択する。ここでは、仮対応エッジ点のエッジ角度が、対応点探索ラインと重なる方向のベクトルを有しているため、対応点探索ラインを挟んで左右に位置するエッジ点であって、所定値以上のエッジ強度を有するエッジ点を近傍エッジ点として各々選択する。具体的には、右側に位置する第1の近傍エッジ点、左側に位置する第2の近傍エッジ点の2つを選択する。図65の例では、第1の近傍エッジ点のピクセル座標は(2,2)、第2の近傍エッジ点のピクセル座標は(1,3)となる。この際、各近傍エッジ点のエッジ角度は、仮対応エッジ点に近傍するエッジ点であることから類似のエッジ角度を有している可能性が高く、確認しなくともよい。もちろん、エッジ角度の類似性が高いことを確認した上で近傍エッジ点として選択することもできる。なお、近傍の位置に所定値以上のエッジ強度を有するエッジ点が無い場合は、近傍エッジ点を選択しない。この場合は、得られたエッジ点(仮対応エッジ点と他方の近傍エッジ点)のみを利用して、後述の真の対応エッジ点を演算する。また、この例では左右の近傍エッジ点を計2個選択しているが、近傍エッジ点の選択数は1、又は3以上とすることもできる。ただ、精度と演算処理の付加のバランスを考慮すると、2個が好ましい。   In step S6602, neighboring edge points are selected in pixel units around the temporary corresponding edge points in pixel units. Here, since the edge angle of the tentative corresponding edge point has a vector in the direction overlapping the corresponding point search line, the edge points located on the left and right sides of the corresponding point search line, the edge having a predetermined value or more Edge points having strength are selected as neighboring edge points. Specifically, a first neighboring edge point located on the right side and a second neighboring edge point located on the left side are selected. In the example of FIG. 65, the pixel coordinates of the first neighboring edge point are (2, 2), and the pixel coordinates of the second neighboring edge point are (1, 3). At this time, since the edge angle of each neighboring edge point is an edge point near the temporary corresponding edge point, there is a high possibility that it has a similar edge angle, and it is not necessary to confirm it. Of course, it is also possible to select a neighboring edge point after confirming that the edge angle similarity is high. If there is no edge point having an edge strength greater than or equal to a predetermined value at a nearby position, the neighboring edge point is not selected. In this case, a true corresponding edge point to be described later is calculated using only the obtained edge points (the temporary corresponding edge point and the other neighboring edge point). In this example, two left and right neighboring edge points are selected in total, but the number of neighboring edge points can be selected to be 1, or 3 or more. However, considering the balance between accuracy and calculation processing, two is preferable.

さらにステップS6603で、仮対応エッジ点、近傍エッジ点に基づき、真の対応エッジ点の座標を演算する。ここでは、仮対応エッジ点及び近傍エッジ点のサブピクセル位置から、その平均座標として、真の対応エッジ点の座標位置を決定する。図65の例では、仮対応エッジ点のサブピクセル位置である黒丸で示すTP1、第1の近傍エッジ点のサブピクセル位置である斜線の丸TP2、第2の近傍エッジ点のサブピクセル位置であるクロスハッチングの丸TP3の3点の平均から、対応エッジ点を決定する。各エッジ点のサブピクセル位置は、その周囲の画素値から予め演算しておく。サブピクセル位置の演算方法は、既知の方法が利用でき、例えば各エッジ点を中心とする3×3の周囲の画素値から、あるいはエッジ角度の方向にある近接するエッジ点の情報を用いる等して、サブピクセル位置を計算できる。なお各エッジ点のサブピクセル位置を演算するタイミングは特に限定されず、ピクセル単位でのエッジ点が決定した直後でも、平均座標演算の直前でも良い。   In step S6603, the coordinates of the true corresponding edge point are calculated based on the temporary corresponding edge point and the neighboring edge point. Here, the coordinate position of the true corresponding edge point is determined as the average coordinate from the sub-pixel positions of the temporary corresponding edge point and the neighboring edge point. In the example of FIG. 65, TP1 indicated by a black circle which is a subpixel position of the temporary corresponding edge point, a hatched circle TP2 which is a subpixel position of the first neighboring edge point, and a subpixel position of the second neighboring edge point. The corresponding edge point is determined from the average of the three points of the cross-hatched circle TP3. The sub-pixel position of each edge point is calculated in advance from the surrounding pixel values. As a sub-pixel position calculation method, a known method can be used. For example, the pixel value around 3 × 3 centering on each edge point or information on adjacent edge points in the edge angle direction is used. Thus, the subpixel position can be calculated. Note that the timing for calculating the sub-pixel position of each edge point is not particularly limited, and may be immediately after the edge point in units of pixels is determined or immediately before the average coordinate calculation.

以上のようにして、エッジ点3点のサブピクセル座標の平均から対応エッジ点をサブピクセル単位で演算できる。この方法であれば、仮対応エッジ点から容易に3点のエッジ点を抽出できるので、多くのエッジ点を利用した高精度な対応エッジ点が決定できる。例えば基点の数が10個の場合、通常であれば対応エッジ点は10個となるが、上記方法であれば10個の仮対応エッジ点各々に対し、左右の点を付加して30個のエッジ点から対応エッジ点を演算できるので、平均化効果によって精度を向上できる。特に、図29に基づき上述したペア点と仮対応エッジ点の2つから平均座標を求める方法に比べ、仮対応エッジ点に2つの近傍エッジ点を加えた3点で平均座標を求めるため、精度的に有利となる。なお上記では、3点を求めて平均としているが、それぞれ3点を個別に精密位置決め計算に用いることもできる。
(エッジ角度画像からエッジ角度ビット画像への変換)
As described above, the corresponding edge point can be calculated in units of subpixels from the average of the subpixel coordinates of the three edge points. With this method, three edge points can be easily extracted from the provisional corresponding edge points, so that highly accurate corresponding edge points using many edge points can be determined. For example, if the number of base points is 10, the number of corresponding edge points is usually 10; however, in the above method, 30 points are added by adding left and right points to each of the 10 temporary corresponding edge points. Since the corresponding edge point can be calculated from the edge point, the accuracy can be improved by the averaging effect. In particular, compared to the method of obtaining the average coordinates from the pair point and the temporary corresponding edge point described above with reference to FIG. 29, the average coordinates are obtained by three points obtained by adding two neighboring edge points to the temporary corresponding edge point. This is advantageous. In the above description, three points are obtained and averaged, but each of the three points can be individually used for precise positioning calculation.
(Conversion from edge angle image to edge angle bit image)

次に、エッジ角度画像からエッジ角度ビット画像への変換について、図30〜図33に基づいて説明する。コース・トゥ・ファインのアプローチを取る際は、最初の粗サーチに際しての縮小画像の設定は容易でない。画像の縮小によって、サーチに必要な特徴量の情報が失われてしまう場合があるためである。特にエッジベースのサーチにおいては、探索精度向上のためエッジ角度情報が重要となる。そこで本実施の形態では、画像縮小手段61で画像を縮小する際、縮小率を高くしてもエッジ角度情報を維持可能なエッジ角度ビット画像作成手段69、エッジ角度ビット画像縮小手段78を備えることで、十分な特徴量を残しつつデータ量を低減し、処理の高速化を図っている。   Next, conversion from an edge angle image to an edge angle bit image will be described with reference to FIGS. When taking the course-to-fine approach, it is not easy to set a reduced image for the first coarse search. This is because the feature amount information necessary for the search may be lost due to the reduction of the image. Particularly in edge-based search, edge angle information is important for improving search accuracy. Therefore, in the present embodiment, when the image is reduced by the image reduction means 61, the edge angle bit image creation means 69 and the edge angle bit image reduction means 78 that can maintain the edge angle information even if the reduction ratio is increased are provided. Therefore, the data amount is reduced while leaving a sufficient feature amount, and the processing speed is increased.

以下、画像縮小手段61で画像を縮小する際にエッジ角度情報を取得し、これを保持する手順を説明する。まず、エッジ角度画像のエッジ点毎にエッジ強度を調べ、設定されたエッジ強度閾値よりもエッジ強度が大きい場合は、エッジ角度の向きに対応するビットを1にして、それ以外を0に設定する。例えば、図30に示す画素a〜dの4画素(エッジ点)で構成された2x2画素のエッジ角度画像から、エッジ角度ビット画像作成手段69でエッジ角度ビット画像を生成する場合を考える。各画素a〜dは、エッジ強度が閾値よりも大きく、かつそれぞれが矢印で示すエッジ角度を有している。このエッジ角度を、エッジ角度とビットの対応を表したエッジ角度区分に従って0〜7の8種類のエッジ角度ビットで表現する。
(エッジ角度ビット画像)
Hereinafter, a procedure for acquiring edge angle information and holding it when the image reducing means 61 reduces the image will be described. First, the edge strength is examined for each edge point of the edge angle image, and when the edge strength is larger than the set edge strength threshold, the bit corresponding to the direction of the edge angle is set to 1, and the others are set to 0. . For example, let us consider a case where the edge angle bit image generating unit 69 generates an edge angle bit image from a 2 × 2 pixel edge angle image composed of four pixels (edge points) of the pixels a to d shown in FIG. Each of the pixels a to d has an edge strength greater than a threshold value, and each has an edge angle indicated by an arrow. This edge angle is expressed by eight kinds of edge angle bits of 0 to 7 according to the edge angle classification representing the correspondence between the edge angle and the bit.
(Edge angle bit image)

このエッジ角度画像をエッジ角度ビット画像に変換する際、エッジ角度情報はエッジ角度ビットに変換される。エッジ角度ビットとは、エッジ角度方向を所定角度毎に区分けしたコードである。図31に示すエッジ角度区分は、上述した図6(b)と同様のものが利用できる。図31の例では、エッジ角度方向として、濃度勾配方向を45°刻みで8つの区分に区分けしており、各区分にエッジ角度ビットを割り当てている。あるいはこの例に限られず、図31の姿勢から反時計回りに22.5°回転させて、水平又は垂直方向から22.5°ずらして8等分し、真右から時計回りに45°幅でE、SE、S、SW、W、NW、N、NEのエッジ角度区分にラベル分けし、各エッジ角度区分に対してエッジ角度ビットのラベルをそれぞれ0、1、2、3、4、5、6、7と付与してもよい(上述した図52(b))。もちろん、このような区分けは例示であって、例えば16等分や4等分、さらには3等分や5等分に区分けすることもできる。   When this edge angle image is converted into an edge angle bit image, the edge angle information is converted into edge angle bits. The edge angle bit is a code obtained by dividing the edge angle direction into predetermined angles. The edge angle classification shown in FIG. 31 can be the same as that shown in FIG. In the example of FIG. 31, as the edge angle direction, the density gradient direction is divided into 8 sections in 45 ° increments, and an edge angle bit is assigned to each section. Alternatively, it is not limited to this example, it is rotated 22.5 ° counterclockwise from the posture shown in FIG. 31, is divided into 8 equal parts by shifting 22.5 ° from the horizontal or vertical direction, and is 45 ° clockwise from the right. E, SE, S, SW, W, NW, N, NE are labeled with edge angle sections, and edge angle bit labels are assigned to each edge angle section as 0, 1, 2, 3, 4, 5, respectively. 6 and 7 may be given (FIG. 52 (b) described above). Of course, such division is merely an example, and for example, it can be divided into 16 equal parts, 4 equal parts, or even 3 equal parts and 5 equal parts.

以上から、図30に示すエッジ角度画像データを、図31のエッジ角度区分に基づいて2x2のエッジ角度ビット画像に変換すると図32のようになる。このように、a、b、c、dのラベルで区別された4つのエッジ点に対して、各々のエッジ角度に対応したエッジ角度区分にビットが立つ。   From the above, when the edge angle image data shown in FIG. 30 is converted into a 2 × 2 edge angle bit image based on the edge angle section of FIG. 31, the result is as shown in FIG. Thus, for the four edge points distinguished by the labels a, b, c, and d, a bit is set in the edge angle section corresponding to each edge angle.

なお、エッジ角度ビット画像を取得する方法としては、上述したように、あるエッジ強度しきい値以上の部分のみに対して処理を施す手法の他に、ある程度の幅を有するエッジ角度ビット画像を取得するために、エッジ強度画像とエッジ角度画像を用いて細線化処理を施し、その細線化処理を行ったエッジ角度画像を用いて上述したようなエッジ角度ビット画像を取得する方法もある。細線化処理を行う手法の場合、上述した手法に比べ処理時間が比較的かかるものの、サーチ対象物の輪郭部分を限定できるため、ノイズを排除しやすいというメリットがある。
(エッジ角度ビット画像の縮小)
In addition, as a method of acquiring an edge angle bit image, as described above, in addition to a method of processing only a portion having a certain edge strength threshold value or more, an edge angle bit image having a certain width is acquired. In order to achieve this, there is a method in which an edge strength image and an edge angle image are used for thinning, and an edge angle bit image as described above is obtained using the thinned edge angle image. The method of performing the thinning process has a merit that noise can be easily eliminated because the contour portion of the search target can be limited although the processing time is relatively longer than the above-described method.
(Reduce edge angle bit image)

このようにエッジ角度ビット画像で表現した後に、エッジ角度の情報が十分残るようにデータを縮小する。具体的には、エッジ角度ビットラベル毎に各画素のエッジ角度ビットのOR又はビット和をとるように合成する。例えば、縮小する2x2のデータが図32の状態である場合に、これを縦1/2×横1/2(=1/4)に縮小して画素a〜dの4画素をa’の1画素で表現すると、図33のようになる。この図に示すように、画素a〜dのエッジ角度ビットを纏めたエッジ角度ビット縮小画像に、各画素のエッジビットが合成されて、0〜7のエッジ角度ビットラベルの該当欄に、エッジ角度ビットが立つ。このエッジ角度ビット縮小画像にエッジ角度情報を保持する処理は、エッジ角度ビット画像縮小手段78で行われる。これにより、データ量を減少させつつ、エッジ角度情報が縮小後も維持されるので、縮小を繰り返すことで縮小率を高くしてもサーチに十分な特徴を残すことができる。   In this way, after the image is expressed by the edge angle bit image, the data is reduced so that the information on the edge angle remains sufficiently. Specifically, for each edge angle bit label, synthesis is performed so as to take OR or bit sum of edge angle bits of each pixel. For example, if the 2 × 2 data to be reduced is in the state shown in FIG. 32, the data is reduced to vertical ½ × horizontal ½ (= 1/4), and four pixels a to d are set to 1 of a ′. When expressed in pixels, it is as shown in FIG. As shown in this figure, the edge angle bits of the pixels a to d are combined with the edge angle bit reduced image in which the edge angle bits of the pixels a to d are combined. A bit stands. The processing for holding the edge angle information in the edge angle bit reduced image is performed by the edge angle bit image reducing means 78. As a result, the edge angle information is maintained after the reduction while reducing the amount of data, so that sufficient features can be left in the search even if the reduction ratio is increased by repeating the reduction.

以上の圧縮処理によって、従来の問題であった、サーチに十分な特徴量を残すよう縮小率を抑えると、サーチの処理速度が不十分となってしまう状況が改善される。エッジ検出を行う縮小率は、例えば1/2に固定にしても、このエッジ角度ビット画像の縮小処理によって十分高速なサーチが可能になる。エッジ検出を行う縮小率は、登録画像のサイズ、パターンモデルの特徴データの少なくともいずれかに基づいて自動的に決定できる。また、ユーザが独自に設定するようにしてもよい。   With the above compression processing, if the reduction ratio is suppressed so as to leave a sufficient feature amount in the search, which is a conventional problem, the situation where the search processing speed becomes insufficient is improved. Even if the reduction ratio for performing edge detection is fixed at, for example, ½, a sufficiently high-speed search becomes possible by the reduction processing of the edge angle bit image. The reduction ratio for performing edge detection can be automatically determined based on at least one of the size of the registered image and the feature data of the pattern model. Also, the user may set it uniquely.

ここで、エッジ角度ビット画像を縮小してエッジ角度ビット縮小画像を生成する手順の例を、図34〜図37に基づいて説明する。エッジ角度ビット縮小画像を作成する際に、注意すべき点として切り出し問題がある。つまり、単純にサブサンプリング処理で縮小処理をしただけでは、その処理の開始座標やサーチ対象の入力画像における位置の微妙なずれにより、後述するスコアの計算に大きな変動が生じる可能性がある。この切り出し問題を回避する縮小の方法として、以下の2つの方法が考えられる。   Here, an example of a procedure for generating an edge angle bit reduced image by reducing the edge angle bit image will be described with reference to FIGS. 34 to 37. When creating an edge angle bit reduced image, there is a clipping problem as a point to be noted. That is, if the reduction process is simply performed by the sub-sampling process, there is a possibility that the score calculation described later may vary greatly due to a slight shift in the start coordinates of the process and the position in the input image to be searched. The following two methods can be considered as a reduction method for avoiding this clipping problem.

1つ目の方法は、縮小処理を行った後に膨張を行う方法である。この方法を図34、図35を用いて、1/n(n=2)に縮小する処理の例で説明する。まず、図34のそれぞれの四角の領域に含まれるnxnのエッジ角度ビットデータでOR演算を行う。その結果を先のそれぞれのnxnの領域のエッジ角度ビットデータを代表するエッジ角度ビットデータとして置き換える。この処理を行うことで、元の画像の1/nに縮小される。   The first method is a method of performing expansion after performing reduction processing. This method will be described with reference to FIGS. 34 and 35, with an example of a process of reducing to 1 / n (n = 2). First, an OR operation is performed on nxn edge angle bit data included in each square area of FIG. The result is replaced with edge angle bit data representing the edge angle bit data of each of the previous nxn regions. By performing this process, the image is reduced to 1 / n of the original image.

このままでは、切り出し問題が発生することがあるので、この縮小画像に対して膨張を行う。ここでは、図35のように縮小後の画像のそれぞれの四角いmxm(この例ではm=2)の領域のエッジ角度ビットデータに対してOR演算を行って、その結果をそれぞれのそのmxmの領域を代表するエッジ角度ビットデータとして置き換える。この処理では画像の縮小は生じない。この例ではm=2であるが、サーチ対象の形や大きさの予想される変動に応じて、mを大きくすることも考えられる。   If this is the case, a clipping problem may occur. Therefore, the reduced image is expanded. Here, as shown in FIG. 35, an OR operation is performed on the edge angle bit data of each square mxm (m = 2 in this example) of the reduced image, and the result is obtained for each mxm area. Is replaced with edge angle bit data representative of. This process does not reduce the image. In this example, m = 2, but it is possible to increase m in accordance with the expected variation in the shape and size of the search target.

もう一つの方法は、上記の縮小処理で行うOR演算の範囲を広めに取り縮小し、その後の膨張を行わない方法である。この方法を図36を用いて1/n(n=2)に縮小する処理の場合で説明する。図36のそれぞれの四角の領域に含まれる(n+m)x(n+m)(n=1,m=1)のエッジ角度ビットデータでOR演算を行う。その結果を先の領域の中心付近のnxnエッジ角度ビットデータを代表するエッジ角度ビットデータとして置き換える。この処理を行うことで、元の画像の1/nに縮小される。図37は2番目の方法でn=2、m=1の場合を示してる。   The other method is a method in which the range of the OR operation performed in the reduction process is widened and reduced, and the subsequent expansion is not performed. This method will be described with reference to FIG. 36 in the case of processing to reduce to 1 / n (n = 2). An OR operation is performed on edge angle bit data of (n + m) x (n + m) (n = 1, m = 1) included in each square area in FIG. The result is replaced with edge angle bit data representing nxn edge angle bit data near the center of the previous region. By performing this process, the image is reduced to 1 / n of the original image. FIG. 37 shows a case where n = 2 and m = 1 in the second method.

ここで図36に示すように、膨張なしで通常の2x2の縮小を繰り返す場合は、切り出し位置の問題が発生することがある。すなわち、サーチ領域の左上の座標が1ピクセル変化することで、縮小する時の画素のセットが変化して、登録画像とサーチ対象画像が同一画像にもかかわらず、スコア計算が低下してしまうことが起こり得る。これに対し、膨張を行うとこのような問題が発生しないという利点が得られる。
(角度境界におけるエッジ角度ビット変換処理)
Here, as shown in FIG. 36, when normal 2 × 2 reduction is repeated without expansion, a problem of the cutout position may occur. That is, when the upper left coordinate of the search area changes by one pixel, the set of pixels at the time of reduction changes, and the score calculation decreases even though the registered image and the search target image are the same image. Can happen. On the other hand, when the expansion is performed, there is an advantage that such a problem does not occur.
(Edge angle bit conversion processing at angle boundary)

さらに、エッジ角度ビット変換に際して、エッジ角度が角度境界付近である場合のエッジ角度ビットを、境界を構成する2つの角度領域に対応するビットを2つたてることで、安定性を向上させる効果が期待できる。例えば、上述した図30に示す画素a〜dの4画素で構成されたエッジ角度画像を変換した図31のエッジ角度ビット画像において、エッジ角度がEとSEの境界付近にある場合は、ノイズによってEの区分のエッジ角度ビットが立ったり、SEのエッジ角度ビットが立つことがある。このようなぶれが原因となり、本質的でない影響が一致度の計算において生じることが予想される。そこで、エッジ角度が境界にある場合は、境界を区画する両方のエッジ角度区分のエッジ角度ビットを1に設定する。これにより、ノイズによるぶれを無くし、安定した一致度の計算結果が期待できる。具体的には、エッジ角度区分の境界を中心とする所定幅内(例えば5.625°)にエッジ角度が位置する場合に、境界に面した両方のエッジ角度ビットを1とする。   Furthermore, in the edge angle bit conversion, it is expected that the edge angle bit when the edge angle is in the vicinity of the angle boundary will have two bits corresponding to the two angle areas constituting the boundary, thereby improving the stability. it can. For example, in the edge angle bit image of FIG. 31 obtained by converting the edge angle image composed of the four pixels a to d shown in FIG. 30 described above, if the edge angle is near the boundary between E and SE, The edge angle bit of the E section may be set or the edge angle bit of the SE may be set. Due to such blurring, it is expected that non-essential effects will occur in the coincidence calculation. Therefore, when the edge angle is at the boundary, the edge angle bits of both edge angle sections that divide the boundary are set to 1. This eliminates blurring due to noise, and a stable calculation result of coincidence can be expected. Specifically, when the edge angle is located within a predetermined width (for example, 5.625 °) centered on the boundary of the edge angle section, both edge angle bits facing the boundary are set to 1.

なお、この角度境界におけるエッジ角度ビット変換処理は、サーチ対象のエッジ角度ビット変換処理についてのみ行い、パターンモデルのエッジ角度ビット変換では行わない。パターンのエッジ角度の変換に対しても同様の処理を行うと、各エッジ点に対して不自然なウェイトの変化が生じてしまうためである。
(エッジ角度ビット隣接処理)
Note that the edge angle bit conversion processing at the angle boundary is performed only for the edge angle bit conversion processing to be searched, and is not performed in the edge angle bit conversion of the pattern model. This is because if the same processing is performed for the conversion of the edge angle of the pattern, an unnatural weight change occurs for each edge point.
(Edge angle bit adjacent processing)

また、上記の例ではエッジ角度画像からエッジ角度ビット画像への変換においてエッジ角度ビットを1のみ立てているが、該当するエッジ角度区分を中心として、隣接したエッジ角度区分についてもエッジ角度ビットを立てるようなエッジ角度ビット隣接処理を行うこともできる。例えば、該当するエッジ角度区分及び左右に隣接するエッジ角度区分に、それぞれ1ビットのエッジ角度ビットを付与する。または該当するエッジ角度区分に2ビット、左右に隣接するエッジ角度区分にそれぞれ1ビットのエッジ角度ビットを付与するよう、重み付けを行うこともできる。さらに、パターンモデルのエッジ角度とサーチ対象画像のエッジ角度が十分一致しているときは3、少しずれている場合はエッジ角度ビットを1、ずれが大きい場合は0というように、ファジー的な効果を付して重み付けすることもできる。   In the above example, only one edge angle bit is set in the conversion from the edge angle image to the edge angle bit image. However, the edge angle bit is also set for the adjacent edge angle sections around the corresponding edge angle section. Such edge angle bit adjacency processing can also be performed. For example, a 1-bit edge angle bit is assigned to the corresponding edge angle section and the edge angle sections adjacent to the left and right. Alternatively, weighting may be performed so that 2 bits are assigned to the corresponding edge angle section, and 1 edge angle bit is assigned to the edge angle sections adjacent to the left and right. Further, the fuzzy effect is such that the edge angle of the pattern model and the edge angle of the image to be searched are sufficiently coincident, such that the edge angle bit is 1 when the edge angle is slightly shifted, and 0 when the edge angle is large. Can also be weighted.

このようなエッジ角度ビット隣接処理に際しても、上述の通り境界付近にエッジ角度が存在する場合はノイズによるぶれの影響が考えられるため、サーチ対象画像のエッジ角度ビットがエッジ角度区分の境界にある場合は、その境界を中心として隣接するエッジ角度区分に各々2ビットを立てることにより、ぶれの影響を回避できる。   Even when such edge angle bit adjacency processing is performed, if the edge angle exists near the boundary as described above, the influence of blurring due to noise is considered, so the edge angle bit of the search target image is at the boundary of the edge angle section Can avoid the influence of blurring by setting 2 bits for each edge angle segment adjacent to the boundary.

なお、上記の例ではエッジ角度の角度分解能として8ビットを用いたが、これに限らず16ビットや32ビットのように、さらに角度分解能の高い変換を行うこともできる。
(並列化)
In the above example, 8 bits are used as the angular resolution of the edge angle. However, the present invention is not limited to this, and conversion with higher angular resolution can be performed, such as 16 bits or 32 bits.
(Parallelization)

また、パターンモデルのエッジ角度をエッジ角度ビットに変換した値を並列化することでサーチ処理の高速化を図ることができる。パターンモデルのエッジデータを並列化した例を図38〜図39に示す。図38は、並列前のパターンモデルの概念図、図39は並列後のパターンモデルの概念図である。これらの図に示すように、パターンモデル上の1つの基点のエッジ角度ビットデータを複数、横に配置することで並列化が図られ、処理の高速化が可能となる。ここで演算部を構成する一般的なCPUは、4バイトから8バイトの並列処理が可能で、4〜8倍速処理が可能となる。このように並列化処理により粗サーチを高速化できる。
(エッジ角度ビット縮小画像を用いた粗サーチ)
Further, by parallelizing values obtained by converting the edge angle of the pattern model into edge angle bits, the search process can be speeded up. Examples of parallelizing the edge data of the pattern model are shown in FIGS. FIG. 38 is a conceptual diagram of the pattern model before parallel processing, and FIG. 39 is a conceptual diagram of the pattern model after parallel processing. As shown in these figures, a plurality of edge angle bit data of one base point on the pattern model are arranged side by side to achieve parallelization, and the processing speed can be increased. Here, a general CPU constituting the calculation unit can perform parallel processing from 4 bytes to 8 bytes, and can perform 4 to 8 times speed processing. As described above, the parallel search can speed up the coarse search.
(Coarse search using edge-angle bit reduced images)

以下、このような縮小データを用いて粗サーチを行う手順を説明する。ここでは、縮小を行って1/8のエッジ角度ビット縮小画像が得られたとする。このエッジ角度ビット縮小画像は、例えば等倍画像のサイズが640x480であったとして、エッジ抽出を行ったのが1/2の320×240であったとすると、1/8の圧縮処理を行ったエッジ角度ビット画像のサイズは40×30となる。このエッジ角度ビット縮小画像に対するサーチは、以下のようにして行われる。まず、サーチ処理前のパターンモデル登録時に、図40のようなデータを作成する。この図に示すように、パターンモデルは位置と角度情報を持つエッジデータの配列として保持されている。図40(a)パターンモデルの一例、図40(b)はエッジデータのパターンモデルの一例を、それぞれ示している。図40(b)においてx,yはエッジの座標位置であり、θはエッジの角度である。このパターンモデルは、図40(b)に示すように座標位置と角度情報を持つエッジデータの配列として保持されている。   Hereinafter, a procedure for performing a rough search using such reduced data will be described. Here, it is assumed that an edge angle bit reduced image of 1/8 is obtained by performing reduction. For example, if the edge-extracted bit-reduced image has a size of 640 × 480 and the edge extraction is 320 × 240, which is 1/2, the edge subjected to compression processing of 1/8 The size of the angle bit image is 40 × 30. The search for the edge angle bit reduced image is performed as follows. First, at the time of pattern model registration before search processing, data as shown in FIG. 40 is created. As shown in this figure, the pattern model is held as an array of edge data having position and angle information. FIG. 40A shows an example of a pattern model, and FIG. 40B shows an example of a pattern model of edge data. In FIG. 40B, x and y are edge coordinate positions, and θ is an edge angle. This pattern model is held as an array of edge data having coordinate position and angle information as shown in FIG.

上記のデータとサーチ対象画像のエッジ角度ビット画像を使って、パターンの位置及び姿勢を繰り返し変化させて、パターンの各位置及び姿勢に対して一致度を順次計算していく。この計算は以下のようにして行われる。まず、一致度を調べたい位置及び姿勢を表すアフィン変換値を決定する。このアフィン変換値は、パターンモデルの縮尺とサーチ対象画像の縮尺も考慮して作成される。このアフィン変換値を使って、エッジの位置xi,yiとエッジの角度θiを変換する。ここで変換後のエッジの位置をXi,Yiとし、変換後のエッジ角度をφiとする(iはエッジのindexを表す添え字)。この一致度は、エッジ角度をφiをサーチ対象画像と同じ方法でビットデータに変換して計算する。一致度Sの計算式は、次式で表される。 Using the above data and the edge angle bit image of the search target image, the position and orientation of the pattern are repeatedly changed, and the degree of coincidence is sequentially calculated for each position and orientation of the pattern. This calculation is performed as follows. First, an affine transformation value representing a position and orientation for which the degree of coincidence is to be examined is determined. This affine transformation value is created in consideration of the scale of the pattern model and the scale of the search target image. Using the affine transformation values, the edge positions x i and y i and the edge angle θ i are transformed. Here, the converted edge positions are X i and Y i , and the converted edge angle is φ i (i is a subscript indicating the index of the edge). The degree of coincidence is calculated by converting the edge angle φ i into bit data in the same manner as the search target image. The equation for calculating the coincidence S is expressed by the following equation.

このようにして、精密位置決め手段76がサーチ対象画像及びパターンモデルに含まれる各エッジ点のエッジ強度及びエッジ角度を各々比較して、一致度を計算する。上記の一致度Sが高いことは、その位置及び姿勢にパターンモデルが存在する確率を高いことを示す。このようにして、サーチを行うのに十分な特徴量を残すように決定した縮小率で、そのままサーチすると十分な処理速度にならないような状況が改善される。また、エッジ抽出を行う縮小率を、例えば1/2固定にしても十分高速なサーチが可能になるので、一般的に複雑であるエッジ抽出を行う縮小率の決定を行わなくても良いという利点も得られる。
(サーチ対象画像の縮小工程)
In this way, the precision positioning means 76 compares the edge strength and edge angle of each edge point included in the search target image and the pattern model, and calculates the degree of coincidence. A high degree of coincidence S indicates a high probability that a pattern model exists at that position and orientation. In this way, the situation where the processing rate is not sufficient if the search is performed as it is with the reduction ratio determined so as to leave a sufficient feature amount for performing the search is improved. In addition, even if the reduction ratio for performing edge extraction is fixed to 1/2, for example, a sufficiently high-speed search becomes possible, so that it is not necessary to determine a reduction ratio for performing edge extraction, which is generally complicated. Can also be obtained.
(Reduction process of search target image)

このような縮小処理で、縮小率が高くてもサーチに十分な特徴を残すことができるようになる。サーチ対象画像に対してソーベルフィルタ等のエッジ抽出処理を行う際、オリジナルサイズの等倍画像のままではノイズも多く、粗サーチのための特徴を抽出するのに不適切となる虞がある。そこで本実施の形態では、先に縮小画像を作成した上で、エッジ抽出処理を行う。これにより、画像データを縮小することによって平均化効果も得られ、ノイズ低減にも寄与する。ここでは、最初の縮小率(第1縮小率)としてオリジナルサイズの1/2に設定している。このサイズであれば、サーチに必要な特徴を十分に残しつつ、平均化によるノイズ低減効果も得られる。
(エッジ方向の極性)
With such reduction processing, sufficient features can be left in the search even if the reduction ratio is high. When edge extraction processing such as a Sobel filter is performed on a search target image, the original size of the same size image has a lot of noise, which may be inappropriate for extracting a feature for a coarse search. Therefore, in this embodiment, edge extraction processing is performed after a reduced image is created first. Thereby, an averaging effect can be obtained by reducing the image data, which contributes to noise reduction. Here, the initial reduction ratio (first reduction ratio) is set to ½ of the original size. With this size, it is possible to obtain a noise reduction effect by averaging while leaving sufficient features necessary for the search.
(Polarity in the edge direction)

さらにこの方法では、エッジ方向の極性の有無を設定できる。このため極性に応じて、エッジ角度に対する処理方法を変化させることができる。従来はこのような極性の概念は考慮されておらず、エッジの方向(角度)の概念のみであったため、例えば0〜180°として扱われる結果、向きの異なるベクトルを区別できず誤サーチが生じる問題があった。これに対して上述の方法では、極性の概念を考慮することで0〜360°をカバーできるようになり、一層正確なサーチが実現される。   Furthermore, in this method, the presence or absence of polarity in the edge direction can be set. Therefore, the processing method for the edge angle can be changed according to the polarity. Conventionally, such a concept of polarity is not considered, and only the concept of the direction (angle) of the edge is used. Therefore, for example, as a result of being treated as 0 to 180 °, vectors having different orientations cannot be distinguished and erroneous search occurs. There was a problem. On the other hand, the above-described method can cover 0 to 360 ° by considering the concept of polarity, and a more accurate search is realized.

極性無視の場合、サーチ対象側のエッジ角度ビット変換において、逆向きのビットも同時に立てるという処理で簡単に実現できる。もしくは、向きではなく、エッジ方向に対して均等にビットを割り付けることもできる。例えば粗サーチにおいて、エッジ分解能である8ビットのエッジ角度ビットを、エッジ方向に対して均等に割り付けることにより、エッジの極性よりもエッジの方向の分解能の方を重視したサーチ結果を得ることができる。
(回転角度に関する精密位置決め)
In the case of ignoring the polarity, it can be easily realized by the process of simultaneously setting the reverse direction bit in the edge angle bit conversion on the search target side. Alternatively, it is possible to assign bits evenly with respect to the edge direction instead of the direction. For example, in coarse search, by assigning 8-bit edge angle bits, which are edge resolutions, equally to the edge direction, it is possible to obtain a search result in which the edge direction resolution is more important than the edge polarity. .
(Precise positioning for rotation angle)

次に、点と円弧の距離をエラー関数とした最小二乗法で円弧セグメントの精密位置決めを行う手順について、図41〜図45に基づいて説明する。ここでは、パターンモデルPMとして図41に太線で示すような、一部を切り欠いた円形を円弧セグメントと線分セグメントで表現したパターンで、サーチ対象画像に対して精密位置決めを行う場合を考える。図41のパターンモデルPMは、1の円弧セグメントと1の線分セグメントで構成されており、このようなワーク形状は、オリエンテーションフラット面を設けたウェハ等で一般的に用いられている。このパターンモデルPMでサーチ対象画像に対して粗サーチを行い、パターンモデルPMを検出候補の位置に配置した、ある程度の位置決めがなされた状態を図42に示す。ここでは、サーチ対象画像のエッジ点に対してパターンモデルPMがほぼ重ねられており、切り欠き部分の線分セグメントのみが不一致となった状態を考える。なおこれらの図において、太線はパターンモデルPMを、細線はサーチ対象画像のエッジ点(入力エッジ点IE)を、それぞれ示す。さらに入力エッジ点IEの注目点を破線矢印で示すと共に、この入力エッジ点の接線SLを破線で示す。なお実際の接線SLはもっと短く、細線のパターンモデルPMに重なる状態で存在しているが、これらの図においては説明の便宜上長く表示している。   Next, a procedure for precise positioning of the arc segment by the least square method using the distance between the point and the arc as an error function will be described with reference to FIGS. Here, a case is considered in which precise positioning is performed with respect to a search target image using a pattern in which a circular shape with a part cut away is represented by an arc segment and a line segment as shown by a thick line in FIG. 41 as the pattern model PM. The pattern model PM shown in FIG. 41 is composed of one arc segment and one line segment, and such a workpiece shape is generally used for a wafer or the like provided with an orientation flat surface. FIG. 42 shows a state in which a rough search is performed on the search target image with the pattern model PM and the pattern model PM is arranged at the position of the detection candidate and is positioned to some extent. Here, a state is considered in which the pattern model PM is almost superimposed on the edge point of the search target image, and only the line segment of the cutout portion is inconsistent. In these drawings, the thick line indicates the pattern model PM, and the thin line indicates the edge point (input edge point IE) of the search target image. Further, the attention point of the input edge point IE is indicated by a broken line arrow, and the tangent SL of the input edge point is indicated by a broken line. The actual tangent line SL is shorter and exists in a state where it overlaps the fine line pattern model PM. However, in these drawings, the tangent line SL is displayed longer for convenience of explanation.

この状態から精密位置決めを行うと、線分セグメント部分が一致するよう相対的に回転すること、すなわち図42において矢印で示す位置の入力エッジ点に対し、最小二乗法を適用しても、回転によって必ずしもエラーが大きくならないことが期待される。ここでは、円弧セグメントに対しては点と直線でなく、点と円弧の距離をエラー関数とした最小二乗法を適用する。具体的には、円弧状のパターンモデルの中心と、サーチ対象画像のエッジ点を円弧とする半径との差の絶対値をエラー値として、最小二乗法を適用する。すなわち、最小二乗法で用いる円弧セグメントのエラー関数を、円弧セグメントを中心とする理想半径と、円弧の中心と対応エッジ点の距離の差とする。この円弧セグメントのエラー関数は、次式で表現できる。   When precise positioning is performed from this state, even if the least square method is applied to the input edge point at the position indicated by the arrow in FIG. It is expected that the error will not necessarily grow. Here, the least square method using the distance between the point and the arc as an error function is applied to the arc segment instead of the point and the line. Specifically, the least square method is applied with the absolute value of the difference between the center of the arc-shaped pattern model and the radius having the edge point of the search target image as an arc as an error value. That is, the error function of the arc segment used in the least square method is the difference between the ideal radius centered on the arc segment and the distance between the center of the arc and the corresponding edge point. The error function of this arc segment can be expressed by the following equation.

この結果、図43に示すように矢印の入力エッジ点と円弧モデルとの距離は、あまり変化しない。すなわち、図43のようなパターンモデルPMの反時計方向への回転も十分解として生じることを意味する。これにより、円弧状のワークにおいて少ない回数の精密位置決めで高い角度の精度の達成が期待できる。なお図42、図43の例では、点線で示す円弧の領域は実際にはパターンモデルの細線と重なっているが、説明の便宜上、これらの図においてはパターンモデルと少しずらして表示している。   As a result, as shown in FIG. 43, the distance between the input edge point indicated by the arrow and the arc model does not change much. That is, it means that the counterclockwise rotation of the pattern model PM as shown in FIG. 43 occurs as a sufficient solution. As a result, high angle accuracy can be expected with a small number of precise positionings in an arc-shaped workpiece. 42 and 43, the arc region indicated by the dotted line actually overlaps the fine line of the pattern model, but for the sake of convenience of explanation, these figures are displayed with a slight shift from the pattern model.

一方で従来の最小二乗法では、入力エッジ点と接線の距離をエラー関数とし、この距離が小さくなるようにパターンモデルを移動させていた。このため、パターンモデルが正しい回転方向に回転せずに、却って位置ずれが大きくなることも考えられる。例えば、図47の状態から図48に示すようにパターンモデルPMを反時計回りに回転させることが期待できない場合があった。すなわち、図47において矢印で示す位置にある入力エッジ点と接線の関係から、図48に示すようにパターンモデルPMを回転させると、入力エッジ点が接線から離れる方向となるため、このような回転が解として生じ得ない結果となっていた。これに対し本実施の形態では、上述の通り点と円弧の距離をエラー関数とした最小二乗法を採用しているため、円状のワークにおいて少ない回数の精密位置決めで高い角度の精度の達成が期待できる。
(対応エッジ点生成処理)
On the other hand, in the conventional least square method, the distance between the input edge point and the tangent line is used as an error function, and the pattern model is moved so that this distance becomes small. For this reason, the pattern model may not be rotated in the correct rotation direction, but the positional deviation may be increased. For example, there is a case where it cannot be expected to rotate the pattern model PM counterclockwise as shown in FIG. 48 from the state of FIG. That is, when the pattern model PM is rotated as shown in FIG. 48 from the relationship between the input edge point at the position indicated by the arrow in FIG. 47 and the tangent, the input edge point is in a direction away from the tangent. It was a result that could not occur as a solution. In contrast, in the present embodiment, since the least square method using the distance between the point and the arc as an error function is employed as described above, high angle accuracy can be achieved with a small number of precise positionings on a circular workpiece. I can expect.
(Corresponding edge point generation processing)

さらに図41のパターンモデルPMに対して対応点探索ライン生成処理を行った例を、図44に示す。このように、基点は円弧セグメント、線分セグメント上の中心に一つ割り当てられ、その点から一定間隔で端縁付近を除いて設定され、さらに各基点上でセグメントの法線方向で、内側から外側に向かって対応点探索ラインが設定される。このパターンモデルで、サーチ対象画像に対して粗サーチを行い、決定された検出候補の位置及び姿勢にパターンモデルPMを重ねた状態を、図45に示す。   Further, FIG. 44 shows an example in which the corresponding point search line generation processing is performed on the pattern model PM of FIG. In this way, one base point is assigned to the center on the arc segment and line segment, and is set by excluding the vicinity of the edge at regular intervals from that point, and from the inside in the normal direction of the segment on each base point. A corresponding point search line is set outward. FIG. 45 shows a state in which a rough search is performed on the search target image with this pattern model, and the pattern model PM is superimposed on the position and orientation of the determined detection candidate.

この状態で、各対応点探索ラインに沿ってエッジ抽出を行い、各セグメントに対する対応エッジ点を探索する。対応エッジ点は、各対応点探索ラインとサーチ対象画像のエッジ点(細線)とが交差する点となるので、例えば図45において×で示す点が対応エッジ点となる。図45の例では、粗サーチの結果得られた検出候補の位置に配置されるパターンモデルと入力エッジ点とで円弧部分がほぼ重なっているため、円弧セグメントの対応エッジ点はほぼ円弧セグメントに一致している。このため、円弧状のワークを相対的に回転させても、円弧のエラー関数は大きくならないので、この自由度は回転を阻害しない。したがって、回転移動を解とすることが期待できる。   In this state, edge extraction is performed along each corresponding point search line to search for corresponding edge points for each segment. Since the corresponding edge point is a point where each corresponding point search line and the edge point (thin line) of the search target image intersect, for example, the point indicated by x in FIG. 45 is the corresponding edge point. In the example of FIG. 45, since the arc part is almost overlapped with the pattern model arranged at the position of the detection candidate obtained as a result of the coarse search and the input edge point, the corresponding edge point of the arc segment is almost identical to the arc segment. I'm doing it. For this reason, even if the arc-shaped workpiece is relatively rotated, the error function of the arc does not increase, so this degree of freedom does not hinder the rotation. Therefore, it can be expected that rotational movement is the solution.

一方、線分セグメントの対応エッジ点の多くは、線分セグメント上にない。線分セグメントに対する最小二乗法では、点と直線の距離がエラー関数になっているので、全体的に反時計周りに回転することでそのエラー関数の値が減少するであろうことが推測される。これらのことから、最小二乗法で得られる解として、反時計周りの回転が得られることが十分期待できることが判る。
(対応エッジ点候補が複数ある場合の重み付け処理)
On the other hand, many of the corresponding edge points of the line segment are not on the line segment. In the least-squares method for line segments, the distance between the point and the line is an error function, so it is speculated that rotating the counterclockwise as a whole will reduce the value of the error function. . From these facts, it can be seen that the solution obtained by the method of least squares can sufficiently be expected to obtain counterclockwise rotation.
(Weighting process when there are multiple corresponding edge point candidates)

さらにまた、基点に対応する対応エッジ点候補が複数ある場合に、各対応エッジ点に対して重み付けを行うことで、対応エッジ点の決定が曖昧であった場合の精密位置決めの精度を向上させることができる。この様子を図49に基づいて説明する。ここではパターンモデルとして図49(a)に太線で示すような、長方形に2本の縦線が入ったパターンモデルPMを用いて、精密位置決めを行う例を考える。この場合に、粗サーチで図49(b)に細線で示すようなセグメントSG1、SG2が得られたとする。ここでは、図49(b)においてワークの左右に位置する2本のセグメントSG1、SG2のみを考える。これらセグメントの対応点探索ラインTTL1、TTL2は、上述の通り基点KT1、KT2を通る各セグメントSG1、SG2の法線方向(エッジの方向)に設定される。各セグメントSG1、SG2に対して、基点KT1、KT2のそれぞれに対応点探索ラインTTL1、TTL2を破線で示すように設定すると、各対応点探索ラインTTL1、TTL2上に位置する対応エッジ点候補が得られる。ここで、右側のセグメントSG1に対しては対応エッジ点候補TTAが1個のみであるが、左側のセグメントSG2に対しては対応エッジ点候補TTB、TTCが2つある。対応エッジ点の決定は、対応エッジ点候補の内で基点との距離が最も近いものを選択するため、TTA、TTBがそれぞれ対応エッジ点となる。ここで、図49(b)の例では左側のセグメントSG2に対しては対応エッジ点候補が複数あるため、曖昧さを含んでいると言える。この場合に、いずれの方向にセグメントすなわちパターンモデルを移動させるかが問題となる。特に図49(b)の例ではTTBが対応エッジ点として選択される結果、セグメント全体すなわちパターンモデルが右に移動することとなれば、所望する精密位置決めとは逆方向に移動されることとなり、好ましくない。 Furthermore, when there are a plurality of corresponding edge point candidates corresponding to the base point, each corresponding edge point is weighted to improve the precision of precision positioning when the determination of the corresponding edge point is ambiguous. Can do. This will be described with reference to FIG. Here, consider an example in which precise positioning is performed using a pattern model PM in which two vertical lines are included in a rectangle as shown by a thick line in FIG. In this case, it is assumed that segments SG 1 and SG 2 as shown by thin lines in FIG. 49B are obtained by the coarse search. Here, only two segments SG 1 and SG 2 positioned on the left and right sides of the workpiece in FIG. 49B are considered. The corresponding point search lines TTL 1 and TTL 2 of these segments are set in the normal direction (edge direction) of the segments SG 1 and SG 2 passing through the base points KT 1 and KT 2 as described above. For each segment SG 1, SG 2, when the reference point KT 1, KT corresponding point search line TTL 1 in each of the 2, TTL 2 set as indicated by broken lines, on each corresponding point search lines TTL 1, TTL 2 A corresponding corresponding edge point candidate is obtained. Here, there is only one corresponding edge point candidate TT A for the right segment SG 1 , but there are two corresponding edge point candidates TT B and TT C for the left segment SG 2 . The determination of the corresponding edge point selects the closest corresponding edge point among the corresponding edge point candidates, so that TT A and TT B are the corresponding edge points. Here, it can be said that in the example of FIG. 49 (b) because for the left segment SG 2 there are a plurality of corresponding edge point candidates includes ambiguity. In this case, there is a problem in which direction the segment, that is, the pattern model is moved. In particular, in the example of FIG. 49B, if TT B is selected as the corresponding edge point, if the entire segment, that is, the pattern model, moves to the right, it moves in the direction opposite to the desired precision positioning. It is not preferable.

そこで、最小二乗法の計算を行う際に、各対応エッジ点に対して重み付けを行う。図49(b)の例では、右側のセグメントSG1に対しては基点KT1の対応点探索ラインTTL1上に存在する対応エッジ点TTAが1個のみであるため、重み「1.0」を与える。一方、左側のセグメントSG2に関しては、基点KT2の対応点探索ラインTTL2上に、基点KT2を挟んで左右に対応エッジ点候補TTB、TTCが位置している。そこで、基点KT2に関する対応エッジ点TTBの重み付けを、基点KT2から各対応エッジ点候補までの距離に応じて設定する。重み付けを決定する式の例としては、図49(d)に示すように、第1の対応エッジ点候補と基点との距離をd1、第2の対応エッジ点候補と基点との距離をd2(d1≦d2)とするとき、 Therefore, when the least square method is calculated, each corresponding edge point is weighted. Since In the example of FIG. 49 (b), the corresponding edge point TT A is only one existing on the corresponding point search line TTL 1 base point KT 1 for the right segment SG 1, the weight "1.0 "give. On the other hand, with respect to the left side of the segment SG 2, on the corresponding point search line TTL 2 base point KT 2, the corresponding edge point candidates TT B on the left and right sides of the base point KT 2, TT C is located. Therefore, the weighting of the corresponding edge point TT B about the base point KT 2, set according to the distance from the base point KT 2 to each corresponding edge point candidates. As an example of an expression for determining the weight, as shown in FIG. 49 (d), the distance between the first corresponding edge point candidate and the base point is d 1 , and the distance between the second corresponding edge point candidate and the base point is d. 2 (d 1 ≦ d 2 )

重みW=1−α(d1/d2
ただし0<α<1
とする。上式において、対応エッジ点候補が1個の場合はW=1となリ、複数の場合は小さくなる。このように、対応エッジ点候補が1個の場合、すなわち曖昧さが無いと考えられる場合の重み付けを大きくすることで、より確からしい方向への移動が期待できる。また対応エッジ点候補が2個以上あった場合は、最も近接している対応エッジ点候補を対応エッジ点としつつ、対応エッジ点と対応エッジ点候補の位置関係が、理想点を挟む場合は上記の式W=1−α(短い方の距離)/(長い方の距離)となり、また理想点を挟んでいない場合はW=1となる。このような重み付け作業及び重み付け後のセグメント移動方向の決定は、図1の演算手段6に含まれる精密位置決め手段76を重み付け演算手段として行われる。
(スコア計算)
Weight W = 1−α (d 1 / d 2 )
However, 0 <α <1
And In the above formula, W = 1 when there is one corresponding edge point candidate, and it becomes smaller when there are a plurality of candidates. In this way, when the number of corresponding edge point candidates is one, that is, when weighting is considered to be unambiguous, movement in a more probable direction can be expected. When there are two or more corresponding edge point candidates, the closest corresponding edge point candidate is set as the corresponding edge point, and the positional relationship between the corresponding edge point and the corresponding edge point candidate sandwiches the ideal point. Equation W = 1−α (shorter distance) / (longer distance), and W = 1 when no ideal point is sandwiched. Such weighting work and determination of the segment movement direction after weighting are performed using the precision positioning means 76 included in the computing means 6 of FIG. 1 as the weighting computing means.
(Score calculation)

また、最小二乗法を用いて精密位置決め計算を行う際に、類似度を表すスコアも同時に計算することができる。すなわち、対応点探索ラインに対し最小二乗法を適用し、最終の最小二乗法処理での対応点の数と基点の数の比でスコアを計算する。簡易的には、対応点の数を基点の数で除算した値を類似度と考えて、以下の式でスコアを求めることができる。   In addition, when performing precise positioning calculation using the least square method, a score representing similarity can be calculated at the same time. That is, the least square method is applied to the corresponding point search line, and the score is calculated by the ratio of the number of corresponding points and the number of base points in the final least square method. In simple terms, a score obtained by dividing the number of corresponding points by the number of base points is regarded as a similarity, and the score can be obtained by the following equation.

S:スコア
n:対応点の数
m:基点の数
S: score n: number of corresponding points m: number of base points

また、基点の理想エッジ角度と対応エッジ点のエッジ角度の類似度もスコアに反映させることもできる。この場合は、最終の最小二乗法処理での対応エッジ点のエッジ角度と、これに対応する基点のエッジ角度との差から得られる重みの合計と、基点の数との比をスコアとして計算する。具体的には、以下の式で演算できる。   Also, the similarity between the ideal edge angle of the base point and the edge angle of the corresponding edge point can be reflected in the score. In this case, the ratio of the sum of the weights obtained from the difference between the edge angle of the corresponding edge point in the final least square method and the edge angle of the corresponding base point and the number of base points is calculated as a score. . Specifically, it can be calculated by the following formula.

S:スコア
n:対応点の数
m:基点の数
ω(x):x=0のとき1で、xが大きくなるにつれて単調減少する関数
θi:対応点のエッジ角度
θi p:対応点に対応する基点の角度(基点の理想角度)
S: score n: number of corresponding points m: number of base points ω (x): 1 when x = 0, monotonically decreasing as x becomes larger θ i : edge angle θ i p of corresponding points: corresponding points Angle of base point corresponding to (ideal angle of base point)

ここで基点の理想エッジ角度は、例えばセグメントが線分の場合は線分の法線方向となり、対応点探索ラインと重なる。この方法では、各対応エッジ点のエッジ角度と、該対応エッジ点と対応する基点の理想エッジ角度との差が小さい程、重みが1に近づくように、逆に角度差が大きい程0に近づくように設定される。例えば、角度差が0°〜18°の場合は0、18°〜36°の場合は0.1、・・・、162°〜180°なら1となるように、重みを設定する。このようにして基点毎に重みを演算し、最終的に得られた重みを平均することでスコアを演算する。   Here, for example, when the segment is a line segment, the ideal edge angle of the base point is the normal direction of the line segment and overlaps with the corresponding point search line. In this method, the smaller the difference between the edge angle of each corresponding edge point and the ideal edge angle of the base point corresponding to the corresponding edge point, the closer the weight is to 1, and vice versa. Is set as follows. For example, the weight is set so that the angle difference is 0 when the angle difference is 0 ° to 18 °, 0.1 when the angle difference is 18 ° to 36 °, and 1 when the angle difference is 162 ° to 180 °. In this manner, the weight is calculated for each base point, and the score is calculated by averaging the finally obtained weights.

図49(b)の例では、右側の対応エッジ点Aに対して重み1、左側の対応エッジ点Bに対して重み「0.9」が与えられる。この結果、右側のセグメントSG1に対してはパターンモデルを左側に移動させる作用が働き、逆に左側のセグメントSG2に対しては、パターンモデルを右側へ移動させようとする作用が働く。よって、これらを総合すると、セグメントの左側へ移動させようとする重みは1.0、右側へ移動させようとする重みは0.9で、結果として左側に移動され、図49(c)のようになる。同様に、図49(c)の状態から再度重み付けを行い、該重み付け結果に基づく移動処理が繰り返されて、最終的な精密位置決めが確定する。このように、位置決めに際してパターンモデルを移動させる方向を、対応エッジ点候補と基点との距離に応じた重み付けで評価した上で行うことにより、相対的に確からしい方向に移動させることができ、位置決めの信頼性と安定性向上が期待できる。
(位置決め方向を考慮したセグメントの選択方法)
In the example of FIG. 49B, the weight 1 is assigned to the corresponding edge point A on the right side and the weight “0.9” is assigned to the corresponding edge point B on the left side. As a result, an action to move the pattern model to the left side works for the right segment SG 1 , and an action to move the pattern model to the right side works for the left segment SG 2 . Therefore, when these are combined, the weight to be moved to the left side of the segment is 1.0 and the weight to be moved to the right side is 0.9. As a result, it is moved to the left side as shown in FIG. become. Similarly, weighting is performed again from the state of FIG. 49 (c), and the movement process based on the weighting result is repeated to determine the final precision positioning. As described above, the direction in which the pattern model is moved during positioning is evaluated by weighting according to the distance between the corresponding edge point candidate and the base point, so that the pattern model can be moved in a relatively reliable direction. Reliability and stability can be expected.
(Segment selection method considering positioning direction)

上記のようなケースは、特に線分のセグメントが特定方向に集中して多い場合に起こり得る。図49(b)の例では、縦方向(Y軸方向)のセグメントのみであり、X軸方向については正確な位置決めが期待できる反面、横方向(X軸方向)に伸びる線分のセグメントがないため、Y軸方向を規定できず、この方向での位置決めを曖昧にしている。そこで、パターンモデルを構築するセグメントを選択する際に、位置決め方向を特定方向に集中させないように、言い換えるとX軸方向及びY軸方向といった、交差する関係にあるセグメントを意識的に選択することによって、安定した位置決め結果が期待できる。以下、位置決め方向に配慮したセグメントの選択方法について、図50のフローチャートに基づいて説明する。   Such a case can occur particularly when the segment of the line segment is concentrated in a specific direction. In the example of FIG. 49B, there are only segments in the vertical direction (Y-axis direction), and accurate positioning can be expected in the X-axis direction, but there are no segments of line segments extending in the horizontal direction (X-axis direction). Therefore, the Y-axis direction cannot be defined, and positioning in this direction is ambiguous. Therefore, when selecting the segments that make up the pattern model, by consciously selecting the intersecting segments such as the X-axis direction and the Y-axis direction so that the positioning direction is not concentrated in a specific direction. Stable positioning results can be expected. Hereinafter, a method for selecting a segment in consideration of the positioning direction will be described with reference to the flowchart of FIG.

まずステップS4901で、複数のセグメントの候補が得られた状態で、該セグメント候補を、長さ順にソートする。なお、円弧のセグメントの場合は、円弧の長さをセグメント長さとする。   First, in step S4901, in a state where a plurality of segment candidates are obtained, the segment candidates are sorted in length order. In the case of an arc segment, the arc length is defined as the segment length.

次にステップS4902で、最も長いセグメント候補をセグメントとして選択すると共に、これを基準セグメントに設定する。この基準セグメントの法線方向を基準角度とする。なお円弧セグメントが選択された場合は、基準角度は無効状態になる。基準角度が無効の場合は共役セグメントの選択は、角度によらずセグメント候補の長さのみで行う。   In step S4902, the longest segment candidate is selected as a segment and set as a reference segment. The normal direction of the reference segment is set as a reference angle. If an arc segment is selected, the reference angle is disabled. When the reference angle is invalid, the conjugate segment is selected only by the length of the segment candidate regardless of the angle.

さらにステップS4903で、基準セグメントに対する共役セグメントとなるセグメント候補を抽出する。ここでは、該基準角度から、所定の角度範囲、ここでは第1の角度範囲内に含まれるセグメント候補があるか、探索する。第1の角度範囲の一例を図51(a)に示すと、基準セグメントの法線方向(90°)を中心として±45°の範囲、すなわち45°〜135°の範囲、トータルで90°の範囲に含まれるセグメント候補を抽出する。   In step S4903, segment candidates that are conjugate segments with respect to the reference segment are extracted. Here, it is searched from the reference angle whether there is a segment candidate included in a predetermined angle range, here the first angle range. An example of the first angle range is shown in FIG. 51A. A range of ± 45 ° centered on the normal direction (90 °) of the reference segment, that is, a range of 45 ° to 135 °, and a total of 90 °. Segment candidates included in the range are extracted.

図51(b)に示すセグメント候補の例では、○を付したセグメント候補が抽出され、×を付したセグメント候補が除外される。共役セグメントとして線分セグメントが選択された場合は、基準角度はそのセグメントの法線方向になり。有効状態になる。なお、セグメントが線分でなく円弧の場合は、無条件に抽出される。円弧の場合は角度変化が大きいことが期待できるので、位置決めに有用な情報となり得るからである。また、円弧の場合、基準角度の状態は変化しない。   In the example of the segment candidate shown in FIG. 51 (b), the segment candidates with a circle are extracted, and the segment candidates with a cross are excluded. If a line segment is selected as the conjugate segment, the reference angle is the normal direction of that segment. Becomes valid. If the segment is not a line segment but an arc, it is extracted unconditionally. This is because, in the case of an arc, it can be expected that the angle change is large, so that it can be useful information for positioning. In the case of an arc, the reference angle state does not change.

セグメント候補が抽出された場合はステップS4904−1に進み、この内で最も長いセグメント候補をセグメントとして選択すると共に、これを該基準セグメントに対する共役セグメントに設定する。さらにステップS4905で、選択済みのセグメント数が規定数に達したかどうかを判定し、達している場合は処理を終了し、未だの場合はステップS4906に進み、共役セグメントを新たに基準セグメントに設定し直した後、ステップS4903に戻って処理を繰り返す。なお、共役セグメントに円弧セグメントが選択された場合、該円弧セグメントを基準セグメントとする場合の共役セグメントの選択は、基準角度が無効状態の場合は上述の通り角度によらず長さのみで選択されることになり、有効の場合は前述したしょりと同じ処理を行って共役セグメントの抽出が行われる。   If a segment candidate is extracted, the process advances to step S4904-1 to select the longest segment candidate among these as a segment and set it as a conjugate segment with respect to the reference segment. In step S4905, it is determined whether or not the number of selected segments has reached the specified number. If it has been reached, the process ends. If not, the process proceeds to step S4906, and a conjugate segment is newly set as a reference segment. Then, the process returns to step S4903 to repeat the process. When an arc segment is selected as the conjugate segment, the selection of the conjugate segment when the arc segment is used as the reference segment is selected only by the length regardless of the angle as described above when the reference angle is invalid. If it is valid, the same process as described above is performed to extract the conjugate segment.

一方、ステップS4903で、第1の角度範囲内に含まれるセグメント候補が存在しない場合はステップS4904−2に進み、第1の角度範囲内よりも範囲を広げた第2の角度範囲内に含まれるセグメント候補が無いか、同様に探索する。第2の角度範囲内の例としては、図51(a)の例では第1の角度範囲よりも±5°広げた40°〜140°の範囲としている。ここでセグメント候補が発見された場合はステップS4904−1にジャンプし、上記と同様最も長いセグメントを選択して共役セグメントに設定する。   On the other hand, if there is no segment candidate included in the first angle range in step S4903, the process proceeds to step S4904-2, and is included in the second angle range that is wider than the first angle range. A similar search is performed for segment candidates. As an example within the second angle range, in the example of FIG. 51A, the range is 40 ° to 140 °, which is ± 5 ° wider than the first angle range. If a segment candidate is found here, the process jumps to step S4904-1 to select the longest segment as described above and set it as a conjugate segment.

第2の角度範囲内でも発見されない場合は、さらにステップS4904−3で、第2の角度範囲内よりもさらに範囲を広げた第3の角度範囲内に含まれるセグメント候補が無いか、同様に探索する。第2の角度範囲内の例としては、図51(a)の例では第2の角度範囲よりもさらに±5°広げた35°〜145°の範囲としている。ここでセグメント候補が発見された場合は同様にステップS4904−1にジャンプし、最も長いセグメントを選択して共役セグメントに設定する。発見されない場合は、ステップS4902に戻り、セグメント候補中から最も長いセグメントを基準セグメントに選択し直す。なお、角度範囲の数値や、角度範囲の際設定の回数等は適宜変更でき、例えばステップS4904−3でセグメントが発見されない場合は、さらに角度範囲を広げた探索を行ってもいいし、逆にステップS4904−3を省略し、ステップS4904−2でセグメントが発見されない場合に、直ちにステップS4902に戻って基準セグメントを再設定することもできる。   If not found even within the second angle range, in step S4904-3, a search is similarly performed to find whether there is a segment candidate included in the third angle range that is wider than the second angle range. To do. As an example within the second angle range, in the example of FIG. 51A, a range of 35 ° to 145 °, which is wider by ± 5 ° than the second angle range, is set. If a segment candidate is found here, the process jumps to step S4904-1 in the same manner, and the longest segment is selected and set as a conjugate segment. If not found, the process returns to step S4902, and the longest segment among the segment candidates is selected again as the reference segment. Note that the numerical value of the angle range, the number of times of setting in the case of the angle range, etc. can be changed as appropriate. For example, if no segment is found in step S4904-3, a search with a wider angle range may be performed. If step S4904-3 is omitted and no segment is found in step S4904-2, it is possible to immediately return to step S4902 and reset the reference segment.

このようにして、基準セグメントに対して、直交方向に近い共役セグメントを選択する作業を繰り返し、結果として角度が分散したセグメントが選択されるので位置決めの安定性を向上できる。このようなセグメントの選択はセグメント作成手段68のセグメント選択手段67で行われる。
(パターン特徴選択機能)
In this way, the operation of selecting a conjugate segment close to the orthogonal direction with respect to the reference segment is repeated, and as a result, segments with dispersed angles are selected, so that positioning stability can be improved. Such segment selection is performed by the segment selection means 67 of the segment creation means 68.
(Pattern feature selection function)

さらに、サーチ対象物から得られるパターンの特徴に応じて、パターンモデルを構成するセグメントの選択基準を変更可能なパターン特徴選択機能を備えることもできる。具体的には、図67に示すような登録画像において特に有効である。図67の登録画像では、碁盤目状の枠の中に異なる文字や数字が表示されている。このような画像中に、パターンウィンドウPWを設定すると、作成されるパターンモデルは、図67に示すように枠の部分に多くのセグメントSGWが設定され、逆に枠内の文字にはセグメントSGMがあまり設定されなくなる。このようなパターンモデルでは、枠の部分のみで位置決めが行われる結果、枠内の文字が無視され、あるいは重視されないこととなり、認識が困難となって、枠単位で位置がずれてしまう等、位置決めに失敗する虞があった。 Furthermore, it is possible to provide a pattern feature selection function capable of changing the selection criteria of the segments constituting the pattern model in accordance with the pattern features obtained from the search object. Specifically, this is particularly effective for a registered image as shown in FIG. In the registered image of FIG. 67, different characters and numbers are displayed in a grid-like frame. When the pattern window PW is set in such an image, the pattern model to be created has many segments SG W set in the frame portion as shown in FIG. 67, and conversely, the segment SG is set in the characters in the frame. M is not set much. In such a pattern model, positioning is performed only in the frame portion. As a result, characters in the frame are ignored or not emphasized, recognition becomes difficult, and the position is shifted in units of frames. There was a risk of failure.

この原因は、セグメントの選択基準にある。すなわち、従来の考え方では、ノイズ成分を排除すると共に、より鮮明に検出されたエッジ点を重視することで位置決め精度が向上するとの観点から、長いセグメントを優先的に選択することが行われていた。なぜなら、短い輪郭はノイズの成分が多いと考えられ、逆に長い線分ほど正しくエッジ情報を抽出しているとの推測に基づいて、長い線分から自動的に選択するように設定されていた。いいかえると、短い線分を優先して選択可能とした画像処理方法等は、従来存在しなかった。このため図67のような例では、直線で囲まれた枠部分はエッジ検出が比較的容易で鮮明になる傾向があるため、枠部分に生成されたセグメントが選択されやすくなり、上述のような位置決めの失敗を生じていた。特に粗サーチにおいては、簡易的な検索であることから抽出されたエッジやチェーン、セグメント等の輪郭情報をすべて使用せず、一部の輪郭のみを選択するため、優先的に選択される輪郭が正確な位置決めに資するものでなかった場合には、このような誤検出の問題が生じる。   This is due to segment selection criteria. That is, in the conventional concept, a long segment is preferentially selected from the viewpoint of eliminating the noise component and improving the positioning accuracy by placing importance on the sharply detected edge point. . This is because the short outline is considered to have more noise components, and conversely, the longer line segment is set to automatically select from the longer line segment based on the assumption that the edge information is correctly extracted. In other words, there has been no image processing method or the like that enables selection with priority on short line segments. For this reason, in the example as shown in FIG. 67, since the edge portion of the frame portion surrounded by the straight line tends to be relatively easy and clear, the segment generated in the frame portion is easily selected. A positioning failure occurred. In particular, in rough search, since it is a simple search, it does not use all the extracted contour information such as edges, chains, segments, etc., and only some contours are selected. If it does not contribute to accurate positioning, such a problem of false detection occurs.

これに対し本実施の形態では、逆に短い輪郭から昇順に選択可能な機能を設けることで、登録画像に応じた適切なサーチ結果を得られるようにしたものである。またノイズ成分については、閾値を設定して所定長さ以下の線分を排除することにより実現している。この結果、ノイズ成分は有効に排除しつつ、かつ信頼性の高いサーチ結果を得ることができる。
(輪郭の長さ順でソート)
In contrast, in the present embodiment, by providing a function that can be selected in ascending order from a short contour, an appropriate search result corresponding to the registered image can be obtained. In addition, the noise component is realized by setting a threshold value and eliminating a line segment having a predetermined length or less. As a result, it is possible to obtain a highly reliable search result while effectively eliminating noise components.
(Sort by contour length)

次に、このような短い輪郭を選択する方法を2つ説明する。まず、輪郭を長さ順にソートし、短いものから所定数選択する方法について、図68のユーザインターフェース画面に基づいて説明する。図68は、パターンモデルを用いてサーチ対象画像中から登録画像に類似する部分をサーチする画像処理プログラムにおいて、登録画像のパターンモデルを構築する輪郭を適切に選択するためのパターン特徴選択機能の設定画面200のユーザインターフェースを示すイメージ図である。この画面では、設定項目としてエッジ強度上限81、エッジ強度下限82、輪郭長下限83、輪郭選択本数84、輪郭登録順序85のそれぞれについて、ユーザが粗サーチと精密位置決めの各々に対して設定を行うことができる。この内、パターン特徴選択機能に関する項目は、輪郭長下限83、輪郭選択本数84、輪郭登録順序85となる。   Next, two methods for selecting such a short contour will be described. First, a method of sorting the contours in order of length and selecting a predetermined number from the shortest ones will be described based on the user interface screen of FIG. FIG. 68 shows a setting of a pattern feature selection function for appropriately selecting a contour for constructing a pattern model of a registered image in an image processing program for searching a portion similar to the registered image from search target images using a pattern model. 4 is an image diagram showing a user interface of a screen 200. FIG. In this screen, the user makes settings for the coarse search and the fine positioning for each of the edge strength upper limit 81, the edge strength lower limit 82, the contour length lower limit 83, the contour selection number 84, and the contour registration order 85 as setting items. be able to. Among these, the items regarding the pattern feature selection function are the contour length lower limit 83, the contour selection number 84, and the contour registration order 85.

エッジ強度上限81及びエッジ強度下限82では、エッジとして検出するための範囲を規定しており、エッジ強度が上限値より高い、あるいは下限値よりも低いものについては排除するようフィルタリング条件を指定する。
(輪郭長下限設定手段)
The edge strength upper limit 81 and the edge strength lower limit 82 define a range for detection as an edge, and a filtering condition is specified so as to exclude those whose edge strength is higher than the upper limit value or lower than the lower limit value.
(Contour length lower limit setting means)

輪郭長下限83は、輪郭として検出するための下限値を設定する輪郭長下限設定手段として機能する。すなわち、輪郭長下限83で規定した下限値よりも長さが短い輪郭を、長さフィルタでフィルタリングする。これにより、短い輪郭として表れたノイズを排除できる。またこの値をユーザが調整可能とすることで、フィルタリングの強度を使用環境や用途に応じて適宜調整できる。また、環境によっては、輪郭長下限を固定値としてもよい。
(選択数決定手段)
The contour length lower limit 83 functions as contour length lower limit setting means for setting a lower limit value for detection as a contour. That is, the contour whose length is shorter than the lower limit defined by the contour length lower limit 83 is filtered by the length filter. Thereby, noise that appears as a short outline can be eliminated. Also, by making this value adjustable by the user, the strength of filtering can be appropriately adjusted according to the use environment and application. Depending on the environment, the contour length lower limit may be a fixed value.
(Selection number determination means)

輪郭選択本数84は、選択される輪郭の本数を規定する選択数決定手段として機能する。パターンモデルとして使用する輪郭の本数の上限を規定することで、パターンモデルを簡素化して処理量を低減し、サーチ時間の短縮化が図られる。また、選択本数を多くすると、処理量が多くなる反面、より高精度なサーチ結果が期待できる。なお、輪郭選択本数を固定値(例えば50本)とすることで、上述の通り設定作業の簡素化を図ることもできる。
(選択順序決定手段)
The contour selection number 84 functions as selection number determining means for defining the number of contours to be selected. By defining the upper limit of the number of contours used as a pattern model, the pattern model can be simplified, the processing amount can be reduced, and the search time can be shortened. In addition, if the number of selections is increased, the processing amount increases, but more accurate search results can be expected. By setting the number of contour selections to a fixed value (for example, 50), the setting operation can be simplified as described above.
(Selection order determination means)

輪郭登録順序85は、輪郭の選択順序を、輪郭の長さの昇順と降順とに切り替え可能な選択順序決定手段として機能する。これにより、画像処理の対象となる画像に応じて、長さの昇順又は降順の適切な選択方法に設定して、より柔軟で高精度な画像処理が可能となる。   The contour registration order 85 functions as a selection order determination unit that can switch the contour selection order between the ascending order and the descending order of the contour length. Accordingly, it is possible to perform more flexible and highly accurate image processing by setting an appropriate selection method in ascending order or descending order of length according to the image to be subjected to image processing.

以上の設定項目を設定することで、複数の輪郭の内から、ノイズに近いような極短い輪郭をフィルタリングすると共に、長さの短いものから順に選択可能として、ノイズ成分を有効に排除しつつ、位置決めの精度を左右するセグメントを適切に選択して効果的なパターンモデルを構築できる。   By setting the above setting items, from among a plurality of contours, while filtering an extremely short contour that is close to noise, it is possible to select from the shortest one in order, effectively eliminating noise components, An effective pattern model can be constructed by appropriately selecting segments that affect the positioning accuracy.

例えば、図69に示すような碁盤目状の枠の中に異なる文字や数字が表示されている登録画像に対して、パターンウィンドウPWを設定してパターンモデルを構成するセグメントを選択する例を考える。図70に示すような設定の場合は、輪郭登録順序85が「長さ降順」、すなわち長いものから短いものへと順に選択するよう設定されているため、図69のように枠の部分のセグメントSGWが多く選択されてしまい、識別に重要となる文字や数字の部分のセグメントSGMの選択が少なく、このままでは位置決めの精度が期待できない。 For example, consider an example in which a segment constituting a pattern model is selected by setting a pattern window PW for a registered image in which different characters and numbers are displayed in a grid-like frame as shown in FIG. . In the case of the setting as shown in FIG. 70, the contour registration order 85 is set to select “descending order of length”, that is, from the longest to the shortest, so the segment of the frame portion as shown in FIG. SG W will be much selected, small selection of segments SG M portions of letters or numbers that are important to identify, can not be expected accuracy of the positioning in this state.

これに対し、図71に示すように輪郭登録順序85を「長さ昇順」、すなわち短いものから長いものへと順に選択するよう設定を変更することで、図72のように枠内の文字や数字のセグメントSGMが多く選択されるようになり、このような登録画像に適した輪郭情報を備えるパターンモデルを構築できる。 On the other hand, by changing the setting so that the contour registration order 85 is selected in the “ascending order of length”, that is, from the shortest to the longest as shown in FIG. 71, the characters in the frame as shown in FIG. become segment SG M numbers is selected lot, can build a pattern model having the contour information suitable for such registered image.

なお図68の例では、各設定項目を粗サーチと精密位置決めの各々で個別に設定可能としているが、いずれか一方のみで設定可能とすることもできるし、また特定の項目については画像処理プログラムあるいは画像処理装置側で規定し、ユーザによる調整を禁止する構成としてもよい。特に操作に詳しくないユーザでも簡便に利用できるよう、設定項目を少なくすることで、操作性を向上できる。   In the example of FIG. 68, each setting item can be set individually for each of the coarse search and the fine positioning, but can be set by only one of them, and an image processing program can be set for a specific item. Or it is good also as a structure which prescribe | regulates by the image processing apparatus side and prohibits the adjustment by a user. In particular, operability can be improved by reducing the number of setting items so that even a user who is not familiar with the operation can easily use it.

また輪郭としては、セグメントの他、チェーン等他の輪郭情報も利用できる。例えば、チェーン作成手段63で得られたチェーンを、線分や円弧のセグメントに近似することなく、そのまま輪郭情報として利用する場合に、該チェーンの選択基準に、上述の通り短いチェーンから選択したり、選択の順序を長さの昇順、降順に切り替え可能としたり、所定の閾値よりも短いチェーンや長いチェーンを排除したりといった手法が適用でき、これによっても同様の作用効果を得ることができる。次に、図73、図74のフローチャートに基づいて、輪郭の長さ順でソートする具体的な手順を説明する。   In addition to the segment, other contour information such as a chain can be used as the contour. For example, when the chain obtained by the chain creation means 63 is used as contour information without approximating a line segment or an arc segment, it can be selected from a short chain as described above as the chain selection criterion. The selection order can be switched in ascending order and descending order of the length, and a method such as eliminating a chain shorter or longer than a predetermined threshold can be applied, and the same effect can be obtained. Next, a specific procedure for sorting in order of contour length will be described based on the flowcharts of FIGS. 73 and 74.

まずセグメントの長さを用いてソートする場合について、図73に基づき説明する。最初に輪郭を抽出する。ここではまずステップS7301で、登録画像に対してソーベルを行い、エッジ角度画像、エッジ強度画像をそれぞれ求め、次にステップS7302で、エッジ角度画像及びエッジ強度画像を用いてエッジ点の細線化を行い、輪郭点を求める。具体的には輪郭抽出手段62のエッジ角度・エッジ強度画像作成手段60でエッジ角度画像及びエッジ強度画像を作成した後、細線化手段61でエッジ強度の非極大点抑制処理により、エッジ点の細線化を行う。さらにステップS7303で、チェーン作成手段63によりチェーンを作成する。具体的にはエッジチェーン化手段64が隣接するエッジ点同士を連結してチェーンを作成する。また必要に応じてチェーンフィルタ手段66で、チェーンの各種特徴量でフィルタリングを行う。   First, the case of sorting using the segment length will be described with reference to FIG. First, the contour is extracted. Here, first, in step S7301, a sobel is performed on the registered image to obtain an edge angle image and an edge strength image, respectively, and in step S7302, edge points are thinned using the edge angle image and the edge strength image. Find contour points. Specifically, after an edge angle image and an edge strength image are created by the edge angle / edge strength image creation means 60 of the contour extraction means 62, the fine line of the edge points is subjected to a non-maximum point suppression process of the edge strength by the thinning means 61. To do. In step S7303, a chain is created by the chain creation means 63. Specifically, the edge chaining means 64 connects adjacent edge points to create a chain. Further, as necessary, the chain filter means 66 performs filtering with various feature quantities of the chain.

次にステップS7304で、セグメントを作成する。ここではセグメント作成手段68のエッジチェーンセグメント化手段65が、各チェーンを線分や円弧で近似したセグメントを作成する。さらにステップS7305で、短いセグメントをフィルタリングする。ここではセグメント選択手段67が輪郭長下限設定手段として、セグメント長が下限値以下のものを排除し、ノイズ成分を除去する。   In step S7304, a segment is created. Here, the edge chain segmenting means 65 of the segment creating means 68 creates a segment in which each chain is approximated by a line segment or an arc. In step S7305, short segments are filtered. Here, the segment selection means 67 serves as the contour length lower limit setting means, and removes those whose segment length is equal to or less than the lower limit value and removes noise components.

最後にステップS7306で、セグメントの長さでソートして、セグメント長の短いものから順に、パターンモデルを構成するセグメントを選択する。ここではセグメント選択手段67が、輪郭を長順にソートする輪郭ソート手段として機能し、セグメントを長さ順にソートし、さらに選択順序決定手段で規定された選択順序、ここではセグメント長の昇順、すなわち短いものから順に、選択数決定手段で規定された本数選択する。これによって、上述した図72のような登録画像に適したパターンモデルが構築される。   Finally, in step S7306, the segments are sorted by segment length, and the segments constituting the pattern model are selected in order from the shortest segment length. Here, the segment selection unit 67 functions as a contour sort unit that sorts the contours in the long order, sorts the segments in the length order, and further selects the selection order defined by the selection order determination unit, in this case, the ascending order of the segment lengths, that is, short. The number specified by the selection number determining means is selected in order from the one. As a result, a pattern model suitable for the registered image as shown in FIG. 72 is constructed.

一方、輪郭としてセグメントを介することなく、チェーンのままで利用する例を、図74のフローチャートに基づいて説明する。ここでは、輪郭点を抽出してチェーンを作成するまでの手順は、上記図73と同じである。すなわち、まずステップS7401で、登録画像に対してソーベルを行い、エッジ角度画像、エッジ強度画像をそれぞれ求め、次にステップS7402で、エッジ角度画像及びエッジ強度画像を用いてエッジ点の細線化を行い、輪郭点を求め、さらにステップS7403でチェーンを作成する。   On the other hand, an example of using the chain as it is without using a segment as an outline will be described based on the flowchart of FIG. Here, the procedure from extracting contour points to creating a chain is the same as in FIG. That is, first, in step S7401, a sobel is performed on the registered image to obtain an edge angle image and an edge intensity image, and in step S7402, edge points are thinned using the edge angle image and the edge intensity image. Then, contour points are obtained, and a chain is created in step S7403.

そしてステップS7404で、短いチェーンをフィルタリングする。ここでは、輪郭長下限設定手段で設定された下限値に従い、チェーン作成手段63のチェーンフィルタ手段66が、輪郭長下限83よりも短いチェーンを排除する。その上でステップS7405で、チェーンの長さ順にソートして、チェーン長の短いものから順に、パターンモデルを構成するチェーンを選択する。ここでも、チェーンフィルタ手段66が輪郭ソート手段として機能し、チェーンを長さ順にソートし、さらに選択順序決定手段で規定された選択順序、ここではチェーン長の昇順に、選択数決定手段で規定された本数のチェーンを選択する。これによって、図72のような登録画像に適したパターンモデルがチェーンで構築される。   In step S7404, the short chain is filtered. Here, in accordance with the lower limit set by the contour length lower limit setting means, the chain filter means 66 of the chain creating means 63 excludes chains shorter than the contour length lower limit 83. After that, in step S7405, the chains are sorted in order of chain length, and the chains constituting the pattern model are selected in order of increasing chain length. Here again, the chain filter means 66 functions as the contour sorting means, sorts the chains in order of length, and further defines the selection order defined by the selection order determination means, in this case the selection number determination means in ascending order of the chain length. Select as many chains as possible. As a result, a pattern model suitable for a registered image as shown in FIG. 72 is constructed with a chain.

この方法であれば、一旦セグメントで近似する処理を省略できるので、その分だけ処理を簡素化できる。反面、チェーンは線分や円弧のような一定の幾何図形に近似されていないランダムな線分の連結体となるため、以降の各個の処理は複雑になる。いずれを選択するかは、登録画像がシンプルな図形であるかどうかや、エッジ点の検出精度等に応じて決定される。
(長い輪郭をフィルタリング)
With this method, the process of approximating the segment once can be omitted, and the process can be simplified accordingly. On the other hand, the chain becomes a connected body of random line segments that are not approximated by a certain geometric figure such as a line segment or an arc, and each subsequent process becomes complicated. Which one to select is determined depending on whether the registered image is a simple figure, the detection accuracy of the edge point, and the like.
(Filter long contours)

なお上記の例では輪郭の長さ順にソートを行っているが、ソートを行うことなく、輪郭の長いものを排除することでもパターンモデルを構築できる。以下、この方法を図75のユーザインターフェース画面に基づいて説明する。図75も、画像処理プログラムにおいて登録画像のパターン特徴選択機能を設定する設定画面300のユーザインターフェースを示すイメージ図である。この画面では、設定項目としてエッジ強度上限81、エッジ強度下限82、輪郭長下限83に加え、輪郭長上限86が挙げられている。エッジ強度上限81、エッジ強度下限82、輪郭長下限83については、上述した図68と同様であるので、詳細説明を省略する。
(輪郭長上限設定手段)
In the above example, the sorting is performed in the order of the length of the contour. However, the pattern model can be constructed by eliminating the long contour without sorting. Hereinafter, this method will be described based on the user interface screen of FIG. FIG. 75 is also an image diagram showing a user interface of a setting screen 300 for setting a pattern feature selection function of a registered image in the image processing program. In this screen, an edge length upper limit 86, in addition to an edge strength upper limit 81, an edge strength lower limit 82, and a contour length lower limit 83 are listed as setting items. Since the edge strength upper limit 81, the edge strength lower limit 82, and the contour length lower limit 83 are the same as those in FIG. 68 described above, detailed description thereof is omitted.
(Contour length upper limit setting means)

輪郭長上限86は、輪郭の上限値を設定する輪郭長上限設定手段として機能する。すなわち、輪郭長上限86で規定した上限値よりも長い輪郭をフィルタリングする。これにより、長い輪郭を意図的に排除し、短い輪郭のみを残してパターンモデルを構築できるので、結果的に短い輪郭を優先的に選択したのと同様の効果が得られる。   The contour length upper limit 86 functions as contour length upper limit setting means for setting the upper limit value of the contour. That is, the contour longer than the upper limit value defined by the contour length upper limit 86 is filtered. As a result, the long contour can be intentionally excluded and only the short contour can be left to construct the pattern model. As a result, the same effect as the case where the short contour is preferentially selected can be obtained.

なお、図75の例では選択数決定手段を設けておらず、予め設定された規定値の輪郭が自動的に選択される。ただ、選択数決定手段を設けてユーザが手動で輪郭数を設定することもできる。   In the example of FIG. 75, the selection number determining means is not provided, and a preset contour having a predetermined value is automatically selected. However, it is also possible to provide a selection number determining means and set the number of contours manually by the user.

このようにして、長さ順でソートせずとも、短い輪郭を優先的に選択したパターンモデルを構築でき、図67のような登録画像に対しても有効なパターンサーチが実現できる。例えば、図76に示すような設定条件では、図77に示すように枠の部分のセグメントSGWが多く選択されたパターンモデルとなるが、図78に示すように輪郭長上限86を100から20に変更することで、図79に示すように枠内の文字や数字のセグメントSGMを多く含んだパターンモデルを構築できる。 In this way, a pattern model in which short contours are preferentially selected can be constructed without sorting in length order, and an effective pattern search can be realized even for registered images as shown in FIG. For example, under the setting conditions as shown in FIG. 76, a pattern model in which many frame segments SG W are selected as shown in FIG. 77 is used, but the contour length upper limit 86 is set to 100 to 20 as shown in FIG. by changing, it can be constructed laden pattern model segments SG M letters and numbers Attempts on as shown in Figure 79.

ここで、長い輪郭をフィルタリングする手順を、図80、図81のフローチャートに基づいて説明する。まず図80は、輪郭としてセグメントを用いた場合を説明している。この方法でも、上述した輪郭長でソートする場合と同様に、輪郭点を抽出してチェーンを作成する。すなわち、まずステップS8001で、登録画像に対してソーベルを行い、エッジ角度画像、エッジ強度画像をそれぞれ求め、次にステップS8002で、エッジ角度画像及びエッジ強度画像を用いてエッジ点の細線化を行い、輪郭点を求める。さらにステップS8003でチェーンを作成し、次いでステップS8004で、セグメントを作成する。   Here, the procedure for filtering a long contour will be described based on the flowcharts of FIGS. First, FIG. 80 illustrates a case where a segment is used as an outline. In this method, as in the case of sorting by the above-described contour length, contour points are extracted to create a chain. That is, first, in step S8001, a sobel is performed on the registered image to obtain an edge angle image and an edge intensity image, and then in step S8002, the edge point is thinned using the edge angle image and the edge intensity image. Find contour points. Further, a chain is created in step S8003, and then a segment is created in step S8004.

最後にステップS8005で、長いセグメントと短いセグメントを削除する。ここでは、セグメント選択手段67が輪郭長下限設定手段として、セグメント長が下限値以下のものを排除することに加え、さらにセグメント選択手段67は輪郭長上限設定手段としても機能し、輪郭長上限86よりも長いセグメントについても削除する。この結果、ノイズ成分を除去した上で、短いセグメントを選択できるので、図79のような場合に位置決めに有効なセグメントを含んだパターンモデルが構築される。なおセグメントの選択本数は、固定値としているが、選択数決定手段を別途設けてユーザが手動で設定可能とできることは上述の通りである。   Finally, in step S8005, the long segment and the short segment are deleted. Here, the segment selection means 67 serves as the contour length lower limit setting means, and in addition to excluding those whose segment length is equal to or lower than the lower limit value, the segment selection means 67 also functions as a contour length upper limit setting means. Also delete longer segments. As a result, it is possible to select a short segment after removing the noise component, so that a pattern model including a segment effective for positioning is constructed in the case shown in FIG. Although the number of selected segments is a fixed value, as described above, the selection number determining means can be separately provided and manually set by the user.

また、セグメントに代えてチェーンでセグメントを構成する例について、図81に基づいて説明する。ここでも、輪郭点を抽出してチェーンを作成するまでの手順は、上述した図74と同様である。すなわち、ステップS8101で登録画像にソーベルを行い、エッジ角度画像、エッジ強度画像を求め、ステップS8102でエッジ角度画像及びエッジ強度画像を用いてエッジ点の細線化を行い、輪郭点を求め、ステップS8103でチェーンを作成する。   An example in which a segment is configured with a chain instead of a segment will be described with reference to FIG. Again, the procedure from extracting contour points to creating a chain is the same as in FIG. 74 described above. That is, in step S8101, the registered image is subjected to a sobel, and an edge angle image and an edge strength image are obtained. In step S8102, the edge point is thinned using the edge angle image and the edge strength image to obtain a contour point, and step S8103 is obtained. Create a chain with

そしてステップS8104で、長いチェーンと短いチェーンを削除する。ここでは、チェーンフィルタ手段66が輪郭長下限設定手段として、輪郭長下限値以下のチェーンを排除すると共に、輪郭長上限設定手段としても機能し、輪郭長上限86よりも長いチェーンについても削除する。この結果、ノイズ成分を除去した上で、短いチェーンを選択できるので、図79のような登録画像の位置決めに有効なチェーンを含めたパターンモデルを構築できる。なおチェーンの選択本数は、固定値としているが、上述の通り選択数決定手段を別途設けてユーザが手動で設定可能とできることも同様である。
(セグメントの方向を考慮したセグメント選択機能との組み合わせ)
In step S8104, the long chain and the short chain are deleted. Here, the chain filter means 66 functions as a contour length upper limit setting means as a contour length lower limit setting means as a contour length lower limit setting means, and also functions as a contour length upper limit setting means, and also deletes chains longer than the contour length upper limit 86. As a result, it is possible to select a short chain after removing noise components, so that a pattern model including a chain effective for positioning a registered image as shown in FIG. 79 can be constructed. The number of chains to be selected is a fixed value. However, as described above, the number of selections can be manually set by a user by separately providing a selection number determining means.
(Combination with segment selection function considering segment direction)

さらに、パターン特徴選択機能を、上述した位置決め方向あるいは角度を考慮したセグメント選択機能と併用することもできる。すなわち、セグメントを長さ順にソートした後、あるいは長いセグメントをフィルタリングした後、どのセグメントをパターンモデル構築のために選択するかを決定する手法として、図50のフローチャート等で示した方法である、基準セグメントに対して、直交方向に近い共役セグメントを選択する方法を採用できる。なお、この方法はセグメントの選択に対して利用でき、チェーンについては適用しない。チェーンは線分や円弧で近似していないため、セグメントのような角度や方向を有しないためである。   Furthermore, the pattern feature selection function can be used in combination with the above-described segment selection function in consideration of the positioning direction or angle. That is, after sorting the segments in order of length or after filtering long segments, the method shown in the flowchart of FIG. 50 or the like is used as a method for determining which segment is selected for pattern model construction. A method of selecting a conjugate segment close to the orthogonal direction with respect to the segment can be adopted. This method can be used for segment selection and does not apply to chains. This is because the chain is not approximated by a line segment or an arc, and thus does not have an angle or direction like a segment.

以下、ソートあるいはフィルタリング後に、セグメントを選択するに際してセグメントの法線方向を考慮する例を、図82、図83のフローチャートに基づいて説明する。まず図82は、セグメント長でソートする例について示している。ここでも、輪郭点を抽出してチェーン、セグメントを作成し、得られたセグメントの内で短いものをフィルタリングし、ソートするまでの手順は、上述した図73等と同様である。すなわち、まずステップS8201で、登録画像に対してソーベルを行い、エッジ角度画像、エッジ強度画像をそれぞれ求め、次にステップS8202で、エッジ角度画像及びエッジ強度画像を用いてエッジ点の細線化を行い、輪郭点を求める。さらにステップS8203でチェーンを作成し、次いでステップS8204で、セグメントを作成し、次いでステップS8205で、短いセグメントをフィルタリングする。そしてステップS8206で、フィルタリング後のセグメントを、セグメント長でソートして短い順に並べる。   Hereinafter, an example in which the normal direction of a segment is considered when selecting a segment after sorting or filtering will be described with reference to the flowcharts of FIGS. First, FIG. 82 shows an example of sorting by segment length. Again, the procedure from extracting contour points to create chains and segments, filtering short ones of the obtained segments, and sorting them is the same as in FIG. 73 described above. That is, first, in step S8201, a sobel is performed on the registered image to obtain an edge angle image and an edge intensity image, and then in step S8202, edge points are thinned using the edge angle image and the edge intensity image. Find contour points. Further, a chain is created in step S8203, then a segment is created in step S8204, and then a short segment is filtered in step S8205. In step S8206, the filtered segments are sorted by segment length and arranged in ascending order.

この状態でステップS8207で、セグメントの法線方向を考慮しつつ、セグメントの短いものから順に選択していく。ここで図82のS8206以降の具体的な手順について、図84のフローチャートに示す。このフローチャートは、図50のフローチャートのほぼ同様であるが、ステップS8401において、ソートの順序をセグメント長の降順でなく、短いものから順に並べた昇順とした点、及びステップS8402において、最も短いセグメントをセグメント候補として選択し、基準セグメントにする点、並びにステップS8404−1において、最も短いセグメントをセグメント候補として選択し、共役セグメントにする点、が異なる。それ以外は図50と同様であるので、詳細説明を省略する。   In this state, in step S8207, selection is performed in order from the shortest segment while considering the normal direction of the segment. Here, a specific procedure after S8206 in FIG. 82 is shown in the flowchart in FIG. This flowchart is substantially the same as the flowchart of FIG. 50 except that in step S8401, the sort order is not the descending order of the segment length, but the ascending order in which the order is ascending, and the shortest segment is selected in step S8402. The difference is that it is selected as a segment candidate and set as a reference segment, and in step S8404-1, the shortest segment is selected as a segment candidate and set as a conjugate segment. The rest is the same as in FIG. 50, and detailed description thereof is omitted.

この方法によれば、特に短いセグメントが位置決めに有効な登録画像に対して効果的となり、また略直交するセグメントを交互に選択することで、法線角度が交差する関係にあるセグメントを意識的に選択したパターンモデルを構築できるので、縦横方向に安定した位置決めの結果が期待できる。   According to this method, a particularly short segment is effective for a registered image effective for positioning, and segments having a relationship of intersecting normal angles are consciously selected by alternately selecting substantially orthogonal segments. Since the selected pattern model can be constructed, stable positioning results in the vertical and horizontal directions can be expected.

同様に、セグメント長の長いものをフィルタする方法に、セグメントの法線方向を考慮した例を、図83のフローチャートに基づいて説明する。ここでも、輪郭点を抽出してチェーン、セグメントを作成し、得られたセグメントの内で短いものと長いものをフィルタリングするまでの手順は、上述した図80等と同様である。すなわち、まずステップS8301で、登録画像に対してソーベルを行い、エッジ角度画像、エッジ強度画像をそれぞれ求め、次にステップS8302で、エッジ角度画像及びエッジ強度画像を用いてエッジ点の細線化を行い、輪郭点を求める。さらにステップS8303でチェーンを作成し、次いでステップS8304で、セグメントを作成し、次いでステップS8305で、短いセグメントと長いセグメントをフィルタリングする。この状態でステップS8306で、上記図84と同様の方法で、セグメントの法線方向を考慮しつつセグメントの短いものから順に選択していく。この場合は、ステップS8306でセグメント長でソートする作業がどのみち必要となるため、この点からは上述した図82の方法が効率的といえる。その他の効果としては、図82と同様であり、基準セグメントに対して、直交方向に近い共役セグメントが選択される結果、角度が分散したセグメントがパターンモデルに選択されるので、位置決めの安定性を向上できる。
(最小二乗法の安定性向上)
Similarly, an example in which the normal direction of the segment is taken into account in the method of filtering a long segment will be described based on the flowchart of FIG. Again, the procedure from extracting contour points to creating chains and segments and filtering the short and long segments of the obtained segments is the same as in FIG. That is, first, in step S8301, a sobel is performed on the registered image to obtain an edge angle image and an edge intensity image, and then in step S8302, edge points are thinned using the edge angle image and the edge intensity image. Find contour points. Further, a chain is created in step S8303, then a segment is created in step S8304, and then a short segment and a long segment are filtered in step S8305. In this state, in step S8306, in the same manner as in FIG. 84, selection is performed in order from the shortest segment while considering the normal direction of the segment. In this case, the work of sorting by segment length in step S8306 is necessary anyway, and from this point, it can be said that the method of FIG. 82 described above is efficient. The other effects are the same as in FIG. 82. As a result of selecting conjugate segments close to the orthogonal direction with respect to the reference segment, segments with dispersed angles are selected for the pattern model. It can be improved.
(Improved stability of least squares method)

次に、精密位置決め工程で行われる最小二乗法の安定性を向上させる手法について説明する。最小二乗法には大別すると線形と非線型があり、この内で線形の最小二乗法においては、理論的には解を一義的に求めることができる。一方、非線形の最小二乗法では、一般には二次式までで近似するため、近似した解が正しいとは限らない。場合によっては精密位置決め工程において、粗サーチで得られた検出候補の位置よりも、精度が悪くなる方向に位置が移動、回転されることもあり得る。例えば、図85に示す円状のような対称性の高い図形(外円の中心座標と内円の中心座標が微妙に異なる。)に対して精密位置決めを行う場合、円の中心を回転軸として回転させてもエラー値が殆ど変化しないため、本来の回転すべき方向とは逆の方向に回転することが生じ得、また、角度の変化が大きく平行移動量も大きくずれた結果となること等もある。   Next, a method for improving the stability of the least square method performed in the precision positioning process will be described. The least square method is roughly classified into a linear type and a non-linear type. Among these, in the linear least square method, a solution can be uniquely obtained theoretically. On the other hand, in the non-linear least square method, since approximation is generally performed up to a quadratic expression, the approximate solution is not always correct. In some cases, in the fine positioning process, the position may be moved or rotated in a direction in which the accuracy is worse than the position of the detection candidate obtained by the coarse search. For example, when precise positioning is performed on a highly symmetrical figure such as the circle shown in FIG. 85 (the center coordinates of the outer circle and the center coordinates of the inner circle are slightly different), the center of the circle is used as the rotation axis. Since the error value hardly changes even if it is rotated, it may be rotated in the direction opposite to the original direction of rotation, and the change in angle is large, resulting in a large deviation in the amount of translation. There is also.

二次式で近似した非線形の最小二乗法の一般的な解法では、エラー関数E(pi)を、最小二乗法の変数である試行パラメータの組piの近傍で、試行パラメータの2次の冪数までで近似した近似エラー関数を作成し、該近似エラー関数を使ってエラー関数が最小となるような試行パラメータの組piを見つけるという手順を踏む。   In a general solution of a nonlinear least square method approximated by a quadratic equation, an error function E (pi) is approximated to a trial parameter set pi that is a variable of the least square method, and a quadratic power of a trial parameter. The approximate error function approximated in the above is created, and the procedure of finding a set of trial parameters pi that minimizes the error function using the approximate error function is taken.

このような非線形最小二乗法において、エラー値の小さい解を得るための解法として、以下の逆ヘッセ法が提案されている。   In such a nonlinear least square method, the following inverse Hessian method has been proposed as a solution for obtaining a solution having a small error value.

近似エラー関数を求め、そのエラー関数から最小となる試行パラメータの組を求めた上で、一度に次段のより精度の高い試行パラメータの組を求める方法である。ただし、この逆ヘッセ法を用いてエラー値の小さい解を求める場合、以下のような不具合が発生する恐れがある。このことを図86に基づいて説明する。図86(a)及び図86(b)の各々において、実線はエラー関数を、破線はこのエラー関数を近似した近似エラー関数をそれぞれ示している。図86(a)及び図86(b)にてエラー関数を示す曲線上に設けられるP1は、上述した粗サーチにて求められた位置(x,y,θ)を示し、このP1の近傍のエラー関数の値に基づいて二次関数として求められたものが、破線で示す近似エラー関数を示す破線の二次曲線である。   This is a method of obtaining an approximate error function, obtaining a minimum trial parameter set from the error function, and obtaining a more accurate trial parameter set at the next stage at a time. However, when a solution with a small error value is obtained using the inverse Hessian method, the following problems may occur. This will be described with reference to FIG. In each of FIGS. 86A and 86B, a solid line indicates an error function, and a broken line indicates an approximate error function obtained by approximating the error function. P1 provided on the curve indicating the error function in FIGS. 86 (a) and 86 (b) indicates the position (x, y, θ) obtained by the above-described rough search, and is in the vicinity of this P1. What is obtained as a quadratic function based on the value of the error function is a broken-line quadratic curve indicating an approximate error function indicated by a broken line.

さらに、図86(a)に示すケースの場合は、逆ヘッセ法が適切に作用したケースを説明する図であり、この近似エラー関数を示す破線の二次曲線の最もエラー値の小さな位置、つまりP2が実線で示されるエラー関数の最もエラー値の小さい位置Pに近接しているため、より正確なエラー値の小さな位置P2が求められているケースを示している。   Further, in the case shown in FIG. 86 (a), it is a diagram for explaining the case where the inverse Hessian method is appropriately applied, and the position of the smallest error value of the broken-line quadratic curve indicating this approximate error function, that is, Since P2 is close to the position P having the smallest error value of the error function indicated by the solid line, a case where a more accurate position P2 having a smaller error value is obtained is shown.

一方、図86(b)に示すケースの場合は、逆ヘッセ法が不適切に作用したケースを説明する図であり、近似エラー関数を示す破線の二次曲線の最もエラー値の小さな位置、つまりP2が実線で示されるエラー関数の最もエラー値の小さい位置Pから離れた位置として求められるため、正しくないエラー値の小さな位置P2が求められているケースを示している。   On the other hand, in the case shown in FIG. 86 (b), it is a diagram for explaining a case where the inverse Hessian method has acted improperly, and is the position of the smallest error value of the dashed quadratic curve indicating the approximate error function, that is, Since P2 is obtained as a position away from the position P having the smallest error value of the error function indicated by the solid line, a case where a position P2 having an incorrect error value is obtained is shown.

上記の内、図86(b)に示したケースの場合、逆ヘッセ法でそのまま解を求めようとすると、上述の通り試行パラメータの大きな変位を解としてしまうことがあり、その結果精密位置決めの精度が低下する問題があった。本願発明者は、図86(b)に示す、逆ヘッセ法が不適切に作用したケースの発生を抑制する手法として、パターンモデルに対して、移動や回転に関する制限を設ける手法を見出した。すなわち、逆ヘッセ法に基づく最小二乗法の解法として、エラー関数に新たな項を追加する。具体的には、上述した距離に関する項(第1エラー関数)に加えて、試行パラメータからの変位によってエラー値が大きくなるような項(第2エラー関数Ed)を追加する。これにより、極度に大きな変化が第2エラー関数Edで抑制され、図86(a)に示すような適切な近似が期待できる。このように精密位置決め工程において正しい方向に収束する条件を付加して、意図しない方向への回転や発散を回避し、位置決めの信頼性を向上できる。第2エラー関数は、最小二乗法の試行パラメータをPiとするとき、Pi−P0iの関数となる。この結果得られるエラー関数E(P)の連立方程式の例を、次式に示す。 Of the above, in the case shown in FIG. 86 (b), if an attempt is made to obtain a solution as it is by the inverse Hessian method, a large displacement of the trial parameter may be obtained as described above, and as a result, the precision of precision positioning There was a problem that decreased. The inventor of the present application has found a technique for restricting movement and rotation with respect to the pattern model as a technique for suppressing the occurrence of the case where the reverse Hessian method acts inappropriately as shown in FIG. 86 (b). In other words, a new term is added to the error function as a solution of the least square method based on the inverse Hessian method. Specifically, in addition to the above-described term relating to the distance (first error function), a term (second error function E d ) that increases the error value due to the displacement from the trial parameter is added. Thereby, an extremely large change is suppressed by the second error function E d , and an appropriate approximation as shown in FIG. 86A can be expected. In this way, conditions for converging in the correct direction in the precision positioning step can be added to avoid rotation and divergence in an unintended direction and improve positioning reliability. The second error function is a function of P i −P 0i when the trial parameter of the least square method is P i . An example of simultaneous equations of the error function E (P) obtained as a result is shown in the following equation.

上式において、全体のエラー関数E(P)は、各セグメントとその対応エッジ点との距離を示す第1エラー関数Eoと、この第1エラー関数における試行パラメータを変化させる際の該変化量を第2エラー値とし、該第2エラー値の累積値を演算する第2エラー関数Edとの和で表現される。このように最小二乗法の演算において、理想の位置と一致したときに最小となる項に加えて、第2エラー関数Edを追加したことで、両方の項が小さくなるような方向に解を探すこととなり、極度に大きな試行パラメータの変化が抑制されるので、精密位置決めに際して誤った方向に回転したり発散するといった事態を回避でき、処理結果が安定するという利点が得られる。 In the above equation, the overall error function E (P) is the first error function E o indicating the distance between each segment and its corresponding edge point, and the amount of change when the trial parameter in this first error function is changed. Is the second error value, and is expressed by the sum of the second error function E d for calculating the cumulative value of the second error value. In this way, in the calculation of the least square method, in addition to the term that becomes the minimum when it matches the ideal position, the second error function E d is added, so that the solution is solved in a direction that both terms become smaller. Since an extremely large change in the trial parameter is suppressed, it is possible to avoid a situation such as rotation or divergence in the wrong direction during precise positioning, and an advantage that the processing result is stable can be obtained.

本発明の画像処理におけるパターンモデルの位置決め方法、画像処理装置、画像処理プログラム及びコンピュータで読み取り可能な記録媒体は、FA分野で利用される画像処理におけるワークの座標位置や回転角度等の位置検出、外径や内径、幅等の位置計測、認識、識別、判定、検査等に好適に適用できる。例えば、ICの電極のボンディングのための電極の位置決め等に利用できる。   A pattern model positioning method, an image processing apparatus, an image processing program, and a computer-readable recording medium in image processing according to the present invention include position detection such as a work coordinate position and a rotation angle in image processing used in the FA field, It can be suitably applied to position measurement, recognition, identification, determination, inspection, etc., such as outer diameter, inner diameter, and width. For example, it can be used for positioning an electrode for bonding an electrode of an IC.

画像処理装置の一例を示すブロック図である。It is a block diagram which shows an example of an image processing apparatus. パターンモデルの登録時及びこれを用いてサーチを行う運転時の動作の概要を示す模式図である。It is a schematic diagram which shows the outline | summary of the operation | movement at the time of the operation | movement at the time of registering and searching using a pattern model. パターンモデル登録時の動作の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the operation | movement at the time of pattern model registration. 実際にサーチを行う運転時の動作の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the operation | movement at the time of the driving | running which actually searches. 手動縮小率決定モードにおける縮小率を設定するユーザインターフェース画面を示すイメージ図である。It is an image figure which shows the user interface screen which sets the reduction rate in manual reduction rate determination mode. エッジ角度ビットの概要を示す模式図である。It is a schematic diagram which shows the outline | summary of an edge angle bit. エッジ角度ビット画像を生成し圧縮する様子を示す模式図である。It is a schematic diagram which shows a mode that an edge angle bit image is produced | generated and compressed. 各パターンモデルの例を示す模式図であり、図8(a)は局所サーチ用パターンモデル、図8(b)は大域サーチ用パターンモデル、図8(c)は精密位置決め用パターンモデルを、それぞれ示している。FIG. 8A is a schematic diagram showing an example of each pattern model. FIG. 8A shows a local search pattern model, FIG. 8B shows a global search pattern model, and FIG. 8C shows a precise positioning pattern model. Show. 運転時のサーチの手順の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the procedure of the search at the time of driving | operation. 運転時のサーチの概念を示す模式図である。It is a schematic diagram which shows the concept of the search at the time of driving | operation. パターンモデルを回転させた結果エッジ角度ビットが変化する様子を示す模式図である。It is a schematic diagram which shows a mode that an edge angle bit changes as a result of rotating a pattern model. 登録時のパターンモデルの作成手順を示すフローチャートである。It is a flowchart which shows the creation procedure of the pattern model at the time of registration. サーチ精度とサーチ時間の優先度に応じてこれらを自動設定するユーザインターフェース画面を示すイメージ図である。It is an image figure which shows the user interface screen which sets these automatically according to the priority of search precision and search time. 精密位置決め用パターンモデルを登録する手順を示すフローチャートである。It is a flowchart which shows the procedure which registers the pattern model for precise positioning. 運転時において、サーチ対象画像に対する前処理を行う手順を示すフローチャートである。It is a flowchart which shows the procedure which performs the pre-processing with respect to a search object image at the time of a driving | operation. 対応点探索ラインが設定されたパターンモデルを示すイメージ図である。It is an image figure which shows the pattern model in which the corresponding point search line was set. 図16のパターンモデルを間引いた状態を示す模式図である。It is a schematic diagram which shows the state which thinned out the pattern model of FIG. 運用時においてパターンサーチを行う手順を示すフローチャートである。It is a flowchart which shows the procedure which performs a pattern search at the time of operation. 図19(a)はサーチ対象画像の一例、図19(b)は図6(a)の登録画像と同じ倍率に縮小した縮小サーチ対象画像を示すイメージ図である。FIG. 19A is an example of a search target image, and FIG. 19B is an image diagram showing a reduced search target image reduced to the same magnification as the registered image of FIG. 6A. 運用時におけるパターンサーチの手順を示すフローチャートである。It is a flowchart which shows the procedure of the pattern search at the time of operation. 対応エッジ点を求める対応エッジ点探索処理を示す模式図である。It is a schematic diagram which shows the corresponding edge point search process which calculates | requires a corresponding edge point. エッジ位置の波打現象を説明する模式図である。It is a schematic diagram explaining the ripple phenomenon of an edge position. 対応点探索ラインの選択が困難な可能性のある登録画像の一例を示す模式図である。It is a schematic diagram which shows an example of the registration image which may be difficult for selection of a corresponding point search line. 図23のパターンに対して対応点探索ラインを自動設定した状態を示す模式図である。It is a schematic diagram which shows the state which set the corresponding point search line automatically with respect to the pattern of FIG. 図24から対応点探索ラインをフィルタリングした結果を示す模式図である。It is a schematic diagram which shows the result of having filtered the corresponding point search line from FIG. 対応点探索ラインフィルタ処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of a corresponding point search line filter process. 基点からの長さが等しい対応点探索ラインを設定した状態を示すイメージ図である。It is an image figure which shows the state which set the corresponding point search line whose length from a base point is equal. 基点からの長さが異なる対応点探索ラインを設定した状態を示すイメージ図である。It is an image figure which shows the state which set the corresponding point search line from which the length from a base point differs. 対応エッジ点の座標を求める手順を説明する模式図である。It is a schematic diagram explaining the procedure which calculates | requires the coordinate of a corresponding edge point. 画素a〜dの4画素で構成されたエッジ角度画像を示す模式図である。It is a schematic diagram which shows the edge angle image comprised by 4 pixels of pixel ad. エッジ角度ビットを定義するエッジ角度区分を示す模式図である。It is a schematic diagram which shows the edge angle division which defines an edge angle bit. 図30のエッジ角度画像を変換したエッジ角度ビット画像を示す模式図である。It is a schematic diagram which shows the edge angle bit image which converted the edge angle image of FIG. 図32のエッジ角度ビット画像を縮小したエッジ角度ビット縮小画像を示す模式図である。It is a schematic diagram which shows the edge angle bit reduced image which reduced the edge angle bit image of FIG. 元のエッジ角度ビット画像を2×2画素単位で縮小する様子を説明する模式図である。It is a schematic diagram explaining a mode that the original edge angle bit image is reduced in units of 2 × 2 pixels. 図34の縮小処理後に膨張を行う様子を説明する模式図である。It is a schematic diagram explaining a mode that it expands after the reduction process of FIG. 元のエッジ角度ビット画像を1/2に縮小する様子を説明する模式図である。It is a schematic diagram explaining a mode that the original edge angle bit image is reduced to 1/2. 元のエッジ角度ビット画像を1/3に縮小する様子を説明する模式図である。It is a schematic diagram explaining a mode that the original edge angle bit image is reduced to 1/3. 並列処理前のパターンモデルを示す概念図である。It is a conceptual diagram which shows the pattern model before parallel processing. 並列処理後のパターンモデルを示す概念図である。It is a conceptual diagram which shows the pattern model after parallel processing. パターンモデル登録のデータを示す概念図である。It is a conceptual diagram which shows the data of pattern model registration. 一部を切り欠いた円形を円弧セグメントと線分セグメントで表現したパターンモデルの一例を示すイメージ図である。It is an image figure which shows an example of the pattern model which expressed the circle | round | yen notched partially by the arc segment and the line segment. 入力画像に対して図41のパターンモデルを用いて粗サーチを行い、ある程度の位置決めがなされた状態を示すイメージ図である。FIG. 42 is an image diagram showing a state in which a rough search is performed on the input image using the pattern model of FIG. 41 and a certain degree of positioning is performed. 図42の状態から、点と円弧の距離をエラー関数とした最小二乗法を適用して精密位置決めを行った状態を示すイメージ図である。FIG. 43 is an image diagram showing a state in which fine positioning is performed by applying a least square method using a distance between a point and an arc as an error function from the state of FIG. 図41のパターンモデルに対して対応点探索ライン生成処理を行った例を示すイメージ図である。It is an image figure which shows the example which performed the corresponding point search line production | generation process with respect to the pattern model of FIG. 図44のパターンモデルで、サーチ対象画像に対して粗サーチを行い、決定された位置及び姿勢でパターンモデルを重ねた状態を示すイメージ図である。FIG. 45 is an image diagram illustrating a state in which a rough search is performed on the search target image with the pattern model of FIG. 44 and the pattern models are overlaid at the determined position and orientation. エッジ強度EM、エッジ角度θEを有するエッジベクトル(Ex,Ey)を示す模式図である。It is a schematic diagram showing an edge vector ( Ex , Ey ) having an edge strength E M and an edge angle θ E. 円形状ワークに対して粗サーチを行い、ある程度の位置決めが終了した状態を示す概念図である。It is a conceptual diagram which shows the state which performed the rough search with respect to the circular shaped workpiece | work, and completed the positioning to some extent. 図47から精密位置決めを行ってパターンモデルをサーチ対象画像に重ねようとした状態を示す概念図である。FIG. 48 is a conceptual diagram illustrating a state in which precise positioning is performed from FIG. 47 and an attempt is made to superimpose a pattern model on a search target image. 対応エッジ点候補が複数ある場合の重み付け処理を説明する模式図である。It is a schematic diagram explaining the weighting process when there are a plurality of corresponding edge point candidates. 位置決め方向に考慮したセグメントの選択手順を示すフローチャートである。It is a flowchart which shows the selection procedure of the segment considered in the positioning direction. 図50において角度範囲の設定を更新する様子を説明する模式図である。It is a schematic diagram explaining a mode that the setting of an angle range is updated in FIG. 飽和加算を用いた縮小処理の一例を示す模式図であり、図52(a)は各ピクセルがエッジ角度を有するエッジ角度画像、図52(b)は各ピクセルのエッジ角度ビットデータを8ビットで表現するエッジ角度区分を示す模式図を、それぞれ示している。52A and 52B are schematic diagrams illustrating an example of reduction processing using saturation addition, in which FIG. 52A is an edge angle image in which each pixel has an edge angle, and FIG. 52B is 8-bit edge angle bit data of each pixel. The schematic diagram which shows the edge angle division to represent is shown, respectively. 二値画像の一例を示すイメージ図である。It is an image figure which shows an example of a binary image. 図53の画素値を示すグラフである。It is a graph which shows the pixel value of FIG. 鮮鋭度の高い画像のエッジの強度変化を示すグラフである。It is a graph which shows the intensity | strength change of the edge of an image with high sharpness. 不鮮明な画像の画素値を示すグラフである。It is a graph which shows the pixel value of a blurred image. 鮮鋭度の低い画像のエッジの強度変化を示すグラフである。It is a graph which shows the intensity | strength change of the edge of an image with low sharpness. 特許文献2に係るサブピクセル座標の計算方法を示す模式図である。It is a schematic diagram which shows the calculation method of the subpixel coordinate which concerns on patent document 2. FIG. エッジ強度の誤差とサブピクセル位置との関係を示すグラフである。It is a graph which shows the relationship between the error of edge strength, and a subpixel position. エッジ点の鮮鋭度に基づき画像データ縮小率を決定する手順を示すフローチャートである。It is a flowchart which shows the procedure which determines the image data reduction rate based on the sharpness of an edge point. エッジのモデル関数を示すグラフである。It is a graph which shows the model function of an edge. 画像データ縮小率を用いた登録時の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of registration using an image data reduction ratio. 画像データ縮小率を用いた運転時の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of the driving | operation using the image data reduction rate. 近接する3点B、C、Fのエッジ強度を示す模式図である。It is a schematic diagram which shows the edge strength of 3 points | pieces B, C, and F which adjoin. 近傍エッジ点を用いて対応エッジ点の座標を求める手順を示す模式図である。It is a schematic diagram which shows the procedure which calculates | requires the coordinate of a corresponding edge point using a near edge point. 図65の対応エッジ点の座標を求める手順を示すフローチャートである。FIG. 66 is a flowchart showing a procedure for obtaining coordinates of corresponding edge points in FIG. 65. FIG. 枠の中に文字が表示された対象画像にパターンモデルを設定する様子を示すイメージ図である。It is an image figure which shows a mode that a pattern model is set to the target image by which the character was displayed in the frame. 画像処理プログラムにおいて長さ順にソートするパターン特徴選択機能を設定するユーザインターフェース画面を示すイメージ図である。It is an image figure which shows the user interface screen which sets the pattern feature selection function sorted in order of length in an image processing program. 碁盤目状の枠の中に異なる文字や数字が表示されている登録画像においてパターンモデルとして選択されたセグメントを示すイメージ図である。It is an image figure which shows the segment selected as a pattern model in the registration image in which a different character and number are displayed in the checkered frame. 図68のユーザインターフェース画面で輪郭登録順序を「長さ降順」に設定した様子を示すイメージ図である。FIG. 69 is an image diagram showing a state in which the contour registration order is set to “length descending order” on the user interface screen of FIG. 68. 図70のユーザインターフェース画面で輪郭登録順序を「長さ昇順」に設定した様子を示すイメージ図である。FIG. 71 is an image diagram showing a state in which the contour registration order is set to “length ascending order” on the user interface screen of FIG. 70. 図69の登録画像において図71の設定条件でセグメントが選択された状態を示すイメージ図である。FIG. 70 is an image diagram showing a state in which a segment is selected under the setting condition of FIG. 71 in the registered image of FIG. セグメントの長さ順でソートする手順を示すフローチャートである。It is a flowchart which shows the procedure sorted by the length of a segment. チェーンの長さ順でソートする手順を示すフローチャートである。It is a flowchart which shows the procedure sorted in order of the length of a chain. 画像処理プログラムにおいて長い輪郭をフィルタリングするパターン特徴選択機能を設定するユーザインターフェース画面を示すイメージ図である。It is an image figure which shows the user interface screen which sets the pattern feature selection function which filters a long outline in an image processing program. 図75のユーザインターフェース画面で輪郭長上限を高めに設定した様子を示すイメージ図である。FIG. 76 is an image diagram showing a state where the contour length upper limit is set higher on the user interface screen of FIG. 75. 図69の登録画像において図76の設定条件でセグメントが選択された状態を示すイメージ図である。FIG. 70 is an image view showing a state where a segment is selected under the setting condition of FIG. 76 in the registered image of FIG. 69. 図75のユーザインターフェース画面で輪郭長上限を低めに設定した様子を示すイメージ図である。FIG. 76 is an image diagram showing a state where the contour length upper limit is set lower on the user interface screen of FIG. 75. 図69の登録画像において図78の設定条件でセグメントが選択された状態を示すイメージ図である。FIG. 70 is an image diagram showing a state in which a segment is selected in the registered image of FIG. 長いセグメントをフィルタリングする手順を示すフローチャートである。It is a flowchart which shows the procedure which filters a long segment. 長いチェーンをフィルタリングする手順を示すフローチャートである。It is a flowchart which shows the procedure which filters a long chain. セグメント長でソート後にセグメントを選択する手順を示すフローチャートである。It is a flowchart which shows the procedure which selects a segment after sorting by segment length. フィルタリング後にセグメントを選択する手順を示すフローチャートである。It is a flowchart which shows the procedure which selects a segment after filtering. セグメントの法線方向を考慮したセグメントの選択手順を示すフローチャートである。It is a flowchart which shows the selection procedure of the segment which considered the normal line direction of the segment. 対称性の高い図形に対して精密位置決めを行う例を示す模式図である。It is a schematic diagram which shows the example which performs precise positioning with respect to a highly symmetrical figure. 逆ヘッセ法でエラー関数を近似する様子を示す模式図である。It is a schematic diagram which shows a mode that an error function is approximated by the inverse Hessian method. ピラミッドサーチの概念を示す模式図である。It is a schematic diagram which shows the concept of a pyramid search.

符号の説明Explanation of symbols

100…画像処理装置
100A…画像処理装置本体
200、300…画像処理プログラムの設定画面
1…画像入力手段
2…操作手段
3…表示手段
4…記憶手段
5…出力手段
6…演算手段
60…エッジ角度・エッジ強度画像作成手段
61…細線化手段
62…輪郭抽出手段
63…チェーン作成手段
64…エッジチェーン化手段
65…エッジチェーンセグメント化手段
66…チェーンフィルタ手段
67…セグメント選択手段
68…セグメント作成手段
69…エッジ角度ビット画像作成手段
70…パターンモデル構成手段
71…粗サーチ手段
76…精密位置決め手段
77…画像縮小手段
78…エッジ角度ビット画像縮小手段
81…エッジ強度上限
82…エッジ強度下限
83…輪郭長下限
84…輪郭選択本数
85…輪郭登録順序
86…輪郭長上限
RPM…縮小パターンウィンドウ
ROI…縮小サーチ対象画像
EB…エッジ角度ビット画像
REB…エッジ角度ビット縮小画像
EABR…縮小画像
KT…基点
TL、TTL1、TTL2…対応点探索ライン
TT…対応エッジ点
a、b、c、d…頂点
e…仮対応エッジ点
f…ペア点
TTA、TTB、TTC…対応エッジ点候補
RI…登録画像
PW…パターンウインドウ
PM…パターンモデル
OI…サーチ対象画像
KT1、KT2…基点
SG1、SG2、SGW、SGM…セグメント
1…第1の対応エッジ点候補と基点との距離
2…第2の対応エッジ点候補と基点との距離
M…エッジ強度
θE…エッジ角度
IE…入力エッジ点
SL…接線
SR…領域
EMc…注目エッジ点のエッジ強度値
EMf…矢印での推定エッジ強度値
EMb…丸印での推定エッジ強度値
EMf1、EMb1…十字方向のエッジ点の特徴量
EMf2、EMb2…対角方向のエッジ点の特徴量
EAc…エッジ角度が水平方向となす角度
TP1、TP2、TP3…仮対応エッジ点のサブピクセル位置
DESCRIPTION OF SYMBOLS 100 ... Image processing apparatus 100A ... Image processing apparatus main body 200, 300 ... Image processing program setting screen 1 ... Image input means 2 ... Operation means 3 ... Display means 4 ... Storage means 5 ... Output means 6 ... Calculation means 60 ... Edge angle Edge strength image creation means 61 ... thinning means 62 ... contour extraction means 63 ... chain creation means 64 ... edge chaining means 65 ... edge chain segmentation means 66 ... chain filter means 67 ... segment selection means 68 ... segment creation means 69 ... edge angle bit image creation means 70 ... pattern model construction means 71 ... coarse search means 76 ... fine positioning means 77 ... image reduction means 78 ... edge angle bit image reduction means 81 ... edge strength upper limit 82 ... edge strength lower limit 83 ... contour length Lower limit 84 ... Contour selection number 85 ... Contour registration order 86 ... Contour length upper limit RPM Reduction patterns window ROI ... reduced image to be searched EB ... edge angle bit image REB ... edge angle bit reduced image EABR ... reduced image KT ... base TL, TTL 1, TTL 2 ... corresponding point search line TT ... corresponding edge point a, b, c, d ... vertex e ... provisional corresponding edge point f ... pair point TT A , TT B , TT C ... corresponding edge point candidate RI ... registered image PW ... pattern window PM ... pattern model OI ... search target images KT 1 , KT 2 ... Base points SG 1 , SG 2 , SG W , SG M ... Segment d 1 ... Distance d 2 between first corresponding edge point candidate and base point ... Distance E M between second corresponding edge point candidate and base point ... Edge strength θ E Edge angle IE Input edge point SL Tangent SR Area EMc Edge strength value EMf of target edge point Estimated edge intensity value EMb indicated by arrow Estimated edge indicated by a circle Di-strength values EMf 1 , EMb 1 ... Cross point edge feature EMf 2 , EMb 2. Diagonal edge point feature EAc... Angle TP1, TP2, TP3. Edge point sub-pixel position

Claims (7)

予め登録された登録画像に対応するパターンモデルを用いて、サーチ対象画像中から該登録画像に類似するサーチ対象物をサーチして位置決めを行う際に、注目点と、該注目点に対応する対応点との位置関係で最小二乗法計算で用いるエラー値を演算し、これらの値から最小二乗法で得られる連立方程式を解き、所定の精度で与えられた初期位置よりも高い精度で位置決めを行う画像処理におけるパターンモデルの位置決め方法であって、
前記最小二乗法が、理想の位置と一致したときに最小となる項と、最小二乗法の変数である試行パラメータと一致したときに最小となる項とを含むことを特徴とする画像処理におけるパターンモデルの位置決め方法。
When searching for a search object similar to the registered image from the search target image using the pattern model corresponding to the registered image registered in advance and performing positioning, the attention point and the correspondence corresponding to the attention point The error value used in the least square method calculation is calculated based on the positional relationship with the point, the simultaneous equations obtained by the least square method are solved from these values, and positioning is performed with higher accuracy than the initial position given with a predetermined accuracy. A pattern model positioning method in image processing,
A pattern in image processing, wherein the least square method includes a term that is minimum when it matches an ideal position, and a term that is minimum when it matches a trial parameter that is a variable of the least square method. Model positioning method.
予め登録された登録画像に対応するパターンモデルを用いて、サーチ対象画像中から該登録画像に類似するサーチ対象物をサーチして位置決めを行う際に、所定の精度で与えられた初期位置よりも高い精度で位置決めを行う画像処理におけるパターンモデルの位置決め方法であって、
サーチ対象画像を取得すると共に、該サーチ対象画像中に含まれる登録画像に対応する初期位置を取得し、該初期位置に従って、前記パターンモデルをサーチ対象画像上に重ねるように配置して、前記パターンモデルを構成する各セグメントに対応するサーチ対象画像上の個々の対応エッジ点を求める工程と、
各セグメントと、その対応エッジ点との距離を第1エラー値として定義された最小二乗法の、第1エラー値の累積値を演算する第1エラー関数と、
前記第1エラー関数における変数である試行パラメータを変化させる際の該変化量を第2エラー値とし、該第2エラー値の累積値を演算する第2エラー関数と、
を含む最小二乗法の演算式を演算して、前記第1エラー関数と第2エラー関数の和が最小となるように、前記与えられた初期位置の精度よりも高い精度で精密位置決めを行う工程と、
を含むことを特徴とする画像処理におけるパターンモデルの位置決め方法。
When searching for a search object similar to the registered image from the search target image using the pattern model corresponding to the registered image registered in advance and positioning it, the initial position is given with a predetermined accuracy. A pattern model positioning method in image processing for positioning with high accuracy,
Acquiring a search target image, acquiring an initial position corresponding to a registered image included in the search target image, and arranging the pattern model so as to overlap the search target image according to the initial position, Obtaining individual corresponding edge points on the search target image corresponding to each segment constituting the model;
A first error function for calculating a cumulative value of the first error value in the least square method in which the distance between each segment and its corresponding edge point is defined as a first error value;
A second error function for calculating a cumulative value of the second error value by setting the change amount when changing the trial parameter which is a variable in the first error function as a second error value;
And performing precise positioning with higher accuracy than the accuracy of the given initial position so that the sum of the first error function and the second error function is minimized. When,
A pattern model positioning method in image processing, comprising:
請求項1又は2に記載の画像処理におけるパターンモデルの位置決め方法であって、
前記第2エラー関数が、最小二乗法の試行パラメータをPi、試行パラメータの初期値をP0iとするとき、Pi−P0iの関数であることを特徴とする画像処理におけるパターンモデルの位置決め方法。
A pattern model positioning method in image processing according to claim 1 or 2,
Positioning of a pattern model in image processing, wherein the second error function is a function of P i −P 0i where P i is a trial parameter of the least square method and P 0i is an initial value of the trial parameter. Method.
請求項3に記載の画像処理におけるパターンモデルの位置決め方法であって、
前記第2エラー関数が、
であることを特徴とする画像処理におけるパターンモデルの位置決め方法。
A method for positioning a pattern model in image processing according to claim 3,
The second error function is
A pattern model positioning method in image processing, characterized by:
予め登録された登録画像に対応するパターンモデルを用いて、サーチ対象画像中から該登録画像に類似するサーチ対象物をサーチして位置決めを行う際に、予め所定の精度で与えられた初期位置よりも高い精度で位置決めを行う画像処理装置であって、
登録画像及びサーチ対象画像を取得する画像入力手段と、
前記画像入力手段で取得された登録画像から輪郭を抽出する輪郭抽出手段と、
前記輪郭抽出手段で抽出された輪郭から複数のエッジ点を抽出し、抽出された複数のエッジ点の内、隣接しているエッジ点同士を連結して連続したチェーンを作成するチェーン作成手段と、
前記チェーン作成手段で作成された一以上のチェーンに対して、各々線分及び/又は円弧で近似したセグメントを作成するセグメント作成手段と、
前記セグメント作成手段で作成されたセグメント上に、複数の基点を設定すると共に、各基点に対して、基点を通りかつ輪郭と略直交する所定長さの対応点探索ラインを割り当てた登録画像のパターンモデルを構築するパターンモデル構築手段と、
前記画像入力手段で取得されたサーチ対象画像中に含まれる登録画像に対応する初期位置を取得し、該初期位置に従って、前記パターンモデルをサーチ対象画像上に重ねるように配置して、前記パターンモデルを構成する各セグメントに対応するサーチ対象画像上の個々の対応エッジ点を求め、各セグメントと、その対応エッジ点との距離を第1エラー値として定義された最小二乗法を演算し、該エラー値の累積値が最小となるようにすることで、前記当初与えられた初期位置よりも高い精度で精密位置決めを行うための精密位置決め手段と、
を備えており、
前記精密位置決め手段で用いる最小二乗法のエラー関数が、該第1エラー値を規定する第1エラー関数と、該最小二乗法における変数の試行パラメータからの変化量を第2エラー値とする第2エラー関数とを含むことを特徴とする画像処理装置。
When searching and positioning a search object similar to the registered image from the search target images using a pattern model corresponding to the registered image registered in advance, the initial position given with a predetermined accuracy is used. Is an image processing apparatus that performs positioning with high accuracy,
Image input means for acquiring registered images and search target images;
Contour extraction means for extracting a contour from a registered image acquired by the image input means;
A chain creating unit that extracts a plurality of edge points from the contour extracted by the contour extracting unit and creates a continuous chain by connecting adjacent edge points among the plurality of extracted edge points;
Segment creation means for creating segments approximated by line segments and / or arcs for one or more chains created by the chain creation means;
A registered image pattern in which a plurality of base points are set on the segment created by the segment creating means, and a corresponding point search line having a predetermined length passing through the base point and substantially orthogonal to the contour is assigned to each base point. Pattern model construction means for constructing a model,
An initial position corresponding to a registered image included in the search target image acquired by the image input unit is acquired, and the pattern model is arranged so as to overlap the search target image according to the initial position, and the pattern model Each corresponding edge point on the search target image corresponding to each segment constituting the segment is calculated, a least square method defined by using a distance between each segment and the corresponding edge point as a first error value is calculated, and the error is calculated. Precision positioning means for performing precise positioning with higher accuracy than the initially given initial position by making the cumulative value of the value minimum;
With
A least squares error function used in the precision positioning means includes a first error function that defines the first error value, and a second error value that is a change amount from a trial parameter of a variable in the least square method. And an error function.
予め登録された登録画像に対応するパターンモデルを用いて、サーチ対象画像中から該登録画像に類似するサーチ対象物をサーチして位置決めを行う際に、予め所定の精度で与えられた初期位置よりも高い精度で位置決めを行う画像処理プログラムであって、
登録画像及びサーチ対象画像を取得する画像入力機能と、
前記画像入力機能で取得された登録画像から輪郭を抽出する輪郭抽出機能と、
前記輪郭抽出機能で抽出された輪郭から複数のエッジ点を抽出し、抽出された複数のエッジ点の内、隣接しているエッジ点同士を連結して連続したチェーンを作成するチェーン作成機能と、
前記チェーン作成機能で作成された一以上のチェーンに対して、各々線分及び/又は円弧で近似したセグメントを作成するセグメント作成機能と、
前記セグメント作成機能で作成されたセグメント上に、複数の基点を設定すると共に、各基点に対して、基点を通りかつ輪郭と略直交する所定長さの対応点探索ラインを割り当てた登録画像のパターンモデルを構築するパターンモデル構築機能と、
前記画像入力機能で取得されたサーチ対象画像中に含まれる登録画像に対応する初期位置を取得し、該初期位置に従って、前記パターンモデルをサーチ対象画像上に重ねるように配置して、前記パターンモデルを構成する各セグメントに対応するサーチ対象画像上の個々の対応エッジ点を求め、各セグメントと、その対応エッジ点との距離を第1エラー値として定義された最小二乗法を演算し、該エラー値の累積値が最小となるようにすることで、前記当初与えられた初期位置よりも高い精度で精密位置決めを行うための精密位置決め機能と、
をコンピュータに実現させるものであり、
前記精密位置決め機能で用いる最小二乗法のエラー関数が、該第1エラー値を規定する第1エラー関数と、該最小二乗法における変数の試行パラメータからの変化量を第2エラー値とする第2エラー関数とを含むことを特徴とする画像処理プログラム。
When searching and positioning a search object similar to the registered image from the search target images using a pattern model corresponding to the registered image registered in advance, the initial position given with a predetermined accuracy is used. Is an image processing program for positioning with high accuracy,
An image input function for acquiring registered images and search target images;
A contour extraction function for extracting a contour from a registered image acquired by the image input function;
A chain creation function for extracting a plurality of edge points from the contour extracted by the contour extraction function and creating a continuous chain by connecting adjacent edge points among the extracted plurality of edge points;
A segment creation function for creating segments approximated by line segments and / or arcs for one or more chains created by the chain creation function;
A registered image pattern in which a plurality of base points are set on the segment created by the segment creation function, and a corresponding point search line having a predetermined length passing through the base point and substantially orthogonal to the contour is assigned to each base point. Pattern model construction function to construct a model,
An initial position corresponding to a registered image included in the search target image acquired by the image input function is acquired, and the pattern model is arranged to overlap the search target image according to the initial position, and the pattern model Each corresponding edge point on the search target image corresponding to each segment constituting the segment is calculated, a least square method defined by using a distance between each segment and the corresponding edge point as a first error value is calculated, and the error is calculated. A precision positioning function for performing precise positioning with higher accuracy than the initially given initial position by making the cumulative value of the value minimum,
Is realized on a computer,
A least squares error function used in the precision positioning function includes a first error function that defines the first error value, and a second error value that is a change amount from a trial parameter of a variable in the least square method. An image processing program comprising an error function.
請求項6に記載のプログラムを記録したコンピュータで読み取り可能な記録媒体。   A computer-readable recording medium on which the program according to claim 6 is recorded.
JP2008267976A 2008-10-16 2008-10-16 Positioning method for pattern model in image processing, image processing apparatus, image processing program and computer-readable recording medium Pending JP2010097436A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008267976A JP2010097436A (en) 2008-10-16 2008-10-16 Positioning method for pattern model in image processing, image processing apparatus, image processing program and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008267976A JP2010097436A (en) 2008-10-16 2008-10-16 Positioning method for pattern model in image processing, image processing apparatus, image processing program and computer-readable recording medium

Publications (1)

Publication Number Publication Date
JP2010097436A true JP2010097436A (en) 2010-04-30

Family

ID=42259066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008267976A Pending JP2010097436A (en) 2008-10-16 2008-10-16 Positioning method for pattern model in image processing, image processing apparatus, image processing program and computer-readable recording medium

Country Status (1)

Country Link
JP (1) JP2010097436A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015012548A (en) * 2013-07-01 2015-01-19 富士通株式会社 Image processor, correction method, and correction program
US9595095B2 (en) 2014-07-01 2017-03-14 Seiko Epson Corporation Robot system
CN109993800A (en) * 2019-03-18 2019-07-09 五邑大学 A kind of detection method of workpiece size, device and storage medium
US20220207731A1 (en) * 2019-09-24 2022-06-30 Nuvasive, Inc. Systems and Methods for Adjusting Appearance of Objects in Medical Images
CN115272217A (en) * 2022-07-22 2022-11-01 湖北工业大学 Underwater robot positioning method based on sonar images

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015012548A (en) * 2013-07-01 2015-01-19 富士通株式会社 Image processor, correction method, and correction program
US9595095B2 (en) 2014-07-01 2017-03-14 Seiko Epson Corporation Robot system
CN109993800A (en) * 2019-03-18 2019-07-09 五邑大学 A kind of detection method of workpiece size, device and storage medium
CN109993800B (en) * 2019-03-18 2023-01-03 五邑大学 Workpiece size detection method and device and storage medium
US20220207731A1 (en) * 2019-09-24 2022-06-30 Nuvasive, Inc. Systems and Methods for Adjusting Appearance of Objects in Medical Images
US11748858B2 (en) * 2019-09-24 2023-09-05 Nuvasive, Inc. Systems and methods for adjusting appearance of objects in medical images
CN115272217A (en) * 2022-07-22 2022-11-01 湖北工业大学 Underwater robot positioning method based on sonar images

Similar Documents

Publication Publication Date Title
JP5271031B2 (en) Image data compression method, pattern model positioning method in image processing, image processing apparatus, image processing program, and computer-readable recording medium
JP5301239B2 (en) Pattern model positioning method, image processing apparatus, image processing program, and computer-readable recording medium in image processing
JP5241423B2 (en) Image data reduction rate determination method in image processing, pattern model positioning method in image processing, pattern model creation method in image processing, image processing apparatus, image processing program, and computer-readable recording medium
JP2010097438A (en) Outline information extraction method using image processing, creation method for pattern model in image processing, positioning method for pattern model in image processing, image processor, image processing program and computer-readable recording medium
US9665789B2 (en) Device and method for analyzing the correlation between an image and another image or between an image and a video
JP4926116B2 (en) Image inspection device
JP5253955B2 (en) Pattern model positioning method, image processing apparatus, image processing program, and computer-readable recording medium in image processing
JP5981838B2 (en) System, method and computer program product for detecting defects in inspection images
JP6009351B2 (en) System, method, and computer program product for classification in inspection images
JP5116640B2 (en) Image processing apparatus, image processing program, and computer-readable recording medium having detection candidate neighborhood exclusion function
CN107945221B (en) Three-dimensional scene feature expression and high-precision matching method based on RGB-D image
US8983199B2 (en) Apparatus and method for generating image feature data
CN105335952B (en) Matching power flow computational methods and device and parallax value calculating method and equipment
JP7188201B2 (en) Image processing device, image processing method, and image processing program
JP2010097436A (en) Positioning method for pattern model in image processing, image processing apparatus, image processing program and computer-readable recording medium
EP2966613A1 (en) Method and apparatus for generating a super-resolved image from an input image
JP6171786B2 (en) Image processing apparatus, image processing method, and image processing program
JP6116271B2 (en) Feature amount calculation apparatus, method, and program
JP2011170554A (en) Object recognition device, object recognition method, and object recognition program
Liu et al. GOCD: Gradient order curve descriptor
TWI494900B (en) Method of real time image tracking
JP2000348175A (en) Method and device for corresponding point detection
CN115760969A (en) Robot positioning method, device, storage medium and robot
JP2015191308A (en) Collation device and collation program for document image and document image search device
JP2000123177A (en) Image processor and recording medium recording program for executing processing thereof