You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
5.2 KiB
98 lines
5.2 KiB
--- |
|
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 的更新检测头。 |
|
|
|
![Ultralytics YOLOv3](https://raw.githubusercontent.com/ultralytics/assets/main/yolov3/banner-yolov3.png) |
|
|
|
## 关键功能 |
|
|
|
- **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 模型。
|
|
|