반복최근접점알고리즘 (Iterative Closest Point (ICP))
쉽게 풀면
한 점군의 각 점마다 다른 점군에서 가장 가까운 점을 짝지어 준 다음, 그 짝들이 최대한 겹치도록 전체를 조금씩 움직이는 과정을 반복하는 방법입니다.
왜 중요한가
두 점군을 겹치도록 회전·이동을 반복 추정하는 알고리즘으로, 라이다 스캔 매칭, 3D 물체 자세 정밀화, 지도 정합의 표준 도구입니다. 구현이 단순하고 수렴이 빨라 SLAM 프론트엔드와 RGB-D SLAM에서 널리 쓰입니다. 3D 프린팅 출력물의 형상 검사처럼 스캔한 점군을 설계 모델과 정밀하게 겹쳐야 하는 품질검사 응용에서도, 산업 현장 전반에 걸쳐 표준 정합 도구로 쓰인다.
어떤 절차인가
ICP(Iterative Closest Point)는 두 점군을 맞추는 알고리즘으로, Besl과 McKay(1992)와 Chen과 Medioni(1992)가 제안했습니다. 한 번에 정답을 구하는 것이 아니라 아래 두 단계를 수렴할 때까지 반복합니다.
- 대응 찾기: 움직일 점군(원본)의 각 점에 대해 기준 점군에서 가장 가까운 점을 짝으로 정합니다.
- 변환 구하기: 짝지은 점들 사이 거리 제곱합을 최소로 하는 회전 R과 이동 t를 구합니다(보통 SVD 기반 폐쇄해, Arun 외, 1987). 원본에 이 변환을 적용합니다.
종료 조건은 오차(RMSE) 변화가 작아지거나 반복 횟수 상한입니다. 점-대-점 오차 대신 점-대-평면 오차를 쓰면 보통 수렴이 빠르다고 알려져 있습니다(Rusinkiewicz & Levoy, 2001).
언제 쓰고 무엇을 얻나
ICP는 “처음 위치가 어느 정도 가까워야만” 올바른 해로 갑니다. 이를 보이기 위해 코드로 가상의 2차원 점군(비대칭 ‘F’자 모양, 88개 점)을 만들고, 같은 점군을 θ만큼 돌린 뒤 (0.4, −0.3)만큼 옮겨 시작 위치로 삼아 ICP를 200번 돌렸습니다. 정답 짝과의 RMSE를 재며, 남는 0.08 안팎은 점 간격 때문에 생기는 값이라 수렴으로 봅니다.
| 처음 어긋난 각도 | 시작 RMSE | 200회 후 RMSE |
|---|---|---|
| 10° | 0.37 | 0.08 (수렴) |
| 30° | 1.24 | 0.08 (수렴) |
| 60° | 2.69 | 0.08 (수렴) |
| 90° | 3.99 | 0.08 (수렴) |
| 120° | 5.01 | 0.08 (수렴) |
| 150° | 5.69 | 3.25 (잘못된 해에 정지) |
| 180° | 5.99 | 3.26 (잘못된 해에 정지) |
이 예에서는 처음 각도가 120° 이하일 때 수렴했고, 그보다 크면 잘못된 해(지역 최솟값)에 멈췄습니다. 형태와 노이즈에 따라 한계는 달라지므로 이 값 자체는 일반 기준이 아닙니다. 그래서 실제 파이프라인에서는 특징 매칭(점군 정합의 전역 정합)으로 초기값을 주고 ICP로 다듬는 순서를 많이 씁니다.
- 얻는 것: 정밀한 강체 정합(센서 자세 추정, 3D 스캔 병합, 의료영상 정합). SLAM의 스캔 매칭에도 쓰입니다(SLAM).
- 한계: 초기값 의존, 부분 겹침에서 잘못된 대응, 아웃라이어(이상점)에 민감, 대응 탐색 비용
논문에는 이렇게 적는다
논문의 방법 절에는 다음을 적습니다.
- 사용한 변형(점-대-점/점-대-평면, 가중·거부 규칙), 대응 탐색 방법(k-d 트리 등)
- 초기값을 어떻게 얻었는가
- 종료 조건(반복 횟수, 오차 임계값)과 평가 지표(RMSE 등)
- 아웃라이어 처리와 겹침 비율
논문에서는 이렇게 쓰입니다
실제 논문에서
이 용어를 직접 쓴 국내 논문 문장을 아직 수집하지 못했습니다. 수집되는 대로 출처와 함께 싣겠습니다.
예시 문장
아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.
'가장 가까운 점끼리 짝짓기'와 '그 짝이 겹치도록 이동·회전하기'를 계속 반복하면 두 점군의 어긋남이 점점 줄어든다는 뜻입니다.
초기 정합 조건에 따른 알고리즘 수렴 특성을 보여준다.
조금 더 깊게 보면
초기 정렬이 실제 해에 충분히 가까워야 하며, 그렇지 않으면 국소 최소점에 빠져 잘못된 자세에 수렴하므로 전역 정합이나 특징 매칭으로 초기값을 주어야 합니다. 점 대 점 방식보다 점 대 평면 방식이 수렴이 빠르고 정확하며, 두 점군이 부분적으로만 겹칠 때 겹치지 않는 영역의 대응을 거부하는 처리가 실용 성능을 좌우합니다.
ICP는 대응점 갱신과 변환 계산을 번갈아 반복하는 기댓값 최대화(EM) 알고리즘의 한 형태로 볼 수 있으며, 각 반복에서 정합 오차가 단조롭게 감소함은 보장되지만 그 수렴점이 전역 최적이라는 보장은 없다.
두 점군이 부분적으로만 겹치는 경우 겹치지 않는 영역의 점들이 억지로 대응되면서 오차를 키우므로, 일정 거리 이상 떨어진 대응은 제외하는 이상치 거부 규칙이 실용적으로 중요하다.
주의할 점
초기 추정치가 좋지 않으면 지역 최솟값에 수렴해 잘못된 정합 결과를 낼 수 있어 좋은 초기값 제공이 중요합니다.
점 대 점 방식은 평면처럼 한 방향으로 특징이 없는 영역에서 그 방향의 정렬이 결정되지 않는 모호함을 가져, 점 대 평면 방식보다 수렴이 느리거나 부정확할 수 있다.
헷갈리기 쉬운 용어
정합 방법은 목적과 필요한 초기값이 다릅니다.
| 방법 | 핵심 | 초기값 의존성 |
|---|---|---|
| ICP | 최근접점 대응을 반복해 변환 갱신 | 큼(근처에서 시작해야 함) |
| 특징 기반 정합 | 특징 기술자로 대응을 찾고 강건 추정 | 작음(전역 정합) |
| 점군 정합 일반 | 점군을 하나의 좌표계로 맞추는 문제 전체 | 방법에 따라 다름 |
참고 문헌
- 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.
- Chen, Y., & Medioni, G. (1992). Object modelling by registration of multiple range images. Image and Vision Computing, 10(3), 145–155.
- 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.
- Rusinkiewicz, S., & Levoy, M. (2001). Efficient variants of the ICP algorithm. Proceedings of the Third International Conference on 3-D Digital Imaging and Modeling.
표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.