深圳尤洛视觉
深圳
立即加入

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

Ultralytics 团队

3 分钟阅读

2022 年 11 月 23 日

探索 YOLOv5 v7.0,它具有新的实例分割模型,性能优于 SOTA 基准,可实现最高的 AI 准确性和速度。加入我们的社区。

YOLOv5 v7.0,我们 AI 架构的最新版本已经发布,我们很高兴推出我们新的实例分割模型!

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

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

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

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

那么,让我们开始了解 YOLOv5 v7.0 的发行说明吧!

重要的 YOLOv5 更新

自从我们在 2022 年 8 月发布 YOLOv5 v6.2 以来,YOLOv5 中更新的内容如下。

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

新的分割检查点

我们使用 A100 GPU 在 COCO 数据集上以 640 的图像尺寸训练了 YOLOv5 分割模型 300 个 epoch。我们将所有模型导出为 ONNX FP32 用于 CPU 速度测试,导出为 TensorRT FP16 用于 GPU 速度测试。我们在 Google Colab Pro 笔记本上运行了所有速度测试,以便于重现。

  • 所有检查点均使用 SGD 优化器(lr0=0.01,weight_decay=5e-5)在图像大小为 640 且所有默认设置下训练到 300 个 epoch。所有运行都记录在此处
  • 准确率值是针对COCO数据集上的单模型单尺度。通过 python segment/val.py --data coco.yaml --weights yolov5s-seg.pt 复现。
  • 使用 Colab Pro A100 High-RAM 实例,对 100 张推理图像进行平均速度计算。数值仅表示推理速度(NMS 每张图像增加约 1 毫秒)。通过 python segment/val.py --data coco.yaml --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 分割训练支持自动下载 COCO128-seg 分割数据集,使用 --data coco128-seg.yaml 参数,以及手动下载 COCO-segments 数据集,使用 bash data\/scripts\/get_coco.sh --train --val --segments,然后使用 python train.py --data coco.yaml。

单 GPU

python segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640

多 GPU DDP

python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640 --device 0,1,2,3

验证

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

bash data/scripts/get_coco.sh --val --segments # 下载 COCO val segments split(780MB,5000 张图像) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # 验证

预测

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

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

model = torch.hub.load('ultralytics/yolov5', 'custom', 'yolov5m-seg.pt') # 从 PyTorch Hub 加载(警告:尚不支持推理)

Ultralytics YOLOv5 v7.0 实例分割


导出

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

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

Ultralytics YOLOv5 v7.0 实例分割

有任何问题?请访问 Ultralytics 论坛提出 issue 或在 repo 上提交 PR。您还可以通过我们的 YOLOv5 分割 Colab 笔记本 开始学习快速入门教程。

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

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

免费开始
链接已复制到剪贴板