データ拡張(CV)

Data Augmentation for Computer Vision

データ拡張(CV)とは

データ拡張(Data Augmentation)とは、既存の学習データに変換処理を加えて、見かけ上のデータ量を増やす手法です。コンピュータビジョンにおいては、限られた画像データからモデルの汎化性能を高めるための重要な技術です。過学習を防ぎ、様々な条件下での認識精度を向上させます。

表:データ拡張(CV)の要点まとめ
ひとことで言うと既存の画像を加工して、学習データを水増しする手法。
主な操作回転・反転・切り抜き・明るさ変更・ノイズ付加・Mixup。
注意点意味が変わる変換は避ける。文字認識で上下反転させるなど。

主要なデータ拡張手法

基本的なデータ拡張には、水平反転、回転、拡大縮小、切り抜き(Random Crop)、色調変換(明るさ・コントラスト・彩度・色相の変更)、ガウシアンノイズの追加などがあります。より高度な手法としては、Cutout(画像の一部をマスク)、Mixup(2枚の画像を重ね合わせ)、CutMix(画像の一部を別画像で置換)、AutoAugment(最適な拡張ポリシーを自動探索)、RandAugment(ランダムに拡張を組み合わせ)などがあります。物体検出ではモザイク拡張やColor Jitterも効果的です。

図:画像データ拡張の例
1元画像1枚貴重な不良品サンプル
▶
2回転・反転向きの違いを再現
▶
3明るさ・色を変更撮影条件の差を再現
▶
4切り抜き・拡大位置ずれに対応
▶
5数倍に増える少ない実データでも学習可

データ拡張の効果と注意点

データ拡張はモデルのロバスト性を高め、実世界の多様な条件(照明変化、視点変化、遮蔽など)への対応力を向上させます。ただし、不適切なデータ拡張は逆効果となる場合もあります。例えば、文字認識で上下反転を適用すると意味が変わってしまいます。タスクの特性を理解した上で、適切なデータ拡張戦略を設計することが重要です。