KR102675282B1 - Method and system for estimating absolute pose of road view images using automatically generated control features - Google Patents

Method and system for estimating absolute pose of road view images using automatically generated control features Download PDF

Info

Publication number
KR102675282B1
KR102675282B1 KR1020230011359A KR20230011359A KR102675282B1 KR 102675282 B1 KR102675282 B1 KR 102675282B1 KR 1020230011359 A KR1020230011359 A KR 1020230011359A KR 20230011359 A KR20230011359 A KR 20230011359A KR 102675282 B1 KR102675282 B1 KR 102675282B1
Authority
KR
South Korea
Prior art keywords
street view
control features
view image
control
information
Prior art date
Application number
KR1020230011359A
Other languages
Korean (ko)
Inventor
최한승
Original Assignee
네이버랩스 주식회사
Filing date
Publication date
Application filed by 네이버랩스 주식회사 filed Critical 네이버랩스 주식회사
Application granted granted Critical
Publication of KR102675282B1 publication Critical patent/KR102675282B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • 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
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image

Abstract

본 개시는 적어도 하나의 프로세서에 의해 수행되는, 거리뷰 영상의 절대 포즈(pose) 추정 방법은, 특정 지역과 연관된 복수의 컨트롤 피처(control feature)를 수신하는 단계, 특정 지역과 연관된 복수의 거리뷰 영상 사이의 피처 매칭(feature matching)을 통해 획득된 복수의 매칭점을 수신하는 단계 및 복수의 컨트롤 피처 및 복수의 매칭점에 기초하여 복수의 거리뷰 영상 중 적어도 하나의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 단계를 포함하고, 복수의 컨트롤 피처 각각은 3차원 절대좌표 위치 정보를 포함하고, 복수의 컨트롤 피처는, 그라운드 컨트롤 포인트, 빌딩 컨트롤 포인트 또는 그라운드 컨트롤 라인 중 적어도 하나를 포함한다.The present disclosure provides a method for estimating the absolute pose of a street view image, which is performed by at least one processor, comprising: receiving a plurality of control features associated with a specific area; Receiving a plurality of matching points obtained through feature matching between images and 3D absolute coordinate position information of at least one of the plurality of street view images based on the plurality of control features and the plurality of matching points; It includes estimating direction information, wherein each of the plurality of control features includes 3D absolute coordinate position information, and the plurality of control features includes at least one of a ground control point, a building control point, or a ground control line.

Description

자동 생성된 컨트롤 피처를 이용한 거리뷰 영상의 절대 포즈 추정 방법 및 시스템{METHOD AND SYSTEM FOR ESTIMATING ABSOLUTE POSE OF ROAD VIEW IMAGES USING AUTOMATICALLY GENERATED CONTROL FEATURES}Absolute pose estimation method and system for street view images using automatically generated control features {METHOD AND SYSTEM FOR ESTIMATING ABSOLUTE POSE OF ROAD VIEW IMAGES USING AUTOMATICALLY GENERATED CONTROL FEATURES}

본 개시는 거리뷰 영상의 절대 포즈 추정 방법 및 시스템에 관한 것으로, 구체적으로, 3차원 절대좌표 위치 정보를 포함하는 자동 생성된 복수의 컨트롤 피처를 이용하여 거리뷰 영상의 절대 포즈를 추정하는 방법 및 시스템에 관한 것이다.The present disclosure relates to a method and system for estimating the absolute pose of a street view image, and specifically, a method for estimating the absolute pose of a street view image using a plurality of automatically generated control features including 3D absolute coordinate position information, and It's about the system.

정보화 기술이 발달함에 따라, 지도 정보 서비스가 상용화되고, 지도 정보 서비스의 한 영역으로서, 거리뷰 영상이 제공되고 있다. 예를 들어, 지도 정보 서비스의 제공자는 지상의 이동체를 이용하여 실제 공간을 촬영한 이미지를 획득한 후, 전자 지도 상의 특정 지점에 대한 거리뷰 영상으로서 해당 지점에서 촬영한 이미지들을 제공할 수 있다.As information technology develops, map information services are commercialized, and street view images are provided as an area of map information services. For example, a map information service provider can obtain images of a real space using a moving object on the ground and then provide the images taken at a specific point on an electronic map as a street view image.

다만, 거리뷰 영상은 정밀한 절대좌표 위치 정보 및 자세 정보를 포함하지 않는다. 지상의 이동체를 이용하여 촬영한 거리뷰 영상에 대한 3차원 절대좌표 위치 정보를 취득하기 위해서는, 광범위한 범위에 대해 수많은 양의 마커를 설치하고 측량하여 컨트롤 포인트/컨트롤 라인(Control Point/Control Line)를 수집해야 하므로, 많은 비용과 노력이 소요되는 문제점이 있다. 또한, 이미지 처리 기술을 이용하여 컨트롤 포인트/컨트롤 라인을 자동으로 수집하더라도, 수집된 컨트롤 포인트/컨트롤 라인과 거리뷰 영상에 포함된 특징점 사이에 오매칭이 많이 발생하므로, 정확한 절대좌표 위치 정보 및 자세 정보를 추정하는데 어려움이 있다.However, street view images do not include precise absolute coordinate location information and posture information. In order to acquire 3D absolute coordinate location information for street view images captured using moving objects on the ground, a large number of markers are installed and measured over a wide range to establish a control point/control line. There is a problem in that it requires a lot of cost and effort to collect. In addition, even if control points/control lines are automatically collected using image processing technology, many mismatches occur between the collected control points/control lines and feature points included in the street view image, so accurate absolute coordinate location information and posture are not required. There is difficulty in estimating information.

본 개시는 상기와 같은 문제점을 해결하기 위한 방법, 기록매체에 저장된 컴퓨터 프로그램 및 장치(시스템)를 제공한다.The present disclosure provides a method for solving the above problems, a computer program stored in a recording medium, and a device (system).

본 개시는 방법, 장치(시스템) 또는 판독 가능 저장 매체에 저장된 컴퓨터 프로그램을 포함한 다양한 방식으로 구현될 수 있다.The present disclosure may be implemented in various ways, including as a method, device (system), or computer program stored in a readable storage medium.

본 개시의 일 실시예에 따르면, 적어도 하나의 프로세서에 의해 수행되는, 거리뷰 영상의 절대 포즈 추정 방법은, 특정 지역과 연관된 복수의 컨트롤 피처를 수신하는 단계, 특정 지역과 연관된 복수의 거리뷰 영상 사이의 피처 매칭을 통해 획득된 복수의 매칭점을 수신하는 단계 및 복수의 컨트롤 피처 및 복수의 매칭점에 기초하여 복수의 거리뷰 영상 중 적어도 하나의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 단계를 포함하고, 복수의 컨트롤 피처 각각은 3차원 절대좌표 위치 정보를 포함하고, 복수의 컨트롤 피처는, 그라운드 컨트롤 포인트, 빌딩 컨트롤 포인트 또는 그라운드 컨트롤 라인 중 적어도 하나를 포함한다.According to an embodiment of the present disclosure, a method for estimating the absolute pose of a street view image, performed by at least one processor, includes receiving a plurality of control features associated with a specific area, a plurality of street view images associated with a specific area, Receiving a plurality of matching points obtained through feature matching between and estimating 3D absolute coordinate position information and direction information of at least one of the plurality of street view images based on the plurality of control features and the plurality of matching points. It includes a step, each of the plurality of control features includes 3D absolute coordinate position information, and the plurality of control features includes at least one of a ground control point, a building control point, or a ground control line.

본 개시의 일 실시예에 따른 방법을 컴퓨터에서 실행하기 위해 컴퓨터로 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 제공된다.In order to execute the method according to an embodiment of the present disclosure on a computer, a computer program stored in a computer-readable recording medium is provided.

본 개시의 일 실시예에 따른, 정보 처리 시스템으로서, 통신 모듈, 메모리, 메모리와 연결되고, 메모리에 포함된 컴퓨터 판독 가능한 적어도 하나의 프로그램을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로그램은, 특정 지역과 연관된 복수의 컨트롤 피처를 수신하고, 특정 지역과 연관된 복수의 거리뷰 영상 사이의 피처 매칭을 통해 획득된 복수의 매칭점을 수신하고, 복수의 컨트롤 피처 및 복수의 매칭점에 기초하여 복수의 거리뷰 영상 중 적어도 하나의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하기 위한 명령어들을 포함하고, 복수의 컨트롤 피처 각각은 3차원 절대좌표 위치 정보를 포함하고, 복수의 컨트롤 피처는, 그라운드 컨트롤 포인트, 빌딩 컨트롤 포인트 또는 그라운드 컨트롤 라인 중 적어도 하나를 포함한다.According to an embodiment of the present disclosure, an information processing system includes a communication module, a memory, and at least one processor connected to the memory and configured to execute at least one computer-readable program included in the memory, and at least one The program receives a plurality of control features associated with a specific area, receives a plurality of matching points obtained through feature matching between a plurality of street view images associated with a specific area, and matches the plurality of control features and the plurality of matching points. and instructions for estimating 3D absolute coordinate position information and direction information of at least one of the plurality of street view images based on the plurality of control features, each of the plurality of control features including 3D absolute coordinate position information, and the plurality of control features , including at least one of a ground control point, a building control point, or a ground control line.

본 개시의 일 실시예에 따르면, 절대좌표 정보를 포함하는 항공 촬영 영상과 거리뷰 영상 사이의 특징 매칭을 통해, 자동으로 취득된 컨트롤 피처를 이용하여 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보를 신속하고 정확하게 자동으로 취득할 수 있다.According to an embodiment of the present disclosure, 3D absolute coordinate location information and direction of the street view image are obtained using automatically acquired control features through feature matching between an aerial shot image including absolute coordinate information and a street view image. Information can be obtained automatically, quickly and accurately.

본 개시의 일 실시예에 따르면, 복수의 컨트롤 피처의 종류마다 상이하게 부여된 가중치를 이용하여 고품질의 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보를 취득할 수 있다.According to an embodiment of the present disclosure, 3D absolute coordinate position information and direction information of a high-quality street view image can be acquired using weights differently assigned to each type of a plurality of control features.

본 개시의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자(“통상의 기술자”라 함)에게 명확하게 이해될 수 있을 것이다.The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned are clear to a person skilled in the art (referred to as “a person skilled in the art”) in the technical field to which this disclosure pertains from the description of the claims. It will be understandable.

본 개시의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
도 1은 본 개시의 일 실시예에 따른 3차원 모델과 거리뷰 데이터를 정합시키는 방법의 예시를 나타내는 도면이다.
도 2는 본 개시의 일 실시예에 따른 정보 처리 시스템이 복수의 사용자 단말과 통신 가능하도록 연결된 구성을 나타내는 개요도이다.
도 3은 본 개시의 일 실시예에 따른 사용자 단말 및 정보 처리 시스템의 내부 구성을 나타내는 블록도이다.
도 4는 본 개시의 일 실시예에 따른 특정 지역과 연관된 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 방법을 나타내는 블록도이다.
도 5는 본 개시의 일 실시예에 따른 컨트롤 피처의 가중치를 결정하는 방법을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시예에 따른 그라운드 컨트롤 포인트를 이용하여 특정 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른 빌딩 컨트롤 포인트를 이용하여 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 방법을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른 그라운드 컨트롤 라인 이용하여 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 방법을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른 거리뷰 영상에 대한 카메라 파라미터를 추정하는 방법을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따른 거리뷰 영상에 대한 카메라 파라미터를 추정하는 방법의 구체적인 예시를 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시예에 따른 필터링 수행시 사용되는 손실함수의 예시를 설명하기 위한 도면이다.
도 12는 본 개시의 일 실시예에 따른 거리뷰 영상의 절대 포즈 추정 방법의 예시를 나타내는 흐름도이다.
Embodiments of the present disclosure will be described with reference to the accompanying drawings described below, in which like reference numerals indicate like elements, but are not limited thereto.
1 is a diagram illustrating an example of a method for matching a 3D model and street view data according to an embodiment of the present disclosure.
Figure 2 is a schematic diagram showing a configuration in which an information processing system according to an embodiment of the present disclosure is connected to enable communication with a plurality of user terminals.
Figure 3 is a block diagram showing the internal configuration of a user terminal and an information processing system according to an embodiment of the present disclosure.
FIG. 4 is a block diagram illustrating a method for estimating 3D absolute coordinate location information and direction information of a street view image associated with a specific area according to an embodiment of the present disclosure.
Figure 5 is a diagram for explaining a method of determining the weight of a control feature according to an embodiment of the present disclosure.
FIG. 6 is a diagram illustrating a method of estimating 3D absolute coordinate position information and direction information of a specific street view image using a ground control point according to an embodiment of the present disclosure.
FIG. 7 is a diagram illustrating a method of estimating 3D absolute coordinate position information and direction information of a street view image using a building control point according to an embodiment of the present disclosure.
FIG. 8 is a diagram illustrating a method of estimating 3D absolute coordinate position information and direction information of a street view image using a ground control line according to an embodiment of the present disclosure.
FIG. 9 is a diagram illustrating a method of estimating camera parameters for a street view image according to an embodiment of the present disclosure.
FIG. 10 is a diagram illustrating a specific example of a method for estimating camera parameters for a street view image according to an embodiment of the present disclosure.
FIG. 11 is a diagram illustrating an example of a loss function used when performing filtering according to an embodiment of the present disclosure.
Figure 12 is a flowchart illustrating an example of an absolute pose estimation method of a street view image according to an embodiment of the present disclosure.

이하, 본 개시의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 개시의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.Hereinafter, specific details for implementing the present disclosure will be described in detail with reference to the attached drawings. However, in the following description, detailed descriptions of well-known functions or configurations will be omitted if there is a risk of unnecessarily obscuring the gist of the present disclosure.

첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.In the accompanying drawings, identical or corresponding components are given the same reference numerals. Additionally, in the description of the following embodiments, overlapping descriptions of identical or corresponding components may be omitted. However, even if descriptions of components are omitted, it is not intended that such components are not included in any embodiment.

개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.Advantages and features of the disclosed embodiments and methods for achieving them will become clear by referring to the embodiments described below in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the present disclosure is complete and that the present disclosure does not convey the scope of the invention to those skilled in the art. It is provided only for complete information.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. 본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.Terms used in this specification will be briefly described, and the disclosed embodiments will be described in detail. The terms used in this specification are general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but this may vary depending on the intention or precedent of a technician working in the related field, the emergence of new technology, etc. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the relevant invention. Accordingly, the terms used in this disclosure should be defined based on the meaning of the term and the overall content of the present disclosure, rather than simply the name of the term.

본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.In this specification, singular expressions include plural expressions, unless the context clearly specifies the singular. Additionally, plural expressions include singular expressions, unless the context clearly specifies plural expressions. When it is said that a certain part includes a certain element throughout the specification, this does not mean excluding other elements, but may further include other elements, unless specifically stated to the contrary.

또한, 명세서에서 사용되는 '모듈' 또는 '부'라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, '모듈' 또는 '부'는 어떤 역할들을 수행한다. 그렇지만, '모듈' 또는 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '모듈' 또는 '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서, '모듈' 또는 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 또는 변수들 중 적어도 하나를 포함할 수 있다. 구성요소들과 '모듈' 또는 '부'들은 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '모듈' 또는 '부'들로 결합되거나 추가적인 구성요소들과 '모듈' 또는 '부'들로 더 분리될 수 있다.Additionally, the term 'module' or 'unit' used in the specification refers to a software or hardware component, and the 'module' or 'unit' performs certain roles. However, 'module' or 'unit' is not limited to software or hardware. A 'module' or 'unit' may be configured to reside on an addressable storage medium and may be configured to run on one or more processors. Thus, as an example, a 'module' or 'part' refers to components such as software components, object-oriented software components, class components and task components, processes, functions and properties. , procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, or variables. Components and 'modules' or 'parts' may be combined into smaller components and 'modules' or 'parts' or further components and 'modules' or 'parts'. Could be further separated.

본 개시의 일 실시예에 따르면, '모듈' 또는 '부'는 프로세서 및 메모리로 구현될 수 있다. '프로세서'는 범용 프로세서, 중앙 처리 장치(CPU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서, '프로세서'는 주문형 반도체(ASIC), 프로그램가능 로직 디바이스(PLD), 필드 프로그램가능 게이트 어레이(FPGA) 등을 지칭할 수도 있다. '프로세서'는, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다. 또한, '메모리'는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. '메모리'는 임의 액세스 메모리(RAM), 판독-전용 메모리(ROM), 비-휘발성 임의 액세스 메모리(NVRAM), 프로그램가능 판독-전용 메모리(PROM), 소거-프로그램가능 판독 전용 메모리(EPROM), 전기적으로 소거가능 PROM(EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.According to an embodiment of the present disclosure, a 'module' or 'unit' may be implemented with a processor and memory. 'Processor' should be interpreted broadly to include general-purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, etc. In some contexts, 'processor' may refer to an application-specific integrated circuit (ASIC), programmable logic device (PLD), field programmable gate array (FPGA), etc. 'Processor' refers to a combination of processing devices, for example, a combination of a DSP and a microprocessor, a combination of a plurality of microprocessors, a combination of one or more microprocessors in combination with a DSP core, or any other such combination of configurations. You may. Additionally, 'memory' should be interpreted broadly to include any electronic component capable of storing electronic information. 'Memory' refers to random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable-programmable read-only memory (EPROM), May also refer to various types of processor-readable media, such as electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, etc. A memory is said to be in electronic communication with a processor if the processor can read information from and/or write information to the memory. The memory integrated into the processor is in electronic communication with the processor.

본 개시에서, '시스템'은 서버 장치와 클라우드 장치 중 적어도 하나의 장치를 포함할 수 있으나, 이에 한정되는 것은 아니다. 예를 들어, 시스템은 하나 이상의 서버 장치로 구성될 수 있다. 다른 예로서, 시스템은 하나 이상의 클라우드 장치로 구성될 수 있다. 또 다른 예로서, 시스템은 서버 장치와 클라우드 장치가 함께 구성되어 동작될 수 있다.In the present disclosure, 'system' may include at least one of a server device and a cloud device, but is not limited thereto. For example, a system may consist of one or more server devices. As another example, a system may consist of one or more cloud devices. As another example, the system may be operated with a server device and a cloud device configured together.

본 개시에서, '디스플레이'는 컴퓨팅 장치와 연관된 임의의 디스플레이 장치를 지칭할 수 있는데, 예를 들어, 컴퓨팅 장치에 의해 제어되거나 컴퓨팅 장치로부터 제공된 임의의 정보/데이터를 표시할 수 있는 임의의 디스플레이 장치를 지칭할 수 있다.In this disclosure, 'display' may refer to any display device associated with a computing device, e.g., any display device capable of displaying any information/data controlled by or provided by the computing device. can refer to.

본 개시에서, '복수의 A의 각각' 또는 '복수의 A 각각'은 복수의 A에 포함된 모든 구성 요소의 각각을 지칭하거나, 복수의 A에 포함된 일부 구성 요소의 각각을 지칭할 수 있다.In the present disclosure, 'each of a plurality of A' or 'each of a plurality of A' may refer to each of all components included in a plurality of A, or may refer to each of some components included in a plurality of A. .

도 1은 본 개시의 일 실시예에 따른 3차원 모델(110)과 거리뷰 데이터(120)를 정합시키는 방법의 예시를 나타내는 도면이다. 정보 처리 시스템은 특정 지역에 대한 3차원 모델(110) 및 거리뷰 데이터(120)를 획득/수신할 수 있다.FIG. 1 is a diagram illustrating an example of a method of matching a 3D model 110 and street view data 120 according to an embodiment of the present disclosure. The information processing system may acquire/receive the 3D model 110 and street view data 120 for a specific area.

3차원 모델(110)은 절대좌표 위치로 표현된 3차원 기하정보 및 그에 대응하는 텍스처 정보를 포함할 수 있다. 여기서, 3차원 모델(110)에 포함된 위치 정보는 거리뷰 데이터(120)에 포함된 위치 정보보다 높은 정확도의 정보일 수 있다. 또한, 3차원 모델(110)에 포함된 텍스처 정보는 거리뷰 데이터(120)에 포함된 텍스처 정보보다 낮은 품질(예를 들어, 낮은 해상도)의 정보일 수 있다. 일 실시예에 따르면, 절대좌표 위치로 표현된 3차원 기하정보는 특정 지역의 상공에서 특정 지역을 촬영한 항공 사진에 기초하여 생성된 것일 수 있다.The 3D model 110 may include 3D geometric information expressed in absolute coordinate positions and texture information corresponding thereto. Here, the location information included in the 3D model 110 may be information of higher accuracy than the location information included in the street view data 120. Additionally, the texture information included in the 3D model 110 may be of lower quality (eg, lower resolution) than the texture information included in the street view data 120. According to one embodiment, 3D geometric information expressed as an absolute coordinate position may be generated based on an aerial photograph taken of a specific area from above the specific area.

특정 지역에 대한 3차원 모델(110)은 3차원 빌딩 모델(112), 수치 표고 모델(Digital Elevation Model; DEM)(114), 특정 지역에 대한 정사 영상(true ortho image)(116), 수치 표면 모델(Digital Surface Model; DSM), 도로 레이아웃, 도로 DEM 등을 포함할 수 있다. 구체적 예로, 특정 지역에 대한 3차원 모델(110)은, 특정 지역의 지면에 대한 기하 정보를 포함하는 수치 표면 모델(Digital Surface Model; DSM) 및 그에 대응하는 특정 지역에 대한 정사 영상(116)을 기초로 생성된 모델일 수 있으나, 이에 한정되지 않는다. 일 실시예에서, 복수의 항공 사진 및 각 항공 사진의 절대좌표 위치 정보 및 방향 정보를 기초로 특정 지역의 정밀한 정사 영상(116)을 생성할 수 있다.The 3D model (110) for a specific area includes a 3D building model (112), a digital elevation model (DEM) (114), a true ortho image (116) for a specific area, and a digital surface. It may include a digital surface model (DSM), road layout, road DEM, etc. As a specific example, the 3D model 110 for a specific area includes a digital surface model (DSM) containing geometric information about the ground of the specific area and an orthoimage 116 for the specific area corresponding thereto. It may be a model created based on, but is not limited to, this. In one embodiment, a precise orthoimage 116 of a specific area may be generated based on a plurality of aerial photos and the absolute coordinate location information and direction information of each aerial photo.

거리뷰 데이터(120)는 특정 지역 내의 복수의 노드에서 촬영된 복수의 거리뷰 영상 및 복수의 거리뷰 영상 각각에 대한 절대좌표 위치 정보 및 방향 정보(즉, 이미지 촬영 방향 정보)를 포함할 수 있다. 여기서, 거리뷰 데이터(120)에 포함된 위치 정보 및 방향 정보는 3차원 모델(110)에 포함된 위치 정보 및 방향 정보보다 낮은 정확도의 정보일 수 있고, 거리뷰 영상에 포함된 텍스처 정보는 3차원 모델(110)에 포함된 텍스처 정보보다 높은 품질(예를 들어, 높은 해상도)의 정보일 수 있다. 예를 들어, 거리뷰 데이터(120)에 포함된 위치 정보 및 방향 정보는 노드에서 거리뷰 영상을 촬영할 때 GPS 장비를 이용하여 획득된 위치 정보 및 방향 정보일 수 있다. 차량의 GPS 장비를 이용하여 획득된 위치 정보는 5~10 미터 정도의 오차가 있을 수 있다. The street view data 120 may include absolute coordinate location information and direction information (i.e., image shooting direction information) for each of a plurality of street view images and a plurality of street view images captured at a plurality of nodes within a specific area. . Here, the location information and direction information included in the street view data 120 may be information of lower accuracy than the location information and direction information included in the 3D model 110, and the texture information included in the street view image is 3 It may be information of higher quality (eg, higher resolution) than the texture information included in the dimensional model 110. For example, the location information and direction information included in the street view data 120 may be location information and direction information obtained using GPS equipment when shooting a street view image at a node. Location information obtained using a vehicle's GPS device may have an error of about 5 to 10 meters.

정보 처리 시스템은 3차원 모델(110)과 거리뷰 데이터(120) 사이의 맵매칭(130)을 수행할 수 있다. 구체적으로, 정보 처리 시스템은 3차원 모델(110)에 포함된 텍스처 정보와 거리뷰 데이터(120)에 포함된 복수의 거리뷰 영상 사이의 특징 매칭(feature matching)을 수행할 수 있다. 맵매칭(130)을 수행하기 위해, 정보 처리 시스템은 거리뷰 데이터(120)에 포함된 복수의 거리뷰 영상 중 적어도 일부를 탑뷰(top view) 영상으로 변환할 수 있다. 맵매칭(130)의 결과로서, 복수의 맵매칭 포인트/맵매칭 라인(132)이 사용자 입력 없이 자동으로 추출될 수 있다. 맵매칭 포인트/맵매칭 라인(132)은 컨트롤 피처(control feature)로도 지칭된다. 각 컨트롤 피처는 3차원 절대좌표 위치 정보와 시각 기술자(visual descriptor)를 포함할 수 있다.The information processing system may perform map matching 130 between the 3D model 110 and street view data 120. Specifically, the information processing system may perform feature matching between texture information included in the 3D model 110 and a plurality of street view images included in the street view data 120. To perform map matching 130, the information processing system may convert at least some of the plurality of street view images included in the street view data 120 into a top view image. As a result of map matching 130, a plurality of map matching points/map matching lines 132 can be automatically extracted without user input. The map matching point/map matching line 132 is also referred to as a control feature. Each control feature may include 3D absolute coordinate position information and a visual descriptor.

맵매칭 포인트는 거리뷰 영상의 한 포인트와 3차원 모델(110)의 한 포인트의 대응쌍을 나타낼 수 있다. 맵매칭(130)에 이용되는 3차원 모델(110)의 종류, 포인트의 위치 등에 따라 맵매칭 포인트의 유형은 다양할 수 있다. 예를 들어, 맵매칭 포인트는, 특정 지역 내의 지면에서의 포인트 대응쌍인 그라운드 컨트롤 포인트(Ground Control Point; GCP), 특정 지역 내의 빌딩에서의 포인트 대응쌍인 빌딩 컨트롤 포인트(Building Control Point; BCP) 또는 특정 지역 내의 구조물에서의 포인트 대응쌍인 구조물 컨트롤 포인트 중 적어도 하나를 포함할 수 있다. 맵매칭 포인트는 상술한 지면, 빌딩, 구조물 뿐만 아니라 거리뷰 영상과 3차원 모델(110)의 임의의 영역에서 추출될 수 있다.The map matching point may represent a corresponding pair of a point in the street view image and a point in the 3D model 110. The type of map matching point may vary depending on the type of 3D model 110 used for map matching 130, the location of the point, etc. For example, map matching points are Ground Control Points (GCP), which are point correspondence pairs on the ground within a specific area, and Building Control Points (BCP), which are point correspondence pairs on buildings within a specific area. Alternatively, it may include at least one of structure control points, which are point correspondence pairs in structures within a specific area. Map matching points can be extracted not only from the ground, buildings, and structures described above, but also from street view images and arbitrary areas of the 3D model 110.

맵매칭 라인은 거리뷰 영상의 한 라인과 3차원 모델(110)의 한 라인의 대응쌍을 나타낼 수 있다. 맵매칭(130)에 이용되는 3차원 모델(110)의 종류, 라인의 위치 등에 따라 맵매칭 라인의 유형은 다양할 수 있다. 예를 들어, 맵매칭 라인은, 특정 지역 내의 지면에서의 라인 대응쌍인 그라운드 컨트롤 라인(Ground Control Line; GCL), 특정 지역 내의 빌딩에서의 라인 대응쌍인 빌딩 컨트롤 라인(Building Control Line; BCL), 특정 지역 내의 구조물에서의 라인 대응쌍인 구조물 컨트롤 라인 또는 특정 지역 내의 차선에서의 라인 대응쌍인 차선 컨트롤 라인 중 적어도 하나를 포함할 수 있다. 맵매칭 라인은 상술한 지면, 빌딩, 구조물, 차선 뿐만 아니라 거리뷰 영상과 3차원 모델(110)의 임의의 영역에서 추출될 수 있다.The map matching line may represent a corresponding pair of one line of the street view image and one line of the 3D model 110. The type of map matching line may vary depending on the type of 3D model 110 used for map matching 130, the location of the line, etc. For example, map matching lines include Ground Control Line (GCL), which is a corresponding pair of lines on the ground within a specific area, and Building Control Line (BCL), which is a corresponding pair of lines on buildings within a specific area. , it may include at least one of a structure control line, which is a corresponding pair of lines in a structure within a specific area, or a lane control line, which is a corresponding pair of lines in a lane within a specific area. Map matching lines can be extracted from the ground, buildings, structures, and lanes described above, as well as street view images and arbitrary areas of the 3D model 110.

또한, 정보 처리 시스템은 복수의 거리뷰 영상 사이의 특징 매칭(150)을 수행하여 복수의 특징점 대응 세트(152)를 추출할 수 있다. 일 실시예에 따르면, 강인한 특징 매칭을 위해, 3차원 모델(110)의 적어도 일부를 이용하여 복수의 거리뷰 영상 사이의 특징 매칭(150)을 수행할 수 있다. 예를 들어, 3차원 모델(110)에 포함된 3차원 빌딩 모델(112)을 이용하여 거리뷰 영상 사이의 특징 매칭(150)을 수행할 수 있다.Additionally, the information processing system may perform feature matching 150 between a plurality of street view images to extract a plurality of feature point correspondence sets 152. According to one embodiment, for robust feature matching, feature matching 150 between a plurality of street view images may be performed using at least a portion of the 3D model 110. For example, feature matching 150 between street view images can be performed using the 3D building model 112 included in the 3D model 110.

그런 다음, 정보 처리 시스템은 복수의 맵매칭 포인트/맵매칭 라인(132) 중 적어도 하나, 그리고 복수의 특징점 대응 세트(152) 중 적어도 일부에 기초하여 복수의 거리뷰 영상에 대한 절대좌표 위치 정보 및 방향 정보를 추정(160)할 수 있다. 예를 들어, 프로세서는 번들 조정 기법(bundle adjustment)을 이용하여 복수의 거리뷰 영상에 대한 절대좌표 위치 정보 및 방향 정보를 추정(160)할 수 있다. 일 실시예에 따르면, 추정된 절대좌표 위치 정보 및 방향 정보(162)는 3차원 모델(110)을 표현하는 절대 좌표계의 정보로서, 6-자유도(DoF)의 파라미터일 수 있다. 이러한 과정을 통해 추정된 절대좌표 위치 정보 및 방향 정보(162)는 거리뷰 데이터(120)에 포함된 절대좌표 위치 정보 및 방향 정보보다 높은 정밀도의 데이터일 수 있다. 복수의 거리뷰 영상에 대한 3차원 절대좌표 위치 정보 및 방향 정보를 추정(160)하는 방법에 대한 구체적인 설명은 도 4 내지 도 12를 참조하여 상세히 후술된다.Then, the information processing system provides absolute coordinate position information and Direction information can be estimated (160). For example, the processor may estimate absolute coordinate position information and direction information for a plurality of street view images using a bundle adjustment technique (160). According to one embodiment, the estimated absolute coordinate position information and direction information 162 is information in an absolute coordinate system representing the 3D model 110, and may be a parameter of 6 degrees of freedom (DoF). The absolute coordinate location information and direction information 162 estimated through this process may be data with higher precision than the absolute coordinate location information and direction information included in the street view data 120. A detailed description of the method for estimating 3D absolute coordinate position information and direction information for a plurality of street view images (160) will be described in detail later with reference to FIGS. 4 to 12.

일 실시예에 따르면, 정보 처리 시스템은 특정 지역과 연관된 컨트롤 피처(control feature) 및 특정 지역과 연관된 복수의 거리뷰 영상 사이의 피처 매칭을 통해 획득된 매칭점에 기초하여, 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보(즉, 6-DoF 포즈)를 추정할 수 있다. 여기서, 컨트롤 피처 3차원 모델(110)과 거리뷰 데이터(120) 사이의 맵매칭(130)을 수행하여 사용자 입력 없이 자동으로 획득될 수 있으며, 각 컨트롤 피처는 3차원 절대좌표 위치 정보 및 시각 기술자(visual descriptor)를 포함할 수 있다. 이와 같은 구성을 통해, 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보를 높은 정확도로 추정할 수 있다.According to one embodiment, the information processing system is based on a control feature associated with a specific area and a matching point obtained through feature matching between a plurality of street view images associated with a specific area, and a three-dimensional image of the street view image. Absolute coordinate position information and direction information (i.e., 6-DoF pose) can be estimated. Here, the control feature can be automatically obtained without user input by performing map matching 130 between the 3D model 110 and the street view data 120, and each control feature includes 3D absolute coordinate location information and visual descriptor. (visual descriptor) may be included. Through this configuration, the 3D absolute coordinate location information and direction information of the street view image can be estimated with high accuracy.

도 2는 본 개시의 일 실시예에 따른 정보 처리 시스템(230)이 복수의 사용자 단말(210_1, 210_2, 210_3)과 통신 가능하도록 연결된 구성을 나타내는 개요도이다. 도시된 바와 같이, 복수의 사용자 단말(210_1, 210_2, 210_3)은 네트워크(220)를 통해 지도 정보 서비스를 제공할 수 있는 정보 처리 시스템(230)과 연결될 수 있다. 여기서, 복수의 사용자 단말(210_1, 210_2, 210_3)은 지도 정보 서비스를 제공받는 사용자의 단말을 포함할 수 있다. 추가적으로, 복수의 사용자 단말(210_1, 210_2, 210_3)은 노드에서 거리뷰 영상을 촬영하는 자동차일 수 있다. 일 실시예에서, 정보 처리 시스템(230)은 지도 정보 서비스 제공 등과 관련된 컴퓨터 실행 가능한 프로그램(예를 들어, 다운로드 가능한 애플리케이션) 및 데이터를 저장, 제공 및 실행할 수 있는 하나 이상의 서버 장치 및/또는 데이터베이스, 또는 클라우드 컴퓨팅 서비스 기반의 하나 이상의 분산 컴퓨팅 장치 및/또는 분산 데이터베이스를 포함할 수 있다.Figure 2 is a schematic diagram showing a configuration in which the information processing system 230 according to an embodiment of the present disclosure is connected to communicate with a plurality of user terminals 210_1, 210_2, and 210_3. As shown, a plurality of user terminals 210_1, 210_2, and 210_3 may be connected to an information processing system 230 capable of providing a map information service through a network 220. Here, the plurality of user terminals 210_1, 210_2, and 210_3 may include terminals of users receiving a map information service. Additionally, the plurality of user terminals 210_1, 210_2, and 210_3 may be cars that capture street view images from nodes. In one embodiment, the information processing system 230 includes one or more server devices and/or databases capable of storing, providing, and executing computer-executable programs (e.g., downloadable applications) and data related to providing map information services, etc. Alternatively, it may include one or more distributed computing devices and/or distributed databases based on cloud computing services.

정보 처리 시스템(230)에 의해 제공되는 지도 정보 서비스는 복수의 사용자 단말(210_1, 210_2, 210_3)의 각각에 설치된 애플리케이션 또는 웹 브라우저 등을 통해 사용자에게 제공될 수 있다. 예를 들어, 정보 처리 시스템(230)은 애플리케이션 등을 통해 사용자 단말(210_1, 210_2, 210_3)로부터 수신되는 거리뷰 영상 요청, 영상 기반 위치 인식 요청 등에 대응하는 정보를 제공하거나 대응하는 처리를 수행할 수 있다.The map information service provided by the information processing system 230 may be provided to the user through an application or web browser installed on each of the plurality of user terminals 210_1, 210_2, and 210_3. For example, the information processing system 230 may provide information corresponding to a street view image request, an image-based location recognition request, etc. received from the user terminals 210_1, 210_2, and 210_3 through an application or perform corresponding processing. You can.

복수의 사용자 단말(210_1, 210_2, 210_3)은 네트워크(220)를 통해 정보 처리 시스템(230)과 통신할 수 있다. 네트워크(220)는 복수의 사용자 단말(210_1, 210_2, 210_3)과 정보 처리 시스템(230) 사이의 통신이 가능하도록 구성될 수 있다. 네트워크(220)는 설치 환경에 따라, 예를 들어, 이더넷(Ethernet), 유선 홈 네트워크(Power Line Communication), 전화선 통신 장치 및 RS-serial 통신 등의 유선 네트워크, 이동통신망, WLAN(Wireless LAN), Wi-Fi, Bluetooth 및 ZigBee 등과 같은 무선 네트워크 또는 그 조합으로 구성될 수 있다. 통신 방식은 제한되지 않으며, 네트워크(220)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망, 위성망 등)을 활용하는 통신 방식뿐만 아니라 사용자 단말(210_1, 210_2, 210_3) 사이의 근거리 무선 통신 역시 포함될 수 있다.A plurality of user terminals 210_1, 210_2, and 210_3 may communicate with the information processing system 230 through the network 220. The network 220 may be configured to enable communication between a plurality of user terminals 210_1, 210_2, and 210_3 and the information processing system 230. Depending on the installation environment, the network 220 may be, for example, a wired network such as Ethernet, a wired home network (Power Line Communication), a telephone line communication device, and RS-serial communication, a mobile communication network, a wireless LAN (WLAN), It may consist of wireless networks such as Wi-Fi, Bluetooth, and ZigBee, or a combination thereof. The communication method is not limited, and may include communication methods utilizing communication networks that the network 220 may include (e.g., mobile communication networks, wired Internet, wireless Internet, broadcasting networks, satellite networks, etc.) as well as user terminals (210_1, 210_2, 210_3). ) may also include short-range wireless communication between

도 2에서 휴대폰 단말(210_1), 태블릿 단말(210_2) 및 PC 단말 (210_3)이 사용자 단말의 예로서 도시되었으나, 이에 한정되지 않으며, 사용자 단말(210_1, 210_2, 210_3)은 유선 및/또는 무선 통신이 가능하고 애플리케이션 또는 웹 브라우저 등이 설치되어 실행될 수 있는 임의의 컴퓨팅 장치일 수 있다. 예를 들어, 사용자 단말은, AI 스피커, 스마트폰, 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스, 셋톱 박스 등을 포함할 수 있다. 또한, 도 2에는 3개의 사용자 단말(210_1, 210_2, 210_3)이 네트워크(220)를 통해 정보 처리 시스템(230)과 통신하는 것으로 도시되어 있으나, 이에 한정되지 않으며, 상이한 수의 사용자 단말이 네트워크(220)를 통해 정보 처리 시스템(230)과 통신하도록 구성될 수도 있다.In Figure 2, the mobile phone terminal (210_1), tablet terminal (210_2), and PC terminal (210_3) are shown as examples of user terminals, but they are not limited thereto, and the user terminals (210_1, 210_2, 210_3) use wired and/or wireless communication. This may be any computing device capable of installing and executing an application or a web browser. For example, user terminals include AI speakers, smartphones, mobile phones, navigation, computers, laptops, digital broadcasting terminals, PDAs (Personal Digital Assistants), PMPs (Portable Multimedia Players), tablet PCs, game consoles, It may include wearable devices, IoT (internet of things) devices, VR (virtual reality) devices, AR (augmented reality) devices, set-top boxes, etc. In addition, in Figure 2, three user terminals (210_1, 210_2, 210_3) are shown as communicating with the information processing system 230 through the network 220, but this is not limited to this, and a different number of user terminals are connected to the network ( It may be configured to communicate with the information processing system 230 through 220).

일 실시예에 따르면, 정보 처리 시스템(230)은 사용자 단말(210_1, 210_2, 210_3)로부터 특정 지역과 연관된 복수의 컨트롤 피처 및 특정 지역과 연관된 복수의 거리뷰 영상 사이의 피처 매칭을 통해 획득된 복수의 매칭점을 수신할 수 있다. 그리고 나서, 정보 처리 시스템(230)은 복수의 컨트롤 피처 및 복수의 매칭점에 기초하여 복수의 거리뷰 영상 중 적어도 하나의 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다. 그 후, 정보 처리 시스템(230)은 추정된 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보를 사용자 단말(210_1, 210_2, 210_3)로 전송할 수 있다. 이 외에, 정보 처리 시스템(230)은 추정된 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보를 이용하여 만들어진 데이터에 기초한 다양한 서비스 관련 데이터를 사용자 단말(210_1, 210_2, 210_3)로 전송할 수 있다.According to one embodiment, the information processing system 230 receives a plurality of control features associated with a specific area from the user terminals 210_1, 210_2, and 210_3 and a plurality of feature matching between a plurality of street view images associated with the specific area. The matching points can be received. Then, the information processing system 230 may estimate 3D absolute coordinate position information and direction information of at least one of the plurality of street view images based on the plurality of control features and the plurality of matching points. Thereafter, the information processing system 230 may transmit the 3D absolute coordinate position information and direction information of the estimated street view image to the user terminals 210_1, 210_2, and 210_3. In addition, the information processing system 230 may transmit various service-related data based on data created using the 3D absolute coordinate location information and direction information of the estimated street view image to the user terminals 210_1, 210_2, and 210_3. .

도 3은 본 개시의 일 실시예에 따른 사용자 단말(210) 및 정보 처리 시스템(230)의 내부 구성을 나타내는 블록도이다. 사용자 단말(210)은 애플리케이션 또는 웹 브라우저 등을 실행 가능하고 유/무선 통신이 가능한 임의의 컴퓨팅 장치를 지칭할 수 있으며, 예를 들어, 도 2의 휴대폰 단말(210_1), 태블릿 단말(210_2), PC 단말(210_3) 등을 포함할 수 있다. 도시된 바와 같이, 사용자 단말(210)은 메모리(312), 프로세서(314), 통신 모듈(316) 및 입출력 인터페이스(318)를 포함할 수 있다. 이와 유사하게, 정보 처리 시스템(230)은 메모리(332), 프로세서(334), 통신 모듈(336) 및 입출력 인터페이스(338)를 포함할 수 있다. 도 3에 도시된 바와 같이, 사용자 단말(210) 및 정보 처리 시스템(230)은 각각의 통신 모듈(316, 336)을 이용하여 네트워크(220)를 통해 정보 및/또는 데이터를 통신할 수 있도록 구성될 수 있다. 또한, 입출력 장치(320)는 입출력 인터페이스(318)를 통해 사용자 단말(210)에 정보 및/또는 데이터를 입력하거나 사용자 단말(210)로부터 생성된 정보 및/또는 데이터를 출력하도록 구성될 수 있다.Figure 3 is a block diagram showing the internal configuration of the user terminal 210 and the information processing system 230 according to an embodiment of the present disclosure. The user terminal 210 may refer to any computing device capable of executing an application or a web browser and capable of wired/wireless communication, for example, the mobile phone terminal 210_1, tablet terminal 210_2 of FIG. 2, It may include a PC terminal (210_3), etc. As shown, the user terminal 210 may include a memory 312, a processor 314, a communication module 316, and an input/output interface 318. Similarly, information processing system 230 may include memory 332, processor 334, communication module 336, and input/output interface 338. As shown in FIG. 3, the user terminal 210 and the information processing system 230 are configured to communicate information and/or data through the network 220 using respective communication modules 316 and 336. It can be. Additionally, the input/output device 320 may be configured to input information and/or data to the user terminal 210 through the input/output interface 318 or to output information and/or data generated from the user terminal 210.

메모리(312, 332)는 비-일시적인 임의의 컴퓨터 판독 가능한 기록매체를 포함할 수 있다. 일 실시예에 따르면, 메모리(312, 332)는 ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 다른 예로서, ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리와는 구분되는 별도의 영구 저장 장치로서 사용자 단말(210) 또는 정보 처리 시스템(230)에 포함될 수 있다. 또한, 메모리(312, 332)에는 운영체제와 적어도 하나의 프로그램 코드(예를 들어, 사용자 단말(210)에 설치되어 구동되는 애플리케이션 등을 위한 코드)가 저장될 수 있다.Memories 312 and 332 may include any non-transitory computer-readable recording medium. According to one embodiment, the memories 312 and 332 are non-permanent mass storage devices such as read only memory (ROM), disk drive, solid state drive (SSD), flash memory, etc. It can be included. As another example, non-perishable mass storage devices such as ROM, SSD, flash memory, disk drive, etc. may be included in the user terminal 210 or the information processing system 230 as a separate persistent storage device that is distinct from memory. Additionally, the memories 312 and 332 may store an operating system and at least one program code (eg, code for an application installed and running on the user terminal 210).

이러한 소프트웨어 구성요소들은 메모리(312, 332)와는 별도의 컴퓨터에서 판독가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독가능한 기록매체는 이러한 사용자 단말(210) 및 정보 처리 시스템(230)에 직접 연결가능한 기록 매체를 포함할 수 있는데, 예를 들어, 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 예로서, 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈을 통해 메모리(312, 332)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 애플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 네트워크(220)를 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 메모리(312, 332)에 로딩될 수 있다.These software components may be loaded from a computer-readable recording medium separate from the memories 312 and 332. This separate computer-readable recording medium may include a recording medium directly connectable to the user terminal 210 and the information processing system 230, for example, a floppy drive, disk, tape, DVD/CD- It may include computer-readable recording media such as ROM drives and memory cards. As another example, software components may be loaded into the memories 312 and 332 through a communication module rather than a computer-readable recording medium. For example, at least one program is loaded into memory 312, 332 based on a computer program installed by files provided over the network 220 by developers or a file distribution system that distributes installation files for applications. It can be.

프로세서(314, 334)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(312, 332) 또는 통신 모듈(316, 336)에 의해 프로세서(314, 334)로 제공될 수 있다. 예를 들어, 프로세서(314, 334)는 메모리(312, 332)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The processors 314 and 334 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations. Instructions may be provided to the processors 314 and 334 by memories 312 and 332 or communication modules 316 and 336. For example, processors 314 and 334 may be configured to execute received instructions according to program codes stored in recording devices such as memories 312 and 332.

통신 모듈(316, 336)은 네트워크(220)를 통해 사용자 단말(210)과 정보 처리 시스템(230)이 서로 통신하기 위한 구성 또는 기능을 제공할 수 있으며, 사용자 단말(210) 및/또는 정보 처리 시스템(230)이 다른 사용자 단말 또는 다른 시스템(일례로 별도의 클라우드 시스템 등)과 통신하기 위한 구성 또는 기능을 제공할 수 있다. 일례로, 사용자 단말(210)의 프로세서(314)가 메모리(312) 등과 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청 또는 데이터(예를 들어, 특정 지역과 연관된 컨트롤 피처 및 특정 지역과 연관된 복수의 거리뷰 영상에 대한 요청과 연관된 데이터 등)는 통신 모듈(316)의 제어에 따라 네트워크(220)를 통해 정보 처리 시스템(230)으로 전달될 수 있다. 역으로, 정보 처리 시스템(230)의 프로세서(334)의 제어에 따라 제공되는 제어 신호나 명령이 통신 모듈(336)과 네트워크(220)를 거쳐 사용자 단말(210)의 통신 모듈(316)을 통해 사용자 단말(210)에 수신될 수 있다. 예를 들어, 사용자 단말(210)은 정보 처리 시스템(230)으로부터 3차원 절대좌표 위치 정보 및 방향 정보를 포함한 거리뷰 영상과 연관된 데이터 등을 수신할 수 있다.The communication modules 316 and 336 may provide a configuration or function for the user terminal 210 and the information processing system 230 to communicate with each other through the network 220, and may provide a configuration or function for the user terminal 210 and/or information processing. The system 230 may provide a configuration or function for communicating with other user terminals or other systems (for example, a separate cloud system, etc.). In one example, a request or data generated by the processor 314 of the user terminal 210 according to a program code stored in a recording device such as memory 312 (e.g., a control feature associated with a specific region and a plurality of data associated with a request for a street view image, etc.) may be transmitted to the information processing system 230 through the network 220 under the control of the communication module 316. Conversely, a control signal or command provided under the control of the processor 334 of the information processing system 230 is transmitted through the communication module 316 of the user terminal 210 through the communication module 336 and the network 220. It may be received by the user terminal 210. For example, the user terminal 210 may receive data related to a street view image including 3D absolute coordinate location information and direction information from the information processing system 230.

입출력 인터페이스(318)는 입출력 장치(320)와의 인터페이스를 위한 수단일 수 있다. 일 예로서, 입력 장치는 오디오 센서 및/또는 이미지 센서를 포함한 카메라, 키보드, 마이크로폰, 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커, 햅틱 피드백 디바이스(haptic feedback device) 등과 같은 장치를 포함할 수 있다. 다른 예로, 입출력 인터페이스(318)는 터치스크린 등과 같이 입력과 출력을 수행하기 위한 구성 또는 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 사용자 단말(210)의 프로세서(314)가 메모리(312)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 정보 처리 시스템(230)이나 다른 사용자 단말이 제공하는 정보 및/또는 데이터를 이용하여 구성되는 서비스 화면 등이 입출력 인터페이스(318)를 통해 디스플레이에 표시될 수 있다. 도 3에서는 입출력 장치(320)가 사용자 단말(210)에 포함되지 않도록 도시되어 있으나, 이에 한정되지 않으며, 사용자 단말(210)과 하나의 장치로 구성될 수 있다. 또한, 정보 처리 시스템(230)의 입출력 인터페이스(338)는 정보 처리 시스템(230)과 연결되거나 정보 처리 시스템(230)이 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 도 3에서는 입출력 인터페이스(318, 338)가 프로세서(314, 334)와 별도로 구성된 요소로서 도시되었으나, 이에 한정되지 않으며, 입출력 인터페이스(318, 338)가 프로세서(314, 334)에 포함되도록 구성될 수 있다.The input/output interface 318 may be a means for interfacing with the input/output device 320. As an example, input devices may include devices such as cameras, keyboards, microphones, mice, etc., including audio sensors and/or image sensors, and output devices may include devices such as displays, speakers, haptic feedback devices, etc. You can. As another example, the input/output interface 318 may be a means for interfacing with a device that has components or functions for performing input and output, such as a touch screen, integrated into one. For example, the processor 314 of the user terminal 210 uses information and/or data provided by the information processing system 230 or another user terminal when processing instructions of a computer program loaded in the memory 312. A service screen, etc. constructed by doing so may be displayed on the display through the input/output interface 318. In FIG. 3 , the input/output device 320 is shown not to be included in the user terminal 210, but the present invention is not limited to this and may be configured as a single device with the user terminal 210. Additionally, the input/output interface 338 of the information processing system 230 may be connected to the information processing system 230 or means for interfacing with a device (not shown) for input or output that the information processing system 230 may include. It can be. In FIG. 3, the input/output interfaces 318 and 338 are shown as elements configured separately from the processors 314 and 334, but the present invention is not limited thereto, and the input/output interfaces 318 and 338 may be configured to be included in the processors 314 and 334. there is.

사용자 단말(210) 및 정보 처리 시스템(230)은 도 3의 구성요소들보다 더 많은 구성요소들을 포함할 수 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 일 실시예에 따르면, 사용자 단말(210)은 상술된 입출력 장치(320) 중 적어도 일부를 포함하도록 구현될 수 있다. 또한, 사용자 단말(210)은 트랜시버(transceiver), GPS(Global Positioning system) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수 있다. 예를 들어, 사용자 단말(210)이 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 구성요소를 포함할 수 있으며, 예를 들어, 가속도 센서, 자이로 센서, 이미지 센서, 근접 센서, 터치 센서, 조도 센서, 카메라 모듈, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 사용자 단말(210)에 더 포함되도록 구현될 수 있다. 일 실시예에 따르면, 사용자 단말(210)의 프로세서(314)는 지도 정보 서비스를 제공하는 애플리케이션 등이 동작하도록 구성될 수 있다. 이 때, 해당 애플리케이션 및/또는 프로그램과 연관된 코드가 사용자 단말(210)의 메모리(312)에 로딩될 수 있다.The user terminal 210 and information processing system 230 may include more components than those in FIG. 3 . However, there is no need to clearly show most prior art components. According to one embodiment, the user terminal 210 may be implemented to include at least some of the input/output devices 320 described above. Additionally, the user terminal 210 may further include other components such as a transceiver, a global positioning system (GPS) module, a camera, various sensors, and a database. For example, if the user terminal 210 is a smartphone, it may include components generally included in a smartphone, such as an acceleration sensor, a gyro sensor, an image sensor, a proximity sensor, a touch sensor, Various components such as an illuminance sensor, a camera module, various physical buttons, buttons using a touch panel, input/output ports, and a vibrator for vibration may be implemented to be further included in the user terminal 210. According to one embodiment, the processor 314 of the user terminal 210 may be configured to operate an application that provides a map information service. At this time, code associated with the corresponding application and/or program may be loaded into the memory 312 of the user terminal 210.

지도 정보 서비스를 제공하는 애플리케이션 등을 위한 프로그램이 동작되는 동안에, 프로세서(314)는 입출력 인터페이스(318)와 연결된 터치 스크린, 키보드, 오디오 센서 및/또는 이미지 센서를 포함한 카메라, 마이크로폰 등의 입력 장치를 통해 입력되거나 선택된 텍스트, 이미지, 영상, 음성 및/또는 동작 등을 수신할 수 있으며, 수신된 텍스트, 이미지, 영상, 음성 및/또는 동작 등을 메모리(312)에 저장하거나 통신 모듈(316) 및 네트워크(220)를 통해 정보 처리 시스템(230)에 제공할 수 있다. 예를 들어, 프로세서(314)는 특정 지역에 대한 복수의 컨트롤 피처 및 특정 지역의 복수의 거리뷰 영상 간의 복수의 매칭점을 요청하는 사용자의 입력을 수신하여, 통신 모듈(316) 및 네트워크(220)를 통해 정보 처리 시스템(230)에 제공할 수 있다.While a program for an application providing a map information service is running, the processor 314 uses input devices such as a touch screen, a keyboard, a camera including an audio sensor and/or an image sensor, and a microphone connected to the input/output interface 318. It is possible to receive text, images, videos, voices, and/or actions input or selected through, and store the received text, images, videos, voices, and/or actions in the memory 312 or use the communication module 316 and It can be provided to the information processing system 230 through the network 220. For example, the processor 314 receives a user's input requesting a plurality of matching points between a plurality of control features for a specific area and a plurality of street view images of a specific area, and the communication module 316 and the network 220 ) can be provided to the information processing system 230.

사용자 단말(210)의 프로세서(314)는 입출력 장치(320), 다른 사용자 단말, 정보 처리 시스템(230) 및/또는 복수의 외부 시스템으로부터 수신된 정보 및/또는 데이터를 관리, 처리 및/또는 저장하도록 구성될 수 있다. 프로세서(314)에 의해 처리된 정보 및/또는 데이터는 통신 모듈(316) 및 네트워크(220)를 통해 정보 처리 시스템(230)에 제공될 수 있다. 사용자 단말(210)의 프로세서(314)는 입출력 인터페이스(318)를 통해 입출력 장치(320)로 정보 및/또는 데이터를 전송하여, 출력할 수 있다. 예를 들면, 프로세서(314)는 수신한 정보 및/또는 데이터를 사용자 단말의 화면에 디스플레이할 수 있다.The processor 314 of the user terminal 210 manages, processes, and/or stores information and/or data received from the input/output device 320, other user terminals, the information processing system 230, and/or a plurality of external systems. It can be configured to do so. Information and/or data processed by processor 314 may be provided to information processing system 230 via communication module 316 and network 220. The processor 314 of the user terminal 210 may transmit information and/or data to the input/output device 320 through the input/output interface 318 and output the information. For example, the processor 314 may display the received information and/or data on the screen of the user terminal.

정보 처리 시스템(230)의 프로세서(334)는 복수의 사용자 단말(210) 및/또는 복수의 외부 시스템으로부터 수신된 정보 및/또는 데이터를 관리, 처리 및/또는 저장하도록 구성될 수 있다. 프로세서(334)에 의해 처리된 정보 및/또는 데이터는 통신 모듈(336) 및 네트워크(220)를 통해 사용자 단말(210)에 제공할 수 있다.The processor 334 of the information processing system 230 may be configured to manage, process, and/or store information and/or data received from a plurality of user terminals 210 and/or a plurality of external systems. Information and/or data processed by the processor 334 may be provided to the user terminal 210 through the communication module 336 and the network 220.

도 4는 본 개시의 일 실시예에 따른 특정 지역과 연관된 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보(490)를 추정하는 방법을 나타내는 블록도이다. 일 실시예에 따르면, 적어도 하나의 프로세서(예를 들어, 정보 처리 시스템 및/또는 사용자 단말의 적어도 하나의 프로세서)는 특정 지역과 연관된 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보(490)를 추정하기 위해 특정 지역과 연관된 입력 데이터(410)를 수신할 수 있다. 여기서, 입력 데이터(410)는 특정 거리뷰 영상과 연관된 제1 세트의 매칭점 및 이와 대응되는 제1 세트의 컨트롤 피처를 지칭할 수 있다. 컨트롤 피처는 3차원 절대좌표 위치 정보 및 시각 기술자를 포함할 수 있다. 예를 들어, 컨트롤 피처는 지면에서의 특정점과 연관된 그라운드 컨트롤 포인트, 빌딩에서의 특정점과 연관된 빌딩 컨트롤 포인트, 지면에서의 특정 라인과 연관된 그라운드 컨트롤 라인 중 적어도 하나를 포함할 수 있다.FIG. 4 is a block diagram illustrating a method for estimating 3D absolute coordinate location information and direction information 490 of a street view image associated with a specific area according to an embodiment of the present disclosure. According to one embodiment, at least one processor (e.g., at least one processor of an information processing system and/or a user terminal) provides 3D absolute coordinate location information and direction information 490 of a street view image associated with a specific area. In order to estimate , input data 410 associated with a specific region may be received. Here, the input data 410 may refer to a first set of matching points associated with a specific street view image and a first set of control features corresponding thereto. Control features may include three-dimensional absolute coordinate position information and visual descriptors. For example, the control feature may include at least one of a ground control point associated with a specific point on the ground, a building control point associated with a specific point on the building, and a ground control line associated with a specific line on the ground.

일 실시예에 따르면, 프로세서는 특정 거리뷰 영상의 절대좌표 위치 정보 및 방향 정보를 추정하기 위해 제1 세트의 컨트롤 피처의 가중치를 결정(420)할 수 있다. 여기서, 제1 세트의 컨트롤 피처의 가중치는 그라운드 컨트롤 포인트, 빌딩 컨트롤 포인트 또는 그라운드 컨트롤 라인에 따라 상이하게 결정될 수 있다. 컨트롤 피처의 가중치를 결정하는 구체적인 방법은 도 5를 참조하여 상세히 후술된다.According to one embodiment, the processor may determine (420) the weight of the first set of control features to estimate absolute coordinate location information and direction information of a specific street view image. Here, the weight of the first set of control features may be determined differently depending on the ground control point, building control point, or ground control line. A specific method of determining the weight of the control feature will be described in detail later with reference to FIG. 5.

일 실시예에 따르면, 프로세서는 입력 데이터(410) 및 컨트롤 피처의 가중치에 기초하여 특정 거리뷰 영상의 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 추정(430)할 수 있다. 여기서, 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보는 제2 정확도의 3차원 절대좌표 위치 정보 및 방향 정보 및 최종 3차원 절대좌표 위치 정보 및 방향 정보(490)의 정확도보다 낮은 정확도의 절대좌표 위치 정보 및 방향 정보를 의미할 수 있다. 구체적으로, 프로세서는 제1 세트의 컨트롤 피처를 특정 거리뷰 영상에 투영하여 제1 세트의 투영 데이터를 생성하고, 이를 특정 거리뷰 영상의 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는데 이용할 수 있다. 예를 들어, 프로세서는 제1 세트의 매칭점, 제1 세트의 투영 데이터 및 제1 세트의 컨트롤 피처 각각의 가중치에 기초하여, 특정 거리뷰 영상과 연관된 제1 세트의 매칭점과 제1 세트의 투영 데이터 사이의 오차가 최소화되도록, 특정 거리뷰 영상의 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 추정(430)할 수 있다. 여기서, 프로세서는 특정 거리뷰 영상의 최초 위치 정보 및 방향 정보를 추정할 때는 카메라 파라미터를 추정하지 않을 수 있다.According to one embodiment, the processor may estimate (430) 3D absolute coordinate position information and direction information of the first accuracy of a specific street view image based on the input data (410) and the weight of the control feature. Here, the 3D absolute coordinate position information and direction information of the first accuracy are absolute coordinates of lower accuracy than the accuracy of the 3D absolute coordinate position information and direction information of the second accuracy and the final 3D absolute coordinate position information and direction information 490. It may mean coordinate location information and direction information. Specifically, the processor projects a first set of control features onto a specific street view image to generate a first set of projection data, and uses the processor to estimate first accurate three-dimensional absolute coordinate position information and direction information of the specific street view image. It can be used to do so. For example, the processor may determine the first set of matching points associated with a particular street view image and the first set of matching points associated with a particular street view image based on the weights of each of the first set of matching points, the first set of projection data, and the first set of control features. To minimize errors between projection data, 3D absolute coordinate position information and direction information of a specific street view image with first accuracy may be estimated (430). Here, the processor may not estimate camera parameters when estimating the initial location information and direction information of a specific street view image.

일 실시예에 따르면, 프로세서는 추정된 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 기초로, 제1 필터링을 수행(440)할 수 있다. 구체적으로, 프로세서는 추정된 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보에 기초하여, 제1 세트의 컨트롤 피처를 특정 거리뷰 영상에 투영하여 제2 세트의 투영 데이터를 생성할 수 있다. 그 후, 프로세서는 특정 거리뷰 영상과 연관된 제1 세트의 매칭점과 제2 세트의 투영 데이터 사이의 오차에 기초하여, 제1 세트의 컨트롤 피처 중 일부를 제거한 제2 세트의 컨트롤 피처를 결정할 수 있다. 필터링 기준(손실함수)은 컨트롤 피처의 유형(GCP, BCP, GCL)에 따라 상이할 수 있다. 필터링 기준에 대해서는 도 11에서 상세히 후술된다. 이 경우, 프로세서는 제거된 컨트롤 피처와 대응되는 매칭점을 제1 세트의 매칭점에서 제거하여 제2 세트의 매칭점을 결정할 수 있다. 즉, 프로세서는 제1 세트의 매칭점과 제2 세트의 투영 데이터 중에서 미리 결정된 임계범위를 초과하는 데이터를 추출하고, 이를 기초로 제1 세트의 컨트롤 피처 및 제1 세트의 매칭점 중 이상값(outlier)을 제거하는 제1 필터링을 수행(440)함으로써, 특정 거리뷰 영상과 연관된 제2 세트의 매칭점 및 제2 세트의 컨트롤 피처를 획득할 수 있다.According to one embodiment, the processor may perform first filtering (440) based on 3D absolute coordinate position information and direction information of the estimated first accuracy. Specifically, the processor may project a first set of control features onto a specific street view image based on the 3D absolute coordinate position information and direction information of the estimated first accuracy to generate a second set of projection data. The processor may then determine a second set of control features with some of the first set of control features removed based on the error between the first set of matching points associated with the particular street view image and the second set of projection data. there is. Filtering criteria (loss function) may differ depending on the type of control feature (GCP, BCP, GCL). Filtering criteria are described in detail later in FIG. 11. In this case, the processor may determine the second set of matching points by removing the matching point corresponding to the removed control feature from the first set of matching points. That is, the processor extracts data exceeding a predetermined threshold range from the first set of matching points and the second set of projection data, and based on this, the outlier value ( By performing first filtering to remove outliers (440), a second set of matching points and a second set of control features associated with a specific street view image can be obtained.

일 실시예에 따르면, 프로세서는 추정된 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 기초로, 입력 데이터(410)의 개별 가중치를 결정(450)할 수 있다. 여기서, 개별 가중치가 적용되는 입력 데이터(410)는 제1 필터링에 의해 이상점이 제거된 제2 세트의 매칭점 및 제2 세트의 컨트롤 피처를 나타낼 수 있다. 이를 위해, 프로세서는 추정된 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보의 공분산(covariance)을 산출할 수 있다. 여기서, 공분산은 추정된 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보의 초기값 대비 신뢰도를 나타내며, 신뢰도를 오차전파식에 의해서 반대로 계산하면 제2 세트의 매칭점 및 제2 세트의 컨트롤 피처 각각에 대한 신뢰도를 알 수 있다. 최종 계산된 제2 세트의 매칭점 및 제2 세트의 컨트롤 피처 각각에 대한 신뢰도를 이용하여 제2 세트의 매칭점 및 제2 세트의 컨트롤 피처 각각의 개별 가중치를 결정할 수 있다. 달리 표현하면, 프로세서는 추정된 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보의 신뢰도에 기초하여, 제2 세트의 매칭점 및 제2 세트의 컨트롤 피처 각각에 대한 개별 신뢰도를 산출할 수 있다. 그리고, 산출된 개별 신뢰도를 기초로 하여, 제2 세트의 매칭점 및 제2 세트의 컨트롤 피처 각각에 대한 개별 가중치를 결정할 수 있다.According to one embodiment, the processor may determine (450) an individual weight of the input data 410 based on the 3D absolute coordinate position information and direction information of the estimated first accuracy. Here, the input data 410 to which individual weights are applied may represent a second set of matching points and a second set of control features from which outliers have been removed by first filtering. To this end, the processor may calculate the covariance of the 3D absolute coordinate position information and direction information of the estimated first accuracy. Here, the covariance represents the reliability compared to the initial value of the 3D absolute coordinate position information and direction information of the estimated first accuracy, and when the reliability is calculated inversely by the error propagation equation, the second set of matching points and the second set of control features You can know the reliability of each. The final calculated reliability of each of the second set of matching points and the second set of control features may be used to determine individual weights of each of the second set of matching points and the second set of control features. In other words, the processor may calculate individual reliability for each of the second set of matching points and the second set of control features based on the reliability of the estimated first accuracy of the three-dimensional absolute coordinate position information and direction information. . And, based on the calculated individual reliability, individual weights for each of the second set of matching points and the second set of control features may be determined.

일 실시예에 따르면, 프로세서는 제2 세트의 매칭점, 제2 세트의 컨트롤 피처 및 산출된 개별 가중치 등에 기초하여, 특정 거리뷰 영상의 제2 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 추정(460)할 수 있다. 이를 위해, 프로세서는 특정 거리뷰 영상의 카메라 파라미터를 추정할 수 있고, 이를 제2 세트의 매칭점, 제2 세트의 컨트롤 피처 및 산출된 개별 가중치와 함께 이용하여, 특정 거리뷰 영상의 제2 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 추정(460)할 수 있다. 기하학 정보에 맞추어 추정된 카메라 파라미터를 이용함으로써, 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보를 보다 정확하게 추정할 수 있다. 특정 거리뷰 영상의 카메라 파라미터를 추정하는 구체적인 방법은 도 9 및 도 10을 참조하여 상세히 후술된다.According to one embodiment, the processor estimates a second accuracy of three-dimensional absolute coordinate position information and direction information of a specific street view image based on the second set of matching points, the second set of control features, and the calculated individual weights. (460)You can. To this end, the processor may estimate camera parameters of the particular street view image and use these together with the second set of matching points, the second set of control features, and the calculated individual weights to determine a second accuracy of the particular street view image. 3D absolute coordinate position information and direction information can be estimated (460). By using camera parameters estimated according to geometric information, the 3D absolute coordinate position information and direction information of the street view image can be estimated more accurately. A specific method of estimating camera parameters of a specific street view image will be described in detail later with reference to FIGS. 9 and 10.

일 실시예에 따르면, 프로세서는 추정된 제2 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 기초로, 제2 필터링을 수행(470)할 수 있다. 제2 필터링은 제1 필터링과 동일/유사한 절차에 따라 진행된다. 구체적으로, 프로세서는 추정된 제2 정확도의 3차원 절대좌표 위치 정보 및 방향 정보에 기초하여, 제2 세트의 컨트롤 피처를 특정 거리뷰 영상에 투영하여 제3 세트의 투영 데이터를 생성할 수 있다. 그 후, 프로세서는 특정 거리뷰 영상과 연관된 제2 세트의 매칭점과 제3 세트의 투영 데이터 사이의 오차에 기초하여, 제2 세트의 컨트롤 피처 중 일부를 제거한 제3 세트의 컨트롤 피처를 결정할 수 있다. 이 경우, 제거된 컨트롤 피처와 대응되는 매칭점을 제2 세트의 매칭점에서 제거하여 제3 세트의 매칭점을 결정할 수 있다.According to one embodiment, the processor may perform second filtering (470) based on the 3D absolute coordinate position information and direction information of the estimated second accuracy. The second filtering is performed according to the same/similar procedure as the first filtering. Specifically, the processor may project the second set of control features onto the specific street view image based on the 3D absolute coordinate position information and direction information of the estimated second accuracy to generate a third set of projection data. The processor may then determine a third set of control features with some of the second set of control features removed based on the error between the third set of projection data and the second set of matching points associated with the particular street view image. there is. In this case, the matching point corresponding to the removed control feature can be removed from the second set of matching points to determine the third set of matching points.

일 실시예에 따르면, 프로세서는 추정된 특정 거리뷰 영상의 3차원 절대좌표의 위치 정보 및 방향 정보가 미리 결정된 임계값 이하 인지 여부를 판정(480)할 수 있다. 예를 들어, 특정 거리뷰 영상과 연관된 제2 세트의 매칭점과 제3 세트의 투영 데이터 사이의 오차가 미리 결정된 임계값 이하인 경우, 프로세서는 제2 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 최종 3차원 절대좌표 위치 정보 및 방향 정보(490)로 결정할 수 있다. 구체적인 예시로, 미리 결정된 임계 값으로, 촬영 지점 위치 정보를 원점으로 매칭점과 투영 데이터를 각각 연결한 직선 사이의 각도값이 6 도로 결정될 수 있으나, 이에 한정되지 않는다. 다른 예에서, 특정 거리뷰 영상과 연관된 제2 세트의 매칭점과 제3 세트의 투영 데이터 사이의 오차가 미리 결정된 임계값을 초과하는 경우, 프로세서는 오차가 미리 결정된 임계값 이하가 될 때까지 450 단계 내지 480 단계를 반복할 수 있다.According to one embodiment, the processor may determine (480) whether the position information and direction information of the estimated 3D absolute coordinates of a specific street view image are below a predetermined threshold. For example, if the error between the second set of matching points associated with a particular street view image and the third set of projection data is less than or equal to a predetermined threshold, the processor may provide three-dimensional absolute coordinate position information and orientation information of a second accuracy. It can be determined using the final 3D absolute coordinate position information and direction information 490. As a specific example, as a predetermined threshold, the angle value between the straight line connecting the projection data and the matching point with the shooting point location information as the origin may be determined to be 6 degrees, but it is not limited to this. In another example, if the error between the second set of matching points associated with a particular street view image and the third set of projection data exceeds a predetermined threshold, the processor performs 450 until the error is below the predetermined threshold. Steps through 480 can be repeated.

도 5는 본 개시의 일 실시예에 따른 컨트롤 피처의 가중치를 결정하는 방법을 설명하기 위한 도면이다. 일 실시예에 다르면, 컨트롤 피처의 가중치는 컨트롤 피처의 기준점과 특정 거리뷰 영상 사이의 거리에 따라 상이하게 결정될 수 있다. 예를 들어, 가중치는 컨트롤 피처의 기준점과 특정 거리뷰 영상 사이의 거리에 따라 0 내지 1 사이의 값으로 결정될 수 있다. 여기서, 컨트롤 피처는 3차원 절대좌표 위치 정보를 포함할 수 있다. 또한, 컨트롤 피처는 그라운드 컨트롤 포인트, 빌딩 컨트롤 포인트 또는 그라운드 컨트롤 라인 중 적어도 하나를 포함할 수 있다.Figure 5 is a diagram for explaining a method of determining the weight of a control feature according to an embodiment of the present disclosure. According to one embodiment, the weight of the control feature may be determined differently depending on the distance between the reference point of the control feature and a specific street view image. For example, the weight may be determined to be a value between 0 and 1 depending on the distance between the reference point of the control feature and a specific street view image. Here, the control feature may include 3D absolute coordinate position information. Additionally, the control feature may include at least one of a ground control point, a building control point, or a ground control line.

일 실시예에서, 그라운드 컨트롤 포인트(520, 530)는 거리뷰 영상(510)과 그라운드 컨트롤 포인트(520, 530) 사이의 거리가 멀수록 낮은 가중치가 부여될 수 있다. 이는, 거리뷰 영상에서 촬영 위치를 기준으로 멀리 떨어진 객체에 대응하는 영역의 경우, 해당 영역의 화질이 낮아 매칭점(특징점)과 그라운드 컨트롤 포인트가 잘못 매칭 되었을 확률이 높기 때문이다. 예를 들어, 도 5에 도시된 거리뷰 영상의 평면 이미지(512)를 참조하면, 촬영 위치(원점)를 기준으로 멀리 떨어진 제1 영역(522)의 화질이 상대적으로 가까운 객체에 대응하는 제2 영역(532)의 화질보다 낮은 것을 확인할 수 있다. 제1 영역(522)은 제1 그라운드 컨트롤 포인트(520)와 대응되고, 제2 영역(532)은 제2 그라운드 컨트롤 포인트(530)와 대응될 수 있다. 이 경우, 거리뷰 영상(510)의 촬영 위치(원점)를 기준으로 제2 그라운드 컨트롤 포인트(530)보다 멀리 떨어진 제1 그라운드 컨트롤 포인트(520)는, 제2 그라운드 컨트롤 포인트(530) 보다 낮은 가중치를 가질 수 있다.In one embodiment, the ground control points 520 and 530 may be assigned a lower weight as the distance between the street view image 510 and the ground control points 520 and 530 increases. This is because in the case of an area corresponding to an object that is far away based on the shooting location in the street view image, the image quality of the area is low, so there is a high probability that the matching point (feature point) and the ground control point are incorrectly matched. For example, referring to the planar image 512 of the street view image shown in FIG. 5, the image quality of the first area 522 that is far away from the shooting position (origin) is lower than that of the second area corresponding to a relatively close object. It can be seen that the image quality is lower than that of area 532. The first area 522 may correspond to the first ground control point 520, and the second area 532 may correspond to the second ground control point 530. In this case, the first ground control point 520, which is farther away than the second ground control point 530 based on the shooting position (origin) of the street view image 510, has a lower weight than the second ground control point 530. You can have

일 실시예에서, 촬영 위치(원점)와 그라운드 컨트롤 포인트(520, 530) 사이의 상대적인 위치는 거리뷰 영상의 평면 이미지(512) 내의 y축 값으로 결정될 수 있다. 예를 들어, 도 5를 참조하면, 이미지의 하단으로 갈수록 y축의 값이 커질 수 있고, 이는 촬영 위치(원점)와 가까워지는 것을 의미할 수 있다. 따라서, y축 값이 클수록 그라운드 컨트롤 포인트에 높은 가중치를 부여할 수 있다. In one embodiment, the relative position between the shooting position (origin) and the ground control points 520 and 530 may be determined by the y-axis value in the planar image 512 of the street view image. For example, referring to FIG. 5, the y-axis value may increase toward the bottom of the image, which may mean getting closer to the shooting position (origin). Therefore, the larger the y-axis value, the more weight can be assigned to the ground control point.

일 실시예에서, 빌딩 컨트롤 포인트는 거리뷰 영상과 빌딩 컨트롤 포인트 사이의 거리가 멀수록 높은 가중치가 부여될 수 있다. 이는, 거리뷰 영상에서 촬영 위치를 기준으로 가까운 위치에 빌딩이 위치한 경우, 촬영 위치가 골목길과 같이 좁은 도로일 확률이 높고, 골목에서는 빌딩 컨트롤 포인트 자체가 잘못 생성되어 매칭점(특징점)과 빌딩 컨트롤 포인트가 잘못 매칭 되었을 확률이 높기 때문이다.In one embodiment, the building control point may be given a higher weight as the distance between the street view image and the building control point increases. This means that if a building is located close to the shooting location in the street view image, there is a high probability that the shooting location is a narrow road such as an alley, and in the alley, the building control point itself is created incorrectly, so the matching point (feature point) and building control This is because there is a high probability that the points were matched incorrectly.

일 실시예에서, 빌딩 컨트롤 포인트의 가중치는, 촬영 위치를 기준으로 대상 빌딩이 위치한 거리 값을 촬영 위치를 기준으로 최대로 설정 가능한 거리 값으로 나눈 값으로 산출할 수 있다. 여기서, 촬영 위치를 기준으로 최대로 설정 가능한 거리는 100m 내지 200m로 산정될 수 있으나, 이에 한정되지 않는다. 최대 설정 가능한 거리 값이 100m이고, 촬영 위치와 대상 빌딩 사이의 거리가 50m인 경우, 해당 빌딩 컨트롤 포인트의 가중치가 0.5로 결정될 수 있다.In one embodiment, the weight of the building control point may be calculated by dividing the distance value at which the target building is located based on the shooting location by the maximum configurable distance value based on the shooting location. Here, the maximum settable distance based on the shooting position may be calculated as 100m to 200m, but is not limited thereto. If the maximum configurable distance value is 100m and the distance between the shooting location and the target building is 50m, the weight of the building control point may be determined to be 0.5.

일 실시예에서, 그라운드 컨트롤 라인에는 별도 가중치를 부여하지 않을 수 있다. 예를 들어, 그라운드 컨트롤 라인은 모두 1의 가중치를 부여할 수 있다.In one embodiment, no separate weight may be assigned to the ground control line. For example, all ground control lines could be given a weight of 1.

이와 같은 구성을 통해, 자동으로 수집된 복수의 컨트롤 피처와 거리뷰 영상에 포함된 매칭점 사이에 발생하는 오매칭을 효과적으로 제거할 수 있으므로, 특정 거리뷰 영상에 대한 고품질의 3차원 절대좌표 위치 정보 및 방향 정보를 신속하고 정확하게 획득할 수 있다.Through this configuration, mismatching that occurs between a plurality of automatically collected control features and matching points included in the street view image can be effectively removed, providing high-quality 3D absolute coordinate location information for a specific street view image. and direction information can be obtained quickly and accurately.

도 6은 본 개시의 일 실시예에 따른 그라운드 컨트롤 포인트를 이용하여 특정 거리뷰 영상(630)의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 방법을 설명하기 위한 도면이다. 일 실시예에 따르면, 컨트롤 피처는 그라운드 컨트롤 포인트(622)를 포함할 수 있다. 그라운드 컨트롤 포인트는 거리뷰 영상과 3차원 절대좌표 위치 정보를 포함한 항공 촬영 영상(620) 사이의 피처 매칭을 기초로 획득될 수 있으며, 그라운드 컨트롤 포인트는 거리뷰 영상의 지면에서의 특정점과 연관된 3차원 절대좌표 위치 정보 및 시각 기술자를 포함할 수 있다. 여기서, 거리뷰 영상의 지면에서의 특정점은 복수의 거리뷰 영상 사이의 피처 매칭을 통해 획득된 매칭점(특징점)으로 지칭될 수 있다.FIG. 6 is a diagram illustrating a method of estimating 3D absolute coordinate position information and direction information of a specific street view image 630 using a ground control point according to an embodiment of the present disclosure. According to one embodiment, the control feature may include a ground control point 622. The ground control point can be obtained based on feature matching between the street view image and the aerial image 620 including 3D absolute coordinate location information, and the ground control point is 3 points associated with a specific point on the ground of the street view image. Dimensions may include absolute coordinate location information and visual descriptors. Here, a specific point on the ground of the street view image may be referred to as a matching point (feature point) obtained through feature matching between a plurality of street view images.

일 실시예에 따르면, 정보 처리 시스템은 특정 거리뷰 영상(630)에서의 그라운드 컨트롤 포인트(622)와 매칭점(612)에 기초하여, 특정 거리뷰 영상(630)의 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다. 예를 들어, 정보 처리 시스템은 그라운드 컨트롤 포인트(622)를 특정 거리뷰 영상(630)에 투영하여 투영 데이터(624)를 생성할 수 있다. 그리고, 정보 처리 시스템은 특정 거리뷰 영상의 매칭점(612)과 투영 데이터(624) 사이의 오차가 최소화되도록 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다. 정보 처리 시스템은 추정 결과를 기초로 3차원 절대좌표 위치 정보 및 방향 정보를 반복하여 추정함으로써, 특정 거리뷰 영상(630)의 최종 3차원 절대좌표 위치 정보 및 방향 정보를 획득할 수 있다. 이에 대한 구체적인 방법은 도 4를 참조하여 전술하였다.According to one embodiment, the information processing system provides three-dimensional absolute coordinate location information and Direction information can be estimated. For example, the information processing system may generate projection data 624 by projecting the ground control point 622 onto a specific street view image 630. Additionally, the information processing system can estimate 3D absolute coordinate position information and direction information so that the error between the matching point 612 of a specific street view image and the projection data 624 is minimized. The information processing system can obtain the final 3D absolute coordinate position information and direction information of the specific street view image 630 by repeatedly estimating the 3D absolute coordinate position information and direction information based on the estimation result. The specific method for this was described above with reference to FIG. 4.

도 6에서는 하나의 그라운드 컨트롤 포인트(622)와 매칭점(612) 쌍을 이용하여 특정 거리뷰 영상(630)의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 것으로 도시되었으나, 이에 한정되지 않으며, 컨트롤 피처와 매칭점이 복수의 쌍을 이용하여 특정 거리뷰 영상(630)의 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다. 이 때 각 컨트롤 피처마다 도 5에서 설명된 가중치가 적용되어 특정 거리뷰 영상(630)의 3차원 절대좌표 위치 정보 및 방향 정보가 추정될 수 있다.In FIG. 6, it is shown that the 3D absolute coordinate location information and direction information of a specific street view image 630 are estimated using a pair of a ground control point 622 and a matching point 612, but the method is not limited to this. The 3D absolute coordinate location information and direction information of a specific street view image 630 can be estimated using a plurality of pairs of control features and matching points. At this time, the weight described in FIG. 5 is applied to each control feature so that the 3D absolute coordinate position information and direction information of the specific street view image 630 can be estimated.

도 7은 본 개시의 일 실시예에 따른 빌딩 컨트롤 포인트를 이용하여 거리뷰 영상(730)의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 방법을 설명하기 위한 도면이다. 일 실시예에 따르면, 컨트롤 피처는 빌딩 컨트롤 포인트(722)를 포함할 수 있다. 빌딩 컨트롤 포인트는 거리뷰 영상과 3차원 절대좌표 위치 정보를 포함한 항공 촬영 영상 사이의 피처 매칭을 기초로 획득될 수 있으며, 빌딩 컨트롤 포인트는 거리뷰 영상의 빌딩에서의 특정점과 연관된 3차원 절대좌표 위치 정보 및 시각 기술자를 포함할 수 있다. 여기서, 거리뷰 영상의 빌딩에서의 특정점은 복수의 거리뷰 영상 사이의 피처 매칭을 통해 획득된 매칭점(특징점)으로 지칭될 수 있다. 예를 들어, 빌딩 컨트롤 포인트(722)는 거리뷰 영상(710)과 3차원 절대좌표 위치 정보를 포함한 항공 촬영 영상(720) 사이의 피처 매칭을 기초로 획득될 수 있다.FIG. 7 is a diagram illustrating a method of estimating 3D absolute coordinate location information and direction information of a street view image 730 using a building control point according to an embodiment of the present disclosure. According to one embodiment, the control feature may include a building control point 722. Building control points can be obtained based on feature matching between street view images and aerial images including 3D absolute coordinate location information, and building control points are 3D absolute coordinates associated with specific points on the building in the street view image. May include location information and visual descriptors. Here, a specific point on a building in the street view image may be referred to as a matching point (feature point) obtained through feature matching between a plurality of street view images. For example, the building control point 722 may be obtained based on feature matching between the street view image 710 and the aerial image 720 including 3D absolute coordinate location information.

일 실시예에 따르면, 정보 처리 시스템은 특정 거리뷰 영상(730)에서의 빌딩 컨트롤 포인트(722)와 매칭점(712)에 기초하여, 특정 거리뷰 영상(730)의 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다. 예를 들어, 정보 처리 시스템은 빌딩 컨트롤 포인트(722)를 특정 거리뷰 영상(730)에 투영하여 투영 데이터(724)를 생성할 수 있다. 그리고, 정보 처리 시스템은 특정 거리뷰 영상의 매칭점(712)과 투영 데이터(724) 사이의 오차가 최소화되도록 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다. 정보 처리 시스템은 추정 결과를 기초로 3차원 절대좌표 위치 정보 및 방향 정보를 반복하여 추정함으로써, 특정 거리뷰 영상(630)의 최종 3차원 절대좌표 위치 정보 및 방향 정보를 획득할 수 있다. 이에 대한 구체적인 방법은 도 4를 참조하여 전술하였다.According to one embodiment, the information processing system provides three-dimensional absolute coordinate location information and Direction information can be estimated. For example, the information processing system may generate projection data 724 by projecting the building control point 722 onto a specific street view image 730. Additionally, the information processing system can estimate 3D absolute coordinate position information and direction information so that the error between the matching point 712 of a specific street view image and the projection data 724 is minimized. The information processing system can obtain the final 3D absolute coordinate position information and direction information of the specific street view image 630 by repeatedly estimating the 3D absolute coordinate position information and direction information based on the estimation result. The specific method for this was described above with reference to FIG. 4.

도 7에서는 하나의 빌딩 컨트롤 포인트(722)와 매칭점(712) 쌍을 이용하여 특정 거리뷰 영상(730)의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 것으로 도시되었으나, 이에 한정되지 않으며, 컨트롤 피처와 매칭점의 복수의 쌍을 이용하여 특정 거리뷰 영상(730)의 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다. 이 때 각 컨트롤 피처마다 도 5에서 설명된 가중치가 적용되어 특정 거리뷰 영상(730)의 3차원 절대좌표 위치 정보 및 방향 정보가 추정될 수 있다.In Figure 7, it is shown that the 3D absolute coordinate location information and direction information of a specific street view image 730 are estimated using a pair of a single building control point 722 and a matching point 712, but the method is not limited to this. 3D absolute coordinate position information and direction information of a specific street view image 730 can be estimated using a plurality of pairs of control features and matching points. At this time, the weight described in FIG. 5 is applied to each control feature so that the 3D absolute coordinate position information and direction information of the specific street view image 730 can be estimated.

도 8은 본 개시의 일 실시예에 따른 그라운드 컨트롤 라인 이용하여 거리뷰 영상(830)의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 방법을 설명하기 위한 도면이다. 일 실시예에 따르면, 컨트롤 피처는 그라운드 컨트롤 라인(822)을 포함할 수 있다. 그라운드 컨트롤 라인은 거리뷰 영상과 3차원 절대좌표 위치 정보를 포함한 항공 촬영 영상 사이의 피처 매칭을 기초로 획득될 수 있으며, 그라운드 컨트롤 라인은 거리뷰 영상의 지면에서의 특정 라인과 연관된 3차원 절대좌표 위치 정보 및 시각 기술자를 포함할 수 있다. 여기서, 거리뷰 영상의 지면에서의 특정 라인은 복수의 거리뷰 영상 사이의 피처 매칭을 통해 획득된 매칭 라인(특징 라인)으로 지칭될 수 있다. 예를 들어, 매칭 라인은 2개의 매칭점으로 표현될 수 있다. 예를 들어, 그라운드 컨트롤 라인(822)은 거리뷰 영상(810)과 3차원 절대좌표 위치 정보를 포함한 항공 촬영 영상(820) 사이의 피처 매칭을 기초로 획득될 수 있다.FIG. 8 is a diagram illustrating a method of estimating 3D absolute coordinate position information and direction information of a street view image 830 using a ground control line according to an embodiment of the present disclosure. According to one embodiment, the control feature may include a ground control line 822. The ground control line can be obtained based on feature matching between the street view image and the aerial image including 3D absolute coordinate location information, and the ground control line is the 3D absolute coordinate associated with a specific line on the ground in the street view image. May include location information and visual descriptors. Here, a specific line on the ground of the street view image may be referred to as a matching line (feature line) obtained through feature matching between a plurality of street view images. For example, a matching line can be expressed as two matching points. For example, the ground control line 822 may be obtained based on feature matching between the street view image 810 and the aerial image 820 including 3D absolute coordinate location information.

일 실시예에 따르면, 정보 처리 시스템은 특정 거리뷰 영상(830)에서의 그라운드 컨트롤 라인(822)과 매칭 라인(812)에 기초하여, 특정 거리뷰 영상(830)의 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다. 예를 들어, 정보 처리 시스템은 그라운드 컨트롤 라인(822)을 특정 거리뷰 영상(830)에 투영하여 투영 데이터(824)를 생성할 수 있다. 그리고, 정보 처리 시스템은 특정 거리뷰 영상(830)의 매칭 라인(812)과 투영 데이터(824) 사이의 오차가 최소화되도록 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다. 예를 들어, 정보 처리 시스템은 촬영 위치(원점)와 투영 데이터(824)를 연결한 면의 제1 노말 벡터(n1)와 촬영 위치(원점)와 매칭 라인(812)을 연결한 면의 제2 노말 벡터(n2)와 사이의 오차가 최소화되도록 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다. 정보 처리 시스템은 추정 결과를 기초로 3차원 절대좌표 위치 정보 및 방향 정보를 반복하여 추정함으로써, 특정 거리뷰 영상(830)의 최종 3차원 절대좌표 위치 정보 및 방향 정보를 획득할 수 있다. 이에 대한 구체적인 방법은 도 4를 참조하여 전술하였다.According to one embodiment, the information processing system is based on the ground control line 822 and the matching line 812 in the specific street view image 830, three-dimensional absolute coordinate location information and Direction information can be estimated. For example, the information processing system may generate projection data 824 by projecting the ground control line 822 onto a specific street view image 830 . Additionally, the information processing system can estimate 3D absolute coordinate position information and direction information so that the error between the matching line 812 of the specific street view image 830 and the projection data 824 is minimized. For example, the information processing system may use the first normal vector (n1) on the surface connecting the shooting position (origin) and the projection data 824 and the second normal vector (n1) on the surface connecting the shooting position (origin) and the matching line 812. 3D absolute coordinate position information and direction information can be estimated so that the error between the normal vector (n2) is minimized. The information processing system can obtain the final 3D absolute coordinate position information and direction information of the specific street view image 830 by repeatedly estimating the 3D absolute coordinate position information and direction information based on the estimation result. The specific method for this was described above with reference to FIG. 4.

도 8에서는 하나의 그라운드 컨트롤 라인(822)과 매칭 라인(812) 쌍을 이용하여 특정 거리뷰 영상(830)의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 것으로 도시되었으나, 이에 한정되지 않으며, 컨트롤 피처와 매칭점의 복수의 쌍을 이용하여 특정 거리뷰 영상(830)의 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다. 이 때 각 컨트롤 피처마다 도 5에서 설명된 가중치가 적용되어 특정 거리뷰 영상(830)의 3차원 절대좌표 위치 정보 및 방향 정보가 추정될 수 있다.In Figure 8, it is shown that the 3D absolute coordinate position information and direction information of a specific street view image 830 are estimated using a pair of a ground control line 822 and a matching line 812, but the method is not limited to this. 3D absolute coordinate location information and direction information of a specific street view image 830 can be estimated using a plurality of pairs of control features and matching points. At this time, the weight described in FIG. 5 is applied to each control feature so that the 3D absolute coordinate position information and direction information of the specific street view image 830 can be estimated.

도 9는 본 개시의 일 실시예에 따른 거리뷰 영상(900)에 대한 카메라 파라미터를 추정하는 방법을 설명하기 위한 도면이다. 일 실시예에 따르면, 정보 처리 시스템은 특정 거리뷰 영상(900)의 3차원 절대좌표 위치 정보 및 방향 정보 추정 결과에 기초하여, 특정 거리뷰 영상(900)의 카메라 파라미터를 추정할 수 있다. 여기서, 특정 거리뷰 영상(900)은 등장방형도법(equirectangular projection)으로 생성된 360도 파노라마 영상일 수 있다.FIG. 9 is a diagram illustrating a method of estimating camera parameters for a street view image 900 according to an embodiment of the present disclosure. According to one embodiment, the information processing system may estimate camera parameters of the specific street view image 900 based on the 3D absolute coordinate position information and direction information estimation results of the specific street view image 900. Here, the specific street view image 900 may be a 360-degree panoramic image generated using equirectangular projection.

일 실시예에서, 정보 처리 시스템은 특정 거리뷰 영상(900)을 6개의 이미지(cam 1 내지 cam 6)로 분할하기 위한 경계선을 정의하는 카메라 영역 파라미터를 추정할 수 있다. 경계선은 구 상에 그려진 선으로 표현될 수 있다. 360도 파노라마 영상인 특정 거리뷰 영상(900)은 현실 세계와 이질감 없이 사용자에게 제공되기 위하여 임의로 가공될 수 있으므로, 특정 거리뷰 영상(900)은 파노라마 영상의 기하학적 특징과 일치하지 않을 수 있다. 특정 거리뷰 영상(900)을 파노라마 영상의 기하학적 특징에 맞추어, 특정 거리뷰 영상(900)에 대한 3차원 절대좌표 위치 정보 및 방향 정보 추정 품질을 높이기 위하여, 정보 처리 시스템은 카메라 영역 파라미터를 추정할 수 있다.In one embodiment, the information processing system may estimate camera area parameters that define a boundary line for dividing a specific street view image 900 into six images (cam 1 to cam 6). Boundaries can be expressed as lines drawn on a sphere. Since the specific street view image 900, which is a 360-degree panoramic image, may be arbitrarily processed to be provided to the user without any sense of difference from the real world, the specific street view image 900 may not match the geometric characteristics of the panoramic image. In order to match the specific street view image 900 to the geometric characteristics of the panoramic image and improve the estimation quality of the 3D absolute coordinate position information and direction information for the specific street view image 900, the information processing system estimates camera area parameters. You can.

구체적으로, 360도 파노라마 영상인 특정 거리뷰 영상(900)은 6 개의 카메라 의해 촬영된 이미지가 스티칭(stitching)된 영상으로 가정하고, 각 카메라에 해당하는 영역(예, cam 1 내지 cam 6)을 추정할 수 있다. 예를 들어, 제1 카메라(cam 1)에 해당하는 영역과 연관된 4 개의 노드(912, 914, 916, 918)를 추정하고, 이들의 노드를 각각 연결하는 엣지(선)를 결정함으로써, 제1 카메라(cam 1)에 해당하는 영역을 정의할 수 있다. 이와 유사하게, 나머지 5개의 카메라에 해당하는 영역(예, cam 2 내지 cam 5) 각각을 분할하기 위한 경계선을 정의할 수 있다. 이 경우, 도 9에 도시된 바와 같이, 파노라마 영상 내 경계선(920)은 파노라마 영상의 기하학적 특징에 맞추어 재정의될 수 있다. 예를 들어, 파노라마 영상의 기하학적 특징에 맞춰 경계선(920)이 재정의됨에 따라 cam 1에 해당하는 영상의 경계선은 이에 인접한 cam 2 및 cam 3에 해당하는 영상의 경계선과 불일치할 수 있다.Specifically, the specific street view image 900, which is a 360-degree panoramic image, is assumed to be a stitched image of images captured by six cameras, and the area corresponding to each camera (e.g., cam 1 to cam 6) is It can be estimated. For example, by estimating four nodes (912, 914, 916, 918) associated with the area corresponding to the first camera (cam 1) and determining the edges (lines) connecting each of these nodes, the first You can define the area corresponding to the camera (cam 1). Similarly, a boundary line can be defined to divide each of the areas corresponding to the remaining five cameras (e.g., cam 2 to cam 5). In this case, as shown in FIG. 9, the boundary line 920 within the panoramic image may be redefined according to the geometric characteristics of the panoramic image. For example, as the boundary line 920 is redefined according to the geometric characteristics of the panoramic image, the boundary line of the image corresponding to cam 1 may be inconsistent with the boundary line of the images corresponding to cam 2 and cam 3 adjacent thereto.

일 실시예에 따르면, 정보 처리 시스템은 6개의 이미지(예, cam 1 내지 cam 6)를 비왜곡 평면 이미지로 변환하기 위한 카메라 왜곡(distortion) 파라미터를 결정할 수 있다. 정보 처리 시스템은 카메라 영역 파라미터와 함께 비왜곡 평면 이미지로 변환하기 위한 카메라 왜곡 파라미터를 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는데 이용할 수 있다.According to one embodiment, the information processing system may determine camera distortion parameters for converting six images (eg, cam 1 to cam 6) into undistorted flat images. The information processing system can use the camera distortion parameters for conversion to a non-distorted flat image along with the camera area parameters to estimate the 3D absolute coordinate position information and direction information of the street view image.

도 10은 본 개시의 일 실시예에 따른 거리뷰 영상에 대한 카메라 파라미터를 추정하는 방법의 구체적인 예시를 설명하기 위한 도면이다. 일 실시예에 따르면, 정보 처리 시스템은 360도 파노라마 영상인 거리뷰 영상의 카메라 영역 파라미터를 추정할 수 있다. 제1 예시(1010)는 거리뷰 영상을 기초로 6 개의 이미지로 분할할 때, 각 이미지의 FOV(Field Of View)가 90 도가 되도록 분할한 예시를 나타낸다. 예를 들어, 360도 파노라마 영상인 거리뷰 영상의 중심을 기준으로 좌측 45 도, 우측 45 도, 위 45 도, 아래 45 도에 해당하는 영역을 전방 영상(Front)으로 정의할 수 있다. 그리고, 전방에서 좌측으로 90 도 회전시킨 위치를 기준으로 FOV가 90 도가 되도록 좌측 영상(Left)을 정의할 수 있다. 이와 유사하게, 우측 영상(Right), 후방 영상(Back), 상방 영상(Up), 하방 영상(Down)을 정의할 수 있다. 이 때, 각각의 영상은 직사각형 격자(grid)에 대응되는 4 개의 노드를 포함할 수 있다. 예를 들어, 전방 영상은 직사각형 격자에 대응되는 4 개의 노드(1012, 1014, 1016, 1018)를 포함할 수 있다.FIG. 10 is a diagram illustrating a specific example of a method for estimating camera parameters for a street view image according to an embodiment of the present disclosure. According to one embodiment, the information processing system can estimate camera area parameters of a street view image that is a 360-degree panoramic image. The first example 1010 shows an example in which, when dividing a street view image into 6 images, the FOV (Field of View) of each image is divided to 90 degrees. For example, the area corresponding to 45 degrees left, 45 degrees right, 45 degrees above, and 45 degrees below based on the center of the street view image, which is a 360-degree panoramic image, can be defined as the front image (Front). Also, the left image (Left) can be defined so that the FOV is 90 degrees based on a position rotated 90 degrees from the front to the left. Similarly, right image (Right), rear image (Back), upper image (Up), and lower image (Down) can be defined. At this time, each image may include four nodes corresponding to a rectangular grid. For example, the front image may include four nodes (1012, 1014, 1016, and 1018) corresponding to a rectangular grid.

제2 예시(1020)는 거리뷰 영상을 파노라마 영상의 기하학적 특징에 맞추기 위해, 카메라 영역 파라미터를 추정한 결과의 예시를 나타낸다. 예를 들어, 도 9를 참조하여 설명한 바와 같이, 거리뷰 영상을 6개의 이미지로 분할하기 위한 경계선을 정의하는 카메라 영역 파라미터를 추정할 수 있다. 예를 들어, 추정된 카메라 영역 파라미터를 기초로 정의된 전방 영상(Front)의 영역은 왜곡된 사각형에 대응되는 4 개의 노드(1022, 1024, 1026, 1028)를 포함할 수 있다.The second example 1020 shows an example of the result of estimating camera area parameters to match the street view image to the geometric features of the panoramic image. For example, as described with reference to FIG. 9, camera area parameters that define a boundary line for dividing a street view image into six images can be estimated. For example, the area of the front image (Front) defined based on the estimated camera area parameter may include four nodes (1022, 1024, 1026, and 1028) corresponding to the distorted square.

이와 같은 구성을 통해, 거리뷰 영상을 파노라마 영상의 기하학적 특징에 맞추고, 이를 기초로, 거리뷰 영상에 대한 3차원 절대좌표 위치 정보 및 방향 정보를 추정함으로써, 고품질의 3차원 절대좌표 위치 정보 및 방향 정보를 획득할 수 있다.Through this configuration, the street view image is matched to the geometric features of the panoramic image, and based on this, the 3D absolute coordinate location information and direction information for the street view image are estimated, providing high quality 3D absolute coordinate location information and direction. Information can be obtained.

도 11은 본 개시의 일 실시예에 따른 필터링 수행시 사용되는 손실함수(Loss Function)의 예시를 설명하기 위한 도면이다. 일 실시예에 따르면, 손실함수는 거리뷰 영상의 매칭점과 컨트롤 피처의 투영 데이터 사이의 오차에 기초하여 이상값을 판단하는 기준으로 사용될 수 있다. 여기서, 도시된 그래프의 X 축은 거리뷰 영상의 매칭점과 컨트롤 피처의 투영 데이터 사이의 오차의 크기와 연관된다. 또한, 그래프의 Y 축은 해당 컨트롤 피처에 부여되는 웨이트(weight)와 연관된다.FIG. 11 is a diagram illustrating an example of a loss function used when performing filtering according to an embodiment of the present disclosure. According to one embodiment, the loss function may be used as a standard for determining outliers based on the error between the matching point of the street view image and the projection data of the control feature. Here, the X-axis of the depicted graph is associated with the size of the error between the matching point of the street view image and the projection data of the control feature. Additionally, the Y axis of the graph is associated with the weight given to the corresponding control feature.

일 실시예에 따르면, 컨트롤 피처에 포함된 이상값을 제거하기 위해 사용되는 손실함수는 컨트롤 피처의 종류에 따라 스케일이 상이하게 설정될 수 있다. 예를 들어, 그라운드 컨트롤 라인에 그라운드 컨트롤 포인트 및 빌딩 컨트롤 포인트보다 큰 스케일의 손실함수가 사용될 수 있다. According to one embodiment, the loss function used to remove outliers included in the control feature may have a different scale depending on the type of control feature. For example, a loss function with a larger scale than the ground control point and building control point may be used for the ground control line.

제1 예시(1110)는 작은 스케일(예, 스케일: 1)을 가진 손실함수의 예시를 나타낸다. 예를 들어, 제1 예시(1110)는 그라운드 컨트롤 포인트 및 빌딩 컨트롤 포인트에 대한 손실함수의 예시를 나타낼 수 있다. 제1 예시(1110)의 경우, 오차의 크기가 1 이상/초과인 데이터가 이상값으로 판정되어 제거될 수 있다.The first example 1110 shows an example of a loss function with a small scale (e.g., scale: 1). For example, the first example 1110 may represent an example of a loss function for a ground control point and a building control point. In the case of the first example 1110, data whose error size is greater than or equal to 1 may be determined to be an outlier and removed.

제2 예시(1120)는 큰 스케일(예, 스케일: 2)을 가진 손실함수의 예시를 나타낸다. 예를 들어, 제2 예시(1120)는 그라운드 컨트롤 라인에 대한 손실함수의 예시를 나타낼 수 있다. 제2 예시(1120)의 경우, 오차의 크기가 2 이상/초과인 데이터가 이상값으로 판정되어 제거될 수 있다. 그라운드 컨트롤 라인이 라인 특성상 그라운드 컨트롤 포인트와 빌딩 컨트롤 포인트보다 오차가 크기 때문에, 그라운드 컨트롤 라인에 그라운드 컨트롤 포인트 및 빌딩 컨트롤 포인트보다 큰 스케일의 손실함수가 사용될 수 있다.The second example 1120 shows an example of a loss function with a large scale (eg, scale: 2). For example, the second example 1120 may represent an example of a loss function for a ground control line. In the case of the second example 1120, data with an error size of 2 or more may be determined to be an outlier and removed. Because the ground control line has a larger error than the ground control point and building control point due to the nature of the line, a loss function with a larger scale than the ground control point and building control point can be used for the ground control line.

이에 따라, 큰 스케일의 손실함수를 사용하는 그라운드 컨트롤 라인의 경우, 거리뷰 영상의 매칭점과 컨트롤 피처의 투영 데이터 사이의 오차가 그라운드 컨트롤 포인트 또는 빌딩 컨트롤 포인트 보다 상대적으로 크더라도, 정상 데이터로 판정될 수 있다. 반면, 작은 스케일의 손실함수를 사용하는 그라운드 컨트롤 포인트 및 빌딩 컨트롤 포인트의 경우, 거리뷰 영상의 매칭점과 컨트롤 피처의 투영 데이터 사이의 오차가 그라운드 컨트롤 라인 보다 상대적으로 작더라도, 정상 데이터로 판정될 수 있다.Accordingly, in the case of a ground control line using a large-scale loss function, it is judged as normal data even if the error between the matching point of the street view image and the projection data of the control feature is relatively larger than the ground control point or building control point. It can be. On the other hand, in the case of ground control points and building control points that use a small-scale loss function, even if the error between the matching point of the street view image and the projection data of the control feature is relatively smaller than the ground control line, it can be judged as normal data. You can.

도 11은 손실함수의 스케일 값을 1 또는 2로 설정된 예시가 도시되었으나, 이는 설명의 편의를 위한 것이며, 스케일 값은 이에 한정되지 않는다.Figure 11 shows an example in which the scale value of the loss function is set to 1 or 2, but this is for convenience of explanation, and the scale value is not limited to this.

도 12는 본 개시의 일 실시예에 따른 거리뷰 영상의 절대 포즈 추정 방법 (1200)의 예시를 나타내는 흐름도이다. 방법(1200)은 프로세서(예를 들어, 정보 처리 시스템 및/또는 사용자 단말의 적어도 하나의 프로세서)가 특정 지역과 연관된 복수의 컨트롤 피처(control feature)를 수신함으로써 개시될 수 있다(S1210). 그리고 나서, 프로세서는 특정 지역과 연관된 복수의 거리뷰 영상 사이의 피처 매칭(feature matching)을 통해 획득된 복수의 매칭점을 수신할 수 있다(S1220). 여기서, 복수의 컨트롤 피처 각각은 3차원 절대좌표 위치 정보를 포함하고, 복수의 컨트롤 피처는, 그라운드 컨트롤 포인트, 빌딩 컨트롤 포인트 또는 그라운드 컨트롤 라인 중 적어도 하나를 포함할 수 있다.FIG. 12 is a flowchart illustrating an example of a method 1200 for estimating the absolute pose of a street view image according to an embodiment of the present disclosure. Method 1200 may be initiated by a processor (eg, at least one processor of an information processing system and/or a user terminal) receiving a plurality of control features associated with a specific region (S1210). Then, the processor may receive a plurality of matching points obtained through feature matching between a plurality of street view images related to a specific area (S1220). Here, each of the plurality of control features includes 3D absolute coordinate position information, and the plurality of control features may include at least one of a ground control point, a building control point, or a ground control line.

일 실시예에 따르면, 복수의 컨트롤 피처는 거리뷰 영상의 특정점과 연관된 3차원 절대좌표 위치 정보 및 시각 기술자(visual descriptor)를 포함할 수 있다. 일 실시예에서, 복수의 컨트롤 피처는 복수의 그라운드 컨트롤 포인트를 포함하고, 각 그라운드 컨트롤 포인트는 지면에서의 특정점과 연관된 3차원 절대좌표 위치 정보 및 시각 기술자를 포함할 수 있다. 다른 실시예에서 복수의 컨트롤 피처는 복수의 빌딩 컨트롤 포인트를 포함하고, 각 빌딩 컨트롤 포인트는 빌딩에서의 특정점과 연관된 3차원 절대좌표 위치 정보 및 시각 기술자를 포함할 수 있다. 또 다른 실시예에서, 복수의 컨트롤 피처는 복수의 그라운드 컨트롤 라인을 포함하고, 각 그라운드 컨트롤 라인은 지면에서의 특정 라인과 연관된 3차원 절대좌표 위치 정보 및 시각 기술자를 포함할 수 있다.According to one embodiment, the plurality of control features may include 3D absolute coordinate location information and a visual descriptor associated with a specific point of the street view image. In one embodiment, the plurality of control features includes a plurality of ground control points, and each ground control point may include 3D absolute coordinate position information and a visual descriptor associated with a specific point on the ground. In another embodiment, the plurality of control features may include a plurality of building control points, and each building control point may include 3D absolute coordinate location information and a visual descriptor associated with a specific point in the building. In another embodiment, the plurality of control features may include a plurality of ground control lines, each ground control line including a visual descriptor and three-dimensional absolute coordinate position information associated with a particular line on the ground.

일 실시예에 따르면, 프로세서는 복수의 컨트롤 피처 및 상기 복수의 매칭점에 기초하여 상기 복수의 거리뷰 영상 중 적어도 하나의 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다(S1230).According to one embodiment, the processor may estimate 3D absolute coordinate position information and direction information of at least one of the plurality of street view images based on the plurality of control features and the plurality of matching points (S1230).

구체적으로, 복수의 거리뷰 영상에 포함된 특정 거리뷰 영상에 대해 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다. 예를 들어, 프로세서는 복수의 매칭점 중 특정 거리뷰 영상과 연관된 제1 세트의 매칭점을 식별할 수 있다. 또한, 프로세서는 복수의 컨트롤 피처 중 제1 세트의 매칭점과 대응되는 제1 세트의 컨트롤 피처를 식별할 수 있다. 또한, 프로세서는 제1 세트의 컨트롤 피처를 특정 거리뷰 영상에 투영하여 제1 세트의 투영 데이터를 생성할 수 있다. 그리고 나서, 프로세서는 제1 세트의 매칭점 및 상기 제1 세트의 투영 데이터에 기초하여, 특정 거리뷰 영상의 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다. 여기서, 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보는 제1 세트의 매칭점과 제1 세트의 투영 데이터 사이의 오차가 최소화되도록 추정될 수 있다.Specifically, 3D absolute coordinate position information and direction information with first accuracy can be estimated for a specific street view image included in a plurality of street view images. For example, the processor may identify a first set of matching points associated with a specific street view image among a plurality of matching points. Additionally, the processor may identify the first set of control features that correspond to the first set of matching points among the plurality of control features. Additionally, the processor may project a first set of control features onto a particular street view image to generate a first set of projection data. Then, the processor may estimate first accuracy three-dimensional absolute coordinate position information and direction information of the specific street view image, based on the first set of matching points and the first set of projection data. Here, the 3D absolute coordinate position information and direction information of the first accuracy may be estimated so that the error between the first set of matching points and the first set of projection data is minimized.

일 실시예에 따르면, 복수의 거리뷰 영상 중 적어도 하나의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 단계는, 제1 세트의 컨트롤 피처 각각의 가중치를 결정하는 단계를 더 포함할 수 있다. 일 실시예에서, 컨트롤 피처가 그라운드 컨트롤 포인트인 경우, 프로세서는 특정 거리뷰 영상과 그라운드 컨트롤 포인트 사이의 거리가 멀수록 낮은 가중치를 부여할 수 있다. 다른 실시예에서, 컨트롤 피처가 빌딩 컨트롤 포인트인 경우, 프로세서는 특정 거리뷰 영상과 빌딩 컨트롤 포인트 사이의 거리가 멀수록 높은 가중치를 부여할 수 있다.According to one embodiment, estimating 3D absolute coordinate position information and direction information of at least one of the plurality of street view images may further include determining a weight of each control feature of the first set. In one embodiment, when the control feature is a ground control point, the processor may assign a lower weight as the distance between a specific street view image and the ground control point increases. In another embodiment, when the control feature is a building control point, the processor may assign a higher weight as the distance between a specific street view image and the building control point increases.

추가적으로, 프로세서는 추정된 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보에 기초하여, 제1 필터링을 수행할 수 있다. 구체적으로, 프로세서는 추정된 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보에 기초하여, 제1 세트의 컨트롤 피처를 특정 거리뷰 영상에 투영하여 제2 세트의 투영 데이터를 생성할 수 있다. 그리고, 프로세서는 제1 세트의 매칭점과 제2 세트의 투영 데이터 사이의 오차에 기초하여, 제1 세트의 컨트롤 피처 중 일부를 제거한 제2 세트의 컨트롤 피처를 결정할 수 있다. 그리고 나서, 프로세서는 제거된 컨트롤 피처와 대응되는 매칭점을 제1 세트의 매칭점에서 제거하여 제2 세트의 매칭점을 결정할 수 있다. 일 실시예에서, 제1 세트의 컨트롤 피처 중 일부를 제거할 때, 그라운드 컨트롤 라인에 그라운드 컨트롤 포인트 및 빌딩 컨트롤 포인트보다 큰 스케일의 손실함수가 사용될 수 있다. 따라서, 큰 스케일의 손실함수를 사용하는 그라운드 컨트롤 라인의 경우, 거리뷰 영상의 매칭점과 컨트롤 피처의 투영 데이터 사이의 오차가 그라운드 컨트롤 포인트 또는 빌딩 컨트롤 포인트 보다 상대적으로 크더라도, 정상 데이터로 판정될 확률이 클 수 있다.Additionally, the processor may perform first filtering based on 3D absolute coordinate position information and direction information of the estimated first accuracy. Specifically, the processor may project a first set of control features onto a specific street view image based on the 3D absolute coordinate position information and direction information of the estimated first accuracy to generate a second set of projection data. Then, the processor may determine a second set of control features from which some of the first set of control features are removed based on an error between the first set of matching points and the second set of projection data. Then, the processor may determine a second set of matching points by removing matching points corresponding to the removed control features from the first set of matching points. In one embodiment, when removing some of the first set of control features, a loss function of a larger scale than the ground control points and building control points may be used for the ground control lines. Therefore, in the case of a ground control line using a large-scale loss function, even if the error between the matching point of the street view image and the projection data of the control feature is relatively larger than the ground control point or building control point, it can be judged as normal data. The probability may be high.

추가적으로, 프로세서는 추정된 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보 결과를 기초로, 제2 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다. 이 때, 제2 정확도는 상기 제1 정확보다 높은 정확도일 수 있다. 구체적으로, 프로세서는 제2 세트의 매칭점 및 제2 세트의 컨트롤 피처 각각에 대한 개별 가중치를 결정할 수 있다. 예를 들어, 프로세서는 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보의 신뢰도에 기초하여, 제2 세트의 매칭점 및 제2 세트의 컨트롤 피처 각각에 대한 개별 신뢰도를 산출할 수 있다. 그리고, 프로세서는 산출된 개별 신뢰도에 기초하여 제2 세트의 매칭점 및 제2 세트의 컨트롤 피처 각각에 대한 개별 가중치를 결정할 수 있다. 그 후, 프로세서는 제2 세트의 매칭점, 상기 제2 세트의 컨트롤 피처 및 개별 가중치에 기초하여 특정 거리뷰 영상의 카메라 파라미터를 추정할 수 있다. 예를 들어, 프로세서는 특정 거리뷰 영상을 6개의 이미지로 분할하기 위한 경계선을 정의하는 카메라 영역 파라미터를 추정할 수 있다. 여기서, 특정 거리뷰 영상은, 등장방형도법(equirectangular projection)으로 생성된 360도 파노라마 영상일 수 있다. 추가적으로, 프로세서는 6개의 이미지를 비왜곡 평면 이미지로 변환하기 위한 카메라 왜곡(distortion) 파라미터를 결정할 수 있다. 그리고, 프로세서는 제2 세트의 매칭점, 제2 세트의 컨트롤 피처, 개별 가중치 및 카메라 파라미터에 기초하여, 특정 거리뷰 영상의 제2 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 추정할 수 있다.Additionally, the processor may estimate 3D absolute coordinate position information and direction information of a second accuracy based on the results of the estimated 3D absolute coordinate position information and direction information of the first accuracy. At this time, the second accuracy may be higher than the first accuracy. Specifically, the processor may determine individual weights for each of the second set of matching points and the second set of control features. For example, the processor may calculate individual reliability for each of the second set of matching points and the second set of control features based on the reliability of the first accuracy 3D absolute coordinate position information and direction information. Then, the processor may determine individual weights for each of the second set of matching points and the second set of control features based on the calculated individual reliability. The processor may then estimate camera parameters of the particular street view image based on the second set of matching points, the second set of control features, and the individual weights. For example, the processor may estimate camera region parameters that define boundaries for dividing a particular street view image into six images. Here, the specific street view image may be a 360-degree panoramic image created using equirectangular projection. Additionally, the processor can determine camera distortion parameters to convert the six images into an undistorted planar image. And, the processor may estimate a second accuracy of three-dimensional absolute coordinate position information and orientation information of the specific street view image based on the second set of matching points, the second set of control features, individual weights, and camera parameters. .

추가적으로, 프로세서는 추정된 제2 정확도의 3차원 절대좌표 위치 정보 및 방향 정보에 기초하여, 제2 필터링을 수행할 수 있다. 구체적으로, 프로세서는 추정된 제2 정확도의 3차원 절대좌표 위치 정보 및 방향 정보에 기초하여, 제2 세트의 컨트롤 피처를 특정 거리뷰 영상에 투영하여 제3 세트의 투영 데이터를 생성할 수 있다. 그리고, 프로세서는 제2 세트의 매칭점과 제3 세트의 투영 데이터 사이의 오차에 기초하여, 제2 세트의 컨트롤 피처 중 일부를 제거한 제3 세트의 컨트롤 피처를 결정할 수 있다. 그리고 나서, 프로세서는 제거된 컨트롤 피처와 대응되는 매칭점을 제2 세트의 매칭점에서 제거하여 제3 세트의 매칭점을 결정할 수 있다.Additionally, the processor may perform second filtering based on the 3D absolute coordinate position information and direction information of the estimated second accuracy. Specifically, the processor may project the second set of control features onto the specific street view image based on the 3D absolute coordinate position information and direction information of the estimated second accuracy to generate a third set of projection data. And, the processor may determine a third set of control features from which some of the control features of the second set are removed based on an error between the second set of matching points and the third set of projection data. Then, the processor may determine a third set of matching points by removing matching points corresponding to the removed control features from the second set of matching points.

추가적으로, 프로세서는 제3 세트의 컨트롤 피처를 특정 거리뷰 영상에 투영하여 제4 세트의 투영 데이터를 생성할 수 있다. 그리고, 제3 세트의 매칭점과 제4 세트의 투영 데이터 사이의 오차가 모두 미리 결정된 임계값 이하인지 여부를 판정할 수 있다. 일 실시예에서, 제3 세트의 매칭점과 제4 세트의 투영 데이터 사이의 오차가 모두 미리 결정된 임계값 이하인 것으로 판정된 경우, 프로세서는 제2 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 특정 거리뷰 영상의 최종 3차원 절대좌표 위치 정보 및 방향 정보로 결정할 수 있다. 반면, 제3 세트의 매칭점과 제4 세트의 투영 데이터 사이의 오차가 모두 미리 결정된 임계값 초과한 것으로 판정된 경우, 프로세서는 특정 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 단계를 반복하여 수행할 수 있다.Additionally, the processor may project a third set of control features onto a particular street view image to generate a fourth set of projection data. And, it may be determined whether the errors between the third set of matching points and the fourth set of projection data are all less than or equal to a predetermined threshold. In one embodiment, when it is determined that the errors between the third set of matching points and the fourth set of projection data are all less than or equal to a predetermined threshold, the processor specifies three-dimensional absolute coordinate position information and orientation information of a second accuracy. It can be determined using the final 3D absolute coordinate location information and direction information of the street view image. On the other hand, when it is determined that the errors between the third set of matching points and the fourth set of projection data all exceed a predetermined threshold, the processor estimates the three-dimensional absolute coordinate position information and direction information of the specific street view image. The steps can be repeated.

도 12의 흐름도 및 상술한 설명은 일 예시일 뿐이며, 본 개시의 범위가 이에 한정되는 것은 아니다. 예를 들어, 적어도 하나의 단계가 추가/변경/삭제되거나, 각 단계의 순서가 변경될 수 있다.The flowchart of FIG. 12 and the above description are only examples, and the scope of the present disclosure is not limited thereto. For example, at least one step may be added/changed/deleted, or the order of each step may be changed.

상술한 방법은 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램으로 제공될 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The above-described method may be provided as a computer program stored in a computer-readable recording medium for execution on a computer. The medium may continuously store a computer-executable program, or may temporarily store it for execution or download. In addition, the medium may be a variety of recording or storage means in the form of a single or several pieces of hardware combined. It is not limited to a medium directly connected to a computer system and may be distributed over a network. Examples of media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, And there may be something configured to store program instructions, including ROM, RAM, flash memory, etc. Additionally, examples of other media include recording or storage media managed by app stores that distribute applications, sites or servers that supply or distribute various other software, etc.

본 개시의 방법, 동작 또는 기법들은 다양한 수단에 의해 구현될 수도 있다. 예를 들어, 이러한 기법들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수도 있다. 본원의 개시와 연계하여 설명된 다양한 예시적인 논리적 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로 구현될 수도 있음을 통상의 기술자들은 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 대체를 명확하게 설명하기 위해, 다양한 예시적인 구성요소들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능적 관점에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지의 여부는, 특정 애플리케이션 및 전체 시스템에 부과되는 설계 요구사항들에 따라 달라진다. 통상의 기술자들은 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능을 구현할 수도 있으나, 그러한 구현들은 본 개시의 범위로부터 벗어나게 하는 것으로 해석되어서는 안된다.The methods, operations, or techniques of this disclosure may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. Those skilled in the art will understand that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented in electronic hardware, computer software, or combinations of both. To clearly illustrate this interchange of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and design requirements imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementations should not be interpreted as causing a departure from the scope of the present disclosure.

하드웨어 구현에서, 기법들을 수행하는 데 이용되는 프로세싱 유닛들은, 하나 이상의 ASIC들, DSP들, 디지털 신호 프로세싱 디바이스들(digital signal processing devices; DSPD들), 프로그램가능 논리 디바이스들(programmable logic devices; PLD들), 필드 프로그램가능 게이트 어레이들(field programmable gate arrays; FPGA들), 프로세서들, 제어기들, 마이크로제어기들, 마이크로프로세서들, 전자 디바이스들, 본 개시에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 컴퓨터, 또는 이들의 조합 내에서 구현될 수도 있다.In a hardware implementation, the processing units used to perform the techniques may include one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs). ), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, and other electronic units designed to perform the functions described in this disclosure. , a computer, or a combination thereof.

따라서, 본 개시와 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, DSP, ASIC, FPGA나 다른 프로그램 가능 논리 디바이스, 이산 게이트나 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 구성의 조합으로서 구현될 수도 있다.Accordingly, the various illustrative logical blocks, modules, and circuits described in connection with this disclosure may be general-purpose processors, DSPs, ASICs, FPGAs or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or It may be implemented or performed as any combination of those designed to perform the functions described in. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, such as a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other configuration.

펌웨어 및/또는 소프트웨어 구현에 있어서, 기법들은 랜덤 액세스 메모리(random access memory; RAM), 판독 전용 메모리(read-only memory; ROM), 비휘발성 RAM(non-volatile random access memory; NVRAM), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable PROM), 플래시 메모리, 컴팩트 디스크(compact disc; CD), 자기 또는 광학 데이터 스토리지 디바이스 등과 같은 컴퓨터 판독가능 매체 상에 저장된 명령들로서 구현될 수도 있다. 명령들은 하나 이상의 프로세서들에 의해 실행 가능할 수도 있고, 프로세서(들)로 하여금 본 개시에 설명된 기능의 특정 양태들을 수행하게 할 수도 있다.For firmware and/or software implementations, techniques include random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), and PROM ( on computer-readable media such as programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, compact disc (CD), magnetic or optical data storage devices, etc. It may also be implemented as stored instructions. Instructions may be executable by one or more processors and may cause the processor(s) to perform certain aspects of the functionality described in this disclosure.

이상 설명된 실시예들이 하나 이상의 독립형 컴퓨터 시스템에서 현재 개시된 주제의 양태들을 활용하는 것으로 기술되었으나, 본 개시는 이에 한정되지 않고, 네트워크나 분산 컴퓨팅 환경과 같은 임의의 컴퓨팅 환경과 연계하여 구현될 수도 있다. 또 나아가, 본 개시에서 주제의 양상들은 복수의 프로세싱 칩들이나 장치들에서 구현될 수도 있고, 스토리지는 복수의 장치들에 걸쳐 유사하게 영향을 받게 될 수도 있다. 이러한 장치들은 PC들, 네트워크 서버들, 및 휴대용 장치들을 포함할 수도 있다.Although the above-described embodiments have been described as utilizing aspects of the presently disclosed subject matter in one or more standalone computer systems, the disclosure is not limited thereto and may also be implemented in conjunction with any computing environment, such as a network or distributed computing environment. . Furthermore, aspects of the subject matter of this disclosure may be implemented in multiple processing chips or devices, and storage may be similarly effected across the multiple devices. These devices may include PCs, network servers, and portable devices.

본 명세서에서는 본 개시가 일부 실시예들과 관련하여 설명되었지만, 본 개시의 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 개시의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.Although the present disclosure has been described in relation to some embodiments in this specification, various modifications and changes may be made without departing from the scope of the present disclosure as can be understood by a person skilled in the art to which the invention pertains. Additionally, such modifications and changes should be considered to fall within the scope of the claims appended hereto.

110: 3차원 모델
112: 3차원 빌딩 모델 114: 수치 표고 모델 116: 정사 영상
120: 거리뷰 데이터
130: 맵매칭 132: 맵매칭 포인트/라인
150: 특징 매칭 152: 특징점 대응 세트
160: 위치 정보 및 방향 정보 추정
162: 절대좌표 위치 정보 및 방향 정보
110: 3D model
112: 3D building model 114: Digital elevation model 116: Orthoimagery
120: Street view data
130: Map matching 132: Map matching point/line
150: Feature matching 152: Feature point correspondence set
160: Estimation of location information and direction information
162: Absolute coordinate position information and direction information

Claims (20)

적어도 하나의 프로세서에 의해 수행되는, 거리뷰 영상의 절대 포즈(pose) 추정 방법에 있어서,
특정 지역과 연관된 복수의 컨트롤 피처(control feature)를 수신하는 단계;
상기 특정 지역과 연관된 복수의 거리뷰 영상 사이의 피처 매칭(feature matching)을 통해 획득된 복수의 매칭점을 수신하는 단계; 및
상기 복수의 컨트롤 피처 및 상기 복수의 매칭점에 기초하여 상기 복수의 거리뷰 영상 중 적어도 하나의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 단계
를 포함하고,
상기 복수의 컨트롤 피처 각각은 3차원 절대좌표 위치 정보를 포함하고,
상기 복수의 컨트롤 피처는, 그라운드 컨트롤 포인트, 빌딩 컨트롤 포인트 또는 그라운드 컨트롤 라인 중 적어도 하나를 포함하고,
상기 복수의 거리뷰 영상은 특정 거리뷰 영상을 포함하고,
상기 복수의 컨트롤 피처는 상기 특정 거리뷰 영상에 대응하는 제1 세트의 컨트롤 피처를 포함하고,
상기 특정 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보는, 상기 복수의 매칭점, 상기 제1 세트의 컨트롤 피처 및 상기 제1 세트의 컨트롤 피처 각각과 연관된 가중치를 기초로 추정되고,
상기 제1 세트의 컨트롤 피처 각각과 연관된 가중치 중 적어도 일부는 서로 상이한, 거리뷰 영상의 절대 포즈(pose) 추정 방법.
In the absolute pose estimation method of a street view image, performed by at least one processor,
Receiving a plurality of control features associated with a specific region;
Receiving a plurality of matching points obtained through feature matching between a plurality of street view images associated with the specific area; and
Estimating 3D absolute coordinate position information and direction information of at least one of the plurality of street view images based on the plurality of control features and the plurality of matching points.
Including,
Each of the plurality of control features includes three-dimensional absolute coordinate position information,
The plurality of control features include at least one of a ground control point, a building control point, or a ground control line,
The plurality of street view images include a specific street view image,
the plurality of control features includes a first set of control features corresponding to the specific street view image,
The 3D absolute coordinate location information and direction information of the specific street view image are estimated based on the plurality of matching points, the first set of control features, and weights associated with each of the first set of control features,
A method for estimating an absolute pose of a street view image, wherein at least some of the weights associated with each of the control features of the first set are different from each other.
제1항에 있어서,
상기 복수의 거리뷰 영상 중 적어도 하나의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 단계는,
상시 복수의 매칭점 중 상기 특정 거리뷰 영상과 연관된 상기 제1 세트의 매칭점을 식별하는 단계;
상기 복수의 컨트롤 피처 중 상기 제1 세트의 매칭점과 대응되는 상기 제1 세트의 컨트롤 피처를 식별하는 단계;
상기 제1 세트의 컨트롤 피처를 상기 특정 거리뷰 영상에 투영하여 제1 세트의 투영 데이터를 생성하는 단계; 및
상기 제1 세트의 매칭점 및 상기 제1 세트의 투영 데이터에 기초하여, 상기 특정 거리뷰 영상의 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 단계
를 포함하는, 절대 포즈 추정 방법.
According to paragraph 1,
The step of estimating 3D absolute coordinate location information and direction information of at least one of the plurality of street view images includes:
Identifying the first set of matching points associated with the specific street view image among a plurality of matching points at all times;
identifying the first set of control features among the plurality of control features that correspond to the first set of matching points;
projecting the first set of control features onto the specific street view image to generate a first set of projection data; and
Based on the first set of matching points and the first set of projection data, estimating first accuracy three-dimensional absolute coordinate position information and direction information of the specific street view image.
An absolute pose estimation method including.
제2항에 있어서,
상기 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보는 상기 제1 세트의 매칭점과 상기 제1 세트의 투영 데이터 사이의 오차가 최소화되도록 추정되는, 거리뷰 영상의 절대 포즈 추정 방법.
According to paragraph 2,
The 3D absolute coordinate position information and direction information of the first accuracy are estimated so that the error between the first set of matching points and the first set of projection data is minimized.
제2항에 있어서,
상기 복수의 거리뷰 영상 중 적어도 하나의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 단계는,
상기 제1 세트의 컨트롤 피처 각각의 가중치를 결정하는 단계
를 더 포함하고,
상기 특정 거리뷰 영상의 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보는, 상기 제1 세트의 매칭점, 상기 제1 세트의 투영 데이터 및 상기 제1 세트의 컨트롤 피처 각각의 가중치에 기초하여 추정되는, 거리뷰 영상의 절대 포즈 추정 방법.
According to paragraph 2,
The step of estimating 3D absolute coordinate location information and direction information of at least one of the plurality of street view images includes:
determining a weight for each of the first set of control features.
It further includes,
The three-dimensional absolute coordinate position information and direction information of the first accuracy of the specific street view image are based on the weights of each of the first set of matching points, the first set of projection data, and the first set of control features. Estimated absolute pose estimation method for street view images.
제4항에 있어서,
상기 제1 세트의 컨트롤 피처 각각의 가중치를 결정하는 단계는,
컨트롤 피처가 그라운드 컨트롤 포인트인 경우, 상기 특정 거리뷰 영상과 그라운드 컨트롤 포인트 사이의 거리가 멀수록 낮은 가중치를 부여하는 단계
를 포함하는, 거리뷰 영상의 절대 포즈 추정 방법.
According to paragraph 4,
Determining the weight of each control feature of the first set includes:
If the control feature is a ground control point, assigning a lower weight as the distance between the specific street view image and the ground control point increases.
Absolute pose estimation method for street view images, including.
제4항에 있어서,
상기 제1 세트의 컨트롤 피처 각각의 가중치를 결정하는 단계는,
컨트롤 피처가 빌딩 컨트롤 포인트인 경우, 상기 특정 거리뷰 영상과 빌딩 컨트롤 포인트 사이의 거리가 멀수록 높은 가중치를 부여하는 단계
를 포함하는, 거리뷰 영상의 절대 포즈 추정 방법.
According to paragraph 4,
Determining the weight of each control feature of the first set includes:
If the control feature is a building control point, assigning a higher weight as the distance between the specific street view image and the building control point increases.
Absolute pose estimation method for street view images, including.
제2항에 있어서,
상기 추정된 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보에 기초하여, 상기 제1 세트의 컨트롤 피처를 특정 거리뷰 영상에 투영하여 제2 세트의 투영 데이터를 생성하는 단계;
상기 제1 세트의 매칭점과 상기 제2 세트의 투영 데이터 사이의 오차에 기초하여, 상기 제1 세트의 컨트롤 피처 중 일부를 제거한 제2 세트의 컨트롤 피처를 결정하는 단계; 및
상기 제거된 컨트롤 피처와 대응되는 매칭점을 상기 제1 세트의 매칭점에서 제거하여 제2 세트의 매칭점을 결정하는 단계
를 더 포함하는, 거리뷰 영상의 절대 포즈 추정 방법.
According to paragraph 2,
Based on the estimated first accurate three-dimensional absolute coordinate position information and direction information, projecting the first set of control features onto a specific street view image to generate a second set of projection data;
based on an error between the first set of matching points and the second set of projection data, determining a second set of control features with some of the first set of control features removed; and
determining a second set of matching points by removing matching points corresponding to the removed control features from the first set of matching points.
An absolute pose estimation method for street view images, further comprising:
제7항에 있어서,
상기 제1 세트의 컨트롤 피처 중 일부를 제거할 때, 그라운드 컨트롤 라인에 그라운드 컨트롤 포인트 및 빌딩 컨트롤 포인트보다 큰 스케일의 손실함수가 사용되는, 거리뷰 영상의 절대 포즈 추정 방법.
In clause 7,
A method for absolute pose estimation of a street view image, wherein when removing some of the control features of the first set, a loss function with a larger scale than the ground control point and the building control point is used for the ground control line.
제7항에 있어서,
상기 제2 세트의 매칭점 및 상기 제2 세트의 컨트롤 피처 각각에 대한 개별 가중치를 결정하는 단계;
상기 제2 세트의 매칭점, 상기 제2 세트의 컨트롤 피처 및 상기 개별 가중치에 기초하여 상기 특정 거리뷰 영상의 카메라 파라미터를 추정하는 단계; 및
상기 제2 세트의 매칭점, 상기 제2 세트의 컨트롤 피처, 상기 개별 가중치 및 상기 카메라 파라미터에 기초하여, 상기 특정 거리뷰 영상의 제2 정확도의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하는 단계
를 더 포함하고,
상기 제2 정확도는 상기 제1 정확보다 높은 정확도인, 거리뷰 영상의 절대 포즈 추정 방법.
In clause 7,
determining individual weights for each of the second set of matching points and the second set of control features;
estimating camera parameters of the specific street view image based on the second set of matching points, the second set of control features, and the individual weights; and
Estimating a second accuracy three-dimensional absolute coordinate position information and orientation information of the specific street view image based on the second set of matching points, the second set of control features, the individual weights, and the camera parameters.
It further includes,
The second accuracy is a higher accuracy than the first accuracy.
제9항에 있어서,
상기 개별 가중치를 결정하는 방법은,
상기 제1 정확도의 3차원 절대좌표 위치 정보 및 방향 정보의 신뢰도에 기초하여, 상기 제2 세트의 매칭점 및 상기 제2 세트의 컨트롤 피처 각각에 대한 개별 신뢰도를 산출하는 단계; 및
상기 산출된 개별 신뢰도에 기초하여 상기 제2 세트의 매칭점 및 상기 제2 세트의 컨트롤 피처 각각에 대한 개별 가중치를 결정하는 단계
를 포함하는, 거리뷰 영상의 절대 포즈 추정 방법.
According to clause 9,
The method for determining the individual weights is:
calculating individual reliability for each of the second set of matching points and the second set of control features, based on the reliability of the first accurate 3D absolute coordinate position information and direction information; and
determining individual weights for each of the second set of matching points and the second set of control features based on the calculated individual reliability.
Absolute pose estimation method for street view images, including.
제9항에 있어서,
상기 카메라 파라미터를 추정하는 단계는,
상기 특정 거리뷰 영상을 6개의 이미지로 분할하기 위한 경계선을 정의하는 카메라 영역 파라미터를 추정하는 단계
를 포함하는, 거리뷰 영상의 절대 포즈 추정 방법.
According to clause 9,
The step of estimating the camera parameters is,
Estimating camera area parameters defining a boundary line for dividing the specific street view image into six images.
Absolute pose estimation method for street view images, including.
제11항에 있어서,
상기 특정 거리뷰 영상은, 등장방형도법(equirectangular projection)으로 생성된 360도 파노라마 영상인, 거리뷰 영상의 절대 포즈 추정 방법.
According to clause 11,
A method for estimating the absolute pose of a street view image, wherein the specific street view image is a 360-degree panoramic image generated by equirectangular projection.
제11항에 있어서,
상기 카메라 파라미터를 추정하는 단계는,
상기 6개의 이미지를 비왜곡 평면 이미지로 변환하기 위한 카메라 왜곡(distortion) 파라미터를 결정하는 단계
를 더 포함하는, 거리뷰 영상의 절대 포즈 추정 방법.
According to clause 11,
The step of estimating the camera parameters is,
Determining camera distortion parameters for converting the six images into undistorted flat images
An absolute pose estimation method for street view images, further comprising:
제9항에 있어서,
상기 추정된 제2 정확도의 3차원 절대좌표 위치 정보 및 방향 정보에 기초하여, 상기 제2 세트의 컨트롤 피처를 특정 거리뷰 영상에 투영하여 제3 세트의 투영 데이터를 생성하는 단계;
상기 제2 세트의 매칭점과 상기 제3 세트의 투영 데이터 사이의 오차에 기초하여, 상기 제2 세트의 컨트롤 피처 중 일부를 제거한 제3 세트의 컨트롤 피처를 결정하는 단계; 및
상기 제거된 컨트롤 피처와 대응되는 매칭점을 상기 제2 세트의 매칭점에서 제거하여 제3 세트의 매칭점을 결정하는 단계
를 더 포함하는, 거리뷰 영상의 절대 포즈 추정 방법.
According to clause 9,
Based on the estimated second accuracy of three-dimensional absolute coordinate position information and direction information, projecting the second set of control features onto a specific street view image to generate a third set of projection data;
based on an error between the second set of matching points and the third set of projection data, determining a third set of control features with some of the second set of control features removed; and
determining a third set of matching points by removing matching points corresponding to the removed control features from the second set of matching points.
An absolute pose estimation method for street view images, further comprising:
제14항에 있어서,
상기 제3 세트의 컨트롤 피처를 특정 거리뷰 영상에 투영하여 제4 세트의 투영 데이터를 생성하는 단계; 및
상기 제3 세트의 매칭점과 상기 제4 세트의 투영 데이터 사이의 오차가 모두 미리 결정된 임계값 이하인지 여부를 판정하는 단계
를 더 포함하는, 거리뷰 영상의 절대 포즈 추정 방법.
According to clause 14,
generating a fourth set of projection data by projecting the third set of control features onto a specific street view image; and
determining whether errors between the third set of matching points and the fourth set of projection data are all less than or equal to a predetermined threshold.
An absolute pose estimation method for street view images, further comprising:
제1항에 있어서,
상기 복수의 컨트롤 피처는 복수의 그라운드 컨트롤 포인트를 포함하고,
각 그라운드 컨트롤 포인트는 지면에서의 특정점과 연관된 3차원 절대좌표 위치 정보 및 시각 기술자(visual descriptor)를 포함하는, 거리뷰 영상의 절대 포즈 추정 방법.
According to paragraph 1,
The plurality of control features include a plurality of ground control points,
An absolute pose estimation method for street view images, wherein each ground control point includes 3D absolute coordinate location information and a visual descriptor associated with a specific point on the ground.
제1항에 있어서,
상기 복수의 컨트롤 피처는 복수의 빌딩 컨트롤 포인트를 포함하고,
각 빌딩 컨트롤 포인트는 빌딩에서의 특정점과 연관된 3차원 절대좌표 위치 정보 및 시각 기술자를 포함하는, 거리뷰 영상의 절대 포즈 추정 방법.
According to paragraph 1,
The plurality of control features includes a plurality of building control points,
An absolute pose estimation method for street view images, where each building control point includes 3D absolute coordinate location information and a visual descriptor associated with a specific point in the building.
제1항에 있어서,
상기 복수의 컨트롤 피처는 복수의 그라운드 컨트롤 라인을 포함하고,
각 그라운드 컨트롤 라인은 지면에서의 특정 라인과 연관된 3차원 절대좌표 위치 정보 및 시각 기술자를 포함하는, 거리뷰 영상의 절대 포즈 추정 방법.
According to paragraph 1,
The plurality of control features include a plurality of ground control lines,
A method for absolute pose estimation of street view images, wherein each ground control line includes three-dimensional absolute coordinate position information and a visual descriptor associated with a specific line on the ground.
제1항 내지 제18항 중 어느 한 항에 따른 방법을 컴퓨터에서 실행하기 위해 컴퓨터로 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium for executing the method according to any one of claims 1 to 18 on a computer. 정보 처리 시스템으로서,
통신 모듈;
메모리; 및
상기 메모리와 연결되고, 상기 메모리에 포함된 컴퓨터 판독 가능한 적어도 하나의 프로그램을 실행하도록 구성된 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로그램은,
특정 지역과 연관된 복수의 컨트롤 피처(control feature)를 수신하고,
상기 특정 지역과 연관된 복수의 거리뷰 영상 사이의 피처 매칭(feature matching)을 통해 획득된 복수의 매칭점을 수신하고,
상기 복수의 컨트롤 피처 및 상기 복수의 매칭점에 기초하여 상기 복수의 거리뷰 영상 중 적어도 하나의 3차원 절대좌표 위치 정보 및 방향 정보를 추정하기 위한 명령어들을 포함하고,
상기 복수의 컨트롤 피처 각각은 3차원 절대좌표 위치 정보를 포함하고,
상기 복수의 컨트롤 피처는, 그라운드 컨트롤 포인트, 빌딩 컨트롤 포인트 또는 그라운드 컨트롤 라인 중 적어도 하나를 포함하고,
상기 복수의 거리뷰 영상은 특정 거리뷰 영상을 포함하고,
상기 복수의 컨트롤 피처는 상기 특정 거리뷰 영상에 대응하는 제1 세트의 컨트롤 피처를 포함하고,
상기 특정 거리뷰 영상의 3차원 절대좌표 위치 정보 및 방향 정보는, 상기 복수의 매칭점, 상기 제1 세트의 컨트롤 피처 및 상기 제1 세트의 컨트롤 피처 각각과 연관된 가중치를 기초로 추정되고,
상기 제1 세트의 컨트롤 피처 각각과 연관된 가중치 중 적어도 일부는 서로 상이한, 정보 처리 시스템.
As an information processing system,
communication module;
Memory; and
At least one processor connected to the memory and configured to execute at least one computer-readable program included in the memory
Including,
The at least one program is,
Receive a plurality of control features associated with a specific region,
Receive a plurality of matching points obtained through feature matching between a plurality of street view images associated with the specific area,
Comprising instructions for estimating 3D absolute coordinate position information and direction information of at least one of the plurality of street view images based on the plurality of control features and the plurality of matching points,
Each of the plurality of control features includes three-dimensional absolute coordinate position information,
The plurality of control features include at least one of a ground control point, a building control point, or a ground control line,
The plurality of street view images include a specific street view image,
the plurality of control features includes a first set of control features corresponding to the specific street view image,
The 3D absolute coordinate location information and direction information of the specific street view image are estimated based on the plurality of matching points, the first set of control features, and weights associated with each of the first set of control features,
and wherein at least some of the weights associated with each of the first set of control features are different from each other.
KR1020230011359A 2023-01-30 Method and system for estimating absolute pose of road view images using automatically generated control features KR102675282B1 (en)

Publications (1)

Publication Number Publication Date
KR102675282B1 true KR102675282B1 (en) 2024-06-13

Family

ID=

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10794710B1 (en) * 2017-09-08 2020-10-06 Perceptin Shenzhen Limited High-precision multi-layer visual and semantic map by autonomous units

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10794710B1 (en) * 2017-09-08 2020-10-06 Perceptin Shenzhen Limited High-precision multi-layer visual and semantic map by autonomous units

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Kejie Qiu, "Compact 3D Map-Based Monocular Localization Using Semantic Edge Alignment", arXiv preprint arXiv:2103.14826 (2021.03.27.)*

Similar Documents

Publication Publication Date Title
US20220036648A1 (en) Method and terminal device for determining occluded area of virtual object
KR102212825B1 (en) Method and system for updating map for pose estimation based on images
US9355451B2 (en) Information processing device, information processing method, and program for recognizing attitude of a plane
CN105844631B (en) A kind of object localization method and device
CN109269472B (en) Method and device for extracting characteristic line of oblique photogrammetry building and storage medium
CN109186551B (en) Method and device for extracting characteristic points of oblique photogrammetry building and storage medium
CN113048980B (en) Pose optimization method and device, electronic equipment and storage medium
CN111145294B (en) Two-dimensional house type graph construction method and device and storage medium
CN111833447A (en) Three-dimensional map construction method, three-dimensional map construction device and terminal equipment
KR20210022016A (en) Method and system for improving depth information of feature points using camera and lidar
JP7197550B2 (en) Route tracking method and system based on visual localization and odometry
TWI722738B (en) Augmented reality device and positioning method
TW202238449A (en) Indoor positioning system and indoor positioning method
CN112836698A (en) Positioning method, positioning device, storage medium and electronic equipment
CN112991441A (en) Camera positioning method and device, electronic equipment and storage medium
WO2019196871A1 (en) Modeling method and related device
CN113610702A (en) Picture construction method and device, electronic equipment and storage medium
JP2023503750A (en) ROBOT POSITIONING METHOD AND DEVICE, DEVICE, STORAGE MEDIUM
KR102675282B1 (en) Method and system for estimating absolute pose of road view images using automatically generated control features
CN115578432B (en) Image processing method, device, electronic equipment and storage medium
CN114674328B (en) Map generation method, map generation device, electronic device, storage medium, and vehicle
CN112513941A (en) System and method for generating a set of approximately coordinated regional maps
TWM637241U (en) Computing apparatus and model generation system
JP2023021469A (en) Positioning method, positioning apparatus, method of generating visual map, and apparatus thereof
KR20240064332A (en) Method and system for automatically acquiring ground feature point matching points between road view images using 3d models