基本数据增强主要包含如下方式:
1.旋转: 可通过在原图上先放大图像,然后剪切图像得到。
2.平移:先放大图像,然后水平或垂直偏移位置剪切
3.缩放:缩放图像
4.随机遮挡:对图像进行小区域遮挡
5.水平翻转:以过图像中心的竖直轴为对称轴,将左、右两边像素交换
6.颜色色差(饱和度、亮度、对比度、 锐度等)
7.噪声扰动: 对图像的每个像素RGB进行随机扰动, 常用的噪声模式是椒盐噪声和高斯噪声;


Tensorflow代码实现:
参数可根据需求进行相应调整。

# -*- coding: utf-8 -*-
"""
# 数据增强实现
"""
import tensorflow as tf
import cv2
import numpy as np
from scipy import misc
import randomdef random_rotate_image(image):interb = ['nearest','bilinear','cubic','bicubic']angle = np.random.uniform(low=-10.0, high=10.0)key = random.randint(0,3)return misc.imrotate(image, angle, interb[key])def random_occlusion(image):b_ratio = 1./10 #遮挡比例M1 = np.ones((320,250))b_H = random.randint(10,320*(1-b_ratio)-10)  b_W = random.randint(10,250*(1-b_ratio)-10)M1[b_H:int(b_H+320*b_ratio),b_W:int(b_W+250*b_ratio)] = 0M1 = np.expand_dims(M1, 2)image = image*M1image = image.astype(np.uint8)return imagedef data_augumrntation(image):image = tf.py_func(random_occlusion, [image], tf.uint8) #随机遮挡image = tf.py_func(random_rotate_image, [image], tf.uint8) #旋转ratio = [0.9,1.1] #缩放比例new_H = random.randint(320*ratio[0], 320*ratio[1])new_W = random.randint(250*ratio[0], 250*ratio[1])print(new_H,new_W)image.set_shape((320, 250,3))image = tf.image.resize_images(image,[new_H, new_W])image = tf.cast(image,tf.uint8)image = tf.image.resize_image_with_crop_or_pad(image, 320, 250 )#缩放image = tf.random_crop(image, [299, 235, 3]) #随机裁剪image = tf.image.random_flip_left_right(image)#镜像N_key = random.randint(0,10)if N_key == 8:image = tf.image.per_image_standardization(image)#标准化image = tf.cast(image, tf.float32)image = tf.minimum(255.0, tf.maximum(0.0,tf.image.random_brightness(image,25.0)))#光照image = tf.minimum(255.0, tf.maximum(0.0,tf.image.random_contrast(image,0.8,1.2)))#对比度noise = tf.random_normal((299, 235, 3), mean=0.0, stddev=1.0, dtype=tf.float32)image = tf.minimum(255.0, tf.maximum(0.0,image+noise))#随机噪声    image = tf.subtract(image,127.5)image = tf.multiply(image,0.0078125)    return imageif __name__ == '__main__':pic = r"bb.jpg"file_contents = tf.read_file(pic)image = tf.image.decode_jpeg(file_contents, dct_method="INTEGER_ACCURATE")R,G,B=tf.unstack(image, num=3, axis=2)image=tf.stack([B,G,R], axis=2) #通道转换image = data_augumrntation(image)#image = tf.cast(image,tf.uint8)sess = tf.Session()img = sess.run(image)cv2.imshow('img',img)cv2.waitKey()

原图:

增强后图像(图像做了归一化操作):


注:博众家之所长,集群英之荟萃。

数据增强——基本方法相关推荐

  1. Python PIL库处理图片常用操作,图像识别数据增强的方法

    在博客AlexNet原理及tensorflow实现训练神经网络的时候,做了数据增强,对图片的处理采用的是PIL(Python Image Library), PIL是Python常用的图像处理库. 下 ...

  2. 目标检测:python实现多种图像数据增强的方法(光照,对比度,遮挡,模糊)

    图像数据增强的内容(可根据需要自定义选择): 1.直方图均衡化 2.clahe自适应对比度直方图均衡化 3.白平衡 4.亮度增强 5.亮度,饱和度,对比度增强 6.去除图像上的高光部分 7.自适应亮度 ...

  3. NLP中数据增强的方法

    为什么使用数据增强 当在一些任务中需要大量数据,但是实际上数据量不足时,可以考虑使用数据增强的方式增加数据量 数据增强的方法 数据增强主要有两种方法: 法一:简单数据增强(Easy Data Augm ...

  4. 【Pytorch】nvidia-dali——一种加速数据增强的方法

    目的 问题: 当我们使用pytorch训练小模型或者使用较大batch size的时候会发现GPU利用率很低,训练周期比较长.其原因之一是在dataloader加载数据之后在cpu上做一些数据增强的操 ...

  5. 图片数据增强的方法——收藏

    使用cv2,numpy,PIL模块实现图像数据的数据增强. 计算机视觉中的图像增强,是人为的为视觉不变性(语义不变)引入了先验知识.数据增强也基本上成了提高模型性能的最简单.直接的方法了. 一.原图片 ...

  6. 二、深度学习数据增强方法汇总

    深度学习模型训练数据增强方法汇总 一.随机裁剪 二.RGB-->BGR通道互换 三.仿射变换(缩放) 三.随机旋转 四.对比度调整 五.随机抠图 六.bound box 中心点随机抠图 七.随机 ...

  7. 各种 AI 数据增强方法,都在这儿了

    来源 | 算法进阶 责编 | 寇雪芹 头图 | 下载于视觉中国 数据.算法.算力是人工智能发展的三要素.数据决定了Ai模型学习的上限,数据规模越大.质量越高,模型就能够拥有更好的泛化能力. 然而在实际 ...

  8. 只讲关键点之兼容100+种关键点检测数据增强方法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨DefTruth 编辑丨极市平台 本文介绍了已有的几种关键点检测数据增强的方法,将其的优缺点进行 ...

  9. AI基础:数据增强方法综述

    导语 在深度学习时代,数据的规模越大.质量越高,模型就能够拥有更好的泛化能力,数据直接决定了模型学习的上限.然而在实际工程中,采集的数据很难覆盖全部的场景,比如图像的光照条件,同一场景拍摄的图片可能由 ...

最新文章

  1. prefixspan是挖掘频繁子序列,子序列不一定是连续的,当心!!!
  2. RCNN (Regions with CNN) 目标物检测 Fast RCNN的基础
  3. Go支持自定义数据类型:使用type来定义,类似于数据类型的一个别名
  4. python每天1道面试题(3)--字符串组合
  5. 事业编前提下,在一个大单位工作好还是在一个小单位工作好?
  6. linux远程日志rsyslog服务端和客户端安装(亲测)--自定义接收日志格式
  7. 【计算机网络笔记】计算机网络五层体系结构
  8. Win10升级惹的祸,Oracle服务全没有了,怎么解决?
  9. 第七章_生成对抗网络(GAN)
  10. canvas 加载图片
  11. Python网络爬虫实训:如何下载韩寒博客文章
  12. COCO2017 test-dev评估
  13. 【STL容器讲解—栈队列】
  14. IIS PHP MYSQL出现问题_iis php mysql
  15. 百度卫士+7654联盟
  16. Android 百度离线地图下载完后调用下载好的离线包
  17. 2023税务师DA考点抢先学
  18. 辽宁丰睿佳业:抖音店铺选品注意事项有哪些?
  19. 我,28岁程序员,没想到今年找工作这么难
  20. 计算机对无人机专业的发展前景,无人机应用专业就业前景大好! 2019年4月1日,人力资源社会保...

热门文章

  1. G711(G711a+g711u)编码原理及代码
  2. C语言程序设计第五次作业——循环结构(1)
  3. LCEDA-国产PCB设计工具
  4. 中画幅相机焦距水平视角_摄影中的“中画幅”是什么?
  5. orCAD中的文本编辑框如何换行?
  6. win10打开热点的时候提示我们无法设置热点
  7. 「标签管理」使用标签管理有道云笔记资料
  8. Oracle 12c 数据库可插拔体系结构
  9. APUE编程:83---信号处理(SIGABRT信号与abort函数)
  10. Linux系统故障-MBR(主引导记录)被破坏的解决方法