Ⅰ. 서론
인류 역사에서 유사 이래로 화재로 인한 피해가 계속 발생하고 있고 우리나라는 매년 35,000건 이상의 화재가 발생하고 2,000명 이상의 인명피해가 발생하고 있다. e-나라지표의 통계에 의하면 화재 발생 건수는 연 4만여 건에서 3만 5천여 건으로 줄어들고 있으나 사상자의 수는 2천여 명 이상이 지속적으로 발생되고 재산피해는 2021년 기준 1,099,125(백만원)으로 계속 증가하는 추세에 있다. 최근의 화재발생 증감도를 살펴보면 2020년도 38,659건, 2021년도 36,267건으로 '20년 대비 2,392건(-6.2%) 감소하였다. 화재로 인한 인명피해는 사망 276명, 부상 1,854명으로 '20년 대비 사망자는 89명(-24.4%) 감소하였고, 부상자 64명(-3.3%) 감소하였다. 재산피해는 1,099,125백만원으로 집계 전년도에 비하여 약 83.0%인 498,650백만원이 증가하였다[1]. 장소별 화재발생 현황은 2021년도에 건축,구조물 화재의 발생건수가 23,997건으로 전체 화재건수의 66.2%를 차지하고 있으며, 주거에서 발생한 화재는 10,005건이고 비주거는 13,992건이다. 임야에서 발생한 화재도 1,063건에 이르고 있다[2]. 산불로 인한 피해도 매년 발생하는데 우리나라는 연평균(09~18년 평균) 432건의 산불이 발생하여 670ha의 산림이 소실되고 있으며, 최근에는 기후변화 등의 원인으로 전세계적으로 초대형 산불이 자주 발생하여 산불이 범국제적 재난으로 부각되고 있다. 산불은 큰 피해에 비해 원인은 사소한 부주의로 발생하고 있으므로 이를 사전에 예방하는 것이 중요하다[3].
또한 최근 발생하였던 대형 화재 사건으로 인하여 안전에 대한 일반인들의 관심이 높아지고 있고 화재는 재산피해뿐만 아니라 인명피해와도 직결되어 있어 중요한 문제로 다루어지고 있다. 2010년부터 2014년까지 서울시에서 발생한 28,032건의 화재 가운데 소방대가 5분을 초과해 도착한 751건에서는 평균 1,061만 원의 재산피해와 0.065명의 인명피해가 발생했다. 반면 5분 이내에 도착한 27,281건의 화재에서는 평균 292만 원의 재산피해와 0.044명의 인명피해가 발생했다. 빠른 시간 대응이 인명과 재산 피해를 줄일 수 있음을 알 수 있다[4].
최근 인공지능 기반의 딥러닝을 이용하여 이미지나 영상에서의 사물의 분류, 객체 인식, 분할, 실시간 행동 분석 등의 연구가 다양하게 이루어지고 있다. 류진규 등은 딥러닝 모델의 하나인 Faster R-CNN(Region with convolutional Neural Network)기반의 객체 탐지 모델을 이용하여 화재 이미지로부터 다양한 불꽃들을 감지할 수 있는 기법을 제안하였다. 이러한 딥러닝 기법을 이용한다면, 화재를 상시 감시해야 하는 인력의 수를 줄이고 넓은 범위에 걸친 화재 감지를 통해 실시간으로 화재 여부를 검출할 수 있고 화재에 빠르게 대응할 수 있는 시스템을 구축할 수 있다[4].
본 논문에서는 최근 이미지 분할(Segmentation)에서 뛰어난 성능을 보이고 의료 분야 등에서 많이 사용되고 있는 U-Net을 이용하여 화재 발생 시 화재를 검출하고 화재의 불꽃과 연기를 구분하여 분할할 수 있는 기법을 제안하였다. 사용되는 이미지는 컬러 이미지로 다중 클래스 분할 기법을 사용하여 배경과 불꽃 그리고 연기의 색깔별로 구분하여 분할하도록 하였다.
Ⅱ. U-Net
이미지 분류에 있어서 CNN(Convolution Neural Network)은 획기적인 성능향상을 가져왔다. 그러나 CNN은 1차원 행렬에 대해서만 연산이 가능하고 보다 상세하게 특징들을 추출하기 어려웠다. 이미지의 위치 정보가 사라지고, 입력 이미지의 크기가 고정된다는 단점이 있다. 이를 개선하기 위해 FCN(Fully Convolution Network)이 제안되었다. FCN은 초기 CNN 모델들이 시멘틱 분할(Semantic Segmentation)에서 좋은 성능을 보여주지 못해서 이러한 한계를 극복하기 위해 제안된 모델이다. 시멘틱 분할은 원본 이미지의 각 픽셀에 대해 클래스를 구분하고 객체와 배경을 분할하는 것으로 위치 정보가 매우 중요하다. 이를 위해 기존 CNN 마지막 부분의 완전 연결 계층들을 합성곱 계층으로 대체하여 원본 이미지의 위치 정보를 내포할 수 있게 함으로써 이 문제를 해결했다. 그러나 FCN의 출력 특징맵은 너무 거칠어서(coarse) 원본 이미지 크기에 가까운 조밀한(dense) 특징맵으로 변환해줘야 한다. 이를 위해 업샘플링(Upsampling)을 수행하고 스킵 구조(Skip Architecture)를 도입하여 개선된 분할 결과를 얻었다[5]. 이러한 개선에도 불구하고 FCN은 원본 이미지와 같은 크기로 키우는 과정에서 위치와 경계 같은 정보에 대해서 손실이 발생하게 되고 이에 따라 부정확한 분할 결과를 얻게 된다.
U-Net은 FCN의 단점을 보완하여 특정 이미지에 대한 단순한 레이블을 지정하는 것으로 이미지를 인식하지 않고 이미지 그 자체의 특정 영역을 레이블로 구현한다. 즉, 이미지 분할에 특화된 FCN을 활용해 이미지를 상세히 분할하고, 각 픽셀을 레이블링해 특정 영역을 자동으로 검출한다. 그림 1은 U-Net의 구조를 나타낸다[6].
그림 1. U-Net의 구조
Fig. 1. Structure of the U-Net
U-Net의 가운데를 중심으로 왼쪽 부분을 수축 경로(Contracting path) 또는 인코더(Encoder)라고 하고 오른쪽 부분을 팽창 경로(Expanding path) 또는 디코더(Decoder)라고 한다. 인코더는 이미지의 컨텍스트 정보를 얻고 디코더는 정확한 지역화(Localization) 정보를 추출한다. 인코더에서는 입력 이미지의 합성곱 연산이 연속해서 수행된 후 풀링 연산이 수행된다. 디코더는 인코더에서 얻어진 최종 특징맵으로부터 더 높은 해상도의 분할 결과를 얻기 위해 업샘플링(Upsampling)을 수행하며 수축 경로의 같은 수준의 특징맵을 확장 경로의 특징맵과 결합하여 합성곱(Convolution) 연산을 수행한다. 즉, 인코더에서 디코더로 정교한 정보를 넘겨주는 스킵(Skip) 연결을 통해 보다 더 선명한 분할 결과를 얻을 수 있다. 이를 통해 적은 수의 이미지로도 정확한 이미지 분할이 가능하게 되었다.
Ⅲ. 화재 데이터셋 및 학습
1. 화재 데이터셋의 구성
딥러닝을 이용한 이미지 분할을 위해서는 많은 양의 학습데이터가 필요하다. 본 논문에서 화재 발생 시 화재를 검출하고 화재의 불꽃과 연기를 구분하여 분할하는 U-Net 모델을 학습하기 위해 AI 허브에서 제공하는 화재 세그먼테이션 데이터를 사용하였다[7]. 화재 세그먼테이션 데이터는 화재 발생 전, 후로 나타나는 불꽃 및 연기를 검출하는 모델 개발을 위헤 구축된 데이터로 약 2 GB의 크기이다. 입력은 화재 관련 장면 촬영 이미지이고 출력은 이미지 내에 존재하는 화재나 연기의 다각형(polygon) 좌표로 이루어져 있다. 화재나 연기가 없을 경우 좌표값이 존재하지 않는다. 데이터는 약 10,000장의 그림 파일(jpg)로 구성되어 있는데 학습데이터로 7682 장, 검증데이터로 1921 장을 사용하였고, 학습이나 검증용 데이터로 사용되지 않은 914 장의 이미지 데이터를 이용해 학습된 모델의 성능을 시험하였다. 학습에 사용된 이미지의 예는 그림 2와 같다. 각 이미지의 크기는 높이와 넓이가 각각 720과 480 피셀이다.
그림 2. 화재 세그먼테이션 데이터셋 예
Fig. 2. Examples of dataset of fire segmentation
2. 화재 분할 모델 학습
본 논문에서 U-Net을 이용하여 화재 분할을 위한 모델을 학습하기 위해 사용한 파라미터는 다음 표 1과 같다. U-Net의 깊이는 그림 1에 보이는 U-Net과 같이 5로 하였고 초기 특징의 수는 16으로 다음 수준의 깊이로 가면서 2배씩 특징의 수가 늘어난다. 초기 입력 이미지의 크기는 효율적으로 학습하기 위해 480×320 크기로 사용하였다. 사용되는 이미지는 컬러 이미지로 화재를 불꽃과 연기로 분할하기 위해 5개의 클래스를 사용하였다. 5개의 클래스는 일반 배경, 불, 흰연기, 회색연기, 검은연기로 구분되고 각각 0, 1, 2, 3, 4의 값이 부여된다.
표 1. 학습 파라미터
Table 1. Parameters for learning
U-Net 모델을 학습하기 위해 사용하는 평가지표인 손실함수(Loss function)는 categorical_crossentropy를 사용했고 이미지 분할의 정확도는 텐서플로(Tensorflow) 라이브러리에서 제공하는 Accuracy 함수를 사용하였다.
또한 이미지 분할의 정확도를 측정하기 위해 물체 검출 분야에서 평가지표로 많이 사용되는 IOU(Intersection over union)를 사용하였다. IOU란 두 영역의 교차영역의 넓이를 합영역의 값으로 나눈 값을 뜻한다. 객체 검출에서 예측된 경계 상자의 정확도를 평가하는 지표 중 하나로 사용되며, 예측된 경계 상자와 실제 참값(ground truth) 경계 상자의 IOU를 해당 경계 상자의 정확도로 간주한다. IOU의 값이 클수록 ‘물체가 잘 검출되고 있다’고 할 수 있다.
Ⅳ. 시뮬레이션 및 결과
학습된 U-Net 모델의 학습 결과는 그림 3과 같다. 학습데이터의 정확도는 0.97996이고 오차는 0.0486이다. 검증데이터의 정확도는 0.9761이고 오차는 0.063이다. IOU 값은 0.849로 매우 높은 결과를 보여준다.
그림 3. 모델 학습 결과
Fig. 3. Results of model learning
그림 4는 학습된 U-Net 모델에 의한 화재 예측 결과를 보여준다. 각 사례의 첫 번째 이미지는 원본 이미지이고, 두 번째는 학습에 사용되는 참값(true mask), 세 번째는 학습된 모델에 의한 예측된 값, 마지막 네 번째 이미지는 원본 이미지와 예측된 값을 결합한 이미지 결과이다. 학습된 U-Net 모델에 의해 화재를 잘 예측하고 불꽃과 연기를 잘 구분하는 것을 볼 수 있다. 각 사례의 마스크 이미지에서 흰색은 흰색 연기를 회색은 회색 연기, 파랑색은 검은 연기를 의미한다. 그림 5는 학습이나 검증에 사용되지 않은 시험용 데이터를 이용하여 예측한 결과를 보여준다. 학습에 사용되지 않은 데이터에 대해서도 잘 예측하는 것을 볼 수 있다. 또한 불꽃이 보이지 않는 화재 발생 초기의 연기를 잘 검출하고 분할하는 것을 볼 수 있다. 이를 이용하여 화재 발생 초기에 화재를 진압할 수 있는 시스템을 구축할 수 있다.
그림 4. 학습된 모델의 화재 예측 결과
Fig. 4. Fire prediction results by learned model
그림 5. 학습된 모델의 시험용 데이터 화재 예측 결과
Fig. 5. Fire prediction results of test data by learned model
Ⅴ. 결론
본 논문에서는 우리 일상에서 매년 많은 피해가 발생하는 화재들을 실시간으로 감지하기 위해 인공지능의 딥러닝 모델을 이용하여 화재의 불꽃과 연기를 검출하고 정확하게 분할하는 모델을 구현하였다. 이를 위해 최근 이미지 분할에서 뛰어난 성능을 보여 의료 분야 등에서 많이 사용되고 있는 U-Net을 이용하여 화재 발생 시 화재를 검출하고 다중 클래스를 이용하여 화재의 불꽃과 연기를 구분하여 분할할 수 있는 기법을 제안하였다. 제안된 기법을 이용하여 학습한 결과 오차와 정확도의 값이 각각 0.0486와 0.97996으로 매우 우수하고, 검증 데이터에 대해서도 0.063와 0.9761로 우수한 결과를 나타내었다. 객체 검출에서 평가지표 사용되는 IOU 값도 0.849로 매우 우수하였다. 학습된 모델을 사용하여 학습에 사용되지 않은 화재 이미지로 예측한 결과 화재 불꽃 검출과 연기 색깔별 구분 및 분할이 잘 되었다.
참고문헌
- Fire occurrence status, https://www.index.go.kr/potal/main/EachDtlPageDetail.do?idx_cd=1632
- fire statistics yearbook, National Fire Agency, 2022.
- Forest fire damage status, https://www.index.go.kr/potal/ main/EachDtlPageDetail.do?idx_cd=1309
- Jin Kyu Ryu, Dong Kurl Kwak, Jae Jung Kim, Jung Kyu Choi, "A Study on Fire Recognition Algorithm Using Deep Learning Artificial Intelligence", KIPE 2018 Conference of Power Electronics, pp. 275-277, 2018.
- J. Long, E. Shelhamer and T. Darrell, "Fully Convolutional Networks for Semantic Segmentation," The IEEE Conference on Computer Vision and Pattern Recognition, pp. 3431-3440, 2015. DOI: https://doi.org/10.48550/arXiv.1411.4038
- O. Ronneberger, P. Fischer, and T. Brox, "U-net: Convolutional networks for biomedical image segmentation", International Conference on Medical image computing and computer-assisted intervention, pp. 234-241. Springer, 2015. DOI:https://doi.org/10.48550/arXiv.1505.04597
- AI Hub, https://aihub.or.kr/
- Youngsoo Ha, "Analysis of the Medical Image by Image Processing," National Institute for Mathematical Sciences, Report of creative research project, 2011.
- Jang, W. S., Lee, K. W., Lee, S. D., Kim, Y. G., "Study on Production Management Efficiency Method using Supervised Learning based Image Cognition," The Journal of The Institute of Internet, Broadcasting and Communication, VOL. 21, NO. 5, pp. 47 ~ 52, October 2021.
- Eun-Gyu Ham, Chang-Bok Kim, "Model Implementation of Reinforcement Learning for Trading Prediction Using Deep Q Network ," The Journal of KIIT, Vol. 17, No. 4, pp. 1-8, 2019. https://doi.org/10.14801/jkiit.2019.17.4.1