도로 침수 탐지를 위한 딥러닝 모델 구현 및 성능 비교
초록
기존의 단일 센서를 이용한 도로 침수 시스템은 수위가 특정 수치에 도달할 때 경보를 주는 방식으로 도로 침수 판단 및 초동대처가 어렵다. 따라서 본 논문에서는 CCTV를 이용한 실시간 도로 침수 시스템 개발을 위해 CNN 기반의 사전 학습모델 8개를 선정 및 구현, 학습 및 검증을 통해 성능을 비교하였다. 모델별로 batch size 16, 120 epoch로 학습하였고, 실험 결과 딥러닝 학습모델들이 평균적으로 90%의 정확도를 보였다. 특히 정확도 측면에서는 ShuffleNet V1, SqueezeNet, ResNet-50 모델 순으로 성능이 우수하였다. 그러나 실시간 도로 침수 탐지와 예측을 위해서는 모델별 적정한 파리미터 수와 짧은 추론 시간이 요구되는 바, CCTV 한대당 10초에 1번씩 분석된다고 가정했을 때 ResNet-50 학습모델이 800대까지 수용할 수 있는 것으로 분석되었다.
Abstract
Existing road flooding systems using a single sensor give an alarm when the water level reaches a certain value, making it difficult to determine road flooding and take first action. Therefore, in this paper, 8 models based on CNN were implemented to develop a real-time road flooding system using CCTV, and their performance was compared through learning and verification. Each learning model was trained with a batch size of 16 and 120 epochs, and as a result of the experiment, the deep learning models showed an average accuracy of 90%. In particular, in terms of accuracy, the ShuffleNet V1, SqueezeNet, and ResNet-50 models performed best in order. However, for real-time road flood detection and prediction, an appropriate number of parameters and short inference time are required for each model. Assuming that each CCTV is analyzed once every 10 seconds, it was analyzed that the ResNet-50 model could accommodate up to 800 CCTVs.
Keywords:
road flooding prediction, road flooding detection, deep learning, pre-trained models, CNN network layerⅠ. 서 론
오늘날 전 세계적으로 태풍과 집중호우의 횟수가 증가하고 있고, 지구 온난화에 따른 이상 기후 현상들로 인해 매년 반복적으로 홍수와 도로 침수(Road flood) 피해를 경험하고 있다[1][2]. 또한 이러한 침수 피해를 최소화하기 위해 주요 기관들에서는 돌발홍수예보시스템, 홍수통합관리시스템, 도로 침수 경보시스템 등을 구축하여 침수 예측과 정보를 제공하고 있다. 그러나 현재의 도로 침수 경보시스템은 일반적으로 수위계와 강우량계 등과 같은 단일 센서를 이용하여 수위가 특정 수치에 도달할 때 경보를 주는 방식으로 대응 단계에서 발동되며, 시각적으로 도로 침수 상황관리 및 초동대처가 어렵다.
따라서, 실시간으로 도로 침수 예측과 탐지를 효과적으로 하기 위해 CCTV 영상과 딥러닝 기반의 도로 침수 감시 시스템 도입이 요구된다. 특히 기설치된 CCTV의 활용은 예방 및 대비 단계부터 실시간 알림과 의사결정을 위한 시각적인 정보제공이 가능할 뿐만 아니라 센서 장치의 추가 설치가 필요 없어 초기 구축 비용의 절감이 가능하다.
본 연구에서는 CCTV 기반 도로 침수 여부의 판단과 탐지를 위해 다양한 딥러닝 학습모델을 구현하고, 모델별 학습과 정확도를 비교 분석하였다. 또한 분류의 추론 속도에 대한 성능 분석을 통해 도로 침수 탐지를 위한 가장 효과적인 딥러닝 학습모델을 제시하고자 한다.
본 논문의 구성은 다음과 같다. 2장에서 CCTV 영상을 활용한 도로 침수 관련 선행연구들을 살펴보고, 3장에서는 다양한 딥러닝 사전학습 모델들의 선정을 서술한다. 4장에서는 도로 침수 탐지를 위한 모델별 학습과 추론 결과를 기술하고, 정확도와 성능 평가에 대해 논한다. 마지막으로 5장에서 결론을 기술하고, 향후 연구를 제시한다.
Ⅱ. 관련 선행연구
Laura는 소셜미디어의 게시물들이 일반적으로 메타데이터와 시각적 정보가 포함되는 특성을 이용하여 홍수를 감지하기 위한 Multi-Modal 딥러닝 접근 방식을 제안하였다[3]. 이 방식은 시각적인 특징을 추출하는 합성곱 신경망(CNN, Convolution Neural Network)과 메타데이터의 의미적 특징을 추출하는 양방향 LSTM(Long Short-Term Memory) 네트워크를 기반으로 한다. 특히, 시각적 정보를 추출하기 위해 ImageNet[4]에서 사전 훈련된 가중치를 사용하여 컨볼루션 Inception-V3 네트워크를 적용하였다. 시각적 정보와 메타데이터를 모두 포함하는 Flickr에서 추출한 이미지들을 검증하였고, 시각적 정보만 사용할 때와 메타데이터만 사용할 때의 결과를 비교하였다.
Xiaofeng은 RAU(Reflection Attention Units)와 FCN(Fully Convolutional Network) 기반의 웅덩이 또는 침수 영역과 같은 수역을 감지하는 방법을 제안하였다[5]. Xiaofeng이 제안하고 있는 RAU는 하늘과 주변 장면에서 수면에 반사되는 물리학을 구현하도록 설계된 심층 네트워크 장치이며, RAU를 적용한 FCN-8s와 RAU를 적용하지 않은 FCN-8s, DeepLab V2 및 GMM(Gaussian Mixture Model)과의 정밀도와 재현율 지표(Recall metrics) 성능을 비교하였다.
Megan은 R-CNN(Region-based CNN)과 SIFT(Scale Invariant Feature Transform)를 적용하여 도로 침수를 감지하였다[6]. 또한 Megan은 도로 침수 영역을 탐지하기 위해 주변 랜드마크(Landmarks), 하늘과 구름의 반사 정보를 이용하였으며, 수역 및 도로 침수 경계를 판별하는 연구를 수행하였다. Salih는 객체 감지 및 의미론적 분할을 위해 Mask R-CNN을 활용하여 도로 침수 탐지 방법을 제안하였다[7].
결론적으로, 도로 침수 탐지를 위한 기존 선행연구들에서는 전반적으로 CNN 기반의 사전 학습모델을 적용하고 있으며, 소셜미디어의 영상들을 이용하고 하고 있다. 본 연구에서는 도로 침수 경보시스템 제안 및 개발을 위해 CCTV 영상을 활용하고, 적합한 딥러닝 학습모델 선정을 위해 다양한 딥러닝 사전 학습모델들을 기반으로 성능 평가를 수행한다.
Ⅲ. 도로 침수 탐지를 위한 딥러닝 모델 선정
3.1 VGGNet 모델 (2015)
VGGNet[8] 모델은 convolution과 MaxPooling layer로 구성된 기본적인 CNN으로 모든 합성곱 layer에서 3 × 3 필터를 사용하고 있으며, 16 또는 19개의 layer로 심화한 특징을 가지고 있다. 그림 1은 VGGNet 모델의 구성도이며, head에서는 모델의 버전, block의 반복 횟수, channel 및 필터의 수 등의 layer 조합을 위한 기초 설정 데이터들을 포함한다. 특히 VGGNet은 3 × 3 크기의 작은 필터만 사용했음에도 초창기 영상 분류 정확도를 개선한 모델이므로 도로 침수 탐지를 위한 성능 비교 분석 모델로 선정하였다.
3.2 ResNet 모델 (2016)
ResNet[9] 모델은 VGGNet 모델과 유사한 CNN 구조를 가지지만 특징 맵(Feature map)을 다운샘플링(Downsampling) 할 때 MaxPooling layer를 사용하지 않고 필터 적용 간격(Stride)을 조절하여 다운샘플링 효과를 갖는다. 즉, 과적합(Over-Fitting)을 발생시키는 Gradient Vanishing 문제를 해결하기 위해 스킵 연결(Skip connection) 구조를 사용한다. 또한 그림 2와 같이 CNN 구조에 residual block의 적용은 네트워크가 깊어질수록 gradient vanishing 또는 exploding이 발생하는 문제를 해결하고, 더욱 깊은 네트워크를 구축할 수 있다.
ResNet 모델은 대부분의 딥러닝 모델에서 대표적인 backbone으로 사용되는 기초 모델이므로 도로 침수 탐지를 위한 성능 비교 분석 모델로 ResNet-50과 ResNet-101 모델을 선정하였다.
3.3 SqueezeNet 모델 (2016)
SqueezeNet[10] 모델은 매우 적은 수의 파라미터를 가진 CNN 모델로서 ImageNet 데이터세트(dataset)에서 AlexNet[11]과 동일한 정확도를 가지며, 용량이 매우 작아 제한된 하드웨어 환경에 적용하기 쉬운 장점이 있다. CCTV 기반 도로 침수 탐지는 실시간으로 정보를 전송해야 하므로 SqueezeNet 모델을 성능 비교 분석 모델로 선정하였다.
3.4 SqueezeNext 모델 (2018)
SqueezeNext[12] 모델은 SqueezeNet 모델의 정확도를 향상시킨 모델로 경량화를 위해 하나의 필터를 두 개의 작은 필터로 나누는 decompose 기법을 적용하고 있다. SqueezeNext 모델은 기존 SqueezeNet 모델의 단점을 보완한 네트워크이므로 도로 침수 탐지를 위한 성능 비교 분석 모델로 선정하고, 구현된 SqueezeNext 모델의 구성은 그림 3과 같다.
3.5 ShuffleNet 모델 (2018)
ShuffleNet[13] 모델은 V1과 V2가 제안되었다. ShuffleNet V1은 제한된 하드웨어 환경에서 계산 효율을 위해 point-wise group convolution과 channel shuffle을 적용하여 convolution 모델의 경량화를 실현한 모델이다. 특히 AlexNet[11] 모델의 성능을 유지하면서 13배 이상의 빠른 계산속도를 갖고 있다. ShuffleNet V2는 FLOPS(FLoating point Operations Per Second) 이외에 MAC(Memory Access Cost), GPU/ARM device 등 inference speed에 집중하여 설계되었다. 따라서, 제한된 하드웨어 환경과 inference speed 성능은 다수의 CCTV를 효율적으로 처리 및 실시간 작업에 적용할 수 있으므로 ShuffleNet 모델을 성능 분석 모델로 선정하였다.
3.6 EfficientNet 모델 (2019)
EfficientNet[14] 모델은 기존 모델들보다 복잡도를 높여 정확도를 높인 모델로서 channel과 layer의 수, 이미지의 해상도를 변화시켜 성능이 우수한 조합으로 ConvNet 모델을 구성할 수 있다. 또한 EfficientNet 모델은 compound scaling 방법을 제안 및 적용하고 있으며, 오픈소스로 공개되어 있어 기존 모델의 변화를 줄 수 있다. 본 논문에서는 도로 침수 탐지를 위해 가장 가벼운 EfficientNet-B0 모델을 이용하였다.
Ⅳ. 도로 침수 탐지를 위한 딥러닝 모델별 성능 비교 및 평가
본 장에서는 3장에서 제시한 도로 침수 탐지를 위해 선정한 딥러닝 사전 학습모델별 학습과 추론 결과를 서술한다.
4.1 학습 데이터세트 구축
딥러닝 학습 및 추론을 위한 데이터세트는 소셜미디어와 진주시에서 제공한 CCTV 영상들에서 추출하였으며, 그림 5와 같이 과적합을 방지하고 성능을 높이기 위해 width_shift, height_shift, brightness, vertical_flip, hue, saturation 등의 데이터 증강기법을 활용하였다. 수집 및 데이터 증강기법으로 확보된 데이터세트, 즉 도로가 포함된 영상 5,457개 중에서 침수된 영상과 침수되지 않은 영상은 각각 2,549개와 2,908개로 구성되었으나, 최종 사용자 검증을 통해 딥러닝 학습과 검증에 사용한 영상의 수는 각각 3,857개와 600개로 추출되었다.
4.2 딥러닝 모델별 학습 및 검증 결과
본 절에서는 도로 침수 탐지를 위한 딥러닝 학습모델들은 Pytorch를 기반으로 구현하였으며, 3장에서 제시하고 선정한 학습모델 8종류에 대해 학습 분류와 검증의 정확도를 기술하였다. 3.6절에서 제시한 EfficientNet 모델은 사용자 기반 모델 변화가 가능하므로 본 연구에서는 feature extraction에서 convolution layer의 역전파를 제한하고 classifier를 추가 작성 후 모델의 마지막 layer에 추가하였다. 도로 침수 탐지를 위한 딥러닝 학습의 분류와 검증 결과는 표 1에 제시하고 있으며, 학습모델별 네트워크 파라미터 수 및 batch size 등을 비교 분석한 결과들을 나타내었다. 표 1에서 최대 batch size와 추론 속도는 동일한 하드웨어 기준으로 학습 데이터 수에 영향을 받지 않으며, 이를 통해 분석가능한 CCTV 채널 수의 추정이 가능하다.
그림 6은 batch size 16으로 120 epoch로 통일시켜 딥러닝 학습 분류 및 검증의 결과이며, 3장에서 제시한 학습모델 중에서 정확도가 높은 ShuffleNet V1과 SqueezeNet 모델의 학습 결과들이다. 표 1에서 보여주듯이 딥러닝 학습과 검증의 정확도는 ShuffleNet V1 모델이 94.6%와 91.2%로 가장 높게 나타났으며, 두 번째로 SqueezeNet 모델이 학습과 검증의 정확도가 높게 분석되었다. 그러나 도로 침수 초기 단계에서 실시간 도로 침수 경보를 위한 주요 항목으로는 표 1에서 제시하고 있는 파라미터의 수, 최대 batch size 및 batch 당 추론 시간이다. 즉, batch 당 추론 시간이 짧고, 분석가능한 CCTV의 개수가 많아야 한다.
표 1에서 CCTV 수의 추정은 RTX 2060 SUPER GPU 2ea가 장착된 워크스테이션에서 하나의 CCTV에서 10초에 1번씩 도로 침수 여부를 분석한다고 가정했을 때의 분석 가능한 CCTV 개수이다. 본 연구에서는 도로 침수 탐지를 위한 딥러닝 학습모델로 학습 분류 및 검증 정확도가 높고, 분석가능한 CCTV의 수가 많은 ShuffleNet V1과 SqueezeNet 모델이 적합하다고 분석되었다.
Ⅴ. 결론 및 향후 연구
본 논문에서는 도로 침수 탐지를 위해 CNN 기반의 사전 학습모델 8개를 선정하고 구현하였다. 딥러닝 학습 및 검증을 위한 데이터세트로는 소셜미디어에서 획득한 도로 침수 영상, 진주시에서 제공한 CCTV 영상들을 활용하고, 학습과 검증을 위한 영상의 수는 각각 3,857개와 600개이다. 딥러닝 학습은 batch size 16과 120 epoch로 수행되었다. 실험 결과, CCTV를 이용한 실시간 도로 침수 탐지를 위한 딥러닝 학습모델들은 평균적으로 90%의 정확도를 보이고 있으며, 이 중에서 모델별 파라미터의 수와 추론 시간 분석을 통해 가장 적합한 딥러닝 학습모델은 ShuffleNet V1과 SqueezeNet 모델이 우수한 것으로 분석되었다.
또한 CCTV 한대당 10초에 1번씩 분석된다고 가정했을 때, ResNet-50 모델도 800대까지 수용할 수 있는 것으로 분석되었다. 따라서 본 연구를 통해 선정된 ShuffleNet V1, SqueezeNet 및 ResNet-50 등의 학습모델들의 정확도를 높이고 경량화한다면, 기존 방식의 도로 침수 시스템 추가 설치와 추가 비용 발생 없이 CCTV를 이용하여 실시간 도로 침수 탐지 및 예측할 수 있을 것으로 사료된다.
향후 연구과제로는 현장의 CCTV들 연결, VMS, Kubernetes, docker 등의 미들웨어, 도로 침수 판단 워크스테이션 환경을 구축하고, 실시간 영상들로부터 도로 침수 여부 판단 및 의사결정에 도움을 줄 수 있도록 시스템을 보완할 계획이다. 또한 본 논문에서 제시되지 않은 추가 사전 학습모델의 구현과 도로 침수 판단 모델의 고도화를 수행하고자 한다.
Acknowledgments
본 연구는 과학기술정보통신부 한국건설기술연구원 연구운영비지원(주요사업)사업으로 수행되었습니다 (과제번호 20230174-001, (23주요-대3-임무(산업진흥)) AI 기반 경남지역맞춤형 도로침수 실시간 예측, 감시 및 운영기술 개발)
References
- H. S. Noh and C. K. Choi, "A Study on the development of an AI-based integrated road inundations management system for real-time prediction, monitoring and operation of road", Proc. of 2022 DCS Summer Conference, pp. 180-181, Jul. 2022.
- G. H. Kim and H. S. Noh, "Development of deep Learning model for real-time flood detection using CCTV", Proc. of 2022 DCS Autumn Conference, pp. 277-278, Jul. 2022.
- L. Lopez-Fuentes, J. Weijer, M. Bolaos, and H. Skinnemoen, "Multi-modal deep learning approach for flood detection", Working Notes Proc. of the MediaEval 2017 Workshop, pp. 13-15, Sep. 2017.
- J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei, "ImageNet: A large-scale hierarchical image database", 2009 IEEE Conference on Computer Vision and Pattern Recognition, Miami, FL, USA, pp. 248-255, Jun. 2009. [https://doi.org/10.1109/CVPR.2009.5206848]
- X. Han, C. Nguyen, S. You, and J. Lu, "Single Image Water Hazard Detection using FCN with Reflection Attention Units", Computer Vision - ECCV 2018, Lecture Notes in Computer Science (LNCS), Vol. 11210, pp. 105-121, Oct. 2018. [https://doi.org/10.1007/978-3-030-01231-1_7]
- M. A. Witherow, C. Sazara, I. M. Winter-Arboleda, M. I. Elbakary, M. Cetin, and K. M. Iftekharuddin, "Floodwater detection on roadways from crowdsourced images", Computer Methods in Biomechanics and Biomedical Engineering: Imaging & Visualization, Vol. 7, No. 5-6, pp. 529-540, Jun. 2019. [https://doi.org/10.1080/21681163.2018.1488223]
- S. Sarp, M. Kuzlu, M. Cetin, C. Sazara, and O. Guler, "Detecting floodwater on roadways from image data using Mask-R-CNN", 2020 International Conference on INnovations in Intelligent SysTems and Applications (INISTA), Novi Sad, Serbia, pp. 1-6, Aug. 2020. [https://doi.org/10.1109/INISTA49547.2020.9194655]
- K. Simonyan and A. Zisserman, "Very deep convolutional networks for large-scale image recognition", International Conference on Computer Vision and Pattern Recognition (CVPR), pp. 1-14, Apr. 2015. [https://doi.org/10.48550/arXiv.1409.1556]
- K. He, X. Zhang, S. Ren, and J. Sun, "Deep residual learning for image recognition", Proceedings of the IEEE conference on Computer Vision and Pattern Recognition (CVPR), pp. 770-778, Dec. 2015. [https://doi.org/10.48550/arXiv.1512.03385]
- F. N. Iandola, S. Han, M. W. Moskewicz, K. Ashraf, W. J. Dally, and K. Keutzer, "SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size", Proc. of International Conference on Computer Vision and Pattern Recognition (CVPR), pp. 1-13, Nov. 2016. [https://doi.org/10.48550/arXiv.1602.07360]
- K. Alex, S. Ilya, and G. E. Hinton, "Imagenet classification with deep convolutional neural networks", In: Advances in neural information processing systems", Vol. 25, pp. 1097-1105, 2012.
- A. Gholami, K. Kwon, B. Wu, Z. Tai, X. Yue, P. Jin, S. Zhao, and K. Keutzer, "SqueezeNext: Hardware-Aware Neural Network Design", 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, pp. 1751-1760, Aug. 2018. [https://doi.org/10.48550/arXiv.1803.10615]
- N. Ma, X. Zhang, H. T. Zheng, and J. Sun, "ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design", Computer Vision - ECCV, Lecture Notes in Computer Science, Springer International Publishing, Vol. 11218, pp. 122-138, Oct. 2018. [https://doi.org/10.1007/978-3-030-01264-9_8]
- M. Tan and Q. Le, "EfficientNet: Rethinking model scaling for convolutional neural networks", Proc. of the 36th International Conference on Machine Learning, pp. 6105-6114, May 2019. [https://doi.org/10.48550/arXiv.1905.11946]
2007년 ~ 2008년 : 한국시설안전공단 시설안전네트워크연구단 연구원
2015년 2월 : 인하대학교 대학원 수자원/지형정보(공학박사)
2015년 ~ 현재 : 한국건설기술연구원 수자원하천연구본부/연구전략기획본부 수석연구원
관심분야 : 수재해, 레이더영상처리, 머신러닝(딥러닝), 데이터마이닝, 사물인터넷
2010년 8월 : 목원대학교 일반대학원 IT공학과(공학박사)
2010년 10월 ~ 2012년 2월 : ㈜인코넥스 선임연구원
2012년 3월 ~ 2022년 2월 : 목원대학교 컴퓨터공학과 조교수
2021년 4월 ~ 2021년 12월 : KICT 국토보전연구본부 객원연구원
2023년 4월 ~ 현재 : KICT 국토보전연구본부 객원연구원
2022년 3월 ~ 현재 : 오산대학교 컴퓨터정보계열 조교수
관심분야 : 영상처리, 컴퓨터비전, 딥러닝, H.26X