KR102095842B1 - Apparatus for Building Grid Map and Method there of - Google Patents

Apparatus for Building Grid Map and Method there of Download PDF

Info

Publication number
KR102095842B1
KR102095842B1 KR1020170171099A KR20170171099A KR102095842B1 KR 102095842 B1 KR102095842 B1 KR 102095842B1 KR 1020170171099 A KR1020170171099 A KR 1020170171099A KR 20170171099 A KR20170171099 A KR 20170171099A KR 102095842 B1 KR102095842 B1 KR 102095842B1
Authority
KR
South Korea
Prior art keywords
grid
point cloud
information
sensor
grid map
Prior art date
Application number
KR1020170171099A
Other languages
Korean (ko)
Other versions
KR20190070514A (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 KR1020170171099A priority Critical patent/KR102095842B1/en
Publication of KR20190070514A publication Critical patent/KR20190070514A/en
Application granted granted Critical
Publication of KR102095842B1 publication Critical patent/KR102095842B1/en

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • 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/20Finite element generation, e.g. wire-frame surface description, tesselation
    • 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

Abstract

본 발명은 격자 지도 생성 장치 및 방법으로서, 특히 포인트 클라우드를 서로 다른 갱신주기로 범주화하고, 상기 범주화된 포인트 클라우드를 이용하여 격자 지도를 생성하는 장치를 개시한다. 본 발명의 격자 지도 생성 장치는 적어도 하나의 물체들을 포함하는 3차원 공간을 나타내는 공간 정보들을 측정하는 센서를 이용하여 상기 센서의 자세 정보에 따라 서로 다른 포인트 클라우드를 생성하는 포인트 클라우드 생성부; 및 상기 생성된 포인트 클라우드를 상기 센서의 자세 정보 및 상기 공간 정보를 이용하여 서로 다른 갱신주기에 따라 범주화하고, 상기 범주화된 포인트 클라우드의 상기 3차원 공간상에서의 좌표를 고려하여 생성된 격자셀의 점유도를 상기 서로 다른 갱신주기로 갱신하여 격자 지도를 생성하는 지도 생성부; 를 포함한다.The present invention discloses an apparatus and method for generating a grid map, in particular, categorizing a point cloud into different update cycles, and generating a grid map using the categorized point cloud. The grid map generating apparatus of the present invention includes a point cloud generator for generating different point clouds according to the attitude information of the sensor by using a sensor for measuring spatial information representing a 3D space including at least one object; And the generated point cloud is categorized according to different update cycles using the sensor's posture information and the spatial information, and the occupancy of the grid cells generated by considering coordinates of the categorized point cloud in the three-dimensional space. A map generator for updating the grid with the different update cycles to generate a grid map; It includes.

Description

격자지도 생성 장치 및 방법 {Apparatus for Building Grid Map and Method there of}Apparatus for Building Grid Map and Method there of}

본 발명의 실시 예가 속하는 기술분야는 격자지도를 생성하는 장치에 관한 것이다. 보다 상세하게는, 컴퓨터 그래픽스 및 비전기술에서 사용되는 격자지도를 생성하는 장치 및 방법에 관한 것이다.Technical field to which an embodiment of the present invention pertains relates to an apparatus for generating a grid map. More specifically, it relates to an apparatus and method for generating a grid map used in computer graphics and vision technology.

최근 이미지 정보를 제공하던 카메라와는 달리 적외선 등의 센서를 포함하는 카메라를 이용하여 물체를 포함하는 특정 공간의 공간 정보를 측정하고, 측정된 공간 정보를 기반으로 물체 또는 장애물이 포함된 공간에 대한 지도를 작성하는 기술이 활발히 연구되고 있다. 특히 다양한 3차원 거리 센서의 발달로 3차원 환경의 재구성 기술이 많은 발전을 이루어 왔고, 고화질의 깊이 정보를 제공해주는 Microsoft 사의 키넥트(Kinect) 스타일의 센서를 많이 사용하고 있다.Unlike cameras that recently provided image information, spatial information in a specific space containing an object is measured using a camera including a sensor such as infrared rays, and based on the measured spatial information, a space for an object or an obstacle is included. The technique of mapping is being actively researched. In particular, with the development of various 3D distance sensors, the reconstruction technology of the 3D environment has undergone many developments, and many Kinect style sensors from Microsoft, which provide high-definition depth information, are used.

3차원 공간의 환경을 재구성하여 지도를 생성하기 위해서는 센서의 3차원 위치 인식 및 지도 구축(SLAM)기술이 필요하고, 센서의 위치 인식을 위하여 센서의 6자유도를 이용하는데, 6자유도를 추정하기 위한 기술에는 크게 특징점 기반 방법과 Direct 방법이 존재한다.In order to reconstruct the environment of the 3D space and generate a map, 3D position recognition and map building (SLAM) technology of the sensor is required, and 6 degrees of freedom of the sensor is used to recognize the position of the sensor. There are largely feature point-based and direct methods in the technology.

센서의 6자유도 자세를 통해 3차원 지도를 구축하기 위해서 2차원 격자 지도와 같이 3차원 환경을 작은 정육면체의 모음으로 표현하는 복셀 지도가 많이 사용되는데, 특히 팔진트리를 사용하여 메모리 사용량을 줄이고 높은 압축성을 가질 수 있게 하는 방법이 널리 사용되고 있다. 구축된 3차원 지도는 컴퓨터 비전 분야에서 폭 넓게 사용되며, 특히, 가정이나 산업체에서 로봇의 자율 주행을 위하여 많이 이용될 수 있다.In order to build a 3D map through the 6-degree of freedom posture of the sensor, a voxel map that expresses a 3D environment as a collection of small cubes, such as a 2D grid map, is frequently used. Methods that make it compressible are widely used. The constructed 3D map is widely used in the field of computer vision, and particularly, it can be widely used for autonomous driving of a robot in a home or industry.

하지만, 3차원 지도를 재구성하기 위하여는 2차원 지도의 생성 기술과는 달리 많은 데이터의 연산량이 필요한 단점이 있다. 따라서 센서의 위치나 시간에 따른 3차원 공간 지도를 효과적으로 갱신하기 위한 기술 개발이 요구되고 있다.However, in order to reconstruct the 3D map, unlike the 2D map generation technology, there is a disadvantage in that a large amount of data is required. Therefore, there is a need to develop a technique for effectively updating the 3D spatial map according to the position or time of the sensor.

한국 등록 특허 제 10-1415297호 (등록일: 2014.06.27.)Korean Registered Patent No. 10-1415297 (Registration Date: 2014.06.27.)

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 3차원 센서를 이용하여 환경을 재구성하기 위한 격자 지도를 생성하는 장치를 개시한다.The present invention has been devised to solve the above problems, and discloses an apparatus for generating a grid map for reconstructing an environment using a 3D sensor.

특히, 거리 의존성 격자 지도 갱신 방법을 사용하여 효과적으로 3차원 격자 지도를 생성하는 장치를 개시한다. In particular, an apparatus for effectively generating a three-dimensional grid map using a distance-dependent grid map update method is disclosed.

본 발명은 상기한 목적을 달성하기 위해 안출된 것으로서, 본 발명의 격자 지도 생성 장치는 적어도 하나의 물체들을 포함하는 3차원 공간을 나타내는 공간 정보들을 측정하는 센서를 이용하여 상기 센서의 자세 정보에 따라 서로 다른 포인트 클라우드를 생성하는 포인트 클라우드 생성부; 및 상기 생성된 포인트 클라우드를 상기 센서의 자세 정보 및 상기 공간 정보를 이용하여 서로 다른 갱신주기에 따라 범주화하고, 상기 범주화된 포인트 클라우드의 상기 3차원 공간상에서의 좌표를 고려하여 생성된 격자셀의 점유도를 상기 서로 다른 갱신주기로 갱신하여 격자 지도를 생성하는 격자 지도 생성부; 를 포함한다.The present invention has been devised to achieve the above object, and the grid map generating apparatus of the present invention uses a sensor for measuring spatial information representing a three-dimensional space including at least one object according to the attitude information of the sensor. Point cloud generation unit for generating different point clouds; And the generated point cloud is categorized according to different update cycles using the sensor's posture information and the spatial information, and the occupancy of the grid cells generated by considering coordinates of the categorized point cloud in the three-dimensional space. A grid map generator that updates grids with the different update cycles to generate grid maps; It includes.

본 발명에서 상기 격자 지도 생성 장치는 상기 측정된 공간 정보들을 기초로 영상 기반 SLAM을 수행하여 상기 센서의 위치 및 방향에 관한 자세 정보를 산출하는 자세 정보 산출부; 를 더 포함하고, 상기 격자 지도 생성부는 상기 산출된 자세 정보를 이용하여 상기 격자 지도를 생성할 수 있다.In the present invention, the grid map generating apparatus comprises: a posture information calculation unit that calculates posture information regarding the position and direction of the sensor by performing image-based SLAM based on the measured spatial information; Further comprising, the grid map generating unit may generate the grid map using the calculated attitude information.

본 발명에서 상기 자세 정보는 상기 센서의 위치에 관한 제1 좌표 정보 및 상기 센서의 방향에 관한 제2 좌표 정보를 포함하고, 상기 공간 정보들은 상기 3차원 공간의 색상 정보 및 상기 센서를 기준으로 측정된 상기 3차원 공간의 깊이 정보를 포함할 수 있다.In the present invention, the posture information includes first coordinate information about the position of the sensor and second coordinate information about the direction of the sensor, and the spatial information is measured based on the color information of the three-dimensional space and the sensor. It may include the depth information of the three-dimensional space.

본 발명에서 상기 자세 정보 산출부는 상기 공간 정보들을 이용하여 생성된 영상 이미지에서 픽셀 별 화소값들의 변화량을 고려하여 특징점들을 추출하는 특징점 추출부; 를 더 포함하고, 상기 추출된 특징점들을 이용하여 상기 센서의 자세 정보를 산출할 수 있다.In the present invention, the posture information calculating unit is a feature point extracting unit for extracting feature points in consideration of a change in pixel values for each pixel in an image image generated using the spatial information; Further comprising, it is possible to calculate the attitude information of the sensor using the extracted feature points.

본 발명에서 상기 자세 정보 산출부는 상기 추출된 특징점들의 좌표를 종점으로 하고, 상기 센서의 위치를 원점으로 하는 특징 벡터를 생성하는 특징 벡터 생성부; 를 더 포함하고, 상기 생성된 특징 벡터를 이용하여 상기 센서의 자세 정보를 산출할 수 있다.In the present invention, the posture information calculating unit is a feature vector generator for generating a feature vector based on the coordinates of the extracted feature points as an end point and the location of the sensor as an origin; Further comprising, it is possible to calculate the attitude information of the sensor using the generated feature vector.

본 발명에서 상기 자세 정보 산출부는 상기 센서의 자세 정보, 상기 3차원 공간을 나타내는 공간 정보들 및 상기 공간 정보들을 측정하는 시간에 따라 서로 다르게 생성된 특징 벡터들을 재투영(Re-Projection)하여 벡터간 유사도를 판단하고, 상기 판단된 벡터간 유사도를 이용하여 상기 센서의 자세 정보를 보정하는 보정부; 를 더 포함하고, 상기 산출된 자세 정보는 상기 보정된 자세 정보를 포함할 수 있다. In the present invention, the posture information calculating unit re-projects the feature vectors generated differently according to the time of measuring the posture information of the sensor, the spatial information representing the three-dimensional space, and the spatial information, and between the vectors. A correction unit determining the similarity and correcting the attitude information of the sensor using the determined similarity between vectors; Further comprising, the calculated posture information may include the corrected posture information.

본 발명에서 상기 보정부가 특징 벡터들을 재투영하여 벡터간 유사도를 판단하는 방법에 특별한 제한이 있는 것은 아니지만, 특징 벡터간 코사인 거리를 계산함으로서 판단할 수 있고, 코사인 거리외에도 유클리디안 거리(Euclidean distance) 마하라 노비스 거리(Mahalanobis distance)도 벡터간 유사판단에 사용될 수 있다.In the present invention, although there is no particular limitation on a method for determining similarity between vectors by re-projecting the feature vectors, the correction unit may determine it by calculating the cosine distance between feature vectors, and besides the cosine distance, the Euclidean distance (Euclidean distance). ) Mahalanobis distance can also be used for similarity determination between vectors.

본 발명에서 상기 격자 지도 생성부는 상기 센서의 자세 정보 및 상기 공간 정보를 기초로 상기 격자셀의 점유도를 갱신하기 위하여 필요한 상기 포인트 클라우드에 포함된 적어도 일부 영역의 포인트들의 수에 관한 갱신주기를 설정하는 갱신주기 설정부; 를 더 포함하고, 상기 설정된 갱신주기에 따라 범주화된 포인트 클라우드를 이용하여 상기 격자 지도를 생성할 수 있다.In the present invention, the grid map generation unit sets an update cycle for the number of points in at least some areas included in the point cloud required to update the occupancy of the grid cells based on the attitude information of the sensor and the spatial information. Update cycle setting unit; In addition, the grid map may be generated using a point cloud categorized according to the set update cycle.

본 발명에서 상기 격자 지도 생성부는 상기 서로 다른 갱신주기를 이용하여 상기 생성된 포인트 클라우드를 적어도 하나의 그룹으로 범주화하는 범주화부; 를 더 포함하고, 상기 범주화된 포인트 클라우드를 이용하여 상기 격자 지도를 생성할 수 있다.In the present invention, the grid map generation unit includes a categorization unit that categorizes the generated point cloud into at least one group using the different update cycles; Further comprising, the grid map may be generated using the categorized point cloud.

본 발명에서 상기 격자 지도 생성부는 상기 제1 좌표 정보 및 제2 좌표 정보에 따라 지향되는 스윕 라인을 이용하여 상기 범주화된 포인트 클라우드의 3차원 공간상에서의 좌표에 대응하는 격자셀을 검색하는 격자셀 검색부; 를 더 포함하고, 상기 검색된 격자셀의 점유도를 갱신하여 상기 격자 지도를 생성할 수 있다.In the present invention, the grid map generation unit searches for grid cells that search for grid cells corresponding to coordinates in the three-dimensional space of the categorized point cloud using sweep lines directed according to the first and second coordinate information. part; In addition, the grid map may be generated by updating the occupancy of the searched grid cells.

본 발명에서 상기 범주화부는 상기 범주화된 포인트 클라우드의 그룹별 서로 다른 갱신 주기를 이용하여 상기 범주화된 포인트 클라우드의 적어도 일부 영역의 포인트들을 필터링하는 필터링부; 를 더 포함하고, 상기 필터링된 적어도 일부 영역의 포인트들을 기반으로 상기 포인트 클라우드를 범주화 할 수 있다.In the present invention, the categorization unit includes a filtering unit that filters points in at least a partial region of the categorized point cloud using different update periods for each group of the categorized point cloud; Further comprising, it is possible to categorize the point cloud based on the points of the filtered at least some areas.

본 발명에서 상기 격자 지도 생성부는 상기 스윕 라인에 스윕되는 상기 범주화된 포인트 클라우드 내 포인트들의 점유 강도를 이용하여 상기 격자셀의 점유도를 계산하고, 상기 계산된 점유도의 로그 대수의 증감에 따라 상기 격자셀의 점유도를 갱신하는 점유도 갱신부; 를 더 포함하고, 상기 점유도가 갱신된 격자셀을 이용하여 상기 격자 지도를 생성할 수 있다.In the present invention, the grid map generation unit calculates the occupancy of the grid cells by using the occupancy strength of points in the categorized point cloud swept on the sweep line, and the grid cells according to the increase or decrease of the logarithm of the calculated occupancy. Occupancy update unit for updating the occupancy of the; In addition, the grid map may be generated by using the grid cells in which the occupancy is updated.

본 발명에서 상기 갱신주기 설정부는 상기 제1 좌표 정보, 상기 제2 좌표 정보 및 상기 깊이 정보를 이용하여 상기 센서를 기준으로 측정되는 상기 포인트 클라우드 내 적어도 하나의 포인트 까지의 거리를 양자화하여 거리 분류값을 생성하는 분류값 생성부; 를 더 포함하고, 상기 생성된 분류값을 이용하여 상기 갱신주기를 설정할 수 있다.In the present invention, the update period setting unit quantizes a distance to at least one point in the point cloud measured based on the sensor using the first coordinate information, the second coordinate information, and the depth information, thereby classifying a distance. A classification value generator for generating a; Further comprising, it is possible to set the update cycle using the generated classification value.

본 발명에서 상기 격자 지도 생성부는 상기 점유도가 갱신된 격자셀에 상기 제1 좌표 정보, 제2 좌표 정보 및 상기 깊이 정보를 고려하여 서로 다른 가중치를 설정하여 통합하는 통합부; 를 더 포함하고, 상기 서로 다른 가중치로 통합된 상기 격자셀을 이용하여 상기 격자 지도를 생성할 수 있다.In the present invention, the grid map generator comprises an integrated unit that sets and integrates different weights in consideration of the first coordinate information, the second coordinate information, and the depth information in the grid cell in which the occupancy is updated; The grid map may be generated using the grid cells integrated with the different weights.

또한 상기한 목적을 달성하기 위하여 본 발명의 격자 지도 생성 장치가 수행하는 격자 지도 생성 방법은 적어도 하나의 물체들을 포함하는 3차원 공간을 나타내는 공간 정보들을 측정하는 센서를 이용하여 상기 센서의 자세 정보에 따라 서로 다른 포인트 클라우드를 생성하는 단계; 상기 측정된 공간 정보들을 기초로 영상 기반 SLAM을 수행하여 상기 센서의 위치 및 방향에 관한 자세 정보를 산출하는 단계; 및 상기 생성된 포인트 클라우드를 상기 센서의 자세 정보 및 상기 공간 정보를 이용하여 서로 다른 갱신주기에 따라 범주화하고, 상기 범주화된 포인트 클라우드의 상기 3차원 공간상에서의 좌표를 고려하여 생성된 격자셀의 점유도를 상기 서로 다른 갱신주기로 갱신하여 격자 지도를 생성하는 단계; 를 포함한다.In addition, in order to achieve the above object, the grid map generation method performed by the grid map generation apparatus of the present invention uses the sensor to measure the spatial information representing the 3D space including at least one object to the attitude information of the sensor. Generating different point clouds accordingly; Calculating posture information regarding the position and direction of the sensor by performing image-based SLAM based on the measured spatial information; And the generated point cloud is categorized according to different update cycles using the sensor's posture information and the spatial information, and the occupancy of the grid cells generated by considering coordinates of the categorized point cloud in the three-dimensional space. Updating to the different update cycles to generate a grid map; It includes.

본 발명에서 상기 자세 정보는 상기 센서의 위치에 관한 제1 좌표 정보 및 상기 센서의 방향에 관한 제2 좌표 정보를 포함하고, 상기 공간 정보들은 상기 3차원 공간의 색상 정보 및 상기 센서를 기준으로 측정된 상기 3차원 공간의 깊이 정보를 포함할 수 있다.In the present invention, the posture information includes first coordinate information about the position of the sensor and second coordinate information about the direction of the sensor, and the spatial information is measured based on the color information of the three-dimensional space and the sensor. It may include the depth information of the three-dimensional space.

본 발명에서 상기 격자 지도를 생성하는 단계는 상기 센서의 자세 정보 및 상기 공간 정보를 기초로 상기 격자셀의 점유도를 갱신하기 위하여 필요한 상기 포인트 클라우드에 포함된 적어도 일부 영역의 포인트들의 수에 관한 갱신주기를 설정하는 단계; 를 더 포함하고, 상기 설정된 갱신주기에 따라 범주화된 포인트 클라우드를 이용하여 상기 격자 지도를 생성할 수 있다.In the present invention, the generating of the grid map may include an update cycle for the number of points in at least some areas included in the point cloud required to update the occupancy of the grid cells based on the posture information of the sensor and the spatial information. Setting it; In addition, the grid map may be generated using a point cloud categorized according to the set update cycle.

본 발명에서 상기 격자 지도를 생성하는 단계는 상기 서로 다른 갱신주기를 이용하여 상기 생성된 포인트 클라우드를 적어도 하나의 그룹으로 범주화하는 단계; 를 더 포함하고, 상기 범주화된 포인트 클라우드를 이용하여 상기 격자 지도를 생성할 수 있다.In the present invention, generating the grid map may include categorizing the generated point clouds into at least one group using the different update cycles; Further comprising, the grid map may be generated using the categorized point cloud.

본 발명에서 상기 격자 지도를 생성하는 단계는 상기 제1 좌표 정보 및 제2 좌표 정보에 따라 지향되는 스윕 라인을 이용하여 상기 범주화된 포인트 클라우드의 3차원 공간상에서의 좌표에 대응하는 격자셀을 검색하는 단계; 를 더 포함하고, 상기 검색된 격자셀의 점유도를 갱신하여 상기 격자 지도를 생성할 수 있다.In the present invention, the generating of the grid map comprises searching for grid cells corresponding to coordinates in the three-dimensional space of the categorized point cloud using sweep lines directed according to the first coordinate information and the second coordinate information. step; In addition, the grid map may be generated by updating the occupancy of the searched grid cells.

본 발명에서 상기 범주화하는 단계는 상기 범주화된 포인트 클라우드의 그룹별 서로 다른 갱신 주기를 이용하여 상기 범주화된 포인트 클라우드의 적어도 일부 영역의 포인트들을 필터링하는 단계; 를 더 포함하고, 상기 필터링된 적어도 일부 영역의 포인트들을 기반으로 상기 포인트 클라우드를 범주화 할 수 있다.In the present invention, the categorizing may include filtering points of at least some areas of the categorized point cloud using different update periods for each group of the categorized point cloud; Further comprising, it is possible to categorize the point cloud based on the points of the filtered at least some areas.

본 발명에서 상기 격자 지도를 생성하는 단계는 상기 스윕 라인에 스윕되는 상기 범주화된 포인트 클라우드 내 포인트들의 점유 강도를 이용하여 상기 격자셀의 점유도를 계산하고, 상기 계산된 점유도의 로그 대수의 증감에 따라 상기 격자셀의 점유도를 갱신하는 단계; 를 더 포함하고, 상기 점유도가 갱신된 격자셀을 이용하여 상기 격자 지도를 생성할 수 있다.In the present invention, generating the grid map comprises calculating the occupancy of the grid cells using the occupancy strength of points in the categorized point cloud swept on the sweep line, and according to the increase or decrease of the logarithm of the calculated occupancy. Updating the occupancy of the grid cells; In addition, the grid map may be generated by using the grid cells in which the occupancy is updated.

본 발명에서 상기 갱신주기를 설정하는 단계는 상기 제1 좌표 정보, 상기 제2 좌표 정보 및 상기 깊이 정보를 이용하여 상기 센서를 기준으로 측정되는 상기 포인트 클라우드 내 적어도 하나의 포인트 까지의 거리를 양자화하여 거리 분류값을 생성하는 단계; 를 더 포함하고, 상기 생성된 분류값을 이용하여 상기 갱신주기를 설정할 수 있다.In the present invention, the step of setting the update cycle is by quantizing a distance to at least one point in the point cloud measured based on the sensor using the first coordinate information, the second coordinate information, and the depth information. Generating a distance classification value; Further comprising, it is possible to set the update cycle using the generated classification value.

또한 본 발명은 컴퓨터에서 상기한 격자 지도 생성 방법을 실행시키기 위한 컴퓨터에서 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 개시한다.The present invention also discloses a computer program stored in a computer-readable recording medium for executing the grid map generation method described above on a computer.

본 발명은 3차원 지도를 효과적으로 생성할 수 있다.The present invention can effectively generate a 3D map.

특히, 갱신주기를 서로 달리하여 포인트 클라우드를 사용함으로서 격자 지도를 빠르게 생성할 수 있다. In particular, by using a point cloud with different update cycles, a grid map can be quickly generated.

도 1은 본 발명의 일 실시예에 따른 격자 지도 생성 장치의 블록도이다.
도 2는 도 1의 실시 예에서 지도 생성부의 확대 블록도이다.
도 3은 도 2의 실시 예에서 갱신 주기 설정부의 확대 블록도이다.
도 4는 도 2의 실시 예에서 범주화부의 확대 블록도이다.
도 5는 본 발명의 일 실시예에 격자 지도 생성 방법의 흐름도이다.
도 6은 도 5의 실시 예에서 격자 지도를 생성하는 단계의 확대 흐름도이다.
도 7은 본 발명의 또 다른 실시 예에 따른 격자 지도 생성 방법의 흐름도이다.
도 8은 도 7의 실시 예에서 DDU 기반 복셀지도 갱신 및 생성하는 단계의 확대 흐름도이다.
도 9는 본 발명의 3차원 공간을 측정하는 센서에서 측정된 RGB 영상을 나타내는 예시도이다.
도 10은 본 발명의 3차원 공간을 측정하는 센서에서 측정된 3차원 공간의 깊이 영상을 나타내는 예시도이다.
도 11은 임의의 센서 위치에서 특정 시간에 측정된 센서의 자세 정보 및 공간 정보들을 바탕으로 격자 지도 생성 장치가 생성한 격자 지도를 나타내는 예시도이다.
도 12는 일 실시 예에 따른 격자 지도 생성 장치가 생성한 비어 있는 격자 지도를 나타내는 예시도이다.
도 13은 본 발명의 또 다른 실시 예에 따른 격자 지도 생성 장치가 생성한 격자 지도를 나타내는 예시도이다.
도 14는 본 발명의 또 다른 실시 예에 따른 격자 지도 생성 장치가 생성한 격자 지도를 나타내는 예시도이다.
1 is a block diagram of a grid map generating apparatus according to an embodiment of the present invention.
2 is an enlarged block diagram of a map generating unit in the embodiment of FIG. 1.
3 is an enlarged block diagram of an update period setting unit in the embodiment of FIG. 2.
4 is an enlarged block diagram of a categorization unit in the embodiment of FIG. 2.
5 is a flowchart of a grid map generating method according to an embodiment of the present invention.
FIG. 6 is an enlarged flow chart of the step of generating a grid map in the embodiment of FIG. 5.
7 is a flowchart of a method for generating a grid map according to another embodiment of the present invention.
8 is an enlarged flow diagram of steps of updating and generating a DDU-based voxel map in the embodiment of FIG. 7.
9 is an exemplary view showing an RGB image measured by a sensor for measuring a three-dimensional space of the present invention.
10 is an exemplary view showing a depth image of a 3D space measured by a sensor for measuring a 3D space of the present invention.
11 is an exemplary diagram showing a grid map generated by a grid map generating apparatus based on posture information and spatial information of a sensor measured at a specific time at an arbitrary sensor position.
12 is an exemplary diagram illustrating an empty grid map generated by a grid map generating apparatus according to an embodiment.
13 is an exemplary view showing a grid map generated by a grid map generating apparatus according to another embodiment of the present invention.
14 is an exemplary view showing a grid map generated by a grid map generating apparatus according to another embodiment of the present invention.

이하, 본 발명의 일 실시예를 첨부된 도면들을 참조하여 상세히 설명한다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.In the description with reference to the accompanying drawings, the same or corresponding components are assigned the same reference numbers and redundant description thereof will be omitted.

또한 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다. In addition, in describing the present invention, when it is determined that detailed descriptions of related well-known configurations or functions may obscure the subject matter of the present invention, detailed descriptions thereof may be omitted.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 용어를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 이하에서 설명하는 각 단계는 하나 또는 여러 개의 소프트웨어 모듈로도 구비가 되거나 또는 각 기능을 담당하는 하드웨어로도 구현이 가능하며, 소프트웨어와 하드웨어가 복합된 형태로도 가능하다. 각 용어의 구체적인 의미와 예시는 각 도면의 순서에 따라 이하 설명 한다. 이하에서는 본 발명의 실시 예에 따른 격자 지도 생성 장치(10)의 구성을 관련된 관련된 도면을 참조하여 상세히 설명한다. Terms used in the present application are only used to describe specific embodiments, and are not intended to limit the terms. Singular expressions include plural expressions unless the context clearly indicates otherwise. Each of the steps described below may be provided with one or several software modules or may be implemented with hardware in charge of each function, or a combination of software and hardware. The specific meaning and examples of each term will be described below in the order of each drawing. Hereinafter, the configuration of the grid map generating apparatus 10 according to an embodiment of the present invention will be described in detail with reference to related drawings.

도 1은 본 발명의 일 실시예에 따른 격자 지도 생성 장치(10)의 블록도이다.1 is a block diagram of a grid map generating apparatus 10 according to an embodiment of the present invention.

본 발명의 격자 지도 생성 장치(10)는 포인트 클라우드 생성부(100), 자세 정보 산출부(200) 및 지도 생성부(300)를 포함한다. 예를 들어, 격자 지도 생성 장치(10)는 3차원 공간을 나타내는 공간 정보들을 측정하는 센서를 이용하여 포인트 클라우드를 생성하고, 센서의 자세 정보를 산출하며, 센서의 자세 정보 및 공간 정보들을 이용하여 포인트 클라우드의 3차원 공간상에서의 좌표를 고려하여 생성된 격자셀의 점유도를 서로 다른 주기로 갱신하여 격자 지도를 생성할 수 있다.The grid map generating apparatus 10 of the present invention includes a point cloud generating unit 100, an attitude information calculating unit 200, and a map generating unit 300. For example, the grid map generating device 10 generates a point cloud using a sensor that measures spatial information representing a 3D space, calculates the attitude information of the sensor, and uses the attitude information and spatial information of the sensor. The grid map may be generated by updating the occupancy of the grid cells generated in consideration of coordinates in the three-dimensional space of the point cloud at different periods.

예를 들어, 본 발명에서 격자 지도 생성 장치(10)가 사용하는 3차원 공간을 나타내는 공간 정보들을 측정하는 센서는 고화질의 깊이 정보를 제공하는 Microsoft 사의 키넥트(Kinect), RGB-D 카메라, 라이다(Lidar) 및 TOF(Time Of Flight)와 같이 3차원 공간에서의 깊이 및 색상 정보를 측정할 수 있는 모든 센서를 포함한다. 라이다(Lidar)는 자외선 가시광선 또는 근적외선을 펄스 형태의 레이저로 발사하여 물체를 탐지하여 반사된 레이저 펄스를 측정하여 거리를 탐지하고, 키넥트는 적외선 센서 및 RGB 영상 센서를 포함하고 구조광을 이용하여 물체를 탐지한다. 격자 지도 생성 장치(10)는 3차원 공간 정보를 측정할 수 있는 센서를 사용하여 깊이 및 RGB 영상을 획득할 수 있고, 상기 생성된 깊이 및 RGB 영상에서 센서의 자세 정보 및 포인트 클라우드를 생성하고, 생성된 포인트 클라우드 및 센서의 자세 정보를 이용하여 격자 지도의 점유도를 갱신하여 격자 지도를 생성할 수 있다. For example, in the present invention, a sensor for measuring spatial information representing a 3D space used by the grid map generating apparatus 10 is a Kinect, RGB-D camera of Microsoft Corporation, which provides high-definition depth information. Includes all sensors capable of measuring depth and color information in 3D space, such as Lidar and TOF (Time Of Flight). Lidar detects an object by emitting ultraviolet visible light or near-infrared light as a pulsed laser, measures the reflected laser pulse, detects the distance, and Kinect uses an infrared sensor and an RGB image sensor and uses structured light. To detect objects. The grid map generating apparatus 10 may acquire a depth and RGB image using a sensor capable of measuring 3D spatial information, generate attitude information and a point cloud of the sensor from the generated depth and RGB image, A grid map may be generated by updating the occupancy of the grid map using the generated point cloud and the attitude information of the sensor.

격자 지도 생성 장치(10)가 생성하는 격자 지도는 3차원 공간에서 구현되는 가상의 지도로서, 3차원 공간 내에서 물체의 존재 여부를 가상의 그리드 공간에 기재하는 복셀 지도를 포함한다. 복셀(Voxel)은 체적 요소로서, 3차원 공간을 나타내기 위한 3차원 단위 격자로 나타나고, 바람직하게는 가로, 세로 및 높이가 10cm로 마련된 단위 격자로 마련될 수 있다. 또한 본 발명의 격자 지도 생성 장치(10)가 생성하는 격자 지도의 크기는 가로, 세로 및 높이가 각각 4m, 8m 및 3m로 마련될 수 있다. 격자 지도 생성 장치(10)는 종래의 격자 지도 생성 기술보다 단시간에 효과적으로 격자 지도를 생성할 수 있음은 전술한 바와 같다.The grid map generated by the grid map generating apparatus 10 is a virtual map implemented in a 3D space, and includes a voxel map describing whether an object exists in the 3D space in a virtual grid space. The voxel is a volume element, and is represented by a three-dimensional unit grid for representing a three-dimensional space, and preferably may be provided as a unit grid having a width, height, and height of 10 cm. In addition, the size of the grid map generated by the grid map generating apparatus 10 of the present invention may be provided in 4m, 8m, and 3m in width, height, and height, respectively. As described above, the grid map generating apparatus 10 can effectively generate a grid map in a shorter time than a conventional grid map generating technique.

포인트 클라우드 생성부(100)는 적어도 하나의 물체들을 포함하는 3차원 공간을 나타내는 공간 정보들을 측정하는 센서를 이용하여 상기 센서의 자세 정보에 따라 서로 다른 포인트 클라우드를 생성한다. 포인트 클라우드 생성부(100)가 이용하는 공간 정보들은 3차원 공간의 색상 정보 및 상기 센서를 기준으로 측정된 3차원 공간의 깊이 정보를 포함하고, 센서의 자세 정보는 센서의 위치에 관한 제1 좌표 정보 및 센서의 방향에 관한 제2 좌표 정보를 포함한다.The point cloud generation unit 100 generates different point clouds according to the attitude information of the sensor using a sensor that measures spatial information representing a 3D space including at least one object. The spatial information used by the point cloud generating unit 100 includes color information of a 3D space and depth information of a 3D space measured based on the sensor, and the attitude information of the sensor is first coordinate information about the position of the sensor And second coordinate information regarding the direction of the sensor.

예를 들어, 포인트 클라우드 생성부(100)가 생성하는 포인트 클라우드는 3차원 공간을 무수히 많은 점(포인트, Point)의 집합으로 표현하는 것으로서, 각각의 포인트는 센서를 기준으로 측정된 물체의 색상, 거리 정보 및 센서에서 해당 포인트를 지향하는 각도 정보 중 적어도 하나의 정보를 포함하고, 포인트들의 집합이 이루는 포인트 클라우드는 공간적인 구성을 나타낸다. 포인트 클라우드 생성부(100)가 생성하는 포인트 클라우드는 하기 수학식 1과 같이 표현될 수 있다.For example, the point cloud generated by the point cloud generator 100 expresses a three-dimensional space as a collection of countless points (points), each point being the color of an object measured based on a sensor, The distance information and at least one of angle information directed to a corresponding point in the sensor include information, and a point cloud formed by a set of points represents a spatial configuration. The point cloud generated by the point cloud generator 100 may be expressed as Equation 1 below.

Figure 112017124117480-pat00001
Figure 112017124117480-pat00001

여기에서, Zt는 시간 t에서 측정된 포인트 클라우드 내의 한 포인트를 나타내고, r은 센서에서 포인트까지의 거리,

Figure 112017124117480-pat00002
는 센서에서 해당 포인트를 바라본 각도 및 T는 포인트 클라우드 내 거리 및 각도 성분을 포함하는 행렬의 전치를 의미한다. 포인트 클라우드 생성부(100)는 3차원 공간을 나타내는 공간 정보들을 이용하고, 상기 센서의 자세 정보에 따라 상기 수학식 1로 표현되는 포인트들의 3차원 집합인 포인트 클라우드를 생성할 수 있다. Where Z t represents a point in the point cloud measured at time t, r is the distance from the sensor to the point,
Figure 112017124117480-pat00002
Is the angle of the sensor looking at the point and T is the transpose of the matrix containing distance and angle components in the point cloud. The point cloud generation unit 100 may use spatial information representing a 3D space, and generate a point cloud that is a 3D set of points represented by Equation 1 according to the attitude information of the sensor.

자세 정보 산출부(200)는 특징점 추출부(220), 특징 벡터 생성부(240) 및 보정부(260)를 포함한다.The posture information calculation unit 200 includes a feature point extraction unit 220, a feature vector generation unit 240, and a correction unit 260.

특징점 추출부(220)는 상기 공간 정보들을 이용하여 생성된 영상 이미지에서 픽셀 별 화소값들의 변화량을 고려하여 특징점들을 추출한다. 예를 들어, 특징점 추출부(220)는 공간 정보들을 이용하여 생성된 영상 이미지에서 임의의 픽셀을 선정하고, 상기 선정된 임의의 픽셀에 인접한 픽셀들의 화소값들을 측정하고, 상기 임의의 픽셀과의 화소값 변화량을 계산하여 특징점들을 추출할 수 있다. The feature point extracting unit 220 extracts feature points in consideration of a change amount of pixel values for each pixel in an image image generated using the spatial information. For example, the feature point extracting unit 220 selects an arbitrary pixel from an image image generated using spatial information, measures pixel values of pixels adjacent to the selected arbitrary pixel, and compares it with the arbitrary pixel. Feature points can be extracted by calculating the amount of change in pixel values.

또한, 본 발명의 특징점 추출부(220)가 이용하는 영상 이미지는 센서의 자세 정보, 3차원 공간을 나타내는 공간 정보들 및 공간 정보들을 측정하는 시간에 따라 달라질 수 있고, 따라서, 특징점 추출부(220)는 센서의 자세 정보, 3차원 공간을 나타내는 공간 정보들 및 공간 정보들을 측정하는 시간에 따라 서로 다른 특징점을 추출할 수 있다. 예를 들어, 특징점 추출부는 코너점(Coner Point)을 기반으로 FAST 특징점(keypoint), SIFT, SURF 알고리즘을 이용하여 특징점을 추출할 수 있고, 특징점을 추출함에 있어 Visual Descriptor BRIEF(Binary Robust Independent Elementary Feature)에 기반한 ORB(Oriented Fast and Rotated BRIEF) Detector를 사용할 수 있다. In addition, the image image used by the feature point extracting unit 220 of the present invention may vary depending on the time of measuring the posture information of the sensor, the spatial information representing the 3D space, and the spatial information, and thus, the feature point extracting unit 220 May extract different feature points according to the time of measuring the attitude information of the sensor, the spatial information representing the 3D space, and the spatial information. For example, the feature point extracting unit can extract a feature point using a FAST keypoint, SIFT, and SURF algorithm based on a corner point, and the Visual Descriptor Binary Robust Independent Elementary Feature (BRIEF) in extracting the feature point ) Based ORB (Oriented Fast and Rotated BRIEF) Detector can be used.

자세 정보 산출부(200)가 산출하는 센서의 자세 정보는 보정된 센서의 자세 정보를 포함하고, 보정된 자세 정보를 이용하여 격자 지도를 생성하기 위한 센서의 자세 정보를 산출할 수 있다. 자세 정보 산출부(200)는 상기 측정된 공간 정보들을 기초로 영상 기반 SLAM을 수행하여 상기 센서의 위치 및 방향에 관한 자세 정보를 산출할 수 있다. 예를 들어, 자세 정보 산출부(200)가 산출하는 센서의 자세 정보는 센서의 위치에 관한 제1 좌표 정보 및 센서의 방향에 관한 제2 좌표 정보를 포함할 수 있다. 자세 정보 산출부(300)가 산출하는 제1 좌표 정보는 3차원 직교 좌표계에서 센서의 위치를 나타내는 좌표로서 [x, y, z]로 표현될 수 있고, 제2 좌표 정보는 센서의 3차원 방향을 나타내는 사원수(Quaternion)로서 [q0, q1, q2, q3]= [q]로 표현할 수 있다. 여기에서 q0는 실수이고, q1, q2, q3은 복소 성분을 의미한다. The posture information of the sensor calculated by the posture information calculator 200 may include posture information of the corrected sensor, and may calculate posture information of the sensor for generating a grid map using the corrected posture information. The posture information calculating unit 200 may perform image-based SLAM based on the measured spatial information to calculate posture information regarding the position and direction of the sensor. For example, the attitude information of the sensor calculated by the attitude information calculating unit 200 may include first coordinate information about the position of the sensor and second coordinate information about the direction of the sensor. The first coordinate information calculated by the posture information calculating unit 300 may be expressed as [x, y, z] as coordinates indicating the position of the sensor in the three-dimensional orthogonal coordinate system, and the second coordinate information is the three-dimensional direction of the sensor. It can be expressed as [q0, q1, q2, q3] = [ q ] as the quaternion. Here, q0 is a real number, and q1, q2, and q3 mean complex components.

본 발명의 자세 정보 산출부(200)는 센서의 위치에서 출사되는 스윕라인이 스윕되는 경로에서 적어도 하나의 키프레임을 노드로 산출하고, 산출된 키프레임에서 추출되는 특징점과 현재 키프레임에서 추출되는 특징점과의 재투영 오차(Re-Projection Error)를 최소화 하여 센서의 자세 정보를 보정할 수 있다. 예를 들어, 자세 정보 산출부(200)가 사용하는 영상 기반 SLAM은 키프레임을 노드로 갖고 visual 특징점의 재투영 오차 (re-projection error)를 작게 만드는 그래프 최적화 SLAM (Graph-SLAM) 방식 또는 Rao-Blackwellized Particle Filter (RBPF)를 사용하는 Filtering SLAM을 사용할 수 있다. The posture information calculating unit 200 of the present invention calculates at least one key frame as a node in a path in which a sweep line emitted from a sensor is swept, and a feature point extracted from the calculated key frame and a current key frame The posture information of the sensor can be corrected by minimizing the re-projection error with the feature point. For example, the image-based SLAM used by the posture information calculating unit 200 has a keyframe as a node, and a graph-optimized SLAM (Graph-SLAM) method or Rao that makes a re-projection error of a visual feature point small. -Filtering SLAM using Blackwellized Particle Filter (RBPF) can be used.

지도 생성부(300)는 갱신주기 설정부(320), 범주화부(340), 격자셀 검색부(360), 점유도 갱신부(380) 및 통합부(390)를 포함한다. 예를 들어, 지도 생성부(300)는 상기 생성된 포인트 클라우드를 상기 센서의 자세 정보 및 상기 공간 정보를 이용하여 서로 다른 갱신주기에 따라 범주화하고, 상기 범주화된 포인트 클라우드의 상기 3차원 공간상에서의 좌표를 고려하여 생성된 격자셀의 점유도를 상기 서로 다른 갱신주기로 갱신하여 격자 지도를 생성한다. 예를 들어, 지도 생성부(300)는 포인트 클라우드 생성부(100)에서 생성된 포인트 클라우드와 자세 정보 산출부(200)에서 산출된 제1 좌표 정보 및 제2 좌표 정보를 기반으로 격자 지도를 생성한다. The map generation unit 300 includes an update period setting unit 320, a categorization unit 340, a grid cell search unit 360, an occupancy degree updating unit 380, and an integration unit 390. For example, the map generation unit 300 categorizes the generated point cloud according to different update cycles using the sensor's posture information and the spatial information, and the categorized point cloud in the three-dimensional space. The grid map is generated by updating the occupancy of the grid cells generated in consideration of the coordinates with the different update cycles. For example, the map generation unit 300 generates a grid map based on the first cloud information generated by the point cloud and the attitude information calculation unit 200 and the second coordinate information generated by the point cloud generation unit 100. do.

예를 들어, 지도 생성부(300)는 포인트 클라우드에 광선(ray)을 투사하는 ray-casting 기법을 이용하여 포인트 클라우드가 3차원 공간상에서 위치하는 좌표에 대응되는 격자셀을 검색하고, 상기 검색된 격자셀의 점유도를 갱신하여 격자 지도를 생성한다. 지도 생성부(300)가 생성하는 격자 지도는 3차원 공간상에서 체적을 가지는 복셀들의 집합으로서 복셀 지도를 포함함은 전술한 바와 같다.For example, the map generation unit 300 searches for a grid cell corresponding to coordinates in which the point cloud is located in 3D space using a ray-casting technique that projects a ray to the point cloud, and the searched grid Update the cell occupancy to generate a grid map. The grid map generated by the map generator 300 is a set of voxels having a volume in 3D space, and includes a voxel map as described above.

갱신주기 설정부(320)는 분류값 생성부(322)를 포함한다. 예를 들어, 갱신주기 설정부(320)는 상기 센서의 자세 정보 및 상기 공간 정보를 기초로 상기 격자셀의 점유도를 갱신하기 위하여 필요한 상기 포인트 클라우드에 포함된 적어도 일부 영역의 포인트들의 수에 관한 갱신주기를 거리 분류 함수로 설정한다. 갱신주기 설정부(320)에서 설정된 갱신주기를 이용함으로서, 지도 생성부(300)는 격자 지도 내의 격자셀의 점유도를 갱신하기 위하여 필요한 포인트 클라우드 내의 포인트 들의 수를 조절할 수 있기 때문에 빠르게 격자 지도를 생성할 수 있다.The update period setting unit 320 includes a classification value generation unit 322. For example, the update period setting unit 320 updates on the number of points in at least some areas included in the point cloud required to update the occupancy of the grid cell based on the posture information of the sensor and the spatial information. Set the period as a distance classification function. By using the update period set in the update period setting unit 320, the map generation unit 300 generates a grid map quickly because the number of points in the point cloud required to update the occupancy of grid cells in the grid map can be adjusted. can do.

예를 들어, 갱신주기 설정부(320)는 제1 좌표 정보, 제2 좌표 정보 및 상기 센서를 기준으로 측정되는 포인트 클라우드 내의 임의의 포인트까지의 깊이 정보를 바탕으로 센서를 기준으로 측정되는 임의의 포인트까지의 거리를 양자화하고, 양자화된 거리를 이용하여 갱신주기를 설정할 수 있다. For example, the update period setting unit 320 may be determined based on the sensor based on the first coordinate information, the second coordinate information, and depth information up to an arbitrary point in the point cloud measured based on the sensor. The distance to the point can be quantized, and an update period can be set using the quantized distance.

분류값 생성부(322)는 상기 제1 좌표 정보, 상기 제2 좌표 정보 및 상기 깊이 정보를 이용하여 상기 센서를 기준으로 측정되는 상기 포인트 클라우드 내 적어도 하나의 포인트까지의 거리를 양자화하여 거리 분류값을 생성한다.The classification value generation unit 322 quantizes a distance to at least one point in the point cloud measured based on the sensor using the first coordinate information, the second coordinate information, and the depth information to classify a distance. Produces

Figure 112017124117480-pat00003
Figure 112017124117480-pat00003

상기 수학식 2에서 pi는 포인트 클라우드 내의 i번째 임의의 포인트를 의미하고, di는 센서를 기준으로 임의의 포인트까지의 거리이며,

Figure 112017124117480-pat00004
는 거리 분류값, T는 행렬의 전치를 의미한다. 분류값 생성부(322)는 포인트 클라우드 내의 임의의 포인트에 센서로부터 측정되는 깊이(거리)에 따라 서로 다른
Figure 112017124117480-pat00005
거리 분류값을 할당한다. 거리 분류값은 구체적으로 하기의 수학식 3과 같이 표현된다.In Equation 2, p i refers to an i-th random point in the point cloud, d i is a distance to an arbitrary point based on the sensor,
Figure 112017124117480-pat00004
Is the distance classification, and T is the transpose of the matrix. The classification value generation unit 322 is different depending on the depth (distance) measured from the sensor at any point in the point cloud.
Figure 112017124117480-pat00005
Assign a distance classification value. The distance classification value is specifically expressed by Equation 3 below.

Figure 112017124117480-pat00006
Figure 112017124117480-pat00006

여기에서 T는 갱신 주기,

Figure 112017124117480-pat00007
는 임의의 포인트 pi를 입력으로 하는 거리 분류 함수,
Figure 112017124117480-pat00008
는 센서에서 측정되는 임의의 포인트까지의 깊이(거리)를 입력으로 하는 스텝함수를 이용하여 표현된 거리 분류값을 의미한다. 예를 들어, 분류값 생성부(322)는 스텝 함수를 이용하여 임의의 포인트까지의 거리를 양자화하여 거리 분류 값을 생성할 수 있고, 갱신 주기 설정부(320)는 임의 포인트와 관련된 센서의 자세 정보 및 공간 정보 중 적어도 하나를 입력으로 하고, 스텝 함수를 통하여 생성된 거리 분류값을 출력으로 하는 거리 분류 함수를 이용하여 갱신주기를 설정할 수 있다. 상기 거리 분류 함수의 입력으로 표기된 pi는 임의의 i번째 포인트를 나타내거나, i번째 포인트와 관련된 센서의 자세 정보 및 공간 정보를 나타낼 수 있다.Where T is the update cycle,
Figure 112017124117480-pat00007
Is a distance classification function with an arbitrary point p i as input.
Figure 112017124117480-pat00008
Means a distance classification value expressed using a step function that takes as input the depth (distance) to an arbitrary point measured by the sensor. For example, the classification value generation unit 322 may quantize a distance to an arbitrary point using a step function to generate a distance classification value, and the update period setting unit 320 may posture the sensor associated with the arbitrary point An update period may be set using a distance classification function that takes at least one of information and spatial information as an input and outputs a distance classification value generated through a step function. P i indicated as the input of the distance classification function may indicate an arbitrary i-th point or posture information and spatial information of a sensor associated with the i-th point.

범주화부(340)는 필터링부(342)를 포함한다. 예를 들어, 범주화부(340)는 상기 서로 다른 갱신주기를 이용하여 상기 생성된 포인트 클라우드를 적어도 하나의 그룹으로 범주화한다. 예를 들어, 범주화부(340)는 갱신주기 설정부(320)에서 서로 다르게 설정된 갱신주기를 이용하여 포인트 클라우드 생성부(100)에서 생성된 포인트 클라우드를 적어도 하나의 그룹으로 범주화 한다. 본 발명에서 갱신주기는 격자셀의 점유도를 갱신하기 위하여 필요한 포인트 클라우드에 포함된 적어도 일부 영역의 포인트들의 수에 관한 수치로서 포인트 인텐시티(Intensity)나 포인트 밀도로 표현될 수 있다. 예를 들어, 범주화부(340)가 포인트 클라우드를 적어도 하나의 그룹으로 범주화하고, 상기 범주화된 포인트 클라우드는 대응되는 3차원 공간상의 위치의 격자셀의 점유도를 갱신시에 그룹별로 사용될 수 있다. The categorization unit 340 includes a filtering unit 342. For example, the categorization unit 340 categorizes the generated point cloud into at least one group using the different update cycles. For example, the categorization unit 340 categorizes the point clouds generated by the point cloud generation unit 100 into at least one group by using different update cycles set by the update cycle setting unit 320. In the present invention, the update period is a number related to the number of points in at least some regions included in the point cloud required to update the occupancy of the grid cells, and may be expressed by point intensity or point density. For example, the categorization unit 340 categorizes the point clouds into at least one group, and the categorized point clouds can be used for each group when updating the occupancy of grid cells at positions in a corresponding three-dimensional space.

필터링부(342)는 상기 범주화된 포인트 클라우드의 그룹별 서로 다른 갱신 주기를 이용하여 상기 범주화된 포인트 클라우드의 적어도 일부 영역의 포인트들을 필터링한다. 예를 들어, 필터링부(342)는 일반적으로 센서위치를 기준으로 포인트 클라우드의 성김 정도(Sparsity)가 다르다는 점을 고려하여, 갱신주기 설정부(320)에서 거리 분류값을 이용하여 서로 다르게 설정된 갱신주기에 따라 범주화된 포인트 클라우드 내의 적어도 일부 영역의 포인트들을 필터링한다. 격자 지도 생성 장치(10)는 포인트 클라우드 내의 적어도 일부 영역의 포인트들이 제거되어도, 거리 분류값을 고려하여 설정된 갱신주기에 따라 필터링을 하므로, 생성되는 격자 지도의 품질의 감소 없는 격자 지도를 생성할 수 있다.The filtering unit 342 filters points in at least some areas of the categorized point cloud using different update periods for each group of the categorized point cloud. For example, in consideration of the fact that the sparity of the point cloud is different based on the sensor location, the filtering unit 342 generally updates differently set using the distance classification value in the update period setting unit 320. Filter points of at least some areas in the point cloud categorized according to the period. The grid map generating apparatus 10 can filter a grid according to an update cycle set in consideration of a distance classification value even if points in at least some areas in the point cloud are removed, so that a grid map without reducing the quality of the generated grid map can be generated. have.

격자셀 검색부(360)는 상기 제1 좌표 정보 및 제2 좌표 정보에 따라 지향되는 스윕 라인을 이용하여 상기 범주화된 포인트 클라우드의 3차원 공간상에서의 좌표에 대응하는 격자셀을 검색한다. 예를 들어, 격자셀 검색부(360)가 사용하는 스윕 라인은 ray-casting 기법에서 사용되는 추적 광선으로서, 포인트 클라우드가 3차원 공간상에서 위치하는 좌표와 동일한 좌표에 생성되는 격자셀을 검색한다.The grid cell search unit 360 searches for grid cells corresponding to coordinates in the three-dimensional space of the categorized point cloud by using sweep lines directed according to the first coordinate information and the second coordinate information. For example, the sweep line used by the grid cell search unit 360 is a tracking ray used in the ray-casting technique, and searches for grid cells generated at the same coordinates as the point cloud is located in the 3D space.

점유도 갱신부(380)는 상기 스윕 라인에 스윕되는 상기 범주화된 포인트 클라우드 내 포인트들의 점유 강도를 이용하여 상기 격자셀의 점유도를 계산하고, 상기 계산된 점유도의 로그 대수의 증감에 따라 상기 격자셀의 점유도를 갱신한다.The occupancy update unit 380 calculates the occupancy of the grid cell by using the occupancy strength of points in the categorized point cloud swept on the sweep line, and the grid cell according to the increase or decrease of the logarithm of the calculated occupancy. Update the occupancy of.

Figure 112017124117480-pat00009
Figure 112017124117480-pat00009

여기에서 m은 격자셀의 점유 확률(Occupancy Probability) m1~mN은 1~N번째 격자셀의 점유 확률, T는 행렬의 전치를 의미한다. 상기 수학식 4에서 각 격자셀의 점유 확률은 0, 1로 표준화 될 수 있다. 점유 확률을 통한 점유도는 다음과 같이 표현될 수 있다.Here, m is the occupancy probability of the grid cells (Occupancy Probability) m 1 ~ m N is the occupancy probability of the 1 ~ N-th grid cell, T is the transpose of the matrix. In Equation 4, the probability of occupying each grid cell can be normalized to 0 and 1. Occupancy through occupancy probability can be expressed as follows.

Figure 112017124117480-pat00010
Figure 112017124117480-pat00010

여기에서

Figure 112017124117480-pat00011
는 시간 t에서 i번째 격자 셀의 로그 대수로 표현된 점유도를 의미하고,
Figure 112017124117480-pat00012
는 i번째 격자셀이 점유되었을 확률,
Figure 112017124117480-pat00013
는 i번째 격자셀이 점유되지 않았을 확률을 의미한다. mi는 i번째 격자셀의 점유 확률을 의미하고, z1:t는 시간 t에서 센서에서 측정한 i번 포인트의 거리 및 각도, x1:t는 시간 t에서 측정된 센서의 제1 좌표 정보 및 제2 좌표 정보를 나타낸다. 점유도 갱신부(380)는 격자셀의 점유 확률을 점유도로 변환하고, 변환된 점유도를 증감하여 격자셀의 점유도를 갱신한다. 점유도 갱신부(380)가 격자셀의 점유도와 점유 확률을 변환하는 방법은 다음과 같다.From here
Figure 112017124117480-pat00011
Is the occupancy represented by the logarithmic log of the i-th grid cell at time t,
Figure 112017124117480-pat00012
Is the probability that the i-th grid cell is occupied,
Figure 112017124117480-pat00013
Is the probability that the i-th grid cell is not occupied. mi is the probability of occupancy of the i-th grid cell, z1: t is the distance and angle of point i measured by the sensor at time t, and x1: t is the first coordinate information and second of the sensor measured at time t. Indicates coordinate information. The occupancy update unit 380 converts the occupancy probability of the grid cells to occupancy, and increases or decreases the converted occupancy to update the occupancy of the grid cells. A method for the occupancy update unit 380 to convert the occupancy and occupancy probability of the grid cell is as follows.

Figure 112017124117480-pat00014
Figure 112017124117480-pat00014

여기에서, li,j,k는 (I,j,k)의 좌표를 갖는 격자셀의 로그 대수로 표현된 점유도, mi,j,k는 (I,j,k)의 좌표를 갖는 격자셀의 점유 확률을 나타낸다. 점유도 갱신부(380)는 상기 수학식 6을 이용하여 격자셀의 점유 확률을 로그 대수로 표현된 점유도로 변환할 수 있다.Here, l i, j, k is the occupancy represented by the logarithmic logarithm of the grid cell having the coordinates of (I, j, k), m i, j, k is the coordinates of (I, j, k) Indicates the probability of occupancy of the grid cells. The occupancy update unit 380 may convert the occupancy probability of the grid cells to the occupancy expressed in logarithms using Equation (6).

Figure 112017124117480-pat00015
Figure 112017124117480-pat00015

여기에서, li,j,k 는 (I,j,k)의 좌표를 갖는 격자셀의 로그 대수로 표현된 점유도, mi,j,k는 (I,j,k)의 좌표를 갖는 격자셀의 점유 확률을 나타낸다. 점유도 갱신부(380)는 상기 수학식 7을 이용하여 격자셀의 갱신된 점유도를 해당 격자셀의 점유 확률로 변환할 수 있다. Here, l i, j, k is the occupancy represented by the logarithmic logarithm of the grid cell having the coordinates of (I, j, k), m i, j, k is the coordinates of (I, j, k) Indicates the probability of occupancy of the grid cells. The occupancy update unit 380 may convert the updated occupancy of a grid cell into the occupancy probability of the corresponding grid cell by using Equation (7).

예를 들어, 본 발명에서 점유도 갱신부(380)가 사용하는 격자셀의 점유 확률은 해당 격자셀의 점유 강도로 마련될 수 있고, 점유 확률 및 점유 강도는 해당 격자셀의 3차원 공간상의 좌표에서 얼마나 많은 포인트 클라우드 내 포인트 들이 스윕 라인에 스윕되는지 여부를 의미할 수 있다. 점유도 갱신부(380)는 센서의 위치로부터 출사되는 스윕라인에 스윕되는 포인트 클라우드 내의 포인트가 존재하는 경우, 하기의 수학식 8을 이용하여 스윕된 포인트의 3차원 공간상에서의 좌표에 대응되는 격자셀의 점유도를 갱신한다.For example, in the present invention, the occupancy probability of the grid cell used by the occupancy update unit 380 may be provided as the occupancy strength of the grid cell, and the occupancy probability and occupancy strength are coordinates in the 3D space of the grid cell. In can mean how many points in the point cloud are swept on the sweep line. The occupancy update unit 380 is a grid corresponding to the coordinates in the three-dimensional space of the swept point using Equation 8 below when there is a point in the point cloud that is swept in the sweep line emitted from the position of the sensor. Update the cell occupancy.

Figure 112017124117480-pat00016
Figure 112017124117480-pat00016

여기에서, li,j,k는 (i,j,k)의 좌표를 갖는 격자셀의 로그 대수로 표현된 점유도, mi,j,k는 (i,j,k)의 좌표를 갖는 격자셀의 점유 확률,

Figure 112017124117480-pat00017
러닝 레이트(learning rate)로 실험적으로 결정되는 가중치이다. 점유도 갱신부(380)는 센서의 위치로부터 출사되는 스윕라인에 스윕되는 포인트 클라우드 내의 포인트가 존재하지 않는 경우 하기의 수학식 9을 이용하여 스윕된 포인트의 3차원 공간상에서의 좌표에 대응되는 격자셀의 점유도를 갱신한다.Here, l i, j, k is the occupancy represented by the logarithmic logarithm of the grid cell with the coordinates of (i, j, k), m i, j, k is the coordinates of (i, j, k) Occupancy probability of grid cells,
Figure 112017124117480-pat00017
It is a weight that is experimentally determined by the learning rate. The occupancy update unit 380 is a grid corresponding to the coordinates in the three-dimensional space of the swept point using Equation 9 below when there is no point in the point cloud that is swept in the sweep line emitted from the position of the sensor. Update the cell occupancy.

Figure 112017124117480-pat00018
Figure 112017124117480-pat00018

여기에서, li,j,k는 (I,j,k)의 좌표를 갖는 격자셀의 로그 대수로 표현된 점유도, mi,j,k는 (I,j,k)의 좌표를 갖는 격자셀의 점유 확률,

Figure 112017124117480-pat00019
는 러닝 레이트(learning rate)로 실험적으로 결정되는 가중치이다. 점유도 갱신부(380)는 러닝 레이트를 결정하여 점유도 갱신 과정의 민감도(Sensitivity)를 조절할 수 있다. 예를 들어, 점유도 갱신부(380)가 러닝 레이트의 값을 높게 결정하는 경우, 적은 양의 포인트 클라우드 내의 포인트에도 민감하게 반응하여 해당 격자셀 내 점유도를 빠르게 갱신할 수 있다. 본 발명의 일 실시 예에 따른 격자셀의 점유도 갱신 과정을 설명하면, 점유도 갱신부(380)는 스윕라인에 스윕되는 포인트 클라우드 내의 포인트가 발견되면 해당 포인트의 3차원 공간상의 좌표에 대응되는 격자셀의 점유확률을 계산하고, 계산된 점유확률을 로그대수를 이용하여 점유도로 변환하고, 상기 수학식 8 또는 9를 이용하여 해당 격자셀의 점유도를 갱신하고, 상기 갱신된 점유도를 다시 수학식 7을 이용하여 점유 확률로 변환하여 해당 격자셀에 점유 확률을 저장할 수 있다.Here, l i, j, k is the occupancy represented by the logarithmic logarithm of the grid cell having the coordinates of (I, j, k), m i, j, k is the coordinates of (I, j, k) Occupancy probability of grid cells,
Figure 112017124117480-pat00019
Is a weight determined experimentally as a learning rate. The occupancy update unit 380 may determine the running rate to adjust the sensitivity of the occupancy update process. For example, when the occupancy update unit 380 determines a high value of the running rate, the occupancy in the grid cell can be quickly updated by sensitively responding to points in a small amount of point clouds. When explaining the process of updating the occupancy of a grid cell according to an embodiment of the present invention, the occupancy update unit 380 corresponds to the coordinates in the 3D space of the point when a point in the point cloud that is swept in the sweep line is found. Calculate the occupancy probability of the grid cell, convert the calculated occupancy probability to occupancy using logarithmic log, update the occupancy of the grid cell using Equation 8 or 9, and re-express the updated occupancy The occupancy probability can be stored in the corresponding grid cell by converting to the occupancy probability using 7.

통합부(390)는 상기 점유도가 갱신된 격자셀에 상기 제1 좌표 정보, 제2 좌표 정보 및 상기 깊이 정보를 고려하여 서로 다른 가중치를 설정하여 통합한다. 예를 들어, 통합부(390)는 점유도 갱신부(380)가 격자셀의 점유도를 갱신한 후에는 센서의 자세 정보 및 공간 정보에 따라 서로 다른 가중치를 설정하여 갱신된 격자셀을 통합할 수 있다.The integration unit 390 sets and integrates different weights in consideration of the first coordinate information, the second coordinate information, and the depth information in the grid cell in which the occupancy is updated. For example, after the occupancy update unit 380 updates the occupancy of the grid cells, the integration unit 390 may integrate the updated grid cells by setting different weights according to the attitude information and spatial information of the sensor. have.

도 2는 도 1의 실시 예에서 지도 생성부(300)의 확대 블록도이다.2 is an enlarged block diagram of the map generation unit 300 in the embodiment of FIG. 1.

지도 생성부(300)는 갱신주기 설정부(320), 범주화부(340), 격자셀 검색부(360), 점유도 갱신부(380) 및 통합부(390)를 포함한다. 예를 들어, 지도 생성부(300)는 상기 생성된 포인트 클라우드를 상기 센서의 자세 정보 및 상기 공간 정보를 이용하여 서로 다른 갱신주기에 따라 범주화하고, 상기 범주화된 포인트 클라우드의 상기 3차원 공간상에서의 좌표를 고려하여 생성된 격자셀의 점유도를 상기 서로 다른 갱신주기로 갱신하여 격자 지도를 생성한다.The map generation unit 300 includes an update period setting unit 320, a categorization unit 340, a grid cell search unit 360, an occupancy degree updating unit 380, and an integration unit 390. For example, the map generation unit 300 categorizes the generated point cloud according to different update cycles using the sensor's posture information and the spatial information, and the categorized point cloud in the three-dimensional space. The grid map is generated by updating the occupancy of the grid cells generated in consideration of the coordinates with the different update cycles.

본 발명에서 지도 생성부(300)는 센서가 공간 정보를 측정하는 시간 및 센서의 자세 정보를 산출하는 시간에 따라 서로 다른 격자 지도를 생성할 수 있고, 상기 공간 정보를 측정하는 시간 및 자세 정보를 산출하는 시간에 따라 서로 다르게 생성된 격자 지도를 통합하여 시간 정보가 반영된 3차원 격자 지도를 생성할 수 있다. 예를 들어, 갱신 주기 설정부(320)는 거리 분류 함수를 이용하여 제1 좌표 정보, 제2 좌표 정보 및 공간정보에 포함된 깊이 정보로 특정되는 임의의 포인트의 양자화된 거리에 따른 거리 분류값을 생성하고, 생성된 거리 분류값을 이용하여 갱신주기를 설정할 수 있다. 갱신 주기 설정부(320)가 갱신주기를 설정하는 구체적인 방법은 전술한 바와 같으므로 생략한다. In the present invention, the map generating unit 300 may generate different grid maps according to the time when the sensor measures spatial information and the sensor calculates the attitude information, and generates time and attitude information for measuring the spatial information. The 3D grid maps reflecting time information may be generated by integrating the grid maps generated differently according to the calculated time. For example, the update period setting unit 320 uses the distance classification function to classify the distance according to the quantized distance of any point specified by the depth information included in the first coordinate information, the second coordinate information, and the spatial information. You can create, and set the update cycle using the generated distance classification value. The specific method for the update period setting unit 320 to set the update period is the same as described above, and thus is omitted.

범주화부(340)는 상기 서로 다른 갱신주기를 이용하여 상기 생성된 포인트 클라우드를 적어도 하나의 그룹으로 범주화한다. 범주화부(340)는 생성된 포인트 클라우드를 갱신주기를 이용하여 범주화하고, 점유도 갱신부(380)는 같은 갱신주기로 범주화된 포인트 클라우드의 그룹의 3차원 공간상의 좌표에 대응되는 격자셀을 갱신함에 있어서 이용하는 포인트의 수는 동일하게 마련될 수 있다. 격자셀 검색부(360)는 상기 제1 좌표 정보 및 제2 좌표 정보에 따라 지향되는 스윕 라인을 이용하여 상기 범주화된 포인트 클라우드의 3차원 공간상에서의 좌표에 대응하는 격자셀을 검색한다. 격자셀 검색부(360)가 격자셀을 검색하기 위한 스윕라인에 대한 구성은 전술한 바와 같으므로 생략한다.The categorization unit 340 categorizes the generated point cloud into at least one group using the different update cycles. The categorization unit 340 categorizes the generated point cloud using an update cycle, and the occupancy update unit 380 updates grid cells corresponding to coordinates in the three-dimensional space of the group of point clouds categorized by the same update cycle. Therefore, the number of points to be used may be provided in the same way. The grid cell search unit 360 searches for grid cells corresponding to coordinates in the three-dimensional space of the categorized point cloud by using sweep lines directed according to the first coordinate information and the second coordinate information. The configuration of the sweep line for the grid cell search unit 360 to search for the grid cells is the same as described above, and thus is omitted.

점유도 갱신부(380)는 생성된 포인트 클라우드의 공간상 좌표에 대응되는 격자셀을 서로 다른 갱신주기로 갱신하여 격자 지도를 생성한다. 점유도 갱신부(380)가 격자셀의 점유도를 갱신하는 과정은 전술한 바와 같으므로 생략한다. 점유도 갱신부(380)가 갱신한 격자셀의 점유도는 0~1사이로 평준화 될 수 있다. 통합부(390)는 점유도가 갱신된 격자셀에 상기 제1 좌표 정보, 제2 좌표 정보 및 상기 깊이 정보를 고려하여 서로 다른 가중치를 설정하여 통합한다.The occupancy update unit 380 generates grid maps by updating grid cells corresponding to the spatial coordinates of the generated point cloud with different update cycles. The process of updating the occupancy of the grid cell by the occupancy update unit 380 is the same as described above, and thus is omitted. The occupancy of the grid cells updated by the occupancy update unit 380 may be leveled between 0 and 1. The integration unit 390 sets and integrates different weights in consideration of the first coordinate information, the second coordinate information, and the depth information in a grid cell having an updated occupancy.

예를 들어, 격자 지도 생성 장치(10)는 시간 t1에서 특정 센서의 위치에 따라 3차원 공간을 측정하여 격자 지도(grid map1)를 생성하고, 시간 t2에서 시간 t1의 센서의 위치와 다른 좌표에 위치하는 센서를 이용하여 3차원 공간을 측정하여 생성한 격자 지도(grid map2)를 합하여 보다 정확한 격자 지도를 생성할 수 있다. For example, the grid map generating device 10 measures a three-dimensional space according to the position of a specific sensor at time t1 to generate a grid map1, and at time t2 to a different coordinate from the position of the sensor at time t1. A more accurate grid map can be generated by adding grid map 2 generated by measuring a 3D space using a positioned sensor.

도 3은 도 2의 실시 예에서 갱신 주기 설정부(320)의 확대 블록도이다.3 is an enlarged block diagram of the update period setting unit 320 in the embodiment of FIG. 2.

갱신주기 설정부(320)는 분류값 생성부(322)를 포함한다. 분류값 생성부(322)는 상기 제1 좌표 정보, 상기 제2 좌표 정보 및 상기 깊이 정보를 이용하여 상기 센서를 기준으로 측정되는 상기 포인트 클라우드 내 적어도 하나의 포인트까지의 거리를 스텝 함수로 양자화하여 거리 분류값을 생성한다. 분류값 생성부(322)가 거리 분류값을 생성하기 위하여 이용하는 거리 분류 함수 및 스텝 함수의 구성은 전술한 바와 같으므로 생략한다.The update period setting unit 320 includes a classification value generation unit 322. The classification value generation unit 322 quantizes a distance to at least one point in the point cloud measured based on the sensor using the first coordinate information, the second coordinate information, and the depth information by a step function Create distance classification values. The configuration of the distance classification function and the step function used by the classification value generation unit 322 to generate the distance classification value is omitted as described above.

도 4는 도 2의 실시 예에서 범주화부(340)의 확대 블록도이다.4 is an enlarged block diagram of the categorization unit 340 in the embodiment of FIG. 2.

범주화부(340)는 필터링부(342)를 포함한다. 필터링부(342)는 상기 범주화된 포인트 클라우드의 그룹별 서로 다른 갱신 주기를 이용하여 상기 범주화된 포인트 클라우드의 적어도 일부 영역의 포인트들을 필터링한다. 본 발명에서 갱신 주기는 포인트 인텐시티(intensity), 밀도(density)에 대응되는 개념으로, 격자셀의 점유도를 갱신하기 위해 필요한 포인트 클라우드 내의 포인트의 수를 의미할 수 있다. The categorization unit 340 includes a filtering unit 342. The filtering unit 342 filters points in at least some areas of the categorized point cloud using different update periods for each group of the categorized point cloud. In the present invention, the update period is a concept corresponding to point intensity and density, and may mean the number of points in the point cloud required to update the occupancy of grid cells.

본 발명의 격자 지도 생성 장치(10)를 이용하는 경우 종래의 격자 지도 생성 기술보다 효과적으로 격자 지도를 생성할 수 있다. 일 실시 예에 따른 격자 지도 생성 결과, 동일한 조건하에서 서로 다른 갱신주기에 따라 포인트 클라우드를 범주화 하지 않고 격자 지도를 생성하는 경우 격자 지도를 생성하는데 0.32초의 시간이 소요되었으나, 서로 다른 갱신주기를 설정하여 포인트 클라우드를 범주화하고, 상기 범주화된 포인트 클라우드를 서로 다른 갱신 주기로 이용하여 격자셀의 점유도를 갱신하는 경우 격자 지도를 생성하는데 0.21초의 시간이 소요될 수 있다.When the grid map generating apparatus 10 of the present invention is used, a grid map can be generated more effectively than a conventional grid map generating technique. As a result of generating a grid map according to an embodiment, when generating a grid map without categorizing point clouds according to different update cycles under the same conditions, it took 0.32 seconds to generate the grid map, but by setting different update cycles When the point cloud is categorized and the occupancy of the grid cells is updated using the categorized point cloud with different update cycles, it may take 0.21 seconds to generate the grid map.

도 5는 본 발명의 일 실시예에 격자 지도 생성 방법의 흐름도이다.5 is a flowchart of a grid map generating method according to an embodiment of the present invention.

본 발명의 격자 지도 생성 방법은 격자 지도 생성 장치에서 시계열적으로 수행되는 하기의 단계들을 포함한다. The method of generating a grid map of the present invention includes the following steps performed in time series in a grid map generating apparatus.

S100에서, 포인트 클라우드 생성부(100)는 적어도 하나의 물체들을 포함하는 3차원 공간을 나타내는 공간 정보들을 측정하는 센서를 이용하여 상기 센서의 자세 정보에 따라 서로 다른 포인트 클라우드를 생성한다. 예를 들어, 포인트 클라우드 생성부(100)가 생성된 포인트 클라우드는 색상 및 거리 정보를 가지는 점 군(Point Group)으로서 3차원 공간으로 구성될 수 있다. 포인트 클라우드 생성부(100)가 RGB 영상 및 깊이 영상을 이용하여 포인트 클라우드를 생성하는 구체적인 방법은 전술한 바와 같다.In S100, the point cloud generation unit 100 generates different point clouds according to the attitude information of the sensor by using a sensor that measures spatial information representing a 3D space including at least one object. For example, the point cloud generated by the point cloud generating unit 100 may be configured as a three-dimensional space as a point group having color and distance information. The specific method for the point cloud generation unit 100 to generate the point cloud using the RGB image and the depth image is as described above.

S200에서, 자세 정보 산출부(200)는 측정된 공간 정보들을 기초로 영상 기반 SLAM을 수행하여 상기 센서의 위치 및 방향에 관한 자세 정보를 산출한다. 예를 들어, 자세 정보 산출부(200)는 센서로부터 입력된 RGB 영상에서 비주얼 특징점을 추출하고, 3D SLAM을 이용하여 센서의 자세 정보로서 6자유도 자세를 산출할 수 있다. 자세 정보 산출부(200)가 센서의 자세 정보를 산출하는 구체적인 방법은 전술한 바와 같으므로 생략한다.In S200, the posture information calculating unit 200 performs image-based SLAM based on the measured spatial information to calculate posture information regarding the position and direction of the sensor. For example, the posture information calculating unit 200 may extract a visual feature point from the RGB image input from the sensor, and calculate 6 degree of freedom posture as posture information of the sensor using 3D SLAM. The detailed method of calculating the attitude information of the sensor by the attitude information calculating unit 200 is the same as described above, and thus is omitted.

S300에서, 지도 생성부(300)는 생성된 포인트 클라우드를 상기 센서의 자세 정보 및 상기 공간 정보를 이용하여 서로 다른 갱신주기에 따라 범주화하고, 상기 범주화된 포인트 클라우드의 상기 3차원 공간상에서의 좌표를 고려하여 생성된 격자셀의 점유도를 상기 서로 다른 갱신주기로 갱신하여 격자 지도를 생성한다. 지도 생성부(300)는 센서가 3차원 공간을 측정하는 시간에 따라 서로 다른 격자 지도를 생성할 수 있고, 동일한 3차원 공간을 서로 다른 시간에 측정하여 생성된 격자 지도를 통합하여 새로운 격자 지도를 생성할 수 있음은 전술한 바와 같으므로 생략한다.In S300, the map generation unit 300 categorizes the generated point cloud according to different update cycles using the sensor's posture information and the spatial information, and coordinates the categorized point cloud in the three-dimensional space. The grid map is generated by updating the occupancy of the grid cells generated in consideration with the different update cycles. The map generator 300 may generate different grid maps according to the time at which the sensor measures the 3D space, and integrates the grid maps generated by measuring the same 3D space at different times to create a new grid map. It can be generated is omitted as described above.

도 6은 도 5의 실시 예에서 격자 지도를 생성하는 단계의 확대 흐름도이다.FIG. 6 is an enlarged flow chart of the step of generating a grid map in the embodiment of FIG. 5.

S320에서, 갱신주기 설정부(320)는 상기 센서의 자세 정보 및 상기 공간 정보에 포함된 깊이 정보를 기초로 상기 격자셀의 점유도를 갱신하기 위하여 필요한 상기 포인트 클라우드에 포함된 적어도 일부 영역의 포인트들의 수에 관한 갱신주기를 거리 분류 함수로 설정한다. 갱신주기 설정부(320)가 갱신주기를 설정하는 구체적인 방법은 전술한 바와 같으므로 생략한다. S340에서, 범주화부(340)는 서로 다른 갱신주기를 이용하여 상기 생성된 포인트 클라우드를 적어도 하나의 그룹으로 범주화한다. 범주화부(340)가 포인트 클라우드를 범주화하기 위하여 이용하는 갱신주기는 포인트 클라우드 내의 포인트가 센서로부터 떨어진 거리를 기준으로 설정될 수 있고, 따라서 범주화부(340)가 범주화하는 포인트 클라우드 내 적어도 하나의 그룹은 센서를 기준으로 방사상으로 배치될 수 있다.In S320, the update period setting unit 320 based on the posture information of the sensor and the depth information included in the spatial information, points of at least some areas included in the point cloud required to update the occupancy of the grid cell The update cycle for numbers is set as a distance classification function. The detailed method of setting the update period by the update period setting unit 320 is the same as described above, and thus is omitted. In S340, the categorization unit 340 categorizes the generated point cloud into at least one group using different update cycles. The update period used by the categorization unit 340 to categorize the point cloud may be set based on the distance from the sensor to the point in the point cloud, so that at least one group in the point cloud categorized by the categorization unit 340 is categorized. It can be arranged radially relative to the sensor.

S360에서, 격자셀 검색부(360)는 상기 제1 좌표 정보 및 제2 좌표 정보에 따라 지향되는 스윕 라인을 이용하여 상기 범주화된 포인트 클라우드의 3차원 공간상에서의 좌표에 대응하는 격자셀을 검색한다. 포인트 클라우드 생성부(100)에서 생성되는 포인트 클라우드는 시간에 따라 서로 다르게 생성될 수 있고, 생성된 포인트 클라우드의 3차원 공간상 좌표에 대응되게 검색되는 격자셀 역시 다르게 마련될 수 있다.In S360, the grid cell search unit 360 searches for grid cells corresponding to coordinates in the three-dimensional space of the categorized point cloud using sweep lines directed according to the first coordinate information and the second coordinate information. . The point cloud generated by the point cloud generation unit 100 may be generated differently with time, and grid cells searched corresponding to coordinates in the three-dimensional space of the generated point cloud may also be provided differently.

S380에서, 점유도 갱신부(380)는 점유도 갱신부(380)는 상기 스윕 라인에 스윕되는 상기 범주화된 포인트 클라우드 내 포인트들의 점유 강도를 이용하여 상기 격자셀의 점유도를 계산하고, 상기 계산된 점유도의 로그 대수의 증감에 따라 상기 격자셀의 점유도를 갱신한다. 점유도 갱신부(380)가 점유도를 갱신하는 구체적인 방법은 전술한 바와 같으므로 생략한다.In S380, the occupancy update unit 380 calculates the occupancy of the grid cell by using the occupancy strength of the points in the categorized point cloud swept in the sweep line, and the calculated occupancy update unit 380 is calculated. The occupancy of the grid cell is updated according to the increase or decrease of the logarithm of the occupancy. The specific method for the occupancy update unit 380 to update the occupancy is the same as described above, and thus is omitted.

도 7은 본 발명의 또 다른 실시 예에 따른 격자 지도 생성 방법의 흐름도이다.7 is a flowchart of a method for generating a grid map according to another embodiment of the present invention.

S900에서, 격자 지도 생성 장치(10)는 전술한 키넥트와 같은 센서 장치를 이용하여 3차원 공간의 RGB 영상 및 깊이 영상을 입력 받는다. S920에서, 특징점 추출부와 자세 정보 산출부(200)는 RGB 영상에서 특징점을 추출하고, 3D SLAM을 이용하여 센서의 6자유도 자세를 산출한다. S940에서, 포인트 클라우드 생성부(100)는 RGB 영상 및 깊이 영상을 이용하여 포인트 클라우드를 생성한다. S960에서 지도 생성부(300)는 DDU(Distance Dependent Update) 기반 복셀 지도를 갱신하여 복셀 지도를 생성한다. S980에서 격자 지도 생성 장치(10)는 생성된 복셀 지도를 이용하여 3D 환경 지도를 출력한다.In S900, the grid map generating device 10 receives an RGB image and a depth image in a 3D space by using a sensor device such as Kinect described above. In S920, the feature point extracting unit and the attitude information calculating unit 200 extracts the feature points from the RGB image, and calculates the 6 degree of freedom of the sensor using 3D SLAM. In S940, the point cloud generator 100 generates a point cloud using an RGB image and a depth image. In S960, the map generation unit 300 updates the DDU (Distance Dependent Update) -based voxel map to generate a voxel map. In S980, the grid map generating device 10 outputs a 3D environment map using the generated voxel map.

도 8은 도 7의 실시 예에서 DDU(Distance Dependent Update) 기반 복셀지도 갱신 및 생성하는 단계의 확대 흐름도이다.8 is an enlarged flow diagram of steps of updating and generating a DDU (Distance Dependent Update) based voxel map in the embodiment of FIG. 7.

S962에서, 갱신주기 설정부(320)는 거리 분류 함수 및 스텝 함수를 이용하여 갱신 주기를 설정한다. 예를 들어, 갱신주기 설정부(320)가 거리 분류 함수 및 스텝 함수를 이용하여 센서에서 측정되는 포인트 클라우드 내 포인트까지의 거리를 양자화하여 거리 분류값을 생성하고, 생성된 거리 분류값에 따라 서로 다른 갱신주기를 설정하는 구성은 전술한 바와 같으므로 생략한다.In S962, the update period setting unit 320 sets the update period using a distance classification function and a step function. For example, the update period setting unit 320 quantizes a distance from a sensor to a point in a point cloud measured by a sensor using a distance classification function and a step function to generate distance classification values, and according to the generated distance classification values The configuration for setting another update cycle is the same as described above, and thus is omitted.

S964에서, 격자셀 검색부(360)는 Ray-Tracing을 통해 포인트가 hit 되는 복셀을 검색한다. 본 발명에서 격자셀은 3차원 공간에서 체적 요소를 가지는 단위 격자로서 복셀을 포함하고, 격자 지도 생성 장치(10)가 생성하는 격자 지도는 복셀 지도로 마련될 수 있다. S966에서, 점유도 갱신부(380)는 3차원 복셀 점유도를 갱신한다. 점유도 갱신부(380)가 점유도를 갱신하는 구체적인 방법은 전술한 바와 같으므로 생략한다. In S964, the grid cell search unit 360 searches for voxels whose points are hit through ray-tracing. In the present invention, the grid cell includes a voxel as a unit grid having a volume element in a 3D space, and the grid map generated by the grid map generating device 10 may be provided as a voxel map. In S966, the occupancy degree updating unit 380 updates the occupancy degree of the 3D voxel. The specific method for the occupancy update unit 380 to update the occupancy is the same as described above, and thus is omitted.

도 9는 본 발명의 3차원 공간을 측정하는 센서에서 측정된 RGB 영상을 나타내는 예시도이다.9 is an exemplary view showing an RGB image measured by a sensor for measuring a three-dimensional space of the present invention.

본 발명의 격자 지도 생성 장치(10)에 포함된 3차원 공간을 측정하기 위한 센서는 RGB-D 영상 카메라 및 TOF 깊이 카메라를 포함하고, 바람직하게는 키넥트 센서로 마련될 수 있다. 격자 지도 생성 장치(10)는 센서를 이용하여 등을 포함하여 RGB 영상을 입력 받을 수 있다.The sensor for measuring the three-dimensional space included in the grid map generating apparatus 10 of the present invention includes an RGB-D image camera and a TOF depth camera, and may be preferably provided as a Kinect sensor. The grid map generating apparatus 10 may receive an RGB image including a light using a sensor.

도 10은 본 발명의 3차원 공간을 측정하는 센서에서 측정된 3차원 공간의 깊이 영상을 나타내는 예시도이다.10 is an exemplary view showing a depth image of a 3D space measured by a sensor for measuring a 3D space of the present invention.

본 발명의 격자 지도 생성 장치(10)는 키넥트 또는 TOF 방식의 센서를 포함하고, 센서를 통하여 센서로부터 측정되는 깊이(거리)정보에 따른 깊이 영상을 입력 받을 수 있다. 예를 들어, 격자 지도 생성 장치(10)는 광을 출사하여 반사되어 돌아오는 시간을 측정하여 3차원 공간의 깊이 정보를 측정할 수 있다. The grid map generating apparatus 10 of the present invention may include a Kinect or TOF type sensor, and receive a depth image according to depth (distance) information measured from the sensor through the sensor. For example, the grid map generating apparatus 10 may measure the depth information of the three-dimensional space by measuring the time to return by reflecting by emitting light.

도 11은 임의의 센서 위치에서 특정 시간에 측정된 센서의 자세 정보 및 공간 정보들을 바탕으로 격자 지도 생성 장치가 생성한 격자 지도를 나타내는 예시도이다.11 is an exemplary diagram showing a grid map generated by a grid map generating apparatus based on posture information and spatial information of a sensor measured at a specific time at an arbitrary sensor position.

본 발명의 격자 지도 생성 장치(10)가 DDU(Distance Dependent Update) 방법으로 생성한 3차원 복셀 지도는 도 10에 도시된 바와 같이 나타난다. 센서의 6자유도 자세는 영상 기반 3D SLAM 기술을 사용하며 3차원 격자 지도의 생성은 전술한 거리 의존 갱신 방법에 따른 것이다.The 3D voxel map generated by the DDU (Distance Dependent Update) method of the grid map generating apparatus 10 of the present invention appears as shown in FIG. 10. The six-degree-of-freedom attitude of the sensor uses image-based 3D SLAM technology, and the generation of the 3D grid map is based on the above-described distance-dependent update method.

도 12는 일 실시 예에 따른 격자 지도 생성 장치가 생성한 비어 있는 격자 지도를 나타내는 예시도이다.12 is an exemplary diagram illustrating an empty grid map generated by a grid map generating apparatus according to an embodiment.

본 발명의 격자 지도 생성 장치(10)는 센서위 위치에서 출사되는 스윕라인을 이용하여 포인트 클라우드를 지향할 수 있고, 지향된 스윕라인에서 스윕되는 포인트 클라우드 내의 포인트가 없는 경우, 해당 포인트의 3차원 공간상의 좌표에서 대응되는 격자셀의 점유도를 낮게 갱신할 수 있다. 점유도 갱신부(380)에서 갱신된 점유도가 낮은 경우 격자셀을 비어있게 되고, 격자 지도 생성 장치(10)가 생성한 격자 지도는 도 12와 같이 도시될 수 있다.The grid map generating apparatus 10 of the present invention can direct a point cloud using a sweep line emitted from a position on a sensor, and if there is no point in the point cloud swept from the directed sweep line, 3D of the point It is possible to update the occupancy of the grid cells corresponding to the coordinates in space low. When the occupancy updated by the occupancy update unit 380 is low, the grid cells are empty, and the grid map generated by the grid map generation device 10 may be illustrated as in FIG. 12.

도 13은 또 다른 실시 예에 따른 격자 지도 생성 장치(10)가 생성한 격자 지도를 나타내는 예시도이다.13 is an exemplary view showing a grid map generated by the grid map generating apparatus 10 according to another embodiment.

본 발명의 격자 지도 생성 장치(10)는 격자셀에 대응되는 포인트 클라우드 내의 적어도 일부 영역의 포인트의 수에 관한 서로 다른 갱신주기를 설정하여 격자셀의 점유도를 갱신할 수 있다. 예를 들어, 포인트 클라우드 생성부(100)에서 생성된 3차원 공간상의 포인트 클라우드가 스윕라인에 의해 스윕되지 않는 경우 격자셀의 점유도는 비어있을 수 있고, 격자 지도 생성 장치(10)가 생성한 격자 지도의 적어도 일부는 도 5와 같이 빈 공간으료 나타날 수 있다. The grid map generating apparatus 10 of the present invention can update the occupancy of grid cells by setting different update cycles for the number of points in at least some areas in the point cloud corresponding to the grid cells. For example, if the point cloud on the three-dimensional space generated by the point cloud generator 100 is not swept by a sweep line, the occupancy of the grid cells may be empty, and the grid generated by the grid map generator 10 At least a part of the map may appear as an empty space as shown in FIG. 5.

도 14는 또 다른 실시 예에 따른 격자 지도 생성 장치(10)가 생성한 격자 지도를 나타내는 예시도이다.14 is an exemplary view illustrating a grid map generated by the grid map generating apparatus 10 according to another embodiment.

본 발명의 격자 지도 생성 장치(10)는 가로, 세로 및 높이가 각각 4m*8m*3m인 격자 지도를 생성할 수 있고, 종래 지도 생성 기술에 비하여 짧은 시간에 효과적으로 격자 지도를 생성할 수 있음은 전술한 바와 같다The grid map generating apparatus 10 of the present invention can generate a grid map having 4 m * 8 m * 3 m in width, height, and height, respectively, and can generate a grid map in a short time compared to a conventional map generation technology. As described above

상기 설명된 본 발명의 일 실시예의 방법의 전체 또는 일부는, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 기록 매체의 형태로 구현될 수 있다. 여기에서, 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 본 발명의 일 실시예에 따르는 방법의 전체 또는 일부는 컴퓨터에 의해 실행 가능한 명령어를 포함하며, 매체에 기록된 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다. All or part of the method of one embodiment of the present invention described above may be embodied in the form of a computer-executable recording medium, such as a program module, being executed by a computer. Here, the computer-readable medium can be any available medium that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. In addition, computer readable media may include computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Further, all or part of a method according to an embodiment of the present invention includes instructions executable by a computer and may be embodied as a computer program (or computer program product) recorded on a medium. The computer program includes programmable machine instructions processed by a processor and may be implemented in a high-level programming language, object-oriented programming language, assembly language, or machine language. . In addition, the computer program may be recorded on a tangible computer-readable recording medium (eg, memory, hard disk, magnetic / optical medium, or solid-state drive (SSD), etc.).

따라서 본 발명의 일 실시예에 따르는 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.Accordingly, a method according to an embodiment of the present invention may be implemented by executing a computer program as described above by a computing device. The computing device may include at least some of a processor, a memory, a storage device, a high-speed interface connected to the memory and a high-speed expansion port, and a low-speed interface connected to the low-speed bus and the storage device. Each of these components is connected to each other using various buses, and may be mounted on a common motherboard or mounted in other suitable ways.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains may make various modifications, changes, and substitutions without departing from the essential characteristics of the present invention. will be. Therefore, the embodiments and the accompanying drawings disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain the scope of the technical spirit of the present invention. . The scope of protection of the present invention should be interpreted by the claims below, and all technical spirits within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.

Claims (20)

적어도 하나의 물체들을 포함하는 3차원 공간을 나타내는 공간 정보들을 측정하는 센서를 이용하여 상기 센서의 자세 정보에 따라 서로 다른 포인트 클라우드를 생성하는 포인트 클라우드 생성부;
상기 측정된 공간 정보들을 기초로 영상 기반 SLAM을 수행하여 상기 센서의 위치 및 방향에 관한 자세 정보를 산출하는 자세 정보 산출부; 및
상기 생성된 포인트 클라우드를 상기 센서의 자세 정보 및 상기 공간 정보를 이용하여 서로 다른 갱신주기에 따라 범주화하고, 상기 범주화된 포인트 클라우드의 상기 3차원 공간상에서의 좌표를 고려하여 생성된 격자셀의 점유도를 상기 서로 다른 갱신주기로 갱신하여 격자 지도를 생성하는 지도 생성부; 를 포함하며,
상기 지도 생성부는 상기 산출된 자세 정보를 이용하여 상기 격자 지도를 생성하며,
상기 자세 정보 산출부는 상기 공간 정보들을 이용하여 생성된 영상 이미지에서 픽셀 별 화소값들의 변화량을 고려하여 특징점들을 추출하는 특징점 추출부를 포함하고, 상기 추출된 특징점들을 이용하여 상기 센서의 자세 정보를 산출하는 것을 특징으로 하는 격자 지도 생성 장치.
A point cloud generator for generating different point clouds according to the posture information of the sensor by using a sensor that measures spatial information representing a three-dimensional space including at least one object;
A posture information calculating unit that calculates posture information regarding the position and direction of the sensor by performing image-based SLAM based on the measured spatial information; And
The generated point cloud is categorized according to different update cycles using the posture information of the sensor and the spatial information, and the occupancy of the generated grid cells is considered in consideration of coordinates in the three-dimensional space of the categorized point cloud. A map generation unit updating the different update cycles to generate a grid map; It includes,
The map generation unit generates the grid map using the calculated attitude information,
The posture information calculator includes a feature point extractor for extracting feature points in consideration of a change in pixel values for each pixel in an image image generated using the spatial information, and calculating posture information of the sensor using the extracted feature points Grid map generating device, characterized in that.
삭제delete 제1항에 있어서,
상기 자세 정보는 상기 센서의 위치에 관한 제1 좌표 정보 및 상기 센서의 방향에 관한 제2 좌표 정보를 포함하고,
상기 공간 정보들은 상기 3차원 공간의 색상 정보 및 상기 센서를 기준으로 측정된 상기 3차원 공간의 깊이 정보를 포함하는 것을 특징으로 하는 격자 지도 생성 장치.
According to claim 1,
The posture information includes first coordinate information about the position of the sensor and second coordinate information about the direction of the sensor,
The spatial information includes color information of the 3D space and depth information of the 3D space measured based on the sensor.
삭제delete 제3항에 있어서, 상기 지도 생성부는
상기 센서의 자세 정보 및 상기 공간 정보 중 적어도 하나를 입력으로 하는 거리 분류 함수를 이용하여 상기 격자셀의 점유도를 갱신하기 위해 필요한 상기 포인트 클라우드에 포함된 적어도 일부 영역의 포인트들의 수에 관한 갱신주기를 설정하는 갱신주기 설정부; 를 더 포함하고,
상기 설정된 갱신주기에 따라 범주화된 포인트 클라우드를 이용하여 상기 격자 지도를 생성하는 것을 특징으로 하는 격자 지도 생성 장치.
The method of claim 3, wherein the map generating unit
An update cycle for the number of points in at least some regions included in the point cloud required to update the occupancy of the grid cell using a distance classification function that inputs at least one of the posture information of the sensor and the spatial information as input. An update cycle setting unit for setting; Further comprising,
A grid map generation device, characterized in that the grid map is generated using a point cloud categorized according to the set update cycle.
제3항에 있어서, 상기 지도 생성부는
상기 서로 다른 갱신주기를 이용하여 상기 생성된 포인트 클라우드를 적어도 하나의 그룹으로 범주화하는 범주화부; 를 더 포함하고,
상기 범주화된 포인트 클라우드를 이용하여 상기 격자 지도를 생성하는 것을 특징으로 하는 격자 지도 생성 장치.
The method of claim 3, wherein the map generating unit
A categorization unit categorizing the generated point clouds into at least one group using the different update cycles; Further comprising,
A grid map generating apparatus, characterized in that the grid map is generated using the categorized point cloud.
제3항에 있어서, 상기 지도 생성부는
상기 제1 좌표 정보 및 제2 좌표 정보에 따라 지향되는 스윕 라인을 이용하여 상기 범주화된 포인트 클라우드의 3차원 공간상에서의 좌표에 대응하는 격자셀을 검색하는 격자셀 검색부; 를 더 포함하고,
상기 검색된 격자셀의 점유도를 갱신하여 상기 격자 지도를 생성하는 것을 특징으로 하는 격자 지도 생성 장치.
The method of claim 3, wherein the map generating unit
A grid cell search unit for searching grid cells corresponding to coordinates in the three-dimensional space of the categorized point cloud by using sweep lines directed according to the first coordinate information and the second coordinate information; Further comprising,
A grid map generating apparatus characterized in that the grid map is generated by updating the occupancy of the searched grid cells.
제6항에 있어서, 상기 범주화부는
상기 범주화된 포인트 클라우드의 그룹별 서로 다른 갱신 주기를 이용하여 상기 범주화된 포인트 클라우드의 적어도 일부 영역의 포인트들을 필터링하는 필터링부; 를 더 포함하고,
상기 필터링된 적어도 일부 영역의 포인트들을 기반으로 상기 포인트 클라우드를 범주화 하는 것을 특징으로 하는 격자 지도 생성 장치.
The method of claim 6, wherein the categorization unit
A filtering unit that filters points of at least a partial region of the categorized point cloud using different update periods for each group of the categorized point cloud; Further comprising,
A grid map generating apparatus, characterized in that the point cloud is categorized based on the filtered points of at least some areas.
제7항에 있어서, 상기 지도 생성부는
상기 스윕 라인에 스윕되는 상기 범주화된 포인트 클라우드 내 포인트들의 점유 강도를 이용하여 상기 격자셀의 점유도를 계산하고, 상기 계산된 점유도의 로그 대수의 증감에 따라 상기 격자셀의 점유도를 갱신하는 점유도 갱신부; 를 더 포함하고,
상기 점유도가 갱신된 격자셀을 이용하여 상기 격자 지도를 생성하는 것을 특징으로 하는 격자 지도 생성 장치.
The method of claim 7, wherein the map generation unit
Occupancy update to calculate the occupancy of the grid cell using the occupancy strength of points in the categorized point cloud swept on the sweep line, and to update the occupancy of the grid cell according to the increase or decrease of the logarithm of the calculated occupancy part; Further comprising,
A grid map generation device, characterized in that the grid map is generated using the grid cells with the updated occupancy.
제5항에 있어서, 상기 갱신주기 설정부는
상기 제1 좌표 정보, 상기 제2 좌표 정보 및 상기 깊이 정보를 이용하여 상기 센서를 기준으로 측정되는 상기 포인트 클라우드 내 적어도 하나의 포인트 까지의 거리를 스텝 함수로 양자화하여 거리 분류값을 생성하는 분류값 생성부; 를 더 포함하고,
상기 생성된 분류값을 이용하여 상기 갱신주기를 설정하는 것을 특징으로 하는 격자 지도 생성 장치.
The method of claim 5, wherein the update cycle setting unit
A classification value that quantizes a distance to at least one point in the point cloud measured based on the sensor using the first coordinate information, the second coordinate information, and the depth information as a step function to generate a distance classification value Generation unit; Further comprising,
A grid map generating apparatus, characterized in that the update period is set using the generated classification value.
제9항에 있어서, 상기 지도 생성부는
상기 점유도가 갱신된 격자셀에 상기 제1 좌표 정보, 제2 좌표 정보 및 상기 깊이 정보를 고려하여 서로 다른 가중치를 설정하여 통합하는 통합부; 를 더 포함하고,
상기 서로 다른 가중치로 통합된 상기 격자셀을 이용하여 상기 격자 지도를 생성하는 것을 특징으로 하는 격자 지도 생성 장치.
The method of claim 9, wherein the map generating unit
An integration unit that sets and integrates different weights in consideration of the first coordinate information, the second coordinate information, and the depth information in the grid cell in which the occupancy is updated; Further comprising,
A grid map generating apparatus characterized in that the grid map is generated using the grid cells integrated with the different weights.
적어도 하나의 물체들을 포함하는 3차원 공간을 나타내는 공간 정보들을 측정하는 센서를 이용하여 상기 센서의 자세 정보에 따라 서로 다른 포인트 클라우드를 생성하는 단계;
상기 측정된 공간 정보들을 기초로 영상 기반 SLAM을 수행하여 상기 센서의 위치 및 방향에 관한 자세 정보를 산출하는 단계; 및
상기 생성된 포인트 클라우드를 상기 센서의 자세 정보 및 상기 공간 정보를 이용하여 서로 다른 갱신주기에 따라 범주화하고, 상기 범주화된 포인트 클라우드의 상기 3차원 공간상에서의 좌표를 고려하여 생성된 격자셀의 점유도를 상기 서로 다른 갱신주기로 갱신하여 격자 지도를 생성하는 단계; 를 포함하며,
상기 격자 지도를 생성하는 단계는 상기 산출된 자세 정보를 이용하여 상기 격자 지도를 생성하며,
상기 자세 정보를 산출하는 단계는 상기 공간 정보들을 이용하여 생성된 영상 이미지에서 픽셀 별 화소값들의 변화량을 고려하여 특징점들을 추출하고, 상기 추출된 특징점들을 이용하여 상기 센서의 자세 정보를 산출하는 것을 특징으로 하는 격자 지도 생성 방법.
Generating different point clouds according to the posture information of the sensor using a sensor measuring spatial information representing a 3D space including at least one object;
Calculating posture information regarding the position and direction of the sensor by performing image-based SLAM based on the measured spatial information; And
The generated point cloud is categorized according to different update cycles using the posture information of the sensor and the spatial information, and the occupancy of the generated grid cells is considered in consideration of coordinates in the three-dimensional space of the categorized point cloud. Generating a grid map by updating with the different update cycles; It includes,
In the generating of the grid map, the grid map is generated using the calculated posture information,
The calculating of the posture information may include extracting feature points in consideration of a change in pixel values for each pixel in an image image generated using the spatial information, and calculating posture information of the sensor using the extracted feature points How to generate a grid map.
제12항에 있어서,
상기 자세 정보는 상기 센서의 위치에 관한 제1 좌표 정보 및 상기 센서의 방향에 관한 제2 좌표 정보를 포함하고,
상기 공간 정보들은 상기 3차원 공간의 색상 정보 및 상기 센서를 기준으로 측정된 상기 3차원 공간의 깊이 정보를 포함하는 것을 특징으로 하는 격자 지도 생성 방법.
The method of claim 12,
The posture information includes first coordinate information about the position of the sensor and second coordinate information about the direction of the sensor,
The spatial information includes color information of the 3D space and depth information of the 3D space measured based on the sensor.
제13항에 있어서, 상기 격자 지도를 생성하는 단계는
상기 센서의 자세 정보 및 상기 공간 정보를 기초로 상기 격자셀의 점유도를 갱신하기 위하여 필요한 상기 포인트 클라우드에 포함된 적어도 일부 영역의 포인트들의 수에 관한 갱신주기를 설정하는 단계; 를 더 포함하고,
상기 설정된 갱신주기에 따라 범주화된 포인트 클라우드를 이용하여 상기 격자 지도를 생성하는 것을 특징으로 하는 격자 지도 생성 방법.
The method of claim 13, wherein the step of generating the grid map
Setting an update cycle regarding the number of points in at least some areas included in the point cloud required to update the occupancy of the grid cell based on the posture information of the sensor and the spatial information; Further comprising,
A grid map generation method characterized by generating the grid map using a point cloud categorized according to the set update cycle.
제13항에 있어서, 상기 격자 지도를 생성하는 단계는
상기 서로 다른 갱신주기를 이용하여 상기 생성된 포인트 클라우드를 적어도 하나의 그룹으로 범주화하는 단계; 를 더 포함하고,
상기 범주화된 포인트 클라우드를 이용하여 상기 격자 지도를 생성하는 것을 특징으로 하는 격자 지도 생성 방법.
The method of claim 13, wherein the step of generating the grid map
Categorizing the generated point clouds into at least one group using the different update cycles; Further comprising,
A grid map generation method characterized by generating the grid map using the categorized point cloud.
제13항에 있어서, 상기 격자 지도를 생성하는 단계는
상기 제1 좌표 정보 및 제2 좌표 정보에 따라 지향되는 스윕 라인을 이용하여 상기 범주화된 포인트 클라우드의 3차원 공간상에서의 좌표에 대응하는 격자셀을 검색하는 단계; 를 더 포함하고,
상기 검색된 격자셀의 점유도를 갱신하여 상기 격자 지도를 생성하는 것을 특징으로 하는 격자 지도 생성 방법.
The method of claim 13, wherein the step of generating the grid map
Searching for grid cells corresponding to coordinates in the three-dimensional space of the categorized point cloud by using sweep lines directed according to the first coordinate information and the second coordinate information; Further comprising,
A grid map generation method characterized in that the grid map is generated by updating the occupancy of the searched grid cells.
제15항에 있어서, 상기 범주화하는 단계는
상기 범주화된 포인트 클라우드의 그룹별 서로 다른 갱신 주기를 이용하여 상기 범주화된 포인트 클라우드의 적어도 일부 영역의 포인트들을 필터링하는 단계; 를 더 포함하고,
상기 필터링된 적어도 일부 영역의 포인트들을 기반으로 상기 포인트 클라우드를 범주화 하는 것을 특징으로 하는 격자 지도 생성 방법.
16. The method of claim 15, wherein the categorizing step
Filtering points of at least some regions of the categorized point cloud using different update periods for each group of the categorized point cloud; Further comprising,
A method of generating a grid map, wherein the point cloud is categorized based on the filtered points of at least some areas.
제16항에 있어서, 상기 격자 지도를 생성하는 단계는
상기 스윕 라인에 스윕되는 상기 범주화된 포인트 클라우드 내 포인트들의 점유 강도를 이용하여 상기 격자셀의 점유도를 계산하고, 상기 계산된 점유도의 로그 대수의 증감에 따라 상기 격자셀의 점유도를 갱신하는 단계; 를 더 포함하고,
상기 점유도가 갱신된 격자셀을 이용하여 상기 격자 지도를 생성하는 것을 특징으로 하는 격자 지도 생성 방법.
The method of claim 16, wherein the step of generating the grid map
Calculating the occupancy of the grid cell by using the occupancy strength of points in the categorized point cloud swept on the sweep line, and updating the occupancy of the grid cell according to the increase or decrease of the logarithm of the calculated occupancy; Further comprising,
A grid map generation method, characterized in that the grid map is generated using the grid cells with the updated occupancy.
제14항에 있어서, 상기 갱신주기를 설정하는 단계는
상기 제1 좌표 정보, 상기 제2 좌표 정보 및 상기 깊이 정보를 이용하여 상기 센서를 기준으로 측정되는 상기 포인트 클라우드 내 적어도 하나의 포인트 까지의 거리를 양자화하여 거리 분류값을 생성하는 단계; 를 더 포함하고,
상기 생성된 분류값을 이용하여 상기 갱신주기를 설정하는 것을 특징으로 하는 격자 지도 생성 방법.
15. The method of claim 14, The step of setting the update cycle
Generating a distance classification value by quantizing a distance to at least one point in the point cloud measured based on the sensor using the first coordinate information, the second coordinate information, and the depth information; Further comprising,
A grid map generation method characterized by setting the update period using the generated classification value.
프로세서에 의해 실행되는 것을 통하여 제14항 내지 제19항 중 어느 한 항에 기재된 격자 지도 생성 방법을 실현하는 컴퓨터에서 판독 가능한 기록매체에 저장된 프로그램.A program stored in a computer-readable recording medium for realizing the grid map generating method according to any one of claims 14 to 19 through being executed by a processor.
KR1020170171099A 2017-12-13 2017-12-13 Apparatus for Building Grid Map and Method there of KR102095842B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170171099A KR102095842B1 (en) 2017-12-13 2017-12-13 Apparatus for Building Grid Map and Method there of

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170171099A KR102095842B1 (en) 2017-12-13 2017-12-13 Apparatus for Building Grid Map and Method there of

Publications (2)

Publication Number Publication Date
KR20190070514A KR20190070514A (en) 2019-06-21
KR102095842B1 true KR102095842B1 (en) 2020-04-28

Family

ID=67056708

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170171099A KR102095842B1 (en) 2017-12-13 2017-12-13 Apparatus for Building Grid Map and Method there of

Country Status (1)

Country Link
KR (1) KR102095842B1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102347239B1 (en) * 2019-08-02 2022-01-04 네이버랩스 주식회사 Method and system for improving depth information of feature points using camera and lidar
KR20210015516A (en) * 2019-08-02 2021-02-10 네이버랩스 주식회사 Method and system for improving depth information of feature points using camera and lidar
KR102276044B1 (en) * 2019-11-25 2021-07-12 숭실대학교산학협력단 Method of clustering 3d point cloud data and apparatuses operating the same
KR102485272B1 (en) * 2020-03-17 2023-01-04 전남대학교 산학협력단 Apparatus and Method for Learning and Recognizing Collision Situation Using Collision Grid Map Based on Probability Scheme
KR102450139B1 (en) * 2020-06-25 2022-10-05 한국전자통신연구원 GLOBAL LOCALIZTION APPARATUS AND METHOD IN DYNAMIC ENVIRONMENTS USING 3D LiDAR SCANNER
CN112200913B (en) * 2020-09-30 2024-01-12 广州文远知行科技有限公司 Point cloud generation method, device, equipment and storage medium
CN113470180B (en) * 2021-05-25 2022-11-29 思看科技(杭州)股份有限公司 Three-dimensional mesh reconstruction method, device, electronic device and storage medium
WO2023095936A1 (en) * 2021-11-24 2023-06-01 심용수 Object generation method for virtual space, and device using same
KR102524995B1 (en) * 2023-02-02 2023-04-25 국방과학연구소 Map generating method of electronic apparatus

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101415297B1 (en) 2008-04-16 2014-07-07 삼성전자주식회사 A method for creating a robot map and using robot map and robot having robot map
KR101615687B1 (en) * 2014-05-27 2016-04-26 한국생산기술연구원 Collision detection robot remote control system and method thereof
KR101711964B1 (en) * 2015-07-14 2017-03-13 서울대학교산학협력단 Free space map construction method, free space map construction system, foreground/background extraction method using the free space map, and foreground/background extraction system using the free space map

Also Published As

Publication number Publication date
KR20190070514A (en) 2019-06-21

Similar Documents

Publication Publication Date Title
KR102095842B1 (en) Apparatus for Building Grid Map and Method there of
CN111328396B (en) Pose estimation and model retrieval for objects in images
CN111795704B (en) Method and device for constructing visual point cloud map
Chen et al. Lidar-histogram for fast road and obstacle detection
US20210043002A1 (en) Object annotation method and apparatus, movement control method and apparatus, device, and storage medium
Wang et al. Fusing bird’s eye view lidar point cloud and front view camera image for 3d object detection
US10216979B2 (en) Image processing apparatus, image processing method, and storage medium to detect parts of an object
US7995055B1 (en) Classifying objects in a scene
US10311595B2 (en) Image processing device and its control method, imaging apparatus, and storage medium
Zhou et al. Self‐supervised learning to visually detect terrain surfaces for autonomous robots operating in forested terrain
WO2019057179A1 (en) Visual slam method and apparatus based on point and line characteristic
KR102269750B1 (en) Method for Real-time Object Detection Based on Lidar Sensor and Camera Using CNN
JP2018022360A (en) Image analysis device, image analysis method and program
US20180352213A1 (en) Learning-based matching for active stereo systems
CN110033514B (en) Reconstruction method based on point-line characteristic rapid fusion
KR102393345B1 (en) System and method for processing of 3 dimensional point cloud
WO2021114776A1 (en) Object detection method, object detection device, terminal device, and medium
CN114463736A (en) Multi-target detection method and device based on multi-mode information fusion
Xu et al. A heterogeneous 3D map-based place recognition solution using virtual LiDAR and a polar grid height coding image descriptor
Huang et al. ES-Net: An efficient stereo matching network
CN113255779B (en) Multi-source perception data fusion identification method, system and computer readable storage medium
CN114419599A (en) Obstacle identification method and device and electronic equipment
Beltrán et al. A method for synthetic LiDAR generation to create annotated datasets for autonomous vehicles perception
CN110458177B (en) Method for acquiring image depth information, image processing device and storage medium
CN114648639B (en) Target vehicle detection method, system and device

Legal Events

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