yolov5-v7.0实例分割快速体验

简介

🚀yolov5-v7.0版本正式发布,本次更新的v7.0则是全面的大版本升级,最主要的功能就是全面集成支持了实例分割,yolov5已经集成检测、分类、分割任务。

在这里插入图片描述

前面几篇文章已经介绍过关于Yolov5的一些方面

yolov5目标检测:https://blog.csdn.net/qq_45066628/article/details/129470290?spm=1001.2014.3001.5501

yolov5分类:https://blog.csdn.net/qq_45066628/article/details/129594154?spm=1001.2014.3001.5501

yolov5网络结构及训练策略简介:https://blog.csdn.net/qq_45066628/article/details/129715417?spm=1001.2014.3001.5501

检测 分类 分割区别

  1. 图像分类(image classification)

识别图像中存在的内容,如下图,有人(person)、树(tree)、草地(grass)、天空(sky)

  1. 目标检测(object detection)

识别图像中存在的内容和检测其位置

  1. 语义分割(semantic segmentation)

对图像中的每个像素打上类别标签,如下图,把图像分为人(红色)、树木(深绿)、草地(浅绿)、天空(蓝色)标签,简而言之就是对一张图片上的所有像素点进行分类。

  1. 实例分割(instance segmentation)

其实就是目标检测和语义分割的结合。相对目标检测的边界框,实例分割可精确到物体的边缘;相对语义分割,实例分割需要标注出图上同一物体的不同个体。对比上图、下图,如以人(person)为目标,语义分割不区分属于相同类别的不同实例(所有人都标为红色),实例分割区分同类的不同实例(使用不同颜色区分不同的人)

  1. 全景分割(panoptic segmentation)

全景分割是语义分割和实例分割的结合。
跟实例分割不同的是:实例分割只对图像中的object进行检测,并对检测到的object进行分割,而全景分割是对图中的所有物体包括背景都要进行检测和分割。

快速体验

项目下载

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

数据集准备

  1. 准备训练数据,如果自己没有数据可以去Roboflow官网 kaggle官网 下载数据或coco官网 ,ImageNet官网
  1. 数据标注,可以使用Labelimg数据标注工具,之前文章已经讲过了,这里就不赘述了
  2. 数据划分,划分格式如下
    在这里插入图片描述

下载权重文件

官网地址;https://github.com/ultralytics/yolov5/releases/v7.0
在这里插入图片描述
在这里插入图片描述

配置文件参数修改

  1. 将Models下的segment下的自己下载的对应权重文件-seg.yaml(例如yolov5l-seg.yaml)里面的nc改为自己的类别数
    在这里插入图片描述
    在这里插入图片描述
  2. 在data下的coco128-seg.yaml里修改训练,验证及测试的路径已经,类别种类
    在这里插入图片描述

运行方式一:在segment下的train里面改模型,配置文件,数据路径,其余参数可根据需要配置

在这里插入图片描述
在这里插入图片描述
改完后执行python train.py后开始训练

运行方式二:直接执行命令

python segment/train.py --data coco128-seg.yaml --weights yolov5m-seg.pt --img 640 --cfg models/segment/yolov5m-seg.yaml

推理和验证

也可通过修改segment下的predict.py和val.py 或者直接执行命令,weights为自己训练后的模型best模型路径

验证:

python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640

推理:

python segment/predict.py --weights yolov5m-seg.pt --data data/images/bus.jpg

在这里插入图片描述

onnx导出

python export.py --weights runs/train-cls/exp4/weights/best.pt --include engine --device 0

  • 0
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
Yolov5-v7.0是一种基于深度学习目标检测算法,而实例分割模型则是在目标检测的基础上,进一步将目标的每个像素进行分割和标注。以下是一个基于Yolov5-v7.0开发实践实例分割模型的超详细教程: 1. 数据准备:首先,需要准备一组包含目标实例和对应标注的图像样本。每个样本图像应包含一个或多个目标实例,并给每个实例标注一个标签和边界框。同时,对每个实例进行像素级别的标注,即分割标签。 2. 模型训练:使用Yolov5-v7.0作为基础模型,通过调整网络结构和参数进行训练。首先,加载预训练的权重,然后冻结部分层级,仅训练网络的顶层。接着,解冻所有层级,进行端到端的训练,以微调模型的性能。在训练过程中,使用交叉熵损失函数和Adam优化器进行模型的优化。 3. 数据增强:为了增加数据的多样性和模型的鲁棒性,可以对训练样本进行数据增强。可以使用随机裁剪、旋转、缩放和水平翻转等技术实现数据增强。 4. 模型评估:为了评估模型的性能,可以使用验证集进行模型评估。通过计算准确率、召回率和F1得分等指标,来评估模型的性能。 5. 模型应用:完成训练和评估后,可以将模型应用到新的图像中进行实例分割。通过模型的前向传播,可以得到每个像素的分割标签,并将其可视化。 总结起来,基于Yolov5-v7.0开发实践实例分割模型的详细教程包括数据准备、模型训练、数据增强、模型评估和模型应用等步骤。通过这个教程,你可以了解到如何使用Yolov5-v7.0进行实例分割,并对数据处理、模型训练和模型评估等方面有更深入的理解。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kuokay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值