BboxToolkit工具包使用(DOTA数据集)

在/BboxToolkit/tools/中使用BboxToolkit实现了一些工具,主要有三个功能函数。①img_split.py可以通过滑动窗口将大图像分割成小块。该工具通常用于大型航空图像,如DOTA中的图像。②visualize.py可以在图像上绘制不同类型的方框。③cal_mAP.py用于计算mAP

1. img_split.py

img_split.py可以通过滑动窗口将大图像分割成小块。该工具通常用于大型航空图像,如DOTA中的图像。

重要参数

--base_json:从json文件加载参数。我们在split_configs中有一些默认的json文件。
--load_type:决定在img_split中使用的加载函数。该函数需要在BboxToolkit.datasets中实现为load_{load_type}。例如,load_dota、load_dior等。
--img_dirs,--ann_dirs:图像和注释文件的路径。这些参数可以有多个输入,但应该对齐。
--size,--gaps:决定路径的大小和拆分的重叠。
--save_dir:保存分割图像和注释的路径。

python img_split.py --base_json split_configs/dota1_0/ss_train.json
python image_split.py --load_type dota --img_dirs {image path} --ann_dirs {annotation path} --sizes 1024 --gaps 200 --save_dir {saving path}

注意:以ss开头的json文件表示“单个刻度”,ms表示“多个刻度”。

运行后生成的数据集格式

 其中split_config.json保存了拆分的片段,可以在img_splitted.py中重新加载。patch_anfile.pkl保存了补丁的注释。ori_anfile.pkl保存大图像的注释。

2.visualize.py

visualize.py可以在图像上绘制不同类型的方框。

重要参数

--base_json:从json文件加载参数。我们在vis_configs中有一些默认的json文件。
--load_type:决定加载函数。与img_split.py中的--load_type分段相同
--img_dir,--ann_dir:图像和注释文件的路径。
--show_off:关闭在线可视化。当您需要保存可视化图像时,设置为True。
--save_dir:保存可视化图像的路径。
--score_thr:用于筛选低置信度框的得分阈值。
--colors:不同类别的收件箱的颜色。它应该是一个字符串或文件路径。有关详细信息,请参阅可视化。

python visualize.py --base_json vis_configs/dota1_0/config.json
python visualize.py --load_type dota_submission --img_dir {image path} --ann_dir {annotation path} --score_thr 0.3

如果您想要不同的类使用不同的颜色,可以在json或命令中修改颜色。colors接收由|分割的颜色的文件路径或str。
在json中,我们只显示了dota_bmission的情况,它可以可视化dota上的检测结果。对于其他情况,可以更改load_type以可视化数据集或分割得.pkl。

3.cal_mAP.py

cal_mAP.py用于计算mAP

重要参数

--img_dir:图像的路径。基本事实和结果有着相同的图像。
--gt_type,--gt_ann_dir:地面实况的加载类型和注释路径。
--res_type,--res_ann_dir:结果的加载类型和注释路径。
--save_dir:保存可视化图像的路径。
--iou_thr:用于决定框是否为正的iou阈值。

python cal_mAP.py --img_dir {image path} --gt_type dota --gt_ann_dir {dota annotation path} --res_type dota_submission --res_ann_dir {dota submission} --iou_thr 0.5

4.遇到的问题

Error:permission denied /public
原因:自己把这个代码所需要的文件打开了,不能够有效读取。
解决:将需要的文件保存关闭即可

猜你喜欢

转载自blog.csdn.net/weixin_42715977/article/details/131687752