MMrotate使用——个人纪录

一、数据集构建

1.数据集文件结构

2.裁剪数据集

原因:DOTA数据集图片尺寸过大

运行命令:

python tools/data/dota/split/img_split.py --base-json \
  tools/data/dota/split/split_configs/ss_trainval.json

python tools/data/dota/split/img_split.py --base-json \
  tools/data/dota/split/split_configs/ss_test.json
(单独分别使用train.json\test.json\val.json)

总结:修改json文件中路径参数,使用命令时只需修改 - -base_json参数为对应的配置文件即可

3.更改数据集基础路径及训练、验证和测试路径

change data_root in configs/_base_/datasets/dotav1.py to split DOTA dataset.
(如下:)

二、训练模型

以使用模型:rotated_faster_rcnn_r50_fpn_x1_dota_le90.py为例

1.最终命令:

python tools/train.py  configs/redet/redet_re50_refpn_1x_dota_le90.py --work-dir  work_dirs/runs/redet/

- -work-dir:训练得到的模型及配置信息保存的路径

2.修改配置

在模型文件中实现了:训练相关参数的配置,数据集信息的配置,以及网络架构的搭建;

①修改其中的目标类别数为自己数据集的类别数(由于我训练DOTAv1数据集可以不改)

②同时修改/mmrotate/datasets/dota.py 文件中类别名字

③最后,修改训练使用的数据集路径:找到并打开 mmrotate-main/configs/base/datasets/dotav1.py 文件,修改其中的 data_root 路径为自己裁剪的数据集路径,该路径包含了上述划分的train、test、val数据集 (同第1点)

3.如果需要修改模型(如修改Backbone)

关于单GPU和多GPU:ICCV 2023 | LSKNet【保姆级】训练自己的目标检测模型_目标检测iccv-CSDN博客

三、测试模型

以DOTA数据集为例,你可以选择如下三种主要用法:

①离线评估,注意:由于DOTA数据集中的测试集只有images没有annfiles,所以使用--eval map进行离线评估时必须将测试集路径改为val集或者trainval等带有annfiles的。

②生成压缩文件,用于在线提交

        DOTA数据集提供在线评估服务器,参考:DOTA

python ./tools/test.py \
  configs/lsknet/lsk_s_fpn_1x_dota_le90.py \
  work_dirs/runs/LSKNET_s/latest.pth \
  --format-only --eval-options submission_dir=work_dirs/Task1_results

注意:会将分割的图片进行标注然后融合

③可视化(但没有评估指标)

python ./tools/test.py \
  configs/lsknet/lsk_s_fpn_1x_dota_le90.py \
  work_dirs/runs/LSKNET_s/latest.pth \
  --show-dir work_dirs/vis

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值