图像的亮度、对比度等属性对图像的影响非常大,这些因素都会影响最后的识别结构。当然,复杂的预处理过程可能会导致训练效率的下降(利用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. Linux常用监控服务器性能命令

    列举比较常用的几种监控服务器性能的Linux命令.其实,在我看来,目前针对Linux系统内存.硬盘.TCP/IP等等相关的指标,Linux本身自带的或者是一些开源项目等基本上都能达到这个获取服务器性能 ...

  2. 关于"XML 文档(2, 2)中有错误:不应有 <xml xmlns=''>"错误

    XML文件名 <?xml version="1.0" encoding="utf-8"?> <Config xmlns:xsi="h ...

  3. Segmentation fault (core dumped) 错误的一种解决场景

    错误类型 Segmentation fault (core dumped) 产生原因 Segmentation fault 段错误. Core Dump 核心转储(是操作系统在进程收到某些信号而终止运 ...

  4. sharepoint rest api Add ListItem 报错

    Recently, I was trying to create a list item using Rest API on Sharepoint 2013. I got the following ...

  5. Notes 20180505 : 计算机的基础知识

    总是想要去深入了解一下计算机,可真正去了解的时候才发现那并非一日之功,关于计算机的学习,并未放弃,但是化知识为笔记尚需时日,今日我们先简单了解一下计算机,然后开始Java语言的学习. 1 计算机的基础 ...

  6. Sql Server 部署SSIS包完成远程数据传输

    本篇介绍如何使用SSIS和作业完成自动更新目标数据任务. ** 温馨提示:如需转载本文,请注明内容出处.** 本文链接:https://www.cnblogs.com/grom/p/9018978.h ...

  7. DDL-库的管理

    一.创建库create database [if not exists] 库名[ character set 字符集名]; 二.修改库alter database 库名 character set 字 ...

  8. java基础需要掌握的内容

    一.Java的基本程序设计结构 二.对象与类 三.继承 四.接口.lambda表达式与内部类 五.异常,断言与日志 六.泛型程序设计 七.集合 八.并发(线程) 九.输入与输出(IO流) 十.网络 十 ...

  9. 底层文件I/O操作中read()函数的缓存问题

    最近在学习Linux过程中看到文件I/O操作这里时,文件I/O操作的系统调用涉及的5个函数:open(),read(),write(),lseek(),close().在一开始就阐明这些函数的特点是不 ...

  10. Ajax中异步与同步的区别

    同步可以解决,只有前一个请求结束后,当前请求才会发起.