一文读懂图像数据的标准化与归一化

深度学习训练-详解图像数据标准化与归一化

使用深度学习在进行图像分类或者对象检测时候,首先需要对图像做数据预处理,最常见的对图像预处理方法有两种,正常白化处理又叫图像标准化处理,另外一种方法叫做归一化处理,下面就详细的说一下这两种处理方法。

一:图像标准化处理

标准化处理的公式如下:在这里插入图片描述
tensorflow中对图像标准化预处理的API函数如下:

tf.image.per_image_standardization(image)

  1. image 参数表示一个三维的张量(tensor) 分别对应图像高、宽、通道数目(height, width, channels)
  2. 函数返回处理以后的图像,大小与通道数目与原图像保持一致。使用opencv+tensorflow对图像进行标准化处理的代码演示如下:
import tensorflow as tf
import cv2 as cv
image = cv.imread("D:/javaopencv/dahlia_4.jpg")
cv.imshow("input", image)
std_image = tf.image.per_image_standardization(image)
with tf.Session() as sess:
result = sess.run(std_image)
print(result)
cv.imshow("result", result)
cv.waitKey(0)
cv.destroyAllWindows()

运行结果:
在这里插入图片描述
解释
图像标准化是将数据通过去均值实现中心化的处理,根据凸优化理论与数据概率分布相关知识,数据中心化符合数据分布规律,更容易取得训练之后的泛化效果, 数据标准化是数据预处理的常见方法之一

二:图像归一化处理

归一化(Normalization):归一化的目标是找到某种映射关系,将原数据映射到[a,b]区间上。一般a,b会取[−1,1],[0,1]这些组合。

一般有两种应用场景:
1、把数变为(0, 1)之间的小数
2、把有量纲的数转化为无量纲的数

图像归一化最常见的就是最大最小值归一化方法,公式如下:
在这里插入图片描述
OpenCV中实现图像最大与最小值归一化的函数如下:

normalize(
src, // 表示输入图像, numpy类型
dst, // 表示归一化之后图像, numpy类型
alpha=None, // 归一化中低值 min
beta=None, // 归一化中的高值max
norm_type=None, // 归一化方法,选择最大最小值归一化 NORM_MINMAX,
dtype=None, // 归一化之后numpy数据类型,一般选择cv.CV_32F
mask=None //遮罩层,默认设置为None

基于OpenCV实现图像最大最小值归一化的代码演示如下:

image = cv.imread("D:/javaopencv/dahlia_4.jpg")
cv.imshow("input", image)
result = np.zeros(image.shape, dtype=np.float32)
cv.normalize(image, result, alpha=0, beta=1, norm_type=cv.NORM_MINMAX, dtype=cv.CV_32F)
print(result)
cv.imshow("norm", np.uint8(result*255.0))
cv.waitKey(0)
cv.destroyAllWindows()

原图像素值输出
在这里插入图片描述

归一化之后像素值:
在这里插入图片描述
解释
原图与归一化之后的运行结果完全一致,说明归一化不会改变图像本身的信息存储,但是通过打印出来的像素值可以发现,取值范围从0~255已经转化为0~1之间了,这个对于后续的神经网络或者卷积神经网络处理有很大的好处,tensorflow官方给出mnist数据集,全部采用了归一化之后的结果作为输入图像数据来演示神经网络与卷积神经网络。

归一化和标准化的区别:
归一化的缩放是“拍扁”统一到区间(仅由极值决定),而标准化的缩放是更加“弹性”和“动态”的,和整体样本的分布有很大的关系。

值得注意
归一化:缩放仅仅跟最大、最小值的差别有关。
标准化:缩放和每个点都有关系,通过方差(variance)体现出来。与归一化对比,标准化中所有数据点都有贡献(通过均值和标准差造成影响)。

为什么要标准化和归一化?
提升模型精度:归一化后,不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。
加速模型收敛:标准化后,最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解。如下图所示:
在这里插入图片描述

  • 14
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值