DOI QR코드

DOI QR Code

A Study on the Development of an Automatic Classification System for Life Safety Prevention Service Reporting Images through the Development of AI Learning Model and AI Model Serving Server

AI 학습모델 및 AI모델 서빙 서버 개발을 통한 생활안전 예방 서비스 신고 이미지 자동분류 시스템 개발에 대한 연구

  • Received : 2023.05.23
  • Accepted : 2023.06.27
  • Published : 2023.06.30

Abstract

Purpose: The purpose of this study is to enable users to conveniently report risks by automatically classifying risk categories in real time using AI for images reported in the life safety prevention service app. Method: Through a system consisting of a life safety prevention service platform, life safety prevention service app, AI model serving server and sftp server interconnected through the Internet, the reported life safety images are automatically classified in real time, and the AI model used at this time An AI learning algorithm for generation was also developed. Result: Images can be automatically classified by AI processing in real time, making it easier for reporters to report matters related to life safety.Conclusion: The AI image automatic classification system presented in this paper automatically classifies reported images in real time with a classification accuracy of over 90%, enabling reporters to easily report images related to life safety. It is necessary to develop faster and more accurate AI models and improve system processing capacity.

연구목적: 생활안전 예방서비스 앱에서 신고되는 이미지를 AI를 사용하여 실시간으로 위험 카테고리를 자동으로 분류하여 사용자에게 편리한 위험신고를 가능하게 하는 것을 목적으로 한다. 연구방법: 인터넷으로 상호연결되는 생활안전 예방서비스 플랫폼, 생활안전 예방서비스 앱, AI 모델 서빙 서버와 sftp 서버로 구성되는 시스템을 통하여 신고된 생활안전 이미지를 실시간으로 자동분류하며, 이때 사용되는 AI모델 생성을 위한 AI 학습 알고리즘도 개발하였다. 연구결과: 이미지를 실시간으로 AI 처리하여 자동으로 분류할 수 있게 되어, 신고자가 생활안전 관련 사항을 보다 편리하게 신고할 수 있게 되었다. 결론: 본 논문에서 제시하는 AI 이미지 자동분류 시스템은 90% 이상의 분류 정확도로 신고 이미지를 실시간으로 자동분류하여 신고자가 간편하게 생활안전 관련 이미지를 신고할 수 있게 되었으며 향후 생활안전 예방서비스 앱의 사용자의 증가에 따라 더욱 빠르고 정확한 AI 모델 개발 및 시스템 처리용량 향상이 필요하다.

Keywords

서론

우리 주변의 다양한 위험들을 공유하고, 분석을 통하여 현재와 미래의 위험을 예측하고 그 결과를 개인 맞춤형으로 안전지수로 보여줌으로써 이를 통하여 보다 안전한 생활을 하기 위하여 생활안전 예방서비스 플랫폼과, 생활안전 예방서비스 앱이 개발되고 있다. 주변의 위험을 생활안전 예방서비스 앱을 통하여 앱 사용자끼리 공유하는 방법은 비교적 간단하게 생활안전 예방서비스 앱 내의 신고기능을 활용하여 생활안전 관련 위험 상황을 사진으로 찍어서 생활안전 예방서비스 플랫폼으로 전송하면 된다. 사용자가 사진을 찍어서 전송한 위험 상황이 담긴 이미지는 생활안전 예방서비스 플랫폼에서 사용자가 그 사진에 대하여 설명한 문구를 주제어 자동 분석 시스템을 사용하여 분석하여 위험의 종류를 분류하고, 이에 따라 생활안전지수가 산출되고, 이를 주변의 생활안전 예방서비스 앱 사용자에게 공유했다. 이렇게 위험 신고를 받으니까, 위험 신고를 하는 사용자가 위험 상황에 대한 설명을 생활안전 예방서비스 앱에 입력해야 했고, 이러한 신고 절차는 사용자의 신고를 매우 불편하게 만들고, 부정확한 주제어 분류로 위험의 종류가 잘못 분류되는 경우가 상당 수 있었다. 그래서, 사용자가 편하게 위험 상황을 신고할 수 있고, 생활안전 예방서비스 플랫폼에서 보다 정확하게 위험 분류를 할 수 있는 방법으로 AI 이미지 자동분류 기술(Roy et al., 2019; Yanagisawa et al., 2018; Tahir et al., 2021; Nam et al., 2022)을 개발하기로 하였다.

신고되는 위험 상황 관련 이미지를 실시간으로 분석하고 위험의 종류를 결정하는 것을 가능하게 하도록 AI를 도입하기 위해서는 예측되는 위험의 종류를 미리 결정하고, 그 위험의 종류별로 이미지를 준비하여 AI 학습을 통하여 AI 분류 모델을 만들고, 이를 가지고 입력되는 신고 이미지를 자동 분류하면 된다. 즉, AI 학습을 위한 데이터 세트를 만들어야 하고, AI 학습이 필요하고, AI 학습의 결과 만들어지는 AI 모델이 필요하고, 입력되는 신고 이미지를 실시간으로 AI 모델을 이용해서 분류할 수 있는 시스템이 필요하게 된다.

본 논문에서는 AI 학습 알고리즘으로는 CNN(Convolutional Neural Network) 방식(Roy et al., 2021; Zainab et al., 2022; Huang et al., 2019; Lee et al., 2020)을 사용하였고, 사용자의 단말에서 송신되는 이미지를 생활안전 예방서비스 플랫폼에서 AI 모델 서빙 서버로 전송하여 AI 모델 서빙 서버에서 이를 AI 모델을 사용하여 처리한 후에 위험의 종류를 결정하여 그 결과를 생활안전 예방서비스 플랫폼으로 전송하면, 생활안전 예방서비스 플랫폼에서 그 위험의 종류를 이용하여 안전지수도 산출하고, 또 위험의 종류를 신고자와 생활안전 예방서비스 앱 사용자에게 보여주는 시스템을 개발하였다.

생활안전 신고 이미지 자동분류 AI CNN 알고리즘

이미지 자동분류 학습을 위한 데이터 세트

생활안전 신고 이미지를 AI를 사용하여 자동분류하기 위해서는 신고 이미지의 위험 카테고리를 먼저 정하고 각각의 카테고리별로 최대한 많은 수의 이미지를 확보하여 이를 가지고 AI 학습을 시켜야 한다. 본 논문에서는 위험의 카테고리를 "장애인보행보조시설", "보행로", "가로등", "전기시설", "배수구", "시설물", "화재", "붕괴", "기타"의 9가지로 정하고, 각 카테고리 별로 웹크롤링과 이미지 증대(augmentation)를 통하여 15,000개에서 37,000개까지의 이미지를 확보하여 이를 AI 학습을 위한 데이터로 사용하였고, 각 카테고리별로 학습에 사용되지 않는 1,500개 이상의 이미지를 테스트 이미지로 사용하여 AI 이미지 자동분류 알고리즘의 일반화 정확도를 측정하였다. 이때 사용하는 이미지 증대 방법은 이미지를 회전, 반전, 이동하는 신호처리를 진행하여 원래의 이미지와 모양은 다르지만 같은 특성을 가지는 이미지를 생성하는 것이다. 이러한 증대방법을 사용하면 쉽게 이미지를 100배 이상의 개수의 동일한 특성을 가지는 다른 이미지로 만들어낼 수가 있다.

이미지 자동분류 학습을 위한 CNN 구조 설계

CNN 학습을 하기 위해서는 CNN의 convolution 계층구조, drop rate, learning rate 가 정해져야 한다. 본 논문에서는 Fig. 1과 같은 5개의 layer로 구성된 계층구조를 사용하였고, drop rate은 0.55, learning rate는 초기값을 0.0020으로 하는 가변 학습률을 적용하였다. 가변 학습률은 epoch의 변동에 따라 변하게 설계하였다.

JNJBBH_2023_v19n2_432_f0001.png 이미지

Fig 1. CNN Structure to find out AI reported image classification model

각 콘볼루션 레이어별 노드의 개수는 Table 1과 같다.

Table 1. Node numbers of each convolution layers

JNJBBH_2023_v19n2_432_t0001.png 이미지

AI 학습을 진행하는 PC는 128Mbyte의 메모리와 지포스 4090 GPU 2개를 장착하고 있어서 AI 학습을 효율적으로 진행할 수 있었다.

이러한 CNN 구조에 입력되는 다양한 이미지의 사이즈에 대하여 테스트 하였는데, 256x 256의 이미지는 이미지의 사이즈가 너무 커서 PC의 메모리 부족으로 시뮬레이션이 불가능하였고, 128x128이미지는 연산량의 증가에 비하여 정확도 개선이 별로 되지 않았으며 32x32 사이즈의 이미지는 학습속도나 학습의 결과로 보여주는 일반화 정확도 측면에서 가장 우수하여 학습에 사용되는 이미지는 전부 32x32로 변형하여 사용하였다. Fig. 1. CNN 구조를 사용했을 때 학습에 사용되는 학습 가능한 파라미터의 개수는 약 1,700만개 정도였다.

Fig. 1에서 입력된 이미지 데이터는 콘볼루션 레이어 1을 거치면서 관련 파라미터가 추출되고, dropout 계층과 maxpolling 계층을 거치면서 과적합(over fitting)을 줄이게 된다. Fig. 1에서 사용된 dropout 계층과 maxpolling 계층은 전부 과적합을 방지하기 위한 것이다. Fig. 1의 구조를 epoch 수만큼 되풀이하면 이미지 자동분류를 위한 AI 모델이 생성된다. 생성된 AI 모델을 이용하여 신고된 이미지를 처리하면 각각의 이미지에 해당하는 카테고리가 생성된다.

AI 모델을 사용한 신고 이미지 자동분류

2.1 절에 기술된 AI 모델을 사용하여 생활안전 예방서비스 신고 이미지를 분석한 결과는 Fig. 2과 같다.

JNJBBH_2023_v19n2_432_f0002.png 이미지

Fig. 2.. Simulation result of presented AI CNN structure

Fig. 2을 살펴보면 epoch의 증가에 따라서 즉, 학습의 횟수가 증가함에 따라서 accuracy는 1.0(100%)에 수렴하고, validation error(val_acuracy)는 0.9(90%)에 수렴함을 볼 수 있다. 시뮬레이션에 사용한 epoch는 300이었으며, epoch 수 가 300이 되었을 때 즉, 300회 학습 후의 최종 일반화 정확도(generalization accuracy)1)는 90.171%였다. 이 때 생성된 AI 모델은 3절의 생활안전 신고 이미지 자동분류 시스템의 AI 모델 서빙 서버에 사용되므로, AI 모델 서빙 서버를 사용하는 생활안전 신고 이미지 자동 분류 시스템의 일반화 정확도는 본 시뮬레이션의 결과와 동일한 90.171%가 될 것이다.

생활안전 신고 이미지 자동분류 시스템

생활안전 신고 이미지 자동 분류 시스템 구조

생활안전 신고 이미지 자동분류 시스템은 생활안전 예방서비스 앱, 생활안전 예방서비스 플랫폼, AI 모델 서빙 서버와 sftp 서버로 구성되며 인터넷을 통해 연결되며 상호 동기화된다. 이러한 구조는 이미지 자동분류 시스템의 설치를 매우 다양하게 할 수 있게 한다. 즉, 자동분류 시스템은 하나의 장소에 있어도 되고, 생활안전 예방서비스 플랫폼과, AI 모델 서빙 서버와 sftp 서버가 모두 다른 곳에 위치해도 되기 때문에 설치하는 측면에서는 매우 유리하지만, 데이터를 지연속도가 보장되지 않는 인터넷을 통하여 주고받게 되므로 지연시간에 상관없이 데이터를 정확하게 동기시키는 것이 필요하다.

실험방법

Fig. 3에서 k-guard app(생활안전 예방서비스 앱)이 생활안전 관련 이미지를 사진으로 찍어서 생활안전 서비스 플랫폼으로 보내면 생활안전 예방서비스 플랫폼에서는 sftp 클라이언트를 통하여 sftp 서버에 이미지를 쓰게 되고, sftp 서버에 이미지가 쓰이는 것을 감시하고 있는 AI 모델 서벙 서버의 sftp 클라이언트는 sftp 서버에 이미지 데이터가 쓰여지면 바로 이를 읽어서 AI 모델 서빙 서버로 전달하고, AI 모델 서빙 서버는 전달된 이미지 데이터를 사용하여 AI 모델을 사용하여 입력된 이미지에 해당하는 카테고리를 구한 다음에 이를 sftp 클라이언트를 거쳐서 sftp 서버에 그 이미지 명과 카테고리를 쓰게 된다. 그러면, AI 모델 서벙 서버로 부터의 입력을 기다리던 생활안전 예방서비스 플랫폼의 sftp 클라이언트는 이를 sftp 서버로부터 읽어서 이를 생활안전 예방서비스 플랫폼에 전달하고, 생활안전 예방서비스 플랫폼에서는 이를 활용하여 안전지수를 산출하고 그 결과와 카테고리를 사용자의 생활안전 예방서비스 앱으로 전송한다. 사용자는 생활안전 예방서비스 앱을 사용하여 자신이 신고한 이미지의 위험분류 카테고리와 그것으로 인해 변경된 생활안전지수를 확인할 수 있다.

JNJBBH_2023_v19n2_432_f0003.png 이미지

Fig. 3. AI reported image classification structure

실험결과

Fig. 2. AI reported image classification structure와 2절의 시험결과 만들어진 AI 모델을 AI 모델 서빙 서버에 사용하여 실시간으로 입력되는 생활안전 신고 이미지를 처리하였다. 생활안전 예방서비스 앱(k-guard app)으로 사진을 찍어서 생활 안전 예방서비스 플랫폼으로 전송하면 1장씩 전송하는 경우에는 sftp 서버에 생활안전 예방서비스 플랫폼에서 이미지를 쓰자마자 AI 모델 서빙 서버에서 이를 읽어와서 내장된 AI 모델을 이용하여 그 이미지에 해당하는 카테고리를 찾은 다음에 그 결과 값을 sftp서버에 쓰고, sftp 서버에 결과값이 wirte된 직후 생활안전 예방서비스 플렛폼에서 이를 read해서 그 이미지로 인한 안전지수의 변화를 계산하고, 사용자에게 그 안전지수와 카테고리를 전송한다. 여기에서 안전지수란 위험 카테고리와 개인별 프로파일에 따라서 수치화한 안전 상태를 나타내는 지수로서 1에서 10까지의 수를 가지며 10이 가장 안전한 상태이다. 동일한 위험이 발생해도 저장되어 있는 개인의 프로파일에 따라서 서로 다른 안전지수로 산출된다. 예를 들면 빙판길이 보행장애인이나 임산부에게는 보다 위험한 것으로 간주되고 일반인에게도는 덜 위험하게 고려되어 안전지수로 산출되는 것이다.

다수의 이미지가 동시에 sftp 서버에 연속적으로 write되는 경우에는 AI 모델 서빙 서버에서 한 번에 무리 없이 읽어올 수 있는 개수의 이미지를 읽어오는데, 보통 10 ~70개 까지의 이미지를 동시에 읽어오는데, 읽어온 파일은 sftp 서버에서 지운다음 내부의 AI 모델을 사용하여 각각의 이미지에 해당하는 카테고리를 구한 다음sftp 서버에 파일명과 카테고리명이 한 행에 적혀있는 category.txt 파일을 생성한다. category.txt 파일을 생활안전 예방서비스 플랫폼에서 읽어가서 안전지수 산출에 사용하고 신고된 이미지의 위험 카테고리를 결정한다. 그 동안 즉, AI 모델 서빙 서버에서 이미지 파일을 읽어와서 카테고리를 구하고 category.txt 파일을 쓰는 동안에도 생활안전 예방서비스 앱에서 송신되는 이미지는 생활안전 예방서비스 플랫폼을 거쳐서 sftp 서버에 write된다. AI 모델 서빙 서버에서는 category.txt파일을 쓴 후에는 바로 sftp 서버에 저장된 파일을 전부 읽어와서 각 이미지 파일의 카테고리를 구하는 작업을 반복하게 된다. 이렇게 연속적인 작업이 가능한 동기화 구조로 인하여 평균적으로 10초당 100장 이상의 이미지를 처리할 수 있었고 이를 1초당 처리하는 것으로 바꾸면 초당 10장 이상의 이미지가 90% 이상의 일반화 정확도로 분류되었으며, 인터넷망의 다양한 지연시간에 대하여도 AI 모델 서빙 서버에서 sftp 서버에서 읽어오는 파일의 숫자를 조정함으로써 오류 없이 이미지 분류 기능이 잘 작동하였다. 90%이상의 정확도로 분류되는 것은 AI 분류모델의 성능을 보여주는 Fig. 2에서 확인할 수 있다. 초당 10장의 이미지를 처리하는 처리 능력은 AI 모델 서빙 서버와 sftp 서버의 처리 능력에 의하여 발생하는 것으로, 이때 AI 모델 서빙 서버에 사용한 GPU는 지포스4090 2개를 사용하였으며, sftp서버와 AI 모델 서빙 서버의 처리 용량을 늘리면 같은 정확도로 초당 처리하는 이미지의 개수를 20장 혹은 30장으로 얼마든지 늘릴 수가 있다. 분류된 이미지를 카테고리 별로 보다 상세하게 살펴보면 Table 2과 같다.

Table 2. Classification accuracy of classified images according category

JNJBBH_2023_v19n2_432_t0002.png 이미지

결론

본 논문에서는 생활안전 예방서비스 신고 이미지 실시간 자동분류를 위한 시스템 구조를 제안하고 실험을 통해 성능을 검증하였다. 개발한 생활안전 이미지 자동분류 시스템은 sftp 프로토콜로 상호 연동하므로 보안성이 있으며, 다양한 환경에서 이미지 자동분류 기능을 잘 수행하였고, 향후 생활안전 예방서비스 앱을 사용하는 사용자의 증가함에 따라 AI 분류 기능의 정확도 향상을 위한 분류 알고리즘의 성능을 향상시키기 위해 CNN뿐만이 아니라 ViT(Vision Transformer), ResNet등의 다양한 AI 알고리즘을 사용한 생활안전 관련 이미지 분류기능의 시험이 필요하다.

본 논문에서 제안하는 기술은 향후 상용화된 생활안전 예방서비스 플랫폼에서도 유용하게 사용되어 사용자에게 신고의 편의성을 제공하고, 플랫폼에는 신고된 생활안전 관련 이미지의 위험 분석의 신속성을 제공하게 될 것이다.

Acknowledgement

본 연구는 행정안전부 생활안전 예방서비스 기술개발사업의 연구비 지원(2019-MOIS34-001)에 의해 수행되었습니다.

References

  1. Huang, J., Liu, Y., Xia, Y., Zhong, Z., Sun, J. (2019). "Train driving data learning with S-CNN model for gear prediction and optimal driving." 2019 Chinese Automation Congress (CAC), Hangzhou, China, pp. 2227-2232.
  2. Lee, C.Y., Park, G.J., Kim, J., Kim, T. (2020). "A design of the social disasters safety platform based on the structured and unstructured data." Journal of the Society of Disaster Information, Vol. 16, No. 4, pp. 842-848. https://doi.org/10.15683/KOSDI.2020.12.31.842
  3. Nam, G.-T., Seo, K.-J., Choi, D.-C. (2022). "A study on the development of AI-based fire fighting facility design technology." Journal of the Society of Disaster Information, Vol. 18, No. 4, pp. 883-890. https://doi.org/10.15683/KOSDI.2022.12.31.883
  4. Roy, A., Anju, P., Tomy, L., Rajeswari, M. (2021). "Recent study on image denoising using deep CNN techniques." 2021 7th International Conference on Advanced Computing and Communication Systems (ICACCS), Coimbatore, India, pp. 1838-1843.
  5. Roy, S.K., Krishna, G., Dubey, S.R., Chaudhuri, B.B. (2019). "HybridSN: Exploring 3-D-2-D CNN feature hierarchy for hyperspectral image classification." IEEE Geoscience and Remote Sensing Letters, Vol. 17, No. 2, pp. 277-281.
  6. Tahir, H., Shahbaz Khan, M., Owais Tariq, M. (2021). "Performance analysis and comparison of faster R-CNN, mask R-CNN and ResNet50 for the detection and counting of vehicles." 2021 International Conference on Computing, Communication, and Intelligent Systems (ICCCIS), Greater Noida, India, pp. 587-594.
  7. Yanagisawa, H., Yamashita, T., Watanabe, H. (2018). "A study on object detection method from manga images using CNN." 2018 International Workshop on Advanced Image Technology (IWAIT), Chiang Mai, Thailand, pp. 1-4.
  8. Zainab, A.S.N., Soesanti, I., Utomo, D.R. (2022). "Detection of COVID-19 using CNN's deep learning method: Review." 2022 4th International Conference on Biomedical Engineering (IBIOMED), Yogyakarta, Indonesia, pp. 59-64.