BBAVectors旋转目标检测算法安装部署使用笔记

BBAVectors旋转目标检测算法安装部署使用笔记

安装

整体步骤从参考官方github:https://github.com/yijingru/BBAVectors-Oriented-Object-Detection

step1

配置好相关环境,比如pytorch等,下载BBA代码到本地:

git clone https://github.com/yijingru/BBAVectors-Oriented-Object-Detection

step2

安装DOTA_devkit到datasets文件夹中:

cd datasets
git clone https://github.com/CAPTAIN-WHU/DOTA_devkit

安装swig

sudo apt-get install swig

编译安装

cd DOTA_devkit
swig -c++ -python polyiou.i
python setup.py build_ext --inplace

数据集准备

大致可以参考:DOTA数据集分割
但是需要删除txt前两行的尺度信息等。
准备数据集,包括以下四个部分:

BBAVectors旋转目标检测算法安装部署使用笔记
data_dir/
        images/*.png
        labelTxt/*.txt
        trainval.txt
        test.txt

images里面是裁剪后的图片,默认是png格式,若是其他格式可以根据报错在代码中修改。
lableTxt文件夹里是对应的txt标注文件,与images中的图片对应,名称要相同。
其中的txt的格式为: Format: x1, y1, x2, y2, x3, y3, x4, y4, category, difficulty
例如:

275.0 463.0 411.0 587.0 312.0 600.0 222.0 532.0 tennis-court 0
341.0 376.0 487.0 487.0 434.0 556.0 287.0 444.0 tennis-court 0
428.0 6.0 519.0 66.0 492.0 108.0 405.0 50.0 bridge 0

test.txt与trainval.txt为测试集和训练集图片名称。
例如:

P0082_1600_4000
P0871_1600_0
P0044_0_0
P0020_3200_1600
P0786_911_800
P0000_2400_800
P0167_1600_800
P0769_0_72
P0008_235_143
P0235_0_800
P0436_0_0
P0731_364_0

训练

要选择合适的batch_size,模型较大,batch_size 可能比较小。

python main.py --data_dir dota_bbav --num_epoch 20 --batch_size 8 --dataset dota --phase train

DOTA_devkit中的一些py文件可能会报错找不到一些库,需要手动加入这些库的位置:

import sys
sys.path.app("")

测试

可以修改test文件,让其保存结果文件,默认是cv2.imshow。

python main.py --data_dir dota_bbav --batch_size 16 --dataset dota --phase test --resume model_last.pth

结果示例

BBAVectors旋转目标检测算法安装部署使用笔记

验证

python main.py --data_dir dota_bbav --batch_size 16 --dataset dota --phase eval --resume model_last.pth --conf_thresh 0.1

由于我的数据集没有包含所有种类,在eval模式下有报错,还在修改中。。。

测试AP

修改这三个路径:

    detpath = r'result_dota/Task1_{:s}.txt'
    annopath = r'dota_bbav/labelTxt/{:s}.txt'
    imagesetfile = r'dota_bbav/test.txt'

测试:

python datasets/DOTA_devkit/dota_evaluation_task1.py

输出示例:

map: 0.39124759221863975
['plane', 'baseball-diamond', 'bridge', 'ground-track-field', 'small-vehicle', 'large-vehicle', 'ship', 'tennis-court', 'basketball-court', 'storage-tank', 'soccer-ball-field', 'roundabout', 'harbor', 'swimming-pool', 'helicopter']
classaps:  [86.27988669 53.03597718  0.         23.63636364 61.66793176 56.25448969
 59.26257986 79.39210867 11.59874608 59.85661641  0.82644628 21.61678133
 19.63037923 53.81308149  0.        ]
number: [3590, 201, 0, 45, 22352, 12487, 17890, 1504, 494, 4729, 83, 1060, 2414, 2791, 0]

Original: https://blog.csdn.net/qq_40608730/article/details/119600956
Author: HNU_刘yuan
Title: BBAVectors旋转目标检测算法安装部署使用笔记

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/687962/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球