作者:AgaMiko | 编辑:Amusi
Date:2020-10-12
来源:CVer微信公众号
原文:GitHub:数据增广最全资料集锦
前言
CVer 陆续分享了GitHub上优质的AI/CV资料集锦,如图像分类、目标检测等,之前的分享详见文末。很多同学反映这个系列很棒,因此系列将继续更新。
本文将分享的内容是:数据增广(Data Augmentation)。该方向的研究一直都很热门,特别是现在仍十分依赖于数据,而且数据增广对各个应用方向的涨点都是简单粗暴的!数据扩充可以简单地描述为使我们的数据集更大的任何方法。例如,要创建更多图像,我们可以放大并保存结果,我们可以更改图像的亮度或旋转它。为了获得更大的声音数据集,我们可以尝试提高或降低音频样本的音调或放慢/加快速度。下图提供了示例数据增强技术。
Amusi 在本文要分享的就是目前最全,最新的数据增广开源项目、论文等合集。主要涉及图像、音频、自然语言处理和时序的数据增广。
数据增广
项目作者:AgaMikoAgaMiko/data-augmentation-reviewgithub.com
目录ImagesAdversarial noise
Neural Style Transfer
Generative Adversarial Networks
Random erasing
Adding rain effects, sun flare...
Image blending
Contrast shift
Brightness shift
Blurring
Channel shuffle
Rotation
Scaling
Random cropping
Reflection
Affine transformations
Elastic transformations
Advanced transformations
Neural-based transformations
AudioNoise injection
Time shift
Time stretching
Random cropping
Pitch scaling
Dynamic range compression
Simple gain
Equalization
Natural Language ProcessingThesaurus
Text Generation
Back Translation
Word Embeddings
Contextualized Word Embeddings
Voice conversion
Time Series Data AugmentationEmbedding space
GAN/Adversarial
RL/Meta-Learning
Warping
Jittering
Perturbing
Basic approaches
Advanced approches
计算机视觉(CV)数据增广的开源项目
1. albumentations:一个Python库,其中包含一组有用的,大型的和多样化的数据增广方法。它提供了30多种不同类型的增广功能,易于使用。而且,正如作者证明的那样,在大多数转换中,该库比其他库要快。
2. imgaug:另一个非常有用且广泛使用的Python库。如作者所述:它可以帮助您为机器学习项目扩充图像。它将一组输入图像转换为一组稍有变化的新的,更大的图像。它提供了许多增广技术,例如仿射变换,透视图变换,对比度变化,高斯噪声,区域丢失,色相/饱和度变化,裁剪/填充,模糊。
UDA:用于图像文件的简单数据增广工具,旨在与机器学习数据集一起使用。该工具将扫描包含图像文件的目录,并通过对找到的每个文件执行一组指定的扩充操作来生成新图像。此过程使开发神经网络时可以使用的训练示例数量成倍增加,并且应显著提高所得网络的性能,尤其是当训练示例数量相对较少时。
Data augmentation for object detection:该项目介绍了如何将数据增广方法用于目标检测任务。它们支持许多数据增广,例如水平翻转,缩放,平移,旋转,剪切,调整大小。
FMix - Understanding and Enhancing Mixed Sample Data Augmentation
Super-AND
vidaug:这个Python库可帮助您为深度学习架构扩充视频。它将输入的视频转换为一组稍有变化的新视频。
Image augmentor
torchsample:该Python软件包为Pytorch提供了高级训练,数据增广和实用程序。该工具箱提供了数据扩充方法,正则化器和其他实用功能。Compose()
AddChannel()
SwapDims()
RangeNormalize()
StdNormalize()
Slice2D()
RandomCrop()
SpecialCrop()
Pad()
RandomFlip()
Random erasing
data augmentation in C++:简单的图像增广程序可通过旋转,滑动,模糊和噪点转换输入图像,以创建图像识别的训练数据。
Data augmentation with GANs
Joint Discriminative and Generative Learning
White-Balance Emulator for Color Augmentation
DocCreator
OnlineAugment
自然语言处理(NLP)数据增广的开源项目
Contextual data augmentation:上下文扩充是用于文本分类任务的独立于域的数据扩充。通过用标签条件的双向语言模型预测的其他单词替换单词,可以增广监督数据集中的文本。
nlpaug
EDA NLP
侃侃
因为本数据增广项目涵盖的内容较多,这里不再一一介绍,比如还有CV、NLP的数据增广论文合集,语音、时序方向的项目和论文可以详见此项目。相信对你的项目会有所帮助或者有所启发。
另外强烈推荐阅读,Amusi 整理过的最全资料系列如下:
推荐大家关注计算机视觉论文速递知乎专栏和CVer微信公众号,可以快速了解到最新优质的CV论文。
推荐阅读