王 兵,樂(lè)紅霞,李文璟,張孟涵
1.西南石油大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,成都610500
2.中國(guó)電信股份有限公司 成都分公司,成都610051
3.電子科技大學(xué) 信息與軟件工程學(xué)院,成都610500
一些大型病毒可以通過(guò)飛沫和其他介質(zhì)傳播,在公共場(chǎng)所佩戴口罩對(duì)于減少疾病的傳播至關(guān)重要。在人群密集的區(qū)域(例如社區(qū)、超市和車(chē)站)通過(guò)人工方式檢查口罩佩戴情況會(huì)消耗大量的人力資源且容易漏檢,因此實(shí)現(xiàn)口罩佩戴檢測(cè)算法具有重要現(xiàn)實(shí)意義。
近年來(lái),由于深度學(xué)習(xí)的快速性、可擴(kuò)展性和端到端學(xué)習(xí)等優(yōu)點(diǎn),一系列基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法被提出。YOLO 系列[1-4]可能是實(shí)際應(yīng)用中最流行的目標(biāo)檢測(cè)算法,在YOLO的基礎(chǔ)上對(duì)網(wǎng)絡(luò)進(jìn)行改進(jìn)也容易取得需要的效果。例如楊晉升等人研究對(duì)基于YOLO 輕量化網(wǎng)絡(luò)的交通標(biāo)志檢測(cè)[5]通過(guò)在骨干網(wǎng)絡(luò)中使用深度可分離卷積更好地提取中小型目標(biāo)。施輝等人對(duì)基于YOLO輕量化網(wǎng)絡(luò)的安全帽佩戴檢測(cè)[6]采用圖像金字塔結(jié)構(gòu)并構(gòu)建安全帽數(shù)據(jù)集獲取更具工業(yè)應(yīng)用的模型。這些改進(jìn)的算法在目標(biāo)檢測(cè)領(lǐng)域上有著重要的意義,但是這些方法仍沒(méi)有很好地說(shuō)明特征提取和利用率的問(wèn)題。
YOLOv4為最近的開(kāi)源目標(biāo)檢測(cè)網(wǎng)絡(luò),在速度和精度上與同時(shí)期目標(biāo)檢測(cè)網(wǎng)絡(luò)有著明顯的優(yōu)勢(shì)。YOLOv4采用具有深層結(jié)構(gòu)的CSPDarknet53 作為骨干網(wǎng)絡(luò),使用PANet[7]代替FPN[8]進(jìn)行參數(shù)聚合,檢測(cè)準(zhǔn)確率高但對(duì)硬件配置要求較高,在小型硬件平臺(tái)中檢測(cè)速度慢,因此在嵌入式平臺(tái)上普遍使用YOLOv4tiny 進(jìn)行檢測(cè),雖然檢測(cè)速度快但由于網(wǎng)絡(luò)層次簡(jiǎn)單,特征提取能力不足,檢測(cè)效果低于YOLOv4。
為解決以上不足,本文提出以YOLOv4-tiny為基礎(chǔ)的一種改進(jìn)YOLO 輕量化網(wǎng)絡(luò)的檢測(cè)算法,主要貢獻(xiàn)如下:
(1)針對(duì)YOLOv4-tiny 網(wǎng)絡(luò)層次較簡(jiǎn)單,無(wú)法提取更多主要特征的問(wèn)題,提出了增加Max Module結(jié)構(gòu)獲取更多有效局部特征,提升檢測(cè)準(zhǔn)確率。
(2)針對(duì)YOLOv4-tiny較深層網(wǎng)絡(luò)丟失淺層邊緣信息的問(wèn)題,構(gòu)建自下而上的多尺度特征融合網(wǎng)絡(luò),提升數(shù)據(jù)利用效率。
(3)針對(duì)模型收斂速度慢的問(wèn)題,采用CIoU作為邊框回歸損失函數(shù),使預(yù)測(cè)框更接近真實(shí)框,加快模型收斂速度。
采用深度學(xué)習(xí)進(jìn)行目標(biāo)檢測(cè)算法大致分為兩類(lèi):一種是使用區(qū)域候選網(wǎng)絡(luò)(RPN)來(lái)提取候選目標(biāo)信息的兩階段檢測(cè)算法,如AlexNet[9]、R-CNN[10]、Faster R-CNN[11]、Mask R-CNN[12]等。兩階段檢測(cè)器主要由三部分組成:骨干網(wǎng)、區(qū)域建議模塊和檢測(cè)頭。首先,區(qū)域建議模塊用于區(qū)域建議。它可以生成可能包含感興趣對(duì)象的許多候選區(qū)域。通過(guò)判斷前景和背景,它使用邊界框回歸來(lái)校正錨點(diǎn)的位置。通過(guò)區(qū)域推薦網(wǎng)絡(luò)[13]、區(qū)域改進(jìn)方法[14-15]、區(qū)域建議深度特征計(jì)算方法[16-17]和骨干網(wǎng)絡(luò)結(jié)構(gòu)[18]可以生成高質(zhì)量區(qū)域,但是,使用這些區(qū)域來(lái)推斷兩階段目標(biāo)檢測(cè)器需要消耗大量計(jì)算資源,并且需要依賴更高的硬件平臺(tái)。于是端到端的YOLO、SSD[19]和Retinanet[20]等一階段目標(biāo)檢測(cè)器被提出,該目標(biāo)檢測(cè)算法通過(guò)獲取輸入圖像并學(xué)習(xí)相對(duì)于預(yù)定義錨點(diǎn)的類(lèi)別概率和邊界框坐標(biāo),直接將目標(biāo)檢測(cè)視為回歸問(wèn)題?;谝浑A段目標(biāo)檢測(cè)器的Anchor-free 的網(wǎng)絡(luò)模型,如CenterNet[21]和CornerNet[22]也取得巨大發(fā)展,這些模型不再使用錨框機(jī)制而是直接使用預(yù)測(cè)模型輸出的中心點(diǎn)或者邊角點(diǎn)與真實(shí)檢測(cè)框的偏移進(jìn)行回歸。目前,越來(lái)越多研究者也開(kāi)始重視輕量網(wǎng)絡(luò)結(jié)構(gòu)[23]以及改進(jìn)特征圖在網(wǎng)絡(luò)中的特征提取和融合算法[24]。NAS-FPN[25]針對(duì)不同尺度特征圖的神經(jīng)架構(gòu)來(lái)搜索最優(yōu)的跨尺度特征網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),但是需要多GPU花費(fèi)大量時(shí)間搜索最優(yōu)結(jié)構(gòu)。BiFPN[26]將簡(jiǎn)化的橫向擴(kuò)展并在各層融合,以實(shí)現(xiàn)最大效率特征圖的融合效果,但是這種橫向擴(kuò)展多層次的融合對(duì)原始圖的位置描述信息可能有較大的損失。
一階段檢測(cè)算法通常具有更快的檢測(cè)速度,它的檢測(cè)速度和檢測(cè)精度相對(duì)平衡,但由于YOLO的深層次結(jié)構(gòu)和巨大的參數(shù)量,各種輕量級(jí)網(wǎng)絡(luò)(YOLO-tiny[27-28]、YOLO Nano[29]等)被提出。YOLOv4-tiny是最新的YOLO輕量級(jí)網(wǎng)絡(luò),相較于之前的輕量網(wǎng)絡(luò),在mAP和檢測(cè)速率上都有巨大的提升。其骨干網(wǎng)絡(luò)主要包括下采樣CBL結(jié)構(gòu)和CSP結(jié)構(gòu),下采樣CBL結(jié)構(gòu)中,每個(gè)卷積核大小為3×3,步長(zhǎng)為2,主要對(duì)圖像進(jìn)行下采樣處理。CSP結(jié)構(gòu)[30]將基礎(chǔ)層的特征映射劃分為兩部分,通過(guò)跨層連接將它們合并,增強(qiáng)卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力,在減少了計(jì)算量的同時(shí)可以保證準(zhǔn)確率??鐚舆B接與殘差網(wǎng)絡(luò)的結(jié)果類(lèi)似,這樣有兩個(gè)好處:(1)形成特征映射,實(shí)現(xiàn)特征的重用以獲得更多的語(yǔ)義信息,提高檢測(cè)準(zhǔn)確率;(2)降低計(jì)算瓶頸,減少內(nèi)存開(kāi)銷(xiāo)。其具體網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)如圖1所示。
圖1 YOLOv4-tiny網(wǎng)絡(luò)結(jié)構(gòu)圖
圖1中的Convolutional 由一個(gè)卷積層、批標(biāo)準(zhǔn)化BN層[31]以及LeakyRelu激活函數(shù)構(gòu)成。BN層可降低不同樣本間值域的差異性,避免梯度消失和梯度爆炸的問(wèn)題,同時(shí)減少參數(shù)或其初始值尺度的依賴性,提高網(wǎng)絡(luò)范化能力。Leaky ReLU 給所有負(fù)值賦予一個(gè)非零斜率,避免神經(jīng)元的失活現(xiàn)象。
在YOLO中,將整個(gè)圖片劃分為S×S個(gè)格子,每個(gè)格子作為先驗(yàn)錨框的局部坐標(biāo),在格子內(nèi)訓(xùn)練的網(wǎng)絡(luò)預(yù)測(cè)的坐標(biāo)偏移量、物體置信度和類(lèi)別置信度對(duì)每個(gè)錨框分別進(jìn)行擬合,最后經(jīng)過(guò)非極大值抑制篩選后得到檢測(cè)的邊界框坐標(biāo)和類(lèi)別。其損失函數(shù)如式(1)所示:
其中,Lxywh為預(yù)測(cè)框與真實(shí)框的中心點(diǎn)和寬高誤差之和,λcoord為坐標(biāo)系數(shù);Lconfidence為目標(biāo)置信度誤差,分為有物體和無(wú)物體的兩項(xiàng)置信度誤差,λobj和λnoobj分別為有物體和無(wú)物體的置信度系數(shù);Lclasses為目標(biāo)分類(lèi)損失,表示為第i個(gè)網(wǎng)格的第j個(gè)錨框的匹配情況。
本文提出了一種改進(jìn)YOLOv4-tiny 的新網(wǎng)絡(luò)結(jié)構(gòu)(以下簡(jiǎn)稱(chēng)YOLOv4-tiny Max)。低層特征可以提供更加準(zhǔn)確的位置信息,使用最大池化層能降低圖像尺寸并提取關(guān)鍵信息,但由于最大池化層只和前層部分神經(jīng)元連接,一個(gè)池化神經(jīng)元沒(méi)有權(quán)重,僅通過(guò)最大聚合函數(shù)對(duì)輸入特價(jià)進(jìn)行聚合可能會(huì)丟失重要的位置信息,因此使用大小為3×3,步長(zhǎng)為2 的卷積層代替網(wǎng)絡(luò)結(jié)構(gòu)中的最大池化操作,帶參數(shù)的卷積層會(huì)保留更多特征圖信息。經(jīng)過(guò)一系列下采樣CBL 結(jié)構(gòu)和多次卷積操作會(huì)使得深層網(wǎng)絡(luò)的目標(biāo)定位存在誤差,因此構(gòu)建一個(gè)MaxModule結(jié)構(gòu)提取中小型目標(biāo)的主要特征,其中一條分支網(wǎng)絡(luò)再經(jīng)過(guò)自下而上的多尺度特征融合結(jié)構(gòu),最終獲得兩種不同尺度的檢測(cè)頭輸出,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
He[32]等人的研究表明卷積神經(jīng)網(wǎng)絡(luò)全連接層的輸入必須是固定的特征向量,直接將圖片進(jìn)行拉伸會(huì)導(dǎo)致圖片信息的丟失從而影響識(shí)別的精度。SPP 作為一個(gè)優(yōu)秀的網(wǎng)絡(luò)組件,其不需指定輸入圖像的尺寸或比例,就能夠產(chǎn)生固定大小的特征表示再送進(jìn)全連接層,這樣就可以很好地解決該問(wèn)題。
基于以上研究,提出Max Module 結(jié)構(gòu),添加在多尺度融合過(guò)程中以獲得更多有效局部特征信息,Max Module結(jié)構(gòu)如圖3所示。
圖2 改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)圖
圖3 Max Module結(jié)構(gòu)
使用大(13×13)、中(9×9)、?。?×5)三種不同尺度的最大池化窗口分別作用于傳入的上層卷積特征,選取特征圖區(qū)域的最大值作為該區(qū)域池化后的值,為保持特征圖大小不變,設(shè)置步長(zhǎng)為1,最后把輸入特征圖和經(jīng)過(guò)最大池化后的局部尺寸特征圖進(jìn)行通道融合再傳入瓶頸層,增加網(wǎng)絡(luò)深度的同時(shí)又保留前層特征,提升網(wǎng)絡(luò)性能。圖4 從左往右依次是原圖、采用Max Module 結(jié)構(gòu)和采用對(duì)應(yīng)層數(shù)卷積操作后的特征圖。
圖4 特征圖對(duì)比
從圖4 可以看出,采用Max Module 結(jié)構(gòu)的特征圖邊緣信息和主要特征更清晰豐富,有助于提升檢測(cè)準(zhǔn)確率。Max Module中類(lèi)似空間金字塔的結(jié)構(gòu)不需要對(duì)輸入特征圖進(jìn)行等分就能提取多尺度的局部特征圖像,瓶頸結(jié)構(gòu)使得網(wǎng)絡(luò)仍然能有效進(jìn)行反向傳播。
淺層特征到深層特征到傳遞路徑較長(zhǎng),其邊緣信息和定位信息容易丟失,導(dǎo)致數(shù)據(jù)利用率低、檢測(cè)精度不理想等問(wèn)題,為充分使用特征信息,對(duì)輸出較大檢測(cè)頭的分支網(wǎng)絡(luò)使用自下而上對(duì)多尺度特征融合結(jié)構(gòu)。
不同于原始YOLOv4-tiny 直接使用卷積和上采樣操作,該結(jié)構(gòu)(如圖2(b))首先進(jìn)行二倍上采樣,與主干網(wǎng)絡(luò)第三個(gè)CSP結(jié)構(gòu)進(jìn)行特征圖融合后再經(jīng)過(guò)一個(gè)1×1卷積傳入CSP結(jié)構(gòu),其前饋傳遞方程如式(2)所示:
其中,*表示卷積算子,[x0,x1,…]表示連接(x0,x1,…)的各個(gè)分量,Xi和Wi分別是第i個(gè)連接的輸出和權(quán)重。權(quán)重更新方式如式(3)所示:
其中,f是權(quán)重更新的函數(shù),gi表示傳播到第i個(gè)連接的梯度。可以看出更新的權(quán)重信息W'T和W'U是由不同梯度信息分開(kāi)整合的,這樣既保留了特征重復(fù)使用的特點(diǎn),又通過(guò)截?cái)嗵荻确乐沽诉^(guò)多的重復(fù)梯度信息,提升數(shù)據(jù)利用效率。類(lèi)似殘差結(jié)構(gòu)的特征圖融合可以讓網(wǎng)絡(luò)獲取到深層結(jié)構(gòu)信息也不會(huì)導(dǎo)致梯度消失,同時(shí)又能傳遞淺層的強(qiáng)定位信息和邊緣特征,在不同圖像細(xì)粒度上聚合并形成更全面的圖像特征,提高目標(biāo)檢測(cè)效果。
通過(guò)骨干網(wǎng)絡(luò)和特征融合結(jié)構(gòu)后,最終產(chǎn)生兩個(gè)檢測(cè)頭,分別負(fù)責(zé)檢測(cè)不同尺度的目標(biāo)。每個(gè)檢測(cè)頭中的特征圖被分配了三個(gè)不同的錨框,以預(yù)測(cè)由四個(gè)邊框坐標(biāo)生成預(yù)測(cè)框。在以前的工作中,IoU[33]用于測(cè)量所生成的預(yù)測(cè)框與真實(shí)框之間的重疊率,計(jì)算公式如式(4)所示:
其中,A為預(yù)測(cè)框的面積,B為真實(shí)框的面積,IoU(A,B)為A與B的交并比,也就是預(yù)測(cè)框的面積與真實(shí)框的面積的交集除以其并集。由公式可以看出,對(duì)于兩個(gè)IoU 相同的物體,無(wú)法表示它們的對(duì)齊方式,若預(yù)測(cè)框和真實(shí)框沒(méi)有重疊(沒(méi)有交集),IoU 始終為0,無(wú)法優(yōu)化,為避免這些問(wèn)題,本文采用CIoU[34]作為邊框回歸損失函數(shù),損失函數(shù)如式(5)所示:
其中,α是用于做協(xié)調(diào)比例的參數(shù),v是用來(lái)衡量長(zhǎng)寬比一致性的參數(shù),b和bgt分別表示預(yù)測(cè)框和真實(shí)框的中心點(diǎn),ρ()表示歐式距離,c表示預(yù)測(cè)框和真實(shí)框的最小外界矩形的對(duì)角線距離。α和v的計(jì)算方法如下:
CIoU直接最小化預(yù)測(cè)框與目標(biāo)框之間的歸一化距離以達(dá)到更快的收斂速度,且對(duì)尺度具有不變形,使回歸在與目標(biāo)框有重疊甚至包含時(shí)更準(zhǔn)確、更快。
從表1和圖5可知,CIoU在損失收斂效果和mAP上均優(yōu)于IoU,因此使用CIoU作為邊框回歸損失函數(shù)對(duì)網(wǎng)絡(luò)性能的提升是有很大意義的。
表1 不同邊框回歸損失函數(shù)方法對(duì)比
圖5 損失收斂對(duì)比
根據(jù)默認(rèn)配置訓(xùn)練本文算法,訓(xùn)練期間的初始學(xué)習(xí)率為0.001,衰減系數(shù)為0.000 5,最小批量大小為64,采用半精度加速訓(xùn)練。在平臺(tái)方面,操作系統(tǒng)為Ubuntu 64位,CPU為Intel i7-7700 4.2 GHz;內(nèi)存大小為32 GB;GPU 采 用NVIDIA GeForce GTX1080ti*4 的32 GB 顯卡;編譯環(huán)境為Pycharm/python語(yǔ)言。分別在公開(kāi)數(shù)據(jù)集PASCAL VOC和自制口罩?jǐn)?shù)據(jù)集對(duì)該算法進(jìn)行實(shí)驗(yàn)對(duì)比與分析。
口罩?jǐn)?shù)據(jù)集來(lái)自于公開(kāi)數(shù)據(jù)集MAFA 和Wilder Face 中所有佩戴口罩的數(shù)據(jù)集和部分未佩戴口罩的人臉數(shù)據(jù)集。對(duì)數(shù)據(jù)進(jìn)行篩選并刪除標(biāo)簽和特征不對(duì)應(yīng)的圖片后,總共保留了6 757 張圖像,包括3 893 張臉部和2 864 張被口罩遮擋的臉部,使用兩個(gè)預(yù)定義類(lèi)別:face(臉部)和face_mask(被口罩遮擋的臉部)標(biāo)記數(shù)據(jù)集中的圖像。部分圖像如圖6所示,其中,A類(lèi)對(duì)應(yīng)標(biāo)簽為face_mask,B類(lèi)對(duì)應(yīng)標(biāo)簽為face。
3.1.1 口罩?jǐn)?shù)據(jù)集的預(yù)處理
仿照PASCAL VOC 格式處理口罩?jǐn)?shù)據(jù)集,將標(biāo)注信息進(jìn)行歸一化處理,歸一化公式如式(8)所示:
圖6 部分Wilder MAFA Face數(shù)據(jù)集示例
其中,(weight,height) 為原始圖片的寬度和高度,(xmin,ymin)、(xmax,ymax)分別為原始樣本真實(shí)邊界框的左上角位置信息和右下角位置信息,(x,y)、(w,h)分別為目標(biāo)進(jìn)行歸一化后的中心點(diǎn)坐標(biāo)和寬高。圖片歸一化后,邊界框信息總共包含5 個(gè)參數(shù):即(x,y,w,h)和類(lèi)別對(duì)應(yīng)的標(biāo)簽編號(hào)。
3.1.2 重置口罩?jǐn)?shù)據(jù)集的錨框
在基于錨框的目標(biāo)檢測(cè)網(wǎng)絡(luò)中,錨框設(shè)置的合理性對(duì)于最終模型的性能至關(guān)重要,若錨框的大小與被測(cè)物體的尺度不一致,那么錨框的正樣本數(shù)可能會(huì)非常少,這將導(dǎo)致大量漏檢和誤檢情況。大部分目標(biāo)檢測(cè)網(wǎng)絡(luò)使用默認(rèn)的通用錨框參數(shù)以適應(yīng)通用的公開(kāi)數(shù)據(jù)集,例如YOLOv4-tiny 使用的6 組適用于通用場(chǎng)景的通用錨框參數(shù):[(10,14),(23,27),(37,58),(81,82),(135,169),(344,319)]。為了避免在口罩?jǐn)?shù)據(jù)集上使用通用錨框造成正負(fù)樣本的不平衡問(wèn)題,本文使用k-means++聚類(lèi)算法[23]根據(jù)聚類(lèi)中心和數(shù)據(jù)框分布重新生成6組新的錨框參數(shù)[(12,16),(23,30),(41,53),(70,94),(124,168),(251,338)]用于本算法的口罩算法訓(xùn)練。數(shù)據(jù)的聚類(lèi)中心分布結(jié)果如圖7 所示,其中,灰點(diǎn)是對(duì)象框大小的分布,紅色三角形是聚類(lèi)的結(jié)果。數(shù)據(jù)框分布統(tǒng)計(jì)如圖8所示。
圖7 聚類(lèi)中心分布結(jié)果
圖8 數(shù)據(jù)框的分布統(tǒng)計(jì)
可以看到人臉高寬比例多數(shù)都在1.4∶1左右。所以,對(duì)于口罩?jǐn)?shù)據(jù)集,可以將錨框比例設(shè)置為1∶1、1.4∶1、1.7∶1,而沒(méi)必要設(shè)置為通用錨框比例。
隨機(jī)改變訓(xùn)練樣本可以降低模型對(duì)物體出現(xiàn)位置的依賴,提高模型的泛化能力,因此本文算法在訓(xùn)練過(guò)程中對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行Mosaic 數(shù)據(jù)增強(qiáng)訓(xùn)練技巧,即隨機(jī)讀取4 張訓(xùn)練圖像,進(jìn)行翻轉(zhuǎn)和旋轉(zhuǎn)等操作后,按一定比例組合成1張圖片。部分訓(xùn)練圖片如圖9所示。
選取VOC2007 訓(xùn)練驗(yàn)證集和VOC2012 訓(xùn)練驗(yàn)證集作為訓(xùn)練數(shù)據(jù)(總共包含16 551 張圖片),VOC2007測(cè)試集作為測(cè)試數(shù)據(jù)(總共包含4 952張圖片)。將本文算法與Faster RCNN、SSDLite、SSD、YOLOv3、YOLOv3-tiny、YOLOv4 和YOLOv4-tiny 進(jìn)行對(duì)比,所有算法在PASCAL VOC 數(shù)據(jù)集中均采用通用錨框比例,實(shí)驗(yàn)對(duì)比結(jié)果如表2所示。
表2 不同算法結(jié)果對(duì)比
圖9 經(jīng)Mosaic處理的訓(xùn)練數(shù)據(jù)集示例
由表2 可知,大型網(wǎng)絡(luò)檢測(cè)準(zhǔn)確率高,但是檢測(cè)速度較慢,輕量網(wǎng)絡(luò)檢測(cè)速度快但是檢測(cè)準(zhǔn)確率較低。YOLOv4-tiny 在輕量級(jí)網(wǎng)絡(luò)中檢測(cè)速度和檢測(cè)準(zhǔn)確率較為均衡,但由于網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,存在特征提取能力不足等問(wèn)題。本文所提算法雖然mAP 不及表2 中的大型網(wǎng)絡(luò),但模型體積最小,更適合部署于移動(dòng)端。在模型體積相差不大的同等輕量級(jí)網(wǎng)絡(luò)YOLOv3-tiny 和YOLOv4-tiny 中,mAP 分別提高13.1 個(gè)百分點(diǎn)和4.9 個(gè)百分點(diǎn),其主要原因是Max Module能更好提取圖像特征,自下而上的多尺度融合增強(qiáng)模型對(duì)特征的利用率,提高準(zhǔn)確率,使用CIoU 更好地描述預(yù)測(cè)框和真實(shí)框的距離,加快模型收斂速度,同時(shí)對(duì)訓(xùn)練集采取Mosaic處理,豐富檢測(cè)物體的背景,獲得更好的泛化能力。檢測(cè)速率略低是由于隨著mAP 的提高,會(huì)檢測(cè)出更多目標(biāo)框,因此時(shí)間開(kāi)銷(xiāo)增加,但該檢測(cè)速度仍符合實(shí)際檢測(cè)場(chǎng)景的實(shí)時(shí)性要求。
按7∶3 隨機(jī)將口罩?jǐn)?shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,將本文算法與同等輕量級(jí)網(wǎng)絡(luò)YOLOv3-tiny 和YOLOv4-tiny 進(jìn)行對(duì)比,為進(jìn)一步說(shuō)明Max Module 結(jié)構(gòu)的有效性,在YOLOv3-tiny 對(duì)應(yīng)的檢測(cè)頭網(wǎng)絡(luò)前相同位置加入Max Module 結(jié)構(gòu)(以下簡(jiǎn)稱(chēng)YOLOv3-tiny Max)。所有算法在口罩?jǐn)?shù)據(jù)集中均采用k-means++聚類(lèi)生成的錨框比。以平均精度均值(mAP)、每秒識(shí)別幀數(shù)、精確率(Precision)和召回率(Recall)作為評(píng)價(jià)指標(biāo),不同算法的實(shí)驗(yàn)結(jié)果如圖10和表3所示。
圖10 輕量算法在口罩?jǐn)?shù)據(jù)訓(xùn)練集的mAP對(duì)比
表3 不同輕量網(wǎng)絡(luò)的口罩檢測(cè)結(jié)果對(duì)比
從圖10 和表3 可以看出,本文算法在mAP 和檢測(cè)速率上表現(xiàn)最好。YOLOv3-tiny 采用卷積層和最大池化層組成的7 層網(wǎng)絡(luò)較淺,無(wú)法提取更多特征,故mAP最低,從精確率和召回率可知,YOLOv3-tiny中,正負(fù)樣本不平衡,誤檢情況可能較高,增加Max Module 結(jié)構(gòu)的YOLOv3-tiny Max相較于原算法,mAP提升明顯,但由于未改變基礎(chǔ)網(wǎng)絡(luò)和特征融合方式,正負(fù)樣本優(yōu)化情況仍有待改善。相較于YOLOv4-tiny,檢測(cè)速率相差不大,但mAP提高3.3個(gè)百分點(diǎn)。這是由于改進(jìn)的算法結(jié)構(gòu)增加Max Module更好地提取主要特征,采用自下而上的多尺度特征融合,提升淺層網(wǎng)絡(luò)邊緣信息利用率,使低層定位信號(hào)增強(qiáng)整個(gè)特征層次。因此,從實(shí)驗(yàn)對(duì)比結(jié)果可知,對(duì)于實(shí)際的口罩佩戴檢測(cè)場(chǎng)景而言,本文提出的改進(jìn)點(diǎn)是有效的,改進(jìn)的YOLO網(wǎng)絡(luò)同時(shí)兼顧了檢測(cè)準(zhǔn)確率和檢測(cè)速率,能較好完成口罩佩戴檢測(cè)任務(wù)。
圖11 各種算法的檢測(cè)效果對(duì)比圖
為了更加直觀地說(shuō)明不同檢測(cè)算法之間的區(qū)別,選取了一些檢測(cè)圖像進(jìn)行對(duì)比分析,從左到右依次是:原始圖像、本文算法檢測(cè)結(jié)果、YOLOv4-tiny 檢測(cè)結(jié)果、YOLOv3-tiny Max檢測(cè)結(jié)果和YOLOv3-tiny檢測(cè)結(jié)果。
從圖11可以看出,YOLOv3-tiny漏檢情況嚴(yán)重且檢測(cè)框位置偏差嚴(yán)重,YOLOv3-tiny Max和YOLOv4-tiny檢測(cè)效果相差不大,但均未識(shí)別出遠(yuǎn)處的人物,改進(jìn)YOLO輕量化網(wǎng)絡(luò)則彌補(bǔ)了這一缺陷。因此,在以上輕量網(wǎng)絡(luò)算法中,本文提出的改進(jìn)YOLO輕量化網(wǎng)絡(luò)方法更適合口罩佩戴檢查任務(wù)。
本文提出了一種改進(jìn)YOLO 輕量化網(wǎng)絡(luò)的口罩檢測(cè)算法。提出Max Module結(jié)構(gòu)能獲取更主要的特征,自下而上的特征融合結(jié)構(gòu)保留淺層網(wǎng)絡(luò)的邊緣信息和定位信息,提升特征利用率,引用CIoU預(yù)測(cè)框與真實(shí)框的位置,加快損失收斂速度,構(gòu)建口罩佩戴數(shù)據(jù)集并使用k-means++重構(gòu)錨框比例,采用Mosaic方法處理訓(xùn)練集,提高模型在實(shí)際檢測(cè)場(chǎng)景中的泛化能力,使模型更加適用于口罩佩戴檢測(cè)場(chǎng)景。實(shí)驗(yàn)結(jié)果表明,相比于原算法YOLOv4-tiny,在VOC 數(shù)據(jù)集和口罩檢測(cè)任務(wù)中,mAP 分別提升4.9 個(gè)百分點(diǎn)和3.3 個(gè)百分點(diǎn),檢測(cè)速率分別達(dá)到74 frame/s和64 frame/s,其檢測(cè)準(zhǔn)確率和檢測(cè)速率更為均衡,適用于口罩佩戴檢測(cè)任務(wù)。但是在其他檢測(cè)場(chǎng)景和通用場(chǎng)景中,檢測(cè)準(zhǔn)確率仍不及大型檢測(cè)網(wǎng)絡(luò),如何使模型適用于更多檢測(cè)場(chǎng)景,這依然是一個(gè)有待解決的問(wèn)題。