YOLOX 是 YOLO 的无锚版本,设计更简单但性能更好!它旨在弥合研究和工业界之间的差距。更多细节请参考我们在 Arxiv 上的报告。
这个仓库是 PyTorch 版本 YOLOX 的实现,还有一个 MegEngine 版本的实现。
更新!!
- 【2023/02/28】支持分配可视化工具,详见文档这里。
- 【2022/04/14】支持 jit 编译操作。
- 【2021/08/19】优化了训练过程,训练速度提高了 2 倍,性能提高了 ~1%!更多详情请参阅更新说明。
- 【2021/08/05】发布了 MegEngine 版本的 YOLOX。
- 【2021/07/28】修复了内存泄漏的致命错误。
- 【2021/07/26】现已支持 MegEngine 部署。
- 【2021/07/20】我们在 Arxiv 上发布了我们的技术报告。
即将推出
- YOLOX-P6 和更大的模型。
- Objects365 预训练。
- Transformer 模块。
- 更多需要的功能。
基准测试
标准模型
模型 | 尺寸 | mAPval 0.5:0.95 | mAPtest 0.5:0.95 | V100 上的速度 (毫秒) | 参数量 (M) | FLOPs (G) | 权重 |
---|---|---|---|---|---|---|---|
YOLOX-s | 640 | 40.5 | 40.5 | 9.8 | 9.0 | 26.8 | github |
YOLOX-m | 640 | 46.9 | 47.2 | 12.3 | 25.3 | 73.8 | github |
YOLOX-l | 640 | 49.7 | 50.1 | 14.5 | 54.2 | 155.6 | github |
YOLOX-x | 640 | 51.1 | 51.5 | 17.3 | 99.1 | 281.9 | github |
YOLOX-Darknet53 | 640 | 47.7 | 48.0 | 11.1 | 63.7 | 185.3 | github |
遗留模型
轻量模型
模型 | 尺寸 | mAPval 0.5:0.95 | 参数量 (M) | FLOPs (G) | 权重 |
---|---|---|---|---|---|
YOLOX-Nano | 416 | 25.8 | 0.91 | 1.08 | github |
YOLOX-Tiny | 416 | 32.8 | 5.06 | 6.45 | github |
遗留模型
模型 | 尺寸 | mAPval 0.5:0.95 | 参数量 (M) | FLOPs (G) | 权重 |
---|---|---|---|---|---|
YOLOX-Nano | 416 | 25.3 | 0.91 | 1.08 | [github](https://github.com |
一个示例的 wandb 仪表板可用 这里 |
其他信息
通过以下命令查看更多信息:
python -m yolox.tools.train --help
评估
我们支持批量测试以加快评估速度:
python -m yolox.tools.eval -n yolox-s -c yolox_s.pth -b 64 -d 8 --conf 0.001 [--fp16] [--fuse]
yolox-m
yolox-l
yolox-x
- --fuse: 融合 conv 和 bn
- -d: 用于评估的 GPU 数量。默认:将使用所有可用的 GPU。
- -b: 所有 GPU 上的总批量大小
要重现速度测试,我们使用以下命令:
python -m yolox.tools.eval -n yolox-s -c yolox_s.pth -b 1 -d 1 --conf 0.001 --fp16 --fuse
yolox-m
yolox-l
yolox-x
部署
- C++ 和 Python 中的 MegEngine
- ONNX 导出和 ONNXRuntime
- C++ 和 Python 中的 TensorRT
- C++ 和 Java 中的 ncnn
- C++ 和 Python 中的 OpenVINO
- 使用 nebullvm 加速 Python 中的 YOLOX 推理
第三方资源
- YOLOX 用于流媒体感知: StreamYOLO (CVPR 2022 口头报告)
- YOLOX-s 和 YOLOX-nano 已集成到 ModelScope。在 YOLOX-s 和 YOLOX-Nano 上尝试在线演示 🚀。
- 使用 Gradio 集成到 Huggingface Spaces 🤗。尝试网络演示:
- 带有视频支持的 ncnn 安卓应用: ncnn-android-yolox 来自 FeiGeChuanShu
- 支持 Tengine 的 YOLOX: Tengine 来自 BUG1989
- YOLOX + ROS2 Foxy: YOLOX-ROS 来自 Ar-Ray
- YOLOX 部署 DeepStream: YOLOX-deepstream 来自 nanmi
- YOLOX MNN/TNN/ONNXRuntime: YOLOX-MNN、YOLOX-TNN 和 YOLOX-ONNXRuntime C++ 来自 DefTruth
- 将 darknet 或 yolov5 数据集转换为 YOLOX 的 COCO 格式: YOLO2COCO 来自 Daniel
引用 YOLOX
如果您在研究中使用 YOLOX,请使用以下 BibTeX 条目引用我们的工作:
@article{yolox2021,
title={YOLOX: Exceeding YOLO Series in 2021},
author={Ge, Zheng and Liu, Songtao and Wang, Feng and Li, Zeming and Sun, Jian},
journal={arXiv preprint arXiv:2107.08430},
year={2021}
}
纪念孙剑博士
没有孙剑博士的指导,YOLOX 也不会问世并开源给社区使用。 孙剑博士的离去是计算机视觉领域的一大损失,我们在此特别添加了这个部分来表达对我们的“船长”孙老师的纪念和哀思。 希望世界上的每个 AI 从业者秉持着“持续创新拓展认知边界,非凡科技成就产品价值”的观念,一路向前。