# YOLOX ## 论文 https://arxiv.org/abs/2107.08430 ## 模型结构 YOLOX是一种单阶段目标检测算法,该算法以YoloV3(Darknet53作为backbone)作为基线,在Decoupled Head,Data Aug,Anchor Free 和样本匹配(SimOTA)添加了一些新的改进思路,使其速度与精度都得到了极大的提升。 ## 算法原理 YOLOX算法的改进简单总结主要有三点,decoupled head、anchor-free以及advanced label assigning strategy(SimOTA)。 ## 环境配置 ### Docker(方法一) 拉取镜像: ```shell docker pull image.sourcefind.cn:5000/dcu/admin/base/migraphx:4.0.0-centos7.6-dtk23.04.1-py38-latest ``` 创建并启动容器: ```shell docker run --shm-size 16g --network=host --name=yolox_migraphx --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v $PWD/yolox_migraphx:/home/yolox_migraphx -it /bin/bash # 激活dtk source /opt/dtk/env.sh ``` ### Dockerfile(方法二) ```shell cd ./docker docker build --no-cache -t yolox_migraphx:2.0 . docker run --shm-size 16g --network=host --name=yolox_migraphx --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v $PWD/yolox_migraphx:/home/yolox_migraphx -it /bin/bash # 激活dtk source /opt/dtk/env.sh ``` ## 数据集 根据提供的样本数据,进行目标检测。 ## 推理 ### Python版本推理 下面介绍如何运行Python代码示例,Python示例的详细说明见Doc目录下的Tutorial_Python.md。 #### 设置环境变量 ```shell export PYTHONPATH=/opt/dtk/lib:$PYTHONPATH ``` #### 安装依赖 ```shell # 进入python示例目录 cd /Python # 安装依赖 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple ``` #### 运行示例 YOLOX模型的推理示例程序是yolox_infer_migraphx.py,使用如下命令运行该推理示例: 1. 静态推理 ```shell python yolox_infer_migraphx.py --staticInfer ``` ### C++版本推理 下面介绍如何运行C++代码示例,C++示例的详细说明见Doc目录下的Tutorial_Cpp.md。 #### 构建工程 ```shell rbuild build -d depend ``` #### 设置环境变量 将依赖库依赖加入环境变量LD_LIBRARY_PATH,在~/.bashrc中添加如下语句: ```shell export LD_LIBRARY_PATH=/depend/lib64/:$LD_LIBRARY_PATH ``` 然后执行: ```shell source ~/.bashrc ``` #### 运行示例 YOLOX示例程序编译成功后,执行如下指令运行该示例: ```shell # 进入yolox migraphx工程根目录 cd # 进入build目录 cd build/ ``` 1. 静态推理 ```shell ./YOLOX 0 ``` ## result ### Python版本 静态推理: python程序运行结束后,会在当前目录生成YOLOX静态推理检测结果可视化图像。 Result ### C++版本 静态推理: C++程序运行结束后,会在build目录生成YOLOX静态推理检测结果可视化图像。 Result ### 精度 无 ## 应用场景 ### 算法类别 `目标检测` ### 热点应用行业 `交通`,`教育`,`化工` ## 源码仓库及问题反馈 https://developer.hpccube.com/codes/modelzoo/yolox_migraphx ## 参考资料 https://github.com/Megvii-BaseDetection/YOLOX