gan 总结 数据增强_Tensorflow2 常见的数据增强方法及其实现汇总

本文介绍了数据增强在CV领域的应用,重点讲解了imgaug库,一个强大的图像增强工具,支持多种增强技术。通过示例展示了如何使用imgaug进行图像翻转、裁剪、旋转、缩放、噪声添加、模糊处理等操作。同时,讨论了监督数据增强的单样本和多样本方法,包括几何和像素变换,以及SMOTE、SamplePairing、mixup等无监督数据增强技术。
摘要由CSDN通过智能技术生成

在CV方向得模型搭建中,我们常常需要对输入得图片进行数据增强,这将会减少模型对数据的过拟合从儿提升模型的性能。在实际工程中。如工业缺陷、医疗图像等场景,我们获得的数据毕竟有限,通过数据增强来提升模型的性能是非常有用的。此时只能够依靠图像增强的方法来建立训练所需要的数据集。

数据增强主要分为监督的数据增强和无监督的数据增强方法。其中有监督的数据增强又可以分为单样本数据增强和多样本数据增强方法,无监督的数据增强分为生成新的数据和学习增强策略两个方向。

这里我们介绍一种比较强大的数据增强工具,所有你能想到的增强方法都有——imgaug。imgaug是用于机器学习实验中图像增强的库。它支持广泛的扩充技术,可以轻松地组合它们并以随机顺序或在多个CPU内核上执行它们,具有简单而强大的随机界面,不仅可以扩充图像,还可以扩充关键点/地标,边界框,热图和分段图。

imgaug安装命令:

pip install imgaug

这里先介绍常用的数据增强方法,后续介绍如何在Tensorflow2中应用这些增强方法。

具体使用方法,如下:

import cv2

import imgaug.augmenters as iaa

seq = iaa.Sequential([

iaa.Fliplr(0.5), # horizontally flip 50% of the images

])

img=cv2.imread("D:\\PycharmProjects\\my_project\\GHIM-20\\GHIM-20\\19\\19_9597.jpg")

[img_seq,]=seq(images=[img])

cv2.imshow("test",img_seq)

cv2.waitKey(0)

显示结果:

一、监督的数据增强

1.1、单样本数据增强

1.1.1、 几何空间变换

几何变换类即对图像进行几何变换,包括翻转,旋转,裁剪,变形,缩放等各类操作。

翻转

翻转包括水平翻转和垂直翻转。

iaa.Fliplr(0.5) # 左右翻转

iaa.Flipud(1) #上下翻转

剪切

裁剪图片的感兴趣区域(ROI),通常在训练的时候,会采用随机裁剪的方法。

剪切和padding

iaa.CropAndPad(px=None,

percent=None,

pad_mode='constant',

pad_cval=0,

keep_size=True,

sample_independently=True,

name=None,

deterministic=False,

random_state=None)

参数:

px: 想要crop(negative values)的或者pad(positive values)的像素点。注意与percent不能同时存在。如果是None, pixel级别的crop不会被使用。int或者int list与上面相同。如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值