999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于改進(jìn)YOLOv3的多尺度目標(biāo)檢測算法

2022-08-24 06:30:06張麗瑩龐春江王新穎李國亮
計算機(jī)應(yīng)用 2022年8期
關(guān)鍵詞:特征檢測模型

張麗瑩,龐春江,王新穎*,李國亮

(1.華北電力大學(xué)(保定)計算機(jī)系,河北保定 071003;2.國網(wǎng)山東省電力公司棗莊供電公司,山東棗莊 277800)

0 引言

目標(biāo)檢測在計算機(jī)視覺領(lǐng)域的發(fā)展中發(fā)揮著不可或缺的作用,主要目標(biāo)是確定所研究的對象在圖像中所處的位置,并且表明所涉及對象的類別。作為模式識別中最主要的算法,它的出現(xiàn)為自動識別物體開辟了一種創(chuàng)新方式,在許多領(lǐng)域和特定的應(yīng)用場景中都發(fā)展出較為成熟的解決方案。

近年來,隨著計算機(jī)硬件技術(shù)的顯著提升和深度學(xué)習(xí)理論在圖像領(lǐng)域的不斷深入,基于深度學(xué)習(xí)的目標(biāo)檢測算法的發(fā)展越來越成熟,因在特征表達(dá)能力和時間效率等方面都取得了突破性的進(jìn)展,具有更好的魯棒性和檢測精度,在大多應(yīng)用場景下已成為圖像識別的首選方法。目前常見的基于深度學(xué)習(xí)的目標(biāo)檢測算法一般分為兩類:主要是以R-CNN(Region-Convolutional Neural Network)為代表的基于候選區(qū)域提取的兩階段算法[1-3]和以YOLO(You Only Look Once)[4-7]、SSD(Single Shot multibox Detector)[8-10]、CenterNet[11]等為代表的基于回歸的一階段算法。其中,Redmon 等[6]創(chuàng)建了YOLOv3 算法,該算法使用了一種分類效果更好的網(wǎng)絡(luò)結(jié)構(gòu)Darknet-53,利用更強(qiáng)大的網(wǎng)絡(luò)提取目標(biāo)特征并生成邊界回歸,利用殘差模塊進(jìn)一步深化了網(wǎng)絡(luò)結(jié)構(gòu),保證了模型檢測的準(zhǔn)確性和時效性。

雖然基于深度學(xué)習(xí)的目標(biāo)檢測算法在各領(lǐng)域得到廣泛應(yīng)用,但對于多尺度目標(biāo)檢測特別是小目標(biāo)檢測仍是一項具有挑戰(zhàn)性的任務(wù)。隨著網(wǎng)絡(luò)層數(shù)的不斷加深,雖然在特征表達(dá)方面有所增強(qiáng),但是淺層信息卻未能得到充分利用,對目標(biāo)進(jìn)行精確定位的能力不足。同時小目標(biāo)的有效像素很少,只攜帶一些不完整的特征,經(jīng)過多次下采樣和池化操作后,相當(dāng)多的特征信息會丟失[12]。YOLOv3 作為一種代表性的單階段目標(biāo)檢測算法,當(dāng)目標(biāo)檢測背景復(fù)雜,多尺度且姿態(tài)多樣時,YOLOv3 易造成小目標(biāo)的漏檢和誤檢,檢測能力有待提升。

從目前的研究來看,處理多尺度目標(biāo)檢測問題可以分為以下幾種方法:

1)采用經(jīng)典的方法將網(wǎng)絡(luò)提取的特征信息進(jìn)行融合。文獻(xiàn)[6]通過特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network,F(xiàn)PN)實現(xiàn)多尺度目標(biāo)的特征融合,來提升特征網(wǎng)絡(luò)對多尺度目標(biāo)的檢測能力;文獻(xiàn)[13]將注意力機(jī)制融入到改進(jìn)的Inception 結(jié)構(gòu)中,使網(wǎng)絡(luò)更加收斂,實現(xiàn)多尺度融合,從而提高檢測的精度;文獻(xiàn)[14]通過嵌入注意力和特征交織模塊使特征圖自主學(xué)習(xí)每個通道的權(quán)重,增強(qiáng)關(guān)鍵特征。

2)利用反卷積對深度特征圖進(jìn)行擴(kuò)展。文獻(xiàn)[15]在主干網(wǎng)絡(luò)中引入混合空洞卷積(Hybrid Dilated Convolution,HDC)增大淺層特征圖的感受野,并與深層網(wǎng)絡(luò)特征融合以改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),提升模型對小目標(biāo)的檢測能力;文獻(xiàn)[16]引入擴(kuò)張卷積和自我注意模塊(Self-Attention Module,SAM),提升網(wǎng)絡(luò)對上下文信息的利用率。

3)對損失函數(shù)的優(yōu)化。Focal loss[17]中利用平衡因子,來平衡正負(fù)樣本的損失,降低大量負(fù)樣本在訓(xùn)練過程中所占比重,使模型在訓(xùn)練時可以集中在難分及錯分的樣本上;文獻(xiàn)[18]通過將預(yù)測框長寬比擬合成目標(biāo)框的長寬比的LOSSCIoU提升目標(biāo)的定位能力。

這些算法在一定程度上解決了目標(biāo)尺度變化的問題,提高了對小目標(biāo)的檢測精度,但是沒能考慮到檢測時存在尺度變化差異的問題,并且整體算法的計算量大、魯棒性差,不能滿足對小目標(biāo)精確的檢測要求。

針對上述問題,本文在分析YOLOv3 算法優(yōu)缺點的基礎(chǔ)上,提出了一種基于改進(jìn)YOLOv3 的多尺度目標(biāo)檢測算法。首先,在特征提取網(wǎng)絡(luò)中,引入密集連接模塊,實現(xiàn)低高層特征的復(fù)用集成,減少模型參數(shù)數(shù)量,并采用殘差模塊進(jìn)一步深化網(wǎng)絡(luò)結(jié)構(gòu),添加注意力機(jī)制,利用高效的通道注意力模塊實現(xiàn)不降維的跨通道交互;在特征融合網(wǎng)絡(luò)中,考慮到多次下采樣后小目標(biāo)的大部分信息都會丟失,設(shè)計雙向的FPN,融合豐富的上下文信息,以彌補(bǔ)小目標(biāo)的缺失特征。為了實現(xiàn)準(zhǔn)確的邊界框回歸,將YOLOv3 算法中的位置損失函數(shù)替換為GIoU(Generalized Intersection over Union),訓(xùn)練過程中具有更快、更準(zhǔn)確的回歸,使檢測算法對小目標(biāo)更友好。

1 YOLOv3算法

1.1 網(wǎng)絡(luò)結(jié)構(gòu)

與YOLO 模型相比,YOLOv3 算法的主要改進(jìn)是網(wǎng)絡(luò)結(jié)構(gòu)的調(diào)整,采用新的主干網(wǎng)絡(luò)Darknet-53 進(jìn)行特征提取,它是由一個DBL(Darkbetconv2d-BN-Leaky)模塊和五個殘差模塊組成,如圖1 所示。殘差疊加的每個主體賦予不同的系數(shù),分別為1、2、8、8、4。殘差疊加完成后,將特征映射輸出到下一個殘差模塊,繼續(xù)進(jìn)行特征提取操作。殘差網(wǎng)絡(luò)的加入,一方面保證了網(wǎng)絡(luò)結(jié)構(gòu)在更復(fù)雜的情況下仍然收斂,網(wǎng)絡(luò)越深入,特征表達(dá)越好,有效改善了分類檢測的效果,特別是對于小目標(biāo)的檢測;另一方面,殘差網(wǎng)絡(luò)中的1×1 卷積在一定程度上減少了參數(shù)量和計算量,這與ResNet(deep Residual Network)結(jié)構(gòu)相似[19]。同時,引入了特征金字塔網(wǎng)絡(luò)(FPN)的多層次預(yù)測結(jié)構(gòu)[6],輸出三種大小不同的特征圖,分別為13×13、26×26、53×53,實現(xiàn)多尺度檢測。網(wǎng)格單元越精細(xì),被檢測的物體就越精準(zhǔn)。YOLOv3 整體網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。

圖1 DBL和殘差模塊的結(jié)構(gòu)Fig.1 Structure of DBL and residual modules

圖2 YOLOv3的整體結(jié)構(gòu)Fig.2 Overall structure of YOLOv3

1.2 損失函數(shù)

損失函數(shù)用于判斷預(yù)測值與真實值的差值,它是代表模型性能的重要參數(shù)之一。在模型的訓(xùn)練中,不斷調(diào)整網(wǎng)絡(luò)中的參數(shù),將損失函數(shù)優(yōu)化到最小,損失值越小,模型的魯棒性越好。YOLOv3 算法的損失函數(shù)是在YOLOv2 的基礎(chǔ)上所作出的改進(jìn),其中最關(guān)鍵的變動是分類損失的替換,使用了二分交叉熵,計算公式如下:

其中:第一項目標(biāo)定位損失函數(shù)(中心坐標(biāo)預(yù)測誤差、邊界框預(yù)測誤差)使用均方差進(jìn)行對目標(biāo)框的回歸;在第二項置信度損失函數(shù)中,分為有目標(biāo)和無目標(biāo)兩種情況,在沒有包含目標(biāo)的損失中引入權(quán)重系數(shù);第三項分類損失函數(shù)中,同樣使用交叉熵?fù)p失,降低計算的復(fù)雜度。LOSS函數(shù)如下所示:

2 改進(jìn)的YOLOv3算法

傳統(tǒng)YOLOv3 算法通過輸出三幅大小不同特征圖像來融合深層特征和淺層特征,提高了目標(biāo)檢測能力,具有較高的檢測精度。但是對于多尺度尤其是小目標(biāo)的檢測,YOLOv3 算法雖能檢測到大部分目標(biāo),但是檢測效果并不理想,存在誤檢和漏檢的問題。由于攜帶的有效像素少,特征不明顯,YOLOv3 算法不能很好地提取圖像的特征信息。所以本文在特征提取網(wǎng)絡(luò)、多尺度特征融合、減少網(wǎng)絡(luò)層數(shù)等方面進(jìn)行改進(jìn),提高目標(biāo)檢測的精度。

2.1 基礎(chǔ)網(wǎng)絡(luò)改進(jìn)

在YOLOv3 算法中,Darknet-53 利用殘差網(wǎng)絡(luò)的思想,采用大量1×1 的卷積減少了每個卷積的通道,殘差模塊的設(shè)計,降低了梯度爆炸的風(fēng)險,增強(qiáng)網(wǎng)絡(luò)對特征信息的學(xué)習(xí),在保持速度的同時,減少了計算量,有效地提高了檢測的準(zhǔn)確性。但是隨著網(wǎng)絡(luò)結(jié)構(gòu)的加深,模型中的淺層特征信息并未得到充分利用,缺乏多尺度特征提取,導(dǎo)致了大量小目標(biāo)位置信息的丟失。此外,冗余的網(wǎng)絡(luò)結(jié)構(gòu)和過多的參數(shù)會導(dǎo)致模型的復(fù)雜訓(xùn)練,增加對數(shù)據(jù)需求,降低檢測速度。

密集連接網(wǎng)絡(luò)(Dense Convolutional Network,DenseNet)[20]是在保留特征信息的前提下將所有層直接連接在一起,即每一層的輸入是之前所有層的輸出,使整個網(wǎng)絡(luò)層與層之間的信息流最大化。DenseNet 的核心思想是通過通道級聯(lián)的方式,將淺層的特征映射轉(zhuǎn)移到后續(xù)連接緊密的模塊中,減輕梯度消失問題,進(jìn)一步增強(qiáng)了特征復(fù)用,更加有效地利用特征;并且網(wǎng)絡(luò)很窄,減少了參數(shù)量,有助于抑制過擬合的問題,以更少的參數(shù)和計算成本獲得比ResNet 更好的性能。YOLOv3 算法的特征提取網(wǎng)絡(luò)由5 個殘差模塊組成。本文將前兩個殘差模塊替換為兩個密集連接模塊,以增加層與層之間的信息流動。通過從兩個密集模塊中提取特征,考慮到圖像的淺層語義特征和深層語義特征,將淺層特征傳遞到深層網(wǎng)絡(luò)中,實現(xiàn)特征的復(fù)用和融合;并通過殘差模塊進(jìn)一步深化網(wǎng)絡(luò)結(jié)構(gòu),減少模型參數(shù)的數(shù)量,保證模型檢測的準(zhǔn)確性和時效性。

密集連接網(wǎng)絡(luò)由密集模塊和過渡層組成,由圖3 所示。密集模塊中層與層之間的特征關(guān)系可以表示為:

圖3 密集連接網(wǎng)絡(luò)Fig.3 DenseNet

其中:[x0,x1,…,xl-1]表示將0 到l-1 層的輸出特征圖進(jìn)行通道的合并。此外,過渡層級聯(lián)多個密集模塊,由一個卷積單元和2×2 的平均池化組成,在不同卷積層生成的特征映射之間找到一個有效的組合,降低計算的復(fù)雜度。

為了實現(xiàn)通道間的特征加權(quán),確保更多有用的信息被發(fā)送到后續(xù)層進(jìn)行進(jìn)一步的特征提取,擠壓和激勵網(wǎng)絡(luò)[21]在2017 年由Hu 等提出。通過學(xué)習(xí)全局特征,對通道間的卷積特征進(jìn)行精確建模,重加權(quán)特征映射,從而提高了網(wǎng)絡(luò)的表達(dá)能力。SE Block(Squeeze-and-Excitation Block)的引入提升模型對通道的敏感性,聚焦于特征通道之間的關(guān)系,根據(jù)不同的權(quán)重增加對有用特征的關(guān)注程度。同時這種方式抑制了對當(dāng)前任務(wù)沒有用處的特征,使得在不增加網(wǎng)絡(luò)深度的前提下提高神經(jīng)網(wǎng)絡(luò)實現(xiàn)任務(wù)的準(zhǔn)確性。SE Block 主要包括兩個操作,分別是Squeeze 和Excitation。Squeeze 通過全局平均池化的方式進(jìn)行特征壓縮,得到全局描述特征;隨后,對全局特征進(jìn)行Excitation,學(xué)習(xí)各個通道之間的關(guān)系,通過參數(shù)的設(shè)置,來為不同特征通道之間生成權(quán)重;最后Scale 操作利用Excitation 所獲得的結(jié)果乘到原始特征上,如圖4 所示。

圖4 SE Block的基本結(jié)構(gòu)Fig.4 Basic structure of SE Block

因此,本文對Darknet-53 的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行了改進(jìn),改進(jìn)的主干網(wǎng)絡(luò)如表1 所示。將疊加殘差模塊的數(shù)量改為5、5、2、2、2,降低模型的運(yùn)算量。在傳輸模塊中增加了1×1 卷積核。通過改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),提高目標(biāo)檢測分類速度。同時,利用深度可分離卷積代替普通卷積,顯著降低卷積層的計算成本,獲得更多的語義信息,提高網(wǎng)絡(luò)的檢測效果。

表1 改進(jìn)的主干網(wǎng)絡(luò)Tab.1 Improved backbone network

2.2 改進(jìn)的FPN

YOLOv3 算法采用FPN 結(jié)構(gòu),利用多尺度特征映射來進(jìn)行預(yù)測。特征金字塔集成了深淺層特征映射的優(yōu)點,將低分辨率、語義較強(qiáng)的特征和高分辨率、語義較弱但空間信息豐富的特征進(jìn)行融合,使用不同分辨率的特征圖檢測不同大小的目標(biāo)。然而該結(jié)構(gòu)只包含了單向的特征融合過程,雖增強(qiáng)了語義信息,但對定位信息沒有傳遞,丟失了大量細(xì)節(jié)信息,難以滿足精確的目標(biāo)定位任務(wù)。因此本文改進(jìn)的FPN 增加了自上而下的特征融合信息流,將淺層的強(qiáng)定位特征傳遞下去,融合不同層次的特征使提取的特征更加豐富,對提高檢測性能,特別是小目標(biāo)的檢測性能非常重要。改進(jìn)后的特征融合網(wǎng)絡(luò)如圖5 所示。

從圖5 可以看出,本文引入了第二個Dense Block 提取的淺層特征信息,并在原YOLOv3 中存在的自下而上的特征融合策略上增加了自上而下的特征融合路徑。整體改進(jìn)的FPN 流程如下:首先,最底層的殘差模塊(13,13,1 024)提取的特征圖首先經(jīng)過5 次卷積并保留原特征Feature Map1,再進(jìn)行2 倍上采樣和1×1 的卷積擴(kuò)充通道,和上一個殘差模塊(26,26,512)進(jìn)行Concat;經(jīng)過3 次卷積并保留原特征Feature Map2,隨后進(jìn)行2 倍上采樣和1×1 的卷積擴(kuò)充通道,與上一個殘差模塊進(jìn)行Concat;經(jīng)過3 次卷積并保留原特征Feature Map3,隨后進(jìn)行2 倍上采樣和1×1 的卷積擴(kuò)充通道,與上一個密集模塊進(jìn)行Concat;進(jìn)行3 次卷積后保留原特征Feature Map4;3 次卷積后進(jìn)行下采樣并與Feature Map3 進(jìn)行concat,進(jìn)行3 次卷積保留原特征圖Feature Map5;經(jīng)過一次下采樣后與Feature Map2 進(jìn)行Concat 后進(jìn)行3 次卷積保留原特征Feature Map6;經(jīng)過下采樣與Feature Map1 進(jìn)行Concat,進(jìn)行3 次卷積保留原特征Feature Map7;最后將Feature Map4、Feature Map5、Feature Map6、Feature Map7 送入YOLO Head 得到四個不同尺度的特征預(yù)測層。

圖5 改進(jìn)的FPNFig.5 Improvd FPN

2.3 多尺度檢測

YOLOv3 算法采用多尺度檢測,最終輸出三種特征尺度,分別是13×13、26×26、52×52。但當(dāng)面對尺度較大的目標(biāo)時,由于小目標(biāo)的目標(biāo)區(qū)域較小,攜帶的有效信息在經(jīng)過多次卷積和下采樣后造成信息丟失,最終檢測準(zhǔn)確率降低。針對此問題,本文在多尺度檢測基礎(chǔ)上進(jìn)行改進(jìn),通過增加低維的尺度檢測來增強(qiáng)對淺層特征的學(xué)習(xí)能力,由原來的3 尺度檢測變?yōu)? 尺度檢測,添加一個104×104 層,在保留深層語義信息的基礎(chǔ)上獲得淺層特征信息。低維尺度預(yù)測層的加入雖增加了模型的復(fù)雜度,在訓(xùn)練時影響了檢測速度,但是最終實驗結(jié)果表明,算法檢測的準(zhǔn)確率得到了一定程度的提升。

2.4 損失函數(shù)的改進(jìn)

在YOLOv3 算法中,使用均方誤差(Mean-Square Error,MSE)作為目標(biāo)框定位損失函數(shù),但MSE 損失函數(shù)易受到目標(biāo)尺度的影響。交并比(Intersection over Union,IoU)作為目標(biāo)檢測中性能指標(biāo)常用的函數(shù),在位置回歸中,通過比較真實框和預(yù)測框框之間的并集和交集之比,達(dá)到反映預(yù)測框檢測效果的目的,且具有尺度不變性的特性,公式如下所示:

但是IoU 也存在一定的局限性。比如,當(dāng)真實框和預(yù)測框沒有重疊時,根據(jù)IoU 的計算結(jié)果定義為0,無法通過IoU來預(yù)測兩框之間的距離;而且由于損失為0,網(wǎng)絡(luò)也無法進(jìn)行梯度回歸訓(xùn)練。如圖6 所示,三種情況下IoU 是相等的,但是每種重疊的形式是不同的,反映了IoU 不能準(zhǔn)確地反映兩框之間的覆蓋情況的局限性。

圖6 IoU相等的三種情況Fig.6 Three scenarios with the same IoU

為了解決此問題,本文采用GIoU 代替IoU 來計算損失函數(shù)。GIoU 的計算方式如下所示:

其中:C表示包含A和B的最小矩形面積。根據(jù)計算公式,GIoU 與IoU 取值范圍不同,IoU 是[0,1],而GIoU 的取值范圍是(-1,1]。當(dāng)兩框完全重疊時,最大值為1;當(dāng)兩者之間的距離為無窮大且無交集時,最小值為-1,GIoU 仍然可以計算梯度,在一定程度上GIoU 克服了IoU 作為損失函數(shù)的缺點。同時,由于GIoU 不僅關(guān)注重疊區(qū)域,也關(guān)注非重疊區(qū)域,因此能更好地反映預(yù)測框與真實框的重疊。綜上所述,在損失函數(shù)中使用GIoU 時,可以達(dá)到比IoU 更好的效果,解決了IoU 不能反映重疊方式,無法優(yōu)化IoU 為0 時預(yù)測框的問題,提高算法的檢測精度。

3 實驗與結(jié)果分析

3.1 數(shù)據(jù)集

Pascal VOC 2007 和Pascal VOC 2012是由Pascal VOC(2005—2012)大賽提供的數(shù)據(jù)集。比賽的目標(biāo)主要是圖像目標(biāo)識別,它提供的數(shù)據(jù)集包含20 種不同的對象。

實驗采用Pascal VOC 2007 和Pascal VOC 2012 數(shù)據(jù)集來進(jìn)行訓(xùn)練和測試模型的性能。數(shù)據(jù)集包含20 000 多張圖片。為了提高模型的泛化能力,滿足對多尺度目標(biāo)的檢測要求,所選數(shù)據(jù)集的圖像中包含尺寸大小不一的目標(biāo),其變化程度是不一樣的。同時增加COCO(Common Objects in Context)2014 數(shù)據(jù)集,其包含80 種類別目標(biāo)。相較于Pascal VOC 數(shù)據(jù)集來說,COCO 數(shù)據(jù)集的評估標(biāo)準(zhǔn)更加嚴(yán)格。IoU 從0.5 到0.95 這一區(qū)間每變化0.05 就測試一次平均準(zhǔn)確率(Average Precision,AP)[22],最后求出10 次測量結(jié)果的平均值作為最終的AP。模型使用預(yù)先訓(xùn)練過的Darknet-53 的參數(shù)為模型特征提取網(wǎng)絡(luò)的初始化參數(shù)。在訓(xùn)練開始時,先凍結(jié)一部分進(jìn)行訓(xùn)練,加快速度,也可以防止在訓(xùn)練初期權(quán)值被破壞,初始學(xué)習(xí)率為0.001,訓(xùn)練140 個epoch,每次傳入網(wǎng)絡(luò)的圖片數(shù)量為8,解凍后學(xué)習(xí)率變?yōu)?.000 1,傳入網(wǎng)絡(luò)的圖片數(shù)量變?yōu)?,在訓(xùn)練前對圖片進(jìn)行適當(dāng)?shù)男D(zhuǎn)和飽和度變化,以增強(qiáng)訓(xùn)練樣本的穩(wěn)定性,防止過擬合。

3.2 實驗配置和評價指標(biāo)

本文實驗所使用的配置環(huán)境如表2 所示。

表2 實驗配置環(huán)境Tab.2 Experimental configuration environment

本文采用平均準(zhǔn)確率(AP)[22]、平均準(zhǔn)確率均值(mean Average Precision,mAP)、幀率等目標(biāo)檢測常用指標(biāo)評價模型性能的對比提升。

1)計算某一類別的AP需要繪制出這一類別的PR 曲線以進(jìn)一步說明其性能,以召回率(Recall)為橫軸,準(zhǔn)確率(Precision)為縱軸,曲線下的面積即為AP值。準(zhǔn)確率和召回率兩者的值呈負(fù)相關(guān),在局部區(qū)域上下波動。公式如下:

在目標(biāo)檢測中,一個模型通常會檢測出多種物體,那么多個類別的AP的平均值就是mAP。公式如下:

2)評價目標(biāo)檢測網(wǎng)絡(luò)檢測速度的常用指標(biāo)是速率,即每秒內(nèi)可以處理的圖片數(shù)。

3.3 實驗結(jié)果

3.3.1 模型訓(xùn)練

評價一個模型的質(zhì)量不僅需要檢測的準(zhǔn)確率,而且需要損失函數(shù)的收斂速度。當(dāng)模型的精確度高、收斂速度快時,模型才能對多尺度的目標(biāo)檢測保持魯棒性和穩(wěn)定性。本文分別對YOLOv3 算法和基于YOLOv3 改進(jìn)的目標(biāo)檢測算法進(jìn)行訓(xùn)練和測試。在整個訓(xùn)練過程中,采用分批隨機(jī)梯度下降法對函數(shù)進(jìn)行優(yōu)化。從圖7 所示的損失函數(shù)可以看出:這兩種算法在20 個epoch 之前的損失值都很大,損失值開始呈現(xiàn)下降收斂的狀態(tài);隨著訓(xùn)練迭代次數(shù)的疊加,損失值不斷減小,網(wǎng)絡(luò)不斷擬合。與YOLOv3 算法相比,基于改進(jìn)YOLOv3的目標(biāo)檢測算法在訓(xùn)練過程中更加穩(wěn)定,損失值的波動范圍更小,收斂效果更好。

圖7 損失函數(shù)Fig.7 Loss function

3.3.2 本文算法與YOLOv3算法實驗對比

YOLOv3 算法、Tiny-YOLOv3 算法與基于改進(jìn)YOLOv3 的算法對不同目標(biāo)檢測準(zhǔn)確率的對比如表3 所示;不同算法在通用數(shù)據(jù)集Pascal VOC 數(shù)據(jù)集上的性能比較以及檢測一張圖片所用的時間如表4 所示。

表3 不同算法對不同目標(biāo)檢測準(zhǔn)確率對比 單位:%Tab.3 Comparison of different algorithms for different objects on detection precision unit:%

表4 三種算法在Pascal VOC數(shù)據(jù)集上的性能比較Tab.4 Performance comparison of three methods on Pascal VOC datasets

實驗結(jié)果表明,與YOLOv3 算法、Tiny-YOLOv3 算法相比,基于改進(jìn)YOLOv3 的目標(biāo)檢測算法的mAP 值分別提高了5.89 個百分點和25.92 個百分點。在目標(biāo)檢測速率分析方面,Tiny-YOLOv3 算法明顯高于其他網(wǎng)絡(luò),但是其檢測精度較低,而本文算法雖檢測速率有所下降,但是保證了較高的檢測精度。

考慮到在COCO 數(shù)據(jù)集中,需要在IoU 為[0.50:0.95]上10 個取值上計算mAP,最后取平均得到最終結(jié)果,因此,COCO 的多IoU 評估方法能夠更好地說明算法的檢測性能,本文算法在COCO 數(shù)據(jù)集上的檢測結(jié)果如表5 所示。實驗結(jié)果表明,基于改進(jìn)YOLOv3 的目標(biāo)檢測算法高出原YOLOv3算法3.28 個百分點,檢測性能有所提升。

表5 本文算法COCO數(shù)據(jù)集上的mAP@[0.50:0.95]測試結(jié)果 單位:%Tab.5 Detection results of mAP@[0.50:0.95]on COCO dataset unit:%

為了進(jìn)一步驗證實驗對不同尺度目標(biāo)檢測的有效性,在Pascal VOC 數(shù)據(jù)集上對目標(biāo)尺度進(jìn)行劃分,小尺度目標(biāo)(尺度大小為(0,110]),中尺度目標(biāo)(尺度大小為(110,230]),大尺度目標(biāo)(尺度大小為(230,400]),本文算法對不同尺度目標(biāo)的檢測結(jié)果如表6 所示,P-R 曲線如圖8 所示。

圖8 兩種模型對于不同尺度目標(biāo)的PR曲線Fig.8 PR curves of two models for objects with different scales

從表6 可以看出,本文算法對多尺度目標(biāo)進(jìn)行檢測的mAP 值分別是75.66%、87.70%、88.19%,和YOLOv3 算法相比,分別提高了6.38 個百分點、5.23 個百分點、3.44 個百分點。實驗結(jié)果表明,基于改進(jìn)YOLOv3 的目標(biāo)檢測算法對多尺度的目標(biāo)有著更好的檢測效果。

表6 不同尺度目標(biāo)的檢測結(jié)果 單位:%Tab.6 Detection results of objects with different scales unit:%

3.3.3 本文算法與其他算法對比

為了進(jìn)一步驗證本文算法的有效性,將本文算法和其他算法,包括一些典型的算法如兩階段的算法和其他文獻(xiàn)[23-24]中的算法進(jìn)行對比,來測試在同一測試集上改進(jìn)的YOLOv3 檢測性能的提升能力。其中:文獻(xiàn)[23]算法中包含了特征提取網(wǎng)絡(luò)、雙向金字塔和損失函數(shù)的改進(jìn);文獻(xiàn)[24]算法中進(jìn)行的改進(jìn)包括空洞卷積、引進(jìn)了Focal Loss 改進(jìn)損失函數(shù);同時,在其他模型如SSD 模型上,通過增加雙向特征金字塔、注意力機(jī)制等部分改進(jìn)來實現(xiàn)對比實驗,算法性能結(jié)果如表7 所示。

表7 不同算法檢測結(jié)果對比Tab.7 Comparison of detection results of different algorithms

從表7 的算法檢測結(jié)果可以看出,所有目標(biāo)檢測算法在使用相同的數(shù)據(jù)樣本及參數(shù)進(jìn)行實驗的背景下,本文算法的mAP 值相較于其他算法有所提升,相較于文獻(xiàn)[23]算法和文獻(xiàn)[24]算法分別提升了5.07%和2.15%。實驗結(jié)果表明,基于改進(jìn)后YOLOv3 的目標(biāo)檢測算法有更好的性能。

3.3.4 消融實驗結(jié)果對比

在驗證模型性能的過程中,為了更好地定性定量地研究模型所作出的改進(jìn),經(jīng)常采用“消融實驗”來進(jìn)行對比實驗,以便于更好地理解網(wǎng)絡(luò)中不同模塊對于網(wǎng)絡(luò)檢測性能的影響,因此本文設(shè)置了四組實驗分別進(jìn)行實驗。A 表示將前兩個殘差模塊替換成密集模塊,B 表示在殘差模塊中引入了SE Block,C 表示深度可分離卷積代替普通卷積,D 表示改進(jìn)的雙向的特征融合網(wǎng)絡(luò),E 表示優(yōu)化損失函數(shù)。實驗結(jié)果如表8 所示,其中“√”表示包含所進(jìn)行改進(jìn)的模塊。

從表8 可以看出:在第2 組實驗中,把前兩個殘差模塊更換為密集模塊之后,檢測精度有所下降,但小尺度檢測結(jié)果有所提升。第3 組實驗增加了SE Block,和第2 組的對比發(fā)現(xiàn),不同尺度目標(biāo)的檢測精度都有所提升,表明增加通道間信息特征的作用是有效的,提高了卷積過程中特征提取的效率。第4 組實驗增加了深度可分離卷積,檢測精度相差不大,但是運(yùn)行速度有所提升,相較于原網(wǎng)絡(luò)更加輕量高效。第5 組增加了自上而下的特征融合路徑,雖然增加了一定的參數(shù)量導(dǎo)致運(yùn)行速度略微下降,但是提升了對小目標(biāo)的檢測精度,提升了淺層特征的分類能力和深層特征的定位能力。第6 組增加了損失函數(shù)的改進(jìn),在幾乎不增加參數(shù)量的情況下,整體的檢測精度有所提升,在一定程度上改善了小目標(biāo)的漏檢,有效避免了當(dāng)預(yù)測區(qū)域發(fā)生偏離無法進(jìn)行回歸的情況。綜上所述,基于改進(jìn)YOLOv3 的目標(biāo)檢測算法在性能上相比原YOLOv3 算法有了明顯的提升,更加適合多尺度目標(biāo)的檢測場景。

表8 消融實驗結(jié)果對比Tab.8 Comparison of ablation experimental results

3.4 多尺度目標(biāo)檢測測試

從圖9 可看出:原算法基本上存在一些小目標(biāo)的漏檢以及檢測精度不高問題;而通過改進(jìn)模型,改進(jìn)算法成功檢測出了多尺度目標(biāo),檢測精度也有所提升。

圖9 YOLOv3與改進(jìn)的YOLOv3的多尺度目標(biāo)檢測結(jié)果Fig.9 Multi-scale object detection results of YOLOv3 and improved YOLOv3

3.5 小目標(biāo)檢測測試

從圖10 可以看出:YOLOv3 算法對圖像中的小目標(biāo)檢測結(jié)果不理想,容易漏檢和誤檢;改進(jìn)的YOLOv3 對密集的小目標(biāo)檢測效果更好,能有效解決特征獲取困難的問題,降低漏檢率和誤檢率。

圖10 YOLOv3與改進(jìn)的YOLOv3的小目標(biāo)檢測結(jié)果Fig.10 Small object detection results of YOLOv3 and improved YOLOv3

4 結(jié)語

在多尺度的目標(biāo)檢測任務(wù),針對存在漏檢,錯檢以及重復(fù)檢測的問題,本文在YOLOv3 算法的基礎(chǔ)上進(jìn)行改進(jìn),從網(wǎng)絡(luò)的特征提取和特征融合能力方面入手,增加密集連接模塊,充分利用各層特征,實現(xiàn)各層特征集成,同時增加了一層多尺度預(yù)測,提高了網(wǎng)絡(luò)提取圖像深度特征的能力,注意力模塊的引入,使有效特征的權(quán)值變大,抑制無用特征,對圖像進(jìn)行增強(qiáng);在特征融合方面,雙向金字塔充分利用了多尺度特征,將淺層特征信息和深層特征信息充分融合,降低了目標(biāo)定位中目標(biāo)丟失的概率;最后是對損失函數(shù)的優(yōu)化,有效地減少了小目標(biāo)的漏檢情況。定性和定量實驗結(jié)果表明,基于改進(jìn)YOLOv3 的目標(biāo)檢測算法具有更好的檢測效果,在Pascal VOC 的測試中顯示,算法整體mAP 達(dá)到83.26%。與傳統(tǒng)的YOLOv3 算法相比,本文算法提高了5.89 個百分點,表明檢測性能的提高,更好地解決了面對多尺度的目標(biāo)檢測的問題。

在未來的工作中,將對模型進(jìn)行壓縮,其中包括通道剪枝和參數(shù)量化等操作,目的是減少參數(shù),提高檢測速度,在保證參數(shù)數(shù)量盡可能少,檢測速度盡可能快的前提下進(jìn)一步提高模型的精度,從而在性能較低的嵌入式設(shè)備中獲得更好的結(jié)果。

猜你喜歡
特征檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
如何表達(dá)“特征”
不忠誠的四個特征
抓住特征巧觀察
3D打印中的模型分割與打包
主站蜘蛛池模板: 亚洲人成网线在线播放va| 亚洲一区黄色| 国产亚洲高清视频| 成人精品在线观看| 97国产在线播放| 国产精品视频a| 2022国产91精品久久久久久| 精品久久久久久久久久久| 国产91高跟丝袜| 亚洲视频二| 久久综合色天堂av| 免费女人18毛片a级毛片视频| 国产精品自在自线免费观看| 98超碰在线观看| 欧美在线综合视频| 午夜视频日本| 国产精品极品美女自在线| 内射人妻无码色AV天堂| 成人精品亚洲| 波多野结衣第一页| 2021国产乱人伦在线播放| 亚洲日韩高清在线亚洲专区| 日本伊人色综合网| 成人欧美在线观看| 露脸一二三区国语对白| 欧美黄网站免费观看| 欧洲亚洲欧美国产日本高清| 国产精品美女在线| 婷婷六月在线| www.91在线播放| 日韩免费毛片视频| 国产精品自拍露脸视频| 亚洲动漫h| 国产在线精品香蕉麻豆| 色网在线视频| 亚洲无码A视频在线| 激情综合图区| 啊嗯不日本网站| 久久毛片免费基地| 亚洲一区二区三区麻豆| 亚洲三级片在线看| 国产偷国产偷在线高清| 欧美日韩一区二区在线播放| 亚洲精品天堂在线观看| 亚洲欧美另类视频| 欧美日韩专区| 婷婷丁香在线观看| 亚洲天堂精品在线观看| 日韩无码视频播放| 91人人妻人人做人人爽男同| 中文字幕免费在线视频| 亚洲三级视频在线观看| 欧美国产日韩在线观看| jizz国产视频| 亚瑟天堂久久一区二区影院| 无码电影在线观看| 1769国产精品视频免费观看| 国产视频入口| 欧美a在线视频| 国产精品第一区| 国产精品流白浆在线观看| 99ri精品视频在线观看播放| 一区二区三区在线不卡免费| 国产欧美高清| 永久免费无码日韩视频| 91精品情国产情侣高潮对白蜜| 欧美日韩中文国产| 99久久性生片| 97久久免费视频| 久久不卡国产精品无码| 激情综合婷婷丁香五月尤物 | 国产女人18水真多毛片18精品| 99久久精品免费观看国产| 无码中文字幕乱码免费2| 亚洲三级片在线看| 直接黄91麻豆网站| 亚洲黄色高清| 自拍偷拍欧美| 福利国产微拍广场一区视频在线| 亚洲丝袜中文字幕| 国产自在线播放| 日本人妻一区二区三区不卡影院|