データ拡張でAIモデルの堅牢性を改善
データ拡張によってトレーニングデータに現実的なバリエーションを加えることで、AIモデルの堅牢性と実環境でのパフォーマンスを改善する方法を紹介します。

テストは、あらゆる技術ソリューションの構築において重要な工程です。テストによって、システムが本稼働する前に実際にどのように動作するかをチームが確認でき、問題を早期に修正できます。これはAIを含む多くの分野に当てはまります。AIでは、モデルはデプロイ後に予測不可能な現実世界の状況に対応することが求められます。
たとえば、コンピュータービジョンは、機械に画像や動画を理解させるAIの一分野です。Ultralytics YOLO26などのコンピュータービジョンモデルは、物体検出、インスタンスセグメンテーション、画像分類などのタスクに対応します。
これらは、患者モニタリング、交通分析、セルフレジ、製造における品質検査など、さまざまな業界のアプリケーションで利用できます。しかし、高度なモデルや高品質なトレーニングデータを使用していても、照明の変化、動き、物体の一部遮蔽など、現実世界の変動に直面すると、ビジョンAIソリューションが対応に苦労することがあります。
これは、モデルがトレーニング中に与えられた例から学習するためです。まぶしさ、モーションブラー、部分的にしか見えない状態などを経験していない場合、そのような状況で物体を正しく認識できる可能性は低くなります。
モデルの堅牢性を向上させる方法の1つが、データ拡張です。大量の新しいデータを収集する代わりに、エンジニアは既存の画像に対して、照明の調整、クロップ、画像の混合など、小さく意味のある変更を加えられます。これにより、モデルはより幅広い状況で同じ物体を認識できるようになります。
この記事では、データ拡張によってモデルの堅牢性がどのように高まり、管理された環境以外にデプロイされたビジョンAIシステムの信頼性がどのように向上するかを解説します。始めましょう。
モデルの堅牢性を確認する方法#
データ拡張について詳しく説明する前に、コンピュータービジョンモデルが本当に現実世界での利用に対応できる状態かどうかを判断する方法について説明します。
堅牢なモデルは、きれいで完全にラベル付けされた画像だけで動作するのではなく、状況が変化しても高い性能を維持します。AIモデルの堅牢性を評価する際に検討すべき実践的な要素を以下に示します。
- 照明の変化: 明るい光、暗い光、まぶしさ、影にさらされると、モデルの動作が変わることがあり、物体を検出する確信度に影響します。
- 部分的な遮蔽: 日常のシーンでは、物体が他の物体に隠れていたり、一部しか見えなかったりすることがよくあります。より堅牢なモデルは、視覚情報が欠けていても物体を認識できます。
- 混雑したシーン: 多くの物体が重なり合う環境では、検出がより困難になります。このような状況で高い性能を発揮するモデルは、複雑な環境でも一般的に高い信頼性を示します。
きれいで完璧に撮影された画像で良い結果が得られても、現実世界で高い性能を発揮できるとは限りません。さまざまな条件で定期的にテストすることで、デプロイ後にモデルがどの程度性能を維持できるかを確認できます。
データ拡張とは何ですか?#
写真内での物体の見え方は、照明、角度、距離、背景によって変化します。コンピュータービジョンモデルをトレーニングする際は、予測不可能な環境でも高い性能を発揮できるよう、学習するデータセットにこのような変動を含める必要があります。
データ拡張は、既存の画像から追加の例を作成することで、トレーニングデータセットを拡張します。画像の回転や反転、明るさの調整、画像の一部のクロップなど、意図的な変更を適用して実行します。
たとえば、猫の写真が1枚しかないとします。その画像を回転させたり、明るさを変えたりすると、1枚の写真から複数の新しいバージョンを作成できます。それぞれのバージョンは少しずつ異なって見えますが、同じ猫の写真であることに変わりはありません。こうした変化により、物体は見た目が異なっても同じものであり得ることをモデルに学習させられます。

図1. 猫の画像を拡張する様子(出典)
データ拡張によってモデルの性能を向上させる方法#
モデルのトレーニング中に、データ拡張をトレーニングパイプラインに直接組み込めます。画像の新しいコピーを手動で作成して保存する代わりに、各画像の読み込み時にランダムな変換を適用できます。
つまり、モデルは画像が読み込まれるたびに、少し異なるバージョンを確認します。画像が明るくなったり、反転されたり、一部が隠れたりする場合があります。ランダム消去などの手法では、画像の小さな領域を削除して、物体が遮られている、または一部しか見えない現実世界の状況をシミュレートすることもできます。

図2. ランダム消去ベースの拡張例(出典)
同じ画像のさまざまなバージョンを確認することで、モデルは完璧な1つの例に依存するのではなく、重要な特徴を学習できます。この多様性によってAIモデルの堅牢性が高まり、現実世界の状況でより安定して性能を発揮できるようになります。
一般的なデータ拡張手法#
トレーニング画像に変化を加えるために使用されるデータ拡張手法を以下に示します。
- 幾何学的変換: これらの手法は、画像内で物体が空間的にどのように見えるかを変化させます。画像の回転、反転、リサイズ、クロップ、移動によって、モデルは物体を異なる角度や距離から見た場合の見え方を理解できます。
- 色と照明の調整: 現実世界の照明が一定であることはほとんどありません。環境や使用するカメラによって、画像が明るすぎたり、暗すぎたり、色が少しずれていたりします。明るさ、コントラスト、色相、彩度を調整することで、モデルはこうした視覚的な変化に対応し、さまざまなシーンで高い性能を発揮できます。
- 画像品質の変化: ブラーやノイズによって、画像が不鮮明になることがあります。トレーニング中にブラーやノイズを追加すると、モデルはモーションブラー、低照度画像、低品質なカメラ映像に対応できるようになり、不完全な画像の影響を受けにくくなります。
- 遮蔽ベースの拡張: 現実の環境では、物体が他の物体によって部分的に隠れることがよくあります。これは画像の遮蔽と呼ばれます。トレーニング中に画像の小さな領域を隠したりマスクしたりすることで、物体の一部しか見えない場合でも検出できるようモデルが学習します。
- 複数画像の拡張: これらの手法は、複数の画像の一部を1つのトレーニング例に組み合わせます。これにより、視野内の物体数を増やし、複雑なシーンや混雑したシーンへのモデルの対応力を高められます。

図3. 複数画像の拡張例(出典)
Ultralytics Pythonパッケージで簡単にデータ拡張を実行#
データセットの管理、画像のバリエーション作成、変換コードの記述は、コンピュータービジョンアプリケーションの構築における追加の手順となることがあります。Ultralytics Pythonパッケージは、YOLO26などのUltralytics YOLOモデルのトレーニング、実行、デプロイに対応する単一のインターフェースを提供し、これらの作業を簡素化します。トレーニングワークフローの効率化の一環として、このパッケージにはYOLOモデル向けに最適化された、Ultralyticsがテスト済みの組み込みデータ拡張機能が含まれています。
また、個別のツールやカスタムコードを不要にする便利なインテグレーションにも対応しています。具体的には、データ拡張に関して、広く使用されている画像拡張ライブラリのAlbumentationsと統合できます。このインテグレーションにより、追加のスクリプトやカスタムコードを使用せず、トレーニング中に拡張を自動的に適用できます。
アノテーションと拡張データセットの管理#
モデルの堅牢性に影響するもう1つの要素が、アノテーションの品質です。Roboflowなどのアノテーションツールで作成・管理された、正確でクリーンなラベルは、物体の位置や外観をモデルが理解するのに役立ちます。
トレーニング中は、反転、クロップ、回転などのデータ拡張が動的に適用され、アノテーションはこれらの変更に合わせて自動的に調整されます。ラベルが正確であれば、この処理はスムーズに機能し、同じシーンについて現実的な例を多数モデルに提供できます。
アノテーションが不正確または一貫していない場合、そのエラーが拡張画像全体で繰り返され、トレーニングの効果が低下する可能性があります。正確なアノテーションから始めることで、こうしたエラーの拡散を防ぎ、モデルの堅牢性向上につなげられます。
データ拡張でビジョンAIアプリケーションを強化#
次に、実世界のアプリケーションでデータ拡張がAIモデルの堅牢性にどのように貢献するか、例を見ていきましょう。
現実環境での物体検出精度を向上させる#
実データが限られている、機密性が高い、または収集が難しい場合、物体検出システムのトレーニングに合成画像がよく使用されます。合成画像を使えば、現実のあらゆる状況を撮影することなく、製品、環境、カメラアングルの例をすばやく生成できます。
しかし、合成データセットは、照明が変化し、物体が重なり、背景に余分な物体が含まれる現実の映像と比べて、きれいすぎる場合があります。データ拡張は、異なる照明、ノイズ、物体の配置など、現実的な変化を加えてこの差を埋めます。これにより、モデルはデプロイ後に遭遇する状況に対応できるようになります。
たとえば、最近の研究では、Ultralytics YOLO11モデルを完全に合成画像だけでトレーニングし、データ拡張を追加して変化を増やしました。これにより、モデルはより幅広く物体を認識できるようになりました。トレーニング中に現実世界のデータを一度も見ていなかったにもかかわらず、実画像でテストした際に高い性能を発揮しました。
医用画像ソリューションの信頼性を高める#
医用画像データセットは限られていることが多く、スキャン自体も機器の種類、画像設定、臨床環境によって異なります。患者の解剖学的特徴、角度、照明、視覚的ノイズの違いにより、コンピュータービジョンモデルが患者や病院をまたいで汎用化できるパターンを学習することが難しくなります。
データ拡張は、トレーニング中にノイズの追加、画像のわずかな移動、小さな歪みの適用など、同じスキャンの複数のバリエーションを作成することで、この課題への対応に役立ちます。こうした変更により、トレーニングデータが実際の臨床条件をより適切に反映するようになります。
たとえば、小児画像診断の研究では、研究者が解剖学的セグメンテーションにUltralytics YOLO11を使用し、拡張した医用データでトレーニングしました。画像をより現実的にするため、ノイズの追加、位置のわずかな移動、小さな歪みなどの変化を加えました。

図4. 小児の元画像と拡張医用画像(出典)
これらの変化から学習することで、モデルは表面的な違いではなく、意味のある解剖学的特徴に注目しました。その結果、異なるスキャンや患者のケースでも、セグメンテーション結果がより安定しました。
主なポイント#
多様なデータを収集するのは困難ですが、データ拡張によってモデルはより幅広い視覚条件から学習できます。その結果、遮蔽、照明の変化、混雑したシーンに対応する際のモデルの堅牢性が高まります。全体として、管理されたトレーニング環境以外でも、より安定して性能を発揮できるようになります。
コミュニティに参加し、GitHubリポジトリでビジョンAIの最新情報をご覧ください。ソリューションページでは、製造業におけるAIやヘルスケアにおけるコンピュータービジョンなどのアプリケーションがどのように進歩を促しているかを確認できます。また、次のAIソリューションに活用できるライセンスオプションもご覧ください。









