KR101107735B1 - Camera pose decision method - Google Patents

Camera pose decision method Download PDF

Info

Publication number
KR101107735B1
KR101107735B1 KR1020100017781A KR20100017781A KR101107735B1 KR 101107735 B1 KR101107735 B1 KR 101107735B1 KR 1020100017781 A KR1020100017781 A KR 1020100017781A KR 20100017781 A KR20100017781 A KR 20100017781A KR 101107735 B1 KR101107735 B1 KR 101107735B1
Authority
KR
South Korea
Prior art keywords
camera
particles
particle
pose
camera pose
Prior art date
Application number
KR1020100017781A
Other languages
Korean (ko)
Other versions
KR20110098252A (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 KR1020100017781A priority Critical patent/KR101107735B1/en
Publication of KR20110098252A publication Critical patent/KR20110098252A/en
Application granted granted Critical
Publication of KR101107735B1 publication Critical patent/KR101107735B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Abstract

본 발명은 Special Euclidean Group SE(3) 상에서 PSO(Particle Swarm Optimization)을 수행하여 카메라의 포즈를 결정하는 방법에 관한 것으로, 본 발명에 따른 방법은 이전 프레임에서 카메라의 포즈를 나타내는 복수 개의 파티클(particle)과 상기 복수 개의 파티클 각각을 위한 복수 개의 랜드마크를 초기화하는 단계, 현재 프레임에서 상기 복수 개의 랜드마크에 각각 대응하는 복수 개의 코너 포인트를 추출하는 단계, 그리고 상기 추출된 코너 포인트를 이용하여 상기 복수 개의 파티클에 대해 Special Euclidean Group SE(3) 상에서 PSO(Particle Swarm Optimization)을 수행하여 현재 프레임에 대한 카메라의 포즈를 결정하는 단계를 포함하고, 상기 파티클은 동차 행렬(Homogeneous matrix)

Figure 112010012779067-pat00182
으로 표현되며, R은 3×3 회전 행렬이고, t(
Figure 112010012779067-pat00183
)는 이동 벡터(translation vector)이다. 본 발명에 따르면 카메라의 급격한 모션 변화에도 카메라 포즈를 종래보다 상대적으로 적은 에러율로 정확하게 구할 수 있다.The present invention relates to a method of determining a pose of a camera by performing Particle Swarm Optimization (PSO) on a Special Euclidean Group SE (3). The method according to the present invention provides a plurality of particles representing a pose of a camera in a previous frame. And a plurality of landmarks for each of the plurality of particles, extracting a plurality of corner points respectively corresponding to the plurality of landmarks in a current frame, and using the extracted corner points. Determining particle pose of the camera for the current frame by performing Particle Swarm Optimization (PSO) on Special Euclidean Group SE (3) for the three particles, the particles being a homogeneous matrix.
Figure 112010012779067-pat00182
Where R is a 3x3 rotation matrix and t (
Figure 112010012779067-pat00183
) Is a translation vector. According to the present invention, the camera pose can be accurately obtained with a relatively low error rate even in the sudden motion change of the camera.

Description

카메라 포즈 결정 방법{CAMERA POSE DECISION METHOD}How to determine camera pose {CAMERA POSE DECISION METHOD}

본 발명은 카메라 포즈 결정 방법에 관한 것으로 보다 자세하게는 Special Euclidean Group SE(3) 상에서 PSO(Particle Swarm Optimization)을 수행하여 카메라의 포즈를 결정하는 방법에 관한 것이다.The present invention relates to a method of determining a camera pose, and more particularly, to a method of determining a pose of a camera by performing Particle Swarm Optimization (PSO) on a Special Euclidean Group SE (3).

과거 단순 조립이나 가공을 위하여 산업 현장에 도입되었던 로봇은 관련 기술의 발달에 따라 자체의 인식 능력과 판단 능력이 부가됨으로써 고기능의 작업을 수행할 수 있게 되었다. 더욱이 스스로 이동이 가능한 이동 로봇은 고정된 위치나 혹은 미리 구조화된 작업 환경에서 임의의 작업장이나 실외 등과 같이 넓은 작업 영역을 갖게 되어 그 역할 면이나 작업의 다양성 면에서 고정된 로봇에 비해 탁월한 능력을 가질 수 있다.Robots, which were introduced to industrial sites for simple assembly or processing in the past, have been able to perform high-performance tasks by adding their own recognition and judgment capabilities with the development of related technologies. Moreover, mobile robots, which can move themselves, have a wide working area in a fixed location or in a pre-structured work environment, such as any workplace or outdoors, and thus have superior capabilities in terms of their role or diversity of work. Can be.

이동 로봇은 주변 환경에 대한 사전 정보가 부족한 곳에서도 이동하거나 작업을 수행하는데에 필요한 자율적인 경로계획과 장애물 탐지 및 충돌 회피 능력을 가질 필요가 있는데, 근래 들어 사전 정보가 부족한 장소를 이동하면서 자동적으로 지도를 생성함과 동시에 로봇의 위치를 추정하는 기술인 '동시 위치 추정 및 지도 생성 기술 (Simultaneous Localization and Map Building, SLAM)'에 대한 연구가 활발히 진행되고 있다.The mobile robot needs to have autonomous route planning, obstacle detection and collision avoidance capability to move or perform tasks even where advance information about the surrounding environment is lacking. Simultaneous localization and map building (SLAM), a technology for estimating the location of robots while generating a map, is being actively researched.

이동 로봇이 스램(SLAM)을 수행하기 위해서는 주변 환경으로부터 위치 추정에 사용할 수 있는 정보의 추출 능력이 필수적이다. 시각 센서나 초음파 센서, 혹은 접촉 센서 등을 이용한 여러 가지 방법들이 이에 적용되고 있는데, 특히 레이저(LASER)와 카메라를 이용한 시각 센서와 이를 통한 3차원 인식 알고리즘은 계산량의 부담이 적고 밝기의 변화가 심한 곳에서도 사용될 수 있으므로 매우 효과적인 방법이다.In order for a mobile robot to perform a SLAM, the ability to extract information that can be used for position estimation from the surrounding environment is essential. Various methods using a visual sensor, an ultrasonic sensor, or a contact sensor are applied to the sensor. In particular, a visual sensor using a laser and a camera and a three-dimensional recognition algorithm using the same have a small computational burden and a high brightness change. It can be used anywhere, so it is very effective.

이렇게 슬램(SLAM)시스템을 풀기 위한 수학적 방법으로 Extended Kalman Filter (EKF) 또는 Rao-Blackwellised Particle Filter (RBPF) 같은 필터링 기법이 사용되어 왔다. 그런데 필터링 기법하의 슬램시스템은 주로 로봇의 움직임이 부드럽거나 천천히 움직인다는 가정하에 이루어지게 된다. 예컨대 평면의 바닥 위에서 3-DOF의 제한되고 천천히 움직이는 로봇에는 이 가정이 들어맞는다. 하지만 역동적인 움직임을 갖는 6-DOF의 로봇에 대해서는 이 가정이 맞지 않게 되며, 이 경우 시스템은 제대로 동작하지 않게 된다. 그 이유는 기존의 필터링 기법에서는 이런 부드러운 모션의 가정을 기반하여 관측함수의 선형화(linearization)를 통해 로봇의 위치인식을 하기 때문이다.As a mathematical method for solving the SLAM system, filtering techniques such as Extended Kalman Filter (EKF) or Rao-Blackwellised Particle Filter (RBPF) have been used. However, the slam system under the filtering technique is mainly based on the assumption that the robot moves smoothly or slowly. This assumption fits, for example, in a 3-DOF limited slow moving robot on the floor of a plane. However, for 6-DOF robots with dynamic movement, this assumption does not work, and the system will not work properly. The reason is that the existing filtering technique recognizes the position of the robot through the linearization of the observation function based on this smooth motion assumption.

도 1(a)에 나타낸 바와 같이, 종래의 필터링 기법은 실제 로봇의 움직임이나 센서를 통한 관측 특징의 움직임의 차이가 작다는 부드러운 모션의 가정하에, 바로 직전의 로봇의 위치 정보와 관측된 특징정보를 이용한 관측 함수의 1차 테일러 근사(Talyor approximation)를 통해서 자신의 위치를 추정하게 된다. 하지만 활동적인 움직임 발생시 도 1(b)와 같이 실제 로봇의 움직임의 차이 또는 관측정보의 차이가 커지게 되며, 둘 중 하나라도 큰 차이를 보이게 되면 부드러운 모션의 가정에 의한 선형화(linearization)를 적용 시 큰 오류가 발생할 수 있으며, 이는 슬램시스템의 치명적인 문제가 된다. 예를 들어 이동 로봇에서 이미지를 획득하는 카메라의 모션 움직임이 급격하게 이루어질 경우 위에서 살펴본 바와 같이 실제 카메라의 자세나 위치를 제대로 구할 수 없기 때문에 슬램시스템의 치명적인 문제가 된다.As shown in FIG. 1 (a), the conventional filtering technique is based on the position of the immediately preceding robot and the observed feature information under the assumption of smooth motion that the difference between the movement of the actual robot or the observation characteristic through the sensor is small. We estimate the position through the first order Taylor approximation of the observation function using. However, when an active movement occurs, as shown in FIG. 1 (b), a difference in actual robot movement or difference in observation information becomes large, and when one of the two shows a large difference, a linearization based on the assumption of smooth motion is applied. Large errors can occur, which is a fatal problem for slam systems. For example, when the motion of the camera acquiring the image is suddenly made by the mobile robot, as described above, the pose or position of the actual camera cannot be properly obtained, which is a fatal problem of the slam system.

본 발명이 해결하고자 하는 과제는 급격한 모션에도 강인하게 카메라의 포즈를 구할 수 있는 카메라 포즈 결정 방법을 제공하는 것이다.The problem to be solved by the present invention is to provide a camera pose determination method that can obtain the pose of the camera robustly even in a sudden motion.

이러한 기술적 과제를 해결하기 위한 본 발명의 한 실시예에 따른 카메라 포즈 결정 방법은, 이전 프레임에서 카메라의 포즈를 나타내는 복수 개의 파티클(particle)과 상기 복수 개의 파티클 각각을 위한 복수 개의 랜드마크를 초기화하는 단계, 현재 프레임에서 상기 복수 개의 랜드마크에 각각 대응하는 복수 개의 코너 포인트를 추출하는 단계, 그리고 상기 추출된 코너 포인트를 이용하여 상기 복수 개의 파티클에 대해 Special Euclidean Group SE(3) 상에서 PSO(Particle Swarm Optimization)을 수행하여 현재 프레임에 대한 카메라의 포즈를 결정하는 단계를 포함하고, 상기 파티클은 동차 행렬(Homogeneous matrix)

Figure 112010012779067-pat00001
으로 표현되며, R은 3×3 회전 행렬이고, t(
Figure 112010012779067-pat00002
)는 이동 벡터(translation vector)이다.Camera pose determination method according to an embodiment of the present invention for solving the technical problem, a plurality of particles (particle) representing the pose of the camera in the previous frame and a plurality of landmarks for each of the plurality of particles Extracting a plurality of corner points respectively corresponding to the plurality of landmarks in a current frame, and using the extracted corner points, Particle Swarm on a Special Euclidean Group SE (3) for the plurality of particles. Performing optimization to determine the pose of the camera with respect to the current frame, wherein the particles comprise a homogeneous matrix.
Figure 112010012779067-pat00001
Where R is a 3x3 rotation matrix and t (
Figure 112010012779067-pat00002
) Is a translation vector.

상기 추출된 코너 포인트는, 상기 초기 프레임에서 상기 랜드마크의 이미지 패치와 상기 현재 프레임에서 추출된 코너 포인트를 중심부에 놓은 이미지 패치를 비교하여 일치하는 경우 상기 카메라의 포즈를 결정하는 단계에서 이용될 수 있다.The extracted corner point may be used in comparing the image patch of the landmark in the initial frame with the image patch centering the extracted corner point in the current frame, and determining the pose of the camera when the image is matched. have.

상기 카메라 포즈 결정 단계는,The camera pose determination step,

(a) 미리 정의된 카메라 상태 천이 모델에 따라 상기 초기화된 복수 개의 파티클 각각에 대응하는 카메라 포즈 행렬

Figure 112010012779067-pat00003
(k번째 프레임에서 i번째 파티클에 대응하는 카메라 포즈 행렬)을 구하는 단계,(a) a camera pose matrix corresponding to each of the initialized plurality of particles according to a predefined camera state transition model
Figure 112010012779067-pat00003
(camera pose matrix corresponding to the i th particle in the k th frame),

(b) 상기 카메라 포즈 행렬을 미리 정의된 적합도 함수에 적용하여 복수 개의 파티클에 대한 각각의 개별 최적해와 전체 최적해를 구하는 단계,(b) applying the camera pose matrix to a predefined goodness-of-fit function to obtain each individual best solution and a total best solution for a plurality of particles;

(c) 상기 카메라 포즈 행렬

Figure 112010012779067-pat00004
에 대해 다음 수학식 (c) the camera pose matrix
Figure 112010012779067-pat00004
Equation for

Figure 112010012779067-pat00005
Figure 112010012779067-pat00005

Figure 112011041188761-pat00006

- 상기 수학식에서 Vi R 및 Vi T는 각각 파티클(Xi)로부터 분할된 이동 파트(Ri) 및 회전 파트(ti)에 대한 속도를 나타내고, c1, c2는 각각 독립적인 가중치 상수이며, r1, r2는 [0,1]에 관한 균등한 분포로부터 도출되는 랜덤 변수 벡터이고, w는 관성 상수이며, Ri ib와 Rgb는 개별적 파티클 및 전체 베스트 파티클 각각에 대한 회전 파트이고, ti ib와 tgb는 개별적 및 전체 베스트 파티클 각각의 이동 파트이며, 연산자 ←는 오른쪽 항을 좌측 항에 대입하는 연산자이고, 연산자 T는 트랜스포즈 변환 연산자이며, 연산자
Figure 112011041188761-pat00190
는 각 열벡터의 요소별 위치에 대한 요소별 곱(component wise multiplication)을 수행하는 연산자임 -
Figure 112011041188761-pat00006

- In the equation V i R and V i T denotes a speed for the moving part (R i) and the rotational part (t i) divided from each particle (Xi), c 1, c 2 are each independently of the weight constant , R 1 , r 2 are random variable vectors derived from an even distribution with respect to [0,1], w is an inertia constant, and R i ib and R gb are rotating parts for each individual particle and the best best particle respectively. T i ib and t gb are the moving parts of each of the individual and full best particles, operator ← is the operator that assigns the right term to the left term, operator T is the transpose transform operator, and
Figure 112011041188761-pat00190
Is an operator that performs component wise multiplication of the element position of each column vector-

을 이용하여 새로운 카메라 포즈 행렬을 구하는 단계,Obtaining a new camera pose matrix using

(d) 상기 (c) 단계에서 구해진 카메라 포즈 행렬에 대해 미리 정의된 적합도 함수에 적용하여 복수 개의 파티클에 대한 각각의 개별 최적해와 전체 최적해를 업데이트 하는 단계,(d) updating each individual best solution and the overall best solution for a plurality of particles by applying the predefined fit function to the camera pose matrix obtained in step (c);

(e) 상기 (c) 단계와 상기 (d) 단계를 미리 정해진 조건만큼 반복하는 단계, 그리고(e) repeating steps (c) and (d) by a predetermined condition; and

(f) 상기 (e) 단계 완료 후 상기 복수 개의 파티클에 대한 각각의 개별 최적해와 전체 최적해를 이용하여 현재 프레임에 대한 카메라의 포즈를 결정하는 단계를 포함할 수 있다.and (f) determining the pose of the camera with respect to the current frame by using each individual optimal solution and the total optimal solution for the plurality of particles after the completion of the step (e).

상기 각각의 개별 최적해와 전체 최적해의 평균을 현재 프레임에 대한 카메라의 포즈로 결정할 수 있다.The average of each individual best solution and the overall best solution can be determined as the pose of the camera for the current frame.

상기 미리 정해진 조건은,The predetermined condition is

상기 (c) 단계와 상기 (d) 단계의 반복 수행 회수가 미리 정해진 회수에 도달했거나, 최적해를 가지는 파티클의 적합도 값과 최악해를 가지는 파티클의 적합도 값의 차가 미리 정해진 기준보다 작은 경우일 수 있다.The number of repetitions of steps (c) and (d) has reached a predetermined number, or the difference between the goodness of fit of the particle having the best solution and the goodness of fit of the particle having the worst solution may be smaller than a predetermined criterion. .

상기 미리 정의된 카메라 상태 천이 모델은 다음 수학식The predefined camera state transition model is represented by the following equation

Figure 112010012779067-pat00007
Figure 112010012779067-pat00007

을 이용하여 구해지는 상태 천이 밀도 p(Xk│Xk-1)에 의해 구해지되,Obtained by the state transition density p (X k │X k-1 )

여기서

Figure 112010012779067-pat00008
는 공분산
Figure 112010012779067-pat00009
(
Figure 112010012779067-pat00010
)를 갖는 se(3) 상의 위너 과정(Wiener process) 노이즈이고,
Figure 112010012779067-pat00011
은 파티클의 유포를 결정하는 상태 동역학 텀(state dynamics term)이다.here
Figure 112010012779067-pat00008
Covariance
Figure 112010012779067-pat00009
(
Figure 112010012779067-pat00010
Wiener process noise on se (3) with
Figure 112010012779067-pat00011
Is the state dynamics term that determines the distribution of particles.

상기 카메라 포즈 결정 단계는,The camera pose determination step,

현재의 최적 파티클을 기준으로 일정 반경 내에서 퀀텀(quantum) 파티클(

Figure 112010012779067-pat00012
)을 추출하고, 추출된 퀀텀 파티클(
Figure 112010012779067-pat00013
)에 대해서 상기 미리 정의된 적합도 함수를 이용하여 적합도 값을 구하고 구해진 적합도 값이 현재의 전체 최적해(P gb)의 적합도 값보다 큰 경우 전체 최적해(P gb)를 해당 퀀텀 파티클(
Figure 112010012779067-pat00014
)로 변경하는 단계를 더 포함할 수 있다.Quantum particles (within a certain radius based on the current optimal particle)
Figure 112010012779067-pat00012
) And extracted quantum particles (
Figure 112010012779067-pat00013
) If the value obtained is fit to obtain a fit value using the fitness function is greater than the predefined value for the goodness of fit of the total optimal solution (P gb) with respect to the overall optimal solution (P gb) quantum particles (
Figure 112010012779067-pat00014
It may further comprise the step of changing to).

상기 현재 프레임의 카메라 포즈 결정 단계 후에 상기 복수 개의 랜드마크에 대해 EKF를 이용하여 업데이트하는 단계를 더 포함할 수 있다.The method may further include updating the plurality of landmarks by using EKF after the camera pose determination step of the current frame.

상기 현재 프레임의 카메라 포즈 결정 단계 후에 상기 복수 개의 파티클 중에서 미리 정해진 기준을 만족하지 못하는 파티클을 삭제하고, 상기 복수 개의 파티클 중 미리 정해진 기준 이상의 파티클로 대체하는 단계를 더 포함할 수 있다.The method may further include deleting a particle that does not satisfy a predetermined criterion among the plurality of particles after the camera pose determination step of the current frame, and replacing the particle having a predetermined criterion or more among the plurality of particles.

본 발명의 다른 실시예에 따른 컴퓨터로 읽을 수 있는 매체는 상기한 카메라 포즈 결정 방법 중 어느 하나를 컴퓨터에 실행시키기 위한 프로그램을 기록한다.A computer-readable medium according to another embodiment of the present invention records a program for causing a computer to execute any one of the camera pose determination methods described above.

본 발명에 의하면, 카메라의 급격한 모션 변화에도 카메라 포즈를 종래보다 상대적으로 적은 에러율로 정확하게 구할 수 있다.According to the present invention, the camera pose can be accurately obtained with a relatively small error rate even in the sudden motion change of the camera.

도 1은 종래의 필터링 기법이 급격한 모션 변화에서 슬램 시스템의 오류 발생을 설명하기 위해 제공되는 도면이다.
도 2는 다양체 상의 PSO를 도시한 도면이다.
도 3은 본 발명의 실시예에 따른 카메라 포즈 결정 장치를 설명하기 위해 제공되는 블록도이다.
도 4는 본 발명의 실시예에 따른 카메라 포즈 결정 방법을 설명하기 위해 제공되는 흐름도이다.
도 5는 본 발명에 따른 카메라 포즈 결정 방법과 종래의 다른 방법을 이용했을 때의 에러율을 비교하기 위해 제공되는 도면이다.
도 6은 급격한 모션 변화가 있었을 때 본 발명에 따른 PSO-SLAM와 종래의 OIF-SLAM 사이의 에러율을 비교하기 위해 제공되는 도면이다.
1 is a diagram in which a conventional filtering technique is provided to explain an error occurrence of a slam system in a sudden motion change.
2 shows PSOs on manifolds.
3 is a block diagram provided to explain an apparatus for determining a camera pose according to an exemplary embodiment of the present invention.
4 is a flowchart provided to explain a camera pose determination method according to an exemplary embodiment of the present invention.
5 is a view provided for comparing the error rate when using the camera pose determination method according to the present invention and another conventional method.
6 is a view provided to compare the error rate between the PSO-SLAM according to the present invention and the conventional OIF-SLAM when there is a sudden motion change.

먼저, 본 발명에 따른 실시예를 설명하기에 앞서 본 발명에서 다루는 몇 가지 중요한 이슈에 대해 설명한다.
First, before describing an embodiment according to the present invention, some important issues addressed by the present invention will be described.

PSO 알고리즘을 비주얼 SLAM 문제에 적용하는데 있어서 가장 중요한 이슈 중 하나는 카메라의 상태가 벡터가 아니라 SE(3)의 요소(element)라는 점이다. 이는 카메라 모션의 기하학적 특성을 반영한 것으로서 기존의 로봇분야에서 주로 사용되고 있는 기법이다. 따라서 SE(3)의 형상을 고려하기 위해서 통상적인 벡터 공간의 PSO 알고리즘을 재구성하는 것이 요구된다. 우선 간단히 PSO와 SE(3)를 각각 살피고 나서, SE(3)상에서의 기하학적 PSO 알고리즘을 제안한다.
One of the most important issues in applying the PSO algorithm to the visual SLAM problem is that the state of the camera is not a vector but an element of the SE (3). This reflects the geometrical characteristics of the camera motion and is a technique mainly used in the existing robot field. Therefore, it is required to reconstruct a conventional vector space PSO algorithm to take into account the shape of the SE 3. First, we briefly examine PSO and SE (3), and then propose a geometric PSO algorithm on SE (3).

1. 벡터 공간 상에서의 PSO(Particle Swarm Optimization) 개관1. Overview of Particle Swarm Optimization in Vector Space

PSO 알고리즘의 발상은 파티클 셋(

Figure 112010012779067-pat00015
)의 상호 작용을 고려하는 것이다. N-차원 벡터로 표현되는 각각의 파티클(
Figure 112010012779067-pat00016
)은 두 가지 값을 사용하여 최적 상태를 찾아내기 위해 솔루션 공간을 탐사한다.: 두 가지 값은 각각 ⅰ) 각 파티클
Figure 112010012779067-pat00017
와 전체 베스트(global best)파티클
Figure 112010012779067-pat00018
(
Figure 112010012779067-pat00019
) 사이의 상대적인 위치, 그리고 ⅱ) 각 파티클
Figure 112010012779067-pat00020
와 그 개별적 베스트(individual best)파티클
Figure 112010012779067-pat00021
(
Figure 112010012779067-pat00022
) 사이의 상대적인 위치이다. 두 개의 상대 위치 벡터인
Figure 112010012779067-pat00023
Figure 112010012779067-pat00024
는 파티클이 실제적인 최적의 상태 가까이로 수렴할 수 있는 더 나은 최적의 상태를 찾기 위한 방향을 제공한다.The idea of the PSO algorithm is that
Figure 112010012779067-pat00015
) Is to consider the interaction. Each particle represented by an N-dimensional vector
Figure 112010012779067-pat00016
) Explores the solution space to find the optimal state using two values: two values respectively)
Figure 112010012779067-pat00017
And global best particles
Figure 112010012779067-pat00018
(
Figure 112010012779067-pat00019
Relative position between a) and ii) each particle
Figure 112010012779067-pat00020
And its individual best particles
Figure 112010012779067-pat00021
(
Figure 112010012779067-pat00022
Relative position between Two relative position vectors
Figure 112010012779067-pat00023
Wow
Figure 112010012779067-pat00024
Provides a direction for finding a better optimal state where the particles can converge near the actual optimal state.

PSO의 기본 작동은 파티클의 속도와 이동 계산이다. 우선 수학식 1을 사용하여 두 개의 상대 위치 벡터를 합함으로써, 각 파티클은 어느 위치로 이동하는 것인지를 나타내는 속도(

Figure 112010012779067-pat00025
)를 계산한다. The basic operation of the PSO is to calculate the velocity and movement of the particles. First, using Equation 1, the two relative position vectors are summed so that each particle moves to a velocity (where
Figure 112010012779067-pat00025
Calculate

Figure 112010012779067-pat00026
Figure 112010012779067-pat00026

여기서,

Figure 112010012779067-pat00027
는 관성(inertia)에 대응하고,
Figure 112010012779067-pat00028
,
Figure 112010012779067-pat00029
는 두 개의 상대 위치 벡터를 위한 가중치 계수이다.
Figure 112010012779067-pat00030
Figure 112010012779067-pat00031
(
Figure 112010012779067-pat00032
)는 [0,1]에 관한 균등한 분포로부터 도출되는 랜덤 변수 벡터이다. 이러한 모든 가산(addition) 및 차산(subtraction)은 유클리드 벡터 공간에서 정의된다. 구해진
Figure 112010012779067-pat00033
를 사용하여
Figure 112010012779067-pat00034
가 수학식 2에 의해 업데이트된다.here,
Figure 112010012779067-pat00027
Corresponds to inertia,
Figure 112010012779067-pat00028
,
Figure 112010012779067-pat00029
Is a weighting coefficient for two relative position vectors.
Figure 112010012779067-pat00030
and
Figure 112010012779067-pat00031
(
Figure 112010012779067-pat00032
) Is a random variable vector derived from an even distribution of [0,1]. All these additions and subtractions are defined in Euclidean vector space. Saved
Figure 112010012779067-pat00033
use with
Figure 112010012779067-pat00034
Is updated by equation (2).

Figure 112010012779067-pat00035
Figure 112010012779067-pat00035

속도와 파티클 이동 계산 후에, 업데이트된 상태에서의 파티클이 더 나은 적합치

Figure 112010012779067-pat00036
를 갖는다면, 현재의 전체 최적 값
Figure 112010012779067-pat00037
와 파티클의 개별적 베스트 값
Figure 112010012779067-pat00038
가 업데이트되며, 이를 나타내면 수학식 3과 같다.After calculating velocity and particle movement, the particles in the updated state have a better fit
Figure 112010012779067-pat00036
If we have, then the current total optimal value
Figure 112010012779067-pat00037
Individual Best Values for Particles and Particles
Figure 112010012779067-pat00038
Is updated, and this is represented by Equation 3.

Figure 112010012779067-pat00039
Figure 112010012779067-pat00039

수학식 1 내지 수학식 3의 과정을 일정 회수만큼 반복함으로써, 파티클은 최적 상태가 존재하여야 할 영역을 탐사하고, 점차 특정 상태로 수렴되어 간다. 이러한 수렴 특성은 정확한 최적화를 가능하게 하지만, 지역적 최적화(local optima)로 파티클들을 이끌 수도 있다. 이 같은 현상은 SLAM과 같은 동적 최적화 문제에서는 종종 발생한다. 그러므로 퀀텀(quantum) 파티클이라 불리는 반-수렴(anti-converging) 파티클이 이러한 지역적 최적화로의 수렴을 방지하기 위해 이용된다.By repeating the process of Equations 1 to 3 by a certain number of times, the particles explore the area where the optimum state should exist and gradually converge to a specific state. This convergence feature allows for accurate optimization, but may lead to particles with local optima. This often happens with dynamic optimization problems like SLAM. Therefore anti-converging particles, called quantum particles, are used to prevent convergence to this local optimization.

단일한 PSO 단계의 마지막으로, 퀀텀 파티클

Figure 112010012779067-pat00040
(
Figure 112010012779067-pat00041
)이 다음 수학식 4의 규칙에 따라 임의적으로 생성된다.At the end of a single PSO step, quantum particles
Figure 112010012779067-pat00040
(
Figure 112010012779067-pat00041
) Is arbitrarily generated according to the following rule.

Figure 112010012779067-pat00042
Figure 112010012779067-pat00042

여기서,

Figure 112010012779067-pat00043
Figure 112010012779067-pat00044
가 중심이고
Figure 112010012779067-pat00045
가 반경인 파티클 클라우드(cloud)를 나타낸다. 모든 퀀텀 파티클들은 중립(neutral) 파티클의 경우와 유사하게 적합 함수(fitness function)에 의해 평가된다. 또한 현재의
Figure 112010012779067-pat00046
보다 더 나은 적합치를 갖는 퀀텀 파티클이 존재한다면
Figure 112010012779067-pat00047
는 교체된다. 퀀텀 파티클들의 넓은 범위는 지역적 최소화(local minima)를 모면함으로써 더 나은 기본 위치를 찾을 수 있는 기회를 제공하게 된다. 퀀텀 파티클들 중 하나가 새로운 최적 상태
Figure 112010012779067-pat00048
를 찾아낸다면, 다음 PSO 반복 수행에서 다른 중립 파티클들은 새로운
Figure 112010012779067-pat00049
에 가깝도록 이동한다. 그러고 나서 중립 파티클들은 새로운 영역에서 최적화를 진행해가고, 결국 전체 최적 상태에 도달하게 된다.
here,
Figure 112010012779067-pat00043
Is
Figure 112010012779067-pat00044
Is the center
Figure 112010012779067-pat00045
Represents a particle cloud of which radius is. All quantum particles are evaluated by a fitness function, similar to the case of neutral particles. Also present
Figure 112010012779067-pat00046
If there is a quantum particle with better fit
Figure 112010012779067-pat00047
Is replaced. The wide range of quantum particles offers the opportunity to find a better base position by avoiding local minima. One of the quantum particles has a new optimal state
Figure 112010012779067-pat00048
If we find, then in the next PSO iteration, other neutral particles
Figure 112010012779067-pat00049
Move closer to The neutral particles then optimize in a new area, eventually reaching their full optimum.

2. 스페셜 유클리드 그룹 SE(3)2. Special Euclid Group SE (3)

본 발명의 시스템에서, 카메라 모션은 초기 카메라 포즈에 관해서는 카메라 좌표의 강체 변환(rigid body transformation)에 의해 나타내진다. 강체 변환은 동차 행렬(homogeneous matrix)

Figure 112010012779067-pat00050
에 의해 표현될 수 있다. 여기서 R은 3×3의 회전 행렬이고, t(
Figure 112010012779067-pat00051
)는 이동 벡터(translation vector)이다. 강체 변환 행렬과 회전 행렬 R은 행렬 리 그룹(Lie group), 스페셜 유클리드(special Euclidean) 그룹 SE(3), 그리고 스페셜 직교(special orthogonal) 그룹 SO(3)과 각각 관련이 있다. 리 대수(Lie algebra)는 항등 요소(identity element)에서의 SO(3)와 SE(3)의 접선 벡터 공간(tangent vector space)이고, 각각 so(3)와 se(3)로 나타내진다. 리 그룹과 리 대수는 지수 맵(exponential map)을 통하여 관련될 수 있다. 즉 exp: so(3)→SO(3)이고, exp: se(3)→SE(3)이다. 행렬 리 그룹에 있어서 지수 맵은 통상의 행렬 지수(matrix exponential)와 대응된다. 로그 맵(log map)은 지수 맵의 역으로 정의된다. SO(3)와 SE(3)에 대한 지수 맵 및 로그 맵의 명시적인 식(explicit formulas)은 기존의 연구에서 주어져 있다.
In the system of the present invention, camera motion is represented by a rigid body transformation of camera coordinates with respect to the initial camera pose. Rigid body transformation is homogeneous matrix
Figure 112010012779067-pat00050
Can be represented by Where R is a rotation matrix of 3 × 3, and t (
Figure 112010012779067-pat00051
) Is a translation vector. The rigid transformation matrix and the rotation matrix R are associated with the matrix Li group, the special Euclidean group SE (3), and the special orthogonal group SO (3), respectively. Lie algebra is the tangent vector space of SO (3) and SE (3) in the identity element, represented by so (3) and se (3), respectively. Lee groups and lee logarithms can be related through an exponential map. That is, exp: so (3) → SO (3) and exp: se (3) → SE (3). In a matrix group, an exponential map corresponds to a normal matrix exponential. The log map is defined as the inverse of the exponential map. Explicit formulas of exponential maps and log maps for SO (3) and SE (3) are given in previous studies.

3. SE(3)상에서의 PSO3. PSO on SE (3)

이하에서는 SE(3)의 형상을 고려하여, 파티클, 속도, 그리고 파티클 업데이트와 같은 기본 PSO에서의 다양한 개념들을 재정의한다. 우선 일반적인 리만 다양체(Riemannian manifold)의 경우를 고려한다. 기본 PSO에서의 파티클은 다양체 상에서 포인트

Figure 112010012779067-pat00052
로 고려될 수 있고, 그 속도
Figure 112010012779067-pat00053
Figure 112010012779067-pat00054
의 접선 벡터 공간 상의 속도로 정의될 수 있다. 리만 로그 및 지수 맵은 리만 다양체 상의 측지선(geodesics)로부터 도출되므로, 리만 다양체 상의 요소들 간의 차이를 측지선 특성을 보존하는 리만 로그 맵을 통하여 접선 벡터 공간 상의 차이로 나타낼 수 있다. 그러므로,
Figure 112010012779067-pat00055
와 개별적 베스트 파티클
Figure 112010012779067-pat00056
및 전체 베스트 파티클
Figure 112010012779067-pat00057
사이의 차이는
Figure 112010012779067-pat00058
에서의 리만 로그 맵을 사용하여 접선 벡터 공간 상의 속도로서 나타낼 수 있다. 즉
Figure 112010012779067-pat00059
Figure 112010012779067-pat00060
Figure 112010012779067-pat00061
에서의 접선 벡터 공간 상의 차이와 대응된다. 그러고 나서 속도 업데이트는 se(3) 상에서 정의된 Vi,
Figure 112010012779067-pat00062
와 개별적 베스트 파티클
Figure 112010012779067-pat00063
및 전체 베스트 파티클
Figure 112010012779067-pat00064
사이의 차이를 이루는 3개의 벡터를 이용하여 수행한다. 파티클 업데이트는 Xi에서의 접선 벡터 공간 상의 결과 속도 벡터 Vi 의 exp 맵을 기존의
Figure 112010012779067-pat00065
에 곱하여 수행한다. 도 2는 다양체 상의 PSO를 도시한 도면이다. 요구되는 작업은 접선 벡터 공간에서 이루어진다.Hereinafter, in consideration of the shape of the SE (3), it redefines various concepts in the basic PSO such as particles, speed, and particle update. First consider the case of a typical Rimannian manifold. Particles in the base PSO point to manifolds
Figure 112010012779067-pat00052
Can be considered as its speed
Figure 112010012779067-pat00053
Is
Figure 112010012779067-pat00054
It can be defined as the velocity on the tangential vector space of. Since the Lehmann log and exponential maps are derived from geodesics on the Lehman manifold, the differences between elements on the Lehman manifold can be represented as the differences in the tangential vector space through the Lehman log map that preserves the geodesic characteristics. therefore,
Figure 112010012779067-pat00055
And individual best particles
Figure 112010012779067-pat00056
And full best particles
Figure 112010012779067-pat00057
The difference between
Figure 112010012779067-pat00058
The Rieman log map in can be expressed as the velocity on the tangential vector space. In other words
Figure 112010012779067-pat00059
Wow
Figure 112010012779067-pat00060
Is
Figure 112010012779067-pat00061
Corresponds to the difference in the tangential vector space at. The velocity update then defines V i , defined on se (3)
Figure 112010012779067-pat00062
And individual best particles
Figure 112010012779067-pat00063
And full best particles
Figure 112010012779067-pat00064
This is done using three vectors that make up the difference between them. Particle update replaces the exp map of the resulting velocity vector Vi in the tangential vector space at X i .
Figure 112010012779067-pat00065
Multiply by 2 shows PSOs on manifolds. The required work is done in tangential vector space.

하지만 일반적인 리만 다양체 상의 PSO가 SE(3)에 바로 적용되는 것은 간단하지 않다. SE(3) 상의 최소 측지선이 SO(3) 및

Figure 112010012779067-pat00066
상의 개별적인 측지선의 집합에 의해 주어지기 때문에, SE(3)에 대한 리만 지수 및 로그 맵을 이끌어내는 것은 어렵다. 다행히도, SO(3)에 대한 리만 지수 및 로그 맵은 행렬 지수 및 로그인 지수 및 로그의 좌측 및 우측 이동(translation)에 의해 주어진다. 따라서 파티클
Figure 112010012779067-pat00067
Figure 112010012779067-pat00068
(∈SO(3))와
Figure 112010012779067-pat00069
(
Figure 112010012779067-pat00070
)로 분할함으로써 근사적으로 SE(3) 상의 PSO를 수행할 수 있게 된다.However, it is not straightforward that PSOs on a typical Lehmann manifold are applied directly to the SE (3). The minimum geodesic on SE (3) is SO (3) and
Figure 112010012779067-pat00066
Given by the set of individual geodesic phases of the phases, it is difficult to derive the Lehman index and log map for SE (3). Fortunately, the Lehman index and log map for SO 3 are given by the matrix index and login index and the left and right translation of the log. So particles
Figure 112010012779067-pat00067
To
Figure 112010012779067-pat00068
(∈SO (3)) and
Figure 112010012779067-pat00069
(
Figure 112010012779067-pat00070
By dividing by) it is possible to perform PSO on SE (3) approximately.

Ri에 대한 속도

Figure 112010012779067-pat00071
및 파티클 업데이트 식은 수학식 5와 같이 주어진다.Speed for R i
Figure 112010012779067-pat00071
And the particle update equation is given by Equation 5.

Figure 112010012779067-pat00072
Figure 112010012779067-pat00072

여기서

Figure 112010012779067-pat00073
Figure 112010012779067-pat00074
는 개별적 및 전체 베스트 파티클 각각에 대한 회전 파트이다. 거리는
Figure 112010012779067-pat00075
의 곱에 의해 계산되고, 접선 속도 공간상의 대응되는 속도는 로그에 의해 주어진다. 그러고 나서 접선 벡터 공간 상의 결과 벡터의 지수는
Figure 112010012779067-pat00076
에 의해 곱해진다. 수학식 5에서
Figure 112010012779067-pat00077
은 so(3) 상의 균등한 랜덤 벡터를 나타내고,
Figure 112010012779067-pat00078
는 so(3) 상의 기본 요소에 대하여 열벡터(column vector)에서 나타내지는 so(3) 요소 사이의 요소 와이즈 곱(component wise multiplication)을 나타낸다.
Figure 112010012779067-pat00079
에 관해서는 수학식 6과 같이 통상의 PSO 알고리즘에 의해 나타내질 수 있다.here
Figure 112010012779067-pat00073
Wow
Figure 112010012779067-pat00074
Is the rotation part for each of the individual and full best particles. Distance
Figure 112010012779067-pat00075
Is calculated by the product of and the corresponding velocity in the tangential velocity space is given by the logarithm. Then the exponent of the resulting vector in the tangential vector space is
Figure 112010012779067-pat00076
Multiplied by In equation (5)
Figure 112010012779067-pat00077
Denotes an equal random vector on so (3),
Figure 112010012779067-pat00078
Denotes a component wise multiplication between the elements of so (3) represented in the column vector for the element on so (3).
Figure 112010012779067-pat00079
As can be expressed by the conventional PSO algorithm as shown in Equation (6).

Figure 112010012779067-pat00080
Figure 112010012779067-pat00080

여기서

Figure 112010012779067-pat00081
Figure 112010012779067-pat00082
는 개별적 및 전체 베스트 프티클 각각의 이동 파트이다.
Figure 112010012779067-pat00083
주변의 퀀텀 파티클들은
Figure 112010012779067-pat00084
에 의해 생성되며, u는 so(3) 상의 평균이 0(zero mean)인 균등한 랜덤 벡터이다. 유사하게,
Figure 112010012779067-pat00085
에 관한 퀀텀 파티클들은 평균
Figure 112010012779067-pat00086
를 갖는 균등한 분포로부터 생성된다.
here
Figure 112010012779067-pat00081
Wow
Figure 112010012779067-pat00082
Is the moving part of each of the individual and full best articles.
Figure 112010012779067-pat00083
The surrounding quantum particles
Figure 112010012779067-pat00084
Is a uniform random vector with a mean of zero on so (3). Similarly,
Figure 112010012779067-pat00085
Quantum particles about are average
Figure 112010012779067-pat00086
Is generated from an even distribution with

4. 제안된 체계(framework)4. The proposed framework

본 발명에 따른 시스템은 센서 입력으로 핸드 헬드 카메라로부터의 이미지들만을 사용한다. 알려진 고유의 카메라 매개변수들을 가지는 단안식 및 쌍안식 카메라를 모두 고려할 수 있다. 제안된 방법은 RBPF 필터링에 기초하지만, 근사 최적 중요도 함수 대신에 PSO 반복 수행을 통하여 중요도 샘플링을 수행한다. PSO를 비주얼 추적 알고리즘에 적용했던 Zhang 등은 PSO 반복 수행이 다층 중요도 샘플링(multilayered importance sampling)으로 간주될 수 있다고 언급했다. 이러한 접근 방식과 유사하게 PSO를 SLAM 시스템에 적용한다. 제안된 알고리즘의 전 과정은 표 1에 요약되어 있다. 이하에서 상세히 설명한다.The system according to the invention uses only images from a handheld camera as sensor input. Both monocular and binocular cameras with known unique camera parameters can be considered. The proposed method is based on RBPF filtering, but instead of approximate optimal importance function, importance sampling is performed through PSO iteration. Zhang et al., Who applied PSO to a visual tracking algorithm, noted that PSO iterations can be considered as multi-layered importance sampling. Similar to this approach, we apply PSO to SLAM systems. The entire process of the proposed algorithm is summarized in Table 1. It will be described in detail below.

Figure 112010012779067-pat00087
Figure 112010012779067-pat00087

4.1. 동적 모델4.1. Dynamic model

카메라 모션을 나타내는 상태 방정식은 SE(3) 상의 확률 미분 방정식(stochastic differential equation)으로부터 도출될 수 있다. 파티클

Figure 112010012779067-pat00088
(∈SE(3))에 의해 카메라 상태를 도출하기 위해 파티클은 수학식 7에 의해 유포된다.The state equation representing the camera motion can be derived from the stochastic differential equation on SE (3). particle
Figure 112010012779067-pat00088
In order to derive the camera state by (SE (3)), the particles are distributed by equation (7).

Figure 112010012779067-pat00089
Figure 112010012779067-pat00089

여기서

Figure 112010012779067-pat00090
는 공분산
Figure 112010012779067-pat00091
(
Figure 112010012779067-pat00092
)를 갖는 se(3) 상의 위너 과정(Wiener process) 노이즈이고,
Figure 112010012779067-pat00093
은 파티클의 유포를 결정하는 상태 동역학 텀(state dynamics term)이다. SLAM 시스템에서는 어떤 오도메트리(odometry) 정보도 이용할 수 없으므로, 일정 속도 가정과 같은 부드러운 모션 모델이 일반적으로 사용된다. 여기서는 상태 동역학 텀으로써 SE(3) 상에서 AR 과정(auto-regressive process)을 사용한다. 이러한 AR에 기초한 상태 동역학 모델은 부드러운 카메라 모션을 가정한다. 그러고 나서 AR 상태 동역학은 수학식 8에 의해 업데이트된다.here
Figure 112010012779067-pat00090
Covariance
Figure 112010012779067-pat00091
(
Figure 112010012779067-pat00092
Wiener process noise on se (3) with
Figure 112010012779067-pat00093
Is the state dynamics term that determines the distribution of particles. Since no odometry information is available in the SLAM system, smooth motion models such as constant velocity assumptions are commonly used. Here we use an auto-regressive process on SE (3) as the state dynamics term. This AR based state dynamics model assumes smooth camera motion. The AR state dynamics is then updated by equation (8).

Figure 112010012779067-pat00094
Figure 112010012779067-pat00094

여기서 a는 첫 번째 AR 과정 매개변수이다. 쌍안식(스테레오) 카메라의 경우에서, 카메라 상태는 좌측 카메라에 기초한다.
Where a is the first AR process parameter. In the case of a binocular (stereo) camera, the camera state is based on the left camera.

4.2. 관찰 모델(Observation Model)4.2. Observation Model

랜드마크는 초기 카메라 좌표에 대하여 유클리드 공간의 3차원 지점으로 간주된다. 특히, 무한한 3차원 지점들을 다루고 단일 이미지를 사용하는 랜드마크들을 초기화하는 것이 가능하므로, 랜드마크들은 역 심도 지점(IDP, Inverse Depth Point) 매개변수화에 의해 나타내진다. IDP L은 초기 3차원 지점 t^, 방위

Figure 112010012779067-pat00095
, 그리고 역 거리(inverse distance)
Figure 112010012779067-pat00096
로 구성되는 6차원 벡터로 표현된다. 그러므로 랜드마크는 공분산
Figure 112010012779067-pat00097
(
Figure 112010012779067-pat00098
을 갖는
Figure 112010012779067-pat00099
로 나타내질 수 있다.Landmarks are considered to be three-dimensional points in Euclidean space with respect to initial camera coordinates. In particular, since it is possible to initialize landmarks that handle infinite three-dimensional points and use a single image, the landmarks are represented by Inverse Depth Point (IDP) parameterization. IDP L is the initial three-dimensional point t ^, azimuth
Figure 112010012779067-pat00095
, And inverse distance
Figure 112010012779067-pat00096
It is represented by a six-dimensional vector consisting of. Therefore, landmarks are covariance
Figure 112010012779067-pat00097
(
Figure 112010012779067-pat00098
Having
Figure 112010012779067-pat00099
It can be represented as.

그러고 나서

Figure 112010012779067-pat00100
로부터의 측정치
Figure 112010012779067-pat00101
는 랜드마크의 카메라 투영 상의 2차원 이미지 좌표이고, 수학식 9로 표현된다.and then
Figure 112010012779067-pat00100
Measurements from
Figure 112010012779067-pat00101
Is the two-dimensional image coordinates on the camera projection of the landmark and is represented by equation (9).

Figure 112010012779067-pat00102
Figure 112010012779067-pat00102

여기서 h는 동차(homogeneous) 좌표에 있는 3차원 랜드마크 위치로 L을 이동시키는 함수이고, g는 내부 매개변수를 갖는 퍼스펙티브 카메라 투영(perspective camera projection) 함수이며,

Figure 112010012779067-pat00103
는 공분산 Q(
Figure 112010012779067-pat00104
)를 갖는 가우시안 측정 노이즈이다. 그러고 나서 유사도 분포는 수학식 10과 같이 주어진다.Where h is a function that moves L to a three-dimensional landmark location in homogeneous coordinates, g is a perspective camera projection function with internal parameters,
Figure 112010012779067-pat00103
Is the covariance Q (
Figure 112010012779067-pat00104
Gaussian measurement noise with Then, the similarity distribution is given by Equation 10.

Figure 112010012779067-pat00105
Figure 112010012779067-pat00105

화면에 N개의 랜드마크가 있다면

Figure 112010012779067-pat00106
Figure 112010012779067-pat00107
벡터가 된다.If you have N landmarks on the screen
Figure 112010012779067-pat00106
Is
Figure 112010012779067-pat00107
It becomes a vector.

스테레오 카메라를 사용하면, 스테레오 삼각망(stereo triangulation)에 의해 계산되는 심도 정보를 사용하는 것이 가능하다. 하지만 이러한 심도 정보는 측정 노이즈에 민감하며, 특히 랜드마크가 카메라로부터 멀리 떨어져 있을 때 그러하다. 이러한 이유로 삼각망 없이 측정치로써 바로 스테레오 쌍 지점(stereo pair points)을 사용한다. 쌍안식 카메라의 경우에 대한 측정치 방정식은 수학식 11과 같이 표현된다.Using a stereo camera, it is possible to use depth information calculated by stereo triangulation. However, this depth information is sensitive to measurement noise, especially when the landmark is far away from the camera. For this reason, stereo pair points are used directly as measurements without a triangle network. The measurement equation for the case of a binocular camera is expressed as Equation (11).

Figure 112010012779067-pat00108
Figure 112010012779067-pat00108

Figure 112010012779067-pat00109
(∈SE(3))는 좌측 카메라로부터 우측 카메라로의 좌표 변환을 나타내고, n-k는 공분산
Figure 112010012779067-pat00110
(
Figure 112010012779067-pat00111
)를 갖는 가우시안 측정 노이즈이다.
Figure 112010012779067-pat00109
(SE (3)) represents the coordinate transformation from the left camera to the right camera, and nk is the covariance
Figure 112010012779067-pat00110
(
Figure 112010012779067-pat00111
Gaussian measurement noise with

4.3. 특징 및 데이터 조합(Feature and Data Association)4.3. Feature and Data Association

FAST-10 코너 디텍터에 의해 코너 포인트를 추출한다. 추출된 코너 포인트에 중심이 맞춰진 31×31의 패치가 잘라져서 랜드마크가 초기화될 때 보관되었다. 매칭 단계에서는 21×21의 변환된 패치들의 NCC(Normalized Cross Correlation)를 계산한다. 랜드마크 패치들은 평가된 카메라 모션에 따라서 회전과 크기 변화를 고려함으로써 변환된다. 패치의 크기가 초기 크기에 비해 크게 변화된 경우에는 새로운 패치를 재등록한다.The corner points are extracted by the FAST-10 corner detector. A 31 × 31 patch centered on the extracted corner point was cut out and stored when the landmark was initialized. In the matching step, the normalized cross correlation (NCC) of 21 × 21 transformed patches is calculated. Landmark patches are converted by taking into account rotation and scale changes in accordance with the evaluated camera motion. If the size of the patch changes significantly compared to the initial size, reregister the new patch.

PF에 기초한 SLAM의 중요한 특징 중 하나는 각 파티클이 그 자신의 데이터 조합(data association)을 가지기 때문에 데이터 조합의 이상치(outlier)에 대해 강인(robust)하다는 것이다. 하지만 데이터 조합은 랜드마크 맵에 대한 추출된 특징 지점들의 매칭을 요구하기 때문에, 비주얼 SLAM에 대한 퍼-파티클(per-particle)의 단순한(naive) 이행은 커다란 시간 낭비가 될 수 있다. 그러므로 더 향상된 데이터 조합 방법이 효과적인 비주얼 SLAM을 위해 제안되어 왔다. 여기서는 통상의 방법들 중 단순한 데이터 조합 퍼 파티클을 회피하는 careful one-shot 데이터 조합의 방법을 따른다.One important feature of SLAM based on PF is that it is robust to the outliers of the data combination because each particle has its own data association. However, since data combinations require matching of extracted feature points to the landmark map, the naive implementation of per-particles to the visual SLAM can be a huge waste of time. Therefore, more advanced data combining methods have been proposed for effective visual SLAM. Here we follow a careful one-shot data combination that avoids the simplest data combination per particle.

쌍안식 카메라의 경우에서, 참조 카메라(reference camera)(좌측 카메라)에 관한 랜드마크의 업데이트된 2차원 이미지 지점들에 대한 스테레오 매칭이 추가적으로 수행된다. SAD에 기초한 단순한 템플릿 매칭 방법이 적용되고, 수평선들에 대한 탐지 범위를 줄이기 위해 수정된 이미지들을 사용한다. 초기 매치 후에 스테레오 매칭의 이상치들을 제거하기 위해 L-R 체크 단계가 이어진다.
In the case of a binocular camera, stereo matching is further performed on the updated two-dimensional image points of the landmark relative to the reference camera (left camera). A simple template matching method based on SAD is applied and uses modified images to reduce the detection range for horizontal lines. After the initial match, the LR check step is followed to remove outliers of the stereo match.

4.4. SE(3) 상의 PSO을 통한 다층 중요도 샘플링4.4. Multilayer importance sampling with PSO on SE (3)

앞서 정의된 상태와 측정치 방정식에 기초한 파티클 필터링 과정을 설명한다. 본 발명의 알고리즘에서, 상태 변환 밀도

Figure 112010012779067-pat00112
는 층 중요도 샘플링(layered importance sampling)의 초기 파트로 사용되었다.
Figure 112010012779067-pat00113
로부터의 초기 샘플링은 수학식 7에 의해 이루어진다. 초기 샘플링 후에, 초기 샘플
Figure 112010012779067-pat00114
를 갖는 PSO 반복 수행이 이루어진다.The particle filtering process based on the state and measurement equations defined above is described. In the algorithm of the present invention, state transition density
Figure 112010012779067-pat00112
Was used as an early part of layered importance sampling.
Figure 112010012779067-pat00113
The initial sampling from is made by equation (7). After initial sampling, initial sample
Figure 112010012779067-pat00114
PSO iterations are performed.

PSO 반복 수행 단계에서, 우선 수학식 12로 정의되는 적합도 함수

Figure 112010012779067-pat00115
에 따라서
Figure 112010012779067-pat00116
Figure 112010012779067-pat00117
를 설정한다.In the PSO iteration step, the goodness-of-fit function defined by Equation 12 first
Figure 112010012779067-pat00115
according to
Figure 112010012779067-pat00116
And
Figure 112010012779067-pat00117
Set.

Figure 112010012779067-pat00118
Figure 112010012779067-pat00118

여기서

Figure 112010012779067-pat00119
는 올바르게 매치된 랜드마크의 수이다.
Figure 112010012779067-pat00120
를 최대화함으로써, 측정 오차를 최소화하는 최적의
Figure 112010012779067-pat00121
를 찾을 수 있다.here
Figure 112010012779067-pat00119
Is the number of landmarks matched correctly.
Figure 112010012779067-pat00120
By maximizing the
Figure 112010012779067-pat00121
Can be found.

Figure 112010012779067-pat00122
,
Figure 112010012779067-pat00123
, 그리고
Figure 112010012779067-pat00124
에 대한 적절한 값을 설정하는 법과 반복 수행 회수는 PSO에 있어서 결정적인 요인이다. 전체 최적 값을 찾아내는 능력은
Figure 112010012779067-pat00125
,
Figure 112010012779067-pat00126
, 그리고
Figure 112010012779067-pat00127
에 달려있다. 우선
Figure 112010012779067-pat00128
Figure 112010012779067-pat00129
Figure 112010012779067-pat00130
Figure 112010012779067-pat00131
에 대한 상대적 인력(relative attraction)을 각각 제어한다.
Figure 112010012779067-pat00132
=
Figure 112010012779067-pat00133
로 설정하는 방법이 널리 이용되고 있다. 수렴 속도는 주로
Figure 112010012779067-pat00134
에 의해 영향을 받는다.
Figure 112010012779067-pat00135
가 작으면 탐사 능력이 떨어지고 파티클들이 종종 지역적 최적화에 이르게 되는 반면, 알고리즘의 빠른 수렴이 보장된다. 반대로
Figure 112010012779067-pat00136
가 너무 크면 심각하게 수렴 속도가 떨어지게 된다.
Figure 112010012779067-pat00137
=0.5,
Figure 112010012779067-pat00138
=
Figure 112010012779067-pat00139
=
Figure 112010012779067-pat00140
로 하는 것이 실험에 있어서 가장 훌륭한 성능을 보여주었다.
Figure 112010012779067-pat00122
,
Figure 112010012779067-pat00123
, And
Figure 112010012779067-pat00124
How to set an appropriate value for and the number of iterations is a decisive factor for PSO. The ability to find the overall optimal value
Figure 112010012779067-pat00125
,
Figure 112010012779067-pat00126
, And
Figure 112010012779067-pat00127
Depends on first
Figure 112010012779067-pat00128
and
Figure 112010012779067-pat00129
Is
Figure 112010012779067-pat00130
Wow
Figure 112010012779067-pat00131
Control relative attraction to each.
Figure 112010012779067-pat00132
=
Figure 112010012779067-pat00133
The method of setting is widely used. Convergence rate is mainly
Figure 112010012779067-pat00134
Affected by
Figure 112010012779067-pat00135
Smaller values mean less exploration capability and particles often lead to local optimization, while ensuring fast convergence of the algorithm. Contrary
Figure 112010012779067-pat00136
Too large will seriously slow down the convergence rate.
Figure 112010012779067-pat00137
= 0.5,
Figure 112010012779067-pat00138
=
Figure 112010012779067-pat00139
=
Figure 112010012779067-pat00140
Showed the best performance in the experiment.

전체 최적화를 찾는 것은 또한 PSO 반복 수행 회수와 관련된다. 반복 수행 회수가 많아지면 전체 최적화에 도달할 확률은 높아지지만 수렴에 걸리는 시간이 증가하게 된다. PSO 반복 수행의 회수는 수학식 13에 따라서 자동적으로 결정된다.Finding the full optimization is also related to the number of PSO iterations. The greater the number of iterations, the higher the probability of reaching full optimization, but the longer it takes to converge. The number of PSO iterations is automatically determined according to equation (13).

Figure 112010012779067-pat00141
Figure 112010012779067-pat00141

여기서

Figure 112010012779067-pat00142
는 한 반복 수행 내에서 가장 나쁜 파티클을 의미한다. 반복 수행의 최대 회수는 30회로 제한된다. 이는 적합치(fitness value)의 향상이 30회의 반복 수행 이후에는 미미하기 때문이다.here
Figure 112010012779067-pat00142
Means the worst particle in one iteration. The maximum number of iterations is limited to 30 times. This is because the improvement in fitness value is minor after 30 iterations.

파티클 업데이트 후 중립 파티클의 20 퍼센트만큼

Figure 112010012779067-pat00143
주변으로 반경 rcloud을 갖는 퀀텀 파티클을 생성한다. 여기서는 가 상태 공분산(state covariance)와 동일하도록 설정했다. PSO를 통한 다층 중요도 샘플링이 마쳐지면
Figure 112010012779067-pat00145
는 수학식 8을 통해 업데이트된다.
20 percent of neutral particles after particle update
Figure 112010012779067-pat00143
Create a quantum particle with a radius rcloud around it. Here Is set equal to state covariance. When you have finished multi-level importance sampling with PSO
Figure 112010012779067-pat00145
Is updated through equation (8).

4.5. 랜드마크 업데이트4.5. Landmark update

새로운 특징을 관찰할 때, 랜드마크들은 초기화된다. 쌍안식 카메라의 경우에 있어서는 랜드마크를 초기화하기 위해 하나의 참조 카메라(본 발명의 시스템에서는 좌측 카메라)만을 사용한다. 중요도 샘플링 후 랜드마크는 표본 추출된(sampled) 카메라 포즈

Figure 112010012779067-pat00146
와 측정치
Figure 112010012779067-pat00147
에 기초하여 EKF에 의해 업데이트된다.When observing a new feature, the landmarks are initialized. In the case of a binocular camera, only one reference camera (left camera in the system of the present invention) is used to initialize the landmark. Landmarks are sampled after importance sampling
Figure 112010012779067-pat00146
And measurements
Figure 112010012779067-pat00147
Is updated by EKF based on.

랜드마크 업데이트 후 파티클 가중치는 수학식 14에 의해 계산된다.The particle weight after the landmark update is calculated by Equation 14.

Figure 112010012779067-pat00148
Figure 112010012779067-pat00148

여기서

Figure 112010012779067-pat00149
는 PSO 반복 수행 전에 초기 상태를 나타낸다. 마지막으로, 최적화 상태 평가(optimal state estimation)
Figure 112010012779067-pat00150
가 파티클의 기하학적 샘플 평균에 의해 계산된다.
here
Figure 112010012779067-pat00149
Indicates the initial state before performing the PSO iteration. Finally, optimal state estimation
Figure 112010012779067-pat00150
Is calculated by the geometric sample mean of the particles.

그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention.

도 3은 본 발명의 실시예에 따른 카메라 포즈 결정 장치를 설명하기 위해 제공되는 블록도이다.3 is a block diagram provided to explain an apparatus for determining a camera pose according to an exemplary embodiment of the present invention.

도 3을 참고하면, 먼저 카메라 포즈 결정 장치(100)는 이동 로봇(도시하지 않음)에 탑재되어 있는 카메라(200)로부터 촬영된 영상을 프레임 단위로 제공받아 해당 프레임에서의 카메라 포즈를 결정하는 기능을 수행한다. 여기서 카메라 포즈는 카메라의 자세 및 카메라의 위치를 의미한다. 카메라 포즈 결정 장치(100)는 이동 로봇에 탑재되어 있거나 이동 로봇과 유무선으로 통신을 할 수 있도록 구현될 수도 있다.Referring to FIG. 3, first, the camera pose determination apparatus 100 receives an image captured by a camera 200 mounted on a mobile robot (not shown) in frame units to determine a camera pose in a corresponding frame. Do this. Here, the camera pose means the pose of the camera and the position of the camera. The camera pose determination apparatus 100 may be mounted on the mobile robot or implemented to communicate with the mobile robot in a wired or wireless manner.

본 실시예에서 카메라의 포즈는 초기 카메라 포즈에 대해 카메라 좌표계의 강체 변환(rigid body transformation)에 의해 표현될 수 있으며, 따라서 카메라의 포즈를 나타내는 파티클은 동차 행렬(Homogeneous matrix)

Figure 112010012779067-pat00151
으로 표현되며, R은 3×3 회전 행렬이고, t(
Figure 112010012779067-pat00152
)는 이동 벡터(translation vector)이다. 이하에서는 위에서 파티클을 표현한 동차 행렬(X)을 카메라 포즈 행렬이라고 부른다.In this embodiment, the pose of the camera can be represented by a rigid body transformation of the camera coordinate system with respect to the initial camera pose, so that the particles representing the pose of the camera are a homogeneous matrix.
Figure 112010012779067-pat00151
Where R is a 3x3 rotation matrix and t (
Figure 112010012779067-pat00152
) Is a translation vector. Hereinafter, the homogeneous matrix X representing the particles above is called a camera pose matrix.

그러면 도 4를 참고하여 본 발명의 실시예에 따른 카메라 포즈 결정 방법에 대해 설명한다.Next, a camera pose determination method according to an exemplary embodiment of the present invention will be described with reference to FIG. 4.

도 4는 본 발명의 실시예에 따른 카메라 포즈 결정 방법을 설명하기 위해 제공되는 흐름도이다.4 is a flowchart provided to explain a camera pose determination method according to an exemplary embodiment of the present invention.

도 4를 참고하면, 먼저 카메라 포즈 결정 장치(100)는 카메라(200)의 포즈를 구하기 위한 알고리즘을 수행하기 위한 파라미터 초기화 작업을 수행한다(S410).Referring to FIG. 4, first, the camera pose determination apparatus 100 performs a parameter initialization operation for performing an algorithm for obtaining a pose of the camera 200 (S410).

단계(S410)에서 파티클(particle)의 개수(N)를 설정하고, PSO(Particle Swarm Optimization)의 반복 회수(M)를 설정할 수 있다. In operation S410, the number N of particles may be set, and the number of repetitions M of particle swarm optimization (PSO) may be set.

그리고 설정된 파티클의 개수(N) 만큼 카메라 포즈 행렬(X)과, 상태 동역학 텀(a 0)을 아래 수학식 15와 같이 초기화할 수 있다. 즉 파티클을 초기 상태로 설정한다.The camera pose matrix X and the state dynamics term a 0 may be initialized as shown in Equation 15 by the set number N of particles. That is, set the particle to its initial state.

Figure 112010012779067-pat00153
Figure 112010012779067-pat00153

그리고 초기(이전) 프레임에서 복수 개의 파티클 각각을 위한 복수 개의 랜드마크에 대한 정보를 초기화한다. 복수 개의 파티클 각각에 대해서 복수 개의 랜드마크에 대해 구해지는 역 심도 지점(IDP, Inverse Depth Point) L에 대한 정보를 저장한다. 랜드마크의 역 심도 지점 L 6-D 벡터에 의해 표현될 수 있다. 한편 복수 개의 파티클 각각에 대해서 랜드마크 이미지 패치를 저장한다. 랜드마크 이미지 패치는 이전 프레임에서 랜드마크가 투영된 코너 포인트(corner point)를 중심으로 하여 미리 정해진 크기, 예컨대 31×31 픽셀로 잘라낸 것을 의미한다.The information on the plurality of landmarks for each of the plurality of particles is initialized in the initial (previous) frame. Information about an inverse depth point (IDP) L obtained for a plurality of landmarks is stored for each of the plurality of particles. The landmark depth of field L is It can be represented by a 6-D vector. Meanwhile, landmark image patches are stored for each of the plurality of particles. The landmark image patch means a cropped to a predetermined size, for example, 31 × 31 pixels, around a corner point at which the landmark is projected in the previous frame.

이와 같이 단계(S410)에 의해 초기화가 완료되면, 카메라 포즈 결정 장치(100)는 카메라(200)에서 획득된 현재 프레임에서 복수 개의 랜드마크에 각각 대응하는 복수 개의 코너 포인트를 추출한다(S420).When the initialization is completed by the step S410, the camera pose determination apparatus 100 extracts a plurality of corner points respectively corresponding to the plurality of landmarks from the current frame acquired by the camera 200 (S420).

보다 자세하게는 카메라 포즈 결정 장치(100)는 FAST-10 코너 추출기를 이용하여 현재 프레임에서 코너 포인트를 추출할 수 있다. 그리고 카메라 포즈 결정 장치(100)는 초기(이전) 프레임에서 랜드마크에 대한 이미지 패치와 현재 프레임에서 추출된 코너 포인트를 중심부에 놓은 이미지 패치를 매칭한다. 이를 위해 카메라 포즈 결정 장치(100)는 랜드마크 이미지 패치를 회전 및 스케일 변화에 의해 변형하여 추출된 코너 포인트와 매칭을 수행한다. 랜드마크 이미지 패치에 매칭되는 코너 포인트만을 카메라의 포즈를 결정하는데 이용한다.In more detail, the camera pose determination apparatus 100 may extract a corner point from the current frame using the FAST-10 corner extractor. The camera pose determination apparatus 100 matches an image patch for a landmark in an initial (previous) frame with an image patch having a center of a corner point extracted from the current frame. To this end, the camera pose determination apparatus 100 performs matching with the extracted corner point by modifying the landmark image patch by rotation and scale change. Only corner points matching the landmark image patch are used to determine the pose of the camera.

다음으로 카메라 포즈 결정 장치(100)는 추출된 코너 포인트를 이용하여 복수 개의 파티클에 대해 Special Euclidean Group SE(3) 상에서 PSO(Particle Swarm Optimization)를 수행하여 현재 프레임에 대한 카메라의 포즈를 결정한다(S430).Next, the camera pose determination apparatus 100 determines the pose of the camera with respect to the current frame by performing Particle Swarm Optimization (PSO) on the Special Euclidean Group SE 3 for a plurality of particles by using the extracted corner points. S430).

SE(3) 상에서 PSO를 수행하여 현재 프레임에 대한 카메라의 포즈를 결정하는 단계(S430)를 보다 자세히 설명한다.Determining the pose of the camera for the current frame by performing PSO on the SE 3 will be described in more detail.

먼저 초기화된 복수 개의 파티클로부터 미리 정의된 카메라 상태 천이 모델에 따라 새로운 복수 개의 파티클에 대한 카메라 포즈 행렬(

Figure 112010012779067-pat00154
)을 각각 랜덤하게 추출한다. 이에 의해 파티클이 초기 상태에서 새로운 상태로 이동한 것을 의미한다.According to the predefined camera state transition model from the plurality of initialized particles, the camera pose matrix for the new plurality of particles (
Figure 112010012779067-pat00154
) Are randomly extracted. This means that the particles move from the initial state to the new state.

여기서 카메라 상태 천이 모델은 설계자에 의해 다양하게 정의될 수 있으며, 일 예로 카메라의 포즈를 파티클로 표현할 때 파티클

Figure 112010012779067-pat00155
(∈SE(3))의 전파를 나타내는 수학식 7을 이용하여 구해지는 상태 천이 밀도 함수
Figure 112010012779067-pat00156
가 이용될 수 있다.In this case, the camera state transition model may be variously defined by the designer. For example, when the pose of the camera is represented as a particle, the particle
Figure 112010012779067-pat00155
State transition density function obtained using equation (7) representing propagation of (#SE (3))
Figure 112010012779067-pat00156
Can be used.

다음으로 복수 개의 파티클에 대한 카메라 포즈 행렬(X k)이 추출되면, 새로 추출된 카메라 포즈 행렬(X k)을 미리 정의된 적합도 함수에 적용하여 복수 개의 파티클에 대한 각각의 개별 최적해(P i ib)와 전체 최적해(P gb)를 구한다. 여기서 개별 최적해(P i ib)는 i 번째 파티클에 대해서 현재까지 구해진 최적해를 의미하며, 전체 최적해(P gb)는 전체 파티클에 대해서 현재까지 구해진 최적해를 의미한다. 여기서 적합도 함수는 상기한 수학식 12가 이용될 수 있다.Next, when the camera pose matrix ( X k ) for a plurality of particles is extracted, the newly extracted camera pose matrix ( X k ) is applied to a predefined fitness function to determine each individual optimal solution ( P i ib) for the plurality of particles. ) And the overall optimal solution ( P gb ). Here, the individual optimal solution ( P i ib ) means the optimal solution obtained so far for the i-th particle, and the total optimal solution ( P gb ) means the optimal solution obtained so far for all the particles. The fitness function may be used as Equation 12 described above.

다음으로 구해진 카메라 포즈 행렬

Figure 112010012779067-pat00157
과 개별 최적해(P i ib)와 전체 최적해(P gb)를 이용하여 Special Euclidean Group SE(3) 상에서 PSO(Particle Swarm Optimization)를 미리 정해진 수(M)만큼 반복 수행한다.The next camera pose matrix
Figure 112010012779067-pat00157
Particle Swarm Optimization (PSO) is repeated on the Special Euclidean Group SE (3) by a predetermined number (M) using, and the individual optimal solution ( P i ib ) and the global optimal solution ( P gb ).

먼저 카메라 포즈 행렬

Figure 112010012779067-pat00158
에 대해 상기한 수학식 5와 수학식 6을 이용하여 앞에서 설명한 것과 같이 R i를 위한 속도 벡터 V R i t i를 위한 V t i se(3) 상에서 구한 후 다시 SE(3) 상으로 변환하는 과정을 통해 각각의 파티클에 대해서 새로운 카메라 포즈 행렬
Figure 112010012779067-pat00159
을 구할 수 있다. 즉 이에 의해 파티클이 새로운 위치로 이동시킨 것을 의미한다.First camera pose matrix
Figure 112010012779067-pat00158
For R i as described above using Equations 5 and 6 above, V t i for the velocity vectors V R i and t i New camera pose matrix for each particle by obtaining it on se (3) and converting it back to SE (3).
Figure 112010012779067-pat00159
Can be obtained. This means that the particles are moved to a new position by this.

그러면 새롭게 구해진 카메라 포즈 행렬

Figure 112010012779067-pat00160
에 대해 위에서 수학식 12로 나타낸 적합도 함수를 적용하여 개별 최적해(P i ib)와 전체 최적해(P gb)를 업데이트 한다. 해당 파티클에 대해 수학식 12를 통해 구해진 적합도 값이 해당 파티클의 개별 최적해(P i ib)의 적합도 값 보다 클 경우 샘플 행렬
Figure 112010012779067-pat00161
을 해당 파티클의 개별 최적해(P i ib)로 업데이트한다. 그리고 해당 파티클에 대해 수학식 12를 통해 구해진 적합도 값이 전체 최적해(P gb)의 적합도 값보다 클 경우 새롭게 구해진 샘플 행렬
Figure 112010012779067-pat00162
을 전체 최적해(P gb)로 업데이트한다.Then the newly obtained camera pose matrix
Figure 112010012779067-pat00160
The individual optimal solution ( P i ib ) and the global optimal solution ( P gb ) are updated by applying the fitness function represented by Equation 12 above. A sample matrix when the goodness-of-fit value obtained through Equation 12 for the particle is greater than the goodness-of-fit value of the individual optimal solution ( P i ib ) of that particle.
Figure 112010012779067-pat00161
Update to the individual optimal solution ( P i ib ) of the particle. If the goodness-of-fit value obtained through Equation 12 for the particle is larger than the goodness-of-fit value of the overall optimal solution ( P gb ), the newly obtained sample matrix
Figure 112010012779067-pat00162
Update to the full optimal solution ( P gb ).

다음으로 퀀텀(quantum) 파티클(

Figure 112010012779067-pat00163
)을 상기한 수학식 4에 의해 추출한다.Next, quantum particles (
Figure 112010012779067-pat00163
) Is extracted by the above equation (4).

추출된 퀀텀 파티클(

Figure 112010012779067-pat00164
)에 대해서 수학식 12를 통해 적합도 값을 구하고 구해진 적합도 값이 현재의 전체 최적해(P gb)의 적합도 값보다 큰 경우 전체 최적해(P gb)를 해당 퀀텀 파티클(
Figure 112010012779067-pat00165
)로 변경한다.Extracted Quantum Particles (
Figure 112010012779067-pat00164
), And obtain a goodness-of-fit value using Equation 12, and if the obtained goodness-of-fit value is greater than the goodness-of-fit value of the current overall best solution ( P gb ), then the overall best solution ( P gb ) is obtained from the corresponding quantum particle (
Figure 112010012779067-pat00165
To).

상기한 것과 같이 미리 정해진 수(M)만큼 PSO를 반복하였거나, 상기한 수학식 13을 만족하는 경우 현재 프레임에 대해서 PSO 수행을 종료한다.As described above, if the PSO is repeated as many as the predetermined number (M) or if Equation 13 is satisfied, the PSO is terminated for the current frame.

다음으로 그때까지의 복수 개의 파티클에 대한 각각의 개별 최적해와 전체 최적해를 이용하여 현재 프레임에 대한 카메라의 포즈를 결정한다. 각각의 개별 최적해와 전체 최적해의 평균을 현재 프레임에 대한 카메라의 포즈로 결정할 수 있다. 물론 실시예에 따라서는 전체 최적해를 그대로 현재 프레임의 카메라의 포즈로 구할 수도 있다.Next, the camera pose for the current frame is determined using each individual optimal solution and the total optimal solution for the plurality of particles up to that point. The average of each individual best solution and the overall best solution can be determined by the camera's pose for the current frame. Of course, depending on the embodiment, the entire optimal solution may be obtained as the pose of the camera of the current frame.

다시 도 4로 돌아가서, 단계(S430)를 수행하여 현재 프레임의 카메라의 포즈를 구한 후에, 다음 프레임의 카메라의 포즈를 구하기 위해서 다음과 같은 후처리 작업이 이어져서 수행될 수 있다(S440).4, after obtaining the pose of the camera of the current frame by performing the step (S430), the following post-processing operation may be performed to obtain the pose of the camera of the next frame (S440).

먼저 중요도 샘플링 후 랜드마크는 표본 추출된(sampled) 카메라 포즈

Figure 112010012779067-pat00166
와 측정치
Figure 112010012779067-pat00167
에 기초하여 EKF에 의해 업데이트된다. 그리고 파티클의 가중치는 상기한 수학식 14에 의해 계산된다. 다음으로 복수 개의 파티클에 대한 재샘플링을 수행한다. 복수 개의 파티클 중에서 미리 정해진 기준을 만족하지 못하는 파티클을 삭제하고, 대신에 복수 개의 파티클 중 미리 정해진 기준 이상의 파티클로 대체할 수 있다. 그리고 필요한 경우 현재 프레임에서 구해지는 새로운 코너 포인트에 대한 랜드마크 초기화를 수행한다.First importance sampling and then landmarks are sampled camera poses
Figure 112010012779067-pat00166
And measurements
Figure 112010012779067-pat00167
Is updated by EKF based on. And the weight of the particle is calculated by the above equation (14). Next, resampling is performed on a plurality of particles. Particles that do not satisfy a predetermined criterion may be deleted from the plurality of particles, and instead, particles that are greater than or equal to a predetermined criterion among the plurality of particles may be replaced. If necessary, landmark initialization is performed for a new corner point obtained in the current frame.

이와 같은 작업을 완료한 후에 다음 프레임에 대해서 단계(S420) 내지 단계(S430)을 수행하여 다음 프레임의 카메라 포즈를 구한다.After completing the above operation, steps S420 to S430 are performed on the next frame to obtain a camera pose of the next frame.

도 5는 본 발명에 따른 카메라 포즈 결정 방법과 종래의 다른 방법을 이용했을 때의 에러율을 비교하기 위해 제공되는 도면이다. 도 5(a)는 카메라 위치의 에러, 도 5(b)는 카메라 방향의 에러, 도 5(c)는 랜드마크 위치의 에러를 각각 나타낸 것이다.5 is a view provided for comparing the error rate when using the camera pose determination method according to the present invention and another conventional method. 5 (a) shows an error of a camera position, FIG. 5 (b) shows an error of a camera direction, and FIG. 5 (c) shows an error of a landmark position.

도 5를 참고하면, 본 발명에 따른 PSO-SLAM이 PF-SLAM보다는 월등히 에러율이 낮고, OIF-SLAM 과는 거의 비슷한 것을 알 수 있다. 아래 표 2는 도 5의 실험예에서 각 방법에서 사용된 파티클의 개수를 나타낸다.Referring to FIG. 5, it can be seen that PSO-SLAM according to the present invention has a much lower error rate than PF-SLAM and is almost similar to OIF-SLAM. Table 2 below shows the number of particles used in each method in the experimental example of FIG.

파티클의 개수 Number of particles PF-SLAMPF-SLAM 500(A1), 1000(A2), 1500(A3)500 (A1), 1000 (A2), 1500 (A3) PSO-SLAMPSO-SLAM 70(B1), 100(B2), 200(B3), 300(B4), 400(B5)70 (B1), 100 (B2), 200 (B3), 300 (B4), 400 (B5) OIF-SLAMOIF-SLAM 100(C1), 200(C2),400(C3), 600(C4), 800(C5)100 (C1), 200 (C2), 400 (C3), 600 (C4), 800 (C5)

한편 도 6은 급격한 모션 변화가 있었을 때 본 발명에 따른 PSO-SLAM와 종래의 OIF-SLAM 사이의 에러율을 비교하기 위해 제공되는 도면이다.6 is a view provided to compare the error rate between the PSO-SLAM according to the present invention and the conventional OIF-SLAM when there is a sudden motion change.

도 6을 참고하면 본 발명에 따른 PSO-SLAM이 종래의 OIF-SLAM 보다 급격한 모션 변화에서도 강인한 것을 보여준다. Referring to Figure 6 shows that the PSO-SLAM according to the present invention is more robust than the rapid motion change than the conventional OIF-SLAM.

본 발명의 실시예는 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터로 읽을 수 있는 매체를 포함한다. 이 매체는 앞서 설명한 카메라 포즈 결정 방법을 실행시키기 위한 프로그램을 기록한다. 이 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 이러한 매체의 예에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기 매체, CD 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 자기-광 매체, 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치 등이 있다. 또는 이러한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Embodiments of the present invention include a computer-readable medium having program instructions for performing various computer-implemented operations. This medium records a program for executing the camera pose determination method described above. The medium may include program instructions, data files, data structures, etc., alone or in combination. Examples of such media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CDs and DVDs, floppy disks and program commands such as magnetic-optical media, ROM, RAM, flash memory, and the like. Hardware devices configured to store and perform such operations. Alternatively, the medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
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, Of the right.

Claims (10)

이전 프레임에서 카메라의 포즈를 나타내는 복수 개의 파티클(particle)과 상기 복수 개의 파티클 각각을 위한 복수 개의 랜드마크를 초기화하는 단계,
현재 프레임에서 상기 복수 개의 랜드마크에 각각 대응하는 복수 개의 코너 포인트를 추출하는 단계, 그리고
상기 추출된 코너 포인트를 이용하여 상기 복수 개의 파티클에 대해 Special Euclidean Group SE(3) 상에서 PSO(Particle Swarm Optimization)을 수행하여 현재 프레임에 대한 카메라의 포즈를 결정하는 단계를 포함하고,
상기 파티클은 동차 행렬(Homogeneous matrix)
Figure 112010012779067-pat00168
으로 표현되며, R은 3×3 회전 행렬이고, t(
Figure 112010012779067-pat00169
)는 이동 벡터(translation vector)인 카메라 포즈 결정 방법.
Initializing a plurality of particles representing a pose of a camera in a previous frame and a plurality of landmarks for each of the plurality of particles,
Extracting a plurality of corner points respectively corresponding to the plurality of landmarks in a current frame, and
Determining a pose of a camera with respect to a current frame by performing Particle Swarm Optimization (PSO) on the Special Euclidean Group SE (3) for the plurality of particles using the extracted corner points.
The particle is a homogeneous matrix
Figure 112010012779067-pat00168
Where R is a 3x3 rotation matrix and t (
Figure 112010012779067-pat00169
) Is a translation vector.
제 1 항에서,
상기 추출된 코너 포인트는,
상기 초기 프레임에서 상기 랜드마크의 이미지 패치와 상기 현재 프레임에서 추출된 코너 포인트를 중심부에 놓은 이미지 패치를 비교하여 일치하는 경우 상기 카메라의 포즈를 결정하는 단계에서 이용되는 카메라 포즈 결정 방법.
The method of claim 1,
The extracted corner point is,
And determining the pose of the camera when the image patch of the landmark and the corner point extracted from the current frame are matched with each other by comparing the image patch of the landmark in the initial frame.
제 2 항에서,
상기 카메라 포즈 결정 단계는,
(a) 미리 정의된 카메라 상태 천이 모델에 따라 상기 초기화된 복수 개의 파티클 각각에 대응하는 카메라 포즈 행렬
Figure 112011041188761-pat00170
(k번째 프레임에서 i번째 파티클에 대응하는 카메라 포즈 행렬)을 구하는 단계,
(b) 상기 카메라 포즈 행렬을 미리 정의된 적합도 함수에 적용하여 복수 개의 파티클에 대한 각각의 개별 최적해와 전체 최적해를 구하는 단계,
(c) 상기 카메라 포즈 행렬
Figure 112011041188761-pat00171
에 대해 다음 수학식
Figure 112011041188761-pat00172

Figure 112011041188761-pat00173

- 상기 수학식에서 Vi R 및 Vi T는 각각 파티클(Xi)로부터 분할된 이동 파트(Ri) 및 회전 파트(ti)에 대한 속도를 나타내고, c1, c2는 각각 독립적인 가중치 상수이며, r1, r2는 [0,1]에 관한 균등한 분포로부터 도출되는 랜덤 변수 벡터이고, w는 관성 상수이며, Ri ib와 Rgb는 개별적 파티클 및 전체 베스트 파티클 각각에 대한 회전 파트이고, ti ib와 tgb는 개별적 및 전체 베스트 파티클 각각의 이동 파트이며, 연산자 ←는 오른쪽 항을 좌측 항에 대입하는 연산자이고, 연산자 T는 트랜스포즈 변환 연산자이며, 연산자
Figure 112011041188761-pat00191
는 각 열벡터의 요소별 위치에 대한 요소별 곱(component wise multiplication)을 수행하는 연산자임 -
을 이용하여 새로운 카메라 포즈 행렬을 구하는 단계,
(d) 상기 (c) 단계에서 구해진 카메라 포즈 행렬에 대해 미리 정의된 적합도 함수에 적용하여 복수 개의 파티클에 대한 각각의 개별 최적해와 전체 최적해를 업데이트 하는 단계,
(e) 상기 (c) 단계와 상기 (d) 단계를 미리 정해진 조건만큼 반복하는 단계, 그리고
(f) 상기 (e) 단계 완료 후 상기 복수 개의 파티클에 대한 각각의 개별 최적해와 전체 최적해를 이용하여 현재 프레임에 대한 카메라의 포즈를 결정하는 단계를 포함하는 카메라 포즈 결정 방법.
3. The method of claim 2,
The camera pose determination step,
(a) a camera pose matrix corresponding to each of the initialized plurality of particles according to a predefined camera state transition model
Figure 112011041188761-pat00170
(camera pose matrix corresponding to the i th particle in the k th frame),
(b) applying the camera pose matrix to a predefined goodness-of-fit function to obtain each individual best solution and a total best solution for a plurality of particles;
(c) the camera pose matrix
Figure 112011041188761-pat00171
Equation for
Figure 112011041188761-pat00172

Figure 112011041188761-pat00173

- In the equation V i R and V i T denotes a speed for the moving part (R i) and the rotational part (t i) divided from each particle (Xi), c 1, c 2 are each independently of the weight constant , R 1 , r 2 are random variable vectors derived from an even distribution with respect to [0,1], w is an inertia constant, and R i ib and R gb are rotating parts for each individual particle and the best best particle respectively. T i ib and t gb are the moving parts of each of the individual and full best particles, operator ← is the operator that assigns the right term to the left term, operator T is the transpose transform operator, and
Figure 112011041188761-pat00191
Is an operator that performs component wise multiplication of the element position of each column vector-
Obtaining a new camera pose matrix using
(d) updating each individual best solution and the overall best solution for a plurality of particles by applying the predefined fit function to the camera pose matrix obtained in step (c);
(e) repeating steps (c) and (d) by a predetermined condition; and
and (f) determining the pose of the camera for the current frame using the respective optimal and total optimal solutions for the plurality of particles after completion of step (e).
제 3 항에서,
상기 각각의 개별 최적해와 전체 최적해의 평균을 현재 프레임에 대한 카메라의 포즈로 결정하는 카메라 포즈 결정 방법.
In claim 3,
And determining the average of each individual best solution and the overall best solution as the camera pose for the current frame.
제 3 항에서,
상기 미리 정해진 조건은,
상기 (c) 단계와 상기 (d) 단계의 반복 수행 회수가 미리 정해진 회수에 도달했거나, 최적해를 가지는 파티클의 적합도 값과 최악해를 가지는 파티클의 적합도 값의 차가 미리 정해진 기준보다 작은 경우인 카메라 포즈 결정 방법.
In claim 3,
The predetermined condition is
Camera pose when the number of iterations of steps (c) and (d) reaches a predetermined number or when the difference between the goodness-of-fit value of the particle having the best solution and the particle having the worst solution is smaller than the predetermined criterion How to decide.
삭제delete 제 3 항에서,
상기 카메라 포즈 결정 단계는,
현재의 최적 파티클을 기준으로 일정 반경 내에서 퀀텀(quantum) 파티클(
Figure 112010012779067-pat00179
)을 추출하고, 추출된 퀀텀 파티클(
Figure 112010012779067-pat00180
)에 대해서 상기 미리 정의된 적합도 함수를 이용하여 적합도 값을 구하고 구해진 적합도 값이 현재의 전체 최적해(P gb)의 적합도 값보다 큰 경우 전체 최적해(P gb)를 해당 퀀텀 파티클(
Figure 112010012779067-pat00181
)로 변경하는 단계를 포함하는 카메라 포즈 결정 방법.
In claim 3,
The camera pose determination step,
Quantum particles (within a certain radius based on the current optimal particle)
Figure 112010012779067-pat00179
) And extracted quantum particles (
Figure 112010012779067-pat00180
) If the value obtained is fit to obtain a fit value using the fitness function is greater than the predefined value for the goodness of fit of the total optimal solution (P gb) with respect to the overall optimal solution (P gb) quantum particles (
Figure 112010012779067-pat00181
Camera pose determination method.
제 3 항에서,
상기 현재 프레임의 카메라 포즈 결정 단계 후에 상기 복수 개의 랜드마크에 대해 EKF를 이용하여 업데이트하는 단계를 더 포함하는 카메라 포즈 결정 방법.
In claim 3,
And updating the plurality of landmarks using EKF after the camera pose determination step of the current frame.
제 3 항에서,
상기 현재 프레임의 카메라 포즈 결정 단계 후에 상기 복수 개의 파티클 중에서 미리 정해진 기준을 만족하지 못하는 파티클을 삭제하고, 상기 복수 개의 파티클 중 미리 정해진 기준 이상의 파티클로 대체하는 단계를 더 포함하는 카메라 포즈 결정 방법.
In claim 3,
And deleting a particle not satisfying a predetermined criterion from among the plurality of particles after the camera pose determining step of the current frame, and replacing the particle having a predetermined criterion or more among the plurality of particles.
제 1 항 내지 제 5 항 및, 제 7 항 내지 제 9 항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.












10. A computer readable medium having recorded thereon a program for executing the method of any one of claims 1 to 5.












KR1020100017781A 2010-02-26 2010-02-26 Camera pose decision method KR101107735B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100017781A KR101107735B1 (en) 2010-02-26 2010-02-26 Camera pose decision method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100017781A KR101107735B1 (en) 2010-02-26 2010-02-26 Camera pose decision method

Publications (2)

Publication Number Publication Date
KR20110098252A KR20110098252A (en) 2011-09-01
KR101107735B1 true KR101107735B1 (en) 2012-01-20

Family

ID=44951832

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100017781A KR101107735B1 (en) 2010-02-26 2010-02-26 Camera pose decision method

Country Status (1)

Country Link
KR (1) KR101107735B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101502071B1 (en) * 2013-07-05 2015-03-12 충남대학교산학협력단 Camera Data Generator for Landmark-based Vision Navigation System and Computer-readable Media Recording Program for Executing the Same
KR20210119133A (en) 2020-03-24 2021-10-05 연세대학교 산학협력단 Mobile Robot and 3D Global Position Recognition Apparatus Using Pose Estimation Based on Deep Learning

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102309297B1 (en) * 2017-03-31 2021-10-06 엘지전자 주식회사 Terminal and method for controlling the same
US20210086364A1 (en) * 2019-09-20 2021-03-25 Nvidia Corporation Vision-based teleoperation of dexterous robotic system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070090973A1 (en) 2002-12-17 2007-04-26 Evolution Robotics, Inc. Systems and methods for using multiple hypotheses in a visual simultaneous localization and mapping system
KR100855469B1 (en) 2006-09-13 2008-09-01 삼성전자주식회사 Pose estimation apparatus used in a mobile robot and method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070090973A1 (en) 2002-12-17 2007-04-26 Evolution Robotics, Inc. Systems and methods for using multiple hypotheses in a visual simultaneous localization and mapping system
KR100855469B1 (en) 2006-09-13 2008-09-01 삼성전자주식회사 Pose estimation apparatus used in a mobile robot and method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101502071B1 (en) * 2013-07-05 2015-03-12 충남대학교산학협력단 Camera Data Generator for Landmark-based Vision Navigation System and Computer-readable Media Recording Program for Executing the Same
KR20210119133A (en) 2020-03-24 2021-10-05 연세대학교 산학협력단 Mobile Robot and 3D Global Position Recognition Apparatus Using Pose Estimation Based on Deep Learning

Also Published As

Publication number Publication date
KR20110098252A (en) 2011-09-01

Similar Documents

Publication Publication Date Title
CN110703747B (en) Robot autonomous exploration method based on simplified generalized Voronoi diagram
EP3471057B1 (en) Image processing method and apparatus using depth value estimation
EP2302586B1 (en) Information processing device, information processing method and program
CN109186606B (en) Robot composition and navigation method based on SLAM and image information
US11703334B2 (en) Mobile robots to generate reference maps for localization
Broggi et al. Terrain mapping for off-road autonomous ground vehicles using rational b-spline surfaces and stereo vision
KR20150144731A (en) Apparatus for recognizing location mobile robot using edge based refinement and method thereof
KR20150144727A (en) Apparatus for recognizing location mobile robot using edge based refinement and method thereof
KR101107735B1 (en) Camera pose decision method
JP2020042447A (en) Device, program and method for estimating terminal position from immovable object information
CN113407027A (en) Pose acquisition method and device, electronic equipment and storage medium
Sheikh et al. Stereo vision-based optimal path planning with stochastic maps for mobile robot navigation
Al-Muteb et al. An autonomous stereovision-based navigation system (ASNS) for mobile robots
Li et al. UAV-based SLAM and 3D reconstruction system
Schaub et al. 6-dof grasp detection for unknown objects
Emaduddin et al. Accurate floor detection and segmentation for indoor navigation using RGB+ D and stereo cameras
CN114815899A (en) Unmanned aerial vehicle three-dimensional space path planning method based on 3D laser radar sensor
Baik et al. Geometric particle swarm optimization for robust visual ego-motion estimation via particle filtering
CN117193278A (en) Method, apparatus, computer device and storage medium for dynamic edge path generation
EP3770809A1 (en) Method and apparatus for estimating user's pose by using three-dimensional virtual space model
Ignakov et al. Localization of a door handle of unknown geometry using a single camera for door-opening with a mobile manipulator
Pal et al. Evolution of Simultaneous Localization and Mapping Framework for Autonomous Robotics—A Comprehensive Review
Kondo et al. Localizability estimation based on occupancy grid maps
Mukhopadhyay et al. Multi-robot Map Exploration Based on Multiple Rapidly-Exploring Randomized Trees
Bueno et al. Textureless object recognition and arm planning for a mobile manipulator

Legal Events

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

Payment date: 20150106

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171221

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 9