multiyolov5训练自己的数据集

###GitHub源码:https://github.com/TomMao23/multiyolov5

  1. 环境配置

$ python -m pip install -r requirements.txt

$ python -m pip uninstall wandb

代码未做多卡训练和wandb支持, 不卸载训练大概率有bug

二、检测和分割测试

(a) 普通图片推理

$ python detect.py --weights ./pspv5s.pt或其他模型 --source data/images --conf 0.25 --img-size 1024

或$ python detect.py --weights ./pspv5s.pt或其他模型 --source data/images --conf 0.25 --img-size 1024 --view-img

(b) 同尺寸连续帧图片制作视频

$ python detect.py --weights ./pspv5s.pt或其他模型 --source 图片文件夹 --conf 0.25 --img-size 1024 --save-as-video

三、训练自己的数据集

3.1参考grape数据集格式文件,得到数据集文件

数据集文件共有三个大文件夹(dedata、segimages、seglabels),detdata文件夹下分images和labels两个文件夹分别放置图片和检测标签;segimages放置图片与images中图片相同,seglabels中放置分割标签,每个图片和标签文件夹下又分训练集train和验证集val,且每组的图片和标签文件数量、命名一一对应。

检测标签的格式为yolov标签格式,是txt文件,具体样例如下:

分割标签的格式为png格式的mask,具体样例如下:

3.2数据和模型配置

(1)仿照(复制修改)data/cityscapes_det.yaml的配置数据,train和val写图片数据的train和val文件夹的路径(yolo自己会对应找labels),nc为检测类别数,segtrain和segval写分割数据segimages和seglabels父文件夹的路径,names为各检测类别名字。修改的数据yaml文件命名grape_det.yaml.

(2)仿照(复制修改)models/yolov5s_city_seg.yaml的配置模型,nc为检测类别数,n_segcls为分割类别数。depth_multiple,width_multiple控制深度和宽度,是yolov5s,m,l,x唯一的区别。修改的模型yaml文件命名yolov5s_grape_seg.yaml.

3.3训练数据

命令调用:

$ python train_custom.py --data grape_det.yaml –-cfg yolov5s_grape_seg.yaml --weights ./yolov5s.pt --workers 4 --label-smoothing 0.1 --img-size 832 --batch-size 4 --epochs 1000 --rect

正在训练中:

得到训练后的权重文件:

  1. 训练后权重测试

$ python detect.py --weights ./best.pt或./last.pt --source data/images --conf 0.25 --img-size 1024

或$ python detect.py --weights ./best.pt或./last.pt --source data/images --conf 0.25 --img-size 1024 --view-img

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值