東南大學(xué)成賢學(xué)院電子與計(jì)算機(jī)工程學(xué)院 何榕程 丁克偉 肖佳鑫 司創(chuàng)利 郁佳佳
2019年末爆發(fā)新型冠狀肺炎,對(duì)全球造成了巨大的沖擊。疫情期間,在某些公共場(chǎng)所進(jìn)行活動(dòng)時(shí)如果未按要求佩戴口罩將會(huì)造成疫情傳播的風(fēng)險(xiǎn)。因此,不論是在公共場(chǎng)合還是其他地點(diǎn)能正確有效的佩戴口罩都是非常必要的,此舉能夠有效地提醒人們正確佩戴口罩,降低人員交叉感染的風(fēng)險(xiǎn),保障自己以及他人的生命健康,通過(guò)人工智能算法實(shí)現(xiàn)試試的監(jiān)控人們是否佩戴口罩具有很重要的意義和價(jià)值。
本文提出的算法模型在最終測(cè)試時(shí)輸入同時(shí)出現(xiàn)一個(gè)或多個(gè)目標(biāo)媒體時(shí),可以準(zhǔn)確的進(jìn)行有效識(shí)別,兼顧檢測(cè)的實(shí)時(shí)性和準(zhǔn)確性?xún)煞矫妗W罱K測(cè)試結(jié)果表明,我們改進(jìn)后的YOLOv4算法,在檢測(cè)速率和檢測(cè)精度方面都有顯著提高。本文提出了一種已YOLOv4為基礎(chǔ)的改進(jìn)的YOLO網(wǎng)絡(luò)的檢測(cè)算法,主要采用CIoU作為邊框回歸損失函數(shù),使預(yù)測(cè)框更接近真實(shí)框,可以加快模型的收斂速度。
YOLOv4是一種基于回歸的目標(biāo)檢測(cè)算法,具有較快的檢測(cè)速度和精度,能夠很好的實(shí)現(xiàn)一些目標(biāo)檢測(cè)任務(wù)。相對(duì)于YOLOv3算法,改進(jìn)后的YOLOv4引入了Mosaic,Lable Smoothing平滑等技巧來(lái)提升神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確率。
本文采用CIoU作為邊框回歸損失函數(shù),損失函數(shù)如式(1)所示:
其中:α是用于做trade-off的參數(shù),v是用來(lái)衡量長(zhǎng)寬比一致性的參數(shù),b和bt分別表示預(yù)測(cè)框和真實(shí)框的中心點(diǎn),ρ表示歐式距離,c表示預(yù)測(cè)框和真實(shí)框的最小外界矩形的對(duì)角線距離。α和v的計(jì)算方法如式(2)所示:
口罩佩戴檢測(cè)數(shù)據(jù)集主要來(lái)自網(wǎng)絡(luò)爬蟲(chóng),部分針對(duì)性訓(xùn)練數(shù)據(jù)集由自己制作。樣本圖像中標(biāo)注為佩戴口罩(masked)和未佩戴口罩(no masked)。仿照PASCAL VOC格式處理口罩?jǐn)?shù)據(jù)集,將標(biāo)注信息歸一化處理,公式如式(3)所示:
其中,(width,heigh)為圖片的原始寬高,(xmin,ymin)為原始樣本邊界框的左上角位置信息,(xmax,ymax)為原始樣本邊界框的右下角位置信息,(x,y)為目標(biāo)歸一化處理后的中心點(diǎn)坐標(biāo)和寬,(w,h)為中心點(diǎn)坐標(biāo)和高。
訓(xùn)練集共包含11000張不同的圖片,驗(yàn)證集包含2400張圖片,根據(jù)YOLOv4的算法要求將數(shù)據(jù)集轉(zhuǎn)換成VOC2007數(shù)據(jù)集格式,并使用LableImg標(biāo)注軟件進(jìn)行標(biāo)注,標(biāo)注的標(biāo)簽類(lèi)別使用masked、no masked兩類(lèi)。同時(shí)數(shù)據(jù)集包含了不同遮擋物、不同角度等多尺度以及不同人物數(shù)量的口罩佩戴信息,有利于提高在檢測(cè)口罩佩戴情況時(shí)的魯棒性和精確度。
試驗(yàn)采用了Darknet深度學(xué)習(xí)框架,演示環(huán)境為Ubuntu20.04、CUDA10.1、cuDNN7.6.5、OpenCV4.1、GTX1050-4G、Python3.9。訓(xùn)練設(shè)置如下:輸入尺寸為416×416,IOU閾值為0.5每次迭代訓(xùn)練樣本數(shù)為32、分16個(gè)批次,最大迭代次數(shù)設(shè)置為10000,學(xué)習(xí)率為0.001;迭代次數(shù)分別4500和5000時(shí),學(xué)習(xí)率衰減為0.1,Class參數(shù)為訓(xùn)練檢測(cè)的目標(biāo)數(shù),由于本目標(biāo)檢測(cè)的目的為是否佩戴口罩,將class參數(shù)設(shè)置為2,兩種即戴口罩mask和未佩戴口罩no mask。修改好后,修改編譯文件Makefile,生成可操作的執(zhí)行文件進(jìn)行模型訓(xùn)練。最終得到的訓(xùn)練時(shí)間為142h。
訓(xùn)練完成后,從日志文件中讀取每次迭代的損失值,并繪制Loss-mAP曲線,顯示結(jié)果如圖1所示。
圖1 mAP、Loss曲線
由圖3知,當(dāng)?shù)螖?shù)為9000次后,Loss值基本穩(wěn)定在1.25左右,本文選擇目標(biāo)檢測(cè)算法的評(píng)價(jià)指標(biāo)為平均精度均值(mean Average Precision,簡(jiǎn)稱(chēng)mAP)。
圖3 Jetson Nano檢測(cè)效果
在已有的數(shù)據(jù)集下最終得到的響應(yīng)時(shí)間在60-70ms左右,模型精度為93.6%,Loss為1.2494。該網(wǎng)絡(luò)取得了不錯(cuò)的檢測(cè)效果。在測(cè)試集上的部分檢測(cè)效果如圖2所示,佩戴口罩和未佩戴口罩分別使用綠色和紫色框架標(biāo)出并且標(biāo)有masked,no masked字樣,使輸出結(jié)果進(jìn)一步可視化。
圖2 檢測(cè)效果
將本文算法與其他主流目標(biāo)檢測(cè)算法性能指標(biāo)進(jìn)行對(duì)比,對(duì)比結(jié)果如表1所示。
表1 不同檢測(cè)算法性能指標(biāo)對(duì)比
從最終結(jié)果來(lái)看,本算法與上面4種算法相比具有更高的精度,精度上都有所提高,mAP提高至93.6%。綜上,本文的YOLO算法在性能上有一定優(yōu)勢(shì)。
本文最終設(shè)備包含了物理攝像頭,無(wú)線網(wǎng)卡,Jetson nano主板,散熱風(fēng)扇,64GSD卡等。檢測(cè)效果如圖3所示。
結(jié)束語(yǔ):預(yù)防新型冠狀肺炎的方式主要是阻斷其來(lái)源及其傳播,而戴口罩是阻斷病毒的最有效的方式。本文基于這樣的背景,實(shí)現(xiàn)了一種通過(guò)定位人臉與口罩的檢測(cè)任務(wù),對(duì)采集到的目標(biāo)圖片以及視頻中提取特征并進(jìn)行分析分類(lèi),從而達(dá)到判斷目標(biāo)是否正確有效地佩戴口罩。本文提出的采用改進(jìn)的YOLOv4模型的口罩佩戴識(shí)別方法可應(yīng)用在口罩佩戴識(shí)別系統(tǒng)中,通過(guò)CIoU改進(jìn)后的YOLO v4網(wǎng)絡(luò),并將其部署于設(shè)備上,能夠滿足疫情期間,應(yīng)用于公眾場(chǎng)所并能夠準(zhǔn)確的檢測(cè)出人們是否佩戴口罩,對(duì)防疫工作做出很大的貢獻(xiàn),具有重大的應(yīng)用意義。