YOLOv3、YOLOv3-Ultralytics 和 YOLOv3u
概述
本文件概述了三种密切相关的物体检测模型,即YOLOv3、YOLOv3-Ultralytics 和YOLOv3u。
-
YOLOv3:这是 "You Only Look Once"(YOLO )物体检测算法的第三个版本。YOLOv3 最初由约瑟夫-雷德蒙(Joseph Redmon)开发,通过引入多尺度预测和三种不同大小的检测内核等功能,YOLOv3 对其前身进行了改进。
-
YOLOv3-Ultralytics :这是Ultralytics' YOLOv3 模型的实现。它再现了原始的 YOLOv3 架构,并提供了更多的功能,如支持更多的预训练模型和更简单的定制选项。
-
YOLOv3u:这是 YOLOv3-Ultralytics 的更新版本,它采用了YOLOv8 模型中使用的无锚、无对象性分割头。YOLOv3u 保留了与 YOLOv3 相同的骨干和颈部结构,但使用了YOLOv8 更新的检测头。
主要功能
-
YOLOv3:引入了三种不同的检测比例,利用三种不同大小的检测内核:13x13、26x26 和 52x52。这大大提高了对不同大小物体的检测精度。此外,YOLOv3 还增加了一些功能,如每个边界框的多标签预测和更好的特征提取网络。
-
YOLOv3-Ultralytics : UltralyticsYOLOv3'的实现提供了与原始模型相同的性能,但增加了对更多预训练模型的支持、额外的训练方法和更简便的定制选项。这使其在实际应用中更加灵活和用户友好。
-
YOLOv3u:该更新模型采用了YOLOv8 中的无锚点、无物体度分割头。通过消除对预定义锚点框和物体度分数的需求,该检测头设计可提高模型检测不同大小和形状物体的能力。这使得 YOLOv3u 在执行物体检测任务时更加稳健和准确。
支持的任务和模式
YOLOv3 系列(包括 YOLOv3、YOLOv3-Ultralytics 和 YOLOv3u)专为物体检测任务而设计。这些型号因其在各种实际场景中的有效性而闻名,同时兼顾了准确性和速度。每个变体都具有独特的功能和优化,因此适用于各种应用。
所有三种模型都支持一整套模式,确保在模型部署和开发的各个阶段都能发挥多功能。这些模式包括推理、验证、训练和输出,为用户提供了有效检测物体的完整工具包。
型号 | 支持的任务 | 推论 | 验证 | 培训 | 出口 |
---|---|---|---|---|---|
YOLOv3 | 物体检测 | ✅ | ✅ | ✅ | ✅ |
YOLOv3-Ultralytics | 物体检测 | ✅ | ✅ | ✅ | ✅ |
YOLOv3u | 物体检测 | ✅ | ✅ | ✅ | ✅ |
本表提供了 YOLOv3 各变体的功能概览,突出显示了它们的多功能性以及对物体探测工作流程中各种任务和操作模式的适用性。
使用示例
本示例提供了简单的 YOLOv3 训练和推理示例。有关这些模式和其他模式的完整文档,请参阅Predict、Train、Val和Export文档页面。
示例
PyTorch 训练有素 *.pt
模型以及配置 *.yaml
文件可以传递给 YOLO()
类在python 中创建模型实例:
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv3n model
model = YOLO('yolov3n.pt')
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
# Run inference with the YOLOv3n model on the 'bus.jpg' image
results = model('path/to/bus.jpg')
CLI 命令可直接运行模型:
引文和致谢
如果您在研究中使用了 YOLOv3,请引用YOLO 原文和Ultralytics YOLOv3 存储库:
感谢约瑟夫-雷德蒙和阿里-法哈迪开发最初的 YOLOv3。