* Update Python example * Improve README.zh-CN.md * Auto-format by https://ultralytics.com/actions --------- Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com>
469 lines
42 KiB
Markdown
469 lines
42 KiB
Markdown
<div align="center">
|
||
<p>
|
||
<a href="https://www.ultralytics.com/blog/all-you-need-to-know-about-ultralytics-yolo11-and-its-applications" target="_blank">
|
||
<img width="100%" src="https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/banner-yolov8.png" alt="Ultralytics YOLO banner"></a>
|
||
</p>
|
||
|
||
[中文](https://docs.ultralytics.com/zh) | [한국어](https://docs.ultralytics.com/ko) | [日本語](https://docs.ultralytics.com/ja) | [Русский](https://docs.ultralytics.com/ru) | [Deutsch](https://docs.ultralytics.com/de) | [Français](https://docs.ultralytics.com/fr) | [Español](https://docs.ultralytics.com/es) | [Português](https://docs.ultralytics.com/pt) | [Türkçe](https://docs.ultralytics.com/tr) | [Tiếng Việt](https://docs.ultralytics.com/vi) | [العربية](https://docs.ultralytics.com/ar)
|
||
|
||
<div>
|
||
<a href="https://github.com/ultralytics/yolov5/actions/workflows/ci-testing.yml"><img src="https://github.com/ultralytics/yolov5/actions/workflows/ci-testing.yml/badge.svg" alt="YOLOv5 CI"></a>
|
||
<a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="YOLOv5 Citation"></a>
|
||
<a href="https://hub.docker.com/r/ultralytics/yolov5"><img src="https://img.shields.io/docker/pulls/ultralytics/yolov5?logo=docker" alt="Docker Pulls"></a>
|
||
<a href="https://discord.com/invite/ultralytics"><img alt="Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a> <a href="https://community.ultralytics.com/"><img alt="Ultralytics Forums" src="https://img.shields.io/discourse/users?server=https%3A%2F%2Fcommunity.ultralytics.com&logo=discourse&label=Forums&color=blue"></a> <a href="https://reddit.com/r/ultralytics"><img alt="Ultralytics Reddit" src="https://img.shields.io/reddit/subreddit-subscribers/ultralytics?style=flat&logo=reddit&logoColor=white&label=Reddit&color=blue"></a>
|
||
<br>
|
||
<a href="https://bit.ly/yolov5-paperspace-notebook"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Run on Gradient"></a>
|
||
<a href="https://colab.research.google.com/github/ultralytics/yolov5/blob/master/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a>
|
||
<a href="https://www.kaggle.com/models/ultralytics/yolov5"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open In Kaggle"></a>
|
||
</div>
|
||
<br>
|
||
|
||
YOLOv5 🚀 是全球最受欢迎的视觉 AI,代表着 <a href="https://www.ultralytics.com/">Ultralytics</a> 开源研究中面向未来视觉 AI 方法的探索,融入了经过数千小时的研发积累的经验和最佳实践。
|
||
|
||
我们希望这些资源能帮助您充分利用 YOLOv5。请查阅 YOLOv5 的<a href="https://docs.ultralytics.com/yolov5/">文档</a>了解详细信息,如需支持请在 <a href="https://github.com/ultralytics/yolov5/issues/new/choose">GitHub</a> 提出问题,或加入我们的 <a href="https://discord.com/invite/ultralytics">Discord</a> 社区进行提问和讨论!
|
||
|
||
如需申请企业许可,请前往 [Ultralytics Licensing](https://www.ultralytics.com/license) 填写表单。
|
||
|
||
<div align="center">
|
||
<a href="https://github.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-github.png" width="2%" alt="Ultralytics GitHub"></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%">
|
||
<a href="https://www.linkedin.com/company/ultralytics/"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-linkedin.png" width="2%" alt="Ultralytics LinkedIn"></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%">
|
||
<a href="https://twitter.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-twitter.png" width="2%" alt="Ultralytics Twitter"></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%">
|
||
<a href="https://youtube.com/ultralytics?sub_confirmation=1"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-youtube.png" width="2%" alt="Ultralytics YouTube"></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%">
|
||
<a href="https://www.tiktok.com/@ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-tiktok.png" width="2%" alt="Ultralytics TikTok"></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%">
|
||
<a href="https://ultralytics.com/bilibili"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-bilibili.png" width="2%" alt="Ultralytics BiliBili"></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%">
|
||
<a href="https://discord.com/invite/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-discord.png" width="2%" alt="Ultralytics Discord"></a>
|
||
</div>
|
||
|
||
</div>
|
||
<br>
|
||
|
||
## <div align="center">YOLO11 🚀 新品发布</div>
|
||
|
||
我们很高兴推出 Ultralytics YOLO11 🚀,这是我们最尖端(SOTA)视觉模型的最新成果!现已在 **[GitHub](https://github.com/ultralytics/ultralytics)** 发布,YOLO11 延续了我们速度、精准度与易用性的传承。不论您是做目标检测、图像分割还是图像分类,YOLO11 都能提供卓越的性能和足以应对多样化应用的多功能性。
|
||
|
||
立即开始,释放 YOLO11 的全部潜力!访问 [Ultralytics 文档](https://docs.ultralytics.com/) 获取全面的指南和资源:
|
||
|
||
[](https://badge.fury.io/py/ultralytics) [](https://www.pepy.tech/projects/ultralytics)
|
||
|
||
```bash
|
||
pip install ultralytics
|
||
```
|
||
|
||
<div align="center">
|
||
<a href="https://www.ultralytics.com/yolo" target="_blank">
|
||
<img width="100%" src="https://raw.githubusercontent.com/ultralytics/assets/refs/heads/main/yolo/performance-comparison.png"></a>
|
||
</div>
|
||
|
||
## <div align="center">文档</div>
|
||
|
||
请参阅 [YOLOv5 文档](https://docs.ultralytics.com/yolov5/) 以获取关于训练、测试和部署的完整文档。下面提供了快速入门示例。
|
||
|
||
<details open>
|
||
<summary>安装</summary>
|
||
|
||
克隆仓库并在 [**Python>=3.8.0**](https://www.python.org/) 环境中安装 [requirements.txt](https://github.com/ultralytics/yolov5/blob/master/requirements.txt),包括 [**PyTorch>=1.8**](https://pytorch.org/get-started/locally/)。
|
||
|
||
```bash
|
||
git clone https://github.com/ultralytics/yolov5 # 克隆仓库
|
||
cd yolov5
|
||
pip install -r requirements.txt # 安装依赖
|
||
```
|
||
|
||
</details>
|
||
|
||
<details open>
|
||
<summary>推理</summary>
|
||
|
||
YOLOv5 [PyTorch Hub](https://docs.ultralytics.com/yolov5/tutorials/pytorch_hub_model_loading/) 推理。 [Models](https://github.com/ultralytics/yolov5/tree/master/models) 会自动从最新的 YOLOv5 [release](https://github.com/ultralytics/yolov5/releases) 下载。
|
||
|
||
```python
|
||
import torch
|
||
|
||
# 加载 YOLOv5 模型(可选项: yolov5n, yolov5s, yolov5m, yolov5l, yolov5x)
|
||
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
|
||
|
||
# 输入源(URL、文件、PIL 图像、OpenCV、numpy 数组 或 列表)
|
||
img = "https://ultralytics.com/images/zidane.jpg"
|
||
|
||
# 执行推理(支持批处理、调整大小、归一化)
|
||
results = model(img)
|
||
|
||
# 处理结果(可选方法:.print(), .show(), .save(), .crop(), .pandas())
|
||
results.print()
|
||
```
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary>使用 detect.py 进行推理</summary>
|
||
|
||
`detect.py` 可在多种输入源上运行推理,自动从最新的 YOLOv5 [release](https://github.com/ultralytics/yolov5/releases) 下载 [models](https://github.com/ultralytics/yolov5/tree/master/models),并将结果保存到 `runs/detect` 目录。
|
||
|
||
```bash
|
||
python detect.py --weights yolov5s.pt --source 0 # 调用摄像头
|
||
python detect.py --weights yolov5s.pt --source img.jpg # 单张图片
|
||
python detect.py --weights yolov5s.pt --source vid.mp4 # 视频文件
|
||
python detect.py --weights yolov5s.pt --source screen # 屏幕截图
|
||
python detect.py --weights yolov5s.pt --source path/ # 目录
|
||
python detect.py --weights yolov5s.pt --source list.txt # 图片列表
|
||
python detect.py --weights yolov5s.pt --source list.streams # 流列表
|
||
python detect.py --weights yolov5s.pt --source 'path/*.jpg' # 通配符匹配
|
||
python detect.py --weights yolov5s.pt --source 'https://youtu.be/LNwODJXcvt4' # YouTube 视频
|
||
python detect.py --weights yolov5s.pt --source 'rtsp://example.com/media.mp4' # RTSP、RTMP、HTTP 流
|
||
```
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary>训练</summary>
|
||
|
||
以下命令重现 YOLOv5 [COCO](https://github.com/ultralytics/yolov5/blob/master/data/scripts/get_coco.sh) 结果。 [Models](https://github.com/ultralytics/yolov5/tree/master/models) 和 [datasets](https://github.com/ultralytics/yolov5/tree/master/data) 会自动从最新的 YOLOv5 [release](https://github.com/ultralytics/yolov5/releases) 下载。 在 V100 GPU 上,YOLOv5n/s/m/l/x 的训练时间分别为 1/2/4/6/8 天([多 GPU](https://docs.ultralytics.com/yolov5/tutorials/multi_gpu_training/) 可大幅加速)。请使用最大的 `--batch-size`,或者传入 `--batch-size -1` 启用 YOLOv5 的 [AutoBatch](https://github.com/ultralytics/yolov5/pull/5092)。下面的批量大小以 V100-16GB 为准。
|
||
|
||
```bash
|
||
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5n.yaml --batch-size 128
|
||
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5s.yaml --batch-size 64
|
||
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5m.yaml --batch-size 40
|
||
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5l.yaml --batch-size 24
|
||
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5x.yaml --batch-size 16
|
||
```
|
||
|
||
<img width="800" src="https://user-images.githubusercontent.com/26833433/90222759-949d8800-ddc1-11ea-9fa1-1c97eed2b963.png">
|
||
|
||
</details>
|
||
|
||
<details open>
|
||
<summary>教程</summary>
|
||
|
||
- [训练自定义数据](https://docs.ultralytics.com/yolov5/tutorials/train_custom_data/) 🚀 推荐
|
||
- [获得最佳训练效果的小贴士](https://docs.ultralytics.com/guides/model-training-tips/) ☘️
|
||
- [多 GPU 训练](https://docs.ultralytics.com/yolov5/tutorials/multi_gpu_training/)
|
||
- [PyTorch Hub](https://docs.ultralytics.com/yolov5/tutorials/pytorch_hub_model_loading/) 🌟 新
|
||
- [TFLite, ONNX, CoreML, TensorRT 导出](https://docs.ultralytics.com/yolov5/tutorials/model_export/) 🚀
|
||
- [在 NVIDIA Jetson 平台上部署](https://docs.ultralytics.com/yolov5/tutorials/running_on_jetson_nano/) 🌟 新
|
||
- [测试时数据增强(TTA)](https://docs.ultralytics.com/yolov5/tutorials/test_time_augmentation/)
|
||
- [模型集成](https://docs.ultralytics.com/yolov5/tutorials/model_ensembling/)
|
||
- [模型剪枝/稀疏性](https://docs.ultralytics.com/yolov5/tutorials/model_pruning_and_sparsity/)
|
||
- [超参数演化](https://docs.ultralytics.com/yolov5/tutorials/hyperparameter_evolution/)
|
||
- [冻结层的迁移学习](https://docs.ultralytics.com/yolov5/tutorials/transfer_learning_with_frozen_layers/)
|
||
- [架构摘要](https://docs.ultralytics.com/yolov5/tutorials/architecture_description/) 🌟 新
|
||
- [Ultralytics HUB 训练和部署 YOLO](https://www.ultralytics.com/hub) 🚀 推荐
|
||
- [ClearML 日志记录](https://docs.ultralytics.com/yolov5/tutorials/clearml_logging_integration/)
|
||
- [与 Neural Magic 的 Deepsparse 一起使用 YOLOv5](https://docs.ultralytics.com/yolov5/tutorials/neural_magic_pruning_quantization/)
|
||
- [Comet 日志记录](https://docs.ultralytics.com/yolov5/tutorials/comet_logging_integration/) 🌟 新
|
||
|
||
</details>
|
||
|
||
## <div align="center">集成</div>
|
||
|
||
我们与领先 AI 平台的关键集成扩展了 Ultralytics 产品的功能,提升了数据集标注、训练、可视化和模型管理等任务的效率。探索 Ultralytics 如何与 [W&B](https://docs.wandb.ai/guides/integrations/ultralytics/)、[Comet](https://bit.ly/yolov8-readme-comet)、[Roboflow](https://roboflow.com/?ref=ultralytics) 和 [OpenVINO](https://docs.ultralytics.com/integrations/openvino/) 携手,优化您的 AI 工作流。
|
||
|
||
<br>
|
||
<a href="https://www.ultralytics.com/hub" target="_blank">
|
||
<img width="100%" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Ultralytics active learning integrations"></a>
|
||
<br>
|
||
<br>
|
||
|
||
<div align="center">
|
||
<a href="https://www.ultralytics.com/hub">
|
||
<img src="https://github.com/ultralytics/assets/raw/main/partners/logo-ultralytics-hub.png" width="10%" alt="Ultralytics HUB logo"></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="15%" height="0" alt="space">
|
||
<a href="https://docs.wandb.ai/guides/integrations/ultralytics/">
|
||
<img src="https://github.com/ultralytics/assets/raw/main/partners/logo-wb.png" width="10%" alt="ClearML logo"></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="15%" height="0" alt="space">
|
||
<a href="https://bit.ly/yolov8-readme-comet">
|
||
<img src="https://github.com/ultralytics/assets/raw/main/partners/logo-comet.png" width="10%" alt="Comet ML logo"></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="15%" height="0" alt="space">
|
||
<a href="https://bit.ly/yolov5-neuralmagic">
|
||
<img src="https://github.com/ultralytics/assets/raw/main/partners/logo-neuralmagic.png" width="10%" alt="NeuralMagic logo"></a>
|
||
</div>
|
||
|
||
| Ultralytics HUB 🚀 | W&B | Comet ⭐ 新版 | Neural Magic |
|
||
| :--------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: |
|
||
| 简化 YOLO 工作流:使用 [Ultralytics HUB](https://www.ultralytics.com/hub) 轻松标注、训练和部署。立即试用! | 使用 [Weights & Biases](https://docs.wandb.ai/guides/integrations/ultralytics/) 跟踪实验、超参数和结果。 | 永久免费,[Comet](https://bit.ly/yolov5-readme-comet) 让您保存 YOLOv5 模型、恢复训练,并以交互方式可视化和调试预测 | 通过 [Neural Magic DeepSparse](https://bit.ly/yolov5-neuralmagic) 将 YOLO11 推理速度提升多达 6 倍 |
|
||
|
||
## <div align="center">Ultralytics HUB</div>
|
||
|
||
体验无缝 AI 解决方案,尽在 [Ultralytics HUB](https://www.ultralytics.com/hub) ⭐ —— 一体化的数据可视化、YOLOv5 和 YOLOv8 🚀 模型训练与部署平台,无需编写代码。使用我们前沿的平台和用户友好的 [Ultralytics App](https://www.ultralytics.com/app-install) 将图像转化为可行见解,让您的 AI 构想轻松变为现实。立即免费开启您的旅程!
|
||
|
||
<a align="center" href="https://www.ultralytics.com/hub" target="_blank">
|
||
<img width="100%" src="https://github.com/ultralytics/assets/raw/main/im/ultralytics-hub.png"></a>
|
||
|
||
## <div align="center">为什么选择 YOLOv5</div>
|
||
|
||
YOLOv5 的设计初衷是让入门变得极其简单,并易于学习。我们优先关注于实现真实世界的效果。
|
||
|
||
<p align="left"><img width="800" src="https://user-images.githubusercontent.com/26833433/155040763-93c22a27-347c-4e3c-847a-8094621d3f4e.png"></p>
|
||
<details>
|
||
<summary>YOLOv5-P5 640 图示</summary>
|
||
|
||
<p align="left"><img width="800" src="https://user-images.githubusercontent.com/26833433/155040757-ce0934a3-06a6-43dc-a979-2edbbd69ea0e.png"></p>
|
||
</details>
|
||
<details>
|
||
<summary>图示说明</summary>
|
||
|
||
- **COCO AP val** 表示在 5000 张 [COCO val2017](http://cocodataset.org) 数据集上以不同推理尺寸(256 至 1536)测量的 mAP@0.5:0.95 指标。
|
||
- **GPU 速度** 测量了在 [COCO val2017](http://cocodataset.org) 数据集上、使用 [AWS p3.2xlarge](https://aws.amazon.com/ec2/instance-types/p4/) V100 实例,以 batch-size 32 进行推理时的平均每张图像推理时间。
|
||
- **EfficientDet** 数据来自 [google/automl](https://github.com/google/automl),batch size 为 8。
|
||
- **重现方法**:`python val.py --task study --data coco.yaml --iou 0.7 --weights yolov5n6.pt yolov5s6.pt yolov5m6.pt yolov5l6.pt yolov5x6.pt`
|
||
|
||
</details>
|
||
|
||
### 预训练检查点
|
||
|
||
| Model | size<br><sup>(pixels) | mAP<sup>val<br>50-95 | mAP<sup>val<br>50 | Speed<br><sup>CPU b1<br>(ms) | Speed<br><sup>V100 b1<br>(ms) | Speed<br><sup>V100 b32<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>@640 (B) |
|
||
| ----------------------------------------------------------------------------------------------- | --------------------- | -------------------- | ----------------- | ---------------------------- | ----------------------------- | ------------------------------ | ------------------ | ---------------------- |
|
||
| [YOLOv5n](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5n.pt) | 640 | 28.0 | 45.7 | **45** | **6.3** | **0.6** | **1.9** | **4.5** |
|
||
| [YOLOv5s](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s.pt) | 640 | 37.4 | 56.8 | 98 | 6.4 | 0.9 | 7.2 | 16.5 |
|
||
| [YOLOv5m](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5m.pt) | 640 | 45.4 | 64.1 | 224 | 8.2 | 1.7 | 21.2 | 49.0 |
|
||
| [YOLOv5l](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5l.pt) | 640 | 49.0 | 67.3 | 430 | 10.1 | 2.7 | 46.5 | 109.1 |
|
||
| [YOLOv5x](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5x.pt) | 640 | 50.7 | 68.9 | 766 | 12.1 | 4.8 | 86.7 | 205.7 |
|
||
| | | | | | | | | |
|
||
| [YOLOv5n6](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5n6.pt) | 1280 | 36.0 | 54.4 | 153 | 8.1 | 2.1 | 3.2 | 4.6 |
|
||
| [YOLOv5s6](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s6.pt) | 1280 | 44.8 | 63.7 | 385 | 8.2 | 3.6 | 12.6 | 16.8 |
|
||
| [YOLOv5m6](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5m6.pt) | 1280 | 51.3 | 69.3 | 887 | 11.1 | 6.8 | 35.7 | 50.0 |
|
||
| [YOLOv5l6](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5l6.pt) | 1280 | 53.7 | 71.3 | 1784 | 15.8 | 10.5 | 76.8 | 111.4 |
|
||
| [YOLOv5x6](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5x6.pt)<br>+ [TTA] | 1280<br>1536 | 55.0<br>**55.8** | 72.7<br>**72.7** | 3136<br>- | 26.2<br>- | 19.4<br>- | 140.7<br>- | 209.8<br>- |
|
||
|
||
<details>
|
||
<summary>表格说明</summary>
|
||
|
||
- 所有检查点均使用默认设置并训练 300 个 epochs。 Nano 和 Small 模型使用 [hyp.scratch-low.yaml](https://github.com/ultralytics/yolov5/blob/master/data/hyps/hyp.scratch-low.yaml) 超参数,其它所有模型均使用 [hyp.scratch-high.yaml](https://github.com/ultralytics/yolov5/blob/master/data/hyps/hyp.scratch-high.yaml)。
|
||
- **mAP<sup>val</sup>** 数值为在 [COCO val2017](http://cocodataset.org) 数据集上的单模型单尺度测试结果。<br>可通过 `python val.py --data coco.yaml --img 640 --conf 0.001 --iou 0.65` 重现。
|
||
- **速度** 为在 [AWS p3.2xlarge](https://aws.amazon.com/ec2/instance-types/p4/) 实例上,使用 COCO val 图像测试得到的平均单张图像推理速度(NMS 时间(约 1 ms/图像)不计算在内)。<br>可通过 `python val.py --data coco.yaml --img 640 --task speed --batch 1` 重现。
|
||
- **TTA** [测试时数据增强](https://docs.ultralytics.com/yolov5/tutorials/test_time_augmentation/) 包括反射和缩放增强。<br>可通过 `python val.py --data coco.yaml --img 1536 --iou 0.7 --augment` 重现。
|
||
|
||
</details>
|
||
|
||
## <div align="center">分割</div>
|
||
|
||
我们全新发布的 YOLOv5 [v7.0 版本](https://github.com/ultralytics/yolov5/releases/v7.0) 实例分割模型是目前世界上最快、最精确的,其性能超越了所有现有 [SOTA 基准](https://paperswithcode.com/sota/real-time-instance-segmentation-on-mscoco)。我们让它们的训练、验证和部署变得超级简单。详见我们的 [版本说明](https://github.com/ultralytics/yolov5/releases/v7.0),并访问我们的 [YOLOv5 分割 Colab Notebook](https://github.com/ultralytics/yolov5/blob/master/segment/tutorial.ipynb) 获取快速入门教程。
|
||
|
||
<details>
|
||
<summary>分割检查点</summary>
|
||
|
||
<div align="center">
|
||
<a align="center" href="https://www.ultralytics.com/yolo" target="_blank">
|
||
<img width="800" src="https://user-images.githubusercontent.com/61612323/204180385-84f3aca9-a5e9-43d8-a617-dda7ca12e54a.png"></a>
|
||
</div>
|
||
|
||
我们使用 A100 GPU 在 COCO 数据集上训练 YOLOv5 分割模型,共训练 300 个 epochs,图像尺寸为 640。我们将所有模型导出为 ONNX FP32 用于 CPU 速度测试,并导出为 TensorRT FP16 用于 GPU 速度测试。所有速度测试均在 Google [Colab Pro](https://colab.research.google.com/signup) Notebook 上进行,以便于重现。
|
||
|
||
| Model | size<br><sup>(pixels) | mAP<sup>box<br>50-95 | mAP<sup>mask<br>50-95 | Train time<br><sup>300 epochs<br>A100 (hours) | Speed<br><sup>ONNX CPU<br>(ms) | Speed<br><sup>TRT A100<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>@640 (B) |
|
||
| ------------------------------------------------------------------------------------------ | --------------------- | -------------------- | --------------------- | --------------------------------------------- | ------------------------------ | ------------------------------ | ------------------ | ---------------------- |
|
||
| [YOLOv5n-seg](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5n-seg.pt) | 640 | 27.6 | 23.4 | 80:17 | **62.7** | **1.2** | **2.0** | **7.1** |
|
||
| [YOLOv5s-seg](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s-seg.pt) | 640 | 37.6 | 31.7 | 88:16 | 173.3 | 1.4 | 7.6 | 26.4 |
|
||
| [YOLOv5m-seg](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5m-seg.pt) | 640 | 45.0 | 37.1 | 108:36 | 427.0 | 2.2 | 22.0 | 70.8 |
|
||
| [YOLOv5l-seg](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5l-seg.pt) | 640 | 49.0 | 39.9 | 66:43 (2x) | 857.4 | 2.9 | 47.9 | 147.7 |
|
||
| [YOLOv5x-seg](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5x-seg.pt) | 640 | **50.7** | **41.4** | 62:56 (3x) | 1579.2 | 4.5 | 88.8 | 265.7 |
|
||
|
||
- 所有检查点均使用 SGD 优化器(初始学习率 lr0=0.01,weight_decay=5e-5),图像尺寸为 640,训练 300 个 epochs,默认配置。<br>训练日志记录于 https://wandb.ai/glenn-jocher/YOLOv5_v70_official
|
||
- **准确率** 数值为在 COCO 数据集上单模型单尺度测试结果。<br>可通过 `python segment/val.py --data coco.yaml --weights yolov5s-seg.pt` 重现。
|
||
- **速度** 为在 [Colab Pro](https://colab.research.google.com/signup) A100 高内存实例上,对 100 张测试图像的平均推理速度(仅计算推理时间,NMS 每张图像约增加 1ms)。<br>可通过 `python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1` 重现。
|
||
- **导出** 为 ONNX FP32 和 TensorRT FP16 是通过 `export.py` 完成的。<br>可通过 `python export.py --weights yolov5s-seg.pt --include engine --device 0 --half` 重现。
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary>分割使用示例 <a href="https://colab.research.google.com/github/ultralytics/yolov5/blob/master/segment/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a></summary>
|
||
|
||
### 训练
|
||
|
||
YOLOv5 分割训练支持通过 `--data coco128-seg.yaml` 参数自动下载 COCO128-seg 分割数据集,也支持通过 `bash data/scripts/get_coco.sh --train --val --segments` 手动下载 COCO-segments 数据集,然后运行 `python train.py --data coco.yaml`。
|
||
|
||
```bash
|
||
# 单 GPU
|
||
python segment/train.py --data coco128-seg.yaml --weights yolov5s-seg.pt --img 640
|
||
|
||
# 多 GPU DDP
|
||
python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --data coco128-seg.yaml --weights yolov5s-seg.pt --img 640 --device 0,1,2,3
|
||
```
|
||
|
||
### 验证
|
||
|
||
在 COCO 数据集上验证 YOLOv5s-seg mask mAP:
|
||
|
||
```bash
|
||
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.pt 对 bus.jpg 进行预测:
|
||
|
||
```bash
|
||
python segment/predict.py --weights yolov5m-seg.pt --source data/images/bus.jpg
|
||
```
|
||
|
||
```python
|
||
model = torch.hub.load("ultralytics/yolov5", "custom", "yolov5m-seg.pt") # 从 PyTorch Hub 加载(注意:暂不支持推理)
|
||
```
|
||
|
||
|  |  |
|
||
| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
||
|
||
### 导出
|
||
|
||
将 YOLOv5s-seg 模型导出为 ONNX 和 TensorRT 格式:
|
||
|
||
```bash
|
||
python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0
|
||
```
|
||
|
||
</details>
|
||
|
||
## <div align="center">分类</div>
|
||
|
||
YOLOv5 [v6.2 版本](https://github.com/ultralytics/yolov5/releases) 现已支持分类模型的训练、验证和部署!详见我们的 [版本说明](https://github.com/ultralytics/yolov5/releases/v6.2) ,并访问我们的 [YOLOv5 分类 Colab Notebook](https://github.com/ultralytics/yolov5/blob/master/classify/tutorial.ipynb) 获取快速入门教程。
|
||
|
||
<details>
|
||
<summary>分类检查点</summary>
|
||
|
||
<br>
|
||
|
||
我们在 ImageNet 数据集上使用 4xA100 实例训练 YOLOv5-cls 分类模型共 90 个 epochs,同时使用相同默认训练设置训练了 ResNet 和 EfficientNet 模型进行对比。所有模型均导出为 ONNX FP32 (CPU 速度测试) 和 TensorRT FP16 (GPU 速度测试)。所有速度测试均在 Google [Colab Pro](https://colab.research.google.com/signup) 上运行,以便于重现。
|
||
|
||
| Model | size<br><sup>(pixels) | acc<br><sup>top1 | acc<br><sup>top5 | Training<br><sup>90 epochs<br>4xA100 (hours) | Speed<br><sup>ONNX CPU<br>(ms) | Speed<br><sup>TensorRT V100<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>@224 (B) |
|
||
| -------------------------------------------------------------------------------------------------- | --------------------- | ---------------- | ---------------- | -------------------------------------------- | ------------------------------ | ----------------------------------- | ------------------ | ---------------------- |
|
||
| [YOLOv5n-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5n-cls.pt) | 224 | 64.6 | 85.4 | 7:59 | **3.3** | **0.5** | **2.5** | **0.5** |
|
||
| [YOLOv5s-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s-cls.pt) | 224 | 71.5 | 90.2 | 8:09 | 6.6 | 0.6 | 5.4 | 1.4 |
|
||
| [YOLOv5m-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5m-cls.pt) | 224 | 75.9 | 92.9 | 10:06 | 15.5 | 0.9 | 12.9 | 3.9 |
|
||
| [YOLOv5l-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5l-cls.pt) | 224 | 78.0 | 94.0 | 11:56 | 26.9 | 1.4 | 26.5 | 8.5 |
|
||
| [YOLOv5x-cls](https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5x-cls.pt) | 224 | **79.0** | **94.4** | 15:04 | 54.3 | 1.8 | 48.1 | 15.9 |
|
||
| | | | | | | | | |
|
||
| [ResNet18](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet18.pt) | 224 | 70.3 | 89.5 | **6:47** | 11.2 | 0.5 | 11.7 | 3.7 |
|
||
| [ResNet34](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet34.pt) | 224 | 73.9 | 91.8 | 8:33 | 20.6 | 0.9 | 21.8 | 7.4 |
|
||
| [ResNet50](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet50.pt) | 224 | 76.8 | 93.4 | 11:10 | 23.4 | 1.0 | 25.6 | 8.5 |
|
||
| [ResNet101](https://github.com/ultralytics/yolov5/releases/download/v7.0/resnet101.pt) | 224 | 78.5 | 94.3 | 17:10 | 42.1 | 1.9 | 44.5 | 15.9 |
|
||
| | | | | | | | | |
|
||
| [EfficientNet_b0](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b0.pt) | 224 | 75.1 | 92.4 | 13:03 | 12.5 | 1.3 | 5.3 | 1.0 |
|
||
| [EfficientNet_b1](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b1.pt) | 224 | 76.4 | 93.2 | 17:04 | 14.9 | 1.6 | 7.8 | 1.5 |
|
||
| [EfficientNet_b2](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b2.pt) | 224 | 76.6 | 93.4 | 17:10 | 15.9 | 1.6 | 9.1 | 1.7 |
|
||
| [EfficientNet_b3](https://github.com/ultralytics/yolov5/releases/download/v7.0/efficientnet_b3.pt) | 224 | 77.7 | 94.0 | 19:19 | 18.9 | 1.9 | 12.2 | 2.4 |
|
||
|
||
<details>
|
||
<summary>表格说明 (点击展开)</summary>
|
||
|
||
- 所有检查点均使用 SGD 优化器(初始学习率 lr0=0.001,weight_decay=5e-5),图像尺寸为 224,训练 90 个 epochs,默认配置。<br>训练日志记录于 https://wandb.ai/glenn-jocher/YOLOv5-Classifier-v6-2
|
||
- **准确率** 数值为在 [ImageNet-1k](https://www.image-net.org/index.php) 数据集上的单模型单尺度测试结果。<br>可通过 `python classify/val.py --data ../datasets/imagenet --img 224` 重现。
|
||
- **速度** 为在 Google [Colab Pro](https://colab.research.google.com/signup) V100 高内存实例上,以 100 张图片测试的平均推理速度。<br>可通过 `python classify/val.py --data ../datasets/imagenet --img 224 --batch 1` 重现。
|
||
- **导出** 为 ONNX FP32 和 TensorRT FP16 均通过 `export.py` 完成。<br>可通过 `python export.py --weights yolov5s-cls.pt --include engine onnx --imgsz 224` 重现。
|
||
|
||
</details>
|
||
</details>
|
||
|
||
<details>
|
||
<summary>分类使用示例 <a href="https://colab.research.google.com/github/ultralytics/yolov5/blob/master/classify/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a></summary>
|
||
|
||
### 训练
|
||
|
||
YOLOv5 分类训练支持通过 `--data` 参数自动下载 MNIST、Fashion-MNIST、CIFAR10、CIFAR100、Imagenette、Imagewoof 和 ImageNet 数据集。例如,启动 MNIST 训练只需指定 `--data mnist`。
|
||
|
||
```bash
|
||
# 单 GPU
|
||
python classify/train.py --model yolov5s-cls.pt --data cifar100 --epochs 5 --img 224 --batch 128
|
||
|
||
# 多 GPU DDP
|
||
python -m torch.distributed.run --nproc_per_node 4 --master_port 1 classify/train.py --model yolov5s-cls.pt --data imagenet --epochs 5 --img 224 --device 0,1,2,3
|
||
```
|
||
|
||
### 验证
|
||
|
||
在 ImageNet-1k 数据集上验证 YOLOv5m-cls 的准确率:
|
||
|
||
```bash
|
||
bash data/scripts/get_imagenet.sh --val # 下载 ImageNet 验证集(6.3G,50000 张图片)
|
||
python classify/val.py --weights yolov5m-cls.pt --data ../datasets/imagenet --img 224 # 开始验证
|
||
```
|
||
|
||
### 推理
|
||
|
||
使用预训练的 YOLOv5s-cls.pt 对 bus.jpg 进行预测:
|
||
|
||
```bash
|
||
python classify/predict.py --weights yolov5s-cls.pt --source data/images/bus.jpg
|
||
```
|
||
|
||
```python
|
||
model = torch.hub.load("ultralytics/yolov5", "custom", "yolov5s-cls.pt") # 从 PyTorch Hub 加载
|
||
```
|
||
|
||
### 导出
|
||
|
||
将训练好的 YOLOv5s-cls、ResNet 和 EfficientNet 模型导出为 ONNX 和 TensorRT 格式:
|
||
|
||
```bash
|
||
python export.py --weights yolov5s-cls.pt resnet50.pt efficientnet_b0.pt --include onnx engine --img 224
|
||
```
|
||
|
||
</details>
|
||
|
||
## <div align="center">环境</div>
|
||
|
||
使用我们的验证环境,让你在几秒钟内开始体验。点击下方每个图标了解详细信息。
|
||
|
||
<div align="center">
|
||
<a href="https://bit.ly/yolov5-paperspace-notebook">
|
||
<img src="https://github.com/ultralytics/assets/releases/download/v0.0.0/logo-gradient.png" width="10%" /></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="5%" alt="" />
|
||
<a href="https://colab.research.google.com/github/ultralytics/yolov5/blob/master/tutorial.ipynb">
|
||
<img src="https://github.com/ultralytics/assets/releases/download/v0.0.0/logo-colab-small.png" width="10%" /></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="5%" alt="" />
|
||
<a href="https://www.kaggle.com/models/ultralytics/yolov5">
|
||
<img src="https://github.com/ultralytics/assets/releases/download/v0.0.0/logo-kaggle-small.png" width="10%" /></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="5%" alt="" />
|
||
<a href="https://hub.docker.com/r/ultralytics/yolov5">
|
||
<img src="https://github.com/ultralytics/assets/releases/download/v0.0.0/logo-docker-small.png" width="10%" /></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="5%" alt="" />
|
||
<a href="https://docs.ultralytics.com/yolov5/environments/aws_quickstart_tutorial/">
|
||
<img src="https://github.com/ultralytics/assets/releases/download/v0.0.0/logo-aws-small.png" width="10%" /></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="5%" alt="" />
|
||
<a href="https://docs.ultralytics.com/yolov5/environments/google_cloud_quickstart_tutorial/">
|
||
<img src="https://github.com/ultralytics/assets/releases/download/v0.0.0/logo-gcp-small.png" width="10%" /></a>
|
||
</div>
|
||
|
||
## <div align="center">贡献</div>
|
||
|
||
我们欢迎您的意见!希望能让贡献 YOLOv5 变得轻松且透明。请参阅我们的 [贡献指南](https://docs.ultralytics.com/help/contributing/) 开始参与,并填写 [YOLOv5 调查问卷](https://www.ultralytics.com/survey?utm_source=github&utm_medium=social&utm_campaign=Survey) 向我们反馈您的体验。感谢所有贡献者!
|
||
|
||
<!-- SVG 图片源自 https://opencollective.com/ultralytics/contributors.svg?width=990 -->
|
||
|
||
<a href="https://github.com/ultralytics/yolov5/graphs/contributors">
|
||
<img src="https://github.com/ultralytics/assets/raw/main/im/image-contributors.png" /></a>
|
||
|
||
## <div align="center">许可</div>
|
||
|
||
Ultralytics 提供两种许可选项,以满足不同的使用场景:
|
||
|
||
- **AGPL-3.0 许可**:这是一种 [OSI 认可](https://opensource.org/license) 的开源许可,非常适合学生和爱好者,旨在促进开放协作与知识共享。更多详情见 [LICENSE](https://github.com/ultralytics/yolov5/blob/master/LICENSE) 文件。
|
||
- **企业许可**:针对商业用途设计,此许可允许将 Ultralytics 软件和 AI 模型无缝集成到商业产品和服务中,免去了 AGPL-3.0 开源许可的要求。如果您的应用场景涉及将我们的解决方案嵌入到商业产品中,请通过 [Ultralytics Licensing](https://www.ultralytics.com/license) 与我们联系。
|
||
|
||
## <div align="center">联系</div>
|
||
|
||
有关 YOLOv5 的 bug 报告和功能请求,请访问 [GitHub Issues](https://github.com/ultralytics/yolov5/issues),如有疑问和讨论,请加入我们的 [Discord](https://discord.com/invite/ultralytics) 社区!
|
||
|
||
<br>
|
||
<div align="center">
|
||
<a href="https://github.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-github.png" width="3%" alt="Ultralytics GitHub"></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
|
||
<a href="https://www.linkedin.com/company/ultralytics/"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-linkedin.png" width="3%" alt="Ultralytics LinkedIn"></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
|
||
<a href="https://twitter.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-twitter.png" width="3%" alt="Ultralytics Twitter"></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
|
||
<a href="https://youtube.com/ultralytics?sub_confirmation=1"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-youtube.png" width="3%" alt="Ultralytics YouTube"></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
|
||
<a href="https://www.tiktok.com/@ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-tiktok.png" width="3%" alt="Ultralytics TikTok"></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
|
||
<a href="https://ultralytics.com/bilibili"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-bilibili.png" width="3%" alt="Ultralytics BiliBili"></a>
|
||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%">
|
||
<a href="https://discord.com/invite/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-discord.png" width="3%" alt="Ultralytics Discord"></a>
|
||
</div>
|
||
|
||
[tta]: https://docs.ultralytics.com/yolov5/tutorials/test_time_augmentation
|