KR20130142336A - Method for localization and mapping using 3d line, and mobile body thereof - Google Patents
Method for localization and mapping using 3d line, and mobile body thereof Download PDFInfo
- Publication number
- KR20130142336A KR20130142336A KR1020120065475A KR20120065475A KR20130142336A KR 20130142336 A KR20130142336 A KR 20130142336A KR 1020120065475 A KR1020120065475 A KR 1020120065475A KR 20120065475 A KR20120065475 A KR 20120065475A KR 20130142336 A KR20130142336 A KR 20130142336A
- Authority
- KR
- South Korea
- Prior art keywords
- coordinates
- space
- dimensional
- straight line
- extracted
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000013507 mapping Methods 0.000 title claims abstract description 11
- 230000004807 localization Effects 0.000 title claims abstract description 9
- 239000011159 matrix material Substances 0.000 claims abstract description 9
- 230000009977 dual effect Effects 0.000 claims description 12
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 11
- 239000000284 extract Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000011505 plaster Substances 0.000 description 1
Images
Classifications
-
- 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/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/543—Depth or shape recovery from line drawings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- 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/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
Abstract
Description
본 발명은 이동체의 위치를 인식하고 지도를 생성하는 기술에 관한 것으로, 특히 3차원 직선을 이용하여 이동체 스스로가 자신의 위치를 인식하고 동시에 이에 기반하여 주위 환경에 대한 지도를 생성하는 방법, 그 방법을 기록한 기록매체 및 그 방법에 따른 이동체에 관한 것이다.The present invention relates to a technique of recognizing the position of a moving object and generating a map, and more particularly, to a method of recognizing the position of the moving object itself using a three-dimensional straight line and simultaneously generating a map of the surrounding environment based on the position, And a moving body according to the method.
사물의 위치를 파악하는 문제를 해결하기 위한 노력은 오래전부터 이루어져 왔다. 이러한 위치를 파악하는 문제는 현대에 이르러서는 더욱 그 유용성이 증대하고 있다. 특히, 이 시대의 원동력이 되는 기초 기반 기술 중에 위치 인식 기술은 로봇제어, 재난, 군사, 병원, 교통 등 이용되지 않는 분야를 찾기 힘들 정도로 중요한 위치를 차지할 것이다.Efforts to solve the problem of locating objects have been made for a long time. The problem of locating such a location has become increasingly more useful in modern times. Particularly, among the basic technologies that become the driving force of this era, the location recognition technology will occupy an important position to find the fields that are not used such as robot control, disaster, military, hospital, traffic.
종래에 항해 및 항공 기술 등에 적용하기 위해 시도된 전통적 위치 추정 기술에서 벗어나, 소형화된 마이크로프로세서의 도움으로 인공 지능과 로봇 기술이 발전함에 따라 근래에 들어서는 이동체 스스로가 자신의 위치를 파악하기 위한 다양한 기술들로 진화하게 되었다. 특히, 로봇과 같은 이동체들은 종래의 통상적인 위치 추정 장치와는 달리 자신의 위치가 고정되어 있지 않다는 특징이 있는데, 그로 인해 위치 추정을 위한 다양한 기술적 수단들이 요구된다.Since artificial intelligence and robotic technology have been developed with the help of miniaturized microprocessors, it has become more and more widely used in various fields to grasp the position of the mobile body itself . Particularly, moving objects such as robots are characterized in that their positions are not fixed, unlike conventional conventional position estimating devices. Therefore, various technical means for position estimation are required.
이와 관련하여 이동체의 주행을 제어하고 이동체 스스로가 위치한 주변 환경을 파악하기 위한 기술로서, SLAM(Simultaneous Localization and Mapping)이 제시되었다. SLAM은 자율 주행 로봇과 같은 이동체가 주변 환경에 대한 지도를 작성하여 자신의 위치를 인식하는 기술로서, 이하에서 제시되는 비특허문헌에는 거리 및 영상 정보에서 특징을 추출하여 SLAM을 수행하는 기술을 소개하고 있다.In this regard, Simultaneous Localization and Mapping (SLAM) has been proposed as a technique for controlling the traveling of the moving object and grasping the surrounding environment where the moving object itself is located. SLAM is a technology that recognizes its position by creating a map of the surrounding environment such as an autonomous mobile robot. In the non-patent literature presented below, the technology to perform SLAM by extracting features from distance and image information is introduced .
본 발명이 해결하고자 하는 기술적 과제는 종래의 비전(vision)에 기반한 이동체 위치 인식 기술에서 특징점으로서 점(point)을 사용할 경우 위치 인식 및 지도 생성의 성능이 저하되는 문제점을 극복하고, 특징점으로서 단일 영상 내의 직선을 사용할 경우, 바닥과 수직 방향의 직선에 대해서만 공간 지도를 작성할 수 있을 뿐만 아니라, 이동체의 위치와 지도 구성에 오차가 발생하는 한계를 극복하고자 한다.SUMMARY OF THE INVENTION The object of the present invention is to overcome the problem that the performance of position recognition and map generation is deteriorated when a point is used as a feature point in a conventional mobile vision recognition technology based on vision, It is necessary not only to create a space map for the straight line extending in the vertical direction but also to overcome the limitation of the error in the position and the map construction of the moving object.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 이동체가 공간에 대한 지도를 생성하는 방법은, 시야각을 달리하는 복수 개의 카메라를 이용하여 상기 이동체의 주변 공간에 대한 영상을 각각 획득하는 단계; 상기 획득된 영상으로부터 직선(line)을 추출하는 단계; 상기 추출된 직선을 매칭(matching)시켜 3차원 공간 좌표를 생성하는 단계; 및 플뤼커 매트릭스(Plucker matrix)를 이용하여 상기 생성된 3차원 공간 좌표에 기반한 지도를 생성하는 단계;를 포함한다.According to an aspect of the present invention, there is provided a method of generating a map of a moving object according to an embodiment of the present invention includes acquiring images of a surrounding space of the moving object using a plurality of cameras having different viewing angles step; Extracting a line from the acquired image; Generating three-dimensional spatial coordinates by matching the extracted straight lines; And generating a map based on the generated three-dimensional space coordinates using a Plucker matrix.
일 실시예에 따른 상기 공간에 대한 지도를 생성하는 방법에서, 상기 3차원 공간 좌표를 생성하는 단계는, 상기 추출된 직선의 매칭을 통해 발생하는 불일치(disparity)로부터 깊이 정보를 추출하는 단계; 및 상기 추출된 깊이 정보 및 듀얼 플뤼커 좌표(dual plucker coordinates)와 플뤼커 직선 좌표(Plucker line coordinates) 간의 이중성(duality)을 이용하여 3차원 직선을 정의하는 단계;를 포함한다. 또한, 상기 듀얼 플뤼커 좌표는, 상기 이동체의 현재 위치 및 상기 이동체의 회전을 고려한 쿼터니온(quaternion) 값으로 구성된 포즈(pose) 정보에 기반하여 상기 카메라의 위치를 정의하고, 상기 정의된 카메라를 통해 획득된 영상으로부터 추출된 상기 직선의 끝점을 상호 매칭시킴으로써 생성된다.In the method of generating a map for the space according to an exemplary embodiment, the step of generating the three-dimensional space coordinate may include extracting depth information from a disparity generated through matching of the extracted straight lines; And defining a three-dimensional straight line using the extracted depth information and the duality between dual plucker coordinates and plucker line coordinates. The dual flutterer coordinates define the position of the camera based on pose information composed of a quaternion value considering the current position of the moving body and the rotation of the moving body, And matching the end points of the straight line extracted from the acquired image.
일 실시예에 따른 상기 공간에 대한 지도를 생성하는 방법에서, 상기 3차원 공간 좌표에 기반한 지도를 생성하는 단계는, 상기 3차원 공간 좌표를 통해 정의된 3차원 직선에 인버스 깊이(inverse depth)의 성질을 사용하여 SLAM(Simultaneous Localization And Mapping)을 수행한다.In the method of generating a map for the space according to an exemplary embodiment, the step of generating a map based on the three-dimensional space coordinate may include the step of generating an inverse depth And performs SLAM (Simultaneous Localization And Mapping) using the property.
일 실시예에 따른 상기 공간에 대한 지도를 생성하는 방법에서, 상기 추출된 직선 정보가 임계치보다 부족할 경우, 상기 3차원 공간 좌표를 생성하는 단계는, 상기 이동체의 주행 정보(odometry)를 추가적으로 이용하여 수행된다.In the method of generating a map for the space according to an exemplary embodiment, when the extracted straight line information is less than a threshold value, the step of generating the three-dimensional space coordinate may further include using odometry of the moving object .
일 실시예에 따른 상기 공간에 대한 지도를 생성하는 방법에서, 상기 생성된 3차원 공간 좌표와 미리 저장된 공간 좌표를 비교하는 단계; 및 상기 비교 결과에 따라 상기 미리 저장된 공간 좌표에 대한 특징 정보를 선택적으로 갱신하는 단계;를 더 포함한다. 또한, 상기 비교 결과, 상기 생성된 3차원 공간 좌표의 특징 정보가 상기 미리 저장된 공간 좌표 내에 존재하는 경우, 상기 복수 개의 카메라를 이용하여 예측된 직선 및 상기 추출된 직선의 끝점을 이용하여 상기 특징 정보에 대한 갱신 값을 산출하는 단계; 및 상기 이동체의 좌표, 상기 플뤼커 라인 좌표 및 상기 산출된 갱신 값을 이용하여 상기 미리 저장된 공간 좌표의 특징 정보를 갱신하는 단계;를 더 포함한다.According to an exemplary embodiment of the present invention, there is provided a method of generating a map for a space, the method comprising: comparing the generated three-dimensional space coordinate with a previously stored space coordinate; And selectively updating feature information on the previously stored spatial coordinates according to the comparison result. When the feature information of the generated three-dimensional spatial coordinates is present in the pre-stored spatial coordinates, the feature information is calculated using the straight line predicted using the plurality of cameras and the end point of the extracted straight line, Calculating an update value for the current time; And updating the feature information of the previously stored space coordinates using the coordinates of the moving object, the float line coordinates, and the calculated update value.
나아가, 이하에서는 상기 기재된 이동체가 공간에 대한 지도를 생성하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.Further, the following description provides a computer-readable recording medium on which a program for causing a computer to execute a method of generating a map of a space according to the present invention described above.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 이동체를 이용하여 공간에 대한 지도를 생성하는 장치는, 상기 이동체를 상기 공간 내에서 이동시키는 구동부; 상기 이동체에 구비되어 상기 이동체의 주변 공간에 대한 영상을 획득하며, 시야각을 달리하는 복수 개의 카메라; 및 상기 획득된 영상을 이용하여 상기 공간에 대한 3차원 지도를 생성하는 처리부;를 포함하고, 상기 처리부는, 상기 획득된 영상으로부터 직선을 추출하고, 상기 추출된 직선을 매칭시켜 3차원 공간 좌표를 생성하며, 플뤼커 매트릭스를 이용하여 상기 생성된 3차원 공간 좌표에 기반한 지도를 생성한다.According to an aspect of the present invention, there is provided an apparatus for generating a map for a space using a moving object, the apparatus comprising: a driving unit for moving the moving object in the space; A plurality of cameras provided on the mobile body to acquire images of a peripheral space of the mobile body and to have different viewing angles; And a processor for generating a three-dimensional map of the space using the obtained image, wherein the processing unit extracts a straight line from the obtained image, and matches the extracted straight line to obtain a three-dimensional space coordinate And generates a map based on the generated three-dimensional space coordinates using a floater matrix.
일 실시예에 따른 상기 공간에 대한 지도를 생성하는 장치에서, 상기 처리부는, 상기 추출된 직선의 매칭을 통해 발생하는 불일치로부터 깊이 정보를 추출하고, 상기 추출된 깊이 정보 및 듀얼 플뤼커 좌표와 플뤼커 직선 좌표 간의 이중성을 이용하여 3차원 직선을 정의함으로써 상기 3차원 공간 좌표를 생성한다.In an apparatus for generating a map for the space according to an exemplary embodiment, the processing unit may extract depth information from a mismatch generated through matching of the extracted straight lines, and extract the extracted depth information and dual- The three-dimensional space coordinates are generated by defining a three-dimensional straight line using the duality between the rucker linear coordinates.
일 실시예에 따른 상기 공간에 대한 지도를 생성하는 장치에서, 상기 처리부는, 상기 3차원 공간 좌표를 통해 정의된 3차원 직선에 인버스 깊이의 성질을 사용하여 SLAM을 수행한다.In an apparatus for generating a map for the space according to an embodiment, the processing unit performs SLAM using properties of an inverse depth on a three-dimensional straight line defined through the three-dimensional space coordinates.
일 실시예에 따른 상기 공간에 대한 지도를 생성하는 장치는, 상기 이동체의 주행 정보를 측정하는 주행기록계(odometer);를 더 포함하고, 상기 추출된 직선 정보가 임계치보다 부족할 경우, 상기 처리부는, 상기 주행기록계를 이용하여 측정된 주행 정보를 추가적으로 이용하여 상기 3차원 공간 좌표를 생성한다.According to an embodiment of the present invention, an apparatus for generating a map for the space further includes an odometer for measuring travel information of the moving object, and when the extracted straight line information is less than a threshold value, And generates the three-dimensional space coordinates by additionally using the travel information measured using the travel recorder.
일 실시예에 따른 상기 공간에 대한 지도를 생성하는 장치는, 상기 공간에 대한 좌표와 특징 정보를 미리 저장하는 저장부;를 더 포함하며, 상기 처리부는, 상기 생성된 3차원 공간 좌표와 상기 저장부에 저장된 공간 좌표를 비교하고, 상기 비교 결과, 상기 생성된 3차원 공간 좌표의 특징 정보가 상기 미리 저장된 공간 좌표 내에 존재하는 경우, 상기 미리 저장된 공간 좌표에 대한 특징 정보를 갱신한다.The apparatus for generating a map for the space according to an embodiment of the present invention further includes a storage unit for storing coordinates and feature information for the space in advance, And if the feature information of the generated three-dimensional space coordinates is present in the pre-stored space coordinates, the feature information on the pre-stored space coordinates is updated.
본 발명의 실시예들은 복수 개의 카메라를 통해 획득된 영상으로부터 추출된 직선을 이용해 3차원 공간 정보를 생성함으로써, 위치 인식 및 지도 생성 성능을 향상시킬 수 있고, 3차원 공간 내의 직선을 정의함에 있어서 플뤼커 패트릭스를 활용함으로써 바닥과 수직 방향 이외에 공간 내에 존재하는 다양한 방향의 직선을 모두 추출할 수 있으며, 그로 인해 이동체의 위치와 지도 구성에 관한 오차를 감소시켜 보다 정확한 위치 인식 및 지도 생성이 가능하다.The embodiments of the present invention can improve the position recognition and map generation performance by generating three-dimensional spatial information by using a straight line extracted from an image obtained through a plurality of cameras. In defining a straight line in a three-dimensional space, By using the Lucker Patrix, it is possible to extract all the straight lines existing in the space other than the floor and the vertical direction, thereby reducing errors related to the position of the moving object and the map configuration, thereby enabling more accurate position recognition and map generation .
도 1은 본 발명이 속하는 기술 분야에서 모노(mono) 카메라를 이용하여 공간을 인식한 결과를 예시한 도면이다.
도 2는 본 발명의 실시예들이 채택하고 있는 스테레오(stereo) 카메라를 이용하여 3차원 공간을 인식하는 방법을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 이동체가 공간에 대한 지도를 생성하는 방법을 도시한 흐름도이다.
도 4는 본 발명의 실시예들이 채택하고 있는 3차원 공간 좌표를 인식하는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 실시예들이 채택하고 있는 관측 모델에 따라 3차원 지도를 갱신하는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 공간에 대한 지도를 생성하는 방법을 이동체를 활용하여 수행하는 SLAM(Simultaneous Localization And Mapping)에 적용한 전체 과정을 도시한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 이동체를 이용하여 공간에 대한 지도를 생성하는 장치를 도시한 블록도이다.
도 8 및 도 9는 본 발명의 일 실시예에 따른 이동체를 이용하여 특정 공간에 대한 3차원 지도를 생성한 실험 결과를 예시한 도면이다.1 is a diagram illustrating a result of recognizing a space using a mono camera in the technical field to which the present invention belongs.
FIG. 2 is a diagram for explaining a method of recognizing a three-dimensional space using a stereo camera adopted in embodiments of the present invention.
3 is a flowchart illustrating a method of generating a map for a space according to an embodiment of the present invention.
4 is a diagram for explaining a method of recognizing three-dimensional space coordinates adopted by embodiments of the present invention.
5 is a diagram for explaining a method of updating a three-dimensional map according to an observation model adopted by embodiments of the present invention.
FIG. 6 is a flowchart illustrating an entire process of applying a method for generating a map to a space according to an embodiment of the present invention to SLAM (Simultaneous Localization And Mapping) using a mobile object.
FIG. 7 is a block diagram illustrating an apparatus for generating a map of a space using a moving object according to an embodiment of the present invention. Referring to FIG.
FIGS. 8 and 9 are views illustrating experimental results of generating a three-dimensional map of a specific space using a moving object according to an embodiment of the present invention.
본 발명의 실시예들을 구체적으로 설명하기에 앞서 본 발명의 실시예들이 활용되는 위치 인식 및 공간 지도 작성에 관한 기술 분야에서 활용되고 있는 기술들을 간략히 소개한 후, 본 발명의 실시예들이 채택하고 있는 기본 아이디어를 제안하도록 한다.Before describing the embodiments of the present invention in detail, after briefly introducing the techniques utilized in the technical field related to the position recognition and the space mapping in which the embodiments of the present invention are utilized, the embodiments of the present invention Suggest basic ideas.
도 1은 본 발명이 속하는 기술 분야에서 모노(mono) 카메라를 이용하여 공간을 인식한 결과를 예시한 도면이다.1 is a diagram illustrating a result of recognizing a space using a mono camera in the technical field to which the present invention belongs.
앞서 간략히 소개한 바와 같이, SLAM(Simultaneous Localization And Mapping)은 이동 로봇 또는 자동차와 같은 이동체(moving body)가 자기 자신의 위치를 인식하고 동시에 주변 환경에 대한 지도를 작성하는 것을 말한다. 통상적인 비전(vision) 기반의 SLAM 기술은 획득된 비전 정보(카메라를 통해 획득된 영상 정보가 될 수 있다.)로부터 추출된 특징(feature) 정보로서 점(point)을 사용하였다. 그러나, 실내 환경에서는 그 공간 상의 특성으로 인해 점(point) 정보보다는 직선(line) 정보를 활용한 SLAM이 인간에게 보다 유용한 정보를 제공할 수 있다는 사실이 발견되었다. 이러한 연구 결과에 기반하여 직선 정보를 활용한 SLAM의 수행 결과가 도 1에 도시되었다.As described briefly above, SLAM (Simultaneous Localization And Mapping) means that a moving body such as a mobile robot or a car recognizes its own position and simultaneously creates a map of the surrounding environment. Conventional vision-based SLAM technology uses points as feature information extracted from acquired vision information (which can be image information obtained through a camera). However, in the indoor environment, it has been found that SLAM using line information rather than point information can provide more useful information to humans because of its spatial characteristics. Based on the results of these studies, the results of SLAM implementation using linear information are shown in FIG.
도 1의 [A]에서는 하나의 카메라(mono camera)를 이용하여 건물 내의 복도에 대한 영상을 획득하였으며, 획득된 영상으로부터 직선 정보를 추출하여 SLAM을 적용하였다. 그러나, 이렇게 모노 카메라를 이용한 SLAM의 경우, 오직 바닥 직선과 수직 방향의 직선에 대해서 지도를 작성할 수 있다는 약점을 갖는다. 따라서, 추출 정보의 부족으로 인해 도 1의 [B]에서 보듯이 공간 인식과 지도 작성이 정확하게 이루어지지 않는 문제점이 발견되었다.In [A] of FIG. 1, a mono camera is used to acquire an image of a corridor in a building, and the SLAM is applied to extract linear information from the acquired image. However, in the case of the SLAM using the monocamera, there is a weak point that it is possible to create a map only for the bottom straight line and the straight line in the vertical direction. Therefore, it has been found that space recognition and mapping are not performed accurately as shown in [B] of FIG. 1 due to a lack of extraction information.
또한, 모노 카메라를 사용할 경우, 수직 직선과 바닥 방향의 직선에 대해 서로 다른 모델링 기법이 적용되므로, 모든 직선에 통일된 규칙을 적용하기에 어려움이 존재하였다. 나아가, 특징 정보로서 직선이 적게 추출되는 위치에서는 이미지 상에 투영된 직선 정보를 사용하지 않고, 로봇의 주행 정보(odometry)만을 사용해야 하는 한계가 존재하기 때문에 이동 로봇의 위치와 지도 구성에 오차가 크게 발생하였다. 따라서, 상기된 문제점을 해결하기 위해 본 발명의 실시예들은 이하에서 소개되는 바와 같은 기술적 수단을 제안하고자 한다.Also, when a mono camera is used, different modeling techniques are applied to the vertical straight line and the bottom straight line, so that it is difficult to apply the uniform rule to all the straight lines. Furthermore, since there is a limit to use only the odometry of the robot without using the linear information projected on the image at the position where the straight line is extracted as the feature information, the error in the position and the map configuration of the mobile robot is large Respectively. Therefore, in order to solve the above problems, embodiments of the present invention propose technical means as described below.
도 2는 본 발명의 실시예들이 채택하고 있는 스테레오(stereo) 카메라를 이용하여 3차원 공간을 인식하는 방법을 설명하기 위한 도면이다.FIG. 2 is a diagram for explaining a method of recognizing a three-dimensional space using a stereo camera adopted in embodiments of the present invention.
이하에서 제안되는 본 발명의 실시예들은 복수 개의 카메라를 이용하여 각각 시야각이 다른 영상을 촬영하고, 이러한 영상들로부터 추출된 특징 정보를 상호 비교함으로써 3차원 공간 정보를 획득하는 방법을 제안한다. 구현의 관점에서 이러한 복수 개의 카메라는, 좌측 및 우측으로 구성된 스테레오(stereo) 카메라를 활용하고 있으나, 구현 환경 및 필요에 따라서 상/하로 구성되는 스테레오 카메라 또는 3개 이상의 카메라를 동시에 활용하는 것도 가능하다.Embodiments of the present invention proposed below propose a method of acquiring three-dimensional spatial information by capturing an image having a different viewing angle using a plurality of cameras and comparing feature information extracted from the images with each other. From the viewpoint of implementation, such a plurality of cameras utilize left and right stereo cameras, but it is also possible to use stereo cameras or three or more cameras simultaneously, which are configured up and down according to the implementation environment and necessity .
또한, 본 발명의 실시예들은 스테레오 카메라를 사용하여 각각의 카메라를 통해 촬영된 영상 내에 존재하는 특징 정보(앞서 소개한 바와 같이 본 발명의 실시예들은 특징 정보로서 점이 아닌 직선을 사용한다.)에 기반하여 상호 대응되는 특징 정보 간의 불일치(disparity)를 이용하여 공간 정보를 획득한다. 즉, 본 발명의 실시예들에 따른 이동 로봇은 스스로 움직이면서 자신의 주변 환경에 대한 스테레오 이미지 정보를 획득하고, 각각의 스테레오 이미지 상에 투영된 직선의 양 끝점과 카메라의 위치, 3개의 점을 통해 좌/우 평면을 산출하고, 2개의 평면이 만났을 때, 3차원 공간 좌표를 표현할 수 있다.In addition, the embodiments of the present invention use feature information existing in an image photographed by each camera using a stereo camera (as described above, embodiments of the present invention use straight lines instead of points as feature information) And acquires spatial information using a disparity between mutually corresponding feature information. That is, the mobile robot according to the embodiments of the present invention obtains stereo image information about its own surroundings while moving by itself, and determines the position of the camera based on the positions of both ends of the straight line projected on each stereo image, The left / right plane can be calculated, and when two planes meet, three-dimensional space coordinates can be expressed.
도 2에 도시된 바와 같이, 좌측 카메라를 통해 촬영된 영상과 우측 카메라를 통해 촬영된 영상으로부터 각각 직선을 추출하고, 이동체 자신의 위치(카메라의 위치가 될 수 있다.)와 추출된 직선에 기반하여 상호 대응되는 직선의 매칭을 통해 3차원 공간 정보를 생성함으로써 최종적으로는 이동체가 주행하는 공간에 대한 3차원 지도를 생성할 수 있다. 도 2를 통한 실험 결과에는 각 영상과 3차원 지도에는 대응되는 직선에 대한 식별 번호가 부여되어 있어 상호 매칭 관계를 확인할 수 있다.As shown in FIG. 2, a straight line is extracted from an image photographed through the left camera and an image photographed through the right camera, and the position of the moving object itself (which can be the position of the camera) Dimensional space information through matching of straight lines corresponding to each other, thereby finally generating a three-dimensional map of the space that the moving object travels. In the experiment result of FIG. 2, the identification numbers of the straight lines corresponding to each image and the three-dimensional map are given, so that mutual matching relation can be confirmed.
이하에서는, 도면을 참조하여 상기된 기술적 과제를 해결하기 위한 본 발명의 실시예들을 구체적으로 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 명칭 및 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, embodiments of the present invention for solving the above-mentioned technical problems will be described in detail with reference to the drawings. In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It is to be noted that the same components are denoted by the same names and reference numerals as possible throughout the drawings.
도 3은 본 발명의 일 실시예에 따른 이동체가 공간에 대한 지도를 생성하는 방법을 도시한 흐름도로서, 여기서는 우선 개괄적인 개요만을 약술하도록 한다.FIG. 3 is a flowchart showing a method of generating a map for a space according to an embodiment of the present invention. Here, only a general outline is first described.
310 단계에서, 이동체는 시야각을 달리하는 복수 개의 카메라를 이용하여 상기 이동체의 주변 공간에 대한 영상을 각각 획득한다. 이러한 복수 개의 카메라는, 좌측 및 우측으로 구성된 스테레오(stereo) 카메라로 구현될 수 있음은 앞서 설명한 바와 같다.In
320 단계에서, 이동체는 310 단계를 통해 획득된 영상으로부터 직선(line)을 추출한다. 본 발명의 실시예들은 실내 공간에서 보다 정확하고 많은 정보를 추출하기 위해 점이 아닌 직선 정보를 추출하여 활용하게 된다. 물론, 영상으로부터 추출된 직선은 양 끝점을 가지기 때문에 추출된 직선으로부터 고정된 점을 활용하는 것이 가능하다.In
330 단계에서, 이동체는 320 단계를 통해 추출된 직선을 매칭(matching)시켜 3차원 공간 좌표를 생성한다. 이를 위해 본 발명의 실시예들은, 320 단계를 통해 추출된 직선의 매칭을 통해 발생하는 불일치(disparity)로부터 깊이 정보를 추출하고, 상기 추출된 깊이 정보 및 듀얼 플뤼커 좌표(dual plucker coordinates)와 플뤼커 직선 좌표(Plucker line coordinates) 간의 이중성(duality)을 이용하여 3차원 직선을 정의한다. 듀얼 플뤼커 좌표 및 플뤼커 직선 좌표는 스테레오 영상을 통해 직선을 단지 평면적인 정보로만 인식하는 것이 아니라, 3차원 정보에 해당하는 깊이 정보를 추출하기 위해 활용되는 수단이다. 또한, 이러한 좌표 체계는 바닥 및 수직 방향의 직선 이외에도 실내 환경에 존재하는 모든 방향의 직선을 처리할 수 있는 수단으로서 활용된다. 직선 매칭과 3차원 공간 좌표의 생성 과정은, 이후 도 4를 참조하여 보다 구체적으로 기술하도록 한다.In
마지막으로 340 단계에서, 이동체는 플뤼커 매트릭스(Plucker matrix)를 이용하여 330 단계를 통해 생성된 3차원 공간 좌표에 기반한 지도를 생성한다.Finally, in
한편, 상기 320 단계를 통해 추출된 직선 정보가 미리 설정된 임계치보다 부족할 경우, 상기 330 단계의 3차원 공간 좌표를 생성하는 단계는, 상기 이동체의 주행 정보(odometry)를 추가적으로 이용하여 수행되는 것이 바람직하다. 본 발명의 실시예들이 활용하고 있는 스테레오 카메라를 이용한 영상 획득의 경우, 종래의 모노 카메라를 이용한 영상 획득의 경우에 비해 보다 많은 직선 정보를 추출하는 것이 가능하나, 경우에 따라서는 여전히 추출되는 정보가 부족할 수 있다. 따라서, 이런 경우, 추가적으로 이동체에 구비된 주행기록계를 통해 주행 정보를 획득하여 활용하는 것이 가능하다.If the extracted straight line information is smaller than the predetermined threshold value, the step of generating the three-dimensional space coordinates in
도 4는 본 발명의 실시예들이 채택하고 있는 3차원 공간 좌표를 인식하는 방법을 설명하기 위한 도면으로, 스테레오 카메라를 통해 촬영된 좌/우 영상으로부터 깊이 정보를 포함한 공간 정보를 획득하는 방법을 소개하고 있다.FIG. 4 is a view for explaining a method of recognizing three-dimensional space coordinates adopted by embodiments of the present invention. FIG. 4 shows a method of acquiring spatial information including depth information from left and right images photographed by a stereo camera .
앞서 간략히 소개한 바와 같이 본 발명의 실시예들은 스테레오 영상으로부터 추출된 깊이 정보 및 듀얼 플뤼커 좌표와 플뤼커 직선 좌표 간의 이중성을 이용하여 3차원 직선을 정의한다. 보다 구체적으로, 이러한 듀얼 플뤼커 좌표는, 상기 이동체의 현재 위치 및 상기 이동체의 회전을 고려한 쿼터니온(quaternion) 값으로 구성된 포즈(pose) 정보에 기반하여 상기 카메라의 위치를 정의하고, 상기 정의된 카메라를 통해 획득된 영상으로부터 추출된 상기 직선의 끝점을 상호 매칭시킴으로써 생성될 수 있다. As described briefly above, the embodiments of the present invention define a three-dimensional straight line by using the depth information extracted from the stereo image and the duality between the dual and global planar coordinates. More specifically, the dual plane coordinates define the position of the camera based on pose information composed of a quaternion value considering the current position of the moving body and the rotation of the moving body, And matching the end points of the straight line extracted from the image obtained through the matching process.
(1) (One) 모션motion 모델( Model( motionmotion modelmodel ))
로봇의 현재 포즈(pose)를 이라고 표현하고, 는 로봇의 주행기록계(odometer)를 통해 측정된 주행 정보(odometry)라고 하자. 이동 후의 로봇의 포즈는 이며, 로봇의 포즈에 대한 표현은 이라고 정의된다. 여기서, 는 로봇의 현재 위치이고, 는 로봇의 쿼터니온(quaternion)이다. 또한, 로봇의 주행 정보를 나타내는 주행 정보 벡터(odometer vector)는 와 같이 표현될 수 있다. 여기서, 는 공간을 구성하는 3개의 축(x, y, z)을 기준으로 한 회전 벡터(rotation vector)를 나타낸다.The robot's current pose And, (Odometry) measured through the odometer of the robot. The pose of the robot after the movement And the expression of the pose of the robot is . here, Is the current position of the robot, Is the quaternion of the robot. Also, the odometer vector representing the traveling information of the robot Can be expressed as here, Represents a rotation vector with respect to three axes (x, y, z) constituting the space.
(2) 직선 초기화(2) Line initialization
스테레오 카메라 위치를 각각 왼쪽 과 오른쪽 으로 정의하고, 이미지 상에 투영된 직선의 끝점을 이라고 하자. 가 트래킹 되었을 때, 왼쪽 카메라를 통해 촬영된 이미지 상에서 추출된 직선의 양 끝점 와 왼쪽 카메라의 위치 을 이용하여 하나의 평면 을 생성할 수 있다. 또한, 오른쪽 카메라를 통해 촬영된 이미지 상에서 추출된 직선의 양 끝점 와 오른쪽 카메라의 위치 를 이용하여 다른 하나의 평면 를 생성할 수 있다. 이제, 도 4와 같이 각각 왼쪽과 오른쪽에서 결정된 3개의 점을 연결하여 양 평면이 만나는 지점을 통해 듀얼 플뤼커 좌표(dual Plucker coordinates)를 생성할 수 있다. 듀얼 플뤼커 좌표는 다음의 수학식 1과 같은 플뤼커 매트릭스(Plucker matrix)를 이용하여 산출된다.Position the stereo camera left And right And the end point of the straight line projected on the image is defined as . The left and right ends of the straight line extracted on the image taken through the left camera, And the position of the left camera Lt; RTI ID = 0.0 > plane Can be generated. Further, both end points of a straight line extracted on the image photographed through the right camera And the location of the right camera Using one plane Lt; / RTI > Now, as shown in Fig. 4, it is possible to create dual plucker coordinates through the points where the two planes meet by connecting the three points determined on the left and right sides, respectively. The dualplurality coordinates are calculated using a Plucker matrix as shown in the following equation (1).
또한, 이상의 과정을 통해 산출된 듀얼 플뤼커 좌표와 플뤼커 직선 좌표는 다음의 수학식 2와 같은 원소들 간의 이중성(duality)을 이용하여 플리커 직선 좌표를 생성할 수 있다.In addition, the dual flutterer coordinates and theplurier linear coordinates calculated through the above process can generate the flicker linear coordinates using the duality between the elements as shown in the following Equation (2).
한편, 복도 환경과 같은 실내 공간에서 직선을 매칭하는 경우, 만약 매칭되는 직선 간에 불일치(disparity)가 나타나지 않는 경우 상기 제안된 직선 초기화 방법에 따라 연산을 수행하게 되면, 무한 직선으로 초기화가 되는 문제점이 나타난다. 이러한 문제점 때문에 모든 직선에 대하여 인버스 깊이(inverse depth)의 특성을 플뤼커 라인 좌표에 적용하는 것이 바람직하다. 즉, 3차원 공간 좌표를 통해 정의된 3차원 직선에 인버스 깊이의 성질을 사용하여 SLAM(Simultaneous Localization And Mapping)을 수행함으로써 매칭되는 직선 간의 불일치 상황에서도 무한 직선의 오류가 나타나지 않는다.On the other hand, in the case of matching a straight line in an indoor space such as a corridor environment, if the disparity does not appear between matched straight lines, if the calculation is performed according to the proposed linear initialization method, appear. Because of this problem, it is desirable to apply inverse depth characteristics to the flare line coordinates for all straight lines. That is, an infinite straight line error does not occur even in a mismatch between straight lines that are matched by performing SLAM (Simultaneous Localization And Mapping) using the property of the inverse depth on the three-dimensional straight line defined by the three-dimensional spatial coordinates.
도 5는 본 발명의 실시예들이 채택하고 있는 관측 모델에 따라 3차원 지도를 갱신하는 방법을 설명하기 위한 도면으로서, 좌/우측의 예측된 위치 정보를 기반으로 추정된 직선으로부터 추출된 양 끝점을 이용하여 위치 정보를 갱신하는 방법을 소개하고 있다.FIG. 5 is a diagram for explaining a method for updating a three-dimensional map according to an observation model adopted by embodiments of the present invention. In FIG. 5, To update the location information by using the location information.
본 발명의 실시예들은 공간 내에서 이동체가 이동하면서 공간 지도를 생성하고 이를 기록한다. 따라서, 이동체의 이동에 따라 동일한 공간을 재측정할 수도 있으며, 또는 미리 자신이 저장하고 있던 공간 지도를 갱신해야 할 필요가 있다. 따라서, 본 발명의 실시예들에 따른 이동체는, 앞서 생성된 3차원 공간 좌표와 미리 저장된 공간 좌표를 비교하고, 이러한 비교 결과에 따라 미리 저장된 공간 좌표에 대한 특징 정보를 선택적으로 갱신하는 것이 바람직하다.Embodiments of the present invention create and record a spatial map while a moving object moves within a space. Therefore, it is necessary to re-measure the same space according to the movement of the moving object, or update the space map stored in advance by itself. Accordingly, it is preferable that the moving object according to the embodiments of the present invention compares the previously generated three-dimensional space coordinates with previously stored space coordinates, and selectively updates the feature information on the previously stored space coordinates according to the comparison result .
특히, 상기 비교 결과, 앞서 생성된 3차원 공간 좌표의 특징 정보가 상기 미리 저장된 공간 좌표 내에 존재하는 경우, 복수 개의 카메라를 이용하여 예측된 직선 및 추출된 직선의 양 끝점을 이용하여 특징 정보에 대한 갱신 값을 산출하고, 상기 이동체의 좌표, 상기 플뤼커 라인 좌표 및 상기 산출된 갱신 값을 상기 미리 저장된 공간 좌표의 특징 정보를 갱신할 수 있다.In particular, when the feature information of the generated three-dimensional spatial coordinates is present in the pre-stored spatial coordinates as a result of the comparison, both the straight line predicted using the plurality of cameras and both end points of the extracted straight line are used for the feature information And update the feature information of the previously stored spatial coordinates of the coordinates of the moving object, the float line coordinates, and the calculated updated value.
(3) 갱신((3) Update updateupdate ))
구현의 관점에서, 도 5에서는 좌측 카메라에 대한 이노베이션(innovation) 과정과 EKF-갱신(Extended Kalman Filter update)을 산출한 후, 우측 카메라에 대해서도 동일한 연산을 수행하였다. 설명의 편의를 위해 여기서는, 좌측 카메라에 대한 연산 과정만을 설명하도록 한다. 좌측 카메라의 예측된 직선은 이고, 추정된 직선으로부터 추출된 직선의 양 끝점은 이다. 이로부터 이노베이션을 구하는 방법은 다음의 수학식 3과 같다.From the viewpoint of implementation, in FIG. 5, after calculating the innovation process and EKF-update (left Kalman filter update) for the left camera, the same calculation is performed for the right camera. For convenience of explanation, only the calculation process for the left camera will be described here. The predicted straight line of the left camera , And both end points of the straight line extracted from the estimated straight line are to be. The method of obtaining the innovation from this is shown in Equation (3).
또한, EKF에 따른 갱신 과정은 다음의 수학식 4와 같다.The updating process according to the EKF is expressed by the following equation (4).
수학식 4에서, 는 이노베이션 공분산(covariance)이고, 는 관측 모델에 대해 상태 변수(로봇 좌표 및 플뤼커 라인 좌표에 해당한다.)로 자코비안(Jacobian)을 산출한 값이고, 는 관측 모델에 대해 측정값으로 자코비안을 산출한 값이고, 는 갱신 전 상태 변수의 공분산이고, 은 이미지 픽셀 노이즈이고, 는 칼만 이득(Kalman gain)이고, 는 갱신된 상태 변수이고, 는 이노베이션이며, 는 갱신된 상태 변수의 공분산을 나타낸다.In Equation (4) Is the innovation covariance, Is a value obtained by calculating the Jacobian with the state variable (corresponding to the robot coordinate and the blur line coordinate) for the observation model, Is a value obtained by calculating a Jacobian as a measurement value with respect to an observation model, Is the covariance of the state variable before the update, Is the image pixel noise, Is the Kalman gain, Is an updated state variable, Is innovation, Represents the covariance of the updated state variable.
도 6은 본 발명의 일 실시예에 따른 공간에 대한 지도를 생성하는 방법을 이동체를 활용하여 수행하는 SLAM(Simultaneous Localization And Mapping)에 적용한 전체 과정을 도시한 흐름도이다.FIG. 6 is a flowchart illustrating an entire process of applying a method for generating a map to a space according to an embodiment of the present invention to SLAM (Simultaneous Localization And Mapping) using a mobile object.
610 단계에서, 이동체는 위치 인식을 시도한다. 이를 위해 스테레오 카메라를 이용하여 각각 621 단계 및 622 단계를 통해 좌측과 우측 영상을 촬영한다. 그리고, 이동체는 촬영된 영상으로부터 각각 631 단계 및 632 단계를 통해 직선을 추출한다. 그런 다음, 이동체는 640 단계에서 추출된 이미지 상의 투영된 직선의 양 끝점과 카메라의 위치를 활용하여 3차원 공간 좌표를 생성한다.In step 610, the mobile unit attempts to recognize the position. For this, the left and right images are photographed through
만약, 이동체가 계속해서 이동하면서 이미지를 획득하면, 650 단계를 통해 이미지 상에 투영된 측정된 직선이 이미 획득한 직선인지 아닌지 여부를 비교하여 판단하게 된다. 판단 결과, 만약 해당 직선이 이미 획득한 직선에 해당할 경우, 670 단계로 진행하여 EKF-SLAM 과정 중 갱신(update) 과정을 수행하게 된다. 반면, 해당 직선이 이미 획득한 직선이 아닌 경우, 660 단계의 3차원 공간 좌표 생성 과정을 수행하게 된다. 이 과정은 앞서 소개한 EKF-SLAM과정 중, 직선 초기화 과정에 해당한다. 이제 680 단계에서, 이동체는 추정된 위치 및 생성된 지도 정보에 기초하여 자신의 움직임을 제어하게 된다.If the moving object continues to acquire an image while moving, it is determined whether or not the measured straight line projected on the image through the
도 7은 본 발명의 일 실시예에 따른 이동체를 이용하여 공간에 대한 지도를 생성하는 장치를 도시한 블록도로서, 각각의 구성 요소들은 앞서 도 3을 통해 기술한 각 단계에 대응하므로, 여기서는 장치적 특성에 집중하되, 설명의 중복을 피하기 위해 그 개요만을 약술하도록 한다.FIG. 7 is a block diagram illustrating an apparatus for generating a map for a space using a moving object according to an embodiment of the present invention, wherein each element corresponds to each step described above with reference to FIG. 3, Focus on the enemy characteristics, but only outline the outline to avoid duplication of explanation.
구동부(10)는, 이동체(700)를 공간 내에서 이동시키는 역할을 수행한다. 구현의 관점에서 구동부(10)는 동력 전달 수단에 기반하여 바퀴나 관절을 포함한 다양한 이동 수단이 활용될 수 있다.The driving
카메라(20)는 시야각을 달리하는 영상을 획득할 수 있도록 상기 이동체(700)에 복수 개 구비되며, 상기 이동체의 주변 공간에 대한 영상을 획득한다. 이러한 카메라(20)는 스테레오 카메라인 것이 바람직하다.A plurality of
처리부(30)는 상기 획득된 영상을 이용하여 상기 공간에 대한 3차원 지도를 생성하는 역할을 수행하며, 이를 위해 적어도 하나의 프로세서(processor)로 구현될 수 있다. 이러한 처리부(30)는, 카메라(20)를 통해 획득된 영상으로부터 직선을 추출하고, 상기 추출된 직선을 매칭시켜 3차원 공간 좌표를 생성하며, 플뤼커 매트릭스를 이용하여 상기 생성된 3차원 공간 좌표에 기반한 지도를 생성한다. 따라서, 이러한 연산을 처리하기 위해 상기된 프로세서 이외에 연산 과정에서 필요한 메모리와 일련의 명령어 집합을 포함하는 프로그램 코드가 활용될 수 있다.The
특히, 처리부(30)는, 상기 추출된 직선의 매칭을 통해 발생하는 불일치로부터 깊이 정보를 추출하고, 상기 추출된 깊이 정보 및 듀얼 플뤼커 좌표와 플뤼커 직선 좌표 간의 이중성을 이용하여 3차원 직선을 정의함으로써 상기 3차원 공간 좌표를 생성한다. 여기서, 듀얼 플뤼커 좌표는, 상기 이동체의 현재 위치 및 상기 이동체의 회전을 고려한 쿼터니온 값으로 구성된 포즈 정보에 기반하여 상기 카메라의 위치를 정의하고, 상기 정의된 카메라를 통해 획득된 영상으로부터 추출된 상기 직선의 끝점을 상호 매칭시킴으로써 생성된다.In particular, the
한편, 획득된 영상으로부터 이중성이 감지되지 않는 경우의 오류를 막기 위해, 상기 처리부(30)는, 3차원 공간 좌표를 통해 정의된 3차원 직선에 인버스 깊이의 성질을 사용하여 SLAM을 수행하는 것이 바람직하다.On the other hand, in order to prevent the error when the duality is not detected from the acquired image, the
나아가, 도 7의 이동체(700)는, 이동체의 주행 정보를 측정하는 주행기록계(odometer)(15)를 더 포함할 수 있으며, 상기 처리부(30)를 통해 추출된 직선 정보가 미리 설정된 임계치보다 부족할 경우, 상기 주행기록계(15)를 이용하여 측정된 주행 정보를 추가적으로 이용하여 상기 3차원 공간 좌표를 생성할 수 있다.7 may further include an
또한, 도 7의 이동체(700)는, 상기 공간에 대한 좌표와 특징 정보를 미리 저장하는 저장부(40)를 더 포함할 수 있으며, 상기 처리부(30)를 통해 생성된 3차원 공간 좌표와 상기 저장부에 저장된 공간 좌표를 비교하고, 상기 비교 결과, 상기 생성된 3차원 공간 좌표의 특징 정보가 상기 미리 저장된 공간 좌표 내에 존재하는 경우, 상기 미리 저장된 공간 좌표에 대한 특징 정보를 갱신할 수 있다. 여기서, 처리부(30)는, 상기 복수 개의 카메라(20)를 이용하여 예측된 직선 및 상기 추출된 직선의 끝점을 이용하여 상기 특징 정보에 대한 갱신 값을 산출하고, 상기 이동체의 좌표, 상기 플뤼커 라인 좌표 및 상기 산출된 갱신 값을 이용하여 상기 미리 저장된 공간 좌표의 특징 정보를 갱신하는 것이 바람직하다.The moving
도 8 및 도 9는 본 발명의 일 실시예에 따른 이동체를 이용하여 특정 공간에 대한 3차원 지도를 생성한 실험 결과를 예시한 도면으로서, 특히 스테레오 플뤼커 SLAM을 수행한 실험 결과를 예시하고 있다.FIG. 8 and FIG. 9 illustrate experimental results of generating a three-dimensional map of a specific space using a moving object according to an exemplary embodiment of the present invention. In particular, FIG. 8 and FIG. 9 illustrate experimental results of a stereo float SLAM .
실험 환경은 다음과 같다. 이동체로서 Pioneer P3-AT 로봇을 사용하였으며, 로봇에 스테레오 카메라를 설치해 실험하였고, 입력으로 받은 데이터는 로봇의 주행기록계(odometer)와 좌/우의 카메라로부터 획득한 영상이 포함되었다. 이미지는 320×240 크기이고 픽셀 노이즈 0.2를 넣어 Matlab toolbox를 확장하여 구현하였다.The experimental environment is as follows. The Pioneer P3-AT robot was used as a moving object, and a stereo camera was installed in the robot. The data received from the robot included an odometer of the robot and images obtained from the left and right cameras. The image is 320 × 240 pixels and the pixel noise 0.2 is added to the Matlab toolbox.
성능 평가를 위한 실험은 도 8의 [A]에 도시된 바와 같은 특정 건물의 복도에서 취득한 이미지 데이터들을 기반으로 이루어졌으며, 전방에서 창문에서 들어오는 빛과 거울에 의한 반사 현상들이 존재하였고, 복도 중간에 소화기, 자전거 등과 같은 사물들이 존재하였다. 좌우 이미지 각각 3372장 사용하여 EKF-SLAM을 수행하였다. 단일 카메라를 사용하였을 경우, 공간 지도를 생성하는데 있어서 바닥 직선과 수직 직선에 대해서만 지도 생성이 가능한데 반해, 본 실시예에 따른 도 8의 [B]를 참조하면 지도 생성 과정에서는 스테레오 카메라를 적용하였으므로 모든 직선에 대한 지도 작성이 가능하다는 것을 확인할 수 있다.Experiments for performance evaluation were performed based on image data acquired from a corridor of a specific building as shown in [A] of FIG. 8. There were reflection phenomena caused by light and mirrors coming from a window in front, There were things such as fire extinguishers and bicycles. EKF-SLAM was performed using 3372 sheets of left and right images. When a single camera is used, a map can be generated only for the bottom straight line and the vertical straight line in generating the spatial map, whereas referring to [B] of FIG. 8 according to the present embodiment, since the stereo camera is applied in the map generation process, You can see that it is possible to map the straight line.
도 9는 플뤼커 직선 좌표와 듀얼 플뤼커 매트릭스를 스테레오 카메라에 적용하였을 때 정확도를 확인하기 위한 실험으로써, 3차원 공간 상의 직선 한 끝점에 대한 실제 거리 값과 추정된 거리 값(Z)을 비교하여 도시하고 있다. 도 9의 비교표를 참조하면, 본 발명의 실시예를 적용한 결과, 거리 추정이 실제 값과 매우 유사하게 이루어지고 있으며, 정확한 공간 지도가 생성되고 있음을 보여주고 있다.9 is an experiment for confirming the accuracy when applying the Furuker linear coordinate and the dual flutter matrix to a stereo camera. The actual distance value and the estimated distance value (Z) for a straight line end point in the three-dimensional space are compared Respectively. Referring to the comparison table of FIG. 9, as a result of applying the embodiment of the present invention, it is shown that the distance estimation is very similar to the actual value, and an accurate spatial map is generated.
이상에서 기술된 본 발명의 실시예들은 스레레오 영상에서 추출된 직선의 양 끝점과 카메라의 옵티컬 센터(optical center) 등 세 기준점을 사용하여 좌/우 각각의 시야각에 따른 평면을 생성하고, 두 평면이 만났을 경우 하나의 직선으로 표현이 가능한 사실을 이용하였다. 또한, 불일치(disparity)가 나타나지 않는 직선을 적용하기 위하여 인버스 깊이(inverse depth)의 특성을 직선에 적용시켜 SLAM을 수행하였다.The embodiments of the present invention described above generate three planes corresponding to the left and right viewing angles by using three reference points such as an end point of a straight line extracted from a Stereo image and an optical center of a camera, We used the fact that we can express it as one straight line. In order to apply a straight line with no disparity, the inverse depth property was applied to the straight line to perform the SLAM.
상기된 실시예들에 따르면, 복수 개의 카메라를 통해 획득된 영상으로부터 추출된 직선을 이용해 3차원 공간 정보를 생성함으로써, 위치 인식 및 지도 생성 성능을 향상시킬 수 있고, 3차원 공간 내의 직선을 정의함에 있어서 플뤼커 패트릭스를 활용함으로써 바닥과 수직 방향 이외에 공간 내에 존재하는 다양한 방향의 직선을 모두 추출할 수 있으며, 그로 인해 이동체의 위치와 지도 구성에 관한 오차를 감소시켜 보다 정확한 위치 인식 및 지도 생성이 가능하다.According to the embodiments described above, it is possible to improve the position recognition and the map generation performance by generating the three-dimensional spatial information using the straight line extracted from the image obtained through the plurality of cameras. In addition, By using the Fuller Patrix, it is possible to extract all the straight lines existing in the space other than the floor and the vertical direction, thereby reducing the errors related to the position and the map configuration of the moving object, It is possible.
한편, 본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the present invention can be embodied in computer readable code on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device and the like, and also a carrier wave (for example, transmission via the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily deduced by programmers skilled in the art to which the present invention belongs.
이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described above with reference to various embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
700 : 이동체
10 : 구동부 15 : 주행기록계
20 : 카메라 30 : 처리부
40 : 저장부700: mobile body
10: Driving unit 15: Odometer
20: camera 30:
40: storage unit
Claims (10)
시야각을 달리하는 복수 개의 카메라를 이용하여 상기 이동체의 주변 공간에 대한 영상을 각각 획득하는 단계;
상기 획득된 영상으로부터 직선(line)을 추출하는 단계;
상기 추출된 직선을 매칭(matching)시켜 3차원 공간 좌표를 생성하는 단계; 및
플뤼커 매트릭스(Plucker matrix)를 이용하여 상기 생성된 3차원 공간 좌표에 기반한 지도를 생성하는 단계;를 포함하는 방법.In a method for a mobile body to generate a map for a space,
Acquiring images of a peripheral space of the moving object using a plurality of cameras having different viewing angles;
Extracting a line from the acquired image;
Generating three-dimensional spatial coordinates by matching the extracted straight lines; And
And generating a map based on the generated three-dimensional spatial coordinates using a Plucker matrix.
상기 3차원 공간 좌표를 생성하는 단계는,
상기 추출된 직선의 매칭을 통해 발생하는 불일치(disparity)로부터 깊이 정보를 추출하는 단계; 및
상기 추출된 깊이 정보 및 듀얼 플뤼커 좌표(dual plucker coordinates)와 플뤼커 직선 좌표(Plucker line coordinates) 간의 이중성(duality)을 이용하여 3차원 직선을 정의하는 단계;를 포함하는 방법.The method of claim 1,
Wherein the generating the three-dimensional spatial coordinates comprises:
Extracting depth information from a disparity generated through matching of the extracted straight lines; And
And defining a three-dimensional straight line using the extracted depth information and the duality between dual plucker coordinates and plucker line coordinates.
상기 듀얼 플뤼커 좌표는,
상기 이동체의 현재 위치 및 상기 이동체의 회전을 고려한 쿼터니온(quaternion) 값으로 구성된 포즈(pose) 정보에 기반하여 상기 카메라의 위치를 정의하고, 상기 정의된 카메라를 통해 획득된 영상으로부터 추출된 상기 직선의 끝점을 상호 매칭시킴으로써 생성되는 것을 특징으로 하는 방법.3. The method of claim 2,
The dual-
The position of the camera is defined based on pose information including a current position of the moving object and quaternion values considering the rotation of the moving object, and the straight line extracted from the image obtained through the defined camera. Generated by matching the endpoints together.
상기 3차원 공간 좌표에 기반한 지도를 생성하는 단계는,
상기 3차원 공간 좌표를 통해 정의된 3차원 직선에 인버스 깊이(inverse depth)의 성질을 사용하여 SLAM(Simultaneous Localization And Mapping)을 수행하는 것을 특징으로 하는 방법.The method of claim 1,
Wherein the step of generating a map based on the three-
Wherein SLAM (Simultaneous Localization And Mapping) is performed using a property of an inverse depth on a three-dimensional straight line defined through the three-dimensional spatial coordinates.
상기 추출된 직선 정보가 임계치보다 부족할 경우, 상기 3차원 공간 좌표를 생성하는 단계는,
상기 이동체의 주행 정보(odometry)를 추가적으로 이용하여 수행되는 것을 특징으로 하는 방법.The method of claim 1,
When the extracted linear information is less than a threshold, generating the three-dimensional spatial coordinates,
And using the driving information (odometry) of the moving object.
상기 생성된 3차원 공간 좌표와 미리 저장된 공간 좌표를 비교하는 단계; 및
상기 비교 결과에 따라 상기 미리 저장된 공간 좌표에 대한 특징 정보를 선택적으로 갱신하는 단계;를 더 포함하는 방법.The method of claim 1,
Comparing the generated three-dimensional space coordinates with previously stored space coordinates; And
And selectively updating feature information on the previously stored spatial coordinates according to the comparison result.
상기 비교 결과, 상기 생성된 3차원 공간 좌표의 특징 정보가 상기 미리 저장된 공간 좌표 내에 존재하는 경우,
상기 복수 개의 카메라를 이용하여 예측된 직선 및 상기 추출된 직선의 끝점을 이용하여 상기 특징 정보에 대한 갱신 값을 산출하는 단계; 및
상기 이동체의 좌표, 상기 플뤼커 라인 좌표 및 상기 산출된 갱신 값을 이용하여 상기 미리 저장된 공간 좌표의 특징 정보를 갱신하는 단계;를 더 포함하는 방법.The method according to claim 6,
If the feature information of the generated three-dimensional space coordinates is present in the pre-stored space coordinates as a result of the comparison,
Calculating an update value for the feature information by using a straight line predicted using the plurality of cameras and an end point of the extracted straight line; And
And updating feature information of the pre-stored spatial coordinates using the coordinates of the moving object, the flicker line coordinates and the calculated update value.
상기 복수 개의 카메라는, 좌측 및 우측으로 구성된 스테레오(stereo) 카메라인 것을 특징으로 하는 방법.The method of claim 1,
Wherein the plurality of cameras is a stereo camera consisting of left and right cameras.
상기 이동체를 상기 공간 내에서 이동시키는 구동부;
상기 이동체에 구비되어 상기 이동체의 주변 공간에 대한 영상을 획득하며, 시야각을 달리하는 복수 개의 카메라; 및
상기 획득된 영상을 이용하여 상기 공간에 대한 3차원 지도를 생성하는 처리부;를 포함하고,
상기 처리부는,
상기 획득된 영상으로부터 직선을 추출하고, 상기 추출된 직선을 매칭시켜 3차원 공간 좌표를 생성하며, 플뤼커 매트릭스를 이용하여 상기 생성된 3차원 공간 좌표에 기반한 지도를 생성하는 것을 특징으로 하는 장치.An apparatus for generating a map of a space using a moving object,
A driving unit for moving the moving object in the space;
A plurality of cameras provided on the mobile body to acquire images of a peripheral space of the mobile body and to have different viewing angles; And
And a processor for generating a three-dimensional map of the space using the acquired image,
Wherein,
And extracting a straight line from the obtained image, matching the extracted straight lines to generate three-dimensional spatial coordinates, and generating a map based on the generated three-dimensional spatial coordinates using a flicker matrix.
상기 처리부는,
상기 추출된 직선의 매칭을 통해 발생하는 불일치로부터 깊이 정보를 추출하고, 상기 추출된 깊이 정보 및 듀얼 플뤼커 좌표와 플뤼커 직선 좌표 간의 이중성을 이용하여 3차원 직선을 정의함으로써 상기 3차원 공간 좌표를 생성하는 것을 특징으로 하는 장치.The method of claim 9,
Wherein,
Depth information is extracted from the mismatch generated through the matching of the extracted straight lines, and the three-dimensional space coordinates are defined by defining a three-dimensional straight line by using the extracted depth information and the duality between the dual flicker coordinates and the flicker linear coordinates. Device for producing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120065475A KR101423139B1 (en) | 2012-06-19 | 2012-06-19 | Method for localization and mapping using 3D line, and mobile body thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120065475A KR101423139B1 (en) | 2012-06-19 | 2012-06-19 | Method for localization and mapping using 3D line, and mobile body thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130142336A true KR20130142336A (en) | 2013-12-30 |
KR101423139B1 KR101423139B1 (en) | 2014-07-28 |
Family
ID=49985942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120065475A KR101423139B1 (en) | 2012-06-19 | 2012-06-19 | Method for localization and mapping using 3D line, and mobile body thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101423139B1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160027460A (en) * | 2014-08-29 | 2016-03-10 | 고려대학교 산학협력단 | Method for extracting wall structure of space from geometric data of space |
CN106444846A (en) * | 2016-08-19 | 2017-02-22 | 杭州零智科技有限公司 | Unmanned aerial vehicle and method and device for positioning and controlling mobile terminal |
CN107836012A (en) * | 2015-07-08 | 2018-03-23 | 高丽大学校产学协力团 | Mapping method between projection image generation method and its device, image pixel and depth value |
KR101896183B1 (en) * | 2017-06-27 | 2018-09-07 | 한양대학교 산학협력단 | 3-d straight lines detection method for camera motion estimation |
KR20200014858A (en) * | 2018-06-07 | 2020-02-11 | 우이시 테크놀로지스 (베이징) 리미티드. | Location measurement and simultaneous mapping method and apparatus |
CN111283730A (en) * | 2020-03-03 | 2020-06-16 | 广州赛特智能科技有限公司 | Robot initial pose acquisition method based on point-line characteristics and starting self-positioning method |
CN112258646A (en) * | 2020-10-26 | 2021-01-22 | 上海汽车集团股份有限公司 | Three-dimensional linear landmark construction method and device |
CN117082188A (en) * | 2023-10-12 | 2023-11-17 | 广东工业大学 | Consistency video generation method and related device based on Pruk analysis |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102647351B1 (en) | 2017-01-26 | 2024-03-13 | 삼성전자주식회사 | Modeling method and modeling apparatus using 3d point cloud |
US11164326B2 (en) | 2018-12-18 | 2021-11-02 | Samsung Electronics Co., Ltd. | Method and apparatus for calculating depth map |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101207535B1 (en) | 2010-12-31 | 2012-12-03 | 한양대학교 산학협력단 | Image-based simultaneous localization and mapping for moving robot |
-
2012
- 2012-06-19 KR KR1020120065475A patent/KR101423139B1/en active IP Right Grant
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160027460A (en) * | 2014-08-29 | 2016-03-10 | 고려대학교 산학협력단 | Method for extracting wall structure of space from geometric data of space |
CN107836012A (en) * | 2015-07-08 | 2018-03-23 | 高丽大学校产学协力团 | Mapping method between projection image generation method and its device, image pixel and depth value |
US10349033B2 (en) | 2015-07-08 | 2019-07-09 | Teelabs Co., Ltd. | Three-dimensional map generating and displaying apparatus and method |
CN107836012B (en) * | 2015-07-08 | 2021-10-08 | 高丽大学校产学协力团 | Projection image generation method and device, and mapping method between image pixel and depth value |
CN106444846A (en) * | 2016-08-19 | 2017-02-22 | 杭州零智科技有限公司 | Unmanned aerial vehicle and method and device for positioning and controlling mobile terminal |
KR101896183B1 (en) * | 2017-06-27 | 2018-09-07 | 한양대학교 산학협력단 | 3-d straight lines detection method for camera motion estimation |
KR20200014858A (en) * | 2018-06-07 | 2020-02-11 | 우이시 테크놀로지스 (베이징) 리미티드. | Location measurement and simultaneous mapping method and apparatus |
CN111283730A (en) * | 2020-03-03 | 2020-06-16 | 广州赛特智能科技有限公司 | Robot initial pose acquisition method based on point-line characteristics and starting self-positioning method |
CN112258646A (en) * | 2020-10-26 | 2021-01-22 | 上海汽车集团股份有限公司 | Three-dimensional linear landmark construction method and device |
CN112258646B (en) * | 2020-10-26 | 2024-03-12 | 上海汽车集团股份有限公司 | Three-dimensional line landmark construction method and device |
CN117082188A (en) * | 2023-10-12 | 2023-11-17 | 广东工业大学 | Consistency video generation method and related device based on Pruk analysis |
CN117082188B (en) * | 2023-10-12 | 2024-01-30 | 广东工业大学 | Consistency video generation method and related device based on Pruk analysis |
Also Published As
Publication number | Publication date |
---|---|
KR101423139B1 (en) | 2014-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101423139B1 (en) | Method for localization and mapping using 3D line, and mobile body thereof | |
CN110312912B (en) | Automatic vehicle parking system and method | |
EP3347875B1 (en) | Localization of a robot in an environment using detected edges of a camera image from a camera of the robot and detected edges derived from a three-dimensional model of the environment | |
CN109211241B (en) | Unmanned aerial vehicle autonomous positioning method based on visual SLAM | |
CN108051002B (en) | Transport vehicle space positioning method and system based on inertial measurement auxiliary vision | |
KR101776622B1 (en) | Apparatus for recognizing location mobile robot using edge based refinement and method thereof | |
KR102016551B1 (en) | Apparatus and method for estimating position | |
KR101725060B1 (en) | Apparatus for recognizing location mobile robot using key point based on gradient and method thereof | |
KR101947619B1 (en) | Slam on a mobile device | |
KR101776621B1 (en) | Apparatus for recognizing location mobile robot using edge based refinement and method thereof | |
KR101784183B1 (en) | APPARATUS FOR RECOGNIZING LOCATION MOBILE ROBOT USING KEY POINT BASED ON ADoG AND METHOD THEREOF | |
KR101439921B1 (en) | Slam system for mobile robot based on vision sensor data and motion sensor data fusion | |
KR101658578B1 (en) | Apparatus and Method for calibration of composite sensor | |
KR20120046974A (en) | Moving robot and simultaneous localization and map-buliding method thereof | |
DK2933604T3 (en) | PROCEDURE FOR LOCATING A ROBOT IN A LOCATION PLAN | |
JP2013025401A (en) | Self-position estimation device, self-position estimation method and program | |
CN110260866A (en) | A kind of robot localization and barrier-avoiding method of view-based access control model sensor | |
KR20180066618A (en) | Registration method of distance data and 3D scan data for autonomous vehicle and method thereof | |
KR101207535B1 (en) | Image-based simultaneous localization and mapping for moving robot | |
WO2020195875A1 (en) | Information processing device, information processing method, and program | |
Hsu et al. | Application of multisensor fusion to develop a personal location and 3D mapping system | |
KR100906991B1 (en) | Method for detecting invisible obstacle of robot | |
Lee et al. | A novel method for estimating the heading angle for a home service robot using a forward-viewing mono-camera and motion sensors | |
Rahmani et al. | Research of smart real-time robot navigation system | |
Hernández et al. | Visual SLAM with oriented landmarks and partial odometry |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170629 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180702 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190624 Year of fee payment: 6 |