YOLOv9問世!!目標(biāo)檢測(cè)新SOTA!!
在目標(biāo)檢測(cè)領(lǐng)域,YOLOv9 實(shí)現(xiàn)了一代更比一代強(qiáng),利用新架構(gòu)和方法讓傳統(tǒng)卷積在參數(shù)利用率方面勝過了深度卷積。
繼 2023 年 1 月 YOLOv8 正式發(fā)布一年多以后,YOLOv9 終于來了!
我們知道,YOLO 是一種基于圖像全局信息進(jìn)行預(yù)測(cè)的目標(biāo)檢測(cè)系統(tǒng)。自 2015 年 Joseph Redmon、Ali Farhadi 等人提出初代模型以來,領(lǐng)域內(nèi)的研究者們已經(jīng)對(duì) YOLO 進(jìn)行了多次更新迭代,模型性能越來越強(qiáng)大。
此次,YOLOv9 由中國臺(tái)灣 Academia Sinica、臺(tái)北科技大學(xué)等機(jī)構(gòu)聯(lián)合開發(fā),相關(guān)的論文《Learning What You Want to Learn Using Programmable Gradient Information 》已經(jīng)放出。
論文地址:https://arxiv.org/pdf/2402.13616.pdf
GitHub 地址:https://github.com/WongKinYiu/yolov9
如今的深度學(xué)習(xí)方法重點(diǎn)關(guān)注如何設(shè)計(jì)最合適的目標(biāo)函數(shù),從而使得模型的預(yù)測(cè)結(jié)果能夠最接近真實(shí)情況。同時(shí),必須設(shè)計(jì)一個(gè)適當(dāng)?shù)募軜?gòu),可以幫助獲取足夠的信息進(jìn)行預(yù)測(cè)。然而,現(xiàn)有方法忽略了一個(gè)事實(shí),即當(dāng)輸入數(shù)據(jù)經(jīng)過逐層特征提取和空間變換時(shí),大量信息將會(huì)丟失。
因此,YOLOv9 深入研究了數(shù)據(jù)通過深度網(wǎng)絡(luò)傳輸時(shí)數(shù)據(jù)丟失的重要問題,即信息瓶頸和可逆函數(shù)。
研究者提出了可編程梯度信息(programmable gradient information,PGI)的概念,來應(yīng)對(duì)深度網(wǎng)絡(luò)實(shí)現(xiàn)多個(gè)目標(biāo)所需要的各種變化。PGI 可以為目標(biāo)任務(wù)計(jì)算目標(biāo)函數(shù)提供完整的輸入信息,從而獲得可靠的梯度信息來更新網(wǎng)絡(luò)權(quán)值。
此外,研究者基于梯度路徑規(guī)劃設(shè)計(jì)了一種新的輕量級(jí)網(wǎng)絡(luò)架構(gòu),即通用高效層聚合網(wǎng)絡(luò)(Generalized Efficient Layer Aggregation Network,GELAN)。該架構(gòu)證實(shí)了 PGI 可以在輕量級(jí)模型上取得優(yōu)異的結(jié)果。
研究者在基于 MS COCO 數(shù)據(jù)集的目標(biāo)檢測(cè)任務(wù)上驗(yàn)證所提出的 GELAN 和 PGI。結(jié)果表明,與基于深度卷積開發(fā)的 SOTA 方法相比,GELAN 僅使用傳統(tǒng)卷積算子即可實(shí)現(xiàn)更好的參數(shù)利用率。
對(duì)于 PGI 而言,它的適用性很強(qiáng),可用于從輕型到大型的各種模型。我們可以用它來獲取完整的信息,從而使從頭開始訓(xùn)練的模型能夠比使用大型數(shù)據(jù)集預(yù)訓(xùn)練的 SOTA 模型獲得更好的結(jié)果。下圖 1 展示了一些比較結(jié)果。
對(duì)于新發(fā)布的 YOLOv9,曾參與開發(fā)了 YOLOv7、YOLOv4、Scaled-YOLOv4 和 DPT 的 Alexey Bochkovskiy 給予了高度評(píng)價(jià),表示 YOLOv9 優(yōu)于任何基于卷積或 transformer 的目標(biāo)檢測(cè)器。
來源:https://twitter.com/alexeyab84/status/1760685626247250342
還有網(wǎng)友表示,YOLOv9 看起來就是新的 SOTA 實(shí)時(shí)目標(biāo)檢測(cè)器,他自己的自定義訓(xùn)練教程也在路上了。
?
來源:https://twitter.com/skalskip92/status/1760717291593834648
更有「勤勞」的網(wǎng)友已經(jīng)為 YOLOv9 模型添加了 pip 支持。
來源:https://twitter.com/kadirnar_ai/status/1760716187896283635
接下來看 YOLOv9 的詳細(xì)信息。
問題陳述
通常,人們將深度神經(jīng)網(wǎng)絡(luò)收斂困難問題歸因于梯度消失或梯度飽和等因素,這些現(xiàn)象確實(shí)存在于傳統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)中。然而,現(xiàn)代深度神經(jīng)網(wǎng)絡(luò)通過設(shè)計(jì)各種歸一化和激活函數(shù),已經(jīng)從根本上解決了上述問題。不過即便如此,深度神經(jīng)網(wǎng)絡(luò)中仍然存在著收斂速度慢或收斂效果差的問題。那么這個(gè)問題的本質(zhì)到底是什么?
研究者通過對(duì)信息瓶頸的深入分析,推斷出了該問題的根本原因:梯度最初從非常深層的網(wǎng)絡(luò)傳遞出來后不久,就丟失了許多達(dá)成目標(biāo)所需的信息。為了驗(yàn)證這一推斷,研究者們對(duì)具有初始權(quán)重的不同架構(gòu)的深度網(wǎng)絡(luò)進(jìn)行前饋處理。圖 2 對(duì)此進(jìn)行了可視化說明。顯然,PlainNet 在深層丟失了很多進(jìn)行對(duì)象檢測(cè)所需的重要信息。至于 ResNet、CSPNet 和 GELAN 能夠保留的重要信息比例,確實(shí)與訓(xùn)練后能夠獲得的準(zhǔn)確性正相關(guān)。研究者進(jìn)一步設(shè)計(jì)了基于可逆網(wǎng)絡(luò)的方法來解決上述問題的原因。
方法介紹
可編程梯度信息(PGI)
該研究提出了一種新的輔助監(jiān)督框架:可編程梯度信息(Programmable Gradient Information,PGI),如圖 3(d)所示。
PGI 主要包括三個(gè)部分,即(1)主分支,(2)輔助可逆分支,(3)多級(jí)輔助信息。
-
PGI 的推理過程僅使用了主分支,因此不需要額外的推理成本;
-
輔助可逆分支是為了處理神經(jīng)網(wǎng)絡(luò)加深帶來的問題, 網(wǎng)絡(luò)加深會(huì)造成信息瓶頸,導(dǎo)致?lián)p失函數(shù)無法生成可靠的梯度;
-
多級(jí)輔助信息旨在處理深度監(jiān)督帶來的誤差累積問題,特別是多個(gè)預(yù)測(cè)分支的架構(gòu)和輕量級(jí)模型。
GELAN 網(wǎng)絡(luò)
此外,該研究還提出了一個(gè)新的網(wǎng)絡(luò)架構(gòu) GELAN(如下圖所示),具體而言,研究者把 CSPNet、 ELAN 這兩種神經(jīng)網(wǎng)絡(luò)架構(gòu)結(jié)合起來,從而設(shè)計(jì)出兼顧輕量級(jí)、推理速度和準(zhǔn)確性的通用高效層聚合網(wǎng)絡(luò)(generalized efficient layer aggregation network ,GELAN)。研究者將最初僅使用卷積層堆疊的 ELAN 的功能泛化到可以使用任何計(jì)算塊的新架構(gòu)。
實(shí)驗(yàn)結(jié)果
為了評(píng)估 YOLOv9 的性能,該研究首先將 YOLOv9 與其他從頭開始訓(xùn)練的實(shí)時(shí)目標(biāo)檢測(cè)器進(jìn)行了全面的比較,結(jié)果如下表 1 所示。
該研究還將 ImageNet 預(yù)訓(xùn)練模型納入比較中,結(jié)果如下圖 5 所示。值得注意的是,使用傳統(tǒng)卷積的 YOLOv9 在參數(shù)利用率上甚至比使用深度卷積的 YOLO MS 還要好。
消融實(shí)驗(yàn)
為了探究 YOLOv9 中各個(gè)組件的作用,該研究進(jìn)行了一系列消融實(shí)驗(yàn)。
該研究首先對(duì) GELAN 的計(jì)算塊進(jìn)行消融實(shí)驗(yàn)。如下表 2 所示,該研究發(fā)現(xiàn)用不同的計(jì)算塊替換 ELAN 中的卷積層后,系統(tǒng)可以保持良好的性能。
然后該研究又在不同尺寸的 GELAN 上針對(duì) ELAN 塊深度和 CSP 塊深度進(jìn)行了消融實(shí)驗(yàn),結(jié)果如下表 3 所示。
在 PGI 方面,研究者分別在主干網(wǎng)絡(luò)和 neck 上對(duì)輔助可逆分支和多級(jí)輔助信息進(jìn)行了消融研究。表 4 列出了所有實(shí)驗(yàn)的結(jié)果。從表 4 中可以看出,PFH 只對(duì)深度模型有效,而本文提出的 PGI 在不同組合下都能提高精度。
研究者進(jìn)一步在不同大小的模型上實(shí)現(xiàn)了 PGI 和深度監(jiān)控,并對(duì)結(jié)果進(jìn)行了比較,結(jié)果如表 5 所示。
圖 6 顯示了從基準(zhǔn) YOLOv7 到 YOLOv9- E 逐步增加組件的結(jié)果。
可視化
研究者探討了信息瓶頸問題,并將其進(jìn)行了可視化處理,圖 6 顯示了在不同架構(gòu)下使用隨機(jī)初始權(quán)重作為前饋獲得的特征圖的可視化結(jié)果。
圖 7 說明了 PGI 能否在訓(xùn)練過程中提供更可靠的梯度,從而使用于更新的參數(shù)能夠有效捕捉輸入數(shù)據(jù)與目標(biāo)之間的關(guān)系。

更多技術(shù)細(xì)節(jié),請(qǐng)閱讀原文。
