2015년 7월 27일 월요일

Photogrammetry 기반 3D 포인트 클라우드(point cloud) 추출 방법

사진 측량술 (Photogrammetry) 을 이용한, 3차원 포인트 클라우드 추출 방법에 대해 글을 남긴다. 이 기술은 크게 두 가지 기술로 나눌 수 있는 데, 여러장의 사진 기반으로 3차원 모델을 추출하는 방법과 스테레오 이미지 기반으로 3차원 모델을 추출하는 방법이 있다.

첫번째 방법은 내부적으로 이미지의 특징점 추출 기능, 이미지 간 특징점 매칭 기술, 깊이맵 포인트 클라우드 추출 기능으로 구성된다.

두번째 방법은 사진 측량 기반 3차원 모델 추출 방법 중 또 다른 하나가 있다. 스테레오 스코픽 기반 깊이맵 계산 기법으로, 두개의 카메라를 하나의 대상에 대해 촬영하고, 삼각측량과 유사한 방식으로, 특징점의 깊이값을 계산한다. 특징점간 픽셀들의 깊이는 먼저 얻은 값들로 보정한다.

이와 관련된 알고리즘은 오픈되어 있으나, 개발하는 것이 쉽지는 않다. 그리고, 이미 오픈된 툴이 있어, 이를 적절히 사용하면, 좋은 결과를 얻을 수 있다.

본인이 작업해 본 결과, 사진 기반 이미지 스캔을 할 경우, 다음과 같이 촬영하는 것이 모델의 정밀도를 높일 수 있는 방법이다.

첫째, 촬영하는 모델을 중심으로 카메라가 360도 회전하면서 한장식 촬영하는 것이 좋다.
둘째, 카메라와 모델 간 거리가 일정한 것이 좋다.
셋째, 촬영된 사진들은 서로 1/3 정도 겹치도록 찍는 것이 좋다.
네째, 모델의 높이도 최소한 2등분하여, 하단부, 상단부를 360도 회전하면서 찍어야 한다.

앞의 경우를 만족하지 못하면, 추출된 3차원 모델은 좌우상하 비율이 안맞거나, 모델 일부가 유실될 경우가 많다. 본인이 실험한 결과로는 사진 측량 기반 3차원 모델 추출은 360도로 회전해 촬영할 수 있는 경우가 아니라면, 그 효과가 높지 않다.

1. Autodesk 123D 
Autdodesk 123D는 Autodesk에서 무료로 제공하고 있는 3D 모델 캡쳐 서비스이다. 아이폰, 안드로이드, 윈도우 버전이 제공된다.

Autodesk 123D

이 서비스의 장점은 스마트폰만 가지고 있으면, 3차원 모델을 손쉽게 얻을 수 있다는 것이다. PC버전도 있으나, 불편하다. 단점은 스마트폰에서 가이드된 대로만 촬영해야, 3차원 모델이 잘 나온다는 것이다. 일반 카메라로 찍었을 경우에는 반듯이 스마트폰에서 가이드된 방식대로 촬영해야지 된다. 참고로, PC버전은 불안정해 다운될 때도 많다. 촬영을 잘 했을 때 정밀도는 1~2센티미터 정도이다. 반사 재질일 경우, 특징점을 계산하지 못하므로, 해당 부분에 대한 3차원 포인트 클라우드는 추출하지 못한다.

2. VisualVSFM
사진 측량 기술 기반으로 한 툴로, 다양한 오픈소스를 이용해 개발된 것이다. 장점은 스마트폰에서 촬영된 것이 아니라도, 촬영한 이미지를 입력하면, 이들의 특징점, 특징점간 관계 등을 추출하여, 3차원 모델을 만들어 준다. 다만, 다른 도구보다 훨씬 많은 시간이 소요된다. 간단히 찍은 이미지들에서 모델을 추출하는 데, 3~4시간이상 걸리는 경우가 많다.




VisualVSFM

관련 레퍼런스는 다음과 같다. 
3. Pix4D
상용 소프트웨어이고, 일주일간 무료로 사용할 수 있다. 장점은 123D처럼 스마트폰으로만 이미지를 찍을 필요가 없으며, VisualVSFM처럼 3차원 모델을 추출하는 데 오랜 시간이 걸리지도 않는다. 단점은 일주일만 무료로 사용할 수 있으며, 상용은 가격이 꽤 비싸다는 것이다(천만원대). 역시, 이미지 기반 3차원 모델 추출 방식은 오차가 레이저 스캔에 비해 많다. Pix4D는 이를 개선하고자, GPS정보등을 사용한다. 이 경우, mm 수준으로 오차를 줄일 수 있다고 업체에서는 홍보하고 있다. 하지만, GPS신호가 없는 실내의 경우, cm 정도 오차를 가진다. 
다음은 실제 MEP 설비 장비를 고해상도 카메라로 촬영해, 이 이미지들에서 3차원 모델을 추출한 예이다. 



한국건설기술연구원 본관 지하 1층 MEP 설비 일부 
4. 3차원 모델 추출 RGB-D 카메라 
위 도구가 아니라, 직접 물체에 적외선을 주사해 반사된 값으로 3차원 좌표값들을 추출할 수 있는 RGB-D 카메라 장치를 사용하면, 앞서 언급된 방법보다 훨씬 정밀한 값을 얻을 수 있다. 이런 장치들은 보통 정밀도가 mm단위로 측정된다. 다만 정밀도에 따라 매우 비싸거나(최소 몇백만원 이상), 측정거리가 짧고 정밀도가 낮거나(키넥트 등), 적외선 파장이 간섭이 일어나는 야외에서 활용이 어려울 수 있다.

다음은 이런 장치를 소개한 글이다. 

5. 마무리
센서와 처리 소프트웨어는 역시 비싼만큼 정밀도가 높아지고, 처리속도도 빨라진다. 하지만, 응용 목적에 따른 정밀도나 처리 속도가 크게 문제되지 않는다면, 위의 무료 도구들을 이용해 볼 수 있다. 





댓글 없음:

댓글 쓰기