본문 바로가기

study/임베디드 시스템

Iterative Closest Point(ICP)

https://en.wikipedia.org/wiki/Iterative_closest_point
http://journal.cg-korea.org/archive/view_article?pid=jkcgs-24-5-11

 

출처 : 위키피디아

Iterative closest point (ICP) is an algorithm employed to minimize the difference between two clouds of points.

ICP는 두개의 clouds of points 사이의 차이를 최소화하기 위해 사용되는 알고리즘이다.

Iterative Closest Point가 일부 소스에서는 the Iterative Corresponding Point라고 불리기도 한다.

 

기준 또는 대상인 하나의 point cloud(vertex cloud)는 고정상태로 유지,

다른 하나(source point)는 vertex cloud와 가장 잘 일치하도록 변환된다.

 

이 알고리즘은 error metric(일반적으로 두 point cloud 사이의 거리 (ex)일치된 쌍의 좌표 차이의 제곱합))을 최소화하는 데 필요한 변환(translation and rotation의 조합)을 반복적으로 수행한다. 

 

ICP는 Kabsch 알고리즘은 입력으로 점 집합간의 대응 관계를 추정 변수로 취급해야 한다는 점에서

Kabsch algorithm, 직교 Procrustes 문제에 대한 다른 solutions과 대조된다.

 

단계

  1. 고정상태로 유지시키는 하나의 point cloud에 대해서 다른 point cloud에서 가장 가까운 점을 매칭시킨다.
  2. 회전과 평행이동의 조합을 추정한다.
    1단계에서 찾은 매칭점을 잘 정렬할 수 있는 제곱 평균 point와 point 사이 거리 행렬를 최소화할 수 있는 기술을 사용.. --> 각 대응점의 거리 오차가 최소가 되도록 한다.
    정렬 전에 outlier를 처리하거나 가중치를 줄 point를 사용..? 할 수도 있다.
  3. 얻어진 변환을 사용하여 source point을 변환한다.
  4. 위의 과정을 반복한다.

 

이해한 대로 작성되었기 때문에 내용이 정확하지 않을 수 있습니다.

'study > 임베디드 시스템' 카테고리의 다른 글

Jetson Nano Developer Kit 시작하기  (5) 2021.01.12
SLAM(Simultaneous Localization and Mapping)  (0) 2020.12.26
라이다 센서 기술  (0) 2020.12.26
NVIDIA Jetson Nano & Jetson TX2  (0) 2020.12.23