> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/roboflow/roboflow-jp/datasets/dataset-versions/image-augmentation.md).

# Image Augmentation

Image augmentation は、データセット内で「Train」とマークされた既存の画像に Augmentation を適用するステップです。このプロセスは、モデルの汎化能力を高め、未見の画像に対してより効果的に動作できるようにするのに役立ちます。

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

Augmentation なしでモデルの性能が良くない場合は、クラスバランス、データの表現、データセットサイズを調査する必要があるかもしれません。Augmentation なしでモデルの学習に成功したデータセットがあれば、Augmentation を追加してモデル性能のさらなる向上を図れます。
{% endhint %}

Augmentations は、いくつかの重要な理由から、学習時ではなくデータセットバージョン（「offline augmentation」）を通じて適用されます：

1. **モデルの再現性が向上します**。Roboflow では、各画像がどのように Augmentation されたかのコピーを保持できます。たとえば、暗い画像よりも明るい画像でモデルの性能が良いとわかるかもしれないため、より多くの低照度の学習データを収集すべきです。
2. **学習時間が短縮されます**。Augmentation は CPU に制約される処理です。GPU で学習しつつその場で Augmentation を行う場合、GPU は各エポックごとに CPU が拡張済みデータを提供するのを待つことがよくあります。それが積み重なります！
3. **学習コストが削減されます**。Augmentation は CPU に制約される処理であるため、高価なレンタル GPU は学習用の画像が供給されるのを待っていることがよくあります。

## Augmentations の適用方法

Augmentations は常に、学習画像に対して [前処理ステップ](/roboflow/roboflow-jp/datasets/dataset-versions/image-preprocessing.md)の後に適用されます。選択した Augmentation はまとめて重ねて適用され、Augmentation 設定と各設定の値がランダム化されて、各拡張画像に適用されます。この過程で重複として現れた画像は、作成されたバージョンから除外されます。

たとえば、「水平方向に反転」と「ソルト&ペッパーノイズ」の Augmentation を選択すると、ある画像はランダムに水平方向反転され、ランダムなソルト&ペッパーノイズが付与されます。

### Augmentation の制限

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

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

たとえば、データセットに 100 枚の画像があり、train/valid/test の分割が 70/20/10 で、3x の Augmentation を選択した場合、最終的なデータセットはおおよそ 210/20/10 の分割になります。

<figure><img src="/files/c584f7e5f4328cced68aaf5909c07c080838476d" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
最終的なバージョンの画像数は、画像を重複排除しており、「Filter Null」のような特定のオプションで出力から画像が削除されるため、この見積もりより少なくなる場合があります。
{% endhint %}

## Augmentation オプション

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

### Image Level Augmentations

Image Level Augmentations は、個々のオブジェクトや領域ではなく画像全体に変換を適用することで、新しい学習データを作成します。画像全体を変更することで、開発者はより幅広い視覚条件をシミュレートでき、新しいデータに対してモデルがより適切に汎化を学習するのに役立ちます。

### Bounding Box Level Augmentations

Bounding box level augmentation は、ソース画像のバウンディングボックスの内容だけを変更することで新しい学習データを作成します。これにより、開発者は問題の条件により適した学習データを作成するうえで、より高い制御性を得られます。

A [2019年の論文](https://arxiv.org/pdf/1906.11172.pdf) Google の研究者によるものは、モデルに最適なデータを作成するために、バウンディングボックスのみの augmentation を使うというアイデアを紹介しています。この論文では、研究者は、特に小さなデータセットで学習されたモデルにおいて、バウンディングボックスのみの変更が体系的な改善をもたらすことを示しました。

{% hint style="info" %}
Enhanced Augmentations と Bounding Box Augmentations は **premium** 機能です。

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

<table><thead><tr><th></th><th data-type="checkbox">Image Level Augmentation</th><th data-type="checkbox">Bounding Box Augmentation</th><th>Augmentation Type<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="/pages/d979490cffedf4c4f33235621e62442699d49d59">Flip Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/d6f07620af318d0b877731ad9ff97889c9b077f6">90° Rotate Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/24cf7fef1c71e2bad728a7589fe0fd725618a253">Crop Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/9316dbdf44c06e640134911710b3eea495391ccd">Rotation Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/4815810c5de432941c37f585981819382c5862f8">Shear Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/f9e02bc0a0e76a372cfccdbed028b7d3683d1984">Grayscale Augmentation</a></td><td>true</td><td>false</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/7e45905a483829909a6190448e89ad55e0ef9f7a">Hue Augmentation</a></td><td>true</td><td>false</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/36bf85cad54f83d82079463e69a39a13911e6ed7">Saturation Augmentation</a></td><td>true</td><td>false</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/49de4c10ec5e5ffd83f0766b13ad73a6fc2fb7e2">Brightness Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/5c799d0178ec36eef495c15f7049a2a126ff7115">Exposure Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/d08ceffdeead398aa21cb0cbb3aca2fd9f6d3d86">Blur Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/3b63a716b48c45c532afea15915db5edba1ede49">Noise Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/21a20629da86ed96579e02a22b09be53bd0c7eff">Camera Gain Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/8ad0793363f588db99151c671fcc9696ff1c7f0c">Motion Blur Augmentation</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">Basic</span></td></tr><tr><td><a href="/pages/fe463e5f380191057ad909416f2adbfaa58ee4d9">Cutout Augmentation</a></td><td>true</td><td>false</td><td><span data-option="Z8F06MhppTfn">Enhanced</span></td></tr><tr><td><a href="/pages/8fc7a60ce8516c28b60a16c8664e34c392605ad5">Mosaic Augmentation</a></td><td>true</td><td>false</td><td><span data-option="Z8F06MhppTfn">Enhanced</span></td></tr></tbody></table>

## Learn More

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