반복최근접점알고리즘 (Iterative Closest Point (ICP))

로봇공학
한 줄 정의: 두 점군 사이의 최근접점 대응을 반복적으로 갱신하며 정합 오차를 최소화하는 강체 변환을 추정하는 정합 알고리즘.
반복최근접점알고리즘반복최근접점알고리즘 단계 순서: 초기 정렬 → 최근접점 대응, 최근접점 대응 → 변환 추정, 변환 추정 → 변환 적용, 변환 적용 → 수렴 판정, 수렴 판정 → 최근접점 대응(미수렴 시 반복).초기 정렬두 점군 입력최근접점 대응점마다 가장 가까운 점변환 추정거리 제곱합 최소회전·이동변환 적용수렴 판정오차 변화 작으면 종료미수렴 시 반복12345한계초기 정렬이 나쁘면 국소 최소점에 수렴; 점-평면방식이 더 빠르고 정확

쉽게 풀면

한 점군의 각 점마다 다른 점군에서 가장 가까운 점을 짝지어 준 다음, 그 짝들이 최대한 겹치도록 전체를 조금씩 움직이는 과정을 반복하는 방법입니다.

왜 중요한가

두 점군을 겹치도록 회전·이동을 반복 추정하는 알고리즘으로, 라이다 스캔 매칭, 3D 물체 자세 정밀화, 지도 정합의 표준 도구입니다. 구현이 단순하고 수렴이 빨라 SLAM 프론트엔드와 RGB-D SLAM에서 널리 쓰입니다. 3D 프린팅 출력물의 형상 검사처럼 스캔한 점군을 설계 모델과 정밀하게 겹쳐야 하는 품질검사 응용에서도, 산업 현장 전반에 걸쳐 표준 정합 도구로 쓰인다.

어떤 절차인가

ICP(Iterative Closest Point)는 두 점군을 맞추는 알고리즘으로, Besl과 McKay(1992)와 Chen과 Medioni(1992)가 제안했습니다. 한 번에 정답을 구하는 것이 아니라 아래 두 단계를 수렴할 때까지 반복합니다.

종료 조건은 오차(RMSE) 변화가 작아지거나 반복 횟수 상한입니다. 점-대-점 오차 대신 점-대-평면 오차를 쓰면 보통 수렴이 빠르다고 알려져 있습니다(Rusinkiewicz & Levoy, 2001).

언제 쓰고 무엇을 얻나

ICP는 “처음 위치가 어느 정도 가까워야만” 올바른 해로 갑니다. 이를 보이기 위해 코드로 가상의 2차원 점군(비대칭 ‘F’자 모양, 88개 점)을 만들고, 같은 점군을 θ만큼 돌린 뒤 (0.4, −0.3)만큼 옮겨 시작 위치로 삼아 ICP를 200번 돌렸습니다. 정답 짝과의 RMSE를 재며, 남는 0.08 안팎은 점 간격 때문에 생기는 값이라 수렴으로 봅니다.

처음 어긋난 각도시작 RMSE200회 후 RMSE
10°0.370.08 (수렴)
30°1.240.08 (수렴)
60°2.690.08 (수렴)
90°3.990.08 (수렴)
120°5.010.08 (수렴)
150°5.693.25 (잘못된 해에 정지)
180°5.993.26 (잘못된 해에 정지)

이 예에서는 처음 각도가 120° 이하일 때 수렴했고, 그보다 크면 잘못된 해(지역 최솟값)에 멈췄습니다. 형태와 노이즈에 따라 한계는 달라지므로 이 값 자체는 일반 기준이 아닙니다. 그래서 실제 파이프라인에서는 특징 매칭(점군 정합의 전역 정합)으로 초기값을 주고 ICP로 다듬는 순서를 많이 씁니다.

논문에는 이렇게 적는다

논문의 방법 절에는 다음을 적습니다.

논문에서는 이렇게 쓰입니다

실제 논문에서

이 용어를 직접 쓴 국내 논문 문장을 아직 수집하지 못했습니다. 수집되는 대로 출처와 함께 싣겠습니다.

예시 문장

아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.

ICP는 대응점 집합을 갱신하는 단계와 대응점 간 거리 제곱합을 최소화하는 변환을 계산하는 단계를 수렴할 때까지 번갈아 반복하는 알고리즘이다.

'가장 가까운 점끼리 짝짓기'와 '그 짝이 겹치도록 이동·회전하기'를 계속 반복하면 두 점군의 어긋남이 점점 줄어든다는 뜻입니다.

"반복최근접점알고리즘은 초기 정합 오차가 크지 않은 경우 점군 데이터 간 강체 변환을 안정적으로 수렴시킨다."

초기 정합 조건에 따른 알고리즘 수렴 특성을 보여준다.

조금 더 깊게 보면

초기 정렬이 실제 해에 충분히 가까워야 하며, 그렇지 않으면 국소 최소점에 빠져 잘못된 자세에 수렴하므로 전역 정합이나 특징 매칭으로 초기값을 주어야 합니다. 점 대 점 방식보다 점 대 평면 방식이 수렴이 빠르고 정확하며, 두 점군이 부분적으로만 겹칠 때 겹치지 않는 영역의 대응을 거부하는 처리가 실용 성능을 좌우합니다.

ICP는 대응점 갱신과 변환 계산을 번갈아 반복하는 기댓값 최대화(EM) 알고리즘의 한 형태로 볼 수 있으며, 각 반복에서 정합 오차가 단조롭게 감소함은 보장되지만 그 수렴점이 전역 최적이라는 보장은 없다.

두 점군이 부분적으로만 겹치는 경우 겹치지 않는 영역의 점들이 억지로 대응되면서 오차를 키우므로, 일정 거리 이상 떨어진 대응은 제외하는 이상치 거부 규칙이 실용적으로 중요하다.

주의할 점

초기 추정치가 좋지 않으면 지역 최솟값에 수렴해 잘못된 정합 결과를 낼 수 있어 좋은 초기값 제공이 중요합니다.

점 대 점 방식은 평면처럼 한 방향으로 특징이 없는 영역에서 그 방향의 정렬이 결정되지 않는 모호함을 가져, 점 대 평면 방식보다 수렴이 느리거나 부정확할 수 있다.

헷갈리기 쉬운 용어

정합 방법은 목적과 필요한 초기값이 다릅니다.

방법핵심초기값 의존성
ICP최근접점 대응을 반복해 변환 갱신큼(근처에서 시작해야 함)
특징 기반 정합특징 기술자로 대응을 찾고 강건 추정작음(전역 정합)
점군 정합 일반점군을 하나의 좌표계로 맞추는 문제 전체방법에 따라 다름

참고 문헌

  1. Besl, P. J., & McKay, N. D. (1992). A method for registration of 3-D shapes. IEEE Transactions on Pattern Analysis and Machine Intelligence, 14(2), 239–256.
  2. Chen, Y., & Medioni, G. (1992). Object modelling by registration of multiple range images. Image and Vision Computing, 10(3), 145–155.
  3. Arun, K. S., Huang, T. S., & Blostein, S. D. (1987). Least-squares fitting of two 3-D point sets. IEEE Transactions on Pattern Analysis and Machine Intelligence, 9(5), 698–700.
  4. Rusinkiewicz, S., & Levoy, M. (2001). Efficient variants of the ICP algorithm. Proceedings of the Third International Conference on 3-D Digital Imaging and Modeling.

표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.

개념 계통

상위 개념
같은 갈래

분야 전체 개념 지도 보기 →