深度学习预处理不同尺寸的图像的方法

代码源自mask-rcnn模型,github地址如下:https://github.com/multimodallearning/pytorch-mask-rcnn/blob/809abba590db89779ac02c42286135f18ea08b53/utils.py#L270

需要将图像处理成正方形,代码如下:

def resize_image(image, min_dim=None, max_dim=None, padding=False):
    h, w = image.shape[:2]
    window = (0, 0, h, w)
    scale = 1

    # Scale?
    if min_dim:
        # Scale up but not down
        scale = max(1, min_dim / min(h, w))
    # Does it exceed max dim?
    if max_dim:
        image_max = max(h, w)
        if round(image_max * scale) > max_dim:
            scale = max_dim / image_max
    # Resize image and mask
    if scale != 1:
        image = scipy.misc.imresize(
            image, (round(h * scale), round(w * scale)))
    # Need padding?
    if padding:
        # Get new height and width
        h, w = image.shape[:2]
        top_pad = (max_dim - h) // 2
        bottom_pad = max_dim - h - top_pad
        left_pad = (max_dim - w) // 2
        right_pad = max_dim - w - left_pad
        padding = [(top_pad, bottom_pad), (left_pad, right_pad), (0, 0)]
        image = np.pad(image, padding, mode='constant', constant_values=0)
        window = (top_pad, left_pad, h + top_pad, w + left_pad)
    return image, window, scale, padding

针对不同尺寸的图像,直接将原始图像作为输入,并将batchsize设置为1,然后使用梯度累积变相扩充batchsize,不过我试过这种方法效果不是很好。下次试试上面这个resize将原图变成正方形,观察其效果如何

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
深度学习图像预处理是指在将图像输入深度学习模型之前对图像进行一系列的处理操作,以提高模型的性能和效果。以下是一些常用的深度学习图像预处理方法及其作用: 1. 图像缩放:将图像尺寸调整为模型所需的输入尺寸。这可以避免模型因为输入尺寸不匹配而无法正常工作。 2. 图像裁剪:根据目标任务的需求,对图像进行裁剪,以提取感兴趣的区域或去除无关的背景。这有助于减少噪声和冗余信息,提高模型的鲁棒性和泛化能力。 3. 图像旋转和翻转:通过旋转和翻转图像,可以增加数据的多样性,提高模型的鲁棒性和泛化能力。例如,对于物体识别任务,可以通过旋转和翻转来模拟不同角度和视角下的物体。 4. 图像归一化:将图像的像素值进行归一化处理,使其落在一个特定的范围内(例如0到1或-1到1)。这有助于加速模型的训练过程,并提高模型对光照和颜色变化的鲁棒性。 5. 图像增强:通过应用一系列的图像增强技术,如亮度调整、对比度增强、颜色平衡等,可以增加图像的清晰度和对比度,提高模型的性能和效果。 6. 数据增强:通过对图像进行随机变换,如平移、旋转、缩放、剪切等,可以生成更多的训练样本,增加数据的多样性,提高模型的泛化能力。 7. 图像去噪:通过应用去噪算法,如高斯滤波、中值滤波等,可以减少图像中的噪声,提高模型对细节的感知能力。 8. 图像标准化:对图像进行标准化处理,使其具有相似的统计特性。这有助于加速模型的训练过程,并提高模型的收敛性和稳定性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值