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

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

▶ ゼブラ テクノロジーズ コーポレイションの特許一覧

特表2023-538818画像内のエッジ、形状及び固有物体の自動識別と表示
<>
  • 特表-画像内のエッジ、形状及び固有物体の自動識別と表示 図1
  • 特表-画像内のエッジ、形状及び固有物体の自動識別と表示 図2
  • 特表-画像内のエッジ、形状及び固有物体の自動識別と表示 図3
  • 特表-画像内のエッジ、形状及び固有物体の自動識別と表示 図4A
  • 特表-画像内のエッジ、形状及び固有物体の自動識別と表示 図4B
  • 特表-画像内のエッジ、形状及び固有物体の自動識別と表示 図5
  • 特表-画像内のエッジ、形状及び固有物体の自動識別と表示 図6
  • 特表-画像内のエッジ、形状及び固有物体の自動識別と表示 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-09-12
(54)【発明の名称】画像内のエッジ、形状及び固有物体の自動識別と表示
(51)【国際特許分類】
   G06F 8/20 20180101AFI20230905BHJP
   G06F 3/0482 20130101ALI20230905BHJP
【FI】
G06F8/20
G06F3/0482
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023506183
(86)(22)【出願日】2021-06-22
(85)【翻訳文提出日】2023-01-30
(86)【国際出願番号】 US2021038465
(87)【国際公開番号】W WO2022026087
(87)【国際公開日】2022-02-03
(31)【優先権主張番号】16/945,291
(32)【優先日】2020-07-31
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.PYTHON
2.JAVA
3.JAVASCRIPT
4.リナックス
5.MySQL
6.3GPP
7.BLUETOOTH
8.QRコード
9.MODBUS
10.CC-Link
(71)【出願人】
【識別番号】519047200
【氏名又は名称】ゼブラ テクノロジーズ コーポレイション
【氏名又は名称原語表記】Zebra Technologies Corporation
【住所又は居所原語表記】3 Overlook Point, Lincolnshire, Illinois 60069, United States of America
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100098475
【弁理士】
【氏名又は名称】倉澤 伊知郎
(74)【代理人】
【識別番号】100130937
【弁理士】
【氏名又は名称】山本 泰史
(74)【代理人】
【識別番号】100144451
【弁理士】
【氏名又は名称】鈴木 博子
(74)【代理人】
【識別番号】100107537
【弁理士】
【氏名又は名称】磯貝 克臣
(72)【発明者】
【氏名】コンティセロ トーマス
【テーマコード(参考)】
5B376
5E555
【Fターム(参考)】
5B376BC43
5E555AA41
5E555AA59
5E555BA02
5E555BA05
5E555BA06
5E555BA18
5E555BB02
5E555BB05
5E555BB06
5E555BB18
5E555BC09
5E555CA42
5E555CB45
5E555DB07
5E555DB53
5E555DC73
5E555DC75
5E555DD02
5E555FA00
(57)【要約】
機械視覚ジョブセットアップ用に使用される、画像内のエッジ、形状及び固有の物体の自動識別と表示のための、システム及び方法が、本明細書に開示される。例示的な方法は、1または複数のプロセッサによって、画像ファイルを受信する工程を備える。当該方法は、更に、前記1または複数のプロセッサによって、前記画像ファイル内の関心のある項目を自動的に決定する工程を備える。当該方法は、更に、前記1または複数のプロセッサによって、前記関心のある項目を分析して、当該関心のある項目を処理するための適切なツールを決定する工程を備える。当該方法は、更に、前記1または複数のプロセッサによって、表示画面上に、(i)前記画像ファイルに対応する画像、(ii)前記関心のある項目の指示、及び、(iii)前記適切なツールの指示、を表示する工程を備える。
【特許請求の範囲】
【請求項1】
画像分析ジョブの作成を容易化するための方法であって、
1または複数のプロセッサによって、画像ファイルを受信する工程と、
前記1または複数のプロセッサによって、前記画像ファイル内の関心のある項目を自動的に決定する工程と、
前記1または複数のプロセッサによって、前記関心のある項目を分析して、当該関心のある項目を処理するための適切なツールを決定する工程と、
前記1または複数のプロセッサによって、表示画面上に、
(i)前記画像ファイルに対応する画像、
(ii)前記関心のある項目の指示、及び、
(iii)前記適切なツールの指示、
を表示する工程と、
を備えたことを特徴とする方法。
【請求項2】
前記関心のある項目の指示は、前記関心のある項目を取り囲むボックスを含む
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記関心のある項目の指示を表示する工程は、前記関心のある項目の周りに線または一連の線を第1色で表示する工程を含み、
当該方法は、更に、
前記関心のある項目が前記線または前記一連の線内でもはや見つからないことを判定する工程と、
前記関心のある項目が前記線または前記一連の線内でもはや見つからないとの判定に応答して、前記第1色を第2色に変更する工程と、
を備え、
前記第1色は、前記第2色とは異なる
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記適切なツールは、バーコードスキャンツール、パターンマッチングツール、エッジ検出ツール、または、測定ツール、を含む
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記関心のある項目は、物理的な物体を含む
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記関心のある項目は、バーコードまたはクイック応答(QR)コードを含む
ことを特徴とする請求項1に記載の方法。
【請求項7】
前記1または複数のプロセッサによって、前記関心のある項目がバーコードを含むことを判定する工程と、
前記関心のある項目がバーコードを含むとの判定に応答して、前記1または複数のプロセッサによって、前記適切なツールがバーコードスキャンツールに対応することを決定する工程と、
を更に備えたことを特徴とする請求項1に記載の方法。
【請求項8】
前記1または複数のプロセッサによって、前記関心のある項目がバーコードを含まないことを判定する工程と、
前記関心のある項目がバーコードを含まないとの判定に応答して、前記1または複数のプロセッサによって、前記適切なツールがパターンマッチングツールまたはエッジ検出ツールに対応することを決定する工程と、
を更に備えたことを特徴とする請求項1に記載の方法。
【請求項9】
前記1または複数のプロセッサによって、前記関心のある項目が物理的な物体を含むことを判定する工程と、
前記関心のある項目が物理的な物体を含むとの判定に応答して、前記1または複数のプロセッサによって、前記適切なツールが測定ツールに対応することを決定する工程と、
を更に備えたことを特徴とする請求項1に記載の方法。
【請求項10】
前記1または複数のプロセッサは、カメラから前記画像を受信する
ことを特徴とする請求項1に記載の方法。
【請求項11】
前記1または複数のプロセッサは、データベースから前記画像を受信する
ことを特徴とする請求項1に記載の方法。
【請求項12】
前記画像ファイル内の前記関心のある項目を自動的に決定する工程は、ピクセル分析を使用して前記画像ファイルを分析することによって行われる
ことを特徴とする請求項1に記載の方法。
【請求項13】
前記関心のある項目を自動的に決定する工程は、前記画像ファイルに対してエッジ検出を実行することによって行われ、
前記エッジ検出は、前記関心のある項目が2次元物体を含むことを指示し、
前記関心のある項目が2次元物体を含むとの指示に応答して、前記1または複数のプロセッサは、前記適切なツールがエッジ検出ツールに対応することを決定する
ことを特徴とする請求項1に記載の方法。
【請求項14】
前記関心のある項目を自動的に決定する工程は、前記画像ファイルに対してエッジ検出を実行することによって行われ、
前記エッジ検出は、前記関心のある項目が3次元物体を含むことを指示し、
前記関心のある項目が3次元物体を含むとの指示に応答して、前記1または複数のプロセッサは、前記適切なツールがパターンマッチングツールに対応することを決定する
ことを特徴とする請求項1に記載の方法。
【請求項15】
画像分析ジョブの作成を容易化するためのコンピュータシステムであって、
1または複数のプロセッサと、
前記1または複数のプロセッサに通信可能に結合され、実行可能な指令を記憶する非一時的なプログラムメモリと、
を備え、
前記指令は、前記1または複数のプロセッサによって実行される時、当該コンピュータシステムをして、
画像ファイルを受信させ、
前記画像ファイル内の関心のある項目を自動的に決定させ、
前記関心のある項目を分析させて、当該関心のある項目を処理するための適切なツールを決定させ、
表示画面上に、
(i)前記画像ファイルに対応する画像、
(ii)前記関心のある項目の指示、及び、
(iii)前記適切なツールの指示、
を表示させる、
ことを特徴とするコンピュータシステム。
【請求項16】
前記指令は、当該コンピュータシステムをして、
前記関心のある項目の周りに線または一連の線を第1色で表示することによって、前記関心のある項目の指示を表示させ、
前記指令は、更に、当該コンピュータシステムをして、
前記関心のある項目が前記線または前記一連の線内でもはや見つからないことを判定させ、
前記関心のある項目が前記線または前記一連の線内でもはや見つからないとの判定に応答して、前記第1色を第2色に変更させ、
前記第1色は、前記第2色とは異なる
ことを特徴とする請求項15に記載のコンピュータシステム。
【請求項17】
前記適切なツールは、バーコードスキャンツール、パターンマッチングツール、エッジ検出ツール、または、測定ツール、を含む
ことを特徴とする請求項15に記載のコンピュータシステム。
【請求項18】
機械視覚ジョブを作成するための実行可能な指令を記憶する、有形の非一時的なコンピュータ可読媒体であって、
前記指令は、コンピュータシステムの少なくとも1つのプロセッサによって実行される時、当該コンピュータシステムをして、
画像ファイルを受信させ、
前記画像ファイル内の関心のある項目を自動的に決定させ、
前記関心のある項目を分析させて、当該関心のある項目を処理するための適切なツールを決定させ、
表示画面上に、
(i)前記画像ファイルに対応する画像、
(ii)前記関心のある項目の指示、及び、
(iii)前記適切なツールの指示、
を表示させる、
ことを特徴とする有形の非一時的なコンピュータ可読媒体。
【請求項19】
前記指令は、当該コンピュータシステムをして、
前記関心のある項目の周りに線または一連の線を第1色で表示することによって、前記関心のある項目の指示を表示させ、
前記指令は、更に、当該コンピュータシステムをして、
前記関心のある項目が前記線または前記一連の線内でもはや見つからないことを判定させ、
前記関心のある項目が前記線または前記一連の線内でもはや見つからないとの判定に応答して、前記第1色を第2色に変更させ、
前記第1色は、前記第2色とは異なる
ことを特徴とする請求項18に記載の有形の非一時的なコンピュータ可読媒体。
【請求項20】
前記適切なツールは、バーコードスキャンツール、パターンマッチングツール、エッジ検出ツール、または、測定ツール、を含む
ことを特徴とする請求項18に記載の有形の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
現在の機械視覚システム(マシンビジョンシステム)は、成功裏に動作させるために、多くのユーザ入力を要求する。例えば、現在のシステムは、特定の機械視覚タスク(マシンビジョンタスク)を実行する前に、様々な技術を介して、関心のある項目をユーザが定義することを要求する。このことは、特にユーザが多数の機械視覚タスクを完了したい時に、面倒であり得る。
【0002】
従って、改善され合理化された機械視覚タスクのニーズが存在する。
【発明の概要】
【0003】
一態様において、画像分析ジョブの作成を容易化するための方法が提供され、当該方法は、1または複数のプロセッサによって、画像ファイルを受信する工程と、前記1または複数のプロセッサによって、前記画像ファイル内の関心のある項目を自動的に決定する工程と、を備え得る。当該方法は、更に、前記1または複数のプロセッサによって、前記関心のある項目を分析して、当該関心のある項目を処理するための適切なツールを決定する工程を備え得る。当該方法は、更に、前記1または複数のプロセッサによって、表示画面上に、(i)前記画像ファイルに対応する画像、(ii)前記関心のある項目の指示、及び、(iii)前記適切なツールの指示、を表示する工程を備え得る。
【0004】
当該実施形態の一変形例では、前記関心のある項目の指示は、前記関心のある項目を取り囲むボックスを含む。
【0005】
別の変形例では、前記関心のある項目の指示を表示する工程は、前記関心のある項目の周りに線または一連の線を第1色で表示する工程を含む。当該方法は、更に、前記関心のある項目が前記線または前記一連の線内でもはや見つからないことを判定する工程と、前記関心のある項目が前記線または前記一連の線内でもはや見つからないとの判定に応答して、前記第1色を第2色に変更する工程と、を備え得て、前記第1色は、前記第2色とは異なり得る。
【0006】
別の変形例では、前記適切なツールは、バーコードスキャンツール、パターンマッチングツール、エッジ検出ツール、または、測定ツール、を含む。
【0007】
更に別の変形例では、前記関心のある項目は、物理的な物体を含む。別の実装形態では、前記関心のある項目は、バーコードまたはクイック応答(QR)コードを含む。
【0008】
更に別の変形例では、当該方法は、更に、前記1または複数のプロセッサによって、前記関心のある項目がバーコードを含むことを判定する工程と、前記関心のある項目がバーコードを含むとの判定に応答して、前記1または複数のプロセッサによって、前記適切なツールがバーコードスキャンツールに対応することを決定する工程と、を備え得る。
【0009】
更に別の変形例では、当該方法は、更に、前記1または複数のプロセッサによって、前記関心のある項目がバーコードを含まないことを判定する工程と、前記関心のある項目がバーコードを含まないとの判定に応答して、前記1または複数のプロセッサによって、前記適切なツールがパターンマッチングツールまたはエッジ検出ツールに対応することを決定する工程と、を備え得る。
【0010】
更に別の変形例では、当該方法は、更に、前記1または複数のプロセッサによって、前記関心のある項目が物理的な物体を含むことを判定する工程と、前記関心のある項目が物理的な物体を含むとの判定に応答して、前記1または複数のプロセッサによって、前記適切なツールが測定ツールに対応することを決定する工程と、を備え得る。
【0011】
一実装形態では、前記1または複数のプロセッサは、カメラから前記画像を受信する。別の実装形態では、前記1または複数のプロセッサは、データベースから前記画像を受信する。
【0012】
更に別の変形例では、前記画像ファイル内の前記関心のある項目を自動的に決定する工程は、ピクセル分析を使用して前記画像ファイルを分析することによって行われる。
【0013】
幾つかの実装形態では、前記関心のある項目を自動的に決定する工程は、前記画像ファイルに対してエッジ検出を実行することによって行われ、前記エッジ検出は、前記関心のある項目が2次元物体を含むことを指示し、前記関心のある項目が2次元物体を含むとの指示に応答して、前記1または複数のプロセッサは、前記適切なツールがエッジ検出ツールに対応することを決定する。
【0014】
幾つかの実装形態では、前記関心のある項目を自動的に決定する工程は、前記画像ファイルに対してエッジ検出を実行することによって行われ、前記エッジ検出は、前記関心のある項目が3次元物体を含むことを指示し、前記関心のある項目が3次元物体を含むとの指示に応答して、前記1または複数のプロセッサは、前記適切なツールがパターンマッチングツールに対応することを決定する。
【0015】
別の一態様において、画像分析ジョブの作成を容易化するためのコンピュータシステムが提供され、当該コンピュータシステムは、1または複数のプロセッサを備える。当該コンピュータシステムは、更に、前記1または複数のプロセッサに通信可能に結合され、実行可能な指令を記憶する非一時的なプログラムメモリを備え得て、前記指令は、前記1または複数のプロセッサによって実行される時、当該コンピュータシステムをして、画像ファイルを受信させ得て、前記画像ファイル内の関心のある項目を自動的に決定させ得て、前記関心のある項目を分析させ得て、当該関心のある項目を処理するための適切なツールを決定させ得て、表示画面上に、(i)前記画像ファイルに対応する画像、(ii)前記関心のある項目の指示、及び、(iii)前記適切なツールの指示、を表示させ得る。
【0016】
更に別の一態様において、機械視覚ジョブを作成するための実行可能な指令を記憶する、有形の非一時的なコンピュータ可読媒体が提供され、前記指令は、コンピュータシステムの少なくとも1つのプロセッサによって実行される時、当該コンピュータシステムをして、画像ファイルを受信させ、前記画像ファイル内の関心のある項目を自動的に決定させ、前記関心のある項目を分析させて、当該関心のある項目を処理するための適切なツールを決定させ、表示画面上に、(i)前記画像ファイルに対応する画像、(ii)前記関心のある項目の指示、及び、(iii)前記適切なツールの指示、を表示させる。
【0017】
添付の図面は、以下の詳細な説明と共に、本明細書に組み込まれて本明細書の一部を形成し、特許請求される発明を含む概念の実施形態を更に説明するのに役立ち、また、それら実施形態の様々な原理及び利点を説明するのに役立つ。添付図面において、同様の参照符号は、別個の図面を通して同一または機能的に類似の要素を指している。
【図面の簡単な説明】
【0018】
図1図1は、本明細書に記載の実施形態に従う、機械視覚ジョブのための1または複数の撮像設定を最適化するための例示的なシステムである。
【0019】
図2図2は、本明細書に記載の実施形態に従う、図1の撮像装置の斜視図である。
【0020】
図3図3は、本明細書に記載の実施形態に従う、機械視覚ジョブのための1または複数の撮像設定を最適化するために利用される例示的なアプリケーションインタフェースを示す。
【0021】
図4A図4A及び図4Bは、本明細書に記載の実施形態に従う、機械視覚ジョブのための1または複数の撮像設定を最適化するために利用される追加のアプリケーションインタフェースを示す。
図4B図4A及び図4Bは、本明細書に記載の実施形態に従う、機械視覚ジョブのための1または複数の撮像設定を最適化するために利用される追加のアプリケーションインタフェースを示す。
【0022】
図5図5は、関心のある項目を自動的に識別して、対応するツールを提案するための、追加のアプリケーションインタフェースを示す。
【0023】
図6図6は、関心のある項目を自動的に識別して、第1及び第2の推奨ツールを提案するための、追加のアプリケーションインタフェースを示す。
【0024】
図7図7は、本明細書に記載の実施形態に従う、画像分析ジョブの作成のための例示的な方法のフロー図である。
【発明を実施するための形態】
【0025】
当業者は、図面内の要素は簡潔及び明瞭に示されていて、必ずしも一定縮尺で描かれていない、ということを理解するであろう。例えば、図面内の幾つかの要素の寸法は、本発明の実施形態の理解を改善することを助けるべく、他の要素と比較して誇張されている可能性がある。
【0026】
装置及び方法の構成要素は、適切な場合、図面内で従来の符号によって示されており、当該図面は、詳細に関する開示を不明瞭にしないように、本発明の実施形態を理解することに関連する特定の詳細のみを示しており、当該詳細に関する開示は、本明細書の記載の利益を受ける当業者にとって容易に明らかである。
【0027】
本開示は、機械視覚ジョブ及び画像分析ジョブを容易化するための技術を提供する。特に、幾つかの実施形態では、関心のある項目が、画像データから決定され、当該決定された関心のある項目に基づいて、機械視覚ジョブまたは画像分析ジョブ用のツールが選択される。有利なことに、機械視覚ジョブまたは画像分析ジョブに適したツールを決定するための関心のある項目の自動識別とそれに続く当該識別された関心のある項目の活用とが、ユーザの時間を節約させ、ユーザとシステムとの間で要求される遣り取り(相互交信)を少なくさせる。更に、このことは、過剰な人間の入力を必要とすること無しに、ツールの推奨を容易化する。更に、本開示の技術は、不適切なツールが機械視覚ジョブに追加される可能性を低減し、機械視覚を実装するためのコスト及び非効率性を低減する。
【0028】
図1は、本明細書に開示される様々な実施形態に従う、機械視覚ジョブ用の1または複数の撮像設定を最適化するための、目標物体の画像のピクセルデータを分析するように構成された、例示的なスマート撮像システム100を示す。図1の例示的な実施形態では、スマート撮像システム100は、ユーザコンピューティングデバイス102と、ネットワーク106を介してユーザコンピューティングデバイス102に通信可能に結合された撮像デバイス104と、を含む。一般的に言えば、ユーザコンピューティングデバイス102は、ユーザ/オペレータが撮像デバイス104上での実行のための機械視覚ジョブを作成することを可能にするように構成されている。一旦それが作成されると、ユーザ/オペレータは、ネットワーク106を介して撮像デバイス104に当該機械視覚ジョブを送信/アップロードし得て、そこで機械視覚ジョブが解釈(インタプリト)されて実行される。ユーザコンピューティングデバイス102は、1または複数のオペレータワークステーションであり得て、1または複数のプロセッサ108、1または複数のメモリ110、ネットワーキングインタフェース112、入出力インタフェース114、及び、スマート撮像アプリケーション116、を含み得る。
【0029】
撮像デバイス104は、ネットワーク106を介してユーザコンピューティングデバイス102に接続されており、ユーザコンピューティングデバイス102から受信された機械視覚ジョブを解釈して実行するように構成されている。一般に、撮像デバイス104は、ネットワーク106を介してユーザコンピューティングデバイス102から1または複数のジョブスクリプトを含むジョブファイルを取得し得て、これは、機械視覚ジョブを定義し得て、当該機械視覚ジョブに従って画像を捕捉及び/または分析するように撮像デバイス104を構成し得る。例えば、撮像デバイス104は、撮像データ/データセット及び/または撮像後データを、決定する、記憶する、または、他の態様で処理する、ために使用されるフラッシュメモリを含み得る。次いで、撮像デバイス104は、1または複数のジョブスクリプトを介して確立された構成に従って、当該撮像デバイス104をして目標物体の画像捕捉させるトリガを、受信し得る、認識し得る、及び/または、他の態様で解釈し得る。一旦それが捕捉及び/または分析されると、撮像デバイス104は、更なる分析及び/または記憶のために、ネットワーク106を介して当該画像及び任意の関連データをユーザコンピューティングデバイス102に送信し得る。様々な実施形態において、撮像デバイス104は、「スマート」カメラであり得て、及び/または、撮像デバイス104の十分な機能を自動的に実行するように構成され得て、機械視覚ジョブを定義するジョブスクリプト、例えばユーザコンピューティングデバイス102から取得される1または複数のジョブファイルに含まれる任意の1または複数のジョブスクリプト、を取得し得る、解釈し得る、及び、実行し得る。
【0030】
概して、ジョブファイルは、ユーザコンピューティングデバイス102から撮像デバイス104に転送可能な前記1または複数のジョブスクリプトの、JSON表現/データフォーマットであり得る。ジョブファイルは、更に、撮像デバイス104上で実行するC++ランタイムエンジンまたは他の適切なランタイムエンジンによって、ロード可能/読み取り可能であり得る。更に、撮像デバイス104は、ユーザコンピューティングデバイス102からネットワーク106を介してジョブファイルを探索(listen for)して受信するように構成されたサーバ(図示せず)を実行(作動)させ得る。追加的または代替的に、ジョブファイルを探索して受信するように構成されたサーバは、クラウドベースのコンピューティングプラットフォームなど、1または複数のクラウドベースのサーバとして実装され得る。例えば、当該サーバは、MICROSOFT AZURE、AMAZON AWS、等の任意の1または複数のクラウドベースのプラットフォームであり得る。
【0031】
いかなる場合でも、撮像デバイス104は、1または複数のプロセッサ118、1または複数のメモリ120、ネットワーキングインタフェース122、入出力インタフェース124、及び、撮像アセンブリ126、を含み得る。撮像アセンブリ126は、デジタル画像及び/またはフレームを捕捉または撮影するためのデジタルカメラ及び/またはデジタルビデオカメラを含み得る。各デジタル画像は、ピクセルデータを含み得て、それが、本明細書で説明されるように、各々が画像分析タスクを実行するように構成された1または複数のツールによって分析され得る。例えば撮像アセンブリ126のデジタルカメラ及び/またはデジタルビデオカメラは、デジタル画像を、撮影する、捕捉する、または、他の態様で生成する、ように構成され得て、少なくとも幾つかの実施形態では、それぞれのデバイス(例えば、ユーザコンピューティングデバイス102、撮像デバイス104)のメモリ(例えば、1または複数のメモリ110、120)にそのような画像を記憶し得る。
【0032】
例えば、撮像アセンブリ126は、2D画像データを捕捉、感知またはスキャンするためのフォトリアリスティックカメラ(図示せず)を含み得る。フォトリアリスティックカメラは、RGBベースのピクセルデータを有する2D画像を捕捉するためのRGB(赤、緑、青)ベースのカメラであり得る。様々な実施形態において、撮像アセンブリは、付加的に、3D画像データを捕捉、感知またはスキャンするための3次元(3D)カメラ(図示せず)を含み得る。3Dカメラは、赤外線(IR)プロジェクタと、3D画像データ/データセットを捕捉、感知またはスキャンするための関連するIRカメラと、を含み得る。幾つかの実施形態では、撮像アセンブリ126のフォトリアリスティックカメラは、撮像アセンブリ126の3Dカメラと同一または同様の時点で、2D画像及び関連する2D画像データを捕捉し得て、撮像デバイス104は、同一または同様の時点において特定の表面、物体、領域、または、場面に対して利用可能な3D画像データと2D画像データとの両方のセットを有し得る。様々な実施形態において、撮像アセンブリ126は、2D画像データと同時に3D深さ画像データを捕捉するように構成された単一の撮像装置として、3Dカメラ及びフォトリアリスティックカメラを含み得る。その結果、捕捉された2D画像及び対応する2D画像データは、3D画像及び3D画像データと深さが揃えられ得る。
【0033】
幾つかの実施形態では、撮像アセンブリ126は、所定の検索空間の表面または領域、あるいは、所定の検索空間内の対象物体、の画像を捕捉するように構成され得る。例えば、あるジョブスクリプトに含まれる各ツールは、追加的に、撮像アセンブリ126によって撮像された特定の領域または目標物体に対応する関心のある領域(ROI)を含み得る。ある特定のジョブスクリプトに含まれる全てのツールのROIによって定義される複合領域は、それによって、当該ジョブスクリプトの実行を容易化するために撮像アセンブリ126が捕捉し得る事前定義される検索空間を定義し得る。もっとも、当該事前定義される検索空間は、当該特定のジョブスクリプトに含まれる全てのツールのROIによって定義される複合領域より多いまたは少ない視野(FOV)特徴を含むように、ユーザによって指定されてもよい。撮像アセンブリ126は、前記事前定義される検索空間に加えて追加の領域が本明細書で企図されるように、様々な領域の2D及び/または3D画像データ/データセットを捕捉し得ることが留意されるべきである。更に、様々な実施形態では、撮像アセンブリ126は、2D/3D画像データに加えて、グレースケール画像データまたは振幅画像データなど、画像データの他のセットを捕捉するように構成され得て、それらの各々は、2D/3D画像データと深さが揃えられ得る。
【0034】
撮像デバイス104はまた、他のデバイス(例えば、ユーザコンピューティングデバイス102、外部サーバ)による使用のために、2D画像データ/データセット及び/または3D画像データセットを処理し得る。例えば、1または複数のプロセッサ118は、撮像アセンブリ126によって捕捉、スキャンまたは感知された画像データまたはデータセットを処理し得る。画像データの処理は、元のスキャンされたまたは感知された画像データから決定される、メタデータ、単純化されたデータ、正規化されたデータ、結果データ、状態データ、または、警告データ、を含み得る撮像後(ポスト撮像)データを生成し得る。画像データ及び/または撮像後データは、閲覧、操作、及び/または、他の相互作用、のためにスマート撮像アプリケーション116を実行するユーザコンピューティングデバイス102に送信され得る。他の実施形態では、画像データ及び/または撮像後データは、記憶または更なる操作のためにサーバに送信され得る。本明細書で説明されるように、ユーザコンピューティングデバイス102、撮像デバイス104、及び/または、外部サーバまたは他の中央処理装置、及び/または、記憶装置は、そのようなデータを記憶し得て、また、画像データ及び/または撮像後データを、ユーザデバイス、例えばモバイルデバイス、タブレット、手持ち式デバイス、または、デスクトップデバイス、上に実装される他のアプリケーションに送信し得る。
【0035】
1または複数のメモリ110、120の各々は、読み取り専用メモリ(ROM)、電子プログラマブル読み取り専用メモリ(EPROM)、ランダムアクセスメモリ(RAM)、消去可能な電子プログラマブル読み取り専用メモリ(EEPROM)、及び/または、他のハードドライブ、フラッシュメモリ、MicroSDカード、等の、揮発性及び/または不揮発性の固定式及び/または取り外し可能式のメモリの1または複数の形態を含み得る。一般に、コンピュータプログラムまたはコンピュータベースの製品、アプリケーション、あるいは、コード(例えば、スマート撮像アプリケーション116、または、本明細書で説明される他のコンピューティング指令)は、その中でそのようなコンピュータ可読プログラムコードまたはコンピュータ指令が具現化される、コンピュータで使用可能な記憶媒体、乃至、有形の非一時的なコンピュータ可読媒体(例えば、標準ランダムアクセスメモリ(RAM)、光ディスク、ユニバーサルシリアルバス(USB)ドライブ、等)、上に記憶され得る。そこにおいて、コンピュータ可読プログラムコードまたはコンピュータ指令は、1または複数のプロセッサ108、118によって実行される(例えば、1または複数のメモリ110、120内のそれぞれのオペレーティングシステムに関連して動作する)ように、インストールされ得て、あるいは、他の態様で適合され得て、機械可読指令、方法、処理、要素、または、制限、を容易化し得る、実装し得る、または、実行し得る。様々なフローチャート、説明図、概略図、図面、及び/または、本明細書の他の開示、のために図示、描写または説明されているように。この点に関して、プログラムコードは、任意の所望のプログラム言語で実装され得て、マシンコード、アセンブリコード、バイトコード、解釈可能なソースコード、等として実装され得る(例えば、Golang、Python、C、C++、C#、Objective-C、Java、Scala、ActionScript、JavaScript、HTML、CSS、XML、等を介して)。
【0036】
1または複数のメモリ110、120は、本明細書に説明されるような、機能、アプリ、方法、または、他のソフトウェア、を容易化することが可能なオペレーティングシステム(OS)(例えば、マイクロソフトウィンドウズ、リナックス、ユニックス、等)を記憶し得る。1または複数のメモリ110は、また、スマート撮像アプリケーション116を記憶し得る。それは、本明細書で更に説明されるように、機械視覚ジョブの構築を可能にするように構成され得る。追加的または代替的に、スマート撮像アプリケーション116は、撮像デバイス104の1または複数のメモリ120内、及び/または、外部データベース(図示せず)内、に記憶され得て、後者は、ネットワーク106を介してユーザコンピューティングデバイス102にアクセス可能または他の態様で通信可能に結合されている。1または複数のメモリ110、120はまた、機械可読指令を記憶し得て、それは、1または複数のアプリケーション、1または複数のソフトウェアコンポーネント、及び/または、1または複数のアプリケーションプログラミングインタフェース(API)、のいずれかを含む。それらは、方法、処理、要素または制限等の、本明細書で説明される特徴、機能または他の開示を、容易化または実行するように実装され得る。様々なフローチャート、説明図、概略図、図面、及び/または、本明細書の他の開示、のために図示、描写または説明されているように。例えば、アプリケーション、ソフトウェアコンポーネント、または、API、のうちの少なくとも幾つかが、スマート撮像アプリケーション116等の機械視覚ベースの撮像アプリケーションであり得るし、それを含み得るし、その一部であり得る。そこにおいて、各々が、本明細書に説明されるそれらの様々な機能を容易化するように構成され得る。1または複数の他のアプリケーションが想定され得て、1または複数のプロセッサ108、118によって実行され得る。
【0037】
1または複数のプロセッサ108、118は、コンピュータバスを介して、1または複数のメモリ110、120に接続され得て、当該1または複数のプロセッサ108、118と当該1または複数のメモリ110、120との間で電子データ、データパケットまたは他の電子信号を送信する役割を担い得て、機械可読指令、方法、処理、要素、または、制限、を実装または実行し得る。様々なフローチャート、説明図、概略図、図面、及び/または、本明細書の他の開示、のために図示、描写または説明されているように。
【0038】
1または複数のプロセッサ108、118は、コンピュータバスを介して、1または複数のメモリ110、120とインタフェースし得て、オペレーティングシステム(OS)を実行し得る。1または複数のプロセッサ108、118はまた、コンピュータバスを介して、1または複数のメモリ110、120とインタフェースし得て、当該1または複数のメモリ110、120内及び/または外部データベース(例えば、Oracle、DB2、MySQL等のリレーショナルデータベース、または、MongoDB等のNoSQLベースのデータベース)内に記憶されるデータを作成し得て、読み取り得て、更新し得て、削除し得て、または、他の態様でアクセスまたは相互作用し得る。1または複数のメモリ110、120内及び/または外部データベース内に記憶されるデータは、例えば、機械視覚ジョブ画像(例えば、ジョブスクリプトの実行に応答して撮像デバイス104によって捕捉される画像)及び/または他の適切な情報を含んで、本明細書に説明されるデータまたは情報の全てまたは任意の一部を含み得る。
【0039】
ネットワーキングインタフェース112、122は、1または複数の外部/ネットワークポートを介して、本明細書で説明されるネットワーク106等の1または複数のネットワークまたはローカル端末に、データを通信する(例えば、送受信する)ように構成され得る。幾つかの実施形態では、ネットワーキングインタフェース112、122は、ASP.NET、Java J2EE、Ruby on Rails、Node.js、Webサービス、または、オンラインAPI、等のクライアントサーバプラットフォーム技術を含み得て、電子的な要求の受信と応答とを担い得る。ネットワーキングインタフェース112、122は、クライアントサーバプラットフォーム技術を実装し得て、それは、コンピュータバスを介して、1または複数のメモリ110、120(そこに記憶された、アプリケーション、コンポーネント、API、データ、等)と相互作用し得て、機械可読指令、方法、処理、要素、または、制限、を実装または実行し得る。様々なフローチャート、説明図、概略図、図面、及び/または、本明細書の他の開示、のために図示、描写または説明されているように。
【0040】
幾つかの実施形態によれば、ネットワーキングインタフェース112、122は、IEEE規格、3GPP規格、または、他の規格、に従って機能する1または複数のトランシーバ(例えば、WWAN、WLAN、及び/または、WPANトランシーバ)を含み得て、あるいは、それらと相互作用し得て、これは、ネットワーク106に接続された外部/ネットワークポートを介したデータの送受信に使用され得る。幾つかの実施形態では、ネットワーク106は、プライベートネットワークまたはローカルエリアネットワーク(LAN)を含み得る。追加的または代替的に、ネットワーク106は、インターネットなどの公衆ネットワークを含み得る。幾つかの実施形態では、ネットワーク106は、ルータ、無線スイッチ、または、様々な無線規格のうちの任意の1または複数に基づく無線通信を介してユーザコンピューティングデバイス102と撮像デバイス104とに通信する他のそのような無線接続ポイント、を含み得る。当該無線規格は、非限定的な例として、IEEE 802.11a/b/c/g(WIFI)、BLUETOOTH規格、等を含む。
【0041】
入力/出力インタフェース114、124は、管理者若しくはオペレータに情報を提示する、及び/または、管理者若しくはオペレータから入力を受信するように構成されたオペレータインタフェースを含み得る、または、実装し得る。オペレータインタフェースは、表示画面を(例えば、ユーザコンピューティングデバイス102及び/または撮像デバイス104を介して)提供し得る。それを、ユーザ/オペレータが、任意の画像、グラフィクス、テキスト、データ、特徴、ピクセル、及び/または、他の適切な視覚イメージ若しくは情報を視覚化するために、使用し得る。例えば、ユーザコンピューティングデバイス102及び/または撮像デバイス104は、ディスプレイ画面上の、画像、グラフィクス、テキスト、データ、特徴、ピクセル、及び/または、他の適切な視覚イメージ若しくは情報、を表示するためのグラフィカルユーザインタフェース(GUI)を、少なくとも部分的に、有し得る、実装し得る、アクセスを有し得る、レンダリングし得る、または、他の態様で露出し得る。入力/出力インタフェース114、124はまた、入力/出力コンポーネント(例えば、ポート、容量性または抵抗性のタッチセンシティブ入力パネル、キー、ボタン、ライト、LED)を含み得る。これは、ユーザコンピューティングデバイス102及び/または撮像デバイス104を介して直接的/間接的にアクセス可能であり得るか、あるいは、それらに直接的/間接的に取り付けられ得る。幾つかの実施形態によれば、管理者若しくはユーザ/オペレータは、ユーザコンピューティングデバイス102及び/若しくは撮像デバイス104にアクセスし得て、ジョブを構築し得て、画像または他の情報をレビューし得て、変更を行い得て、応答及び/若しくは選択を入力し得て、並びに/または、他の機能を実行し得る。
【0042】
本明細書において前述されたように、幾つかの実施形態では、ユーザコンピューティングデバイス102は、「クラウド」ネットワークの一部として、本明細書に記載された機能を実行し得る、あるいは、クラウド内の他のハードウェアまたはソフトウェアコンポーネントと通信し得て、本明細書に記載されたデータまたは情報を送信し得る、取得し得る、または、分析し得る。
【0043】
図2は、本明細書に記載の実施形態に従う、図1の撮像デバイス104の斜視図である。撮像デバイス104は、ハウジング202、撮像アパーチャ204、ユーザインタフェースラベル206、ドームスイッチ/ボタン208、1または複数の発光ダイオード(LED)210、及び、取付点212、を含む。前述のように、撮像デバイス104は、ユーザコンピューティングデバイス(例えば、ユーザコンピューティングデバイス102)からジョブファイルを取得し得て、その後、撮像デバイス104がそれを解釈して実行する。ジョブファイルに含まれる指令(命令)は、目標物体の画像を捕捉する前に撮像デバイス104の構成を調整するように動作可能なデバイス構成設定(本明細書では「撮像設定」とも呼ばれる)を含み得る。
【0044】
例えば、デバイス構成設定は、撮像アパーチャ204に関連する1または複数の設定を調整するための指令(命令)を含み得る。一例として、機械視覚ジョブに対応する意図された分析の少なくとも一部が、撮像デバイス104が任意の捕捉される画像の明るさを最大化することを要求すると仮定する。この要求に対処するために、ジョブファイルは、撮像アパーチャ204のアパーチャサイズを増大するようなデバイス構成設定を含み得る。撮像デバイス104は、これらの指令を(例えば、1または複数のプロセッサ118を介して)解釈し得て、それに応じて、撮像アパーチャ204のアパーチャサイズを増大させ得る。従って、撮像デバイス104は、それ自身の構成を自動的に調整して特定の機械視覚ジョブに最適に適合する、というように構成され得る。付加的に、撮像デバイス104は、撮像アパーチャ204を介して受け取られる照明に関わるまたは他の態様で影響を与える、1または複数のバンドパスフィルタ、1または複数の偏光子、1または複数のDPMディフユーザ、1または複数のCマウントレンズ、及び/または、1または複数のCマウント液体レンズ、を含み得る、あるいは、含むように適応可能であり得る、但し、これらは例示であってこれらに限定されない。
【0045】
ユーザインタフェースラベル206は、ドームスイッチ/ボタン208及び1または複数のLED210を含み得て、それによって、様々なインタラクティブ機能及び/または指示機能を可能にし得る。一般に、ユーザインタフェースラベル206は、ユーザが撮像デバイス104をトリガ及び/または調整することを可能にし得て(例えば、ドームスイッチ/ボタン208を介して)、且つ、1若しくは複数の機能、エラー及び/または他の動作がいつ撮像デバイス104に対して実行されたまたは行われたかをユーザが認識することを可能にし得る(例えば、1または複数のLED210を介して)。例えば、ドームスイッチ/ボタン(例えば、ドーム/スイッチボタン208)のトリガ機能が、ユーザが撮像デバイス104を使用して画像を捕捉することを可能にし得て、及び/または、ユーザがユーザアプリケーション(例えば、スマート撮像アプリケーション116)のトリガ構成スクリーンを表示することを可能にし得る。当該トリガ構成画面は、ユーザが、本明細書で説明されるように、後に開発される機械視覚ジョブでの使用のためにメモリ(例えば、1または複数のメモリ110、120)内に記憶され得る、撮像デバイス104のための1または複数のトリガを構成することを許容し得る。
【0046】
別の例として、ドームスイッチ/ボタン(例えば、ドーム/スイッチボタン208)の調整機能は、好ましい構成/所定の構成に従ってユーザが撮像デバイス104の構成を自動で及び/または手動で調整することを可能にし得て、及び/または、ユーザがユーザアプリケーション(例えば、スマート撮像アプリケーション116)の撮像構成画面を表示することを可能にし得る。当該撮像構成画面は、ユーザが、本明細書で説明されるように、後に開発される機械視覚ジョブでの使用のためにメモリ(例えば、1または複数のメモリ110、120)内に記憶され得る、撮像デバイス104の1または複数の構成(例えば、アパーチャサイズ、露出長さ、等)を構成することを許容し得る。
【0047】
更にこの例について、本明細書で更に説明されるように、ユーザは、当該撮像構成画面(または、より一般的には、スマート撮像アプリケーション116)を利用して、撮像デバイス104の撮像設定の2以上の構成を確立し得る。次いで、ユーザは、これら撮像設定の2以上の構成を機械視覚ジョブの一部として保存し得る。それは、その後、1または複数のジョブスクリプトを含むジョブファイルで撮像デバイス104に送信される。次いで、当該1または複数のジョブスクリプトは、撮像デバイス104のプロセッサ(例えば、1または複数のプロセッサ118)に、各々の連続する画像取得後に、前記撮像設定の2以上の構成の1または複数に従って、撮像デバイスの撮像設定を自動的に順次に調整するよう指示し得る。
【0048】
取付点212は、ユーザが、撮像デバイス104を、取付デバイス(例えば、撮像用三脚、カメラマウント、等)、構造面(例えば、倉庫壁、倉庫天井、構造支持梁、等)、他のアクセサリアイテム、並びに/または、他の適切な接続用のデバイス、構造若しくは表面、に接続する並びに/または取り外し可能に固定する、ことを可能にし得る。例えば、撮像デバイス104は、流通センター、製造工場、倉庫、及び/または、他の施設、の取付デバイス上に最適に載置され得て、撮像して、それによって、製品、パッケージ、及び/または、他のアイテムの品質/一貫性を監視し得る(それらが撮像デバイス104のFOVを通過する時において)。更に、取付点212は、ユーザが、1または複数の外部照明装置、1または複数の取付デバイス/ブラケット、等を含むがこれらに限定されない多数のアクセサリアイテムに撮像デバイス104を接続することを可能にし得る。
【0049】
更に、撮像デバイス104は、コンピュータネットワーク(例えば、ネットワーク106)への接続を可能にするハウジング202内に含まれる幾つかのハードウェアコンポーネントを含み得る。例えば、撮像デバイス104は、当該撮像デバイス104がギガビットイーサネット接続及び/またはデュアルギガビットイーサネット接続等のネットワークに接続することを可能にするネットワーキングインタフェース(例えば、ネットワーキングインタフェース122)を含み得る。更に、撮像デバイス104は、例えば、イーサネット/IP、PROFINET、Modbus TCP、CC-Link、USB3.0、RS-232、及び/または、任意の他の適切な通信プロトコル、あるいはそれらの組み合わせ、を介して他のデバイス(例えば、ユーザコンピューティングデバイス102)と通信するためのネットワーキングインタフェースの一部として、トランシーバ及び/または他の通信コンポーネントを含み得る。
【0050】
図3は、本明細書に記載の実施形態に従う、機械視覚ジョブの1または複数の撮像設定を最適化するために利用される例示的なアプリケーションインタフェース300を示す。一般に、例示的なアプリケーションインタフェース300は、ユーザがユーザコンピューティングデバイス(例えば、ユーザコンピューティングデバイス102)を介してアクセスし得るスマート撮像アプリケーション(例えば、スマート撮像アプリケーション116)のインタフェースを表し得る。具体的には、例示的なアプリケーションインタフェース300は、ユーザがビューデバイスタブ302を選択する時、ユーザが接続し得る及び/または機械視覚ジョブを構築し得る全ての利用可能なデバイス(例えば、撮像デバイス104)のリストをユーザに提示し得る。これにより、ユーザは、デバイス選択リスト304を見ることができ、これは、ユーザがアクセスできる各々の接続されたデバイスを表示し得て、また、デバイス名、デバイスモデル番号、当該デバイスに対応するIPアドレス、デバイスシリアル番号、デバイスの製造日、デバイスのファームウェア状態、デバイスのオンライン状態、及び/または、任意の他の適切な指示、等の情報を更に含み得る(但し、これらに限定されない)。
【0051】
次いで、ユーザは、デバイス選択リスト304から、選択デバイスインジケータ306によって指示されるデバイスを選択し得て、デバイスの幾つかの設定を構成する及び/または表示することを意図し得る。選択デバイスインジケータ306は、デバイス名及びデバイスのオンライン状態を表示し得て、追加的または代替的に、当該デバイスに関連する任意の他の情報を含み得る。選択デバイスインジケータ306で指示されるデバイスを選択する時、スマート撮像アプリケーション116は、例示的なアプリケーションインタフェース300内に、選択デバイス構成リスト308を付加的に表示し得る。選択デバイス構成リスト308は、選択されたデバイスの一般的概要(例えば、ファームウェアの更新、ライブラリの更新、等)、選択されたデバイスのライセンス概要(例えば、DHCPタイムアウト、IPアドレスフォールバック、等)、選択されたデバイスの通信概要(例えば、使用可能な接続タイプ、現在の接続タイプ、等)、選択されたデバイスの状態概要(例えば、レンズのタイプ、照明のタイプ、等)、及び/または、任意の他の適切な情報、あるいはそれらの組み合わせ、のような(但し、これらに限定されない)選択されたデバイスに関する様々な情報を含み得る。
【0052】
また、選択デバイス構成リスト308は、選択されたデバイスで実行される、選択されたデバイスで記憶される、及び/または、選択されたデバイスに他の態様で関連付けられる、機械視覚ジョブの指示を含み得る。例えば、選択デバイス構成リスト308は、選択されたデバイスが、当該選択されたデバイスに最初にアップロードされた最初の機械視覚ジョブに従って動作するように構成されていることを、指示し得る(例えば、「2018年10月10日の午前10時にアップロードされた」)。選択デバイス構成リスト308は、付加的に、当該最初の機械視覚ジョブが、選択されたデバイスに対応する1または複数の撮像設定の第1構成と、選択されたデバイスに対応する前記1または複数の撮像設定の第2構成と、を含むことを示し得る。当該第1及び第2構成に含まれる前記1または複数の撮像設定の各々が、付加的に、選択デバイス構成リスト308内に表示され得る。
【0053】
例示的なアプリケーションインタフェース300は、追加デバイス機能310を付加的に含み得て、例えば、デバイス選択リスト304に見つからない追加デバイスをユーザが追加することを許容し得る。ユーザが撮像デバイス(例えば、撮像デバイス104)等の新しいデバイスを獲得する場合、当該ユーザは、デバイス選択リスト304に当該新しいデバイスを追加するべく、デバイス追加機能310を、クリックし得る、スワイプし得る、及び/または、他の態様で相互作用し得る。更に、一旦新しいデバイスが追加されると、ユーザは、セットアップデバイス機能312A/Bと相互作用し得て、当該新しいデバイスに対応する設定を構成及び/または表示し得る。従って、ユーザは、デバイス選択リスト304にデバイスが追加された後の任意の時に、セットアップデバイス機能312A/Bと相互作用し得て、デバイス設定を調整し得る、表示し得る、または、他の態様で管理し得る。
【0054】
追加的または代替的に、ユーザがセットアップデバイス機能312A/Bと相互作用する時、スマート撮像アプリケーション116は、ユーザが(例えば、選択デバイスインジケータ306によって示されるように)選択されたデバイス用の機械視覚ジョブを構成することを許容する新しいインタフェースを生成/レンダリングし得る。ユーザは、付加的に、ジョブ作成タブ314と相互作用することによって、スマート撮像アプリケーション116をして、当該新しいインタフェースを生成/レンダリングさせ得る。このようにして、ユーザは、セットアップデバイス機能312A/Bまたはジョブ作成タブ314のいずれかとの相互作用を通じて、選択されたデバイスに対応する機械視覚ジョブを構成するべく、例示的なアプリケーションインタフェース300から離れ得る。
【0055】
図4は、本明細書に記載の実施形態に従う、機械視覚ジョブのための1または複数の撮像設定を最適化するために利用される追加のアプリケーションインタフェースを示す。例えば、ジョブ作成タブ(例えば、ジョブ作成タブ314)及び/またはセットアップデバイス機能(例えば、セットアップデバイス機能312A/B)と相互作用した後、スマート撮像アプリケーション(例えば、スマート撮像アプリケーション116)は、ユーザをジョブ構築アプリケーションインタフェース400に移行させ得る。一般に、ユーザは、ジョブ構築アプリケーションインタフェース400を利用して、機械視覚ツールを、それぞれの機械視覚ジョブを定義する特定のシーケンスへと、編成及び構成し得る。ユーザは、付加的に、ジョブ構築アプリケーションインタフェース400を利用して、解釈及び実行のために、当該それぞれの機械視覚ジョブを撮像デバイス(例えば、撮像デバイス104)にアップロードし得る。
【0056】
機械視覚ジョブを構築するために、ユーザは、機械視覚機能を実行するように構成されたツールを選択し得る。ユーザは、利用可能なツールリスト402について、クリックする、スワイプする、ドラッグする、及び/または、他の態様で相互作用することにより、ツールを選択し得る。各ツールは、利用可能なツールリスト402のドロップダウンリスト(図示のように)内に含められ得るか、あるいは、利用可能なツールリスト402上でユーザに容易に視認可能であり得る。いずれの場合においても、ユーザは、所望のツールを選択してジョブフロー構築セクション404に移動し得て、機械視覚ジョブの構築を開始し得る。ジョブフロー構築セクション404では、ユーザは、機械視覚ジョブの要件に基づいて、選択された各ツールを、最適な/好適な順序に編成し得る。更に、ユーザは、機械視覚ジョブの要件をより正確に満たすように、各ツールを構成し得る。例えば、ユーザは、利用可能なツールリスト402から選択されたバーコードスキャンツールを構成し得て、選択されたデバイス(例えば、撮像デバイス104)によって捕捉される画像のより大きな/より小さな領域をスキャンし得る。
【0057】
ユーザは、選択されたツールの構成を完了するために、ジョブスライド(フィルムストリップ)406から代表的な画像を選択することもできる。ジョブスライド406は、選択されたデバイスからのリアルタイム画像を含み得て、あるいは、機械視覚ジョブのための理想的な画像捕捉を表す(に対応する)記憶された画像(例えば、1または複数のメモリ110、120内)であり得る。追加的または代替的に、スマート撮像アプリケーション116は、ジョブフロー構築セクション404内で、選択されたツールに基づいて、ジョブスライド406を自動的に取り込み得る。一旦選択されると、当該代表的な画像が、ジョブスライド406上のより大きなセクション内に現れ得る。それは、ユーザがツールROI408を当該代表的な画像の上に配置することを可能にする。ツールROI408とは、当該ツールROI408によって表されるツールが機械視覚技術を使用して分析し得る代表的な画像の領域を示す。例えば、ツールROI408がバーコードスキャンツールのROIを表す場合、当該バーコードスキャンツールは、当該ツールROI408によって示される代表的な画像の領域内でバーコードをスキャンするであろう。
【0058】
ユーザが機械視覚ジョブ用に適切なツールを決定できない場合、ユーザは、ジョブ構築アプリケーションインタフェース400について、クリックする、スワイプする、及び/または、他の態様で相互作用し得て、スマート撮像アプリケーション116は、ツール情報領域410を生成/レンダリングし得る。スマート撮像アプリケーション116は、一般的に使用されるツール提案、ツールタイプ提案、ツール情報領域410に含まれる各ツールの説明、及び/または、それらの組み合わせの任意の他の適切な情報、をユーザに提供し得る。例えば、スマート撮像アプリケーション116は、ツール情報領域410内のオプション(選択肢)をユーザに提供し得て、ツールの名前、機能または他の代表的な品質を、タイプする、話す、及び/または、他の態様で指示する、ことによって、特定のツールを検索し得る。
【0059】
ユーザが1または複数のツールを選択及び/または注文して、機械視覚ジョブを作成すると、ジョブ配備トグル412が、ユーザが当該機械視覚ジョブを選択されたデバイス(例えば、撮像デバイス104)にアップロードすることを許容する。スマート撮像アプリケーション116は、ジョブ配備トグル412とのユーザの相互作用を登録し得て、機械視覚ジョブをジョブファイルに変換し得て、当該ジョブファイルが次いで(例えば、ネットワーク106を介して)選択されたデバイスに送信され得る。機械視覚ジョブは、また、メモリ(例えば、1または複数のメモリ110、120)内に記憶され得る。ユーザは、付加的に、ジョブ配備トグル412と相互作用することによって、アップロードされた機械視覚ジョブをアクティブ使用/非アクティブ使用に切り替え得る。その後、ユーザは、機械視覚ジョブにアクセスして、利用可能なツールリスト402及び/若しくはジョブ構築フローセクション404内の1または複数のツール、ジョブスライド406内の画像、ツールROI408、並びに/または、ツール情報領域410内のオプション、と相互作用することによって、機械視覚ジョブに関連付けられた構成/設定を調整し得る。
【0060】
様々な実施形態において、ジョブ構築アプリケーションインタフェース400は、ユーザが、選択されたデバイス(例えば、撮像デバイス104)に対して順次実行される複数の機械視覚ジョブを構築することを許容する。例えば、ジョブ構築アプリケーションインタフェース400は、ユーザが、選択されたデバイスの構成を第1構成に調整する第1ツールセットを含む第1機械視覚ジョブを構築することを許容する。当該第1構成は、例えば、限定されないが、アパーチャサイズ、露出長さ、ISO値、及び/または、任意の他の適切な値、あるいは、それらの組み合わせ、等の選択されたデバイスの1または複数の撮像設定を含み得る。ジョブ構築アプリケーションインタフェース400は、また、ユーザが、選択されたデバイスの構成を第2構成に調整する第2ツールセットを含む第2機械視覚ジョブを構築することを許容する。第2ツールセットは、第1ツールセットと同一であってもよいし、異なっていてもよく、第2構成は、第1構成と同一であってもよいし、異なっていてもよい。いずれの場合においても、スマート撮像アプリケーション116は、両方の機械視覚ジョブを選択されたデバイスに送信し得て、両方の機械視覚ジョブをメモリ(例えば、1または複数のメモリ110、120)内に記憶し得る。その後、選択されたデバイスは、第1機械視覚ジョブ及び第2機械視覚ジョブを自動的に順次に実行し得て、例えば、第1構成に従って少なくとも1つの画像を捕捉し得て、第2構成に自動的に調整し得て、第2構成に従って少なくとも1つの画像を捕捉し得る。
【0061】
もっとも、ユーザは、ジョブ構築フローセクション404内に含まれる各ツールの特定の機能を構成することをも望むかもしれない。従って、ユーザは、ジョブ構築フローセクション404またはジョブ構築アプリケーションインタフェース400の他の領域内のツールと相互作用し得て、スマート撮像アプリケーション116は、ツール構成アプリケーションインタフェース420を生成/レンダリングし得る。ツール構成アプリケーションインタフェース420は、ユーザが、ツール構成領域422に存在するユーザ選択可能なオプションを介して、機械視覚ジョブに含まれる各ツールの特定の機能をカスタマイズすることを可能にし得る。例えば、ツール構成領域422は、限定されないが、ツールモデル領域タイプ、ツール名、ツール備品、ツール画像タイプ、ツール受容閾値、ツール回転閾値、ツールタイムアウト、及び/または、任意の他の適切なツール構成オプション、等のツール構成オプションを含み得る。このようにして、スマート撮像アプリケーション116は、ユーザが、機械視覚ジョブに含まれる各ツールの選択、順序及び個々の構成を完全にカスタマイズすることを許容する。
【0062】
図5は、本明細書に記載の実施形態に従う、関心のある項目を自動的に識別して画像を分析するのに適したツールを提案するために利用される追加のアプリケーションインタフェースを示す。ジョブ構築アプリケーションインタフェース500は、ジョブ構築アプリケーションインタフェース400と略同様であり得て、スマート撮像アプリケーション116がジョブ構築モードで作動している時、当該スマート撮像アプリケーション116によって表示され得る。ジョブ構築アプリケーションインタフェース500は、利用可能なツールリスト502、ジョブフロー構築セクション504、ジョブスライド506、及び、ジョブ配備トグル512、を含み得て、それらは、それぞれ、利用可能なツールリスト402、ジョブフロー構築セクション404、ジョブスライド406、及び、ジョブ配備トグル412と同様である。図4を参照して説明されたように、幾つかの実施形態では、ユーザは、ジョブスライド506から代表的な画像を選択し得て、これにより、当該代表的な画像がジョブスライド506上のより大きなセクションに現れる。
【0063】
幾つかの実施形態では、スマート撮像アプリケーション116は、関心のある項目(アイテム)を自動的に決定する。図5の例では、自動的に決定される関心のある項目は、とりわけ、ボトルキャップ520等の物理的な物体、あるいは、バーコード524、QRコード、テキスト等の情報の指示、であり得る。幾つかの実施形態では、スマート撮像アプリケーション116は、画像ファイルを受信する時に、当該関心のある項目を自動的に識別する。他の実施形態では、画像ファイルの受信と自動的識別との間に、他の工程が生じる。例えば、関心のある項目の自動識別の前に、ユーザは、スマート撮像アプリケーション116がユーザ指定のROI内の関心のある項目のみを識別するように、ROIを指定し得る。これに関して、ユーザは、ジョブ構築アプリケーションインタフェース500を使用して代表的な画像の一部の周りのボックスをクリックしてドラッグまたはドローすることによって、あるいは、ジョブ構築アプリケーションインタフェース500とスワイプまたは他の態様で相互作用することによって、ROIを指示し得る。これに関して、ROIは、ユーザがスマート撮像アプリケーション116のツールを使用して分析したい画像の一部を、スマート撮像アプリケーション116に指示する。
【0064】
関心のある項目を識別(特定)するために、スマート撮像アプリケーション116は、当該関心のある項目の指示を表示し得る。例えば、図5の例では、スマート撮像アプリケーション116は、関心のある項目522の指示で、ボトルキャップ520を指示し得る。そして、スマート撮像アプリケーション116は、関心のある項目526の指示で、バーコード524を指示し得る。
【0065】
幾つかの実施形態では、関心のある項目の指示は、当該関心のある項目を取り囲むか、または、部分的に取り囲む、ボックスである。幾つかの実施形態では、関心のある項目の指示は、当該関心のある項目を取り囲むか、または、部分的に取り囲む、一連の直線及び/または曲線である。
【0066】
幾つかの実装形態では、関心のある項目の指示は、第1色(例えば、緑)で表示される。この態様において、スマート撮像アプリケーション116が、関心のある項目の指示の領域内で、当該関心のある項目をもはや見つけることができないと後で判断する場合、当該関心のある項目の指示は、第2色(例えば、赤)に変わり得る。
【0067】
関心のある項目の決定に引き続いて、当該関心のある項目が、対応するツールを決定するために使用され得る。代替的に、対応するツールは、ユーザ指定のROIから決定され得る。以下の幾つかの実施例を参照して説明されるように、対応するツールとは、画像を処理するためにスマート撮像アプリケーション116が推奨するツールである(例えば、当該対応するツールは、当該画像に「対応する」)。そのようなツールは、当該ツールが他の利用可能なツールと比較して当該画像の分析に適している可能性が高い場合に、「対応する」ものであり得る。スマート撮像アプリケーション116は、関心のある項目を識別し得る、あるいは、後述されるピクセル分析等の任意の適切な画像分析技術を使用して前記代表的な画像の一部を分析し得る。画像内で識別された特徴に基づいて、スマート撮像アプリケーション116は、それらの特徴を分析するのに適したツールを推奨し得る。例えば、画像がバーコードまたはQRコードを含む場合(例えば、関心のある項目がバーコードまたはQRコードである場合)、バーコードスキャンツールが対応するツールであり得る。画像に含まれるエッジの数に基づいて(例えば、画像が1または2のエッジを含む場合)、あるいは、画像が2次元物体を描写している(例えば、関心のある項目が2次元物体である)場合、エッジ検出ツールが対応するツールであり得る。画像が検出可能なパターンを含む場合、画像が3次元物体を描写している(例えば、関心のある項目が3次元物体である場合)場合、及び/または、3以上のエッジが画像内で検出される場合、パターンマッチングツールが対応するツールであり得る。
【0068】
ピクセル分析とは、前記代表的な画像の一部のピクセルデータを分析する工程を含む。ピクセルデータとは、画像内のデータの個々の点または正方形を含むもので、各点または各正方形が、画像内の単一のピクセルを表す。各ピクセルが、画像内の特定の位置であり得る。付加的に、各ピクセルは、特定の色(または色がない)であり得る。ピクセルの色は、所与のピクセルに関連付けられたカラーフォーマット及び関連するチャネルデータによって決定され得る。例えば、一般的なカラーフォーマットは、赤、緑及び青のチャネルを有する赤緑青(RGB)フォーマットを含む。すなわち、RGBフォーマットでは、ピクセルのデータは、画像内のピクセル領域の色を操作するために、チャネルデータと呼ばれ得る3つの数値のRGBコンポーネント(赤、緑、青)によって表される。幾つかの実装形態では、3つのRGBコンポーネントは、各ピクセル毎に、3つの8ビット数として表され得る。3つの8ビットのバイト(RGBの各々に1バイト)が、24ビットカラーを生成するために使用される。各々の8ビットのRGBコンポーネントは、0~255の範囲の256通りの可能な値を有し得る(すなわち、基数2のバイナリシステムで、8ビットバイトは、0~255の範囲の256通りの数値の1つを含み得る)。このチャネルデータ(R、G、及び、B)は、0~255の値が割り当てられ得て、ピクセルの色を設定するために使用され得る。例えば、(250、165、0)のような3つの値が、(赤=250、緑=165、青=0)を意味し、1つのオレンジ色のピクセルを表し得る。別の例として、(赤=255、緑=255、青=0)は、赤と緑がそれぞれ完全に飽和しており(255は、8ビットで最大限に明るい)、青がなく(ゼロ)、結果としての色は、黄色である。更に別の例として、黒色は、(赤=0、緑=0、青=0)のRGB値を有し、白色は、(赤=255、緑=255、青=255)のRGB値を有する。グレー色は、等しいかまたは類似しているRGB値という特性を有する。従って、(赤=220、緑=220、青=220)は、明るいグレー色(白に近い)であり、(赤=40、緑=40、青=40)は、暗いグレー色(黒に近い)である。
【0069】
このように、3つのRGB値の合成が、所与のピクセルの最終的な色を生成する。3つのバイトを使用する24ビットのRGBカラー画像では、256階調の赤、256階調の緑、及び、256階調の青、が存在し得る。これは、24ビットRGBカラー画像のために、256×256×256、すなわち、1670万の可能性ある組み合わせ、すなわち、色を提供する。このように、ピクセルのRGBデータ値は、当該ピクセルが構成されている赤、緑、及び、青の各々の「量」を示す。3つの色及び強度レベルは、当該画像ピクセル、すなわち、表示スクリーン上の当該ピクセル位置で組み合わされて、当該位置の表示スクリーンを当該色で照明する。もっとも、より少ないまたはより多いビット数、例えば10ビット、を有する他のビットサイズが、より少ないまたはより多い全体の色及び範囲をもたらすために使用され得る、ということが理解されるべきである。更に、ピクセルデータは、追加的または代替的なカラーフォーマット及びチャネルデータを含み得る、ということが理解されるべきである。例えば、ピクセルデータは、色相飽和値(HSV)フォーマットまたは色相飽和明度(HSL)フォーマットで表現される色データを含み得る。
【0070】
代表的な画像の一部を分析する工程は、更に、エッジ検出、パターン認識、物体検出、等を実行する工程を含み得て、それらはピクセル分析を使用して実行され得る。
【0071】
スマート撮像アプリケーション116が対応するツールを決定する方法の一例として、代表的な画像の一部を分析する工程は、当該代表的な画像の一部がバーコードまたはQRコードを含むか否かを決定する工程を含み得る。そうである場合、スマート撮像アプリケーション116は、当該代表的な画像の一部を分析するのに適切な対応するツールがバーコードスキャンツールに対応する、と決定(判定)し得る。そうでない場合、スマート撮像アプリケーション116は、対応するツールが異なるツール、例えば、パターンマッチングツール、エッジ検出ツール、セマンティックセグメンテーションツール、物体検出ツール、バイナリ化(2値化)フィルタ、または、物体追跡ツール、に対応する、と決定(判定)し得る。
【0072】
別の例として、代表的な画像の一部を分析する工程は、当該代表的な画像の一部内の少なくとも1つのエッジを検出する工程と、それに応答して対応するツールがエッジ検出ツールに対応することを決定する工程と、を含み得る。より一般的には、代表的な画像の一部を分析する工程は、エッジ検出を実行する工程を含み得る。エッジ検出に基づいて、スマート撮像アプリケーション116は、当該画像の一部が2次元物体を描写しているか3次元物体を描写しているかを決定(判定)し得る。幾つかの実施形態では、スマート撮像アプリケーション116は、エッジ検出に加えて、または、エッジ検出の代わりに、適切な画像分析技術を使用して、前記画像の一部が2次元物体または3次元物体のいずれを描写しているかを決定(判定)し得る。前記画像の一部が2次元物体を描写している場合、スマート撮像アプリケーション116は、対応するツールがエッジ検出ツールに対応すると決定(判定)し得る。前記画像の一部が3次元物体を描写している場合、スマート撮像アプリケーション116は、対応するツールがパターンマッチングツールに対応すると決定(判定)し得る。
【0073】
更なる例として、代表的な画像の一部を分析する工程は、当該画像部分に含まれる色を検出する工程、及び、3以上の色を検出することに応答して、対応するツールがバイナリ化フィルタに対応することを決定する工程、を含み得る。バイナリ化フィルタは、多色カラー画像またはグレースケール画像を、白と黒とに変換し得る。
【0074】
スマート撮像アプリケーション116が対応するツールを決定できない場合(例えば、複数のツールが適切なツールである可能性が同程度である場合、または、画像の特徴を分析するのに最適なツールが存在しないように見える場合)、スマート撮像アプリケーション116は、対応するツールとして、パターンマッチングツール等のデフォルトのツールを推奨し得る。幾つかの実施形態では、ユーザは、スマート撮像アプリケーション116のアプリケーションインタフェースと相互作用することによって、デフォルトのツールを指定し得る。
【0075】
図6の例に示されるように、スマート撮像アプリケーション116は、ツール情報領域510をレンダリングし得る。それは、提案または推奨されるツールのリストを含み得る。「最も」適切なツール(例えば、スマート撮像アプリケーション116が決定するツールが、他の利用可能なツールと比較して、関心のある項目の指示508において示された関心のある項目用の対応するツールである可能性が最も高いか、あるいは、当該画像内のユーザ指定のROIを分析するための対応するツールである可能性が最も高い)が、推奨ツール514として、ツール情報領域510の頂部またはその近傍にリストされ得る。図6の例では、推奨ツール514は、バイナリ化フィルタである。推奨ツール514をツール情報領域510の頂部またはその近傍に配置することに加えて、または、その代わりに、ジョブ構築アプリケーションインタフェース500は、推奨ツール514が「最も」適切なツールであることを強調表示し得る、または、別の態様でユーザに示し得る。例えば、ジョブ構築アプリケーションインタフェース500は、テキスト注釈を使用して推奨ツール514を推奨ツールとしてラベル付けし得る、色またはグラフィック注釈を使用して推奨ツール514を強調表示し得る、あるいは、異なるフォント色を使用して推奨ツール514を提示し得る。
【0076】
「最も」適切なツールを決定することに加えて、スマート撮像アプリケーション116は、関心のある項目に基づいて、または、ユーザ指定のROI内に描写された画像の一部を分析することに基づいて、当該画像の当該一部を処理するための他の推奨ツールを決定し得る。例えば、スマート撮像アプリケーション116は、当該画像に対応し得て当該画像を処理するのに適切であり得る第2の推奨ツール516を決定し得て、当該第2の推奨ツール516を推奨ツール514の下方に表示し得る。第2の推奨ツール516は、前記画像の前記一部を処理するための「次善の」適切なツールであり得る(例えば、他の利用可能なツールに対して、適切なツールである可能性が2番目に高い)。更に、スマート撮像アプリケーション116は、推奨ツール514に加えて、1または複数の一般的に使用されるツール518を表示し得る。一般的に使用されるツール518は、前記画像の前記一部の分析に基づいていてもよく、あるいは、それに基づいていなくてもよく、また、スマート撮像アプリケーション116のユーザが一般的に使用するツールであり得て、あるいは、より一般的にスマート撮像アプリケーション116または(他の)スマート撮像アプリケーションのユーザが一般的に使用するツールであり得る。
【0077】
推奨ツール514は、ユーザ選択可能なオプションとして、ジョブ構築アプリケーションインタフェース500上に表示され得る。ユーザは、推奨ツール514を機械視覚ジョブのジョブフローに追加するべく、当該推奨ツール514に対応するユーザ選択可能オプションを選択し得る。例えば、ユーザが推奨ツール514を選択した後、当該推奨ツール514がジョブフロー構築セクション504内に現れ得る。スマート撮像アプリケーション116が推奨ツール514の選択を検出した後、ジョブ構築アプリケーションインタフェース500は、当該推奨ツール514を構成するためのオプションを表示し得る。ユーザは、これらのオプションと相互作用し得て、ユーザの特定の機械視覚ジョブ用の推奨ツール514の設定をカスタマイズし得る。同様に、第2の推奨ツール516及び/または一般的に使用されるツール518も、ジョブ構築アプリケーションインタフェース500上で決定及びレンダリングされる場合、同様のユーザ選択可能オプションとして表示され得る。
【0078】
ユーザが、推奨ツール514、第2の推奨ツール516、あるいは、一般的に使用されるツール518の1または複数、のうちの1または複数を含み得る、1または複数のツールを選択及び/または注文した後で、当該ユーザは、ジョブ配備トグル512を選択し得て、当該機械視覚ジョブを選択されたデバイス(例えば、撮像デバイス104)に対してアップロードし得る、あるいは、他の態様で配備し得る。ジョブ配備トグル512の選択を検出した後、スマート撮像アプリケーション116は、機械視覚ジョブをジョブファイルに変換し得る。当該ジョブファイルは、その後、前述されたように、選択されたデバイスに(例えば、ネットワーク106を介して)送信される。機械視覚ジョブを変換する工程は、当該機械視覚ジョブを実現するために選択された撮像デバイスが実行し得るジョブスクリプトを生成する工程を含み得る。当該ジョブスクリプトは、ユーザが以前に推奨ツール514を選択していた場合、当該推奨ツール514を含んで、ジョブフロー内の複数のツールに対応する指令(命令)を含む。
【0079】
図7は、機械視覚ジョブの作成を容易化するための例示的な方法700のフロー図である。当該方法700は、1または複数のプロセッサ(例えば、ユーザコンピューティングデバイス102の1または複数のプロセッサ108)によって実装され得る。
【0080】
ブロック702で、1または複数のプロセッサは、画像ファイルを受信し得る。画像ファイルは、撮像デバイス104(例えば、カメラ)から、画像ファイルのデータベースから、あるいは、任意の他の適切なソースから、受信され得る。
【0081】
ブロック704で、1または複数のプロセッサは、画像ファイル内の関心のある項目を自動的に決定し得る。ブロック706で、1または複数のプロセッサは、当該関心のある項目を分析し得て、当該関心のある項目を処理するための適切なツールを決定し得る。例えば、関心のある項目が物理的な物体である場合、適切なツールは測定ツールであり得る。更に、関心のある項目または画像の一部を分析する工程は、エッジ検出を実行する工程を含み得る。例えば、関心のある項目または画像の一部を分析する工程は、関心のある項目または画像の一部内の少なくとも1つのエッジを検出する工程と、それに応答して対応するツールがエッジ検出ツールであると決定する工程と、を含み得る。別の例として、関心のある項目を分析する工程は、関心のある項目が2次元または3次元の物体であることを決定する工程を含み得る(例えば、エッジ検出または他の適切な画像分析技術を実行することによる)。関心のある項目が2次元物体であるとの決定に応答して、当該方法は、対応するツールがエッジ検出ツールであると決定する工程を含み得る。関心のある項目が3次元物体であるとの決定に応答して、当該方法は、対応するツールがエッジパターンマッチングツールであると決定する工程を含み得る。
【0082】
次に、ブロック708で、1または複数のプロセッサは、表示画面上または対話型GUI上に、(i)画像ファイルに対応する画像、(ii)関心のある項目の指示、及び、(iii)適切なツールの指示、を表示し得る。更に、ブロック708で、1または複数のプロセッサは、対話型GUI内に、対応するツールを機械視覚ジョブに追加するためのユーザ選択可能オプション(例えば、推奨ツール514のためのユーザ選択可能オプション)を表示し得る。1または複数のプロセッサが、ユーザ選択可能オプションの選択を検出する場合、当該1または複数のプロセッサは、対応するツールを機械視覚ジョブのジョブフローに追加し得て、当該対応するツールをジョブフロー内(例えば、ジョブ構築アプリケーションインタフェース500のジョブフロー構築セクション504内)に表示し得る。更に、対話型GUIは、機械視覚ジョブを配備するためのユーザ選択可能オプション(例えば、ジョブ配備トグル512)を含み得る。1または複数のプロセッサが、機械視覚ジョブを配備するためのユーザ選択可能オプションの選択を検出する場合、当該1または複数のプロセッサは、当該機械視覚ジョブを実現するために撮像デバイス(例えば、撮像デバイス104)が実行可能なジョブスクリプトを生成し得る。当該ジョブスクリプトは、前記対応するツールを含む、ジョブフロー内の複数のツールに対応するコンピュータ可読指令を含み得る。
【0083】
付加的に、方法700で説明された動作の各々は、機械視覚ジョブのための画像分析ツールの選択を容易化するのに適した、任意の順序、回数、または、任意の他の組み合わせ、で実行され得ることが理解されるべきである。例えば、方法700のブロックの一部または全ては、完全に1回実行され得るし、完全に複数回実行され得るし、あるいは、まったく実行されなくてもよい。
【0084】
前述の説明は、添付の図面のブロック図を参照する。当該ブロック図によって表される実施例の代替的な実装は、1または複数の追加的または代替的な要素、プロセス及び/または装置を含む。追加的または代替的に、図中の1または複数の例示的なブロックは、組み合わされ得るし、分割され得るし、再配置され得るし、あるいは、省略され得る。図中のブロックで表されるコンポーネント(構成要素)は、ハードウェア、ソフトウェア、ファームウェア、並びに/または、ハードウェア、ソフトウェア及び/若しくはファームウェアの任意の組み合わせ、によって実装される。幾つかの例では、ブロックによって表されるコンポーネントの少なくとも1つが、論理回路によって実装される。本明細書で使用される場合、「論理回路」という用語は、(例えば、所定の構成(コンフィグレーション)に従う動作を介して、及び/または、記憶された機械可読指令(命令)の実行を介して)1または複数の機械を制御するように及び/または1または複数の機械の動作を実行するように構成される少なくとも1つのハードウェアコンポーネント、を含む物理デバイスとして明示的に定義される。論理回路の例は、1または複数のプロセッサ、1または複数のコプロセッサ、1または複数のマイクロプロセッサ、1または複数のコントローラ、1または複数のデジタル信号プロセッサ(DSP)、1または複数のアプリケーション固有の集積回路(ASIC)、1または複数のフィールドプログラマブルゲートアレイ(FPGA)、1または複数のマイクロコントローラユニット(MCU)、1または複数のハードウェアアクセラレータ、1または複数の特殊用途(専用)コンピュータチップ、及び、1または複数のシステムオンチップ(SoC)装置、を含む。ASICまたはFPGA等の幾つかの例示的な論理回路は、動作(例えば、本明細書に記載され、存在する場合には本開示のフローチャートによって表される、1または複数の動作)を実行するために特別に構成されたハードウェアである。幾つかの例示的な論理回路は、動作(例えば、本明細書に記載され、存在する場合には本開示のフローチャートによって表される、1または複数の動作)を実行するために機械可読指令(命令)を実行するハードウェアである。幾つかの例示的な論理回路は、特別に構成されたハードウェアと、機械可読指令(命令)を実行するハードウェアと、の組み合わせを含む。前述の説明は、本明細書で説明される様々な動作、及び、それらの動作の流れを説明するために本明細書に添付され得るフローチャート、に言及している。そのようなフローチャートは、いずれも、本明細書に開示される例示的な方法を表している。幾つかの例では、フローチャートによって表される方法は、ブロック図によって表される装置を実装する。本明細書に開示される例示的な方法の代替的な実装は、追加的または代替的な動作を含み得る。更に、本明細書に開示される方法の代替的な実装の動作は、組み合わされ得るし、分割され得るし、再配置され得るし、あるいは、省略され得る。幾つかの例では、本明細書で説明される動作は、1または複数の論理回路(例えば、プロセッサ)によって実行されるために、媒体(例えば、有形の機械可読媒体)に記憶された機械可読指令(命令)(例えば、ソフトウェア及び/またはファームウェア)によって実装される。幾つかの例では、本明細書で説明される動作は、1または複数の特別に設計された論理回路(例えば、ASIC)の1または複数の構成(コンフィグレーション)によって実施される。幾つかの例では、本明細書で説明される動作は、1または複数の論理回路によって実行されるために、特別に設計された1または複数の論理回路と、媒体(例えば、有形の機械可読媒体)に記憶された機械可読指令(命令)と、の組み合わせによって実装される。
【0085】
本明細書で使用される場合、「有形の機械可読媒体」、「非一時的な機械可読媒体」、及び「機械可読記憶装置」という用語の各々は、任意の好適な期間だけ(例えば、恒久的、長期間(例えば、機械可読指令(命令)に関連するプログラムが実行されている間)、及び/または、短期間(例えば、機械可読指令(命令)がキャッシュされている間、及び/または、バッファリングプロセス中))機械可読指令(命令)(例えば、ソフトウェア及び/またはファームウェアの形態のプログラムコード)が記憶される記憶媒体(例えば、ハードディスクドライブ(のディスク)、デジタル多用途ディスク(DVD)、コンパクトディスク(CD)、フラッシュメモリ、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、等)として明示的に定義される。更に、本明細書で使用される場合、「有形の機械可読媒体」、「非一時的な機械可読媒体」及び「機械可読記憶装置」という用語の各々は、伝播信号(の態様)を除外するものとして明示的に定義される。すなわち、特許請求の範囲で使用される場合、「有形の機械可読媒体」、「非一時的な機械可読媒体」及び「機械可読記憶装置」という用語はいずれも、伝搬信号によって実装されるものとは、読まれ得ない。
【0086】
前述の明細書には、特定の実施形態が記載されている。しかしながら、当業者は、特許請求の範囲に記載されるような本発明の範囲から逸脱することなく、様々な修正及び変更がなされ得る、ということを理解する。従って、本明細書及び図面は、限定的な意味ではなく例示的な意味で理解されるべきであり、そのような全ての修正が、本教示の範囲内に含まれることが意図されている。更に、説明された実施形態/実施例/実装は、相互に排他的であると解釈されるべきではなく、その代わりに、そのような組み合わせが何らかの方法で許容される場合、潜在的に組み合わせ可能であると理解されるべきである。換言すれば、前述の実施形態/実施例/実装のいずれかに開示された任意の特徴が、他の前述の実施形態/実施例/実装のいずれかに含まれてもよい。
【0087】
利益、利点、問題の解決策、及び、何らかの利益、利点ないし解決策を生じさせ得るかまたはより顕著にし得る任意の要素は、特許請求の範囲の請求項のいずれかまたは全てにおいての、重要な、必要な、または本質的な機能または要素として解釈されるべきではない。特許請求される発明は、本出願の係属中になされる補正、及び、発行される請求項の全ての均等物を含んで、添付される請求項によってのみ定義される。
【0088】
更に、当該文書において、第1及び第2、上及び下、等のような関連語は、1つの実体または動作を他の実体または動作から区別するためにのみ用いられている可能性があり、必ずしもそのような実体または動作間の実際のそのような関係または順序を要求したり含意したりしていない可能性がある。用語「備える(comprises)」、「備えている(comprising)」、「有する(has)」、「有している(having)」、「含む(include)」、「含んでいる(including)」、「含有する(contains)」、「含有している(containing)」、あるいは、それらの他のあらゆる変形語は、非排他的な包含をカバーすることが意図されている。要素の列挙(リスト)を、備える、有する、含む、または、含有する、というプロセス、方法、物品、または、装置は、それらの要素のみを含むのではなく、明示的に列挙されていない他の要素や、そのようなプロセス、方法、物品、または、装置に固有の他の要素を含み得る。「を備える(comprises ...a)」、「を有する(has ...)」、「を含む(includes ...a)」、「を含有する(contains ...a)」の後に続く要素は、更なる制約条件が無ければ、当該要素を、備える、有する、含む、または、含有する、というプロセス、方法、物品、または、装置、における付加的な同一要素の存在を排除しない。用語「a」及び「an」は、明示的に他の言及が無い限り、1または複数として定義される。用語「実質的に」、「本質的に」、「およそ」、「約」、あるいは、それらの他のあらゆる変形語は、当業者に理解されるように、近い状態であるものとして定義され、1つの非限定的な実施形態において、当該用語は、10%以内、別の実施形態においては5%以内、別の実施形態においては1%以内、及び、別の実施形態において0.5%以内、として定義される。本明細書で用いられる用語「結合された」は、接続されたものとして定義されるが、必ずしも直接的でなくてもよく、また、必ずしも機械的でなくてもよい。ある方式で「構成された」デバイスまたは構造は、少なくとも当該方式で構成されるが、挙げられていない方式で構成されてもよい。
【0089】
本開示の要約は、読者が当該技術的開示の性質を素早く確認することを許容するために提供される。それは、特許請求の範囲の請求項の範囲または意味を解釈または制限するために用いられないという理解と共に提示される。また、前述の詳細な説明において、当該開示を円滑にする目的で、様々な実施形態において様々な特徴がまとめてグループ化されていることが認められ得る。この開示方法は、特許請求される実施形態が、各請求項で明示的に記載されている特徴よりも多くの特徴を必要とする、という意図を反映するものとして解釈されるべきでない。むしろ、以下の特許請求の範囲が反映するように、本発明の主題は、単一の開示された実施形態の全ての特徴よりも少なく存在する。以下の特許請求の範囲は、ここで詳細な説明に組み入れられ、各請求項は、別個に特許請求される主題として、それ自身独立している。
図1
図2
図3
図4A
図4B
図5
図6
図7
【国際調査報告】