王新良,馬耀博
(1.河南理工大學(xué) 物理與電子信息學(xué)院,河南 焦作 454003;2.哈密豫新能源產(chǎn)業(yè)研究院有限責(zé)任公司 技術(shù)研發(fā)部,新疆 哈密 839000)
醫(yī)療廢物在裝入醫(yī)廢包裝袋后,由于混入利器或者存在某些不可抗的外力因素造成醫(yī)廢包裝袋破損,會(huì)導(dǎo)致醫(yī)療廢物遺失而出現(xiàn)安全隱患,采用人工方式進(jìn)行醫(yī)廢包裝袋破損檢測(cè)存在人力資源開銷大、效率低、易漏檢的問題,因此實(shí)現(xiàn)對(duì)醫(yī)廢包裝袋破損目標(biāo)快速準(zhǔn)確的檢測(cè)尤為重要。
傳統(tǒng)的目標(biāo)檢測(cè)大多采用手工設(shè)計(jì)的特征提取方法,該方法具有一定的目標(biāo)導(dǎo)向性和主觀性,即針對(duì)特定目標(biāo)有較好的檢測(cè)效果,但其表征的目標(biāo)特征存在偏差,且泛化能力和魯棒性較差[1]。近年來,基于深度卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)方法迅速發(fā)展,較之傳統(tǒng)目標(biāo)檢測(cè)方法,其具有檢測(cè)速度更快、檢測(cè)精度更高等優(yōu)點(diǎn)[2]。目前,基于深度卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)方法按照算法思路主要分成兩類:基于候選區(qū)域的雙階段網(wǎng)絡(luò)和基于回歸的單階段網(wǎng)絡(luò)。雙階段網(wǎng)絡(luò)將目標(biāo)檢測(cè)劃分為候選框提取、候選框內(nèi)目標(biāo)定位和分類兩步,代表網(wǎng)絡(luò)主要有Faster R-CNN[3]、FPN[4]等;單階段網(wǎng)絡(luò)摒棄了雙階段網(wǎng)絡(luò)提取候選區(qū)域的步驟,直接將原始圖像輸入單個(gè)神經(jīng)網(wǎng)絡(luò)以完成檢測(cè)框回歸和分類預(yù)測(cè),從而完成端對(duì)端的目標(biāo)檢測(cè)任務(wù),代表網(wǎng)絡(luò)主要有Yolo[5]、SSD[6]、RetinaNet[7]等。目標(biāo)缺陷不僅影響其美觀,甚至?xí)?duì)目標(biāo)的性能以及安全穩(wěn)定性產(chǎn)生不可估量的影響。李建明等[8]基于Inception-V3和Yolov3提出了一種工業(yè)自動(dòng)化包裝缺陷檢測(cè)的方法,常洋[9]基于SSD實(shí)現(xiàn)對(duì)水管破裂位置的定位檢測(cè),吳偉浩等[10]提出了一種改進(jìn)的Yolov3算法用于電連接器的缺陷檢測(cè),以上研究在特定缺陷對(duì)象的檢測(cè)上均取得不錯(cuò)的效果。
本文針對(duì)醫(yī)廢包裝袋破損人工檢測(cè)效率低下、容易漏檢的問題,采用Yolov5算法實(shí)現(xiàn)對(duì)醫(yī)廢包裝袋的破損檢測(cè)。又由于醫(yī)廢包裝袋破損圖像中存在小尺寸目標(biāo)難以檢測(cè)的問題,通過對(duì)Yolov5網(wǎng)絡(luò)進(jìn)行優(yōu)化改進(jìn),以提高醫(yī)廢包裝袋破損檢測(cè)的精度。
2020年5月30日,Ultralytics LLC團(tuán)隊(duì)基于Yolov4[11]發(fā)布了Yolov5。Yolov5同Yolov4一致,仍然將網(wǎng)絡(luò)劃分為輸入端(Input)、特征提取骨干網(wǎng)絡(luò)(Backbone)、特征融合網(wǎng)絡(luò)(Neck)以及預(yù)測(cè)輸出端(Prediction)4部分,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 Yolov5網(wǎng)絡(luò)結(jié)構(gòu)
輸入端采用Mosaic數(shù)據(jù)增強(qiáng)技術(shù),能夠在一定程度上解決樣本數(shù)據(jù)不足而帶來的訓(xùn)練結(jié)果不理想、模型過擬合等問題;其次,引入了自適應(yīng)的錨框計(jì)算,其能夠基于預(yù)設(shè)先驗(yàn)框在網(wǎng)絡(luò)訓(xùn)練過程中得到預(yù)測(cè)框,進(jìn)一步與真實(shí)框?qū)Ρ龋聪虻鲞m合數(shù)據(jù)集的最優(yōu)錨框;最后,加入了自適應(yīng)圖片縮放機(jī)制,常見的目標(biāo)檢測(cè)算法為了將輸入圖像尺寸標(biāo)準(zhǔn)化,會(huì)對(duì)圖像寬高等比縮放后進(jìn)行黑度或灰度填充,但是填充的部分包含的均為無效信息,會(huì)影響模型的預(yù)測(cè)速度,Yolov5的自適應(yīng)圖片縮放機(jī)制力求在模型推理過程中進(jìn)行最小程度的灰度填充,進(jìn)而有效提高模型預(yù)測(cè)速度。
特征提取骨干網(wǎng)絡(luò)引入先前版本的Yolo不具備的Focus結(jié)構(gòu),該結(jié)構(gòu)原理如圖2所示。Focus將RGB圖像的3個(gè)通道維度依次切分為4份,然后在通道維度上拼接至12個(gè)通道,最后進(jìn)行卷積操作,進(jìn)一步擴(kuò)充通道維度,該結(jié)構(gòu)能夠在保證信息無缺失的前提下減少浮點(diǎn)運(yùn)算量,進(jìn)而提高速度。
圖2 Focus原理
Yolov5的特征提取骨干網(wǎng)絡(luò)還設(shè)計(jì)了兩種不同的跨階段局部網(wǎng)絡(luò)(CSP)CSP1_X和CSP2_X,其結(jié)構(gòu)如圖1所示,兩者分別應(yīng)用于特征提取骨干網(wǎng)絡(luò)和特征融合網(wǎng)絡(luò)。以CSP1_X為例進(jìn)行說明,CSP1_X將基礎(chǔ)層的特征映射劃分成兩部分,一部分直接輸出,另一部分經(jīng)過由X個(gè)殘差塊串聯(lián)起的結(jié)構(gòu)后輸出,然后將兩部分的輸出合并,能夠較好地兼顧模型輕量化和準(zhǔn)確率。
特征融合網(wǎng)絡(luò)用于對(duì)不同層的特征進(jìn)行融合,Yolov5使用了特征金字塔網(wǎng)絡(luò)(feature pyramid network,F(xiàn)PN)與路徑聚合網(wǎng)絡(luò)(path aggregation network,PAN)結(jié)合的方法,具體結(jié)構(gòu)如圖3所示。在卷積神經(jīng)網(wǎng)絡(luò)中,網(wǎng)絡(luò)深層往往經(jīng)歷了更多次的卷積、池化等降維操作,從而使得網(wǎng)絡(luò)深層提取的特征具備更豐富的語義信息(抽象信息);而網(wǎng)絡(luò)淺層距離圖像輸入源較近,因此淺層提取的特征對(duì)細(xì)節(jié)的削減更少,進(jìn)而網(wǎng)絡(luò)淺層包含更多的定位信息(細(xì)節(jié)信息)。FPN和PAN依次自頂向下和自低至上分別傳達(dá)更豐富的語義信息和定位信息,然后從不同的主干層對(duì)不同的檢測(cè)層進(jìn)行特征融合,從而達(dá)到特征增強(qiáng)的目的。
預(yù)測(cè)輸出端使用了GIOU_Loss作為邊界框(Bounding box)損失函數(shù),同時(shí)使用了加權(quán)非極大值抑制(non-maximum suppression,NMS)的方式以便從多個(gè)預(yù)測(cè)框中篩選出更為匹配的目標(biāo)框,從而使得預(yù)測(cè)結(jié)果更為精確。
本文對(duì)Yolov5的改進(jìn)主要包括:將三尺度的目標(biāo)檢測(cè)網(wǎng)絡(luò)改為四尺度的目標(biāo)檢測(cè)網(wǎng)絡(luò),以適應(yīng)醫(yī)廢包裝袋更小破損目標(biāo)的檢測(cè);引入CBAM[12]結(jié)構(gòu),該結(jié)構(gòu)能夠?qū)Υ龣z測(cè)的醫(yī)廢包裝袋破損目標(biāo)加以強(qiáng)調(diào),對(duì)其它無關(guān)信息加以抑制。
Yolov5將尺寸為640×640×3的輸入圖像分別經(jīng)過8倍、16倍以及32倍下采樣后形成的特征圖作為特征融合網(wǎng)絡(luò)的輸入,然后經(jīng)過FPN+PAN結(jié)構(gòu)進(jìn)行雙向的特征融合實(shí)現(xiàn)特征信息的充分利用,最后形成80×80、40×40、20×20這3種不同尺度的特征圖去檢測(cè)目標(biāo)。不同尺度的特征圖由于感受野大小的差異,對(duì)不同尺寸目標(biāo)的敏感程度也不相同,更大尺度的特征圖對(duì)更小尺寸的目標(biāo)檢測(cè)效果更好。在醫(yī)廢包裝袋破損檢測(cè)場景下,由于醫(yī)廢包裝袋與圖像采集設(shè)備距離的不確定性以及破損大小的不確定性,會(huì)存在部分過小的醫(yī)廢包裝袋破損目標(biāo),并且因?yàn)檫B續(xù)下采樣操作會(huì)使得這些目標(biāo)丟失很多的有用特征信息,從而導(dǎo)致現(xiàn)有的最大尺度的特征圖無法對(duì)目標(biāo)做出準(zhǔn)確預(yù)測(cè),造成目標(biāo)漏檢。
通過以上分析可知,現(xiàn)有的Yolov5多尺度檢測(cè)網(wǎng)絡(luò)不適用于較小醫(yī)廢包裝袋破損檢測(cè),因此本文將原網(wǎng)絡(luò)中80×80的大尺寸特征圖進(jìn)行2倍上采樣,與特征提取網(wǎng)絡(luò)中4倍下采樣后的160×160低層特征圖進(jìn)行融合,最后形成160×160、80×80、40×40、20×20四尺度檢測(cè)結(jié)構(gòu),如圖4所示。這樣使高層的特征具有更強(qiáng)的定位信息,低層的特征具有更豐富的語義信息,這樣即使圖像中目標(biāo)的尺度有較大變化,也可以在多個(gè)尺度上準(zhǔn)確檢測(cè),更有利于醫(yī)廢包裝袋的破檢測(cè)。
圖4 改進(jìn)的四尺度檢測(cè)結(jié)構(gòu)
Yolov5參考了Faster R-CNN的先驗(yàn)框設(shè)計(jì)思想,其通過K-means聚類算法在數(shù)據(jù)集上得到一定數(shù)量的固定尺寸的初始先驗(yàn)框。Yolov5初始輸出3個(gè)不同尺度的特征圖,每個(gè)特征圖又對(duì)應(yīng)3個(gè)不同尺寸的先驗(yàn)框,因此Yolov5共有9種尺寸的先驗(yàn)框。但是不同數(shù)據(jù)集聚類出來的先驗(yàn)框尺寸存在很大差異,這也會(huì)對(duì)目標(biāo)對(duì)象檢測(cè)的精度和速度產(chǎn)生不同程度的影響。
本文改進(jìn)的Yolov5網(wǎng)絡(luò)增加了一個(gè)尺度的檢測(cè)層,因此原有的9種尺寸的先驗(yàn)框已不再適用,需要重新對(duì)先驗(yàn)框的數(shù)量和尺寸進(jìn)行聚類。聚類的目的是盡可能地提高先驗(yàn)框與真實(shí)框的交并比(intersection-over-union,IoU),以減少兩者的誤差。為了定量地分析,定義誤差度量函數(shù)如式(1)所示,其中box為真實(shí)框;center為聚類中心點(diǎn);d表示誤差,與IoU成反比例關(guān)系,d越小,說明先驗(yàn)框與真實(shí)框的吻合程度越高
(1)
本文使用自制的醫(yī)廢包裝袋破損數(shù)據(jù)集進(jìn)行聚類分析,得到先驗(yàn)框的數(shù)量K與平均交并比Avg IoU的關(guān)系散點(diǎn)如圖5所示。
圖5 K-means聚類分析結(jié)果
從圖5中可以看出,平均交并伴隨K值的增加而增加且在K=12時(shí)而趨于穩(wěn)定。從而得到3×4共12種不同尺寸的先驗(yàn)框。先驗(yàn)框按照特征圖尺度的大小進(jìn)行分配,更大尺度的特征圖對(duì)應(yīng)更小的感受野,從而分配更小尺寸的先驗(yàn)框用于檢測(cè)更小的醫(yī)廢包裝袋破損目標(biāo)。先驗(yàn)框的分配見表1。
表1 先驗(yàn)框分配
在醫(yī)廢包裝袋破損檢測(cè)任務(wù)中,由于破損位置處于醫(yī)廢包裝袋之上,且醫(yī)廢包裝袋通透性較強(qiáng),從而使得破損的位置與周圍環(huán)境存在較弱的差異性。為了使網(wǎng)絡(luò)聚焦于輸入圖像中破損所在的位置,采用CBAM模塊能讓網(wǎng)絡(luò)關(guān)注給定的圖像更重要的位置。CBAM依據(jù)注意力集中的不同位置,又劃分為空間注意力模塊(spatial attention mo-dule,SAM)和通道注意力模塊(channel attention mo-dule,CAM)。CBAM結(jié)構(gòu)如圖6所示。
圖6 CBAM結(jié)構(gòu)
CAM模塊主要作用是使網(wǎng)絡(luò)關(guān)注圖像“是什么”,相當(dāng)于給每個(gè)通道引入不同的權(quán)重,提升關(guān)鍵信息的重要性,抑制無用信息的干擾。首先,將尺寸為C*H*W的特征圖FC*H*W在空間方向上使用全局的平均池化和最大池化的操作聚合有效特征生成兩個(gè)FC*1*1的特征圖;然后經(jīng)過卷積核數(shù)量為C/r(r為減少率)和C的兩個(gè)卷積層構(gòu)成的共享雙層神經(jīng)網(wǎng)絡(luò)(shared double layer perceptron,SDLP)聚合C個(gè)通道的信息;隨后將輸出特征進(jìn)行元素加操作,并經(jīng)過sigmoid激活,得到最終的通道注意力權(quán)重即MC∈FC*1*1; 最后將生成的通道注意力權(quán)重通過元素乘操作,將權(quán)重沿空間方向廣播致FC*H*W上。
(2)
SAM模塊作為通道注意力的補(bǔ)充,其作用是在特征圖上找到更重要的部位,關(guān)注圖像關(guān)鍵信息“在哪里”。首先,將CAM模塊輸出的特征圖FC*H*W沿著通道的方向進(jìn)行全局最大池化和全局平均池化,得到兩個(gè)通道數(shù)為1的可描述不同空間位置信息的特征圖。然后將兩個(gè)特征圖沿著通道方向進(jìn)行拼接,生成一個(gè)可反映全局空間信息的空間信息特征圖。隨后使用一個(gè)卷積核為7的卷積,用較大的感受野來對(duì)空間中需要加強(qiáng)或抑制的信息進(jìn)行映射,聚合空間的上下文信息,將生成的特征圖經(jīng)過sigmoid激活函數(shù)得到一個(gè)值0到1的權(quán)重特征圖MS即所需的空間注意力。最后將與輸入特征進(jìn)行元素乘操作,就得到了帶有空間注意力權(quán)重增強(qiáng)或抑制的特征圖。
(3)
本文將Yolov5通過對(duì)多尺度檢測(cè)網(wǎng)絡(luò)、特征融合網(wǎng)絡(luò)、損失函數(shù)改進(jìn),其改進(jìn)后的Yolov5整體結(jié)構(gòu)如圖7所示,輸入圖像經(jīng)過Darknet-53特征提取網(wǎng)本文對(duì)Yolov5的多尺度檢測(cè)網(wǎng)絡(luò)進(jìn)行了改進(jìn),并引入了CBAM以期進(jìn)一步提升網(wǎng)絡(luò)性能。CBAM雖然較為輕量,但該模塊在網(wǎng)絡(luò)中過多引入也會(huì)大大增加網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜度,從而產(chǎn)生模型訓(xùn)練不易收斂,模型預(yù)測(cè)速度大幅降低等問題。為了以較小的代價(jià)來取得較為可觀的效果,需要對(duì)CBAM引入的數(shù)量和位置進(jìn)行考究。首先,可知神經(jīng)網(wǎng)絡(luò)中各網(wǎng)絡(luò)層所處的層級(jí)越低,則越需要經(jīng)過更多的下采樣,這樣就會(huì)不斷削減后續(xù)網(wǎng)絡(luò)層的特征信息,因此在網(wǎng)絡(luò)較低層引入CBAM,最終會(huì)使得網(wǎng)絡(luò)大大弱化注意力機(jī)制的作用,所以本文不在層級(jí)較低的特征提取主干網(wǎng)絡(luò)層引入CBAM。進(jìn)而考慮特征融合網(wǎng)絡(luò),特征融合將不同層的特征圖融合,從而充分地利用特征信息,因此在特征融合前引入CBAM,會(huì)使得后續(xù)融合到更為重要的特征信息。最后,預(yù)測(cè)輸出端會(huì)根據(jù)得到的特征圖完成對(duì)目標(biāo)的預(yù)測(cè),神經(jīng)網(wǎng)絡(luò)之所以能保證目標(biāo)預(yù)測(cè)的精度,是因?yàn)轭A(yù)測(cè)輸出端的特征圖中包含目標(biāo)大量的特征信息,為了使得預(yù)測(cè)輸出端的特征圖聚焦更多目標(biāo)的有用信息,從而在預(yù)測(cè)輸出端前引入CBAM。
圖7 改進(jìn)的Yolov5網(wǎng)絡(luò)結(jié)構(gòu)
本文進(jìn)行醫(yī)廢包裝袋破損檢測(cè)實(shí)驗(yàn)的軟硬件環(huán)境如下:軟件方面,使用64位的Ubuntu 18.04作為實(shí)驗(yàn)的操作系統(tǒng)平臺(tái),深度學(xué)習(xí)框架使用基于Python語言的PyTorh庫。硬件方面,使用雙路主板,配備2個(gè)Intel(R) Xeon(R) E5-2680 v4 @ 2.40 GHz的CPU,NVIDIA GeForce RTX 2070S,64G RAM。
由于本文待檢測(cè)的醫(yī)廢包裝袋破損沒有公開數(shù)據(jù)集,因而本文自制了3000張數(shù)據(jù)集。為了增加破損圖像的多樣性,進(jìn)而提升網(wǎng)絡(luò)魯棒性,本文制作的醫(yī)廢包裝袋破損包含了多個(gè)位置與尺寸。又因?yàn)閅olov5網(wǎng)絡(luò)在輸入端對(duì)圖形使用了Mosaic數(shù)據(jù)增強(qiáng),且模型訓(xùn)練過程中加載COCO數(shù)據(jù)集的權(quán)重文件進(jìn)行遷移學(xué)習(xí),從而有效地減少數(shù)據(jù)不足而產(chǎn)生模型過擬合。本文自制的數(shù)據(jù)集雖然包含醫(yī)廢包裝袋不同尺寸以及不同位置的破損,但實(shí)際應(yīng)用中,關(guān)注的側(cè)重點(diǎn)并不在破損的類型,而僅僅關(guān)注是否破損即可,因此,本文的數(shù)據(jù)集只有破損一個(gè)類別。本文使用labelImg工具對(duì)數(shù)據(jù)集進(jìn)行標(biāo)記,將破損目標(biāo)標(biāo)為damaged并保存成xml標(biāo)簽文件。
圖8 模型訓(xùn)練損失變化曲線
為了對(duì)改進(jìn)的Yolov5網(wǎng)絡(luò)性能進(jìn)行直觀的評(píng)價(jià),采用目標(biāo)檢測(cè)領(lǐng)域中一般通用的評(píng)測(cè)方法,即采用對(duì)目標(biāo)檢測(cè)精準(zhǔn)率進(jìn)行評(píng)估的平均精度值(mean average precision,mAP)和對(duì)目標(biāo)檢測(cè)速率的每秒傳輸幀數(shù)(frames per second,F(xiàn)PS)兩個(gè)評(píng)價(jià)指標(biāo)。其中平均精準(zhǔn)度需要查準(zhǔn)率(Precision)和查全率(Recall)兩個(gè)評(píng)價(jià)指數(shù)計(jì)算所得。計(jì)算公式如下
(4)
(5)
(6)
其中,在查準(zhǔn)率和查全率計(jì)算過程中,涉及反映預(yù)測(cè)情況與真實(shí)情況關(guān)系的3個(gè)指標(biāo)TP,F(xiàn)P以及FN,除此之外,另有一個(gè)TN指標(biāo)常與以上3個(gè)指標(biāo)同時(shí)出現(xiàn)。TP,F(xiàn)P,F(xiàn)N以及TN的定義及關(guān)系見表2。在本文的mAP計(jì)算中,c值為1。
表2 TP,F(xiàn)P,TN,F(xiàn)N定義及關(guān)系
使用改進(jìn)的Yolov5網(wǎng)絡(luò)訓(xùn)練好的模型在測(cè)試集上進(jìn)行測(cè)試,得到查準(zhǔn)率、查全率、F1分?jǐn)?shù)在不同置信度閾值下的比率如圖9所示,F(xiàn)1分?jǐn)?shù)作為查準(zhǔn)率和查全率的調(diào)和平
圖9 查準(zhǔn)率、查全率、F1分?jǐn)?shù)在不同置信度閾值下的值
均,能夠較為均衡和全面地對(duì)算法進(jìn)行評(píng)價(jià),以下稱查準(zhǔn)率與置信度閾值的關(guān)系曲線為P-C曲線,稱查全率與置信度閾值的關(guān)系曲線為R-C曲線,稱F1分?jǐn)?shù)與置信度閾值的關(guān)系曲線為F-C曲線。可以看出,查全率隨著置信度閾值的增高而逐漸增高,在置信度閾值為0.8附近,查全率達(dá)到最大值1.0,說明本文改進(jìn)的模型在置信度閾值大于0.8時(shí),在目標(biāo)測(cè)試集全部預(yù)測(cè)為正樣本的醫(yī)廢包裝袋破損目標(biāo)中,包含了所有真實(shí)的正樣本;相反,查準(zhǔn)率隨著置信度閾值的減小而逐漸減小,在置信度閾值為0.0時(shí),查準(zhǔn)率達(dá)到最大值0.98左右;F1分?jǐn)?shù)則介于查準(zhǔn)率和查全率之間,以P-C曲線和R-C曲線的交點(diǎn)為界,交點(diǎn)之前,F(xiàn)1分?jǐn)?shù)與置信度閾值成正比,交點(diǎn)之后,F(xiàn)1分?jǐn)?shù)與置信度閾值成反比,因此在交點(diǎn)置信度閾值為0.11左右時(shí),F(xiàn)1分?jǐn)?shù)達(dá)到最大值0.9左右,說明本文改進(jìn)的模型在較小的置信度閾值時(shí)就能篩選掉大部分不是醫(yī)廢包裝袋破損的候選目標(biāo),從而具備良好的預(yù)測(cè)性能,同時(shí)較小的置信度閾值還保證了較大的查全率,能在一定程度上避免漏檢。
進(jìn)而得到查準(zhǔn)率與查全率的關(guān)系P-R曲線如圖10所示,圖例中包括damaged和all classes兩條曲線,但由于本文數(shù)據(jù)集樣本的所有類別all classes只有damaged一類,因此兩個(gè)圖例繪制出的曲線重疊。本文通過計(jì)算醫(yī)廢包裝袋破損類別的P-R曲線在[0,1]區(qū)間的定積分,即可得到相應(yīng)的mAP,其值為94.1%。
圖10 醫(yī)廢包裝袋破損檢測(cè)P-R曲線
將本文改進(jìn)的Yolov5與Yolov3、SSD、Faster R-CNN以及Yolov5原網(wǎng)絡(luò)4個(gè)主流通用網(wǎng)絡(luò)在自制的醫(yī)廢包裝袋破損數(shù)據(jù)集上進(jìn)行mAP和FPS兩個(gè)指標(biāo)的比對(duì),結(jié)果見表3。
表3 不同網(wǎng)絡(luò)的醫(yī)廢包裝袋破損檢測(cè)結(jié)果
表3可以看出,本文改進(jìn)的Yolov5相較于其它主流網(wǎng)絡(luò),具有最高的檢測(cè)精度,達(dá)到了94.10%。檢測(cè)速度方面,原Yolov5速度最快,F(xiàn)PS達(dá)到118,本文改進(jìn)的Yolov5其次,F(xiàn)PS為104,但這仍然達(dá)到了實(shí)時(shí)性的要求,且具有較高的速度水準(zhǔn)。綜合來看,本文改進(jìn)的Yolov5較為均衡地兼顧了檢測(cè)速度和檢測(cè)精度,能夠更好地應(yīng)對(duì)醫(yī)廢包裝袋的破損檢測(cè)任務(wù)。
為驗(yàn)證本文算法改進(jìn)策略的有效性,采取消融實(shí)驗(yàn)對(duì)每一步改進(jìn)給整體模型產(chǎn)生的影響加以評(píng)價(jià)。將本文算法劃分為4組進(jìn)行訓(xùn)練,組一為Yolov5原網(wǎng)絡(luò);組二基于組一重新聚類了適合本文數(shù)據(jù)集的先驗(yàn)框;組三基于組二增加一個(gè)檢測(cè)尺度;組四基于組三引入CBAM模塊。在醫(yī)廢包裝袋破損數(shù)據(jù)集上進(jìn)行消融實(shí)驗(yàn),各組實(shí)驗(yàn)結(jié)果見表4。
表4從mAP、Time以及FPS這3個(gè)指標(biāo)對(duì)4組算法進(jìn)行評(píng)價(jià),由于Time和FPS呈負(fù)相關(guān)關(guān)系,因此只分析mAP和FPS兩個(gè)評(píng)價(jià)指標(biāo)。從整體來看,組四即本文改進(jìn)的算法的mAP值最高,這說明本文算法改進(jìn)方向的有效性;組二的FPS最高,這說明在不改變網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,對(duì)特定數(shù)據(jù)集重新聚類先驗(yàn)框能夠在一定程度上提高模型的預(yù)測(cè)速度。按照組一到組四的改進(jìn)方向來看,組二較之于組一,mAP提高了1.22%,F(xiàn)PS提高了2,說明重新聚類了適合本文數(shù)據(jù)集的先驗(yàn)框,能夠提高模型預(yù)測(cè)精度和預(yù)測(cè)速度;組三較之于組二,mAP提高了2.58%,F(xiàn)PS降低了13,說明增加第四個(gè)檢測(cè)尺度能夠提高較小醫(yī)廢包裝袋破損目標(biāo)的預(yù)測(cè)精度,從而提高整體數(shù)據(jù)集的預(yù)測(cè)精度,但檢測(cè)尺度的增加會(huì)增加模型的復(fù)雜度,從而降低模型的預(yù)測(cè)速度;組四較之于組三,mAP提高了1.70%,F(xiàn)PS降低了3,說明CBAM模塊的引入使得模型能夠更加有效地提取醫(yī)廢包裝袋破損位置的特征,從而提高模型的預(yù)測(cè)能力,類似的,由于引入CBAM模塊增加了模型的復(fù)雜度,進(jìn)而降低了模型預(yù)測(cè)速度。以上實(shí)驗(yàn)結(jié)果可以看出,本文算法的改進(jìn)策略能夠以犧牲小部分預(yù)測(cè)速度但不影響模型預(yù)測(cè)實(shí)時(shí)性為代價(jià)來取得模型預(yù)測(cè)精度的可觀提高,從而說明本文算法的改進(jìn)策略是合理有效的。
表4 消融實(shí)驗(yàn)結(jié)果
為了對(duì)改進(jìn)模型的性能進(jìn)行分析,本文隨機(jī)選取4組測(cè)試集圖像,將其分別送入Yolov5和改進(jìn)的Yolov5進(jìn)行預(yù)測(cè)對(duì)比,圖11從左到右依次是原圖、Yolov5以及改進(jìn)Yolov5的預(yù)測(cè)結(jié)果??梢钥闯?,在(a)組大目標(biāo)檢測(cè)中,Yolov5原網(wǎng)絡(luò)與改進(jìn)的Yolov5均能準(zhǔn)確預(yù)測(cè);在(b)、(c)、(d)這3組小目標(biāo)中,(c)組雖然均能檢測(cè)出破損目標(biāo),但Yolov5原網(wǎng)絡(luò)檢測(cè)出的破損置信度較低,僅為0.59,改進(jìn)的Yolov5能夠達(dá)到較為理想的0.80,而在(b)、(d)兩組中,Yolov5并未檢測(cè)出破損目標(biāo)。可見,改進(jìn)的Yolov5對(duì)醫(yī)廢包裝袋破損尤其是小目標(biāo)破損具有可觀的檢測(cè)效果。
為解決醫(yī)廢包裝袋破損檢測(cè)尤其是小破損目標(biāo)檢測(cè)漏檢率高、精度低的問題。本文基于Yolov5提出一種改進(jìn)的Yolov5算法。首先,在原Yolov5的三尺度檢測(cè)網(wǎng)絡(luò)中增加更淺層的尺度形成四尺度檢測(cè)網(wǎng)絡(luò);其次,使用K-means算法在自制的醫(yī)廢包裝袋破損數(shù)據(jù)集上重新聚類先驗(yàn)框;接著,引入空間注意力和通道注意力相結(jié)合的CBAM結(jié)構(gòu);最后,通過將本文改進(jìn)Yolov5與其它主流網(wǎng)絡(luò)做對(duì)比實(shí)驗(yàn),結(jié)果表明,本文改進(jìn)的Yolov5對(duì)醫(yī)廢包裝袋破損檢測(cè)具有更好的檢測(cè)精度,尤其對(duì)小目標(biāo)破損的檢測(cè)效果更顯著,這對(duì)實(shí)際場景中其它對(duì)象的缺陷檢測(cè)具有一定借鑒意義。但由于條件限制,本文自制的數(shù)據(jù)集醫(yī)廢種類較為單一且數(shù)據(jù)集的拍攝環(huán)境較為理想,因此下一步主要工作在于采集真實(shí)場景下種類更為豐富的醫(yī)廢包裝袋破損數(shù)據(jù),以進(jìn)一步提升模型的魯棒性和泛化能力。
計(jì)算機(jī)工程與設(shè)計(jì)2022年12期