1. 서론
2019년 말부터 코로나 19 사태가 지속되고 있는 가운데, 바이러스의 확산을 예방하는 방역 시스템의 중요성이 증가하고 있다. 특히 마스크를 착용하게 되면 바이러스의 확산을 크게 줄일 수 있기에, 마스크 착용은 중요한 방역 지침 중 하나이다. 공연장 등 인구가 밀집되는 실내 환경에서는 마스크 착용의 중요성이 더 높아진다. 하지만, 관리원이 있다고 하더라도 사람의 눈으로 많은 사람의 마스크 착용 상태를 동시에 확인하기는 어렵다. 이로 인해, 실시간으로 마스크 착용 상태를 확인할 수 있는 모니터링 시스템에 대한 요구가 증가하고 있다[1].
신경망 기술은 학습 과정에서 다양한 특징을 반영할 수 있는 데이터가 많을수록 높은 성능을 보이며, 시스템 운용을 위한 신경망은 학습 시간을 최소화 하고자 기존 높은 성능을 보이는 사전 학습된 신경망을 가중치 미세 조절 기법(Fine-Tuning)을 이용하여 소량의 데이터를 학습한다[2]. 이러한 신경망 기술은 관리자가 필요한 CCTV 환경에서 사람의 개입을 최소화 할 수 있는 자동화 시스템에 적용되고 있으며, 현재 COVID-19로 인해 마스크 착용 여부를 자동으로 검사하는 시스템에 대해서도 활발히 연구되고 있다. 마스크 착용 여부 검사 시스템에 적용되는 신경망 기술은 후보 얼굴 관심 영역 검출 단계와 마스크 착용 여부 검사 단계로 이루어진 2단계 검출 방법과 마스크 착용 영역을 한 번에 검출하는 1단계 검출 방법이 있으며, 2단계 검출 방식은 단계적 검출 방법을 사용하기 때문에 상대적으로 1단계 검출 방식보다 추론 속도가 늦지만 높은 정확도를 보인다는 장점을 가지고 있다[3-6].
본 논문에서는 2단계 검출 방식을 적용하여 건물 출입자에 대해 마스크 착용 여부를 식별하는 시스템을 제안한다. MTCNN(Multi-task Cascad ed Convolutional Networks) 모델을 사용한 얼굴인식부와 ResNet(Residual Network) 모델을 사용한 마스크 검출부로 구성되어 있다.
착용, 오착용, 미착용의 세 가지 상태를 레이블로 분류하여, 열화상 카메라를 통해 입력받은 영상 채널을 딥러닝 기술을 통해 분석하여 실시간으로 마스크 착용 상태를 검출하는 기술이다. 다양한 환경과 포즈의 원본 데이터를 수집하고, 특수한 상황이나 조건에서도 마스크 착용 상태를 검출할 수 있도록 시스템을 개발한다.
2. 열화상 카메라 설계
(그림 1)은 제안한 마스크 검출 시스템으로 딥러닝 추론 실행 보드는 시판 중인 NVIDIA 사의 jetson nano GPU 보드를 사용한다. 추론 시간 단축을 위한 최적화를 수행하고 DeepStream SDK를 활용한다. 모델 학습은 공개된 MTCNN(Multi task cascade CNN) 아키텍쳐를 사용한다. MTCNN은 안면 검출 분야에서 높은 성능과 빠른 검출 속도를 나타내며 Face detection용 Task와 눈, 코, 입의 좌표를 알아내는 Face alignment 용 Task를 각기 구동한다.

(그림 1) 딥러닝 일체형 시스템 구성도
(그림 2)와 같이 열화상을 측정할 수 있는 IR 카메라를 설계하였다. DavinCi DSP를 기반으로 NVIDIA의 Jetson Xavier 플랫폼 사용하였다. (그림 3)은 본 논문에서 구성한 딥러닝 영상인식 흐름도이다.

(그림 2) IR 카메라 내부 하드웨어 구성도

(그림 3) 딥러닝 영상인식 흐름도
3. MTCNN 학습 아키텍쳐 설계
마스크 착용 감지 위해 MTCNN 학습 아키텍쳐 기반의 딥러닝 알고리즘을 개발하며 딥러닝 개발 효율성 향상을 위해 python based open source 아키텍처 활용에 추가하여 Matlab 딥러닝 simulink를 이용하여 시뮬레이션을 실시한다. Matalb 딥러닝 workflow simulink는 시뮬레이션 시간을 대폭 줄이고 최적의 아키텍쳐와 파라미터를 테스트 해 볼 수 있으며, MTCNN, R-CNN, Fast RCNN, 등의 object detection과 SegNet, FCN, Unet, DeepLab 등의 Semantic Segmentation 알고리즘에 대해 다양하게 성능비교 및 장단점을 파악하기 용이하다. (그림 4)는 Matlab 딥러닝 WorkFlow를 보여주고 있다[7].

(그림 4) Matlab 딥러닝 WorkFlow
(그림 5)와 같이 MTCNN은 안면 검출 분야에서 높은 성능과 빠른 검출 속도를 나타내는 모델로 Face detection용 Task와 눈, 코, 입의 좌표를 알아내는 Face alignment용 Task를 각기 구동하여 마스크 영역 추출한다[8].

(그림 5) MTCNN 흐름도
Jetson Xavier는 8-core ARM v8.2 64-bit CPU와 512-core의 GPU를 활용하여 딥러닝 소프트웨어를 실행한다[9]. 학습에서는 최소 2,000장 이상의 마스크 얼굴 열화상 데이터셋을 구성하고 OpenCV와 MTCNN을 활용하여 얼굴영역을 학습한다. 실행단계에서는 열화상카메라로 획득한 열 영상을 패럴렐 데이터 버스로 전달하고 선행 학습된 MTCNN을 통해 마스크 영역을 추출 한다.

(그림 6) DeepStream SDK 구성
딥러닝 학습을 위한 이미지 확보 및 라벨링 작업은 열화상 사진을 직접 촬영하고 라벨링 작업 진행한다[10]. 라벨링 작업은 공개 툴인 labelimg를 사용하였으며, 라벨링 작업은 약2,000 개 마스크 안면 / 측면 사진을 사용하였다.

(그림 7) Labeling 공개 툴 사용
추론 모듈(NVIDIA Jetson GPU 보드 활용)과 IR 카메라 연동을 위한 MIPI(Mobile Industry Processor) 인터페이스를 적용하였으며, 추론 보드에 프로그래밍 작업을 진행하고 추론 시간 단축을 위한 최적화 수행하였다.
Jetson Xavier NX 보드에서 CUDA, TensorRT를 활용하여 GPU 실행이 가능하도록 Python과 C++ API 를 이용하여 MTCNN 학습하고, 마스크 감지 소프트웨어 개발하였다.
Nvidia profiler 를 사용하여 ARM core mcu와 GPU의 load balancing 상태 확인 및 코드개선을 진행하였다.

(그림 8) 딥러닝을 이용한 마스크 얼굴영역 검출
4. 실험 및 검토
실험을 위해 학습 데이터는 실제 촬영을 통해 수집한 2,000개의 열영상을 이용하였으며, 실험을 위해 그림 9와 같이 열화상카메라를 제작하였다.

(그림 9) 제작한 열화상 카메라
그림 10 과 같이 PC 용 프로그램을 제작하여 실험을 진행하였다.

(그림 10) PC 용 프로그램
마스크 미착용시에는 그림 11과 같이 알람을 알려주도록 하였다.

(그림 10) 마스크 미착용 결과
5. 결론
최근 영상 처리 분야에 신경망 기술이 적극적으로 활용되고 있으며, 객체 탐지, 이미지 분류 등 다양한 영상처리 기술에 신경망을 접목하여 높은 성능을 보이고 있으며, 현재 COVID-19 로 인해 마스크 착용 여부 검사 시스템에 대해서도 신경망 기술들을 적용하는 연구가 활발히 진행되고 있다. 마스크 착용 여부 검사 시스템에 적용되는 신경망 기술은 후보 얼굴 관심 영역 검출 단계와 마스크 착용 여부 검사 단계로 이루어진 2단계 검출 방법과 마스크 착용 영역을 한번에 검출하는 1단계 검출 방법이 있으며, 2단계 검출 방식은 단계적 검출 방법을 사용하기 때문에 상대적으로 1단계 검출 방식보다 추론 속도가 늦지만 높은 정확도를 보인다는 장점을 가지고 있다. 본 논문에서는 얼굴 인식부와 마스크 검출부로 구성된 2단계 검출 방식을 적용한 마스크 착용 여부 검사 시스템을 제안하며, 얼굴 인식부과 마스크 검출부에 각각 MTCNN 모델, ResNet 모델을 사용하였다. 실험을 위해 학습 데이터는 촬영을 통해 수집한 2,000개의 열영상을 이용하였으며, 마스크 검출부에는 다양한 실 상황에서의 인식률과 추론 속도를 향상시키기 위해 5개의 ResNet 모델을 적용하여 각각 실험하였다.
참고문헌
- 강동윤, 이재우, 박원형, "코로나19 환경에서 무중단 보안관제센터 구성 및 운영 강화 연구," 한국융합보안학회논문지, 21권 1호, pp.25-31, 2021.
- 권현, 윤준혁, 김준섭, 박상준, 김용철, "딥뉴럴네트워크에서의 적대적 샘플에 관한 앙상블 방어 연구," 한국융합보안학회논문지, 21권 2호, pp.57-66, 2021.
- B. Wang, Y. Zhao and C. L. P. Chen, "Hybrid Transfer Learning and Broad Learning System for Wearing Mask Detection in the COVID-19 Era," IEEE Transactions on Instrumentation and Measurement, vol. 70, pp. 1-12, 2021.
- J. Zhang, F. Han, Y. Chun and W. Chen, "A Novel Detection Framework About Conditions of Wearing Face Mask for Helping Control the Spread of COVID-19," IEEE Access, vol. 9, pp. 42975-42984, 2021. https://doi.org/10.1109/ACCESS.2021.3066538
- R. P. Sidik and E. Contessa Djamal, "Face Mask Detection using Convolutional Neural Network," 2021 4th International Conference of Computer and Informatics Engineering (IC2IE), pp. 85-89, 2021.
- Z. Wu, M. Peng, T. Chen, "Thermal face recognition using convolutional neural network," Proceedings of the 2016 International Conference on Optoelectronics and Image Processing (ICOIP), pp.6-9, 2016.
- Matlab, http://www.mathworks.com
- E. M. F. Caliwag, A. Caliwag, B. -K. Baek, Y. Jo, H. Chung and W. Lim, "Distance Estimation in Thermal Cameras Using Multi-Task Cascaded Convolutional Neural Network," IEEE Sensors Journal, vol. 21, no. 17, pp.18519-18525, 2021. https://doi.org/10.1109/JSEN.2021.3092382
- NVIDIA, http://www.nvidia.com
- LabelImg, https://github.com/tzutalin/labelImg