DOI QR코드

DOI QR Code

Development of a Pixel-based Area Measurement Program Using Drone and Camera Module

카메라 모듈과 드론을 이용한 면적 자동 측정 프로그램 개발

  • Received : 2019.04.03
  • Accepted : 2019.05.16
  • Published : 2019.06.30

Abstract

As the drone industry has grown greatly in recent years, drones are being used or developed in many industrial fields such as image shooting, pesticide application, delivery service, food delivery etc. In this paper, therefore, we developed a program that takes a user's desired area at a certain height using a camera-equipped drone and obtains the area of the zone the user wants through image processing. The first user selects an area or a path. Afterwards, the drone flies and takes pictures, and then measures the user's needs. A digital image taken at a constant height and with the same resolution is composed of pixels, the area can be calculated easily if we know the number of pixels in the zone the user wants. Particularly, it is easy to calculate the area of various shaped zones, not terrain shapes such as triangles and squares. In addition, the total area of specific places of the entire zone can be calculated. With the program of this paper, anyone can easily calculate the area of the place the user wants using a drone rather than calculating the area through difficult formulas or specialized equipment.

Keywords

Ⅰ. 서론

최근 다양한 IT 기술과 드론 분야가 융합되어 많은 산업 분야에 사용되고 있다. 항공 촬영, 농업 분야, 드론을 이용한 택배, 배달 서비스, 구난 및 구조용 드론 등 다양한 분야에서 개발되고 있다.

그래서 대한민국 정부도 2020년까지 물품 수송, 산림 보호 감시, 시설물 안전진단, 국토 조사 순찰, 해안선 관리, 통신망 활용 및 레저 농업 등 총 8개 분야의 드론 상용화 로드맵을 2016년 1월 16일에 발표하였다 [1].

하지만 기존 기술은 자율 주행과 물품 수송을 중심으로 응용 개발된 기술이 대부분이다. 그래서 본 논문은 카메라 모듈을 드론에 장착하여 기하학적인 구역의 면적을 측정하는 시스템을 소개한다.

건물, 농지, 산림 및 도로 등의 면적을 구하는 것은 기존 토목 건축에서 측정하는 방식을 사용하면 된다. 하지만 산발적으로 분포된 여러 개의 면적을 구하는 것은 어려움이 따른다.

예를 들어, 소나무 숲 중에 재선충이 발생한 지역의 면적, 산림 중에 벚나무의 분포 면적 등 산발적으로 분포된 면적을 모두 합친 총 면적이나 각 면적들을 알기 위해서 많은 시간이 필요하거나 정확한 측정이 어려울 수 있다.

하지만 본 논문의 시스템을 사용한다면 자신이 원하는 장소의 면적과 산발적으로 분포된 면적들의 총합을 실시간으로 구할 수 있다. 이때, 실제 계산되는 면적은 촬영된 이미지의 전체 혹은 일부분 중 선택할 수 있다.

하지만 이미지 전체는 사각형이기 때문에 이미지의 가로, 세로 길이와 실제 면적의 가로, 세로 길이를 비교해서 비행 높이에 따른 비율만 맞춰 계산한다면 쉽게 넓이를 구할 수 있기 때문에 논문에서는 다루지 않는다. 본 논문은 기하학적인 모양의 면적을 구하는데 목적이 있다.

시스템이 탑재된 드론의 비행 고도를 최대 100m를 기준으로 비행을 한다. 비행 고도는 대한민국 항공안전법에 따라 150m 이상 비행할 수 없기 때문에 그 이하의 수치로 정하였다 [2]. 드론의 높이는 지정된 면적이나 경로에 따라 정해진다. 사용자의 요구가 있을 경우 높이는 변경이 가능하다. 촬영된 디지털 이미지는 가로 4000 픽셀, 세로 3000 픽셀로 총 12,000,000개의 픽셀로 이루어져 있다. 이것을 기준으로 하나의 픽셀이 실제 면적과 크기를 비교하여 대입하여 넓이를 구할 수 있다 [3].

예를 들어, 한 개의 픽셀이 실제 면적을 1m2로 계산된다고 가정한다면 사용자가 원하는 면적의 픽셀이 10개일 경우 10m2가 된다

기하학적인 면적이라도 이 시스템을 사용한다면 쉽게 면적을 구할 수 있다. 또한, 산발적으로 흩어져 있는 면적도 한 번의 비행을 통해 전체 면적 혹은 각 면적들을 각각 산출할 수 있다.

본 논문의 기술을 사용한다면 면적 측정을 위해 전문적인 측정 장비를 사용하거나 전문 인력을 구해야 했던 기존의 방식과는 달리 누구나 쉽게 자신이 알고자 하는 구역의 면적을 쉽게 측정할 수 있을 것으로 예상된다.

본 논문의 구성은 다음과 같다. 2장에서 드론의 비행을 통해 사용자가 원하는 구역을 촬영할 때 필요한 기술을 살펴본다. 3장에서는 2장에서 촬영된 이미지의 픽셀을 이용한 면적 측정 기술을 연구한다. 이때, 원하는 구역을 자동으로 파악하여 총 픽셀의 수를 통해 넓이를 계산하는 방법을 소개한다. 4장에서 본 논문의 시스템을 실험을 통해 확인한 후 5장에서 결과를 도출하고 향후 과제를 제시한다.

Ⅱ. 면적 측정을 위한 드론의 비행 기술 연구

조립용 레이싱 드론을 자율 비행이 가능하도록 확장성이 뛰어난 에디슨 보드를 탑재하여 필요한 센서를 부착하였다.

면적 측정을 위한 비행 방식은 두 가지이다.

첫 번째는 사용자가 면적을 직접 지정한 경우이다. 일정한 면적에서 사용자가 원하는 구역의 면적을 알고자할 때 사용할 수 있다.

두 번째는 비행경로를 지정하는 방식이다. 이동 경로 중의 특정된 면적을 알고 싶을 때 사용할 수 있다.

1. 카메라 모듈 관련 연구

카메라 모듈에 따라 픽셀의 개수가 동일하게 나오는지 확인하기 위해 일반적으로 많이 사용되는 카메라 모듈 3개를 동일한 높이와 해상도에서 촬영한 뒤 비교하였다.

드론 전용 카메라는 해상도가 떨어지기 때문에 아두이노, 라즈베리 파이 등에서 사용되는 임베디드용 고해상도 카메라 모듈인 TailKuK의 Pupil Camera, @WENDi의 djustable-Focus, 5MP의 ov5640를 사용하여 확인하였다.

실험 환경은 동일한 장소에서 고도 25m, 해상도 너비를 1920, 높이를 1080로 그림 1 (a)와 같이 촬영한 뒤 포토샵을 이용해 촬영된 이미지의 픽셀 개수를 그림 1 (b)와 같이 확인하였을 때 픽셀 개수는 129,600개로 나타났다.

OBDDBE_2019_v14n3_157_f0001.png 이미지

그림 1. 카메라 모듈 확인

Fig. 1 Camera Module check

카메라 모듈이 다르더라도 동일한 조건으로 촬영할 경우 픽셀의 개수는 동일하게 나타나는 것을 확인할 수 있었다.

2. 면적 선택을 이용한 측정

사용자가 일정한 면적을 지정한 뒤 드론이 자율 비행을 하며 촬영하는 방식이다. 일정한 모양을 가진 구역의 면적이나 사람이 쉽게 접근이 가능한 지역의 면적은 기존의 측정 장비를 통해 면적을 알아내는 것이 더 편리할 수 있지만 사람의 접근이 어렵거나 기하학적인 모양의 면적은 측정하기 어렵다.

하지만 이 방식을 사용한다면 기하학적인 면적도 쉽게 면적을 측정할 수 있다. 예를 들어, 산 중의 아까시 나무 군집의 총 면적을 알고 싶을 때 산 전체를 지정하여 드론의 자율 주행을 통해 아까시 나무 군집을 촬영하고 각 군집 면적의 총 합을 더한다면 쉽게 면적을 구할 수 있다 [4].

그림 2의 a는 사용자가 면적을 지정한 것이다. 지도에 그림 2의 a와 같이 사용자가 사각형 모양의 면적을 지정하게 되면 드론은 그림 2의 b와 같이 중첩되는 면적을 최소화하기 위한 경로를 자동으로 정하게 된다. 이때, 드론의 이동 경로는 선으로 표시가 되며 촬영될 이미지의 크기는 점선으로 표기가 된다.

OBDDBE_2019_v14n3_157_f0002.png 이미지

그림 2. 면적 선택을 이용한 자율 비행

Fig. 2 Autonomous flight using area selection

또한, 일정한 크기로 촬영을 하므로 그림 2의 b에서 사용자가 지정한 면적 중 하단에 자율 비행과 촬영이 제외되는 위치는 모든 비행과 촬영이 끝난 뒤 사용자에게 알려준 뒤 추가로 촬영하게 된다. 촬영 후 지정한 면적만 전체 면적에 포함되고 지정하지 않은 부분은 자동으로 제외된다.

촬영된 사진이 중첩되지 않는 범위에서 비행을 하며 사진을 촬영한다. 비행이 종료가 되면 사용자는 사진을 확인하여 면적 측정에 불필요한 부분을 선택할 수 있다.

3. 경로 지정을 이용한 비행

그림 3의 a와 사용자가 비행경로를 지정한 뒤 드론이 자율 비행을 하며 촬영하는 방식이다. 면적 지정을 이용한 비행 방식과는 다르게 차량, 사람, 사물 및 동물 등 이동이 가능한 경로를 지정하여 사용자의 요구에 맞는 조건의 면적을 구하게 된다 [5].

OBDDBE_2019_v14n3_157_f0003.png 이미지

그림 3. 경로 선택을 이용한 자율 주행

Fig. 3 Autonomous driving with route selection

예를 들어, 산림을 비행하는 중에 주변 색과 월등히 다른 색이 나타나는 위치의 면적을 구한다면 나무가 많이 훼손되었거나 무덤이 위치한 곳, 병충해가 발생된 곳 등 쉽게 면적을 구할 수 있다.

면적 측정을 이용한 비행과는 다르게 동영상을 통해 측정하게 되며 실시간으로 면적을 확인할 수 있다.

Ⅲ. 픽셀을 이용한 면적 측정 기술 연구

본 논문의 시스템은 두 가지 방법 중 사용자가 원하는 방식을 선택하여 면적을 측정할 수 있다.

첫 번째는 촬영된 이미지를 보고 사용자가 원하는 구역을 직접 지정하여 측정하는 방식이다. 드론으로 촬영된 이미지를 실시간으로 확인하고 구역을 선택하면 픽셀 수를 파악하여 자동으로 면적 측정을 실행한다.

두 번째는 사용자가 경로를 지정하여 자율 주행을 하는 중 주변과 다른 특징을 가진 위치가 나타난다면 이미지를 촬영하고 해당 위치의 면적을 판단하여 측정하는 방식이다.

1. 드론의 촬영 범위 알고리즘

사용자가 지정한 면적이나 경로를 촬영을 할 때 중첩되는 위치를 최소화해야 한다. 그렇기 위해서는 드론의 비행 고도가 일정해야하고 촬영 시 실제 면적을 알아야 한다.

그림 4와 같이, 드론의 카메라가 지상을 수직으로 찍는 것을 기준으로 하고 드론의 높이와 지상의 가로, 세로 길이를 계산하여 촬영 범위를 계산한다 [6].

OBDDBE_2019_v14n3_157_f0004.png 이미지

그림 4. 드론을 이용한 촬영 시 지상의 실제 면적 측정

Fig. 4 Measurement of the actual area of ground when photographed using a drone

이것을 기준으로 수식 1, 2를 통해 실제 지상의 길이를 구한 뒤, 수식 3을 통해 촬영한 지역의 실제 면적의 가로, 세로를 구할 수 있다.

\(S_{p}=\frac{F}{H}=\frac{\overline{a b}}{\overline{A B}}=\frac{1}{s_{p}}\)        (1)

\(\therefore \overline{A B}=\frac{\overline{a b} \times H}{F}\)        (2)

이때, S= 축적, s= 축적분모수

F=초점거리, H=촬영고도

\(\overline{ab}\)= 사진상의길이, \(\overline{AB}\)=지상길이

위 수식을 통해 획득한 면적의 가로, 세로 길이를 이용하여 수식 3에 대입한 뒤 드론으로 촬영한 이미지와 실제 면적을 구할 수 있다.

\(A r e a=\left(a \times s_{p}\right)\left(b \times s_{p}\right)=a b \frac{H^{2}}{F^{2}}\)       (3)

이 수식들을 이용하여 드론이 촬영을 할 때 범위를 정할 수 있으며 중첩되지 않으면서 모든 면적이나 경로를 촬영할 수 있게 하였다.

2. 필요한 면적 실시간 추출 방식

본 논문의 시스템은 촬영된 전체 면적을 측정하는 것이 아니라 일정한 구역을 직접 선택하거나 자동으로 선택하여 측정한다.

직접 선택할 경우 픽셀의 개수를 확인하여 면적을 측정하면 되지만 사용자의 요구에 맞는 구역을 자동으로 추출하는 방식이 중요하다.

디지털 이미지의 특징을 이용하여 사용자가 원하는 면적을 자동으로 추출할 수 있는 방법을 연구하였다.

디지털 이미지는 사물, 장면 등을 이미지 센서를 통해 디지털 값으로 집합시켜 표현한 것이다. 이미지의 빛 패턴을 샘플링 (sampling)과 양자화를 통해 전기적 신호로 바꾸고 이것을 이진수로 표현하여 흑백, 컬러 영상으로 표현한다 [7].

본 논문의 시스템은 드론에 탑재를 하고 실시간으로 면적을 추출해야 한다. 그래서 처리 속도를 높이기 위해 흑백 영상을 이용하였다.

그림 5와 같이 흑백으로 촬영하였을 때 각 픽셀의 밝기에 따라 0~255 사이의 수치로 표현을 한다. 그리고 그림과 같이 수치가 확연하게 차이가 나는 부분을 하나의 구역으로 보고 그 곳의 픽셀 수를 확인하고 면적을 구하게 된다 [8].

OBDDBE_2019_v14n3_157_f0005.png 이미지

그림 5. 흑백 영상 처리

Fig. 5 Gray scale image

3. 픽셀을 이용한 면적 계산

수식 4은 픽셀을 이용한 면적을 구하는 식이다.

\(V=D\left[\left(W_{p} X Y\right) of \ S_{i}+\left(W_{p} X Y\right) of \ S_{i+1}\right] / 2\)       (4)

이때, V는 면적 크기, D는 슬라이스 간격, Wp는 총 픽셀 수, X, Y는 한 픽셀의 가로, 세로 길이, Si, Si+1는 슬라이스 번호이다 [9]. 면적을 원하는 곳의 픽셀 수는 드론의 비행 고도에 따라 달라지기 때문에 50m, 100m 등 면적을 구할 곳의 환경에 맞춰 고도를 조절하여 촬영하게 된다.

면적을 지정하여 넓이를 구할 때는 사용자가 직접 지정하므로 경계선을 완벽하게 추출할 필요는 없다. 하지만 자동으로 구역을 판단하여 넓이를 구할 때 영상의 전처리 과정을 통해 주변과 완벽히 구별을 해야 한다.

그래서 사용자가 원하는 구역을 찾기 위해 흑백으로 처리하여 양자화를 한 뒤 구역을 나누게 된다. 이 후, 본 논문의 시스템에서 픽셀의 개수를 확인한 뒤 면적을 계산하게 된다.

Ⅳ. 실험 결과 및 분석

본 논문의 시스템의 실험은 총 두 가지 방식으로 총 세 가지 면적을 측정하였다.

첫 번째 방식은 면적 측정이 정상적으로 동작하는지 확인하기 위해 차량의 면적을 측정하였다. 차량의 가로, 세로 길이를 통해 넓이를 계산한 면적과 시스템에서 측정한 면적을 비교한다 면적은 소수점 . 첫째짜리까지 표시된다.

두 번째 방식은 면적 선택을 이용한 측정, 세 번째 경로 지정 측정을 실험하였다.

모든 실험은 동일한 지역에서 해상도를 너비 1920, 높이 1080로 지정하고 드론 속력은 1km/h 상공 25m, 50m 다섯 번씩 총 열 번 진행하였으며 실제 면적과의 차이를 확인하였다.

1. 차량 면적 측정

기아 자동차의 2017년식 쏘울을 이용하여 면적을 측정하였다. 제조사가 공개한 차량의 전장은 4.14m, 전폭은 1.8m이다. 그러므로 차량의 면적은 7.452m2이다.

그림 6은 상공 25m에서 쏘울의 면적을 실시간으로 확인한 영상이다.

OBDDBE_2019_v14n3_157_f0006.png 이미지

그림 6. 차량 면적 측정

Fig. 6 Area measurement of vehicle

비행 중 면적을 알고 싶은 곳을 터치하게 되면 해당되는 곳의 면적을 측정한 뒤 표시한다. 7.5m2로 측정되는 것을 확인할 수 있다.

25m, 50m로 실험을 했을 때 모두 7.5m2로 측정되었다. 실시간으로 면적을 확인할 경우 영상의 자막 처리해야 하므로 m단위 표현이 불가능하여 m로 표기하였다.

2. 면적 선택을 이용한 측정

면적 선택을 이용한 측정에 대한 실험은 세명대학교 대운동장에서 진행하였다.

드론을 그림 7과 같이 면적을 선택한 뒤 측정하였다.

OBDDBE_2019_v14n3_157_f0007.png 이미지

그림 7. 운동장 면적 측정

Fig. 7 Area measurement of field 1

좌석을 제외한 대운동장의 넓이는 19,500m2이다. 면적 측정 시 총 면적에서 제외하고 싶은 영역이 있을 경우 종료 후 해당 위치를 선택한다.

드론이 비행을 하며 중첩되지 않게 사진을 촬영한 뒤 비행이 종료되면 사용자는 그림 8과 같이 촬영된 이미지와 면적을 스마트폰 애플리케이션으로 확인할 수 있다. 이때, 그림 8의 b와 같이 원치 않는 구역을 선택하면 해당 면적은 흰색으로 표시된 뒤 제외시키고 나머지 면적을 계산한다.

OBDDBE_2019_v14n3_157_f0008.png 이미지

그림 8. 운동장 면적 측정

Fig. 8 Area measurement of field 2

면적 선택을 이용한 측정은 애플리케이션으로 확인하기 때문에 m단위를 사용할 수 있다.

25m 높이에서 실험하였을 때 다섯 번 중 세 번은 19,500m2정확하게 측정되었으며, 나머지 두 번은 19,502m2, 19,499m2로 측정되었다.

50m 높이에서 실험하였을 때 다섯 번 중 세 번은 19,500m정확하게 측정되었으며, 나머지 두 번은 19,501m2으로 측정되었다.

총 열 번의 실험을 통해 얻어진 면적의 평균은 19,500.3m2이며 실제 면적과 0.3m2차이가 났다.

3. 경로 지정은 이용한 측정

경로 지정은 그림 9와 같이 경로를 지정하였다. 세명대학교 인근 산림 중에 있는 무덤의 면적을 측정하였다. 실험을 진행한 장소의 무덤이 위치한 곳은 주변과 다르게 산림이 형성되어 있지 않기 때문에 다른 장소보다 쉽게 면적을 측정할 수 있어서 실험을 진행하였다.

OBDDBE_2019_v14n3_157_f0009.png 이미지

그림 9. 경로 지정

Fig. 9 Path setting

자율 비행을 하는 중에 주변과 확연하게 색이 다른 위치의 면적을 측정하게 하였다. 주변에 무덤이 하나인 곳을 선택하여 측정하였다. 실제 무덤 면적은 1,000m2이다.

그림 10은 자율 비행 중 드론이 무덤의 면적을 측정하는 영상을 캡처한 것이다.

OBDDBE_2019_v14n3_157_f0010.png 이미지

그림 10. 경로 지정

Fig. 10 Path setting

25m 높이에서 실험하였을 때 네 번은 980m2 측정되었으며 나머지 한 번은 981m2로 측정되었다.

50m 높이에서 실험하였을 때 다섯 번 모두 980m2 측정되었다.

20m2의 오차는 무덤 바로 옆에 나무를 심어 조경을 했기 때문에 드론은 해당 위치를 산림으로 인식하여 면적에 포함하지 않았다.

V. 결론

실험을 통해 본 논문의 시스템에서 측정한 면적과 실제 면적의 오차가 생기는 것을 확인하였다. 하지만 여러 번 실험을 한 뒤 결과 값의 평균을 구하였을 때, 실제 면적과 큰 차이가 나지 않는 것도 확인하였다.

택배, 배달 등 단순한 기능을 추가한 드론 기술이 아니라 영상 처리와 융합한 기술이기 때문에 다양한 산업 분야에서 사용될 수 있다. 사람의 접근이 어려운 산간 지역이나 오염 구역 등에서 원하는 면적을 쉽게 구할 수 있다. 특히, 경로 지정을 통한 면적 측정 방식은 양봉을 위한 밀원 구역 확보, 소나무 재선충병 면적 확인, 주행 도로 상 불법 주차 차량 확인 등 다양하게 사용될 수 있다.

현재 본 논문의 시스템은 흑백 영상 처리를 하여 빛의 패턴을 통해 면적을 측정을 한다. 그래서 비슷한 색이 밀집한 곳의 특정 면적은 측정하기가 까다롭다. 향후 컬러 영상 처리를 통해 색을 구별하여 면적을 측정하는 시스템을 개발할 예정이다.

References

  1. S. Kim, J. Kim, "Autonomous-flight Drone Algorithm Using Computer Vision and GPS," Journal of IEMEK J. Embed. Sys. Appl., Vol. 11, No. 3, pp.193-200, 2016 (in Korean).
  2. Republic of Korea Ministry of Land, Transport and Maritime Affairs, "Enforcement Rules of Aviation Act 112 Article," 2017 (in Korean).
  3. H.M.Easlon, A.J. Bloom, "Easy Leaf Area: Automated Digital Image Analysis for Rapid and Accurate Measurement of Leaf Area," Journal of Applications in Plant Sciences, Vol. 2, No. 7, 2014.
  4. J. Kim, S. Kim, "The Autonomous Flight System Development of Drones for Nectar Source Navigation Based on Real Time Image Processing," Semyung Univ., Ph.D, 2016
  5. J. J. Lugo, authorAndreas Zell, "Framework for Autonomous On-board Navigation with the AR.Drone," Journal of Intelligent and Robotic Systems, Vol. 73, No. 1, pp. 401-412, Jan 2014 https://doi.org/10.1007/s10846-013-9969-5
  6. W. Park, J. Choi, S. Choi, N. Hwang, H. Kim, "Real-Time Shooting Area Analysis Algorithm of UAV Considering Three-Dimensional Topography," Journal of Korean Institute of Communications and Information Sciences, Vol. 38, No. 12, pp. 1196-1206, 2013 (in Korean).
  7. Piazzo, Lorenzo, "Image Estimation in the Presence of Irregular Sampling, Noise, and Pointing Jitter," Journal of IEEE Transactions on Image Processing, Vol. 28, No. 2, pp. 713-722, Feb 2019 https://doi.org/10.1109/TIP.2018.2869725
  8. M.J. Grinsven, B. Ginneken, C.B. Hoyng, T. Theelen, C.I. Sanchez, "Fast Convolutional Neural Network Training Using Selective Data Sampling: Application to Hemorrhage Detection in Color Fundus Images," Journal of IEEE Transactions on Medical Imaging, Vol. 35, No. 5, pp. 1273-1284, 2016. https://doi.org/10.1109/TMI.2016.2526689
  9. A. Dave, A.K. Vadathya, R. Subramanyam, R. Baburajan, K. Mitra, "Solving Inverse Computational Imaging Problems Using Deep Pixel-Level Prior," Journal of IEEE Transactions on Computational Imaging, Vol. 5, No. 1, pp. 37-51, 2019. https://doi.org/10.1109/TCI.2018.2882698