KR20180113060A - Keyframe extraction method for graph-slam and apparatus using thereof - Google Patents

Keyframe extraction method for graph-slam and apparatus using thereof Download PDF

Info

Publication number
KR20180113060A
KR20180113060A KR1020170044262A KR20170044262A KR20180113060A KR 20180113060 A KR20180113060 A KR 20180113060A KR 1020170044262 A KR1020170044262 A KR 1020170044262A KR 20170044262 A KR20170044262 A KR 20170044262A KR 20180113060 A KR20180113060 A KR 20180113060A
Authority
KR
South Korea
Prior art keywords
key frame
frame
key
frames
feature
Prior art date
Application number
KR1020170044262A
Other languages
Korean (ko)
Other versions
KR101941852B1 (en
Inventor
김곤우
양은성
Original Assignee
충북대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 충북대학교 산학협력단 filed Critical 충북대학교 산학협력단
Priority to KR1020170044262A priority Critical patent/KR101941852B1/en
Publication of KR20180113060A publication Critical patent/KR20180113060A/en
Application granted granted Critical
Publication of KR101941852B1 publication Critical patent/KR101941852B1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • G01S17/8943D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Image Analysis (AREA)

Abstract

The present invention relates to a graph SLAM. The graph SLAM accumulates a plurality of pieces of frame information to generate a key frame to have enough amount of information included in the key frame so as to detect loop closure. Therefore, a graph can be optimized based on posture change information of the loop closure to achieve more accurate graph SLAM.

Description

그래프 SLAM을 위한 키프레임 추출방법 및 이를 이용한 SLAM 장치 {KEYFRAME EXTRACTION METHOD FOR GRAPH-SLAM AND APPARATUS USING THEREOF}TECHNICAL FIELD [0001] The present invention relates to a key frame extraction method for a graph SLAM, and a SLAM device using the key frame extraction method.

본 발명은 로봇의 동시적 위치인식 및 지도작성 (SLAM) 에 관한 것으로서, 더 구체적으로는 그래프 SLAM을 위한 키프레임 추출방법에 관한 것이다.The present invention relates to simultaneous location recognition and mapping (SLAM) of a robot, and more particularly, to a key frame extraction method for a graph SLAM.

로봇이 실생활 공간에서 동작을 하기 위해서, 로봇은 특정 센서를 통해 로봇이 동작하는 주변환경에 관한 정보를 탐지하고 이를 기반으로 자신의 위치를 인식하는 것이 필요하다. 이러한 기술을 SLAM (Simultaneous Localization And Mapping) 이라고 한다.In order for a robot to operate in a real-life space, it is necessary for the robot to detect the information about the environment in which the robot operates through a specific sensor and to recognize its position based on the information. This technique is called SLAM (Simultaneous Localization And Mapping).

최근에 증강현실이나 자동차의 자율주행에 관한 연구가 활발하게 진행됨에 따라, SLAM 문제의 중요성은 더욱 대두되고 있다. 특히, 자율주행 자동차가 효율적으로 주행하기 위해서는 센서로부터 취득한 정보를 통하여 주행중인 자동차 주변에 관한 정밀한 환경지도가 필수적이며, 이러한 지도작성에는 자동차의 정밀한 위치인식이 수반되어야 한다.Recently, as researches on augmented reality and autonomous driving of automobiles have progressed actively, the importance of SLAM problem is getting more and more important. In particular, in order for an autonomous vehicle to travel efficiently, it is necessary to precisely map the environment around the automobile through information acquired from the sensor.

한편, 정밀한 위치인식을 위해서는 고정밀 GPS와 같은 고가 장비를 사용하여야 하지만, 이와 같은 고가 GPS 장비도 도심과 같이 음영지역이 빈발하는 환경에서는 무용지물이 될 수 있다.On the other hand, expensive equipment such as high-precision GPS should be used for precise position recognition, but such expensive GPS equipment may become useless in an environment where shaded areas are frequent as in the city center.

따라서, 최근에는 GPS와 같은 고가의 위치인식 센서를 사용하기 보다는 저가 센서를 상호 보완적으로 사용함으로써 위치오차를 보정해가며 동시에 정밀한 지도작성을 할 수 있는 SLAM 기술에 대한 연구가 활발하게 이루어지고 있다. 거리센서나 비전센서를 예로 들 수 있다.Therefore, in recent years, research on SLAM technology has been actively carried out to compensate for position errors and to make precise map at the same time by using complementary low cost sensors rather than using expensive position recognition sensors such as GPS . Distance sensors and vision sensors are examples.

비전 센서의 경우, 단안 카메라, 양안 카메라, 및 전방위 카메라 등이 사용된다. 이들 비전 센서는 거리 센서에 비하여 보다 풍부한 정보를 획득할 수 있다는 장점이 있으나, 양안 카메라를 제외하고는 거리 정보를 특정할 수 없다는 단점이 있다. In the case of the vision sensor, a monocular camera, a binocular camera, and a omnidirectional camera are used. Although these vision sensors have the advantage that they can acquire more rich information than distance sensors, they have a disadvantage in that distance information can not be specified except a binocular camera.

비전 센서는 초기화를 통해 상대거리를 특정하여 스케일 팩터로 사용함으로써, 상술한 단점을 극복할 수 있지만, 카메라가 이동함에 따라 오차가 누적되어 스케일 값이 변하는 스케일 드리프트라는 별도의 문제를 야기한다.The vision sensor can overcome the disadvantages described above by specifying the relative distance through initialization and using the relative distance as a scale factor, but it causes a separate problem of scale drift in which the error is accumulated and the scale value changes as the camera moves.

거리센서로는 3D LiDAR나 2D LiDAR가 사용되며, 일반적으로 비전 센서에 비하여 정보량이 적다는 단점이 있으나, 최근에는 3D LiDAR의 가격이 하락함에 따라, 획득가능한 정보량이 상대적으로 많은 3D LiDAR가 많이 사용되고 있는 추세이다. 3D LiDAR or 2D LiDAR is used as the distance sensor, but it has a disadvantage that the amount of information is smaller than that of the vision sensor. However, recently, as the price of 3D LiDAR is lowered, 3D LiDAR having a relatively large amount of information is used There is a trend.

일반적으로, 3D LiDAR를 사용한 SLAM의 경우에는 로봇의 전체 궤적을 이용하여 지도를 최적화하는 Full SLAM 알고리즘보다는 로봇의 현 위치와 직전 위치간의 연관관계만을 이용하여 현재 위치를 추정하고 이를 기반으로 지도를 작성하는 On-line SLAM 알고리즘이 사용하며 이러한 방법을 사용한 3D LiDAR 기반의 지도작성 방법들을 TAM(Tracking And Mapping) 이라고 한다.Generally, SLAM using 3D LiDAR estimates the current position by using only the relation between the current position and the previous position of the robot rather than the Full SLAM algorithm that optimizes the map using the entire trajectory of the robot, The 3D LiDAR-based mapping methods using this method are called TAM (Tracking And Mapping).

3D LiDAR를 사용한 TAM 방법의 경우 LiDAR의 긴 측정거리 덕분에 실내 환경이나, 구분이 용이한 실외 환경에서는 만족스러운 성능을 보이지만, 정보량이 충분하지 못한 환경이나 자동차와 같이 빠른 속도로 이동하는 플랫폼에서는 오차 누적으로 인하여 SLAM을 진행하면 할 수록 위치오차가 증가하는 문제가 있다. 더욱이, 3D LiDAR 를 사용한 TAM 방법으로는 SLAM분야의 중요한 이슈중 하나인 루프 클로져 검출이 용이하지 않기 때문에 누적오차를 적절히 보정할 수 없다는 문제가 있다.In case of TAM method using 3D LiDAR, LiDAR's long measurement distance shows satisfactory performance in indoor environment and easy-to-distinguish outdoor environment. However, in an environment with insufficient information or a platform moving at high speed like automobile, There is a problem that the position error increases as the SLAM proceeds. Furthermore, with the TAM method using 3D LiDAR, it is not easy to detect the loop closure, which is one of the important issues in the SLAM field, so that the cumulative error can not be properly corrected.

본 발명은 3D LiDAR 를 사용하면서도 기존의 TAM 방법이 갖는 전술한 문제점을 해결하기 위하여, 개선된 그래프 SLAM방법을 제안한다. 그래프 SLAM 방법은 노드로 정의되는 플랫폼의 위치들간의 상관관계를 얻고 이를 최적화하는 방법으로서, 최적화를 위해서는 각 노드간의 충분한 상관관계 정보가 필요하다. 이러한 정보가 충분한 노드를 검출하기 위해서는 센서로부터 획득된 정보가 충분히 많은 센서 프레임에서 노드를 구성할 필요가 있고 이러한 충분한 정보를 가지고 있는 센서 정보를 키프레임이라고 한다. The present invention proposes an improved graph SLAM method to overcome the above-mentioned problems of the existing TAM method while using 3D LiDAR. The graph SLAM method is a method of obtaining and optimizing the correlation between the positions of platforms defined as nodes, and sufficient correlation information between each node is required for optimization. In order to detect enough nodes for this information, it is necessary to construct a node in sensor frames with enough information obtained from the sensor, and sensor information having sufficient information is called a key frame.

한편, 3D LiDAR 거리 센서가 각 노드에서 획득하는 점구름 정보는 z축에 대한 정보가 연속적이지 않기 때문에, 하나의 프레임에 포함된 점구름 정보를 키프레임으로 사용하여 그래프 SLAM을 구현하기에는 정보량이 부족하다.On the other hand, since the point cloud information acquired by each 3D node of the LiDAR distance sensor is not continuous on the z axis, it is difficult to implement graph SLAM by using point cloud information included in one frame as a key frame. Do.

따라서, 본발명은 3D LiDAR을 센서로서 사용하면서 효율적인 그래프 SLAM을 구현하기 위하여, 복수의 프레임에 포함된 점구름 정보를 누적하여 키프레임을 추출하는 방법을 제공하는 것을 목적으로 한다.Accordingly, it is an object of the present invention to provide a method of accumulating point cloud information included in a plurality of frames to extract a key frame in order to realize an efficient graph SLAM while using 3D LiDAR as a sensor.

또한, 본 발명은 복수의 프레임에 포함된 점구름 정보를 누적하여 키프레임을 추출하는 방법을 사용하여 그래프 SLAM을 구현하는 방법 및 장치를 제공하는 것을 목적으로 한다.It is another object of the present invention to provide a method and apparatus for implementing a graph SLAM using a method of accumulating point cloud information included in a plurality of frames and extracting key frames.

본 발명의 일 실시예에 따르는 그래프 SLAM을 위한 키프레임 추출방법은 하나 이상의 센서로부터 제1프레임을 입력받아 특징부를 검출하고 검출된 특징부를 키프레임으로 설정하는 단계, 하나 이상의 센서로부터 제2프레임을 입력받아 특징부를 검출하고 검출된 특징부를 키프레임과 매칭하는 단계 및 매칭된 제2프레임의 특징부를 키프레임에 누적하여 키프레임을 갱신하는 단계를 포함하며, 제2프레임에 후속하여 입력되는 프레임들에 대하여 매칭하는 단계 및 키프레임을 갱신하는 단계를 반복하여 실행할 수 있다.A key frame extraction method for a graph SLAM according to an exemplary embodiment of the present invention includes receiving a first frame from at least one sensor and detecting a feature and setting the detected feature as a key frame, Detecting a feature to be received, matching the detected feature with a key frame, and accumulating a feature of the matched second frame in a key frame to update a key frame, And the step of updating the key frame can be repeatedly executed.

본 발명의 일 실시예에 따르는 그래프 SLAM을 위한 키프레임 추출방법에서 매칭하는 단계는 키프레임 또는 갱신된 키프레임과 제2프레임 또는 후속하여 입력되는 프레임간의 자세변화를 계산하고, 자세변화에 기초하여 특징부를 매칭할 수 있다.In the key frame extraction method for a graph SLAM according to an exemplary embodiment of the present invention, the step of matching may include calculating a posture change between a key frame or an updated key frame and a second frame or a subsequent input frame, Feature parts can be matched.

본 발명의 일 실시예에 따르는 그래프 SLAM을 위한 키프레임 추출방법에서, 하나 이상의 센서는 SLAM 장치에 탑재되어 있으며, 매칭하는 단계 및 키프레임을 갱신하는 단계를 반복하는 회수는, 누적되는 프레임의 개수, SLAM 장치의 누적 이동거리, 및 누적되는 특징부의 개수 중 적어도 하나에 따라 결정될 수 있다.In the key frame extraction method for a graph SLAM according to an embodiment of the present invention, one or more sensors are mounted on the SLAM device, and the number of times of repeating the step of matching and the updating of the key frame is determined by the number of accumulated frames , The cumulative travel distance of the SLAM device, and the number of features to be accumulated.

본 발명의 일 실시예에 따르는 그래프 SLAM을 위한 키프레임 추출방법에서, 매칭하는 단계 및 키프레임을 갱신하는 단계는, 누적되는 프레임의 개수가 제1소정값보다 크고, SLAM 장치의 누적 이동거리가 제2소정값보다 크고, 누적되는 특징부의 개수가 제3소정값보다 큰 경우, 매칭하는 단계 및 키프레임을 갱신하는 단계를 반복하여 실행하는 것을 종료하고 키프레임을 결정할 수 있다.In the key frame extraction method for a graph SLAM according to an exemplary embodiment of the present invention, the step of matching and the updating of key frames may include updating the number of accumulated frames to a value greater than a first predetermined value, If the number of features to be accumulated is larger than the second predetermined value and the number of feature parts to be accumulated is larger than the third predetermined value, the step of matching and the step of updating the key frame may be repeatedly terminated and the key frame may be determined.

본 발명의 일 실시예에 따르는 그래프 SLAM을 위한 키프레임 추출방법에서는 특징부로서 프레임의 에지 포인트와 플래너 포인트의 두 가지 특징들을 사용한다. In the key frame extraction method for the graph SLAM according to the embodiment of the present invention, two features of the frame edge point and the planar point are used as the feature.

본 발명의 다른 일 실시예에 따르는 그래프 SLAM방법은 전술한 키프레임 추출방법을 사용하여 각각이 그래프상의 각 노드에 해당하는 복수의 키프레임을 결정하는 단계, 복수의 키프레임들간의 유사도 매칭을 통하여 루프 클로져를 검출하는 단계, 및 루프 클로져가 검출되면, 검출된 루프 클로져를 이용하여 그래프를 최적화하는 단계를 포함할 수 있다.The graph SLAM method according to another embodiment of the present invention includes a step of determining a plurality of key frames corresponding to each node on the graph using the above-described key frame extraction method, a similarity matching process between a plurality of key frames Detecting the loop closure, and, if a loop closure is detected, optimizing the graph using the detected loop closure.

본 발명의 다른 일 실시예에 따르는 그래프 SLAM방법에서 루프 클로져를 검출하는 단계는, 복수의 키프레임들간 ICP (Iterative Closet Point) 매칭 유사도가 소정값 이상인 키프레임들을 검출하여 루프 클로져로서 결정할 수 있다.In the graph SLAM method according to another exemplary embodiment of the present invention, detecting the loop closure may detect key frames having an ICP (Iterative Closet Point) matching similarity between a plurality of key frames equal to or greater than a predetermined value, and determining the loop closure.

본 발명의 다른 일 실시예에 따르는 그래프 SLAM방법에서, 그래프를 최적화하는 단계는, 루프 클로져로서 결정된 키프레임들간의 자세변화에 기초하여 그래프를 최적화할 수 있다.In the graph SLAM method according to another embodiment of the present invention, optimizing the graph can optimize the graph based on the attitude change between the key frames determined as the loop closure.

본 발명의 다른 일 실시예에 따르는 그래프 SLAM을 위한 키프레임 추출장치는, 하나 이상의 센서로부터 복수의 프레임을 입력받아 프레임단위로 특징부를 검출하는 특징부 검출 유닛, 특징부 검출 유닛에 의하여 검출된 특징부와 키프레임을 매칭하는 매칭 유닛 및 매칭된 특징부를 키프레임에 누적하여 키프레임을 갱신하는 키프레임 추출 유닛을 포함하며, 키프레임 추출 유닛은 제1프레임의 특징부를 키프레임으로 설정하고, 제1프레임에 후속하는 프레임들의 특징부가 매칭 유닛에 의하여 매칭되면 매칭된 특징부들을 키프레임에 누적하여 키프레임을 갱신하는 것을 반복하여 실행함으로써 키프레임을 추출할 수 있다.According to another aspect of the present invention, there is provided an apparatus for extracting a key frame for a SLAM, the apparatus comprising: a feature detecting unit that receives a plurality of frames from at least one sensor and detects the feature in units of frames; And a key frame extraction unit for updating the key frame by accumulating the matched feature in the key frame, wherein the key frame extraction unit sets the feature of the first frame as a key frame, If the features of the frames following one frame are matched by the matching unit, the key frames can be extracted by repeatedly accumulating the matched features in the key frame and updating the key frame.

본 발명의 다른 일 실시예에 따르는 그래프 SLAM을 위한 키프레임 추출장치에서, 매칭 유닛은 키프레임과 제1프레임에 후속하는 프레임들간의 자세변화를 계산하고, 자세변화에 기초하여 각 프레임의 특징부를 키프레임과 매칭할 수 있다.In the key frame extracting apparatus for a graph SLAM according to another embodiment of the present invention, the matching unit calculates a posture change between a key frame and frames subsequent to the first frame, and calculates a feature of each frame based on the posture change Key frame.

본 발명의 다른 일 실시예에 따르는 그래프 SLAM을 위한 키프레임 추출장치에서, 하나 이상의 센서는 SLAM 장치에 탑재되어 있으며, 키프레임 추출 유닛은, 누적되는 프레임의 개수, SLAM 장치의 누적 이동거리, 및 누적되는 특징부의 개수가 정해 놓은 각각의 소정값보다 작은 동안 키프레임을 갱신하는 것을 반복적으로 실행할 수 있다.In the key frame extracting apparatus for a graph SLAM according to another embodiment of the present invention, at least one sensor is mounted on a SLAM apparatus, and the key frame extracting unit extracts a number of frames accumulated, a cumulative moving distance of the SLAM apparatus, It is possible to repeatedly execute updating the key frame while the number of feature parts to be accumulated is smaller than each predetermined value.

본 발명의 다른 일 실시예에 따르는 그래프 SLAM을 위한 키프레임 추출장치에서, 키프레임 추출 유닛은, 누적되는 프레임의 개수가 제1소정값보다 크고, SLAM 장치의 누적 이동거리가 제2소정값보다 크고, 누적되는 특징부의 개수가 제3소정값보다 큰 경우, 키프레임을 갱신하는 것을 종료하고 키프레임을 결정할 수 있다.In the key frame extracting apparatus for the graph SLAM according to another embodiment of the present invention, the key frame extracting unit may extract the key frame from the key frame extracting unit in such a manner that the number of accumulated frames is larger than the first predetermined value, If the number of large, accumulating features is greater than the third predetermined value, updating of the key frame may be terminated and the key frame determined.

본 발명의 다른 일 실시예에 따르는 그래프 SLAM을 위한 키프레임 추출장치에서, 특징부로서 프레임의 에지 포인트와 플래너 포인트의 두 가지 특징들을 사용한다. 본 발명의 다른 일 실시예에 따르는 그래프 SLAM장치는, 각각이 그래프상의 각 노드에 해당하는 복수의 키프레임을 결정하는 키프레임 추출유닛, 복수의 키프레임들간의 유사도 매칭을 통하여 루프 클로져를 검출하는 루프 클로져 검출 유닛, 및 루프 클로져가 검출되면, 검출된 루프 클로져를 이용하여 그래프를 최적화하는 그래프 최적화 유닛을 포함할 수 있다.In a key frame extraction apparatus for a graph SLAM according to another embodiment of the present invention, two features of a frame edge point and a planar point are used as a feature. The graph SLAM apparatus according to another embodiment of the present invention includes a key frame extracting unit for determining a plurality of key frames corresponding to each node on the graph, a key frame extracting unit for detecting a loop closure through similarity matching between a plurality of key frames A loop closure detection unit, and a graph optimization unit that optimizes the graph using the detected loop closure when a loop closure is detected.

본 발명의 다른 일 실시예에 따르는 그래프 SLAM장치에서, 루프 클로져 검출 유닛은, 복수의 키프레임들간 ICP (Iterative Closet Point) 매칭 유사도가 소정값 이상인 키프레임들을 루프 클로져로서 결정할 수 있다.In a graph SLAM apparatus according to another embodiment of the present invention, the loop closure detection unit may determine key frames whose ICP (Iterative Closet Point) matching similarity between a plurality of key frames is equal to or greater than a predetermined value as a loop closure.

본 발명의 다른 일 실시예에 따르는 그래프 SLAM장치에서, 그래프 최적화 유닛은 루프 클로져로서 결정된 키프레임들간의 자세변화에 기초하여 그래프를 최적화할 수 있다.In a graph SLAM device according to another embodiment of the present invention, the graph optimizing unit can optimize the graph based on the attitude change between key frames determined as a loop closure.

본 발명의 다른 일 실시예에 따르는 그래프 SLAM을 위한 키프레임 추출장치 또는 이를 사용한 그래프 SLAM장치는 하나 이상의 프로세서에 의하여 구현될 수 있다.A key frame extraction device for a graph SLAM or a graph SLAM device using the same may be implemented by one or more processors according to another embodiment of the present invention.

상술한 바와 같이, 본 발명에서 제안한 다양한 실시예에 따라 본발명은 3D LiDAR을 센서로서 사용하면서 효율적인 그래프 SLAM을 구현하기 위하여, 복수의 프레임에 포함된 점구름 정보를 누적하여 키프레임을 추출하는 방법과 이를 사용하여 그래프 SLAM을 구현하는 방법 및 장치를 제공한다.As described above, according to various embodiments of the present invention, in order to implement an efficient graph SLAM while using 3D LiDAR as a sensor, a method of accumulating point cloud information included in a plurality of frames and extracting key frames And a method and apparatus for implementing the graph SLAM using the same.

도 1은 SLAM을 설명하기 위한 블럭도이다.
도 2는 16계층 3D LiDAR 센서를 통해 획득한 점구름 정보의 일 예를 도시한다.
도 3은 본 발명의 일 실시예에 따른 키프레임 추출방법을 설명하기 위한 흐름도이다.
도 4는 3D LiDAR로부터 입력된 점구름 정보로부터 추출된 특징부의 일 예를 도시한다.
도 5는 본 발명의 일 실시예에 따라 복수의 프레임 정보를 누적하여 생성한 키프레임의 일 예를 도시한다.
도 6은 본 발명에 따른 키프레임 추출절차를 사용한 그래프 SLAM 방법의 일 예를 설명하기 위한 흐름도이다.
도 7은 본 발명에 따른 그래프 SLAM에서의 그래프 구성 개념도이다.
도 8은 본 발명의 일 실시예에 따른 그래프 SLAM에서 생성한 그래프의 일 예를 도시한다.
도 9는 본 발명의 일 실시예에 따른 그래프 SLAM을 위한 키프레임 추출장치를 도시한 블럭도이다.
도 10은 본 발명의 일 실시예에 따른 그래프 SLAM 장치를 도시한 블럭도이다.
도 11은 본 발명의 일 실시예에 따른 키프레임 추출장치 또는 그래프 SLAM장치를 마이크로 프로세서로 구현한 예를 도시한 블럭도이다.
1 is a block diagram for explaining SLAM.
FIG. 2 shows an example of point cloud information acquired through a 16-layer 3D LiDAR sensor.
3 is a flowchart illustrating a key frame extraction method according to an embodiment of the present invention.
Fig. 4 shows an example of a feature extracted from the point cloud information input from 3D LiDAR.
FIG. 5 illustrates an example of a key frame generated by accumulating a plurality of pieces of frame information according to an embodiment of the present invention.
6 is a flowchart illustrating an example of a graph SLAM method using a key frame extraction procedure according to the present invention.
7 is a conceptual diagram of the configuration of a graph in a graph SLAM according to the present invention.
FIG. 8 shows an example of a graph generated in the graph SLAM according to an embodiment of the present invention.
9 is a block diagram illustrating a key frame extraction apparatus for a graph SLAM according to an embodiment of the present invention.
10 is a block diagram illustrating a graph SLAM device according to an embodiment of the present invention.
11 is a block diagram illustrating an example of a key frame extracting apparatus or a graph SLAM apparatus according to an embodiment of the present invention implemented by a microprocessor.

본 명세서에서 개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시에서 제안하고자 하는 실시예는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 당해 기술분야에서 통상의 지식을 가진 자에게 실시예들의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.Brief Description of the Drawings The advantages and features of the embodiments disclosed herein, and how to accomplish them, will be apparent with reference to the embodiments described below with reference to the accompanying drawings. It should be understood, however, that the invention is not limited to the disclosed embodiments, but may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. But only to provide a complete picture of the categories.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. The terms used in this specification will be briefly described, and the disclosed embodiments will be described in detail.

본 명세서에서 사용되는 용어는 개시된 실시예들의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 명세서의 상세한 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 명세서의 전반에 걸친 내용을 토대로 정의되어야 한다. Although the terminology used herein should be interpreted taking into account the functions of the disclosed embodiments, it is to be understood that the present invention may be embodied in many other specific forms without departing from the spirit or essential characteristics thereof. Also, in certain cases, there may be a term arbitrarily selected by the applicant, in which case the meaning thereof will be described in detail in the detailed description of the corresponding specification. Accordingly, the terms used in the present disclosure should be defined based on the meanings of the terms, not on the names of the terms, but on the entire contents of the specification.

본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다.The singular expressions herein include plural referents unless the context clearly dictates otherwise.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.When an element is referred to as "including" an element throughout the specification, it is to be understood that the element may include other elements as well, without departing from the spirit or scope of the present invention. Also, as used herein, the term "part " refers to a hardware component such as software, FPGA or ASIC, and" part " However, "part" is not meant to be limited to software or hardware. "Part" may be configured to reside on an addressable storage medium and may be configured to play back one or more processors. Thus, by way of example, and not limitation, "part (s) " refers to components such as software components, object oriented software components, class components and task components, and processes, Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables. The functions provided in the components and "parts " may be combined into a smaller number of components and" parts " or further separated into additional components and "parts ".

아래에서는 첨부한 도면을 참고하여 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to clearly explain the present invention in the drawings, parts not related to the description will be omitted.

도 1은 이동하는 물체가 자신의 위치를 인식하며 지도를 작성 (SLAM) 하는 상황을 단순화하여 도시한다. 이동하는 물체, 예컨대 자동차는 도 1에 도시된 궤적을 따라 주행하면서 3D LiDAR 센서로 주변환경 (A, B, C)을 인식한다. 자동차가 P1위치에 있을 때에는 주변환경 (A, B)을 인식하고, P2위치에 있을 때에는 주변환경 (B, C)를 인식한다. 또한, 자동차는 자동차가 P1과 P2사이를 이동한 주행거리를 주행거리측정 (Odometry) 을 통해 인식할 수 있다. 자동차는 이들 정보를 조합하여 자동차의 현재 위치를 인식하며 또한 주변환경을 지도로 작성한다. FIG. 1 schematically shows a situation in which a moving object recognizes its position and creates a map (SLAM). A moving object, such as an automobile, travels along the trajectory shown in Fig. 1, and recognizes the surroundings (A, B, C) with a 3D LiDAR sensor. When the car is in the P1 position, it recognizes the surrounding environment (A, B). When the car is in the P2 position, it recognizes the surrounding environment (B, C). In addition, the automobile can recognize the distance traveled by the vehicle between P1 and P2 through odometry. The car recognizes the current location of the car by combining the information and maps the surrounding environment.

그러나, 전술한 정보들, 즉 주행거리측정값과 주변환경정보측정값에는 오차가 있을 수 있다. 더욱이, 측정이 진행될 수록 측정값의 오차는 누적될 수 있다. 따라서, 이를 토대로 작성된 지도나 자동차가 인식하는 위치는 적절히 최적화 또는 보정될 필요가 있다.However, there may be an error in the above-described information, that is, the mileage measurement value and the ambient environment information measurement value. Moreover, the error of the measured value can be accumulated as the measurement progresses. Therefore, the map or the location recognized by the vehicle based on this need to be optimized or corrected appropriately.

도 2는 16계층 3D LiDAR 센서를 통해 획득한 점구름 정보의 일 예를 도시한다. 3D LiDAR의 경우 센서 어레이가 몇 계층으로 이루어져 있는가에 따라 차이가 있으나, 일반적으로 16개 정도의 저계층 센서는 z축 정보량이 충분하지 않기 때문에 하나의 프레임 데이터를 그래프 SLAM을 위한 키프레임으로 사용하기에는 적합하지 않다. 즉, x축이나 y축의 경우와는 달리, z축의 경우에는 거리가 멀어짐에 따라 각 계층간의 거리가 멀어지게 되고 이로 인해 탐지되는 정보량이 부족하게 된다. 따라서, 본 발명에서는 하나의 프레임만으로 키프레임을 생성하는 것이 아니고, 복수의 프레임을 누적하여 키프레임을 생성 또는 추출하는 방법을 제안한다.FIG. 2 shows an example of point cloud information acquired through a 16-layer 3D LiDAR sensor. In the case of 3D LiDAR, there are differences depending on the number of layers of the sensor array. However, since about 16 low-level sensors do not have enough z-axis information, one frame data is used as a key frame for SLAM Inappropriate. That is, unlike the case of the x-axis and the y-axis, in the case of the z-axis, the distances between the layers become farther apart as the distances become farther away. Therefore, the present invention proposes a method of generating or extracting a key frame by accumulating a plurality of frames instead of generating a key frame using only one frame.

도 3은 키프레임 추출방법을 설명하기 위한 흐름도이다. 흐름도에서 사용되는 용어는 다음과 같이 정의된다. Kn은 키프레임값이며, FRn은 키프레임에 누적되는 프레임 개수이며, Dn은 플랫폼 (센서가 탑재되어 있는 이동체) 의 누적 이동거리, FEn는 하나의 프레임에서 검출된 특징부의 개수이며, thfr는 키프레임에 누적되는 프레임 개수 문턱값이며, thdist는 플랫폼의 누적 이동거리 문턱값이며, thfe는 키프레임에 누적되는 특징부의 개수의 문턱값이다.3 is a flowchart for explaining a key frame extraction method. The terms used in the flowchart are defined as follows. Kn is a key frame values, FRn is the number of frames to be stacked to the key frame, Dn is a platform cumulative moving distance (a moving object in the sensor is mounted), FEn is the number of feature portion detected in one frame, th fr is Th dist is the cumulative moving distance threshold of the platform, and th fe is the threshold value of the number of features accumulated in the key frame.

n번째 키프레임 추출 알고리즘이 시작되면 단계 100에서 Kn, FRn, Dn, 및 FEn이 초기화된다. 그 후 단계 110에서 플랫폼 (예컨대 자동차)에 탑재된 센서 (예컨데 3D LiDAR)에 의하여 관측된 프레임이 입력된다. 이때 입력되는 정보는 도 2에 도시된 바와 같은 점구름 정보형태일 수 있다. When the n-th key frame extraction algorithm is started, Kn, FRn, Dn, and FEn are initialized in step 100. Thereafter, at step 110, a frame observed by a sensor (e.g., 3D LiDAR) mounted on a platform (e.g., a car) is input. The input information may be in the form of point cloud information as shown in FIG.

단계 120에서 입력된 프레임의 특징부를 검출한다. 본 발명에서는 센서로부터 입력되는 프레임의 점구름 정보 전체를 그대로 키프레임에 누적하기 보다는 프레임의 점구름 정보로부터 특징부를 검출하고, 특징부만을 키프레임에 누적한다. The feature of the frame input in step 120 is detected. In the present invention, rather than accumulating the whole point cloud information of the frame input from the sensor directly in the key frame, the feature is detected from the point cloud information of the frame, and only the feature is accumulated in the key frame.

원본 점구름 정보대신에 사용되는 특징부는 플레너 포인트와 에지 포인트 등이 있다. 플레너 포인트는 3D LiDAR의 한 계층에서 입력받은 점들 중 연속적으로 이어져 평면으로 인식될 수 있는 점들이며, 에지 포인트는 플레너 포인트의 마지막 점 또는 두드러지게 변하는 특이점으로 정의된다. The features used in place of the original point cloud information are the planer point and the edge point. Planer points are points that can be recognized as planes continuously connected to one of the input points in a layer of 3D LiDAR, and the edge point is defined as the last point of the planar point or the singularly changing singularity.

도 4는 3D LiDAR로부터 입력된 점구름 정보로부터 추출된 특징부의 일 예를 도시한다. 여기서 플레너 포인트는 빨간색으로 표시되어 있으며, 에지 포인트는 파란색으로 표시되어 있다.Fig. 4 shows an example of a feature extracted from the point cloud information input from 3D LiDAR. Here, the planer points are marked in red, and the edge points are marked in blue.

단계 130에서 키프레임과 특징부를 매칭한다. 플랫폼에 탑재된 3D LiDAR 센서는 플랫폼이 이동함에 따라 함께 움직이므로 3D LiDAR 센서가 탐지하는 프레임 정보 또는 그 프레임 정보로부터 얻어진 특징부를 그대로 키프레임에 누적할 수는 없으며, 각 프레임이 얻어진 시점에서의 플랫폼의 자세정보와 키프레임의 자세정보를 매칭시킨 후 누적하여야 한다. 따라서, 입력된 프레임과 키프레임간의 자세변화를 계산하여 이를 기초로 키프레임과 특징부를 매칭시킨다.In step 130, key frames and features are matched. Since the 3D LiDAR sensor mounted on the platform moves together as the platform moves, the feature information obtained from the frame information or the frame information detected by the 3D LiDAR sensor can not be accumulated in the key frame as it is. The attitude information of the key frame and the attitude information of the key frame are matched and accumulated. Therefore, the posture change between the input frame and the key frame is calculated, and the key frame and the feature are matched based on the calculation.

단계 140에서 특징부를 키프레임에 누적한다. 도 5는 특징부를 누적한 키프레임의 일 예를 도시한다. 본 발명은 복수의 프레임 정보를 누적한 키프레임을 사용함으로써 3D LiDAR 센서의 정보부족 문제를 해결할 뿐만 아니라, 프레임 정보를 그대로 사용하지 않고 프레임의 특징부만을 사용하여 키프레임에 누적한다. 따라서, 저용량의 메모리에서도 구현이 가능하며, 자세정보를 추출하는데 요구되는 계산량도 줄일 수 있다. In step 140, the feature is accumulated in the key frame. FIG. 5 shows an example of a key frame in which features are accumulated. The present invention not only solves the lack of information of the 3D LiDAR sensor by using a key frame in which a plurality of frame information is accumulated, but also accumulates the frame information in the key frame using only the feature portion of the frame. Therefore, it can be implemented in a low-capacity memory, and the amount of calculation required to extract attitude information can also be reduced.

단계 150에서 키프레임에 누적된 프레임의 개수 (FRn), 플랫폼의 누적 이동거리 (Dn), 및 키프레임에 누적된 특징부의 개수 (FEn)가 갱신된다.In step 150, the number of frames (FRn) accumulated in the key frame, the cumulative moving distance (Dn) of the platform, and the number of FEn's accumulated in the key frame are updated.

단계 160에서 키프레임에 누적된 프레임의 개수 (FRn), 플랫폼의 누적 이동거리 (Dn), 및 키프레임에 누적된 특징부의 개수 (FEn)가 각각의 문턱값과 비교된다. 단계 110부터 단계150은 누적된 프레임 개수가 해당 문턱값보다 크고, 플랫폼의 누적 이동거리가 해당 문턱값보다 크며, 누적된 특징부의 개수가 해당 문턱값보다 커질 때까지 반복되며, 이들 3가지 조건이 만족되면 키프레임의 누적 프로세스를 종료하고, 키프레임을 출력 (단계 170) 하는 것으로서 키프레임 추출 절차를 종료한다. In step 160, the number of frames (FRn) accumulated in the key frame, the cumulative moving distance (Dn) of the platform, and the number of FEn's accumulated in the key frame are compared with respective thresholds. Steps 110 to 150 are repeated until the accumulated number of frames is greater than the corresponding threshold value, the cumulative moving distance of the platform is greater than the corresponding threshold value, and the number of accumulated feature parts is greater than the corresponding threshold value. If it is satisfied, the accumulation process of the key frame is terminated, and the key frame extraction procedure is terminated by outputting the key frame (step 170).

상술한 바와 같은 키프레임 추출 절차는 그래프 SLAM 프로세스의 각 노드에 대하여 반복적으로 수행된다. 즉, 각 노드마다 키프레임이 추출되며, 추출된 키프레임을 사용하여 SLAM 프로세스를 수행한다.The key frame extraction procedure as described above is repeatedly performed for each node of the graph SLAM process. That is, a key frame is extracted for each node, and the SLAM process is performed using the extracted key frame.

도 6은 본 발명에 따른 키프레임 추출절차를 사용한 그래프 SLAM 방법의 일 예를 설명하기 위한 흐름도이며, 도 7은 본 발명에 따른 그래프 SLAM에서의 그래프 구성 개념도이다. 이하에서는 도 6 및 도 7을 참조하여 본 발명의 일 실시예에 따른 그래프 SLAM을 설명한다.FIG. 6 is a flow chart for explaining an example of a graph SLAM method using a key frame extraction procedure according to the present invention, and FIG. 7 is a conceptual diagram of a graph configuration in a graph SLAM according to the present invention. Hereinafter, a graph SLAM according to an embodiment of the present invention will be described with reference to FIGS. 6 and 7. FIG.

단계 200에서 각 노드별로 키프레임을 추출하고 저장한다. 키프레임을 추출하는 방법은 전술한 바와 같이 복수의 프레임에서 검출한 특징부를 누적하여 추출할 수 있다. 도 7을 참조하면, 각 노드들에서의 키프레임 (x0, x1, x2, x3, x4, x5)들을 순차적으로 추출하여 이웃하는 노드들을 이어서 그래프를 생성하는 과정을 확인할 수 있다.In step 200, a key frame is extracted and stored for each node. The method of extracting key frames can accumulate and extract the feature portions detected in a plurality of frames as described above. Referring to FIG. 7, the process of generating a graph by sequentially extracting key frames (x 0 , x 1 , x 2 , x 3 , x 4 , x 5 ) have.

단계 210에서 현재 노드의 키프레임과 종래 노드의 키프레임을 비교한다. 비교대상이 되는 키프레임들간의 유사도 매칭을 통하여 루프 클로져를 검출한다. 구체적으로 유사도 점수가 소정의 문턱값 이상이라면, 비교 대상인 2개의 키프레임 (또는 키프레임의 점구름 정보)이 충분히 유사하다는 것을 의미한다. 유사도 점수는 점구름 정보의 개수에 비례하여 증가하므로, 유사도 매칭시 사용되는 소정의 문턱값은 키프레임에 포함되는 특징부 개수에 따라 유동적으로 정해질 수 있다.In step 210, the key frame of the current node is compared with the key frame of the conventional node. A loop closure is detected through similarity matching between key frames to be compared. Specifically, if the similarity score is equal to or greater than a predetermined threshold value, it means that the two key frames (or the point cloud information of the key frame) to be compared are sufficiently similar. Since the similarity score is increased in proportion to the number of point cloud information, the predetermined threshold value used in the similarity matching can be determined according to the number of features included in the key frame.

만약, 루프 클로져가 검출된다면, 즉 유사도 매칭을 통하여 유사하다고 판단되는 2개의 노드 또는 키프레임이 검출된다면, 검출된 2 개의 노드 또는 키프레임을 루프 클로져로서 묶고 2개의 키프레임간의 자세변화를 찾아내어 정보행렬에 추가한다.  If a loop closure is detected, that is, two nodes or key frames that are determined to be similar through similarity matching are detected, the detected two nodes or key frames are bundled as a loop closure, To the information matrix.

이 과정을 도 7을 참조하여 설명하면, 키프레임 x4를 추출한 후, 저장되어 있는 종래의 키프레임들 (x0, x1, x2, x3) 과 유사도를 비교하여, 유사하다고 인정되는 키프레임 x2와 x4를 루프 클로져로서 묶고 (도 7상의 점선) 이들간의 자세변화를 찾아내어 정보행렬에 추가한다. 이 과정은 키프레임 x5를 추출한 후에도 반복되며, 결과적으로 키프레임 x1과 x5를 루프 클로져로서 묶고 (도 7상의 점선) 이들간의 자세변화를 찾아내어 정보행렬에 추가한다.Referring to the process with reference to Figure 7, the key frame x and extracted 4, a conventional key frame of the stored (x 0, x 1, x 2, x 3) and by comparing the degree of similarity, it is deemed similar Key frames x 2 and x 4 are bundled as a loop closure (dashed line in Fig. 7), and the attitude change between them is found and added to the information matrix. This process is repeated after extracting the keyframe x 5 , and as a result, the keyframes x 1 and x 5 are bundled as a loop closure (dashed line in Fig. 7), and the attitude change between them is found and added to the information matrix.

단계 230에서, 검출된 루프 클로져의 자세변화 정보를 바탕으로 그래프를 최적화하며, 단계 240에서 최적화된 그래프를 토대로 그래프 SLAM을 수행하고 절차를 종료한다.In step 230, the graph is optimized based on the detected posture change information of the loop closure, the graph SLAM is performed based on the optimized graph in step 240, and the procedure is terminated.

도 8은 본 발명의 일 실시예에 따른 그래프 SLAM에서 그래프를 구성한 일 예를 도시한다. 각 노드들은 녹색으로 표시되며, 이웃하는 노드들은 붉은 색선으로 연결되어 있으며, 루프 클로져는 푸른색선으로 연결되어 있다. FIG. 8 shows an example of configuring a graph in a graph SLAM according to an embodiment of the present invention. Each node is shown in green, neighboring nodes are connected by a red line, and loop closure is connected by a blue line.

도 9는 본 발명의 일 실시예에 따른 그래프 SLAM을 위한 키프레임 추출장치를 도시한 블럭도이다.9 is a block diagram illustrating a key frame extraction apparatus for a graph SLAM according to an embodiment of the present invention.

키프레임 추출장치는 특징부 검출 유닛 (320), 매칭 유닛 (330), 키프레임 추출 유닛 (340)을 포함한다. 특징부 검출 유닛 (320) 은 센서로부터 프레임 정보를 입력받고 입력받은 프레임의 플레인 포인트 및 에지 포인트 등의 특징부를 검출한다. 매칭 유닛 (330) 은 검출된 특징부와 키프레임간의 자세정보를 바탕으로 특징부를 키프레임에 매칭시킨다. 키프레임 추출 유닛 (340) 은 매칭된 특징부를 키프레임에 누적함으로써 키프레임을 생성한다. 얼마나 많은 개수의 프레임 정보를 키프레임에 누적할 것인지는 앞서 설명한 바와 같으므로 추가설명은 생략한다.The key frame extracting apparatus includes a feature detecting unit 320, a matching unit 330, and a key frame extracting unit 340. The feature detection unit 320 receives frame information from the sensor and detects features such as a plane point and an edge point of the received frame. The matching unit 330 matches the feature to the key frame based on the detected attitude information between the feature and the key frame. The key frame extraction unit 340 generates the key frame by accumulating the matched feature in the key frame. How many frames of frame information are accumulated in the key frame is as described above, and further explanation is omitted.

도 10은 본 발명의 일 실시예에 따른 그래프 SLAM 장치를 도시한 블럭도이다.10 is a block diagram illustrating a graph SLAM device according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 그래프 SLAM 장치는 키프레임 추출장치 (410), 루프 클로져 검출 유닛 (420), 및 그래프 최적화 유닛 (430) 을 포함한다. 키프레임 추출장치 (410) 는 각 노드에 해당하는 키프레임을 추출하여 메모리 (440)에 저장한다. 키프레임 추출장치 (410)은 키프레임을 추출함에 있어서, 복수의 프레임 정보를 누적하여 키프레임을 생성함으로써, 키프레임에 포함된 정보를 풍부하게 한다. The graph SLAM apparatus according to an embodiment of the present invention includes a key frame extracting apparatus 410, a loop closure detecting unit 420, and a graph optimizing unit 430. The key frame extraction device 410 extracts key frames corresponding to the respective nodes and stores them in the memory 440. In extracting key frames, the key frame extracting apparatus 410 generates a key frame by accumulating a plurality of pieces of frame information, thereby enriching the information contained in the key frame.

루프 클로져 검출 유닛 (420) 은 키프레임 추출 장치 (410) 가 추출하여 메모리 (440) 에 저장해둔 과거 노드의 키프레임들과 현재 노드의 키프레임을 비교하여 유사도 정도가 소정의 문턱값보다 큰 키프레임이 있는지를 검색한다. 유사도가 소정의 문턱값보다 높은 키프레임이 검출된다면, 이들을 루프 클로져로서 묶고 이들간의 자세변화를 찾아내어 메모리에 저장한다.The loop closure detecting unit 420 compares the key frames of the past node extracted by the key frame extracting apparatus 410 and stored in the memory 440 with the key frame of the current node to determine whether the similarity degree is greater than a predetermined threshold value Searches for frames. If a key frame having a degree of similarity higher than a predetermined threshold value is detected, these are enclosed as a loop closure, and a change in attitude between them is detected and stored in the memory.

그래프 최적화 유닛 (430) 은 검출된 루프 클로져의 자세변화 정보를 바탕으로 그래프를 최적화하며, 최적화된 그래프를 토대로 그래프 SLAM을 수행한다.The graph optimizing unit 430 optimizes the graph based on the detected attitude change information of the loop closure and performs the graph SLAM based on the optimized graph.

도 11은 본 발명의 일 실시예에 따른 키프레임 추출장치 또는 그래프 SLAM장치를 마이크로 프로세서로 구현한 예를 도시한 블럭도이다. 11 is a block diagram illustrating an example of a key frame extracting apparatus or a graph SLAM apparatus according to an embodiment of the present invention implemented by a microprocessor.

본 발명의 일 실시예에 따른 키프레임 추출장치는 센서 (510) 로부터 프레임 정보를 입력받고, 마이크로 프로세서 (520) 가 복수의 프레임 정보로부터 특징부를 검출하고, 검출된 특징부를 키프레임에 누적하여 키프레임을 생성한다. The key frame extracting apparatus according to an exemplary embodiment of the present invention receives frame information from a sensor 510 and the microprocessor 520 detects a feature from a plurality of frame information and accumulates the detected feature in a key frame, Frame.

한편, 본 발명의 일 실시예에 따른 그래프 SLAM 장치는 센서로부터 프레임 정보를 입력받고, 마이크로 프로세서 (520) 가 복수의 프레임 정보로부터 특징부를 검출하고, 검출된 특징부를 키프레임에 누적하여 키프레임을 생성한다. Meanwhile, the graph SLAM device according to an exemplary embodiment of the present invention receives frame information from a sensor, and the microprocessor 520 detects feature parts from a plurality of frame information, accumulates the detected feature parts in key frames, .

또한, 마이크로 프로세서 (520) 는 메모리 (440) 에 저장해둔 과거 노드의 키프레임들과 현재 노드의 키프레임을 비교하여 유사도 정도가 소정의 문턱값보다 큰 키프레임이 있는지를 검색한다. 유사도가 소정의 문턱값보다 높은 키프레임이 검출된다면, 이들을 루프 클로져로서 묶고 이들간의 자세변화를 찾아내어 메모리에 저장한다.Also, the microprocessor 520 compares key frames of the past node stored in the memory 440 with key frames of the current node, and searches whether there is a key frame whose degree of similarity is larger than a predetermined threshold value. If a key frame having a degree of similarity higher than a predetermined threshold value is detected, these are enclosed as a loop closure, and a change in attitude between them is detected and stored in the memory.

마이크로 프로세서 (520) 는 검출된 루프 클로져의 자세변화 정보를 바탕으로 그래프를 최적화하며, 최적화된 그래프를 토대로 그래프 SLAM을 수행한다.The microprocessor 520 optimizes the graph based on the detected attitude change information of the loop closure and performs the graph SLAM based on the optimized graph.

310, 410, 510 센서
320 특징부 검출 유닛
330 매칭 유닛
340 키프레임 추출 유닛
410 키프레임 추출 장치
420 루프 클로져 검출 유닛
430 그래프 최적화 유닛
440, 530 메모리
520 마이크로 프로세서
310, 410, 510 sensors
320 Feature Detection unit
330 matching unit
340 key frame extraction unit
410 key frame extraction device
420 Loop Closure Detection Unit
430 Graph Optimization Unit
440, 530 memory
520 microprocessor

Claims (26)

하나 이상의 센서로부터 제1프레임을 입력받아 특징부를 검출하고 검출된 특징부를 키프레임으로 설정하는 단계;
상기 하나 이상의 센서로부터 제2프레임을 입력받아 특징부를 검출하고 검출된 특징부를 상기 키프레임과 매칭하는 단계; 및
매칭된 상기 제2프레임의 특징부를 상기 키프레임에 누적하여 상기 키프레임을 갱신하는 단계를 포함하며,
상기 제2프레임에 후속하여 입력되는 프레임들에 대하여 상기 매칭하는 단계 및 상기 키프레임을 갱신하는 단계를 반복하여 실행하는 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출방법.
Receiving a first frame from at least one sensor and detecting the feature and setting the detected feature as a key frame;
Receiving a second frame from the at least one sensor and detecting a feature and matching the detected feature with the key frame; And
And accumulating feature parts of the matched second frame in the key frame to update the key frame,
The matching step for the frames input subsequent to the second frame and the updating of the key frame are repeatedly executed.
제1항에 있어서,
상기 매칭하는 단계는 상기 키프레임 또는 상기 갱신된 키프레임과 상기 제2프레임 또는 상기 후속하여 입력되는 프레임간의 자세변화를 계산하고, 상기 자세 변화에 기초하여 특징부를 매칭하는 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출방법.
The method according to claim 1,
Wherein the matching step calculates the attitude change between the key frame or the updated key frame and the second frame or the subsequently input frame and matches the feature based on the attitude change. Key frame extraction method.
제1항 또는 제2항에 있어서,
상기 하나 이상의 센서는 SLAM 장치에 탑재되어 있으며,
상기 매칭하는 단계 및 상기 키프레임을 갱신하는 단계를 반복하는 회수는, 누적되는 프레임의 개수, 상기 SLAM 장치의 누적 이동거리, 및 누적되는 특징부의 개수 중 적어도 하나에 따라 결정되는 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출방법.
3. The method according to claim 1 or 2,
Wherein the at least one sensor is mounted on a SLAM device,
Wherein the number of times of repeating the matching step and the key frame updating step is determined according to at least one of the number of accumulated frames, the cumulative moving distance of the SLAM device, and the number of feature parts to be accumulated. A key frame extraction method for SLAM.
제 3 항에 있어서,
상기 매칭하는 단계 및 상기 키프레임을 갱신하는 단계는, 누적되는 프레임의 개수가 제1소정값보다 크고, 상기 SLAM 장치의 누적 이동거리가 제2소정값보다 크고, 누적되는 특징부의 개수가 제3소정값보다 큰 경우, 상기 매칭하는 단계 및 상기 키프레임을 갱신하는 단계를 반복하여 실행하는 것을 종료하고 키프레임을 결정하는 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출방법.
The method of claim 3,
Wherein the step of matching and the step of updating the key frame include the steps of: if the number of accumulated frames is greater than a first predetermined value, the cumulative moving distance of the SLAM device is greater than a second predetermined value, And if it is larger than a predetermined value, repeating the step of matching and updating the key frame is terminated and a key frame is determined.
제 4 항에 있어서, 상기 특징부는 프레임의 에지 포인트와 플래너 포인트 중 적어도 하나인 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출방법.5. The method of claim 4, wherein the feature is at least one of an edge point and a planar point of a frame. 제5항에 있어서,
상기 하나 이상의 센서는 3D LiDAR인 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출방법.
6. The method of claim 5,
Wherein the at least one sensor is a 3D LiDAR.
제1항 내지 제6항중 어느 하나의 항에 기재된 키프레임 추출방법을 사용하여 각각이 그래프상의 각 노드에 해당하는 복수의 키프레임을 결정하는 단계;
상기 복수의 키프레임들간의 유사도 매칭을 통하여 루프 클로져를 검출하는 단계; 및
루프 클로져가 검출되면, 검출된 루프 클로져를 이용하여 그래프를 최적화하는 단계를 포함하는 그래프 SLAM 방법.
Determining a plurality of key frames corresponding to each node on the graph using the key frame extraction method according to any one of claims 1 to 6;
Detecting a loop closure through similarity matching between the plurality of key frames; And
And when the loop closure is detected, optimizing the graph using the detected loop closure.
제7항에 있어서,
상기 루프 클로져를 검출하는 단계는, 복수의 키프레임들간 ICP (Iterative Closet Point) 매칭 유사도가 소정값 이상인 키프레임들을 검출하여 루프 클로져로서 결정하는 것을 특징으로 하는 그래프 SLAM 방법.
8. The method of claim 7,
Wherein the detecting the loop closure comprises detecting key frames having an ICP (Iterative Closet Point) matching similarity degree between a plurality of key frames equal to or greater than a predetermined value, and determining the key frames as a loop closure.
제7항 또는 제8항에 있어서,
상기 그래프를 최적화하는 단계는, 루프 클로져로서 결정된 키프레임들간의 자세변화에 기초하여 그래프를 최적화하는 것을 특징으로 하는 그래프 SLAM 방법.
9. The method according to claim 7 or 8,
Wherein optimizing the graph optimizes the graph based on posture changes between key frames determined as loop closure.
하나 이상의 센서로부터 복수의 프레임을 입력받아 프레임단위로 특징부를 검출하는 특징부 검출 유닛;
상기 특징부 검출 유닛에 의하여 검출된 특징부와 키프레임을 매칭하는 매칭 유닛; 및
매칭된 특징부를 키프레임에 누적하여 키프레임을 갱신하는 키프레임 추출 유닛을 포함하며,
상기 키프레임 추출 유닛은 제1프레임의 특징부를 상기 키프레임으로 설정하고, 상기 제1프레임에 후속하는 프레임들의 특징부가 상기 매칭 유닛에 의하여 매칭되면 매칭된 특징부들을 상기 키프레임에 누적하여 상기 키프레임을 갱신하는 것을 반복하여 실행함으로써 키프레임을 추출하는 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출장치.
A feature detecting unit that receives a plurality of frames from at least one sensor and detects the feature in units of frames;
A matching unit for matching the key frame with the feature detected by the feature detection unit; And
And a key frame extraction unit for updating the key frame by accumulating the matched feature in the key frame,
Wherein the key frame extracting unit sets the feature of the first frame as the key frame and accumulates the matching feature in the key frame when the feature of the frames subsequent to the first frame is matched by the matching unit, And the key frame is extracted by repeatedly executing the updating of the frame.
제10항에 있어서,
상기 매칭 유닛은 상기 키프레임과 상기 제1프레임에 후속하는 프레임들간의 자세변화를 계산하고, 상기 자세 변화에 기초하여 각 프레임의 특징부를 상기 키프레임과 매칭하는 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출장치.
11. The method of claim 10,
Wherein the matching unit calculates a posture change between the key frame and frames subsequent to the first frame and matches the feature of each frame with the key frame based on the posture change. Frame extracting device.
제10항 또는 제11항에 있어서,
상기 하나 이상의 센서는 SLAM 장치에 탑재되어 있으며,
상기 키프레임 추출 유닛은, 누적되는 프레임의 개수, 상기 SLAM 장치의 누적 이동거리, 및 누적되는 특징부의 개수 중 적어도 하나에 따라 결정되는 회수만큼 상기 키프레임을 갱신하는 것을 반복적으로 실행하는 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출장치.
The method according to claim 10 or 11,
Wherein the at least one sensor is mounted on a SLAM device,
The key frame extraction unit repeatedly executes updating the key frame by the number of times determined according to at least one of the number of accumulated frames, the cumulative moving distance of the SLAM device, and the number of accumulated features. A key frame extraction device for SLAM.
제 12 항에 있어서,
상기 키프레임 추출 유닛은, 누적되는 프레임의 개수가 제1소정값보다 크고, 상기 SLAM 장치의 누적 이동거리가 제2소정값보다 크고, 누적되는 특징부의 개수가 제3소정값보다 큰 경우, 상기 키프레임을 갱신하는 것을 종료하고 키프레임을 결정하는 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출장치.
13. The method of claim 12,
When the number of accumulated frames is greater than a first predetermined value and the cumulative moving distance of the SLAM device is greater than a second predetermined value and the number of feature parts to be accumulated is greater than a third predetermined value, And terminates updating of the key frame and determines the key frame.
제 13 항에 있어서, 상기 특징부는 프레임의 에지 포인트와 플래너 포인트 중 적어도 하나인 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출장치.14. The apparatus of claim 13, wherein the feature is at least one of an edge point and a planar point of a frame. 제14항에 있어서,
상기 하나이상의 센서는 3D LiDAR인 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출장치.
15. The method of claim 14,
Wherein the at least one sensor is a 3D LiDAR.
각각이 그래프상의 각 노드에 해당하는 복수의 키프레임을 결정하는 제10항 내지 제15항중 어느 하나의 항에 기재된 키프레임 추출장치;
상기 복수의 키프레임들간의 유사도 매칭을 통하여 루프 클로져를 검출하는 루프 클로져 검출 유닛; 및
루프 클로져가 검출되면, 검출된 루프 클로져를 이용하여 그래프를 최적화하는 그래프 최적화 유닛을 포함하는 그래프 SLAM 장치.
The key frame extraction device according to any one of claims 10 to 15, wherein each of the key frames determines a plurality of key frames corresponding to respective nodes on the graph.
A loop closure detection unit for detecting a loop closure through similarity matching between the plurality of key frames; And
And a graph optimizing unit for optimizing the graph using the detected loop closure if a loop closure is detected.
제16항에 있어서,
상기 루프 클로져 검출 유닛은, 복수의 키프레임들간 ICP (Iterative Closet Point) 매칭 유사도가 소정값 이상인 키프레임들을 루프 클로져로서 결정하는 것을 특징으로 하는 그래프 SLAM 장치.
17. The method of claim 16,
Wherein the loop closure detection unit determines key frames whose ICP (Iterative Closet Point) matching similarity degree among a plurality of key frames is equal to or greater than a predetermined value as a loop closure.
제16항 또는 제17항에 있어서,
상기 그래프 최적화 유닛은, 루프 클로져로서 결정된 키프레임들간의 자세변화에 기초하여 그래프를 최적화하는 것을 특징으로 하는 그래프 SLAM 장치.
18. The method according to claim 16 or 17,
Wherein the graph optimizing unit optimizes the graph based on posture changes between key frames determined as loop closure.
하나 이상의 마이크로프로세서를 포함하며, 상기 마이크로프로세서는
하나 이상의 센서로부터 제1프레임을 입력받아 특징부를 검출하고 검출된 특징부를 키프레임으로 설정하는 단계;
상기 하나 이상의 센서로부터 제2프레임을 입력받아 특징부를 검출하고 검출된 특징부를 상기 키프레임과 매칭하는 단계; 및
매칭된 상기 제2프레임의 특징부를 상기 키프레임에 누적하여 상기 키프레임을 갱신하는 단계를 실행하며,
상기 프로세서는, 상기 제2프레임에 후속하여 입력되는 프레임들에 대하여 상기 매칭하는 단계 및 상기 키프레임을 갱신하는 단계를 반복하여 실행하는 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출장치.
And at least one microprocessor, wherein the microprocessor
Receiving a first frame from at least one sensor and detecting the feature and setting the detected feature as a key frame;
Receiving a second frame from the at least one sensor and detecting a feature and matching the detected feature with the key frame; And
And accumulating feature parts of the matched second frame in the key frame to update the key frame,
Wherein the processor repeatedly performs the step of matching the frames input subsequent to the second frame and the step of updating the key frame.
제19항에 있어서,
상기 매칭하는 단계는 상기 키프레임 또는 상기 갱신된 키프레임과 상기 제2프레임 또는 상기 후속하여 입력되는 프레임간의 자세변화를 계산하고, 상기 자세 변화에 기초하여 특징부를 매칭하는 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출장치.
20. The method of claim 19,
Wherein the matching step calculates the attitude change between the key frame or the updated key frame and the second frame or the subsequently input frame and matches the feature based on the attitude change. Key frame extraction device.
제19항 또는 제20항에 있어서,
상기 하나 이상의 센서는 SLAM 장치에 탑재되어 있으며,
상기 매칭하는 단계 및 상기 키프레임을 갱신하는 단계를 반복하는 회수는, 누적되는 프레임의 개수, 상기 SLAM 장치의 누적 이동거리, 및 누적되는 특징부의 개수 중 적어도 하나에 따라 결정되는 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출장치.
21. The method according to claim 19 or 20,
Wherein the at least one sensor is mounted on a SLAM device,
Wherein the number of times of repeating the matching step and the key frame updating step is determined according to at least one of the number of accumulated frames, the cumulative moving distance of the SLAM device, and the number of feature parts to be accumulated. Key frame extraction device for SLAM.
제 21 항에 있어서,
상기 매칭하는 단계 및 상기 키프레임을 갱신하는 단계는, 누적되는 프레임의 개수가 제1소정값보다 크고, 상기 SLAM 장치의 누적 이동거리가 제2소정값보다 크고, 누적되는 특징부의 개수가 제3소정값보다 큰 경우, 상기 매칭하는 단계 및 상기 키프레임을 갱신하는 단계를 반복하여 실행하는 것을 종료하고 키프레임을 결정하는 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출장치.
22. The method of claim 21,
Wherein the step of matching and the step of updating the key frame include the steps of: if the number of accumulated frames is greater than a first predetermined value, the cumulative moving distance of the SLAM device is greater than a second predetermined value, And if it is larger than the predetermined value, repeating the matching step and the updating of the key frame is terminated and the key frame is determined.
제 22 항에 있어서, 상기 특징부는 프레임의 에지 포인트와 플래너 포인트 중 적어도 하나인 것을 특징으로 하는 그래프 SLAM을 위한 키프레임 추출장치.23. The apparatus of claim 22, wherein the feature is at least one of an edge point and a planar point of a frame. 하나 이상의 마이크로프로세서를 포함하며, 상기 마이크로프로세서는
제1항 내지 제6항중 어느 하나의 항에 기재된 키프레임 추출방법을 사용하여 각각이 그래프상의 각 노드에 해당하는 복수의 키프레임을 결정하는 단계;
상기 복수의 키프레임들간의 유사도 매칭을 통하여 루프 클로져를 검출하는 단계; 및
루프 클로져가 검출되면, 검출된 루프 클로져를 이용하여 그래프를 최적화하는 단계를 실행하는 그래프 SLAM 장치.
And at least one microprocessor, wherein the microprocessor
Determining a plurality of key frames corresponding to each node on the graph using the key frame extraction method according to any one of claims 1 to 6;
Detecting a loop closure through similarity matching between the plurality of key frames; And
And when the loop closure is detected, performing the step of optimizing the graph using the detected loop closure.
제24항에 있어서,
상기 루프 클로져를 검출하는 단계는, 복수의 키프레임들간 ICP (Iterative Closet Point) 매칭 유사도가 소정값 이상인 키프레임들을 검출하여 루프 클로져로서 결정하는 것을 특징으로 하는 그래프 SLAM 장치.
25. The method of claim 24,
Wherein the step of detecting the loop closure detects key frames having an ICP (Iterative Closet Point) matching similarity degree between a plurality of key frames equal to or greater than a predetermined value, and determines the loop frames as a loop closure.
제24항 또는 제25항에 있어서,
상기 그래프를 최적화하는 단계는, 루프 클로져로서 결정된 키프레임들간의 자세변화에 기초하여 그래프를 최적화하는 것을 특징으로 하는 그래프 SLAM 장치.
26. The method according to claim 24 or 25,
Wherein optimizing the graph optimizes the graph based on posture changes between key frames determined as loop closure.
KR1020170044262A 2017-04-05 2017-04-05 Keyframe extraction method for graph-slam and apparatus using thereof KR101941852B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170044262A KR101941852B1 (en) 2017-04-05 2017-04-05 Keyframe extraction method for graph-slam and apparatus using thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170044262A KR101941852B1 (en) 2017-04-05 2017-04-05 Keyframe extraction method for graph-slam and apparatus using thereof

Publications (2)

Publication Number Publication Date
KR20180113060A true KR20180113060A (en) 2018-10-15
KR101941852B1 KR101941852B1 (en) 2019-01-24

Family

ID=63866015

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170044262A KR101941852B1 (en) 2017-04-05 2017-04-05 Keyframe extraction method for graph-slam and apparatus using thereof

Country Status (1)

Country Link
KR (1) KR101941852B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110070577A (en) * 2019-04-30 2019-07-30 电子科技大学 Vision SLAM key frame and feature point selection method based on characteristic point distribution
CN110095752A (en) * 2019-05-07 2019-08-06 百度在线网络技术(北京)有限公司 Localization method, device, equipment and medium
CN112198878A (en) * 2020-09-30 2021-01-08 深圳市银星智能科技股份有限公司 Instant map construction method and device, robot and storage medium
CN112634395A (en) * 2019-09-24 2021-04-09 杭州海康威视数字技术股份有限公司 Map construction method and device based on SLAM
KR20220064883A (en) * 2020-11-12 2022-05-19 주식회사 유진로봇 Apparatus and method for localization of robot having robustness to dynamic environments
WO2022142855A1 (en) * 2020-12-31 2022-07-07 深圳市优必选科技股份有限公司 Loop closure detection method and apparatus, terminal device, and readable storage medium
CN116758161A (en) * 2023-06-26 2023-09-15 北京道仪数慧科技有限公司 Mobile terminal space data generation method and space perception mobile terminal

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140009737A (en) * 2012-07-12 2014-01-23 한국과학기술원 Hybrid map based localization method of robot
KR20140103046A (en) * 2013-02-15 2014-08-25 삼성전자주식회사 Object Tracing Method and Electronic Device supporting the same
KR20160003731A (en) * 2013-04-30 2016-01-11 퀄컴 인코포레이티드 Wide area localization from slam maps
KR20160111008A (en) * 2014-03-14 2016-09-23 퀄컴 인코포레이티드 Sensor-based camera motion detection for unconstrained slam
KR20170037804A (en) * 2015-09-25 2017-04-05 서울대학교산학협력단 Robust visual odometry system and method to irregular illumination changes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140009737A (en) * 2012-07-12 2014-01-23 한국과학기술원 Hybrid map based localization method of robot
KR20140103046A (en) * 2013-02-15 2014-08-25 삼성전자주식회사 Object Tracing Method and Electronic Device supporting the same
KR20160003731A (en) * 2013-04-30 2016-01-11 퀄컴 인코포레이티드 Wide area localization from slam maps
KR20160111008A (en) * 2014-03-14 2016-09-23 퀄컴 인코포레이티드 Sensor-based camera motion detection for unconstrained slam
KR20170037804A (en) * 2015-09-25 2017-04-05 서울대학교산학협력단 Robust visual odometry system and method to irregular illumination changes

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110070577A (en) * 2019-04-30 2019-07-30 电子科技大学 Vision SLAM key frame and feature point selection method based on characteristic point distribution
CN110070577B (en) * 2019-04-30 2023-04-28 电子科技大学 Visual SLAM key frame and feature point selection method based on feature point distribution
CN110095752A (en) * 2019-05-07 2019-08-06 百度在线网络技术(北京)有限公司 Localization method, device, equipment and medium
CN112634395A (en) * 2019-09-24 2021-04-09 杭州海康威视数字技术股份有限公司 Map construction method and device based on SLAM
CN112634395B (en) * 2019-09-24 2023-08-25 杭州海康威视数字技术股份有限公司 Map construction method and device based on SLAM
CN112198878A (en) * 2020-09-30 2021-01-08 深圳市银星智能科技股份有限公司 Instant map construction method and device, robot and storage medium
KR20220064883A (en) * 2020-11-12 2022-05-19 주식회사 유진로봇 Apparatus and method for localization of robot having robustness to dynamic environments
WO2022142855A1 (en) * 2020-12-31 2022-07-07 深圳市优必选科技股份有限公司 Loop closure detection method and apparatus, terminal device, and readable storage medium
CN116758161A (en) * 2023-06-26 2023-09-15 北京道仪数慧科技有限公司 Mobile terminal space data generation method and space perception mobile terminal

Also Published As

Publication number Publication date
KR101941852B1 (en) 2019-01-24

Similar Documents

Publication Publication Date Title
KR101941852B1 (en) Keyframe extraction method for graph-slam and apparatus using thereof
Dewan et al. Motion-based detection and tracking in 3d lidar scans
Poddar et al. Evolution of visual odometry techniques
Asvadi et al. 3D object tracking using RGB and LIDAR data
EP3886048A1 (en) Slam map joining method and system
JP6760114B2 (en) Information processing equipment, data management equipment, data management systems, methods, and programs
JP6427908B2 (en) Map information generation system, method and program
Milella et al. Stereo-based ego-motion estimation using pixel tracking and iterative closest point
US8401783B2 (en) Method of building map of mobile platform in dynamic environment
CN106780631B (en) Robot closed-loop detection method based on deep learning
WO2016210227A1 (en) Aligning 3d point clouds using loop closures
Parra et al. Robust visual odometry for vehicle localization in urban environments
US20110205338A1 (en) Apparatus for estimating position of mobile robot and method thereof
US10402978B1 (en) Method for detecting pseudo-3D bounding box based on CNN capable of converting modes according to poses of objects using instance segmentation and device using the same
KR102569437B1 (en) Apparatus and method tracking object based on 3 dimension images
KR102559203B1 (en) Method and apparatus of outputting pose information
US20230071794A1 (en) Method and system for building lane-level map by using 3D point cloud map
US20220398856A1 (en) Method for reconstruction of a feature in an environmental scene of a road
KR102268980B1 (en) Location estimation apparatus for autonomous driving of drones in GPS shaded areas
EP3686776B1 (en) Method for detecting pseudo-3d bounding box to be used for military purpose, smart phone or virtual driving based on cnn capable of converting modes according to conditions of objects
US20210304518A1 (en) Method and system for generating an environment model for positioning
Wong et al. Single camera vehicle localization using SURF scale and dynamic time warping
JP7337617B2 (en) Estimation device, estimation method and program
Wong et al. Vision-based vehicle localization using a visual street map with embedded SURF scale
Chiu et al. Sub-meter vehicle navigation using efficient pre-mapped visual landmarks

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