BIM 칼럼니스트 강태욱의 이슈 & 토크
이번 호에서는 최근 사용 사례가 크게 많아지고 있는 무인 자율로봇의 비전, 사진측량이나 라이다 스캔을 통해 얻은 3차원 포인트 클라우드 데이터를 처리하는 방법을 설명한다.
■ 강태욱 | 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 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. 3D 점군 응용 분야 예(Geospatial World, 2018.11, Surveying and Mapping - From Site to Structure, Realtime 3D Drone Localization with LiDAR
이 분야는 3차원 계산 기하학, 수치해석 등 다양한 기술이 사용된다. 이와 관련된 수많은 라이브러리가 있으나, 이 중에 가장 많이 사용되고 있는 PCL(Point Cloud Library)을 중심으로 내용을 살펴본다. PCL은 3차원 포인트 클라우드 데이터를 다루고 처리하는데 필요한 일반적인 자료구조, 알고리즘을 제공한다. 당연히 특수한 데이터 유형이나 알고리즘은 PCL을 확장해 별도 개발한다. 이를 위해서 관련 데이터 및 클래스 구조, 모듈 아키텍처 분석 내용, 개발 방법을 공유한다.
이번 호에서는 3차원 계산 기하학, 수치해석, 선형대수, 컴퓨터 그래픽스 등 내용은 자세히 설명하지 않는다. 이 라이브러리를 다루기 위해서는 별도로 이와 관련된 내용을 공부할 필요가 있다.
PCL 소개
PCL은 대규모 오픈소스 프로젝트로, 2차원 및 3차원 이미지와 점군 처리를 지원하는 라이브러리이다. 이 라이브러리의 프레임워크는 필터링, 특징 예측, 표면 구성, 정합, 모델 피팅 및 세그먼테이션(segmentation)을 위한 최신 기술을 포함한다. 이러한 알고리즘은 다양한 곳에 사용될 수 있는데, 예를 들면 노이즈 데이터에서 아웃라이어(outliers) 필터링, 3차원 점군 스티치(stitch), 세그먼테이션, 키포인트 추출, 특징 기술자(descriptors) 계산, 표면 재구성 등에 사용된다.
그림 2