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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 目标检测 >内容正文

目标检测

一文了解YOLO-v4目标检测

發布時間:2025/3/21 目标检测 200 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一文了解YOLO-v4目标检测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

通俗的講,就是說這個YOLO-v4算法是在原有YOLO目標檢測架構的基礎上,采用了近些年CNN領域中最優秀的優化策略,從數據處理、主干網絡、網絡訓練、激活函數、損失函數等各個方面都有著不同程度的優化,雖沒有理論上的創新,但是會受到許許多多的工程師的歡迎,各種優化算法的嘗試。文章如同于目標檢測的trick綜述,效果達到了實現FPS與Precision平衡的目標檢測 new baseline。

①論文主要有以下三點貢獻:[1]

  • 開發了一個高效而強大的模型,使得任何人都可以使用一張1080Ti或者2080Ti GPU去訓練一個超級快速和精確的目標檢測器。
  • 驗證了一系列state-of-the-art的目標檢測器訓練方法的影響。
  • 修改了state-of-the-art方法,使得他們在使用單個GPU進行訓練時更加有效和適配,包括CBN,PAN,SAM等。
  • ②作者把訓練的方法分成了兩類:

  • Bag of freebies:只改變訓練策略或者只增加訓練成本,比如數據增強。
  • Bag of specials:插件模塊和后處理方法,它們僅僅增加一點推理成本,但是可以極大地提升目標檢測的精度。
  • 附:論文地址及主流框架的實現源碼[2]

  • YOLOv4論文地址
  • AlexeyAB大神的項目地址
  • YOLOv4的TensorFlow2.0實現
  • YOLOv4的TensorFlow實現:地址一、地址二
  • YOLOv4的PyTorch實現:地址一、地址二
  • YOLOv4(TensorFlow后端)的Keras實現
  • YOLOv4-QtGUI
  • 將YOLOv4模型轉換到tflite中使用
  • 二、網絡結構

  • 上圖總結了近些年的目標檢測檢測器的優化改進手段的方向結構組成,同時在下面對幾個重要改進的部分列出了改進的方法,如下:[3]
  • 目前主流two-stage檢測器的主要架構

    • 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(無anchor)
      • Sparse Predictions(two-stages):
        • Faster R-CNN,R-FCN,Mask R-CNN(基于anchor)
        • RepPoints(無anchor)

    2. 下圖為 yolov4 網絡結構的采用的算法,其中保留了yolov3的head部分,修改了主干網絡為CSPDarknet53,同時采用了SPP(空間金字塔池化)的思想來擴大感受野,PANet作為neck部分。

    Yolo-v4網絡架構圖

    3. 下圖為yolov4在技術處理的思維導圖:

    YOLO-v4的backbone與detector的主要技術實現

    三、算法知識點相關釋義[4]

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

    • 比如數據增廣的方法:圖像幾何變換、Cutout、grid mask等,
    • 網絡正則化的方法:Dropout、Dropblock等,
    • 類別不平衡的處理方法,
    • 難例挖掘方法,
    • 損失函數的設計等,

    2.?BoS(bag of specials)

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

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

    3.在目標檢測訓練中,通常對CNN的優化改進方法

    • 激活函數:ReLU,leaky-ReLU,parameter-ReLU,ReLU6,SELU,Swish或Mish
    • bbox回歸loss函數:MSE,IoU,GIoU,CIoU,DIoU
    • 數據增強:CutOut,MixUp,CutMix
    • 正則化方法:DropOut,DropPath,Spatial DropOut或DropBlock
    • 通過均值和方差對網絡激活進行歸一化: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個卷積層,725*725的感受野,27.6M參數。

    backbone對比

    5.關于CmBN

    BN是對當前mini-batch進行歸一化。CBN是對當前以及當前往前數3個mini-batch的結果進行歸一化,本文提出的CmBN則是僅僅在這個Batch中進行累積。在消融實驗中,CmBN要比BN高出不到一個百分點。

    CmBN

    6.關于SAM

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

    SAM就是其中的空間注意力機制.

    SAM

    7.?PANet

    PANet融合的時候使用的方法是Addition, 詳解見:CVPR 2018 PANet

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

    PANet

    ?

    四、算法的實驗效果

  • 使用MS COCO數據集,在每一行不同的GPU上,使用不同的網絡跟YOLOv4進行的對比結果:(橫軸為FPS,縱軸為AP值)
  • 2.因為不同的算法公布時可能在不同的GPU上進行測試,作者根據不同的GPU(Maxwell/Pascal/Volta)分別列出了YOLOv4與其他算法的更詳細的比較,即Table 8、9、10,幀率大于等于30的用藍底標出。

    圖一

    圖二

    圖三

    YOLOv4 算法在實時目標檢測算法中精度最高,實現了精度和速度的最佳平衡。

    參考

  • ^YOLOv4論文學習記錄?https://blog.csdn.net/heiheiya/article/details/105812825
  • ^YOLOv4 的各種實現匯總?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全文解讀與翻譯總結?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來了?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
  • 總結

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

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