图像的亮度、对比度等属性对图像的影响非常大,这些因素都会影响最后的识别结构。当然,复杂的预处理过程可能会导致训练效率的下降(利用TensorFlow中多线程处理输入数据的解决方案)。

同一不同的原始数据格式-----TFRecord格式

TensorFlow图像处理函数:图像编码处理 img_data=tf.image.decode_jpeg(image_raw_data)    (RGB色彩模式的图像看做是一个三维矩阵,矩阵的每个数表示了图像上不同位置,不同颜色的亮度,然而图像在存储时并不是直接记录这些矩阵中的数字,而是记录压缩编码之后的结果,所以要将一张图像还原成一个三维矩阵,需要解码的过程)

图像大小调整resized=tf.image.resize_images(img_data,[300,300],method=0)(0:双线性插值法 1:最近邻居法 2:双三次插值法 3:面积插值法)(图像的大小时不固定的,但神经网络输入节点的个数是固定的,因此将图像的像素作为输入提供给神经网络之前,需要将图像的大小统一)

图像裁剪和填充:   tf.image.resize_image_with_crop_or_pad(img_data,1000,1000)

通过比例调整图像大小:tf.image.central_crop(img_data,05),  此外,TensorFlow提供tf.image.crop_to_bounding_box与tf.image.pad_to_bounding_box来裁剪或者填充特定区域的图像

图像翻转:图像上下翻转tf.image.flip_up_down(img_data) , 图像左右翻转tf.image.flip_left_down(img_data) 图像沿对角线翻转 tf.image.transpose_image(img_data)  (通过随机翻转训练图像的方式可以在零成本的情况下很大程度缓解训练出来的模型不能识别因物体角度,位置不同,而识别不出的问题)

tf.image.random_flip_up_down(img_data)  以一定概率上下翻转图像

图像色彩调整:(随机调整训练图像的亮度,对比度,饱和度和色相,从而使得训练得到的模型尽可能小地收到无关因素的影响)(tf.image.adjust_brightness(img_data,-0.5)

tf.image.random_brightness(image,max_delta  在[-max_delta,max_delta]范围随机调整图像的亮度

tf.image.random_contrast(image,lower,upper))

调整色相:tf.image.adjust_hue(img_data,0.1)

调整饱和度:tf.image.adjust_suturation(img_data,-5)

完成图像标准化:将图像上的亮度均值变为0,方差为1(tf.image.per_image_whitening(img_data)

添加标注框:

TensorFlow深度学习实战---图像数据处理的更多相关文章

  1. TensorFlow深度学习实战---图像识别与卷积神经网络

    全连接层网络结构:神经网络每两层之间的所有结点都是有边相连的. 卷积神经网络:1.输入层 2.卷积层:将神经网络中的每一个小块进行更加深入地分析从而得到抽象程度更高的特征. 3 池化层:可以认为将一张 ...

  2. TensorFlow深度学习实战---循环神经网络

    循环神经网络(recurrent neural network,RNN)-------------------------重要结构(长短时记忆网络( long short-term memory,LS ...

  3. TensorFlow深度学习实战---MNIST数字识别问题

    1.滑动平均模型: 用途:用于控制变量的更新幅度,使得模型在训练初期参数更新较快,在接近最优值处参数更新较慢,幅度较小 方式:主要通过不断更新衰减率来控制变量的更新幅度. 衰减率计算公式 : deca ...

  4. TensorFlow 2.0 深度学习实战 —— 浅谈卷积神经网络 CNN

    前言 上一章为大家介绍过深度学习的基础和多层感知机 MLP 的应用,本章开始将深入讲解卷积神经网络的实用场景.卷积神经网络 CNN(Convolutional Neural Networks,Conv ...

  5. tensorflow学习笔记——图像数据处理

    喜欢摄影的盆友都知道图像的亮度,对比度等属性对图像的影响是非常大的,相同物体在不同亮度,对比度下差别非常大.然而在很多图像识别问题中,这些因素都不应该影响最后的结果.所以本文将学习如何对图像数据进行预 ...

  6. TensorFlow深度学习基础与应用实战高清视频教程

    TensorFlow深度学习基础与应用实战高清视频教程,适合Python C++ C#视觉应用开发者,基于TensorFlow深度学习框架,讲解TensorFlow基础.图像分类.目标检测训练与测试以 ...

  7. 『深度应用』NLP机器翻译深度学习实战课程·壹(RNN base)

    深度学习用的有一年多了,最近开始NLP自然处理方面的研发.刚好趁着这个机会写一系列NLP机器翻译深度学习实战课程. 本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内容:(更新 ...

  8. TensorFlow深度学习!构建神经网络预测股票价格!⛵

    作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 TensorFlow 实战系列:https://www.showmeai ...

  9. (转) TensorFlow深度学习,一篇文章就够了

    TensorFlow深度学习,一篇文章就够了 2016/09/22 · IT技术 · TensorFlow, 深度学习 分享到:6   原文出处: 我爱计算机 (@tobe迪豪 )    作者: 陈迪 ...

随机推荐

  1. jQuery 表单元素取值与赋值方法总结

    一.普通文本框的赋值与取值 1.1.1赋值 <h2>jQuery 表单元素取值与赋值方法总结</h2> <input type="text" clas ...

  2. .NET Core中基类可以反射子类的成员

    我们定义一个类DemoA,再定义一个类DemoB继承DemoA.当构造一个DemoB类对象后,我们可以通过其调用基类DemoA中的方法来反射子类DemoB的成员. 新建一个.NET Core控制台项目 ...

  3. 在Eclipse中执行、配置Hadoop

    版权全部: zhe-jiang.he@hp.com  严禁转载! 1.安装插件 准备程序: eclipse-3.3.2(这个版本号的插件仅仅能用这个版本号的eclipse) hadoop-0.20.2 ...

  4. Apache2.4.34 + php 7.28 + MySQL8.0.12 安装及配置

    服务端的学习 Apache2.4.34 的安装及配置 1.基本安装 最新的 Apache 已经不提供 Windows 的安装版本,所以我们这里使用的是解压版 -下载地址:https://www.apa ...

  5. 关于如何解决bootstrap table 列 切换 刷新 高度不一样

    在使用bootstrap table时候,碰到bootstrap table 列 切换 刷新 高度不一样的问题,如图所示: 解决这个问题很简单,在你的页头加一句<!DOCTYPE html> ...

  6. 浅谈spj

    SPJ(special judge)是个好玩的东西,毕竟各类神奇的题目SPJ经常作为救火工具(比如说一不小心出成验证类的题目). 但SPJ是个坑,毕竟只让用个“testlib.h”,输入还特别奇怪.今 ...

  7. JQuery简单总结(思维导图)

  8. Jquery实现表单动态加减、ajax表单提交

    一直在搞Java后台开发,记得刚工作那一两年时间搞过前后端交互开发,用的东西也是五花八门,当时觉得做页面展示给别人看,是很有成就的事情,不过现在感觉自己跟纯前端开发比起来弱爆了,不过如果你的目标是作为 ...

  9. 快速提高谷歌浏览器(Chrome)自带下载器的网速

    之前每次下载东西都是复制好下载链接到迅雷中下载,会提高成倍网速,但是时间一长,感觉不方便,废话不多说,上干货~ 由于中国防火墙(GFW)的强大,在线下载Google浏览器的时候速度非常慢,如果只是单独 ...

  10. vue-nuxt.js部署到宝塔主机服务器

    废话不多说,直接上步骤,如下: 本文章为在 vue环境下使用了nuxt.js 1.搭建环境--由于本人安装的是宝塔主机,因此如下: 由于我直接使用的是宝塔主机,直接去“软件管理”安装 PM2管理器. ...