ultralytics/yolov3
PyTorch implementation of YOLOv3, YOLOv3-SPP, and YOLOv3-tiny for real-time object detection with training, validation, inference, and multi-format export.
解决的问题
本项目提供了 YOLOv3 的 PyTorch 实现,这是一种实时目标检测模型,可以在图像或视频中识别并定位物体。它解决了在单次前向传播中检测各种尺寸(小、中、大)的多个物体时,对快速、准确且易于部署的系统需求的问题。
工作原理
YOLOv3 将目标检测视为单个回归问题,通过单次前向传播直接从完整图像中预测边界框和类别概率。它使用 Darknet-53 作为骨干网络进行特征提取,并采用特征金字塔风格的设计在三个不同的尺度上进行预测。它采用锚框(anchor boxes)来稳定训练,并使用独立的逻辑分类器允许单个物体拥有多个标签。
适用对象
专为需要实时目标检测能力的开发人员和研究人员设计,范围涵盖从部署在高性能 GPU 上的用户到针对 CPU 和边缘设备(通过 YOLOv3-tiny 变体)的用户。
亮点
- 三种模型变体:包括 YOLOv3(平衡型)、YOLOv3-SPP(通过空间金字塔池化增强精度)以及 YOLOv3-tiny(针对速度和边缘设备进行了优化)。
- 全面的工具链:提供用于训练、验证、推理以及将模型导出为 ONNX、TensorRT 和 CoreML 等格式的内置脚本。
- 多尺度检测:通过多尺度特征图高效处理不同尺寸的物体。
- PyTorch Hub 集成:允许用户通过几行代码以编程方式加载预训练模型。