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

这篇具有很好参考价值的文章主要介绍了yolov5-v7.0实例分割快速体验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

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

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

前面几篇文章已经介绍过关于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官网
  • Roboflow官网 https://universe.roboflow.com/paul-guerrie-tang1/asl-poly-instance-seg/dataset/25
  • Kaggle官网 https://www.kaggle.com/datasets
  1. 数据标注,可以使用Labelimg数据标注工具,之前文章已经讲过了,这里就不赘述了
  2. 数据划分,划分格式如下
    yolov5-v7.0实例分割快速体验

下载权重文件

官网地址;https://github.com/ultralytics/yolov5/releases/v7.0
yolov5-v7.0实例分割快速体验
yolov5-v7.0实例分割快速体验

配置文件参数修改

  1. 将Models下的segment下的自己下载的对应权重文件-seg.yaml(例如yolov5l-seg.yaml)里面的nc改为自己的类别数
    yolov5-v7.0实例分割快速体验
    yolov5-v7.0实例分割快速体验
  2. 在data下的coco128-seg.yaml里修改训练,验证及测试的路径已经,类别种类
    yolov5-v7.0实例分割快速体验

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

yolov5-v7.0实例分割快速体验
yolov5-v7.0实例分割快速体验
改完后执行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

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

onnx导出

python export.py --weights runs/train-cls/exp4/weights/best.pt --include engine --device 0文章来源地址https://www.toymoban.com/news/detail-494487.html

到了这里,关于yolov5-v7.0实例分割快速体验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • YOLOv5 实例分割 用 OPenCV DNN C++ 部署

    如果之前从没接触过实例分割,建议先了解一下实例分割的输出是什么。 实例分割两个关键输出是:mask系数、mask原型 本文参考自该项目(这么优秀的代码当然要给star!):GitHub - UNeedCryDear/yolov5-seg-opencv-onnxruntime-cpp: yolov5 segmentation with onnxruntime and opencv 目录 Pre: 一、代码总结

    2024年02月12日
    浏览(35)
  • 2022.09.29更新 c++下面部署yolov5实例分割模型(六)

    2023.01.11 更新: 新增加onnxruntime的1.13.x版本支持。 由于onnxruntime从1.12升级到1.13之后,GetOutputName()这个API变成了GetOutputNameAllocated(),坑就出现在这里,新版api的返回值是一个unique_ptr指针,这就意味着他使用一次时候就失效了,所以在循环跑模型的时候基本的第二次都报错

    2024年02月12日
    浏览(37)
  • 【深度学习】YOLOv5实例分割 数据集制作、模型训练以及TensorRT部署

    yolov5-seg:官方地址:https://github.com/ultralytics/yolov5/tree/v6.2 TensorRT:8.x.x 语言:C++ 系统:ubuntu18.04 前言:由于yolo仓中提供了标准coco的json文件转txt代码,因此需要将labelme的json文件转为coco json. labelme JSON 转COCO JSON 使用labelme的CreatePolygons按钮开始绘制多边形,然后保存为json格式。

    2024年02月06日
    浏览(60)
  • [CV学习笔记]tensorrt加速篇之yolov5seg 实例分割

    1. 前言 yolov5-7.0版本继续更新了实例分割的代码,其分割的精度与速度令人惊讶,本文将yolov5-seg进行tensorrt加速,并利用矩阵的方法对进行部分后处理. 实例分割原理:yolact yolov5seg-cpp实现代码:Yolov5-instance-seg-tensorrt cpp矩阵实现:algorithm-cpp 本文测试代码:https://github.com/Rex-LK/tenso

    2024年02月02日
    浏览(90)
  • YOLOv5训练大规模的遥感实例分割数据集 iSAID从切图到数据集制作及训练

    最近想训练遥感实例分割,纵观博客发现较少相关 iSAID数据集的切分及数据集转换内容,思来想去应该在繁忙之中抽出时间写个详细的教程。 iSAID数据集链接 下载上述数据集。 百度网盘中的train和val中包含了实例和语义分割标签。 上述过程只能下载标签,原始图像为DOTA,

    2024年02月04日
    浏览(66)
  • 【深度学习】yolov5 tag7.0 实例分割 从0到1的体会,从模型训练,到量化完成,bug避坑

    这里记录下yolov5 tag7.0的实例分割,因为也用过paddle家族的实例分割,能够训练出来,但是开放restiful api时遇到点小问题,还是yolov爽啊!!通过这篇博文,您可以一步步的搭建自己的分割网络。 git仓库:https://github.com/ultralytics/yolov5/tree/v7.0 在tag7.0开始支持的,号称sota,在mas

    2024年02月06日
    浏览(49)
  • yolov5-7.0 添加BiFPN

    BiFPN是目标检测中神经网络架构设计的选择之一,为了优化目标检测性能而提出。主要用来进行多尺度特征融合,对神经网络性能进行优化。来自EfficientDet: Scalable and Efficient Object Detection这篇论文。 在这篇论文中,作者主要贡献如下: 首先,提出了一种 加权双向特征金字塔网

    2024年02月17日
    浏览(37)
  • YOLOv5-7.0添加解耦头

    Decoupled Head是由YOLOX提出的用来替代YOLO Head,可以用来提升目标检测的精度。那么为什么解耦头可以提升检测效果呢? 在阅读YOLOX论文时,找到了两篇引用的论文,并加以阅读。 第一篇文献是Song等人在CVPR2020发表的“Revisiting the Sibling Head in Object Detector”。 这篇论文中提出了,

    2024年02月09日
    浏览(49)
  • yolov5-7.0简单训练教程

    yolov5-7.0简单训练教程。 可以自己去git上下载,没有梯子的点这里去百度网盘下载资源 点击下载资源包:objectdetection_script-master 将下载到的脚本目录中的yolo文件夹内的文件复制到yolov5-7.0的根目录下。 Annotations:存放VOC格式的标注的XML文件 JPEGImages:存放数据集里的图片,图片

    2024年02月02日
    浏览(41)
  • YOLOv5-7.0添加BottleNet transformer

    YOLOv5主干特征提取网络为CNN网络,CNN具有平移不变性和局部性,缺乏全局建模长距离建模的能力,引入自然语言领域的Transformer可以形成CNN+TransFormer架构,充分结合两者的优点,提高目标检测效果。 论文地址:https://arxiv.org/abs/2101.11605 BoTNet是一种简单但功能强大的主干网络,

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包