YOLO v5網(wǎng)絡(luò)結(jié)構(gòu)
由上圖可知,YOLO v5主要由輸入端、Backone、Neck以及Prediction四部分組成。其中:
(1) **Backbone:**在不同圖像細(xì)粒度上聚合并形成圖像特征的卷積神經(jīng)網(wǎng)絡(luò)。
(2) **Neck:**一系列混合和組合圖像特征的網(wǎng)絡(luò)層,并將圖像特征傳遞到預(yù)測(cè)層。
(3) Head: 對(duì)圖像特征進(jìn)行預(yù)測(cè),生成邊界框和并預(yù)測(cè)類(lèi)別。
下面介紹YOLO v5各部分網(wǎng)絡(luò)包括的基礎(chǔ)組件:
**CBL:**由Conv+BN+Leaky_relu激活函數(shù)組成
**Res unit:**借鑒ResNet網(wǎng)絡(luò)中的殘差結(jié)構(gòu),用來(lái)構(gòu)建深層網(wǎng)絡(luò)
**CSP1_X:**借鑒CSPNet網(wǎng)絡(luò)結(jié)構(gòu),該模塊由CBL模塊、Res unint模塊以及卷積層、Concate組成
**CSP2_X:**借鑒CSPNet網(wǎng)絡(luò)結(jié)構(gòu),該模塊由卷積層和X個(gè)Res unint模塊Concate組成而成
**Focus:**首先將多個(gè)slice結(jié)果Concat起來(lái),然后將其送入CBL模塊中
**SPP:**采用1×1、5×5、9×9和13×13的最大池化方式,進(jìn)行多尺度特征融合
輸入端詳解YOLO v5使用Mosaic數(shù)據(jù)增強(qiáng)操作提升模型的訓(xùn)練速度和網(wǎng)絡(luò)的精度;并提出了一種自適應(yīng)錨框計(jì)算與自適應(yīng)圖片縮放方法
2.1Mosaic數(shù)據(jù)增強(qiáng)
Mosaic數(shù)據(jù)增強(qiáng)利用四張圖片,并且按照隨機(jī)縮放、隨機(jī)裁剪和隨機(jī)排布的方式對(duì)四張圖片進(jìn)行拼接,每一張圖片都有其對(duì)應(yīng)的框,將四張圖片拼接之后就獲得一張新的圖片,同時(shí)也獲得這張圖片對(duì)應(yīng)的框,然后我們將這樣一張新的圖片傳入到神經(jīng)網(wǎng)絡(luò)當(dāng)中去學(xué)習(xí),相當(dāng)于一下子傳入四張圖片進(jìn)行學(xué)習(xí)了。該方法極大地豐富了檢測(cè)物體的背景,且在標(biāo)準(zhǔn)化BN計(jì)算的時(shí)候一下子計(jì)算四張圖片的數(shù)據(jù),所以本身對(duì)batch size不是很依賴(lài)
2.2 自適應(yīng)錨框計(jì)算
在yolo系列算法中,針對(duì)不同的數(shù)據(jù)集,都需要設(shè)定特定長(zhǎng)寬的錨點(diǎn)框。在網(wǎng)絡(luò)訓(xùn)練階段,模型在初始階段,模型在初始錨點(diǎn)框的基礎(chǔ)上輸出對(duì)應(yīng)的預(yù)測(cè)框,計(jì)算其與GT框之間的差距,并執(zhí)行反向更新操作,從而更新整個(gè)網(wǎng)絡(luò)的參數(shù),因此設(shè)定初始錨點(diǎn)框是比較關(guān)鍵的一環(huán)。
在yolo V3和yolo V4中,訓(xùn)練不同的數(shù)據(jù)集,都是通過(guò)單獨(dú)的程序運(yùn)行來(lái)獲得初始錨點(diǎn)框。
而在yoloV5中將此功能嵌入到代碼中,每次訓(xùn)練,根據(jù)數(shù)據(jù)集的名稱(chēng)自適應(yīng)的計(jì)算出最佳的錨點(diǎn)框,用戶(hù)可以根據(jù)自己的需求將功能關(guān)閉或者打開(kāi),指令為:
2.3 自適應(yīng)圖片縮放
在目標(biāo)檢測(cè)算法中,不同的圖片長(zhǎng)寬都不相同,因此常用的方式是將原始圖片統(tǒng)一縮放到一個(gè)標(biāo)準(zhǔn)尺寸,再送入檢測(cè)網(wǎng)絡(luò)中。而原始的縮放方法存在著一些問(wèn)題,由于在實(shí)際的使用中的很多圖片的長(zhǎng)寬比不同,因此縮放填充之后,兩端的黑邊大小都不相同,然而如果填充的過(guò)多,則會(huì)存在大量的信息冗余,從而影響整個(gè)算法的推理速度。為了進(jìn)一步提升YOLO v5的推理速度,該算法提出一種方法能夠自適應(yīng)的添加最少的黑邊到縮放之后的圖片中。具體的實(shí)現(xiàn)步驟如下所述:
(1) 根據(jù)原始圖片大小以及輸入到網(wǎng)絡(luò)的圖片大小計(jì)算縮放比例
(2) 根據(jù)原始圖片大小與縮放比例計(jì)算縮放后的圖片大小
(3) 計(jì)算黑邊填充數(shù)值