0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于YOLOv7.0 版本的分类、检测和分割

新机器视觉 来源:集智书童 作者:集智书童 2022-08-22 10:31 次阅读

导读 YOLOv5是目前Yolo系列应用非常广的算法,迭代了很多版本,目前已升级到V6.2版本,从原本训练目标检测,到也可训练分类模型,整个算法生态越来越完善,通过本文的梳理,希望对大家学习有帮助。

yolov5-6.2增加了分类训练、验证、预测和导出(所有 11 种格式),还提供了 ImageNet 预训练的 YOLOv5m-cls、ResNet(18、34、50、101) 和 EfficientNet (b0-b3) 模型。

此次发布的主要目标是引入超级简单的 YOLOv5 分类工作流程,就像现有的目标检测模型一样。以下新的 v6.2 YOLOv5-cls 模型只是一个开始,作者将继续与现有的检测模型一起改进这些模型。

下一个版本 v6.3 计划于 9 月发布,将为 YOLOv5 带来官方实例分割支持,今年晚些时候将发布一个主要的 v7.0 版本,更新所有 3 个任务的架构——分类、检测和分割。

1、重要更新

分类模型:TensorFlow、Keras、TFLite、TF.js 模型导出现在使用python export.py --include saved_model pb tflite tfjs完全集成。

ClearML日志记录:与开源实验跟踪器 ClearML 集成。使用 pip install clearml 安装将启用集成并允许用户跟踪在 ClearML 中运行的每个训练。这反过来又允许用户跟踪和比较运行,甚至远程安排运行。

Deci.ai优化:一键自动编译和量化 YOLOv5 以获得更好的推理性能。

GPU导出基准:使用 python utils/benchmarks.py --weights yolov5s.pt --device 0 用于 GPU 基准测试或 --device cpu 用于 CPU 基准测试,对所有 YOLOv5 导出格式进行基准测试(mAP 和速度)。

训练可再现性:使用 torch>=1.12.0 的单 GPU YOLOv5 训练现在完全可再现,并且可以使用新的 --seed 参数(默认种子 = 0)。

Apple Metal Performance Shader (MPS) 支持:通过 --device mps 对 Apple M1/M2 设备的 MPS 支持(完整功能在 pytorch/pytorch#77764 中等待更新)。

2、分类模型与精度

使用 4×A100 在 ImageNet 上训练了 YOLOv5-cls 分类模型 90 个 epoch,并且训练了 ResNet 和 EfficientNet 模型以及相同的默认训练设置进行比较。将所有模型导出到 ONNX FP32 进行 CPU 速度测试,并将所有模型导出到 TensorRT FP16 进行 GPU 速度测试。在 Google Colab Pro 上进行了所有速度测试,以便轻松重现。

e3b52dee-205e-11ed-ba43-dac502259ad0.png   e3c760ea-205e-11ed-ba43-dac502259ad0.png

3、使用

YOLOv5 分类训练支持使用 --data 参数自动下载 MNIST、Fashion-MNIST、CIFAR10、CIFAR100、Imagenette、Imagewoof 和 ImageNet 数据集。例如,要开始在 MNIST 上进行训练,使用 --data mnist。

train

#Single-GPU
pythonclassify/train.py--modelyolov5s-cls.pt--datacifar100--epochs5--img224--batch128

#Multi-GPUDDP
python-mtorch.distributed.run--nproc_per_node4--master_port1classify/train.py--modelyolov5s-cls.pt--dataimagenet--epochs5--img224--device0,1,2,3

val

bashdata/scripts/get_imagenet.sh--val#downloadImageNetvalsplit(6.3G,50000images)
pythonclassify/val.py--weightsyolov5m-cls.pt--data../datasets/imagenet--img224#validate

test

pythonclassify/predict.py--weightsyolov5s-cls.pt--datadata/images/bus.jpg

4、构建形式

分类模型的构建依旧是YOLOv5的风格,加入了分类的head,这里点赞,不怕没有预训练权重了!

classClassificationModel(BaseModel):
#YOLOv5classificationmodel
def__init__(self,cfg=None,model=None,nc=1000,cutoff=10):#yaml,model,numberofclasses,cutoffindex
super().__init__()
self._from_detection_model(model,nc,cutoff)ifmodelisnotNoneelseself._from_yaml(cfg)

def_from_detection_model(self,model,nc=1000,cutoff=10):
#CreateaYOLOv5classificationmodelfromaYOLOv5detectionmodel
ifisinstance(model,DetectMultiBackend):
model=model.model#unwrapDetectMultiBackend
model.model=model.model[:cutoff]#backbone
m=model.model[-1]#lastlayer
ch=m.conv.in_channelsifhasattr(m,'conv')elsem.cv1.conv.in_channels#chintomodule
c=Classify(ch,nc)#Classify()
c.i,c.f,c.type=m.i,m.f,'models.common.Classify'#index,from,type
model.model[-1]=c#replace
self.model=model.model
self.stride=model.stride
self.save=[]
self.nc=nc

def_from_yaml(self,cfg):
#CreateaYOLOv5classificationmodelfroma*.yamlfile
self.model=None
审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    2981

    浏览量

    41688
  • 模型
    +关注

    关注

    1

    文章

    2699

    浏览量

    47655
  • 跟踪器
    +关注

    关注

    0

    文章

    123

    浏览量

    19898

原文标题:​Yolov5-6.2版本更新,Yolov5也可训练分类模型,语义分割+实例分割即将发布!

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    OpenCV4.8 C++实现YOLOv8 OBB旋转对象检测

    YOLOv8框架在在支持分类、对象检测、实例分割、姿态评估的基础上更近一步,现已经支持旋转对象检测(OBB),基于DOTA数据集,支持航拍图
    的头像 发表于 02-22 10:15 369次阅读
    OpenCV4.8 C++实现<b class='flag-5'>YOLOv</b>8 OBB旋转对象<b class='flag-5'>检测</b>

    YOLOv8实现旋转对象检测

    YOLOv8框架在在支持分类、对象检测、实例分割、姿态评估的基础上更近一步,现已经支持旋转对象检测(OBB),基于DOTA数据集,支持航拍图
    的头像 发表于 01-11 10:43 532次阅读
    <b class='flag-5'>YOLOv</b>8实现旋转对象<b class='flag-5'>检测</b>

    在C++中使用OpenVINO工具包部署YOLOv5-Seg模型

    YOLOv5兼具速度和精度,工程化做的特别好,Git clone到本地即可在自己的数据集上实现目标检测任务的训练和推理,在产业界中应用广泛。开源社区对YOLOv5支持实例分割的呼声高涨
    的头像 发表于 12-21 10:17 1059次阅读
    在C++中使用OpenVINO工具包部署<b class='flag-5'>YOLOv</b>5-Seg模型

    基于YOLOv8的自定义医学图像分割

    YOLOv8是一种令人惊叹的分割模型;它易于训练、测试和部署。在本教程中,我们将学习如何在自定义数据集上使用YOLOv8。但在此之前,我想告诉你为什么在存在其他优秀的分割模型时应该使用
    的头像 发表于 12-20 10:51 403次阅读
    基于<b class='flag-5'>YOLOv</b>8的自定义医学图像<b class='flag-5'>分割</b>

    用自己的数据集训练YOLOv8实例分割模型

    YOLOv8 于 2023 年 1 月 10 日推出。截至目前,这是计算机视觉领域分类检测分割任务的最先进模型。该模型在准确性和执行时间方面都优于所有已知模型。
    的头像 发表于 11-10 16:44 1352次阅读
    用自己的数据集训练<b class='flag-5'>YOLOv</b>8实例<b class='flag-5'>分割</b>模型

    OpenCV4.8+YOLOv8对象检测C++推理演示

    自从YOLOv5更新成7.0版本YOLOv8推出以后,OpenCV4.6以前的版本都无法再加载导出ONNX格式模型了,只有OpenCV4.
    的头像 发表于 09-27 11:07 684次阅读
    OpenCV4.8+<b class='flag-5'>YOLOv</b>8对象<b class='flag-5'>检测</b>C++推理演示

    YOLOv8+OpenCV实现DM码定位检测与解析

    YOLOv8是YOLO系列模型的最新王者,各种指标全面超越现有对象检测与实例分割模型,借鉴了YOLOv5、YOLOv6、YOLOX等模型的设
    的头像 发表于 08-10 11:35 711次阅读
    <b class='flag-5'>YOLOv</b>8+OpenCV实现DM码定位<b class='flag-5'>检测</b>与解析

    在AI爱克斯开发板上用OpenVINO™加速YOLOv8-seg实例分割模型

    《在 AI 爱克斯开发板上用 OpenVINO 加速 YOLOv8 目标检测模型》介绍了在 AI 爱克斯开发板上使用 OpenVINO 开发套件部署并测评 YOLOv8 的目标检测模型
    的头像 发表于 06-30 10:43 444次阅读
    在AI爱克斯开发板上用OpenVINO™加速<b class='flag-5'>YOLOv</b>8-seg实例<b class='flag-5'>分割</b>模型

    在AI爱克斯开发板上用OpenVINO™加速YOLOv8-seg实例分割模型

    《在 AI 爱克斯开发板上用 OpenVINO 加速 YOLOv8 目标检测模型》介绍了在 AI 爱克斯开发板上使用 OpenVINO 开发套件部署并测评 YOLOv8 的目标检测模型
    的头像 发表于 06-05 11:52 590次阅读
    在AI爱克斯开发板上用OpenVINO™加速<b class='flag-5'>YOLOv</b>8-seg实例<b class='flag-5'>分割</b>模型

    基于YOLOv5s基础上实现五种视觉注意力模块的改进

      视觉注意力机制的各种模块是个好东西,即插即用,可以添加到主流的对象检测、实例分割等模型的backbone与neck中,实现轻松涨点,本文使用OID数据集的2000多张数据,基于YOLOv
    的头像 发表于 06-02 14:52 912次阅读
    基于<b class='flag-5'>YOLOv</b>5s基础上实现五种视觉注意力模块的改进

    AI爱克斯开发板上使用OpenVINO加速YOLOv8目标检测模型

    《在AI爱克斯开发板上用OpenVINO加速YOLOv8分类模型》介绍了在AI爱克斯开发板上使用OpenVINO 开发套件部署并测评YOLOv8的分类模型,本文将介绍在AI爱克斯开发板
    的头像 发表于 05-26 11:03 703次阅读
    AI爱克斯开发板上使用OpenVINO加速<b class='flag-5'>YOLOv</b>8目标<b class='flag-5'>检测</b>模型

    YOLOv8版本升级支持小目标检测与高分辨率图像输入

    YOLOv8版本最近版本又更新了,除了支持姿态评估以外,通过模型结构的修改还支持了小目标检测与高分辨率图像检测。原始的
    的头像 发表于 05-16 11:14 8838次阅读
    <b class='flag-5'>YOLOv</b>8<b class='flag-5'>版本</b>升级支持小目标<b class='flag-5'>检测</b>与高分辨率图像输入

    在AI爱克斯开发板上用OpenVINO™加速YOLOv8目标检测模型

    《在 AI 爱克斯开发板上用 OpenVINO 加速 YOLOv8 分类模型》介绍了在 AI 爱克斯开发板上使用 OpenVINO 开发套件部署并测评 YOLOv8 的分类模型,本文将
    的头像 发表于 05-12 09:08 831次阅读
    在AI爱克斯开发板上用OpenVINO™加速<b class='flag-5'>YOLOv</b>8目标<b class='flag-5'>检测</b>模型

    在AI爱克斯开发板上用OpenVINO™加速YOLOv8分类模型

    本系列文章将在 AI 爱克斯开发板上使用 OpenVINO 开发套件依次部署并测评 YOLOv8 的分类模型、目标检测模型、实例分割模型和人体姿态估计模型。
    的头像 发表于 05-05 11:47 584次阅读
    在AI爱克斯开发板上用OpenVINO™加速<b class='flag-5'>YOLOv</b>8<b class='flag-5'>分类</b>模型

    TensorRT 8.6 C++开发环境配置与YOLOv8实例分割推理演示

    YOLOv8实例分割TensorRT 推理代码已经完成C++类封装,三行代码即可实现YOLOv8对象检测与实例分割模型推理,不需要改任何代
    的头像 发表于 04-25 10:49 3627次阅读
    TensorRT 8.6 C++开发环境配置与<b class='flag-5'>YOLOv</b>8实例<b class='flag-5'>分割</b>推理演示