ICP(Iterative Closest Point) registration algorithm에 대해 알아보자.
우선 3D reconstruction 분야에서 registration이란, 서로 다른 좌표계에서 정의된 point cloud를 좌표계 trasformation을 통해 하나의 좌표계로 합쳐 표현하는 '정합'을 의미한다. ICP 알고리즘은 기준 point cloud에 새로운 point cloud를 정합 시키는 방법 중의 하나로, 각 point들의 가장 가까운 점을 이용하여 연관성을 찾고 그에 맞게 rotation, translation matrix를 구해주는 알고리즘이다.
이 알고리즘의 input 데이터로 두 개의 point cloud가 필요하고 output으로는 정합된(aligned) point cloud가 생성된다. ICP 알고리즘은 크게 point-to-point ICP와 point-to-plane ICP가 있고 이 둘에 대해서 알아볼 것이다.
1. point-to-point ICP
일반적으로 ICP 알고리즘은 다음 두 단계를 반복한다.
- target pointcloud P와, transformation matrix T가 곱해진 source pointcloud Q의 correspondence set K={(p,q)}를 구한다.
- correspondece set K에 의해 정의된 objective function E(T)를 최소화하는 transformation matrix T를 업데이트한다.

이 과정을 반복하면서 score값이 특정 범위로 들어오거나, max_iteration 수에 도달하면 반복을 종료한다.
2. point-to-plane ICP
point-to-plane ICP는 조금 다른 objective function을 이용한다. 아래 식에서 n_p는 point p에서의 normal 벡터이다. point-to-plane 방식은 point-to-point 방식에 비해 속도가 빠른 것으로 알려져있다.

3. Colored point cloud registration
Colored point cloud registration은 pointcloud의 기하(geometry)와 컬러(photometry)를 동시에 사용하여 정합하는 방식이다. 이것은 앞선 방식들에 비해 더 정확하고 robust하다. 심지어는 실행 속도도 유사하다.
Colored point cloud registration은 joint optimization objective function이 추가된다. 아래 식에서 Ec와 Eg는 각각 photometric objective function과 geometric objective function이다. 이 두 function에 δ∈[0,1] 계수가 weight parameter로 들어가서 반복을 통해 결정될 것이다.

Eg는 위에서 살펴본 point-to-plane ICP 방식과 같다.

Ec는 점 q의 color와 그 점을 p의 tangent pane에 투영시킨 점의 color difference를 의미한다. 아래 식에서 함수 Cp(.)는 p의 tangent plane에서 연속적으로 정의된 pretrained 함수이며, 함수 f(.)는 3D point를 tangent plane에 투영시키는 함수이다.

'Projects > 3D Reconstruction' 카테고리의 다른 글
| Multiway registration - Pose Graph (0) | 2021.09.23 |
|---|---|
| Global Registration Methods (0) | 2021.09.23 |
| Interpolation (보간법) - linear, bilinear, trilinear (0) | 2021.09.23 |
| 6. Fitting and Matching (0) | 2021.09.21 |
| 5. Structure From Motion (SFM) (0) | 2021.09.21 |
댓글