数据增强就是让一张图片变得更加多样,本质上是一个东西但由于不同的图像处理方式使得略有不同。通过寻找这些样本中的相似特征来放入神经网络训练提高网络的鲁棒性,降低各方面额外因素对识别的影响,解决模型过拟合。
目标检测中的图像增强
PS:在目标检测的数据增强的过程中,还要考虑图片扭曲后框(box)的位置,即框出要识别的物体。
绿色的模型十分僵硬,无法忽视微小的扰动。
黑色的模型虽然正确率稍低,但可以反映红蓝点位置分布的主要特征。
获得合适的模型需要大量数据。数据增强是人工扩张数据集的一种方法,用来解决数据较少的情况,让有限的数据产生更多有价值的数据。
数据增强方法
首先导入import工具包
from PIL import Image,ImageEnhance,ImageChops
import numpy as
np
import random
然后打开原始图片
def open_img(image):
return Image.open(image,mode="r")
img_name = 'img/test.jpg'
img = open_img(img_name)
img.show()
几何变化
对图像进行反转、修剪、旋转、平移。
旋转变化
平移变换
随机修剪
图片翻转
色域变化
改变RGB、对比度、亮度等。锐化和模糊的处理、随意擦除一块的像素值或是将几张图片融合在一起。
对比度增强
亮度增强
色彩抖动
色彩抖动即运用一些随即因子对图片的饱和度、亮度、对比度、锐度等进行随机调整。
噪声扰动
对图像进行高斯噪声处理。
注意要讲图像转化为数组,再将数组改为读写模式。因为如果不改为读写模式,无法对图像的RGB通道进行改值。
参考博文:
睿智的目标检测-番外篇——数据增强在目标检测中的应用(数据增强代码的参数解读).
深度学习之【数据增强】python代码详细介绍.