生活随笔
收集整理的這篇文章主要介紹了
【YOLOV5-5.x 源码讲解】整体项目文件导航
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
這個項目是github的開源項目,YOLOV5:https://github.com/ultralytics/yolov5,目前已經有14.1k個Star 和 4.9k 個Folk了,非常的火。下面我會給大家逐個的文件介紹這個項目中的所有代碼,希望能幫到大家。
原本我下的2021年4月12日更新的v5.0版本,整個項目我做了一點點的文件位置的改變,也加了點自己在其他論文中學到的tricks。不過由于yolov5這個版本迭代的速度非常快,我這個代碼也并不是和官網下載v5.0的那個版本就一模一樣,而且我也參考了一些后面的版本代碼,還是稍微改動了一些的,不過總體來說還是差不了太多的。下面我會按文件逐個函數的進行攻破,因為我本人也還是研一,肯定會有很多的不足,希望大家指正!!!
現在是2021-07-23,目標是在一個月內寫完,也就是最遲2021-8-23日更完整個項目的所有的代碼。
拖幾天,還有3個文件!!!
寫完了,斷斷續續寫了35天,主要是最近比較忙,好在沒拖到開學。希望對大家有些幫助!
注釋版全部項目文件已上傳至GitHub: yolov5-5.x-annotations.
有幾個想法(最近找工作中,所以需要擱淺一段時間,后面會補上這個坑)
想在yolov5的基礎上加一個分支進行分割任務yolov5 + Circular Smooth Label -> 旋轉目標檢測yolov5剪枝輕量化
已實現:
YOLOv5 Head解耦: 【YOLOv5 Head解耦】yolov5+shufflenetv2輕量化【項目二、蜂巢檢測項目】二、模型改進:YOLOv5s-ShuffleNetV2
一、導航
YOLOV5-U
-
data
- hyp.scratch.yaml
- coco128.yaml
-
models
- activations.py
- common.py
- experimental.py
- yolo.py
- export.py
- yolov5s.yaml
-
utils
- autoanchor.py
- datasets.py
- general.py
- google_utils.py
- loss.py
- metrics.py
- plots.py
- torch_utils.py
-
train.py
-
val(test).py
-
detect.py
二、尚存在的問題
AWS Inferentia?
不是很清楚這其中的原理 AWS Inferentia 和 正常的推理公式有什么區別?
更新:亞馬遜的一個部署推理使用, 和整體的模型算法關系不大,一般用不太到,不用太關注。
non_max_suppression中的autolabelling是什么?這樣子作不就導致最終mAP過高了嗎?為什么這么做?
更新:已解決,在general.py的non_max_suppression函數中有詳細解釋!!!
計算損失函數置信度損失這一步時為什么要對置信度進行排序???排不排序效果不是一樣的嗎?
更新:已解決,在loss.py的ComputeLoss類中已經解釋清楚!
Reference
Github: https://github.com/ultralytics/yolov5.Github: https://github.com/Laughing-q/yolov5_annotations.BiliBili: yolov5講解.BiliBili 霹靂吧啦Wz: yolov3講解.BiliBili 人工智能打游戲系列課程1:基于深度學習的目標檢測算法: yolov3講解.CSDN Laughing-q: YOLOV5講解.CSDN 幻靈H_Ling: YOLOv5源代碼導讀.CSDN 昌山小屋: YOLOV5講解.CSDN 恩澤君: (yolo v3)使用自己數據集k-means聚類產生的anchor效果反而變差解決方法.CSDN TheOldManAndTheSea: 目標檢測 YOLOv5 - Sample Assignment.CSDN 菊頭蝙蝠: yolov5–loss.py --v5.0版本-最新代碼詳細解釋-2021-7-1更新.CSDN 外交官的后花園: YOLO-V3-SPP 訓練時正樣本篩選源碼解析之build_targets.CSDN guikunchen: yolov5 代碼解讀 損失函數 loss.py.CSDN 迷途小書童的Note: YOLOv5的flask部署.CSDN RainbowSun1102: yolov5代碼閱讀筆記.CSDN Activewaste: 【干貨】用tensorRT加速yolov5全記錄,包含加速前后的數據對比.CSDN DEEPFELLOW: YOLOv5模型剪枝壓縮.CSDN cv君: 【深入YoloV5(開源)】基于YoloV5的模型優化技術與使用OpenVINO推理實現.CSDN aabbcccddd01: YOLOv5模型網絡結構簡單理解及詳解anchor設置.CSDN 技術挖掘者: YOLOv5算法詳解.CSDN 那年當上博士前: 細數YOLOv5在使用過程中自己改動的部分.CSDN 啥都會一點的老程: 一點就分享系列(實踐篇3-上篇)— 修改YOLOV5 之”魔刀小試“+ Trick心得分享+V5精髓部分源碼解讀.CSDN 一只歪脖子程序猿: YOLOv5 Android(完結).CSDN 是否龍磊磊真的一無所有: 目標檢測計算mAP,AP,Recall,Precision的計算方式和代碼(YOLO和FastRCNN等).CSDN YY_172: pytorch中加入注意力機制(CBAM),以yolov5為例).CSDN 菊頭蝙蝠: yolov5–v5.0版本(最新)代碼解析導航.CSDN 暮丶涼: YOLOV5源碼解讀(數據集加載和增強).CSDN wa1tzy: YOLOv5系列(2)——YOLOv5導出jit,onnx,engine.CSDN DLANDML: yolo5的改進策略.CSDN 昌山小屋: 【玩轉yolov5】請看代碼之自動anchor計算.CSDN Liaojiajia-2020: 自用代碼 | YOLOv5 特征圖可視化代碼.CSDN Liaojiajia-2020: 自用代碼 | 用Python對視頻進行幀切割和幀合并.CSDN Liaojiajia-2020: YOLOv5代碼詳解(train.py部分).CSDN TheOldManAndTheSea: 目標檢測 YOLOv5 自定義網絡結構.CSDN 吸歐大王: yolov5深度剖析+源碼debug級講解系列(三)yolov5 head源碼解析.CSDN 昌山小屋: 【玩轉yolov5】之anchor匹配策略(build_targets)分析(1).CSDN BIT可達鴨: 在WEB端部署YOLOv5目標檢測(Flask+VUE).CSDN xingzeng307: YOLOv5結合BiFPN.CSDN DEEPFELLOW: YOLOv5模型剪枝壓縮(2)-YOLOv5模型簡介和剪枝層選擇.CSDN Charles.zhang: YOLOv5代碼詳解(common.py部分).CSDN a_cheng_: YOLOV5訓練自己的數據集(踩坑經驗之談).CSDN Liaojiajia-2020: YOLOv5代碼詳解(yolov5l.yaml部分).CSDN \lambda: YOLOv5s網絡結構詳解.
總結
以上是生活随笔為你收集整理的【YOLOV5-5.x 源码讲解】整体项目文件导航的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。