而在 MMRotate 1.x 中,我们搭上了 OpenMMLab 2.0 的顺风车,顺势将所有组件都注册到了 MMEngine 下面,与其他算法库平级。 这使得 MMRotate 1.x 可以和 OpenMMLab 2.0 中的其他算法库更加优雅地进行跨库调用,也为 MMRotate 带来了更多的玩法和可能性。 OpenMMLab 2.0 全家桶 后续我们将继续完善 MMRotate 的教程...
以ss_train.json文件为例,“img_dirs”为DOTA数据集图像所在的路径,我下载解压后的图像都在"D:\\Trial\\MMRotate\\mmrotate-1.x\\mmrotate-1.x\\syh\\DOTA\\images"下,那么“img_dirs”对应填写即可;“ann_dirs”为DOTA数据集标签数据所在的路径,我可以填写"D:\\Trial\\MMRotate\\mmrotate-1.x\\mm...
从上面的大图中可以看出本系列文章学习的MMRotate,其底层架构从下往上依次为Pytorch、MMCV(这个目前地位很尴尬、只能提供一些基础的图像操作了)、MMEngine和MMDetection。其中,Pytorch和MMCV就不介绍了,需要的去看下相关文档(顺便提供下Numpy的): numpy.repeat - NumPy v1.26 Manualnumpy.org/doc/stable/reference/...
新建文件mmrotate/models/necks/pafpn.py。 frommmrotate.models.builderimportROTATED_NECKS@ROTATED_NECKS.register_module()classPAFPN(nn.Module):def__init__(self,in_channels,out_channels,num_outs,start_level=0,end_level=-1,add_extra_convs=False):passdefforward(self,inputs):# implementation is...
数据集准备:首先,从DOTA数据集官网下载并解压DOTA-v1.0数据集,其中包含图片和标签文档。使用split工具(路径为mmrotate-1.x\tools\data\dota\split\img_split.py)对数据集进行分割,通过修改配置文件中的参数来指定图片和标签文件路径以及期望的图像尺寸。模型训练:使用train.py文件(路径为mmrotate-...
mmrotate的输出格式为: 分别为: x, y, w, h, theta, score. 目标格式为Dota采用 txt 文件存放, 其中一个标注框对应为: x1、 y1、 x2、 y2、 x3、 y3、 x4、 y4、 classname、diffcult 。注意这里没有归一化处理 二、批量处理和保存 首先将result保存下来 ...
nms_rotated (默认为CW) RoIAlignRotated (默认为CCW) RiRoIAlignRotated (默认为CCW)。 在MMRotate 中,旋转框的旋转方向均为 `CW`。 旋转框定义法 由于theta定义范围的不同,在旋转目标检测中逐渐派生出如下3种旋转框定义法: {math}D_{oc^{\prime}}: OpenCV 定义法,angle∈(0, 90°],theta∈(0, ...
Mmrotate是OpenMMLab开源的专注于旋转目标检测的工具箱,里面提供了强大、高效的基准模型,以及一系列旋转目标检测的相关工具。解决了目前旋转目标检测开源代码库依赖算子和学习框架不同带来的困难,便于复现、对比不同的检测模型。 一、环境配置 环境配置的流程如下: ...
从今年 2 月 28 日发布至今,MMRotate 收获了 20 余位来自世界各地的贡献者,解决了 300 多个来自社区的 issues,收获了不少忠实用户和热情的社区开发者。截止到目前,MMRotate 已经 4 次登上 GitHub Trending 总榜,star 数也已经破千,这着实让我们受宠若惊。 为了回应大家的支持,经过半年多的迭代,MMRotate 终于...