深圳Yolo 视觉
深圳
立即加入

Ultralytics YOLOv5 v7.0 中的实例分割介绍

Ultralytics 团队

3 分钟阅读

2022 年 11 月 23 日

探索YOLOv5 .0,了解全新实例分割模型,超越 SOTA 基准的顶级人工智能准确性和速度。加入我们的社区。

我们的人工智能架构的最新版本YOLOv5 v7.0 已经发布,我们非常高兴地介绍我们的新实例分割模型!

在进行最新版本发布时,我们始终将两个目标放在首位。第一个目标是让 AI 变得简单,第二个目标是重新定义“最先进”的真正含义。

因此,通过重大改进、修复和升级,我们做到了这一点。YOLOv5 v7.0 与我们现有的YOLOv5 物体检测模型保持相同的简单工作流程,现在比以往任何时候都更容易训练、验证和部署您的模型。除此之外,我们还超越了所有SOTA 基准,使YOLOv5 成为世界上最快、最准确的产品。

这是我们首次发布分割模型,我们为此里程碑感到无比自豪。我们非常感谢我们敬业的社区和贡献者,他们帮助实现了此次发布。  

Ultralytics YOLOv5 v7.0 SOTA 实时实例分割

现在,让我们开始了解YOLOv5 v7.0发布说明

YOLOv5 重要更新

以下是YOLOv5 自 2022 年 8 月发布YOLOv5 v6.2以来的更新内容。

  • 分段模型 ⭐ 新消息:SOTAYOLOv5 COCO分段模型现已首次发布(#9052,作者:@glenn-jocher、@AyushExel 和 @Laughing-q)
  • PaddlePaddle 导出:使用python export.py --include paddle 将任何YOLOv5 模型(cls、seg、det)导出为 Paddle 格式#9459by @glenn-jocher)
  • YOLOv5 自动缓存:现在,使用python train.py --cache ram 将扫描可用内存,并与预测的数据集内存使用情况进行比较。这将降低缓存风险,有助于提高数据集缓存功能的采用率,从而显著加快训练速度。(#10027by @glenn-jocher)
  • Comet 记录和可视化集成:永久免费、 Comet可让您保存YOLOv5 模型、恢复训练以及交互式可视化和调试预测。(#9232by @DN6)

新的分割检查点

我们使用 A100 GPU 在COCO 上对YOLOv5 分割模型进行了 300 次历时训练,图像大小为 640。我们将所有模型导出到ONNX FP32 进行CPU 速度测试,并导出到TensorRT FP16 进行GPU 速度测试。我们在Google Colab Pro笔记本上进行了所有速度测试,以方便重现。

  • 所有检查点均使用SGD 优化器训练了 300 个 epochs,lr0=0.01,weight_decay=5e-5,图像大小为 640,所有设置均为默认。所有运行都记录在此
  • 准确度值为COCO 数据集上的单模型单尺度准确度。通过python segment.py --data coco.yaml --weights yolov5s-seg.pt 复制
  • 使用 Colab Pro A100 High-RAM 实例对 100 个推理图像的平均速度。数值仅表示推理速度NMS 为每个图像增加约 1 毫秒)。复制方法:python segment.py --data cocoyaml --weights yolov5s-seg.pt --batch 1
  • 使用 export.py 将数据导出为 FP32 的ONNX 和 FP16 的TensorRT 。用python export.py 重现 --weights yolov5s-seg.pt --include engine --device 0 --half

新的分割使用示例

训练

YOLOv5 细分训练支持使用 --dataCOCO128yaml 参数自动下载COCO128 细分数据集,以及使用bash data/scripts/get_coco.sh --train --val --segments 和python train.py --data coco.yaml 手动下载COCO 数据集。

GPUGPU

python segment.py --model yolov5s-seg.pt --data coco128-segyaml --epochs 5 --img 640

GPU GPU DDP

python -mtorch.distributed.run --nproc_per_node 4 --master_port 1segment.py --model yolov5s-seg.pt --data coco128-segyaml --epochs 5 --img 640 --device 0,1,2,3

验证

在ImageNet 数据集上验证 YOLOv5m-seg 的准确性:

bash data/scripts/get_coco.sh --val --segments # 下载COCO val 分割片段(780MB,5000 幅图像)python segment.py --weights yolov5s-seg.pt --data cocoyaml --img 640 # 验证

预测

使用预训练的 YOLOv5m-seg 模型来预测 bus.jpg:

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

model =torch.hub.load(ultralyticsyolov5', 'custom', 'yolov5m-seg.pt') # 从PyTorch 中枢加载(警告:尚不支持推理)。

Ultralytics YOLOv5 v7.0 实例分割


导出

将 YOLOv5s-seg 模型导出到ONNX 和TensorRT:

python export.py --weights yolov5s-seg.pt --includeonnx engine --img 640 --device 0

Ultralytics YOLOv5 v7.0 实例分割

有任何问题?请到Ultralytics 论坛提问,提出问题,或在软件仓库提交 PR。您还可以从我们的YOLOv5 细分 Colab 笔记本中获取快速入门教程。

让我们一起构建人工智能的未来!

开启您的机器学习未来之旅

免费开始