外観検査AIの精度は学習データの量で決まる。しかし不良品画像は常に不足する。合成データ(Synthetic Data)で学習データを拡充し、検出精度を向上させる方法を実績データとともに解説。
合成データとは、実際の撮影ではなくAIやCGで人工的に生成されたデータのことです。外観検査の文脈では、GAN・VLM・Diffusionモデルなどで生成された不良画像や、3D CGレンダリングで作成された検査画像が合成データに該当します。
合成データの活用が広がっている背景には、製造業特有の「データ不足問題」があります。不良品の発生率は多くのラインで1%以下であり、AIの学習に必要な数百〜数千枚のNG画像を実データだけで集めるには、数ヶ月〜数年の稼働が必要です。合成データを使えば、この期間を数日に短縮できます。
GAN(敵対的生成ネットワーク)で既存のNG画像を拡張する方法です。50〜100枚の実NG画像から数千枚の合成NG画像を生成できます。生成速度が速く(数十ms/枚)、大量生成に向いています。ただし元データのバリエーションが少ないと、モード崩壊により似た画像ばかりが生成されるリスクがあります。
VLM(Vision-Language Model)にテキストで欠陥の種類・位置・サイズを指示して生成する方法です。最大の強みは実NG画像が0枚でも生成できること。良品画像と「表面にキズを追加」などのプロンプトだけで不良画像を作れます。品種が多い場合もプロンプトの変更だけで対応可能です。VLMは教師役として初期データを生成し、本番の検査はCNNが行います。
Diffusionモデルで高品質な不良画像を生成する方法です。GANと比べてモード崩壊が起きにくく、生成画像の多様性が高い特徴があります。ControlNetを使えば欠陥の位置を精密に制御できます。ただし生成速度が遅く(数秒〜数十秒/枚)、GPUリソースを多く消費します。
3D CADモデルをもとに、さまざまな角度・照明条件で仮想的な検査画像をレンダリングする方法です。照明や角度を自由に変えられるため、実際のライン構築前にAIモデルの事前学習が可能です。ただしテクスチャや反射の再現にはドメイン知識が必要で、導入コストが高い傾向があります。
既存画像に回転・反転・拡大縮小・色調変換・ノイズ追加などの変換を加える最も基本的な手法です。厳密には「生成」ではなく「変換」ですが、合成データの一種として広く使われています。実装が簡単で副作用が少ないため、他の手法と併用することが推奨されます。
| 種類 | 必要なNG画像 | 生成品質 | 導入コスト | 適した場面 |
|---|---|---|---|---|
| GAN | 50〜100枚 | 高 | 中 | 大量生成・高速生成 |
| VLM | 0枚 | 中〜高 | 低 | 初期立ち上げ・多品種 |
| Diffusion | 10〜50枚 | 非常に高 | 高 | 微細欠陥・品質重視 |
| 3D CG | 0枚 | 中 | 高 | ライン構築前の事前学習 |
| オーグメンテーション | 既存データ | 低〜中 | 低 | 全ケースで併用 |
ラインが稼働する前の段階で、NG画像は0枚です。VLMで良品画像から仮想NG画像を100〜200枚生成し、CNNの初期モデルを構築します。ライン稼働後に実NG画像が蓄積されたら、GANで合成データを追加してCNNを再学習します。
年に数回しか発生しない欠陥(微細クラック、特殊な変色など)は、実データだけでは学習データが足りません。Diffusionモデルで高品質な合成データを生成し、レア欠陥の検出精度を補強します。
品種数が多い場合、全品種のNG画像を十分に集めるのは非現実的です。VLMで各品種の代表的な欠陥画像を生成し、CNNの学習データを品種横断で拡充します。VLMはプロンプトを変えるだけで異なる品種に対応できるため、品種追加のコストがかかりません。
合成データの効果を最大化するには、実データとのブレンド比率が重要です。合成データの比率が高すぎると過検出が増え、低すぎると効果が薄くなります。
| 実データ量 | 推奨ブレンド比率(実:合成) | 備考 |
|---|---|---|
| 200枚以上 | 8:2〜7:3 | 実データが十分。合成は補完用 |
| 50〜200枚 | 7:3〜5:5 | 合成データで不足分を補う |
| 50枚未満 | 5:5〜3:7 | 合成比率を上げるが品質チェック必須 |
| 0枚 | 0:10(合成100%) | 初期モデル構築用。精度は限定的 |
※ 記載の金額・料金は記事執筆時点の参考値です。最新情報は各メーカー・ベンダーの公式サイトをご確認ください。
合成データを活用した外観検査プロジェクトの精度改善データを示します。
| 検査対象 | 実データのみ | 実データ+合成データ | 改善幅 |
|---|---|---|---|
| 金属表面キズ | 検出率 82% | 検出率 93% | +11pt |
| 樹脂成形バリ | 検出率 76% | 検出率 89% | +13pt |
| 基板はんだ不良 | 検出率 88% | 検出率 95% | +7pt |
| 食品包装シール不良 | 検出率 79% | 検出率 91% | +12pt |
合成データの品質は以下の指標で評価します。
定量指標だけでなく、以下の実務指標で最終評価を行います。
合成データは外観検査AIのデータ不足を解決する実用的な手法です。GAN・VLM・Diffusion・3D CGのいずれも「CNNの学習データを補完する教師役」として機能します。重要なのは、合成データを実データと適切な比率でブレンドすること、そして合成データの品質を定量・実務の両面で評価すること。合成データを正しく活用すれば、検出率を10pt以上改善しながら、データ収集期間を数ヶ月から数日に短縮できます。
合成データだけでも検査モデルの構築は可能ですが、精度は実データに劣ります。実データと合成データを7:3〜5:5でブレンドすることで、実データのみの場合を上回る精度を実現できます。合成データ100%での運用は推奨しません。
欠陥タイプやデータ量によりますが、実データ70%:合成データ30%をベースラインとして推奨します。実データが極端に少ない(50枚以下)場合は5:5まで合成比率を上げても効果があります。合成比率が70%を超えると過検出が増える傾向があります。
合成データの品質が低い場合や比率が高すぎる場合は過検出が増えます。対策として、生成画像の品質チェック、適切なブレンド比率の維持、Hard Negative Miningの適用が有効です。合成データ追加前後で過検出率を必ず比較してください。