이 문서는 APM Copter 를 사용한 멀티 곱터를 사용하여 3D 매핑에 필요한 하드웨어 및 소프트웨어에 대한 내용을 다루고 있습니다.
원문은 http://copter.ardupilot.com/wiki/common-3d-mapping/ 입니다. 그냥 쉽게 생각해서... 한 3-400 만원 정도면 3D 매핑까지 가능한 시스템을 구성할 수 있을 것 같네요.
개요
이 페이지는 Copter/Plane 과 적당한 장비를 사용하여 3D 지도를 제작하는 방법을 소개하는 내용입니다.
위 영상은 Sylvain 씨가 제작한 "the fallen blockhouse" 로서, 2014년 T3 경진대회 당선작입니다. 여기를 누르시면 3D 모델을 볼 수 있습니다.
필요한 장비
디지털 카메라
S100, S110, Elph 110 HS and SX230HS 등의 CHDK가 가능한 캐논 카메라
Canon ELPH 520 HS 등, CHDK는 지원하지 않지만 카메라 셔터를 처리하는 방법이 있는 카메라
GoPro의 경우 어안렌즈를 사용하므로 비추
하방향 짐벌 또는 기체에 카메라를 장착할 수 있는 마운트
샘플 작업
60~100 장의 사진이 있으면 좋은 3D 렌더링이 가능하다. 인접한 사진간에는 최소한 65% 이상 중복되어야 하는데, 80% 이상 을 목표로 촬영하는 것이 좋다. 항공사진에 지상에서 촬영한 사진을 추가할 수도 있다.
촬영고도는 주제에 따라 달라진다. 넓고 평평한 지역의 경우, 고도 40m - 80m 정도로 촬영하면 아주 상세한 영상 (따라서 상세한 최종결과물)을 얻을 수 있다. 하지만, 건물의 경우에는 고도를 더 높여야만 (건물로부터 100미터 이상) 왜곡을 줄일 수 있다.
트랙간의 간격은 25미터 에서 100미터 간격으로 촬영하는 것이 좋다. 기체 고도가 높을 수록 트랙간 간격은 더 멀어지게 된다. 일반적으로 트랙간 간격은 65% 정도 중복되도록 설정하면 좋다.
작업도중에 카메라 셔터가 자동으로 작동되어야 한다.(2초간격 5초간격 혹은 10미터 간격 등) 많은 카메라에는 일정한 시간 간격으로 사진을 촬영하는 기능이 있다. CHDK를 탑재한 캐논 카메라의 경우 이러한 기능을 수행하는 script를 실행시킬 수 있다. 또다른 방법으로, Copter/Plane/Rover 가 CHDK를 탑재한 캐논 카메라에 대해 시간기준/거리기준 으로 셔터를 터트리도록 설정할 수도 있다.
이러한 작업에는 다음과 같은 명령어가 사용된다.
- TAKEOFF - "Alt" 열에 주어진 목표 높이(통상 meter)로 기체를 띄워 올림
- WAYPOINT - 촬영지역을 나르는데 필요한 지점을 가능한 한 많이 격자형태로 만들어줌. 고도는 "Alt" 열에 입력해야 함. Delay 열에 "1"을 추가하면 각 지점에 도착할 때 기체가 1초간 정지한다.
- DO_DIGICAM_CONTROL - APM/Pixhawk 가 CHDK 혹은 servo를 사용하여 연결되었을 경우, 카메라 셔터가 즉시 눌러지도록 함.
- DO_TRIGG_DISTANCE - 카메라 셔터가 일정간격(미터)마다 터지는 것 외에는 DO_DIGICAM_CONTROL과 동일함. 여기에서 거리는 "Dist (m)" 이라는 첫번째 열에 정의된다. 참고: AC3.1.2에서는 이 명령을 정지시키는 명령이 없으므로, 기체가 AUTO 모드에서 빠져 나올때까지 계속해서 셔터가 눌러지게 된다.
- RETURN_TO_LAUNCH - 작업에서의 마지막 명령으로 기체가 원위치로 돌아옴.
- DO_SET_ROI - 기체의 앞방향 및 짐벌의 방향을 지도상의 특정한 한점을 가르키는데 사용됨. 참고; AC3.1.2에서는 기체가 Waypoint를 지나면 다음 Waypoint를 가르키게 되므로, 한 점을 계속해서 가르키도록 하고자 할 경우에는 각각의 Waypoint 마다 DO_SET_ROI 명령을 반복하여 사용하여야 한다. AC3.2에서는 이러한 작업이 필요하지 않도록 기능이 수정되었다.
추천하는 Desktop용 3D 매핑 소프트웨어
- MicMac 기반의 toolchain. ImageJ/Fiji, QGIS, SAGA GIS 등과 함께 사용). 오픈소스. 무료
- VisualSFM : 상업용이 아닌 경우 무료
- Photoscan : 표준 버전 $179. 지오레퍼런싱, 정사사진 제작등을 포함한 프로 버전은 $3,499
- Pix4D : 6500 유로 혹은 매월 260 유로
- OpenDroneMap : 오픈소스, 무료
이 모든 소프트웨어들은 작동방법이 상당히 비슷하다. 즉, 기체에서 촬영한 사진 (지상에서 손으로 촬영한 사진도 추가할 수 있음)을 입력하면 3D 영상을 생성한다. 그 모든 영상을 자동으로 매칭하는데, 사진이 촬영된 실제위치는 필요없다.
모델의 공유
- Sketchfeb : 완성된 3D 모델을 올릴 수 있으며, 다른 사람들은 웹브라우저를 통해 대화식으로 모델을 볼 수 있다. 이 글 맨위에 있는 이미지가 그 예이다.
- Three.js : 사용자의 웹페이지에 3D 모델을 올릴 수 있다.
- Blender : 3D 모델을 사용하여 가상 fly-through 비디오를 생성할 수 있으며, 유튜브에 올릴 수 있다. Richard 의 작품이 그 예이다.
- Dronemapper : 원시 영상을 올리고 관리할 수 있다.
기타 문서 및 예제
- T3 season 2 – “the model” blog post and winner announcement
- Sylvain’s “fallen blockhouse” T3 entry blog post
- Thorsten’s “resconstruction of largest hallstatt tumulus grave” T3 entry blog post
- Stephen Gienow’s “Octocopter scan of UMBC” T3 entry blog post
- Krasiczyn Castle 3D model, Poland
- MyDrone’s “Buisante Chapel” T3 entry
- Creating Maps from Drone Imagery – 3DRobotics and Aero drone
- Ecosynth wiki – a suite of tools used to map vegetation in 3d using off-the-shelf digital cameras and open-source computer vision software
- Triggering non-CHDK cameras from Pixhawk