下载安装Git(超详细超简单)_git下载-CSDN博客
如何通过cmd命令查看本机是否安装了Git或Git的版本号_查看git版本-CSDN博客
pycharm 设置为git默认编辑器_Pycharm自带Git实现版本管理-CSDN博客
git 工具下载(小白所以没用过,但不用不行)
1.清理缓存(下载超时失败后)
pip cache purge
2.conda创建环境
win+r:打开命令输入cmd
虚拟环境创建:conda create --name yolo python=3.9,输入y
查看已经创建的所有环境:conda info -e
查看当前环境下的list: 1)激活当前环境 conda activate yolo(yolo为自己起的环境名字) 2) conda list
退出激活环境:conda deactivate
2.官网下载YOLOv5(zip文件)
GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
3.依赖包下载
下载后解压,在解压文件夹输入cmd,激活创建的环境;
1)激活刚才创建的环境:conda activate yolo;2)下载依赖包:pip install -r requirements.txt (一般都得用镜像源:pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple)可以conda list查看环境下的下载列表
4.detect 测试
在pycharm中打开yolov5文件:
选择interpret setting为建立的yolo环境运行detect.py测试——成功显示:
5. 数据集标注(公开的可能无需标注)
yolov5官网用户数据集训练的指导:官网有标注工具,没学会https://docs.ultralytics.com/yolov5/tutorials/train_custom_data/#23-organize-directorieshttps://docs.ultralytics.com/yolov5/tutorials/train_custom_data/#23-organize-directories
注:yolov5数据label中为class x_center y_center width height; txt文件
数据集标注
labelme或者labelimg,(这里采用labelme)下载地址:https://github.com/labelmeai/labelme解压,打开下载位置文件夹(操作同上)设置虚拟环境
conda create --name=labelme python=3.9
conda activate labelme
激活labelme虚拟环境:conda activate labelme;
下载: pip install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install labelme -i https://pypi.tuna.tsinghua.edu.cn/simple
使用labelme:Labelme安装与使用教程:为机器学习提供精准标注数据-百度开发者中心 (baidu.com)
win+r 输入cmd ; 激活labelme环境;输入labelme可直接打开:
标注好保存格式为jons文件,转txt方式参考:【Yolov5】1.认真总结6000字Yolov5保姆级教程(2022.06.28全新版本v6.1)_yolov5教程-CSDN博客https://blog.csdn.net/m0_53392188/article/details/119334634
YOLO v5 实现目标检测(参考数据集&自制数据集) - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/269587479
注意:数据集的label是一张图对应一个txt文件,并且label名字与image应该相同。
(官网指导)数据集文件和model文件的目录格式:
数据集和yolo文件夹并列存放
6.代码解读
【目标检测】目标检测界的扛把子YOLOv5(原理详解+修炼指南)-腾讯云开发者社区-腾讯云 (tencent.com)https://cloud.tencent.com/developer/article/2054281YOLOv5 模型结构详细讲解_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1zB4y1L7Ay?p=2&spm_id_from=pageDriver&vd_source=36a3ea40fdb2ee3d82d19f88b0e532f0YOLOv5之autoanchor看这一篇就够了 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/5440660756. Windows系统上训练PASCAL VOC数据集._哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1sHHSetEA3/?p=6&spm_id_from=pageDriver&vd_source=36a3ea40fdb2ee3d82d19f88b0e532f0
以下为个人标注版yolov5s.yaml文件如下:(模型的主要结构;注意:自添加的注释会导致报错)
# Ultralytics YOLOv5 🚀, AGPL-3.0 license
# Parameters
nc: 80 # number of classes coco数据集有80类
depth_multiple: 0.33 # model depth multiple 调节网络模块层数
width_multiple: 0.50 # layer channel multiple 网络输出通道数调整channel
anchors:
#这个参数是怎么实现的?
- [10, 13, 16, 30, 33, 23] # P3/8 小目标检测
- [30, 61, 62, 45, 59, 119] # P4/16
- [116, 90, 156, 198, 373, 326] # P5/32 大目标检测
# YOLOv5 v6.0 backbone
backbone:
# [from, number, module, args]
[
[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2 #-1表示从前向传递,1表示重复次数为1;
#输出channel为64,k=6*6,stride=2,padding=2
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 #以下默认无padding ;
#P2/4 :表示输出特征图变为原来的0.25
[-1, 3, C3, [128]], #c3是单独的模型
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 6, C3, [256]],
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 9, C3, [512]],
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9 ##yolov5改进SPP——SPPfast
]
# YOLOv5 v6.0 head
head: [
#neck:
[-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, "nearest"]],
[[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large)
#detector:
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
##检测层挂在17,20,23层后面
]
7.自数据集训练
仍参考这篇:【Yolov5】1.认真总结6000字Yolov5保姆级教程(2022.06.28全新版本v6.1)_yolov5教程-CSDN博客https://blog.csdn.net/m0_53392188/article/details/119334634(1)将自建数据集文件夹按如下格式安置:数据集和模型文件夹在project中是并列关系(5.数据标注中也说了)
注意:数据集images和labels文件夹下的train和val文件夹下直接放图和txt文件,不要有多余的文件夹等级 ,如上右图所示。
(2)修改yaml文件
修改data中的yaml文件——数据集决定:以coco128.yaml为例,修改数据集路径+数据集类别标签
修改model中的yaml文件——模型的超参数:以yolov5s.yaml为基准主要修改对应数据集的类别
其他的也可以修改,暂时没有修改,跑起来再说//
(3)修改train.py
本节参考连接:选择权重(先选择了yolov5s)、之前修改的yaml文件、修改训练的超参数epoch,batch_size,输入图像的分辨率resize大小。硬件不行,先跑这些
参考:
YOLOv5训练自己的数据集(超详细完整版) - 文章 - 开发者社区 - 火山引擎 (volcengine.com)
半小时搞定Yolov5安装配置及使用(详细过程) - 木子欢儿 - 博客园 (cnblogs.com)
教程:超详细从零开始yolov5模型训练_yolo训练-CSDN博客
yolov5—四万字深入浅出yolov5训练全过程!从未见过注释比代码还多的源码解析-CSDN博客
基于yolov5及yolov5-lite的视觉识别模型训练_yolov5lite-CSDN博客
6. Windows系统上训练PASCAL VOC数据集._哔哩哔哩_bilibili
【Yolov5】1.认真总结6000字Yolov5保姆级教程(2022.06.28全新版本v6.1)_yolov5教程-CSDN博客
未完待续。。。。。。