1. 程式人生 > >【轉】data augmentation 資料增強方法總結

【轉】data augmentation 資料增強方法總結

1、問題描述

收集資料準備微調深度學習模型時,經常會遇到某些分類資料嚴重不足的情況,另外資料集過小容易造成模型的過擬合。

本文參考一些網友對於資料增強方法的一些tips,後續會附上自己實現的C++程式碼;

2、data augmentation常用方法

  • Color Jittering:對顏色的資料增強:影象亮度、飽和度、對比度變化(此處對色彩抖動的理解不知是否得當);
  • PCA Jittering:首先按照RGB三個顏色通道計算均值和標準差,再在整個訓練集上計算協方差矩陣,進行特徵分解,得到特徵向量和特徵值,用來做PCA Jittering;
  • Random Scale:尺度變換;
  • Random Crop:採用隨機影象差值方式,對影象進行裁剪、縮放;包括Scale Jittering方法(VGG及ResNet模型使用)或者尺度和長寬比增強變換;
  • Horizontal/Vertical Flip:水平/垂直翻轉;
  • Shift:平移變換;
  • Rotation/Reflection:旋轉/仿射變換;
  • Noise:高斯噪聲、模糊處理;
  • Label shuffle:類別不平衡資料的增廣,參見海康威視ILSVRC2016的report;另外,文中提出了一種Supervised Data Augmentation方法,有興趣的朋友的可以動手實驗下。

參考: