
徹底比較! 不良品学習VS良品学習
2025/03/06
画像検査AIの種類

画像検査AIには大きく2種類のアルゴリズムがあります。一つは「傷」や「打痕」などの不良パターンを学習させる「教師あり学習」、もう一つは良品だけを学習させ、そこから逸脱したパターンを検出する「教師なし学習」です。本記事では、これら二つのアルゴリズムについて解説していきます。
教師あり学習
教師あり学習は、画像データとその対応するラベルを使って機械学習モデルを訓練し、画像に基づいた予測や分類を行うプロセスです。この方法では、各画像に「何が写っているか」というラベル(たとえば「犬」「猫」など)が与えられ、モデルはその画像とラベルの関係を学習します。画像検査においては、一般的に不良品学習と呼ばれることもあります。
具体的な流れは以下のとおりです。
1. データ収集とラベル付け
画像データセットには、各画像に対応するラベルが付けられています。たとえば、動物の画像のデータセットでは、各画像が「犬」「猫」「鳥」などのラベルとともに提供されます。
2. 特徴量抽出
モデルは、画像を直接学習する場合と、特徴量(色、形、大きさ、エッジなど)を抽出して学習する場合があります。近年では、ディープラーニング技術(特に畳み込みニューラルネットワーク(CNN))を用いて、画像から自動的に特徴量を抽出して画像の特徴を学習する方法がよく利用されます。
3. モデル学習
学習データ(画像とラベルのペア)を使ってモデルを訓練します。この段階で、モデルは各画像に対応するラベルを予測するためのパターンを学習します。たとえば、「犬」と「猫」の画像をそれぞれ学習して、犬の画像を「犬」と、同じく猫の画像を「猫」と予測するようにモデルが訓練されます。
4. 予測・分類
訓練されたモデルは、未知の新しい画像が与えられると、学習した中でその画像に最も適したラベルは何かを予測します。
教師あり学習による機械学習モデルの例
手書き数字認識(MNISTデータセット)
各画像に0から9までの数字が手書きで書かれており、その画像を基に、モデルは「どの数字が書かれているか」を予測します。物体認識(COCOデータセットなど)
画像内に含まれる物体(たとえば、犬や車)を識別します。
画像認識AIに関する詳しい解説は下記をご参照ください。
参考:画像認識AIって何ができるの?
教師あり学習のメリット
高精度な分類
正解ラベルが与えられることで、モデルはより高精度で分類・予測を行うことができます。大規模データ活用
大量のラベル付き画像データが利用可能であれば、ディープラーニングモデルを用いて強力な認識能力を発揮することができます。
このように、画像認識における教師あり学習は、ラベル付けされた大量の画像データを使って、画像内の特徴を学び、未知の画像に対して適切な分類や予測を行う方法です。
ただし、製造業においては、教師データにあたる不良品画像の収集が難しいケースもあります。こうした場合は、少量の不良品データをもとに画像生成AIによって不良画像を作成し、データを増やすアプローチが重要になります。
教師なし学習
教師なし学習は、ラベルなしの画像データを使用して、画像のパターンや構造を学習する手法です。教師あり学習では画像とその画像に対する正しいラベルが必要ですが、教師なし学習ではラベルが存在しないデータを用いて、データの隠れた特徴やグループ分けを見つけ出します。画像検査においては、一般的に良品学習と呼ばれることもあります。
教師なし学習では、主に以下のような手法が使われます。
1. クラスタリング(Clustering)
クラスタリングは、データを似た特徴を持つグループ(クラスタ)に分ける方法です。画像認識では、同じ種類の画像(たとえば、犬、猫、車など)をラベルなしでグループ化するために使われます。代表的なアルゴリズムは k-means や DBSCAN などです。
例 動物の画像を教師なしでクラスタリングすると、似たような画像が同じグループに分類されます。これにより、犬、猫、鳥などの異なる動物の種類が識別が可能になります。
2. 自己符号化器(Autoencoder)
自己符号化器は、画像を圧縮して重要な特徴を抽出するためのニューラルネットワークの一種です。入力画像を低次元の潜在空間に圧縮し、その後再構成します。自己符号化器を使うと、画像の重要な特徴を抽出することができ、特徴量を使って画像を分析したり、異常検出に利用したりすることができます。
例 画像を圧縮した後、再構成される画像と元の画像の違いを使って、画像の特徴や異常を学習します。これにより、特定のパターンや異常な画像を認識できるようになります。
3. 生成的モデル(Generative Models)
生成的モデル(例:生成的敵対ネットワーク(GANs)、変分オートエンコーダ(VAEs))は、教師なしで画像などの新しいデータを生成する能力を持つモデルです。これらのモデルは、既存の画像データセットから新しい画像を生成したり、画像の潜在的な構造を学習することができます。
例 GANを用いると、風景や人物といった特定のカテゴリーの新しい画像を生成することができます。この方法は、画像生成や、新たなトレーニングデータ作成のためのデータ拡張などに利用されます。
4. 次元削減(Dimensionality Reduction)
次元削減手法(例:主成分分析(PCA)、t-SNE)を使って、高次元の画像データを低次元に圧縮します。これにより、画像の主要な特徴を抽出し、データを視覚的に理解しやすい形に変換することができます。
例 高次元の画像を2Dや3Dに圧縮して可視化し、似た特徴を持つ画像を近くに配置することで、どのような画像が似ているかを目で確認できます。
教師なし学習のメリット
ラベルなしデータを活用できる
ラベルを手に入れるのが難しい場合でも、教師なし学習を使って画像データのパターンを学習できます。パターンや構造を発見
データに隠れた構造や関係性を発見するのに役立ちます。たとえば、異常検出やクラスター化に利用できます。データの特徴抽出
画像から重要な特徴を自動的に学習し、データの圧縮や生成に利用できます。
PaDiM
PaDiMは、画像中の異常を検出するために、画像内の「パッチ」(小さな領域)を分析します。従来の異常検出手法では、画像全体を使って異常を判定することが多かったのに対し、PaDiMは画像を小さなパッチに分け、各パッチの分布を学習し、その分布から外れる部分を異常として識別します。
主な特徴
パッチベースの特徴学習
PaDiMは、画像を小さなパッチに分割して、それぞれのパッチの特徴を学習します。これにより、画像全体の特徴に限らず、細かい局所的な特徴を重視することができます。分布モデル
各パッチの特徴を確率分布でモデル化します。このモデルは、正常な画像のパッチから得られる特徴の分布を学習します。異常な画像は、この分布から外れる特徴を持っているため、分布から逸脱したパッチを異常として検出します。異常スコアの計算
PaDiMでは、各パッチが正常なデータの分布にどれだけ合致しているかを基に異常スコアを計算します。このスコアが高いパッチほど異常の可能性が高いと判断されます。教師なし学習
PaDiMは事前学習済みのモデルを利用して、教師なしで異常検出を行います。つまり、異常なデータに対するラベルは必要なく、正常なデータのみで学習を行い、未知のデータに対して異常を発見します。
PaDiMのメリット
局所的な異常検出
PaDiMは画像をパッチに分けて特徴を学習するため、異常が画像全体ではなく局所的に発生している場合にも対応できます。教師なしのアプローチ
ラベル付きの異常データが不要なため、異常データが少ない場合や、ラベル付けが難しい場合でも有効に機能します。細かな異常検出
小さなパッチ単位で異常を検出するため、異常がわずかな部分に現れる場合でも、精度高く異常を検出できます。
PaDiMの活用例
製造業の品質管理
生産ラインで製造された製品の画像を解析し、異常がある製品を特定します。医療画像解析
X線画像やMRI画像といった医療用画像から異常を検出します。たとえば、がんの兆候を発見するためにされます。監視カメラ映像
動物の監視や不審者の監視、異常行動の検出など、監視カメラの映像から異常なパターンを検出します。
FastFlow
FastFlow(ファストフロー)は、生成モデルの一種で、特に画像生成や異常検出などのタスクで使われるフロー型モデルに基づいています。これは、確率的な生成モデルの中で「逆変換可能な変換」を用いてデータの生成と変換を行う方法の一つです。FastFlow は、主に「確率的生成モデル」として使われることが多く、生成フロー(normalizing flow)の高速化を目的としたアプローチです。
FastFlowの基本的な概念
生成モデル
FastFlowは、生成モデルの一種で、与えられた入力データから新しいデータを生成します。このモデルは、データを潜在空間にマッピングし、その潜在空間で生成されたデータを元の空間に変換します。この変換は可逆的(逆変換可能)であるため、生成と逆方向の計算が容易です。フロー型モデル(Normalizing Flow)
FastFlowは生成フロー(normalizing flow)に基づいています。フロー型モデルでは、データ空間の分布を別の分布に変換する一連の可逆的な変換(トランスフォーメーション)を利用します。この変換を通じて、複雑な分布を簡単な分布に近づけたり、その逆を行ったりすることができます。高速化
FastFlowは、従来のフロー型モデルの計算の効率を改善し、モデルの訓練や生成を高速化することを目的としています。そのため、複雑な計算を行う必要がある生成モデルでも、高速で動作させることが可能になります。
FastFlowの特徴
可逆変換
FastFlowは生成フローの変換がすべて可逆であるため、生成されたデータを元の空間に戻したり、逆にデータから潜在空間にマッピングしたりすることができます。効率性
FastFlowは、従来のフロー型モデルに比べて計算効率が向上しており、大規模なデータセットや複雑な生成タスクにおいても高速で処理が可能です。データのモデリング
FastFlowは、複雑なデータ分布を正確にモデリングでき、生成タスクにおいて質の高いデータを生成することが可能です。
FastFlowの活用例
画像生成
人物画像や風景画像などを生成する画像生成タスクにおいて利用されます。FastFlowは高解像度の画像を生成する能力を持つため、画像の合成や補完にも利用することができます。異常検出
FastFlowは、データの生成プロセスを学習するため、正常なデータ分布をモデル化し、そこから外れる異常データを識別する異常検出にも利用されます。特に製造業の品質検査や医療画像の異常検出などに活用されます。データ補完
上述のとおり、欠損データを補完するタスクにもFastFlowを応用できます。
PatchCore
PatchCore は、異常検知(Anomaly Detection)の分野で使われる深層学習モデルの一つで、特に教師なし学習に基づいたアプローチです。このモデルは、特に画像データにおける異常検出で優れた性能を発揮します。
PatchCoreの主な特徴
パッチベースの異常検知
PatchCoreは、画像などの入力データを小さなパッチ(部分)に分割して処理します。それぞれのパッチを個別に評価し、異常なパッチを検出することで、画像全体の異常を特定します。画像の特定の部分に現れる局所的な異常を高精度で検出できる点が特徴です。
教師なし学習
PatchCoreは事前学習済みのモデルを利用して、教師なし学習の方法で動作します。そのため、異常データを事前にラベル付けする必要がありません。正常データのみで学習し、そのデータから外れるパターンを異常として認識します。事前に異常を学習することなく、未知の異常を効果的に検出する能力があります。
特徴抽出と異常スコアリング
PatchCoreは、深層学習を用いて入力データから特徴を抽出し、その特徴に基づいて異常スコアを計算することで、正常データと異常データの違いを識別します。画像の各パッチに対してスコアを付け、スコアが一定の閾値を超えると異常として認識されます。
高精度な異常検出
PatchCoreは、局所的な異常を高精度で捉えることができるため、画像内の微細な欠陥や異常を見逃さずに検出できます。たとえば、製造業における製品検査や医療画像解析において有効です。
効率的な計算
大規模なデータセットに対しても高い効率性を持ち、リアルタイムで異常検出が可能です。このため、製造ラインやセンサーデータの監視、監視カメラの画像解析など、さまざまなアプリケーションに対応できます。
PatchCoreの動作の概要
学習フェーズ
正常データを使って、正常なパッチの特徴を学習します。通常、畳み込みニューラルネットワーク(CNN)などのモデルを利用して特徴抽出が行われます。
異常検出フェーズ
未学習の新たなデータをモデルに入力し、各パッチを評価します。評価されたパッチが正常データの特徴から大きく外れている場合、それは異常として検出されます。
適用分野
製造業
生産ラインにおける傷や欠損などの製品の欠陥を検出します。医療分野
CTスキャンやX線画像などの医療画像から、腫瘍や病変などの異常を発見します。センサーデータ解析
機械の動作データや振動、温度などの異常を監視し、故障を予測・察知します。
PatchCoreの利点
高精度な局所的異常検出
部分的な異常を検出する能力が高いです。教師なし学習
異常データのラベルがなくても異常を検出できるため、ラベル付けが難しいデータでも適用が可能です。効率性
大規模なデータセットにも適用でき、リアルタイムでの異常検出が可能です。
PatchCoreとPaDiMの違い
項目 | PaDiM | PatchCore |
|---|---|---|
手法の核 | ガウス分布モデル | メモリバンク(コアセット) |
異常スコア | マハラノビス距離 | 近傍検索(最近傍距離) |
計算コスト | 低い | 高い(コアセットで軽減可) |
メモリ使用量 | 少ない | 多い(コアセットで軽減可) |
精度 | 中~高 | 高い |
PatchCore のほうが精度が高いが、PaDiM は計算が軽く、リソース制限のある環境では有利な場合もあります。
どちらを選ぶかは、求める精度・計算リソース・メモリ制約に応じて決めると良いでしょう。
PatchCoreは、高い精度と柔軟性を提供するアプローチとして、特に精密な異常検出を必要とするアプリケーションで広く活用されています。
不良品学習と良品学習の使い分け

ここまで、教師あり学習(不良品学習)と教師なし学習(良品学習)の特徴についてご紹介してきました。続いて、製造業での実際の生産ラインにおいて製品の検査を試みる際、この二つの学習方法をどのように使い分けるべきか、解説していきます。
不良品学習向きの例
下記のようなケースにおいては、不良品学習を使うのが適切です。
良品にばらつきがあるケース
機械加工後の製品の表面が常に均一な状態ではない場合は、傷などの不良箇所を学習させるのが有効です。菓子などの食品もこのケースに該当します。良品のパターンが無数に存在してしまう場合、特定の良品状態のみを学習させても、そこから逸脱する良品も「異常」として判断してしまうためです。
良好な撮像環境が用意できないケース
検査対象の製品にどうしても「汚れ」や「ほこり」などが付着してしまうような場合も、不良パターンを学習させるのが適切です。良品学習の場合、実際のところ不良ではない「汚れ」などでも、事前に学習していないものは「異常」と判断されてしまいます。
良品学習向きの例
良品学習の一番のメリットは、「不良品データが不要」であることでしょう。品質検査の自動化を目指すなかで、良品画像ならいくらでも用意ができるが、不良品の画像をたくさん集めるのは難しい、という製造業の現場は非常に多いかと思われます。しかし、不良品データを集める手間がかからない一方で、良品学習が適用できるケースはそう多くないのも事実です。
下記の二つの条件を満たしているのであれば、良品学習を使える可能性があります。
良品が1パターンである
良品の状態にばらつきが一切なく、常に一様であるケースは、良品学習が効果を発揮します。色味や表面の粗さなどが全く同じであれば、その状態を学習させ、そこから逸脱したものを検出することで不良品を排除できます。
良好な撮像環境を用意できる
前述のとおり、「汚れ」などが付着せず、検査対象の位置がずれたり、予期せぬ光が入るなどの外的要因をすべて排除できるのであれば、良品学習を適用できる可能性があります。しかし、不良品データが不要な一方で、不良品学習を適用する場合よりも撮像環境の構築にリソースを割く必要があります。
まとめ
今回は、画像検査における、不良品学習と良品学習の違いについて解説しました。現在は、ユースケースとしては不良品学習の方が多いのが実情ですが、それぞれの判定パターンに強み・弱みがありますので、自社に合った手法を検討していく必要があります。
当社では、画像検査AIをノーコードで導入できるプラットフォーム「TechSword Vision」をご提供しています。画像検査AIのデメリットであるラベル付けも容易で、AIの開発から運用まで簡単に実現することができます。
ご興味がある場合は、ぜひ詳細なサービス説明資料をご請求ください。
また、具体的な導入事例や導入後の流れについても、ご希望に応じて説明させて頂きます。ぜひお気軽にお問い合わせください。




