이건영
(Keon Young Yi)
1
경덕환
(Deokhwan Kyeong)
2
서기성
(Kisung Seo)
1†iD
-
(Dept. of Electrical Engineering, Kwangwoon University, Korea)
-
(Dept. of Electronics Engineering, Seokyeong University, Korea)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Drone detection and classification, Deep learning, Convolution neural network, YOLOv2
1. 서론
드론을 사용하는 인구가 늘어남에 따라 사람에 대한 충돌 사고가 발생하고 있다. 또한 드론이 군사적 용도로 사용되기 시작했고, 공항에서의 드론 출현에
따른 위험성 등이 실제 현실에서 발생하고 있다. 이에 따라 드론 또는 비행체의 인식 문제는 드론을 사용한 타 물체의 인식 문제보다는 연구가 적은 편이지만,
점차 필요성이 증가하고 있다[1].
드론은 소형이고 빠른 이동 속도를 가지기 때문에 검출하는 것이 어려운 문제이다. 허공에 떠 있는 드론은 가까운 경우 인식이 수월하나, 멀리 떨어져
있을 경우에는 점으로 보이기 때문에 인식이 어렵고, 건물이나 전신주, 안테나 등의 인공 구조물이나 나무 등의 자연 구조물에 근접하는 경우에도 검출이
어렵다. 또한 기능 및 형태상 날아다니는 새와 혼동을 일으킬 수 있으며, 촬영 환경, 시기 및 광의 배경에 따라 얻어진 영상들의 차이가 크다.
지상에서 드론을 촬영할 때의 각도에 따라 드론의 특징적인 형상을 잘 표현하지 못하는 경우가 존재한다. 따라서 드론의 검출 문제 뿐 아니라. 유사한
드론 모델을 서로 구분하는 것은 드론의 특징 정보를 더 많이 필요로 하므로 더욱 난이도가 높은 문제이다.
딥러닝을 이용한 드론 검출에 대한 연구들은 다음과 같다. Haar 특징점 추출을 통해 드론을 검출하고 CNN을 통해 드론을 분류하는 결합 방식이 소개되었고,
전통적인 방식으로 드론을 검출하고, 드론 모델의 분류에만 딥러닝을 사용한 경우이다[1]. 다음 연구들은 딥러닝 일괄(end-to-end) 방식을 사용한 것이다. PTZ 캠을 사용하고 CNN 기반 알고리즘들의 처리 속도 비교를 통해 드론을
검출하고 추적하는 연구가 진행되었다. Faster R-CNN 방식이 성능은 가장 우수하나 처리 속도와의 균형에서 YOLOv2 적용이 무난한 것으로
나왔다[2]. 학습 데이터가 부족한 드론 이미지를 모델 기반 확장 기법을 통해 자동적으로 생성하는 연구도 존재한다[3]. Faster R-CNN 방식을 사용하여 드론과 새의 검출을 목적으로 하는 연구도 진행되었다[4]. 드론 이미지의 다른 배경과의 합성 그리고 새가 있는 배경과의 합성을 통해 데이터를 확장하였고, 드론의 검출에 YOLOv2를 사용하였다[5].
이상에서 볼 수 있듯이, 딥러닝 기반의 드론 검출 연구는 임의의 드론을 검출하거나[2,3], 유사 물체인 새와 구분하는 경우[4,5]가 대부분이다. 다중 드론에 대해서 딥러닝으로 검출과 분류를 시도한 연구는 거의 시도되고 있지 않고 있다.
본 논문에서는 DJI사의 Inspire2와 Phantom4Pro에 대해서 실제 촬영한 영상을 사용하여 보다 현실적인 검출 문제를 다룬다. 딥 러닝
객체 검출 알고리즘을 사용한 본 연구자의 유사 검출 연구에서[6] Faster R-CNN[7]과 YOLOv2[8,9]를 비교 분석한 토대를 기반으로 본 드론 검출에서는 YOLOv2를 적용한다. 그리고 ImageNet 데이터를 darknet 프레임워크에 전이학습[10] 시켜, 검출 성능 향상을 도모한다. 또한 촬영된 데이터의 양이 제한적이기 때문에 이를 보완하기 위해서 인터넷 상에서 수집한 드론 영상을 추가하여
학습한다. 다양한 환경에 대해서 평균 IoU와 재현율(Recall) 지표로 검출 성능을 평가한다.
2. 드론 검출 및 분류
2.1 드론 검출
드론 검출은 배경이 하늘과 뚜렷이 구분되어 검출이 용이한 경우도 있지만, 상당수는 너무 작거나, 나무 등 자연물에 근접한 경우, 건물 등 인공물에
인접한 경우, 그리고 복수개의 드론이 존재하는 경우 등은 검출이 어렵다. 또한 기상 조건 및 자연광의 상태에 따라서도 검출 난이도가 달라진다. 그림. 1과 그림. 2는 이러한 예시를 모아 놓은 영상들이다. 그림. 1은 드론을 조정하면서 직접 촬영한 영상들로서 태양의 방향 때문에 역광으로 인해서 컬러 영상이 그레이 영상과 유사하게 나타난다. 그림. 2는 인터넷상에서 수집한 영상으로 더 다양한 배경을 가진 컬러 영상을 포함한다.
그림. 1. 드론 검출 (1)–촬영 영상
Fig. 1. Detection of drones (1)-shooting images
그림. 2. 드론 검출 (2)–수집 영상
Fig. 2. Detection of drones (2) - collected images
2.2 드론의 검출 및 분류
드론의 검출 후 이를 모델별로 분류하는 것은 드론을 식별하기 위해서 필요한 기능이다. 대부분의 드론이 상공에 멀리 떨어져 있고 상대적인 크기가 작기
때문에 드론 모델을 구별하는 것은 또 다른 어려운 문제이다. 드론의 형태가 잘 나타난 영상에서는 이의 식별이 용이하나, 대부분 먼 거리에서 잡힌 작은
크기 때문에 드론 모델을 구성하는 특징이 잘 나타나지 않고, 회전 및 촬영 각도에 따라 형태상의 차이점이 소실될 수가 있다. 그림. 3은 Inspire2와 Phantom4Pro라는 서로 다른 모델에 대한 영상들이다. 이 두 모델을 정확하게 분류하는 것이 중요한 과제이다.
그림. 3. 드론의 분류
Fig. 3. Classification of drones
3. CNN 기반 드론 검출 기법
3.1 딥러닝 기반 물체 검출 기법
Faster R-CNN[7]은 이미지 내의 물체 검출을 수행하며 객체의 클래스 분류 뿐 아니라 이미지 상에서 물체의 위치, 넓이 및 폭을 경계상자로 나타낸다. Faster R-CNN의
컨볼루션 층과 풀링 층에서 출력되는 특징맵은 RPN(region proposal network)과 완전연결 층으로 연결된다. RPN은 특징맵에 슬라이딩
윈도우 방식으로 앵커(anchor) 박스를 적용한다. 앵커 박스는 크기와 비율을 변화시킨 다양한 크기로 구성되어 있고, 이들을 적용시켜 검출하고자
하는 객체가 존재할 만한 다양한 영역을 제안한다.
YOLOv2[8,9]는 기존의 검출 성능을 유지하면서 빠른 검출 시간을 목표로 한다. YOLOv2는 입력 이미지를 $S \times S$의 그리드 셀로 나눈 후 각 그리드
셀마다 5개의 앵커 박스를 적용하여 그리드 셀 내 객체의 존재 확률, 객체에 대한 클래스의 확률, 객체의 중심좌표와 객체의 너비 및 높이를 추정한다.
완전연결계층 대신 전역평균풀링(global average pooling)을 사용하여 클래스를 분류하기 때문에 Faster R-CNN기법에 비해 빠른
검출이 가능하다. Faster R-CNN이 9개의 앵커를 사용하는 비해 YOLOv2는 5개를 사용하는 점도 작용한다. 그림. 4에 YOLOv2의 구조가 나와 있다.
그림. 4. YOLOv2 구조
Fig. 4. YOLOv2 structure
Faster R-CNN과 YOLOv2의 비교는 다른 물체에 대해서 여러 논문에서 비교되어왔다[1,2,6]. 대부분 검출 성능은 비슷하나 검출속도에서 YOLOv2가 우수하며, 일부의 경우에선 검출 성능도 약간 더 YOLOv2가 우수함을 나타낸다.
3.2 전이학습
전이학습(Transfer Learning)[10]은 한 태스크(또는 도메인)에서 학습한 모델을 다른 태스크(또는 도메인)에 적용하는 것으로서, 두 번째 태스크에 대해서 빠른 학습과 더 나은 성능을
얻을 수 있게 해준다. 도메인이나 데이터에 따라 향상 효과의 차이가 다르다.
기존에 학습된 모델을 선택하고, 이를 새로운 데이터에 대해서 튜닝하는 과정을 거친다. 본 논문에서는 1000 클래스 분류 대상인 ImageNet 데이터에
대하여 사전 학습된 YOLOv2 darknet 모델을 가져와서, 이를 드론 분류 데이터에 대해서 추가 학습을 진행한다. 전이학습된 darknet의
특징 추출기를 검출(detection) 네트워크에 적용하고, 드론 위치/분류 데이터에 대해서 추가 학습한다.
4. 실험 및 결과 분석
4.1 드론 데이터 수집 및 생성
실험에 사용한 학습 및 평가 데이터는 직접 촬영한 1920x1080 크기의 동영상으로부터 프레임 단위로 분리한 영상을 기본으로 사용하였다. 부족한
데이터를 보충하기 위해서 기본적인 어파인 변환을 이용하여 확장하였다. 촬영한 동영상의 대부분에서 드론과의 먼 거리 때문에 드론의 크기가 작게 나타난다.
이러한 문제를 보완하기 위해서 드론 주변을 100x100 크기로 잘라낸 다음, 200x200 크기로 확대해서 생성하였다. 검출과 분류가 병행되어야
하는 문제이기 때문에 각각의 학습 목적에 맞게 구성하였다.
분류기 학습용 데이터는 직접 촬영한 영상을 가지고 3개의 클래스로 구성한다. 두 종류의 드론 외에 드론과 유사한 형태로 보일 수 있는 나뭇가지 클래스를
추가한다. 검출기 학습 및 테스트 데이터는 드론 주변을 448x448 크기로 잘라내어 구성하였다. 검출기 학습 데이터는 검출 대상인 두 드론에 대한
영상만으로 두개의 클래스로 구성한다. 이렇게 해서 얻은 1차 실험 데이터는 각 클래스 당 1600장이다.
기본적인 확장을 통해 얻은 1차 데이터만으로 다양한 영상을 얻기가 어려웠다. 검출 성능의 향상을 위하여 촬영 영상 외에 인터넷 상에서 드론 영상을
수집한 2차 데이터를 추가하였다. 1차 데이터와 합하여 클래스 당 5200장씩으로 구성된다. 2차 데이터의 드론 크기는 1차 데이터에 비해서 경우가
많으며 좀 더 복잡한 배경을 가진다. 정리된 데이터는 표 1과 같다.
표 1. 검출용 학습과 테스트 데이터
Table 1. Training and test data for detection
Training data
|
Test data
|
First
|
Second
|
Single drone
|
Multiple drones
|
Complex environments
|
1600/class
|
5200/class
|
265
|
236
|
363
|
4.2 Yolo 학습 방법
YOLOv2 학습은 C언어 기반의 darknet 프레임워크 상에서 수행되며, CUDA 8.0 또는 9.0 버전과 OpenCV 2.4.9 버전이 요구된다.
darknet은 객체 검출 알고리즘이 주를 이루고 있기 때문에, 객체 검출 알고리즘의 특징 추출기를 생성하는 것이 가능하다. 이 특징 추출기는 검출하려는
객체의 특징을 잘 추출하도록 분류기로 학습되며, 분류기 학습을 마치면 특징 추출기만 분리하여 검출기에 전이학습을 적용할 수 있다. 표 2에 YOLOv2 학습 파라미터가 나와 있다.
표 2. YOLOv2 학습 파라미터
Table 2. Training parameters for YOLOv2
Batch size
|
64
|
Epochs
|
300
|
Batch normailization
|
Applied
|
Number of anchors
|
5
|
Anchor boxes
|
(2.06, 1.71), (2.92, 2.19)
(4.23, 3.01), (6.11, 4.46)
(8.64, 6.64)
|
YOLOv2 알고리즘의 적용 시 앵커 박스의 수는 전체 데이터에 대해서 k를 증가시키면서 k-means 클러스터링에 따른 IoU 성능을 비교하여 결정한다.
사전 실험을 통해 얻은 수행 복잡도 대비 IoU 성능 향상 효과를 고려하여 5개의 앵커 박스를 사용한다. 학습률은 0.001부터 시작하여 배치 5000회부터
까지 단계적으로 감소시킨다.
4.3 실험 및 평가
실험은 총 3가지 학습 모델로 나누어 수행하였다. 첫 번째는 직접 촬영한 데이터를 일부 확장한 1차 데이터만을 사용하여 학습하였고, 두 번째는 1차
데이터에 ImageNet 데이터를 학습 시킨 모델을 전이학습시켜 적용하였다. 세 번째는 추가 확장된 2차 데이터에 전이학습을 적용하였다.
세 가지 모델에 대하여 검출 환경을 단일 드론, 다중 드론, 그리고 복잡 배경으로 나누어 성능 평가를 수행하였다. 실험의 성능 지표는 재현율(Recall)과
평균 IoU(Avg IoU)를 사용한다. IoU는 예측한 경계상자와 정답 경계 상자간의 공유 비율로, 두 영역의 교차 영역의 넓이를 합 영역의 값으로
나눈 값이다.
단일 드론 검출 실험에서 객체의 크기가 35x35픽셀보다 크고 객체 주변 배경이 단순한 영상을 가진 총 265장으로 구성하였다. 표 3에서 세 가지 모델 모두 재현율 96% 이상의 성능을 보였다. 이는 객체의 형상이 배경과의 차이가 분명하여 객체의 특징을 추출하기 용이함을 보여주고
있다. Avg IoU는 검출 박스의 크기가 정답 박스의 크기와 일치하기가 어렵기 때문에 일반적으로 재현율 수치보다 낮다. Avg IoU 성능은 67~71%
대로 나타나며, 각 방법 간의 성능 차이도 재현율 순으로 나타난다. 그림. 5에 단일 드론 검출에 대한 영상 예가 나와 있다.
표 3. 단일 드론 검출 성능
Table 3. Detection performances for single drone
Performance indices
|
Shooting images
|
Shooting images + Transfer learning
|
Shooting images + Collected images + Transfer learning
|
recall
|
97.74%
|
96.98%
|
96.60%
|
Avg IoU
|
71.25%
|
67.82%
|
67.08%
|
그림. 5. 단일 드론 검출 예
Fig. 5. Detection examples for single drone
다중 드론 실험은 두 개의 드론이 한 영상 내 모두 존재하는 것을 대상으로 한다. 대부분의 테스트 데이터에서 두 드론의 크기가 비슷한 경우는 적고,
드론의 크기가 서로 다른 경우가 대부분이었다. 1차 학습 데이터에 대한 검출 성능이 전이학습 적용에도 45%대에 머물렀다.
이러한 불균형한 영상에 대한 검출 성능을 높이기 위해 객체의 크기가 다양한 2차 학습 데이터를 추가하였고, 추가 실험에서 재현율이 63%대로 성능이
향상되었다. 다중 드론 Avg IoU 성능은 40~63%대로 나타나며, 각 방법 간의 성능 차이도 재현율 순과 일치한다. 단일 드론 검출 실험에 비해서는
각 방법에서의 재현율과 Avg IoU의 성능 수치가 비슷하게 나왔다. 표 4에 성능 결과가 정리되어 있고, 그림. 6에 다중 드론 검출에 대한 영상 예가 나와 있다.
표 4. 다중 드론 검출 성능
Table 4. Detection performances for multi drones
Performance indices
|
Shooting images
|
Shooting images + Transfer learning
|
Shooting images + Collected images + Transfer learning
|
recall
|
40.25%
|
45.55%
|
63.14%
|
Avg IoU
|
44.42%
|
46.89%
|
60.87%
|
그림. 6. 다중 드론 검출 예
Fig. 6. Detection examples for multiple drones
추가로 작은 크기 때문에 영상에서 제대로 구분이 안 되는 초소형 객체에 대해서도 실험을 수행하였다. 영상에서 드론의 크기가 35x35픽셀보다 작은
것을 따로 분류하여 실험을 시도하였다. 이 크기는 전체 이미지의 해상도 1920x1080에 비해서 아주 작은 비율이며, 대부분의 경우가 검출 및 분류
성능이 매우 저조하였다. 참고로 그림. 8은 이 중에서 정확히 검출 한 예이며, Phantom4Pro 크기는 15x11이고 Inspire2 크기는 21x23이다.
표 5. 복잡 배경 드론 검출 성능
Table 5. Detection performances for complex background
Performance indices
|
Shooting images
|
Shooting images + Transfer learning
|
Shooting images + Collected images + Transfer learning
|
recall
|
60.33%
|
69.15%
|
73.83%
|
Avg IoU
|
49.80%
|
54.76%
|
59.34%
|
그림. 7. 복잡 환경 드론 검출 예
Fig. 7. Detection examples for drones with complex environments
그림. 8. 작은 크기의 드론 검출 예
Fig. 8. Detection examples for drones looking small
5. 결 론
본 논문에서는 DJI사의 Inspire2와 Phantom4Pro에 대해서 실제 촬영한 영상을 사용하여 보다 현실적인 검출 문제를 실험하였다. 딥 러닝
객체 검출 알고리즘인 YOLOv2를 적용하였고, ImageNet 데이터를 darknet 프레임워크에 전이학습시켜, 검출 성능 향상을 꾀하였다. 또한
촬영된 데이터의 양이 제한적이기 때문에 이를 보완하기 위해서 인터넷 상에서 수집한 드론 영상을 추가하여 전이학습과 병행하여 적용하였다. 단일, 다중
드론 및 복잡 환경 3가지에 대해서 검출 성능을 평가한 결과, 1차 데이터만을 학습한 기본 성능에서 전이학습과 수집영상에 의한 2차 데이터 확장시
재현율의 향상을 얻을 수 있었다. 향후, 다양한 드론 모델 데이터를 대상으로 한 확장 실험이 필요하고, 네트워크 구조의 최적화와 학습 알고리즘의 개선을
통해 검출 성능의 향상이 필요하다.
References
Lee D. R., La W. G., Kim H., 2018, Drone Detection and Identification System using
Artificial Intelligence, IEEE Int. Conf. on Information and Communication Technology
Convergence (ICTC), pp. 1131-1133
Park J., Kim D., Shin Y., Lee S., 2017, A Comparison of Convolutional Object Detectors
for Real-time Drone Tracking Using a PTZ Camera, 2017 17th International Conference
on Control, Automation and Systems (ICCAS 2017), pp. 696-699
Chen Y., Aggarwal P., Choi J., Kuo C., 2017, A Deep Learning Approach to Drone Monitoring,
Proceedings of APSIPA Annual Summit and Conference 2017, pp. 686-691
Saqib M., Khan S. D., Sharma N., Blumenstein M., 2017, A Study on Detecting Drones
Using Deep Convolutional Neural Networks, IEEE Int. Conf. on Advanced Video and Signal
Based Surveillance (AVSS), pp. 1-5
Aker C., Kalkan S., 2017, Using deep networks for drone detection, IEEE Int. Conf.
on Advanced Video and Signal Based Surveillance (AVSS), pp. 1-6
Lee M., Seo K., 2018, Comparison of Region-based CNN Methods for Defects Detection
on Metal Surface, The Transactions of the Korean Institute of Electrical Engineers,
Vol. 67, No. 7, pp. 865-870
Ren Shaoqing, He Kaiming, Girshick Ross, Sun Jian, 2015, Faster r-cnn: Towards real-time
object detection with region proposal networks, Advances in neural information processing
systems, pp. 91-99
Redmon Joseph, Divvala Santosh, Girshick Ross, Farhadi Ali, 2016, You Only Look Once:
Unified, Real-Time Object Detection, Proceedings of the IEEE conference on computer
vision and pattern recognition
Redmon Joseph, Farhadi Ali, 2017, YOLO9000: better, faster, stronger, arXiv:1612.08242
Pan S., Yang Q., 2010, A survey on transfer learning, IEEE Transactions on knowledge
and data engineering, Vol. 22, No. 10, pp. 1345-1359
저자소개
1982년 한양대 전기공학과 졸업
1984년 동 대학원 전기공학과 졸업(석사)
1993년 동 대학원 전기공학과 졸업(공박)
1994~1996년 The Ohio State University, Dept. of EE, 연구원
2004~2005년 University of Hawaii, Dept. of ME, 방문연구원
2014년~현재 미니드론자율비행 경진대회 조직위원장
1996년~현재 광운대 전기공학교 교수
관심분야는 드론 제어, 드론 인식
2017년 서경대학교 전자공학과 졸업(학사)
2019 서경대학교 대학원 전자컴퓨터공학과 졸업(석사)
관심분야는 딥러닝, 컴퓨터비전
1986년 연세대학교 전기공학과 졸업(학사)
1988년 연세대학교 대학원 전기공학과 졸업(석사)
1993년 연세대학교 대학원 전기공학과 졸업(박사)
1999~2003년 Michigan State University, Genetic Algorithms Research and Applications
Group, Research Associate
2002~2003년 Michigan State University, Electrical & Computer Engineering, Visiting
Assistant Professor
2011~2012년 Michigan State University, BEACON (Bio/computational Evolution in Action
CONsortium) Center, Visiting Scholar
1993년~현재 서경대학교 전자공학과 교수
관심분야는 딥러닝, 컴퓨터비전, 기상예측, 지능로봇, 진화연산