KR102617222B1 - Auto topology mapping method based on omni-directional image and system thereof - Google Patents

Auto topology mapping method based on omni-directional image and system thereof Download PDF

Info

Publication number
KR102617222B1
KR102617222B1 KR1020190174558A KR20190174558A KR102617222B1 KR 102617222 B1 KR102617222 B1 KR 102617222B1 KR 1020190174558 A KR1020190174558 A KR 1020190174558A KR 20190174558 A KR20190174558 A KR 20190174558A KR 102617222 B1 KR102617222 B1 KR 102617222B1
Authority
KR
South Korea
Prior art keywords
image
images
features
mapping
automatic phase
Prior art date
Application number
KR1020190174558A
Other languages
Korean (ko)
Other versions
KR20210082027A (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 KR1020190174558A priority Critical patent/KR102617222B1/en
Publication of KR20210082027A publication Critical patent/KR20210082027A/en
Application granted granted Critical
Publication of KR102617222B1 publication Critical patent/KR102617222B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/48Extraction of image or video features by mapping characteristic values of the pattern into a parameter space, e.g. Hough transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Abstract

자동 위상 매핑 처리방법 및 시스템이 개시된다.
상기 자동 위상 매핑 처리방법은 자동 위상 매핑 처리시스템이 복수의 이미지들-상기 복수의 이미지들 중 적어도 두 개는 공통된 공간이 촬영된 공통영역이 존재함-을 획득하는 단계, 상기 자동 위상 매핑 처리시스템이 상기 이미지들 각각으로부터 뉴럴 네트워크를 이용한 피쳐 추출기를 통해 상기 이미지들 각각의 피쳐들을 추출하는 단계, 상기 자동 위상 매핑 처리시스템이 상기 이미지들 각각으로부터 추출된 피쳐들에 기초하여 상기 이미지들 각각의 매핑 이미지를 판단하는 단계를 포함한다.
An automatic phase mapping processing method and system are disclosed.
The automatic phase mapping processing method includes the steps of the automatic phase mapping processing system acquiring a plurality of images - at least two of the plurality of images have a common area in which a common space is photographed, the automatic phase mapping processing system Extracting features of each of the images from each of the images through a feature extractor using a neural network, and the automatic phase mapping processing system mapping each of the images based on the features extracted from each of the images. It includes the step of judging the image.

Description

전방위 화상정보 기반의 자동위상 매핑 처리 방법 및 그 시스템{Auto topology mapping method based on omni-directional image and system thereof}Automatic topology mapping method based on omni-directional image and system thereof}

본 발명은 서로 다른 위치에서 촬영된 복수의 이미지들간에 효과적인 위치관계의 매핑 또는 연결(또는 정합)할 수 있는 방법 및 그 시스템에 관한 것이다. The present invention relates to a method and system that can effectively map or connect (or match) the positional relationship between a plurality of images taken at different locations.

서로 다른 이미지들 간의 위상 매핑을 위한 기술이 널리 알려져 있다. 위상 매핑은 서로 다른 이미지들간의 상대적 위치관계를 파악하거나 또는 이미지들을 연결(또는 정합)하기 위한 기술일 수 있다.Techniques for phase mapping between different images are widely known. Phase mapping may be a technology for determining the relative positional relationship between different images or connecting (or matching) images.

일반적으로 서로 다른 이미지를 연결하기 위해서는 서로 공통된 공간을 포함하고 있는 두 이미지들 각각으로부터 피쳐 포인트를 검출하고, 검출된 피쳐 포인트들이 가장 에러가 적을 수 있도록 겹쳐지게 하는 변환함수(변환행렬, transformation matrix)를 통해 이미지를 변환하여 연결하는 방식이 이용된다.In general, in order to connect different images, feature points are detected from each of the two images that contain a common space, and a transformation function (transformation matrix) is used to overlap the detected feature points to minimize errors. A method of converting and connecting images is used.

또한 서로 다른 이미지들을 연결(정합)하지 않더라도 두 이미지간의 위치관계를 파악하기 위해 두 이미지에 각각 존재하는 서로 매칭되는 포인트들(예컨대, 공간에서 동일한 포인트에 해당하는 서로 다른 두 이미지에서의 포인트들)을 이용하는 기술적 사상들(예컨대, 에피폴라 지오메트리(epipolar geometry) 등)이 공지된 바 있다.In addition, even if different images are not connected (matched), matching points that exist in each of the two images are used to determine the positional relationship between the two images (e.g., points in two different images that correspond to the same point in space). Technical ideas using (e.g., epipolar geometry, etc.) have been known.

하지만 복수의 이미지들이 존재하고 이러한 이미지들 중에서 어떤 이미지들이 서로 연결되어야 할지 또는 어떤 이미지들이 서로 매핑될 수 있는 이미지들인지(예컨대, 동일한 공간을 포함하고 있는 이미지들)를 알 수 없는 경우가 존재할 수 있다. 즉 이미지들 각각의 위치 및/또는 방향을 알지 못하는 경우가 그러한 경우일 수 있다. However, there may be cases where multiple images exist and it is not known which of these images should be connected to each other or which images can be mapped to each other (e.g., images containing the same space). . That is, this may be the case when the location and/or direction of each image is not known.

예컨대, 실내 공간의 서로 다른 복수의 위치들에서 각각 이미지((예컨대, 360도 이미지)을 촬영한 경우, 각각의 이미지들의 위치관계를 특정함으로써 실내 공간의 내비게이션 등과 같은 다양한 서비스가 원활히 이루어질 수 있다. 하지만 각각의 이미지가 촬영된 위치가 알려져 있지 않는 상태에서는 어떠한 이미지가 서로 매핑될 수 있는 이미지들인지 알 수 없다. For example, when images (e.g., 360-degree images) are taken at a plurality of different locations in an indoor space, various services such as navigation of the indoor space can be smoothly performed by specifying the positional relationship of each image. However, if the location where each image was taken is not known, it is impossible to know which images can be mapped to each other.

이러한 경우 이미지들 각각의 조합별로 서로 매핑될 수 있는지 여부를 판단하여야 한다. 하지만 이러한 태스크는 매우 많은 자원과 시간이 소요될 수 있다. 예컨대, 5개의 서로 다른 이미지가 존재하는 경우 서로 매핑될 수 있는 이미지 페어를 찾기 위해서는 제1이미지를 제2이미지 내지 제5이미지와 각각 페어로 설정하여 서로 매핑될 수 있는 이미지인지를 판단할 수 있다. 예컨대, 제1이미지와 공통된 피쳐 포인트들이 가장 많이 발견되는 이미지가 제1이미지와 매핑되는 이미지가 될 수 있다. 왜냐하면 서로 매핑되는 이미지는 공통된 공간을 촬영한 영역이 존재하는 경우이고, 이렇게 공통된 공간이 촬영된 영역에서는 서로 동일한 피쳐 포인트가 발견될 수 있기 때문이다.In this case, it must be determined whether each combination of images can be mapped to each other. However, these tasks can take a lot of resources and time. For example, if there are five different images, in order to find an image pair that can be mapped to each other, the first image can be set as a pair with the second to fifth images, respectively, to determine whether the images can be mapped to each other. . For example, the image in which the most common feature points with the first image are found may be the image mapped to the first image. This is because images that are mapped to each other exist in areas where a common space is captured, and identical feature points can be found in areas where the common space is captured.

이러한 태스크를 모든 이미지 페어별로 수행하여야만이 이미지들 간의 위상관계가 결정될 수 있고, 그 후 서로 인접한 이미지들간에 매핑이 수행될 수 있다. 본 명세서에서 매핑이 수행된다고 함은 두 이미지들이 연결(정합)될 수 있는 경우에는 두 이미지들을 정합하는 경우일 수도 있지만, 서로 다른 두 위치에서 촬영된 이미지들과 같이 연결(정합)될 필요가 없는 경우에는 두 이미지들간의 상대적인 위치관계를 파악하는 것을 포함하는 의미로 정의할 수 있다.Only by performing this task for each image pair can the phase relationship between images be determined, and then mapping can be performed between adjacent images. In this specification, mapping may mean matching two images if they can be connected (matched), but there is no need to connect (matched) images like images taken at two different locations. In this case, it can be defined to include understanding the relative positional relationship between two images.

이처럼 이미지들의 개수가 많아질수록 매핑될 수 있는 이미지들의 파악 및 파악된 이미지들 간의 위치관계를 특정하는데 소요되는 비용은 기하급수적으로 증가하는 문제점이 있다.As the number of images increases, the cost required to identify images that can be mapped and to specify the positional relationships between the identified images increases exponentially.

따라서 본 발명이 이루고자 하는 기술적인 과제는 복수의 이미지들간의 매핑을를 빠르고 효과적으로 판단할 수 있는 방법 및 시스템을 제공하는 것이다.Therefore, the technical task to be achieved by the present invention is to provide a method and system that can quickly and effectively determine the mapping between a plurality of images.

상기 기술적 과제를 달성하기 위한 자동 위상 매핑 처리방법은 자동 위상 매핑 처리시스템이 복수의 이미지들-상기 복수의 이미지들 중 적어도 두 개는 공통된 공간이 촬영된 공통영역이 존재함-을 획득하는 단계, 상기 자동 위상 매핑 처리시스템이 상기 이미지들 각각으로부터 뉴럴 네트워크를 이용한 피쳐 추출기를 통해 상기 이미지들 각각의 피쳐들을 추출하는 단계, 상기 자동 위상 매핑 처리시스템이 상기 이미지들 각각으로부터 추출된 피쳐들에 기초하여 상기 이미지들 각각의 매핑 이미지를 판단하는 단계를 포함한다.The automatic phase mapping processing method for achieving the above technical problem includes the steps of the automatic phase mapping processing system acquiring a plurality of images - at least two of the plurality of images have a common area in which a common space is photographed; The automatic phase mapping processing system extracting features of each of the images from each of the images through a feature extractor using a neural network, the automatic phase mapping processing system extracting features from each of the images based on the features extracted from each of the images. It includes determining a mapping image for each of the images.

상기 자동 위상 매핑 처리시스템이 상기 이미지들 각각으로부터 추출된 피쳐들에 기초하여 상기 이미지들 각각의 매핑 이미지를 판단하는 단계는, 상기 이미지들 각각으로부터 추출된 피쳐들에 상응하는 벡터들을 DB로 구축하는 단계, 상기 이미지들 중 소정의 제1이미지로부터 추출된 제1피쳐들에 상응하는 제1벡터들 중 적어도 일부인 벡터 세트를 상기 구축된 DB에 벡터 서치하는 단계, 상기 벡터 서치 결과에 기초하여 추출된 제2이미지를 상기 제1이미지의 매핑 이미지로 판단하는 단계를 포함할 수 있다.The step of the automatic phase mapping processing system determining a mapping image for each of the images based on the features extracted from each of the images includes constructing vectors corresponding to the features extracted from each of the images into a DB. A step of vector searching the constructed DB for a vector set that is at least some of the first vectors corresponding to first features extracted from a predetermined first image among the images, and extracting the vector set based on the vector search results. It may include determining the second image to be a mapping image of the first image.

상기 자동 위상 매핑 처리방법은 상기 제1이미지와 상기 제1이미지의 매핑 이미지로 판단된 상기 제2이미지의 매핑을 수행하는 단계를 더 포함할 수 있다.The automatic phase mapping processing method may further include performing mapping of the first image and the second image determined to be a mapping image of the first image.

상기 제1이미지와 상기 제1이미지의 매핑 이미지로 판단된 상기 제2이미지의 매핑을 수행하는 단계는, 상기 제1이미지로부터 추출된 제1피쳐들에 각각에 대응되는 상기 제1이미지상의 제1피쳐대응위치들 및 상기 제2이미지로부터 추출된 제2피쳐들에 각각에 대응되는 상기 제2이미지상의 제2피쳐대응위치들을 판단하는 단계, 판단된 제1피쳐대응위치들 및 상기 제2피쳐대응위치들에 기초하여 상기 제1이미지 및 상기 제2이미지의 상대적 위치관계를 판단하는 단계를 포함할 수 있다.The step of performing mapping of the first image and the second image determined to be a mapping image of the first image includes the first image on the first image corresponding to each of the first features extracted from the first image. Determining feature corresponding positions and second feature corresponding positions on the second image that respectively correspond to second features extracted from the second image, the determined first feature corresponding positions and the second feature corresponding positions. It may include determining a relative positional relationship between the first image and the second image based on the positions.

상기 뉴럴 네트워크는 소정의 이미지를 겹치는 영역이 존재하도록 분할한 후, 분할한 이미지들 각각의 겹치는 공통영역에서 각각 추출되는 서로 대응되는 포인트들이 최적으로 매칭될 수 있는 변환관계를 출력하도록 학습된 뉴럴 네트워크일 수 있다.The neural network is a neural network trained to divide a predetermined image so that there is an overlapping area, and then output a transformation relationship that can optimally match the corresponding points extracted from the overlapping common area of each of the divided images. It can be.

상기 이미지들 각각은 실내의 서로 다른 위치에서 촬영된 360도 영상인 것을 특징으로 할 수 있다.Each of the above images may be a 360-degree video taken from different locations indoors.

다른 실시 예에 따른 자동 위상 매핑 처리방법은 자동 위상 매핑 처리시스템이 복수의 이미지들-상기 복수의 이미지들 중 적어도 두 개는 공통된 공간이 촬영된 공통영역이 존재함-을 획득하는 단계, 상기 자동 위상 매핑 처리시스템이 상기 이미지들 각각으로부터 피쳐를 추출하는 단계, 상기 이미지들 각각으로부터 추출된 피쳐들에 상응하는 벡터들을 DB로 구축하는 단계, 상기 이미지들 중 소정의 제1이미지로부터 추출된 제1피쳐들에 상응하는 제1벡터들 중 적어도 일부인 벡터 세트를 상기 구축된 DB에 벡터 서치하는 단계, 상기 벡터 서치 결과에 기초하여 추출된 제2이미지를 상기 제1이미지에 상응하는 매핑 이미지로 판단하는 단계를 포함할 수 있다.An automatic phase mapping processing method according to another embodiment includes the steps of an automatic phase mapping processing system acquiring a plurality of images - at least two of the plurality of images have a common area in which a common space is photographed, the automatic phase mapping processing system A phase mapping processing system extracting features from each of the images, constructing vectors corresponding to the features extracted from each of the images in a DB, and extracting a first image from a predetermined first image among the images. Performing a vector search in the constructed DB for a vector set that is at least some of the first vectors corresponding to features, determining a second image extracted based on the vector search results as a mapping image corresponding to the first image. May include steps.

상기의 방법은 데이터 처리장치에 설치되며 기록매체에 저장된 컴퓨터프로그램에 의해 구현될 수 있다. The above method can be implemented by a computer program installed in a data processing device and stored in a recording medium.

일 실시 예에 따른 자동 위상 매핑 처리시스템은 프로세서, 상기 프로세서에 의해 구현되는 프로그램이 저장된 메모리를 포함하며, 상기 프로그램은 복수의 이미지들-상기 복수의 이미지들 중 적어도 두 개는 공통된 공간이 촬영된 공통영역이 존재함-을 획득하고, 상기 이미지들 각각으로부터 뉴럴 네트워크를 이용한 피쳐 추출기를 통해 상기 이미지들 각각의 피쳐들을 추출하며, 상기 이미지들 각각으로부터 추출된 피쳐들에 기초하여 상기 이미지들 각각의 매핑 이미지를 판단한다.An automatic phase mapping processing system according to an embodiment includes a processor and a memory storing a program implemented by the processor, wherein the program stores a plurality of images - at least two of the plurality of images are photographed in a common space. A common region exists- is acquired, features of each of the images are extracted from each of the images through a feature extractor using a neural network, and each of the images is extracted based on the features extracted from each of the images. Determine the mapping image.

상기 프로세서는 상기 이미지들 각각으로부터 추출된 피쳐들에 상응하는 벡터들을 DB로 구축하고, 상기 이미지들 중 소정의 제1이미지로부터 추출된 제1피쳐들에 상응하는 제1벡터들 중 적어도 일부인 벡터 세트를 상기 구축된 DB에 벡터 서치하며, 상기 벡터 서치 결과에 기초하여 추출된 제2이미지를 상기 제1이미지의 매핑 이미지로 판단할 수 있다.The processor constructs a database of vectors corresponding to the features extracted from each of the images, and creates a vector set that is at least some of the first vectors corresponding to the first features extracted from a predetermined first image among the images. A vector search is performed on the constructed DB, and the second image extracted based on the vector search results can be determined to be a mapping image of the first image.

상기 프로세서는 상기 제1이미지로부터 추출된 제1피쳐들에 각각에 대응되는 상기 제1이미지상의 제1피쳐대응위치들 및 상기 제2이미지로부터 추출된 제2피쳐들에 각각에 대응되는 상기 제2이미지상의 제2피쳐대응위치들을 판단하고, 판단된 제1피쳐대응위치들 및 상기 제2피쳐대응위치들에 기초하여 상기 제1이미지 및 상기 제2이미지의 상대적 위치관계를 판단할 수 있다.The processor determines first feature corresponding positions on the first image, which respectively correspond to first features extracted from the first image, and the second features corresponding to each of the second features extracted from the second image. Second feature corresponding positions on the image may be determined, and a relative positional relationship between the first image and the second image may be determined based on the determined first feature corresponding positions and the second feature corresponding positions.

다른 일 실시 예에 따른 자동 위상 매핑 처리시스템은 프로세서, 상기 프로세서에 의해 구현되는 프로그램이 저장된 메모리를 포함하며, 상기 프로그램은 복수의 이미지들-상기 복수의 이미지들 중 적어도 두 개는 공통된 공간이 촬영된 공통영역이 존재함-을 획득하고, 상기 이미지들 각각으로부터 피쳐를 추출하며, 상기 이미지들 각각으로부터 추출된 피쳐들에 상응하는 벡터들을 DB로 구축하고, 상기 이미지들 중 소정의 제1이미지로부터 추출된 제1피쳐들에 상응하는 제1벡터들 중 적어도 일부인 벡터 세트를 상기 구축된 DB에 벡터 서치하고, 상기 벡터 서치 결과에 기초하여 추출된 제2이미지를 상기 제1이미지에 상응하는 매핑 이미지로 판단할 수 있다.An automatic phase mapping processing system according to another embodiment includes a processor and a memory storing a program implemented by the processor, wherein the program captures a plurality of images - at least two of the plurality of images have a common space. A common region exists - to obtain, extract features from each of the images, construct vectors corresponding to the features extracted from each of the images into a DB, and extract from a predetermined first image among the images. A vector set that is at least some of the first vectors corresponding to the extracted first features is searched in the constructed DB, and the second image extracted based on the vector search result is a mapping image corresponding to the first image. It can be judged as follows.

본 발명에 의하면 뉴럴 네트워크를 이용한 이미지 피쳐들을 이용하여 빠른 시간 내에 피쳐를 추출할 수 있고, 이를 활용하여 벡터 서치 방식으로 복수의 이미지들이 존재하는 경우에 서로 매핑될 수 있는 이미지들의 파악을 효과적으로 수행할 수 있는 효과가 있다. According to the present invention, it is possible to extract features in a short time using image features using a neural network, and by utilizing this, it is possible to effectively identify images that can be mapped to each other when a plurality of images exist using a vector search method. There is a possible effect.

또한 매핑될 수 있는 이미지들을 파악한 후에도 뉴럴 네트워크에서 이용하여 되는 피쳐를 이용함으로써 효과적인 매핑이 수행될 수 있는 효과가 있다. In addition, even after identifying images that can be mapped, effective mapping can be performed by using features used in a neural network.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 자동 위상 매핑 처리방법을 구현하기 위한 개략적인 구성을 설명하기 위한 도면이다.
도 2는 본 발명의 실시 예에 따른 자동 위상 매핑 처리시스템의 개략적인 구성을 나타내는 도면이다.
도 3은 본 발명의 실시 예에 따른 자동 위상 매핑 처리시스템의 논리적 구성을 개략적으로 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 자동 위상 매핑 처리방법을 위해 뉴럴 네트워크의 피쳐를 이용하는 개념을 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른 뉴럴 네트워크 피쳐를 이용할 경우의 장점을 설명하기 위한 도면이다.
도 6은 본 발명의 실시 예에 따른 뉴럴 네트워크 피쳐에 대응되는 피쳐위치를 설명하기 위한 도면이다.
도 7은 본 발명의 실시 예에 따른 자동 위상 매핑 처리방법에서 이미지들 간의 매핑 이미지를 탐색하는 방법을 설명하기 위한 플로우 차트이다.
도 8은 본 발명의 실시 예에 따른 자동 위상 매핑 처리방법에서 이미지들을 매핑하기 위한 방법을 설명하기 위한 플로우 차트이다.
In order to more fully understand the drawings cited in the detailed description of the present invention, a brief description of each drawing is provided.
1 is a diagram illustrating a schematic configuration for implementing an automatic phase mapping processing method according to an embodiment of the present invention.
Figure 2 is a diagram showing the schematic configuration of an automatic phase mapping processing system according to an embodiment of the present invention.
Figure 3 is a diagram schematically illustrating the logical configuration of an automatic phase mapping processing system according to an embodiment of the present invention.
Figure 4 is a diagram for explaining the concept of using features of a neural network for an automatic phase mapping processing method according to an embodiment of the present invention.
Figure 5 is a diagram to explain the advantages of using a neural network feature according to an embodiment of the present invention.
Figure 6 is a diagram for explaining feature positions corresponding to neural network features according to an embodiment of the present invention.
Figure 7 is a flow chart to explain a method of searching for mapping images between images in the automatic phase mapping processing method according to an embodiment of the present invention.
Figure 8 is a flow chart to explain a method for mapping images in the automatic phase mapping processing method according to an embodiment of the present invention.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.In order to fully understand the present invention, its operational advantages, and the objectives achieved by practicing the present invention, reference should be made to the accompanying drawings illustrating preferred embodiments of the present invention and the contents described in the accompanying drawings.

또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. Additionally, in this specification, when one component 'transmits' data to another component, the component may transmit the data directly to the other component, or through at least one other component. This means that the data can be transmitted to the other components.

반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.Conversely, when one component 'directly transmits' data to another component, it means that the data is transmitted from the component to the other component without going through the other component.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, the present invention will be described in detail by explaining preferred embodiments of the present invention with reference to the accompanying drawings. The same reference numerals in each drawing indicate the same member.

도 1은 본 발명의 실시 예에 따른 자동 위상 매핑 처리방법을 구현하기 위한 개략적인 구성을 설명하기 위한 도면이다. 또한, 도 2는 본 발명의 실시 예에 따른 자동 위상 매핑 처리시스템의 개략적인 구성을 나타내는 도면이다. 1 is a diagram illustrating a schematic configuration for implementing an automatic phase mapping processing method according to an embodiment of the present invention. Additionally, Figure 2 is a diagram showing the schematic configuration of an automatic phase mapping processing system according to an embodiment of the present invention.

본 발명의 기술적 사상에 따른 자동 위상 매핑 처리방법을 구현하기 위해서는 자동 위상 매핑 처리시스템(100)이 구비된다.In order to implement an automatic phase mapping processing method according to the technical idea of the present invention, an automatic phase mapping processing system 100 is provided.

상기 자동 위상 매핑 처리시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 프로그램이 저장되는 메모리(2), 및 상기 메모리(2)에 저장된 프로그램을 실행하기 위한 프로세서(1)가 구비될 수 있다.The automatic phase mapping processing system 100 may be provided with a memory 2 in which a program for implementing the technical idea of the present invention is stored, and a processor 1 for executing the program stored in the memory 2. .

상기 프로세서(1)는 상기 자동 위상 매핑 처리시스템(100)의 구현 예에 따라, CPU, 모바일 프로세서 등 다양한 명칭으로 명명될 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.An average expert in the technical field of the present invention can easily deduce that the processor 1 may be named by various names such as CPU, mobile processor, etc., depending on the implementation example of the automatic phase mapping processing system 100. .

상기 메모리(2)는 상기 프로그램이 저장되며, 상기 프로그램을 구동시키기 위해 상기 프로세서가 접근할 수 있는 어떠한 형태의 저장장치로 구현되어도 무방하다. 또한 하드웨어적 구현 예에 따라 상기 메모리(2)는 어느 하나의 저장장치가 아니라 복수의 저장장치로 구현될 수도 있다. 또한 상기 메모리(2)는 주기억장치 뿐만 아니라, 임시기억장치를 포함할 수도 있다. 또한 휘발성 메모리 또는 비휘발성 메모리로 구현될 수도 있으며, 상기 프로그램이 저장되고 상기 프로세서에 의해 구동될 수 있도록 구현되는 모든 형태의 정보저장 수단을 포함하는 의미로 정의될 수 있다. The memory 2 stores the program and may be implemented as any type of storage device that can be accessed by the processor to run the program. Additionally, depending on the hardware implementation example, the memory 2 may be implemented not as a single storage device but as a plurality of storage devices. Additionally, the memory 2 may include not only a main memory but also a temporary memory. It may also be implemented as volatile memory or non-volatile memory, and can be defined to include all types of information storage means implemented so that the program can be stored and driven by the processor.

상기 자동 위상 매핑 처리시스템(100)은 실시 예에 따라 웹 서버, 컴퓨터, 모바일 폰, 태블릿, TV, 셋탑박스 등 다양한 방식으로 구현될 수 있으며, 본 명세서에서 정의되는 기능을 수행할 수 있는 어떠한 형태의 데이터 프로세싱 장치도 포함하는 의미로 정의될 수 있다.The automatic phase mapping processing system 100 may be implemented in various ways, such as a web server, computer, mobile phone, tablet, TV, or set-top box, depending on the embodiment, and may be implemented in any form that can perform the functions defined in this specification. It can be defined to include data processing devices.

또한 상기 자동 위상 매핑 처리시스템(100)의 실시 예에 따라 다양한 주변장치들(3)이 더 구비될 수 있다. 예컨대, 키보드, 모니터, 그래픽 카드, 통신장치 등이 주변장치로써 상기 자동 위상 매핑 처리시스템(100)에 더 포함될 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다. Additionally, depending on the embodiment of the automatic phase mapping processing system 100, various peripheral devices 3 may be further provided. For example, an average expert in the field of the present invention can easily deduce that a keyboard, monitor, graphics card, communication device, etc. may be further included in the automatic phase mapping processing system 100 as peripheral devices.

본 발명의 기술적 사상에 따른 자동 위상 매핑 처리시스템(100)은 복수의 이미지들 중 서로 매핑될 수 있는 이미지들 즉 매핑 이미지들을 파악할 수 있다. 또한 실시 예에 따라서는 상기 자동 위상 매핑 처리시스템(100)은 파악한 매핑 이미지들간의 매핑을 수행할 수도 있다. The automatic phase mapping processing system 100 according to the technical idea of the present invention can identify images that can be mapped to each other, that is, mapping images, among a plurality of images. Additionally, depending on the embodiment, the automatic phase mapping processing system 100 may perform mapping between identified mapping images.

매핑 이미지들은 서로 가장 근접한 위상관계를 가지는 이미지들을 의미할 수 있다. 가장 근접한 위상관계는 거리가 가까운 것뿐 아니라 공간적으로도 직접 서로 이동이 가능하여야 하는 경우일 수 있고, 이러한 예는 공통된 공간이 가장 많이 포함되어 있는 이미지들일 수 있다. Mapping images may refer to images that have the closest phase relationship to each other. The closest phase relationship may be one in which the images are not only close in distance but must also be able to move directly to each other in space, and examples of this may be images that contain the most common space.

또한 매핑을 수행한다고 함은, 전술한 바와 같이 두 이미지들간에 정합을 의미할 수도 있지만, 본 발명에서는 두 이미지들의 위상 즉, 상대적인 위치관계를 파악하는 경우를 위주로 설명하도록 한다.Additionally, performing mapping may mean matching between two images as described above, but in the present invention, the description will focus on the case of determining the phase, that is, the relative positional relationship, of the two images.

예컨대, 도 1에 도시된 바와 같이 상기 자동 위상 매핑 처리시스템(100)은 복수 개(예컨대, 5개)의 이미지들을 입력받을 수 있다. 그러면 상기 자동 위상 매핑 처리시스템(100)은 복수 개의 이미지들 중 서로 매핑될 수 있는 이미지 즉 매핑 이미지들이 어떤 것인지를 파악하고, 파악한 매핑 이미지들의 매핑을 수행할 수 있다. For example, as shown in FIG. 1, the automatic phase mapping processing system 100 may receive a plurality of images (eg, five). Then, the automatic phase mapping processing system 100 can determine which images, that is, mapping images, can be mapped to each other among the plurality of images, and perform mapping of the identified mapping images.

예컨대 본 발명의 실시 예에서 이미지들은 서로 다른 위치에서 촬영된 전방위 이미지(360 이미지)일 수 있다. 그리고 매핑 이미지들은 서로 공통된 공간을 가장 많이 공유하고 있는 이미지들 페어일 수 있다. For example, in an embodiment of the present invention, images may be omnidirectional images (360 images) taken at different locations. And the mapping images may be pairs of images that share the most common space with each other.

예컨대, 도 1b에 도시된 바와 같이 위치 a, b, c, d, e 에서 촬영된 이미지들 각각이 이미지 1, 이미지 2, 이미지 3, 이미지 4, 및 이미지 5일 수 있다.For example, as shown in FIG. 1B, images taken at locations a, b, c, d, and e may be image 1, image 2, image 3, image 4, and image 5, respectively.

이러한 경우 이미지 1과 이미지 2 및 이미지 3은 공통된 촬영된 영상 내에 공통된 공간이 상당히 많이 포함되어 있지만, 상대적으로 이미지 1과 이미지 2에 더 많은 공통된 공간이 포함되어 있을 수 있다. 따라서 이미지 1의 매핑 이미지는 이미지 2일 수 있다. In this case, Image 1, Image 2, and Image 3 contain a significant amount of common space within the common captured image, but Image 1 and Image 2 may contain relatively more common space. Therefore, the mapping image of image 1 may be image 2.

그러면 이미지 2에 대해서 매핑 이미지를 탐색해야하고 이때 이미 매핑 이미지가 확정된 이미지 1은 제외될 수 있다. 그러면 이미지 2의 매핑 이미지는 이미지 3이 될 수 있다. Then, the mapping image must be searched for image 2, and at this time, image 1, for which the mapping image has already been confirmed, can be excluded. Then the mapping image of image 2 can be image 3.

이와 같은 방식을 이미지 3의 매핑 이미지는 이미지 4가 될 수 있고, 이미지 4의 매핑 이미지는 이미지 5가 될 수 있다.In this way, the mapping image of image 3 can be image 4, and the mapping image of image 4 can be image 5.

그러면 자동 위상 매핑 처리시스템(100)은 이미지 1을 기준으로 매핑 이미지인 이미지 2에 대한 매핑을 수행할 수 있다. 즉, 이미지 2의 이미지 1에 대한 위상 이미지 2의 이미지 1에 대한 상대적 위치를 파악할 수 있다. 그리고 이미지 3의 이미지 2에 대한 위상, 이미지 4의 이미지 3에 대한 위상, 및 이미지 5의 이미지 4에 대한 위상을 순차적으로 파악함으로써 전체 이미지들간의 위상관계가 특정될 수 있다.Then, the automatic phase mapping processing system 100 can perform mapping on image 2, which is a mapping image, based on image 1. In other words, the relative position of image 2 with respect to image 1 and the relative position of image 2 with respect to image 1 can be determined. Additionally, the phase relationship between all images can be specified by sequentially determining the phase of image 3 with respect to image 2, the phase of image 4 with respect to image 3, and the phase of image 5 with respect to image 4.

결국 종래는 전방위 이미지들이 복수 존재하고 각각의 전방위 이미지들의 정확한 위치를 알 수 없는 경우에는, 복수의 이미지들의 위치관계를 파악하기 위해서는 상당한 시간과 자원이 필요할 수 있다. Ultimately, conventionally, when there are a plurality of omnidirectional images and the exact location of each omnidirectional image is not known, considerable time and resources may be required to determine the positional relationship between the plurality of images.

예컨대, 종래의 방식에 의하면 모든 이미지들별로 소정의 피쳐 포인트를 추출하고, 추출된 피쳐 포인트들을 이용하여 모든 이미지 쌍(페어)별로 공통된 피쳐 포인트가 얼마나 존재하는지를 파악하여야 한다. 그리고 공통된 피쳐 포인트가 가장 많은 이미지 쌍이 서로 매핑 이미지로 파악될 수 있고, 공통된 피쳐 포인트들의 위치에 따라 매핑 즉, 상대적 위치관계가 결정될 수 있다. 만약 정합이 필요한 경우에는 공통된 피쳐 포인트들을 최소한의 에러로 겹쳐지게 하기 위한 변환행렬이 결정되고 이러한 변환행렬을 통한 어느 하나의 이미지의 변환을 통해 두 이미지는 연결(정합)될 수 있다.For example, according to the conventional method, a predetermined feature point must be extracted for each image, and the extracted feature points must be used to determine how many common feature points exist for each pair of images. And image pairs with the most common feature points can be identified as mapping images, and mapping, that is, relative positional relationship, can be determined according to the positions of the common feature points. If registration is necessary, a transformation matrix is determined to overlap common feature points with minimal error, and the two images can be connected (registered) by transforming one image through this transformation matrix.

하지만 이러한 종래의 방식에서 사용되는 피쳐 포인트는 피쳐 포인트의 추출에도 상당한 시간과 연산량이 소요된다. 또한 매핑 이미지를 파악하기 위해 위해 모든 이미지 페어별로 피쳐 포인트를 비교하는 연산을 수행하여야 하는데 이미지들의 피쳐 포인트의 개수가 많을수록 이러한 연산은 상당한 시간이 걸리는 문제점이 있다.However, the feature points used in this conventional method require considerable time and computational effort to extract the feature points. Additionally, in order to identify the mapping image, an operation that compares feature points for each image pair must be performed, but as the number of feature points in the images increases, this operation takes a significant amount of time.

하지만 전술한 바와 같이 본 발명의 기술적 사상에 의하면 빠르고 정확하게 자동으로 이러한 복수의 이미지들 중에서 매핑 이미지를 탐색하고 탐색된 매핑 이미지들에 대한 매핑을 수행할 수 있다.However, as described above, according to the technical idea of the present invention, it is possible to quickly and accurately automatically search for mapping images among a plurality of images and perform mapping on the searched mapping images.

이러한 문제점을 해결하기 위해 본 발명의 기술적 사상에 따른 자동 위상 매핑 처리시스템(100)은 뉴럴 네트워크 피쳐를 이용할 수 있다. To solve this problem, the automatic phase mapping processing system 100 according to the technical idea of the present invention can use neural network features.

본 명세서에서 정의되는 뉴럴 네트워크 피쳐는 소정의 목적을 달성하기 위해 학습된 뉴럴 네트워크의 소정의 레이어의 피쳐 맵(feature map)에서 선택된 전부 또는 일부의 피쳐들을 의미할 수 있다. Neural network features defined in this specification may refer to all or part of the features selected from the feature map of a certain layer of a neural network learned to achieve a certain purpose.

이러한 피쳐들은 특정 목적을 달성하기 위해 학습된 뉴럴 네트워크(예컨대, 컨벌루셔널 뉴럴 네트워크)에서 이용되며 상기 특정 목적을 달성하도록 뉴럴 네트워크가 학습되면 학습된 뉴럴 네트워크에 의해 도출되는 정보일 수 있다. These features are used in a neural network (eg, a convolutional neural network) learned to achieve a specific purpose, and may be information derived from the learned neural network when the neural network is trained to achieve the specific purpose.

예컨대, 도 4에 도시된 바와 같은 뉴럴 네트워크(20)가 존재할 수 있고, 상기 뉴럴 네트워크는 컨벌루션 뉴럴 네트워크(CNN)일 수 있다. For example, a neural network 20 as shown in FIG. 4 may exist, and the neural network may be a convolutional neural network (CNN).

이러한 경우 복수의 레이어들(21 ,22, 23, 24)이 상기 뉴럴 네트워크(20)에 포함될 수 있고, 입력 레이어(21)와 출력 레이어(24) 및 복수의 히든 레이어들(22, 23)이 존재할 수 있다. 상기 출력 레이어(24)는 이전 레이어와 완전 연결(fully connected)된 레이어일 수 있고, 본 발명의 기술적 사상에 따른 자동 위상 매핑 처리시스템(100)은 상기 출력 레이어(24) 또는 풀리 커넥티드 레이어 이전의 임의의 피쳐 맵이 포함되는 레이어(예컨대, 23)에서 상기 뉴럴 네트워크 피쳐(f1, f2, f3)를 선택할 수 있다.In this case, a plurality of layers 21, 22, 23, 24 may be included in the neural network 20, and an input layer 21, an output layer 24, and a plurality of hidden layers 22, 23 may be included in the neural network 20. It can exist. The output layer 24 may be a layer fully connected to the previous layer, and the automatic phase mapping processing system 100 according to the technical idea of the present invention may be used before the output layer 24 or the fully connected layer. The neural network features (f1, f2, f3) can be selected from a layer (eg, 23) containing a random feature map of .

상기 자동 위상 매핑 처리시스템(100)이 이용하는 뉴럴 네트워크 피쳐(f1, f2, f3)는 해당 레이어의 피쳐 맵에 포함된 모든 피쳐일 수도 있고, 이중에서 일부 선택된 피쳐일 수도 있다.The neural network features (f1, f2, f3) used by the automatic phase mapping processing system 100 may be all features included in the feature map of the corresponding layer, or may be some selected features among them.

상기 자동 위상 매핑 처리시스템(100)은 이러한 피쳐를 종래의 핸드 크래프트 피쳐 포인트 예컨대, SIFT(Scale-Invariant Feature Transform)], SURF (Speeded Up Robust Features), 또는 ORB(Oriented FAST and Rotated BRIEF) 대신 이용하여 매핑 이미지를 파악하거나 매핑 이미지들간의 매핑을 수행하는데 이용할 수 있다. 즉, 종래의 핸드 크래프트 피쳐들 대신에 컨벌루셔널 뉴럴 네트워크에서 이용되는 피쳐들이 이용될 수 있다. The automatic phase mapping processing system 100 uses these features instead of conventional hand-crafted feature points, such as Scale-Invariant Feature Transform (SIFT), Speeded Up Robust Features (SURF), or Oriented FAST and Rotated BRIEF (ORB). This can be used to identify mapping images or perform mapping between mapping images. That is, features used in a convolutional neural network can be used instead of conventional hand-crafted features.

이는 이미지의 피쳐는 스케일(scale) 또는 오리엔테이션(orientation)에 무관하게 동일한 특성을 가져야 하는 것이 바람직한데, 컨벌루셔널 뉴럴 네트워크에서 출력 레이더(23) 이전의 레이어는 복수의 비선형적 컨벌루션 함수 및/또는 풀링 함수 등을 통해 이러한 특징을 가지게 된다. 더욱이 종래의 핸드 크래프트 피쳐들은 이미지에서의 모서리 등과 같이 사람이 정의한 특징적인 위치에서만 추출되며 대개는 에지가 존재하는 곳(예컨대, 에지가 꺾이는 위치 등)에서만 추출되는 특징이 있다.It is desirable that the features of the image have the same characteristics regardless of scale or orientation. In the convolutional neural network, the layer before the output radar 23 includes a plurality of nonlinear convolution functions and/or These features are achieved through pooling functions, etc. Moreover, conventional handcrafted features are extracted only from characteristic locations defined by humans, such as corners in an image, and are usually extracted only from places where edges exist (for example, where edges bend, etc.).

하지만 뉴럴 네트워크 피쳐는 이러한 위치가 아니라 이미지의 플랫(flat)한 영역에서도 발견될 수 있도록 뉴럴 네트워크(20)가 학습될 수 있는 장점이 있다. 또한, 핸드 크래프트 피쳐는 이미지의 왜곡이나 이미지 품질에 따라 피쳐 포인트가 검출되어야 함에도 불구하고 검출되지 않는 경우가 종종 발생하는데 비해 뉴럴 네트워크 피쳐는 이러한 이미지 왜곡에 훨씬 강인한 특성이 있어서 피쳐 추출에 있어서도 정확도의 향상이 존재할 수 있다. However, there is an advantage that the neural network 20 can be learned so that neural network features can be found not in these locations but also in flat areas of the image. In addition, while handcrafted features often fail to detect feature points even though they should be detected due to image distortion or image quality, neural network features are much more robust to such image distortions, ensuring lower accuracy in feature extraction. Improvement may exist.

상기 뉴럴 네트워크(20)는 그 자체가 피쳐 추출기(feature extracter)일 수도 있다. 예컨대, 출력 레이어(24) 또는 풀리 커넥티드 직전 레이어(23)에서 피쳐가 선택되는 경우, 상기 출력 레이어(24)는 직전 레이어(23)의 선택된 피쳐(f1, f2, f3) 자체를 출력하도록 설계될 수도 있고, 이러한 경우는 상기 뉴럴 네트워크(20) 자체가 피쳐 추출기로 작동할 수 있다.The neural network 20 may itself be a feature extractor. For example, when a feature is selected from the output layer 24 or the fully connected previous layer 23, the output layer 24 is designed to output the selected features (f1, f2, f3) of the previous layer 23 itself. This may be the case, and in this case, the neural network 20 itself may operate as a feature extractor.

또는 상기 뉴럴 네트워크(20)는 별개의 고유 목적(예컨대, 클래시피케이션, 오브젝트 디텍팅 등)을 달성하기 위해 학습된 것일 수도 있다. 이러한 경우에도 소정의 레이어에서 항상 일관된 피쳐를 선택하여 뉴럴 네트워크 피쳐로 이용할 수 있다. 예컨대, 도 4의 경우에는 출력 레이어(24)를 제외한 나머지 레이어들의 결합이 피쳐 추출기로 동작할 수 있다.Alternatively, the neural network 20 may have been learned to achieve a separate unique purpose (eg, clashification, object detecting, etc.). Even in this case, consistent features can always be selected from a given layer and used as neural network features. For example, in the case of FIG. 4, the combination of the remaining layers excluding the output layer 24 can operate as a feature extractor.

본 발명의 일 실시 예에 의하면, 상기 뉴럴 네트워크(20)는 어느 하나의 이미지를 겹치는 영역이 존재하도록 분할한 후, 분할한 이미지들 각각의 겹치는 공통영역에서 각각 추출되는 서로 대응되는 포인트들이 매칭될 수 있도록 최적의 변환관계(예컨대 에러가 최소가 되는)를 도출할 수 있도록 학습된 뉴럴 네트워크일 수 있다.According to one embodiment of the present invention, the neural network 20 divides one image so that there is an overlapping area, and then the corresponding points extracted from the overlapping common area of each of the divided images are matched. It may be a neural network that has been trained to derive an optimal transformation relationship (e.g., one that minimizes errors).

예컨대, 도 4b에 도시된 바와 같이 소정의 이미지(6)의 전부 또는 일부는 겹치는 공통영역(6-3)이 존재하도록 분할될 수 있다. 그리고 분할된 이미지들(6-1 및 6-2) 각각으로부터 서로 대응되는 포인트들(예컨대, P11 내지 P14, P21 내지 P24)이 소정의 개수 추출될 수 있다. For example, as shown in FIG. 4B, all or part of a given image 6 may be divided so that an overlapping common area 6-3 exists. And a predetermined number of points (eg, P11 to P14, P21 to P24) corresponding to each other can be extracted from each of the divided images 6-1 and 6-2.

그러면 제1분할 이미지(6-1)에서 추출된 포인트들(P11 내지 P14)이 제2분할 이미지(6-2)에서 추출된 포인트들(P21 내지 P24)을 최소에러로 변환될 수 있도록(예컨대, 변환행렬의 파라미터를 결정) 학습되는 뉴럴 네트워크를 상기 뉴럴 네트워크(20)로 구현할 수 있다. Then, the points P11 to P14 extracted from the first split image 6-1 can be converted to the points P21 to P24 extracted from the second split image 6-2 with minimum error (e.g. , determining the parameters of the transformation matrix), the learned neural network can be implemented with the neural network 20.

이때 상기 포인트들(예컨대, P11 내지 P14, P21 내지 P24)은 임의로 선택되는 포인트일 수도 있고, 각각의 이미지들의 공통영역에서 소정의 방식으로 추출된 피쳐 포인트일 수도 있다.At this time, the points (eg, P11 to P14, P21 to P24) may be arbitrarily selected points or feature points extracted in a predetermined manner from the common area of each image.

어떠한 경우든 소정의 목적을 달성하기 위해 잘 학습된 뉴럴 네트워크(20)의 전부 또는 일부가 이미지에서 피쳐를 선택하고 추출하는 피쳐 추출기로 이용될 수 있다.In any case, all or part of the well-trained neural network 20 can be used as a feature extractor to select and extract features from the image to achieve a predetermined purpose.

그리고 이러한 피쳐 추출기를 이용해 상기 자동 위상 매핑 처리시스템(100)이 입력받은 서로 다른 이미지들 각각에 포함된 공통영역에서는 동일한 피쳐가 추출될 수 있다. 따라서 어떤 하나의 이미지에서 동일한 피쳐(서로 대응되는 피쳐)가 가장 많이 존재하는 이미지가 매핑 이미지로 판단될 수 있다.And using this feature extractor, the same feature can be extracted from the common area included in each of the different images input to the automatic phase mapping processing system 100. Therefore, the image in which the same features (corresponding features) exist the most in any one image can be determined to be the mapping image.

한편 본 발명의 기술적 사상에 따르면, 뉴럴 네트워크 피쳐들은 벡터로 표현되므로 특정 이미지의 매핑 이미지를 탐색하기 위해 종래와 같이 이미지 페어들 마다 피쳐들을 비교하는 것이 아니라, 고속 연산이 가능한 벡터 서치 엔진을 이용함으로써 보다 빠른 위치관계의 판단이 가능할 수 있다. Meanwhile, according to the technical idea of the present invention, neural network features are expressed as vectors, so to search for a mapping image of a specific image, rather than comparing features for each image pair as in the past, by using a vector search engine capable of high-speed computation Faster determination of positional relationships may be possible.

대용량의 벡터들을 고속으로 서치하는 기술들이 최근에 널리 공개된 바 있다. Technologies for searching large amounts of vectors at high speed have recently been widely disclosed.

벡터 서치 엔진은 입력되는 벡터(또는 벡터 세트)와 가장 근사한(근거리의) 벡터들을 고속으로 찾기 위해 구축되는 엔진일 수 있다. 모든 벡터들은 DB 상에서 인덱스화되어 저장되며, 상기 벡터 서치 엔진은 입력되는 벡터(또는 벡터 세트)와 가장 근사한 벡터(또는 벡터 세트)를 출력할 수 있도록 설계될 수 있다. A vector search engine may be an engine built to quickly find vectors that are the closest (closest) to an input vector (or set of vectors). All vectors are indexed and stored in the DB, and the vector search engine can be designed to output a vector (or vector set) that is most similar to the input vector (or vector set).

이러한 벡터 서치 엔진은 예컨대, faiss 등과 같은 알려진 벡터 서치 기법들을 이용해 구축될 수 있다. 이러한 벡터 서치 엔진은 GPU 기반으로 수행되는 경우 대용량의 고속연산이 가능한 효과가 있다.This vector search engine can be built using known vector search techniques, such as faiss, for example. This vector search engine has the effect of enabling large-capacity, high-speed calculations when performed on a GPU basis.

본 발명의 기술적 사상에 따른 벡터 서치 엔진은 대상 이미지(예컨대, 이미지 1)에서 추출된 피쳐들의 세트를 입력받고 그에 대한 응답으로 가장 유사한(근거리)의 벡터 또는 벡터들의 집합을 출력할 수 있다. 그리고 이러한 벡터 또는 벡터들의 집합의 출처가 어떤 이미지인지를 판단함으로써 고속으로 대상 이미지의 매핑 이미지가 결정될 수 있다.A vector search engine according to the technical idea of the present invention can receive a set of features extracted from a target image (eg, image 1) and output the most similar (close range) vector or set of vectors in response. And by determining which image is the source of this vector or set of vectors, the mapping image of the target image can be determined at high speed.

예컨대, 제1이미지에서 추출된 피쳐들 전부가 벡터 서치 엔진에 입력될 수 있다. 벡터 서치 엔진은 벡터 DB에서 입력된 피쳐들 각각과 가장 거리가 짧은 벡터 또는 가장 거리가 짧은 벡터와의 거리를 출력할 수 있다. 이러한 태스크는 이미지들별로 수행될 수 있다. For example, all features extracted from the first image may be input to the vector search engine. The vector search engine can output the vector with the shortest distance or the distance from the vector with the shortest distance to each of the features input from the vector DB. This task can be performed on an image-by-image basis.

예컨대, 다섯 개의 이미지가 존재하고 각각의 이미지들별로 10개의 피쳐가 추출된 경우를 가정하면, 벡터 DB에는 50개의 벡터가 인덱스화되어 저장될 수 있다. 그리고 각각의 출처 이미지에 대한 정보가 같이 저장될 수 있다.For example, assuming that there are five images and 10 features are extracted for each image, 50 vectors can be indexed and stored in the vector DB. And information about each source image can be stored together.

그러면 상기 벡터 서치 엔진은 제1이미지로부터 추출된 10개의 벡터를 입력받을 수 있다. 그리고 벡터 서치 엔진은 10개의 벡터들 각각과 제2이미지에서 추출된 벡터들 중 거리가 가장 짧은 벡터들 10개 또는 이들의 거리의 합을 출력할 수 있다. 이러한 방식으로 제3이미지에서 추출된 벡터들, 제4이미지에서 추출된 벡터들, 제5이미지에서 추출된 벡터들에 대해 수행하면 입력된 벡터 세트와 가장 근사한 피쳐 세트들을 포함하는 이미지가 고속으로 탐색될 수 있다. 그리고 탐색된 이미지가 제1이미지의 매핑 이미지로 결정될 수 있다.Then, the vector search engine can receive 10 vectors extracted from the first image. And the vector search engine can output each of the 10 vectors and the 10 vectors with the shortest distances among the vectors extracted from the second image, or the sum of their distances. If the vectors extracted from the third image, the vectors extracted from the fourth image, and the vectors extracted from the fifth image are performed in this way, the image containing the feature sets most similar to the input vector set is searched at high speed. It can be. And the searched image may be determined to be a mapping image of the first image.

실시 예에 따라서는 상기 벡터 서치 엔진은 제1이미지로부터 출력된 10개의 벡터들 각각에 대해서 상기 제1이미지로부터 추출된 10개의 벡터를 제외한 나머지 벡터들(40개)에 전체에 대해 거리가 가장 짧은 벡터 순서대로 출력할 수 있다. 예컨대, 10개의 벡터 리스트가 출력되면 상기 자동 위상 매핑 처리시스템(100)은 이러한 벡터 리스트를 분석하여 매핑 이미지를 출력할 수 있다. Depending on the embodiment, the vector search engine determines the shortest distance for all of the remaining vectors (40) excluding the 10 vectors extracted from the first image for each of the 10 vectors output from the first image. It can be output in vector order. For example, when a list of 10 vectors is output, the automatic phase mapping processing system 100 can analyze the vector list and output a mapping image.

벡터 서치 엔진이 출력하는 결과 또는 방식은 다양할 수 있다. 하지만 어떠한 경우든 본 발명의 기술적 사상에 의하면 입력된 이미지들 각각으로부터 피쳐들을 추출하고, 이러한 피쳐들을 벡터 서치가 가능하도록 구축된 DB에 입력할 수 있으며, 벡터 서치 엔진은 입력되는 벡터 또는 벡터 세트를 입력받으면 가장 유사한(거리가 짧은) 벡터 또는 벡터 세트를 출력하는 기능을 수행할 수 있다. 이러한 기능을 통해 매핑 이미지를 고속으로 탐색할 수 있다.The results or methods output by a vector search engine may vary. However, in any case, according to the technical idea of the present invention, features can be extracted from each of the input images, and these features can be input into a DB built to enable vector search, and the vector search engine can select the input vector or vector set. Once input is received, it can perform a function that outputs the most similar (shortest distance) vector or set of vectors. These features enable high-speed navigation of mapping images.

실시 예에 따라서는 대상 이미지 즉, 매핑 이미지를 찾고자 하는 이미지(예컨대, 제1이미지)의 모든 피쳐들이 입력되지 않고, 일부의 피쳐들이 벡터 서치 엔진에 입력될 수도 있다. 예컨대, 이미지 중 미리 정의된 영역에 대응되는 피쳐들만이 위치 관계를 파악하기 위해 벡터 서치 엔진에 입력될 수도 있다. 미리 정의된 영역은 통상 이미지의 중앙부분이 아니라 좌우상하의 모서리에 인접한 영역이 될 수 있으므로 이미지의 외곽쪽 영역을 임의로 설정하고, 설정된 영역에 대응되는 위치의 피쳐가 선택적으로 벡터 서치를 위한 입력으로 이용될 수도 있다. 물론 벡터 DB 역시 이러한 외곽 영역에 대응되는 피쳐만이 입력될 수도 있고, 전체 피쳐들이 입력될 수도 있다.Depending on the embodiment, not all features of the target image, that is, the image for which the mapping image is to be found (eg, the first image), may be input, but some features may be input to the vector search engine. For example, only features corresponding to a predefined area in an image may be input to a vector search engine to determine positional relationships. Since the predefined area is usually not the center of the image but the area adjacent to the left, right, top and bottom corners, the outer area of the image is set arbitrarily, and features at locations corresponding to the set area are selectively used as input for vector search. It could be. Of course, in the vector DB, only the features corresponding to these outer areas may be input, or all features may be input.

또한 본 발명의 기술적 사상에 따른 뉴럴 네트워크 피쳐는 그 자체로는 추출된 이미지에서의 위치가 특정되지 않는다. 따라서 뉴럴 네트워크 피쳐에 대응되는 원본 이미지에서의 위치(포인트)가 특정되어야 매핑이 수행될 수 있다. 따러서 뉴럴 네트워크 피쳐에 대응되는 원본 이미지 상의 위치를 특정하는 기술적 사상이 요구되는데, 이에 대해서는 도 6을 참조하여 후술하도록 한다.Additionally, the location of the neural network feature in accordance with the technical idea of the present invention in the extracted image is not specified. Therefore, mapping can be performed only when the location (point) in the original image corresponding to the neural network feature is specified. Therefore, a technical idea for specifying the location on the original image corresponding to the neural network feature is required, which will be described later with reference to FIG. 6.

상술한 바와 같은 기술적 사상을 구현하기 위한 자동 위상 매핑 처리시스템(100)은 도 3에 도시된 바와 같은 기능적 또는 논리적 구성으로 정의될 수 있다.The automatic phase mapping processing system 100 for implementing the technical idea described above may be defined as a functional or logical configuration as shown in FIG. 3.

도 3은 본 발명의 실시 예에 따른 자동 위상 매핑 처리시스템의 논리적 구성을 개략적으로 설명하기 위한 도면이다.Figure 3 is a diagram schematically illustrating the logical configuration of an automatic phase mapping processing system according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 기술적 사상에 따른 자동 위상 매핑 처리시스템(100)은 제어모듈(110), 인터페이스 모듈(120), 피쳐 추출기(130)를 포함한다. 상기 자동 위상 매핑 처리시스템(100)은 매핑모듈(140) 및/또는 벡터 서치 엔진(150)을 더 포함할 수도 있다. Referring to FIG. 3, the automatic phase mapping processing system 100 according to the technical idea of the present invention includes a control module 110, an interface module 120, and a feature extractor 130. The automatic phase mapping processing system 100 may further include a mapping module 140 and/or a vector search engine 150.

상기 자동 위상 매핑 처리시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비한 논리적인 구성을 의미할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 자동 위상 매핑 처리시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 자동 위상 매핑 처리시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다. 예컨대, 상기 제어모듈(110), 인터페이스 모듈(120), 피쳐 추출기(130), 매핑모듈(140), 및/또는 벡터 서치 엔진(150) 각각은 서로 다른 물리적 장치에 위치할 수도 있고, 동일한 물리적 장치에 위치할 수도 있다. 또한, 구현 예에 따라서는 상기 제어모듈(110), 인터페이스 모듈(120), 피쳐 추출기(130), 매핑모듈(140), 및/또는 벡터 서치 엔진(150) 각각을 구성하는 소프트웨어 및/또는 하드웨어의 결합 역시 서로 다른 물리적 장치에 위치하고, 서로 다른 물리적 장치에 위치한 구성들이 서로 유기적으로 결합되어 각각의 상기 모듈들을 구현할 수도 있다.The automatic phase mapping processing system 100 may refer to a logical configuration equipped with hardware resources and/or software necessary to implement the technical idea of the present invention, and necessarily refers to one physical component. It does not mean a single device. In other words, the automatic phase mapping processing system 100 may mean a logical combination of hardware and/or software provided to implement the technical idea of the present invention, and if necessary, may be installed in devices spaced apart from each other to It may be implemented as a set of logical configurations to implement the technical idea of the present invention by performing the function. Additionally, the automatic phase mapping processing system 100 may refer to a set of components implemented separately for each function or role to implement the technical idea of the present invention. For example, the control module 110, interface module 120, feature extractor 130, mapping module 140, and/or vector search engine 150 may each be located in different physical devices, or may be located in the same physical device. It may also be located on the device. In addition, depending on the implementation, software and/or hardware constituting each of the control module 110, interface module 120, feature extractor 130, mapping module 140, and/or vector search engine 150 The combination is also located in different physical devices, and components located in different physical devices may be organically combined to implement each of the modules.

또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스(resource)의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.Additionally, in this specification, a module may mean a functional and structural combination of hardware for carrying out the technical idea of the present invention and software for driving the hardware. For example, the module may mean a logical unit of a predetermined code and a hardware resource for executing the predetermined code, and does not necessarily mean a physically connected code or a single type of hardware. can be easily inferred by an average expert in the technical field of the present invention.

상기 제어모듈(110)은 본 발명의 기술적 사상을 구현하기 위해 자동 위상 매핑 처리시스템(100)에 포함된 다른 구성(예컨대, 인터페이스 모듈(120), 피쳐 추출기(130), 매핑모듈(140), 및/또는 벡터 서치 엔진(150) 등)을 제어할 수 있다. The control module 110 includes other components included in the automatic phase mapping processing system 100 (e.g., interface module 120, feature extractor 130, mapping module 140, and/or the vector search engine 150, etc.) can be controlled.

상기 인터페이스 모듈(120)은 외부로부터 복수의 이미지들을 입력받을 수 있다. 상기 복수의 이미들은 서로 다른 위치에서 촬영된 영상일 수 있다. 일 예에 의하면 상기 복수의 이미지들은 실내에서 촬영된 360 영상일 수 있지만 이에 국한되지는 않는다.The interface module 120 can receive a plurality of images from the outside. The plurality of images may be images taken at different locations. According to one example, the plurality of images may be 360 images captured indoors, but the image is not limited thereto.

상기 복수의 이미지들 중에는 공통된 공간을 다른 위치에서 촬영한 것들이 존재할 수 있으며, 공통된 공간 즉 공통영역을 포함하는 두 이미지들은 매핑 가능한 관계에 있다고 정의될 수 있다. 그 중에서 가장 많은 공통영역을 포함하는 이미지를 매핑 이미지로 정의할 수 있으며, 이는 대응되는 피쳐가 가장 많은 이미지들로 정의될 수도 있다.Among the plurality of images, there may be images of a common space taken from different locations, and two images including a common space, that is, a common area, may be defined as having a mappable relationship. Among them, the image containing the most common areas can be defined as the mapping image, which can also be defined as the images with the most corresponding features.

상기 인터페이스 모듈(120)을 통해 입력받은 복수의 이미지들 각각으로부터 상기 피쳐 추출기(130)는 본 발명의 기술적 사상에 따라 정의되는 피쳐 즉, 뉴럴 네트워크 피쳐를 추출할 수 있다.The feature extractor 130 can extract a feature defined according to the technical idea of the present invention, that is, a neural network feature, from each of the plurality of images input through the interface module 120.

뉴럴 네트워크 피쳐는 소정의 뉴럴 네트워크(예컨대, CNN)에서 출력 레이어 이전에 특정되는 이미지의 피쳐들일 수 있음은 전술한 바와 같다. 상기 피쳐 추출기(130)는 도 4에 도시된 바와 같은 뉴럴 네트워크(20) 그 자체일 수도 있고, 입력 레이어(21)부터 뉴렬 네트워크에서 출력 레이어(24) 이전의 소정의 레이어(예컨대, 23)까지의 구성을 의미할 수도 있다. 상기 레이어(23)에 의해 정의되는 피쳐 맵에 포함된 피쳐 전부 또는 일부가 뉴럴 네트워크 피쳐일 수 있다. As described above, neural network features may be image features that are specified before the output layer in a certain neural network (eg, CNN). The feature extractor 130 may be the neural network 20 itself as shown in FIG. 4, and operates from the input layer 21 to a predetermined layer (e.g., 23) before the output layer 24 in the neural network. It may mean the composition of . All or part of the features included in the feature map defined by the layer 23 may be neural network features.

상기 뉴럴 네트워크(20)는 뉴럴 네트워크 피쳐를 추출하기 위한 목적 이외의 별개의 목적(예컨대, 분류, 디텍팅 등)을 위해 학습된 것일 수도 있지만, 전술한 바와 같이 두 이미지를 최소의 에러로 정합하기 위해 설계된 뉴럴 네트워크이거나 뉴럴 네트워크 피쳐를 추출하는 목적으로 학습되는 것일 수도 있다.The neural network 20 may be trained for a separate purpose (e.g., classification, detection, etc.) other than the purpose of extracting neural network features, but as described above, it is used to match two images with minimal error. It may be a neural network designed for this purpose, or it may be learned for the purpose of extracting neural network features.

예컨대, 후자의 경우는 사용자가 임의로 설정한 위치 및/또는 이미지의 특징을 잘 표현할 수 있는 핸드 크래프트 피쳐 포인트를 출력할 수 있도록 학습될 수 있고, 이러한 경우는 상기 뉴럴 네트워크(20) 자체가 피쳐 추출기(130)가 될 수 있다.For example, in the latter case, it can be learned to output hand-crafted feature points that can well express the characteristics of the location and/or image arbitrarily set by the user, and in this case, the neural network 20 itself is a feature extractor. It could be (130).

사용자가 임의로 설정한 위치는 소정의 오브젝트(예컨대, 벽, 문 등)에서 사용자가 설정한 위치(예컨대, 해당 오브젝트의 중앙위치)로 설정할 수 있다. 또한 이러한 사용자 설정 위치는 종래의 핸드 크래프트 피쳐 포인트와 달리 플랫한 영역 즉, 에지 또는 모서리가 존재하지 않는 플랫(flat)한 이미지 영역에 설정할 수 있다. 이러한 경우 종래의 핸드 크래프트 피쳐 포인트에서는 피쳐 포인트로 추출되지 않는 플랫한 이미지 영역 내에서도 피쳐가 정의될 수 있고 이를 활용하는 경우 보다 정확도 있는 매핑 이미지의 판단 및 매핑이 수행될 수도 있다.The position arbitrarily set by the user can be set to the position set by the user (eg, the central position of the object) on a predetermined object (eg, a wall, a door, etc.). Additionally, unlike conventional hand-crafted feature points, this user-set position can be set in a flat area, that is, a flat image area without edges or corners. In this case, features can be defined even within a flat image area that is not extracted as a feature point in conventional handcrafted feature points, and when this is used, more accurate mapping image judgment and mapping can be performed.

도 5는 본 발명의 실시 예에 따른 뉴럴 네트워크 피쳐를 이용할 경우의 장점을 설명하기 위한 도면이다. Figure 5 is a diagram to explain the advantages of using a neural network feature according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 상기 피쳐 추출기(130)는 미리 정해진 오브젝트(예컨대, 벽, 문, 테이블) 내의 임의의 위치가 피쳐 포인트(fp1, fp2, fp3)로 특정될 수 있도록 학습될 수 있다. As shown in FIG. 5, the feature extractor 130 can be trained so that any location within a predetermined object (e.g., wall, door, table) can be specified as a feature point (fp1, fp2, fp3). .

또한 도 5에 도시된 바와 같이 상기 임의의 위치는 오브젝트별로 미리 정해진 위치(예컨대, 벽의 중심, 테이블의 중심, 문의 중심 등)과 같이 통상적으로 플랫한 이미지 영역 내로 설정될 수 있다. Additionally, as shown in FIG. 5, the arbitrary position may be set within a typically flat image area, such as a predetermined position for each object (eg, the center of a wall, the center of a table, the center of a door, etc.).

물론 상기 피쳐 추출기(130)는 종래의 에지 또는 모서리가 꺽인 부분 등과 같이 핸드 크래프트 피쳐 포인트에 대응되는 피쳐를 추출할 수 있도록 학습될 수도 있다. Of course, the feature extractor 130 may be trained to extract features corresponding to handcrafted feature points, such as conventional edges or bent corners.

예컨대, 사용자는 다수의 이미지에 오브젝트별로 핸드 크래프트 피쳐 포인트, 사용자가 설정한 플랫한 영역의 설정위치 들을 어노테이션하고, 이를 학습 데이터로 이용하여 뉴럴 네트워크(20)를 학습시킬 수도 있다. 이러한 경우 각각의 피쳐 포인트(fp1, p2, fp3)에 대응되는 피쳐들이 추출될 수 있으며, 피쳐 포인트 자체가 출력될 수도 있다.For example, a user may annotate a number of images with handcrafted feature points for each object and the setting positions of a flat area set by the user, and use these as learning data to train the neural network 20. In this case, features corresponding to each feature point (fp1, p2, fp3) may be extracted, and the feature point itself may be output.

어떠한 경우든 뉴럴 네트워크 피쳐를 이용하는 경우에는 도 5에 도시된 바와 같이 종래의 핸드 크래프트 피쳐로는 추출되지 않는 위치가 피쳐로 활용될 수 있으므로, 보다 이미지 특성을 정의하거나 이미지를 매핑하는데 유리한 효과가 있을 수 있다.In any case, when using neural network features, as shown in FIG. 5, positions that cannot be extracted with conventional handcrafted features can be used as features, which can have an advantageous effect in defining image characteristics or mapping images. You can.

한편 뉴럴 네트워크 피쳐는 뉴럴 네트워크(20)가 원하는 목적을 출력하기 위해 복수의 컨벌루션 및/또는 풀링을 통해 결정되는 이미지의 특징적인 정보이긴 하지만, 이러한 뉴럴 네트워크 피쳐 자체가 해당하는 원본 이미지에서의 특정 위치를 나타내는 것은 아닐 수 있다.On the other hand, although the neural network feature is characteristic information of an image that is determined through multiple convolutions and/or pooling to output the desired purpose of the neural network 20, these neural network features themselves are located at a specific location in the corresponding original image. It may not represent .

따라서 뉴럴 네트워크 피쳐가 추출된 경우라도, 뉴럴 네트워크 피쳐에 대응되는 원본 이미지상의 위치 즉, 피쳐 위치가 특정될 필요가 있다. 이러한 피쳐 위치가 특정되어야 이미지의 매핑이 수행될 수 있기 때문이다.Therefore, even when a neural network feature is extracted, the location on the original image corresponding to the neural network feature, that is, the feature location, needs to be specified. This is because mapping of the image can be performed only when these feature locations are specified.

이처럼 뉴럴 네트워크 피쳐의 피쳐 위치를 특정하기 위한 기술적 사상은 도 6을 참조하여 설명하도록 한다.As such, the technical idea for specifying the feature location of the neural network feature will be explained with reference to FIG. 6.

도 6은 본 발명의 실시 예에 따른 뉴럴 네트워크 피쳐에 대응되는 피쳐위치를 설명하기 위한 도면이다.Figure 6 is a diagram for explaining feature positions corresponding to neural network features according to an embodiment of the present invention.

도 6에 도시된 바와 같이 소정의 레이어에서 뉴럴 네트워크 피쳐(f)가 추출될 수 있다. 이러한 경우 상기 뉴럴 네트워크 피쳐(f)는 이전 소정의 레이어(l)에서는 소정의 대응영역(Sl)과 대응되며, 이러한 대응영역(Sl)에 포함된 픽셀 정보들이 미리 정의된 컨벌루션 및 풀링 함수에 의해 상기 뉴럴 네트워크 피쳐(f)로 매핑될 수 있다.As shown in FIG. 6, a neural network feature (f) can be extracted from a predetermined layer. In this case, the neural network feature (f) corresponds to a predetermined corresponding area (Sl) in the previous predetermined layer (l), and the pixel information included in this corresponding area (Sl) is converted to a predefined convolution and pooling function. It can be mapped to the neural network feature (f).

이때 상기 l 레이어에서의 상기 뉴럴 네트워크 피쳐(f)의 대응영역(Sl) 내의 소정의 위치(예컨대, 중앙 또는 특정 꼭지점 등)가 상기 뉴럴 네트워크 피쳐(f)의 l 레이어에서의 대응위치(PSl)로 정의될 수 있다. At this time, a predetermined position (e.g., center or specific vertex, etc.) within the corresponding area (Sl) of the neural network feature (f) in the l layer is the corresponding position (PSl) in the l layer of the neural network feature (f). It can be defined as:

그러면 마찬가지 방식으로 상기 l 레이어에서의 대응위치(PSl)에 대응되는 원본 이미지 상에서의 대응영역(So)가 원본 이미지와 l 레이어사이의 컨벌루션 및 풀링 관계에 의해 특정될 수 있고, 상기 대응영역(So) 내의 소정의 위치(예컨대, 중앙)가 상기 뉴럴 네트워크 피쳐(f)의 원본 이미지상에서의 대응위치 즉, 피쳐 위치로 특정될 수 있다.Then, in the same way, the corresponding area (So) on the original image corresponding to the corresponding position (PSl) in the l layer can be specified by the convolution and pooling relationship between the original image and the l layer, and the corresponding area (So) ) may be specified as a corresponding position (eg, the center) on the original image of the neural network feature (f), that is, a feature position.

이러한 방식으로 뉴럴 네트워크 피쳐들 별로 피쳐 위치가 결정되면, 각각의 피쳐 위치가 이미지 매핑을 위한 피쳐 포인트가 될 수 있다.If the feature location is determined for each neural network feature in this way, each feature location can become a feature point for image mapping.

그러면 매핑모듈(140)은 매핑 이미지들 간의 서로 대응되는 피쳐위치들을 이용하여 이미지 매핑을 수행할 수 있다. Then, the mapping module 140 can perform image mapping using the corresponding feature positions between the mapping images.

두 이미지들간의 이미지 매핑은, 두 이미지들간의 상대적인 위치관계를 특정하는 매핑의 경우에는 두 이미지 각각에서 서로 대응되는 포인트들을 이용하여 수행될 수 있다. 이때 서로 대응되는 포인트들은 두 이미지 각각에서 추출된 뉴럴 네트워크 피쳐의 피쳐 포인트일 수 있으며, 서로 대응되는 피쳐 포인트들은 벡터 서치 엔진을 통해 용이하게 탐색될 수 있다.Image mapping between two images may be performed using corresponding points in each of the two images, in the case of mapping that specifies the relative positional relationship between the two images. At this time, the corresponding points may be feature points of neural network features extracted from each of the two images, and the corresponding feature points can be easily searched through a vector search engine.

서로 대응되는 포인트(공간상에서 동일한 위치를 나타내는)들이 각각 서로 다른 이미지에 존재하는 경우 이들 두 이미지의 상대적인 위치관계를 특정하기 위한 기술적 사상은 공지된 바 있다. When corresponding points (representing the same position in space) exist in different images, technical ideas for specifying the relative positional relationship between these two images have been known.

예컨대, 에피폴라 지오메트리(Epipolar Geometry)를 이용하여 상대적인 위치관계를 판단할 수 있음은 본 발명의 기술분야의 평균적 전문가에게 용이하게 추론될 수 있다. 이외에도 다양한 방식이 가능할 수도 있다.For example, it can be easily inferred by an average expert in the technical field of the present invention that a relative positional relationship can be determined using epipolar geometry. In addition, various methods may be possible.

다른 실시 예에 의하면, 두 이미지들 즉, 매핑 이미지들 간의 매핑이 두 이미지를 정합하는 경우에는, 두 이미지를 정합하기 위한 변환행렬을 특정하는 것이 매핑을 수행하는 것일 수도 있다.According to another embodiment, when the mapping between two images, that is, mapping images, matches the two images, the mapping may be performed by specifying a transformation matrix for matching the two images.

이러한 변환행렬을 특정하기 위해서는 서로 대응되는 피쳐 3개 쌍을 추출하고 추출된 3개 쌍이 변환될 수 있도록 변환 행렬이 정의될 수 있음은 널리 알려진 바와 같다. 그리로 이러한 피쳐 3개 쌍은 모든 피쳐들이 가장 작은 에러로 변환될 수 있도록 탐색될 수 있으며, 랜색(RANSAC) 등의 알고리즘이 이용될 수 있음은 물론이다.It is widely known that in order to specify such a transformation matrix, three pairs of corresponding features can be extracted and a transformation matrix defined so that the extracted three pairs can be transformed. Thus, these three feature pairs can be searched so that all features can be converted with the smallest error, and of course, algorithms such as RANSAC can be used.

상기 벡터 서치 엔진(150)은 전술한 바와 같이 피쳐 추출기(130)에 의해 추출된 각각의 이미지들의 피쳐들에 상응하는 벡터를 DB에 입력하고, 대상 이미지(예컨대, 제1이미지)로부터 추출된 피쳐 세트에 대응되는 벡터 세트를 입력받을 수 있다. 그러면 전술한 바와 같이 벡서 서치 결과를 출력할 수 있다. As described above, the vector search engine 150 inputs vectors corresponding to the features of each image extracted by the feature extractor 130 into the DB, and extracts the features extracted from the target image (e.g., the first image). You can receive a vector set corresponding to the set as input. Then, the vexer search results can be output as described above.

그러면 제어모듈(110)은 상기 벡터 서치 결과에 기초하여 대상 이미지와 인접한 위치관계에 존재하는 이미지를 결정할 수 있다.Then, the control module 110 may determine an image existing in a positional relationship adjacent to the target image based on the vector search result.

도 7은 본 발명의 실시 예에 따른 자동 위상 매핑 처리방법에서 이미지들 간의 매핑 이미지를 탐색하는 방법을 설명하기 위한 플로우 차트이다.Figure 7 is a flow chart to explain a method of searching for mapping images between images in the automatic phase mapping processing method according to an embodiment of the present invention.

도 7을 참조하면, 본 발명의 기술적 사상에 따른 자동 위상 매핑 처리시스템(100)은 복수의 이미지들 각각으로부터 뉴럴 네트워크 피쳐를 추출할 수 있다(S100). 그러면 피쳐들을 벡터 DB로 구축하고 대상 이미지로부터 추출된 벡터 세트(피쳐 세트)에 대한 벡터 서치를 수행할 수 있다(S110, S120). Referring to FIG. 7, the automatic phase mapping processing system 100 according to the technical idea of the present invention can extract neural network features from each of a plurality of images (S100). Then, the features can be built into a vector DB and a vector search can be performed on the vector set (feature set) extracted from the target image (S110, S120).

그러면 벡터 서치 결과에 기초하여 대상 이미지의 매핑 이미지를 판단할 수 있으며(S130), 모든 이미지에 대해 동일한 태스크를 수행함으로써 각각의 이미지들의 매핑 이미지를 판단할 수 있다(S140).Then, the mapping image of the target image can be determined based on the vector search results (S130), and the mapping image of each image can be determined by performing the same task for all images (S140).

도 8은 본 발명의 실시 예에 따른 자동 위상 매핑 처리방법에서 이미지들을 매핑하는 방법을 설명하기 위한 플로우 차트이다.Figure 8 is a flow chart to explain a method of mapping images in the automatic phase mapping processing method according to an embodiment of the present invention.

도 8을 참조하면, 본 발명의 기술적 사상에 따른 자동 위상 매핑 처리시스템(100)은 서로 매핑 이미지로 판단된 제1이미지와 제2이미지를 매핑하기 위해 제1이미지로부터 추출된 피쳐들에 대응되는 피쳐위치들을 특정할 수 있다(S200). 이를 위해 도 6에 도시된 바와 같은 방식을 이용할 수 있다.Referring to FIG. 8, the automatic phase mapping processing system 100 according to the technical idea of the present invention uses features corresponding to features extracted from the first image to map the first image and the second image, which are determined to be mapping images. Feature positions can be specified (S200). For this purpose, the method shown in FIG. 6 can be used.

또한 제2이미지로부터 추출된 피쳐들에 대응되는 피쳐위치들을 특정할 수 있다(S210). Additionally, feature positions corresponding to features extracted from the second image can be specified (S210).

그러면 상기 자동 위상 매핑 처리시스템(100)은 각각의 이미지들의 피쳐위치들에 기초하여 Epipolar Geometry 알고리즘을 통한 상대적인 위치관계를 판단하거나 또는 이미지 연결을 위한 변환행렬을 소정의 방식(예컨대, RANSAC 알고리즘)을 통해 결정할 수 있다(S220).Then, the automatic phase mapping processing system 100 determines the relative positional relationship through the Epipolar Geometry algorithm based on the feature positions of each image, or uses a transformation matrix for image connection using a predetermined method (e.g., RANSAC algorithm). It can be decided through (S220).

본 발명의 실시 예에 따른 자동 위상 매핑 처리방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The automatic phase mapping processing method according to an embodiment of the present invention can be implemented as a computer-readable code on a computer-readable recording medium. Computer-readable recording media include all types of recording devices that store data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, hard disk, floppy disk, and optical data storage devices. Additionally, computer-readable recording media can be distributed across computer systems connected to a network, so that computer-readable code can be stored and executed in a distributed manner. And functional programs, codes, and code segments for implementing the present invention can be easily deduced by programmers in the technical field to which the present invention pertains.

본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.The present invention has been described with reference to an embodiment shown in the drawings, but this is merely illustrative, and those skilled in the art will understand that various modifications and other equivalent embodiments are possible therefrom. Therefore, the true scope of technical protection of the present invention should be determined by the technical spirit of the attached registration claims.

Claims (12)

자동 위상 매핑 처리시스템이 복수의 이미지들-상기 복수의 이미지들 중 적
어도 두 개는 공통된 공간이 촬영된 공통영역이 존재함-을 획득하는 단계;
상기 자동 위상 매핑 처리시스템이 상기 이미지들 각각으로부터 피쳐를 추출
하는 단계;
상기 이미지들 각각으로부터 추출된 피쳐들에 상응하는 벡터들을 DB로 구축
하는 단계;
상기 이미지들 중 소정의 제1이미지로부터 추출된 제1피쳐들에 상응하는 제1벡터들 중 적어도 일부인 벡터 세트를 상기 구축된 DB에 벡터 서치하는 단계- 상기 벡터 서치에 의해 DB에 포함된 벡터들 중 최근접 벡터 세트가 특정됨-;
상기 벡터 서치 결과에 기초하여 특정되는 상기 최근접 벡터 세트에 상응하는 제2이미지를 상기 제1이미지의 매핑 이미지로 판단하는 단계를 포함하는 자동 위상 매핑 처리방법
An automatic phase mapping processing system selects a plurality of images - one of the plurality of images
Obtaining that there is a common area in which two common spaces are photographed;
The automatic phase mapping processing system extracts features from each of the images.
steps;
Construct vectors corresponding to the features extracted from each of the above images into a DB
steps;
Performing a vector search in the constructed DB for a vector set that is at least some of the first vectors corresponding to first features extracted from a predetermined first image among the images - vectors included in the DB by the vector search Among them, the set of nearest vectors is specified -;
An automatic phase mapping processing method comprising determining a second image corresponding to the nearest vector set specified based on the vector search result as a mapping image of the first image.
삭제delete 삭제delete 제1항에 있어서, 상기 제1이미지와 상기 제1이미지의 매핑 이미지로 판단된 상기 제2이미지의 매핑을 수행하는 단계는,
상기 제1이미지로부터 추출된 제1피쳐들에 각각에 대응되는 상기 제1이미지상의 제1피쳐대응위치들 및 상기 제2이미지로부터 추출된 제2피쳐들에 각각에 대응되는 상기 제2이미지상의 제2피쳐대응위치들을 판단하는 단계;
판단된 제1피쳐대응위치들 및 상기 제2피쳐대응위치들에 기초하여 상기 제1이미지 및 상기 제2이미지의 상대적 위치관계를 판단하는 단계를 포함하는 자동 위상 매핑 처리방법.
The method of claim 1, wherein the step of mapping the first image and the second image determined to be a mapping image of the first image comprises:
First feature corresponding positions on the first image corresponding to each of the first features extracted from the first image, and first feature corresponding positions on the second image corresponding to each of the second features extracted from the second image. 2. Determining feature corresponding positions;
An automatic phase mapping processing method comprising determining a relative positional relationship between the first image and the second image based on the determined first feature corresponding positions and the second feature corresponding positions.
제1항에 있어서, 상기 자동 위상 매핑 처리시스템은,
소정의 이미지를 겹치는 영역이 존재하도록 분할한 후, 분할한 이미지들 각각의 겹치는 공통영역에서 각각 추출되는 서로 대응되는 포인트들이 최적으로 매칭될 수 있는 변환관계를 출력하도록 학습된 뉴럴 네트워크를 포함하는 자동 위상 매핑 처리방법.
The method of claim 1, wherein the automatic phase mapping processing system,
An automatic system that includes a neural network trained to divide a given image so that there is an overlapping area, and then output a transformation relationship that can optimally match the corresponding points extracted from the overlapping common area of each of the divided images. Phase mapping processing method.
제1항에 있어서, 상기 이미지들 각각은,
실내의 서로 다른 위치에서 촬영된 360도 영상인 것을 특징으로 하는 자동 위상 매핑 처리방법.
The method of claim 1, wherein each of the images is:
An automatic phase mapping processing method characterized by 360-degree images taken at different locations indoors.
삭제delete 데이터 처리장치에 설치되며 청구항 제1항, 제4항 내지 제6항 중 어느 한 항에 기재된 방법을 수행하기 위한 기록매체에 저장된 컴퓨터프로그램.
A computer program installed in a data processing device and stored in a recording medium for performing the method according to any one of claims 1, 4 to 6.
프로세서;
상기 프로세서에 의해 구동되는 프로그램이 저장된 메모리를 포함하며,
상기 프로세서는 상기 프로그램을 구동하여,
복수의 이미지들-상기 복수의 이미지들 중 적어도 두 개는 공통된 공간이 촬영된 공통영역이 존재함-을 획득하고, 상기 이미지들 각각으로부터 피쳐를 추출하며, 상기 이미지들 각각으로부터 추출된 피쳐들에 상응하는 벡터들을 DB로 구축하고,
상기 이미지들 중 소정의 제1이미지로부터 추출된 제1피쳐들에 상응하는 제1벡터들 중 적어도 일부인 벡터 세트를 상기 구축된 DB에 벡터 서치하고- 상기 벡터 서치에 의해 DB에 포함된 벡터들 중 최근접 벡터 세트가 특정됨-, 상기 벡터 서치 결과에 기초하여 특정되는 상기 최근접 벡터 세트에 상응하는 제2이미지를 상기 제1이미지의 매핑 이미지로 판단하는 자동 위상 매핑 처리시스템.


processor;
Includes a memory storing a program driven by the processor,
The processor runs the program,
Acquire a plurality of images - at least two of the plurality of images have a common area in which a common space is captured - extract features from each of the images, and add features extracted from each of the images. Construct corresponding vectors into DB,
Performing a vector search in the constructed DB for a vector set that is at least some of the first vectors corresponding to first features extracted from a predetermined first image among the images - among the vectors included in the DB through the vector search The nearest vector set is specified - an automatic phase mapping processing system that determines a second image corresponding to the nearest vector set specified based on the vector search result as a mapping image of the first image.


삭제delete 삭제delete 삭제delete
KR1020190174558A 2019-12-24 2019-12-24 Auto topology mapping method based on omni-directional image and system thereof KR102617222B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190174558A KR102617222B1 (en) 2019-12-24 2019-12-24 Auto topology mapping method based on omni-directional image and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190174558A KR102617222B1 (en) 2019-12-24 2019-12-24 Auto topology mapping method based on omni-directional image and system thereof

Publications (2)

Publication Number Publication Date
KR20210082027A KR20210082027A (en) 2021-07-02
KR102617222B1 true KR102617222B1 (en) 2023-12-26

Family

ID=76897407

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190174558A KR102617222B1 (en) 2019-12-24 2019-12-24 Auto topology mapping method based on omni-directional image and system thereof

Country Status (1)

Country Link
KR (1) KR102617222B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101915540B1 (en) * 2018-05-24 2019-01-07 주식회사 다누시스 Compose System on Image Similarity Analysis And Compose Method on Image Similarity Analysis
KR101939349B1 (en) 2018-07-09 2019-04-11 장현민 Around view video providing method based on machine learning for vehicle

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004531113A (en) * 2001-02-09 2004-10-07 リー,クジン Omnidirectional three-dimensional image data acquisition apparatus by annotation, method and method for enlarging photosensitive area
EP3398016A4 (en) * 2016-01-03 2019-08-28 HumanEyes Technologies Ltd Adaptive stitching of frames in the process of creating a panoramic frame

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101915540B1 (en) * 2018-05-24 2019-01-07 주식회사 다누시스 Compose System on Image Similarity Analysis And Compose Method on Image Similarity Analysis
KR101939349B1 (en) 2018-07-09 2019-04-11 장현민 Around view video providing method based on machine learning for vehicle

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Juan Leegard Ranteallo Sampetoding 등, Automatic Field-of-View Expansion using Deep Features and Image Stitching, Procedia Computer Science (2018.12.31.)*

Also Published As

Publication number Publication date
KR20210082027A (en) 2021-07-02

Similar Documents

Publication Publication Date Title
JP5261501B2 (en) Permanent visual scene and object recognition
KR20110064197A (en) Object recognition system and method the same
CN110986969B (en) Map fusion method and device, equipment and storage medium
CN109117854B (en) Key point matching method and device, electronic equipment and storage medium
US8531519B1 (en) Automatic multi-device localization and collaboration using cameras
US9411824B2 (en) Method and apparatus for image retrieval
Liang et al. Image-based positioning of mobile devices in indoor environments
KR101963404B1 (en) Two-step optimized deep learning method, computer-readable medium having a program recorded therein for executing the same and deep learning system
Fernández-Moral et al. Scene structure registration for localization and mapping
CN112284394A (en) Map construction and visual positioning method and device
KR102300570B1 (en) Assembly for omnidirectional image capture and method performing by the same
Erinc et al. Anytime merging of appearance-based maps
CN108875505B (en) Pedestrian re-identification method and device based on neural network
KR20200012379A (en) Image-based indoor position detection apparatus and detection method
KR102617222B1 (en) Auto topology mapping method based on omni-directional image and system thereof
KR102384177B1 (en) Auto topology mapping method based on omni-directional image and system thereof
US20220139073A1 (en) Automatic topology mapping processing method and system based on omnidirectional image information
KR101943097B1 (en) Method and system for image matching using virtual feature point
US11961256B2 (en) Method for indoor localization using deep learning
JP7393809B2 (en) Automatic phase mapping processing method based on omnidirectional image information, its system and computer program
CN110766996B (en) Click-to-read content positioning method and device, electronic equipment and storage medium
CN109242894B (en) Image alignment method and system based on mobile least square method
KR20230049969A (en) Method and apparatus for global localization
KR20220055072A (en) Method for indoor localization using deep learning
Amorós et al. Topological Map Building and Path Estimation Using Global-appearance Image Descriptors.

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant