yolov5 训练自定义数据集全过程

1、下载YOLOv5代码并安装环境

git clone https://gitee.com/monkeycc/yolov5.git
cd yolov5
pip install -r requirements.txt  # install

2、下载完yolov5之后在和yolov5同级的目录下创建一个叫datasets的目录 目录结构如下:

在这里插入图片描述

3、准备数据集:

3.1 数据集目录结构如下:

在这里插入图片描述

目录解读:

old_money是自己的数据集目录,这个目录要放在datasets目录下,

  • old_money下的images目录用来存放图片
    • images下存放的train表示的是训练集,train下存放的就是一个一个的图片即xxx.jpg(没别的内容,只有图片),
    • val,test同理,其下都是存放的图片
  • labels用来存放目标框的.txt文件。其下的train和val 名称要和images中的对应一样
    • label 下的train、val下存放的都是xxx.txt

这里边需要注意的是:

  • 1、labels下的train下的xxx.txt名称要和images下的train下的xxx.jpg一一对应,名称要一样哦
  • 2、labels 下的xxx.txt中的内容为:class box_x_center box_y_center box_width box_height中间用空格隔开 分别对其一一说明:
    • class 是类别,即你的目标框所属的类别,注意必须是数字而不是类别名,这个数字是在[0, 类别总数-1]之间
    • box_x_center:即目标框的中心点的x轴坐标 注意是归一化之后的值,也就是拿着这个中心点坐标除以图片的宽度
    • box_y_center : 即目标框的中心点的y轴坐标 注意是归一化之后的值,也就是拿着这个中心点坐标除以图片的高度
    • box_width : 即目标框的宽 注意是归一化之后的值,也就是拿着这个框的宽度除以图片的宽度
    • box_height: 目标框的高 注意是归一化之后的值,也就是拿着这个框的高度除以图片的高度
      具体如下:
      在这里插入图片描述
      在这里插入图片描述

特别强调一下,image中的train 和val中的图片名要和labels中的train和val 图片名要意义对应切train 和val名称也要对应,test目录在label中不需要label所以只需要test目录下存放图片即可

4、在yolov5目录下的data下创建一个名为old_money.yaml其内容如下:

# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# COCO128 dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Example usage: python train.py --data coco128.yaml
# parent
# ├── yolov5
# └── datasets
#     └── coco128  ← downloads here (7 MB)


# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/old_money  # dataset root dir  就是你的数据集的最大层的那个目录
train: images/train  # train images (relative to 'path') 128 images 和上边的path拼接在一起组成训练目录
val: images/val  # val images (relative to 'path') 128 images  和上边的path拼接在一起组成验证目录
test: images/test # test images (optional)  和上边的path拼接在一起组成测试目录

# Classes
names:
  0: money  # 你项目的类别从零开始左边是数字,右边是名字,多个可以参考coco128.yaml

## Download script/URL (optional)  
#download: https://ultralytics.com/assets/coco128.zip

5、训练:在yolov5目录下打开一个中断,运行如下命令即可

 python train.py --data old_money.yaml

6、验证:在yolov5目录下打开一个中断,运行如下命令即可

python val.py --weights ./runs/train/exp/weights/best.pt --data old_money.yaml --img 640

7、测试:在yolov5目录下打开一个中断,运行如下命令即可

 python detect.py --weights './runs/train/exp/weights/best.pt' --source '../datasets/old_money/images/test/*.jpg'

8、运行结果会在yolov5目录下的runs目录下,自己看看吧

9、其他的运行参数需要参考各自的ArgumentParser

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值