(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-25
(45)【発行日】2024-04-02
(54)【発明の名称】異常検知システム、学習装置、異常検知プログラム、学習プログラム、異常検知方法、および学習方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20240326BHJP
G06N 20/00 20190101ALI20240326BHJP
【FI】
G06T7/00 350B
G06T7/00 610C
G06N20/00
(21)【出願番号】P 2020118505
(22)【出願日】2020-07-09
【審査請求日】2022-12-23
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110000671
【氏名又は名称】IBC一番町弁理士法人
(72)【発明者】
【氏名】寺中 駿人
【審査官】笠田 和宏
(56)【参考文献】
【文献】国際公開第2020/031984(WO,A1)
【文献】国際公開第2019/188040(WO,A1)
【文献】特開2019-003274(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
複数のドメインの正常のデータを入力データに用いた学習により生成された仮生成モデルに、所定のドメインの正常な検査対象のデータを入力することで得られた複数の潜在変数に基づいて、前記仮生成モデルに対し、前記複数の潜在変数のうち、前記所定のドメインの正常な前記検査対象のデータの入力に対し正常な前記検査対象の復元に寄与しない前記潜在変数を抑制した生成モデルを生成するモデル生成部を有する学習装置。
【請求項2】
前記仮生成モデルは、確率変数で表される複数の潜在変数がDisentangleな表現を獲得するように学習されることで生成された、請求項
1に記載の学習装置。
【請求項3】
請求項
1または
2に記載の前記学習装置により生成された前記生成モデルに、前記所定のドメインの前記検査対象のデータを入力することで前記生成モデルから出力される復元データと、前記所定のドメインの前記検査対象のデータとの類似度を算出する算出部と、
前記類似度に基づいて、前記検査対象のデータの異常を検知する検知部と、
を有する異常検知システム。
【請求項4】
複数のドメインの正常のデータを入力データに用いた学習により生成された仮生成モデルに、所定のドメインの正常な検査対象のデータを入力することで得られた複数の潜在変数に基づいて、前記仮生成モデルに対し、前記複数の潜在変数のうち、前記所定のドメインの正常な前記検査対象のデータの入力に対し正常な前記検査対象の復元に寄与しない前記潜在変数を抑制した生成モデルを生成する手順を含む処理をコンピューターに実行させるための学習プログラム。
【請求項5】
複数のドメインの正常のデータを入力データに用いた学習により生成された仮生成モデルに、所定のドメインの正常な検査対象のデータを入力することで得られた複数の潜在変数に基づいて、前記仮生成モデルに対し、前記複数の潜在変数のうち、前記所定のドメインの正常な前記検査対象のデータの入力に対し正常な前記検査対象の復元に寄与しない前記潜在変数を抑制した生成モデルを生成する段階を有する学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異常検知システム、学習装置、異常検知プログラム、学習プログラム、異常検知方法、および学習方法に関する。
【背景技術】
【0002】
近年、畳み込みニューラルネットワークを用いた深層学習により、検査対象の画像の特徴量を学習して、検査対象の検査を行う方法が提案されている。
【0003】
正常な検査対象の画像を学習データとした、オートエンコーダーの教師なし学習により得られた学習済みモデルを利用して、検査対象の異常を検知する技術が知られている。
【0004】
上記技術に関連し、下記特許文献1には、次の先行技術が開示されている。確率変数で表される複数の潜在変数がDisentangleな表現を獲得するように、正常な機器のデータを学習データとしてVAE(Variational AutoEncoder)を学習することで、正常な機器のデータを復元する生成モデルを生成する。そして、生成モデルに、検知対象のデータを入力した際に出力されるデータと、当該検知対象のデータとの類似度が所定値未満の場合、検知対象のデータを異常と検知する。これにより、正常な機器に関する学習データが十分に収集できない場合であっても、観測できなかった学習データの予言(Zero-shot Transfer)が可能となり、正常な機器のデータを異常と判断する誤検知を抑制できる。
【0005】
また、下記特許文献2には、次の先行技術が開示されている。検査対象の画像の特徴を抽出する畳み込み層の学習を、良品画像を学習データとしたVAE等を用いた教師なし学習により行い、識別器の学習を、畳み込み層の学習とは別に、混合正規分布モデルを用いた統計的検定等の手法により行う。これにより、検査対象の不良品画像が無い、または少ない場合でも、検査対象の画像の良否判定ができる。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2019-3274号公報
【文献】特開2019-87181号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、特許文献1に開示された先行技術は、正常な機器と異常な機器の特徴の差異を学習してないため、生成モデルの異常の復元性が比較的高くなる可能性がある。すなわち、異常とすべき検知対象のデータが生成モデルに入力された場合に、出力データに異常の特徴が復元され、異常とすべき検知対象のデータに対しても、出力データの類似度が高くなる可能性がある。これにより、異常な機器のデータを正常と判断する検知漏れが発生する可能性がある。また、同じ機器については、観測できなかった学習データの予言ができるが、機器が異なると予言ができないため、検査対象の機器が変わると正確な異常検出ができない可能性がある。
【0008】
特許文献2に開示された発明は、不良品の画像がない場合は、識別器の学習が不十分となるため、検査対象の良否判定の精度が比較的低くなる可能性がある。
【0009】
本発明は、このような問題を解決するためになされたものである。すなわち、様々なドメインの正常の入力データを用いてDisentangleな表現を獲得するように学習された生成モデルを用いることで、検査対象の範囲を容易に拡大できるとともに、異常な検査対象の検知漏れを抑止できる、異常検知システム、学習装置、異常検知プログラム、学習プログラム、異常検知方法、および学習方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の上記課題は、以下の手段によって解決される。
【0012】
(1)複数のドメインの正常のデータを入力データに用いた学習により生成された仮生成モデルに、所定のドメインの正常な検査対象のデータを入力することで得られた複数の潜在変数に基づいて、前記仮生成モデルに対し、前記複数の潜在変数のうち、前記所定のドメインの正常な前記検査対象のデータの入力に対し正常な前記検査対象の復元に寄与しない前記潜在変数を抑制した生成モデルを生成するモデル生成部を有する学習装置。
【0013】
(2)前記仮生成モデルは、確率変数で表される複数の潜在変数がDisentangleな表現を獲得するように学習されることで生成された、上記(2)に記載の学習装置。
【0014】
(3)上記(1)または(2)に記載の前記学習装置により生成された前記生成モデルに、前記所定のドメインの前記検査対象のデータを入力することで前記生成モデルから出力される復元データと、前記所定のドメインの前記検査対象のデータとの類似度を算出する算出部と、前記類似度に基づいて、前記検査対象のデータの異常を検知する検知部と、を有する異常検知システム。
【0016】
(4)複数のドメインの正常のデータを入力データに用いた学習により生成された仮生成モデルに、所定のドメインの正常な検査対象のデータを入力することで得られた複数の潜在変数に基づいて、前記仮生成モデルに対し、前記複数の潜在変数のうち、前記所定のドメインの正常な前記検査対象のデータの入力に対し正常な前記検査対象の復元に寄与しない前記潜在変数を抑制した生成モデルを生成する手順を含む処理をコンピューターに実行させるための学習プログラム。
【0018】
(5)複数のドメインの正常のデータを入力データに用いた学習により生成された仮生成モデルに、所定のドメインの正常な検査対象のデータを入力することで得られた複数の潜在変数に基づいて、前記仮生成モデルに対し、前記複数の潜在変数のうち、前記所定のドメインの正常な前記検査対象のデータの入力に対し正常な前記検査対象の復元に寄与しない前記潜在変数を抑制した生成モデルを生成する段階を有する学習方法。
【発明の効果】
【0019】
複数の潜在変数のうち、所定のドメインの検査対象のデータの入力に対し正常な検査対象の復元に寄与しない潜在変数が抑制された生成モデルを用い、生成モデルに検査対象のデータを入力したときの生成モデルによる復元データと検査対象のデータとの類似度に基づいて、検査対象のデータの異常を検知する。これにより、様々なドメインの入力データを用いてDisentangleな表現を獲得するように学習された生成モデルを用いることで、検査対象の範囲を容易に拡大できるとともに、異常な検査対象の検知漏れを抑止できる。
【図面の簡単な説明】
【0020】
【
図2】異常検知システムに含まれる異常検知装置のブロック図である。
【
図3】異常検知装置の学習時における制御部の機能ブロック図である。
【
図4】仮生成モデルの生成について説明するための説明図である。
【
図5】仮生成モデルの、正常製品画像に対する復元性能と、異常の製品画像に対する復元性能とを説明するための説明図である。
【
図6】仮生成モデルに対し、複数の潜在変数のうち、正常製品画像が入力された際に、正常製品画像の復元に寄与しない潜在変数を抑制することで、異常製品画像に対する復元性能を低下させる方法を説明するための説明図である。
【
図7】生成モデルの、正常製品画像および異常製品画像のそれぞれの復元性をドメインごとに示す図である。
【
図8】異常検知装置の異常検知時における制御部の機能ブロック図である。
【
図9】異常検知装置の学習時の動作を示すフローチャートである。
【
図10】異常検知装置の異常検知時の動作を示すフローチャートである。
【発明を実施するための形態】
【0021】
以下、図面を参照して、本発明の実施形態に係る異常検知システム、学習装置、異常検知プログラム、学習プログラム、異常検知方法、および学習方法について説明する。なお、図面において、同一の要素には同一の符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0022】
図1は、異常検知システム10の構成を示す図である。
図2は、異常検知システム10に含まれる異常検知装置100のブロック図である。なお、異常検知システム10は異常検知装置100のみにより構成され得る。
【0023】
異常検知システム10は、異常検知装置100および撮影装置200を含み得る。異常検知装置100は学習装置を構成する。
【0024】
撮影装置200は、検査対象の画像(以下、「撮影画像250」とも称する(
図4等参照))を撮影する。撮影画像250は、検査対象のデータを構成する。撮影装置200は、例えばカメラにより構成される。検査対象は、例えば製品であり、製品にはボルトやナット等の部品が含まれる。検査には、折れ、曲げ、欠け、傷、および汚れ等の異常の有無を検知することによる良品と不良品の選別検査が含まれる。検査は、折れ、曲げ、欠け、傷、および汚れ等の異常の箇所等の検知のみであってもよい。
【0025】
なお、撮影装置200は、マイク、スキャナー、および音声をテキストデータに変換する音声認識装置により代替され得る。この場合、マイクにより検知される音声のデータ(音声の周波数特性のデータを含む)、スキャナーによる走査により生成される画像、および音声認識装置により生成されるテキストデータが、検査対象のデータを構成する。
【0026】
撮影装置200は、検査対象を包含する撮影範囲を撮影し、撮影画像250を出力する。撮影画像250は、例えば、白黒画像またはカラー画像で、128ピクセル×128ピクセルの画像であり得る。撮影装置200は、撮影画像250を異常検知装置100へ送信する。
【0027】
異常検知装置100は、制御部110、記憶部120、通信部130、および操作表示部140を備える。これらの構成要素は、バス150を介して互いに接続される。異常検知装置100は、例えばコンピューター端末により構成される。
【0028】
制御部110は、CPU(Central Processing Unit)、およびRAM(Random Access Memory)、ROM(Read Only Memory)等のメモリにより構成され、プログラムに従って異常検知装置100の各部の制御および演算処理を行う。制御部110の機能の詳細については後述する。
【0029】
記憶部120は、HDD(Hard Disc Drive)、SSD(Solid State Drive)等により構成され、各種プログラムおよび各種データを記憶する。
【0030】
通信部130は、ネットワークを介して、外部の装置と通信するためのインターフェース回路(例えばLANカード等)である。
【0031】
操作表示部140は、例えば、タッチパネル、液晶ディスプレイ、およびシグナルタワーにより構成され得る。操作表示部140は、ユーザーからの各種入力を受け付ける。操作表示部140は、検査対象の検査結果を表示する。
【0032】
制御部110の機能について説明する。
【0033】
図3は、異常検知装置100の学習時における制御部110の機能ブロック図である。制御部110は、取得部111、特定部112、およびモデル生成部113として機能する。異常検知装置100の学習における学習データには、所定のドメインの正常な(良品の)データを用いる。ドメインとは、製品の品種であり、例えば、ボルト、ナット、画像形成装置、カメラ、自動車は異なるドメインである。なお、同じ品種であっても、形状等の特徴が比較的大きく異なる場合は、異なるドメインとして扱われ得る。所定のドメインは、検査対象になる品種である。検査対象が複数の品種である場合等においては、所定のドメインは複数のドメインであり得る。以下、説明を簡単にするために、正常な検査対象のデータが、正常な製品の撮影画像250(以下「正常製品画像251」と称する)であるものとして説明する。
【0034】
異常検知装置100の学習においては、複数のドメインの正常製品画像251を入力データに用いて、オートエンコーダー300の、確率変数で表される複数の潜在変数がDisentangleな表現を獲得するように学習された仮生成モデル310を予め生成する。Disentangleな表現とは、一般的には、潜在空間中の各次元が観測データ中の因子や性状ごとに分かれているような状態である。
【0035】
仮生成モデル310の生成に用いる正常製品画像251には、比較的多くのドメインの比較的大量の正常製品画像251を用いることが好ましい。仮生成モデル310の生成に用いる正常製品画像251には、検査対象である所定のドメインの正常製品画像251が含まれなくてもよい。仮生成モデル310の生成に用いる正常製品画像251には、検査対象である所定のドメインの正常製品画像251が含まれてもよい。仮生成モデル310の生成に用いる正常製品画像251には、ImageNetの画像を利用し得る。仮生成モデル310の生成に用いる正常製品画像251は、検査対象が生産される工場内の、検査対象以外の製品の正常製品画像251であってもよい。
【0036】
図4は、仮生成モデル310の生成について説明するための説明図である。
【0037】
仮生成モデル310は、例えば、オートエンコーダー300であるβ-VAE(Variational AutoEncoder)に、複数のドメインの複数の正常製品画像251を順次入力し、β-VAEから出力される出力画像260と当該正常製品画像との差(ロス)がなくなるように、バックプロパゲーションにより学習することで生成される。β-VAEは、複数の潜在変数がDisentangleな表現を獲得する学習がされるように設計されたオートエンコーダー300である。一般的に、オートエンコーダー300は、エンコーダー301とデコーダー302が組み合わされたニューラルネットワークのモデルであり、入力データに対するエンコーダー301による畳み込み演算により得られた複数の潜在変数が、デコーダー302へ出力され、デコーダー302により入力データが復元されて出力される。なお、仮生成モデル310は、複数の潜在変数がDisentangleな表現を獲得するように学習されたモデルであれば、β-VAEを用いたモデルに限定されない。例えば、仮生成モデル310は、FactorVAE、またはDIP-VAE-1等を用いたモデルであってもよい。オートエンコーダー300を、複数の潜在変数がDisentangleな表現を獲得するように学習する方法は周知技術であるため(例えば、特開2019-3274号公報に詳細が記載されている)、説明を省略する。これにより、多くのドメインの正常製品画像251の圧縮および復元が可能な仮生成モデル310を生成できる。また、オートエンコーダー300による、正常製品画像251の、出力画像260における復元性能を向上できるため、正常製品画像251を異常と判断する誤検知が抑制される。
【0038】
図5は、仮生成モデル310の、正常製品画像251に対する復元性能と、異常の製品画像(以下、「異常製品画像252」と称する)に対する復元性能とを説明するための説明図である。以下、検査対象の製品(ドメイン)として、ボルトを例に説明する。
図5のAは、正常製品画像251が仮生成モデル310に入力された場合に仮生成モデル310から出力される出力画像260の例を示している。
図5のBは、異常製品画像252が仮生成モデル310に入力された場合に、仮生成モデル310から出力される出力画像260の例を示している。
【0039】
一般的に、オートエンコーダー300を用いた異常検知においては、正常製品画像251に対するオートエンコーダー300の復元性能が高く、異常製品画像252に対するオートエンコーダー300の復元性能が低いことが求められる。これは、オートエンコーダー300に対し入力されるデータと出力されるデータとの差が、所定の閾値以下である場合に正常と判断され、所定の閾値を超える場合に異常と判断されるからである。しかし、仮生成モデル310は、正常製品画像251のみを用いて学習されており、異常製品画像252を用いて学習されていないため、異常製品画像252に対するオートエンコーダー300の復元性能が比較的高くなる可能性がある。このため、異常製品画像252を正常と判断される検知漏れが発生する可能性がある。
【0040】
図5のAにおいては、正常製品画像251に関して、仮生成モデル310の、入力に対する出力の画像の類似度が高くなっており、正常製品画像251に対する仮生成モデル310による復元性能が高くなっている。
図5のBにおいては、異常製品画像252に関しても、仮生成モデル310の、入力に対する出力の画像の類似度が高くなっており、異常製品画像252に対する仮生成モデル310による復元性能も高くなっている。
【0041】
図6は、仮生成モデル310に対し、複数の潜在変数のうち、正常製品画像251が入力された際に、正常製品画像251の復元に寄与しない潜在変数を抑制することで、異常製品画像252に対する復元性能を低下させる方法を説明するための説明図である。
【0042】
図6に示すように、複数の正常製品画像251を仮生成モデル310に入力することでそれぞれ得られた複数の潜在変数のうち、値が所定の閾値以下の潜在変数(以下、「特定潜在変数」と称する)の出力を常に0にすることにより、特定潜在変数を抑制することで生成モデル320を生成する。正常製品画像251が入力されても、値が所定の閾値以下である特定潜在変数は、正常製品画像251の復元に寄与しない潜在変数であると考えられる。所定の閾値は、異常検知装置100の異常検知精度の観点から、実験により適当に設定され得る。これにより、生成された生成モデル320に異常製品画像252が入力されたときには、異常に対応する画像の復元が抑制されて、正常製品画像251に比較的近い画像が出力され得る。すなわち、正常製品画像251に対する復元性能を向上させ、異常製品画像252に対する復元性能を低下させることができる。
【0043】
図7は、生成モデル320の、正常製品画像251および異常製品画像252のそれぞれの復元性をドメインごとに示す図である。
【0044】
図7のAおよびBに示すように、ボルトの正常製品画像251に関して特定潜在変数が抑制されることで、生成モデル320による、所定のドメインであるボルトの、正常製品画像251に対する復元性能が高く、異常製品画像252(傷がある異常)に対する復元性能を低くすることができる。
【0045】
図7のCに示すように、所定のドメインにさらにナットが含まれる場合、ナットの正常製品画像251に関して特定潜在変数がさらに抑制されることで、生成モデル320による、所定のドメインであるナットの、正常製品画像251に対する復元性能が高く、異常製品画像252(欠けがある異常)に対する復元性能を低くすることができる。なお、
図7においては、ナットの正常製品画像251に対する復元性能が高いことを示す図は省略されている。
【0046】
【0047】
取得部111は、所定のドメインの複数(例えば、10枚)の正常製品画像251を、学習データとして、撮影装置200から受信することで取得する。取得部111は、予め撮影装置200により撮影され、記憶部120に記憶された正常製品画像251を読み出すことで、所定のドメインの複数の正常製品画像251を取得してもよい。
【0048】
特定部112は、複数の正常製品画像251を仮生成モデル310に入力することでそれぞれ得られた複数の潜在変数のうち、値が所定の閾値以下の特定潜在変数を特定する。特定部112は、周知の影響度確認方法であるPermutation Importanceを用いて特定潜在変数を特定してもよい。
【0049】
モデル生成部113は、仮生成モデル310に対し、複数の潜在変数のうち、特定潜在変数を抑制することで、学習済みモデルである生成モデル320を生成する。モデル生成部113は、上述したように、特定潜在変数の出力を常に0にすることにより、特定潜在変数を抑制し得る。例えば、仮生成モデル310のオートエンコーダー300において、エンコーダー301とデコーダー302との間にフィルターを設けることで、エンコーダー301から出力される複数の潜在変数のうち特定潜在変数を0にしてデコーダー302へ出力し得る。モデル生成部113は、特定潜在変数の絶対値の大きさが大きいほど、仮生成モデル310であるオートエンコーダー300のエンコーダー301からデコーダー302への出力を小さくするといった潜在変数の抑制に重み付けがされる生成モデル320を生成してもよい。
【0050】
このように、比較的多くのドメインの比較的大量の正常製品画像251を用いて学習された仮生成モデル310を準備すれば、所定のドメインごとに少量の正常製品画像251を用いて特定潜在変数を特定して抑制するだけでよいため、異常検知システム10の高速な導入が可能になる。
【0051】
図8は、異常検知装置100の異常検知時における制御部110の機能ブロック図である。制御部110は、取得部111、算出部114、および検知部115として機能する。
【0052】
取得部111は、実際の検査の対象である所定のドメインの撮影画像250(以下、「検査対象画像」とも称する)を撮影装置200から受信することで取得する。
【0053】
算出部114は、生成モデル320に検査対象画像を入力することで生成モデル320から出力される復元データと、当該検査対象画像との類似度を算出する。例えば、算出部114は、復元データと検査対象画像の画素値のそれぞれ差の絶対値を類似度として算出して出力する。算出部114は、復元データと検査対象画像の画素値のそれぞれ差の絶対値の二乗平均を類似度として算出してもよい。算出部114は、SSIMやコサイン距離といった周知の方法で、復元データと検査対象画像の類似度を算出してもよい。
【0054】
検知部115は、算出部114により算出された類似度に基づいて、検査対象画像の異常を検知して検知結果を出力する。例えば、検知部115は、復元データと検査対象画像の画素値の差の絶対値が所定の閾値以上の画素部分を異常(欠陥)として、検査対象画像を異常と判定し得る。検知部115は、復元データと製品画像の画素値のそれぞれ差の絶対値の二乗平均が所定の閾値以上の検査対象画像を異常と判定してもよい。検知部115は、SSIMやコサイン距離といった周知の方法で算出した、復元データと検査対象画像の類似度が所定の閾値未満の製品画像を異常と判定してもよい。これらの閾値は、異常検知装置100の異常検知精度の観点から、実験により適当に設定され得る。
【0055】
異常検知装置100の動作について説明する。
【0056】
図9は、異常検知装置100の学習時の動作を示すフローチャートである。本フローチャートは、プログラムに従い、異常検知装置100の制御部110により実行され得る。
【0057】
制御部110は、所定のドメインの複数の正常製品画像251を、撮影装置200から受信することで取得する(S101)。
【0058】
制御部110は、仮生成モデル310に正常製品画像251を入力することで得られた潜在変数のうち、値が所定の閾値以下の潜在変数を特定潜在変数として特定する(S102)。
【0059】
制御部110は、仮生成モデル310に対し、特定潜在変数を抑制した生成モデル320を生成する(S103)。
【0060】
図10は、異常検知装置100の異常検知時の動作を示すフローチャートである。本フローチャートは、プログラムに従い、異常検知装置100の制御部110により実行され得る。
【0061】
制御部110は、検査対象画像を、撮影装置200から受信することで取得する(S201)。
【0062】
制御部110は、生成モデル320に検査対象画像を入力したときに生成モデル320から出力される復元データと、検査対象画像との類似度を算出する(S202)。
【0063】
制御部110は、ステップS202において算出された類似度に基づいて、検査対象画像の異常を検知する(S203)。
【0064】
実施形態は、以下の効果を奏する。
【0065】
複数の潜在変数のうち、所定のドメインの検査対象のデータの入力に対し正常な検査対象の復元に寄与しない潜在変数が抑制された生成モデルを用い、生成モデルに検査対象のデータを入力したときの生成モデルによる復元データと検査対象のデータとの類似度に基づいて、検査対象のデータの異常を検知する。これにより、様々なドメインの入力データを用いてDisentangleな表現を獲得するように学習された生成モデルを用いることで、検査対象の範囲を容易に拡大できるとともに、異常な検査対象の検知漏れを抑止できる。
【0066】
複数のドメインの正常な検査対象のデータを入力データに用いた学習により生成された仮生成モデルに、所定のドメインの正常な検査対象のデータを入力することで得られた複数の潜在変数に基づいて、仮生成モデルに対し、複数の潜在変数のうち、所定のドメインの正常な前記検査対象のデータの入力に対し正常な前記検査対象の復元に寄与しない潜在変数を抑制した生成モデルを生成する。これにより、様々なドメインの入力データを用いてDisentangleな表現を獲得するように学習された仮生成モデルを用いることで、検査対象の範囲を容易に拡大できるとともに、異常な検査対象の検知漏れを抑止できる。
【0067】
さらに、仮生成モデルに、確率変数で表される複数の潜在変数がDisentangleな表現を獲得するように学習されることで生成されたモデルを用いる。これにより、比較的少数の正常な検査対象のデータのみを用いて、異常な検査対象の検知漏れを抑止可能な生成モデルを生成できる。このため、特に少量多品種を扱う新しい生産設備や装置の立ち上げの際等において、学習データとして、良品のデータが少量しか得られず、不良品のデータが全く得られない場合であっても、短時間で異常検知検査を開始できる。
【0068】
以上に説明した、異常検知システム、学習装置、異常検知プログラム、学習プログラム、異常検知方法、および学習方法は、上述の実施形態の特徴を説明するにあたって主要構成を説明したのであって、上述の構成に限られず、特許請求の範囲内において、種々改変することができる。また、一般的な異常検知システム等が備える構成を排除するものではない。
【0069】
例えば、上述したフローチャートは、一部のステップを省略してもよく、他のステップが追加されてもよい。また各ステップの一部は同時に実行されてもよく、一つのステップが複数のステップに分割されて実行されてもよい。
【0070】
また、上述したシステムにおける各種処理を行う手段および方法は、専用のハードウェア回路、またはプログラムされたコンピューターのいずれによっても実現することが可能である。上記プログラムは、例えば、USBメモリやDVD(Digital Versatile Disc)-ROM等のコンピューター読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピューター読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送され記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、一機能としてその異常検知装置等の装置のソフトウエアに組み込まれてもよい。
【符号の説明】
【0071】
10 異常検知システム、
100 異常検知装置、
110 制御部、
111 取得部、
112 特定部、
113 モデル生成部、
114 算出部、
200 撮影装置、
250 撮影画像、
251 正常製品画像、
252 異常製品画像、
300 オートエンコーダー、
301 エンコーダー、
302 デコーダー、
310 仮生成モデル、
320 生成モデル。