KR20220075795A - Method for estimating position in three-dimensional space - Google Patents

Method for estimating position in three-dimensional space Download PDF

Info

Publication number
KR20220075795A
KR20220075795A KR1020200164279A KR20200164279A KR20220075795A KR 20220075795 A KR20220075795 A KR 20220075795A KR 1020200164279 A KR1020200164279 A KR 1020200164279A KR 20200164279 A KR20200164279 A KR 20200164279A KR 20220075795 A KR20220075795 A KR 20220075795A
Authority
KR
South Korea
Prior art keywords
anchor
recognition block
current
recognition
block
Prior art date
Application number
KR1020200164279A
Other languages
Korean (ko)
Other versions
KR102425270B1 (en
Inventor
김명환
황민
이후경
강필도
김상환
박성혁
김승선
Original Assignee
(주)심스리얼리티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)심스리얼리티 filed Critical (주)심스리얼리티
Priority to KR1020200164279A priority Critical patent/KR102425270B1/en
Publication of KR20220075795A publication Critical patent/KR20220075795A/en
Application granted granted Critical
Publication of KR102425270B1 publication Critical patent/KR102425270B1/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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • 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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Navigation (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

본 발명은 3차원 공간에서 현재 위치를 추정하는 방법에 관한 것으로, 보다 구체적으로 포인트 클라우드 맵에 추가하여 앵커가 존재하는 인식 블록으로 이루어진 앵커 맵을 함께 이용하여 포인트 클라이드 맵으로 현재 위치를 추정하고 동시에 인식 블록 단위로 위치 보정함으로써 3차원 공간에서 실제 현재 위치를 정확하게 추정할 수 있고, 인식 블록에 존재하는 앵커의 크기와 해당 앵커 크기에 매핑되어 있는 관성값을 이용함으로써 인식 블록의 어느 장소에 위치하더라도 해당 인식 블록에서 앵커를 인식한 시점부터 현재 위치를 정확하게 추정할 수 있는 방법에 관한 것이다.The present invention relates to a method of estimating a current position in a three-dimensional space, and more specifically, by using an anchor map composed of a recognition block in which an anchor exists in addition to a point cloud map together to estimate the current position with a point clyde map and at the same time By correcting the position in units of recognition blocks, the actual current position can be accurately estimated in three-dimensional space, and by using the size of an anchor existing in the recognition block and the inertia value mapped to the size of the anchor, no matter where it is located in the recognition block It relates to a method for accurately estimating the current position from the point in time when an anchor is recognized in the corresponding recognition block.

Description

3차원 공간에서 위치를 추정하는 방법{Method for estimating position in three-dimensional space}Method for estimating position in three-dimensional space

본 발명은 3차원 공간에서 현재 위치를 추정하는 방법에 관한 것으로, 보다 구체적으로 포인트 클라우드 맵에 추가하여 앵커가 존재하는 인식 블록으로 이루어진 앵커 맵을 함께 이용하여 포인트 클라이드 맵으로 현재 위치를 추정하고 동시에 인식 블록 단위로 위치 보정함으로써 3차원 공간에서 실제 현재 위치를 정확하게 추정할 수 있고, 인식 블록에 존재하는 앵커의 크기와 해당 앵커 크기에 매핑되어 있는 관성값을 이용함으로써 인식 블록의 어느 장소에 위치하더라도 해당 인식 블록에서 앵커를 인식한 시점부터 현재 위치를 정확하게 추정할 수 있는 방법에 관한 것이다.The present invention relates to a method of estimating a current position in a three-dimensional space, and more specifically, by using an anchor map composed of a recognition block in which an anchor exists in addition to a point cloud map together to estimate the current position with a point clyde map and at the same time By correcting the position in units of recognition blocks, the actual current position can be accurately estimated in three-dimensional space, and by using the size of an anchor existing in the recognition block and the inertia value mapped to the size of the anchor, no matter where it is located in the recognition block It relates to a method for accurately estimating the current position from the point in time when an anchor is recognized in the corresponding recognition block.

공간에서 효과적으로 위치를 판단하며 이동하기 위해서 이동하고 있는 공간에 대한 지도를 생성하고 공간상의 자신의 위치를 인식하는 것이 요구된다. 주변 공간에 대하여 위치를 인식하고 지도를 형성하는 것을 동시 위치인식 및 지도형성(SLAM:Simultaneous Localization And Mapping)이라고 한다.In order to effectively determine the location and move in space, it is required to create a map for the moving space and to recognize one's own location in space. Recognizing the location of the surrounding space and forming a map is called Simultaneous Localization And Mapping (SLAM).

SLAM은 공간에 위치하는 객체의 특징 데이터에 기반하여 지도를 생성하거나 현재 위치의 영상에서 특징 데이터를 추출하여 현재 위치를 판단하는데, 사용되는 센서 유형에 따라 SLAM 알고리즘에 활용되는 특징 데이터도 다르다. 예컨대, 초음파(Sonar), 레이저와 같은 거리 센서를 통해 얻어진 거리 정보, GPS 기기를 통해 직접 얻어지는 좌표 정보, IMU장비를 통해 얻어지는 가속도 정보, 카메라의 영상 정보 등이 특징 데이터로 사용될 수 있다.SLAM creates a map based on feature data of an object located in space or determines the current location by extracting feature data from an image of the current location. For example, distance information obtained through a distance sensor such as an ultrasonic wave (Sonar) or a laser, coordinate information directly obtained through a GPS device, acceleration information obtained through an IMU device, image information of a camera, etc. may be used as feature data.

카메라의 영상 정보를 이용한 SLAM 기법을 비주얼(Visual) SLAM이라고 하는데, 비주얼 SLAM은 영상에서 추출한 시각 특징점을 이용하여 주변 환경에 대한 지도를 생성하고, 생성한 지도에 기반하여 현재 위치를 추정한다.The SLAM technique using the camera's image information is called visual SLAM. Visual SLAM creates a map of the surrounding environment using visual feature points extracted from the image, and estimates the current location based on the generated map.

도 1은 종래 비주얼 SLAM 기법으로 3차원 지도에서 현재 위치를 추정하는 방법의 일 예를 도시하고 있다.1 illustrates an example of a method for estimating a current location on a 3D map using a conventional visual SLAM technique.

도 1을 참고로 보다 구체적으로 살펴보면, 3차원 공간의 현재 위치에서 영상을 촬영하고 촬영한 영상에서 특징점을 추출한다(S10). 영상은 사용자가 소지하고 이동할 수 있는 휴대용 영상 장비이거나 이동 로봇에 설치되어 있는 영상 장비일 수 있다.Referring to FIG. 1 in more detail, an image is captured at a current position in a three-dimensional space, and feature points are extracted from the captured image (S10). The image may be a portable imaging device that a user can carry and move, or an imaging device installed in a mobile robot.

여기서 영상 장비는 모노 카메라, 스트레오 카메라, 깊이 카메라 또는 이들의 조합이 사용될 수 있다. 한편 카메라는 CCD(charge coupled device) 또는 CMOS(complementary metal oxide semiconductor) 이미지 센서와, 이미지 센서의 출력을 수신하여 2D 이미지를 생성하는 영상처리모듈 등을 구비하고 있다.Here, as the imaging device, a mono camera, a stereo camera, a depth camera, or a combination thereof may be used. Meanwhile, the camera includes a charge coupled device (CCD) or complementary metal oxide semiconductor (CMOS) image sensor, and an image processing module that generates a 2D image by receiving an output of the image sensor.

특징점은 객체의 형상을 대표하는 요소로서 객체를 묘사하고 모델링할 수 있는 중요한 점이며, 명확하게 식별이 가능한 특이점(interest point)으로서 모서리(corner), 정점(apex) 및 꼭지점(vertex)이 특징점에 해당된다. The feature point is an important point that can describe and model the object as an element representing the shape of the object. As a clearly identifiable singular point, the corner, apex, and vertex are at the feature point. applicable.

추출한 특징점에 대한 포인트 클라우드 좌표값을 생성한다(S30). 특징점은 2차원 좌표로 표시되는데 특징점을 추적하며 특징점의 깊이정보를 구비하는 3차원 좌표인 포인트 클라우드 좌표로 변환할 수 있다. A point cloud coordinate value for the extracted feature point is generated (S30). The feature point is displayed in two-dimensional coordinates, and the feature point can be tracked and converted into point cloud coordinates, which are three-dimensional coordinates having depth information of the feature point.

촬영한 영상에서 추출한 특징점의 포인트 클라우드 좌표와 포인트 클라우드 맵에 저장되어 있는 특징점의 포인트 클라우드 좌표를 서로 비교하여 서로 일치하는 특징점을 검색하며(S50), 서로 일치하는 특징점에 기초하여 3차원 공간에서 현재 위치를 추정한다(S70). The point cloud coordinates of the feature points extracted from the captured image and the point cloud coordinates of the feature points stored in the point cloud map are compared with each other to search for a feature point that matches each other (S50), and based on the feature point that matches each other, the current The location is estimated (S70).

기생성한 3차원 지도인 포인트 클라우드 맵에는 3차원 공간에 존재하는 객체들의 특징점에 대한 3차원 좌표, 즉 포인트 클라우드 좌표가 저장되어 있는데, 현재 위치에서 촬영한 영상에서 추출한 특징점들의 포인트 클라우드 좌표와 일치하는 특징점을 포인트 클라우드 맵에서 검색하여 3차원 공간에서의 현재 위치를 추정할 수 있다.The point cloud map, which is a pre-generated three-dimensional map, stores three-dimensional coordinates, ie, point cloud coordinates, of feature points of objects existing in three-dimensional space. It is possible to estimate the current position in a three-dimensional space by searching for a feature point in the point cloud map.

그러나 종래 비주얼 SLAM에서 생성된 3차원 지도에서, 실제 현재 위치와 특징점에 기초하여 추정한 현재 위치에 대한 포인트 클라우드 맵상의 포인트 클라우드 좌표 사이에는 오차가 발생하는 문제점을 가지는데, 이러한 문제점을 극복하기 위하여 관성센서(Inertial Measurement Unit, IMU)를 이용하여 3차원 지도를 작성하거나 현재 위치를 추정하도록 한다.However, in the conventional 3D map generated by visual SLAM, there is a problem in that an error occurs between the actual current position and the point cloud coordinates on the point cloud map for the current position estimated based on the feature point. Create a 3D map or estimate the current location using an inertial measurement unit (IMU).

종래 관성센서를 이용하여 3차원 지도를 생성하는 경우, 3차원 지도를 생성하는 시작 위치로부터 전체 3차원 공간에서 연속하여 관성센서의 관성값을 측정하는데, 3차원 공간에서 보행자의 이동 속도, 가속도, 방향 등을 측정하여 생성되는 관성값에도 오차가 발생할 수 있으며 시작 위치부터 전체 3차원 공간에서 연속하여 측정되는 관성값에는 오차가 누적되게 된다. 이로 인하여 관성 센서를 사용하더라도 실제 현재 위치와 특징점에 기초하여 추정한 3차원 공간상의 현재 위치 사이에도 오차가 여전히 발생하는 문제점을 가진다. In the case of generating a three-dimensional map using a conventional inertial sensor, the inertial value of the inertial sensor is continuously measured in the entire three-dimensional space from the starting position for generating the three-dimensional map. In the three-dimensional space, the movement speed, acceleration, An error may occur in the inertia value generated by measuring the direction, etc., and the error is accumulated in the inertia value continuously measured in the entire three-dimensional space from the starting position. Due to this, even when the inertial sensor is used, there is a problem that an error still occurs between the actual current position and the current position in 3D space estimated based on the feature point.

본 발명은 위에서 언급한 종래 위치 추정 방법이 가지는 문제점을 해결하기 위한 것으로, 본 발명이 이루고자 하는 목적은 포인트 클라우드 맵에 추가하여 앵커가 존재하는 인식 블록으로 이루어진 앵커 맵을 함께 이용하여 포인트 클라이드 맵으로 현재 위치를 추정하고 동시에 인식 블록 단위로 위치 보정이 가능한 위치 추정 방법을 제공하는 것이다.The present invention is to solve the problems of the conventional position estimation method mentioned above, and an object of the present invention is to use an anchor map consisting of a recognition block in which an anchor exists in addition to a point cloud map as a point clyde map. An object of the present invention is to provide a location estimation method capable of estimating the current location and simultaneously performing location correction in units of recognition blocks.

본 발명이 이루고자 하는 다른 목적은 인식 블록에 존재하는 앵커의 크기와 해당 앵커 크기에 매핑되어 있는 관성값을 이용하여 인식 블록의 어느 장소에 위치하더라도 해당 인식 블록에서 앵커를 인식한 시점부터 현재 위치를 정확하게 보정할 수 있는 위치 추정 방법을 제공하는 것이다.Another object of the present invention is to determine the current position from the time the anchor is recognized in the recognition block no matter where it is located in the recognition block by using the size of the anchor existing in the recognition block and the inertia value mapped to the size of the anchor. An object of the present invention is to provide a position estimation method that can be accurately corrected.

본 발명이 이루고자 하는 또 다른 목적은 현재 인식 블록에서 인접 인식 블록으로 이동시 인접 인식 블록에 존재하는 앵커를 검색하기 전까지 현재 인식 블록의 관성값을 연속 사용하여 인접 인식 블록에서 앵커를 검색하기 전까지 또는 인접 인식 블록에 앵커가 존재하지 않더라도 현재 위치를 정확하게 보정할 수 있는 위치 추정 방법을 제공하는 것이다.Another object of the present invention is to continuously use the inertia value of the current recognition block until the anchor existing in the adjacent recognition block is searched for when moving from the current recognition block to the adjacent recognition block until the anchor is searched in the adjacent recognition block or adjacent It is to provide a position estimation method that can accurately correct the current position even if there is no anchor in the recognition block.

본 발명의 목적을 달성하기 위하여 본 발명에 따른 위치 추정 방법은 3차원 공간에서 이동 중 현재 위치에서 촬영한 영상으로부터 특징점을 추출하는 단계와, 추출한 특징점의 3차원 좌표값으로부터 현재 위치의 주변에 존재하는 앵커를 검색하는 단계와, 주변에 존재하는 앵커를 검색하는 경우 다수의 인식 블록으로 이루어진 앵커 맵에서 검색한 앵커가 존재하는 현재 인식 블록의 관성값을 초기화하는 단계와, 현재 인식 블록에서 이동시 변화하는 관성값을 측정하여 현재 인식 블록에서의 현재 위치 정보를 보정하는 단계를 포함하며, 앵커는 인식 블록에서 특징점이 밀집되어 있는 단위 공간으로부터 생성되는 것을 특징으로 한다.In order to achieve the object of the present invention, a method for estimating a position according to the present invention includes the steps of extracting a feature point from an image taken at a current position while moving in a three-dimensional space, and the extracted feature point from the three-dimensional coordinate value of the current position. In the case of searching for anchors that exist in the vicinity, the steps of initializing the inertia value of the current recognition block in which the anchors searched from the anchor map consisting of a plurality of recognition blocks exist, and changing when moving in the current recognition block and correcting the current position information in the current recognition block by measuring the inertia value, wherein the anchor is generated from a unit space in which feature points are concentrated in the recognition block.

바람직하게, 본 발명에 따른 위치 추정 방법은 추출한 특징점의 3차원 좌표값으로부터 포인트 클라이드 맵에서 현재 위치 정보를 추정하는 단계를 더 포함하며, 추정한 현재 위치 정보를 현재 인식 블록에서 측정한 관성값으로 보정하는 것을 특징으로 한다.Preferably, the position estimation method according to the present invention further comprises the step of estimating the current position information in the point clyde map from the three-dimensional coordinate values of the extracted feature points, and converts the estimated current position information into the inertia value measured in the current recognition block. It is characterized by correction.

본 발명에서 현재 인식 블록에서의 관성값은 현재 인식 블록에 존재하는 앵커를 검색한 시점에 초기화되는 것을 특징으로 한다.In the present invention, the inertia value in the current recognition block is initialized when an anchor existing in the current recognition block is searched.

본 발명에서 따른 위치 추정 방법에서 현재 인식 블록에 존재하는 앵커를 검색한 시점에 검색한 앵커의 크기에 매핑되어 있는 관성값을 상관 정보 테이블에서 검색하고 검색한 관성값으로 초기화하는 것을 특징으로 한다.In the position estimation method according to the present invention, an inertia value mapped to the size of the searched anchor at the time of searching for an anchor present in the current recognition block is searched in the correlation information table and is characterized in that it is initialized with the searched inertia value.

일 실시예에서 상관 정보 테이블에는 인식 블록에 존재하는 앵커와의 이격 위치에 따라 달라지는 앵커의 크기와 앵커 크기에 따른 관성값이 서로 매핑되어 저장되어 있는 것을 특징으로 한다. In one embodiment, the correlation information table is characterized in that the size of the anchor that varies depending on the separation position from the anchor present in the recognition block and the inertia value according to the size of the anchor are mapped to each other and stored.

다른 실시예에서 상관 정보 테이블에는 인식 블록의 중심에 위치한 앵커를 기준으로 앵커를 인식할 수 있는 최대 이격된 지점으로부터 앵커까지 이동 과정 중 앵커와의 이격 위치에 따라 달라지는 앵커의 크기와 앵커의 크기에 따른 관성 측정값이 서로 매핑되어 저장되어 있는 것을 특징으로 한다.In another embodiment, the correlation information table contains the anchor size and the anchor size that vary depending on the distance from the anchor during the movement process from the maximum distance from the point at which the anchor can be recognized based on the anchor located in the center of the recognition block to the anchor. It is characterized in that the measured values of inertia are mapped to each other and stored.

일 실시예에서 인식 블록은 앵커를 중심으로 하고 상기 앵커를 인식할 수 있는 최대 인식 거리를 반지름으로 하는 원에 내접하는 정다각형의 길이를 일변으로 하는 정다각기둥인 것을 특징으로 한다. In one embodiment, the recognition block is characterized as a regular polygonal prism having a length of a regular polygon inscribed in a circle with the anchor as the center and the maximum recognition distance for recognizing the anchor as a radius as one side.

바람직하게, 본 발명에서 인식 블록은 앵커를 중심으로 하고 상기 앵커를 인식할 수 있는 최대 인식 거리를 반지름으로 하는 원에 내접하는 정육각형의 길이를 일변으로 하는 정육각기둥인 것을 특징으로 한다.Preferably, in the present invention, the recognition block is a regular hexagonal prism whose one side is the length of a regular hexagon inscribed in a circle with the anchor as the center and the maximum recognition distance that can recognize the anchor as the radius.

바람직하게, 본 발명에 따른 위치 추정 방법은 현재 인식 블록에서 현재 인식 블록에 인접한 인접 인식 블록으로 이동시 인접 인식 블록에서 앵커를 검색하는 단계와, 인접 인식 블록에서 앵커를 검색시 검색한 앵커의 크기에 매핑되어 있는 관성값으로 초기화하며 인접 인식 블록에서 이동시 변화하는 관성값을 측정하여 인접 인식 블록에서의 현재 위치 정보를 보정하는 단계를 더 포함하며, 인접 인식 블록에서 앵커를 검색하지 못하는 경우 현재 인식 블록에서 측정한 관성값에 연속하여 인접 인식 블록에서 측정한 관성값을 이용하여 인접 인식 블록에서 현재 위치 정보를 보정하는 것을 특징으로 한다.Preferably, the position estimation method according to the present invention comprises the steps of searching for an anchor in a neighboring recognition block when moving from a current recognition block to a neighboring recognition block adjacent to the current recognition block, The method further includes correcting the current position information in the adjacent recognition block by initializing it with the mapped inertia value and measuring the inertia value that changes when moving in the adjacent recognition block, and if the anchor is not found in the adjacent recognition block, the current recognition block It is characterized in that the current position information in the adjacent recognition block is corrected by using the inertia value measured in the adjacent recognition block successively to the measured inertia value.

바람직하게, 본 발명에 따른 위치 추정 방법은 추출한 특징점의 3차원 좌표값으로부터 현재 위치의 주변에 존재하는 다수의 앵커가 검색되는 경우 포인트 클라이드 맵에서 추정한 현재 위치 정보에 기초하여 다수의 인식 블록으로 이루어진 앵커 맵에서 현재 위치하고 있는 현재 인식 블록을 식별하는 단계와, 검색한 다수 앵커의 3차원 좌표에 기초하여 식별한 현재 인식 블록에 존재하는 앵커를 판단하는 단계를 더 포함하며, 현재 인식 블록에 존재하는 앵커에 기초하여 현재 인식 블록의 관성값을 초기화하는 것을 특징으로 한다.Preferably, the location estimation method according to the present invention is a plurality of recognition blocks based on the current location information estimated from the point clyde map when a plurality of anchors existing in the vicinity of the current location are searched from the three-dimensional coordinate value of the extracted feature point. The method further comprises the steps of identifying a current recognition block currently located in the anchor map made, and determining anchors present in the identified current recognition block based on the three-dimensional coordinates of a plurality of searched anchors, which are present in the current recognition block It is characterized in that the inertia value of the current recognition block is initialized based on the anchor.

본 발명에 따른 3차원 공간에서 위치 추정 방법은 다음과 같은 효과를 가진다.The method for estimating a position in a three-dimensional space according to the present invention has the following effects.

첫째, 본 발명에 따른 위치 추정 방법은 포인트 클라우드 맵에 추가하여 앵커가 존재하는 인식 블록으로 이루어진 앵커 맵을 함께 이용하여 포인트 클라이드 맵으로 현재 위치를 추정하고 동시에 인식 블록 단위로 위치 보정함으로써, 3차원 공간에서 실제 현재 위치를 정확하게 추정할 수 있다.First, the position estimation method according to the present invention estimates the current position with a point clyde map using an anchor map consisting of a recognition block with an anchor in addition to the point cloud map, and simultaneously corrects the position in units of recognition blocks. It is possible to accurately estimate the actual current position in space.

둘째, 본 발명에 따른 위치 추정 방법은 인식 블록에 존재하는 앵커의 크기와 해당 앵커 크기에 매핑되어 있는 관성값을 이용함으로써, 인식 블록의 어느 장소에 위치하더라도 해당 인식 블록에서 앵커를 인식한 시점부터 현재 위치를 정확하게 추정할 수 있다.Second, the position estimation method according to the present invention uses the size of the anchor existing in the recognition block and the inertia value mapped to the size of the anchor, so that no matter where the anchor is located in the recognition block, from the point in time when the anchor is recognized in the recognition block. The current location can be accurately estimated.

셋째, 본 발명에 따른 위치 추정 방법은 현재 인식 블록에서 인접 인식 블록으로 이동시 인접 인식 블록에 존재하는 앵커를 검색하기 전까지 현재 인식 블록의 관성값을 연속 사용함으로써, 인접 인식 블록에서 앵커를 검색하기 전까지 또는 인접 인식 블록에 앵커가 존재하지 않더라도 현재 위치를 정확하게 추정할 수 있다.Third, the location estimation method according to the present invention continuously uses the inertia value of the current recognition block until the anchor existing in the adjacent recognition block is searched for when moving from the current recognition block to the adjacent recognition block, until the anchor is searched in the adjacent recognition block Alternatively, the current position can be accurately estimated even if an anchor does not exist in the adjacent recognition block.

도 1은 종래 비주얼 SLAM 기법으로 3차원 지도에서 현재 위치를 추정하는 방법의 일 예를 도시하고 있다.
도 2는 본 발명에 따라 3차원 공간에서 위치를 추정하는 장치를 설명하기 위한 기능 블록도이다.
도 3은 본 발명에 따른 현재 위치 보정부를 설명하기 위한 기능 블록도이다.
도 4는 본 발명에 따라 앵커맵을 생성하는 방법의 일 예를 설명하기 위한 도면이다.
도 5는 시작 공간과 단위 공간의 일 예를 설명하기 위한 도면이다.
도 6은 시작 인식 블록의 생성 예를 설명하기 위한 도면이다.
도 7은 시작 인식 블록과 인접 인식 블록의 일 예를 설명하기 위한 도면이다.
도 8은 시작 인식 블록에서 앵커의 크기와 관성값 사이의 상관 정보를 생성하는 방법의 일 예를 설명하기 위한 도면이다.
도 9는 상관 정보의 일 예를 도시하고 있다.
도 10은 포인트 클라우드 맵과 앵커 맵으로 이루어진 3차원 지도에서 본 발명에 따라 현재 위치 정보를 추정하는 방법을 설명하기 위한 흐름도이다.
도 11은 본 발명에 따라 앵커 맵에 기초하여 추정한 현재 위치 정보를 보정하는 방법의 일 예를 설명하기 위한 흐름도이다.
도 12는 다수의 앵커가 존재하는 경우 앵커를 결정하는 일 예를 설명하기 위한 도면이다.
도 13은 이동 경로에 따라 인식 블록에서 앵커를 인식하는 일 예를 설명하기 위한 도면이다.
도 14는 현재 인식 블록에서 인접한 인접 인식 블록으로 이동시 인접 인식 블록에 존재하는 앵커를 검색하지 못하는 경우의 일 예를 설명하기 위한 도면이다.
도 15는 인접 인식 블록에 존재하지 앵커를 검색하지 못한 경우 인접 인식 블록에서 위치를 추정하는 방법의 일 예를 설명하기 위한 흐름도이다.
도 16은 앵커 크기를 계산하는 일 예를 설명하기 위한 도면이다.
1 illustrates an example of a method for estimating a current location on a 3D map using a conventional visual SLAM technique.
2 is a functional block diagram illustrating an apparatus for estimating a position in a three-dimensional space according to the present invention.
3 is a functional block diagram illustrating a current position correcting unit according to the present invention.
4 is a diagram for explaining an example of a method for generating an anchor map according to the present invention.
5 is a diagram for explaining an example of a start space and a unit space.
6 is a diagram for explaining an example of generation of a start recognition block.
7 is a diagram for explaining an example of a start recognition block and an adjacent recognition block.
8 is a diagram for explaining an example of a method of generating correlation information between an anchor size and an inertia value in a start recognition block.
9 shows an example of correlation information.
10 is a flowchart illustrating a method of estimating current location information according to the present invention on a three-dimensional map including a point cloud map and an anchor map.
11 is a flowchart illustrating an example of a method of correcting current location information estimated based on an anchor map according to the present invention.
12 is a diagram for explaining an example of determining an anchor when a plurality of anchors exist.
13 is a diagram for explaining an example of recognizing an anchor in a recognition block according to a movement path.
14 is a diagram for explaining an example of a case in which an anchor existing in a neighboring recognition block cannot be searched when moving from a current recognition block to an adjacent neighboring recognition block.
15 is a flowchart illustrating an example of a method of estimating a location in a neighboring recognition block when an anchor that does not exist in the neighboring recognition block is not searched for.
16 is a diagram for describing an example of calculating an anchor size.

본 발명에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다.It should be noted that the technical terms used in the present invention are only used to describe specific embodiments, and are not intended to limit the present invention. In addition, the technical terms used in the present invention should be interpreted as meanings generally understood by those of ordinary skill in the art to which the present invention belongs, unless otherwise specifically defined in the present invention, and excessively comprehensive It should not be construed in the meaning of a human being or in an excessively reduced meaning. In addition, when the technical term used in the present invention is an incorrect technical term that does not accurately express the spirit of the present invention, it should be understood by being replaced with a technical term that can be correctly understood by those skilled in the art.

또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서, "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들, 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, the singular expression used in the present invention includes the plural expression unless the context clearly dictates otherwise. In the present invention, terms such as “consisting of” or “comprising” should not be construed as necessarily including all of the various components or various steps described in the invention, some of which components or some steps are included. It should be construed that it may not, or may further include additional components or steps.

또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.In addition, it should be noted that the accompanying drawings are only for easy understanding of the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the accompanying drawings.

이하 첨부한 도면을 참고로 본 발명에 따른 3차원 공간에서 위치를 추정하는 방법에 대해 보다 구체적으로 살펴본다.Hereinafter, a method for estimating a position in a three-dimensional space according to the present invention will be described in more detail with reference to the accompanying drawings.

도 2는 본 발명에 따라 3차원 공간에서 위치를 추정하는 장치를 설명하기 위한 기능 블록도이다.2 is a functional block diagram illustrating an apparatus for estimating a position in a three-dimensional space according to the present invention.

도 2를 참고로 보다 구체적으로 살펴보면, 3차원 지도 데이터베이스(110)에는 포인트 클라우드 맵에 대한 정보와 앵커 맵에 대한 정보가 저장되어 있다. 여기서 포인트 클라우드 맵에 대한 정보는 특징점과 특징점의 3차원 좌표에 대한 정보를 포함하며, 앵커 맵에 대한 정보는 앵커 맵을 구성하는 다수의 인식 블록의 식별자와 인식 블록의 3차원 좌표 그리고 각 인식 블록에 존재하는 앵커에 대한 3차원 좌표에 대한 정보, 앵커 크기와 앵커 크기에 매핑되어 있는 관성값 정보를 포함하는 것을 특징으로 한다.Referring to FIG. 2 in more detail, the 3D map database 110 stores information on a point cloud map and information on an anchor map. Here, the information on the point cloud map includes information about the feature point and the three-dimensional coordinates of the feature point, and the information on the anchor map includes the identifiers of a plurality of recognition blocks constituting the anchor map, the three-dimensional coordinates of the recognition blocks, and each recognition block. It is characterized in that it includes information on the three-dimensional coordinates of the anchor present in the , and the anchor size and inertia value information mapped to the anchor size.

영상 획득부(170)는 현재 위치의 3차원 공간에 대한 영상 정보를 획득하고, 획득한 영상 정보를 현재 위치 추정부(130) 또는 현재 위치 보정부(150)로 제공한다. 현재 위치 추정부(130)는 포인트 클라우드 맵에 기초하여 현재 위치 정보를 추정하는데, 획득한 영상에서 특징점을 추출하고 추출한 특징점과 일치하는 포인트 클라우드 맵 상의 특징점을 검색하여 3차원 공간에서 현재 위치 정보를 추정한다.The image acquisition unit 170 acquires image information about the three-dimensional space of the current position, and provides the acquired image information to the current position estimator 130 or the current position corrector 150 . The current location estimator 130 estimates the current location information based on the point cloud map, extracts a feature point from the acquired image, searches for a feature point on the point cloud map that matches the extracted feature point, and obtains the current location information in a three-dimensional space. estimate

현재 위치 보정부(150)는 앵커 맵에 기초하여 추정한 현재 위치 정보를 보정하는데, 획득한 영상 정보에서 특징점을 추출하여 현재 위치의 주변에 위치하는 앵커를 검색하며, 검색한 앵커 크기에 매핑된 관성값에 기초하여 추정한 현재 위치 정보를 보정하며, 이후 현재 인식 블록에서 이동시 변화하는 관성값을 측정하여 현재 인식 블록에서 사용자의 이동 방향 또는 위치를 판단하며 포인트 클라우드 맵으로부터 추정한 현재 위치 정보를 판단한 이동 방향 또는 위치에 기초하여 보정하게 된다.The current position correcting unit 150 corrects the estimated current position information based on the anchor map, extracts feature points from the acquired image information to search for anchors located in the vicinity of the current position, and is mapped to the found anchor size. Corrects the current location information estimated based on the inertia value, then measures the inertia value that changes when moving in the current recognition block to determine the user's moving direction or location in the current recognition block, and calculates the current location information estimated from the point cloud map Correction is made based on the determined moving direction or position.

도 3은 본 발명에 따른 현재 위치 보정부를 설명하기 위한 기능 블록도이다.3 is a functional block diagram illustrating a current position correcting unit according to the present invention.

도 3을 참고로 보다 구체적으로 살펴보면, 특징점 추출부(151)는 현재 위치에서 촬영하여 획득한 영상으로부터 특징점을 추출하며, 앵커 결정부(153)는 추출한 특징점에 기초하여 현재 위치하고 있는 현재 인식 블록을 판단하며, 주변에 존재하는 앵커를 검색하여 현재 인식 블록에 존재하는 앵커를 결정한다.Referring to FIG. 3 in more detail, the feature point extractor 151 extracts a feature point from an image obtained by shooting at the current location, and the anchor determiner 153 selects the currently located recognition block based on the extracted feature point. and determines the anchors present in the current recognition block by searching for anchors existing in the vicinity.

관성값 초기화부(155)는 현재 인식 블록에 존재하는 앵커를 결정한 경우, 현재 인식 블록에 존재하는 앵커를 검색한 시점에 앵커 크기와 매핑되어 있는 관성값을 검색하여 앵커 크기에 매핑되어 있는 관성값으로 현재 인식 블록의 관성값을 초기화한다. When the anchor present in the current recognition block is determined, the inertia value initialization unit 155 searches for an inertia value mapped to the anchor size at the time of searching for an anchor present in the current recognition block, and an inertia value mapped to the anchor size. to initialize the inertia value of the current recognition block.

위치 보정부(157)는 현재 인식 블록에 속하는 앵커를 검색한 시점에 앵커 크기에 매핑되어 있는 관성값에 기초하여 앵커로부터 이격 거리를 계산하여 현재 위치 추정부에서 추정한 현재 위치 정보를 보정하며, 이후 현재 인식 블록에서 사용자가 이동하는 경우 이동에 따라 측정되는 관성 센서(159)의 관성값에 기초하여 포인트 클라우드 맵에서 추정한 현재 위치 정보를 보정하게 된다.The position correction unit 157 corrects the current position information estimated by the current position estimator by calculating the separation distance from the anchor based on the inertia value mapped to the anchor size at the time of searching for the anchor belonging to the current recognition block, Thereafter, when the user moves in the current recognition block, the current location information estimated from the point cloud map is corrected based on the inertia value of the inertial sensor 159 measured according to the movement.

여기서 관성 센서(159)는 운동의 관성력을 검출하여 측정 대상인 움직이는 물체의 가속도, 속도, 방향, 거리 등 다양한 항법 관련 정보를 제공하는 센서로, 인가되는 가속도에 의해 관성체에 작용하는 관성력을 측정한다.Here, the inertial sensor 159 is a sensor that detects the inertial force of motion and provides various navigation-related information such as acceleration, speed, direction, and distance of a moving object as a measurement target, and measures the inertial force acting on the inertial body by the applied acceleration .

본 발명에서 현재 위치 정보는 포인트 클라우드 맵에 추가하여 다수의 인식 블록으로 이루어진 앵커 맵에 기초하여 인식 블록 단위로 인식 블록에서의 관성값에 따라 현재 위치 정보를 보정하여 현재 위치를 추정하는데, 도 4는 본 발명에 따라 앵커맵을 생성하는 방법의 일 예를 설명하기 위한 도면이다.In the present invention, the current location information is added to the point cloud map and the current location is estimated by correcting the current location information according to the inertia value in the recognition block in units of recognition blocks based on the anchor map composed of a plurality of recognition blocks, FIG. is a diagram for explaining an example of a method for generating an anchor map according to the present invention.

보다 구체적으로 살펴보면, 3차원 지도을 생성하기 위하여 사용자 또는 이동 로봇은 영상 장비를 장착 후 3차원 공간을 이동하며 3차원 공간의 영상을 촬영하여 포인트 클라우드 맵과 앵커 맵으로 이루어진 3차원 지도를 생성하는데, 먼저 앵커 맵을 생성하기 시작하는 시작 공간을 다수의 단위 공간으로 구분하여 각 단위 공간에서의 특징점들의 밀집도를 판단한다(S211). 시작 공간의 단위 공간의 밀집도에 기초하여 가장 밀집도가 높은 단위 공간을 시작 앵커로 결정한다(S213). 결정한 시작 앵커를 중심으로 정육각기둥의 시작 인식 블록을 생성한다(S215).More specifically, in order to generate a three-dimensional map, a user or a mobile robot moves in three-dimensional space after mounting imaging equipment, and creates a three-dimensional map consisting of a point cloud map and an anchor map by taking an image in the three-dimensional space, First, a starting space for generating an anchor map is divided into a plurality of unit spaces to determine the density of feature points in each unit space (S211). Based on the density of the unit space of the start space, the unit space with the highest density is determined as the start anchor (S213). A start recognition block of a regular hexagonal prism is generated based on the determined start anchor (S215).

시작 공간은 3차원 공간 중 임의의 공간일 수 있는데, 바람직하게 시작 공간은 3차원 지도를 생성하기 시작한 위치에서 일정한 크기를 가지는 공간으로 설정될 수 있다. 시작 공간을 다수의 단위 공간으로 구분하여 각 단위 공간에 존재하는 특징점의 개수를 카운트하며, 시작 공간의 단위 공간들 중 밀집도가 가장 높은 단위 공간을 시작 앵커로 결정하여 시작 인식 블록을 생성한다. 시작 인식 블록이 생성시, 시작 인식 블록에 구비된 시작 앵커에 존재하는 특징점들의 3차원 좌표와 시작 인식 블록의 3차원 좌표를 판단하여 저장한다.The start space may be any space among 3D spaces. Preferably, the start space may be set to a space having a constant size at a position where the 3D map is started. The start space is divided into a plurality of unit spaces, the number of feature points existing in each unit space is counted, and a unit space with the highest density among unit spaces of the start space is determined as a start anchor to generate a start recognition block. When the start recognition block is generated, the three-dimensional coordinates of the feature points existing in the start anchor provided in the start recognition block and the three-dimensional coordinates of the start recognition block are determined and stored.

생성한 시작 인식 블록에서 시작 앵커를 기준으로 최대 이격 거리로부터 시작 앵커로 이동하며 측정되는 관성 측정값과 앵커 크기를 판단하고, 시작 앵커로부터의 이격 거리에 따라 달라지는 관성값과 앵커 크기를 서로 매핑한 상관 테이블를 생성하여 저장한다(S216).In the created start recognition block, the inertia measurement value and anchor size measured by moving from the maximum separation distance to the start anchor based on the start anchor are determined, and the inertia value and anchor size that vary depending on the separation distance from the start anchor are mapped to each other. A correlation table is created and stored (S216).

시작 인식 블록이 생성되면 시작 인식 블록에 인접한 공간에서 인접 인식 블록을 생성하고 생성한 인접 인식 블록의 단위 공간에서 특징점의 밀집도가 가장 높은 단위 공간을 인접 인식 블록의 인접 앵커로 결정한다(S217). 인접 인식 블록이 생성시, 인접 인식 블록의 인접 앵커에 존재하는 특징점들의 3차원 좌표와 인접 인식 블록의 3차원 좌표를 판단하여 저장한다.When the start recognition block is generated, an adjacent recognition block is generated in the space adjacent to the start recognition block, and the unit space with the highest density of feature points in the unit space of the generated adjacent recognition block is determined as the adjacent anchor of the adjacent recognition block (S217). When the adjacent recognition block is generated, the 3D coordinates of the feature points existing in the adjacent anchors of the adjacent recognition block and the 3D coordinates of the adjacent recognition block are determined and stored.

인접 인식 블록에 인접한 공간에서 인접 인식 블록을 연속 생성하여 시작 인식 블록과 인접 인식 블록로 이루어진 3차원 공간 전체에 대한 앵커 맵을 생성한다(S219).By continuously generating adjacent recognition blocks in the space adjacent to the adjacent recognition block, an anchor map for the entire three-dimensional space consisting of the starting recognition block and the adjacent recognition block is generated ( S219 ).

도 5는 시작 공간과 단위 공간의 일 예를 설명하기 위한 도면이다.5 is a diagram for explaining an example of a start space and a unit space.

시작 공간(SS)은 3차원 공간 중 3차원 지도를 생성하기 위하여 영상을 촬영하기 시작하는 위치에서 임의 크기로 설정된 공간이다. 시작 공간(SS)을 다수의 단위 공간(US)으로 구분하여 각 단위 공간(US)에 존재하는 특징점들의 개수를 카운트한다. 시작 공간(SS)를 구성하는 단위 공간 중 밀집도가 가장 높은 단위 공간을 시작 앵커로 결정한다.The starting space SS is a space set to an arbitrary size at a position where an image is started to be captured in order to generate a 3D map in the 3D space. The start space SS is divided into a plurality of unit spaces US, and the number of feature points existing in each unit space US is counted. The unit space with the highest density among unit spaces constituting the start space SS is determined as the start anchor.

도 6은 시작 인식 블록의 생성 예를 설명하기 위한 도면이다.6 is a diagram for explaining an example of generating a start recognition block.

도 6에 도시되어 있는 바와 같이, 시작 앵커(A)를 중심으로 하여 시작 앵커(A)가 존재하는 가상 수평면에서 일정 길이(r)를 반지름으로 하는 원에 내접한 정육각형의 길이를 일변으로 하는 정육각기둥으로 시작 인식 블록을 생성할 수 있다.As shown in Fig. 6, the length of a regular hexagon inscribed in a circle having a certain length (r) as a radius in a virtual horizontal plane in which the start anchor (A) exists with the start anchor (A) as the center is one side. You can create a starting recognition block with a prism.

본 발명이 적용되는 분야에 따라 시작 앵커를 중심으로 하여 시작 앵커가 존재하는 가상 수평면에서 일정 길이를 반지름으로 하는 원에 내접하는 다양한 정다각형의 길이를 일변으로 하는 정다각 기둥으로 시작 인식 블록을 생성할 수 있으며 이는 본 발명의 범위에 속한다.In accordance with the field to which the present invention is applied, a start recognition block is created with regular polygonal poles with the lengths of various regular polygons inscribed in a circle having a certain length as a radius in a virtual horizontal plane where the start anchor is located as the center of the start anchor. and are within the scope of the present invention.

본 발명이 적용되는 분야에 따른 시작 앵커를 중심으로 하고 시작 앵커를 인식할 수 있는 최대 인식 거리를 반지름으로 하는 원에 내접하는 정다각형의 길이를 일변으로 하는 정다각기둥으로 시작 인식 블록을 생성할 수 있으며 이는 본 발명의 범위에 속한다.A start recognition block can be created with a regular polygonal pole with one side of the length of a regular polygon inscribed in a circle centered on the start anchor according to the field to which the present invention is applied and the maximum recognition distance that can recognize the start anchor is the radius. This is within the scope of the present invention.

도 7은 시작 인식 블록과 인접 인식 블록의 일 예를 설명하기 위한 도면이다.7 is a diagram for explaining an example of a start recognition block and an adjacent recognition block.

도 7(a)는 시작 인식 블록(SB)부터 시작하여 시작 인식 블록(SB)에 인접한 공간에서 연속하여 생성되는 인접 인식 블록(NB)의 일 예를 도시하고 있다. 도 7(a)에 도시되어 있는 바와 같이 시작 인식 블록(SB)과 인접 인식 블록(NB)는 서로 동일한 크기와 형상으로 생성된다.FIG. 7( a ) shows an example of an adjacent recognition block NB that is continuously generated in a space adjacent to the start recognition block SB starting from the start recognition block SB. As shown in FIG. 7A , the starting recognition block SB and the adjacent recognition block NB are generated to have the same size and shape.

도 7(b)는 시작 인식 블록(SB)과 인접 인식 블록(NB)에 포함된 시작 앵커와 인접 앵커의 일 예를 도시하고 있다. 도 7(b)에 도시되어 있는 바와 같이 시작 인식 블록과 인접 인식 블록에서 특징점이 가장 높은 단위 공간이 시작 앵커 또는 인접 앵커(A)로 결정된다.FIG. 7(b) shows an example of a start anchor and an adjacent anchor included in the start recognition block SB and the neighbor recognition block NB. As shown in FIG. 7( b ), the unit space with the highest feature point in the start recognition block and the adjacent recognition block is determined as the start anchor or the adjacent anchor (A).

도 8은 시작 인식 블록에서 앵커의 크기와 관성값 사이의 상관 정보를 생성하는 방법의 일 예를 설명하기 위한 도면이다.8 is a diagram for explaining an example of a method of generating correlation information between an anchor size and an inertia value in a start recognition block.

도 8(a)에 도시되어 있는 바와 같이, 시작 인식 블록에서 시작 앵커로부터 최대 이격된 지점(P)에서 시작 앵커(A)까지 사용자가 이동하며 이동 과정 중 시작 앵커와의 이격 거리에 따라 달라지는 시작 앵커의 크기와 관성 측정값을 서로 매핑하여 상관 정보를 생성한다.As shown in Fig. 8 (a), the user moves from the maximum distance P from the start anchor in the start recognition block to the start anchor A, and the start that varies depending on the separation distance from the start anchor during the movement process Correlation information is generated by mapping anchor sizes and inertia measurements to each other.

도 8(b)에 도시되어 있는 바와 같이, 시작 인식 블록에서 시작앵커(A)로부터 이격된 거리(r1, r2, r3)가 멀어질수록 시작 앵커의 크기가 작아지며, 최대 이격 지점에서 시작 앵커으로 근접할수록 관성값은 증가하게 된다. 여기서 앵커의 크기는 앵커를 구성하는 특징점의 전체 면적에 기초하여 판단할 수 있다. 예를 들어, 도 16에 도시되어 있는 바와 같이 앵커를 구성하는 특징점으로 사각형을 구성하는 경우 사각형을 구성하는 픽셀 크기로 앵커 크기를 판단할 수 있다.As shown in FIG. 8(b), as the distance (r 1 , r 2 , r 3 ) spaced apart from the start anchor (A) in the start recognition block increases, the size of the start anchor decreases, and the maximum separation point As it approaches the starting anchor, the inertia value increases. Here, the size of the anchor may be determined based on the total area of the feature points constituting the anchor. For example, as shown in FIG. 16 , when a quadrangle is configured with feature points constituting the anchor, the size of the anchor may be determined based on the pixel size constituting the quadrangle.

따라서 시작 인식 블록에서 시작 앵커로부터 최대 이격된 지점(P)에서 시작 앵커(A)까지 사용자가 이동하는 중 시작 앵커와의 이격 거리에 따라 시작 앵커의 크기와 관성값은 서로 상이하며, 시작 앵커의 크기와 관성값을 서로 매핑하여 상관 정보로 생성한다.Therefore, in the start recognition block, the size and inertia value of the start anchor are different depending on the distance from the start anchor while the user moves from the maximum distance (P) to the start anchor (A) in the start recognition block. The magnitude and inertia values are mapped to each other to generate correlation information.

본 발명에서 시작 인식 블록과 인접 인식 블록은 서로 동일한 크기와 형상으로 생성되기 때문에, 시작 인식 블록에서 생성한 상관 정보는 다른 인접 인식 블록에서도 현재 위치 정보를 보정하기 위하여 동일하게 사용될 수 있다. In the present invention, since the start recognition block and the adjacent recognition block are generated to have the same size and shape as each other, the correlation information generated in the start recognition block can be equally used to correct the current location information in other adjacent recognition blocks as well.

도 9는 상관 정보의 일 예를 도시하고 있는데, 도 9에 도시되어 있는 바와 같이 시작 앵커와의 이격 거리에 따라 달라지는 관성 측정값과 시작 앵커의 크기가 서로 매핑되어 테이블로 저장될 수 있다.FIG. 9 shows an example of correlation information. As shown in FIG. 9 , an inertia measurement value that varies depending on the separation distance from the start anchor and the size of the start anchor may be mapped to each other and stored as a table.

도 10은 포인트 클라우드 맵과 앵커 맵으로 이루어진 3차원 지도에서 본 발명에 따라 현재 위치 정보를 추정하는 방법을 설명하기 위한 흐름도이다.10 is a flowchart illustrating a method of estimating current location information in a three-dimensional map including a point cloud map and an anchor map according to the present invention.

3차원 공간의 현재 위치에서 영상을 촬영하고 촬영한 영상에서 특징점을 추출한다(S110). 영상은 사용자가 소지하고 이동할 수 있는 휴대용 영상 장비이거나 이동 로봇에 설치되어 있는 영상 장비일 수 있다.An image is taken at the current position in the three-dimensional space, and feature points are extracted from the captured image (S110). The image may be a portable imaging device that a user can carry and move, or an imaging device installed in a mobile robot.

여기서 영상 장비는 모노 카메라, 스트레오 카메라, 깊이 카메라 또는 이들의 조합이 사용될 수 있다. Here, as the imaging device, a mono camera, a stereo camera, a depth camera, or a combination thereof may be used.

특징점은 객체의 형상을 대표하는 요소로서 객체를 묘사하고 모델링할 수 있는 중요한 점이며, 명확하게 식별이 가능한 특이점(interest point)으로서 모서리(corner), 정점(apex) 및 꼭지점(vertex)이 특징점에 해당된다. 영상에서 특징점을 추출하는 방법은 CSS(Curvature Scale Space), FAST-ER(FAST-Enhanced Repeatability)등의 알고리즘을 사용하거나, Harris corner detection 기법을 사용하여 특정한 "점"을 추출하거나, Canny edgy detection 기법을 사용하여 특정한 "선"을 추출하는 것이 가능하다. 다양한 방식으로 특징점을 추출할 수 있으며 이에 대한 상세한 설명은 생략한다.The feature point is an important point that can describe and model the object as an element representing the shape of the object. As a clearly identifiable singular point, the corner, apex, and vertex are at the feature point. applicable. To extract feature points from images, algorithms such as CSS (Curvature Scale Space) and FAST-ER (FAST-Enhanced Repeatability) are used, or specific “points” are extracted using Harris corner detection, or canny edgy detection techniques It is possible to extract a specific "line" using Feature points may be extracted in various ways, and a detailed description thereof will be omitted.

추출한 특징점의 포인트 클라우드 좌표를 추출하여 추출한 특징점과 일치하는 특징점을 포인트 클라우드 맵에서 검색하여 3차원 공간에서 현재 위치 정보를 추정한다(S130).By extracting the point cloud coordinates of the extracted feature points, the feature points matching the extracted feature points are searched in the point cloud map to estimate the current location information in the three-dimensional space (S130).

한편, 앵커 맵을 이용하여 현재 위치에서 주변에 존재하는 앵커를 검색하고 검색한 앵커가 존재하는 현재 인식 블록에서 앵커 정보에 기초하여 추정한 현재 위치를 보정한다(S150). 여기서 앵커 맵은 다수의 인식 블록으로 이루어지며 각 인식 블록에는 앵커가 존재하는데, 앵커를 검색하는 경우 앵커 크기와 앵커 크기에 매핑되어 있는 관성값에 기초하여 앵커가 존재하는 현재 인식 블록에서 앵커로부터 이격된 현재 위치를 판단하며 판단한 현재 위치에 기초하여 추정한 사용자의 현재 위치 정보를 보정한다. 이후 사용자가 현재 인식 블록에서 이동하는 경우 이동 과정에서 추출한 특징점에 기초하여 포인트 클라우드 맵에서 사용자의 현재 위치 정보를 추정함과 동시에 현재 인식 블록에서 이동시 변화하는 관성값을 측정하여 현재 인식 블록에서의 현재 위치 정보를 보정하게 된다.Meanwhile, an anchor existing in the vicinity of the current location is searched for using the anchor map, and the estimated current location is corrected based on anchor information in the current recognition block in which the searched anchor exists (S150). Here, the anchor map consists of a plurality of recognition blocks, and anchors exist in each recognition block. When searching for an anchor, the anchor is separated from the anchor in the current recognition block in which the anchor exists based on the size of the anchor and the inertia value mapped to the size of the anchor. The determined current location is determined and the estimated current location information of the user is corrected based on the determined current location. Afterwards, when the user moves in the current recognition block, the current location information of the user is estimated from the point cloud map based on the feature points extracted during the movement process, and at the same time, the current in the current recognition block is measured by measuring the inertia value that changes when moving in the current recognition block. The location information will be corrected.

도 11은 본 발명에 따라 앵커 맵에 기초하여 추정한 현재 위치 정보를 보정하는 방법의 일 예를 설명하기 위한 흐름도이다.11 is a flowchart illustrating an example of a method of correcting current location information estimated based on an anchor map according to the present invention.

도 11을 참고로 보다 구체적으로 살펴보면, 현재 위치에서 영상 장비를 이용하여 획득한 영상에서 특징점을 추출하고(S151), 추출한 특징점의 3차원 좌표에 기초하여 현재 위치의 주변에 존재하는 앵커를 검색한다(S152).Looking more specifically with reference to FIG. 11 , a feature point is extracted from an image acquired using an imaging device at the current location (S151), and an anchor existing in the vicinity of the current location is searched based on the three-dimensional coordinates of the extracted feature point. (S152).

현재 위치의 주변에 다수의 앵커가 검색되는지 판단하여(S153), 현재 위치의 주변에 1개의 앵커만이 검색되는 경우 현재 위치하고 있는 현재 인식 블록에서 앵커를 검색한 시점의 앵커 크기에 매핑되어 있는 관성값으로 현재 인식 블록의 관성값을 초기화한다(S157). 검색한 앵커의 3차원 좌표에 기초하여 현재 위치를 추정할 수 있으며 검색한 앵커의 크기에 매핑되어 있는 관성값에 기초하여 현재 인식 블록에서 현재 위치를 보정한다(S159). 이후 현재 인식 블록에서 이동하는 경우 이동 과정 중 변화하는 관성값에 기초하여 현재 인식 블록에서의 현재 위치를 보정할 수 있다. It is determined whether a plurality of anchors are searched around the current location (S153), and when only one anchor is searched around the current location, the inertia mapped to the anchor size at the point in time when the anchor is searched in the currently located recognition block. The inertia value of the current recognition block is initialized with a value (S157). The current position can be estimated based on the three-dimensional coordinates of the searched anchor, and the current position is corrected in the current recognition block based on the inertia value mapped to the size of the searched anchor (S159). Thereafter, when moving in the current recognition block, the current position in the current recognition block may be corrected based on the inertia value changed during the movement process.

그러나 도 12에 도시되어 있는 바와 같이 이동 경로(R)에 따라 또는 인식 블록(B2, B3)에 존재하는 앵커의 위치에 따라 사용자의 현재 위치에서 다수의 앵커(A1, A2)가 검색될 수 있다. 현재 위치의 주변에서 다수의 앵커가 검색되는 경우 추정한 현재 위치의 3차원 좌표로부터 현재 위치하고 있는 현재 인식 블록(B2)을 식별하고(S155), 식별한 현재 인식 블록(B3)에 존재하는 앵커(A1)를 현재 위치에서 검색한 앵커로 결정할 수 있다. 현재 위치에서 검색한 앵커가 결정되는 경우 앞서 설명한 S157 단계와 S159 단계를 통해 현재 위치를 보정할 수 있다.However, as shown in FIG. 12 , a plurality of anchors A 1 , A 2 at the user's current location according to the movement path R or the location of the anchors present in the recognition block B 2 , B 3 . can be searched for. When a plurality of anchors are searched around the current location, the current recognition block (B 2 ) currently located from the estimated three-dimensional coordinates of the current location is identified (S155), and the current recognition block (B 3 ) present in the identified current location is identified. The anchor (A 1 ) may be determined as an anchor searched for at the current location. When the anchor searched for at the current location is determined, the current location may be corrected through steps S157 and S159 described above.

도 13은 이동 경로에 따라 인식 블록에서 앵커를 인식하는 일 예를 설명하기 위한 도면이다.13 is a diagram for explaining an example of recognizing an anchor in a recognition block according to a movement path.

도 13(a)에 도시되어 있는 바와 같이, 사용자가 인식블록의 제1 지점(P1)에서 제2 지점(P2)로 이동하는 경우, 인식 블록의 최대 이격 지점인 제1 지점(P1)에서부터 앵커(A)를 인식하기 시작하고 제1 지점(P1)에서 인식한 앵커 크기에 매핑된 관성값으로 관성값을 초기화하며, 제2 지점(P2)로 이동하는 과정에서 변화하는 관성값에 따라 해당 인식블록에의 현재 위치를 보정할 수 있다. As shown in Figure 13 (a), when the user moves from the first point (P 1 ) of the recognition block to the second point (P 2 ), the first point (P 1 ) that is the maximum separation point of the recognition block ) to start recognizing the anchor (A), initialize the inertia value to the inertia value mapped to the anchor size recognized at the first point (P 1 ), and the inertia that changes in the process of moving to the second point (P 2 ) Depending on the value, the current position in the corresponding recognition block can be corrected.

도 13(b)에 도시되어 있는 바와 같이, 사용자가 인식블록의 제1 지점(P1)에서 제2 지점(P2)로 이동하는 경우, 인식 블록의 최대 이격 지점인 제1 지점(P1)에서는 앵커(A)를 인식하지 못하며, 제2 지점(P2)으로 이동한 시점에 앵커를 인식하기 시작한다. 제2 지점(P2)에서 인식한 앵커 크기에 매핑된 관성값으로 관성값을 초기화하며, 인식블록에서 이동하는 과정에서 변화하는 관성값에 따라 해당 인식블록에의 현재 위치를 보정할 수 있다.As shown in Fig. 13(b), when the user moves from the first point (P 1 ) to the second point (P 2 ) of the recognition block, the first point (P 1 ) which is the maximum separation point of the recognition block ) does not recognize the anchor (A), and starts to recognize the anchor when moving to the second point (P 2 ). The inertia value is initialized with the inertia value mapped to the size of the anchor recognized at the second point P 2 , and the current position in the recognition block may be corrected according to the inertia value that changes in the process of moving in the recognition block.

도 14는 현재 인식 블록에서 인접한 인접 인식 블록으로 이동시 인접 인식 블록에 존재하는 앵커를 검색하지 못하는 경우의 일 예를 설명하기 위한 도면이다.14 is a diagram for explaining an example of a case in which an anchor existing in a neighboring recognition block cannot be searched when moving from a current recognition block to an adjacent neighboring recognition block.

도 14에 도시되어 있는 바와 같이, 현재 인식 블록(CB)에서 사용자가 인접한 인접 인식 블록(NB)로 이동하는 경우, 인접 인식 블록(NB)에 위치하더라도 사용자와 인접 인식 블록(NB)에 존재하는 인접 앵커 사이의 거리(d)가 앵커 인식이 가능한 최대 이격 거리보다 커 인접 앵커를 인식하지 못하게 된다. 이와 같이 인접 인식 블록에 존재하는 인접 앵커를 인식하지 못하는 경우, 인접 앵커를 인식하기 전까지 인접 인식 블록에서 현재 위치를 보정하여 추정하기 곤란한다.As shown in FIG. 14 , when the user moves from the current recognition block CB to the adjacent recognition block NB, even if the user is located in the adjacent recognition block NB, Since the distance (d) between adjacent anchors is greater than the maximum separation distance that can be recognized for anchors, adjacent anchors cannot be recognized. As such, when the adjacent anchors present in the adjacent recognition block are not recognized, it is difficult to estimate the current position by correcting the adjacent recognition block until the adjacent anchors are recognized.

도 15는 인접 인식 블록에 존재하지 앵커를 검색하지 못한 경우 인접 인식 블록에서 위치를 추정하는 방법의 일 예를 설명하기 위한 흐름도이다.15 is a flowchart illustrating an example of a method for estimating a location in a neighboring recognition block when an anchor that does not exist in the neighboring recognition block is not searched for.

도 15를 참고로 보다 구체적으로 살펴보면, 현재 인식 블록에서 인접 인식 블록으로 이동하였는지 판단한다(S191). 인접 인식 블록으로 이동하였는지의 판단은 인접 인식 블록의 3차원 좌표와 포인트 클라우드 맵에 기초하여 추정한 현재 위치 정보로부터 판단할 수 있다.Referring to FIG. 15 in more detail, it is determined whether the current recognition block has moved to an adjacent recognition block (S191). The determination of whether to move to the adjacent recognition block may be determined from the current location information estimated based on the three-dimensional coordinates of the adjacent recognition block and the point cloud map.

인접 인식 블록으로 이동한 경우, 인접 인식 블록에 존재하는 인접 앵커를 검색하였는지 판단한다(S193). 인접 인식 블록에 존재하는 인접 앵커를 검색하지 못한 경우 현재 인식 블록에서 초기화 후 이동에 따라 변화하는 관성값을 인접 인식 블록에서도 연속하여 측정하며 연속 측정한 관성값에 기초하여 인접 인식 블록에서의 현재 위치를 보정하여 추정한다(S195).When moving to the adjacent recognition block, it is determined whether the adjacent anchor existing in the adjacent recognition block is searched (S193). If the adjacent anchor in the adjacent recognition block is not searched, the inertia value that changes according to the movement after initialization in the current recognition block is continuously measured in the adjacent recognition block, and the current position in the adjacent recognition block based on the continuously measured inertia value is estimated by correcting (S195).

한편 인접 인식 블록에서 이동 후 인접 인식 블록에 존재하는 인접 앵커를 검색한 경우 인접 인식 블록에서 인접 앵커를 검색시 인접 앵커의 크기에 매핑된 관성값에 기초하여 인접 인식 블록에서의 현재 위치를 보정하여 추정하며, 인접 인식 블록에서 관성값을 초기화하여 인접 인식 블록에서 이동에 따라 변화하는 관성값을 측정하여 인접 인식 블록에서의 현재 위치를 보정하여 추정한다(S197) On the other hand, if a neighboring anchor existing in the neighboring recognition block is searched after moving in the neighboring recognition block, the current position in the neighboring recognition block is corrected based on the inertia value mapped to the size of the neighboring anchor when the neighboring anchor is searched in the neighboring recognition block. Estimate, by initializing the inertia value in the adjacent recognition block, measuring the inertia value that changes according to movement in the adjacent recognition block, correcting the current position in the adjacent recognition block and estimating (S197)

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed on a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium.

상기 컴퓨터로 읽을 수 있는 기록 매체는 마그네틱 저장 매체(예를 들어, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장 매체를 포함한다.The computer-readable recording medium includes a magnetic storage medium (eg, ROM, floppy disk, hard disk, etc.), an optically readable medium (eg, CD-ROM, DVD, etc.) and a carrier wave (eg, Internet storage media such as).

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

110: 3차원 지도 DB 130: 현재 위치 추정부
150: 현재 위치 보정부 170: 영상 획득부
151: 특징점 추출부 153: 앵커 결정부
155: 관성값 초기화부 157: 위치 보정부
159: 관성 센서
110: 3D map DB 130: Current location estimation unit
150: current position correction unit 170: image acquisition unit
151: feature point extraction unit 153: anchor determination unit
155: inertia value initialization unit 157: position correction unit
159: inertial sensor

Claims (10)

3차원 공간에서 이동 중 현재 위치에서 촬영한 영상으로부터 특징점을 추출하는 단계;
추출한 특징점의 3차원 좌표값으로부터 현재 위치의 주변에 존재하는 앵커를 검색하는 단계;
주변에 존재하는 앵커를 검색하는 경우, 다수의 인식 블록으로 이루어진 앵커 맵에서 검색한 앵커가 존재하는 현재 인식 블록의 관성값을 초기화하는 단계; 및
상기 현재 인식 블록에서 이동시 변화하는 관성값을 측정하여 현재 인식 블록에서의 현재 위치 정보를 보정하는 단계를 포함하며,
여기서 앵커는 인식 블록에서 특징점이 밀집되어 있는 단위 공간으로부터 생성되는 것을 특징으로 하는 위치 추정 방법.
extracting a feature point from an image captured at a current location while moving in a three-dimensional space;
retrieving an anchor existing in the vicinity of the current position from the extracted three-dimensional coordinate value of the feature point;
initializing an inertia value of a current recognition block in which an anchor found in an anchor map composed of a plurality of recognition blocks exists when searching for an anchor existing in the vicinity; and
Compensating the current location information in the current recognition block by measuring an inertia value that changes when moving in the current recognition block,
Here, the anchor is a position estimation method, characterized in that it is generated from a unit space in which feature points are densely located in the recognition block.
제 1 항에 있어서, 상기 위치 추정 방법은
추출한 특징점의 3차원 좌표값으로부터 포인트 클라이드 맵에서 현재 위치 정보를 추정하는 단계를 더 포함하며,
추정한 현재 위치 정보를 상기 현재 인식 블록에서 측정한 관성값으로 보정하는 것을 특징으로 하는 위치 추정 방법.
The method of claim 1, wherein the location estimation method
Further comprising the step of estimating the current location information in the point clyde map from the three-dimensional coordinate value of the extracted feature point,
A method for estimating a position, comprising correcting the estimated current position information with an inertia value measured in the current recognition block.
제 2 항에 있어서, 상기 현재 인식 블록에서의 관성값은
상기 현재 인식 블록에 존재하는 앵커를 검색한 시점에 초기화되는 것을 특징으로 하는 위치 추정 방법.
The method of claim 2, wherein the inertia value in the current recognition block is
The position estimation method, characterized in that it is initialized when the anchor existing in the current recognition block is searched.
제 3 항에 있어서, 상기 위치 추정 방법에서
상기 현재 인식 블록에 존재하는 앵커를 검색한 시점에 검색한 앵커의 크기에 매핑되어 있는 관성값을 상관 정보 테이블에서 검색하고, 검색한 관성값으로 초기화하는 것을 특징으로 하는 위치 추정 방법.
The method of claim 3, wherein in the location estimation method
A method for estimating a position, characterized in that at the time of searching for an anchor existing in the current recognition block, an inertia value mapped to the size of the searched anchor is searched for in a correlation information table and initialized to the searched inertia value.
제 4 항에 있어서, 상기 상관 정보 테이블에는
인식 블록에 존재하는 앵커와의 이격 위치에 따라 달라지는 앵커의 크기와 앵커 크기에 따른 관성값이 서로 매핑되어 저장되어 있는 것을 특징으로 하는 위치 추정 방법.
The method of claim 4, wherein the correlation information table
A method for estimating a position, characterized in that the size of the anchor that varies depending on the separation position from the anchor present in the recognition block and the inertia value according to the size of the anchor are mapped and stored.
제 5 항에 있어서, 상기 상관 정보 테이블에는
인식 블록의 중심에 위치한 앵커를 기준으로 앵커를 인식할 수 있는 최대 이격된 지점으로부터 상기 앵커까지 이동 과정 중 앵커와의 이격 위치에 따라 달라지는 앵커의 크기와 앵커의 크기에 따른 관성 측정값이 서로 매핑되어 저장되어 있는 것을 특징으로 하는 위치 추정 방법.
The method of claim 5, wherein the correlation information table
Based on the anchor located at the center of the recognition block, the size of the anchor, which varies depending on the distance from the anchor, and the inertia measurement value according to the size of the anchor, are mapped from the maximum spaced apart point where the anchor can be recognized to the anchor. A location estimation method, characterized in that it is stored and stored.
제 6 항에 있어서, 상기 인식 블록은
상기 앵커를 중심으로 하고 상기 앵커를 인식할 수 있는 최대 인식 거리를 반지름으로 하는 원에 내접하는 정다각형의 길이를 일변으로 하는 정다각기둥인 것을 특징으로 하는 위치 추정 방법.
The method of claim 6, wherein the recognition block is
A method for estimating a position, characterized in that the length of a regular polygon inscribed in a circle with the anchor as the center and a maximum recognition distance for recognizing the anchor as a radius is a regular polygonal prism.
제 6 항에 있어서, 상기 인식 블록은
상기 앵커를 중심으로 하고 상기 앵커를 인식할 수 있는 최대 인식 거리를 반지름으로 하는 원에 내접하는 정육각형의 길이를 일변으로 하는 정육각기둥인 것을 특징으로 하는 위치 추정 방법.
The method of claim 6, wherein the recognition block is
A position estimation method, characterized in that the length of a regular hexagon inscribed in a circle with the anchor as the center and the maximum recognition distance capable of recognizing the anchor as a radius is a regular hexagonal prism.
제 4 항에 있어서, 상기 위치 추정 방법은
상기 현재 인식 블록에서 상기 현재 인식 블록에 인접한 인접 인식 블록으로 이동시 상기 인접 인식 블록에서 앵커를 검색하는 단계; 및
상기 인접 인식 블록에서 앵커를 검색시, 검색한 앵커의 크기에 매핑되어 있는 관성값으로 초기화하며 상기 인접 인식 블록에서 이동시 변화하는 관성값을 측정하여 상기 인접 인식 블록에서의 현재 위치 정보를 보정하는 단계를 더 포함하며,
상기 인접 인식 블록에서 앵커를 검색하지 못하는 경우, 상기 현재 인식 블록에서 측정한 관성값에 연속하여 상기 인접 인식 블록에서 측정한 관성값을 이용하여 상기 인접 인식 블록에서 현재 위치 정보를 보정하는 것을 특징으로 하는 위치 추정 방법.
5. The method of claim 4, wherein the location estimation method
searching for an anchor in the neighboring recognition block when moving from the current recognition block to a neighboring recognition block adjacent to the current recognition block; and
When searching for an anchor in the neighbor recognition block, initializing it to an inertia value mapped to the size of the found anchor, measuring an inertia value that changes when moving in the neighbor recognition block, and correcting the current location information in the neighbor recognition block further comprising,
When an anchor cannot be found in the adjacent recognition block, the current location information is corrected in the adjacent recognition block by using the inertia value measured in the adjacent recognition block successively to the inertia value measured in the current recognition block position estimation method.
제 4 항에 있어서, 상기 위치 추정 방법은
추출한 특징점의 3차원 좌표값으로부터 현재 위치의 주변에 존재하는 다수의 앵커가 검색되는 경우, 상기 포인트 클라이드 맵에서 추정한 현재 위치 정보에 기초하여 다수의 인식 블록으로 이루어진 앵커 맵에서 현재 위치하고 있는 현재 인식 블록을 식별하는 단계; 및
검색한 다수 앵커의 3차원 좌표에 기초하여 식별한 현재 인식 블록에 존재하는 앵커를 판단하는 단계를 더 포함하며,
현재 인식 블록에 존재하는 앵커에 기초하여 현재 인식 블록의 관성값을 초기화하는 것을 특징으로 하는 위치 추정 방법.
5. The method of claim 4, wherein the location estimation method
When a plurality of anchors existing in the vicinity of the current position are retrieved from the extracted three-dimensional coordinate value of the feature point, the current position is recognized in the anchor map composed of a plurality of recognition blocks based on the current position information estimated from the point clyde map. identifying a block; and
Further comprising the step of determining an anchor present in the identified current recognition block based on the three-dimensional coordinates of the searched multiple anchors,
A method for estimating a position, characterized in that the inertia value of the current recognition block is initialized based on an anchor existing in the current recognition block.
KR1020200164279A 2020-11-30 2020-11-30 Method for estimating position in three-dimensional space KR102425270B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200164279A KR102425270B1 (en) 2020-11-30 2020-11-30 Method for estimating position in three-dimensional space

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200164279A KR102425270B1 (en) 2020-11-30 2020-11-30 Method for estimating position in three-dimensional space

Publications (2)

Publication Number Publication Date
KR20220075795A true KR20220075795A (en) 2022-06-08
KR102425270B1 KR102425270B1 (en) 2022-07-27

Family

ID=81981800

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200164279A KR102425270B1 (en) 2020-11-30 2020-11-30 Method for estimating position in three-dimensional space

Country Status (1)

Country Link
KR (1) KR102425270B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190117354A (en) * 2018-04-06 2019-10-16 고려대학교 산학협력단 Method and apparatus for generating 3d map of indoor space
KR20190118531A (en) * 2018-04-10 2019-10-18 에이알엠 아이피 리미티드 Image processing for augmented reality

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190117354A (en) * 2018-04-06 2019-10-16 고려대학교 산학협력단 Method and apparatus for generating 3d map of indoor space
KR20190118531A (en) * 2018-04-10 2019-10-18 에이알엠 아이피 리미티드 Image processing for augmented reality

Also Published As

Publication number Publication date
KR102425270B1 (en) 2022-07-27

Similar Documents

Publication Publication Date Title
US9679384B2 (en) Method of detecting and describing features from an intensity image
KR101532864B1 (en) Planar mapping and tracking for mobile devices
JP5660648B2 (en) Online reference generation and tracking in multi-user augmented reality
US8498472B2 (en) Image-based localization feature point registration apparatus, method and computer-readable medium
US9400941B2 (en) Method of matching image features with reference features
EP2751777B1 (en) Method for estimating a camera motion and for determining a three-dimensional model of a real environment
KR101072876B1 (en) Method and apparatus for estimating position in a mobile robot
US8903161B2 (en) Apparatus for estimating robot position and method thereof
US9165211B2 (en) Image processing apparatus and method
US20140002597A1 (en) Tracking Poses of 3D Camera Using Points and Planes
US10607350B2 (en) Method of detecting and describing features from an intensity image
US10650535B2 (en) Measurement device and measurement method
JP6782903B2 (en) Self-motion estimation system, control method and program of self-motion estimation system
KR20090037967A (en) Object posture estimation/correlation system, object posture estimation/correlation method, and program for the same
CN108171715B (en) Image segmentation method and device
CN113850865A (en) Human body posture positioning method and system based on binocular vision and storage medium
US20150095360A1 (en) Multiview pruning of feature database for object recognition system
CN113012224A (en) Positioning initialization method and related device, equipment and storage medium
KR20150082417A (en) Method for initializing and solving the local geometry or surface normals of surfels using images in a parallelizable architecture
WO2021193672A1 (en) Three-dimensional model generation method and three-dimensional model generation device
KR102425270B1 (en) Method for estimating position in three-dimensional space
CN110009683B (en) Real-time on-plane object detection method based on MaskRCNN
JP2006113832A (en) Stereoscopic image processor and program
KR102461980B1 (en) Method for producing three-dimensional map
JP4687579B2 (en) Image processing apparatus and image processing program

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right