KR102631980B1 - Method and apparatus for processing a plurlity of nondirected graphs - Google Patents

Method and apparatus for processing a plurlity of nondirected graphs Download PDF

Info

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
Application number
KR1020180091157A
Other languages
Korean (ko)
Other versions
KR20190054899A (en
Inventor
후이 장
유병인
더헝 키안
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US16/191,102 priority Critical patent/US10991120B2/en
Publication of KR20190054899A publication Critical patent/KR20190054899A/en
Application granted granted Critical
Publication of KR102631980B1 publication Critical patent/KR102631980B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor 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

복수의 무방향 그래프들 처리 방법 및 장치{METHOD AND APPARATUS FOR PROCESSING A PLURLITY OF NONDIRECTED GRAPHS}{METHOD AND APPARATUS FOR PROCESSING A PLURLITY OF NONDIRECTED GRAPHS}

아래의 실시예들은 복수의 무방향 그래프들을 처리하는 방법 및 장치에 관한 것으로, 보다 상세하게는 복수의 무방향 그래프들 각각에 대응하는 래티스들을 생성하고, 생성된 래티스들을 매칭함으로써 복수의 무방향 그래프들을 매칭하는 방법 및 장치에 관한 것이다.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 graph processing device 300 includes a communication unit 310, a processor 320, and a memory 330. For example, the undirected graph processing device 300 is an electronic device, and the electronic device may be a server, a personal computer (PC), a mobile device, etc., and is not limited to the described embodiment.

통신부(310)는 프로세서(320), 및 메모리(330)와 연결되어 데이터를 송수신한다. 통신부(310)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다.The communication unit 310 is connected to the processor 320 and the memory 330 to transmit and receive data. The communication unit 310 can be connected to other external devices to transmit and receive data.

통신부(310)는 무방향 그래프 처리 장치(300) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(310)는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신부(310)는 무방향 그래프 처리 장치(300)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(310)는 인터페이스(interface)일 수 있다. 통신부(310)는 외부의 장치로부터 데이터를 수신하여, 프로세서(320) 및 메모리(330)에 데이터를 전송할 수 있다.The communication unit 310 may be implemented as a circuitry within the undirected graph processing device 300. For example, the communication unit 310 may include an internal bus and an external bus. As another example, the communication unit 310 may be an element that connects the undirected graph processing device 300 and an external device. The communication unit 310 may be an interface. The communication unit 310 may receive data from an external device and transmit the data to the processor 320 and the memory 330.

프로세서(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 processor 320 processes data received by the communication unit 310 and data stored in the memory 330. A “processor” may be a data processing device implemented in hardware that has a circuit with a physical structure for executing desired operations. For example, the intended operations may include code or instructions included in the program. For example, data processing devices implemented in hardware include microprocessors, central processing units, processor cores, multi-core processors, and multiprocessors. , ASIC (Application-Specific Integrated Circuit), and FPGA (Field Programmable Gate Array).

프로세서(320)는 메모리(예를 들어, 메모리(330))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(320)에 의해 유발된 인스트럭션들을 실행한다.Processor 320 executes computer-readable code (e.g., software) stored in memory (e.g., memory 330) and instructions triggered by processor 320.

메모리(330)는 통신부(310)가 수신한 데이터 및 프로세서(320)가 처리한 데이터를 저장한다. 예를 들어, 메모리(330)는 프로그램을 저장할 수 있다. 저장되는 프로그램은 복수의 무방향 그래프들을 처리할 수 있도록 코딩되어 프로세서(320)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다.The memory 330 stores data received by the communication unit 310 and data processed by the processor 320. For example, memory 330 can store programs. The stored program may be a set of syntaxes coded to process a plurality of undirected graphs and executable by the processor 320.

일 측면에 따르면, 메모리(330)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.According to one aspect, the memory 330 may include one or more volatile memory, non-volatile memory, random access memory (RAM), flash memory, a hard disk drive, and an optical disk drive.

메모리(330)는 무방향 그래프 처리 장치(300)를 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 무방향 그래프 처리 장치(300)를 동작 시키는 명령어 세트는 프로세서(320)에 의해 실행된다.The memory 330 stores a set of instructions (eg, software) that operates the undirected graph processing device 300. A set of instructions for operating the undirected graph processing device 300 is executed by the processor 320.

통신부(310), 프로세서(320), 및 메모리(330)에 대해, 아래에서 도 4 내지 도 13을 참조하여 상세히 설명된다.The communication unit 310, processor 320, and memory 330 are described in detail below with reference to FIGS. 4 to 13.

도 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 graph processing device 300 described above with reference to FIG. 3 performs the following steps 410 to 440. Through steps 410 to 440, a plurality of undirected graphs may be matched, and the matched undirected graphs may be processed. An undirected graph can be expressed as a lattice, and the matching problem of multiple undirected graphs can be converted to a matching problem of multiple lattices. When the matching problem of a plurality of undirected graphs is converted to a matching problem of a plurality of lattices, there is no need to find an optimal solution to the secondary assignment problem, so the complexity of calculation is reduced and the accuracy of the results is improved.

단계(410)에서, 무방향 그래프 처리 장치(300)는 제1 무방향 그래프 및 제2 무방향 그래프를 획득한다. 제1 무방향 그래프는 전술된 템플릿 무방향 그래프이고, 제2 무방향 그래프는 전술된 장면 무방향 그래프일 수 있다.In step 410, the undirected graph processing device 300 obtains a first undirected graph and a second undirected graph. The first undirected graph may be the template undirected graph described above, and the second undirected graph may be the scene undirected graph described above.

예를 들어, 제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 step 420, the undirected graph processing device 300 generates a first lattice for the first undirected graph and a second lattice for the second undirected graph. Lattice represents the characteristics of nodes and edges of an undirected graph as coordinates.

제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 step 430, the undirected graph processing device 300 matches the first lattice and the second lattice based on the first lattice and the second lattice. For example, the undirected graph processing device 300 may match the first lattice and the second lattice based on the first global structure of the first lattice and the second global structure of the second lattice. For example, the first global structure of the first lattice is It can be.

일 측면에 따르면, 제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 step 440, the undirected graph processing device 300 processes the first undirected graph and the second undirected graph based on the matched first lattice and second lattice. For example, when a first undirected graph is created from a first image and a second undirected graph is created from a second image, the first image and the second image are generated based on the matched first and second lattice. Can be synthesized. As another example, when the first undirected graph and the second undirected graph relate to the same object, the posture of the object may be analyzed. Various treatments other than the described embodiments are possible.

도 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 step 410 described above with reference to FIG. 4 is performed. Step 510 includes steps 511 and 512, and steps 511 and 512 may be performed in parallel.

단계(511)에서, 무방향 그래프 처리 장치(300)는 제1 영상으로부터 제1 무방향 그래프를 생성한다. 예를 들어, 제1 영상의 특징점들이 추출되고, 추출된 특징점들에 기초하여 제1 무방향 그래프의 노드들이 생성될 수 있다.In step 511, the undirected graph processing device 300 generates a first undirected graph from the first image. For example, feature points of the first image may be extracted, and nodes of the first undirected graph may be created based on the extracted feature points.

단계(512)에서, 무방향 그래프 처리 장치(300)는 제2 영상으로부터 제2 무방향 그래프를 생성한다. 예를 들어, 제1 영상 및 제2 영상은 동일한 장면을 다른 시점에서 촬영한 영상일 수 있다. 다른 예로, 제1 영상 및 제2 영상은 자세 또는 위치를 달리하는 동일한 오브젝트를 각각 포함할 수 있다.In step 512, the undirected graph processing device 300 generates a second undirected graph from the second image. For example, the first image and the second image may be images of the same scene taken from different viewpoints. As another example, the first image and the second image may each include the same object with different postures or positions.

도 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 steps 610 and 620 below.

단계(610)에서, 무방향 그래프 처리 장치(300)는 비계량형 다차원 척도법(nonmetric multidimensional scaling: NMDS)을 통해 제1 무방향 그래프에 대한 제1 래티스를 생성한다. NMDS는 무방향 그래프에 대해 잘 적용될 수 있다. NMDS는 데이터에 대한 가정이 적고, 적용 가능한 범위가 비교적 넓기 때문에, NMDS는 임의의 방법을 사용하여 노드들 사이의 비 유사성을 계량하는 것을 허용할 수 있다. NMDS를 이용하여 제1 래티스를 생성하는 방법에 대해, 아래에서 도 7 및 8을 참조하여 상세히 설명된다.In step 610, the undirected graph processing device 300 generates a first lattice for the first undirected graph through nonmetric multidimensional scaling (NMDS). NMDS can be well applied to undirected graphs. Because NMDS makes few assumptions about the data and its applicable scope is relatively wide, NMDS can allow quantifying dissimilarities between nodes using arbitrary methods. The method of generating the first lattice using NMDS is described in detail below with reference to FIGS. 7 and 8.

단계(620)에서, 무방향 그래프 처리 장치(300)는 NMDS을 통해 제2 무방향 그래프에 대한 제2 래티스를 생성한다.In step 620, the undirected graph processing device 300 generates a second lattice for the second undirected graph through NMDS.

도 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 steps 710 and 720 below.

단계(710)에서, 무방향 그래프 처리 장치(300)는 임의적으로 타겟 래티스(target lattice)를 생성한다. 예를 들어, 무방향 그래프 처리 장치(300)는 NMDS를 이용하여 타겟 래티스 를 생성할 수 있다.In step 710, the undirected graph processing device 300 randomly generates a target lattice. For example, the undirected graph processing device 300 uses NMDS to target lattice can be created.

단계(720)에서, 무방향 그래프 처리 장치(300)는 제1 무방향 그래프의 노드들 및 엣지들의 특징들에 기초하여 타겟 래티스를 최적화함으로써 제1 래티스를 생성한다. 타겟 래티스를 최적화하는 방법에 대해, 아래에서 도 8을 참조하여 상세히 설명한다.In step 720, the undirected graph processing device 300 generates a first lattice by optimizing the target lattice based on the characteristics of the nodes and edges of the first undirected graph. The method for optimizing the target lattice will be described in detail below with reference to FIG. 8.

도 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 steps 810 to 850 below.

단계(810)에서, 무방향 그래프 처리 장치(300)는 타겟 래티스 내의 제1 포인트 및 제2 포인트 간의 거리 를 계산한다. 제1 포인트 및 제2 포인트는 타겟 래티스 내의 임의의 두 개의 포인트들일 수 있다. 타겟 래티스를 최적화함으로써 제1 래티스가 생성되므로, 타겟 래티스에 대한 표기법(notation)은 제1 래티스에 대한 표기법과 동일하다.At step 810, the undirected graph processing device 300 selects a first point within the target lattice. and second point distance between Calculate . The first point and the second point can be any two points within the target lattice. Since the first lattice is created by optimizing the target lattice, the notation for the target lattice is the same as the notation for the first lattice.

단계(820)에서, 무방향 그래프 처리 장치(300)는 단조 함수 를 이용하여 제1 무방향 그래프의 제1 노드 및 제2 노드 에 대한 엣지의 특징 을 제1 포인트 및 제2 포인트 간의 거리 로 변환한다. 제1 무방향 그래프의 제1 노드 및 제2 노드 는 타겟 래티스 내의 제1 포인트 및 제2 포인트 와 각각 대응한다. 예를 들어, 단조함수 는 파라미터를 포함하지 않고, 를 최소화함으로써 획득될 수 있다.In step 820, the undirected graph processing device 300 performs a monotonic function The first node of the first undirected graph using and second node Features of Edge for 1st point and second point distance between Convert to first node of first undirected graph and second node is the first point in the target lattice and second point corresponds to each. For example, the monotonic function does not include parameters, It can be obtained by minimizing .

단계(830)에서, 무방향 그래프 처리 장치(300)는 타겟 래티스에 대한 크러스칼 압력-1(Kruskal Stress-1)을 계산한다. 무방향 그래프 처리 장치(300)는 아래의 [수학식 13]으로 표현되는 크러스칼 압력-1(Kruskal Stress-1)이 최소화되도록 한다.In step 830, the undirected graph processing device 300 calculates Kruskal Stress-1 for the target lattice. The undirected graph processing device 300 minimizes Kruskal Stress-1, expressed as [Equation 13] below.

단계(840)에서, 무방향 그래프 처리 장치(300)는 계산된 크러스칼 압력-1이 수렴하는지 여부를 판단한다. 예를 들어, 무방향 그래프 처리 장치(300)는 이번에 계산된 크러스칼 압력-1과 이전에 계산된 크러스칼 압력-1 간의 차이를 계산하고, 계산된 차이가 미리 설정된 임계 값 이내인 경우 계산된 크러스칼 압력-1이 수렴한 것으로 결정할 수 있다.In step 840, the undirected graph processing device 300 determines whether the calculated Kruskal pressure-1 converges. For example, the undirected graph processing device 300 calculates the difference between the currently calculated Kruskal pressure-1 and the previously calculated Kruskal pressure-1, and if the calculated difference is within a preset threshold value It can be determined that the calculated Kruskal pressure-1 has converged.

크러스칼 압력-1이 수렴하지 않은 경우, 단계들(810 내지 830)가 재수행될 수 있다.If Kruskal Pressure-1 does not converge, steps 810-830 may be re-performed.

단계(850)에서, 무방향 그래프 처리 장치(300)는 계산된 크러스칼 압력-1이 수렴한 경우, 타겟 래티스를 제1 래티스로 결정한다.In step 850, the undirected graph processing device 300 determines the target lattice as the first lattice when the calculated Kruskal pressure-1 converges.

단계들(810 내지 850)을 통해 제1 래티스를 생성하는 방법이 설명되었으나, 단계들(810 내지 850)에 대한 설명은 제2 래티스를 생성하는 방법으로도 설명될 수 있다.Although the method of generating the first lattice has been described through steps 810 to 850, the description of steps 810 to 850 may also be explained as a method of generating the second lattice.

도 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 steps 910 and 920 below. Depending on the embodiment, steps 910 and 920 may be performed selectively.

단계(910)에서, 무방향 그래프 처리 장치(300)는 매칭된 제1 래티스 및 제2 래티스에 기초하여 제1 영상 및 제2 영상을 합성한다. 제1 래티스 및 제2 래티스의 매칭은 제1 무방향 그래프 및 제2 무방향 그래프의 매칭을 의미하고, 제1 무방향 그래프 및 제2 무방향 그래프의 매칭은 제1 영상 및 제2 영상 사이에 동일 또는 대응하는 부분들 간의 매칭을 의미한다. 무방향 그래프 처리 장치(300)는 매칭된 제1 영상의 부분 및 제2 영상의 부분을 이용하여 합성된 영상을 생성할 수 있다. 예를 들어, 합성된 영상은 파노라마 영상(panoramic image)일 수 있다. 다른 예로, 합성된 영상은 의료용 영상일 수 있다.In step 910, the undirected graph processing device 300 synthesizes the first image and the second image based on the matched first lattice and second lattice. Matching the first lattice and the second lattice means matching the first undirected graph and the second undirected graph, and matching the first undirected graph and the second undirected graph means matching between the first image and the second image. It means matching between identical or corresponding parts. The undirected graph processing device 300 may generate a synthesized image using a matched portion of the first image and a portion of the second image. For example, the synthesized image may be a panoramic image. As another example, the synthesized image may be a medical image.

단계(920)에서, 무방향 그래프 처리 장치(300)는 매칭된 제1 래티스 및 제2 래티스에 기초하여 제1 영상 및 제2 영상 내의 동일한 오브젝트의 자세 또는 위치를 분석한다. 예를 들어, 제1 래티스는 제1 영상 내의 오브젝트에 관한 것이고, 제2 래티스는 제2 영상 내의 오브젝트에 관한 것일 수 있다. 제1 래티스 및 제2 래티스의 매칭은 제1 영상 내의 오브젝트와 제2 영상 내의 오브젝트의 매칭을 의미할 수 있다.In step 920, the undirected graph processing device 300 analyzes the posture or position of the same object in the first image and the second image based on the matched first lattice and the second lattice. For example, the first lattice may relate to an object in the first image, and the second lattice may relate to an object in the second image. Matching the first lattice and the second lattice may mean matching an object in the first image with an object in the second image.

일 측면에 따르면, 오브젝트의 자세 또는 위치의 분석은 자율 주행 기술에 적용될 수 있다. 자율 주행 차량에 의해 촬영되는 영상들에 기초하여 영상들에 포함된 오브젝트의 자세 또는 위치가 분석될 수 있다. 예를 들어, 시간적으로 선행하는 제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 variant 1 lattice ( ) and local features (F t ) are calculated (1322), and the global structure for the second lattice ( ) and local features (F s ) are calculated (1323). The calculated global structure for the first lattice ( ) and the global structure for the second lattice ( ) The first lattice and the second lattice are matched based on (1324).

단계들(1321, 1322, 1323, 1324)을 포함하는 단계(1320)가 반복적으로 수행됨으로써 다양하게 변형된 제1 래티스와 제2 래티스가 매칭된다.Step 1320, including steps 1321, 1322, 1323, and 1324, is performed repeatedly to match the variously modified first and second lattices.

복수의 매칭 결과들이 계산될 수 있고(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.

변형정도Degree of deformation 1010 2020 3030 4040 5050 6060 7070 8080 9090 100100 매칭
정확도(%)
matching
accuracy(%)
100100 100100 100100 100100 100100 100100 99.999.9 99.799.7 99.799.7 100100

기존의 무방향 그래프 매칭 알고리즘들(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.

외부 포인트개수Number of external points
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 영상으로부터 제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 무방향 그래프를 처리하는 단계
를 포함하는,
복수의 무방향 그래프들 처리 방법.
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항에 있어서,
상기 제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.
제2항에 있어서,
상기 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.
제3항에 있어서,
상기 타겟 래티스를 최적화함으로써 상기 제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.
제4항에 있어서,
상기 단조함수는 아래의 [수학식 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.
제5항에 있어서,
상기 크러스칼 압력-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항에 있어서,
상기 제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항에 있어서,
상기 제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.
제8항에 있어서,
상기 제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.
제8항에 있어서,
상기 제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.
제1항 내지 제10항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
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.
제12항에 있어서,
상기 제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.
제12항에 있어서,
상기 제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.
제12항에 있어서,
상기 제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.
제15항에 있어서,
상기 제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.
제15항에 있어서,
상기 제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.
KR1020180091157A 2017-11-14 2018-08-06 Method and apparatus for processing a plurlity of nondirected graphs KR102631980B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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