1. 磐创AI首页
  2. Medium

解释并揭开YOLO v5 - 的神秘面纱


在本文中,將介紹YOLOv5實作中使用的以下最重要的技術細節和方向.

由於YoloV5共有4個版本,這邊將介紹“Yolov5s”版本。但是,如果您仔細地參考這一點,您會發現,在其他版本中,除了模型層/體系結構和一些參數之外,沒有什麼大的變化.

大纲

1.YOLO v5模型架构

由於yolo v5是一個单级物件偵測器,它與其他任何单级物件偵測器一樣,有三個重要部分。

1.1型号主干

模型主干主要用於從給定的輸入影像中選取重要特徵。在YOLO v5中,CSP-跨级部分网络用作主干,從輸入影像中選取豐富的資訊特徵CSP — Cross Stage Partial Networks

CSPnet在深度網路的處理時間上有了顯著的改進.參考下圖,有關CSPnet的更多資訊,請參閱Github回购。Github repo

1.2型号颈部

模型颈部主要用於生成特征棱锥体(特徵金字塔)。特徵金字塔有助於模型在物件縮放時更好地做一般泛化.它有助於識別具有不同大小和比例的同一物件.

特徵金字塔非常有用,可以幫助模型在從未看過的數據上表現良好.還有其他模型使用不同類型的特徵金字塔技術,如、BIFPN、PANET等.FPN BiFPN PANet

在yolo v5中,PANET用於作為Neck以獲取特徵金字塔.有關特徵金字塔的詳細資訊,請參閱以下連結.PANet

1.3模型机头

模特头像主要用於執行最終偵測部分。它在特徵上應用锚盒、並生成具有類別機率、Objectity分數和包围盒的最終輸出向量。

在Yolo v5模型中,Head與之前的Yolo V3和V4版本相同.

此外,我還附上了YoloV5的最終模型架構–一個小版本.你可以在這裡找到它.這裡

2.激活功能

在任何深度神經網路中,啟動函數的選擇都是最關鍵的.最近,許多啟動函數被引入,如leaky relu,mish,swiw等.Leaky ReLU mish swish

yolo v5的作者決定使用leaky relu和Sigmoid啟動函數.Sigmoid

在yolo v5中,中間層/隱藏層使用leaky relu啟動函數,最終檢測層使用Sigmoid啟動函數.你可以在這裡驗證.這裡

3.优化函数

對於yolo v5中的優化函數,我們在yolo v5中有兩個選項

在yolo v5中,Training的預設優化函數是SGD.

但是,您可以將其更改為adam使用“–adam”命令列參數.

4.成本函数或损失函数

在Yolo系列中,有一個复合损失是基於对象性得分、类概率得分和包围盒回歸得分計算的。

超分析使用了二元交叉熵与LOGITS损失和火炬的LOGITS損失函數來計算类概率和对象分数的損失。Binary Cross-Entropy with Logits Loss

我們還可以選擇Focus Lost來計算損失。您可以選擇使用fl_超參數進行焦损訓練。Focal Loss

5.权重、偏差、参数、渐变和最终模型汇总

要仔細查看YOLOv5-小型中各層的權重、偏差、形狀和參數,請參閱以下資訊。

此外,您還可以參考以下YOLO v5-小型机的簡要概述。

Model Summary: 191 layers, 7.46816e+06 parameters, 7.46816e+06 gradients

6.YOLO v5版本不同

6.1Yolov5四種網絡的深度

在上圖中,大白畫了兩種CSP結構、CSP 1和CSP 2、其中CSP 1結構主要應用於Backbone中、CSP 2結構主要應用於Neck中。

需要注意的是,四種網絡結構中每個Csp結構的深度都是不同的.

而Yolov5m中使用了2組,Yolov5l中使用了3組,Yolov5x中使用了4組。

其他的四個Csp2結構,也是同理.

Yolov5中,網絡的不斷加深,也在不斷增加網絡特徵提取和特徵融合的能力.

6.2Yolov5四種網絡的寬度

如上圖表格中所示,四種yolov5結構在不同階段的捲積核的數量都是不一樣的,因此也直接影響卷積後特徵圖的第三維度,即厚度,大白這裡表示為網絡的寬度.

四種不同結構的捲積核的數量不同,這也直接影響網絡中,比如Csp1、Csp2等結構,以及各個普通卷積,卷積操作時的捲積核數量也同步在調整,影響整體網絡的計算量.

大家最好可以將結構圖和前面第一部分四個網絡的特徵圖鏈接,對應查看,思路會更加清晰.

當然卷積核的數量越多,特徵圖的厚度,即寬度越寬,網絡提取特徵的學習能力也越強.

6.3Yolov5四種結構的參數

每個網絡結構的兩個參數:

(1)Yolov5s.yaml

(2)Yolov5m.yaml

(3)Yolov5l.yaml

(4)Yolov5x.yaml

四種結構就是通過上面的兩個參數,來進行控制網絡的

参考文献

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/10/12/%e8%a7%a3%e9%87%8a%e5%b9%b6%e6%8f%ad%e5%bc%80yolo-v5%e2%80%8a-%e2%80%8a%e7%9a%84%e7%a5%9e%e7%a7%98%e9%9d%a2%e7%ba%b1/

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息