【YOLOV5-5.x 源码讲解】整体项目文件导航

【YOLOV5-5.x 源码讲解】整体项目文件导航,第1张

前言

这个项目是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.


最近有两个想法

  1. 想在yolov5的基础上加一个分支进行分割任务
  2. 想将yolov5的head进行解耦

还在做实验(私人数据集,不是公开数据集,不能保证一定work),代码部分可能下个月再放到github上



一、导航

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


二、尚存在的问题

  1. AWS Inferentia?

    不是很清楚这其中的原理 AWS Inferentia 和 正常的推理公式有什么区别?

    更新:亚马逊的一个部署推理使用, 和整体的模型算法关系不大,一般用不太到,不用太关注。


  2. non_max_suppression中的autolabelling是什么?这样子作不就导致最终mAP过高了吗?为什么这么做?

    更新:已解决,在general.py的non_max_suppression函数中有详细解释!!!

  3. 计算损失函数置信度损失这一步时为什么要对置信度进行排序???排不排序效果不是一样的吗?

    更新:已解决,在loss.py的ComputeLoss类中已经解释清楚!

Reference
  1. Github: https://github.com/ultralytics/yolov5.
  2. Github: https://github.com/Laughing-q/yolov5_annotations.
  3. BiliBili: yolov5讲解.
  4. BiliBili 霹雳吧啦Wz: yolov3讲解.
  5. BiliBili 人工智能打游戏系列课程1:基于深度学习的目标检测算法: yolov3讲解.
  6. CSDN Laughing-q: YOLOV5讲解.
  7. CSDN 幻灵H_Ling: YOLOv5源代码导读.
  8. CSDN 昌山小屋: YOLOV5讲解.
  9. CSDN 恩泽君: (yolo v3)使用自己数据集k-means聚类产生的anchor效果反而变差解决方法.
  10. CSDN TheOldManAndTheSea: 目标检测 YOLOv5 - Sample Assignment.
  11. CSDN 菊头蝙蝠: yolov5–loss.py --v5.0版本-最新代码详细解释-2021-7-1更新.
  12. CSDN 外交官的后花园: YOLO-V3-SPP 训练时正样本筛选源码解析之build_targets.
  13. CSDN guikunchen: yolov5 代码解读 损失函数 loss.py.
  14. CSDN 迷途小书童的Note: YOLOv5的flask部署.
  15. CSDN RainbowSun1102: yolov5代码阅读笔记.
  16. CSDN Activewaste: 【干货】用tensorRT加速yolov5全记录,包含加速前后的数据对比.
  17. CSDN DEEPFELLOW: YOLOv5模型剪枝压缩.
  18. CSDN cv君: 【深入YoloV5(开源)】基于YoloV5的模型优化技术与使用OpenVINO推理实现.
  19. CSDN aabbcccddd01: YOLOv5模型网络结构简单理解及详解anchor设置.
  20. CSDN 技术挖掘者: YOLOv5算法详解.
  21. CSDN 那年当上博士前: 细数YOLOv5在使用过程中自己改动的部分.
  22. CSDN 啥都会一点的老程: 一点就分享系列(实践篇3-上篇)— 修改YOLOV5 之”魔刀小试“+ Trick心得分享+V5精髓部分源码解读.
  23. CSDN 一只歪脖子程序猿: YOLOv5 Android(完结).
  24. CSDN 是否龙磊磊真的一无所有: 目标检测计算mAP,AP,Recall,Precision的计算方式和代码(YOLO和FastRCNN等).
  25. CSDN YY_172: pytorch中加入注意力机制(CBAM),以yolov5为例).
  26. CSDN 菊头蝙蝠: yolov5–v5.0版本(最新)代码解析导航.
  27. CSDN 暮丶凉: YOLOV5源码解读(数据集加载和增强).
  28. CSDN wa1tzy: YOLOv5系列(2)——YOLOv5导出jit,onnx,engine.
  29. CSDN DLANDML: yolo5的改进策略.
  30. CSDN 昌山小屋: 【玩转yolov5】请看代码之自动anchor计算.
  31. CSDN Liaojiajia-2020: 自用代码 | YOLOv5 特征图可视化代码.
  32. CSDN Liaojiajia-2020: 自用代码 | 用Python对视频进行帧切割和帧合并.
  33. CSDN Liaojiajia-2020: YOLOv5代码详解(train.py部分).
  34. CSDN TheOldManAndTheSea: 目标检测 YOLOv5 自定义网络结构.
  35. CSDN 吸欧大王: yolov5深度剖析+源码debug级讲解系列(三)yolov5 head源码解析.
  36. CSDN 昌山小屋: 【玩转yolov5】之anchor匹配策略(build_targets)分析(1).
  37. CSDN BIT可达鸭: 在WEB端部署YOLOv5目标检测(Flask+VUE).
  38. CSDN xingzeng307: YOLOv5结合BiFPN.
  39. CSDN DEEPFELLOW: YOLOv5模型剪枝压缩(2)-YOLOv5模型简介和剪枝层选择.
  40. CSDN Charles.zhang: YOLOv5代码详解(common.py部分).
  41. CSDN a_cheng_: YOLOV5训练自己的数据集(踩坑经验之谈).
  42. CSDN Liaojiajia-2020: YOLOv5代码详解(yolov5l.yaml部分).
  43. CSDN \lambda: YOLOv5s网络结构详解.

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/571476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存