(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-01
(54)【発明の名称】マルチモデルアーキテクチャを使用する人工知能ビジュアル検査のためのシステム、方法、およびコンピュータデバイス
(51)【国際特許分類】
G06N 20/00 20190101AFI20240125BHJP
【FI】
G06N20/00 130
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023545244
(86)(22)【出願日】2022-01-25
(85)【翻訳文提出日】2023-08-07
(86)【国際出願番号】 CA2022050101
(87)【国際公開番号】W WO2022160041
(87)【国際公開日】2022-08-04
(32)【優先日】2021-01-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】522492244
【氏名又は名称】ムサシ エーアイ ノース アメリカ インコーポレイテッド
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ブフィ、マーティン
(57)【要約】
【解決手段】マルチモデルアーキテクチャを使用する自動化された人工知能ビジュアル検査のためのシステム、方法、およびコンピュータデバイスが提供される。コンピュータデバイスは、イメージデータを受け取るための通信インターフェースと、イメージデータ、第1ニューラルネットワークモデル、第2ニューラルネットワークモデル、および第2ニューラルネットワークモデルトリガ条件を保存するためのメモリと、メモリと通信しているプロセッサと、を含む。プロセッサは、第1ニューラルネットワークモデルを使用して、イメージデータについて第1オブジェクト検出タスクを実行することと、第1ニューラルネットワークモデル出力データをメモリに保存することと、第1ニューラルネットワークモデル出力データが第2モデルトリガ条件を満たすか否かを判定することと、第1ニューラルネットワークモデル出力データが第2モデルトリガ条件を満たす場合、第2ニューラルネットワークモデルを使用して、イメージデータについて第2オブジェクト検出タスクを実行することと、を実行するように構成される。
【選択図】
図3
【特許請求の範囲】
【請求項1】
マルチモデルアーキテクチャを使用する自動化された人工知能(AI)ビジュアル検査のためのシステムであって、
検査されているターゲットオブジェクトの検査イメージデータを取得するためのカメラデバイスと、
第2ニューラルネットワークモデルの使用をトリガするための第2モデルトリガ条件を保存するメモリと、
前記検査イメージにおける第1オブジェクトクラスを検出し、検出されたオブジェクトの第1リストを含む第1ニューラルネットワークモデル出力データを生成するように構成される第1ニューラルネットワークモデルを実行することと、
前記第1ニューラルネットワークモデル出力データが前記第2モデルトリガ条件を満たすか否かを判定するように構成されるモデルトリガ判定モジュールを実行することと、
前記第2モデルトリガ条件が満たされると、前記検査イメージにおける第2オブジェクトクラスを検出し、検出されたオブジェクトの第2リストを含む第2ニューラルネットワークモデル出力データを生成するように構成される前記第2ニューラルネットワークモデルを実行することと、
通信インターフェースを介して、前記第1ニューラルネットワークモデル出力データおよび生成される場合は前記第2ニューラルネットワークモデル出力データを含むニューラルネットワークモデル出力データをオペレータデバイスに送ることと、
を実行するように構成される、前記メモリと通信しているプロセッサと、
を備えるAIビジュアル検査デバイスと、
を備え、
前記オペレータデバイスは、前記受け取られたニューラルネットワークモデル出力データを表示するように構成されるシステム。
【請求項2】
マルチモデルアーキテクチャを使用する自動化された人工知能(AI)ビジュアル検査のためのシステムであって、
検査されているターゲットオブジェクトの検査イメージデータを取得するためのカメラデバイスと、
前記カメラデバイスから前記検査イメージデータを受け取るための通信インターフェースと、
前記検査イメージデータにおける第1オブジェクトクラスを検出するように構成される第1ニューラルネットワークモデル、前記検査イメージデータにおける第2オブジェクトクラスを検出するように構成される第2ニューラルネットワークモデル、および前記第2ニューラルネットワークモデルの使用をトリガするための第2モデルトリガ条件を保存するメモリと、
前記第1オブジェクト検出モデルへの入力として、前記検査イメージデータを提供することと、
前記第1ニューラルネットワークモデルを使用して、第1ニューラルネットワークモデル出力データを生成することを含む第1オブジェクト検出タスクを実行することと、
前記第1ニューラルネットワークモデル出力データを、検査イメージアノテーションデータとして前記メモリに保存することと、
前記第1ニューラルネットワークモデル出力データが前記第2モデルトリガ条件を満たすか否かを判定することと、
前記第1ニューラルネットワークモデル出力データが前記第2モデルトリガ条件を満たす場合、
前記第2ニューラルネットワークモデルへの入力として、前記検査イメージデータを提供することと、
前記第2ニューラルネットワークモデルを使用して、第2ニューラルネットワーク出力データを生成することを含む第2オブジェクト検出タスクを実行することと、
前記第2ニューラルネットワークモデル出力データを、前記検査イメージアノテーションデータのサブセットとして前記メモリに保存することと、
を実行するように構成される、前記メモリと通信しているプロセッサと、
を備えるAIビジュアル検査デバイスと、
を備え、
前記通信インターフェースは、前記検査イメージデータおよび前記検査イメージアノテーションデータを、表示のためにオペレータデバイスに送るように構成され、
前記オペレータデバイスは、前記検査イメージデータおよび検査イメージアノテーションデータを、アノテーションされた検査イメージとして表示するシステム。
【請求項3】
前記検査イメージアノテーションデータは、前記検査イメージデータのメタデータとして保存される、請求項2に記載のシステム。
【請求項4】
前記オペレータデバイスは、前記検査イメージアノテーションデータのいずれを表示すべきかを示すユーザからの入力データを受け取り、前記示された検査イメージアノテーションデータのみを前記アノテーションされた検査イメージにおいて表示するように構成される、請求項2に記載のシステム。
【請求項5】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトのオブジェクトクラスラベルを含み、前記第2モデルトリガ条件は、要求されたオブジェクトクラスラベルを含み、前記プロセッサは、前記検出されたオブジェクトの前記オブジェクトクラスラベルが、前記要求されたオブジェクトクラスラベルにマッチングするか否かを判定する、請求項2に記載のシステム。
【請求項6】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトのオブジェクト位置データを含み、前記第2モデルトリガ条件は、オブジェクト位置要求を含み、前記プロセッサは、前記検出されたオブジェクトの前記オブジェクト位置データが、前記オブジェクト位置要求を満たすか否かを判定する、請求項2に記載のシステム。
【請求項7】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトの信頼レベルを含み、前記第2モデルトリガ条件は、最低信頼レベルを満たすことを含み、前記プロセッサは、前記検出されたオブジェクトの前記信頼レベルが、前記最低信頼レベルを満たすか否かを判定する、請求項2に記載のシステム。
【請求項8】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトのオブジェクトサイズデータを含み、前記第2モデルトリガ条件は、最小オブジェクトサイズを満たすことを含み、前記プロセッサは、前記オブジェクトサイズデータが、前記最小オブジェクトサイズを満たすか否かを判定する、請求項2に記載のシステム。
【請求項9】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトの少なくとも二つの属性を記述するオブジェクト属性データを含む、請求項2に記載のシステム。
【請求項10】
前記少なくとも二つの属性は、オブジェクト位置、オブジェクトクラスラベル、オブジェクト信頼レベル、およびオブジェクトサイズの任意の二つ以上を含む、請求項9に記載のシステム。
【請求項11】
前記第2モデルトリガ条件は、前記検出されたオブジェクトの前記少なくとも二つの属性のそれぞれについての要求を含み、前記プロセッサは、前記オブジェクト属性データが、前記検出されたオブジェクトの前記少なくとも二つの属性のそれぞれについての要求を満たすか否かを判定するように更に構成される、請求項9に記載のシステム。
【請求項12】
前記第1ニューラルネットワーク出力データは、前記第2モデルトリガ条件が前記プロセッサによって使用されることを識別する識別子を含む、請求項2に記載のシステム。
【請求項13】
前記プロセッサは、前記識別子に基づいて、前記第2モデルトリガ条件が使用されることを判定する、請求項12に記載のシステム。
【請求項14】
前記第2モデルトリガ条件が使用されることを判定する際、前記プロセッサは、前記第1ニューラルネットワークモデル出力データが、前記第2モデルトリガ条件を満たすか否かを判定するために、前記識別子を使用して前記メモリから前記第2モデルトリガ条件を取り出す、請求項13に記載のシステム。
【請求項15】
前記識別子は、前記第1ニューラルネットワークモデルを識別するモデル識別データを備える、請求項12に記載のシステム。
【請求項16】
前記第2ニューラルネットワークモデルに提供される前記検査イメージデータは、前記第1ニューラルネットワークモデル出力データから判定される前記検査イメージデータのサブセットを備え、前記第2オブジェクト検出タスクは、前記検査イメージデータの前記サブセットを使用して実行される、請求項2に記載のシステム。
【請求項17】
前記プロセッサは、前記第2モデルトリガ条件が満たされると判定する時に、前記第1ニューラルネットワークモデル出力データに基づいて、前記第2ニューラルネットワークモデルを含む、前記プロセッサによって実行されるニューラルネットワークモデルのリストを生成するように更に構成される、請求項2に記載のシステム。
【請求項18】
前記プロセッサは、前記リストにおける前記ニューラルネットワークモデルのそれぞれを連続的に実行し、前記ニューラルネットワークモデルのそれぞれの実行は、少なくとも前記検査イメージデータのサブセットを、前記ニューラルネットワークモデルのそれぞれに提供することと、前記ニューラルネットワークモデルのそれぞれを使用してニューラルネットワークモデル出力データを生成することと、を含む、請求項17に記載のシステム。
【請求項19】
前記プロセッサは、前記メモリに保存された追加的なニューラルネットワークモデルのモデルトリガ条件を満たす、先に実行されたニューラルネットワークモデルによって生成されたニューラルネットワーク出力データに基づいて、前記プロセッサによって判定される、実行される前記追加的なニューラルネットワークモデルが含まれるように、前記リストを動的に更新するように更に構成される、請求項17に記載のシステム。
【請求項20】
実行される前記ニューラルネットワークモデルのリストは、それぞれが単一のニューラルネットワークモデルに対応する、実行される複数の別のニューラルネットワークモデルのリストを備える、請求項17に記載のシステム。
【請求項21】
前記オペレータデバイスは、前記第2モデルトリガ条件を設定する入力データを受け取るためのユーザインターフェースを生成するように構成され、前記第2モデルトリガ条件は、前記オペレータデバイスまたは前記AIビジュアル検査デバイスによって前記入力データに応じて生成される、請求項2に記載のシステム。
【請求項22】
マルチモデルアーキテクチャを使用する自動化された人工知能(AI)ビジュアル検査のコンピュータ利用方法であって、
検査イメージデータにおける第1オブジェクトクラスを検出するように構成される第1ニューラルネットワークモデルへの入力として、前記検査イメージデータを提供することと、
前記第1ニューラルネットワークモデルを使用して、第1ニューラルネットワークモデル出力データを生成することを含む第1オブジェクト検出タスクを実行することと、
前記第1ニューラルネットワークモデル出力データを、検査イメージアノテーションデータとしてメモリに保存することと、
前記第1ニューラルネットワークモデル出力データが、前記メモリに保存される第2モデルトリガ条件を満たすか否かを判定することと、
前記第1ニューラルネットワークモデル出力データが前記第2モデルトリガ条件を満たす場合、
前記検査イメージデータにおける第2オブジェクトクラスを検出するように構成される第2ニューラルネットワークモデルへの入力として、前記検査イメージデータを提供することと、
前記第2ニューラルネットワークモデルを使用して、第2ニューラルネットワーク出力データを生成することを含む第2オブジェクト検出タスクを実行することと、
前記第2ニューラルネットワーク出力データを、前記検査イメージアノテーションデータのサブセットとして前記メモリに保存することと、
を実行する方法。
【請求項23】
前記検査イメージデータおよび前記検査イメージアノテーションデータを使用して、アノテーションされた検査イメージを生成することを更に実行する、請求項22に記載の方法。
【請求項24】
前記アノテーションされた検査イメージをユーザインターフェースにおいて表示することを更に実行する、請求項23に記載の方法。
【請求項25】
マルチモデルアーキテクチャを使用して、オブジェクト検出を実行するためのコンピュータデバイスであって、
イメージデータを受け取るための通信インターフェースと、
前記イメージデータ、前記イメージデータにおける第1オブジェクトクラスを検出するように構成される第1ニューラルネットワークモデル、前記イメージデータにおける第2オブジェクトクラスを検出するように構成される第2ニューラルネットワークモデル、および第2ニューラルネットワークモデルトリガ条件を保存するためのメモリと、
第1ニューラルネットワークモデル出力データを生成するための前記第1ニューラルネットワークモデルを使用して、前記イメージデータについて第1オブジェクト検出タスクを実行することと、
前記第1ニューラルネットワークモデル出力データを、前記メモリに保存することと、
前記第1ニューラルネットワークモデル出力データが前記第2モデルトリガ条件を満たすか否かを判定することと、
前記第1ニューラルネットワークモデル出力データが前記第2モデルトリガ条件を満たす場合、
第2ニューラルネットワーク出力データを生成するための前記第2ニューラルネットワークモデルを使用して、前記イメージデータについて第2オブジェクト検出タスクを実行することと、
前記第2ニューラルネットワークモデル出力データを、前記メモリに保存することと、
を実行するように構成される、前記メモリと通信しているプロセッサと、
を備えるデバイス。
【請求項26】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトのオブジェクトクラスラベルを含み、前記第2モデルトリガ条件は、要求されたオブジェクトクラスラベルを含み、前記プロセッサは、前記検出されたオブジェクトの前記オブジェクトクラスラベルが、前記要求されたオブジェクトクラスラベルにマッチングするか否かを判定する、請求項1に記載のシステム。
【請求項27】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトのオブジェクト位置データを含み、前記第2モデルトリガ条件は、オブジェクト位置要求を含み、前記プロセッサは、前記検出されたオブジェクトの前記オブジェクト位置データが、前記オブジェクト位置要求を満たすか否かを判定する、請求項1に記載のシステム。
【請求項28】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトの信頼レベルを含み、前記第2モデルトリガ条件は、最低信頼レベルを満たすことを含み、前記プロセッサは、前記検出されたオブジェクトの前記信頼レベルが、前記最低信頼レベルを満たすか否かを判定する、請求項1に記載のシステム。
【請求項29】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトのオブジェクトサイズデータを含み、前記第2モデルトリガ条件は、最小オブジェクトサイズを満たすことを含み、前記プロセッサは、前記オブジェクトサイズデータが、前記最小オブジェクトサイズを満たすか否かを判定する、請求項1に記載のシステム。
【請求項30】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトの少なくとも二つの属性を記述するオブジェクト属性データを含む、請求項1に記載のシステム。
【請求項31】
前記少なくとも二つの属性は、オブジェクト位置、オブジェクトクラスラベル、オブジェクト信頼レベル、およびオブジェクトサイズの任意の二つ以上を含む、請求項30に記載のシステム。
【請求項32】
前記第2モデルトリガ条件は、前記検出されたオブジェクトの前記少なくとも二つの属性のそれぞれについての要求を含み、前記プロセッサは、前記オブジェクト属性データが、前記検出されたオブジェクトの前記少なくとも二つの属性のそれぞれについての要求を満たすか否かを判定するように更に構成される、請求項30に記載のシステム。
【請求項33】
前記第1ニューラルネットワーク出力データは、前記第2モデルトリガ条件が前記プロセッサによって使用されることを識別する識別子を含む、請求項1に記載のシステム。
【請求項34】
前記プロセッサは、前記識別子に基づいて、前記第2モデルトリガ条件が使用されることを判定する、請求項33に記載のシステム。
【請求項35】
前記第2モデルトリガ条件が使用されることを判定する際、前記プロセッサは、前記第1ニューラルネットワークモデル出力データが、前記第2モデルトリガ条件を満たすか否かを判定するために、前記識別子を使用して前記メモリから前記第2モデルトリガ条件を取り出す、請求項34に記載のシステム。
【請求項36】
前記識別子は、前記第1ニューラルネットワークモデルを識別するモデル識別データを備える、請求項33に記載のシステム。
【請求項37】
前記第2ニューラルネットワークモデルに提供される前記検査イメージは、前記第1ニューラルネットワークモデル出力データから判定される前記検査イメージのサブセットを備え、前記第2オブジェクト検出タスクは、前記検査イメージの前記サブセットを使用して実行される、請求項1に記載のシステム。
【請求項38】
前記プロセッサは、前記第2モデルトリガ条件が満たされると判定する時に、前記第1ニューラルネットワークモデル出力データに基づいて、前記第2ニューラルネットワークモデルを含む、前記プロセッサによって実行されるニューラルネットワークモデルのリストを生成するように更に構成される、請求項1に記載のシステム。
【請求項39】
前記プロセッサは、前記リストにおける前記ニューラルネットワークモデルのそれぞれを連続的に実行し、前記ニューラルネットワークモデルのそれぞれの実行は、少なくとも前記検査イメージのサブセットを、前記ニューラルネットワークモデルのそれぞれに提供することと、前記ニューラルネットワークモデルのそれぞれを使用してニューラルネットワークモデル出力データを生成することと、を含む、請求項38に記載のシステム。
【請求項40】
前記プロセッサは、前記メモリに保存された追加的なニューラルネットワークモデルのモデルトリガ条件を満たす、先に実行されたニューラルネットワークモデルによって生成されたニューラルネットワーク出力データに基づいて、前記プロセッサによって判定される、実行される前記追加的なニューラルネットワークモデルが含まれるように、前記リストを動的に更新するように更に構成される、請求項38に記載のシステム。
【請求項41】
実行される前記ニューラルネットワークモデルのリストは、それぞれが単一のニューラルネットワークモデルに対応する、実行される複数の別のニューラルネットワークモデルのリストを備える、請求項38に記載のシステム。
【請求項42】
前記オペレータデバイスは、前記第2モデルトリガ条件を設定する入力データを受け取るためのユーザインターフェースを生成するように構成され、前記第2モデルトリガ条件は、前記オペレータデバイスまたは前記AIビジュアル検査デバイスによって前記入力データに応じて生成される、請求項1に記載のシステム。
【請求項43】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトのオブジェクトクラスラベルを含み、前記第2ニューラルネットワークモデルトリガ条件は、要求されたオブジェクトクラスラベルを含み、前記プロセッサは、前記検出されたオブジェクトの前記オブジェクトクラスラベルが、前記要求されたオブジェクトクラスラベルにマッチングするか否かを判定する、請求項25に記載のコンピュータデバイス。
【請求項44】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトのオブジェクト位置データを含み、前記第2ニューラルネットワークモデルトリガ条件は、オブジェクト位置要求を含み、前記プロセッサは、前記検出されたオブジェクトの前記オブジェクト位置データが、前記オブジェクト位置要求を満たすか否かを判定する、請求項25に記載のシステム。
【請求項45】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトの信頼レベルを含み、前記第2ニューラルネットワークモデルトリガ条件は、最低信頼レベルを満たすことを含み、前記プロセッサは、前記検出されたオブジェクトの前記信頼レベルが、前記最低信頼レベルを満たすか否かを判定する、請求項25に記載のシステム。
【請求項46】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトのオブジェクトサイズデータを含み、前記第2ニューラルネットワークモデルトリガ条件は、最小オブジェクトサイズを満たすことを含み、前記プロセッサは、前記オブジェクトサイズデータが、前記最小オブジェクトサイズを満たすか否かを判定する、請求項25に記載のシステム。
【請求項47】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトの少なくとも二つの属性を記述するオブジェクト属性データを含む、請求項25に記載のシステム。
【請求項48】
前記少なくとも二つの属性は、オブジェクト位置、オブジェクトクラスラベル、オブジェクト信頼レベル、およびオブジェクトサイズの任意の二つ以上を含む、請求項47に記載のシステム。
【請求項49】
前記第2ニューラルネットワークモデルトリガ条件は、前記検出されたオブジェクトの前記少なくとも二つの属性のそれぞれについての要求を含み、前記プロセッサは、前記オブジェクト属性データが、前記検出されたオブジェクトの前記少なくとも二つの属性のそれぞれについての要求を満たすか否かを判定するように更に構成される、請求項47に記載のシステム。
【請求項50】
前記第1ニューラルネットワーク出力データは、前記第2ニューラルネットワークモデルトリガ条件が前記プロセッサによって使用されることを識別する識別子を含む、請求項25に記載のシステム。
【請求項51】
前記プロセッサは、前記識別子に基づいて、前記第2ニューラルネットワークモデルトリガ条件が使用されることを判定する、請求項50に記載のシステム。
【請求項52】
前記第2ニューラルネットワークモデルトリガ条件が使用されることを判定する際、前記プロセッサは、前記第1ニューラルネットワークモデル出力データが、前記第2ニューラルネットワークモデルトリガ条件を満たすか否かを判定するために、前記識別子を使用して前記メモリから前記第2ニューラルネットワークモデルトリガ条件を取り出す、請求項51に記載のシステム。
【請求項53】
前記識別子は、前記第1ニューラルネットワークモデルを識別するモデル識別データを備える、請求項50に記載のシステム。
【請求項54】
前記第2ニューラルネットワークモデルに提供される前記イメージデータは、前記第1ニューラルネットワークモデル出力データから判定される前記イメージデータのサブセットを備え、前記第2オブジェクト検出タスクは、前記イメージデータの前記サブセットを使用して実行される、請求項25に記載のシステム。
【請求項55】
前記プロセッサは、前記第2ニューラルネットワークモデルトリガ条件が満たされると判定する時に、前記第1ニューラルネットワークモデル出力データに基づいて、前記第2ニューラルネットワークモデルを含む、前記プロセッサによって実行されるニューラルネットワークモデルのリストを生成するように更に構成される、請求項25に記載のシステム。
【請求項56】
前記プロセッサは、前記リストにおける前記ニューラルネットワークモデルのそれぞれを連続的に実行し、前記ニューラルネットワークモデルのそれぞれの実行は、少なくとも前記イメージデータのサブセットを、前記ニューラルネットワークモデルのそれぞれに提供することと、前記ニューラルネットワークモデルのそれぞれを使用してニューラルネットワークモデル出力データを生成することと、を含む、請求項55に記載のシステム。
【請求項57】
前記プロセッサは、前記メモリに保存された追加的なニューラルネットワークモデルのニューラルネットワークモデルトリガ条件を満たす、先に実行されたニューラルネットワークモデルによって生成されたニューラルネットワーク出力データに基づいて、前記プロセッサによって判定される、実行される前記追加的なニューラルネットワークモデルが含まれるように、前記リストを動的に更新するように更に構成される、請求項55に記載のシステム。
【請求項58】
実行される前記ニューラルネットワークモデルのリストは、それぞれが単一のニューラルネットワークモデルに対応する、実行される複数の別のニューラルネットワークモデルのリストを備える、請求項55に記載のシステム。
【請求項59】
前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルの少なくとも一つは、イメージセグメンテーションニューラルネットワークモデルである、請求項1に記載のシステム。
【請求項60】
前記イメージセグメンテーションニューラルネットワークモデルは、インスタンスセグメンテーションニューラルネットワークモデルである、請求項59に記載のシステム。
【請求項61】
前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルの少なくとも一つは、イメージセグメンテーションニューラルネットワークモデルである、請求項2に記載のシステム。
【請求項62】
前記イメージセグメンテーションニューラルネットワークモデルは、インスタンスセグメンテーションニューラルネットワークモデルである、請求項61に記載のシステム。
【請求項63】
前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルの少なくとも一つは、イメージセグメンテーションニューラルネットワークモデルである、請求項22に記載の方法。
【請求項64】
前記イメージセグメンテーションニューラルネットワークモデルは、インスタンスセグメンテーションニューラルネットワークモデルである、請求項63に記載の方法。
【請求項65】
前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルの少なくとも一つは、イメージセグメンテーションニューラルネットワークモデルである、請求項25に記載のデバイス。
【請求項66】
前記イメージセグメンテーションニューラルネットワークモデルは、インスタンスセグメンテーションニューラルネットワークモデルである、請求項65に記載のデバイス。
【請求項67】
コンピュータプロセッサによって実行可能な命令であって、マルチモデルアーキテクチャを使用する自動化された人工知能(AI)ビジュアル検査のための方法を、実行時に前記コンピュータプロセッサに実行させる命令を備える非一時的なコンピュータ読取可能媒体であって、
前記方法は、
検査イメージデータにおける第1オブジェクトクラスを検出するように構成される第1ニューラルネットワークモデルへの入力として、前記検査イメージデータを提供することと、
前記第1ニューラルネットワークモデルを使用して、第1ニューラルネットワークモデル出力データを生成することを含む第1オブジェクト検出タスクを実行することと、
前記第1ニューラルネットワークモデル出力データを、検査イメージアノテーションデータとしてメモリに保存することと、
前記第1ニューラルネットワークモデル出力データが、前記メモリに保存される第2モデルトリガ条件を満たすか否かを判定することと、
前記第1ニューラルネットワークモデル出力データが前記第2モデルトリガ条件を満たす場合、
前記検査イメージデータにおける第2オブジェクトクラスを検出するように構成される第2ニューラルネットワークモデルへの入力として、前記検査イメージデータを提供することと、
前記第2ニューラルネットワークモデルを使用して、第2ニューラルネットワーク出力データを生成することを含む第2オブジェクト検出タスクを実行することと、
前記第2ニューラルネットワーク出力データを、前記検査イメージアノテーションデータのサブセットとして前記メモリに保存することと、
を実行する。
【発明の詳細な説明】
【技術分野】
【0001】
以下は、製造品質コントロールのための自動化されたビジュアル検査に関し、より具体的には、人工知能(AI)を使用する自動化されたビジュアル検査のためのシステムおよび方法に関する。
【背景技術】
【0002】
製造品質コントロールのための自動化されたビジュアル検査への従来のアプローチは、特定のオブジェクトが分析されるオブジェクトのクラスであるか否かを認識することから、特定のオブジェクトにおける欠陥または異常を検出することまで及ぶ、各種の異なるオブジェクト検出タスクを実行するための単一のモデルのトレーニングにフォーカスしていた。このようなアプローチは非常にチャレンジングであり、新しいトレーニングデータおよび機能を単一のモデルに組み込むことで、パフォーマンスが低下するリスクがある。このようなパフォーマンスの低下は、より新しい機能の方にモデルがドリフトするために起こり、より新しいデータが提供される際に、一つのタスクについてのパフォーマンスの向上がもたらされる一方で、他のタスクについての優位性が失われてしまう。
【発明の概要】
【発明が解決しようとする課題】
【0003】
このように、複数の異なる目的のために大きいAIモデルをトレーニングして、複数の異なるタスクを実行することは、例えば、重み共有、ネットワークの頭、およびリソースの競合に関して、しばしばますます劣ったパフォーマンスをもたらす。
【0004】
従って、現状のシステムおよび方法の欠点の少なくともいくつかを克服する、自動化されたビジュアル検査タスクのための改良されたシステム、方法、およびデバイスが必要とされている。このような改良されたシステム、方法、およびデバイスは、有利なことに、オブジェクト検出に関する自動化されたビジュアル検査タスクを実行してもよい。
【課題を解決するための手段】
【0005】
マルチモデルアーキテクチャを使用する自動化された人工知能(AI)ビジュアル検査のためのシステムが提供される。システムは、検査されているターゲットオブジェクトの検査イメージデータを取得するためのカメラデバイスと、AIビジュアル検査デバイスと、を含む。AIビジュアル検査デバイスは、第2ニューラルネットワークモデルの使用をトリガするための第2モデルトリガ条件を保存するメモリと、メモリと通信しているプロセッサと、を含む。プロセッサは、検査イメージにおける第1オブジェクトクラスを検出し、検出されたオブジェクトの第1リストを含む第1ニューラルネットワークモデル出力データを生成するように構成される第1ニューラルネットワークモデルを実行することと、第1ニューラルネットワークモデル出力データが第2モデルトリガ条件を満たすか否かを判定するように構成されるモデルトリガ判定モジュールを実行することと、第2モデルトリガ条件が満たされると、検査イメージにおける第2オブジェクトクラスを検出し、検出されたオブジェクトの第2リストを含む第2ニューラルネットワークモデル出力データを生成するように構成される第2ニューラルネットワークモデルを実行することと、通信インターフェースを介して、第1ニューラルネットワークモデル出力データおよび生成される場合は第2ニューラルネットワークモデル出力データを含むニューラルネットワークモデル出力データをオペレータデバイスに送ることと、を実行するように構成される。オペレータデバイスは、受け取られたニューラルネットワークモデル出力データを表示するように構成される。
【0006】
いくつかの実施形態では、第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルの少なくとも一つが、イメージセグメンテーションニューラルネットワークモデルである。いくつかの実施形態では、イメージセグメンテーションニューラルネットワークモデルが、インスタンスセグメンテーションニューラルネットワークモデルである。
【0007】
マルチモデルアーキテクチャを使用する自動化された人工知能(AI)ビジュアル検査のためのシステムが提供される。システムは、検査されているターゲットオブジェクトの検査イメージデータを取得するためのカメラデバイスと、AIビジュアル検査デバイスと、を含む。AIビジュアル検査デバイスは、カメラデバイスから検査イメージデータを受け取るための通信インターフェースと、検査イメージデータにおける第1オブジェクトクラスを検出するように構成される第1ニューラルネットワークモデル、検査イメージデータにおける第2オブジェクトクラスを検出するように構成される第2ニューラルネットワークモデル、および第2ニューラルネットワークモデルの使用をトリガするための第2モデルトリガ条件を保存するメモリと、メモリと通信しているプロセッサと、を含む。プロセッサは、第1オブジェクト検出モデルへの入力として、検査イメージデータを提供することと、第1ニューラルネットワークモデルを使用して、第1ニューラルネットワークモデル出力データを生成することを含む第1オブジェクト検出タスクを実行することと、第1ニューラルネットワークモデル出力データを、検査イメージアノテーションデータとしてメモリに保存することと、第1ニューラルネットワークモデル出力データが第2モデルトリガ条件を満たすか否かを判定することと、を実行するように構成される。第1ニューラルネットワークモデル出力データが第2モデルトリガ条件を満たす場合、プロセッサは、第2ニューラルネットワークモデルへの入力として、検査イメージデータを提供することと、第2ニューラルネットワークモデルを使用して、第2ニューラルネットワーク出力データを生成することを含む第2オブジェクト検出タスクを実行することと、第2ニューラルネットワークモデル出力データを、検査イメージアノテーションデータのサブセットとしてメモリに保存することと、を実行するように更に構成される。通信インターフェースは、検査イメージデータおよび検査イメージアノテーションデータを、表示のためにオペレータデバイスに送るように構成される。システムは、検査イメージデータおよび検査イメージアノテーションデータを、アノテーションされた検査イメージとして表示するためのオペレータデバイスを更に含む。
【0008】
検査イメージアノテーションデータは、検査イメージデータのメタデータとして保存されてもよい。
【0009】
オペレータデバイスは、検査イメージアノテーションデータのいずれを表示すべきかを示すユーザからの入力データを受け取り、示された検査イメージアノテーションデータのみをアノテーションされた検査イメージにおいて表示するように構成されてもよい。
【0010】
第1ニューラルネットワークモデル出力データは、検出されたオブジェクトのオブジェクトクラスラベルを含んでもよく、第2モデルトリガ条件は、要求されたオブジェクトクラスラベルを含んでもよく、プロセッサは、検出されたオブジェクトのオブジェクトクラスラベルが、要求されたオブジェクトクラスラベルにマッチングするか否かを判定してもよい。
【0011】
第1ニューラルネットワークモデル出力データは、検出されたオブジェクトのオブジェクト位置データを含んでもよく、第2モデルトリガ条件は、オブジェクト位置要求を含んでもよく、プロセッサは、検出されたオブジェクトのオブジェクト位置データが、オブジェクト位置要求を満たすか否かを判定してもよい。
【0012】
第1ニューラルネットワークモデル出力データは、検出されたオブジェクトの信頼レベルを含んでもよく、第2モデルトリガ条件は、最低信頼レベルを満たすことを含んでもよく、プロセッサは、検出されたオブジェクトの信頼レベルが、最低信頼レベルを満たすか否かを判定してもよい。
【0013】
第1ニューラルネットワークモデル出力データは、検出されたオブジェクトのオブジェクトサイズデータを含んでもよく、第2モデルトリガ条件は、最小オブジェクトサイズを満たすことを含んでもよく、プロセッサは、オブジェクトサイズデータが、最小オブジェクトサイズを満たすか否かを判定してもよい。
【0014】
第1ニューラルネットワークモデル出力データは、検出されたオブジェクトの少なくとも二つの属性を記述するオブジェクト属性データを含んでもよい。
【0015】
少なくとも二つの属性は、オブジェクト位置、オブジェクトクラスラベル、オブジェクト信頼レベル、およびオブジェクトサイズの任意の二つ以上を含んでもよい。
【0016】
第2モデルトリガ条件は、検出されたオブジェクトの少なくとも二つの属性のそれぞれについての要求を含んでもよいく、プロセッサは、オブジェクト属性データが、検出されたオブジェクトの少なくとも二つの属性のそれぞれについての要求を満たすか否かを判定するように更に構成されてもよい。
【0017】
第1ニューラルネットワーク出力データは、第2モデルトリガ条件がプロセッサによって使用されることを識別する識別子を含んでもよい。
【0018】
プロセッサは、識別子に基づいて、第2モデルトリガ条件が使用されることを判定してもよい。
【0019】
第2モデルトリガ条件が使用されることを判定する際、プロセッサは、第1ニューラルネットワークモデル出力データが、第2モデルトリガ条件を満たすか否かを判定するために、識別子を使用してメモリから第2モデルトリガ条件を取り出してもよい。
【0020】
識別子は、第1ニューラルネットワークモデルを識別するモデル識別データを備えてもよい。
【0021】
第2ニューラルネットワークモデルに提供される検査イメージデータは、第1ニューラルネットワークモデル出力データから判定されてもよい検査イメージデータのサブセットを備えてもよく、第2オブジェクト検出タスクは、検査イメージデータのサブセットを使用して実行されてもよい。
【0022】
プロセッサは、第2モデルトリガ条件が満たされると判定する時に、第1ニューラルネットワークモデル出力データに基づいて、第2ニューラルネットワークモデルを含む、プロセッサによって実行されるニューラルネットワークモデルのリストを生成するように更に構成されてもよい。
【0023】
プロセッサは、リストにおけるニューラルネットワークモデルのそれぞれを連続的に実行してもよく、ニューラルネットワークモデルのそれぞれの実行は、少なくとも検査イメージデータのサブセットを、ニューラルネットワークモデルのそれぞれに提供することと、ニューラルネットワークモデルのそれぞれを使用してニューラルネットワークモデル出力データを生成することと、を含む。
【0024】
プロセッサは、実行される追加的なニューラルネットワークモデルが含まれるように、リストを動的に更新するように更に構成されてもよい。実行される追加的なニューラルネットワークモデルは、メモリに保存された追加的なニューラルネットワークモデルのモデルトリガ条件を満たす、先に実行されたニューラルネットワークモデルによって生成されたニューラルネットワーク出力データに基づいて、プロセッサによって判定されてもよい。
【0025】
実行されるニューラルネットワークモデルのリストは、それぞれが単一のニューラルネットワークモデルに対応する、実行される複数の別のニューラルネットワークモデルのリストを備えてもよい。
【0026】
オペレータデバイスは、第2モデルトリガ条件を設定する入力データを受け取るためのユーザインターフェースを生成するように構成されてもよく、第2モデルトリガ条件は、オペレータデバイスまたはAIビジュアル検査デバイスによって入力データに応じて生成されてもよい。
【0027】
いくつかの実施形態では、第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルの少なくとも一つが、イメージセグメンテーションニューラルネットワークモデルである。いくつかの実施形態では、イメージセグメンテーションニューラルネットワークモデルが、インスタンスセグメンテーションニューラルネットワークモデルである。
【0028】
マルチモデルアーキテクチャを使用する自動化された人工知能(AI)ビジュアル検査のコンピュータ利用方法が提供される方法は、検査イメージデータにおける第1オブジェクトクラスを検出するように構成される第1ニューラルネットワークモデルへの入力として、検査イメージデータを提供することと、第1ニューラルネットワークモデルを使用して、第1ニューラルネットワークモデル出力データを生成することを含む第1オブジェクト検出タスクを実行することと、第1ニューラルネットワークモデル出力データを、検査イメージアノテーションデータとしてメモリに保存することと、第1ニューラルネットワークモデル出力データが、メモリに保存される第2モデルトリガ条件を満たすか否かを判定することと、第1ニューラルネットワークモデル出力データが第2モデルトリガ条件を満たす場合、検査イメージデータにおける第2オブジェクトクラスを検出するように構成される第2ニューラルネットワークモデルへの入力として、検査イメージデータを提供することと、第2ニューラルネットワークモデルを使用して、第2ニューラルネットワーク出力データを生成することを含む第2オブジェクト検出タスクを実行することと、第2ニューラルネットワーク出力データを、検査イメージアノテーションデータのサブセットとしてメモリに保存することと、を含む。
【0029】
方法は、検査イメージデータおよび検査イメージアノテーションデータを使用して、アノテーションされた検査イメージを生成することを更に含んでもよい。
【0030】
方法は、アノテーションされた検査イメージをユーザインターフェースにおいて表示することを更に含んでもよい。
【0031】
いくつかの実施形態では、第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルの少なくとも一つが、イメージセグメンテーションニューラルネットワークモデルである。いくつかの実施形態では、イメージセグメンテーションニューラルネットワークモデルが、インスタンスセグメンテーションニューラルネットワークモデルである。
【0032】
マルチモデルアーキテクチャを使用するオブジェクト検出を実行するためのコンピュータデバイスも提供される。デバイスは、イメージデータを受け取るための通信インターフェースと、イメージデータ、イメージデータにおける第1オブジェクトクラスを検出するように構成される第1ニューラルネットワークモデル、イメージデータにおける第2オブジェクトクラスを検出するように構成される第2ニューラルネットワークモデル、および第2ニューラルネットワークモデルトリガ条件を保存するためのメモリと、メモリと通信しているプロセッサと、を含む。プロセッサは、第1ニューラルネットワークモデル出力データを生成するための第1ニューラルネットワークモデルを使用して、イメージデータについて第1オブジェクト検出タスクを実行することと、第1ニューラルネットワークモデル出力データを、メモリに保存することと、第1ニューラルネットワークモデル出力データが第2モデルトリガ条件を満たすか否かを判定することと、第1ニューラルネットワークモデル出力データが第2モデルトリガ条件を満たす場合、第2ニューラルネットワーク出力データを生成するための第2ニューラルネットワークモデルを使用して、イメージデータについて第2オブジェクト検出タスクを実行することと、第2ニューラルネットワークモデル出力データを、メモリに保存することと、を実行するように構成される。
【0033】
いくつかの実施形態では、第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルの少なくとも一つが、イメージセグメンテーションニューラルネットワークモデルである。いくつかの実施形態では、イメージセグメンテーションニューラルネットワークモデルが、インスタンスセグメンテーションニューラルネットワークモデルである。
【0034】
他の側面および特徴は、いくつかの例示的な実施形態の以下の記述をレビューした当業者にとって明らかになる。
【図面の簡単な説明】
【0035】
ここに含まれる以下の図面は、本明細書の物品、方法、および装置の様々な例を示すためのものである。
【0036】
図1は、一実施形態に係る自動化されたビジュアル検査のためのシステムの模式図である。
【0037】
図2は、一実施形態に係る本開示のコンピューティングデバイスのブロック図である。
【0038】
図3は、一実施形態に係る自動化されたビジュアル検査のためのコンピュータシステムのブロック図である。
【0039】
図4は、一実施形態に係る
図3のマルチモデルビジュアル検査モジュールのブロック図である。
【0040】
図5は、一実施形態に係る
図3のマルチモデルビジュアル検査モジュールを使用する自動化されたビジュアル検査の方法のフロー図である。
【0041】
図6は、一実施形態に係る自動化されたビジュアル検査システムのブロック図である。
【0042】
図7は、一実施形態に係る
図4の自動化されたビジュアル検査システムを使用する自動化されたビジュアル検査の方法のフロー図である。
【0043】
図8は、単一のオブジェクト検出器を使用する自動化されたビジュアル検査のためのシステムに/によってそれぞれ提供される、カムシャフトの入力イメージおよび出力イメージの表示例を示す。
【0044】
図9は、本開示のシステムおよび方法によって生成および使用されてもよい、カムシャフトの第1および第2出力イメージと、組み合わされたアノテーションされたカムシャフトの出力イメージの表示例を示す。ここで、組み合わされたアノテーションされた出力イメージは、一実施形態に係るマルチモデルビジュアル検査システムの異なる自動化されたビジュアル検査モデルを使用して生成される、カムシャフトの第1および第2出力イメージを使用して生成される。
【発明を実施するための形態】
【0045】
以下では、請求項に係る各実施形態の一例を提供するために、様々な装置またはプロセスが記述される。以下で記述されるいずれの実施形態も、請求項に係るいずれの実施形態を限定するものではなく、請求項に係るいずれの実施形態も、以下で記述されるものと異なるプロセスまたは装置をカバーしてもよい。請求項に係る実施形態は、以下で記述される任意の一つの装置またはプロセスの特徴の全てを有する装置またはプロセスや、以下で記述される複数または全ての装置に共通の特徴に限定されない。
【0046】
ここで記述される一または複数のシステムは、それぞれ、少なくとも一つのプロセッサ、データストレージシステム(揮発性および不揮発性メモリおよび/またはストレージ要素を含む)、少なくとも一つの入力デバイス、および少なくとも一つの出力デバイスを備えるプログラマブルコンピュータ上で実行されるコンピュータプログラムにおいて実装されてもよい。非限定的な例として、プログラマブルコンピュータは、プログラマブルロジックユニット、メインフレームコンピュータ、サーバ、およびパーソナルコンピュータ、クラウドベースプログラムまたはシステム、ラップトップ、パーソナルデータアシスタンス、携帯電話、スマートフォン、またはタブレットデバイスでもよい。
【0047】
各プログラムは、好ましくは、コンピュータシステムと通信するための高レベルの手続型またはオブジェクト指向プログラミングおよび/またはスクリプト言語において実装される。但し、プログラムは、必要に応じて、アセンブリまたは機械言語において実装されうる。言語は、コンパイルまたは解釈された言語でもよい。このような各コンピュータプログラムは、好ましくは、ストレージメディアや、汎用または専用のプログラマブルコンピュータによって読取可能なデバイス上に保存され、ここで記述される手続を実行するために、ストレージメディアまたはデバイスがコンピュータによって読み取られる時に、コンピュータを構成して動作させる。
【0048】
互いに通信しているいくつかのコンポーネントを有する一実施形態の記述は、このような全てのコンポーネントが要求されることを意味するものではない。逆に、本発明の可能な実施形態の広い適用範囲を例示するために、様々なオプションのコンポーネントが記述される。
【0049】
更に、処理のステップ、方法のステップ、アルゴリズム等は、順番に記述されてもよいが(開示および/または請求項において)、このようなプロセス、方法およびアルゴリズムは、異なる順序で働くように構成されてもよい。換言すれば、記述されてもよいステップのいずれのシーケンスまたはいずれの順序も、ステップがその順序で実行されることを必ずしも要求するものではない。ここで記述されるプロセスのステップは、任意の現実的な順序で実行されてもよい。更に、いくつかのステップは、同時に実行されてもよい。
【0050】
単一のデバイスまたは物品がここで記述される場合、複数のデバイス/物品(それらが協働するか否かに関わらず)が、単一のデバイス/物品の代わりに使用されてもよいことは明らかである。同様に、複数のデバイスまたは物品がここで記述される場合(それらが協働するか否かに関わらず)、単一のデバイス/物品が、複数のデバイスまたは物品の代わりに使用されてもよいことは明らかである。
【0051】
以下は、製造品質コントロールのための自動化されたビジュアル検査に関し、より具体的には、人工知能(AI)を使用する自動化されたビジュアル検査のためのシステムおよび方法に関する。本開示は、人工知能に基づくイメージ分析およびマルチモデルアーキテクチャを使用するビジュアル検査のためのシステム、方法、およびデバイスを提供する。マルチモデルアーキテクチャは、ニューラルネットワーク等の複数の機械学習モデルを含む。一実施形態では、ニューラルネットワークがオブジェクト検出モデルである。概して、各ニューラルネットワークは、特定のタスクを実行するためにトレーニングされている。モデルトリガ条件は、マルチモデルアーキテクチャにおける一または複数のニューラルネットワークによって生成されるニューラルネットワーク出力に基づいて、マルチモデルアーキテクチャにおける他のニューラルネットワークの使用をトリガするか否かを自動的に判定するために使用される。ニューラルネットワークの使用をトリガすることは、分析されているイメージ(または、その部分)をデータストレージから取り出すことと、トリガされるニューラルネットワークが入力データを処理してニューラルネットワーク出力を生成するように、トリガされるニューラルネットワークの入力レイヤに対してイメージを提供することと、を含んでもよい。本開示のシステムおよび方法によって実装されるマルチモデルアーキテクチャは、モデルのアーキテクチャおよび何のモデルが何のモデル出力によってトリガされるかを判定するモデル間の特定のロジックを含む、ニューラルネットワークを有する決定木の一タイプとして機能してもよい。
【0052】
ここで使用されるように、用語「オブジェクト検出」は、概して、デジタルイメージにおいてオブジェクトが検出または識別されるコンピュータビジョン技術を表す趣旨である。本開示において使用される用語「オブジェクト検出」は、既知のオブジェクトクラスの全てのインスタンスがデジタルイメージにおいて局所化および分類される「オブジェクト検出」の特定のコンピュータビジョン技術を含むが、これに限定されるものではない。例えば、ここで使用される用語「オブジェクト検出」は、デジタルイメージにおけるオブジェクトの存在が、イメージにおける各オブジェクトのためのピクセルマスクを使用してマークされる、イメージセグメンテーション技術を含む趣旨である。イメージセグメンテーションの一つの具体例は、デジタルイメージにおけるオブジェクトが、特定のオブジェクトの局所化およびそれらに属するピクセルの関連付けを介して検出および分割される、インスタンスセグメンテーションである。インスタンスセグメンテーションは、デジタルイメージ内の全ての既知のオブジェクトについての各オブジェクトインスタンスを識別することを含み、デジタルイメージの各ピクセルにラベルを付与することを含む。このように、「モデル」、「オブジェクト検出モデル」、「ニューラルネットワーク」、「オブジェクト検出ニューラルネットワーク」等への参照は、インスタンスセグメンテーションモデルまたはニューラルネットワークが使用される実施形態および「オブジェクト検出」モデルまたはニューラルネットワークが使用される実施形態を含む趣旨である。
【0053】
産業および/または商業の状況では、顧客への配送または顧客による使用の前に、機械的な適合のために様々な部品が分析される必要がある。同様に、様々な部品のそれぞれは、欠陥または異常の多くの異なるクラスの影響を受けうる。製造者は、顧客ロイヤルティを保持および/または適用される法律および/または規制に準拠しながら、このような欠陥部品を売ることができないかもしれない。このような異常は、それほどの欠陥部品をもたらさないかもしれない。それにも関わらず、何の欠陥および/または異常がどの部品で発生したかを認識することは、製造者にとって有益でありうる。このような知識は、製造者が、問題を、特定の装置、プロセス、サプライ、または前兆まで辿ることを可能にする。このような知識は、更に、製造者が、分析の下で明かされた欠陥または異常を補正および防止することを可能にする。
【0054】
様々な部品のそれぞれの詳細な分析は、時間の関数としてコストがかかる。人間の労働者は、一般的に、短期では細部に付随するロスを伴わず、長期では仕事に対する満足度の低下を伴わずに、長時間に亘る緻密な暗記タスクを実行するコンピュータまたは装置ほど有能ではない。このように、製造者にとっては、部品を分析して欠陥および/または異常を検出するために、自動化されたビジュアル検査のためのシステムを使用することが極めて有利である。
【0055】
ここで、様々なオブジェクト検出タスクのそれぞれを実行するための単一の「大きい」モデルをトレーニングすることも可能だが、このアプローチは、モデルまたはシステムの開発者および使用者の両方にとって、欠点がある上にチャレンジングである。製造者がモデルを再トレーニングおよび更新するために新しいデータを供給できる場合であっても、このような再トレーニングおよび更新は、更に、モデルを特定のタスクの方にドリフトさせてしまう恐れがある。すなわち、新しいタスクについて向上がもたらされる一方で、他のタスクに関する悪化がもたらされてしまう。単一の「大きい」モデルに関する更なる懸念は、重み共有およびネットワークの頭の懸念を含む。複数のタスクについて単一の大きいネットワークをトレーニングする場合、キャパシティについての「タスク」競合に関する問題が発生しうる。これは、モデルが、全体的なロスを最適化しながら、特定のタスクの単一の精度に悪影響を及ぼすことがあるためである。この問題を解決するために、ロスが各タスクに接続され、それらの全てを同時に最適化することをモデルが試みる。これは、未だソリューションがない活発な研究のエリアである。テスト時間(エッジでの推論を実行する)中の演算バジェットがある場合、各タスクについてのより小さい単数のモデルを使用すれば、大幅に高い精度が得られる傾向がある。単一の「大きい」モデルの更なる欠点として、回帰テストが難しいという点がある。新しいデータおよび新しいタスクが、それらの全てが重みおよび勾配を共有している場合に、どのように先のタスクに影響するかを知ることは難しい。このように、大きいマルチヘッドモデルにおける矛盾をもたらしているものを特定することは難しい。
【0056】
自動化されたビジュアル検査のためのシステムが実行しなければならない様々なタスク(例えば、オブジェクト特定、欠陥検出、欠陥局所化)のために、他のタスクについてのパフォーマンスのための余地を残すために、一つのタスクについてのパフォーマンスが悪化しないシステムがあれば有利である。このように、それぞれが自身の指定されたタスク(それぞれの結果は単一の出力としてシステムによって統合されてもよい)を実行する、いくつかの「より小さい」モデルから構成されるシステムを有することは、製造者にとって極めて有利である。
【0057】
本開示は、オブジェクトの欠陥検出およびビジュアル検査(製造品質コントロールおよびビジュアル検査を含む)の文脈において発明を記述するが、ここで提供されるシステム、方法、およびデバイスは、オブジェクトの欠陥検出およびビジュアル検査の文脈であるか否か(例えば、自動運転車両、医療イメージ分析、マニピュレーションを使用するロボティクス等の他のコンピュータビジョンアプリケーション)に関わらず、ここで記述されるものを超える更なるアプリケーションおよび異なる用途を有してもよい。ここで記述されるモデルやオブジェクト検出モデルと呼ばれる機械学習モデルは、他の実施形態では、オブジェクト検出と異なる機械学習タスクを実行するように構成される機械学習モデルの他の形態でもよい。例えば、マルチモデルアーキテクチャは、オブジェクト検出または他のイメージ処理タスクを実行するように構成される複数のニューラルネットワークを含んでもよい。このような場合の入力データは出力データと同様に変動しうるが、複数のモデルおよびトリガ条件等の本開示の要素は、ここで開示されるプロセスの終了時のデータアグリゲーションも含めて、同様に働きうる。
【0058】
ここで記述されるように、本開示は、入力データを受け取って少なくとも一つの出力を生成するように構成される複数のニューラルネットワークを含むマルチモデルアーキテクチャを提供する。ニューラルネットワークは、フィードフォワードニューラルネットワークでもよい。ニューラルネットワークは、複数の処理ノードを有してもよい。処理ノードは、複数の入力ノードを有する多変数の入力レイヤ、少なくとも一つのノードの隠れたレイヤ、および少なくとも一つの出力ノードを有する出力レイヤを含んでもよい。ニューラルネットワークのオペレーションの間、隠れたレイヤにおけるノードのそれぞれは、当該ノードに(入力レイヤまたは隠れたレイヤの他のレイヤから)到達する任意の入力に対して、活性化/伝達関数および重みを適用する。ノードは、(後続の隠れたレイヤまたは出力レイヤの)他のノードに対して出力を提供してもよい。ニューラルネットワークは、連続的な出力を提供する回帰分析またはデータを分類するための分類分析を実行するように構成されてもよい。ニューラルネットワークは、以下で記述されるように、教師ありまたは教師なし学習技術を使用してトレーニングされてもよい。教師あり学習技術によれば、出力レイヤでの既知の出力値のセットと共に、トレーニングデータセットが入力レイヤで提供される。トレーニングステージの間、ニューラルネットワークは、トレーニングデータセットを処理しうる。ニューラルネットワークが、トレーニングステージにおいてトレーニングデータから学習した情報を一般化することによって、新しい入力データについて出力を提供する方法を学習することが意図されている。トレーニングは、エラーを最小化するために隠れたレイヤのノードの重みを決定するように、バックプロパゲーションエラーによって影響されてもよい。一旦トレーニングされると(または、オプションでトレーニング中に)、出力を提供するためのテストまたは検証データが、ニューラルネットワークに対して提供されうる。そして、ニューラルネットワークは、出力レイヤで少なくとも一つの出力を提供するために、入力レイヤに対して提供された入力を相互相関させてもよい。各実施形態においてニューラルネットワークによって提供される出力は、ニューラルネットワークが入力データを満足に処理できるように、与えられた入力についての所望の出力に近いことが好ましい。
【0059】
図1を参照して、一実施形態に係る、自動化されたビジュアル検査システム10が示されている。システム10は、ネットワーク20を介して、カメラデバイス14、オペレータデバイス16、およびプログラマブルロジックコントローラ(PLC)デバイス18と通信するAIビジュアル検査デバイス12を含む。
【0060】
AIビジュアル検査デバイス12は、オブジェクト検出タスクを実行するように構成されてもよい。AIビジュアル検査デバイス12は、複数のオブジェクト検出モデルを含んでもよい。各オブジェクト検出モデルは、特定のオブジェクト検出タスクを実行するようにトレーニングされたモデルでもよい。オブジェクト検出は、AIビジュアル検査デバイス12に対して提示された入力データ等の入力データ内の特定のクラスに属する特定のオブジェクトのインスタンスを検出することを含む。オブジェクト検出モデルは、ニューラルネットワーク(例えば、畳み込みニューラルネットワークまたはCNN)等の深層学習技術および機械学習アプローチを含んでもよい。機械学習オブジェクト検出アプローチでは、対象オブジェクトの関連する特徴が予め定義される一方で、このような定義はニューラルネットワークにおいては要求されない。
【0061】
AIビジュアル検査デバイス12は、オブジェクト検出の文脈外のタスクを実行するように構成されてもよい。このようなタスクは、他の形態の機械学習(ML)または人工知能タスクまたは非MLタスクを含んでもよい。
【0062】
デバイス12、14、16、18は、サーバコンピュータ、ノードコンピューティングデバイス(例えば、JETSONコンピューティングデバイス)、組み込みデバイス、デスクトップコンピュータ、ノートブックコンピュータ、タブレット、PDA、スマートフォン、または他のコンピューティングデバイスでもよい。デバイス12、14、16、18は、インターネットへの有線または無線接続等のネットワーク20との接続を含んでもよい。いくつかの場合では、ネットワーク20が、他のタイプのコンピュータまたは通信ネットワークを含んでもよい。デバイス12、14、16、18は、メモリ、副ストレージデバイス、プロセッサ、入力デバイス、ディスプレイデバイス、および出力デバイスの一または複数を含んでもよい。メモリは、ランダムアクセスメモリ(RAM)または同様のタイプのメモリを含んでもよい。また、メモリは、プロセッサによって実行されるための一または複数のアプリケーションを保存してもよい。アプリケーションは、以下で記述される機能のための処理を実行するためのコンピュータ実行可能命令を備えるソフトウェアモジュールと対応してもよい。副ストレージデバイスは、ハードディスクドライブ、フロッピーディスクドライブ、CDドライブ、DVDドライブ、ブルーレイドライブ、または他のタイプの不揮発性データストレージを含んでもよい。プロセッサは、アプリケーション、コンピュータ読取可能命令またはプログラムを実行してもよい。アプリケーション、コンピュータ読取可能命令またはプログラムは、メモリまたは副ストレージに保存されてもよいし、インターネットまたは他のネットワーク20から受け取られてもよい。
【0063】
入力デバイスは、デバイス12、14、16、18に情報を入力するための任意のデバイスを含んでもよい。例えば、入力デバイスは、キーボード、キーパッド、カーソル制御デバイス、タッチスクリーン、カメラ、またはマイクロフォンでもよい。ディスプレイデバイスは、視覚情報を提示するための任意のタイプのデバイスを含んでもよい。例えば、ディスプレイデバイスは、コンピュータモニタ、フラットスクリーンディスプレイ、プロジェクタ、またはディスプレイパネルでもよい。出力デバイスは、情報のハードコピーを提示するための任意のタイプのデバイス(例えば、プリンタ)を含んでもよい。出力デバイスは、スピーカ等の他のタイプの出力デバイスを含んでもよい。いくつかの場合では、デバイス12、14、16、18が、プロセッサ、アプリケーション、ソフトウェアモジュール、第2ストレージデバイス、ネットワーク接続、入力デバイス、出力デバイス、およびディスプレイデバイスのうち任意のものを複数含んでもよい。
【0064】
デバイス12、14、16、18は様々なコンポーネントと共に記述されるが、いくつかの場合では、デバイス12、14、16、18がより少ない、追加的なまたは異なるコンポーネントを含んでもよいと当業者は理解する。加えて、メモリに保存されるものとしてデバイス12、14、16、18の実装の側面が記述されうるが、これらの側面は、他のタイプのコンピュータプログラム製品または副ストレージデバイス等のコンピュータ読取可能メディア(ハードディスク、フロッピーディスク、CD、またはDVD、インターネットまたは他のネットワークからの搬送波、または他の形態のRAMまたはROMを含む)上に保存されうる/から読み出されうると当業者は理解する。コンピュータ読取可能メディアは、デバイス12、14、16、18を制御するための命令および/または特定の方法を実行するためのプロセッサを含んでもよい。
【0065】
デバイス12、14、16、18は、特定の行為を実行するものとして記述されうる。これらのデバイスの少なくともいずれかは、自動的にまたは当該デバイスのユーザによる相互作用に応じて、行為を実行してもよいと理解される。すなわち、デバイスのユーザは、一または複数の入力デバイス(例えば、タッチスクリーン、マウス、またはボタン)を操作して、デバイスに記述される行為を実行させてもよい。多くの場合、この側面は以下では記述されないが、暗黙的に理解される。
【0066】
一例として、デバイス12、14、16、18は、一または複数の他のデバイス12、14、16、18に対して情報を送ってもよいと以下で記述される。例えば、オペレータデバイス16を使用するユーザは、一または複数の入力(例えば、マウスおよびキーボード)を操作して、デバイス16のディスプレイ上に表示されるユーザインターフェースと相互作用してもよい。一般的に、デバイスは、ユーザインターフェースを、ネットワーク20から受け取ってもよい(例えば、ウェブページの形態で)。あるいは、または加えて、ユーザインターフェースは、デバイスにローカル保存されてもよい(例えば、ウェブページのキャッシュまたはモバイルアプリケーション)。
【0067】
デバイス12、14、16、18は、複数のデバイス12、14、16、18の少なくともいずれかから、複数の情報を受け取るように構成されてもよい。
【0068】
情報を受け取った各デバイス12、14、16、18は、当該情報をストレージデータベースに保存してもよい。ストレージは、一または複数の他のデバイス12、14、16、18の副ストレージに対応してもよい。一般的に、ストレージデータベースは、ハードディスクドライブ、固体状態ドライブ、メモリカード、またはディスク(例えば、CD、DVD、またはブルーレイ)等の任意の適切なストレージデバイスでもよい。また、ストレージデータベースは、デバイス12、14、16、18とローカル接続されていてもよい。いくつかの場合では、ストレージデータベースは、デバイス12、14、16、18から離れて設置され、ネットワーク等を通じてデバイス12、14、16、18にアクセス可能でもよい。いくつかの場合では、ストレージデータベースが、ネットワーククラウドストレージプロバイダに設置されている一または複数のストレージデバイスを備えてもよい。
【0069】
AIビジュアル検査デバイス12は、オブジェクト(例えば、欠陥)検出タスク、オブジェクト(例えば、欠陥)分類タスク、ゴールデンサンプル分析タスク、オブジェクト(例えば、欠陥)トラッキングタスク、および他の関連するデータ処理タスクを、カメラデバイス14によって取得される検査イメージを使用して実行するために特別にデザインされた専用装置でもよい。
【0070】
カメラデバイス14は、イメージデータを取得する。イメージデータは、単一のイメージまたは複数のイメージを含んでもよい。複数のイメージ(フレーム)が、カメラ14によってビデオとして取得されてもよい。検査されるオブジェクトのエリア(「検査オブジェクト」または「ターゲットオブジェクト」と表されてもよい)を撮像するために、カメラ14および検査オブジェクトが互いに相対移動してもよい。例えば、複数のアングルからの適切な検査を提供するために、オブジェクトが回転されてカメラ14によって複数のイメージが異なる位置で取得されてもよい。カメラ14は、それぞれの位置(例えば、オブジェクトがカメラ14に対して回転する場合)で撮られる、複数のフレームを取得するように構成されてもよい。
【0071】
検査オブジェクト(不図示)は、システム10のユーザがビジュアル検査を実行したい任意の物理的な物品でもよい。検査オブジェクトは、製造またはマシニングプロセス中に発達する欠陥の影響を受けやすいものでもよい。欠陥は、「完璧な」または「良好な」物品からの許容不能な偏差として特徴付けられてもよい。欠陥を有する検査オブジェクトは、欠陥あり、許容不能、または「不良」(NG)と解釈される。システム10は、オブジェクトを検査し、オブジェクトが欠陥を有するか否かを判定する。オブジェクトは、システム10によって、欠陥ありまたは欠陥なしと分類されてもよい。オブジェクトに欠陥ありまたは欠陥なしと識別することによって、検査オブジェクトはビジュアル検査の結果に基づいて異なる扱いを受けうる。欠陥ありオブジェクトは、廃棄されてもよいし、更なる処理から除去されてもよい。欠陥なしオブジェクトは、更なる処理に進んでもよい。
【0072】
概して、検査オブジェクトは、欠陥が望ましくないオブジェクトでもよい。検査オブジェクトにおける欠陥は、オブジェクトまたは検査オブジェクトをコンポーネントとして含むより大きいオブジェクト(例えば、システムまたは装置)の機能的なパフォーマンスの低下に繋がりうる。検査オブジェクトにおける欠陥は、物品のビジュアルアピールを低減しうる。欠陥あり製品を発見することは、ビジネスが、欠陥あり物品の販売および使用を防止し、欠陥に関する根本原因を判定して、このような原因を解消するための重要なステップでありうる。
【0073】
検査オブジェクトは、組立物品でもよい。検査オブジェクトは、製造プロセス中に発達する欠陥が生じやすい製造物品でもよい。オブジェクトは、外観から何らかの価値が得られる物品であって、特定の欠陥が外観に悪影響を及ぼしうる物品でもよい。検査オブジェクトにおける欠陥は、オブジェクト自体の製造またはいくつかの他のプロセス(例えば、転送、テスト)中に発達しうる。
【0074】
検査オブジェクトは、金属、鉄、プラスチック、コンポジット、木、ガラス等の一または複数の材料から構成されてもよい。
【0075】
検査オブジェクトは、サイズおよび形において一様または非一様でもよい。オブジェクトは、曲がった外表面を有してもよい。
【0076】
検査オブジェクトは、複数のセクションを含んでもよい。オブジェクトセクションは、オブジェクトサブセクションに更に分割されてもよい。オブジェクトセクション(または、サブセクション)は、オブジェクトの見た目または機能に基づいて決定されてもよい。オブジェクトセクションは、オブジェクトのより良いビジュアル検査を可能にし、許容不能な欠陥ありオブジェクトをより良く識別するように決定されてもよい。
【0077】
オブジェクトセクションは、異なる機能を有するオブジェクトの異なる部品に対応してもよい。異なるセクションは、同様のまたは異なる寸法を有してもよい。いくつかの場合では、オブジェクトは、それぞれが検査オブジェクトにおいて一回または複数回に亘って現れる、複数の異なるセクションタイプを含んでもよい。セクションは、規則的または不規則的な形でもよい。異なるセクションは、異なる欠陥仕様(すなわち、特定の欠陥についての許容範囲)を有してもよい。
【0078】
検査オブジェクトは、システム10を使用して検出可能な欠陥の複数のタイプまたはクラスが生じやすくてもよい。欠陥タイプの例は、ペイント、多孔性、凹み、スクラッチ、スラッジ等を含んでもよい。欠陥タイプは、オブジェクトに応じて変動しうる。例えば、欠陥タイプは、オブジェクトの製造プロセスまたは材料組成に基づいて、オブジェクトに特有のものでもよい。オブジェクトにおける欠陥は、それ自体の製造中に取得されてもよいし、オブジェクトの後続の処理を通じて取得されてもよい。
【0079】
オペレータデバイス16は、ユーザインターフェースコンポーネント(または、モジュール)(例えば、ヒューマン/マシンインターフェース)を含む。オペレータデバイス16は、AIビジュアル検査デバイス12からネットワーク20を介してデータを受け取る。受け取られるデータは、カメラ14からの出力データを含んでもよい。例えば、出力データは、アーティファクトデータを含むアノテーションされた出力イメージデータを含んでもよい。アーティファクトデータは、AIビジュアル検査デバイス12によって識別された検査イメージにおけるアーティファクト(例えば、欠陥、異常)が、表示されるイメージにおいて視覚的に識別されうるように、位置情報(例えば、座標、バウンディングボックス、インスタンスセグメンテーションにおけるようなオブジェクトの特定のインスタンスの境界、重心)およびラベル情報を含んでもよい。概して、ここで使用される「位置情報」または「位置データ」は、イメージにおけるオブジェクトのインスタンスの位置を指定するまたは局所化するために使用される任意の情報またはデータを含んでもよく、イメージにおけるオブジェクトを検出するためのモデル(例えば、オブジェクト検出、インスタンスセグメンテーション)によって使用される技術に応じて変動しうる。オペレータデバイス16は、AIビジュアル検査デバイス12によって生成されるデータを備えるメタデータを、デジタル検査イメージに対して自動的に付与するための自動イメージアノテーションソフトウェアを含んでもよい。オペレータデバイス16は、アノテーションされた出力イメージデータを表示するユーザインターフェーススクリーンを生成するユーザインターフェースコンポーネントに対して、AIビジュアル検査デバイス12からの出力データを提供する。例えば、検査イメージは、欠陥位置情報(例えば、バウンディングボックス座標、重心座標)、欠陥サイズデータ、および欠陥クラス情報等のコンポーネントによって生成される欠陥データを備えるメタデータと共にアノテーションされてもよい。このようなアノテーションされた出力イメージの例は、以下で記述される
図8および9に示される。
【0080】
オペレータデバイス16のユーザインターフェースコンポーネントは、オペレータからの入力を受け取るための一または複数のユーザインターフェース要素を描写してもよい。例えば、ユーザインターフェースコンポーネントは、オプションの選択を示すユーザ入力データを受け取るための「yes/no」または同様のバイナリオプションを提供してもよい。特定の場合、ユーザインターフェースは、アノテーションされた出力イメージデータにおいてAIビジュアル検査デバイス12によって検出された特定のオブジェクトを提示および強調してもよく、オブジェクトが異常であるか否かを尋ねてもよい(および、ユーザからの対応する入力を受け取ってもよい)。
【0081】
ユーザから受け取られる入力データに応じて、アノテーションされた出力イメージデータ(または、その部分)は、システム10において異なるルートが設定されてもよい。例えば、オペレータデバイス16のユーザインターフェースコンポーネントが、特定の入力データ(例えば、「no」のラベルが付されたユーザインターフェース要素のクリック等による、与えられたアーティファクトが異常であるか否かの質問に対する「no」との回答)を受け取った場合、オペレータデバイス16またはAIビジュアル検査デバイス12は、当該新しいデータをその機械学習モデルに組み込むように構成されてもよい。このように組み込まれたデータは、AIビジュアル検査デバイス12の一または複数の人工知能コンポーネントを更にトレーニングするために使用されうる更なるトレーニングデータセットのためのトレーニングサンプルとして記録されうる。例えば、ユーザインターフェースを介して提供される入力データは、オペレータデバイス16またはAIビジュアル検査デバイス12によって使用されてもよく、当該オペレータデバイス16または当該AIビジュアル検査デバイス12に、システム10によって生成される特定のイメージが、AIビジュアル検査デバイス12によって実装されるマルチモデルアーキテクチャの部分またはシステム10内の他の場所でもよい、特定のオブジェクト検出モデルにとってのトレーニングサンプルである旨をタグ付けさせるまたは示させる(例えば、メタデータを関連付けることによって)。マルチモデルアーキテクチャにおける各モデルは、適用可能なモデルの再トレーニングにおける将来の使用のために、トレーニングイメージが適切にタグ付けされうるように、この目的のために使用されうるモデル識別子(例えば、モデル番号、名称)を有してもよい。
【0082】
PLCデバイス18は、検査オブジェクトの操作および物理的な処理を制御するように構成される。これは、ネットワーク20を介して、物品操作ユニット(不図示)との間で制御命令を送受信することによって行われてもよい。このような操作および物理的な処理は、撮像や検査エリアにおけるオブジェクトの設置および除去のために、検査オブジェクトを回転させるまたは他の態様で駆動することを含んでもよい。ネットワーク20を介してPLCデバイス18によって送られる命令の一例は、「オブジェクトを「n」度だけ回転させる」ことでもよい。いくつかの場合では、このような命令の送信が、AIビジュアル検査デバイス12から受け取られる情報に依存してもよい。他の場合では、制御命令が、カメラ14、コンベアベルト、ロボットアーム、モバイルロボット等のシステム10の他のコンポーネントの、PLC18と通信している駆動コンポーネントを介した駆動又は移動を指示してもよい。
【0083】
PLCデバイス18は、オブジェクト検出許容範囲データを保存してもよい。一例として、オブジェクト検出許容範囲データは、欠陥許容範囲データ(例えば、システム10が欠陥を検出する範囲)でもよい。欠陥許容範囲データは、特定の欠陥クラスに固有の欠陥クラス識別子および欠陥クラス識別子にリンクされる一または複数の許容範囲値を含んでもよい。他の実施形態では、欠陥許容範囲データが、AIビジュアル検査デバイス12等の他のデバイス上に保存されてもよい。欠陥許容範囲データは、欠陥許容範囲データベースに保存されてもよい。欠陥許容範囲データベースにおける欠陥許容範囲データは、AIビジュアル検査デバイス12によって生成されるデータとの比較のための許容範囲データ値の取り出しを容易にするために、欠陥クラス識別子を使用して参照されてもよい。更に、PLCデバイス18は、検査オブジェクトの操作を制御するように構成されてもよい。検査オブジェクトにおける欠陥がAIビジュアル検査デバイス12によって検出される場合、PLCデバイス18は、その部品が欠陥ありか否かを判定する(例えば、欠陥許容範囲データで見つかった欠陥と比較することによって)ために、検出された欠陥(欠陥の属性に関連するデータまたは欠陥の属性を記述するデータ)を、PLCデバイス18または他の場所に保存されている欠陥許容範囲データと比較してもよい。
【0084】
例えば、一実施形態では、PLCデバイス18が、欠陥検出プロセスの結果を示すデータを、ネットワーク20を介してAIビジュアル検査デバイス12から受け取るように構成される。例えば、AIビジュアル検査デバイス12によって欠陥が検出された場合、欠陥データはPLCデバイス18に対して送られてもよい。欠陥データは、検出された欠陥の属性を記述し、サイズデータ、位置データ、クラスラベルデータ、信頼レベルデータ等を含んでもよい。PLCデバイス18は、欠陥許容範囲データを保存する。PLCデバイス18は、許容範囲データに照らして欠陥データを分析し、検査オブジェクトが欠陥あり(例えば、「NG」)か、許容範囲内(例えば、「OK」)かを判定する。PLCデバイス18は、許容範囲分析の結果を示す信号を、AIビジュアル検査デバイス12に対して送ってもよい。PLCデバイス18によって欠陥データが許容範囲外であると判定される場合、PLCデバイス18は、検査オブジェクトの検査を停止してもよく、欠陥ありオブジェクトの除去および新しいオブジェクトの設置のための処理を開始してもよい。PLCデバイス18は、検査オブジェクトの検査を停止するための制御信号を生成してもよく、検査オブジェクトの操作を担うアクチュエータまたは他の駆動コンポーネントに対して制御信号を送信してもよい。
【0085】
システム10が検査イメージにおいて欠陥を検出しなかった場合、AIビジュアル検査デバイス12は、イメージにおいて欠陥が見つからなかった(すなわち「OK」)ことを示すオブジェクト検出プロセスの結果を示す信号を、(例えば、ネットワーク20を介して)PLCデバイス18に対して送る。「OK」メッセージを受け取ると、PLCデバイス18は、検査オブジェクトの(または、検査オブジェクトにおける)アクチュエータまたはマニピュレータに対して制御信号を送り、検査オブジェクトの現在の検査位置を調整する(例えば、検査オブジェクトを「X」度だけ回転させる)。他の場合では、受け取られた制御信号に応じて一または複数のコンポーネントを駆動するように構成される他の駆動コンポーネント(例えば、カメラアクチュエータ)に対して、制御命令が送られてもよい。
【0086】
他の実施形態では、欠陥許容範囲データがAIビジュアル検査デバイス12で保存されてもよく、許容範囲分析がAIビジュアル検査デバイス12によって実行される。そして、AIビジュアル検査デバイス12は、オブジェクトが欠陥ありか否かを示す信号を、PLCデバイス18に対して送ってもよい。そして、PLCデバイス18は、AIビジュアル検査デバイス12から受け取られた信号に応じて、制御信号を生成してもよい。
【0087】
図2を参照して、一実施形態に係る、
図1のシステム10のコンピューティングデバイス1000のブロック図が示されている。コンピューティングデバイス100は、例えば、
図1のデバイス12、14、16、18のいずれであってもよい。
【0088】
コンピューティングデバイス1000は、コンピューティングデバイス1000のオペレーションを制御するプロセッサ1020等の複数のコンポーネントを含む。データ通信、音声通信、または両方を含む通信機能は、通信サブシステム1040を通じて実現されてもよい。コンピューティングデバイス1000によって受け取られるデータは、デコーダ1060によって解凍および復号化されてもよい。通信サブシステム1040は、無線ネットワーク1500からメッセージを受け取ってもよいし、無線ネットワーク1500に対してメッセージを送ってもよい。
【0089】
無線ネットワーク1500は、データ中心の無線ネットワーク、音声中心の無線ネットワーク、および音声およびデータの通信の両方をサポートするデュアルモードネットワークを含むが、これらに限られない任意のタイプの無線ネットワークでもよい。
【0090】
コンピューティングデバイス1000は、バッテリ駆動のデバイスでもよく、図示されるように、一または複数の充電可能バッテリ1440を受けるためのバッテリインターフェース1420を含んでもよい。
【0091】
プロセッサ1020は、ランダムアクセスメモリ(RAM)1080、フラッシュメモリ1110、ディスプレイ1120(例えば、共に接触感知ディスプレイ1180を構成する電子コントローラ1160に接続される接触感知オーバーレイ1140を有するもの)、アクチュエータアセンブリ1200、一または複数のオプションの力センサ1220、予備入力/出力(I/O)サブシステム1240、データポート1260、スピーカ1280、マイクロフォン1300、近距離通信システム1320および他のデバイスサブシステム1340等の追加的なサブシステムとも相互作用する。
【0092】
いくつかの実施形態では、グラフィカルユーザインターフェースとのユーザ相互作用が、接触感知オーバーレイ1140を通じて実行されてもよい。プロセッサ1020は、電子コントローラ1160を介して、接触感知オーバーレイ1140と相互作用してもよい。プロセッサ1020によって生成されてコンピューティングデバイス上で表示または描写されてもよいテキスト、文字、シンボル、イメージ、アイコン、および他のアイテム等の情報は、接触感知ディスプレイ1180上に表示されてもよい。
【0093】
プロセッサ1020は、加速度計1360と相互作用してもよい。加速度計1360は、重力または重力に由来する反力の方向を検出するために利用されてもよい。
【0094】
本実施形態に従ってネットワークアクセスの加入者を識別するために、コンピューティングデバイス1000は、ネットワーク(例えば、無線ネットワーク1500)との通信のために、SIM/RUIMインターフェース1400内に挿入される、加入者特定モジュールまたは除去可能ユーザ特定モジュール(SIM/RUIM)カード1380を使用してもよい。あるいは、ユーザ特定情報は、フラッシュメモリ1110にプログラミングされてもよいし、他の技術を使用して実行されてもよい。
【0095】
コンピューティングデバイス1000は、オペレーティングシステム1460と、フラッシュメモリ1110等の持続性データストレージデバイスに保存されてもよい、プロセッサ1020によって実行されるソフトウェアコンポーネント1480も含む。追加的なアプリケーションは、無線ネットワーク1500、予備I/Oサブシステム1240、データポート1260、近距離通信サブシステム1320、または任意の他の適切なデバイスサブシステム1340を通じて、コンピューティングデバイス1000上にロードされてもよい。
【0096】
使用時に、テキストメッセージ、eメールメッセージ、ウェブページダウンロード、または他のデータ等の受け取られた信号は、通信サブシステム1040によって処理されてプロセッサ1020に対して入力されてもよい。そして、ディスプレイ1120あるいは予備I/Oサブシステム1240への出力のために、プロセッサ1020は受け取られた信号を処理する。加入者は、例えば、通信サブシステム1040を通じて無線ネットワーク1500上で送信されてもよいeメールメッセージ等のデータアイテムを作成してもよい。
【0097】
音声通信については、コンピューティングデバイス1000の全体オペレーションが同様でもよい。スピーカ1280は、電気信号から変換されたオーディオ情報を出力してもよく、マイクロフォン1300は、オーディオ情報を処理のために電気信号に変換してもよい。
【0098】
図3を参照して、一実施形態に係る、自動化されたビジュアル検査のためのコンピューティングシステム300のブロック図が示されている。コンピュータシステム300は、
図1の自動化されたビジュアル検査システム10の一または複数のデバイスで実装されてもよい。例えば、コンピュータシステム300のコンポーネントは、
図1のAIビジュアル検査デバイス12、オペレータデバイス16、およびPLCデバイス18の少なくともいずれかによって実装されてもよい。
【0099】
システム300は、ソフトウェアモデルおよびモジュールを実行するためのプロセッサ302を含む。
【0100】
システム300は、プロセッサ302からの出力データを含むデータを保存するためのメモリ304を更に含む。
【0101】
システム300は、例えば、ネットワーク接続(例えば、
図1のネットワーク20)を介してデータを送受信することを通じて、他のデバイスと通信するための通信インターフェース306を更に含む。
【0102】
システム300は、コンピュータシステム300によって生成される様々なデータを人が読取可能なフォーマットで表示するためのディスプレイ308を更に含む。例えば、ディスプレイは、検査オブジェクトの検査の結果を表示するように構成されてもよい。
【0103】
プロセッサ302は、マルチモデルビジュアル検査モジュール310を含む。マルチモデルビジュアル検査モジュール310は、オブジェクト検出タスクを実行するように構成される複数の機械学習モデルを含む。複数の機械学習モデルは、第1オブジェクト検出モデル312a、第2オブジェクト検出モデル312b、および第3オブジェクト検出モデル312cを含む。前述されたように、他の実施形態(例えば、ビジュアル検査と異なるタスクに向けられた実施形態)では、モデル312がオブジェクト検出と異なるタスクを実行するように構成される機械学習モデルでもよい。
【0104】
マルチモデルビジュアル検査モジュール310は、第1モデル312a、第2モデル312b、第3モデル312c等を通じて入力モジュール306から受け取られた検査オブジェクトのイメージを処理する。マルチモデルビジュアル検査モジュール310が、検査オブジェクトのイメージのビジュアル検査のための更なるモデルを含んでもよいと、当業者にとって理解される。マルチモデルビジュアル検査モジュール310内に含まれるモデルの一部または全部は、任意の与えられた時間でイメージを検査可能でもよい。マルチモデルビジュアル検査モジュール310内に含まれるモデルのそれぞれは、当該モデルに固有の特定のオブジェクト検出タスクを実行するためにトレーニングされる。
【0105】
メモリ304は、検査イメージデータ320を保存する。コンピュータシステム300は、通信インターフェース306を介して検査イメージデータ320を受け取る。検査イメージデータ320は、カメラデバイス(例えば、
図1のカメラ14)または遠隔コンピューティングデバイスまたはストレージデバイス等の他のデバイスによって、コンピュータシステム300に対して提供されてもよい。
【0106】
この入力は、例えば、
図1のカメラ14から、入力モジュール306で受け取られてもよい。
【0107】
メモリ304およびプロセッサ302の間の通信を通じて、検査イメージデータ320が第1モデル312aに対して提供される。一例として、第1モデル312aは、検査イメージデータ320に示されるオブジェクトのクラスまたは特定のオブジェクト(もしあれば)を判定するように構成されてもよい。他の例として、第1モデル312aが欠陥の存在を検出するように構成されてもよい。
【0108】
第1モデル312aによる検査イメージデータ320の分析の結果は、第1モデル出力データ322aとしてメモリ304に保存される。第1モデル出力データ322aは、オブジェクトまたは欠陥が認識された領域を囲む幾何学形状や、オブジェクトまたは欠陥を識別する更なるラベル等のアノテーションを有する検査イメージデータ320を備えてもよい。他の場合では、第1モデル出力データ322aが、欠陥データ(つまり、モデルによって識別される任意のオブジェクトを記述するデータ)のみを含んでもよい。
【0109】
モデル出力322は、イメージまたはイメージデータでもよい。モデル出力322は、部品またはそこの欠陥に関する位置情報(例えば、座標、重心/中心位置)と共にアノテーションされてもよい。更に、モデル出力322は、欠陥およびクラス割当(例えば、欠陥は「スクラッチ」と分類されてもよい)に関するラベルと共にアノテーションされてもよい。モデル出力322は、部品およびアセンブリの評価(例えば、部品上のシールが適切に配置されていると識別されてもよい)に関するラベルと共にアノテーションされてもよい。
【0110】
プロセッサ302は、モデルトリガ判定モジュール316を含む。モデルトリガ判定モジュール316は、マルチモデルビジュアル検査モジュール310内に配置されてもよい。第1モデル出力データ322aは、プロセッサ302でモデルトリガ判定モジュール316に対して提供される。モデルトリガ判定モジュール316は、プロセッサ302の他のどのモデル(もしあれば)に検査イメージデータ320が提供されるべきかを判定するための入力として第1モデル出力データ322aを使用する。モデルトリガ判定モジュール316は、この判定および他の判定を行うために、人工知能および/または機械学習を使用してもよい。
【0111】
例えば、第1モデル312aによって、検査イメージデータ320が特定の機械部品を示すと判定された(例えば、部品に対応するクラスラベルおよび部品についての位置情報を判定するためのオブジェクト検出を実行することによって)場合、モデルトリガ判定モジュール316は、検査イメージデータ320(または、そのサブセット)が第2モデル312bに対して提供されるべきであると判定してもよい。対照的に、第1モデル312aによって、判定が決定的でないために、または、検査イメージデータが不明瞭であるために、検査イメージデータ320が特定の機械部品を示さないと判定された場合、モデルトリガ判定モジュール316は、検査イメージデータ320が代わりに第3モデル312cに更なる処理のために送られるべきと判定してもよい。あるいは、検査イメージデータ320が第2の特定の機械部品を示す場合、検査イメージデータ320は更なる処理のために第3モデル312cに対して提供される。
【0112】
更なる例として、第1モデル312aは、特定の部品、エリア、またはオブジェクトまたは物品上の領域を検出するように構成されてもよい。検出される部品、エリア、または領域は、特定のタイプの欠陥が発達しやすいものでもよい。従って、このような部品、エリア、またはオブジェクトまたは物品上の領域がいつ存在するかを判定する(すなわち、イメージデータにおける部品、エリア、または領域の存在を検出するように構成されるオブジェクト検出モデルによって検出される)ことや、当該特定の部品、エリア、または領域をターゲットとする欠陥検出を実行することは有利である。部品、エリア、または領域が第1モデル312aによって検出された場合、検査イメージデータ320は、当該部品、エリア、または領域における欠陥を検出するように構成されてもよい第2モデル312bに対して提供されてもよい。第2モデル312bが検出するように構成される欠陥は、第1モデル312aによって先に検出された部品、エリア、または領域に特有の欠陥でもよい(すなわち、検出された部品、領域、またはエリアにおける当該特有の欠陥についてのみ欠陥検出を実行するのが合理的でありうる)。第1モデル312aの出力に基づく第2モデル312bを使用するか否かの判定は、メモリ304に保存されているモデルトリガ条件326に従って実行される。
【0113】
更なる例として、第1モデル312aは、欠陥の存在を検出するように構成されてもよい。第1モデル312aが検査オブジェクトにおける欠陥を検出した場合、モデルトリガ判定モジュール316は、検査イメージデータ320が、欠陥を更に局所化するために第2モデル312bに送られるべきと判定してもよい、および/または、欠陥を更に分類するために第3モデル312cに送られるべきと判定してもよい。
【0114】
更なる例として、第1モデル312aが、検査イメージデータ320における特定の部品の存在を検出するように構成されてもよい。当該部品が存在する場合、モデルトリガ判定モジュール316は、部品のアセンブリが正しいか否かを判定するために、検査イメージデータ320が第2モデル312bに送られるべきと判定してもよい。例えば、部品がシールリングアセンブリである場合、第2モデル312bは、シールの配置を検証してもよい。そして、モデルトリガ判定モジュール316は、検査イメージデータ320における欠陥の存在を検出するために、検査イメージデータ320が第3モデル312cに更に送られるべきと判定してもよい。ここで記述されるアセンブリ検出および欠陥検出は、異なるモデル312で同時にまたは順番に実行されてもよい。
【0115】
第2モデル312bに対して検査イメージデータ320を提供することに関して、上記のステップが繰り返されてもよい。第2モデル出力データ322bはメモリ304に保存され、プロセッサ302におけるモデルトリガ判定モジュール316に対しても提供される。第2モデル出力データ322bに関するモデルトリガ判定モジュール316の判定に応じて、検査イメージデータ320は第3モデル312cまたは更なるモデルに対して提供されてもよい。
【0116】
あるいは、モデル312による分析の完了後、モデルトリガ判定モジュール316は、検査イメージデータ320を複数の他のモデル312に対して同時にまたは順番に送ってもよい。例えば、第1モデル312aによる分析の完了後、モデルトリガ判定モジュールは、検査イメージデータ320を第2モデル312bおよび第3モデル312cの両方に送ってもよいし、最初に第2モデル312bに送って次に第3モデル312cに送ってもよい。第3モデル312cへの検査イメージデータ320の送付は、モデルトリガ判定モジュール316によって判定された検査イメージデータ320の更なる送付に加えて行われてもよい。複数のモデル312への検査イメージデータ320の送付は、深さ優先アプローチ、幅優先アプローチ、または任意の他のアプローチに従って行われてもよい。
【0117】
モデルトリガ判定モジュール316によってなされた判定は、メモリ304に保存されているプリセットモデルトリガ条件326によって報知される。このようなモデルトリガ条件326は、ユーザ入力に基づいて設定または修正されてもよい。例えば、モデルトリガ条件326は、検査イメージデータ320が、第1モデル312aによって判定された特定の機械部品を示す場合、検査イメージデータ320は、第2モデル312bおよび/または第3モデル312cに対して提供されるべきである、という条件を含んでもよい。モデルトリガ条件326は、第2モデルトリガ条件および第3モデルトリガ条件を含んでもよい。モデルトリガ条件326は、どのモデルまたはモデル312を検査イメージデータ320の後続の分析のためにトリガすべきかを判定するために、モデルトリガ判定モジュール316によって使用されるモデル312からの出力に対応する。モデルトリガ判定モジュール316は、順番にトリガされるモデル312のリストを生成してもよい。このように、与えられたモデル出力データ322は、後続の与えられたモデル312の使用をトリガしてもよい。
【0118】
このように、モデルトリガ条件326に従って検査イメージデータ320を分析する機会を得るべきモデル312のそれぞれが、そのような機会を実際に得る。このアプローチは、有利なことに、更なるタスクに対応することによる当該機能からの「ドリフト」を伴わずに、モデル312のそれぞれが専用の分析を実行できることを担保する。更に、マルチモデルアプローチは、有利なことに、状況がそれらの使用を許可する(すなわち、システム300が、他のモデル312の出力に基づいて、特定のモデルまたはモデル312が使用されるべきと判定する)場合に限って、使用のためにモデル312がトリガされるため、演算時間およびリソースに関する効率の向上をもたらしうる。
【0119】
モデル312による分析が完了すると、モデル出力データ322(例えば、第1モデル出力データ322a、第2モデル出力データ322b、第3モデル出力データ322c)、またはそのサブセットまたはその部品が、出力イメージアノテータモジュール314によって組み合わされる。
【0120】
出力イメージアノテータモジュール314によって生成されるモデル出力データ322の組合せは、アノテーションされた出力イメージデータ324としてメモリ304に保存される。アノテーションされた出力イメージデータ324は、欠陥または部品等の検出されたオブジェクトの座標(例えば、バウンディングボックスを定義するもの)、および/または、検出されたオブジェクトクラスラベル(例えば、欠陥タイプ/クラス、部品タイプ/クラス、部品アセンブリステータス)等のアノテーションを有する検査イメージデータ320を備えてもよい。
【0121】
いくつかの場合では、出力イメージアノテータモジュール314が、メモリ304に保存されるアノテーションされた出力イメージデータ324を生成するために、モデル出力データ322を使用してもよい。
【0122】
アノテーションされた出力イメージデータ324は、ディスプレイ308でユーザに対して表示されるモデル出力モジュール318によって提供される。
【0123】
図4および5を参照して、一実施形態に係る、自動化されたビジュアル検査のためのマルチモデルビジュアル検査モジュール310と、マルチモデルビジュアル検査モジュール310を使用するビジュアル検査を実行するための方法500と、が示されている。
【0124】
マルチモデルビジュアル検査モジュール310では、第1モデル312aが検査イメージデータ320を受け取り、第1モデル出力データ322aを生成する。第1モデル出力データ322aは、モデルトリガ条件326に照らした分析のために、モデルトリガ判定モジュール316に対して提供される。第1モデル出力データ322aに応じて、モデルトリガ判定モジュール316は、続いて検査イメージデータ320が第2モデル312bに対して提供されるべきと判定してもよい。第2モデル出力データ322bに応じて、モデルトリガ判定モジュール316は、続いて検査イメージデータ320が第3モデル312cに対して提供されるべきと判定してもよい。あるいは、モデルトリガ判定モジュール316は、検査イメージデータ320が、第1モデル312aの直後に第3モデル312cに対して提供されるべきと判定してもよい。このような判定は、メモリ304に保存されている第2モデルトリガ条件および第3モデルトリガ条件を含むモデルトリガ条件326に従ってなされる。第2モデル312bおよび第3モデル312cは、第1モデル出力データ322aの分析に基づいて、第2モデルトリガ条件および第3モデルトリガ条件が満たされるとそれぞれトリガされる。モデルをトリガすることは、例えば、検査イメージデータまたはそのサブセットを、トリガされたモデルの入力レイヤに対して出力を生成するために提供することを含んでもよい。
【0125】
モデルトリガ判定モジュール316が第3モデル312cに進むと判定すると、第4モデル312dまたは第5モデル312e(または、両方)に進むことに関する同様の判定が、第3モデル出力データ322cに基づいてモデルトリガ判定モジュール316によってなされてもよい。
【0126】
モデルトリガ判定モジュール316は、例えば、条件が満たされるか否かを判定するために各条件を巡回することによって、受け取られたモデル出力データ322に照らして全てのモデルトリガ条件を評価するように構成されてもよい。他の場合では、モデルトリガ判定モジュール316が、受け取られたモデル出力データ322を分析するように構成されてもよく、この分析から、モデルトリガ条件326のどのサブセットが、特定のモデル出力データ322によって評価されるべきかを判定してもよい(例えば、受け取られた出力が特定のモデルの出力であると、出力から判定することによって)。この技術は、与えられたモデル出力データ322について、モデル312の特定のサブセットのみがトリガされてもよい(または、されない)場合に適用されてもよく、これらの潜在的にトリガされるモデルについてのモデルトリガ条件のみが評価されるべきである。例えば、第2モデル312bが、第1モデル312aの出力データ322aによってトリガされうる(または、トリガされえない)唯一のモデルである場合、モデルトリガ判定モジュール316は、受け取られた出力が第1モデル312aからの出力データ322aであると判定すると、第2モデルトリガ条件のみを使用して出力データ322aを評価するように構成されてもよい(および、わざわざ不必要かつ非効率的な第3モデルトリガ条件を使用して評価しない)。
【0127】
モデルトリガ判定モジュール316は、モデルトリガ判定モジュール316によって実行される分析に基づいて、どのモデル312がトリガされるべきかを示すリストまたは他のデータ構造を維持するように構成されてもよい。トリガされるモデル312のリスト(システム300がN個のモデルを有する場合、0個とN個の間のモデルを含んでもよい)は、それぞれの分析を実行するためのモデル312を順番にトリガするために使用されてもよい。
【0128】
一実施形態では、マルチモデルビジュアル検査モジュール310が、一または複数のモデル312のそれぞれと通信している単一のモデルトリガ判定モジュール316を含んでもよい。各モデル312の出力データは、単一のモデルトリガ判定モジュール316によって分析されるために提供される。
【0129】
他の実施形態では、モデルトリガ判定モジュール316が、複数のモデルトリガ判定モジュールを含んでもよい。ここで、モデルトリガ判定モジュールは、検査イメージデータ320が更に送られる場所で局所的に制御するために、モデルのペア(不図示)内(例えば、第1モデル312aおよび第2モデル312bの間や、第1モデル312aおよび第3モデル312cの間)に挿入されてもよい。このようなモデルトリガ判定モジュールは、先のモデル312(例えば、312a)および後続のモデル312(例えば、312bまたは312c)の間に挿入される代わりに、後続の各モデル312(例えば、312bおよび312c)と関連付けられてもよい。
【0130】
他の実施形態では、各モデル312が、検査イメージデータ320の更なる送付に関する同じ判定を行うモデルトリガ判定モジュール内部に含んでもよい(不図示)。このような一実施形態では、モデルトリガ判定モジュールが、当該モデル自身の出力データの分析に基づいて、モデルトリガ条件326の充足を判定するように構成される。
【0131】
他の実施形態では、各モデルトリガ判定モジュールが、上記の実施形態のいずれかに従って設けられてもよい。すなわち、このようないずれのステータスも全てのモデルトリガ判定モジュールを記述しないように、いくつかはモデルのペア内に挿入されてもよいし、いくつかは後続のモデルに関連付けられてもよいし、およびいくつかはモデルの内部に含まれてもよい。
【0132】
モデルトリガ判定モジュール316の上記の構成のそれぞれにおいても、マルチモデルビジュアル検査モジュール310において、前述されたようなモデル312のそれぞれの内部または間に仮想的に表される、単一のモデルトリガ判定モジュール316のみが存在してもよい。
【0133】
モデル312による分析の完了後、モデルトリガ判定モジュール316は、検査イメージデータ320を、複数の他のモデル312に対して同時にまたは順番に送ってもよい。例えば、第1モデル312aによる分析が完了して第1モデル出力データ322aが生成された後、モデルトリガ判定モジュールは、検査イメージデータ320を、第2モデル312bおよび第3モデル312cの両方に送ってもよいし、最初に第2モデル312bに送って次に第3モデル312cに送ってもよい。第3モデル312cへの検査イメージデータ320の送付は、モデルトリガ判定モジュール316によって判定された検査イメージデータ320の更なる送付に加えて行われてもよい。複数のモデル312への検査イメージデータ320の送付は、深さ優先アプローチ、幅優先アプローチ、または任意の他のアプローチに従って行われてもよい。
【0134】
いくつかの場合では、モデルトリガ判定モジュール316が、異なるモデル出力データ322に基づく複数の判定に亘って起こりうるモデル312のオペレーションのシーケンスを調整するように構成される。例えば、モデルトリガ判定モジュール316は、検査イメージデータ320(または、そのサブセット)の各モデル312への提供を開始すること等によって、トリガされるモデル312を示すリストまたは他のデータ構造を維持してもよい。このようなトリガされるモデル(または、より正確には、トリガされるべきモデル)312のリストは、モデル312による分析が続けられながら動的に更新されてもよい。例えば、第1モデル出力データ322aの分析に基づいて、モデルトリガ判定モジュール316は、モデル312の第1リストが出力に基づいてトリガされるべきと判定してもよい。この第1リストは、複数のモデル312を含んでもよい。モデルトリガ判定モジュール316は、検査イメージデータ320(または、そのサブセット)の、モデル312の第1リストにおける第1リストモデルへの提供を開始する。第1リストモデル312は、入力された検査イメージデータを分析し、モデルトリガ判定モジュール316に対して提供される、それ自身の出力データ322を生成する。そして、モデルトリガ判定モジュール316は、モデル312の第1リストにおける第1リストモデル312の出力322に基づいて、トリガされるべきモデル312の第2リストを生成してもよい。そして、モデルトリガ判定モジュール316は、トリガされるべきモデル312のリストを、モデル312の第2リストも含むように(先に判定されたモデル312の第1リストに加えて)動的に更新してもよい。このように、モデル312がトリガされて分析されるべき新しいモデル出力データ322を生成するのに合わせて、モデルトリガ判定モジュール316は新しいモデルトリガ判定を管理できる。
【0135】
図4を特に参照して、
図3のマルチモデルビジュアル検査モジュールのブロック図が示されている。一実施形態では、マルチモデルビジュアル検査モジュール310は、第1モデル312aが第1モデル出力データ322aを出力した後に、第2モデル312bおよび/または第3モデル312cに対して検査イメージデータ320を送らせてもよい。同様に、マルチモデルビジュアル検査モジュール310は、第3モデル312cが第3モデル出力データ322cを出力した後に、第4モデル312dおよび/または第5モデル312eに対して検査イメージデータ320を送らせてもよい。マルチモデルビジュアル検査モジュール310による判定は、メモリ304に保存されているモデルトリガ条件326が満たされるか否かに応じて行われる。
【0136】
図5を特に参照して、一実施形態に係る、自動化されたビジュアル検査を実行する方法500が示されている。方法500は、
図3のコンピュータシステム300によって実施されてもよい。方法500は、オブジェクト検出のためのオブジェクトの自動化されたビジュアル検査に向けられてもよいし、他の文脈における更なる使用に向けられてもよい。
【0137】
502では、
図3のシステム300が、
図1のカメラ14等から検査イメージデータ320を受け取る。
【0138】
504では、マルチモデルビジュアル検査モジュール310が、第1モデル312a等のモデル312に対して、検査イメージデータ320を送る。
【0139】
506では、マルチモデルビジュアル検査モジュール310が、オブジェクト検出モデル312によって生成されたモデル出力データ322(例えば、第1モデル312aによって生成された第1モデル出力データ322a)を保存する。モデル出力データ322は、メモリ304に保存される。
【0140】
508では、モデルトリガ判定モジュール316が、第2モデル312b等の後続のモデル312に対して検査イメージデータ320を送るか否か(すなわち、一または複数の他のモデル312がトリガされるべきか否か)を判定する。この判定は、506からのモデル出力データ322(例えば、第1モデル出力データ322a)に基づいて、モデルトリガ条件326に従って行われる。
【0141】
モデルトリガ判定モジュール316が508で「yes」と判定した場合、第2モデル312b等の後続のモデル312についてステップ504~506が繰り返される。
【0142】
モデルトリガ判定モジュール316が508で「no」と判定した場合、方法500は代わりに510に進む。
【0143】
510では、全てのモデル出力データ322(例えば、第1モデル出力データ322aおよび第2モデル出力データ322b)が、出力イメージアノテータモジュール314によって、メモリ304に保存される単一のアノテーションされた出力イメージデータ324として統合される。
【0144】
512では、モデル出力モジュール318が、アノテーションされた出力イメージデータ324を、ユーザに対して表示されるためにディスプレイ308に送る。これは、グラフィカルユーザインターフェースにおいてアノテーションされた出力イメージを描写することを含んでもよい。いくつかの場合では、ユーザインターフェースが、
図1のオペレータデバイス16等のユーザデバイスで実装されてもよく、アノテーションされた出力イメージが、ネットワーク接続(例えば、
図1のネットワーク20)等を通じてユーザデバイスに対して送られてもよい。
【0145】
図6および7を参照して、自動化されたビジュアル検査のためのマルチモデルビジュアル検査モジュール310の一実施形態600と、
図6のマルチモデルビジュアル検査モジュール600を使用するビジュアル検査を実行する方法700と、が示されている。
【0146】
モジュール600は、第1オブジェクト検出モデル602、第2オブジェクト検出モデル604、および第3オブジェクト検出モデル606を備える。モデル602、604、606は、特定の順番またはシーケンスを有するものとして記述されるが、モデルが提示される(および、トリガされる)順番は、他の実施形態では変えられてもよいと理解される。
【0147】
モジュール600は、第1検出モデル602を含む。第1検出モデル602は、入力イメージにおいて複数の欠陥のクラスを検出するように構成される欠陥検出モデルである。欠陥クラスは、スクラッチ、多孔性、および凹みを含む。他の実施形態では、第1検出モデル602が、より少ないまたは追加的な欠陥クラスを含んでもよい。
【0148】
702では、第1検出モデル602が、前述されたように、検査イメージデータ320における欠陥の検出を実行する。第1モデル出力データ322a等の第1検出モデル602の出力は、メモリ304に保存される。第1検出モデル602の出力は、欠陥が認識された領域を囲む幾何学形状や、欠陥タイプ/クラスを識別するラベル等のアノテーションを有する検査イメージデータ320を備えてもよい。他の場合では、第1検出モデル602の出力が、欠陥データ(つまり、モデルによって識別される任意の欠陥を記述するデータ)のみを含んでもよい。
【0149】
モジュール600は、第2検出モデル604を含む。第2検出モデル604は、入力イメージにおける部品セクションの複数のクラスを検出するように構成される部品セクション(または、「セクション」)モデルである。部品セクションクラスは、VTCクラス、ジャーナルクラス、ローブクラス、およびセンサリングクラスを含む。第2検出モデル604は、部品セクションを囲むバウンディングボックスおよび部品セクションクラスラベルを生成すること等によって、入力イメージにおける部品セクションを検出および局所化する。検出対象の部品セクションは、「興味領域」(および、単数形での「興味領域」または「ROI」)と解釈されてもよい。第2検出モデル604は、入力イメージ(イメージのシーケンスの場合は、現在のイメージである)において存在する部品セクションを識別する。
【0150】
704では、第2検出モデル604が、前述されたように、検査イメージデータ320における個々の部品および部品セクションの検出を実行する。第2モデル出力データ322b等の第2検出モデル604の出力は、メモリ304に保存される。第2検出モデル604の出力は、部品または部品セクションが認識された領域を囲む幾何学形状や、部品または部品セクション(オブジェクトクラス)を識別するラベル等のアノテーションを有する検査イメージデータ320を備えてもよい。他の場合では、第2検出モデル604の出力が、部品および/または部品セクションデータ(つまり、モデルによって識別される任意の部品および/または部品セクションを記述するデータ)のみを含んでもよい。
【0151】
モジュール600は、第3検出モデル606を含む。第3検出モデル606は、入力イメージにおけるアセンブリ特徴の複数のクラスを検出するように構成されるアセンブリ検出モデルである。アセンブリクラスは、シールリングクラスおよびオイルホールクラスを含む。このように、第3検出モデル606は、アセンブリ特徴を囲むバウンディングボックス、アセンブリ特徴クラスラベル、および他の検出されたオブジェクトデータを生成すること等によって、入力イメージにおけるアセンブリ特徴を検出および局所化する。要するに、第3検出モデル606は、アセンブリ特徴クラスに対応する与えられたアセンブリ特徴が、イメージにおいて存在するか否かを判定する。
【0152】
706では、第3検出モデル606が、前述されたように、検査イメージデータ320における適切なアセンブリの検出を実行する。第3モデル出力データ322c等の第3検出モデル606の出力は、メモリ304に保存される。第3検出モデル606の出力は、アセンブリが認識された領域を囲む幾何学形状や、アセンブリ(オブジェクトクラス)を識別するラベル等のアノテーションを有する検査イメージデータ320を備えてもよい。他の場合では、第3検出モデル606の出力が、アセンブリデータ(つまり、モデルによって識別される任意のアセンブリを記述するデータ)のみを含んでもよい。
【0153】
以下では、モジュール600および方法700の使用の一例が記述される。概して、第1モデル602は、カムシャフトの検査イメージにおける異なるタイプの欠陥を探す。欠陥が見つかった場合、部品セクションを検出するための第2検出モデル604にイメージが渡される。第2検出モデルにイメージを渡す決定は、第1モデル出力データによって第2モデルトリガ条件が満たされたことに基づく。第2検出モデル604は、イメージ上のカムシャフトにおけるキーセクションを特定および識別する。モジュール600は、検出された部品セクション内に欠陥があるか否かをチェックする。これは、検出されたオブジェクト(欠陥、ROIセクション)についてのオブジェクト位置データの比較を含む。更に、イメージ(すなわち、出力データ)において特定のクラスの部品セクションが検出された場合、特定のアセンブリ特徴が当該検出された部品セクション内にあることを判定(確認)するために、第3検出モデル606にイメージが渡される。第3検出モデルにイメージを渡す決定は、第2モデル出力データによって第3モデルトリガ条件が満たされたことに基づく。
【0154】
検査イメージデータ320がモジュール600のモデル602、604、および606のそれぞれに送られる前に、モデルトリガ判定モジュール316が、検査イメージデータ320および検査イメージデータ320を既に分析したモデルによって提供された任意の利用可能な出力データ322に照らして、特定のモデル602、604、606による分析が適切であるか否かを判定してもよいと理解される。このような判定は、モデルトリガ条件326に従ってなされる。更に、いくつかの場合では、モデルによって生成される出力データ322が保存され、異なるモデルからの出力データ322を使用する分析(例えば、二つの出力データを比較するもの)のために使用されてもよい。例えば、第1モデル602によって検出された欠陥のバウンディングボックス座標および欠陥クラスラベル等のオブジェクトデータが保存され、第2モデル604によって検出された部品セクションのオブジェクトデータと、モジュール600によって後に比較されてもよい。バウンディングボックス座標を比較することによって、特定のクラスの欠陥が特定のクラスの部品セクション内に存在すると判定された場合、モジュール600は、欠陥を許容不能と判断し、対応する下流プロセスを開始してもよい。欠陥が許容可能なクラスである場合、または、欠陥が部品セクション外にある場合、モジュール600は、欠陥を許容可能とタグ付けしてもよい、および/または、欠陥を無視してもよい。このようなアプローチは、異なる部品セクションまたは興味領域が、異なる欠陥許容範囲を有する場合(例えば、特定のタイプの欠陥が特定の興味領域において許容可能/許容不能、閾値サイズ以下の欠陥は許容可能)に特に有利である。以上の概念は、ビジュアル検査システムに対して向上した機能を提供するために、異なるモデルを使用して検出される「オブジェクト」の間の他の関係を取得するために適用されうると理解される。換言すれば、異なるモデルからの出力データ322は、他のモデルをトリガすることを含んでもよい後続のアクションを決定するために、モジュール600によって分析または比較されてもよい。このような比較は、トリガされるモデルのモデルトリガ条件において具体化されてもよい。例えば、第1モデル602および第2モデル604の出力データ322が、第3モデル606がトリガされるべきか否かを判定する際に使用されてもよい。
【0155】
モデル602、604、および606のそれぞれが、更なる分析またはサブ分析を実行する更なるモデルを含んでもよいと更に理解される。例えば、第1検出モデル602は、いくつかの「より小さい」モデル(それぞれが、第1検出モデル602によって送信される特定の分析またはサブ分析を実行するために、検査イメージデータ320を受け取ってもよい)を含んでもよい。
【0156】
モデル602、604、606の、どの「より小さい」モデル(もしあれば)に検査イメージデータ320が送られるべきかの判定は、モデルトリガ判定モジュール316が、モデルトリガ条件326に従って行う。前述されたように、各モデル602、604、606、または任意のサブモデルは、その内部またはその間に追加的なモデルトリガ判定モジュールを含んでもよい。このような追加的なモデルトリガ判定モジュールが内部または間に存在する場合、このような追加的なモデルトリガ判定モジュールは、モジュール600における単一のモデルトリガ判定モジュール316を表す仮想モジュールでもよい。
【0157】
図8を参照して、複数のオブジェクト検出タスクを実行する単一のオブジェクト検出器を有することによって、オブジェクト検出に対して従来のアプローチを採用するビジュアル検査システムによって、使用または生成されるカムシャフトのイメージ800の表示例が示されている。イメージ800は、カムシャフトの入力検査イメージ802と、単一のオブジェクト検出器を使用したビジュアル検査後のカムシャフトのアノテーションされた出力イメージ804と、を含む。
【0158】
イメージ802は、カムシャフトの検査イメージである。検査イメージ802は、欠陥検出、部品セクション検出、およびアセンブリ特徴検出を実行するように構成される単一のオブジェクト検出器への入力として提供される。単一のオブジェクト検出器は、アノテーションされた出力イメージ804を生成する。アノテーションされた出力イメージ804は、検査イメージ802と、欠陥、部品セクション、およびアセンブリ特徴に関する、単一のオブジェクト検出器によって検出された、検査イメージにオーバーレイされた様々な情報と、を含む。特に、イメージ804は、検出されたオブジェクトを識別するバウンディングボックス806a~806gを含む。ボックス806aは、VTCについてのROIを示すセクション検出からの出力である。ボックス806bは、スラストセクションを見つけるセクション検出からの出力である。ボックス806cは、識別された欠陥を示す欠陥検出からの出力である。ボックス806d~806gは、欠陥およびオブジェクトがフィルタリングされた場所の視覚的表現である(例えば、特定のエリアの外にあるものは無視される)。
【0159】
図9を参照して、一実施形態に係る、本開示のビジュアル検査システムによって生成される、カムシャフトのアノテーションされた出力イメージ900の表示例が示されている。イメージ900を生成するために使用されるシステムは、
図8のイメージ802で使用される単一の検出器システムからの改良を提供してもよい。
【0160】
イメージ900は、
図3のコンピュータシステム300または
図1のAIビジュアル検査デバイス12によって生成されてもよい。イメージ900は、第1アノテーションされた出力イメージ902、第2アノテーションされた出力イメージ904、および組み合わされたアノテーションされた出力イメージ908を含む。
【0161】
イメージ902は、
図6の部品セクション検出モデル604等の部品セクション検出モデルを使用して生成されたイメージの一例である。イメージ902は、モデル出力322の一実施形態である。イメージ902は、部品セクションの特定のクラスが検出されたイメージ902における位置を示すバウンディングボックスおよび部品セクションのクラスに対応するラベルを含むアノテーション906aを含む。
【0162】
イメージ904は、
図6の欠陥検出モデル602等の欠陥検出モデルを使用して生成されたイメージの一例である。イメージ904は、モデル出力322の一実施形態である。イメージ904は、特定の欠陥が見つかったイメージ904における位置を示すバウンディングボックスおよび検出された欠陥のクラスを示すラベルを含む更なるアノテーション906b~906fを含む。
【0163】
イメージ902および904は、出力イメージアノテータモジュール314で組み合わされ、アノテーションされた出力イメージデータ324を生成する。
【0164】
イメージ908は、アノテーションされた出力イメージデータ324の一実施形態である。イメージは、部品セクションおよび欠陥検出モデルから生成されたアノテーション(および、これらのモデルの出力イメージ902、904において存在する)を含む。イメージ908は、部品セクションおよび欠陥検出モデルによって検出されたオブジェクトに対応するアノテーション906a~906f(および、イメージ902、904において存在する)を含む。アノテーションは、検出された特定のオブジェクトが特定されたイメージ908における位置を示すバウンディングボックスおよびオブジェクトのクラスを示すラベルを含む。
【0165】
他の実施形態では、イメージ908が、アノテーションのサブセットのみを含んでもよい。アノテーションのどのサブセットが使用または表示されるかは、システムによって自動的に判定されてもよいし(例えば、イメージアノテータモジュール314または他のソフトウェアロジックによって)、ユーザデバイスにおいてユーザによって提供される入力に基づいてもよい。例えば、どのオブジェクトが保持または表示されるかは、信頼閾値を満たすこと、特定の興味領域(ROI)フィルタを満たすこと、特定のオブジェクトクラスを有すること(例えば、見つかった不必要なクラス/オブジェクトの除去)等の少なくともいずれかに基づいて判定されてもよい。
【0166】
以上で言及された特徴は、検査オブジェクト上または検査オブジェクト内の特定の部品またはセクションの欠陥、アセンブリ、および存在または不存在のいずれかを含んでもよい。
【0167】
組み合わされたアノテーションされた出力イメージ908は、モデル出力モジュール318によって、ユーザに対する表示のためにディスプレイ308に送られてもよい。。組み合わされたアノテーションされた出力イメージ908は、メモリ304に保存されてもよい。いくつかの場合では、組み合わされたアノテーションされた出力イメージ908が、クラウドデバイスにおけるクラウドストレージ等のストレージおよび/または分析のために(例えば、分析サーバに)、他のデバイス(不図示)に送られてもよい。
【0168】
検査イメージデータ320が複数のモデル312に対して送られる場合に、各モデル312が検査イメージデータ320を順番に受け取るように発明の実施形態が記述されたが、関連するシステム、方法、およびデバイスは、モデル312が、実質的におよび/または完全に並列的に/並行的に/同時に、検査イメージデータ320を受け取るように構成されてもよい。
【0169】
以上の記述は、一または複数の装置、方法、またはシステムの例を提供したが、他の装置、方法、またはシステムが、当業者によって解釈される請求項の範囲内でもよいと理解される。
【手続補正書】
【提出日】2023-09-29
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
マルチモデルアーキテクチャを使用する自動化された人工知能(AI)ビジュアル検査のためのシステムであって、
検査されているターゲットオブジェクトの検査イメージデータを取得するためのカメラデバイスと、
第2ニューラルネットワークモデルの使用をトリガするための第2モデルトリガ条件を保存するメモリと、
前記検査イメージにおける第1オブジェクトクラスを検出し、検出されたオブジェクトの第1リストを含む第1ニューラルネットワークモデル出力データを生成するように構成される第1ニューラルネットワークモデルを実行することと、
前記第1ニューラルネットワークモデル出力データが前記第2モデルトリガ条件を満たすか否かを判定するように構成されるモデルトリガ判定モジュールを実行することと、
前記第2モデルトリガ条件が満たされると、前記検査イメージにおける第2オブジェクトクラスを検出し、検出されたオブジェクトの第2リストを含む第2ニューラルネットワークモデル出力データを生成するように構成される前記第2ニューラルネットワークモデルを実行することと、
通信インターフェースを介して、前記第1ニューラルネットワークモデル出力データおよび生成される場合は前記第2ニューラルネットワークモデル出力データを含むニューラルネットワークモデル出力データをオペレータデバイスに送ることと、
を実行するように構成される、前記メモリと通信しているプロセッサと、
を備えるAIビジュアル検査デバイスと、
を備え、
前記オペレータデバイスは、前記受け取られたニューラルネットワークモデル出力データを表示するように構成されるシステム。
【請求項2】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトのオブジェクトクラスラベルを含み、前記第2モデルトリガ条件は、要求されたオブジェクトクラスラベルを含み、前記プロセッサは、前記検出されたオブジェクトの前記オブジェクトクラスラベルが、前記要求されたオブジェクトクラスラベルにマッチングするか否かを判定する、請求項1に記載のシステム。
【請求項3】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトのオブジェクト位置データを含み、前記第2モデルトリガ条件は、オブジェクト位置要求を含み、前記プロセッサは、前記検出されたオブジェクトの前記オブジェクト位置データが、前記オブジェクト位置要求を満たすか否かを判定する、請求項1に記載のシステム。
【請求項4】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトの信頼レベルを含み、前記第2モデルトリガ条件は、最低信頼レベルを満たすことを含み、前記プロセッサは、前記検出されたオブジェクトの前記信頼レベルが、前記最低信頼レベルを満たすか否かを判定する、請求項1に記載のシステム。
【請求項5】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトのオブジェクトサイズデータを含み、前記第2モデルトリガ条件は、最小オブジェクトサイズを満たすことを含み、前記プロセッサは、前記オブジェクトサイズデータが、前記最小オブジェクトサイズを満たすか否かを判定する、請求項1に記載のシステム。
【請求項6】
前記第1ニューラルネットワークモデル出力データは、検出されたオブジェクトの少なくとも二つの属性を記述するオブジェクト属性データを含
み、
前記少なくとも二つの属性は、オブジェクト位置、オブジェクトクラスラベル、オブジェクト信頼レベル、およびオブジェクトサイズの任意の二つ以上を含む、
請求項1に記載のシステム。
【請求項7】
前記第2モデルトリガ条件は、前記検出されたオブジェクトの前記少なくとも二つの属性のそれぞれについての要求を含み、前記プロセッサは、前記オブジェクト属性データが、前記検出されたオブジェクトの前記少なくとも二つの属性のそれぞれについての要求を満たすか否かを判定するように更に構成される、請求項
6に記載のシステム。
【請求項8】
前記第1ニューラルネットワークモデル出力データは、前記第2モデルトリガ条件が前記プロセッサによって使用されることを識別する識別子を含
み、
前記識別子は、前記第1ニューラルネットワークモデルを識別するモデル識別データを備え、
前記プロセッサは、前記識別子に基づいて、前記第2モデルトリガ条件が使用されることを判定する、
請求項1に記載のシステム。
【請求項9】
前記第2モデルトリガ条件が使用されることを判定する際、前記プロセッサは、前記第1ニューラルネットワークモデル出力データが、前記第2モデルトリガ条件を満たすか否かを判定するために、前記識別子を使用して前記メモリから前記第2モデルトリガ条件を取り出す、請求項
8に記載のシステム。
【請求項10】
前記第2ニューラルネットワークモデルに提供される前記検査イメージは、前記第1ニューラルネットワークモデル出力データから判定される前記検査イメージのサブセットを備え、第2オブジェクト検出タスクは、前記検査イメージの前記サブセットを使用して実行される、請求項1に記載のシステム。
【請求項11】
前記プロセッサは、前記第2モデルトリガ条件が満たされると判定する時に、前記第1ニューラルネットワークモデル出力データに基づいて、前記第2ニューラルネットワークモデルを含む、前記プロセッサによって実行されるニューラルネットワークモデルのリストを生成するように更に構成される、請求項1に記載のシステム。
【請求項12】
前記プロセッサは、前記リストにおける前記ニューラルネットワークモデルのそれぞれを連続的に実行し、前記ニューラルネットワークモデルのそれぞれの実行は、少なくとも前記検査イメージのサブセットを、前記ニューラルネットワークモデルのそれぞれに提供することと、前記ニューラルネットワークモデルのそれぞれを使用してニューラルネットワークモデル出力データを生成することと、を含む、請求項
11に記載のシステム。
【請求項13】
前記プロセッサは、前記メモリに保存された追加的なニューラルネットワークモデルのモデルトリガ条件を満たす、先に実行されたニューラルネットワークモデルによって生成されたニューラルネットワーク出力データに基づいて、前記プロセッサによって判定される、実行される前記追加的なニューラルネットワークモデルが含まれるように、前記リストを動的に更新するように更に構成される、請求項
11に記載のシステム。
【請求項14】
実行される前記ニューラルネットワークモデルのリストは、それぞれが単一のニューラルネットワークモデルに対応する、実行される複数の別のニューラルネットワークモデルのリストを備える、請求項
11に記載のシステム。
【請求項15】
前記オペレータデバイスは、前記第2モデルトリガ条件を設定する入力データを受け取るためのユーザインターフェースを生成するように構成され、前記第2モデルトリガ条件は、前記オペレータデバイスまたは前記AIビジュアル検査デバイスによって前記入力データに応じて生成される、請求項1に記載のシステム。
【請求項16】
前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルの少なくとも一つは、イメージセグメンテーションニューラルネットワークモデルである、請求項1に記載のシステム。
【請求項17】
前記イメージセグメンテーションニューラルネットワークモデルは、インスタンスセグメンテーションニューラルネットワークモデルである、請求項
16に記載のシステム。
【請求項18】
マルチモデルアーキテクチャを使用する自動化された人工知能(AI)ビジュアル検査の
コンピュータ利用方法であって、
検査イメージデータにおける第1オブジェクトクラスを検出するように構成される第1ニューラルネットワークモデルへの入力として、前記検査イメージデータを提供することと、
前記第1ニューラルネットワークモデルを使用して、第1ニューラルネットワークモデル出力データを生成することを含む第1オブジェクト検出タスクを実行することと、
前記第1ニューラルネットワークモデル出力データを、検査イメージアノテーションデータとしてメモリに保存することと、
前記第1ニューラルネットワークモデル出力データが、前記メモリに保存される第2モデルトリガ条件を満たすか否かを判定することと、
前記第1ニューラルネットワークモデル出力データが前記第2モデルトリガ条件を満たす場合、
前記検査イメージデータにおける第2オブジェクトクラスを検出するように構成される第2ニューラルネットワークモデルへの入力として、前記検査イメージデータを提供することと、
前記第2ニューラルネットワークモデルを使用して、第2ニューラルネットワーク出力データを生成することを含む第2オブジェクト検出タスクを実行することと、
前記第2ニューラルネットワーク出力データを、前記検査イメージアノテーションデータのサブセットとして前記メモリに保存することと、
を実行する
方法。
【請求項19】
前記検査イメージデータおよび前記検査イメージアノテーションデータを使用して、アノテーションされた検査イメージを生成ことと、
前記アノテーションされた検査イメージをユーザインターフェースにおいて表示することと、
を更に実行する、請求項18に記載の方法。
【請求項20】
前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルの少なくとも一つは、インスタンスセグメンテーションニューラルネットワークモデルである、請求項18に記載の方法。
【国際調査報告】