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

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

▶ コグネックス・コーポレイションの特許一覧

特表2024-541040マシンビジョンに深層学習ツールを適用するシステムおよび方法、ならびにそのためのインターフェース
<>
  • 特表-マシンビジョンに深層学習ツールを適用するシステムおよび方法、ならびにそのためのインターフェース 図1
  • 特表-マシンビジョンに深層学習ツールを適用するシステムおよび方法、ならびにそのためのインターフェース 図2
  • 特表-マシンビジョンに深層学習ツールを適用するシステムおよび方法、ならびにそのためのインターフェース 図3
  • 特表-マシンビジョンに深層学習ツールを適用するシステムおよび方法、ならびにそのためのインターフェース 図4
  • 特表-マシンビジョンに深層学習ツールを適用するシステムおよび方法、ならびにそのためのインターフェース 図5
  • 特表-マシンビジョンに深層学習ツールを適用するシステムおよび方法、ならびにそのためのインターフェース 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-06
(54)【発明の名称】マシンビジョンに深層学習ツールを適用するシステムおよび方法、ならびにそのためのインターフェース
(51)【国際特許分類】
   G06T 7/00 20170101AFI20241029BHJP
   G06V 10/82 20220101ALI20241029BHJP
【FI】
G06T7/00 350C
G06V10/82
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024525591
(86)(22)【出願日】2022-03-03
(85)【翻訳文提出日】2024-06-24
(86)【国際出願番号】 US2022018778
(87)【国際公開番号】W WO2023075825
(87)【国際公開日】2023-05-04
(31)【優先権主張番号】17/516,417
(32)【優先日】2021-11-01
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
(71)【出願人】
【識別番号】504382671
【氏名又は名称】コグネックス・コーポレイション
(74)【代理人】
【識別番号】100087642
【弁理士】
【氏名又は名称】古谷 聡
(74)【代理人】
【識別番号】100082946
【弁理士】
【氏名又は名称】大西 昭広
(74)【代理人】
【識別番号】100195693
【弁理士】
【氏名又は名称】細井 玲
(72)【発明者】
【氏名】ウィス,レト
(72)【発明者】
【氏名】ペトリー・ザ・サード,ジョン,ピー
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096BA03
5L096CA02
5L096CA22
5L096DA02
5L096FA69
5L096GA51
5L096HA11
5L096KA04
(57)【要約】
【課題】深層学習プロセスを使用してマシンビジョンタスクを実行するためのシステムおよび方法の提供。
【解決手段】本発明は、低から中程度の処理能力のオンボードプロセッサを有するカメラアセンブリを使用するビジョンシステムおよび使用方法、ならびにGUIを提供することにより、従来技術の欠点を克服する。ビジョンシステムツールは、深層学習プロセスに基づいて画像データを分析し、そこから結果を生成する。トレーニングプロセスは、オンボードプロセッサから離れた場所にあるプロセッサにトレーニング画像データを提供し、そこからビジョンシステムツールを生成し、オンボードプロセッサ上での実行時動作のために、ビジョンシステムツールの保存版を提供する。GUIによって、ビジョンシステムツールに適用可能なしきい値の操作や、トレーニングプロセスによるビジョンシステムツールのトレーニングの改良が可能になる。
【選択図】図1
【特許請求の範囲】
【請求項1】
カメラアセンブリと共に使用するためのビジョンシステムであって
1つ以上の深層学習ツールを漸進的にトレーニングし、そこから結果を生成するために使用される1つ以上のトレーニング候補画像を自動的に提供する候補ボックスを有するグラフィカルユーザーインターフェース(GUI)と、
前記トレーニング候補画像が、前記カメラアセンブリによって取得され、またはストレージソースから取得されたラベルなし画像のセットからのラベル付けされた画像を含むことと、
当該ビジョンシステムに入力された画像データに割り当てられた信頼度スコアに基づいて、興味のある特徴を有する前記ラベルなし画像のうちの1つ以上をラベル付けできるようにするスコアリングプロセスと
を含む、ビジョンシステム。
【請求項2】
前記スコアリングプロセスは、前記ビジョンシステムが使用するビジョンシステムツールのタイプに基づいて信頼度スコアを生成するように適合されている、請求項1に記載のビジョンシステム。
【請求項3】
前記ビジョンシステムツールは、分類ツール、セグメンテーションツール、またはOCRツールである、請求項2に記載のビジョンシステム。
【請求項4】
前記分類ツールまたは前記セグメンテーションツールに関連して、前記スコアリングプロセスは、前記画像データ中の区分の出力確率にわたる前記画像データ中のエントロピーに応じて前記信頼度スコアを生成するように適合されている、請求項3に記載のビジョンシステム。
【請求項5】
エントロピーが高いと信頼度スコアは低くなり、エントロピーが低いと信頼度スコアは高くなる、請求項4に記載のビジョンシステム。
【請求項6】
前記OCRツールに関連して、前記スコアリングプロセスは、ユーザーが提供するスキーマと前記OCRツールによる実際の予測との間の差に応じて前記信頼度スコアを生成するように適合されている、請求項3に記載のビジョンシステム。
【請求項7】
前記GUIは、前記ユーザーが前記GUIに入力を行う際の視覚的フィードバックに基づいて、専門家でないユーザーが操作できるように構築および構成されている、請求項1に記載のビジョンシステム。
【請求項8】
前記GUIは、撮像対象物の角度を入力できるように構成されたダイアログボックスを有する、請求項7に記載のビジョンシステム。
【請求項9】
前記GUIは、画像特性の統計分析および測定に基づく新たなトレーニング候補画像の案を表示する候補ボックスを有する、請求項8に記載のビジョンシステム。
【請求項10】
前記1つ以上のトレーニング候補画像は、前記GUIを操作するユーザーによって選択された後、1つ以上の深層学習ツールを漸進的にトレーニングするために使用される、請求項9に記載のビジョンシステム。
【請求項11】
前記新たなトレーニング候補画像は、CNNまたは深層学習プロセスを使用して、合否検査基準に基づいて分別される、請求項9に記載のビジョンシステム。
【請求項12】
前記新たなトレーニング候補画像は、撮像対象物の全体的な分類、または前記撮像対象物の個々の特徴の位置もしくは識別情報に基づいて分別される、請求項9に記載のビジョンシステム。
【請求項13】
前記カメラアセンブリはオンボードプロセッサを含み、前記1つ以上の深層学習ツールは、前記オンボードプロセッサから離れた場所にあるプロセッサ上でトレーニングされ、前記オンボードプロセッサにロードされる、請求項1に記載のビジョンシステム。
【請求項14】
前記1つ以上の深層学習ツールは、ニューラルネットワークに基づいている、請求項1に記載のビジョンシステム。
【請求項15】
前記グラフィカル表現は、(a)不適合画像のタイプ、(b)画像内の対象物の区分、および(c)対象物上の不適合特徴の位置のうちの少なくとも1つを含む、請求項14に記載のビジョンシステム。
【請求項16】
前記GUIは、前記ユーザーが少なくともカメラのセットアップ、トレーニングおよび実行時動作を選択できるようにする複数の段階的機能選択を定義する、請求項15に記載のビジョンシステム。
【請求項17】
前記GUIは、しきい値に基づいて適合画像と不適合画像を定義するサムネイル画像を含む、請求項16に記載のビジョンシステム。
【請求項18】
カメラアセンブリと、画像データにビジョンシステムプロセスを適用するプロセッサとを有するビジョンシステムを動作させるための方法であって、
ラベルなし画像の実行時画像セットから、1つ以上のトレーニング候補画像を自動的に選択するステップと、
グラフィカルユーザーインターフェース(GUI)の候補ボックスに、前記1つ以上のトレーニング候補画像を提供するステップと、
前記GUIのユーザーが1つ以上のトレーニング候補画像を少なくとも1つの合格画像または少なくとも1つの不合格画像として選択することを可能にするステップと、
選択された前記少なくとも1つの合格画像を使用して、1つ以上の深層学習ツールに基づくさらなるトレーニングプロセスを実行するステップと、
実行時動作のために、前記1つ以上の深層学習ツールの保存版を提供するステップと
を含み、
前記選択するステップは、前記ビジョンシステムに入力された画像データに割り当てられた信頼度スコアに基づいて、興味のある特徴を有する前記ラベルなし画像のうちの1つ以上をラベル付けすることを含む、方法。
【請求項19】
前記ビジョンシステムが使用するビジョンシステムツールのタイプに基づく信頼度スコアを生成するために、前記ラベルなし画像をスコアリングすることをさらに含む、請求項18に記載の方法。
【請求項20】
前記ビジョンシステムツールは、分類ツール、セグメンテーションツール、またはOCRツールである、請求項19に記載の方法。

【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
本発明は、深層学習プロセスを使用してマシンビジョンタスクを実行するためのシステムおよび方法、ならびにそのようなシステムおよび方法をトレーニングおよび操作するためのインターフェースに関する。
【背景技術】
【0002】
発明の背景
対象物の測定、検査、アライメント、および/またはシンボロジー(バーコードなど)のデコードを実行するマシンビジョンシステム(本明細書では「ビジョンシステム」とも呼ぶ)は、広範な用途および産業で使用されている。これらのシステムは、被写体や対象物の画像(通常、グレースケールまたはカラー、1次元、2次元または3次元)を取得する画像センサーの使用を基本としており、オンボードまたはリモートの相互接続されたビジョンシステムプロセッサを使用して、取得した画像を処理する。プロセッサは、一般に、処理ハードウェアと、処理された画像の情報に基づいて所望の出力を生成する1つ以上のビジョンシステムプロセスを実行する非一時的なコンピュータ読み取り可能なプログラム命令との両方を含む。この画像の情報は、通常、様々な色および/または強度をそれぞれ有する画像ピクセルのアレイ内に得られる。ビジョンシステムアプリケーションの様々な例には、対象物/部品の欠陥および/または公差の検査、部品の分類(例えば、部品のタイプ、バージョン、モデルなど)、撮影シーン内の部品の位置特定、および/または光学式文字認識(OCR)などがある。これらのアプリケーションは、限定はしないが、例えば、ロボットマニピュレータ/モーションステージを移動させることや、移動するライン(例えば、コンベア)上の対象物をゲート処理(例えば、不良部品の除去)することのような様々なプロセスの制御を含む、多くの産業タスクに適用することができる。
【0003】
深層学習コンピューティングアーキテクチャを使用して利用可能なもの(例えば、ニューラルネットワークや、他の「AI」ベースのシステム)のような、先進のプロセスを適用することが望ましい。これらのアーキテクチャに関連して、使用を容易にする様々なトレーニング手順およびインターフェースが存在する。
【0004】
発明の概要
本発明は、低から中程度の処理能力のオンボードプロセッサを有するカメラアセンブリを使用することができるビジョンシステムおよび関連する使用方法、ならびにグラフィカルユーザーインターフェース(GUI)を提供することにより、従来技術の欠点を克服する。少なくとも1つのビジョンシステムツールは、深層学習プロセスに基づいて画像データを分析し、そこから結果を生成する。トレーニングプロセスは、オンボードプロセッサから離れた場所にあるプロセッサ(任意選択)にトレーニング画像データを提供し、そこからビジョンシステムツールを生成し、オンボードプロセッサ上での実行時動作のために、ビジョンシステムツールの保存版を提供することができる。GUIによって、ビジョンシステムツールに適用可能なしきい値の操作や、トレーニングプロセスによるビジョンシステムツールのトレーニングの改良が可能になる。スコアリングプロセスにより、取得画像および/または保存画像のセットからラベルなし画像(ラベル付けされていない画像)を自動的に選択し、関連する信頼度スコアの計算に応じて、それらをトレーニング画像としてラベル付けすることができる。
【0005】
例示的実施形態では、カメラアセンブリと共に使用するためのビジョンシステム、および同ビジョンシステムを動作させるための関連する方法が提供される。グラフィカルユーザーインターフェース(GUI)を提供することができ、このGUIは、1つ以上の深層学習ツールを漸進的にトレーニングし、そこから結果を生成するために使用される1つ以上のトレーニング候補画像を自動的に提供する候補ボックスを含むことができる。前記トレーニング候補画像には、前記カメラアセンブリによって取得されたラベルなし画像のセットまたはストレージソースからの、保存された画像やラベル付けされた画像が含まれ得る。スコアリングプロセスにより、ビジョンシステムに入力された画像データに割り当てられた信頼度スコアに基づいて、興味のある特徴を有する前記ラベルなし画像のうちの1つ以上をラベル付けすることができる。例えば、前記スコアリングプロセスは、前記ビジョンシステムが使用するビジョンシステムツールのタイプに基づいて信頼度スコアを生成するように適合されていてもよい。前記ビジョンシステムツールは、非限定的な例として、分類ツール、セグメンテーションツール、またはOCRツールであってもよい。前記分類ツールまたは前記セグメンテーションツールに関連して、前記スコアリングプロセスは、前記画像データ中の区分の出力確率にわたる前記画像データ中のエントロピーに応じて前記信頼度スコアを生成するように適合されていてもよい。エントロピーが高いと信頼度スコアは低くなり、エントロピーが低いと信頼度スコアは高くなる。前記OCRツールに関連して、前記スコアリングプロセスは、ユーザーが提供するスキーマと前記OCRツールによる実際の予測との間の差に応じて前記信頼度スコアを生成するように適合されていてもよい。例えば、前記GUIは、前記ユーザーが前記GUIに入力を行う際の視覚的フィードバックに基づいて、専門家でないユーザーが操作できるように構築および構成されてもよい。前記GUIは、撮像対象物の角度を入力できるように構成されたダイアログボックスを有することができる。前記GUIは、統計分析と、画像特性の測定とに基づく新たなトレーニング候補画像の案を表示する候補ボックスを有することができる。前記1つ以上のトレーニング候補画像は、前記GUIを操作するユーザーによって選択された後、1つ以上の深層学習ツールを漸進的にトレーニングするために使用されてもよい。前記スコアリングプロセスを使用してラベルなし画像をラベル付けすることによって最初に導出された前記新たなトレーニング候補画像は、CNNまたは深層学習プロセスを使用して、合否検査基準に基づいて分別されてもよい。前記新たな候補トレーニング画像は、撮像対象物の全体的な分類、または前記撮像対象物の個々の特徴の位置もしくは識別情報に基づいて分別されてもよい。前記カメラアセンブリはオンボードプロセッサを含むことができ、前記1つ以上の深層学習ツールは、前記オンボードプロセッサから離れた場所にあるプロセッサ上でトレーニングされ、前記オンボードプロセッサにロードされてもよい。前記1つ以上の深層学習ツールは、ニューラルネットワークに基づくものであってもよい。前記グラフィカル表現は、(a)不適合画像のタイプ、(b)画像内の対象物の区分、および(c)対象物上の不適合特徴の位置のうちの少なくとも1つを含むことができる。前記GUIは、前記ユーザーが少なくともカメラのセットアップ、トレーニング、および実行時動作を選択できるようにする複数の段階的機能選択を定義することができる。前記GUIは、しきい値に基づいて適合画像と不適合画像を定義するサムネイル画像を含むことができる。
【0006】
一実施形態では、カメラアセンブリと、画像データにビジョンシステムプロセスを適用するプロセッサとを有するビジョンシステムを動作させるためのシステムおよび方法が提供される。最初はラベルなし画像の実行時画像セットから、1つ以上のトレーニング候補画像を自動的に選択することができる。グラフィカルユーザーインターフェース(GUI)の候補ボックスに、前記1つ以上のトレーニング候補画像を提供/表示することができる。このシステムおよび方法によれば、さらに、GUIのユーザーは、1つ以上のトレーニング候補画像を少なくとも1つの合格画像または少なくとも1つの不合格画像として選択することができる。選択された前記少なくとも1つの合格画像を使用して、1つ以上の深層学習ツールに基づくさらなるトレーニングプロセスを実行することができる。実行時動作のために、前記1つ以上の深層学習ツールの保存版を提供することができる。前記選択は、前記ビジョンシステムに入力された画像データに割り当てられた信頼度スコアに基づいて、興味のある特徴を有する前記ラベルなし画像のうちの1つ以上をラベル付けすることに基づくことができる。例えば、ラベルなし画像を処理することで、前記ビジョンシステムが使用するビジョンシステムツールのタイプに基づく信頼度スコアを生成することができる。前記ビジョンシステムツールは、非限定的な例として、分類ツール、セグメンテーションツール、またはOCRツールであってもよい。
【図面の簡単な説明】
【0007】
以下の発明の説明では、添付の図面を参照する。
【0008】
図1】深層学習コンピューティングプロセスに基づくビジョンシステムツールと、トレーニングし、取得した画像データの実行時分析を制御するための関連グラフィカルユーザーインターフェース(GUI)とを使用して、撮像対象物を分析するように構成されたビジョンシステムの図である。
【0009】
図2図1のビジョンシステムと共に使用するための、一般化された深層学習ベースのビジョンシステムツールを示すブロック図である。
【0010】
図3】例示的実施形態によるグラフィカルユーザーインターフェース(GUI)を示す例示的画面表示の図である。
【0011】
図4】ビジョンシステム分類ツールと共に使用するための例示的スコアリングプロセスを示すフロー図である。
【0012】
図5】ビジョンシステムセグメンテーションツールと共に使用するための例示的スコアリングプロセスを示すフロー図である。
【0013】
図6】ビジョンシステムOCRツールと共に使用するための例示的スコアリングプロセスを示すフロー図である。
【発明を実施するための形態】
【0014】
詳細な説明
【0015】
I. システム概要
図1は、例示的実施形態による深層学習プロセス/プロセッサアーキテクチャが組み込まれたビジョンシステム構成100の概要を示している。構成100は、光学パッケージOと、任意の許容可能なタイプおよび解像度の位置合わせされた画像センサーSを支持する関連ハウジング/筐体112とを有する、1つ以上のビジョンシステムカメラ(複数可)110を含む。この図は、全体的な撮像シーン122において、カメラ110が、カメラの視野(FOV)内にあるトレーニング対象物または実行時対象物120の画像を取得する様子を示している。プロセッサ130は、センサーで取得した(またはストレージソース140から入手できる)画像データ132を受信し、その画像データ132に対して、所望のトレーニングおよび/または実行時分析動作を実行する。プロセッサ130(マイクロプロセッサ、FPGA、ASICなど、任意の許容可能なアーキテクチャを定義できる)は、部分的または全体的に筐体112内に収容されてもよく、これによってカメラ110は、いわゆる「スマートカメラ」アセンブリを定義する。例えば、プロセッサの種々の機能の要素は、有線または無線リンクによって相互接続されたリモートコンピューティングデバイス150および/または160に搭載される。コンピューティングデバイスは、サーバー、PC、ラップトップ、タブレット、スマートフォン、クラウドコンピューティング環境、またはそれらの組み合わせであってもよい。異なる機能を実行するために、複数のコンピューティングデバイスが提供されてもよい。例えば、トレーニングおよび/または他のプロセスを実行するためのクラウドまたはサーバー160と、ローカルユーザーインターフェース機能を実行するための図示のコンピュータ150(例えばラップトップ)である。インターフェースコンピュータは、表示装置および/またはタッチスクリーン152、キーボード154、マウス/タッチパッド156などの、従来の機能またはカスタム機能を含むことができる。インターフェース機能の一部は、タッチスクリーン、ボタン、インジケータ、スピーカーなどの形で、筐体112にさらに(または代替的に)直接付与されてもよい。
【0016】
ビジョンシステムプロセス(プロセッサ)130は、複数の機能プロセス/プロセッサまたはモジュールを含み、これらは広く変更可能である。一般に、このプロセス/プロセッサは、限定はしないが、検査、分類、部品位置特定、OCRなど(上述)を含む所望のアプリケーションで使用される、様々な従来の、またはカスタムのビジョンシステムツール132を含むことができる。ビジョンシステムプロセス(プロセッサ)130は、これらのツール132を実行し、または強化する深層学習プロセス/プロセッサ134をさらに含む。深層学習をサポートするために、様々なハードウェアプラットフォームを使用することができる。限定はしないが、これらには、グラフィカルプロセッシングユニット(GPU)、推論ハードウェア(例えば、カリフォルニア州サンマテオのMovidius社から入手できる)、および他のプラットフォーム(例えば、SIMDプロセッサなど)が含まれ得る。深層学習プロセス(プロセッサ)は、任意の許容可能な市販の、またはカスタムのソフトウェアパッケージ(複数可)、および関連する互換性のあるハードウェアプラットフォームに基づいて提供することができる。深層学習の1つの許容可能な形態は、畳み込みニューラルネットワークアーキテクチャ(CNN)を使用してインスタンス化される。市販のCNNパッケージは、TensorFlow、Microsoft CNTKなど、様々なベンダーから入手できる。深層学習プロセス(プロセッサ)の動作と操作については、以下で説明する。ビジョンシステムプロセス(プロセッサ)は、様々なトレーニング機能および実行時GUI機能、ならびに表示装置を駆動するインターフェースプロセス(プロセッサ)/モジュール136をさらに含む。インターフェースプロセス(プロセッサ)、およびそれに関連する表示装置(複数可)の動作については、以下で詳しく説明する。
【0017】
上述のように、トレーニングと実行時深層学習動作は両方とも、カメラおよび/またはローカルコンピューティングデバイス、またはリモートサーバー/クラウドコンピューティング環境上に保持できる保存データ140を使用することができる。この保存データには、画像、分類子およびテンプレート、ならびに深層学習プロセス(プロセッサ)134の動作に関連する他の情報が含まれ得る。
【0018】
ビジョンシステムプロセス(プロセッサ)130は、候補画像のトレーニングに使用できる入力画像データ132に関する信頼度スコアを生成することが可能なスコアリングプロセス(プロセッサ)138をさらに含む。スコアリングプロセス(プロセッサ)138は、トレーニング候補画像を提供するためにその画像データを使用するか、それとも破棄するかを決めるための所定のしきい値を上回るか、または下回る信頼度スコアを生成するように動作する。スコアリングプロセスの動作の例を以下に示す。
【0019】
図2を参照すると、深層学習プロセス(プロセッサ)134が、さらに詳しく概略的に示されている。プロセス(プロセッサ)134は、非限定的な例として、例示的実施形態によれば、畳み込みニューラルネットワーク(CNN)210で構成される。そのようなCNNの動作については、2019年6月6日に出願された、「SYSTEM AND METHOD FOR FINDING AND CLASSIFYING PATTERNS IN AN IMAGE WITH A VISION SYSTEM」と題する、共通の出願人に譲渡された米国特許出願第16/433,602号に詳しく記載されており、その教示は、参照により有用な背景情報として組み込まれる。
【0020】
図示のCNN210は、トレーニングデータ220に基づいて構築される。トレーニングデータ220は、画像特徴のライブラリから導出されてもよいし、および/または様々な対象物や状態(例えば、特定の向き、照明効果、欠陥などを有するもの)の一連の取得画像から導出されてもよい。CNN210は、実行時に、実行時対象物から画像データ230を受信し、構築されたCNNを適用して、適当な結果240を導出する。この結果は、以下で詳しく説明されるGUIでユーザーに向けて表示される。
【0021】
図3は、例示的実施形態のGUIに関連する例示的表示画面300を示している。この図には、実行時検査が示されている。大まかに言えば、このGUIは、製造および物流市場を対象とした深層学習マシンビジョンアプリケーションのためのプラットフォームを定義する。これによって、ガイド付きビジュアルアプリケーション開発環境に、深層学習プロセスが追加される。このようにして、より正確で堅牢なビジョンシステムが提供される。
【0022】
インターフェース画面300は、複数のウィンドウおよびダイアログボックスを含み、その内容および/または配置は、代替配置では、広く様々に変更することができる。(例えば)中央上部のウィンドウ304には、画像シーン内の例示的トレーニングまたは実行時対象物306の現在の画像(および/またはグラフィカル表現)が表示されている。以下で説明するように、この画像には、図示のように強調表示された欠陥または他の注目すべき特徴308が含まれ得る。このメイン表示ウィンドウ304の下には、それぞれ個別の画像を含むサムネイル307(例えば、8つのサムネイル)の行を示すフィルムストリップがある。画像の上には、各画像が適合パターンを表すか不適合パターンを表すかを示すように色分け(例えば、緑色または赤色)された、関連する指標308が配置されている。この図では、例示的緑色(適合特徴を示す)はクロスハッチングで表され、例示的赤色(不適合特徴を示す)は灰色で示されている。GUIでは、様々な色や他の(単色/多色)パターンを使用して、様々なタイプまたはレベルの情報を伝達することができる。
【0023】
(例えば)右端に示されているボックス310は、深層学習プロセス(プロセッサ)を実施可能なガイド付きアプリケーション開発フレームワークのステージ312~319を定義している。例えば、これらのステージには、カメラのセットアップ312、固定具の取り付け314、深層学習ネットワーク(CNN)を使用するトレーニング316、深層学習を使用する実行時対象物検査317、検査結果の提供と処理318、および、カメラとシステムの様々な要素との間の通信セットアップ319が含まれ得る。
【0024】
接続ボックス320によれば、ユーザーは、CNNトレーニングのために、カメラプロセッサをネットワークPCまたはクラウドに接続するオプションを選択することができる。接続ボックス320は、実行時322および/またはトレーニング時324に使用する様々なアドレス(MAC、IPなど)のためのダイアログボックスを含む。このように、システムは、堅牢なCNNに要求される大量の処理に対処するために、最初に高性能のPCまたはクラウドコンピューティングステーションでトレーニングされてもよい。最初のトレーニングが完了すると、システムは、増分学習技術を使用して、より低性能の推論エンジン、またはスマートカメラの内部に内蔵されたプロセッサで、漸進的改善を実行することができる。これらにより、システムは、時間の経過に伴う変化に適応することや、わずかに異なる照明、カメラ、または製品バリエーションを有する他の生産ラインに迅速に展開することが可能になる。
【0025】
言い換えれば、プロセッサ構成および通信インターフェース機能は、カメラ(すなわち、スマートカメラアセンブリ)110に配置されるプロセッサの処理能力を、CNNを効率的にトレーニングするための完全な要件に比べて低減できるように構成されている。トレーニングされたCNN(または他の深層学習ツール)の構築は、より強力なリモートプロセッサ(サーバーまたはクラウドコンピュータ(図1の160)など)で行うことができる。トレーニングされたCNNは、その後、実行時動作のために、リモートコンピュータから、カメラのローカルオンボードプロセッサ130にロードすることができる。必要に応じて、リモートコンピュータから漸進的改善/更新をロードしたり、低性能のオンボードプロセッサを使用してそれを内部で処理したりしてもよい。
【0026】
インターフェースボックス330は、深層学習ベースのビジョンツールのセットアップおよび設定(コンフィグレーション)に関する。一般に、このボックスによれば、ユーザーは、画像の許容しきい値を定義することができる。特に、本明細書では、例示的GUI画面300を使用して、最小限の明示的パラメータで、このような深層学習ツールをグラフィカルに設定することができる。ほとんどの内部パラメータは、ユーザーが提供する画像およびフィードバックに基づいて、基礎となるCNNおよびGUIプロセス(プロセッサ)によってインテリジェントに推定される。例として、対象物の角度332を入力するためのダイアログボックスが提供される。グラフ表示336が示されている。この例では、グラフ表示336は、不適合(不良)すなわち「良好でない」(NG)の画像例に対する、適合すなわち「良好」(OK)の画像例335の分布を定義している。図示のように、OK画像とNG画像との間には、重複領域338がある。フィルムストリップ339には、トレーニングまたは分析を受けているサムネイル画像のストリームが表示され、メインウィンドウ304内の各表示へのアクセス手段を提供している。このサムネイルストリーム339によれば、ユーザーは、ユーザーが(例えば、NG、OKおよび重複のカラーコードを使用して)設定した許容/スコアリングしきい値(「確信度」とも呼ばれる)を直接観察することができ、サムネイル上の関心領域を強調表示することができる。画像は、しきい値/確信度設定に基づいてスコアリングされてもよい。曲線336、337によれば、ユーザーは、しきい値に関するグラフィカルなフィードバックを得ることができる。
【0027】
II. 確信度スコア
【0028】
候補ボックス340が画面300に提供される。(ラベルなし画像のプールから)、トレーニングセットおよびテストセットに含まれる可能性がある新たなラベルなし候補画像(すなわち、興味のある特徴を有するラベルなし画像)が、統計分析と、画像特性の測定とを使用して、自動的に提案される。より具体的には、本明細書のシステムおよび方法によれば、ラベルなし画像の処理結果を使用して、その(新たなラベルなし)画像に対する現在のトレーニング済みモデルの信頼度が決定される。ラベルなし画像の集まりが与えられると、システムは、モデル全体の精度を最適に向上させるために、どのラベルなし画像を次にラベル付けしてトレーニングするかを、ユーザーに提案することができる。このガイド付きプロセスの結果、ユーザーは、ガイドなしアプローチでランダムな順序でラベル付けする場合に比べて、目標精度に到達するためにラベル付けを行う画像の数を少なくすることができる。
【0029】
このように、最終的にトレーニングで使用するために、様々なビジョンシステムツールに関連して、計算された信頼度の値/スコアを使用して、画像のラベル付けを支援することができる。このようなラベル付けされた画像は通常、深層学習プロセスのトレーニングの最適な候補となる、明確な/興味のある特性を表している。
【0030】
本明細書のシステムおよび方法で使用される信頼度を決定するための特定の測定基準/プロセスは、ビジョンシステムツールが実行する特定の動作に依存する。非限定的な例として、以下のビジョンシステムツールは、信頼度を決定するための関連手順を使用する場合がある。
【0031】
A. 分類
【0032】
図4の手順400に示すように、非限定的な例として、分類ツールの使用(ステップ420)に関連する入力画像データ(ステップ410)に関連した信頼度スコアを決定するために、システムは、すべての区分の出力確率にわたる画像エントロピーを計算することができる(ステップ430)。これは次のように特徴付けられる:
sum_i(-p_i*log(p_i)、p_i=区分Iの確率
エントロピーが高いと信頼度は低くなる(判断ステップ440およびステップ450)。逆に、エントロピーが低いと信頼度は高くなる(460)。最大確率-2番目に高い確率によって、分類マージンが定義されてもよい。マージンが小さいと信頼度は低くなる。上記計算のために、画像エントロピーは、画像解析ソフトウェア内の利用可能なツールおよびプロセスを使用して決定されてもよい。この値は、画像に対して計算されると、上記の信頼度決定の計算に提供される。本明細書に例示した例では、信頼度スコアが低いことは、その画像データが破棄されるべきことを意味し、信頼度スコアが高いことは、その画像データが候補画像としてラベル付けされる可能性があるものとして記録されるべきことを意味することに留意されたい。
【0033】
B. セグメンテーション:
【0034】
さらに別の非限定的な例として、図5の手順500に示すように、セグメンテーションツール(ステップ520)に関連して提供された画像データ(ステップ510)に対する信頼度スコアを決定するために、システムは、(分類の場合と同様に)すべての区分の出力確率にわたる画像エントロピーを計算することができる(ステップ530)。より具体的には、セグメンテーションツールの場合、システムはまず、ピクセルごとのエントロピーを計算する。次に、この一連の値を使用して、画像エントロピーとして特徴付けられるすべてのピクセルの平均を計算する。この例でシステムがピクセルごとのエントロピーを計算しているのは、画像全体に対して単一の区分確率のベクトルを出力する上述の分類ツールとは違い、セグメンテーションツールは、画像ピクセルと同数の区分確率のベクトルを出力するからである。この計算はさらに、次のように特徴付けられる:
sum_i(-p_i*log(p_i)、p_i=区分Iの確率
エントロピーが高いと信頼度は低くなる(判断ステップ540およびステップ550)。逆に、エントロピーが低いと信頼度は高くなる(ステップ560)。最高確率-2番目に高い確率によって、分類マージンが定義される。マージンが小さいと信頼度は低くなる。この例では、エントロピー/マージンは、各出力ピクセルについて計算され、その後、画像内のすべてのピクセルにわたって平均化される。
【0035】
C. OCR/検出:
【0036】
さらに別の非限定的な例として、光学式文字認識(OCR)および/または検出ツール(ステップ620)に関連した画像データの信頼度スコアを決定する(ステップ610)ために、システムは、図6の手順600で、ユーザーが提供するスキーマとツールの実際の予測との間の差を計算し、この計算がそのスキーマ(例えば、OCRプロセスの場合、予想される文字列の長さと構文)にどの程度適合するかを計算することができる(ステップ630)。差が大きいと信頼度は低くなる(判断ステップ640およびステップ650)。逆に、差が低いと信頼度は高くなる(ステップ660)。しきい値以下の背景活性化の平均的大きさに関連して、画像内の各位置について計算された証拠が所定のしきい値を超えた場合にのみ、文字や対象物は、OCRプロセスによって検出される。したがって、この証拠が(所定のマージン内で)そのしきい値に近づく領域の数と範囲は、信頼性の尺度として使用できる。したがって、多数の領域および/または広い領域が検出されると、信頼度は低くなる。
【0037】
D. 組み合わせ
【0038】
非限定的な例によれば、システムは、上記セクションA~Cのスコア決定技術のうちの2つ(またはそれ以上)の重み付けされた組み合わせを使用することができる。本明細書のシステムは、下流の手順で使用するために、組み合わせに基づく最終的な信頼度スコアを使用して、画像がOKまたはNGのカテゴリに入るか否かを決定する。より一般的には、システムは、上記セクションA~Dの手順のいずれかによる信頼度スコアを使用して、深層学習/CNN手順によって実行される全体的なトレーニングに加わらない画像をフィルタリングすることができる。信頼度スコアにより画像データがトレーニングに使用するものとして分類されることになるしきい値は、自動的に設定されてもよいし、またはGUIへのユーザー入力によって設定されてもよい。しきい値は、ツールによって異なる可能性がある。
【0039】
本明細書において、他の技術および/または測定基準を使用して信頼度スコアを決定してもよいことは、当業者には明らかであろう。
【0040】
III. 深層学習プロセス
【0041】
画像は実行時画像セットから取得され、トレーニングセットまたはテストセット(下記)を拡張することにより、さらなるトレーニング/改良の基礎を形成することができる。この例に示すように、候補は、トレーニングされたCNN/深層学習プロセスに基づいて、プロセッサによって、OKカテゴリとNGカテゴリ(342、344で示される)に分別される。図示した基本的な合格/不合格タイプの検査は、本明細書におけるシステムおよび方法の1つの可能な実施態様である。代替的(または追加的)に、カテゴリによっては、他の可能なタスクの中でもとりわけ、対象物の全体的な分類、あるいは個々の対象物の特徴の位置および/または識別情報を含み得る。本明細書の他の箇所で説明するように、システムは、時間の経過とともに、あるいは、ユーザー若しくは自動化メカニズムが新たな活用シーン(新たな向き、照明、欠陥など)を特定したときに、処理能力を向上させるために、これらの画像342、344を使用して自分自身を漸進的にトレーニングするように適合される。
【0042】
画像のセットは、トレーニングボックス360とテストボックス350によって管理される。トレーニングボックス360には、対象物の所望の特徴を定義する良/OK画像のセット362が含まれる。テストボックス350には、図示のようにOK画像のセット352とNG画像のセット354が含まれる。より一般的には、システムは、深層学習を使用して、このような良/不良(OK/NG)、または他のカテゴリへの画像分類を提案する。トレーニングおよびテストの間、ユーザーは、分類が正しいことをグラフィカルに確認し、分類が正しくない場合は、インターフェースを介して画像の特定の区分に分類することによって、その分類を調節するだけである。代替的または追加的に、そのような調節には、撮像対象物の特徴の追加若しくは再配置、および/または(例えば)ピクセル単位の描画ツールによる画像領域の強調表示も含まれ得る。非限定的な調節の例として、ユーザーは、OKに分類された欠陥画像を視覚的に確認した場合、それをクリックしてNGに再分類することができる。逆に、わずかに欠陥がある画像、すなわちそれ以外は良好な画像は、拒否されるしきい値を満たさず、OKに分類されることがある。CNNは、これを利用して、意思決定プロセスを適宜方向転換する。
【0043】
上述のインターフェース画面は、ユーザーに必要とされる数値入力および/またはテキスト入力が最小限になるように構成されていることは、明らかであろう。トレーニングと実行時動作は、主として視覚的観察、プロジェクトに適した画像の確認と分類によって操作できる。より詳細な情報がシステムに必要な場合は、様々な工場プリセットしきい値(若しくは、設置者/熟練オペレータによって設定されたしきい値)および/または既存のアルゴリズムを使用して、その情報を自動的に生成することができる。
【0044】
インターフェース画面300は、事前トレーニングされたツールをさらに備えることもできる。これらのツールは、画像の一般的な活用シーン/例(例えば、六角ボルトの外形など)を認識するように適合されてもよく、あるいは、ユーザーに関連する特定の特徴(例えば、ユーザー固有の溶接特徴、特殊なねじ山など)を識別するように(例えば、熟練オペレータによって、若しくは工場で)カスタムトレーニングされてもよい。このインターフェースによれば、ユーザーは、トレーニングを本質的に微調整することにより、完全なCNN/深層学習ツールを提供することができる。この微調整はカメラのローカルプロセッサ130で実行できるため、完全な機能を有するコンピューティング環境(例えば、サーバーやクラウドコンピューティング)に比べて、処理能力を低く抑えることができる。
【0045】
本明細書のシステムによって容易になるもう1つの機能は、オンボードプロセッサ130内に(またはオンボードプロセッサ130に関連付けられて)画像をローカルに保存し、カメラによる取得と同時に初期分類(例えばOK/NG)を実行する機能である。このような画像は、その後、インターフェース300を使用してユーザーに提示され、レビューされ、その後、CNNのトレーニング(または改良)のためにリモートコンピューティング環境にロードされてもよい。ユーザーによるレビューの前に取得画像を分類することで、ユーザーのタスクが簡素化され、誤分類される可能性がある画像(すなわち、重複領域338にある画像)のみを修正するだけで済む。さらに、システムおよび方法は、画像の特徴を、基本的なOK/NGに加えて、欠陥の別個のタイプやカテゴリ(例えば、表面欠陥、欠落部分など)に分別するように構成されてもよい。上でより一般的に説明したように、深層学習環境内で様々な分類子を定義して、画像を様々なタイプや区分に分類し、それによって、対象物が何であるかを明らかにすることもできる。例えば、部品Aであるかそれとも部品Bであるか、2インチボルトであるかそれとも3インチボルトであるか、左ドアハンドルであるかそれとも右ドアハンドルであるか、満杯であるかそれとも空であるかなどを、明らかにすることができる。さらに、画像データは、対象物のどこに欠陥があるかによって分類されてもよい。図示のように、OKおよびNGに加えて(またはその代わりに)、これらの追加的な欠陥、区分、および/または位置が、GUI上に追加的なセットとして表示されてもよい。
【0046】
IV.結び
【0047】
本明細書に記載したシステムおよび方法によれば、カメラのオンボードプロセッサから離れた場所で初期トレーニングを行い、システムの視覚ベースのプログラミングによりトレーニングおよび改良を簡素化するGUIをユーザーに提供することで、計算能力が低く、若しくは中程度の(例えば)スマートカメラであっても、堅牢にトレーニングされた1つ以上の深層学習ビジョンシステムツールを動作させることが可能になる点で、有利であることは明らかであろう。トレーニングされた深層学習ツールは、その後、カメラプロセッサ上で実行され、必要に応じて(例えば、新たな活用シーンが生じたときに)、GUIを使用して改良される。全体として、本システムおよび方法は、低減されたカメラの処理能力を効果的に活用し、ユーザーのセットアップおよび処理を簡素化する。さらに、本明細書のシステムおよび方法は、一般に、非常にユーザーフレンドリーなインターフェース環境(視覚的フィードバックを提供する深層学習ツールによって活用される)を提供し、最小限のスキル若しくは専門知識しか持たないユーザーによるトレーニング、テスト、および実行時動作を容易にする。そのようなユーザーは、本明細書で定義される「非専門家」ユーザー(すなわち、マシンビジョンシステムのセットアップおよび/または動作の広範囲でおよび/または専門的なトレーニングを受けていないユーザー)として特徴付けることができる。
【0048】
上記は、本発明の例示的実施形態の詳細な説明である。本発明の思想および範囲から逸脱することなく、様々な変更および追加が可能である。上述した様々な実施形態のそれぞれの特徴は、関連する新たな実施形態で多様な特徴の組み合わせを提供するために、必要に応じて、他の説明した実施形態の特徴と組み合わせることができる。さらに、上記は、本発明の装置および方法のいくつかの別個の実施形態を説明しているが、本明細書で説明したことは、本発明の原理の適用の単なる例示に過ぎない。例えば、本明細書で使用されている「プロセス」および/または「プロセッサ」という用語は、様々な電子ハードウェアおよび/またはソフトウェアベースの機能およびコンポーネント(代替的に、機能「モジュール」または「要素」とも呼ばれる)を含むように、広く解釈されるべきである。さらに、図示したプロセスまたはプロセッサは、他のプロセスおよび/またはプロセッサと組み合わせることも、様々なサブプロセスまたはサブプロセッサに分割することもできる。そのようなサブプロセスおよび/またはサブプロセッサは、本明細書の実施形態にしたがって様々に組み合わせることができる。同様に、本明細書に記載したあらゆる機能、プロセスおよび/またはプロセッサは、電子ハードウェア、プログラム命令の非一時的なコンピュータ読み取り可能媒体からなるソフトウェア、またはハードウェアとソフトウェアとの組み合わせを使用して実施されてもよいことが、明示的に想定されている。さらに、本明細書で使用される「垂直」、「水平」、「上方」、「下方」、「下」、「上」、「横」、「前」、「後ろ」、「左」、「右」などの様々な方向および配置用語は、相対的な慣習にしたがってのみ使用され、重力の作用方向などの固定座標空間に対する絶対的な方向/配置として使用されるものではない。さらに、所与の測定値、値、または特性に関して「実質的に」または「ほぼ」という用語が使用される場合、それは、所望の結果を達成するための通常の動作範囲内にある量を指しているが、システムの許容公差内で固有の不正確性や誤差によるいくらかの変動(例えば1~5%)を含む。したがって、この説明は、例示としてのみ解釈されるものであり、本発明の範囲を制限するものではない。

図1
図2
図3
図4
図5
図6
【国際調査報告】