图像归一化与标准化

归一化(Normalization)

一般来说用的是min-max归一化,缩放到0-1之间,即:
X i − X min ⁡ X max ⁡ − X min ⁡ \frac{X_{i}-X_{\min }}{X_{\max }-X_{\min }} XmaxXminXiXmin
对于图片来说,由于max是255,min是0,也就是直接除以255就可以完成归一化。

from skimage import io

image = io.imread('1.jpg')
image_norm = image / 255
io.imshow(image)
io.imshow(image_norm)

找张图片测试可以发现归一化前后的图片看起来是完全一样的,只是相应存储的数值不同。

在使用梯度下降法训练神经网络的时候,归一化可以加快梯度下降的求解速度,进而加快网络的收敛。

标准化(standardization)

将数据变换成均值为0,标准差为1的分布(但不一定为正态):
X i − μ σ \frac{X_{i}-\mu}{\sigma} σXiμ

一般来说最常见的是这个:

transforms.Normalize(mean = (0.485, 0.456, 0.406), std = (0.229, 0.224, 0.225))

这个是根据ImageNet数据集计算的,可以作为通用的均值和方差。和归一化不同,标准化会更改图片的观感。

标准化能够使得数据的分布更加均匀,减少模型学到数据分布的可能性,提升模型的泛化能力。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值