Update https://docs.ultralytics.com/models (#6513)
Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
0c4e97443b
commit
16a13a1ce0
178 changed files with 14224 additions and 561 deletions
193
docs/zh/models/fast-sam.md
Normal file
193
docs/zh/models/fast-sam.md
Normal file
|
|
@ -0,0 +1,193 @@
|
|||
---
|
||||
comments: true
|
||||
description: FastSAM是一种基于卷积神经网络的实时图像对象分割解决方案。它提供了卓越的用户交互功能、计算效率以及适用于多种视觉任务的特性。
|
||||
keywords: FastSAM, 机器学习, 基于卷积神经网络的解决方案, 图像对象分割, 实时解决方案, Ultralytics, 视觉任务, 图像处理, 工业应用, 用户交互
|
||||
---
|
||||
|
||||
# Fast Segment Anything Model(FastSAM)
|
||||
|
||||
Fast Segment Anything Model(FastSAM)是一种创新的实时卷积神经网络(CNN)模型,用于图像中的任意对象分割任务。该任务旨在根据各种可能的用户交互提示,对图像中的任意对象进行分割。FastSAM在保持具备竞争性能的同时,显著降低了计算需求,使其成为各种视觉任务的实用选择。
|
||||
|
||||

|
||||
|
||||
## 概述
|
||||
|
||||
FastSAM旨在解决[Segment Anything Model(SAM)](sam.md)的局限性,SAM是一种计算资源需求很高的Transformer模型。FastSAM将任意对象分割任务拆分为两个顺序阶段:所有实例分割和提示引导选择。第一阶段使用[YOLOv8-seg](../tasks/segment.md)生成图像中所有实例的分割掩码。在第二阶段,输出与提示对应的感兴趣区域。
|
||||
|
||||
## 主要特点
|
||||
|
||||
1. **实时解决方案:** FastSAM利用CNN的计算效率提供了图像中任意对象分割任务的实时解决方案,适用于需要快速结果的工业应用。
|
||||
|
||||
2. **高效和高性能:** FastSAM在显著降低计算和资源需求的同时,不会降低性能质量。它与SAM具有相当的性能,但计算资源大幅减少,能够实现实时应用。
|
||||
|
||||
3. **提示引导分割:** FastSAM可以通过各种可能的用户交互提示来分割图像中的任意对象,提供了不同场景下的灵活性和适应性。
|
||||
|
||||
4. **基于YOLOv8-seg:** FastSAM基于[YOLOv8-seg](../tasks/segment.md),是一种配备实例分割分支的目标检测器。这使得它能够有效地生成图像中所有实例的分割掩码。
|
||||
|
||||
5. **基准测试中具有竞争力的结果:** 在MS COCO的对象提议任务中,FastSAM在单个NVIDIA RTX 3090上以显著更快的速度获得高分,与[SAM](sam.md)相比,显示出其效率和能力。
|
||||
|
||||
6. **实际应用:** 提出的方法以非常高的速度为大量视觉任务提供了一种新的实用解决方案,比当前方法快十几倍乃至数百倍。
|
||||
|
||||
7. **模型压缩的可行性:** FastSAM通过引入人工先验到结构中,展示了通过路径显著减少计算工作量的可行性,为通用视觉任务的大型模型架构开辟了新的可能性。
|
||||
|
||||
## 可用模型、支持的任务和操作模式
|
||||
|
||||
该表格列出了可用的模型及其特定的预训练权重,它们支持的任务以及它们与不同操作模式(如[推断](../modes/predict.md)、[验证](../modes/val.md)、[训练](../modes/train.md)和[导出](../modes/export.md))的兼容性,由支持的模式用✅表示,不支持的模式用❌表示。
|
||||
|
||||
| 模型类型 | 预训练权重 | 支持的任务 | 推断 | 验证 | 训练 | 导出 |
|
||||
|-----------|----------------|-----------------------------|----|----|----|----|
|
||||
| FastSAM-s | `FastSAM-s.pt` | [实例分割](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ |
|
||||
| FastSAM-x | `FastSAM-x.pt` | [实例分割](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ |
|
||||
|
||||
## 用法示例
|
||||
|
||||
FastSAM模型很容易集成到Python应用程序中。Ultralytics提供了用户友好的Python API和CLI命令以简化开发。
|
||||
|
||||
### 预测用法
|
||||
|
||||
要对图像进行对象检测,可以使用下面的`predict`方法:
|
||||
|
||||
!!! Example "示例"
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
from ultralytics import FastSAM
|
||||
from ultralytics.models.fastsam import FastSAMPrompt
|
||||
|
||||
# 定义推断源
|
||||
source = 'path/to/bus.jpg'
|
||||
|
||||
# 创建FastSAM模型
|
||||
model = FastSAM('FastSAM-s.pt') # 或 FastSAM-x.pt
|
||||
|
||||
# 在图像上运行推断
|
||||
everything_results = model(source, device='cpu', retina_masks=True, imgsz=1024, conf=0.4, iou=0.9)
|
||||
|
||||
# 准备Prompt Process对象
|
||||
prompt_process = FastSAMPrompt(source, everything_results, device='cpu')
|
||||
|
||||
# Everything提示
|
||||
ann = prompt_process.everything_prompt()
|
||||
|
||||
# Bbox默认形状[0,0,0,0] -> [x1,y1,x2,y2]
|
||||
ann = prompt_process.box_prompt(bbox=[200, 200, 300, 300])
|
||||
|
||||
# 文本提示
|
||||
ann = prompt_process.text_prompt(text='a photo of a dog')
|
||||
|
||||
# 点提示
|
||||
# 默认点[[0,0]] [[x1,y1],[x2,y2]]
|
||||
# 默认point_label [0] [1,0] 0:背景,1:前景
|
||||
ann = prompt_process.point_prompt(points=[[200, 200]], pointlabel=[1])
|
||||
prompt_process.plot(annotations=ann, output='./')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
```bash
|
||||
# 加载FastSAM模型并使用该模型分割图像中的所有对象
|
||||
yolo segment predict model=FastSAM-s.pt source=path/to/bus.jpg imgsz=640
|
||||
```
|
||||
|
||||
此片段演示了加载预训练模型并在图像上进行预测的简单性。
|
||||
|
||||
### 验证用法
|
||||
|
||||
可以采用以下方式对数据集上的模型进行验证:
|
||||
|
||||
!!! Example "示例"
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
from ultralytics import FastSAM
|
||||
|
||||
# 创建FastSAM模型
|
||||
model = FastSAM('FastSAM-s.pt') # 或 FastSAM-x.pt
|
||||
|
||||
# 验证模型
|
||||
results = model.val(data='coco8-seg.yaml')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
```bash
|
||||
# 加载FastSAM模型,并在COCO8示例数据集上进行验证,图像大小为640
|
||||
yolo segment val model=FastSAM-s.pt data=coco8.yaml imgsz=640
|
||||
```
|
||||
|
||||
请注意,FastSAM仅支持检测和分割单个类别的对象。这意味着它将识别和分割所有对象为相同的类别。因此,在准备数据集时,需要将所有对象的类别ID转换为0。
|
||||
|
||||
## FastSAM官方用法
|
||||
|
||||
FastSAM也可以直接从[https://github.com/CASIA-IVA-Lab/FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM)存储库中获取。以下是您可能采取的使用FastSAM的典型步骤的简要概述:
|
||||
|
||||
### 安装
|
||||
|
||||
1. 克隆FastSAM存储库:
|
||||
```shell
|
||||
git clone https://github.com/CASIA-IVA-Lab/FastSAM.git
|
||||
```
|
||||
|
||||
2. 创建并激活一个带有Python 3.9的Conda环境:
|
||||
```shell
|
||||
conda create -n FastSAM python=3.9
|
||||
conda activate FastSAM
|
||||
```
|
||||
|
||||
3. 进入克隆的存储库并安装所需的软件包:
|
||||
```shell
|
||||
cd FastSAM
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
4. 安装CLIP模型:
|
||||
```shell
|
||||
pip install git+https://github.com/openai/CLIP.git
|
||||
```
|
||||
|
||||
### 示例用法
|
||||
|
||||
1. 下载[模型检查点](https://drive.google.com/file/d/1m1sjY4ihXBU1fZXdQ-Xdj-mDltW-2Rqv/view?usp=sharing)。
|
||||
|
||||
2. 使用FastSAM进行推断。示例命令:
|
||||
|
||||
- 在图像中分割所有内容:
|
||||
```shell
|
||||
python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg
|
||||
```
|
||||
|
||||
- 使用文本提示分割特定对象:
|
||||
```shell
|
||||
python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --text_prompt "the yellow dog"
|
||||
```
|
||||
|
||||
- 在边界框中分割对象(以xywh格式提供边界框坐标):
|
||||
```shell
|
||||
python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --box_prompt "[570,200,230,400]"
|
||||
```
|
||||
|
||||
- 在特定点附近分割对象:
|
||||
```shell
|
||||
python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --point_prompt "[[520,360],[620,300]]" --point_label "[1,0]"
|
||||
```
|
||||
|
||||
此外,您可以在[Colab演示](https://colab.research.google.com/drive/1oX14f6IneGGw612WgVlAiy91UHwFAvr9?usp=sharing)上尝试FastSAM,或在[HuggingFace Web演示](https://huggingface.co/spaces/An-619/FastSAM)上进行可视化体验。
|
||||
|
||||
## 引用和致谢
|
||||
|
||||
我们要感谢FastSAM作者在实时实例分割领域作出的重要贡献:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@misc{zhao2023fast,
|
||||
title={Fast Segment Anything},
|
||||
author={Xu Zhao and Wenchao Ding and Yongqi An and Yinglong Du and Tao Yu and Min Li and Ming Tang and Jinqiao Wang},
|
||||
year={2023},
|
||||
eprint={2306.12156},
|
||||
archivePrefix={arXiv},
|
||||
primaryClass={cs.CV}
|
||||
}
|
||||
```
|
||||
|
||||
可在[arXiv](https://arxiv.org/abs/2306.12156)上找到原始的FastSAM论文。作者已经公开了他们的工作,代码库可以在[GitHub](https://github.com/CASIA-IVA-Lab/FastSAM)上获取。我们感谢他们在推动该领域以及使他们的工作对更广泛的社区可访问方面所做的努力。
|
||||
|
|
@ -1,51 +1,55 @@
|
|||
---
|
||||
comments: true
|
||||
description: 探索 Ultralytics 支持的 YOLO 系列、SAM、MobileSAM、FastSAM、YOLO-NAS 和 RT-DETR 模型多样化的范围。提供 CLI 和 Python 使用的示例以供入门。
|
||||
description: 探索 Ultralytics 支持的多样化 YOLO 系列、SAM、MobileSAM、FastSAM、YOLO-NAS 和 RT-DETR 模型。开启您的 CLI 和 Python 使用示例之旅。
|
||||
keywords: Ultralytics, 文档, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, 模型, 架构, Python, CLI
|
||||
---
|
||||
|
||||
# Ultralytics 支持的模型
|
||||
|
||||
欢迎来到 Ultralytics 的模型文档!我们支持多种模型,每种模型都针对特定任务进行了优化,如[对象检测](/../tasks/detect.md)、[实例分割](/../tasks/segment.md)、[图像分类](/../tasks/classify.md)、[姿态估计](/../tasks/pose.md)和[多对象追踪](/../modes/track.md)。如果您有兴趣将您的模型架构贡献给 Ultralytics,请查看我们的[贡献指南](/../help/contributing.md)。
|
||||
欢迎来到 Ultralytics 的模型文档!我们提供多种模型的支持,每种模型都针对特定任务量身定做,如[对象检测](../tasks/detect.md)、[实例分割](../tasks/segment.md)、[图像分类](../tasks/classify.md)、[姿态估计](../tasks/pose.md)以及[多对象跟踪](../modes/track.md)。如果您有兴趣将您的模型架构贡献给 Ultralytics,请查看我们的[贡献指南](../../help/contributing.md)。
|
||||
|
||||
!!! Note "笔记"
|
||||
!!! Note "注意"
|
||||
|
||||
Ultralytics 团队正忙于将文档翻译成多种语言。本页面上的链接目前可能会导向英文文档页面,因为我们正在努力扩展多语言文档支持。感谢您的耐心等待 🙏!
|
||||
🚧 我们的多语言文档目前正在建设中,我们正在努力进行完善。感谢您的耐心等待!🙏
|
||||
|
||||
## 特色模型
|
||||
|
||||
以下是一些关键支持的模型:
|
||||
以下是一些关键模型的介绍:
|
||||
|
||||
1. **[YOLOv3](/../models/yolov3.md)**:YOLO 模型系列的第三个版本,最初由 Joseph Redmon 提出,以其高效的实时对象检测能力而闻名。
|
||||
2. **[YOLOv4](/../models/yolov4.md)**:YOLOv3 的 darknet 本地更新,由 Alexey Bochkovskiy 在 2020 年发布。
|
||||
3. **[YOLOv5](/../models/yolov5.md)**:Ultralytics 改进的 YOLO 架构版本,与之前的版本相比提供了更好的性能和速度折中选择。
|
||||
4. **[YOLOv6](/../models/yolov6.md)**:由 [美团](https://about.meituan.com/) 在 2022 年发布,并在公司众多自主配送机器人中使用。
|
||||
5. **[YOLOv7](/../models/yolov7.md)**:YOLOv4 作者在 2022 年发布的更新版 YOLO 模型。
|
||||
6. **[YOLOv8](/../models/yolov8.md)**:YOLO 系列的最新版本,具备增强的功能,如实例分割、姿态/关键点估计和分类。
|
||||
7. **[Segment Anything Model (SAM)](/../models/sam.md)**:Meta's Segment Anything Model (SAM)。
|
||||
8. **[Mobile Segment Anything Model (MobileSAM)](/../models/mobile-sam.md)**:由庆熙大学为移动应用程序打造的 MobileSAM。
|
||||
9. **[Fast Segment Anything Model (FastSAM)](/../models/fast-sam.md)**:中国科学院自动化研究所图像与视频分析组的 FastSAM。
|
||||
10. **[YOLO-NAS](/../models/yolo-nas.md)**:YOLO 神经架构搜索 (NAS) 模型。
|
||||
11. **[Realtime Detection Transformers (RT-DETR)](/../models/rtdetr.md)**:百度 PaddlePaddle 实时检测变换器 (RT-DETR) 模型。
|
||||
1. **[YOLOv3](yolov3.md)**:由 Joseph Redmon 最初开发的 YOLO 模型家族的第三版,以其高效的实时对象检测能力而闻名。
|
||||
2. **[YOLOv4](yolov4.md)**:由 Alexey Bochkovskiy 在 2020 年发布的 YOLOv3 的 darknet 原生更新版本。
|
||||
3. **[YOLOv5](yolov5.md)**:Ultralytics 改进的 YOLO 架构版本,与先前版本相比,提供了更好的性能和速度权衡。
|
||||
4. **[YOLOv6](yolov6.md)**:由[美团](https://about.meituan.com/)在 2022 年发布,用于公司多个自主送货机器人中。
|
||||
5. **[YOLOv7](yolov7.md)**:YOLOv4 作者在 2022 年发布的更新版 YOLO 模型。
|
||||
6. **[YOLOv8](yolov8.md) NEW 🚀**:YOLO 家族的最新版本,具备实例分割、姿态/关键点估计和分类等增强能力。
|
||||
7. **[Segment Anything Model (SAM)](sam.md)**:Meta 的 Segment Anything Model (SAM)。
|
||||
8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)**:由庆熙大学开发的移动应用 MobileSAM。
|
||||
9. **[Fast Segment Anything Model (FastSAM)](fast-sam.md)**:中国科学院自动化研究所图像与视频分析组开发的 FastSAM。
|
||||
10. **[YOLO-NAS](yolo-nas.md)**:YOLO 神经网络结构搜索 (NAS) 模型。
|
||||
11. **[Realtime Detection Transformers (RT-DETR)](rtdetr.md)**:百度 PaddlePaddle 实时检测变换器 (RT-DETR) 模型。
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/MWq1UxqTClU?si=nHAW-lYDzrz68jR0"
|
||||
title="YouTube 视频播放器" frameborder="0"
|
||||
title="YouTube video player" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>观看:</strong>仅使用几行代码运行 Ultralytics YOLO 模型。
|
||||
<strong>观看:</strong> 使用 Ultralytics YOLO 模型在几行代码中运行。
|
||||
</p>
|
||||
|
||||
## 入门:使用示例
|
||||
|
||||
此示例提供了简单的 YOLO 训练和推理示例。有关这些和其他[模式](../modes/index.md)的完整文档,请查看[Predict](../modes/predict.md)、[Train](../modes/train.md)、[Val](../modes/val.md) 和 [Export](../modes/export.md) 文档页面。
|
||||
|
||||
请注意,以下示例适用于对象检测的 YOLOv8 [Detect](../tasks/detect.md) 模型。有关其他支持任务的详细信息,请查看[Segment](../tasks/segment.md)、[Classify](../tasks/classify.md) 和 [Pose](../tasks/pose.md) 文档。
|
||||
|
||||
!!! Example "示例"
|
||||
|
||||
=== "Python"
|
||||
|
||||
PyTorch 预训练的 `*.pt` 模型以及配置 `*.yaml` 文件都可以传递给 `YOLO()`、`SAM()`、`NAS()` 和 `RTDETR()` 类来在 Python 中创建模型实例:
|
||||
可将 PyTorch 预训练的 `*.pt` 模型以及配置文件 `*.yaml` 传入 `YOLO()`、`SAM()`、`NAS()` 和 `RTDETR()` 类,以在 Python 中创建模型实例:
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
|
@ -68,7 +72,7 @@ keywords: Ultralytics, 文档, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR,
|
|||
CLI 命令可直接运行模型:
|
||||
|
||||
```bash
|
||||
# 加载 COCO 预训练的 YOLOv8n 模型,并在 COCO8 示例数据集上训练它 100 个周期
|
||||
# 加载 COCO 预训练的 YOLOv8n 模型,并在 COCO8 示例数据集上训练 100 个周期
|
||||
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
|
||||
|
||||
# 加载 COCO 预训练的 YOLOv8n 模型,并对 'bus.jpg' 图像进行推理
|
||||
|
|
@ -77,18 +81,18 @@ keywords: Ultralytics, 文档, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR,
|
|||
|
||||
## 贡献新模型
|
||||
|
||||
有兴趣将您的模型贡献给 Ultralytics 吗?太好了!我们始终欢迎扩展我们的模型组合。
|
||||
有兴趣将您的模型贡献给 Ultralytics 吗?太好了!我们始终欢迎扩展我们的模型投资组合。
|
||||
|
||||
1. **Fork 仓库**:首先 Fork [Ultralytics GitHub 仓库](https://github.com/ultralytics/ultralytics)。
|
||||
1. **Fork 仓库**:从 Fork [Ultralytics GitHub 仓库](https://github.com/ultralytics/ultralytics) 开始。
|
||||
|
||||
2. **克隆您的 Fork**:将您的 Fork 克隆到本地机器上,并创建一个新分支进行工作。
|
||||
2. **克隆您的 Fork**:将您的 Fork 克隆到您的本地机器,并创建一个新的分支进行工作。
|
||||
|
||||
3. **实现您的模型**:按照我们在[贡献指南](/../help/contributing.md)中提供的编码标准和指南添加您的模型。
|
||||
3. **实现您的模型**:按照我们在[贡献指南](../../help/contributing.md)中提供的编码标准和指南添加您的模型。
|
||||
|
||||
4. **彻底测试**:确保彻底测试您的模型,无论是独立还是作为整个管道的一部分。
|
||||
4. **彻底测试**:确保彻底测试您的模型,无论是独立测试还是作为流水线的一部分。
|
||||
|
||||
5. **创建 Pull Request**:一旦您对您的模型感到满意,请创建一个到主仓库的 Pull Request 以便审查。
|
||||
5. **创建拉取请求**:一旦您对您的模型满意,就创建一个拉取请求以供主仓库审查。
|
||||
|
||||
6. **代码审查与合并**:经审查,如果您的模型符合我们的标准,它将被合并到主仓库中。
|
||||
6. **代码审查与合并**:经过审查,如果您的模型符合我们的标准,它将被合并到主仓库中。
|
||||
|
||||
有关详细步骤,请参阅我们的[贡献指南](/../help/contributing.md)。
|
||||
有关详细步骤,请参阅我们的[贡献指南](../../help/contributing.md)。
|
||||
|
|
|
|||
116
docs/zh/models/mobile-sam.md
Normal file
116
docs/zh/models/mobile-sam.md
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
---
|
||||
comments: true
|
||||
description: 了解有关MobileSAM的更多信息,包括其实现、与原始SAM的比较,以及在Ultralytics框架中如何下载和测试它。立即改进您的移动应用程序。
|
||||
keywords: MobileSAM, Ultralytics, SAM, 移动应用, Arxiv, GPU, API, 图像编码器, 蒙版解码器, 模型下载, 测试方法
|
||||
---
|
||||
|
||||

|
||||
|
||||
# 移动端细分模型(MobileSAM)
|
||||
|
||||
MobileSAM 论文现在可以在 [arXiv](https://arxiv.org/pdf/2306.14289.pdf) 上找到。
|
||||
|
||||
可以通过此 [演示链接](https://huggingface.co/spaces/dhkim2810/MobileSAM) 访问在 CPU 上运行的 MobileSAM 演示。在 Mac i5 CPU 上,性能大约需要 3 秒。在 Hugging Face 的演示中,界面和性能较低的 CPU 导致响应较慢,但它仍然能有效地工作。
|
||||
|
||||
MobileSAM 已在 Grounding-SAM、AnyLabeling 和 Segment Anything in 3D 等多个项目中实施。您可以在 [Grounding-SAM](https://github.com/IDEA-Research/Grounded-Segment-Anything)、[AnyLabeling](https://github.com/vietanhdev/anylabeling) 和 [Segment Anything in 3D](https://github.com/Jumpat/SegmentAnythingin3D) 上找到这些项目。
|
||||
|
||||
MobileSAM 使用单个 GPU 在不到一天的时间内对 10 万个数据集(原始图像的 1%)进行训练。关于此训练的代码将在将来提供。
|
||||
|
||||
## 可用模型、支持的任务和操作模式
|
||||
|
||||
以下表格显示了可用模型及其具体的预训练权重,它们支持的任务以及与不同操作模式([预测](../modes/predict.md)、[验证](../modes/val.md)、[训练](../modes/train.md) 和 [导出](../modes/export.md))的兼容性,其中支持的模式用 ✅ 表示,不支持的模式用 ❌ 表示。
|
||||
|
||||
| 模型类型 | 预训练权重 | 支持的任务 | 预测 | 验证 | 训练 | 导出 |
|
||||
|-----------|-----------------|-----------------------------|----|----|----|----|
|
||||
| MobileSAM | `mobile_sam.pt` | [实例分割](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ |
|
||||
|
||||
## 从 SAM 迁移到 MobileSAM
|
||||
|
||||
由于 MobileSAM 保留了与原始 SAM 相同的流程,我们已将原始 SAM 的预处理、后处理和所有其他接口整合到 MobileSAM 中。因此,目前使用原始 SAM 的用户可以以最小的努力迁移到 MobileSAM。
|
||||
|
||||
MobileSAM 在性能上与原始 SAM 相当,并保留了相同的流程,只是更改了图像编码器。具体而言,我们用较小的 Tiny-ViT(5M)替换了原始的笨重的 ViT-H 编码器(632M)。在单个 GPU 上,MobileSAM 每张图片的运行时间约为 12 毫秒:图像编码器约 8 毫秒,蒙版解码器约 4 毫秒。
|
||||
|
||||
以下表格比较了基于 ViT 的图像编码器:
|
||||
|
||||
| 图像编码器 | 原始 SAM | MobileSAM |
|
||||
|-------|--------|-----------|
|
||||
| 参数 | 611M | 5M |
|
||||
| 速度 | 452ms | 8ms |
|
||||
|
||||
原始 SAM 和 MobileSAM 均使用相同的提示引导蒙版解码器:
|
||||
|
||||
| 蒙版解码器 | 原始 SAM | MobileSAM |
|
||||
|-------|--------|-----------|
|
||||
| 参数 | 3.876M | 3.876M |
|
||||
| 速度 | 4ms | 4ms |
|
||||
|
||||
以下是整个流程的比较:
|
||||
|
||||
| 整个流程(编码器+解码器) | 原始 SAM | MobileSAM |
|
||||
|---------------|--------|-----------|
|
||||
| 参数 | 615M | 9.66M |
|
||||
| 速度 | 456ms | 12ms |
|
||||
|
||||
MobileSAM 和原始 SAM 的性能通过使用点和框作为提示进行演示。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
MobileSAM 的性能优于当前的 FastSAM,尺寸大约减小了 5 倍,速度快了约 7 倍。有关更多详细信息,请访问 [MobileSAM 项目页面](https://github.com/ChaoningZhang/MobileSAM)。
|
||||
|
||||
## 在 Ultralytics 中测试 MobileSAM
|
||||
|
||||
与原始 SAM 一样,我们在 Ultralytics 中提供了一种简单的测试方法,包括点提示和框提示的模式。
|
||||
|
||||
### 模型下载
|
||||
|
||||
您可以在 [这里](https://github.com/ChaoningZhang/MobileSAM/blob/master/weights/mobile_sam.pt) 下载模型。
|
||||
|
||||
### 点提示
|
||||
|
||||
!!! Example "示例"
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
from ultralytics import SAM
|
||||
|
||||
# 载入模型
|
||||
model = SAM('mobile_sam.pt')
|
||||
|
||||
# 基于点提示预测一个分段
|
||||
model.predict('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1])
|
||||
```
|
||||
|
||||
### 框提示
|
||||
|
||||
!!! Example "示例"
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
from ultralytics import SAM
|
||||
|
||||
# 载入模型
|
||||
model = SAM('mobile_sam.pt')
|
||||
|
||||
# 基于框提示预测一个分段
|
||||
model.predict('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709])
|
||||
```
|
||||
|
||||
我们使用相同的 API 实现了 `MobileSAM` 和 `SAM`。有关更多用法信息,请参阅 [SAM 页面](sam.md)。
|
||||
|
||||
## 引用和鸣谢
|
||||
|
||||
如果您在研究或开发工作中发现 MobileSAM 对您有用,请考虑引用我们的论文:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@article{mobile_sam,
|
||||
title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications},
|
||||
author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon},
|
||||
journal={arXiv preprint arXiv:2306.14289},
|
||||
year={2023}
|
||||
}
|
||||
93
docs/zh/models/rtdetr.md
Normal file
93
docs/zh/models/rtdetr.md
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
---
|
||||
comments: true
|
||||
description: 了解百度的RT-DETR,一种基于Vision Transformers的高效灵活的实时目标检测器,包括预训练模型的特性和优势。
|
||||
keywords: RT-DETR、Baidu、Vision Transformers、目标检测、实时表现、CUDA、TensorRT、IoU感知的查询选择、Ultralytics、Python API、PaddlePaddle
|
||||
---
|
||||
|
||||
# 百度的RT-DETR:基于Vision Transformers的实时目标检测器
|
||||
|
||||
## 概览
|
||||
|
||||
百度开发的实时检测变换器(RT-DETR)是一种尖端的端到端目标检测器,具有实时性能和高准确性。它利用Vision Transformers (ViT) 的强大功能,通过解耦内部尺度交互和跨尺度融合,高效处理多尺度特征。RT-DETR非常灵活适应各种推断速度的调整,支持使用不同的解码器层而无需重新训练。该模型在CUDA和TensorRT等加速后端上表现出色,超越了许多其他实时目标检测器。
|
||||
|
||||

|
||||
**百度的RT-DETR概览** 百度的RT-DETR模型架构图显示了骨干网的最后三个阶段{S3, S4, S5}作为编码器输入。高效的混合编码器通过内部尺度特征交互(AIFI)和跨尺度特征融合模块(CCFM)将多尺度特征转换为图像特征序列。采用IoU感知的查询选择来选择一定数量的图像特征作为解码器的初始对象查询。最后,解码器通过辅助预测头迭代优化对象查询,生成框和置信度得分。([文章来源](https://arxiv.org/pdf/2304.08069.pdf))
|
||||
|
||||
### 主要特点
|
||||
|
||||
- **高效的混合编码器:** 百度的RT-DETR使用高效的混合编码器,通过解耦内部尺度交互和跨尺度融合来处理多尺度特征。这种独特的Vision Transformers架构降低了计算成本,实现实时目标检测。
|
||||
- **IoU感知的查询选择:** 百度的RT-DETR利用IoU感知的查询选择改进了对象查询的初始化。这使得模型能够聚焦于场景中最相关的对象,提高了检测准确性。
|
||||
- **灵活的推断速度:** 百度的RT-DETR支持使用不同的解码器层灵活调整推断速度,无需重新训练。这种适应性有助于在各种实时目标检测场景中实际应用。
|
||||
|
||||
## 预训练模型
|
||||
|
||||
Ultralytics Python API提供了不同尺度的预训练PaddlePaddle RT-DETR模型:
|
||||
|
||||
- RT-DETR-L: 在COCO val2017上达到53.0%的AP,在T4 GPU上达到114 FPS
|
||||
- RT-DETR-X: 在COCO val2017上达到54.8%的AP,在T4 GPU上达到74 FPS
|
||||
|
||||
## 使用示例
|
||||
|
||||
此示例提供了简单的RT-DETR训练和推断示例。有关这些和其他[模式](../modes/index.md)的完整文档,请参阅[预测](../modes/predict.md)、[训练](../modes/train.md)、[验证](../modes/val.md)和[导出](../modes/export.md)文档页面。
|
||||
|
||||
!!! Example "示例"
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import RTDETR
|
||||
|
||||
# 加载预训练的COCO RT-DETR-l模型
|
||||
model = RTDETR('rtdetr-l.pt')
|
||||
|
||||
# 显示模型信息(可选)
|
||||
model.info()
|
||||
|
||||
# 使用COCO8示例数据集对模型进行100个epoch的训练
|
||||
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
|
||||
|
||||
# 使用RT-DETR-l模型在'bus.jpg'图像上运行推断
|
||||
results = model('path/to/bus.jpg')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# 加载预训练的COCO RT-DETR-l模型,并在COCO8示例数据集上进行100个epoch的训练
|
||||
yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640
|
||||
|
||||
# 加载预训练的COCO RT-DETR-l模型,并在'bus.jpg'图像上运行推断
|
||||
yolo predict model=rtdetr-l.pt source=path/to/bus.jpg
|
||||
```
|
||||
|
||||
## 支持的任务和模式
|
||||
|
||||
该表格提供了各个模型类型、具体的预训练权重、各个模型支持的任务以及支持的各种模式([训练](../modes/train.md)、[验证](../modes/val.md)、[预测](../modes/predict.md)、[导出](../modes/export.md)),其中✅表示支持。
|
||||
|
||||
| 模型类型 | 预训练权重 | 支持的任务 | 推断 | 验证 | 训练 | 导出 |
|
||||
|---------------------|---------------|----------------------------|----|----|----|----|
|
||||
| RT-DETR-Large | `rtdetr-l.pt` | [目标检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| RT-DETR-Extra-Large | `rtdetr-x.pt` | [目标检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
## 引用和致谢
|
||||
|
||||
如果你在研究或开发中使用了百度的RT-DETR,请引用[原始论文](https://arxiv.org/abs/2304.08069):
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@misc{lv2023detrs,
|
||||
title={DETRs Beat YOLOs on Real-time Object Detection},
|
||||
author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu},
|
||||
year={2023},
|
||||
eprint={2304.08069},
|
||||
archivePrefix={arXiv},
|
||||
primaryClass={cs.CV}
|
||||
}
|
||||
```
|
||||
|
||||
我们要感谢百度和[PaddlePaddle](https://github.com/PaddlePaddle/PaddleDetection)团队为计算机视觉社区创建和维护了这个宝贵的资源。非常感谢他们使用基于Vision Transformers的实时目标检测器RT-DETR在该领域做出的贡献。
|
||||
|
||||
*keywords: RT-DETR、Transformer、ViT、Vision Transformers、Baidu RT-DETR、PaddlePaddle、Paddle Paddle RT-DETR,实时目标检测、基于Vision Transformers的目标检测、预训练的PaddlePaddle RT-DETR模型、百度RT-DETR的使用、Ultralytics Python API*
|
||||
226
docs/zh/models/sam.md
Normal file
226
docs/zh/models/sam.md
Normal file
|
|
@ -0,0 +1,226 @@
|
|||
---
|
||||
comments: true
|
||||
description: 探索来自Ultralytics的最前沿的Segment Anything Model (SAM),它可以进行实时图像分割。了解其可提示分割、零样本性能以及如何使用它。
|
||||
keywords: Ultralytics,图像分割,Segment Anything Model,SAM,SA-1B数据集,实时性能,零样本转移,目标检测,图像分析,机器学习
|
||||
---
|
||||
|
||||
# Segment Anything Model (SAM)
|
||||
|
||||
欢迎来到使用Segment Anything Model (SAM) 进行图像分割的前沿。这个革命性的模型通过引入可以提示的实时图像分割,树立了领域新的标准。
|
||||
|
||||
## SAM的介绍:Segment Anything Model
|
||||
|
||||
Segment Anything Model (SAM) 是一种先进的图像分割模型,可以进行可提示的分割,为图像分析任务提供了前所未有的灵活性。SAM 是Segment Anything 项目的核心,该项目引入了一种新颖的模型、任务和图像分割数据集。
|
||||
|
||||
SAM 先进的设计允许它在没有先验知识的情况下适应新的图像分布和任务,这个特点被称为零样本转移。SAM 在包含11亿个掩模的SA-1B数据集上进行训练,该数据集包含超过1100万张精心策划的图像,SAM 在零样本任务中表现出色,许多情况下超过了之前的完全监督结果。
|
||||
|
||||

|
||||
从我们新引入的SA-1B数据集中选择的示例图像,显示了覆盖的掩模。SA-1B包含了1100万个多样化、高分辨率、许可的图像和11亿个高质量的分割掩模。这些掩模由SAM完全自动地进行了注释,经过人工评级和大量实验的验证,它们具有高质量和多样性。图像按每个图像的掩模数量进行分组以进行可视化(平均每个图像有∼100个掩模)。
|
||||
|
||||
## Segment Anything Model (SAM) 的主要特点
|
||||
|
||||
- **可提示的分割任务**:SAM 的设计考虑了可提示的分割任务,它可以从给定的提示中生成有效的分割掩模,例如指示对象的空间或文本线索。
|
||||
- **先进的架构**:Segment Anything Model 使用强大的图像编码器、提示编码器和轻量的掩模解码器。这种独特的架构使得分段任务中的提示灵活、实时掩模计算和模糊感知成为可能。
|
||||
- **SA-1B 数据集**:由Segment Anything 项目引入的 SA-1B 数据集包含超过11亿个掩模的1100万张图像。作为迄今为止最大的分割数据集,它为 SAM 提供了一个多样化的大规模训练数据源。
|
||||
- **零样本性能**:SAM 在各种分割任务中展现出出色的零样本性能,使得它成为一个可以立即使用的工具,对于各种应用来说,对提示工程的需求很小。
|
||||
|
||||
如果您想了解更多关于Segment Anything Model 和 SA-1B 数据集的详细信息,请访问[Segment Anything 网站](https://segment-anything.com)并查看研究论文[Segment Anything](https://arxiv.org/abs/2304.02643)。
|
||||
|
||||
## 可用模型、支持的任务和操作模式
|
||||
|
||||
这个表格展示了可用模型及其特定的预训练权重,它们支持的任务,以及它们与不同操作模式([Inference](../modes/predict.md)、[Validation](../modes/val.md)、[Training](../modes/train.md) 和 [Export](../modes/export.md))的兼容性,用 ✅ 表示支持的模式,用 ❌ 表示不支持的模式。
|
||||
|
||||
| 模型类型 | 预训练权重 | 支持的任务 | 推断 | 验证 | 训练 | 导出 |
|
||||
|-----------|------------|-----------------------------|----|----|----|----|
|
||||
| SAM base | `sam_b.pt` | [实例分割](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ |
|
||||
| SAM large | `sam_l.pt` | [实例分割](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ |
|
||||
|
||||
## 如何使用 SAM: 图像分割的多功能和强大
|
||||
|
||||
Segment Anything Model 可以用于多种下游任务,超越训练数据的范围。这包括边缘检测,目标提案生成,实例分割和初步的文本到掩模预测。通过 prompt 工程,SAM 可以快速适应新的任务和数据分布,以零样本的方式,确立其作为图像分割需求的多功能和强大工具。
|
||||
|
||||
### SAM 预测示例
|
||||
|
||||
!!! Example "使用提示进行分割"
|
||||
|
||||
使用给定的提示对图像进行分割。
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import SAM
|
||||
|
||||
# 加载模型
|
||||
model = SAM('sam_b.pt')
|
||||
|
||||
# 显示模型信息(可选)
|
||||
model.info()
|
||||
|
||||
# 使用边界框提示进行推断
|
||||
model('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709])
|
||||
|
||||
# 使用点提示进行推断
|
||||
model('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1])
|
||||
```
|
||||
|
||||
!!! Example "分割整个图像"
|
||||
|
||||
分割整个图像。
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import SAM
|
||||
|
||||
# 加载模型
|
||||
model = SAM('sam_b.pt')
|
||||
|
||||
# 显示模型信息(可选)
|
||||
model.info()
|
||||
|
||||
# 进行推断
|
||||
model('path/to/image.jpg')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# 使用 SAM 模型进行推断
|
||||
yolo predict model=sam_b.pt source=path/to/image.jpg
|
||||
```
|
||||
|
||||
- 这里的逻辑是,如果您没有传入任何提示(边界框/点/掩模),则对整个图像进行分割。
|
||||
|
||||
!!! Example "SAMPredictor 示例"
|
||||
|
||||
这种方法可以设置图像一次,然后多次运行提示推断,而无需多次运行图像编码器。
|
||||
|
||||
=== "提示推断"
|
||||
|
||||
```python
|
||||
from ultralytics.models.sam import Predictor as SAMPredictor
|
||||
|
||||
# 创建 SAMPredictor
|
||||
overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt")
|
||||
predictor = SAMPredictor(overrides=overrides)
|
||||
|
||||
# 设置图像
|
||||
predictor.set_image("ultralytics/assets/zidane.jpg") # 使用图像文件设置
|
||||
predictor.set_image(cv2.imread("ultralytics/assets/zidane.jpg")) # 使用 np.ndarray 设置
|
||||
results = predictor(bboxes=[439, 437, 524, 709])
|
||||
results = predictor(points=[900, 370], labels=[1])
|
||||
|
||||
# 重置图像
|
||||
predictor.reset_image()
|
||||
```
|
||||
|
||||
通过附加参数对整个图像分割。
|
||||
|
||||
=== "分割整个图像"
|
||||
|
||||
```python
|
||||
from ultralytics.models.sam import Predictor as SAMPredictor
|
||||
|
||||
# 创建 SAMPredictor
|
||||
overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt")
|
||||
predictor = SAMPredictor(overrides=overrides)
|
||||
|
||||
# 使用附加参数进行分割整个图像
|
||||
results = predictor(source="ultralytics/assets/zidane.jpg", crop_n_layers=1, points_stride=64)
|
||||
```
|
||||
|
||||
- 更多关于`分割整个图像`的附加参数,请查看[`Predictor/generate` 参考] (../reference/models/sam/predict.md)。
|
||||
|
||||
## SAM 与 YOLOv8 的对比
|
||||
|
||||
在这里,我们将 Meta 最小的 SAM 模型 SAM-b 与 Ultralytics 的最小分割模型 [YOLOv8n-seg](../tasks/segment.md) 进行对比:
|
||||
|
||||
| 模型 | 大小 | 参数 | 速度 (CPU) |
|
||||
|------------------------------------------------|-----------------------|----------------------|------------------------|
|
||||
| Meta's SAM-b | 358 MB | 94.7 M | 51096 ms/im |
|
||||
| [MobileSAM](mobile-sam.md) | 40.7 MB | 10.1 M | 46122 ms/im |
|
||||
| [FastSAM-s](fast-sam.md) with YOLOv8 backbone | 23.7 MB | 11.8 M | 115 ms/im |
|
||||
| Ultralytics [YOLOv8n-seg](../tasks/segment.md) | **6.7 MB** (缩小了53.4倍) | **3.4 M** (缩小了27.9倍) | **59 ms/im** (加速了866倍) |
|
||||
|
||||
这个对比显示了不同模型之间的模型大小和速度上数量级的差异。虽然 SAM 提供了自动分割的独特能力,但它不是与 YOLOv8 分割模型直接竞争的产品,后者体积更小、速度更快、效率更高。
|
||||
|
||||
在配备有16GB RAM的2023年 Apple M2 MacBook 上进行了测试。要重现这个测试:
|
||||
|
||||
!!! Example "示例"
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
from ultralytics import FastSAM, SAM, YOLO
|
||||
|
||||
# 分析 SAM-b
|
||||
model = SAM('sam_b.pt')
|
||||
model.info()
|
||||
model('ultralytics/assets')
|
||||
|
||||
# 分析 MobileSAM
|
||||
model = SAM('mobile_sam.pt')
|
||||
model.info()
|
||||
model('ultralytics/assets')
|
||||
|
||||
# 分析 FastSAM-s
|
||||
model = FastSAM('FastSAM-s.pt')
|
||||
model.info()
|
||||
model('ultralytics/assets')
|
||||
|
||||
# 分析 YOLOv8n-seg
|
||||
model = YOLO('yolov8n-seg.pt')
|
||||
model.info()
|
||||
model('ultralytics/assets')
|
||||
```
|
||||
|
||||
## 自动注释:创建分割数据集的快速路径
|
||||
|
||||
自动注释是 SAM 的一个关键功能,它允许用户使用预训练的检测模型生成一个[分割数据集](https://docs.ultralytics.com/datasets/segment)。这个功能可以通过自动生成大量图像的准确注释,绕过耗时的手动标注过程,从而快速获得高质量的分割数据集。
|
||||
|
||||
### 使用检测模型生成分割数据集
|
||||
|
||||
要使用Ultralytics框架对数据集进行自动注释,可以使用如下所示的 `auto_annotate` 函数:
|
||||
|
||||
!!! Example "示例"
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
from ultralytics.data.annotator import auto_annotate
|
||||
|
||||
auto_annotate(data="path/to/images", det_model="yolov8x.pt", sam_model='sam_b.pt')
|
||||
```
|
||||
|
||||
| 参数 | 类型 | 描述 | 默认值 |
|
||||
|------------|---------------|------------------------------------------|--------------|
|
||||
| data | str | 包含要进行注释的图像的文件夹的路径。 | |
|
||||
| det_model | str, 可选 | 预训练的 YOLO 检测模型,默认为 'yolov8x.pt'。 | 'yolov8x.pt' |
|
||||
| sam_model | str, 可选 | 预训练的 SAM 分割模型,默认为 'sam_b.pt'。 | 'sam_b.pt' |
|
||||
| device | str, 可选 | 在其上运行模型的设备,默认为空字符串(如果可用,则为 CPU 或 GPU)。 | |
|
||||
| output_dir | str, None, 可选 | 保存注释结果的目录。默认为与 'data' 目录同级的 'labels' 目录。 | None |
|
||||
|
||||
`auto_annotate` 函数接受您图像的路径,并提供了可选的参数用于指定预训练的检测和 SAM 分割模型、运行模型的设备,以及保存注释结果的输出目录。
|
||||
|
||||
使用预训练模型进行自动注释可以大大减少创建高质量分割数据集所需的时间和工作量。这个功能特别对于处理大量图像集合的研究人员和开发人员非常有益,因为它允许他们专注于模型的开发和评估,而不是手动注释。
|
||||
|
||||
## 引用和鸣谢
|
||||
|
||||
如果您在研究或开发中发现 SAM 对您有用,请考虑引用我们的论文:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@misc{kirillov2023segment,
|
||||
title={Segment Anything},
|
||||
author={Alexander Kirillov and Eric Mintun and Nikhila Ravi and Hanzi Mao and Chloe Rolland and Laura Gustafson and Tete Xiao and Spencer Whitehead and Alexander C. Berg and Wan-Yen Lo and Piotr Dollár and Ross Girshick},
|
||||
year={2023},
|
||||
eprint={2304.02643},
|
||||
archivePrefix={arXiv},
|
||||
primaryClass={cs.CV}
|
||||
}
|
||||
```
|
||||
|
||||
我们要向 Meta AI 表示感谢,感谢他们为计算机视觉社区创建和维护了这个宝贵的资源。
|
||||
|
||||
*keywords: Segment Anything,Segment Anything Model,SAM,Meta SAM,图像分割,可提示分割,零样本性能,SA-1B数据集,先进架构,自动注释,Ultralytics,预训练模型,SAM base,SAM large,实例分割,计算机视觉,AI,人工智能,机器学习,数据注释,分割掩模,检测模型,YOLO检测模型,bibtex,Meta AI。*
|
||||
121
docs/zh/models/yolo-nas.md
Normal file
121
docs/zh/models/yolo-nas.md
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
---
|
||||
comments: true
|
||||
description: 探索详细的YOLO-NAS文档,这是一个更高级的物体检测模型。了解其特点、预训练模型、与Ultralytics Python API的使用等内容。
|
||||
keywords: YOLO-NAS, Deci AI, 物体检测, 深度学习, 神经架构搜索, Ultralytics Python API, YOLO模型, 预训练模型, 量化, 优化, COCO, Objects365, Roboflow 100
|
||||
---
|
||||
|
||||
# YOLO-NAS
|
||||
|
||||
## 概述
|
||||
|
||||
由Deci AI开发,YOLO-NAS是一种开创性的物体检测基础模型。它是先进的神经架构搜索技术的产物,经过精心设计以解决之前YOLO模型的局限性。YOLO-NAS在量化支持和准确性-延迟权衡方面取得了重大改进,代表了物体检测领域的重大飞跃。
|
||||
|
||||

|
||||
**YOLO-NAS概览。** YOLO-NAS采用量化感知块和选择性量化实现最佳性能。当将模型转换为INT8量化版本时,模型会经历较小的精度损失,比其他模型有显著改进。这些先进技术使得YOLO-NAS成为具有前所未有的物体检测能力和出色性能的卓越架构。
|
||||
|
||||
### 主要特点
|
||||
|
||||
- **量化友好基本块:** YOLO-NAS引入了一种新的基本块,对量化友好,解决了之前YOLO模型的一个重要局限性。
|
||||
- **高级训练和量化:** YOLO-NAS利用先进的训练方案和训练后量化以提高性能。
|
||||
- **AutoNAC优化和预训练:** YOLO-NAS利用AutoNAC优化,并在著名数据集(如COCO、Objects365和Roboflow 100)上进行了预训练。这种预训练使其非常适合生产环境中的下游物体检测任务。
|
||||
|
||||
## 预训练模型
|
||||
|
||||
通过Ultralytics提供的预训练YOLO-NAS模型,体验下一代物体检测的强大功能。这些模型旨在在速度和准确性方面提供出色的性能。根据您的需求,可以选择各种选项:
|
||||
|
||||
| 模型 | mAP | 延迟(ms) |
|
||||
|------------------|-------|--------|
|
||||
| YOLO-NAS S | 47.5 | 3.21 |
|
||||
| YOLO-NAS M | 51.55 | 5.85 |
|
||||
| YOLO-NAS L | 52.22 | 7.87 |
|
||||
| YOLO-NAS S INT-8 | 47.03 | 2.36 |
|
||||
| YOLO-NAS M INT-8 | 51.0 | 3.78 |
|
||||
| YOLO-NAS L INT-8 | 52.1 | 4.78 |
|
||||
|
||||
每个模型变体均旨在在均衡平均精度(mAP)和延迟之间提供平衡,帮助您为性能和速度都进行优化的物体检测任务。
|
||||
|
||||
## 用法示例
|
||||
|
||||
通过我们的`ultralytics` python包,Ultralytics使得将YOLO-NAS模型集成到您的Python应用程序中变得容易。该包提供了一个用户友好的Python API,以简化流程。
|
||||
|
||||
以下示例展示了如何使用`ultralytics`包与YOLO-NAS模型进行推理和验证:
|
||||
|
||||
### 推理和验证示例
|
||||
|
||||
这个示例中,我们在COCO8数据集上验证YOLO-NAS-s。
|
||||
|
||||
!!! 例子
|
||||
|
||||
以下示例为YOLO-NAS提供了简单的推理和验证代码。有关处理推理结果的方法,请参见[Predict](../modes/predict.md)模式。有关使用其他模式的YOLO-NAS的方法,请参见[Val](../modes/val.md)和[Export](../modes/export.md)。`ultralytics`包中的YOLO-NAS不支持训练。
|
||||
|
||||
=== "Python"
|
||||
|
||||
可以将预训练的PyTorch `*.pt`模型文件传递给`NAS()`类以在python中创建一个模型实例:
|
||||
|
||||
```python
|
||||
from ultralytics import NAS
|
||||
|
||||
# 加载一个在COCO上预训练的YOLO-NAS-s模型
|
||||
model = NAS('yolo_nas_s.pt')
|
||||
|
||||
# 显示模型信息(可选)
|
||||
model.info()
|
||||
|
||||
# 在COCO8示例数据集上验证模型
|
||||
results = model.val(data='coco8.yaml')
|
||||
|
||||
# 使用YOLO-NAS-s模型对'bus.jpg'图像进行推理
|
||||
results = model('path/to/bus.jpg')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
可以使用CLI命令直接运行模型:
|
||||
|
||||
```bash
|
||||
# 加载一个在COCO上预训练的YOLO-NAS-s模型,并验证其在COCO8示例数据集上的性能
|
||||
yolo val model=yolo_nas_s.pt data=coco8.yaml
|
||||
|
||||
# 加载一个在COCO上预训练的YOLO-NAS-s模型,并对'bus.jpg'图像进行推理
|
||||
yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg
|
||||
```
|
||||
|
||||
## 支持的任务和模式
|
||||
|
||||
我们提供了三种类型的YOLO-NAS模型:Small (s)、Medium (m)和Large (l)。每种类型都旨在满足不同的计算和性能需求:
|
||||
|
||||
- **YOLO-NAS-s:** 针对计算资源有限但效率至关重要的环境进行了优化。
|
||||
- **YOLO-NAS-m:** 提供平衡的方法,适用于具有更高准确性的通用物体检测。
|
||||
- **YOLO-NAS-l:** 面向需要最高准确性的场景,计算资源不是限制因素。
|
||||
|
||||
下面是每个模型的详细信息,包括它们的预训练权重链接、支持的任务以及与不同操作模式的兼容性。
|
||||
|
||||
| 模型类型 | 预训练权重链接 | 支持的任务 | 推理 | 验证 | 训练 | 导出 |
|
||||
|------------|-----------------------------------------------------------------------------------------------|----------------------------|----|----|----|----|
|
||||
| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | [物体检测](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ |
|
||||
| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | [物体检测](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ |
|
||||
| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | [物体检测](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ |
|
||||
|
||||
## 引用和致谢
|
||||
|
||||
如果您在研究或开发工作中使用了YOLO-NAS,请引用SuperGradients:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@misc{supergradients,
|
||||
doi = {10.5281/ZENODO.7789328},
|
||||
url = {https://zenodo.org/record/7789328},
|
||||
author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}},
|
||||
title = {Super-Gradients},
|
||||
publisher = {GitHub},
|
||||
journal = {GitHub repository},
|
||||
year = {2021},
|
||||
}
|
||||
```
|
||||
|
||||
我们向Deci AI的[SuperGradients](https://github.com/Deci-AI/super-gradients/)团队表示感谢,他们致力于创建和维护这个对计算机视觉社区非常有价值的资源。我们相信YOLO-NAS凭借其创新的架构和卓越的物体检测能力,将成为开发者和研究人员的重要工具。
|
||||
|
||||
*keywords: YOLO-NAS, Deci AI, 物体检测, 深度学习, 神经架构搜索, Ultralytics Python API, YOLO模型, SuperGradients, 预训练模型, 量化友好基本块, 高级训练方案, 训练后量化, AutoNAC优化, COCO, Objects365, Roboflow 100*
|
||||
98
docs/zh/models/yolov3.md
Normal file
98
docs/zh/models/yolov3.md
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
---
|
||||
comments: true
|
||||
description: 了解YOLOv3、YOLOv3-Ultralytics和YOLOv3u的概述。了解它们的关键功能、用途和支持的目标检测任务。
|
||||
keywords: YOLOv3、YOLOv3-Ultralytics、YOLOv3u、目标检测、推理、训练、Ultralytics
|
||||
---
|
||||
|
||||
# YOLOv3、YOLOv3-Ultralytics和YOLOv3u
|
||||
|
||||
## 概述
|
||||
|
||||
本文介绍了三个紧密相关的目标检测模型,分别是[YOLOv3](https://pjreddie.com/darknet/yolo/)、[YOLOv3-Ultralytics](https://github.com/ultralytics/yolov3)和[YOLOv3u](https://github.com/ultralytics/ultralytics)。
|
||||
|
||||
1. **YOLOv3:** 这是第三版 You Only Look Once (YOLO) 目标检测算法。YOLOv3 在前作的基础上进行了改进,引入了多尺度预测和三种不同尺寸的检测核,提高了检测准确性。
|
||||
|
||||
2. **YOLOv3-Ultralytics:** 这是 Ultralytics 对 YOLOv3 模型的实现。它在复现了原始 YOLOv3 架构的基础上,提供了额外的功能,如对更多预训练模型的支持和更简单的定制选项。
|
||||
|
||||
3. **YOLOv3u:** 这是 YOLOv3-Ultralytics 的更新版本,它引入了 YOLOv8 模型中使用的无锚、无物体性能分离头。YOLOv3u 保留了 YOLOv3 的主干和颈部架构,但使用了来自 YOLOv8 的更新检测头。
|
||||
|
||||

|
||||
|
||||
## 关键功能
|
||||
|
||||
- **YOLOv3:** 引入了三种不同尺度的检测,采用了三种不同尺寸的检测核:13x13、26x26 和 52x52。这显著提高了对不同大小对象的检测准确性。此外,YOLOv3 还为每个边界框添加了多标签预测和更好的特征提取网络。
|
||||
|
||||
- **YOLOv3-Ultralytics:** Ultralytics 对 YOLOv3 的实现具有与原始模型相同的性能,但增加了对更多预训练模型、额外训练方法和更简单的定制选项的支持。这使得它在实际应用中更加通用和易用。
|
||||
|
||||
- **YOLOv3u:** 这个更新的模型采用了来自 YOLOv8 的无锚、无物体性能分离头。通过消除预定义的锚框和物体性能分数的需求,检测头设计可以提高模型对不同大小和形状的对象的检测能力。这使得 YOLOv3u 在目标检测任务中更加强大和准确。
|
||||
|
||||
## 支持的任务和模式
|
||||
|
||||
YOLOv3 系列,包括 YOLOv3、YOLOv3-Ultralytics 和 YOLOv3u,专门用于目标检测任务。这些模型以在各种实际场景中平衡准确性和速度而闻名。每个变体都提供了独特的功能和优化,使其适用于各种应用场景。
|
||||
|
||||
这三个模型都支持一套全面的模式,确保在模型部署和开发的各个阶段具备多种功能。这些模式包括[推理](../modes/predict.md)、[验证](../modes/val.md)、[训练](../modes/train.md)和[导出](../modes/export.md),为用户提供了有效的目标检测完整工具。
|
||||
|
||||
| 模型类型 | 支持的任务 | 推理 | 验证 | 训练 | 导出 |
|
||||
|--------------------|----------------------------|----|----|----|----|
|
||||
| YOLOv3 | [目标检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv3-Ultralytics | [目标检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv3u | [目标检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
该表格提供了每个 YOLOv3 变体的能力一览,突显了它们的多功能性和适用性,以用于目标检测工作流程中的各种任务和操作模式。
|
||||
|
||||
## 用法示例
|
||||
|
||||
以下示例提供了简单的 YOLOv3 训练和推理示例。有关这些和其他模式的完整文档,请参阅 [Predict](../modes/predict.md)、[Train](../modes/train.md)、[Val](../modes/val.md) 和 [Export](../modes/export.md) 文档页面。
|
||||
|
||||
!!! Example "示例"
|
||||
|
||||
=== "Python"
|
||||
|
||||
可以将预先训练的 PyTorch `*.pt` 模型以及配置 `*.yaml` 文件传递给 `YOLO()` 类,以在 Python 中创建模型实例:
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# 加载一个经过 COCO 预训练的 YOLOv3n 模型
|
||||
model = YOLO('yolov3n.pt')
|
||||
|
||||
# 显示模型信息(可选)
|
||||
model.info()
|
||||
|
||||
# 在 COCO8 示例数据集上训练模型100个epoch
|
||||
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
|
||||
|
||||
# 使用 YOLOv3n 模型对 'bus.jpg' 图像进行推理
|
||||
results = model('path/to/bus.jpg')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
可以直接使用命令行界面 (CLI) 来运行模型:
|
||||
|
||||
```bash
|
||||
# 加载一个经过 COCO 预训练的 YOLOv3n 模型,并在 COCO8 示例数据集上训练100个epoch
|
||||
yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640
|
||||
|
||||
# 加载一个经过 COCO 预训练的 YOLOv3n 模型,并对 'bus.jpg' 图像进行推理
|
||||
yolo predict model=yolov3n.pt source=path/to/bus.jpg
|
||||
```
|
||||
|
||||
## 引用和致谢
|
||||
|
||||
如果您在研究中使用 YOLOv3,请引用原始的 YOLO 论文和 Ultralytics 的 YOLOv3 仓库:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@article{redmon2018yolov3,
|
||||
title={YOLOv3: An Incremental Improvement},
|
||||
author={Redmon, Joseph and Farhadi, Ali},
|
||||
journal={arXiv preprint arXiv:1804.02767},
|
||||
year={2018}
|
||||
}
|
||||
```
|
||||
|
||||
感谢 Joseph Redmon 和 Ali Farhadi 开发了原始的 YOLOv3 模型。
|
||||
71
docs/zh/models/yolov4.md
Normal file
71
docs/zh/models/yolov4.md
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
comments: true
|
||||
description: 通过我们详细的YOLOv4指南,探索最先进的实时目标检测器。了解其建筑亮点,创新功能和应用示例。
|
||||
keywords: ultralytics, YOLOv4, 目标检测, 神经网络, 实时检测, 目标检测器, 机器学习
|
||||
---
|
||||
|
||||
# YOLOv4:高速和精确的目标检测
|
||||
|
||||
欢迎来到Ultralytics关于YOLOv4的文档页面,YOLOv4是由Alexey Bochkovskiy于2020年在 [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet) 发布的最先进的实时目标检测器。YOLOv4旨在提供速度和准确性的最佳平衡,使其成为许多应用的优秀选择。
|
||||
|
||||

|
||||
**YOLOv4架构图**。展示了YOLOv4的复杂网络设计,包括主干,颈部和头部组件以及它们相互连接的层,以实现最佳的实时目标检测。
|
||||
|
||||
## 简介
|
||||
|
||||
YOLOv4代表You Only Look Once版本4。它是为解决之前YOLO版本(如[YOLOv3](yolov3.md))和其他目标检测模型的局限性而开发的实时目标检测模型。与其他基于卷积神经网络(CNN)的目标检测器不同,YOLOv4不仅适用于推荐系统,还可用于独立的进程管理和减少人工输入。它在传统图形处理单元(GPU)上的操作可以以经济实惠的价格进行大规模使用,并且设计为在常规GPU上实时工作,仅需要一个这样的GPU进行训练。
|
||||
|
||||
## 架构
|
||||
|
||||
YOLOv4利用了几个创新功能,这些功能共同优化其性能。这些功能包括加权残差连接(WRC),跨阶段部分连接(CSP),交叉mini-Batch归一化(CmBN),自适应对抗训练(SAT),Mish激活函数,Mosaic数据增强,DropBlock正则化和CIoU损失。这些功能的组合可以实现最先进的结果。
|
||||
|
||||
典型的目标检测器由几个部分组成,包括输入、主干、颈部和头部。YOLOv4的主干是在ImageNet上预训练的,用于预测对象的类别和边界框。主干可以来自多个模型,包括VGG、ResNet、ResNeXt或DenseNet。检测器的颈部部分用于从不同阶段收集特征图,通常包括几条自底向上的路径和几条自顶向下的路径。头部部分用于进行最终的目标检测和分类。
|
||||
|
||||
## 免费赠品
|
||||
|
||||
YOLOv4还使用了称为“免费赠品”的方法,这些方法在训练过程中提高模型的准确性,而不增加推理成本。数据增强是目标检测中常用的一种免费赠品技术,它增加了输入图像的变异性,以提高模型的鲁棒性。一些数据增强的例子包括光度失真(调整图像的亮度、对比度、色调、饱和度和噪音)和几何失真(添加随机缩放、裁剪、翻转和旋转)。这些技术帮助模型更好地应对不同类型的图像。
|
||||
|
||||
## 特点和性能
|
||||
|
||||
YOLOv4被设计为在目标检测中具有最佳速度和准确性。YOLOv4的架构包括CSPDarknet53作为主干,PANet作为颈部,以及YOLOv3作为检测头。这种设计使得YOLOv4能够以令人印象深刻的速度进行目标检测,适用于实时应用。YOLOv4在准确性方面也表现出色,在目标检测基准测试中取得了最先进的结果。
|
||||
|
||||
## 使用示例
|
||||
|
||||
截至撰写本文时,Ultralytics当前不支持YOLOv4模型。因此,任何有兴趣使用YOLOv4的用户需要直接参考YOLOv4 GitHub存储库中的安装和使用说明。
|
||||
|
||||
以下是使用YOLOv4的典型步骤的简要概述:
|
||||
|
||||
1. 访问YOLOv4 GitHub存储库:[https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet)。
|
||||
|
||||
2. 按照README文件中提供的说明进行安装。这通常涉及克隆存储库,安装必要的依赖项,并设置任何必要的环境变量。
|
||||
|
||||
3. 安装完成后,您可以根据存储库提供的使用说明训练和使用模型。这通常涉及准备您的数据集、配置模型参数、训练模型,然后使用训练好的模型进行目标检测。
|
||||
|
||||
请注意,具体的步骤可能因您的特定用例和YOLOv4存储库的当前状态而有所不同。因此,强烈建议直接参考YOLOv4 GitHub存储库中提供的说明。
|
||||
|
||||
对于Ultralytics不支持YOLOv4的情况,我们感到非常抱歉,我们将努力更新本文档,以包括使用Ultralytics支持的YOLOv4的示例。
|
||||
|
||||
## 结论
|
||||
|
||||
YOLOv4是一种强大而高效的目标检测模型,它在速度和准确性之间取得了平衡。它在训练过程中使用独特的功能和免费赠品技术,使其在实时目标检测任务中表现出色。任何具备常规GPU的人都可以进行YOLOv4的训练和使用,使其对于各种应用具有可访问性和实用性。
|
||||
|
||||
## 引文和致谢
|
||||
|
||||
我们要感谢YOLOv4的作者对实时目标检测领域的重要贡献:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@misc{bochkovskiy2020yolov4,
|
||||
title={YOLOv4: Optimal Speed and Accuracy of Object Detection},
|
||||
author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
|
||||
year={2020},
|
||||
eprint={2004.10934},
|
||||
archivePrefix={arXiv},
|
||||
primaryClass={cs.CV}
|
||||
}
|
||||
```
|
||||
|
||||
YOLOv4的原始论文可以在[arXiv](https://arxiv.org/pdf/2004.10934.pdf)上找到。作者已经公开了他们的工作,代码库可以在[GitHub](https://github.com/AlexeyAB/darknet)上获取。我们赞赏他们在推动该领域方面的努力,并使他们的工作对广大社区产生影响。
|
||||
113
docs/zh/models/yolov5.md
Normal file
113
docs/zh/models/yolov5.md
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
---
|
||||
comments: true
|
||||
description: 发现YOLOv5u,它是YOLOv5模型的改进版本,具有更好的准确性和速度之间的平衡,并为各种目标检测任务提供了许多预训练模型。
|
||||
keywords: YOLOv5u、目标检测、预训练模型、Ultralytics、推断、验证、YOLOv5、YOLOv8、无锚点、无物体检测、实时应用、机器学习
|
||||
---
|
||||
|
||||
# YOLOv5
|
||||
|
||||
## 概述
|
||||
|
||||
YOLOv5u是目标检测方法的一种进步。YOLOv5u源于Ultralytics开发的[YOLOv5](https://github.com/ultralytics/yolov5)模型的基础架构,它集成了无锚点、无物体检测分离头的新特性,这一特性在[YOLOv8](yolov8.md)模型中首次引入。通过采用这种适应性更强的检测机制,YOLOv5u改进了模型的架构,从而在目标检测任务中实现了更好的准确性和速度的平衡。根据实证结果和其衍生特性,YOLOv5u为那些在研究和实际应用中寻求强大解决方案的人提供了一种高效的选择。
|
||||
|
||||

|
||||
|
||||
## 主要特性
|
||||
|
||||
- **无锚点分离Ultralytics头部**: 传统的目标检测模型依靠预定义的锚点框来预测目标位置,而YOLOv5u改变了这种方法。采用无锚点分离Ultralytics头部的方式,它确保了更灵活、适应性更强的检测机制,从而在各种场景中提高了性能。
|
||||
|
||||
- **优化的准确性和速度之间的平衡**: 速度和准确性通常是相互制约的。但是YOLOv5u挑战了这种平衡。它提供了一个校准平衡,确保在保持准确性的同时实现实时检测。这一特性对于需要快速响应的应用非常重要,比如自动驾驶车辆、机器人和实时视频分析。
|
||||
|
||||
- **丰富的预训练模型**: YOLOv5u提供了多种预训练模型。无论你专注于推断、验证还是训练,都有一个量身定制的模型等待着你。这种多样性确保你不仅仅使用“一刀切”的解决方案,而是使用一个专门为你的独特挑战进行了精细调整的模型。
|
||||
|
||||
## 支持的任务和模式
|
||||
|
||||
具有各种预训练权重的YOLOv5u模型在[目标检测](../tasks/detect.md)任务中表现出色。它们支持全面的模式,适用于从开发到部署的各种应用场景。
|
||||
|
||||
| 模型类型 | 预训练权重 | 任务 | 推断 | 验证 | 训练 | 导出 |
|
||||
|---------|-----------------------------------------------------------------------------------------------------------------------------|----------------------------|----|----|----|----|
|
||||
| YOLOv5u | `yolov5nu`, `yolov5su`, `yolov5mu`, `yolov5lu`, `yolov5xu`, `yolov5n6u`, `yolov5s6u`, `yolov5m6u`, `yolov5l6u`, `yolov5x6u` | [目标检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
该表详细介绍了YOLOv5u模型的变体,突出了它们在目标检测任务和各种操作模式(如[推断](../modes/predict.md)、[验证](../modes/val.md)、[训练](../modes/train.md)和[导出](../modes/export.md))方面的适用性。这种全面的支持确保用户可以充分发挥YOLOv5u模型在各种目标检测场景中的能力。
|
||||
|
||||
## 性能指标
|
||||
|
||||
!!! Performance
|
||||
|
||||
=== "检测"
|
||||
|
||||
请参阅[检测文档](https://docs.ultralytics.com/tasks/detect/),以了解在[COCO](https://docs.ultralytics.com/datasets/detect/coco/)上训练的这些模型的用法示例,其中包括80个预训练类别。
|
||||
|
||||
| 模型 | YAML | 大小<br><sup>(像素) | mAP<sup>val<br>50-95 | 速度<br><sup>CPU ONNX<br>(毫秒) | 速度<br><sup>A100 TensorRT<br>(毫秒) | 参数数<br><sup>(百万) | FLOPs<br><sup>(十亿) |
|
||||
|---------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-----------------------|----------------------|--------------------------------|-------------------------------------|--------------------|-------------------|
|
||||
| [yolov5nu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5nu.pt) | [yolov5n.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 |
|
||||
| [yolov5su.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5su.pt) | [yolov5s.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 |
|
||||
| [yolov5mu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5mu.pt) | [yolov5m.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 |
|
||||
| [yolov5lu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5lu.pt) | [yolov5l.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 |
|
||||
| [yolov5xu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5xu.pt) | [yolov5x.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 |
|
||||
| | | | | | | | |
|
||||
| [yolov5n6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5n6u.pt) | [yolov5n6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 |
|
||||
| [yolov5s6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5s6u.pt) | [yolov5s6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 |
|
||||
| [yolov5m6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5m6u.pt) | [yolov5m6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 |
|
||||
| [yolov5l6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5l6u.pt) | [yolov5l6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 |
|
||||
| [yolov5x6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5x6u.pt) | [yolov5x6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 |
|
||||
|
||||
## 使用示例
|
||||
|
||||
这个示例提供了YOLOv5训练和推断的简单示例。有关这些和其他[模式](../modes/index.md)的完整文档,请参阅[预测](../modes/predict.md)、[训练](../modes/train.md)、[验证](../modes/val.md)和[导出](../modes/export.md)的文档页面。
|
||||
|
||||
!!! Example "示例"
|
||||
|
||||
=== "Python"
|
||||
|
||||
PyTorch预训练的`*.pt`模型,以及配置`*.yaml`文件可以传递给`YOLO()`类,以在python中创建一个模型实例:
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# 加载一个在COCO数据集上预训练的YOLOv5n模型
|
||||
model = YOLO('yolov5n.pt')
|
||||
|
||||
# 显示模型信息(可选)
|
||||
model.info()
|
||||
|
||||
# 使用COCO8示例数据集对模型进行100个时期的训练
|
||||
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
|
||||
|
||||
# 使用YOLOv5n模型对'bus.jpg'图像进行推断
|
||||
results = model('path/to/bus.jpg')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
可以使用CLI命令直接运行模型:
|
||||
|
||||
```bash
|
||||
# 加载一个在COCO数据集上预训练的YOLOv5n模型,并在COCO8示例数据集上进行100个时期的训练
|
||||
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640
|
||||
|
||||
# 加载一个在COCO数据集上预训练的YOLOv5n模型,并在'bus.jpg'图像上进行推断
|
||||
yolo predict model=yolov5n.pt source=path/to/bus.jpg
|
||||
```
|
||||
|
||||
## 引用和致谢
|
||||
|
||||
如果您在您的研究中使用了YOLOv5或YOLOv5u,请引用Ultralytics的YOLOv5存储库,引用方式如下:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
```bibtex
|
||||
@software{yolov5,
|
||||
title = {Ultralytics YOLOv5},
|
||||
author = {Glenn Jocher},
|
||||
year = {2020},
|
||||
version = {7.0},
|
||||
license = {AGPL-3.0},
|
||||
url = {https://github.com/ultralytics/yolov5},
|
||||
doi = {10.5281/zenodo.3908559},
|
||||
orcid = {0000-0001-5950-6979}
|
||||
}
|
||||
```
|
||||
|
||||
请注意,YOLOv5模型提供[AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE)和[企业](https://ultralytics.com/license)许可证。
|
||||
107
docs/zh/models/yolov6.md
Normal file
107
docs/zh/models/yolov6.md
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
---
|
||||
comments: true
|
||||
description: 探索美团YOLOv6,一种在速度和准确性之间取得平衡的最先进的物体检测模型。深入了解功能、预训练模型和Python使用方法。
|
||||
keywords: 美团YOLOv6、物体检测、Ultralytics、YOLOv6文档、双向连接、锚辅助训练、预训练模型、实时应用
|
||||
---
|
||||
|
||||
# 美团YOLOv6
|
||||
|
||||
## 概述
|
||||
|
||||
[美团](https://about.meituan.com/) YOLOv6是一种最先进的物体检测器,速度和准确性兼具,成为实时应用的热门选择。该模型在架构和训练方案上引入了几项重要改进,包括双向连接模块(BiC)、锚辅助训练(AAT)策略以及改进了的主干和颈部设计,使其在COCO数据集上达到了最先进的准确性。
|
||||
|
||||

|
||||

|
||||
**YOLOv6概述。** 模型架构图显示了经过重新设计的网络组件和训练策略,这些策略导致了显著的性能提升。(a)YOLOv6的颈部(N和S)。(b)BiC模块的结构。(c)SimCSPSPPF块。([来源](https://arxiv.org/pdf/2301.05586.pdf)).
|
||||
|
||||
### 主要功能
|
||||
|
||||
- **双向连接(BiC)模块:** YOLOv6在检测器的颈部引入了双向连接(BiC)模块,增强了定位信号,提供了性能增益,并且几乎没有降低速度。
|
||||
- **锚辅助训练(AAT)策略:** 该模型提出了锚辅助训练(AAT)以享受基于锚点和无锚点范例的双重优势,同时不影响推理效率。
|
||||
- **增强的主干和颈部设计:** 通过在主干和颈部中增加一个阶段,该模型在高分辨率输入下在COCO数据集上实现了最先进的性能。
|
||||
- **自我蒸馏策略:** 实施了一种新的自我蒸馏策略,以提升YOLOv6的较小模型的性能,在训练过程中增强辅助回归分支,并在推理过程中将其删除,以避免明显的速度下降。
|
||||
|
||||
## 性能指标
|
||||
|
||||
YOLOv6提供了具有不同尺度的各种预训练模型:
|
||||
|
||||
- YOLOv6-N:在NVIDIA Tesla T4 GPU上,COCO val2017上的AP为37.5%,帧率为1187 FPS。
|
||||
- YOLOv6-S:AP为45.0%,帧率为484 FPS。
|
||||
- YOLOv6-M:AP为50.0%,帧率为226 FPS。
|
||||
- YOLOv6-L:AP为52.8%,帧率为116 FPS。
|
||||
- YOLOv6-L6:实时场景中的最先进准确性。
|
||||
|
||||
YOLOv6还提供了适用于不同精度和移动平台的量化模型。
|
||||
|
||||
## 使用示例
|
||||
|
||||
以下示例提供了简单的YOLOv6训练和推理示例。有关这些示例和其他[模式](../modes/index.md)的完整文档,请参阅[Predict](../modes/predict.md)、[Train](../modes/train.md)、[Val](../modes/val.md)和[Export](../modes/export.md)的文档页面。
|
||||
|
||||
!!! 例子
|
||||
|
||||
=== "Python"
|
||||
|
||||
在Python中,可以将PyTorch预训练的`*.pt`模型以及配置文件`*.yaml`传递给`YOLO()`类,以创建一个模型实例:
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# 从头开始构建一个YOLOv6n模型
|
||||
model = YOLO('yolov6n.yaml')
|
||||
|
||||
# 显示模型信息(可选)
|
||||
model.info()
|
||||
|
||||
# 使用COCO8示例数据集对模型进行100个epoch的训练
|
||||
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
|
||||
|
||||
# 使用YOLOv6n模型对'bus.jpg'图像进行推理
|
||||
results = model('path/to/bus.jpg')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
也可以使用CLI命令直接运行模型:
|
||||
|
||||
```bash
|
||||
# 从头开始构建YOLOv6n模型,并在COCO8示例数据集上进行100个epoch的训练
|
||||
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640
|
||||
|
||||
# 从头开始构建YOLOv6n模型,并对'bus.jpg'图像进行推理
|
||||
yolo predict model=yolov6n.yaml source=path/to/bus.jpg
|
||||
```
|
||||
|
||||
## 支持的任务和模式
|
||||
|
||||
YOLOv6系列提供了一系列模型,每个模型都针对高性能[物体检测](../tasks/detect.md)进行了优化。这些模型适用于各种计算需求和准确性要求,使其在广泛的应用中具备多样性。
|
||||
|
||||
| 模型类型 | 预训练权重 | 支持的任务 | 推理 | 验证 | 训练 | 导出 |
|
||||
|-----------|----------------|----------------------------|----|----|----|----|
|
||||
| YOLOv6-N | `yolov6-n.pt` | [物体检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv6-S | `yolov6-s.pt` | [物体检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv6-M | `yolov6-m.pt` | [物体检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv6-L | `yolov6-l.pt` | [物体检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv6-L6 | `yolov6-l6.pt` | [物体检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
这个表格详细介绍了YOLOv6模型的各个变体,突出了它们在物体检测任务中的能力以及它们与各种操作模式(如[推理](../modes/predict.md)、[验证](../modes/val.md)、[训练](../modes/train.md)和[导出](../modes/export.md))的兼容性。这种全面的支持确保用户可以在各种物体检测场景中充分利用YOLOv6模型的能力。
|
||||
|
||||
## 引用和致谢
|
||||
|
||||
我们要感谢这些作者在实时物体检测领域的重要贡献:
|
||||
|
||||
!!! 引文 ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@misc{li2023yolov6,
|
||||
title={YOLOv6 v3.0: A Full-Scale Reloading},
|
||||
author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu},
|
||||
year={2023},
|
||||
eprint={2301.05586},
|
||||
archivePrefix={arXiv},
|
||||
primaryClass={cs.CV}
|
||||
}
|
||||
```
|
||||
|
||||
原始的YOLOv6论文可以在[arXiv](https://arxiv.org/abs/2301.05586)上找到。作者已经将他们的作品公开,并且代码可以在[GitHub](https://github.com/meituan/YOLOv6)上访问。我们对他们在推动该领域的努力以及使他们的工作为更广泛的社区所接触到的努力表示感谢。
|
||||
65
docs/zh/models/yolov7.md
Normal file
65
docs/zh/models/yolov7.md
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
---
|
||||
comments: true
|
||||
description: 探索YOLOv7,一个实时物体检测器。了解其卓越的速度,令人印象深刻的精确度和独特的可训练无需付费优化聚焦点。
|
||||
keywords: YOLOv7,实时物体检测器,State-of-the-art,Ultralytics,MS COCO数据集,模型重新参数化,动态标签分配,扩展缩放,复合缩放
|
||||
---
|
||||
|
||||
# YOLOv7:可训练无需付费
|
||||
|
||||
YOLOv7是一种实时物体检测器的最新技术,其速度和准确度超过了目前已知的所有物体检测器,速度范围在5 FPS到160 FPS之间。在GPU V100上,它在所有已知实时物体检测器中具有最高的准确度(56.8%AP),且帧率达到30 FPS或更高。此外,YOLOv7在速度和准确度方面也优于其他物体检测器,如YOLOR,YOLOX,缩放后的YOLOv4,YOLOv5等等。该模型是从头开始使用MS COCO数据集进行训练的,而没有使用其他数据集或预训练权重。YOLOv7的源代码可在GitHub上获得。
|
||||
|
||||

|
||||
**最先进物体检测器的比较**。从表2的结果可以看出,所提出的方法在速度和准确度的均衡上最佳。将YOLOv7-tiny-SiLU与YOLOv5-N(r6.1)进行比较,我们的方法在AP上快了127 FPS,准确度提高了10.7%。此外,YOLOv7在161 FPS的帧率下具有51.4%的AP,而具有相同AP的PPYOLOE-L仅具有78 FPS的帧率。在参数使用方面,YOLOv7比PPYOLOE-L少了41%。将YOLOv7-X与114 FPS的推理速度与YOLOv5-L(r6.1)的99 FPS的推理速度进行比较,YOLOv7-X可以提高3.9%的AP。如果将YOLOv7-X与类似规模的YOLOv5-X(r6.1)进行比较,YOLOv7-X的推理速度比YOLOv5-X快31 FPS。此外,就参数和计算量而言,与YOLOv5-X(r6.1)相比,YOLOv7-X减少了22%的参数和8%的计算量,但AP提高了2.2%([来源](https://arxiv.org/pdf/2207.02696.pdf))。
|
||||
|
||||
## 概述
|
||||
|
||||
实时物体检测是许多计算机视觉系统的重要组件,包括多目标跟踪,自动驾驶,机器人技术和医学图像分析等。近年来,实时物体检测的发展一直致力于设计高效的架构,并提高各种CPU,GPU和神经处理单元(NPU)的推理速度。YOLOv7支持移动GPU和GPU设备,从边缘到云端。
|
||||
|
||||
与传统的实时物体检测器侧重于架构优化不同,YOLOv7引入了对训练过程优化的关注。这包括模块和优化方法,旨在提高目标检测的准确性而不增加推理成本,这个概念被称为“可训练无需付费”。
|
||||
|
||||
## 主要特性
|
||||
|
||||
YOLOv7引入了几个关键特性:
|
||||
|
||||
1. **模型重新参数化**:YOLOv7提出了一种计划好的重新参数化模型,它是一种适用于不同网络中的层的策略,具有梯度传播路径的概念。
|
||||
|
||||
2. **动态标签分配**:对多个输出层的模型进行训练会遇到一个新问题:“如何为不同分支的输出分配动态目标?”为了解决这个问题,YOLOv7引入了一种新的标签分配方法,称为粗到细的引导式标签分配。
|
||||
|
||||
3. **扩展和复合缩放**:YOLOv7提出了适用于实时物体检测器的“扩展”和“复合缩放”方法,可以有效利用参数和计算。
|
||||
|
||||
4. **效率**:YOLOv7提出的方法可以有效地减少最先进实时物体检测器的约40%的参数和50%的计算量,并具有更快的推理速度和更高的检测准确度。
|
||||
|
||||
## 使用示例
|
||||
|
||||
截至撰写本文时,Ultralytics当前不支持YOLOv7模型。因此,任何希望使用YOLOv7的用户都需要直接参考YOLOv7 GitHub存储库中的安装和使用说明。
|
||||
|
||||
这是您可能采取的使用YOLOv7的典型步骤的简要概述:
|
||||
|
||||
1. 访问YOLOv7 GitHub存储库:[https://github.com/WongKinYiu/yolov7](https://github.com/WongKinYiu/yolov7)。
|
||||
|
||||
2. 按照README文件中提供的说明进行安装。这通常涉及克隆存储库,安装必要的依赖项,并设置任何必要的环境变量。
|
||||
|
||||
3. 安装完成后,您可以根据存储库中提供的使用说明训练和使用模型。这通常涉及准备数据集,配置模型参数,训练模型,然后使用训练好的模型执行物体检测。
|
||||
|
||||
请注意,具体的步骤可能因您的特定用例和YOLOv7存储库的当前状态而有所不同。因此,强烈建议直接参考YOLOv7 GitHub存储库中提供的说明。
|
||||
|
||||
我们对这可能造成的任何不便表示歉意,并将努力更新此文档以提供针对Ultralytics的YOLOv7支持的使用示例。
|
||||
|
||||
## 引用和致谢
|
||||
|
||||
我们要感谢YOLOv7的作者在实时物体检测领域做出的重大贡献:
|
||||
|
||||
!!! Quote ""
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@article{wang2022yolov7,
|
||||
title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors},
|
||||
author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark},
|
||||
journal={arXiv preprint arXiv:2207.02696},
|
||||
year={2022}
|
||||
}
|
||||
```
|
||||
|
||||
YOLOv7的原始论文可以在[arXiv](https://arxiv.org/pdf/2207.02696.pdf)上找到。作者已将其工作公开,并且代码库可在[GitHub](https://github.com/WongKinYiu/yolov7)中访问。我们感谢他们在推动该领域发展并使其工作对广大社区可访问的努力。
|
||||
162
docs/zh/models/yolov8.md
Normal file
162
docs/zh/models/yolov8.md
Normal file
|
|
@ -0,0 +1,162 @@
|
|||
---
|
||||
comments: true
|
||||
description: 探索YOLOv8的激动人心功能,这是我们实时目标检测器的最新版本!了解高级架构、预训练模型和精确度与速度的最佳平衡如何使YOLOv8成为您进行目标检测任务的理想选择。
|
||||
keywords: YOLOv8,Ultralytics,实时目标检测器,预训练模型,文档,目标检测,YOLO系列,高级架构,精确度,速度
|
||||
---
|
||||
|
||||
# YOLOv8
|
||||
|
||||
## 概述
|
||||
|
||||
YOLOv8是YOLO系列实时目标检测器的最新版本,以其在准确度和速度方面的卓越性能而闻名。在构建在之前YOLO版本的基础上,YOLOv8引入了新功能和优化,使其成为各种应用领域中各种目标检测任务的理想选择。
|
||||
|
||||

|
||||
|
||||
## 主要功能
|
||||
|
||||
- **先进的主干和中间架构:** YOLOv8采用最先进的主干和中间架构,提供了更好的特征提取和目标检测性能。
|
||||
- **无锚分割Ultralytics头:** YOLOv8采用无锚分割的Ultralytics头,相比于基于锚点的方法,可以提供更高的准确性和更高效的检测过程。
|
||||
- **优化的准确度和速度平衡:** YOLOv8专注于在准确度和速度之间维持最佳平衡,适用于各种实时目标检测任务。
|
||||
- **多种预训练模型:** YOLOv8提供了一系列预训练模型,以满足各种任务和性能要求,更容易找到适合特定用例的模型。
|
||||
|
||||
## 支持的任务和模式
|
||||
|
||||
YOLOv8系列提供了多种模型,每个模型专门用于计算机视觉中的特定任务。这些模型旨在满足各种要求,从目标检测到更复杂的任务,如实例分割、姿态/关键点检测和分类。
|
||||
|
||||
YOLOv8系列的每个变体都针对其相应的任务进行了优化,确保高性能和准确性。此外,这些模型与各种操作模式兼容,包括[推理](../modes/predict.md)、[验证](../modes/val.md)、[训练](../modes/train.md)和[导出](../modes/export.md),便于在部署和开发的不同阶段使用。
|
||||
|
||||
| 模型 | 文件名 | 任务 | 推理 | 验证 | 训练 | 导出 |
|
||||
|-------------|----------------------------------------------------------------------------------------------------------------|-----------------------------|----|----|----|----|
|
||||
| YOLOv8 | `yolov8n.pt` `yolov8s.pt` `yolov8m.pt` `yolov8l.pt` `yolov8x.pt` | [检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv8-seg | `yolov8n-seg.pt` `yolov8s-seg.pt` `yolov8m-seg.pt` `yolov8l-seg.pt` `yolov8x-seg.pt` | [实例分割](../tasks/segment.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv8-pose | `yolov8n-pose.pt` `yolov8s-pose.pt` `yolov8m-pose.pt` `yolov8l-pose.pt` `yolov8x-pose.pt` `yolov8x-pose-p6.pt` | [姿态/关键点](../tasks/pose.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
| YOLOv8-cls | `yolov8n-cls.pt` `yolov8s-cls.pt` `yolov8m-cls.pt` `yolov8l-cls.pt` `yolov8x-cls.pt` | [分类](../tasks/classify.md) | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
这个表格提供了YOLOv8模型变种的概览,突出了它们在特定任务中的适用性,以及它们与各种操作模式(如推理、验证、训练和导出)的兼容性。它展示了YOLOv8系列的多功能性和鲁棒性,使它们适用于计算机视觉中各种应用。
|
||||
|
||||
## 性能指标
|
||||
|
||||
!!! Performance
|
||||
|
||||
=== "检测(COCO)"
|
||||
|
||||
有关在[COCO](https://docs.ultralytics.com/datasets/detect/coco/)上训练的这些模型的用法示例,请参见[Detection Docs](https://docs.ultralytics.com/tasks/detect/),其中包括80个预训练的类别。
|
||||
|
||||
| 模型 | 大小<br><sup>(pixels) | mAP<sup>val<br>50-95 | 速度<br><sup>CPU ONNX<br>(ms) | 速度<br><sup>A100 TensorRT<br>(ms) | 参数<br><sup>(M) | FLOPs<br><sup>(B) |
|
||||
| ---------------------------------------------------------------------------------------- | --------------------- | -------------------- | --------------------------------- | ---------------------------------- | ------------------ | ----------------- |
|
||||
| [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt) | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 |
|
||||
| [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt) | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 |
|
||||
| [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt) | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 |
|
||||
| [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l.pt) | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 |
|
||||
| [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt) | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 |
|
||||
|
||||
=== "检测(Open Images V7)"
|
||||
|
||||
有关在[Open Image V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/)上训练的这些模型的用法示例,请参见[Detection Docs](https://docs.ultralytics.com/tasks/detect/),其中包括600个预训练的类别。
|
||||
|
||||
| 模型 | 大小<br><sup>(pixels) | mAP<sup>val<br>50-95 | 速度<br><sup>CPU ONNX<br>(ms) | 速度<br><sup>A100 TensorRT<br>(ms) | 参数<br><sup>(M) | FLOPs<br><sup>(B) |
|
||||
| ------------------------------------------------------------------------------------------- | --------------------- | -------------------- | ------------------------------ | ---------------------------------- | ------------------ | ----------------- |
|
||||
| [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-oiv7.pt) | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 |
|
||||
| [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-oiv7.pt) | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 |
|
||||
| [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-oiv7.pt) | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 |
|
||||
| [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-oiv7.pt) | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 |
|
||||
| [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-oiv7.pt) | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 |
|
||||
|
||||
=== "分割(COCO)"
|
||||
|
||||
有关在[COCO](https://docs.ultralytics.com/datasets/segment/coco/)上训练的这些模型的用法示例,请参见[Segmentation Docs](https://docs.ultralytics.com/tasks/segment/),其中包括80个预训练的类别。
|
||||
|
||||
| 模型 | 大小<br><sup>(pixels) | mAP<sup>box<br>50-95 | mAP<sup>mask<br>50-95 | 速度<br><sup>CPU ONNX<br>(ms) | 速度<br><sup>A100 TensorRT<br>(ms) | 参数<br><sup>(M) | FLOPs<br><sup>(B) |
|
||||
| -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | --------------------- | ------------------------------ | ---------------------------------- | ------------------ | ----------------- |
|
||||
| [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 |
|
||||
| [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 |
|
||||
| [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 |
|
||||
| [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 |
|
||||
| [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 |
|
||||
|
||||
=== "分类(ImageNet)"
|
||||
|
||||
有关在[ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/)上训练的这些模型的用法示例,请参见[Classification Docs](https://docs.ultralytics.com/tasks/classify/),其中包括1000个预训练的类别。
|
||||
|
||||
| 模型 | 大小<br><sup>(pixels) | 准确率<br><sup>top1 | 准确率<br><sup>top5 | 速度<br><sup>CPU ONNX<br>(ms) | 速度<br><sup>A100 TensorRT<br>(ms) | 参数<br><sup>(M) | FLOPs<br><sup>(B) at 640 |
|
||||
| ---------------------------------------------------------------------------------------------- | --------------------- | ------------------ | ------------------ | ------------------------------ | ---------------------------------- | ------------------ | ------------------------ |
|
||||
| [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224 | 66.6 | 87.0 | 12.9 | 0.31 | 2.7 | 4.3 |
|
||||
| [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224 | 72.3 | 91.1 | 23.4 | 0.35 | 6.4 | 13.5 |
|
||||
| [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224 | 76.4 | 93.2 | 85.4 | 0.62 | 17.0 | 42.7 |
|
||||
| [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224 | 78.0 | 94.1 | 163.0 | 0.87 | 37.5 | 99.7 |
|
||||
| [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224 | 78.4 | 94.3 | 232.0 | 1.01 | 57.4 | 154.8 |
|
||||
|
||||
=== "姿态(COCO)"
|
||||
|
||||
有关在[COCO](https://docs.ultralytics.com/datasets/pose/coco/)上训练的这些模型的用法示例,请参见[Pose Estimation Docs](https://docs.ultralytics.com/tasks/segment/),其中包括1个预训练的类别,'person'。
|
||||
|
||||
| 模型 | 大小<br><sup>(pixels) | mAP<sup>pose<br>50-95 | mAP<sup>pose<br>50 | 速度<br><sup>CPU ONNX<br>(ms) | 速度<br><sup>A100 TensorRT<br>(ms) | 参数<br><sup>(M) | FLOPs<br><sup>(B) |
|
||||
| ---------------------------------------------------------------------------------------------------- | --------------------- | --------------------- | ------------------ | ------------------------------ | ---------------------------------- | ------------------ | ----------------- |
|
||||
| [YOLOv8n-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt) | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 |
|
||||
| [YOLOv8s-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-pose.pt) | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 |
|
||||
| [YOLOv8m-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-pose.pt) | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 |
|
||||
| [YOLOv8l-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-pose.pt) | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 |
|
||||
| [YOLOv8x-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose.pt) | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 |
|
||||
| [YOLOv8x-pose-p6](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose-p6.pt) | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 |
|
||||
|
||||
## 用法示例
|
||||
|
||||
这个示例提供了关于YOLOv8训练和推理的简单示例。有关这些和其他[模式](../modes/index.md)的完整文档,请参见[Predict](../modes/predict.md),[Train](../modes/train.md),[Val](../modes/val.md)和[Export](../modes/export.md)文档页面。
|
||||
|
||||
请注意,以下示例是针对用于目标检测的YOLOv8 [Detect](../tasks/detect.md)模型。有关其他支持的任务,请参见[Segment](../tasks/segment.md)、[Classify](../tasks/classify.md)和[Pose](../tasks/pose.md)文档。
|
||||
|
||||
!!! Example "示例"
|
||||
|
||||
=== "Python"
|
||||
|
||||
可以将PyTorch预训练的`*.pt`模型和配置`*.yaml`文件传递给`YOLO()`类,在python中创建一个模型实例:
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# 加载一个在COCO预训练的YOLOv8n模型
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# 显示模型信息(可选)
|
||||
model.info()
|
||||
|
||||
# 使用COCO8示例数据集训练模型100个epoch
|
||||
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
|
||||
|
||||
# 使用YOLOv8n模型在'bus.jpg'图片上运行推理
|
||||
results = model('path/to/bus.jpg')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
可以使用CLI命令直接运行模型:
|
||||
|
||||
```bash
|
||||
# 加载一个在COCO预训练的YOLOv8n模型,并在COCO8示例数据集上训练100个epoch
|
||||
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
|
||||
|
||||
# 加载一个在COCO预训练的YOLOv8n模型,并在'bus.jpg'图片上运行推理
|
||||
yolo predict model=yolov8n.pt source=path/to/bus.jpg
|
||||
```
|
||||
|
||||
## 引用和致谢
|
||||
|
||||
如果您在工作中使用YOLOv8模型或此存储库中的其他软件,请使用以下格式进行引用:
|
||||
|
||||
!!! Quote "引用"
|
||||
|
||||
=== "BibTeX"
|
||||
|
||||
```bibtex
|
||||
@software{yolov8_ultralytics,
|
||||
author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
|
||||
title = {Ultralytics YOLOv8},
|
||||
version = {8.0.0},
|
||||
year = {2023},
|
||||
url = {https://github.com/ultralytics/ultralytics},
|
||||
orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
|
||||
license = {AGPL-3.0}
|
||||
}
|
||||
```
|
||||
|
||||
请注意,DOI正在等待中,DOI将在可用时添加到引用中。YOLOv8模型根据[AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE)和[企业许可证](https://ultralytics.com/license)提供。
|
||||
Loading…
Add table
Add a link
Reference in a new issue