Ultralytics YOLOv5 v7.0 推出实例分割功能
了解 YOLOv5 v7.0,这一版本首次推出 YOLOv5 实例分割模型,并提供训练、验证、预测和导出示例。
Nuvola Ladi3 分钟阅读
YOLOv5 v7.0是我们 AI 架构的最新版本,现已发布;我们很高兴地宣布推出全新的实例分割模型!(对于现在启动的新项目,请查看 Ultralytics YOLO26,它同样支持实例分割。)

在开发这个最新版本时,我们始终将两个目标放在首位。第一个目标是让 AI 更易于使用,第二个目标是重新定义“最先进”究竟意味着什么。
因此,我们进行了重大改进、修复和升级。YOLOv5 v7.0 延续了现有 Ultralytics YOLOv5 目标检测模型简单易用的工作流程,让你可以比以往更轻松地训练、验证和部署模型。此外,我们在所有最先进水平(SOTA)基准测试中都取得了领先,使 YOLOv5-seg 成为发布时速度最快、精度最高的实时实例分割模型。
这是我们首次发布分割模型,我们为这一里程碑感到无比自豪。我们要特别感谢热心的社区成员和贡献者,正是他们的帮助让此次发布成为可能。

现在,让我们一起来看看 YOLOv5 v7.0 的发布说明!
Ultralytics YOLOv5 重要更新#
以下是自 2022 年 8 月发布 YOLOv5 v6.2 以来 YOLOv5 的更新内容。
- 分割模型 ⭐ 全新:首批 SOTA YOLOv5-seg COCO 预训练分割模型现已推出(@glenn-jocher、@AyushExel 和 @Laughing-q 提交的 #9052)
- PaddlePaddle 导出:使用
python export.py --include paddle将任意 YOLOv5 模型(cls、seg、det)导出为 Paddle 格式(#9459,作者:@glenn-jocher) - YOLOv5 AutoCache:
python train.py --cache ram现在会扫描可用内存,并与预测的数据集 RAM 使用量进行比较。这降低了缓存风险,有助于提高数据集缓存功能的采用率;该功能可以显著加快训练速度。(#10027,作者:@glenn-jocher) - Comet 日志记录和可视化集成:永久免费使用,Comet 让你可以保存 YOLOv5 模型、恢复训练,并以交互方式可视化和调试预测结果。(@DN6 提交的 #9232)
全新分割检查点#
我们使用 A100 GPU,以 640 的图像尺寸在 COCO 上训练了 Ultralytics YOLOv5 分割模型,共训练 300 个 epoch。我们将所有模型导出为 ONNX FP32 格式,用于 CPU 速度测试;并导出为 TensorRT FP16 格式,用于 GPU 速度测试。为方便复现,所有速度测试都在 Google Colab Pro 笔记本中运行。
- 所有检查点均使用 SGD 优化器训练 300 个 epoch,lr0=0.01、weight_decay=5e-5,图像尺寸为 640,其他设置均为默认值。所有运行记录都保存在这些 Weights & Biases 训练日志中。
- 精度数值是在 COCO 数据集上以单模型、单尺度方式测得的。使用
python segment/val.py --data coco.yaml --weights yolov5s-seg.pt复现 - 速度是在 Colab Pro A100 High-RAM 实例上使用 100 张推理图像计算的平均值。数值仅表示推理速度(NMS 每张图像额外耗时约 1ms)。使用
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复现
全新分割用法示例#
训练#
Ultralytics YOLOv5 分割训练支持使用 --data coco128-seg.yaml 参数自动下载 COCO128-seg分割数据集;也支持手动下载 COCO-segments 数据集,然后运行 python segment/train.py --data coco.yaml,并使用 bash data/scripts/get_coco.sh --train --val --segments。
单 GPU#
python segment/train.py --weights 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 --weights yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640 --device 0,1,2,3验证#
在 COCO 数据集上验证 YOLOv5s-seg 的精度:
bash data/scripts/get_coco.sh --val --segments # download COCO val segments split (780MB, 5000 images)
python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # validate预测#
使用预训练的 YOLOv5m-seg 对 bus.jpg 进行预测:
python segment/predict.py --weights yolov5m-seg.pt --source data/images/bus.jpgmodel = torch.hub.load("ultralytics/yolov5", "custom", "yolov5m-seg.pt") # 从 PyTorch Hub 加载(警告:暂不支持推理)
导出#
将 YOLOv5s-seg 模型导出为 ONNX 和 TensorRT:
python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0
有任何问题?可以在 Ultralytics 论坛提问、提交问题,或在代码库中提交 PR。你也可以从我们的 YOLOv5 分割 Colab 笔记本入手,快速学习相关教程。
作者
评论
提出问题、分享你的结果,或帮助其他人。










