Ⅰ. 서론
1-1 연구 배경
산에서 발생하는 화재는 불에 의해 거주지와 야생 생물 서식지와 산림을 파괴될 뿐만 아니라 공기까지 오염시킬 정도로 환경에 악영향을 끼친다. 또한 최근에는 대형 산불 빈도가 증가하고 있고 미래에는 대형 산불이 발생하는 비율이 더욱 늘어날 것으로 예상된다[1]. 때문에 산불 발생시 대형 산불로 번지는 것을 막고자 화재 발생 초기에 산불을 빠르게 탐지할 수 있는 여러 방안이나 시스템이 개발되고 있다. 이 중에서도 드론으로 통칭되는 소형 무인항공기를 이용한 방안이 상대적으로 비용이 저렴하고 위험도도 낮을 뿐만 아니라 CCTV처럼 고정 감시가 아닌 여러 지역을 다양하게 감시할 수 있어 산불을 탐지하는데 적극적으로 연구되고 있다[2]. 특히 드론이 보내 주는 실시간 영상을 컴퓨터 비전 분석 기법을 활용하여 산불을 탐지하는 연구가 활발히 진행되고 있다[3, 4].
그러나 다수의 연구들이 산불 이미지의 비전 분석 알고리즘 개발에 초점이 맞추어져 있어 실제 화재 상황에서 산불 조기 탐지를 위해 드론이 보내주는 스트리밍 영상을 실시간으로 분석하면서 산불을 감시하는 동영상 프레임 이미지 처리와 산불 탐지 성능 이슈가 제기되고 있다. 그러므로 본 연구는 드론에서 보내는 영상을 실시간으로 처리하여 산에서 발생한 불과 연기를 조기에 탐지하고 화재로 오인될 수 요소의 오탐지률을 줄이는 드론 스트리밍 산불 탐지 시스템을 제안하였다.
1-2 연구 동향
산불탐지 시스템 개발 초기에는 산불을 탐지하기 위해 열감지센서를 이용하거나 위성에서 촬영한 사진을 사용했다. 하지만 열감지기의 경우, 위치와 규모를 알려주지 못하는 단점을 가지고 있었고 위성 촬영 사진 또한 낮은 해상도로 산불을 조기 감지하기에는 미흡함이 있었다[3]. 그래서 이 단점들을 상쇄할 수 있는 컴퓨터 비전 알고리즘을 통한 산불 탐지가 연구되었다. 이를 위해 CCTV와 같은 고정된 위치의 카메라에서 촬영된 영상자료를 활용하여 산불 탐지를 시도했다. 그런데 해당 방법은 고정된 위치에서 영상을 받기 때문에 CCTV 범위 외의 지역에 산불이 발생하면 탐지하지 못하는 문제가 발생하게 되면서 드론과 소형 무인 항공기가 주목을 받았다[2, 3, 4]. 드론은 CCTV처럼 고정된 지역에서 벗어나 어느 곳이든 자유롭게 촬영이 가능하면서 다양한 각도에서 볼 수 있다는 큰 장점 덕분에 기존의 산불 탐지를 위해 사용했던 방법의 단점들을 모두 상쇄시킬 수 있었다[5]. 그래서 알래스카와 네덜란드는 산불 감시 임무에 드론을 투입하는 실험을 진행했고 해당 실험에서 임무를 성공하는 결과를 얻게 됨에 따라산불 탐지에서 드론 운용이 선호되는 방법으로 자리잡았다[6] .
영상 내에서 산불과 연기가 발생한 위치를 찾기 위해 다양한 머신러닝/딥러닝 기법들이 시도되었고 이중 신경망 알고리즘의 하나인 CNN(Convolutional Neural Network)를 사용한 알고리즘으로 원하는 객체를 탐지할 수 있는 객체 인식 알고리즘이 각광받으면서 산불 탐지에서도 해당 기술이 연구되기 시작했다. Zhang et al. (2017)은 산불에서 발생하는 연기를 탐지하는데 분류(Object Detection)과 지역화(Region Proposal)를 순차적으로 수행하는 2-stage 모델 RCNN (Regions with CNN) 중 비교적 성능이 빠른 Faster-RCNN을 활용하여 90% 이상의 연기를 탐지하는 연구 성과를 보였다[7]. 하지만 높은 탐지 성능에 비해 RCNN 모델은 대체로 속도 측면에서 빠르지 않는 알고리즘이었기 때문에[8] 실시간으로 탐지해야 하는 산불에는 적합하지 않다고볼 수 있다.
이의 대안으로 1-stage detector 기반의 객체 인식 알고리즘인 YOLO(You Only Look) 모델을 산불 탐지에 사용하려는 연구가 진행되었다. YOLO 모델은 이전에 사용되던 RCNN 계열 모델보다 적은 네트웍 계층과 필터를 가지고 객체를 탐지한다. 또한 객체를 탐지하는 과정을 보면 원본 이미지를 S×S 그리드셀로 분할한 뒤에 각 그리드 셀에 가진 객체 후보 영역을 기반으로 객체가 존재할 영역과 객체를 구분하는 과정을 동시에 수행한다. 해당 방식을 통해 빠르게 탐지가 가능하여 실시간 영상에서 객체 인식 모델을 사용 가능하게 만들었다. Goyal et al.(2020)의 연구에서는 YOLO 알고리즘을 통해 정확도 90%인 산불 탐지 모델을 만들어냈고 라즈베리 파이 카메라를 한 지역에 설치하여 실시간으로 오는 영상에 만든 탐지 모델을 사용하여 탐지된 결과를 모니터링하는 시스템까지 구축했다 [9]. 이후 YOLO v2 모델을 활용하여 산불과 산불이 아닌 것을 구분하고 정확도 90%인 탐지하는 모델을 라즈베리 파이에 구현하고 이를 통해 실시간으로 탐지할 수 있는 시스템[10]을 개발하는 등의 후속 연구도 계속 이어지고 있다. 그러나 라즈베리 파이로 구현한 장치는 고정된 지역에서 설치하여 영상을 전송하기 때문에 다양한 지역을 관찰해야 하는 산불 탐지에서는 한계점이 명확했다. 그래서 해당 한계점을 해결해줄 수 있는 드론이 산불 탐지에 사용되는 것이 거론되었고 객체 인식을 통해 실시간 촬영한 영상에서 산불을 탐지하는 연구를 진행하기 시작했다.
Ⅱ. 본론
본 연구는 드론을 이용해 산림지역에서 촬영한 스트리밍 영상데이터를 실시간 분석하여 산불과 연기를 조기에 탐지할 수 있는 실시간 산불탐지 시스템 개발을 목표로 하고 있다. 이를 위해 이미지 데이터수집, 전처리, 스트리밍 영상 데이터 처리 미들웨어와 산불 탐지 알고리즘을 구현하였다. 특히 산불을 보다 정확히 탐지하기 위해서 드론이 산 위 상공에서 비행하는 높이를 가정하고 이때 촬영되는 산불과 연기, 그리고 비슷한 형상(단풍, 석양, 구름 등)을 식별할 수 있도록 탐지 모델을 구현하고자 하였다. 여기에활용되는 비전 분석 객체 인식 알고리즘은 YOLO v2을 활용하였다. YOLO모델은 최근까지도 계속 모델이 고도화되어 진화하고 있으나 본 연구에서는 분류모델의 성능뿐만 아니라 실제 비행중인 드론에서 스트리밍 데이터를 실시간 수신하여 산불 조기탐지라는 실용적 목적을 위해 기존 연구에서도 검증되고 본 연구의 실증 시스템 구현의 용이성을 위해 YOLO v2를사용하게 되었다. YOLO v2는 YOLO v1의 탐지성능을 개선시킨객체 인식 기반 딥러닝 모델로 성능개선을 위해 BackBone단에서 기존에 사용하는 프레임워크인 Googlenet을 Darknet-19로 교체하였다[11]. Darknet은 DNN을 학습시키고 실행시킬 수 있는 프레임워크이며 이중에 19개의 layer로 이루어진 Darknet-19를 YOLO v2 Backbone에 활용했다. 또한 탐지 영역을 찾는 방법을 다른 방식으로 교체했다. 분할된 각 그리드 셀에서 YOLO v1은 객체 후보 영역을 정하는 방식을 사용했는데 YOLO v2는 각 그리드 셀별로 사전에 크기와 비율이 결정된 박스를 미리 두고 해당 박스를 학습을 통해 위치나 크기를 조정하는 anchor box를 도입했다. 이러한 개선된 점들을 통해 YOLO v2는 이전 버전보다 높은 탐지 정확도를 가졌을 뿐만 아니라 빠른 수행 속도까지 얻게 되었다.
2-1 산불 이미지 데이터 수집
산불 탐지 모델 개발에 사용될 이미지는 드론 비행 중에 촬영한 영상과 최대한 유사한 사진 이미지를 대상으로 수집했으며, 그림 1과 같이 실제 산에 화재가 발생한 사진과 화재가 없는 일반적인 산의 경치를 담고 있는 사진들로 구성하였다.
그림 1. 산불 이미지
Fig. 1. Forest fire images
산불 사진은 인터넷에 제공되는 공개용 사진과 영상 자료를 크롤링하여 수집했으며 일반적인 사진에서도 가급적 화재로 오탐 할 수 있는 요소들, 가령 실제 화염(불과 연기)과 유사한 단풍, 빨간 지붕, 석양, 빨간 꽃, 도시 불빛, 구름, 안개, 공장 연기 등이 담기 사진을 주로 수집했다. 이렇게 수집된 이미지 개수는 총 4278개로 산불 이미지는 약 1850개, 산불로 오인될 수 있는 이미지는 약 2430개이며 해당 데이터를 가지고 학습을 진행했다.
그리고 YOLO v2 모델 학습에 앞서 수집된 이미지 데이터를 Train/Test 셋을 90:10 비율로 나누었다. 해당 작업에서 Test 데이터에 산불 이미지가 많이 들어가는 등 하나의 특정한 클래스가 과도하게 들어가는 것을 막고자 각각 산불 이미지, 산불로 오탐지될 수 있는 이미지의 구성 비율을 50:50로 정해 분리했다. Train 데이터는 YOLO v2 모델의 특징에 따라 이미지를 재조정(resize)하지 않고 학습시키는데 필요한 라벨링 과정을 진행했다. 라벨링저장 형태는 한 이미지당 하나의 xml 파일로 만들었으며 폴더형태도 이미지 폴더와 annotation 폴더로 나누어서 구성했다. 라벨링 과정에서 산불 이미지의 경우, LabelImg 프로그램을 사용하여 bounding box 위치와 라벨링 작업을 진행했다. 특히 작은 불씨와 연기를 인식하여 산불 조기 탐지가 될 수 있게 만들고자 bounding box를 큰 사이즈가 아닌 작거나 중간 사이즈로 진행했다. 이외에 산불로 오인될 수 있는 이미지의 경우, YOLO v2가 학습 모델로 인식할 수 있도록 직접 xml 제작코드를 구현하여 각 이미지마다 위치와 라벨링 공간이 빈 xml 파일을 만들었다.
2-2 모델 학습 및 성능 평가 지표
산불 탐지 모델은 Python 기반 환경에서 Tensorflow를 활용하여 구현했다. YOLO v2의 코드를 일부분 수정하여 오탐지로 오인될 수 있는 이미지와 해당 이미지가 가진 xml 파일도 학습 데이터로 인식하게 만들어 산불 탐지 모델 학습에 사용했다. 하이퍼파라미터(epoch, optimizer 등)을 수정해가면서 최적의 산불 탐지 모델을 학습하고 분류 성능을 테스트했다.
객체 인식 성능 평가 척도로는 혼동행렬(Confusion Matrix)을 통해 계산되는 정확도, 재현율, 정밀도, F1-score, 총 4가지의 척도를 기본적으로 사용하였고 실시간 촬영 영상에서는 프레임별 화재 탐지 분류 정확도로 성능을 평가하였다. 참고로 정확도(Accuracy)는 전체 테스트 데이터에서 예측한 결과가 실제 정답인 데이터로 나눠서 나타나는 값이며 정확하게 예측한 비율을 나타낸다. 재현율(Recall)은 정답이 True인 데이터에서 모델이 True라고 예측한 비율을 나타내며, 정밀도(Precision)는 모델이 True라고 예측한 데이터에서 실제로 True인 데이터의 비율을 보여준다. 마지막으로 F1-score는 재현율과 정밀도를 조화평균하여 나오는 값으로 재현율과 정밀도 모두 균형 있게 반영하여 모델의 성능을 판단하는 척도이다. 해당 척도들은 0~1 사이의 값을 가지며 값이 1에 가까울수록 좋은 성능을 가진 알고리즘이라고 볼 수 있다.
Ⅲ. 실증 테스트
3-1 산불 탐지 분류 모델 성능
산불 조기 탐지를 위해 감시 드론에서 촬영된 이미지를 분석하여 화재 여부를 분류할 수 있는 최적의 산불 탐지 알고리즘을 개발하고 모델 성능을 평가하였다. 테스트에 사용한 데이터는 모델 학습 전에 분리한 Test set 이미지 중 랜덤하게 200장을사용했다. YOLO 모델 성능 점검을 위해 입력 이미지의 그리드 셀에서 탐지되는 오브젝트를 화재로 분류할 확률임계값(Threshold)는 0.4로 지정했고, 실제 경계 박스와 예측경계 박스의 합집합 면적 대비 교집합 면적의 비율을 의미하는 IOU(Intersection Over Union) 값도 0.4로 지정하여 실제 박스와 예측한 박스의 겹치는 비율이 0.4 이상 일 때만 화재로 인식하도록 설정하여 분류 성능을 테스트하였다. 테스트 결과, 산불과 산불이 아닌 것을 탐지하는 정확도(Accuracy)는 0.93, 재현율(Recall)는 약 0.93, 정밀도는(Precision)는 약 0.95, F1-score는 약0.94의 결과가 나왔다.
표 1. 산불 이미지 탐지 정확
Table. 1. Result of forest-fire image detection
실제 테스트 이미지에서 탐지된 결과를 보게 되면 그림 2와 같이 산불의 경우, 불이 존재하는 대부분의 영역을 탐지하는 것을 볼 수 있었고 작은 불씨까지 인식했으며 연기의 경우는 불 근처에 있는 곳을 인식하거나 그 위의 영역을 탐지하는 모습을 볼수 있다. 그리고산불로 오탐지될 수있다고 생각한 단풍, 구름 등의 경우, 불이나 연기로 탐지되지 않는 겻을 확인할 수 있었다.
그림 2. 산불 이미지와 탐지결과 비교
Fig. 2. Forest fire detection results
이렇게 수집된 이미지 데이터를 활용해 개발된 산불 탐지 알고리즘은 드론이 실제 비행중에 촬영하고 송출하는 스트리밍 영상데이터를 실시간으로 분석하여 산불을 정확하게 탐지할 수 있도록 실증 테스트 환경을 구축하고 산불 탐지 성능을 확인하였다.
3-2 실시간 드론 영상 탐지 실험
실증 테스트를 수행하기 위해 실제 산불 발생 시 유사한 환경인 경기도 포천의 모의산불 실험장에서 불을 피워 불과 연기가 일어나는 곳과 아닌 곳을 동시에 촬영하여 영상 데이터를 실시간 송출하고 산불을 탐지하였다. 보통 실사 카메라의 경우 초당 24프레임 이상의 이미지를 전송하는데 이를 모두 산불 탐지 알고리즘에 입력변수로 활용할 경우 모델이 정상가동되지 못하는 경우가 발생한다.
이를 해결하기 위해 그림3에서처럼 드론이 보낸 실시간 영상을 산불탐지 시스템의 미들웨어 서버를 통해 동영상 자료를 개별 이미지 프레임 단위로 먼저 변환한 후 초당 다섯 프레임의 영상이미지를 선별하여 해상도를 1920x1080 수준으로 조정하였다. 이렇게 선별된 이미지를 산불탐지 모델로 전달하여 화재 여부를 분류하도록 하였다. 드론이 촬영한 영상 자료는 이러한 프로세스를 거처 산불탐지 모델에서 화재여부를 실시간으로 계속 분류하며 만약 산불화재가 탐지되면 화재상황으로 분류된 이미지들이 산불감시 모니터링을 위하여 별도의 이미지 프레임으로선별저장된다.
그림 3. 드론 영상 실시간 산불탐지 시스템 구성
Fig. 3. Drone camera forest-fire detection system
실증 테스트에서는 드론을 약 5분간 실제 비행 하면서 화재 현장과 주위 산악 현장을 실사 카메라로 촬영하였고 이 영상을 실시간으로 산불 탐지 시스템으로 전송하고 탐지 결과를 확인하였다. 실증 영상에서 육안으로 보았을 때 산불에서 나오는 연기라고 판단할 수 있는 부분이 43개 프레임이었으나, 산불 탐지모델은 표2에서 보는 바와 같이 41개 프레임만을 산불로 탐지하였다.
표 2. 드론 촬영 영상의 산불 탐지 정확도
Table. 2. Result of real-time forest-fire detection
산불탐지 시스템에서 선별된 41개 프레임의 화재 이미지 중에서 30프레임은 실제 불에서 나오는 연기를 정확하게 탐지하였으나 오탐된 나머지 11프레임의 경우 아래 그림 4에서와 같이 실험환경 주변의 빨간 지붕, 회색 건물로 불과 연기와 유사하게 보일 수 있는 요소들이 존재하여 오탐이 발생하였다. 또한 육안으로 확인되는 2개 프레임에 대해서는 산불탐지 시스템이 탐지 자체를 못하는 미탐 상황이 발생하였다. 결과적으로 이는 실제 산불이 발생하는 화재현장이 산악 지대로서 드론과 산불탐지시스템간의 무선통신 환경에 장애가 시스템 구현에 가장 큰 장애가 되었다. 또한 이를 해결하기 위해 드론에서 실시간으로 전송되는 초당 24프레임의 고해상도 이미지를 실시간으로 전처리하는 과정에서의 영상 이미지 프레임 선별과 해상도 조정 등 현실적인 시스템 가동을 위한 제약사항들로 인한 성능 저하가 발생하였다.
그림 4. 드론 촬영 영상의 실시간 산불 탐지 결과
Fig. 4. Real-time cases of forest-fire detection
Ⅳ. 결론
본 연구는 산불 감시를 위해 드론에서 촬영된 이미지를 실시간으로 분석하여 화재 여부를 분류할 수 있는 드론 산불 탐지 시스템을 개발하고 실증 테스트를 통해 산불 탐지 모델의 성능을 평가하였다. 산불 탐지 모델은 객체 인식 알고리즘 YOLO v2를 사용하여 구현하였으며, 실증 테스트를 통해 드론이 보내는 영상에서 산불을 조기탐지하면서 단풍, 석양, 구름 등과 같은 오탐지에 대한 비율을 줄일 수 있는지에 대한 분석을 진행했다.
연구 결과, 산불 이미지를 통한 테스트에서는 F1-score가 약 94%인 모델을 개발해낼 수 있었고 발화 초기의 작은 불씨부터 화재가 상당히 진척된 큰 불과 화재주의의 연기까지 잘 인식하여 탐지하는 것을 확인하였다. 또한 단풍, 구름 등의 요소들이 불과 연기로 인식되지 않도록 학습하여 이로 인한 오탐확률을 낮출 수 있었다. 그러나 이후에진행된 실증 테스트에서는 실제 드론이 비행하여 모의 산불을 촬영하는 영상을 실시간으로 전송/처리/분석하여 산불을 탐지하였으나 산불탐지 알고리즘의 정확도가 약 70%로 낮아지는 결과를 확인하였다. 이는 실제 산불이 발생하는 화재현장이 산악 지대로서 드론과 산불탐지시스템간의 무선통신 환경에 장애가 발생하기도 하고 실시간으로 전송되는 스트리밍 데이터가 초당 30프레임의 고해상도 이미지로 전달되어 이를 실시간으로 분석하기 위해 전처리하는 과정에서 영상 이미지 프레임 선별과 해상도 조정 등 현실적인 운용을 위한 제약사항들로 인한 성능 저하가 발생하였다.
본 연구의 시사점은 첫째, YOLO 알고리즘을 활용한 산불의 조기탐지의 가능성을 확인하였다. 기존 연구에서 YOLO v2는 탐지하는 물체의 크기가 작으면 탐지률이 낮다는 결과가 있었는데 본 연구에서는 bounding box를 크게 하지 않았을 때 YOLO v2가 작은 불씨를 잡아내는 것을 확인할 수 있었다. 이러한 결과는 YOLO를 사용하여 산불 조기 탐지에 활용하려고 할 때 하나의 해결 방안으로 제시해줄 수 있을 것이다. 둘째, 드론의 실시간 촬영에서 나타나는 다양한 상황에서도 정확한 산불 탐지를 가능하게 하는 시스템을 구현하고 실증하였다. 산불로 오인될 수 있는 다양한 요소들을 산불 이미지와 함께 학습시켜서 불과 연기를 정확히 탐지하면서 유사한 이미지를 오탐하지 않도록 모델을 적용하였다. 또한 산림지역에서 드론을 이용한 실시간 영상을 수집/처리/분석하여 산불을 조기 탐지 할 수 있음을 실증테스트를 통해 확인하였다.
하지만 본 연구는 이러한 시사점과 더불어 다음과 같은 한계점을 가지고 있다. 무엇보다도, 드론의 산불 실증 테스트 과정에서 발견된 실제 환경에서의 산불 탐지 성능 제하문제를 개선해야 한다. 연구실의 고성능 컴퓨터에서는 97%의 화재탐지 분류성능이 야외에서 진행된 실증 환경에서는 70%로 떨어졌는데 이는 드론 카메라에서 촬영된 영상이 실시간으로 무선통신망을 거쳐 산불탐지 시스템으로 전송되어 처리/분석/탐지되는 과정에서 산불탐지 성능이 저하되는 현실적 문제가 발생되었다. 이를 보완하기 위해서는 드론의 비행 성능을 해치지 않으면서 구동이 가능한 임베디드 탐지모듈을 드론에 장착하거나 스트리밍 영상 처리 성능을 향상시키는 후속 연구들이 필요하다.
References
- Dennison, P.E., Brewer, S.C., Arnold, J.D., and Moritz, M.A., "Large wildfire trends in the western United States, 1984-2011," Geophysical Research Letters, Volume 41, Issue 8, pp.2928-2933, 2014. https://doi.org/10.1002/2014GL059576
- Cruz, H. Eckert, M., Meneses, J., and Martine, J. F, "Efficient Forest Fire Detection Index for Application in Unmanned Aerial Systems(UASs)," Sensors, Vol 16, Issue 6, pp. 893, 2006.
- Allison, R. S., Johnston, J. M., Craig, G., and Jennings, S., "Airborne Optical and Thermal Remote Sensing for Wildfire Detection and Monitoring," Sensors, Vol 16, Issue 8, pp. 1310, 2016.
- Alkhatib, A. A., "A review on forest fire detection techniques," International Journal of Distributed Sensor Network, Vol 10, 2014.
- Sherstiuk, V., Zharikova, M., and Soko, I., "Forest Fire-fighting monitoring system based on UAV team and remote sensing," 2018 IEEE 38th International Conference on Electronics and Nanotechnology, pp.663-668, 2018.
- Viseras, A., Marchal, J., Schaab, M., Pages, J., and Estivill, L. "Wildfire Monitoring and Hotspots Detection with Aerial Robots: Measurement Campaign and First Results," 2019 IEEE International Symposium on Safety, Security, and Rescue Robotics, pp.102-103, 2019. https://doi.org/10.1109/SSRR.2019.8848961.
- Zhang, Q. X., Lin, G. H., Zhang, Y.M., Xu, G., and Wang, J. J., "Wildland Forest Fire Smoke Detection Based on Faster R-CNN using Synthetic Smoke Images," Procedia engineering, Vol 211, pp. 441-446, 2018. https://doi.org/10.1016/j.proeng.2017.12.034
- Lee, Y. H., and Kim, Y., "Comparison of CNN and YOLO for Object Detection," Journal of the semiconductor & display technology, 19(1), pp.85-92, 2020.
- Goyal, S., Shagill, M. D., Kaur, A., Vohra, H., and Singh, A., "A YOLO based Technique for Early Forest Fire Detection," International Journal of Innovative Technology and Exploring Engineering (IJITEE), Vol 9, Issue 6, pp.1357-1362, 2020.
- Saponara, S., Elhanashi, A., and Gagliardi, A., "Real-time video fire/smoke detection based on CNN in antifire surveillance systems," Journal of Real-Time Image Processing, 18(3), pp. 889-900, 2021. https://doi.org/10.1007/s11554-020-01044-0
- Redmon, J., and Farhadi, A., "YOLO9000: better, faster, stronger," 2017 IEEE conference on computer vision and pattern recognition, pp.7263-7271, 2017.