JP2001109882A - Method and device for image processing - Google Patents
Method and device for image processingInfo
- Publication number
- JP2001109882A JP2001109882A JP28495799A JP28495799A JP2001109882A JP 2001109882 A JP2001109882 A JP 2001109882A JP 28495799 A JP28495799 A JP 28495799A JP 28495799 A JP28495799 A JP 28495799A JP 2001109882 A JP2001109882 A JP 2001109882A
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- processing apparatus
- matching
- point
- image
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 424
- 238000000034 method Methods 0.000 title claims description 87
- 230000009466 transformation Effects 0.000 claims description 71
- 238000004458 analytical method Methods 0.000 claims description 42
- 230000007704 transition Effects 0.000 claims description 33
- 238000000605 extraction Methods 0.000 claims description 28
- 238000000844 transformation Methods 0.000 claims description 20
- 238000001514 detection method Methods 0.000 claims description 17
- 238000003672 processing method Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 abstract description 11
- 238000004422 calculation algorithm Methods 0.000 description 130
- 230000008569 process Effects 0.000 description 40
- 238000010586 diagram Methods 0.000 description 34
- 238000006243 chemical reaction Methods 0.000 description 30
- 238000011156 evaluation Methods 0.000 description 23
- 230000033001 locomotion Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 10
- 238000001914 filtration Methods 0.000 description 10
- 238000012360 testing method Methods 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 7
- 238000000342 Monte Carlo simulation Methods 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 238000001228 spectrum Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 241001634830 Geometridae Species 0.000 description 3
- CDBYLPFSWZWCQE-UHFFFAOYSA-L Sodium Carbonate Chemical compound [Na+].[Na+].[O-]C([O-])=O CDBYLPFSWZWCQE-UHFFFAOYSA-L 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012887 quadratic function Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- OWNRRUFOJXFKCU-UHFFFAOYSA-N Bromadiolone Chemical compound C=1C=C(C=2C=CC(Br)=CC=2)C=CC=1C(O)CC(C=1C(OC2=CC=CC=C2C=1O)=O)C1=CC=CC=C1 OWNRRUFOJXFKCU-UHFFFAOYSA-N 0.000 description 1
- 239000004255 Butylated hydroxyanisole Substances 0.000 description 1
- 241000905957 Channa melasoma Species 0.000 description 1
- 235000021538 Chard Nutrition 0.000 description 1
- 206010027476 Metastases Diseases 0.000 description 1
- 238000004873 anchoring Methods 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 101150027734 cript gene Proteins 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007850 degeneration Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002050 diffraction method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- JGPMMRGNQUBGND-UHFFFAOYSA-N idebenone Chemical compound COC1=C(OC)C(=O)C(CCCCCCCCCCO)=C(C)C1=O JGPMMRGNQUBGND-UHFFFAOYSA-N 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000009401 metastasis Effects 0.000 description 1
- BULVZWIRKLYCBC-UHFFFAOYSA-N phorate Chemical compound CCOP(=S)(OCC)SCSCC BULVZWIRKLYCBC-UHFFFAOYSA-N 0.000 description 1
- 125000002924 primary amino group Chemical group [H]N([H])* 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、画像の情景分析を
行う画像処理方法及び画像処理装置に関する。[0001] 1. Field of the Invention [0002] The present invention relates to an image processing method and an image processing apparatus for performing scene analysis of an image.
【0002】[0002]
【従来の技術】画像処理は、コンピュータの高性能化に
ともない、多くの技術分野において多種多様な処理アル
ゴリズムが開発され、多大な成果を得るまでになってい
る。このような画像処理技術の1つとして注目されてい
るものに、パターンマッチングがある。2. Description of the Related Art A variety of processing algorithms have been developed in many technical fields with the advancement of computer performance in image processing, and great results have been obtained. One of such image processing techniques that has attracted attention is pattern matching.
【0003】ここで、互いに異なる濃度を有するユーク
リッドd次元空間Edにおける2つの点集合S=
{S1,・・・,Sn}及びQ={Q1,・・・,Qm}
において、例えば角検出アルゴリズムにより与えられる
特徴点といったように、点集合の点の座標がやや不正確
であるような場合におけるパターンマッチングの問題に
ついて考える。このような場合になすべきことは、マッ
チする点である“インライア”をマッチしない点である
“アウトライア”から識別することである。[0003] Here, two point sets S = in a Euclidean d-dimensional space E d having different densities.
{S 1 , ..., S n } and Q = {Q 1 , ..., Q m }
Let us consider a problem of pattern matching in a case where the coordinates of points in a point set are slightly inaccurate, such as a feature point given by a corner detection algorithm. What needs to be done in such a case is to distinguish the matching point "inlier" from the non-matching point "outlier".
【0004】変換Tが与えられた場合、そのマッチング
の正確性を百分率表示のハウスドルフ(Hausdorff)距
離を用いて計算することができる。すなわち、このハウ
スドルフ距離を用いることによって、いわゆるn−kア
ウトライアの効果を除去した状態で、マッチングの正確
性が次式(1)に示すように与えられる。Given a transformation T, the accuracy of the matching can be calculated using the Hausdorff distance in percentage. That is, by using the Hausdorff distance, the accuracy of the matching is given as shown in the following equation (1) while eliminating the effect of the so-called nk outlier.
【0005】[0005]
【数1】 (Equation 1)
【0006】この上式(1)において、minkは、最
小のk番目の要素を返すことを意味しており、d(・,
・)は、距離関数である。このハウスドルフ指標の欠点
は、“A. Efrat and M. J. Katz, Computing fair and
bottleneck matchings in geometric graphs, In Proc.
7th Annu. Internat. Sympos. Algorithms Comput.,pa
ges 115-125, 1996”に記載されているように、1つの
点が複数回マッチすることがあり、そのような場合、視
覚幾何学においては意味のある結果が得られないことで
ある。In the above equation (1), min k means to return the smallest k-th element, and d (·,
*) Is a distance function. The disadvantage of the Hausdorff index is that “A. Efrat and MJ Katz, Computing fair and
bottleneck matchings in geometric graphs, In Proc.
7th Annu. Internat. Sympos. Algorithms Comput., Pa
ges 115-125, 1996 ", a point may be matched more than once, in which case there is no meaningful result in visual geometry.
【0007】パターンマッチングの最近の技術として
は、“H. Alt and L. Guibas, Resemblance of geometr
ic objects, In Jorg-Rudiger Sack and Jorge Urruti
a, editors, Handbook of Computational Geometry, El
sevier Science Publishers B.V. North-Holland, Amst
erdam, 1998”に記載されているものがある。また、Ira
ni及びRaghavanは、“Sandy Irani and Prabhakar Ragh
avan, Combinatorial and experimental results for r
andomized point matching algorithms, In Proc. 12th
Annual ACM Symposium on Computational Geometry, p
ages 68-77, 1996”にて、集合S,Qが少なくとも
稠密にマッチするという仮定、すなわち、少なくとも一
部の点がマッチするという仮定のもとに変換を見出す手
法として、ランダム配置モンテカルロ法を提案してい
る。このランダム配置モンテカルロ法は、変換を定義す
る特徴点の対に基づいたものであり、グローバルな処理
である。[0007] A recent technique of pattern matching includes H. Alt and L. Guibas, Resemblance of geometr.
ic objects, In Jorg-Rudiger Sack and Jorge Urruti
a, editors, Handbook of Computational Geometry, El
sevier Science Publishers BV North-Holland, Amst
erdam, 1998 ”. Also, Ira
ni and Raghavan, “Sandy Irani and Prabhakar Ragh
avan, Combinatorial and experimental results for r
andomized point matching algorithms, In Proc. 12th
Annual ACM Symposium on Computational Geometry, p
ages 68-77, 1996 ”, a random placement Monte Carlo method is used to find a transformation under the assumption that sets S and Q match at least densely, that is, at least some points match. This random arrangement Monte Carlo method is based on pairs of feature points that define the transformation, and is a global process.
【0008】パターンマッチングにおいて非常に広く用
いられている局所的処理は、変換行列Tの空間を定義
するパラメータの空間を考え、“Michiel Hagedoorn an
d Remco C. Veltkamp, Reliable and efficient patter
n matching using an affineinvariant metric, Techni
cal Report UU-CS-1997-33, Utrecht University, Depa
rtment of Computing Science, October 1997”や“D.
Mount, N. Netanyahu, and J. Le Moigne, Improved al
gorithms for robust point pattern matching and app
lications to image registration, In 14th Annual AC
M Symposium on Computational Geometry, 1998”に示
されている分岐限界法をこれらの生成パラメータに適用
する方法によるものである。例えば、平面が転移及び/
又は回転することを許容されている場合には、転移の量
とその方向を表す3つのパラメータ(x,y,θ)によ
り生成される3×3行列(同次座標を用いてT=R
2×[0,2π]のように表される。)が定義される。[0008] The local processing that is very widely used in pattern matching considers a parameter space that defines the space of the transformation matrix T, and considers “Michiel Hagedoorn an”.
d Remco C. Veltkamp, Reliable and efficient patter
n matching using an affineinvariant metric, Techni
cal Report UU-CS-1997-33, Utrecht University, Depa
rtment of Computing Science, October 1997 ”and“ D.
Mount, N. Netanyahu, and J. Le Moigne, Improved al
gorithms for robust point pattern matching and app
lications to image registration, In 14th Annual AC
M Symposium on Computational Geometry, 1998 ”by applying a bifurcation limit method to these generation parameters.
Or, if rotation is allowed, a 3 × 3 matrix (T = R using homogeneous coordinates) generated by three parameters (x, y, θ) representing the amount of displacement and its direction.
It is expressed as 2 × [0, 2π]. ) Is defined.
【0009】また、パターンマッチングを求める他の手
法としては、“T. Akutsu, H. Tamaki, and T. Tokuyam
a, Distribution of distances and triangles in a po
intset and algorithms for computing the largest co
mmon point set, Discreteand Computational Geometr
y, pages 207-331, 1998”に記載されているように、い
わゆるハフ(Hough)変換を一般化したものの1つであ
る多数決法がある。さらに、最近ではIndykらが“P. In
dyk, R. Motwani, and S. Venkatasubramanian, Geomet
ric matching under noise:Combinatorial bounds and
algorithms,In SODA:Symposium of Datastructures and
Algorithms 1999”や“M. Gavrilov, P. Indyk, R. Mo
twani, and S. Venkatasubramanian, Geometric patter
n matching:A performance study, In Proc. of the 15
th Symp. of Comp. Geo., 1999”にて、雑音が存在する
場合に、点集合の直径を考慮することによって、パター
ンマッチングを行うアルゴリズムを提案している。さら
にまた、Cardoze及びSchulmanは、“Cardoze and Schul
man, Pattern matching for spatial point sets, In F
OCS:IEEE Symposium on Foundations of Computer Scie
nce (FOCS), 1988”にて、パターンマッチングを数論と
関係付け、点集合の直径にしたがってフーリエ変換を行
う高速アルゴリズムを提案している。Another technique for obtaining pattern matching is described in “T. Akutsu, H. Tamaki, and T. Tokuyam”.
a, Distribution of distances and triangles in a po
intset and algorithms for computing the largest co
mmon point set, Discreteand Computational Geometr
y, pages 207-331, 1998, there is a majority decision method, which is one of the generalizations of the so-called Hough transform.More recently, Indyk et al.
dyk, R. Motwani, and S. Venkatasubramanian, Geomet
ric matching under noise: Combinatorial bounds and
algorithms, In SODA: Symposium of Datastructures and
Algorithms 1999 ”and“ M. Gavrilov, P. Indyk, R. Mo
twani, and S. Venkatasubramanian, Geometric patter
n matching: A performance study, In Proc. of the 15
th Symp. of Comp. Geo., 1999 ”, proposes an algorithm that performs pattern matching by considering the diameter of a point set in the presence of noise. Furthermore, Cardoze and Schulman propose “Cardoze and Schul
man, Pattern matching for spatial point sets, In F
OCS: IEEE Symposium on Foundations of Computer Scie
nce (FOCS), 1988 ”, proposes a fast algorithm that relates pattern matching to number theory and performs a Fourier transform according to the diameter of a point set.
【0010】[0010]
【発明が解決しようとする課題】ところで、上述した画
像処理分野においては、例えば、ある画像について、有
向グラフ(directional graph)を作成する等、情景分
析(シーンアナリシス)を効率的に行うための手法が要
望されている。In the field of image processing described above, for example, there is a method for efficiently performing scene analysis, such as creating a directional graph for a certain image. Requested.
【0011】しかしながら、幾何学的モデルを情景分析
に応用することは困難である場合が多く、計算量が膨大
となり処理に多大な時間を要するものが多かった。その
ため、最近では、幾何学的モデルを応用して効率的に情
景分析を行う手法の確立に対する要求が高まっている。However, it is often difficult to apply a geometric model to scene analysis, and the amount of calculation is enormous, and a lot of time is required for processing. Therefore, recently, there is an increasing demand for establishing a technique for efficiently performing scene analysis by applying a geometric model.
【0012】本発明は、このような実情に鑑みてなされ
たものであり、幾何学的モデルを適用することで効率的
に情景分析を行うことができる画像処理方法及び画像処
理装置を提供することを目的とする。The present invention has been made in view of such circumstances, and provides an image processing method and an image processing apparatus capable of efficiently performing scene analysis by applying a geometric model. With the goal.
【0013】[0013]
【課題を解決するための手段】上述した目的を達成する
本発明にかかる画像処理方法は、2以上の画像のそれぞ
れについての特徴点を抽出する特徴抽出工程と、2以上
の画像のうち、一の画像と他の画像との特徴点を比較し
てマッチングを行うマッチング工程と、このマッチング
工程の結果に基づいて、一の画像の情景分析を行う情景
分析工程とを備えることを特徴としている。According to the present invention, there is provided an image processing method comprising: a feature extracting step of extracting feature points for each of two or more images; It is characterized by comprising a matching step of comparing feature points of one image and another image to perform matching, and a scene analysis step of performing scene analysis of one image based on a result of the matching step.
【0014】このような本発明にかかる画像処理方法
は、2以上の画像のそれぞれについての特徴点を抽出
し、2以上の画像のうち、一の画像と他の画像との特徴
点を比較してマッチングを行い、このマッチングの結果
に基づいて、一の画像の情景分析を行う。According to the image processing method of the present invention, feature points of each of two or more images are extracted, and feature points of one image and another image among the two or more images are compared. And performs a scene analysis of one image based on the result of the matching.
【0015】また、上述した目的を達成する本発明にか
かる画像処理装置は、2以上の画像のそれぞれについて
の特徴点を抽出する特徴抽出手段と、2以上の画像のう
ち、一の画像と他の画像との特徴点を比較してマッチン
グを行うマッチング手段と、このマッチング手段による
マッチングの結果に基づいて、一の画像の情景分析を行
う情景分析手段とを備えることを特徴としている。According to another aspect of the present invention, there is provided an image processing apparatus for extracting a feature point of each of two or more images, and one of the two or more images. And a scene analysis unit that performs a scene analysis of one image based on the result of the matching by the matching unit.
【0016】このような本発明にかかる画像処理装置
は、特徴抽出手段によって、2以上の画像のそれぞれに
ついての特徴点を抽出し、マッチング手段によって、2
以上の画像のうち、一の画像と他の画像との特徴点を比
較してマッチングを行い、情景分析手段によって、マッ
チングの結果に基づいて、一の画像の情景分析を行う。In the image processing apparatus according to the present invention, the feature extracting unit extracts the feature points of each of the two or more images, and the matching unit extracts the feature points.
Among the above images, matching is performed by comparing feature points between one image and another image, and scene analysis of one image is performed by the scene analysis means based on the result of the matching.
【0017】[0017]
【発明の実施の形態】以下、本発明を適用した具体的な
実施の形態について図面を参照しながら詳細に説明す
る。Embodiments of the present invention will be described below in detail with reference to the drawings.
【0018】本発明の実施の形態として図1に示す画像
処理装置10は、例えば、サンプルデータを含む静止画
及び/又は動画像やグラフィックス画像といった画像
と、データ入力部20からの画像とを入力し、データ入
力部20からの画像に基づいて、サンプルデータを含む
画像の情景分析(シーンアナリシス)を行う機能を有す
るものである。An image processing apparatus 10 shown in FIG. 1 according to an embodiment of the present invention converts an image such as a still image and / or a moving image or a graphics image including sample data and an image from a data input unit 20. It has a function of performing a scene analysis of an image including sample data based on an image input from the data input unit 20.
【0019】この画像処理装置10は、同図に示すよう
に、サンプルデータSDを含む画像データI1から特徴
点を抽出する特徴抽出部11と、データ入力部20から
入力した画像データI2から特徴点を抽出する特徴抽出
部12と、特徴抽出部11及び特徴抽出部12により抽
出された特徴点群を示す2つの点集合に基づいて、パタ
ーンマッチングを行う等、各種処理を実行する処理実行
部13と、この処理実行部13により行われたパターン
マッチングの結果を評価する評価部14とを備える。ま
た、画像処理装置10は、入力した画像データI1及び
画像データI2をそれぞれ一時的に保持するバッファ、
各種プログラムやデータを記憶する図示しないメモリ、
各種処理におけるワークエリアとしての図示しないメモ
リ等を備える。As shown in FIG. 1, the image processing apparatus 10 includes a feature extraction unit 11 for extracting feature points from image data I 1 including sample data SD, and a feature extraction unit 11 for extracting feature points from image data I 2 input from a data input unit 20. A process for performing various processes such as performing pattern matching based on a feature extraction unit 12 for extracting feature points and two point sets indicating feature points extracted by the feature extraction unit 11 and the feature extraction unit 12 The processing unit 13 includes an evaluation unit 14 that evaluates a result of the pattern matching performed by the processing execution unit 13. The image processing apparatus 10 further includes a buffer for temporarily storing the input image data I 1 and the input image data I 2 ,
A memory (not shown) for storing various programs and data,
A memory or the like (not shown) is provided as a work area in various processes.
【0020】画像処理装置10は、例えばカメラ等によ
り撮像された静止画及び/又は動画像やグラフィックス
画像といった画像データI1と、例えば複数の画像デー
タをデータベースとして保持しているデータ入力部20
に保持されている画像データI2を入力する。これらの
画像データI1及び画像データI2は、具体的にはそれぞ
れ、例えば図2に示すように、ある風景を撮像した画像
と、図3に示すように、同じ風景の一部を拡大して撮像
し、データ入力部20に保持していた画像とであるよう
に、異なるカメラ方向で撮像された約100万画素オー
ダの2次元画像である。サンプルデータSDは、画像デ
ータI1中の任意のオブジェクトである。画像処理装置
10は、データ入力部20からの画像データI2に基づ
いて、サンプルデータSDを含む画像データI1の情景
分析を行い、例えば画像データI1や、画像データI1を
情景分析した結果得られた画像データI1の有向グラフ
(directional graph)を表示部30に出力する。な
お、これらの画像データI1及び画像データI2は、それ
ぞれ、図2及び図3に示すような例にとらわれないもの
であることはいうまでもない。The image processing apparatus 10 includes an image data I 1 such as a still image and / or a moving image or a graphics image picked up by a camera or the like, and a data input unit 20 holding a plurality of image data as a database, for example.
Inputting image data I 2 held in the. The image data I 1 and the image data I 2 are, respectively, specifically, for example, as shown in FIG. 2, an image obtained by capturing a certain scenery, and as shown in FIG. This is a two-dimensional image on the order of about one million pixels, which is imaged in different camera directions, as is the case with the image captured and held in the data input unit 20. Sample data SD is any object in the image data I 1. The image processing apparatus 10, based on the image data I 2 from the data input unit 20, performs a scene analysis of the image data I 1 containing the sample data SD, for example, the image data I 1, the image data I 1 and Scene Analysis A directional graph of the obtained image data I 1 is output to the display unit 30. It goes without saying that the image data I 1 and the image data I 2 are not limited to the examples shown in FIGS. 2 and 3, respectively.
【0021】特徴抽出部11,12は、それぞれ、画像
データI1及び画像データI2を入力し、画像データI1
及び画像データI2のそれぞれから特徴点を抽出する。
すなわち、特徴抽出部11,12は、それぞれ、画像デ
ータI1と画像データI2との少なくとも一部を、例えば
ユーザによる命令にしたがって、或いは、自動的に重複
させるとともに、画像データI1及び画像データI2のそ
れぞれについて、特徴点を抽出する。The feature extraction units 11 and 12 receive the image data I 1 and the image data I 2 , respectively, and input the image data I 1
And extracting feature points from each of the image data I 2.
That is, the feature extraction unit 11 and 12, respectively, at least a portion of the image data I 1 and the image data I 2, for example, according to instructions by the user, or, together to automatically duplicate the image data I 1 and the image for each data I 2, feature points are extracted.
【0022】ここで、画像データI1と画像データI2と
の少なくとも一部が重複されて形成される重複部分は、
図4(A)に示すように、3次元空間上の点Mをカメラ
等により撮像することによって、2次元画像上で点m1
及び点m2に投影されて得られる画像データI1及び画像
データI2を、同図(B)に示すように、重複させて構
成される部分である。例えば3次元空間上の点Mの座標
が(x,y,z)と表されるとき、点m1及び点m2は、
それぞれ、(x1/w1,y1/w1)、(x2/w2,y2
/w2)と表される。Here, the overlapping portion formed by overlapping at least a part of the image data I 1 and the image data I 2 is:
As shown in FIG. 4A, a point m 1 on a two-dimensional image is obtained by imaging a point M in a three-dimensional space with a camera or the like.
The image data I 1 and the image data I 2 obtained by projecting the image data and the point m 2 are overlapped as shown in FIG. For example, when the coordinates of point M in the three-dimensional space is expressed as (x, y, z), the point m 1 and point m 2 is
(X 1 / w 1 , y 1 / w 1 ), (x 2 / w 2 , y 2
/ W 2 ).
【0023】特徴抽出部11,12は、それぞれ、画像
データI1及び画像データI2に含まれる絵柄のエッジ、
角、連結等を検出することによって、可能な限りに多く
の特徴点を抽出する。このとき、特徴抽出部11,12
は、それぞれ、重複部分とその近傍に位置する画像デー
タI1及び画像データI2の特徴点を優先的に抽出するこ
ともできる。また、特徴抽出部11,12は、それぞ
れ、画像データI1又は画像データI2についてディジタ
ルズームを行い、特徴点を抽出することもできる。特徴
抽出部11,12は、それぞれ、抽出した特徴点からな
る点集合を後段の処理実行部13に供給する。The feature extraction units 11 and 12 respectively control the edge of the picture included in the image data I 1 and the image data I 2 ,
By detecting corners, connections, etc., as many feature points as possible are extracted. At this time, the feature extraction units 11 and 12
Can preferentially extract the feature points of the image data I 1 and the image data I 2 located in the overlapping portion and the vicinity thereof, respectively. The feature extraction unit 11 and 12, respectively, the image data I 1 or the image data I 2 performs digital zoom may extract feature points. The feature extraction units 11 and 12 each supply a point set including the extracted feature points to the subsequent processing execution unit 13.
【0024】また、特徴抽出部11,12は、それぞ
れ、画像データI1と画像データI2との重複部分の割合
を示す重複率に応じて、画像データI1と画像データI2
との位置関係を調整する際に用いるマッチング処理の手
法を選択する選択信号を生成する。すなわち、特徴抽出
部11,12は、それぞれ、図5に示すように、重複率
が100%に近いほど、特徴点の数に比例したパラメー
タである特徴量を用いてマッチング処理を行う手法を選
択する旨の選択信号を生成し、重複率が小さいほど、画
素値を用いてマッチング処理を行う手法を選択する旨の
選択信号を生成する。特徴抽出部11,12は、それぞ
れ、生成した選択信号を後段の処理実行部13に供給す
る。The feature extraction units 11 and 12 respectively determine the image data I 1 and the image data I 2 according to the overlap ratio indicating the ratio of the overlap between the image data I 1 and the image data I 2.
And a selection signal for selecting a matching method used when adjusting the positional relationship with. That is, as shown in FIG. 5, each of the feature extraction units 11 and 12 selects a method of performing a matching process using a feature amount which is a parameter proportional to the number of feature points, as the overlap rate approaches 100%. A selection signal is generated to indicate that the matching process is to be performed using the pixel value as the overlap rate is smaller. Each of the feature extraction units 11 and 12 supplies the generated selection signal to the subsequent processing execution unit 13.
【0025】処理実行部13は、特徴抽出部11,12
のそれぞれから供給された2つの点集合と、選択信号と
に基づいて、幾何学的な処理を行う。特に、処理実行部
13は、データ入力部20からの画像データI2に基づ
いて、サンプルデータSDを含む画像データI1の情景
分析を行うために、特徴抽出部11,12のそれぞれか
ら供給された2つの点集合のパターンマッチングを行
う。このパターンマッチング処理については、後に詳述
する。The processing executing unit 13 includes the feature extracting units 11 and 12
Performs geometric processing based on the two sets of points supplied from each of, and the selection signal. In particular, the process execution unit 13, based on the image data I 2 from the data input unit 20, in order to perform a scene analysis of the image data I 1 containing the sample data SD, supplied from each of the feature extraction unit 11, 12 The pattern matching of the two point sets is performed. This pattern matching processing will be described later in detail.
【0026】処理実行部13は、選択信号に基づいて、
特徴点を用いてマッチングを行うと判断した場合には、
画像データI1及び画像データI2を構成する複数の画素
の強度値等に着目し、例えば画像データI1についての
特徴点群S1に含まれる特徴点p1と、画像データI2
についての特徴点群S2に含まれる特徴点p2とがマッ
チングするための条件として、次式(2)を満たす場合
に、画像データI1と画像データI2とのマッチングがと
れていることを認識する。The processing execution unit 13 receives the selection signal
If you decide to perform matching using feature points,
Focusing on the intensity values of a plurality of pixels or the like constituting the image data I 1 and the image data I 2, and the feature point p 1 contained for example in the feature points S 1 for the image data I 1, the image data I 2
When the following expression (2) is satisfied, matching between the image data I 1 and the image data I 2 is performed as a condition for matching the feature point p 2 included in the feature point group S 2 for Recognize.
【0027】[0027]
【数2】 (Equation 2)
【0028】ここで、上式(2)において、εは、ε≧
0を満たす値を有するものであり、d2は、ユークリッ
ド距離である。また、Hは、画像データI1と画像デー
タI2とを合成する際に用いるマトリックスである。Here, in the above equation (2), ε is ε ≧
It has a value satisfying 0, and d 2 is a Euclidean distance. H is a matrix used when synthesizing the image data I 1 and the image data I 2 .
【0029】また、処理実行部13は、マッチング処理
としては、上述したものの他、いわゆるハウスドルフ
(Hausdorff)マッチング処理や、いわゆるボトルネッ
ク(Bottleneck)マッチング処理であっても、上述した
ように、画像データI1についての特徴点と画像データ
I2についての特徴点とを用いて、共通点を探索するこ
とができる。As described above, the processing execution unit 13 performs the above-described matching processing, such as the Hausdorff matching processing and the so-called Bottleneck matching processing, as described above. by using the feature points for the feature point and the image data I 2 for the data I 1, it is possible to detect a common point.
【0030】ハウスドルフマッチング処理は、画像デー
タI2についての特徴点群S2に含まれる特徴点p2と
近接して位置する画像データI1についての特徴点p1と
を接続する処理である。このハウスドルフマッチング処
理においては、このような処理を行うことによって、画
像データI1と画像データI2との一致度を示す評価値で
あるハウスドルフ距離を生成する。[0030] Hausdorff matching is a process of connecting the feature point p 1 for the image data I 1 located in close proximity to the feature point p 2 included in the feature point group S 2 of the image data I 2 . In the Hausdorff matching processing, by performing such processing, it generates a Hausdorff distance is an evaluation value indicating a degree of coincidence between the image data I 1 and the image data I 2.
【0031】一方、ボトルネックマッチング処理は、画
像データI1と画像データI2との類似性を調べるのに好
適なマッチング処理である。このボトルネックマッチン
グ処理においては、ハウスドルフマッチング処理と同様
に、画像データI1と画像データI2との重複部分と、画
像データI1と画像データI2との類似度を示す評価値を
生成する。On the other hand, the bottleneck matching process is a matching process suitable for examining the similarity between the image data I 1 and the image data I 2 . In this bottleneck matching process, like the Hausdorff matching process generates the overlapping portion between the image data I 1 and the image data I 2, the evaluation value indicating the similarity between the image data I 1 and the image data I 2 I do.
【0032】また、処理実行部13は、上述したマッチ
ング処理の他に、特徴点の特性を用いたことを考慮した
モンテカルロ法を用いて、マッチングの正確性をより向
上させることもできる。図6に、モンテカルロ法のアル
ゴリズムの一例を示す。すなわち、処理実行部13は、
マッチング処理を行う際に、kを、2k個の特徴点によ
り完全にマッチングがとれる基本的な変換を演算するた
めに必要な特徴点の数とし、ランダムにkの個数を選択
するとともに、特徴点群S2のk個の特徴点を用い
て、モンテカルロ法を適用したマッチング処理を行う。In addition to the above-described matching processing, the processing executing unit 13 can further improve the accuracy of matching by using a Monte Carlo method in which the characteristics of the feature points are used. FIG. 6 shows an example of an algorithm of the Monte Carlo method. That is, the processing execution unit 13
When performing the matching process, let k be the number of feature points required to calculate a basic transformation that can perfectly match with 2k feature points, and randomly select the number of k with k-number of feature points of the group S 2, it performs a matching process using the Monte Carlo method.
【0033】この処理実行部13は、画像データI2に
含まれる画像データI1の特徴にマッチングしている画
像データI1及び画像データI2についての転移量及び回
転移動量を探索する処理を行う。すなわち、処理実行部
13は、図7に示すように、画像データI1に含まれる
特徴点(L1,L2)を選択する。このとき、処理実行部
13は、後の幾何学的フィルタリングにて用いる画像デ
ータI2に含まれる特徴点(R1,R2)を含むような領
域を避けて、画像データI1に含まれる特徴点(L1,L
2)を選択する。ここで、画像データI2に含まれる特徴
点(R1,R2)は、円領域(d2(L1,L2)−2μ,
d2(L1,L2)+4μ)から選択されている。そし
て、処理実行部13は、特徴抽出部11,12のそれぞ
れにより抽出した特徴点の位置的な誤差等を考慮し、4
μだけ半径の大きい円領域を設定する。[0033] The processing execution section 13, the process of searching for the transferred amount and the rotational movement amount of the image data I 1 and the image data I 2 are matched to the characteristics of the image data I 1 included in the image data I 2 Do. That is, as shown in FIG. 7, the processing execution unit 13 selects feature points (L 1 , L 2 ) included in the image data I 1 . In this case, the processing execution section 13, to avoid the area that includes a feature point (R 1, R 2) contained in the image data I 2 used in the geometrical filtering after, included in the image data I 1 Feature points (L 1 , L
2 ) Select Here, the feature points (R 1 , R 2 ) included in the image data I 2 are circular regions (d 2 (L 1 , L 2 ) −2 μ,
d 2 (L 1 , L 2 ) +4 μ). Then, the processing execution unit 13 considers the positional error of the feature points extracted by the feature extraction units 11 and 12,
Set a circular area with a large radius by μ.
【0034】また、処理実行部13は、図8に示す幾何
学的フィルタリングアルゴリズムを用いて、特徴点p*
を特徴点pに接する特徴点とする。この幾何学的フィル
タリングアルゴリズムを適用することで、特徴点pと特
徴点p*との関係は、次式(3)のように表される。Further, the processing execution unit 13 uses the geometric filtering algorithm shown in FIG. 8, the feature point p *
Is a feature point in contact with the feature point p. By applying this geometric filtering algorithm, the relationship between the feature point p and the feature point p * is expressed by the following equation (3).
【0035】[0035]
【数3】 (Equation 3)
【0036】そして、処理実行部13は、検出した特徴
点について、適応的に幾何学的フィルタリングアルゴリ
ズムを用いる。図8に示した幾何学的フィルタリングア
ルゴリズムにおいては、ランダムに選択したk個の特徴
点からなる画像データI1についての特徴点群S1(L
1,L2,・・・,Lk)を用いて、順次画像データI2に
ついての特徴点p2を、特徴点群S2(R1,R2,・・
・,Rk)から選択し、特徴点群S1に含まれる特徴点
とマッチングする特徴点を探索する。ここで、R2は、
円領域(R1,L1L2−2μ,4μ)に含まれる特徴点
であり、R3は、円領域(R2,L2L3−2μ,4μ)に
含まれる特徴点であり、Rkは、円領域(Rk-1,Lk-1
Lk−2μ,4μ)に含まれる特徴点である。Then, the processing execution unit 13 adaptively uses a geometric filtering algorithm for the detected feature points. In the geometric filtering algorithm shown in FIG. 8, a feature point group S 1 (L) of image data I 1 composed of k feature points selected at random.
1, L 2, ···, using L k), the feature point p 2 for the sequential image data I 2, feature points S 2 (R 1, R 2 , ··
, R k ) and searches for a feature point that matches the feature point included in the feature point group S 1 . Where R 2 is
Circular area (R 1, L 1 L 2 -2μ, 4μ) are feature points included in, R 3 is a feature points included in the circular area (R 2, L 2 L 3 -2μ, 4μ), R k is a circular region (R k−1 , L k−1)
L k -2μ, 4μ).
【0037】さらに、処理実行部13は、図9に示すよ
うなアルゴリズムと、図8に示した幾何学的フィルタリ
ングアルゴリズムとをランダムに組み合わせることによ
って、画像データI1と画像データI2とのマッチングを
とる。そして、処理実行部13は、マッチングを行った
結果を評価部14に供給する。Further, the processing execution unit 13 performs matching between the image data I 1 and the image data I 2 by randomly combining the algorithm shown in FIG. 9 and the geometrical filtering algorithm shown in FIG. Take. Then, the processing execution unit 13 supplies the result of the matching to the evaluation unit 14.
【0038】評価部14は、上述したマッチング処理に
よる結果を処理実行部13から入力し、例えば処理実行
部13により行われたパターンマッチングの結果を評価
して評価値を生成する。また、評価部14は、評価関数
として、上述したハウスドルフマッチング処理や、ボト
ルネックマッチング処理を行うとともに、画素値でマッ
チングをとる場合には、画像データI1と画像データI2
との画素値を検出し、これらの画像データI1と画像デ
ータI2との画素値の相互相関を利用して評価値を生成
する。評価部14は、評価が最良となった場合に、例え
ば画像データI1やその有向グラフを表示部30に出力
する。そして、表示部30は、評価部14からの信号に
基づいて、画像データI1やその有向グラフを図示しな
い表示画面に表示することができる。The evaluation unit 14 receives the result of the above-mentioned matching processing from the processing execution unit 13 and evaluates the result of the pattern matching performed by the processing execution unit 13 to generate an evaluation value. The evaluation unit 14 performs the Hausdorff matching processing and the bottleneck matching processing described above as evaluation functions, and when matching is performed using pixel values, the image data I 1 and the image data I 2 are used.
Detecting a pixel value of a, and generates an evaluation value by using the correlation of pixel values between these image data I 1 and the image data I 2. The evaluation unit 14 outputs, for example, the image data I 1 and its directed graph to the display unit 30 when the evaluation is the best. The display unit 30 may be based on a signal from the evaluation unit 14 on the display screen (not shown) the image data I 1 and the directed graph.
【0039】このような画像処理装置10は、例えば図
10に示すような一連の処理を行うことによって、画像
データI2に基づいて、画像データI1の情景分析を行
う。なおここでは、ユーザの指定に基づいて選択された
画像データI1中の任意のオブジェクトであるサンプル
データSDについて、画像データI2とのパターンマッ
チングを行う際の一連の処理について説明する。The image processing apparatus 10 performs a scene analysis of the image data I 1 based on the image data I 2 by performing a series of processes as shown in FIG. 10, for example. Note Here, a sample data SD is any object in the image data I 1, which is selected based on the specification of the user, a series of processes will be described for performing pattern matching between the image data I 2.
【0040】まず、画像処理装置10は、同図に示すよ
うに、ステップS1において、画像データI1における
サンプルデータSDを入力する。ここで、画像データI
1は、例えばカメラ等により撮像されたものであっても
よいし、例えばユーザが指定することにより情景分析の
対象として選択されたものであってもよい。また、画像
処理装置10は、入力したサンプルデータSDを、例え
ばズーム率を変化させることにより拡大及び/又は縮小
した画像データからなるピラミッドを生成する。Firstly, the image processing apparatus 10, as shown in the figure, in step S1, and inputs the sampled data SD in the image data I 1. Here, the image data I
1 may be, for example, an image captured by a camera or the like, or may be, for example, selected by a user as a target of scene analysis. In addition, the image processing apparatus 10 generates a pyramid including enlarged and / or reduced image data of the input sample data SD by, for example, changing a zoom ratio.
【0041】続いて、画像処理装置10は、ステップS
2において、ステップS1にて生成されたサンプルデー
タSDのピラミッドを、特徴抽出部11に供給し、特徴
抽出部11によって、ピラミッドを構成する各画像デー
タについて、上述したように特徴点を抽出する。なお以
下では、サンプルデータSDについての適切な縮尺率に
おける画像データをサンプルデータSDと称するものと
する。特徴抽出部11は、特徴点を抽出する際に、サン
プルデータSDの所定の3次元方向における特徴点を抽
出する。Subsequently, the image processing apparatus 10 proceeds to step S
In step 2, the pyramid of the sample data SD generated in step S1 is supplied to the feature extraction unit 11, and the feature extraction unit 11 extracts feature points for each piece of image data forming the pyramid as described above. In the following, image data at an appropriate scale for the sample data SD is referred to as sample data SD. When extracting a feature point, the feature extraction unit 11 extracts a feature point in a predetermined three-dimensional direction of the sample data SD.
【0042】続いて、画像処理装置10は、ステップS
3において、データ入力部20からの画像データI2を
入力する。なお、画像データI2は、必ずしもデータ入
力部20から供給されるものでなくてもよく、例えばユ
ーザが指定することにより情景分析の対象として選択さ
れたものであってもよい。また、画像処理装置10は、
入力した画像データI2を、例えばズーム率を変化させ
ることにより拡大及び/又は縮小した画像データからな
るピラミッドを生成する。Subsequently, the image processing apparatus 10 proceeds to step S
In 3 inputs image data I 2 from the data input unit 20. Note that the image data I 2 does not necessarily need to be supplied from the data input unit 20, and may be, for example, data selected as a target of scene analysis by designation by a user. Further, the image processing apparatus 10
The input image data I 2 is generated, for example, by changing the zoom ratio to generate a pyramid including enlarged and / or reduced image data.
【0043】続いて、画像処理装置10は、ステップS
4において、ステップS3にて生成された画像データI
2のピラミッドを、特徴抽出部12に供給する。画像処
理装置10は、特徴抽出部11,12によって、サンプ
ルデータSDのピラミッドを構成する各画像データと、
画像データI2のピラミッドを構成する各画像データと
を、例えばユーザによる命令にしたがって、或いは、自
動的に重複させるとともに、各画像データについて、上
述したように特徴点を抽出する。画像処理装置10は、
このようにすることによって、縮尺率が異なる画像デー
タI2に含まれるサンプルデータSDを探索する際に
も、互いの縮尺率を変化させ、適切な縮尺率の画像デー
タ同士を比較することができる。なお以下では、画像デ
ータI2についての適切な縮尺率における画像データを
画像データI2と称するものとする。特徴抽出部12
は、特徴点を抽出する際に、画像データI2の所定の3
次元方向における特徴点を抽出する。また、画像処理装
置10は、特徴抽出部11,12のそれぞれによって、
画像データI1と画像データI2との重複率を参照し、マ
ッチング処理の手法を選択する選択信号を生成する。Subsequently, the image processing apparatus 10 proceeds to step S
4, the image data I generated in step S3
The second pyramid is supplied to the feature extraction unit 12. The image processing apparatus 10 uses the feature extraction units 11 and 12 to output each image data forming a pyramid of the sample data SD,
And the image data constituting the pyramid of the image data I 2, for example, according to instructions by the user, or, together to automatically duplicate, for each image data, feature points are extracted as described above. The image processing device 10
By doing so, when searching the sampled data SD which scale factor may be included in different image data I 2 can also be varied with each other to scale, it compares the image data with each other suitable scaling factor . In the following, it is assumed to refer to image data in the appropriate scale factor for the image data I 2 and the image data I 2. Feature extraction unit 12
, When extracting the feature points, the predetermined third image data I 2
Extract feature points in the dimensional direction. In addition, the image processing apparatus 10 uses the feature extraction units 11 and 12 to
Referring to overlap ratio between the image data I 1 and the image data I 2, and generates a selection signal for selecting the method of the matching process.
【0044】続いて、画像処理装置10は、ステップS
5おいて、処理実行部13による初期化を行う。Subsequently, the image processing apparatus 10 proceeds to step S
At 5, initialization is performed by the processing execution unit 13.
【0045】続いて、画像処理装置10は、ステップS
6において、処理実行部13によりサンプルデータSD
についての特徴点のうちから任意の1組の特徴点F1を
選択する。Subsequently, the image processing apparatus 10 proceeds to step S
In step 6, the processing execution unit 13 sets the sample data SD
Selecting any of a set of feature points F 1 from among the feature points for.
【0046】続いて、画像処理装置10は、ステップS
7において、処理実行部13により画像データI2につ
いての特徴点のうちから任意の1組の特徴点F2を選択
する。Subsequently, the image processing apparatus 10 proceeds to step S
In 7, selects any one set of the feature point F 2 from among the feature points of the image data I 2 by the processing execution unit 13.
【0047】続いて、画像処理装置10は、ステップS
8において、処理実行部13により特徴点F1と特徴点
F2とを用いて、マッチング処理を行い、特徴点F1と特
徴点F2とが一致しているか否かを判別する。Subsequently, the image processing apparatus 10 proceeds to step S
In 8, using the feature point F 1 and the feature point F 2 by the processing execution unit 13, performs a matching process, determines whether or not the feature point F 1 and the feature point F 2 coincides.
【0048】ここで、特徴点F1と特徴点F2とが一致し
ていない場合には、画像処理装置10は、ステップS7
へと処理を移行し、他の特徴点F2を選択し、再びマッ
チング処理を行う。Here, if the feature points F 1 and F 2 do not match, the image processing apparatus 10 proceeds to step S7.
To and the process proceeds to select the other feature point F 2, performs a matching process again.
【0049】一方、特徴点F1と特徴点F2とが一致して
いる場合には、画像処理装置10は、ステップS9にお
いて、評価部14によって、評価値を生成する。On the other hand, when the feature points F 1 and F 2 match, the image processing apparatus 10 generates an evaluation value by the evaluation unit 14 in step S 9.
【0050】続いて、画像処理装置10は、ステップS
10において、処理実行部13によって、いわゆるハン
ガリー理論で用いられるO(1)が上述した処理におけ
るサンプル数よりも大きいか否かを判別する。Subsequently, the image processing apparatus 10 proceeds to step S
At 10, the processing execution unit 13 determines whether O (1) used in the so-called Hungarian theory is larger than the number of samples in the above-described processing.
【0051】ここで、O(1)がサンプル数よりも大き
くない場合には、画像処理装置10は、ステップS6へ
と処理を移行し、ステップS6以降の処理を再び繰り返
す。Here, if O (1) is not larger than the number of samples, the image processing apparatus 10 shifts the processing to step S6, and repeats the processing from step S6 again.
【0052】一方、O(1)がサンプル数よりも大きい
場合には、画像処理装置10は、ステップS11におい
て、評価部14によって、ステップS9にて生成した評
価値が以前にマッチング処理を行ったときの評価値より
も良好であるか否かを判別する。On the other hand, when O (1) is larger than the number of samples, in the image processing apparatus 10, in step S11, the evaluation unit 14 previously performed the matching processing on the evaluation value generated in step S9 by the evaluation unit 14. It is determined whether the evaluation value is better than the evaluation value at that time.
【0053】ここで、評価値が良好でない場合には、画
像処理装置10は、ステップS3へと処理を移行し、デ
ータ入力部20から他の画像データI2を入力し、ステ
ップS3以降の処理を再び繰り返す。[0053] Here, when the evaluation value is not satisfactory, the image processing apparatus 10, the process proceeds to step S3, and inputs the other image data I 2 from the data input unit 20, the step S3 and subsequent steps Is repeated again.
【0054】一方、評価値が良好である場合には、画像
処理装置10は、画像データI2がサンプルデータSD
と同一の対象物であるものとみなし、その結果を図示し
ないメモリ等に保持し、一連の処理を終了する。On the other hand, when the evaluation value is good, the image processing apparatus 10, the image data I 2 sample data SD
It is assumed that the object is the same as the above, and the result is stored in a memory or the like (not shown), and a series of processing ends.
【0055】なお、画像処理装置10は、サンプルデー
タSDと、データ入力部20に保持されている全ての画
像データI2とのマッチング処理を行い、最良の評価値
を有する画像データI2のみを図示しないメモリ等に保
持することもできる。Note that the image processing apparatus 10 performs a matching process between the sample data SD and all the image data I 2 held in the data input unit 20 to obtain only the image data I 2 having the best evaluation value. It can also be stored in a memory or the like (not shown).
【0056】このように、画像処理装置10は、サンプ
ルデータSDが何であるかをデータ入力部20からの画
像データI2に基づいて判別する。そして、画像処理装
置10は、画像データI1における全てのオブジェクト
に対してこのような処理を行うことによって、画像デー
タI1の情景分析を行い、画像データI1や情景分析の結
果である有向グラフを表示部30に出力することができ
る。As described above, the image processing apparatus 10 determines what the sample data SD is based on the image data I 2 from the data input unit 20. Then, the image processing apparatus 10 performs such processing for all objects in the image data I 1, performed scene analysis of the image data I 1, is the result of the image data I 1 and scene analysis digraph Can be output to the display unit 30.
【0057】このような画像処理装置10は、マッチン
グ処理において、画像データI1と画像データI2との特
徴点を上述したような幾何学的手法を用いてマッチング
することから、効率的に画像データI1の情景分析を行
うことができる。The image processing apparatus 10 efficiently matches the feature points of the image data I 1 and the image data I 2 by using the above-described geometrical method in the matching process. scene analysis data I 1 can be performed.
【0058】以下、このような画像処理装置10におけ
る各種処理を詳細に説明する。以下では、上述した画像
データI1及び画像データI2のそれぞれにおける特徴点
群を、それぞれ、点集合S,Qとし、これらの合同
の検出処理、対称性の検出処理、パターンマッチング、
最大共通点集合の検出処理等について説明し、これらの
応用についても言及する。Hereinafter, various processes in the image processing apparatus 10 will be described in detail. In the following, the feature points in each of the above-described image data I 1 and image data I 2 will be referred to as a point set S and Q, respectively, and a joint detection processing, a symmetry detection processing, a pattern matching,
The process of detecting the maximum common point set and the like will be described, and these applications will also be mentioned.
【0059】上述した画像処理装置10は、ユークリッ
ドd次元空間Edにおける2つの点集合S={S1,
・・・,Sn},Q={Q1,・・・,Qm}に関し
て、変換空間Tにおける変換Tを点集合Sに対して
適用した場合の{T(S),Q}のマッチングが最
大となる変換Tを見出すことができる。また、画像処理
装置10は、変換Tに対して幾何学的制約を付すことに
よって、パターンマッチングを条件付きで行うための決
定論的なアルゴリズムとランダムアルゴリズムとを実現
することができる。[0059] The image processing apparatus 10 described above, a set of two points in Euclidean d-dimensional space E d S = {S 1,
, S n }, Q = {Q 1 ,..., Q m }, {T (S), Q} matching when transform T in transform space T is applied to point set S Can be found to be the maximum T. Further, the image processing apparatus 10 can implement a deterministic algorithm and a random algorithm for conditionally performing pattern matching by applying a geometric constraint to the transform T.
【0060】画像処理装置10は、各点がある小量εだ
け揺らいだ場合であっても、ほぼ正確に点集合パターン
マッチングを求めることができる。この許容揺動量ε
は、点集合の最小点間距離dminと点間距離dとにより
表されるdmin/2√dによって変化する。この画像処
理装置10は、例えばいわゆるハウスドルフ指標や対称
性差異指標といったマッチング{S,Q}に点数付
けを行う連続的な指標を採用する代わりに、許容揺動量
εの最大値の誤差を許容するような1対1でマッチする
点の数を計数することによって、マッチングの指標とす
る。The image processing apparatus 10 can obtain point set pattern matching almost accurately even when each point fluctuates by a certain small amount ε. This allowable swing amount ε
Varies according to d min / 2√d expressed by the minimum distance d min between points and the distance d between points of the point set. The image processing apparatus 10 allows an error of the maximum value of the allowable swinging amount ε instead of employing a continuous index for scoring the matching {S, Q} such as a so-called Hausdorff index or a symmetry difference index. By counting the number of one-to-one matching points as shown in FIG.
【0061】なお、以下の説明では、1ε(P,Q)
は、d2(P,Q)≦2εの場合且つそのときに限って
1ε(P,Q)=1であり、その他の場合には1ε
(P,Q)=0であるような{0,1}関数であるもの
とする。また、以下の説明では、マッチングの正確性を
表す点数score({S,Q})は、点集合Q
の順列m!の全体にわたって変化する値であるσを用い
て、次式(4)のように定義するものとする。In the following description, 1ε (P, Q)
Is 1ε (P, Q) = 1 if and only if d 2 (P, Q) ≦ 2ε, otherwise 1ε
It is assumed that the function is a {0, 1} function such that (P, Q) = 0. Further, in the following description, the score score ({S, Q}) representing the accuracy of matching is represented by a point set Q
Permutation m! Is defined as the following equation (4) using σ, which is a value that changes over the entirety of.
【0062】[0062]
【数4】 (Equation 4)
【0063】ここで、上式(4)に示す定義は、全ての
ε≧0に対して成立する。Here, the definition shown in the above equation (4) holds for all ε ≧ 0.
【0064】画像処理装置10は、まず最初に、マッチ
する点である“インライア”をマッチしない点である
“アウトライア”から区別し、次に、マッチする点に同
一のラベルを付与する。画像処理装置10は、このよう
な予備的な処理を行うことによって、Rにおける連続
距離指標を取り扱うことが可能となるとともに、局所的
な極小部のそれぞれのマッチを改良することができる。The image processing apparatus 10 first distinguishes a matching point “inlier” from a non-matching point “outlier”, and then assigns the same label to the matching point. By performing such preliminary processing, the image processing apparatus 10 can handle the continuous distance index in R, and can improve the matching of each local minimum.
【0065】例えば、画像処理装置10は、最近提案さ
れた“D. Mount, N. Netanyahu, and J. Le Moigne, Im
proved algorithms for robust point pattern matchin
g and applications to image registration, In COMPG
EOM:Annual ACM Symposium on Computational Geometr
y, 1998”や“M. Hagedoorn and R. Veltkamp, A gener
al method for partial point set matching, In Proce
edings of the 13th International Annual Symposium
on Computational Geometry (SCG-97), pages 406-408,
New York, June 4-6 1997, ACM Press”における変換
空間の分岐限界法(局所処理)を用いることができる。
すなわち、画像処理装置10は、上位レベルにおいて
は、マッチする変換のほぼ全てを見出すことができ、下
位レベルにおいては、それぞれの局所的極小部に対し
て、マッチする変換をより正確となるように改良するこ
とができる。For example, the image processing apparatus 10 is based on the recently proposed “D. Mount, N. Netanyahu, and J. Le Moigne, Im.
proved algorithms for robust point pattern matchin
g and applications to image registration, In COMPG
EOM: Annual ACM Symposium on Computational Geometr
y, 1998 ”and“ M. Hagedoorn and R. Veltkamp, A gener
al method for partial point set matching, In Proce
edings of the 13th International Annual Symposium
on Computational Geometry (SCG-97), pages 406-408,
New York, June 4-6 1997, ACM Press "".
That is, the image processing apparatus 10 can find almost all of the matching transforms at the upper level, and make the matching transform more accurate for each local minimum at the lower level. Can be improved.
【0066】概略的には、画像処理装置10は、図11
に示すような手法により幾何学的パターンマッチングを
行う。すなわち、画像処理装置10は、入力した2つの
点集合S,Qと許容揺動量εとに基づいて、グロー
バルな処理として、点集合S,Qの両者におけるイ
ンライアとアウトライアとを区別して検出し、マッチす
る点に同一のラベルを付与する。この処理は、上述した
ように、マッチング{S,Q}に点数付けを行う連
続的な指標を採用して行われるものではなく、不連続な
指標により行われる。そして、画像処理装置10は、局
所的な処理として、ラベル付けされた点集合Sl,
Qlを形成し、上述した連続的な指標を採用してパタ
ーンマッチングを改良し、変換空間Tにおける変換T
の集合を出力する。Schematically, the image processing apparatus 10
The geometric pattern matching is performed by the method shown in FIG. That is, the image processing apparatus 10 distinguishes and detects inliers and outliers in both the point sets S and Q as global processing based on the two input point sets S and Q and the allowable swing amount ε. , And assign the same label to the matching points. As described above, this processing is not performed by using a continuous index for scoring the matching {S, Q}, but is performed by a discontinuous index. Then, the image processing apparatus 10 performs, as a local process, the labeled point set S l ,
Forming a Q l, to improve the pattern matching adopts a continuous indication as described above, converted in transformation space T T
Output the set of
【0067】また、視覚幾何学では抽出された不正確な
特徴点から候補を選択する必要が頻繁に生じることか
ら、画像処理装置10は、ある特徴を有する全ての変換
を報告するとともに、そのような変換の数を計数する。Since it is frequently necessary to select a candidate from extracted inaccurate feature points in visual geometry, the image processing apparatus 10 reports all transformations having a certain feature, and Count the number of different conversions.
【0068】以下、このような画像処理装置10におけ
る処理を詳細に説明していく。Hereinafter, the processing in the image processing apparatus 10 will be described in detail.
【0069】まず、2次元、3次元及びd次元空間にお
ける合同問題の定義を行い、その際、合同演算子がどの
ように数の対称性に関係付けられるかについて説明す
る。また、合同問題と、グラフ理論、対称性及び数論と
の関係について説明する。なお、以下の説明では、正確
なマッチングを接頭辞Eで表すとともに、雑音を含むマ
ッチングを接頭辞Nで表すものとする。また、以下の説
明では、例証、質問、報告及びカウントを、それぞれ、
W,Q,R,Cで表すものとする。そのため、例えば、
“EW合同問題”とは、T(S)=Qとなる変換T
∈T、すなわち、点集合S,Qが合同である
(S≡Qで表す)ことを報告するように求めてい
る問題のことを示す。また、TI,TR,T
T,TH,TS,TAは、それぞれ、等
長変換(isometry)、回転(rotational)、転移(tran
slational)、相似(homothetic)、類似(similitud
e、等長変換とスケーリングとを行ったもの)、アフィン
変換群空間を表すものとする。First, a congruence problem in a two-dimensional, three-dimensional and d-dimensional space will be defined, and how the congruence operator is related to the symmetry of numbers will be described. Also, the relationship between the joint problem and graph theory, symmetry, and number theory will be described. In the following description, the exact matching is represented by a prefix E, and the matching including noise is represented by a prefix N. Also, in the following description, the illustration, question, report and count, respectively,
It is represented by W, Q, R, and C. So, for example,
The “EW joint problem” is a conversion T such that T (S) = Q
∈T, that is, a problem that is required to report that the point sets S and Q are congruent (denoted by S≡Q). Also, TI, TR, T
T, TH, TS, and TA are isometry, rotation, and tran, respectively.
slational), homothetic, similitud
e, which is obtained by performing isometric transformation and scaling), and represents an affine transformation group space.
【0070】「合同問題」とは、一般に、2つの点集合
S,Qが合同であるかどうかを問うものである。な
お、以下の説明では、環境空間を強調して表したい場合
には、添え字を用いることとする。例えば、S≡TH
Qは、相似空間において点集合Sが点集合Qに対
して合同であることを表す。なお、添え字が明示的に示
されていない場合には、“≡”は、“≡TH”であるもの
とする。The "joint problem" generally asks whether two point sets S and Q are joint. In the following description, when it is desired to emphasize and represent the environment space, a subscript is used. For example, S≡ TH
Q indicates that the point set S is congruent with the point set Q in the similarity space. If the subscript is not explicitly indicated, “≡” is “≡ TH ”.
【0071】ここで、次のような合同問題を考える。
「2つのd次元ユークリッドn点集合S={S1,・
・・,Si=(Si,1,・・・Si,d),・・・,Sn}及
びQ={Q1,・・・,Qi=(Qi,1,・・・
Qi,d),・・・,Qn}が与えられたとき、点集合S
は、点集合Qと合同であるか?すなわち、S≡
Qであるか?」Here, the following joint problem is considered.
"Two d-dimensional Euclidean n-point sets S = {S 1 ,.
.., S i = (S i, 1 ,... S i, d ),..., S n } and Q = {Q 1 ,..., Q i = (Q i, 1 ,.・
Q i, d ),..., Q n }, the point set S
Is congruent with the point set Q? That is, S≡
Q? "
【0072】この問題は、2次元空間E2及び3次元
空間E3においては、“M. D. Atkinson, An optimal
algorithm for geometrical congruence, J. Algorithm
s, 8:159-172, 1987”や“H. Alt, K. Mehlhorn, H. Wa
gener, and Emo Welzl, Congruence, similarity and s
ymmetries of geometric objects, Discrete Comput.Ge
om., 3:237-256, 1988”に記載されているように、いわ
ゆる実RAMモデルによりO(n log n)時間で解
を求めることができるが、それ以外の任意の次元に対し
ては、いわゆるグラフ同型問題と同様に、解を求めるこ
とが困難である。なお、このグラフ同型問題の困難さが
なぜどのように生じるのかを特徴付けることは、“J. K
obler, U. Schoning, and J. Toran, The Graph Isomor
phism Problem:Its Structual Complexity, Birkhause
r, Boston, 1993”にて示されているように、未だに解
決されていない。This problem is described in the two-dimensional space E 2 and the three-dimensional space E 3 as “MD Atkinson, An optimal
algorithm for geometrical congruence, J. Algorithm
s, 8: 159-172, 1987 ”and“ H. Alt, K. Mehlhorn, H. Wa
gener, and Emo Welzl, Congruence, similarity and s
ymmetries of geometric objects, Discrete Comput.Ge
om., 3: 237-256, 1988 ”, a solution can be obtained in O (n log n) time by a so-called real RAM model, but for any other dimensions, As with so-called graph isomorphism, it is difficult to find a solution.How to characterize why the difficulty of this graph isomorphism arises is described in “J. K.
obler, U. Schoning, and J. Toran, The Graph Isomor
phism Problem: Its Structual Complexity, Birkhause
r, Boston, 1993 ”, as yet.
【0073】Alt等は、上述した“H. Alt, K. Mehlhor
n, H. Wagener, and Emo Welzl, Congruence, similari
ty and symmetries of geometric objects, Discrete C
omput. Geom., 3:237-256, 1988”にて、d次元の点集
合に対するO(nd-2 logn)時間の確定論的アルゴ
リズムについて論じている。また、最近Akutsu
は、“Tatsuya Akutsu, On determining the congruenc
e of point sets in d dimensions, Comput. Geom. The
ory Appl., 9(4):247-256, 1998”にて、“Meijer, Cry
ptology and the birthday paradox, UMAP:The Journal
of Undergraduate Mathematics and its Application
s, 17, 1996”に示されているバースディパラドックス
に基づく、ランダムO^(nd-1/2 log2 n)時間O
^(nd-1/2)空間アルゴリズムを提案している。な
お、O^(・)は、ランダム化されたアルゴリズムの処
理能力を表す。Alt et al. Refer to the above-mentioned “H. Alt, K. Mehlhor
n, H. Wagener, and Emo Welzl, Congruence, similari
ty and symmetries of geometric objects, Discrete C
omput. Geom., 3: 237-256, 1988 ", discusses a deterministic algorithm for O ( nd-2 logn) time for d-dimensional point sets.
Is “Tatsuya Akutsu, On determining the congruenc
e of point sets in d dimensions, Comput. Geom. The
ory Appl., 9 (4): 247-256, 1998 ”by“ Meijer, Cry
ptology and the birthday paradox, UMAP: The Journal
of Undergraduate Mathematics and its Application
s, 17, 1996 ”, a random O ^ ( nd −1/2 log 2 n) time O based on the birthday paradox.
A ^ ( nd-1 / 2 ) space algorithm is proposed. Note that O ^ (•) represents the processing capability of the randomized algorithm.
【0074】ここで、Ed→Edで等長写像を表すも
のとする。すなわち、d(P,Q)=d(T(P),T
(Q))∀P,Q∈Edである。等長写像は、剛体運
動とも称され、鏡映をともなってもよく、鏡映をともな
っていなくてもよい。任意の等長変換T∈TIは、
d×d直交行列Rd∈TRと転移部td∈TTと
に分解することができる。すなわち、T(x):=Rd
x+tdと表すことができる。なお、d×d直交行列Rd
の行列式の符号によって、等長変換のキラリティが決ま
る。すなわち、det(Rd)=1のとき、その等長変
換は正則であるといい、det(Rd)=−1のとき、
その等長変換は変則であるといわれる。なお、2つの等
長変換の合成は、やはり等長変換である。例えば、滑空
鏡映は、鏡映と転移との合成であり、例えば規則的に繰
り返されたパターンを生成するのに用いられている。図
12に等長変換の幾つかの例を示す。Here, it is assumed that E d → E d indicates an isometric mapping. That is, d (P, Q) = d (T (P), T
(Q)) ∀P, is Q∈E d. The isometric mapping is also referred to as a rigid body motion, and may or may not have reflection. Any isometric transformation T∈TI is
It can be decomposed into a d × d orthogonal matrix R d ∈TR and a transition part t d ∈TT. That is, T (x): = R d
x + t d . Note that a d × d orthogonal matrix R d
Determines the chirality of the isometric conversion. That is, when det (R d ) = 1, the isometric transformation is called regular, and when det (R d ) = − 1,
The isometric transformation is said to be anomalous. Note that the synthesis of the two isometric transformations is also an isometric transformation. For example, gliding mirroring is a combination of mirroring and transition, and is used, for example, to generate regularly repeating patterns. FIG. 12 shows some examples of isometric conversion.
【0075】以下の説明では、正則な等長変換のみにつ
いて議論するものとする。なぜならば、変則等長変換の
場合には、まず最初に集合の1つ、例えばSに対し
て、x1→−x1といった鏡映変換を施せばよいからであ
る。点集合Sの標準形は、全てのQ≡Sに対し
て、O(S)=O(Q)となるオブジェクト(カテ
ゴリとも称される。)O(S)である。In the following description, only regular isometric transformation will be discussed. This is because, in the case of the irregular isometric transformation, first, a reflection transformation such as x 1 → −x 1 may be performed on one of the sets, for example, S. The standard form of the point set S is an object (also referred to as a category) O (S) where O (S) = O (Q) for all Q≡S.
【0076】したがって、合同を検出するために行う必
要があることとしては、最初に、点集合S,Qの両
方の標準型O(S)及びO(Q)を計算することで
あり、次に、これらの標準型O(S)及びO(Q)
が等しいかどうかを調べることである。ここで、規則的
な多面体に対しては、組み合わせ標準型として、“E.Sc
hulte, Symmetry of polytopes and polyhedra, In Jac
ob E. Goodman and Joseph O'Rourke, editors, Handbo
ok of Discrete and Computational Geometry, chapter
16, pages 311-330, CRC Press LLC, Boca Raton, FL,
1997”に示されているSchlafliの記号を用いることが
できる。Schlafliの記号{p1,・・・,pd-1}は、規
則的な多面体の局所的構造を次のように符号化する。す
なわち、任意の(i+1)面Fにおいて、piは、Fの
与えられた(i−1)面を含むi面の数を表す。例え
ば、2次元の正p角形は、記号{p}の組み合わせによ
り表すことができ、対称群は、2p次の二面体群であ
る。ここで、p≧3のとき、超越数を取り扱う必要があ
るが、循環群Cp及びその鏡映Cp’となる。さらに、任
意のd次元多面体は、“J. E. Goodman and J. O'Rourk
e, editors, Handbookof Discrete and Computational
Geometry, CRC Press LLC, Boca Raton, FL,1997”に示
されているWythoffの構成法のように、一般化されたSch
lafliの記号の組み合わせにより一意に表現することが
できる。したがって、2つの点集合S,Qが与えら
れたときには、まず、その凸閉包の対応する一般化Schl
afli記号を計算して求め、それらが一致するかどうかを
調べる。このとき、組み合わせ標準形式が2つの点集合
S,Qの間で異なる場合には、結果は否である。一
方、組み合わせ標準形式が2つの点集合S,Qで一
致する場合には、全体のテストを行う。Therefore, what needs to be done to detect congruence is to first calculate both the standard types O (S) and O (Q) of the point sets S and Q, then , These standard types O (S) and O (Q)
Is to check if are equal. Here, for a regular polyhedron, “E.Sc
hulte, Symmetry of polytopes and polyhedra, In Jac
ob E. Goodman and Joseph O'Rourke, editors, Handbo
ok of Discrete and Computational Geometry, chapter
16, pages 311-330, CRC Press LLC, Boca Raton, FL,
1997 "can be used. The Schlafli symbol {p 1 ,..., P d-1 } encodes the local structure of a regular polyhedron as That is, in an arbitrary (i + 1) plane F, p i represents the number of i planes including the (i−1) plane given F. For example, a two-dimensional regular p-polygon is represented by the symbol {p} The symmetric group is a 2p-order dihedral group. Here, when p ≧ 3, it is necessary to handle transcendental numbers, but the cyclic group C p and its reflection C p ′ Furthermore, any d-dimensional polyhedron is described in "JE Goodman and J. O'Rourk
e, editors, Handbookof Discrete and Computational
Geometry, CRC Press LLC, Boca Raton, FL, 1997 ”, a generalized Sch
It can be uniquely expressed by a combination of lafli symbols. Therefore, given two point sets S and Q, first, the corresponding generalized Schl of the convex hull
Calculate and find afli symbols and see if they match. At this time, if the combination standard form is different between the two point sets S and Q, the result is negative. On the other hand, if the combination standard form matches the two point sets S and Q, the entire test is performed.
【0077】つぎに、平面上における合同の検出につい
て説明する。平面上において合同を検出する簡単な方法
は、上述した“M. D. Atkinson, An optimal algorithm
forgeometrical congruence, J. Algorithms, 8:159-1
72, 1987”に記載されているように、次式(5)及び次
式(6)をそれぞれ計算して点集合S,Qのそれぞ
れのセントロイドcS,cQを求め、次に、セントロイド
cSがセントロイドcQに写像されるように転移を行う。Next, detection of congruence on a plane will be described. A simple method for detecting congruence on a plane is described in “MD Atkinson, An optimal algorithm” above.
forgeometrical congruence, J. Algorithms, 8: 159-1
72, 1987 ", the following equations (5) and (6) are respectively calculated to obtain the respective centroids c S , c Q of the point sets S, Q. Perform a transition so that Lloyd c S is mapped to Centroid c Q.
【0078】[0078]
【数5】 (Equation 5)
【0079】[0079]
【数6】 (Equation 6)
【0080】これは、任意のアフィン変換Tに対して、
すなわち、剛体運動に対して、cT(S)=T(cS)が成
立するためである。ここで、S≡Qである場合に
は、Q=T(S)となるような変換T∈Tが存在
するとともに、任意のT∈TAに対して、cQ=
cT(S)=T(cS)であることから、点集合S,Q
のそれぞれのセントロイドcS,cQは、互いに完全に一
致する。This means that for any affine transformation T,
That is, c T (S) = T (c S ) holds for the rigid body motion. Here, if S≡Q, there exists a transformation T∈T such that Q = T (S), and for any T∈TA, c Q =
Since c T (S) = T (c S ), the point sets S, Q
Each centroid c S, c Q of entirely consistent with each other.
【0081】ここで、それぞれのセントロイドを中心と
した極座標(θ,r)を用いて各点の座標を表すことに
する。このとき、辞書式順序に整列された極座標とマッ
チする完全循環パターンが存在する場合には、例えば
“D. E. Knuth, J. H. Morris,and V. R. Pratt, Fast
pattern matching in strings, SIAM Journal on Compu
ting, 6:323-350, 1977”に示されているMorris-Knuth-
Prattアルゴリズムを用いて直線時間軸上で求められる
ように、そのときに限って点集合Sは、点集合Qに
対して合同である。ここで循環パターンマッチングは、
長さが2nである文字列における長さがnである部分文
字列パターンマッチングとして捉えることができる。Here, the coordinates of each point are represented using polar coordinates (θ, r) centered on each centroid. At this time, if there is a complete circulation pattern that matches the polar coordinates arranged in lexicographic order, for example, “DE Knuth, JH Morris, and VR Pratt, Fast
pattern matching in strings, SIAM Journal on Compu
Morting-Knuth-, ting, 6: 323-350, 1977 ”
Only then is the point set S congruent to the point set Q, as determined on the linear time axis using the Pratt algorithm. Here the cyclic pattern matching is
This can be regarded as partial character string pattern matching of a character string of length 2n in a character string of length 2n.
【0082】なお、最大で2n=O(n)個である複数
の等長変換が存在し得るが、それらは、S≡Qで
あるか或いはS≡Qではないかもしれない。これ
らの全てを列挙してその数を計数し、さらに例証を行
う。図13に対合的回転対称の幾つかの例を示す。S
≡Qであるか否かを検出することは、それ程困難な
ことではないが、T(S)=Qとなるような全ての
変換Tを列挙することは困難である。ここで、点集合
Sの変換群をT(S)={T|T(S)=
S}と表すものとする。なお、“H. S. M. Coxeter,
Introduction to Geometry, John Wiley & Sons, New Y
ork, 2nd edition, 1969”、“H. S. M. Coxeter, Regu
lar Polytopes, Dover, New York, NY, 2nd edition, 1
973”及び“H. S.M. Coxeter, Regular Complex Polyto
pes, Cambridge University Press, Cambridge, Englan
d, 2nd edition, 1991”に示されている対称群又は鏡映
群も、T(S)={T|T(S)=S}と表す
ものとする。It should be noted that there may be a plurality of isometric transforms up to 2n = O (n), but they may or may not be S 或 い は Q. All of these are enumerated and their numbers counted for further illustration. FIG. 13 shows some examples of paired rotational symmetry. S
It is not so difficult to detect whether ≡Q or not, but it is difficult to enumerate all transformations T such that T (S) = Q. Here, the transformation group of the point set S is represented by T (S) = {T | T (S) =
Let it be represented as S}. Note that “HSM Coxeter,
Introduction to Geometry, John Wiley & Sons, New Y
ork, 2nd edition, 1969 ”,“ HSM Coxeter, Regu
lar Polytopes, Dover, New York, NY, 2nd edition, 1
973 ”and“ HSM Coxeter, Regular Complex Polyto
pes, Cambridge University Press, Cambridge, Englan
d, 2nd edition, 1991 ", the symmetry group or the reflection group is also represented as T (S) = {T | T (S) = S}.
【0083】Atallahは、“M. J. Atallah, On symmetr
y detection, IEEE Trans. Comput., C-34:663-666, 19
85”にて、平面上の対称を検出するアルゴリズムを提示
している。また、“S. Iwanowski, Testing approximat
e symmetry in the plane isNP-hard, Theoret. Compu
t. Sci., 80:227-262, 1991”に示されているように、
点が揺動することを許容した場合には、問題はいわゆる
NP困難となることが知られている。これは、各点に対
して、点集合を合同とするような揺動を求める必要があ
ることによるものである。なお、アルゴリズムの安定性
に関する改良については、後述するものとする。Atallah is described in “MJ Atallah, On symmetr
y detection, IEEE Trans.Comput., C-34: 663-666, 19
85 ”, an algorithm for detecting symmetry on a plane is presented.“ S. Iwanowski, Testing approximat
e symmetry in the plane isNP-hard, Theoret.Compu
t. Sci., 80: 227-262, 1991 ”,
It is known that if the point is allowed to swing, the problem becomes so-called NP difficulties. This is because, for each point, it is necessary to obtain a swing that makes the point set congruent. The improvement regarding the stability of the algorithm will be described later.
【0084】ここで、点集合の類似性を検出するアルゴ
リズムを困難とする問題について説明する。ここで、次
のような全ての部分集合文字列のマッチングの問題を考
える。「有限のアルファベットΣ上の文字列s[1..
n]及びパターンp[1..m]が与えられ、パターン
p[1..m]が文字列s[1..n]の中に循環的に
現れる場合且つそのときに限ってo[i]=1となるブ
ール配列を求めよ。」Here, the problem that makes the algorithm for detecting the similarity of point sets difficult will be described. Here, consider the following matching problem of all subset character strings. "A character string s [1.
n] and the pattern p [1. . m] and the pattern p [1. . m] is a character string s [1. . Find a Boolean array where o [i] = 1 if and only if it appears cyclically in n]. "
【0085】ここで、全ての部分集合文字列のマッチン
グの問題は、“Richard Cole and Ramesh Hariharan, T
ree pattern matching and subset matching in random
izedO(n log3 m)time, In Proceedings of the Twenty-
Ninth Annual ACM Symposium on Theory of Computing,
pages 66-75, El Paso, Texas, 4-6 May 1997”や“Ri
chard Cole, Ramesh Hariharan, and Piotr Indyk, Tre
e pattern matchingand subset matching in randomize
d O(n log3 m)time, In Proceedings of SODA 1999, Ja
n. 1999”に示されているように、O(n log3 m)
時間内に解くことが可能である。The problem of matching all subset character strings is described in “Richard Cole and Ramesh Hariharan, T
ree pattern matching and subset matching in random
izedO (n log 3 m) time, In Proceedings of the Twenty-
Ninth Annual ACM Symposium on Theory of Computing,
pages 66-75, El Paso, Texas, 4-6 May 1997 ”and“ Ri
chard Cole, Ramesh Hariharan, and Piotr Indyk, Tre
e pattern matching and subset matching in randomize
d O (n log 3 m) time, In Proceedings of SODA 1999, Ja
n. As shown in 1999 ”, O (n log 3 m)
It is possible to solve in time.
【0086】ソートされた1次元点集合S,Qに対
しては、素朴なアルゴリズムを用いてO(nm)時間内
に解くことが可能である。Akutsuは、上述した“Tatsuy
a Akutsu, On determining the congruence of point s
ets in d dimensions, Comput. Geom. Theory Appl., 9
(4):247-256, 1998”にて、点集合Sが点集合Qに
含まれるか否かを検出するには、O^((m/n+
n2) polylog n)時間が必要であることを述
べている。また、最近では、CardozeとSchulmanは、“C
ardoze and Schulman, Pattern matching for spatial
point sets, In FOCS:IEEE Symposium on Foundations
of Computer Science (FOCS), 1988”にて、O^(N
log N + polylog Δ)アルゴリズムを提案
している。ここで、N=max{n,m}であり、Δ
は、点集合Qの直径である。格子を符号化した無限d
次元点集合として取り扱う結晶学においては、変換Tに
より結晶を分類することが行われており、変換は、変換
群によりラベル付けがなされる。例えば、2次元空間
E2では17個、3次元空間E3では320個、4次
元空間E4では4783個の結晶学的群が存在するこ
とが知られている。The sorted one-dimensional point sets S and Q can be solved within O (nm) time using a simple algorithm. Akutsu stated in the “Tatsuy
a Akutsu, On determining the congruence of point s
ets in d dimensions, Comput. Geom. Theory Appl., 9
(4): 247-256, 1998 ”, to detect whether or not the point set S is included in the point set Q, use O 、 ((m / n +
n 2 ) polylog n) states that time is required. Also, recently, Cardoze and Schulman described “C
ardoze and Schulman, Pattern matching for spatial
point sets, In FOCS: IEEE Symposium on Foundations
of Computer Science (FOCS), 1988 ”
(log N + polylog Δ) algorithm. Here, N = max {n, m} and Δ
Is the diameter of the point set Q. Infinite d encoding the lattice
In crystallography treated as a dimensional point set, a crystal is classified by a transformation T, and the transformation is labeled by a transformation group. For example, two-dimensional space E 2 In 17, the three-dimensional space E 320 pieces in 3, it is known that four-dimensional space E 4783 amino crystallographic groups in 4 are present.
【0087】雑音のモデルとして、中心がpであり半径
がεである球を次式(7)により表す。As a noise model, a sphere whose center is p and whose radius is ε is represented by the following equation (7).
【0088】[0088]
【数7】 (Equation 7)
【0089】また、揺動を含む点集合を次式(8)によ
り表す。The point set including the swing is represented by the following equation (8).
【0090】[0090]
【数8】 (Equation 8)
【0091】ただし、各点S∈Sは、半径がεである
球の中に移動されているものとする。図14に点集合
S及び雑音を含む点集合Sεを示す。ここで、点集
合の最小点間距離dmin>εである場合には、同図
(B)に示すように、点集合S内の各点を中心とする
球は、互いに素となる。このことは、後述するように、
パターンマッチングアルゴリズムを強固なものとする。It is assumed that each point S∈S has been moved into a sphere having a radius of ε. FIG. 14 shows a point set S and a point set Sε including noise. Here, when the minimum distance d min > ε of the point set is satisfied, the spheres centered on each point in the point set S are disjoint as shown in FIG. This is explained below,
Make the pattern matching algorithm robust.
【0092】さらに、上述した2次元空間における合同
の検出原理を3次元空間における合同の検出に拡張する
ことができる。すなわち、点集合S,Qの両方のセ
ントロイドを計算し、各集合に対して、それらのセント
ロイドを中心とする単位球面上に全ての点を射影する。
次に、射影された点の凸閉包を計算する。さらに、射影
された各点に対して、セントロイドからの元の距離をラ
ベルとして付加し、凸閉包の互いに隣接する点により構
成される角の頂点の時計方向の隣接リストを作成する。
そして、“J. E. Hopcroft and R. E. Tarjan, A VlogV
algorithm forisomorphism of triconnected planar g
raphs, Journal of Computer and System Sciences, 7
(3), June 1973”に示されているTarjan平面グラ
フ合同アルゴリズムの変形を用いて、これらの2つの注
釈付き平面グラフが同型であるか否かをO(n log
n)時間内に評価する。ここで、スケーリングを行うこ
とが可能な場合には、全ての固定次元に対して、まず最
初に、最小点間距離を“1”として、“F. P. Preparat
a and M. I. Shamos, Computational Geometry:AnIntro
duction, Springer-Verlag, New York, NY, 1985”に示
されているように、点集合S,Qの両方をO(n
log n)時間内に規格化する。なお、次元が“3”
以上の場合には、“Sergei N. Bespamyatnikh, An effi
cient algorithm for the three-dimensional diameter
problem, In Proc. 9th ACM-SIAM Sympos. Discrete A
lgorithms, pages 137-146, 1998”に記載されているよ
うに、d次元空間Edのn点集合の直径をOd(n l
og n)時間で計算する決定論的アルゴリズムは知ら
れていないことから、最小点間距離を採用する。Further, the principle of detection of congruence in a two-dimensional space can be extended to detection of congruence in a three-dimensional space. That is, both centroids of the point sets S and Q are calculated, and all points are projected on a unit sphere centered on those centroids for each set.
Next, the convex hull of the projected point is calculated. Further, an original distance from the centroid is added as a label to each projected point, and a clockwise adjacency list of corner vertices formed by mutually adjacent points of the convex hull is created.
And “JE Hopcroft and RE Tarjan, A VlogV
algorithm forisomorphism of triconnected planar g
raphs, Journal of Computer and System Sciences, 7
(3), June 1973, using a variant of the Tarjan planar graph congruence algorithm to determine whether these two annotated planar graphs are isomorphic or not (O (n log
n) Evaluate in time. Here, if scaling can be performed, the minimum distance between points is first set to “1” for all fixed dimensions, and “FP Preparat
a and MI Shamos, Computational Geometry: AnIntro
duction, Springer-Verlag, New York, NY, 1985 ”, both the point sets S and Q are O (n
Normalize within log n) time. Note that the dimension is "3"
In these cases, see “Sergei N. Bespamyatnikh, An effi
cient algorithm for the three-dimensional diameter
problem, In Proc. 9th ACM-SIAM Sympos. Discrete A
lgorithms, pages 137-146, as described in 1998 ", the diameter of the n-point set of d-dimensional space E d O d (n l
og n) Since the deterministic algorithm for calculating in time is not known, the minimum distance between points is adopted.
【0093】また、剛体ユークリッド運動(≡TI)では
なく、アフィン変換(≡TA)である場合にも、時間複雑
性が同じであることをSprinzakとWermanが“J. Sprinza
k and M. Werman, Affine point matching, Pattern Re
cogn. Lett., 15:337-339, 1994”にて報告している。
これは、2次元画像から正射影(アフィン変換)による
3次元物体を認識するのに特に有用である。なお、可能
なO(n)個の変換を全て列挙することが必要な場合に
は、他の有効なアルゴリズムを用いることが必要であ
る。Wolter等は、“Jan D. Wolter, Tony C. Woo, and
Richard A. Volz,Optimal algorithms for symmetry de
tection in two and three dimensions,Thw Visual Com
puter, 1(1):37-48, July 1985”や“Xiaoyi Jiang, Ke
ren Yu,and Horst Bunke, Detection of rotational an
d involutional symmetries andcongruity of polyhedr
a, The Visual Computer, 12(4):193-201, 1996, ISSN0
178-2789”にて、2次元及び3次元多面体の対称性の検
出方法として、最適2次時間及び線形空間アルゴリズム
を提案している。この方法は、“K. Sugihara,An nlogn
algorithm for determining the congruity of polyhe
dra, J. Comput. Syst. Sci., 29:36-47, 1984”に示さ
れている最適合同3次元多面体検出器と同様に、対称性
と合同性の両方を検出するのに用いることができる。Also, when the affine transformation (≡ TA ) is used instead of the rigid body Euclidean motion (≡ TI ), Sprinzak and Werman show that “J. Sprinza
k and M. Werman, Affine point matching, Pattern Re
cogn. Lett., 15: 337-339, 1994 ”.
This is particularly useful for recognizing a three-dimensional object by orthographic projection (affine transformation) from a two-dimensional image. If it is necessary to enumerate all possible O (n) transforms, it is necessary to use another valid algorithm. Wolter et al., “Jan D. Wolter, Tony C. Woo, and
Richard A. Volz, Optimal algorithms for symmetry de
tection in two and three dimensions, Thw Visual Com
puter, 1 (1): 37-48, July 1985 ”and“ Xiaoyi Jiang, Ke
ren Yu, and Horst Bunke, Detection of rotational an
d involutional symmetries and congruity of polyhedr
a, The Visual Computer, 12 (4): 193-201, 1996, ISSN0
178-2789 ", proposes an optimal quadratic time and linear space algorithm as a method for detecting the symmetry of two-dimensional and three-dimensional polyhedrons. This method is described in" K. Sugihara, Annlogn ".
algorithm for determining the congruity of polyhe
dra, J. Comput. Syst. Sci., 29: 36-47, 1984 ”, can be used to detect both symmetry and congruency as well as the optimal congruent 3D polyhedron detector. it can.
【0094】さらに、より高い次元における合同の検出
は、より困難なものとなる。任意の一定次元における合
同の検出として、Alt等は、“H. Alt and L. Guibas, R
esemblance of geometric objects, In Jorg-Rudiger S
ack and Jorge Urrutia, editors, Handbook of Comput
ational Geometry, Elsevier Science Publishers B.V.
North-Holland, Amsterdam, 1998”に示しているよう
に、空間を縮小することによって、“H. Alt, K. Mehlh
orn, H. Wagener, and Emo Welzl, Congruence, simila
rity and symmetries of geometric objects, Discrete
Comput. Geom., 3:237-256, 1988”に示したOd(n
d-2 log n)時間のアルゴリズムを得ている。実際
に、d次元空間における合同の検出は、(d−1)次元
空間における合同検出をn回行うことにより実現するこ
とができる。最近、Akutsuは、上述したように、“Tats
uya Akutsu, On determining the congruence of point
sets in d dimensions, Comput. Geom. Theory Appl.,
9(4):247-256, 1998”にて、ランダム時間及び空間ア
ルゴリズムを提案している。集合S,QがS≡
Qであるか否かを解く原始的な手法としては、集合
Sの任意の(d−1)シンプレックスσS={S1,・
・・,Sd}を選択し、集合Qへのx個の変換を全て
計算することである。なお、xは、次式(9)で表され
る。In addition, detecting congruence in higher dimensions is more difficult. Alt et al., “H. Alt and L. Guibas, R.
esemblance of geometric objects, In Jorg-Rudiger S
ack and Jorge Urrutia, editors, Handbook of Comput
ational Geometry, Elsevier Science Publishers BV
By reducing the space, as shown in North-Holland, Amsterdam, 1998, “H. Alt, K. Mehlh
orn, H. Wagener, and Emo Welzl, Congruence, simila
rity and symmetries of geometric objects, Discrete
. Comput Geom, 3:. 237-256 , O d (n shown in 1988 "
d-2 log n) time algorithm. Actually, detection of congruence in the d-dimensional space can be realized by performing congruence detection in the (d-1) -dimensional space n times. Recently, Akutsu, as mentioned above,
uya Akutsu, On determining the congruence of point
sets in d dimensions, Comput. Geom. Theory Appl.,
9 (4): 247-256, 1998 ", a random time and space algorithm is proposed.
As a primitive method for solving whether or not Q is, any (d-1) simplex σ S = {S 1 ,.
.., S d } and compute all x transformations to the set Q. Note that x is represented by the following equation (9).
【0095】[0095]
【数9】 (Equation 9)
【0096】各変換が剛体運動に対応する場合には、物
理的同一性の評価をOd(n logn)時間で行う。非
縮退d組集合S=(S1,・・・,Sd)及び集合Q
のd個の点からなる部分集合が与えられたとき、チェッ
クすべき可能な変換は、シンプレックスσSの点の異な
る順列であるd!個存在し、これらは必ずしも剛体運動
ではない。すなわち、行列及びRdは必ずしも直交では
ない。ここで、アフィン変換における全てのi∈{1,
・・・,d}に対する写像Si→Qiを与える変換を次式
(10)により表すことにする。If each transformation corresponds to a rigid body motion, the physical identity is evaluated in O d (n logn) time. Non-degenerate d set S = (S 1 ,..., S d ) and set Q
Given a subset of d points, the possible transformations to check are the different permutations of the points of the simplex σ S , d! And these are not necessarily rigid body motions. That is, the matrix and R d are not necessarily orthogonal. Here, all i∈ {1 in the affine transformation
..., to represent the transformation to give the mapping S i → Q i for d} the following equation (10).
【0097】[0097]
【数10】 (Equation 10)
【0098】このような変換は、次式(11)に示すよ
うに計算される。Such a conversion is calculated as shown in the following equation (11).
【0099】[0099]
【数11】 [Equation 11]
【0100】ここで、Rdを次式(12)のように記載
すると、次式(13)を得る。Here, if R d is described as in the following equation (12), the following equation (13) is obtained.
【0101】[0101]
【数12】 (Equation 12)
【0102】[0102]
【数13】 (Equation 13)
【0103】上式(13)におけるQi,jは、点Qiのj
番目の成分である。Q i, j in the above equation (13) is j of the point Q i
The th component.
【0104】このとき、集合S,Qのセントロイド
はマッチすることから、(d−1)組について、すなわ
ち、(d−2)個のシンプレックスを考慮すればよい。
したがって、原始的な方法の線形空間を用いた計算時間
は、Od(nd log n)である。なお、アフィン変換
の場合にも、同様に合同が検出される。ここで、点集合
へのd次元合同演算子に対する、O(nfloor[d/2])空
間を用いた時間複雑性がO(nfloor[(d+1)/2] log
n)であるような簡単な決定論アルゴリズムを提案す
る。ここで、floor[A]は、Aを下回らない最小
の整数である。この方法は、集合S,Qとこれらの
凸閉包conv(S),conv(Q)との関係
が、次式(14)により表されるという原理に基づいて
いる。At this time, since the centroids of the sets S and Q match, it is sufficient to consider the (d-1) sets, that is, (d-2) simplexes.
Therefore, the computation time of the primitive method using linear space is O d (n d log n). In the case of affine transformation, congruence is similarly detected. Here, the time complexity of a d-dimensional congruential operator to a point set using O (n floor [d / 2] ) space is O (n floor [(d + 1) / 2] log
We propose a simple deterministic algorithm such that n). Here, floor [A] is the smallest integer not less than A. This method is based on the principle that the relationship between the sets S and Q and their convex hull conv (S) and conv (Q) is expressed by the following equation (14).
【0105】[0105]
【数14】 [Equation 14]
【0106】これは、アフィン変換T∈TAに対し
ては、次式(15)が成立することによる。This is because the following equation (15) holds for the affine transformation T∈TA.
【0107】[0107]
【数15】 (Equation 15)
【0108】ここで、次式(16)及び次式(17)の
ように表すものとする。Here, it is assumed that the following expressions (16) and (17) are used.
【0109】[0109]
【数16】 (Equation 16)
【0110】[0110]
【数17】 [Equation 17]
【0111】画像処理装置10は、図15及び図16に
示す一連の工程を行うことによって、点集合S,Q
が合同であるか否かを検出する。The image processing apparatus 10 performs a series of steps shown in FIG. 15 and FIG.
Are congruent or not.
【0112】まず、画像処理装置10は、図15に示す
ように、ステップS21において、d次元n点集合
S,Qを入力し、これらの点集合S,Qの各点
を辞書式順序に整列する。First, as shown in FIG. 15, in step S21, the image processing apparatus 10 inputs d-dimensional n-point sets S and Q, and arranges each point of these point sets S and Q in lexicographic order. I do.
【0113】続いて、画像処理装置10は、ステップS
22において、Od(n log n)時間において点集
合S,Qの全ての最近接点対が一致する距離を有す
るか否かを判別する。すなわち、画像処理装置10は、
各点S∈Sに対して、次式(18)及び次式(19)
を計算するとともに、各点Q∈Qに対して、次式(2
0)及び次式(21)を計算する。なお、最近接点対に
ついては、“P. M. Vaidya, An O(nlogn) algorithm fo
r the all-nearest-neighbors problem, Discrete Comp
ut. Geom., 4:101-115, 1989”に記載されている。Subsequently, the image processing apparatus 10 proceeds to step S
At 22, it is determined whether or not all closest pairs of the point sets S and Q have a matching distance at O d (n log n) time. That is, the image processing device 10
For each point S∈S, the following equations (18) and (19)
, And for each point Q∈Q, the following equation (2)
0) and the following equation (21) are calculated. For the closest pair, see “PM Vaidya, An O (nlogn) algorithm fo
r the all-nearest-neighbors problem, Discrete Comp
ut. Geom., 4: 101-115, 1989 ".
【0114】[0114]
【数18】 (Equation 18)
【0115】[0115]
【数19】 [Equation 19]
【0116】[0116]
【数20】 (Equation 20)
【0117】[0117]
【数21】 (Equation 21)
【0118】ここで、点集合S,Qの全ての最近接
点対が一致する距離を有さない場合には、点集合S,
Qは合同ではなく、画像処理装置10は、図16中ス
テップS39へと処理を移行して点集合S,Qが合
同でないことを報告し、一連の処理を終了する。Here, if all the closest pairs of the point sets S and Q do not have a matching distance, the point sets S and Q
Q is not congruent, the image processing apparatus 10 shifts the processing to step S39 in FIG. 16, reports that the point sets S and Q are not congruent, and ends a series of processing.
【0119】一方、点集合S,Qの全ての最近接点
対が一致する距離を有する場合には、画像処理装置10
は、図15中ステップS23へと処理を移行し、点集合
S,Qが多重集合であるため、これらの要素の全て
の濃度を調べる必要があることから、ステップS23に
おいて、次式(22)及び次式(23)とし、全てのl
∈nn(S)∪nn(Q)に対して、|NN
l(S)|=|NNl(Q)|であるか否かを判別す
る。すなわち、画像処理装置10は、点の多重度を検出
し、その後別個の点集合を取り扱うこととなる。On the other hand, if all the closest points of the point sets S and Q have the same distance, the image processing apparatus 10
Goes to step S23 in FIG. 15, and since the point sets S and Q are multiple sets, it is necessary to check all the densities of these elements. Therefore, in step S23, the following equation (22) is used. And the following equation (23), and all l
For ∈nn (S) ∪nn (Q), | NN
l (S) | = | NN l (Q) | a determines whether or not the it. That is, the image processing apparatus 10 detects the multiplicity of the point, and thereafter handles a separate point set.
【0120】[0120]
【数22】 (Equation 22)
【0121】[0121]
【数23】 (Equation 23)
【0122】ここで、全てのl∈nn(S)∪nn
(Q)に対して、|NNl(S)|=|NN
l(Q)|でない場合には、点集合S,Qは合同
ではなく、画像処理装置10は、図16中ステップS3
9へと処理を移行して点集合S,Qが合同でないこ
とを報告し、一連の処理を終了する。Here, all l∈nn (S) ∪nn
For (Q), | NN l (S) | = | NN
If not l (Q) |, the point sets S and Q are not congruent, and the image processing apparatus 10 proceeds to step S3 in FIG.
The process is shifted to 9 to report that the point sets S and Q are not congruent, and the series of processes ends.
【0123】一方、全てのl∈nn(S)∪nn
(Q)に対して、|NNl(S)|=|NN
l(Q)|である場合には、画像処理装置10は、図
15中ステップS24へと処理を移行し、厳密に“0”
よりも大きい最小点間距離をOd(n log n)時間
に計算することによって、点集合S,Qの両方を正
規化する。そのため、画像処理装置10は、“J. L. Be
ntley and M. I. Shamos, Divide-and-conquer in mult
idimensional space, In Proc. 8th Annu. ACM Sympos.
Theory Comput. pages 220-230, 1976”や“F. P. Pre
parata and M. I. Shamos,Computational Geometry:An
Introduction, Springer-Verlag, New York, NY,1985”
を参照してもわかるように、≡TSの代わりに≡TIを用い
ることによって、均一なズーム値を得ることができる。
均一でないズーム値は、最小密閉直交ボックスを計算す
ることにより求めることができるが、この計算は困難で
ある。On the other hand, all l∈nn (S) ∪nn
For (Q), | NN l (S) | = | NN
If l (Q) |, the image processing apparatus 10 shifts the processing to step S24 in FIG.
The point sets S and Q are both normalized by calculating a minimum inter-point distance greater than O d (n log n) time. Therefore, the image processing apparatus 10 uses “JL Be
ntley and MI Shamos, Divide-and-conquer in mult
idimensional space, In Proc. 8th Annu. ACM Sympos.
Theory Comput. Pages 220-230, 1976 ”and“ FP Pre
parata and MI Shamos, Computational Geometry: An
Introduction, Springer-Verlag, New York, NY, 1985 ”
The As can be seen with reference, by using ≡ TI instead of ≡ TS, it is possible to obtain a uniform zoom value.
Non-uniform zoom values can be determined by calculating the minimum enclosed orthogonal box, but this calculation is difficult.
【0124】続いて、画像処理装置10は、ステップS
25において、正規化された集合のセントロイドを計算
し、これらのセントロイド同士を重ねる。すなわち、画
像処理装置10は、cS=cQとし、変換tdをcQ−cS
に固定する。Subsequently, the image processing apparatus 10 proceeds to step S
At 25, calculate the centroids of the normalized set and overlay these centroids. That is, the image processing apparatus 10 sets c S = c Q and sets the conversion t d to c Q −c S
Fixed to.
【0125】続いて、画像処理装置10は、ステップS
26において、セントロイドcS,cQのそれぞれからの
各点の距離fS(Si),fQ(Qi)を、それぞれ、次式
(24)及び次式(25)により求める。Subsequently, the image processing apparatus 10 proceeds to step S
At 26, the distances f S (S i ) and f Q (Q i ) of each point from each of the centroids c S and c Q are determined by the following equations (24) and (25), respectively.
【0126】[0126]
【数24】 (Equation 24)
【0127】[0127]
【数25】 (Equation 25)
【0128】続いて、画像処理装置10は、ステップS
27において、関連する半径関数FS,FQ,F
S(r),FQ(r)を、それぞれ、次式(26)乃至次
式(29)により求める。Subsequently, the image processing apparatus 10 proceeds to step S
At 27, the associated radius functions F S , F Q , F
S (r) and F Q (r) are obtained by the following equations (26) to (29), respectively.
【0129】[0129]
【数26】 (Equation 26)
【0130】[0130]
【数27】 [Equation 27]
【0131】[0131]
【数28】 [Equation 28]
【0132】[0132]
【数29】 (Equation 29)
【0133】続いて、画像処理装置10は、ステップS
28において、スペクトルが全てのlに対して|F
Q(l)|=|FS(l)|であるか否かを判別する。Subsequently, the image processing apparatus 10 executes step S
At 28, the spectrum is | F for all l
Q (l) | = | F S (l) | a determines whether or not the it.
【0134】ここで、スペクトルが全てのlに対して|
FQ(l)|≠|FS(l)|である場合には、点集合
S,Qは合同ではない、すなわち、Od(n log
n)時間であり、画像処理装置10は、図16中ステ
ップS39へと処理を移行して点集合S,Qが合同
でないことを報告し、一連の処理を終了する。Here, when the spectrum is |
If F Q (l) | ≠ | F S (l) |, the point sets S and Q are not congruent, ie, O d (n log
n) It is time, and the image processing apparatus 10 shifts the processing to step S39 in FIG. 16, reports that the point sets S and Q are not congruent, and ends a series of processing.
【0135】一方、スペクトルが全てのlに対して|F
Q(l)|=|FS(l)|である場合には、画像処理装
置10は、図16に示すように、ステップS29におい
て、FS +,FQ +,FS -,FQ -を、それぞれ、次式(3
0)乃至次式(33)により求める。On the other hand, the spectrum is | F for all l.
Q (l) | = | F S (l) | If it is, the image processing apparatus 10, as shown in FIG. 16, in step S29, F S +, F Q +, F S -, F Q - , Respectively, by the following equation (3)
0) to the following equation (33).
【0136】[0136]
【数30】 [Equation 30]
【0137】[0137]
【数31】 (Equation 31)
【0138】[0138]
【数32】 (Equation 32)
【0139】[0139]
【数33】 [Equation 33]
【0140】続いて、画像処理装置10は、ステップS
30において、|FS -|≧d−1であるか否かを判別す
る。Subsequently, the image processing apparatus 10 proceeds to step S
At 30, it is determined whether or not | F S − | ≧ d−1.
【0141】ここで、|FS -|≧d−1である場合に
は、画像処理装置10は、ステップS31において、少
なくともd−1個の点を有するFS -の最小個数の層を選
択し、最大O((2d−3)!)=Od(l)の変換を
調べる。なお、画像処理装置10は、FQ -についても同
様の処理を行う。Here, if | F S − | ≧ d-1, the image processing apparatus 10 selects the minimum number of F S − layers having at least d−1 points in step S31. Then, the conversion of the maximum O ((2d−3)!) = O d (l) is checked. The image processing apparatus 10, F Q - performs the same processing for.
【0142】一方、|FS -|≧d−1でない場合には、
画像処理装置10は、ステップS32へと処理を移行
し、r’を次式(34)により求める。On the other hand, when | F S − | ≧ d−1 is not satisfied,
The image processing apparatus 10 shifts the processing to step S32, and obtains r ′ by the following equation (34).
【0143】[0143]
【数34】 (Equation 34)
【0144】続いて、画像処理装置10は、ステップS
33において、Q’,S’を、それぞれ、次式(3
5)及び次式(36)により求める。Subsequently, the image processing apparatus 10 proceeds to step S
33, Q ′ and S ′ are respectively expressed by the following equation (3)
5) and the following equation (36).
【0145】[0145]
【数35】 (Equation 35)
【0146】[0146]
【数36】 [Equation 36]
【0147】続いて、画像処理装置10は、ステップS
34において、“H. P. Lenhof andM. Smid, Sequentia
l and parallel algorithms for the k closest pairs
problem, Internat. J. Comput. Geom. Appl., 5:273-2
88, 1995”に記載されているように、S’,Q’の
幾何学的グラフを計算し、これらが同一の数の反復距離
を有しているか否か、すなわち、l∈D(S’)∪D
(Q’)のlに対して、|DS'(l)|=|D
Q'(l)|が成立するか否かをS’,Q’の全ての
距離を整列された順番に列挙することによって、O(n
2)時間内に判別する。Subsequently, the image processing apparatus 10 proceeds to step S
34, "HP Lenhof and M. Smid, Sequentia
l and parallel algorithms for the k closest pairs
problem, Internat. J. Comput. Geom. Appl., 5: 273-2
88, 1995 ", the geometric graph of S ', Q' is calculated and whether they have the same number of repetition distances, ie, 1∈D (S ' ) ∪D
For l of (Q ′), | D S ′ (l) | = | D
By enumerating whether or not Q ′ (l) | holds, all the distances of S ′ and Q ′ are listed in the sorted order, thereby obtaining O (n
2 ) Judge within the time.
【0148】ここで、S’,Q’の幾何学的グラフ
が同一の数の反復距離を有していない場合には、点集合
S,Qは合同ではなく、画像処理装置10は、ステ
ップS39へと処理を移行して点集合S,Qが合同
でないことを報告し、一連の処理を終了する。Here, if the geometric graphs of S ′ and Q ′ do not have the same number of repetition distances, the point sets S and Q are not congruent, and the image processing apparatus 10 proceeds to step S39. The processing is shifted to, and the fact that the point sets S and Q are not congruent is reported, and a series of processing ends.
【0149】一方、S’,Q’の幾何学的グラフが
同一の数の反復距離を有している場合には、画像処理装
置10は、ステップS35において、“R. Seidel, Con
structing higher-dimensional convex hulls at logar
ithmic cost per face, In Proc. 18th Annu. ACM Symp
os. Theory Comput., pages 404-413, 1986”に記載さ
れているように、S’の凸閉包の(d−2)面F、す
なわち、稜線を線形プログラム及びQ’の凸閉包co
nv(Q’)を用いて算出する。On the other hand, when the geometric graphs of S ′ and Q ′ have the same number of repetition distances, the image processing apparatus 10 determines in step S35 that “R. Seidel, Con
structing higher-dimensional convex hulls at logar
ithmic cost per face, In Proc. 18th Annu.ACM Symp
os. Theory Comput., pages 404-413, 1986 ", the (d-2) plane F of the convex hull of S ', that is, the edge is defined as a linear program and the convex hull of Q'
It is calculated using nv (Q ′).
【0150】続いて、画像処理装置10は、ステップS
36において、稜線Fを、一般にd−1個の点を定義す
る(d−2)面である凸閉包conv(Q’)の他の
いずれかの稜線に対してマッチさせる。各稜線対は、最
大(d−1)!個の剛体運動を定義する。Subsequently, the image processing apparatus 10 proceeds to step S
At 36, the edge F is matched to any other edge of the convex hull conv (Q '), which is generally the (d-2) plane defining d-1 points. Each ridge line pair is maximum (d-1)! Define the rigid body motion.
【0151】そして、画像処理装置10は、ステップS
37において、与えられた剛体運動T∈Tに対して、
T(S)=Qとなっているか否かを判別する。Then, the image processing apparatus 10 proceeds to step S
At 37, for a given rigid body motion T∈T,
It is determined whether or not T (S) = Q.
【0152】ここで、与えられた剛体運動T∈Tに対
して、T(S)=Qとなっていない場合には、点集
合S,Qは合同ではなく、画像処理装置10は、ス
テップS39へと処理を移行して点集合S,Qが合
同でないことを報告し、一連の処理を終了する。Here, if T (S) = Q is not satisfied for the given rigid body motion T 点 T, the point sets S and Q are not congruent, and the image processing apparatus 10 proceeds to step S39. The processing is shifted to, and the fact that the point sets S and Q are not congruent is reported, and a series of processing ends.
【0153】一方、与えられた剛体運動T∈Tに対し
て、T(S)=Qとなっている場合には、画像処理
装置10は、ステップS38において、点集合S,
Qは合同であることを報告し、一連の処理を終了す
る。On the other hand, if T (S) = Q for the given rigid body motion T∈T, the image processing apparatus 10 determines in step S38 that the point set S,
Q reports that they are congruent, and ends a series of processing.
【0154】なお、画像処理装置10は、剛体運動ばか
りではなく、アフィン変換についても同様に取り扱うこ
とが可能である。The image processing apparatus 10 can handle not only rigid body motion but also affine transformation.
【0155】このようにして、画像処理装置10は、点
集合S,Qが合同であるか否かを検出することがで
きる。画像処理装置10は、例えば、図17(A)に示
すように、同一の半径を有する円上に単一の点のみを有
する点集合S,Qも、同図(B)に示すように、同
一の半径を有する円上に複数の点を有する点集合S,
Qが合同であることを検出することができる。画像処
理装置10は、このようにして合同を検出することによ
って、例えば、画像データ中の任意のオブジェクトを、
異なるソースからの画像データ中の任意のオブジェクト
に対して、同定することができる。As described above, the image processing apparatus 10 can detect whether or not the point sets S and Q are congruent. For example, as shown in FIG. 17A, the image processing apparatus 10 also converts point sets S and Q having only a single point on a circle having the same radius as shown in FIG. A point set S having a plurality of points on a circle having the same radius,
It can be detected that Q is congruent. By detecting congruence in this way, the image processing apparatus 10 can, for example, convert an arbitrary object in the image data
Any object in image data from different sources can be identified.
【0156】ここで、点集合S’,Q’のいずれも
cS=cQを中心とする球であることから、点は非縮退位
置にあることに注意すべきである。このことによって、
画像処理装置10においては、凸閉包アルゴリズムをよ
り簡単なものとすることができる。このアルゴリズムの
時間複雑性は、凸閉包conv(Q’)のファセット
の数であるhと、これらの全てのファセットを算出する
際の時間複雑性であるC(n,h)とを用いてO(hn
log n + C(n,h))と表される。例えば、
“Bernard Chazelle, An optimal convex hull algorit
hm in any fixeddimension, Discrete Comput. Geom.,
10:377-409, 1993”に示されているChazelleの最適アル
ゴリズムを採用し、O(nfloor[d/2])空間を用いる
と、O(nfloor[(d+1)/2] log n)時間アルゴリズ
ムが得られる。なお、“R. Seidel,Constructing highe
r-dimensional convex hulls at logarithmic cost per
face, In Proc. 18th Annu. ACM Sympos. Theory Comp
ut., pages 404-413, 1986”に記載されているSeidelの
殻化法を用いると、リニアなメモリ空間を用いることが
可能となる。この結果は、“E. Schulte, Symmetry of
polytopes and polyhedra, In Jacob E. Goodman and J
oseph O'Rourke, editors, Handbook of Discrete and
Computational Geometry, chapter 16, pages 311-330,
CRC Press LLC, Boca Raton, FL, 1997”に記載されて
いるように、合同変換の最大数が多面体の対称性と関連
していることをも示している。より正確には、このアル
ゴリズムの計算時間は、1つの変換をチェックするのに
必要な実行時間であるTc(n)と、点集合S,Q
の(d−1)組により定義される剛体運動の数であるt
とを用いて、O(nfloor[d/2]+tTc(n))時間と
表される。なお、画像処理装置10は、これらの組によ
り予め定義されるシンプレックスの体積の一致性につい
てもチェックを行う。Here, it should be noted that the points are at the non-degenerate position because both of the point sets S ′ and Q ′ are spheres centered on c S = c Q. This allows
In the image processing apparatus 10, the convex hull algorithm can be simplified. The time complexity of this algorithm is calculated using h, the number of facets of the convex hull conv (Q ′), and C (n, h), the time complexity of calculating all these facets. (Hn
log n + C (n, h)). For example,
“Bernard Chazelle, An optimal convex hull algorit
hm in any fixeddimension, Discrete Comput. Geom.,
10: 377-409, adopts an optimal algorithm Chazelle shown in 1993 ", the use of O (n floor [d / 2 ]) space, O (n floor [(d + 1) / 2] log n) A time algorithm is obtained, see “R. Seidel, Constructing highe
r-dimensional convex hulls at logarithmic cost per
face, In Proc. 18th Annu. ACM Sympos. Theory Comp
ut., pages 404-413, 1986 ”, it is possible to use a linear memory space by using the shelling method of Seidel. The result is described in“ E. Schulte, Symmetry of
polytopes and polyhedra, In Jacob E. Goodman and J
oseph O'Rourke, editors, Handbook of Discrete and
Computational Geometry, chapter 16, pages 311-330,
It also shows that the maximum number of congruent transformations is related to the polyhedral symmetry, as described in CRC Press LLC, Boca Raton, FL, 1997. The time is T c (n), the execution time required to check one transformation, and the point sets S, Q
T, which is the number of rigid body motions defined by (d-1)
And is expressed as O (n floor [d / 2] + tT c (n)) time. The image processing apparatus 10 also checks the consistency of the volumes of the simplex defined in advance by these sets.
【0157】点の揺動の程度が、集合Sの任意の2点
間及び集合Qの任意の2点間の最近接距離と比較して
小さい場合には、図15及び図16に示したアルゴリズ
ムは強力である。すなわち、半径方向の分解を考える代
わりに、互いに素である対の薄い球状層を考えればよ
く、画像処理装置10は、次式(37)として処理す
る。なお、白色雑音に対するセントロイドの変化は、ε
と比較して小さい。If the degree of swing of the point is smaller than the closest distance between any two points of the set S and the closest point between any two points of the set Q, the algorithm shown in FIGS. Is powerful. That is, instead of considering the decomposition in the radial direction, a pair of thin spherical layers that are disjoint may be considered. The change of the centroid with respect to the white noise is ε
Small compared to.
【0158】[0158]
【数37】 (37)
【0159】次式(38)により与えられる別個の点の
点間距離の最小値に対する点間距離の最大値の比ΔQと
して定義することができる点集合Qの直径が、例え
ば、最もよい場合でO(n1/d)により制限されている
場合には、画像処理装置10は、“P. Indyk, R. Motwa
ni, and S. Venkatasubramanian, Geometric matchingu
nder noise:Combinatorial bounds and algorithms, In
SODA:Symposium of Datastructures and Algorithms 1
999”にて、最小距離を“1”に固定する提案がなされ
ているように、より良い結果を得ることができる。[0159] The diameter of the formula (38) maximum value of the ratio delta Q set point Q may be defined as the point distances for the smallest value of the point distance between the discrete points given by, for example, if the best Is limited by O (n 1 / d ), the image processing apparatus 10 sets “P. Indyk, R. Motwa
ni, and S. Venkatasubramanian, Geometric matchingu
nder noise: Combinatorial bounds and algorithms, In
SODA: Symposium of Datastructures and Algorithms 1
At 999 ", better results can be obtained, as suggested by fixing the minimum distance to" 1 ".
【0160】[0160]
【数38】 (38)
【0161】実際に、画像処理装置10は、標準的なバ
ケット法を用いることによって、大きさがO(Δd)の
バケット内への点集合S,Qの前処理を、O(Δd
+dn)時間内に行うことができる。各バケットの側面
は、点集合Qの最小点間距離をdmin(Q)で表す
とき、(dmin(Q)−2ε)/√dを越えることは
ない。したがって、各バケットは、最大で点集合Qの
1個の点を有する。そして、画像処理装置10は、セン
トロイドが一致していることから、(d−1)個の点の
点集合Sの選択された(d−2)シンプレックスに対
して、次数がOd(1)の代数的オブジェクトのバケッ
ト化された点集合Qの点に関するO(nd)の幾何学
的問い合わせを、後述するように、総費用Od(nΔ
d(d-1)/2)で行う。なお、代数的オブジェクトは、点集
合Qのシンプレックスについても求める。1度基準点
が選択されると、シンプレックスσ∈Sの各点は、d
個の球又はカップの共通部分に属する。画像処理装置1
0は、点集合Qの各(d−2)シンプレックスに対し
て、剛体変換の下での最大(d−1)!個のシンプレッ
クスマッチングを計算し、マッチングしているものがあ
るかどうかをO(dn)時間内に調べる。このアルゴリ
ズムの総費用は、Od(Δd+min{λ(d,d−2,
n),nΔd(d-1)/2}Tc(n,m))である。ただ
し、λ(d,d−2,n)は、“T. Akutsu, H. Tamak
i, and T. Tokuyama, Distribution of distances and
triangles in a point set and algorithms for comput
ing the largestcommon point set, Discrete and Comp
utational Geometry, pages 207-331, 1998”にて示さ
れている記号であり、d次元n点集合における(d−
2)シンプレックスの合同複写の最大個数である。ここ
で、明らかにλ(d,d−2,n)=O(nd-1)であ
る。したがって、このアルゴリズムにおいては、稠密な
点集合に対する実行時間は、Od(n(d+3)/2)となる。Actually, the image processing apparatus 10 uses the standard bucket method to perform the pre-processing of the point sets S and Q into the bucket of size O (Δ d ) by O (Δ d
+ Dn) time. Side of each bucket, to represent a minimum point distance of the point set Q at d min (Q), does not exceed (d min (Q) -2ε) / √d. Thus, each bucket has at most one point of the point set Q. Then, since the centroids match, the image processing apparatus 10 has the degree O d (1) for the selected (d−2) simplex of the point set S of (d−1) points. ), The geometrical query of O (nd) for the points of the bucketed point set Q of the algebraic object, as described below, has the total cost O d (nΔ
d (d-1) / 2 ). The algebraic object is also obtained for the simplex of the point set Q. Once the reference point is selected, each point of the simplex σ∈S is d
Belongs to the common part of the balls or cups. Image processing device 1
0 is the maximum (d-1)! Under the rigid transformation for each (d-2) simplex of the point set Q. The number of simplex matchings is calculated, and it is checked within O (dn) time whether there is any matching. The total cost of this algorithm is O d (Δ d + min {λ (d, d−2,
n), nΔ d (d−1) / 2 } T c (n, m)). Where λ (d, d−2, n) is “T. Akutsu, H. Tamak
i, and T. Tokuyama, Distribution of distances and
triangles in a point set and algorithms for comput
ing the largestcommon point set, Discrete and Comp
utational Geometry, pages 207-331, 1998 ”, and (d−
2) The maximum number of combined simplex copies. Here, it is clear that λ (d, d−2, n) = O (nd −1 ). Therefore, in this algorithm, the execution time for a dense point set is O d (n (d + 3) / 2 ).
【0162】なお、Δがn1/dで大きくなっていくかど
うかは、議論の余地があり、実際には、不一致理論に関
係付けられる。一方、Δがnと関係付けがなされていな
い場合には、点集合の“形状”又は主軸を、合同の検出
に用いることができる可能性がある。また、2つの凸で
ある層S’,Q’が点集合S,Qから選択され
た場合には、画像処理装置10は、Sd-1における合
同を検出する必要がある。これは、少なくとも1/
2d、すなわち、マッチングポイントの割合に等しい密
度を有する稠密な[0,4π]d-1の特別な部分集合の
マッチングを検出することにより可能である。より正確
には、画像処理装置10は、2dnの点集合の部分集合
であるn点の集合を求める。It should be noted that whether Δ increases with n 1 / d is controversial, and is actually related to the mismatch theory. On the other hand, if Δ is not related to n, the “shape” or principal axis of the point set may be able to be used for joint detection. When two convex layers S ′ and Q ′ are selected from the point sets S and Q, the image processing apparatus 10 needs to detect congruence at S d−1 . This is at least 1 /
This is possible by detecting a match of a special subset of 2 d , that is, a dense [0,4π] d−1 with a density equal to the proportion of matching points. More precisely, the image processing apparatus 10 obtains a set of n points which is a subset of the 2 dn point set.
【0163】つぎに、d次元空間Edの点集合に対す
る対称性検出アルゴリズムについて説明する。上述して
きた合同の検出に用いるアルゴリズムは、点集合の対称
性を効率よく求めるための中核となるものである。ここ
では、T(S)=Sとなる全ての変換T(S)を
列挙することを考える。[0163] Next, a description will be given symmetry detection algorithm for a set point of d-dimensional space E d. The algorithm used for joint detection described above is the core for efficiently finding the symmetry of a point set. Here, it is considered that all the conversions T (S) satisfying T (S) = S are listed.
【0164】画像処理装置10は、図18に示すような
一連の工程を経ることによって、2次元の点集合Sの
対称性を検出する。The image processing apparatus 10 detects the symmetry of the two-dimensional point set S through a series of steps as shown in FIG.
【0165】まず、画像処理装置10は、同図に示すよ
うに、ステップS41において、点集合Sのセントロ
イドcSを算出する。セントロイドcSは、例えば2次元
の点集合S={pi=(xi,yi)}(n=1,・・
・,n)を入力した場合、セントロイドcSは、次式
(39)により求められる。画像処理装置10は、T
(S)に対して恒等写像である変換Idを追加する。First, the image processing apparatus 10 calculates the centroid c S of the point set S in step S41, as shown in FIG. Centroid c S, for example a two-dimensional set of points S = {p i = (x i, y i)} (n = 1, ··
·, N), the centroid c S is obtained by the following equation (39). The image processing device 10
A transformation Id, which is an identity map, is added to (S).
【0166】[0166]
【数39】 [Equation 39]
【0167】続いて、画像処理装置10は、ステップS
42において、セントロイドcSからの各点の距離f
S(Si)を上式(24)により求める。Subsequently, the image processing apparatus 10 proceeds to step S
At 42, the distance f of each point from the centroid c S
S (S i ) is obtained by the above equation (24).
【0168】続いて、画像処理装置10は、ステップS
43において、関連する半径関数FS,FS(r)を、そ
れぞれ、上式(26)及び上式(28)により求める。Subsequently, the image processing apparatus 10 proceeds to step S
At 43, the associated radius functions F S , F S (r) are determined by equations (26) and (28), respectively.
【0169】続いて、画像処理装置10は、ステップS
44において、FS +,FS -を、それぞれ、上式(30)
及び上式(32)により求める。Subsequently, the image processing apparatus 10 proceeds to step S
At 44, F S + and F S - are respectively calculated by the above equation (30).
And the above equation (32).
【0170】続いて、画像処理装置10は、ステップS
45において、|FS -|≧1であるか否かを判別する。Subsequently, the image processing apparatus 10 proceeds to step S
At 45, it is determined whether or not | F S − | ≧ 1.
【0171】ここで、|FS -|≧1である場合には、画
像処理装置10は、ステップS46において、p∈FS -
である点pを選択し、ステップS47において、選択さ
れた点pにおいてp⊂Sである軸が対称であるか否か
を判別する。Here, if | F S − | ≧ 1, the image processing apparatus 10 determines in step S46 that p∈F S −
Is selected, and in step S47, it is determined whether or not the axis of p⊂S at the selected point p is symmetric.
【0172】ここで、p⊂Sである軸が対称である場
合には、画像処理装置10は、ステップS48におい
て、T(S)={対称軸(p⊂S),Id}を報告
し、一連の処理を終了する。If the axis of p⊂S is symmetric, the image processing apparatus 10 reports T (S) = {symmetry axis (p⊂S), Id} in step S48. A series of processing ends.
【0173】一方、p⊂Sである軸が対称でない場合
には、画像処理装置10は、ステップS49において、
T(S)=Id、すなわち同一であることを報告し、
一連の処理を終了する。On the other hand, if the axis of p⊂S is not symmetric, the image processing apparatus 10 determines in step S49
Report T (S) = Id, that is, identical,
A series of processing ends.
【0174】また、ステップS45において、|FS -|
≧1でない場合には、画像処理装置10は、ステップS
50において、各Si∈FS +に対して、その凸閉包c
onv(Si)を計算し、ステップS51において、
凸閉包conv(Si)を用いて全ての変換T
(Si)={T|T(Si)=Si}を列挙する。[0174] In addition, in step S45, | F S - |
If ≧ 1, the image processing apparatus 10 determines in step S
At 50, for each S i ∈F S + , its convex hull c
onv (S i ), and in step S51,
Using the convex hull conv (S i ), all transformations T
(S i ) = {T | T (S i ) = S i }.
【0175】続いて、画像処理装置10は、ステップS
52において、全ての変換集合の共通部分、すなわち論
理積を次式(40)により計算する。Subsequently, the image processing apparatus 10 proceeds to step S
At 52, the common part of all the transformation sets, that is, the logical product, is calculated by the following equation (40).
【0176】[0176]
【数40】 (Equation 40)
【0177】そして、画像処理装置10は、ステップS
53において、T’(S)=T(S)を報告し、一
連の処理を終了する。Then, the image processing apparatus 10 proceeds to step S
At 53, T '(S) = T (S) is reported, and the series of processing ends.
【0178】このようにして、画像処理装置10は、2
次元の点集合Sの対称性を検出することができる。As described above, the image processing apparatus 10
The symmetry of the dimensional point set S can be detected.
【0179】また、画像処理装置10は、図19に示す
ような一連の工程を経ることによって、d次元の点集合
Sの対称性を検出する。The image processing apparatus 10 detects the symmetry of the d-dimensional point set S through a series of steps as shown in FIG.
【0180】まず、画像処理装置10は、同図に示すよ
うに、ステップS61において、点集合Sのセントロ
イドcSを算出する。画像処理装置10は、T(S)
に対して恒等写像である変換Idを追加する。First, the image processing apparatus 10 calculates the centroid c S of the point set S in step S61 as shown in FIG. The image processing device 10 performs T (S)
Is added to the transformation Id.
【0181】続いて、画像処理装置10は、ステップS
62において、セントロイドcSからの各点の距離f
S(Si)を上式(24)により求める。Subsequently, the image processing apparatus 10 determines in step S
At 62, the distance f of each point from the centroid c S
S (S i ) is obtained by the above equation (24).
【0182】続いて、画像処理装置10は、ステップS
63において、関連する半径関数FS,FS(r)を、そ
れぞれ、上式(26)及び上式(28)により求める。Subsequently, the image processing apparatus 10 determines in step S
At 63, the associated radius functions F S , F S (r) are determined by equations (26) and (28), respectively.
【0183】続いて、画像処理装置10は、ステップS
64において、FS +,FS -を、それぞれ、上式(30)
及び上式(32)により求める。Subsequently, the image processing apparatus 10 determines in step S
64, F S + and F S - are respectively calculated by the above equation (30).
And the above equation (32).
【0184】続いて、画像処理装置10は、ステップS
65において、|FS -|≧d−1であるか否かを判別す
る。Subsequently, the image processing apparatus 10 determines in step S
At 65, it is determined whether or not | F S − | ≧ d−1.
【0185】ここで、|FS -|≧d−1である場合に
は、画像処理装置10は、ステップS66において、少
なくともd−1個、多くとも2d−3個の点を有するF
S -の層の最小値を選択する。Here, if | F S − | ≧ d-1, the image processing apparatus 10 determines in step S66 that at least d−1, at most 2d−3 points
S - selecting a minimum value of the layer of.
【0186】そして、画像処理装置10は、ステップS
67において、最大O((2d−3)!)の変換を調
べ、ステップS68において、T(S)を報告し、一
連の処理を終了する。Then, the image processing apparatus 10 proceeds to step S
At 67, the conversion of the maximum O ((2d-3)!) Is checked, and at step S68, T (S) is reported, and the series of processing ends.
【0187】一方、ステップS65において、|FS -|
≧d−1でない場合には、画像処理装置10は、ステッ
プS69において、各球状点集合Si∈FS +に対し
て、その凸閉包conv(Si)を計算し、ステップ
S70において、対称演算アルゴリズムを凸球面体に対
して適用することによって、全ての変換T(Si)=
{T|T(Si)=Si}を列挙する。[0187] On the other hand, in step S65, | F S - |
If not ≧ d−1, the image processing apparatus 10 calculates the convex closure conv (S i ) for each spherical point set S i ∈F S + in step S69, and in step S70, calculates the symmetric By applying the arithmetic algorithm to the convex sphere, all transformations T (S i ) =
{T | T (S i ) = S i } is listed.
【0188】続いて、画像処理装置10は、ステップS
71において、全ての変換集合の共通部分、すなわち論
理積を上式(40)により計算する。Subsequently, the image processing apparatus 10 proceeds to step S
At 71, the common part of all the transformation sets, that is, the logical product, is calculated by the above equation (40).
【0189】続いて、画像処理装置10は、ステップS
72において、T(FS -)=FS -となるものを変換Tの
中から選択する。Subsequently, the image processing apparatus 10 determines in step S
At 72, one that satisfies T (F S − ) = F S − is selected from the transform T.
【0190】そして、画像処理装置10は、ステップS
68において、T(S)={T∈T’(S) s.
t. T(FS -)=FS -}を報告し、一連の処理を終了
する。Then, the image processing apparatus 10 proceeds to step S
68, T (S) = {T {T ′ (S) s.
t. T (F S − ) = F S − } is reported, and a series of processing ends.
【0191】このようにして、画像処理装置10は、d
次元の点集合Sの対称性を検出することができる。As described above, the image processing apparatus 10
The symmetry of the dimensional point set S can be detected.
【0192】画像処理装置10は、以上のようにして対
称性を検出することによって、検出した対称性に基づい
て、データを圧縮することができる。The image processing device 10 can compress data based on the detected symmetry by detecting the symmetry as described above.
【0193】これらのアルゴリズムの時間複雑性は、同
心n点集合の合同を検出する際の時間複雑性であるTd
(n)を用いて、O(Td(n) log n)と表され
る。ここで、全ての変換T∈T(S)について調べ
る必要はないことから、画像処理装置10は、チェック
時間を節約することができる。The time complexity of these algorithms is the time complexity of detecting congruence of a set of concentric n-points, T d
It is represented as O (T d (n) log n) using (n). Here, since it is not necessary to check all the conversions T∈T (S), the image processing apparatus 10 can save the check time.
【0194】ところで、これらのアルゴリズムは、計算
に実RAMモデルを用いているために、上述したよう
に、大きな雑音に対する問題として知られているNP困
難性をともなうといった雑音に対する許容性が低いこと
がある。しかしながら、画像処理装置10は、次式(4
1)とするとき、T(S)=Qであるかを判別する
際に、最大Dmin/2まで雑音を許容することができ
る。また、アルゴリズムの費用が直交領域問い合わせア
ルゴリズム係数だけ大きくなるものの、画像処理装置1
0は、次式(42)とするとき、これらのアルゴリズム
をε≦dmin/2√dの雑音に対してさらに信頼性の高
いものとすることができる。さらに、画像処理装置10
は、次式(43)により表される全てのεに対するアル
ゴリズムの頑強性を、アルゴリズムに係数O(d×d
!)を積算することによりチェックすることもできる。
このとき、画像処理装置10は、d!個のマッチング点
の中で、最も近いものを選択してマッチング点のチェッ
クを行う。なお、ε≦dmin/2の精度を得たい場合に
は、高次元における最も近い隣接点を正確に計算する必
要がある。By the way, since these algorithms use a real RAM model for the calculation, as described above, they have low tolerance to noise such as NP difficulty which is known as a problem for large noise. is there. However, the image processing apparatus 10 calculates the following equation (4)
In the case of 1), when determining whether T (S) = Q, noise can be allowed up to D min / 2. Further, although the cost of the algorithm is increased by the orthogonal region inquiry algorithm coefficient, the image processing apparatus 1
A value of 0 makes these algorithms more reliable for noise ε ≦ d min / 2√d, where Further, the image processing device 10
Gives the robustness of the algorithm for all ε represented by the following equation (43) to the algorithm by the coefficient O (d × d
! ) Can be checked.
At this time, the image processing apparatus 10 sets d! The matching point is checked by selecting the closest one of the matching points. If it is desired to obtain an accuracy of ε ≦ d min / 2, it is necessary to accurately calculate the nearest neighbor point in a high dimension.
【0195】[0195]
【数41】 [Equation 41]
【0196】[0196]
【数42】 (Equation 42)
【0197】[0197]
【数43】 [Equation 43]
【0198】画像処理装置10は、上述した“P. M. Va
idya, An O(nlogn) algorithm forthe all-nearest-nei
ghbors problem, Discrete Comput. Geom., 4:101-115,
1989”に記載されている最近接点アルゴリズムに基づ
いて、奇数次元に対して、同一の時間複雑性を有する類
似のアルゴリズムを設計することができる。[0198] The image processing apparatus 10 performs the above-described "PM Va
idya, An O (nlogn) algorithm for the all-nearest-nei
ghbors problem, Discrete Comput. Geom., 4: 101-115,
Based on the closest algorithm described in "1989", a similar algorithm with the same time complexity can be designed for odd dimensions.
【0199】このとき、画像処理装置10は、点集合
S,Qの最近傍グラフnn(S),nn(Q),N
N(S),NN(Q)を、それぞれ、上式(18)乃至
次式(21)により計算した後、nn(S),NNl
(S)を、それぞれ、上式(22)及び上式(23)
としたとき、全てのl∈nn(S)∪nn(Q)に
対して、|NNl(S)|=|NNl(Q)|である
か否かを判別する。すなわち、画像処理装置10は、点
の多重度を検出し、その後別個の点集合を取り扱うこと
となる。At this time, the image processing apparatus 10 calculates the nearest neighbor graphs nn (S), nn (Q), N of the point sets S and Q.
N a (S), NN (Q), respectively, was calculated from the above equation (18) to equation (21), nn (S), NN l
(S) is calculated by the above equation (22) and the above equation (23), respectively.
Then, it is determined whether or not | NN l (S) | = | NN l (Q) | for all l∈nn (S) ∪nn (Q). That is, the image processing apparatus 10 detects the multiplicity of the point, and thereafter handles a separate point set.
【0200】ここで、全てのl∈nn(S)∪nn
(Q)に対して、|NNl(S)|=|NN
l(Q)|でない場合には、点集合S,Qは合同
ではない。点S∈Sは、制約されてはいるがkd≧2d
である点集合Sの他の点に対して、kd=Od(1)=
|NN(S)|の最近接点でのみあり得る。nn
(S)にOkd(1)個の別個の距離が存在する場合に
は、画像処理装置10は、Od(Tc(n))において合
同のチェックを行う。また、nn(S)にOkd(1)
個の別個の距離が存在しない場合には、距離の値lが存
在する。この距離の値lは、頻繁に反復し、すなわち、
n≫dのときΩ(n)となる。Here, all l∈nn (S) ∪nn
For (Q), | NN l (S) | = | NN
If l (Q) |, the point sets S and Q are not congruent. The point S∈S is constrained but k d ≧ 2 d
K d = O d (1) =
| NN (S) | can only be the closest point. nn
If there are O kd (1) distinct distances in (S), the image processing apparatus 10 performs a joint check on O d (T c (n)). Also, O kd (1) is added to nn (S).
If there are no separate distances, there is a distance value l. This distance value l repeats frequently, ie,
Ω (n) when n≫d.
【0201】続いて、画像処理装置10は、この距離の
値lを有するceil[(d−1)/2]個の完全にマ
ッチングするエッジを選択した後、エッジ値lを有し、
サイズがceil[(d−1)/2]である点集合Q
の完全にマッチする可能な組み合わせの全てを調べる。
このとき、画像処理装置10は、変換を計算するため
に、セントロイドも追加している。ここで、ceil
[A]は、Aを越えない最大の整数である。Subsequently, after selecting the ceil [(d-1) / 2] perfectly matching edges having the distance value l, the image processing apparatus 10 has the edge value l.
A point set Q whose size is ceil [(d-1) / 2]
Find all possible combinations that exactly match the.
At this time, the image processing apparatus 10 has also added a centroid to calculate the transformation. Where ceil
[A] is the largest integer not exceeding A.
【0202】このアルゴリズムの時間複雑性は、O(n
ceil[(d-1)/2]Tc(n))=O(nceil[(d+1)/2] lo
g n)となる。The time complexity of this algorithm is O (n
ceil [(d-1) / 2] T c (n)) = O (n ceil [(d + 1) / 2] lo
gn).
【0203】なお、画像処理装置10は、上述したバケ
ッティング法を同様にして適用することも可能である。
アルゴリズムの実行時間は、2次関数であることから、
画像処理装置10は、O(n2)時間内に全てのNN’
を計算することができる。Note that the image processing apparatus 10 can apply the above-described bucketing method in a similar manner.
Since the execution time of the algorithm is a quadratic function,
The image processing apparatus 10 determines that all NN's are within O (n 2 ) time.
Can be calculated.
【0204】つぎに、厳密な自己類似性に関する説明を
行う。T(Q)=QとなるようなT≠Idが存在す
る場合には、そのときに限って、集合Qは自己類似性
があるという。また、集合Sから集合S自身への異
なるr個の写像が存在する場合には、そのときに限っ
て、集合Sはr重の類似性があるという。n又はn−
1がpで割り切れる場合には、2pの類似性を有する平
面点集合Sが存在し、それぞれ、図20に示すよう
に、2n/p又は2(n−1)/pの類似性がある。さ
らに、鏡映性が存在するために、任意のnに対して、2
重の類似性を有する集合が存在する。ここで、与えられ
た整数nに対して、集合Sがr重の類似性を有するよ
うなrの値を求めることや、与えられたnに対して、r
重の類似性を有するn点の集合を作成することが、1つ
の興味をひく問題となる。また、他の興味をひく問題と
しては、環境空間とも称される変換Tの空間におい
て、特徴付けを行い、与えられた整数r及びnに対し
て、r重の類似性を有する別個の点からなるn点の集合
が存在するか否かを答えることがある。さらに、r重の
類似性を有するn点集合は、大きなrに対しては必然的
に同心球点となることにも注意する必要がある。Zabrod
sky等は、“Hagit Zabrodsky, Shmuel Peleg, and Davi
d Avnir, Symmetry as a continuous feature, Pattern
Analysis and Machine Intelligence, August 93”に
て、入力点の揺動を最小にすることによって、対称性の
連続指標を導入している。この連続指標は、合同検出ア
ルゴリズムの強固性の指標としても用いることが可能な
ものである。Next, a description will be given of strict self-similarity. If there exists T ≠ Id such that T (Q) = Q, the set Q is said to have self-similarity only then. Also, when there are r different mappings from the set S to the set S itself, it is said that the set S has r-fold similarity only at that time. n or n-
When 1 is divisible by p, there exists a plane point set S having a similarity of 2p, and each has a similarity of 2n / p or 2 (n-1) / p as shown in FIG. Furthermore, due to the presence of mirroring, for any n, 2
There are sets with multiple similarities. Here, for a given integer n, a value of r such that the set S has r-fold similarity is obtained, or for a given n, r
Creating a set of n points with heavy similarity is an interesting issue. Another interesting issue is that in the space of the transformation T, also called the environment space, the characterization is performed and for given integers r and n, the distinct points of r-fold similarity The answer may be whether or not a set of n points exists. Further, it should be noted that an n-point set having r-fold similarity is necessarily a concentric sphere point for a large r. Zabrod
sky etc. are “Hagit Zabrodsky, Shmuel Peleg, and Davi
d Avnir, Symmetry as a continuous feature, Pattern
Analysis and Machine Intelligence, August 93, introduces a continuous measure of symmetry by minimizing the swing of the input points. This continuous measure is also used as a measure of the robustness of the joint detection algorithm. It is possible.
【0205】次表1乃至次表3に、幾何学的合同問題に
おいて知られている結果をまとめて示す。また、近似的
パターンマッチングについての参考文献についても示し
ている。なお、近似係数は、記号*で表される雑音パラ
メータと相互作用することに注意が必要である。Tables 1 to 3 below summarize the results known in the geometric congruence problem. It also shows references for approximate pattern matching. Note that the approximation coefficient interacts with the noise parameter represented by the symbol * .
【0206】[0206]
【表1】 [Table 1]
【0207】[0207]
【表2】 [Table 2]
【0208】[0208]
【表3】 [Table 3]
【0209】近似アルゴリズムにおける問題は、“P.
J. Heffernan and S. Schirra, Approximate decision
algorithms for point set congruence, Comput. Geom.
Theory Appl., 4:137-156, 1994”、“M. T. Goodric
h, Joseph S. B. Mitchell, and M. W. Orletsky, Prac
tical methods for approximate geometric pattern ma
tching under rigid motion, In Proc. 10th Annu. ACM
Sympos, Comput. Geom., pages 103-112, 1994”又は
“A. Efrat, Finding approximate matching of points
and segments under translation, Unpublished manus
cript, 1995”を参照してもわかるように、曖昧さの程
度によって、合同が存在するか否かの問いに対して、変
換を正しく報告しないことがあることである。これは、
問題のモデル化が簡略すぎるために生じる。ここで、様
々なランダム化アルゴリズムの中で、“P. Indyk, R. M
otwani, and S. Venkatasubramanian, Geometric match
ing under noise:Combinatorial bounds and algorithm
s, In SODA:Symposium of Datastructures and Algorit
hms 1999”に示されているように、変換が存在するにも
かかわらず、変換を報告しないようなアルゴリズムであ
る間違った否定と、“Cardoze and Schulman, Pattern
matching for spatial point sets, In FOCS:IEEE Symp
osium on Foundations of Computer Science (FOCS), 1
988”に示されているように、何らかの問題還元のため
に間違った変換を報告するアルゴリズムである間違った
肯定とを区別することにする。後者の場合には、報告さ
れた変換が正しいものであるか否かをチェックするため
に、より長い時間が必要となる。The problem in the approximation algorithm is described in “P.
J. Heffernan and S. Schirra, Approximate decision
algorithms for point set congruence, Comput. Geom.
Theory Appl., 4: 137-156, 1994 ”,“ MT Goodric
h, Joseph SB Mitchell, and MW Orletsky, Prac
tical methods for approximate geometric pattern ma
tching under rigid motion, In Proc. 10th Annu.ACM
Sympos, Comput. Geom., Pages 103-112, 1994 ”or“ A. Efrat, Finding approximate matching of points.
and segments under translation, Unpublished manus
cript, 1995 ”, it can be seen that, depending on the degree of ambiguity, the question of whether a congruence exists may not correctly report the transformation.
It occurs because the problem modeling is too simple. Here, among various randomization algorithms, “P. Indyk, R.M.
otwani, and S. Venkatasubramanian, Geometric match
ing under noise: Combinatorial bounds and algorithm
s, In SODA: Symposium of Datastructures and Algorit
hms 1999 ”, false negation, which is an algorithm that does not report a conversion even though it exists, and“ Cardoze and Schulman, Pattern
matching for spatial point sets, In FOCS: IEEE Symp
osium on Foundations of Computer Science (FOCS), 1
As shown in 988 ”, we will distinguish between false positives, which are algorithms that report the wrong conversion for some problem reduction. In the latter case, the reported conversion is the correct one. It takes a longer time to check if there is.
【0210】定理1:S及びQをd次元のn点集合
であるとする。このとき、S≡Qであるか否かの
検出をO(nfloor[(d+1)/2] log n)時間内に確定
的に行うことができる。Theorem 1: Let S and Q be d-dimensional n-point sets. At this time, whether or not S≡Q can be detected deterministically within O (n floor [(d + 1) / 2] log n) time.
【0211】“J. -D. Boissonnat and M. Yvinec, Alg
orithmic geometry, Cambridge University Press, UK,
1998”には、d次元球Sd-1上に最大の多面体が存在
することが示されている。"J.-D. Boissonnat and M. Yvinec, Alg
orithmic geometry, Cambridge University Press, UK,
1998 "indicates that the largest polyhedron exists on the d- dimensional sphere S d-1 .
【0212】ここで、興味ある問題としては、自己類似
性に次式(44)のように関係付けられた関数F
S(k,ε)のスペクトルを調べることがある。Here, an interesting problem is a function F related to self-similarity as shown in the following equation (44).
Sometimes the spectrum of S (k, ε) is examined.
【0213】[0213]
【数44】 [Equation 44]
【0214】ただし、上式(44)において、Sεは
次式(45)のように表される。However, in the above equation (44), Sε is represented by the following equation (45).
【0215】[0215]
【数45】 [Equation 45]
【0216】このスペクトルは、幾何学的パターンマッ
チングアルゴリズムの雑音許容性と実行時間との両方に
関与する。ここで、fS(k,ε)=|FS(k,ε)|
とする。特に、入力が信頼できるものであると見なせる
場合、すなわち、ε=0であると見なせる場合には、F
S(k,0)=FS(k)と記すものとする。fS(n)
=rとなるようなn点集合Sが存在する場合且つその
ときに限って、n点集合は、r重の類似性を有する。This spectrum contributes to both the noise tolerance and the execution time of the geometric pattern matching algorithm. Where f S (k, ε) = | F S (k, ε) |
And In particular, if the input can be considered reliable, that is, if ε = 0, then F
S (k, 0) = F S (k). f S (n)
If and only if there is an n-point set S such that = r, the n-point set has r similarities.
【0217】さらに、自然な拡張として次式(46)に
示す定義を行う。Further, the definition shown in the following equation (46) is made as a natural extension.
【0218】[0218]
【数46】 [Equation 46]
【0219】また、その濃度関数を次式(47)により
表す。The density function is represented by the following equation (47).
【0220】[0220]
【数47】 [Equation 47]
【0221】これは、Akutsu等により“T. Akutsu, H.
Tamaki, and T. Tokuyama, Distribution of distances
and triangles in a point set and algorithms for c
omputing the largest common point set, Discrete an
d Computational Geometry,pages 207-331, 1998”にて
定義された次式(48)に示す距離の「内積」の概念と
関連している。This is described by Akutsu et al. In "T. Akutsu, H.
Tamaki, and T. Tokuyama, Distribution of distances
and triangles in a point set and algorithms for c
omputing the largest common point set, Discrete an
d Computational Geometry, pages 207-331, 1998 ”and is related to the concept of“ scalar product ”of the distance shown in the following equation (48).
【0222】[0222]
【数48】 [Equation 48]
【0223】ここで例として、次式(49)とする。Here, as an example, the following equation (49) is used.
【0224】[0224]
【数49】 [Equation 49]
【0225】ただし、上式(49)において、その濃度
関数は、次式(50)により表され、C(・)は、例え
ば、ズーム範囲、表面の制約又はマッチの直径といった
非組み合わせパラメータに依存する制約条件である。However, in the above equation (49), the density function is represented by the following equation (50), and C (·) depends on non-combination parameters such as a zoom range, a surface constraint or a match diameter. Is a constraint condition.
【0226】[0226]
【数50】 [Equation 50]
【0227】このようにすることによって、マッチング
の組み合わせに対してばかりではなく、数値に対しても
制約を課すことができるようになる。例えば、視覚シス
テムにおいては、角度が−30゜〜+30゜の範囲で且
つズームが1/4〜4の範囲であるようなもののみの変
換を報告するようにするのが望ましい。また、C()を
満たす全ての変換を、例えば(θ,ズーム)のように辞
書編集順に報告するようにすることが望まれる。これを
制約付きパターンマッチングと称する。By doing so, it is possible to impose restrictions not only on combinations of matching but also on numerical values. For example, in a vision system, it is desirable to report only those transforms where the angle is in the range of -30 ° to + 30 ° and the zoom is in the range of 1/4 to 4. It is also desirable that all conversions that satisfy C () be reported in dictionary editing order, for example, (θ, zoom). This is referred to as constrained pattern matching.
【0228】つぎに、集合Sが集合Qの部分集合と
合同であるか否かの検出について説明する。ここでは、
上述してきた「合同問題」の一般化を行う。「部分集合
合同問題」は、以下のように定義される。すなわち、
「部分集合合同問題」は、「2つの点集合S及びQ
が与えられたとき、S≡Q’となるような点集合
Qの部分集合Q’を求め、それを数え、その1つを
示し、その全てを報告する。」ことである。例えば、図
21(A)に示すように、ある自動車を象った画像等か
ら角検出プログラムにより特徴が抽出されて得られる点
集合Sと、同図(B)に示すように、点集合Sの複
製が3つ含まれるあるシーンを示す点集合Qとが与え
られた場合、点集合Qから点集合Sを探索すること
である。Next, detection of whether the set S is congruent with a subset of the set Q will be described. here,
Generalization of the "joint problem" described above. The "subset congruence problem" is defined as follows. That is,
The “subset congruence problem” is defined as “two point sets S and Q
Is given, a subset Q ′ of the point set Q that satisfies S≡Q ′ is obtained, counted, one of them is shown, and all of them are reported. That is. For example, as shown in FIG. 21A, a point set S obtained by extracting features from an image or the like depicting a certain car by an angle detection program, and a point set S as shown in FIG. Given a point set Q indicating a certain scene including three copies of the point set Q, a point set S is searched from the point set Q.
【0229】束縛されていないd次元において、この幾
何学的問題は、“Tatsuya Akutsu,On determining the
congruence of point sets in d dimensions, Comput.
Geom. Theory Appl., 9(4):247-256, 1998”に記載され
ているように、部分グラフ合同に還元することによりN
P完全となることが示されている。In the unconstrained d-dimension, this geometric problem is described in “Tatsuya Akutsu, On determining the
congruence of point sets in d dimensions, Comput.
As described in Geom. Theory Appl., 9 (4): 247-256, 1998 ”, N
It is shown that P-complete is obtained.
【0230】ここで、|S|=1である場合には、問
題は自明であり、|Q|個の解が存在する。|S|
=2である場合には、問題は理論的、応用上においてよ
り困難なものとなり、反復単位距離の最大個数と関連す
る。この問題は、かつてPaulErdosが提示したものであ
る。この手法は、許容摂動が最小点間距離よりも小さい
という仮定のもとに、不正確な入力に対して適用するこ
とができる。Amin=maxl=1,・・・,dmin
i,j=1,・・・,n,i≠j|Qi,l−Qj,l|とするとき、係数O
(d×d!)を積算するのみで、最大Amin/2の摂動
まで許容することができるようになる。この場合、L2
最近接点と同じ結果を与えるL∞最近接点が存在するこ
とによる。L∞NNを計算する際に、全ての可能な軸の
置換を行い、それぞれの置換に対して、d回の1次元N
N探索を対数時間内に行ったときに得られる最も近いも
のを選択する。NN’を見つけるための直交範囲問い合
わせにおいて、ε≦dmin/2√d以内の点の揺動を許
容することができる。ここで、dminは、次式(51)
により表される。Here, if | S | = 1, the problem is self-evident and there are | Q | solutions. | S |
If = 2, the problem becomes more theoretically and applicationally more difficult and is related to the maximum number of repeating unit distances. This issue was once presented by PaulErdos. This approach can be applied to incorrect inputs, assuming that the permissible perturbation is less than the minimum point-to-point distance. A min = max l = 1, ..., d min
i, j = 1, ..., n, i ≠ j | Q i, l −Q j, l |
Only by multiplying (d × d!), A perturbation up to A min / 2 can be tolerated. In this case, L 2
L∞ is due to the existence of the closest contact which gives the same result as the closest contact. When calculating L∞NN, all possible axis permutations are performed, and for each permutation, d one-dimensional N
The closest one obtained when performing N search within logarithmic time is selected. In the orthogonal range inquiry for finding NN ′, the swing of a point within ε ≦ d min / 2√d can be allowed. Here, d min is given by the following equation (51).
Is represented by
【0231】[0231]
【数51】 (Equation 51)
【0232】問題の特徴の1つとして、図21に示した
ように、点集合Qにはアウトライアが存在するが、点
集合Sにはアウトライアが存在しない、すなわち、全
てがインライアであることが挙げられる。問題は、基本
的に2つの因子からなる。すなわち、まず最初にマッチ
する変換T∈Tを見つけ出し、次に部分集合マッチン
グの問題を解くことである。なお、同格数の問題に対し
ては、依然として無限アルファベット符号を取り扱う必
要がある。点集合Sの全ての点がマッチするはずであ
ることから、また、特徴点の対{S1,S2}、{Q1,
Q2}が与えられたとき、これらを完全にマッチさせる
2つの方法があり、これらの方法を用いて剛体変換が点
集合Qの1つの対{Q1,Q2}にマッチするSの点
の対{S1,S2}により決まることから、画像処理装置
10は、平面の場合であって、ズームを許容しない場
合、図22に示す一連の工程を経ることによって、部分
合同であるかを検出することができる。One of the features of the problem is that, as shown in FIG. 21, an outlier exists in the point set Q, but no outlier exists in the point set S, that is, all are inliers. Is mentioned. The problem basically consists of two factors. That is, first, a matching transformation T∈T is found, and then the problem of subset matching is solved. It should be noted that the problem of the same number still needs to deal with the infinite alphabet code. Since all the points of the point set S should match, the feature point pairs {S 1 , S 2 }, {Q 1 ,
Given Q 2 }, there are two ways to match them perfectly, and using these methods the rigid transformation transforms a point in S that matches a pair {Q 1 , Q 2 } of a set of points Q Are determined by the pair {S 1 , S 2 }, the image processing apparatus 10 performs a series of steps shown in FIG. Can be detected.
【0233】まず、画像処理装置10は、同図に示すよ
うに、ステップS81において、集合S,Qの幾何
学的グラフを計算し、列挙アルゴリズムによって、集合
Sの点の対により定義されるO(n2)個のソートさ
れた全ての距離及び集合Qの点の対により定義される
O(m2)個の全ての距離を算出する。First, as shown in the figure, in step S81, the image processing apparatus 10 calculates a geometric graph of the sets S and Q, and uses an enumeration algorithm to define an O defined by a pair of points of the set S. Calculate all (n 2 ) sorted distances and all O (m 2 ) distances defined by pairs of points in set Q.
【0234】続いて、画像処理装置10は、ステップS
82において、集合S,Qの共通距離の値D
(S)∩D(Q)のうち、集合Qにおける反復距
離が次式(52)により表される最小値kminを有する
ものであるlminを選択する。なお、拘束選択の場合に
は、集合Qにおける反復距離が最大値を有するものを
選択する。Subsequently, the image processing apparatus 10 determines in step S
82, the value D of the common distance between the sets S and Q
From (S) ∩D (Q), select l min whose repetition distance in set Q has the minimum value kmin represented by the following equation (52). In the case of constraint selection, the one having the maximum repetition distance in the set Q is selected.
【0235】[0235]
【数52】 (Equation 52)
【0236】続いて、画像処理装置10は、ステップS
83において、集合Sの任意に選択された点の対{S
1,S2}のうち、d2(S1,S2)=lminであるような
S1,S2の対を選択する。画像処理装置10は、S1,
S2の対により定義される2kmin個の変換T[(S1,
S2),(Q1,Q2)]及びT[(S1,S2),(Q2,
Q1)]を調べる。Subsequently, the image processing apparatus 10 determines in step S
At 83, a pair of arbitrarily selected points of the set S {S
1 , S 2 }, a pair of S 1 and S 2 such that d 2 (S 1 , S 2 ) = l min is selected. The image processing device 10 includes S 1 ,
2 km min transformations T [(S 1 ,
S 2 ), (Q 1 , Q 2 )] and T [(S 1 , S 2 ), (Q 2 ,
Q 1 )].
【0237】続いて、画像処理装置10は、ステップS
84において、集合Qのその他の全ての点の対
{Qi,Qj}のうち、d2(Qi,Qj)=lminであるよ
うなQi,Qjの対の全てに対して、Qi,Qjの対により
定義される全ての変換T[(S1,S2),(Qi,
Qj)]及びT[(S1,S2),(Qj,Qi)]を調べ
る。Subsequently, the image processing apparatus 10 proceeds to step S
In 84, all other respects pairs {Q i, Q j} of the set Q of, d 2 (Q i, Q j) = l is a min such Q i, for all pairs of Q j Te, Q i, all transformations defined by a pair of Q j T [(S 1, S 2), (Q i,
Q j )] and T [(S 1 , S 2 ), (Q j , Q i )].
【0238】そして、画像処理装置10は、ステップS
85において、各変換に対して部分合同を調べ、全ての
事象を報告し、一連の処理を終了する。Then, the image processing apparatus 10 proceeds to step S
At 85, a partial congruence is checked for each transform, all events are reported, and the sequence ends.
【0239】画像処理装置10は、このようにすること
によって、2次元の集合S,Qにおいて、集合Q
における集合Sの全ての事象を探索することができ
る。By doing so, the image processing apparatus 10 sets the set Q in the two-dimensional set S, Q
Can be searched for all the events of the set S.
【0240】このアルゴリズムの実行時間は、O(m2
+kminTc(n,m))である。ただし、kmin=O
(m4/3)であり、この値はおおよそO(m1+ε)に等
しい。また、Tc(n,m)は、1つの変換を調べるの
に必要な時間である。なお、Tc(n,m)は、許容雑
音パラメータεにも依存し、ε=0の場合には、任意の
距離の点集合に対して、T(n,m)=n log mと
なる。したがって、このアルゴリズムは、O(N2+ε)
時間に等しいであろうO(N7/3 log N)時間で実
行することができ、単純でありながら効率化を図ること
ができる。ただしここでは、スケーリングが許容されて
いないことと、アルゴリズムの実行時間が共通距離のう
ちの反復距離の最大個数に依存することに留意する必要
がある。すなわちここでは、集合Qの離間した距離を
選択することはできない。なお、点集合の最小点間距離
が“1”であるとき、そのような点集合は“1”だけ離
間しているという。画像処理装置10においては、これ
らのアルゴリズムを、全て線形時間メモリを用い、また
任意の距離列挙アルゴリズムを用いてインプリメントす
ることができる。The execution time of this algorithm is O (m 2
+ K min T c (n, m)). Where kmin = O
( M 4/3 ), which is approximately equal to O (m 1 + ε). T c (n, m) is the time required to examine one transform. Note that T c (n, m) also depends on the allowable noise parameter ε. When ε = 0, T (n, m) = n log m for a point set at an arbitrary distance. . Therefore, this algorithm uses O (N 2+ ε)
It can be executed in O (N 7/3 log N) time which will be equal to the time, and the efficiency can be improved while being simple. However, it must be noted here that scaling is not allowed and that the execution time of the algorithm depends on the maximum number of iteration distances of the common distance. That is, here, the separated distance of the set Q cannot be selected. When the minimum distance between points of a point set is “1”, such a point set is said to be separated by “1”. In the image processing apparatus 10, all of these algorithms can be implemented using a linear time memory and using an arbitrary distance enumeration algorithm.
【0241】ここで、シーンにパターンが存在する場合
には、少なくとも次式(53)により表されるx個の共
通距離がD(S)∩D(Q)に存在することに注意
する必要がある。集合Sにおける別個の距離の数は、
少なくともΩ(n4/5)であることが知られている。し
たがって、集合Sにおける同一距離の最小値は、最大
でO(n2-4/5)=O(n1.2)である。kminについて
さらに注意深く検討すると、kminは、次式(54)に
より表されることがわかっている。そのため、m≪n
6/5であれば、kminは、次式(55)により表される。
したがって、kminの上限は、“J. E. Goodman and J.
O'Rourke, editors, Handbook of Discrete and Comput
ational Geometry, CRC Press LLC, Boca Raton, FL, 1
997”に示されているように、n1.2・・・m1.333・・・で
ある。Here, when a pattern exists in a scene, it is necessary to note that at least x common distances represented by the following equation (53) exist in D (S) ∩D (Q). is there. The number of distinct distances in the set S is
It is known that it is at least Ω (n 4/5 ). Therefore, the minimum value of the same distance in the set S is O (n 2−4 / 5 ) = O (n 1.2 ) at the maximum. Further carefully consider k min, k min is found to be represented by the formula (54). Therefore, m≪n
If it is 6/5 , kmin is represented by the following equation (55).
Therefore, the upper limit of kmin is “JE Goodman and J.
O'Rourke, editors, Handbook of Discrete and Comput
ational Geometry, CRC Press LLC, Boca Raton, FL, 1
997 ”, n 1.2 ... M 1.333 .
【0242】[0242]
【数53】 (Equation 53)
【0243】[0243]
【数54】 (Equation 54)
【0244】[0244]
【数55】 [Equation 55]
【0245】このアルゴリズムは、1つのバーS1S
2(機構)を点集合Sの中に選択し、これを点集合
Qにロックさせるものであると見なすこともできる。This algorithm is based on one bar S 1 S
2 It is also possible to select (mechanism) in the point set S and lock it to the point set Q.
【0246】ここで、点集合Qの距離をΔQで表すこ
とにする。すると、点集合Qの処理(バケッティン
グ)は、O(Δ2)時間で行うことが可能であり、また
1つの変換のテストは、Tc(n,m)=OΔ(n)時
間内に行うことが可能である。Here, the distance of the point set Q is represented by ΔQ. Then, the processing (bucketing) of the point set Q can be performed in O (Δ 2 ) time, and one transformation test can be performed within T c (n, m) = OΔ (n) time. It is possible to do.
【0247】また、画像処理装置10は、集合S,
Qがd次元である場合、図23に示す一連の工程を経
ることによって、部分合同であるかを検出することがで
きる。The image processing apparatus 10 has a set S,
When Q is d-dimensional, it is possible to detect partial congruence by going through a series of steps shown in FIG.
【0248】まず、画像処理装置10は、同図に示すよ
うに、ステップS91において、集合S,Qの幾何
学的グラフを計算し、それらに容量d(e)、g
(S)、g(Q)を与える。First, as shown in the figure, in step S91, the image processing apparatus 10 calculates the geometric graphs of the sets S and Q and adds them to the capacity d (e) and g.
(S) and g (Q).
【0249】続いて、画像処理装置10は、ステップS
92において、集合S,Qの共通の容量D(S)
∩D(Q)である全てのハイパーエッジをアクティブ
とする。Subsequently, the image processing apparatus 10 determines in step S
At 92, the common capacitance D (S) of the sets S and Q
全 て Activate all hyperedges that are D (Q).
【0250】続いて、画像処理装置10は、ステップS
93において、g(Q)における反復ハイパーエッジ
容量が最小値を有するものであるVminを選択する。Subsequently, the image processing apparatus 10 determines in step S
At 93, select V min for which the iterative hyperedge capacity at g (Q) has the minimum value.
【0251】続いて、画像処理装置10は、ステップS
94において、d(δS)=Vminであるような単方向δ
Sを選択する。Subsequently, the image processing apparatus 10 determines in step S
At 94, a unidirectional δ such that d (δ S ) = V min
Select S.
【0252】続いて、画像処理装置10は、ステップS
95において、d(σ)=Vminであるような集合Q
の全てのハイパーエッジeに対して、Vminとσ,δSと
により誘起される全ての厳密な変換を調べる。Subsequently, the image processing apparatus 10 determines in step S
95, the set Q such that d (σ) = V min
For all hyperedges e, examine all exact transformations induced by V min and σ, δ S.
【0253】そして、画像処理装置10は、ステップS
96において、各変換に対して部分合同を調べ、全ての
事象を報告し、一連の処理を終了する。Then, the image processing apparatus 10 proceeds to step S
At 96, a partial congruence is checked for each transform, all events are reported, and the sequence ends.
【0254】画像処理装置10は、このようにすること
によって、d次元の集合S,Qにおいて、集合Q
における集合Sの全ての事象を探索することができ
る。In this way, the image processing apparatus 10 sets the set Q in the d-dimensional sets S and Q
Can be searched for all the events of the set S.
【0255】定理2:Sが2次元空間E2のn点集
合であり、Qが2次元空間E2のm点集合であると
き、点集合Sが点集合Qに存在するか否かの判定を
任意の点集合に対してO(m2+min{m4/3,m2/
n4/5}Tc(n,m))時間内に行うことができる。こ
こで、diameter(S)=diameter
(Q)である場合には、O(m log m + mTc
(n,m))時間内に、また、凸部に対しては、O(m
log m + min{m log m,m2/n}n l
og m)時間内に行うことができる。Theorem 2: When S is a set of n points in the two-dimensional space E 2 and Q is a set of m points in the two-dimensional space E 2 , it is determined whether or not the point set S exists in the point set Q. To O (m 2 + min {m 4/3 , m 2 /
n 4/5 } T c (n, m)) time. Here, diameter (S) = diameter
In the case of (Q), O (m log m + mT c
(N, m)) and O (m
log m + min {m log m, m 2 / n} n l
og m) can be done in time.
【0256】上述してきた結果は、“T. Akutsu, H. Ta
maki, and T. Tokuyama, Distribution of distances a
nd triangles in a point set and algorithms for com
puting the largest common point set, In Proc. 13th
Annu. ACM Symps. Comput.Geom., pages 314-323, 199
7”の精神に基づいて、m≪n6/5に対する改良を加えた
ものである。The results described above are described in “T. Akutsu, H. Ta
maki, and T. Tokuyama, Distribution of distances a
nd triangles in a point set and algorithms for com
puting the largest common point set, In Proc. 13th
Annu. ACM Symps. Comput. Geom., Pages 314-323, 199
It is an improvement on m≪n 6/5 based on the spirit of 7 ”.
【0257】画像処理装置10における制限要因は、次
の2つである。すなわち、最初に、特に集合Qの幾何
学的グラフを計算し、次に、可能な変換のそれぞれを独
立にテストすることである。There are the following two limiting factors in the image processing apparatus 10. That is, first compute the geometric graph, especially the set Q, and then independently test each of the possible transforms.
【0258】画像処理装置10は、kminが小さい場
合、或いは、m≫nである場合には、集合S,Qの
幾何学的グラフである次式(56)及び次式(57)に
より表されるx個及びy個の距離の全てを計算せずに済
ませることができる。まず、画像処理装置10は、集合
Sの任意の点の対(S1,S2)を拾い上げる。続い
て、画像処理装置10は、全てのi∈[1,m]に対し
て、縮退した環形問い合わせを行う。すなわち、画像処
理装置10は、中心がQiで半径がd2(S1,S2)の円
の問い合わせを行う。共通距離lの最大個数は、m個の
円においてn個の点の発生確率と関係する。これは、O
(n2/3+m2/3+n+m)により制約されることが知ら
れている。When kmin is small or m≫n, the image processing apparatus 10 calculates the geometrical graph of the sets S and Q by the following equations (56) and (57). It is not necessary to calculate all the x and y distances to be calculated. First, the image processing apparatus 10 picks up an arbitrary point pair (S 1 , S 2 ) of the set S. Subsequently, the image processing apparatus 10 makes a reduced ring-shaped inquiry for all i∈ [1, m]. That is, the image processing apparatus 10 makes an inquiry about a circle whose center is Q i and whose radius is d 2 (S 1 , S 2 ). The maximum number of common distances l is related to the probability of occurrence of n points in m circles. This is O
It is known that it is restricted by (n 2/3 + m 2/3 + n + m).
【0259】[0259]
【数56】 [Equation 56]
【0260】[0260]
【数57】 [Equation 57]
【0261】画像処理装置10は、この幾何学的問い合
わせに代わる方法として、“T. M.Chan, On enumeratin
g and selecting distances, In Proc. of the 14th Sy
mp.of Comp. Geo., 1998”にて示されている出力に依存
するアルゴリズムを用いて、選択された距離だけを列挙
するようにすることもできる。画像処理装置10は、距
離lが与えられたとき、集合Qにおいて同じ距離を有
するt2個の対をO(n4/3 log8/3 n)時間内に報
告することができる。すなわち、“T. Akutsu, H. Tama
ki, and T. Tokuyama, Distribution of distances and
triangles in a point set and algorithms for compu
ting the largest common point set,Discrete and Com
putational Geometry, pages 207-331, 1998”にて述べ
られているように、O(n4/3 log8/3 n + t2n
log m)時間アルゴリズムが得られる。制約は、
“T. M. Chan, On enumerating and selecting distanc
es, In Proc. of the 14th Symp. of Comp. Geo., 199
8”を参照してもわかるように、出力に対して、O(n
log n + n2/3k1/3 log6/3 n)のように依存
する。As an alternative to the geometric inquiry, the image processing apparatus 10 uses “TMChan, On enumeratin
g and selecting distances, In Proc. of the 14th Sy
mp. of Comp. Geo., 1998 ", an output-dependent algorithm may be used to enumerate only selected distances. T 2 pairs with the same distance in set Q can be reported in O (n 4/3 log 8/3 n) time, ie, “T. Akutsu, H. Tama
ki, and T. Tokuyama, Distribution of distances and
triangles in a point set and algorithms for compu
ting the largest common point set, Discrete and Com
putational Geometry, pages 207-331, 1998 ”, O (n 4/3 log 8/3 n + t 2 n
log m) A time algorithm is obtained. The constraint is
“TM Chan, On enumerating and selecting distanc
es, In Proc. of the 14th Symp. of Comp. Geo., 199
8 ", the output is O (n
log n + n 2/3 k 1/3 log 6/3 n).
【0262】他の手法は、格子又は多重格子を用いて、
上述したようにしてバケットを作成することである。バ
ケットの各位置には最大で1つの点しか存在しないこと
から、バケットは、例えば図24に示すようなブーリア
ンバケットで足りる。画像処理装置10は、1つの問い
合わせS1S2に対して、集合Qの各点に対して1回問
い合わせを行い、全部でO(n)回の問い合わせを実行
することによって、バケットの中のO(nΔ)個の位置
を調べる。Another approach is to use a grid or multiple grids,
That is, creating a bucket as described above. Since at most one point exists at each position of the bucket, a Boolean bucket such as that shown in FIG. 24 is sufficient, for example. The image processing apparatus 10 makes an inquiry once for each point of the set Q with respect to one inquiry S 1 S 2 , and executes O (n) times in total, so that Check O (nΔ) positions.
【0263】実際には、画像処理装置10は、特徴点の
対(S1,S2)が与えられたとき、|d2(S1,S2)
−d2(Q1,Q2)|≦γとなる全ての点の対(Q1,Q
2)を選択する。ここで、γは、範囲をズームした場合
において、γ≧4である。これは、集合Qにおける各
点Qiに対して、中心がQiであり内径がd2(S1,
S2)−2εで外径がd2(S1,S2)+2εである環形
内の全ての点を問い合わせることによりなされる。1つ
の方法は、距離DS,DQをソートし、与えられた問い合
わせlに対して、集合Qにおいて距離がl−2εから
l+2εまでの範囲にある全ての対をO(log n +
k)時間内に報告するようにすることである。したが
って、この原始的な方法の実行時間は、O(m2 log
m + kTc(n,m))となる。パターンマッチング
アルゴリズムをズーム範囲[zmin,zmax]において実
行するように制限した場合には、画像処理装置10は、
与えられた点の対S1S2(b=d2(S1,S2))に対
して、以下のように範囲問い合わせを行う。すなわち、
画像処理装置10は、(b−2ε)*zmin≦d
2(Qi,Qj)≦(b+2ε)*zmaxを満たす集合Q
の全ての点の対QiQjを報告する。また、画像処理装置
10は、S1S2のQiQjに対する角度の制約を加えるこ
ともできる。例えば、画像処理装置10は、傾きが30
゜以上異ならないものだけに制約する。Actually, when the pair of feature points (S 1 , S 2 ) is given, the image processing apparatus 10 sets | d 2 (S 1 , S 2 )
−d 2 (Q 1 , Q 2 ) | ≦ γ All pairs of points (Q 1 , Q 2
2 ) Select Here, γ satisfies γ ≧ 4 when the range is zoomed. This means that for each point Q i in the set Q, the center is Q i and the inner diameter is d 2 (S 1 ,
This is done by querying all points in the annulus with S 2 ) −2ε and outer diameter d 2 (S 1 , S 2 ) + 2ε. One method is to sort the distances D S , D Q and for a given query l, replace all pairs in the set Q whose distances range from l−2ε to l + 2ε with O (log n +
k) To report in time. Therefore, the execution time of this primitive method is O (m 2 log
m + kT c (n, m)). When the pattern matching algorithm is limited to be executed in the zoom range [z min , z max ], the image processing device 10
A range inquiry is performed as follows with respect to a given point pair S 1 S 2 (b = d 2 (S 1 , S 2 )). That is,
The image processing device 10 calculates (b−2ε) * z min ≦ d
2 A set Q satisfying (Q i , Q j ) ≦ (b + 2ε) * z max
Report the pair Q i Q j of all points in. Further, the image processing apparatus 10 may also be added to the angle of the constraints on Q i Q j of S 1 S 2. For example, the image processing apparatus 10 has a tilt of 30.
制約 Restrict to only things that are not different.
【0264】つぎに、環形問い合わせのためのデータ構
造について説明する。「環形問い合わせ」の問題は、例
えば、図25(A)に示すものや、同図(B)に示す扇
形問い合わせのように、「E2におけるn点集合が与
えられたとき、環形問い合わせに対して、リングの中の
全ての点を報告する。」ことである。Next, a data structure for a ring inquiry will be described. Problem of "annular inquiry" is, for example, those illustrated in FIG. 25 (A), as sector query shown in FIG. (B), when n point set in the "E 2 are given, with respect to the ring-shaped Us And report every point in the ring. "
【0265】この目的のために、画像処理装置10は、
“P. Gupta, R. Janardan, and M.Smid, On intersecti
on searching problems involving curved objects, In
Proc. 4th Scand. Workshop Algorithm Theory, volum
e 824 of Lecture Notes Comput. Sci., pages 183-19
4, Springer-Verlag, 1994”や“P. Gupta, R. Janarda
n, and M. Smid, Further results on generalized int
ersection searchingproblems:counting, reporting an
d dynamization, J. Algorithms, 19:282-317, 1995”
によるデータ構造を用いることができる。問い合わせの
リング内のt個の点を報告するのに必要な問い合わせ時
間は、O(log n + t log2 n)であり、前処
理時間としてO(n3/log n)が必要である。数を
数えるためには、O(n4 log2 n)の前処理時間の
後に、O(log2 n)のカウント処理時間が必要であ
る。ここでの課題は、距離がd−2εからd+2εの範
囲にある点の対pqの全てを報告することである。For this purpose, the image processing device 10
“P. Gupta, R. Janardan, and M. Smid, On intersecti
on searching problems involving curved objects, In
Proc. 4th Scand. Workshop Algorithm Theory, volum
e 824 of Lecture Notes Comput.Sci., pages 183-19
4, Springer-Verlag, 1994 ”and“ P. Gupta, R. Janarda
n, and M. Smid, Further results on generalized int
ersection searchingproblems: counting, reporting an
d dynamization, J. Algorithms, 19: 282-317, 1995 ”
Can be used. The query time required to report t points in the query ring is O (log n + t log 2 n), requiring O (n 3 / log n) as the pre-processing time. In order to count, the O (log 2 n) count processing time is required after the O (n 4 log 2 n) pre-processing time. The challenge here is to report all pairs of points pq whose distances are in the range d−2ε to d + 2ε.
【0266】グループ化及び問い合わせの実例を以下に
示す。画像処理装置10は、サイズが最大で|n/p|
であるようなp個のグループを作成し、各グループに対
して、総費用O(n3/p3 log n/p)の処理を行
う。次に、画像処理装置10は、R=[d−2ε,d+
2ε]の距離範囲に対して、d(p,q)∈Rである点
の対pqを全て報告する。画像処理装置10は、各点Q
i∈Qに対して1回ずつ、点集合Qに対してm回の
環形問い合わせを行う。したがって、総費用は、O(n
2/p log n/p + t log2 n/p)時間とな
る。問い合わせ時間と前処理時間とのバランスをとるた
めには、pを次式(58)のように選べばよい。A practical example of grouping and inquiry is shown below. The image processing device 10 has a maximum size of | n / p |
Are created, and the processing of the total cost O (n 3 / p 3 log n / p) is performed for each group. Next, the image processing device 10 determines that R = [d−2ε, d +
For a distance range of 2ε], we report all pairs of points pq where d (p, q) ∈R. The image processing apparatus 10 calculates each point Q
The ring query is performed once for i iQ and m times for the point set Q. Therefore, the total cost is O (n
2 / p log n / p + t log 2 n / p) time. In order to balance the inquiry time and the preprocessing time, p may be selected as in the following equation (58).
【0267】[0267]
【数58】 [Equation 58]
【0268】このとき、2つの場合があり得る。すなわ
ち、t≦n2/(p log n/p)である場合には、
p=n1/2-εを選択する。この場合には、O(n
3/2+ε)時間アルゴリズムが得られる。また、t≧n2
/(p log n/p)である場合には、p=n/t
1/3-εを選択する。この場合には、O(t log2
t)時間アルゴリズムとなる。At this time, there are two cases. That is, when t ≦ n 2 / (p log n / p),
Choose p = n 1 / 2- ε. In this case, O (n
3/2 + ε) time algorithm is obtained. Also, t ≧ n 2
/ (P log n / p), p = n / t
Select 1 / 3- ε. In this case, O (t log 2
t) It becomes a time algorithm.
【0269】画像処理装置10は、tの値を予め知るこ
とができないことから、差し当たって、“F. Nielsen,
Algorithmes Geometriques Adoptatifs-Adoptive Compu
tational Geometry, Ph.D. thesis, isbn-2-7261-1017-
7, Nice Univ. (Franc), 1996”に示されているよう
に、t≒22(i/2)(i≦2log log t)を採用し
て大まかな見積もりを行う。この方法の長所は、tの大
きな値に対して、出力に依存するアルゴリズムが得られ
ることである。Since the image processing apparatus 10 cannot know the value of t in advance, the image processing apparatus 10 sets “F. Nielsen,
Algorithmes Geometriques Adoptatifs-Adoptive Compu
tational Geometry, Ph.D. thesis, isbn-2-7261-1017-
7, Nice Univ. (Franc), 1996 ”, a rough estimate is made using t ≒ 22 (i / 2) (i ≦ 2 log log t). , T, an output-dependent algorithm is obtained.
【0270】このアルゴリズムの隘路は、各変換の評価
をそれぞれ独立に行うのに費用がかかることである。そ
こで、画像処理装置10は、各変換の評価を独立に行わ
ずに済ませることもできる。A bottleneck of this algorithm is that it is expensive to evaluate each transform independently. Therefore, the image processing apparatus 10 may not need to evaluate each conversion independently.
【0271】ここで、T(t2)を上述したアルゴリズ
ムにより報告された変換の集合であるとする。画像処理
装置10は、D(S)の異なる長さのバーを1度に1
つ選択し、反復処理を以下のように行う。画像処理装置
10においては、各ステージにおいて、多数の異なる変
換t2 (1),・・・,t2 (l)が得られる。画像処理装置1
0は、パターンが存在するものと仮定し、最初のl個の
類似の距離D(S)∩D(Q)を選択する。続い
て、画像処理装置10は、次式(59)により表される
共通部分を計算する。最後に、画像処理装置10は、各
変換T∈T’のスコアを計算し、最も高いスコアを得
たものを選択する。このときの総費用は、O(|T’
|Tc(n,m))=O(|T’|n log m)で
ある。Here, let T (t 2 ) be a set of transforms reported by the above-described algorithm. The image processing apparatus 10 outputs bars of different lengths of D (S) one at a time.
And repeat the process as follows. In the image processing apparatus 10, a number of different transformations t 2 (1) ,..., T 2 (l) are obtained in each stage. Image processing device 1
A 0 assumes that a pattern exists and selects the first l similar distances D (S) パ タ ー ン D (Q). Subsequently, the image processing apparatus 10 calculates a common part represented by the following equation (59). Finally, the image processing device 10 calculates the score of each transform T∈T ′, and selects the one with the highest score. The total cost at this time is O (| T '
| T c (n, m)) = O (| T ′ | n log m).
【0272】[0272]
【数59】 [Equation 59]
【0273】なおここでは、このアルゴリズムが部分合
同の複写を全て報告することに注意する必要がある。It should be noted here that this algorithm reports all partially congruent copies.
【0274】具体的には、画像処理装置10は、図26
に示す一連の工程を経ることによって、転移及び/又は
回転を含むパターンマッチングを行う。ここでは、2次
元の点集合Sε,Qεがεの揺動を有する集合であ
るものとする。More specifically, the image processing apparatus 10
By performing a series of steps shown in (1), pattern matching including transfer and / or rotation is performed. Here, it is assumed that the two-dimensional point sets Sε and Qε are sets having a swing of ε.
【0275】まず、画像処理装置10は、同図に示すよ
うに、ステップS101において、最大の辺の長さがb
であるような点集合Sの直交境界領域を算出する。点
集合Sの直径の上限をΔ=√(2b)とする。First, in step S101, the image processing apparatus 10 determines that the maximum side length is b
The orthogonal boundary region of the point set S is calculated as follows. The upper limit of the diameter of the point set S is set to Δ = √ (2b).
【0276】続いて、画像処理装置10は、ステップS
102において、大きさがceil[Δ/ε]+2で、
全ての元が初期値として“0”に設定されている1次元
の2値ブーリアンバケットBSを作成する。このブーリ
アンバケットBSは、点間距離のバケッティングを行う
ために用いられる。Subsequently, the image processing apparatus 10 determines in step S
At 102, the magnitude is ceil [Δ / ε] +2,
A one-dimensional binary Boolean bucket B S with all elements set to “0” as initial values is created. The Boolean bucket B S is used for bucketing the distance between points.
【0277】続いて、画像処理装置10は、ステップS
103において、Sj≠Siである任意の(Si,Sj)の
対の点間距離d2(Si,Sj)に対して、そのインデッ
クスをl=floor[d2(Si,Sj)/ε]とし、
BS[l−1]、BS[l]、BS[l+1]のマークを
付す。そして、画像処理装置10は、各バケットBSに
対して、点間距離のリストを作成する。ただし、点間距
離のリストは、初期状態では空である。Subsequently, the image processing apparatus 10 determines in step S
In 103, S j ≠ S i any (S i, S j) is a point distance of a pair of d 2 (S i, S j ) with respect to, the index l = floor [d 2 (S i , S j ) / ε],
B S [l-1], B S [l], a mark of B S [l + 1]. Then, the image processing apparatus 10 creates a list of point distances for each bucket B S. However, the list of distances between points is empty in the initial state.
【0278】続いて、画像処理装置10は、ステップS
104において、ステージの初期値としてk=1とす
る。Subsequently, the image processing apparatus 10 determines in step S
At 104, k = 1 is set as the initial value of the stage.
【0279】続いて、画像処理装置10は、ステップS
105において、k≦νであるか否かを判別する。Subsequently, the image processing apparatus 10 determines in step S
At 105, it is determined whether or not k ≦ ν.
【0280】ここで、k≦νでない場合には、画像処理
装置10は、ステップS109へと処理を移行し、点集
合Sの対S1 (k),S2 (k)をランダムに選択する。Here, if k ≦ ν is not satisfied, the image processing apparatus 10 shifts the processing to step S109, and randomly selects a pair of point sets S S 1 (k) and S 2 (k). .
【0281】続いて、画像処理装置10は、ステップS
110において、lk=d2(S1 (k),S2 (k))とし、l
bk=floor[lk/ε]とする。画像処理装置10
は、PS(lbk−1)∪PS(lbk)∪PS(lbk+
1)の全ての対(Qi,Qj)を調べ、|d2(Qi,
Qj)−lk|≦2εである全ての対を選択する。これら
の点により定義される変換の集合をTkで表す。なお
ここでは、一定のズームを行っていると仮定しているこ
とから、パラメータとして回転と転移だけを考慮すれば
よい。Subsequently, the image processing apparatus 10 determines in step S
At 110, let l k = d 2 (S 1 (k) , S 2 (k) ), and l
Let b k = floor [l k / ε]. Image processing device 10
Is P s (lb k −1) ∪P s (lb k ) ∪P s (lb k +
Examine all pairs (Q i , Q j ) of 1) and find | d 2 (Q i ,
Select all pairs where Q j ) −l k | ≦ 2ε. The set of transforms defined by these points is denoted by T k . Here, since it is assumed that a constant zoom is performed, only the rotation and the transition need to be considered as parameters.
【0282】続いて、画像処理装置10は、ステップS
111において、BS,Tkを用いて、点集合Qの可
能な転移の全てを得る。Subsequently, the image processing apparatus 10 proceeds to step S
At 111, use B S , T k to get all possible transitions of the point set Q.
【0283】そして、画像処理装置10は、ステップS
112において、k=k+1とし、再びステップS10
5以降の処理を繰り返す。Then, the image processing apparatus 10 determines in step S
At 112, k = k + 1, and again at step S10
The processing after 5 is repeated.
【0284】一方、ステップS105において、k≦ν
であると判別した場合には、画像処理装置10は、ステ
ップS106において、次式(60)により表される共
通転移μの集合Tを計算する。ここで、共通転移μの
集合Tを計算するためには、いつ2つの変換の類似性
がμ重となるかを定義しておく必要がある。2つの変換
T1,T2は、全てのP∈Sに対して、d2(T
1(P),T2(P))≦μである場合に、類似度がμで
あるという。画像処理装置10は、点集合Sの全ての
点に対して検査を行う代わりに、点集合Sの境界ボッ
クスの角を順次検査していくことによって、近似的な検
査を行う。On the other hand, in step S105, k ≦ ν
When the image processing apparatus 10 determines that the common transition μ is calculated by the following equation (60) in step S106. Here, in order to calculate the set T of the common transition μ, it is necessary to define when the similarity of the two transforms becomes μ overlapping. The two transforms T 1 , T 2 are, for all P∈S, d 2 (T
When 1 (P), T 2 (P)) ≦ μ, the similarity is referred to as μ. The image processing apparatus 10 performs an approximate inspection by sequentially inspecting the corners of the bounding box of the point set S instead of inspecting all the points of the point set S.
【0285】[0285]
【数60】 [Equation 60]
【0286】続いて、画像処理装置10は、ステップS
107において、Tの転移が事象を誘起するかどうか
を調べる。画像処理装置10は、例えば、点集合Sを
バッケティングするか、或いは、2 1−d回の2分探
索等を行うことにより調べる。バケットを用いた場合に
は、先に図24に示したように、各バケットの幅はεと
なる。Subsequently, the image processing apparatus 10 proceeds to step S
At 107, it is determined whether T metastasis triggers the event. The image processing apparatus 10 checks by, for example, bucketing the point set S, or performing 21-d binary searches. When buckets are used, the width of each bucket is ε, as shown in FIG.
【0287】そして、画像処理装置10は、ステップS
108において、報告や変換の列挙等を行い、一連の処
理を終了する。Then, the image processing apparatus 10 determines in step S
At 108, a report, conversion listing, and the like are performed, and a series of processing ends.
【0288】このようにすることによって、画像処理装
置10は、εの揺動を有する2次元の点集合Sε,
Qεにおける転移及び/又は回転を含むパターンマッ
チングを行うことができる。By doing so, the image processing apparatus 10 can generate a two-dimensional point set Sε,
Pattern matching including transition and / or rotation in Qε can be performed.
【0289】このアルゴリズムを用いてマッチする変換
を全て列挙するときの時間複雑性は、O((ΔS/ε)
+n2+m2+ν+tt’+t’Tc(n,m))であ
る。このとき、ΔQ≧ΔSであることに注意が必要であ
る。ただし、μ=0である場合には、画像処理装置10
は、行列をソートし、O(t log t’)時間内に次
式(61)により表されるTを算出する。したがっ
て、時間複雑性は、O((ΔS/ε)+n2+m2+ν+
(t log t’)+t’Tc(n,m))となる。The time complexity when listing all matching transforms using this algorithm is O ((Δ S / ε)
+ N 2 + m 2 + ν + tt ′ + t′T c (n, m)). In this case, it should be noted that it is Δ Q ≧ Δ S. However, when μ = 0, the image processing device 10
Sorts the matrix and calculates T represented by the following equation (61) within O (t log t ') time. Therefore, the time complexity is O ((Δ S / ε) + n 2 + m 2 + ν +
(T log t ′) + t′T c (n, m)).
【0290】[0290]
【数61】 [Equation 61]
【0291】ここで、εは、ε=dmin/2に固定して
いる。ただし、dmin=min{dminS,dminQ}であ
る。Here, ε is fixed at ε = d min / 2. Here, d min = min {d minS , d minQ }.
【0292】また、画像処理装置10においては、例え
ば、N2がRAMメモリサイズよりも大きい場合や、リ
アルタイムにおいて必要となるような場合といった大き
な点集合濃度に対しては、図27に示す一連の処理を行
うのが好適である。In the image processing apparatus 10, for example, when N 2 is larger than the RAM memory size or when a large point set density is required in real time, a series of operations shown in FIG. Preferably, processing is performed.
【0293】まず、画像処理装置10は、同図に示すよ
うに、ステップS121において、最大の辺の長さがb
であるような点集合Sの直交境界領域を算出し、点集
合Sの直径の上限をΔ=√(2b)とする。First, in step S121, the image processing apparatus 10 determines that the maximum side length is b
Is calculated, and the upper limit of the diameter of the point set S is set to Δ = √ (2b).
【0294】続いて、画像処理装置10は、ステップS
122において、点集合Q上に大きさがγのバケット
BQを作成し、各Qi∈Qに対して、Qiを対応する位
置に追加する。ここでは、先に図24に示したように、
1つのバケットに複数の点が存在し得ることに注意する
必要がある。Subsequently, the image processing apparatus 10 determines in step S
At 122, a bucket B Q of size γ is created on the point set Q, and for each Q i ∈Q, Q i is added to the corresponding position. Here, as shown in FIG.
Note that there can be more than one point in a bucket.
【0295】続いて、画像処理装置10は、ステップS
123において、ステージの初期値としてk=1とす
る。Subsequently, the image processing apparatus 10 determines in step S
At 123, k = 1 is set as the initial value of the stage.
【0296】続いて、画像処理装置10は、ステップS
124において、k≦νであるか否かを判別する。Subsequently, the image processing apparatus 10 determines in step S
At 124, it is determined whether k ≦ ν.
【0297】ここで、k≦νでない場合には、画像処理
装置10は、ステップS128へと処理を移行し、点集
合Sの対S1 (k),S2 (k)をランダムに選択する。Here, if k ≦ ν is not satisfied, the image processing apparatus 10 shifts the processing to step S128, and randomly selects a pair S 1 (k) and S 2 (k) of the point set S. .
【0298】続いて、画像処理装置10は、ステップS
129において、lk=d2(S1 (k),S2 (k))とし、バ
ケッティング法を用いて、(Qi,Qj) s.t. |d
2(S1 (k),S2 (k))−d2(Qi,Qj)|≦2εとなる
全ての対を検索する。実際には、画像処理装置10は、
超集合を検索する。このようにして点の対から得られる
変換の集合をTkとする。Subsequently, the image processing apparatus 10 determines in step S
129, l k = d 2 (S 1 (k) , S 2 (k) ), and (Q i , Q j ) s. t. | D
2 (S 1 (k) , S 2 (k) ) − d 2 (Q i , Q j ) | ≦ 2ε is searched for all pairs. In practice, the image processing device 10
Search for supersets. The set of transforms obtained from the pair of points in this way is defined as T k .
【0299】続いて、画像処理装置10は、ステップS
130において、BQ,Tkを用いて、点集合Qの可
能な転移の全てを得る。Subsequently, the image processing apparatus 10 determines in step S
At 130, use B Q , T k to obtain all possible transitions of the point set Q.
【0300】そして、画像処理装置10は、ステップS
131において、k=k+1とし、再びステップS12
4以降の処理を繰り返す。Then, the image processing apparatus 10 proceeds to step S
At 131, k = k + 1 is set, and again at step S12
The processing after 4 is repeated.
【0301】一方、ステップS124において、k≦ν
であると判別した場合には、画像処理装置10は、ステ
ップS125において、上式(59)により表される共
通転移μの集合Tを計算する。画像処理装置10は、
図26中ステップS106と同様に、点集合Sの全て
の点に対して検査を行う代わりに、点集合Sの境界ボ
ックスの角を順次検査していくことによって、近似的な
検査を行う。なお、類似度がμであるかどうかの正確な
チェックは、凸閉包上の点を調べることによってのみ可
能である。On the other hand, in step S124, k ≦ ν
If the image processing apparatus 10 determines that the common transition μ is set in step S125, the image processing apparatus 10 calculates the set T of the common transition μ represented by the above equation (59) in step S125. The image processing device 10
Similar to step S106 in FIG. 26, an approximate inspection is performed by sequentially inspecting the corners of the bounding box of the point set S instead of inspecting all the points of the point set S. It should be noted that an accurate check as to whether or not the similarity is μ is possible only by examining points on the convex hull.
【0302】続いて、画像処理装置10は、ステップS
126において、Tの転移が事象を誘起するかどうか
を調べる。画像処理装置10は、例えば、点集合Sを
バッケティングするか、或いは、2 1−d回の2分探
索等を行うことにより調べる。バケットを用いた場合に
は、先に図24に示したように、各バケットの幅はεと
なる。Subsequently, the image processing apparatus 10 executes step S
At 126, it is determined whether the transfer of T triggers an event. The image processing apparatus 10 checks by, for example, bucketing the point set S, or performing 21-d binary searches. When buckets are used, the width of each bucket is ε, as shown in FIG.
【0303】そして、画像処理装置10は、ステップS
127において、報告や変換の列挙等を行い、一連の処
理を終了する。Then, the image processing apparatus 10 proceeds to step S
In step 127, a report, conversion listing, and the like are performed, and a series of processing ends.
【0304】このアルゴリズムの実行時間は、O((Δ
Q/γ)2+νnΔ/γ+tt’+t’Tc(n,m))
である。ここで、パラメータγは、実際の目的に応じて
チューニングする必要がある。画像処理装置10は、図
28に示す一連の工程を経ることによって、γを推定す
る。The execution time of this algorithm is O ((Δ
Q / γ) 2 + νnΔ / γ + tt ′ + t′T c (n, m))
It is. Here, the parameter γ needs to be tuned according to the actual purpose. The image processing apparatus 10 estimates γ through a series of steps shown in FIG.
【0305】まず、画像処理装置10は、同図に示すよ
うに、ステップS141において、プログラム又はユー
ザによって、γを初期化する。First, as shown in the figure, the image processing apparatus 10 initializes γ by a program or a user in step S141.
【0306】続いて、画像処理装置10は、ステップS
142において、テストする変換の数をWσとする。Subsequently, the image processing apparatus 10 proceeds to step S
At 142, the number of transforms to test is Wσ.
【0307】続いて、画像処理装置10は、ステップS
143において、Wσ×check>CT(γ)である
か否かを判別する。Subsequently, the image processing apparatus 10 determines in step S
In 143, it is determined whether or not Wσ × check> CT (γ).
【0308】ここで、Wσ×check>CT(γ)で
ある場合には、画像処理装置10は、ステップS144
において、γについてより良好且つ小さな値を得る。す
なわち、画像処理装置10は、γ=γ/2とするか、或
いは、点座標から選択された何らかの値をγとする。そ
して、画像処理装置10は、ステップS143からの処
理を再び繰り返す。Here, if Wσ × check> CT (γ), the image processing apparatus 10 proceeds to step S144.
, A better and smaller value for γ is obtained. That is, the image processing apparatus 10 sets γ = γ / 2 or sets γ to some value selected from the point coordinates. Then, the image processing apparatus 10 repeats the processing from step S143 again.
【0309】一方、Wσ×check>CT(γ)でな
い場合には、画像処理装置10は、ステップS145に
おいて、γを返し、一連の処理を終了する。On the other hand, if Wσ × check> CT (γ) is not satisfied, the image processing apparatus 10 returns γ in step S145, and ends the series of processing.
【0310】このようにして、画像処理装置10は、γ
を推定することができる。[0310] Thus, the image processing apparatus 10
Can be estimated.
【0311】画像処理装置10は、パターンマッチング
を行うことによって、情景分析を行うことができる。[0311] The image processing apparatus 10 can perform scene analysis by performing pattern matching.
【0312】画像処理装置10は、点集合が稠密であり
且つ均一に分布している、すなわち、Δ=O(√n)で
あるものと仮定すると、複雑さの解析を以下のように洗
練することが可能である。The image processing apparatus 10 refines the complexity analysis as follows, assuming that the point sets are dense and uniformly distributed, that is, Δ = O (√n). It is possible.
【0313】すなわち、各バケットは、平均して、nγ
2/Δ2の点を有する。画像処理装置10は、これらの点
のうち、nΔ/γ個について調べていることから、大き
さがn2γ/Δの点の対の超集合が得られる。そこで、
γ=Δ/n2/3とすることによって、画像処理装置10
は、前処理を行うコスト、すなわち、O((Δ/
γ)2)と、問い合わせを行うコストとのバランスをと
ることができる。したがって、アルゴリズムの複雑さ
は、μの値が小さい場合には、O(n4/3+(t log
t’)+t’Tc(n,m))となる。また、t≦n4/3
であることにも注意する必要がある。なお、画像処理装
置10においては、チェックすべき対の数は、容易に数
えることができる。That is, each bucket has, on average, nγ
Having a point 2 / delta 2. Since the image processing apparatus 10 examines nΔ / γ of these points, a superset of pairs of points having a size of n 2 γ / Δ is obtained. Therefore,
By setting γ = Δ / n 2/3 , the image processing apparatus 10
Is the cost of pre-processing, ie, O ((Δ /
γ) 2 ) and the cost of making inquiries can be balanced. Thus, the complexity of the algorithm is that for small values of μ, O (n 4/3 + (t log
t ′) + t′T c (n, m)). Also, t ≦ n 4/3
It should also be noted that In the image processing apparatus 10, the number of pairs to be checked can be easily counted.
【0314】この方法は、全ての次元において適用する
ことができる。ただし、より高い次元においては、単純
なバー方式ではなく、d次元のシンプレックスを取り扱
う必要がある。次元が“4”よりも大きくなると、1つ
の点集合により定義される同じ距離の数が2次式にした
がって増加する。ラスヴェガス及びモンテカルロアルゴ
リズムの設計において、ランダム性を汎用的に用いるた
めの最近の正確な境界手法については、“T. Akutsu,
H. Tamaki, and T. Tokuyama, Distribution ofdistanc
es and triangles in a point set and algorithms for
computing thelargest common point set, In Proc. 1
3th Annu. ACM Symps. Comput. Geom.,pages 314-323,
1997”や“T. Akutsu, H. Tamaki, and T. Tokuyama, D
istribution of distances and triangles in a point
set and algorithms for computing the largest commo
n point set, Discrete and Computational Geometry,p
ages 207-331, 1998”に記載されている。This method can be applied in all dimensions. However, in higher dimensions, it is necessary to handle d-dimensional simplex instead of simple bar method. When the dimension becomes larger than "4", the number of the same distance defined by one point set increases according to the quadratic equation. For a recent accurate boundary method for universal use of randomness in the design of the Las Vegas and Monte Carlo algorithms, see "T. Akutsu,
H. Tamaki, and T. Tokuyama, Distribution ofdistanc
es and triangles in a point set and algorithms for
computing thelargest common point set, In Proc. 1
3th Annu. ACM Symps. Comput. Geom., Pages 314-323,
1997 ”and“ T. Akutsu, H. Tamaki, and T. Tokuyama, D
istribution of distances and triangles in a point
set and algorithms for computing the largest commo
n point set, Discrete and Computational Geometry, p
ages 207-331, 1998 ".
【0315】また、ε>0であるεが与えられたとき、
多数の縮退を生じるような点の揺動があり得る。このよ
うな揺動は、パターンマッチングアルゴリズムを遅くす
る要因となる。さらに、雑音を含むパターンのマッチン
グが、雑音を含まない正確なパターンのマチングと比較
して繊細なものとなる。他の方法は、ε’が与えられた
ときの全ての揺動に対して、同一のマッチングを許容す
ることである。画像処理装置10においては、εの境界
が0,Dmin/2√2,Amin/2,dmin/2のいずれ
かとなるように制約することによって、安定なマッチン
グだけを扱うようにしている。Further, when ε satisfying ε> 0 is given,
There may be point swings that result in multiple degenerations. Such swings cause the pattern matching algorithm to slow down. Furthermore, the matching of noisy patterns is more delicate compared to the matching of exact patterns without noise. Another way is to allow the same matching for all swings given ε '. In the image processing apparatus 10, only stable matching is handled by restricting the boundary of ε to be 0, D min / 2√2, A min / 2, d min / 2. .
【0316】上述したアルゴリズムにおいては、例えば
図29(A)に示す集合Sと同図(B)に示す集合
Qとについて、集合Qの中に集合Sの部分集合と
大きさが異なる部分合同が含まれる場合といったよう
に、スケーリングについては考慮していなかった。そこ
で以下では、均一スケーリングを行った場合における部
分合同について説明する。スケーリングを許容した場合
には、問題の解決の方法は、上述したものとは異なるも
のとなる。この場合には、集合Q上にバーを固定し、
これによる変換を調べる方法を採用することがもはや不
可能となる。その理由は単純であり、すなわち、Sが
2点からなる集合であるとき、次式(62)により表さ
れるx個の正確なマッチが集合Qに存在するからであ
る。結果を組み合わせてより効率のよいアルゴリズムを
得ることを考える。ElekesとErdosによれば、類似の三
角形の数は、Ω(n2)であり、また、相似の三角形の
対の数は、Θ(n3/2)である。そこで、画像処理装置
10においては、集合Sの類似の三角形の最大個数t
3に応じてアルゴリズムを変えるものとする。まず、画
像処理装置10は、集合S,Qの幾何学的グラフを
O(N2)時間で計算し、各点Qi∈Qに対して、循環
する連続点の角度により定義される1次元の幾何学的グ
ラフを対応付ける。そして、画像処理装置10は、各ノ
ードに対して、それぞれの距離を表す注釈を付ける。In the above-described algorithm, for example, for the set S shown in FIG. 29A and the set Q shown in FIG. The scaling was not considered, as was the case. Therefore, hereinafter, partial congruence in the case where uniform scaling is performed will be described. If scaling is allowed, the solution to the problem will be different from that described above. In this case, fix the bar on the set Q,
It is no longer possible to adopt a method of examining the transformations due to this. The reason is simple: when S is a set of two points, there are x exact matches in the set Q represented by the following equation (62). Consider combining the results to get a more efficient algorithm. According to Elekes and Erdos, the number of similar triangles is Ω (n 2 ), and the number of pairs of similar triangles is Θ (n 3/2 ). Therefore, in the image processing device 10, the maximum number t of similar triangles in the set S is t.
The algorithm shall be changed according to 3 . First, the image processing apparatus 10 calculates a geometric graph of the sets S and Q in O (N 2 ) time, and for each point Q i ∈Q, a one-dimensional defined by the angle of a circulating continuous point. Map the geometric graph of. Then, the image processing device 10 attaches an annotation indicating each distance to each node.
【0317】[0317]
【数62】 (Equation 62)
【0318】集合Sの三角形TS=(S1,S2,S3)
が選択されたとき、画像処理装置10は、単純に以下の
ように処理を進める。なお、集合Sが存在するとき、
そのような三角形は、集合Qに現れる。まず、画像処
理装置10は、集合Qにおける全ての類似な三角形を
探索する。ここで、各マッチによって、チェックすべき
6つの可能な剛体運動が定義される。このアルゴリズム
の総費用は、O(N2log N + t3Tc(n,m))
=O(N3 log N)である。さらに、画像処理装置
10は、三角形を選択する代わりに、単純に集合Sの
k部分集合を選択し、同様のアルゴリズムを、総費用O
k(N2 log N + tkTc(N,M))で実行するよ
うにしてもよい。ここで、tk=Ω(n)であり、大き
なkの値に対しては、反復単位距離の下の境界にマッチ
する。このアルゴリズムの実行時間は、O(N2+ε l
og N)である。The triangle T S of the set S = (S 1 , S 2 , S 3 )
Is selected, the image processing apparatus 10 simply proceeds with the process as follows. When the set S exists,
Such triangles appear in the set Q. First, the image processing device 10 searches for all similar triangles in the set Q. Here, each match defines six possible rigid body motions to check. The total cost of this algorithm is O (N 2 log N + t 3 T c (n, m))
= O (N 3 log N). Further, instead of selecting a triangle, the image processing apparatus 10 simply selects the k subset of the set S, and executes a similar algorithm with a total cost O
k (N 2 log N + t k T c (N, M)) may be executed at. Here, t k = Ω (n), and for a large value of k, it matches the lower boundary of the repetition unit distance. The execution time of this algorithm is O (N 2+ ε l
og N).
【0319】ここで、r=d2(S1,S2)/d
2(S1,S3)、α=∠S2S1S3とおく。なお、集合
Qにおいて、角αを最大O(n2 log n)時間内
に見つけることができることが知られている。Here, r = d 2 (S 1 , S 2 ) / d
2 (S 1 , S 3 ), α = ∠S 2 S 1 S 3 . It is known that in the set Q, the angle α can be found within the maximum O (n 2 log n) time.
【0320】画像処理装置10は、図30に示す一連の
工程を経ることによって、部分合同を検出する。[0320] The image processing apparatus 10 detects partial congruence through a series of steps shown in FIG.
【0321】まず、画像処理装置10は、同図に示すよ
うに、ステップS151において、G(Q)を計算
し、各ノードに対して、その循環的にソートされた角度
のリストを関連づける。画像処理装置10は、繰り返し
角度に対しては、半径方向にソートする。First, as shown in the figure, in step S151, the image processing apparatus 10 calculates G (Q) and associates each node with the list of the angles that are cyclically sorted. The image processing apparatus 10 sorts the repetition angles in the radial direction.
【0322】続いて、画像処理装置10は、ステップS
152において、G(Q)において、角度を有する3
点の組み合わせの全てに対して標識をO(m2 log
m)時間内に付与する。画像処理装置10は、3点の組
み合わせに対して、その比がr又は1/rでないかを確
認する。三角形xabの頂点xに対する比は、xに入射
する辺の長さの比、すなわち、d2(x,a)/d
2(x,b)により定義される。なお、同一直線上に存
在する3点の組は、多数存在し得る。これは、S1上
におけるパターンマッチング問題である。ここで、有効
であると認められた三角形により得られる変換の集合を
TS(Γ)で表す。Subsequently, the image processing apparatus 10 determines in step S
At 152, an angle 3 in G (Q)
Labels for all combinations of points are labeled O (m 2 log
m) Give within time. The image processing apparatus 10 checks whether the ratio is r or 1 / r for the combination of three points. The ratio of the triangle xab to the vertex x is the ratio of the length of the side incident on x, that is, d 2 (x, a) / d
2 Defined by (x, b). Note that there can be many sets of three points on the same straight line. This is a pattern matching problem on S 1. Here, a set of transforms obtained by the triangles recognized as valid is represented by T S (Γ).
【0323】そして、画像処理装置10は、ステップS
153において、t3個の有効な全ての3点の組をチェ
ックし、一連の処理を終了する。Then, the image processing apparatus 10 proceeds to step S
In 153, the set of all three valid t 3 points is checked, and the series of processing ends.
【0324】このときのアルゴリズムの総費用は、O
(m2 log m + t3Tc(n,m))=O(N3 l
og N)時間である。The total cost of the algorithm at this time is O
(M 2 log m + t 3 T c (n, m)) = O (N 3 l
og N) hours.
【0325】実際には、絶対誤差εが存在し、|T
S(Γ)|が大きくなることから、画像処理装置10
は、図31に示す反復法を用いて改良された一連の工程
を経ることによって、部分合同を検出する。Actually, there is an absolute error ε, and | T
S (Γ) | increases, the image processing device 10
Detects partial congruence by going through a series of improved steps using the iterative method shown in FIG.
【0326】まず、画像処理装置10は、同図に示すよ
うに、ステップS161において、iからlまで、集合
S内の三角形Γiをランダムに描き、TS(Γi)を計
算する。[0326] First, the image processing apparatus 10, as shown in the figure, in step S161, from i to l, randomly draws a triangle gamma i in the set S, calculates the T S (Γ i).
【0327】続いて、画像処理装置10は、ステップS
162において、次式(63)により表されるTを計算
する。Subsequently, the image processing apparatus 10 proceeds to step S
At 162, T represented by the following equation (63) is calculated.
【0328】[0328]
【数63】 [Equation 63]
【0329】そして、画像処理装置10は、ステップS
163において、全ての変換T∈TSに対して部分合同
性を調べ、一連の処理を終了する。Then, the image processing apparatus 10 proceeds to step S
In 163, it examines partial congruence to all conversion T∈T S, the series of processing is terminated.
【0330】この方法の実行時間は、O(lN2 log
N + |T|Tc(n,m))である。The execution time of this method is O (1N 2 log
N + | T | T c (n, m)).
【0331】画像処理装置10は、1つの三角形が与え
られたとき、図32に示すように、問い合わせによっ
て、集合Q内の類似の三角形を見つけることができ
る。実際には、画像処理装置10は、マッチする合同三
角形及びマッチする鏡映合同三角形を全て見つけ出す。
また、画像処理装置10は、選択された1つの点Q1か
ら出発して、|d2(S1,S2)−d2(Q1,Q2)|≦
2εで定義されるリング内に存在するQ2があるか否か
を問い合わせる。画像処理装置10は、この問い合わせ
により得られた各点に対して、交差する2つのリング
|d2(S1,S3)−d2(Q1,Q3)|≦2ε及び|d
2(S2,S3)−d2(Q2,Q3)|≦2εにより定義さ
れる2つの結合された要素内の全ての点Q3を選択す
る。[0331] When one triangle is given, the image processing apparatus 10 can find a similar triangle in the set Q by an inquiry as shown in FIG. In practice, the image processing apparatus 10 finds all matching congruent triangles and matching mirrored congruent triangles.
Further, the image processing apparatus 10, starting from Q 1 1 one of the selected points, | d 2 (S 1, S 2) -d 2 (Q 1, Q 2) | ≦
Query whether there is any Q 2 present in the ring defined by 2ε. The image processing apparatus 10 generates two intersecting rings for each point obtained by this inquiry.
| D 2 (S 1 , S 3 ) −d 2 (Q 1 , Q 3 ) | ≦ 2ε and | d
2 (S 2 , S 3 ) −d 2 (Q 2 , Q 3 ) | ≦ 2ε Select all points Q 3 in the two connected elements.
【0332】画像処理装置10は、2つの代数的リング
の交差点から掃引を行うことによって、この処理をO
(1)時間内に実行することができる。したがって、こ
のアルゴリズムの実行時間は変化しない。p個の点の部
分集合を選択したとき、第i番目の点を選択するために
は、次式(64)により表されるx個のリングの代数的
交差を計算する。ただし、i≧3の場合には、1つのド
メインに崩壊する。The image processing apparatus 10 performs this processing by sweeping from the intersection of two algebraic rings.
(1) It can be executed in time. Therefore, the execution time of this algorithm does not change. When a subset of p points is selected, to select the i-th point, the algebraic intersection of x rings represented by the following equation (64) is calculated. However, when i ≧ 3, it collapses into one domain.
【0333】[0333]
【数64】 [Equation 64]
【0334】上述した処理は、すでに合同アルゴリズム
の説明の際に述べたように、任意の次元に自然に拡張す
ることができる。The processing described above can be naturally extended to an arbitrary dimension, as already described in the description of the joint algorithm.
【0335】最大がεであるσS=(S1,・・・,
Sd)に類似の全てのシンプレックスを探索することを
考える。ここで、各点Qi∈Qに対して、類似のシン
プレックスをアンカーすることを考える。画像処理装置
10は、点Q1にアンカーされたシンプレックスに対し
て、まず最初に、Ring(Q1,d2(S1,S2)−2
ε,d2(S1,S2)+2ε)の内部に存在する全ての
Q2を探し出す。このようなQ2は、最大でO(Δd-1)
個存在する。次に、画像処理装置10は、リングとリン
グとの共通部分Ring(Q1,d2(S1,S3)−2
ε,d2(S1,S3)+2ε)∩Ring(Q1,d
2(S2,S3)−2ε,d2(S2,S3)+2ε)に存在
するQ3を探し出す。このようなQ3は、バケッティング
を行った場合、最大でO(Δd-2)個存在する。画像処
理装置10は、このような処理を繰り返し行うことによ
って、次式(65)により表される共通部分の内部に存
在するQiを探し出す。Σ S = (S 1 ,..., With the maximum being ε)
Consider searching for all simplexes similar to S d ). Here, consider anchoring a similar simplex for each point Q i ∈Q. First , the image processing apparatus 10 first performs Ring (Q 1 , d 2 (S 1 , S 2 ) -2) on the simplex anchored at the point Q 1.
Find out all Q 2 present inside ε, d 2 (S 1 , S 2 ) + 2ε). Such Q 2 is at most O (Δ d-1 )
Exists. Next, the image processing apparatus 10 sets the common part Ring (Q 1 , d 2 (S 1 , S 3 ) -2) between the rings.
ε, d 2 (S 1 , S 3 ) + 2ε) ∩Ring (Q 1 , d
2 (S 2 , S 3 ) −2ε, d 3 (S 2 , S 3 ) + 2ε) is searched for Q 3 . When bucketing is performed, there are O (Δd −2 ) Q 3 at maximum. The image processing apparatus 10 searches for Q i existing inside the common part represented by the following equation (65) by repeatedly performing such processing.
【0336】[0336]
【数65】 [Equation 65]
【0337】このようなQiは、最大でO(Δd-i)個存
在する。したがって、アンカー点Q1には、最大で次式
(66)個が存在する。すなわち、集合Qにおいて、
σSに類似のシンプレックスが最大でO(n
Δd(d-1)/2)個存在する。The maximum number of such Q i is O (Δ di ). Therefore, the following equation (66) exists at the maximum at the anchor point Q 1 . That is, in the set Q,
A simplex similar to σ S is O (n
Δ d (d-1) / 2 ).
【0338】[0338]
【数66】 [Equation 66]
【0339】つぎに、最大共通点集合(S,Q)に
ついて説明する。すなわち、ここでは、S’⊆S,
Q’⊆Q,S’≡Q’となる|S’|の最大
のものを求める。これは、「最大共通点集合問題」と称
される。与えられたk個の集合の共通点集合のうちの最
大のものを求める問題は、“T. Akutsu and M. M. Hall
dorsson, On the approximation of largest common su
btrees and largest common point sets, In Proc. 5th
Annu. Internat. Sympos. Algorithms Comput., volum
e 834 of Lecture Notes Comput. Sci., pages 405-41
3, Beijing, China, 1994, Springer-Verlag”に記載さ
れているように、NP完全であることがわかっている。Next, the maximum common point set (S, Q) will be described. That is, here, S′⊆S,
Find the maximum of | S ′ | that satisfies Q′⊆Q and S′≡Q ′. This is called the "maximum common set problem". The problem of finding the largest common set of k given sets is described in "T. Akutsu and MM Hall
dorsson, On the approximation of largest common su
btrees and largest common point sets, In Proc. 5th
Annu. Internat. Sympos. Algorithms Comput., Volum
e 834 of Lecture Notes Comput.Sci., pages 405-41
3, Beijing, China, 1994, Springer-Verlag "has been found to be NP-complete.
【0340】ここで、次のような最大共通点集合問題を
考える。「2つのd次元点集合S,Qが与えられた
とき、S’≡Q’⊆Qとなる最大の部分集合
S’Sを見出す。」Here, consider the following maximum common point set problem. "When given two d-dimensional point sets S and Q, find the largest subset S'S that satisfies S'≡Q'⊆Q."
【0341】全ての次式(67)により表されるx個の
変換をテストし、最良のものを選択する、或いは、投票
する単純自明なアルゴリズムは、O(N5 log N)
時間を要する。ただし、N=max{n,m}である。A simple trivial algorithm to test all x transforms represented by the following equation (67) and to choose or vote the best is O (N 5 log N)
Takes time. Here, N = max {n, m}.
【0342】[0342]
【数67】 [Equation 67]
【0343】さて、次の決定問題について考える。すな
わち、k−共通点集合問題として、「2つのd次元点集
合S,Qが与えられたとき、S’⊂S,Q’
⊂Qであり、且つ、|S’|=|Q’|=kであ
りS’≡Q’となるものが存在するであろうか?」Now, consider the following decision problem. That is, as a k-common point set problem, when two d-dimensional point sets S and Q are given, S′⊂S, Q ′
Is there something that is ⊂Q and | S '| = | Q' | = k and S'≡Q '? "
【0344】図33に、最大共通点集合の例として、最
大共通点集合及び次に大きい共通点集合を示す。最大共
通点集合は、O(log n)TD(n,m)時間内に求
めることができる。ただし、TD(n,m)は、決定問
題を解くのに必要な時間である。FIG. 33 shows a maximum common point set and the next largest common point set as examples of the maximum common point set. The maximum common point set can be determined within O (log n) T D (n, m) time. Where T D (n, m) is the time required to solve the decision problem.
【0345】決定問題を解くためのアルゴリズムを以下
に提案する。画像処理装置10は、上述してきたよう
に、ステージ毎に処理を行うが、各ステージは、図34
に示すようなものである。An algorithm for solving the decision problem is proposed below. As described above, the image processing apparatus 10 performs processing for each stage.
It is as shown in.
【0346】まず、画像処理装置10は、同図に示すよ
うに、ステップS171において、集合SのO
(n2)個の距離DS及び集合QのO(m2)個の距離
DQを全て計算する。ここで、エッジ値eは、e∈DS∩
DQであるとき、可能性ありという。画像処理装置10
は、全ての可能性のあるエッジをマークし、可能性のな
いものをDS,DQから除去する。First, as shown in the figure, in step S171, the image processing apparatus 10
(N 2) O (m 2 ) of the pieces of distance D S and the set Q to calculate all the pieces of distance D Q. Here, the edge value e is e {D S }
When it is DQ, it is possible. Image processing device 10
Marks all possible edges and removes possible ones from D S , D Q.
【0347】続いて、画像処理装置10は、ステップS
172において、集合S,Qの共通距離の中で、次
式(68)により表される最小反復距離数を有するもの
を選択する。Subsequently, the image processing apparatus 10 determines in step S
At 172, among the common distances of the sets S and Q, the one having the minimum number of repetition distances represented by the following equation (68) is selected.
【0348】[0348]
【数68】 [Equation 68]
【0349】続いて、画像処理装置10は、ステップS
173において、2DS(lmin)*DQ(lmin)個の全
ての位置についてテストを行う。1つの位置についてマ
ッチングのサイズを計算するのにTc(n,m)=O
(n log m)時間を要する。ここで、mは、このス
テージにおけるマッチングのサイズを表す。Subsequently, the image processing apparatus 10 determines in step S
In 173, to test for 2D S (l min) * D Q (l min) pieces all positions. T c (n, m) = O to calculate the size of the match for one position
It takes (n log m) time. Here, m represents the size of the matching in this stage.
【0350】画像処理装置10は、次のステージにおい
て、マッチングのサイズを少なくともmであるものに限
定して、他の距離値を選択する。画像処理装置10は、
アルゴリズムの速度を向上させるために、距離d=d2
(pi,pj)についてのテストを行うにあたって、アウ
トライアの一部を除いて点集合を簡単なものとする。こ
こで、大きな“マッチング”が存在しない場合には、少
なくとも点の1つがアウトライアであることが知られて
いる。同様に、全ての類似の距離、すなわち、DS−DQ
は、1つのアウトライア点を必ず有しており、スケーリ
ングを許容しなければ、既知である。このアルゴリズム
の時間複雑性は、O(N log N ×N
16/9N2-4/3)、すなわち、O(N31/9 log n)=
O(n3.445 log n)時間である。In the next stage, the image processing apparatus 10 limits the size of the matching to at least m and selects another distance value. The image processing device 10
To improve the speed of the algorithm, the distance d = d 2
In performing the test on (p i , p j ), the point set is simplified except for a part of the outlier. Here, if there is no large "matching", it is known that at least one of the points is an outlier. Similarly, the distance of all similar, i.e., D S -D Q
Are always known if they always have one outlier point and do not allow scaling. The time complexity of this algorithm is O (N log N × N
16/9 N 2-4 / 3 ), that is, O (N 31/9 log n) =
O (n 3.445 log n) hours.
【0351】また、画像処理装置10においては、多数
決法を次のように用いる。すなわち、画像処理装置10
は、回転空間をO(Δ)の小さな回転量で離散化する。
次に、画像処理装置10は、ある固定回転において、よ
く知られているBallardの手法を適用する。画像処理装
置10においては、点の対S∈S,Q∈Qに対し
て、Q’がリングRing(Q,d2(S,S’)−2
ε,d2(S,S’)+2ε)に存在するような全ての
変換T[S,S’;Q,Q’],T[S,S’;Q’,
Q]を考察する。画像処理装置10は、このような変換
が見つかるたび毎に、票を加えていく。最後に、画像処
理装置10は、最大の票を得た変換を全て選択又は報告
する。例えば、投票数がpである変換は、サイズがp+
1である共通点集合を有する。In the image processing apparatus 10, the majority method is used as follows. That is, the image processing apparatus 10
Makes the rotation space discrete with a small rotation amount of O (Δ).
Next, the image processing apparatus 10 applies the well-known Ballard method in a certain fixed rotation. In the image processing apparatus 10, for the pair of points S∈S, Q∈Q, Q ′ is a ring Ring (Q, d 2 (S, S ′) − 2).
All transformations T [S, S '; Q, Q'], T [S, S ';Q', such as exist in ε, d 2 (S, S ') + 2ε)
Q]. The image processing apparatus 10 adds a vote every time such a conversion is found. Finally, the image processing device 10 selects or reports all the conversions that have obtained the largest votes. For example, a transformation with p votes is a size p +
It has a common point set that is 1.
【0352】つぎに、ズームを行った場合における最大
共通点集合について説明する。上述したように、ここで
も類似の三角形を選択する。さらに、いわゆるハフ(Ho
ugh)法と類似の多数決アルゴリズムをこれに適用す
る。Next, the maximum common point set when zooming is performed will be described. Again, a similar triangle is selected, as described above. In addition, the so-called Huff
ugh) Apply a majority algorithm similar to this to this.
【0353】これまでに述べたアルゴリズムは、全て部
分対称性の概念に依存する実行時間を有している。ここ
で、2つの変換が少なくとも2つの点とマッチし、これ
らの変換が等価なモジュロ回転行列TRである場合
に、これらの2つの変換は、部分対称性を有するとい
う。The algorithms described so far all have an execution time that depends on the concept of partial symmetry. Here, two transforms are said to have partial symmetry if they match at least two points and they are equivalent modulo rotation matrices TR.
【0354】したがって、画像処理装置10は、点とマ
ッチする変換T∈Tが見出されたとき、すなわち、|
M|=rとしてS∩T(Q)=Mであるとき、
次式(69)により定義されるQの部分点集合Q’
を有するMのr個の点とマッチする回転変換を計算す
ることができる。Therefore, the image processing apparatus 10 determines that a transformation T∈T that matches a point is found, ie, |
When S∩T (Q) = M where M | = r,
Subset Q ′ of Q defined by the following equation (69)
Can be computed that matches the r points of M with.
【0355】[0355]
【数69】 [Equation 69]
【0356】ここで、Mの対称群T(M)は、すで
に加えてある。画像処理装置10は、変換の計算を2回
行うことを避けるために、変換のリストをメモリ中に保
存する。Here, the symmetric group T (M) of M has already been added. The image processing apparatus 10 stores a list of conversions in a memory in order to avoid performing the calculation of the conversion twice.
【0357】つぎに、ランダム制約配置法について説明
する。kを変換T∈Tを定義するのに必要な点の対の
数であるとする。例えば、並進、回転、均一スケーリン
グすなわちズームに対しては、k=2である。ここで、
点のα%がマッチするものと仮定する。このとき、画像
処理装置10は、およそ1−αkの確率で条件を満たす
変換を得ることができる。さらに、画像処理装置10
は、k−部分集合について調べる場合に、変換がα%の
点をマッチさせるならば、まず最初にサイズがrの部分
集合について調べる。画像処理装置10は、この部分集
合が少なくともβ%とマッチする場合には、全ての集合
についてテストを行い、部分集合が少なくともβ%とマ
ッチしない場合には、この変換を棄却する。画像処理装
置10は、このような処理をO(1)回繰り返す。すな
わち、次式(70)により表されるt時間アルゴリズム
が得られる。ここで、次式(71)は、Qの類似性に
関連し、C(・,・)は、マッチングアルゴリズムの正
確性を測定する際の費用である。なお、画像処理装置1
0は、バースディパラドックス法を用いても同様に行う
ことができ、両方の集合の次式(72)により表される
x個の点を繰り返しサンプリングする。Next, the random constraint placement method will be described. Let k be the number of point pairs needed to define the transformation T∈T. For example, for translation, rotation, uniform scaling or zoom, k = 2. here,
Assume that α% of the points match. At this time, the image processing apparatus 10 can obtain a conversion satisfying the condition with a probability of about 1-α k . Further, the image processing device 10
First looks for a subset of size r if the transform matches a% points when looking for the k-subset. If the subset matches at least β%, the image processing apparatus 10 tests all the sets, and rejects the conversion if the subset does not match at least β%. The image processing apparatus 10 repeats such processing O (1) times. That is, a t-time algorithm represented by the following equation (70) is obtained. Here, the following equation (71) relates to the similarity of Q, and C (•, •) is the cost of measuring the accuracy of the matching algorithm. The image processing device 1
A value of 0 can be similarly obtained by using the birthday deparadox method. X points of both sets represented by the following equation (72) are repeatedly sampled.
【0358】[0358]
【数70】 [Equation 70]
【0359】[0359]
【数71】 [Equation 71]
【0360】[0360]
【数72】 [Equation 72]
【0361】ここで、ある応用において意味のある変換
T∈Tのみに関心があるものとする。例えば、|d
(T(Si),T(Sj))−d(Si,Sj)|≦ωとな
るような変換に関心をもっているものとする。ここで、
ωは、入力の信頼度に依存する量である。画像処理装置
10は、Qのk−部分集合(S1,・・・,Sk)の全
てをテストする代わりに、まず最初に、点Q1∈Qを
選択し、この点Q1を中心とするリングであり、その内
径がd(S1,S2)−ωであり幅が2ωであるような
リングの内部の点のみを、Q2の候補として選択する。
ただし、ωは、規定パラメータである。画像処理装置1
0は、このような処理を反復実施し、上述した制約を変
換Tに課す幾何学的範囲内において集合Qに対する問
い合わせを行う。ここで、次式(73)を上述した制約
を満足するQのk個からなる点の組の数であるとす
る。ただし、tは、点集合Qの自己類似性に依存する
量である。Here, it is assumed that only the transformation T∈T that is meaningful in a certain application is of interest. For example, | d
Assume that one is interested in a transformation such that (T (S i ), T (S j )) − d (S i , S j ) | ≦ ω. here,
ω is an amount dependent on the reliability of the input. Instead of testing all of the k -subsets (S 1 ,..., S k ) of Q, the image processing apparatus 10 first selects a point Q 1 ∈Q and centers the point Q 1 Only points inside the ring whose inner diameter is d (S 1 , S 2 ) −ω and whose width is 2ω are selected as Q 2 candidates.
Here, ω is a specified parameter. Image processing device 1
0 repeatedly performs such processing and queries the set Q within the geometric range that imposes the above-described constraint on the transformation T. Here, it is assumed that the following equation (73) is the number of sets of k k points satisfying the above-described constraint. Here, t is an amount depending on the self-similarity of the point set Q.
【0362】[0362]
【数73】 [Equation 73]
【0363】例えばk=2とする。ここで、画像処理装
置10は、集合Sからランダムにとった点の対
{S1,S2}が与えられたとき、|d(Q1,Q2)−d
(S1,S2)|≦ωとなるようなQの点の対{Q1,
Q2}を探索する。理想的には、距離がd(S1,S2)
−ωとd(S1,S2)+ωとの間にあるようなQの点
の対を全て列挙するのが望ましいが、それ自体が困難な
問題である。したがって、画像処理装置10は、以下の
ように処理を進める。すなわち、画像処理装置10は、
Qの点を順次選択し、現在の点Qiに対して、半径が
d(S1,S2)−ωで幅が2ωのリングを描く。そし
て、画像処理装置10は、このリングの内部のQの点
の全てを報告する。さて、tを全てのステージにおいて
報告される点の数とする。このとき、ω=0である場合
には、tも完全幾何学的グラフにおける距離反復数によ
り制約される。または、tは、m個の点を有するm個の
円の最大出現率により制約される。この出現率は、O
(m4/3)=o(m2)であることがわかっており、Erdo
sによれば、この値は、O(n1+ε)であると推測され
ている。画像処理装置10は、“P. Gupta, R. Janarda
n, and M. Smid, On intersection searching problems
involving curved objects, In Proc. 4th Scand. Wor
kshop Algorithm Theory, volume 824 of Lecture Note
s Comput. Sci., pages 183-194, Springer-Verlag, 19
94”に記載されている方法に基づいてデータ構造を作成
し、テストすべきt個の点の対を報告する。この手法
は、任意の次元に一般化することができるが、d≧4で
ある場合には、単位距離の数は、2次関数で与えられ
る。この問い合わせの方法を、与えられた変換Tがマッ
チするのかしないのかをチェックするためにも用いるこ
とが可能である。この場合、まず最初にO(1)個の点
についてチェックし、次に集合全体に拡張する。配置法
における幾何学的フィルタリングは、一般的な手法とし
て用いることができるが、具体的な応用に合わせてチュ
ーニングする必要がある。For example, k = 2. Here, when a pair of points {S 1 , S 2 } taken at random from the set S is given, the image processing apparatus 10 calculates | d (Q 1 , Q 2 ) −d
A pair of points of Q such that (S 1 , S 2 ) | ≦ ω {Q 1 ,
Search for Q 2 }. Ideally, the distance is d (S 1 , S 2 )
It is desirable to list all pairs of Q points that lie between −ω and d (S 1 , S 2 ) + ω, but this is a difficult problem in itself. Therefore, the image processing device 10 proceeds as follows. That is, the image processing device 10
Points Q are sequentially selected, and a ring having a radius of d (S 1 , S 2 ) -ω and a width of 2ω is drawn with respect to the current point Q i . Then, the image processing apparatus 10 reports all the Q points inside the ring. Now, let t be the number of points reported in all stages. At this time, if ω = 0, t is also restricted by the number of distance repetitions in the complete geometric graph. Alternatively, t is constrained by the maximum appearance rate of m circles having m points. The appearance rate is O
(M 4/3 ) = o (m 2 ), and Erdo
According to s, this value is estimated to be O (n 1 + ε). The image processing apparatus 10 is described in “P. Gupta, R. Janarda
n, and M. Smid, On intersection searching problems
involving curved objects, In Proc.4th Scand. Wor
kshop Algorithm Theory, volume 824 of Lecture Note
s Comput.Sci., pages 183-194, Springer-Verlag, 19
94 ", create a data structure and report the t point pairs to be tested. This approach can be generalized to any dimension, but with d ≧ 4 In some cases, the number of unit distances is given by a quadratic function, and this query method can also be used to check whether a given transform T matches or not. First, check for O (1) points and then extend to the entire set.The geometric filtering in the placement method can be used as a general method, but according to the specific application, Need to tune.
【0364】画像処理装置10は、以上のようにして最
大共通点集合を検出することによって、画像を合成する
ことができ、例えばパノラマ状の合成画像や遠近感に優
れた斜視状の合成画像等を生成することができる。The image processing apparatus 10 can synthesize images by detecting the maximum common point set as described above. For example, a panoramic synthesized image or a perspective synthesized image excellent in perspective can be obtained. Can be generated.
【0365】つぎに、条件付き幾何学的ハッシングにつ
いて説明する。幾何学的ハッシングは、最初に“Y. Lam
dan and H. J. Wolfson, Geometric hashing:a general
andefficient model-based recognition scheme, In 2
nd Inter. Conf. on Comput. Vision, pages 238-249,
1988”により導入され、“Y. Lamdan, J. T. Schwartz,
and H. J. Wolfson, Object recognition by affine i
nvariant mapping, In Proc. IEEE Internat. Conf. Co
mput. Vision Pattern. Recogn., pages 335-344, 198
8”や“Y. Lamdan and H. J. Wolfson, On the error a
nalysis of geometric hashing, In Proc. IEEE Intern
at. Conf. Comput. Vision Pattern. Recogn., pages 2
2-27, 1991”により発展改良された。幾何学的ハッシン
グは、固定された点集合Q、すなわちモデルと、様々
なシーン、すなわち点集合Sとの間の多重問い合わせ
をするのに用いることができる。ここでは、形式化を行
い、幾何学的制約を幾何学的ハッシングに適用する方法
を示す。幾何学的ハッシングは、おおよそ、前処理ステ
ージと問い合わせステージとの2つのステージに分けら
れる。前処理ステージでは、モデルをそれ自身にマップ
し、問い合わせステージでは、マッチするものがあるか
どうかを短時間内に答える。ここで、QからSへの
変換は、2つのk個の点からなる組により定義される。Next, conditional geometric hashing will be described. Geometric hashing was first performed by “Y. Lam
dan and HJ Wolfson, Geometric hashing: a general
andefficient model-based recognition scheme, In 2
nd Inter. Conf. on Comput. Vision, pages 238-249,
1988 ”, introduced by“ Y. Lamdan, JT Schwartz,
and HJ Wolfson, Object recognition by affine i
nvariant mapping, In Proc. IEEE Internat. Conf. Co
mput.Vision Pattern.Recogn., pages 335-344, 198
8 ”or“ Y. Lamdan and HJ Wolfson, On the error a
nalysis of geometric hashing, In Proc.IEEE Intern
at. Conf. Comput. Vision Pattern. Recogn., pages 2
2-27, 1991. Geometric hashing can be used to make multiple queries between a fixed set of points Q, the model, and various scenes, the point set S. Here we show how to formalize and apply geometric constraints to geometric hashing, which is roughly divided into two stages: a preprocessing stage and a query stage. The processing stage maps the model to itself, and the query stage answers within a short time whether there is a match, where the transformation from Q to S is a set of two k points. Defined by
【0366】画像処理装置10は、モデルQの前処理
として、Qのk個の点からなる組のうち任意の組Q
Tを選択する。次に、画像処理装置10は、Qのk個
の点からなる組に対して、可能な全ての順列である可能
なk!個の変換の全てを検討する。画像処理装置10
は、QT及び他のk個の点の組から得られる変換であ
る与えられた変換Tiに対して、集合Ti(Q)を作成
し、ラベル‘Ti’を各点P∈Ti(Q)毎にハッシュ
テーブルに保存する。すなわち、画像処理装置10は、
ラベル‘Ti’を直交座標を用いて、H(P)に保存
する。[0366] As a pre-process of the model Q, the image processing apparatus 10 selects an arbitrary set Q out of a set consisting of k points of Q.
Select T. Next, the image processing apparatus 10 transmits all possible permutations of the possible k! Consider all of the transforms. Image processing device 10
Creates a set T i (Q) for a given transformation T i , which is a transformation obtained from Q T and another set of k points, and labels the label 'T i ' with each point P∈T i (Q) is stored in a hash table. That is, the image processing device 10
The label 'T i ' is stored in H (P) using the rectangular coordinates.
【0367】そして、画像処理装置10は、シーンS
の問い合わせとして、Sのk−点組の全てを調べ、
QTに関する変換であるモデルからシーンへの変換
Ti’の全てを探索する。画像処理装置10は、各変換
Ti’に対して、集合Ti’(S)を作成してハッシュ
テーブルに保存する。さらに正確には、画像処理装置1
0は、全ての点Pj∈Ti’(S)を順次調べて、H
(Pj)に保存されている全ての変換に対して票を1つ
ずつ加える。画像処理装置10は、全ての変換Ti’を
調べ終わると、得票数が最大のものを選択又は列挙す
る。最後に、画像処理装置10は、後述するように、モ
デルからシーンへの直接変換を行う。[0367] Then, the image processing apparatus 10 sets the scene S
As a query of, check all k-point sets of S,
Search for all model-to-scene transformations T i ′ that are transformations on Q T. The image processing apparatus 10 creates a set T i ′ (S) for each transformation T i ′ and stores it in the hash table. More precisely, the image processing device 1
0 means that all points P j ∈T i ′ (S) are sequentially examined and H
One vote is added to all conversions stored in (P j ). After examining all the transformations T i ′, the image processing apparatus 10 selects or enumerates the one with the largest number of votes. Finally, the image processing device 10 performs a direct conversion from the model to the scene, as described later.
【0368】幾何学的ハッシングの作用は、基本的に
は、変換空間が例えば行列の積であると見なせるよう
に、変換空間がその任意の変換を2つの変換T=T1×
T2に分解することができるような群であることに基づ
いている。そこで、画像処理装置10は、点の組をモデ
ルTQからシーンTSの点の組にマップするために、まず
最初に、TQをQにおける基準の組であるQTにマッ
プし、次にQTをTSにマップする。したがって、次式
(74)となる。The operation of the geometric hashing is basically that the transform space converts its arbitrary transform into two transforms T = T 1 × so that the transform space can be regarded as, for example, the product of matrices.
It is based on a group that can be decomposed into T 2. Therefore, the image processing apparatus 10, in order to map the set of points from the model T Q to a set of points in the scene T S, initially, to map the T Q to Q T is a set of criteria in Q, the following Map Q T to T S. Therefore, the following equation (74) is obtained.
【0369】[0369]
【数74】 [Equation 74]
【0370】なお、幾何学的フィルタリング技術を上述
した幾何学的ハッシングに適用することが可能である。
例えば、一定ズームで処理を行いたい場合には、画像処
理装置10は、ズーム率がbである次式(75)により
表される現在の変換に対応するズーム率が1/bである
変換をハッシュテーブルHで調べるだけでよい。この
とき、εの項もε/bに置換される。完全なハッシュテ
ーブルを作成することは、時間的にもメモリ容量の点か
らも困難であることから、画像処理装置10は、ランダ
ム法、すなわち、モデルQの部分集合Q’を用い
る。したがって、画像処理装置10は、SがQ’に
対してよくマッチするかをハッシュテーブルで調べ、
SがQ’に対してよくマッチする場合には、全ての
対を調べる。また、SがQ’に対してよくマッチし
ない場合には、画像処理装置10は、正しい変換を失う
可能性があるが、その確率は、“Sandy Irani and Prab
hakarRaghavan, Combinatorial and experimental resu
lts for randomized point matching algorithms, In P
roc. 12th Annual ACM Symposium on Computational Ge
ometry, pages 68-77, 1996”に記載されているよう
に、実用上十分に小さい。Note that the geometric filtering technique can be applied to the above-described geometric hashing.
For example, when it is desired to perform processing with a constant zoom, the image processing apparatus 10 performs a conversion whose zoom ratio is 1 / b corresponding to the current conversion represented by the following equation (75) where the zoom ratio is b. It is only necessary to check the hash table H. At this time, the term of ε is also replaced by ε / b. Since it is difficult to create a complete hash table in terms of time and memory capacity, the image processing apparatus 10 uses a random method, that is, a subset Q ′ of the model Q. Therefore, the image processing apparatus 10 checks whether or not S matches Q ′ well by using a hash table.
If S matches well against Q ', then check all pairs. If S does not match well with Q ′, the image processing apparatus 10 may lose the correct conversion, but the probability is “Sandy Irani and Prab”.
hakarRaghavan, Combinatorial and experimental resu
lts for randomized point matching algorithms, In P
roc. 12th Annual ACM Symposium on Computational Ge
ometry, pages 68-77, 1996 ".
【0371】[0371]
【数75】 [Equation 75]
【0372】以上説明したように、画像処理装置10
は、サンプルデータのパターンマッチングを行うことに
よって、任意の画像の情景分析を効率的に行うことがで
きる。このような画像処理装置10は、情景分析を行う
ばかりではなく、オブジェクトの同定、画像合成、デー
タ圧縮等に応用することができ、例えばモザイク化への
応用も図ることができる。As described above, the image processing apparatus 10
By performing pattern matching of sample data, scene analysis of an arbitrary image can be efficiently performed. Such an image processing apparatus 10 can be applied not only to scene analysis but also to object identification, image synthesis, data compression, and the like, and can be applied to, for example, mosaic formation.
【0373】なお、本発明は、上述した実施の形態に限
定されるものではなく、例えば、複数の画像データの情
景分析を行う場合にも、上述した処理を行うことによっ
て、効率的に情景分析を行うことができることは勿論で
ある。The present invention is not limited to the above-described embodiment. For example, even when scene analysis of a plurality of image data is performed, by performing the above-described processing, the scene analysis can be efficiently performed. Can be performed.
【0374】このように、本発明は、その趣旨を逸脱し
ない範囲で適宜変更が可能であることはいうまでもな
い。As described above, it goes without saying that the present invention can be appropriately changed without departing from the spirit of the present invention.
【0375】[0375]
【発明の効果】以上詳細に説明したように、本発明にか
かる画像処理方法は、2以上の画像のそれぞれについて
の特徴点を抽出する特徴抽出工程と、2以上の画像のう
ち、一の画像と他の画像との特徴点を比較してマッチン
グを行うマッチング工程と、このマッチング工程の結果
に基づいて、一の画像の情景分析を行う情景分析工程と
を備える。As described in detail above, the image processing method according to the present invention provides a feature extraction step of extracting feature points for each of two or more images, and one of the two or more images. A matching step of comparing feature points of the image and another image to perform matching, and a scene analysis step of performing a scene analysis of one image based on a result of the matching step.
【0376】したがって、本発明にかかる画像処理方法
は、2以上の画像のそれぞれについての特徴点を抽出
し、2以上の画像のうち、一の画像と他の画像との特徴
点を比較してマッチングを行い、このマッチングの結果
に基づいて、一の画像の情景分析を行うことによって、
例えば汎用のコンピュータを用いて効率的に情景分析を
行うことができる。Therefore, the image processing method according to the present invention extracts feature points for each of two or more images, and compares feature points between one image and another image among the two or more images. By performing matching and performing scene analysis of one image based on the result of this matching,
For example, scene analysis can be efficiently performed using a general-purpose computer.
【0377】また、本発明にかかる画像処理装置は、2
以上の画像のそれぞれについての特徴点を抽出する特徴
抽出手段と、2以上の画像のうち、一の画像と他の画像
との特徴点を比較してマッチングを行うマッチング手段
と、このマッチング手段によるマッチングの結果に基づ
いて、一の画像の情景分析を行う情景分析手段とを備え
る。The image processing apparatus according to the present invention
A feature extraction unit for extracting feature points for each of the above images, a matching unit for comparing and matching feature points of one image and another image among two or more images, and a matching unit A scene analysis unit that performs a scene analysis of one image based on a result of the matching.
【0378】したがって、本発明にかかる画像処理装置
は、特徴抽出手段によって、2以上の画像のそれぞれに
ついての特徴点を抽出し、マッチング手段によって、2
以上の画像のうち、一の画像と他の画像との特徴点を比
較してマッチングを行い、情景分析手段によって、マッ
チングの結果に基づいて、一の画像の情景分析を行うこ
とによって、例えば汎用のコンピュータを用いて効率的
に情景分析を行うことができる。Therefore, the image processing apparatus according to the present invention extracts the feature points of each of the two or more images by the feature extraction means, and extracts the feature points by the matching means.
Of the above images, matching is performed by comparing feature points between one image and another image, and a scene analysis unit performs a scene analysis of one image based on a result of the matching, for example, a general-purpose image. Scene analysis can be efficiently performed by using the computer of (1).
【図1】本発明の実施の形態として示す画像処理装置の
構成を説明するブロック図である。FIG. 1 is a block diagram illustrating a configuration of an image processing apparatus shown as an embodiment of the present invention.
【図2】画像データの例を示す図である。FIG. 2 is a diagram illustrating an example of image data.
【図3】画像データの他の例を示す図である。FIG. 3 is a diagram illustrating another example of image data.
【図4】重複部分を説明する図であって、(A)は、3
次元空間上の点を撮像して2次元画像上に投影されて得
られる2枚の画像データを示す図であり、(B)は、2
枚の画像データを重複させている様子を示す図である。FIGS. 4A and 4B are diagrams illustrating an overlapping portion, wherein FIG.
FIG. 3B is a diagram illustrating two pieces of image data obtained by imaging a point in a three-dimensional space and projecting the two-dimensional image on a two-dimensional image;
FIG. 6 is a diagram illustrating a state in which image data of sheets are overlapped.
【図5】重複率に応じてマッチング処理を行う手法を変
化させることを説明するための図である。FIG. 5 is a diagram for explaining changing a method of performing a matching process according to an overlap rate.
【図6】特徴点の特性を用いたことを考慮したマッチン
グ処理を行う際に適用されるモンテカルロ法のアルゴリ
ズムの例を示す図である。FIG. 6 is a diagram illustrating an example of an algorithm of the Monte Carlo method applied when performing a matching process in consideration of using characteristics of feature points.
【図7】処理実行部で行うマッチング処理について説明
するための図である。FIG. 7 is a diagram illustrating a matching process performed by a process execution unit.
【図8】幾何学的フィルタリングアルゴリズムの例を示
す図である。FIG. 8 is a diagram illustrating an example of a geometric filtering algorithm.
【図9】図8に示した幾何学的フィルタリングアルゴリ
ズムとランダムに組み合わせることによって、マッチン
グ処理を行うアルゴリズムの例を示す図である。9 is a diagram illustrating an example of an algorithm for performing a matching process by randomly combining with the geometric filtering algorithm illustrated in FIG. 8;
【図10】同画像処理装置において、サンプルデータの
パターンマッチングを行い、画像の情景分析を行う際の
一連の処理を説明するフローチャートである。FIG. 10 is a flowchart illustrating a series of processing when pattern matching of sample data is performed and scene analysis of an image is performed in the image processing apparatus.
【図11】同画像処理装置における幾何学的パターンマ
ッチングの手法を説明する図である。FIG. 11 is a diagram illustrating a method of geometric pattern matching in the image processing apparatus.
【図12】等長変換の例を示す図であって、あるパター
ンに対する転移、回転及び鏡映を示す図である。FIG. 12 is a diagram showing an example of isometric conversion, showing transition, rotation, and mirroring for a certain pattern;
【図13】対合的回転対称の例を示す図であって、
(A)は、あるパターンを回転させた合同の例と、アウ
トライアが存在する非合同の例とを示す図であり、
(B)は、あるパターンに対する転移、転移及び回転、
鏡映である合同の例を示す図である。FIG. 13 is a diagram showing an example of a paired rotational symmetry,
(A) is a diagram showing a congruent example in which a certain pattern is rotated and a disjoint example in which an outlier exists,
(B) shows transition, transition and rotation for a certain pattern,
It is a figure which shows the example of the joint which is a mirror image.
【図14】点集合及び雑音を含む点集合を示す図であっ
て、(A)は、点集合の最小点間距離が球の半径よりも
小さい場合を示す図であって、(B)は、点集合の最小
点間距離が球の半径よりも大きい場合を示す図である。14A and 14B are diagrams illustrating a point set and a point set including noise, wherein FIG. 14A is a diagram illustrating a case where the minimum distance between points of the point set is smaller than the radius of the sphere, and FIG. FIG. 4 is a diagram showing a case where the minimum distance between points of a point set is larger than the radius of a sphere.
【図15】同画像処理装置において、2つの点集合が合
同であるか否かを検出する際の一連の処理を説明するフ
ローチャートであって、前半部分の処理を説明する図で
ある。FIG. 15 is a flowchart illustrating a series of processing when detecting whether or not two point sets are congruent in the image processing apparatus, and illustrates a first half of the processing;
【図16】同画像処理装置において、2つの点集合が合
同であるか否かを検出する際の一連の処理を説明するフ
ローチャートであって、後半部分の処理を説明する図で
ある。FIG. 16 is a flowchart illustrating a series of processing when detecting whether or not two point sets are congruent in the image processing apparatus, and is a diagram illustrating processing in a latter half part.
【図17】合同である2つの点集合の例を示す図であっ
て、(A)は、同一の半径を有する円上に単一の点のみ
を有する2つの点集合を示す図であって、(B)は、同
一の半径を有する円上に複数の点を有する2つの点集合
を示す図である。FIG. 17 is a diagram illustrating an example of two congruent point sets, where (A) is a diagram illustrating two point sets having only a single point on a circle having the same radius; (B) is a diagram showing two point sets having a plurality of points on a circle having the same radius.
【図18】同画像処理装置において、2次元の点集合の
対称性を検出する際の一連の処理を説明するフローチャ
ートである。FIG. 18 is a flowchart illustrating a series of processing when detecting the symmetry of a two-dimensional point set in the image processing apparatus.
【図19】同画像処理装置において、d次元の点集合の
対称性を検出する際の一連の処理を説明するフローチャ
ートである。FIG. 19 is a flowchart illustrating a series of processing when detecting the symmetry of a d-dimensional point set in the image processing apparatus.
【図20】類似性を有する点集合の例を示す図である。FIG. 20 is a diagram illustrating an example of a point set having similarity.
【図21】部分集合合同問題を説明するための図であっ
て、(A)は、ある点集合を示す図であり、(B)は、
(A)に示す点集合の複製が含まれるあるシーンを示す
点集合を示す図である。21A and 21B are diagrams for explaining a subset congruence problem, wherein FIG. 21A is a diagram showing a certain point set, and FIG.
FIG. 3 is a diagram illustrating a point set indicating a certain scene including a copy of the point set illustrated in FIG.
【図22】同画像処理装置において、2つの集合が平面
の場合でありズームを許容しない場合に部分合同を検出
する際の一連の処理を説明するフローチャートである。FIG. 22 is a flowchart illustrating a series of processing when detecting partial congruence when two sets are flat and zoom is not permitted in the image processing apparatus.
【図23】同画像処理装置において、2つの集合がd次
元の場合に部分合同を検出する際の一連の処理を説明す
るフローチャートである。FIG. 23 is a flowchart illustrating a series of processing when detecting partial congruence when two sets are d-dimensional in the image processing apparatus.
【図24】ブーリアンバケットの例を示す図である。FIG. 24 is a diagram illustrating an example of a boolean bucket.
【図25】環形問い合わせの例を示す図であって、
(A)は、環形問い合わせのバケットを示す図であり、
(B)は、扇形問い合わせのバケットを示す図である。FIG. 25 is a diagram showing an example of an annular inquiry;
(A) is a figure which shows the bucket of an annular inquiry,
(B) is a figure which shows the bucket of a sector-shaped inquiry.
【図26】同画像処理装置において、転移及び/又は回
転を含むパターンマッチングを行う際の一連の処理を説
明するフローチャートである。FIG. 26 is a flowchart illustrating a series of processing when performing pattern matching including transfer and / or rotation in the image processing apparatus.
【図27】同画像処理装置において、大きな点集合濃度
に対して、転移及び/又は回転を含むパターンマッチン
グを行う際の一連の処理を説明するフローチャートであ
る。FIG. 27 is a flowchart illustrating a series of processing when performing pattern matching including transfer and / or rotation on a large point set density in the image processing apparatus.
【図28】同画像処理装置において、パラメータγを推
定する際の一連の処理を説明するフローチャートであ
る。FIG. 28 is a flowchart illustrating a series of processing when estimating a parameter γ in the image processing apparatus.
【図29】スケーリングを行った場合における部分合同
の例を示す図であって、(A)は、ある集合を示す図で
あり、(B)は、(A)に示す集合の部分集合と大きさ
が異なる部分合同が含まれている集合を示す図である。29A and 29B are diagrams illustrating an example of partial congruence when scaling is performed, where FIG. 29A is a diagram illustrating a certain set, and FIG. 29B is a diagram illustrating a subset and a size of the set illustrated in FIG. FIG. 9 is a diagram illustrating a set including partial congruences having different sets.
【図30】同画像処理装置において、部分合同を検出す
る際の一連の処理を説明するフローチャートである。FIG. 30 is a flowchart illustrating a series of processing when detecting partial congruence in the image processing apparatus.
【図31】同画像処理装置において、部分合同を検出す
る際の一連の処理を説明するフローチャートであって、
反復法を用いて改良された一連の処理を説明する図であ
る。FIG. 31 is a flowchart illustrating a series of processes performed when detecting partial congruence in the image processing apparatus;
It is a figure explaining a series of processes improved using the iterative method.
【図32】ある集合の三角形による他の集合に対する問
い合わせの例を説明するための図である。FIG. 32 is a diagram for describing an example of an inquiry to another set by a triangle of a certain set.
【図33】最大共通点集合の例を示す図であって、最大
共通点集合及び次に大きい共通点集合を示す図である。FIG. 33 is a diagram illustrating an example of a maximum common point set, illustrating a maximum common point set and a next largest common point set.
【図34】同画像処理装置において、決定問題を解く際
の各ステージにおける一連の処理を説明するフローチャ
ートである。FIG. 34 is a flowchart illustrating a series of processes in each stage when solving a decision problem in the image processing apparatus.
10 画像処理装置、 11,12 特徴抽出部、 1
3 処理実行部、 14 評価部、 20 データ入力
部、 30 表示部10 image processing device, 11, 12 feature extraction unit, 1
3 processing execution unit, 14 evaluation unit, 20 data input unit, 30 display unit
Claims (12)
点を抽出する特徴抽出工程と、 上記2以上の画像のうち、一の画像と他の画像との特徴
点を比較してマッチングを行うマッチング工程と、 上記マッチング工程の結果に基づいて、上記一の画像の
情景分析を行う情景分析工程とを備えることを特徴とす
る画像処理方法。A feature extraction step of extracting feature points of each of two or more images; and a matching step of comparing feature points of one image and another image among the two or more images to perform matching. An image processing method, comprising: a step of performing a scene analysis of the one image based on a result of the matching step.
マッチングを行うことを特徴とする請求項1記載の画像
処理方法。2. The image processing method according to claim 1, wherein Hausdorff matching is performed in the matching step.
マッチングを行うことを特徴とする請求項1記載の画像
処理方法。3. The image processing method according to claim 1, wherein in the matching step, bottleneck matching is performed.
に含まれる任意のオブジェクトである標本データについ
ての全ての特徴点からなる特徴点群を示す第1の集合
と、上記他の画像についての全ての特徴点からなる特徴
点群を示す第2の集合とのパターンマッチングを行うこ
とを特徴とする請求項1記載の画像処理方法。4. In the matching step, a first set indicating a feature point group including all feature points of sample data as an arbitrary object included in the one image, 2. The image processing method according to claim 1, wherein pattern matching is performed with a second set indicating a feature point group including the feature points.
算出する直交境界領域算出工程と、 点間距離のバケッティングを行うために用いられる1次
元の2値ブーリアンバケットを作成するブーリアンバケ
ット作成工程と、 上記第1の集合のうち、互いに異なる2つの特徴点から
なる対の点間距離に対して、上記2値ブーリアンバケッ
トのマークを付し、各2値ブーリアンバケットに対し
て、点間距離のリストを作成する点間距離リスト作成工
程と、 上記第1の集合の対をランダムに選択する集合選択工程
と、 2次元の点集合である上記第2の集合のうち、所定の条
件を満たす2つの特徴点からなる全ての対を選択する対
選択工程と、 上記ブーリアンバケット作成工程にて作成された2値ブ
ーリアンバケットと、上記対選択工程にて選択された対
を構成する特徴点により定義される変換の集合とを用い
て、上記第2の集合の全ての転移を求める転移検出工程
と、 共通転移の集合を計算する共通転移集合計算工程と、 上記共通転移集合計算工程にて計算された共通転移が事
象を誘起するか否かを調べる判別工程とを有し、 上記第1の集合と上記第2の集合との転移及び/又は回
転を含むパターンマッチングを行うことを特徴とする請
求項4記載の画像処理方法。5. The method according to claim 1, wherein the matching step includes: an orthogonal boundary area calculating step of calculating an orthogonal boundary area of the first set, which is a two-dimensional point set; A Boolean bucket creating step of creating a binary Boolean bucket of the following; and marking the binary Boolean bucket with respect to a distance between a pair of two different feature points in the first set, A point-to-point distance list creating step of creating a point-to-point distance list for each binary Boolean bucket; a set selecting step of randomly selecting the first set pair; and a two-dimensional point set A pair selecting step of selecting all pairs of two feature points satisfying a predetermined condition from the second set; and a binary Boolean bar created in the Boolean bucket creating step. A transition detection step of obtaining all transitions of the second set by using a set of transforms defined by feature points constituting pairs selected in the pair selection step; and a set of common transitions And a discriminating step of checking whether or not the common transition calculated in the common transition set calculating step induces an event. The first set and the second set 5. The image processing method according to claim 4, wherein pattern matching including transfer and / or rotation with a set is performed.
算出工程と、 上記第2の集合上に所定の大きさのバケットを作成する
バケット作成工程と、 上記第1の集合の対をランダムに選択する集合選択工程
と、 バケッティング法を用いて、上記第2の集合のうち、所
定の条件を満たす2つの特徴点からなる全ての対を選択
する対選択工程と、 上記バケット作成工程にて作成されたバケットと、上記
対選択工程にて選択された対を構成する特徴点により定
義される変換の集合とを用いて、上記第2の集合の全て
の転移を求める転移検出工程と、 共通転移の集合を計算する共通転移集合計算工程と、 上記共通転移集合計算工程にて計算された共通転移が事
象を誘起するか否かを調べる判別工程とを有し、 上記第1の集合と上記第2の集合とのパターンマッチン
グを行うことを特徴とする請求項4記載の画像処理方
法。6. The matching step includes: an orthogonal boundary area calculating step of calculating an orthogonal boundary area of the first set; a bucket creating step of creating a bucket of a predetermined size on the second set; A set selecting step of randomly selecting a pair of the first set, and a pair of selecting all pairs of two feature points satisfying a predetermined condition from the second set by using a bucketing method. Using the bucket created in the bucket creation step and the set of transformations defined by the feature points forming the pair selected in the pair selection step, all of the second set A transition detection step for calculating a transition of the common transition set; a common transition set calculation step of calculating a set of common transitions; and a discrimination step of checking whether or not the common transition calculated in the common transition set calculation step induces an event. Have The image processing method according to claim 4, wherein the performing pattern matching between the serial first set and the second set.
点を抽出する特徴抽出手段と、 上記2以上の画像のうち、一の画像と他の画像との特徴
点を比較してマッチングを行うマッチング手段と、 上記マッチング手段によるマッチングの結果に基づい
て、上記一の画像の情景分析を行う情景分析手段とを備
えることを特徴とする画像処理装置。7. A feature extracting means for extracting feature points for each of two or more images, and matching for comparing and matching feature points of one image and another image among the two or more images. An image processing apparatus comprising: means; and scene analysis means for performing scene analysis of the one image based on a result of matching by the matching means.
ッチングを行うことを特徴とする請求項7記載の画像処
理装置。8. An image processing apparatus according to claim 7, wherein said matching means performs Hausdorff matching.
ッチングを行うことを特徴とする請求項7記載の画像処
理装置。9. The image processing apparatus according to claim 7, wherein said matching means performs bottleneck matching.
に含まれる任意のオブジェクトである標本データについ
ての全ての特徴点からなる特徴点群を示す第1の集合
と、上記他の画像についての全ての特徴点からなる特徴
点群を示す第2の集合とのパターンマッチングを行うこ
とを特徴とする請求項7記載の画像処理装置。10. The image processing apparatus according to claim 1, wherein the matching unit includes: a first set indicating a feature point group including all feature points for sample data as an arbitrary object included in the one image; 8. The image processing apparatus according to claim 7, wherein pattern matching is performed with a second set indicating a feature point group including the feature points.
合である上記第1の集合の直交境界領域を算出し、点間
距離のバケッティングを行うために用いられる1次元の
2値ブーリアンバケットを作成し、上記第1の集合のう
ち、互いに異なる2つの特徴点からなる対の点間距離に
対して、上記2値ブーリアンバケットのマークを付し、
各2値ブーリアンバケットに対して、点間距離のリスト
を作成し、上記第1の集合の対をランダムに選択し、2
次元の点集合である上記第2の集合のうち、所定の条件
を満たす2つの特徴点からなる全ての対を選択し、作成
された2値ブーリアンバケットと、選択された対を構成
する特徴点により定義される変換の集合とを用いて、上
記第2の集合の全ての転移を求め、共通転移の集合を計
算し、計算された共通転移が事象を誘起するか否かを調
べることによって、上記第1の集合と上記第2の集合と
の転移及び/又は回転を含むパターンマッチングを行う
ことを特徴とする請求項10記載の画像処理装置。11. The matching means calculates an orthogonal boundary region of the first set, which is a two-dimensional point set, and calculates a one-dimensional binary Boolean bucket used for bucketing a distance between points. Creating and marking the binary boolean bucket with respect to the distance between pairs of two different feature points in the first set,
For each binary boolean bucket, create a list of point-to-point distances, randomly select the first set of pairs,
From the second set which is a dimensional point set, all pairs of two feature points satisfying a predetermined condition are selected, and the created binary Boolean bucket and the feature points forming the selected pair are selected. By determining all the transitions of the second set using the set of transformations defined by, calculating the set of common transitions, and checking whether the calculated common transitions trigger an event, The image processing apparatus according to claim 10, wherein pattern matching including transition and / or rotation between the first set and the second set is performed.
合の直交境界領域を算出し、上記第2の集合上に所定の
大きさのバケットを作成し、上記第1の集合の対をラン
ダムに選択し、バケッティング法を用いて、上記第2の
集合のうち、所定の条件を満たす2つの特徴点からなる
全ての対を選択し、作成されたバケットと、選択された
対を構成する特徴点により定義される変換の集合とを用
いて、上記第2の集合の全ての転移を求め、共通転移の
集合を計算し、計算された共通転移が事象を誘起するか
否かを調べることによって、上記第1の集合と上記第2
の集合とのパターンマッチングを行うことを特徴とする
請求項10記載の画像処理装置。12. The matching means calculates an orthogonal boundary region of the first set, creates a bucket of a predetermined size on the second set, and randomly creates a pair of the first set. Selecting, using the bucketing method, selecting all pairs of two feature points satisfying a predetermined condition from the second set, and creating the bucket and the feature constituting the selected pair. Using the set of transformations defined by the points, find all the transitions in the second set, calculate the set of common transitions, and check whether the calculated common transitions trigger an event. , The first set and the second set
11. The image processing apparatus according to claim 10, wherein pattern matching is performed with a set of.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP28495799A JP2001109882A (en) | 1999-10-05 | 1999-10-05 | Method and device for image processing |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP28495799A JP2001109882A (en) | 1999-10-05 | 1999-10-05 | Method and device for image processing |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001109882A true JP2001109882A (en) | 2001-04-20 |
| JP2001109882A5 JP2001109882A5 (en) | 2006-05-18 |
Family
ID=17685279
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP28495799A Pending JP2001109882A (en) | 1999-10-05 | 1999-10-05 | Method and device for image processing |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2001109882A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111931839A (en) * | 2020-08-04 | 2020-11-13 | 西门子电力自动化有限公司 | Method and device for on-line monitoring of switch equipment |
| CN114884704B (en) * | 2022-04-21 | 2023-03-10 | 中国科学院信息工程研究所 | A method and system for detecting abnormal behavior of network traffic based on combination and voting |
-
1999
- 1999-10-05 JP JP28495799A patent/JP2001109882A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111931839A (en) * | 2020-08-04 | 2020-11-13 | 西门子电力自动化有限公司 | Method and device for on-line monitoring of switch equipment |
| CN114884704B (en) * | 2022-04-21 | 2023-03-10 | 中国科学院信息工程研究所 | A method and system for detecting abnormal behavior of network traffic based on combination and voting |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2000215317A (en) | Image processing method and image processor | |
| Shi et al. | ROBIN: a graph-theoretic approach to reject outliers in robust estimation using invariants | |
| Rucklidge | Efficient visual recognition using the Hausdorff distance | |
| Lai et al. | Multiscale Nonrigid Point Cloud Registration Using Rotation-Invariant Sliced-Wasserstein Distance via Laplace--Beltrami Eigenmap | |
| Chen | Digital and discrete geometry: Theory and algorithms | |
| Sahillioğlu | A genetic isometric shape correspondence algorithm with adaptive sampling | |
| Hamza et al. | Geodesic matching of triangulated surfaces | |
| Zhou et al. | Exploring generalized shape analysis by topological representations | |
| Bai et al. | Local-global nested graph kernels using nested complexity traces | |
| Pickup et al. | Skeleton-based canonical forms for non-rigid 3D shape retrieval | |
| Bai et al. | Deep depth-based representations of graphs through deep learning networks | |
| JP5986681B2 (en) | Method and apparatus for generating model shape descriptors | |
| Sharma et al. | Parameter extraction and performance analysis of 3D surface reconstruction techniques | |
| JP2001109885A (en) | Method and device for image processing | |
| Friedrich et al. | Accelerating evolutionary construction tree extraction via graph partitioning | |
| JP2001109882A (en) | Method and device for image processing | |
| CN114693874B (en) | Method, device, equipment and storage medium for reconstructing a three-dimensional model from three views | |
| Vicent | Skewed mirror symmetry in the 3D reconstruction of polyhedral models | |
| JP2001109886A (en) | Method and device for image processing | |
| Punitha et al. | An effective and efficient exact match retrieval scheme for symbolic image database systems based on spatial reasoning: A logarithmic search time approach | |
| Talker et al. | Estimating the number of correct matches using only spatial order | |
| Joan-Arinyo et al. | Decomposition of geometric constraint graphs based on computing fundamental circuits. Correctness and complexity | |
| Soysal et al. | Joint utilization of local appearance and geometric invariants for 3D object recognition | |
| Zhang et al. | A Geometric Algorithm for Blood Vessel Reconstruction from Skeletal Representation | |
| Martin et al. | Turning shape decision problems into measures |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060315 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060315 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090210 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090413 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090519 |