日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

一文了解YOLO-v4目标检测

發(fā)布時(shí)間:2025/3/21 242 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一文了解YOLO-v4目标检测 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、YOLO-v4主要做了什么?

通俗的講,就是說(shuō)這個(gè)YOLO-v4算法是在原有YOLO目標(biāo)檢測(cè)架構(gòu)的基礎(chǔ)上,采用了近些年CNN領(lǐng)域中最優(yōu)秀的優(yōu)化策略,從數(shù)據(jù)處理、主干網(wǎng)絡(luò)、網(wǎng)絡(luò)訓(xùn)練、激活函數(shù)、損失函數(shù)等各個(gè)方面都有著不同程度的優(yōu)化,雖沒(méi)有理論上的創(chuàng)新,但是會(huì)受到許許多多的工程師的歡迎,各種優(yōu)化算法的嘗試。文章如同于目標(biāo)檢測(cè)的trick綜述,效果達(dá)到了實(shí)現(xiàn)FPS與Precision平衡的目標(biāo)檢測(cè) new baseline。

①論文主要有以下三點(diǎn)貢獻(xiàn):[1]

  • 開(kāi)發(fā)了一個(gè)高效而強(qiáng)大的模型,使得任何人都可以使用一張1080Ti或者2080Ti GPU去訓(xùn)練一個(gè)超級(jí)快速和精確的目標(biāo)檢測(cè)器。
  • 驗(yàn)證了一系列state-of-the-art的目標(biāo)檢測(cè)器訓(xùn)練方法的影響。
  • 修改了state-of-the-art方法,使得他們?cè)谑褂脝蝹€(gè)GPU進(jìn)行訓(xùn)練時(shí)更加有效和適配,包括CBN,PAN,SAM等。
  • ②作者把訓(xùn)練的方法分成了兩類(lèi):

  • Bag of freebies:只改變訓(xùn)練策略或者只增加訓(xùn)練成本,比如數(shù)據(jù)增強(qiáng)。
  • Bag of specials:插件模塊和后處理方法,它們僅僅增加一點(diǎn)推理成本,但是可以極大地提升目標(biāo)檢測(cè)的精度。
  • 附:論文地址及主流框架的實(shí)現(xiàn)源碼[2]

  • YOLOv4論文地址
  • AlexeyAB大神的項(xiàng)目地址
  • YOLOv4的TensorFlow2.0實(shí)現(xiàn)
  • YOLOv4的TensorFlow實(shí)現(xiàn):地址一、地址二
  • YOLOv4的PyTorch實(shí)現(xiàn):地址一、地址二
  • YOLOv4(TensorFlow后端)的Keras實(shí)現(xiàn)
  • YOLOv4-QtGUI
  • 將YOLOv4模型轉(zhuǎn)換到tflite中使用
  • 二、網(wǎng)絡(luò)結(jié)構(gòu)

  • 上圖總結(jié)了近些年的目標(biāo)檢測(cè)檢測(cè)器的優(yōu)化改進(jìn)手段的方向結(jié)構(gòu)組成,同時(shí)在下面對(duì)幾個(gè)重要改進(jìn)的部分列出了改進(jìn)的方法,如下:[3]
  • 目前主流two-stage檢測(cè)器的主要架構(gòu)

    • Input部分:Image,Patches,Images Pyramid(圖像金字塔)
    • Backbone部分:VGG16,ResNet-50,SpineNet,EfficientNet-B0 / B7,CSPResNeXt50,CSPDarknet53
    • neck部分:
      • Additional blocks:SPP,ASPP,RFB,SAM
      • Path-aggregation blocks:FPN,PAN,NAS-FPN,Fully-connected FPN,BiFPN,ASFF,SFAM
    • Heads部分:
      • Dense Predictions(one-stage):
        • RPN,SSD,YOLO,RetinaNet (基于anchor)
        • CornerNet,CenterNet,MatrixNet,FCOS(無(wú)anchor)
      • Sparse Predictions(two-stages):
        • Faster R-CNN,R-FCN,Mask R-CNN(基于anchor)
        • RepPoints(無(wú)anchor)

    2. 下圖為 yolov4 網(wǎng)絡(luò)結(jié)構(gòu)的采用的算法,其中保留了yolov3的head部分,修改了主干網(wǎng)絡(luò)為CSPDarknet53,同時(shí)采用了SPP(空間金字塔池化)的思想來(lái)擴(kuò)大感受野,PANet作為neck部分。

    Yolo-v4網(wǎng)絡(luò)架構(gòu)圖

    3. 下圖為yolov4在技術(shù)處理的思維導(dǎo)圖:

    YOLO-v4的backbone與detector的主要技術(shù)實(shí)現(xiàn)

    三、算法知識(shí)點(diǎn)相關(guān)釋義[4]

  • BoF(bag of freebies)
  • 在文中是指那些能夠提高精度而不增加推斷時(shí)間的技術(shù)。

    • 比如數(shù)據(jù)增廣的方法:圖像幾何變換、Cutout、grid mask等,
    • 網(wǎng)絡(luò)正則化的方法:Dropout、Dropblock等,
    • 類(lèi)別不平衡的處理方法,
    • 難例挖掘方法,
    • 損失函數(shù)的設(shè)計(jì)等,

    2.?BoS(bag of specials)

    是指那些增加稍許推斷代價(jià),但可以提高模型精度的方法。

    • 比如增大模型感受野的SPP、ASPP、RFB等,
    • 引入注意力機(jī)制Squeeze-and-Excitation (SE) 、Spatial Attention Module (SAM)等 ,
    • 特征集成方法SFAM , ASFF , BiFPN等,
    • 改進(jìn)的激活函數(shù)Swish、Mish等,
    • 或者是后處理方法如soft NMS、DIoU NMS等,

    3.在目標(biāo)檢測(cè)訓(xùn)練中,通常對(duì)CNN的優(yōu)化改進(jìn)方法

    • 激活函數(shù):ReLU,leaky-ReLU,parameter-ReLU,ReLU6,SELU,Swish或Mish
    • bbox回歸loss函數(shù):MSE,IoU,GIoU,CIoU,DIoU
    • 數(shù)據(jù)增強(qiáng):CutOut,MixUp,CutMix
    • 正則化方法:DropOut,DropPath,Spatial DropOut或DropBlock
    • 通過(guò)均值和方差對(duì)網(wǎng)絡(luò)激活進(jìn)行歸一化:Batch Normalization (BN), Cross-GPU Batch Normalization (CGBN or SyncBN), Filter Response Normalization (FRN), orCross-Iteration Batch Normalization (CBN)
    • 跨連接:Residual connections, Weightedresidual connections, Multi-input weighted residualconnections, or Cross stage partial connections (CSP)

    4.CSPDarknet53

    由論文可知,CSPDarknet53包含29個(gè)卷積層,725*725的感受野,27.6M參數(shù)。

    backbone對(duì)比

    5.關(guān)于CmBN

    BN是對(duì)當(dāng)前mini-batch進(jìn)行歸一化。CBN是對(duì)當(dāng)前以及當(dāng)前往前數(shù)3個(gè)mini-batch的結(jié)果進(jìn)行歸一化,本文提出的CmBN則是僅僅在這個(gè)Batch中進(jìn)行累積。在消融實(shí)驗(yàn)中,CmBN要比BN高出不到一個(gè)百分點(diǎn)。

    CmBN

    6.關(guān)于SAM

    Attention機(jī)制中的CBAM, CBAM含有空間注意力機(jī)制和通道注意力機(jī)制,

    SAM就是其中的空間注意力機(jī)制.

    SAM

    7.?PANet

    PANet融合的時(shí)候使用的方法是Addition, 詳解見(jiàn):CVPR 2018 PANet

    YOLOv4算法將融合的方法由加法改為乘法。

    PANet

    ?

    四、算法的實(shí)驗(yàn)效果

  • 使用MS COCO數(shù)據(jù)集,在每一行不同的GPU上,使用不同的網(wǎng)絡(luò)跟YOLOv4進(jìn)行的對(duì)比結(jié)果:(橫軸為FPS,縱軸為AP值)
  • 2.因?yàn)椴煌乃惴ü紩r(shí)可能在不同的GPU上進(jìn)行測(cè)試,作者根據(jù)不同的GPU(Maxwell/Pascal/Volta)分別列出了YOLOv4與其他算法的更詳細(xì)的比較,即Table 8、9、10,幀率大于等于30的用藍(lán)底標(biāo)出。

    圖一

    圖二

    圖三

    YOLOv4 算法在實(shí)時(shí)目標(biāo)檢測(cè)算法中精度最高,實(shí)現(xiàn)了精度和速度的最佳平衡。

    參考

  • ^YOLOv4論文學(xué)習(xí)記錄?https://blog.csdn.net/heiheiya/article/details/105812825
  • ^YOLOv4 的各種實(shí)現(xiàn)匯總?https://mp.weixin.qq.com/s?__biz=MzIwMTE1NjQxMQ==&mid=2247506196&idx=2&sn=d5de504af0edf82697c6f0ecfcb50d12&chksm=96f0ab40a18722569c8cd15c03529e1d29d11b66be526b26b53d443611babda339a8fc37ab23&mpshare=1&scene=1&srcid=0427URofQY95wbfbpZELWNGk&sharer_sharetime=1587994657016&sharer_shareid=c69c9a4255c32bdac8d66c388b9626a6#rd
  • ^YOLOv4全文解讀與翻譯總結(jié)?https://mp.weixin.qq.com/s?__biz=MzU2NTc5MjIwOA==&mid=2247489140&idx=1&sn=7ec16d43b182dd56b2d975bb3cd05adf&chksm=fcb70acbcbc083ddbab8be612388135e4cc5ebee00b301755404c66f3da51f7ebd6a17f89eba&mpshare=1&&srcid=&sharer_sharetime=1587900548327&sharer_shareid=8a987be85d15ba23c8b37882f59430b7&from=timeline&scene=2&subscene=1&clicktime=1587901287&enterid=1587901287#rd
  • ^YOLOv4來(lái)了?https://mp.weixin.qq.com/s?__biz=MzUzODkxNzQzMw==&mid=2247484251&idx=1&sn=ae336111261f1a92a015a41a08f9eb80&chksm=fad12c0dcda6a51b8ec884c9603078f1d5d7d64a5b221fad629d3f324274a75fa690a097e6c8&mpshare=1&scene=1&srcid=0424xB4HCCRQGCiHFv5UzWaG&sharer_sharetime=1587701862634&sharer_shareid=c69c9a4255c32bdac8d66c388b9626a6#rd
  • 總結(jié)

    以上是生活随笔為你收集整理的一文了解YOLO-v4目标检测的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。