劉國(guó)明,江巨浪,查 兵,任 鈺,嚴(yán)華鋒
(安慶師范大學(xué)電子工程與智能制造學(xué)院,安徽安慶 246133)
2020年初新冠肺炎疫情蔓延全球,對(duì)人類生命健康構(gòu)成嚴(yán)重威脅,在公共場(chǎng)所佩戴口罩是預(yù)防疫情傳播的最有效措施。采用深度神經(jīng)網(wǎng)絡(luò)自動(dòng)檢測(cè)口罩佩戴,能夠彌補(bǔ)人工管控的不足。在新冠肺炎疫情發(fā)生之前,還沒有專門研究口罩佩戴檢測(cè)算法的文獻(xiàn),但在人臉檢測(cè)、目標(biāo)檢測(cè)和物體分類等方面已經(jīng)提出了很多算法。2019年,Insightface團(tuán)隊(duì)提出了基于one-state的RetinaFace算法[1],該算法具有較高的檢測(cè)精度和較快的檢測(cè)速度。牛作東等[2]通過改進(jìn)RetinaFace人臉檢測(cè)算法,實(shí)現(xiàn)對(duì)口罩佩戴的有效檢測(cè),該方法用于自建的3 000 張圖片數(shù)據(jù)集,口罩目標(biāo)檢測(cè)準(zhǔn)確率為87.7%,但該算法需要檢測(cè)到眼、口、鼻等特征,存在對(duì)小目標(biāo)和戴口罩側(cè)臉漏檢的不足。本文基于ResNet-34深度神經(jīng)網(wǎng)絡(luò)模型[3],研究網(wǎng)絡(luò)輸入圖片的預(yù)處理方法、網(wǎng)絡(luò)模型的最優(yōu)學(xué)習(xí)率和批數(shù)據(jù)量大?。╞atch size),對(duì)自建的包含12 000幅口罩佩戴圖片樣本集進(jìn)行訓(xùn)練。相比于文獻(xiàn)[1]的算法,口罩檢測(cè)準(zhǔn)確率得到提高,對(duì)小目標(biāo)和側(cè)面戴口罩人臉漏檢的不足得到改善,并且獲得一個(gè)性能優(yōu)良的口罩佩戴檢測(cè)器。
一般情況下網(wǎng)絡(luò)越深,檢測(cè)效果越好,但計(jì)算量大,網(wǎng)絡(luò)很難訓(xùn)練成功。因此,對(duì)于深度神經(jīng)網(wǎng)絡(luò)難以訓(xùn)練的問題,微軟實(shí)驗(yàn)室提出了殘差網(wǎng)絡(luò)模塊(Residual)并丟棄了dropout機(jī)制。引入殘差網(wǎng)絡(luò)解決了超深網(wǎng)絡(luò)參數(shù)優(yōu)化困難,提高了超深網(wǎng)絡(luò)的分類準(zhǔn)確率,其內(nèi)部的殘差塊使用了跳躍連接(shortcut),一定程度上解決了在深度神經(jīng)網(wǎng)絡(luò)中的梯度消失問題。ResNet-34網(wǎng)絡(luò)擁有多個(gè)殘差模塊,對(duì)單獨(dú)一個(gè)殘差模塊來說,網(wǎng)絡(luò)輸入假設(shè)為x,希望學(xué)習(xí)到的函數(shù)為H(x),在實(shí)驗(yàn)中F(x)相比于H(x)更容易優(yōu)化,其中H(x)=F(x)+x。圖1為殘差網(wǎng)絡(luò)模塊示意圖。
由圖1可知,跳躍連接并沒有增加額外的網(wǎng)絡(luò)參量,所以不會(huì)增強(qiáng)原網(wǎng)絡(luò)的復(fù)雜度。但加入了跳躍連接后,訓(xùn)練過程中底層的誤差可以通過跳躍連接向上一層傳播,減弱了層數(shù)過多造成的梯度消失現(xiàn)象,保證了網(wǎng)絡(luò)訓(xùn)練精度。
圖1 殘差網(wǎng)絡(luò)模塊
BN就是對(duì)每一批訓(xùn)練數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)歸一化操作,使得這批數(shù)據(jù)都滿足標(biāo)準(zhǔn)正態(tài)分布。在BN出現(xiàn)之前,歸一化操作只在數(shù)據(jù)輸入層,現(xiàn)在BN可對(duì)網(wǎng)絡(luò)中任意一層數(shù)據(jù)進(jìn)行歸一化操作,這樣每層的訓(xùn)練數(shù)據(jù)都是被優(yōu)化的,網(wǎng)絡(luò)模型自然就更好。實(shí)驗(yàn)結(jié)果表明,BN在一定程度上減少了梯度消失和梯度爆炸,加速了模型的收斂速度,獲取了更好的網(wǎng)絡(luò)模型[4-6]。
機(jī)器學(xué)習(xí)中,數(shù)據(jù)集的質(zhì)量對(duì)模型的泛化能力至關(guān)重要[7]。由于沒有公開的口罩?jǐn)?shù)據(jù)集,本文制作了一個(gè)口罩?jǐn)?shù)據(jù)集,制作過程考慮:(1)佩戴的口罩外觀形式盡量多樣化;(2)選取多種視角口罩圖片;(3)拉寬口罩在整個(gè)圖片所占的比例;(4)負(fù)樣本中選取遮擋口鼻部位的圖片;(5)負(fù)樣本選取有類似口罩的遮擋物;(6)加大圖像長(zhǎng)寬比范圍;(7)大量選取自然場(chǎng)景下拍攝的圖片。部分樣本如圖2所示。所使用的圖片數(shù)據(jù)集大部分是在遵循網(wǎng)絡(luò)爬蟲協(xié)議前提下獲取的,小部分是從新聞視頻中截取的,還有一些為個(gè)人所拍攝的,共6 000張,戴口罩和未佩戴口罩比例約為1∶1。
圖2 部分樣本圖片
為了防止網(wǎng)絡(luò)過擬合,獲取更優(yōu)的網(wǎng)絡(luò)模型,訓(xùn)練數(shù)據(jù)集應(yīng)盡量大,對(duì)已有的6 000 個(gè)樣本數(shù)據(jù)進(jìn)一步擴(kuò)充。根據(jù)數(shù)據(jù)集的特點(diǎn),選取三分之一的數(shù)據(jù)作水平方向鏡像;三分之一的數(shù)據(jù)作隨機(jī)45度順時(shí)針或逆時(shí)針旋轉(zhuǎn);三分之一的數(shù)據(jù)作尺度縮放,縮放比例控制在0.8~1.2范圍內(nèi),最終獲取的數(shù)據(jù)量為12 000 張圖片。將數(shù)據(jù)集的60%作為訓(xùn)練集,20%作為驗(yàn)證集,20%作為測(cè)試集。未對(duì)圖像做色彩偏移,主要因?yàn)榭谡峙c背景存在較明顯的灰度級(jí)差距,色彩偏移會(huì)使得口罩的特征不能被很好地提取,從而影響檢測(cè)結(jié)果的準(zhǔn)確率。
實(shí)驗(yàn)用的卷積網(wǎng)絡(luò)輸入圖片大小要求為224×224,而圖片在采集過程中的尺寸不固定,必須進(jìn)行預(yù)處理。常規(guī)的處理方式為中心裁剪或直接按目標(biāo)尺寸縮放,但是效果不是很好。中心裁剪在處理長(zhǎng)寬比較大的圖片時(shí),會(huì)裁掉戴口罩的部位;直接縮放會(huì)導(dǎo)致口罩部位變形,口罩特征會(huì)被扭曲。本文處理訓(xùn)練集和測(cè)試集稍微有些不同,訓(xùn)練集采用隨機(jī)縮放裁剪為224×224的尺寸,隨機(jī)裁剪的目的是增強(qiáng)背景數(shù)據(jù)噪聲,防止過擬合以達(dá)到增強(qiáng)模型穩(wěn)定性的能力;測(cè)試集圖片邊界首先填充到長(zhǎng)寬一樣的尺寸,再等比例縮放到256×256的尺寸,最后再用中心裁剪的方式獲得224×224尺寸的圖片。
獲得規(guī)定尺寸圖片之后,對(duì)所有數(shù)據(jù)進(jìn)行歸一化,使數(shù)據(jù)服從標(biāo)準(zhǔn)正態(tài)分布,其作用是使輸入數(shù)據(jù)具有相同的尺度,減少因數(shù)據(jù)相差過大而引起誤差。本文數(shù)據(jù)集在R、G、B 上的期望分別為0.485、0.456、0.406,標(biāo)準(zhǔn)方差分別為0.229、0.224、0.225,3個(gè)維度均進(jìn)行標(biāo)準(zhǔn)化。
未對(duì)輸入圖片預(yù)處理時(shí),網(wǎng)絡(luò)準(zhǔn)確率最高為98.01%,但是對(duì)錯(cuò)誤分類的圖片分析之后發(fā)現(xiàn),有些戴口罩沒有被檢測(cè)出來,如圖3中1、2、4圖片,這不是希望的結(jié)果。于是,采用上述預(yù)處理方法,將圖片邊界填充到等長(zhǎng)寬等比例,再進(jìn)行縮放、中心裁剪,處理之后圖3中1~5號(hào)圖片的問題得以解決,對(duì)于7號(hào)和10號(hào)用手遮擋嘴巴部位也能夠正確分類為未佩戴口罩,網(wǎng)絡(luò)準(zhǔn)確率提升到98.41%。對(duì)于6號(hào)尺度較小的側(cè)面口罩,9號(hào)和12號(hào)遮擋嘴巴部位圖片分類仍然錯(cuò)誤。
圖3 沒有進(jìn)行預(yù)處理被錯(cuò)誤識(shí)別的圖片
批數(shù)據(jù)量是訓(xùn)練過程中每次喂給神經(jīng)網(wǎng)絡(luò)的圖片數(shù)量,其大小對(duì)網(wǎng)絡(luò)的精度有很大的影響,一般批數(shù)據(jù)量常見的取值有32、64、128、256,甚至更大。對(duì)于深度卷積神經(jīng)網(wǎng)絡(luò)而言,批數(shù)據(jù)量越大,這批數(shù)據(jù)分布越接近于整體數(shù)據(jù)集,訓(xùn)練效果會(huì)越好。不過更大的批數(shù)據(jù)量要求更大的GPU顯存,受實(shí)驗(yàn)設(shè)備限制。本文實(shí)驗(yàn)所用顯卡不足以處理256大小的數(shù)據(jù)量,故將該數(shù)值丟棄,另外選取了100和150進(jìn)行測(cè)試,結(jié)果如表1所示。
由表1可以看出,當(dāng)批數(shù)據(jù)量為較小的32時(shí),準(zhǔn)確率只有97.97%,迭代次數(shù)也比較多;當(dāng)增大批數(shù)據(jù)量,準(zhǔn)確率隨之提升,迭代次數(shù)也隨之下降。準(zhǔn)確率最好的是批數(shù)據(jù)量為128時(shí),準(zhǔn)確率高達(dá)98.41%,當(dāng)批數(shù)據(jù)量繼續(xù)增加到150的時(shí)候,準(zhǔn)確率卻有所下降。因此,對(duì)本數(shù)據(jù)集的批數(shù)據(jù)量取128較為合適。
表1 批數(shù)據(jù)量對(duì)模型的影響
網(wǎng)絡(luò)的訓(xùn)練其實(shí)就是尋找最優(yōu)解的過程,而學(xué)習(xí)率反映了優(yōu)化過程的快慢。學(xué)習(xí)率設(shè)置過大,優(yōu)化速度快,但是網(wǎng)絡(luò)會(huì)容易跳過全局最優(yōu)解,在最優(yōu)解之外來回震蕩;學(xué)習(xí)率設(shè)置過小,則會(huì)影響網(wǎng)絡(luò)訓(xùn)練的速度,而且模型容易陷入局部最優(yōu)解?;诖?,進(jìn)一步研究學(xué)習(xí)率對(duì)上述網(wǎng)絡(luò)精度的影響。由于采用的是遷移學(xué)習(xí)方法,網(wǎng)絡(luò)已經(jīng)有較好的權(quán)重,學(xué)習(xí)率相對(duì)要取較小值,學(xué)習(xí)率設(shè)置和實(shí)驗(yàn)結(jié)果如表2所示。
表2 不同學(xué)習(xí)率模型的準(zhǔn)確率與迭代次數(shù)
在驗(yàn)證集上,隨著學(xué)習(xí)率下降,準(zhǔn)確率會(huì)上升,當(dāng)學(xué)習(xí)率減小到8×10-5時(shí),準(zhǔn)確率達(dá)到最高,為98.41%,繼續(xù)減小學(xué)習(xí)率,準(zhǔn)確率反而會(huì)下降,網(wǎng)絡(luò)模型只能達(dá)到局部最優(yōu)解。
為驗(yàn)證口罩檢測(cè)器模型的效果,與文獻(xiàn)[1]的檢測(cè)準(zhǔn)確率和檢測(cè)效率做了比較。在驗(yàn)證集上,表現(xiàn)最好的模型準(zhǔn)確率為98.41%,將此模型在測(cè)試集上測(cè)試,本文檢測(cè)準(zhǔn)確率為97.25%,文獻(xiàn)[1]檢測(cè)準(zhǔn)確率為88.5%。在文獻(xiàn)[1]漏檢結(jié)果中隨機(jī)抽取了10張圖片,如圖4所示,這些圖片本文能很好地檢測(cè)出口罩的特征。分析發(fā)現(xiàn),文獻(xiàn)[1]算法是基于RetinaFace人臉特征檢測(cè),需要檢測(cè)到眼、口和鼻等特征,在戴口罩的情況下,遮住了人臉部分特征,人臉檢測(cè)準(zhǔn)確率有所下降,從而口罩檢測(cè)準(zhǔn)確率也隨之下降。
圖4 漏檢口罩圖片
圖4中參數(shù)c為本文檢出戴口罩的置信度,置信度越高表明相關(guān)特征越容易被正確檢測(cè)出來。圖4中較難檢測(cè)出的是(c)和(d),置信度為0.87和0.86,但也維持在較高的水平。其他圖片的置信度都接近于1.00(四舍五入后的結(jié)果),說明口罩特征較容易檢測(cè)出來。本文模型不但具有更高的檢測(cè)精度,而且具有更高的抗干擾能力,對(duì)側(cè)面口罩、遮擋口罩、異形口罩和花紋口罩具有很好的適用性。
隨機(jī)選取尺寸大小各異的10張圖片來進(jìn)行速度測(cè)試,結(jié)果如表3所示。
表3 檢測(cè)口罩用時(shí)統(tǒng)計(jì)
檢測(cè)用時(shí)都在(0.10~0.11)s之間,平均用時(shí)0.103 s,幀率為9.71 fps,相比于文獻(xiàn)[1]中18.3 fps的幀率,檢測(cè)效率有待提高,但9.71 fps的幀率可以達(dá)到實(shí)時(shí)檢測(cè)的要求,這對(duì)在公共場(chǎng)所的安防監(jiān)控、企事業(yè)單位樓宇的門禁處檢測(cè)是否佩戴口罩具有重要的意義。
本文用深度神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)有無佩戴口罩的檢測(cè),收集大量戴口罩圖片數(shù)據(jù),并對(duì)數(shù)據(jù)集進(jìn)行有效地?cái)U(kuò)充,制作一套優(yōu)良的口罩檢測(cè)數(shù)據(jù)集。通過不斷試驗(yàn),研究了有效的預(yù)處理方法、最佳學(xué)習(xí)率和訓(xùn)練批數(shù)據(jù)量,獲得了一個(gè)性能優(yōu)良的口罩佩戴檢測(cè)器,對(duì)側(cè)面口罩、遮擋口罩、異形口罩和花紋口罩具有較高的抗干擾能力,同時(shí)擁有較高的檢測(cè)準(zhǔn)確率和檢測(cè)速度,這對(duì)新冠疫情防控有較強(qiáng)的實(shí)踐意義。