一文读懂图像数据的标准化与归一化 您所在的位置:网站首页 相机像素映射有什么用途 一文读懂图像数据的标准化与归一化

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

#一文读懂图像数据的标准化与归一化| 来源: 网络整理| 查看: 265

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

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

一:图像标准化处理

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

tf.image.per_image_standardization(image)

image 参数表示一个三维的张量(tensor) 分别对应图像高、宽、通道数目(height, width, channels)函数返回处理以后的图像,大小与通道数目与原图像保持一致。使用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)体现出来。与归一化对比,标准化中所有数据点都有贡献(通过均值和标准差造成影响)。

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有