KR102631980B1 - Method and apparatus for processing a plurlity of nondirected graphs - Google Patents
Method and apparatus for processing a plurlity of nondirected graphs Download PDFInfo
- Publication number
- KR102631980B1 KR102631980B1 KR1020180091157A KR20180091157A KR102631980B1 KR 102631980 B1 KR102631980 B1 KR 102631980B1 KR 1020180091157 A KR1020180091157 A KR 1020180091157A KR 20180091157 A KR20180091157 A KR 20180091157A KR 102631980 B1 KR102631980 B1 KR 102631980B1
- Authority
- KR
- South Korea
- Prior art keywords
- lattice
- undirected graph
- undirected
- graph
- image
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000004422 calculation algorithm Methods 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 14
- 230000002194 synthesizing effect Effects 0.000 claims description 4
- 238000007373 indentation Methods 0.000 claims 2
- 230000008569 process Effects 0.000 abstract description 6
- 239000011159 matrix material Substances 0.000 description 14
- 230000036544 posture Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 6
- 239000000203 mixture Substances 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000008689 nuclear function Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- 239000004332 silver Substances 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 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 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005295 random walk Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
복수의 무방향 그래프들을 처리하기 위한 방법 및 장치가 제공된다. 복수의 무방향 그래프들을 처리하기 위해, 무방향 그래프의 노드들 및 엣지들에 대한 특징들을 좌표로 나타내는 복수의 무방향 그래프들 각각에 대한 래티스들이 생성되고, 래티스들이 매칭됨으로써 복수의 무방향 그래프들이 매칭되고, 매칭된 복수의 무방향 그래프들이 처리된다.A method and apparatus for processing a plurality of undirected graphs are provided. In order to process a plurality of undirected graphs, lattices are created for each of the plurality of undirected graphs that represent the characteristics of the nodes and edges of the undirected graph as coordinates, and the lattices are matched to create a plurality of undirected graphs. Matched, and multiple matched undirected graphs are processed.
Description
아래의 실시예들은 복수의 무방향 그래프들을 처리하는 방법 및 장치에 관한 것으로, 보다 상세하게는 복수의 무방향 그래프들 각각에 대응하는 래티스들을 생성하고, 생성된 래티스들을 매칭함으로써 복수의 무방향 그래프들을 매칭하는 방법 및 장치에 관한 것이다.The following embodiments relate to a method and device for processing a plurality of undirected graphs. More specifically, the plurality of undirected graphs are generated by generating lattices corresponding to each of the plurality of undirected graphs and matching the generated lattices. It relates to a method and device for matching them.
복수의 노드들 구성된 그래프 중 노드(또는, 정점(vertex))들 사이의 엣지의 방향이 없는 그래프를 무방향 그래프(undirected graph)라 한다. 무방향 그래프 모델은 다양한 분야에서 광범하게 사용되는 모델이고, 무방향 그래프은 다양한 관계들을 표현할 수 있다. 예를 들어, 복수의 무방향 그래프들을 매칭하는 기술은 영상 합성 기술 및 영상 내의 오브젝트의 자세 분석 기술 등에 사용될 수 있다.Among graphs composed of a plurality of nodes, a graph without direction of edges between nodes (or vertices) is called an undirected graph. The undirected graph model is a widely used model in various fields, and the undirected graph can express various relationships. For example, technology for matching multiple undirected graphs can be used in image synthesis technology and posture analysis technology for objects in an image.
일 실시예는 복수의 무방향 그래프들을 처리하는 장치 및 방법을 제공할 수 있다.One embodiment may provide an apparatus and method for processing a plurality of undirected graphs.
일 실시예는 복수의 무방향 그래프들을 매칭하는 장치 및 방법을 제공할 수 있다.One embodiment may provide an apparatus and method for matching a plurality of undirected graphs.
일 측면에 따른, 복수의 무방향 그래프들 처리 방법은, 제1 무방향 그래프(undirected graph) 및 제2 무방향 그래프를 획득하는 단계, 상기 제1 무방향 그래프 및 상기 제2 무방향 그래프 각각의 노드들 및 엣지들에 대한 특징들을 좌표로 나타내는 상기 제1 무방향 그래프에 대한 제1 래티스(first lattice) 및 상기 제2 무방향 그래프에 대한 제2 래티스(second lattice)를 생성하는 단계, 상기 제1 래티스의 제1 글로벌 구조 및 상기 제2 래티스의 제2 글로벌 구조에 기초하여 상기 제1 래티스 및 상기 제2 래티스를 매칭하는 단계 - 상기 제1 글로벌 구조는 상기 제1 무방향 그래프의 노드들에 대응하고, 상기 제2 글로벌 구조는 상기 제2 무방향 그래프의 노드들에 대응함 -, 및 매칭된 상기 제1 래티스 및 상기 제2 래티스에 기초하여 상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 처리하는 단계를 포함한다.According to one aspect, a method of processing a plurality of undirected graphs includes obtaining a first undirected graph and a second undirected graph, each of the first undirected graph and the second undirected graph. Generating a first lattice for the first undirected graph and a second lattice for the second undirected graph representing features of nodes and edges as coordinates, the first lattice Matching the first lattice and the second lattice based on a first global structure of the first lattice and a second global structure of the second lattice, wherein the first global structure is connected to the nodes of the first undirected graph. corresponding, the second global structure corresponds to the nodes of the second undirected graph, and the first undirected graph and the second undirected graph based on the matched first lattice and the second lattice. It includes processing steps.
상기 제1 래티스 및 상기 제2 래티스를 생성하는 단계는, 비계량형 다차원 척도법(nonmetric multidimensional scaling: NMDS)을 통해 상기 제1 무방향 그래프에 대한 상기 제1 래티스를 생성하는 단계, 및 상기 NMDS를 통해 상기 제2 무방향 그래프에 대한 상기 제2 래티스의 각각을 생성하는 단계를 포함할 수 있다.The step of generating the first lattice and the second lattice includes generating the first lattice for the first undirected graph through nonmetric multidimensional scaling (NMDS), and through the NMDS It may include generating each of the second lattices for the second undirected graph.
상기 NMDS를 통해 상기 제1 래티스를 생성하는 단계는, 임의적으로 타겟 래티스를 생성하는 단계, 및 상기 제1 무방향 그래프의 노느들 및 상기 제1 무방향 그래프의 엣지들의 특징들에 기초하여 상기 타겟 래티스를 최적화함으로써 상기 제1 래티스를 생성하는 단계를 포함할 수 있다.Generating the first lattice through the NMDS includes randomly generating a target lattice, and generating the target lattice based on the characteristics of the nodes of the first undirected graph and the edges of the first undirected graph. It may include generating the first lattice by optimizing the lattice.
상기 타겟 래티스를 최적화함으로써 상기 제1 래티스를 생성하는 단계는, 상기 타겟 래티스 내의 제1 포인트 및 제2 포인트 간의 거리를 계산하는 단계 - 상기 제1 포인트 및 상기 제2 포인트는 상기 제1 무방향 그래프의 제1 노드 및 제2 노드에 각각 대응함 -, 매개 변수를 포함하지 않는 단조 함수(monotone function)를 이용하여 상기 제1 노드 및 상기 제2 노드에 대한 엣지의 특징을 상기 제1 포인트 및 상기 제2 포인트 간의 거리로 반환시키는 단계, 상기 타겟 래티스에 대한 크러스칼 압력-1(Kruskal's Stress-1)을 계산하는 단계, 및 상기 계산된 크러스칼 압력-1이 수렴하는 경우, 상기 타겟 래티스를 상기 제1 래티스로 결정하는 단계를 포함할 수 있다.Generating the first lattice by optimizing the target lattice includes calculating a distance between a first point and a second point in the target lattice, wherein the first point and the second point are in the first undirected graph. corresponds to the first node and the second node of -, the characteristics of the edges for the first node and the second node using a monotone function that does not include parameters, the first point and the second node. Returning the distance between two points, calculating Kruskal's Stress-1 for the target lattice, and if the calculated Kruskal's Stress-1 converges, calculating the target lattice. It may include determining the first lattice.
상기 단조함수는 아래의 [수학식 1]을 최소화함으로써 결정되고,The monotonic function is determined by minimizing [Equation 1] below,
[수학식 1][Equation 1]
상기 [수학식 1]에서 는 상기 단조함수이고, 는 상기 제1 노드 및 상기 제2 노드에 대한 엣지의 특징이고, 는 상기 제1 포인트 및 상기 제2 포인트 간의 거리이고, i 및 j는 상기 제1 무방향 그래프의 노드들의 총 개수인 N 이내의 숫자일 수 있다.In [Equation 1] above, is the monotonic function, is the edge characteristic for the first node and the second node, is the distance between the first point and the second point, and i and j may be numbers within N, which is the total number of nodes in the first undirected graph.
상기 크러스칼 압력-1은 아래의 [수학식 2]를 통해 계산될 수 있다.The Kruskal pressure-1 can be calculated through [Equation 2] below.
[수학식 2][Equation 2]
상기 제1 래티스 및 상기 제2 래티스를 매칭하는 단계는, PR-GLS(Point set Registration by preserving Global and Local Structures) 알고리즘을 통해 상기 제1 래티스 및 상기 제2 래티스를 매칭하는 단계를 포함할 수 있다.The step of matching the first lattice and the second lattice may include matching the first lattice and the second lattice through a PR-GLS (Point set Registration by preserving Global and Local Structures) algorithm. .
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 획득하는 단계는, 제1 영상으로부터 상기 제1 무방향 그래프를 생성하는 단계, 및 제2 영상으로부터 상기 제2 무방향 그래프를 생성하는 단계를 포함할 수 있다.Obtaining the first undirected graph and the second undirected graph includes generating the first undirected graph from a first image, and generating the second undirected graph from a second image. It can be included.
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 처리하는 단계는, 매칭된 상기 제1 래티스 및 상기 제2 래티스에 기초하여 상기 제1 영상 및 상기 제2 영상을 합성하는 단계를 포함할 수 있다.Processing the first undirected graph and the second undirected graph may include synthesizing the first image and the second image based on the matched first lattice and the second lattice. there is.
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프는 동일한 오브젝트에 관한 것이고, 상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 처리하는 단계는, 상기 오브젝트의 자세를 분석하는 단계를 포함할 수 있다.The first undirected graph and the second undirected graph relate to the same object, and processing the first undirected graph and the second undirected graph may include analyzing the posture of the object. You can.
다른 일 측면에 따른, 복수의 무방향 그래프들 처리하는 장치는, 복수의 무방향 그래프들을 처리하는 프로그램이 기록된 메모리, 및 상기 프로그램을 수행하는 프로세서를 포함하고, 상기 프로그램은, 제1 무방향 그래프(undirected graph) 및 제2 무방향 그래프를 획득하는 단계, 상기 제1 무방향 그래프 및 상기 제2 무방향 그래프 각각의 노드들 및 엣지들에 대한 특징들을 좌표로 나타내는 상기 제1 무방향 그래프에 대한 제1 래티스(first lattice) 및 상기 제2 무방향 그래프에 대한 제2 래티스(second lattice)를 생성하는 단계, 상기 제1 래티스의 제1 글로벌 구조 및 상기 제2 래티스의 제2 글로벌 구조에 기초하여 상기 제1 래티스 및 상기 제2 래티스를 매칭하는 단계 - 상기 제1 글로벌 구조는 상기 제1 무방향 그래프의 노드들에 대응하고, 상기 제2 글로벌 구조는 상기 제2 무방향 그래프의 노드들에 대응함 -, 및 매칭된 상기 제1 래티스 및 상기 제2 래티스에 기초하여 상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 처리하는 단계를 수행할 수 있다.According to another aspect, an apparatus for processing a plurality of undirected graphs includes a memory in which a program for processing a plurality of undirected graphs is recorded, and a processor for executing the program, wherein the program includes a first undirected graph. Obtaining an undirected graph and a second undirected graph, the first undirected graph representing characteristics of nodes and edges of each of the first undirected graph and the second undirected graph in coordinates. Generating a first lattice for and a second lattice for the second undirected graph, based on the first global structure of the first lattice and the second global structure of the second lattice Matching the first lattice and the second lattice - the first global structure corresponds to nodes of the first undirected graph, and the second global structure corresponds to nodes of the second undirected graph. Corresponding -, and processing the first undirected graph and the second undirected graph based on the matched first lattice and the second lattice may be performed.
상기 제1 래티스 및 상기 제2 래티스를 생성하는 단계는, 비계량형 다차원 척도법(nonmetric multidimensional scaling: NMDS)을 통해 상기 제1 무방향 그래프에 대한 상기 제1 래티스를 생성하는 단계, 및 상기 NMDS를 통해 상기 제2 무방향 그래프에 대한 상기 제2 래티스의 각각을 생성하는 단계를 포함할 수 있다.The step of generating the first lattice and the second lattice includes generating the first lattice for the first undirected graph through nonmetric multidimensional scaling (NMDS), and through the NMDS It may include generating each of the second lattices for the second undirected graph.
상기 제1 래티스 및 상기 제2 래티스를 매칭하는 단계는, PR-GLS(Point set Registration by preserving Global and Local Structures) 알고리즘을 통해 상기 제1 래티스 및 상기 제2 래티스를 매칭하는 단계를 포함할 수 있다.The step of matching the first lattice and the second lattice may include matching the first lattice and the second lattice through a PR-GLS (Point set Registration by preserving Global and Local Structures) algorithm. .
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 획득하는 단계는, 제1 영상으로부터 상기 제1 무방향 그래프를 생성하는 단계, 및 제2 영상으로부터 상기 제2 무방향 그래프를 생성하는 단계를 포함할 수 있다.Obtaining the first undirected graph and the second undirected graph includes generating the first undirected graph from a first image, and generating the second undirected graph from a second image. It can be included.
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 처리하는 단계는, 매칭된 상기 제1 래티스 및 상기 제2 래티스에 기초하여 상기 제1 영상 및 상기 제2 영상을 합성하는 단계를 포함할 수 있다.Processing the first undirected graph and the second undirected graph may include synthesizing the first image and the second image based on the matched first lattice and the second lattice. there is.
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프는 동일한 오브젝트에 관한 것이고, 상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 처리하는 단계는, 상기 오브젝트의 자세를 분석하는 단계를 포함할 수 있다.The first undirected graph and the second undirected graph relate to the same object, and processing the first undirected graph and the second undirected graph may include analyzing the posture of the object. You can.
도 1은 일 예에 따른 반복되는 패턴을 포함하는 영상이다.
도 2는 일 예에 따른 명암의 변화가 적은 장면에 대한 영상이다.
도 3은 일 실시예에 따른 무방향 그래프 처리 장치의 구성도이다.
도 4는 일 실시예에 따른 복수의 무방향 그래프들을 처리하는 방법의 흐름도이다.
도 5는 일 예에 따른 제1 무방향 그래프 및 제2 무방향 그래프를 생성하는 방법의 흐름도이다.
도 6은 일 예에 따른 NMDS를 통해 제1 래티스 및 제2 래티스를 생성하는 방법의 흐름도이다.
도 7은 일 예에 따른 타겟 래티스에 기초하여 제1 래티스를 생성하는 방법의 흐름도이다.
도 8은 일 예에 따른 타겟 래티스를 최적화함으로써 제1 래티스를 생성하는 방법의 흐름도이다.
도 9는 일 예에 따른 제1 무방향 그래프 및 제2 무방향 그래프를 처리하는 방법의 흐름도이다.
도 10 내지 도 12의 각각은 일 예에 따른 매칭된 제1 무방향 그래프 및 제2 무방향 그래프를 도시한다.
도 13은 일 예에 따른 제1 무방향 그래프 및 제2 무방향 그래프를 매칭하는 방법의 흐름도이다.
도 14는 일 예에 따른 다양한 알고리즘들을 통해 공개 데이터 집합인 CMU house 및 CMU hotel를 매칭한 결과이다.
도 15는 일 예에 따른 다양한 알고리즘들을 통해 공개 데이터 집합인 Pscal 2007를 매칭한 결과이다.1 is an image including a repeating pattern according to an example.
Figure 2 is an image of a scene with little change in brightness and darkness according to an example.
Figure 3 is a configuration diagram of an undirected graph processing device according to an embodiment.
Figure 4 is a flowchart of a method for processing a plurality of undirected graphs according to an embodiment.
Figure 5 is a flowchart of a method for generating a first undirected graph and a second undirected graph according to an example.
Figure 6 is a flowchart of a method for generating a first lattice and a second lattice through NMDS according to an example.
Figure 7 is a flowchart of a method for generating a first lattice based on a target lattice according to an example.
8 is a flowchart of a method for generating a first lattice by optimizing a target lattice according to an example.
Figure 9 is a flowchart of a method for processing a first undirected graph and a second undirected graph according to an example.
10 to 12 each show a matched first undirected graph and a second undirected graph according to an example.
Figure 13 is a flowchart of a method for matching a first undirected graph and a second undirected graph according to an example.
Figure 14 shows the results of matching public data sets CMU house and CMU hotel through various algorithms according to an example.
Figure 15 shows the results of matching Pscal 2007, a public data set, through various algorithms according to an example.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the attached drawings. However, the scope of the patent application is not limited or limited by these examples. The same reference numerals in each drawing indicate the same members.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Various changes may be made to the embodiments described below. The embodiments described below are not intended to limit the embodiments, but should be understood to include all changes, equivalents, and substitutes therefor.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the examples are merely used to describe specific examples and are not intended to limit the examples. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as “comprise” or “have” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more other features. It should be understood that this does not exclude in advance the possibility of the existence or addition of elements, numbers, steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by a person of ordinary skill in the technical field to which the embodiments belong. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and unless explicitly defined in the present application, should not be interpreted in an ideal or excessively formal sense. No.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, when describing with reference to the accompanying drawings, identical components will be assigned the same reference numerals regardless of the reference numerals, and overlapping descriptions thereof will be omitted. In describing the embodiments, if it is determined that detailed descriptions of related known technologies may unnecessarily obscure the gist of the embodiments, the detailed descriptions are omitted.
도 1은 일 예에 따른 반복되는 패턴을 포함하는 영상이고, 도 2는 일 예에 따른 명암의 변화가 적은 장면에 대한 영상이다.FIG. 1 is an image including a repetitive pattern according to an example, and FIG. 2 is an image of a scene with little change in brightness and darkness according to an example.
무방향 그래프들을 매칭하는 방법은 결과의 효율성 및 정확성에 영향을 준다. 일 측면에 따르면, 도 1에 도시된 영상과 같이 반복되는 패턴을 포함하는 영상 및 도2에 도시된 영상과 같이 명도(gray scale)의 변화가 작은 장면에 대한에 대해서는 노드에 대한 로컬 특징을 이용하는 매칭 알고리즘(예를 들어, SIFT(Scale-invariant feature transform))이 이용될 수 없다. 도 1의 영상 및 도 2의 영상에 대해서는 노드들 사이의 구조 정보를 이용하는 매칭 알고리즘이 이용되어야 한다. How you match undirected graphs affects the efficiency and accuracy of the results. According to one aspect, for images containing repetitive patterns such as the image shown in FIG. 1 and scenes with small changes in brightness (gray scale) such as the image shown in FIG. 2, local features for nodes are used. Matching algorithms (e.g., scale-invariant feature transform (SIFT)) cannot be used. For the image in FIG. 1 and the image in FIG. 2, a matching algorithm that uses structural information between nodes must be used.
2차 할당 문제(quadratic assignment problem)는 일 예에 따른 운용학(operations)의 모델이고, 상기의 문제에 대한 해답을 구하는 것은 어려운 과제이다. 무방향 그래프들을 매칭하는 일 방법은, 무방향 그래프들을 매칭하는 문제를 2차 할당 문제로 나타내고, 2차 할당 문제에 대한 근사해를 구한다. 예를 들어, 무방향 그래프를 그래프 모델(G)로 볼 수 있고, 그래프 모델(G)은 노드(V)와 방향이 없는 엣지(E)를 포함한다. 무방향 그래프의 노드(V)는 대응하는 특징(F)이 있고, 엣지(E)는 대응하는 대응하는 특징(W)이 있다. 두 개의 무방향 그래프들을 매칭하는 문제는 각각의 무방향 그래프들의 노드와 엣지를 매칭하는 문제로 변환될 수 있다. 2차 할당 문제는 어느 목표 함수에 대한 최적화를 통해 두 개의 무방향 그래프들의 노드 및 엣지를 서로 매칭한 특징의 유사성이 최대화 되도록하는 것이다.The quadratic assignment problem is a model of operations according to an example, and finding an answer to the above problem is a difficult task. One method of matching undirected graphs represents the problem of matching undirected graphs as a quadratic assignment problem and obtains an approximate solution to the quadratic assignment problem. For example, an undirected graph can be viewed as a graph model (G), and the graph model (G) includes nodes (V) and undirected edges (E). A node (V) in an undirected graph has a corresponding feature (F), and an edge (E) has a corresponding feature (W). The problem of matching two undirected graphs can be converted to the problem of matching nodes and edges of each undirected graph. The secondary assignment problem is to maximize the similarity of features that match the nodes and edges of two undirected graphs through optimization of a certain objective function.
<2차 할당 문제의 최적화><Optimization of quadratic allocation problem>
템플릿 무방향 그래프 및 장면 무방향 그래프 간의 매칭을 위한 2차 할당 문제의 최적화에 대해 아래에서 설명된다.The optimization of the quadratic assignment problem for matching between the template undirected graph and the scene undirected graph is described below.
템플릿 무방향 그래프는 로 표현된다. 는 템플릿 무방향 그래프를 구성하는 M개의 노드들의 집합이고, 는 M개의 노드들 중 임의의 두 개의 노드들 사이의 엣지들의 집합이고, 는 노드()의 특징()들의 집합이고, 는 엣지()의 특징()들의 집합니다. 예를 들어, 노드의 특징은 형태 컨텍스트(形上下文)이고, 엣지의 특징은 엣지의 길이일 수 있다.The template undirected graph is It is expressed as is a set of M nodes constituting the template undirected graph, is a set of edges between any two nodes among the M nodes, is a node ( ) features ( ) is a set of, is the edge ( ) features ( )'s house. For example, the feature of a node may be a shape context, and the feature of an edge may be the length of the edge.
템플릿 무방향 그래프와 유사하게, 장면 무방향 그래프는 로 표현된다. 장면 무방향 그래프는 N개의 노드들의 집합일 수 있다.Similar to the template undirected graph, the scene undirected graph is It is expressed as A scene undirected graph may be a set of N nodes.
일 측면에 따르면, N은 M보다 크거나 같을 수 있다. 이러한 경우, 장면 무방향 그래프의 노드들 중 템플릿 무방향 그래프의 노드와 대응되지 않는 노드(외부 노드)가 발생한다. 이러한 외부 노드는 매칭 알고리즘을 안정하지 않게 하여 매칭 결과의 정확성을 감소시킨다. 이에 따라, 매칭 과정에서 장면 무방향 그래프의 외부 노드들에 대한 견고성을 향상시키기 위해 N-M 개의 가상 노드가 템플릿 무방향 그래프의 에 추가될 수 있다. According to one aspect, N may be greater than or equal to M. In this case, among the nodes in the scene undirected graph, a node (external node) occurs that does not correspond to a node in the template undirected graph. These external nodes make the matching algorithm unstable and reduce the accuracy of matching results. Accordingly, in order to improve robustness against external nodes of the scene undirected graph during the matching process, NM virtual nodes are added to the template undirected graph. can be added to
매칭 알고리즘은 템플릿 무방향 그래프의 와 장면 무방향 그래프의 사이의 대응관계를 최적화한다. 일반적으로, 매칭 알고리즘은 아래의 2차 할당 문제를 최적화한다.The matching algorithm is based on the template undirected graph. and scene of undirected graph Optimize the correspondence between In general, the matching algorithm optimizes the quadratic assignment problem below.
[수학식 1]에서, x는 매트릭스 X의 열벡터를 결합하여 획득된 벡터이고, 는 템플릿 무향 그래프의 제i 번째 노드가 장면 무향 그래프의 제j 번째 노드와 매칭되는 것을 의미한다. 1은 모든 원소가 1인 열벡터이다. 는 매트릭스 K의 제((i-1)N+j)행 제((k-1)N+l)열의 원소이고, 특징 와 특징 사이의 유사하지 않은 정도를 의미한다. 는 0과 1사이의 값이고, 특징의 종류 또는 성질에 따라 가 나타내는 값의 형식도 달라진다. 예를 들어, 는 0 또는 1인 이산된 값을 가질 수 있다. 다른 예로, 는 0과 1사이의 실수의 값을 가질 수 있다. 는 2차 할당 문제가 뒤에 열거한 조건을 만족해야 함을 나타낸다.In [Equation 1], x is a vector obtained by combining the column vectors of matrix means that the ith node of the template undirected graph matches the jth node of the scene undirected graph. 1 is a column vector where all elements are 1. is an element of the ((i-1)N+j)th row and ((k-1)N+l)th column of matrix K, and and features It means the degree of dissimilarity between the two. is a value between 0 and 1, depending on the type or nature of the feature The format of the value it represents also changes. for example, can have discrete values of 0 or 1. As another example, can have a real number value between 0 and 1. indicates that the quadratic assignment problem must satisfy the conditions listed below.
2차 할당 문제에 대한 해답을 구하는 것은 어려운 과제이므로, 단시간 내에 목표 함수의 최적해를 찾을 수 있는 알고리즘은 없다. 이용되고 있는 기존의 알고리즘은 2차 할당 문제에 대한 유사 해법이지만, 이러한 기존 알고리즘을 통해 매칭된 결과의 정밀도는 비교적 낮고, 또한 기존 알고리즘에 대한 복잡도는 비교적 높다. 또한, 상당한 노이즈가 있거나, 외부 포인트가 오염된 무방향 그래프에 대한 매칭 상황 및 규모가 큰 무방향 그래프에 대한 매칭 상황에 대해, 기존의 알고리즘은 목표 함수의 최적해를 구하기 어렵다.Because finding the answer to the quadratic assignment problem is a difficult task, there is no algorithm that can find the optimal solution to the objective function in a short time. The existing algorithms in use are similar solutions to the quadratic assignment problem, but the precision of the results matched through these existing algorithms is relatively low, and the complexity of the existing algorithms is relatively high. In addition, for matching situations for undirected graphs with significant noise or contaminated external points and matching situations for large-scale undirected graphs, it is difficult for existing algorithms to obtain the optimal solution of the objective function.
아래에서 도 3 내지 도 15를 참조하여, 효율적이고, 정확하게 복수의 무방향 그래프들을 매칭하고, 매칭된 복수의 무방향 그래프들을 처리하는 방법에 대해 상세히 설명된다.Below, with reference to FIGS. 3 to 15, a method for efficiently and accurately matching a plurality of undirected graphs and processing the matched plurality of undirected graphs is described in detail.
도 3은 일 실시예에 따른 무방향 그래프 처리 장치의 구성도이다.Figure 3 is a configuration diagram of an undirected graph processing device according to an embodiment.
무방향 그래프 처리 장치(300)는 통신부(310), 프로세서(320), 및 메모리(330)를 포함한다. 예를 들어, 무방향 그래프 처리 장치(300)는 전자 장치이고, 전자 장치는 서버, 개인용 컴퓨터(personal computer: PC), 및 모바일 장치(mobile device) 등일 수 있고, 기재된 실시예로 한정되지 않는다.The undirected
통신부(310)는 프로세서(320), 및 메모리(330)와 연결되어 데이터를 송수신한다. 통신부(310)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다.The
통신부(310)는 무방향 그래프 처리 장치(300) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(310)는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신부(310)는 무방향 그래프 처리 장치(300)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(310)는 인터페이스(interface)일 수 있다. 통신부(310)는 외부의 장치로부터 데이터를 수신하여, 프로세서(320) 및 메모리(330)에 데이터를 전송할 수 있다.The
프로세서(320)는 통신부(310)가 수신한 데이터 및 메모리(330)에 저장된 데이터를 처리한다. "프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.The
프로세서(320)는 메모리(예를 들어, 메모리(330))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(320)에 의해 유발된 인스트럭션들을 실행한다.
메모리(330)는 통신부(310)가 수신한 데이터 및 프로세서(320)가 처리한 데이터를 저장한다. 예를 들어, 메모리(330)는 프로그램을 저장할 수 있다. 저장되는 프로그램은 복수의 무방향 그래프들을 처리할 수 있도록 코딩되어 프로세서(320)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다.The
일 측면에 따르면, 메모리(330)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.According to one aspect, the
메모리(330)는 무방향 그래프 처리 장치(300)를 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 무방향 그래프 처리 장치(300)를 동작 시키는 명령어 세트는 프로세서(320)에 의해 실행된다.The
통신부(310), 프로세서(320), 및 메모리(330)에 대해, 아래에서 도 4 내지 도 13을 참조하여 상세히 설명된다.The
도 4는 일 실시예에 따른 복수의 무방향 그래프들을 처리하는 방법의 흐름도이다.Figure 4 is a flowchart of a method for processing a plurality of undirected graphs according to an embodiment.
도 3을 참조하여 전술된 무방향 그래프 처리 장치(300)는 아래의 단계들(410 내지 440)을 수행한다. 단계들(410 내지 440)을 통해 복수의 무방향 그래프들이 매칭되고, 매칭된 무방향 그래프들이 처리될 수 있다. 무방향 그래프는 래티스로 표현될 수 있고, 복수의 무방향 그래프들의 매칭 문제는 복수의 래티스들의 매칭 문제로 전환될 수 있다. 복수의 무방향 그래프들의 매칭 문제가 복수의 래티스들의 매칭 문제로 전환되는 경우, 2차 할당 문제에 대하여 최적해를 구할 필요가 없으므로 계산의 복잡도가 감소되고, 결과의 정확도가 향상된다.The undirected
단계(410)에서, 무방향 그래프 처리 장치(300)는 제1 무방향 그래프 및 제2 무방향 그래프를 획득한다. 제1 무방향 그래프는 전술된 템플릿 무방향 그래프이고, 제2 무방향 그래프는 전술된 장면 무방향 그래프일 수 있다.In
예를 들어, 제1 무방향 그래프 및 제2 무방향 그래프는 제1 영상 및 제2 영상으로부터 각각 생성될 수 있다. 무방향 그래프를 획득하는 방법에 대해, 아래에서 도 5를 참조하여 상세하게 설명된다.For example, the first undirected graph and the second undirected graph may be generated from the first image and the second image, respectively. The method for obtaining an undirected graph is described in detail below with reference to FIG. 5.
단계(420)에서, 무방향 그래프 처리 장치(300)는 제1 무방향 그래프에 대한 제1 래티스(first lattice) 및 제2 무방향 그래프에 대한 제2 래티스(second lattice)를 생성한다. 래티스는 무방향 그래프의 노드들 및 엣지들에 대한 특징들을 좌표로 나타낸다.In
제1 무방향 그래프의 에 대한 제1 래티스는 로 표현된다. 는 제1 래티스 내의 포인트()들의 집합이고, 포인트()는 제1 무방향 그래프의 노드()에 대응한다. 포인트()는 노드()의 특징()과 서로 연관이 있다. 는 제1 래티스 내의 포인트들 사이의 엣지의 특징들의 집합이다. 제1 래티스 내의 포인트들(, ) 사이의 엣지의 특징은 포인트들(, ) 사이의 거리로 표현된다. 유사하게, 제2 무방향 그래프의 에 대한 제2 래티스는 로 표현된다.of the first undirected graph The first lattice for It is expressed as is a point within the first lattice ( ) is a set of points ( ) is a node of the first undirected graph ( ) corresponds to point( ) is a node ( ) features ( ) are related to each other. is a set of features of edges between points in the first lattice. Points in the first lattice ( , ) The characteristics of the edge between the points ( , ) is expressed as the distance between them. Similarly, in the second undirected graph The second lattice for It is expressed as
아래에서 도 6 내지 8을 참조하여 제1 래티스 및 제2 래티스를 생성하는 방법에 대해 상세히 설명된다.Below, a method for generating the first lattice and the second lattice is described in detail with reference to FIGS. 6 to 8.
단계(430)에서, 무방향 그래프 처리 장치(300)는 제1 래티스 및 제2 래티스에 기초하여 제1 래티스 및 제2 래티스를 매칭한다. 예를 들어, 무방향 그래프 처리 장치(300)는 제1 래티스의 제1 글로벌 구조(global structure) 및 제2 래티스의 제2 글로벌 구조에 기초하여 제1 래티스 및 제2 래티스를 매칭할 수 있다. 예를 들어, 제1 래티스의 제1 글로벌 구조는 일 수 있다.In
일 측면에 따르면, 제1 글로벌 구조()는 가우시안 혼합 모델(Gaussian Mixture Model)로 표현될 수 있다. 가우시안 혼합 모델에서, 가우시안 성분(分量)의 중심은 이다. 는 의 변형할 수 있다. 변형은 제1 래티스의 회전 및 제1 래티스의 거울대칭일 수 있다.According to one aspect, the first global structure ( ) can be expressed as a Gaussian Mixture Model. In a Gaussian mixture model, the centers of the Gaussian components are am. Is can be modified. The transformation may be a rotation of the first lattice and a mirror symmetry of the first lattice.
제2 래티스의 제2 글로벌 구조()는 제1 글로벌 구조()의 가우시안 혼합 모델로부터 샘플링된 것으로 간주된다. 가우시안 혼합 모델의 모든 가우시안 성분에 등방성(isotropy)의 공분산(convariance) 이 있다고 가정하면, 제1 글로벌 구조()의 가우시안 혼합 모델을 샘플링함으로써 제2 래티스의 제2 글로벌 구조()를 획득할 확률은 아래의 [수학식 3]과 같다.The second global structure of the second lattice ( ) is the first global structure ( ) is considered to be sampled from a Gaussian mixture model. Covariance of isotropy in all Gaussian components of a Gaussian mixture model Assuming there is a first global structure ( The second global structure of the second lattice ( ) The probability of obtaining is as shown in [Equation 3] below.
[수학식 2]에서, 집합 은 최적화가 필요한 파라미터이고, 는 외부 포인트의 백분율이다. 외부 포인트의 분포는 균일분포이고, 확률밀도함수가 라 가정한다. N은 제1 래티스의 포인트들의 개수이다. 는 매트릭스의 프로베니우스 놈(Frobenius norm)이다. [수학식 2]가 나타내는 것은 기존의 모델을 이용하여 를 획득할 수 있는 확률이고, 우측의 첫번째 항이 나타내는 것은 의 포인트가 외부 포인트일 확률이고, 우측의 두번째 항이 나타내는 것은 가우시안 혼합 모델로부터 를 샘플링할 확률이고, 는 가우시안 성분의 구성원 확률이고, 를 만족한다.In [Equation 2], the set is a parameter that requires optimization, is the percentage of external points. The distribution of external points is a uniform distribution, and the probability density function is Assume that N is the number of points of the first lattice. is the Frobenius norm of the matrix. [Equation 2] indicates that using the existing model, is the probability of obtaining , and the first term on the right represents is the probability that a point is an external point, and the second term on the right represents the probability from the Gaussian mixture model is the probability of sampling, is the membership probability of the Gaussian component, satisfies.
로컬 특징은 [수학식 2]의 를 결정한다.The local feature is in [Equation 2] Decide.
매트릭스 A는 두 개의 래티스들 및 의 로컬 특징이 서로 다른 정도를 나타내는 행렬이고, 매트릭스 A의 제i행 제j열의 원소 는 특징 및 사이에 유사하지 않은 정도를 나타낸다고 가정한다. 매트릭스 A에 기초하여 하나의 할당 문제의 최적해를 구하는 것을 통하여 두 개의 래티스들 및 이 매칭될 수 있다.Matrix A has two lattices and is a matrix indicating the degree to which the local features of Features and It is assumed that it represents the degree of dissimilarity between the two. Two lattices by finding the optimal solution of one assignment problem based on matrix A and This can be matched.
[수학식 3]에서, 는 제1 래티스 내의 포인트 와 제2 래티스 내의 포인트 의 매칭(또는 일치함)을 나타낸다. 할당 문제는 헝가리 알고리즘을 통해 시간 복잡도 레벨 내에서 에 대해 글로벌 최적해를 구할 수 있다. In [Equation 3], is a point within the first lattice and points within the second lattice Indicates matching (or coincidence) of . The assignment problem is solved within the time complexity level through the Hungarian algorithm. The global optimal solution can be obtained.
가 주어진 경우, 아래의 [수학식 4]에 따라 를 설정한다. If given, according to [Equation 4] below: Set .
은 이고, 의 값은 사용자에 의해 설정될 수 있다. 의 값은 매칭 결과에 대한 사용자의 신뢰를 반영한다. 예를 들어, 사용자가 [수학식 4]의 매칭 결과가 비교적 정확하다고 생각하면 의 값을 1에 근접하게 설정할 수 있고, 그렇지 않으면 의 값을 0에 가깝게 설정할 수 있다. 제2 래티스의 포인트 와 제1 래티스의 포인트 가 매칭되면, 를 설정한다. silver ego, The value of can be set by the user. The value of reflects the user's trust in the matching results. For example, if the user believes that the matching result of [Equation 4] is relatively accurate, The value of can be set close to 1, otherwise The value of can be set close to 0. Points of the second lattice and the point of the first lattice If matches, Set .
[수학식 2]의 우측은 글로벌 구조와 로컬 특징을 나타낸다. PR-GLS(Point set Registration by preserving Global and Local Structures) 알고리즘은 파라미터 에 대한 사전 확률을 이용하여 획득한 변형 을 보다 부드럽게 만든다. 변형 에 대한 사전 확률 밀도 함수는 아래의 [수학식 5]로 나타난다.The right side of [Equation 2] represents the global structure and local features. The PR-GLS (Point set Registration by preserving Global and Local Structures) algorithm uses parameters Transformation obtained using prior probabilities for makes it softer. transform The prior probability density function for is expressed as [Equation 5] below.
[수학식 5]에서, 는 정수이고, 예를 들어, 3으로 설정될 수 있다. 는 하나의 변형 에 대한 정규화 함수(regularization function)이고, 형식은 이다. 는 하나의 벡터의 reproducing kernel Hilbert 공간이다. reproducing kernel Hilbert 공간은 하나의 대각 가우시안 매트릭스 핵함수 로 정의된다. 는 가우시안 핵함수의 표준 차이이고, 예를 들어, 2로 설정될 수 있다.In [Equation 5], is an integer and can be set to 3, for example. is one variant It is a regularization function for , and the format is am. is the reproducing kernel Hilbert space of one vector. reproducing kernel Hilbert space is a single diagonal Gaussian matrix nuclear function It is defined as is the standard difference of the Gaussian nuclear function and can be set to, for example, 2.
[수학식 5] 및 [수학식 2]을 결합하면 마이너스 로그(minus logarithm) 사후확률이 최소화되므로, 의 최대 사후확률(maximum posterior probability: MAP)은 아래의 [수학식 6]과 같다.Combining [Equation 5] and [Equation 2] minimizes the minus logarithm posterior probability, The maximum posterior probability (MAP) is as shown in [Equation 6] below.
[수학식 6]에서, 샘플링 포인트들은 서로 독립적이라고 가정된다. 상기의 문제는 예상 상태 최대화(expectation conditional maximization: ECM) 방법을 이용하여 해를 구한다. 변형 에 대한 최적해는 아래의 [수학식 7]로 나타낼 수 있다.In [Equation 6], the sampling points are assumed to be independent from each other. The above problem is solved using the expectation conditional maximization (ECM) method. transform The optimal solution for can be expressed as [Equation 7] below.
[수학식 7]에서, 은 매트릭스 C의 제n 번째 열벡터이다. 매트릭스 C는 아래의 [수학식 8]로 결정된다.In [Equation 7], is the nth column vector of matrix C. Matrix C is determined by [Equation 8] below.
[수학식 8]에서, 의 제i행 제j열은 이고, 는 새로운 대각선 매트릭스를 생성하기 위해 입력 매트릭스의 대각선 요소를 취하는 것이다. 는 사후확률 매트릭스이고, 제i행 제j열의 원소는 아래의 [수학식 9]와 같다.In [Equation 8], The i row and j column of ego, is taking the diagonal elements of the input matrix to create a new diagonal matrix. is the posterior probability matrix, and the elements of the ith row and jth column are as shown in [Equation 9] below.
PR-GLS 알고리즘을 통해 최적으로 제1 래티스 및 제2 래티스를 매칭하는 변형 가 예측될 수 있고, [수학식 9]에서 정의한 사후확률이 계산될 수 있다.A variant that optimally matches the first and second lattices via the PR-GLS algorithm can be predicted, and the posterior probability defined in [Equation 9] can be calculated.
사후확률 이 비교적 높으면 제1 래티스 및 제2 래티스에서 대응하는 두개의 포인트들( 및 )은 서로 매칭된다. 예를 들어, 복수의 제2 래티스의 포인트들이 하나의 제1 래티스의 포인트에 매칭될 수 있고, 그 반대의 경우일 수도 있다.posterior probability If this is relatively high, the corresponding two points in the first and second lattices ( and ) are matched to each other. For example, a plurality of points of a second lattice may match a point of a first lattice, and vice versa.
제1 래티스와 제2 래티스 사이의 매칭이 1대1이 되도록 할당 문제를 해결하는 것이 가능하다. 이를 위하여, 변형된 제1 래티스 와 제2 래티스 이 포인트의 형상 컨텍스트를 로컬 특징으로 사용하여 설명될 수 있다. 테스트 통계(test statistics)를 이용하여, 불일치 매트릭스 가 계산된다. 불일치 매트릭스 의 원소 는 포인트 와 포인트 에 대한 형상 컨텍스트의 비 유사성을 나타낸다. 변형된 제1 래티스 와 제2 래티스 의 1대1 대응관계는 아래의 [수학식 10]의 할당 문제를 최소화함으로써 얻을 수 있다.It is possible to solve the assignment problem so that the matching between the first lattice and the second lattice is 1:1. For this purpose, the modified first lattice and second lattice This point can be described using its shape context as a local feature. Inconsistency matrix using test statistics is calculated. mismatch matrix element of is the point and point Indicates the dissimilarity of the shape context for . Deformed first lattice and second lattice The one-to-one correspondence can be obtained by minimizing the assignment problem in [Equation 10] below.
[수학식 10]에서, 은 포인트 와 포인트 의 매칭을 나타낸다. 대응하게, 이면 포인트 와 포인트 는 서로 매칭된다.In [Equation 10], silver point and point indicates matching. Correspondingly, point on the other side and point are matched with each other.
<알고리즘의 병행처리><Parallel processing of algorithms>
[수학식 2] 및 [수학식 5]를 결합하면, [수학식 10]에 대한 해는 제1 래티스 및 제2 래티스 사이의 초기 정렬에 의존하는 것을 알 수 있다. 래티스들의 초기 정렬은 및 의 좌표에 의해 결정된다. 및 의 좌표는 회전하거나 반전할 수 있다.Combining [Equation 2] and [Equation 5], the solution to [Equation 10] is the first lattice and second lattice It can be seen that it depends on the initial alignment between The initial alignment of the lattices is and is determined by the coordinates of and The coordinates of can be rotated or inverted.
더 높은 매칭 정확도를 획득하기 위해, 복수의 변형된 제1 래티스들에 대응하는 복수의 PR-GLS 알고리즘들이 복수의 변형된 제1 래티스들을 병렬적으로 처리할 수 있다. 각각의 PR-GLS 알고리즘은 모두 서로 다른 초기 정렬 상태에 있고, 서로 다른 매칭 결과를 생성한다. 예를 들어, 제1 래티스 에 대한 반전 래티스 의 해가 먼저 구해진다. 그 후에, 아래의 [수학식 11]에 따라 및 를 회전시킨다.To obtain higher matching accuracy, multiple PR-GLS algorithms corresponding to the plurality of modified first lattices may process the multiple modified first lattices in parallel. Each PR-GLS algorithm is in a different initial alignment state and produces different matching results. For example, the first lattice for inverted lattice The solution to is found first. After that, according to [Equation 11] below, and Rotate .
[수학식 11]에서, 는 [0, 360] 사이에 균일하게 분포된 각도이다. 이에 따라, 총 2h 개의 변형 래티스 가 획득된다. 각각의 변형 래티스 가 제2 래티스와 매칭되고, 각각의 매칭 결과 가 획득된다. 매칭 결과들 중 가장 좋은 매칭 결과가 아래의 [수학식 12]를 통해 선택될 수 있다. 복수의 변형 래티스들이 동시에 처리될 수 있으므로 시간이 절약된다.In [Equation 11], is an angle uniformly distributed between [0, 360]. This results in a total of 2h variant lattices. is obtained. Each variant lattice is matched with the second lattice, and each matching result is obtained. The best matching result among the matching results can be selected through [Equation 12] below. Time is saved because multiple deformed lattices can be processed simultaneously.
단계(440)에서, 무방향 그래프 처리 장치(300)는 매칭된 제1 래티스 및 제2 래티스에 기초하여 제1 무방향 그래프 및 제2 무방향 그래프를 처리한다. 예를 들어, 제1 영상으로부터 제1 무방향 그래프가 생성되고, 제2 영상으로부터 제2 무방향 그래프가 생성된 경우 매칭된 제1 래티스 및 제2 래티스에 기초하여 제1 영상 및 제2 영상이 합성될 수 있다. 다른 예로, 제1 무방향 그래프 및 제2 무방향 그래프가 동일한 오브젝트에 관한 것인 경우, 오브젝트의 자세가 분석될 수 있다. 기재된 실시예들 이외의 다양한 처리가 가능하다.In
도 5는 일 예에 따른 제1 무방향 그래프 및 제2 무방향 그래프를 생성하는 방법의 흐름도이다.Figure 5 is a flowchart of a method for generating a first undirected graph and a second undirected graph according to an example.
아래의 단계(510)는 도 4를 참조하여 전술된 단계(410)가 수행되기 전에 수행될 수 있다. 단계(510)는 단계(511) 및 단계(512)를 포함하고, 단계(511) 및 단계(512)는 병렬적으로 수행될 수 있다.Step 510 below may be performed before
단계(511)에서, 무방향 그래프 처리 장치(300)는 제1 영상으로부터 제1 무방향 그래프를 생성한다. 예를 들어, 제1 영상의 특징점들이 추출되고, 추출된 특징점들에 기초하여 제1 무방향 그래프의 노드들이 생성될 수 있다.In
단계(512)에서, 무방향 그래프 처리 장치(300)는 제2 영상으로부터 제2 무방향 그래프를 생성한다. 예를 들어, 제1 영상 및 제2 영상은 동일한 장면을 다른 시점에서 촬영한 영상일 수 있다. 다른 예로, 제1 영상 및 제2 영상은 자세 또는 위치를 달리하는 동일한 오브젝트를 각각 포함할 수 있다.In
도 6은 일 예에 따른 NMDS를 통해 제1 래티스 및 제2 래티스를 생성하는 방법의 흐름도이다.Figure 6 is a flowchart of a method for generating a first lattice and a second lattice through NMDS according to an example.
도 4를 참조하여 전술된 단계(420)는 아래의 단계들(610 및 620)을 포함한다.Step 420 described above with reference to FIG. 4 includes
단계(610)에서, 무방향 그래프 처리 장치(300)는 비계량형 다차원 척도법(nonmetric multidimensional scaling: NMDS)을 통해 제1 무방향 그래프에 대한 제1 래티스를 생성한다. NMDS는 무방향 그래프에 대해 잘 적용될 수 있다. NMDS는 데이터에 대한 가정이 적고, 적용 가능한 범위가 비교적 넓기 때문에, NMDS는 임의의 방법을 사용하여 노드들 사이의 비 유사성을 계량하는 것을 허용할 수 있다. NMDS를 이용하여 제1 래티스를 생성하는 방법에 대해, 아래에서 도 7 및 8을 참조하여 상세히 설명된다.In
단계(620)에서, 무방향 그래프 처리 장치(300)는 NMDS을 통해 제2 무방향 그래프에 대한 제2 래티스를 생성한다.In
도 7은 일 예에 따른 타겟 래티스에 기초하여 제1 래티스를 생성하는 방법의 흐름도이다.Figure 7 is a flowchart of a method for generating a first lattice based on a target lattice according to an example.
도 6을 참조하여 전술된 단계(610)는 아래의 단계들(710 및 720)을 포함한다.Step 610 described above with reference to FIG. 6 includes
단계(710)에서, 무방향 그래프 처리 장치(300)는 임의적으로 타겟 래티스(target lattice)를 생성한다. 예를 들어, 무방향 그래프 처리 장치(300)는 NMDS를 이용하여 타겟 래티스 를 생성할 수 있다.In
단계(720)에서, 무방향 그래프 처리 장치(300)는 제1 무방향 그래프의 노드들 및 엣지들의 특징들에 기초하여 타겟 래티스를 최적화함으로써 제1 래티스를 생성한다. 타겟 래티스를 최적화하는 방법에 대해, 아래에서 도 8을 참조하여 상세히 설명한다.In
도 8은 일 예에 따른 타겟 래티스를 최적화함으로써 제1 래티스를 생성하는 방법의 흐름도이다.8 is a flowchart of a method for generating a first lattice by optimizing a target lattice according to an example.
도 7을 참조하여 전술된 단계(720)는 아래의 단계들(810 내지 850)을 포함한다.Step 720 described above with reference to FIG. 7 includes
단계(810)에서, 무방향 그래프 처리 장치(300)는 타겟 래티스 내의 제1 포인트 및 제2 포인트 간의 거리 를 계산한다. 제1 포인트 및 제2 포인트는 타겟 래티스 내의 임의의 두 개의 포인트들일 수 있다. 타겟 래티스를 최적화함으로써 제1 래티스가 생성되므로, 타겟 래티스에 대한 표기법(notation)은 제1 래티스에 대한 표기법과 동일하다.At
단계(820)에서, 무방향 그래프 처리 장치(300)는 단조 함수 를 이용하여 제1 무방향 그래프의 제1 노드 및 제2 노드 에 대한 엣지의 특징 을 제1 포인트 및 제2 포인트 간의 거리 로 변환한다. 제1 무방향 그래프의 제1 노드 및 제2 노드 는 타겟 래티스 내의 제1 포인트 및 제2 포인트 와 각각 대응한다. 예를 들어, 단조함수 는 파라미터를 포함하지 않고, 를 최소화함으로써 획득될 수 있다.In step 820, the undirected
단계(830)에서, 무방향 그래프 처리 장치(300)는 타겟 래티스에 대한 크러스칼 압력-1(Kruskal Stress-1)을 계산한다. 무방향 그래프 처리 장치(300)는 아래의 [수학식 13]으로 표현되는 크러스칼 압력-1(Kruskal Stress-1)이 최소화되도록 한다.In
단계(840)에서, 무방향 그래프 처리 장치(300)는 계산된 크러스칼 압력-1이 수렴하는지 여부를 판단한다. 예를 들어, 무방향 그래프 처리 장치(300)는 이번에 계산된 크러스칼 압력-1과 이전에 계산된 크러스칼 압력-1 간의 차이를 계산하고, 계산된 차이가 미리 설정된 임계 값 이내인 경우 계산된 크러스칼 압력-1이 수렴한 것으로 결정할 수 있다.In
크러스칼 압력-1이 수렴하지 않은 경우, 단계들(810 내지 830)가 재수행될 수 있다.If Kruskal Pressure-1 does not converge, steps 810-830 may be re-performed.
단계(850)에서, 무방향 그래프 처리 장치(300)는 계산된 크러스칼 압력-1이 수렴한 경우, 타겟 래티스를 제1 래티스로 결정한다.In
단계들(810 내지 850)을 통해 제1 래티스를 생성하는 방법이 설명되었으나, 단계들(810 내지 850)에 대한 설명은 제2 래티스를 생성하는 방법으로도 설명될 수 있다.Although the method of generating the first lattice has been described through
도 9는 일 예에 따른 제1 무방향 그래프 및 제2 무방향 그래프를 처리하는 방법의 흐름도이다.Figure 9 is a flowchart of a method for processing a first undirected graph and a second undirected graph according to an example.
도 4를 참조하여 전술된 단계(440)는 아래의 단계들(910 및 920)을 포함한다. 실시예에 따라, 단계(910) 및 단계(920)는 선택적으로 수행될 수 있다.Step 440 described above with reference to FIG. 4 includes
단계(910)에서, 무방향 그래프 처리 장치(300)는 매칭된 제1 래티스 및 제2 래티스에 기초하여 제1 영상 및 제2 영상을 합성한다. 제1 래티스 및 제2 래티스의 매칭은 제1 무방향 그래프 및 제2 무방향 그래프의 매칭을 의미하고, 제1 무방향 그래프 및 제2 무방향 그래프의 매칭은 제1 영상 및 제2 영상 사이에 동일 또는 대응하는 부분들 간의 매칭을 의미한다. 무방향 그래프 처리 장치(300)는 매칭된 제1 영상의 부분 및 제2 영상의 부분을 이용하여 합성된 영상을 생성할 수 있다. 예를 들어, 합성된 영상은 파노라마 영상(panoramic image)일 수 있다. 다른 예로, 합성된 영상은 의료용 영상일 수 있다.In
단계(920)에서, 무방향 그래프 처리 장치(300)는 매칭된 제1 래티스 및 제2 래티스에 기초하여 제1 영상 및 제2 영상 내의 동일한 오브젝트의 자세 또는 위치를 분석한다. 예를 들어, 제1 래티스는 제1 영상 내의 오브젝트에 관한 것이고, 제2 래티스는 제2 영상 내의 오브젝트에 관한 것일 수 있다. 제1 래티스 및 제2 래티스의 매칭은 제1 영상 내의 오브젝트와 제2 영상 내의 오브젝트의 매칭을 의미할 수 있다.In
일 측면에 따르면, 오브젝트의 자세 또는 위치의 분석은 자율 주행 기술에 적용될 수 있다. 자율 주행 차량에 의해 촬영되는 영상들에 기초하여 영상들에 포함된 오브젝트의 자세 또는 위치가 분석될 수 있다. 예를 들어, 시간적으로 선행하는 제1 영상의 오브젝트에 대한 자세 데이터를 미리 알고 있다면, 시간적으로 후행하는 제2 영상의 오브젝트에 대한 자세 데이터가 예측될 수 있다.According to one aspect, analysis of the posture or position of an object may be applied to autonomous driving technology. Based on images captured by an autonomous vehicle, the posture or location of objects included in the images may be analyzed. For example, if posture data for an object in a temporally preceding first image is known in advance, posture data for an object in a temporally succeeding second image can be predicted.
도 10 내지 도 12의 각각은 일 예에 따른 매칭된 제1 무방향 그래프 및 제2 무방향 그래프를 도시한다.10 to 12 each show a matched first undirected graph and a second undirected graph according to an example.
도 10 및 11은 촬영 시점이 상이한 제1 영상(1010, 1110) 및 제2 영상(1020, 1120)을 도시한다. 제1 영상(1010, 1110) 및 제2 영상(1020, 1120)는 동일한 오브젝트를 포함한다. 오브젝트로부터 추출된 노드들을 이용하여 제1 무방향 그래프 및 제2 무방향 그래프가 생성되고, 전술된 방법을 이용하여 제1 무방향 그래프 및 제2 무방향 그래프가 매칭된다.10 and 11 show first images 1010 and 1110 and second images 1020 and 1120 from different shooting viewpoints. The first images 1010 and 1110 and the second images 1020 and 1120 include the same object. A first undirected graph and a second undirected graph are created using nodes extracted from the object, and the first undirected graph and the second undirected graph are matched using the method described above.
도 12는 자세가 상이한 오브젝트를 포함하는 제1 영상(1210) 및 제2 영상(1220)을 도시한다. 제1 영상(1210) 내의 오브젝트(1211)과 제2 영상(1220) 내의 오브젝트(1221)는 동일한 오브젝트이나, 자세가 상이하다. 오브젝트의 자세가 달라지는 경우에도 오브젝트(1211)에 대한 무방향 그래프 및 오브젝트(1221)에 대한 무방향 그래프를 이용하여 오브젝트(1211) 및 오브젝트(1221)가 매칭될 수 있다.FIG. 12 shows a first image 1210 and a second image 1220 including objects with different postures. The object 1211 in the first image 1210 and the object 1221 in the second image 1220 are the same object, but have different postures. Even when the posture of the object changes, the object 1211 and the object 1221 can be matched using the undirected graph for the object 1211 and the undirected graph for the object 1221.
도 13은 일 예에 따른 제1 무방향 그래프 및 제2 무방향 그래프를 매칭하는 방법의 흐름도이다.Figure 13 is a flowchart of a method for matching a first undirected graph and a second undirected graph according to an example.
제1 영상으로부터 제1 무방향 그래프()가 획득되고(1301), 제2 영상으로부터 제2 무방향 그래프()가 획득된다(1302).From the first image, the first undirected graph ( ) is obtained (1301), and a second undirected graph ( ) is obtained (1302).
제1 무방향 그래프() 및 제2 무방향 그래프()에 NMDS를 적용함(1310)으로써 제1 래티스(It)를 생성하고(1311), 제2 래티스(Is)가 생성된다(1312).First undirected graph ( ) and the second undirected graph ( ), a first lattice (I t ) is created (1311) and a second lattice (I s ) is created (1312) by applying NMDS to (1310).
제1 래티스(It)를 변형함으로써 변형 제1 래티스가 생성된다(1321).A modified first lattice is created by modifying the first lattice (I t ) (1321).
변형 제1 래티스에 대한 글로벌 구조() 및 로컬 특징(Ft)이 계산되고(1322), 제2 래티스에 대한 글로벌 구조() 및 로컬 특징(Fs)이 계산된다(1323). 계산된 제1 래티스에 대한 글로벌 구조() 및 제2 래티스에 대한 글로벌 구조()에 기초하여 제1 래티스 및 제2 래티스가 매칭된다(1324).Global structure for
단계들(1321, 1322, 1323, 1324)을 포함하는 단계(1320)가 반복적으로 수행됨으로써 다양하게 변형된 제1 래티스와 제2 래티스가 매칭된다.
복수의 매칭 결과들이 계산될 수 있고(1330), 계산된 복수의 매칭 결과들 중 가장 좋은 매칭 결과가 선택된다(1340).A plurality of matching results may be calculated (1330), and the best matching result among the calculated plurality of matching results is selected (1340).
<알고리즘 시간 복잡도><Algorithm time complexity>
전술된 무방향 그래프 매칭 방법의 시간 복잡도는 이고, N은 제1 무방향 그래프의 노드 개수이다. 구체적으로, NMDS는 의 시간 복잡도를 통하여 하나의 무방향 그래프를 하나의 래티스로 전환한다. PR-GLS 알고리즘은 의 시간 복잡도를 통해 두 개의 래티스들을 매칭한다. 두 개의 무방향 그래프들이 주어진 경우, PR-GLS 알고리즘을 번 실행함으로써 최적의 매칭 정확도가 획득될 수 있다. h는 정확도와 효율 사이의 평형을 제어한다. PR-GLS 알고리즘은 병렬적으로 실행될 수 있다.The time complexity of the undirected graph matching method described above is , and N is the number of nodes in the first undirected graph. Specifically, NMDS is Converts one undirected graph into one lattice through a time complexity of . The PR-GLS algorithm is Match two lattices with a time complexity of . Given two undirected graphs, the PR-GLS algorithm Optimal matching accuracy can be obtained by executing once. h controls the balance between accuracy and efficiency. The PR-GLS algorithm can be run in parallel.
반면에, 기존의 무방향 그래프 매칭 방법의 실행 복잡도는 일반적으로 이고, [수학식 1]에 대한 계산을 요구한다. 기존의 무방향 그래프 매칭 방법과 비교하면 도 3 내지 도 13을 참조하여 설명된 무방향 그래프 매칭 방법의 시간 복잡도가 비교적 낮다.On the other hand, the execution complexity of existing undirected graph matching methods is generally , and requires calculation of [Equation 1]. Compared to the existing undirected graph matching method, the time complexity of the undirected graph matching method described with reference to FIGS. 3 to 13 is relatively low.
도 14는 일 예에 따른 다양한 알고리즘들을 통해 공개 데이터 집합인 CMU house 및 CMU hotel를 매칭한 결과이다.Figure 14 shows the results of matching public data sets CMU house and CMU hotel through various algorithms according to an example.
범용되는 공개 데이터 집합인 CMU(Carnegie Mellon University) house와 CMU hotel의 순차적 영상들은 알고리즘을 테스트하는 가장 유행하는 실험 데이터이다. 두 개의 순차적 영상들은 각각 111과 110폭 영상이고, 매 폭의 그래프는 30개의 특징 노드를 가진다. 아래의 [표 1]은 도 3 내지 도 13을 참조하여 설명된 무방향 그래프 매칭 방법의 정확도를 나타낸다.Sequential images of the Carnegie Mellon University (CMU) house and CMU hotel, which are general-purpose public datasets, are the most popular experimental data for testing algorithms. The two sequential images are 111 and 110 width images respectively, and each width graph has 30 feature nodes. [Table 1] below shows the accuracy of the undirected graph matching method described with reference to FIGS. 3 to 13.
정확도(%)matching
accuracy(%)
기존의 무방향 그래프 매칭 알고리즘들(FGM(factorized graph matching), (RRWM)Reweighted Random Walks for Graph Matching, SM(spectrum matching), IPFP-U(integer projected fixed point method initialized with solution used for factorized graph matching for undirected graphs), IPFP-S(integer projected fixed point method initialized with spectral matching), SMAC(spectral matching with affine constraints), BPGM(binary constraint preserving graph matching))에 의해 획득된 정확도가 도 14를 참조하여 도시된다.Existing undirected graph matching algorithms (FGM (factorized graph matching), (RRWM) Reweighted Random Walks for Graph Matching, SM (spectrum matching), IPFP-U (integer projected fixed point method initialized with solution used for factorized graph matching for The accuracies obtained by (undirected graphs), IPFP-S (integer projected fixed point method initialized with spectral matching), SMAC (spectral matching with affine constraints), and BPGM (binary constraint preserving graph matching)) are shown with reference to Figure 14. .
여기서, 가로 축은 무방향 그래프 모델의 변형 정도를 나타내고, 세로 축은 결과의 정확도를 나타낸다. 도 3 내지 도 13을 참조하여 설명된 무방향 그래프 매칭 방법은 모든 무방향 그래프들의 노드를 정확하게 매칭하였고, 기존의 무방향 그래프 매칭 알고리즘들의 매칭 정확도는 80%보다 낮다.Here, the horizontal axis represents the degree of deformation of the undirected graph model, and the vertical axis represents the accuracy of the result. The undirected graph matching method described with reference to FIGS. 3 to 13 accurately matched nodes of all undirected graphs, and the matching accuracy of existing undirected graph matching algorithms was lower than 80%.
도 15는 일 예에 따른 다양한 알고리즘들을 통해 공개 데이터 집합인 Pscal 2007를 매칭한 결과이다.Figure 15 shows the results of matching Pscal 2007, a public data set, through various algorithms according to an example.
공개 데이터 집합 Pascal 2007에서, 매칭이 필요한 무방향 그래프들은 일정한 개수의 외부 포인트들을 포함한다. 도 3 내지 도 13을 참조하여 설명된 무방향 그래프 매칭 방법에 의한 매칭 정확도는 아래의 [표 2]와 같다.In the public dataset Pascal 2007, the undirected graphs that need matching contain a certain number of external points. The matching accuracy by the undirected graph matching method described with reference to FIGS. 3 to 13 is shown in [Table 2] below.
0
0
2
2
4
4
6
6
8
8
10
10
12
12
14
14
16
16
18
18
20
20
정확
도(%)matching
exact
do(%)
92.5
92.5
84.1
84.1
72.5
72.5
51.3
51.3
46.6
46.6
54.3
54.3
34.6
34.6
34.8
34.8
27.2
27.2
23.4
23.4
31.0
31.0
기존의 그래프 매칭 방법알고리즘들이 획득한 정확도는 도 15와 같다.The accuracy achieved by existing graph matching method algorithms is shown in Figure 15.
도 15의 가로 축은 외부 포인트의 개수를 나타내고, 세로 축은 결과의 정확도를 나타낸다. 기존의 무방향 그래프 매칭 알고리즘들과 비교할 때, 도 3 내지 도 13을 참조하여 설명된 무방향 그래프 매칭 방법은 매칭의 정확도를 상당히 향상시킨다.The horizontal axis in Figure 15 represents the number of external points, and the vertical axis represents the accuracy of the result. Compared to existing undirected graph matching algorithms, the undirected graph matching method described with reference to FIGS. 3 to 13 significantly improves matching accuracy.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with limited drawings as described above, those skilled in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims also fall within the scope of the following claims.
300: 무방향 그래프 처리 장치
310: 통신부
320: 프로세서
330: 메모리300: Undirected graph processing device
310: Department of Communications
320: processor
330: memory
Claims (17)
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프 각각의 노드들 및 엣지들에 대한 특징들을 좌표로 나타내는 상기 제1 무방향 그래프에 대한 제1 래티스(first lattice) 및 상기 제2 무방향 그래프에 대한 제2 래티스(second lattice)를 생성하는 단계;
상기 제1 래티스의 제1 글로벌 구조 및 상기 제2 래티스의 제2 글로벌 구조에 기초하여 상기 제1 래티스 및 상기 제2 래티스를 매칭하는 단계 - 상기 제1 글로벌 구조는 상기 제1 무방향 그래프의 노드들에 대응하고, 상기 제2 글로벌 구조는 상기 제2 무방향 그래프의 노드들에 대응함 -; 및
매칭된 상기 제1 래티스 및 상기 제2 래티스에 기초하여 상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 처리하는 단계
를 포함하는,
복수의 무방향 그래프들 처리 방법.
Obtaining a first undirected graph from a first image and obtaining a second undirected graph from a second image - the first image and the second image are images of the same scene taken from different viewpoints Indentation -;
A first lattice for the first undirected graph and a first lattice for the second undirected graph that represent the characteristics of the nodes and edges of each of the first undirected graph and the second undirected graph in coordinates. generating a second lattice for;
Matching the first lattice and the second lattice based on a first global structure of the first lattice and a second global structure of the second lattice, wherein the first global structure is a node of the first undirected graph. corresponds to nodes, and the second global structure corresponds to nodes of the second undirected graph; and
Processing the first undirected graph and the second undirected graph based on the matched first lattice and the second lattice.
Including,
Method for processing multiple undirected graphs.
상기 제1 래티스 및 상기 제2 래티스를 생성하는 단계는,
비계량형 다차원 척도법(nonmetric multidimensional scaling: NMDS)을 통해 상기 제1 무방향 그래프에 대한 상기 제1 래티스를 생성하는 단계; 및
상기 NMDS를 통해 상기 제2 무방향 그래프에 대한 상기 제2 래티스의 각각을 생성하는 단계
를 포함하는,
복수의 무방향 그래프들 처리 방법.
According to paragraph 1,
The step of generating the first lattice and the second lattice is,
generating the first lattice for the first undirected graph through nonmetric multidimensional scaling (NMDS); and
Generating each of the second lattices for the second undirected graph through the NMDS
Including,
Method for processing multiple undirected graphs.
상기 NMDS를 통해 상기 제1 래티스를 생성하는 단계는,
임의적으로 타겟 래티스를 생성하는 단계; 및
상기 제1 무방향 그래프의 노느들 및 상기 제1 무방향 그래프의 엣지들의 특징들에 기초하여 상기 타겟 래티스를 최적화함으로써 상기 제1 래티스를 생성하는 단계
를 포함하는,
복수의 무방향 그래프들 처리 방법.
According to paragraph 2,
The step of generating the first lattice through the NMDS is:
Randomly generating a target lattice; and
Generating the first lattice by optimizing the target lattice based on characteristics of the nodes of the first undirected graph and the edges of the first undirected graph.
Including,
Method for processing multiple undirected graphs.
상기 타겟 래티스를 최적화함으로써 상기 제1 래티스를 생성하는 단계는,
상기 타겟 래티스 내의 제1 포인트 및 제2 포인트 간의 거리를 계산하는 단계 - 상기 제1 포인트 및 상기 제2 포인트는 상기 제1 무방향 그래프의 제1 노드 및 제2 노드에 각각 대응함 -;
매개 변수를 포함하지 않는 단조함수(monotone function)를 이용하여 상기 제1 노드 및 상기 제2 노드에 대한 엣지의 특징을 상기 제1 포인트 및 상기 제2 포인트 간의 거리로 반환시키는 단계;
상기 타겟 래티스에 대한 크러스칼 압력-1(Kruskal's Stress-1)을 계산하는 단계; 및
상기 계산된 크러스칼 압력-1이 수렴하는 경우, 상기 타겟 래티스를 상기 제1 래티스로 결정하는 단계
를 포함하는,
복수의 무방향 그래프들 처리 방법.
According to paragraph 3,
Generating the first lattice by optimizing the target lattice includes:
calculating a distance between a first point and a second point in the target lattice, the first point and the second point corresponding to a first node and a second node, respectively, of the first undirected graph;
Returning edge characteristics for the first node and the second node as a distance between the first point and the second point using a monotone function that does not include parameters;
calculating Kruskal's Stress-1 for the target lattice; and
When the calculated Kruskal pressure-1 converges, determining the target lattice as the first lattice.
Including,
Method for processing multiple undirected graphs.
상기 단조함수는 아래의 [수학식 1]을 최소화함으로써 결정되고,
[수학식 1]
상기 [수학식 1]에서 는 상기 단조함수이고, 는 상기 제1 노드 및 상기 제2 노드에 대한 엣지의 특징이고, 는 상기 제1 포인트 및 상기 제2 포인트 간의 거리이고, i 및 j는 상기 제1 무방향 그래프의 노드들의 총 개수인 N 이내의 숫자인,
복수의 무방향 그래프들 처리 방법.
According to paragraph 4,
The monotonic function is determined by minimizing [Equation 1] below,
[Equation 1]
In [Equation 1] above, is the monotonic function, is a characteristic of edges for the first node and the second node, is the distance between the first point and the second point, and i and j are numbers within N, which is the total number of nodes in the first undirected graph.
Method for processing multiple undirected graphs.
상기 크러스칼 압력-1은 아래의 [수학식 2]를 통해 계산되는,
[수학식 2]
복수의 무방향 그래프들 처리 방법.
According to clause 5,
The Kruskal pressure-1 is calculated through [Equation 2] below,
[Equation 2]
Method for processing multiple undirected graphs.
상기 제1 래티스 및 상기 제2 래티스를 매칭하는 단계는,
PR-GLS(Point set Registration by preserving Global and Local Structures) 알고리즘을 통해 상기 제1 래티스 및 상기 제2 래티스를 매칭하는 단계
를 포함하는,
복수의 무방향 그래프들 처리 방법.
According to paragraph 1,
The step of matching the first lattice and the second lattice is,
Matching the first lattice and the second lattice through PR-GLS (Point set Registration by preserving Global and Local Structures) algorithm.
Including,
Method for processing multiple undirected graphs.
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 획득하는 단계는,
상기 제1 영상으로부터 상기 제1 무방향 그래프를 생성하는 단계; 및
상기 제2 영상으로부터 상기 제2 무방향 그래프를 생성하는 단계
를 포함하는,
복수의 무방향 그래프들 처리 방법.
According to paragraph 1,
The step of obtaining the first undirected graph and the second undirected graph is,
generating the first undirected graph from the first image; and
Generating the second undirected graph from the second image
Including,
Method for processing multiple undirected graphs.
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 처리하는 단계는,
매칭된 상기 제1 래티스 및 상기 제2 래티스에 기초하여 상기 제1 영상 및 상기 제2 영상을 합성하는 단계
를 포함하는,
복수의 무방향 그래프들 처리 방법.
According to clause 8,
The step of processing the first undirected graph and the second undirected graph is,
Synthesizing the first image and the second image based on the matched first lattice and the second lattice.
Including,
Method for processing multiple undirected graphs.
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프는 동일한 오브젝트에 관한 것이고,
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 처리하는 단계는,
상기 오브젝트의 자세를 분석하는 단계
를 포함하는,
복수의 무방향 그래프들 처리 방법.
According to clause 8,
The first undirected graph and the second undirected graph relate to the same object,
The step of processing the first undirected graph and the second undirected graph is,
Analyzing the posture of the object
Including,
Method for processing multiple undirected graphs.
A computer-readable recording medium containing a program for performing the method of any one of claims 1 to 10.
복수의 무방향 그래프들을 처리하는 프로그램이 기록된 메모리; 및
상기 프로그램을 수행하는 프로세서
를 포함하고,
상기 프로그램은,
제1 영상으로부터 제1 무방향 그래프(undirected graph)를 획득하고, 제2 영상으로부터 제2 무방향 그래프를 획득하는 단계 - 상기 제1 영상 및 상기 제2 영상은 동일한 장면을 다른 시점에서 촬영한 영상들임 -;
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프 각각의 노드들 및 엣지들에 대한 특징들을 좌표로 나타내는 상기 제1 무방향 그래프에 대한 제1 래티스(first lattice) 및 상기 제2 무방향 그래프에 대한 제2 래티스(second lattice)를 생성하는 단계;
상기 제1 래티스의 제1 글로벌 구조 및 상기 제2 래티스의 제2 글로벌 구조에 기초하여 상기 제1 래티스 및 상기 제2 래티스를 매칭하는 단계 - 상기 제1 글로벌 구조는 상기 제1 무방향 그래프의 노드들에 대응하고, 상기 제2 글로벌 구조는 상기 제2 무방향 그래프의 노드들에 대응함 -; 및
매칭된 상기 제1 래티스 및 상기 제2 래티스에 기초하여 상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 처리하는 단계
를 수행하는,
복수의 무방향 그래프들 처리 장치.
In a device for processing multiple undirected graphs,
A memory in which a program for processing a plurality of undirected graphs is recorded; and
Processor that executes the above program
Including,
The above program is,
Obtaining a first undirected graph from a first image and obtaining a second undirected graph from a second image - the first image and the second image are images of the same scene taken from different viewpoints Indentation -;
A first lattice for the first undirected graph and a first lattice for the second undirected graph that represent the characteristics of the nodes and edges of each of the first undirected graph and the second undirected graph in coordinates. generating a second lattice for;
Matching the first lattice and the second lattice based on a first global structure of the first lattice and a second global structure of the second lattice, wherein the first global structure is a node of the first undirected graph. corresponds to nodes, and the second global structure corresponds to nodes of the second undirected graph; and
Processing the first undirected graph and the second undirected graph based on the matched first lattice and the second lattice.
To perform,
A device for processing multiple undirected graphs.
상기 제1 래티스 및 상기 제2 래티스를 생성하는 단계는,
비계량형 다차원 척도법(nonmetric multidimensional scaling: NMDS)을 통해 상기 제1 무방향 그래프에 대한 상기 제1 래티스를 생성하는 단계; 및
상기 NMDS를 통해 상기 제2 무방향 그래프에 대한 상기 제2 래티스의 각각을 생성하는 단계
를 포함하는,
복수의 무방향 그래프들 처리 장치.
According to clause 12,
The step of generating the first lattice and the second lattice is,
generating the first lattice for the first undirected graph through nonmetric multidimensional scaling (NMDS); and
Generating each of the second lattices for the second undirected graph through the NMDS
Including,
A device for processing multiple undirected graphs.
상기 제1 래티스 및 상기 제2 래티스를 매칭하는 단계는,
PR-GLS(Point set Registration by preserving Global and Local Structures) 알고리즘을 통해 상기 제1 래티스 및 상기 제2 래티스를 매칭하는 단계
를 포함하는,
복수의 무방향 그래프들 처리 장치.
According to clause 12,
The step of matching the first lattice and the second lattice is,
Matching the first lattice and the second lattice through PR-GLS (Point set Registration by preserving Global and Local Structures) algorithm.
Including,
A device for processing multiple undirected graphs.
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 획득하는 단계는,
상기 제1 영상으로부터 상기 제1 무방향 그래프를 생성하는 단계; 및
상기 제2 영상으로부터 상기 제2 무방향 그래프를 생성하는 단계
를 포함하는,
복수의 무방향 그래프들 처리 장치.
According to clause 12,
The step of obtaining the first undirected graph and the second undirected graph is,
generating the first undirected graph from the first image; and
Generating the second undirected graph from the second image
Including,
A device for processing multiple undirected graphs.
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 처리하는 단계는,
매칭된 상기 제1 래티스 및 상기 제2 래티스에 기초하여 상기 제1 영상 및 상기 제2 영상을 합성하는 단계
를 포함하는,
복수의 무방향 그래프들 처리 장치.
According to clause 15,
The step of processing the first undirected graph and the second undirected graph is,
Synthesizing the first image and the second image based on the matched first lattice and the second lattice.
Including,
A device for processing multiple undirected graphs.
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프는 동일한 오브젝트에 관한 것이고,
상기 제1 무방향 그래프 및 상기 제2 무방향 그래프를 처리하는 단계는,
상기 오브젝트의 자세를 분석하는 단계
를 포함하는,
복수의 무방향 그래프들 처리 장치.According to clause 15,
The first undirected graph and the second undirected graph relate to the same object,
The step of processing the first undirected graph and the second undirected graph is,
Analyzing the posture of the object
Including,
A device for processing multiple undirected graphs.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/191,102 US10991120B2 (en) | 2017-11-14 | 2018-11-14 | Method and apparatus for processing a plurality of undirected graphs |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711124245.5 | 2017-11-14 | ||
CN201711124245.5A CN109784353B (en) | 2017-11-14 | 2017-11-14 | Method, device and storage medium for processor implementation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190054899A KR20190054899A (en) | 2019-05-22 |
KR102631980B1 true KR102631980B1 (en) | 2024-02-01 |
Family
ID=66494149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180091157A KR102631980B1 (en) | 2017-11-14 | 2018-08-06 | Method and apparatus for processing a plurlity of nondirected graphs |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102631980B1 (en) |
CN (1) | CN109784353B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110766061B (en) * | 2019-10-15 | 2022-05-31 | 武汉中海庭数据技术有限公司 | Road scene matching method and device |
CN111461196B (en) * | 2020-03-27 | 2023-07-21 | 上海大学 | Rapid robust image identification tracking method and device based on structural features |
CN112966138B (en) * | 2021-02-22 | 2022-04-12 | 济南大学 | Two-dimensional shape retrieval method and system based on contour feature point matching |
CN116310417B (en) * | 2023-03-10 | 2024-04-26 | 济南大学 | Approximate graph matching method and system based on shape context information |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070165949A1 (en) * | 2006-01-17 | 2007-07-19 | Ali Kemal Sinop | Banded graph cut segmentation algorithms with laplacian pyramids |
US20120113121A1 (en) | 2010-11-09 | 2012-05-10 | Jiebo Luo | Aligning and summarizing different photo streams |
WO2016109570A1 (en) * | 2014-12-30 | 2016-07-07 | Micron Technology, Inc | Systems and devices for accessing a state machine |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984463A (en) * | 2010-11-02 | 2011-03-09 | 中兴通讯股份有限公司 | Method and device for synthesizing panoramic image |
CN102289661A (en) * | 2011-07-27 | 2011-12-21 | 宁波大学 | Method for matching three-dimensional grid models based on spectrum matching |
AU2015216722B2 (en) * | 2014-02-17 | 2019-01-24 | Oxford University Innovation Limited | Determining the position of a mobile device in a geographical area |
JP6352216B2 (en) * | 2014-04-16 | 2018-07-04 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | System and method for stereo object detection and distance calculation |
CN107016319B (en) * | 2016-01-27 | 2021-03-05 | 北京三星通信技术研究有限公司 | Feature point positioning method and device |
CN106780303A (en) * | 2016-12-02 | 2017-05-31 | 上海大学 | A kind of image split-joint method based on local registration |
CN106940876A (en) * | 2017-02-21 | 2017-07-11 | 华东师范大学 | A kind of quick unmanned plane merging algorithm for images based on SURF |
-
2017
- 2017-11-14 CN CN201711124245.5A patent/CN109784353B/en active Active
-
2018
- 2018-08-06 KR KR1020180091157A patent/KR102631980B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070165949A1 (en) * | 2006-01-17 | 2007-07-19 | Ali Kemal Sinop | Banded graph cut segmentation algorithms with laplacian pyramids |
US20120113121A1 (en) | 2010-11-09 | 2012-05-10 | Jiebo Luo | Aligning and summarizing different photo streams |
WO2016109570A1 (en) * | 2014-12-30 | 2016-07-07 | Micron Technology, Inc | Systems and devices for accessing a state machine |
Non-Patent Citations (1)
Title |
---|
Boyarski, et al., Subspace Least Squares Multidimensional Scaling, Scale Space and Variational Methods in Computer Vision, 6th International Conference, SSVM 2017(2017.09.11.)* |
Also Published As
Publication number | Publication date |
---|---|
CN109784353A (en) | 2019-05-21 |
KR20190054899A (en) | 2019-05-22 |
CN109784353B (en) | 2024-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102631980B1 (en) | Method and apparatus for processing a plurlity of nondirected graphs | |
US10229092B2 (en) | Systems and methods for robust low-rank matrix approximation | |
Korman et al. | Coherency sensitive hashing | |
Cao et al. | Face alignment by explicit shape regression | |
US9928443B2 (en) | Image processing apparatus and method for fitting a deformable shape model to an image using random forest regression voting | |
US8280839B2 (en) | Nearest neighbor methods for non-Euclidean manifolds | |
JP5506785B2 (en) | Fingerprint representation using gradient histogram | |
Lu et al. | Sparse coding from a Bayesian perspective | |
Deutsch et al. | Zero shot learning via multi-scale manifold regularization | |
JP5349407B2 (en) | A program to cluster samples using the mean shift procedure | |
Pal et al. | On learning conditional random fields for stereo: Exploring model structures and approximate inference | |
WO2021218095A1 (en) | Image processing method and apparatus, and electronic device and storage medium | |
Liu et al. | Normal estimation for pointcloud using GPU based sparse tensor voting | |
US11829869B2 (en) | Multiple task transfer learning | |
WO2020107312A1 (en) | Rigid body configuration method and optical motion capturing method | |
Komodakis et al. | A framework for efficient structured max-margin learning of high-order MRF models | |
US10991120B2 (en) | Method and apparatus for processing a plurality of undirected graphs | |
CN111062944B (en) | Network model training method and device and image segmentation method and device | |
US20100322472A1 (en) | Object tracking in computer vision | |
CN110263881A (en) | A kind of multi-model approximating method of the asymmetric geometry in combination part | |
Kalatzis et al. | Density estimation on smooth manifolds with normalizing flows | |
Sharir et al. | Tractable generative convolutional arithmetic circuits | |
Del Bue | Adaptive non-rigid registration and structure from motion from image trajectories | |
Choe et al. | Visual tracking based on particle filter with spline resampling | |
Bytyqi et al. | Local-area-learning network: Meaningful local areas for efficient point cloud analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |