KR102095842B1 - Apparatus for Building Grid Map and Method there of - Google Patents
Apparatus for Building Grid Map and Method there of Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
- G09B29/003—Maps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range 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
본 발명의 실시 예가 속하는 기술분야는 격자지도를 생성하는 장치에 관한 것이다. 보다 상세하게는, 컴퓨터 그래픽스 및 비전기술에서 사용되는 격자지도를 생성하는 장치 및 방법에 관한 것이다.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.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 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
도 1은 본 발명의 일 실시예에 따른 격자 지도 생성 장치(10)의 블록도이다.1 is a block diagram of a grid
본 발명의 격자 지도 생성 장치(10)는 포인트 클라우드 생성부(100), 자세 정보 산출부(200) 및 지도 생성부(300)를 포함한다. 예를 들어, 격자 지도 생성 장치(10)는 3차원 공간을 나타내는 공간 정보들을 측정하는 센서를 이용하여 포인트 클라우드를 생성하고, 센서의 자세 정보를 산출하며, 센서의 자세 정보 및 공간 정보들을 이용하여 포인트 클라우드의 3차원 공간상에서의 좌표를 고려하여 생성된 격자셀의 점유도를 서로 다른 주기로 갱신하여 격자 지도를 생성할 수 있다.The grid
예를 들어, 본 발명에서 격자 지도 생성 장치(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
격자 지도 생성 장치(10)가 생성하는 격자 지도는 3차원 공간에서 구현되는 가상의 지도로서, 3차원 공간 내에서 물체의 존재 여부를 가상의 그리드 공간에 기재하는 복셀 지도를 포함한다. 복셀(Voxel)은 체적 요소로서, 3차원 공간을 나타내기 위한 3차원 단위 격자로 나타나고, 바람직하게는 가로, 세로 및 높이가 10cm로 마련된 단위 격자로 마련될 수 있다. 또한 본 발명의 격자 지도 생성 장치(10)가 생성하는 격자 지도의 크기는 가로, 세로 및 높이가 각각 4m, 8m 및 3m로 마련될 수 있다. 격자 지도 생성 장치(10)는 종래의 격자 지도 생성 기술보다 단시간에 효과적으로 격자 지도를 생성할 수 있음은 전술한 바와 같다.The grid map generated by the grid
포인트 클라우드 생성부(100)는 적어도 하나의 물체들을 포함하는 3차원 공간을 나타내는 공간 정보들을 측정하는 센서를 이용하여 상기 센서의 자세 정보에 따라 서로 다른 포인트 클라우드를 생성한다. 포인트 클라우드 생성부(100)가 이용하는 공간 정보들은 3차원 공간의 색상 정보 및 상기 센서를 기준으로 측정된 3차원 공간의 깊이 정보를 포함하고, 센서의 자세 정보는 센서의 위치에 관한 제1 좌표 정보 및 센서의 방향에 관한 제2 좌표 정보를 포함한다.The point
예를 들어, 포인트 클라우드 생성부(100)가 생성하는 포인트 클라우드는 3차원 공간을 무수히 많은 점(포인트, Point)의 집합으로 표현하는 것으로서, 각각의 포인트는 센서를 기준으로 측정된 물체의 색상, 거리 정보 및 센서에서 해당 포인트를 지향하는 각도 정보 중 적어도 하나의 정보를 포함하고, 포인트들의 집합이 이루는 포인트 클라우드는 공간적인 구성을 나타낸다. 포인트 클라우드 생성부(100)가 생성하는 포인트 클라우드는 하기 수학식 1과 같이 표현될 수 있다.For example, the point cloud generated by the
여기에서, Zt는 시간 t에서 측정된 포인트 클라우드 내의 한 포인트를 나타내고, r은 센서에서 포인트까지의 거리, 는 센서에서 해당 포인트를 바라본 각도 및 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, 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
자세 정보 산출부(200)는 특징점 추출부(220), 특징 벡터 생성부(240) 및 보정부(260)를 포함한다.The posture
특징점 추출부(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
본 발명의 자세 정보 산출부(200)는 센서의 위치에서 출사되는 스윕라인이 스윕되는 경로에서 적어도 하나의 키프레임을 노드로 산출하고, 산출된 키프레임에서 추출되는 특징점과 현재 키프레임에서 추출되는 특징점과의 재투영 오차(Re-Projection Error)를 최소화 하여 센서의 자세 정보를 보정할 수 있다. 예를 들어, 자세 정보 산출부(200)가 사용하는 영상 기반 SLAM은 키프레임을 노드로 갖고 visual 특징점의 재투영 오차 (re-projection error)를 작게 만드는 그래프 최적화 SLAM (Graph-SLAM) 방식 또는 Rao-Blackwellized Particle Filter (RBPF)를 사용하는 Filtering SLAM을 사용할 수 있다. The posture
지도 생성부(300)는 갱신주기 설정부(320), 범주화부(340), 격자셀 검색부(360), 점유도 갱신부(380) 및 통합부(390)를 포함한다. 예를 들어, 지도 생성부(300)는 상기 생성된 포인트 클라우드를 상기 센서의 자세 정보 및 상기 공간 정보를 이용하여 서로 다른 갱신주기에 따라 범주화하고, 상기 범주화된 포인트 클라우드의 상기 3차원 공간상에서의 좌표를 고려하여 생성된 격자셀의 점유도를 상기 서로 다른 갱신주기로 갱신하여 격자 지도를 생성한다. 예를 들어, 지도 생성부(300)는 포인트 클라우드 생성부(100)에서 생성된 포인트 클라우드와 자세 정보 산출부(200)에서 산출된 제1 좌표 정보 및 제2 좌표 정보를 기반으로 격자 지도를 생성한다. The
예를 들어, 지도 생성부(300)는 포인트 클라우드에 광선(ray)을 투사하는 ray-casting 기법을 이용하여 포인트 클라우드가 3차원 공간상에서 위치하는 좌표에 대응되는 격자셀을 검색하고, 상기 검색된 격자셀의 점유도를 갱신하여 격자 지도를 생성한다. 지도 생성부(300)가 생성하는 격자 지도는 3차원 공간상에서 체적을 가지는 복셀들의 집합으로서 복셀 지도를 포함함은 전술한 바와 같다.For example, the
갱신주기 설정부(320)는 분류값 생성부(322)를 포함한다. 예를 들어, 갱신주기 설정부(320)는 상기 센서의 자세 정보 및 상기 공간 정보를 기초로 상기 격자셀의 점유도를 갱신하기 위하여 필요한 상기 포인트 클라우드에 포함된 적어도 일부 영역의 포인트들의 수에 관한 갱신주기를 거리 분류 함수로 설정한다. 갱신주기 설정부(320)에서 설정된 갱신주기를 이용함으로서, 지도 생성부(300)는 격자 지도 내의 격자셀의 점유도를 갱신하기 위하여 필요한 포인트 클라우드 내의 포인트 들의 수를 조절할 수 있기 때문에 빠르게 격자 지도를 생성할 수 있다.The update
예를 들어, 갱신주기 설정부(320)는 제1 좌표 정보, 제2 좌표 정보 및 상기 센서를 기준으로 측정되는 포인트 클라우드 내의 임의의 포인트까지의 깊이 정보를 바탕으로 센서를 기준으로 측정되는 임의의 포인트까지의 거리를 양자화하고, 양자화된 거리를 이용하여 갱신주기를 설정할 수 있다. For example, the update
분류값 생성부(322)는 상기 제1 좌표 정보, 상기 제2 좌표 정보 및 상기 깊이 정보를 이용하여 상기 센서를 기준으로 측정되는 상기 포인트 클라우드 내 적어도 하나의 포인트까지의 거리를 양자화하여 거리 분류값을 생성한다.The classification
상기 수학식 2에서 pi는 포인트 클라우드 내의 i번째 임의의 포인트를 의미하고, di는 센서를 기준으로 임의의 포인트까지의 거리이며, 는 거리 분류값, T는 행렬의 전치를 의미한다. 분류값 생성부(322)는 포인트 클라우드 내의 임의의 포인트에 센서로부터 측정되는 깊이(거리)에 따라 서로 다른 거리 분류값을 할당한다. 거리 분류값은 구체적으로 하기의 수학식 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, Is the distance classification, and T is the transpose of the matrix. The classification
여기에서 T는 갱신 주기, 는 임의의 포인트 pi를 입력으로 하는 거리 분류 함수, 는 센서에서 측정되는 임의의 포인트까지의 깊이(거리)를 입력으로 하는 스텝함수를 이용하여 표현된 거리 분류값을 의미한다. 예를 들어, 분류값 생성부(322)는 스텝 함수를 이용하여 임의의 포인트까지의 거리를 양자화하여 거리 분류 값을 생성할 수 있고, 갱신 주기 설정부(320)는 임의 포인트와 관련된 센서의 자세 정보 및 공간 정보 중 적어도 하나를 입력으로 하고, 스텝 함수를 통하여 생성된 거리 분류값을 출력으로 하는 거리 분류 함수를 이용하여 갱신주기를 설정할 수 있다. 상기 거리 분류 함수의 입력으로 표기된 pi는 임의의 i번째 포인트를 나타내거나, i번째 포인트와 관련된 센서의 자세 정보 및 공간 정보를 나타낼 수 있다.Where T is the update cycle, Is a distance classification function with an arbitrary point p i as input. 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
범주화부(340)는 필터링부(342)를 포함한다. 예를 들어, 범주화부(340)는 상기 서로 다른 갱신주기를 이용하여 상기 생성된 포인트 클라우드를 적어도 하나의 그룹으로 범주화한다. 예를 들어, 범주화부(340)는 갱신주기 설정부(320)에서 서로 다르게 설정된 갱신주기를 이용하여 포인트 클라우드 생성부(100)에서 생성된 포인트 클라우드를 적어도 하나의 그룹으로 범주화 한다. 본 발명에서 갱신주기는 격자셀의 점유도를 갱신하기 위하여 필요한 포인트 클라우드에 포함된 적어도 일부 영역의 포인트들의 수에 관한 수치로서 포인트 인텐시티(Intensity)나 포인트 밀도로 표현될 수 있다. 예를 들어, 범주화부(340)가 포인트 클라우드를 적어도 하나의 그룹으로 범주화하고, 상기 범주화된 포인트 클라우드는 대응되는 3차원 공간상의 위치의 격자셀의 점유도를 갱신시에 그룹별로 사용될 수 있다. The
필터링부(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
격자셀 검색부(360)는 상기 제1 좌표 정보 및 제2 좌표 정보에 따라 지향되는 스윕 라인을 이용하여 상기 범주화된 포인트 클라우드의 3차원 공간상에서의 좌표에 대응하는 격자셀을 검색한다. 예를 들어, 격자셀 검색부(360)가 사용하는 스윕 라인은 ray-casting 기법에서 사용되는 추적 광선으로서, 포인트 클라우드가 3차원 공간상에서 위치하는 좌표와 동일한 좌표에 생성되는 격자셀을 검색한다.The grid
점유도 갱신부(380)는 상기 스윕 라인에 스윕되는 상기 범주화된 포인트 클라우드 내 포인트들의 점유 강도를 이용하여 상기 격자셀의 점유도를 계산하고, 상기 계산된 점유도의 로그 대수의 증감에 따라 상기 격자셀의 점유도를 갱신한다.The
여기에서 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.
여기에서 는 시간 t에서 i번째 격자 셀의 로그 대수로 표현된 점유도를 의미하고, 는 i번째 격자셀이 점유되었을 확률, 는 i번째 격자셀이 점유되지 않았을 확률을 의미한다. mi는 i번째 격자셀의 점유 확률을 의미하고, z1:t는 시간 t에서 센서에서 측정한 i번 포인트의 거리 및 각도, x1:t는 시간 t에서 측정된 센서의 제1 좌표 정보 및 제2 좌표 정보를 나타낸다. 점유도 갱신부(380)는 격자셀의 점유 확률을 점유도로 변환하고, 변환된 점유도를 증감하여 격자셀의 점유도를 갱신한다. 점유도 갱신부(380)가 격자셀의 점유도와 점유 확률을 변환하는 방법은 다음과 같다.From here Is the occupancy represented by the logarithmic log of the i-th grid cell at time t, Is the probability that the i-th grid cell is occupied, 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
여기에서, 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
여기에서, 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
예를 들어, 본 발명에서 점유도 갱신부(380)가 사용하는 격자셀의 점유 확률은 해당 격자셀의 점유 강도로 마련될 수 있고, 점유 확률 및 점유 강도는 해당 격자셀의 3차원 공간상의 좌표에서 얼마나 많은 포인트 클라우드 내 포인트 들이 스윕 라인에 스윕되는지 여부를 의미할 수 있다. 점유도 갱신부(380)는 센서의 위치로부터 출사되는 스윕라인에 스윕되는 포인트 클라우드 내의 포인트가 존재하는 경우, 하기의 수학식 8을 이용하여 스윕된 포인트의 3차원 공간상에서의 좌표에 대응되는 격자셀의 점유도를 갱신한다.For example, in the present invention, the occupancy probability of the grid cell used by the
여기에서, li,j,k는 (i,j,k)의 좌표를 갖는 격자셀의 로그 대수로 표현된 점유도, mi,j,k는 (i,j,k)의 좌표를 갖는 격자셀의 점유 확률, 러닝 레이트(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, It is a weight that is experimentally determined by the learning rate. The
여기에서, li,j,k는 (I,j,k)의 좌표를 갖는 격자셀의 로그 대수로 표현된 점유도, mi,j,k는 (I,j,k)의 좌표를 갖는 격자셀의 점유 확률, 는 러닝 레이트(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, Is a weight determined experimentally as a learning rate. The
통합부(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
도 2는 도 1의 실시 예에서 지도 생성부(300)의 확대 블록도이다.2 is an enlarged block diagram of the
지도 생성부(300)는 갱신주기 설정부(320), 범주화부(340), 격자셀 검색부(360), 점유도 갱신부(380) 및 통합부(390)를 포함한다. 예를 들어, 지도 생성부(300)는 상기 생성된 포인트 클라우드를 상기 센서의 자세 정보 및 상기 공간 정보를 이용하여 서로 다른 갱신주기에 따라 범주화하고, 상기 범주화된 포인트 클라우드의 상기 3차원 공간상에서의 좌표를 고려하여 생성된 격자셀의 점유도를 상기 서로 다른 갱신주기로 갱신하여 격자 지도를 생성한다.The
본 발명에서 지도 생성부(300)는 센서가 공간 정보를 측정하는 시간 및 센서의 자세 정보를 산출하는 시간에 따라 서로 다른 격자 지도를 생성할 수 있고, 상기 공간 정보를 측정하는 시간 및 자세 정보를 산출하는 시간에 따라 서로 다르게 생성된 격자 지도를 통합하여 시간 정보가 반영된 3차원 격자 지도를 생성할 수 있다. 예를 들어, 갱신 주기 설정부(320)는 거리 분류 함수를 이용하여 제1 좌표 정보, 제2 좌표 정보 및 공간정보에 포함된 깊이 정보로 특정되는 임의의 포인트의 양자화된 거리에 따른 거리 분류값을 생성하고, 생성된 거리 분류값을 이용하여 갱신주기를 설정할 수 있다. 갱신 주기 설정부(320)가 갱신주기를 설정하는 구체적인 방법은 전술한 바와 같으므로 생략한다. In the present invention, the
범주화부(340)는 상기 서로 다른 갱신주기를 이용하여 상기 생성된 포인트 클라우드를 적어도 하나의 그룹으로 범주화한다. 범주화부(340)는 생성된 포인트 클라우드를 갱신주기를 이용하여 범주화하고, 점유도 갱신부(380)는 같은 갱신주기로 범주화된 포인트 클라우드의 그룹의 3차원 공간상의 좌표에 대응되는 격자셀을 갱신함에 있어서 이용하는 포인트의 수는 동일하게 마련될 수 있다. 격자셀 검색부(360)는 상기 제1 좌표 정보 및 제2 좌표 정보에 따라 지향되는 스윕 라인을 이용하여 상기 범주화된 포인트 클라우드의 3차원 공간상에서의 좌표에 대응하는 격자셀을 검색한다. 격자셀 검색부(360)가 격자셀을 검색하기 위한 스윕라인에 대한 구성은 전술한 바와 같으므로 생략한다.The
점유도 갱신부(380)는 생성된 포인트 클라우드의 공간상 좌표에 대응되는 격자셀을 서로 다른 갱신주기로 갱신하여 격자 지도를 생성한다. 점유도 갱신부(380)가 격자셀의 점유도를 갱신하는 과정은 전술한 바와 같으므로 생략한다. 점유도 갱신부(380)가 갱신한 격자셀의 점유도는 0~1사이로 평준화 될 수 있다. 통합부(390)는 점유도가 갱신된 격자셀에 상기 제1 좌표 정보, 제2 좌표 정보 및 상기 깊이 정보를 고려하여 서로 다른 가중치를 설정하여 통합한다.The
예를 들어, 격자 지도 생성 장치(10)는 시간 t1에서 특정 센서의 위치에 따라 3차원 공간을 측정하여 격자 지도(grid map1)를 생성하고, 시간 t2에서 시간 t1의 센서의 위치와 다른 좌표에 위치하는 센서를 이용하여 3차원 공간을 측정하여 생성한 격자 지도(grid map2)를 합하여 보다 정확한 격자 지도를 생성할 수 있다. For example, the grid
도 3은 도 2의 실시 예에서 갱신 주기 설정부(320)의 확대 블록도이다.3 is an enlarged block diagram of the update
갱신주기 설정부(320)는 분류값 생성부(322)를 포함한다. 분류값 생성부(322)는 상기 제1 좌표 정보, 상기 제2 좌표 정보 및 상기 깊이 정보를 이용하여 상기 센서를 기준으로 측정되는 상기 포인트 클라우드 내 적어도 하나의 포인트까지의 거리를 스텝 함수로 양자화하여 거리 분류값을 생성한다. 분류값 생성부(322)가 거리 분류값을 생성하기 위하여 이용하는 거리 분류 함수 및 스텝 함수의 구성은 전술한 바와 같으므로 생략한다.The update
도 4는 도 2의 실시 예에서 범주화부(340)의 확대 블록도이다.4 is an enlarged block diagram of the
범주화부(340)는 필터링부(342)를 포함한다. 필터링부(342)는 상기 범주화된 포인트 클라우드의 그룹별 서로 다른 갱신 주기를 이용하여 상기 범주화된 포인트 클라우드의 적어도 일부 영역의 포인트들을 필터링한다. 본 발명에서 갱신 주기는 포인트 인텐시티(intensity), 밀도(density)에 대응되는 개념으로, 격자셀의 점유도를 갱신하기 위해 필요한 포인트 클라우드 내의 포인트의 수를 의미할 수 있다. The
본 발명의 격자 지도 생성 장치(10)를 이용하는 경우 종래의 격자 지도 생성 기술보다 효과적으로 격자 지도를 생성할 수 있다. 일 실시 예에 따른 격자 지도 생성 결과, 동일한 조건하에서 서로 다른 갱신주기에 따라 포인트 클라우드를 범주화 하지 않고 격자 지도를 생성하는 경우 격자 지도를 생성하는데 0.32초의 시간이 소요되었으나, 서로 다른 갱신주기를 설정하여 포인트 클라우드를 범주화하고, 상기 범주화된 포인트 클라우드를 서로 다른 갱신 주기로 이용하여 격자셀의 점유도를 갱신하는 경우 격자 지도를 생성하는데 0.21초의 시간이 소요될 수 있다.When the grid
도 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
S200에서, 자세 정보 산출부(200)는 측정된 공간 정보들을 기초로 영상 기반 SLAM을 수행하여 상기 센서의 위치 및 방향에 관한 자세 정보를 산출한다. 예를 들어, 자세 정보 산출부(200)는 센서로부터 입력된 RGB 영상에서 비주얼 특징점을 추출하고, 3D SLAM을 이용하여 센서의 자세 정보로서 6자유도 자세를 산출할 수 있다. 자세 정보 산출부(200)가 센서의 자세 정보를 산출하는 구체적인 방법은 전술한 바와 같으므로 생략한다.In S200, the posture
S300에서, 지도 생성부(300)는 생성된 포인트 클라우드를 상기 센서의 자세 정보 및 상기 공간 정보를 이용하여 서로 다른 갱신주기에 따라 범주화하고, 상기 범주화된 포인트 클라우드의 상기 3차원 공간상에서의 좌표를 고려하여 생성된 격자셀의 점유도를 상기 서로 다른 갱신주기로 갱신하여 격자 지도를 생성한다. 지도 생성부(300)는 센서가 3차원 공간을 측정하는 시간에 따라 서로 다른 격자 지도를 생성할 수 있고, 동일한 3차원 공간을 서로 다른 시간에 측정하여 생성된 격자 지도를 통합하여 새로운 격자 지도를 생성할 수 있음은 전술한 바와 같으므로 생략한다.In S300, the
도 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
S360에서, 격자셀 검색부(360)는 상기 제1 좌표 정보 및 제2 좌표 정보에 따라 지향되는 스윕 라인을 이용하여 상기 범주화된 포인트 클라우드의 3차원 공간상에서의 좌표에 대응하는 격자셀을 검색한다. 포인트 클라우드 생성부(100)에서 생성되는 포인트 클라우드는 시간에 따라 서로 다르게 생성될 수 있고, 생성된 포인트 클라우드의 3차원 공간상 좌표에 대응되게 검색되는 격자셀 역시 다르게 마련될 수 있다.In S360, the grid
S380에서, 점유도 갱신부(380)는 점유도 갱신부(380)는 상기 스윕 라인에 스윕되는 상기 범주화된 포인트 클라우드 내 포인트들의 점유 강도를 이용하여 상기 격자셀의 점유도를 계산하고, 상기 계산된 점유도의 로그 대수의 증감에 따라 상기 격자셀의 점유도를 갱신한다. 점유도 갱신부(380)가 점유도를 갱신하는 구체적인 방법은 전술한 바와 같으므로 생략한다.In S380, the
도 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
도 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
S964에서, 격자셀 검색부(360)는 Ray-Tracing을 통해 포인트가 hit 되는 복셀을 검색한다. 본 발명에서 격자셀은 3차원 공간에서 체적 요소를 가지는 단위 격자로서 복셀을 포함하고, 격자 지도 생성 장치(10)가 생성하는 격자 지도는 복셀 지도로 마련될 수 있다. S966에서, 점유도 갱신부(380)는 3차원 복셀 점유도를 갱신한다. 점유도 갱신부(380)가 점유도를 갱신하는 구체적인 방법은 전술한 바와 같으므로 생략한다. In S964, the grid
도 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
도 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
도 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
도 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
도 13은 또 다른 실시 예에 따른 격자 지도 생성 장치(10)가 생성한 격자 지도를 나타내는 예시도이다.13 is an exemplary view showing a grid map generated by the grid
본 발명의 격자 지도 생성 장치(10)는 격자셀에 대응되는 포인트 클라우드 내의 적어도 일부 영역의 포인트의 수에 관한 서로 다른 갱신주기를 설정하여 격자셀의 점유도를 갱신할 수 있다. 예를 들어, 포인트 클라우드 생성부(100)에서 생성된 3차원 공간상의 포인트 클라우드가 스윕라인에 의해 스윕되지 않는 경우 격자셀의 점유도는 비어있을 수 있고, 격자 지도 생성 장치(10)가 생성한 격자 지도의 적어도 일부는 도 5와 같이 빈 공간으료 나타날 수 있다. The grid
도 14는 또 다른 실시 예에 따른 격자 지도 생성 장치(10)가 생성한 격자 지도를 나타내는 예시도이다.14 is an exemplary view illustrating a grid map generated by the grid
본 발명의 격자 지도 생성 장치(10)는 가로, 세로 및 높이가 각각 4m*8m*3m인 격자 지도를 생성할 수 있고, 종래 지도 생성 기술에 비하여 짧은 시간에 효과적으로 격자 지도를 생성할 수 있음은 전술한 바와 같다The grid
상기 설명된 본 발명의 일 실시예의 방법의 전체 또는 일부는, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 기록 매체의 형태로 구현될 수 있다. 여기에서, 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 본 발명의 일 실시예에 따르는 방법의 전체 또는 일부는 컴퓨터에 의해 실행 가능한 명령어를 포함하며, 매체에 기록된 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(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)
상기 측정된 공간 정보들을 기초로 영상 기반 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.
상기 자세 정보는 상기 센서의 위치에 관한 제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.
상기 센서의 자세 정보 및 상기 공간 정보 중 적어도 하나를 입력으로 하는 거리 분류 함수를 이용하여 상기 격자셀의 점유도를 갱신하기 위해 필요한 상기 포인트 클라우드에 포함된 적어도 일부 영역의 포인트들의 수에 관한 갱신주기를 설정하는 갱신주기 설정부; 를 더 포함하고,
상기 설정된 갱신주기에 따라 범주화된 포인트 클라우드를 이용하여 상기 격자 지도를 생성하는 것을 특징으로 하는 격자 지도 생성 장치.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.
상기 서로 다른 갱신주기를 이용하여 상기 생성된 포인트 클라우드를 적어도 하나의 그룹으로 범주화하는 범주화부; 를 더 포함하고,
상기 범주화된 포인트 클라우드를 이용하여 상기 격자 지도를 생성하는 것을 특징으로 하는 격자 지도 생성 장치. 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.
상기 제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.
상기 범주화된 포인트 클라우드의 그룹별 서로 다른 갱신 주기를 이용하여 상기 범주화된 포인트 클라우드의 적어도 일부 영역의 포인트들을 필터링하는 필터링부; 를 더 포함하고,
상기 필터링된 적어도 일부 영역의 포인트들을 기반으로 상기 포인트 클라우드를 범주화 하는 것을 특징으로 하는 격자 지도 생성 장치. 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.
상기 스윕 라인에 스윕되는 상기 범주화된 포인트 클라우드 내 포인트들의 점유 강도를 이용하여 상기 격자셀의 점유도를 계산하고, 상기 계산된 점유도의 로그 대수의 증감에 따라 상기 격자셀의 점유도를 갱신하는 점유도 갱신부; 를 더 포함하고,
상기 점유도가 갱신된 격자셀을 이용하여 상기 격자 지도를 생성하는 것을 특징으로 하는 격자 지도 생성 장치.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.
상기 제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.
상기 점유도가 갱신된 격자셀에 상기 제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.
상기 측정된 공간 정보들을 기초로 영상 기반 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.
상기 자세 정보는 상기 센서의 위치에 관한 제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.
상기 센서의 자세 정보 및 상기 공간 정보를 기초로 상기 격자셀의 점유도를 갱신하기 위하여 필요한 상기 포인트 클라우드에 포함된 적어도 일부 영역의 포인트들의 수에 관한 갱신주기를 설정하는 단계; 를 더 포함하고,
상기 설정된 갱신주기에 따라 범주화된 포인트 클라우드를 이용하여 상기 격자 지도를 생성하는 것을 특징으로 하는 격자 지도 생성 방법.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.
상기 서로 다른 갱신주기를 이용하여 상기 생성된 포인트 클라우드를 적어도 하나의 그룹으로 범주화하는 단계; 를 더 포함하고,
상기 범주화된 포인트 클라우드를 이용하여 상기 격자 지도를 생성하는 것을 특징으로 하는 격자 지도 생성 방법. 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.
상기 제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.
상기 범주화된 포인트 클라우드의 그룹별 서로 다른 갱신 주기를 이용하여 상기 범주화된 포인트 클라우드의 적어도 일부 영역의 포인트들을 필터링하는 단계; 를 더 포함하고,
상기 필터링된 적어도 일부 영역의 포인트들을 기반으로 상기 포인트 클라우드를 범주화 하는 것을 특징으로 하는 격자 지도 생성 방법. 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.
상기 스윕 라인에 스윕되는 상기 범주화된 포인트 클라우드 내 포인트들의 점유 강도를 이용하여 상기 격자셀의 점유도를 계산하고, 상기 계산된 점유도의 로그 대수의 증감에 따라 상기 격자셀의 점유도를 갱신하는 단계; 를 더 포함하고,
상기 점유도가 갱신된 격자셀을 이용하여 상기 격자 지도를 생성하는 것을 특징으로 하는 격자 지도 생성 방법.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.
상기 제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.
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)
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)
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 |
-
2017
- 2017-12-13 KR KR1020170171099A patent/KR102095842B1/en active IP Right Grant
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 |