Faster RCNN源码解析之数据预处理

Faster RCNN源码解析之数据预处理:

参考资料:

Faster RCNN源码解析:
https://www.bilibili.com/video/BV1of4y1m7nj?p=3

Faster RCNN源码:https://github.com/WZMIAOMIAO/deep-learning-for-image-processing

Faster RCNN网络中对图片进行预处理操作时,同时也要对边界框进行处理:

例如:比如原图水平翻转,边界框也要水平翻转


边界框水平翻转

左侧时原图片,右侧是水平翻转后的图片,水平翻转并不会改变Y值,只会改变X值。
经过水平翻转之后的右侧图片,计算左上角的Xmin值=(图片的宽度)-(Xmax);
右下角的Xmax值=(图片的宽度)-(Xmin)。

在这里插入图片描述

实现水平翻转的部分代码如下:

class RandomHorizontalFlip(object):
    """随机水平翻转图像以及bboxes"""
    #prob=0.5为翻转的概率,因为是随机的,所以概率设置为0.5
    def __init__(self, prob=0.5):
        self.prob = prob

    def __call__(self, image, target):
        if random.random() < self.prob:
            height, width = image.shape[-2:]
            image = image.flip(-1)  # 水平翻转图片
            bbox = target["boxes"]
            # bbox: xmin, ymin, xmax, ymax
            bbox[:, [0, 2]] = width - bbox[:, [2, 0]]  # 翻转对应bbox坐标信息
            target["boxes"] = bbox
        return image, target

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值