复现Oriented RCNN在HRSC2016数据集L2,L3任务

源码下载

Oriented RCNN 论文地址
Oriented RCNN 源码下载

环境配置

1.创建conda虚拟环境

我比较习惯于复现一个模型就创建一个新的虚拟环境,并用模型名来命名虚拟环境名,不容易混乱。

conda create -n OBBDetection python==3.8
conda activate OBBDetection

2.安装pytorch

我比较习惯安装v1.7.1版本的pytorch,如果要安装其他版本的可以在pytorch官网找相应的安装命令。

pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

3.下载OBBDetection和BboxToolKit源码

我比较习惯于直接在github上下载,再传输到服务器上。下载OBBDetection后BboxToolKit文件夹为空,需要下载BboxToolKit源码放到BboxToolKit空文件夹下。OBBDetection下载链接BboxToolKit下载链接

4.安装BboxToolkit

一定要进入setup.py所在的BboxToolkit目录里,不然会报错:找不到setup.py文件

cd BboxToolkit			# 进入BboxToolkit目录
pip install -v -e .		# 安装BboxToolkit
cd ..					# 退回OBBDetection目录

5.安装mmcv

mmcv的版本一定要和pytorch对应,不然会很麻烦。

pip install mmcv-full==1.4.0 -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7/index.html

6.安装OBBDetection

时间较久,耐心等待!

pip install -r requirements/build.txt
pip install -v -e .

7.安装pycocotools

conda install -c conda-forge pycocotools

测试模型

在OBBDetection目录下创建一个子目录checkpoints,用来放置权重文件。
到model zoo里面下载训练好的权重:faster_rcnn_orpn_r101_fpn_1x_mssplit_rr_dota10_epoch12.pth
这里放置的是Google Drive链接,也可以用百度网盘下(慢)
linux没有图形界面,plot画不出图,所以需要在mmdet/apis/inference.py中

import cv2						# 第一行加入
cv2.imwrite("xxxx320.jpg", img)	# 最后一行加入

保存文件,运行测试命令。

# 测试命令
python demo/huge_image_demo.py demo/dota_demo.jpg \
configs/obb/oriented_rcnn/faster_rcnn_orpn_r101_fpn_1x_ms_rr_dota10.py \
checkpoints/faster_rcnn_orpn_r101_fpn_1x_mssplit_rr_dota10_epoch12.pth \
BboxToolkit/tools/split_configs/dota1_0/ss_test.json

刷新OBBDetection,其中会出一张“xxxx320.jpg”图片,这就是我们的测试效果图。
在这里插入图片描述

放入HRSC2016数据集

现在OBBDetection中创建data子目录,在data目录中创建hrsc子目录,在hrsc目录中创建FullDataSet和ImageSets两个子目录,在FullDataSet目录中创建AllImages、Annotations、LandMask、Segmentations子目录,把数据传入对应的目录即可。目录结构如图:
目录格式如图

L3任务

修改config文件

1.修改configs/obb/base/datasets/hrsc.py

# 修改一行代码
# 我比较习惯用绝对路径,也可以用相对路径
data_root = '/home/ly/OBBDetection-master/data/hrsc/'
# 可用ctrl+f查找关键字“classwise”
# 修改两行代码
classwise = True
imgset、ann_file、img_prefix路径按需更改

2.修改configs/obb/oriented_rcnn/faster_rcnn_orpn_r50_fpn_3x_hrsc.py

# 修改一行代码
num_classes=33,

训练模型

在OBBDetection下创建work_dirs子目录,用来存储.pth文件

python tools/train.py \
configs/obb/oriented_rcnn/faster_rcnn_orpn_r101_fpn_3x_hrsc.py  --work-dir work_dirs/33cls

测试模型

python tools/test.py \
/home/ly/OBBDetection-master/configs/obb/oriented_rcnn/faster_rcnn_orpn_r101_fpn_3x_hrsc.py \
/home/ly/OBBDetection-master/work_dirs/33cls/epoch_36.pth --eval mAP

在这里插入图片描述

可视化结果

在这里插入图片描述
在这里插入图片描述

### HRSC2016 数据集下载和使用说明 #### 数据集概述 HRSC2016 是一个专门用于船舶检测的高分辨率遥感图像数据集,由西北工业大学于2016年发布[^1]。该数据集中的影像来源于Google Earth,采用oriented bounding boxes (OBB) 标注格式。 #### 图像详情 - **尺寸范围**: 300×300 至 1500×900 像素 - **总数量**: 1,061 幅图片分布在训练集(436幅),验证集(181幅) 和 测试集(444幅)[^1] #### 对象统计 整个数据集中共有2,976个被标记的目标物体实例. #### 获取途径 可以通过访问官方网站获取更多信息并下载完整的数据包: - 官网地址: [HRSC2016 Data Set](https://sites.google.com/site/hrsc2016/) - 百度云盘链接: ![百度云链接](https://pan.baidu.com/s/1iRhVi2RQ4XdTX_sGd4K9fw), 提取码:e20l #### 使用准备 为了能够顺利地处理这些数据,在开始之前应该确保完成了如下准备工作: - 已经建立了适合的深度学习框架环境(如 YOLOv5),并且安装好了所有必需的Python库; - 阅读过相关工具链的手册文档来熟悉如何配置输入输出路径以及调整参数设置; 当涉及到具体的应用场景比如目标识别时,则可能还需要额外做一些预处理工作,例如将原始标签转换为目标检测算法所支持的标准形式之一——这通常意味着要按照特定的数据结构重新组织文件夹内的内容,并编写相应的脚本来自动化这一过程[^2]。 对于希望可视化ground truth的情况来说,有一种方法是借助 DOTA 数据集提供的绘图功能来进行操作。因为两者都采用了类似的倾斜矩形定义方式,所以只需要先把 HRSC 的 annotation 文件转化为兼容的形式即可调用现成的方法实现预期效果[^3]。 最后值得注意的是,如果打算把此数据集应用于基于YOLO系列模型的任务当中去的话,那么就需要参照某些教程指导下的步骤完成从原生 OBB 到旋转边界框(rotated bbox)之间的转变[^4]。 ```bash # 示例命令行指令展示如何解压已下载的数据压缩包(.zip/.tar.gz) unzip path_to_your_downloaded_file.zip -d destination_folder/ ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值