Yolov5-6.0使用教程

Yolov5-6.0使用教程

参考过程:主页 -Ultralytics YOLO 文档【干货】两小时带你训练和使用yolov5,yolov5详细教学,yolov5环境配置,2024年_哔哩哔哩_bilibili

数据的标签格式:class x_center y_center width height均是归一化的值(0~1)之间。

  • 下载yolov5的代码和模型:

选择yolov5的6.0版本的代码和模型,下载代码:

Release v6.0 - YOLOv5n 'Nano' models, Roboflow integration, TensorFlow export, OpenCV DNN support · ultralytics/yolov5 (github.com)找到Assets,在倒数第二行:source code.zip

下载权重模型:找到Pretrained Checkpoints选择yolov5s权重,也可以选择其他模型。

  • 安装anaconda,创建python环境

网址:Download Anaconda Distribution | Anaconda,需要邮箱验证,在邮箱内点击验证链接直接下载。

双击运行,路径自择,选择安装包Add anaconda3 to my PATH environment variable ,其他尽可能打对勾。

将第一步下载的源码解压到:D:\pyproject\yolov5-6.0;建议新建一个文件夹pyproject,将yolov5-6.0放进入,这是所有训练结果、文件的根目录。

Win+R,cmd进入命令提示窗口:

命令提示窗口命令步骤:

1.查看当前存在的环境(anaconda中存在的):conda env list,可以省略。

2.创建yolo_v5环境:conda create -n yolo_v5 python==3.8 。注意这里选择的是python3.8版本,此前版本需要各种依赖包,此后的版本有很多软件需要自己编译。3.8很稳。这个过程一般很快,创建完成之后:activate yolo_v5进入此环境。

3.去yolov5-6.0文件夹中,cd /d D:\pyproject\yolov5-6.0,注意这两个斜杠的方向不同。

注意:在命令提示窗口中按CTRL+C可以打断当前运行程序。

  • 处理源码中的requriements.txt中的安装包

准备步骤:将requriements.txt用vs code或记事本打开,vs code用着比较舒服,启动快,电脑配置要求不高,pycharm有些会启动不了。打开之后,改成如下格式:(将所有”>”改成“=”,opencv-python==4.1.2.30),这里将torch和torchvision注释掉了,因为这里会自动下载cpu版本,如果有显卡的话还是用显卡比较好,接下来会独自安装pytorch。

安装pytorch,进入pytorch官网,在Previous PyTorch Versions | PyTorch中寻找requirements中的版本号,我们找不到此版本,因此安装1.8.1版本号,windows系统建议使用pip安装。

注意:cuda版本选择,如果是30系显卡以上选择cuda 11.1,其他显卡试着选择以下版本,没有显卡选择cpu版本,我安装的是cpu版本,速度很慢,比30系显卡慢了十几倍。

复制上述连接:pip install torch==1.8.1+cpu torchvision==0.9.1+cpu torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

然后粘贴到第二步的环境中,我们所有安装包是安装在环境中的,并不是D:\pyproject\yolov5-6.0这个文件夹,可以在D:\anaconda\envs\yolo_v5\Lib\site-packages,路径中找到torch安装包。

如果速度太慢,后面可以加上清华源、阿里源等,但是校园网飞快的。

安装完成之后,命令提示窗口输入python,可以看到python版本3.8,在python中输入import torch,没有显示错误就是对的exit()退出python,回到yolo_v5环境。

也可以输入torch.cpu.is_available(),显示为True即为正确。

安装requriements.txt其他安装包,后面也可以加其他源提高速度。注释掉torch和torchversion,在命令提示窗口继续输入:pip install -r requirements.txt

如果opencv-python没有改成4.1.2.30,此时会出现opency_python找不到4.1.2版本,将requriements.txt中的此安装包的版本改成4.1.2.30,再次执行上述命令。

安装 pip install protobuf==3.19.0,如果不安装会在执行train.py时出现错误。也可需要时在安装。

  • 用vscode打开yolov5-6.0文件夹

打开左侧栏中的第五个安装两个插件1chinese2python

Ctrl+Shift+p,在顶端弹出列表,选择解释器,所有的程序均在这个解释器的环境中运行。

选择python,进入之后选择刚下载的pythonyolo_v5,也就是anaconda环境中安装的python版本。如果没有conda,也没有其他的python,说明环境变量没有配置好。

配置环境(不一定需要配置):打开设置-搜索环境-选择系统环境配置-右下角环境变量-双击用户变量中的path添加anaconda的路径,这里是添加了四个anaconda环境。应该是要重启,重启之后重新进入环境即可。

  • 下载数据集

数据集下载地址:keremberke/valorant-object-detection · Datasets at Hugging Face,也可以自己选择下载数据集,关注两个信息,width、height,这里是416*416。往后翻可以看到数据集是coco格式,需要对数据进行处理,以便yolo能够使用。

点击files and version 也可以点这个 keremberke/valorant-object-detection at main (huggingface.co)连接,下载test、train、valid压缩包,有可能会进不去这个网站,需要一点魔法。

在路径:D:\pyproject\yolov5-6.0\data 新建文件夹,data_org(随意,记住就行了),将下载的三个压缩包解压到里面,我建立的是csgo文件,因为这个压缩包是csgo的。

打开test文件夹,可以看到只有一个coco标签,不是yolo,需要对此进行处理。如果是yolo格式可以跳过第六步。

这个数据集处理起来非常慢,也可以直接在Roboflow官网上,animals trained model | Roboflow Universe Search下载yolo格式的数据。使用yolo格式直接跳过第六步数据处理过程即可。

当然也可以自己创建数据集:安装labelimg,执行下述三行代码

conda install pyqt=5

conda install -c anaconda lxml

pyrcc5 -o libs/resources.py resources.qrc

安装好之后输入:python labelimg.py

按照下图进行操作即可。

  • 处理数据集(coco格式转换成yolo格式)

观察coco标签字典中:id、name、supercategory这三个键(比较难找),也就是下面这一块,id键从0开始数,一共有0、1、2、3四个,然后记住name键的每一个值。

在yolo_v5根目录中新建文件夹:data_process,内部创建一个data_process.ipynb文件,.ipynb文件不能直接打开,因为环境中没有安装jupyter,在命令提示窗口需要安装一下jupyter,如果出现错误,很大原因就是网络不好,其次是pip版本不够。pip更新命令:python -m pip install --upgrade pip

1. 安装完成之后,进入文件data_process.ipynb,使用ipynb格式会很方便,也可以使用py格式,每一个单元要按顺序运行:

2. 验证是否正确

3.在data跟目录下创建一个新的文件夹csgo_dingdang,分别创建train、test、valid单个子文件夹,并在每一个子文件夹中分别创建images、labels两个文件夹,将图片复制到csgo_dingdang中,不复制_annotations.coco,因为这是coco标签,记住所在路径即可。注意路径的格式双斜线

输入下面程序,图片所在文件夹、标签所在文件夹,可以看到图片所在文件是新建立的,标签还在原文件夹中。

4.新建空白标签。首先需要新建立空白txt标签,然后往这些空白标签里添加对应图片的yoyo标签信息。建立的空白标签在新建的对应文件夹中,名称由iamges替换成labels,文件格式由jpg替换成txt。

可以检查一下valid/labels中的空白标签,

5.遍历_annotations.coco中的字典,

使用:注意上述的x_center和y_center,一定要和图片的大小一致。其余两个文件夹步骤一致。

  • 路径处理、第一节下载的权重路径

复制coco.128文件,改名为mydate,改成下面的文字,path为要训练的数据集的根路径,接着三个为根目录下的三个文件夹,nc为类别个数,为4,names为每一个类别的名字。文件中只需保存11-18行即可。保存。

在yolov5-6.0文件夹中新建一个weihgt文件夹,将第一节下载的yolov5权重模型放进去。

权重路径: D:\pyproject\yolov5-6.0\weight

  • 打开train.py文件,

划到第436行,更改路径,D:\\pyproject\\yolov5-6.0\\weight\\yolov5s.pt

437行为yolov5-6.0中的模型D:\\pyproject\\yolov5-6.0\\models\\yolov5s.yaml

438行为所建立的数据文件,D:\\pyproject\\yolov5-6.0\\data\\mydate.yaml

    parser.add_argument('--epochs', type=int, default=300)

    parser.add_argument('--batch-size', type=int, default=2, help='total batch size for all GPUs')

这两行为训练多少轮,一次给gpu多少个数据。

训练完成后,可以从D:\pyproject\yolov5-6.0\runs\train\exp中看到训练结果。

D:\pyproject\yolov5-6.0\runs\train\exp2\weights目录中存放的是训练最好的一次和最坏的一次。

  • 测试训练的结果

如下打开detect.py文件,找到如下几行改成:

    parser.add_argument('--weights', nargs='+', type=str, default="D:\\pyproject\\yolov5-6.0\\runs\\train\\exp4\\weights\\best.pt", help='model path(s)')

    parser.add_argument('--source', type=str, default="D:\\pyproject\\yolov5-6.0\\data\\Cat_Dog\\test\\images", help='file/dir/URL/glob, 0 for webcam')

    parser.add_argument('--imgsz', '--img', '--img-size', nargs='+', type=int, default=[640], help='inference size h,w')

第一行:训练最好的结果路径

第二行:test数据集的路径

第三行:测试图片的大小

程序执行完后会给出执行结果路径:D:\pyproject\yolov5-6.0\runs\detect\exp6

检测的结果不是很好,需要对算法进行改进。

YOLOv5-6.0YOLOv5系列的最新版本,它具有以下特点和更新内容: 1. 友好且易于上手:YOLOv5系列一直以来都非常友好且易于上手,兼容性也比较高。它不会对训练的硬件配置有很多苛刻的要求,从搭建环境到训练再到应用,都非常简便。这使得使用者能够更多地将时间花在实际的应用场景的协调和改进上。\[1\] 2. 更新的源码和信息:YOLOv5-6.0的源码可以在GitHub上找到,链接为https://github.com/ultralytics/yolov5/tree/v6.0。此外,还有一些关于更新信息的说明可以在https://github.com/ultralytics/yolov5/releases/tag/v6.0找到。\[1\] 3. 网络结构的改进:YOLOv5-6.0在Conv模块中封装了卷积(Conv2d)、Batch Normalization和激活函数,并使用autopad(k, p)实现了padding的效果。此外,YOLOv5-6.0版本使用Swish作为激活函数,代替了旧版本中的Leaky ReLU。还引入了Focus模块,进一步改进了网络结构。\[2\] 4. 可视化网络结构:可以使用netron工具来可视化YOLOv5的网络结构。安装netron工具的命令是snap install netron,然后输入netron即可打开软件。YOLOv5提供的网络文件是yaml格式,可以转换成onnx模型进行可视化。需要注意的是,可视化的结构可能与网络本身定义的有一定的变化,比如没有bn、激活函数变化了。\[3\] 总结起来,YOLOv5-6.0YOLOv5系列的最新版本,它在易用性、网络结构和可视化方面都有一些改进和更新。 #### 引用[.reference_title] - *1* [【YOLOYOLOv5-6.0环境搭建(不定时更新)](https://blog.csdn.net/qq_44703886/article/details/118851718)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v4^insert_chatgpt"}} ] [.reference_item] - *2* [YOLOv5-v6.0学习笔记](https://blog.csdn.net/baoli8425/article/details/122154078)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v4^insert_chatgpt"}} ] [.reference_item] - *3* [【yolov5系列】yolov5 v6.0 环境配置、图片视频测试、模型可视化、v6.0的更新内容](https://blog.csdn.net/magic_ll/article/details/121352907)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值