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