金映谷,張 濤,楊亞寧,王 月,楚艷麗
(大連民族大學 a.機電工程學院;b.信息與通信工程學院,遼寧 大連 116605)
自新型冠狀病毒肺炎(COVID-19)疫情暴發以來[1],傳播迅速,嚴重威脅人民的生命安全,為了防止交叉感染以及疫情范圍擴大,佩戴口罩且佩戴標準成為疫情防控的重要方式。但由于意識不到位、佩戴口罩不舒服等種種原因,難以實現人人自覺地標準佩戴口罩[2]。因此在公共場合對口罩是否佩戴以及佩戴是否規范進行檢測就十分重要。
目前,百度、華為、海康威視等公司已完成基于視頻的乘客佩戴檢測,并應用于鐵路交通系統。肖俊杰[3]提出了一種基于YOLOv3和YCrCb的人臉口罩檢測與規范佩戴識別方法,其中YOLOv3對是否佩戴口罩進行檢測,對檢測到佩戴口罩的圖像,利用YCrCb的橢圓膚色模型對該區域進行膚色檢測,進而判斷口罩是否佩戴規范,人臉口罩檢測的mAP達到89.04%,口罩規范佩戴的識別率達到82.48%。管軍霖等[4]提出了一種基于圖片高低頻成分融合YOLOv4卷積神經網絡的口罩佩戴檢測方法,通過網絡爬蟲構建數據集,并進行手動數據標注,經過Darknet深度學習框架訓練,進行模擬檢測,訓練后模型檢測精度值達到0.985,平均檢測速度35.2 ms。鄧黃瀟[5]提出一種基于遷移學習與RetinaNet網絡的口罩佩戴檢測方法,訓練后模型在驗證集下的AP值為86.45%。王藝皓等[6]提出了一種復雜場景下基于改進YOLOv3的口罩佩戴檢測算法,結合跨階段局部網絡對DarkNet53骨干網絡進行了改進,在YOLOv3中引入改進空間金字塔池化結構,并結合自上而下和自下而上的特征融合策略對多尺度預測網絡進行改進,選取CIoU作為損失函數,改進后方法有效提升了復雜場景下的人臉佩戴口罩檢測精度和速度。
現有口罩佩戴檢測算法多數需數據標注,且使用的網絡模型參數量大,運算時間長,對硬件配置要求高,成本較高。為使口罩檢測應用更為廣泛,成本更低,同時保證檢測的精度,本文提出一種基于MobileNet V2的口罩佩戴識別研究方法,使用輕量級網絡減少網絡模型參數量,減少運算時間,使用目標檢測網絡將口罩佩戴識別問題簡化為分類問題。同時提出了基于數據擴充的MobileNet V2網絡口罩佩戴規范性檢測方法。
MobileNet網絡是一種為嵌入式設備或移動端設備設計的輕量級卷積神經網絡,自2017年4月MobileNet V1[7]被提出以來,逐漸發展、優化、更新迭代。MobileNet V1的核心思想是使用深度可分離卷積代替標準的卷積操作,但是這種操作會帶來一些問題:一是深度卷積本身無法改變通道數量,若輸入深度卷積的通道數較少,則只能工作于低維度特征,效果不好;二是無法復用特征。而MobileNet V2可以很好地解決以上問題。目前,MobileNet V2[8]已發展十分成熟且應用廣泛。
MobileNet V2繼承MobileNet V1使用ReLU6[9]作為激活函數,比起ReLU激活函數,ReLU6限制后的最大輸出值為6,主要目的是避免在便攜式設備或移動設備上,使用低精度的float16描述大范圍數值時造成的精度損失,從而影響分類特征的提取與描述,進而影響準確率。ReLU6表達式如下:
ReLU(6)=min(max(x,0),6) 。
(1)
深度可分離卷積[10]即使用深度卷積操作和逐點卷積操作取代標準卷積操作。以F表示輸入特征映射;G表示輸出特征映射;K表示標準卷積,標準卷積的卷積計算公式[7]:
(2)
深度卷積的卷積公式[7]:
(3)
式中:k、l代表輸出特征圖大小;n代表輸出通道數,數值上等于卷積核個數;m代表輸入通道數,數值上等于卷積核的深度。
深度卷積操作即將卷積核拆解為單通道形式,在不改變輸入特征圖像深度的前提下,對每一個輸入圖像的通道進行卷積操作,使輸入、輸出的特征圖通道數一致。這種情況下當輸入的特征圖通道數較少時,網絡模型只能工作于低維度,無法確保獲取足夠的有效信息,需要對特征圖進行升維或降維操作,本文使用逐點卷積實現。
深度可分離卷積與標準卷積對比示意圖如圖1。以12×12×3的輸入為例,標準卷積使用256個5×5×3的卷積核,得到8×8×256的輸出,而同樣的輸入經過深度可分離卷積操作欲得到相同尺寸的輸出,需先對輸入的每一個圖像通道進行5×5的卷積操作,得到8×8×3的特征圖,后使用256個1×1×3的卷積核進行逐點卷積操作,得到8×8×256的輸出。

圖1 深度可分離卷積與標準卷積對比示意圖
假設卷積核的尺寸為Dk×Dk×M,共N個,即標準卷積的參數量是Dk×Dk×M×N,對每一個卷積核要進行DW×DH次運算,即標準卷積核要完成的計算量為Dk×Dk×M×N×DW×DH,深度卷積使用相同的卷積核尺寸,逐點卷積使用1×1×M尺寸的卷積核,共N個,即深度可分離卷積的參數量為Dk×Dk×M+M×N。兩部分分別需要對每一個卷積核進行DW×DH次運算,則深度可分離卷積的計算量為Dk×Dk×M×DW×DH+M×N×DW×DH。將深度可分離卷積與標準卷積的參數量和計算量分別作比,可計算得出式(4)、式(5)。
參數量:
(4)
計算量:
(5)
逆殘差[8]作為MobileNet V2的核心,引入了shortcut[11]結構,實現了對于特征的復用,減小了模型的體積與計算量,與ResNet的shortcut結構對比如圖2。Input表示輸入數據;Output表示輸出數據;input表示過程數據;PW表示逐點卷積操作;SC表示標準卷積操作;DW表示深度卷積操作。可以發現結構模式相同,但MobileNet V2將輸入的特征圖先升維,后進行卷積,最后降維,ResNet則相反。

圖2 網絡中shortcut部分結構對比圖
深度可分離卷積與逆殘差雖然減少了參數量但會損失特征,且激活函數ReLU6同樣會產生低維度特征丟失的問題。對于高維度信息相對友好的情況下,MobileNet V2選擇在降維操作之后將激活函數ReLU6替換為線性激活函數Linear,這一部分稱為線性瓶頸(Linear Bottleneck)[8],如圖3。

圖3 線性瓶頸示意圖
本文數據集采用RMFD(Real-World Masked Face Dataset)[12]中的真實口罩人臉識別數據集,篩選了3 180張人臉佩戴口罩目標和2 000張人臉目標,重新組合成本文使用的僅限于識別口罩是否佩戴的數據集1,包括佩戴口罩類(mask)和未佩戴口罩類(no_mask)。在重新組合數據集時發現數張口罩佩戴并不規范的目標,也計入佩戴口罩的人臉分類中,本文將這些不規范的圖片提取出來,集合在一起劃分為佩戴口罩不規范類(nonstandard),組合成識別口罩佩戴是否規范的數據集2。其中由于提取出的佩戴不規范圖片較少,僅152張,與另兩類數量差別較大,本文采取對圖像進行添加高斯噪聲[13]、均值平滑[14]的方式,將該類圖片數據擴充至1 216張。其中添加高斯噪聲與均值平滑操作后的圖片與原圖相比,肉眼難以分辨,但在像素級別上對輸入數據進行了擴充,從而在分類識別時獲得更多的特征進而提高準確率。
數據集包含圖像類別及示例圖像見表1。

表1 數據集2包含圖像類別及示例一覽表
實驗操作系統為Windows10,CPU型號為Intel Xeon E5-2623 v4 @ 2.60GHz,顯卡型號為Nvidia Quadro P4000,64 G運行內存,CUDA Toolkit 9.1版本、CUDNN神經網絡加速庫7.1版本以及機器視覺軟件HALCON。神經網絡模型及訓練參數如下:每次迭代訓練樣本數為32,分100個批次,動因子設置為0.9,正則化系數為0.000 5,初始學習率為0.001,每隔30個迭代周期,學習率減少為初始的0.1。
本文引入準確率、召回率和精確率[15]對圖像分類任務模型的性能進行評價。
準確率是預測正確的結果占所有樣本的比重,其表達式為
(6)
式中:TP表示所有正樣本中預測為正樣本的樣本;FP表示所有負樣本中預測為正樣本的樣本;FN表示所有正樣本預測為負樣本的樣本;TN表示所有負樣本中預測為負樣本的樣本。
召回率是預測正確的正樣本數占實際正樣本數的比重,其表達式為
(7)
精確率是預測正樣本中實際為正樣本的概率,其表達式為
(8)
本實驗分為兩個部分:第一部分為對真實人臉數據集口罩是否佩戴進行分類識別;第二部分為對真實人臉數據集口罩佩戴是否標準進行分類識別。兩部分實驗均采用MobileNet V2神經網絡模型,MobileNet V2神經網絡模型線性瓶頸塊模型結構如圖4。MobileNet V2神經網絡模型整體結構圖如圖5。

圖4 MobileNet V2神經網絡模型線性瓶頸塊

圖5 MobileNet V2神經網絡模型結構圖
將兩種數據集均以70:15:15的比例劃分,數據集1的訓練過程可視化如圖6,數據集2的訓練過程可視化如圖7。

a)損失函數曲線 b)訓練及驗證過程誤差曲線圖6 數據集1訓練過程

a) 損失函數曲線 b) 訓練及驗證過程誤差曲線圖7 數據集2訓練過程
由圖6和圖7可知,MobileNet V2神經網絡在兩個數據集上的損失函數收斂性較好,誤差函數收斂較快,訓練過程平滑。將訓練所得模型應用于測試集得到混淆矩陣見表2、表3。

表2 數據集1測試集混淆矩陣

表3 數據集2測試集混淆矩陣
在顯示結果時每個類別賦予一個數字代替,替代表見表4。

表4 數據集內不同類別數字替代表
MobileNet V2神經網絡對數據集1的測試效果見表5,其中口罩部分被手部或其他物體遮擋時也可以較好地被識別。

表5 測試集1檢測結果
MobileNet V2神經網絡對數據集2的測試效果見表6,結果顯示當被測目標佩戴反光物體使圖片中有多個人臉出現時,模型也可以準確進行識別。

表6 測試集2檢測結果
結合評價指標,計算兩個數據集每個分類的精確率、召回率和平均準確率,評價結果見表7。
由表7的評價結果可知:MobileNet V2神經網絡模型對于口罩是否佩戴以及佩戴是否標準的識別具有良好的效果,各類平均準確率、召回率和精確率均在97%以上,但是在識別佩戴是否標準時整體檢測精度下降,這可能是因為佩戴不規范的圖像樣本較少,或佩戴不標準類與其他兩類圖像較為相似,模型進行了錯誤識別。
為了進一步驗證本文算法的有效性,將本文算法與其他算法進行比較,結果見表8。其中,由于文獻[6]中對于口罩的檢測僅為是否佩戴,這里僅用數據集1的實驗結果進行比較。

表8 算法性能比較
從表8的比較結果可知,本文算法平均準確率比YOLOV3算法提升19.3%,比改進YOLOV3算法提升4.4%,但對于多人臉目標檢測,YOLOV3算法與改進YOLOV3算法均可實現多人臉同時檢測,效率高于本文算法,但本文算法準確率較高,能在一定程度上滿足實際檢測需求。
本文針對已有口罩佩戴識別方法需要標注、時間成本高、硬件配置要求高等問題,提出一種基于MobileNet V2的口罩佩戴識別方法。該方法以MobileNet V2目標分類算法為基礎,通過對原始數據集進行擴充,實現了高準確度、高效率的口罩佩戴識別及口罩佩戴是否規范的識別。通過RMFD數據集進行了有效性的驗證,結果顯示,該方法對口罩是否佩戴的檢測準確率可達99.83%,對口罩佩戴是否標準的檢測準確率可達98.97%,可以滿足口罩佩戴檢測的實際需求,具有較強的適用性。