-
awesome-mixed-sample-data-augmentation(xys:数据增广方式最近文章与代码合集)
-
mixup
目标检测中图像增强,mixup 如何操作?(同时讲解了分类中的mixup代码)
PyTorch实现mixup(其github链接中的mixup实现方式与“目标检测中图像增强,mixup 如何操作?”中类似)
pytorch官方实现
注意:mixup训练过程中,train ACC会大大低于test ACC(10%以上),因为二者的计算方法不一样。train ACC是预测值与两个目标值进行计算,而test ACC是预测值与一个目标值进行计算。(xs用mixup的pytorch官方源码,在cifar10和SIRI-WHU数据集上测试都看到啦这一现象,) -
[数据增广]–AUGMIX:A SIMPLE DATA PROCESSING METHOD TO IMPROVE ROBUSTNESS AND UNCERTA
——说是可以应对训练集与测试集分布不一致的情况,以及数据集中不可预见的损坏。 -
CVPR2020丨重新思考图像超分辨率的数据增强:综合分析和一个新的策略
论文提出了新的数据增强方法——CutBlur。它通过将低分辨率图像中的图像块裁剪并张贴在高分辨率图像中的对应位置,反之也一样。CurBlur 的关键在于让模型不仅知道如何超分,同时也知道哪里需要超分。(有源码)
细节增强
见本人另一篇博文:小波(小波包)变换 频率/频域 与 图像细节处理
远距离图像的特色增广
- 加雾
数据增强:图片加雾效果实现Python
[图像处理] 利用PerlinNoise实现图像雾化效果 - 附我的图像处理程序(三种特效)
一种对图像加雾的算法(python实现)
柏林噪声原理介绍
柏林噪声(Python)
【计算机图形】Perlin Noise 实例和理解
柏林噪声产生火焰等纹理
如何生成有趣的柏林噪声 - 游戏中随机地图的算法基础
游戏开发中的噪声算法(在分形噪声中,讲解了柏林噪声的各个参数:Octave,persistence,lacunarity)
产生柏林噪声时,有两个概念:
频率(frequencies):晶体格的边长(即采样间隔,例如频率越高,单位面积(特指二维)内的晶格数目越多,看起来噪声纹理“越密集”。)
振幅(amplitudes):返回值的幅度范围
而在地形生成中,地形可能会有大段连绵、高耸山地,也会有丘陵和蚀坑,更小点的有岩石块,甚至更小的鹅卵石块。为了模拟出这样的自然噪声特性,我们可以使用不同的参数进行多几次柏林噪声计算,然后将结果叠加在一起。
python的noise库中,有现成的2D柏林噪声noise2,具有几个参数Octaves,persistence,lacunarity。
Octaves:用于叠加的倍频(噪声图形)的组数
persistence:第i+1组倍频的幅度等于第i组倍频的幅度的persistence倍
lacunarity:第i+1组倍频的频率等于第i组倍频的频率的lacunarity倍
持续度越大,振幅越大,对于图像而言图像更加混乱,对比更加突出,能看出更多细节。
叠加每次的不同的频率是为了让图像在原有的噪声函数的基础上增加更多的细节信息。
- 过度曝光
复杂的处理 解决不均匀的过度曝光问题(与cutmix结合)
相机的测光根据暗的前景和亮的背景计算平均曝光设置。得到的图像展示了在这类照明情况下拍摄的效果。无论是前景还是背景的曝光都不正确。 让较暗的前景变亮会去掉背景中剩余的细节,而还原背景中的细节则会让主要对象只留下一个轮廓。
python opencv-批量调整图片的曝光率(gamma变换)
OpenCV使用直方图均衡,修正曝光过度和曝光不足的图片
Skimage图像处理教程3)曝光度调整
- 几何变形(几何矫正)
几何畸变的类型_halcon图像畸变 论述遥感数字图像畸变类型及其产生的原因 - 细节增强/细节模糊(降采样/引导滤波)
- 边缘增强(candy算子)
图像增强库
Augmentor和imgaug——python图像数据增强库
imgaug 之 Bounding Boxes
这个部分做object detection的人应该经常用到。
imgaug支持:
—将bounding boxes作为对象表示
—增强boundiing boxes
—在图像上画bounding boxes
—boxing boxes移动, 映射, 计算IoU
完整的文档链接: http://augmentor.readthedocs.io