KR20040094230A - 센서의 사영행렬을 이용하는 3차원 데이터의 자동 정합 방법 - Google Patents

센서의 사영행렬을 이용하는 3차원 데이터의 자동 정합 방법 Download PDF

Info

Publication number
KR20040094230A
KR20040094230A KR1020030028302A KR20030028302A KR20040094230A KR 20040094230 A KR20040094230 A KR 20040094230A KR 1020030028302 A KR1020030028302 A KR 1020030028302A KR 20030028302 A KR20030028302 A KR 20030028302A KR 20040094230 A KR20040094230 A KR 20040094230A
Authority
KR
South Korea
Prior art keywords
matrix
distance information
information data
equation
sensor
Prior art date
Application number
KR1020030028302A
Other languages
English (en)
Other versions
KR100522373B1 (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 KR10-2003-0028302A priority Critical patent/KR100522373B1/ko
Publication of KR20040094230A publication Critical patent/KR20040094230A/ko
Application granted granted Critical
Publication of KR100522373B1 publication Critical patent/KR100522373B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details

Abstract

본 발명은 서로 다른 위치의 센서 S1및 S2로부터 각각 얻은 두 개의 거리정보 데이터 R1및 R2를 하나의 좌표 시스템 내의 3차원 거리정보 데이터로 정합하는 방법에 있어서, 공분산 행렬을 이용하여 센서의 상대적인 위치를 추정하는 단계(a); 상기 추정된 센서의 상대적 위치를 초기치로 하여 상기 두 거리정보 데이터를 변환시킨 후, 상기 변환시킨 두 거리정보 데이터 집합 간의 겹치는 영역을 구하는 단계(b); 상기 겹치는 영역의 범위 내에서 가장 근접한 점(closest point)의 쌍을 찾는 단계(c); 상기 가장 가까운 점의 쌍으로부터 공분산 행렬을 갱신하는 단계(d); 및 상기 갱신된 공분산 행렬을 이용하여, 상기 단계(a) 내지 (d)를 반복하는 단계(e)를 포함하는 것을 특징으로 하는 3차원 거리정보 데이터의 정합 방법에 관한 것이다.
본 발명에 따른 정합 방법에 의하면, 3차원 데이터 집합에 대한 변위 측정, 사용자 입력, 또는 일치점 추출 등의 초기화 과정 없이, 임의의 시점에서 측정된 거리정보 데이터를 자동으로 정합할 수 있다.

Description

센서의 사영행렬을 이용하는 3차원 데이터의 자동 정합 방법 {A method for automatic registration of 3D data using a projection matrix of a sensor}
본 발명은 서로 다른 위치의 센서 S1및 S2로부터 각각 얻은 두 개의 거리정보 데이터 R1및 R2를 하나의 좌표 시스템 내의 3차원 거리정보 데이터로 정합하는 방법에 관한 것이다. 더욱 구체적으로, 본 발명은 공분산 행렬을 이용하여 센서의 상대적인 위치를 추정하는 단계(a); 상기 추정된 센서의 상대적 위치를 초기치로 하여 상기 두 거리정보 데이터를 변환시킨 후, 상기 변환시킨 두 거리정보 데이터 집합 간의 겹치는 영역을 구하는 단계(b); 상기 겹치는 영역의 범위 내에서 가장 근접한 점(closest point)의 쌍을 찾는 단계(c); 상기 가장 가까운 점의 쌍으로부터 공분산 행렬을 갱신하는 단계(d); 및 상기 갱신된 공분산 행렬을 이용하여, 상기 단계(a) 내지 (d)를 반복하는 단계(e)를 포함하는 것을 특징으로 하는 3차원 거리정보 데이터의 정합 방법에 관한 것이다.
최근 3차원 센서 기술의 발달로 인하여, 실제 공간 상에 존재하는 다양한 물체의 기하학적 정보를 쉽게 취득할 수 있게 되었다. 대상 물체의 기하학적인 특성 때문에 어느 하나의 시점에서 모든 데이터를 취득하는 것은 일반적으로 불가능하다. 따라서, 물체의 완전한 3차원 모델을 구축하기 위해서는 여러 시점에서 측정된 데이터를 통합하여야 한다. 이를 위해서는 센서의 지역 좌표 시스템(local coordinate system) 상에서 정의된 측정 데이터를 하나의 좌표 시스템으로 통합하는 정합(registration) 과정이 필요하다. 3차원 데이터 정합은 각 좌표 시스템 간의 변환을 의미하고, 이러한 관계는 세 개의 회전 매개변수와 세 개의 이동 매개변수로 구성되는 호모그래피(homography) 행렬에 의하여 해석된다.
일반적으로, 센서간의 3차원 관계를 구하기 위해서는 물체나 센서를 로봇 암(arm)과 같은 변위측정 장치에 고정시키고, 이를 이동하면서 각 시점에 대한 변위를 기계적으로 직접 측정하여 데이터를 정합한다. 사용자가 거리정보 데이터 간의 일치점(coordinating point)을 직접 입력하는 방법은 대상 물체 간에 최소 3개 이상의 일치점이 필요하며, 각 일치점은 한 평면 위에 존재하지 않아야 하는 조건이 필요하다. 이러한 일치점의 입력 과정은 사용자에게 있어서 매우 번거로운 작업이며, 매칭 오차가 발생할 수 있는 가능성이 있다.
따라서, 최근에 연구되는 대부분의 3차원 정합 알고리즘은 대상 일치점을 자동으로 찾는 방법을 이용한다. 그러나, 측정된 데이터 간의 해상도나 샘플링 등의 문제로 인해서 거리정보 데이터에서 일치점을 정확히 찾는 것은 매우 어려우며, 많은 계산을 필요로 한다.
여러 장의 거리정보 데이터를 정합하면서 중복되는 부분을 제거하는 통합 과정을 통하여 대상 물체에 대한 3차원 모델을 최종적으로 얻을 수 있고, 이를 위해서는 아주 세밀하고 정확한 정합 과정과 정합된 데이터를 최적화하는 과정이 각각 필요하다. 가장 대표적인 최적화의 방법은 ICP(Iterative Closest Point) 알고리즘이며, ICP 방법만으로도 다른 좌표 시스템에서 정의된 두 데이터 집합을 정합할 수 있다. 그러나, 이 경우, 연산 과정이 길어지게 되고, 국부 최소(local minima) 문제를 해결할 수 없다는 단점이 있다.
따라서, 상기 ICP 알고리즘은 정확한 해를 찾기 위하여 변위 측정장비나, 사용자 입력, 일치점 추출 등의 방법으로 비교적 정확한 초기치를 구한 후, 반복적인 계산을 통하여 정합을 최적화한다.
호른(Horn) 등은 서로 다른 두 좌표 시스템 간의 정합의 문제를 공분산(covariance) 행렬에 의한 단위 쿼터니온(quaternion)을 이용하여 해결하였다[B. K. P. Horn, "Closed-Form Solution of Absolute Orientation Using Unit Quaternions," Journal of the Optical Society of America, A, vol. 4, no. 4, pp. 629-642, April 1987]. 베슬(Besl)과 맥케이(McKay)에 의하여 제안된 ICP 알고리즘은 현재 정합의 문제에 가장 널리 쓰이는 방법으로서, 일치점의 추출 과정 없이 두 데이터 집합간의 가장 가까운 점들의 쌍을 반복적으로 찾아내어 정합을 최적화시킨다[P. J. Besl and N. D. Mckay, "A Method for Registration of 3-D Shapes," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 14, no. 2, pp. 239-256, Feb. 1992]. 그러나, ICP 알고리즘만을 사용하여 정합하는 경우, 국부 최소 문제로 인하여 3차원 데이터의 정확한 정합을 보장할 수 없다.
따라서, 정확한 해를 구하기 위해서는 대략적인 정합을 통하여 이러한 문제를 먼저 해결하는 것이 중요하다.
거리정보 데이터를 자동으로 정합하는 방법은 특징점의 추출과 매칭을 통하여 대략적인 정합을 수행한 다음, ICP 알고리즘을 이용하여 최적화하는 방법이 가장 일반적이다. 그러나, 일반적으로 특징점의 추출과 매칭 과정은 데이터의 해상도 및 샘플링 등에 영향을 받으며, 많은 연산 시간을 요구하게 된다. 또한, 대략적인 정합을 위하여 변위 측정 장치나 사용자의 입력을 이용하는 방법이 있지만, 변위 측정 장치에 따라 대상 물체의 크기가 제한되며, 사용자 입력에 의하여 많은 오차가 발생할 수 있다는 단점이 있다.
이에 본 발명자들은 상기한 바와 같은 문제점을 해결하기 위하여 연구한 결과, 센서의 사영 조건과 공분산 행렬을 이용하여 센서의 상대적인 위치를 추정하고, 각각의 추정된 센서의 위치에서 두 데이터 집합 간의 겹치는 영역에 대한 가장 근접한 점(closest point)을 반복적으로 찾아가면서 ICP 알고리즘을 수행하는 경우, 3차원 데이터 집합에 대한 변위 측정장비, 사용자 입력 또는 일치점 추출 등의 초기화 과정 없이 임의의 시점에서 측정된 거리정보 데이터를 자동으로 정합할 수 있고, ICP 알고리즘에서의 국부 최소 문제도 해결할 수 있음을 확인하고 본 발명을 완성하였다.
따라서, 본 발명의 목적은 서로 다른 위치의 센서 S1및 S2로부터 각각 얻은 두 개의 거리정보 데이터 R1및 R2를 하나의 좌표 시스템 내의 3차원 거리정보 데이터로 정합하는 신규 방법을 제공하는데 있다.
도 1은 교차 사영을 통한 겹치는 영역을 예시한 도면이고,
도 2a는 어느 한 센서(S1)에서의 거리정보 데이터 측정을 도시한 것이며,
도 2b는 교차 사영에 의하여 겹치는 영역을 추출하는 과정을 도시한 것이고,
도 3은 본 발명에 따른 정합 과정을 도시한 순서도이며,
도 4a는 가상의 소에 대한 센서의 거리정보 데이터이고,
도 4b는 초기 정합 상태이며,
도 4c는 종래의 ICP 알고리즘을 이용하여 정합한 결과를 도시한 것이고,
도 4d는 본 발명에 따라 정합한 결과를 도시한 것이며,
도 5a는 실험에서 사용된 실제 물체(얼굴)이고,
도 5b는 상기 도 5a의 얼굴에 대한 센서의 거리정보 데이터이며,
도 5c는 초기 정합 상태이고,
도 5d는 종래의 ICP 알고리즘을 이용하여 정합한 결과를 도시한 것이며,
도 5e는 본 발명에 따라 정합한 결과를 도시한 것이고,
도 5f는 본 발명에 따른 정합과 종래의 ICP 알고리즘을 통한 정합 시 반복횟수 및 정합오차(거리오차)를 도시한 것이다.
본 발명은 서로 다른 위치의 센서 S1및 S2로부터 각각 얻은 두 개의 거리정보 데이터 R1및 R2를 하나의 좌표 시스템 내의 3차원 거리정보 데이터로 정합하는 방법에 관한 것이다.
더욱 구체적으로 본 발명은, 서로 다른 위치의 센서 S1및 S2로부터 각각 얻은 두 개의 거리정보 데이터 R1및 R2를 하나의 좌표 시스템 내의 3차원 거리정보 데이터로 정합하는 방법에 있어서,
공분산 행렬을 이용하여 센서의 상대적인 위치를 추정하는 단계(a);
상기 추정된 센서의 상대적 위치를 초기치로 하여 상기 두 거리정보 데이터를 변환시킨 후, 상기 변환시킨 두 거리정보 데이터 집합 간의 겹치는 영역을 구하는 단계(b);
상기 겹치는 영역의 범위 내에서 가장 근접한 점(closest point)의 쌍을 찾는 단계(c);
상기 가장 가까운 점의 쌍으로부터 공분산 행렬을 갱신하는 단계(d); 및
상기 갱신된 공분산 행렬을 이용하여, 상기 단계(a) 내지 (d)를 반복하는 단계(e)를 포함하는 3차원 거리정보 데이터의 정합 방법에 관한 것이다.
본 발명에서는 센서의 사영 관계와 공분산 행렬의 고유벡터를 이용하여 입력된 거리정보 데이터를 대략적으로 정합한다. 고유벡터는 3차원 데이터의 방향성을 나타내며, 데이터 집합의 중점(centroid) 상에 새로운 좌표축을 형성한다. 입력되는 거리정보 데이터들 간의 고유벡터를 분석해서, 각각의 거리정보 데이터에 해당하는 센서의 상대적인 변위를 대략적으로 파악한다. 본 발명은 대략적으로 구해진 두 센서 간의 상대적인 위치를 초기치로 하여 반복연산을 통하여 센서의 위치와 두 거리정보 데이터 간의 정합의 문제를 동시에 최적화시킨다.
센서의 위치와 두 데이터 간의 정합은 상호보완 관계에 있다. 즉, 두 센서 간의 상대적인 위치를 정확하게 구할수록, 두 데이터 간의 정합이 정확해진다. 또한, 두 데이터 간의 정합이 정확할수록, 두 데이터 간의 상대적인 위치를 정확하게 구할 수 있다. 이러한 상호 보완적인 관계를 이용하여 반복연산을 통하여 이 두가지를 동시에 최적화시킨다.
본 발명에 있어서, 상기 단계(a)에서 상기 공분산 행렬은 상기 서로 다른 위치의 센서로부터 얻은 두 개의 거리정보 데이터의 공분산 행렬을 의미하거나, 상기 단계(d)에서 갱신한 공분산 행렬을 의미한다.
상기 공분산 행렬은, 상기 두 거리정보 데이터의 각 중점 또는 상기 겹치는 영역의 범위 내에서 가장 근접한 점의 쌍의 집합의 각 중점 C를 하기 수학식 1에 의하여 구한 후, 상기 중점 C와 각 점들간의 거리의 분산으로서 하기 수학식 2에 의하여 구할 수 있다:
[수학식 1]
[수학식 2]
상기식에서,
V는 상기 거리정보 데이터 또는 상기 겹치는 영역의 범위 내에서 가장 근접한 점의 쌍의 각 점의 3차원 좌표 값이고,
N은 점의 개수이다.
또한, 본 발명에 있어서, 상기 단계(a)는,
상기 공분산행렬로부터 회전변환 행렬 및 이동변환 행렬을 구하는 단계(g); 및 상기 회전변환 행렬 및 이동변환 행렬로부터 센서의 상대적인 위치를 구하는 단계(h)를 포함할 수 있다.
특히, 상기 단계(g)에서 상기 회전변환 행렬은 상기 공분산 행렬을 고유치분해하여 구할 수 있고, 상기 이동변환 행렬은 상기 두 거리정보 데이터 또는 가장 근접한 점의 쌍의 중점의 차이로부터 구할 수 있다.
더욱 구체적으로, 상기 단계(a)는,
각각의 공분산 행렬 Cov1및 Cov2를 하기 수학식 3 및 수학식 4와 같이 고유치분해하여 정규직교 행렬 U1및 U2를 구하는 단계;
상기 정규직교 행렬 U1및 U2로부터 회전변환 행렬을 구하는 단계;
상기 중점의 차이로부터 이동변환 행렬을 구하는 단계; 및
상기 회전변환 행렬 및 상기 이동변환 행렬로부터 하기 수학식 5의 변환행렬 H에 의하여 상기 두 센서간의 상대적인 위치를 구하는 단계를 포함하는 것이 바람직하다:
[수학식 3]
[수학식 4]
[수학식 5]
상기식에서,
D1및 D2는 대각행렬로서, 고유벡터에 해당하는 고유치를 나타내고,
H는 변환행렬로서 4×4의 행렬이며,
U1U2 -1은 회전변환 행렬(R)로서 3×3의 행렬이고,
C2-C1은 이동변환 행렬(T)로서 3×1의 행렬(열벡터)이며,
03 T는 1×3의 영행렬(행벡터)인 [0 0 0]이다.
이하에서는 두 센서간의 상대적인 위치를 구하는 과정에 대하여 더욱 자세히 설명한다.
3차원 데이터의 정합에서 초기치를 정확하게 구하면, 반복 연산의 횟수가 줄어들고, 정확성을 보장할 수 있다. 전술한 바와 같이, 호른은 다른 좌표 시스템에서 정의된 두 개의 3차원 데이터 집합을, 공분산 행렬에 의한 단위 쿼터니온을 이용하여 정합하는 방법을 제안한 바 있다. 이 방법은 두 데이터 간의 최소 3개의 일치점을 알고 있는 상태에서 정합시킨다.
그러나, 본 발명에서는 3차원 데이터 간의 일치점 정보를 필요로하지 않으며, 단위 쿼터니온 대신 정규 직교 행렬인 회전 행렬을 이용한다. 두 거리정보 데이터 간의 기하학적인 유사성을 이용하여 대략적으로 정합하며, 회전변환 행렬은 공분산 행렬을 고유치 분할로 분해하여 쉽게 얻을 수 있다. 한 물체에 대해서 다른 시점에서 얻어진 데이터이더라도, 3차원 구조상 어느 정도 유사한 형태를 갖기 때문에 대략적인 정합이 가능하다.
거리정보 데이터에 대한 공분산 행렬의 3개의 고유벡터는 3차원 데이터 집합에 대한 x, y, z 축을 의미한다. 따라서, 입력되는 거리정보 데이터의 각각의 공분산 행렬과 중점을 구하여 각각의 거리정보 데이터를 대상 물체 중심의 좌표축으로 정의할 수 있다. 각각의 거리정보 데이터에 대하여 새로운 좌표 시스템으로 정의한 다음, 두 개의 좌표 시스템이 서로 일치하도록 하는 변환식을 구함으로써, 대략적인 정합이 가능하다.
거리정보 데이터의 중점 C는 하기 수학식 1을 이용하여 구한다:
[수학식 1]
상기식에서,
V는 거리정보 데이터의 3차원 좌표 값이고,
N은 점의 개수이다.
상기 구한 중점을 이용하여, 공분산 행렬(Cov)을 하기 수학식 2에 의하여 구한다:
[수학식 2]
상기식에서,
V는 상기 거리정보 데이터 또는 상기 겹치는 영역의 범위 내에서 가장 근접한 점의 쌍의 각 점의 3차원 좌표 값이고,
N은 점의 개수이다.
Cov1및 Cov2를 입력된 두 거리정보 데이터의 공분산 행렬이라고 가정하면, 두 개의 공분산 행렬을 고유치 분할로 분해하여 하기 수학식 3 및 수학식 4와 같이 두 거리정보 데이터의 정규직교 행렬을 구한다:
[수학식 3]
[수학식 4]
상기식에서,
D1및 D2는 대각행렬로서, 고유벡터에 해당하는 고유치를 나타내고,
U1및 U2는 정규직교 행렬로서, 고유 벡터이다.
상기 정규직교 행렬 U1및 U2를 이용하여 회전변환 행렬을 추정하고, 두 데이터 집합의 중점의 차이로부터 이동변환 행렬을 구할 수 있다. 따라서, 초기 두 센서 간의 상대적인 위치는 하기 수학식 5의 변환행렬 H에 의하여 추정할 수 있다:
[수학식 5]
상기식에서,
D1및 D2는 대각행렬로서, 고유벡터에 해당하는 고유치를 나타내고,
H는 변환행렬로서 4×4의 행렬이며,
U1U2 -1은 회전변환 행렬(R)로서 3×3의 행렬이고,
C2-C1은 이동변환 행렬(T)로서 3×1의 행렬(열벡터)이며,
03 T는 1×3의 영행렬(행벡터)인 [0 0 0]이다.
또한, 본 발명에 있어서, 상기 단계(b)에서의 겹치는 영역은, 상기 두 센서 S1및 S2에서 동시에 보이는 부분으로서, 하기 수학식 6을 만족하는 영역이다. 단, 자신이 포함되어 있는 거리정보 데이터에 의하여 가려지는 점은 제외된다:
[수학식 6]
(S2- V1)·Vn1> 0 : R1에서 겹치는 영역
(S2- V2)·Vn2> 0 : R1에서 겹치는 영역
상기식에서, V1및 V2는 각각 상기 거리정보 데이터 R1및 R2내의 임의의 3차원 점을 의미하며,
V1n및 V2n은 각각 상기 V1및 V2에서의 법선 벡터를 의미한다.
이하에서는, 교차 사영을 통한 겹치는 영역 추출에 관하여 더욱 자세히 설명한다. 본 발명에서는 대략적으로 파악된 센서의 상대적인 위치에서 각 센서의 사영 조건을 이용하여 두 데이터 집합에서 겹치는 영역을 대략적으로 정의한다. 겹치는 영역은 두 데이터 집합에 동시에 존재하며, 두 센서의 위치에서 동시에 측정할 수 있는 영역으로 정의한다. 이하에서는, 도 1을 참고로 하여 설명한다.
도 1에서 센서의 위치 S1및 S2에서 얻어진 3차원 데이터 집합 R1및 R2에서, 겹치는 영역은 두 센서의 위치에서 동시에 보이는 부분이다. 자기 자신에 의하여 가려진 부분을 제거하면서, 동시에 두 거리정보 데이터에서 동시에 존재하는 겹치는 영역을 추출하기 위하여 데이터 R1을 S2로, 데이터 R2를 S1으로 각각 사영하는 교차 사영 방법이 사용된다. 도 1에서, 센서의 시선 방향과 법선 벡터 방향이 90°를 넘는 데이터 영역은 측정이 불가능하며, 하기 수학식 6을 이용하여 이러한 부분을 겹치는 영역에서 제외한다:
[수학식 6]
(S2- V1)·Vn1> 0 : R1에서 겹치는 영역
(S2- V2)·Vn2> 0 : R1에서 겹치는 영역
상기식에서,
V1및 V2는 각각 상기 거리정보 데이터 R1및 R2내의 임의의 3차원 점을 의미하며,
V1n및 V2n은 각각 상기 V1및 V2에서의 법선 벡터를 의미한다.
상기 두 데이터 집합에서 겹치는 영역은 S1및 S2에서 측정할 수 있으며, 이 관계로부터 두 데이터를 서로 다른 위치에서 바라봄으로써 겹치는 영역을 찾아낼 수 있다.
도 2a는 한 시점에서 거리정보 데이터가 측정되는 원리를 도시한 것이다. R1은 S1의 위치에서 측정된 데이터이고, 이 경우 측정된 각 데이터의 각 점의 법선 벡터 방향과 센서의 시선 방향의 사잇각은 90°이하인 경우의 데이터만 존재한다. 도 2b에서 S1에 의하여 측정된 R1데이터를 S2위치에서 바라보면, 점의 법선 벡터와센서의 시선 방향과의 사잇각이 90°보다 큰 점들이 존재한다.
또한, 대상 물체가 오목한 경우 자기 자신에 의하여 가려지는 부분이 발생한다. 자기 자신에 의하여 가려지는 점들도 측정되지 않는다. 자기 자신에 의하여 가려지는 점은 센서의 같은 화소의 위치에 사영되며, 이런 경우 센서와 각 점들간의 거리를 구하여 최소의 거리에 있는 점이 측정되는 점이라고 정의할 수 있다.
상기 두 가지 경우를 제외한 나머지 부분이 R1에 대하여 S1과 S2의 위치에서 동시에 측정되는 영역이라고 정의할 수 있다. 마찬가지 방법으로, R2에 대하여 같은 방법으로 겹치는 영역을 정의할 수 있다.
또한, 본 발명에 있어서, 상기 단계(e)에서 정합오차 E가 소정값 이하로 될 때까지 단계(a) 내지 단계(d)를 반복한다.
상기 정합오차 E는 하기 수학식 7에 의하여 구하는 것이 바람직하다:
[수학식 7]
상기식에서,
Vn1및 Vn2는 각각 상기 겹치는 영역의 범위 내에서 가장 근접한 점의 쌍을 의미하고,
C2는 센서 S2의 거리정보 데이터 R2의 중점이며,
R은 상기 회전변환 행렬 U1U2 -1이고,
T는 상기 이동변환 행렬 C2-C1이다.
또한, 본 발명에 따른 방법은, 상기 단계(a) 이전에, 센서의 초기 위치는 동일한 것으로 가정하는 단계(f)를 더 포함하는 것이 바람직하다.
상기 단계(f)에서 상기 두 센서의 초기 위치는,
상기 거리정보 데이터의 각 화소 x 및 이에 대응하는 3차원 좌표값 X를 이용하여 Ai행렬(2×12)을 구하는 단계;
n개의 x에 대하여 모든 X를 이용하여 n개의 Ai행렬(2×12)을 구하고, 이들을 조합하여 A 행렬(2n×12)을 구하는 단계;
상기 A 행렬을 특이치 분해방법(SVD)을 통하여 UDVT로 분해하는 단계(여기에서, D는 대각행렬이며, 상기 D 행렬의 가장 작은 값에 해당하는 V 행렬의 마지막 열 P가 센서의 사영행렬이다); 및
상기 사영행렬 P로부터 센서의 위치 S를 하기 수학식 8에 의하여 구하는 단계를 포함한다:
[수학식 8]
S = M-1p4
상기식에서, p4는 사영행렬 P의 마지막 열이고,
상기 사영행렬 P 는 하기 수학식 8a를 만족하는 3×4행렬이다:
[수학식 8a]
P = M[I|M-1p4] = KR[I|-S]
(여기에서,
M은 상기 사영행렬 P의 왼쪽의 3×3의 부분행렬로서, M=KR이고,
K는 내부 파라미터 행렬이며,
R은 이동변환 행렬이다)
이하에서는, 상기 사영행렬 P에 대하여 설명한다.
3차원 공간이 2차원 평면으로 사영되는 과정은 3×4의 사영행열 P로 표현되며, 이를 수식적으로 표현하면 하기 수학식 9와 같다:
[수학식 9]
상기식에서,
M은 공간상의 동차 좌표이고,
x 및 y 는 M 이 사영된 평면상의 좌표이며,
pi T는 사영행열의 i 번째 행벡터이다.
상기 수학식 9로부터 한 점에 대하여 2개의 방정식을 만들 수 있으며, 사영행열의 자유도는 11이므로, 최소 6개의 점이 있으면 사영행렬을 구할 수 있다. 즉,
이므로, 모든 점에 대한 상기 식을 벡터의 곱으로 표현하면, Ax=0이다.
이와 같이 Ax=0 의 형태로 식을 만들 수 있으며, 해 x 는 행열 A를 특이치 분해함으로써 구할 수 있다. Ai는 행열 A의 i번째 행 벡터를 나타낸다.
레인지 센서에 의해 깊이정보가 얻어지는 과정은 카메라에 의해 영상이 얻어지는 과정과 같다고 할 수 있으며, 이 과정은 3×4 행렬로 표현된다. 이 행열이 사영행열이며, 하기 수학식 10과 같이 구성된다:
[수학식 10]
상기한 바와 같이, 사영 행열 P는 3개 행렬의 곱으로 표현될 수 있다. 상기 3개 행렬 중 우측 행렬은 외부 파라미터로서, 월드 좌표계에서 카메라 좌표계로의 변환을 의미하므로 강체(rigid)변환 행렬의 형태이다. 가운데의 행렬은 평면으로 사영하는 역할을 수행하는 행렬이다. 좌측 행렬은 내부 파라미터로서, 평면에 사영된 것을 픽셀 좌표계로 변환하는 역할을 수행한다.
통상 상기 내부 파라미터는 K 로 표현되고, 외부 파라미터의 t 요소는 월드 좌표계 원점을 카메라의 중심으로 이동하는 것을 나타내므로 -C 로 표현한다(여기에서, C는 월드 좌표계에 대한 카메라의 위치이다). 따라서, 상기 수학식 10은 하기 수학식 10a와 같이 표현된다:
[수학식 10a]
상기 수학식 10a에 의하여 구한 사영행렬 P의 왼쪽 3×3 부분행렬을 M이라 하고, 4번째 열백터를 p4라고 하면, 상기 사영행렬 P는 하기 수학식 10b와 같다:
[수학식 10b]
따라서, 카메라(센서)의 위치는 하기 수학식 11과 같다:
[수학식 11]
p4= - KRC = - MC
C = - M-1p4
레인지 센서에 의하여 얻어진 영상의 각 화소에는 측정된 데이터의 3차원 정보가 존재하고, 각각의 거리정보 데이터는 하나의 센서를 이용하여 이동시키면서 측정되므로, 초점거리, 원점, 픽셀 종횡비 등의 내부 파라미터는 동일하기 때문에, 각 픽셀과 거리정보 데이터 간의 관계로부터 센서의 사영행렬을 구할 수 있다.
입력되는 3차원 데이터는 센서의 좌표 시스템에서 각각 정의되었기 때문에 상기 과정을 통해 얻어진 센서의 위치로부터 센서 간의 상대적인 위치를 구할 수 없다. 따라서, 본 발명에서는 두 거리정보 데이터 집합을 취득한 센서의 초기 위치가 동일한 것으로 가정하고, 반복연산을 통하여 정확한 센서의 실제 상대적 위치를 구한다.
기존의 ICP 알고리즘은 두 데이터 간에 미리 정의된 겹치는 영역에 대하여 가장 가까운 점들을 반복적으로 찾고, 찾은 점들을 일치시키는 최적의 3차원 변환 정보를 구한다. 만약 두 데이터가 측정된 센서의 상대적인 위치를 알고 있다면, 두 데이터 간의 정합은 기존의 ICP 알고리즘에 의하여 쉽게 해결될 수 있다. 그러나, ICP 알고리즘만으로는 미지의 시점에서 측정된 거리정보 데이터를 정확하게 정합하기 어렵다. 본 발명은 센서의 사영 관계를 사용하고, 반복연산과정에서 가까운 점을 겹치는 영역의 범위 내에서 찾도록 하여, 반복회수를 줄이고, 보다 정확한 정합을 가능하게 한다.
이하에서는 도 3을 참조하여, 본 발명에 따른 정합 방법을 설명한다.
먼저, 서로 다른 위치의 센서 S1및 S2로부터 각각의 거리정보 데이터 R1및 R2를 입력한다(41).
이후, 상기 거리정보 데이터로부터 공분산 행렬(42) 및 두 센서의 사영행렬(43)을 구한다. 이 때, 상기 두 센서의 초기 위치는 동일한 것으로 가정한다(44).
이후, 상기 공분산 행렬로부터 센서의 상대적인 위치를 추정한다(45, 46). 즉, 상기 공분산 행렬을 이용하여, 회전변환 행렬 및 이동변환 행렬과 같은 변환식을 구하고(45), 상기 변환식을 이용하여 센서의 상대적인 위치를 구한다(46).
이후, 상기 거리정보 데이터도 변환시키고(47), 상기 변환된 거리정보 데이터로부터 겹치는 영역을 구한다(48). 이후, 상기 겹치는 영역의 범위 내에서 가장 가까운 점의 쌍을 찾는다(49).
이후, 상기 가까운 점의 쌍의 공분산을 구하여, 공분산을 갱신하고(51), 이를 이용하여 변환식을 다시 구한다(45).
상기 과정(45 내지 51)을 정합오차가 소정값 이하로 될 때까지 반복한다(50).
상기 정합오차가 소정값 이하인 경우, 그 때의 변환식에 의하여 변환시킨 거리정보 데이터가 정합된 데이터이다(52).
이하에서는, 본 발명의 정합 방법에 의한 실험 결과와 종래의 ICP 알고리즘에 의한 정합 실험 결과를 비교, 설명한다:
본 발명의 정확성을 검증하기 위하여 가상 레인지 스캐닝 시스템을 구성하여 실험하였다.
본 실험에서, 소(cow) 데이터는 가상의 센서와 가상의 물체를 만들고 광선 추적기법을 이용하여 3차원 데이터와 레인지 거리정보 데이터를 취득하였다. 또한, 얼굴(face) 데이터는 미놀타 비비드(Vivid) 700 레이저 스캔 장비와 보정된 턴테이블을 이용하여 실제로 구하였다.
인텔 펜티엄4 1.6GHz, RAM 512 환경에서 테스트하였다. 두 개의 대상 거리정보 데이터는 Y축으로만 60°회전하여 측정한 후, 센서의 정보나 물체의 변환에 대한 정보를 모른다고 가정한 상태에서 종래의 ICP 알고리즘과 본 발명에 따른 방법으로 정합하였다. 그 결과를 하기 표 1에 나타내었다:
[표 1] 종래의 ICP 알고리즘 및 본 발명에 따른 방법에 의하여 두 개의 거리정보 데이터를 정합한 실험 결과
상기 표 1로부터, 대상 센서에 대한 초기 위치 및 방향 등을 모른다고 가정한 상태에서, 본 발명이 CPU 연산시간, 연산의 반복회수, 및 변환 파라미터의 정확도 측면에서 종래의 ICP 알고리즘에 비하여 상당히 개선되었음을 확인할 수 있다.
상기 각 데이터는 정확하게 한 축으로 60°회전하면서 취득한 데이터이고, 정확한 정합 매개 변수 즉, 회전매개 변수(R) 및 이동매개 변수(T)는 각각
, 및
이다.
도 4a는 가상의 소에 대한 센서의 거리정보 데이터이며, 도 4b는 초기 정합 상태이고, 도 4c는 종래의 ICP 알고리즘을 이용하여 정합한 결과를 도시한 것이다. 가상의 물체인 소 데이터의 경우, 일반적인 ICP 알고리즘은 약 2°의 오차값을 나타내었다. 도 4d는 본 발명에 따라 정합한 결과를 도시한 것이다. 본 발명에 따른 방법은 0.2° 이내의 오차를 나타내었으며, 연산시간과 반복횟수가 상당히 감소되었음을 알 수 있다.
도 5a는 실험에서 사용된 실제 물체(얼굴)이고, 도 5b는 상기 도 5a의 얼굴에 대한 센서의 거리정보 데이터이며, 도 5c는 초기 정합 상태이고, 도 5d는 종래의 ICP 알고리즘을 이용하여 정합한 결과를 도시한 것이다. 실제 물체인 얼굴 데이터에서 종래의 ICP 알고리즘에서는 지역 최소치 문제로 인하여 정확한 오차값을 얻을 수 없었다. 도 5e는 본 발명에 따라 정합한 결과를 도시한 것이다. 본 발명에 따른 방법은 0.2° 이내의 오차를 나타내었으며, 연산시간과 반복횟수가 상당히 감소되었음을 알 수 있다.
도 5f는 본 발명에 따른 정합과 종래의 ICP 알고리즘을 통한 정합 시 반복횟수 및 거리값 오차를 도시한 것이다.
본 발명은 변위 측정 장치나 사용자 입력 등에 의존하지 않고, 임의의 시점에서 측정된 여러 거리정보 데이터를 자동으로 정합할 수 있는 방법에 관한 것이다. 본 발명은 3차원 데이터와 레인지 영상 간의 센서 사영 조건과 교차 사영, 및 공분산 행렬을 이용하여 센서의 초기 위치를 추정하고, 이에 대한 반복 연산을 통하여 정확한 정합 결과를 얻을 수 있으며, 이는 여러 실험을 통하여 확인할 수 있었다.
기존의 ICP알고리즘은 미리 정의된 영역에 대하여 가까운 점 쌍을 찾아서 이들 점간의 거리를 최소화시키는 변환을 구하는 과정을 반복한다. 반면, 본 발명은 사전에 겹치는 영역에 대한 정보가 없는 상태에서, 가까운 점을 정의하는 단계에서 센서의 사영관계를 제약 조건으로 사용하여 두 데이터 간의 가까운 점 쌍이 될 수 없는 점들을 제외시킨다. 즉, 각 반복의 단계마다 센서의 위치는 새롭게 정의되며, 가까운 점들이 될 수 있는 후보점들(겹치는 영역)도 계속해서 새롭게 정의된다. 따라서, 보다 빠른 시간내에 보다 정확한 정합 데이터를 얻을 수 있다.
또한, 본 발명에 따른 방법은 정합 과정에서 사영행렬을 사용함으로써 2차원 영상과 3차원 데이터 간의 텍스처 매핑을 쉽게 수행할 수 있다는 장점이 있다.

Claims (9)

  1. 서로 다른 위치의 센서 S1및 S2로부터 각각 얻은 두 개의 거리정보 데이터 R1및 R2를 하나의 좌표 시스템 내의 3차원 거리정보 데이터로 정합하는 방법에 있어서,
    공분산 행렬을 이용하여 센서의 상대적인 위치를 추정하는 단계(a);
    상기 추정된 센서의 상대적 위치를 초기치로 하여 상기 두 거리정보 데이터를 변환시킨 후, 상기 변환시킨 두 거리정보 데이터 집합 간의 겹치는 영역을 구하는 단계(b);
    상기 겹치는 영역의 범위 내에서 가장 근접한 점(closest point)의 쌍을 찾는 단계(c);
    상기 가장 가까운 점의 쌍으로부터 공분산 행렬을 갱신하는 단계(d); 및
    상기 갱신된 공분산 행렬을 이용하여, 상기 단계(a) 내지 (d)를 반복하는 단계(e)를 포함하는 것을 특징으로 하는 3차원 거리정보 데이터의 정합 방법.
  2. 제 1 항에 있어서,
    상기 단계(a)에서 상기 공분산 행렬은 상기 서로 다른 위치의 센서로부터 얻은 두 개의 거리정보 데이터의 공분산 행렬이거나, 상기 단계(d)에서 갱신한 공분산 행렬인 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서, 상기 공분산 행렬은
    상기 두 거리정보 데이터의 각 중점 또는 상기 겹치는 영역의 범위 내에서 가장 근접한 점의 쌍의 집합의 각 중점 C를 하기 수학식 1에 의하여 구한 후,
    상기 중점 C와 각 점들간의 거리의 분산으로서 하기 수학식 2에 의하여 구한 것임을 특징으로 하는 방법:
    [수학식 1]
    [수학식 2]
    상기식에서,
    V는 상기 거리정보 데이터 또는 상기 겹치는 영역의 범위 내에서 가장 근접한 점의 쌍의 각 점의 3차원 좌표 값이고,
    N은 점의 개수이다.
  4. 제 1 항에 있어서, 상기 단계(a)는,
    상기 공분산행렬로부터 회전변환 행렬 및 이동변환 행렬을 구하는 단계(g); 및
    상기 회전변환 행렬 및 이동변환 행렬로부터 센서의 상대적인 위치를 구하는단계(h)를 포함하는 것을 특징으로 하는 방법.
  5. 제 4 항에 있어서, 상기 단계(g)에서
    상기 회전변환 행렬은 상기 공분산 행렬을 고유치분해하여 구하고,
    상기 이동변환 행렬은 상기 두 거리정보 데이터 또는 가장 근접한 점의 쌍의 중점의 차이로부터 구하는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서, 상기 단계(e)는 정합오차 E가 소정값 이하로 될 때까지 반복되는 것을 특징으로 하는 방법.
  7. 제 6 항에 있어서, 상기 정합오차 E는 하기 수학식 7에 의하여 구하는 것을 특징으로 하는 방법:
    [수학식 7]
    상기식에서,
    Vn1및 Vn2는 각각 상기 겹치는 영역의 범위 내에서 가장 근접한 점의 쌍을 의미하고,
    C2는 센서 S2의 영상 데이터 R2의 중점이며,
    R은 회전변환 행렬이고,
    T는 이동변환 행렬이다.
  8. 제 1 항에 있어서, 상기 단계(a) 이전에, 센서의 초기 위치는 동일한 것으로 가정하는 단계(f)를 더 포함하는 것을 특징으로 하는 방법.
  9. 제 8 항에 있어서, 상기 단계(f)에서 상기 두 센서의 초기 위치는,
    상기 거리정보 데이터의 각 화소 x 및 이에 대응하는 3차원 좌표값 X를 이용하여 Ai행렬(2×12)을 구하는 단계;
    n개의 x에 대하여 모든 X를 이용하여 n개의 Ai행렬(2×12)을 구하고, 이들을 조합하여 A 행렬(2n×12)을 구하는 단계;
    상기 A 행렬을 특이치 분해방법(SVD)을 통하여 UDVT로 분해하는 단계(여기에서, D는 대각행렬이며, 상기 D 행렬의 가장 작은 값에 해당하는 V 행렬의 마지막 열 P가 센서의 사영행렬이다); 및
    상기 사영행렬 P로부터 센서의 위치 S를 하기 수학식 8에 의하여 구하는 단계를 포함하는 것을 특징으로 하는 방법:
    [수학식 8]
    S = M-1p4
    상기식에서, p4는 P행렬의 마지막 열이고,
    행렬 P 는 하기 수학식 8a를 만족한다:
    [수학식 8a]
    P = M[I|M-1p4] = KR[I|-S]
    (여기에서,
    M은 상기 사영행렬 P의 왼쪽의 3×3의 부분행렬로서, M=KR이고,
    K는 내부 파라미터 행렬이며,
    R은 이동변환 행렬이다)
KR10-2003-0028302A 2003-05-02 2003-05-02 센서의 사영행렬을 이용하는 3차원 데이터의 자동 정합 방법 KR100522373B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0028302A KR100522373B1 (ko) 2003-05-02 2003-05-02 센서의 사영행렬을 이용하는 3차원 데이터의 자동 정합 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0028302A KR100522373B1 (ko) 2003-05-02 2003-05-02 센서의 사영행렬을 이용하는 3차원 데이터의 자동 정합 방법

Publications (2)

Publication Number Publication Date
KR20040094230A true KR20040094230A (ko) 2004-11-09
KR100522373B1 KR100522373B1 (ko) 2005-10-20

Family

ID=37373980

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0028302A KR100522373B1 (ko) 2003-05-02 2003-05-02 센서의 사영행렬을 이용하는 3차원 데이터의 자동 정합 방법

Country Status (1)

Country Link
KR (1) KR100522373B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8824775B2 (en) 2009-01-06 2014-09-02 Samsung Electronics Co., Ltd. Robot and control method thereof
KR20140126050A (ko) * 2013-04-22 2014-10-30 삼성전자주식회사 데이터 정합 방법 및 데이터 정합 모듈
KR20150077039A (ko) * 2013-12-27 2015-07-07 한국전자통신연구원 표면 모델 정합 장치 및 방법
KR20190086951A (ko) * 2018-01-15 2019-07-24 주식회사 스트리스 레이저 관측 장비를 이용한 mms의 캘리브레이션을 위한 장치 및 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8824775B2 (en) 2009-01-06 2014-09-02 Samsung Electronics Co., Ltd. Robot and control method thereof
KR20140126050A (ko) * 2013-04-22 2014-10-30 삼성전자주식회사 데이터 정합 방법 및 데이터 정합 모듈
KR20150077039A (ko) * 2013-12-27 2015-07-07 한국전자통신연구원 표면 모델 정합 장치 및 방법
KR20190086951A (ko) * 2018-01-15 2019-07-24 주식회사 스트리스 레이저 관측 장비를 이용한 mms의 캘리브레이션을 위한 장치 및 방법

Also Published As

Publication number Publication date
KR100522373B1 (ko) 2005-10-20

Similar Documents

Publication Publication Date Title
Ishikawa et al. Lidar and camera calibration using motions estimated by sensor fusion odometry
KR100855657B1 (ko) 단안 줌 카메라를 이용한 이동로봇의 자기위치 추정 시스템및 방법
US10684116B2 (en) Position and orientation measuring apparatus, information processing apparatus and information processing method
KR101643079B1 (ko) 데이터를 위치 맞춤하는 방법
Gruen et al. Least squares 3D surface and curve matching
Williams et al. Simultaneous registration of multiple corresponding point sets
CN102472609B (zh) 位置和姿势校准方法及设备
US8824775B2 (en) Robot and control method thereof
Sweeney et al. Solving for relative pose with a partially known rotation is a quadratic eigenvalue problem
JP5627325B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
JP2011192214A (ja) 幾何特徴抽出装置、幾何特徴抽出方法、及びプログラム、三次元計測装置、物体認識装置
JP5615055B2 (ja) 情報処理装置及びその処理方法
JP2003346157A (ja) 物体追跡装置及び方法
Zhou A closed-form algorithm for the least-squares trilateration problem
Li et al. Method to automatically register scattered point clouds based on principal pose estimation
KR100522373B1 (ko) 센서의 사영행렬을 이용하는 3차원 데이터의 자동 정합 방법
Paffenholz et al. Geo-referencing point clouds with transformational and positional uncertainties
Pless et al. Extrinsic calibration of a camera and laser range finder
Giubilato et al. A comparison of monocular and stereo visual FastSLAM implementations
JP2003162549A (ja) 統合された形状モデル生成方法及びコンピュータプログラム
JP2002175521A (ja) 三次元データ処理装置および三次元データ処理方法、並びにプログラム提供媒体
CN113223163A (zh) 点云地图构建方法及装置、设备、存储介质
Tamas et al. 3D map building with mobile robots
JP2000353244A (ja) 基礎行列を求めるための方法、ユークリッド的な3次元情報の復元方法、および3次元情報復元装置。
He et al. Portable 3D visual sensor based indoor localization on mobile device

Legal Events

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

Payment date: 20090928

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee