KR20110098252A - 카메라 포즈 결정 방법 - Google Patents

카메라 포즈 결정 방법 Download PDF

Info

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

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Robotics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 Special Euclidean Group SE(3) 상에서 PSO(Particle Swarm Optimization)을 수행하여 카메라의 포즈를 결정하는 방법에 관한 것으로, 본 발명에 따른 방법은 이전 프레임에서 카메라의 포즈를 나타내는 복수 개의 파티클(particle)과 상기 복수 개의 파티클 각각을 위한 복수 개의 랜드마크를 초기화하는 단계, 현재 프레임에서 상기 복수 개의 랜드마크에 각각 대응하는 복수 개의 코너 포인트를 추출하는 단계, 그리고 상기 추출된 코너 포인트를 이용하여 상기 복수 개의 파티클에 대해 Special Euclidean Group SE(3) 상에서 PSO(Particle Swarm Optimization)을 수행하여 현재 프레임에 대한 카메라의 포즈를 결정하는 단계를 포함하고, 상기 파티클은 동차 행렬(Homogeneous matrix)
Figure pat00182
으로 표현되며, R은 3×3 회전 행렬이고, t(
Figure pat00183
)는 이동 벡터(translation vector)이다. 본 발명에 따르면 카메라의 급격한 모션 변화에도 카메라 포즈를 종래보다 상대적으로 적은 에러율로 정확하게 구할 수 있다.

Description

카메라 포즈 결정 방법{CAMERA POSE DECISION METHOD}
본 발명은 카메라 포즈 결정 방법에 관한 것으로 보다 자세하게는 Special Euclidean Group SE(3) 상에서 PSO(Particle Swarm Optimization)을 수행하여 카메라의 포즈를 결정하는 방법에 관한 것이다.
과거 단순 조립이나 가공을 위하여 산업 현장에 도입되었던 로봇은 관련 기술의 발달에 따라 자체의 인식 능력과 판단 능력이 부가됨으로써 고기능의 작업을 수행할 수 있게 되었다. 더욱이 스스로 이동이 가능한 이동 로봇은 고정된 위치나 혹은 미리 구조화된 작업 환경에서 임의의 작업장이나 실외 등과 같이 넓은 작업 영역을 갖게 되어 그 역할 면이나 작업의 다양성 면에서 고정된 로봇에 비해 탁월한 능력을 가질 수 있다.
이동 로봇은 주변 환경에 대한 사전 정보가 부족한 곳에서도 이동하거나 작업을 수행하는데에 필요한 자율적인 경로계획과 장애물 탐지 및 충돌 회피 능력을 가질 필요가 있는데, 근래 들어 사전 정보가 부족한 장소를 이동하면서 자동적으로 지도를 생성함과 동시에 로봇의 위치를 추정하는 기술인 '동시 위치 추정 및 지도 생성 기술 (Simultaneous Localization and Map Building, SLAM)'에 대한 연구가 활발히 진행되고 있다.
이동 로봇이 스램(SLAM)을 수행하기 위해서는 주변 환경으로부터 위치 추정에 사용할 수 있는 정보의 추출 능력이 필수적이다. 시각 센서나 초음파 센서, 혹은 접촉 센서 등을 이용한 여러 가지 방법들이 이에 적용되고 있는데, 특히 레이저(LASER)와 카메라를 이용한 시각 센서와 이를 통한 3차원 인식 알고리즘은 계산량의 부담이 적고 밝기의 변화가 심한 곳에서도 사용될 수 있으므로 매우 효과적인 방법이다.
이렇게 슬램(SLAM)시스템을 풀기 위한 수학적 방법으로 Extended Kalman Filter (EKF) 또는 Rao-Blackwellised Particle Filter (RBPF) 같은 필터링 기법이 사용되어 왔다. 그런데 필터링 기법하의 슬램시스템은 주로 로봇의 움직임이 부드럽거나 천천히 움직인다는 가정하에 이루어지게 된다. 예컨대 평면의 바닥 위에서 3-DOF의 제한되고 천천히 움직이는 로봇에는 이 가정이 들어맞는다. 하지만 역동적인 움직임을 갖는 6-DOF의 로봇에 대해서는 이 가정이 맞지 않게 되며, 이 경우 시스템은 제대로 동작하지 않게 된다. 그 이유는 기존의 필터링 기법에서는 이런 부드러운 모션의 가정을 기반하여 관측함수의 선형화(linearization)를 통해 로봇의 위치인식을 하기 때문이다.
도 1(a)에 나타낸 바와 같이, 종래의 필터링 기법은 실제 로봇의 움직임이나 센서를 통한 관측 특징의 움직임의 차이가 작다는 부드러운 모션의 가정하에, 바로 직전의 로봇의 위치 정보와 관측된 특징정보를 이용한 관측 함수의 1차 테일러 근사(Talyor approximation)를 통해서 자신의 위치를 추정하게 된다. 하지만 활동적인 움직임 발생시 도 1(b)와 같이 실제 로봇의 움직임의 차이 또는 관측정보의 차이가 커지게 되며, 둘 중 하나라도 큰 차이를 보이게 되면 부드러운 모션의 가정에 의한 선형화(linearization)를 적용 시 큰 오류가 발생할 수 있으며, 이는 슬램시스템의 치명적인 문제가 된다. 예를 들어 이동 로봇에서 이미지를 획득하는 카메라의 모션 움직임이 급격하게 이루어질 경우 위에서 살펴본 바와 같이 실제 카메라의 자세나 위치를 제대로 구할 수 없기 때문에 슬램시스템의 치명적인 문제가 된다.
본 발명이 해결하고자 하는 과제는 급격한 모션에도 강인하게 카메라의 포즈를 구할 수 있는 카메라 포즈 결정 방법을 제공하는 것이다.
이러한 기술적 과제를 해결하기 위한 본 발명의 한 실시예에 따른 카메라 포즈 결정 방법은, 이전 프레임에서 카메라의 포즈를 나타내는 복수 개의 파티클(particle)과 상기 복수 개의 파티클 각각을 위한 복수 개의 랜드마크를 초기화하는 단계, 현재 프레임에서 상기 복수 개의 랜드마크에 각각 대응하는 복수 개의 코너 포인트를 추출하는 단계, 그리고 상기 추출된 코너 포인트를 이용하여 상기 복수 개의 파티클에 대해 Special Euclidean Group SE(3) 상에서 PSO(Particle Swarm Optimization)을 수행하여 현재 프레임에 대한 카메라의 포즈를 결정하는 단계를 포함하고, 상기 파티클은 동차 행렬(Homogeneous matrix)
Figure pat00001
으로 표현되며, R은 3×3 회전 행렬이고, t(
Figure pat00002
)는 이동 벡터(translation vector)이다.
상기 추출된 코너 포인트는, 상기 초기 프레임에서 상기 랜드마크의 이미지 패치와 상기 현재 프레임에서 추출된 코너 포인트를 중심부에 놓은 이미지 패치를 비교하여 일치하는 경우 상기 카메라의 포즈를 결정하는 단계에서 이용될 수 있다.
상기 카메라 포즈 결정 단계는,
(a) 미리 정의된 카메라 상태 천이 모델에 따라 상기 초기화된 복수 개의 파티클 각각에 대응하는 카메라 포즈 행렬
Figure pat00003
(k번째 프레임에서 i번째 파티클에 대응하는 카메라 포즈 행렬)을 구하는 단계,
(b) 상기 카메라 포즈 행렬을 미리 정의된 적합도 함수에 적용하여 복수 개의 파티클에 대한 각각의 개별 최적해와 전체 최적해를 구하는 단계,
(c) 상기 카메라 포즈 행렬
Figure pat00004
에 대해 다음 수학식
Figure pat00005
Figure pat00006
을 이용하여 새로운 카메라 포즈 행렬을 구하는 단계,
(d) 상기 새로운 카메라 포즈 행렬에 대해 미리 정의된 적합도 함수에 적용하여 복수 개의 파티클에 대한 각각의 개별 최적해와 전체 최적해를 업데이트 하는 단계,
(e) 상기 (c) 단계와 상기 (d) 단계를 미리 정해진 조건만큼 반복하는 단계, 그리고
(f) 상기 (e) 단계 완료 후 상기 복수 개의 파티클에 대한 각각의 개별 최적해와 전체 최적해를 이용하여 현재 프레임에 대한 카메라의 포즈를 결정하는 단계를 포함할 수 있다.
상기 각각의 개별 최적해와 전체 최적해의 평균을 현재 프레임에 대한 카메라의 포즈로 결정할 수 있다.
상기 미리 정해진 조건은,
상기 (c) 단계와 상기 (d) 단계의 반복 수행 회수가 미리 정해진 회수에 도달했거나, 최적해를 가지는 파티클의 적합도 값과 최악해를 가지는 파티클의 적합도 값의 차가 미리 정해진 기준보다 작은 경우일 수 있다.
상기 미리 정의된 카메라 상태 천이 모델은 다음 수학식
Figure pat00007
을 이용하여 구해지는 상태 천이 밀도 p(Xk│Xk-1)에 의해 구해지되,
여기서
Figure pat00008
는 공분산
Figure pat00009
(
Figure pat00010
)를 갖는 se(3) 상의 위너 과정(Wiener process) 노이즈이고,
Figure pat00011
은 파티클의 유포를 결정하는 상태 동역학 텀(state dynamics term)이다.
상기 카메라 포즈 결정 단계는,
현재의 최적 파티클을 기준으로 일정 반경 내에서 퀀텀(quantum) 파티클(
Figure pat00012
)을 추출하고, 추출된 퀀텀 파티클(
Figure pat00013
)에 대해서 상기 미리 정의된 적합도 함수를 이용하여 적합도 값을 구하고 구해진 적합도 값이 현재의 전체 최적해(P gb)의 적합도 값보다 큰 경우 전체 최적해(P gb)를 해당 퀀텀 파티클(
Figure pat00014
)로 변경하는 단계를 더 포함할 수 있다.
상기 현재 프레임의 카메라 포즈 결정 단계 후에 상기 복수 개의 랜드마크에 대해 EKF를 이용하여 업데이트하는 단계를 더 포함할 수 있다.
상기 현재 프레임의 카메라 포즈 결정 단계 후에 상기 복수 개의 파티클 중에서 미리 정해진 기준을 만족하지 못하는 파티클을 삭제하고, 상기 복수 개의 파티클 중 미리 정해진 기준 이상의 파티클로 대체하는 단계를 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 컴퓨터로 읽을 수 있는 매체는 상기한 카메라 포즈 결정 방법 중 어느 하나를 컴퓨터에 실행시키기 위한 프로그램을 기록한다.
본 발명에 의하면, 카메라의 급격한 모션 변화에도 카메라 포즈를 종래보다 상대적으로 적은 에러율로 정확하게 구할 수 있다.
도 1은 종래의 필터링 기법이 급격한 모션 변화에서 슬램 시스템의 오류 발생을 설명하기 위해 제공되는 도면이다.
도 2는 다양체 상의 PSO를 도시한 도면이다.
도 3은 본 발명의 실시예에 따른 카메라 포즈 결정 장치를 설명하기 위해 제공되는 블록도이다.
도 4는 본 발명의 실시예에 따른 카메라 포즈 결정 방법을 설명하기 위해 제공되는 흐름도이다.
도 5는 본 발명에 따른 카메라 포즈 결정 방법과 종래의 다른 방법을 이용했을 때의 에러율을 비교하기 위해 제공되는 도면이다.
도 6은 급격한 모션 변화가 있었을 때 본 발명에 따른 PSO-SLAM와 종래의 OIF-SLAM 사이의 에러율을 비교하기 위해 제공되는 도면이다.
먼저, 본 발명에 따른 실시예를 설명하기에 앞서 본 발명에서 다루는 몇 가지 중요한 이슈에 대해 설명한다.
PSO 알고리즘을 비주얼 SLAM 문제에 적용하는데 있어서 가장 중요한 이슈 중 하나는 카메라의 상태가 벡터가 아니라 SE(3)의 요소(element)라는 점이다. 이는 카메라 모션의 기하학적 특성을 반영한 것으로서 기존의 로봇분야에서 주로 사용되고 있는 기법이다. 따라서 SE(3)의 형상을 고려하기 위해서 통상적인 벡터 공간의 PSO 알고리즘을 재구성하는 것이 요구된다. 우선 간단히 PSO와 SE(3)를 각각 살피고 나서, SE(3)상에서의 기하학적 PSO 알고리즘을 제안한다.
1. 벡터 공간 상에서의 PSO(Particle Swarm Optimization) 개관
PSO 알고리즘의 발상은 파티클 셋(
Figure pat00015
)의 상호 작용을 고려하는 것이다. N-차원 벡터로 표현되는 각각의 파티클(
Figure pat00016
)은 두 가지 값을 사용하여 최적 상태를 찾아내기 위해 솔루션 공간을 탐사한다.: 두 가지 값은 각각 ⅰ) 각 파티클
Figure pat00017
와 전체 베스트(global best)파티클
Figure pat00018
(
Figure pat00019
) 사이의 상대적인 위치, 그리고 ⅱ) 각 파티클
Figure pat00020
와 그 개별적 베스트(individual best)파티클
Figure pat00021
(
Figure pat00022
) 사이의 상대적인 위치이다. 두 개의 상대 위치 벡터인
Figure pat00023
Figure pat00024
는 파티클이 실제적인 최적의 상태 가까이로 수렴할 수 있는 더 나은 최적의 상태를 찾기 위한 방향을 제공한다.
PSO의 기본 작동은 파티클의 속도와 이동 계산이다. 우선 수학식 1을 사용하여 두 개의 상대 위치 벡터를 합함으로써, 각 파티클은 어느 위치로 이동하는 것인지를 나타내는 속도(
Figure pat00025
)를 계산한다.
Figure pat00026
여기서,
Figure pat00027
는 관성(inertia)에 대응하고,
Figure pat00028
,
Figure pat00029
는 두 개의 상대 위치 벡터를 위한 가중치 계수이다.
Figure pat00030
Figure pat00031
(
Figure pat00032
)는 [0,1]에 관한 균등한 분포로부터 도출되는 랜덤 변수 벡터이다. 이러한 모든 가산(addition) 및 차산(subtraction)은 유클리드 벡터 공간에서 정의된다. 구해진
Figure pat00033
를 사용하여
Figure pat00034
가 수학식 2에 의해 업데이트된다.
Figure pat00035
속도와 파티클 이동 계산 후에, 업데이트된 상태에서의 파티클이 더 나은 적합치
Figure pat00036
를 갖는다면, 현재의 전체 최적 값
Figure pat00037
와 파티클의 개별적 베스트 값
Figure pat00038
가 업데이트되며, 이를 나타내면 수학식 3과 같다.
Figure pat00039
수학식 1 내지 수학식 3의 과정을 일정 회수만큼 반복함으로써, 파티클은 최적 상태가 존재하여야 할 영역을 탐사하고, 점차 특정 상태로 수렴되어 간다. 이러한 수렴 특성은 정확한 최적화를 가능하게 하지만, 지역적 최적화(local optima)로 파티클들을 이끌 수도 있다. 이 같은 현상은 SLAM과 같은 동적 최적화 문제에서는 종종 발생한다. 그러므로 퀀텀(quantum) 파티클이라 불리는 반-수렴(anti-converging) 파티클이 이러한 지역적 최적화로의 수렴을 방지하기 위해 이용된다.
단일한 PSO 단계의 마지막으로, 퀀텀 파티클
Figure pat00040
(
Figure pat00041
)이 다음 수학식 4의 규칙에 따라 임의적으로 생성된다.
Figure pat00042
여기서,
Figure pat00043
Figure pat00044
가 중심이고
Figure pat00045
가 반경인 파티클 클라우드(cloud)를 나타낸다. 모든 퀀텀 파티클들은 중립(neutral) 파티클의 경우와 유사하게 적합 함수(fitness function)에 의해 평가된다. 또한 현재의
Figure pat00046
보다 더 나은 적합치를 갖는 퀀텀 파티클이 존재한다면
Figure pat00047
는 교체된다. 퀀텀 파티클들의 넓은 범위는 지역적 최소화(local minima)를 모면함으로써 더 나은 기본 위치를 찾을 수 있는 기회를 제공하게 된다. 퀀텀 파티클들 중 하나가 새로운 최적 상태
Figure pat00048
를 찾아낸다면, 다음 PSO 반복 수행에서 다른 중립 파티클들은 새로운
Figure pat00049
에 가깝도록 이동한다. 그러고 나서 중립 파티클들은 새로운 영역에서 최적화를 진행해가고, 결국 전체 최적 상태에 도달하게 된다.
2. 스페셜 유클리드 그룹 SE(3)
본 발명의 시스템에서, 카메라 모션은 초기 카메라 포즈에 관해서는 카메라 좌표의 강체 변환(rigid body transformation)에 의해 나타내진다. 강체 변환은 동차 행렬(homogeneous matrix)
Figure pat00050
에 의해 표현될 수 있다. 여기서 R은 3×3의 회전 행렬이고, t(
Figure 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)은 기존의 연구에서 주어져 있다.
3. SE(3)상에서의 PSO
이하에서는 SE(3)의 형상을 고려하여, 파티클, 속도, 그리고 파티클 업데이트와 같은 기본 PSO에서의 다양한 개념들을 재정의한다. 우선 일반적인 리만 다양체(Riemannian manifold)의 경우를 고려한다. 기본 PSO에서의 파티클은 다양체 상에서 포인트
Figure pat00052
로 고려될 수 있고, 그 속도
Figure pat00053
Figure pat00054
의 접선 벡터 공간 상의 속도로 정의될 수 있다. 리만 로그 및 지수 맵은 리만 다양체 상의 측지선(geodesics)로부터 도출되므로, 리만 다양체 상의 요소들 간의 차이를 측지선 특성을 보존하는 리만 로그 맵을 통하여 접선 벡터 공간 상의 차이로 나타낼 수 있다. 그러므로,
Figure pat00055
와 개별적 베스트 파티클
Figure pat00056
및 전체 베스트 파티클
Figure pat00057
사이의 차이는
Figure pat00058
에서의 리만 로그 맵을 사용하여 접선 벡터 공간 상의 속도로서 나타낼 수 있다. 즉
Figure pat00059
Figure pat00060
Figure pat00061
에서의 접선 벡터 공간 상의 차이와 대응된다. 그러고 나서 속도 업데이트는 se(3) 상에서 정의된 Vi,
Figure pat00062
와 개별적 베스트 파티클
Figure pat00063
및 전체 베스트 파티클
Figure pat00064
사이의 차이를 이루는 3개의 벡터를 이용하여 수행한다. 파티클 업데이트는 Xi에서의 접선 벡터 공간 상의 결과 속도 벡터 Vi 의 exp 맵을 기존의
Figure pat00065
에 곱하여 수행한다. 도 2는 다양체 상의 PSO를 도시한 도면이다. 요구되는 작업은 접선 벡터 공간에서 이루어진다.
하지만 일반적인 리만 다양체 상의 PSO가 SE(3)에 바로 적용되는 것은 간단하지 않다. SE(3) 상의 최소 측지선이 SO(3) 및
Figure pat00066
상의 개별적인 측지선의 집합에 의해 주어지기 때문에, SE(3)에 대한 리만 지수 및 로그 맵을 이끌어내는 것은 어렵다. 다행히도, SO(3)에 대한 리만 지수 및 로그 맵은 행렬 지수 및 로그인 지수 및 로그의 좌측 및 우측 이동(translation)에 의해 주어진다. 따라서 파티클
Figure pat00067
Figure pat00068
(∈SO(3))와
Figure pat00069
(
Figure pat00070
)로 분할함으로써 근사적으로 SE(3) 상의 PSO를 수행할 수 있게 된다.
Ri에 대한 속도
Figure pat00071
및 파티클 업데이트 식은 수학식 5와 같이 주어진다.
Figure pat00072
여기서
Figure pat00073
Figure pat00074
는 개별적 및 전체 베스트 파티클 각각에 대한 회전 파트이다. 거리는
Figure pat00075
의 곱에 의해 계산되고, 접선 속도 공간상의 대응되는 속도는 로그에 의해 주어진다. 그러고 나서 접선 벡터 공간 상의 결과 벡터의 지수는
Figure pat00076
에 의해 곱해진다. 수학식 5에서
Figure pat00077
은 so(3) 상의 균등한 랜덤 벡터를 나타내고,
Figure pat00078
는 so(3) 상의 기본 요소에 대하여 열벡터(column vector)에서 나타내지는 so(3) 요소 사이의 요소 와이즈 곱(component wise multiplication)을 나타낸다.
Figure pat00079
에 관해서는 수학식 6과 같이 통상의 PSO 알고리즘에 의해 나타내질 수 있다.
Figure pat00080
여기서
Figure pat00081
Figure pat00082
는 개별적 및 전체 베스트 프티클 각각의 이동 파트이다.
Figure pat00083
주변의 퀀텀 파티클들은
Figure pat00084
에 의해 생성되며, u는 so(3) 상의 평균이 0(zero mean)인 균등한 랜덤 벡터이다. 유사하게,
Figure pat00085
에 관한 퀀텀 파티클들은 평균
Figure pat00086
를 갖는 균등한 분포로부터 생성된다.
4. 제안된 체계(framework)
본 발명에 따른 시스템은 센서 입력으로 핸드 헬드 카메라로부터의 이미지들만을 사용한다. 알려진 고유의 카메라 매개변수들을 가지는 단안식 및 쌍안식 카메라를 모두 고려할 수 있다. 제안된 방법은 RBPF 필터링에 기초하지만, 근사 최적 중요도 함수 대신에 PSO 반복 수행을 통하여 중요도 샘플링을 수행한다. PSO를 비주얼 추적 알고리즘에 적용했던 Zhang 등은 PSO 반복 수행이 다층 중요도 샘플링(multilayered importance sampling)으로 간주될 수 있다고 언급했다. 이러한 접근 방식과 유사하게 PSO를 SLAM 시스템에 적용한다. 제안된 알고리즘의 전 과정은 표 1에 요약되어 있다. 이하에서 상세히 설명한다.
Figure pat00087
4.1. 동적 모델
카메라 모션을 나타내는 상태 방정식은 SE(3) 상의 확률 미분 방정식(stochastic differential equation)으로부터 도출될 수 있다. 파티클
Figure pat00088
(∈SE(3))에 의해 카메라 상태를 도출하기 위해 파티클은 수학식 7에 의해 유포된다.
Figure pat00089
여기서
Figure pat00090
는 공분산
Figure pat00091
(
Figure pat00092
)를 갖는 se(3) 상의 위너 과정(Wiener process) 노이즈이고,
Figure pat00093
은 파티클의 유포를 결정하는 상태 동역학 텀(state dynamics term)이다. SLAM 시스템에서는 어떤 오도메트리(odometry) 정보도 이용할 수 없으므로, 일정 속도 가정과 같은 부드러운 모션 모델이 일반적으로 사용된다. 여기서는 상태 동역학 텀으로써 SE(3) 상에서 AR 과정(auto-regressive process)을 사용한다. 이러한 AR에 기초한 상태 동역학 모델은 부드러운 카메라 모션을 가정한다. 그러고 나서 AR 상태 동역학은 수학식 8에 의해 업데이트된다.
Figure pat00094
여기서 a는 첫 번째 AR 과정 매개변수이다. 쌍안식(스테레오) 카메라의 경우에서, 카메라 상태는 좌측 카메라에 기초한다.
4.2. 관찰 모델(Observation Model)
랜드마크는 초기 카메라 좌표에 대하여 유클리드 공간의 3차원 지점으로 간주된다. 특히, 무한한 3차원 지점들을 다루고 단일 이미지를 사용하는 랜드마크들을 초기화하는 것이 가능하므로, 랜드마크들은 역 심도 지점(IDP, Inverse Depth Point) 매개변수화에 의해 나타내진다. IDP L은 초기 3차원 지점 t^, 방위
Figure pat00095
, 그리고 역 거리(inverse distance)
Figure pat00096
로 구성되는 6차원 벡터로 표현된다. 그러므로 랜드마크는 공분산
Figure pat00097
(
Figure pat00098
을 갖는
Figure pat00099
로 나타내질 수 있다.
그러고 나서
Figure pat00100
로부터의 측정치
Figure pat00101
는 랜드마크의 카메라 투영 상의 2차원 이미지 좌표이고, 수학식 9로 표현된다.
Figure pat00102
여기서 h는 동차(homogeneous) 좌표에 있는 3차원 랜드마크 위치로 L을 이동시키는 함수이고, g는 내부 매개변수를 갖는 퍼스펙티브 카메라 투영(perspective camera projection) 함수이며,
Figure pat00103
는 공분산 Q(
Figure pat00104
)를 갖는 가우시안 측정 노이즈이다. 그러고 나서 유사도 분포는 수학식 10과 같이 주어진다.
Figure pat00105
화면에 N개의 랜드마크가 있다면
Figure pat00106
Figure pat00107
벡터가 된다.
스테레오 카메라를 사용하면, 스테레오 삼각망(stereo triangulation)에 의해 계산되는 심도 정보를 사용하는 것이 가능하다. 하지만 이러한 심도 정보는 측정 노이즈에 민감하며, 특히 랜드마크가 카메라로부터 멀리 떨어져 있을 때 그러하다. 이러한 이유로 삼각망 없이 측정치로써 바로 스테레오 쌍 지점(stereo pair points)을 사용한다. 쌍안식 카메라의 경우에 대한 측정치 방정식은 수학식 11과 같이 표현된다.
Figure pat00108
Figure pat00109
(∈SE(3))는 좌측 카메라로부터 우측 카메라로의 좌표 변환을 나타내고, n-k는 공분산
Figure pat00110
(
Figure pat00111
)를 갖는 가우시안 측정 노이즈이다.
4.3. 특징 및 데이터 조합(Feature and Data Association)
FAST-10 코너 디텍터에 의해 코너 포인트를 추출한다. 추출된 코너 포인트에 중심이 맞춰진 31×31의 패치가 잘라져서 랜드마크가 초기화될 때 보관되었다. 매칭 단계에서는 21×21의 변환된 패치들의 NCC(Normalized Cross Correlation)를 계산한다. 랜드마크 패치들은 평가된 카메라 모션에 따라서 회전과 크기 변화를 고려함으로써 변환된다. 패치의 크기가 초기 크기에 비해 크게 변화된 경우에는 새로운 패치를 재등록한다.
PF에 기초한 SLAM의 중요한 특징 중 하나는 각 파티클이 그 자신의 데이터 조합(data association)을 가지기 때문에 데이터 조합의 이상치(outlier)에 대해 강인(robust)하다는 것이다. 하지만 데이터 조합은 랜드마크 맵에 대한 추출된 특징 지점들의 매칭을 요구하기 때문에, 비주얼 SLAM에 대한 퍼-파티클(per-particle)의 단순한(naive) 이행은 커다란 시간 낭비가 될 수 있다. 그러므로 더 향상된 데이터 조합 방법이 효과적인 비주얼 SLAM을 위해 제안되어 왔다. 여기서는 통상의 방법들 중 단순한 데이터 조합 퍼 파티클을 회피하는 careful one-shot 데이터 조합의 방법을 따른다.
쌍안식 카메라의 경우에서, 참조 카메라(reference camera)(좌측 카메라)에 관한 랜드마크의 업데이트된 2차원 이미지 지점들에 대한 스테레오 매칭이 추가적으로 수행된다. SAD에 기초한 단순한 템플릿 매칭 방법이 적용되고, 수평선들에 대한 탐지 범위를 줄이기 위해 수정된 이미지들을 사용한다. 초기 매치 후에 스테레오 매칭의 이상치들을 제거하기 위해 L-R 체크 단계가 이어진다.
4.4. SE(3) 상의 PSO을 통한 다층 중요도 샘플링
앞서 정의된 상태와 측정치 방정식에 기초한 파티클 필터링 과정을 설명한다. 본 발명의 알고리즘에서, 상태 변환 밀도
Figure pat00112
는 층 중요도 샘플링(layered importance sampling)의 초기 파트로 사용되었다.
Figure pat00113
로부터의 초기 샘플링은 수학식 7에 의해 이루어진다. 초기 샘플링 후에, 초기 샘플
Figure pat00114
를 갖는 PSO 반복 수행이 이루어진다.
PSO 반복 수행 단계에서, 우선 수학식 12로 정의되는 적합도 함수
Figure pat00115
에 따라서
Figure pat00116
Figure pat00117
를 설정한다.
Figure pat00118
여기서
Figure pat00119
는 올바르게 매치된 랜드마크의 수이다.
Figure pat00120
를 최대화함으로써, 측정 오차를 최소화하는 최적의
Figure pat00121
를 찾을 수 있다.
Figure pat00122
,
Figure pat00123
, 그리고
Figure pat00124
에 대한 적절한 값을 설정하는 법과 반복 수행 회수는 PSO에 있어서 결정적인 요인이다. 전체 최적 값을 찾아내는 능력은
Figure pat00125
,
Figure pat00126
, 그리고
Figure pat00127
에 달려있다. 우선
Figure pat00128
Figure pat00129
Figure pat00130
Figure pat00131
에 대한 상대적 인력(relative attraction)을 각각 제어한다.
Figure pat00132
=
Figure pat00133
로 설정하는 방법이 널리 이용되고 있다. 수렴 속도는 주로
Figure pat00134
에 의해 영향을 받는다.
Figure pat00135
가 작으면 탐사 능력이 떨어지고 파티클들이 종종 지역적 최적화에 이르게 되는 반면, 알고리즘의 빠른 수렴이 보장된다. 반대로
Figure pat00136
가 너무 크면 심각하게 수렴 속도가 떨어지게 된다.
Figure pat00137
=0.5,
Figure pat00138
=
Figure pat00139
=
Figure pat00140
로 하는 것이 실험에 있어서 가장 훌륭한 성능을 보여주었다.
전체 최적화를 찾는 것은 또한 PSO 반복 수행 회수와 관련된다. 반복 수행 회수가 많아지면 전체 최적화에 도달할 확률은 높아지지만 수렴에 걸리는 시간이 증가하게 된다. PSO 반복 수행의 회수는 수학식 13에 따라서 자동적으로 결정된다.
Figure pat00141
여기서
Figure pat00142
는 한 반복 수행 내에서 가장 나쁜 파티클을 의미한다. 반복 수행의 최대 회수는 30회로 제한된다. 이는 적합치(fitness value)의 향상이 30회의 반복 수행 이후에는 미미하기 때문이다.
파티클 업데이트 후 중립 파티클의 20 퍼센트만큼
Figure pat00143
주변으로 반경 rcloud을 갖는 퀀텀 파티클을 생성한다. 여기서는
Figure pat00144
가 상태 공분산(state covariance)와 동일하도록 설정했다. PSO를 통한 다층 중요도 샘플링이 마쳐지면
Figure pat00145
는 수학식 8을 통해 업데이트된다.
4.5. 랜드마크 업데이트
새로운 특징을 관찰할 때, 랜드마크들은 초기화된다. 쌍안식 카메라의 경우에 있어서는 랜드마크를 초기화하기 위해 하나의 참조 카메라(본 발명의 시스템에서는 좌측 카메라)만을 사용한다. 중요도 샘플링 후 랜드마크는 표본 추출된(sampled) 카메라 포즈
Figure pat00146
와 측정치
Figure pat00147
에 기초하여 EKF에 의해 업데이트된다.
랜드마크 업데이트 후 파티클 가중치는 수학식 14에 의해 계산된다.
Figure pat00148
여기서
Figure pat00149
는 PSO 반복 수행 전에 초기 상태를 나타낸다. 마지막으로, 최적화 상태 평가(optimal state estimation)
Figure pat00150
가 파티클의 기하학적 샘플 평균에 의해 계산된다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 3은 본 발명의 실시예에 따른 카메라 포즈 결정 장치를 설명하기 위해 제공되는 블록도이다.
도 3을 참고하면, 먼저 카메라 포즈 결정 장치(100)는 이동 로봇(도시하지 않음)에 탑재되어 있는 카메라(200)로부터 촬영된 영상을 프레임 단위로 제공받아 해당 프레임에서의 카메라 포즈를 결정하는 기능을 수행한다. 여기서 카메라 포즈는 카메라의 자세 및 카메라의 위치를 의미한다. 카메라 포즈 결정 장치(100)는 이동 로봇에 탑재되어 있거나 이동 로봇과 유무선으로 통신을 할 수 있도록 구현될 수도 있다.
본 실시예에서 카메라의 포즈는 초기 카메라 포즈에 대해 카메라 좌표계의 강체 변환(rigid body transformation)에 의해 표현될 수 있으며, 따라서 카메라의 포즈를 나타내는 파티클은 동차 행렬(Homogeneous matrix)
Figure pat00151
으로 표현되며, R은 3×3 회전 행렬이고, t(
Figure pat00152
)는 이동 벡터(translation vector)이다. 이하에서는 위에서 파티클을 표현한 동차 행렬(X)을 카메라 포즈 행렬이라고 부른다.
그러면 도 4를 참고하여 본 발명의 실시예에 따른 카메라 포즈 결정 방법에 대해 설명한다.
도 4는 본 발명의 실시예에 따른 카메라 포즈 결정 방법을 설명하기 위해 제공되는 흐름도이다.
도 4를 참고하면, 먼저 카메라 포즈 결정 장치(100)는 카메라(200)의 포즈를 구하기 위한 알고리즘을 수행하기 위한 파라미터 초기화 작업을 수행한다(S410).
단계(S410)에서 파티클(particle)의 개수(N)를 설정하고, PSO(Particle Swarm Optimization)의 반복 회수(M)를 설정할 수 있다.
그리고 설정된 파티클의 개수(N) 만큼 카메라 포즈 행렬(X)과, 상태 동역학 텀(a 0)을 아래 수학식 15와 같이 초기화할 수 있다. 즉 파티클을 초기 상태로 설정한다.
Figure pat00153
그리고 초기(이전) 프레임에서 복수 개의 파티클 각각을 위한 복수 개의 랜드마크에 대한 정보를 초기화한다. 복수 개의 파티클 각각에 대해서 복수 개의 랜드마크에 대해 구해지는 역 심도 지점(IDP, Inverse Depth Point) L에 대한 정보를 저장한다. 랜드마크의 역 심도 지점 L 6-D 벡터에 의해 표현될 수 있다. 한편 복수 개의 파티클 각각에 대해서 랜드마크 이미지 패치를 저장한다. 랜드마크 이미지 패치는 이전 프레임에서 랜드마크가 투영된 코너 포인트(corner point)를 중심으로 하여 미리 정해진 크기, 예컨대 31×31 픽셀로 잘라낸 것을 의미한다.
이와 같이 단계(S410)에 의해 초기화가 완료되면, 카메라 포즈 결정 장치(100)는 카메라(200)에서 획득된 현재 프레임에서 복수 개의 랜드마크에 각각 대응하는 복수 개의 코너 포인트를 추출한다(S420).
보다 자세하게는 카메라 포즈 결정 장치(100)는 FAST-10 코너 추출기를 이용하여 현재 프레임에서 코너 포인트를 추출할 수 있다. 그리고 카메라 포즈 결정 장치(100)는 초기(이전) 프레임에서 랜드마크에 대한 이미지 패치와 현재 프레임에서 추출된 코너 포인트를 중심부에 놓은 이미지 패치를 매칭한다. 이를 위해 카메라 포즈 결정 장치(100)는 랜드마크 이미지 패치를 회전 및 스케일 변화에 의해 변형하여 추출된 코너 포인트와 매칭을 수행한다. 랜드마크 이미지 패치에 매칭되는 코너 포인트만을 카메라의 포즈를 결정하는데 이용한다.
다음으로 카메라 포즈 결정 장치(100)는 추출된 코너 포인트를 이용하여 복수 개의 파티클에 대해 Special Euclidean Group SE(3) 상에서 PSO(Particle Swarm Optimization)를 수행하여 현재 프레임에 대한 카메라의 포즈를 결정한다(S430).
SE(3) 상에서 PSO를 수행하여 현재 프레임에 대한 카메라의 포즈를 결정하는 단계(S430)를 보다 자세히 설명한다.
먼저 초기화된 복수 개의 파티클로부터 미리 정의된 카메라 상태 천이 모델에 따라 새로운 복수 개의 파티클에 대한 카메라 포즈 행렬(
Figure pat00154
)을 각각 랜덤하게 추출한다. 이에 의해 파티클이 초기 상태에서 새로운 상태로 이동한 것을 의미한다.
여기서 카메라 상태 천이 모델은 설계자에 의해 다양하게 정의될 수 있으며, 일 예로 카메라의 포즈를 파티클로 표현할 때 파티클
Figure pat00155
(∈SE(3))의 전파를 나타내는 수학식 7을 이용하여 구해지는 상태 천이 밀도 함수
Figure pat00156
가 이용될 수 있다.
다음으로 복수 개의 파티클에 대한 카메라 포즈 행렬(X k)이 추출되면, 새로 추출된 카메라 포즈 행렬(X k)을 미리 정의된 적합도 함수에 적용하여 복수 개의 파티클에 대한 각각의 개별 최적해(P i ib)와 전체 최적해(P gb)를 구한다. 여기서 개별 최적해(P i ib)는 i 번째 파티클에 대해서 현재까지 구해진 최적해를 의미하며, 전체 최적해(P gb)는 전체 파티클에 대해서 현재까지 구해진 최적해를 의미한다. 여기서 적합도 함수는 상기한 수학식 12가 이용될 수 있다.
다음으로 구해진 카메라 포즈 행렬
Figure pat00157
과 개별 최적해(P i ib)와 전체 최적해(P gb)를 이용하여 Special Euclidean Group SE(3) 상에서 PSO(Particle Swarm Optimization)를 미리 정해진 수(M)만큼 반복 수행한다.
먼저 카메라 포즈 행렬
Figure pat00158
에 대해 상기한 수학식 5와 수학식 6을 이용하여 앞에서 설명한 것과 같이 R i를 위한 속도 벡터 V R i t i를 위한 V t i se(3) 상에서 구한 후 다시 SE(3) 상으로 변환하는 과정을 통해 각각의 파티클에 대해서 새로운 카메라 포즈 행렬
Figure pat00159
을 구할 수 있다. 즉 이에 의해 파티클이 새로운 위치로 이동시킨 것을 의미한다.
그러면 새롭게 구해진 카메라 포즈 행렬
Figure pat00160
에 대해 위에서 수학식 12로 나타낸 적합도 함수를 적용하여 개별 최적해(P i ib)와 전체 최적해(P gb)를 업데이트 한다. 해당 파티클에 대해 수학식 12를 통해 구해진 적합도 값이 해당 파티클의 개별 최적해(P i ib)의 적합도 값 보다 클 경우 샘플 행렬
Figure pat00161
을 해당 파티클의 개별 최적해(P i ib)로 업데이트한다. 그리고 해당 파티클에 대해 수학식 12를 통해 구해진 적합도 값이 전체 최적해(P gb)의 적합도 값보다 클 경우 새롭게 구해진 샘플 행렬
Figure pat00162
을 전체 최적해(P gb)로 업데이트한다.
다음으로 퀀텀(quantum) 파티클(
Figure pat00163
)을 상기한 수학식 4에 의해 추출한다.
추출된 퀀텀 파티클(
Figure pat00164
)에 대해서 수학식 12를 통해 적합도 값을 구하고 구해진 적합도 값이 현재의 전체 최적해(P gb)의 적합도 값보다 큰 경우 전체 최적해(P gb)를 해당 퀀텀 파티클(
Figure pat00165
)로 변경한다.
상기한 것과 같이 미리 정해진 수(M)만큼 PSO를 반복하였거나, 상기한 수학식 13을 만족하는 경우 현재 프레임에 대해서 PSO 수행을 종료한다.
다음으로 그때까지의 복수 개의 파티클에 대한 각각의 개별 최적해와 전체 최적해를 이용하여 현재 프레임에 대한 카메라의 포즈를 결정한다. 각각의 개별 최적해와 전체 최적해의 평균을 현재 프레임에 대한 카메라의 포즈로 결정할 수 있다. 물론 실시예에 따라서는 전체 최적해를 그대로 현재 프레임의 카메라의 포즈로 구할 수도 있다.
다시 도 4로 돌아가서, 단계(S430)를 수행하여 현재 프레임의 카메라의 포즈를 구한 후에, 다음 프레임의 카메라의 포즈를 구하기 위해서 다음과 같은 후처리 작업이 이어져서 수행될 수 있다(S440).
먼저 중요도 샘플링 후 랜드마크는 표본 추출된(sampled) 카메라 포즈
Figure pat00166
와 측정치
Figure pat00167
에 기초하여 EKF에 의해 업데이트된다. 그리고 파티클의 가중치는 상기한 수학식 14에 의해 계산된다. 다음으로 복수 개의 파티클에 대한 재샘플링을 수행한다. 복수 개의 파티클 중에서 미리 정해진 기준을 만족하지 못하는 파티클을 삭제하고, 대신에 복수 개의 파티클 중 미리 정해진 기준 이상의 파티클로 대체할 수 있다. 그리고 필요한 경우 현재 프레임에서 구해지는 새로운 코너 포인트에 대한 랜드마크 초기화를 수행한다.
이와 같은 작업을 완료한 후에 다음 프레임에 대해서 단계(S420) 내지 단계(S430)을 수행하여 다음 프레임의 카메라 포즈를 구한다.
도 5는 본 발명에 따른 카메라 포즈 결정 방법과 종래의 다른 방법을 이용했을 때의 에러율을 비교하기 위해 제공되는 도면이다. 도 5(a)는 카메라 위치의 에러, 도 5(b)는 카메라 방향의 에러, 도 5(c)는 랜드마크 위치의 에러를 각각 나타낸 것이다.
도 5를 참고하면, 본 발명에 따른 PSO-SLAM이 PF-SLAM보다는 월등히 에러율이 낮고, OIF-SLAM 과는 거의 비슷한 것을 알 수 있다. 아래 표 2는 도 5의 실험예에서 각 방법에서 사용된 파티클의 개수를 나타낸다.
파티클의 개수
PF-SLAM 500(A1), 1000(A2), 1500(A3)
PSO-SLAM 70(B1), 100(B2), 200(B3), 300(B4), 400(B5)
OIF-SLAM 100(C1), 200(C2),400(C3), 600(C4), 800(C5)
한편 도 6은 급격한 모션 변화가 있었을 때 본 발명에 따른 PSO-SLAM와 종래의 OIF-SLAM 사이의 에러율을 비교하기 위해 제공되는 도면이다.
도 6을 참고하면 본 발명에 따른 PSO-SLAM이 종래의 OIF-SLAM 보다 급격한 모션 변화에서도 강인한 것을 보여준다.
본 발명의 실시예는 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터로 읽을 수 있는 매체를 포함한다. 이 매체는 앞서 설명한 카메라 포즈 결정 방법을 실행시키기 위한 프로그램을 기록한다. 이 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 이러한 매체의 예에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기 매체, CD 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 자기-광 매체, 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치 등이 있다. 또는 이러한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (10)

  1. 이전 프레임에서 카메라의 포즈를 나타내는 복수 개의 파티클(particle)과 상기 복수 개의 파티클 각각을 위한 복수 개의 랜드마크를 초기화하는 단계,
    현재 프레임에서 상기 복수 개의 랜드마크에 각각 대응하는 복수 개의 코너 포인트를 추출하는 단계, 그리고
    상기 추출된 코너 포인트를 이용하여 상기 복수 개의 파티클에 대해 Special Euclidean Group SE(3) 상에서 PSO(Particle Swarm Optimization)을 수행하여 현재 프레임에 대한 카메라의 포즈를 결정하는 단계를 포함하고,
    상기 파티클은 동차 행렬(Homogeneous matrix)
    Figure pat00168
    으로 표현되며, R은 3×3 회전 행렬이고, t(
    Figure pat00169
    )는 이동 벡터(translation vector)인 카메라 포즈 결정 방법.
  2. 제 1 항에서,
    상기 추출된 코너 포인트는,
    상기 초기 프레임에서 상기 랜드마크의 이미지 패치와 상기 현재 프레임에서 추출된 코너 포인트를 중심부에 놓은 이미지 패치를 비교하여 일치하는 경우 상기 카메라의 포즈를 결정하는 단계에서 이용되는 카메라 포즈 결정 방법.
  3. 제 2 항에서,
    상기 카메라 포즈 결정 단계는,
    (a) 미리 정의된 카메라 상태 천이 모델에 따라 상기 초기화된 복수 개의 파티클 각각에 대응하는 카메라 포즈 행렬
    Figure pat00170
    (k번째 프레임에서 i번째 파티클에 대응하는 카메라 포즈 행렬)을 구하는 단계,
    (b) 상기 카메라 포즈 행렬을 미리 정의된 적합도 함수에 적용하여 복수 개의 파티클에 대한 각각의 개별 최적해와 전체 최적해를 구하는 단계,
    (c) 상기 카메라 포즈 행렬
    Figure pat00171
    에 대해 다음 수학식
    Figure pat00172

    Figure pat00173

    을 이용하여 새로운 카메라 포즈 행렬을 구하는 단계,
    (d) 상기 새로운 카메라 포즈 행렬에 대해 미리 정의된 적합도 함수에 적용하여 복수 개의 파티클에 대한 각각의 개별 최적해와 전체 최적해를 업데이트 하는 단계,
    (e) 상기 (c) 단계와 상기 (d) 단계를 미리 정해진 조건만큼 반복하는 단계, 그리고
    (f) 상기 (e) 단계 완료 후 상기 복수 개의 파티클에 대한 각각의 개별 최적해와 전체 최적해를 이용하여 현재 프레임에 대한 카메라의 포즈를 결정하는 단계를 포함하는 카메라 포즈 결정 방법.
  4. 제 3 항에서,
    상기 각각의 개별 최적해와 전체 최적해의 평균을 현재 프레임에 대한 카메라의 포즈로 결정하는 카메라 포즈 결정 방법.
  5. 제 3 항에서,
    상기 미리 정해진 조건은,
    상기 (c) 단계와 상기 (d) 단계의 반복 수행 회수가 미리 정해진 회수에 도달했거나, 최적해를 가지는 파티클의 적합도 값과 최악해를 가지는 파티클의 적합도 값의 차가 미리 정해진 기준보다 작은 경우인 카메라 포즈 결정 방법.
  6. 제 3 항에서,
    상기 미리 정의된 카메라 상태 천이 모델은 다음 수학식
    Figure pat00174

    을 이용하여 구해지는 상태 천이 밀도 p(Xk│Xk-1)에 의해 구해지되,
    여기서
    Figure pat00175
    는 공분산
    Figure pat00176
    (
    Figure pat00177
    )를 갖는 se(3) 상의 위너 과정(Wiener process) 노이즈이고,
    Figure pat00178
    은 파티클의 유포를 결정하는 상태 동역학 텀(state dynamics term)인 카메라 포즈 결정 방법.
  7. 제 3 항에서,
    상기 카메라 포즈 결정 단계는,
    현재의 최적 파티클을 기준으로 일정 반경 내에서 퀀텀(quantum) 파티클(
    Figure pat00179
    )을 추출하고, 추출된 퀀텀 파티클(
    Figure pat00180
    )에 대해서 상기 미리 정의된 적합도 함수를 이용하여 적합도 값을 구하고 구해진 적합도 값이 현재의 전체 최적해(P gb)의 적합도 값보다 큰 경우 전체 최적해(P gb)를 해당 퀀텀 파티클()로 변경하는 단계를 포함하는 카메라 포즈 결정 방법.
  8. 제 3 항에서,
    상기 현재 프레임의 카메라 포즈 결정 단계 후에 상기 복수 개의 랜드마크에 대해 EKF를 이용하여 업데이트하는 단계를 더 포함하는 카메라 포즈 결정 방법.
  9. 제 3 항에서,
    상기 현재 프레임의 카메라 포즈 결정 단계 후에 상기 복수 개의 파티클 중에서 미리 정해진 기준을 만족하지 못하는 파티클을 삭제하고, 상기 복수 개의 파티클 중 미리 정해진 기준 이상의 파티클로 대체하는 단계를 더 포함하는 카메라 포즈 결정 방법.
  10. 제 1 항 내지 제 10 항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.












KR1020100017781A 2010-02-26 2010-02-26 카메라 포즈 결정 방법 KR101107735B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100017781A KR101107735B1 (ko) 2010-02-26 2010-02-26 카메라 포즈 결정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100017781A KR101107735B1 (ko) 2010-02-26 2010-02-26 카메라 포즈 결정 방법

Publications (2)

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

Family

ID=44951832

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100017781A KR101107735B1 (ko) 2010-02-26 2010-02-26 카메라 포즈 결정 방법

Country Status (1)

Country Link
KR (1) KR101107735B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180111224A (ko) * 2017-03-31 2018-10-11 엘지전자 주식회사 단말기 및 그 제어 방법
CN112540671A (zh) * 2019-09-20 2021-03-23 辉达公司 基于视觉的灵巧机器人系统的远程操作

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101502071B1 (ko) * 2013-07-05 2015-03-12 충남대학교산학협력단 랜드마크 기반 비전항법시스템을 위한 카메라 데이터 생성기와 그것을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체
KR102352088B1 (ko) 2020-03-24 2022-01-14 연세대학교 산학협력단 딥러닝 기반의 자세 추정을 이용한 3차원 전역 위치 인식 장치 및 이동 로봇

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7135992B2 (en) 2002-12-17 2006-11-14 Evolution Robotics, Inc. Systems and methods for using multiple hypotheses in a visual simultaneous localization and mapping system
KR100855469B1 (ko) 2006-09-13 2008-09-01 삼성전자주식회사 이동 로봇의 자세 추정 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180111224A (ko) * 2017-03-31 2018-10-11 엘지전자 주식회사 단말기 및 그 제어 방법
CN112540671A (zh) * 2019-09-20 2021-03-23 辉达公司 基于视觉的灵巧机器人系统的远程操作

Also Published As

Publication number Publication date
KR101107735B1 (ko) 2012-01-20

Similar Documents

Publication Publication Date Title
CN110703747B (zh) 一种基于简化广义Voronoi图的机器人自主探索方法
Yousif et al. An overview to visual odometry and visual SLAM: Applications to mobile robotics
Wang et al. Robot manipulator self-identification for surrounding obstacle detection
CN109186606B (zh) 一种基于slam和图像信息的机器人构图及导航方法
EP2302586B1 (en) Information processing device, information processing method and program
US8543241B2 (en) Method, medium, and system estimating pose of mobile robots
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 (ko) 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
KR20150144727A (ko) 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
KR101107735B1 (ko) 카메라 포즈 결정 방법
CN113407027A (zh) 位姿获取方法及装置和电子设备、存储介质
Al-Muteb et al. An autonomous stereovision-based navigation system (ASNS) for mobile robots
Sheikh et al. Stereo vision-based optimal path planning with stochastic maps for mobile robot navigation
Li et al. UAV-based SLAM and 3D reconstruction system
Schaub et al. 6-dof grasp detection for unknown objects
Demim et al. Visual SVSF-SLAM algorithm based on adaptive boundary layer width
Emaduddin et al. Accurate floor detection and segmentation for indoor navigation using RGB+ D and stereo cameras
Baik et al. Geometric particle swarm optimization for robust visual ego-motion estimation via particle filtering
CN117193278A (zh) 动态沿边路径生成的方法、装置、计算机设备和存储介质
EP3770809A1 (en) Method and apparatus for estimating user's pose by using three-dimensional virtual space model
Kostavelis et al. Path tracing on polar depth maps for robot navigation
Pal et al. Evolution of Simultaneous Localization and Mapping Framework for Autonomous Robotics—A Comprehensive Review
Ignakov et al. Localization of a door handle of unknown geometry using a single camera for door-opening with a mobile manipulator
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