0.引言
旋转框目标检测作为目标检测中比较小众的一个分支,各类算法和数据集并不算太多;因此,
如果不太清楚旋转框检测算法的可以参看这篇文章:旋转框检测方法综述:RotateAnchor系列
运行环境如下:
- windows10
- cuda11.6
- cudnn8.4.1
- Anaconda5.3.0
教程分了3个板块,
1.环境准备
(1)克隆仓库
本教程使用的是百度的PaddleDetection仓库中的一个部分,因此需要先把PaddleDetection从git上克隆下来:
git clone https://github.com/PaddlePaddle/PaddleDetection.git
(2)创建环境
通过Anaconda创建虚拟环境
cd PaddleDetection
conda create -n paddle python=3.8
conda activate paddle
后续所有操作均在paddle这个虚拟环境中进行
(3)安装依赖
此时需要先去paddle的官网,根据自己cuda的版本,找到自己对应的paddle安装指令:
paddle官网链接
由于我是cuda11.6,因此我使用如下语句进行安装:
python -m pip install paddlepaddle-gpu==2.4.1.post116 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html
安装成功后,再进行其他依赖包的安装:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
安装成功截图:
(4)安装roLabelImg
roLabelImg是一个开源的旋转框标注工具(可以理解为LabelImg的旋转版),既可以标注正框,也可以标注旋转框,具体安装细节可以参看这篇文章:旋转标注框数据标签制作-roLabelImg
git clone https://github.com/cgvict/roLabelImg.git
cd roLabelImg
conda install pyqt=5
pyrcc5 -o libs/resources.py resources.qrc
python roLabelImg.py
虽然这个软件可以实现基本的功能,但是绝对谈不上好用,甚至用糟糕来形容也不为过:程序有些方法没有导入导致程序崩溃;无法像labelImg一样自动保存,需要手动保存;进入下一张,再退回上一张,无法查看已经标注的目标框…