学習データが100枚未満でも、適切なデータ拡張を組み合わせれば外観検査AIの精度は大幅に向上します。本記事では、製造現場で実際に効果が高い拡張手法と、検査特有の落とし穴を体系的に解説します。
外観検査AIの精度を上げるために最も手軽かつ効果的なアプローチがデータ拡張(Data Augmentation)です。元画像に回転・反転・色変換などの加工を施して学習データを疑似的に増やすことで、CNNの汎化性能を高め、過学習を抑制できます。特に製造業の外観検査では、欠陥品(NG画像)の数が圧倒的に少ないことが一般的であり、データ拡張はこの「クラス不均衡」問題を緩和する実用的な手段として広く活用されています。
ただし、拡張手法の選択を誤ると「欠陥が変形で消えてしまう」「存在しない欠陥パターンを学習してしまう」といった逆効果が生じます。外観検査ならではの注意点を押さえたうえで、段階的に拡張戦略を設計することが重要です。
最も基本的かつ外観検査との相性が良いのが幾何学的変換です。製品がカメラに対してどの角度・位置で映るかは撮影のたびにわずかに変わるため、幾何学的なバリエーションを増やすことはモデルの実環境での頑健性に直結します。
微細なキズや小さな打痕を含むNG画像を大きくクロップすると、欠陥領域が切り取られてしまい、事実上「良品画像」として学習されるリスクがあります。NG画像に対しては欠陥領域のバウンディングボックスを考慮したクロップ範囲の制限が必要です。
照明条件の変動は、製造現場の外観検査で精度低下を招く最大の外乱要因のひとつです。色空間変換によるデータ拡張は、照明変動に対するモデルの耐性を効果的に高めます。
色空間変換は幾何学的変換と組み合わせることで相乗効果が期待できます。例えば、1枚のNG画像に対して「水平反転 + 明度-10% + ガウシアンノイズ」のような複合変換を適用すれば、1枚から数十パターンの学習データを生成できます。
Nsightでは、少量データからでも高精度な外観検査AIを構築する手法をご提案しています。データ拡張戦略の設計からモデル構築まで、まずはお気軽にご相談ください。
Mixup と CutMix は、2枚の画像を合成して新たな学習サンプルを生成する手法です。単純な幾何学的変換とは異なり、モデルの決定境界を滑らかにする「正則化」効果が得られるため、過学習の抑制に特に効果的です。
2枚の画像をピクセル単位で加重平均し、ラベルも同じ比率で混合します。例えば、良品画像とNG画像を7:3で混ぜた場合、ラベルも「良品0.7 / NG 0.3」として学習します。これによりモデルが極端な判定を行いにくくなり、境界付近の判別能力が向上します。
一方の画像の矩形領域を切り取り、もう一方の画像に貼り付けます。Mixupよりも局所的な特徴を保持しやすく、外観検査では「欠陥領域を別の良品背景に配置する」効果が得られるため、位置依存性の低減に有効です。
| 手法 | 仕組み | 外観検査での効果 | 注意点 |
|---|---|---|---|
| Mixup | 2枚をピクセル平均 | 過学習抑制、判定境界の平滑化 | 混合比が大きいと画像が不自然に |
| CutMix | 矩形切り貼り | 位置依存性の低減 | 欠陥領域が切り取られる可能性 |
| CutOut | 矩形領域をマスク | オクルージョン耐性向上 | 欠陥がマスクされると逆効果 |
従来のデータ拡張は既存画像の「変形」に過ぎず、元データにないパターンは生成できません。この限界を超えるのがGAN(敵対的生成ネットワーク)を用いた合成データ生成です。GANは良品・不良品の画像分布を学習し、まったく新しい画像を生成できるため、元データのバリエーションでは補えない欠陥パターンの拡充が可能になります。
外観検査での代表的なGANアーキテクチャには以下があります。
さらに最近では、VLM(Vision-Language Model)を活用したアプローチも注目されています。VLMは良品画像から欠陥パターンを学習し、仮想的なNG画像を自動生成できます。生成された合成データでCNNを訓練することで、実際の欠陥サンプルが極めて少ない初期段階でも、高精度な検査モデルの構築が可能になります。
データ拡張は「多ければ多いほど良い」わけではありません。過剰な拡張は以下の問題を引き起こします。
外観検査では、微細なキズ・異物・色ムラなどの欠陥が画像全体のごく一部を占めるのが一般的です。強いブラーやダウンサンプリングを適用すると、これらの微小な欠陥情報が容易に失われます。欠陥のサイズや特性に応じて拡張手法を使い分ける設計が不可欠です。
効果的なデータ拡張戦略を設計するためには、以下のステップで段階的に進めることを推奨します。
まず良品・NG品それぞれの画像枚数、欠陥の種類・サイズ・出現位置を整理します。欠陥が画像のどの程度の面積を占めるか(欠陥占有率)は、適用可能な拡張手法を大きく左右します。
最初は水平反転・微小回転(5度以内)・明度調整(±10%以内)のように、欠陥情報が確実に保持される範囲で拡張を行います。この段階で精度向上が確認できれば、追加の拡張は不要な場合もあります。
拡張を追加するたびに、拡張を適用していない検証データセットで精度を確認します。拡張の種類を増やしても検証精度が改善しなくなった時点が最適な拡張量の目安です。
基本拡張だけでは精度が足りない場合、GANやVLMによる合成データ生成を検討します。特にNG画像が10枚未満の場合は、従来の拡張だけでは限界があるため、合成データ生成との組み合わせが有効です。
| データ量 | 推奨アプローチ | 期待される効果 |
|---|---|---|
| NG 100枚以上 | 基本拡張(幾何学的+色空間) | 安定した精度向上 |
| NG 10〜100枚 | 基本拡張 + Mixup/CutMix | 過学習抑制と精度改善 |
| NG 10枚未満 | 基本拡張 + GAN/VLM合成データ | 欠陥パターンの補完 |
| NG 0枚(良品のみ) | VLMによる仮想NG生成 + CNN学習 | ゼロショットに近い立ち上げ |
幾何学的変換や色空間変換だけでも精度向上は見込めますが、欠陥パターンのバリエーションが不足している場合はGANベースの合成データ生成を組み合わせることでさらに効果が高まります。拡張のみに頼りすぎると過学習のリスクもあるため、検証データでの評価が重要です。
欠陥が消えてしまう変換には注意が必要です。例えば、微細なキズを含む画像に強いぼかしやダウンサンプリングを適用すると、欠陥情報が失われてしまいます。また、過度な回転で欠陥の方向性情報が無意味になるケースもあります。
データ拡張は既存画像に幾何学的・色彩的な変換を加えて枚数を増やす手法で、元画像の情報量は変わりません。一方、GANは学習した分布から全く新しい画像を生成するため、元データにないバリエーションを作り出せる点が大きな違いです。
VLM(Vision-Language Model)を活用すれば、良品画像数枚から欠陥パターンを学習し、仮想的なNG画像を自動生成できます。生成された合成データでCNNを学習させることで、実欠陥データが少ない段階でも高精度な検査モデルの構築が可能です。