KR20220075794A - Method for producing three-dimensional map - Google Patents

Method for producing three-dimensional map Download PDF

Info

Publication number
KR20220075794A
KR20220075794A KR1020200164278A KR20200164278A KR20220075794A KR 20220075794 A KR20220075794 A KR 20220075794A KR 1020200164278 A KR1020200164278 A KR 1020200164278A KR 20200164278 A KR20200164278 A KR 20200164278A KR 20220075794 A KR20220075794 A KR 20220075794A
Authority
KR
South Korea
Prior art keywords
anchor
map
generating
recognition block
space
Prior art date
Application number
KR1020200164278A
Other languages
Korean (ko)
Other versions
KR102461980B1 (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 KR1020200164278A priority Critical patent/KR102461980B1/en
Publication of KR20220075794A publication Critical patent/KR20220075794A/en
Application granted granted Critical
Publication of KR102461980B1 publication Critical patent/KR102461980B1/en

Links

Images

Classifications

    • 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/05Geographic models
    • 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
    • G06T3/0093
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • 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
    • 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)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

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

Description

3차원 지도의 생성 방법{Method for producing three-dimensional map}Method for producing three-dimensional map

본 발명은 비주얼 SLAM 방식으로 3차원 지도를 생성하는 방법에 관한 것으로, 보다 구체적으로 포인트 클라우드 맵에 추가하여 앵커가 존재하는 인식 블록으로 이루어진 앵커 맵을 함께 이용하여 포인트 클라이드 맵으로 현재 위치를 추정하고 동시에 인식 블록 단위로 위치 보정을 함으로써 실제 현재 위치를 정확하게 추정할 수 있으며, 인식 블록에 존재하는 앵커의 크기와 해당 앵커 크기에서의 관성 측정값을 이용하여 현재 위치를 추정함으로써 인식 블록의 어느 장소에 위치하더라도 해당 인식 블록에서 앵커를 인식한 시점부터 현재 위치를 정확하게 보정할 수 있는 3차원 지도의 생성 방법에 관한 것이다.The present invention relates to a method for generating a three-dimensional map in a visual SLAM method, and more specifically, by using an anchor map consisting of a recognition block in which an anchor exists in addition to a point cloud map, the current position is estimated with a point clyde map, At the same time, by performing position correction in units of recognition blocks, the actual current position can be accurately estimated. It relates to a method of generating a three-dimensional map that can accurately correct the current position from the point in time when an anchor is recognized in the corresponding recognition block even if it is located.

공간에서 효과적으로 위치를 판단하며 이동하기 위해서 이동하고 있는 공간에 대한 지도를 생성하고 공간상의 자신의 위치를 인식하는 것이 요구된다. 주변 공간에 대하여 위치를 인식하고 지도를 형성하는 것을 동시 위치인식 및 지도형성(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 the feature data of an object located in space, and the feature data used in the SLAM algorithm differs depending on the type of sensor used to create the map. 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 generating a 3D map using a conventional visual SLAM technique.

도 1을 참고로 보다 구체적으로 살펴보면, 지도를 생성하고자 하는 3차원 공간의 영상을 촬영하고 촬영한 영상에서 특징점을 추출한다(S10). 특징점을 추출하기 위하여 사람이 직접 웨어러블 영상 장비를 착용 후 3차원 공간을 돌아다니며 영상을 촬영하고 촬영한 영상에서 특징점을 추출할 수 있거나, 이동 로봇에 영상 촬영 장비를 설치하여 이동 로봇을 3차원 공간으로 이동시키며 영상을 촬영하고 촬영한 영상에서 특징점을 추출할 수 있다. Referring to FIG. 1 in more detail, an image of a three-dimensional space for which a map is to be created is photographed, and feature points are extracted from the captured image (S10). In order to extract key points, a person can directly wear wearable imaging equipment and travel around a 3D space to shoot an image and extract the key points from the captured image, or install an imaging device on the mobile robot to transform the mobile robot into a 3D space. It is possible to take an image by moving it to , and extract feature points from the captured image.

여기서 영상 장비는 모노 카메라, 스트레오 카메라, 깊이 카메라 또는 이들의 조합이 사용될 수 있다. 한편 카메라는 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)이 특징점에 해당된다. 영상에서 특징점을 추출하는 방법은 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.

추출한 특징점은 2차원 상의 좌표로 표시되는데, 특징점의 깊이 정보를 구비하는 3차원 좌표로 변환하여 포인트 클라우드를 생성한다(S30). 촬영한 영상에서 깊이 정보를 획득하기 위하여 모노 카메라를 통해 촬영한 현재 영상 프레임을 기준으로 전/후 영상 프레임을 이용하여 깊이 정보를 획득하거나, 스트레오 카메라를 통해 촬영한 영상 프레임의 시차를 이용하여 깊이 정보를 획득하거나, 깊이 카메라를 이용하여 깊이 정보를 획득할 수 있다.The extracted feature points are displayed as two-dimensional coordinates, and a point cloud is generated by converting them into three-dimensional coordinates having depth information of the feature points (S30). In order to acquire depth information from a captured image, depth information is obtained using front/rear image frames based on a current image frame captured through a mono camera, or depth using a parallax of an image frame captured through a stereo camera Information may be obtained or depth information may be obtained using a depth camera.

추출한 특징점은 3차원 공간에서 촬영한 영상에서 계속해서 추척되며, 3차원 공간 전체에 대한 포인트 클라우드를 조합하여(S50), 3차원 공간의 3차원 지도를 생성한다(S70). The extracted feature points are continuously traced from the image taken in the three-dimensional space, and a three-dimensional map of the three-dimensional space is generated by combining the point clouds for the entire three-dimensional space (S50).

생성한 3차원 지도에서 특징점들은 3차원 좌표로 매핑되어 저장되는데, 차후 사용자가 현재 위치에서 촬영한 영상에서 추출되는 특징점들과 생성한 3차원 지도에 일치하는 특징점을 비교하여 3차원 지도에서 현재 위치를 추정할 수 있다.In the generated 3D map, the feature points are mapped to 3D coordinates and stored. Afterwards, the user compares the feature points extracted from the image taken at the current location with the feature points that match the generated 3D map to find the current location on the 3D map. can be estimated.

그러나 종래 비주얼 SLAM에서 생성된 3차원 지도의 경우, 실제 현재 위치와 특징점에 기초하여 추정한 현재 위치에 대한 3차원 지도상의 글로벌 좌표 사이에는 오차가 발생하는 문제점을 가지는데, 이러한 문제점을 극복하기 위하여 관성센서(Inertial Measurement Unit, IMU)를 이용하여 3차원 지도를 작성하거나 현재 위치를 추정하도록 한다.However, in the case of a 3D map generated by conventional visual SLAM, there is a problem in that an error occurs between the actual current position and the global coordinates on the 3D 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 measured values of the inertial sensor are 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 inertial measurement value generated by measuring the direction, etc., and the error is accumulated in the inertial measurement 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 global coordinates on the 3D map for the current position estimated based on the feature point.

본 발명은 위에서 언급한 종래 3차원 지도의 생성 방법이 가지는 문제점을 해결하기 위한 것으로, 본 발명이 이루고자 하는 목적은 포인트 클라우드 맵에 추가하여 앵커가 존재하는 인식 블록으로 이루어진 앵커 맵을 함께 이용하여 포인트 클라이드 맵으로 현재 위치를 추정하고 동시에 인식 블록 단위로 위치 보정이 가능한 3차원 지도의 생성 방법을 제공하는 것이다.The present invention is to solve the problems of the conventional method for generating a three-dimensional map 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. An object of the present invention is to provide a method of generating a three-dimensional map capable of estimating the current location using the Clyde map and simultaneously correcting the location in units of recognition blocks.

본 발명이 이루고자 하는 다른 목적은 인식 블록에서 인식 블록에 존재하는 앵커의 크기와 해당 앵커 크기에서의 관성 측정값을 이용하여 인식 블록의 어느 장소에 위치하더라도 해당 인식 블록에서 앵커를 인식한 시점부터 현재 위치를 정확하게 보정할 수 있는 3차원 지도의 생성 방법을 제공하는 것이다.Another object of the present invention is to use the size of the anchor existing in the recognition block in the recognition block and the inertia measurement value at the size of the anchor from the point in time when the anchor is recognized in the recognition block, no matter where it is located in the recognition block. An object of the present invention is to provide a method for generating a 3D map capable of accurately correcting a position.

본 발명이 이루고자 하는 또 다른 목적은 3차원 지도를 생성하기 위하여 3차원 공간을 이동하는 과정에서 인접한 공간을 어떠한 방향으로 이동하더라도 인접한 공간에 앵커를 구비하는 인식 블록을 생성할 수 있는 3차원 지도의 생성 방법을 제공하는 것이다. Another object of the present invention is to provide a 3D map capable of generating a recognition block having an anchor in an adjacent space no matter what direction the adjacent space is moved in the process of moving the 3D space in order to generate a 3D map. It provides a way to create it.

본 발명의 목적을 달성하기 위하여 본 발명에 따른 3차원 지도의 생성 방법은 3차원 지도를 생성하고자 하는 공간을 촬영하여 해당 공간의 특징점을 추출하는 단계와, 추출한 특징점을 3차원 좌표로 변환하여 포인트 클라우드를 생성하고 해당 공간의 포인트 클라우드를 조합하여 포인트 클라우드 맵을 생성하는 단계와, 포인트 클라우드 맵에서 특징점의 밀집도에 기초하여 앵커를 생성하고 앵커를 포함하는 정다각기둥의 단위 블록을 연속 생성하여 앵커맵을 생성하는 단계와, 포인트 클라우드 맵과 앵커맵로 이루어진 3차원 지도를 생성하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the object of the present invention, a method for generating a three-dimensional map according to the present invention includes the steps of photographing a space in which a three-dimensional map is to be created and extracting feature points of the space, and converting the extracted feature points into three-dimensional coordinates to point Creating a point cloud map by creating a cloud and combining the point clouds in the corresponding space, creating an anchor based on the density of feature points in the point cloud map, and continuously generating unit blocks of regular polygons including the anchor to create an anchor map and generating a three-dimensional map comprising a point cloud map and an anchor map.

바람직하게, 본 발명에 따라 앵커맵을 생성하는 단계는 포인트 클라우드 맵의 현재 위치에서 시작 앵커를 포함하는 정다각기둥의 시작 인식 블록을 생성하는 단계와 시작 인식 블록에 인접한 공간에서 인접 앵커를 포함하는 인접 인식 블록을 생성하는 단계와, 인접 인식 블록에 인접한 공간에서 인접 인식 블록을 연속 생성하여 해당 공간에 대한 앵커맵을 생성하는 단계를 포함하는 것을 특징으로 한다.Preferably, the step of generating the anchor map according to the present invention comprises the steps of generating a start recognition block of a regular polygon including the start anchor at the current position of the point cloud map, and adjacent including the adjacent anchor in a space adjacent to the start recognition block. It characterized in that it comprises the steps of generating a recognition block, and generating an anchor map for the space by continuously generating adjacent recognition blocks in a space adjacent to the adjacent recognition block.

여기서 인접 인식 블록은 시작 인식 블록과 동일한 크기와 형상으로 생성되는 것을 특징으로 한다.Here, the adjacent recognition block is characterized in that it is generated in the same size and shape as the starting recognition block.

바람직하게, 본 발명에 따라 시작 인식 블록을 생성하는 단계는 시작 공간에서 포인트 클라우드 맵의 단위 공간별 특징점의 밀집도를 판단하는 단계와, 판단한 밀집도에 기초하여 시작 공간에서 가장 높은 밀집도를 가지는 단위 공간을 판단하고 밀집도가 가장 높은 단위 공간을 시작 앵커로 생성하는 단계와, 시작 앵커를 포함하는 정다각기둥의 시작 인식 블록을 생성하는 단계를 포함하는 것을 특징으로 한다.Preferably, the step of generating the start recognition block according to the present invention comprises the steps of determining the density of feature points for each unit space of the point cloud map in the start space, and the unit space having the highest density in the start space based on the determined density. It is characterized in that it comprises the steps of determining and generating a unit space having the highest density as a start anchor, and generating a start recognition block of a regular polygonal prism including the start anchor.

여기서 시작 인식 블록은 시작 앵커를 중심으로 하며 시작 앵커를 포함하는 정다각기둥으로 생성되는 것을 특징으로 한다.Here, the start recognition block is centered on the start anchor and is characterized in that it is generated as a regular polygonal prism including the start anchor.

바람직하게, 본 발명에 따라 시작 인식 블록을 생성하는 단계는 시작 앵커를 기준으로 시작 블록에서 최대 이격된 지점으로부터 시작 앵커까지 이동 과정 중 시작 앵커와의 이격 거리에 따라 달라지는 시작 앵커의 크기와 관성 측정값을 서로 매핑한 상관 테이블을 저장하는 단계를 더 포함하는 것을 특징으로 한다.Preferably, the step of generating the start recognition block according to the present invention measures the size and inertia of the start anchor that varies depending on the separation distance from the start anchor during the moving process from the point most spaced from the start block to the start anchor with respect to the start anchor. and storing a correlation table in which values are mapped to each other.

여기서 시작 인식 블록은 시작 앵커를 중심으로 하고 시작 앵커를 인식할 수 있는 최대 인식 거리를 반지름으로 하는 원에 내접하는 정다각형의 길이를 일변으로 하는 정다각기둥으로 생성되는 것을 특징으로 한다. Here, the start recognition block is characterized in that it is created as a regular polygonal pole whose one side is the length of a regular polygon inscribed in a circle centered on the start anchor and the maximum recognition distance that can recognize the start anchor as the radius.

여기서 앵커 맵을 생성하는 단계는 포인트 클라우드 맵에서 시작 인식 블록 및 상기 인접 인식 블록의 좌표값을 저장하고, 포인트 클라우드 맵에서 시작 앵커와 인접 앵커의 좌표값을 저장하는 단계를 더 포함하는 것을 특징으로 한다.Here, generating the anchor map further comprises storing the coordinate values of the start recognition block and the adjacent recognition block in the point cloud map, and storing the coordinate values of the start anchor and the adjacent anchor in the point cloud map. do.

여기서 정다각기둥은 정육각기둥인 것을 특징으로 한다.Here, the regular polygonal prism is characterized as a regular hexagonal prism.

본 발명에 따른 3차원 지도의 생성 방법은 다음과 같은 효과를 가진다.The method for generating a 3D map according to the present invention has the following effects.

첫째, 본 발명에 따른 3차원 지도의 생성 방법은 포인트 클라우드 맵에 추가하여 앵커가 존재하는 인식 블록으로 이루어진 앵커 맵을 함께 이용하여 포인트 클라이드 맵으로 현재 위치를 추정하고 동시에 인식 블록 단위로 위치 보정을 함으로써, 실제 현재 위치를 정확하게 추정할 수 있는 3차원 지도를 제작할 수 있다.First, in the method for generating a three-dimensional map according to the present invention, the current position is estimated with the point clyde map by using the anchor map consisting of recognition blocks with anchors in addition to the point cloud map, and at the same time, position correction is performed in units of recognition blocks. By doing so, it is possible to produce a three-dimensional map that can accurately estimate the actual current location.

둘째, 본 발명에 따른 3차원 지도의 생성 방법은 인식 블록에서 인식 블록에 존재하는 앵커의 크기와 해당 앵커 크기에서의 관성 측정값을 이용하여 현재 위치를 추정함으로써, 인식 블록의 어느 장소에 위치하더라도 해당 인식 블록에서 앵커를 인식한 시점부터 현재 위치를 정확하게 보정할 수 있는 3차원 지도의 생성 방법을 생성할 수 있다.Second, the method for generating a three-dimensional map according to the present invention estimates the current location using the size of an anchor existing in the recognition block and the inertia measurement value at the anchor size in the recognition block, no matter where it is located in the recognition block. It is possible to create a method of generating a three-dimensional map that can accurately correct the current position from the point in time when the anchor is recognized in the corresponding recognition block.

셋째, 본 발명에 따른 3차원 지도의 생성 방법은 3차원 지도에서 인식 블록을 정육각형으로 생성함으로써, 3차원 공간을 이동하는 과정에서 인접한 공간을 어떠한 방향으로 이동하더라도 인접 인식 블록에 앵커가 존재할 가능성이 높은 앵커뱁을 구비하는 3차원 지도를 생성할 수 있다. Third, the 3D map generation method according to the present invention generates a recognition block in a regular hexagon on the 3D map, so that no matter what direction the adjacent space is moved in the process of moving the 3D space, there is a possibility that an anchor exists in the adjacent recognition block. A 3D map with a high anchor bar can be created.

도 1은 종래 비주얼 SLAM 기법으로 3차원 지도를 생성하는 방법의 일 예를 도시하고 있다.
도 2는 본 발명에 따른 3차원 지도의 생성 시스템을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 3차원 지도 생성 장치를 설명하기 위한 기능 블록도이다.
도 4는 본 발명에 따른 앵커 맵 생성부의 일 예를 설명하기 위한 기능 블록도이다.
도 5는 본 발명에 따른 3차원 지도의 생성 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명에 따라 앵커 맵을 생성하는 방법을 설명하기 위한 흐름도이다.
도 7은 시작 인식 블록과 인접 인식 블록의 일 예를 설명하기 위한 도면이다.
도 8은 본 발명에서 시작 인식 블록을 생성하는 일 예를 설명하기 위한 흐름도이다.
도 9는 시작 공간과 단위 공간의 일 예를 설명하기 위한 도면이다.
도 10은 시작 인식 블록의 생성 예를 설명하기 위한 도면이다.
도 11은 인식 블록을 정사각기둥과 정육각기둥으로 생성함에 따라 앵커의 생성 여부를 설명하기 위한 도면이다.
도 12는 시작 인식 블록에서 상관 정보를 생성하는 방법의 일 예를 설명하기 위한 도면이다.
도 13은 상관 정보의 일 예를 도시하고 있다.
1 illustrates an example of a method for generating a 3D map using a conventional visual SLAM technique.
2 is a diagram for explaining a system for generating a 3D map according to the present invention.
3 is a functional block diagram illustrating an apparatus for generating a 3D map according to an embodiment of the present invention.
4 is a functional block diagram illustrating an example of an anchor map generator according to the present invention.
5 is a flowchart illustrating a method for generating a 3D map according to the present invention.
6 is a flowchart illustrating a method of generating an anchor map according to the present invention.
7 is a diagram for explaining an example of a start recognition block and an adjacent recognition block.
8 is a flowchart for explaining an example of generating a start recognition block in the present invention.
9 is a diagram for explaining an example of a start space and a unit space.
10 is a diagram for explaining an example of generation of a start recognition block.
11 is a diagram for explaining whether an anchor is generated as a recognition block is generated with a square prism and a regular hexagonal prism.
12 is a diagram for explaining an example of a method of generating correlation information in a start recognition block.
13 shows an example of correlation information.

본 발명에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다.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 generating a 3D map according to the present invention will be described in more detail with reference to the accompanying drawings.

도 2는 본 발명에 따른 3차원 지도의 생성 시스템을 설명하기 위한 도면이다.2 is a diagram for explaining a system for generating a 3D map according to the present invention.

도 2를 참고로 보다 구체적으로 살펴보면, 사용자는 영상 장비(11)와 통신 장비(13)를 착용 후 3차원 지도를 작성하고자 하는 공간을 이동한다. 여기서 영상 장비(11)는 3차원 공간을 촬영하여 영상 정보를 생성하는 모노 카메라, 스트레오 카메라, 깊이 카메라 등을 포함하거나, 사용자의 이동 경로를 측정하기 위한 관성센서를 포함할 수 있다.Referring to FIG. 2 in more detail, the user wears the imaging device 11 and the communication device 13 and then moves to a space in which to create a 3D map. Here, the imaging equipment 11 may include a mono camera, a stereo camera, a depth camera, etc. that generate image information by photographing a three-dimensional space, or may include an inertial sensor for measuring the movement path of the user.

한편 통신 장비(13)는 생성한 영상 정보를 네트워크(30)를 통해 서버(50)로 송신하는 장비로, 통신 장비(13)는 와이파이, 5G 통신 등의 무선 통신 방식으로 영상 정보와 관성 측정값을 서버(50)로 송신할 수 있거나 유선 통신 방식으로 영상 정보와 관성 측정값을 서버(50)로 송신할 수 있는 다양한 통신 모듈을 구비하고 있다. 네트워크(30)는 통신 장비(13)와 서버(50) 사이의 통신 방식에 따라 유선 또는 무선으로 영상 정보 또는 관성 측정값을 송신하는 다양한 종류의 네트워크가 사용될 수있다.On the other hand, the communication device 13 is a device that transmits the generated image information to the server 50 through the network 30, and the communication device 13 uses image information and inertial measurement values through wireless communication methods such as Wi-Fi and 5G communication. It is provided with various communication modules that can transmit to the server 50 or transmit image information and inertial measurement values to the server 50 through a wired communication method. The network 30 may use various types of networks for transmitting image information or inertial measurement values by wire or wirelessly depending on a communication method between the communication equipment 13 and the server 50 .

본 발명이 적용되는 분야에 따라 서버(50)에서 3차원 지도를 작성하는 대신 통신 장비(13)에서 직접 영상 정보와 관성 측정값으로부터 3차원 지도를 생성하고 생성한 3차원 지도를 네트워크(30)를 통해 서버(50)로 송신할 수 있다.According to the field to which the present invention is applied, instead of creating a three-dimensional map in the server 50, the communication equipment 13 directly generates a three-dimensional map from image information and inertial measurement values and transfers the generated three-dimensional map to the network 30 may be transmitted to the server 50 through

도 3은 본 발명의 일 실시예에 따른 3차원 지도 생성 장치를 설명하기 위한 기능 블록도이다.3 is a functional block diagram illustrating an apparatus for generating a 3D map according to an embodiment of the present invention.

도 3을 참고로 보다 구체적으로 살펴보면, 특징점 추출부(110)는 영상 장비를 통해 생성한 영상으로부터 특징점을 추출한다. Referring to FIG. 3 in more detail, the keypoint extractor 110 extracts a keypoint from an image generated through an imaging device.

포인트 클라우드 맵 생성부(130)는 사용자가 이동하며 촬영한 영상에서 추출한 특징점을 추적하며 특징점을 3차원 좌표로 변환하여 포인트 클라우드를 생성하고, 생성한 포인트 클라우드를 조합하여 포인트 클라우드 맵을 생성한다.The point cloud map generating unit 130 generates a point cloud by converting the feature points into three-dimensional coordinates by tracking the feature points extracted from the image captured by the user while moving, and combining the generated point clouds to generate a point cloud map.

앵커 맵 생성부(150)는 3차원 지도를 작성하는 공간 중 시작 공간에서 특징점의 밀집도에 기초하여 시작 앵커를 생성하고 시작 앵커를 포함하여 시작 인식 블록을 생성한다. 이후 시작 인식 블록에 인접한 공간에서도 시작 인식 블록과 동일한 형상과 크기를 가지는 인접 인식 블록을 연속 생성하며 인접 인식 블록에서 특징점의 밀집도에 기초하여 인접 앵커를 생성하여 3차원 공간에 대한 앵커 맵을 생성한다.The anchor map generator 150 generates a start anchor based on the density of feature points in a start space among spaces for creating a three-dimensional map, and generates a start recognition block including the start anchor. After that, adjacent recognition blocks having the same shape and size as the starting recognition block are continuously generated in the space adjacent to the start recognition block, and adjacent anchors are generated based on the density of feature points in the adjacent recognition block to generate an anchor map in 3D space. .

지도 생성부(170)는 포인트 클라우드 맵과 앵커 맵을 조합하여 포인트 클라우드 맵과 앵커 맵으로 이루어진 3차원 공간에 대한 3차원 지도를 생성한다.The map generator 170 generates a three-dimensional map for a three-dimensional space including the point cloud map and the anchor map by combining the point cloud map and the anchor map.

도 4는 본 발명에 따른 앵커 맵 생성부의 일 예를 설명하기 위한 기능 블록도이다.4 is a functional block diagram illustrating an example of an anchor map generator according to the present invention.

도 4를 참고로 보다 구체적으로 살펴보면, 밀집도 판단부(151)는 시작 공간을 다수의 단위 공간으로 구분하여 각 단위 공간에 포함된 특징점의 수를 카운트하여 단위 공간별 밀집도를 판단한다. 여기서 시작 공간은 3차원 공간에서 3차원 지도를 생성 시작하는 위치의 공간으로 시작 위치를 기준으로 기설정한 크기를 가지는 공간을 시작 공간으로 결정할 수 있다.Referring to FIG. 4 in more detail, the density determining unit 151 divides the start space into a plurality of unit spaces and counts the number of feature points included in each unit space to determine the density for each unit space. Here, the starting space is a space at a position where the 3D map is started to be generated in the 3D space, and a space having a predetermined size based on the starting position may be determined as the starting space.

시작 앵커 생성부(153)는 시작 공간에서 단위 공간별 밀집도에 기초하여 시작 공간에서 밀집도가 가장 높은 단위 공간을 판단하며, 밀집도가 가장 높은 단위 공간을 시작 앵커로 결정한다. The start anchor generating unit 153 determines a unit space having the highest density in the start space based on the density of each unit space in the start space, and determines the unit space having the highest density as the start anchor.

시작 인식 블록 생성부(155)는 시작 앵커를 포함하며 시작 앵커를 중심으로 하는 시작 인식 블록을 생성한다. 여기서 시작 인식 블록은 시작 앵커를 중심으로 하는 정다각 기둥으로 생성되는데, 바람직하게 시작 인식 블록은 시작 앵커를 중심으로 정오각형 또는 정육각형으로 생성되는 것을 특징으로 한다.The start recognition block generating unit 155 includes a start anchor and generates a start recognition block centered on the start anchor. Here, the start recognition block is generated as a regular polygonal pole centered on the start anchor, preferably the start recognition block is characterized in that it is generated as a regular pentagon or regular hexagon around the start anchor.

인접 인식 블록 생성부(157)는 시작 인식 블록이 생성되는 경우, 시작 인식 블록에 인접한 공간에서 인접 인식 블록을 생성하며 인접 인식 블록에서 특징점의 밀집도가 가장 높은 단위 공간을 인접 앵커로 생성한다. 인접 인식 블록 생성부(157)는 인접 인식 블록에 연속하여 3차원 공간 전체에서 인접 앵커를 구비하는 인접 인식 블록을 생성한다. 여기서 인접 인식 블록은 시작 인식 블록과 동일한 크기와 형상으로 생성되는 것을 특징으로 한다.When a start recognition block is generated, the neighbor recognition block generator 157 generates a neighbor recognition block in a space adjacent to the start recognition block, and generates a unit space having the highest density of feature points in the adjacent recognition block as an adjacent anchor. The neighbor recognition block generating unit 157 generates a neighbor recognition block including adjacent anchors in the entire 3D space in succession to the adjacent recognition block. Here, the adjacent recognition block is characterized in that it is generated in the same size and shape as the starting recognition block.

상관 정보 생성부(158)는 시작 인식 블록에서 시작 앵커를 포함하는 가상 수평면을 생성하고 가상 수평면 중 시작 앵커를 기준으로 최대 이격 거리로부터 시작 앵커로 이동하며 측정되는 관성 측정값과 앵커 크기를 판단하며, 시작 앵커로부터의 이격 거리에 따라 달라지는 관성 측정값과 앵커 크기를 서로 매핑한 상관 정보를 생성하고 저장한다. The correlation information generating unit 158 generates a virtual horizontal plane including a start anchor in the start recognition block, moves to the start anchor from the maximum separation distance based on the start anchor among the virtual horizontal planes, and determines the measured inertia measurement value and anchor size, , generates and stores correlation information that maps the inertia measurement value that varies depending on the separation distance from the starting anchor and the anchor size to each other.

앵커 맵 조합부(159)는 시작 앵커를 구비하는 시작 인식 블록과 인접 앵커를 구비하는 인접 인식 블록, 상관 정보와 좌표 정보를 구비하는 앵커 맵을 생성한다. 여기서 좌표 정보는 시작 앵커와 인접 앵커의 3차원 좌표, 시작 인식 블록과 인접 인식 블록의 3차원 좌표를 의미한다.The anchor map combination unit 159 generates an anchor map including a start recognition block having a start anchor, an adjacent recognition block having an adjacent anchor, and correlation information and coordinate information. Here, the coordinate information means the three-dimensional coordinates of the start anchor and the adjacent anchor, and the three-dimensional coordinates of the start recognition block and the adjacent recognition block.

도 5는 본 발명에 따른 3차원 지도의 생성 방법을 설명하기 위한 흐름도이다.5 is a flowchart illustrating a method for generating a 3D map according to the present invention.

도 5를 참고로 보다 구체적으로 살펴보면, 3차원 지도를 작성하고자 하는 공간을 이동하며 3차원 공간을 촬영하여 해당 공간의 영상으로부터 특징점을 추출한다(S110). 특징점은 생성한 영상에 존재하는 객체의 형상을 대표하는 요소로서 객체를 묘사하고 모델링할 수 있는 중요한 점이며, 명확하게 식별이 가능한 특이점(interest point)으로서 모서리(corner), 정점(apex) 및 꼭지점(vertex)이 특징점에 해당된다. 본 발명에서 특징점은 종래 공지된 다양한 방식을 이용하여 추출할 수 있으며 이에 대한 상세한 설명은 생략한다.Referring to FIG. 5 in more detail, the three-dimensional space is photographed while moving in a space to create a three-dimensional map, and feature points are extracted from the image of the space (S110). A feature point is an important point that can describe and model an object as an element representing the shape of an object existing in the generated image, and is a clearly identifiable interest point, such as a corner, an apex, and a vertex. (vertex) corresponds to the feature point. In the present invention, feature points can be extracted using various conventionally known methods, and detailed description thereof will be omitted.

추출한 특징점을 3차원 좌표로 변환하여 포인트 클라우드를 생성한다(S130). 생성한 영상에서 추출한 특징점의 좌표는 2차원 좌표이며 특징점을 계속해서 추적하며 깊이정보를 구비하는 3차원 좌표로 변환한다. 여기서 3차원 좌표는 글로벌 좌표로, 통상적으로 3차원 지도를 생성하기 시작하는 위치를 기준점(0,0,0)으로 각 특징점을 3차원 좌표로 변환하여 포인트 클라우드를 생성한다. 2차원의 특징점을 3차원 좌표로 변환하는 다양한 공지된 기술들이 존재하며, 이에 대한 상세한 설명을 생략한다.A point cloud is generated by converting the extracted feature points into three-dimensional coordinates (S130). The coordinates of the feature points extracted from the generated image are two-dimensional coordinates, and the feature points are continuously tracked and converted into three-dimensional coordinates having depth information. Here, the three-dimensional coordinates are global coordinates, and a point cloud is generated by converting each feature point into three-dimensional coordinates with a reference point (0, 0, 0) at a position where a three-dimensional map is usually generated. Various well-known techniques for converting a two-dimensional feature point into three-dimensional coordinates exist, and a detailed description thereof will be omitted.

3차원 지도를 생성하고자 하는 전체 3차원 공간에서 생성된 포인트 클라우드를 조합하여 3차원 공간에 대한 포인트 클라우드 맵을 생성한다(S150).A point cloud map for the 3D space is generated by combining the point clouds generated in the entire 3D space in which the 3D map is to be generated (S150).

3차원 공간 중 시작 공간에서 특징점의 밀집도가 가장 높은 단위 공간을 시작 앵커로 하여 시작 앵커를 구비하는 시작 인식 블록을 생성하고 시작 인식 블록에 인접한 공간에서 연속하여 인접 앵커를 구비하는 인접 인식 블록을 생성하여 3차원 공간 전체에 대한 앵커 맵을 생성한다(S170). 생성한 앵커 맵에는 앵커 맵을 구성하는 시작 인식 블록과 인접 인식 블록의 3차원 좌표, 시작 앵커와 인접 앵커의 3차원 좌표 그리고 시작 앵커로부터의 이격 거리에 따라 달라지는 관성 측정값과 앵커 크기를 서로 매핑한 상관 정보가 포함되어 있다.A start recognition block having a start anchor is generated using the unit space with the highest density of feature points in the start space among the three-dimensional space as a start anchor, and an adjacent recognition block having adjacent anchors is generated continuously in the space adjacent to the start recognition block. to generate an anchor map for the entire three-dimensional space (S170). In the created anchor map, the three-dimensional coordinates of the starting recognition block and the adjacent recognition block constituting the anchor map, the three-dimensional coordinates of the start anchor and the adjacent anchor, and the inertia measurement value and the anchor size that depend on the separation distance from the start anchor are mapped to each other Correlated information is included.

3차원 공간에 대한 포인트 클라우드 맵과 앵커 맵을 조합하여 3차원 공간에 대한 3차원 지도를 생성한다(S190). A three-dimensional map of the three-dimensional space is generated by combining the point cloud map and the anchor map for the three-dimensional space (S190).

이와 같이 생성한 3차원 지도를 이용하여, 포인트 클라우드 맵에 기초하여 현재 위치를 추정하고 이후 앵커 맵에 기초하여 현재 위치의 인식 블록에서 상관 정보를 이용하여 현재 위치를 보정할 수 있다.Using the generated 3D map, the current location may be estimated based on the point cloud map, and then the current location may be corrected using correlation information in the recognition block of the current location based on the anchor map.

도 6은 본 발명에 따라 앵커 맵을 생성하는 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a method of generating an anchor map according to the present invention.

도 6을 참고로 보다 구체적으로 살펴보면, 3차원 공간에서 인식 블록이 존재하는지 판단한다(S171). 인식 블록에 인접한 공간에서 연속하여 인접 인식 블록을 생성한다(S175).Referring to FIG. 6 in more detail, it is determined whether a recognition block exists in the three-dimensional space (S171). Contiguous recognition blocks are continuously generated in a space adjacent to the recognition block (S175).

그러나 인식 블록이 존재하지 않는 경우, 시작 공간에서부터 시작 앵커를 구비하는 시작 인식 블록을 생성한다(S173). 시작 공간은 3차원 공간 중 임의의 공간일 수 있는데, 바람직하게 시작 공간은 3차원 지도를 생성하기 시작한 위치에서 일정한 크기를 가지는 공간으로 설정될 수 있다. 시작 공간을 다수의 단위 공간으로 구분하여 각 단위 공간에 존재하는 특징점의 개수를 카운트하며, 시작 공간의 단위 공간들 중 밀집도가 가장 높은 단위 공간을 시작 앵커로 결정하여 시작 인식 블록을 생성한다. 시작 인식 블록이 생성시, 시작 인식 블록에 구비된 시작 앵커의 3차원 좌표와 시작 인식 블록의 3차원 좌표를 판단한다.However, when the recognition block does not exist, a start recognition block having a start anchor is generated from the start space (S173). 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 start anchor provided in the start recognition block and the three-dimensional coordinates of the start recognition block are determined.

시작 인식 블록이 생성되면 시작 인식 블록에 인접한 공간에서 인접 인식 블록을 생성하고 인접 인식 블록에 인접한 공간에서 인접 인식 블록을 연속 생성하여 3차원 공간 전체에서 인접 인식 블록을 생성한다(S175). 각 인접 인식 블록에서 특징점의 밀집도가 가장 높은 단위 공간을 인접 앵커로 생성한다. 인접 인식 블록이 생성시, 각 인접 인식 블록에 구비된 인접 앵커의 3차원 좌표와 인접 인식 블록의 3차원 좌료를 판단한다.When the start recognition block is generated, an adjacent recognition block is generated in a space adjacent to the start recognition block, and adjacent recognition blocks are continuously generated in a space adjacent to the adjacent recognition block to generate an adjacent recognition block in the entire 3D space (S175). In each adjacent recognition block, the unit space with the highest density of feature points is created as an adjacent anchor. When an adjacent recognition block is generated, the three-dimensional coordinates of the adjacent anchors provided in each adjacent recognition block and the three-dimensional coordinates of the adjacent recognition block are determined.

시작 인식 블록과 인접 인식 블록로 이루어진 3차원 공간 전체에 대한 앵커 맵을 생성한다(S177).An anchor map for the entire three-dimensional space consisting of the starting recognition block and the adjacent recognition block is generated (S177).

도 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 flowchart for explaining an example of generating a start recognition block in the present invention.

도 8을 참고로 보다 구체적으로 살펴보면, 시작 공간을 다수의 단위 공간으로 구분하여 각 단위 공간에서의 특징점들의 밀집도를 판단한다(S211).Referring to FIG. 8 in more detail, the start space is divided into a plurality of unit spaces to determine the density of feature points in each unit space (S211).

시작 공간의 단위 공간의 밀집도에 기초하여 가장 밀집도가 높은 단위 공간을 시작 앵커로 결정한다(S213).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).

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

도 9는 시작 공간과 단위 공간의 일 예를 설명하기 위한 도면이다.9 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.

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

도 10에 도시되어 있는 바와 같이, 시작 앵커(A)를 중심으로 하여 시작 앵커(A)가 존재하는 가상 수평면에서 일정 길이(r)를 반지름으로 하는 원에 내접한 정육각형의 길이를 일변으로 하는 정육각 기둥으로 시작 인식 블록을 생성할 수 있다.As shown in Fig. 10, 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. Each pillar can create a starting recognition block.

본 발명이 적용되는 분야에 따라 시작 앵커를 중심으로 하여 시작 앵커가 존재하는 가상 수평면에서 일정 길이를 반지름으로 하는 원에 내접하는 다양한 정다각형의 길이를 일변으로 하는 정다각 기둥으로 시작 인식 블록을 생성할 수 있으며 이는 본 발명의 범위에 속한다.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.

도 11은 인식 블록을 정사각기둥과 정육각기둥으로 생성함에 따라 앵커의 생성 여부를 설명하기 위한 도면이다.11 is a diagram for explaining whether an anchor is generated as a recognition block is generated with a square prism and a regular hexagonal prism.

3차원 지도를 생성하기 위하여 3차원 공간을 이동하며 3차원 공간의 영상을 촬영하는데, 도 11(a)에 도시되어 있는 바와 같이 인식 블록을 정사각기둥으로 형성하면 사용자가 3차원 공간을 대각선으로 이동하는 경우 앵커가 존재하지 않는 인식 블록이 형성될 우려가 있다.In order to generate a 3D map, a 3D space image is taken while moving in 3D space. As shown in Fig. 11(a), when the recognition block is formed into a square pole, the user moves the 3D space diagonally. In this case, there is a risk of forming a recognition block in which an anchor does not exist.

그러나 도 11(b)에 도시되어 있는 바와 같이, 인식 블록을 정육각기둥으로 형성하면 사용자가 3차원 공간을 대각선으로 이동하더라도 앵커가 존재하지 않는 인식 블록이 형성될 가능성이 줄어들게 된다. However, as shown in FIG. 11( b ), if the recognition block is formed in a regular hexagonal prism, the possibility of forming a recognition block without an anchor is reduced even if the user moves the 3D space diagonally.

도 12는 시작 인식 블록에서 상관 정보를 생성하는 방법의 일 예를 설명하기 위한 도면이다.12 is a diagram for explaining an example of a method of generating correlation information in a start recognition block.

도 12(a)에 도시되어 있는 바와 같이, 시작 인식 블록에서 시작 앵커로부터 최대 이격된 지점(P)에서 시작 앵커(A)까지 사용자가 이동하며 이동 과정 중 시작 앵커와의 이격 거리에 따라 달라지는 시작 앵커의 크기와 관성 측정값을 서로 매핑하여 상관 정보를 생성한다.As shown in FIG. 12( 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.

도 12(b)에 도시되어 있는 바와 같이, 시작 인식 블록에서 시작앵커(A)로부터 이격된 거리(r1, r2, r3)가 멀어질수록 시작 앵커의 크기가 작아지며, 최대 이격 지점에서 시작 앵커으로 근접할수록 관성 측정값은 증가하게 된다. 여기서 앵커의 크기는 앵커를 구성하는 특징점의 전체 면적에 기초하여 판단할 수 있다. 예를 들어, 도 14에 도시되어 있는 바와 같이 앵커를 구성하는 특징점으로 사각형을 구성하는 경우 사각형을 구성하는 픽셀 크기로 앵커 크기를 판단할 수 있다.As shown in Fig. 12(b), as the distance (r 1 , r 2 , r 3 ) away 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 measurement 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. 14 , 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.

도 13은 상관 정보의 일 예를 도시하고 있는데, 도 13에 도시되어 있는 바와 같이 시작 앵커와의 이격 거리에 따라 달라지는 관성 측정값과 시작 앵커의 크기가 서로 매핑되어 테이블로 저장될 수 있다.13 shows an example of correlation information. As shown in FIG. 13 , 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.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.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 transmission via

본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다. 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.

11: 영상 장비 13: 통신 장비
30: 네트워크 50: 서버
110: 특징점 추출부 130: 포인트 클라우드 맵 생성부
150: 앵커 맵 생성부 170: 지도 생성부
11: video equipment 13: communication equipment
30: network 50: server
110: feature point extraction unit 130: point cloud map generation unit
150: anchor map generator 170: map generator

Claims (9)

3차원 지도를 생성하고자 하는 3차원 공간을 촬영하여 상기 3차원 공간의 특징점을 추출하는 단계;
추출한 특징점을 3차원 좌표로 변환하여 포인트 클라우드를 생성하고 상기 3차원 공간의 포인트 클라우드를 조합하여 포인트 클라우드 맵을 생성하는 단계;
상기 포인트 클라우드 맵에서 특징점의 밀집도에 기초하여 앵커를 생성하고 상기 앵커를 포함하는 정다각기둥의 인식 블록을 연속 생성하여 상기 3차원 공간의 앵커맵을 생성하는 단계; 및
상기 포인트 클라우드 맵과 상기 앵커맵으로 이루어진 3차원 지도를 생성하는 단계를 포함하는 것을 특징으로 하는 3차원 지도의 생성 방법.
extracting feature points of the three-dimensional space by photographing a three-dimensional space in which a three-dimensional map is to be generated;
generating a point cloud by converting the extracted feature points into three-dimensional coordinates, and generating a point cloud map by combining the point clouds in the three-dimensional space;
generating an anchor map of the three-dimensional space by generating an anchor based on the density of feature points in the point cloud map and continuously generating recognition blocks of regular polygonal prisms including the anchor; and
and generating a three-dimensional map comprising the point cloud map and the anchor map.
제 1 항에 있어서, 상기 앵커맵을 생성하는 단계는
상기 포인트 클라우드 맵의 현재 위치에서 시작 앵커를 포함하는 정다각기둥의 시작 인식 블록을 생성하는 단계;
상기 시작 인식 블록에 인접한 공간에서 인접 앵커를 포함하는 인접 인식 블록을 생성하는 단계; 및
상기 인접 인식 블록에 인접한 공간에서 인접 인식 블록을 연속 생성하여 상기 3차원 공간에 대한 앵커맵을 생성하는 단계를 포함하는 것을 특징으로 하는 3차원 지도의 생성 방법.
The method of claim 1, wherein the generating of the anchor map comprises:
generating a start recognition block of a regular polygonal prism including a start anchor at the current location of the point cloud map;
generating an adjacent recognition block including an adjacent anchor in a space adjacent to the starting recognition block; and
and generating an anchor map for the 3D space by continuously generating adjacent recognition blocks in a space adjacent to the adjacent recognition block.
제 2 항에 있어서,
상기 인접 인식 블록은 상기 시작 인식 블록과 동일한 크기와 형상으로 생성되는 것을 특징으로 하는 3차원 지도의 생성 방법.
3. The method of claim 2,
The method for generating a three-dimensional map, characterized in that the adjacent recognition block is generated in the same size and shape as the starting recognition block.
제 3 항에 있어서, 상기 시작 인식 블록을 생성하는 단계는
시작 공간에서 상기 포인트 클라우드 맵의 단위 공간별 특징점의 밀집도를 판단하는 단계;
판단한 밀집도에 기초하여 시작 공간에서 가장 높은 밀집도를 가지는 단위 공간을 판단하고, 밀집도가 가장 높은 단위 공간을 시작 앵커로 생성하는 단계; 및
상기 시작 앵커를 포함하는 정다각기둥의 시작 인식 블록을 생성하는 단계를 포함하는 것을 특징으로 하는 3차원 지도의 생성 방법.
The method of claim 3, wherein generating the start recognition block comprises:
determining the density of feature points for each unit space of the point cloud map in the starting space;
determining a unit space having the highest density in the start space based on the determined density, and generating the unit space having the highest density as a start anchor; and
and generating a start recognition block of a regular polygonal prism including the start anchor.
제 4 항에 있어서, 상기 시작 인식 블록은
상기 시작 앵커를 중심으로 하며 상기 시작 앵커를 포함하는 정다각기둥으로 생성되는 것을 특징으로 하는 3차원 지도의 생성 방법.
5. The method of claim 4, wherein the start recognition block is
A method for generating a three-dimensional map, characterized in that it is generated as a regular polygonal prism having the start anchor as a center and including the start anchor.
제 5 항에 있어서, 상기 시작 인식 블록을 생성하는 단계는
상기 시작 앵커를 기준으로 상기 시작 인식 블록에서 최대 이격된 지점으로부터 상기 시작 앵커까지 이동 과정 중 상기 시작 앵커와의 이격 거리에 따라 달라지는 시작 앵커의 크기와 관성 측정값을 서로 매핑한 상관 테이블을 저장하는 단계를 더 포함하는 것을 특징으로 하는 3차원 지도의 생성 방법.
The method of claim 5, wherein generating the start recognition block comprises:
Storing a correlation table in which the size of the start anchor and the inertia measurement value that vary depending on the separation distance from the start anchor during the moving process from the maximum spaced apart point from the start recognition block to the start anchor with respect to the start anchor are mapped to each other Method of generating a three-dimensional map, characterized in that it further comprises the step.
제 6 항에 있어서, 상기 시작 인식 블록은
상기 시작 앵커를 중심으로 하고 상기 시작 앵커를 인식할 수 있는 최대 인식 거리를 반지름으로 하는 원에 내접하는 정다각형의 길이를 일변으로 하는 정다각기둥으로 생성되는 것을 특징으로 하는 3차원 지도의 생성 방법.
7. The method of claim 6, wherein the start recognition block is
A method of generating a three-dimensional map, characterized in that the start anchor is generated as a regular polygonal prism having a length of a regular polygon inscribed in a circle with a radius of the maximum recognition distance for recognizing the start anchor as one side.
제 6 항에 있어서, 상기 앵커 맵을 생성하는 단계는
상기 포인트 클라우드 맵에서 상기 시작 인식 블록 및 상기 인접 인식 블록의 좌표값을 저장하고,
상기 포인트 클라우드 맵에서 상기 시작 앵커와 상기 인접 앵커의 좌표값을 저장하는 단계를 더 포함하는 것을 특징으로 하는 3차원 지도의 생성 방법.
The method of claim 6, wherein the generating of the anchor map comprises:
storing the coordinate values of the starting recognition block and the adjacent recognition block in the point cloud map;
The method of generating a three-dimensional map, characterized in that it further comprises the step of storing the coordinate values of the starting anchor and the adjacent anchor in the point cloud map.
제 1 항 내지 제 8 항 중 어느 한 항에 있어서, 상기 정다각기둥은 정육각기둥인 것을 특징으로 하는 3차원 지도의 생성 방법.The method of any one of claims 1 to 8, wherein the regular polygonal prism is a regular hexagonal prism.
KR1020200164278A 2020-11-30 2020-11-30 Method for producing three-dimensional map KR102461980B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200164278A KR102461980B1 (en) 2020-11-30 2020-11-30 Method for producing three-dimensional map

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200164278A KR102461980B1 (en) 2020-11-30 2020-11-30 Method for producing three-dimensional map

Publications (2)

Publication Number Publication Date
KR20220075794A true KR20220075794A (en) 2022-06-08
KR102461980B1 KR102461980B1 (en) 2022-11-03

Family

ID=81980666

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200164278A KR102461980B1 (en) 2020-11-30 2020-11-30 Method for producing three-dimensional map

Country Status (1)

Country Link
KR (1) KR102461980B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007069726A1 (en) * 2005-12-16 2007-06-21 Ihi Corporation Self-position identifying method and device, and three-dimensional shape measurement method and device
KR20150145950A (en) * 2014-06-20 2015-12-31 삼성전자주식회사 Method and apparatus for extracting feature regions in point cloud
KR20190127624A (en) * 2019-10-31 2019-11-13 충북대학교 산학협력단 Apparatus and method for detecting object based on density using lidar sensor
JP2020125960A (en) * 2019-02-04 2020-08-20 株式会社豊田中央研究所 Moving object position estimating device and moving object position estimating program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007069726A1 (en) * 2005-12-16 2007-06-21 Ihi Corporation Self-position identifying method and device, and three-dimensional shape measurement method and device
KR20150145950A (en) * 2014-06-20 2015-12-31 삼성전자주식회사 Method and apparatus for extracting feature regions in point cloud
JP2020125960A (en) * 2019-02-04 2020-08-20 株式会社豊田中央研究所 Moving object position estimating device and moving object position estimating program
KR20190127624A (en) * 2019-10-31 2019-11-13 충북대학교 산학협력단 Apparatus and method for detecting object based on density using lidar sensor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Maria Garcia, et al., "Pedestrian Simultaneous Localization and Mapping in Multistory Buildings Using Inertial Sensors", IEEE Transactions on Intelligent Transportation Systems, Volume15, Issue4(2014)* *

Also Published As

Publication number Publication date
KR102461980B1 (en) 2022-11-03

Similar Documents

Publication Publication Date Title
US10701332B2 (en) Image processing apparatus, image processing method, image processing system, and storage medium
EP3251090B1 (en) Occlusion handling for computer vision
JP6271609B2 (en) Autofocus for stereoscopic cameras
US10068344B2 (en) Method and system for 3D capture based on structure from motion with simplified pose detection
US7825948B2 (en) 3D video conferencing
KR101862199B1 (en) Method and Fusion system of time-of-flight camera and stereo camera for reliable wide range depth acquisition
CN107392958B (en) Method and device for determining object volume based on binocular stereo camera
US11328479B2 (en) Reconstruction method, reconstruction device, and generation device
US9191650B2 (en) Video object localization method using multiple cameras
KR20100119559A (en) Method and system for converting 2d image data to stereoscopic image data
KR102110459B1 (en) Method and apparatus for generating three dimension image
KR20140074201A (en) Tracking device
JP2013185905A (en) Information processing apparatus, method, and program
JP2001266128A (en) Method and device for obtaining depth information and recording medium recording depth information obtaining program
WO2021193672A1 (en) Three-dimensional model generation method and three-dimensional model generation device
CN110717593B (en) Method and device for neural network training, mobile information measurement and key frame detection
KR102410300B1 (en) Apparatus for measuring position of camera using stereo camera and method using the same
KR102461980B1 (en) Method for producing three-dimensional map
JP2009301242A (en) Head candidate extraction method, head candidate extraction device, head candidate extraction program and recording medium recording the program
KR20150040194A (en) Apparatus and method for displaying hologram using pupil track based on hybrid camera
CN114694204A (en) Social distance detection method and device, electronic equipment and storage medium
KR102425270B1 (en) Method for estimating position in three-dimensional space
US20220230342A1 (en) Information processing apparatus that estimates object depth, method therefor, and storage medium holding program therefor
KR102542363B1 (en) Method for recognizing object in 3 dimentional space
KR101373982B1 (en) Method and apparatus for fast stereo matching by predicting search area in stereo vision and stereo vision system using the same

Legal Events

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