# Image Augmentation

画像増強は、データセット内で「Train」とマークされた既存の画像に増強処理を適用する工程です。このプロセスはモデルの汎化能力を向上させ、見たことのない画像に対してより効果的に動作するのに役立ちます。

{% hint style="success" %}
プロジェクトは増強なしで開始することを推奨します。これにより、生のデータセットの品質を評価できます。増強を加えて期待どおりの性能が出なかった場合、モデル性能を比較するためのベースラインがなくなってしまいます。

増強なしでモデルの性能が良くない場合は、クラスのバランス、データ表現、データセットの規模を確認する必要があります。増強なしでモデルを正常に学習できるデータセットがある場合に、さらにモデル性能を改善するために増強を追加できます。
{% endhint %}

増強はトレーニング時ではなくデータセットバージョンを通じて（「オフライン増強」）適用されます。その理由はいくつかあります：

1. **モデルの再現性が向上する**。Roboflowでは、各画像がどのように増強されたかのコピーが残ります。たとえば、モデルが暗い画像より明るい画像でより良く動作することが分かれば、低照度のトレーニングデータをより多く収集すべきです。
2. **トレーニング時間が短くなる**。増強はCPUに依存する処理です。GPUでトレーニングを行いながらオンザフライで増強を実行すると、エポックごとにCPUが増強済みデータを用意するのをGPUが待つことになりがちです。それが積み重なります！
3. **トレーニングコストが削減される**。増強はCPU依存の処理であるため、高価なレンタルGPUがトレーニング用の画像を供給されるのを待つ時間が発生しやすくなります。

## 増強の適用方法

増強は常にトレーニング画像に対して [前処理ステップ](https://docs.roboflow.com/roboflow/roboflow-jp/datasets/dataset-versions/image-preprocessing)の後に適用されます。選択された増強は積み重ねられ、増強設定と各設定値はランダム化されて各増強画像に適用されます。この過程で重複する画像が出た場合は、作成されたバージョンから除外されます。

例えば、「左右反転」と「ソルト＆ペッパーノイズ」を選択した場合、ある画像はランダムに左右反転され、ランダムなソルト＆ペッパーノイズが付与されます。

### 増強の制限

増強を含むデータセットバージョンを作成する際、「Maximum Version Size」オプションで含める増強済み画像の最大数を選択できます。

例えば、3xを選択すると、最終データセットバージョンには各トレーニング元画像が [前処理ステップ](https://docs.roboflow.com/roboflow/roboflow-jp/datasets/dataset-versions/image-preprocessing) 適用され、選択した設定に基づく各画像のランダムな2つの増強が含まれます。

データセットに100枚の画像があり、train/valid/test を70/20/10に分割していて3x増強を選んだ場合、最終データセットはおおよそ210/20/10の分割になります。

<figure><img src="https://3740591140-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2Fgit-blob-6e1eab9e86e8e1271b32261c1f214c503ed7afc7%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
バージョンの最終的な画像数は、画像の重複排除や「Filter Null」のような特定のオプションによって出力から画像が除外されるため、この推定より小さくなることがあります。
{% endhint %}

## 増強オプション

Roboflowの増強は「Basic」または「Enhanced」のいずれかで、2つの異なるレベルで適用できます。

### 画像レベル増強

画像レベル増強は、個々の物体や領域ではなく画像全体に変換を適用して新しいトレーニングデータを作成します。画像全体を変更することで、より幅広い視覚条件をシミュレートでき、モデルが新しいデータに対してよりよく汎化することを助けます。

### バウンディングボックスレベル増強

バウンディングボックスレベル増強は、ソース画像のバウンディングボックスの内容だけを変更して新しいトレーニングデータを作成します。これにより、問題の条件により適したトレーニングデータを作成するための制御性が高まります。

A [2019年の論文](https://arxiv.org/pdf/1906.11172.pdf) Googleの研究者による論文は、バウンディングボックスのみの増強を用いてモデルにとって最適なデータを作成するというアイデアを紹介しています。この論文では、バウンディングボックスのみの修正が体系的な改善を生むこと、特に小規模データセットで適合させたモデルに効果があることが示されました。

{% hint style="info" %}
Enhanced Augmentations と Bounding Box Augmentations は **プレミアム** 機能です。

プランとそれに関連する機能の最新情報は、当社の [価格ページ](https://roboflow.com/pricing).
{% endhint %}

<table><thead><tr><th></th><th data-type="checkbox">画像レベル増強</th><th data-type="checkbox">バウンディングボックス増強</th><th>増強タイプ<select><option value="Z8F06MhppTfn" label="Enhanced" color="blue"></option><option value="sdEDfdaf9Z03" label="Basic" color="blue"></option></select></th></tr></thead><tbody><tr><td><a href="image-augmentation/augmentation-types/flip-augmentation">フリップ増強</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="image-augmentation/augmentation-types/90o-rotate-augmentation">90º回転増強</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="image-augmentation/augmentation-types/crop-augmentation">クロップ増強</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="image-augmentation/augmentation-types/rotation-augmentation">回転増強</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="image-augmentation/augmentation-types/shear-augmentation">シアー増強</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="image-augmentation/augmentation-types/grayscale-augmentation">グレースケール増強</a></td><td>true</td><td>false</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="image-augmentation/augmentation-types/hue-augmentation">色相（Hue）増強</a></td><td>true</td><td>false</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="image-augmentation/augmentation-types/saturation-augmentation">彩度（Saturation）増強</a></td><td>true</td><td>false</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="image-augmentation/augmentation-types/brightness-augmentation">明るさ（Brightness）増強</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="image-augmentation/augmentation-types/exposure-augmentation">露出（Exposure）増強</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="image-augmentation/augmentation-types/blur-augmentation">ブラー（Blur）増強</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="image-augmentation/augmentation-types/noise-augmentation">ノイズ増強</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="image-augmentation/augmentation-types/camera-gain-augmentation">カメラゲイン増強</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="image-augmentation/augmentation-types/motion-blur-augmentation">モーションブラー増強</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="image-augmentation/augmentation-types/cutout-augmentation">Cutout 増強</a></td><td>true</td><td>false</td><td><span data-option="Z8F06MhppTfn">Enhanced</span></td></tr><tr><td><a href="image-augmentation/augmentation-types/mosaic-augmentation">Mosaic 増強</a></td><td>true</td><td>false</td><td><span data-option="Z8F06MhppTfn">Enhanced</span></td></tr></tbody></table>

## 詳細を学ぶ

* [データ増強の究極ガイド](https://blog.roboflow.com/data-augmentation/)
* [物体検出のための画像増強方法](https://blog.roboflow.com/object-detection-augmentation/)
