[건설트렌드] 드론 매핑의 원리(1) – 3차원 매핑은 어떻게 가능한가

2021.05.06

안녕하세요, 엔젤스윙입니다. 지난 포스트에서는 드론 매핑의 전반적인 프로세스와 그 가치에 대해서 알아보았는데요. 이번에는 어떻게 2차원 이미지가 3차원으로 가공되는지, 그 원리에 대해 조금 더 자세히 살펴보도록 하겠습니다.


1.       데이터 수집

​3차원 데이터를 생성하기 위해서는 먼저 드론을 활용하여 2차원의 데이터인 ‘사진’을 수집해야 합니다. 현장 촬영은 아래 과정을 거쳐 진행됩니다.

1-1.  드론 준비

첫 단계는 적절한 드론을 선정하는 것부터 시작합니다. 매핑을 위해서 반드시 최고 사양의 드론이 필요한 것은 아닙니다. 현장의 특성과 사용 목적을 고려해 합리적 가격과 성능을 가진 드론을 준비하는 것이 좋습니다. 가장 대중적으로 사용되는 모델은 DJI 사의 팬텀 4 프로(Phantom 4 pro)로 매핑에 적합한 20M 해상도와 1인치 CMOS 센서, 그리고 기계식 셔터를 갖추고 있습니다.

1-2. 매핑 애플리케이션 선정

드론을 준비한 이후에는 ‘매핑 솔루션’을 선정해야 합니다. ‘매핑 솔루션’이란 드론이 매핑을 할 수 있도록 제어하는 프로그램을 말하는데, 보통 매핑 애플리케이션을 의미합니다. 매핑 애플리케이션은, ‘비행 계획을 설정’하고, ‘비행 중인 드론의 상태를 관리’할 수 있는 시스템입니다. 예를 들어 DJI에서 만든 애플리케이션으로는 GS Pro가 있습니다.  

​1-3. 비행 계획 수립

애플리케이션을 선정한 후에는 비행 계획을 세워야 합니다. 비행 계획은 지역이 논밭 중심의 임야인지, 아파트나 빌딩이 많은 도심인지에 따라서 달라지기도 하고, 지형의 고도 격차나 모양에 따라서도 달라집니다. 특히 매핑할 지역 주변에 높은 구조물이 있다면 충돌 위험이 있으므로, 고도를 설정할 때 반드시 유의해야 합니다.

​다음으로 촬영하고자 하는 영역을 지정하는 작업을 합니다. 이 촬영할 영역은 보통 위성사진을 기반으로 설정하게 되는데, 그렇다보니 오래된 이미지일 가능성이 높고, 실제 위치와 이미지 사이의 오차가 발생하기도 합니다.  보다 정확한 매핑을 위해서는 현장에 직접 방문하여, 설정한 영역과 현장이 일치하는지 확인하는 것이 좋습니다.

비행계획을 한 번 설정해 두면 추후에 동일한 계획을 반복할 수 있기 때문에, 초기에 꼼꼼하게 작업해야 합니다. 그래야 나중에도 데이터를 안정적으로 확보할 수 있습니다.

GS pro 비행계획 설정화면

1-4. 이륙준비 및 촬영

비행 계획이 완료되었다면 이제 기체를 띄우는 일이 남았습니다. 기체 이륙 전에는 먼저 드론의 카메라 짐벌 고정대를 제거했는지, 프로펠러가 제대로 장착되었는지 등 주요 사항을 체크합니다. 사소한 실수가 사고를 부르게 되므로, 언제나 꼼꼼히 확인하는 것이 필요합니다.

그 다음에는 GS pro 등 매핑 애플리케이션이 설치된 기기를 조종기와 연결합니다. 연결 후 각 드론 제조사에서 배포하는 애플리케이션을 통해 장착된 센서 상태를 확인하고, 필요하다면 칼리브레이션(calibration)을 진행합니다. 칼리브레이션이란, 드론의 비전센서나 기압계, 가속도계, 콤파스 등을 교정하는 작업으로, 비행 중 사고를 방지하기 위해 반드시 이상 유무를 확인해야 합니다.

​이 과정까지 완료했다면, 이제 이륙 준비는 끝났습니다. 매핑 애플리케이션을 구동시킨 뒤, 이륙 버튼을 클릭합니다. 이륙한 기체는 애플리케이션에서 명령한 비행 계획에 따라 임무를 수행합니다. 도중에 배터리가 모자랄 경우 자동으로 이륙 지점에 돌아오는 기능(RTH)이 있지만, 안전한 비행을 위해서는 기체의 거리와 배터리 잔량을 파일럿이 직접 체크해야 합니다.

또한 드론 비행 중에는 돌발상황 발생에 대비해 기체에서 눈을 떼지 않는 것이 좋습니다. (참고로 End-Mission action 은 RTH, Return To Home을 설정하시는 게 안전합니다.)

GS pro 이륙기능 화면

1-5. 사진 검수

촬영이 끝난 후, 가급적이면 현장에서 데이터를 검수하는 것이 좋습니다. 흔들리거나 과노출된 사진은 없는지, 찍혀야 하는 지역에 누락된 사진은 없는지 현장에서 확인하면, 나중에 재촬영하는 비용을 줄일 수 있습니다. 참고로 DJI 기체로 촬영한 데이터는 별도의 이름 변경 없이 촬영 순서대로 저장됩니다. 이를 분리하는 작업은 상당히 번거로우므로 항상 촬영 전에 SD카드를 포맷하여 정리하는 것이 좋습니다. 

​1-6. 사진 업로드

데이터 검수가 끝나면 분석 소프트웨어에 업로드합니다. 이 단계에서는 촬영된 사진뿐만 아니라, 현장 GCP 등 분석의 재료가 되는 정보를 입력하게 됩니다. 기존에 많이 알려진 소프트웨어는 모두 해외제품으로 Pix4D, Photoscan 등이 있으며, 국내에서는 엔젤스윙이 제공하는 드론 데이터 플랫폼이 대표적입니다. 사용자는 오프라인과 클라우드라는 각각의 특징을 비교하여 프로젝트의 목적에 맞는 서비스를 선택하게 됩니다. 

2.  데이터 매칭 및 정렬

​지금까지의 과정이 사람이 하는 일이었다면, 이제부터 설명드릴 내용은 데이터 분석 소프트웨어가 하는 역할에 대한 내용입니다. 사용자가 업로드한 사진들을 기반으로, 소프트웨어의 알고리즘은 사진들 간의 공통점들을 분석하고 이를 매칭합니다. 바로 이 매칭 작업의 정확도를 높이기 위해 필요한 것이 사진 간의 중복도입니다.

사진 중복도는 비행 계획 단계에서 설정하는데, 좋은 결과를 내기 위해서는 종중복도와 횡중복도가 모두 70%~80%가량 되도록 촬영하는 편이 좋습니다. 이렇게 매칭된 데이터는 차례로 정렬되는데, 이 과정에서 소프트웨어는 각 사진을 촬영한 위치를 추론하고 실제 위치와 카메라 좌표 간의 오차를 교정합니다.

드론의 비행 계획과 사진 간 중복도를 설명하는 개념도
(사진= Faine Greenwood <Chapter4: how to make maps with drones>)

3. 포인트 클라우드 생성

​카메라의 위치와 내부 카메라 지표를 종합하여 색상 정보 등을 포함한 점을 3차원 공간에 표시합니다. 이를 포인트 클라우드라고 부르며, Structure From Motion이란 기술이 적용되어 2차원의 사진의 특징점들을 삼각측량하여 3차원 공간상에 뿌려 주게 됩니다.

이 단계에서는 포인트 클라우드를 구성하는 점의 수가 적기 때문에 다소 듬성듬성한 모습(Sparse point cloud)을 띠게 됩니다. 더 정교한 모델을 만들기 위해서는 GCP 설정이나 영역 재정의 등 추가 작업이 필요합니다. 하드웨어 성능과 데이터 양에 따라 몇 시간에서 수십 시간까지 프로세싱을 거치면 밀도 높은 포인트 클라우드(Dense point cloud)를 얻을 수 있습니다. 결과의 정확도를 높이기 위해서는 GCP 설정 작업이 반드시 필요한데, 좌표를 보정하는 기준이 되는 점인 GCP는 생성되는 점들의 위치를 정확하게 만들어 줍니다.

이 작업부터는 상당한 양의 리소스가 요구되는데요. 바로 이 지점에서 서비스 양상이 두 가지로 나누어집니다.

먼저, 별도로 소프트웨어를 설치하는 서비스의 경우가 있는데, 이는 워크스테이션급의 고성능 장비가 필요합니다. 그렇지 않으면 많은 양의 데이터를 원활하게 처리하기가 어렵습니다. 두 번째는 클라우드 기반의 서비스입니다. 이 방식은 클라우드 서버 내에서 해당 데이터를 처리하기 때문에, 고성능의 장비 없이도 대용량 데이터를 처리할 수 있습니다.

오프라인 소프트웨어 설치 방식과 클라우드 방식은 모두 나름의 장단점이 있습니다. 전자의 경우 오프라인 상태에서도 데이터를 처리하고 이를 활용할 수 있지만, 고사양 장비를 마련하는 데 비용이 많이 들고 사용자 환경이 어렵다는 단점이 있습니다. 후자의 경우 데이터 접근을 위해 네트워크 연결이 필요하지만, 온라인 상태라면 어디서든 데이터 접근이 가능하고 별도의 프로그램 설치 없이 개인 PC의 웹브라우저상에서 이용할 수 있다는 장점이 있습니다. 

4. 3차원의 다각형 메쉬 생성

​소프트웨어는 생성된 포인트 클라우드를 기반으로 3D 메쉬 데이터를 생성합니다. 이 데이터는 매핑 대상의 표면에 그물을 친 것과 같은 형상을 보입니다. 포인트 클라우드가 점이라면, 3D 메쉬는 그 점들을 연결해 만든 삼각형 면입니다. 메쉬 데이터는 간단한 변환작업을 거쳐 다양한 프로그램과 호환될 수 있으며, 용량이 크기 때문에 3D 메쉬 데이터를 잘 활용하기 위해서는 컴퓨터에 높은 메모리가 있는것이 좋습니다.

3D 모델 생성 원리에 대한 개념도
(사진= Faine Greenwood <Chapter4: how to make maps with drones>)

​5. 텍스쳐 입히기

3D메쉬 데이터에는 선에 대한 정보만 있기 때문에, 정교한 3D 모형을 생성하기 위해서는 텍스쳐를 입혀주어야 합니다. 먼저, 원본 사진으로부터 텍스쳐를 추출합니다. 사진 데이터는 RGB 정보를 담고 있기 때문에, 텍스처 추출이 가능합니다. 다음으로 추출한 정보를 3D메쉬 데이터에 중첩시킵니다. 이런 과정을 거치면 메쉬 데이터로 구성된 3차원 이미지에 실재감을 더하게 됩니다.

6.  완성

이러한 일련의 과정을 거치면 자세한 3D 모델이 생성됩니다. 이렇게 완성된 3D 모델은 프로젝트 목적에 따라 다양하게 활용할 수 있습니다. 문화재를 입체 모형으로 기록하거나 복구하는 작업에 쓰이기도 하고, 사람이 접근하기 어려운 교량의 손상 부위를 파악하는 데 활용하기도 합니다. 지진 등 재난 지역에서는 정사영상을 만들어 피해 양상이나 규모를 분석하기도 합니다. 국토조사 분야라면 지적재조사 사업이나 경계면 파악에 이용되기도 하고, 공사 현장에서는 작업 진행 현황이나 토공량 등을 파악하는 데 사용할 수 있습니다. 

​오늘은 드론으로 촬영한 사진이 어떻게 3D 모델로 만들어지는지 그 과정에 대해서 살펴보았습니다. 드론 매핑이 어떤 과정을 거쳐 결과물로 만들어지는지 이해하는 데 조금이나마 도움이 되었길 바랍니다.

지금 엔젤스윙 뉴스레터를 구독하고 최신 소식을 받아보세요!

엔젤스윙 솔루션에 대해 궁금하다면?

이 이미지는 대체 속성이 비어있습니다. 그 파일 이름은 cta-learn.png입니다


Related Posts