当前位置: 首页 > article >正文

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官网 下载数据
  • Roboflow官网 https://universe.roboflow.com/paul-guerrie-tang1/asl-poly-instance-seg/dataset/25
  • Kaggle官网 https://www.kaggle.com/datasets
  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 yolov5s-seg.pt --include onnx engine --img 640 --device 0


http://www.kler.cn/a/8192.html

相关文章:

  • 第二天python笔记
  • 从0开始学PHP面向对象内容之(常用魔术方法续一)
  • 大数据新视界 -- 大数据大厂之 Impala 性能优化:优化数据加载的实战技巧(下)(16/30)
  • springboot参数校验
  • 力扣每日一题 3258. 统计满足 K 约束的子字符串数量 I
  • Linux——简单认识vim、gcc以及make/Makefile
  • CIE (PCI Express) 1x, 4x, 8x, 16x总线端子说明
  • 4.7--计算机网络之TCP篇之socket编程--(复习+深入)---好好沉淀,加油呀
  • 版本控制工具Git的常见命令与使用方法
  • 编程的核心目的:计算数据
  • 二、Java 并发编程(1)
  • 20230404英语学习
  • Javase学习文档------数组
  • 使用spring boot拦截器实现青少年模式
  • Nuxt项目动态路由带参接参
  • 【从零开始学习 UVM】12.3、UVM RAL(续更) —— RAL Classes Methods
  • java微服务商城高并发秒杀项目--008.订单服务继承Sentinel以及sentinel安装dashboard
  • SMPL Model转换为bvh格式 (SMPL to BVH ) Python
  • 说说如何借助webpack来优化前端性能?
  • 2023年第十四届蓝桥杯将至,来看看第十三届蓝桥杯javaB组题目如何
  • leetcode459. 重复的子字符串
  • 【学习笔记】启示录 - 打造用户喜爱的产品(阅读摘录)
  • C++ 98/03 应该学习哪些知识19
  • python 实现二叉搜索树的方法有哪些?
  • Unity中将项目通用的公共模块封装成类库dll
  • 如何让chatGPT变成中文-ChatGPT怎么完整输出