王小鑄,于蓮芝
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
近年來,基于深度學(xué)習(xí)的方法在人工智能領(lǐng)域有較多突破性進(jìn)展,其在計(jì)算機(jī)視覺任務(wù)方面的應(yīng)用有圖像分類、目標(biāo)檢測(cè)以及圖像分割等。目標(biāo)檢測(cè)的核心任務(wù)是找出圖像復(fù)雜背景中所有預(yù)先訓(xùn)練并設(shè)定好的目標(biāo),確定圖像中多個(gè)目標(biāo)的類別和位置,對(duì)每一個(gè)目標(biāo)都給出一個(gè)檢測(cè)框和目標(biāo)類別的檢測(cè)分?jǐn)?shù)。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)被廣泛應(yīng)用于基于深度學(xué)習(xí)的目標(biāo)檢測(cè)中,使目標(biāo)檢測(cè)的發(fā)展進(jìn)入全新高度,也使基于目標(biāo)檢測(cè)的具體任務(wù)被廣泛推廣與使用,例如行人檢測(cè)、車輛檢測(cè)、交通標(biāo)志識(shí)別、人臉識(shí)別和醫(yī)學(xué)影像識(shí)別等[1]。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法以目標(biāo)檢測(cè)模型中是否有區(qū)域提案階段作為劃分依據(jù),將目標(biāo)檢測(cè)模型劃分為雙階段檢測(cè)模型和單階段檢測(cè)模型。
雙階段目標(biāo)檢測(cè)模型也可稱作區(qū)域提案檢測(cè)模型。模型的檢測(cè)任務(wù)由3個(gè)階段組成:區(qū)域提案生成、特征提取和分類預(yù)測(cè)。在區(qū)域提案生成階段,模型一般使用選擇性搜索、EdgeBoxes[2]搜索算法、區(qū)域提案網(wǎng)絡(luò)(Region Proposal Network,RPN)[3]等在檢測(cè)圖像中找出可能包含物體的區(qū)域。在特征提取階段,模型利用深度卷積網(wǎng)絡(luò)提取區(qū)域提案中的目標(biāo)特征。在分類預(yù)測(cè)階段,模型從預(yù)定義的類別標(biāo)簽對(duì)區(qū)域提案進(jìn)行分類和邊框信息預(yù)測(cè)[4]。R-CNN[5](Region-based CNN)檢測(cè)器是雙階段目標(biāo)檢測(cè)的開端,其引入卷積神經(jīng)網(wǎng)絡(luò),放棄了傳統(tǒng)的人為設(shè)計(jì)特征算子,能夠更好地提取特征。在此基礎(chǔ)上, Fast R-CNN[6]進(jìn)一步優(yōu)化整合特征提取、分類、回歸。之后又逐漸迭代更新,出現(xiàn)了Faster R-CNN、Mask R-CNN、Cascade R-CNN等雙階段目標(biāo)檢測(cè)模型,穩(wěn)步提升了模型的檢測(cè)速度和檢測(cè)精度。
雖然雙階段目標(biāo)檢測(cè)模型保持了高效的檢測(cè)能力,但檢測(cè)耗時(shí)無法滿足實(shí)時(shí)性的需求,因此出現(xiàn)了以YOLO算法為代表的單階段目標(biāo)檢測(cè)器。OverFeat[7]是較早的單階段檢測(cè)器,其利用卷積來快速實(shí)現(xiàn)檢測(cè)窗口滑動(dòng),使用同一個(gè)Backbone主干網(wǎng)絡(luò),只需要更改網(wǎng)絡(luò)頭部來分別實(shí)現(xiàn)分類、定位和檢測(cè)。文獻(xiàn)[8]提出了YOLO算法,達(dá)到了實(shí)時(shí)目標(biāo)檢測(cè)的目的。YOLO檢測(cè)器興起之后,越來越多的單階段檢測(cè)器也相繼涌現(xiàn)。針對(duì)YOLO模型中目標(biāo)定位不準(zhǔn)確的問題,文獻(xiàn)[9]提出了更準(zhǔn)確的單階段實(shí)時(shí)檢測(cè)模型SSD(Single Shot MultiBox Detector)。其將YOLO的回歸思想和Faster R-CNN中的錨框機(jī)制結(jié)合,既保持了單階段檢測(cè)器的檢測(cè)速度優(yōu)勢(shì),又平衡了檢測(cè)精度。之后研究人員又相繼發(fā)布了YOLOv2[10]和YOLOv3[11]兩個(gè)版本。
當(dāng)檢測(cè)場(chǎng)景中出現(xiàn)多尺度目標(biāo)時(shí),由于目標(biāo)尺寸跨度較大,無論是單階段檢測(cè)器還是雙階段都只對(duì)中大型目標(biāo)的檢測(cè)效果較好,而對(duì)小尺寸目標(biāo)的檢測(cè)精度不佳,容易誤檢或者漏檢。文獻(xiàn)[12]通過殘差注意力塊提取網(wǎng)絡(luò)前幾層的上下文信息,利用反卷積方式聚合不同尺寸的上下文信息,融入檢測(cè)層中提升小尺寸目標(biāo)的檢測(cè)能力。文獻(xiàn)[13]通過改進(jìn)Mosaic數(shù)據(jù)強(qiáng)方式和替換新的IOU Loss提高檢測(cè)精度,并增加一個(gè)淺層特征輸出提升網(wǎng)絡(luò)對(duì)小尺度目標(biāo)的感知力。文獻(xiàn)[14]改進(jìn)了FPN(Feature Pyramid Networks)特征融合網(wǎng)絡(luò),采用跨層級(jí)聯(lián)的方式防止淺層語(yǔ)義信息缺失,使用并行模式通道和空間注意力加權(quán)來提取注意力信息,并引入Ghost模塊使網(wǎng)絡(luò)輕量化,平衡精度外可防止模型復(fù)雜度增加導(dǎo)致的運(yùn)算量增大問題。文獻(xiàn)[15]構(gòu)建淺層特征增強(qiáng)模塊,使用殘差連接和多尺度卷積組成卷積多路結(jié)構(gòu)提升感受野豐富低層特征的語(yǔ)義信息。重構(gòu)特征融合網(wǎng)絡(luò),提出空間通道級(jí)聯(lián)注意力處理特征圖堆疊信息,放棄冗余信息多的深層特征圖在路徑聚合網(wǎng)絡(luò)(Path Aggregation Network,PAN)上的傳遞,最終輸出兩個(gè)大尺寸特征圖到輸出端。
一般認(rèn)為物體的尺寸相對(duì)于原始圖像的尺寸較小時(shí)為小目標(biāo),部分?jǐn)?shù)據(jù)集對(duì)小目標(biāo)具有明確定義。在Microsoft COCO(Common Objects in Context)數(shù)據(jù)集[16]中,小目標(biāo)被定義為小于32×32像素的物體。分辨率低、所占像素值少和特征信息弱等特點(diǎn)導(dǎo)致檢測(cè)模型無法提取到小目標(biāo)的檢測(cè)信息,因此預(yù)測(cè)精度遠(yuǎn)小于中大型目標(biāo)。本文以MS COCO數(shù)據(jù)集定義的小目標(biāo)尺寸為標(biāo)準(zhǔn),基于YOLOv5s-5.0版本的模型對(duì)主干網(wǎng)絡(luò)、特征提取網(wǎng)絡(luò)和IOU損失進(jìn)行改進(jìn),改進(jìn)網(wǎng)絡(luò)模型如圖1所示,改進(jìn)的內(nèi)容如下:
圖1 YOLOv5s改進(jìn)網(wǎng)絡(luò)Figure 1. YOLOv5s improved network
1)引入卷積自注意力聚合塊,針對(duì)小目標(biāo)任務(wù),采用殘差網(wǎng)絡(luò)的思想提出卷積自注意力聚合殘差塊;
2)基于YOLOv5s的特征提取網(wǎng)絡(luò),引入卷積自注意力聚合殘差塊,加強(qiáng)主干網(wǎng)絡(luò)的特征提取能力,豐富主干網(wǎng)絡(luò)輸出的特征信息;
3)將模型的矩形框計(jì)算損失替換成SIOU Loss,加快模型的訓(xùn)練速度并提高其準(zhǔn)確性。
根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)深度和寬度大小的不同,YOLOv5[17]提出的模型分別是YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x共5種類型,體量由小到大。YOLOv5匯聚了深度學(xué)習(xí)目標(biāo)檢測(cè)框架的優(yōu)良特點(diǎn),并且從發(fā)布至今在不斷更新迭代。該算法主要分為4部分:輸入模塊(Input)、主干網(wǎng)絡(luò)(Backbone)、特征提煉與融合(Neck)和檢測(cè)頭(Head)。
輸入模塊采用了和上一代YOLOv4相同的Mosaic4數(shù)據(jù)增強(qiáng)。通過隨機(jī)縮放、隨機(jī)剪裁和隨機(jī)分布的方法對(duì)4張隨機(jī)選取的圖像進(jìn)行拼接,使模型一次能檢測(cè)的圖片中具有更豐富的檢測(cè)目標(biāo),也提高了樣本中小目標(biāo)的數(shù)量和檢測(cè)效果。
模型主干特征提取網(wǎng)絡(luò)由Focus模塊、Conv卷積模塊、CSP(Cross Stage Partial)模塊[18]和SPP(Spatial Pyramid Pooling)池化金字塔模塊組成,整體延續(xù)了YOLOv4中的CSPDarknet網(wǎng)絡(luò)結(jié)構(gòu)。YOLOv5s-5.0在網(wǎng)絡(luò)頭部使用Focus模塊,用于直接處理輸入圖片。
如圖2所示,Focus模塊將3通道輸入圖像切片并拼接成12通道特征圖,再經(jīng)過一層Conv卷積模塊后輸出。Conv卷積模塊為YOLO中標(biāo)準(zhǔn)的復(fù)合卷積,分為卷積層、歸一化層和激活函數(shù)層。在主干網(wǎng)絡(luò)中的CSP模塊內(nèi)嵌入多個(gè)殘差塊對(duì)輸入特征圖進(jìn)行殘差連接,經(jīng)過CSP模塊主干網(wǎng)絡(luò)輸出3個(gè)不同尺度的特征圖到下一階段(Neck)。SPP池化金字塔模塊采用3個(gè)不同的最大池化層和殘差連接方式,作用在主干網(wǎng)絡(luò)底部來提升感受野。
圖2 Focus模塊Figure 2. Focus module
Neck網(wǎng)絡(luò)由兩部分組成,分別借鑒了自頂向下的特征金字塔網(wǎng)絡(luò)(FPN)[19]結(jié)構(gòu),再通過自底向上的路徑聚合網(wǎng)絡(luò)(PAN)[20]結(jié)構(gòu)。主干網(wǎng)絡(luò)輸出的3種尺寸的特征圖經(jīng)過Neck網(wǎng)絡(luò)可以增強(qiáng)語(yǔ)義信息和定位特征的聚合,使模型的魯棒性更強(qiáng)。
以YOLOv5s為例,待檢測(cè)圖片經(jīng)過前3個(gè)部分后可以獲得3個(gè)不同尺度的加強(qiáng)特征圖,分別是(20,20,512)、(40,40,256)、(80,80,128),然后檢測(cè)頭(Head)模塊利用這3個(gè)特征圖進(jìn)行回歸預(yù)測(cè)和分類預(yù)測(cè)。
在卷積網(wǎng)絡(luò)中使用卷積核提取圖像特征已是機(jī)器視覺任務(wù)中的常用手段。同時(shí),基于自注意力的Vision Transformer證明了Transformer模型在視覺任務(wù)中具有較好的卷積網(wǎng)絡(luò)的競(jìng)爭(zhēng)力。文獻(xiàn)[21]通過證明卷積和自注意力之間的潛在聯(lián)系提出了一個(gè)混合模型ACmix(A mixed model that enjoys the benefit of both self-Attention and Convolution)。其兼顧了兩者的優(yōu)點(diǎn),同時(shí)比兩者聯(lián)合使用時(shí)的計(jì)算開銷小。通過研究發(fā)現(xiàn),卷積操作和自注意力操作都可以歸納成兩個(gè)階段。卷積計(jì)算如下所示。
注意力第1階段為
(1)
注意力第2階段為
(2)
(3)
自注意力第1階段為
(4)
自注意力第2階段為
(5)
將卷積和自注意力分解成兩階段,目的是揭示卷積和自注意力在第1階段均具有相同操作,可以通過1×1的卷積投影輸入特征映射,共享一個(gè)豐富的中間特征集。因此混合模型ACmix按照卷積和自注意力模式對(duì)中間特征信息進(jìn)行重用和聚合,如圖3所示。
圖3 ACmix模型Figure 3. ACmix module
第1階段輸入特征通過3個(gè)1×1的卷積核進(jìn)行投影,獲得3×N的特征圖。第2階段分別進(jìn)行卷積和自注意力操作,此時(shí)卷積路徑和自注意力路徑的輸入都是共享第1階段獲取的信息,最后兩條路徑輸出并相加。模型最終的輸出計(jì)算式為
Fout=αFconv+βFatt
(6)
其中,α和β是兩個(gè)可學(xué)習(xí)的標(biāo)量,控制卷積和自注意力在輸出中的比重。應(yīng)用在淺層網(wǎng)絡(luò)中α>β表示以卷積為主自注意力為輔,在深層網(wǎng)絡(luò)中β>α表示以自注意力為主卷積為輔。
雖然ACmix重新定義了卷積和自注意力機(jī)制聚合使用的新范式,但是為了規(guī)范卷積和自注意力的輸入特征信息,模型第1階段的卷積設(shè)計(jì)相較于獨(dú)立的卷積或者自注意力機(jī)制提取到的信息有所丟失。本文基于ACmix卷積注意力聚合塊進(jìn)行優(yōu)化,根據(jù)殘差連接[22]提出了ResAC(ACmix of Residuals)卷積自注意力聚合殘差塊,其結(jié)構(gòu)如圖4所示。
圖4 ResAC模型Figure 4. ResAC module
ResAC結(jié)構(gòu)借鑒了CSP中殘差塊的樣式,首先輸入特征圖經(jīng)過一個(gè)1×1的卷積核降低通道數(shù),再經(jīng)過ACmix層加強(qiáng)信息的聚合,使用一個(gè)3×3的卷積核做還原,在保持精度的同時(shí)有效降低計(jì)算開銷,緩解了隨著網(wǎng)絡(luò)加深帶來的梯度消失問題。經(jīng)過加強(qiáng)提取后的輸出特征圖和原輸入進(jìn)行加權(quán)和,再經(jīng)過歸一化層和激活函數(shù)后輸出到網(wǎng)絡(luò)的下個(gè)模塊。相較ACmix,ResAC不僅降低了計(jì)算開銷,還使檢測(cè)器訓(xùn)練時(shí)更快收斂,有效提升了預(yù)測(cè)精度。
輸入圖像在經(jīng)過YOLOv5s的主干網(wǎng)絡(luò)后輸出3個(gè)不同尺寸的特征圖,為進(jìn)一步增強(qiáng)主干網(wǎng)絡(luò)對(duì)于中小尺寸目標(biāo)的特征提取能力,本文進(jìn)行了實(shí)驗(yàn)探究。將ResAC內(nèi)嵌在CSPDarknet主干網(wǎng)絡(luò)中,從而形成ResAC-CSPDarknet主干網(wǎng)絡(luò),如圖5所示。
圖5 ResAC-CSPDarknet主干網(wǎng)絡(luò)Figure 5. ResAC-CSPDarknet backbone network
由于ResAC中充分利用了自注意力機(jī)制,使模型對(duì)小尺寸的目標(biāo)更敏感。將ResAC放置在CSP模塊之后加強(qiáng)網(wǎng)絡(luò)的特征提取能力,提高了模型收斂速度。主干網(wǎng)絡(luò)經(jīng)ResAC輸出3種不同尺寸的特征圖,并新引入一個(gè)主干網(wǎng)絡(luò)的輸出特征圖P2。P2輸出的淺層大尺寸特征圖感受野小,包含的位置信息更豐富,可以提取到的小目標(biāo)也更多。如上文所述,ResAC模塊設(shè)置了可學(xué)習(xí)的標(biāo)量,控制卷積和自注意力在主干網(wǎng)絡(luò)不同層次中的比重,例如P3輸出淺層網(wǎng)絡(luò)提取的特征圖,以卷積為主,以自注意力為輔,在特征圖對(duì)目標(biāo)的位置和尺度信息更精確的同時(shí)保證語(yǔ)義信息不會(huì)缺失。
P4和P5輸出深層網(wǎng)絡(luò)提取的特征圖以自注意力為主,以卷積為輔,強(qiáng)化特征圖語(yǔ)義信息并減少了目標(biāo)位置信息的丟失。
基于上述主干網(wǎng)絡(luò)的ResAC-CSPDarknet在引入新的淺層特征之后,輸出4個(gè)尺寸的特征圖到檢測(cè)模型的特征融合網(wǎng)絡(luò)中。因此YOLOv5s的特征融合網(wǎng)絡(luò)(Neck部分)也需要進(jìn)行相應(yīng)的變動(dòng),如圖6所示。
圖6 4-FPN-PAN特征融合增強(qiáng)網(wǎng)絡(luò)Figure 6. 4-FPN-PAN feature fusion enhanced network
FPN使輸入的特征信息自頂向下傳遞,引入更大尺寸的特征圖P2可以保證模型深層網(wǎng)絡(luò)在豐富語(yǔ)義特征的同時(shí)減少目標(biāo)位置和形狀特征信息的丟失。經(jīng)過PAN網(wǎng)絡(luò)把淺層豐富的小目標(biāo)特征補(bǔ)充到深層特征圖中,形成一個(gè)四輸入三輸出的特征融合網(wǎng)絡(luò)。
在YOLOv5s檢測(cè)網(wǎng)絡(luò)中,損失函數(shù)由矩形框損失、置信度損失和分類損失3部分構(gòu)成,其中矩形框損失使用GIOU Loss[23]。GIOU Loss在IOU Loss的基礎(chǔ)上把真實(shí)框和預(yù)測(cè)框包圍的最小矩形框也加入到Loss的計(jì)算中,可以優(yōu)化在兩個(gè)框沒有重疊區(qū)域時(shí)導(dǎo)致IOU和梯度都為0的問題。GIOU原理如圖7所示。
圖7 GIOU LossFigure 7. GIOU Loss
圖7將包圍的最小矩形C的面積設(shè)為S3,將A框和B框的并集區(qū)域設(shè)為S2,陰影的交集區(qū)域?yàn)镾1。
GIOU Loss的計(jì)算式如下所示。
(7)
雖然GIOU相較于原始IOU有所優(yōu)化,但存在收斂速度慢和計(jì)算損失不穩(wěn)定的特點(diǎn)。
因此,本文選擇更高效的SIOU Loss[24]替換模型中的GIOU來計(jì)算矩形框損失。SIOU中加入了真實(shí)框和預(yù)測(cè)框之間的角度度量,并重新定義了懲罰指標(biāo),使模型的訓(xùn)練速度和推理能力都比之前有所提高。SIOU損失函數(shù)的計(jì)算分為角度計(jì)算、距離計(jì)算和形狀計(jì)算3部分。角度計(jì)算如圖8所示。
圖8 角度計(jì)算Figure 8. Angle calculation
SIOU Loss添加了真實(shí)框Bgt和預(yù)測(cè)框B中心間的角度感知,減少了距離相關(guān)的額外變量,其計(jì)算式如下
(8)
(9)
(10)
(11)
其中,Λ是角度計(jì)算的最終結(jié)果;x是圖中真實(shí)框和預(yù)測(cè)框中心點(diǎn)的角度α的正弦值;d是它們之間的距離;Bh是兩點(diǎn)間的相對(duì)高度差。由于加入了角度計(jì)算,所以SIOU的距離計(jì)算和GIOU的有所不同,Δ距離計(jì)算如圖9所示,計(jì)算式如下所示
圖9 距離成本Figure 9. Distance cost
(12)
Δ=∑t=x,y(1-e-γρt)=2-e-γρx-e-γρy
(13)
其中,ρx和ρy是真實(shí)框和預(yù)測(cè)框的中心點(diǎn)在x軸和y軸上的相對(duì)距離與最小外接矩形寬高的比值的平方;e為歐拉數(shù)。
Ω形狀計(jì)算式如下所示
(14)
(15)
式中,w、h和wgt、hgt分別是預(yù)測(cè)框和真實(shí)框的寬高;θ為形狀計(jì)算式中的注意力系數(shù),不同數(shù)據(jù)集的值也不同,本文一般將其定義在2~6之間。最后,SIOU Loss由上述3部分組成,計(jì)算式如下
(16)
式中,IOU即原始的IOU計(jì)算。
模型研究使用PASCALVOC2007+VOC2012[25]數(shù)據(jù)集進(jìn)行訓(xùn)練,數(shù)據(jù)集中包括20個(gè)分類(aero、bicycle、bird、boat、bottle、bus、car、cat、chair、cow、table、dog、horse、motorbike、person、plant、sheep、sofa、train、TV) ,共21 502張圖片。訓(xùn)練集選用VOC2007+VOC2012數(shù)據(jù)集的train + valuation部分,共16 551張圖片,測(cè)試集用VOC 2007數(shù)據(jù)集的Test一部分,共4 952張圖片。為了進(jìn)一步體現(xiàn)YOLOv5s改進(jìn)模型在小型目標(biāo)檢測(cè)上取得的效果,引入MS COCO數(shù)據(jù)集進(jìn)行驗(yàn)證實(shí)驗(yàn),數(shù)據(jù)集包含80個(gè)分類應(yīng)用在目標(biāo)檢測(cè)任務(wù),共163 957張圖片,其中訓(xùn)練集117 266張圖片,驗(yàn)證集4 952張圖片,測(cè)試集40 670張圖片。MS COCO數(shù)據(jù)集包含了大部分生活中常見的目標(biāo),目標(biāo)數(shù)量較大,目標(biāo)尺寸豐富,數(shù)據(jù)集中的小目標(biāo)占比高,是目前主流的小目標(biāo)檢測(cè)數(shù)據(jù)集。平均每張圖片包含3.5個(gè)類別和 7.7個(gè)實(shí)例目標(biāo),單張圖片只有一個(gè)類別的占比不到20%。
評(píng)估指標(biāo)包括:精確率(Precision,P)、召回率(Recall,R)、平均精確度(Average Precision,AP)、平均精確度均值(mean Average Precision,mAP)、模型參數(shù)(Params)、運(yùn)算量(FLOPs)。上述模型評(píng)價(jià)指標(biāo)計(jì)算式依次如下所示
(17)
(18)
(19)
(20)
式中,AP值指P-R坐標(biāo)系中曲線下方的面積;P為有軸R為x軸;mAP為不同AP下求和并求均值得到的指標(biāo);精確率P為TP(真正類)除以TP與FP(假正類)的和;召回率R為TP除以TP與FN(假負(fù)類)的和,它們之間的關(guān)系如圖10所示。
圖10 混淆矩陣Figure 10. Confusion matrix
從IOU評(píng)分的角度看,假設(shè)IOU閾值設(shè)置為0.5,TP為IOU>0.5的檢測(cè)框數(shù)量,FP為IOU≤0.5的檢測(cè)框數(shù)量,FN為檢測(cè)到當(dāng)前目標(biāo)框的數(shù)量。模型參數(shù)和運(yùn)算量可以直觀評(píng)價(jià)檢測(cè)器中需要訓(xùn)練的參數(shù)大小和模型的計(jì)算復(fù)雜度。
本文所提實(shí)驗(yàn)?zāi)P途谕粋€(gè)實(shí)驗(yàn)環(huán)境下測(cè)試。實(shí)驗(yàn)環(huán)境基于Ubuntu18.04操作系統(tǒng),訓(xùn)練的網(wǎng)絡(luò)模型運(yùn)行在一張NVIDIA GeForce RTX3090顯卡上,顯存大小為24 GB, CPU配置為AMD EPYC 7601。檢測(cè)模型運(yùn)行在Python 3.8.10語(yǔ)言環(huán)境下,CUDA版本為11.6,torch版本為1.7.1。
本文所提模型在訓(xùn)練時(shí)加載YOLOv5s基于MS COCO數(shù)據(jù)集的預(yù)訓(xùn)練模型,訓(xùn)練迭代次數(shù)為120,每次迭代的Batch Size大小為16。采用隨機(jī)快速下降SGD優(yōu)化器,動(dòng)量參數(shù)設(shè)置為0.937,權(quán)值衰減設(shè)置為0.000 5。采用余弦退火算法更新學(xué)習(xí)率,初始學(xué)習(xí)率設(shè)置為0.01。
根據(jù)兩種不同的數(shù)據(jù)集,將結(jié)果分析分為3部分:PASCAL VOC實(shí)驗(yàn)對(duì)比分析、消融實(shí)驗(yàn)分析和MS COCO對(duì)照實(shí)驗(yàn)分析。
3.3.1 PASCAL VOC實(shí)驗(yàn)對(duì)比分析
為了證明本文基于YOLOv5s的改進(jìn)有效地提升了檢測(cè)器的檢測(cè)精度,本文將近些年出現(xiàn)的單階段檢測(cè)模型以及個(gè)別輕量化模型作為實(shí)驗(yàn)對(duì)照組。各對(duì)比模型與本文改進(jìn)模型都在統(tǒng)一的實(shí)驗(yàn)環(huán)境下進(jìn)行模型訓(xùn)練,訓(xùn)練時(shí)每個(gè)模型都預(yù)加載其對(duì)應(yīng)的基于MS COCO數(shù)據(jù)集預(yù)訓(xùn)練模型。為了與改進(jìn)模型訓(xùn)練條件保持一致,各對(duì)比實(shí)驗(yàn)訓(xùn)練迭代統(tǒng)一為120個(gè)epochs,每次迭代的Batch Size大小為16。使用SGD優(yōu)化,學(xué)習(xí)率動(dòng)量為0.937,權(quán)值衰減設(shè)置為0.000 5。采用余弦退火算法更新學(xué)習(xí)率,初始學(xué)習(xí)率設(shè)置為0.01。各實(shí)驗(yàn)?zāi)P偷膶?duì)比如下。
在各模型檢測(cè)的最佳輸入尺寸下,將本文所提改進(jìn)模型與SSD、YOLOv3、YOLOv4-tiny、YOLOv4、YOLOv5s進(jìn)行了比較。由表1可知,在mAP50性能指標(biāo)下,改進(jìn)模型檢測(cè)能力明顯高于SSD、YOLOv3和YOLOv4-tiny,分別提升了0.089、0.021、0.091。相較于Baseline(YOLOv5s)模型,改進(jìn)模型的mAP50提升了0.012,mAP50:95提升了0.008,其中mAP50值達(dá)到了0.872,僅比YOLOv4模型低了0.008。本文所提改進(jìn)模型參數(shù)量?jī)H有YOLOv4模型參數(shù)量的15%左右,因此其所需要的計(jì)算消耗小于YOLOv4。
表1 各模型最佳輸入尺寸下在VOC數(shù)據(jù)集的比較Table 1. Comparison of VOC data sets under the best input size of each model
為進(jìn)一步定量分析,在規(guī)范相同輸入尺寸的條件下再對(duì)上述各模型進(jìn)行一組對(duì)照實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2所示。
表2 各模型統(tǒng)一輸入尺寸下在VOC數(shù)據(jù)集的比較Table 2. Comparison of VOC data sets under the unified input size of each model
如表2所示,在各對(duì)比模型統(tǒng)一輸入圖像尺寸640×640分辨率的情況下又進(jìn)行了一組對(duì)比實(shí)驗(yàn)。在各實(shí)驗(yàn)?zāi)P痛_認(rèn)后,其模型參數(shù)量保持不變,因此將評(píng)價(jià)指標(biāo)參數(shù)量替換成運(yùn)算量再次分析。本文所提改進(jìn)模型優(yōu)于對(duì)比實(shí)驗(yàn)中的其他模型。對(duì)比于運(yùn)算量最小的YOLOv4-tiny模型,本文模型在僅增加了一些運(yùn)算量的條件下,顯著提升了mAP50檢測(cè)指標(biāo),證明本文將ResAC卷積自注意力聚合殘差塊引入YOLOv5s特征提取網(wǎng)絡(luò)可提升網(wǎng)絡(luò)特征提取能力。
表2的模型統(tǒng)一輸入實(shí)驗(yàn)對(duì)比后,為了充分證明本文所提模型在小目標(biāo)檢測(cè)方面的進(jìn)步,在表2中各模型訓(xùn)練完成的基礎(chǔ)下,分別對(duì)其進(jìn)行小目標(biāo)檢測(cè)精度測(cè)試。測(cè)試方式借鑒小目標(biāo)檢測(cè)實(shí)驗(yàn)方法[12],采用MS COCO的評(píng)價(jià)標(biāo)準(zhǔn),使用各檢測(cè)模型對(duì)VOC數(shù)據(jù)集中像素值小于等于32×32的目標(biāo)進(jìn)行檢測(cè),檢測(cè)指標(biāo)為Small(mAP50∶95),實(shí)驗(yàn)數(shù)據(jù)如表3所示。
表3 小目標(biāo)檢測(cè)Table 3. Small object detection
如表3所示,本文所提網(wǎng)絡(luò)模型在32×32像素的小目標(biāo)檢測(cè)性能上優(yōu)于其它對(duì)比模型。對(duì)YOLOv5s原模型和本文改進(jìn)模型做了可視化的檢測(cè)效果比較。如圖11和圖12所示,圖11為YOLOv5s原型的檢測(cè)效果,圖12為本文改進(jìn)后的模型檢測(cè)效果。
圖11 YOLOv5s檢測(cè)結(jié)果Figure 11. YOLOv5s detection results
圖12 本文算法檢測(cè)結(jié)果Figure 12. The proposed algorithm detection results
3.3.2 消融實(shí)驗(yàn)分析
經(jīng)過上述實(shí)驗(yàn)對(duì)比,本文改進(jìn)網(wǎng)絡(luò)在VOC數(shù)據(jù)集下mAP50和mAP50:95性能指標(biāo)都比原網(wǎng)絡(luò)有所進(jìn)步。為進(jìn)一步探究改進(jìn)網(wǎng)絡(luò)模型的各改進(jìn)模塊對(duì)模型檢測(cè)性能的影響,本文在YOLOv5s的原型基礎(chǔ)上設(shè)置了多組消融實(shí)驗(yàn),結(jié)果如表4所示。
表4 消融實(shí)驗(yàn)Table 4. Ablation experiment
表4中的ResAC表示YOLOv5s特征提取網(wǎng)絡(luò)內(nèi)嵌ResAC增強(qiáng)塊;4-FPN+PAN表示四輸入三輸出的特征融合網(wǎng)絡(luò);SIOU Loss表示改進(jìn)模型替換后的IOU Loss;√表示YOLOv5s網(wǎng)絡(luò)中加入所提的改進(jìn)模塊。由上文敘述可知,YOLOv5s在VOC數(shù)據(jù)集中的mAP50為0.86即本文改進(jìn)模型的檢測(cè)性能基準(zhǔn)線。由實(shí)驗(yàn)?zāi)P?可以看出,網(wǎng)絡(luò)中內(nèi)嵌ResAC后檢測(cè)指標(biāo)mAP50提高了0.005,說明卷積自注意力聚合殘差塊是提升模型檢測(cè)能力的主要部分。實(shí)驗(yàn)?zāi)P?顯示引入淺層網(wǎng)絡(luò)的大尺寸特征圖對(duì)提升檢測(cè)精度沒有幫助。實(shí)驗(yàn)?zāi)P?證明了在改換最新的SIOU Loss后,模型的mAP50提升了0.002。實(shí)驗(yàn)?zāi)P?和模型5證明了在ResAC-CSPDarknet網(wǎng)絡(luò)的基礎(chǔ)下,改變特征融合網(wǎng)絡(luò)或者改變IOU Loss都有效提升了模型的檢測(cè)性能。
3.3.3 MS COCO對(duì)照實(shí)驗(yàn)分析
通過實(shí)驗(yàn)對(duì)比,證明本文模型在VOC數(shù)據(jù)集上檢測(cè)性能明顯提升。本文為了深入證明改進(jìn)模型相對(duì)原始模型在數(shù)據(jù)集上具有普適性,在MS COCO數(shù)據(jù)集上做了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表5所示。
表5 MS COCO數(shù)據(jù)集對(duì)比實(shí)驗(yàn)Table 5. MS COCO dataset comparison experiment
從表5可以看出,本文模型在mAP50檢測(cè)指標(biāo)下要比YOLOv5s高出0.01,在mAP50∶95指標(biāo)下相對(duì)持平,在小目標(biāo)檢測(cè)指標(biāo)Small(mAP50∶95)下比原模型高。該結(jié)果證明在多尺度大數(shù)據(jù)集下,改進(jìn)模型仍然優(yōu)于YOLOv5s的檢測(cè)性能。
本文基于YOLOv5s-5.0,針對(duì)多尺度公開數(shù)據(jù)集中的小目標(biāo)提出一種改進(jìn)檢測(cè)算法。分別從強(qiáng)化網(wǎng)絡(luò)特征提取、優(yōu)化特征融合網(wǎng)絡(luò)和改進(jìn)檢測(cè)器矩形框損失函數(shù)3部分對(duì)新模型做出優(yōu)化,有效提升了YOLOv5s的檢測(cè)精度。改進(jìn)模型的小尺寸目標(biāo)檢測(cè)性能在VOC數(shù)據(jù)集和MS COCO數(shù)據(jù)集中均有提升。但是向模型特征提取網(wǎng)絡(luò)中引入自注意力計(jì)算仍增加了檢測(cè)器的計(jì)算開銷,進(jìn)而影響模型檢測(cè)的時(shí)效性。后續(xù)研究將考慮對(duì)網(wǎng)絡(luò)進(jìn)行輕量化處理,以便平衡檢測(cè)精度與檢測(cè)速度。