YOLOX 源码做目标检测

本文详细介绍了YOLOX模型的背景及特性,包括其在YOLOV3基础上的改进。在源码学习部分,提到了可能遇到的环境配置问题,如CPU版本PyTorch和ONNX版本不匹配,并提供了解决方案。对于COCO数据集的准备,给出了下载和使用建议。最后,展示了如何在COCO数据集上进行测试并获取模型性能指标。
摘要由CSDN通过智能技术生成

YOLOX简介

作为单阶段目标检测模型的中流砥柱,YOLO系列模型一直以简洁,快速出名。由于实际生产应用领域有着低硬件成本和高时效性的要求,YOLOV3成为了工业界使用的最多的目标检测模型之一。令人欣喜的是,新一代YOLO在YOLOV3的基础上应用了decoupled head, strong augmentation, anchor-free, multi positives, SimOTA等tricks,相比YOLOV3 ,MAP又有了大幅度提升。
yolox vs yolov3

YOLOX源码

看论文感觉还是学的比较浅,所以我在YOLOX源码上学习一下代码。关于代码结构,个人觉得这篇文章中分析的比较好。YOLOX源码解析–十分详细
读了源码之后还要在COCO数据集上测试一下。因此我在YOLOX源码的Readme这里看到了配置环境和运行程序的方法。不过踩了几脚坑。

1、下载依赖

git clone https://github.com/Megvii-BaseDetection/YOLOX.git
cd YOLOX

OK,源码下载完成,下一步要安装依赖了,读代码可知,安装依赖执行的是setup.py,requirements.txt中是要下载的packages。官方提示是要用pip3 install -v -e . 下载所有依赖但是这里会有一些WARNING和ERROR出现,如果置之不理,后续测试训练模型都会报错。
这里报错有两个关键性因素。
1、这里提示下载的torch是cpu版本的pytorch,不能用gpu训练。而gpu训练速度会快很多。
2、onnx最新版本已经1.12了,requirement.txt里还要下载1.8。

解决第一个问题有点复杂,因为安装gpu版本的pytorch还需要安装对应版本的cuda和cudnn。这里贴出链接,用conda安装gpu版pytorch
配置gpu版本pytorch
之后还需要把requirements.txt修改成下图所示
requirements.txt
OK,下一步开始安装其中包含的packages

activate [你的环境名称]
pip3 install -v -e .

2、准备COCO数据集

COCO数据集很大,通过网络下载会很慢,这里推荐一个博文,用百度云盘下会快很多。
MS COCO官网数据集(百度云)下载,COCO API、MASK API和Annotation format介绍(来自官网)
下载完成后可以在./datasets/Readme.md中看到数据集文件分布,按要求保持文件名和文件层次相同。

ln -s [你的COCO下载地址] ./datasets/COCO
#创建符号链接

至此我们可以安装官方流程训练测试了。

3、测试

我这里选择先下载yolox_m模型的权重
weights
点对应位置的github就可以下载模型的weights

现在可以在COCO测试集上测试了,

python -m yolox.tools.eval -n yolox-m -c [你的权重文件地址] -b 64 --conf 0.001 --fp16 --fuse

在这里插入图片描述
OK,可以看到出现一堆log,在末尾可以看到YOLOX模型的AP、AR和每个类的AP、AR

在这里插入图片描述

参考文献

YOLOX论文

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值