YOLO Vision Shenzhen
深セン
今すぐ参加

データ拡張によるAIモデルの堅牢性向上

データ拡張を通じてトレーニングデータに現実的なバリエーションを追加することが、AIモデルの堅牢性と実環境でのパフォーマンス向上にどのように役立つかをご覧ください。

コンピュータビジョンプロジェクトの導入をお考えですか?

ライセンスについて詳しく見る

テストは、あらゆる技術的ソリューションを構築する上で極めて重要な部分です。これにより、システムが稼働する前にチームは実際の動作を把握し、問題を早期に修正できます。これはAIを含む多くの分野に当てはまり、AIモデルはデプロイされると予測不可能な現実世界の状況に対応することが求められます。

例えば、コンピュータービジョンは、機械に画像や動画を理解させるAIの一分野です。Ultralytics YOLO26のようなコンピュータービジョンモデルは、物体検出、インスタンスsegmentation、画像分類などのタスクをサポートしています。

これらは、患者モニタリング、交通分析、自動チェックアウト、製造における品質検査など、多くの産業で応用できます。しかし、高度なモデルと高品質なトレーニングデータがあっても、照明の変化、動き、部分的に遮られた物体など、現実世界の変動に直面すると、Vision AIソリューションは依然として苦戦する可能性があります。

これは、モデルが訓練中に与えられた例から学習するために起こります。グレア、モーションブラー、部分的な視認性などの条件を以前に見たことがない場合、それらのシナリオでオブジェクトを正しく認識する可能性は低くなります。

モデルのロバスト性を向上させる1つの方法は、データ拡張です。大量の新しいデータを収集する代わりに、エンジニアは既存の画像に照明の調整、クロップ、画像の混合などの小さくも意味のある変更を加えることができます。これにより、モデルはより広範な状況で同じオブジェクトを認識することを学習できます。

本記事では、データ拡張がモデルの堅牢性と、制御された環境外でデプロイされたVision AIシステムの信頼性をどのように向上させるかを探ります。始めましょう!

モデルの堅牢性を確認する方法

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

ロバストなモデルは、クリーンで完璧にラベル付けされた画像でのみ機能するのではなく、条件が変化しても良好に機能し続けます。AIモデルのロバスト性を評価する際に考慮すべき実用的な要因をいくつか紹介します。

  • 照明の変化: モデルは、明るい光、暗い光、まぶしさ、影にさらされたときに異なる挙動を示す可能性があり、これはオブジェクトがどれだけ確実にdetectされるかに影響を与える可能性があります。
  • 部分的なオクルージョン: 日常のシーンでは、オブジェクトは他のアイテムによって遮られたり、部分的にしか見えなかったりすることがよくあります。より堅牢なモデルは、視覚情報が欠けていてもそれらを認識できます。
  • 混雑したシーン: 多くのオブジェクトが重なり合う環境では、detectがより困難になる可能性があります。これらのケースで優れた性能を発揮するモデルは、通常、複雑な環境でより信頼性が高くなります。

クリーンで完璧にキャプチャされた画像での良好な結果が、必ずしも現実世界での強力なパフォーマンスに繋がるとは限りません。様々な条件下での定期的なテストは、モデルがデプロイ後にどれだけ機能するかを示すのに役立ちます。

データ拡張とは?

写真に写る物体の見え方は、照明、角度、距離、背景によって変化します。コンピュータビジョンモデルを学習させる際には、予測不可能な環境でも適切に機能できるよう、学習元のデータセットにこのようなバリエーションを含める必要があります。

データ拡張は、既存の画像から追加の例を作成することで、トレーニングデータセットを拡張します。これは、画像を回転させたり反転させたり、明るさを調整したり、一部を切り取ったりするなどの意図的な変更を適用することによって行われます。 

例えば、猫の写真が1枚しかないと想像してみてください。画像を回転させたり、明るさを変更したりすることで、その1枚の写真からいくつかの新しいバージョンを作成できます。各バージョンはわずかに異なりますが、それでも同じ猫の写真です。これらのバリエーションは、オブジェクトが異なって見えても同じものであることをモデルに学習させるのに役立ちます。

図1. 猫の画像を拡張する様子 (出典)

データ拡張はモデル性能をどのように向上させるか

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

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

図2. ランダム消去ベースのデータ拡張の例 (出典)

同じ画像の様々なバージョンを見ることで、モデルは完璧な単一の例に依存するのではなく、どの特徴が重要であるかを学習できます。この多様性により、AIモデルの堅牢性が構築され、実世界の条件下でより高い信頼性で機能するようになります。

一般的なデータ拡張技術

トレーニング画像にバリエーションを導入するために使用されるデータ拡張手法をいくつかご紹介します。

  • 幾何学的変換: これらの技術は、画像内でオブジェクトが空間的にどのように見えるかを変更します。画像を回転、反転、サイズ変更、クロップ、またはシフトすることで、モデルはオブジェクトが異なる角度や距離からどのように見えるかを理解できるようになります。
  • 色と照明の調整: 現実世界の照明は一貫していることがほとんどありません。画像は、環境や使用するカメラによって、明るすぎたり、暗すぎたり、色がわずかにずれたりすることがあります。明るさ、コントラスト、色相、彩度を調整することで、モデルはこれらの視覚的な変化に対応し、さまざまなシーンで良好に機能することができます。
  • 画像品質の変動: ぼかしや視覚ノイズは画像を不明瞭に見せることがあります。トレーニング中にぼかしやノイズを追加することで、モデルはモーションブラー、低照度画像、または低品質のカメラ結果に対処することを学習し、不完全な視覚情報に対する感度が低下します。
  • オクルージョンベースのデータ拡張: 実際の環境では、オブジェクトは他のオブジェクトによって部分的に遮られることがよくあります。これは画像オクルージョンと呼ばれます。トレーニング中に画像の一部を隠したりマスクしたりすることで、モデルがオブジェクトの一部しか見えない場合でもオブジェクトをdetectする学習をサポートします。
  • Multi-image augmentations: これらの手法は、複数の画像の一部を単一の学習例に結合することで、視野内のオブジェクト数を増やし、モデルが複雑または混雑したシーンを処理する能力を向上させることができます。
図3. 複数画像拡張の例 (出典)

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

データセットの管理、画像バリエーションの作成、変換コードの記述は、コンピュータビジョンアプリケーションの構築に余分なステップを追加する可能性があります。Ultralytics pythonパッケージは、YOLO26のようなUltralytics YOLOモデルのトレーニング、実行、デプロイのための単一インターフェースを提供することで、これを簡素化するのに役立ちます。トレーニングワークフローを合理化するためのこの取り組みの一環として、このパッケージには、YOLOモデル用に最適化された、組み込みのUltralyticsテスト済みデータ拡張が含まれています。

また、個別のツールやカスタムコードの必要性をなくす有用な統合をサポートしています。特に、データ拡張に関しては、このパッケージは広く使用されている画像拡張ライブラリであるAlbumentationsと統合されています。この統合により、追加のスクリプトやカスタムコードを必要とせずに、学習中に拡張が自動的に適用されます。

アノテーションと拡張データセットの管理

モデルの堅牢性に影響を与えるもう一つの要因は、アノテーションの品質です。Roboflowのようなアノテーションツールで作成および管理されたクリーンで正確なラベルは、モデルがオブジェクトの場所と外観を理解するのに役立ちます。

トレーニング中、フリップ、クロップ、回転などのデータ拡張が動的に適用され、これらの変更に合わせてアノテーションが自動的に調整されます。ラベルが正確である場合、このプロセスはスムーズに機能し、モデルに同じシーンの多くの現実的な例を提供します。

アノテーションが不正確または一貫性がない場合、それらのエラーは拡張された画像全体で繰り返され、トレーニングの効果を低下させる可能性があります。正確なアノテーションから始めることで、これらのエラーの拡散を防ぎ、モデルの堅牢性の向上に貢献します。

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

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

実環境におけるobject detection精度の向上

合成画像は、実際のデータが限られている、機密性が高い、または収集が困難な場合に、object detection システムのトレーニングによく使用されます。これにより、チームは現実世界で考えられるすべてのシナリオを撮影することなく、製品、環境、カメラアングルの例を迅速に生成できます。 

しかし、合成データセットは、照明が変化し、オブジェクトが重なり、シーンには背景の雑然としたものが含まれる現実世界の映像と比較して、時としてきれいすぎるように見えることがあります。データ拡張は、異なる照明、ノイズ、オブジェクトの配置などの現実的なバリエーションを導入することでこのギャップを埋めるのに役立ち、これによりモデルはデプロイ時に遭遇するであろう種類の条件を処理することを学習します。

例えば、最近の研究では、YOLO11モデルが合成画像のみで完全にトレーニングされ、追加のバリエーションを導入するためにデータ拡張が追加されました。これにより、モデルがオブジェクトをより広範囲に認識することを学習する上で役割を果たしました。トレーニング中に実世界のデータを見たことがなかったにもかかわらず、実際の画像でテストされたときに良好な性能を示しました。

医用画像ソリューションの信頼性を向上させる

医用画像データセットはしばしば限られており、スキャン自体も機器の種類、画像設定、または臨床環境に基づいて異なる場合があります。患者の解剖学的構造、角度、照明、または視覚ノイズの違いは、コンピュータービジョンモデルが患者や病院間でうまく一般化できるパターンを学習することを困難にする可能性があります。

データ拡張は、トレーニング中に同じスキャンの複数のバリエーションを作成することで、この問題に対処するのに役立ちます。例えば、ノイズを追加したり、画像をわずかにシフトさせたり、小さな歪みを適用したりします。これらの変更により、トレーニングデータは実際の臨床条件をより代表するものになります。

例えば、小児画像研究では、研究者たちはYOLO11を解剖学的segmentationに利用し、拡張された医療データでトレーニングしました。彼らは、ノイズの追加、わずかな位置ずれ、小さな歪みなどのバリエーションを導入し、画像をより現実的にしました。

図4. 元の小児医療画像と拡張された小児医療画像 (出典)

これらのバリエーションから学習することで、モデルは表面的な違いではなく、意味のある解剖学的特徴に焦点を当てました。これにより、異なるスキャンや患者ケース全体で、そのsegmentation結果はより安定しました。

主なポイント

多様なデータを収集することは困難ですが、データ拡張により、モデルはより広範な視覚条件から学習できます。これにより、オクルージョン、照明の変化、混雑したシーンに対処する際のモデルの堅牢性が向上します。全体として、これによりモデルは制御されたトレーニング環境外でより信頼性高く動作するようになります。 

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

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

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