KR20150079098A - Filtering Methods of spatiotemporal 3D Vector for Robust visual odometry - Google Patents

Filtering Methods of spatiotemporal 3D Vector for Robust visual odometry Download PDF

Info

Publication number
KR20150079098A
KR20150079098A KR1020130169096A KR20130169096A KR20150079098A KR 20150079098 A KR20150079098 A KR 20150079098A KR 1020130169096 A KR1020130169096 A KR 1020130169096A KR 20130169096 A KR20130169096 A KR 20130169096A KR 20150079098 A KR20150079098 A KR 20150079098A
Authority
KR
South Korea
Prior art keywords
camera
motion vector
vector
motion
spatiotemporal
Prior art date
Application number
KR1020130169096A
Other languages
Korean (ko)
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 KR1020130169096A priority Critical patent/KR20150079098A/en
Publication of KR20150079098A publication Critical patent/KR20150079098A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators

Abstract

Provided is a spatiotemporal three-dimensional vector filtering method for measuring a robust visual moving distance. The spatiotemporal three-dimensional vector filtering technique for measuring a robust visual moving distance comprises the steps of: extracting a plurality of feature points within an image and matching each of the feature points to feature points extracted from an earlier image; representing the matched feature points in a three-dimensional motion vector by using a stereo camera; and representing a movement of the camera in a motion vector for connecting one point prior to a movement of the camera and a three-dimensional point after the movement of the camera.

Description

강인한 시각 주행거리 측정을 위한 시공간적 3차원 벡터 필터링 기법{Filtering Methods of spatiotemporal 3D Vector for Robust visual odometry}[0002] Spatiotemporal three-dimensional vector filtering techniques for robust visual distance measurement [

본 발명은 무인 자동차나 로봇 등의 자세 추정 시 정확한 자세를 추정하는 방법에 관한 것이다.The present invention relates to a method for accurately estimating an attitude when an attitude of an unmanned vehicle or a robot is estimated.

최근 이동로봇 기술 개발이 활발해지면서 이동로봇이 더 이상 산업현장에서만 쓰이지 않고 다양한 분야에 보급이 되어, 청소용 로봇, 교육용 로봇 등 가정에서 볼 수 있는 로봇으로부터 군사용 목적으로도 이동로봇 기술이 적용되고 있다.Recently mobile robotic technology has been developed and mobile robots are no longer used in industrial fields but are widely used in various fields. Mobile robots are being applied to robots for home use such as cleaning robots and educational robots.

그런데 이러한 이동 로봇에서는 실용적인 로봇 위치 인식, 지도형성 그리고 주행(Localization, mapping and navigation) 알고리즘에 대한 연구의 중요성이 강조되며, 이동 로봇 바퀴의 엔코더로부터 로봇의 상대적 위치를 인식하는 기술인 오도메트리는 이들 기술의 가장 기본적인 기술이며, 성능에 큰 영향을 미치는 요소이다. This mobile robot emphasizes the importance of research on practical robot position recognition, map formation, and navigation (localization, mapping and navigation) algorithms. Odometry, a technology for recognizing the relative position of robots from the mobile robot wheel encoders, Is the most basic technology of the system, and it has a big influence on the performance.

이러한 오도메트리는 다양한 원인에 의해 오차가 발생하는데, 이러한 오드메트리 오차는 크게 시스템적적 오차(systematic error)와 비시스템적 오차(non-systematic error)로 구분된다. 시스템적 오차는 주로 내부 시스템의 영향으로 인해 발생하며, 편향된 오차(biased error)를 갖는다는 특성이 있다. 비시스템적 오차는 주로 시스템 외부의 환경에 의해 만들어지는 오차로 시스템 자체와는 무관하며, 비편향된 무작위(random)오차의 특성을 갖는다.The error is caused by various causes of the odomometry. The odometry error is classified into a systematic error and a non-systematic error. The systematic error is mainly caused by the influence of the internal system and has the characteristic of having a biased error. The non-systematic error is mainly an error caused by the environment outside the system. It is independent of the system itself, and has a non-biased random error characteristic.

Borenstein. J, "Internal Correction of Dead-reckoning Errors With the Smart Encoder Trailer", IEEE, 공개특허 10-2007-0090864 Intelligent Robots and Systems, 1994 논문과, Borenstein. J, "Measurement and Correction of Systematic Odometry Errors in Mobile R.obots", IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 12, NO. 6, DECEMBER 1996 논문에서는 이들 오차를 야기하는 가능한 요인들에 대해 분석하고 있다.Borenstein. J, "Internal Correction of Dead-reckoning Errors with the Smart Encoder Trailer ", IEEE, Patent Publication 10-2007-0090864 Intelligent Robots and Systems, 1994, and Borenstein. J, "Measurement and Correction of Systematic Odometry Errors in Mobile R.obots ", IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, Vol. 12, NO. 6, DECEMBER 1996 The paper analyzes the possible causes of these errors.

이 분석에 의하면 시스템적 오차는 바퀴의 마모, 이물질의 부착 등으로 인해 <6> 발생하며, 비시스템적 오차는 바닥의 특성 등에 의하여 발생하는 것을 알 수 있다. 시스템적 오차와 비시스템적 오차의 요인은 환경이 바뀌거나 시간이 지나면서 지속적으로 변하기 때문에 이런 요인을 파악하여 교정하는 오도메트리 보정(odometry calibration)은 수시로 이루어져야 한다.According to this analysis, systematic errors occur due to abrasion of the wheel, adhesion of foreign matter, etc., and non-systematic errors are caused by the characteristics of the floor. Since the factors of systematic and non-systematic errors are constantly changing as the environment changes or over time, odometry calibration should be done from time to time to identify and correct these factors.

이처럼 오도메트리 보정은 이동 로봇의 자율 주행 성능 개선을 위해 필요하며, 이 필요성에 따라 오래 전부터 많은 연구자들이 오도메트리 보정 기술을 개발해 왔다. 지금까지 연구해 온 오도메트리의 보정 기술은 크게 오프라인 방법과 온라인 방법으로 나눌 수 있다. In order to improve autonomous driving performance of mobile robot, odometry correction has been developed by many researchers for a long time. The correction techniques of odometry that we have studied so far can be roughly divided into offline method and online method.

오프라인 방법은 주로 특정 컨트롤 입력이나, 특정 궤도를 따라 로봇이 주행한 후, 직접 계측한 로봇의 최종 실제 위치와 로봇의 오도메트리 상의 최종 추청 위치를 비교하여 그 차이를 이용하여 오도메트리를 보정하는 방법이다. 이와 같은 방법으로 오도메트리를 보정하면, 최종 위치를 직접 측정하기 때문에 외부 센서의 도움 없이 엔코더 값만으로도 이동 로봇의 오도메트리 보정이 가능하다는 장점이 있으나, 사람이 직접 측정해야 하기 때문에 자동화시키기 어렵다는 단점이 있다.The off-line method mainly compares the final actual position of a robot directly after a specific control input or a specific trajectory, and the final estimated position on the robot's odometry, and corrects the omometry using the difference . Since the final position is directly measured by correcting the odometry in this way, there is an advantage that the odometry of the mobile robot can be corrected by only the encoder value without the help of the external sensor. However, There are disadvantages.

반면에, 온라인 방법은 임의의 궤도를 주행하는 동안, 거리센서 혹은 비전 센서 등을 이용하여 자신의 위치인식(localization)을 하여 얻은 정보와 오도메트리로서 얻은 자신의 위치의 차이를 비교하며 오도메트리를 보정하는 방법이다. 이와 같은 방법은 엔코더 이외의 외부 센서를 이용하여 지속적으로 보정이 이루어지기 때문에 자동화시키기 쉬우며, 확률적 접근이라는 장점이 있지만, 오도메트리 보정의 결과가 자기위치인식을 위한 센서의 성능에 의존한다는 단점이 있다.On the other hand, the on-line method compares the information obtained by localization of the vehicle with a distance sensor or a vision sensor while traveling on an arbitrary orbit and the difference of the position obtained as an odometry, It is a method of correcting the tree. This method is advantageous in that it is easy to automate and stochastic approach because it is continuously corrected by using an external sensor other than the encoder, but the result of the correction of the omometry depends on the performance of the sensor for the self-position recognition There are disadvantages.

무인 자동차의 경우 주행환경에 보행자나 다른 자동차가 매우 많다. 그리고 서비스 로봇의 경우 서비스 로봇 가까이 지나가는 보행자가 많다. 이와 같은 경우 무인 자동차나 로봇 이외에 다른 움직이는 물체가 카메라에 크게 잡히게 되어 자세 추정이 불확실하게 된다. 하지만 종래의 카메라를 이용한 자세 추정기술은 정적 환경 즉, 카메라 이외의 움직이는 물체가 없는 환경을 가정하고 있다. 그렇기 때문에 동적 환경(카메라 이외의 움직이는 물체가 존재하는 환경)에서 동작할 경우 자세 추정이 정확하지 않게 된다. In the case of unmanned vehicles, there are many pedestrians and other vehicles in the driving environment. In the case of a service robot, there are many pedestrians passing near the service robot. In such a case, moving objects other than automobiles and robots are caught in the camera, and the estimation of the posture becomes uncertain. However, the conventional posture estimation technique using a camera assumes a static environment, that is, an environment in which there is no moving object other than a camera. Therefore, when operating in a dynamic environment (environment where there are moving objects other than a camera), the posture estimation becomes inaccurate.

특히 기존의 기법들은 주된 움직임을 찾아내는 RANSAC 기반의 기술을 사용했기에 영상 내에 50% 이상 차지하는 카메라 이외에 움직이는 물체에 의한 에러요인을 제거해 주지 못한다. 그래서 종래의 기법들은 카메라 앞에 큰 물체가 지나가게 되면 자세 추정이 매우 불확실하게 되는 큰 단점을 가지고 있다. In particular, existing techniques use RANSAC based technology to detect the main motion, and can not remove the error caused by moving objects in addition to the camera occupying more than 50% in the image. Therefore, the conventional techniques have a disadvantage that the attitude estimation becomes very uncertain when a large object passes in front of the camera.

본 발명이 이루고자 하는 기술적 과제는 무인 자동차나 로봇 등의 자세 추정 시 외부의 카메라 이외의 움직이는 물체에 의한 에러 요인 줄이고 정확하게 자세 추정하는 방법을 제공하는데 있다. An object of the present invention is to provide a method of accurately estimating an attitude of an unmanned automobile or a robot by reducing an error factor caused by a moving object other than an external camera.

일 측면에 있어서, 본 발명에서 제안하는 강인한 시각 주행거리 측정을 위한 시공간적 3차원 벡터 필터링 기법은 영상 내에서 복수의 특징점들을 추출하여 각 특징 점을 이전 영상에서 추출된 특징점과 매칭하는 단계, 스테레오 카메라를 이용하여 상기 매칭된 특징점들을 3차원 움직임 벡터로 나타내는 단계, 상기 카메라의 움직임을 상기 카메라가 움직이기 전의 하나의 점과 움직인 후의 3차원 점을 이은 움직임 벡터로 나타내는 단계를 포함할 수 있다. In one aspect, the spatiotemporal three-dimensional vector filtering technique for robust visual distance measurement proposed in the present invention includes a step of extracting a plurality of feature points from an image and matching each feature point with a feature point extracted from a previous image, A step of representing the matched feature points as a 3D motion vector, and a step of representing the movement of the camera as a motion vector between a point before the camera moves and a 3D point after moving the camera.

상기 특징점들 각각에서 구해진 움직임 벡터를 복수의 평가 함수를 이용하여 평가하고, 상기 카메라의 자세를 구하기 위한 유효한 움직임 벡터들을 계산할 수 있다. A motion vector obtained from each of the minutiae points may be evaluated using a plurality of evaluation functions and effective motion vectors for calculating the posture of the camera may be calculated.

상기 움직임 벡터들을 이용하여 상기 카메라의 자세를 구하고, 상기 복수의 평가 함수를 적용할 때 적용되는 가중치는 상기 카메라의 자세를 구한 후, 상기 복수의 평가 함수에 해당하는 적합 점의 비율로 계산할 수 있다. The attitude of the camera using the motion vectors and the weights applied when applying the plurality of evaluation functions may be calculated as a ratio of the fitting points corresponding to the plurality of evaluation functions after obtaining the attitude of the camera .

본 발명의 실시예들에 따르면 무인 자동차 및 로봇의 정확한 자세를 통해 자동차 스스로 운행함에 따라 운전자의 부주의로 인한 교통사고를 미연에 방지하고 편리하고 즐거운 운전환경을 제공하는 자율 주행 자동차의 개발이 가능해질 수 있다. 그리고 서비스 로봇에 적용할 경우 사람이 많은 환경에서 로봇 스스로 환경을 인식해 자신의 자세를 추정하게 됨에 따라 사람들에게 편리하고 즐거운 서비스를 제공해줄 수 있다. According to the embodiments of the present invention, it is possible to develop an autonomous vehicle that prevents a traffic accident caused by a driver's carelessness and provides a convenient and enjoyable driving environment as the vehicle runs by itself through an accurate attitude of the unmanned vehicle and the robot . When applied to a service robot, the robot itself recognizes the environment in many environments and estimates its own attitude, so that it can provide convenient and pleasant service to people.

도 1은 본 발명의 일 실시예에 따른 강인한 시각 주행거리 측정을 위한 시공간적 3차원 벡터 필터링 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 시공간 모션벡터 필터링 프레임 워크를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 움직임 벡터를 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 시공간 움직임 벡터 필터링 기법 적용 결과를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 자세 추정 정확도 실험 결과를 나타낸 도면이다.
FIG. 1 is a flowchart illustrating a method of time-space three-dimensional vector filtering for robust visual distance measurement according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a space-time motion vector filtering framework according to an embodiment of the present invention. Referring to FIG.
FIG. 3 is a diagram illustrating a motion vector according to an exemplary embodiment of the present invention. Referring to FIG.
4 is a diagram illustrating a result of applying a space-time motion vector filtering technique according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating an experiment result of an attitude estimation accuracy according to an embodiment of the present invention.

이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 강인한 시각 주행거리 측정을 위한 시공간적 3차원 벡터 필터링 방법을 설명하기 위한 흐름도이다.FIG. 1 is a flowchart illustrating a method of time-space three-dimensional vector filtering for robust visual distance measurement according to an embodiment of the present invention.

강인한 시각 주행거리 측정을 위한 시공간적 3차원 벡터 필터링 방법은 영상 내에서 복수의 특징점들을 추출하여 각 특징 점을 이전 영상에서 추출된 특징점과 매칭하는 단계(110), 스테레오 카메라를 이용하여 상기 매칭된 특징점들을 3차원 움직임 벡터로 나타내는 단계(120), 상기 카메라의 움직임을 상기 카메라가 움직이기 전의 하나의 점과 움직인 후의 3차원 점을 이은 움직임 벡터로 나타내는 단계(130)를 포함할 수 있다. The temporal and spatial 3-dimensional vector filtering method for robust visual distance measurement includes a step 110 of extracting a plurality of feature points from an image and matching each feature point with a feature point extracted from a previous image, (120) representing the motion of the camera as a three-dimensional motion vector, and a step (130) of representing the motion of the camera as a motion vector between a point before the camera moves and a three-dimensional point after the camera moves.

단계(110)에서, 영상 내에서 복수의 특징점들을 추출하여 각 특징 점을 이전 영상에서 추출된 특징점과 매칭할 수 있다. In step 110, a plurality of feature points may be extracted from the image, and each feature point may be matched with a feature point extracted from a previous image.

그리고, 단계(120)에서, 스테레오 카메라를 이용하여 상기 매칭된 특징점들을 3차원 움직임 벡터로 나타낼 수 있다. 이후, 단계(130), 상기 카메라의 움직임을 상기 카메라가 움직이기 전의 하나의 점과 움직인 후의 3차원 점을 이은 움직임 벡터로 나타낼 수 있다. 그리고, 특징점들 각각에서 구해진 움직임 벡터를 복수의 평가 함수를 이용하여 평가하고, 상기 카메라의 자세를 구하기 위한 유효한 움직임 벡터들을 계산할 수 있다. 이러한 움직임 벡터들을 이용하여 상기 카메라의 자세를 구하고, 상기 복수의 평가 함수를 적용할 때 적용되는 가중치는 상기 카메라의 자세를 구한 후, 상기 복수의 평가 함수에 해당하는 적합 점(inlier)의 비율로 계산할 수 있다. In step 120, the matching feature points may be represented by a 3D motion vector using a stereo camera. Thereafter, in step 130, the motion of the camera can be represented by a motion vector between a point before the camera moves and a point after the motion. Then, motion vectors obtained from each of the minutiae points are evaluated using a plurality of evaluation functions, and effective motion vectors for calculating the posture of the camera can be calculated. The attitude of the camera is calculated using the motion vectors, and the weights applied when the plurality of evaluation functions are applied are obtained by calculating the attitude of the camera and then calculating the attitude of the camera using a ratio of inelies corresponding to the plurality of evaluation functions Can be calculated.

도 2 및 도 3을 참조하여 더욱 상세히 설명한다.
Will be described in more detail with reference to FIG. 2 and FIG.

도 2는 본 발명의 일 실시예에 따른 시공간 모션벡터 필터링 프레임 워크를 나타내는 도면이다.FIG. 2 is a diagram illustrating a space-time motion vector filtering framework according to an embodiment of the present invention. Referring to FIG.

본 발명은 동적 환경에서 카메라의 자세를 강인하게 추정해주기 위하여 시공간적 움직임 벡터 필터링 기법을 통해 카메라와 독립적으로 움직이는 영역의 움직임 벡터와 카메라에 움직임을 나타내는 움직임 벡터를 구별하여 카메라의 움직임을 정확히 추정할 수 있다. In order to robustly estimate the posture of a camera in a dynamic environment, a motion vector of a region moving independently of a camera and a motion vector representing a motion of a camera are distinguished from each other through a spatio-temporal motion vector filtering technique, have.

도 2을 참조하면, 여기에서 Si tot는 i번째 움직임 벡터의 전체 스코어, Si PDS는 i번째 움직임 벡터의 이전 방향 스코어, Si DS는 i번째 움직임 벡터의 벡터 방향 스코어, Si PLS는 i번째 움직임 벡터의 이전 벡터 길이 스코어, Si LS는 i번째 움직임 벡터의 벡터 길이 스코어, Si NS는 i번째 움직임 벡터의 이웃한 스코어, 그리고 WTN, WVD, WVL, WNS는 각 스코어의 가중치를 나타낼 수 있다. 이때, i번째 움직임 벡터의 전체 스코어는 수학식1과 같이 나타낼 수 있다.
2, S i tot is the total score of the i-th motion vector, S i PDS is the previous direction score of the i-th motion vector, S i DS is the vector direction score of the i-th motion vector, S i PLS the i-th motion vectors before the vector length score, S i LS is the score vector length of the i-th motion vector, S i NS is adjacent the score of the i-th motion vectors, and W TN, W VD, W VL, W NS are each The weight of the score can be expressed. In this case, the total score of the i-th motion vector can be expressed by Equation (1).

Figure pat00001
수학식1
Figure pat00001
Equation 1

도 3은 본 발명의 일 실시예에 따른 움직임 벡터를 나타내는 도면이다. 먼저, 영상 내에서 특징점들을 추출하여 각 특징점들을 이전 영상에서 추출된 특징점과 매칭할 수 있다. 그리고 스테레오 카메라를 이용하여 특징점들의 매칭을 3차원 움직임 벡터로 나타낼 수 있다. 여기에서, 카메라의 움직임을 나타내기 위해 움직임 벡터라는 개념을 사용할 수 있다. 각 카메라의 움직임을 카메라 움직이기 전의 한 점과 움직인 후의 3차원 점을 이은 움직임 벡터로 표현 하고 이 움직임 벡터의 방향과 길이를 이용하여 나타낼 수 있다.3 is a diagram illustrating a motion vector according to an embodiment of the present invention. First, feature points may be extracted from an image and each feature point may be matched with a feature point extracted from a previous image. The matching of the feature points can be expressed as a 3D motion vector using a stereo camera. Here, the concept of a motion vector can be used to indicate camera motion. The motion of each camera can be expressed as a motion vector between a point before moving the camera and a moving point after the motion, and can be represented by using the direction and length of the motion vector.

각 특징점에서 구해진 움직임 벡터를 평가하는 함수 복수의 평가 함수를 이용하여 각 특징점을 평가할 수 있다. 그리고 카메라의 자세를 구하기 위해 유효한 움직임 벡터들을 구할 수 있다. 이후, 이러한 움직임 벡터들을 이용해 카메라의 자세를 구할 수 있다. 그리고 각 특징점을 평가하는 복수의 평가 함수를 적용할 때 적용되는 가중치는 자세를 구한 후 각 평가함수에 해당하는 적합 점(inlier)의 비율로 구해할 수 있다. A function for evaluating a motion vector obtained at each feature point A plurality of feature points can be evaluated using a plurality of evaluation functions. Then, effective motion vectors can be obtained to obtain the camera posture. Then, the attitude of the camera can be obtained using these motion vectors. The weights applied when a plurality of evaluation functions for evaluating each feature point are applied can be obtained as the ratio of inliers corresponding to each evaluation function after obtaining the posture.

위에서 설명한 복수의 평가 함수는 이전 움직임 벡터의 길이 유사도 평가하수, 이전 움직임 벡터의 방향 유사도 평가 함수, 현재 주된 움직임 벡터의 길이 유사도 함수, 현재 주된 움직임 벡터의 방향 유사도 함수를 포함할 수 있다.The plurality of evaluation functions described above may include a length similarity evaluation function of a previous motion vector, a direction similarity evaluation function of a previous motion vector, a length similarity function of a current main motion vector, and a direction similarity function of a current main motion vector.

각 평가함수에 대하여 아래에서 상세히 설명한다. Each evaluation function will be described in detail below.

본 발명은 움직임 벡터의 방향과 길이를 이용하여 각 움직임 벡터를 평가하고 카메라의 움직임을 나타내는 움직임 벡터를 구해주는 시공간적 3차원 벡터 필터링 기법을 제안한다.The present invention proposes a spatio-temporal three-dimensional vector filtering technique for evaluating each motion vector using a direction and a length of a motion vector and for obtaining a motion vector indicating a camera motion.

각 움직임 벡터들은 클러스터링을 통해 군집화할 수 있다. 이후 아래 복수의 평가함수를 통해 각 움직임 벡터를 평가할 수 있다.Each motion vector can be clustered through clustering. Then, each motion vector can be evaluated through a plurality of evaluation functions below.

먼저, 시간적 필터링 기법은 이전에 구해진 자세정보를 이용하여 이전 움직임 벡터의 방향 및 길이를 구할 수 있다. 그리고 현재 움직임 벡터들의 방향 및 길이를 클러스터링을 통해 군집화할 수 있다. 각 군집들의 평균 움직임 벡터의 방향 및 길이를 구해서 이전 움직임 벡터의 방향 및 길이와 비교하여 유사도에 따른 각 군집의 점수를 정할 수 있다.
First, the temporal filtering technique can obtain the direction and length of the previous motion vector using the previously obtained attitude information. The direction and length of the current motion vectors can be clustered through clustering. The direction and length of the average motion vectors of the respective clusters are obtained and compared with the direction and length of the previous motion vector, the score of each cluster according to the similarity degree can be determined.

1. 이전 움직임 벡터의 길이 유사도 평가함수
1. Length similarity evaluation function of previous motion vector

Figure pat00002

Figure pat00002

여기에서 lv는 이전 적합 점 움직임 벡터 세트의 평균 길이, li는 현재 i번째 벡터의 길이, dmax는 현재 움직임 백터의 길이 li와 이전 적합점 움직임 벡터 세트 lv 사이의 최대 차이, scoremax: 최대 스코어를 나타낼 수 있다.
Where l v is the average length of the previous set of adaptive motion vectors, l i is the length of the current i-th vector, d max is the maximum difference between the current motion vector length l i and the previous fit point motion vector set l v , max : Can indicate the maximum score.

2. 이전 움직임 벡터의 방향 유사도 평가함수
2. Direction similarity evaluation function of previous motion vector

Figure pat00003

Figure pat00003

여기에서, pv는 이전 적합점 움직임 벡터 세트의 방향 포인트, pi는 움직임 벡터의 방향의 포인트, di는 현재 i번째 움직임 벡터 방향 포인트 pi와 이전 적합점 움직임 벡터 세트 dv 사이의 차이, 3π, dmax는 최대 차이, 3π, scoremax는 최대 스코어를 나타낼 수 있다.
Where p v is the direction point of the previous adaptive point motion vector set, p i is the point in the direction of the motion vector, d i is the difference between the current i-th motion vector direction point p i and the previous fit point motion vector set d v , 3π, d max is the maximum difference, 3π, and score max is the maximum score.

공간적 필터링 기법은 현재 클러스터링 된 각 군집의 움직임 벡터들의 방향 및 길이를 가장 큰 군집의 평균 움직임 벡터의 방향 및 길이와 비교하여 유사도에 따른 각 군집의 점수를 정할 수 있다.
The spatial filtering technique can determine the score of each cluster according to the similarity by comparing the direction and length of the motion vectors of each cluster in the current cluster with the direction and length of the average motion vector of the largest cluster.

3. 현재 주된 움직임 벡터의 길이 유사도 함수
3. Length similarity function of current main motion vector

Figure pat00004

Figure pat00004

여기에서, N은 움직임 벡터 길이 무리의 수, ni는 특정 i번째 길이 벡터 무리의 사이즈, Cl k는 움직임 벡터의 길이의 k번째 무리, nmax는 가장 큰 무리의 사이즈, scoremax는 최대 스코어를 나타낼 수 있다.
Here, N is the motion vector length bunch number, n i is a particular i-th length vector herd size, C l k is the k-th group of the length of the motion vector, n max is the largest herd size, score max is the maximum Score.

4. 현재 주된 움직임 벡터의 방향 유사도 함수
4. Orientation similarity function of current main motion vector

Figure pat00005

Figure pat00005

여기에서, N은 움직임 벡터 길이 무리의 수, ni는 특정 i번째 길이 벡터 무리의 사이즈, Cd k는 움직임 벡터의 방향의 k번째 무리, nmax는 가장 큰 무리의 사이즈, scoremax는 최대 스코어를 나타낼 수 있다.Here, N is the motion vector length bunch number, n i is a particular i-th length vector herd size, C d k is the first k of the directions of motion vectors bunch, n max is the largest herd size, score max is the maximum Score.

이렇게 시간적 공간적 기법에서 사용된 평가함수를 통해 정해진 움직임 벡터들의 점수를 기반으로 움직임 벡터 중 점수가 높은 움직임 벡터를 이용하여 카메라의 자세를 나타내는 움직임 벡터로 가정하고 카메라의 자세를 구할 수 있다.
Based on the scores of the motion vectors determined through the evaluation function used in the temporal and spatial technique, the motion vector of the highest score among the motion vectors can be used to obtain the posture of the camera assuming the motion vector indicating the camera's posture.

도 4는 본 발명의 일 실시예에 따른 시공간 움직임 벡터 필터링 기법 적용 결과를 나타낸 도면이다. 4 is a diagram illustrating a result of applying a space-time motion vector filtering technique according to an embodiment of the present invention.

도 4를 참조하면, 움직이는 차량에서 자세를 추정할 때의 특징점 매칭 그림을 나타내었다. 왼쪽(410)은 본 발명에서 제안하는 강인한 시각 주행거리 측정을 위한 시공간적 3차원 벡터 필터링 기법을 적용하기 전에 결과이다. 오른쪽(420)은 본 발명에서 제안하는 강인한 시각 주행거리 측정을 위한 시공간적 3차원 벡터 필터링 기법을 적용한 결과이다. 도 4와 같이 카메라 이외의 독립적인 움직임을 가진 차량영역에서 구해진 움직임 벡터들이 제거된 것을 볼 수 있다. 특히 두 번째 영상의 50%이상 차지하는 큰 트럭에서 추출된 움직임 벡터들이 제거된 것을 확인할 수 있다.
Referring to FIG. 4, there is shown a feature point matching diagram for estimating a posture in a moving vehicle. The left (410) is a result of applying the spatiotemporal three-dimensional vector filtering technique for robust visual distance measurement proposed in the present invention. The right 420 is a result of applying the spatiotemporal three-dimensional vector filtering technique for robust visual distance measurement proposed in the present invention. As shown in FIG. 4, it can be seen that the motion vectors obtained in the vehicle region having an independent motion other than the camera are removed. In particular, it can be seen that motion vectors extracted from a large truck occupying more than 50% of the second image are removed.

도 5는 본 발명의 일 실시예에 따른 자세 추정 정확도 실험 결과를 나타낸 도면이다. 도 5를 참조하면, 본 발명에서 제안하는 강인한 시각 주행거리 측정을 위한 시공간적 3차원 벡터 필터링 기법을 적용하기 전(Previous method)과 적용한 후(Proposed method) 자동차의 이동 궤적 추정의 결과를 비교할 수 있다. 본 발병의 결과를 적용 후 지상 검증정보(Ground truth)값에 가까운 정확한 이동 궤적를 추정한 것을 알 수 있다.FIG. 5 is a diagram illustrating an experiment result of an attitude estimation accuracy according to an embodiment of the present invention. Referring to FIG. 5, it is possible to compare the results of the motion trajectory estimation of the vehicle before and after applying the spatiotemporal three-dimensional vector filtering technique for robust visual distance measurement proposed in the present invention . It can be seen that the accurate trajectory near the value of ground truth is estimated after applying the result of this outbreak.

따라서, 제안하는 강인한 시각 주행거리 측정을 위한 시공간적 3차원 벡터 필터링 기법은 실외환경에서 강인하게 6DOF 로봇 자세를 추정하는 기술이기에 모바일 로봇뿐만 아니라 무인항공기, 무인 잠수정, 보행 로봇, 무인 자동차에도 적용 가능할 수 있다. 자동차는 도로에서 움직이기에 무인 자동차 이외에 다른 움직이는 물체가 매우 많다. 보행자나 다른 움직이는 자동차 또는 자전거 탄 사람들이 있을 수 있다.Therefore, the spatiotemporal three-dimensional vector filtering technique for robust visual distance measurement can be applied not only to mobile robots but also to unmanned aerial vehicles, unmanned submersibles, walking robots, and unmanned vehicles because it is a technology for robustly estimating 6 DOF robot postures in outdoor environments. have. Because cars move on the road, there are many other moving objects besides unmanned vehicles. There may be pedestrians or other moving cars or cyclists.

제안하는 강인한 시각 주행거리 측정을 위한 시공간적 3차원 벡터 필터링 기법을 이용하게 되면 카메라(또는 자동차 또는 로봇)이외에 움직이는 물체가 무엇인지 상관없이(다시 말해, 학습할 필요 없이) 이러한 물체들에 의한 움직임을 제외한 움직이니 않는 영역에서 움직임을 추정해서 정확한 자세 추정이 가능할 수 있다. 이를 통해 무인 자동차의 경우 혼잡한 시내 상황이나 혼잡한 도로 상황에 정확한 무인 자동차의 자세 추정이 가능하게 된다. 그리고 서비스 로봇의 경우 사람들이 서비스 로봇의 가까이 지나가게 되는데 이때 서비스 로봇이 가까이 지나가는 사람과 상관없이 정확히 자세 추정하는 것을 도울 수 있다.Using the spatiotemporal 3D vector filtering technique for robust visual distance measurement, it is possible to detect motion by these objects regardless of what object is moving (ie, without learning) other than the camera (or car or robot) It is possible to estimate the correct posture by estimating the motion in the excluded non-moving region. This makes it possible to accurately estimate the position of the unmanned vehicle in congested urban situations or congested roads. In the case of a service robot, people are moved close to the service robot. At that time, the service robot can help accurately estimate the posture regardless of the person passing the robot.

제안하는 기법은 스테레오 카메라에만 적용 될 뿐 아니라 3차원 정보를 측정해주는 RGB-D카메라나 Structured light 카메라 같은 다른 센서에도 적용 가능할 수 있다. 그리고 이와 같은 깊이 카메라(Depth Camera)에 적용 시켰을 때 더욱 높은 정확도를 얻을 수 있다.
The proposed technique can be applied not only to stereo cameras but also to other sensors such as RGB-D cameras and structured light cameras that measure three-dimensional information. And when applied to such a depth camera, higher accuracy can be obtained.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA) A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI &gt; or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (3)

영상내에서 복수의 특징점들을 추출하여 각 특징 점을 이전 영상에서 추출된 특징점과 매칭하는 단계;
스테레오 카메라를 이용하여 상기 매칭된 특징점들을 3차원 움직임 벡터로 나타내는 단계; 및
상기 카메라의 움직임을 상기 카메라가 움직이기 전의 하나의 점과 움직인 후의 3차원 점을 이은 움직임 벡터로 나타내는 단계
를 포함하는 벡터 필터링 기법.
Extracting a plurality of feature points in an image and matching each feature point with a feature point extracted from a previous image;
Displaying the matched minutiae points as a three-dimensional motion vector using a stereo camera; And
Representing the motion of the camera as a motion vector between a point before moving the camera and a moving point after moving the camera
A vector filtering technique that includes.
제1항에 있어서,
상기 특징점들 각각에서 구해진 움직임 벡터를 복수의 평가 함수를 이용하여 평가하고, 상기 카메라의 자세를 구하기 위한 유효한 움직임 벡터들을 계산하는
벡터 필터링 기법.
The method according to claim 1,
Evaluating a motion vector obtained from each of the minutiae points using a plurality of evaluation functions, and calculating effective motion vectors for obtaining the posture of the camera
Vector filtering technique.
제1항에 있어서,
상기 움직임 벡터들을 이용하여 상기 카메라의 자세를 구하고,
상기 복수의 평가 함수를 적용할 때 적용되는 가중치는 상기 카메라의 자세를 구한 후, 상기 복수의 평가 함수에 해당하는 적합 점의 비율로 계산하는
벡터 필터링 기법.
The method according to claim 1,
Obtaining a posture of the camera using the motion vectors,
The weights applied when the plurality of evaluation functions are applied are calculated as the ratio of the fitting points corresponding to the plurality of evaluation functions after obtaining the posture of the camera
Vector filtering technique.
KR1020130169096A 2013-12-31 2013-12-31 Filtering Methods of spatiotemporal 3D Vector for Robust visual odometry KR20150079098A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130169096A KR20150079098A (en) 2013-12-31 2013-12-31 Filtering Methods of spatiotemporal 3D Vector for Robust visual odometry

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130169096A KR20150079098A (en) 2013-12-31 2013-12-31 Filtering Methods of spatiotemporal 3D Vector for Robust visual odometry

Publications (1)

Publication Number Publication Date
KR20150079098A true KR20150079098A (en) 2015-07-08

Family

ID=53791521

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130169096A KR20150079098A (en) 2013-12-31 2013-12-31 Filtering Methods of spatiotemporal 3D Vector for Robust visual odometry

Country Status (1)

Country Link
KR (1) KR20150079098A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190001086A (en) 2017-06-26 2019-01-04 서울대학교산학협력단 Sliding windows based structure-less localization method using inertial and single optical sensor, recording medium and device for performing the method
CN110197104A (en) * 2018-02-27 2019-09-03 杭州海康威视数字技术股份有限公司 Distance measuring method and device based on vehicle
US11037306B2 (en) 2018-08-07 2021-06-15 Samsung Electronics Co., Ltd. Ego motion estimation method and apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190001086A (en) 2017-06-26 2019-01-04 서울대학교산학협력단 Sliding windows based structure-less localization method using inertial and single optical sensor, recording medium and device for performing the method
CN110197104A (en) * 2018-02-27 2019-09-03 杭州海康威视数字技术股份有限公司 Distance measuring method and device based on vehicle
US11037306B2 (en) 2018-08-07 2021-06-15 Samsung Electronics Co., Ltd. Ego motion estimation method and apparatus

Similar Documents

Publication Publication Date Title
US11176709B2 (en) Systems and methods for self-supervised scale-aware training of a model for monocular depth estimation
US11386567B2 (en) Systems and methods for weakly supervised training of a model for monocular depth estimation
US11436743B2 (en) Systems and methods for semi-supervised depth estimation according to an arbitrary camera
US11462023B2 (en) Systems and methods for 3D object detection
CN111771135B (en) LIDAR positioning using RNN and LSTM for time smoothing in autonomous vehicles
JP6670071B2 (en) Vehicle image recognition system and corresponding method
US8467902B2 (en) Method and apparatus for estimating pose of mobile robot using particle filter
WO2020236720A1 (en) Localization using semantically segmented images
US20210182596A1 (en) Localization using semantically segmented images
KR20200042760A (en) Vehicle localization method and vehicle localization apparatus
CN112740268B (en) Target detection method and device
CN111771141A (en) LIDAR positioning in autonomous vehicles using 3D CNN networks for solution inference
CN112539755B (en) Updating point cloud registration pipeline based on ADMM algorithm for autonomous vehicles
US11697412B2 (en) Collision monitoring using statistic models
US11648939B2 (en) Collision monitoring using system data
KR20210064049A (en) System and method for object trajectory prediction in an autonomous scenario
US11176821B2 (en) Junction queueing
CN110895826A (en) Training data generation method for image processing, image processing method and device thereof
CN112740274A (en) System and method for VSLAM scale estimation on robotic devices using optical flow sensors
US11657719B2 (en) System for sparsely representing and storing geographic and map data
US11023753B2 (en) System and method for determining a lane change of a preceding vehicle
US11874666B2 (en) Self-location estimation method
WO2022062480A1 (en) Positioning method and positioning apparatus of mobile device
JP2023503827A (en) Depth data model training with upsampling, loss and loss balance
US11080562B1 (en) Key point recognition with uncertainty measurement

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination