faster-rcnn增强自己的数据集annotations(四)

本文介绍了如何利用faster-rcnn对数据集进行增强,特别是处理XML标注文件的方法。针对目标检测任务,作者通过旋转图像并计算旋转后物体坐标的算法,详细阐述了数据增强的过程。涉及到的关键步骤包括设置旋转角度,计算旋转后的图像坐标,并处理不同旋转角度下的坐标转换。
摘要由CSDN通过智能技术生成

关于faster-rcnn数据集的制作,尤其是xml文件的制作以及为了增强自己的数据集这方面详细讲解一下。因为最近参加了比赛,目标检测,我用的faster-rcnn网络,奈何数据量太小。于是为了增强自己的数据集,并载入自己的训练网络中。我写了几个脚本文件进行数据的增强及加载。

数据集的增强,关于检测的数据集的增强,并不是很好处理,因为我们除了对图像处理外,还有得到图像中我们要定位的物体(比如persion、dog)的具体坐标,才能进行训练。那么该如何得到处理后图像的坐标呢?

首先我进行了图像的旋转(30度、90度、180度、60度等等),旋转以后根据旋转的角度来计算旋转后图像的坐标。

输入:原图像、该图像中物体的坐标值(一般坐标值是存在txt文本中的)。注意:图像与其坐标值要一一对应。

输出:旋转后的图像、旋转后图像的坐标值。

相关代码如下(具体代码下面有链接):

#设置旋转角度,这里设置了270度

angle = 270.0

# 旋转后图像的四点坐标

 [[pt1[0]], [pt1[1]]] = np.dot(rotateMat, np.array([[pt1[0]], [pt1[1]], [1]]))

 [[pt2[0]], [pt2[1]]] = np.dot(rotateMat, np.array([[pt2[0]], [pt2[1]], [1]]))

主要是根据旋转的角度来计算坐标值。还有注意的一点是:不同的旋转的角度,对于最后的两坐标点的处理不同。以270度为例,   最后的到的坐标值还需要 pt1[0] = pt1[0] - height Rectpt2[0] = pt2[0] + heightRect这两步的处理。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值