YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

データ拡張

データ拡張がモデルの堅牢性を向上させ、過学習を軽減する方法を探求します。コンピュータービジョンにおけるUltralytics YOLO26のパフォーマンスを向上させるための主要なテクニックを学びましょう。

データ拡張は、機械学習およびコンピュータービジョンにおける重要な技術であり、既存のデータを変更したバージョンを作成することで、トレーニングデータセットのサイズと多様性を人為的に増加させるために使用されます。時間と費用がかかる全く新しいデータを収集してラベル付けする代わりに、拡張は元のサンプルに様々な変換を適用します。これらの変更は、機械学習モデルがパターンをより堅牢に認識するのに役立ち、実世界の環境でバリエーションに遭遇した場合でも良好に機能することを保証します。トレーニング中にモデルをより広範なシナリオにさらすことで、開発者は過学習を効果的に減らし、汎化性能を向上させることができます。

現代AIにおける関連性

コンピュータビジョンの分野では、モデルは訓練データとわずかに異なる画像が提示されると、しばしば苦戦します。照明、向き、または背景の乱雑さの変動は、十分な多様性を見ていないモデルを混乱させる可能性があります。データ拡張は、これらの変動をプログラム的にシミュレートすることでこれに対処します。例えば、猫の画像は、これらの変更に関わらず被写体が「猫」のままであることをモデルに教えるために、回転、反転、またはわずかにぼかされる可能性があります。

このプロセスは、Ultralytics YOLO26のような最新のアーキテクチャの成功に不可欠です。これらのアーキテクチャは、object detectionimage segmentationなどのタスクで高い精度を達成するために、豊富で多様なデータセットに依存しています。新しいトレーニング例を合成することで、データ拡張はモデルが不変特徴量、つまり入力の変化にもかかわらず変化しない特性を学習することを可能にします。

一般的な手法と方法

データ拡張は、単純な幾何学的調整から複雑な生成アプローチまで、幅広い変換技術を網羅しています。

  • 幾何学的変換: これらには、画像の回転、拡大縮小、反転、クロップ、平行移動(シフト)などの操作が含まれます。これらは、カメラの視点またはオブジェクトの位置の変化を表します。
  • 色空間調整: 明るさ、コントラスト、彩度、色相を変更することで、モデルはさまざまな照明条件やカメラセンサーに対応できるようになります。
  • ノイズ注入:ランダムノイズ(ガウスノイズなど)を追加することで、モデルを粗いまたは低品質の入力データに対してより堅牢にすることができます。
  • 画像の混合: MixUpやMosaic(YOLOトレーニングで人気)のような手法は、複数の画像を単一のトレーニングサンプルに結合し、モデルにコンテキストとオブジェクトの関係をより効果的に学習させます。
  • 生成的アプローチ: 高度な手法では、生成AI拡散モデルを使用して、元のデータセットの特性を模倣する全く新しい合成訓練サンプルを作成します。

実際のアプリケーション

データ拡張の実用的な影響は、データ不足や高い変動性が課題となる数多くの産業に及んでいます。

自動運転

自動運転車の開発において、あらゆる可能な気象条件や照明シナリオのデータを収集することはほぼ不可能です。エンジニアはデータ拡張を使用して、晴天の画像に雨、霧、雪、またはまぶしさをシミュレートします。これにより、知覚システムが環境要因に関わらず、歩行者、交通標識、その他の車両を確実にdetectできるようになり、安全性と信頼性が向上します。

医療画像

医用画像解析は、プライバシーの懸念や特定の疾患の希少性により、 限られたデータセットに悩まされることがよくあります。データ拡張により、研究者はX線やMRIスキャンの小さなデータセットを、弾性変形、回転、または強度シフトを適用することで拡張できます。これにより、患者の位置やスキャン品質が変化する場合でも、高い感度で腫瘍や骨折を識別できる堅牢な診断モデルのトレーニングに役立ちます。

関連概念の区別

データ拡張を合成データと区別することが重要です。どちらもデータセットのサイズを増やすことを目的としていますが、合成データはゼロから人工的に生成される(多くの場合、3Dレンダリングやシミュレーションエンジンを使用)のに対し、データ拡張は既存の実世界データを修正します。さらに、データ前処理は、データをモデルに適した形にするためにクリーニングやフォーマット(例:リサイズ、正規化)を行うものですが、拡張とは異なり、必ずしもトレーニングサンプルの数を増やすわけではありません。

Ultralyticsを用いたデータ拡張の実装

現代のフレームワークは、データ拡張をトレーニングパイプラインに直接統合します。以下の例は、YOLO26モデルのトレーニング中に反転やスケーリングなどのデータ拡張を適用する方法を示しています。 ultralytics パッケージで提供される。

from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Train with custom data augmentation hyperparameters
# fliplr: 50% chance of horizontal flip, scale: image scaling gain
results = model.train(data="coco8.yaml", epochs=10, fliplr=0.5, scale=0.5)

これらのハイパーパラメータを調整することで、開発者はデータセットとアプリケーションの特定のニーズに合わせて拡張戦略を調整でき、効率的なモデル開発のためにUltralytics Platformの柔軟性を活用できます。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。