图像的亮度、对比度等属性对图像的影响非常大,这些因素都会影响最后的识别结构。当然,复杂的预处理过程可能会导致训练效率的下降(利用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. LayIM.AspNetCore Middleware 开发日记(三)基础框架搭建

    前言 在上一篇中简单讲了一些基础知识,例如Asp.Net Core Middleware 的使用,DI的简单使用以及嵌入式资源的使用方法等.本篇就是结合基础知识来构建一个基础框架出来. 那么框架有什么 ...

  2. 为什么要使用GetSafeHwnd()函数

    当我们想得到一个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数,通过下面的例子来看其理由: CWnd *pwnd = FindWindow(“ ...

  3. 结构之美——优先队列基本结构(四)——二叉堆、d堆、左式堆、斜堆

    实现优先队列结构主要是通过堆完成,主要有:二叉堆.d堆.左式堆.斜堆.二项堆.斐波那契堆.pairing 堆等. 1. 二叉堆 1.1. 定义 完全二叉树,根最小. 存储时使用层序. 1.2. 操作 ...

  4. Mysql实现主从同步

    根据网上众多参考案例,继续在VM虚拟机里实现MySQL主从同步功能.步骤如下: * 首先明确下环境 主库本地windows ip192.168.0.103 从库虚拟机mysql5.6 ip192.16 ...

  5. Oracle 执行计划的查看方式

    访问数据的方法:一.访问表的方法:1.全表扫描,2.ROWID扫描                                二.访问索引的方法:1.索引唯一性扫描,2.索引范围扫描,3.索引全扫 ...

  6. Angular7教程-06-页面与数据交互

    1. 本节说明 本节的内容会在上期搭建的框架基础上进行数据的填充,顺便回顾之前介绍过的插值表达式,属性绑定等知识,本节的数据只是在组件中模拟数据,后面会有专门的章节讲解如何从服务器获取数据. 2. 轮 ...

  7. UITextView 光标定位

    在使用UITextView的时候, 如何在光标的位置插入字符 或者 图片? 以下Demo为你解答: 应用背景:键盘自定义emoji表情 #pragma mark - KVO - (void)obser ...

  8. javascript编写的一个完整全方位轮播图效果

    1 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...

  9. MongoDB4.0在windows10下的安装与服务配置

    本地安装及网页测试 在官网下载最新的安装文件 下载地址 : https://www.mongodb.com/download-center#community 可以在MongoDB官网选择Commun ...

  10. mybatis中SQL语句运用总结

    union 连接查询  连接两个表后会过滤掉重复的值 <resultMap id="BaseResultMap" type="com.sprucetec.pay.e ...