Yolo 深圳
深セン
今すぐ参加

データ拡張によるAIモデルの頑健性の向上

データ拡張によりトレーニングデータに現実的なバリエーションを追加することで、AIモデルの頑健性と実世界での性能がどのように向上するかを確認してください。

テストはあらゆる技術的ソリューション構築において極めて重要な要素です。システムが本番稼働する前に実際の動作をチームに示し、問題を早期に修正することを可能にします。これはAIを含む多くの分野に当てはまり、AIモデルは導入後、予測不可能な現実世界の状況に対処することが求められます。

例えば、コンピュータビジョンはAIの一分野であり、機械に画像や動画を理解させる技術である。Ultralytics などのコンピュータビジョンモデルは、物体検出、インスタンスセグメンテーション、画像分類といったタスクをサポートする。

これらの技術は、患者モニタリング、交通分析、自動レジ、製造業における品質検査など、多くの産業分野で応用可能です。しかし、高度なモデルと高品質な訓練データを用いても、照明の変化、物体の動き、部分的に遮られた物体といった現実世界の変動に直面すると、ビジョンAIソリューションは依然として困難に直面することがあります。

これは、モデルが学習中に与えられた例から学習するためです。グレア、モーションブラー、部分的な可視性といった条件を事前に経験していない場合、それらのシナリオで物体を正しく認識する可能性が低くなります。

モデルの頑健性を向上させる一つの方法は、データ拡張である。大量の新規データを収集する代わりに、エンジニアは既存の画像に照明の調整、トリミング、画像の混合など、小さく意味のある変更を加えることができる。これにより、モデルはより幅広い状況において同じ物体を認識することを学習できるようになる。

本記事では、データ拡張がモデルの頑健性を高め、制御された環境外で展開されるビジョンAIシステムの信頼性を向上させる仕組みを探ります。さっそく始めましょう!

モデルの頑健性を確認する方法

データ拡張について掘り下げる前に、コンピュータビジョンモデルが実際に実世界での使用に本当に適しているかどうかを判断する方法について議論しましょう。 

頑健なモデルは、クリーンで完璧にラベル付けされた画像でのみ機能するのではなく、条件が変化しても良好な性能を維持し続ける。AIモデルの頑健性を評価する際には、以下の実用的な要素を考慮すべきである:

  • 照明の変化:モデルは、明るい光、暗い光、まぶしさ、または影にさらされると異なる挙動を示す可能性があり、これにより物体の検出精度に影響が生じることがあります。
  • 部分遮蔽:日常的な場面では、物体が他の物に遮られたり、部分的にしか見えなかったりすることが多い。より頑健なモデルは、視覚情報が欠落していてもそれらを認識できる。
  • 混雑したシーン:多くの物体が重なり合う環境では、物体検出がより困難になる。こうした状況で良好な性能を発揮するモデルは、通常、複雑な環境下でもより信頼性が高い。

クリーンで完璧にキャプチャされた画像での良好な結果は、必ずしも実世界での高い性能に直結するとは限らない。様々な条件下での定期的なテストは、モデルが実際に導入された際にどれだけ良好に機能するかを示すのに役立つ。

データ拡張とは何か?

物体が写真に写る様子は、照明、角度、距離、背景によって変化する。コンピュータビジョンモデルを訓練する際、学習用データセットにはこうした変動を含める必要がある。そうすることで予測不可能な環境でも良好な性能を発揮できるのだ。

データ拡張は、既存の画像から追加の例を生成することで、学習用データセットを拡大します。具体的には、画像の回転や反転、明るさの調整、部分的な切り取りといった意図的な変更を適用することで実現されます。 

例えば、猫の写真が1枚しかない場合を考えてみましょう。その画像を回転させたり明るさを変えたりすれば、1枚の写真から複数の新しいバージョンを作成できます。それぞれのバージョンはわずかに見た目が異なりますが、それでも同じ猫の写真です。こうしたバリエーションは、物体が異なる見た目をしていても同じものであることをモデルに教えるのに役立ちます。

図1. 猫の画像の拡張例(出典

データ拡張がモデルの性能を向上させる仕組み

モデル学習中、データ拡張は学習パイプラインに直接組み込むことができる。画像の新しいコピーを手動で作成・保存する代わりに、各画像が読み込まれる際にランダムな変換を適用できる。 

これは、モデルが毎回わずかに異なるバージョンの画像を見ることを意味します。画像が明るく見える場合、反転している場合、あるいは部分的に隠れている場合です。ランダム消去のような技術は、画像の小さな領域を削除することさえ可能で、物体が遮られたり部分的にしか見えない現実世界の状況をシミュレートできます。

図2. ランダム消去に基づく拡張の例(出典

同じ画像の多様なバリエーションを見ることで、モデルは単一の完璧な例に依存するのではなく、どの特徴が重要かを学習できるようになります。この多様性がAIモデルの頑健性を高め、実世界の条件下でより信頼性の高い性能を発揮できるようにします。

一般的なデータ拡張手法

トレーニング画像に多様性を導入するために用いられるデータ拡張技術の一部を以下に示す:

  • 幾何学的変換:これらの 技術は、画像内でオブジェクトが空間的にどのように見えるかを変えます。画像の回転、反転、サイズ変更、トリミング、または移動により、モデルはオブジェクトが異なる角度や距離からどのように見えるかを理解できるようになります。
  • 色と照明の調整:現実世界の照明は一貫していることは稀です。環境や使用するカメラによって、画像は明るすぎたり、暗すぎたり、色がわずかにずれたりすることがあります。明るさ、コントラスト、色相、彩度を調整することで、モデルはこれらの視覚的な変化に対応し、様々なシーンで良好なパフォーマンスを発揮できます。
  • 画質変動:ぼやけや視覚ノイズにより画像が不明瞭に見えることがあります。学習中にぼやけやノイズを追加することで、モデルはモーションブラー、低照度画像、または低品質なカメラ結果に対処する方法を学習し、不完全な視覚情報への感度が低下します。
  • 遮蔽に基づく拡張:実環境では、物体が他の物体によって部分的に遮られることが頻繁に発生する。これは画像遮蔽と呼ばれる現象である。学習中に画像の小さな領域を隠す(マスキングする)ことで、物体の一部しか見えていない場合でも、モデルがdetect 学習できるよう支援する。
  • マルチイメージ拡張:これらの手法は複数の画像の一部を単一の訓練例に統合し、これにより視野内の物体数を増加させ、複雑または混雑したシーンを処理するモデルの能力を向上させることができる。
図3. 複数画像による拡張の例(出典

Ultralytics Python パッケージでデータ拡張が簡単に

データセットの管理、画像バリエーションの作成、変換コードの記述は、コンピュータビジョンアプリケーションの構築に余分な手順を追加する可能性があります。Ultralytics Python 、Ultralytics YOLO トレーニング、実行、デプロイを単一のインターフェースで提供することで、このプロセスを簡素化します。トレーニングワークフローの効率化の一環として、YOLO 最適化された、Ultralyticsデータ拡張機能が組み込まれています。

また、別途ツールやカスタムコードが不要となる便利な統合機能もサポートしています。具体的には、データ拡張において、本パッケージは広く利用されている画像拡張ライブラリであるAlbumentationsと連携します。この統合により、追加のスクリプトやカスタムコードを必要とせず、トレーニング中に拡張処理を自動的に適用することが可能となります。

注釈と拡張データの管理

モデルの頑健性に影響を与えるもう一つの要因は、アノテーションの品質である。Roboflow作成・管理された、正確でクリーンなラベルは、モデルが物体の位置や外観を理解するのに役立つ。

トレーニング中、反転、切り抜き、回転などのデータ拡張が動的に適用され、アノテーションはこれらの変更に合わせて自動的に調整される。ラベルが正確な場合、このプロセスは円滑に機能し、モデルに同一シーンの多くの現実的な例を提供する。

アノテーションが不正確または一貫性を欠いている場合、それらの誤りが拡張画像全体に繰り返し発生する可能性があり、トレーニングの効率を低下させます。正確なアノテーションから始めることで、こうした誤りの拡散を防ぎ、モデルの頑健性向上に寄与します。

データ拡張によるビジョンAIアプリケーションの強化

次に、データ拡張が実世界のアプリケーションにおいてAIモデルの頑健性にどのように貢献するかの具体例を見ていきましょう。

実環境における物体検出精度の向上

実データが不足している、機密性が高い、または収集が困難な場合、合成画像は物体検出システムの訓練に頻繁に用いられる。これにより、チームはあらゆる実生活シナリオを撮影する必要なく、製品、環境、カメラアングルの例を迅速に生成できる。 

しかし、合成データセットは、照明の変化や物体の重なり、背景の雑多な要素を含む実世界の映像と比べると、時に不自然に整いすぎているように見えることがある。データ拡張は、異なる照明やノイズ、物体の配置といった現実的な変動を導入することでこのギャップを埋める助けとなり、モデルが実運用時に遭遇する条件に対処できるよう学習させる。

例えば、最近の研究では、YOLO11 合成画像のみで学習させ、データ拡張によって追加の多様性を導入した。これにより、モデルがより広範な物体認識を学習する一助となった。実際の画像でテストした際、学習中に実世界のデータを見たことがなかったにもかかわらず、良好な性能を示した。

医療画像ソリューションの信頼性向上

医療画像データセットはしばしば限定的であり、スキャン自体も装置の種類、撮影設定、臨床環境によって異なる。患者の解剖学的構造、角度、照明、視覚的ノイズの違いにより、コンピュータビジョンモデルが患者や病院を超えて汎化性の高いパターンを学習することが困難となる。

データ拡張は、トレーニング中に同じスキャン画像の複数のバリエーションを作成することでこの問題を解決します。例えば、ノイズの追加、画像のわずかなシフト、または小さな歪みの適用などです。これらの変更により、トレーニングデータが実際の臨床状況をより代表しているように感じられます。

例えば、小児画像研究において、研究者らは解剖学的YOLO11 を使用し、拡張医療データで訓練した。画像をより現実的にするため、ノイズの追加、わずかな位置ずれ、小さな歪みといったバリエーションを導入した。

図4. オリジナルおよび補強された小児医療画像(出典

これらの差異から学習することで、モデルは表面レベルの差異ではなく、意味のある解剖学的特徴に焦点を当てた。これにより、異なるスキャンや患者症例にわたって、そのセグメンテーション結果の安定性が向上した。

主なポイント

多様なデータの収集は困難だが、データ拡張によりモデルはより広範な視覚的条件から学習できる。これにより、遮蔽、照明変化、混雑したシーンへの対応においてモデルの頑健性が向上する。全体として、制御された訓練環境外でもより信頼性の高い性能を発揮できるようになる。 

私たちのコミュニティに参加して、GitHubリポジトリでビジョンAIの最新情報を探索しましょう。製造業におけるAIや ヘルスケアにおけるコンピュータビジョンのようなアプリケーションがどのように進歩を促しているかを学ぶには、当社のソリューションページをご覧ください。

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

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

無料ではじめる