Image Augmentation
モデル性能を向上させるためにデータ拡張画像を作成します。
画像増強は、データセット内で「Train」としてマークされた既存の画像に増強を適用するステップです。このプロセスはモデルの汎化能力を向上させ、未知の画像に対してより効果的に動作するのに役立ちます。
最初は増強なしでプロジェクトを開始することを推奨します。これにより、生のデータセットの品質を評価できます。増強を追加してデータセットの性能が期待ほど良くない場合、比較するためのベースラインがないことになります。
増強なしでモデルの性能が良くない場合、クラスのバランス、データの表現、データセットのサイズを調査する必要があるかもしれません。増強なしでモデルを正常にトレーニングできるデータセットがある場合、その後に増強を追加してモデル性能をさらに改善できます。
増強はトレーニング時ではなくデータセットバージョンを通じて(「オフライン増強」)適用されます。その理由はいくつかあります:
モデルの再現性が向上する。Roboflowでは、各画像がどのように増強されたかのコピーを保持します。たとえば、モデルが暗い画像よりも明るい画像で良く動作することが分かった場合、低照度のトレーニングデータをより多く収集すべきです。
トレーニング時間が短縮される。増強はCPUに依存した処理です。GPUでトレーニングを行いながら増強をオンザフライで行うと、各エポックでGPUがCPUからの増強済みデータの供給を待つことが多くなります。それが積み重なります。
トレーニングコストが削減される。増強はCPUに依存した処理であるため、高価なレンタルGPUがトレーニング用画像の供給を待つことが減ります。
増強の適用方法
増強は常にトレーニング画像に対して適用されます(その前に) 前処理ステップ。選択した増強は重ね合わせられ、増強設定や各設定の値はランダム化されて各増強画像に適用されます。プロセス中に重複として検出された画像は作成されたバージョンから除外されます。
たとえば、「水平方向に反転」と「ソルトアンドペッパーノイズ」の増強を選択した場合、ある画像はランダムに水平方向に反転され、ランダムなソルトアンドペッパーノイズが付与されます。
増強の制限
増強を含むデータセットバージョンを作成する際、"Maximum Version Size"オプションで含める増強画像の最大数を選択できます。
たとえば、3xを選択すると、最終データセットバージョンには各トレーニング元画像が 前処理ステップ 適用され、選択した設定に基づいて各画像のランダムな2つの増強が含まれます。
データセットに100枚の画像があり train/valid/test の分割が70/20/10で、3x増強を選択した場合、最終データセットは概ね210/20/10の分割になります。

増強オプション
Roboflowの増強は「Basic」または「Enhanced」のいずれかで、2つの異なるレベルで適用できます。
画像レベルの増強
画像レベルの増強は、個々のオブジェクトや領域ではなく画像全体に変換を適用することで新しいトレーニングデータを作成します。画像全体を変更することで、開発者はより広範な視覚条件をシミュレートでき、モデルが新しいデータに対してより良く一般化するのを助けます。
バウンディングボックスレベルの増強
バウンディングボックスレベルの増強は、ソース画像のバウンディングボックスの内容のみを変更することで新しいトレーニングデータを作成します。これにより、開発者は問題の条件により適したトレーニングデータを作成するための制御性を高めることができます。
A 2019年の論文 で、Googleの研究者がバウンディングボックスのみの増強を使用してモデルに最適なデータを作るというアイデアを紹介しています。この論文で研究者らは、特に小規模データセットで学習したモデルに対してバウンディングボックスのみの変更が体系的な改善をもたらすことを示しました。
詳細を見る
Last updated
Was this helpful?