摘" 要:針對(duì)口罩佩戴檢測(cè)中存在的面部交叉遮擋時(shí)檢測(cè)困難、光線明暗目標(biāo)檢測(cè)精度低等問題,借助YOLOv5算法,提出了一種能夠?qū)崟r(shí)檢測(cè)是否規(guī)范佩戴口罩的檢測(cè)技術(shù),通過實(shí)驗(yàn)驗(yàn)證了該模型在無明顯遮擋,光照條件良好條件下,檢測(cè)準(zhǔn)確率較高,驗(yàn)證了方法的有效性,該方法可適用于動(dòng)物是否佩戴口罩。通過實(shí)驗(yàn)給出了口罩可檢測(cè)與人臉遮擋邊界、光強(qiáng)之間的關(guān)系。
關(guān)鍵詞:深度學(xué)習(xí);YOLOv5算法;目標(biāo)檢測(cè);口罩檢測(cè)
中圖分類號(hào):TP391.4" 文獻(xiàn)標(biāo)識(shí)碼:A" 文章編號(hào):2096-4706(2024)23-0122-06
Mask Detection Method and Implementation in Multi-type Scenarios Based on YOLOv5
HAN Mingwei, HU Bin, WANG Mengyu, LI Ji, CHENG Zijia
(Brunel London School North China University of Technology, Beijing" 100144, China)
Abstract: To address the problems existing in the mask-wearing detection that the detection is difficult with facial cross-occlusion and the object detection accuracy of bright and dark lights is poor, with the help of YOLOv5 algorithm, this paper proposes a detection technology that can detect whether the mask is worn with standardization in real time. Through experiments, it is verified that the model has a relatively high detection accuracy under the conditions of no obvious occlusion and good lighting, which verifies the effectiveness of the method. This method is also applicable for detecting whether animals are wearing masks. Through experiments, the relationships between mask detection and face occlusion boundaries and light intensity are given.
Keywords: Deep Learning; YOLOv5 algorithm; Object Detection; mask detection
0" 引" 言
伴隨氣溫多變,流感、支原體、呼吸道等病毒傳播嚴(yán)重危害人民生命安全。面對(duì)病毒傳播,最簡(jiǎn)單有效的方法是正確佩戴口罩,檢測(cè)是否正確佩戴口罩已成為研究的熱點(diǎn)和重點(diǎn)。目前,口罩檢測(cè)主要是通過目標(biāo)檢測(cè)方法實(shí)現(xiàn)的,它是在圖像中準(zhǔn)確定位和識(shí)別口罩等目標(biāo),同時(shí)確定目標(biāo)位置。目標(biāo)檢測(cè)方法可以用于快速、準(zhǔn)確地檢測(cè)口罩是否正確佩戴,利用深度學(xué)習(xí)方法對(duì)人臉進(jìn)行口罩佩戴情況檢測(cè),可以極大改善人工檢查成本高、效率低、主觀差異大等問題。針對(duì)傳統(tǒng)的口罩檢測(cè)識(shí)別任務(wù),存在以下問題:首先,研究局限于檢測(cè)是否佩戴口罩,是否規(guī)范佩戴口罩研究較少;其次,目標(biāo)檢測(cè)過程存在遮擋等情形,導(dǎo)致檢測(cè)是否佩戴口罩情況成為難點(diǎn);最后,場(chǎng)景的光強(qiáng)大小嚴(yán)重影響目標(biāo)檢測(cè)的準(zhǔn)確率。為了解決上述問題,本文在YOLOv5算法基礎(chǔ)上進(jìn)行改進(jìn),提出了一種可實(shí)時(shí)檢測(cè)是否規(guī)范佩戴口罩的口罩檢測(cè)技術(shù),通過實(shí)驗(yàn)確定了準(zhǔn)確檢測(cè)口罩佩戴情況時(shí)的遮擋邊界及光強(qiáng)范圍。
深度學(xué)習(xí)目標(biāo)檢測(cè)算法運(yùn)用卷積神經(jīng)網(wǎng)絡(luò)自動(dòng)提取目標(biāo)特征,發(fā)展歷程可以根據(jù)檢測(cè)過程的不同,分為兩階段(Two-Stage)算法和單階段(One-Stage)算法[1]。兩階段算法首先提取圖像中可能含有目標(biāo)的候選區(qū)域,然后再候選區(qū)域內(nèi)進(jìn)行回歸,得到檢測(cè)結(jié)果。單階段算法直接通過回歸的方式獲取待測(cè)目標(biāo)的具體位置和類別信息,輸入圖像后,檢測(cè)過程由一個(gè)網(wǎng)絡(luò)完成,直接輸出 bounding box 和分類標(biāo)簽。
2012年,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks)在ImageNet分類任務(wù)上戰(zhàn)勝傳統(tǒng)視覺方法。2014年Girshick等人[2]提出R-CNN目標(biāo)檢測(cè)網(wǎng)絡(luò),即區(qū)域卷積神經(jīng)網(wǎng)絡(luò),在目標(biāo)檢測(cè)領(lǐng)域第一次應(yīng)用深度學(xué)習(xí)的算法并實(shí)現(xiàn)了質(zhì)的飛躍,R-CNN(Regions with Convolutional Neural Networks)在VOC2007數(shù)據(jù)集的平均檢測(cè)精度(mAP)達(dá)到了58.5%,相較于傳統(tǒng)方法提高了近25%。然而,該方法的回歸過程顯著耗費(fèi)時(shí)間和內(nèi)存資源。5 000張圖像訓(xùn)練需要長(zhǎng)達(dá)84個(gè)小時(shí),產(chǎn)生100 GB以上的特征文件。單張圖像的檢測(cè)過程耗時(shí)50秒。2015年,Girshick等人[3]改進(jìn)了該方法,提出了Fast R-CNN目標(biāo)檢測(cè)網(wǎng)絡(luò),該網(wǎng)絡(luò)通過對(duì)網(wǎng)格結(jié)構(gòu)進(jìn)行優(yōu)化及融合優(yōu)點(diǎn),實(shí)現(xiàn)了目標(biāo)分類和候選框回歸的同步進(jìn)行。訓(xùn)練時(shí)間減少到9.5小時(shí),mAP達(dá)到66.9%,檢測(cè)一張圖僅需0.3秒。
為解決目標(biāo)檢測(cè)網(wǎng)絡(luò)頂層特征語義信息豐富但是位置信息缺失的問題,2017年Lin[4]等人提出了特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network, FPN),F(xiàn)PN通過改變網(wǎng)絡(luò)連接的方式,在不同層次的特征圖上構(gòu)建特征金字塔,采用了自頂向下和自底向上的特征融合機(jī)制。在小目標(biāo)識(shí)別上,F(xiàn)PN直接將目標(biāo)識(shí)別的召回率提高了13%,在大/中型物體上的召回率也提高了4%~5%。
2016年Joseph等人提出了YOLO算法,作為深度學(xué)習(xí)時(shí)代第一個(gè)正式的單階段目標(biāo)檢測(cè)器,該方法完全拋棄了兩階段檢測(cè)中的“區(qū)域建議+回歸”模式,而是采用一階段的端到端處理。其最顯著的優(yōu)點(diǎn)是檢測(cè)速度快,檢測(cè)速度可以達(dá)到45 frame/s,然而,該模型的檢測(cè)精度會(huì)稍有不足。2016年底,為了解決YOLOv1版本中召回率較低的問題,Redmon等人[5]提出了YOLOv2算法。采用了Darknet-19作為骨干網(wǎng)絡(luò),引入批量歸一化層,簡(jiǎn)化參數(shù)調(diào)整過程并產(chǎn)生了正則化效果。2018年,Redmon等人[6]提出的YOLOv3引入了殘差網(wǎng)絡(luò)模塊和更強(qiáng)大的Darknet53,采用類似于FPN特征融合策略以更好地適應(yīng)不同尺度的目標(biāo),但YOLOv3在處理小尺寸、低對(duì)比度或密集目標(biāo)時(shí),可能存在檢測(cè)精度較低的問題。之后YOLOv4,YOLOv5不斷推出,性能不斷提高,特征提取和融合能力逐步提升,速度快且精度高,適用于實(shí)時(shí)檢測(cè)并可部署到移動(dòng)端。
李雨陽[7]等人基于SSD(Single Shot MultiBox Detector)算法,利用特征金字塔網(wǎng)絡(luò)與協(xié)對(duì)算法的分類分?jǐn)?shù)和IoU分?jǐn)?shù)進(jìn)行合并,在損失函數(shù)中引人QFL損失,解決了算法中正負(fù)樣本不平衡的問題,比原始SSD算法檢測(cè)速度降低了2.4 frame/s,平均檢測(cè)速率提高至28.9 frame/s,但對(duì)于佩戴口罩的實(shí)時(shí)性檢測(cè)效果略差。針對(duì)復(fù)雜密集場(chǎng)景下口罩佩戴檢測(cè)對(duì)于小目標(biāo)檢測(cè)效果差的問題,李小波[8]等人提出了引入注意力機(jī)制融合多尺度特征的檢測(cè)算法,該研究在YOLOv5s模型的Backbone部分分別引入SE(Squeeze-and-Excitation module),CBAM(Convolu-tional Block Attention Module),CA(Coordinate Attention)和NAM(Normalization-based Attention Module)4種注意力機(jī)制,這些機(jī)制增強(qiáng)了模型對(duì)特征圖中關(guān)鍵信息的關(guān)注,有助于更好地表達(dá)特征信息,從而提升了網(wǎng)絡(luò)模型的mAP指標(biāo),但速度有所下降。隨著目標(biāo)檢測(cè)的不斷發(fā)展以及各研究之間的互相啟發(fā),口罩佩戴情況檢測(cè)的算法需求越來越高。
1" YOLOv5 架構(gòu)
1.1" YOLOv5框圖
YOLOv5主要由Backbone、Neck和Head三部分組成,網(wǎng)絡(luò)模型如圖1所示[9]。其中Backbone 主要負(fù)責(zé)對(duì)輸入圖像進(jìn)行特征提取。Neck負(fù)責(zé)對(duì)特征圖進(jìn)行多尺度特征融合,并把特征傳遞給預(yù)測(cè)層。Head進(jìn)行最終的回歸預(yù)測(cè)。
1.2" 性能指標(biāo)定義
為了定量的分析檢測(cè)性能,定義TP是真陽性、FP是假陽性、FN是假陰性和TN是真陰性,引入以下性能指標(biāo)[10]:
1)精確度,即查準(zhǔn)率。衡量的是分類器正確判斷正類的比例,即評(píng)估預(yù)測(cè)的準(zhǔn)不準(zhǔn),定義如下:
(1)
2)召回率,即查全率。分類器能否找出所有真正的正類的概率指標(biāo),即評(píng)估找得全不全,計(jì)算公式如下:
(2)
3)準(zhǔn)確率。評(píng)估模型全局準(zhǔn)確程度。計(jì)算公式如下:
(3)
4)F1值(F1-Score):綜合考慮精確度和召回率的指標(biāo),計(jì)算公式如下:
(4)
2" 實(shí)驗(yàn)設(shè)計(jì)與分析
2.1" 數(shù)據(jù)集介紹
鑒于當(dāng)前公開數(shù)據(jù)集關(guān)于口罩佩戴檢測(cè)的樣本相對(duì)匱乏,存在錯(cuò)誤標(biāo)注或遺漏的問題,且人臉與口罩區(qū)域的占比相對(duì)較大,降低了檢測(cè)的精度和模型泛化能力。為了更真實(shí)地檢測(cè)各種場(chǎng)景下的口罩佩戴情況,本文自建了一個(gè)口罩檢測(cè)數(shù)據(jù)集,包括從MAFA篩選的圖像和網(wǎng)絡(luò)搜索的補(bǔ)充圖像,共7 267張。
MAFA是一個(gè)遮擋人臉檢測(cè)數(shù)據(jù)集,由中國(guó)科學(xué)院葛等人于2017年開源發(fā)布。數(shù)據(jù)集總共包含30 811張圖像,35 806個(gè)遮擋人臉,呈現(xiàn)各種朝向和遮擋程度,且每張圖像中最少有一個(gè)人臉被遮擋。本文共篩選了6 000張口罩遮擋的圖像,同時(shí)網(wǎng)絡(luò)搜集圖像共計(jì)1 267張口罩圖像作為數(shù)據(jù)集補(bǔ)充,其中包括兒童佩戴口罩,多遮擋佩戴口罩等。
2.2" 數(shù)據(jù)集處理
2.2.1 圖片標(biāo)注
對(duì)于數(shù)據(jù)中部分沒有標(biāo)簽的和自行收集的數(shù)據(jù),本文使用LabelImg工具對(duì)這部分圖片進(jìn)行人工標(biāo)注。每個(gè)標(biāo)簽對(duì)應(yīng)一個(gè)序號(hào),序號(hào)0代表“佩戴口罩(masked)”,序號(hào)1代表“未佩戴口罩(unmasked)”,序號(hào)2代表“不規(guī)范佩戴口罩(nonstandard-masked)”。標(biāo)注中將佩戴口罩時(shí)露出口、鼻或下巴視為不規(guī)范佩戴。在終端輸入labelImg相關(guān)命令打開標(biāo)注界面,選擇要進(jìn)行標(biāo)注的文件,拖動(dòng)鼠標(biāo)手動(dòng)創(chuàng)建圖片中人臉口罩佩戴的矩形區(qū)塊,輸入正確的分類標(biāo)簽。按照VOC標(biāo)注文件存放路徑保存至指定文件夾,標(biāo)注信息為xml文件,標(biāo)注過程中圖形界面如圖2所示。
2.2.2" 格式轉(zhuǎn)換
MAFA數(shù)據(jù)集是以Labelling格式進(jìn)行類別標(biāo)注,并以xml文件的形式存儲(chǔ)相應(yīng)的標(biāo)注信息。但在YOLO算法中,為了便于YOLO算法訓(xùn)練時(shí)的輸入和處理及提高訓(xùn)練時(shí)的調(diào)用效率,需要將xml格式的標(biāo)簽文件轉(zhuǎn)換為更為簡(jiǎn)單的YOLO格式的txt格式。本研究人工標(biāo)注了2 094張圖片,數(shù)據(jù)集標(biāo)注完成后,共有7 267張圖片,其中佩戴口罩目標(biāo)數(shù)為3 516,未佩戴口罩目標(biāo)為2 136。不規(guī)范佩戴口罩目標(biāo)數(shù)為1 615。同時(shí)為了提升模型的訓(xùn)練效果,本文采用8:1:1將整個(gè)數(shù)據(jù)集劃分訓(xùn)練集、驗(yàn)證集和測(cè)試集。
2.3" 評(píng)估模型指標(biāo)
本文使用YOLOv5算法對(duì)7 267張圖片進(jìn)行訓(xùn)練150輪次,并繪制F1曲線和PR(Precision-Recall)曲線評(píng)估訓(xùn)練出的模型性能好壞,F(xiàn)1分?jǐn)?shù)是精確度和召回率的調(diào)和平均值,它提供了模型在正例和負(fù)例之間平衡的度量,綜合考慮了模型的準(zhǔn)確性和全面性。如圖3所示,可觀察到“masked”“nonstandard-masked”“unmasked”等標(biāo)簽的F1值較為顯著,同時(shí)曲線的整體趨勢(shì)更為平穩(wěn),表明模型對(duì)這些標(biāo)簽的識(shí)別效果較為出色。
PR曲線是評(píng)估分類模型性能的一種常用工具,它以模型的精確度(Precision)和召回率(Recall)為坐標(biāo)軸繪制出的曲線圖,曲線越靠近右上角,表示模型的性能越好,因?yàn)榇藭r(shí)精確度和召回率都較高。如圖4所示,“masked”“nonstandard-masked”“unmasked”等標(biāo)簽的識(shí)別效果較為顯著。然而,“nonstandard-masked”標(biāo)簽的AP值較高,但其對(duì)應(yīng)的PR曲線并不十分規(guī)范。這可能是由于某些類別的樣本可能過少,或者被分布在數(shù)據(jù)集的某些特定部分,或者對(duì)于某些類別,模型可能沒有捕捉到足夠的特征信息,導(dǎo)致出現(xiàn)偏差。
3" 口罩檢測(cè)實(shí)驗(yàn)結(jié)果與分析
3.1" 無明顯遮擋,光照條件良好條件下口罩檢測(cè)
對(duì)于正常環(huán)境下,該模型能夠清楚地識(shí)別目標(biāo)是否規(guī)范佩戴口罩,并給出相應(yīng)的概率,識(shí)別結(jié)果如圖5所示。
從圖中可以明顯觀察到,YOLOv5模型在口罩佩戴情況的識(shí)別方面表現(xiàn)出卓越的準(zhǔn)確性和可靠性。其識(shí)別能力不僅能夠準(zhǔn)確判斷人們是否佩戴口罩,而且對(duì)于佩戴標(biāo)準(zhǔn)的判定也十分精準(zhǔn)。實(shí)驗(yàn)結(jié)果顯示,對(duì)于清晰的圖片和略有模糊的圖片,模型的識(shí)別概率高達(dá)0.70以上,凸顯了其在口罩檢測(cè)任務(wù)中的穩(wěn)健性和可信度。此外,該模型在多人場(chǎng)景下也展現(xiàn)出優(yōu)異的檢測(cè)能力,能夠有效地應(yīng)對(duì)多類型場(chǎng)景。
3.2" 動(dòng)物口罩佩戴檢測(cè)
本文將人類口罩檢測(cè)方法遷移到寵物口罩檢測(cè)。通過對(duì)寵物口罩佩戴情況的檢測(cè),可以進(jìn)一步加強(qiáng)對(duì)于寵物健康和安全的關(guān)注,針對(duì)寵物醫(yī)療機(jī)構(gòu)或公共場(chǎng)所等特定,寵物口罩的佩戴可能具有重要意義。具體檢測(cè)結(jié)果如圖6所示。
可以看出,相較于識(shí)別人佩戴口罩,該模型識(shí)別動(dòng)物的概率相對(duì)較低,左上圖檢測(cè)出0.66的概率該動(dòng)物未佩戴口罩,右上圖檢測(cè)出有0.51的概率該動(dòng)物佩戴了口罩,左下圖該動(dòng)物不規(guī)范佩戴口罩的概率為0.29,而右下圖該動(dòng)物佩戴口罩的概率為0.68,但其也能基本識(shí)別動(dòng)物是否標(biāo)準(zhǔn)佩戴口罩,對(duì)于特定的動(dòng)物口罩也有一定的識(shí)別能力。
3.3" 人臉部分遮擋情形下的口罩檢測(cè)
考慮到口罩佩戴存在人臉部分遮擋情況,重點(diǎn)研究確定遮擋邊界與口罩檢測(cè)關(guān)系上。本文使用白紙遮擋不同面積以及從不同角度的遮擋,以探索模型在遮擋邊界方面的表現(xiàn),檢測(cè)結(jié)果如圖7所示。
右上圖當(dāng)遮擋面積為頭像面積的60%時(shí),檢測(cè)出佩戴口罩的概率為0.74,左下圖表示當(dāng)遮擋面積為頭像面積的25%時(shí),檢測(cè)出佩戴口罩的概率為0.72,而當(dāng)右下圖遮擋面積為80%時(shí),該模型無法檢測(cè)出是否佩戴口罩。研究結(jié)果顯示,遮擋邊界在頭像面積的80%以上時(shí),模型將無法準(zhǔn)確判斷是否佩戴口罩。
3.4" 多類型光照條件下的口罩檢測(cè)
為探究不同光線強(qiáng)度對(duì)該模型檢測(cè)準(zhǔn)確性的影響,借助可變強(qiáng)度光源和光強(qiáng)測(cè)試軟件,在光強(qiáng)變化的開展口罩佩戴情況檢測(cè),包括3類光照條件:弱光(0~50 Lux)、正常光(50~1 000 Lux)和強(qiáng)光(大于1 000 Lux),判斷模型檢測(cè)的光照邊界范圍,具體結(jié)果如圖8所示。
在光線由弱到強(qiáng)的過程中,當(dāng)光強(qiáng)達(dá)到11 Lux時(shí),屏幕中開始能夠檢測(cè)到佩戴口罩,如左上圖概率為0.3;當(dāng)光強(qiáng)達(dá)到1 297 Lux時(shí),能夠檢測(cè)到口罩佩戴情況,如右上圖;但當(dāng)光強(qiáng)超過1 297 Lux時(shí),該模型無法檢測(cè)到是否佩戴口罩,如左下圖;在光線由強(qiáng)到弱的過程中,當(dāng)光強(qiáng)為62 Lux時(shí),檢測(cè)到佩戴口罩的概率為0.53。因此,在小于弱光11 Lux和大于強(qiáng)光1 297 Lux情況下,該模型基本識(shí)別不出人是否佩戴口罩,而在11~1 297 Lux之間,該模型具有很好地識(shí)別口罩的能力。
4" 結(jié)" 論
針對(duì)口罩佩戴中存在的面部交叉遮擋時(shí)檢測(cè)困難、光線明暗目標(biāo)檢測(cè)精度低等問題,借助YOLOv5算法開展了實(shí)時(shí)檢測(cè)口罩規(guī)范佩戴研究,提出了一種能夠?qū)崟r(shí)檢測(cè)是否規(guī)范佩戴口罩的檢測(cè)技術(shù),通過實(shí)驗(yàn)驗(yàn)證了該模型對(duì)于無明顯遮擋,光照條件良好條件下,檢測(cè)準(zhǔn)確率高達(dá)0.70以上。對(duì)于動(dòng)物是否佩戴口罩的情況有一定的檢測(cè)能力。確定了口罩可檢測(cè)與人臉遮擋邊界、光強(qiáng)之間的關(guān)系。通過實(shí)驗(yàn)表明,當(dāng)人臉遮擋面積小于80%時(shí),該模型可檢測(cè)出口罩佩戴情況,當(dāng)光照強(qiáng)度為11~1 297 Lux之間,該模型有很好的口罩識(shí)別能力。
參考文獻(xiàn):
[1] 郭慶梅,劉寧波,王中訓(xùn),等.基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法綜述 [J].探測(cè)與控制學(xué)報(bào),2023,45(6):10-20+26.
[2] GIRSHICK R,DONAHUE J,DARRELL T,et al. Rich Feature Hierarchies For Accurate Object Detection and Semantic Segmentation [C]//Proceedings of the IEEE Conference on Computer Vision and Pattern recognition.Columbus:IEEE,2014:580-587.
[3] GIRSHICK R. Fast R-CNN [C]//Proceedings of the IEEE International Conference on Computer Vision.Santiago:IEEE,2015:1440-1448.
[4] LIN T Y,DOLLáR P,GIRSHICK R,et al. Feature Pyramid Networks for Object Detection [C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Honolulu:lEEE,2017:2117-2125.
[5] REDMON J,F(xiàn)ARHADI A. YOLO9000: Better, Faster, Stronger [C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Honolulul:IEEE,2017:7263-7271.
[6] REDMON J,F(xiàn)ARHADI A. YOLOv3: An Incremental Improvement [J/OL].arXiv:1804.02767 [cs.CV].(2018-04-08).https://doi.org/10.48550/arXiv.1804.02767.
[7] LI Y Y,SHEN J Q,ZHAI H X,et al. Mask Wearing Detection Algorithm Based on Improved SSD [J].Computer Engineering,2022,48(8):173-179.
[8] LI X B,LI Y G,GUO N,et al. Mask Detection Algorithm based on YOLOv5 Integrating Attention Mechanism [J].Journal of Graphics,2023,44(1):16-25.
[9] Ultralytics. YOLOv5 [EB/OL].[2024-03-20].https://github.com/ultralytics/yolov5.
[10] ZHANG D Y,LUO H S,WANG D Y,et al. Assessment of the Levels of Damage Caused by Fusarium Head Blight in Wheat Using an Improved YOLOV5 Method [J/OL]. Computers and Electronics in Agriculture,2022:107086(2022-06-09).https://doi.org/10.1016/j.compag.2022.107086.
作者簡(jiǎn)介:韓銘偉(2003—),女,漢族,山東德州人,本科在讀,研究方向:大數(shù)據(jù);胡斌(2003—),男,漢族,福建莆田人,本科在讀,研究方向:大數(shù)據(jù);王孟瑜(2003—),女,漢族,北京人,本科在讀,研究方向:大數(shù)據(jù);李繼(2003—),男,漢族,重慶人,本科在讀,研究方向:大數(shù)據(jù);程子嘉(2003—),女,漢族,四川南充人,本科在讀,研究方向:大數(shù)據(jù)。