Bootstrap

Win10--YOLOX训练和测试VOC格式数据

一、运行前准备

code:

GitHub - Megvii-BaseDetection/YOLOX: YOLOX is a high-performance anchor-free YOLO, exceeding yolov3~v5 with MegEngine, ONNX, TensorRT, ncnn, and OpenVINO supported. Documentation: https://yolox.readthedocs.io/

paper:

https://arxiv.org/pdf/2107.08430.pdf

torch2trt:

https://github.com/NVIDIA-AI-IOT/torch2trt/releases

在使用命令行进行操作的时候需要在tools/demo.py和tools/train.py中加上

import sys,os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)

此处 需要更改yolox_s.pth,模型下载地址:yolox_s.pth

建立weights文件夹将下载的yolox_s.pth放到weights文件夹下

python tools/demo.py video -n yolox-s -c weights/yolox_s.pth --path 0 --conf 0.25 --nms 0.45 --tsize 640 --save_result --device gpu

(缺少什么包直接安装)

demo测试结果

二、训练注意事项:

1.准备VOC数据集

1.将VOC数据放到datasets文件夹下(如果是自己标注的数据改成VOC格式就可以了)

2.调整训练的类别数

VOC数据的默认类别是20个,如果是自己的数据集,则调整exps/example/yolox_voc/yolox_voc_s.py下的类别数

3.调整代码

(1)更改exps/example/yolox_voc/yolox_voc_s.py下的image_sets

删除2012的目录,改为图中47行

(2)更改yolox/data/datasets/voc.py的do_python_eval

更改为317行的格式

4.训练指令

从零开始训练:

python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 24 --fp16

中断后继续训练:

将tools/train.py中的训练参数--resume默认值改为True或者在命令行中加入--resume True

参数保存在YOLOX_outputs文件夹下:

三、测试注意事项:

1.更改代码

(1)更改:yolox/data/datasets/__init__.py

加上from .voc_classes import VOC_CLASSES

(2)如果是自定义的类别需要更改yolox/data/datasets/voc_classes.py的类别名称

(3)更改demo.py

  • 加上from yolox.data.datasets import VOC_CLASSES

将main函数中的cls_names改为VOC的数据类别

cls_names = VOC_CLASSES,

2.测试指令:

(1)测试图片

python tools/mydemo.py image -f exps/example/yolox_voc/yolox_voc_s.py   -c YOLOX_outputs/yolox_voc_s/best_ckpt.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device gpu

测试结果:

(2)测试摄像头(yolox-s)(不即时展示):

python tools/demo.py webcam -n yolox-s -c weights/yolox_s.pth  --conf 0.25 --nms 0.45 --tsize 640 --save_result --device gpu

边展示写入需要修改下代码:

只显示实时测试结果:

 python tools/demo.py webcam -n yolox-s -c weights/yolox_s.pth  --conf 0.25 --nms 0.45 --tsize 640  --device gpu

测试速度如下:

参考:

YOLOX/README.md at main · Megvii-BaseDetection/YOLOX · GitHub

https://github.com/Megvii-BaseDetection/YOLOX/blob/main/docs/train_custom_data.md

;