手把手教你使用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

智能推荐

2.测试相关知识_打印日志_文件_打印测试过程日志_一直学习中的小白的博客-程序员秘密

测试相关知识根据测试时是否有源代码:- 黑盒测试: - 白盒测试 根据测试的粒度:- 方法测试: - 单元测试:- 集成测试:- 系统测试: 根据测试的暴力程度: - 压力测试: - 冒烟测试:  monkey工具用于压力测试. 首先 adb shell 进入终端中.然后 #monkey 5000 回车. 手机屏幕就会被狂点5000次.一个比较完整的命令: adb shell monkey -p 

利用N2N 搭建windows 和 windows 的异地组网环境(简称异地 局域网,软件的方式实现)_软件异地组网_诗水人间的博客-程序员秘密

最近想玩一下《文明6》 并且进行联机,文明6支持局域网联机。于是想着如果自己和远在其它城市的朋友一起玩的话就更好了,因为自己有一台公网上的云服务器,于是想到异地组网。其原理就是通过公网服务器 将两台 windows 电脑放入同一个局域网中,局域网采用的是mac地址通信,所以公网服务器就起到了连接客户端和转发mac地址的作用。于是根据网上的资料找到了n2n的方式进行组网。经实验成功了!本教程进行异地组网前提条件:有一台公网服务器做server一、搭建server1、安装n2n 服务端如果是cen

量子计算机 计算混沌,量子计算带来的密码学革命_weixin_39929635的博客-程序员秘密

对于通用量子计算机的全部本领中包含的某些环境,用传统的方法营造它们是难解的,这一事实说明一些纯数学计算类也必定变得易解了。因为如伽利略所说,物理定律是用数学语言表达的,营造一个环境相当于计算一定的数学函数。的确,现在已经发现许多数学任务可以用量子计算高效地完成,而用所有已知的传统方法都是难解的。最引人注目的一个就是对大的自然数进行因数分解。该方法称为肖算法,由贝尔实验室的彼得·肖在1994年发现。...

Linkage mapper 使用小笔记(二)_qingxiaoyiban的博客-程序员秘密

这几天要被这个软件搞废了,之前的廊道构建好好的,只是生态夹点做不出来,现在生态夹点做出来了,廊道又有运行脚本问题了。。。真的麻了咳咳 进入正题生态夹点之前一直报错,上一篇笔记有提到过一开始以为时输入的数据有问题然后我就去问了小酥大佬(感谢大佬!!)大佬发了安装包给我,结果还是有问题,泪目痛定思痛,我在想是不是我的环境有问题于是我将ArcGIS的环境设置——并行处理设置0值,如下图:然后 ,生态夹点就很顺利的运行了!!!!然而,我万万没想到,第一步的网络廊道构建又出现了代码问题,一开始以为

调用百度API批量翻译Json结构文件_可以翻译json数据成英文的api_Miya_Ye的博客-程序员秘密

项目用vue的国际化,之前有写过,一个个翻译比较头大,写了个简单的网页版本的,务必保证左边是json结构,不放心就在https://www.bejson.com/ 这里输入测试下是不是json结构中翻英,结果如下中翻繁体就是调用了下百度的接口,然后拼了下,把html文件贴出来,md5文件可以在http://api.fanyi.baidu.com/api/trans/product/apidoc 这...

View体系与自定义View(一)—— 什么是View_什么是view在系统中起到什么作用_橙子19911016的博客-程序员秘密

1 View和ViewGroupView是Android中所有控件的基类,不管是简单的Button、TextView还是复杂的RelativeLayout和ListView,它们的共同基类都是View。所以说,View是一种界面层的控件的一种抽象,它代表了一个控件。除了View还有ViewGroup,从名字上看,可以翻译成控件组,即一组View。在Android的设计中,ViewGroup也继承了View,这就意味着View本身就可以是单个控件也可以是由多个控件组成的一组控件。public class

随便推点

Re: 琴瑟和鸣--让同一项目在NetBeans和Eclipse平台下和谐相处,协同开发 _wwwghost的博客-程序员秘密

[quote="lighter"]有意思的帖子. 以前用过JBuilder,现在一直在用eclipse,习惯了,快捷键也都比较熟悉了 NetBeans没有用过...[/quote] 在开发SOA的Web Services和BPEL,以及开发JSF 2.0时,使用NetBeans很方便的。...

python3将excel xlsx 转为lua文件_lakemi的博客-程序员秘密

excel表格格式 说明: 1.前三行分别为:字段中文解释、字段名、字段类型 2.程序不用的字段,加”_”前缀,不会生成进lua文件里 3.策划填数值的时候,偶尔会遗漏数据,当存在空值时,依据字段类型,填上默认值。 4.支持一个字段填上多组数据,自定义类型”table”,代表{ {id1,数量},{id2,数量}}, … } excel2lua.py脚本代码# -*- coding: UTF-8 ...

linux 0.11目录,Linux0.11下的内存管理学习笔记(1)_谢漠烟的博客-程序员秘密

阅读赵先生的Linux0.11内核分析有一段时间了,最近决定要分析2.6内核中的内存分配,但发觉基础不足,所以回头把Linux0.11中内存管理的部分又看了一下,写下学习笔记以加强自己的理解.写的不对的地方请大家一定要拍砖指正~ = 3=)/学习的框架如下:1.80386的分段和分页管理2.80386的保护模式3.Linux0.11的初始化,主要分析内存管理和使用部分下面将按Linux的启动过程进...

特征点提取算法 - 01 - 特征的定义基础_Franklin的博客-程序员秘密

前言:特征提取(feature extraction)是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征提取的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。案:理解特征提取就是获取依据需求,来获取图像的独有特征值。或者,是将具有相同特质的图像分解的模块进行分类和归类。1 基本概念1....

BiSeNetV1 面部分割_HySmiley的博客-程序员秘密

1、论文2、数据集3、优化器4、损失函数5、日志6、评估指标7、结果分析

vue加载三维模型_南念-shmily的博客-程序员秘密

在vue中加载SuperMap iServer中的三维模型创建项目下载SuperMap iClient3D for WebGL产品包引入到项目中创建项目我使用的是Vue CLI3,具体创建不再赘述,网上教程很多下载SuperMap iClient3D for WebGL产品包链接: 官网将包中的Cesium文件夹解压出来,放到项目中public文件夹下引入到项目中在public文件...

推荐文章

热门文章

相关标签