使用深度学习进行图像分类或者图像检测时,首先需要对图像进行数据预处理,常见的对图像的预处理有两种办法,一种是正常白化处理又叫图像标准化处理,另一种是归一化处理。
一、图像的标准化处理
图像的标准化处理:
tf.image.per_image_standardization()

纠正:上面的σ表示的是所有像素值的标准差。
目的:Linearly scales each image in image to have mean 0 and variance 1。即将图像中的像素值调整成均值为0,方差为1的分布。
Returns:
A Tensor with same shape and dtype as image
解释:图像标准化是将数据通过去均值,实现中心化,根据凸优化理论和数据概率分布的相关知识,数据中心化符合数据分布规律,更容易取得训练之后的泛化效果,数据标准化是数据常见的处理方法之一。
代码示例:

import tensorflow as tf
import matplotlib.image as img
import matplotlib.pyplot as pltsess=tf.InteractiveSession()
image=img.imread("E:/data/test_img/史努比.jpg")
shape=tf.shape(image).eval()       # 读取图片的大小
h,w=shape[0],shape[1]
standardization_img=tf.image.per_image_standardization(image)      # 图片标准化fig=plt.figure()  # 设置3个画布
fig1=plt.figure()
fig2=plt.figure()ax=fig.add_subplot(111)
ax.set_title("original image")
ax.imshow(image)ax2=fig2.add_subplot(111)
ax2.set_title("standardization image")
ax2.imshow(standardization_img.eval())ax1=fig1.add_subplot(311)
ax1.set_title("original hist")
ax1.hist(sess.run(tf.reshape(image,[h*w,-1])))    # matplotlib.pyplot.figure.hist函数用来画直方图,数据值-出现的频次ax1=fig1.add_subplot(313)
ax1.set_title("standardization hist")
ax1.hist(sess.run(tf.reshape(standardization_img,[h*w,-1])))plt.ion()
plt.show()
plt.pause(0)

运行结果:


从上面的直方图可以看到图像中的像素值经过标准化之后的分布没有改变,变的只是其值大小。

二、图像的归一化处理
图像归一化最常见的就是最大最小值归一化处理,计算公式如图:

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

图像数据的标准化与归一化相关推荐

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

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

  2. python 归一化_数据的标准化和归一化

    数据的标准化 归一化 归一化的目标 归一化的好处 归一化的方法 无量纲表达式 为什么要对数据进行归一化处理 常见的数据归一化方法 Python归一化处理方法 数据的标准化 数据的标准化(normali ...

  3. [机器学习] 数据特征 标准化和归一化

    一.标准化/归一化定义 归一化和标准化经常被搞混,程度还比较严重,非常干扰大家的理解.为了方便后续的讨论,必须先明确二者的定义. 归一化 就是将训练集中某一列数值特征(假设是第i列)的值缩放到0和1之 ...

  4. 影像组学视频学习笔记(19)-数据标准化、归一化极简概述、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(19)主要介绍: 数据的标准化.归一化 为什么要进行标准化.归一化? 机器学习算法的要求 便于横向比较 # 标准化 (影像组学中最常用) ...

  5. 标准化和归一化,请勿混为一谈,透彻理解数据变换

    标准化与归一化 1.标准化(Standardization)和归一化(Normalization)概念 1.1.定义 1.2.联系和差异 一.联系 二.差异 1.3.标准化和归一化的多种方式 2.标准 ...

  6. 【ML】什么是数据标准化和归一化?应用场景是什么?

    最近在为找工作备战,看了很多博客,总结机器学习中一些基础的知识. 什么是数据的标准化和归一化?在CSDN和知乎上有很多大佬做出了回答,看了有的人的回答,感觉会把自己气晕,完全是浪费时间并且误人子弟. ...

  7. 规范化、标准化、归一化、正则化

    规范化: 针对数据库 规范化把关系满足的规范要求分为几级,满足要求最低的是第一范式(1NF),再来是第二范式.第三范式.BC范式和4NF.5NF等等,范数的等级越高,满足的约束集条件越严格. 针对数据 ...

  8. 不能不用也不可乱用的标准化和归一化处理

    今天这篇还是讲特征工程那一堆事,准确点说是数据预处理范畴内的,在做PCA降维时,我发现利用方差过滤出的主成分和利用PCA降维得到的主成分对应位置的方差有些不同: VarianceThreshold:[ ...

  9. 标准化、归一化、中心化

    标准化.归一化.中心化 数据分析及挖掘中常提到的几个概念(数据的 标准化.归一化.中心化),虽然经常在用,但可能还是有一些比较生僻的知识容易搞混淆,所以在十月国庆大家都出门上高速堵车的时候抽了点时间对 ...

最新文章

  1. 怎么查看atcoder的数据_多表数据联动查看,怎么做?
  2. mysql qps如何查看_一款查看mysql QPS的脚本
  3. 【转】JPA、Hibernate和Mybatis区别和总结
  4. 作为研究生/博士生导师招收的第一个学生是一种怎样的体验?
  5. scrapy.Request使用meta传递数据,以及deepcopy的使用
  6. 了解架构设计远远不够!一文拆解 Tomcat 高并发原理与性能调优
  7. C# 图片exif信息
  8. 计算机基础知识贾辉,《计算机基础知识》读后感
  9. 安卓微信自动抢红包插件优化和实现
  10. 免费高效的WhatsApp助手
  11. MBP清除NVRAM和PRAM
  12. 计算机硬件性能及瓶颈,如何让自己的电脑没有瓶颈+硬件基础知识普及
  13. QEMU虚拟机源码分析概论
  14. Leetcode——第108题
  15. 7-9 剥洋葱 (15 分)
  16. 如何使用 Python 检测和识别车牌(附 Python 代码)
  17. strstr函数用法小结
  18. 基于MATLAB实现ECG心电信号处理
  19. 小程序指定页面二维码生成
  20. 2021年国内高校教职,求职过程和结果如何?

热门文章

  1. python namedtuple用法_详解Python中namedtuple的使用
  2. 最简单网站视频加速方法
  3. 空洞卷积感受野的正确计算方法
  4. 深度学习模型的Android部署方法
  5. BITCS2016程序设计 | 9. 一夜发白 《千字文》
  6. 开源正弦波20kHz信号发生器电路分析
  7. Fiddler抓包:详解Fiddler抓包工具软件使用教程
  8. 谷雨主题的微信公众号图文排版有哪些技巧?
  9. 基于php的开题报告,基于php的微信web应用开发开题报告.doc
  10. 《程序员健康指南》阅读笔记