深度学习图像预处理 保持原尺寸比例

深度学习图像预处理:保持尺寸比例的填充技术
在深度学习中,当预训练模型的输入尺寸与实际图像不符时,需要进行图像填充以保持比例。本文介绍了使用CV2和PIL库实现保持原图像比例的填充方法,确保填充部分的网络输入值为0。预处理步骤包括将图像归一化到(-1, 1)区间,并进行相应填充。" 127743693,13980606,Squid代理服务器配置及缓存原理,"['前端', '缓存', '服务器']

在迁移学习的时候,如果pre-trained model的输入图像比例与我们需要输入的图像比例相差加大时就需要对原图像进行padding操作。
关键思想:保持现有图像数据的尺寸比例不变,对其余部分按照网路输入预处理格式进行填充,使得此paddig部分对应网络输入0。

比如,原图像除以255,减0.5,乘以2,即映射到(-1,1)区间的预处理操作,我们能就需要填充int(256/2)左右的值,使得网络对应的输入数值为0。

CV2实现

import cv2
import numpy as np

def image_preporcess(image, target_size):

    # resize 尺寸
    ih, iw = target_size
    # 原始图片尺寸
    h,  w, _ = image.shape

    # 计算缩放后图片尺寸
    scale = min(iw/w, ih/h)
    nw, nh = int(scale * w), int(scale 
深度学习中的卷积神经网络(Convolutional Neural Networks, CNN)在图像处理领域中发挥着核心作用,其对输入图像进行预处理是提高模型性能的关键步骤。图像预处理包括以下几个主要环节: 1. **图像缩放**:确保所有图像具有相同的尺寸,以便网络可以接收标准化的输入。这可能涉及调整分辨率、填充或裁剪。 2. **归一化**:将像素值范围缩放到[0,1]或[-1,1]之间,以减少训练过程中的梯度消失或爆炸问题,并加速收敛。 3. **灰度化**:如果图是彩色的,可能会将其转换为灰度,以便于处理和提取更简洁的特征。 4. **数据增强**:随机应用旋转、翻转、平移、缩放等变换,增加样本多样性,防止过拟合并提高模型泛化能力。 5. **色彩空间转换**:如从RGB转换到Lab或HSV,有时能揭示不同的特征信息。 6. **噪声去除**:用滤波器如高斯滤波器去除图像中的噪声,提高模型对清晰细节的关注。 7. **裁剪或填充**:针对特定任务,可能需要只保留感兴趣区域,或者在边缘添加零填充以保持固定大小。 8. **标准化**:对于某些层,如卷积层,可能还需要进行通道(深度)标准化,确保每个通道的数据分布相似。 9. **图像划分**:将图像划分为多个小块(如在ImageNet数据集中使用的224x224大小),用于CNN中的局部感受野。 预处理效果好坏直接影响模型的最终性能,因此每个步骤都应根据具体任务和数据集的特点进行适当选择和调整。如果你需要了解某一步骤的详细实现,或者有其他问题,请告诉我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值