(ML) YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors

YEN HUNG CHENG
27 min readAug 6, 2023

--

Photo by Hanny Naibaho on Unsplash

GitHub

Paper

Abstract
Introduction
Related work
Architecture
Trainable bag-of-freebies
Experiments
Conclusions

Abstract

YOLOv7 是一種實時物體檢測器 (real-time object detector),且其速度和準確性均超過了所有已知的物體檢測器。

YOLOv7 在 GPU V100 上以 30 FPS 或更高速度下具有最高的準確度 56.8% AP。

YOLOv7-E6 物體檢測器在速度和準確性方面均優於基於 Transformer 的檢測器 SWIN-L Cascade-Mask R-CNN 和基於卷積 (Convolution) 的檢測器 ConvNeXt-XL Cascade-Mask R-CNN

Transformer

Transformer 模型已被廣泛應用在許多影像處理任務上,包括圖像分類、語意分割、目標檢測等任務,並且在這些領域都取得了令人驚訝的效果。

source
  1. 圖像分類:ViT(Vision Transformer)是最早將 Transformer 應用於影像處理的模型之一。ViT 將影像切割為一系列的小塊(稱為”patch”),並將這些patch視為序列輸入到 Transformer 中。這種方法有助於捕捉圖像中的長距離依賴關係。
  2. 語意分割:在語意分割任務中,Transformer 也有所應用。例如,SETR(Segmentation Transformer)模型將全局的注意力機制引入到語意分割任務中,有效地提高了模型的性能。
  3. 目標檢測:DETR(Detection Transformer)等模型將Transformer應用於目標檢測任務中,這些模型利用 Transformer 的全局注意力機制來捕捉圖像中的物體以及它們之間的相對位置信息。

然而,Transformer 的一個主要缺點是計算量大。這主要是由於其自注意力機制(Self-Attention Mechanism)的計算複雜度。自注意力機制需要計算輸入序列中每個元素與其他所有元素之間的相互關係,這在序列長度較大時(如影像處理任務中)會導致計算複雜度和記憶體使用量大增。

為了解決這個問題,研究者提出了許多有效的方法,包括使用局部注意力機制、使用 kernelized self-attention、降低 Transformer 的深度等。此外,通過使用更強大的硬體或者分散式訓練,也可以一定程度上解決計算量大的問題。

source

1. Introduction

實時目標檢測 (real-time object detector) 是一個非常重要的主題,下方會舉幾個例子:

Multi-object tracking[94]

source

Autonomous driving[40]

source

Robotics[35]

source

Medical image analysis[34]

source

執行實時物體檢測的計算設備通常是一些 mobile CPU 或 GPU,以及各種由主要製造商開發的神經處理單元(NPU)

NPU(神經處理器單元)Neural-Network Process Units

NPU(神經處理器單元)是一種專門用於加速機器學習算法的微處理器。它可以幫助手機等設備在本地執行一些需要 AI 支持的任務,如圖像識別、語音識別、自然語言處理等,而不需要連接到遠程伺服器。這樣可以提高執行速度和效率,同時保護用戶的隱私和安全。

NPU 的工作原理類似於人類的大腦,由數以億計的神經元和突觸組成,可以同時傳遞和接收信號,學習和決策。相較於傳統的中央處理器(CPU),NPU 更適合執行高度並行的機器學習工作負載。因為機器學習工作負載往往具有高度規律的計算模式,與圖形處理器(GPU)相比,NPU 可以受益於更簡單的邏輯,並且能夠更好地處理機器學習任務所需的大量數據。

Apple neural engine (Apple)

source

Neural compute stick (Intel)

source

Jetson AI edge devices (Nvidia)

source

Edge TPU (Google)

source

Neural processing engine (Qualcomm)

source

AI processing unit (MediaTek)

source

AI SoCs (Kneron)

source

Inference speed on edge CPU

發展重點是生產低功耗單芯片並提高邊緣CPU的推理速度

MCUNet [49]

MCUNet 是一個針對微控制器單元(MCU)的微型物聯網設備上的機器學習框架。它使用高效的神經架構(TinyNAS)和輕量級的推理引擎(TinyEngine)實現在資源受限的微控制器上進行 ImageNet 規模的推理。TinyNAS 通過兩階段神經架構搜索方法,在資源限制下優化搜索空間,然後專門化網絡架構。它可以自動適應不同的約束條件,如設備、延遲、能量和內存成本。TinyNAS 與 TinyEngine 共同設計,提供內存高效的推理引擎,擴大搜索空間並適應更大的模型。TinyEngine 通過整體網絡拓撲的優化來減少內存佔用,提高推理能力。

MCUNet 是第一個在現成的機器上實現 >70% ImageNet top1 準確率的公司

source

Inference speed of various GPUs

專注於提高各種 GPU 的推理速度

YOLOR [81]

YOLOR 介紹了一種統一的網絡方法,將隱性知識和顯性知識結合在一起。

這種方法類似於人腦可以從正常人身上學習知識的方式,同時考慮了潛意識學習的影響。統一的網絡能夠生成統一的表示形式,同時應用於不同的任務。

我們在卷積神經網絡中實現了內核空間對齊、預測細化和多任務學習等技術。實驗結果表明,當引入隱性知識到網絡中時,它有助於提升所有任務的性能。我們進一步分析了從提議中學到的隱式表示,並發現它能夠捕捉到不同任務的物理意義,提供更強大的表達能力。總而言之,這種統一的網絡方法可以有效地結合隱性知識和顯性知識,並在多個任務上取得優異的性能。

source

至於可以在 CPU 上使用的實時物體檢測器[54,88,84,83],他們的設計大多基於MobileNet[28,66,27],ShuffleNet[92, 55] 或 GhostNet [25]。

[MobileNetV1][MobileNetV2][MobileNetV3]

物體檢測器是為 GPU 開發的 [81,21,97],它們主要使用 ResNet [26]、DarkNet [63] 或 DLA [87],並且然後使用 CSPNet [80] 策略來優化架構。

文章中提出的方法與目前主流的論文有所不同,因為除了優化架構之外,我們的方法還專注於訓練過程的優化

Trainable bag-of-freebies

我們的重點將是一些優化模塊和優化方法加大訓練時的成本,提高物體檢測的準確率,且不增加推理成本。

model re-parameterization [13, 12, 29]

在本文中,我們將介紹一些新問題,這些問題是由物體檢測器引起的。我們會提出有效的方法來解決這些問題。針對模型重參數化,我們會分析適用於不同網絡層的策略以及梯度傳播路徑的概念,然後提出重新參數化模型的規劃。

dynamic label assignment [20, 17, 42]

當我們訓練一個具有多個輸出層的模型時,通常會採用動態標籤分配技術。然而,這種方法會產生一個新的問題,即“如何為不同的分支動態分配目標標籤?”為解決這個問題,我們提出了一種新的標籤分配方法,稱為“從粗到細引導引導的標籤分配”。

本文的貢獻總結如下:

  1. 設計了幾種可訓練的 bag-of-freebies 方法,旨在在不增加推理成本的情況下提高實時目標檢測的檢測精度。
  2. 在目標檢測方法的演變過程中,我們發現兩個新問題:(1) 如何替換原始模塊以進行重新參數化模型;(2) 如何處理對不同輸出層的動態標籤分配策略。這些問題引起了困難,因此我們提出了解決這些問題的方法。
  3. 提出了實時的“擴展”和“複合縮放”方法,旨在讓物體檢測器可以更有效地利用參數和計算。
  4. 提出的方法可以有效減少約 40% 的參數和 50% 的計算量,同時能夠在保持更高檢測精度的同時實現更快的推理速度。

2. Related work

2.1. Real-time object detectors

目前領域最好的方法都是基於 YOLO [61, 62, 63] 和 FCOS [76, 77],
分別是 [3, 79, 81, 21, 54, 85, 23]。能夠成為最先進的實時目標檢測器通常需要以下特徵:

  1. 更快、更強的網絡架構
  2. 更有效的特徵整合方法
  3. 更準確的檢測方法
  4. 更穩健的損失函數
  5. 更有效的標籤分配方法
  6. ️更高效的訓練方法

在本文中,我們不打算探索需要額外數據或大型模型的自監督學習或知識蒸餾方法。 相反,我們將針對與上述(4)、(5)和(6)相關的最先進方法衍生的問題,設計新的可訓練的免費贈品袋 (trainable bag-of-freebies)方法。

2.2. Model re-parameterization

模型重新參數化技術 [71, 31, 75, 19, 33,11, 4, 24, 13, 12, 10, 29, 14, 78] 是一種在推理階段將多個計算模塊合併為一個的集成技術。它可以分為模塊級集成模型級集成兩類。

模型級重新參數化通常有兩種常見的方法。一種方法是使用不同的訓練數據訓練多個相同的模型,然後對多個訓練模型的權重進行平均。另一種方法是對不同迭代次數的模型權重進行加權平均。

模塊級重新參數化是近期研究中比較流行的問題。這些方法在訓練時將一個模塊拆分為多個相同或不同的模塊分支,並在推理時將多個分支模塊集成為完全等效的模塊。

然而,並非所有提出的重新參數化模塊都能完美應用於不同的架構。因此,我們需要針對各種架構設計相關的應用策略,開發新的重參數化模塊。

總結來說,模型重新參數化技術是一種將多個計算模塊合併為一個的集成技術,通過模塊級集成和模型級集成的方法來優化推理效果。這些技術在模型訓練和推理的性能優化中扮演著重要的角色。

2.3. Model scaling

模型縮放 [72,60,74,73,15,16,2,51] 是一種放大或縮小已經設計的模型並使其適合不同計算設備的方法。 模型縮放方法通常使用不同的縮放因子,例如分辨率(輸入圖像的大小)、深度(層數)、寬度(通道數)和階段(特徵金字塔數),從而 在網絡參數量、計算量、推理速度和準確性之間實現良好的權衡

3. Architecture

3.1. Extended efficient layer aggregation networks

source

圖 (b) 中 CSPVoVNet [79] 的設計是 圖 (a) VoVNet [39] 的變體。 除了考慮上述基本設計問題外,CSPVoVNet [79]的架構還分析了梯度路徑,以使不同層的權重能夠學習更多樣的特徵。

上述梯度分析方法使推論更快、更準確。

圖 (c) 中的 ELAN [1] 考慮了以下設計策略 — “如何設計高效的網絡?”。 他們得出了一個結論:通過控制最短最長梯度路徑,更深的網絡可以有效地學習和收斂。 在本文中,提出了基於 ELAN 的擴展 ELAN(E-ELAN),其主要架構如圖 (d) 所示。

E-ELAN 利用 expand、shuffle、merge 基數來實現在不破壞原有梯度路徑的情況下不斷增強網絡的學習能力。 在架構方面,E-ELAN僅改變了計算塊的架構,而過渡層的架構完全不變。

E-ELAN 的主要特點是:

  1. 使用分組卷積來擴展計算塊的通道和基數。
  2. 應用相同的組參數和通道乘數於計算層的所有計算塊。
  3. 混合每個計算塊計算出的特徵圖到設置的組數 g 中。
  4. 連接每組特徵圖,使每組中的通道數與原始架構相同。
  5. 添加 g 組特徵圖以執行合併基數。
  6. 引導不同組的計算模塊學習更多樣的特徵。

3.2. Model scaling for concatenation-based models

source

模型的尺度調整是為了滿足不同推理速度需求,通常涉及調整模型的寬度、深度和分辨率等屬性。不同的模型縮放方法針對不同的屬性進行調整。

EfficientNet[72] 通過調整寬度、深度和分辨率來進行模型縮放。 YOLOv4[79] 則通過調整階段數來進行縮放。

上述的模型是基於 PlainNet 或 ResNet。 當這些架構執行放大或縮小時,每層 layer 的輸入和輸出並不會改變,因此我們可以獨立分析每個縮放因子對參數量和計算量的影響。

然而,如果將上述方法應用於基於串聯的架構 (concatenation-based model),可以發現當在深度 (depth) 進行縮放時,會影響計算模塊 (computational block) 後面的過度層 (transition layer) 的輸入,如圖 (a) 和(b) 所示。

從上述現象可以推斷,對於基於串聯的模型,我們不能單獨分析不同的縮放因子,而必須一起考慮。

source

為了處理基於串聯的模型,我們需要提出相應的複合模型縮放方法。當我們對計算塊進行深度因子縮放時,我們還必須考慮輸出通道的變化。然後,我們將以相同的比例對過渡層進行寬度因子縮放,如圖 (c)。我們提出的複合縮放方法可以保持模型在初始設計時的屬性,並保持最佳的結構。

4. Trainable bag-of-freebies

4.1. Planned re-parameterized convolution

儘管 RepConv[13] 在 VGG[68] 上取得了優異的性能,但當我們直接將其應用於 ResNet[26] 和 DenseNet[32] 等架構時,其精度會明顯降低。

Sketch of RepVGG architecture

我們發現 RepConv 中的恆等連接 (identity connection) 破壞了 ResNet 中的殘差和 DenseNet 中的串聯,它為不同的特徵圖提供了更多多樣性的梯度。

source

由於上述原因,我們使用無恆等連接的 RepConv(RepConvN)來設計計劃重參數化卷積的架構。 在我們的想法中,當帶有殘差或級聯的捲積層被重新參數化卷積取代時,不應該有恆等連接。 圖 4 顯示了我們設計的用於 PlainNet 和 ResNet 的“計劃重參數化卷積”的示例。

4.2. Coarse for auxiliary and fine for lead loss

source

深度監督的做法是在深度網絡的中間層添加多個輔助頭,這些輔助頭會從中間層的特徵中進行預測。這些預測的結果與真實標籤 (ground truth) 進行比較,並計算輔助損失,這個損失會被加入到整個網絡的損失函數中。這樣做的好處是,輔助損失可以幫助中間層的特徵更好地對應到真實標籤,從而引導整個網絡更好地學習特徵和進行優化。

圖 (a) 和 (b) 分別顯示了“無”和“有”深度監督的對象檢測器架構

label assignment, hard label

在過去,深度學習模型的標籤分配(label assignment)通常是直接使用真實標籤( ground truth),也就是硬標籤(hard label)。這意味著每個樣本只有一個確定的標籤,且是根據預先定義的規則進行標記。

例如,在物體檢測任務中,每個物體都被賦予一個特定的類別標籤,並且其邊界框也被用來表示物體的位置。

label assigner, soft label

軟標籤(soft label)的方法。軟標籤是指將預測模型的輸出視為機率分佈,表示樣本屬於不同類別的可能性。這種方法對於一些任務,特別是物體檢測等複雜任務,能夠提供更多的信息和靈活性。上述方法稱作 label assigner

例如,YOLO (You Only Look Once) 是一種用於物體檢測的深度學習模型。它使用 IoU(Intersection over Union)來預測邊界框回歸,並將真實值作為對象性的軟標籤。這意味著,模型輸出的邊界框與真實邊界框之間的 IoU(重疊率)被用來表示預測的準確性和信心程度。透過這種方式,模型可以更靈活地根據預測結果和真實情況進行學習和優化,提高檢測的可靠性。

在 軟標籤分配器(soft label assigner)相關技術的開發過程中,無意中發現了一個新的衍生問題,即 如何將 soft label 分配 auxiliary head 和 lead head?

據所知,迄今為止文獻還沒有探討過這個問題。

source

(c) Independent assigner

auxiliary head 和 lead head 分開,然後使用自己的預測結果和真實情況
執行標籤分配。

(d) Lead guided assigner

lead head 比 auxiliary head 具有更強的學習能力,也就是 lead head 更適合擔任主要的預測任務。因此,我們希望將 lead head 的預測結果與真實標籤(ground truth)進行優化計算,以獲得更能表達資料和真實情況之間分佈和相關性的軟標籤(soft label)。

這樣的軟標籤可以提供更多的資訊和靈活性,並幫助模型更好地學習。

(e) Coarse-to-fine lead guided assigner

在這種方法中,lead head 的預測結果與真實標籤進行最佳化運算,得到了一組較粗糙(coarse)的 soft label,這個 soft label 會被用於訓練 auxiliary head。同時,fine label 則與 lead head 的 soft label 相同,並且用於訓練lead head。

這種分為兩組soft label的做法主要是為了解決以下問題:由於lead head具有較強的學習能力,auxiliary head可能會遺失掉需要學習的資訊。因此,coarse label的做法是放寬positive sample assignment的限制,讓更多的grid被視為positive target。這樣可以讓auxiliary head更容易地學習到一些難以捕捉的特徵。

在物件偵測任務中,重視 auxiliary head 的 recall,也就是優化 auxiliary head 在偵測目標上的召回率

lead head 則更關注在auxiliary head 的高召回率結果中篩選出高精確度的預測結果,作為最終的輸出

作者還發現,當 coarse label 的 additional weight(附加權重)與 fine label相近時,可能會導致 fine label 產生不良的 Anchor prior(錨點先驗)。

因此,在 auxiliary head 的解碼器上加入了限制,限制 coarse positive grid 不會完美地擬合 soft label,這樣的操作能讓 fine label 和 coarse label 在學習的過程中動態調整,使得 fine label 的最佳化上界都高於 coarse label,進一步提高了模型的性能。

4.3. Other trainable bag-of-freebies

  • Batch normalizationin conv-bn-activation topology

Batch Normalization (BN) 是一種用於深度神經網絡的常用技術,用於解決梯度消失和梯度爆炸等問題,並加速神經網絡的訓練過程。在conv-bn-activation topology 中,BN 應用於卷積層之後和激活函數之前

source
  • Implicit knowledge in YOLOR [81] combined with convolution feature map in addition and multiplication manner

YOLOR 通過將隱含的知識與卷積特徵圖進行加法和乘法結合,從而有效地整合不同層次的特徵信息並對特徵進行調整,這有助於提高模型的表現和泛化能力。

這種結合的方式可以看作是一種特徵增強的方法,使得YOLOR能夠更好地捕捉對象的細節和上下文信息。

source
  • EMA model

Mean Teacher,一種新的半監督深度學習方法,可以為學生模型生成更準確的目標。Mean Teacher優於Temporal Ensembling,並且能夠使用更少的標籤進行訓練。該方法可擴展且適用於最先進的架構和大型圖像尺寸。Mean Teacher和Residual Networks的結合在 CIFAR-10 和 ImageNet 2012 中實現了State-of-the-art(最先進的)結果。

5. Experiments

5.1. Experimental setup

使用微軟 COCO 數據集進行實驗並驗證我們的對象檢測方法,且所有的實驗都沒有使用預先訓練的模型。

模型:

YOLOv7-tiny -> Edge GPU

專為邊緣裝置或資源受限的 GPU 設備而設計

YOLOv7 -> Normal GPU

在正常的 GPU 設備上運行

YOLOv7-W6 -> Cloud GPU

在雲端環境中運行的 GPU 資源,擁有更高的運算能力和更多的記憶體

YOLOv7-X

同時,基礎模型還能進行伸縮,針對不同的任務需求,得到不同類型的模型。 YOLOv7,在頸部進行堆棧縮放,並使用提出的複合縮放方法來執行縮放整個模型的深度和寬度,並用它來獲得 YOLOv7-X。

YOLOv7-E6, YOLOv7-D6

對於 YOLOv7-W6,我們使用新提出的複合縮放方法獲得 YOLOv7-E6 和YOLOv7-D6。

YOLOv7-E6E

將所提出的 EELAN 用於 YOLOv7-E6,從而完成YOLOv7-E6E。

⭐️由於 YOLOv7-tiny 是面向邊緣 GPU 的架構,因此它將使用 leaky ReLU 作為激活函數。 至於其他模型我們使用 SiLU 作為激活函數。

SiLU
leaky ReLU

5.2. Baselines

以 YOLO4 [3, 79] 和最先進的目標檢測器 YOLOR [81] 作為我們的 basline

source

從結果我們看到,如果與 YOLOv4 相比,YOLOv7 的參數減少了 75%,計算量減少了 36%,並帶來1.5%的AP提升。

如果與最先進的 YOLOR-CSP 相比,YOLOv7 的參數少了 43%,參數少了 15% 計算量減少,AP 提高 0.4%。

In the performance of tiny model

與 YOLOv4-tiny-31、YOLOv7- tiny 減少了 39% 的參數數量,計算量減少49%,但AP保持不變。

On the cloud GPU model

我們的模型仍然可以有更高的 AP 同時減少了 19% 的參數數量,計算量減少33%。

5.3. Comparison with state-of-the-arts

source

適用於通用 GPU 和移動 GPU 的物體檢測器,結果如表顯示,所提出的方法在速度與精度的綜合權衡方面具有最佳表現。與 YOLOv5-N (r6.1) 相比,YOLOv7-tiny-SiLU 在 AP 上提高了10.7%,且速度提高了 127 fps。

此外,YOLOv7 在 161 fps 的幀速率下有 51.4% 的AP,而具有相同AP的PPYOLOE-L 的幀速率僅為 78 fps。在參數使用方面,YOLOv7 比 PPYOLOE-L少 41%。如果我們將推理速度為 114 fps 的 YOLOv7-X 與推理速度為 99 fps 的YOLOv5-L (r6.1) 進行比較,YOLOv7-X 可以將 AP 提高3.9%。同樣規模下,YOLOv7-X 的推理速度比 YOLOv5-X (r6.1) 快 31 fps。此外,在參數量和計算量方面,YOLOv7-X 相比 YOLOv5-X (r6.1) 減少了 22% 的參數和 8% 的計算量,同時 AP 提升了 2.2%。

若將 YOLOv7 與 YOLOR 在輸入分辨率為 1280 時進行比較,YOLOv7-W6 的推理速度比 YOLOR-P6 快 8 fps,且檢測率 AP 也增加了 1%。針對 YOLOv7-E6 和 YOLOv5-X6 (r6.1) 的比較,前者有 0.9% 的AP增益,參數量減少了45%,計算量減少了 63%,推理速度提高了 47%。YOLOv7-D6的推理速度接近於 YOLOR-E6,但AP提高了 0.8%。而 YOLOv7-E6E 具有緊密的推理速度,達到 YOLOR-D6 的水平,同時 AP 提高了 0.3%。

5.4. Ablation study

5.4.1 Proposed compound scaling method

source

Table 3 顯示了使用不同模型縮放策略進行擴展時獲得的結果。其中,我們提出的複合縮放方法是將計算塊的深度增加 1.5 倍,轉換塊的寬度增加 1.25倍

與僅增加寬度的方法相比,我們的方法可以在更少的參數和計算量下將 AP提高 0.5%。與僅增加深度的方法相比,我們的方法只需增加 2.9% 的參數數量和 1.2% 的計算量,即可將AP提高0.2%。

5.4.2 Proposed planned re-parameterized model

source
source

了驗證我們提出的規劃重新參數化模型的普遍性,我們分別在基於連接和基於殘差的模型上進行驗證。我們所選擇的用於驗證的連接模型是 3 層堆疊的ELAN,而用於驗證的殘差模型是CSPDarknet。

在連接模型的實驗中,我們將 3 層堆疊的 ELAN 中不同位置的 3×3 卷積層替換為 RepConv,具體配置 如圖 6 所示。從表格 4 中的結果可以看出,我們提出的規劃重新參數化模型在所有更高的 AP 值上都表現出色。

source
source

在處理殘差模型的實驗中,由於原始的 dark block 沒有符合我們設計策略的3×3 卷積塊,因此我們另外設計了一個反轉的 dark block 進行實驗,其架構如圖 7 所示。由於 CSPDarknet 使用 dark block 和反轉 dark block 具有完全相同的參數量和操作,因此進行公平比較。表 5 中的實驗結果充分證實了提出的規劃重新參數化模型在殘差模型上同樣有效。我們發現 RepCSPResNet的設計也符合我們的設計模式。

5.4.3 Proposed assistant loss for auxiliary head

source

在輔助頭部實驗中,我們比較了主要頭部和輔助頭部方法的一般獨立標籤分配,還比較了兩種提出的主導引導標籤分配方法。我們在表 6 中顯示了所有比較結果。從表 6 中列出的結果可以清楚地看出,任何增加輔助損失的模型都可以顯著改善整體性能。此外,我們提出的主導引導標籤分配策略在 AP、AP50 和 AP75 方面的表現優於一般獨立標籤分配策略。

source

在圖 8 中,我們展示了不同方法在輔助頭部和主導頭部預測的目標性地圖。從圖中可以看出,如果輔助頭部學習主導引導的軟標籤,確實有助於主導頭部從一致的目標中提取殘差信息。

source

在表 7 中,我們進一步分析了所提出的粗糙到精細主導標籤分配方法對輔助頭部解碼器的影響。也就是說,我們比較了引入上限限制與不引入上限限制的結果。從表格中的數字來看,通過根據物體中心的距離來限制物體性的方法可以獲得更好的性能。

source

由於所提出的 YOLOv7 使用多個金字塔來共同預測目標檢測結果,我們可以直接將輔助頭部連接到中間層的金字塔進行訓練。這種訓練方式可以彌補在下一層金字塔預測中可能丟失的信息。因此,在我們提出的 E-ELAN 架構中,我們設計了部分輔助頭部。我們的方法是在合併基數之前的某個特徵圖集後連接輔助頭部,這種連接使得新生成的特徵圖集的權重不會直接受到輔助損失的更新。我們的設計允許主導頭部的每個金字塔仍然能夠從具有不同大小的目標獲取信息。表 8 顯示了使用兩種不同方法(即粗糙到精細主導引導和部分粗糙到精細主導引導方法)獲得的結果。

6. Conclusions

本文提出了一種新的實時物體檢測器架構及相應的模型縮放方法。同時,我們發現物體檢測方法的演進過程產生了新的研究主題。在研究過程中,我們發現了重新參數化模塊的替換問題和動態標籤分配的分配問題。為了解決這些問題,我們提出了可訓練的免費增益方法,以提高物體檢測的準確性。基於以上研究,我們開發了 YOLOv7 系列的物體檢測系統,取得了最先進的結果。

--

--