(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-14
(54)【発明の名称】デジタル画像の関心領域(ROIS)に基づいて1または複数の機械視覚ジョブを自動的に生成すること
(51)【国際特許分類】
G06T 7/00 20170101AFI20240806BHJP
G06V 10/82 20220101ALI20240806BHJP
H04N 7/18 20060101ALI20240806BHJP
【FI】
G06T7/00 350C
G06V10/82
H04N7/18 K
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024504521
(86)(22)【出願日】2022-05-31
(85)【翻訳文提出日】2024-01-24
(86)【国際出願番号】 US2022031525
(87)【国際公開番号】W WO2023009206
(87)【国際公開日】2023-02-02
(32)【優先日】2021-07-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】519047200
【氏名又は名称】ゼブラ テクノロジーズ コーポレイション
【氏名又は名称原語表記】Zebra Technologies Corporation
【住所又は居所原語表記】3 Overlook Point, Lincolnshire, Illinois 60069, United States of America
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100130937
【氏名又は名称】山本 泰史
(74)【代理人】
【識別番号】100144451
【氏名又は名称】鈴木 博子
(74)【代理人】
【識別番号】100107537
【氏名又は名称】磯貝 克臣
(72)【発明者】
【氏名】ルカ アンソニー ピー
【テーマコード(参考)】
5C054
5L096
【Fターム(参考)】
5C054CA04
5C054CC02
5C054FC12
5C054FE09
5C054HA01
5L096AA02
5L096AA06
5L096AA09
5L096BA03
5L096CA02
5L096CA22
5L096CA24
5L096DA02
5L096HA11
5L096KA04
(57)【要約】
デジタル画像の関心領域(ROI)に基づいて機械視覚ジョブを自動的に生成するための機械視覚システム及び方法が、本明細書に開示される。当該システム及び方法は、訓練画像内に描かれた画像IDを捕捉するための機械視覚ツールを構成する工程と、訓練画像によって描かれた物体の成功または失敗ステータスを示すように各訓練画像にラベル付けする工程と、を含む。候補画像特徴が、候補ROIの生成のために、訓練画像から抽出される。ROIの訓練セットが候補ROIから選択され、包含ROIまたは除外ROIとして指定される。ROIの訓練セットと訓練画像とは、当該機械視覚ジョブを実装する撮像デバイスに展開可能な機械視覚ジョブを出力するように構成された視覚学習モデルを訓練するために使用され、物体を描写する追加画像の成功または失敗ステータスを検出する。
【特許請求の範囲】
【請求項1】
デジタル画像の関心領域(ROI)に基づいて1または複数の機械視覚ジョブを自動的に生成するための機械視覚方法であって、
画像識別子(ID)を捕捉するための機械視覚ツールを構成する工程と、
各々が画像IDを示す複数の訓練画像をロードする工程と、
前記複数の訓練画像の各々を、各訓練画像内に描かれた物体の成功ステータスまたは失敗ステータスを示すように、ラベル付けする工程と、
前記複数の訓練画像から1または複数の候補画像特徴を抽出する工程と、
前記候補画像特徴に基づいて1または複数の候補ROIを生成する工程と、
前記1または複数の候補ROIからROIの訓練セットを選択する工程であって、当該ROIの訓練セットの各ROIは、包含ROIまたは除外ROIとして指定される工程と、
前記ROIの訓練セット及び前記複数の訓練画像を用いて、視覚学習モデルを訓練する工程と、
を備え、
前記視覚学習モデルは、機械視覚ジョブを出力するように構成され、
前記機械視覚ジョブは、撮像デバイスへの電子的展開のために構成され、
前記機械視覚ジョブを実行する前記撮像デバイスは、前記物体を描写する追加画像の前記成功ステータスまたは前記失敗ステータスを検出するように構成される
ことを特徴とする機械視覚方法。
【請求項2】
前記複数の訓練画像のうちの1つの訓練画像を、失敗ステータスを示すようにラベル付けする工程は、当該訓練画像内に描かれた前記物体の視覚的に欠陥のある領域または部分を示すようにグラフィカル境界領域を含める工程を含む
ことを特徴とする請求項1に記載の機械視覚方法。
【請求項3】
前記視覚学習モデルは、更に、前記ROIの訓練セット及び前記複数の訓練画像を用いて訓練されて、前記訓練画像内に描かれた前記物体の品質を示す品質スコアを出力する
ことを特徴とする請求項1に記載の機械視覚方法。
【請求項4】
前記ROIの訓練セットのうちの少なくとも1つが、クリティカルROIを含み、
前記クリティカルROIは、前記視覚学習モデルをして、
(a)前記訓練画像内に描かれた前記物体の高品質を示す品質スコア、または、
(b)前記訓練画像内に描かれた前記物体の低品質を示す品質スコア、
のうちの少なくとも1つを出力させる
ことを特徴とする請求項3に記載の機械視覚方法。
【請求項5】
前記視覚学習モデルは、複数の人工知能モデルを含むアンサンブルモデルであり、
前記複数の人工知能モデルの各々は、前記物体を描くデジタル画像内の特定のROIの品質スコアを出力するために、前記ROIの訓練セットのサブセットを用いて訓練される
ことを特徴とする請求項1に記載の機械視覚方法。
【請求項6】
デジタル画像の関心領域(ROI)に基づいて1または複数の機械視覚ジョブを自動的に生成するように構成された機械視覚システムであって、
1または複数の機械視覚ジョブを実行するように構成された撮像デバイスと、
1または複数のプロセッサと、
前記1または複数のプロセッサに通信可能に結合され、コンピューティング指令を記憶するメモリと、
を備え、
前記コンピューティング指令は、前記1または複数のプロセッサによって実行される時、前記1または複数のプロセッサをして、
画像識別子(ID)を捕捉するための機械視覚ツールを構成させ、
各々が画像IDを示す複数の訓練画像をロードさせ、
前記複数の訓練画像の各々を、各訓練画像内に描かれた物体の成功ステータスまたは失敗ステータスを示すように、ラベル付けさせ、
前記複数の訓練画像から1または複数の候補画像特徴を抽出させ、
前記候補画像特徴に基づいて1または複数の候補ROIを生成させ、
前記1または複数の候補ROIからROIの訓練セットを選択させ、及び、
前記ROIの訓練セット及び前記複数の訓練画像を用いて、視覚学習モデルを訓練させ、
前記ROIの訓練セットの各ROIは、包含ROIまたは除外ROIとして指定され、
前記視覚学習モデルは、機械視覚ジョブを出力するように構成され、
前記機械視覚ジョブは、前記撮像デバイスへの電子的展開のために構成され、
前記機械視覚ジョブを実行する前記撮像デバイスは、前記物体を描写する追加画像の前記成功ステータスまたは前記失敗ステータスを検出するように構成される
ことを特徴とする機械視覚システム。
【請求項7】
前記複数の訓練画像のうちの1つの訓練画像を、失敗ステータスを示すようにラベル付けする工程は、当該訓練画像内に描かれた前記物体の視覚的に欠陥のある領域または部分を示すようにグラフィカル境界領域を含める工程を含む
ことを特徴とする請求項6に記載の機械視覚システム。
【請求項8】
前記視覚学習モデルは、更に、前記ROIの訓練セット及び前記複数の訓練画像を用いて訓練されて、前記訓練画像内に描かれた前記物体の品質を示す品質スコアを出力する
ことを特徴とする請求項6に記載の機械視覚システム。
【請求項9】
前記ROIの訓練セットのうちの少なくとも1つが、クリティカルROIを含み、
前記クリティカルROIは、前記視覚学習モデルをして、
(a)前記訓練画像内に描かれた前記物体の高品質を示す品質スコア、または、
(b)前記訓練画像内に描かれた前記物体の低品質を示す品質スコア、
のうちの少なくとも1つを出力させる
ことを特徴とする請求項8に記載の機械視覚システム。
【請求項10】
前記視覚学習モデルは、複数の人工知能モデルを含むアンサンブルモデルであり、
前記複数の人工知能モデルの各々は、前記物体を描くデジタル画像内の特定のROIの品質スコアを出力するために、前記ROIの訓練セットのサブセットを用いて訓練される
ことを特徴とする請求項6に記載の機械視覚システム。
【請求項11】
デジタル画像の関心領域(ROI)に基づいて1または複数の機械視覚ジョブを自動的に生成するためのコンピューティング指令を記憶する、有形の非一時的なコンピュータ可読媒体であって、
前記コンピューティング指令は、1または複数のプロセッサによって実行される時、当該1または複数のプロセッサをして、
画像識別子(ID)を捕捉するための機械視覚ツールを構成させ、
各々が画像IDを示す複数の訓練画像をロードさせ、
前記複数の訓練画像の各々を、各訓練画像内に描かれた物体の成功ステータスまたは失敗ステータスを示すように、ラベル付けさせ、
前記複数の訓練画像から1または複数の候補画像特徴を抽出させ、
前記候補画像特徴に基づいて1または複数の候補ROIを生成させ、
前記1または複数の候補ROIからROIの訓練セットを選択させ、及び、
前記ROIの訓練セット及び前記複数の訓練画像を用いて、視覚学習モデルを訓練させ、
前記ROIの訓練セットの各ROIは、包含ROIまたは除外ROIとして指定され、
前記視覚学習モデルは、機械視覚ジョブを出力するように構成され、
前記機械視覚ジョブは、撮像デバイスへの電子的展開のために構成され、
前記機械視覚ジョブを実行する前記撮像デバイスは、前記物体を描写する追加画像の前記成功ステータスまたは前記失敗ステータスを検出するように構成される
ことを特徴とする有形の非一時的なコンピュータ可読媒体。
【請求項12】
前記複数の訓練画像のうちの1つの訓練画像を、失敗ステータスを示すようにラベル付けする工程は、当該訓練画像内に描かれた前記物体の視覚的に欠陥のある領域または部分を示すようにグラフィカル境界領域を含める工程を含む
ことを特徴とする請求項11に記載の有形の非一時的なコンピュータ可読媒体。
【請求項13】
前記視覚学習モデルは、更に、前記ROIの訓練セット及び前記複数の訓練画像を用いて訓練されて、前記訓練画像内に描かれた前記物体の品質を示す品質スコアを出力する
ことを特徴とする請求項11に記載の有形の非一時的なコンピュータ可読媒体。
【請求項14】
前記ROIの訓練セットのうちの少なくとも1つが、クリティカルROIを含み、
前記クリティカルROIは、前記視覚学習モデルをして、
(a)前記訓練画像内に描かれた前記物体の高品質を示す品質スコア、または、
(b)前記訓練画像内に描かれた前記物体の低品質を示す品質スコア、
のうちの少なくとも1つを出力させる
ことを特徴とする請求項13に記載の有形の非一時的なコンピュータ可読媒体。
【請求項15】
前記視覚学習モデルは、複数の人工知能モデルを含むアンサンブルモデルであり、
前記複数の人工知能モデルの各々は、前記物体を描くデジタル画像内の特定のROIの品質スコアを出力するために、前記ROIの訓練セットのサブセットを用いて訓練される
ことを特徴とする請求項11に記載の有形の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
この数年のうちに、産業オートメーションは、様々なタスクにおいてオペレータを支援可能な機械視覚(マシンビジョン)コンポーネントに、大きく依存するようになっている。幾つかの実装形態では、カメラ等の機械視覚コンポーネントが、固定カメラを通過するようにコンベアベルト上を移動する物体等の物体を追跡するために、利用されている。多くの場合、これらのカメラ(撮像デバイスとも呼ばれる)は、様々なレベルでこれらの撮像デバイスと相互作用するように動作可能な対応するアプリケーションを実行するクライアント装置(例えばパーソナルコンピュータ)とインタフェースする。これらのアプリケーションでは、画像の操作と分析とが日常的に行われることがしばしばで、それは、画像内の複数の関心領域(ROI)の使用を介したユーザインタラクションを含む。
【0002】
しかしながら、物体、特には移動する物体、を正確に撮像(画像化)するために機械視覚コンポーネント及び/またはソフトウェアをセットアップまたは他の態様で構成する時に、問題が発生し得る。そのような移動物体は、コンベヤベルト上を移動する物体(例えば、製造中の製品)を含み得る。そのような状況では、機械視覚コンポーネント及び/またはソフトウェアは、典型的には、マニュアル構成またはカスタム構成を必要とし、これらは、時間がかかるだけでなく、エラーが発生しやすい。
【0003】
幾つかの態様では、機械視覚コンポーネント及び/またはソフトウェアは、特定の環境(例えば、コンベアベルトまたは他の製造プロセス)で特定の物体(例えば、製造製品のバーコードまたは製造製品の他の部分)を撮像するための特定の「ジョブ」として手動で構成され得る。しかしながら、ジョブを手動で作成することは、それ自体、時間がかかるプロセスであり得る。典型的には、ユーザは、潜在的な欠陥が無いか画像内のROIを慎重に特定する必要があり、それに応じて偏差(逸脱)が検出されるように機械視覚ジョブを設定する必要がある。そのようなユーザは、バーコード等の重要な機能の領域を手動で特定する必要もある。従って、デジタル画像のROIに基づいて1または複数の機械視覚ジョブを自動的に生成するための機械視覚システム及び方法のニーズが存在する。
【発明の概要】
【0004】
一態様において、本開示は、デジタル画像の関心領域(ROI)に基づいて1または複数の機械視覚ジョブを自動的に生成するための、進歩性を具えた機械視覚方法を説明する。当該機械視覚方法は、画像識別子(ID)を捕捉するための機械視覚ツールを構成する工程を備える。当該機械視覚方法は、更に、複数の訓練画像をロードする工程を備える。各々の訓練画像が、画像IDを示し得る。当該機械視覚方法は、更に、前記複数の訓練画像の各々を、各訓練画像内に描かれた物体の成功ステータスまたは失敗ステータスを示すように、ラベル付けする工程を備える。当該機械視覚方法は、更に、前記複数の訓練画像から1または複数の候補画像特徴を抽出する工程を備える。当該機械視覚方法は、更に、前記候補画像特徴に基づいて1または複数の候補ROIを生成する工程を備える。当該機械視覚方法は、更に、前記1または複数の候補ROIからROIの訓練セットを選択する工程を備える。当該ROIの訓練セットの各ROIは、包含ROIまたは除外ROIとして指定され得る。当該機械視覚方法は、更に、前記ROIの訓練セット及び前記複数の訓練画像を用いて、視覚学習モデルを訓練する工程を備える。前記視覚学習モデルは、機械視覚ジョブを出力するように構成され得る。前記機械視覚ジョブは、撮像デバイスへの電子的展開のために構成され得る。前記機械視覚ジョブを実行する前記撮像デバイスは、前記物体を描写する追加画像の前記成功ステータスまたは前記失敗ステータスを検出するように構成され得る。
【0005】
別の一態様において、機械視覚システムが開示される。当該機械視覚システムは、デジタル画像の関心領域(ROI)に基づいて1または複数の機械視覚ジョブを自動的に生成するように構成される。当該機械視覚システムは、1または複数の機械視覚ジョブを実行するように構成された撮像デバイスを備える。当該機械視覚システムは、更に、1または複数のプロセッサを備える。当該機械視覚システムは、更に、前記1または複数のプロセッサに通信可能に結合され、コンピューティング指令を記憶するメモリを備える。前記コンピューティング指令は、前記1または複数のプロセッサによって実行される時、前記1または複数のプロセッサをして、画像識別子(ID)を捕捉するための機械視覚ツールを構成させる。前記コンピューティング指令は、前記1または複数のプロセッサによって実行される時、更に、前記1または複数のプロセッサをして、複数の訓練画像をロードさせる。各々の訓練画像が、画像IDを示し得る。前記コンピューティング指令は、前記1または複数のプロセッサによって実行される時、更に、前記複数の訓練画像の各々を、各訓練画像内に描かれた物体の成功ステータスまたは失敗ステータスを示すように、ラベル付けさせる。前記コンピューティング指令は、前記1または複数のプロセッサによって実行される時、更に、前記複数の訓練画像から1または複数の候補画像特徴を抽出させる。前記コンピューティング指令は、前記1または複数のプロセッサによって実行される時、更に、前記候補画像特徴に基づいて1または複数の候補ROIを生成させる。前記コンピューティング指令は、前記1または複数のプロセッサによって実行される時、更に、前記1または複数の候補ROIからROIの訓練セットを選択させる。当該ROIの訓練セットの各ROIは、包含ROIまたは除外ROIとして指定され得る。前記コンピューティング指令は、前記1または複数のプロセッサによって実行される時、更に、前記ROIの訓練セット及び前記複数の訓練画像を用いて、視覚学習モデルを訓練させる。前記ROIの訓練セットの各ROIは、包含ROIまたは除外ROIとして指定され得る。前記視覚学習モデルは、機械視覚ジョブを出力するように構成され得る。前記機械視覚ジョブは、前記撮像デバイスへの電子的展開のために構成され得る。前記機械視覚ジョブを実行する前記撮像デバイスは、前記物体を描写する追加画像の前記成功ステータスまたは前記失敗ステータスを検出するように構成され得る。
【0006】
更に別の一態様において、デジタル画像の関心領域(ROI)に基づいて1または複数の機械視覚ジョブを自動的に生成するためのコンピューティング指令を記憶する、有形の非一時的なコンピュータ可読媒体が開示される。当該コンピューティング指令は、1または複数のプロセッサによって実行される時、当該1または複数のプロセッサをして、画像識別子(ID)を捕捉するための機械視覚ツールを構成させる。前記コンピューティング指令は、1または複数のプロセッサによって実行される時、更に、前記1または複数のプロセッサをして、複数の訓練画像をロードさせる。各々の訓練画像が、画像IDを示し得る。前記コンピューティング指令は、1または複数のプロセッサによって実行される時、更に、前記複数の訓練画像の各々を、各訓練画像内に描かれた物体の成功ステータスまたは失敗ステータスを示すように、ラベル付けさせる。前記コンピューティング指令は、1または複数のプロセッサによって実行される時、更に、前記複数の訓練画像から1または複数の候補画像特徴を抽出させる。前記コンピューティング指令は、1または複数のプロセッサによって実行される時、更に、前記候補画像特徴に基づいて1または複数の候補ROIを生成させる。前記コンピューティング指令は、1または複数のプロセッサによって実行される時、更に、前記1または複数の候補ROIからROIの訓練セットを選択させ得る。当該ROIの訓練セットの各ROIは、包含ROIまたは除外ROIとして指定され得る。前記コンピューティング指令は、1または複数のプロセッサによって実行される時、更に、前記ROIの訓練セット及び前記複数の訓練画像を用いて、視覚学習モデルを訓練させる。前記ROIの訓練セットの各ROIは、包含ROIまたは除外ROIとして指定され得る。前記視覚学習モデルは、機械視覚ジョブを出力するように構成され得る。前記機械視覚ジョブは、撮像デバイスへの電子的展開のために構成され得る。前記機械視覚ジョブを実行する前記撮像デバイスは、前記物体を描写する追加画像の前記成功ステータスまたは前記失敗ステータスを検出するように構成され得る。
【0007】
添付の図面は、以下の詳細な説明と共に、本明細書に組み込まれて本明細書の一部を形成し、特許請求される発明を含む概念の態様(実施形態)を更に説明するのに役立ち、また、それらの態様(実施形態)の様々な原理及び利点を説明するのに役立つ。添付図面において、同様の参照符号は、別個の図面を通して同一または機能的に類似の要素を指している。
【図面の簡単な説明】
【0008】
【
図1】
図1は、本明細書に記載の態様(実施形態)に従う、デジタル画像の関心領域(ROI)に基づいて1または複数の機械視覚ジョブを自動的に生成するように構成された例示的な機械視覚システムであり、当該1または複数の機械視覚ジョブは、撮像デバイスに展開可能である。
【0009】
【
図2】
図2は、本明細書に記載の態様(実施形態)に従う、
図1の撮像デバイスの斜視図である。
【0010】
【
図3】
図3は、本明細書に記載の態様(実施形態)に従う、
図1の機械視覚システムの動作に関して利用される例示的なアプリケーションインタフェースを示す。
【0011】
【
図4】
図4は、本明細書に記載の態様(実施形態)に従う、デジタル画像の関心領域(ROI)に基づいて1または複数の機械視覚ジョブを自動的に生成するための例示的な機械視覚方法である。
【発明を実施するための形態】
【0012】
当業者は、図面内の要素は簡潔及び明瞭に示されていて、必ずしも一定縮尺で描かれていない、ということを理解するであろう。例えば、図面内の幾つかの要素の寸法は、本発明の態様(実施形態)の理解を改善することを助けるべく、他の要素と比較して誇張されている可能性がある。
【0013】
装置及び方法の構成要素は、適切な場合、図面内で従来の符号によって示されており、当該図面は、詳細に関する開示を不明瞭にしないように、本発明の態様(実施形態)を理解することに関連する特定の詳細のみを示しており、当該詳細に関する開示は、本明細書の記載の利益を受ける当業者にとって容易に明らかである。
【0014】
デジタル画像の関心領域(ROI)に基づいて機械視覚ジョブを自動的に生成するための機械視覚システム及び方法が、本明細書に開示される。全体的に、本明細書の開示は、(デジタル画像内に示されているような)合格インスタンスと失敗インスタンスのセットが与えられて、機械視覚ジョブのための機械学習モデルを訓練し、分析のために有用なコンポーネントを自動的に抽出する、という新規な態様を提供する。当該用語が本明細書で使用される場合、「機械視覚ジョブ」または他の「ジョブ」は、例えば、ZEBRA TECHNOLOGIES CORP.によって提供されるようなVS-SERIESスマートカメラのいずれか1つまたは複数、例えば、VS70 MACHINE VISION SMART CAMERAデバイス、などの撮像カメラ上で展開及び実装するように構成された撮像及び/またはカメラのソフトウェアまたはファームウェアを指す。例えば、一態様では、機械視覚ジョブは、製品のバーコードの画像を読み取るまたはスキャンするように撮像カメラに展開するように構成され得る。機械視覚ジョブを構成する工程は、製造中または製造後のコンピュータ回路基板の成功(例えば、成功ステータス)または失敗(例えば、失敗ステータス)を示すために、当該コンピュータ回路基板の画像内のコンピュータチップ位置など、当該画像内の複数のROIを選択する工程を含み得る。そのような動作(アクティビティ)は、例えば、製造品質管理プロセスの一部として発生し得る。様々な態様において、機械視覚ジョブは、視覚学習モデル(例えば、機械学習モデル)によって生成され得て、セットアップされ得て、あるいは、他の態様で出力され得る。本開示のこれら及び他の態様が、本明細書の図面を参照して更に説明される。
【0015】
図1は、本明細書に記載される態様に従って、デジタル画像のROIに基づいて1または複数の機械視覚ジョブを自動的に生成するように構成された例示的な機械視覚システム100であり、当該1または複数の機械視覚ジョブは、撮像デバイス104に展開可能である。様々な態様において、機械視覚システム100は、本明細書に開示される様々な態様に従って、機械視覚ジョブの目標物体生成の画像(機械視覚ジョブの生成用の目標物体の画像)のピクセルデータの分析を提供する。
【0016】
図1の例示的な態様では、当該撮像システム100は、ユーザコンピューティングデバイス102(例えば、コンピュータ、モバイルデバイスまたはタブレット)と、制御コンピューティングデバイス105(例えば、プログラマブルロジックコントローラ(PLC))と、ネットワーク106を介してユーザコンピューティングデバイス102及び制御コンピューティングデバイス105に通信可能に結合された撮像デバイス104と、を含む。一般的に、ユーザコンピューティングデバイス102及び撮像デバイス104は、例えば、当該説明に付随する図面のフローチャートによって表され得るように、本明細書で説明される例示的な方法の動作を実装するための指令(命令)を実行するように、構成され得る。ユーザコンピューティングデバイス102は、一般的に、ユーザ/オペレータが撮像デバイス104上での実行のための機械視覚ジョブを作成することを可能にするように構成されている。それが作成される時、ユーザ/オペレータは、ネットワーク106を介して撮像デバイス104に当該機械視覚ジョブを送信/アップロードし得て、そこで機械視覚ジョブが解釈(インタプリト)され、実行され、または他の態様で当該撮像デバイス104によって実装される。これらのジョブの実行時に、撮像デバイス104によって生成される出力データが、更なる分析及び利用のために、制御コンピューティングデバイス105に送信され得る。ユーザコンピューティングデバイス102は、1または複数のオペレータワークステーションであり得て、1または複数のプロセッサ108、1または複数のメモリ110、ネットワーキングインタフェース112、入出力(I/O)インタフェース114、及び、スマート撮像アプリケーション116、を含み得る。同様に、制御コンピューティングデバイス105は、1または複数のプロセッサ158、1または複数のメモリ160、ネットワーキングインタフェース172、入出力(I/O)インタフェース174、並びに、潜在的にはファームウェアの形態で及び/またはスマートアプリケーション166(スマート撮像アプリケーション116と同一であっても異なっていてもよい)として実行されるソフトウェア、を含み得る。
【0017】
撮像デバイス104は、ネットワーク106(例えば、内部LANなどのプライベートコンピュータネットワーク、あるいは、追加的または代替的に、インターネットなどのパブリック(公共)コンピュータネットワーク)を介してユーザコンピューティングデバイス102に接続されており、ユーザコンピューティングデバイス102から受信された機械視覚ジョブを解釈する、実行する、または、他の態様で実装する、ように構成されている。一般に、撮像デバイス104は、ネットワーク106を介してユーザコンピューティングデバイス102から1または複数のジョブスクリプトを含むジョブファイルを取得し得て、これは、機械視覚ジョブを定義し得て、当該機械視覚ジョブに従って画像を捕捉及び/または分析するように撮像デバイス104を構成し得る。例えば、撮像デバイス104は、撮像データ/データセット及び/または撮像後データを、決定する、記憶する、または、他の態様で処理する、ために使用されるフラッシュメモリを含み得る。次いで、撮像デバイス104は、1または複数のジョブスクリプトを介して確立された構成に従って、当該撮像デバイス104をして目標物体の画像捕捉させるトリガを、受信し得る、認識し得る、及び/または、他の態様で解釈し得る。一旦それが捕捉及び/または分析されると、撮像デバイス104は、更なる分析及び/または記憶のために、ネットワーク106を介して当該画像及び任意の関連データをユーザコンピューティングデバイス102に送信し得る。様々な態様(実施形態)において、撮像デバイス104は、「スマート」カメラ(例えば、VS70 MACHINE VISION SMART CAMERAデバイスなど)であり得て、及び/または、撮像デバイス104の十分な機能を自動的に実行するように構成され得て、機械視覚ジョブを定義するジョブスクリプト、例えばユーザコンピューティングデバイス102から取得される1または複数のジョブファイルに含まれる任意の1または複数のジョブスクリプト、を取得し得る、解釈し得る、及び、実行し得る。
【0018】
概して、ジョブファイルは、ユーザコンピューティングデバイス102から撮像デバイス104に転送可能な前記1または複数のジョブスクリプトの、JSON表現/データフォーマットであり得る。本明細書で使用される場合、ジョブスクリプトもまた、コンフィグレーションファイルまたは「ジョブコンフィグレーション」を含み得る、あるいは、そのように言及され得る。ジョブファイルは、更に、撮像デバイス104上で実行するC++ランタイムエンジンまたは他の適切なランタイムエンジンによって、ロード可能/読み取り可能であり得る。更に、撮像デバイス104は、ユーザコンピューティングデバイス102からネットワーク106を介してジョブファイルを探索(listen for)して受信するように構成されたサーバ(図示せず)を実行(作動)または実装させ得る。追加的または代替的に、ジョブファイルを探索して受信するように構成されたサーバは、クラウドベースのコンピューティングプラットフォームなど、1または複数のクラウドベースのサーバとして実装され得る。例えば、当該サーバは、MICROSOFT AZURE、AMAZON AWS、等の任意の1または複数のクラウドベースのプラットフォームであり得る。
【0019】
様々な態様において、撮像デバイス104は、1または複数のプロセッサ118、1または複数のメモリ120、ネットワーキングインタフェース122、I/Oインタフェース124、及び、撮像アセンブリ126、を含み得る。撮像アセンブリ126は、デジタル画像及び/またはフレームを捕捉または撮影するためのデジタルカメラ及び/またはデジタルビデオカメラを含み得る。各デジタル画像は、ピクセルデータを含み得て、それが、各々が画像分析タスクを実行するように構成された1または複数のツールによって分析され得る。例えば撮像アセンブリ126のデジタルカメラ及び/またはデジタルビデオカメラは、本明細書に開示されるように、デジタル画像を、撮影する、捕捉する、または、他の態様で生成する、ように構成され得て、少なくとも幾つかの態様(実施形態)では、それぞれのデバイス(例えば、ユーザコンピューティングデバイス102、撮像デバイス104)のメモリ(例えば、1または複数のメモリ110、120及び/または160)にそのような画像を記憶し得る。
【0020】
例として、撮像アセンブリ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画像データと深さが揃えられ得る。
【0021】
様々な態様(実施形態)において、撮像アセンブリ126は、所定の検索空間の表面または領域、あるいは、所定の検索空間内の対象物体、の画像を捕捉するように構成され得る。例えば、あるジョブスクリプトに含まれる各ツールは、追加的に、撮像アセンブリ126によって撮像された特定の領域または目標物体に対応する関心のある領域(ROI)を含み得る。ある特定のジョブスクリプトに含まれる全てのツールのROIによって定義される複合領域は、それによって、当該ジョブスクリプトの実行を容易化するために撮像アセンブリ126が捕捉し得る事前定義される検索空間を定義し得る。もっとも、当該事前定義される検索空間は、当該特定のジョブスクリプトに含まれる全てのツールのROIによって定義される複合領域より多いまたは少ない視野(FOV)特徴を含むように、ユーザによって指定されてもよい。撮像アセンブリ126は、前記事前定義される検索空間に加えて追加の領域が本明細書で企図されるように、様々な領域の2D及び/または3D画像データ/データセットを捕捉し得ることが留意されるべきである。更に、様々な態様(実施形態)において、撮像アセンブリ126は、2D/3D画像データに加えて、グレースケール画像データまたは振幅画像データなど、画像データの他のセットを捕捉するように構成され得て、それらの各々は、2D/3D画像データと深さが揃えられ得る。
【0022】
撮像デバイス104はまた、他のデバイス(例えば、ユーザコンピューティングデバイス102、外部サーバ)による使用のために、2D画像データ/データセット及び/または3D画像データセットを処理し得る。例えば、1または複数のプロセッサ118は、撮像アセンブリ126によって捕捉、スキャンまたは感知された画像データまたはデータセットを処理し得る。画像データの処理は、元のスキャンされたまたは感知された画像データから決定される、メタデータ、単純化されたデータ、正規化されたデータ、結果データ、状態データ、または、警告データ、を含み得る撮像後(ポスト撮像)データを生成し得る。画像データ及び/または撮像後データは、閲覧、操作、及び/または、他の相互作用、のためにスマート撮像アプリケーション116を実行するユーザコンピューティングデバイス102に送信され得る。他の態様(実施形態)では、画像データ及び/または撮像後データは、記憶または更なる操作のためにサーバに送信され得る。本明細書で説明されるように、ユーザコンピューティングデバイス102、撮像デバイス104、及び/または、外部サーバまたは他の中央処理装置、及び/または、記憶装置は、そのようなデータを記憶し得て、また、画像データ及び/または撮像後データを、ユーザデバイス、例えばモバイルデバイス、タブレット、手持ち式デバイス、または、デスクトップデバイス、上に実装される他のアプリケーションに送信し得る。
【0023】
1または複数のメモリ110、120及び/または160の各々は、読み取り専用メモリ(ROM)、電子プログラマブル読み取り専用メモリ(EPROM)、ランダムアクセスメモリ(RAM)、消去可能な電子プログラマブル読み取り専用メモリ(EEPROM)、及び/または、他のハードドライブ、フラッシュメモリ、MicroSDカード、等の、揮発性及び/または不揮発性の固定式及び/または取り外し可能式のメモリの1または複数の形態を含み得る。一般に、コンピュータプログラムまたはコンピュータベースの製品、アプリケーション、あるいは、コード(例えば、スマート撮像アプリケーション116、または、本明細書で説明される他のコンピューティング指令)は、その中でそのようなコンピュータ可読プログラムコードまたはコンピュータ指令が具現化される、コンピュータで使用可能な記憶媒体、乃至、有形の非一時的なコンピュータ可読媒体(例えば、標準ランダムアクセスメモリ(RAM)、光ディスク、ユニバーサルシリアルバス(USB)ドライブ、等)、上に記憶され得る。そこにおいて、コンピュータ可読プログラムコードまたはコンピュータ指令は、1または複数のプロセッサ108、118及び/または158によって実行される(例えば、1または複数のメモリ110、120及び/または160内のそれぞれのオペレーティングシステムに関連して動作する)ように、インストールされ得て、あるいは、他の態様で適合され得て、機械可読指令、方法、処理、要素、または、制限、を容易化し得る、実装し得る、または、実行し得る。様々なフローチャート、説明図、概略図、図面、及び/または、本明細書の他の開示、のために図示、描写または説明されているように。この点に関して、プログラムコードは、任意の所望のプログラム言語で実装され得て、マシンコード、アセンブリコード、バイトコード、解釈可能なソースコード、等として実装され得る(例えば、Golang、Python、C、C++、C#、Objective-C、Java、Scala、ActionScript、JavaScript、HTML、CSS、XML、等を介して)。
【0024】
1または複数のメモリ110、120及び/または160は、本明細書に説明されるような、機能、アプリ、方法、または、他のソフトウェア、を容易化することが可能なオペレーティングシステム(OS)(例えば、マイクロソフトウィンドウズ、リナックス、ユニックス、等)を記憶し得る。1または複数のメモリ110は、また、スマート撮像アプリケーション116を記憶し得る。それは、本明細書で更に説明されるように、機械視覚ジョブの構築を可能にするように構成され得る。追加的または代替的に、スマート撮像アプリケーション116は、撮像デバイス104の1または複数のメモリ120内、及び/または、外部データベース(図示せず)内、に記憶され得て、後者は、ネットワーク106を介してユーザコンピューティングデバイス102にアクセス可能または他の態様で通信可能に結合されている。1または複数のメモリ110、120及び/または160はまた、機械可読指令を記憶し得て、それは、1または複数のアプリケーション、1または複数のソフトウェアコンポーネント、及び/または、1または複数のアプリケーションプログラミングインタフェース(API)、のいずれかを含む。それらは、方法、処理、要素または制限等の、本明細書で説明される特徴、機能または他の開示を、容易化または実行するように実装され得る。様々なフローチャート、説明図、概略図、図面、及び/または、本明細書の他の開示、のために図示、描写または説明されているように。例えば、アプリケーション、ソフトウェアコンポーネント、または、API、のうちの少なくとも幾つかが、スマート撮像アプリケーション116等の機械視覚ベースの撮像アプリケーションであり得るし、それを含み得るし、その一部であり得る。そこにおいて、各々が、本明細書に説明されるそれらの様々な機能を容易化するように構成され得る。1または複数の他のアプリケーションが想定され得て、1または複数のプロセッサ108、118及び/または158によって実行され得る。
【0025】
1または複数のプロセッサ108、118及び/または158は、コンピュータバスを介して、1または複数のメモリ110、120及び/または160に接続され得て、当該1または複数のプロセッサ108、118及び/または158と当該1または複数のメモリ110、120及び/または160との間で電子データ、データパケットまたは他の電子信号を送信する役割を担い得て、機械可読指令、方法、処理、要素、または、制限、を実装または実行し得る。様々なフローチャート、説明図、概略図、図面、及び/または、本明細書の他の開示、のために図示、描写または説明されているように。
【0026】
1または複数のプロセッサ108、118及び/または158は、コンピュータバスを介して、1または複数のメモリ110、120及び/または160とインタフェースし得て、オペレーティングシステム(OS)を実行し得る。1または複数のプロセッサ108、118及び/または158はまた、コンピュータバスを介して、1または複数のメモリ110、120及び/または160とインタフェースし得て、当該1または複数のメモリ110、120及び/または160内及び/または外部データベース(例えば、Oracle、DB2、MySQL等のリレーショナルデータベース、または、MongoDB等のNoSQLベースのデータベース)内に記憶されるデータを作成し得て、読み取り得て、更新し得て、削除し得て、または、他の態様でアクセスまたは相互作用し得る。1または複数のメモリ110、120及び/または160内及び/または外部データベース内に記憶されるデータは、例えば、機械視覚ジョブ画像(例えば、ジョブスクリプトの実行に応答して撮像デバイス104によって捕捉される画像)及び/または他の適切な情報を含んで、本明細書に説明されるデータまたは情報の全てまたは任意の一部を含み得る。
【0027】
ネットワーキングインタフェース112、122及び/または162は、1または複数の外部/ネットワークポートを介して、本明細書で説明されるネットワーク106等の1または複数のネットワークまたはローカル端末に、データを通信する(例えば、送受信する)ように構成され得る。幾つかの態様(実施形態)では、ネットワーキングインタフェース112、122及び/または162は、ASP.NET、Java J2EE、Ruby on Rails、Node.js、Webサービス、または、オンラインAPI、等のクライアントサーバプラットフォーム技術を含み得て、電子的な要求の受信と応答とを担い得る。ネットワーキングインタフェース112、122及び/または162は、クライアントサーバプラットフォーム技術を実装し得て、それは、コンピュータバスを介して、1または複数のメモリ110、120及び/または160(そこに記憶された、アプリケーション、コンポーネント、API、データ、等)と相互作用し得て、機械可読指令、方法、処理、要素、または、制限、を実装または実行し得る。様々なフローチャート、説明図、概略図、図面、及び/または、本明細書の他の開示、のために図示、描写または説明されているように。
【0028】
幾つかの態様(実施形態)によれば、ネットワーキングインタフェース112、122及び/または162は、IEEE規格、3GPP規格、または、他の規格、に従って機能する1または複数のトランシーバ(例えば、WWAN、WLAN、及び/または、WPANトランシーバ)を含み得て、あるいは、それらと相互作用し得て、これは、ネットワーク106に接続された外部/ネットワークポートを介したデータの送受信に使用され得る。幾つかの態様(実施形態)では、ネットワーク106は、プライベートネットワークまたはローカルエリアネットワーク(LAN)を含み得る。追加的または代替的に、ネットワーク106は、インターネットなどの公衆ネットワークを含み得る。幾つかの態様(実施形態)では、ネットワーク106は、ルータ、無線スイッチ、または、様々な無線規格のうちの任意の1または複数に基づく無線通信を介して(ネットワーキングインタフェース112を介して)ユーザコンピューティングデバイス102と(ネットワーキングインタフェース122を介して)撮像デバイス104とに通信する他のそのような無線接続ポイント、を含み得る。当該無線規格は、非限定的な例として、IEEE 802.11a/b/c/g(WIFI)、BLUETOOTH規格、等を含む。
【0029】
I/Oインタフェース114、124及び/または164は、管理者若しくはオペレータに情報を提示する、及び/または、管理者若しくはオペレータから入力を受信するように構成されたオペレータインタフェースを含み得る、または、実装し得る。オペレータインタフェースは、表示画面を(例えば、ユーザコンピューティングデバイス102及び/または撮像デバイス104を介して)提供し得る。それを、ユーザ/オペレータが、任意の画像、グラフィクス、テキスト、データ、特徴、ピクセル、及び/または、他の適切な視覚イメージ若しくは情報を視覚化するために、使用し得る。例えば、ユーザコンピューティングデバイス102及び/または撮像デバイス104は、ディスプレイ画面上の、画像、グラフィクス、テキスト、データ、特徴、ピクセル、及び/または、他の適切な視覚イメージ若しくは情報、を表示するためのグラフィカルユーザインタフェース(GUI)を、少なくとも部分的に、有し得る、実装し得る、アクセスを有し得る、レンダリングし得る、または、他の態様で露出し得る。I/Oインタフェース114、124及び/または164はまた、I/Oコンポーネント(例えば、ポート、容量性または抵抗性のタッチセンシティブ入力パネル、キー、ボタン、ライト、LED、任意の数のキーボード、マウス、USBドライブ、光学式ドライブ、スクリーン、タッチスクリーン等)を含み得る。これは、ユーザコンピューティングデバイス102及び/または撮像デバイス104を介して直接的/間接的にアクセス可能であり得るか、あるいは、それらに直接的/間接的に取り付けられ得る。幾つかの態様(実施形態)によれば、管理者若しくはユーザ/オペレータは、ユーザコンピューティングデバイス102及び/若しくは撮像デバイス104にアクセスし得て、ジョブを構築し得て、画像または他の情報をレビューし得て、変更を行い得て、応答及び/若しくは選択を入力し得て、並びに/または、他の機能を実行し得る。
【0030】
本明細書において前述されたように、幾つかの態様(実施形態)では、ユーザコンピューティングデバイス102は、「クラウド」ネットワークの一部として、本明細書に記載された機能を実行し得る、あるいは、クラウド内の他のハードウェアまたはソフトウェアコンポーネントと通信し得て、本明細書に記載されたデータまたは情報を送信し得る、取得し得る、または、分析し得る。
【0031】
図2は、本明細書に記載の態様(実施形態)に従う、
図1の撮像デバイス104の斜視図である。非制限的な例として、
図2は、
図1のために本明細書で説明されるようなVS70 MACHINE VISION SMART CAMERAデバイスを表す。撮像デバイス104は、ハウジング202、撮像アパーチャ204、ユーザインタフェースラベル206、ドームスイッチ/ボタン208、1または複数の発光ダイオード(LED)210、及び、取付点212、を含む。前述のように、撮像デバイス104は、ユーザコンピューティングデバイス(例えば、ユーザコンピューティングデバイス102)からジョブファイルを取得し得て、その後、撮像デバイス104がそれを解釈して実行する。ジョブファイルに含まれる指令(命令)は、目標物体の画像を捕捉する前に撮像デバイス104の構成を調整するように動作可能なデバイス構成設定(本明細書では「撮像設定」とも呼ばれる)を含み得る。
【0032】
例えば、デバイス構成設定は、撮像アパーチャ204に関連する1または複数の設定を調整するための指令(命令)を含み得る。一例として、機械視覚ジョブに対応する意図された分析の少なくとも一部が、撮像デバイス104が任意の捕捉される画像の明るさを最大化することを要求すると仮定する。この要求に対処するために、ジョブファイルは、撮像アパーチャ204のアパーチャサイズを増大するようなデバイス構成設定を含み得る。撮像デバイス104は、これらの指令を(例えば、1または複数のプロセッサ118を介して)解釈し得て、それに応じて、撮像アパーチャ204のアパーチャサイズを増大させ得る。従って、撮像デバイス104は、それ自身の構成を自動的に調整して特定の機械視覚ジョブに最適に適合する、というように構成され得る。付加的に、撮像デバイス104は、撮像アパーチャ204を介して受け取られる照明に関わるまたは他の態様で影響を与える、1または複数のバンドパスフィルタ、1または複数の偏光子、1または複数のDPMディフユーザ、1または複数のCマウントレンズ、及び/または、1または複数のCマウント液体レンズ、を含み得る、あるいは、含むように適応可能であり得る、但し、これらは例示であってこれらに限定されない。
【0033】
ユーザインタフェースラベル206は、ドームスイッチ/ボタン208及び1または複数のLED210を含み得て、それによって、様々なインタラクティブ機能及び/または指示機能を可能にし得る。一般に、ユーザインタフェースラベル206は、ユーザが撮像デバイス104をトリガ及び/または調整することを可能にし得て(例えば、ドームスイッチ/ボタン208を介して)、且つ、1若しくは複数の機能、エラー及び/または他の動作がいつ撮像デバイス104に対して実行されたまたは行われたかをユーザが認識することを可能にし得る(例えば、1または複数のLED210を介して)。例えば、ドームスイッチ/ボタン(例えば、ドーム/スイッチボタン208)のトリガ機能が、ユーザが撮像デバイス104を使用して画像を捕捉することを可能にし得て、及び/または、ユーザがユーザアプリケーション(例えば、スマート撮像アプリケーション116)のトリガ構成スクリーンを表示することを可能にし得る。当該トリガ構成画面は、ユーザが、本明細書で説明されるように、後に開発される機械視覚ジョブでの使用のためにメモリ(例えば、1または複数のメモリ110、120及び/または160)内に記憶され得る、撮像デバイス104のための1または複数のトリガを構成することを許容し得る。
【0034】
別の例として、ドームスイッチ/ボタン(例えば、ドーム/スイッチボタン208)の調整機能は、好ましい構成/所定の構成に従ってユーザが撮像デバイス104の構成を自動で及び/または手動で調整することを可能にし得て、及び/または、ユーザがユーザアプリケーション(例えば、スマート撮像アプリケーション116)の撮像構成画面を表示することを可能にし得る。当該撮像構成画面は、ユーザが、本明細書で説明されるように、後に開発される機械視覚ジョブでの使用のためにメモリ(例えば、1または複数のメモリ110、120及び/または160)内に記憶され得る、撮像デバイス104の1または複数の構成(例えば、アパーチャサイズ、露出長さ、等)を構成することを許容し得る。
【0035】
更にこの例について、本明細書で更に説明されるように、ユーザは、当該撮像構成画面(または、より一般的には、スマート撮像アプリケーション116)を利用して、撮像デバイス104の撮像設定の2以上の構成を確立し得る。次いで、ユーザは、これら撮像設定の2以上の構成を機械視覚ジョブの一部として保存し得る。それは、その後、1または複数のジョブスクリプトを含むジョブファイルで撮像デバイス104に送信される。次いで、当該1または複数のジョブスクリプトは、撮像デバイス104のプロセッサ(例えば、1または複数のプロセッサ118)に、各々の連続する画像取得後に、前記撮像設定の2以上の構成の1または複数に従って、撮像デバイスの撮像設定を自動的に順次に調整するよう指示し得る。
【0036】
取付点212は、ユーザが、撮像デバイス104を、取付デバイス(例えば、撮像用三脚、カメラマウント、等)、構造面(例えば、倉庫壁、倉庫天井、構造支持梁、等)、他のアクセサリアイテム、並びに/または、他の適切な接続用のデバイス、構造若しくは表面、に接続する並びに/または取り外し可能に固定する、ことを可能にし得る。例えば、撮像デバイス104は、流通センター、製造工場、倉庫、及び/または、他の施設、の取付デバイス上に最適に載置され得て、撮像して、それによって、製品、パッケージ、及び/または、他のアイテムの品質/一貫性を監視し得る(それらが撮像デバイス104のFOVを通過する時において)。更に、取付点212は、ユーザが、1または複数の外部照明装置、1または複数の取付デバイス/ブラケット、等を含むがこれらに限定されない多数のアクセサリアイテムに撮像デバイス104を接続することを可能にし得る。
【0037】
更に、撮像デバイス104は、コンピュータネットワーク(例えば、ネットワーク106)への接続を可能にするハウジング202内に含まれる幾つかのハードウェアコンポーネントを含み得る。例えば、撮像デバイス104は、当該撮像デバイス104がギガビットイーサネット接続及び/またはデュアルギガビットイーサネット接続等のネットワークに接続することを可能にするネットワーキングインタフェース(例えば、ネットワーキングインタフェース122)を含み得る。更に、撮像デバイス104は、例えば、イーサネット/IP、PROFINET、Modbus TCP、CC-Link、USB3.0、RS-232、及び/または、任意の他の適切な通信プロトコル、あるいはそれらの組み合わせ、を介して他のデバイス(例えば、ユーザコンピューティングデバイス102)と通信するためのネットワーキングインタフェースの一部として、トランシーバ及び/または他の通信コンポーネントを含み得る。
【0038】
図3は、本明細書に記載の態様(実施形態)に従う、
図1の機械視覚システムの動作に関して利用される例示的なアプリケーションインタフェース300を示す。
図3の例に示されるように、画像302が、アプリケーションインタフェース300にロードされ、及び/または、アプリケーションインタフェース300に表示される。アプリケーションインタフェース300は、当該画像に関連付けられた関心領域(ROI)を有するように、注釈を付けられ、マーク付けされ、または、他の態様で操作される可能性がある、あるいは、それらの準備ができている(未然)可能性がある、という画像をロードし得る。このようなROIは、本明細書で説明されるように、機械学習モデルを訓練するため、及び/または、機械視覚ジョブを実装するように撮像装置104を構成するため、に使用され得る。幾つかの態様(実施形態)では、アプリケーションインタフェース300は、例えば既に訓練された機械視覚モデル等によって、訓練、試験、及び/または、アプリケーション、に使用され得る追加画像320を記憶及び/またはロードし得る。
【0039】
図3の例において、画像302は、コンピュータ回路基板の画像を示しており、これは、撮像装置104によって撮像され得る製造製品の一例である。画像302は、ユーザによって操作または他の態様で相互作用(対話)され得る。図示されるように、画像302は、ROI306、308を示している。ROI306は、画像302のコンピュータ回路基板に関連付けられたバーコードを含んでいる。ROI308は、コンピュータ回路基板の一部、例えば、画像302のコンピュータ回路基板上にコンピュータチップが取り付けられる(または取り付けられるべき)領域を含む。
【0040】
ROIは、望ましい任意の形状であり得て、手動または自動の任意の態様で取得され得る、ということが理解されるべきである。例えば、図示された各ROIは、長方形形状を有するものとして示されているが、ROIは、例えば、円形、正方形、楕円形、八角形、または、任意の他の所望の形状、を有し得る。更に、ROIは、何らかの線に関して対称である必要はなく、全体として不規則な形状を有していてもよい。ROIの生成に関して、ROI機能を起動して所望の比率のROIを描画しながら、ユーザが画像302内の点をマウスで選択して、当該点からポインタをドラッグすることによって、手動で生成することもできるし、あるいは、アプリケーション及び/または撮像デバイスによって実行される画像分析の結果に基づいて生成することもできる。例えば、当該システムは、閾値を上回るまたは下回るピクセル輝度値を有する画像内の領域の周囲にROIを生成するように構成され得る、あるいは、エッジ検出に基づいてROIを生成するように構成され得る、あるいは、色検出に基づいてROIを生成するように構成され得る。
【0041】
更に、各ROIは、スクリーン上に表示され、何らかの識別情報を提供するラベル(例えば、ROI306についてはラベル306L、ROI308についてはラベル308L)を有し得る。そのような識別情報は、非限定的な例として、画像内の1または複数の特徴を識別するまたは表す情報、当該ROIを生成するために使用されたアプローチ、あるいは、当該ROIに対応する他のそのような情報、を含み得る。
図3の例では、ラベル306Lは、ROI306を画像識別子(ID)として定義する(例えば、ROI306に示されるバーコードが、1つのバーコードを含む)。同様に、ラベル308Lは、ROI308を状態(ステータス)として定義する(例えば、ROI308に示されるコンピュータチップが、1つの状態、例えば、当該コンピュータチップが成功状態(例えば、欠陥なしで描かれている)で描かれているか失敗状態(例えば、欠陥を伴って描かれている、欠落している、等)で描かれているかを示す成功状態または失敗状態を含む状態、を有する)。
【0042】
1または複数のROIが存在する時、どのROIがユーザの動作に反応して影響されるべきか、を決定するために、以下のアプローチが適用され得る。例えば、以下のロジックが適用され得る。
・マウスポインタがROIラベルの上方にある場合、当該ラベルに関連付けられたROIが相互作用(対話)のターゲットとされる。
・あるいは、ポインタが単一のROIの本体内にある場合、当該マウスポインタがその内部に見出されるROIが相互作用(対話)のターゲットとされる。
・あるいは、ポインタが複数のROIの本体内にある場合、その中心が当該ポインタの位置に最も近いROIをターゲットにする。
・ポインタが複数のROIの中心に対して等距離である場合、相互作用(対話)のために最小の(サイズの)ROIをターゲットにする。
【0043】
あるROIがターゲットにされるなら、それは、クリックによって選択され得るか、または、ドラッグによって移動され得る。画像302を表示するキャンバス上でポインタが移動すると、ターゲットにされるROIは半透明のオーバーレイで強調表示され、現在のポインタ位置が与えられた場合にどのROIと対話するのかがユーザに分かる。
【0044】
そのような中心距離ロジックは、ユーザが慣例(取り決め)に慣れてしまえば、ユーザが重複するROIの群から所望のROIをターゲットにすることを許容する。
【0045】
他の態様では、以下のロジックが適用される。
・ポインタがROIラベルの上方にある場合、当該ラベルに関連付けられたROIが相互作用(対話)のターゲットとされる。
・あるいは、ポインタが単一のROIの本体内にある場合、当該マウスポインタがその内部に見出されるROIが相互作用(対話)のターゲットとされる。
・あるいは、ポインタが複数のROIの本体内にある場合、その境界が当該ポインタの位置に最も近いROIをターゲットにする。
・ポインタが複数のROIの境界に対して等距離である場合、中心までの距離及び/またはROIサイズがタブレーカーとして使用される。従って、ターゲットとされるROIは、その中心がポインタの位置に最も近いROI、及び/または、サイズが最も小さいROI、であり得る。
【0046】
ROIの境界は、それ以外は透明なROI本体部の可視要素であり得て、不可視の中心よりもターゲティングのアンカーとして機能し得る。細い境界は、それ自身がターゲットとして機能するには、高度すぎるポインティングの精度を要求する可能性があるが、ユーザは、境界近くのROI本体部の内側をポインティングするという慣例に従うことができ、これは、より低いポインティングの精度のみを要求するので効率的である。
【0047】
特定のモードが特定のユーザにとってより直感的である(容易に使える)場合、または、特定のモードが特定のユースケースにより適している場合、重複するROI相互作用設定が追加され得て、幾つかの異なる重複するROIターゲティングモードオプションが切り替えられ得る。当該モードは、以下を含み得る。
・動的ターゲティング(構成可能な閾値に基づく最も近い中心または最も近い境界)
・境界ターゲティング(最も近い境界)
・中心ターゲティング(最も近い中心)
・サイズターゲティング(最も小さいROI)
・Z指標ターゲティング(選択されたROI、または、上位のROI)
【0048】
本開示を通じて、マウスのような入力デバイスへの言及は、限定的なものとみなされるべきではなく、他の入力デバイスも本開示の範囲内にあるとみなされるべきである、ということが理解されるべきである。例えば、タッチスクリーン機能を有するタブレットまたはノートブック等のモバイルデバイス上でアプリケーションが実行される場合、ユーザの指及び画面を介したそれぞれの入力機能は、コンピュータマウスの入力機能と全く同様に機能し得る、ということが理解されるべきである。
【0049】
図4は、本明細書に記載の態様(実施形態)に従う、デジタル画像の関心領域(ROI)に基づいて1または複数の機械視覚ジョブを自動的に生成するための例示的な機械視覚方法400である。機械視覚ジョブは、ZEBRA TECHNOLOGIES CORP.によって提供されるVS-SERIESスマートカメラのいずれか1または複数、例えば、VS70 MACHINE VISION SMART CAMERAデバイス、などの撮像カメラ(例えば、撮像デバイス104)に展開可能であり、また、その上で実装可能である。例えば、一態様では、機械視覚ジョブは、画像カメラへの展開が、
図3に示すようなコンピュータ回路基板などの製品のバーコードの画像を読み取るかまたはスキャンするように、構成され得る。一般に、機械視覚方法400は、1または複数のプロセッサ(例えば、機械視覚システム100のプロセッサ108、118及び/または158)によって実行可能なアルゴリズムを表し、それは、本明細書に記載されるような有形の非一時的なコンピュータ可読媒体(例えば、コンピュータ可読媒体)に記憶されるコンピューティング指令(計算指令)として実装され得る。
【0050】
図4を参照して、ブロック402において、機械視覚方法400は、画像IDを捕捉するための機械視覚ツールを構成する工程を含む。例えば、
図4の例において、アプリケーションインタフェース300は、画像IDを表すバーコードを捕捉するための単一の構成ツールを備えた空のプロジェクトを作成するために使用され得る。機械視覚ツールは、機械視覚システム100のために説明される撮像デバイス104または他の構成要素によって実行されるような、OCRリーダ、バーリーダ、画像分析(例えば、領域内のピクセルのカウント数)を操作、アクセスまたは実行するように、構成され得る。各ツールは、特定の処理機能を実行する。
【0051】
ブロック404において、機械視覚方法400は、複数の訓練画像(例えば、画像の訓練セット)をロードする工程を含み、各訓練画像は画像IDを示す。複数の訓練画像が選択され得て、プロジェクト用の一連の捕捉画像を含むフォルダまたはライブラリ(例えば、追加画像320)に保存され得る。各画像は、捕捉された画像IDに従って読み取られ得て、識別され得る。
【0052】
ブロック406において、機械視覚方法400は、複数の訓練画像の各々に、各訓練画像内に描かれた物体の成功ステータスまたは失敗ステータスを示すように、ラベル付けする工程を含む。例えば、幾つかの態様では、機械視覚ジョブを構成する工程は、コンピュータチップの位置(例えば、ROI308)などの画像内のROIを選択して、ラベル付けして(例えば、ラベル308L)、成功(例えば、成功ステータス)または失敗(例えば、失敗ステータス)を示す工程を含み得る。
【0053】
幾つかの態様では、画像はメモリ(例えば、1または複数のメモリ110、120及び/または160)内に保存され得て、あるいは、画像データベースがユーザによって管理される。画像には、成功ステータスまたは失敗ステータスがマークされ得る。例えば、あるコンポーネント(例えば、コンピュータチップ)が、現場(例えば、製造施設内)で、または試験によって、欠陥があると判明した場合、それはROI(例えば、ROI308)内で失敗ステータスとしてマークされる。デフォルトにより、失敗としてマークされていない各画像は成功の一例である、と想定されるが、これは、例えばアプリケーションインタフェース300を介して、ユーザの好みによって構成され得る。幾つかの態様では、成功の指標は、品質管理を含み得る。例えば、成功の指標は、特定の製品またはコンポーネント(例えば、画像302に示されるコンピュータ回路基板及び/またはコンピュータチップ)が品質管理に合格したという指標を含み得る。製品は、画像ID(例えば、ROI306のバーコード)によって識別され得る。
【0054】
失敗ステータスは、バーコードの読み取りの失敗または品質管理の失敗によっても示され得る(例えば、コンピュータ回路基板のスキャンまたは撮像により、当該回路基板上のリード線が接続されていない、コンピュータチップが欠落している、等の品質管理上の失敗を示し得る)。このような態様において、バーコード(例えば、ROI306で識別される)は、どの製品が失敗したのか、を一意に識別し得る。幾つかの態様では、複数の訓練画像のうちの1または複数の訓練画像が、失敗ステータスを示すようにラベル付けされ得て(例えば、ラベル308L)、そのようなラベル付けは、訓練画像内に描かれた物体の視覚的に欠陥がある領域または部分を示すようなグラフィック境界領域(例えば、ROI308)を含み得る。例えば、失敗ステータスまたは失敗状態を表すまたは示すように画像(例えば、画像302)をマークする時、ユーザは、視覚的に欠陥のある領域の周囲に多角形を描画し得て、学習プロセスが失敗領域(例えば、ROI308、ここで、例えば、画像302に示されるコンピュータ回路基板からコンピュータチップが欠落している可能性がある)を識別するのを助け得る。
【0055】
図4を参照して、ブロック408において、機械視覚方法400は、複数の訓練画像から1または複数の候補画像特徴を抽出する工程を含む。各画像は、捕捉された画像ID(例えば、ROI306に示されるようなバーコード)に従って、読み取られ得て、識別され得る。候補特徴が抽出され得て、画像のコレクションから相互比較され得て、当該ジョブのための一連の候補領域(例えば、コンピュータチップまたは関連領域を示すROI308)を生成し得る。候補特徴は、前述されたような成功及び/または失敗の指標に対応し得る。
【0056】
ブロック410において、機械視覚方法400は、候補画像特徴に基づいて1または複数の候補ROI(例えば、ROI308)を生成する工程を含む。
【0057】
ブロック412において、機械視覚方法400は、1または複数の候補ROIからROIの訓練セットを選択する工程を含み、ROIの訓練セットの各ROIは、包含ROIまたは除外ROIとして指定される。このようにして、学習プロセスから、特定の領域を含むかまたは除外するように、ROIが定義され得る。例えば、回路基板の特定の領域/ROIが、画像の影響を受けやすい領域(例えば、品質管理の問題が典型的に生じる重要なリード線または領域)を定義するROIを含み得る。対照的に、除外される領域は、異なる領域を含み得て、従って、異なるプロセッサタイプ(INTELまたはAMD)(を示す)など、品質を表すものではない領域を含み得る。次いで、そのような候補領域が、例えば例示的なアプリケーションインタフェース300を介してユーザに提示され得て、ユーザは、そのような領域が含まれるべきかプロジェクトに除外されるべきかを選択し得る。バーコード及びOCRの場合のように、画像全体のコンテンツから領域タイプが決定され得る場合、新しいツールを正しく構成するようにデフォルト値が入力される。このようにして、アプリケーションインタフェース300は、例えばブロック414について説明されたように、選択する可能性のある重要な画像特徴にフラグ付けすることによって、画像の教師ありの学習及び訓練を実装するための自動化されたまたは支援された方法を提供し、それは、視覚学習モデルを訓練するために使用され得る。
【0058】
ブロック414において、機械視覚方法400は、ROIの訓練セット及び複数の訓練画像を用いて、視覚学習モデルを訓練する工程を含む。視覚学習モデルは、機械視覚ジョブを出力するように構成され得る。すなわち、包含ROI及び/若しくは排除ROI並びに/または成功若しくは失敗ステータスによって注釈付けられるかまたは選択される画像が、機械学習アルゴリズムを用いて訓練され得て、画像の例示的な訓練セットに基づいて機械視覚ジョブを生成または出力し得る。画像ごとに、候補(成功)特徴が抽出され得て、失敗セットと相互比較され得る。このようにして、機械視覚方法400は、さもなくば手動で作成されるであろうジョブを、自動的に備える。
【0059】
様々な態様において、視覚学習モデルは、教師ありまたは教師なしの機械学習プログラムまたはアルゴリズムを使用して、訓練され得る。当該機械学習プログラムまたはアルゴリズムは、ニューラルネットワークを使用し得て、当該ニューラルネットワークは、畳み込みニューラルネットワーク、深層学習ニューラルネットワーク、または、特定の関心領域における2以上の特徴または特徴データセットにおいて学習する複合学習モジュールまたはプログラム、であり得る。当該機械学習プログラムまたはアルゴリズムは、自然言語処理、意味分析、自動推論、回帰分析、サポートベクターマシン(SVM)分析、決定木分析、ランダムフォレスト分析、K最近傍分析、単純ベイズ分析、クラスタリング、強化学習、並びに/または、他の機械学習アルゴリズム及び/若しくは技術、を含み得る。機械学習は、後続のデータ用の予測または出力(追加の画像または同様の画像内の同様のROIを予測または他の態様で検出するための機械視覚ジョブの出力)を容易にするために、既存のデータ内のパターン(ラベル付けされたまたは他の態様で識別されたROI内のピクセル等)を識別(特定)すること及び認識することを含み得る。
【0060】
試験レベルまたは製造(実稼働)レベルのデータまたは入力等、新しい入力用の予測を有効で信頼性の高いものにするべく、視覚学習モデルなどの機械学習モデルが、例示的な入力またはデータ(例えば「訓練データ」)(「特徴」及び「ラベル」と呼ばれ得る)に基づいて作成され得て訓練され得る。
【0061】
教師あり機械学習では、サーバ、コンピューティングデバイス、または、他のプロセッサ、上で動作する機械学習プログラムに、例示的な入力(例えば「特徴」)及びそれらの関連のまたは観察される出力(例えば「ラベル」)が提供され得て、当該モデルの様々な特徴カテゴリに亘って当該モデルに重みや他のメトリクスを決定及び/または割り当てることによって、当該機械学習プログラムまたはアルゴリズムが、そのような入力(例えば「特徴」)を出力(例えば「ラベル」)にマッピングする規則、関係、または、他の機械学習「モデル」を決定または発見し得る。そのような規則、関係、または、他のモデルに、その後、後続の入力が提供され得て、サーバ、コンピューティングデバイス、または、他のプロセッサ上で実行される当該モデルが当該発見された規則、関係またはモデルに基づいて予測出力を予測し得る。
【0062】
教師なし機械学習では、サーバ、コンピューティングデバイス、または、他のプロセッサは、ラベル付けのない例示的な入力でそれ自身の構造を見出だすことが要求され得て、例えば、サーバ、コンピューティングデバイス、または、他のプロセッサによって複数の訓練反復が実行されて、複数世代のモデルが訓練され得て、満足なモデル(例えば、試験レベルまたは製造(実稼働)レベルのデータまたは入力が与えられる時に十分な予測精度を提供するモデル)が生成される。
【0063】
教師あり学習及び/または教師なし機械学習は、新しい情報または異なる情報でモデルを再訓練、再学習または他の態様で更新することを含み得て、それらの情報は、時間の経過と共に受信され、取り込まれ、生成され、または、他の態様で使用される情報を含み得る。本明細書の開示は、そのような教師ありまたは教師なしの機械学習技術の一方または両方を使用し得る。
【0064】
例えば、
図3の例に関して、画像302は、ROI308が接続されていない電気リード線を有する失敗状態であること、あるいは、コンピュータチップが破損しているか紛失しているか等、を示す訓練画像を含み得る。訓練が完了すると、視覚学習モデルは、新しい画像または追加の画像において同様の欠陥を検出することが可能であり得る。
【0065】
付加的な態様では、視覚学習モデルは、ROIの訓練セット及び複数の訓練画像を用いて更に訓練され、訓練画像内に描かれた物体の品質を示す品質スコアを出力する。例えば、コンピュータ回路基板は、欠陥に基づいて低い品質スコアを有し得る。
【0066】
幾つかの態様では、ROIの訓練セットのうちの少なくとも1つが、クリティカルROIを含み得る。クリティカルROIは、視覚学習モデルをして、(a)訓練画像内に描かれた物体の高品質を示す品質スコア、または、(b)訓練画像内に描かれた物体の低品質を示す品質スコア、のうちの少なくとも1つを出力させ得る。このような態様では、視覚学習モデルの訓練は、訓練画像に追加されるべきクリティカルパターンROIを特定する工程を含み得る。一般に、クリティカルパターンは、ROIを自動的に識別し得て、当該モデルが全ての合格インスタンスの間で高いスコアを生成し失敗したインスタンスの間で低いスコアを生成する。
【0067】
図3の例について、コンピュータ回路基板の失敗インスタンスは、亀裂が発生する可能性が最も高い回路基板のROI、回路基板上のプロセッサまたはチップの欠落が典型的に発見される(ただし、欠落しているか部分的に欠落している)回路基板のROI、何れかの他のコンポーネントが正しくはんだ付けされていない回路基板のROI、または、コンデンサが切れている(例えば上部が茶色である)回路基板のROI、を含み得る、あるいは、製品の製造プロセス中または製造プロセス後に発生することが経験されているか知られている任意の他の失敗(故障)や問題、を含み得る。幾つかの態様では、理想的なクリティカルパターンが、全ての合格インスタンスについて100%で一致し、全ての失敗インスタンスについて0%で一致するROI(すなわち、100%の合格または100%の不合格を示すROI)であり得る。
【0068】
幾つかの態様では、視覚学習モデルは、複数の人工知能モデルを含むアンサンブルモデルを備え得る。このような態様では、複数の人工知能モデルの各々が、物体を描写するデジタル画像内の特定のROIの品質スコアを出力するために、ROIの訓練セットのサブセットを用いて訓練され得る。このような態様では、ROI及び/またはクリティカルパターンを有する訓練画像が使用されて、アンサンブルモデルを訓練し得る。これは、ROIを弱学習器として利用して所与の機械視覚ジョブのための改善された視覚学習モデルを生成するブースティング等、追加の訓練または学習を含み得る。このプロセスから出力されるモデルは、その後、カメラによって提供される新しいまたは追加の例示的な画像に欠陥スコアを割り当て得る。
【0069】
より一般的には、視覚学習モデルは、各々が画像ごとに異なるROIで訓練され、それを検出するように構成された、複数の機械学習モデルを含み得る。このような態様では、各モデルが単一のROI(各ROIは特定のピクセルを有する)で分析するように構成され得て、各モデルは予測スコアを出力し得る。スコアは、全体スコアまたはアンサンブルスコアで平均化され得る。幾つかのモデルは、教師なし学習を使用したセグメント化されたモデルであり得る。
【0070】
図4を参照して、ブロック416において、機械視覚方法400は、視覚学習モデルを展開する工程を含み得る。例えば、機械視覚ジョブは、撮像デバイス(例えば、撮像デバイス104)に電子的に展開するように構成され得る。このような態様では、機械視覚ジョブを実行する撮像デバイス(例えば、撮像デバイス104)は、製造プロセス中において、製品の品質管理検出及び/または他の問題の検出のため、物体が静止している時、あるいは、物体がコンベヤベルト上で移動する時、当該物体(例えば、コンピュータ回路基板)を描写する追加画像の成功ステータスまたは失敗ステータスを検出するように構成され得る。
【0071】
付加的な考慮事項
【0072】
前述の説明は、添付の図面のブロック図を参照する。当該ブロック図によって表される実施例の代替的な実装は、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または複数の論理回路と、媒体(例えば、有形の機械可読媒体)に記憶された機械可読指令(命令)と、の組み合わせによって実装される。
【0073】
本明細書で使用される場合、「有形の機械可読媒体」、「非一時的な機械可読媒体」、及び「機械可読記憶装置」という用語の各々は、任意の好適な期間だけ(例えば、恒久的、長期間(例えば、機械可読指令(命令)に関連するプログラムが実行されている間)、及び/または、短期間(例えば、機械可読指令(命令)がキャッシュされている間、及び/または、バッファリングプロセス中))機械可読指令(命令)(例えば、ソフトウェア及び/またはファームウェアの形態のプログラムコード)が記憶される記憶媒体(例えば、ハードディスクドライブ(のディスク)、デジタル多用途ディスク(DVD)、コンパクトディスク(CD)、フラッシュメモリ、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、等)として明示的に定義される。更に、本明細書で使用される場合、「有形の機械可読媒体」、「非一時的な機械可読媒体」及び「機械可読記憶装置」という用語の各々は、伝播信号(の態様)を除外するものとして明示的に定義される。すなわち、特許請求の範囲で使用される場合、「有形の機械可読媒体」、「非一時的な機械可読媒体」及び「機械可読記憶装置」という用語はいずれも、伝搬信号によって実装されるものとは、読まれ得ない。
【0074】
前述の明細書には、特定の態様(実施形態)が記載されている。しかしながら、当業者は、特許請求の範囲に記載されるような本発明の範囲から逸脱することなく、様々な修正及び変更がなされ得る、ということを理解する。従って、本明細書及び図面は、限定的な意味ではなく例示的な意味で理解されるべきであり、そのような全ての修正が、本教示の範囲内に含まれることが意図されている。更に、説明された態様(実施形態)/実施例/実装は、相互に排他的であると解釈されるべきではなく、その代わりに、そのような組み合わせが何らかの方法で許容される場合、潜在的に組み合わせ可能であると理解されるべきである。換言すれば、前述の態様(実施形態)/実施例/実装のいずれかに開示された任意の特徴が、他の前述の態様(実施形態)/実施例/実装のいずれかに含まれてもよい。
【0075】
利益、利点、問題の解決策、及び、何らかの利益、利点ないし解決策を生じさせ得るかまたはより顕著にし得る任意の要素は、特許請求の範囲の請求項のいずれかまたは全てにおいての、重要な、必要な、または本質的な機能または要素として解釈されるべきではない。特許請求される発明は、本出願の係属中になされる補正、及び、発行される請求項の全ての均等物を含んで、添付される請求項によってのみ定義される。
【0076】
更に、当該文書において、第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%以内、として定義される。本明細書で用いられる用語「結合された」は、接続されたものとして定義されるが、必ずしも直接的でなくてもよく、また、必ずしも機械的でなくてもよい。ある方式で「構成された」デバイスまたは構造は、少なくとも当該方式で構成されるが、挙げられていない方式で構成されてもよい。
【0077】
本開示の要約は、読者が当該技術的開示の性質を素早く確認することを許容するために提供される。それは、特許請求の範囲の請求項の範囲または意味を解釈または制限するために用いられないという理解と共に提示される。また、前述の詳細な説明において、当該開示を円滑にする目的で、様々な態様(実施形態)において様々な特徴がまとめてグループ化されていることが認められ得る。この開示方法は、特許請求される態様(実施形態)が、各請求項で明示的に記載されている特徴よりも多くの特徴を必要とする、という意図を反映するものとして解釈されるべきでない。むしろ、以下の特許請求の範囲が反映するように、本発明の主題は、単一の開示された態様(実施形態)の全ての特徴よりも少なく存在する。以下の特許請求の範囲は、ここで詳細な説明に組み入れられ、各請求項は、別個に特許請求される主題として、それ自身独立している。
【国際調査報告】