BIM 칼럼니스트 강태욱의 이슈 & 토크
이번 호에서는 ICP(Iterative Closest Point) 알고리즘 및 실행방법을 설명한다. ICP는 카메라, 라이다 등을 통해 생성된 3차원 점군을 정합해 실내외 지도를 만드는데 핵심적으로 활용되는 알고리즘이다. 대부분의 SLAM(Simultaneous localization and mapping) 알고리즘은 ICP를 응용목적에 따라 수정해 개발한 것이다. 그래서 수학적 계산 모델은 기본적으로 ICP, SLAM 모두 유사하다.
강태욱 | 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 Engineering digest와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다.
이메일 | laputa99999@gmail.com
페이스북 | http://www.facebook.com/laputa999
홈페이지 | https://sites.google.com/site/bimprinciple
팟캐스트 | http://www.facebook.com/groups/digestpodcast
그림 1. SLAM 기반 실시간 3차원 지도 매핑 기술(GeoSLAM)
ICP는 한 대상물에 대해 다른 지점에서 스캔된 두 개의 포인트 클라우드가 있을 경우, 이 두 개의 데이터를 퍼즐처럼 합쳐 정합(registration)하는 알고리즘이다. 반복적으로 가장 근접된 점들을 퍼즐처럼 맞춰주기 때문에 Iterative Closest Point라고 한다.
이번 호에서는 ICP의 개념, 알고리즘 및 간단한 구현 방법을 살펴보고, SLAM과의 차이점을 알아본다. 이 글을 통해 SLAM 알고리즘을 좀 더 깊게 이해할 수 있고, 각자 응용에 따른 로보틱스 기반 실내외 지도 생성 알고리즘 개발 등에 도움이 될 것이다.
그림 2. 점군 자동 정합 과정(GH-ICP 알고리즘 예시 : https://raw.githubusercontent.com/YuePanEdward/GH-ICP/master/img/demo_2.gif)
ICP의 개념
ICP는 카메라, 라이다 등을 통해 생성된 점군을 정합해 실내외 지도를 만드는데 핵심적으로 활용되는 알고리즘이다. 대부분의 SLAM(Simultaneous localization and mapping) 알고리즘은 ICP에서 발전된 것이다. 그래서 수학적 계산 모델은 ICP, SLAM 모두 유사한 면이 많다.
SLAM은 실시간 정합을 위해, 공간 인덱싱 등 속도를 많이 고려하였고, 특징점 추출도 최대한 계산량을 줄일 수 있도록 처리되어 있다.
이전에도 이동체 주반의 맵을 계산하는 현지화(Localization, 로컬라이제이션) 알고리즘에 관성항법시스템(INS) 및 시각 센서를 기반으로 한 자세 추정은 최근 수십 년 동안 널리 연구되었다. INS 추정은 가속도와 각속도를 적분하여 자세와 방향 정보를 추정하는데, 이는 관성 센서의 바이어스와 노이즈로 인해 무한한 누적 오차가 발생하기 쉽다. 카메라 비전 기반 방법은 강력하고 정확한 모션 추정을 얻을 수 있다. 그러나 주변 조명 조건에 취약하다. 능동형 센서인 라이다(LiDAR)는 빛에 대해 불변하다. Velodyne VLP-16(벨로다인 VLP-16)과 같은 일반적인 3D 라이다(3D LiDAR)는 360도 방향에 대해 약 10Hz 스캐닝 속도로 데이터를 획득할 수 있다. 이런 점으로 인해 라이다는 로봇 시스템에서 널리 사용된다.