JP2022108260A - 異常検出及び分類のための装置、プログラム、及び方法 - Google Patents

異常検出及び分類のための装置、プログラム、及び方法 Download PDF

Info

Publication number
JP2022108260A
JP2022108260A JP2021200390A JP2021200390A JP2022108260A JP 2022108260 A JP2022108260 A JP 2022108260A JP 2021200390 A JP2021200390 A JP 2021200390A JP 2021200390 A JP2021200390 A JP 2021200390A JP 2022108260 A JP2022108260 A JP 2022108260A
Authority
JP
Japan
Prior art keywords
image
classification
ann
training
input dataset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021200390A
Other languages
English (en)
Inventor
祐輔 樋田
Yusuke Toida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2022108260A publication Critical patent/JP2022108260A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30141Printed circuit board [PCB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

【課題】画像内の異常を識別及び分類するよう構成されるコンピュータ装置、システム、方法及び記憶媒体を提供する。【解決手段】分類人工ニューラルネットワーク(ANN)及び処理命令メモリハードウェアと、処理命令を実行するプロセッサハードウェアと、を有するコンピュータ装置は、画像の入力データセットに対して教師なし異常検出を実行し、異常部分を検出し、データセット内の画像毎に、画像内のあらゆる検出された1つ以上の異常部分を伝えて異常なし部分をブロックする対応するマスク画像を生成することと、分類ANNを訓練することと、を実行させる。コンピュータ装置は、訓練条件を満足するまで繰り返し訓練エポックを実行し、入力データセットの画像毎に、各検出された異常部分の識別を、当該異常部分が分類ANNによって分類される対応する分類とともに出力する。【選択図】図2

Description

本願は、生産環境における品質制御の分野にあり、具体的には、画像内の異常の自動識別及びラベル付けに関係がある。
異常検出は、製造及び医薬等の様々な分野にとって有益であるということで、関心のある研究トピックである。しかし、欠陥は極めてまれであるから、現実世界のアプリケーションから異常なデータを取得することは困難である。故に、異常検出の教師なし方法は、特に関心が持たれている(すなわち、教師あり方法では、優れた品質の訓練データを取得することが困難であるため)。人工ニューラルネットワーク(artificial neural networks,ANN)による教師なし異常検出のための現在の方法は、画像から異常の位置のみを検出する。これは、それらの方法が画像内のピクセルごとに優劣しか識別しないことを意味し、クラック、スクラッチ、及び屈曲等の欠陥のソートを認識することはできない。セマンティックセグメンテーションは、明らかに異なっているオブジェクトをセグメント化することができるが、異常はしばしば複雑であり、形状及び色に関して欠陥なし領域と類似しているので、欠陥領域を欠陥なし領域から分離することは困難である。生産環境では、異常の原因及び理由が詳しく調べられて、それらは、他のプロセスへのフィードバックによって生産を改善する。そのため、異常を適切に識別し分類することは、製品及びプロセスの品質を改善することにおける重要な要素である。
製造会社は、非常に厳しい規準の下で制約されている。常により複雑なコンポーネントを生産しながら可能な限り最高の品質を提供するために、製造会社は自身の製品を効率的に制御する必要がある。そうするために、非破壊検査(non-destructive testing,NDT)が集中的に使用されている。それは、ダメージを引き起こさずに、製品、コンポーネント又はシステムの特性を評価するために科学において使用されている解析技術である。しかし、自動化された生産レーン環境では、検査プロセスはボトルネックである。製造会社は製品から大量のデータを捕捉するが、それらはラベル付けされない。従って、検査プロセスを自動化することは難しい。一般的な教師なし技術は、ラベル付けなしで、記憶されたデータのみを用いて作動することができるが、既存の方法は、異常のラベル付け(どのような異常か)を提供することができなかった。この情報は、製品、プロセス、人間の教育の品質を日々改善するので、実際の製造現場で有用である。実施形態は、異常の位置の検出及び異常の分類を可能にする教師なし技術を提供することによって既存の技術の欠点に対処する。
実施形態は、画像内の異常を識別及び分類するよう構成されるコンピュータ装置を含み、コンピュータ装置はメモリハードウェア及びプロセッサハードウェアを有し、前記メモリハードウェアは分類人工ニューラルネットワーク(ANN)及び処理命令を記憶し、前記プロセッサハードウェアは前記処理命令を実行するよう構成され、前記処理命令は、実行されるときに、前記コンピュータ装置に、
画像の入力データセットに対して教師なし異常検出を実行して前記画像から異常部分を検出して、前記データセット内の画像ごとに、当該画像内のあらゆる検出された1つ以上の異常部分を伝えて異常なし部分をブロックする対応するマスク画像を生成することと、
前記分類ANNを訓練することと
を実行させ、
前記訓練することは、各訓練エポックにおいて、
第1プロセスで、
前記分類ANNにより前記入力データセットのマスキングされたバージョンを処理し、該マスキングされたバージョンが、前記対応するマスク画像によってマスキングされた前記入力データセットの各画像を有し、そして、自動生成されたラベルをグラウンドトゥルースとして使用して交差エントロピ損失関数を最小化することによって異常部分を複数の分類のうちの1つに分類するよう前記分類ANNを訓練することと、
前記分類ANNから、前記入力データセットの前記マスキングされたバージョンの各画像の潜在的な特徴表現を抽出することと、
第2プロセスで、
前記入力データセットの各画像に対応する疑似ラベルを取得するために、前記潜在的な特徴表現の夫々を、異なった関連する疑似ラベルを夫々有している複数のクラスタのうちの1つにクラスタ化するよう教師なしクラスタリングアルゴリズムを前記潜在的な特徴表現に適用することによって前記入力データセットの前記マスキングされたバージョンに対応する疑似ラベルの組を生成することと、
前記入力データセットの各画像が当該画像の疑似ラベルをグラウンドトゥルースとして使用して前記分類ANNによって分類される分類間の損失関数を最小化するよう前記分類ANNを訓練することと
を含み、
前記コンピュータ装置は、訓練条件を満足するまで繰り返し前記訓練エポックを実行させられ、前記入力データセットの画像ごとに、各検出された異常部分の識別を、当該異常部分が前記分類ANNによって分類される対応する分類とともに出力させられる。
実施形態は、入力画像からの異常検出のための教師なしセマンティックセグメンテーションを実行する。実施形態は、異常位置検出部及び特徴抽出部を含むいくつかの機能を具現する。実施形態は、入力画像から知識を抽出し、欠陥の画像による訓練を必要とせずに、可能性のある欠陥のタイプを識別することができる。
材料製造会社は、非常に厳しい規準の下で制約されている。常により複雑なコンポーネントを生産しながら可能な限り最高の品質を提供するために、製造会社は自身の製品を効率的に制御する必要がある。そうするために、非破壊検査(NDT)が集中的に使用されている。NDTは、ダメージを引き起こさずに、材料、コンポーネント又はシステムの特性を評価するために科学及び技術産業において使用されている様々な解析技術を網羅している。しかし、自動化された生産レーン環境では、検査プロセスはボトルネックであるから、生産コストを増大させる。
製造会社は製品を撮影することによって大量のデータを捕捉するが、それらはラベル付けされないということで、人間による入力が検査プロセスでは必要とされる。
材料表面検査を自動化する既存の技術は、二通りに分類可能である:
● 第1に、人間によってラベル付けされた画像の大規模データセットを生成することであるが、これは面倒であり、注釈者の経験によって制限される。
● 第2に、ハンドクラフテッド(hand crafted)アルゴリズムを生成することである。この技術は、ラベルなしデータセットにコンピュータビジョン方法を適用し、小規模のラベルありデータセットに評価アルゴリズムを適用する。かような技術には、有効なアルゴリズムを設計することが難しいという欠点がある。
実施形態は、ニューラルネットワークによる異常検出に対する従前のアプローチが異常の位置に焦点を当てておらず、そのために、異常の位置を検出することはできるが異常を分類しないという課題に対処する。ネットワークは、理論上は、ネットワークによって色及び形状によって識別可能な異なった特徴を有しているオブジェクトを分類/セグメント化するために、畳み込みレイヤ及びプーリング等を用いて画像全体を見る。例えば、異常は、図6に示されるような中央が曲がった金属物体であることがある。図6において、左手の画像は、欠陥のない製品であり、右手の画像は、中央の金属コネクタに欠陥がある製品を示す。その異常がグラウンドトゥルース又は知識なしでは未知であった場合には、先行技術のネットワークはそのような欠陥を認識することができない(曲がった金属はそれ自体が欠陥ではなく、曲がった金属が発生する場所/位置が欠陥を引き起こすため)。図6のトランジスタの例では、先行技術のネットワークは背景及びトランジスタを認識することができる。先行技術のネットワークは、しかしながら、それらを良品/異常で分類することができない。これは、両方の画像が曲がった金属の特徴を有しているからである。実施形態は、第1の異常検出ステップで生成されたマスクを使用して、異常が発生している画像の部分を見るように分類人工ニューラルネットワークを訓練する。言い換えると、実施形態は、既存の教師なし異常検出から取得された異常位置情報を用いて画像内の異常部分のみを見る。その結果、分類人工ニューラルネットワークは、セグメンテーション等のピクセル単位の解析により画像を分類することができる。
実施形態は、ラベル付けされた訓練データによらずに異常の位置及びタイプを識別することができる異常検出のための教師なしセマンティックセグメンテーション方法を提供する。
ディープラーニングは、大規模なラベル付きデータセットを使用した従来の方法よりも優れたパフォーマンスを発揮することで知られている。実施形態は、教師なしディープラーニングを活用して、異常の検出及び分類を達成する。異常検出及び自動検査は、教師なしディープラーニング技術テクノロジーに役立つ。これは、代替手段、つまり大規模なデータセットのラベル付けが非常にコスト及び時間がかかるためである。
最先端技術として、オートエンコーダ/GANを使用することは一般的な方法である。そのようなアプローチは、欠陥なしデータのみを訓練することによって異常な画像から欠陥を除く。しかし、これらの方法は、異常の位置しか検出することができず、異常の種類を検出することはできない。それらは、異常をタイプに分類する能力を有さない。他方で、一般的なクラスタリングアルゴリズムは、異常のタイプを分類することができるが、それらは、画像上の異常の位置を検出しない。よって、技術的なタスクは、異常のタイプ及び位置の両方を認識することができる異常検出のためのセマンティックセグメンテーションである。一般的なセマンティックセグメンテーションは、オブジェクトのセグメントを検出することに焦点を当てる。先行技術のAIセマンティックセグメンテーションアルゴリズムは、色及び形状によりオブジェクト又はセグメントを認識する。有用性は、色により検出することが容易である異常に限定されるが、先行技術のアルゴリズムは、異常が背景と類似した色及び形状を有しているシナリオでは効果がない。実施形態は、異常の位置を識別するためだけではなく、図13で強調表示されるように、セマンティックセグメンテーション等の異常のクラスタを生成するためにもセグメント化において有効である。
セマンティックセグメンテーションのためにディープラーニングを使用する際の問題は、ニューラルネットワークが異常を検出するときに画像上でどこを見るかである。先行技術の(教師あり)ニューラルネットワークは、大規模データセットによる訓練フェーズで特徴を抽出する。教師あり学習を通じて、ニューラルネットワークは異常の特徴を学ぶことができる。しかし、教師なし学習によれば、ニューラルネットワークは、同じようにして異常を指し示すことはない。ニューラルネットワークがどこを見るか、つまり、ニューラルネットワークの出力にフィードするピクセルの画像上の位置は、Grad-CAM++等の解析ツールによって説明できる。図14は、既存の教師なし技術において、ニューラルネットワークが、異常に焦点を当てるのはなく、画像全体から入力を取っていることを表す。異常の位置のための教師なし学習をサポートするための入力データとしては2つのタイプがある。入力は、欠陥なし領域及び異常領域の両方を有しているロー(raw)画像である。他方は、異常の位置のみのマスキングされた画像である。既存の教師なし学習は、異常の周りの広い範囲を調べるが、教師あり学習は、特に、グラウンドトゥルース(gf)のような異常を調べる。実施形態は、教師なし機械学習が、異常に対して局所的なピクセルに基づいた分類によって、異常を適切に分類することを可能にする。
実施形態に従って、前記第1プロセスで前記分類ANNによって処理された前記入力データセットの前記マスキングされたバージョンは、前記対応するマスクによってマスキングされることに加えて、画像フィルタによってフィルタ処理されてもよく、あるいは、画像変換アルゴリズムによって変換されてもよい。
有利なことに、入力データセットのマスキングされたバージョンの変換されたバージョンは、第1プロセスで分類ANNを訓練するための追加の画像を提供する。更には、変換されたバージョンは、異常の特性を強調し得る。
任意に、前記自動生成されたラベルは、各画像変換アルゴリズム又は画像フィルタがラベルにマッピングするように、前記バージョンに適用されている前記画像変換アルゴリズム又は画像フィルタによって決定され、前記ラベルの値は、互いに異なる任意の値である。第1プロセスは、マスクの適用によって画像の関連部分を見るように分類ANNに有効に教示する。故に、ラベル付けは、画像を文類似するための基礎を提供することであるが、重要な機能的側面は、異常が起こっている画像領域を“見る”(すなわち、そのような領域からの値に基づいてパラメータにより高い重み付けを適用する)ようにANN210を調整するのに役立つマスキングである。
任意に、前記画像フィルタは、エンボス画像フィルタであり、あるいは、前記画像変換アルゴリズムは、エンボス加工画像変換アルゴリズムである。
エンボル加工(embossing)は、ピクセル値(すなわち、色)の変動がさもなければ検出するのが困難であるデプスを有している異常を強調するので、特に有利である。
任意に、前記入力データセットの前記マスキングされたバージョンは、前記入力データセットの各メンバーの複数のバージョンを有し、該複数のバージョンは、複数の画像変換アルゴリズム又は画像フィルタの選択の夫々が適用された前記画像である。
この場合に、複数のバージョンは、第1プロセスで分類ANNを訓練するための追加のコンテンツを提供し、そして、特定の変換の対象となるときに分類ANNに多かれ少なかれ明らかな特定の異常が存在する可能性がある。
任意に、前記教師なし異常検出は、画像の欠陥なし部分を生成するよう、かつ、前記入力データセットからの画像の欠陥なしバージョンを生成し、当該画像を前記生成された欠陥なしバージョンと比較して前記マスクを生成することによって、当該画像に対応するマスク画像を生成するよう事前訓練されたオートエンコーダ又は生成ニューラルネットワークにより実行される。前記生成ニューラルネットワークは、敵対的生成ニューラルネットワークである。
このようにして構成されたオートエンコーダ及びGANは、教師なし異常検出を実行するための効率的かつ正確なメカニズムを提供する。更には、予め教育することは、取得するのが容易であって、取得するのが難しい欠陥画像に依存しない欠陥なし画像を必要とする。
任意に、前記第1プロセスでの前記損失関数は、ピクセル単位の交差エントロピ損失である。他の交差エントロピ損失関数が利用されてもよい。損失関数は交差エントロピ損失であってもよい。損失関数は、バイナリ(binary)交差エントロピ損失、微分(derivative)交差エントロピ損失、シグモイド(sigmoid)交差エントロピ損失、又はカテゴリ的(categorical)交差エントロピ損失であってもよい。
任意に、各訓練エポックは、第3プロセスで、前記入力データセットの前記マスキングされたバージョンの各々の画像にノイズデータを加えることによって(、及び変換又はフィルタを適用することによって)、前記入力データセットの前記マスキングされたバージョンの各画像の変更されたバージョンを、変更されたマスキングされた入力データセットとして生成することと、前記マスキングされた入力データセットである入力データセットAを前記分類ANNが処理すること、及び前記変更されたマスキングされた入力データセットである入力データセットBを前記分類ANNが処理することに基づいて、損失関数として相互情報を最大化するよう前記分類ANNを更に訓練することとを更に含む。
有利なことに、3つのプロセスを組み合わせることは、3つのプロセスの総損失が分類ANNを訓練する際に使用されることを可能にし、それにより、各訓練エポックで、分類ANNは、どこを見るべきか、及びどのように分類すべきかを教示される。
要約すると、3つの損失があり、それらは、分類ANNを訓練するために合算され得る。第1プロセスの交差エントロピのLoss1、第2プロセスの交差エントロピのLoss2、及び第3プロセスの相互情報のLoss3を用いて、Total_loss=a×Loss1+b×Loos2+c×Loss3である。
Loss1は、入力データの変換により生成されたグラウンドトゥルースを必要とする。それらは画像及びラベルである。
Loss2は、(raw*mask)と比較してグラウンドトゥルースとして疑似ラベルを必要とする。
Loss3は、相互情報によって(raw*mask)を(raw*mask*affin+noise)と比較する。
他の態様の実施形態は、コンピュータ装置の実施形態と、画像を生成し、前記コンピュータ装置による処理のために前記生成された画像を入力データセットとして記憶するよう構成されるイメージング装置とを有するシステムを含む。
任意に、前記画像は生産サンプルの画像であり、システムは、製品又は材料を生産サンプルとして生産する生産環境を更に有してもよい。
他の態様の実施形態は、画像内の異常を識別及び分類する方法を含み、方法は、
画像の入力データセットに対して教師なし異常検出を実行して前記画像から異常部分を検出して、前記データセット内の画像ごとに、当該画像内のあらゆる検出された1つ以上の異常部分を伝えて異常なし部分をブロックする対応するマスク画像を生成することと、
分類人工ニューラルネットワーク(ANN)を訓練することと
を有し、
前記訓練することは、各訓練エポックにおいて、
第1プロセスで、
前記分類ANNにより前記入力データセットのマスキングされたバージョンを処理し、該マスキングされたバージョンが、前記対応するマスク画像によってマスキングされた前記入力データセットの各画像を有し、そして、自動生成されたラベルをグラウンドトゥルースとして使用して交差エントロピ損失関数を最小化することによって異常部分を複数の分類のうちの1つに分類するよう前記分類ANNを訓練することと、
前記分類ANNから、前記入力データセットの前記マスキングされたバージョンの各画像の潜在的な特徴表現を抽出することと、
第2プロセスで、
前記入力データセットの各画像に対応する疑似ラベルを取得するために、前記潜在的な特徴表現の夫々を、異なった関連する疑似ラベルを夫々有している複数のクラスタのうちの1つにクラスタ化するよう教師なしクラスタリングアルゴリズムを前記潜在的な特徴表現に適用することによって前記入力データセットの前記マスキングされたバージョンに対応する疑似ラベルの組を生成することと、
前記入力データセットの各画像が当該画像の疑似ラベルをグラウンドトゥルースとして使用して前記分類ANNによって分類される分類間の損失関数を最小化するよう前記分類ANNを訓練することと
を含み、
前記方法は、訓練条件を満足するまで繰り返し前記訓練エポックを実行し、前記入力データセットの画像ごとに、各検出された異常部分の識別を、当該異常部分が前記分類ANNによって分類される対応する分類とともに出力することを有する。
他の態様の実施形態は、プロセッサハードウェア及びメモリハードウェアを備えたコンピュータ装置によって実行される場合に、コンピュータ装置に、上述された又は本明細書のどこかで記載されている方法の実施形態を実行させるコンピュータプログラムを含む。
任意に、コンピュータプログラムは、非一時的なコンピュータ記憶媒体に記憶されている。
実施形態は、添付の図面を参照して記載される。
実施形態のハードウェアアーキテクチャを表す。 実施形態における処理フローを表す。 実施形態においてデータセット及びデータアーチファクトによる処理フロー及びインタラクションを表す。 教師なし異常検出のためのニューラルネットワークが事前訓練されるプロシージャを表す。 実施形態においてデータセット及びデータアーチファクトによる処理フロー及びインタラクションを表す。 欠陥の有無による生産サンプルの画像を表す。 実施形態における処理のフローを表す。 実施形態における処理のフローを表す。 第1プロセスをより詳細に表す。 ラベルを自動生成するプロシージャをより詳細に表す。 実施において訓練エポックによる特徴マップの工程を表す。 トランジスタ画像データセットによる実施における特徴マップを表す。 先行技術の方法と比較して15個の異なった入力データセットによる実施における結果の表である。 実施形態を先行技術のアルゴリズムと比較する。 実施形態を先行技術のアルゴリズムと比較する。 本発明を具現するコンピューティングデバイスのブロック図である。
図1は、実施形態のハードウェア配置の概略図である。ハードウェアは、プロセッサハードウェア100及びメモリハードウェア200を有する。メモリハードウェア上での分類(classifier)ANN210の記憶が表されている。プロセッサハードウェア100及びメモリハードウェア200は、例えば、品質制御メカニズムの部分として、生産環境に置かれ得る、ことが知られている。代替的に、プロセッサハードウェア100及びメモリハードウェア200は、生産環境から離れていてもよいが、入力データセットとして生産環境から生産サンプルの画像を供給される。
プロセッサハードウェア100及びメモリハードウェア200は、コンピュータシステムのコンポーネントであってもよい。プロセッサハードウェア100は、1つ又は複数の相互接続されたCPUであってもよい。メモリハードウェア200は、揮発性メモリ、不揮発性メモリ、又は季節性及び不揮発性メモリの組み合わせを有してもよい。メモリハードウェア200は、プロセッサハードウェア100による実行のための処理命令を記憶している。加えて、メモリハードウェア200は、図2及び図3に表されているようなステップ又はプロセスがメモリハードウェア200と協働してプロセッサハードウェア100によって実行されている間に、データセットを記憶してもよい。
分類ANN210は、画像の分類のための人工ニューラルネットワークである。そのようなANNの例はAlexNetである。実施形態のプロセッサは、分類ANN210を訓練及び実装する。分類ANN210は、ディープニューラルネットワーク(Deep Neural Network,DNN)であってもよい。
図2は、実施形態のプロセスを表す。プロセスは、図1に表されているようなハードウェアによって実行されてもよい。図2は、訓練が続くかどうか、又は方法が出力ステップS106に進むかどうかを制御するロジックを表す。ロジックは図3において同じであるが、実例を簡単にしかつデータセット及び他のアーチファクトが強調表示されることを可能にするために表されていない。図3は、図2のプロセスを表し、各ステップで処理、生成、又は訓練されるデータセット及び他のアーチファクト(人工ニューラルネットワークを含む)を強調表示する。
S101で、教師なし異常検出が、生産環境からの生産サンプルの複数の画像を含む入力データセットD101に対して実行される。生産サンプルは、例えば、生産環境で製造される工業製品であってもよい。生産サンプルは、生産環境で製造されるか又はそのたの方法で加工(切断、研削、研磨、洗浄)される自然又は工業材料の部分であってもよい。実施形態は、生産サンプルの画像上で異常の位置を識別し、その識別された異常を複数のグループのうちの1つに分類することによって、品質制御メカニズムに関与する。実施形態のプロセスは教師なしであるから、人間の専門家による異常のラベル付けが、ニューラルネットワークに学習させるために必要とされる。
教師なし異常検出S101は、比較アルゴリズムに加えて、事前訓練されたオートエンコーダ又は敵対的生成(generative adversarial)ニューラルネットワーク220を利用する。事前訓練(「事前」とは、図2及び図3で表されているプロセスとは別のプロセスであって、生成(generator)ニューラルネットワーク220がS101で利用される前に実行されることを意味する。)は、欠陥なし画像(又は主に欠陥のない画像)を生成ニューラルネットワーク220(プロセスにおいて後で導入される分類ニューラルネットワーク210との混乱を避けるために生成ニューラルネットワーク220と呼ぶ。)へフィードすることによって達成される。訓練は、ノイズ又は人工的欠陥を欠陥のない訓練画像に有効に付加し、生成ニューラルネットワーク220に画像又は画像部分を再構成することを学ばせて、弁別器が元の欠陥のない訓練画像から再構成を区別することができないようにする。教師なし異常検出を実行するように生成ニューラルネットワーク220を訓練することに関する更なる詳細は、例えば、EP3739513、又はhttps://www.fujitsu.com/global/about/resources/publications/technicalreview/2020-02/article03.htmlで提供されている。
S101は、製品サンプル画像ごとにマスク画像を生成するために、異常領域を見つけることができるあらゆる異常検出方法によって実行されてもよい。例えば、GAN(Generative Adversarial Network)又はCNN(Convolutional Neural Network)がある。予備処理ステップとして、これらのネットワークは、S101で利用される前に訓練される必要があり得る。
図4は、生産サンプルの画像の欠陥なし部分を生成するよう訓練されている(これは事前訓練である)生成ニューラルネットワークアーキテクチャの例である。S101で使用される生成ニューラルネットワークは、例えば、生成ニューラルネットワーク220が弁別(discriminator)ニューラルネットワーク221による実際のデータからの弁別のためにデータを生成する敵対的生成ニューラルネットワークであってもよい。生成ニューラルネットワーク220の目標は、弁別ニューラルネットワーク221が実際のデータから弁別することができないデータを生成することである。弁別ニューラルネットワーク221からの出力(生成データは実際のデータであるか又はそうでない。)は、例えば、後方誤差伝播(backwards error propagation)によって、生成ニューラルネットワーク220を訓練する。生成ニューラルネットワーク220は、弁別ニューラルネットワーク221が実際のデータから区別することができないデータを生成するよう訓練される。弁別ニューラルネットワーク221も、他方で訓練されるが、生成されたデータと実際のデータとを区別するよう訓練される。例えば、弁別ニューラルネットワーク221は、実際のデータと生成されたデータとを区別することに成功したか否かを通知され、例えば、後方誤差伝播によって、弁別することに成功するよう訓練される。従って、人間又は手動による介入なしで、生成ニューラルネットワーク220及び弁別ニューラルネットワーク221は互いを訓練する。訓練データがラベル付けされる必要性がないので、人間の専門家からの入力の必要性は排除される。
事前訓練において、実際のデータは生産サンプル(例えば、材料表面)の画像であってもよい。任意に、実際の画像は、n個の領域に(例えば、格子状に)分割される場合に、欠陥がない領域が閾比率よりも多い生産サンプルの画像であってもよい。閾比率は、例えば、0.99、0.95、0.90であってよく、あるいは、0.9よりも大きく1以下である範囲内にあってもよい。例えば、訓練画像は、実施形態で処理されることになる入力データセットの画像と同じ製品/材料の生産サンプルの画像であってもよい。
事前訓練ステップは、欠陥を低減された生産サンプルの画像として欠陥を含む生産サンプルの画像をどのように再生すべきかを学ぶよう、図2に表されているような敵対的生成ネットワーク技術を利用する。
S101で、入力データセットからの画像は、欠陥を除くよう事前訓練で訓練されている生成ニューラルネットワーク220によって処理される。画像の処理済みバージョンと画像の元の入力バージョンとの間の生成されたエラー、すなわち、差(予備処理にかかわらず)は、欠陥の位置で大きくなる。従って、入力画像のそれら2つのバージョンの間のピクセル値の比較(比較アルゴリズムによる)は、欠陥の位置が識別されることを可能にする。例えば、2つのバージョンの等価なピクセル間のピクセル値の差の比率は、エラーとして登録されてもよく、所与のサイズの領域で閾比率よりも大きいエラーは、欠陥として登録されてもよい。S101は、このように、画像の元の入力バージョンと画像の生成されたバージョンとの比較を実行する比較アルゴリズムと連携して、事前訓練された生成ニューラルネットワーク220によって実行される。
特に、S101で、プロセッサハードウェア100は、生産サンプルの画像の入力データセットに対して教師なし異常検出を実行してそれらの画像から異常部分を検出して、データセット内の画像ごとに、その画像内のあらゆる検出された1つ以上の異常部分を伝えて異常なし部分をブロックする対応するマスク画像を生成するよう構成される。
S101の出力は、入力データセットD101の各画像のマスクであり、各画像を対応するマスクと組み合わせることで、入力データセットのマスキングされたバージョンD102aを生成する(すなわち、入力データセットD101が画像A、画像B、画像C、等である場合に、マスキングされたバージョンD102aはマスクA*画像A、マスクB*画像B、マスクC*画像C、等である。)。
入力された未加工の画像ごとに、ステップS101では、対応するマスク画像が生成される。ステップS102では、いくつかの画像処理が2つを組み合わせるよう実行され、それにより、未加工の画像AはマスクAと組み合わされ、未加工の画像BはマスクBと組み合わされる、等。D101から「未加工の入力画像A」(少なくとも1つの欠陥領域を含む)を有するとき、教師なし異常検出S101では、教師なし方法を用いて異常が取り除かれている「未加工の入力画像A」である「再構成された画像A」が取得される。次いで、「異常マスク画像A」が、「未加工の入力画像A」を「再構成された画像A」と比較することによって取得される。D102aを生成するために、実施形態は「未加工の入力画像A」と「異常マスク画像A」とを組み合わせる。以降同様に、入力データセットD101全体によりD102aを生成する。
D101からの未加工の入力画像:欠陥領域及び欠陥なし領域(すなわち、良及び不良ピクセル)を含む元の画像。
S101によって供給されるマスク画像:黒(通常)/白(異常)による異常の位置(すなわち、通常のピクセルをブロックして異常を伝える)。
変換された画像(入力画像のマスキングされたバージョン)D102a:元の画像の異常の位置のみ。
実施形態において、訓練フェーズとライブフェーズとの厳密な分離はない(例外は、図4を参照して上述されたように、生成ニューラルネットワーク220の事前訓練が別個のプロセスであることである。)。分類ANN210は、ライブデータを用いて教師なしで(すなわち、手動(すなわち、専門家)による入力又は訓練プロセスの監督は不要である。)訓練される。エポックは、分類ANN210がそこで訓練されるため、訓練エポックと呼ばれるが、訓練はライブデータに基づいているため、単にエポックと呼ばれることがある。訓練エポックは、訓練条件が満足されるまで繰り返される。例えば、訓練条件は、固定数のエポックであってもよく、あるいは、それは、分類ANN210での調整可能な重み及びバイアスの収束の程度に到達していることであってもよい。
各訓練エポックは2つの別個のプロセスを含み、任意に、第3のプロセスを含む。それらの夫々は、分類ANN210の調整可能な重み及びバイアスのいくらかの調整(すなわち、訓練)を含む。各プロセスはそれ自体の損失関数を有している(第1及び第2のプロセスでは交差エントロピ、第3のプロセスでは相互情報)。訓練は、3つの損失関数を合算し(任意に3つ全てに重みが適用される)、和を最小化するよう後方誤差伝播によって分類ANNで調整可能な重み及びバイアスを調整することによってもよい。第1のプロセスはステップS101からS103を有する。第2のプロセスはステップS104からS105を有する。よって、訓練エポックはステップS102からS105を有し、一連のステップは、必要とされる訓練エポックの数に応じて繰り返される。各プロセスは、訓練エポックごとに一度実行される。プロセスは、実施形態の理解を助けるために異なるプロセスとして記載される。各プロセスは分類ANN210のいくらかの訓練を実行するので、これは、分類ANN210が第1のプロセス後に分類ANN210aになり、第2のプロセスの後に分類ANN210bになることによって示される。実施において、複数の訓練エポックが存在してもよく、それにより、エポックnからの分類ANN210bは、エポックn+1の開始時の開始分類ANN210である。同様に、訓練エポックごとに3つのプロセスがある場合に、エポックnからの分類ANN210cは、エポックn+1の開始時の開始分類ANN210である。訓練(すなわち、各々の損失関数を最小化/最大化するための調整可能な重み及びバイアスの調整)は、各プロセスごとに、あるいは、2つ/3つの全ての損失関数の和に基づきエポックごとに一度、行われ得る。
訓練エポックは、訓練条件が満足されるまで続く。例えば、条件は、訓練エポックの予め定義された数が満足されることであってよい。あるいは、条件は、分類ANN210での調整可能な重み及びパラメータが、収束条件を満足する程度に収束することであってよい。例えば、収束条件は、単一の又は予め定義された数の訓練エポックにわたる調整可能なパラメータの最大の変化(全ての調整可能な重み及びパラメータの合計による)であってよく、それにより、そのような変化が最大の変化を下回る場合に、収束条件は満足される。当然、移動平均(rolling average)等のより複雑なメトリックが、収束を定量化するために使用されてもよい。同様に、ここでの条件は、訓練を停止するために満たす必要のある条件として提示される(そして、処理はステップS106に進む)が、実施は、逆論理を使用して、訓練を続けるために満たす必要がある条件を有してもよい。
S102で、分類ANN210は、入力データセットのマスキングされたバージョンD102aを処理する。S102で、入力データセットのマスキングされたバージョンD102aは分類ANN210により処理され、マスキングされたバージョンD102aは、対応するマスク画像によってマスキングされた入力データセットD101の各メンバーを含み、分類ANN210は、交差エントロピ損失関数を最小化することによって異常部分を複数の分類のうちの1つに分類するよう訓練される。分類ANN210は、入力データセットのマスキングされたバージョンD102aを構成するマスキングされた画像を分類する。分類ANN210が次のエポックで損失関数を低減し得るように、いくらかの訓練(すなわち、交差エントロピ損失関数を最小化しようとする後方誤差伝播による分類ANN210での調整可能な重み及びバイアスの調整)が実行される。分類ANN210aは、いくらかの訓練が分類器210に対して行われた可能性があることを示す。
分類ANN210は、ディープニューラルネットワーク(DNN)と呼ばれることがあり、損失関数としての交差エントロピ及び後方誤差伝播を用いて訓練される。分類ANN210は、交差エントロピを最小化するよう訓練され、グラウンドトゥルースは、画像と、入力データの変換によって生成されたラベルとである。グラウンドトゥルースは画像及びラベルである。これは、グラウンドトゥルースが異常の一種ではなく、専門家によって提供された情報である必要があるので、教師なし又は自己教師あり(self-supervised)学習と呼ばれる。第1の例では、グラウンドトゥルースは自己生成された(又は自動化された)ラベルであり、画像に適用された変換又は異常の位置を表す。故に、例えば、ラベルは、同じ画像の各バージョンに異なるラベルを適用することによって生成され得る。これは図9Bに表されている。最初に、未加工の画像及びマスク画像の両方を用いて、異常部分のみのマスキングされた未加工の画像(A)が作られる(入力データセットからの入力画像のマスキングされたバージョン)。次いで、1つ以上の変換されたマスキングされた画像が、異なる変換又はフィルタを用いて(A)から作られる。変換されていないマスキングされたバージョン及び1つ以上の変換されたバージョンは全て、分類ANN210を訓練するための入力データである。各バージョンには異なるラベルが割り当てられる。すなわち、ラベルは、画像に適用された変換によって決定されるが、ラベルに対する変換のマッピングは任意である(故に、例えば、マスキングされた未加工の画像が“0”であり、エンボスが“1”である理由は、それが異なるラベルである限りはない。)。画像にラベルを付す方法は、単にそれらを数えることである。故に、それらにどのようなラベルを付けることでき、例えば、(A)=‘0’、(B)=‘1’、及び(C)=‘2’である。当然、‘A’、‘B’及び‘C’も使うことができる。それらのラベルの名称には意味がない。画像に適用されるラベルは、その画像を生成するために適用された変換(又は変換の欠如)に依存する。故に、ラベルが分離されている限りは、どのようなラベルも使用することができる。
例示的な方法は、生データなしで異常部分の色を変更することによって画像を作成することである。これは、分類ANN210が異常部分を学習するのに依然として役立つからである(この例では、各色が異なるラベルに対応することになる)。ただし、生データを使用すると、分類ANN210が異常な特徴の小さな違いを学習するのに役立つ。更には、状況によっては背景色(通常部分)が変更されてもよい。全ての異常が黒色の場合、黒よりも白の方が良い場合がある。
入力された(未加工の)画像及び対応するマスクは、分類ANN210による分類前に変換されてもよい。マスキングされた画像の変換されたバージョン及び変換されていないバージョンの両方が分類ANN210によって分類され得る。いずれの場合にも、グラウンドトゥルースは、画像のバージョンを生成するために適用された変換(又は変換の欠如)を表す自己生成された(又は自動化された)ラベルである。ここで、ラベルは、夫々の異なった変換(又は変換なし)を異なるラベルにマッピングすることによって生成される。ラベルは、「自己生成された」又は「自動化された」又は「自動的に生成された」と言われるが、これは、それらが、手動/専門家入力なしでシステム/アルゴリズム/プロセス/プログラム/メソッドによって生成されるからである。
分類1:
入力:変換済み(Transformed)*未加工(Raw)*マスク(Mask)
グラウンドトゥルース:自己生成された(自動化された)ラベル
損失1:交差エントロピ
ネットワークは、異常を分類するために訓練される。なお、目的は、異常の特徴を抽出することである。未加工の画像の欠陥なし領域(異常がない)は、それらがマスキングされているので、ほとんど同じである。故に、差は異常部分のみである。ネットワーク(すなわち、分類ANN210)は、異常領域(位置)のみを見ることによって学習する。これは、ネットワークが基本的に差を探してそれらを分類するからである。同じニューラルネットワークが第2(及び第3)のプロセスで使用されるので、第2及び第3のプロセスはこの第1のプロセスの影響を受ける。
ステップS102での訓練は、画像(すなわち、異常)間の差を強調/抽出/ハイライトする特徴セットを生成するようネットワークを訓練し、類似性(すなわち、欠陥なし部分)を無視する。
入力データセット102aのマスキングされたバージョンD102aは、S102での分類ANN210による処理の前に変換されてもよい。如何なるフィルタ/変換も選択されてもよく、変換の目的は異常を強調することであるから、選択は、画像化される生産サンプルにいくらか特有である。例示的な変換/フィルタはエンボスであり、これは、深さの違いを強調し、分類ANN210が異なるタイプの異常の間の差を認識するのを助ける。変換されたバージョンは、変換されていないバージョンの代わりに、又はそれに加えて、入力されてもよい。同様に、1つよりも多い変換されたバージョンが入力されてもよい(夫々異なった変換を適用されている)。
分類ANN210は、訓練プロセスで調整可能である重み及びバイアスを含むパラメータによって一部が影響を及ぼされる一連の動作により、1つ以上の入力画像を潜在的な特徴表現にマッピングする。訓練において、重み及びバイアスを変更することは、潜在的な特徴表現に対する画像表現のマッピングを変更し、更には出力分類を変更する。分類は、潜在的な特徴表現から取得された最終的な観測可能な表現である。
入力画像の潜在的な特徴表現は、画像を表す特徴セットであって、分類ANN210が入力画像を分類することができる特徴の組を提供する。実施形態において、ステップS103は、入力画像のマスキングされたバージョンD102aの潜在的な特徴表現を分類ANN210から抽出するステップである。抽出は、2つの方法のうちの1つで達成され得る。アルゴリズムは、分類ANN210が入力画像のマスキングされたバージョンD102aを処理する場合に分類ANN210をモニタし、そのプロセス中に各画像の潜在的な特徴表現を抽出するよう構成され得る(すなわち、分類ANN210は、各画像の潜在的な特徴表現を出力するよう構成され、そのような出力は記憶され、出力及び記憶はアルゴリズムである)。代替的に、入力と潜在的な特徴表現との間の分類ANN210のレイヤは、分離され、入力画像のマスキングされたバージョンD102aに適用される(すなわち、マスキングされたバージョンD102aは分類ANN210によって処理されるが、処理は分類の前に止まり、それにより、出力は各々の入力画像の潜在的な特徴表現である)。
潜在的な特徴表現D103は、記憶され、S104で教師なしクラスタリングアルゴリズムにアクセス可能にされる。教師なしクラスタリングアルゴリズムは、入力データセットの各メンバーに対応する疑似ラベルを取得するために、潜在的な特徴表現の夫々を、異なった関連する疑似ラベルを夫々有している複数のクラスタのうちの1つにクラスタ化するよう教師なしクラスタリングアルゴリズムを潜在的な特徴表現に適用することによって、入力データセットのマスキングされたバージョンに対応する疑似ラベルの組を生成するために使用される。このように、ステップS104は、各潜在的な特徴表現をクラスタにマッピングするために教師なしクラスタリングアルゴリズムを使用する。各クラスタは疑似ラベル(例えば、疑似ラベルA、疑似ラベルB、疑似ラベルC)と関連付けられる。各潜在的な特徴表現は、入力データセットのマスキングされたバージョンD102aの異なるメンバーを表すので、入力データセットD101の各メンバーは特定の疑似ラベルと関連付けられることが理解され得る。
教師なしクラスタリングアルゴリズムは、例えば、k-meansであってもよいが、如何なる教師なしクラスタリングアルゴリズムも利用され得る。
生産サンプルの単一の入力画像の処理をチャート化する:S101で、教師なし異常検出が行われ、入力画像の対応するマスキングされたバージョンが取得される。S102で、マスキングされたバージョンは分類ANN210によって処理され、S103で、マスキングされたバージョンの潜在的な特徴表現が抽出される。S104で、潜在的な特徴表現の教師なしクラスタリングが実行され、潜在的な特徴表現がクラスタにマッピングされる。クラスタは疑似ラベルに対応する。従って、ステップS101からS104を介して、各入力画像は疑似ラベルにマッピングされる。
S105で、分類ANN210aは、分類ANN210aによって出力された分類間の損失を最小限とするための損失関数である損失関数と、グラウンドトゥルースとして対応する画像と関連付けられた疑似ラベルD104とを用いて、入力データセットのマスキングされたバージョンD102aを分類するよう訓練される。S105は、入力データセットのマスキングされたバージョンD102aの各メンバーが、そのメンバーの疑似ラベルをグラウンドトゥルースとして使用して分類ANN210aによって分類される分類間の損失関数を最小化するよう、分類ANN210aを訓練することを有する。すなわち、疑似ラベルD104は、入力データセットの各々のマスキングされたバージョンD102aをラベル付けするためのグラウンドトゥルースとして使用され、分類ANN210aによって生成された入力データセットのマスキングされたバージョンの分類は、(例えば、後方誤差伝播により)損失関数を最小化するよう訓練(すなわち、分類ANN210aでの調整可能な重み及びパラメータの調整)を実行しながら、損失関数でグラウンドトゥルースと比較される。それによって、分類ANN210aは、分類ANN210bになるよう変更される。
ステップS102からS105は単一の訓練エポックを形成し、上述されたように、訓練条件が満足されるまで繰り返し実行される。訓練エポックの完了時の分類ANN210bは、図5で分類ANN210bと分類ANN210との間の上向き矢印によって表されるように、次の訓練エポックのための開始時の開始分類ANN210になる。
S106は、訓練条件が満足されると実行される最終的な出力ステップである。どのようなデータがどのようなフォーマットでどの出力あて先へ出力されるかの厳密な構成は、実施要件に応じて設定可能である。S106は、入力データセットD101のメンバーごとに、各検出された異常部分の識別を、その異常部分が分類ANN210bによって(具体的には、訓練条件を満足する形式の分類ANNによって)分類される対応する分類とともに、出力することを含んでもよい。
出力は、表示ユニットでの表示によっても、スピーカによるオーディオ形式を取っても、ユーザインターフェースに書き出すことによっても、1つ以上のアプリケーション又はユーザインターフェースによるアクセスのためにメモリ位置に書き込まれることによっても、メッセージ受信者等の定義されたデータあて先への伝送によっても、生産環境内の他のデバイスへの伝送によっても、あるいは、予め定義されたメモリ値での記憶によってもよい。効果は、生産サンプルでの異常の位置を識別し、その異常に分類ラベルを適用することである。分類ラベルの適用は、単一の分類ラベルが入力データセットD101にわたって複数の異常に適用され得るので、分類ラベルの適用は有用であり、故に、分類への意味論的意味の割り当ては複数の異常に対して一度実行される(分類がない場合には、異常ごとに一度である)。
図5は、各訓練エポックに第3のプロセスを含めることを含む実施形態を表す。例えば、第3のプロセスは、入力データセットのマスキングされたバージョンの各々のメンバーにノイズデータを加えることによって(及び変換又はフィルタを適用することによって)、入力データセットのマスキングされたバージョンの各々のメンバーの変更されたバージョンD102bを、変更されたマスキングされた入力データセットD102aとして生成し、入力データセットのマスキングされたバージョンD102aである入力データセットAを分類ANNが処理すること、及び入力されたデータセットの変更されたマスキングされたバージョンD102b入力データセットである入力データセットBを分類ANNが処理することに基づいて、損失関数としての相互情報を最大化するよう分類ANNを更に訓練するステップS115を有してもよい。第3のプロセスは、訓練エポックごとに3つのプロセスのうちの最初、2番目、又は3番目に実行されてもよい。第2のプロセスは第2のプロセッサによって生成されたデータに依存する一方で、第3のプロセスにはそのような依存性がないことが分かる。
第3のプロセスで、分類ANN210は更に訓練される。これは、図5において分類ANN210に適用される参照符号210cによって表され、訓練エポックごとに3つの訓練プロセスを介した分類ANN210の進化が強調されており、そのようなものとして、分類ANN210aa、分類ANN210b、及び分類ANN210cとして表されている。上記のように、3つのプロセスの順序は変更されてもよく、分類ANN210cは実際に、分類ANN210aの前に生成されてもよいので、分類ANN210aは分類器210cの変更されたバージョンとなり、あるいはその逆のしかりである。図5においての分類ANN210cと分類ANN210との間の上向き矢印で示されているように、訓練エポックの完了時の分類ANN210cは、次の訓練エポックのための開始分類ANN210になる。
例において、第3のプロセスに入力される2つのデータセットは、入力データセットのマスキングされたバージョンD102a、すなわち、未加工の画像×マスクである入力データセットAと、未加工の画像×マスク×アフィン(すなわち、変換)+ノイズである入力データセットBとである。変換は、例えば、エンボス画像処理変換であってもよい。
図5に表されている順序では、分類ANN210bは第3のプロセスを実行するために使用され、その分類ANN210bは、分類ANN210cを実現するよう第3のプロセス中に訓練される。訓練は、例えば、この例では相互情報である損失関数の最大化からの後方誤差伝播による分類ANN210bでの調整可能な重み及びバイアスの調整を含む。
相互情報損失は、不変情報クラスタリング(invariant information clustering,IIC)を利用する(https://arxiv.org/pdf/1807.06653.pdfを参照されたい。)入力データセットは、入力データセットのマスキングされたバージョンD102a、すなわち、未加工の画像×マスクである入力データセットAと、未加工の画像×マスク×アフィン(すなわち、変換)+ノイズである入力データセットBとである。IICは教師なし技術であるから、このプロセスではグラウンドトゥルースは不要である。両方の入力データセットA及びBを使用して、相互情報は、訓練が最大化しようとする損失関数として計算される。これは第2プロセスとは対照的である。第2プロセスは、損失関数として交差エントロピを使用し、よって、グラウンドトゥルースを必要とする(グラウンドトゥルースはS104から疑似ラベルの形で供給される)。第2プロセスでの訓練方法は、例えば、https://arxiv.org/pdf/1807.05520.pdfで記載されるようなDeepClusterであってもよい。
プロセス3:相互情報損失を計算する:入力はA(未加工×マスク×(フィルタ))及びB(未加工×マスク×(フィルタ)×アフィン(任意の変換)+ノイズ)の両方である:それは教師なしクラスタリングからの疑似ラベルを使用しない。
入力:A,B
出力:P(A),P(B)
損失:I(P(A),P(B)):相互情報
プロセス2:交差エントロピ損失を計算する:入力はA(未加工×マスク×(フィルタ))のみであるが、教師なしクラスタリングによって与えられる疑似ラベルがグラウンドトゥルースとして使用される。
入力:A
特徴セット:f(A)
疑似ラベル:Q(f(A))
損失:L(A_label,Q(f(A))):交差エントロピ
ノイズは、例えば、画像データに付加されたランダム若しくは疑似ランダムピクセル又は黒ピクセル(あるいは、形状等のピクセルのグループ)等のノイズの多いデータであってよい。分類器ANN210は、不完全な画像データ、又は不完全であるか、そうでなければ同様に分類された異常の他の画像から逸脱している異常の画像の場合に適切に分類することを学習している。
S115での訓練の完了に続いて、分類ANN210cは、図3のS105に関連して上述されたように、訓練条件が満足されているかどうかを決定するよう評価される。
図5で、二重ボックスは、問題のデータセットが分類ANNによって処理される前に、予備処理ステップとして変換又はフィルタが適用される可能性のあるデータセットに適用されている。各データセットに適用する変換又はフィルタは、予め決定された(つまり固定された)パラメータであるか、あるいは、方法全体に適用するパラメータとして決定されてもよい。特定のフィルタ又は変換が異なる生産サンプルタイプにより適している可能性があるため、例えば、適切なフィルタ又は変換を選択することにより、訓練の速度及び/又は分類の精度及び/又は異常検出の精度は向上し得る。二重ボックスが図5に示されているが、他の図、例えば、図3の同等のデータセットにも同様に適用される。
図7は、例えば、図2、図3及び図5の実施形態の代替の表示である。異なる回路図及びダイアグラムが同じ手順を示し、異なる特徴を強調することで理解を助けることは、コンピュータ実装技術の性質である。実施形態は、異常の種類を分類するよう分類ANN210を同時に訓練及び試験するので、訓練フェーズ及び試験フェーズは分割されない。すなわち、分類ANN210を訓練するために使用される入力データセットD101は、生産環境からのライブ画像のデータセットである。入力データセットD101は、様々なタイプの異常を含む画像である。教師なし異常検出S101は、上述されたように、システムの事前訓練された側面であり、入力画像から異常の位置をセグメント化することができる。次いで、ピクセル単位のOK/NG(良又は不良)のマスキングされた画像D102aが取得される。特徴アトラクタ701及び特徴抽出器702は、分類ANN210から入力画像のマスキングされたバージョンD102aの潜在的な特徴表現を抽出するステップS103を実行する。特徴は、S104で疑似ラベルを生成するために、よって、ステップS105で分類ANN210を訓練するために、使用される。出力703として、入力画像ごとの異常の特徴マップ及び分類された異常タイプが取得される。
図8は、例えば、図2、図3、図5及び図7の実施形態の代替の表示である。図8は、対応する入力画像での欠陥の位置を示す対応するマスクD101aを取得するよう、事前訓練されたニューラルネットワークによって入力画像S101(未加工の画像)が処理されることを表す。入力データセットD101及び対応するマスクD101aは、入力データセットのマスキングされたバージョンD102aを生成するよう結合される。変換器は、事実上、画像のバージョンを結合する画像プロセッサであり、任意に、分類ANN210(本例では、ディープニューラルネットワーク(DNN)である)への入力の前に、エンボス等の変換を適用する。
プロセス1は、参照符号1によって示され、異常を含む画像の部分を見るようDNN210を訓練するための異常位置のみの分類である。入力データは、エンボス等のフィルタリングされた未加工の画像である。分類ANN210は、ディープニューラルネットワーク(DNN)と呼ばれてもよく、S102で、損失関数としての交差エントロピ及び後方誤差伝播を使用して訓練される。S102での入力された(未加工の)画像及び対応するマスクは、分類ANN210による分類の前に変換されてもよい。マスキングされた画像の変換されたバージョン及び変換されていないバージョンの両方が分類ANN210によって分類され得る。いずれの場合にも、グラウンドトゥルースは、画像のバージョンを生成するよう適用される変換(又は変換の欠如)を表す自己生成された(自動化された)ラベルである。ここで、ラベルは、夫々の異なった変換(又は変換なし)を異なるラベルにマッピングすることによって生成される。ラベルは、「自己生成された」又は「自動化された」又は「自動的に生成された」と言われるが、これは、それらが、手動/専門家入力なしでシステム/アルゴリズム/プロセス/プログラム/メソッドによって生成されるからである。分類ANN210は、交差エントロピを最小化するよう、つまり、グラウンドトゥルースに可能な限り近い分類を達成するよう、訓練される。入力は、入力データセットのマスキングされたバージョンD102a、又はその変換若しくはフィルタリングされた(例えば、エンボス加工された)バージョン(あるいは、変換されたバージョン及び変換されていないバージョン)のどれかである。
プロセス2は、参照符号2によって示されるが、第3のプロセスも図8に表されていることが分かる。S103で、特徴セットが、マスキングされたバージョンD102aの潜在的な特徴表現D103を取得するよう抽出される。S104で、潜在的な特徴表現D103の教師なしクラスタリングが、潜在的な特徴表現D103をクラスタにマッピングするよう実行され、クラスタは疑似ラベルD104に対応する。S105で、DNN210は、DeepClusterに基づき、損失関数としての交差エントロピにより、グラウンドトゥルースとして疑似ラベルを用いて異常をグループに分類するよう訓練される。
第3のプロセスS115で、DNN210による分類が実行される。分類は、マスキングされたバージョンD102aとその更に変更されたバージョンD102b(ノイズを加えることによる)との間の相互情報を最大化して、エントロピ最小化及びノイズがあるデータに伴う問題による確実性を持って単一の分類を予測することを回避することができる。第3のプロセスは、不変情報クラスタリングを利用する。
S106は、上述されたように、出力ステップであり、入力画像が、検出されたそれらの各々の異常の位置及び検出された異常に適用された分類とともに出力される。
図9Aは、図8の第1プロセスを更に詳細に示す。未加工の画像及び異常位置のマスク画像が入力データとして使用される。それらは、未加工の画像をマスキングした後でいくつかのフィルタにより変換される。図の場合には、フィルタリングなし、エンボス、及び未加工がDNNのための入力データとして使用される。DNNは、それらのラベルを交差エントロピにより分類する。従って、ネットワークは、他のエリアが同じ特徴であるということで、異常のみを見ることができるものであることができる。図9Aは、損失1(すなわち、第1プロセスでの交差エントロピ損失)を計算するプロセスを示す。それは、変換された生データ(未加工*マスク)を入力として、そして、それらのラベル(図9Aでは0,1,2)を必要とする。ラベルはグラウンドトゥルースであり、(図9Bに表されるように)画像のバージョンを生成するよう適用された変換(又は変換の欠如)を表す自己生成されたラベルである。ラベルは、夫々の異なった変換(又は変換なし)を異なるラベルにマッピングすることによって生成される。ラベルは、「自己生成された」又は「自動化された」又は「自動的に生成された」と言われるが、これは、それらが、手動/専門家入力なしでシステム/アルゴリズム/プロセス/プログラム/メソッドによって生成されるからである。入力された(未加工の)画像及び対応するマスクは、分類ANN210による分類の前に変換されてもよい。マスキングされた画像の変換されたバージョン及び変換されていないバージョンの両方が分類ANN210によって分類され得る。入力画像の複数のバージョンを生成し、分類ANN210による処理に備えてそれらのバージョンにラベルを付すプロセスは、入力データセット内の画像ごとに繰り返される。
これより、実施形態の実施を説明する。
実施において、現実のアプリケーションからのテスクチャ及びオブジェクトに分割された15個の異なるカテゴリを持つMVTec ADデータセットが、使用される。予備処理段階で、画像は、256×256個のピクセルにラスタライズ及び正規化される。データセットは、マスク画像として異常の位置について対応するグラウンドトゥルースデータセットを持つ。この実施は、この技術を評価するための入力データとしてこれらのグラウンドトゥルースマスク画像を用いて適用される。
訓練及び試験は、PyTorchで実装される。16個の画像のバッチサイズが、ネットワークを試験するために使用される。モデルは、学習率=1×10、モメンタム(momentum)=0.9、荷重減衰(weight decay)=0及びダンプニング(dampening)=ネステロフ(nesterov)=偽(False)を有するSGDオプティマイザを用いて最適化される。
図10は、この技術による各エポックの結果を表す。それらは、ネットワークから2次元のPCAによって計算された抽出された特徴マップであり、k-meansによってクラスタ化される。左のグラフのラベルの色はグラウンドトゥルースであり、右のグラフのラベルの色は精度である。実施の目的は、特徴マップ上で距離によりグループを分離することである。エポック0は、訓練されていないネットワークによる例である。訓練なしでは、おおよそ2つのグループがある。ネットワークが訓練されると、これらのグループは他のグループから距離を置く。訓練を終了するタイミングについては、シルエット係数、疑似F及びデイビスボルディンインデックス(davies bouldin Index)がメトリックとして使用され得る。
図11は、生産サンプルとしてのトランジスタの最良の結果を示す。左の特徴マップはサンプルピクチャとともに示されている。この場合に、異常の4つの分類と、優良(異常なし)とが存在する。予測されたクラスタリングが右のグラフに示されている。
図12は、既存の方法(PCA及び教師なしクラスタリング、転移学習、ディープクラスタhttps://arxiv.org/pdf/1807.05520.pdf)に対するベンチマーク入力として15個のMVTecデータセットを使用した数値結果を示す。数値は正規化された相互情報であり、この研究で教師なしクラスタリングを評価するために広く普及している。全てのデータセットで、このテクノロジーは既存の方法よりも優れている。
図15は、本発明を具現し、図1に表されているような、生産サンプルの画像において異常を識別及び分類するようされ、図2~5及び図7~9で表されている動作を実行するコンピュータ装置を実装するために使用され得る、コンピュータ装置又はサーバ等のコンピュータデバイスのブロック図である。コンピュータデバイスは、プロセッサ993及びメモリ994を有する。任意に、コンピュータデバイスは、コンピュータデバイスと、例えば、発明実施形態の他のコンピュータデバイスと通信するためのネットワークインターフェース997も含む。
例えば、実施形態は、そのようなコンピュータデバイスのネットワークから構成されてもよい。任意に、コンピュータ装置は、キーボード及びマウス996等の1つ以上の入力メカニズム、並びに1つ以上のモニタ995等の表示ユニットも含む。コンポーネントは、バス992を介して互いに接続可能である。コンピュータデバイスは、生産サンプルの画像を取得するカメラ等のイメージングデバイスを含んでも、あるいは、そのようなイメージングデバイスとデータ通信してもよい。
メモリ994はコンピュータ可読媒体を含んでもよい。コンピュータ可読記憶媒体という用語は、コンピュータ実行可能命令を運ぶよう構成されるか、又はデータ構造が記憶されている単一の媒体又は複数の媒体(例えば、中央集権型又は分散型データベース及び/又は関連するキャッシュ及びサーバ)を指し得る。コンピュータ実行可能命令は、例えば、汎用コンピュータ、特別目的のコンピュータ、又は特別目的のプロセッシングデバイス(例えば、1つのプロセッサ)によってアクセス可能であって、それらに1つ以上の機能又は動作を実行させる命令及びデータを含み得る。よって、「コンピュータ可読記憶媒体」という用語はまたは、マシンによって実行されて、マシンに本開示の方法のいずれか1つ以上を実行させる命令の組を記憶、エンコード、又は搬送することが可能なあらゆる媒体を含み得る。「コンピュータ可読記憶媒体」という用語は、従って、ソリッド・ステート・メモリ、光学媒体及び磁気媒体を含むと理解され得るが、これらに限られない。例として、限定としてではなく、そのようなコンピュータ可読媒体は、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、電気的消去可能なプログラム可能リード・オンリー・メモリ(EEPROM)、コンパクトディスク型リード・オンリー・メモリ(CD-ROM)若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリデバイス(例えば、ソリッド・ステート・メモリデバイス)を含む非一時的なコンピュータ可読記憶媒体を含んでもよい。
プロセッサ993は、コンピュータデバイスを制御して、プロッセシング演算を実行するよう、例えば、本明細書及び特許請求の範囲で記載される図1、図2、図3、図5及び図6の様々な異なるステップを実装するようメモリに記憶されたコードを実行するよう構成される。プロセッサ993は、生成ニューラルネットワーク220等の1つ以上のニューラルネットワークを実装するよう適応されたGPU(graphics processing unit)を含んでもよい。メモリ994は、プロセッサ993によって読み出されかつ書き込まれるデータを記憶する。本明細書で言及されているように、プロセッサは、マイクロプロセッサ、中央演算処理装置、等のような1つ以上の汎用のプロセッシングデバイスを含んでもよい。プロセッサは、複数命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、又は他の命令セットを実装するプロセッサ若しくは命令セットの組み合わせを実装するプロセッサを含んでもよい。プロセッサはまた、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、等のような1つ以上の特別目的のプロセッシングデバイスを含んでもよい。1つ以上の実施形態において、プロセッサは、本明細書で説明されている動作及びステップを実行するための命令を実行するよう構成される。
表示ユニット997は、コンピュータデバイスによって記憶されているデータの表現を表示してもよく、また、カーソル及びダイアログボックス並びにユーザとコンピュータデバイスに記憶されているプログラム及びデータとの間のインタラクションを可能にする画面を表示してもよい。入力メカニズム996は、ユーザがデータ及び命令をコンピュータデバイスに入力を可能にし得る。
ネットワークインターフェース(ネットワークI/F)997は、インターネット等のネットワークへ接続されてもよく、他のかようなコンピュータへネットワークを介して接続可能である。ネットワークI/F997は、ネットワークを介した他の装置とのデータ入出力を制御し得る。マイクロホン、スピーカ、プリンタ、電源ユニット、ファン、ケース、スキャナ、トラックボール等の他の周辺デバイスがコンピュータデバイスに含まれてもよい。
本発明を具現する方法は、図15に表されているようなコンピュータデバイスで実行されてもよい。そのようなコンピュータデバイスは、図15に表されているあらゆるコンポーネントを備えていなくてもよく、それらのコンポーネントのサブセットから構成されてもよい。本発明を具現する方法は、ネットワークを介して1つ以上のデータ記憶サーバと通信する単一のコンピュータデバイスによって実行されてもよい。コンピュータデバイスは、分類ANN210及びS106の出力をそれ自体に記憶するデータストレージであってもよい。
本発明を具現する方法は、互いに協働する複数のコンピュータデバイスによって実行されてもよい。複数のコンピュータデバイスのうちの1つ以上は、分類ANN210の少なくとも一部と、S106からの以上の出力された識別及び分類とを記憶するデータ記憶サーバであってもよい。
上記に加えて、次の付記を開示する。
(付記1)
画像内の異常を識別及び分類するよう構成されるコンピュータ装置であって、メモリハードウェア及びプロセッサハードウェアを有し、前記メモリハードウェアが分類人工ニューラルネットワーク(ANN)及び処理命令を記憶し、前記プロセッサハードウェアが前記処理命令を実行するよう構成される、前記コンピュータ装置において、
前記処理命令は、実行されるときに、前記コンピュータ装置に、
画像の入力データセットに対して教師なし異常検出を実行して前記画像から異常部分を検出して、前記データセット内の画像ごとに、当該画像内のあらゆる検出された1つ以上の異常部分を伝えて異常なし部分をブロックする対応するマスク画像を生成することと、
前記分類ANNを訓練することと
を実行させ、
前記訓練することは、各訓練エポックにおいて、
第1プロセスで、
前記分類ANNにより前記入力データセットのマスキングされたバージョンを処理し、該マスキングされたバージョンが、前記対応するマスク画像によってマスキングされた前記入力データセットの各画像を有し、そして、自動生成されたラベルをグラウンドトゥルースとして使用して交差エントロピ損失関数を最小化することによって異常部分を複数の分類のうちの1つに分類するよう前記分類ANNを訓練することと、
前記分類ANNから、前記入力データセットの前記マスキングされたバージョンの各画像の潜在的な特徴表現を抽出することと、
第2プロセスで、
前記入力データセットの各画像に対応する疑似ラベルを取得するために、前記潜在的な特徴表現の夫々を、異なった関連する疑似ラベルを夫々有している複数のクラスタのうちの1つにクラスタ化するよう教師なしクラスタリングアルゴリズムを前記潜在的な特徴表現に適用することによって前記入力データセットの前記マスキングされたバージョンに対応する疑似ラベルの組を生成することと、
前記入力データセットの各画像が当該画像の疑似ラベルをグラウンドトゥルースとして使用して前記分類ANNによって分類される分類間の損失関数を最小化するよう前記分類ANNを訓練することと
を含み、
前記コンピュータ装置は、訓練条件を満足するまで繰り返し前記訓練エポックを実行させられ、前記入力データセットの画像ごとに、各検出された異常部分の識別を、当該異常部分が前記分類ANNによって分類される対応する分類とともに出力させられる、
コンピュータ装置。
(付記2)
前記第1プロセスで前記分類ANNによって処理された前記入力データセットの前記マスキングされたバージョンは、前記対応するマスクによってマスキングされることに加えて、画像フィルタによってフィルタ処理されるか、又は画像変換アルゴリズムによって変換される、
付記1に記載のコンピュータ装置。
(付記3)
前記画像フィルタは、エンボス画像フィルタであり、あるいは、
前記画像変換アルゴリズムは、エンボス加工画像変換アルゴリズムである、
付記2に記載のコンピュータ装置。
(付記4)
前記入力データセットの前記マスキングされたバージョンは、前記入力データセットの各メンバーの複数のバージョンを有し、該複数のバージョンは、複数の画像変換アルゴリズム又は画像フィルタの選択の夫々が適用された前記画像である、
付記2に記載のコンピュータ装置。
(付記5)
前記自動生成されたラベルは、各画像変換アルゴリズム又は画像フィルタがラベルにマッピングするように、前記バージョンに適用されている前記画像変換アルゴリズム又は画像フィルタによって決定され、前記ラベルの値は、互いに異なる任意の値である、
付記4に記載のコンピュータ装置。
(付記6)
前記教師なし異常検出は、画像の欠陥なし部分を生成するよう、かつ、前記入力データセットからの画像の欠陥なしバージョンを生成し、当該画像を前記生成された欠陥なしバージョンと比較して前記マスクを生成することによって、当該画像に対応するマスク画像を生成するよう事前訓練されたオートエンコーダ又は生成ニューラルネットワークにより実行される、
付記1に記載のコンピュータ装置。
(付記7)
前記生成ニューラルネットワークは、敵対的生成ニューラルネットワークである、
付記6に記載のコンピュータ装置。
(付記8)
前記第1プロセスでの前記損失関数は、ピクセル単位の交差エントロピ損失である、
付記1に記載のコンピュータ装置。
(付記9)
各訓練エポックは、
第3プロセスで、
前記入力データセットの前記マスキングされたバージョンの各々の画像にノイズデータを加えることによって、及び変換又はフィルタを適用することによって、前記入力データセットの前記マスキングされたバージョンの各画像の変更されたバージョンを、変更されたマスキングされた入力データセットとして生成することと、
前記マスキングされた入力データセットである入力データセットAを前記分類ANNが処理すること、及び前記変更されたマスキングされた入力データセットである入力データセットBを前記分類ANNが処理することに基づいて、損失関数として相互情報を最大化するよう前記分類ANNを更に訓練することと
を更に含む、
付記1乃至8のうちいずれか1つに記載のコンピュータ装置。
(付記10)
付記1に記載のコンピュータ装置と、
画像を生成し、前記コンピュータ装置による処理のために前記生成された画像を入力データセットとして記憶するよう構成されるイメージング装置と
を有するシステム。
(付記11)
前記画像は生産サンプルの画像であり、
製品又は材料を生産サンプルとして生産する生産環境を更に有する、
付記10に記載のシステム。
(付記12)
画像内の異常を識別及び分類する方法であって、
画像の入力データセットに対して教師なし異常検出を実行して前記画像から異常部分を検出して、前記データセット内の画像ごとに、当該画像内のあらゆる検出された1つ以上の異常部分を伝えて異常なし部分をブロックする対応するマスク画像を生成することと、
分類人工ニューラルネットワーク(ANN)を訓練することと
を有し、
前記訓練することは、各訓練エポックにおいて、
第1プロセスで、
前記分類ANNにより前記入力データセットのマスキングされたバージョンを処理し、該マスキングされたバージョンが、前記対応するマスク画像によってマスキングされた前記入力データセットの各画像を有し、そして、自動生成されたラベルをグラウンドトゥルースとして使用して交差エントロピ損失関数を最小化することによって異常部分を複数の分類のうちの1つに分類するよう前記分類ANNを訓練することと、
前記分類ANNから、前記入力データセットの前記マスキングされたバージョンの各画像の潜在的な特徴表現を抽出することと、
第2プロセスで、
前記入力データセットの各画像に対応する疑似ラベルを取得するために、前記潜在的な特徴表現の夫々を、異なった関連する疑似ラベルを夫々有している複数のクラスタのうちの1つにクラスタ化するよう教師なしクラスタリングアルゴリズムを前記潜在的な特徴表現に適用することによって前記入力データセットの前記マスキングされたバージョンに対応する疑似ラベルの組を生成することと、
前記入力データセットの各画像が当該画像の疑似ラベルをグラウンドトゥルースとして使用して前記分類ANNによって分類される分類間の損失関数を最小化するよう前記分類ANNを訓練することと
を含み、
前記方法は、訓練条件を満足するまで繰り返し前記訓練エポックを実行し、前記入力データセットの画像ごとに、各検出された異常部分の識別を、当該異常部分が前記分類ANNによって分類される対応する分類とともに出力することを有する、
方法。
(付記13)
プロセッサハードウェア及びメモリハードウェアを備えたコンピュータ装置によって実行される場合に、該コンピュータ装置に、画像内の異常を識別及び分類する方法を実行させるコンピュータプログラムであって、
前記方法は、
画像の入力データセットに対して教師なし異常検出を実行して前記画像から異常部分を検出して、前記データセット内の画像ごとに、当該画像内のあらゆる検出された1つ以上の異常部分を伝えて異常なし部分をブロックする対応するマスク画像を生成することと、
分類人工ニューラルネットワーク(ANN)を訓練することと
を有し、
前記訓練することは、各訓練エポックにおいて、
第1プロセスで、
前記分類ANNにより前記入力データセットのマスキングされたバージョンを処理し、該マスキングされたバージョンが、前記対応するマスク画像によってマスキングされた前記入力データセットの各画像を有し、そして、自動生成されたラベルをグラウンドトゥルースとして使用して交差エントロピ損失関数を最小化することによって異常部分を複数の分類のうちの1つに分類するよう前記分類ANNを訓練することと、
前記分類ANNから、前記入力データセットの前記マスキングされたバージョンの各画像の潜在的な特徴表現を抽出することと、
第2プロセスで、
前記入力データセットの各画像に対応する疑似ラベルを取得するために、前記潜在的な特徴表現の夫々を、異なった関連する疑似ラベルを夫々有している複数のクラスタのうちの1つにクラスタ化するよう教師なしクラスタリングアルゴリズムを前記潜在的な特徴表現に適用することによって前記入力データセットの前記マスキングされたバージョンに対応する疑似ラベルの組を生成することと、
前記入力データセットの各画像が当該画像の疑似ラベルをグラウンドトゥルースとして使用して前記分類ANNによって分類される分類間の損失関数を最小化するよう前記分類ANNを訓練することと
を含み、
前記方法は、訓練条件を満足するまで繰り返し前記訓練エポックを実行し、前記入力データセットの画像ごとに、各検出された異常部分の識別を、当該異常部分が前記分類ANNによって分類される対応する分類とともに出力することを有する、
コンピュータプログラム。
(付記14)
付記13に記載のコンピュータプログラムを記憶する非一時的なコンピュータ可読記憶媒体。
100 プロセッサハードウェア
200 メモリハードウェア
210 分類ANN
220 生成ニューラルネットワーク
221 弁別ニューラルネットワーク
993 プロセッサ
994 メモリ
997 ネットワークインターフェース
D101 入力データセット
D102a マスキングされたバージョン
D102b 変更されたマスキングされたバージョン
D103 潜在的な特徴表現
D104 疑似ラベル

Claims (13)

  1. 画像内の異常を識別及び分類するよう構成されるコンピュータ装置であって、メモリハードウェア及びプロセッサハードウェアを有し、前記メモリハードウェアが分類人工ニューラルネットワーク(ANN)及び処理命令を記憶し、前記プロセッサハードウェアが前記処理命令を実行するよう構成される、前記コンピュータ装置において、
    前記処理命令は、実行されるときに、前記コンピュータ装置に、
    画像の入力データセットに対して教師なし異常検出を実行して前記画像から異常部分を検出して、前記データセット内の画像ごとに、当該画像内のあらゆる検出された1つ以上の異常部分を伝えて異常なし部分をブロックする対応するマスク画像を生成することと、
    前記分類ANNを訓練することと
    を実行させ、
    前記訓練することは、各訓練エポックにおいて、
    第1プロセスで、
    前記分類ANNにより前記入力データセットのマスキングされたバージョンを処理し、該マスキングされたバージョンが、前記対応するマスク画像によってマスキングされた前記入力データセットの各画像を有し、そして、自動生成されたラベルをグラウンドトゥルースとして使用して交差エントロピ損失関数を最小化することによって異常部分を複数の分類のうちの1つに分類するよう前記分類ANNを訓練することと、
    前記分類ANNから、前記入力データセットの前記マスキングされたバージョンの各画像の潜在的な特徴表現を抽出することと、
    第2プロセスで、
    前記入力データセットの各画像に対応する疑似ラベルを取得するために、前記潜在的な特徴表現の夫々を、異なった関連する疑似ラベルを夫々有している複数のクラスタのうちの1つにクラスタ化するよう教師なしクラスタリングアルゴリズムを前記潜在的な特徴表現に適用することによって前記入力データセットの前記マスキングされたバージョンに対応する疑似ラベルの組を生成することと、
    前記入力データセットの各画像が当該画像の疑似ラベルをグラウンドトゥルースとして使用して前記分類ANNによって分類される分類間の損失関数を最小化するよう前記分類ANNを訓練することと
    を含み、
    前記コンピュータ装置は、訓練条件を満足するまで繰り返し前記訓練エポックを実行させられ、前記入力データセットの画像ごとに、各検出された異常部分の識別を、当該異常部分が前記分類ANNによって分類される対応する分類とともに出力させられる、
    コンピュータ装置。
  2. 前記第1プロセスで前記分類ANNによって処理された前記入力データセットの前記マスキングされたバージョンは、前記対応するマスクによってマスキングされることに加えて、画像フィルタによってフィルタ処理されるか、又は画像変換アルゴリズムによって変換される、
    請求項1に記載のコンピュータ装置。
  3. 前記画像フィルタは、エンボス画像フィルタであり、あるいは、
    前記画像変換アルゴリズムは、エンボス加工画像変換アルゴリズムである、
    請求項2に記載のコンピュータ装置。
  4. 前記入力データセットの前記マスキングされたバージョンは、前記入力データセットの各メンバーの複数のバージョンを有し、該複数のバージョンは、複数の画像変換アルゴリズム又は画像フィルタの選択の夫々が適用された前記画像である、
    請求項2に記載のコンピュータ装置。
  5. 前記自動生成されたラベルは、各画像変換アルゴリズム又は画像フィルタがラベルにマッピングするように、前記バージョンに適用されている前記画像変換アルゴリズム又は画像フィルタによって決定され、前記ラベルの値は、互いに異なる任意の値である、
    請求項4に記載のコンピュータ装置。
  6. 前記教師なし異常検出は、画像の欠陥なし部分を生成するよう、かつ、前記入力データセットからの画像の欠陥なしバージョンを生成し、当該画像を前記生成された欠陥なしバージョンと比較して前記マスクを生成することによって、当該画像に対応するマスク画像を生成するよう事前訓練されたオートエンコーダ又は生成ニューラルネットワークにより実行される、
    請求項1に記載のコンピュータ装置。
  7. 前記生成ニューラルネットワークは、敵対的生成ニューラルネットワークである、
    請求項6に記載のコンピュータ装置。
  8. 前記第1プロセスでの前記損失関数は、ピクセル単位の交差エントロピ損失である、
    請求項1に記載のコンピュータ装置。
  9. 各訓練エポックは、
    第3プロセスで、
    前記入力データセットの前記マスキングされたバージョンの各々の画像にノイズデータを加えることによって、及び変換又はフィルタを適用することによって、前記入力データセットの前記マスキングされたバージョンの各画像の変更されたバージョンを、変更されたマスキングされた入力データセットとして生成することと、
    前記マスキングされた入力データセットである入力データセットAを前記分類ANNが処理すること、及び前記変更されたマスキングされた入力データセットである入力データセットBを前記分類ANNが処理することに基づいて、損失関数として相互情報を最大化するよう前記分類ANNを更に訓練することと
    を更に含む、
    請求項1乃至8のうちいずれか一項に記載のコンピュータ装置。
  10. 請求項1に記載のコンピュータ装置と、
    画像を生成し、前記コンピュータ装置による処理のために前記生成された画像を入力データセットとして記憶するよう構成されるイメージング装置と
    を有するシステム。
  11. 前記画像は生産サンプルの画像であり、
    製品又は材料を生産サンプルとして生産する生産環境を更に有する、
    請求項10に記載のシステム。
  12. 画像内の異常を識別及び分類する方法であって、
    画像の入力データセットに対して教師なし異常検出を実行して前記画像から異常部分を検出して、前記データセット内の画像ごとに、当該画像内のあらゆる検出された1つ以上の異常部分を伝えて異常なし部分をブロックする対応するマスク画像を生成することと、
    分類人工ニューラルネットワーク(ANN)を訓練することと
    を有し、
    前記訓練することは、各訓練エポックにおいて、
    第1プロセスで、
    前記分類ANNにより前記入力データセットのマスキングされたバージョンを処理し、該マスキングされたバージョンが、前記対応するマスク画像によってマスキングされた前記入力データセットの各画像を有し、そして、自動生成されたラベルをグラウンドトゥルースとして使用して交差エントロピ損失関数を最小化することによって異常部分を複数の分類のうちの1つに分類するよう前記分類ANNを訓練することと、
    前記分類ANNから、前記入力データセットの前記マスキングされたバージョンの各画像の潜在的な特徴表現を抽出することと、
    第2プロセスで、
    前記入力データセットの各画像に対応する疑似ラベルを取得するために、前記潜在的な特徴表現の夫々を、異なった関連する疑似ラベルを夫々有している複数のクラスタのうちの1つにクラスタ化するよう教師なしクラスタリングアルゴリズムを前記潜在的な特徴表現に適用することによって前記入力データセットの前記マスキングされたバージョンに対応する疑似ラベルの組を生成することと、
    前記入力データセットの各画像が当該画像の疑似ラベルをグラウンドトゥルースとして使用して前記分類ANNによって分類される分類間の損失関数を最小化するよう前記分類ANNを訓練することと
    を含み、
    前記方法は、訓練条件を満足するまで繰り返し前記訓練エポックを実行し、前記入力データセットの画像ごとに、各検出された異常部分の識別を、当該異常部分が前記分類ANNによって分類される対応する分類とともに出力することを有する、
    方法。
  13. コンピュータプログラムを記憶する非一時的な記憶媒体であって、
    前記コンピュータプログラムは、プロセッサハードウェア及びメモリハードウェアを備えたコンピュータ装置によって実行される場合に、該コンピュータ装置に、画像内の異常を識別及び分類する方法を実行させ、
    前記方法は、
    画像の入力データセットに対して教師なし異常検出を実行して前記画像から異常部分を検出して、前記データセット内の画像ごとに、当該画像内のあらゆる検出された1つ以上の異常部分を伝えて異常なし部分をブロックする対応するマスク画像を生成することと、
    分類人工ニューラルネットワーク(ANN)を訓練することと
    を有し、
    前記訓練することは、各訓練エポックにおいて、
    第1プロセスで、
    前記分類ANNにより前記入力データセットのマスキングされたバージョンを処理し、該マスキングされたバージョンが、前記対応するマスク画像によってマスキングされた前記入力データセットの各画像を有し、そして、自動生成されたラベルをグラウンドトゥルースとして使用して交差エントロピ損失関数を最小化することによって異常部分を複数の分類のうちの1つに分類するよう前記分類ANNを訓練することと、
    前記分類ANNから、前記入力データセットの前記マスキングされたバージョンの各画像の潜在的な特徴表現を抽出することと、
    第2プロセスで、
    前記入力データセットの各画像に対応する疑似ラベルを取得するために、前記潜在的な特徴表現の夫々を、異なった関連する疑似ラベルを夫々有している複数のクラスタのうちの1つにクラスタ化するよう教師なしクラスタリングアルゴリズムを前記潜在的な特徴表現に適用することによって前記入力データセットの前記マスキングされたバージョンに対応する疑似ラベルの組を生成することと、
    前記入力データセットの各画像が当該画像の疑似ラベルをグラウンドトゥルースとして使用して前記分類ANNによって分類される分類間の損失関数を最小化するよう前記分類ANNを訓練することと
    を含み、
    前記方法は、訓練条件を満足するまで繰り返し前記訓練エポックを実行し、前記入力データセットの画像ごとに、各検出された異常部分の識別を、当該異常部分が前記分類ANNによって分類される対応する分類とともに出力することを有する、
    非一時的な記憶媒体。
JP2021200390A 2021-01-12 2021-12-09 異常検出及び分類のための装置、プログラム、及び方法 Pending JP2022108260A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP21151153.0A EP4027300B1 (en) 2021-01-12 2021-01-12 Apparatus, program, and method for anomaly detection and classification
EP21151153.0 2021-01-12

Publications (1)

Publication Number Publication Date
JP2022108260A true JP2022108260A (ja) 2022-07-25

Family

ID=74175663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021200390A Pending JP2022108260A (ja) 2021-01-12 2021-12-09 異常検出及び分類のための装置、プログラム、及び方法

Country Status (3)

Country Link
US (1) US20220262108A1 (ja)
EP (1) EP4027300B1 (ja)
JP (1) JP2022108260A (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201718756D0 (en) * 2017-11-13 2017-12-27 Cambridge Bio-Augmentation Systems Ltd Neural interface
CN112612915B (zh) * 2020-12-30 2024-04-09 上海芯翌智能科技有限公司 一种图片标注方法及设备
WO2022217145A1 (en) * 2021-04-09 2022-10-13 Endocanna Health, Inc. Machine-learning based efficacy predictions based on genetic and biometric information
US20220392025A1 (en) * 2021-06-04 2022-12-08 Adobe Inc. Restoring degraded digital images through a deep learning framework
US11769328B2 (en) * 2021-09-02 2023-09-26 Gracenote, Inc. Automated video segmentation
CN115331216B (zh) * 2022-08-11 2023-05-23 北京林业大学 核桃果实成熟度聚类识别方法、装置及系统和存储介质
CN115222738B (zh) * 2022-09-20 2022-12-09 合肥中科类脑智能技术有限公司 一种基于特征迁移的在线学习异常检测方法及系统
CN115862087B (zh) * 2022-09-26 2023-06-23 哈尔滨工业大学 基于可靠性建模的无监督行人重识别方法及系统
CN117911803A (zh) * 2022-10-12 2024-04-19 华为技术有限公司 样本处理方法、装置、计算设备和计算机可读存储介质
CN116152577B (zh) * 2023-04-19 2023-08-29 深圳须弥云图空间科技有限公司 图像分类方法及装置
CN117171557B (zh) * 2023-08-03 2024-03-22 武汉纺织大学 基于脑电信号的自监督情绪识别模型的预训练方法及装置
CN116912638B (zh) * 2023-09-13 2024-01-12 深圳金三立视频科技股份有限公司 一种多数据集的联合训练方法及终端
CN118211636B (zh) * 2024-05-21 2024-07-19 赫比(成都)精密塑胶制品有限公司 网络模型训练方法、金属件表面缺陷检测方法及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190251349A1 (en) * 2014-03-12 2019-08-15 Gary L. Duerksen System and method for object classification and sorting
US20180227482A1 (en) * 2017-02-07 2018-08-09 Fyusion, Inc. Scene-aware selection of filters and effects for visual digital media content
US10430937B2 (en) * 2017-09-25 2019-10-01 United Technologies Corporation Automated material characterization system including conditional generative adversarial networks
EP3739513A1 (en) * 2019-05-13 2020-11-18 Fujitsu Limited Surface defect identification method and apparatus
WO2021191908A1 (en) * 2020-03-25 2021-09-30 Yissum Research Development Company Of The Hebrew University Of Jerusalem Ltd. Deep learning-based anomaly detection in images

Also Published As

Publication number Publication date
EP4027300A1 (en) 2022-07-13
US20220262108A1 (en) 2022-08-18
EP4027300B1 (en) 2023-12-27

Similar Documents

Publication Publication Date Title
JP2022108260A (ja) 異常検出及び分類のための装置、プログラム、及び方法
US11276162B2 (en) Surface defect identification method and apparatus
CN110945528B (zh) 产生可用于检查半导体样品的训练集的方法及其系统
JP6632623B2 (ja) サンプリング及びフィーチャ選択を伴わない自動欠陥分類
US20210133989A1 (en) BBP Assisted Defect Detection Flow for SEM Images
Xie et al. Graph neural network-enabled manufacturing method classification from engineering drawings
KR102325347B1 (ko) 머신러닝 기반 결함 분류 장치 및 방법
US20220044361A1 (en) Method and apparatus for acquiring feature data from low-bit image
CN113239869A (zh) 基于关键帧序列和行为信息的两阶段行为识别方法及系统
Takimoto et al. Anomaly detection using siamese network with attention mechanism for few-shot learning
Bai et al. Robust texture-aware computer-generated image forensic: Benchmark and algorithm
Mondal et al. Improved skin disease classification using generative adversarial network
CN116704208B (zh) 基于特征关系的局部可解释方法
Wang et al. Semantic segmentation of sewer pipe defects using deep dilated convolutional neural network
Peng et al. Contamination classification for pellet quality inspection using deep learning
Anouncia et al. A knowledge model for gray scale image interpretation with emphasis on welding defect classification—An ontology based approach
CN115909493A (zh) 一种面向课堂实录视频的教师不当手势检测方法及系统
Fianty et al. Detection of Image Splicing Forgeries Based on Deep Learning with Edge Detector
Lv et al. Automated nanoparticle count via modified blendmask instance segmentation on sem images
Sasaya et al. Simple Self-Distillation Learning for Noisy Image Classification
Priya et al. An Enhanced Animal Species Classification and Prediction Engine using CNN
Sultana et al. Freshness identification of fruits through the development of a dataset
Srilakshmi et al. Automatic Visual Inspection-Defects Detection using CNN
US20230054119A1 (en) Method and device with defect detection
Olimov et al. Unsupervised deep learning-based end-to-end network for anomaly detection and localization