JKSPE
[ REGULAR ]
Journal of the Korean Society for Precision Engineering - Vol. 41, No. 4, pp.295-303
ISSN: 1225-9071 (Print) 2287-8769 (Online)
Print publication date 01 Apr 2024
Received 12 Dec 2023 Revised 02 Jan 2024 Accepted 29 Jan 2024
DOI: https://doi.org/10.7736/JKSPE.023.149

중환자실 도어 제어를 위한 MobileNetV2 기반의 실시간 마스크 감지 인공지능 알고리즘

박찬민1, * ; 김우종1, * ; 박민섭1, * ; 박태용1 ; 곽윤상1, #
1국립금오공과대학교 기계시스템공학과
Face Mask Recognition AI-algorithm with MobileNetV2-based Neural Network for Automatic Door Control in Intensive Care Unit (ICU)
Chanmin Park1, * ; Woojong Kim1, * ; Min Seob Park1, * ; Taeyong Park1 ; Yunsang Kwak1, #
1Department of Mechanical System Engineering, Kumoh National Institute of Technology

Correspondence to: #E-mail: ykwak@kumoh.ac.kr, TEL: +82-54-478-7341 *These authors contributed equally to this work


Copyright © The Korean Society for Precision Engineering
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

In this study, we proposed an AI-algorithm for face mask recognition based on the MobileNetV2 network to implement automatic door control in intensive care units. The proposed network was constructed using four bottleneck blocks, incorporating depth-wise separable convolution with channel expansion/projection to minimize computational costs. The performance of the proposed network was compared with other networks trained with an identical dataset. Our network demonstrated higher accuracy than other networks. It also had less trainable total parameters. Additionally, we employed the CVzone-based machine learning model to automatically detect face location. The neural network for mask recognition and the face detection model were integrated into a system for real-time door control using Arduino. Consequently, the proposed algorithm could automatically verify the wearing of masks upon entry to intensive care units, thereby preventing respiratory disease infections among patients and medical staff. The low computational cost and high accuracy of the proposed algorithm also provide excellent performance for real-time mask recognition in actual environments.

Keywords:

Deep learning, Convolutional neural network, Face mask recognition

키워드:

딥러닝, 합성곱 신경망, 마스크 인식

1. 서론

최근에 발표된 질병관리청의 호흡기 감염병 관리 지침에 따르면 국내에서 호흡기 질환으로 입원한 환자 중 호흡기 바이러스 검사 결과가 양성인 감염 사례가 계속해서 발생하고 있다(Table 1) [1,2]. 이러한 감염병은 주로 증상이 없는 보균자 또는 환자를 통해 호흡기 비말, 분비물, 그리고 직접 접촉으로 전파된다. 특히 밀폐된 장소나 학교, 주거 공간, 병원과 같은 협소한 실내환경에서의 전파 위험이 높다[3,4]. 중환자실은 심각한 질병이나 상해로 치료받는 환자들을 보호하기 위한 공간으로, 환자들의 안전과 치료 환경을 유지하는 것이 중요하다. 중환자실에서 마스크를 착용하지 않은 사람들이 출입할 경우, 해당 개인의 호흡기 분비물이나 직접적인 접촉으로 인해 다른 환자나 의료진에게 교차 감염이 발생할 수 있다. 따라서 마스크를 착용함으로써 이러한 감염병의 전파를 예방하는데 기여할 수 있다[5].

Yearly incidence (mortality) of respiratory-transmitted infectious diseases

컴퓨터 비전은 디지털 이미지나 비디오로부터 고급 정보를 추출하는 학문적 분야로, 이미지 처리, 이미지 분류, 객체 감지, 이미지 인식과 같은 전통적인 작업들을 다루는 학문이다. 객체 감지는 특정 클래스의 시각적 객체 인스턴스를 이미지에서 찾아내는 작업을 의미하며[6], 이는 마스크 검출과 같은 문제에 대한 효과적인 해결책으로 간주된다. 현재 마스크 검출은 COVID-19와 같은 전염병의 확산을 제어하고, 예방하는데 글로벌한 중요성을 가진 사회적 이슈로 부상하여, 이에 대한 연구가 활발히 이루어지고 있다.

합성곱 신경망(CNN)은 생물학적인 과정에서 영감을 받은 심층 신경망의 한 유형이다. CNN은 주로 합성곱 레이어, 풀링 레이어, 그리고 완전 연결 레이어로 이루어진 일련의 구성 요소를 가지고 있다. 역전파 알고리즘을 통해 다양한 데이터에서 중요한 특징을 자동으로 추출하여 학습할 수 있다. 또한, CNN의 커널은 이미지의 모든 위치에서 공유되어 파라미터 관점에서 매우 효율적이다. 이러한 특성으로 인해 CNN은 주로 컴퓨터 비전 작업에 대한 이상적인 해결책으로 여겨진다[7].

팬데믹의 발생으로 인해 얼굴 마스크 감지에 대한 관심과 연구가 크게 증가하고 있다. 이에 따라 마스크 착용 여부를 자동으로 판별하는 알고리즘은 머신러닝과 딥러닝을 기반으로 한 다양한 연구가 진행되고 있다. 머신러닝을 활용하여 카메라로 촬영된 화면에서 사람의 존재 여부를 확인하고, 이후 딥러닝 기술을 도입하여 감지된 사람이 마스크를 착용하고 있는지 여부를 식별하는 방식이 주로 적용되고 있다[8,9].

본 연구의 목적은 빠른 실시간 판별을 위한 모델 경량화와 동시에 높은 판별 정확도를 달성하는 마스크 착용 여부 판별 딥러닝 알고리즘을 개발하는 것이다. 이를 위해 MobileNetV2 [10] 기반으로 하는 네트워크 모델을 제시하였다. 본 연구는 모델의 경량화를 주요 목적으로 하고 있기 때문에 다른 모델보다 파라미터 수가 적은 MobileNetV2를 기반의 네트워크 모델을 구성하였다. MobileNetV2는 Depthwise Separable Convolution과 Residual Block을 효과적으로 활용하여 적은 학습 파라미터로 우수한 판별 성능을 구현하였다. 이 모델을 활용함으로써 낮은 성능의 하드웨어에서도 효과적으로 학습이 가능하다는 장점이 있다. 이후 CVzone 기반의 머신러닝 알고리즘을 이용하여 카메라에 비친 화면에서 사람의 얼굴을 실시간으로 감지하고, 학습된 딥러닝 모델을 이용하여 해당 사람의 마스크 착용 여부를 판별한다. 마스크의 착용 여부 판별과 아두이노를 복합적으로 활용하여, 중환자실의 문을 자동으로 열고 닫는 자동 개폐장치를 제안한다. 제안한 알고리즘은 적은 계산 비용만으로도 정확한 판별결과를 빠르게 제공함으로써, 환자와 의료진의 안전을 보호하고 중환자실의 보안을 강화할 수 있다.


2. 본론

2.1 딥러닝 학습을 위한 데이터셋 구성

본 연구에서는 마스크 착용 유무 예측을 하는 모델을 만들기 위해 GitHub의 Balajisrinivas-Face Mask Detection Dataset을 활용하였다(Fig. 1(a)). 이 데이터셋은 마스크를 착용한 사진 1,915장, 마스크를 착용하지 않은 사진 1,918장으로 구성되어 있다. 다양한 형태의 데이터를 학습시키고, 과적합을 피하기 위해 Keras 라이브러리의 ImageDataGenerator를 활용하여 데이터 전처리를 진행하였다. 회전, 굴절, 이미지 확대, 가로 방향 이동, 세로 방향 이미지 반전 등의 기법을 적용하여 데이터를 가공하였다. 학습을 위해 총 3,833장의 데이터를 사용했다. 학습 데이터는 마스크 착용 데이터 1,437장, 마스크 미착용 데이터 1,439장으로 총 2,876장의 데이터를 사용하였고, 검증 데이터는 마스크 착용 데이터 478장, 마스크 미착용 데이터 479장으로 총 957장의 데이터를 사용하였다. 테스트 데이터로는 Zenodo에서 진행한 Face Mask Detection의 데이터(Fig. 1(b))와 직접 촬영한 데이터(Fig. 1(c))를 활용하였다. Zenodo에서 사용한 데이터는 마스크 착용 데이터 732장, 미착용 데이터 759장으로 총 1,491장의 데이터를 사용하였다. 직접 수집한 테스트 데이터의 경우, 개개인을 기준으로 다음과 같은 분류로 구성되었다: “) 안경과 모자 미착용-5장, 2) 안경 착용-5장, 3) 모자 착용-5장, 4) 안경과 모자 모두 착용-5장”으로 마스크 착용 여부에 따라 각 40장씩 수집하였다. 이로써, 20명의 참여자에 대한 총 400장의 마스크 착용 데이터와 400장의 마스크 미착용 데이터를 확보하여 테스트 데이터로 사용하였다.

Fig. 1

Representative images of training and test datasets. (a) Train dataset, (b) test dataset, and (c) custom dataset for test. The custom dataset includes images with and without glasses, as well as images with and without hats

2.2 MobileNetV2 기반의 딥러닝 네트워크 모델

본 연구에서는 MobileNetV2 기반의 네트워크 구조를 가진 모델을 활용하여 최소한의 계산비용으로 마스크 착용 여부를 정확하게 분류하는 것을 목표로 한다. Depthwise Separable Convolution과 채널 확장 및 축소를 활용한 4개의 Bottleneck Block을 제안하여, 정확도를 높이는 것과 동시에 모델의 학습 파라미터를 최소화하였다. 본 연구에서 사용된 4가지 Bottleneck은 구조에 따라 Bottleneck A-D로 나누어졌다. Depthwise Separable Convolution 레이어는 Depthwise Convolution과 Pointwise Convolution을 결합한 레이어를 의미한다(Fig. 2(b)).

Fig. 2

(a) Network architecture with bottleneck blocks of the proposed model. (b) Depthwise separable conv block, (c) Bottleneck A, (d) Bottleneck B, (e) Bottleneck C, and (f) Bottleneck D

각 Bottleneck은 1 × 1 Convolution 레이어를 활용하여 데이터의 채널의 확장(Expansion)과 축소(Projection) 과정을 거친다. Expansion 레이어에서는 입력 데이터의 채널을 팽창 계수를 곱한 값만큼의 채널로 확장한다. 이후 Projection 레이어에서 다시 채널을 축소하여 연산량을 감소시킨다.

Bottleneck A의 팽창 계수는 1로 하여, 채널이 확장되지 않는다. 이후 Depthwise Separable Convolution 레이어를 배치한다. 마지막으로 1 × 1 Convolution 레이어를 사용하여 채널을 축소하였다(Fig. 2(b)).

Bottleneck B는 기존 MobileNetV2의 Bottleneck Stride = 1일 때의 구조와 동일한 구조로, 팽창 계수는 6으로 하였다. Bottleneck B 구조에서는 1 × 1 Convolution 레이어를 사용하여 채널을 6배로 확장시킨 후 Depthwise Separable Convolution 레이어를 배치한다. 이후 1 × 1 Convolution 레이어를 통해 레이어의 채널을 이전 Bottleneck 레이어의 채널과 동일하게 축소시킨다. 마지막으로 해당 레이어는 Skip Connection을 사용하여 이전 Bottleneck 레이어와 연결한다(Fig. 2(c)).

Bottleneck C의 팽창 계수는 6으로 하였다. Bottleneck C의 구조는 1 × 1 Convolution 레이어를 사용하여 채널을 6배로 확장시킨 후 Depthwise Separable Convolution 레이어를 배치한다. 마지막으로 1 × 1 Convolution 레이어를 사용하여 채널을 축소한다(Fig. 2(d)).

Bottleneck D의 팽창 계수는 6으로 하였다. Bottleneck D의 구조는 Zeropadding을 배치한 후 Depthwise Separable Convolution 레이어를 배치한다. 이 과정을 통해 이미지의 크기는 반으로 줄어든다. 마지막으로 1 × 1 Convolution 레이어를 사용하여 채널을 축소한다(Fig. 2(e)).

MobileNetV2의 계산비용을 최소화하기 위해, 기존 모델에서 사용한 Bottleneck 구조를 최적화하는 과정을 진행하였다. 채널 연산량이 많은 모델 후반부의 Bottleneck B와 C의 구조를 수정함으로써 모델의 계산량을 최소화하면서 정확도를 유지하였다. 반면, 채널 감소와 이미지 사이즈 변화를 통해 계산비용 축소에 도움이 되는 Bottleneck A와 D는 수정하지 않았다.

모델 1은 기존의 모델에서 연산량이 많은 후반부 모델의 채널이 64, 96, 160개인 Bottleneck B 개수를 1개로 하였다. 모델 2는 본 연구에서 제안한 모델로, 모델 1에서 채널이 64, 96, 160개인 Bottleneck B를 전부 제거하였다. 모델 3은 2에서 채널이 320개인 Bottleneck C를 제거하였다. 모델 4는 3에서 Bottleneck B를 전부 제거한 모델이다.

Fig. 3 에서 각 모델에 대한 정확도와 Total Parameter를 비교하였다. 모델 1과 2에서는 정확도가 크게 떨어지지 않았지만, 모델 3에서부터 정확도가 크게 하락하였다. 본 연구에서 제안하고자 하는 모델은 모델 2로, 해당 모델의 Total Parameter는 약 1.2 M, 정확도는 98.68%이다. 이는 기존 MobileNetV2 모델보다 정확도는 약 0.7% 하락하였지만, Total Parameter는 약 1/2로 크게 줄어든 것을 확인할 수 있다.

Fig. 3

Test accuracy and total parameters according to MobileNetV2-based models

제안된 모델과의 비교를 위해 VGG16 [11], Xception [12], YOLOv8n [13], MLP 네 가지 모델을 사용하였다. VGG16 기반의 모델은 전이 학습을 활용하며, 이후 Dense 레이어가 추가되었다. VGG16 모델은 2D Convolution 레이어와 Maxpooling 레이어를 연속적으로 배치하여 구성하였고, 필터 사이즈는 64개에서 512개까지 점차적으로 늘려 구성하였다. 출력층을 제외한 모든 레이어에서는 활성화 함수로 ReLU를 사용하였으며, 출력층에서는 활성화 함수로 SoftMax를 사용하였다(Fig. 4(a)).

Fig. 4

Network architectures for comparison. (a) Transfer learning model based on VGG16 and (b) Xception. (c) Block A and (d) Block B of the Xception model. (e) MLP model

Xception 기반의 모델은 전이 학습을 활용하며, 그 이후에는 Dense 레이어가 추가되었다(Fig. 4(b)). Xception 모델은 Block A (Fig. 4(c))와 Block B (Fig. 4(d)) 구조를 사용하였다. Block A의 구조는 2개의 Depthwise Separable Convolution 레이어를 배치하고, Maxpooling 레이어가 배치된다. Maxpooling 레이어를 거친 결과는 입력 데이터에 1 × 1 Convolution 레이어를 적용한 결과와 결합된다.

Block B의 구조에서는 3개의 Depthwise Separable Convolution 레이어를 배치하였다. Depthwise Separable Convolution 레이어를 거친 결과는 Skip Connection을 사용하여 Block B에 입력된 데이터와 결합된다.

Xception 모델은 총 2개의 Conv 2D 레이어, 3개의 Block A, 8개의 Block B, 1개의 Block A, 2개의 Depthwise Separable Convolution 레이어, 그리고 Averagepooling 레이어로 구성되었다. 필터 사이즈는 32개에서 1,024개까지 점차적으로 늘려 구성하였다. 출력층을 제외한 레이어에서는 ReLU 함수가 활용되었으며, 출력층에서는 SoftMax 함수를 활성화 함수로 사용하였다.

YOLO란 You Only Look One를 줄인 것으로 Object Detection을 위한 모델이다. 현재는 Version 1부터 8까지 나왔으며, 본 연구에서는 Total Parameter가 가장 적은 YOLOv8n 모델을 사용하여 본 논문에서 제시한 모델과 성능을 비교하였다.

MLP 모델은 합성곱 레이어 없이 Dense 레이어로만 구성된 모델이다. 출력층을 제외한 레이어에서는 활성화 함수로 ReLU를 사용하였고, 출력층에서는 활성화 함수로 SoftMax를 사용하였다(Fig. 4(e)).

각 모델을 동일한 조건에서 비교하기 위해 입력 크기를 일치시키고, 최적화 함수로는 Adam을, 학습률은 0.001로 설정하였다. 에폭수는 25로 설정하고, 검증 Precision을 기준으로 학습을 진행하였다(Fig. 5). 각 모델의 성능을 비교하기 위해 Test Precision, Precision-recall Curve를 활용하여 평가하였다(Fig. 6).

Fig. 5

(a) Train precision and (b) train loss for each model

Fig. 6

Precision-recall curve for each model

Precision-recall Curve는 Precision과 Recall의 비율을 나타내는 그래프이며, Precision은 예측한 값이 얼마나 정확한지 나타내는 지표로, 올바른 이미지로 예측한 이미지 중에서 실제로 올바른 이미지에 대한 비율이다. Recall은 올바른 이미지를 올바르게 예측한 비율을 의미한다. 이 곡선이 우상단에 가까울수록 모델의 성능이 우수한 것으로 판단할 수 있다. PR-AUC는 Precision-recall Curve의 아래 영역을 계산한 값으로, 각 모델의 성능을 종합적으로 평가한다.

Table 2에서는 각 모델의 테스트 Precision, 파라미터 수, 그리고 PR-AUC를 확인할 수 있다. 본 연구에서 제안된 모델의 Total Parameter는 약 1.2M로, 다른 비교 모델의 Total Parameter보다 최대 약 100배에서 약 2배 정도 더 적은 Parameter를 가지고 있는 것으로 확인되었다. 그럼에도 불구하고, 제안된 모델은 정확도 98.68%로 매우 높은 정확도를 보여주고, PR-AUC 또한 0.9993으로 매우 우수한 값을 보여주었다. 특히, YOLOv8n은 제안된 모델과 비슷한 수준의 Precision을 보여주었지만, Total Parameter는 약 2배 이상 큰 값을 가지고 있다. 그 외의 비교 모델로, Xception은 Precision 98.95%, PR-AUC 1.0, VGG16은 정확도 94.28%, PR-AUC 0.9782, MLP는 90.65%, PR-AUC 0.9810를 달성하였다.

Total parameter, test precision and PR-AUC for each model

이에 더해, YOLOv8n 모델에 Channel Pruning을 적용하여, Total Parameter에 따른 성능을 본 연구에서 제시한 모델과 비교하였다. Channel Pruning은 학습이 완료된 모델의 일부 Parameter를 삭제하는 기법으로, Parameter를 삭제함에 따라 성능저하가 발생하지만 연산량을 줄일 수 있다는 장점이 있다. 기존 YOLOv8n 모델의 Total Parameter는 약 3 M이었으며, 학습된 YOLOv8n 모델에 Channel Pruning을 적용하였다. 이 때, Pruning 비율을 10, 20, 30%로 증가시켰을 때, Total Parameters는 2.7, 2.4, 2.1 M 으로 감소하였으며, 정확도는 99.7, 89.5, 29.7%로 감소하였다. 특히, Channel Pruning 비율이 30%일 때 Total Parameter는 2.1 M로, 이는 본 연구에서 제시한 모델의 Parameter보다 약 1.75배 큰 수치임을 알 수 있다. 그럼에도 본 연구에서 제시한 모델의 정확도는 약 99%로 유지되었다. 이러한 결과는 본 연구에서 제시한 모델 구조가 계산 효율적인 실시간 마스크 판별 알고리즘으로써 가장 적절함을 보여준다.

2.3 실시간 얼굴 감지를 위한 머신러닝 모델

본 연구에서는 카메라로 촬영된 영상을 통해 인물의 마스크 착용 여부를 판단하기 위해 CVzone을 사용하였다. CVzone은 OpenCV와 Mediapipe를 복합적으로 활용하는 머신러닝 알고리즘이다. OpenCV는 카메라를 통해 입력되는 이미지를 컴퓨터가 다양한 목적에 맞게 처리하는 데에 필요한 알고리즘들을 포함한 라이브러리이다. 또한, Mediapipe 라이브러리는 실시간 비디오 및 오디오 데이터를 활용하여, 운동, 자세 향상, 모션 감지 등 다양한 분야에 활용된다. 제시된 장치에서는 CVzone을 이용하여 사람의 얼굴을 감지할 수 있다(Fig. 7(a)). 먼저 OpenCV 패키지를 이용해 카메라 영상을 출력한다. 출력된 화면에서 Mediapip를 사용하여 얼굴의 특징을 잡아낸다. 이를 통해 Facedetection 모듈에서 사람의 얼굴을 감지하고, 감지된 얼굴을 사각형 박스로 표시한다(Fig. 7(b)). 또한 이 모델은 사람이 마스크를 착용하거나(Fig. 7(c)), 안경(Fig. 7(d)), 모자(Fig. 7(e))를 착용하더라도 문제없이 사람의 얼굴을 감지할 수 있다.

Fig. 7

Face detection using CVzone-based machine learning algorithm. (a) Running screen of the machine learning. Detection results for (b) bare face, (c) face wearing a mask, (d) face wearing a mask and eyeglasses, and (e) face wearing a mask, eyeglasses, and hat

2.4. 중환자실 도어의 축소모형 제작

Fig. 8은 인공지능 중환자실 도어의 축소 모형의 설계도와 완성 사진을 보여준다. 실제 문과 모형 문 전체의 크기 비율을 10 : 1로 설정하였고, 모형 문의 너비와 높이의 비율은 1 : 1.5로 제작되었다. 모형 문틀의 치수는 h1 = 250 mm, w1 = 375 mm이고, 모형 문의 치수는 h2 = 210 mm, w2 = 150 mm이다(Fig. 8(a)). 모형 문과 장치는 아크릴을 레이저 커팅하여 제작하였다.

Fig. 8

(a) Design drawing for the door part, (b) door control device, and (c) front view of scale model blueprint. (d) The shaft connected to a DC motor, (e) height adjustment pins for the DC motor, and (f) completed ICU door control system

문틀과 접합하고, 래크 기어가 부착되어 있는 장치의 치수는 h3 = 40 mm, w3 = 275 mm이다(Fig. 8(b)). 문을 열고 닫기 위한 장치와 모형 문과의 결합은 Fig. 8(c)와 같이 설계하였다. 축과 피니언 기어를 연결하는 부분은 3D 프린트를 사용하여 제작되었고, 피니언 기어와 래크 기어로부터 분리되지 않도록 축의 모양을 ‘H’로 제작했다. DC 모터 축이 없는 영역에도 ‘H’모양의 축을 설치하여 장치의 기울어짐을 방지하고, 피니언 기어와 래크 기어가 맞물리도록 높이를 맞추었다(Fig. 8(d)). 모형 문의 치수는 3D 프린팅 기술을 활용하여 다른 문에도 장치를 설치할 수 있도록 ‘ㄱ’모양의 핀을 만들었다(Fig. 8(e))). 그 후 장치의 몸체 옆면에 구멍을 뚫어 장치의 높낮이 및 문과 장치 사이의 거리를 조절할 수 있도록 설계하였다. 모형 문의 앞쪽에 설치된 버튼은 아크릴을 사용하여 고정시켜 주었고, 모형 문의 뒷면에는 모형 문을 지지할 수 있는 지지대가 설치되었다. 창문틀 위에는 작은 홈을 만들어 웹캠을 설치할 수 있도록 설계되었다(Fig. 8(f)).

2.5 인공지능 중환자실 도어 제어 알고리즘

본 연구는 얼굴 감지를 위해 머신러닝 모델을 활용하고, 감지된 얼굴을 딥러닝 모델에 입력하여 마스크 착용 여부를 예측한다. 본 연구에서 제안하는 알고리즘의 순서도를 Fig. 9에 나타내었다. 제안된 실시간 마스크 판별 알고리즘의 순서는 다음과 같다.

Fig. 9

Operating algorithm for the proposed door control system

제시된 알고리즘은 스위치가 작동되면 웹캠에 비친 화면 중 제안된 머신러닝을 통해 얼굴 위치를 판별한다. 화면에 비친 얼굴이 2명 이상일 경우, 정확한 예측을 위해 “1명만 나오세요”라는 문구를 출력한 후 처음으로 회귀한다. 화면에 비친 얼굴이 1명일 경우 얼굴의 전체가 화면에 보이는지 확인한다. 얼굴의 전체가 보이지 않을 경우 “제대로 서주세요”라는 문구를 출력한 후 처음으로 회귀한다. 앞의 조건을 전부 만족할 경우 제안된 딥러닝 알고리즘을 통해 마스크의 착용을 판별한다. 이때 마스크 착용 확률이 80% 이상일 경우 아두이노의 DC 모터를 활용하여 문을 작동시킨다.


3. 결론

본 연구에서는 MobileNetV2 기반의 네트워크 모델을 활용한 실시간 안면 감지 시스템을 제안하여 중환자실 문의 개폐를 자동으로 제어하는 장치를 제안하였다. MobileNetV2 기반의 네트워크 모델을 활용하여 경량화와 동시에 높은 정확도를 달성했다. 모델을 테스트한 결과, 98.68%의 Precision으로 마스크 착용 여부를 빠르게 판단할 수 있었다. 이는 YOLOv8n의 Precision 99.8%, VGG16의 Precision 94.28%, Xception의 Precision 98.92%, MLP의 Precision 90.65%와 비교하여 비슷하거나 더 우수한 결과를 보여준다. 동시에, 모델의 계산비용을 말해주는 Total Parameter는 제시된 모델이 1.2M개로, YOLOv8n, VGG16, Xception, MLP의 Total Parameter인 3, 14, 21, 154 M개보다 매우 낮은 값을 가졌다. CVzone을 활용한 얼굴 인식 머신러닝 알고리즘을 통해 실시간으로 사람의 얼굴을 감지하며, 딥러닝 모델을 사용하여 마스크 착용 여부를 식별하는 알고리즘을 구현하였다. 뿐만 아니라, 마스크 착용 여부가 확인되면 파이썬과 아두이노 간에 신호를 주고받아 DC 모터를 활용하여 문을 자동으로 열고 닫을 수 있는 시스템을 제안하였다. 이를 통해 중환자실 출입 시 마스크 착용 여부를 실시간으로 확인하고, 착용 여부에 따라 문을 개폐함으로써 감염 예방 및 환자, 의료진의 안전을 높일 수 있을 것으로 기대된다. 더불어, 제안된 시스템은 적은 계산 비용으로 높은 성능을 제공하며, 실제 환경에서 효과적으로 적용될 수 있을 것이다.

Acknowledgments

이 연구는 금오공과대학교 학술연구비로 지원되었음(2021).

REFERENCES

  • Kim, S. H., Huh, J. H., Bae, S. Y., Kim, J. S., Yoon, S. Y., Lim, C. S., Cho, Y., Kim, Y. K., Lee, K. N., Lee, C. K., (2006), Epidemiology of respiratory viral infection in 2004-2006, The Korean Journal of Laboratory Medicine, 26(5), 351-357. [https://doi.org/10.3343/kjlm.2006.26.5.351]
  • Lee, S.-J., Lee, S.-H., Ha, E.-K., Sheen, Y.-H., Sung, M.-S., Jung, Y.-H., Lee, K.-S., Jee, H.-M., Han, M.-Y., (2017), Prevalence of respiratory virus infection with regard to age, sex, and seasonality factors: A single center experience against children hospitalized during the 10 years, Allergy, Asthma & Respiratory Disease, 5(6), 320-325. [https://doi.org/10.4168/aard.2017.5.6.320]
  • Eames, I., Tang, J. W., Li, Y., Wilson, P., (2009), Airborne transmission of disease in hospitals, Journal of the Royal Society Interface, 6(suppl_6), S697-S702. [https://doi.org/10.1098/rsif.2009.0407.focus]
  • Xue, X., Ball, J. K., Alexander, C., Alexander, M. R., (2020), All surfaces are not equal in contact transmission of SARS-CoV-2, Matter, 3(5), 1433-1441. [https://doi.org/10.1016/j.matt.2020.10.006]
  • Leung, N. H., Chu, D. K., Shiu, E. Y., Chan, K.-H., McDevitt, J. J., Hau, B. J., Yen, H.-L., Li, Y., Ip, D. K., Peiris, J., (2020), Respiratory virus shedding in exhaled breath and efficacy of face masks, Nature Medicine, 26(5), 676-680. [https://doi.org/10.1038/s41591-020-0843-2]
  • Papageorgiou, C., Poggio, T., (2000), A trainable system for object detection, International Journal of Computer Vision, 38, 15-33. [https://doi.org/10.1023/A:1008162616689]
  • Zou, Z., Chen, K., Shi, Z., Guo, Y., Ye, J., (2023), Object detection in 20 years: A survey, Proceedings of the Institute of Electrical and Electronics Engineers, 111(3), 257-276. [https://doi.org/10.1109/JPROC.2023.3238524]
  • Yu, J., Zhang, W., (2021), Face mask wearing detection algorithm based on improved YOLO-v4, Sensors, 21(9), 3263. [https://doi.org/10.3390/s21093263]
  • Jiang, X., Gao, T., Zhu, Z., Zhao, Y., (2021), Real-time face mask detection method based on YOLOv3, Electronics, 10(7), 837. [https://doi.org/10.3390/electronics10070837]
  • Sandler, M., Howard, A., Zhu, M., Zhmoginov, A., Chen, L. C., (2018), MobileNetV2: Inverted residuals and linear bottlenecks, Proceedings of the Institute of Electrical and Electronics Engineers Conference on Computer Vision and Pattern Recognition, 4510-4520. [https://doi.org/10.1109/CVPR.2018.00474]
  • Simonyan, K., Zisserman, A., (2014), Very deep convolutional networks for large-scale image recognition, arXiv preprint arXiv:1409.1556, .
  • Chollet, F., (2017), Xception: Deep learning with depthwise separable convolutions, Proceedings of the Institute of Electrical and Electronics Engineers Conference on Computer Vision and Pattern Recognition, 1251-1258. [https://doi.org/10.1109/CVPR.2017.195]
  • Github, Ultralytics YOLO (Version 8.0.0) [Computer software]. https://github.com/ultralytics/ultralytics
Chanmin Park

M.Sc. candidate in the Department of Mechanical System Engineering, Kumoh National Institute of Technology.

E-mail: pcm0530@kumoh.ac.kr

Woojong Kim

B.Sc. candidate in the Department of Mechanical System Engineering, Kumoh National Institute of Technology.

E-mail: dnwhd13466@naver.com

Min Seob Park

B.Sc. candidate in the Department of Mechanical System Engineering, Kumoh National Institute of Technology.

E-mail: wool357@kumoh.ac.kr

Taeyong Park

B.Sc. candidate in the Department of Mechanical System Engineering, Kumoh National Institute of Technology.

E-mail: xodyd1955@kumoh.ac.kr

Yunsang Kwak

Professor in the Department of Mechanical System Engineering, Kumoh National Institute of Technology.

E-mail: ykwak@kumoh.ac.kr

Fig. 1

Fig. 1
Representative images of training and test datasets. (a) Train dataset, (b) test dataset, and (c) custom dataset for test. The custom dataset includes images with and without glasses, as well as images with and without hats

Fig. 2

Fig. 2
(a) Network architecture with bottleneck blocks of the proposed model. (b) Depthwise separable conv block, (c) Bottleneck A, (d) Bottleneck B, (e) Bottleneck C, and (f) Bottleneck D

Fig. 3

Fig. 3
Test accuracy and total parameters according to MobileNetV2-based models

Fig. 4

Fig. 4
Network architectures for comparison. (a) Transfer learning model based on VGG16 and (b) Xception. (c) Block A and (d) Block B of the Xception model. (e) MLP model

Fig. 5

Fig. 5
(a) Train precision and (b) train loss for each model

Fig. 6

Fig. 6
Precision-recall curve for each model

Fig. 7

Fig. 7
Face detection using CVzone-based machine learning algorithm. (a) Running screen of the machine learning. Detection results for (b) bare face, (c) face wearing a mask, (d) face wearing a mask and eyeglasses, and (e) face wearing a mask, eyeglasses, and hat

Fig. 8

Fig. 8
(a) Design drawing for the door part, (b) door control device, and (c) front view of scale model blueprint. (d) The shaft connected to a DC motor, (e) height adjustment pins for the DC motor, and (f) completed ICU door control system

Fig. 9

Fig. 9
Operating algorithm for the proposed door control system

Table 1

Yearly incidence (mortality) of respiratory-transmitted infectious diseases

Neisseria meningitidis
2013 2014 2015 2016 2017 2018 2019 2020 2021 2022
6 5 6 6(1) 17(1) 14(1) 16(1) 5 2 3
Scarlet fever
2013 2014 2015 2016 2017 2018 2019 2020 2021 2022
3,678 5,809 7,002 11,911 22,838 15,777 7,562 2,300 678 506
Adenovirus infection
2013 2014 2015 2016 2017 2018 2019 2020 2021 2022
2,911 3,360 5,996 12,732 6,663 13,627 15,162 2,283 1,092 1,656
Human bocavirus infection
2013 2014 2015 2016 2017 2018 2019 2020 2021 2022
937 2,217 2,875 4,605 4,581 5,446 6,426 1,309 3,216 3,004
Parainfluenza virus infection
2013 2014 2015 2016 2017 2018 2019 2020 2021 2022
1,846 4,653 5,846 7,035 7,971 10,586 12,804 707 4,415 3,763

Table 2

Total parameter, test precision and PR-AUC for each model

Models Total parameter Test precision [%] PR-AUC
* 30% Channel pruning
Ours 1,221,482 98.68 0.9993
YOLOv8n* 2,104,226 29.7 0.3211
YOLOv8n 3,006,038 99.8 0.9995
VGG16 14,780,610 94.28 0.9782
Xception 21,124,010 98.95 1.0
MLP 154,839,106 90.65 0.9810