机器学习笔记 - Albumentations库实现的图像增强功能一览

一、Albumentations库简介

        Albumentations库致力于用更少的数据做更多的事情。

        Albumentations 是一种计算机视觉工具,可以提高深度卷积神经网络的性能。该库广泛用于工业、深度学习研究、机器学习竞赛和开源项目。

        Albumentations 是一个用于快速灵活的图像增强的 Python 库。Albumentations 有效地实现了丰富多样的图像变换操作,这些操作针对性能进行了优化,同时为不同的计算机视觉任务(包括对象分类、分割和检测)提供了简洁而强大的图像增强接口。

        Albumentations 支持不同的计算机视觉任务,例如分类、语义分割、实例分割、对象检测和姿势估计。

         Albumentations 可以很好地处理来自不同领域的数据:照片、医学图像、卫星图像、制造和工业应用、生成对抗网络。

        Albumentations 可以与各种深度学习框架一起使用,例如PyTorch和Keras。该库是PyTorch 生态系统的一部分。 MMDetection 和YOLOv5 使用了 Albumentations。

Albumentations: fast and flexible image augmentationshttps://albumentations.ai/

二、可进行哪些图像增强

1、模糊/高级模糊

        模糊:使用随机大小的内核模糊输入图像。

        高级模糊:使用具有随机选择参数的广义正态滤波器模糊输入图像。此变换还在卷积之前将乘性噪声添加到生成的内核。

2、CLAHE

        Contrast Limited Adaptive Histogram Equalization。

        将对比度受限的自适应直方图均衡应用于输入图像。

3、CenterCrop

        裁剪输入的中心部分。

4、图像通道相关操作

        在输入图像中随机丢弃通道。

        随机重新排列输入 RGB 图像的通道。

5、CoarseDropout

        删除图像中的一些子区域

 6、随机改变图像的亮度/对比度/饱和度/gamma等

        随机改变图像的亮度、对比度和饱和度。 与来自 torchvision 的 ColorJitter 相比,这种变换给出了一些不同的结果,因为 Pillow(在 torchvision 中使用)和 OpenCV(在 Albumentations 中使用)通过不同的公式将图像转换为 HSV 格式。 另一个区别 - Pillow 使用 uint8 溢出,Albumentations 使用值饱和。

7、裁剪

        从图像中裁剪部分区域。

8、散焦变换

        应用散焦变换。 参考论文 https://arxiv.org/abs/1903.12261。

9、降采样

        通过对图像的缩放后放大,降低图像质量。

 10、弹性变换

        基于,https://gist.github.com/ernestum/601cdf56d2b424757de5

11、Emboss

        将浮雕效果应用于原图像

12、均衡图像直方图

        将均衡直方图应用于原图像

13、FancyPCA 增强 RGB 图像

        使用 Krizhevsky 的论文“ImageNet Classification with Deep Convolutional Neural Networks”中的 FancyPCA 增强 RGB 图像

14、翻转

        水平、垂直或水平和垂直翻转输入。

15、高斯噪声

        将高斯噪声应用于输入图像。

16、高斯模糊

        使用具有随机内核大小的高斯滤波器模糊输入图像。

17、毛玻璃效果

        将玻璃噪声应用于输入图像。

18、Grid Distortion

 19、ISONoise

        应用相机传感器噪声。

20、图像压缩

        减少图像的 Jpeg、WebP 压缩。

21、反转图像

        通过从 255 中减去像素值来反转输入图像。

22、运动模糊

        使用随机大小的内核将运动模糊应用于输入图像。

23、中值滤波

        使用具有随机孔径线性大小的中值滤波器模糊输入图像。

24、乘性噪声

        将图像乘以随机数或数字数组。

25、光学畸变

 26、图像边缘填充

        按指定数字用黑色填充图像边缘。

27、透视变换

        执行输入的随机四点透视变换。

28、分段仿射

        应用局部邻域之间不同的仿射变换。这种增强在图像上放置了一个规则的点网格,并通过仿射变换随机移动这些点的邻域。 这会导致局部失真。

 29、像素丢弃

        以一定的概率将像素设置为 0。

 30、色调分离

        减少每个颜色通道的位数。

 31、模拟雾化

        模拟在图像中产生雾气。

32、图像切割重组

        图像上随机洗牌网格的单元格。

33、添加下雨效果

 34、添加下雪效果

 34、修改色调

        通过操纵色调曲线来随机改变图像明暗区域之间的关系。

35、图像锐化

        锐化输入图像并将结果与原始图像叠加。

35、旋转/随机旋转/缩放/随机缩放旋转

36、有条件反转像素值

        反转高于阈值的所有像素值。

37、飞溅变换

        应用飞溅变换。 它模拟了可能以雨或泥的形式遮挡镜头的损坏。

38、超像素表示

        将图像部分/完全转换为它们的超像素表示。 此实现使用 skimage 的 SLIC 算法版本。

39、灰度化

40、棕褐色滤镜

        将棕褐色滤镜应用于输入 RGB 图像

 41、图像转置

42、Unsharp Masking

        使用 Unsharp Masking 处理锐化输入图像并将结果与原始图像叠加。

43、ZoomBlur

猜你喜欢

转载自blog.csdn.net/bashendixie5/article/details/127157361