yolov5模型框架詳解

2021-10-20 20:47:34 字數 1356 閱讀 8297

yolov5和yolov4很像

mosaic資料增強

1、每次讀取四張。

2、分別對四張進行翻轉、縮放、色域變化等,並且按照四個方向位置擺好。

3、進行的組合和框的組合

對於小目標的檢測效果還是很不錯的

自適應錨框計算

在yolo演算法中,針對不同的資料集,都會有初始設定長寬的錨框

在網路訓練中,網路在初始錨框的基礎上輸出**框,進而和真實框groundtruth進行比對,計算兩者差距,再反向更新,迭代網路引數

因此初始錨框也是比較重要的一部分,比如yolov5在coco資料集上初始設定的錨框:

3)自適應縮放

在常用的目標檢測演算法中,不同的長寬都不相同,因此常用的方式是將原始統一縮放到乙個標準尺寸,再送入檢測網路中。

比如yolo演算法中常用416*416,608*608等尺寸,比如對下面800*600的影象進行縮放。

yolov5的**中datasets.py的letterbox函式中進行了修改,對原始影象自適應的新增最少的黑邊

yolov5現在的neck和yolov4中一樣,都採用fpn+pan的結構,但在yolov5剛出來時,只使用了fpn結構,後面才增加了pan結構,此外網路中其他部分也進行了調整。

因此,大白在yolov5剛提出時,畫的很多結構圖,又都重新進行了調整。

yolo 系列的損失計算是基於 objectness score, class probability score,和 bounding box regression score.

yolo v5使用 giou loss作為bounding box的損失。

yolo v5使用二進位制交叉熵和 logits 損失函式計算類概率和目標得分的損失。同時我們也可以使用fl _ gamma引數來啟用focal loss計算損失函式。

yolo v4使用 ciou loss作為bounding box的損失,與其他提到的方法相比,ciou帶來了更快的收斂和更好的效能。

YOLOV5模型架構

模型架構是按照配置檔案yaml進行搭建的。不同的版本的yaml在model資料夾中,每一版本的模型分為兩個部分backbone和head。每一行代表了乙個運算單元,這裡按照yolov5結構圖可以方便理解。每一行有四個引數,引數1 代表輸入從運算單元獲得,1代表從上乙個單元獲得。引數2 代表該運算單元...

yolov3 yolov4與yolov5效能對比

yolov5s網路最小,速度最少,ap精度也最低。但如果檢測的以大目標為主,追求速度,倒也是個不錯的選擇。其他的三種網路,在此基礎上,不斷加深加寬網路,ap精度也不斷提公升,但速度的消耗也在不斷增加。目前使用下來,yolov5s的模型十幾m大小,速度很快,線上生產效果可觀,嵌入式裝置可以使用。在相同...

目標檢測 YOLOv5(八)

簡介 yolov5權重檔案 密碼 00mp 作者給的演算法效能如下圖 改編自知乎大佬的一張圖 yolov5s網路是yolov5系列中深度最小,特徵圖的寬度最小的網路。後面的3種 yolov5m yolov5l yolov5x 都是在此基礎上不斷加深,不斷加寬。1 mosaic資料增強 同yolov4...