なぜ不良画像の生成が必要なのか
外観検査AIの精度は「NG画像の質と量」で決まります。しかし現実の製造ラインでは、不良品の発生率が0.1〜1%程度であり、学習に必要な数百〜数千枚のNG画像を集めるには数ヶ月かかることもあります。
この「データ不足」を解決するのが不良画像の生成技術です。良品画像や少数のNG画像をもとに、AIが仮想的なNG画像を大量に作り出します。生成した画像でCNNを学習させることで、実データだけでは到達できない検出精度を実現できます。
現在、外観検査で使われる不良画像生成手法は大きく3つあります。GAN(敵対的生成ネットワーク)、VLM(Vision-Language Model)、Diffusionモデルです。それぞれ得意な場面が異なるため、現場の状況に応じた使い分けが重要です。
3手法の概要と特性
GAN ── 高速・大量生成の定番
GANは2つのニューラルネットワーク(生成器と判別器)を競わせることで、リアルな画像を生成します。外観検査では最も成熟した手法で、Pix2Pix、CycleGAN、StyleGANなどのアーキテクチャが使われます。
最大の強みは生成速度です。学習済みモデルがあれば、1枚あたり数十ミリ秒で生成できます。1,000枚のNG画像を数分で用意できるため、大量の学習データが必要なCNNとの相性が良い手法です。
一方で、学習自体にNG画像が50〜100枚/パターン必要という「鶏と卵問題」があります。また、モード崩壊(似た画像ばかり生成される現象)が最大のリスクです。
VLM ── NG画像ゼロから始められる
VLMは良品画像から不良パターンを学習し、仮想NG画像を自動生成します。最大の強みは、NG画像が0枚の段階でも不良画像を生成できること。良品画像を入力するだけで、キズ・バリ・変色といったさまざまな欠陥パターンの画像を自動的に作り出します。
品種が多い場合にも有効です。GANでは品種ごとにモデルを学習する必要がありますが、VLMは良品画像を差し替えるだけで異なる品種の欠陥画像を生成できます。多品種少量生産の現場では、VLMの柔軟性が大きなアドバンテージになります。
ただし生成速度はGANより遅く、生成画像の精細さもGANやDiffusionには劣る場合があります。VLMは「教師役」として初期の学習データを用意し、データが蓄積されたらGANに切り替える直列運用が実務上の最適解です。
Diffusion ── 高品質・多様性に優れる
Diffusionモデルは、画像にノイズを加える過程を逆再生することで画像を生成します。GANと比べてモード崩壊が起きにくく、生成画像の多様性が高いのが特徴です。
微細な欠陥の再現精度が高く、テクスチャの自然さでもGANを上回ることが多い手法です。ControlNetを使えば、欠陥の位置や形状を精密に制御することも可能です。
課題は生成速度です。1枚あたり数秒〜数十秒かかるため、大量生成にはGPUリソースと時間が必要です。品質重視で数百枚の高品質NG画像が必要な場合に適しています。
3手法の比較表
| 項目 | GAN | VLM | Diffusion |
|---|---|---|---|
| 必要なNG画像数 | 50〜100枚/パターン | 0枚(良品のみでOK) | 10〜50枚/パターン |
| 生成速度 | 数十ms/枚 | 1〜5秒/枚 | 5〜30秒/枚 |
| 画像品質 | 高い | 中〜高 | 非常に高い |
| 多様性 | 低い(モード崩壊リスク) | 高い(プロンプト次第) | 高い |
| 欠陥位置の制御 | Pix2Pixで可能 | プロンプトで指定 | ControlNetで可能 |
| 多品種対応 | 品種ごとにモデル必要 | プロンプト変更のみ | Fine-tuningが必要 |
| 導入難易度 | 中 | 低 | 高 |
品種数・欠陥タイプ別の選定基準
品種数が少ない(1〜5品種)場合
品種数が少なく、各品種のNG画像が50枚以上ある場合はGAN一択です。高速に大量生成でき、CNNの学習データを効率的に拡充できます。NG画像が足りない初期段階のみVLMを併用します。
品種数が多い(10品種以上)場合
品種ごとにGANモデルを学習するコストが膨大になるため、VLMをベースにした運用が合理的です。全品種共通でVLMが初期データを生成し、主力品種のみGANに移行する段階的アプローチが現実的です。
微細欠陥(0.1mm以下)の場合
テクスチャの精細さが求められるため、Diffusionモデルが最適です。ControlNetで欠陥の位置・サイズを制御し、高解像度で生成します。生成速度は遅いですが、微細欠陥は数百枚の高品質データで十分な精度が出ます。
新規ライン立ち上げ(NG画像0枚)の場合
VLMで初期データを生成→実データ蓄積→GANに切り替えという直列運用が鉄板です。VLMで100〜200枚の仮想NG画像を生成し、CNNの初期モデルを構築。ラインが稼働してNG画像が蓄積されたら、GANで高速に拡充します。
Nsightの実務アプローチ ── 直列運用
Nsightでは「VLM→GAN」の直列運用を標準としています。フェーズ1ではVLMが教師役となり、0枚から仮想NG画像を生成してCNNの初期学習を行います。フェーズ2ではラインから蓄積された実NG画像を使ってGANを学習し、高速・大量の生成に切り替えます。いずれの場合も、本番の検査を行うのはCNNです。VLMもGANも「CNNに学習データを供給する教師役」という位置づけです。
モード崩壊対策 ── GANの最大リスクを管理する
モード崩壊とは、GANが学習の過程で「安全な」パターンに収束し、似たような画像ばかり生成するようになる現象です。外観検査では「見た目の異なる欠陥バリエーションが揃わない」という致命的な問題につながります。
対策1:Spectral Normalization
判別器の重みにSpectral Normalizationを適用し、学習を安定化させます。実装が簡単で効果が高いため、まず試すべき手法です。
対策2:Progressive Growing
低解像度から段階的に解像度を上げて学習する手法です。学習初期の不安定さを回避でき、高解像度画像の生成品質が向上します。
対策3:生成画像の多様性チェック
技術的な対策だけでは不十分です。生成画像を定期的にサンプリングし、目視で多様性を確認する工程を必ず設けます。重複パターンが多い場合は学習率やバッチサイズを調整し、再学習します。
モード崩壊は完全には防げない
どんな対策を講じても、GANのモード崩壊を完全に防ぐことはできません。そのため、生成画像は必ず目視チェックし、重複パターンを除去する工程を運用に組み込んでください。「生成したら終わり」ではなく「生成→チェック→除去→補充」のサイクルが必要です。
生成画像の品質評価方法
定量指標:FIDとIS
FID(Frechet Inception Distance)は実画像と生成画像の分布の距離を測る指標で、値が低いほど品質が高いことを示します。IS(Inception Score)は生成画像の品質と多様性を同時に評価し、値が高いほど良い結果です。
実務指標:CNNの検出精度
FIDやISは汎用的な指標ですが、外観検査では「生成画像でCNNを学習した結果、検出精度が上がったか」が最終的な評価基準です。具体的には、以下の手順で評価します。
- 実データのみでCNNを学習し、テストデータで検出率・過検出率を計測(ベースライン)
- 実データ+生成画像でCNNを学習し、同じテストデータで計測
- 検出率の向上幅と過検出率の変化を比較
生成画像を追加しても検出率が上がらない、または過検出が増える場合は、生成画像の品質に問題があります。生成手法やパラメータを見直してください。
まとめ ── 手法選定のフローチャート
不良画像生成の手法選定は「現時点のNG画像数」と「品種数」で決まります。NG画像が0枚ならVLMからスタート。50枚以上あればGANで高速生成。微細欠陥で品質を最優先するならDiffusion。品種が多ければVLMベースの運用が合理的です。いずれの手法も「教師役」であり、本番検査はCNNが行う——この原則を押さえた上で、フェーズに応じた使い分けが成果を出す鍵です。