DOI QR코드

DOI QR Code

Automatic Building Modeling Method Using Planar Analysis of Point Clouds from Unmanned Aerial Vehicles

무인항공기에서 생성된 포인트 클라우드의 평면성 분석을 통한 자동 건물 모델 생성 기법

  • Kim, Han-gyeol (Image Engineering Research Center, 3DLabs Co., Ltd.) ;
  • Hwang, YunHyuk (Image Engineering Research Center, 3DLabs Co., Ltd.) ;
  • Rhee, Sooahm (Image Engineering Research Center, 3DLabs Co., Ltd.)
  • 김한결 ((주)쓰리디랩스 영상공학연구소) ;
  • 황윤혁 ((주)쓰리디랩스 영상공학연구소) ;
  • 이수암 ((주)쓰리디랩스 영상공학연구소)
  • Received : 2019.12.11
  • Accepted : 2019.12.23
  • Published : 2019.12.31

Abstract

In this paper, we propose a method to separate the ground and building areas and generate building models automatically through planarity analysis using UAV (Unmanned Aerial Vehicle) based point cloud. In this study, proposed method includes five steps. In the first step, the planes of the point cloud were extracted by analyzing the planarity of the input point cloud. In the second step, the extracted planes were analyzed to find a plane corresponding to the ground surface. Then, the points corresponding to the plane were removed from the point cloud. In the third step, we generate ortho-projected image from the point cloud ground surface removed. In the fourth step, the outline of each object was extracted from the ortho-projected image. Then, the non-building area was removed using the area, area / length ratio. Finally, the building's outer points were constructed using the building's ground height and the building's height. Then, 3D building models were created. In order to verify the proposed method, we used point clouds made using the UAV images. Through experiments, we confirmed that the 3D models of the building were generated automatically.

본 논문에서는 저비용으로 생성할 수 있는 무인항공기 기반의 포인트 클라우드를 사용하여 평면성 분석을 통해 지면과 건물 영역을 분리하고 자동으로 건물 모델을 생성하는 방법을 제안한다. 제안하는 방법은 총 다섯 단계로 구성된다. 첫 단계에서는 입력되는 포인트 클라우드의 평면성을 분석하여 포인트 클라우드를 구성하는 평면들을 추출하였다. 두 번째 단계에서는 추출된 평면들을 분석하여 지표면에 해당하는 평면을 찾고 포인트 클라우드에서 해당 평면 기준으로 포인트들을 제거하였다. 세 번째 단계에서는 지표면이 제거된 포인트 클라우드를 정사 투영하여 영상을 제작하였다. 네 번째 단계에서는 정사 투영된 영상에서 각각의 객체의 외곽선을 추출하고 외곽선의 넓이와 넓이, 길이 비율을 이용하여 건물 불인정 영역을 제거하였다. 마지막 단계에서는 건물의 지표면 높이와 건물의 높이를 이용하여 건물의 외곽점을 구성하고 3D 건물 모델을 생성하였다. 제안한 방법을 검증하기 위하여 무인항공기 영상을 이용해 제작된 포인트 클라우드를 사용하였으며, 실험을 통해 제안 기법을 통해 무인항공기 기반 포인트 클라우드에서 자동으로 건물의 3D 모델이 생성 가능함을 확인하였다.

Keywords

1. 서론

최근 정보통신 기술의 발전으로 스마트 시티와 같은 3차원 도시 모델 개발 기술의 수요가 점차 증가하고 있으며, 이에 따라 건물과 같은 3차원 객체 모델 생성 기술의 필요성도 함께 증가하고 있다.

3차원 객체 모델은 일반적으로 메시 모델(Meshmodel)과 솔리드 모델(Solid model) 등의 형태로 제공되고 있다 (Yoon et al., 2019). 일반적으로 메시 모델은 포인트 클라우드를 이용하여 생성하는 방법이 연구되고 있으며, 솔리드 모델은 주로 수치지도와 같은 2D 자료를 이용하여 생성하는 방법을 주로 사용하나 최근에는 포인트 클라우드를 이용한 연구들이 활발히 이루어지고 있다. 수치지도와 같은 2D 자료를 가공하여 생성하는 방법은 도면에 존재하는 건물의 외곽정보에 높이값을 부여하여 솔리드 모델을 생성하는 방법으로 적용되며, 기관이나 지자체 등에서 수동 추출을 위한 기반 자료로 널리 활용되고 있다(Ham, 2019). 그러나 지도 정보를 활용하는 자료 특성상한 지역의 자료 생성 및 갱신 주기가 길기 때문에 새로 지어진 건물의 경우에는 3차원 모델링 이 불가능하며, 건물 모델의 높이를 획득할 수 없는 경우 실제 높이가 아닌 건물 층수에 평균 층별 높이를 곱한 값을 이용하는 등 실제 값과는 차이가 있는 모델의 높이를 사용한다는 한계점이 있다. 포인트 클라우드를 가공하여 3차원 객체 모델을 생성하는 방법은 포인트 클라우드에서 건물의 꼭지점을 수동 추출하여 건물의 형상을 생성하고 텍스처를 입히는 연구와 포인트 클라우드를 삼각망 보간과 같은 보간 기법을 이용하여 3D 건물 모델을 구성하는 연구가 보고되었다(Wu et al., 2017). 보간을 통해 생성된 3D 건물 모델을 메시 모델이라고 하며, 메시 모델은 포인트 클라우드의 위치정보가 잘 반영된다는 강점이 있으나, 텍스처 정보는 포인트에 부여된 밝기값을 보간하여 생성되므로 확대 시 텍스처 정보가 실감형과 거리가 있으며, 처리속도와 용량이 매우 크다는 단점이 있으며, 이는 용량이 작은 건물 솔리드 모델을 요구하는 최근 수요와는 거리가 있다. 또한 Nan and Wonka(2017)는 포인트 클라우드의 평면성 분석을 통해 건물 포인트 클라우드를 이루고 있는 평면들을 추출하고, 평면들의 교차점을 계산하여 건물 모델을 생성하는 방법을 제안하였다. 이와 같이 포인트 클라우드를 가공하여 3차원 객체 모델을 생성하는 방법의 경우, 객체를 지면과 같은 비객체 포인트 클라우드와 분리해야 하고 각각의 객체들 사이의 분리 작업과 같은 선행 작업이 필요하다. 또한 대부분 측량과 동시에 포인트 클라우드 취득이 가능하고 안정된 점밀도로 데이터 획득이 가능한 LiDAR(Light Detection and Ranging) 자료를 기반하여 연구가 수행되었기 때문에, 무인항공기 영상의 정합을 통해 생성된 포인트 클라우드와 같이 LiDAR에 비해 안정적으로 포인트 획득이 어렵고 상대적으로 노이즈가 많이 포함된 데이터의 경우 적용이 어려울 수 있다.

무인항공기 영상을 활용한 사진 측량 기술을 적용할 경우, 자료 획득에 비용이나 시간이 많이 걸리는 기존 기법들에 비해 상대적으로 적은 제약 하에 저비용으로 공간정보 생산이 가능하다는 장점에 따라 전세계적으로 공간정보 산업에 활용되고 있다(Remondino et al., 2011). 이에 무인항공기 영상으로 정확한 3차원 공간정보를 생성하기 위한 정밀 센서모델 수립, 포인트 클라우드 생성 기법들이 연구되고 있다. 무인항공기 영상의 정밀 센서모델 수립을 위한 기법은 SfM(Structure from Motion)이 연구되어 활발히 사용되고 있으며(Turner et al., 2012), 사진측량의 공선방정식을 이용한 IBA(Incremental Bundle Adjustment) 기법이 제안(Rhee et al., 2018)되는 등 활발한 연구가 진행되고 있다. 무인항공기 영상을 이용한 포인트 클라우드 생성 기술의 경우 SGM(Semi-Global Matching)와 MDR(Multi-Dimensional Relaxation)과 같은 영상 정합 기법들이 연구되어 (Halla and Rothermel, 2012; Rhee and Kim, 2016) 무인항공기 영상에서도 높은 품질의 포인트 클라우드의 추출이 가능해졌다. 또한 무인항 공기 영상의 경우 타 플랫폼에 비해 대상물에 인접하여 촬영하기 때문에, 건물의 형태 및 고화질의 텍스처 추출에 용이하며, 무인항공기 기반의 포인트 클라우드로 모델을 만듦으로써 건물 모델 생성과 동시에 모델의 각 벽면에 해당하는 텍스처를 무인항공기 영상으로부터 추출하여 적용할 수 있다는 장점이 있다.

이에 본 연구에서는 기존 기법들의 장점을 활용하고 한계점을 보완하기 위하여, 적은 비용으로 손쉽게 데이터를 획득할 수 있으며, 신규 건물이나 차폐지역에 대한 손쉬운 데이터 획득이 가능한 무인항공기 영상 기반의 포인트 클라우드를 이용하여, 지면과 건물을 분리하고, 건물을 객체 별로 분리, 포인트 클라우드의 높이값을 계산하여 자동으로 건물의 3D 모델을 생성하는 기법을 제안한다. 제안 기법의 검증을 위해 무인항 공기 영상을 이용해 상용 SW로 제작한 포인트 클라우드를 사용했으며, 실험 결과를 통해 제안하는 기법의 가능성을 확인하였다.

2. 제안 방법

무인항공기 영상 기반 포인트 클라우드로부터 자동 으로 건물 모델을 생성하는 과정은 Fig. 1과 같다.

OGCSBN_2019_v35n6_1_973_f0001.png 이미지

Fig. 1. Flow chart for proposed method.

무인항공기 포인트 클라우드 기반 건물 모델링 과정은 총 다섯 단계로 수행된다. 먼저 입력되는 포인트 클라우드의 평면성을 분석하여 포인트 클라우드를 구성하는 평면들을 추출한다. 두 번째 단계에서는 추출된 평면을 분석하여 지표면에 해당하는 평면을 찾고 포인트 클라우드에서 해당 평면 기준으로 포인트들을 제거한다. 세 번째 단계에서는 지표면이 제거된 포인트 클라우드를 정사 투영하여 영상을 제작한다. 네 번째 단계 에서는 정사 투영된 영상에서 각각의 객체의 외곽선을 추출하고 외곽선의 넓이와 넓이, 길이 비율을 이용하여 건물 불인정 영역을 제거하고, 마지막 단계에서는 건물 의 지표면 높이와 건물의 높이를 이용하여 건물의 외곽점을 구성하고 3D 건물 모델을 생성한다.

1) 포인트 클라우드 평면성 분석

건물 모델을 생성하기 위해서는 스테레오 영상으로 부터 생성된 포인트 클라우드에서 건물 영역을 탐색하는 과정이 선행되어야 한다. 이를 위해서는 포인트 클라우드에서 지면을 제거하는 과정이 필수적이라고 할 수 있다. 이에 본 연구에서는 포인트 클라우드 평면성 분석을 통해 지면 평면을 탐색하고 지면 이하의 포인트들을 포인트 클라우드에서 제거하는 방법을 이용하여 지면 제거를 수행하였다. 포인트 클라우드 평면성 분석은 RANSAC(Random sample Consensus) 기반의 모델 피팅 알고리즘을 사용하였다(Fischler and Bolles, 1981). RANSAC 기반의 포인트 클라우드 평면성 분석 과정은 Fig. 2와 같다.

OGCSBN_2019_v35n6_1_973_f0002.png 이미지

Fig. 2. Flow chart for planarity analysis.

먼저 전체 포인트 클라우드에 대해 샘플 포인트들을 임의로 선택한다. 그리고 선택된 포인트들을 이용하여 평면 모델을 계산하고, 선택되지 않은 포인트들을 이용하여 평면 모델에 대한 적합여부를 판단한다. 이때 적합여부는 선택되지 않은 점과 설정된 평면에서의 거리 측정을 통해 inlier 개수를 계산하여 판단한다. 그리고 위 과정을 반복횟수와 같은 제한조건 하에 반복하여 생성된 평면들 중 inlier가 가장 많은 평면을 평면 모델의 후보로 결정한다. 이렇게 평면 모델 후보가 결정되면 원본 포인트 클라우드에서 평면 모델 후보에 해당하는 포인트들을 제거하고 위의 전체 과정을 반복하여 평면 모델 후보를 추가한다. 이 과정을 통해 전체 포인트 클라우드를 구성하는 다수의 평면을 산출할 수 있다. 이때, 각각의 평면은 수식 1과 같은 평면 방정식의 형태로 구해지게 된다.

\(a x+b y+c z+d=0\)          (1)

2) 지면 평면 선정 및 지면 제거

제안하는 방법에서는 지면 제거를 통해 지면을 포함하는 일정 높이 이하의 포인트들을 제거한다. 무인항공기 영상 기반 포인트 클라우드의 경우 일반적으로 지면에 가장 많은 포인트들이 존재한다. 또한 지면은 모든 평면들 중 가장 고도가 낮은 평면이라는 특성을 이용하여 지면에 해당하는 평면을 선정하였다.

비 건물 영역이 후보로 추출되는 오류를 최대한 줄이고 확실한 지면 평면의 제거를 수행하기 위해서, 전체 포인트 클라우드에서 설정된 지면 높이에 추출하고자 하는 건물의 최소 높이 임계값을 더하여 그 값보다 낮은 포인트 들을 제거하였다.

3) 포인트 클라우드 영상 변환

세번째 단계에서 건물 영역을 추출하기 위해서 포인트 클라우드를 정사 투영 영상으로 변환한다. 포인트 클라우드를 영상으로 변환하는 이유는 두 가지 목적을 갖고 있다. 첫 번째 목적은 건물의 영역을 추출하는 것이다. 일반적으로 3차원 좌표를 갖는 객체의 경우 정사 투영을 하면 객체가 투영되는 평면에서 점유하는 영역으로 표현된다. 따라서 포인트 클라우드를 정사 투영한다면 분석을 통해 포인트 클라우드 도메인(3차원 도메인) 보다 쉽고 빠르게 건물의 영역을 추출할 수 있다. 첫 번째 목적을 달성하기 위해 지면이 제거된 포인트 클라우드를 사용해서 정사 투영 영상을 제작한다.

포인트 클라우드의 영상변환을 수행하는 또 다른 목적은 건물의 높이값 추출하는 것에 있다. 3D 건물 모델을 생성하기 위해서는 건물의 3차원 지상좌표 x, y, z가 필요하다. 따라서 영역의 3차원 지상좌표 중 건물의 높이와 지면의 높이를 추출해야 하며, 밝기값이 포인트 클라우드의 높이값으로 표현되는 정사 투영 영상이 필요 하다. 두 번째 목적을 달성하기 위해서는 원본 포인트 클라우드를 사용해서 정사 투영 영상을 제작한다.

따라서 지면이 제거된 포인트 클라우드와 지면이 제거되지 않은 포인트 클라우드를 사용하여 두 가지 정사 투영 영상을 제작하였다. 포인트 클라우드를 정사 투영 한 영상으로 변환하는 처리과정은 Fig. 3과 같다.

OGCSBN_2019_v35n6_1_973_f0003.png 이미지

Fig. 3. Flow chart for ortho-projected image conversion.

첫 번째 단계에서는 포인트 클라우드의 지상좌표 x, y의 최대, 최소 값을 이용하여 영역을 설정한다. 그리고 영역을 포인트 클라우드의 추출 간격에서 설정된 GSD (Ground Sample Distance)를 이용하여 GSD×GSD 크기의 격자단위로 나눈다.

두 번째 단계에서는 생성된 모든 격자의 지상좌표(X, Y)에 대해 대응하는 포인트 클라우드를 선정하고, 선정된 포인트 클라우드에서 속성 정보를 가져온다. 이때 가져오는 속성정보는 색상(Red, Green, Blue), 혹은 높이좌표(Z)이다. 이때, 정사 투영 영상의 각 격자에 해당하는 포인트 클라우드는 공선조건식 혹은 DLT(Direct Linear Transformation)과 같은 기법을 활용한 센서모델식을 이용하여 계산한다.

4) 건물 영역 선정

제안하는 방법에서는 건물 영역 선정을 위하여 앞서 생성된 지면이 제거된 포인트 클라우드로부터 생성된 정사 투영 영상에 외곽선 검출 알고리즘을 적용하였다. 건물 영역 선정에 대한 전체적인 처리 과정은 정사 투영 영상에 팽창, 침식을 통한 홀(hole) 제거, 외곽선 추출, 그리고 건물 영역 필터링의 순으로 진행된다.

홀 제거 단계에서는 앞서 생성된 정사 투영 영상에 팽창, 침식 알고리즘 적용을 통해 영상에 존재하는 홀을 제거한다. 이때, 포인트 클라우드를 보간과 같은 전처리 없이 정사 투영 영상으로 변환하며, 이 경우 영상의 각 격자 사이에 다수의 홀이 발생하게 된다. 이와 같은 홀들은 본 연구에서 건물 영역 선정에 적용한 외곽선 검출 알고리즘에서 오류를 나타낼 가능성이 매우 높다. 따라서 건물 영역 선정에 앞서 홀들을 제거하는 과정이 필요하다. 팽창 침식 알고리즘을 이용하면 홀과 같은 노이즈를 효과적으로 제거할 수 있으며, 이때 건물 전체 적인 형상의 모양 및 크기의 변화가 크지 않다(Joseph and Ron, 2002).

두 번째 단계에서는 팽창, 침식 알고리즘이 적용된 정사 투영 영상에서 외곽선을 추출한다. 영상에서의 외곽선 추출은 이진영상에서 경계를 추적하는 방법을 사용한다 (Keiichi, 1983).

세 번째 단계에서는 추출된 각각의 외곽선 정보를 이용하여 필터링을 수행하여 최종적인 건물 영역을 선정한다. 두 번째 단계에서 추출된 외곽선은 지면 제거 과정에서 제거되지 않은 비 건물 영역과 팽창, 침식의 과정에서 생긴 오류를 포함하고 있다. 따라서 이와 같은 오류를 제거할 필요가 있으며, 외곽선 내부 영역의 최소 넓이, 외곽선 내부 영역의 넓이와 외곽선 길이의 비율 두 가지 조건에 따라 위의 오류들을 제거하였다. 외곽선 내부 영역 최소 넓이의 경우, 추출하고자 하는 건물의 최소 넓이를 사용하여 해당 넓이 이하의 넓이를 갖는 경우 나무, 자동차와 같은 비 건물 영역으로 판단하여 제거한다. 외곽선 내부영역의 넓이와 외곽선 길이의 비율은 외곽선 영역의 넓이를 외곽선 길이로 나눈 값으로 일반적인 건물의 형태를 벗어나는 영역을 제거하기 위한 조건이다. 본 논문에서는 이 값이 일정 값 이하일 경우 길이에 비하여 점유하는 영역이 매우 작은 영역으로 비 건물로 판단하였다.

외곽선 내부 영역의 최소 넓이의 경우 추출하고자 하는 건물의 최소 넓이로 선정한다. 이 과정을 통해 최적의 분리된 건물의 영역을 선정할 수 있으며, 이때 건물 영역은 정사투영 영상의 column, row 좌표의 집합으로 구성된다.

5) 3차원 건물 모델 생성

마지막으로 3D 건물 모델을 건물의 영역 추출 및 영역에 3차원 좌표 부여를 통한 3D 건물 형상 구현을 통해 생성한다. 건물 영역의 3차원 좌표를 부여하기 위해서 이전 단계에서 추출된 건물 영역의 실제 3차원 좌표를 부여한다. 건물 모델 생성 과정은 다음과 같다.

첫 번째 단계에서 건물 영역을 구성하는 각 점의 영상 좌표(column, row)를 이용하여 지상좌표 x, y를 계산 한다. 정사 투영에 사용한 일반적인 센서모델식은 지상 좌표 x, y, z를 이용하여 영상좌표 column과 row를 계산한다. 이 방법을 역으로 이용하면 지상좌표 z를 알고 있을 경우, 영상좌표를 이용하여 나머지 지상좌표 x, y를 계산할 수 있다.

두 번째 단계에서는 각각의 건물 영역의 대표 건물 높이와 지면 높이를 추출한다. 첫 번째 단계와 달리 대표 건물 높이를 추출하는 이유는 건물의 외곽점 마다 높이값이 제각각일 경우 건물 모델의 형상이 기형적으로 생성되기 때문이다. 건물 높이의 경우 각각의 외곽점이 보유하고 있는 근처의 3 by 3 크기의 마스크 영역에서 가장 높은 높이값을 추출한 후 건물 마다 중앙값을 사용한다. 마스크를 사용한 이유는 외곽점이 건물이 아닌 지면에 위치할 가능성이 있기 때문에 지면에서 높이가 추출될 경우를 최대한 배제하기 위해서이다. 중앙값을 사용하는 이유는 외곽점 중 지면의 높이가 추출되거나 다층 구조의 건물일 경우 높이값이 여러 층으로 추출될 수 있기 때문이다. 건물 지면 높이의 경우 반대의 방식으로 외곽선 외부의 일정 마스크 영역에서 가장 낮은 높 이값을 추출하여 사용하였다.

세 번째 단계에서는 건물 영역별 외곽점에 높이값을 부여하여 건물의 3차원 모델을 생성한다. 건물의 3차원 모델을 구성하기 위해서는 건물 옥상부의 3차원 외곽 점들과 건물 지면부의 3차원 외곽점들이 필요하다. 따라서 계산된 건물 외곽점들에 건물의 높이와 지면의 높이를 각각 부여하여 건물의 지붕에 해당하는 외곽점 그룹과 건물의 지면에 해당하는 외곽점 그룹을 생성한다. 이와 같은 방식으로 건물의 3차원 외곽점들을 구성하게 되면 건물의 3차원 형상을 생성할 수 있다.

3. 연구 방법

1) 실험 데이터

실험은 Fig. 4, 5와 같이 여의도 중학교와 건설기술연구원 일대를 대상으로 수행했다. 실험에 사용된 영상은 Sony ILCE-6000 카메라가 부착되어 있는 SISTECH의 K-Mapper 기체에서 취득한 영상을 이용하여 제작한 포인트 클라우드를 사용하였으며, 포인트 클라우드는 상용 소프트웨어 3D-UAV와 Pix4D로 총 4가지 결과물을 이용하여 정합 기법별 적용 가능성을 검토하였다. 여의도 포인트 클라우드의 경우 141장의 영상을 이용하여 3D-UAV와 Pix4D로 제작한 결과이며, 건설기술연구원 포인트 클라우드의 경우 3D-UAV는 66장의 영상, Pix4D 의 경우 165장의 영상으로 포인트 클라우드를 제작하고 3D-UAV 결과물과 같은 영역을 잘라내어 사용하였다.

OGCSBN_2019_v35n6_1_973_f0004.png 이미지

Fig. 4. Point clouds of Yeouido.

OGCSBN_2019_v35n6_1_973_f0005.png 이미지

Fig. 5. Point clouds of KICT.

2) 실험 과정

본 논문에서는 제안하는 무인항공기 영상 기반 포인트 클라우드로부터 건물 모델 생성 방법을 검증하기 위하여 제안 기법의 단계별 산출물 및 최종 건물 모델을 확인하며 검증을 수행하였다. 이때, 첫 단계인 포인트 클라우드 평면성 분석의 경우 두 번째 단계인 지면 평면 선정 및 지면 제거의 결과물 분석을 통해 검증을 수행하며, 실험은 첫 번째 단계부터 마지막 단계까지 자동으로 이루어졌다.

또한 다음 Table 1의 포인트 클라우드 내 건물 개수와 생성된 건물의 개수 및 원본 포인트 클라우드 내의 건물 위치와 생성된 건물 모델의 위치를 건물 꼭지점 좌표 비교를 통해 제안 기술의 가능성 검토를 진행하였다. 이때, 포인트 클라우드 내에 건물의 외곽 형상이 드러나 있는 건물만을 대상으로 검증을 수행하였다.

Table 1. Number of building in point clouds

OGCSBN_2019_v35n6_1_973_t0001.png 이미지

제안하는 방법의 검증을 위하여, 평면성 분석에 PCL (Point Cloud Library)의 Plane Fitting 알고리즘을 사용하였다. 또한 건물 영역 선정 과정에서 팽창, 침식 알고리즘 은 OpenCV에서 제공하는 dilate(팽창), erode(침식) 함수를 사용하였으며, 외곽선 검출은 OpenCV의 findcontour 함수를 활용하여 실험을 진행하였다.

4. 실험 결과

본 논문에서는 제안하는 무인항공기 영상 기반 포인트 클라우드로부터 건물 모델 생성 방법을 검증하기 위해서 단계별로 실험하여 결과를 분석하였다. 단계적 결과 분석 결과, 포인트 클라우드에서 지면 높이에서 건물의 최소 높이 이하의 포인트가 제거되었다. 또한 정사 투영 영상 변환 및 변환된 영상에서 건물 영역 추출 및 필터링이 성공적으로 이루어진 것을 확인할 수 있었다. 마지막으로 추출된 건물 영역에서 건물 모델도 성공적으로 생성된 것을 확인할 수 있었다.

1) 포인트 클라우드 평면성 분석을 통한 지면 평면 선정 및 지면 제거

본 논문에서 추출하고자 하는 건물의 최소 높이는 10 m로, 이 값을 이용하여 클라우드의 지면 제거를 수행하였다. 또한 평면 모델의 적합성을 판단할 때 inlier와 outlier를 판단하는 평면과 점사이의 거리 기준은 50 cm 를 사용하였다. 실험을 통해 네 가지 실험 자료로 지면이 제거된 포인트 클라우드 추출 결과는 Fig. 6, 7과 같다.

OGCSBN_2019_v35n6_1_973_f0006.png 이미지

Fig. 6. Result of ground remove from point clouds (Yeouido).

OGCSBN_2019_v35n6_1_973_f0007.png 이미지

Fig. 7. Result of ground remove from point clouds (KICT).

Fig. 6, 7에서 확인할 수 있듯이 모든 실험 세트에서 지면이 제거된 포인트 클라우드만이 남은 것을 확인할 수 있다. 다만 기준 높이로 삼은 10 m 보다 높은 나무가 다수 있는 여의도 지역의 경우 나무가 있는 영역이 잡음으로 남아있는 것을 확인할 수 있다. 이와 같은 잡음은 영상 변환과 건물 영역 선정 과정에서 제거되게 된다.

2) 포인트 클라우드 영상 변환

정사 투영 영상으로 변환 단계에서 영상의 밝기값을 포인트 클라우드의 밝기값(Red, Green, Blue), 높이값으로 사용하였다. 실험을 통해 네 가지 실험 자료에 대해 포인트 클라우드의 밝기값을 영상의 밝기값으로 하여 영상 변환을 한 결과는 Fig. 8, 9와 같다.

OGCSBN_2019_v35n6_1_973_f0008.png 이미지

Fig. 8. Result of ortho-projected image conversion (Yeouido).

OGCSBN_2019_v35n6_1_973_f0009.png 이미지

Fig. 9. Result of ortho-projected image conversion (KICT).

Fig. 8, 9에서 확인할 수 있듯이 모든 실험 세트에서 정사 투영 영상 변환이 완료된 것을 확인할 수 있다.

3) 건물 영역 선정

건물 최소 넓이는 1000 m2 로 하였으며, 넓이/길이 비율은 4이상인 영역만을 건물로 선정하여 필터링 하였다. 실험을 통해 네 가지 실험 자료에 대해 건물 영역을 선정한 결과는 Fig. 10, 11과 같다.

OGCSBN_2019_v35n6_1_973_f0010.png 이미지

Fig. 10. Result of building area extraction (Yeouido)

OGCSBN_2019_v35n6_1_973_f0011.png 이미지

Fig. 11. Result of building area extraction (KICT).

Fig. 10, 11에서 확인할 수 있듯이 포인트 클라우드 정사 투영 영상 변환의 결과에서 생성된 영상에서 비건물 영역이 제거되고 건물 영역 선정 완료되는 것을 확인할 수 있다.

4) 3차원 건물 모델 생성

앞서 선정된 건물 영역에 포인트 클라우드에 추출된 지면과 건물 지붕면의 높이 정보를 이용하여 건물의 모델을 구성하는 실험을 진행하였다. 3차원 건물 모델을 생성한 결과는 Fig. 12, 13과 같다.

OGCSBN_2019_v35n6_1_973_f0012.png 이미지

Fig. 12. Result of building model generation (Yeouido).

OGCSBN_2019_v35n6_1_973_f0013.png 이미지

Fig. 13. Result of building model generation (KICT).

Fig. 12, 13에서 확인할 수 있듯이 건물 영역 선정 결 과물을 이용하여 3차원 건물 모델이 생성된 것을 확인 할 수 있다. Table 2는 포인트 클라우드 내에 존재하는 건물과 추출된 건물 모델의 수를 나타낸다. 포인트 내 에 존재하는 건물의 수는 영상지도 상에서 동일 영역 내에 존재하는 건물의 수로 설정했다.

Table 2. Building modeling result

OGCSBN_2019_v35n6_1_973_t0002.png 이미지

네 실험 세트 모두 90% 이상의 건물이 모델로 생성되는 결과를 보였다. 이중 여의도의 3D-UAV의 경우 한 개의 모델이 원래 생성되어야 할 모델의 절반 크기의 모델이 생성되었다. 그 이유는 건물을 구성하는 포인트 클라우드에 큰 홀과 낮은 밀집도로 인해 영상 변환 및 건물 영역 선정 과정에서 실패한 것으로 보인다. 건설기술연구원 데이터를 3D-UAV로 처리한 결과를 보면, 실제 건물의 수보다 더 많은 건물이 추출되었는데, 이는 포인트 클라우드 영역 내에 설정된 영역과 걸쳐있는 건물이 추출된 것으로 분석된다. Fig. 14는 생성된 모델을 포인트 클라우드에 중첩시켜 나타낸 결과이다.

OGCSBN_2019_v35n6_1_973_f0016.png 이미지

Fig. 14. Generated building model(Green) and point clouds (Yeouido).

건물 모델은 포인트 클라우드 기반으로 생성되었기 때문에, 두 데이터 간에 큰 위치 오차 없이 중첩이 됨을 확인할 수 있었다. 성공적인 모델 생성 여부를 확인하기 위해 중첩데이터에서 건물 모델과 포인트 클라우드 간의 위치 오차를 측정했다. 위치 오차 측정은 Fig. 15와 같이 포인트 클라우드 내에 건물의 꼭지점을 명확히 판단할 수 있는 건물에 대해 수행하였으며, Fig. 16과 같이 건물의 하단부 모서리를 포인트 클라우드와 건물 모델 에서 추출하여 정확도 비교를 수행하였다. 각각의 모델 은 최소 2점 최대 18점의 꼭지점을 사용하여 위치 오차 를 계산하고 건물 별 RMSE(Root Mean Square Error)를 계산하여 정확도 측정을 수행하였다.

OGCSBN_2019_v35n6_1_973_f0014.png 이미지

Fig. 15. Test building list.

OGCSBN_2019_v35n6_1_973_f0015.png 이미지

Fig. 16. Accuracy Verification Method.

Table 3과 Table 4에서 확인할 수 있듯이 건물 모델의 포인트 클라우드 대비 정확도가 1 m 초반에서 형성된 것을 확인할 수 있으며, 이는 정사 투영 영상에서 건물 영역을 추출할 때 생기는 오차로, 건물 영역 선정 과정 에서 수행되는 팽창, 침식 과정에서 원본 포인트 클라우드 내의 건물 영역의 변화가 일어나서 발생하는 현상으로 판단된다. 또한 3D-UAV 포인트 클라우드와 Pix4D로 제작한 포인트 클라우드를 비교하였을 때와 여의도 데이터 셋과 건설기술연구원 데이터 셋을 비교하였을 때 생기는 오차 확인결과 그 차이가 크지 않은 것을 확인할 수 있었다. 즉 포인트 클라우드 제작 방법에 상관없이 포인트 클라우드에서 건물 모델의 생성이 가능하며, 일정 수준의 정확도를 보이는 것을 확인하였다.

Table 3. RMSE of Yeouido test set

OGCSBN_2019_v35n6_1_973_t0003.png 이미지

Table 4. RMSE of KICT test set

OGCSBN_2019_v35n6_1_973_t0004.png 이미지

5. 결론 및 고찰

본 논문에서는 무인항공기 기반의 포인트 클라우드를 사용하여 자동으로 건물 모델을 생성하는 방법을 제안한다. 실험은 여의도와 건설기술연구원 일대를 무인 항공기를 이용해 연직 촬영한 영상을 이용하여 상용 소프트웨어인 3D-UAV와 Pix4D mapper를 이용하여 제작한 포인트 클라우드를 이용하여 수행하였다. 제안하는 방법의 검증을 위하여 본 논문에서는 처리 단계별로 결과물을 확인하였다.

먼저 생성된 포인트 클라우드를 이용하여 평면성 분석을 수행하고, 지면 평면을 선정한 뒤, 포인트 클라우드에서 지면을 제거하였다. 다음으로 지면이 제거된 포인트 클라우드와 원본 포인트 클라우드를 이용하여 정사 투영 영상을 생성하였다. 그리고 정사 투영된 영상을 이용하여 외곽선 검출 알고리즘을 통해 건물 후보를 선정하였으며, 건물의 조건을 이용하여 비 건물을 후보에서 제외하였다. 마지막으로 선정된 건물 영역을 3차원 지상좌표로 변환하고, 높이값 지정을 통하여 3차원 건물 모델을 생성하였다. 실험결과 실험에 사용된 포인트 클라우드에 존재하는 건물의 90% 이상이 건물 모델 로 생성된 것을 확인할 수 있었으며 그 정확도가 원본 포인트 클라우드와 비교했을 때, 1 m 초반에 형성되는 것을 확인할 수 있었다.

본 논문을 통해 저비용의 고효율을 갖는 무인항공기 영상을 이용하여 생성된 포인트 클라우드를 이용하여 자동으로 건물과 지면을 분리하고 각각 구분되는 건물 모델을 생성할 수 있음을 확인하였다. 또한, 저비용으로 획득 가능한 무인항공기 기반의 포인트 클라우드를 이용하여 자동으로 객체 별로 분리된 건물의 3D 모델을 생성한다는 점에서 그 가치가 클 것으로 판단되며, 이를 통해 최근 활발히 연구되고 있는 스마트 시티와 같은 도시 모델 구축에 큰 기여를 할 수 있을 것이라 기대 된다. 또한 포인트 클라우드 내 지면을 제거하고 건물 별로 분리된 영역 선정 기법은 자동화된 shape 획득이 가능하게 하여 이후 갱신주기에 구애 받지 않는 수치지도와 같은 2D 자료 갱신 뿐만 아니라 2D 자료 기반 건물 3D 모델링에도 활용할 수 있을 것이라 기대된다.

제안된 기법을 도화나 실제 도시 모델에 적용하기 위해서는 높은 정확도의 센서모델링이 우선되어야 한다. 이 기법을 실제 산업에 적용하기 위해서는, 이후 RTK(Real Time Kinematic) 기반의 외부표정요소가 적용된 무인항공기 영상, 또는 지상기준점을 이용하여 정밀하게 센서모델링 보정이 완료된 영상을 이용한 실험을 통해 수치지도와의 비교를 수행할 필요가 있다. 이 후 포인트 클라우드의 정확도 손실을 최소화하여 건물 모델을 생성하고, 옥상 상단부의 구조물 같은 세부 구조물의 표현을 위한 연구 및 무인항공기 영상을 이용한 고품질의 텍스처링을 수행하여 무인항공기 영상 기반 의 저비용 고효율의 실감형 건물 3D 모델 생성 연구를 수행할 예정이다.

사사

본 연구는 국토교통부 수요처 맞춤형 실감형 3D 공간정보 갱신 및 활용지원 기술개발과제의 연구비지원 (19DRMS-B147287-02)에 의해 수행되었습니다. 본 연구를 위해 무인항공기 영상을 촬영해주신 시스테크와 자료를 제공해주신 한국국토정보공사에 감사드립니다.

References

  1. Fischler, M.A. and R.C. Bolles, 1981. Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography, Communication of the ACM, 24(6): 381-395. https://doi.org/10.1145/358669.358692
  2. Haala, N. and M. Rothermel, 2012. Dense Multi-Stereo Matching for High Quality Digital Elevation Models, Photogrammetrie-Fernerkundung-Geoinformation, 2012(4): 331-343. https://doi.org/10.1127/1432-8364/2012/0121
  3. Ham, S., 2019. A Study for Providing 3D Building Information based on National Spatial Information, Proc. of 2019 Spring Conference of Architectural Institute of Korea, Seoul, Apr. 26-27, vol. 39, p. 136.
  4. Joseph, G. and K. Ron, 2002, Efficient Dilation, Erosion, Opening, and Closing Algorithms, IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(12): 1606-1617 https://doi.org/10.1109/TPAMI.2002.1114852
  5. Keiich, A., 1983. Topological Structural Analysis of Digitized Binary Images by Border Following, Computer Vision, Graphics, and Image Processing, 30(1): 32-46. https://doi.org/10.1016/0734-189x(85)90016-7
  6. Nan, L. and P. Wonka, 2017. Polygonal Surface Reconstruction From Point Clouds, Proc. of the IEEE International Conference on Computer Vision (ICCV), Venice, Italy, Oct. 22-29, pp. 2353-2361.
  7. Remondino, F., L. Barazzetti, F. Nex, M. Scaioni, and D. Sarazzi, 2011. UAV Photogrammetry for Mapping and 3D Modeling, Current Status and Future Perspectives, International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 38(1): 35-31.
  8. Rhee, S. and T. Kim, 2016. Dense 3D Point Cloud Generation from UAV Images from Image Matching and Global Optimization, Proc. of 2016 International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Prague, Czech Republic, Jul. 12-16, vol. 41, pp. 1005-1009.
  9. Rhee, S., Y. Hwang, and T. Kim, 2018. A Study on Point Cloud Generation Method from UAV Image Using Incremental Bundle Adjustment and Stereo Image Matching Technique, Korean Journal of Remote Sensing, 34(6-1): 941-951 (in Korean with English abstract). https://doi.org/10.7780/KJRS.2018.34.6.1.8
  10. Turner, D., A. Lucieer, and C. Watson, 2012. An Automated Technique for Generating Georectified Mosaics from Ultra-High Resolution Unmanned Aerial Vehicle (UAV) Imagery, Based on Structure from Motion (SfM) Point Clouds, Remote Sensing, 4(5): 1392-1410. https://doi.org/10.3390/rs4051392
  11. Wu, B., B. Yu, Q. Wu, S. Yao, F. Zhao, W. Mao, and J. Wu, 2017. A Graph-Based Approach for 3D Building Model Reconstruction from Airborne LiDAR Point Clouds, Remote Sensing, 9(1): 92. https://doi.org/10.3390/rs9010092
  12. Yoon, W., H.G. Kim, and S.A. Rhee, 2019. Multi Point Cloud Integration based on Observation Vectors between Stereo Images, Korean Journal of Remote Sensing, 35(5-1): 727-736 (in Korean with English abstract). https://doi.org/10.7780/kjrs.2019.35.5.1.9