(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024180285
(43)【公開日】2024-12-26
(54)【発明の名称】数ショットメタ学習法を用いた新しい目視検査タスクの学習システムにおける方法、コンピュータ可読媒体及び装置
(51)【国際特許分類】
G06N 3/0985 20230101AFI20241219BHJP
【FI】
G06N3/0985
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2024068802
(22)【出願日】2024-04-22
(31)【優先権主張番号】18/210221
(32)【優先日】2023-06-15
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.VISUAL BASIC
3.PYTHON
4.JAVASCRIPT
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】ラシタ サンダルワン ビディヤラトネ
(72)【発明者】
【氏名】シエン イエオ リー
(72)【発明者】
【氏名】マハブブル アラム
(72)【発明者】
【氏名】アハメド ファラハト
(72)【発明者】
【氏名】ディパンジャン ゴッシュ
(72)【発明者】
【氏名】マリア テレサ ゴンザレスディアス
(72)【発明者】
【氏名】チェタン グプタ
(57)【要約】 (修正有)
【課題】入力データの複数のドメインにわたって視覚検査を実行するモデルを作成するシステムおよび方法を提供することにある。
【解決手段】新しいドメインタスクの複数のラベル付けされた画像の第1の入力に対して、複数のバックボーンスナップショットを介して第1の複数のラベル付けされた画像を処理し、バックボーンスナップショットの各々は、複数の他のドメインタスクにわたって訓練されたモデルを代表し、複数のバックボーンスナップショットの各々は、入力に応答する第1の複数の特徴を出力する。複数のバックボーンスナップショットを介して第2の複数のラベル付けされていない画像の第2の入力を処理して、第2の入力に応答する第2の複数の特徴を出力するステップと、第1の複数の特徴のクラスタリングおよび変換から、およびクラスタリングおよび変換された第2の複数の特徴から関連付けられるように、新しいドメインタスクの代表モデルを生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
数ショットメタ学習法を用いた新しい目視検査タスクの学習システムにおける方法であって、
新しいドメインタスクの第1の複数のラベル付けされた画像の入力に対して、複数のバックボーンスナップショットを介して第1の複数のラベル付けされた画像を処理し、バックボーンスナップショットの各々は、複数の他のドメインタスクにわたって訓練されたモデルを代表し、複数のバックボーンスナップショットの各々は、入力に応答して第1の複数の特徴を出力し、
複数のバックボーンスナップショットを介して、ラベル付けされていない第2の複数の画像の第2の入力を処理して、第2の入力に応答する第2の複数の特徴を出力し、
前記第1の複数の特徴と前記第2の複数の特徴とを、類似性に基づいて前記第1の複数の特徴と前記第2の複数の特徴とを関連付ける類似度値に変換するように構成された特徴変換処理を実行し、
前記類似度値に基づいて、前記第1の複数の特徴と前記第2の複数の特徴とをクラスタリングするクラスタリング処理を実行し、
第1の複数の特徴のクラスタリングおよび変換から、およびクラスタリングおよび変換された第2の複数の特徴から関連付けられるように、新しいドメインタスクの代表モデルを生成する
学習システムにおける方法。
【請求項2】
請求項1に記載の学習システムにおける方法であって、
前記複数のバックボーンスナップショットは、多層パーセプトロン(MLP)と組み合わせてメタ学習される、
学習システムにおける方法。
【請求項3】
請求項2に記載の学習システムにおける方法であって、
前記複数のバックボーンスナップショットは、分類損失および対比損失に基づいてメタ学習される、
学習システムにおける方法。
【請求項4】
請求項1に記載の学習システムにおける方法であって、
前記新たなドメインタスクは目視検査であり、前記ラベル付けされた画像は、前記目視検査の対象物またはタスクの欠陥タイプを含み、前記代表モデルは、前記目視検査で検出された欠陥を出力するように構成されている
学習システムにおける方法。
【請求項5】
請求項1に記載の学習システムにおける方法であって、
前記複数のバックボーンスナップショットから生成される特徴は、産業タスクまたはオブジェクトを代表するものである、
学習システムにおける方法。
【請求項6】
請求項1に記載の学習システムにおける方法であって、
前記複数のバックボーンスナップショットの各々は、クロスドメインの視覚検査を容易にするために、スクイーズ層および励起層ならびにアンチエイリアシングフィルタを用いて構成される、
学習システムにおける方法。
【請求項7】
請求項1に記載の学習システムにおける方法であって、
前記新たなドメインタスクは、前記ドメインタスクのための第1の複数のクラスと関連付けられ、前記複数のラベル付けされた画像は、前記複数のクラスの各々についての例から構成される、
学習システムにおける方法。
【請求項8】
処理を実行するための命令を記憶した非一過性のコンピュータ可読媒体であって、該命令は、以下を含む:
新しいドメインタスクの第1の複数のラベル付けされた画像の入力に対して、複数のバックボーンスナップショットを介して第1の複数のラベル付けされた画像を処理し、バックボーンスナップショットの各々は、複数の他のドメインタスクにわたって訓練されたモデルを代表し、複数のバックボーンスナップショットの各々は、入力に応答して第1の複数の特徴を出力し、
複数のバックボーンスナップショットを介して、ラベル付けされていない第2の複数の画像の第2の入力を処理して、第2の入力に応答する第2の複数の特徴を出力し、
前記第1の複数の特徴と前記第2の複数の特徴とを、類似性に基づいて前記第1の複数の特徴と前記第2の複数の特徴とを関連付ける類似度値に変換するように構成された特徴変換処理を実行し、
前記類似度値に基づいて、前記第1の複数の特徴と前記第2の複数の特徴とをクラスタリングするクラスタリング処理を実行し、
第1の複数の特徴のクラスタリングおよび変換から、およびクラスタリングおよび変換された第2の複数の特徴から関連付けられるように、新しいドメインタスクの代表モデルを生成する
命令を格納したコンピュータ可読媒体。
【請求項9】
請求項8に記載のコンピュータ可読媒体であって、
前記複数のバックボーンスナップショットは、多層パーセプトロン(MLP)と組み合わせてメタ学習される、
命令を格納したコンピュータ可読媒体。
【請求項10】
請求項9に記載のコンピュータ可読媒体であって、
前記複数のバックボーンスナップショットは、分類損失および対比損失に基づいてメタ学習される、
命令を格納したコンピュータ可読媒体。
【請求項11】
請求項8に記載のコンピュータ可読媒体であって、
前記新たなドメインタスクが目視検査であり、前記ラベル付けされた画像が、前記目視検査の対象物またはタスクの欠陥タイプを含み、前記代表モデルが、前記目視検査で検出された欠陥を出力するように構成されている、
命令を格納したコンピュータ可読媒体。
【請求項12】
請求項8に記載のコンピュータ可読媒体であって、
前記複数のバックボーンスナップショットから生成された特徴は、産業タスクまたはオブジェクトを代表するものである、
命令を格納したコンピュータ可読媒体。
【請求項13】
請求項8に記載のコンピュータ可読媒体であって、
前記複数のバックボーンスナップショットの各々は、クロスドメインの視覚検査を容易にするために、スクイーズ層及び励起層並びにアンチエイリアシングフィルタを用いて構成される、
命令を格納したコンピュータ可読媒体。
【請求項14】
請求項8に記載のコンピュータ可読媒体であって、
前記新しいドメインタスクは、タスクのための第1の複数のクラスと関連付けられ、前記複数のラベル付けされた画像は、前記複数のクラスの各々についての例から構成される、
命令を格納したコンピュータ可読媒体。
【請求項15】
プロセッサを有するコンピュータ装置であって、
前記プロセッサは、
新しいドメインタスクの第1の複数のラベル付けされた画像の入力に対して、複数のバックボーンスナップショットを介して第1の複数のラベル付けされた画像を処理し、バックボーンスナップショットの各々は、複数の他のドメインタスクにわたって訓練されたモデルを代表し、複数のバックボーンスナップショットの各々は、入力に応答する第1の複数の特徴を出力し、
複数のバックボーンスナップショットを介して、ラベル付けされていない第2の複数の画像の第2の入力を処理して、第2の入力に応答する第2の複数の特徴を出力し、
前記第1の複数の特徴と前記第2の複数の特徴とを、類似性に基づいて前記第1の複数の特徴と前記第2の複数の特徴とを関連付ける類似度値に変換するように構成された特徴変換処理を実行し、
前記類似度値に基づいて、前記第1の複数の特徴と前記第2の複数の特徴とをクラスタリングするクラスタリング処理を実行し、
第1の複数の特徴のクラスタリングおよび変換から、およびクラスタリングおよび変換された第2の複数の特徴から関連付けられるように、新しいドメインタスクの代表モデルを生成する
コンピュータ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、目視検査システム、より具体的には、目視検査作業のためのメタ学習システムにおける方法、コンピュータ可読媒体及び装置に向けられている。
【背景技術】
【0002】
製造業や物流業を含む多くの企業が、コンピュータ・ビジョンの手法を活用して目視検査の処理を自動化している。例えば、製造工場では、製造ライン上にカメラを設置し、製造中の製品の画像を連続的に撮影することができる。これらの画像はコンピュータ・ビジョンのアルゴリズムに送られ、製造された製品の欠陥を検出する。欠陥が検出された場合、システムはオペレーターに警告を発し、工程に介入して必要な修正を行うことができる。
【0003】
関連技術のコンピュータビジョンアルゴリズムの大部分は、深層学習(DL)ベースのアルゴリズムである。これらのアルゴリズムは、手作業で作られた特徴やドメイン知識を指定する必要はなく、不良品と非欠陥品の画像とそれに対応するラベルなどの大量のラベル付きデータを入力とし、特定の画像が不良品かどうかを検出するモデルを自動的に学習する。しかし、従来の手法では、新しいドメイン(工場の生産ライン)ごとに新しいモデルを学習する必要があることが多く、また、DLモデルの学習にはかなりの量のデータが必要である。
【0004】
クロスドメインメタ学習とは、複数のドメインにわたって汎用的なDLモデルを学習する手法であり、モデルの再学習に多大な時間を要することなく、また新たなドメインからの大量のデータを必要とすることなく、モデルを微調整して新たなドメインで再利用することができる。
【0005】
上記の文脈では、クロスドメインとは、データの異なるドメインにわたってモデルを適用する処理として定義される。例えば、もともとトランジスタの欠陥(ドメインA)を分類するモデルを、カーペットの欠陥(ドメインB)の分類や金属ナットの欠陥(ドメインC)の分類に適用することができる。
【0006】
メタ学習の文脈では、メタ学習アルゴリズムの著名な例として、Prototypical Networks、Model Agnostic Meta Learning、MetaDeltaなどのアルゴリズムが挙げられる。これらの関連技術手法はすべて、新しいデータ領域に素早く適応するモデルを訓練しようとするメタ学習アルゴリズムの亜種である。しかし、これらの関連技術手法のほとんどは、視覚検査ではなく、一般的な画像分類に主に使用されてきた。目視検査に関しては、一般的な深層学習手法には、転移学習とドメイン適応がある。これらの手法も、あるドメインで訓練されたモデルを別のドメインで展開するために使おうとするものである。それにもかかわらず、これらの手法のほとんどは、限られたデータで複数のドメインにうまく一般化できない。
【発明の概要】
【発明が解決しようとする課題】
【0007】
多くの企業が目視検査の作業を手作業に頼っているが、これは非効率的で時間がかかる。自動外観検査に深層学習ベースのコンピュータビジョンモデルを使用することは助けになるが、複数のドメインにまたがって汎化されないことが多く、外観検査の新しいドメイン用に新しいモデルを開発する必要があることが多い。各新ドメイン用のモデルを学習することは、時間とリソースを消費し、新たなデータセットの収集を伴うが、これは、欠陥データが一般的に稀であるため、多くの産業用途では実現不可能である。移項学習や領域適応などの上述の関連技術手法は、多くの場合、視覚検査領域で一般的に利用可能な欠陥データの量よりも多い、ある程度の量のラベル付きデータを必要とする。さらに、関連技術の方法は、典型的には、類似する特定のドメイン(例えば、ガラスのひび割れを木材のひび割れに分類する)を横断してのみ転移し、ガラスのひび割れを電子部品やヘーゼルナッツの欠陥に分類するように多様なドメインにうまく一般化しない。
【0008】
さらに、メタ学習は目視検査に適用されて成功を収めていない。転移学習やドメイン適応などの他の技術は、データが限られたクロスドメインのアプリケーションではうまく機能しない。
【0009】
本明細書で説明する実施例は、入力データの複数のドメインにわたって視覚検査を実行するモデルを作成するシステムおよび方法に向けられている。例示的な実装は、新しい視覚検査ドメインに適応するために最小限のラベル付けされた例を使用する。
【0010】
さらに、例示的な実装は、新たな視覚的検査領域への適応において計算上効率的である(例えば、数秒のオーダー)。また、例示的な実装は、モデルアーキテクチャにコストのかかる変更を加えることなく、新しい視覚検査タスクに直接適用することができる。
【0011】
本明細書で説明する実施例は、バックボーンアーキテクチャ内でスクイーズ励起モジュールとアンチエイリアシングフィルタを使用することにより、クロスドメインの視覚検査適応性をさらに含むことができる。
【0012】
本明細書で説明する実施例では、視覚検査のクロスドメイン適応を改善するために、メタ学習ステップにおいて分類損失とコントラスト損失の組み合わせを使用する。
【0013】
この実装例ではさらに、スナップショット(snapshot) アンサンブル(ensembling) スキームを活用し、複数のバックボーンバージョンを取得することで、視覚検査領域全体にわたってより優れた汎化を実現している。
【0014】
本明細書で説明する実施例は、任意のn-way kショット視覚検査タスクに直接適応するように一般化することができる。N-wayは、新しい視覚検査タスクにおけるクラスの数を示す(n>=2)。Kショットは、適応のためにモデルに提供されるクラスごとのラベル付けされた例の数を示す。
【0015】
この実施例は、さらに、限られた計算資源で展開するのに計算効率のよい学習済みモデルのアンサンブルをもたらす。
【課題を解決するための手段】
【0016】
従って、第1の態様において、本発明の実施形態は、数ショットメタ学習法を用いた新しい目視検査タスクの学習システムにおける方法であって、新しいドメインタスクの第1の複数のラベル付けされた画像の入力に対して、複数のバックボーンスナップショットを介して第1の複数のラベル付けされた画像を処理し、バックボーンスナップショットの各々は、複数の他のドメインタスクにわたって訓練されたモデルを代表し、複数のバックボーンスナップショットの各々は、入力に応答して第1の複数の特徴を出力し、複数のバックボーンスナップショットを介して、ラベル付けされていない第2の複数の画像の第2の入力を処理して、第2の入力に応答する第2の複数の特徴を出力し、前記第1の複数の特徴と前記第2の複数の特徴とを、類似性に基づいて前記第1の複数の特徴と前記第2の複数の特徴とを関連付ける類似度値に変換するように構成された特徴変換処理を実行し、前記類似度値に基づいて、前記第1の複数の特徴と前記第2の複数の特徴とをクラスタリングするクラスタリング処理を実行し、第1の複数の特徴のクラスタリングおよび変換から、およびクラスタリングおよび変換された第2の複数の特徴から関連付けられるように、新しいドメインタスクの代表モデルを生成する学習システムにおける方法。
【0017】
また、第2の態様において、本発明の実施形態は、処理を実行するための命令を記憶した非一過性のコンピュータ可読媒体であって、該命令は、以下を含む、新しいドメインタスクの第1の複数のラベル付けされた画像の入力に対して、複数のバックボーンスナップショットを介して第1の複数のラベル付けされた画像を処理し、バックボーンスナップショットの各々は、複数の他のドメインタスクにわたって訓練されたモデルを代表し、複数のバックボーンスナップショットの各々は、入力に応答して第1の複数の特徴を出力し、複数のバックボーンスナップショットを介して、ラベル付けされていない第2の複数の画像の第2の入力を処理して、第2の入力に応答する第2の複数の特徴を出力し、前記第1の複数の特徴と前記第2の複数の特徴とを、類似性に基づいて前記第1の複数の特徴と前記第2の複数の特徴とを関連付ける類似度値に変換するように構成された特徴変換処理を実行し、前記類似度値に基づいて、前記第1の複数の特徴と前記第2の複数の特徴とをクラスタリングするクラスタリング処理を実行し、第1の複数の特徴のクラスタリングおよび変換から、およびクラスタリングおよび変換された第2の複数の特徴から関連付けられるように、新しいドメインタスクの代表モデルを生成する命令を格納したコンピュータ可読媒体。
【0018】
また、第3の態様において、本発明の実施形態は、プロセッサを有するコンピュータ装置であって、前記プロセッサは、新しいドメインタスクの第1の複数のラベル付けされた画像の入力に対して、複数のバックボーンスナップショットを介して第1の複数のラベル付けされた画像を処理し、バックボーンスナップショットの各々は、複数の他のドメインタスクにわたって訓練されたモデルを代表し、複数のバックボーンスナップショットの各々は、入力に応答する第1の複数の特徴を出力し、複数のバックボーンスナップショットを介して、ラベル付けされていない第2の複数の画像の第2の入力を処理して、第2の入力に応答する第2の複数の特徴を出力し、前記第1の複数の特徴と前記第2の複数の特徴とを、類似性に基づいて前記第1の複数の特徴と前記第2の複数の特徴とを関連付ける類似度値に変換するように構成された特徴変換処理を実行し、前記類似度値に基づいて、前記第1の複数の特徴と前記第2の複数の特徴とをクラスタリングするクラスタリング処理を実行し、第1の複数の特徴のクラスタリングおよび変換から、およびクラスタリングおよび変換された第2の複数の特徴から関連付けられるように、新しいドメインタスクの代表モデルを生成するコンピュータ装置。
【0019】
また、第4の態様において、本発明の実施形態は、本開示の態様は、新たなドメインタスクの複数のラベル付けされた画像の第1の入力に対して、複数のバックボーンスナップショットを介して第1の複数のラベル付けされた画像を処理し、バックボーンスナップショットの各々は、複数の他のドメインタスクにわたって訓練されたモデルを代表し、複数のバックボーンスナップショットの各々は、入力に応答する第1の複数の特徴を出力するように構成される、1つまたは複数のプロセッサを含むことができる、装置を含むことができる;第2の入力に応答する第2の複数の特徴を出力するために、複数の基幹スナップショットを介して第2の複数のラベル付けされていない画像の第2の入力を処理するステップと第1の複数の特徴および第2の複数の特徴を、類似性に基づいて第1の複数の特徴および第2の複数の特徴を一緒に関連付ける類似性値に変換するように構成された特徴変換処理を実行し、類似性値に基づいて第1の複数の特徴および第2の複数の特徴をクラスタリングするクラスタリング処理を実行し、第1の複数の特徴のクラスタリングおよび変換から、およびクラスタリングおよび変換された第2の複数の特徴から関連付けられるように、新しいドメインタスクの代表モデルを生成する。
【発明の効果】
【0020】
本発明によれば、入力データの複数のドメインにわたって視覚検査を実行するモデルを作成するシステムおよび方法を提供することができる。
【図面の簡単な説明】
【0021】
【
図1】
図1は、提案するクロスドメインメタ学習技術の全体的な枠組みの一例を、実施例に従って示している。
【
図2】
図2は、実施例によるメタ学習フェーズの一例を示す図である。
【
図3】
図3は、実施例による、サポートセットを処理するためのメタテスト工程を示す。
【
図4】
図4は、実施例による、クエリーセットを処理するためのメタテスト工程を示す。
【
図5】
図5は、実施例に従って、特徴後処理のインスタンス化として自己最適輸送(SOT)特徴変換を含む、メタテスト段階の例を示す。
【
図6】
図6は、実施例による、反復ソフトk-meansデコーダによる分類例を示す。
【
図7】
図7は、実施例による、代表モデルを生成するためのフロー図の一例を示す。
【
図8】
図8は、いくつかの例示的な実装で使用するのに適した例示的なコンピュータ装置を備えた例示的なコンピューティング環境を示している。
【発明を実施するための形態】
【0022】
以下の詳細な説明は、本出願の図および実施例の詳細を提供する。図間の参照数字および冗長な要素の説明は、明確にするために省略されている。本明細書を通して使用される用語は、例として提供され、限定することを意図していない。例えば、「自動」という用語の使用は、本願発明の実施態様を実践する当業者の所望の実施態様に応じて、実施態様の特定の側面に対するユーザまたは管理者の制御を伴う完全自動または半自動実施態様を含むことができる。選択は、ユーザインタフェースまたは他の入力手段を通じてユーザによって実施され得るか、または所望のアルゴリズムを通じて実施され得る。本明細書に記載された例示的な実施態様は、単数または組み合わせのいずれかを利用することができ、例示的な実施態様の機能は、所望の実施態様に従って任意の手段を通じて実施することができる。
【0023】
図1は、実施例に従って、提案されるクロスドメインメタ学習技術である学習システムの全体的な枠組みの一例を示す図である。
図1に示されるメタ学習法は、メタ学習されたバックボーン102を生成するためのメタ学習101と、メタテスト段階103とを含む。メタ学習101の間、分類損失110と対比損失111は、バックボーンを訓練するために一緒に使用される。本実施例において、メタ学習法は、その特徴から数ショットメタ学習法と呼ぶことができる。フレームワークの詳細な説明は、
図2から
図6で説明する。
【0024】
図2は、実施例によるメタ学習フェーズの一例を示す図である。メタ学習中、バックボーンモデルは、視覚検査データの複数のドメイン(データセットA、データセットB、データセットC)で学習される。本明細書に記載される例示的な実装において、バックボーンは、残差ネットワークのような大規模な深層学習モデルである。そのようなバックボーンは、多数の(例えば、数百万)パラメータを有することができ、複数の異なるデータセットを使用して複数の異なる画像ドメイン上で訓練される。このようなバックボーンは、金属物体や回路基板などのデータセットを含むような、一般に利用可能なソースから取得することもできる。
【0025】
具体的には、バックボーンの上に多層パーセプトロン(MLP)を使用し、分類と対比損失を組み合わせてモデルを学習する。MLPは分類器として機能するため、対象となるすべてのデータセットがバックボーンを通過し、MLPがバックボーンを訓練して対象となる複数のドメインに精通するために使用する特徴を生成する。
図2の例では、3つのドメインが使用されているが、所望の実装に従って、より多くのドメインを使用することもでき、本開示はこれに限定されない。訓練は、(例えば、分類目的によって定義されるような)分類損失と、クラス間の差異を強制する対比損失とに基づいて行われる。学習の結果、異なるクラスでは互いに離れ、同じクラスでは互いに近づく特徴を生成するバックボーンが得られる。このような訓練により、バックボーンが生成する特徴の質を向上させることができる。
図2に示されるように、バックボーンはMLPに供給される特徴を生成し、分類損失と対比損失に基づいて端から端まで学習する。複数のドメインに対するこのようなメタ学習が行われると、MLP分類器は削除することができ、バックボーンは特徴を生成するために維持される。
【0026】
図3は、実施例に従って、サポートセットを処理するためのメタテスト処理を示す。メタテスト中、新しい視覚検査ドメインデータ(データセットD)からの少数のラベル付き例を含むサポートセットは、メタ学習フェーズで訓練されたバックボーンモデルに与えられる。これにより、プロトタイプと呼ばれる各クラスラベルに関連する特徴セットが生成される。この処理を、メタ学習フェーズで得られた複数のバックボーンを用いて繰り返し、特徴セットのアンサンブルを得る。
【0027】
学習をより効率的にするために、サポートセットはスナップショット・アンサンブルによって生成された複数のバックボーンを経由して実行される。訓練処理中、バックボーンのコピーはアンサンブル処理用に別々に保管される。そして、サポートセットはバックボーンのコピーを通して実行され、複数の特徴ベクトルを生成する。複数の特徴ベクトルは、クラス間で集約されたプロトタイプである。
【0028】
図4は、実施例による、クエリーセットを処理するためのメタテスト処理を示す。サポートセットを処理した後、新しい視覚検査ドメインからのラベル付けされていないデータを含むクエリーセットも、バックボーンモデルのアンサンブルによって処理される。このステップでは、各クエリ入力画像に関連付けられたアンサンブル特徴セットも生成される。
【0029】
図4の例では、
図3のプロトタイプが収集され、その後、
図4に示すようにクエリが処理される。すなわち、学習すべきタスクまたはオブジェクトに関連するラベル付けされていない画像がシステムに処理される。ラベル付けされていない画像は、クエリ特徴ベクトルを生成するために、バックボーンのアンサンブルを介して送られる。クエリ特徴ベクトルが生成されると、
図5で説明するように、プロトタイプ特徴ベクトルとマッチングされる。
【0030】
図5は、実施例に従って、特徴ポスト処理のインスタンス化として自己最適輸送(SOT)特徴変換を含む、メタテスト段階の例を示す。次に、(
図3および
図4の処理からの)プロトタイプおよびクエリ特徴のアンサンブルは、特徴を別の空間にマッピングする後処理技術を使用してさらに変換される。このような後処理手法の例として、自己最適変換(SOT)特徴変換アルゴリズムがある。
【0031】
図5の例では、SOT特徴変換アルゴリズムは、特徴の品質を向上させる。その過程で、SOT特徴変換アルゴリズムは、変換されたプロトタイプと変換されたクエリ特徴とを押し広げ、異なる特徴が互いに遠くに押しやられ、類似した特徴が近くに寄せられるようにする。
図6は、実施例による、反復ソフトk-meansデコーダを用いた分類の例を示す図である。クエリ特徴に対するラベルは、クエリ特徴と各プロトタイプとの間の最も近い距離に基づいて割り当てられる。
図6の例では、プロトタイプ特徴は、ソフトK平均分類のようなクラスタリングアルゴリズムを使用してラベルを割り当てることができるように、クエリ特徴(ラベルなし特徴)とマッチングされる。
図2―
図6に示された実施例を通じて、少ない例ではあるが、バックボーンモデルを新しいタスクに適応させることが可能である。
【0032】
実施例は以下のように考えられる。
【0033】
メタ学習の間、例示的な実装は、
図2に示すメタ学習フェーズの事前学習データとして、1つ以上の産業用外観検査データセットを利用することができる。バックボーンモデルをインスタンス化するために、アンチエイリアスフィルタを備えたオープンソースのImageNet事前学習済みSEResNext101を使用し、視覚検査事前学習データで学習することができる。バックボーンモデルは、従来の教師あり学習手順に従って学習させることができる。例えば、モデルの訓練手順は以下のように実施できる。モデルは、学習率8e―5 およびバッチサイズ60のAdam optimizerを使用して約4時間訓練され、色正規化、水平反転、ぼかし、および透視変換などの標準的な画像補強技術が訓練中にオンザフライで実行される。さらに、モデルは、分類損失、具体的には、教師ありクロスエントロピー損失と対照的損失(例えば、トリプレットマージン損失)の組み合わせを使用して訓練され、対照的損失は10の重み係数を有し、教師あり損失は1の係数で重み付けした。上位2つの最も良いパフォーマンスのモデルは、アンサンブルとして使用するために、訓練処理中の検証スコアに基づいて保存され、メタテスト段階でより多様な特徴セットを抽出する。
【0034】
メタテスト段階では、新しい視覚検査データのドメインが与えられると、前のメタ学習段階で訓練されたバックボーンモデルのアンサンブルがロードされる。次に、サポートセットを構築するために、新しい視覚検査データのドメインから少数のラベル付き例が収集され、残りのラベルなしデータはクエリーセットとして脇に置かれる。サポートセットとクエリーセットを得た後、
図3と
図4に示すように、画像をバックボーンモデルのアンサンブルに通し、特徴を連結することにより、クエリーセットとサポートセットの特徴を生成することができる。
図5に基づいて、サポートセットおよびクエリーセットの特徴は、自己最適輸送アルゴリズム(SOT)を使用して変換され、SOT変換された特徴は、クエリ特徴と各プロトタイプとの間の最も近い距離に基づいてクエリーセットにラベルを割り当てるために、反復ソフトk平均デコーダに送られる。
【0035】
本明細書で説明する実施例を通じて、最小限の計算資源とラベル付けされたデータを使用して、ドメインに関係なくクライアントが容易に展開できる学習済みモデルをもたらす、自動視覚検査のための新規なソリューションがある。また、この方法は、クライアントの好みに基づいて迅速に展開することができるため、時間とリソースに制約のある企業にとって理想的なソリューションとなる。本明細書で説明する実施例によって提供される自動化された目視検査により、クライアントは、高精度で効率的な処理の恩恵を受けながら、手動検査のための支出を大幅に削減することができる。さらに、本明細書で説明する実施例は、異なる領域用の新しい自動外観検査ソリューションを作成するための開発時間とコストを削減し、それによって技術革新の能力を高め、クライアントに費用対効果の高いソリューションを提供する。
【0036】
図7は、実施例に従った、代表モデルを生成するための例示的なフロー図である。フローを開始するために、
図3(データセットD)に示されるように、新しいドメインタスクの第1の複数のラベル付けされた画像の入力が提供される。
701において、フローは、複数のバックボーンスナップショットを介して第1の複数のラベル付けされた画像を処理する。バックボーンスナップショットの各々は、複数の他のドメインタスク(例えば、
図2に例示されるように)にわたって訓練されたモデルを代表する。複数のバックボーンスナップショットの各々は、
図3に例示されるように、入力に応答する第1の複数の特徴を出力するように構成される。
702において、フローは、
図4に図示されるように、第2の入力に応答する第2の複数の特徴を出力するために、複数のバックボーンスナップショットを介して第2の複数のラベル付けされていない画像の第2の入力を処理する。
703において、フローは、
図5に図示されるように、第1の複数の特徴と第2の複数の特徴とを、類似性に基づいて第1の特徴と第2の複数の特徴とを一緒に関連付ける類似性値に変換するように構成された特徴変換処理を実行する。
704において、フローは、
図6に図示されるように、類似度値に基づいて第1の複数の特徴及び第2の複数の特徴をクラスタリングするクラスタリング処理を実行する。
705において、第1の複数の特徴のクラスタリング及び変換から、及びクラスタリングされ変換された第2の複数の特徴から関連付けられるように、新しいドメインタスクの代表モデルを生成する。
【0037】
図8は、いくつかの例示的な実装において使用するのに適した例示的なコンピュータ装置を有する例示的なコンピューティング環境を示す。コンピューティング環境800のコンピュータ装置805は、1つまたは複数の処理ユニット、コア、またはプロセッサ810、メモリ815(例えば、RAM、ROM、および/または同類)、内部ストレージ820(例えば、磁気、光学、固体ストレージ、および/または有機)、および/またはIOインターフェース825を含むことができ、これらのいずれかは、情報を通信するための通信機構またはバス830上に結合されるか、またはコンピュータ装置805に埋め込まれることができる。また、IOインターフェース825は、所望の実装に応じて、カメラから画像を受信したり、プロジェクタやディスプレイに画像を提供したりするように構成される。
【0038】
コンピュータ装置805は、入力/ユーザインタフェース835および出力装置/インターフェース840に通信可能に結合することができる。入力/ユーザインタフェース835および出力デバイス/インターフェース840のいずれか一方または両方は、有線または無線インターフェースとすることができ、着脱可能とすることができる。入力/ユーザインタフェース835は、物理的または仮想的な、入力を提供するために使用することができる任意のデバイス、コンポーネント、センサー、またはインターフェース(例えば、ボタン、タッチスクリーンインターフェース、キーボード、ポインティング/カーソル制御、マイクロフォン、カメラ、点字、モーションセンサー、加速度計、光学リーダー、および/またはこれらに類するもの)を含むことができる。出力デバイス/インターフェース840は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字などを含み得る。いくつかの例示的な実装では、入力/ユーザインタフェース835および出力デバイス/インターフェース840は、コンピュータ装置805に埋め込まれるか、またはコンピュータ装置805に物理的に結合され得る。他の例示的な実装では、他のコンピュータ装置が、コンピュータ装置805の入力/ユーザインタフェース835および出力デバイス/インターフェース840の機能として機能するか、またはその機能を提供することができる。
【0039】
コンピュータ装置805の例としては、高度に移動可能な装置(例えば、スマートフォン、車両および他の機械に搭載された装置、人間および動物によって運ばれる装置など)、移動可能な装置(例えば、タブレット、ノートブック、ラップトップ、パーソナルコンピュータ、ポータブルテレビ、無線機など)、および移動用に設計されていない装置(例えば、デスクトップコンピュータ、他のコンピュータ、情報キオスク、そこに埋め込まれたおよび/またはそれに結合された1つまたは複数のプロセッサを有するテレビ、無線機など)を挙げることができるが、これらに限定されない。
【0040】
コンピュータ装置805は、同じ構成または異なる構成の1つまたは複数のコンピュータ装置を含む、任意の数のネットワーク接続されたコンポーネント、デバイス、およびシステムと通信するために、外部ストレージ845およびネットワーク850に(例えば、IOインターフェース825を介して)通信可能に結合され得る。コンピュータ装置805または任意の接続されたコンピュータ装置は、サーバ、クライアント、シンサーバ、一般的なマシン、特別な目的のマシン、または別のラベルとして機能する、サービスを提供する、または参照されることができる。
【0041】
IOインターフェース825は、コンピューティング環境800内の少なくともすべての接続されたコンポーネント、デバイス、およびネットワークとの間で情報を通信するための任意の通信またはIOプロトコルまたは標準(例えば、イーサネット、802.11x、ユニバーサルシステムバス、WiMAX、モデム、セルラーネットワークプロトコルなど)を使用する有線および/または無線インターフェースを含み得るが、これらに限定されない。ネットワーク850は、任意のネットワークまたはネットワークの組み合わせ(例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話ネットワーク、セルラーネットワーク、衛星ネットワークなど)であり得る。
【0042】
コンピュータ装置805は、一過性媒体および非一過性媒体を含む、コンピュータ使用可能媒体またはコンピュータ可読媒体を使用および/または通信することができる。一過性の媒体には、伝送媒体(例えば、金属ケーブル、光ファイバ)、信号、搬送波などが含まれる。非一過性媒体には、磁気媒体(ディスク、テープなど)、光媒体(CD ROM、デジタルビデオディスク、ブルーレイディスクなど)、固体媒体(RAM、ROM、フラッシュメモリ、ソリッドステートストレージなど)、その他の不揮発性ストレージまたはメモリが含まれる。
【0043】
コンピュータ装置805は、いくつかの例示的なコンピューティング環境において、技術、方法、アプリケーション、処理、またはコンピュータ実行可能命令を実装するために使用することができる。コンピュータ実行可能命令は、一過性の媒体から取得され、非一過性の媒体に格納され、非一過性の媒体から取得され得る。実行可能命令は、任意のプログラミング言語、スクリプト言語、および機械言語(例えば、C、C++、C#、Java、Visual Basic、Python、Perl、JavaScriptなど)の1つまたは複数に由来することができる。
【0044】
プロセッサ(単数または複数)810は、ネイティブ環境または仮想環境において、任意のオペレーティングシステム(OS)(図示せず)の下で実行することができる。論理ユニット860、アプリケーションプログラミングインターフェース(API)ユニット865、入力ユニット870、出力ユニット875、および異なるユニットが互いに、OSと、および他のアプリケーション(図示せず)と通信するためのユニット間通信機構895を含む1つまたは複数のアプリケーションを展開することができる。説明されるユニットおよび要素は、設計、機能、構成、または実装において様々であり得、提供される説明に限定されない。プロセッサ(複数可)810は、中央処理装置(CPU)のようなハードウェアプロセッサの形態、またはハードウェアユニットとソフトウェアユニットの組み合わせとすることができる。
【0045】
いくつかの例示的な実装において、情報または実行命令がAPIユニット865によって受信されると、それは1つまたは複数の他のユニット(例えば、論理ユニット860、入力ユニット870、出力ユニット875)に伝達され得る。いくつかの実施態様において、論理ユニット860は、上述のいくつかの例示的な実施態様において、ユニット間の情報の流れを制御し、APIユニット865、入力ユニット870、出力ユニット875によって提供されるサービスを指示するように構成され得る。例えば、1つ以上の処理または実装の流れは、論理ユニット860単独で、またはAPIユニット865と連携して制御されてもよい。入力ユニット870は、例示的な実施態様において説明された計算のための入力を得るように構成されてもよく、出力ユニット875は、例示的な実施態様において説明された計算に基づいて出力を提供するように構成されてもよい。
【0046】
プロセッサ(複数可)810は、新しいドメインタスクの第1の複数のラベル付けされた画像の入力に対して、複数のバックボーンスナップショットを介して第1の複数のラベル付けされた画像を処理すること、バックボーンスナップショットの各々は、複数の他のドメインタスクにわたって訓練されたモデルを代表し、複数のバックボーンスナップショットの各々は、
図7の701に関して説明したように、入力に応答する第1の複数の特徴を出力するように構成される、を含む方法または命令を実行するように構成され得る。
図7の702に関して説明されるように、第2の入力に応答する第2の複数の特徴を出力するために、複数のバックボーンスナップショットを介して第2の複数のラベル付けされていない画像の第2の入力を処理するステップと
図7の703に関して説明されるように、第1の複数の特徴および第2の複数の特徴を、類似性に基づいて第1の特徴および第2の複数の特徴を一緒に関連付ける類似性値に変換するように構成された特徴変換処理を実行するステップと
図7の704に関して説明されるように、類似値に基づいて第1の複数の特徴および第2の複数の特徴をクラスタリングするクラスタリング処理を実行するステップと、
図7の705に関して説明されるように、第1の複数の特徴のクラスタリングおよび変換から、ならびにクラスタリングおよび変換された第2の複数の特徴から関連付けられるように、新しいドメインタスクの代表モデルを生成するステップとを含む。
【0047】
プロセッサ(単数または複数)810は、本明細書に記載の方法または命令を実行するように構成され得、ここで、複数のバックボーンスナップショットは、
図2に関して説明されるように、多層パーセプトロン(MLP)層と組み合わせてメタ学習される、例えば、産業タスクである。
【0048】
本明細書で説明されるように、複数のバックボーンスナップショットは、
図2に示されるように、分類損失および対比損失に基づいてメタ学習され得る。
【0049】
本明細書で説明するように、新たなドメインタスクは、所望の実装に従って、任意のターゲットオブジェクトまたはタスクに向けることができる。例えば、新たなドメインタスクが目視検査に向けられる場合、ラベル付けされた画像は、目視検査の対象物またはタスクの異なる欠陥タイプを(クラスとして)含むことができ、代表モデルは、目視検査で検出された欠陥を出力するように構成される。他のドメインタスクも使用することができ、本開示はそれによって限定されない。
【0050】
本明細書で説明するように、複数のバックボーンスナップショットは、工業的タスクまたはオブジェクトを代表するものとすることができる。例えば、バックボーンは、所望の実施態様に従って、それぞれの潜在的欠陥と共に産業用オブジェクト(例えば、はんだ、ねじ、釘など)、またはそれぞれの潜在的欠陥と共にタスク(例えば、はんだの塗布の目視検査、ねじの運転の目視検査などの目視検査タスク)を横断して訓練することができる。
【0051】
本明細書で説明するように、複数の基幹スナップショットの各々は、領域横断的な視覚検査を容易にするために、スクイーズ層および励起層ならびにアンチエイリアシングフィルタを用いて構成することができる。スクイーズ励起層は、バックボーンスナップショットが入力のチャネル全体にわたってより重要な特徴を抽出することを可能にし、アンチエイリアシングフィルタは、バックボーンスナップショットが画像から特徴を抽出する際にサンプリング歪みを緩和することを可能にする。これら2つの技術を組み合わせることで、バックボーンスナップショットはより汎用的でノイズの少ない特徴を抽出できるようになり、その結果、視覚検査タスクの異なる領域にわたって全体的な性能を向上させることができる。
【0052】
本明細書において
図4および
図5で説明するように、新しいドメインタスクは、タスクのための第1の複数のクラスと関連付けることができ、複数のラベル付き画像は、複数のクラスの各々についての例を含む。クラスは、所望の実装に応じて、異なる欠陥、異なるサブタスクなどを有することができる。
【0053】
以上の通り、本実施例は、入力データの複数のドメインにわたって視覚検査を実行するモデルを作成するシステムおよび方法を提供することができる。
【0054】
また、本実施例によれば、新たな視覚的検査領域への適応において計算上効率的である(例えば、数秒のオーダー)。また、例示的な実装は、モデルアーキテクチャにコストのかかる変更を加えることなく、新しい視覚検査タスクに直接適用することができる。
【0055】
本実施例によれば、バックボーンアーキテクチャ内でスクイーズ励起モジュールとアンチエイリアシングフィルタを使用することにより、クロスドメインの視覚検査適応性をさらに含むことができる。
【0056】
本実施例によれば、視覚検査のクロスドメイン適応を改善するために、メタ学習ステップにおいて分類損失とコントラスト損失の組み合わせを使用する。
【0057】
この実装例ではさらに、スナップショット(snapshot) アンサンブル(ensembling) スキームを活用し、複数のバックボーンバージョンを取得することで、視覚検査領域全体にわたってより優れた汎化を実現している。
【0058】
本実施例は、任意のn-way kショット視覚検査タスクに直接適応するように一般化することができる。N-wayは、新しい視覚検査タスクにおけるクラスの数を示す(n>=2)。Kショットは、適応のためにモデルに提供されるクラスごとのラベル付けされた例の数を示す。
【0059】
この実施例は、さらに、限られた計算資源で展開するのに計算効率のよい学習済みモデルのアンサンブルをもたらす。
【0060】
詳細な説明のいくつかの部分は、アルゴリズムおよびコンピュータ内の操作の記号的表現の観点から提示されている。これらのアルゴリズム記述および記号表現は、データ処理技術の当業者が、その技術革新のエッセンスを当業者に伝えるために使用する手段である。アルゴリズムとは、所望の最終状態または結果を導く一連の定義されたステップのことである。実施例では、実行されるステップは、目に見える結果を達成するために、目に見える量の物理的操作を必要とする。
【0061】
特に別段の記載がない限り、議論から明らかなように、本明細書全体を通して、「処理」、「計算」、「計算」、「決定」、「表示」などの用語を使用する議論には、コンピュータシステムのレジスタおよびメモリ内の物理的(電子的)量として表されるデータを、コンピュータシステムのメモリまたはレジスタまたは他の情報記憶、送信または表示デバイス内の物理的量として同様に表される他のデータに操作および変換する、コンピュータシステムまたは他の情報処理デバイスの動作および処理が含まれ得ることが理解される。
【0062】
例示的な実施態様は、本明細書における操作を実行するための装置に関するものでもある。この装置は、必要な目的のために特別に構成されてもよいし、1つ以上のコンピュータプログラムによって選択的に起動または再構成される1つ以上の汎用コンピュータを含んでもよい。このようなコンピュータプログラムは、コンピュータ可読記憶媒体やコンピュータ可読信号媒体などのコンピュータ可読媒体に格納することができる。コンピュータ可読記憶媒体には、光ディスク、磁気ディスク、読み取り専用メモリ、ランダムアクセスメモリ、ソリッドステートデバイスおよびドライブなどの有形媒体が含まれるが、これらに限定されず、電子情報を記憶するのに適した他のタイプの有形媒体または非一過性媒体が含まれる。コンピュータ可読信号媒体は、搬送波などの媒体を含むことができる。本明細書で提示されるアルゴリズムおよび表示は、特定のコンピュータまたは他の装置とは本質的に関係しない。コンピュータプログラムは、所望の実装の動作を実行する命令を含む純粋なソフトウェア実装を含むことができる。
【0063】
様々な汎用システムが、本明細書の実施例に従ったプログラムおよびモジュールと共に使用されてもよいし、所望の方法ステップを実行するためのより特殊な装置を構築することが便利であることが判明してもよい。さらに、実施例は特定のプログラミング言語を参照して説明されていない。様々なプログラミング言語が、本明細書に記載される実施例の技術を実装するために使用され得ることが理解されるであろう。プログラミング言語の命令は、1つまたは複数の処理装置、例えば、中央処理装置(CPU)、プロセッサ、またはコントローラによって実行されてもよい。
【0064】
当技術分野で知られているように、上述の動作は、ハードウェア、ソフトウェア、またはソフトウェアとハードウェアの何らかの組み合わせによって実行することができる。例示的な実装の様々な態様は、回路および論理デバイス(ハードウェア)を使用して実装されてもよく、一方、他の態様は、プロセッサによって実行された場合、プロセッサに本願発明の実装を実行する方法を実行させる機械可読媒体(ソフトウェア)上に記憶された命令を使用して実装されてもよい。さらに、本願のいくつかの例示的な実装は、ハードウェアのみで実行され得るが、他の例示的な実装は、ソフトウェアのみで実行され得る。さらに、説明した様々な機能は、単一のユニットで実行することもできるし、任意の数の方法で多数の構成要素にまたがることもできる。ソフトウェアによって実行される場合、方法は、コンピュータ読み取り可能な媒体に記憶された命令に基づいて、汎用コンピュータなどのプロセッサによって実行され得る。所望により、命令は、圧縮および/または暗号化されたフォーマットで媒体に格納することができる。
さらに、本願発明の他の実施態様は、本願明細書の考察および本願発明の技術の実施から当業者には明らかであろう。記載された例示的な実施態様の様々な態様及び/又は構成要素は、単独で又は任意の組み合わせで使用することができる。本明細書および例示的な実施態様は例示としてのみ考慮されることが意図され、本願の真の範囲および精神は以下の特許請求の範囲によって示される。
【符号の説明】
【0065】
101:メタ学習、
102:バックボーン、
103:メタテスト段階、
110:分類損失、
111:対比損失
800:コンピューティング環境、
805:コンピュータ装置、
810:プロセッサ、
815:メモリ、
820:内部ストレージ、
825:IOインターフェース、
830:バス、
835:入力/ユーザインタフェース、
840:出力装置/インターフェース、
845:外部ストレージ、
850:ネットワーク、
860:論理ユニット、
865:アプリケーションプログラミングインターフェース(API)ユニット
870:入力ユニット、
875:出力ユニット、
895:ユニット間通信機構。