日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Scaled-YOLOv4: Scaling Cross Stage Partial Network

發布時間:2023/12/14 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scaled-YOLOv4: Scaling Cross Stage Partial Network 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

鏈接:https://arxiv.org/abs/2011.08036
代碼: https://github.com/WongKinYiu/ScaledYOLOv4
本文的貢獻:
(1)針對小模型設計了一種強大的模型縮放方法,該方法可以系統地平衡淺層CNN的計算成本和存儲帶寬;
(2) 設計一個簡單但有效的策略來縮放大型目標探測器;
(3) 分析所有模型縮放因子之間的關系,然后根據最有利的組劃分進行模型縮放;
(4) 實驗已經證實,FPN結構本質上是一次性結構;
(5)利用上述方法開發了YOLOv4 tiny和YOLO4v4 large。

一、文章簡介

在設計有效的模型縮放方法時,我們的主要原則是,當縮放比例上升/下降時,我們想要增加/減少的量化成本越低/越高越好。我們將展示和分析各種通用CNN模型,并試圖了解它們在
(1)圖像大小、(2)層數和(3)通道數變化時的量化成本。我們選擇的CNN是ResNet、ResNext和Darknet。對于具有b個通道的k層CNN:
ResNet層的計算為k?[conv(1×1,b/4)→ conv(3×3,b/4)→ conv(1×1,b)]
ResNext層的計算為k?[conv(1×1,b/2)→ gconv(3×3/32,b/2)→ conv(1×1,b)]
Darknet層的計算量為k?[conv(1×1,b/2)→ conv(3×3,b)]
用于調整圖像大小、層數和通道數的比例因子分別為α、β和γ。當這些比例因子發生變化時,FLOPs的相應變化總結在下表:

縮放尺寸、深度和寬度會導致計算成本增加。它們分別顯示平方、線性和平方增長。
CSPNet可以應用于各種CNN架構,同時減少參數和計算量。此外,它還提高了準確性,減少了推理時間。將其應用于ResNet、ResNeXt和Darknet,并觀察計算量的變化,如下所示:

在將上述CNN轉換為CSPNet后,新的體系結構可以有效地將ResNet、ResNeXt和Darknet上的計算量(FLOP)分別減少23.5%、46.7%和50.0%

輕量級模型不同于大型模型,因為它們的參數利用效率必須更高,以便用少量計算達到所需的精度。在進行模型縮放時,我們希望計算順序盡可能低。下表分析了具有有效參數利用率的網絡,如DenseNet和OSANet的計算負載,其中g表示增長率。

對于一般CNN,以上列出的g、b和k之間的關系為k<<g<b。因此,DenseNet的計算復雜度順序為O(whgbk),而OSANet的計算復雜度順序為O(max(whbg,whkg2whkg^2whkg2))。上述兩種方法的計算復雜度小于ResNet系列的O(whkb2whkb^2whkb2)。
最小化/平衡特征圖的大小:為了在計算速度方面獲得最佳的折衷,作者提出了一個新的概念,即在CSPOSANet的計算塊之間執行梯度截斷。如果將最初的CSPNet設計應用于DenseNet或ResNet架構,因為這兩個架構的第j層輸出是第1到(j-1)層的集成,我們必須將整個計算塊視為一個整體。由于OSANet的計算塊屬于PlainNet體系結構,因此從計算塊的任何一層生成CSPNet都可以達到梯度截斷的效果。使用此功能重新規劃基礎層的b通道和計算塊生成的kg通道,并將它們拆分為兩條通道數相等的路徑,如下所示。 OSANet、CSPOSANet和CSPOSANet的通道數,其中部分位于計算塊(PCB)中

當通道數為b+kg時,如果要將這些通道分成兩條路徑,最好的分割方法是將其分成兩個相等的部分,即(b+kg)/2。當考慮硬件的帶寬峰值時,如果不考慮軟件優化,則最佳值是ceil((b+kg)/2τ)×2τceil((b+kg)/2τ)×2τceilb+kg/2τ×2τ
**卷積后保持相同數量的通道:**為了評估低端設備的計算成本,還必須考慮功耗,而影響功耗的最大因素是內存訪問成本(MAC)。通常卷積運算的MAC計算方法如下:

其中h、w、Cin、Couth、w、C_{in}、C_{out}hwCin?Cout?和K分別表示特征映射的高度和寬度、輸入和輸出的通道數以及卷積核大小。通過計算幾何不等式,可以得出Cin=CoutC_{in} = C_{out}Cin?=Cout?時為最小MAC。
最小化卷積輸入/輸出(CIO) : 下表列出了OSA、CSP和CSPOSANet的CIO,當kg>b/2kg>b/2kg>b/2時,所提出的CSPOSANet可以獲得最佳的CIO

Scaling Large Models for High-End GPUs:由于我們希望在對CNN模型進行縮放后提高精度并保持實時推理速度,因此在進行復合縮放時,必須在目標檢測器的多個縮放因子中找到最佳組合。通常,我們可以調整目標探測器輸入、主干和頸部的比例因子。下表總結了可調整的潛在比例因子。

圖像分類和目標檢測的最大區別在于前者只需要識別圖像中最大分量的類別,而后者需要預測圖像中每個對象的位置和大小。在單級目標檢測器中,每個位置對應的特征向量用于預測該位置處目標的類別和大小。更好地預測物體大小的能力基本上取決于特征向量的感受野。在CNN架構中,與感受野最直接相關的是stage,而功能金字塔網絡(FPN)架構告訴我們,更高的stage更適合預測大型物體。在下表中,我們說明了感受野和幾個參數之間的關系。

從上表可以明顯看出,寬度縮放可以獨立操作。當輸入圖像大小增加時,如果想要對大型對象有更好的預測效果,必須增加網絡的深度或級數。在列出的參數中,{sizeinputsize^{input}sizeinput,#stage}的混合有4個最佳影響。因此,在執行放大時,我們首先對{sizeinputsize^{input}sizeinput,#stage}執行復合縮放,然后根據實時要求,我們進一步分別對深度和寬度執行縮放。

二、CSP-ized YOLOv4

YOLOv4是為通用GPU上的實時目標檢測而設計的。本文重新設計了YOLOv4到YOLOv4 CSP,以獲得最佳的速度/精度權衡。
主干:在CSPDarknet53的設計中,cross-stage process的下采樣卷積計算不在殘差塊中。因此,可以推斷每個CSPDarknet階段的計算量為whb2(9/4+3/4+5k/2)whb^2(9/4+3/4+5k/2)whb29/4+3/4+5k/2。從上面推導的公式中,我們知道只有當k>1時,CSPDarknet階段才會比Darknet階段有更好的計算優勢。CSPDarknet53中每個階段擁有的殘差層數量分別為1-2-8-8-4。為了獲得更好的速度/精度折衷,將第一個CSP階段轉換為原始的Darknet殘差層。

Neck:為了有效地減少計算量,在YOLOv4中對PAN架構進行了CSP化。PAN架構的計算列表如上左所示。它主要是將來自不同特征金字塔的特征進行整合,然后通過兩組反向Darknet殘差層,無需快捷連接。CSP實現后,新計算列表的體系結構如上圖右所示。這個新的更新有效地減少了40%的計算量。

三、YOLOv4-tiny

將使用帶有PCB架構的CSPOSANet來構成YOLOv4的主干。設定g=b/2作為增長率,并使其在最后增長到b/2+kg=2b。通過計算,推導出k=3,其結構如下所示。至于每個階段的通道數和頸部部分,遵循YOLOv3 tiny的設計。

四、YOLOv4-large

YOLOv4 large是為云GPU設計的,主要目的是實現高精度的目標檢測。本文設計了一個完全CSP化的模型YOLOv4-P5,并將其放大到YOLOv4-P6和YOLOv4-P7。圖4顯示了YOLOv4-P5、YOLOv4P6和YOLOv4-P7的結構。設計在sizeinputsize^{input}sizeinput和#stage上執行復合縮放。將每個階段的深度設置為2dsi2^{d_{s_i}}2dsi??dsd_sds?設置為[1,3,15,15,7,7]。最后,進一步使用推斷時間作為約束來執行額外的寬度縮放。實驗表明,當寬度縮放因子等于1時,YOLOv4P6可以在每秒30幀的視頻中達到實時性能。對于YOLOv4-P7,當寬度縮放因子等于1.25時,它可以以16 FPS的視頻速度達到實時性能。

五、消融實驗

(一)、Ablation study on CSP-ized model

分析CSP化對參數量、計算量、吞吐量和平均精度的影響。使用Darknet53(D53)作為主干,選擇FPN和SPP(FPNSPP)以及PAN和SPP(PANSPP)作為頸部設計消融研究。在下表中,列出了不同DNN模型CSP后的APvalAP^{val}APval結果。分別使用LeakyReu(Leaky)和Mish激活函數來比較使用的參數、計算量和吞吐量。所有實驗都是在COCO minval數據集上進行的,得到的AP顯示在下表的最后一列中。

從上表中列出的數據可以看出,CSP化模型大大減少了32%的參數和計算量,并改善了吞吐量和AP。如果想要保持相同的幀速率,可以添加更多的層-或更先進的激活函數。從上表所示的數字中,可以看到CD53s CFPNSPP Mish和CD53sCPANSPP Leaky與D53 FPNSPP Leaky具有相同的吞吐量,但它們在計算資源較低的情況下,分別有1%和1.6%的AP改進。從以上的改進數據中,可以看到CSP模式的巨大優勢。因此。

(二)、Ablation study on YOLOv4-tiny


從上表所示的圖中,可以看到,設計的PCB技術可以使模型更加靈活,因為這樣的設計可以根據實際需要進行調整。從以上結果中,也證實了線性縮小確實有其局限性。顯然,在有限的操作條件下,tinyCD53s的殘差法成為推理速度的瓶頸,因為它的幀速率遠低于具有相同計算量的COSA體系結構。同時,也看到,提出的COSA可以獲得更高的AP。

其余實驗效果如上。

總結

以上是生活随笔為你收集整理的Scaled-YOLOv4: Scaling Cross Stage Partial Network的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。