JPH0523463B2 - - Google Patents

Info

Publication number
JPH0523463B2
JPH0523463B2 JP6860886A JP6860886A JPH0523463B2 JP H0523463 B2 JPH0523463 B2 JP H0523463B2 JP 6860886 A JP6860886 A JP 6860886A JP 6860886 A JP6860886 A JP 6860886A JP H0523463 B2 JPH0523463 B2 JP H0523463B2
Authority
JP
Japan
Prior art keywords
primitive
dictionary
primitives
matching
unknown object
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.)
Expired - Lifetime
Application number
JP6860886A
Other languages
Japanese (ja)
Other versions
JPS62226389A (en
Inventor
Akiko Konno
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP6860886A priority Critical patent/JPS62226389A/en
Publication of JPS62226389A publication Critical patent/JPS62226389A/en
Publication of JPH0523463B2 publication Critical patent/JPH0523463B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、物体を画像処理してその認識を行
なう認識装置、特に複数の物体が互いに接触また
は重なつた物体(以下、重畳物体とも云う。)を
も認識することが可能な認識装置に関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a recognition device that performs image processing on an object to recognize the object, particularly an object in which a plurality of objects touch or overlap each other (hereinafter also referred to as a superimposed object). The present invention relates to a recognition device capable of recognizing even .).

〔従来の技術〕[Conventional technology]

かかる認識の手法には種々のものがあるが、そ
の代表的なものゝ1つとして、米国のスタンフオ
ード大学で開発されたスターンフオードアルゴリ
ズムと呼ばれるものが知られている。以下、その
概要について説明する。
There are various methods for such recognition, one of which is known as the Sternford algorithm developed at Stanford University in the United States. The outline will be explained below.

まず、対象物体を白、黒レベルで2値化し、こ
の2値化されたデータからランレングス(白ラン
または黒ランの長さ)によるコード化を行なう。
次いで、ランレングス化されたデータについて連
結性解析を行ない、種々の特徴量を計算する。ま
た、この基本的な特徴量の計算をもとにして、さ
らに多くの有用な特徴パラメータを計算する。そ
して、これらの特徴量およびパラメータを手がか
りとして認識を行なうが、これに先立つて標準サ
ンプルの学習が行なわれる。すなわち、テレビカ
メラ等の撮像装置により各物体を互いに独立に撮
像し、その画像処理を行なつて各種特徴量および
パラメータを計算し、統計処理を行なつた後に平
均値、標準偏差値等を計算して所定のメモリに辞
書として格納する操作が行なわれる。なお、この
操作は対象となる物体の全てに対して行なわれ
る。次いで、未知の物体について特徴量およびパ
ラメータを求め、これらをメモリに記憶されてい
る標準サンプルのそれらと比較し、その差が或る
許容値以下のときに未知物体の同定を行なう。こ
のとき、対象物体の形状や複雑さや対象物の種類
により、さらには識別精度(正確さ)、処理時間
等を考慮し、適切なパラメータを選択して用いる
ようにする。
First, the target object is binarized into white and black levels, and this binarized data is encoded by run length (length of white run or black run).
Next, connectivity analysis is performed on the run-length data to calculate various feature amounts. Furthermore, many more useful feature parameters are calculated based on this basic feature calculation. Then, recognition is performed using these feature amounts and parameters as clues, but prior to this, standard sample learning is performed. In other words, each object is imaged independently using an imaging device such as a television camera, the images are processed to calculate various feature amounts and parameters, and after statistical processing, the average value, standard deviation value, etc. are calculated. Then, an operation is performed to store the data in a predetermined memory as a dictionary. Note that this operation is performed on all target objects. Next, feature quantities and parameters are obtained for the unknown object, and these are compared with those of a standard sample stored in memory, and when the difference is less than a certain tolerance value, the unknown object is identified. At this time, appropriate parameters are selected and used in consideration of the shape and complexity of the target object, the type of the target object, as well as identification accuracy (accuracy), processing time, etc.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

しかしながら、かゝる手法は飽く迄も個々の物
体が互いに分離された状態で識別を行なうことを
前提とするものであるため、複数個の物体が互い
に接触したり、第16図の如くその一部が重なり
合うと認識が不能になるか、または誤判定すると
云う問題があつた。おお、第16図は円と四角形
が重なり合つた場合の例である。
However, since such a method is based on the assumption that individual objects are identified in a state where they are separated from each other, multiple objects may come into contact with each other, or some of them may be partially separated as shown in Figure 16. There was a problem that if they overlap, recognition becomes impossible or misjudgment occurs. Oh, Figure 16 is an example of a case where a circle and a rectangle overlap.

したがつて、この発明は重畳物体を含む未知物
体を正しく認識し得るようにすることを目的とす
る。
Therefore, an object of the present invention is to enable accurate recognition of unknown objects including superimposed objects.

〔問題点を解決するための手段〕[Means for solving problems]

複数種類の認識対象物体の各々についてその輪
郭を追跡してこれを直線部、円弧部等のプリミテ
イブに分割しそれぞれの属性と各頂点の属性とを
辞書として辞書メモリに登録する処理を予め行な
い、しかる後未知物体を辞書と同じくプリミテイ
ブに分割しそのプリミテイブ、頂点の属性により
未知物体を記述して所定のメモリに記憶し、これ
らのデータから未知物体の認識を行なう場合に、
未知物体の各プリミテイブをもとにこれとマツチ
ングするプリミテイブを辞書メモリからそれぞれ
探索しマツチングのとれたものを全てマツチング
組として取り出す辞書探索手段と、このマツチン
グ組の各々について辞書上のプリミテイブ、頂点
と未知物体のそれらとがどれだけマツチングして
いるかの度合を調べてマツチング対応表を作成す
る対応表作成手段と、この対応表より未知物体中
に隠されているプリミテイブまたは頂点を推定し
てプリミテイブ長の修正を行ない辞書とのマツチ
ングの度合を調べた後最適なものを推定物体とし
て取り出す隠れ部分推定手段と、この推定物体を
未知物体から除去しその結果残された部分につい
て如何なるプリミテイブ、頂点を補充すべきかの
推定を行ないその結果にもとづき未知物体を更新
する未知物体更新手段とを設ける。
A process is performed in advance to trace the outline of each of the plurality of types of objects to be recognized, divide it into primitives such as straight parts and arc parts, and register the attributes of each and the attributes of each vertex as a dictionary in a dictionary memory, After that, the unknown object is divided into primitives like a dictionary, and the unknown object is described using the attributes of the primitives and vertices and stored in a predetermined memory, and when the unknown object is recognized from these data,
Dictionary searching means searches for primitives to be matched with each primitive of an unknown object from a dictionary memory, and extracts all matched sets as a matching set; A correspondence table creation means that creates a matching correspondence table by checking the degree of matching with those of an unknown object, and a means for creating a matching correspondence table that estimates primitives or vertices hidden in the unknown object from this correspondence table and calculates the primitive length. Hidden part estimating means corrects and checks the degree of matching with the dictionary and extracts the optimal one as the estimated object, and removes this estimated object from the unknown object and supplements the remaining part with any primitives and vertices. unknown object updating means for estimating whether the object is to be detected and updating the unknown object based on the result.

〔作用〕[Effect]

第1図はこの発明の一実施例の構成を示すブロ
ツク図である。なお、同図において、1は輪郭追
跡部、2は曲率計算部、3はプリミテイブ記述
部、4は辞書作成部、5は辞書探索部、6はマツ
チング部、7は隠れ部分推定部、8は未知物体更
新部、M1は辞書データ記憶部、M2は未知物体
データ記憶部、IDは推定物体データ出力部であ
る。
FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention. In the figure, 1 is a contour tracking section, 2 is a curvature calculation section, 3 is a primitive description section, 4 is a dictionary creation section, 5 is a dictionary search section, 6 is a matching section, 7 is a hidden part estimation section, and 8 is a In the unknown object update section, M1 is a dictionary data storage section, M2 is an unknown object data storage section, and ID is an estimated object data output section.

まず、辞書を作成する(学習処理)。 First, a dictionary is created (learning process).

すなわち、図示されない撮像装置を介して入
力される画像データは、輪郭追跡部1により輪
郭上の境界点座標の列に変換される。なお、輪
郭追跡は、例えば良く知られているフリーマン
コーデイングにより行なわれる。曲率計算部2
は各境界点における曲率を求め、その極大点
(頂点)で境界点列を分割し、プリミテイブと
して取り出す。プリミテイブ記述部3では、こ
うして求めたプリミテイブにつきその平均曲率
によつて分類を行ない、平均曲率が或るしきい
値よりも大きいものを円弧部、小さいものを直
線部とする。辞書作成部4では、各プリミテイ
ブ毎にその属性(種類、長さ、半径、中心座
標、始点頂点No.、終点No.)を調べる一方、頂点
についても属性(種類、座標、角度、入力プリ
ミテイブNo.、出力プリミテイブNo.)を調べ、こ
れらを辞書として記憶部M1に格納しておく。
こゝで、プリミテイブの始点頂点No.および終点
頂点No.は、プリミテイブの隣接関係を記述する
ために用いられる。また、入力プリミテイブと
はその頂点を終点とするプリミテイブ、出力プ
リミテイブとはその頂点を始点とするプリミテ
イブのことである。
That is, image data input via an imaging device (not shown) is converted by the contour tracking unit 1 into a sequence of boundary point coordinates on the contour. Note that the contour tracking is performed by, for example, the well-known Freeman coding. Curvature calculation section 2
calculates the curvature at each boundary point, divides the boundary point sequence at its maximum point (vertex), and extracts it as a primitive. The primitive description unit 3 classifies the primitives obtained in this way according to their average curvature, and those whose average curvature is larger than a certain threshold are classified as arc parts, and those with smaller average curvatures are classified as straight parts. The dictionary creation unit 4 examines the attributes (type, length, radius, center coordinates, starting point vertex number, end point number) of each primitive, and also checks the attributes (type, coordinates, angle, input primitive number) of vertices. ., output primitive No.) and store them in the storage unit M1 as a dictionary.
Here, the starting point vertex number and ending point vertex number of the primitive are used to describe the adjacency relationship of the primitives. Further, an input primitive is a primitive whose end point is the vertex, and an output primitive is a primitive whose start point is the vertex.

次に、未知物体についても上記と同様な方法
でプリミテイブ分割を行ない、プリミテイブお
よび頂点データによつて物体の記述を行なう。
頂点に関するデータは、記憶部M2に格納され
る。
Next, the unknown object is divided into primitives in the same manner as described above, and the object is described using primitive and vertex data.
Data regarding the vertices is stored in the storage unit M2.

辞書探索部5は未知物体のプリミテイブのう
ち最長のものから順に、辞書中にそれとマツチ
ングするプリミテイブがあるかどうかを調べ
る。そして、得られた未知物体中のプリミテイ
ブと辞書中のプリミテイブの組をマツチング組
としてマツチング部(対応表作成部)6へ送
る。このとき、未知物体のひとつのプリミテイ
ブに対して辞書中にマツチングするプリミテイ
ブが多数ある場合は、マツチング組もその数だ
け存在することになる。
The dictionary search unit 5 checks in order from the longest primitive among the primitives of the unknown object whether there is a primitive that matches it in the dictionary. Then, the obtained set of the primitive in the unknown object and the primitive in the dictionary is sent to the matching unit (correspondence table creation unit) 6 as a matching set. At this time, if there are a large number of matching primitives in the dictionary for one primitive of the unknown object, there will be matching sets corresponding to that number.

次に、マツチング部6は辞書探索部から送ら
れてきたマツチング組のひとつひとつに対し
て、辞書パターンと未知物体上のプリミテイ
ブ、頂点の対応付けを行い、その結果をマツチ
ング対応表に書き入れる。このとき、辞書パタ
ーンのデータと未知物体上で対応付けられたデ
ータとの誤差を、辞書パターンのデータで正規
化したものをマツチング度として定義しておく
ものとする。マツチング組のうち、最も高いマ
ツチング度を持つ1組のマツチング対応表を穏
れ部分推定部7に送る。
Next, the matching unit 6 associates the dictionary pattern with the primitives and vertices on the unknown object for each of the matching sets sent from the dictionary search unit, and writes the results into a matching correspondence table. At this time, the degree of matching is defined as the error between the data of the dictionary pattern and the data associated with the unknown object, normalized by the data of the dictionary pattern. Among the matching sets, the matching correspondence table of one set having the highest matching degree is sent to the calm part estimating section 7.

マツチング対応表中で辞書パターンのプリミ
テイブ、頂点に対して未知物体上で対応するプ
リミテイブ、頂点がないところは他の物体によ
つて隠されていると考えられるので、隠れ部分
推定部7にて隠されている部分の推定を行う。
推定は一度に1頂点、または1プリミテイブに
ついて行う。頂点が隠れている場合には、その
頂点の両端のプリミテイブを延長してその交点
を求めることにより頂点の位置および角度の推
測を行い、両方のプリミテイブ長の修正を行
う。一方、プリミテイブが隠れていて、辞書中
では1つのプリミテイブとなつているものが未
知物体中で他の物体によつて隠され2本以上に
分断されている時は、両方のプリミテイブの延
長、接続によつてプリミテイブ長の修正を行
う。こうして推定を行つた結果、辞書中のパタ
ーンと一致する物体が構成できれば、これを推
定物体として出力部IDへ出力する。推定を行
つても辞書パターンと一致しない場合はマツチ
ング部6へ戻り、次にマツチング度の高かつた
組合わせのマツチング対応表を持つて来て、再
び隠れ部分の推定を行う。
In the matching correspondence table, the primitives of the dictionary pattern, the primitives corresponding to the vertices on the unknown object, and the places where there are no vertices are considered to be hidden by other objects, so the hidden part estimation unit 7 hides them. Estimate the portion that has been
Estimation is done one vertex or one primitive at a time. If the vertex is hidden, the position and angle of the vertex are estimated by extending the primitives at both ends of the vertex and finding their intersection, and the lengths of both primitives are corrected. On the other hand, when a primitive is hidden and what is classified as one primitive in the dictionary is hidden by another object in the unknown object and divided into two or more, the extension or connection of both primitives. The primitive length is corrected by . As a result of this estimation, if an object that matches the pattern in the dictionary can be constructed, this is output as the estimated object to the output unit ID. If the estimation does not match the dictionary pattern, the process returns to the matching section 6, which fetches a matching correspondence table of combinations with a high degree of matching, and estimates the hidden portion again.

隠れ部分推定部7から辞書中の推定物体が出
力された場合 未知物体からこの推定物体を除去する働きをす
るのが未知物体更新部8である。未知物体更新部
8は未知物体から辞書との対応のついたプリミテ
イブ、頂点を除去し、その後残つた空白部分につ
いてこゝに何を補充すべきかの推定を行い、頂点
角度、プリミテイブ長および接続関係等の修正を
行う。そして、この修正または更新された物体を
新たに未知物体として入力し、辞書探索部5から
同じ処理を繰り返す。最後に、辞書と一致する未
知物体が残れば全処理終了となる。
When the hidden part estimator 7 outputs an estimated object in the dictionary, the unknown object updater 8 functions to remove this estimated object from the unknown objects. The unknown object update unit 8 removes primitives and vertices that have correspondence with the dictionary from the unknown object, estimates what should be filled in the remaining blank space, and updates the vertex angles, primitive lengths, and connection relationships. etc. will be corrected. Then, this corrected or updated object is input as a new unknown object, and the same process is repeated from the dictionary search section 5. Finally, if an unknown object that matches the dictionary remains, the entire process ends.

〔実施例〕〔Example〕

第2図はこの発明が適用される認識装置を示す
構成図である。同図において、10は対象物体、
11はテレビカメラの如き撮像装置、12は増幅
器および2値化回路等を含む前処理回路、13は
物体の各種特徴量を抽出する特徴抽出回路、14
は画像メモリ、15はマイクロプロセツサ等から
なる処理装置(プロセツサ)、16はインタエイ
ス回路、17はキーボードやデイスプレイからな
る端末、Mはデータメモリで第1図の記憶部M
1,M2を包含している。すなわち、テレビカメ
ラ11を介して得られる対象物体10の映像信号
(ビデオ信号)は、前処理回路12にて2値化さ
れ、さらに特徴抽出回路13によりセグメント
(ランレングスに相当する)情報として画像メモ
リ14に書き込まれる。このデータをプロセツサ
15で処理し、辞書の作成や未知物体の記述を行
ない、メモリMに格納する。しかる後、このデー
タにもとづき第1図で説明したような処理を行な
うことにより、未知の重量物体から個々の物体を
分離して認識することができるようにする。な
お、インタフエイス回路16を介して端末17か
らキー入力することにより、2値化しきい値等の
変更が可能であり、処理結果をデイスプレイ上で
見ることも可能である。
FIG. 2 is a block diagram showing a recognition device to which the present invention is applied. In the figure, 10 is a target object,
11 is an imaging device such as a television camera; 12 is a preprocessing circuit including an amplifier and a binarization circuit; 13 is a feature extraction circuit for extracting various feature quantities of an object; 14;
1 is an image memory, 15 is a processing unit (processor) consisting of a microprocessor, etc., 16 is an interface circuit, 17 is a terminal consisting of a keyboard and display, and M is a data memory, which is the storage section M in FIG.
1 and M2. That is, the image signal (video signal) of the target object 10 obtained through the television camera 11 is binarized by the preprocessing circuit 12, and further converted into an image as segment (corresponding to run length) information by the feature extraction circuit 13. The data is written to the memory 14. This data is processed by the processor 15 to create a dictionary and describe the unknown object, and then stores it in the memory M. Thereafter, by performing the processing described in FIG. 1 based on this data, it becomes possible to separate and recognize individual objects from the unknown heavy objects. Note that by inputting keys from the terminal 17 via the interface circuit 16, it is possible to change the binarization threshold value, etc., and it is also possible to view the processing results on the display.

その動作の概要は第1図で説明したとおりであ
るが、以下に特徴となる各部の動作について詳細
に説明する。なお、第1図の輪郭追跡部1、曲率
計算部2、プリミテイブ記述部3および辞書作成
部4を介して得られる辞書パターンとそのデータ
がそれぞれ第3図(辞書1)、第4図(辞書2)
および第5図(辞書3)の如く表わされるものと
し、第6図の如き未知の重量物体を識別する場合
を具体例として説明する。なお、第6A図は第6
図に示すプリミテイブのデータを説明するための
説明図、第6B図は同じくその頂点データを説明
するための説明図である。
Although the outline of its operation is as explained in FIG. 1, the operation of each characteristic part will be explained in detail below. Note that the dictionary patterns and their data obtained through the contour tracking unit 1, curvature calculation unit 2, primitive description unit 3, and dictionary creation unit 4 in FIG. 1 are shown in FIG. 3 (dictionary 1) and FIG. 4 (dictionary), respectively. 2)
5 (Dictionary 3), and a case where an unknown heavy object as shown in FIG. 6 is identified will be explained as a specific example. Note that Figure 6A is
FIG. 6B is an explanatory diagram for explaining the primitive data shown in the figure, and FIG. 6B is an explanatory diagram for explaining the vertex data.

まず、辞書探索部について説明する。 First, the dictionary search section will be explained.

辞書探索部は未知物体の最長プリミテイブに対
しそのプリミテイブとマツチングするプリミテイ
ブを辞書中から探索する。マツチングの条件は、
以下のとおりである。
The dictionary search unit searches the dictionary for a primitive that matches the longest primitive of the unknown object. The matching conditions are
It is as follows.

・ 直線プリミテイブの場合 辺の長さと両端の角度が一致するプリミテイブ ・ 円または円弧プリミテイブの場合 半径の一致するプリミテイブ ここでいう一致とは、その差が許容誤差範囲内
にある場合を含むものとする。未知物体中の最長
プリミテイブに対し、マツチングするプリミテイ
ブが見つからない場合は、次に長いプリミテイブ
に対して探索を行う。探索によつて得られた辞書
中のプリミテイブ全部に対して、次の如く表わさ
れるマツチング組 (辞書No.−辞書中プリミテイブNo.、未知物体プ
リミテイブNo.(PRNo.)、マツチング度) をマツチング部へ送る。
- For straight line primitives: Primitives whose side lengths and angles at both ends match - For circle or arc primitives: Primitives whose radii match. Matching here includes cases where the difference is within the tolerance range. If a matching primitive is not found for the longest primitive in the unknown object, a search is performed for the next longest primitive. For all the primitives in the dictionary obtained by the search, the matching unit creates a matching set (dictionary number - primitive number in the dictionary, unknown object primitive number (PR No.), matching degree) expressed as follows. send to

未知物体中の第iプリミテイブと、辞書jの第
kプリミテイブがマツチングした場合のマツチン
グ度Mi-jkを、次式にて算出する。
The degree of matching M i -jk when the i-th primitive in the unknown object and the k-th primitive of dictionary j are matched is calculated using the following equation.

Mi-jk={1−|Li−Ljk|/Ljk} ×{1−|Ri−Rjk|/Rjk} ×{1−|Ti -−Tjk -|/Tjk -} ×{1−|Ti +−Tjk +|/Tjk +} …(1) こゝに、Liは未知物体の第iプリミテイブ長、
Riは同じくその半径、Ti -は同じくその始点角度、
Ti +は同じくその終点角度である。また、Ljkは辞
書jの第kプリミテイブ長、Rjkは同じくその半
径、Tjk -は同じくその始点角度、Tjk +は同じくそ
の終点角度である。なお、(1)式で直線プリミテイ
ブの場合は第2項=1とし、また円、円弧プリミ
テイブの場合は第3項=第4項=1とする。
M i-jk = {1-|L i −L jk |/L jk } ×{1-|R i −R jk |/R jk } ×{1−|T i - −T jk - |/T jk - } ×{1−|T i + −T jk + |/T jk + } …(1) Here, L i is the i-th primitive length of the unknown object,
R i is also its radius, T i - is also its starting point angle,
T i + is also its end point angle. Furthermore, L jk is the k-th primitive length of dictionary j, R jk is its radius, T jk - is its starting point angle, and T jk + is its ending point angle. In equation (1), in the case of a straight line primitive, the second term = 1, and in the case of a circle or arc primitive, the third term = 4th term = 1.

第6図の例における最長プリミテイブは長さ
140の円弧プリミテイブ7である。辞書中よりこ
れにマツチングするプリミテイブを探索すると、
第3図に示す辞書1のプリミテイブ1(PR1)が
見つかるが、このときのマツチング度M7 1-1は、 M7 1-1={1−|R7−R11|/R11} {1−|L7−L11|/L11}={1−|30−30|/30} {1−|140−188|/188}=0.74 となる。他にこのプリミテイブにマツチングする
プリミテイブは辞書中には存在しないので、次の
如きマツチング組 (辞書1−PR1,PR7,0.74) をマツチング部へ送る。なお、第3図ロのX,Y
は中心のX座標、Y座標を示す。
The longest primitive in the example in Figure 6 is length
140 arc primitive 7. If you search for a primitive that matches this in the dictionary,
Primitive 1 (PR1) of dictionary 1 shown in Figure 3 is found, but the matching degree M 7 1-1 at this time is M 7 1-1 = {1-|R 7 −R 11 |/R 11 } { 1-| L7 - L11 |/ L11 }={1-|30-30|/30} {1-|140-188|/188}=0.74. Since there are no other primitives in the dictionary that match this primitive, the following matching set (dictionary 1 - PR1, PR7, 0.74) is sent to the matching section. In addition, X, Y in Figure 3 (b)
indicate the X and Y coordinates of the center.

第7A図ないし第7E図は、辞書探索部におけ
る以上の如き動作を説明するためのフローチヤー
トである。
FIGS. 7A to 7E are flowcharts for explaining the above-described operations in the dictionary search section.

すなわち、第7A図は最も長いプリミテイブを
探索するための部分フローチヤートであり、未知
物体のプリミテイブ番号を“1”最長のプリミテ
イブ長を“L1”と仮定して処理を開始し、最長
のプリミテイブ番号IMAXとその長さLMAXを抽出す
る。また、第7B図は最長のプリミテイブが円の
場合の動作を説明するための部分フローチヤー
ト、第7C図は最長のプリミテイブが円弧の場合
の動作を説明するための部分フローチヤート、第
7D図は最長のプリミテイブが直線の場合の動作
を説明するための部分フローチヤート、第7E図
はマツチング組があつた場合となかつた場合の動
作を説明するための部分フローチヤートである。
なお、これらの図において、iは未知物体のプリ
ミテイブ番号、jは辞書番号、kは辞書jのプリ
ミテイブ番号、Nは未知物体のプリミテイブ総
数、mは辞書総数、Njは辞書j上のプリミテイ
ブ総数をそれぞれ表わしている。
That is, FIG. 7A is a partial flowchart for searching for the longest primitive. The process is started assuming that the primitive number of the unknown object is "1" and the longest primitive length is "L 1 ", and the longest primitive is searched. Extract the number I MAX and its length L MAX . Also, FIG. 7B is a partial flowchart for explaining the operation when the longest primitive is a circle, FIG. 7C is a partial flowchart for explaining the operation when the longest primitive is an arc, and FIG. 7D is a partial flowchart for explaining the operation when the longest primitive is an arc. FIG. 7E is a partial flowchart for explaining the operation when the longest primitive is a straight line. FIG. 7E is a partial flowchart for explaining the operation when there is a matching set and when there is no matching set.
In these figures, i is the primitive number of the unknown object, j is the dictionary number, k is the primitive number of dictionary j, N is the total number of primitives of the unknown object, m is the total number of dictionaries, and N j is the total number of primitives in dictionary j. each represents.

マツチング部(対応表作成部) こゝでは、辞書探索部から送られてきたマツチ
ング組のひとつひとつについて、辞書上のプリミ
テイブ、頂点と未知物体とがどれだけマツチング
しているかを調べ、マツチング対応表を作成す
る。
Matching section (correspondence table creation section) Here, for each matching set sent from the dictionary search section, we check how well the primitives and vertices in the dictionary are matched with unknown objects, and create a matching correspondence table. create.

いま、辞書探索部から(辞書j−PRk,PRi,
Mi j-k)なるマツチング組が送られてきたとする。
これは、未知物体中の第iプリミテイブと辞書j
の第kプリミテイブがマツチングがとれているこ
とを意味する。マツチング対応表は対応するプリ
ミテイブ、頂点とそのマツチング度を一覧表にし
たものである。なお、プリミテイブと頂点とで
は、マツチング度の定義が異なる。すなわち、プ
リミテイブのマツチング度MPi j-kは、 MPi j-k={1−|Ri−Rjk|/Rjk} ×{1−|Li−Ljk|/Ljk} …(2) であり、頂点のマツチング度は、 MAi j-k={1−|Ti−Tjk|/Tjk} …(3) である。こゝに、Tiは未知物体上の第i頂点の角
度、Tjkは辞書jの第k頂点の角度をそれぞれ表
わしている。
Now, from the dictionary search section (dictionary j−PRk, PRi,
Suppose that a matching set M i jk ) is sent.
This is the i-th primitive in the unknown object and the dictionary j
This means that the kth primitive of is well matched. The matching correspondence table is a list of corresponding primitives, vertices, and their matching degrees. Note that the definition of matching degree is different between primitives and vertices. That is, the matching degree MP i jk of the primitive is MP i jk = {1−|R i −R jk |/R jk } ×{1−|L i −L jk |/L jk } …(2) , the matching degree of the vertices is MA i jk = {1−|T i −T jk |/T jk } (3). Here, T i represents the angle of the i-th vertex on the unknown object, and T jk represents the angle of the k-th vertex of dictionary j.

まず、マツチング組に記載されているプリミテ
イブ、頂点の対応関係を対応表へ書き写す。マツ
チング表は辞書中の全要素(プリミテイブ、頂点
を合わせたものを要素と呼ぶ。)について、 (辞書上のマツチング要素、未知物体上のマツ
チング要素、マツチング度) という値の組を並べたものである。辞書要素に対
応する未知物体上の要素がない場合はマツチング
表内の第2項,第3項には0(ゼロ)を入れるこ
とゝする。この部分は後のステツプでの推定対象
となる。つまり、第7A図ないし第7E図では未
知物体のプリミテイブをもとに辞書を探索した
が、こゝでは逆に辞書から未知物体を探索する。
その動作を示すのが第8A図ないし第8K図であ
る。まず、未知物体の第iプリミテイブと、辞書
jの第kプリミテイブとがマツチングしているか
ら、i0=i,k0=kとして辞書jが円か否かを判
別する(第8A図○イ,○ロ参照)。
First, the correspondence between primitives and vertices listed in the matching set is copied to a correspondence table. A matching table is a set of values (matching elements in the dictionary, matching elements on unknown objects, matching degree) for all elements in the dictionary (primitives, the sum of their vertices is called an element). be. If there is no element on the unknown object that corresponds to the dictionary element, enter 0 (zero) in the second and third terms in the matching table. This part will be the subject of estimation in a later step. In other words, in FIGS. 7A to 7E, the dictionary was searched based on the primitive of the unknown object, but here, the dictionary is searched for the unknown object.
The operation is shown in FIGS. 8A to 8K. First, since the i-th primitive of the unknown object and the k-th primitive of dictionary j are matched, it is determined whether dictionary j is a circle or not by setting i 0 = i, k 0 = k (see Figure 8A, ○ I). , see ○b).

A 辞書jが円である場合 マツチング組の内容をそのままマツチング対応
表に書き写す。次に、未知物体上で第iプリミテ
イブと半径、中心が一致する円弧プリミテイブを
探し、あれば辞書jの第1プリミテイブ(円は物
体上にひとつのプリミテイブしかない)とそのプ
リミテイブとのマツチング度を求めて、マツチン
グ対応表に追加する。
A: When dictionary j is a circle, copy the contents of the matching group as is into the matching correspondence table. Next, search for an arc primitive whose radius and center match the i-th primitive on the unknown object, and if there is one, calculate the degree of matching between that primitive and the first primitive in dictionary j (a circle has only one primitive on the object). and add it to the matching compatibility table.

B 辞書jの第kプリミテイブが直線である場合 B−1 この場合、第8A図のから第8B図
のへと進み、まず、マツチング組を3つの
要素(始点頂点、プリミテイブ、終点頂点)
に分け、それぞれのマツチング度とともにマ
ツチング対応表に書く(第8B図○イ,○ロ,○ハ
参照)。
B: When the k-th primitive of dictionary j is a straight line B-1 In this case, proceed from Figure 8A to Figure 8B, and first create a matching set of three elements (start point vertex, primitive, end point vertex).
Divide them into 1 and write them in the matching table along with their matching degree (see Figure 8B, ○A, ○B, and ○C).

いま、例えばマツチング組として(辞書j
−PRk,PRi,Mi j-k)が送られてきたとす
る。ここで、辞書jのプリミテイブkは直線
である。したがつて、辞書jのプリミテイブ
kと未知物体上のプリミテイブiとがマツチ
ングしたということは、その始点角度、プリ
ミテイブ長(半径)、終点角度の3つの要素
がマツチングしたということであるので、 (j−Ak-,Ai-,MAi- j-k -):始点角度 (j−PRk,PRi,MPi j-k):プリミテイブ (j−Ak+,Ai+,MAi+ j-k +):終点角度 の3つをマツチング対応表に書く。こゝに、
Ak-,Ai-はそれぞれ第kプリミテイブの始
点、第iプリミテイブの始点、Ak+,Ai+
それぞれ第kプリミテイブの終点、第iプリ
ミテイブの終点を示す。そして、最初にマツ
チング組で送られてきたk,iをそれぞれ
k0,i0として残しておく。これは、マツチン
グの終了チエツクに使用する(第8A図○イ参
照)。
Now, for example, as a matching group (dictionary j
−PRk, PRi, M i jk ) are sent. Here, primitive k of dictionary j is a straight line. Therefore, the fact that primitive k in dictionary j and primitive i on the unknown object are matched means that the three elements, the starting point angle, the primitive length (radius), and the ending point angle, are matched, so ( j−Ak - , Ai - , MA i- jk - ): Starting point angle (j−PRk, PRi, MP i jk ): Primitive (j−Ak + , Ai + , MA i+ jk + ): Ending point angle Write in the matching correspondence table. Here,
Ak - and Ai - indicate the starting point of the k-th primitive and the starting point of the i-th primitive, respectively, and Ak + and Ai + indicate the ending point of the k-th primitive and the ending point of the i-th primitive, respectively. Then, each of k and i sent in the matching group at the beginning is
Leave them as k 0 and i 0 . This is used to check the completion of matching (see Figure 8A).

B−2 マツチング組によつて対応づけられた
プリミテイブから、反時計回りの方向にどれ
だけ対応付けができるかを調べる。この場
合、第8B図のから第8C図のに進む。
辞書について、第kプリミテイブに反時計回
り方向に隣接するプリミテイブは k=k mod Nj+1 となる。こゝに、Njは辞書j中のプリミテ
イブ総数である。なお、A modBはAをB
で割つたときの余りを表わす。一方、未知物
体中の第iプリミテイブに反時計回り方向に
隣接するプリミテイブは、未知物体上のプリ
ミテイブ総数をNとすれば、 i=i modN+1 であり、この2つのプリミテイブの長さを比
較する(第8C図○イ参照)。
B-2 From the primitives matched by the matching set, check how many matches can be made in the counterclockwise direction. In this case, proceed from FIG. 8B to FIG. 8C.
For the dictionary, the primitive adjacent to the kth primitive in the counterclockwise direction is k=k mod N j +1. Here, N j is the total number of primitives in dictionary j. Furthermore, A modB is A mod B.
Represents the remainder when divided by . On the other hand, for the primitive adjacent to the i-th primitive in the unknown object in the counterclockwise direction, if the total number of primitives on the unknown object is N, then i=i modN+1, and the lengths of these two primitives are compared ( (See Figure 8C ○a).

B−2− Li<Ljkの場合 この場合、第8C図のから第8D図の
へ分岐する。このとき、辞書jの第kプ
リミテイブに対応する未知物体上のプリミ
テイブが他の物体によつて一部隠されてい
ることになる。そこで、まずLiとLjkにつ
いてマツチング対応表に次の値を書き加え
る(第8D図○イ参照)。
B-2- Case of L i <L jk In this case, the process branches from FIG. 8C to FIG. 8D. At this time, the primitive on the unknown object corresponding to the k-th primitive of dictionary j is partially hidden by another object. Therefore, first add the following values to the matching table for L i and L jk (see Figure 8D).

(辞書j=PRk,PRi,MPi j-k) しかる後、未知物体上に辞書jの第kプリ
ミテイブに対応する残りのプリミテイブが
あるかどうか調べる。調べ方は、変数ii=
iとし ii=imodN+1 の如く更新して未知物体を反時計回りの方
向に辿つてゆき、第iプリミテイブと同一
直線上にあるプリミテイブで、かつ始点間
距離がLjk以下のものを探す(第8D図○ロ,
○ハ参照)。
(Dictionary j=PRk, PRi, MP i jk ) After that, it is checked whether there are any remaining primitives corresponding to the k-th primitive of dictionary j on the unknown object. To check, variable ii=
Set i, update as ii=imodN+1 and trace the unknown object in a counterclockwise direction, searching for a primitive that is on the same straight line as the i-th primitive and whose distance between the starting points is less than or equal to L jk (8th D Figure○Ro,
○Refer to C).

a○ ii=i0−1までで見つからなかつた場合は、
第8D図のから第8E図のへ分岐し、こ
の方向の探索を打ち切る。そして、kfwd=
kとして、次の逆方向探索B−ii−3)項
()へ進む。
If it is not found up to a○ ii=i 0 -1,
The process branches from FIG. 8D to FIG. 8E, and the search in this direction is terminated. And kfwd=
k, proceed to the next backward search B-ii-3) term ().

b○ 見つかつた場合 Γ 第iプリミテイブ始点と第iiプリミテイ
ブ終点間距離<Ljkのときは、 (辞書j−PRk,PRii,MPii j-k) をマツチング対応表に加え、第8D図のか
ら○ロへ戻り、さらに探索を続ける。
b○ If found, Γ If the distance between the i-th primitive start point and the ii-th primitive end point <L jk , add (dictionary j - PRk, PRii, MP ii jk ) to the matching correspondence table, and from ○ro in Figure 8D. Go back and continue exploring.

Γ 第iプリミテイブ始点と第iiプリミテイ
ブ終点間距離=Ljkのときは、 (辞書j−PRk,PRii,MPii j-k) をマツチング対応表に加え、i=iiとして第
8C図のに進む。
Γ When the distance between the i-th primitive start point and the ii-th primitive end point = L jk , add (dictionary j - PRk, PRii, MP ii jk ) to the matching correspondence table, set i = ii, and proceed to Figure 8C.

Γ 第iプリミテイブ始点と第iiプリミテイ
ブ終点間距離>Ljkのときは、第8D図の
から第8E図のへ分岐する。この場合、第
iiプリミテイブは辞書jの第kプリミテイブ
に対応するプリミテイブと他のプリミテイブ
が重なつているものと考えられる。従つて、
これを分割して、辞書jの第kプリミテイブ
に対応する分だけについてマツチングを求め
る。そのため、第iプリミテイブの始点から
Ljkだけ離れた第iiプリミテイブ上の点の座標
を求め、この点と第iiプリミテイブ始点との
距離をLii′とし、このLii′を使用してマツチ
ング度 MPiij-k={1−|Lii′−Ljk|/Ljk} を求め、 (辞書j−PRk,PRii,MPiij-k) をマツチング対応表中に書き込む。i=iiと
した後の処理は、次のB−2−iii)項のb○と
同じである。
Γ When the distance between the i-th primitive start point and the ii-th primitive end point>L jk , the process branches from FIG. 8D to FIG. 8E. In this case, the
The ii primitive is considered to be a primitive that corresponds to the k-th primitive of the dictionary j and another primitive overlapped with each other. Therefore,
This is divided and matching is performed only for the portion corresponding to the k-th primitive of dictionary j. Therefore, from the starting point of the i-th primitive
Find the coordinates of a point on the ii-th primitive that is separated by L jk , set the distance between this point and the start point of the ii-th primitive as L ii ′, and use this L ii ′ to calculate the matching degree MP iijk = {1− Find |L ii ′−L jk |/L jk } and write (dictionary j−PRk, PRii, MP iijk ) in the matching correspondence table. The processing after setting i=ii is the same as b○ in the following section B-2-iii).

B−2−ii Li=Ljkの場合 a○ 辞書jの第kプリミテイブと未知物体上の
第iプリミテイブが対応付けられたの
で、 (辞書j−PRk,PRi,MPi j-k) をマツチング対応表に加える(第8C図
○ロ,○ハ参照)。
B-2-ii When Li = L jk a○ Since the k-th primitive of dictionary j and the i-th primitive on the unknown object have been matched, (dictionary j-PRk, PRi, MP i jk ) is matched. Add to the table (see Figure 8C, ○B, ○C).

b○ 終点の頂点同志が対応しているかどうかを
調べる。その前に、未知物体と辞書jが
全く同一のものであつた場合、辞書jに
ついてひととおり対応付けが終了したか
どうかをチエツクするために、第kプリ
ミテイブの終点の頂点No.と第k0プリミテ
イブの始点の頂点No.が等しいかどうかを
みる(第8C図○ニ参照)。等しければ、
マツチング対応表の作成を終了する(
参照)。等しくない場合は、未知物体の
第iプリミテイブの終点と辞書jの第k
プリミテイブの終点が種類、角度ともに
等しいかを調べる(第8C図○ホ参照)。
b○ Check whether the vertices at the end point correspond. Before that, if the unknown object and the dictionary j are exactly the same, in order to check whether the correspondence has been completed for the dictionary j, the vertex number of the end point of the kth primitive and the k0th Check whether the starting point vertex numbers of the primitives are the same (see Figure 8C). If they are equal,
Finish creating the matching correspondence table (
reference). If they are not equal, the end point of the i-th primitive of the unknown object and the k-th primitive of the dictionary j
Check whether the end points of the primitives are equal in type and angle (see Figure 8C).

Γ 等しい場合は頂点のマツチング度を
求め、 (辞書j−k+,i+,MAi+ j-k +) をマツチング対応表に加え、次に隣接す
るプリミテイブのチエツクへ戻る(第8
C図参照)。
If Γ is equal, find the matching degree of the vertex, add (dictionary j−k + , i + , MA i+ jk + ) to the matching correspondence table, and then return to checking the adjacent primitives (8th
(See Figure C).

Γ 等しくない場合は、辞書jの第kプ
リミテイブの終点に対してマツチングす
る頂点がないので、第8C図のを経て
第8図のへ進み、 (辞書j−k+,0,0) をマツチング対応表に加え、kfwd=k,
ifwd=iとしてこの方向のマツチング
を終了し、次のB−3項へ進む。
If Γ is not equal, there is no vertex to be matched to the end point of the k-th primitive of dictionary j, so proceed to Figure 8 via Figure 8C and match (dictionary j−k + , 0, 0). In addition to the correspondence table, kfwd=k,
Matching in this direction is completed with ifwd=i, and the process proceeds to the next section B-3.

B−2− Li>Ljkの場合 この場合、第8C図のから第8E図のへ分
岐する。このとき、未知物体上の第iプリミテイ
ブは辞書jの第kプリミテイブに対応するプリミ
テイブと他のプリミテイブとが重なつているもの
と考えられる。
B-2- Case of L i >L jk In this case, the process branches from FIG. 8C to FIG. 8E. At this time, it is considered that the i-th primitive on the unknown object is a primitive that corresponds to the k-th primitive of the dictionary j and another primitive overlap.

a○ 第iプリミテイブのうち、辞書jの第kプ
リミテイブと対応する部分についてマツ
チングをとる。MPi jk=1とし (辞書j−PRk,PRi,1) をマツチング対応表に追加する。
a○ Matching is performed on the portion of the i-th primitive that corresponds to the k-th primitive of dictionary j. Set MP i jk = 1 and add (dictionary j − PRk, PRi, 1) to the matching correspondence table.

b○ 未知物体上の第iプリミテイブは辞書jの
第kプリミテイブに対応する部分とそう
でない部分に分割されることを示すた
め、未知物体プリミテイブデータの分割
フラグを立てる(第8E図○イ参照)。
b○ To indicate that the i-th primitive on the unknown object is divided into a part that corresponds to the k-th primitive of dictionary j and a part that does not, set a division flag for the unknown object primitive data (Fig. 8E○I). reference).

c○ 辞書jの第kプリミテイブの終点角につい
ては角度=180゜のため、マツチングがと
れないので、 (辞書j−k+,0,0) をマツチング対応表に加え、kfwd=k,
ifwd=iとしてこの方向のマツチング
を終了し、次のB−3項へ進む。
c○ Since the end point angle of the k-th primitive of dictionary j is angle = 180°, matching cannot be achieved, so add (dictionary j−k + , 0, 0) to the matching correspondence table, and kfwd = k,
Matching in this direction is completed with ifwd=i, and the process proceeds to the next section B-3.

B−3 反時計回りの方向のマツチングにより対
応付けが終らなかつた場合、時計回り方向
についても同様の方法によりマツチングを
行う。このとき、 k=(k+Nj−1)mod Nj i=(i+N−1)mod N とすれば、それぞれ辞書j上および未知物
体上で時計回りの方向に隣接するプリミテ
イブが求められる。その動作は第8F図な
いし第8H図の如く行なわれるが、方向が
時計回りであることを除けば先のB−2項
と全く同様なので、省略する。なお、第8
F図,第8G図および第8H図はそれぞれ
第8C図,第8D図および第8E図と対応
する。また、対応付けがとれなくなつたと
ころで、kbck=k,ibck=iとして次の
B−4項へ進む。
B-3 If matching is not completed in the counterclockwise direction, matching is performed in the clockwise direction using the same method. At this time, by setting k=(k+N j -1) mod N j i=(i+N-1) mod N, primitives adjacent in the clockwise direction on the dictionary j and on the unknown object are found, respectively. The operation is performed as shown in FIGS. 8F to 8H, but since it is completely the same as in the previous section B-2 except that the direction is clockwise, the explanation will be omitted. In addition, the 8th
Figures F, 8G and 8H correspond to Figures 8C, 8D and 8E, respectively. Furthermore, when the correspondence is no longer established, kbck=k and ibck=i are set and the process proceeds to the next section B-4.

B−4 両方向のマツチングを行つても対応付不
可能なプリミテイブがある場合 B−4− 両方向のマツチングにより、辞書上
のプリミテイブで対応付不可能なプリミテ
イブが1本だけ残つた場合(第8I図,第
8J図参照)。
B-4 When there is a primitive that cannot be matched even after performing matching in both directions B-4- When there is only one primitive that cannot be matched among the primitives in the dictionary after matching in both directions (Figure 8I) , see Figure 8J).

辞書jの第kfwdプリミテイブと第kbck
プリミテイブとの間に対応付けの不可能な
プリミテイブが1本だけ残つた場合は、次
の方法によりその間のプリミテイブへの対
応付けを行う。
kfwd primitive and kbck of dictionary j
If only one primitive remains that cannot be correlated with any other primitive, the following method is used to create a correspondence with the primitives in between.

a○ 辞書jの第kbckプリミテイブの終点
kbck+に対応する未知物体上の頂点よ
り、未知物体上の第ibckプリミテイブの
方向に距離Ljkbckだけ離れた点の座標
(x1,y1)を求める(第8I図○イ参照)。
a○ end point of kbck primitive in dictionary j
Find the coordinates (x 1 , y 1 ) of a point on the unknown object that is a distance L jkbck away from the vertex on the unknown object corresponding to kbck + in the direction of the ibck primitive (see Figure 8I).

b○ 辞書jの第kfwdプリミテイブの始点
kbck-に対応する未知物体上の頂点よ
り、未知物体上の第ifwdプリミテイブ
の方向に距離Ljkfwdだけ離れた点の座標
(x2,y2)を求める(第8I図○ロ参照)。
b○ Starting point of kfwd primitive of dictionary j
Find the coordinates (x 2 , y 2 ) of a point on the unknown object that is a distance L jkfwd away from the vertex on the unknown object corresponding to kbck - in the direction of the ifwd primitive (see Figure 8I, ○).

c○ 未知物体上でi=ifwd modN+1からi
=(ibck+N−1)mod Nまでのプリミ
テイブの中で(x1,y1)と(x2,y2)を
結んだ直線上にあるものを探し、あれば
マツチング対応表に (辞書j−PRk,PRi,MPi j-k) を加える。なければ、 (辞書j=PRk,0,0) とする(第8J図参照)。
c○ on unknown object i=ifwd modN+1 to i
= (ibck+N-1) mod Find primitives up to N that are on the straight line connecting (x 1 , y 1 ) and (x 2 , y 2 ), and if they are found, write them in the matching correspondence table (dictionary j- Add PRk, PRi, MP i jk ). If not, set (dictionary j = PRk, 0, 0) (see Figure 8J).

B−4− 両方向のマツチングにより辞書上の
プリミテイブのうち対応付けできなかつた
ものが2本以上残つた場合、k=kfwd
mod Nj+1からk=(kbck+Nj−1)
mod Njまでの要素(プリミテイブ頂点)
について、 (辞書j−PRk,0,0)……プリミテ
イブ (辞書j−Ak+,0,0)……頂点 をマツチング対応表に加える(第8K図参
照)。
B-4- If two or more primitives in the dictionary that cannot be matched remain due to matching in both directions, k = kfwd.
mod N j +1 to k=(kbck+N j −1)
Elements up to mod N j (primitive vertices)
For (dictionary j-PRk, 0,0)...primitive (dictionary j-Ak + , 0,0)...add the vertex to the matching correspondence table (see Figure 8K).

第6図の例のマツチング組(辞書1−
PR1,PR7,0.74)に対するマツチング対
応表を作成すると、未知物体中の第8プリ
ミテイブが半径、中心座標ともに一致する
ので、第9図のようになる。
The example matching set in Figure 6 (Dictionary 1-
When a matching correspondence table is created for PR1, PR7, 0.74), the 8th primitive in the unknown object matches both the radius and center coordinates, so it becomes as shown in Fig. 9.

隠れ部分推定部 こゝでは、マツチング部から送られてきたマツ
チング対応表より、未知物体中の隠れたプリミテ
イブ、頂点の推定を行う。
Hidden Part Estimation Unit Here, hidden primitives and vertices in the unknown object are estimated from the matching correspondence table sent from the matching unit.

○ プリミテイブ推定 マツチング対応表中の1つの辞書プリミテイブ
に対して、未知物体上の2本以上のプリミテイブ
が対応している場合、これらのプリミテイブは途
中が隠されていると考えられるので、その部分を
推定する。辞書中の円プリミテイブと未知物体中
の複数の円弧プリミテイブが対応している場合は
これらの円弧プリミテイブから辞書jの円を推定
し、マツチング対応表に加える。また、辞書中の
直線プリミテイブと未知物体中の複数の直線プリ
ミテイブが対応している場合、これらの直線プリ
ミテイブのうち最も外側の端点間の距離をプリミ
テイブ長として推定する。推定によつてできた新
しいプリミテイブと辞書jのプリミテイブkとの
マツチング度を求め、マツチング対応表に加え
る。
○ Primitive estimation If two or more primitives on an unknown object correspond to one dictionary primitive in the matching correspondence table, it is considered that the middle of these primitives is hidden, so that part is presume. If a circle primitive in the dictionary corresponds to a plurality of arc primitives in the unknown object, the circle in dictionary j is estimated from these arc primitives and added to the matching correspondence table. Furthermore, if a straight line primitive in the dictionary corresponds to a plurality of straight line primitives in the unknown object, the distance between the outermost end points of these straight line primitives is estimated as the primitive length. The degree of matching between the new primitive created by the estimation and the primitive k of the dictionary j is determined and added to the matching correspondence table.

○ 頂点推定 マツチング対応表中、辞書中の頂点に対応する
頂点が未知物体上にない場合、頂点の両端のプリ
ミテイブの交点を求め、頂点の推定を行う。そし
て、両端のプリミテイブの長さも推定した頂点を
使つて求め直し、マツチング度も推定した頂点、
プリミテイブについて新たに計算する。
○ Vertex estimation If there is no vertex on the unknown object that corresponds to the vertex in the dictionary in the matching correspondence table, the vertex is estimated by finding the intersection of the primitives at both ends of the vertex. Then, the lengths of the primitives at both ends are recalculated using the estimated vertices, and the matching degree is also estimated,
Perform new calculations on primitives.

○ 推定図形チエツク マツチング対応表の推定項目についてのデータ
も利用して、推定図形が果して辞書とマツチング
がとれるかどうかをチエツクする。すなわち、円
の場合は、辞書の円と推定図形の円の半径の差が
許容誤差範囲内にあれば、推定図形の円を出力す
る。直線から構成される図形の場合は、辞書中の
全てのプリミテイブ、頂点について推定により対
応付けられるものがあり、かつ全ての対応につい
てマツチング度が基準値以上であれば推定図形を
出力する。推定図形が出力できない場合は、マツ
チング部へ次のマツチング対応表を送れとの指示
を出す。
○ Estimated figure check Check whether the estimated figure can be matched with the dictionary using data about the estimated items in the matching correspondence table. That is, in the case of a circle, if the difference in radius between the circle in the dictionary and the circle in the estimated figure is within the allowable error range, the circle in the estimated figure is output. In the case of a figure composed of straight lines, if all the primitives and vertices in the dictionary can be matched by estimation, and the degree of matching for all the correspondences is equal to or higher than the reference value, the estimated figure is output. If the estimated figure cannot be output, an instruction is issued to the matching section to send the next matching correspondence table.

第6図の例について、第9図○イに示すようなマ
ツチング対応表がマツチング部から来る。これに
対し、隠れ部分推定部では未知物体中のPR7と
PR8より円を推定する。こゝに、推定された円の
半径は2つのプリミテイブの半径の平均とする。
ここでは、31となる。辞書1のPR1の半径は30な
ので、マツチング度は、 M11 1-1={1−|R1-1−R11|/R1-1} ×{1−|L1-1−L11|/L1-1} ={1−|30−31|/30} ×{1−|180−195|/188} =0.93 となり、マツチング度の許容範囲を0.9以上とす
ると、推定物体は辞書1に一致したとしてよいの
で、推定物体として辞書1を出力する。
Regarding the example of FIG. 6, a matching correspondence table as shown in ○A of FIG. 9 comes from the matching section. On the other hand, in the hidden part estimator, PR7 in the unknown object
Estimate the yen from PR8. Here, the radius of the estimated circle is the average of the radii of the two primitives.
Here it is 31. Since the radius of PR1 in dictionary 1 is 30, the matching degree is M 11 1-1 = {1-|R 1-1 −R 11 |/R 1-1 } × {1-|L 1-1 −L 11 |/L 1-1 } = {1-|30-31|/30} × {1-|180-195|/188} =0.93, and if the allowable range of matching degree is 0.9 or more, the estimated object is a dictionary 1, so dictionary 1 is output as the estimated object.

第9図○ロはPR7とPR8より推定したPR11を加
えたプリミテイブ対応関係を示すものである。
Figure 9 shows the primitive correspondence relationship including PR11 estimated from PR7 and PR8.

未知物体更新 推定物体が隠していた部分を未知物体をもとに
推定してやり、もとの未知物体から推定物体を除
去したものを新たに未知物体として更新する。
Unknown object update The part hidden by the estimated object is estimated based on the unknown object, and the estimated object is removed from the original unknown object and updated as a new unknown object.

1 推定物体に含まれる未知物体上のプリミテイ
ブ、頂点を除去する。ただし、推定物体に含ま
れていても、未知物体のプリミテイブデータの
分割フラグが立つているプリミテイブについて
は、そのプリミテイブは一部が推定物体に含ま
れていたということなので、そのまま残してお
く。これにより、未知物体上には輪郭として切
断された部分が生じる。
1. Remove primitives and vertices on the unknown object included in the estimated object. However, even if a primitive is included in the estimated object, if the unknown object primitive data division flag is set, that primitive is partially included in the estimated object, so it should be left as is. . As a result, a cut portion is created as a contour on the unknown object.

2 この切断された部分について推定を行うが、
その推定方法は基本的には隠れ部分推定部と同
じである。すなわち、推定物体により抜き出さ
れた切断部が一カ所の場合にはその前後のプリ
ミテイブについて、また切断部が2カ所以上の
場合は推定物体として抜き出されたあるプリミ
テイブの終点を始点するとプリミテイブと、時
計回りの方向に見て次に抜き出されたプリミテ
イブの始点を終点とする2つのプリミテイブの
組について行う。指定方法は、次の通りであ
る。
2 We make an estimate about this cut part, but
The estimation method is basically the same as that of the hidden part estimator. In other words, if the cut point extracted by the estimated object is at one location, the primitives before and after it are determined, and if there are two or more cut points, the end point of a certain primitive extracted as the estimated object is the starting point. , for a set of two primitives whose end point is the start point of the next extracted primitive when looking in the clockwise direction. The specification method is as follows.

両方のプリミテイブがともに円弧の場合 2つの円弧を接続して1つの円または円弧と
する。
If both primitives are circular arcs, the two circular arcs are connected to form one circle or circular arc.

両方のプリミテイブがともに直線で同一直
線上にある場合 2つのプリミテイブを接続して1つの直線
プリミテイブとする。
If both primitives are straight and on the same line, connect the two primitives to form one straight line primitive.

両方のプリミテイブがともに直線で同一直
線上にない場合 2つの直線延長線上の交点を求め、これを
新しく頂点とする。
If both primitives are straight and not on the same straight line, find the intersection of the two straight line extensions and use this as the new vertex.

一方のプリミテイブが円弧で一方のプリミ
テイブが直線の場合 円弧と直線をそれぞれ延長した交点を求め、こ
れを新しく頂点とする。これにより、未知物体の
プリミテイブデータおよび頂点データも変更す
る。分割フラグが立つていたプリミテイブでは、
このプリミテイブと他のプリミテイブとの交点
が、プリミテイブの延長線上でなくプリミテイブ
上に表われることもある。この場合、交点から先
のプリミテイブは無視してよい。第15A図,1
5B図はこのような場合を示すもので、こゝでは
プリミテイブPR3,PR4が無視されている。
If one primitive is an arc and the other is a straight line, find the intersection of the extended arc and straight line and use this as the new vertex. As a result, the primitive data and vertex data of the unknown object are also changed. In the primitive where the split flag was set,
The intersection of this primitive and another primitive may appear on the primitive rather than on the extension line of the primitive. In this case, the primitives beyond the intersection can be ignored. Figure 15A, 1
Figure 5B shows such a case, where primitives PR3 and PR4 are ignored.

第6図の例で円と推定された未知物体上のプリ
ミテイブ7と8を除去した状態を示すのが第10
図である。
In the example of Figure 6, the 10th diagram shows the state in which primitives 7 and 8 on the unknown object estimated to be a circle are removed.
It is a diagram.

ここで、前述のルールに従つてプリミテイブ7
の終点を始点とするプリミテイブ、つまりプリミ
テイブ1とプリミテイブ8の始点を終点とするプ
リミテイブ、すなわちプリミテイブ10とから隠
し部分の推定を行うと、このプリミテイブは同一
直線上にない直線であるから、上記2−項より
第10図の如き頂点Gを推定することができる。
同様に、プリミテイブ6とプリミテイブ7から頂
点Fを推定する。こうして第11図の如き新しい
未知物体ができたので、これを再び未知物体とし
て入力する。この新たな未知物体中の最長プリミ
テイブは長さ62のプリミテイブ5なので、辞書探
索部はプリミテイブ5とマツチングするプリミテ
イブを辞書中から探し、辞書3のプリミテイブ
1,2,3を候補とする。しかし、辞書3は3回
転対称なので、どのプリミテイブが対応しても同
じである。そこで、マツチング組 (辞書3−PR1,PR5,0.97) をマツチング部へ送る。マツチング部でマツチン
グ対応関係を作成すると第12A図に示すものが
できる。これより、未知物体中のプリミテイブ7
とプリミテイブ4より穏れたプリミテイブを推定
し、これを新しくプリミテイブ9とする。このプ
リミテイブ長は頂点Dと頂点Fとの距離=59とな
るので、プリミテイブ対応関係は第12B図のよ
うになる。
Now, according to the rules mentioned above, the primitive 7
When estimating the hidden part from a primitive whose starting point is the end point of , that is, a primitive whose end point is the starting point of primitive 1 and primitive 8, that is, primitive 10, this primitive is a straight line that is not on the same straight line, so the above 2. The vertex G as shown in FIG. 10 can be estimated from the - term.
Similarly, vertex F is estimated from primitive 6 and primitive 7. In this way, a new unknown object as shown in FIG. 11 is created, and this is input again as an unknown object. Since the longest primitive in this new unknown object is primitive 5 with a length of 62, the dictionary search unit searches the dictionary for a primitive that matches primitive 5, and selects primitives 1, 2, and 3 of dictionary 3 as candidates. However, since dictionary 3 is 3-fold symmetric, it is the same no matter which primitive it corresponds to. Therefore, the matching set (Dictionary 3-PR1, PR5, 0.97) is sent to the matching section. When a matching correspondence is created in the matching section, the result shown in FIG. 12A is created. From this, primitive 7 in the unknown object
A primitive that is calmer than primitive 4 is estimated, and this is newly defined as primitive 9. Since this primitive length is the distance between apex D and vertex F=59, the primitive correspondence relationship is as shown in FIG. 12B.

このときの、平均マツチング度は、 1+0.97+1+0.97+1+0.98/6=0.99 となり、マツチング度の許容範囲0.9以上を満足
しているので、推定物体として辞書3を出力す
る。第13図に推定物体として未知物体中のプリ
ミテイブ4,5,6,7を抜き出したところを示
す。
At this time, the average matching degree is 1+0.97+1+0.97+1+0.98/6=0.99, which satisfies the matching degree tolerance range of 0.9 or more, so dictionary 3 is output as the estimated object. FIG. 13 shows primitives 4, 5, 6, and 7 extracted from the unknown object as estimated objects.

次に、残つた未知物体中のプリミテイブのうち
接続関係の中断しているプリミテイブ3と8より
頂点を推定し、プリミテイブ、頂点データを更新
すると第14図のようになる。これを、再び新た
な未知物体として入力してやると、最長プリミテ
イブ3と辞書2のプリミテイブ1とのマツチング
組(辞書2−PR1,PR3,0.98)が辞書探索部か
ら出力される。これについてマツチング対応関係
を作成すると第14C図のようになる。その平均
マツチング度は、 1/8(0.98+0.98+0.98+0.95+0.98+0.95+1 +0.95)=0.97 となり、推定物体として辞書2が出力される。
Next, among the primitives in the remaining unknown object, vertices are estimated from primitives 3 and 8 whose connection relationship has been interrupted, and the primitive and vertex data are updated, resulting in the result shown in FIG. When this is input again as a new unknown object, a matching set of longest primitive 3 and primitive 1 of dictionary 2 (dictionary 2 - PR1, PR3, 0.98) is output from the dictionary search section. When a matching correspondence is created for this, it becomes as shown in FIG. 14C. The average matching degree is 1/8 (0.98+0.98+0.98+0.95+0.98+0.95+1+0.95)=0.97, and dictionary 2 is output as the estimated object.

以上により、未知物体上のプリミテイブのうち
対応のつかないものはなくなつたので、処理を終
了する。その結果、未知物体は辞書1,2,3の
重なり合つたものとして認識されることになる。
As a result, there are no unmatched primitives on the unknown object, so the process ends. As a result, the unknown object is recognized as a combination of dictionaries 1, 2, and 3.

〔発明の効果〕〔Effect of the invention〕

この発明によれば、未知物体の認識を行う場
合、未知物体上のプリミテイブとマツチングする
プリミテイブを辞書中から探索し、辞書と未知物
体のプリミテイブ、頂点の対応付けを行い、未知
物体上で隠れているプリミテイブ、頂点を推定す
るという手法をとるようにしているため、複数個
の認識対象物体が互いに重なり合つているような
重畳物体でも認識ができるようになり、その適用
範囲を広げることが可能となる利点がもたらされ
る。
According to this invention, when recognizing an unknown object, the dictionary is searched for primitives that match primitives on the unknown object, and the dictionary is associated with the primitives and vertices of the unknown object. Since the method uses a method of estimating the primitives and vertices in the object, it is possible to recognize even superimposed objects in which multiple recognition target objects overlap each other, making it possible to expand the range of application. This brings about advantages.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はこの発明の一実施例の構成を示すブロ
ツク図、第2図はこの発明が適用される認識装置
を示す構成図、第3図は円の辞書パターンとデー
タを説明するための説明図、第4図は四角形の辞
書パターンとデータを説明するための説明図、第
5図は三角形の辞書パターンとデータを説明する
ための説明図、第6図は重なり合つた未知物体パ
ターンの一例を示す説明図、第6A図は第6図に
示すプリミテイブのデータを説明するための説明
図、第6B図は同じく頂点のデータを説明するた
めの説明図、第7A図ないし第7E図は辞書探索
部の動作を説明するためのフローチヤート、第8
A図ないし第8K図はマツチング部の動作を説明
するためのフローチヤート、第9図は第6図の例
における未知物体と辞書との対応関係を説明する
ための説明図、第10図は円の推定物体を未知物
体から除去した場合を説明する説明図、第11図
は更新された未知物体を示すパターン図、第11
A図は第11図のプリミテイブデータを説明する
ための説明図、第11B図は同じくその頂点デー
タを説明するための説明図、第12A図は第11
図に示す未知物体と第5図に示す辞書との対応関
係を示す説明図、第12B図は第12A図におい
て推定が行なわれた場合の対応関係を示す説明
図、第13図は三角形の推定物体を更新された未
知物体から除去する場合を説明する説明図、第1
4図は再度更新された未知物体を示すパターン
図、第14A図は第14図のプリミテイブデータ
を説明するための説明図、第14B図は同じくそ
の頂点データを説明するための説明図、第14C
図は第14図に示す未知物体と第4図に示す辞書
との対応関係を示す説明図、第15A図は2つの
辞書の辞書のプリミテイブ同志が重なつた場合を
示すパターン図、第15B図は第15A図より三
角形を除去した場合を示すパターン図、第16図
は重なり合つた物体を示すパターン図である。 符号説明、1…輪郭追跡部、2…曲率計算部、
3…プリミテイブ記述部、4…辞書作成部、5…
辞書探索部、6…マツチング部(対応表作成部)、
7…隠れ部分推定部、8…未知物体更新部、10
…認識対象物体、11…撮像装置(テレビカメ
ラ)、12…前処理回路、13…特徴抽出回路、
14…画像メモリ、15…プロセツサ、16…イ
ンタフエイス回路、17…端末、M,M1,M2
…メモリ、ID…推定物体データ出力部。
Fig. 1 is a block diagram showing the configuration of an embodiment of the present invention, Fig. 2 is a block diagram showing a recognition device to which this invention is applied, and Fig. 3 is an explanation for explaining the circular dictionary pattern and data. Figure 4 is an explanatory diagram for explaining a rectangular dictionary pattern and data, Figure 5 is an explanatory diagram for explaining a triangular dictionary pattern and data, and Figure 6 is an example of an overlapping unknown object pattern. FIG. 6A is an explanatory diagram for explaining the primitive data shown in FIG. 6, FIG. 6B is an explanatory diagram for explaining the vertex data, and FIGS. 7A to 7E are dictionary diagrams. Flowchart for explaining the operation of the search unit, No. 8
Figures A to 8K are flowcharts for explaining the operation of the matching section, Figure 9 is an explanatory diagram for explaining the correspondence between the unknown object and the dictionary in the example of Figure 6, and Figure 10 is a diagram for explaining the correspondence between the unknown object and the dictionary in the example of Figure 6. An explanatory diagram illustrating the case where the estimated object is removed from the unknown object, FIG. 11 is a pattern diagram showing the updated unknown object, and FIG.
Figure A is an explanatory diagram for explaining the primitive data in Figure 11, Figure 11B is an explanatory diagram for explaining the vertex data, and Figure 12A is an explanatory diagram for explaining the primitive data in Figure 11.
An explanatory diagram showing the correspondence between the unknown object shown in the figure and the dictionary shown in FIG. 5, FIG. 12B is an explanatory diagram showing the correspondence when estimation is performed in FIG. 12A, and FIG. Explanatory diagram illustrating the case where an object is removed from the updated unknown object, 1st
4 is a pattern diagram showing the unknown object that has been updated again, FIG. 14A is an explanatory diagram for explaining the primitive data in FIG. 14, and FIG. 14B is an explanatory diagram for explaining the vertex data. 14th C
The figure is an explanatory diagram showing the correspondence between the unknown object shown in Fig. 14 and the dictionary shown in Fig. 4, Fig. 15A is a pattern diagram showing the case where primitives of two dictionaries overlap, and Fig. 15B is a pattern diagram showing the case where triangles are removed from FIG. 15A, and FIG. 16 is a pattern diagram showing overlapping objects. Description of symbols: 1...contour tracking unit, 2...curvature calculation unit,
3... Primitive description section, 4... Dictionary creation section, 5...
Dictionary search section, 6... Matching section (correspondence table creation section),
7... Hidden part estimation unit, 8... Unknown object update unit, 10
... Recognition target object, 11... Imaging device (TV camera), 12... Preprocessing circuit, 13... Feature extraction circuit,
14... Image memory, 15... Processor, 16... Interface circuit, 17... Terminal, M, M1, M2
...Memory, ID...Estimated object data output section.

Claims (1)

【特許請求の範囲】 1 複数種類の認識対象物体の各々についてその
輪郭を追跡し直線部、円弧部を含むプリミテイブ
に分割してそれぞれの属性と各頂点の属性とを辞
書として辞書メモリに登録する処理を予め行な
い、しかる後未知物体を辞書と同じくプリミテイ
ブに分割しそのプリミテイブ、頂点の属性により
未知物体を記述して所定のメモリに記憶し、未知
物体と辞書の各記載データにもとづき未知物体を
認識する認識装置であつて、 未知物体の各プリミテイブをもとにこれとマツ
チングするプリミテイブを前記辞書メモリからそ
れぞれ探索しマツチングのとれたものを全てマツ
チング組として取り出す辞書探索手段と、 該マツチング組の各々について辞書上のプリミ
テイブ、頂点と未知物体のそれらとがどれだけマ
ツチングしているかの度合を調べてマツチング対
応表を作成する対応表作成手段と、 該マツチング対応表より未知物体の中に隠され
ているプリミテイブまたは頂点を推定してプリミ
テイブ長の修正を行ない辞書とのマツチングの度
合を調べた後最適なものを推定物体として取り出
す隠れ部分推定手段と、 該推定物体を未知物体から除去しその結果残さ
れた部分について如何なるプリミテイブ、頂点を
補充すべきかの推定をし該推定結果にもとづき未
知物体を更新する未知物体更新手段と、 前記未知物体の更新を未知物体のプリミテイブ
の対応のつかないものがなくなるまで繰り返し行
なうことにより、複数の物体が接触または重なつ
て形成される未知物体の認識をも可能にする手段
と、 から成ることを特徴とする物体認識装置。
[Claims] 1. The outline of each of multiple types of objects to be recognized is traced, divided into primitives including straight line parts and circular arc parts, and the attributes of each object and the attributes of each vertex are registered in a dictionary memory as a dictionary. After performing the processing in advance, the unknown object is divided into primitives like a dictionary, the unknown object is described using the attributes of the primitives and vertices, and stored in a predetermined memory. The recognition device comprises: a dictionary search means for searching the dictionary memory for primitives that match each primitive of the unknown object, and extracting all matched primitives as a matching set; A correspondence table creation means for creating a matching correspondence table by checking the degree to which primitives and vertices in the dictionary are matched with those of the unknown object for each; hidden part estimating means for estimating primitives or vertices in the unknown object, correcting the primitive length, checking the degree of matching with a dictionary, and extracting the optimal one as the estimated object; and removing the estimated object from the unknown object and calculating the result. unknown object updating means that estimates what primitives and vertices should be added to the remaining portion and updates the unknown object based on the estimation result; An object recognition device characterized by comprising: a means for making it possible to recognize an unknown object formed by a plurality of objects touching or overlapping each other by repeating the process until the object disappears.
JP6860886A 1986-03-28 1986-03-28 Recognizing system for object Granted JPS62226389A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6860886A JPS62226389A (en) 1986-03-28 1986-03-28 Recognizing system for object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6860886A JPS62226389A (en) 1986-03-28 1986-03-28 Recognizing system for object

Publications (2)

Publication Number Publication Date
JPS62226389A JPS62226389A (en) 1987-10-05
JPH0523463B2 true JPH0523463B2 (en) 1993-04-02

Family

ID=13378654

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6860886A Granted JPS62226389A (en) 1986-03-28 1986-03-28 Recognizing system for object

Country Status (1)

Country Link
JP (1) JPS62226389A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02189688A (en) * 1989-01-18 1990-07-25 Mitsubishi Electric Corp Area detecting device
US6463176B1 (en) 1994-02-02 2002-10-08 Canon Kabushiki Kaisha Image recognition/reproduction method and apparatus

Also Published As

Publication number Publication date
JPS62226389A (en) 1987-10-05

Similar Documents

Publication Publication Date Title
Fan Describing and recognizing 3-D objects using surface properties
US8031948B2 (en) Shape comparison apparatus on contour decomposition and correspondence
Hagedoorn Pattern matching using similarity measures
Orrite et al. Shape matching of partially occluded curves invariant under projective transformation
CN111199558A (en) Image matching method based on deep learning
JP2003242509A (en) Pattern recognition device and method
Chen et al. Extended attributed string matching for shape recognition
Huang et al. Efficient shape matching through model-based shape recognition
Gupta et al. Robust partial shape classification using invariant breakpoints and dynamic alignment
JPH0523463B2 (en)
Khaustov et al. Algorithm for optical handwritten characters recognition based on structural components extraction
US11699294B2 (en) Optical character recognition of documents having non-coplanar regions
Lin et al. Stroke extraction for Chinese characters using a trend-followed transcribing technique
Yang et al. Intelligent digitization of substation one-line diagrams based on computer vision
JPS61147374A (en) Method and device for detecting similar data
Vicente et al. Objects recognition by means of projective invariants considering corner-points
JP2002197472A (en) Method for recognizing object
JP2882327B2 (en) Line figure matching device
JP2507413B2 (en) Pattern data compression method
JP2867650B2 (en) Symbol candidate area detection method
JPH11120366A (en) Segment contiguity relation determining method
Ding et al. Linear texture image retrieval using attributed relational graph
CN116664690A (en) Self-adaptive target positioning method based on point cloud registration
JPH0830783A (en) Method for recognizing two-dimensional object
Chaudhury et al. Partially Occluded Leaf Recognition via Subgraph Matching and Energy Optimization