YOLOX vs.YOLO-YOLO:物体探测的深入演进
物体检测领域在不断发展,研究人员在准确性、推理速度和架构效率方面不断突破极限。YOLOX和YOLO 是这一领域的两大杰出贡献。YOLOX 通过引入无锚机制振兴了YOLO 系列,而YOLO 则利用神经架构搜索 (NAS) 专门针对工业应用优化了性能。
本指南提供了全面的技术比较,帮助开发人员和研究人员了解每种模型的细微差别、理想用例,以及它们与现代解决方案(如 Ultralytics YOLO11.
YOLOX:无锚先锋
YOLOX 由 Megvii 开发,于 2021 年发布,代表着YOLO 系列的重大转变。通过改用无锚设计,它简化了训练过程,不再需要复杂的锚框计算,而这正是 YOLOv4 和YOLOv5 等之前迭代产品的主要特点。
技术细节:
- 作者: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, 和 Jian Sun
- 组织机构Megvii
- 日期: 2021-07-18
- Arxiv:https://arxiv.org/abs/2107.08430
- GitHub:https://github.com/Megvii-BaseDetection/YOLOX
- 文件:https://yolox.readthedocs.io/en/latest/
主要建筑特点
YOLOX 集成了多项先进技术,以实现其性能:
- 无锚机制:通过直接预测目标中心,YOLOX 减少了与基于锚点的方法相关的设计参数和启发式调整步骤的数量。
- 解耦头:与同时处理分类和回归的耦合头不同,YOLOX 将这些任务分开。这种分离提高了收敛速度和整体准确性。
- SimOTA:一种名为 "简化最优传输分配"(SimOTA)的高级标签分配策略可动态地将正样本分配给地面真值,从而比静态匹配更有效地优化训练目标。
为什么要无锚?
无锚检测器无需针对特定数据集手动调整锚箱超参数(如尺寸和长宽比),从而简化了模型设计。这通常能更好地概括不同的物体形状。
DAMO-YOLO:优化的神经架构搜索
YOLO 由阿里巴巴集团于 2022 年底发布,致力于缩小高性能与低延迟之间的差距。它采用自动机器学习技术来发现高效的网络结构,是需要实时处理的工业应用的有力竞争者。
技术细节:
- 作者: Xianzhe Xu、Yiqi Jiang、Weihua Chen、Yilun Huang、Yuan Zhang 和 Xiuyu Sun
- 组织机构阿里巴巴集团
- 日期: 2022-11-23
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
- 文件:https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
主要建筑特点
YOLO 为YOLO 生态系统引入了多项 "新技术":
- MAE-NAS 主干网:该模型使用基于平均绝对误差(MAE)指标的神经架构搜索(NAS)生成的骨干网。这可确保特征提取器完全适合检测任务。
- RepGFPN:基于广义特征金字塔网络(GFPN)的重颈设计,利用重参数化最大限度地提高特征融合效率,同时保持较低的推理延迟。
- ZeroHead:简化的检测头,可在不影响预测精度的前提下减少计算开销。
- AlignedOTA:标签分配的进化版,能更好地将分类分数与回归准确性相统一,确保高质量预测得到优先考虑。
性能分析
在比较这两个模型时,关键是要看准确度mAP)和推理速度(延迟)之间的权衡。下表突出表明,虽然 YOLOX 仍然具有竞争力,但YOLO 的较新架构通常能在精度水平相似的情况下在GPU 硬件上提供更快的速度。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
关键比较点
- 速度与精度: YOLO(DAMO-YOLOt) 比 YOLOX-Small (40.5) 实现了更高的mAP (42.0),同时运行速度更快(2.32ms vs 2.56ms),使用的 FLOP 更少。这证明了 NAS 优化骨干网的有效性。
- 参数效率:YOLOX-Nano 极其轻巧(0.91M 个参数),使其成为资源极度紧张的边缘设备的可行选择,在这种情况下,每个字节都很重要,尽管YOLO 在这种特定规模上没有直接的竞争对手。
- 顶级性能: While YOLOX-X pushes accuracy to 51.1 mAP, it does so with a massive parameter count (99.1M). DAMO-YOLO-Large reaches a comparable 50.8 mAP with less than half the parameters (42.1M), highlighting a more modern, efficient design.
应用案例与应用
在 YOLOX 和YOLO 之间做出选择通常取决于具体的部署环境。
- YOLOX非常适合研究环境和需要直接、无锚实施的场景。它的成熟意味着有许多社区资源和教程可供使用。对于需要兼容传统技术的通用对象检测任务来说,YOLOX 是一个强有力的候选方案。
- YOLO在工业自动化和智能城市应用中表现出色,在这些应用中,GPU 硬件的低延迟至关重要。其优化的架构使其成为制造业中高通量视频分析和实时缺陷检测的理想选择。
Ultralytics YOLO11:高级替代品
虽然 YOLOX 和YOLO 提供了强大的检测功能,但它们在很大程度上仅限于这一单一任务,缺乏统一的支持性生态系统。对于寻求全面解决方案的开发人员来说,Ultralytics 是一个不错的选择、 Ultralytics YOLO11代表了视觉人工智能的最先进水平。
Ultralytics 模型不仅是作为架构设计的,也是作为完整的开发工具设计的。
为什么选择 Ultralytics YOLO11?
- 任务多样性: YOLO11 和YOLO 主要侧重于边界框检测,而YOLO11 则不同,它原生支持各种计算机视觉任务。这包括实例分割、姿势估计 、面向对象检测(旋转框检测)和图像分类。
- 无与伦比的易用性: Ultralytics Python API 只需几行代码就能完成模型的训练、验证和部署。无需克隆复杂的资源库,也无需手动配置环境路径。
- 维护良好的生态系统: Ultralytics 提供频繁更新,确保与最新版本的PyTorch 兼容、 ONNX和 TensorRT.活跃的社区和丰富的文档意味着你永远不会失去支持。
- 训练效率和记忆力: YOLO11 的设计旨在提高效率。与老式架构或transformer重型模型相比,它在训练过程中需要的GPU 内存通常更少,从而加快了迭代速度,降低了云计算成本。
- 性能平衡: YOLO11 在以往YOLO 版本的基础上实现了速度和准确性的最佳平衡,使其适用于从NVIDIA Jetson边缘设备到企业级云服务器的各种部署。
Ultralytics的易用性
与传统框架相比,YOLO11 模型的训练非常简单。
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load a pretrained model
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("path/to/image.jpg")
结论
YOLOX 和YOLO 在计算机视觉史上都占有一席之地。YOLOX 成功推广了无锚范式,而YOLO 则展示了神经架构搜索在优化工业探测器方面的强大功能。然而,对于需要灵活性、长期支持和多任务能力的现代应用来说,这些技术还不够成熟、 Ultralytics YOLO11是首选。它集成到一个强大的生态系统中,结合最先进的性能和最小的内存占用,使开发人员能够轻松构建可扩展的高效人工智能解决方案。
探索其他模型
要从更广泛的角度了解这些模型与其他最先进架构的比较,请访问我们的详细比较页面:
- YOLO11 vs DAMO-YOLO
- YOLOv8 vs. YOLOX
- RT-DETR vs. DAMO-YOLO
- YOLOv10 vs. YOLOX
- EfficientDet 与 YOLOX
- PP-YOLOE vs. DAMO-YOLO