轉載自公眾號:表哥有話講
作者:AgaMiko | 編輯:Amusi
前言
CVer 陸續分享了GitHub上優質的AI/CV資料集錦,如圖像分類、目標檢測等,之前的分享詳見文末。很多同學反映這個系列很棒,因此系列將繼續更新。
本文將分享的內容是:數據增廣(Data Augmentation)。該方向的研究一直都很熱門,特別是現在仍十分依賴於數據,而且數據增廣對各個應用方向的漲點都是簡單粗暴的!
數據擴充可以簡單地描述為使我們的數據集更大的任何方法。例如,要創建更多圖像,我們可以放大並保存結果,我們可以更改圖像的亮度或旋轉它。為了獲得更大的聲音數據集,我們可以嘗試提高或降低音頻樣本的音調或放慢/加快速度。下圖提供了示例數據增強技術。
Amusi 在本文要分享的就是目前最全,最新的數據增廣開源項目、論文等合集。主要涉及圖像、音頻、自然語言處理和時序的數據增廣。
數據增廣
項目作者:AgaMiko
https://github.com/AgaMiko/data-augmentation-review
目錄
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
Embedding space
GAN/Adversarial
RL/Meta-Learning
Warping
Jittering
Perturbing
Basic approaches
Advanced approches
計算機視覺(CV)數據增廣的開源項目
1. albumentations:一個Python庫,其中包含一組有用的,大型的和多樣化的數據增廣方法。它提供了30多種不同類型的增廣功能,易於使用。而且,正如作者證明的那樣,在大多數轉換中,該庫比其他庫要快。
https://github.com/albu/albumentations
2. imgaug:另一個非常有用且廣泛使用的Python庫。如作者所述:它可以幫助您為機器學習項目擴充圖像。它將一組輸入圖像轉換為一組稍有變化的新的,更大的圖像。它提供了許多增廣技術,例如仿射變換,透視圖變換,對比度變化,高斯噪聲,區域丟失,色相/飽和度變化,裁剪/填充,模糊。
https://github.com/aleju/imgaug
UDA:用於圖像文件的簡單數據增廣工具,旨在與機器學習數據集一起使用。該工具將掃描包含圖像文件的目錄,並通過對找到的每個文件執行一組指定的擴充操作來生成新圖像。此過程使開發神經網絡時可以使用的訓練示例數量成倍增加,並且應顯著提高所得網絡的性能,尤其是當訓練示例數量相對較少時。
https://github.com/google-research/uda
Data augmentation for object detection:該項目介紹了如何將數據增廣方法用於目標檢測任務。它們支持許多數據增廣,例如水平翻轉,縮放,平移,旋轉,剪切,調整大小。https://github.com/Paperspace/DataAugmentationForObjectDetection
https://github.com/ecs-vlc/FMix
Super-AND
https://github.com/super-AND/super-AND
vidaug:這個Python庫可幫助您為深度學習架構擴充視頻。它將輸入的視頻轉換為一組稍有變化的新視頻。
https://github.com/okankop/vidaug
Image augmentor
https://github.com/codebox/image_augmentor
torchsample:該Python軟體包為Pytorch提供了高級訓練,數據增廣和實用程序。該工具箱提供了數據擴充方法,正則化器和其他實用功能。
https://github.com/ncullen93/torchsample
Compose()
AddChannel()
SwapDims()
RangeNormalize()
StdNormalize()
Slice2D()
RandomCrop()
SpecialCrop()
Pad()
RandomFlip()
Random erasing
https://github.com/zhunzhong07/Random-Erasing
data augmentation in C++:簡單的圖像增廣程序可通過旋轉,滑動,模糊和噪點轉換輸入圖像,以創建圖像識別的訓練數據。
https://github.com/takmin/DataAugmentation
https://github.com/NVlabs/DG-Net
White-Balance Emulator for Color Augmentation
https://github.com/mahmoudnafifi/WB_color_augmenter
DocCreator
https://github.com/DocCreator/DocCreator
OnlineAugment
https://github.com/zhiqiangdon/online-augment
自然語言處理(NLP)數據增廣的開源項目
Contextual data augmentation:上下文擴充是用於文本分類任務的獨立於域的數據擴充。通過用標籤條件的雙向語言模型預測的其他單詞替換單詞,可以增廣監督數據集中的文本。
https://github.com/pfnet-research/contextual_augmentation
nlpaug
https://github.com/makcedward/nlpaug
EDA NLP
https://github.com/jasonwei20/eda_nlp
侃侃
因為本數據增廣項目涵蓋的內容較多,這裡不再一一介紹,比如還有CV、NLP的數據增廣論文合集,語音、時序方向的項目和論文可以詳見此項目。相信對你的項目會有所幫助或者有所啟發。
下載1:四件套
在機器學習算法與自然語言處理公眾號後臺回復「四件套」,
即可獲取學習TensorFlow,Pytorch,機器學習,深度學習四件套!
下載2:倉庫地址共享
在機器學習算法與自然語言處理公眾號後臺回復「代碼」,
即可獲取195篇NAACL+295篇ACL2019有代碼開源的論文。開源地址如下:https://github.com/yizhen20133868/NLP-Conferences-Code
重磅!機器學習算法與自然語言處理交流群已正式成立!
群內有大量資源,歡迎大家進群學習!
額外贈送福利資源!深度學習與神經網絡,pytorch官方中文教程,利用Python進行數據分析,機器學習學習筆記,pandas官方文檔中文版,effective java(中文版)等20項福利資源
獲取方式:進入群後點開群公告即可領取下載連結
注意:請大家添加時修改備註為 [學校/公司 + 姓名 + 方向]
例如 —— 哈工大+張三+對話系統。
號主,微商請自覺繞道。謝謝!
推薦閱讀:
工業界求解NER問題的12條黃金法則
三步搞定機器學習核心:矩陣求導
神經網絡中的蒸餾技術,從Softmax開始說起