(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-10
(45)【発行日】2024-09-19
(54)【発明の名称】欠陥検出システム
(51)【国際特許分類】
G06V 10/774 20220101AFI20240911BHJP
G06N 3/09 20230101ALI20240911BHJP
G06N 20/00 20190101ALI20240911BHJP
G06T 7/00 20170101ALI20240911BHJP
G06V 10/82 20220101ALI20240911BHJP
【FI】
G06V10/774
G06N3/09
G06N20/00 130
G06T7/00 350C
G06T7/00 610B
G06V10/82
(21)【出願番号】P 2022553667
(86)(22)【出願日】2021-03-09
(86)【国際出願番号】 US2021021449
(87)【国際公開番号】W WO2021183473
(87)【国際公開日】2021-09-16
【審査請求日】2022-10-13
(32)【優先日】2020-03-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】511289471
【氏名又は名称】ナノトロニクス イメージング インコーポレイテッド
【氏名又は名称原語表記】NANOTRONICS IMAGING,INC.
【住所又は居所原語表記】2251 FRONT STREET,SUITE 110,P.O.BOX 306,CUYAHOGA FALLS,OHIO 44223,U.S.A.
(74)【代理人】
【識別番号】110002321
【氏名又は名称】弁理士法人永井国際特許事務所
(72)【発明者】
【氏名】イヴァノフ,トニスラフ
(72)【発明者】
【氏名】バベシュコ,デニス
(72)【発明者】
【氏名】ピンスキー,バディム
(72)【発明者】
【氏名】プットマン,マシュー シー
(72)【発明者】
【氏名】サンドストローム,アンドリュー
【審査官】吉川 康男
(56)【参考文献】
【文献】米国特許出願公開第2019/0370955(US,A1)
【文献】特表2019-537839(JP,A)
【文献】米国特許出願公開第2018/0232601(US,A1)
【文献】特開2017-107386(JP,A)
【文献】米国特許出願公開第2014/0040169(US,A1)
【文献】Chen Feng, Ming-Yu Liu, Chieh-Chi Kao, Teng-Yok Lee,Deep Active Learning for Civil Infrastructure Defect Detection and Classification,ASCE International Workshop on Computing in Civil Engineering 2017,米国,ASCE,2017年06月13日,8 pages in total,http://www.semanticscholar.oreg/paper/Deep-Active-Learning-for-Civil-Infrastructure-and-Feng-Liu/a78f8d0c1d6bf1b2a96ec2e50a8cc9cefbf6f8eb
【文献】浦野 貴裕, 酒井 薫, 前田 俊二, 佐藤 真一,対話的教示欠陥選択に基づく効率的な実欠陥・虚報弁別技術,電子情報通信学会論文誌D,日本,電子情報通信学会,2013年01月01日,Vol. J96-D, No. 1 (2013/1),pp. 221-229
(58)【調査した分野】(Int.Cl.,DB名)
G06V 10/774
G06N 3/09
G06N 20/00
G06T 7/00
G06V 10/82
(57)【特許請求の範囲】
【請求項1】
プロセッサと、
プログラミング命令を記憶したメモリとを備えるコンピューティングシステムであって、
前記プログラミング命令は、前記プロセッサによって実行されると、
対象試料の対象表面に存在する欠陥を検出するための予測モデルを訓練するための訓練データセットを生成するステップと、
前記訓練データセットに基づいて前記対象試料の前記対象表面に存在する欠陥を検出するように前記予測モデルを訓練するステップと
を含む動作を実行するものであり、
前記訓練データセットは、
それぞれの試料上の欠陥を識別するラベルで各々ラベル付けされた画像の第1のサブセットを含む、前記予測モデルを訓練するための画像のセットを識別するステップと、
深層学習ネットワークによって、前記画像の第1のサブセットを含む画像のセットに基づいて、後続のラベル付けのために画像の第2のサブセットを生成するステップであって、
画像のセットの各画像について、画像の各ピクセルが第1のカテゴリに属する第1の
確率に対応する第1の確率マップを生成するステップと、
画像のセットの各画像について、画像の各ピクセルが第2のカテゴリに属する第2の
確率に対応する第2の確率マップを生成するステップと、
画像のセットの各画像について、前記第1の確率マップ及び前記第2の確率マップに基づいて、画像が前記深層学習ネットワークでは未見のピクセルを含む可能性に対応する未見メトリックを生成するステップと
を含む、画像の第2のサブセットを生成するステップと、
オペレータに、画像の第2のサブセットの各画像にラベルを付けるように促すステップと、
前記深層学習ネットワークによって、前記画像の第1のサブセット及び前記ラベル付けされた画像の第2のサブセットを含む画像のセットに基づいて、ラベル付けのために画像の第3のサブセットを生成するステップと、
前記オペレータに、前記画像の第3のサブセットの各画像にラベルを付けるように促すステップと、
各画像がラベル付けされた、画像の第1のサブセット、画像の第2のサブセット、及び画像の第3のサブセットを集約するステップと
によって生成する、
コンピューティングシステム。
【請求項2】
前記画像の前記未見メトリックが、前記画像の各ピクセルの未見メトリックの集合に基づく、請求項1に記載のコンピューティングシステム。
【請求項3】
対応する未見メトリックに基づいて前記画像のためのアルファメトリックを生成するステップ
をさらに含む、請求項2に記載のコンピューティングシステム。
【請求項4】
閾値を超える未見スコアを有する前記画像のピクセル数に基づいてその画像の閾値メトリックを生成するステップ
をさらに含む、請求項2に記載のコンピューティングシステム。
【請求項5】
前記コンピューティングシステムによって、撮像装置から、前記対象試料の前記対象表面の対象画像を受信するステップと、
前記予測モデルによって、前記対象試料の前記対象表面に存在する1つ又は複数の欠陥を検出するステップと、
前記コンピューティングシステムによって、前記1つ又は複数の欠陥を示すグラフィック出力を、前記検出するステップに基づいて生成するステップと
をさらに含む、請求項1に記載のコンピューティングシステム。
【請求項6】
コンピューティングシステムによって、試料の表面の欠陥を検出するための予測モデルを訓練するための画像のセットを識別するステップであって、画像のセットがそれぞれの試料上の欠陥を識別するラベルで各々ラベル付けされた画像の第1のサブセットを含む、識別するステップと、
前記コンピューティングシステムの深層学習ネットワークによって、前記画像の第1のサブセットを含む画像のセットに基づいて、後続のラベル付けのために画像の第2のサブセットを生成するステップであって、
画像のセットの各画像について、画像の各ピクセルが第1のカテゴリに属する第1の
確率に対応する第1の確率マップを生成するステップと、
画像のセットの各画像について、画像の各ピクセルが第2のカテゴリに属する第2の
確率に対応する第2の確率マップを生成するステップと、
画像のセットの各画像について、前記第1の確率マップ及び前記第2の確率マップに基づいて、画像が前記深層学習ネットワークでは未見のピクセルを含む可能性に対応する未見メトリックを生成するステップと
を含む、画像の第2のサブセットを生成するステップと、
前記コンピューティングシステムによって、オペレータに、前記画像の第2のサブセットの各画像にラベルを付けるように促すステップと、
前記深層学習ネットワークによって、前記画像の第1のサブセット及び前記ラベル付けされた画像の第2のサブセットを含む画像のセットに基づいて、ラベル付けのために画像の第3のサブセットを生成するステップと、
前記コンピューティングシステムによって、前記オペレータに、前記画像の第3のサブセットの各画像にラベルを付けるように促すステップと、
前記コンピューティングシステムによって、前記予測モデルを訓練するための訓練データセットを形成するように各画像がラベル付けされた、前記画像の第1のサブセット、前記画像の第2のサブセット、及び前記画像の第3のサブセットを集約するステップと
を含む、方法。
【請求項7】
前記画像の前記未見メトリックが、前記画像の各ピクセルの未見メトリックの集合に基づく、請求項6に記載の方法。
【請求項8】
対応する未見メトリックに基づいて前記画像のためのアルファメトリックを生成するステップ
をさらに含む、請求項7に記載の方法。
【請求項9】
閾値を超える未見スコアを有する前記画像のピクセル数に基づいてその画像の閾値メトリックを生成するステップ
をさらに含む、請求項7に記載の方法。
【請求項10】
前記訓練データセットに基づいて対象画像の対象欠陥を検出するように前記予測モデルを訓練するステップ
をさらに含む、請求項6に記載の方法。
【請求項11】
プロセッサと、
プログラミング命令を記憶したメモリとを備えるコンピューティングシステムであって、
前記プログラミング命令は、前記プロセッサによって実行されると、
コンピューティングシステムに動作を実行させるものであり、
前記動作は、
試料の表面の欠陥を検出するための予測モデルを訓練するための画像のセットを識別するステップであって、画像のセットがそれぞれの試料上の欠陥を識別するラベルでラベル付けされた画像の第1のサブセットを含む、識別するステップと、
前記コンピューティングシステムの深層学習ネットワークによって、前記画像の第1のサブセットを含む画像のセットに基づいて、後続のラベル付けのために画像の第2のサブセットを生成するステップであって、
画像のセットの各画像について、画像の各ピクセルが第1のカテゴリに属する第1の
確率に対応する第1の確率マップを生成するステップと、
画像のセットの各画像について、画像の各ピクセルが第2のカテゴリに属する第2の
確率に対応する第2の確率マップを生成するステップと、
画像のセットの各画像について、前記第1の確率マップ及び前記第2の確率マップに基づいて、画像が前記深層学習ネットワークでは未見のピクセルを含む可能性に対応する未見メトリックを生成するステップと
を含む、画像の第2のサブセットを生成するステップと、
オペレータに、前記画像の第2のサブセットの各画像にラベルを付けるように促すステップと、
前記深層学習ネットワークによって、前記画像の第1のサブセット及び前記ラベル付けされた画像の第2のサブセットを含む画像のセットに基づいて、ラベル付けのために画像の第3のサブセットを生成するステップと、
前記オペレータに、前記画像の第3のサブセットの各画像にラベルを付けるように促すステップと、
前記予測モデルを訓練するための訓練データセットを形成するように各画像がラベル付けされた、前記画像の第1のサブセット、前記画像の第2のサブセット、及び前記画像の第3のサブセットを集約するステップと
を含む、
コンピューティングシステム。
【請求項12】
前記画像の前記未見メトリックが、前記画像の各ピクセルの未見メトリックの集合に基づく、請求項11に記載のコンピューティングシステム。
【請求項13】
対応する未見メトリックに基づいて前記画像のためのアルファメトリックを生成するステップ
をさらに含む、請求項12に記載のコンピューティングシステム。
【請求項14】
閾値を超える未見スコアを有する前記画像のピクセル数に基づいてその画像の閾値メトリックを生成するステップ
をさらに含む、請求項12に記載のコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年3月9日に出願された米国特許仮出願第62/987002号明細書の優先権を主張し、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は、一般に、欠陥検出システムに関する。
【背景技術】
【0003】
深層学習モデルは、物体検出タスクにおいて普及している。これらのモデルは、効果的に訓練されるために多数のラベル付きデータを必要とする。多くの場合、大量のデータを収集することは困難ではないが、データに手動でラベル付けすることは、非常に面倒で時間のかかるプロセスであり得る。データセットの自動ラベル付けは、その適用性を高めているが、依然として人間のオペレータを置き換えるのに必要な先行性(precession)を欠いており、過去の例がない場合にはうまく機能しないことが多い。
【発明の概要】
【0004】
いくつかの実施形態では、コンピューティングシステムが本明細書に開示される。コンピューティングシステムは、プロセッサ及びメモリを含む。メモリは、プロセッサによって実行されると、動作を実行するプログラミング命令がそれに記憶される。動作は、対象試料の対象表面に存在する欠陥を検出するために予測モデルを訓練するための訓練データセットを生成すること、及び訓練データセットに基づいて対象試料の対象表面に存在する欠陥を検出するために予測モデルを訓練することを含む。コンピューティングシステムは、予測モデルを訓練するための画像のセットを識別することによって訓練データセットを生成し、画像のセットは、画像の第1のサブセットを含み、画像の第1のサブセットの各画像は、それぞれの試料上の欠陥を識別するラベルでラベル付けされ、深層学習ネットワークによって、画像の第1のサブセットを含む画像のセットに基づいて後続のラベル付けのための画像の第2のサブセットを生成し、オペレータに画像の第2のサブセットの各画像をラベル付けするように促し、深層学習ネットワークによって、画像の第1のサブセット及び画像のラベル付けされた第2のサブセットを含む画像のセットに基づいてラベル付けのための画像の第3のサブセットを生成し、オペレータに画像の第3のサブセットの各画像をラベル付けするように促し、画像の第1のサブセット、画像の第2のサブセット、及び画像の第3のサブセットを集約し、画像の第1のサブセット、画像の第2のサブセット、及び画像の第3のサブセットの各画像はラベル付けされる。
【0005】
いくつかの実施形態では、方法が本明細書に開示される。コンピューティングシステムは、試料の表面の欠陥を検出するため予測モデルを訓練するための画像のセットを識別する。画像のセットは、画像の第1のサブセットを含む。画像の第1のサブセットの各画像は、それぞれの試料上の欠陥を識別するラベルでラベル付けされる。コンピューティングシステムの深層学習ネットワークは、画像の第1のサブセットを含む画像のセットに基づいて、後続のラベル付けのために画像の第2のサブセットを生成する。コンピューティングシステムは、オペレータに、画像の第2のサブセットの各画像にラベルを付けるように促す。深層学習ネットワークは、画像の第1のサブセット及び画像のラベル付けされた第2のサブセットを含む画像のセットに基づいて、ラベル付けするための画像の第3のサブセットを生成する。コンピューティングシステムは、オペレータに、画像の第3のサブセットの各画像にラベルを付けるように促す。コンピューティングシステムは、画像の第1のサブセット、画像の第2のサブセット、及び画像の第3のサブセットを集約する。画像の第1のサブセット、画像の第2のサブセット、及び画像の第3のサブセット内の各画像は、予測モデルを訓練するための訓練データセットを形成するようにラベル付けされる。
【0006】
いくつかの実施形態では、コンピューティングシステムが本明細書に開示される。コンピューティングシステムは、プロセッサ及びメモリを含む。メモリは、プロセッサによって実行されると、動作を実行するプログラミング命令がそれに記憶される。動作は、試料の表面の欠陥を検出するため予測モデルを訓練するための画像のセットを識別することを含む。画像のセットは、画像の第1のサブセットを含む。画像の第1のサブセットの各画像は、それぞれの試料上の欠陥を識別するラベルでラベル付けされる。動作は、コンピューティングシステムの深層学習ネットワークによって、画像の第1のサブセットを含む画像のセットに基づいて、後続のラベル付けのために画像の第2のサブセットを生成することをさらに含む。動作は、オペレータに、画像の第2のサブセットの各画像にラベル付けするように促すことをさらに含む。動作は、深層学習ネットワークによって、画像の第1のサブセット及び画像のラベル付けされた第2のサブセットを含む画像のセットに基づいて、ラベル付けするための画像の第3のサブセットを生成することをさらに含む。動作は、オペレータに、画像の第3のサブセットの各画像にラベル付けするように促すことをさらに含む。動作は、画像の第1のサブセット、画像の第2のサブセット、及び画像の第3のサブセットを集約することをさらに含む。画像の第1のサブセット、画像の第2のサブセット、及び画像の第3のサブセット内の各画像は、予測モデルを訓練するための訓練データセットを形成するようにラベル付けされる。
【0007】
本開示の上記の特徴が詳細に理解され得るように、上記で簡潔に要約された本開示のより具体的な説明は、実施形態を参照することによって得ることができ、そのいくつかは添付の図面に示されている。しかしながら、添付の図面は、本開示の典型的な実施形態のみを示しており、したがって、本開示が他の等しく有効な実施形態を認めることができるため、その範囲を限定すると見なされるべきではないことに留意されたい。
【図面の簡単な説明】
【0008】
【
図1】例示的な実施形態による、撮像システムを示すブロック図である。
【0009】
【
図2】例示的な実施形態による、深層学習モデルのアーキテクチャを示す図である。
【0010】
【
図3】例示的な実施形態による、予測モデルを訓練するための訓練データセットを生成する方法を示す流れ図である。
【0011】
【
図4】例示的な実施形態による、試料の欠陥を識別する方法を示す流れ図である。
【0012】
【
図5】例示的な実施形態による、予測モデルによって生成された一例示的なグラフィック出力を示す図である。
【0013】
【
図6A】例示的な実施形態による、システムバスコンピューティングシステムアーキテクチャを示す図である。
【0014】
【
図6B】例示的な実施形態による、チップセットアーキテクチャを有するコンピュータシステムを示す図である。
【発明を実施するための形態】
【0015】
理解を容易にするために、可能であれば、図に共通する同一の要素を示すために同一の参照番号が使用されている。一実施形態に開示された要素は、特定の記載なしに他の実施形態で有益に利用することができると考えられる。
【0016】
十分に一般化する物体検出及び分類のための機械学習モデルを訓練することは、多様な訓練データセットから利益を得ることができる。この訓練データセットは、通常、人の注釈付けを含み、人は、画像のリストを順次通過し、課された閾値に達するまで各画像の十分に多数の例にラベル付けする。この従来のプロセスは、特に同様の例の多くが繰り返され得る場合、時間がかかり、不要である。大きなデータセットの場合、コスト及び時間の固有の制約のために、すべての例をラベル付けすることは実行不可能であり得る。最適な処理のために、基礎となるタスクは、深層学習アルゴリズムの訓練への寄与に基づいて人間のラベル付けのために画像を優先順位付けすることである。
【0017】
簡単に言えば、ほとんどのオペレータは、画像を保存することができる順序又はホースディレクトリの番号によって英数字でソート及びラベル付けすることができる。これは、収集及びファイルシステムによって異なる場合があり、取得されたデータと相関することはほとんどない場合がある。基礎となるクラスの簡単な全体的な検査及び決定の後、オペレータは、割り当てられた時間内に、ディレクトリを通して、順次、すべての画像にラベルを付けることに進むことができる。データの多くは、過剰な反復であり、必要な感度を欠き、背景の不規則性を含み、ラベル付きデータを最適な訓練に適さなくする可能性がある他の反復であり得る。最終訓練モデルとラベル付けとの間のフィードバックは、典型的には非公式であり得る。一般に、ラベラー(labeler)とデータ処理との間の分離は非常に大きく、ラベラーは、ラベル付けされたデータの有用性に関するフィードバック、又はラベル付けプロセスをどのように形式的に最適化するかに関する知識を受けない。重大なエラーは通常報告されるが、それらのエラーはデータからソートするのが容易であり、訓練モデル全体に悪影響を及ぼすことはない。オペレータは、特定の例を無視又は通過するように指示され得るが、コンプライアンスは未解決の問題になり、特に非常に大きなグループ及び多くのラベラーにわたって追跡又は効果的に実施することが困難になり得る。
【0018】
オペレータはまた、習慣的なパターン及びラベル付けを形成し、特定のクラス、すなわち多数の例を伴うクラスの検出に非常に熟練することができる。これは効率の錯覚を生み出す可能性があるが、代わりに、稀なクラス並びに識別及び分類が困難な物体からバイアスを伝播する。オペレータは、多くの画像について共通のクラスに繰り返し公開された場合、稀な例を背景として無視する可能性が高く、それらを欠陥としてラベル付けする可能性が高い。深層学習アーキテクチャなどの特定のアーキテクチャでは、ラベル付きクラスに分類されない領域が背景として扱われ、モデルがそれらのタイプの欠陥を検出しないようにするので、これは非常に大きな問題を提示する。いくつかのラベラー又は投票プロセスを通してこの問題に対抗することは実施することができるが、費用がかかり、結果の大幅な改善をもたらすことは保証されない。
【0019】
本明細書で提供される1つ又は複数の技術は、ラベルの一意性及び多様性を最大化するために、手動でラベル付けされるデータセットの画像の順序を連続的に更新することによって従来のプロセスを改善するために使用され得る多段階手法を提示する。いくつかの実施形態では、多段階手法は、以前に見られなかったデータの画像の領域を予測するように構成された深層学習セグメンテーションモデルを採用することができる。いくつかの実施形態では、多段階手法は、物体がランダムに分布し得、クラス内で形態が異なり得、クラスごとに少数又は多数で現れ得るデータセットに焦点を合わせ得る。これらのデータセットについて、本手法は、高精度モデルラベル付けを達成することができる。
【0020】
さらに、本明細書で提供される1つ又は複数の技術は、従来の自動ラベル付け技術に対する改善を提供する。例えば、従来の手法を使用して、従来のシステムは、以前のデータで訓練されたモデルを実行して、所望のデータセット上にラベル及びバウンディングボックス(bounding box)を生成する。ラベラーは、単にバウンディングボックスを修正する。半導体ドメイン及び同様の独自の材料ドメインでは、従来の自動ラベル付け手法は、履歴データへの公開並びに検査及び分類タスクの対象である材料固有のクラスへのアクセスがないために失敗する。これに対処するために、本明細書で提供される1つ又は複数の技術は、画像の小さなサブセットにラベルを付け、分類タスク全体のクラスフォーカスを定義するようにユーザ又はオペレータに促す。目標は、業界全体又はマルチユーザクラスの制限を実施することではなく、むしろ、主要なインフルエンサ(influencer)に対する手動のラベル付けに焦点を合わせる。本システムによって実施されるモデルは、ラベル付けするオペレータの階層的に順序付けられたリストを提供することができる。いくつかの実施形態では、モデルは能動学習方式(active learning fashion)で訓練されてもよい。例えば、モデルは、小さな初期データセットで訓練され、次いでモデルを使用してデータの次のバッチのラベル付けを支援し、次いで新しいデータを含むモデルを再訓練することができる。
【0021】
なおさらに、従来の手法とは異なり、本明細書に記載の1つ又は複数の技術は、より希少なクラス例を含むキュレートされた訓練データセットを利用することができる。このキュレートされた訓練データセットは、モデルが訓練データセットにおいてより良いクラスバランスを達成するのを助けることができる。
【0022】
図1は、例示的な実施形態による、ステージ上に支持された試料の検査のための例示的なコンピューティング環境100を示す。図示のように、コンピューティング環境100は、例示的な実施形態によれば、コンピューティングシステム150と通信する装置102を含むことができる。装置102は、試料101を1つ又は複数の光源104、106で照明するように構成されてもよい。1つ又は複数の光源104、106は、斜め光108、110をある角度で試料101に向けるように構成されてもよい。斜め照明は、反射光112として試料101の表面から反射され得る。装置102は、反射光を捕捉するように構成された画像センサを有するカメラデバイス114を含むことができる。いくつかの実施形態では、光源104、106は、物体の周りに円周方向に配置された異なる位置に移動することができ、各位置で画像が撮影される。
【0023】
いくつかの実施形態では、装置102は、カメラデバイス114によって捕捉された画像を処理のためにコンピューティングシステム150に提供することができる。コンピューティングシステム150は、1つ又は複数の通信チャネルを介して装置102と通信することができる。いくつかの実施形態では、1つ又は複数の通信チャネルは、セルラーネットワーク又はWi-Fiネットワークなどのインターネットを介した個々の接続を表すことができる。いくつかの実施形態では、1つ又は複数の通信チャネルは、無線周波数識別(RFID)、近距離無線通信(NFC)、Bluetooth(商標)、低エネルギーBluetooth(商標)(BLE)、Wi-Fi(商標)、ZigBee(商標)、周囲後方散乱通信(ABC)プロトコル、USB、WAN、又はLANなどの直接接続を使用して端末、サービス、及びモバイルデバイスを接続することができる。コンピューティングシステム150は、カメラデバイス114によって捕捉された画像を分析し、試料101のトポグラフィを生成するように構成することができる。
【0024】
図示のように、コンピューティングシステム150は、前処理エンジン152及び予測モデル154を含むことができる。前処理エンジン152及び予測モデル154の各々は、1つ又は複数のソフトウェアモジュールを含むことができる。1つ又は複数のソフトウェアモジュールは、1つ又は複数のアルゴリズムステップを実装する一連の機械命令(例えば、プログラムコード)を表す、メディア(例えば、コンピューティングシステム150のメモリ)に記憶されたコード又は命令の集合であってもよい。そのような機械命令は、プロセッサが命令を実施するために解釈する実際のコンピュータコードであってもよく、又は、代替的に、実際のコンピュータコードを取得するために解釈される命令のより高いレベルのコーディングであってもよい。1つ又は複数のソフトウェアモジュールはまた、1つ又は複数のハードウェア構成要素を含むことができる。一例示的なアルゴリズムの1つ又は複数の態様は、命令の結果としてではなく、ハードウェア構成要素(例えば、回路)自体によって実行されてもよい。
【0025】
前処理エンジン152は、予測モデル154を訓練するための1つ又は複数の訓練データセットを生成するように構成することができる。上記のように、ユーザが予測モデル154を訓練するための訓練セットを手動でラベル付けして開発することは、多くの場合面倒な作業である。前処理エンジン152は、深層学習モデル156を含むことができる。深層学習モデル156は、ラベル付けのために画像をソートするように訓練することができる。いくつかの実施形態では、深層学習モデル156は、画像の初期の小さなサブセットで訓練することができる。画像の初期の小さなサブセットのすべての物体は、長方形のバウンディングボックスでラベル付けされてもよい。いくつかの実施形態では、すべてのラベル付けされた物体のバウンディングボックス内のピクセルは、第1のカテゴリ(例えば、「前景(foreground)」)にグループ化されてもよく、残りの画像ピクセルは、第2のカテゴリ(例えば、「背景(background)」)にグループ化されてもよい。この分類を使用して、2つの入力セグメンテーションマスク、すなわち背景のための第1の入力セグメンテーションマスク及び前景のための第2の入力セグメンテーションマスクを生成することができる。いくつかの実施形態では、前景物体の周りのバウンディングボックスを拡大して、バウンディングボックスの境界上のピクセルを分類する際の曖昧さを排除又は低減することができる。
【0026】
いくつかの実施形態では、深層学習モデル156は、次の2つの確率マップを生成するように訓練することができる、すなわち、各ピクセルが前景に属する確率を提供する第1の確率マップ、及び各ピクセルが背景に属する確率を提供する第2の確率マップである。いくつかの実施形態では、各確率マップのサイズは、入力画像と同じサイズであってもよい。第1の確率マップ及び第2の確率マップを使用して、前処理エンジン152は、ピクセルが見えなかったという尺度、例えば
【数1】
を計算することができる。まだラベル付けされていない新しいクラスの例又は以前にラベル付けされたクラスの新規の例に属し得るピクセルは、高い未見(unseen)スコアを有する。例えば、
【数2】
【0027】
ピクセルごとの未見スコアを使用して、前処理エンジンは、全体的な画像メトリック(image metric)を計算し、画像をレーキング(raking)するために使用することができる。いくつかの実施形態では、高い画像メトリックは、画像が見られておらず、したがってラベル付けの優先順位に値するピクセルを含むという高い信頼性に対応することができる。いくつかの実施形態では、どの画像がより高い優先度を有するべきかが不明確であり得る、すなわち、高スコアピクセルをほとんど有しない画像又は低スコアピクセルを多く有する画像。これを説明するために、いくつかの実施形態では、前処理エンジン118は、2つのメトリック、すなわち、閾値メトリック(threshold metric)
【数3】
及びアルファメトリック
【数4】
を計算することができる。いくつかの実施形態では、閾値メトリックは、何らかの閾値を上回る未見スコアを有するピクセルの数に等しくてもよい。閾値メトリックの下では、低スコアピクセルはメトリックに影響を与えない場合がある。例えば、
【数5】
【0028】
いくつかの実施形態では、アルファメトリックは、パワー
【数6】
でのすべての未見スコアの合計に等しくてもよい。アルファメトリックの下では、すべてのピクセルが考慮され得るが、スコアが低いピクセルほどスコアへの影響はより小さい。
【数7】
【0029】
画像がこれらのメトリクスの1つを使用してランク付けされた後、ラベル付けされるべき画像の次のバッチが生成され得る。このプロセスは、能動学習方式で反復することができ、すなわち、新しい画像はラベル付けされ、深層学習モデル156は、新しく利用可能なラベル付けされた画像を使用して再訓練することができ、深層学習モデル156は、ラベル付けされる画像の次のバッチを生成するために呼び出され得る。
【0030】
十分な量のデータがラベル付けされた後、予測モデル154は、試料の欠陥を検出するように訓練され得る。いくつかの実施形態では、予測モデル154を使用して、データセットの残りを自動的にラベル付けすることもできる。
【0031】
図2は、例示的な実施形態による、深層学習モデル156のアーキテクチャ200を示す。図示されるように、アーキテクチャ200は、U-netアーキテクチャに基づくことができる。アーキテクチャ200は、クラスごとのピクセル確率を直接取得するためにセグメンテーションマスクを生成する最終ソフトマックス層を除去する修正されたU-netアーキテクチャである。アーキテクチャ200はまた、畳み込み層によって使用される特徴マップの入力サイズ及び数を一致させるための畳み込み層パディングの異なるセットを含む。
【0032】
図3は、例示的な実施形態による、予測モデル154を訓練するための訓練データセットを生成する方法300を示す流れ図である。方法300は、ステップ302で開始することができる。
【0033】
ステップ302では、コンピューティングシステム150は、予測モデル154を訓練するための画像のセットを受信することができる。いくつかの実施形態では、コンピューティングシステム150は、コンピューティングシステム150と通信するクライアントデバイスから画像のセットを受信することができる。いくつかの実施形態では、コンピューティングシステム150は、コンピューティングシステム150に関連付けられたデータベースから画像のセットを受信することができる。いくつかの実施形態では、コンピューティングシステム150は、第三者のウェブサイト又はシステムから画像のセットを受信することができる。いくつかの実施形態では、画像のセットは、ラベル付き画像のサブセットを含むことができる。ラベル付き画像のサブセットは、人又はオペレータによってラベル付けされてもよい。ラベル付き画像のサブセットは、画像に存在するすべての欠陥のラベルを含むことができる。いくつかの実施形態では、ランダム選択は、従来のパラダイムの下でオペレータによって実行されるように、オペレータによるあらゆる選択バイアスを防止し、英数字バイアスを強制するために選択されなかった。
【0034】
ステップ304では、コンピューティングシステム150は、後続のラベル付けのために画像の第2のサブセットを生成することができる。例えば、コンピューティングシステム150は、処理のために画像のセットを深層学習モデル156に提供することができる。画像のセットは、ラベル付き画像のサブセットを、ラベル付けされていない画像の残りの部分と共に含むことができる。深層学習モデル156は、各画像について次の2つの確率マップを生成することができる、すなわち、各ピクセルが前景に属する確率を提供する第1の確率マップ、及び各ピクセルが背景に属する確率を提供する第2の確率マップである。第1の確率マップ及び第2の確率マップを使用して、前処理エンジン152は、
【数8】
メトリックを計算することができる。
【数9】
メトリックに基づいて、前処理エンジン152は、各画像の
【数10】
メトリックを生成することができる。前処理エンジン152が各
【数11】
メトリックを生成すると、前処理エンジン152は、画像をランク付けし、画像の第2のサブセットを形成するために最高スコアの画像のセットを選択することができる。
【0035】
ステップ306では、コンピューティングシステム150は、画像の第2のサブセットにラベル付けするようにユーザに促してもよい。例えば、コンピューティングシステム150は、画像の第2のサブセットに含まれるすべての欠陥をラベル付けするようにユーザに促してもよい。深層学習モデル156は、画像の元のセットからのラベル付き画像のサブセットと比較して未見ピクセルを含む画像の第2のサブセットを識別することができたので、深層学習モデル156は、予測モデル154のその後の訓練に有用であり得る追加の画像を識別している。
【0036】
ステップ308では、コンピューティングシステム150は、後続のラベル付けのために画像の第3のサブセットを生成することができる。例えば、コンピューティングシステム150は、継続的な訓練のために画像のセットを深層学習モデル156に提供することができる。画像のセットは、ラベル付き画像のサブセット、画像の第2のサブセット(ここではさらにラベル付きされている)、及び残りのラベル付けされていない画像を含むことができる。深層学習モデル156は、各画像について次の2つの確率マップを生成することができる、すなわち、各ピクセルが前景に属する確率を提供する第1の確率マップ、及び各ピクセルが背景に属する確率を提供する第2の確率マップである。第1の確率マップ及び第2の確率マップを使用して、前処理エンジン152は、
【数12】
メトリックを計算することができる。
【数13】
メトリックに基づいて、前処理エンジン152は、各画像の
【数14】
メトリックを生成することができる。前処理エンジン152が各
【数15】
メトリックを生成すると、前処理エンジン152は、画像をランク付けし、画像の第3のサブセットを形成するために最高スコアの画像のセットを選択することができる。
【0037】
ステップ310では、コンピューティングシステム150は、画像の第3のサブセットにラベル付けするようにユーザに促してもよい。例えば、コンピューティングシステム150は、画像の第3のサブセットに含まれるすべての欠陥をラベル付けするようにユーザに促してもよい。深層学習モデル156は、画像の元のセット及び画像の第2のサブセットからのラベル付き画像のサブセットと比較して未見ピクセルを含む画像の第3のサブセットを識別することができたので、深層学習モデル156は、予測モデル154のその後の訓練に有用であり得る追加の画像を識別している。
【0038】
ステップ312では、コンピューティングシステム150は、
【数16】
によって指定されたように、予測モデル154を訓練するためのラベル付き画像の閾値数があるかどうかを決定することができる。例えば、ステップ304~310に基づいて、コンピューティングシステム150は、予測モデル154を訓練するのに十分なラベル付き画像があるかどうかを決定することができる。ステップ312では、コンピューティングシステム150が、閾値数のラベル付き画像がないと決定した場合、方法300は、画像ラベルの生成を継続するためにステップ308に戻ることができる。言い換えれば、閾値量のラベル付き画像がない場合、コンピューティングシステム150は、ラベル付けのための新しいラベル付けされていない画像の継続的なランキングのために、ラベル付き画像のサブセット、ラベル付き画像の第2のサブセット、ラベル付き画像の第3のサブセット、ラベル付き画像の
【数17】
のサブセット、及び残りのラベル付けされていない画像を深層学習モデル156に提供するプロセスを継続することができる。
【0039】
しかしながら、ステップ312では、コンピューティングシステム150が、ラベル付き閾値量の画像があると決定した場合、方法300はステップ314に進むことができる。ステップ314では、コンピューティングシステム150は、予測モデル154を訓練するためのラベル付き画像のセットを出力することができる。
【0040】
図4は、例示的な実施形態による、試料の欠陥を識別する方法400を示す流れ図である。方法400は、ステップ402で開始することができる。
【0041】
ステップ402では、コンピューティングシステム150は、試料に存在する欠陥を識別するために予測モデル154を訓練するための訓練セットを識別することができる。訓練セットは、深層学習モデル156によって生成されたラベル付き画像のセットを表すことができる。例えば、訓練セットは、様々な試料の複数の画像を含むことができ、各画像は1つ又は複数のアーチファクトラベル(artifact label)を含む。
【0042】
ステップ404では、コンピューティングシステム150は、予測モデル154を訓練することができる。例えば、コンピューティングシステム150は、訓練セットに基づいて試料の画像の欠陥を識別するように予測モデル154を訓練することができる。いくつかの実施形態では、予測モデル154は、より高速な領域ベースの畳み込みニューラルネットワーク(R-CNN)を表すことができる。予測モデル154は、アルゴリズム的に選択された画像(すなわち、ラベル付けされた同じ数のバウンディングボックス)をラベル付けするのにかかる時間まで、順次にラベル付き画像について訓練することができる。
【0043】
ステップ406では、コンピューティングシステム150は、検査中の試料の画像を装置102から受信することができる。いくつかの実施形態では、検査中の試料は、1つ又は複数の欠陥を含んでも含まなくてもよい半導体基板であってもよい。説明は1つの特定の例として半導体基板を参照しているが、当業者は、本明細書に開示される技術が半導体基板に限定されないことを認識する。例えば、本明細書に開示される技術は、生体組織における特徴又は欠陥/異常を検出するように拡張され得る。
【0044】
ステップ408では、コンピューティングシステム150は、試料の画像に存在する1つ又は複数の欠陥を識別することができる。例えば、コンピューティングシステム150は、画像を入力として、完全に訓練された予測モデル154に提供することができる。予測モデル154は、画像を分析して、試料の画像に存在する1つ又は複数の欠陥を識別することができる。いくつかの実施形態では、予測モデル154は、各欠陥の周りにバウンディングボックスを生成することによって、画像に存在する1つ又は複数の欠陥を識別することができる。いくつかの実施形態では、予測モデル154は、デバイスに関連付けられた確率マップを生成することによって、画像に存在する1つ又は複数の欠陥を識別することができる。
【0045】
ステップ410では、コンピューティングシステム150は、試料の画像に存在する1つ又は複数の欠陥のグラフィカル表現を生成することができる。いくつかの実施形態では、予測モデル154は、画像において識別された1つ又は複数の欠陥の各々の上に1つ又は複数のバウンディングボックスをオーバーレイするグラフィカル表現を生成することができる。いくつかの実施形態では、予測モデル154は、ヒートマップを画像上にオーバーレイするグラフィック表現を生成することができる。ヒートマップは、欠陥が存在する場所に基づいて強度を検証することを含むことができる。例えば、欠陥が存在する画像の領域は、欠陥が存在しない画像の領域よりも高い強度を有する。
【0046】
図5は、例示的な実施形態による、予測モデル154によって生成された一例示的なグラフィック出力500を示す。図示のように、グラフィック出力500は、予測モデル154によって生成された確率マップ502に対応することができる。確率マップ502は、試料の画像にオーバーレイされてもよい。確率マップ502の高強度領域は、欠陥がその位置に存在する高い確率を示すことができる。
【0047】
図6Aは、例示的な実施形態による、システムバスコンピューティングシステムアーキテクチャ600を示す。システム600の1つ又は複数の構成要素は、バス605を使用して互いに電気的に通信することができる。システム600は、プロセッサ(例えば、1つ又は複数のCPU、GPU、又は他のタイプのプロセッサ)610、並びに読み取り専用メモリ(ROM)620及びランダムアクセスメモリ(RAM)625などのシステムメモリ615を含む様々なシステム構成要素をプロセッサ610に結合するシステムバス605を含むことができる。システム600は、プロセッサ610と直接接続されているか、近接しているか、又はその一部として統合されている高速メモリのキャッシュを含むことができる。システム600は、プロセッサ610による迅速なアクセスのために、メモリ615及び/又は記憶デバイス630からキャッシュ612にデータをコピーすることができる。このようにして、キャッシュ612は、データを待つ間にプロセッサ610の遅延を回避する性能向上を提供することができる。これらのモジュール及び他のモジュールは、様々なアクションを実行するようにプロセッサ610を制御するか、又は制御するように構成することができる。他のシステムメモリ615も同様に使用するために利用可能であり得る。メモリ615は、異なる性能特性を伴う複数の異なるタイプのメモリを含むことができる。プロセッサ610は、単一のプロセッサ又は複数のプロセッサを表すことができる。プロセッサ610は、プロセッサ610を制御するように構成された、記憶デバイス630に記憶されたサービス1 632、サービス2 634、及びサービス3 636などの汎用プロセッサ又はハードウェアモジュール又はソフトウェアモジュール、並びにソフトウェア命令が実際のプロセッサ設計に組み込まれている専用プロセッサの1つ又は複数を含むことができる。プロセッサ610は、本質的に、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュなどを含む完全に自己完結型のコンピューティングシステムであってもよい。マルチコアプロセッサは、対称又は非対称であってもよい。
【0048】
コンピューティングデバイス600とのユーザ対話を可能にするために、音声用のマイクロフォン、ジェスチャ又はグラフィック入力用のタッチ感知スクリーン、キーボード、マウス、動き入力、音声などの任意の数の入力機構とすることができる入力デバイス645。出力デバイス635はまた、当業者に知られているいくつかの出力機構の1つ又は複数であってもよい。場合によっては、マルチモーダルシステムは、ユーザがコンピューティングデバイス600と通信するために複数のタイプの入力を提供することを可能にすることができる。通信インターフェース640は、一般に、ユーザ入力及びシステム出力を制御及び管理することができる。特定のハードウェア構成上で動作することに制限はなく、したがって、ここでの基本的な特徴は、それらが開発されるときに改善されたハードウェア又はファームウェア構成の代わりに容易に置き換えることができる。
【0049】
記憶デバイス630は、不揮発性メモリであってもよく、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)625、読み出し専用メモリ(ROM)620、及びそれらのハイブリッドなど、コンピュータによってアクセス可能なデータを記憶することができるハードディスク又は他のタイプのコンピュータ可読媒体であってもよい。
【0050】
記憶デバイス630は、プロセッサ610を制御するためのサービス632、634、及び636を含むことができる。他のハードウェア又はソフトウェアモジュールが考えられる。記憶デバイス630は、システムバス605に接続することができる。一態様では、特定の機能を実行するハードウェアモジュールは、機能を実行するために、プロセッサ610、バス605、ディスプレイ635などの必要なハードウェア構成要素に関連してコンピュータ可読媒体に記憶されたソフトウェア構成要素を含むことができる。
【0051】
図6Bは、例示的な実施形態による、チップセットアーキテクチャを有するコンピュータシステム650を示す。コンピュータシステム650は、開示された技術を実施するために使用され得るコンピュータハードウェア、ソフトウェア、及びファームウェアの一例であり得る。システム650は、識別された計算を実行するように構成されたソフトウェア、ファームウェア、及びハードウェアを実行することができる任意の数の物理的及び/又は論理的に別個のリソースを表す、1つ又は複数のプロセッサ655を含むことができる。1つ又は複数のプロセッサ655は、1つ又は複数のプロセッサ655への入力及びそこからの出力を制御することができるチップセット660と通信することができる。この例では、チップセット660は、ディスプレイなどの出力665に情報を出力し、例えば、磁気媒体及び固体媒体を含むことができる記憶デバイス670に対して情報の読み出し及び書き込みを行うことができる。チップセット660はまた、RAM675からのデータの読み出し及びRAMへのデータの書き込みを行うことができる。チップセット660とインターフェースするために、様々なユーザインターフェース構成要素685とインターフェースするためのブリッジ680を設けることができる。そのようなユーザインターフェース構成要素685は、キーボード、マイクロフォン、タッチ検出及び処理回路、マウスなどのポインティングデバイスなどを含むことができる。一般に、システム650への入力は、様々なソース、機械生成及び/又は人間生成のいずれかからもたらされ得る。
【0052】
チップセット660はまた、異なる物理インターフェースを有することができる1つ又は複数の通信インターフェース690とインターフェースすることができる。そのような通信インターフェースは、有線及び無線ローカルエリアネットワーク、広帯域無線ネットワーク、並びにパーソナルエリアネットワークのためのインターフェースを含むことができる。本明細書で開示されるGUIを生成、表示、及び使用するための方法のいくつかのアプリケーションは、物理インターフェースを介して順序付けられたデータセットを受信すること、又はストレージ670もしくは675に記憶されたデータを分析する1つもしくは複数のプロセッサ655によってマシン自体によって生成されることを含むことができる。さらに、機械は、ユーザインターフェース構成要素685を通してユーザからの入力を受信し、これらの入力を1つ又は複数のプロセッサ655を使用して解釈することにより、ブラウジング機能などの適切な機能を実行することができる。
【0053】
例示的なシステム600及び650は、より大きな処理能力を提供するために、複数のプロセッサ610を有するか、又は一緒にネットワーク接続されたコンピューティングデバイスのグループ又はクラスタの一部とすることができることが理解されよう。
【0054】
上記は本明細書に記載の実施形態に関するものであるが、その基本的な範囲から逸脱することなく、他の及びさらなる実施形態を考案することができる。例えば、本開示の態様は、ハードウェアもしくはソフトウェア、又はハードウェアとソフトウェアとの組み合わせで実施することができる。本明細書に記載の一実施形態は、コンピュータシステムで使用するためのプログラム製品として実装することができる。プログラム製品のプログラムは、実施形態の機能(本明細書に記載の方法を含む)を定義し、様々なコンピュータ可読記憶媒体に含めることができる。例示的なコンピュータ可読記憶媒体には、これらに限定されないが、以下が含まれる、すなわち、(i)情報が恒久的に記憶される書き込み不可能な記憶媒体(例えば、コンピュータ内の読み出し専用メモリ(ROM)デバイス、例えば、CD-ROMドライブによって読み取り可能なCD-ROMディスク、フラッシュメモリ、ROMチップ、又は任意のタイプのソリッドステート不揮発性メモリ)、並びに(ii)変更可能な情報が記憶される書き込み可能な記憶媒体(例えば、ディスケットドライブ内のフロッピーディスクもしくはハードディスクドライブ又は任意のタイプのソリッドステートランダムアクセスメモリ)である。そのようなコンピュータ可読記憶媒体は、開示された実施形態の機能を指示するコンピュータ可読命令を搬送する場合、本開示の実施形態である。
【0055】
前述の例は例示的なものであり、限定的なものではないことが当業者には理解されよう。本明細書を読み、図面を検討することで、当業者にはすべての置換、拡張、等価物、及びそれらの改良は、明らかであり、本開示の真の趣旨及び範囲内に含まれることが意図される。したがって、以下の添付の特許請求の範囲は、これらの教示の真の趣旨及び範囲内に含まれるすべてのそのような修正、置換、及び均等物を含むことが意図される。