(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 610Z
G06N20/00
(21)【出願番号】P 2020118503
(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】
前記異常に関する情報を受け付ける情報受付部と、
前記異常に関する情報に基づいて、前記正常な検査対象のデータを変換することで、前記異常な検査対象のデータを生成するデータ生成部と、をさらに有し、
前記比較部は、前記仮生成モデルに前記正常な検査対象のデータを入力することで得られた前記複数の潜在変数と、前記データ生成部により生成された前記異常な検査対象のデータを前記仮生成モデルに入力することで得られた前記複数の潜在変数とを比較する、請求項
1または
2に記載の学習装置。
【請求項5】
請求項
1~
4のいずれかに記載の前記学習装置により生成された前記生成モデルに、前記検査対象のデータを入力することで前記生成モデルから出力される復元データと、前記検査対象のデータとの類似度を算出する算出部と、
前記類似度に基づいて、前記検査対象のデータの異常を検知する検知部と、
を有する異常検知システム。
【請求項6】
正常な検査対象のデータを入力データに用いた学習により生成された仮生成モデルに、前記正常な検査対象のデータを入力することで得られた複数の潜在変数と、前記仮生成モデルに、前記正常な検査対象のデータに異常が付加された異常な検査対象のデータを入力することで得られた前記複数の潜在変数とを比較する手順(a)と、
前記手順(a)による比較結果に基づいて、前記仮生成モデルに対し、前記複数の潜在変数のうち、前記異常な検査対象のデータが入力されることで前記異常に反応した前記潜在変数を抑制することで、生成モデルを生成する手順(b)と、
を有する処理をコンピューターに実行させるための学習プログラム。
【請求項7】
正常な検査対象のデータを入力データに用いた学習により生成された仮生成モデルに、前記正常な検査対象のデータを入力することで得られた複数の潜在変数と、前記仮生成モデルに、前記正常な検査対象のデータに異常が付加された異常な検査対象のデータを入力することで得られた前記複数の潜在変数とを比較する段階(a)と、
前記段階(a)による比較結果に基づいて、前記仮生成モデルに対し、前記複数の潜在変数のうち、前記異常な検査対象のデータが入力されることで前記異常に反応した前記潜在変数を抑制することで、生成モデルを生成する段階(b)と、
を有する学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異常検知システム、学習装置、異常検知プログラム、学習プログラム、異常検知方法、および学習方法演算装置の学習方法に関する。
【背景技術】
【0002】
近年、畳み込みニューラルネットワークを用いた深層学習により、検査対象の画像の特徴量を学習して、検査対象の検査を行う方法が提案されている。
【0003】
正常な検査対象の画像を学習データとして、VAE(Variational AutoEncoder)を教師なし学習することで得られた生成モデルに、検査対象の画像を入力し、入出力のデータを比較することで検査対象の異常を検知する技術が知られている。
【0004】
上記技術に関連し、下記特許文献には、次の先行技術が開示されている。確率変数で表される複数の潜在変数がDisentangleな表現を獲得するように、正常な機器のデータを学習データとしてVAEを学習することで、正常な機器のデータを復元する生成モデルを生成する。そして、生成モデルに、検知対象のデータを入力した際に出力されるデータと、当該検知対象のデータとの類似度が所定値未満の場合、検知対象のデータを異常と検知する。これにより、正常な機器に関する学習データが十分に収集できない場合であっても、観測できなかった学習データの予言(Zero-shot Transfer)が可能となり、正常な機器のデータを異常と判断する誤検知を抑制できる。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上記先行技術は、正常な機器と異常な機器の特徴の差異を学習してないため、生成モデルの異常の復元性が比較的高くなる可能性がある。すなわち、異常とすべき検知対象のデータが生成モデルに入力された場合に、出力データに異常の特徴が復元され、異常とすべき検知対象のデータに対しても、出力データの類似度が高くなる可能性がある。これにより、異常な機器のデータを正常と判断する検知漏れが発生する可能性がある。
【0007】
本発明は、このような問題を解決するためになされたものである。すなわち、生成モデルの、異常な検査対象の入力データに対する復元性を抑制することで、異常な検査対象の検知漏れを抑止できる、異常検知システム、学習装置、異常検知プログラム、学習プログラム、異常検知方法、および学習方法演算装置の学習方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の上記課題は、以下の手段によって解決される。
【0010】
(1)正常な検査対象のデータを入力データに用いた学習により生成された仮生成モデルに、前記正常な検査対象のデータを入力することで得られた複数の潜在変数と、前記仮生成モデルに、前記正常な検査対象のデータに異常が付加された異常な検査対象のデータを入力することで得られた前記複数の潜在変数とを比較する比較部と、前記比較部による比較結果に基づいて、前記仮生成モデルに対し、前記複数の潜在変数のうち、前記異常な検査対象のデータが入力されることで前記異常に反応した前記潜在変数を抑制した生成モデルを生成するモデル生成部と、を有する学習装置。
【0011】
(2)前記仮生成モデルは、確率変数で表される複数の潜在変数がDisentangleな表現を獲得するように学習されることで生成された、上記(1)に記載の学習装置。
【0012】
(3)前記正常な検査対象のデータに前記異常が付加されたデータを、前記異常な検査対象のデータとして受け付けるデータ受付部をさらに有し、前記比較部は、前記仮生成モデルに前記正常な検査対象のデータを入力することで得られた前記複数の潜在変数と、前記データ受付部により受け付けられた前記異常な検査対象のデータを前記仮生成モデルに入力することで得られた前記複数の潜在変数とを比較する、上記(1)または(2)に記載の学習装置。
【0013】
(4)前記異常に関する情報を受け付ける情報受付部と、前記異常に関する情報に基づいて、前記正常な検査対象のデータを変換することで、前記異常な検査対象のデータを生成するデータ生成部と、をさらに有し、前記比較部は、前記仮生成モデルに前記正常な検査対象のデータを入力することで得られた前記複数の潜在変数と、前記データ生成部により生成された前記異常な検査対象のデータを前記仮生成モデルに入力することで得られた前記複数の潜在変数とを比較する、上記(1)または(2)に記載の学習装置。
【0014】
(5)上記(1)~(4)のいずれかに記載の前記学習装置により生成された前記生成モデルに、前記検査対象のデータを入力することで前記生成モデルから出力される復元データと、前記検査対象のデータとの類似度を算出する算出部と、前記類似度に基づいて、前記検査対象のデータの異常を検知する検知部と、を有する異常検知システム。
【0016】
(6)正常な検査対象のデータを入力データに用いた学習により生成された仮生成モデルに、前記正常な検査対象のデータを入力することで得られた複数の潜在変数と、前記仮生成モデルに、前記正常な検査対象のデータに異常が付加された異常な検査対象のデータを入力することで得られた前記複数の潜在変数とを比較する手順(a)と、前記手順(a)による比較結果に基づいて、前記仮生成モデルに対し、前記複数の潜在変数のうち、前記異常な検査対象のデータが入力されることで前記異常に反応した前記潜在変数を抑制することで、生成モデルを生成する手順(b)と、を有する処理をコンピューターに実行させるための学習プログラム。
【0018】
(7)正常な検査対象のデータを入力データに用いた学習により生成された仮生成モデルに、前記正常な検査対象のデータを入力することで得られた複数の潜在変数と、前記仮生成モデルに、前記正常な検査対象のデータに異常が付加された異常な検査対象のデータを入力することで得られた前記複数の潜在変数とを比較する段階(a)と、前記段階(a)による比較結果に基づいて、前記仮生成モデルに対し、前記複数の潜在変数のうち、前記異常な検査対象のデータが入力されることで前記異常に反応した前記潜在変数を抑制することで、生成モデルを生成する段階(b)と、を有する学習方法。
【発明の効果】
【0019】
検査対象の異常に反応する潜在変数が抑制された生成モデルを用い、生成モデルに検査対象のデータを入力したときの生成モデルによる復元データと検査対象のデータとの類似度に基づいて、検査対象のデータの異常を検知する。これにより、生成モデルの、異常な検査対象の入力データに対する復元性を抑制することで、異常な検査対象の検知漏れを抑止できる。
【図面の簡単な説明】
【0020】
【
図3】異常検知装置の学習時における制御部の機能ブロック図である。
【
図4】仮生成モデルの生成について説明するための説明図である。
【
図5】仮生成モデルの、正常製品画像に対する復元性能と、異常製品画像に対する復元性能とを説明するための説明図である。
【
図6】仮生成モデルに対し、複数の潜在変数のうち、異常製品画像が入力された際に、異常に反応する潜在変数を抑制することで、異常製品画像に対する復元性能を低下させる方法を説明するための説明図である。
【
図7】異常検知装置の異常検知時における制御部の機能ブロック図である。
【
図8】異常検知装置の学習時の動作を示すフローチャートである。
【
図9】異常検知装置の異常検知時の動作を示すフローチャートである。
【発明を実施するための形態】
【0021】
以下、図面を参照して、本発明の実施形態に係る異常検知システム、学習装置、異常検知プログラム、学習プログラム、異常検知方法、および学習方法演算装置の学習方法について説明する。なお、図面において、同一の要素には同一の符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0022】
図1は、異常検知システム10の構成を示す図である。
図2は、異常検知システム10に含まれる異常検知装置100のブロック図である。なお、異常検知システム10は異常検知装置100のみにより構成され得る。
【0023】
異常検知システム10は、異常検知装置100および撮影装置200を含み得る。異常検知装置100は学習装置を構成する。
【0024】
撮影装置200は、検査対象の画像(以下、「撮影画像250」(
図5等参照)とも称する)を撮影する。撮影画像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、受付部114、およびデータ生成部115として機能する。異常検知装置100の学習における学習データには、複数の正常な検査対象のデータを用いる。以下、説明を簡単にするために、正常な検査対象のデータが、正常な所定の製品の撮影画像250(以下「正常製品画像251」と称する)であるものとして説明する。
【0034】
異常検知装置100の学習においては、正常製品画像251を入力データに用いて、オートエンコーダー300の、確率変数で表される複数の潜在変数がDisentangleな表現を獲得するように学習された仮生成モデル310を予め生成する。Disentangleな表現とは、一般的には、潜在空間中の各次元が観測データ中の因子や性状ごとに分かれているような状態である。
【0035】
図4は、仮生成モデル310の生成について説明するための説明図である。
【0036】
仮生成モデル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を用いて学習しても、オートエンコーダー300による、正常製品画像251の、出力画像260における復元性能を向上できるため、正常製品画像251を異常と判断する誤検知が抑制される。従って、例えば、少量多品種を扱う生産現場等において、正常製品画像251が少数しか準備できず、かつ異常の製品画像(以下、「異常製品画像252」と称する(
図5等参照))が全く準備できない場合であっても、製品の検査精度を向上できる。異常製品画像252は、異常な検査対象のデータを構成する。
【0037】
図5は、仮生成モデル310の、正常製品画像251に対する復元性能と、異常製品画像252に対する復元性能とを説明するための説明図である。以下、検査対象の製品として、ボルトを例に説明する。
図5のAは、正常製品画像251が仮生成モデル310に入力された場合に仮生成モデル310から出力される出力画像260の例を示している。
図5のBは、正常製品画像251に対して、異常の例としての傷を付加することで得た異常製品画像252が仮生成モデル310に入力された場合に、仮生成モデル310から出力される出力画像260の例を示している。
【0038】
一般的に、オートエンコーダー300を用いた異常検知においては、正常製品画像251に対するオートエンコーダー300の復元性能が高く、異常製品画像252に対するオートエンコーダー300の復元性能が低いことが求められる。これは、オートエンコーダー300に対し入力されるデータと出力されるデータとの差が、所定の閾値以下である場合に正常と判断され、所定の閾値を超える場合に異常と判断されるからである。しかし、仮生成モデル310は、正常製品画像251のみを用いて学習されており、異常製品画像252を用いて学習されていないため、異常製品画像252に対するオートエンコーダー300の復元性能が比較的高くなる可能性がある。このため、異常製品画像252を正常と判断される検知漏れが発生する可能性がある。
【0039】
図5のAにおいては、正常製品画像251に関して、仮生成モデル310の、入力に対する出力の画像の類似度が高くなっており、正常製品画像251に対する仮生成モデル310による復元性能が高くなっている。
図5のBにおいては、異常製品画像252に関しても、仮生成モデル310の、入力に対する出力の画像の類似度が高くなっており、異常製品画像252に対する仮生成モデル310による復元性能も高くなっている。
【0040】
図6は、仮生成モデル310に対し、複数の潜在変数のうち、異常製品画像252が入力された際に、異常に反応する潜在変数を抑制することで、異常製品画像252に対する復元性能を低下させる方法を説明するための説明図である。
【0041】
図6に示すように、複数の正常製品画像251を仮生成モデル310に入力することでそれぞれ得られた複数の潜在変数と、複数の正常製品画像251に異常の例としての傷をそれぞれ付加することで得た異常製品画像252を仮生成モデル310に入力することでそれぞれ得られた複数の潜在変数とをそれぞれ比較する。そして、仮生成モデル310において、異常(欠陥である傷)に反応した潜在変数を抑制することで生成モデル320を生成する。これにより、生成された生成モデル320に異常製品画像252が入力されたときには、異常に対応する画像の復元が抑制されて、正常製品画像251に比較的近い画像が出力され得る。すなわち、正常製品画像251に対する復元性能を向上させ、異常製品画像252に対する復元性能を低下させることができる。
【0042】
【0043】
取得部111は、複数(例えば、30枚)の正常製品画像251を、学習データとして、撮影装置200から受信することで取得する。取得部111は、予め撮影装置200により撮影され、記憶部120に記憶された正常製品画像251を読み出すことで、複数の正常製品画像251を取得してもよい。
【0044】
受付部114は、情報受付部として、操作表示部140においてユーザーによる入力された、異常に関する情報である異常情報を受け付ける。異常情報は製品ごとに、発生可能性の高い異常(欠陥)や、装置の機能に影響し得る重要度が高い異常(欠陥)の情報であり得る。異常情報には、例えば、折れ、曲げ、欠け、傷、および汚れといったキーワードであり得る。
【0045】
データ生成部115は、異常情報に基づいて、複数の正常製品画像251をそれぞれ変換することで、複数の異常製品画像252を生成する。具体的には、例えば、異常情報が傷である場合、データ生成部115は、傷の画像を複数の正常製品画像251にそれぞれ付加することで、複数の異常製品画像252を生成し得る。データ生成部115は、例えば、異常情報が傷である場合、傷の長さ、方向、深さ、および太さをそれぞれ適当に分散させた、複数の異なる異常製品画像252を生成してもよい。
【0046】
制御部110は、受付部114に代替して、ユーザーにより正常製品画像251に異常が付加された画像を、異常製品画像252としてユーザーから操作表示部140において受け付けるデータ受付部として機能してもよい。この場合、データ生成部115の機能は不要になる。正常製品画像251に異常が付加された画像は、操作表示部140において表示された正常製品画像251上で、異常の画像(例えば、傷の画像)がユーザーにより作図されることで当該異常の画像が追加された画像であってもよい。
【0047】
データ生成部115は、例えば、取得部111により取得された複数の正常製品画像251を複製し、複製した複数の正常製品画像251に、RGB値を画素ごとにランダムな値としたホワイトノイズをそれぞれ加えた画像を、複数の異常製品画像252として生成してもよい。この場合、受付部114の機能は不要になる。
【0048】
比較部112は、仮生成モデル310に複数の正常製品画像251を入力することでそれぞれ得られた複数の潜在変数と、仮生成モデル310に、データ生成部115により生成された複数の異常製品画像を入力することでそれぞれ得られた複数の潜在変数とをそれぞれ比較し、比較結果を出力する。この際、比較部112は、正常製品画像251と、当該正常製品画像251に異常が付加された異常製品画像252との組合せごとに、正常製品画像251を仮生成モデル310に入力することで得られた潜在変数と、異常製品画像252を仮生成モデル310に入力することで得られた潜在変数とを比較する。
【0049】
モデル生成部113は、比較部112による比較結果に基づいて、仮生成モデル310に対し、複数の潜在変数のうち、異常製品画像が仮生成モデル310に入力されることで異常に反応した潜在変数を抑制することで、学習済みモデルである生成モデル320を生成する。モデル生成部113は、例えば次のように、仮生成モデル310に対し、異常に反応した潜在変数を抑制し得る。仮生成モデル310に正常製品画像251を入力することで得られる複数の潜在変数と、仮生成モデル310に、データ生成部115により生成された異常製品画像252を入力することで得られた複数の潜在変数とのそれぞれの差の絶対値(以下、「潜在変数の絶対差分」と称する)を、異常による影響度として算出する。データ生成部115は、潜在変数の絶対差分が最大の潜在変数を、異常に反応する潜在変数として、仮生成モデル310であるオートエンコーダー300の、エンコーダー301からデコーダー302への出力を0にする。例えば、仮生成モデル310のオートエンコーダー300において、エンコーダー301とデコーダー302との間にフィルターを設けることで、エンコーダー301から出力される複数の潜在変数のうち異常に反応する潜在変数を0にしてデコーダー302へ出力し得る。モデル生成部113は、潜在変数の絶対差分の大きさが大きいほど、仮生成モデル310であるオートエンコーダー300のエンコーダー301からデコーダー302への出力を小さくするといった潜在変数の抑制に重み付けをしてもよい。当該重み付けは、後述する、異常検知装置100の異常検知時の検知精度の観点から、実験により適当に設定し得る。モデル生成部113は、潜在変数の絶対差分に代替して、Permutation Importance等の他の周知の影響度算出方法を用いてもよい。この場合、仮生成モデル310に対し、算出された影響度が大きい潜在変数が抑制される。
【0050】
図7は、異常検知装置100の異常検知時における制御部110の機能ブロック図である。制御部110は、取得部111、算出部116、および検知部117として機能する。
【0051】
取得部111は、実際の検査の対象である撮影画像250(以下、「検査対象画像」とも称する)を撮影装置200から受信することで取得する。
【0052】
算出部116は、生成モデル320に検査対象画像を入力することで生成モデル320から出力される復元データと、当該検査対象画像との類似度を算出する。例えば、算出部116は、復元データと検査対象画像の画素値のそれぞれ差の絶対値を類似度として算出して出力する。算出部116は、復元データと検査対象画像の画素値のそれぞれ差の絶対値の二乗平均を類似度として算出してもよい。算出部116は、SSIMやコサイン距離といった周知の方法で、復元データと検査対象画像の類似度を算出してもよい。
【0053】
検知部117は、算出部116により算出された類似度に基づいて、検査対象画像の異常を検知して検知結果を出力する。例えば、検知部117は、復元データと検査対象画像の画素値の差の絶対値が所定の閾値以上の画素部分を異常(欠陥)として、検査対象画像を異常と判定し得る。検知部117は、復元データと製品画像の画素値のそれぞれ差の絶対値の二乗平均が所定の閾値以上の検査対象画像を異常と判定してもよい。検知部117は、SSIMやコサイン距離といった周知の方法で算出した、復元データと検査対象画像の類似度が所定の閾値未満の製品画像を異常と判定してもよい。これらの閾値は、異常検知装置100の異常検知精度の観点から、実験により適当に設定され得る。
【0054】
異常検知装置100の動作について説明する。
【0055】
図8は、異常検知装置100の学習時の動作を示すフローチャートである。本フローチャートは、プログラムに従い、異常検知装置100の制御部110により実行され得る。
【0056】
制御部110は、複数の正常製品画像251を、撮影装置200から受信することで取得する(S101)。
【0057】
制御部110は、操作表示部140においてユーザーによる入力された、異常情報を受け付ける(S102)。
【0058】
制御部110は、各正常製品情報と異常情報に基づいて、各製品画像に対応する異常製品画像252を生成する(S103)。
【0059】
制御部110は、仮生成モデル310に各正常製品画像251を入力することでそれぞれ得られた潜在変数と、各異常製品画像252を仮生成モデルに入力することでそれぞれ得られた潜在変数とをそれぞれ比較する(S104)。
【0060】
制御部110は、ステップS104における比較による比較結果に基づいて、仮生成モデル310に対し、異常製品画像252が入力されることで異常に反応した潜在変数を抑制した生成モデルを生成する(S105)。
【0061】
図9は、異常検知装置100の異常検知時の動作を示すフローチャートである。本フローチャートは、プログラムに従い、異常検知装置100の制御部110により実行され得る。
【0062】
制御部110は、検査対象画像を、撮影装置200から受信することで取得する(S201)。
【0063】
制御部110は、生成モデル320に検査対象画像を入力したときに生成モデル320から出力される復元データと、検査対象画像との類似度を算出する(S202)
制御部110は、ステップS202において算出された類似度に基づいて、検査対象画像の異常を検知する(S203)。
【0064】
実施形態は、以下の効果を奏する。
【0065】
検査対象の異常に反応する潜在変数が抑制された生成モデルを用い、生成モデルに検査対象のデータを入力したときの生成モデルによる復元データと検査対象のデータとの類似度に基づいて、検査対象のデータの異常を検知する。これにより、生成モデルの、異常な検査対象の入力データに対する復元性を抑制することで、異常な検査対象の検知漏れを抑止できる。
【0066】
正常な検査対象のデータを入力データに用いた学習により生成された仮生成モデルに、正常な検査対象のデータを入力することで得られた複数の潜在変数と、仮生成モデルに、正常な検査対象のデータに異常が付加された異常な検査対象のデータを入力することで得られた複数の潜在変数とを比較する。そして、比較結果に基づいて、仮生成モデルに対し、異常な検査対象のデータが入力されることで異常に反応した潜在変数を抑制した生成モデルを生成する。これにより、生成モデルの、異常な検査対象の入力データに対する復元性を抑制することで、異常な検査対象の検知漏れを抑止できる。
【0067】
さらに、仮生成モデルとして、確率変数で表される複数の潜在変数がDisentangleな表現を獲得するように学習されることで生成されたものを用いる。これにより、比較的少数の正常な検査対象のデータのみを用いて、異常な検査対象の検知漏れを抑止可能な生成モデルを生成できる。このため、特に少量多品種を扱う新しい生産設備や装置の立ち上げの際等において、学習データとして、良品のデータが少量しか得られず、不良品のデータが全く得られない場合であっても、短時間で異常検知検査を開始できる。
【0068】
さらに、正常な検査対象のデータに異常が付加されたデータを、異常な検査対象のデータとして受け付ける。これにより、製品の性質に応じた、発生可能性の高い異常や、装置の機能に影響し得る重要度が高い異常等の検知の要望が高い特定の異常の検知感度を向上できる。
【0069】
さらに、異常に関する情報を受け付け、異常に関する情報に基づいて、正常な検査対象のデータを変換することで、異常な検査対象のデータを生成する。これにより、ユーザーに対し過度な負担を課すことなく、異常の検知感度を向上できる。
【0070】
以上に説明した、異常検知システム、学習装置、異常検知プログラム、学習プログラム、異常検知方法、および学習方法演算装置の学習方法は、上述の実施形態の特徴を説明するにあたって主要構成を説明したのであって、上述の構成に限られず、特許請求の範囲内において、種々改変することができる。また、一般的な異常検知システム等が備える構成を排除するものではない。
【0071】
例えば、上述したフローチャートは、一部のステップを省略してもよく、他のステップが追加されてもよい。また各ステップの一部は同時に実行されてもよく、一つのステップが複数のステップに分割されて実行されてもよい。
【0072】
また、上述したシステムにおける各種処理を行う手段および方法は、専用のハードウェア回路、またはプログラムされたコンピューターのいずれによっても実現することが可能である。上記プログラムは、例えば、USBメモリやDVD(Digital Versatile Disc)-ROM等のコンピューター読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピューター読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送され記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、一機能としてその異常検知装置等の装置のソフトウエアに組み込まれてもよい。
【符号の説明】
【0073】
10 異常検知システム、
100 異常検知装置、
110 制御部、
111 取得部、
112 比較部、
113 モデル生成部、
114 受付部、
115 データ生成部、
116 算出部、
117 検知部、
200 撮影装置、
250 撮影画像、
251 正常製品画像、
252 異常製品画像、
300 オートエンコーダー、
301 エンコーダー、
302 デコーダー、
310 仮生成モデル、
320 生成モデル。