IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ニューララ インコーポレイテッドの特許一覧

特表2023-510329生涯深層ニューラルネットワークを使用した異常の認識および検出のためのシステムおよび方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-03-13
(54)【発明の名称】生涯深層ニューラルネットワークを使用した異常の認識および検出のためのシステムおよび方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20230306BHJP
   G06N 3/02 20060101ALI20230306BHJP
   G06N 20/00 20190101ALI20230306BHJP
【FI】
G06T7/00 610Z
G06N3/02
G06N20/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022542288
(86)(22)【出願日】2021-01-12
(85)【翻訳文提出日】2022-09-08
(86)【国際出願番号】 US2021013056
(87)【国際公開番号】W WO2021142475
(87)【国際公開日】2021-07-15
(31)【優先権主張番号】62/960,132
(32)【優先日】2020-01-12
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】514282530
【氏名又は名称】ニューララ インコーポレイテッド
(74)【代理人】
【識別番号】100099623
【弁理士】
【氏名又は名称】奥山 尚一
(74)【代理人】
【識別番号】100125380
【弁理士】
【氏名又は名称】中村 綾子
(74)【代理人】
【識別番号】100142996
【弁理士】
【氏名又は名称】森本 聡二
(74)【代理人】
【識別番号】100166268
【弁理士】
【氏名又は名称】田中 祐
(74)【代理人】
【識別番号】100218604
【弁理士】
【氏名又は名称】池本 理絵
(72)【発明者】
【氏名】パーム,カール
(72)【発明者】
【氏名】フランカ,カーリー
(72)【発明者】
【氏名】ヴォイジー,グラハム
(72)【発明者】
【氏名】ヴェルサーチ,マッシミリアーノ
(72)【発明者】
【氏名】オリヴェイラ,サンティアゴ
(72)【発明者】
【氏名】トルマネン,ヴェサ
(72)【発明者】
【氏名】マジディ,アリレザ
(72)【発明者】
【氏名】パパドプロス,ヤニス
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096BA03
5L096CA02
5L096DA02
5L096HA09
5L096HA11
5L096KA04
5L096KA15
(57)【要約】
産業上の品質管理は、良好な製品を表す一貫したデータが豊富にあるが、不良製品を表すデータはほとんどないという処理データの性質上、人工ニューラルネットワーク(ANN)および深層ニューラルネットワーク(DNN)にとって困難である。品質管理では、作業は従来のDNNの作業である「最も良く学んだことを認識する」から「今まで見たことがないものを認識する」へと変化する。生涯DNN(L-DNN)技術は、任意の数の未知のクラスまたはクラスの変化に敏感であると同時に、既知のクラスで、高精度で訓練されるDNNの能力を組み合わせるハイブリッド半教師ありのニューラルアーキテクチャである。工業検査に使用される場合、L-DNNは、ほとんどおよび高度に不均衡なデータで学習する能力を利用する。L-DNNのリアルタイム学習能力は、導入後にL-DNNが遭遇する、品質の低い製品の稀な事例を活用する。L-DNNは、工業検査および製造品質管理に適用できる。
【選択図】図2
【特許請求の範囲】
【請求項1】
事前に訓練されたバックボーンと、センサに接続されたプロセッサ上で実行される高速学習ヘッドとを用いて組立ライン上の異常のある物体を識別する方法であって、
異常のある物体を認識できるよう前記高速学習ヘッドを訓練することなく、検査ライン上の正常な物体を認識できるよう前記高速学習ヘッドを訓練することと、
前記組立ライン上の物体を表すデータを前記センサにより取得することと、
前記事前に訓練されたバックボーンにより、前記物体のデータの特徴を抽出することと、
前記高速学習ヘッドにより、前記事前に訓練されたバックボーンによって抽出された前記データの特徴に基づいて、前記物体に異常があることを自動的に認識することと
を含む方法。
【請求項2】
前記センサがカメラであり、前記データを取得することが前記物体の画像を取得することを含む、請求項1に記載の方法。
【請求項3】
前記高速学習ヘッドの訓練が、前記高速学習ヘッドを正常な物体の100枚未満の画像により訓練することを含む、請求項2に記載の方法。
【請求項4】
前記データの取得が時系列データの取得を含む、請求項1に記載の方法。
【請求項5】
前記データの特徴を抽出することが、正常な物体を認識できるように訓練されたニューラルネットワークの畳み込み層を通じて前記データを伝播することを含む、請求項1に記載の方法。
【請求項6】
前記データの特徴を抽出することが、前記データをフーリエ変換またはウェーブレット変換することのうちの少なくとも一つを含む、請求項1に記載の方法。
【請求項7】
前記高速学習ヘッドにより、前記物体に以前には見られなかったタイプの異常があると識別することをさらに含む請求項1に記載の方法。
【請求項8】
ユーザからの入力に応じて、前記以前には見られなかったタイプの異常を第一のタイプの異常としてラベル付けすることをさらに含む請求項7に記載の方法。
【請求項9】
前記物体が第一の物体であり、
前記組立ライン上の第二の物体を表すデータを取得することと、
前記第二の物体を表すデータの特徴を、前記事前に訓練されたバックボーンにより抽出することと、
前記高速学習ヘッドにより、前記第二の物体を表すデータから抽出された特徴に基づいて、前記第二の物体に異常があることを自動的に認識することと
をさらに含む請求項7に記載の方法。
【請求項10】
前記高速学習ヘッドにより、前記第二の物体を前記第一のタイプの異常を有するものとして分類することをさらに含む請求項9に記載の方法。
【請求項11】
前記以前には見られなかったタイプの異常が、第一の、以前には見られなかったタイプの異常であり、
前記第二の物体が、第二の、以前には見られなかったタイプの異常を有するものと識別することと、
ユーザからの入力に応じて、前記第二の、以前には見られなかったタイプの異常を第二のタイプの異常としてラベル付けすることと
をさらに含む請求項9に記載の方法。
【請求項12】
前記高速学習ヘッドが第一の高速学習ヘッドであり、前記センサが第一のセンサであり、
異常のある物体を認識できるよう第二の高速学習ヘッドを訓練することなく、前記検査ライン上の正常な物体を認識できるよう前記第二の高速学習ヘッドを訓練することと、
前記組立ライン上の前記物体の別のビューを表すデータを第二のセンサで取得することと、
前記事前に訓練されたバックボーンにより、前記物体の前記別のビューのデータの特徴を抽出することと、
前記第二の高速学習ヘッドにより、前記事前に訓練されたバックボーンによって抽出された前記物体の前記別のビューを表すデータの特徴に基づいて、前記物体に異常があることを自動認識することと
をさらに含む請求項1に記載の方法。
【請求項13】
前記高速学習ヘッドが第一の高速学習ヘッドであり、前記センサが第一のセンサであり、前記物体が第一の物体であり、
異常のある物体を認識できるよう第二の高速学習ヘッドを訓練することなく、前記検査ライン上の正常な物体を認識できるよう前記第二の高速学習ヘッドを訓練することと、
前記組立ライン上の第二の物体を表すデータを第二のセンサにより取得することと、
前記第二の物体のデータの特徴を前記事前に訓練されたバックボーンにより抽出することと、
前記第二の高速学習ヘッドにより、前記事前に訓練されたバックボーンによって抽出された前記データの特徴に基づいて、前記第二の物体に異常があることを自動的に認識することと
をさらに含む請求項1に記載の方法。
【請求項14】
前記高速学習ヘッドが第一の高速学習ヘッドであり、前記データが画像を含み、前記第一の高速学習ヘッドを訓練して正常な物体を認識することが、前記第一の高速学習ヘッドを訓練して、訓練画像において正常な第一の関心領域を認識することを含み、
異常のある第二の関心領域を認識できるよう第二の高速学習ヘッドを訓練することなく、前記訓練画像の正常な第二の関心領域を認識できるよう前記第二の高速学習ヘッドを訓練することと、
前記第二の高速学習ヘッドにより、前記事前に訓練されたバックボーンによって抽出された前記データの特徴に基づいて、前記画像の第二の関心領域に異常があることを自動的に認識することと
をさらに含む請求項1に記載の方法。
【請求項15】
前記高速学習ヘッドにより、前記第一の物体の前記画像内の異常のある位置を自動的に特定することをさらに含む請求項1に記載の方法。
【請求項16】
前記物体に異常があると前記高速学習ヘッドが認識したことに応じて、前記物体を前記組立ラインから自動的に除くことをさらに含む請求項1に記載の方法。
【請求項17】
前記物体に異常があると前記高速学習ヘッドが認識したことに応じて、警報をトリガすることをさらに含む請求項1に記載の方法。
【請求項18】
組立ライン上の物体を検査するシステムであって、
前記組立ライン上の物体を表すデータを取得するセンサと、
前記センサに動作可能に接続され、
事前に訓練されたバックボーンに対し、前記データから前記物体の特徴を抽出させ、
正常な物体を表すデータのみに関して訓練された高速学習ヘッドに対し、前記事前に訓練されたバックボーンから前記特徴を受け取り、前記特徴に基づいて前記物体が正常か異常かを識別させる
プロセッサと
を備えるシステム。
【請求項19】
前記センサがカメラであり、前記データが前記物体の画像を含む、請求項18に記載のシステム。
【請求項20】
前記高速学習ヘッドが、正常な物体の100枚未満の画像により訓練される、請求項19に記載のシステム。
【請求項21】
前記センサが、前記物体を表す時系列データを取得する、請求項18に記載のシステム。
【請求項22】
前記事前に訓練されたバックボーンが、正常な物体を認識できるよう訓練されたニューラルネットワークの畳み込み層を含む、請求項18に記載のシステム。
【請求項23】
前記事前訓練されたバックボーンが、前記データをフーリエ変換またはウェーブレット変換することのうちの少なくとも一つによって前記特徴を抽出する、請求項18に記載のシステム。
【請求項24】
前記高速学習ヘッドが、前記物体を、以前には見られなかったタイプの異常を有するものとして識別する、請求項18に記載のシステム。
【請求項25】
前記プロセッサに動作可能に接続され、前記ユーザが前記以前には見られなかったタイプの異常を第一のタイプの異常としてラベル付けすることを可能にするインターフェースをさらに備える請求項24に記載のシステム。
【請求項26】
前記物体が第一の物体であり、前記センサが、前記組立ライン上の第二の物体を表すデータを取得し、前記事前に訓練されたバックボーンが、前記第二の物体を表すデータの特徴を抽出し、前記高速学習ヘッドは、前記第二の物体に、前記第二の物体を表すデータから抽出された特徴に基づき異常があると自動的に認識する、請求項24に記載のシステム。
【請求項27】
前記高速学習ヘッドが、前記第二の物体を第一のタイプの異常を有するものとして分類する、請求項26に記載のシステム。
【請求項28】
前記以前には見られなかったタイプの異常が、第一のタイプの異常であり、前記高速学習ヘッドが、前記第二の物体を、第二の、以前には見られなかったタイプの異常を有するものとして識別し、
前記プロセッサに動作可能に接続され、前記ユーザが前記第二の、以前には見られなかったタイプの異常を第二のタイプの異常としてラベル付けすることを可能にするインターフェースをさらに備える請求項26に記載のシステム。
【請求項29】
前記少なくとも一つの高速学習ヘッドが第一の高速学習ヘッドであり、前記センサが第一のセンサであり、
前記プロセッサに動作可能に接続され、前記組立ライン上の前記物体の別のビューを表すデータを取得する第二のセンサをさらに備え、
前記プロセッサが、正常な物体を表すデータでのみ訓練された第二の高速学習ヘッドに対し、前記事前に訓練されたバックボーンによって抽出された前記物体の前記別のビューを表すデータの特徴に基づいて、前記物体に異常があると認識させる、請求項18に記載のシステム。
【請求項30】
前記物体が第一の物体であり、前記高速学習ヘッドが第一の高速学習ヘッドであり、前記センサが第一のセンサであり、前記物体が第一の物体であり、
前記プロセッサに動作可能に接続され、前記組立ライン上の第二の物体のデータを取得する第二のセンサをさらに備え、
前記プロセッサが、正常な物体を表すデータでのみ訓練された第二の高速学習ヘッドに対し、前記事前に訓練されたバックボーンによって抽出された前記第二のデータの特徴に基づいて、前記第二の物体に異常があると認識させる、請求項18に記載のシステム。
【請求項31】
前記センサがカメラであり、前記データが画像であり、前記高速学習ヘッドは、正常な訓練画像における第一の関心領域のみを認識できるよう訓練された第一の高速学習ヘッドであり、
前記プロセッサが、前記正常な訓練画像における第二の関心領域のみを認識できるよう訓練された第二の高速学習ヘッドに対し、前記事前に訓練されたバックボーンによって抽出された前記データの特徴に基づいて、前記画像の第二の関心領域に異常があると認識させる、請求項18に記載のシステム。
【請求項32】
前記高速学習ヘッドが、前記物体の画像における異常のある位置を特定する、請求項18に記載のシステム。
【請求項33】
前記プロセッサに動作可能に接続され、前記物体に異常があると前記高速学習ヘッドが認識したことに応じて前記物体を前記組立ラインから除くプログラム可能な論理コントローラをさらに備える請求項18に記載のシステム。
【請求項34】
前記プロセッサは、前記物体に異常があると前記高速学習ヘッドが認識したことに応じて警報をトリガする、請求項18に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
<関連出願の相互参照>
本出願は、2020年1月12日出願の米国特許出願第62/960,132号の米国特許法119条(e)の下での優先権の利益を主張し、引用によりその全体があらゆる目的のため本明細書の一部を成すものとする。
【背景技術】
【0002】
多くの場合、入力層と出力層との間に介在されるニューロンの多くの層を含む、従来の人工ニューラルネットワーク(ANN)および深層ニューラルネットワーク(DNN)は、典型的には、教師あり様式または教師なし様式のいずれかで機能するように設計される。教師あり学習は、高精度でありながら、剛構造を作り出し、その構造は、それらが認識するために訓練されたクラスを超えた「未知」のクラスを許容せず、コストのかかる再訓練なしには簡単に更新できない。教師なし学習は、未知の入力-出力マッピングを収容および発見することができるが、通常、教師ありシステムの典型的な高性能(精度/記憶)を提供するものではない。しかし、現実世界のシナリオの多くは、多くの場合、教師ありのANN機能と教師なしのANN機能の組み合わせを必要とする。このような多くのシナリオでは、既知のクラス数を、先験的として定義することはできない。
【0003】
例えば、現実の品質検査において、生産サイクルにおいて起こり得る潜在的な欠陥の数は、先験的な決定が実際的でなく、または不可能な場合がある。したがって、入力データと出力クラスとの間の既知のマッピングについて訓練されている従来のDNNは、品質検査において可能性のあるすべての欠陥を検出するために使用することはできない。これらのシナリオでは、欠陥を推定するために教師なし方法(例えば、クラスタリング)を使用できるが、これらの方法は一般的に、教師ありDNNと同等の性能に達しない。
【0004】
具体的には、教師ありANNは、ラベル付けされた訓練データ(訓練例のセット)から関数を推測するように訓練され、各例は、入力物体および所望の出力ラベルを含む。教師ありANNを訓練するための逆伝播の利用は、大量の訓練データおよび多くの学習反復を必要とし、データが入手可能になり次第リアルタイムで発生させることができない。教師なし様式で学習するANNは、所望の出力値を必要とせず、データの未知のパターンを前処理、圧縮、および検索するために使用される。教師なし学習は、教師あり学習ほど時間がかかる場合があるが、教師あり学習プロセスよりも、いくつかの教師なし学習プロセスは、はるかに高速かつ計算上単純であり、リアルタイム、すなわち、データ提示ごとかつ計算コストがわずかに推論のコスト以上で増分的に発生し得る。
【0005】
教師ありDNNは、出力(例えば、画像ラベル)への入力(例えば、画像)をマッピングするように訓練され、ラベルのセットは、先験的に定義され、教師あり学習プロセスにおいて提供される出力クラスの数に対応する。DNN設計者は、推論中(学習後)にDNNが遭遇する可能性のあるすべてのクラスを先験的に提供する必要があり、訓練データは、低速な逆伝播に十分であり、教師ありDNNが識別するはずのクラスの中でのいくつかの例の中でバランスがとれているべきである。所与の物体のクラスに訓練例が提供されない場合、従来のニューラルネットワークは、この物体のクラスが存在することを知る理由がない。
【0006】
すべての物体クラスに訓練例を提供するためのこの要件は、従来のニューラルネットワークでは、精度が高くなければならず、訓練データには、正しい製品の多数の一貫した例が含まれるが、(一貫性のない)誤った製品の例は極めて少なく、産業上の品質管理のような問題に対して、首尾よく実装することを困難にする。さらに、機械メーカーは、訓練が各顧客に対する最新の例を組み込むように、顧客への訓練を延期することを好む場合がある。したがって、ANNおよびDNNは、訓練プロセスのデータおよび計算の集中的な性質、一度配備されると更新不能、および当初は未知の欠陥の可能性をすべて認識することが困難であるため、産業上の品質管理用途での使用には広く採用されていない。
【発明の概要】
【0007】
従来のANNおよびDNNとは異なり、生涯深層ニューラルネットワーク(L-DNN)技術は、許容可能なまたは適合する物体を認識するために迅速に訓練することができ、未知の欠陥または異常(あるいは変則性)を認識するために訓練されることなく、それらの未知の欠陥および他の異常を検出するために使用され得る。これにより、L-DNN技術は、製造組立ラインおよびその他の産業環境における高速目視検査および品質管理に適している。L-DNNを実行するエッジコンピュータは、カメラデータまたは他のデータを使用して、欠陥または位置合わせされていない物体をリアルタイムで、人の介入なしに、除去、修理、または交換のために識別することができる。
【0008】
L-DNN技術は、(a)既知のクラスについて高精度で訓練されるDNNの能力を融合し、利用可能な場合、(b)同時に、先験的に決定できない任意の数の未知のクラスまたはクラスの変化に敏感である。さらに、現実世界のシナリオに対処するために、L-DNN技術は、(c)ほとんどデータがないときに学習を行うことを可能にする。L-DNN技術はまた、不均衡なデータ(例えば、異なるクラスに対して非常に異なる多数の例を有するデータ)から効果的に学ぶことができる。最後に、L-DNN技術により、低速逆伝播することなく、(d)リアルタイム学習が可能となる。
【0009】
L-DNN技術は、人工知能(AI)、人工ニューラルネットワーク(ANN)、深層ニューラルネットワーク(DNN)、およびその他のマシンビジョンプロセスを拡張し、それにより、最小限の不均衡なデータで導入時点で訓練し、新しいデータが利用可能になるとさらに更新することができる。L-DNNの技術的利益には、以下が含まれるが、これらに限定されない。
●AIの待ち時間の減少:クラウドまたはリモートサーバではなくコンピューティングエッジに位置することができるため、L-DNN AIは、データが、クラウドまたはデータセンターリソースではなく、ローカルデバイスレベルに直接位置するプロセッサ上で処理されるため、リアルタイムまたはほぼリアルタイムのデータ解析を達成できる。
●データ転送およびネットワークトラフィックの低減:データはデバイスレベルで処理されるため、生データはコンピュータネットワークを介してデバイスからデータセンタまたはクラウドに送信される必要はなく、それによってネットワークトラフィックが低減される。
●メモリ使用量の削減:L-DNN技術により、ワンショット学習が可能になり、将来使用するためにデータを保存する必要性が排除される。
●データプライバシ:デバイスにおけるデータ(推論と学習の両方)の処理は、ユーザデータがデバイスレベルで生成、処理、破棄され、どうあってもデバイスから送信されることなく、またデバイス上に生の形態で永続的に保存されることがないため、ユーザのプライバシおよびデータセキュリティを強化する。
●柔軟な運用:L-DNNは、教師あり、教師なし、または半教師ありモードで運用できる。
●未知の物体クラスの取り扱い:L-DNNは、欠陥部品または異常部品を含む、訓練中に遭遇しなかった物体について、「何も知らない(Nothing I know)」と識別し、報告することができる。
L-DNN技術の詳細については、例えば、参照によりその全体が本明細書に組み込まれる、米国特許付与前公開第2018/0330238A1号および米国特許出願第16/952,250号を参照されたい。
【0010】
L-DNNは、従来のANNおよびDNNとは異なり、それらの異常を識別する訓練を受けていなくても、異常のある画像を識別することができるため、工業用目視検査の作業に特に適している。目視検査では、自動検査システムは、ほとんどの時間で非常に類似し、正しい状況(例えば、コンベヤベルト上の良質の製品、通常の処理、適切な体制内で稼働する機械)に対応するデータを受信する。しかしながら、まれに、入力データが異なっているか、異常がある(例えば、欠陥製品、異常な処理、運用体制外の機械)場合がある。一般に、正しいデータと異なるまたは異常のあるデータを識別する作業は、異常の認識(例えば、12パックのアルミニウム缶が欠陥缶を含むなど、異常があることを認識する)、または異常の検出(例えば、12パックの中のどの缶が欠陥品かなど、多次元空間で異常が発生した場所を示す)と称することができる。異常の認識および検出において、時間は、システムへの入力のうちの一つであり得る。
【0011】
L-DNNを実装する、リアルタイム動作システムは、ほぼ即座に新しい知識に応答できるように、新しい製品および新しい異常を即座に学習する。半教師ありL-DNNを使用することで、以下を実行できる、異常の認識および検出のためのリアルタイム動作システムが可能になる。
a.正常な状況の例のみを使用して、導入現場で迅速に訓練を行う。
b.異常を認識または検出し、ユーザに警告する。
c.任意選択で、システムの運用を中断することなく、各々の異常ありのデータでその知識を更新する。
【0012】
L-DNNは、組立ライン上の物体を検査するためのシステムにおいて使用され得る。このシステムは、センサと、センサに動作可能に結合されたプロセッサとを含み得る。動作中、センサは、組立ライン上の物体を表すデータを取得する。そしてプロセッサは、(1)データから物体の特徴を抽出する事前訓練されたバックボーン、および(2)事前訓練されたバックボーンから特徴を受信し、その特徴に基づいて物体を正常または異常と識別する、正常な物体を表すデータのみについて訓練された高速学習ヘッドを実行する。システムはまた、物体が異常であると認識する高速学習ヘッドに応答して、物体を組立ラインから除くか、またはプロセッサからの適切な信号に応答して異常をオペレータに警告するプログラム可能論理コントローラ(PLC)またはヒューマンマシンインターフェース(HMI)を含んでもよい。
【0013】
センサはカメラであってもよく、この場合、データは物体の画像を含む。この場合、高速学習ヘッドは、比較的少数の画像(例えば、100、90、80、70、60、50、40、30、20、10、5、またはさらには1枚の画像)で訓練され得る。センサはまた、物体または環境を表す時系列データを取得するように構成された歪み、振動、または温度センサであってもよい。
【0014】
事前訓練されたバックボーンは、正常な物体を認識するように訓練されたニューラルネットワークの畳み込み層を含み得る。また、データをフーリエ変換またはウェーブレット変換することによって特徴を抽出するように構成できる。
【0015】
高速学習ヘッドは、物体が以前には見られなかったタイプの異常を有すると識別できる。これらの場合、オペレータは、プロセッサに動作可能に結合されたインターフェースを使用して、以前には見られなかったタイプの異常を第一のタイプの異常としてラベル付けすることができる。センサが組立ライン上の他の物体のデータを取得する場合、事前訓練されたバックボーンは、高速学習ヘッドによる自動的な異常検出のためにそれらの物体を表すデータの特徴を抽出することもできる。高速学習ヘッドは、第二の物体を、該当する場合、第一のタイプの異常を有するとして分類することができ、第二の物体が以前には見られなかったタイプの異常を有する場合、オペレータは、その異常を第二のタイプの異常としてラベル付けするために、インターフェースを使用できる。
【0016】
プロセッサは、多くの高速学習ヘッドを実装することができ、そのすべては、同じ事前訓練されたバックボーンによって抽出された特徴を受信し、その特徴で動作する。これにより、同じ数のバックボーンとヘッドのペアを順番に動作させる場合に比べ、待ち時間が短縮される。異なるヘッドは、異なる物体、同じ物体の異なる画像、またはバックによって抽出された同じ特徴のセットからの同じ画像またはデータセットにおける異なる関心領域を識別できる。ヘッドはまた、異なる物事を行うように訓練されるか、または異なる作業に専念することができる。例えば、あるヘッドは異常を監視し得る一方、別のヘッドは、同じ抽出された特徴からのサイズ、形状、位置、または配向に基づいて物体を分類し得る。
【0017】
前述の概念、および以下でより詳細に論じる追加的概念のすべての組み合わせは(このような概念が相互に矛盾していないという前提で)、本明細書に開示する本発明の主題の一部であると考えられる。具体的には、本開示の最後に現れる特許請求される主題のすべての組み合わせは、本明細書に開示する本発明の主題の一部であると考えられる。また当然のことながら、参照により組み込まれる任意の開示においても現れる場合がある、本明細書で明示的に用いられる用語には、本明細書に開示する特定の概念と最も一致する意味を与えるべきである。
【0018】
以下の図表および詳細な記載を検討すると、他のシステム、プロセス、および特徴が当業者に明らかとなるであろう。このようなさらなるシステム、プロセス、および特徴すべてが、本記載内に含まれ、本発明の範囲内であり、添付の特許請求の範囲によって保護されることが意図される。
【図面の簡単な説明】
【0019】
当業者であれば、図面が主として例示的な目的であること、そして本明細書に記載する本発明の主題の範囲を制限することを意図していないことを理解するだろう。図面は必ずしも一定の比率ではなく、いくつかの例では、本明細書に開示する本発明の主題のさまざまな態様は、異なる特徴の理解を容易にするために、図面内で誇張または拡大されて示される場合がある。図面では、同様の参照文字は概して、同様の特徴(例えば、機能的に類似したおよび/または構造的に類似した要素)を意味する。
【0020】
図1図1は、リアルタイムに動作する機械に実装された生涯深層ニューラルネットワーク(L-DNN)を示す。
【0021】
図2図2は、製造検査用のブレイン(L-DNN)を作成および導入するための、目視検査自動化(VIA)プラットフォームと、目視検査作業用に調整されたオンプレミスソリューションを示す。
【0022】
図3A図3Aは、VIAプラットフォームへの導入のためのL-DNNをプロトタイピングおよび提供するためのプロセスを示す。
【0023】
図3B図3Bは、訓練、微調整(調整)、およびVIAプラットフォーム上へのL-DNNの導入のためのプロセスを示す。
【0024】
図3C図3Cは、L-DNNによる推論に応答して、VIAプラットフォーム上で実行される推論挙動を生成するためのプロセスを示す。
【0025】
図4図4は、図2の環境および図3のワークフロー中のブレインのバージョンを作成および導入するためのプロジェクト、データセット、推論、及びレシピ間の関係を示す。
【0026】
図5A図5Aは、リアルタイムに動作する機械に実装されたマルチヘッドL-DNNを示す。
【0027】
図5B図5Bは、システム内のヘッド数に対する、1秒当たりの推論フレームにおけるマルチヘッドL-DNNの性能結果の例を示す。
【0028】
図6A図6Aは、三つの画像ソースおよび対応する三つの別個の作業を有する、生産ライン内のマルチヘッドL-DNNの動作を示す。
【0029】
図6B図6Bは、集積回路の異なる関心領域(ROI)における異常を検査および識別するように構成されたマルチヘッドL-DNNのダッシュボードを示す。
【0030】
図6C図6Cは、キット内に一緒にパックされた異なる部品の異常を検査および識別するように構成されたマルチヘッドL-DNNのダッシュボードを示す。
【発明を実施するための形態】
【0031】
長年にわたり、製造業者は自動光学検査(AOI)、またはコンピュータビジョンを使用して、例えば、処理中、ラベリング、最終検査など製造工程のさまざまな点で製品を検査してきた。カメラとソフトウェアで構成される従来のAOIシステムは、品質を大幅に改善し、廃棄物を削減しながら、迅速な検査を可能にする。しかしながら、従来のAOIシステムの一つの制限は、表面レベルの欠陥、変形などの変化または異常(あるいは変則性)を検出できない、または組立の検証を実施できないことである。この制限に対抗するために、製造業者は人の検査官に頼る場合がある。しかし、人の検査官は、不完全な正確性および/または人による不一致を含む、独自の制限が付く。また、人の検査官は機械ではなく、すべての単一の部品、特に高速のラインを検査できない。
【0032】
これらの制限を克服するために、エンジニアは、従来のコンピュータビジョン検査を深層学習と組み合わせ始めている。機械学習のサブセットである深層学習は、深層ニューラルネットワーク(DNN)の計算を実行可能にする。表面的には、コンピュータビジョンと深層学習は似ている。すなわち、両方とも目視検査プロセスを自動化して、検査の速度を上げ、ラインからラインへの偏差を減らし、スケーラビリティと効率的に検査できる製品の割合を高めることを含む、いくつかの利点をもたらす。しかし、これらのアプローチにはいくつかの違いがある。これらの違いは、それぞれ、解決に最も適した問題のタイプによって特徴付けられる。簡単に言うと、コンピュータビジョンは論理的にプログラムできる客観的または定量的ユースケース(例えば、部品が100±0.1mmと測定するならば、それで良い)に適するが、深層学習は、一般化または変動性を伴う主観的または定性的検査(例えば、その溶接が良好である)に、より適している。
【0033】
コンピュータビジョンは、単純な論理ベースのルールを適用して、所望の基準を有する物体の適合性を評価することができる場合に、目視検査にうまく機能する。例えば、コンピュータビジョンシステムは、部品および/または構成要素が、どのように、どこに、視野内で配向されるか、または位置するか(例えば、以下の部品測定などの二次検査への自動ピッキングの際のまたは前駆体としての支援)を検証できる。コンピュータビジョンシステムはまた、重要な構成要素の存在もしくは不在、または構成要素/部品の完全性(例えば、部品が故障しているか、または構成要素が欠落しているか)を検証できる。コンピュータビジョンシステムは、部品または構成要素内の点間の距離を測定または推定し、その測定値を、合否のため仕様または公差と比較することができる(例えば、フライス/成形後およびさらなる組み立ての前に、重要な部品の寸法を確認する)。また、コンピュータビジョンシステムは、製品ラベル(例えば、部品/構成要素の識別のためのバーコードまたはクイック応答(QR)コード、ラベルからのテキストなど)からデータを抽出できる。
【0034】
深層学習の強みは一般化しているため、深層学習検査システムは、さまざまな状況での検査に適している。例えば、深層学習検査システムは、金属またはプラスチックの表面スクラッチの変化、溶接品質、パッケージ化される製品など、製品、部品、または欠陥のタイプまたは場所の変化を識別できる。深層学習検査システムは、照明、反射、色などの変化がある環境の中にある品目も検査できる。(コンピュータビジョンシステムは、一般的に、可変照明のある環境で性能が不良であり、物体による変化を一般的に評価することができない。)
【0035】
従来の深層学習検査システムは、検査する物体を認識するように訓練されなければならない。訓練は、深層学習モデルが生産導入時に実際に処理するものと非常に似ているラベル付きまたはタグ付き画像などのデータを使って行う必要がある。これは、深層学習検査システムの訓練データは、同じカメラ、同じ視点、および空間解像度で、理想的には、生産導入中に使用されるものと同じ照明で取得されるべきであることを意味するが、システムによっていくらかの変化が一般化される。
【0036】
さらに、訓練データには、深層学習検査システムが識別することになっている物の各タイプまたはクラスに対してほぼ等数のラベル付き画像が含まれている必要がある。例えば、深層学習検査システムが「良好」な物体と「不良」な物体を分類する場合、訓練セットは、これらのクラスの各々において物体のおよそ等しい数の例(ラベル付き画像)を有するべきである。深層学習検査システムを訓練するために必要な訓練データの量は、所望の精度、変動性、および物体のクラスの数を含む、いくつかの変数に依存する。一般的に、より高い精度、より高い変動性、およびより多くのクラスは、より多くの訓練データに変換される。クラスごとに1,000枚以上のラベル付き画像を含むのは、訓練データにとって珍しくない。
【0037】
しかし、工業および製造のユースケースでは、少なくとも二つの理由から、欠陥を認識するための深層学習システムを訓練するのに十分な訓練データを生成することは困難または不可能であり得る。第一に、不良品の画像を十分に(例えば、2,000枚)生成することは難しい。というのも、現代の製造工程は、歩留まりが大幅に向上し、エラーおよび廃棄物が減少したからである。バランスのとれた代表的な訓練データセットの調達は、それ自体が高価な命題である。第二に、認識可能な欠陥のタイプをすべて識別することは困難または不可能であり得る。一部のタイプの欠陥は予測可能であるが、それらを引き起こす条件が前もって不明であるため、他のタイプの欠陥は予測不可能であり得る。異なる欠陥のデータ(ラベル付き画像)の欠如により、従来の深層学習検査システムを訓練して(異なるタイプの)欠陥を認識することは、不可能ではないにしても困難である。
【0038】
従来の深層学習検査システムは、入力データを、認識するように教示されたクラスの一つに分類する。不均衡な訓練データセット(例えば、欠陥部品のラベル付き画像を含まないか、またはラベル付き画像をほとんど含まないもの)について従来の深層学習検査システムを訓練することは、システムが入力データを分類することに関する決定を下す際に、バイアスおよび正確性の欠如をもたらす。結果として、良好/正常データのみで訓練された従来の深層学習検査システムは、おそらくより低い信頼性ではあるが、異常な物体を良好または正常と識別しうる。
【0039】
従来の深層学習検査システムとは異なり、L-DNNベースの検査システムは、それらを具体的に認識するように訓練されることなく、異なるタイプの欠陥および他の異常を識別できる。さらに、L-DNNベースの検査システムは、従来の深層学習検査システムよりも小さな訓練データセット上の正常または良好な物体を認識するように訓練され得る。また、従来の深層学習検査システムとは異なり、L-DNNベースの検査システムは、導入された後、およびコンピューティングエッジ(例えば、工場のフロア検査カメラに結合されたプロセッサ上)で実行している間に、以前には見られなかった物体を含む新しい物体を認識することを学習できる。
【0040】
要約すると、L-DNNベースの検査システムは、異常認識を実施することができる。異常認識は、モデルを「良好な」画像データのみ(不均衡な訓練データセット)で訓練することによって機能する。この「良好な」データからの偏差の閾値を確立することにより、システムは、基準から逸脱する画像を識別することができる。時間の経過とともに、システムが異常ありの画像の数の増加を識別し、捕捉するにつれて、システムは、オペレータの助けを借りて、これらの画像にラベルを付加して、新しい異常クラスを形成し、異常認識からより詳細な異常分類に移行することができる。
【0041】
L-DNNは、L-DNNベースの検査システムの人工知能を提供する「ブレイン(Brain)」またはモデルとも呼ばれ、訓練システム(例えば、Neurala Brain Builder Software-as-a-Service(SaaS)製品を実行するローカルまたはクラウドサーバ)上で作成および最適化され、許容可能なまたは正常な物体のみを表す画像またはその他のデータ上で訓練され得る。次に、訓練されたL-DNNを、カメラ、マイク、計量器、温度計、または入力データを取得する他のセンサに接続されたエッジコンピュータを含む、一つ以上のノードに導入することができる。例えば、各エッジコンピュータは、GigE Vision規格(例えば、Basler、Baumer、またはTeledyne DELSAカメラ)に準拠するカメラに接続されてもよい。訓練システムは、PLC I/OおよびModbus TCPなどの標準インターフェースを使用して、産業機械または製造ラインに容易に統合される。
【0042】
以下でより詳細に論じるように、訓練システムは、L-DNNを訓練して、「良好な」入力データの一つ以上のカテゴリまたはクラスを認識することができる。例えば、所望の表面品質、パッケージング、またはキッティングの画像についてL-DNNを訓練することができる。L-DNNは「良好な」画像のみについて訓練されているため、導入されたL-DNNベースの検査システムは、良好な画像と十分に一致しない場合、画像を異常ありとして識別する。
【0043】
L-DNNベースの検査システムは、従来の自動検査システムよりもいくつかの技術的利点を提供する。第一に、異常を表すデータについて訓練を受けることなく、異常を認識することができる。これにより、欠陥のある、許容できない部品を描写する画像を収集するのに時間のかかる作業、および多くの場合、実際的でない作業、または難しい作業が排除される。第二に、従来の深層学習検査システムよりも小さな訓練データセットで許容可能な部品を認識するように訓練することができる。この訓練データセットは、不均衡である場合があり、例えば、許容可能な部品のみを表し、欠陥または許容可能な部品ではないデータから構成され得る。これにより、訓練がより速く、より簡単、かつより安価になる。より速く、より簡単な訓練により、L-DNNベースの検査システムを適応させて、異なる製品を検査することが容易になる。第三に、L-DNNベースの検査システムが動作すると、異なる種類の欠陥を、より正確に識別する(および任意に、人の監督により分類する)ことを学習することができる。第四に、L-DNNはエッジデバイス上で実行されるため、データを他のデバイスに送信する必要がない。これにより、ネットワーク帯域幅の消費が減少し、データがプライベートかつ安全に保たれる。
【0044】
<生涯深層ニューラルネットワーク(L-DNN)技術>
L-DNN技術では、関心のある実体または事象を表す特徴の、高速だが安定的な学習を実現するように、表現豊富なDNNに基づくサブシステム(モジュールA)を高速学習サブシステム(モジュールB)と組み合わせる。これらの特徴セットは、逆伝播など、低速学習の方法論によって事前に訓練できる。本明細書に記載される(他の特徴に関する記載は、モジュールAに非DNN方法論を採用することにより可能である)DNNに基づく事例の場合、DNNの高水準特徴抽出層は、知っている実体および事象を分類し、知らない実体および事象の知識をオンザフライで追加するように、モジュールBの高速学習システムへの入力として機能する。モジュールBは、重要な情報を学習し、遅い学習の欠点なしに、正しい入力または挙動の記述的および高度に予測可能な特徴を捕捉し、以前に見られなかった間違った入力および挙動を識別することができる。
【0045】
またL-DNNで、古い知識を忘れることなく、新しい知識を学習することも可能になり、それによって、致命的忘却を軽減または排除する。言い換えれば、本技術は、(a)入力画像を送信または保存する必要、(b)時間のかかる訓練、または(c)重要な計算資源なしで、(継続的および/または断続的に)ユーザ入力に基づいてエッジで挙動を調整するために、コンピュータ、スマートフォン、またはその他のコンピューティングデバイスなどのリアルタイムに動作する機械(例えば、生産ラインの時計上で実行されるコンピュータ)を可能にする。L-DNNの導入後の学習によって、リアルタイムに動作する機械が、その環境およびユーザの相互作用の変化に適応し、元のデータセットの欠陥に対処し、カスタマイズされた体験を各ユーザに提供することが可能になる。異常認識または検出の事例では、システムは、異常の例のない極端な事例の、高度に不均衡なデータセットから開始し、動作の間何が良好な製品であるか、または正しい挙動であるかの知識に異常を発見し、追加することができるため、特に有用である。
【0046】
ここでは、L-DNN技術が製造ラインおよびパッケージングラインのモニタリングに使用される。L-DNN作成ソフトウェア、例えば、Neurala Brain Builderを使用して、一つ以上の異なるL-DNNまたはブレインのバージョンを作成および導入することができ、それら各々が、少なくとも一つのセンサからデータを監視する。このセンサデータは、一次元(例えば、回転するカムの動きを監視するセンサからの時系列データ)または二次元(例えば、パッケージの写真を密封する前に撮影するカメラからの画像)であってもよい。いずれの場合も、L-DNNの特徴抽出器(モジュールA、例えば、フィードフォワードDNN、反復DNN、高速フーリエ変換(FFT)モジュール、またはウェーブレット変換モジュールとして実装される)は、データから特徴を抽出する。モジュールB分類器は、抽出された特徴を正常または異常なものとして分類する。抽出された特徴が異常ありの場合(例えば、機械が動作限界の範囲外でぐらぐらしている、またはパッケージが壊れた構成要素を含む)、L-DNNベースの品質監視システムは、何らかの是正措置(例えば、機械の速度を緩めるかまたは停止する、あるいはパッケージが密封される前にパッキングラインからパッケージを除く)をトリガしうる。
【0047】
L-DNNは、高速学習モードおよび低速学習モードを組み合わせるように、異種ニューラルネットワークアーキテクチャを実装する。高速学習モードでは、L-DNNを実装する、リアルタイムに動作する機械が、ほぼ即座に新しい知識に応答できるように、新しい知識および新しい体験(例えば、異常)を学習する。このモードでは、高速学習サブシステムの学習率は、新しい知識および対応する新しい体験に有利に働くほど高く、一方、低速学習サブシステムの学習率は、古い知識および対応する古い体験を保存するように、低い値またはゼロに設定される。高速学習モードは、工業検査用の異常検出システムの主要動作モードである。これは、遅い訓練更新のためにシステムをオフラインにすることは費用がかさむ場合があるからである。
【0048】
図1は、リアルタイムに動作する機械100に実装できるL-DNN106の概要を提供する。リアルタイムに動作する機械100は、カメラまたはマイクなどのセンサ130から、ビデオまたは音声データなどの感覚入力データ101を受信し、低速学習モジュールA102および高速学習モジュールB104を含むL-DNN106にそれを供給し、これはニューラルネットワーク分類器として実装できる。各モジュールA102は、事前に学習した(一定重量)DNN110またはいくつかの他のシステムに基づくことができ、特徴抽出器として機能する。モジュールA102は、感覚入力101を受信する。バックボーン112とも呼ばれる、事前訓練されたニューラルネットワーク層112のスタックは、関連する特徴を識別し、物体115の圧縮表現に抽出し、これらの表現115をモジュールB104に供給する。しばしば、DNNベースのモジュールAを使用する場合、特徴抽出バックボーン112の末端にあるDNNのいくつかの中間層114から特徴が読み出される。一つ以上の完全に接続された、平均化する、プーリング層116および費用層108を含みうるDNNの上部層は、無視されるか、またはDNN110から完全に取り除かれてもよい。
【0049】
モジュールB104は、入力層120の信号と、一つ以上の連想層122のセット内の出力層124との間の関連付けを形成することによって、これらの物体表現115を迅速に学習する。教師ありモードでは、ユーザとの相互作用を通して、モジュールB104は、層124で知らない物体に対する正しいラベルを受信し、層120の各特徴ベクトルと対応するラベルとの間の関連付けを迅速に学習し、結果として、これらの新しい物体を即座に認識できる。教師なしモードでは、システムは、ベクトル間の特徴の類似性を使用して、これらのベクトルを同じクラスまたは異なるクラスに割り当てる。
【0050】
L-DNN106は、DNN110が優れた特徴抽出器であるという事実を活用する。モジュールB104は、入力ソース(センサ)130がデータ101を提供する際に、モジュールA102によって抽出された特徴を継続的に処理する。モジュールB104は、高速のワンショット学習を使用して、これらの機能を物体クラスに関連付ける。
【0051】
高速学習モードでは、正常な(異常ではない)ケースに対応する新規の特徴のセットが入力101として提示されるとき、モジュールB104は、これらの特徴を、ユーザによって教師ありモードで与えられるか、または教師なしモードで内部的に生成されるクラスラベルに関連付ける。どちらの場合も、モジュールB104はこのときにはこの入力を知っており、次の提示では認識できる。モジュールB104のこの分類は、L-DNN106が実行している作業次第で、分類自体でL-DNN106の出力として、またはモジュールA102からの特定のDNN層からの出力との組み合わせとして、いずれかで機能する。
【0052】
一般のL-DNNおよび特定のモジュールBは、連続する感覚入力にリアルタイムで動作するように設計されるため、モジュールBのニューラルネットワークは、知らない物体によって混乱されるべきではない。従来のニューラルネットワークは、入力にラベル付きの物体を通常包含する所定のデータセットを標的としているため、結果として、知っている物体が存在しない場合、入力に対処する必要がない。したがって、このようなネットワークをL-DNNのモジュールBで使用するには、「何も知らない」というさらなる特別カテゴリをネットワークへ追加して、知らない物体を知っていると間違って分類するモジュールBの試み(偽陽性)を軽減するべきである。
【0053】
この「何も知らない」という概念は、以前には見られなかったラベル付けされていない物体を(もっぱら)包含しうる、生の感覚ストリームを処理するときに特に有用である。これによって、モジュールBおよびL-DNNは、潜在的に、知らない物体を誤って知っている物体と識別する代わりに、知らない物体を「何も知らない」または「以前に見ていない(not previously seen)」と識別することが可能になる。「何も知らない」という実装で従来の設計を拡張することは、バイアスノードをネットワークへ追加することと同じくらい単純であり得る。「何も知らない」はまた、既知の物体クラスの数およびそれらが対応する活性化によって、自動的に影響を増減させるL-DNNのバージョンで実装できる。L-DNNシステムが、その入力を知っている何かとして認識しないたびに、ユーザに警告する「何も知らない」の分類に応答して、異常フラグ118を提起することができるため、異常検出アプリケーションには「何も知らない」が非常に有用である。
【0054】
L-DNNの詳細については、参照によりすべての目的のため本明細書に組み込まれる、「Systems and Methods to Enable Continual,Memory-Bounded Learning in Artificial Intelligence and Deep Learning Continuously Operating Applications Across Compute Edges」と題する米国特許付与前公開第2018/0330238A1号、および「Systems and Methods for Deep Neural Networks on Device Learning (Online and Offline) with and without Supervision」と題するPCT公開第WO2019/226670号を参照されたい。
【0055】
<L-DNNプラットフォームを使用した工業検査および監視>
図2は、工場のフロアで目視検査を可能にすることができるシステムの例として、L-DNN技術に基づく、目視検査自動化(VIA)プラットフォーム200を示す。VIAプラットフォーム200は、ユーザがL-DNNシステムを構成、訓練、導入、およびさらに洗練することを可能にするグラフィカルユーザインターフェース(GUI)を有する一つ以上のプロセッサ上で実行されるソフトウェアを含む。VIAプラットフォーム200は、初期設定および訓練のために、ラップトップ201上または産業用PC202に接続されたコンピュータ上で実行されるローカル産業用PC(ローカルサーバ)202およびL-DNN訓練(例えば、ブレインビルダ)ソフトウェアを含む。VIAシステム200はまた、エッジコンピュータ204を含む。各エッジコンピュータ204は、対応するカメラ208、または対応するノード209を形成するために評価または検査のためにデータを収集するマイク、カウンタ、タイマ、もしくは圧力センサなどの他のセンサに結合される。各ノード209は、異なるタイプのセンサを含んでもよく、そのセンサによって取得された正常および異常なデータを認識するように訓練されたL-DNNを実装してもよい。
【0056】
VIAシステム200は、スイッチ206を介して、プログラム可能論理コントローラ(PLC)210、I/OおよびModbus TCPなどの標準インターフェースを使用して、産業機械または製造ラインに統合され、一つ以上のヒューマンマシンインターフェース(HMI)212を含み得る。図2では、HMI212はPLC210に接続される。顧客定義の論理は、PLC210および/またはHMI212に実装され、VIAシステム200の出力から生じる任意の行動を実施する。例えば、VIAシステム200が製品のインスタンスを異常なものとして認識する場合、PLC210は、このインスタンスを生産ラインから自動除去するトリガとなることができる。
【0057】
ラップトップ201上で実行されるローカルサーバ202およびL-DNN訓練ソフトウェアは、ブレインをエッジコンピュータ204に構築および展開する。エッジコンピュータ204は、訓練されたブレインを使用するソフトウェア(インスペクタと呼ばれる)を実行し、これは、カメラ208および/または他のセンサからのデータを処理するために、訓練されたL-DNNを表すパラメータセット(例えば、ニューラルネットワーク重み)を考えることができる。ブレインが導入されると、これらを使用して、工場内で製造、ソート、および/または梱包されている部品またはその他の物体の異常を認識して特定することができる。また、それらは、互いに通信し、ネットワークスイッチ206(例えば、その全体が参照により本明細書に組み込まれる、米国特許付与前公開第2018/0330238A1号に開示されている)を介して、新たに検出されたタイプの異常の情報を共有することもできる。
【0058】
動作中、図2のL-DNNベースのVIAシステム200は、生産工程のタクトタイムによって決定される同期された様式で、構成要素、サブアセンブリ、および/または最終製品を検査できる。タクトタイムは、部品を製造する時間を、その時間間隔で要求される部品数で割ったものである。推論上、要求が1時間で60個の部品に対するものである場合、タクトタイムは1分である。L-DNN推論時間(L-DNNが画像を正常または異常に分類するためにかかる時間)は、このタクトタイムよりも短くなければならない。
【0059】
図2では、VIAシステム200は、検査ラインまたは生産ライン220のコンベヤベルト上のカメラ208を通過して移動する、正常な物体21ならびに異常な物体23および25を検査する。カメラ208は、物体の静止画像またはビデオ画像を取得し、ネットワークスイッチ206を介して、それぞれのL-DNNを実装するそれぞれのエッジコンピュータ204に送信する。これらのL-DNNは、正常な物体21を認識するように訓練されるが、異常な物体23または25は認識されない。L-DNNが、正常な物体21の画像と共に提示されるとき、画像は、正常な物体21の画像(例えば、「良好な」画像)として分類される。L-DNNが、逸脱したまたは異常な物体23または25の画像で提示されるとき、画像は逸脱したまたは異常な物体であることを示す。
【0060】
L-DNNは、任意の種類の物体の画像を認識するように、またはスペクトルデータ、オーディオデータ、もしくは他の電気信号を含む他のタイプのデータのパターンを認識するように訓練され得る。例えば、L-DNNは、パンまたは他の加工食品を、焼成プロセスの異なる地点で認識するように訓練され得る。第一のカメラ208は、例えば、パンが適切に充填され、表面が正しい(例えば、気泡対気泡なし)ことを確実にするため、パンが適切に焼かれ、かつ確実に証明するように、パンが焼かれる前にかたまりを撮像するように、位置付けられてもよい。第二のカメラ208は、オーブンから出てくるときに、例えば、オーブンを通って走るコンベヤベルト上で、パンを撮像し得る。第二のカメラ208に結合されたエッジコンピュータ204上のL-DNNは、焼かれたパンの画像を色(焼き加減を判定するため)、上部に振りかけられた材料(例えば、チョコレートチップ、ケシの実、ゴマの実など)の分布、および形状について検査し得る。
【0061】
L-DNNは、従来のコンピュータビジョンシステムでは効果的に実施できない、このような主に主観的な検査に特に適している。また、起こり得るタイプの異常はほぼ無限であるため、従来の深層学習ネットワークを訓練してそれらすべてを認識させることは、困難または不可能であり得る。手作業による検査は時間がかかるため、通常、いくつかのパンが必要である。それでは、一貫性がなく、所望の均一性に達することが困難であり得る。対照的に、VIAシステムは、すべてのかたまりを自動的に検査し、より高い歩留まり、より優れた一貫性、および廃棄物の低減をもたらし、それらを認識するように訓練されることなく、異常を識別することができる。
【0062】
図2のVIAシステム200はまた、射出成形プラスチック部品を含む、異なる製造品を検査するように構成されてもよい。プラスチック成形部品は、家電製品から自動車まで、およびそれ以外にさまざまな製造品に使用されている。プラスチック成形部品を製造している契約製造業者は、顧客にバルクで送付する前に、部品を成形およびバリ取りする場合がある。従来、人は、これらの部品の断片、例えば、プラスチック成形部品10個毎に1個を検査することができる。しかし、これは、一般的に良好な部品を送っていることを保証することに過ぎない。顧客は組立で使用する前に、すべての部品を手動で検査する。
【0063】
組立ラインに設置されたGigEカメラ208は、バリ取り後に部品を撮像する。カメラ208は、直接またはネットワークスイッチ206を介して、画像をエッジコンピュータ204に送信する。エッジコンピュータ204上で実行されるL-DNNは、正常(適切に成形され、バリ取りされた)か、または異常(適切に成形されていない、および/またはバリ取りされていない)かのいずれかとして画像を映し出す部品を分類する。部品が異常である場合、エッジコンピュータ204は、ゲートウェイ(例えば、Modbus TCPからOPC統合アーキテクチャ)を介して、PLCへのコンベヤベルト上のスイッチ(図示せず)をトリガして、欠陥部品を示し、それらをラインから除去し得る。人のオペレータは、欠陥部品を検査し、廃棄する部品と再加工する部品を判定し得る。
【0064】
L-DNNベースのVIAシステム200は、例えば、プロトタイプまたはわずかな数量のために、部品のタイプが頻繁に変更される組立ライン上で行われる射出成形部品の検査に特に好適である。これは、L-DNNを、新しい部品を認識するように、小さな訓練セット上で、迅速に訓練することができるためである。さらに、L-DNNは、非定型または異常な部品に、事前にそれらを認識しておくことなく、フラグを立てることができる。
【0065】
L-DNNベースのVIAシステム200を使用して、連続データおよび/または1Dデータを監視してもよい。例えば、VIAシステムは、特定の部品または構成要素が摩耗しているか、または維持もしくは交換されるべきであることを示すか、または示唆するパターンについて、連続もしくはサンプルの温度、歪み、または振動データを監視できる。特徴抽出器は、1D振動センサデータの高速フーリエ変換またはウェーブレット変換を取り込み、分類器による分析のためにそのデータから異なるスペクトル成分またはウェーブレットを抽出してもよく、この分類器は、特定のスペクトルまたはウェーブレット分布を、正常および他のスペクトルまたはウェーブレット分布を、異常または変則的なものとして認識する。異常なスペクトルまたはウェーブレット分布の検出に応答して、分類器は、ヒトの介入に対するメンテナンス警報を設定する。
【0066】
<VIAシステム導入のためのL-DNNの訓練>
従来の深層学習ネットワークとは異なり、L-DNNは、小さな不均衡なデータセット上で迅速に訓練することができる。さらに、L-DNNは、より低速の逆伝播を通して学習する従来の深層学習ネットワークとは異なり、以前に学習した物体を認識する方法を忘れることなく、新しい物体を迅速に認識することを学ぶことができる。従来の深層学習ネットワークはまた、壊滅的な忘れ、または認識するように訓練された物体の認識の欠如を受けやすい。これにより、新規または異なる物体を検査するための深層学習ネットワーク検査よりも、L-DNN検査システムを再構成するのを容易かつ迅速にする。
【0067】
図3A~3Cは、ユーザの相互作用の三つの段階に分解される、図2のVIAプラットフォームシステム200の例示的なワークフローを示す。このワークフローは、ブレイン(訓練されたL-DNN)をエッジコンピュータ204に構築および導入するためのプロセスである。図2に示すハードウェア設定の大量生産に時間と労力を投資する前に、ユーザは、VIAシステム200のブレインビルダーコンポーネントを使用して、計画されたシステムをプロトタイピングし、その実現可能性を「プロトタイプおよび証明」段階300で証明すべきである。図3Aに示すこの段階300は、ローカルコンピュータ202および/またはローカルサーバ204を使用して、プロトタイプのブレインを作成および導入することを含み、以下のステップを含む。
【0068】
「プロトタイプおよび証明」段階300の第一のステップ302では、人は、カメラおよび/または他のセンサを設定して、組立ライン/生産環境の生データを取得する。カメラで画像データを取得するとき、人は、画像キャプチャ環境を設定して、カメラ208(図2)によってキャプチャされた画像の適切な照明、焦点、および品質を確実にする。環境パラメータが設定されると、ローカルコンピュータ202および/またはローカルサーバ204は、カメラ208および/または他のセンサから直接画像または他のデータを収集できる。例えば、これらの画像は、多くの生産ラインを有する工場の単一の生産ラインを監視するカメラからのものであってもよい。
【0069】
ローカルコンピュータ202および/またはローカルサーバ204上で実行されるブレインビルダ訓練ソフトウェアは、データを収集する際に予測の形態でフィードバックを作り出し、L-DNNの学習進捗およびユースケースの成功確率をユーザに通知する。それは、L-DNNのヘッドを訓練する(バックボーンまたは特徴抽出器は事前に訓練することができる)。ユーザが予測の一貫性(例えば、約10個の「正常な」画像が収集された後)を見ると、L-DNN、「ブレイン」とも呼ばれる、がどの程度良好に学習しているかを評価し分析できる(ステップ304)。この時点で、ユーザは、正常な物体および/または異常な物体の画像に対してブレインを試験し(ステップ306)、それに応じて訓練パラメータを調整できる。ユーザはまた、任意選択で、関心領域(後述)(308)、再訓練(310)を適用するためにトレーニングワークスペースを使用し、および/または所望によりより多くの検査(306)でブレインの再評価(304)を行うことができる。
【0070】
ブレインが許容可能な検査結果を採点すると、ワークフローは、訓練、微調整および導入段階320に進むことができる。(「プロトタイプおよび証明」段階300は、概念実証のためだけのものであってもよく、そのため、この段階320における最初の訓練であってよい。)この段階320は、ブレイン(L-DNN)を作成すること、訓練すること、およびエッジコンピュータ204へ導入することを伴う。まず、ユーザは、「プロトタイプおよび証明」段階300と同じライブビューおよび収集機能302を利用して、より大きく、より広範な正常/良好な画像のデータセットを収集する。これらの画像は自動的に良好/正常として注釈付けされ、収集時に訓練データセットに追加される。プロトタイプのシナリオが実際のシナリオと同じか、または同様の場合、ブレインビルダは、プロトタイプ作成セッションに基づいて、画像に自動的に注釈を付けることができる(また、ほとんどが正しい可能性がある)(人の監督により、追加の確実性が提供され得る)。
【0071】
適切なデータが収集されると、ユーザは、訓練されたL-DNNを評価し(322)、試験することができる。これを行うために、ユーザは、試験するために使用される検証セットに利用可能な「異常」の例を追加し、検証セット上でL-DNNを実行して精度スコアを取得してもよい。次いで、ユーザは、有効性閾値に関連する任意のパラメータを調整し、ブレインの導入326の前に、エンドポイントに対して最適化324を実行することができる。有効性閾値は、正常とみなされるものと、異常とみなされるものとの間の距離である。有効性閾値スライダにより、ユーザが、物体が正常から逸脱している特定の点を十分に調整して、異常とみなされるようにできる。
【0072】
訓練は比較的迅速であってよい。ある現実のシナリオでは、モジュールAは、モジュールB(分類器)による分類のために1Dベクトルから特徴を抽出し、これはリアルタイムの一定の監視のための感覚読取り値の異常な変化を検出した。モジュールA(特徴抽出器)は、高速フーリエ変換を使用して、時間領域からスペクトル領域への単一のセンサからの1D時系列データを変換した。分類のために、結果として得られたスペクトルをモジュールBに供給し、正常動作の100個の例についての訓練および正常動作の100個の例についての予測、異常を正常動作(偽陽性)と分類する二つの事例を作り出した100個の異常な例、および正常動作が異常(偽陰性)と分類された8つの事例が生成された。本トライアルにおけるその他の例は正しく分類された。モジュールBには、ユーザがユーザ基本設定に一致するように偽陽性と偽陰性の間のバランスを微調整することを可能にする、優勢パラメータ(以下で論じられる)がある。
【0073】
L-DNNは、従来の深層学習ネットワークよりも数千少ないサンプルで訓練することができる。一つの事例では、L-DNNは、クラス当たり5つのサンプルに対して、クラス当たり10,000個のサンプルで、同等の従来の深層学習ネットワークに対して訓練された。平均して、L-DNNは、クラス当たり20~50個のサンプルについて訓練することができる。より一般的には、100個以下の正常サンプル(例えば、100、90、80、70、60、50、40、30、20、10、5、または一つの正常画像)は、L-DNNのヘッドを訓練するのに十分であり得る。物体、照明、およびカメラ角度が画像間で同一であると考えられる、製造検査で見出されるような制限された条件では、L-DNNは、クラス当たりわずか一つのサンプルで訓練され得る。
【0074】
最後の段階である推論挙動、レシピおよびワークフローの段階340では、L-DNNシステム(ブレイン)を品質管理システムの行動に接続する。ユーザが精度の目標を達成したら、推論挙動と呼ばれる行動を、物体が正常または異常であると推定する(342)訓練されたL-DNNによる推論に割り当てる。例えば、推論挙動は、PLC210を介してピンをトリガすることによって、異常な(欠陥のある)部品を組立ラインから除去することであってもよい。一般的に、推論は、L-DNN/VIAシステム200による異常の検出に応答して、正常の部品/動作条件または是正措置(例えば、PLC210を介してピンをトリガすることによって、警告メンテナンス、機械の停止、または部品/パッケージを検査ラインから押し出す)に対する行動を含まなくてもよい。推論挙動は、レシピ(344)を介して計算ノード209に割り当てることができ、これは、HMI212を介して選択および実行できる。
【0075】
図4は、プロジェクト400、データセット、推論挙動410、レシピ420、およびブレイン(訓練されたL-DNN)の使用の間の関係を示す。プロジェクト400は、モデル(ブレイン)404を訓練するために使用される、正常な物体の画像などのサンプルデータを含み得る、データセット402のグループを有する。ブレインのコピーまたはバージョンは、エンドポイント(例えば、アプリケーションプログラミングインターフェース(API)を介してアクセス可能なエッジコンピュータ204)に導入される。各ブレインバージョン404(ブレインv.X)は、推論挙動410と関連付けられる。推論挙動410、または単に挙動は、PLC210と通信するために使用される入力/出力トランスミッタ212内の一つ以上の認識された物体ならびに異常な物体の一つ以上のクラスと一つ以上のピンとの間の関係を割り当てることによって生成される、ブレインバージョン404に割り当てられる一つ以上の行動のグループである。ブレインバージョンが特定のクラスの物体を認識するか、または異常な物体にフラグを立てるとき、対応するエッジノード204は、HMI212を作動させ、PLC210に、欠陥部品の自動的な経路変更、警報のトリガ、または生産ラインの停止など、生産ライン220上または生産ライン220による処理(例えば、異常な部品を除く)を生じさせる。
【0076】
レシピ420は、一つ以上のノード209(例えば、図4のノード209-1および209-2)に割り当てられた挙動410の収集または連続である。ユーザは、異なる計算ノード209によって実行される挙動410の連続を定義することによってレシピ420を作成することができ、その各々は、そのブレインを相関させる一つの挙動を割り当てられている。追加のワークフローを設定して、推論画像をレビューのために保存し、訓練データに送信できる。
【0077】
<工業用目視検査用マルチヘッドL-DNN>
単一の画像において、多数のカメラまたは多数の関心領域(ROI)からの画像を検査する際の推論時間を低減するために、L-DNNは、複数のモジュールB(分類器またはヘッド)を供給する、事前訓練された低速学習バックボーンを有する、単一のモジュールAを有するマルチヘッドL-DNNとして実装することができる。マルチヘッドL-DNNは、単一の組立、検査、または生産ラインにおける複数の検査点からの画像および/または単一の画像における複数のROIを分析することができる。シングルヘッドL-DNNと同様に、マルチヘッドL-DNNは、音声データおよび計量器、温度計、カウンタ、ならびに他のセンサからの信号を含む、他のタイプのデータで動作するように訓練されてもよい。
【0078】
マルチヘッドL-DNNは、データの特徴が感覚領域内で一貫しているという事実を生かす。例えば、画像は、縁、角、色の変化などを示し得る。同様に、同じ環境で異なるマイクで捕捉された音響情報は、音源に関係なく、相関周波数および振幅に基づいて特徴に分解され得る。したがって、同じ領域に対して複数のモジュールAを訓練する必要はない。なぜなら、それらはすべて質的に類似した特徴ベクトルを作り出すからである。領域ごとに(時には精度または速度要件ごとに)単一のモジュールAは、各センサに対して一つのモジュールBによって処理するための特徴を抽出することができる。モジュールAの処理時間がL-DNNの総処理時間の75%以上を構成することを考えると、マルチヘッドL-DNNは、各領域内に複数のセンサを有する検査システムに対して大幅な処理コスト削減を可能にする。
【0079】
画像が、異なる検査点の異なるカメラから来ている場合でも、それらはすべて、特徴抽出のために同じモジュールAを通して処理され、その後、分類および最終分析のために異なるモジュールBに進むことができる。マルチヘッドL-DNNは、AI待ち時間の低減、データ転送およびネットワークトラフィックの低減、メモリ使用量の低減、データのプライバシおよび保護の強化、柔軟な運用、未知の物体クラスの取り扱い能力など、L-DNNのすべての利点を継承する。
【0080】
マルチヘッドL-DNNは、以下の利益または利点をシングルヘッドL-DNNに追加する。第一に、マルチヘッドL-DNNは、複数のカメラに接続された単一の計算ホストを有する複数の検査点をサポートできる。第二に、マルチヘッドL-DNNは、より広角のレンズを有する単一の高解像度カメラに接続された単一の計算ホストを有する単一の画像において、多数の検査点(ROI)をサポートできる。第三に、マルチヘッドL-DNNは、同じデータ(画像)入力上で複数のモデルを並列に実行することができる(例えば、配向を予測する一モデル、製品のバリアントを予測するモデル、および欠陥を識別するモデル)。これらのマルチヘッドL-DNNは、AIを用いて複雑な目視検査作業を実施するために必要な計算およびカメラハードウェアのコストを低減するが、推論待ち時間はタクトタイムの範囲内である。
【0081】
図5Aは、エッジコンピュータ204(図2)などの、リアルタイムに動作する機械500上で実行されるマルチヘッドL-DNN506を示す。マルチヘッドL-DNN506は、元のDNN510から作成された単一のモジュールA502を含む。モジュールA502は、バックボーンとも呼ばれる積層ニューラルネットワーク層512を含み、特徴読み取り層514で終わる。一つ以上のプーリング層および完全接続層516および費用層518などのDNN510の残りの部分を使用して、バックボーン512を事前訓練する。それらは、L-DNN運用の間は参加しない。バックボーン502は、GigEカメラ208などの一つ以上のセンサ530または図1に対して上方に記載される他のデバイスからの入力データ501から特徴515を抽出するように訓練される。
【0082】
モジュールA502のバックボーン512は、抽出された特徴をいくつかのヘッド504(モジュールB)に送信し、各ヘッドは、異なる特徴を認識するために異なるデータセットで訓練される。単一ヘッドL-DNNのモジュールBと同様に、各ヘッド504は、一つ以上の連想層522のセット内のその入力層520の信号と、その出力層524の信号との間の関連付けを形成することによって、これらの物体表現または特徴セット515を迅速に学習する。各ヘッド504は、上述のように、教師ありモードまたは教師なしモードで動作し、入力データが予期される(正常)か、または予期されない(異常)かを示す推論531を出力することができる。バックボーン512とヘッド504のそれぞれの組み合わせは、ネットワークと呼ばれ、マルチヘッドL-DNNは、複数のネットワーク上で同時に効果的に推論を行う。各ヘッド504が、異なる特徴のセットを認識するように訓練される場合、マルチヘッドL-DNN506は、これらの検査点のそれぞれについて訓練された特定の完全なDNNを必要とすることなく、複数の検査点からの入力を処理できる。
【0083】
図5Bは、三つの計算プラットフォーム上で実行されるマルチヘッドL-DNNの推定速度を1秒当たりのフレーム数で示している。IntelのOpenVINO、NvidiaのTensorRT、およびNeuralaのカスタムソフトウェア開発キット(SDK)。三つのすべての場合において、ヘッド数に対する推論速度の劣線形減少がある。二つのヘッドについては、図5Bは、二つのシングルヘッドL-DNNが同じデータ上で順次実行されるのに比べて、TensorRTでは30%の速度向上、Neurala SDKでは25%の速度向上、OpenVINOでは約20%の速度向上を示す。8つのヘッドでは、8つのシングルヘッドL-DNNは同じデータ上で順次実行されるのに比べて、TensorRTおよびNeurala SDKの速度向上は55%に、OpenVINOの速度向上は約40%に上昇する。
【0084】
図6Aは、エッジコンピュータ604上で実行され、生産ライン620上で物体21、23、および25の目視検査を行うように構成される、マルチヘッドL-DNN506を有するVIAプラットフォーム600を示す。システム600は、エッジコンピュータ604に結合された複数の入力ソース(ここでは、カメラ608-1から608-3)を含む。各入力ソース(カメラ608)は、生産ライン620の各タクト上に対応する入力アレイ(画像)611-1から611-3を作り出す。これらの画像611は一緒にバッチされ、マルチヘッドL-DNN506のDNNバックボーン510に供給される。バッチプロセスの間、エッジコンピュータ604は、入力アレイがすべて同じサイズであるように、入力アレイのサイズ変更またはパッド付けをし得る。これにより、現代のDNNフレームワークがバッチ全体を並列に処理することができ、マルチヘッドL-DNN506の処理速度を増大させる。バックボーン112は、特徴ベクトル621-1から621-3のバッチを出力する。このバッチは、個々の特徴ベクトルに分割され、その各々が対応するモジュールBヘッド504-1から504-3に供給される。モジュールB504は、計算上軽量であり、エッジコンピュータ604を含むモジュールA502を実行するのに十分強力な任意のシステム上で並列に実行できる。ヘッド504は、物体21、23、および25が、生産パイプラインの各タクトの各入力(カメラまたはROI)に対して良好であるか、または良好か良好でないか(異常)に関する特徴521に基づいて、推論531-1から531-3、または予測を生成する。
【0085】
マルチヘッドL-DNN506に適したタイプのヘッド504(モジュールB)には、参照により本明細書に組み込まれる、米国特許付与前公開第2018/0330238A1号に記載される、高速学習L-DNN分類ヘッド、上述のように、異常認識高速学習L-DNNヘッド、従来のDNNまたは転移学習ベースのDNNにおける逆伝播ベースの分類ヘッドと、L-DNN高速学習または従来の逆伝播学習に完全または部分的に基づいた検出ヘッドまたはセグメンテーションヘッドが含まれるが、これらに限定されない。単一マルチヘッドL-DNN506のヘッドは、同一のモジュールAを使用してすべてが訓練されている限り、均質(同じタイプ)または異種(異なるタイプ)であり得る。
【0086】
図6Bおよび6Cは、異なる構成要素を検査するマルチヘッドL-DNN VIAシステム用のインターフェースを示す。これらのインターフェースは、ラップトップ201、HMI212、または別のコンピュータもしくはエッジコンピュータ208に動作可能に結合されたディスプレイのディスプレイ上にレンダリングすることができる。オペレータは、これらのインターフェースを使用して、VIAシステムの性能を監視し、VIAシステムによって設定された警報に応答し、また、教師付き学習モードで、VIAシステムによってフラグされた異常をラベル付けまたは分類することができる。これにより、オペレータは、VIAシステムを、その場で、以前には見られなかった異常を認識および分類する方法を教示することができる。
【0087】
図6Bで、インターフェースは、5つの異なるROIを有するプリント回路基板(PCB)の画像を示し、その各々が、異なる構成要素を含む。単一のカメラは、PCB全体を高解像度で撮像する。次に、各ROIを元の画像から切り出し、5つのROIを同じサイズにサイズ変更し、まとめてバッチ処理し、並列処理するためにバックボーンに供給する。5つの異なるヘッドは、5つのROIに対応するそれぞれの特徴を評価し、画像に応じて正常または異常な推定を返す。図6Cでは、インターフェースは、キットの異なる部分(ラベル付きROI(1)から(5))の写真を特徴付ける。部品の画像は、一度に一つのカメラによって、同時にまたは異なる時間に動作する5つの別個のカメラによって、または1~5台のカメラのグループによって、収集され得る。バックボーンは、一緒にバッチされた5つの画像から特徴を抽出し、対応する抽出された特徴を5つの対応するヘッドに送信する。このヘッドは、並列でより速いスループットのそれぞれのROIを評価するのに十分軽量である。
【0088】
マルチヘッドL-DNNは、プロトタイプ、カスタム作業、および小容量、すなわち、L-DNNを小さなデータセット上で迅速に訓練できる状況に特に有用である。目視検査は、表面欠陥、不良な溶接、およびピンの曲がりにフラグを立てることができ、従来の機能試験を置き換えるか、または補完することができる。入手可能な十分な欠陥部品がある場合、またはヘッドが教師ありモードで動作する場合、L-DNNは、不完全または欠落したはんだトレースもしくは不適切に配向されたコンポーネントを含む、故障または欠陥のタイプを分類するように訓練されることもできる。
【0089】
マルチヘッドL-DNNベースのVIAシステムも、自動車組立ライン上にカスタマイズされた特徴を有する車両を組み立てるためのキットを検査できる。これは、各組立が異なる部品を有してもよい、自動車製造においてより一般的になりつつある、任意の複雑な組立プロセスを用いて行うことができる。キッティングはカスタマイズが可能で、多くの小さな部品が一つの組立で使用される際に使用され得る。同時に、ライン上の複雑さを低減し、材料取り扱いの効率を改善する。キッティングは、間違った部品がラインサイドでピックアップされ使用される可能性も低減し、オペレータが組立を完了するために必要な材料を確実に持つようにする。
【0090】
キッティングプロセスの自動化が進んでいるが、最も一般的な慣行として、人にキットを作成させる。キットのフォームファクタは、部品のタイプによって異なり得るが、通常は箱またはラックである。キットは多くの場合、各タイプの部品が各キットの同じ場所にあるように取り付けられる。最低限の検査しか実施されない。プロセスは、エラーを低減または最小化するために(例えば、ピッキング順序、ピッキングライトの使用、およびコンピュータ制御システム)しばしば作成されるが、キットが作成された後に、正しい部品がキットに入っていることを確実にする検査は、多くの場合存在しない。部品は、キッティングオペレーターによって正しく選択され、適切なビンに置かれているものと仮定される。これにより、誤った部品が使用されているか、または生産性に影響する可能性があるオペレータが組立ライン上に正しい部品を保有していないことにつながり得る。
【0091】
キットは、各キットが独自の異常モデルを有する、シングルヘッドL-DNNを実行するVIAシステムによって検査することができる。オペレータは、キッティング容器のバーコードをスキャンして、どのキット用の部品を引き出しているかをシステムに伝え、どのキットが構築されていてどの部品が要求されているかをバーコードが示す。部品がキット内にない場合、または誤った部品がキット内に配置されている場合、VIAシステムは異常を検出し、作業をチェックするようオペレータに指示するために、ISPを通じてModbus TCPを介してHMIにエラーメッセージを送信する。
【0092】
シングルヘッドL-DNN実装に構築して、マルチヘッドL-DNN VIAシステムは、複数のROIを使用してモデル構築を簡略化し、より有益な品質指標を提供できる。キッティング固定具の各領域は、それ自身の関心領域とすることができ、各部品がそれ自身のROIを有することを意味する。これにより、モデル構築が簡素化され、各ヘッドは、可能性のある各パーツバリアントに対する異なるROIを評価するために訓練される。各キットのモデルを構築する必要はなく(必要な訓練の量を減らす)、各モデルで関連部品を選択することで、キットを構成することができる。さらに、キットが不正確であることを示すだけでなく、マルチROI検査を使用して、VIAは、どの部品が不正確であるか(存在する場合)を識別することができる。これにより、品質検査が向上し、歩留まりが向上し、再加工が減少する。
【0093】
同様に、マルチヘッドL-DNNを使用して、梱包されたケースを検査することができる。段ボール箱に缶を入れてから、包装された密閉型段ボール箱を収縮包装することを含む、さまざまなタイプのケース梱包がある。これらのケース梱包は、ペットフード、缶詰野菜、缶詰スープなどに使用されることが多い。この包装は、輸送用(例えば、缶を開梱して棚に置く食料品店への)または顧客へのユニットとしての販売用(例えば、倉庫内で、バルク購入のために)にのみ使用され得る。それぞれが異なるROIとして扱われ、へこみなどを検査することができる。別の方法として、マルチヘッドL-DNNの異なるヘッドは、すべて同じ画像または画像のセットから、収縮包装が破れているか、缶の形状(膨らみまたは凹みなし)、包装の折り畳まれた形などを含む、包装されたケースの画像の異なる態様を評価するために訓練され得る。
【0094】
<優勢パラメータ:偽陽性/偽陰性異常検出閾値>
L-DNNが、どのように正確に異常を識別するかは、部分的に、ユーザによって調整され得る優勢パラメータに依存する。L-DNNヘッド(モジュールB)は、この優勢パラメータを使用して、L-DNNバックボーン(モジュールA)によって抽出された特徴ベクトルが、既知の(良好な)物体の特定の表現とどの程度よく合致するかを判定する。これは、抽出された特徴が、他のすべての表現に対して、この特定の表現にどれだけ近いかを判定することによって、これを行う。優勢値10は、特定のクラスの例として受け入れられるためには、入力の特徴が、任意の他のクラスのプロトタイプよりも、このクラスのプロトタイプに10倍近似しているべきであることを意味する。この条件が満たされていない場合、入力は異常として認識される。優勢パラメータが小さすぎる場合、L-DNNは、より多くの偽陽性を報告してもよく、すなわち、より多くの異常を正常な物体(表1の上部)として報告する。また、優勢パラメータが大きすぎる場合、L-DNNは、より多くの偽陰性を報告することができ、すなわち、より多くの正常な物体を異常なものとして報告する(表1の下部)。オペレータは、システム性能に応答してこの優勢係数を変更することによって、偽陰性/偽陽性比を調整できる。
【0095】
以下の例は、優勢係数の変更がL-DNNの性能にどのように影響するかを示す。L-DNN優勢パラメータは、ユーザの選択に応じて、偽陽性または偽陰性を除去する方にシステムをバイアスするように調整することができる。ヒト支援品質管理システムでは、偽陰性(すなわち、存在しない異常を識別する)は、出力がとにかく人のレビューを通過するのでより許容性が高いが、偽陽性(失われた異常)は許容性が低い。人の教師なしの完全自動化異常検出システムの場合、ユーザはバランスを設定する選択肢を有する。
【0096】
これは、分類子優勢パラメータdの二つの異なる値について、いくつかのピースが除去、粉砕、または交換されたチュウインガムのパックを検査するパイロット研究の結果である。
【表1】
【0097】
表1では、優勢パラメータは、分類器の予測を、システムが予測を受け入れるための他のすべての可能な予測と比較する方法を記述する。一般的に、より高い優勢パラメータは、システムを非常に詳細にする。すべての“正常”値は真に正常であるが、異常な値にはいくつかの正常値が含まれ得る。より低い優勢パラメータでは、システムをあまり詳細にしない:すべての「異常な」値は真に異常であるが、正常値にはいくつかの異常な値が含まれ得る。ここで、パラメータdは、バランスを偽陽性(表1の上部、三つの異常を見逃した)から偽陰性(表1の下部、ただ一つの異常を見逃したが、三つの正常なケースを異常として分類した)へシフトさせる。
【0098】
<結論>
発明に関するさまざまな実施形態を本明細書に記述し、かつ例示してきたが、当業者は、本明細書に記載の機能を実施するための、ならびに/または結果および/もしくは利点の一つ以上を得るための、さまざまな他の手段および/または構造を容易に想定し、またこうした変形および/または修正のそれぞれは、本明細書に記載の発明に関する実施形態の範囲内であるものと見なされる。より一般的に、当業者は、本明細書に記載のすべてのパラメータ、寸法、材料、および構成が例示であることを意味することと、実際のパラメータ、寸法、材料、および/または構成が、本発明の教示が使用される特定の用途に依存することとを容易に理解するであろう。当業者は、本明細書に記載の特定の発明に関する実施形態の多くの同等物を、単に通常の実験を用いて認識し、または確認することができるであろう。従って、前述の実施形態は、例としてのみ提示されていて、添付の特許請求の範囲およびその均等物の範囲内で、発明に関する実施形態は、具体的に記述および特許請求される以外の形で実践されうることが理解される。本開示の発明に関する実施形態は、本明細書に記載の各個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。加えて、二つ以上のこうした特徴、システム、物品、材料、キット、および/または方法の任意の組み合わせは、こうした特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、本開示の発明の範囲内に含まれる。
【0099】
上記の実施形態は、多数の手段のいずれかで実施することができる。例えば、実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを使用して実施されてもよい。ソフトウェアに実装される場合、ソフトウェアコードは、単一のコンピュータに提供されるか、複数のコンピュータ間に分散されるかにかかわらず、任意の適切なプロセッサまたはプロセッサの集合で実行され得る。
【0100】
さらに、コンピュータが、ラック搭載型コンピュータ、デスクトップ型コンピュータ、ラップトップ型コンピュータ、またはタブレット型コンピュータなど、多数の形態のいずれかで具現化されうることは理解されるべきである。加えて、コンピュータは、概してコンピュータとみなされるデバイスではなく、パーソナルデジタルアシスタント(PDA)、スマートフォン、または任意の他の適切な携帯型もしくは固定型の電子デバイスを含む、適切な処理能力を有するデバイスの中に埋め込まれ得る。
【0101】
また、コンピュータは一つ以上の入力デバイスおよび出力デバイスを有し得る。これらのデバイスは、とりわけ、ユーザインターフェースを提示するために使用できる。ユーザインターフェースを提供するために使用できる出力デバイスの例には、プリンタまたは出力の視覚的表現のためのディスプレイ画面、およびスピーカまたは出力の可聴表現のための他の音声発生デバイスが挙げられる。ユーザインターフェースに使用できる入力デバイスの例には、キーボード、ならびにマウス、タッチパッド、およびデジタイザタブレットなどのポインティングデバイスが含まれる。別の例として、コンピュータは、音声認識によってまたは他の可聴フォーマットで、入力情報を受信してもよい。
【0102】
このようなコンピュータは、ローカルエリアネットワーク、またはエンタープライズネットワークなどの広域ネットワーク、およびインテリジェントネットワーク(IN)またはインターネットを含む、任意の適切な形態の一つまたは複数のネットワークによって相互接続されてもよい。このようなネットワークは、任意の適切な技術に基づいてもよく、任意の適切なプロトコルに従って動作してもよく、無線ネットワーク、有線ネットワーク、または光ファイバーネットワークを含んでもよい。
【0103】
本明細書に概説するさまざまな方法またはプロセスは、さまざまなオペレーティングシステムまたはプラットフォームのうちのいずれか一つを用いる、一つ以上のプロセッサ上で実行可能なソフトウェアとしてコード化されてもよい。加えて、このようなソフトウェアは、多数の適切なプログラミング言語および/またはプログラミングもしくはスクリプトツールのうちのいずれかを使用して記述されてもよく、またフレームワークもしくは仮想マシン上で実行される、実行可能なマシン語コードまたは中間コードとしてコンパイルされてもよい。
【0104】
また、さまざまな発明に関する概念が、一つ以上の方法として具現化されてもよく、その例を提供してきた。方法の一部として行われる行為は、任意の好適なやり方で順序付けられてもよい。その結果、行為が例示するものとは異なる順序で実施される実施形態を構築してもよく、それは、例示的な実施形態に連続する行為として示されている場合であってさえも、一部の行為を同時に実施することを含んでもよい。
【0105】
本明細書で言及するすべての出版物、特許出願、特許、および他の参考文献は、参照によりそれらの全体が組み込まれる。
【0106】
本明細書で定義および使用されるすべての定義は、辞書定義、参照により組み込まれる文書の定義、および/または定義された用語の通常の意味にわたって統制するものと理解されるべきである。
【0107】
本明細書および特許請求の範囲で使用する不定冠詞「a」および「an」は、明確にそうでないと示されない限り、「少なくとも一つ」を意味すると理解されるべきである。
【0108】
本明細書および特許請求の範囲で使用する「および/または」という語句は、結合された要素の「いずれかまたは両方」を意味し、すなわち一部の場合において接続的に存在し、他の場合において離接的に存在する要素を意味すると理解されるべきである。「および/または」で挙げられる複数の要素は、同じ様式、すなわち等位接続される要素のうちの「一つ以上」と解釈されるべきである。具体的に識別される要素に関連するかまたは関連しないかにかかわらず、「および/または」節によって具体的に識別される要素以外に、他の要素が随意に存在し得る。それゆえに、非限定的な例として、「Aおよび/またはB」への言及は、「含む」などの制限のない語法と連動して使われる時に、一実施形態においてAのみ(任意選択的にB以外の要素を含む)、別の実施形態においてBのみ(任意選択的にA以外の要素を含む)、さらに別の実施形態においてAとBの両方(任意選択的に他の要素を含む)などを指すことができる。
【0109】
本明細書および特許請求の範囲において使用する場合、「または」は、上で定義した「および/または」と同じ意味を有すると理解されるべきである。例えば、リスト内の項目を分離する時、「または」または「および/または」は包括的なもの、すなわち多数の要素または要素のリスト、および任意選択的にリストに無い追加の項目のうちの少なくとも一つを含むが、二つ以上も含むと解釈されるものとする。それとは反対であると明確に指示される用語、例えば「のうちの一つのみ」もしくは「のうちのまさに一つ」、または特許請求の範囲において使用する時の「から成る」などの用語のみ、多数のまたは列挙された要素のうちのまさに一つの要素を包含することを指す。概して、本明細書で使用する「または」という用語は、「いずれか」、「のうちの一つ」、「のうちの一つのみ」、または「のうちのまさに一つ」など、排他的な用語が先行する時に、排他的な選択肢(すなわち「両方ではなく一方または他方」)を示すとのみ解釈されるものとする。「から基本的に成る」は、特許請求の範囲で使用する場合、特許法の分野において使用される通常の意味を有するものとする。
【0110】
本明細書および特許請求の範囲で使用する場合、一つ以上の要素のリストに関連する「少なくとも一つ」という語句は、要素のリストの中の要素のいずれか一つ以上から選択される、少なくとも一つの要素を意味するが、要素のリスト内で具体的に列挙したありとあらゆる要素のうちの、少なくとも一つを必ずしも含むわけではなく、要素のリストのいかなる要素の組み合せも除外するものではないと理解されるべきである。またこの定義によって、「少なくとも一つ」という語句が指す、要素のリスト内で具体的に識別される以外の要素が、具体的に識別される要素に関連するかまたは関連しないかにかかわらず、任意に存在し得ることも許容される。それゆえに、非限定的な例として、「AおよびBのうちの少なくとも一つ」(または等価的に「AまたはBのうちの少なくとも一つ」、もしくは等価的に「Aおよび/またはBのうちの少なくとも一つ」)は、一実施形態においてBは存在せず、任意選択的に二つ以上のAを含む、少なくとも一つのA(任意選択的にB以外の要素を含む)、別の実施形態においてAは存在せず、任意選択的に二つ以上のBを含む、少なくとも一つのB(任意選択的にA以外の要素を含む)、また別の実施形態において任意選択的に二つ以上のAを含む、少なくとも一つのA、および任意選択的に二つ以上のBを含む、少なくとも一つのB(任意選択的に他の要素を含む)を指すことなどができる。
【0111】
特許請求の範囲、ならびに上記の明細書において、すべての移行句、例えば「含む(comprising)」、「含む(including)」、「持つ(carrying)」、「有する(having)」、「包含する(containing)」、「伴う(involving)」、「保つ(holding)」、「から構成される(composed of)」、およびこれに類するものは制限がないと理解され、すなわち含むがそれに限定はされないということを意味する。「から成る(consisting of)」および「から基本的に成る(consisting essentially of)」という移行句のみが、米国特許局の特許審査手続便覧、セクション2111.03に記載される、それぞれ閉鎖的または半閉鎖的な移行句であるものとする。
図1
図2
図3A
図3B
図3C
図4
図5A
図5B
図6A
図6B
図6C
【国際調査報告】