【精选】手把手教你使用Yolov5制作并训练自己的数据集_yolov5自己制作数据集-程序员宅基地

技术标签: python  pycharm  深度学习  pytorch  目标跟踪  

目录

1.数据集制作

1.1 labelme安装使用

2.数据集与模型配置

2.1 存放数据集

 2.2 修改data->XYB.yaml和LabelmeToXYB.py的参数

2.3 配置环境和下载模型所需的依赖

3.训练和测试

3.1 训练

3.2 测试


程序使用教程

使用的yolov5代码存放在了百度网盘:

链接:百度网盘 请输入提取码 
提取码:2xic

官方源代码地址:GitHub - ultralytics/yolov5: YOLOv5 in PyTorch > ONNX > CoreML > TFLite

1.数据集制作

1.1 labelme安装使用

参考链接:

labelme的安装与使用(深度学习打图像分割的标签)_是七叔呀的博客-程序员宅基地_图像分割 打标签

关于labelme标注生成的json文件批量转为label/mask的问题 - 简书
labelme安装及使用_Chaojun_Shi的博客-程序员宅基地_labelme安装

在命令行界面中输入如下代码进行标注软件的安装和使用:

依次执行成功:

pip install pyqt5
pip install labelme 

#命令行执行如下语句打开软件:

labelme

软件打开后界面如下图所示:

 然后,进行图片标注,点击Open Dir,选择数据集图片所在文件夹:

 点击edit-> Create Rectangle(或Ctrl+R快捷键)标注新的label。

目标的矩形框标注完成后,点击OK,保存目标的类别标签信息;整张图片所有待标注对象标注完后,点击Save:

点击NextImage标记下一张图片:

 所有标签标注完成后,文件夹中将会出现所有对应于每个图片json标签文件:

2.数据集与模型配置

首先将项目导入Pycharm:

2.1 存放数据集

将所有数据集图片和json标签文件夹放到工程目录下的datasets文件夹内:

 2.2 修改data->XYB.yaml和LabelmeToXYB.py的参数

它们的位置如下:

       首先修改data->XYB.yaml的参数:

       然后修改LabelmeToXYB.py的参数:

修改完上述参数后运行LabelmeToXYB.py,将会在tmp文件夹下生成如下文件:

2.3 配置环境和下载模型所需的依赖

Pycharm终端运行如下命令:

pip install -r requirements.txt

3.训练和测试

3.1 训练

运行如下指令进行训练(详情查看工程文件目录下README.md文件):

python train.py --data data/XYB.yaml --cfg xyb_m.yaml --batch-size 64

训练后数据保存在工程目录下runs->train文件夹内,首次运行权重将会保存在runs->train->exp->weights文件夹下,之后运行成功后将会依次保存在exp2/3/4/…;

并且会生成train.cache文件

 

 

3.2 测试

运行如下指令进行测试,--weights选择权重文件,--source选择需要测试的放有图片/视频的文件夹,或具体的图片和视频,详情查看README.md文件

python detect.py --weights runs/train/exp/weights/best.pt --source datasets/

具体参数相关如下:

python detect.py --source file.jpg  # 图片

                     file.mp4  # 视频

                     path/  # 文件夹下所有媒体图片 视频

最终生成的训练和测试相关的文件数据保存在runs下的两个文件夹内:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_46378271/article/details/120872132

智能推荐

matlab搭建神经网络模型,怎样在matlab里建立一个BP神经网络模型?-程序员宅基地

文章浏览阅读395次。该楼层疑似违规已被系统折叠隐藏此楼查看此楼用以下的数据怎样在matlab里建立一个BP神经网络模型?求高手帮忙!!最好是有详细步骤以及代码年份WTI(美元/桶)2007-154.262007-259.282007-363.992007-464.432007-563.502007-667.492007-773.992007-872.362007-979.622007-1085.802007-119...

关于javaScript中的“===”,"!=="和"==","!="-程序员宅基地

文章浏览阅读100次。“===”,"!==" :表示的含义是,只有运算符左边和右边的数据类型相同的时候才会进行数值之间的比较,但是如果两者在类型上不同的话,直接返回“false”;"==","!=":表示的含义是,运算符两边的数据类型即使不一样也会先将他们转化成相同的类型,然后再进行值之间的比较,相同就返回true,不相同就返回false;转载于:https://www.cnblogs.com/shi..._<= == != === !==

python检查https过期_Python实现HTTPS网站证书过期监控及更新-程序员宅基地

文章浏览阅读316次。当前HTTP逐渐被大众所抛弃,HTTPS正在成为互联网上的主流。前段时间我们维护的一个HTTPS证书即将过期,由于多云环境比较复杂,团队小伙伴在替换更新证书的过程中出现疏漏,导致有一个域名证书没有及时更新,影响了系统可用性,为了杜绝这种问题再次发生,便写了这么个功能比较简单,但很实用,再也不会出现证书漏更新的问题,具体流程为:扫描域名列表-->检查是否开启HTTPS-->获取证书过期时..._python监控网站证书到期时间

重装Win10系统之U盘启动盘的制作(详细教程)_win10重装系统u盘启动-程序员宅基地

文章浏览阅读1.3w次,点赞5次,收藏48次。重要提示(必读)准备一个8G或8G以上的空U盘作为启动盘(制作U盘会格式化U盘,U盘内重要数据要事先备份好)。为了保证电脑内的资料安全,安装系统前需要将电脑内所有磁盘的所有重要数据备份到移动储存介质(不要备份到安装系统使用的U盘)。如有预装Office,务必记住自己激活Office时使用的Microsoft账户和密码,以免重装后无法激活。目录重要提示(必读)一、下载Win10系统1、点击下方链接https://www.mi..._win10重装系统u盘启动

基于java的仓库管理系统的设计与实现_java设计一个仓储管理系统,对仓库货品进行管理,出入库进行记录。主要功能包括,货-程序员宅基地

文章浏览阅读1.4k次。基于WEB的仓库管理系统主要用于实现仓库的出入库管理,基本功能包括:入库模块、出库模块、商品查看模块、用户注册模块、个人信息管理模块等。本系统结构如下:入库模块:入库新商品,或者是入库已有商品。出库模块:对已经入库的商品进行出库操作。商品查看模块:查看目前的库存商品信息。用户注册模块:进行帐号密码的注册,包括用户其他信息。个人信息管理模块:查看或者修个个人信息。源码http://www.byamd.xyz/sss.html..._java设计一个仓储管理系统,对仓库货品进行管理,出入库进行记录。主要功能包括,货

JSONObject JSONArray-程序员宅基地

文章浏览阅读9.8k次。一、JAR包简介 要使程序可以运行必须引入json-lib包,json-lib包同时依赖于以下的jar包(当时环境下所配备的jar版本): 1.commons-lang-2.4.jar (注:不是lang3版本的jar包,若是引入commons-lang3-3.1.jar,会发生 java.lang.NoClassDefFoundE

随便推点

关于xftp上传文件状态错误的解决_hadoop目录用xftp移到windows提示错误-程序员宅基地

文章浏览阅读1.8k次。关于xftp上传文件状态错误的解决用xftp把windows下war包文件上传到服务器,出现了错误显示了上传错误,点开后查看具体的错误信息Permission is not allowed,而且我也是root权限于是我把env文件夹的权限改成777。$chmod 777 env然后再进入env文件夹,再从xftp上传文件就成功了…转自https://blog.csdn.net/GSCurry/article/details/70297027?utm_medium=distribute_hadoop目录用xftp移到windows提示错误

城市三级联动-程序员宅基地

文章浏览阅读53次。为什么80%的码农都做不了架构师?>>> ...

如何解决request.getParameter()取值乱码问题-程序员宅基地

文章浏览阅读1.9k次。客户端向服务器端发送信息,如果发送的编码和服务器端接收的编码不一样,使用request.getParameter()方法获取的表单信息会产生乱码。客户端接收服务器的响应信息,如果响应编码与客户浏览器的编码不一致时,会造成中文乱码显示。为了解决中文正常显示,可以采取以下两种方案。(1)post方式提交表单a,设置页面的编码在jsp或HTML页面中,有时会涉及编码的定义,可使用统一

最优秀的数据可视化案例欣赏_数据可视化示例欣赏-程序员宅基地

文章浏览阅读1.4w次,点赞2次,收藏19次。优秀的可视化案例欣赏美国运通漏斗图能量预测Bullseye雷达预算图城市统计数据可视化实时游戏数据能量监测自定义分析电力图表如何可视化您的数据?数据是新的生产资料,如果您无法以直观的方式显示数据,那么它基本上是无用的。没有人会在看到一个可视化产品时,还会花费很长时间听取对它的解释。另一方面,如果您的可视化特别聪明,互动且直观,那么它将立即鹤立鸡群。然而,要做到这一点并不容易。下面是来自世界上一些..._数据可视化示例欣赏

PostgreSQL 基本语法-程序员宅基地

文章浏览阅读2w次,点赞10次,收藏83次。PostgreSQL 基本语法这里记录些PostgreSQL的基本语法,内容基本来自PostgreSQL 9.5.3 中文手册 基本语法如: 创建数据库 CREATE DATABASE mydb

实验四+028+刘孝天-程序员宅基地

文章浏览阅读265次。一、实验目的 1) 学习QTP工具的使用 2)了解黑盒自动化测试二、实验要求(1)对被测程序进行黑盒测试用例设计(2)对QTP的飞机订票系统的任一界面或控件实现自动化测试。(测试的具体自选)(3)写出该程序的缺陷。三、实验内容1、对QTP的样例小程序飞机订票系统,实现自动化测试。(学号被3整除,测3a;余1,测3b;余2,测4a)2、要求:...