于方旭,王帥,劉世超,梁鵬,于曦
(牡丹江醫(yī)學(xué)院,黑龍江 牡丹江 157011)
新冠肺炎疫情爆發(fā)后,國(guó)家開展了疫情防控工作,同時(shí)越來(lái)越多地區(qū)對(duì)公共衛(wèi)生防護(hù)提出了更高的要求。目前,人們出入公共場(chǎng)所、乘坐公共交通工具等必須佩戴口罩,口罩佩戴檢查已成為疫情防控的必備操作。而在大學(xué)校園中人口的流動(dòng)更加頻繁,人口密度也相對(duì)較大,時(shí)常會(huì)有校外人員和學(xué)生教師進(jìn)出學(xué)校,存在著較大的安全隱患??墒牵?dāng)前口罩的檢測(cè)往往依靠人工,這也導(dǎo)致人力資源的浪費(fèi),同時(shí)也會(huì)出現(xiàn)漏檢的風(fēng)險(xiǎn),加大了疫情控制的不穩(wěn)定性。隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,計(jì)算機(jī)視覺技術(shù)得到不斷發(fā)展,并且人臉檢測(cè)技術(shù)成為了一種相對(duì)成熟的技術(shù),人臉佩戴物檢測(cè)技術(shù)也在快速發(fā)展。馮國(guó)臣等采用深度學(xué)習(xí)的相關(guān)方法對(duì)安全帽的自動(dòng)識(shí)別進(jìn)行了深入研究[1]。李美玲等采用卷積神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn)了高分辨率遙感影像道路信息提取[2]。口罩佩戴檢測(cè)系統(tǒng)的設(shè)計(jì)基礎(chǔ)就建立在這些技術(shù)之上。卷積神經(jīng)網(wǎng)絡(luò)技術(shù)為人臉檢測(cè)技術(shù)提供了技術(shù)支持,因此本文嘗試改進(jìn)YOLOv5這一卷積神經(jīng)網(wǎng)絡(luò)技術(shù)來(lái)實(shí)現(xiàn)口罩佩戴識(shí)別功能。該方法主要修改了原始的YOLOv5模型輸入尺寸、結(jié)構(gòu)和損失函數(shù),使YOLOv5模型更適用于口罩佩戴的識(shí)別。
卷積神經(jīng)網(wǎng)絡(luò)[3](convolutional neural networks,CNNs)包含三層網(wǎng)絡(luò)結(jié)構(gòu),分別是卷積層、激活層以及池化層,結(jié)構(gòu)框圖如圖1所示。通常情況下卷積神經(jīng)網(wǎng)絡(luò)有多個(gè)池化層與卷積層,在卷積層中,數(shù)據(jù)會(huì)根據(jù)神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行局部連接,該過(guò)程相當(dāng)于進(jìn)行了卷積操作,因此稱為卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)在圖像處理領(lǐng)域應(yīng)用極廣。一般情況下,卷積神經(jīng)網(wǎng)絡(luò)會(huì)通過(guò)輸入層讀取輸入數(shù)據(jù),在數(shù)據(jù)到達(dá)卷積層后,卷積層會(huì)對(duì)數(shù)據(jù)進(jìn)行局部關(guān)聯(lián)和滑動(dòng)窗口濾波,這 是卷積神經(jīng)網(wǎng)絡(luò)中最重要的一個(gè)部分,用于提取數(shù)據(jù)之間的特征關(guān)聯(lián)性。之后把處理后的數(shù)據(jù)送入激活層中,激活層中包含激活函數(shù),可以對(duì)數(shù)據(jù)做進(jìn)一步的映射,激活函數(shù)對(duì)于卷積神經(jīng)網(wǎng)絡(luò)處理非線性特征至關(guān)重要,選擇不同的激活函數(shù)對(duì)算法性能的影響也非常巨大。然后數(shù)據(jù)進(jìn)入池化層中,池化是一種降采樣操作,主要目的是降低數(shù)據(jù)特征個(gè)數(shù),防止特征過(guò)多不利于反映最主要的數(shù)據(jù)特征,最后數(shù)據(jù)通過(guò)輸出層輸出。
圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
卷積神經(jīng)網(wǎng)絡(luò)中最主要的是神經(jīng)元結(jié)構(gòu),每個(gè)卷積神經(jīng)網(wǎng)絡(luò)都可以視為多個(gè)神經(jīng)元構(gòu)成的集合,是神經(jīng)網(wǎng)絡(luò)基本單元。神經(jīng)元結(jié)構(gòu)如圖2所示,每個(gè)神經(jīng)元都一種多輸入單元ai,數(shù)據(jù)通過(guò)權(quán)重值bi與神經(jīng)元進(jìn)行連接,并在神經(jīng)元內(nèi)部計(jì)算得到輸出值。計(jì)算公式如下。
圖2 神經(jīng)元結(jié)構(gòu)框圖
其中e(.)為激勵(lì)函數(shù),不同任務(wù)下激勵(lì)函數(shù)也不完全相同,o為神經(jīng)元輸出,bias為偏置值,可以防止函數(shù)出現(xiàn)擬合偏差。
多個(gè)神經(jīng)元通過(guò)層層連接最后可以得到單次迭代輸出值,卷積神經(jīng)網(wǎng)絡(luò)單次迭代后會(huì)將輸出值與期望值對(duì)比,并通過(guò)反向BP算法矯正神經(jīng)元權(quán)重參數(shù),這樣隨著迭代次數(shù)的增加,卷積神經(jīng)網(wǎng)絡(luò)的輸出值逐漸逼近期望數(shù)值。
很多新型技術(shù)都是在卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上發(fā)展而來(lái),比如yolo[4]算法。本文中的口罩佩戴檢測(cè)模型使用的是yolov5模型,是yolo算法的第五代版本。其具有識(shí)別速度快、效果好的特點(diǎn)。但為了實(shí)現(xiàn)對(duì)口罩這種小型目標(biāo)的專有化檢測(cè),提高口罩佩戴識(shí)別的準(zhǔn)確率,需要對(duì)yolov5模型的網(wǎng)絡(luò)結(jié)構(gòu)做進(jìn)一步優(yōu)化和參數(shù)調(diào)整。
口罩佩戴檢測(cè)系統(tǒng)首先收集學(xué)生口罩佩戴圖片并將這些圖片作為訓(xùn)練數(shù)據(jù),之后對(duì)模型進(jìn)行修改并訓(xùn)練模型,最后將模型搭載到計(jì)算機(jī)系統(tǒng)上,并用攝像頭不斷采集環(huán)境照片送入模型中判斷。模型流程圖如圖3所示。
圖3 口罩佩戴檢測(cè)模型流程圖
針對(duì)yolov5算法改進(jìn)方面,首先需要調(diào)整輸入尺寸。對(duì)口罩佩戴的檢測(cè)在實(shí)際應(yīng)用中存在較多小目標(biāo)的情況,且yolo算法的下采樣一般是32倍,所以寬高必須要能被32整除。在多尺度訓(xùn)練中一般將其選擇為32的倍數(shù),最小為320×320,最大為608×608,因此將數(shù)據(jù)的輸入尺寸調(diào)整為608×608。這在一定程度上能提高口罩這種小目標(biāo)的識(shí)別率。
之后在目標(biāo)識(shí)別過(guò)程中引入了備選區(qū)域框這一概念。備選區(qū)域框是一組大小固定的圖片窗口。在訓(xùn)練過(guò)程中,初始候選框參數(shù)越接近真實(shí)邊界框,其預(yù)測(cè)的邊界框也會(huì)更加符合真實(shí)邊界框。因此其參數(shù)設(shè)計(jì)的好壞嚴(yán)重影響算法的準(zhǔn)確度。本次算法設(shè)計(jì)過(guò)程中先人為設(shè)計(jì)參數(shù)進(jìn)行實(shí)驗(yàn),之后利用K-MEANS算法進(jìn)行聚類,學(xué)習(xí)出最優(yōu)參數(shù)組合作為實(shí)際參數(shù)應(yīng)用于模型中。
最后修改損失函數(shù),損失函數(shù)用于對(duì)卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程的好壞進(jìn)行評(píng)判。因此損失函數(shù)的選擇對(duì)模型收斂效果影響較大,選擇合適的損失函數(shù)可獲得更好的識(shí)別效果。本次使用GIOU_LOSS函數(shù)[5]作為損失函數(shù),該函數(shù)提供了一種尺度交互評(píng)價(jià)方式,解決模型識(shí)別邊框不重合的問(wèn)題。公式如下。
本實(shí)驗(yàn)收集了7000張未佩戴口罩人臉以及佩戴口罩人臉的圖像數(shù)據(jù)集,并人為標(biāo)注出了口罩和人臉的位置。為保證訓(xùn)練的數(shù)據(jù)盡可能多以及測(cè)試集的普遍性,故將訓(xùn)練集與測(cè)試集按9:1的比例進(jìn)行劃分。
圖4為模型實(shí)際檢測(cè)效果圖,可以發(fā)現(xiàn)模型能夠清楚地檢測(cè)出佩戴口罩的人臉,并將未佩戴的人員和佩戴的人員相互區(qū)別開來(lái)。
圖4 模型運(yùn)行效果圖
之后檢驗(yàn)了模型的性能,利用準(zhǔn)確率、召回率、平均精度均值以及調(diào)和均值作為評(píng)價(jià)指標(biāo),模型的性能與訓(xùn)練次數(shù)有關(guān),圖5展現(xiàn)了性能指標(biāo)與訓(xùn)練次數(shù)之間的關(guān)系。
圖5 性能指標(biāo)評(píng)價(jià)圖
可以發(fā)現(xiàn)隨著訓(xùn)練次數(shù)的增加,各項(xiàng)性能指標(biāo)都趨近于一個(gè)穩(wěn)定的值,并且性能指標(biāo)表現(xiàn)良好。
本文提出了一種用于疫情防控的口罩佩戴檢測(cè)系統(tǒng),系統(tǒng)通過(guò)改進(jìn)的yolov5算法達(dá)到這一目的。該系統(tǒng)能夠幫助防疫人員對(duì)來(lái)往人員的口罩佩戴情況進(jìn)行評(píng)判,降低勞動(dòng)成本,在大學(xué)校園中的應(yīng)用也可以便于學(xué)校的日常管理,降低學(xué)生身邊的安全隱患,為學(xué)生提供又一道安全防線。本文的最后通過(guò)實(shí)驗(yàn)論證了算法的可行性,我們相信這一系統(tǒng)對(duì)推進(jìn)社會(huì)治理的科學(xué)化、現(xiàn)代化具有重要意義。