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

Ultralytics 团队

3 分钟阅读

2022年11月23日

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

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

在最新版本的开发过程中,我们始终将两个目标放在首位。第一个目标是让人工智能变得简单,第二个目标是重新定义 "最先进 "的真正含义。

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

由于这是我们首次发布分割模型,我们对这一里程碑式的成就感到无比自豪。我们非常感谢我们的热心社区和贡献者,是他们帮助我们发布了这一版本。  

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

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

YOLOv5 重要更新

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

  • 分段模型 ⭐ 新消息:SOTA YOLOv5-seg 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 速度测试。我们在 GoogleColab Pro笔记本上进行了所有速度测试,以方便重现。

  • 所有检查点均使用 SGD 优化器进行了 300 次历时训练,lr0=0.01,weight_decay=5e-5,图像大小为 640,所有设置均为默认。所有运行都记录在此
  • 准确度值为 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 分段训练支持使用 --data coco128-seg.yaml 参数自动下载 COCO128-seg 分段数据集,以及使用 bash data/scripts/get_coco.sh --train --val --segments 和 python train.py --data coco.yaml 手动下载 COCO-segments 数据集。

单 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 分割片段(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 中枢加载(警告:尚不支持推理)。

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 论坛提问,提出问题,或在软件仓库提交 PR。您还可以从我们的YOLOv5 细分 Colab 笔记本中获取快速入门教程。

让我们共同打造人工智能的未来

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

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