> 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/datasets/ja/bjon/dataset-versions/image-augmentation.md).

# 画像拡張

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

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

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

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

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

## 拡張の適用方法

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

たとえば、「水平方向に反転」と「塩胡椒ノイズ」を拡張として選択した場合、特定の画像はランダムに水平方向反転として反映され、ランダムな塩胡椒ノイズが付加されます。

### 拡張の制限

拡張を含むデータセットバージョンを作成する際、「最大バージョンサイズ」オプションから含める拡張画像の最大数を選択できます。

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

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

<figure><img src="/files/4a88904f7641bf1b419b22ef170a483fdfab5c79" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
最終的な画像数は、重複画像を除去していることや、「Filter Null」のような特定のオプションによって出力から画像が削除されるため、この推定値より少なくなる場合があります。
{% endhint %}

## 拡張オプション

Roboflowの拡張は「Basic」または「Enhanced」のどちらかであり、2つの異なるレベルで適用できます。

### 画像レベルの拡張

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

### バウンディングボックスレベルの拡張

バウンディングボックスレベルの拡張では、ソース画像のバウンディングボックスの内容だけを変更することで、新しい学習データを作成します。これにより、開発者は問題の条件により適した学習データをより細かく制御して作成できます。

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

{% hint style="info" %}
Enhanced拡張とバウンディングボックス拡張は **プレミアム** 機能です。

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

<table data-search="false"><thead><tr><th></th><th data-type="checkbox">画像レベル拡張</th><th data-type="checkbox">バウンディングボックス拡張</th><th>拡張タイプ<select><option value="Z8F06MhppTfn" label="拡張版" color="blue"></option><option value="sdEDfdaf9Z03" label="基本版" color="blue"></option></select></th></tr></thead><tbody><tr><td><a href="/pages/2dd4224844d11d8901344a3f5258c348585d4d1f">反転拡張</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">基本版</span></td></tr><tr><td><a href="/pages/f94796a3e260a0c3f7b224619bb2fcd77513b9ed">90°回転拡張</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">基本版</span></td></tr><tr><td><a href="/pages/a764050b27cd6e6e7508282a547df47634e0c96a">クロップ拡張</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">基本版</span></td></tr><tr><td><a href="/pages/00dff7c92ea7221bc1f7d6539cb6350b71de3ada">回転拡張</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">基本版</span></td></tr><tr><td><a href="/pages/53c98e54e746b6a111730b3bbdf43469feaa7244">せん断拡張</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">基本版</span></td></tr><tr><td><a href="/pages/941b2eda8b2d4e7eb51746f591cb607d98acb2fc">グレースケール拡張</a></td><td>true</td><td>false</td><td><span data-option="sdEDfdaf9Z03">基本版</span></td></tr><tr><td><a href="/pages/c7eaa230dd3654551e4634c6c8b62371d7a5722b">色相拡張</a></td><td>true</td><td>false</td><td><span data-option="sdEDfdaf9Z03">基本版</span></td></tr><tr><td><a href="/pages/1b58988155d345329336c4efe4518c1e7126ac9b">彩度拡張</a></td><td>true</td><td>false</td><td><span data-option="sdEDfdaf9Z03">基本版</span></td></tr><tr><td><a href="/pages/d4cc9ab9c90752000e077c4d57dbe02c969fe79c">明るさ拡張</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">基本版</span></td></tr><tr><td><a href="/pages/08c9be5c3fa23e1d281b4a0194efb188826e4bb5">露出拡張</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">基本版</span></td></tr><tr><td><a href="/pages/6186027c68f2b1e6ecb290c2ac713a1a66c87f47">ぼかし拡張</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">基本版</span></td></tr><tr><td><a href="/pages/645b3f976ad9c2086ef9ad5f42d2e07b3d34e90a">ノイズ拡張</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">基本版</span></td></tr><tr><td><a href="/pages/7f715c5660579e6260e19c8cac77cfcd3514ab51">カメラゲイン拡張</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">基本版</span></td></tr><tr><td><a href="/pages/2f1730c9ac6b7c079908257c187980cfa5124b7f">モーションブラー拡張</a></td><td>true</td><td>true</td><td><span data-option="sdEDfdaf9Z03">基本版</span></td></tr><tr><td><a href="/pages/bdf5bd6fd9bfdb0cc497e59f6100fc1e29beea1c">カットアウト拡張</a></td><td>true</td><td>false</td><td><span data-option="Z8F06MhppTfn">拡張版</span></td></tr><tr><td><a href="/pages/194d925a4d68320fcea57410e2deba638989727e">モザイク拡張</a></td><td>true</td><td>false</td><td><span data-option="Z8F06MhppTfn">拡張版</span></td></tr></tbody></table>

## 詳しく見る

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