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

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

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

特許7454743ジェスチャの検出及び分析に基づくバーコードスキャン
<>
  • 特許-ジェスチャの検出及び分析に基づくバーコードスキャン 図1
  • 特許-ジェスチャの検出及び分析に基づくバーコードスキャン 図2
  • 特許-ジェスチャの検出及び分析に基づくバーコードスキャン 図3
  • 特許-ジェスチャの検出及び分析に基づくバーコードスキャン 図4
  • 特許-ジェスチャの検出及び分析に基づくバーコードスキャン 図5
  • 特許-ジェスチャの検出及び分析に基づくバーコードスキャン 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-13
(45)【発行日】2024-03-22
(54)【発明の名称】ジェスチャの検出及び分析に基づくバーコードスキャン
(51)【国際特許分類】
   G06F 3/01 20060101AFI20240314BHJP
   G06K 7/10 20060101ALI20240314BHJP
   G06K 7/14 20060101ALI20240314BHJP
   G06T 7/20 20170101ALI20240314BHJP
【FI】
G06F3/01 570
G06K7/10 372
G06K7/14 039
G06K7/10 304
G06T7/20 300A
【請求項の数】 20
(21)【出願番号】P 2023502746
(86)(22)【出願日】2021-06-22
(65)【公表番号】
(43)【公表日】2023-08-08
(86)【国際出願番号】 US2021038417
(87)【国際公開番号】W WO2022015474
(87)【国際公開日】2022-01-20
【審査請求日】2023-01-13
(31)【優先権主張番号】16/928,836
(32)【優先日】2020-07-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】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)【発明者】
【氏名】オズセリン オズギュル
(72)【発明者】
【氏名】ウォルトン ルーク
【審査官】塚田 肇
(56)【参考文献】
【文献】米国特許出願公開第2019/0188433(US,A1)
【文献】国際公開第2010/101081(WO,A1)
【文献】特開2015-60579(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06K 7/10
G06K 7/14
G06T 7/20
(57)【特許請求の範囲】
【請求項1】
環境を描写する画像ストリームをデバイスによって受信する工程と、
前記デバイスによって画像処理モデルを使用して、前記環境内の1セットのジェスチャを検出するように前記画像ストリームを監視する工程と、
前記デバイスによって前記画像処理モデルを使用して、前記画像ストリームの第1セクションが前記1セットのジェスチャのうちの最初のジェスチャを描写していることを判定する工程と、
前記デバイスによって前記画像処理モデルを使用して、前記最初のジェスチャが前記画像ストリームのうちのバーコード領域の提示に関連付けられていることを判定する工程と、
前記デバイスによって前記画像処理モデルを使用して、前記画像ストリームのうちの前記バーコード領域を分析してバーコードを識別する工程と、
前記デバイスによって前記画像処理モデルを使用して、前記画像ストリームの第2セクションが前記1セットのジェスチャのうちの前記バーコードのデコードに関連付けられた2番目のジェスチャを描写していることを判定する工程と、
前記デバイスによって、前記画像ストリームの前記第2セクションが前記2番目のジェスチャを描写しているとの判定に基づいて、前記バーコードをデコードする工程と、
前記デバイスによって、前記バーコードに関連付けられている物体に関する動作を実行する工程と、
を備えたことを特徴とする方法。
【請求項2】
前記バーコード領域を分析する工程は、
前記最初のジェスチャを実行したユーザの四肢の一部の位置を識別する工程と、
前記バーコード領域が、前記ユーザの四肢の一部の前記位置から閾値距離内に描写されている前記環境の一領域に対応することを判定する工程と、
前記閾値距離内に描写されている前記バーコードに基づいて、前記バーコード領域内の前記バーコードを識別する工程と、
を含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記画像処理モデルが、
前記画像ストリームが前記バーコードに関連付けられた他のバーコードの平面形態に基づいて前記バーコードを描写している、ということを識別し、
前記バーコードが前記平面形態の1つに関連して描写されているとの判定に基づいて、前記バーコード領域を処理する、
というように構成されている、
ことに基づいて、前記バーコードが識別される
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記2番目のジェスチャは、ユーザが前記最初のジェスチャのジェスチャ位置から前記2番目のジェスチャのジェスチャ位置までユーザの四肢の一部を遷移させることに対応するジェスチャ動作に関連付けられている
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記バーコードをデコードする工程は、
レーザスキャナをして前記バーコードをスキャンさせる工程と、
前記レーザスキャナから受信されたスキャン情報を処理して、前記バーコードをデコードする工程と、
を含むことを特徴とする請求項1に記載の方法。
【請求項6】
前記バーコードをデコードする工程は、
前記画像処理モデルを使用して、前記バーコード領域を処理して、前記画像ストリームから前記バーコードの画像を抽出する工程と、
バーコードスキャンモデルを使用して、デコード用の前記画像をフォーマットして、フォーマット画像を形成する工程と、
前記バーコードスキャンモデルを使用して、前記フォーマット画像に基づいて、前記バーコードをデコードする工程と、
を含むことを特徴とする請求項1に記載の方法。
【請求項7】
前記動作を実行する工程は、
前記環境に対する前記物体に関連付けられた状態情報を提供する工程、
前記環境に対する前記物体に関連付けられた位置情報を提供する工程、
前記環境に対する前記物体に関連付けられたトランザクション情報を提供する工程、及び、
前記物体を処理するユーザに関連付けられたユーザ情報を提供する工程、
のうちの少なくとも1つである
ことを特徴とする請求項1に記載の方法。
【請求項8】
1または複数のメモリと、
前記1または複数のメモリに通信可能に結合された1または複数のプロセッサと、
を備え、
前記1または複数のプロセッサは、
環境を描写する画像ストリームを受信し、
画像処理モデルを使用して、前記環境内の1セットのジェスチャを検出するように前記画像ストリームを監視し、
前記画像処理モデルを使用して、前記画像ストリームの第1セクションが前記1セットのジェスチャのうちの最初のジェスチャを描写していることを判定し、
前記画像処理モデルを使用して、前記最初のジェスチャが前記画像ストリームのうちのバーコード領域の提示に関連付けられていることを判定し、
前記画像処理モデルを使用して、前記画像ストリームのうちの前記バーコード領域を分析して前記環境内にあるバーコードを識別し、
前記画像処理モデルを使用して、前記画像ストリームの第2セクションが前記1セットのジェスチャのうちの前記バーコードのデコードに関連付けられた2番目のジェスチャを描写していることを判定し、
前記画像ストリームが前記第2ジェスチャを描写していることに基づいて、前記バーコードをデコードする
ように構成されている
ことを特徴とするデバイス。
【請求項9】
前記1または複数のプロセッサは、前記バーコード領域を分析する時に、
前記最初のジェスチャを実行したユーザの四肢の一部の位置に基づいて前記バーコード領域を判定し、
前記バーコード領域が、前記ユーザの四肢の一部の前記位置から閾値距離内に描写されている前記環境の一領域に対応することを判定し、
前記閾値距離内にある前記バーコードに基づいて、前記バーコード領域内の前記バーコードを識別する
ように構成されている
ことを特徴とする請求項8に記載のデバイス。
【請求項10】
前記画像処理モデルが、
前記画像ストリームが前記バーコードのフォーマットに基づいて前記バーコードを描写している、ということを識別し、
前記バーコードの前記フォーマットに基づいて前記バーコード領域を処理して前記バーコード領域が前記バーコードを描写していることを検証する、
というように構成されている、
ことに基づいて、前記バーコードが識別され、
前記バーコードは、前記バーコード領域が前記バーコードを描写していることを検証するように前記バーコード領域が処理されることに基づいて、デコードされる
ことを特徴とする請求項8に記載のデバイス。
【請求項11】
前記画像処理モデルは、
前記画像ストリームのフォアグラウンドで前記ジェスチャの1セットを検出し、
前記画像ストリームのバックグラウンドで前記バーコードを識別する
ように構成されている
ことを特徴とする請求項8に記載のデバイス。
【請求項12】
前記1または複数のプロセッサは、前記第2セクションが前記2番目のジェスチャを描写していることを判定する前に、
前記環境に関連付けられたユーザインタフェースのディスプレイを介して、前記バーコードに関連するバーコード識別子を増強する
ように構成されている
ことを特徴とする請求項8に記載のデバイス。
【請求項13】
前記1または複数のプロセッサは、前記バーコードをデコードする時に、
前記画像処理モデルを使用して、前記バーコード領域を処理して、前記画像ストリームから前記バーコードの画像を抽出し、
バーコードスキャンモデルを使用して、前記バーコードの前記画像に基づいて、前記バーコードをデコードする、
ように構成されている
ことを特徴とする請求項8に記載のデバイス。
【請求項14】
前記1または複数のプロセッサは、更に、前記バーコードのデコードに基づいて、物体に関連付けられた動作を実行するように構成されており、
前記物体は、前記バーコードに関連付けられており、
前記1または複数のプロセッサは、前記動作を実行する時に、
前記環境に対する前記物体に関連付けられた状態情報を提供する、
前記環境に対する前記物体に関連付けられた位置情報を提供する、
前記環境に対する前記物体に関連付けられたトランザクション情報を提供する、及び、
前記物体を処理するユーザに関連付けられたユーザ情報を提供する、
のうちの少なくとも1つを実行するように構成されている
ことを特徴とする請求項8に記載のデバイス。
【請求項15】
指令を記憶する有形の機械可読媒体であって、
前記指令は、1または複数の指令を含んでおり、
前記1または複数の指令は、デバイスの1または複数のプロセッサによって実行される時、当該デバイスをして、
環境の画像ストリームを受信し、
前記画像ストリームの画像を処理することに基づいて、前記画像ストリームのジェスチャ領域を判定し、
前記ジェスチャ領域を分析することに基づいて、ユーザによるジェスチャを検出し、
前記ジェスチャの実行時の前記ユーザの位置に基づいて、前記画像ストリームのバーコード領域を判定し、
前記バーコード領域を分析することに基づいて、前記環境内のバーコードを識別し、
前記バーコードのフォーマットに基づいて、前記バーコードをデコードする、
ようにさせる
ことを特徴とする有形の機械可読媒体。
【請求項16】
前記ジェスチャ領域は、前記画像が前記画像ストリームのフォアグラウンド内に前記ユーザの四肢の一部を描写していることに基づいて、判定される
ことを特徴とする請求項15に記載の有形の機械可読媒体。
【請求項17】
前記バーコード領域は、当該バーコード領域が前記画像ストリームの前記ジェスチャ領域に対するバックグラウンド内にあることに基づいて、判定される
ことを特徴とする請求項15に記載の有形の機械可読媒体。
【請求項18】
前記ジェスチャ領域及び前記バーコード領域は、前記画像ストリームの3次元ゾーンに対応しており、
前記バーコードの前記フォーマットは、前記バーコード領域内の前記バーコードの2次元描写に対応している
ことを特徴とする請求項15に記載の有形の機械可読媒体。
【請求項19】
前記1または複数のプロセッサをして前記バーコードをデコードさせる前記1または複数の指令は、当該1または複数のプロセッサをして、
前記バーコードのレーザスキャン、及び、
画像処理技術を利用して、前記画像ストリームからの画像を使用して前記バーコードをデコードするバーコードスキャンモデル、
のうちの少なくとも1つを使用して、前記バーコードをデコードさせる
ことを特徴とする請求項15に記載の有形の機械可読媒体。
【請求項20】
前記1または複数の指令は、前記1または複数のプロセッサによって実行される時、更に、当該1または複数のプロセッサをして、
前記バーコードに関連付けられた物体に関連付けられた状態情報を提供する、
前記物体に関連付けられた位置情報を提供する、
前記物体に関連付けられたトランザクション情報を提供する、及び、
前記物体を処理する前記ユーザに関連付けられたユーザ情報を提供する、
のうちの少なくとも1つを実行させる
ことを特徴とする請求項15に記載の有形の機械可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
バーコードは、バーコードスキャナを使用した物体に関する情報の提供または取得の許可のため、様々なタイプの物体に関連付けられ得る。幾つかの場合、ユーザは、手動バーコードスキャナを使用してバーコードをスキャンし得る。ユーザの手または腕によって保持されるまたはそれに取り付けられる手動バーコードスキャナは、典型的には、スキャンを実行する(例えば、スキャンをトリガする、並びに/または、手動バーコードスキャナ及び/若しくは物体の位置を操作する)ために、ユーザの片手または両手を使用する必要がある。ユーザが物体上のバーコードをスキャンしようとしている間に、当該物体に関連する他の動作にユーザが従事していることがしばしばある。従って、ユーザの手を解放して、スキャンの合間にバーコードスキャナを置いたり持ち上げたりする必要なくユーザが他の作業をより簡単かつ容易に実行することを許容する、正確なバーコードスキャナシステムのニーズがある。
【発明の概要】
【0002】
幾つかの実装形態において、方法は、環境を描写する画像ストリームを受信する工程と、画像処理モデルを使用して、前記環境内の1セットのジェスチャを検出するように前記画像ストリームを監視する工程と、前記画像処理モデルを使用して、前記画像ストリームの第1セクション(第1部分)が前記1セットのジェスチャのうちの最初のジェスチャを描写していることを判定する工程と、前記画像処理モデルを使用して、前記最初のジェスチャが前記画像ストリームのうちのバーコード領域の提示に関連付けられていることを判定する工程と、前記画像処理モデルを使用して、前記画像ストリームのうちの前記バーコード領域を分析してバーコードを識別する工程と、前記画像処理モデルを使用して、前記画像ストリームの第2セクション(第2部分)が前記1セットのジェスチャのうちの前記バーコードのデコードに関連付けられた2番目のジェスチャを描写していることを判定する工程と、前記画像ストリームの前記第2セクションが前記2番目のジェスチャを描写しているとの判定に基づいて、前記バーコードをデコードする工程と、前記バーコードに関連付けられている物体に関する動作を実行する工程と、を備える。
【0003】
幾つかの実装形態において、デバイスは、1または複数のメモリと、前記1または複数のメモリに通信可能に結合された1または複数のプロセッサと、を備え、前記1または複数のプロセッサは、環境を描写する画像ストリームを受信し、画像処理モデルを使用して、前記環境内の1セットのジェスチャを検出するように前記画像ストリームを監視し、前記画像処理モデルを使用して、前記画像ストリームの第1セクションが前記1セットのジェスチャのうちの最初のジェスチャを描写していることを判定し、前記画像処理モデルを使用して、前記最初のジェスチャが前記画像ストリームのうちのバーコード領域の提示に関連付けられていることを判定し、前記画像処理モデルを使用して、前記画像ストリームのうちの前記バーコード領域を分析して前記環境内にあるバーコードを識別し、前記画像処理モデルを使用して、前記画像ストリームの第2セクションが前記1セットのジェスチャのうちの前記バーコードのデコードに関連付けられた2番目のジェスチャを描写していることを判定し、前記画像ストリームが前記第2ジェスチャを描写していることに基づいて、前記バーコードをデコードする、ように構成されている。
【0004】
幾つかの実装形態において、有形の機械可読媒体は、指令を記憶し、当該指令は、1または複数の指令を含んでおり、当該1または複数の指令は、デバイスの1または複数のプロセッサによって実行される時、当該デバイスをして、環境の画像ストリームを受信し、前記画像ストリームの画像を処理することに基づいて、前記画像ストリームのジェスチャ領域を判定し、前記ジェスチャ領域を分析することに基づいて、ユーザによるジェスチャを検出し、前記ジェスチャの実行時の前記ユーザの位置に基づいて、前記画像ストリームのバーコード領域を判定し、前記バーコード領域を分析することに基づいて、前記環境内のバーコードを識別し、前記バーコードのフォーマットに基づいて、前記バーコードをデコードする、ようにさせる。
【0005】
添付の図面は、以下の詳細な説明と共に、本明細書に組み込まれて本明細書の一部を形成し、本明細書に記載される概念の実装形態を更に説明するのに役立ち、また、それら実装形態の様々な原理及び利点を説明するのに役立つ。添付図面において、同様の参照符号は、別個の図面を通して同一または機能的に類似の要素を指している。
【図面の簡単な説明】
【0006】
図1図1は、本明細書に記載された例示的な一実装形態の概略図である。
【0007】
図2図2は、本明細書に記載された例示的な別の一実装形態の概略図である。
【0008】
図3図3は、本明細書に記載された例示的な別の一実装形態の概略図である。
【0009】
図4図4は、本明細書に記載されたシステム及び/または方法が実装され得る例示的な環境の概略図である。
【0010】
図5図5は、図4の1または複数のデバイスの例示的なコンポーネントの概略図である。
【0011】
図6図6は、ジェスチャの検出及び分析に基づくバーコードスキャンに関連する例示的なプロセスのフローチャートである。
【発明を実施するための形態】
【0012】
当業者は、図面内の要素は簡潔及び明瞭に示されていて、必ずしも一定縮尺で描かれていない、ということを理解するであろう。例えば、図面内の幾つかの要素の寸法は、本明細書に記載される実装形態の理解を改善することを助けるべく、他の要素と比較して誇張されている可能性がある。
【0013】
装置及び方法の要素は、適切な場合、図面内で従来の符号によって示されており、当該図面は、詳細に関する開示を不明瞭にしないように、本明細書に記載される実装形態を理解することに関連する特定の詳細のみを示しており、当該詳細に関する開示は、本明細書の記載の利益を受ける当業者にとって容易に明らかである。
【0014】
例示的な実装形態の以下の詳細な説明は、添付の図面を参照する。異なる図面における同一の参照符号は、同一または類似の要素を識別し得る。
【0015】
バーコードは、一般的に、特定の物体(例えば、製品、在庫品、サンプル品、備品、消耗品等)に関連付けられた情報を提供及び/または取得するために使用されている。
例えば、バーコードスキャナが、物体に添付されたバーコードをデコードして、システム(例えば、企業または組織に関連付けられたシステム)が当該物体に関連付けられた情報を取得することを許容するために、使用され得る。幾つかのバーコードスキャナは、ユーザに保持される及び/または取り付けられるように構成されて当該ユーザによってバーコードをスキャンするよう起動(トリガ)される(例えば、ボタンまたは他の入力デバイスを使用して)ように構成された手動制御デバイスを含み得る。他のバーコードスキャナは、環境を継続的に監視し得て、バーコードが当該バーコードスキャナの視野内に置かれた時に検出対象の当該バーコードを自動的にスキャンし得る自動デバイスを含み得る。このような自動バーコードスキャナは、ユーザによるハンズフリーの使用を容易化し得るが、複数のバーコードが同時に視野内に存在する場合、当該自動バーコードスキャナは、特定の時間にまたは特定の物体に対してどのバーコードがスキャンされるべきであるか、を区別できない場合がある。換言すれば、自動バーコードスキャナは、検出されたバーコードのいずれをもまたは全てを(例えばそれらが検出されるとすぐに)スキャンするように構成されているため、物体に関連付けられた特定の所望の情報が識別可能でない場合がある。従って、環境内の一群の(複数の)バーコードの中の特定のバーコードがスキャンされるべき場合、ユーザは、手動で当該バーコードをスキャンする必要があり、典型的には、スキャンを実行する(例えば、バーコードスキャナ及び/または物体の位置及び/または向きを操作する)ためにユーザの手及び/または腕のうちの1または複数の使用を必要とする。バーコードを手動でスキャンする従来の技術は、ユーザがバーコード及び/または物体のスキャンに関連付けられた1または複数の動作及び/または操作(例えば、物体を分類したり、物体を使用したり、物体を移動させたり、物体に関連付けられた他の機械またはデバイスを制御したり、等)を実行する能力を阻害する。
【0016】
本明細書で説明される幾つかの実装形態は、ジェスチャ検出を使用してバーコードがスキャンされる及び/またはデコードされることを許容するシステムを提供する。例えば、本明細書で説明されるように、ユーザは、バーコードがスキャンされるべきであることを示す、スキャンされるべき特定のバーコードを示す、及び/または、バーコードのスキャンをトリガする、のための1または複数の識別可能な及び/または指定されたジェスチャを実行し得る。幾つかの実装形態では、当該システムは、画像ストリーム内のジェスチャを検出及び/または認識するために、画像処理モデルを含み得る及び/または利用し得る。当該画像ストリームは、1または複数のジェスチャを使用してスキャンされる予定のバーコードと共に、環境内のユーザを示す、カメラによって捕捉された、複数の画像を含み得る。当該カメラは、ウェアラブルなユーザデバイス(例えば、スマートグラス、拡張現実グラス、スマートウォッチ、または、他のタイプのウェアラブルデバイス)に関連付けられ得る。従って、当該システムは、本明細書に記載されるように、ユーザが手動のバーコードスキャナを保持する必要無しで、ユーザが環境内の個々のバーコードをスキャンすることを可能にし、それによって、ユーザがスキャン間で手動のバーコードスキャナをピックアップする及び/または下に置く、あるいは、手動のバーコードスキャナを保持しながら他の動作を実行する、ということが要求されないため、1または複数の他の動作(例えば、ユーザの手を要するもの)を実行するユーザの能力を改善する。更に、当該システムは、本明細書に記載されるように、自動バーコードスキャナがバーコードを不必要にスキャンして(例えば、バーコードがスキャンされることを意図されていないか、スキャンされるべきでない場合)当該不必要にスキャンされたバーコードに関連付けられたデータを処理及び/または通信することによって浪費される可能性があるコンピューティングリソース(例えば、処理リソース、メモリリソース、及び/または、通信リソース)の消費を、削減する。
【0017】
図1は、ジェスチャ検出に基づくバーコードスキャンに関連付けられた例示的な実装形態100の概略図である。図1に示されるように、例示的な実装形態100は、バーコードデータ管理システムと、カメラを含むユーザデバイスと、を備える。当該実装形態100では、ユーザデバイスは、本明細書に記載されるように、バーコードをスキャンするための1または複数のジェスチャの実行に関連してユーザによって着用されるスマートグラスを含むものとして示されている。本明細書に記載されるように、ジェスチャを検出及び/または分析するために、他の例示的なタイプのユーザデバイス(例えば、スマートフォン、ボディカメラ/スキャナ、スマートウォッチ、及び/または、同様のもの)も同様に利用され得る。
【0018】
図1の例におけるバーコードデータ管理システムは、物体及び/またはデコードされたバーコードに関連する情報の管理に関連付けられたバックエンドシステムであり得る。例えば、バーコードデータ管理システムは、物体に関連付けられた在庫(例えば、位置、整列状態、分類、及び/または、同様のもの)、物体に関連付けられた取引(例えば、購入、販売、賃貸、及び/または、他のタイプの取引処理)、物体に関連付けられた輸送操作(例えば、出荷の開始、出荷のルーティング、及び/または、同様のもの)、物体のラベル付け(例えば、物体に関連付けられたラベルの生成)、及び/または、同様のもの、を管理するプラットフォームを含み得る。例示的な実装形態100の以下の説明は、ジェスチャ検出及び/またはジェスチャ分析に基づいてバーコードをスキャンすることに関連付けられた1または複数の動作または操作を実行するユーザデバイスに言及し得るが、バックエンド管理システムが、同様に、前記動作及び/または操作の1または複数を実行するように構成されてもよい。
【0019】
図1に参照符号110によって示されるように、ユーザデバイスは、カメラの画像ストリームを取得及び/または処理する。画像ストリームは、ユーザが物体に関連付けられた1または複数の動作を実行している間の(例えば、ユーザの視点からの)ユーザの環境を描写する一連の画像を含むリアルタイム画像ストリームであり得る。例えば、画像ストリームは、ユーザが物体に関連付けられた1または複数の操作を実行することに関連して、ユーザデバイスのカメラによって捕捉され得る。更に、ユーザデバイスは、本明細書に記載されるように、画像をインストリームで処理して、ユーザ及び/または物体の環境を監視する。より具体的には、本明細書に記載されるように、ユーザデバイスは、画像ストリームを(例えば、リアルタイムで)処理し得て、ユーザデバイスのジェスチャ及び/または当該ジェスチャに基づいてデコードされ得るバーコードを識別し得る。例示的な実装形態100では、画像ストリームは、フレームA及びフレームBを含み、これらは、物体に関連付けられた1または複数のバーコードをスキャンすることに関連付けられた1または複数のジェスチャをユーザが実行している間の、異なる時間に捕捉される画像ストリームの個々の画像であり得る。
【0020】
本明細書に記載されるように、ユーザデバイス(及び/またはバーコードデータ管理システム)は、1または複数の画像処理モデルを利用して、画像ストリームを処理し得る。幾つかの実装形態では、ユーザデバイスは、機械学習モデル(例えば、ユーザデバイス上及び/またはバーコードデータ管理システム上にローカルにインストールされたもの)を使用して、カメラによって捕捉された画像内に表されたユーザの1または複数のジェスチャ及び/または1または複数のバーコードを、検出及び/または分析し得る。例えば、画像処理モデルは、本明細書に記載の1または複数のジェスチャ及び/または1つまたは複数のバーコードを含むか含まないか、として画像データを分類するのを支援するコンピュータ視覚技術を含み得る及び/または利用し得る。幾つかの場合、画像処理モデルは、コンピュータ視覚技術を実装するためのニューラルネットワーク(例えば、畳み込みニューラルネットワーク、リカレントニューラルネットワーク、及び/または、同様のもの)を含み得る。コンピュータ視覚技術は、画像認識技術(例えば、Inceptionフレームワーク、ResNetフレームワーク、Visual Geometry Group(VGG)フレームワーク、及び/または、同様のもの)を使用して1または複数のバーコードを検出すること、物体検出技術(例えば、Single Shot Detector(SSD)フレームワーク、You Only Look Once(YOLO)フレームワーク、及び/または、同様のもの)を使用してジェスチャを実行しているユーザの手(または他の身体部分)を検出すること、物体インモーション技術(例えば、オプティカルフローフレームワーク、及び/または、同様のもの)を使用してジェスチャを分析すること、及び/または、同様のもの、を含み得る。
【0021】
本明細書に記載されるように、画像処理モデルは、1または複数の画像パラメータの履歴値に基づいた、1若しくは複数のジェスチャの検出及び分析、並びに/または、1若しくは複数のバーコードの検出及び分析、に関連付けられる履歴データを使用して、(例えばバーコードデータ管理プラットフォームによって、及び/または、バーコード管理プラットフォームに関連付けられた1または複数の他のプラットフォームによって)訓練され得る。このような画像パラメータは、ジェスチャパラメータ(例えば、ユーザの手または他の身体部分の位置または位置変化に関連付けられる)、バーコードパラメータ(例えば、様々なバーコードの外観、例えば形状、サイズ、タイプなど、に関連付けられる)、及び/または、同様のもの、を含み得る。本明細書に記載されるように、履歴データ及び画像ストリームを画像処理モデルへの入力として使用して、ユーザデバイスは、ジェスチャ及び/またはバーコードを検出し得て、当該ジェスチャに基づいて当該バーコードがスキャンされることを許容し得る。幾つかの実装形態では、ユーザデバイス(及び/またはバーコードデータ管理システム)は、本明細書に記載されるように(例えばユーザからのユーザ入力及び/またはフィードバックに基づいて)画像処理モデルがバーコードを正確に検出、分析、及び/または、デコードしたのか、不正確に検出、分析、及び/または、デコードしたのか、に関連付けられた有効結果または無効結果を含むように履歴データを更新することにより、画像処理モデルを再訓練し得る。
【0022】
このようにして、画像ストリームが監視され得て、ユーザの1または複数のジェスチャ(例えば、特定のジェスチャのセット)が検出される及び/または分析されることが許容され得て、1または複数のバーコードが検出される及び/または前記1または複数のジェスチャに基づいてデコードされることが許容され得る。
【0023】
図1に参照符号120によって示されるように、ユーザデバイスは、画像ストリーム内の指示ジェスチャを検出する。例えば、指示ジェスチャは、スキャンされるべき環境内のバーコードを示す(例えば、指し示すことによる)ユーザに関連付けられ得る(例えば、スキャンされるべき特定のバーコードを指す手として示され得る)。図1において、画像ストリームのフレームAに示されるように、ユーザは、指示ジェスチャを実行し得て、スキャンされるべき特定のバーコードを識別し得る。指示ジェスチャは、手を指示形態とすることによって、実行され得る。例示的な実装形態100では、ユーザは、ユーザの手の人差し指及び/または親指を伸ばし、ユーザの手の残りの指を閉じる(曲げる)ことによって、手を指示形態としている。もっとも、バーコードを指示または指摘するために、他の手の形態も同様に使用され得る。
【0024】
幾つかの実装形態では、(例えば、画像処理モデルを使用して)ユーザデバイスは、バーコードのスキャンに関連付けられた1または複数のジェスチャのために画像ストリームを監視するように構成され得る。当該ジェスチャは、画像ストリームのジェスチャ領域内に物体(例えば、ユーザの手または他の身体部分)が描かれていることの検出に基づいて、検出され得る。ジェスチャ領域は、画像処理モデルの3次元(3D)処理技術を実行することによって検出及び/または識別される画像ストリームのフォアグラウンド(前景)内に存在し得る。そのような3D処理技術は、環境内に描かれた識別された物体のピクセル値に基づく1または複数の奥行き知覚技術(例えば、相対的な物体サイズに基づく単眼奥行き知覚技術、介在分析、線形透視(遠近)分析、空中透視(遠近)分析、照明分析、動き分析、及び/または、同様のもの)を含み得る。画像ストリームのジェスチャ領域及び/またはフォアグラウンドは、ユーザから様々な距離にある環境の複数のゾーンに対応する画像ストリームの複数の3Dゾーンであり得る。このようにして、画像処理モデルは、画像ストリームを監視し得て、3D環境内でユーザによって実行されるジェスチャ(例えば、指示ジェスチャ)を検出し得る。
【0025】
本明細書に記載されるように、ユーザが「ジェスチャを実行する」時、ユーザは、手を特定の形態に維持し得て、当該手を特定の位置(例えば、バーコードの位置及び/若しくはカメラの視野に対して)に配置し得て、並びに/または、特定の態様で当該手及び/若しくは当該手の指を動かし得る。従って、本明細書に記載されるように、ユーザがジェスチャを実行したことの検出に関連して、1または複数のフレームが分析され得る。例示的な実装形態100のフレームAに示されるように、ユーザによって実行される指示ジェスチャに関連付けられる特定のバーコードは、物体1に関連付けられる(例えば、物体1に取り付けられることに基づく)バーコード1である。フレームAは、カメラの視野内及び/またはバーコードの視線内でユーザが手を動かしていることを示す画像を含む画像ストリームの1セクションに関連付けられた画像であり得る。画像処理モデルを使用して、ユーザデバイスは、フレームAが指示ジェスチャに関連付けられた形態の手を描写していることの識別に基づいて、及び/または、ユーザが手を動かしていて当該手を指示形態に構成していることを前記セクションが示していることの識別に基づいて、当該指示ジェスチャを検出し得る。
【0026】
このようにして、ユーザデバイスは、当該ユーザデバイスがバーコードを識別することを許容するように、並びに/または、バーコードのスキャン及び/若しくはデコードに関連付けられたトリガジェスチャを監視することを許容するように、指示ジェスチャを検出し得る。
【0027】
図1に参照符号130によって示されるように、ユーザデバイスは、指示ジェスチャに関連する(例えば、それによって示される)ある領域内のバーコードを識別する。例えば、ユーザデバイスは、画像処理モデルを使用して、ジェスチャが実行される時のユーザの手の位置に基づいてバーコード領域を決定(判定)し得る。より具体的には、図1のフレームA及び/またはフレームBに示されるように、ユーザデバイスは、指示形態のユーザの人差し指の先端部を含む画像ストリームの領域にバーコード領域が対応することを決定(判定)し得る。そのような場合、画像処理モデルは、ユーザの人差し指のピクセル位置(例えば、ユーザの人差し指の先端の一部を表すピクセルの位置)を識別し得て、当該ピクセル位置を含むピクセル領域として画像ストリームのバーコード領域を識別し得る。当該ピクセル領域は、(例えば、デフォルト設定として)事前に構成されている、及び/または、(例えば、本明細書に記載されるようにユーザの手とバーコード領域との分析に関連する3D処理技術を用いて決定されるような)バーコードとユーザの手との間の決定(判定)されたまたは推定された距離に基づいて可変である、特定のサイズ及び/または形状であり得る。
【0028】
幾つかの実装形態では、ユーザによって着用されているスマートグラスまたは他のタイプのヘッドマウントスキャナにカメラが取り付けられているため、カメラの視線はユーザの視線に同様に対応し得る。そのような例では、ユーザは、バーコードに物理的に触れることなく、当該バーコードがスキャンされるべきであることを示す指示ジェスチャを実行し得る。従って、ユーザは、腕の届かないところにあるバーコードをスキャンするジェスチャを実行し得る。そのような場合、バーコード領域は、画像のバックグラウンド(背景)領域(例えば、ユーザの背景環境(例えば、ユーザの腕の長さよりも広い範囲を有する環境)を描写する画像の一部))にあると決定(判定)され得る。当該バックグラウンド領域は、本明細書に記載された1または複数の3D処理技術に基づいて決定及び/または識別され得る。
【0029】
本明細書に記載されるように、画像処理モデルは、1または複数の画像認識技術を利用し得て、指示ジェスチャに関連付けられたバーコード領域内のバーコードを識別し得る。例えば、画像処理モデルは、3D環境を描写する画像内で1または複数のタイプの2次元(2D)バーコード(例えば、平行線バーコード、QRコード、及び/または、同様のもの)を識別及び/または検出するように、訓練され得る。幾つかの実装形態では、画像処理モデルは、画像を処理して、フレームAのバーコード領域を切り取る、抽出する、強調する、等して、バーコードの1または複数の部分(例えば、バーコードの周縁)を識別し得る。幾つかの実装形態では、バーコードの識別に基づいて、ユーザデバイスは、当該ユーザデバイスのユーザインタフェース(例えば、ディスプレイ)(例えば、スマートグラスのレンズを介してバーコード上のバーコード識別子(例えば、透明な色またはハイライト)を増強する拡張現実ディスプレイ)上のバーコードに関連付けられたオーバーレイを補強することによって、当該バーコードを示し得る、及び/または、当該バーコードがスキャンのためにユーザによって選択されていることを検証し得る。そのような場合、ユーザデバイスは、検出されたバーコード及び/または物体に関連付けられた情報をレンダリングするように構成された拡張現実グラス(眼鏡)を含み得る。例えば、ユーザデバイスは、カメラの視野内で検出されたバーコードの輪郭をレンダリングし得る(例えば、画像処理の文字及び/または物体検出技術を使用して)。従って、ユーザデバイスは、特定のバーコードがスキャン及び/またはデコードされるべきであることを、ユーザが検証及び/または有効化することを許容するように構成され得る。
【0030】
このようにして、ユーザデバイスは、画像ストリームのバーコード領域内のバーコードを識別し得て、ユーザデバイスがトリガジェスチャを監視することを許容し得て、及び/または、バーコードのスキャンを実行して当該バーコードがデコードされることを許容し得る。
【0031】
図1に参照符号140によって示されるように、ユーザデバイスは、画像ストリーム内のトリガジェスチャを検出する。例えば、トリガジェスチャは、バーコードがデコードされることを許容するように、バユーザがバーコードのスキャンを引き起こす(もたらす)ことに関連付けられ得る。指示ジェスチャの検出と同様に、ユーザデバイスは、画像処理モデルを使用して、画像ストリームのフレームBの分析に基づいて、トリガジェスチャを検出し得る。例示的な実装形態100においてユーザによって実行されるトリガジェスチャは、物体1に関連付けられた(例えば、物体1に取り付けられることに基づく)バーコード1のスキャンに関連付けられ得る。フレームBは、カメラの視野内及び/またはバーコードの視線内でユーザが指示ジェスチャに対して手を調整していることを描写する画像を含む画像ストリームの1セクションに関連付けられた画像であり得る。画像処理モデルを使用して、ユーザデバイスは、フレームBがトリガジェスチャに関連付けられた形態の手を描写していることの識別に基づいて、及び/または、ユーザが手をトリガ形態に移行させていることを前記セクションが示していることの識別に基づいて、当該トリガジェスチャを検出し得る。
【0032】
図1において画像ストリームのフレームBに示されるように、ユーザは、トリガジェスチャを実行し得て、バーコードのスキャンを引き起こし(もたらし)得る。トリガジェスチャは、手をトリガ形態とすることによって、実行され得る。例示的な実装形態100では、ユーザは、人差し指を指示形態から閉じる(曲げる)ことによって(例えば、引き金を引くことをシミュレートして)、手をトリガ形態とする。従って、トリガ形態の実行は、ユーザが指示形態(例えば、ユーザの人差し指が伸ばされた位置にある)からトリガ形態(例えば、ユーザの人差し指が閉じられた(曲げられた)位置にある)に手を移行させることを含み得て、及び/または、そのことに基づき得る。もっとも、バーコードがスキャンされることを引き起こす(もたらす)ために、他の手の形態も同様に使用され得る。
【0033】
このようにして、ユーザデバイスは、トリガジェスチャを検出し得て、それに応じて、当該ユーザデバイスがバーコードをスキャン及び/またはデコードすべきであることを決定(判定)し得る。幾つかの実装形態では、ユーザデバイスは、前述のように、トリガジェスチャの検出に基づいて、バーコード領域内のバーコードを識別し得る。
【0034】
図1に参照符号150によって示されるように、ユーザデバイスは、バーコード領域内のバーコードをスキャン及び/またはデコードする。幾つかの実装形態では、ユーザデバイスは、バーコードをスキャンする時、画像ストリームからバーコードのバーコード画像を取得し得て、処理し得て、及び/または、記憶し得て、バーコード画像を介して当該バーコードがデコードされることを許容し得る。例えば、バーコードスキャンモデル(またはバーコードをスキャンするための1または複数の画像処理技術に関連付けられたアプリケーション)を使用して、画像ストリームからバーコードをコピーする及び/または抽出する(例えば、バーコードを描写するために使用されているフレームBのピクセル値を使用する)ことによって、及び/または、バーコードがデコードされることを許容するべく当該バーコードをフォーマットする(例えば、強調する、フィルタリングする、ノイズ除去する、構成する、及び/または、同様のことをする)ことによって、画像ストリームからバーコード画像が「スキャン」され得る。幾つかの実装形態では、バーコードスキャンモデルは、3D環境内のバーコードの平面形態を検出するように訓練され得る(例えば、様々な角度からの環境内の描写されたバーコードの複数の画像に関連付けられた履歴データに基づいて)。そのような場合、バーコードスキャンモデルは、ユーザデバイスがバーコードをデコードすることを許容するフォーマットへと、バーコードの抽出された画像を再構成及び/または変更し得る。
【0035】
幾つかの実装形態によれば、ユーザデバイスは、レーザスキャナをして、バーコードをスキャンさせ得る(例えば、スマートグラス上のレーザエミッタ及び/または光センサなどの、ユーザデバイスのレーザスキャナ)。そのような場合、ユーザデバイスは、バーコードに向かって光を発することによってレーザスキャナをしてバーコードをスキャンさせ得て、光センサがバーコードから反射された光を測定することに関連付けられたスキャン情報に基づいてバーコードをデコードし得る。
【0036】
ユーザデバイスは、バーコードのタイプ(例えば、平行線バーコード、QRコード、及び/または、同様のもの)に基づき得る任意の適切なデコーディング技術を使用して、バーコードをデコードし得る。バーコードをデコード(復号)すると、バーコードデータが生成され得て、それは、物体に関連付けられた情報、及び/または、ユーザデバイスの形態及び当該ユーザデバイスがスキャンを実行したという事実に関連する情報を、取得する、識別する、及び/または、決定(判定)するために使用され得る。例えば、バーコードデータは、ユーザデバイスの環境に対する物体の状態に関連付けられた識別情報(例えば、物体が利用可能であるか、受容されているか、及び/若しくは、輸送されるべきであるか、を示す情報)、環境に対するユーザデバイスに関連付けられた位置情報(例えば、建物位置情報、地理的座標、及び/若しくは、同様のもの)、トランザクション情報(例えば、タイミング情報、ユーザに関連付けられたユーザ情報、物体に関連付けられた価値情報、及び/若しくは、同様のもの)、並びに/または、ユーザに関連付けられたユーザ情報(例えば、ユーザの識別子、ユーザの場所、ユーザの役割、及び/若しくは、同様のもの)(例えば、ログインしているかユーザデバイスに関連付けられているユーザに基づく)を、含み得る、及び/または、表し得る。
【0037】
本明細書に記載されるように、バーコード領域は、環境内の特定の(または単一の)バーコードがスキャンされるべきであることを識別するために使用され得る。例えば、物体2に関連付けられたバーコード2はカメラの視野内に存在し得て、従ってフレームA及びフレームB内に存在し得るが、バーコード2はバーコード領域の外側にあるため、ユーザデバイスはトリガジェスチャに基づいてバーコード1のみをスキャンし得る。幾つかの実装形態によれば、複数のバーコードがスキャン及び/またはデコードされるべきであることを示すために、1または複数のジェスチャがユーザによって使用され得る。例えば、ユーザは、バーコード領域の境界に関連付けられたバーコード境界ジェスチャを実行し得て、それに対応して、マルチバーコードトリガジェスチャを実行し得て、当該境界内の何れかまたは全てのバーコードが(例えば、同時にまたは順次に)スキャンされるべきであることを示し得る。
【0038】
このようにして、ユーザデバイスは、スキャンを実行及び/またはバーコードをデコードし得て、ユーザデバイス及び/またはバーコードデータ管理システムがバーコード及び/または物体に関連付けられた情報を管理することを許容し得る。
【0039】
図1に参照符号160によって示されるように、ユーザデバイスは、デコードされたバーコード及び/または当該バーコードに関連付けられた物体に関連する情報を、取得する及び/または提供する。例えば、ユーザデバイスは、バーコードのデコーディングに関連して、及び/または、当該デコーディングに基づいて、状態情報、位置情報、トランザクション情報及び/またはユーザ情報を提供し得る。追加的または代替的に、ユーザデバイスは、バーコードデータ管理システムにバーコードデータを提供し得て、当該バーコードデータ管理システムが状態情報、位置情報、トランザクション情報及び/またはユーザ情報を決定(判定)及び/または取得することを許容し得る。
【0040】
このようにして、ユーザデバイスは、物体及び/またはバーコードに関連付けられた1または複数の動作を実行し得て、バーコード及び/または物体に関連付けられた情報が管理されることを可能にし得る。
【0041】
前述のように、図1は、一実施例として提供されている。他の実施例は、図1に関して説明されたものとは異なり得る。図1に示されたデバイスの数及び配置は、一実施例として提供されている。実際上は、図1に示されたものと比較して、追加のデバイスが存在し得るし、より少ないデバイスが存在し得るし、異なるデバイスが存在し得るし、あるいは、異なって配置されたデバイスが存在し得る。更に、図1に示された2以上のデバイスが、単一のデバイス内に実装されてもよいし、あるいは、図1に示された単一のデバイスが、複数の分散デバイスとして実装されてもよい。追加的または代替的に、図1に示されたデバイスのあるセット(例えば、1または複数のデバイス)は、図1に示されたデバイスの別のセットによって実行されると説明された1または複数の機能を実行してもよい。
【0042】
図2は、例示的な実装形態100に関連して説明された画像処理モデル等の画像処理モデルによって実行され得る例示的なプロセス200のフローチャートである。幾つかの実装形態によれば、当該画像処理モデルは、図1のユーザデバイス及び/またはバーコードデータ管理システムによって、構成され得て、訓練され得て、及び/または、利用され得る。図2に示されるように、画像処理モデルは、ユーザの1または複数のジェスチャに基づいて1または複数の検出されたバーコードをスキャンするように構成されたユーザデバイス(例えば、スマートグラス及び/またはボディカメラとして示される)から、画像ストリームを受信し得る。
【0043】
図2にブロック210で示されるように、画像処理モデルは、スキャンジェスチャが検出されたか否かを決定(判定)し得る。例えば、画像処理モデルは、指示ジェスチャ、トリガジェスチャ、及び/または、当該ジェスチャの1または複数の組み合わせ、を識別するように画像ストリームの画像を処理し得る。画像処理モデルがジェスチャを検出しない場合、当該画像処理モデルは画像ストリームの監視を継続し得る。ブロック210で、画像処理モデルがスキャンジェスチャを検出する場合、当該画像処理モデルは、ブロック220で、ジェスチャの領域(例えば、図1の例示的な実装形態のバーコード領域)を決定(判定)する。ブロック230で、画像処理モデル(例えば、画像認識モデル、物体検出モデル、バーコードスキャンモデル、及び/または、同様のもの、を利用する)は、ジェスチャの領域を分析する。
【0044】
図2のブロック240で、画像処理モデルは、前記領域内でバーコードが検出されるか否かを決定(判定)し得る。幾つかの実装形態では、画像処理モデルは、前記領域がスキャンされ得るバーコードを含む確率を決定(判定)するように構成されたスコアシステムを使用し得る。当該スコアシステムは、バーコードの存在を示す特定の形状、線、テキストなどを画像が含むか否かに基づいて、前記確率を決定(判定)し得る。前記スコアシステムが、前記領域がバーコードを含まない可能性が高いことを示すスコアを決定することに基づいて、画像処理モデルは、ブロック250で、前記領域を(例えば、画像ストリームの後続のフレームにおいて)再分析してバーコードを識別すべきか否かを決定し得る。例えば、画像処理モデルは、検出されたジェスチャに基づいて、画像処理モデルがバーコードを識別するために画像ストリームの1または複数の他のフレームを分析したか否かに基づいて、及び/または、前記ジェスチャに関連付けられた画像ストリームのある量のフレームがバーコードを検出するために分析されたか否かに基づいて、バーコードの識別を再試行すべきか否かを決定し得る。そのような場合、ブロック250で、画像処理モデルが検出されたジェスチャに基づいてバーコードを識別するために画像ストリームのフレームのある閾値量を分析しなかった場合、画像処理モデルはブロック220に戻り得て、画像ストリームの別のフレーム内でジェスチャの領域を決定し得る。画像処理モデルがフレームの前記閾値量を分析した場合、画像処理モデルは、ブロック210に戻り得て、別のまたは異なるジェスチャを検出し得る。幾つかの実装形態では、そのような場合、画像処理モデルは、ユーザデバイスをして、検出されたスキャンジェスチャに関連してバーコードが検出されなかったことをユーザに警告させ得る。
【0045】
ブロック240で画像処理モデルが(スキャン可能な)バーコードを検出する場合、ブロック260で、画像処理モデルは、バーコードをスキャン及びデコードするために、及び/または、バーコードに関連付けられたバーコードデータを提供するために、1または複数の動作を実行し得る。例えば、画像処理モデルは、バーコードを抽出し、バーコードをフォーマットし、及び/または、バーコードを再構成及び/または変更して、当該バーコードがデコードされることを許容するように、画像を処理し得る。
【0046】
このように、画像処理モデルは、画像ストリームを監視して、画像ストリーム内に描写かれたバーコードがスキャンされることを許容するべく、1または複数のジェスチャを検出及び/または識別するように、構成され得る。
【0047】
前述のように、図2は、一実施例として提供されている。他の実施例は、図2に関して説明されたものとは異なり得る。
【0048】
図3は、本明細書に記載されるようにバーコードをデコード及び/または処理するためにユーザのジェスチャを検出及び/または分析することに関連した、機械学習モデルの訓練及び使用の例300を示す概略図である。本明細書に記載される機械学習モデルの訓練及び使用は、機械学習システムを使用して実行され得る。機械学習システムは、コンピューティングデバイス、サーバ、クラウドコンピューティング環境、及び/または、同様のもの、例えば、本明細書の他の場所でより詳細に説明されるユーザデバイス及び/またはバーコードデータ管理システムなど、を含み得るし、あるいは、それらに含まれ得る。
【0049】
参照符号305によって示されるように、機械学習モデルは、観察のセット(例えば、画像ストリームのセットに関連付けられる)を使用して訓練され得る。当該観察のセットは、本明細書に記載された1または複数のプロセス中に収集されるデータなどの履歴データから取得され得る。幾つかの実装形態では、本明細書の他の箇所に記載されるように、機械学習システムがユーザデバイスから観察のセットを(例えば、入力として)受信し得る(例えば、当該機械学習モデルを再訓練するために)。
【0050】
参照符号310によって示されるように、前記観察のセットは、特徴のセットを含む。当該特徴のセットは、変数のセットを含み得て、ある変数が、ある特徴と呼ばれ得る。特定の観測が、変数のセットに対応する変数値(または特徴値)のセットを含み得る。幾つかの実装形態では、機械学習システムは、ユーザデバイス(例えば、本明細書に記載されるように1または複数のジェスチャを用いてバーコードがスキャン及び/またはデコードされることをもたらすべくユーザによって使用されたもの)及び/または他の同様のユーザデバイス(前記ユーザまたは他のユーザによって操作されたもの)から受信された入力に基づいて、1セットの観察のための複数の変数、及び/または、ある特定の観察のための複数の変数値、を決定し得る。例えば、機械学習システムは、構造化データから特徴のセットを抽出することによって、非構造化データから特徴のセットを抽出するように自然言語処理を実行することによって、オペレータからの入力を受信することによって、及び/または、同様のことによって、特徴のセット(例えば、1または複数の特徴及び/または特徴値)を識別し得る。
【0051】
一実施例として、観察の1セットの特徴のセットは、バーコードに関連付けられた第1の特徴(例えば、観察の1セット内のバーコードのタイプの画像)、指示ジェスチャに関連付けられた第2の特徴(例えば、観察の1セットの指示ジェスチャの画像)、トリガジェスチャに関連付けられた第3の特徴(例えば、観察の1セットのトリガジェスチャの画像)、などを含み得る。示されるように、第1の観察について、第1の特徴は、バーコードタイプ1の値(例えば、第1のタイプのバーコードを描写する画像に関連付けられた画像データ)を有し得て、第2の特徴は、ジェスチャ画像1.1の値(例えば、第1指示ジェスチャを描写する画像に関連付けられた画像データ)を有し得て、第3の特徴は、ジェスチャ画像1.2の値(例えば、第1トリガジェスチャを描写する画像に関連付けられた画像データ)を有し得る、等である。これらの特徴及び特徴値は、実施例として提供されており、他の実施例では異なり得る。例えば、特徴のセットは、以下の特徴のうちの1または複数を含み得る:他のタイプのジェスチャ、画像が複数のバーコードを含むか否か、画像に関連するパラメータ(例えば、解像度、サイズ、アスペクト比、及び/または、同様のもの)、ジェスチャの実行に関連付けられたタイミング、観察の画像または画像ストリームの捕捉に関連付けられたユーザデバイスまたはカメラ、及び/または、同様のもの。
【0052】
参照符号315によって示されるように、観察の1セットは、目標変数に関連付けられ得る。当該目標変数は、数値を有する変数を表し得て、ある範囲内に収まるかまたは幾つかの離散的な可能な値を有する数値を有する変数を表し得て、複数の選択肢の1つ(例えば、複数のクラス、分類、ラベル、などの1つ)から選択可能な変数を表し得て、あるいは、ブール値などを有する変数を表し得る。ある目標変数は、ある目標変数値に関連付けられ得て、ある目標変数値は、ある観察に固有であり得る。例300では、目標変数は、デコードスキャンインジケータであり、それは、最初の観察では「はい」の値を有し、2番目の観察では「いいえ」の値を有し、バーコードが最初の観察ではスキャンされて、2番目の観察ではバーコードがスキャンされなかったことを示している。幾つかの実装形態では、目標変数は、本明細書に記載されるように、バーコードを識別し及び/またはバーコードスキャンをトリガする指示ジェスチャ及び/またはトリガジェスチャに関連して、観察のバーコードがスキャンされるべきであった確率を表すスコアに関連付けられ得る。例えば、スコアシステムは、指示ジェスチャ及び/若しくはトリガジェスチャが正確に検出及び分析されることに関して決定される信頼レベル、並びに/または、バーコードがスキャンに関連して正確に識別及び/若しくはデコードされることに関して決定される信頼レベル、に基づいて構成され得る。従って、「はい」は、スコアシステムが閾値確率を満たすスコアを計算することに関連付けられ得て、「いいえ」は、スコアシステムが閾値確率を満たさないスコアを計算することに関連付けられ得る。
【0053】
目標変数は、機械学習モデルが訓練されている予測対象としての値を表し得て、特徴セットは、目標変数の値を予測するために訓練済み機械学習モデルに入力される変数を表し得る。観察の1セットは、複数の目標変数値を含み得て、機械学習モデルは、ある目標変数値につながる特徴セット内の複数のパターンを認識するように訓練され得る。目標変数値を予測するように訓練される機械学習モデルは、教師あり学習モデルと呼ばれ得る。
【0054】
幾つかの実装形態では、機械学習モデルは、目標変数を含まない1セットの観察で訓練され得る。これは、教師なし学習モデルと呼ばれ得る。この場合、機械学習モデルは、ラベル付けや教師無しで観察の1セットから複数のパターンを学習し得て、クラスタリング及び/または関連付けを使用する等して、そのようなパターンを示す出力を提供し得て、観察の1セット内のアイテムの関連グループを識別し得る。
【0055】
参照符号320によって示されるように、機械学習システムは、観察の1セットを使用し、且つ、回帰アルゴリズム、決定木アルゴリズム、ニューラルネットワークアルゴリズム、k近傍法アルゴリズム、サポートベクターマシンアルゴリズム、等の1または複数の機械学習アルゴリズムを使用して、機械学習モデルを訓練し得る。訓練の後、機械学習システムは、新しい観察を分析するために使用されるべく、当該機械学習モデルを訓練済み機械学習モデル325として記憶し得る。
【0056】
参照符号330によって示されるように、機械学習システムは、新しい観察を受信して当該新しい観察を訓練済み機械学習モデル325に入力すること等によって、訓練済み機械学習モデル325を新しい観察に適用し得る。図示されるように、新しい観察は、一例として、バーコードに関連する第1の特徴、指示ジェスチャに関連する第2の特徴、トリガジェスチャに関連する第3の特徴、などを含み得る。機械学習システムは、訓練済み機械学習モデル325を新しい観察に適用し得て、出力(例えば、結果)を生成し得る。出力のタイプは、機械学習モデルのタイプ及び/または実行される機械学習タスクのタイプに依存し得る。例えば、出力は、教師あり学習が採用される時などには、目標変数の予測値を含み得る。付加的または代替的に、出力は、教師なし学習が採用される時など、新しい観察が属するクラスタを識別する情報、新しい観察と1または複数の他の観察との間の類似度を示す情報、及び/または、同様のもの、を含み得る。
【0057】
一実施例として、訓練済み機械学習モデル325は、参照符号335によって示されるように、(例えば、閾値スコアが満たされていることに基づいて)新しい観察のためにデコードされたバーコードの目標変数について「はい」の値を予測し得る。当該予測に基づいて、機械学習システムは、第1の推奨を提供し得る、第1の推奨の決定(判定)のための出力を提供し得る、第1の自動動作を実行し得る、第1の自動動作が実行されることを引き起こし得る(例えば、別のデバイスに当該自動動作を実行するように指示することによって)、及び/または、同様のことをし得る。第1の推奨は、例えば、ユーザへのスキャンを実行することの推奨、ユーザがバーコードスキャンを有効化することの推奨、などを含み得る。第1の自動動作は、例えば、バーコードを自動的にスキャンすること、バーコードスキャンを介してバーコードをデコードすることに関連付けられたバーコードデータを自動的に提供すること、バーコードに関連付けられた物体に関する情報(例えば、物体及び/またはユーザデバイスに関連付けられた、状態、位置、トランザクション、ユーザ、等を識別する情報)を提供すること、等を含み得る。
【0058】
別の実施例として、機械学習システムが、デコードされたバーコードの目標変数について「いいえ」の値を予測する場合(例えば、閾値スコアが満たされていないことに基づいて)、機械学習システムは、第2の(例えば、異なる)推奨(例えば、バーコードがスキャンできないことを示す、等)を提供し得る、及び/または、第2の(例えば、異なる)自動動作(例えば、検出されたバーコードを無視する、モデルを再訓練する、等)を実行し得る。
【0059】
幾つかの実装形態では、訓練済み機械学習モデル325は、参照符号340によって示されるように、新しい観察をクラスタに分類(例えば、クラスタ化)し得る。あるクラスタ内の観察は、類似度のある閾値を有し得る。一実施例として、機械学習システムが新しい観察を第1のクラスタ(例えば、バーコードが当該観察内にあることを示すクラスタ)に分類する場合、機械学習システムは、前述の第1の推奨のような第1の推奨を提供し得る。付加的または代替的に、機械学習システムは、新しい観察を第1のクラスタに分類することに基づいて、前述の第1の自動動作のような第1の自動動作を実行し得る、及び/または、そのような第1の自動動作が実行されることを引き起こし得る(例えば、別のデバイスに当該自動動作を実行するように指示することによって)。
【0060】
別の実施例として、機械学習システムが新しい観察を第2のクラスタ(例えば、バーコードと、指示ジェスチャまたはトリガジェスチャの少なくとも1つと、を含むクラスタ)に分類する場合、機械学習システムは、第2の(例えば、異なる)推奨(例えば、ジェスチャに関連付けられたバーコードを強調表示する)を提供し得る、及び/または、バーコードのスキャン及び/またはバーコードのデコードなどの、第2の(例えば、異なる)自動動作を実行し得るまたは実行を引き起こし得る。
【0061】
幾つかの実装形態では、新しい観察に関連付けられた推奨及び/または自動動作は、ある目標変数値がある特定のラベル(例えば、分類、カテゴリ化、等)を有することに基づき得る、ある目標変数値が1または複数の閾値を満たすか否か(例えば、当該目標変数値が閾値よりも大きい、閾値よりも小さい、閾値に等しい、閾値の範囲内にある、等)に基づき得る、新しい観察が分類分けされるクラスタに基づき得る、等である。
【0062】
このようにして、機械学習システムは、バーコードの識別及び/またはスキャンに関連する1または複数のジェスチャを検出及び/または分析するための厳密で自動化されたプロセスを適用し得る。機械学習システムは、数十、数百、数千、若しくは数百万の特徴、及び/または、数十、数百、数千、若しくは数百万の観察の特徴値、の認識及び/または識別を可能にし、それによって、バーコード特徴を使用して検出される任意のまたは全てのバーコードをスキャンするバーコードスキャナにコンピューティングリソースが割り当てられることを要求することに関連して、どのバーコードがスキャンされるべきかを識別する、スキャンされたバーコードのデコードに関連付けられたバーコードデータを提供する、等のことに関連付けられた、精度と一貫性とを向上させると共に、遅れを低減させる。
【0063】
前述のように、図3は、一実施例として提供されている。他の実施例は、図3に関して説明されたものとは異なり得る。
【0064】
図4は、本明細書に記載されたシステム及び/または方法が実装され得る例示的な環境400の概略図である。図4に示されるように、環境400は、バーコードデータ管理システム401を含み得て、それは、クラウドコンピューティングシステム402の1または複数の要素を含み得る、及び/または、クラウドコンピューティングシステム402内で実行し得る。クラウドコンピューティングシステム402は、以下でより詳細に説明されるように、1または複数の要素403~413を含み得る。図4に更に示されるように、環境400は、ネットワーク420及び/またはユーザデバイス430を含み得る。環境400のデバイス及び/または要素は、有線接続及び/または無線接続を介して相互接続し得る。
【0065】
クラウドコンピューティングシステム402は、コンピューティングハードウェア403、リソース管理コンポーネント404、ホストオペレーティングシステム(OS)405、及び/または、1または複数の仮想コンピューティングシステム406、を含む。リソース管理コンポーネント404は、コンピューティングハードウェア403の仮想化(例えば、抽象化)を実行し得て、1または複数の仮想コンピューティングシステム406を生成し得る。仮想化を使用して、リソース管理コンポーネント404は、単一のコンピューティングデバイス(例えば、コンピュータ、サーバなど)が複数のコンピューティングデバイスのように動作することを可能にする。例えば、単一のコンピューティングデバイスのコンピューティングハードウェア403から複数の個別の仮想コンピューティングシステム406を生成することによって。このようにして、コンピューティングハードウェア403は、別個のコンピューティングデバイスを使用する場合よりも、電力消費が少なく、信頼性が高く、利用可能性が高く、利用率が高く、柔軟性が高く、コストが低い状態で、より効率的に作動し得る。
【0066】
コンピューティングハードウェア403は、1または複数のコンピューティングデバイスからのハードウェア及び対応するリソースを含む。例えば、コンピューティングハードウェア403は、単一のコンピューティングデバイス(例えば、単一のサーバ)からのハードウェア、あるいは、1または複数のデータセンター内の複数のコンピューティングデバイスのような複数のコンピューティングデバイス(例えば、複数のサーバ)からのハードウェア、を含み得る。図示されるように、コンピューティングハードウェア403は、1または複数のプロセッサ407、1または複数のメモリ408、1または複数のストレージコンポーネント409、及び/または、1または複数のネットワーキングコンポーネント410、を含み得る。プロセッサ、メモリ、ストレージコンポーネント及びネットワーキングコンポーネント(例えば、通信コンポーネント)の例は、本明細書の他の箇所に記載される。
【0067】
リソース管理コンポーネント404は、1または複数の仮想コンピューティングシステム406を開始、停止、及び/または管理するためにコンピューティングハードウェア403を仮想化可能な仮想化アプリケーション(例えば、コンピューティングハードウェア403などのハードウェア上で実行するもの)を含む。例えば、リソース管理コンポーネント404は、ハイパーバイザー(例えば、ベアメタル型すなわちタイプ1のハイパーバイザー、ホスト型すなわちタイプ2のハイパーバイザー、等)を含み得て、あるいは、仮想コンピューティングシステム406が仮想マシン411である場合など、仮想マシンモニタを含み得る。追加的または代替的に、リソース管理コンポーネント404は、仮想コンピューティングシステム406がコンテナ412である場合など、コンテナマネージャを含み得る。幾つかの実装形態では、リソース管理コンポーネント404は、ホストオペレーティングシステム405内で実行する、及び/または、ホストオペレーティングシステム405と連携し、実行する。
【0068】
仮想コンピューティングシステム406は、コンピューティングハードウェア403を使用した本明細書に記載される動作及び/またはプロセスのクラウドベースの実行を可能にする仮想環境を含む。図示されるように、仮想コンピューティングシステム406は、仮想マシン411、コンテナ412、仮想マシン及びコンテナを含むハイブリッド環境413、などを含み得る。仮想コンピューティングシステム406は、ゲストオペレーティングシステム(例えば、仮想コンピューティングシステム406内)またはホストオペレーティングシステム405上でアプリケーションを実行するために必要とされる、バイナリファイル、ソフトウェアライブラリ、及び/または、他のリソース、を含むファイルシステムを使用して、1または複数のアプリケーションを実行し得る。
【0069】
バーコードデータ管理システム401は、クラウドコンピューティングシステム402の1または複数の要素403~413を含み得て、クラウドコンピューティングシステム402内で実行し得て、及び/または、クラウドコンピューティングシステム402内でホストされ得るが、幾つかの実装形態では、バーコードデータ管理システム401は、クラウドベースでなくてもよく(例えば、クラウドコンピューティングシステムの外部で実装されてもよく)、あるいは、部分的に(のみ)クラウドベースであってもよい。例えば、バーコードデータ管理システム401は、図1のバーコードデータ管理システムのようにクラウドコンピューティングシステム402の一部ではない1または複数のデバイスを含み得て、それは、スタンドアロンサーバまたは別のタイプのコンピューティングデバイスを含み得る。バーコードデータ管理システム401は、本明細書の他の箇所でより詳細に説明される1または複数の動作及び/またはプロセスを実行し得る。
【0070】
ネットワーク420は、1または複数の有線及び/または無線のネットワークを含む。例えば、ネットワーク420は、携帯電話ネットワーク、公衆陸上移動体ネットワーク(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、プライベートネットワーク、インターネット、等を含み得て、及び/または、これらまたは他のタイプのネットワークの組み合わせを含み得る。ネットワーク420は、環境400のデバイス間の通信を可能にする。
【0071】
ユーザデバイス430は、本明細書の他の箇所に記載されるように、ジェスチャの検出及び/または分析に基づくバーコードスキャンに関連付けられた情報を、受信し、生成し、記憶し、処理し、及び/または、提供することが可能な1または複数のデバイスを含む。ユーザデバイス430は、通信デバイス及び/またはコンピューティングデバイスを含み得る。例えば、ユーザデバイス430は、無線通信デバイス、ユーザ機器(UE)、モバイル電話(例えば、とりわけ、スマートフォンまたは携帯電話)、タブレットコンピュータ、ハンドヘルドコンピュータ、ウェアラブル通信デバイス(例えば、とりわけ、スマートウォッチやスマートグラスなど)、IoTデバイス、または、同様のタイプのデバイス、を含み得る。ユーザデバイス430は、本明細書の他の箇所に記載されるように、環境400の1または複数の他のデバイスと通信し得る。
【0072】
図4に示されたデバイス及びネットワークの数及び配置は、一実施例として提供されている。実際上は、図4に示されたものと比較して、追加のデバイス及び/またはネットワークが存在し得るし、より少ないデバイス及び/またはネットワークが存在し得るし、異なるデバイス及び/またはネットワークが存在し得るし、あるいは、異なって配置されたデバイス及び/またはネットワークが存在し得る。更に、図4に示された2以上のデバイスが、単一のデバイス内に実装されてもよいし、あるいは、図4に示された単一のデバイスが、複数の分散デバイスとして実装されてもよい。追加的または代替的に、環境400のデバイスのあるセット(例えば、1または複数のデバイス)は、環境400のデバイスの別のセットによって実行されると説明された1または複数の機能を実行してもよい。
【0073】
図5は、バーコードデータ管理システム401及び/またはユーザデバイス430に対応し得る、デバイス500の例示的なコンポーネント(構成要素)の概略図である。幾つかの実装形態では、バーコードデータ管理システム401及び/またはユーザデバイス430は、1または複数のデバイス500、及び/または、デバイス500の1または複数のコンポーネント(構成要素)を含み得る。図5に示されるように、デバイス500は、バス510、プロセッサ520、メモリ530、ストレージコンポーネント540、入力コンポーネント550、出力コンポーネント560、及び、通信コンポーネント570、を含み得る。
【0074】
バス510は、デバイス500のコンポーネント(構成要素)間の有線及び/または無線の通信を可能にするコンポーネント(構成要素)を含む。プロセッサ520は、中央処理装置(CPU)、グラフィックス処理装置、マイクロプロセッサ、コントローラ、マイクロコントローラ、デジタル信号プロセッサ、フィールドプログラマブルゲートアレイ、特定用途向け集積回路、及び/または、別のタイプの処理コンポーネント、を含む。プロセッサ520は、ハードウェア、ファームウェア、または、ハードウェアとソフトウェアとの組み合わせ、で実装される。幾つかの実装形態では、プロセッサ520は、機能を実行するようにプログラムされることが可能な1または複数のプロセッサを含む。メモリ530は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、及び/または、別のタイプのメモリ(例えば、フラッシュメモリ、磁気メモリ、及び/または、光メモリ)を含む。
【0075】
ストレージコンポーネント540は、デバイス500の動作に関連する情報及び/またはソフトウェアを記憶する。例えば、ストレージコンポーネント540は、ハードディスクドライブ、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートディスクドライブ、コンパクトディスク、デジタルバーサタイルディスク(DVD)、及び/または、他のタイプの非一時的なコンピュータ可読媒体、を含み得る。入力コンポーネント550は、デバイス500が、ユーザ入力及び/または感知された入力などの入力を受容することを可能にする。例えば、入力コンポーネント550は、タッチスクリーン、キーボード、キーパッド、マウス、ボタン、マイクロフォン、スイッチ、センサ、全地球測位システム(GPS)コンポーネント、加速度計、ジャイロスコープ、アクチュエータ、等を含み得る。出力コンポーネント560は、デバイス500が、ディスプレイ、スピーカ、及び/または、1または複数の発光ダイオード、等を介して出力を提供することを可能にする。通信コンポーネント570は、デバイス500が、有線接続及び/または無線接続等を介して他のデバイスと通信することを可能にする。例えば、通信コンポーネント570は、受信機、送信機、トランシーバ、モデム、ネットワークインターフェースカード、アンテナ、等を含み得る。
【0076】
デバイス500は、本明細書に記載される1または複数のプロセスを実行し得る。例えば、非一時的なコンピュータ可読媒体(例えば、メモリ530及び/またはストレージコンポーネント540)が、プロセッサ520による実行のための1セットの指令(例えば、1または複数の指令、コード、ソフトウェアコード、プログラムコード等)を記憶し得る。プロセッサ520は、当該1セットの指令を実行し得て、本明細書に記載された1または複数のプロセスを実行し得る。幾つかの実装形態では、1または複数のプロセッサ520による1セットの指令の実行が、当該1または複数のプロセッサ520及び/またはデバイス500をして、本明細書に記載された1または複数のプロセスを実行させる。幾つかの実装形態では、ハードワイヤード回路が、指令の代わりにまたは指令と組み合わせて使用され得て、本明細書に記載された1または複数のプロセスを実行し得る。従って、本明細書に記載された実装形態は、ハードウェア回路とソフトウェアとの何らかの特定の組み合わせに限定されない。
【0077】
図5に示されたコンポーネントの数及び配置は、一実施例として提供されている。図5に示されたものと比較して、デバイス500は、追加のコンポーネントを含み得るし、より少ないコンポーネントを含み得るし、異なるコンポーネントを含み得るし、あるいは、異なって配置されたコンポーネントを含み得る。追加的または代替的に、デバイス500のコンポーネントのあるセット(例えば、1または複数のコンポーネント)は、デバイス500のコンポーネントの別のセットによって実行されると説明された1または複数の機能を実行してもよい。
【0078】
図6は、ジェスチャの検出及び分析に基づくバーコードスキャンに関連付けられた例示的なプロセス600のフローチャートである。幾つかの実装形態では、図6の1または複数のプロセスブロックが、ユーザデバイス(例えば、ユーザデバイス430)によって実行され得る。幾つかの実装形態では、図6の1または複数のプロセスブロックが、別のデバイス、または、バーコードデータ管理システム401などユーザデバイスとは別個のデバイスの群またはそのようなユーザデバイスを含むデバイスの群、によって実行され得る。追加的または代替的に、図6の1または複数のプロセスブロックは、プロセッサ520、メモリ530、ストレージコンポーネント540、入力コンポーネント550、出力コンポーネント560、通信コンポーネント570等、デバイス500の1または複数のコンポーネントによって実行され得る。
【0079】
図6に示されるように、プロセス600は、環境を描写する画像ストリームを受信する工程を含み得る(ブロック610)。例えば、ユーザデバイスが、前述のように、環境を描写する画像ストリームを受信し得る。
【0080】
図6に更に示されるように、プロセス600は、画像処理モデルを使用して画像ストリームを監視して、環境内のジェスチャの1セットを検出する工程を含み得る(ブロック620)。例えば、ユーザデバイスが、画像処理モデルを使用して画像ストリームを監視し、前述のように、環境内のジェスチャの1セットを検出し得る。
【0081】
図6に更に示されるように、プロセス600は、画像処理モデルを使用して、画像ストリームの第1セクションがジェスチャのセットの最初の(第1の)ジェスチャを描写してることを決定(判定)する工程を含み得る(ブロック630)。例えば、ユーザデバイスが、画像処理モデルを使用して、前述のように、画像ストリームの第1セクションがジェスチャのセットの最初のジェスチャを描写していると決定(判定)し得る。
【0082】
図6に更に示されるように、プロセス600は、画像処理モデルを使用して、最初のジェスチャが画像ストリームのバーコード領域を示すことに関連付けられていると決定(判定)する工程を含み得る(ブロック640)。例えば、ユーザデバイスが、画像処理モデルを使用して、前述のように、最初のジェスチャが画像ストリームのバーコード領域を示すことに関連付けられていると決定(判定)し得る。
【0083】
図6に更に示されるように、プロセス600は、画像処理モデルを使用して、画像ストリームのバーコード領域を分析して、バーコードを識別する工程を含み得る(ブロック650)。例えば、ユーザデバイスが、画像処理モデルを使用して、前述のように、画像ストリームのバーコード領域を分析して、バーコードを識別し得る。
【0084】
幾つかの実装形態では、バーコード領域を分析する工程は、ユーザの四肢の一部の前記位置から閾値距離内に描写されている環境の一領域にバーコード領域が対応することを決定する工程と、当該閾値距離内にバーコードが描写されていることに基づいて前記バーコード領域内のバーコードを識別する工程と、を含む。追加的または代替的に、当該バーコードに関連付けられた他のバーコードの平面形態に基づいて画像ストリームが当該バーコードを描写していることを識別し、当該バーコードが前記平面形態の1つに関連して描写されているとの決定(判定)に基づいてバーコード領域を処理する、というように構成された画像処理モデルに基づいて、当該バーコードが識別される。
【0085】
図6に更に示されるように、プロセス600は、画像処理モデルを使用して、画像ストリームの第2セクションがバーコードのデコーディングに関連付けられたジェスチャのセットの2番目の(第2の)ジェスチャを描写していることを決定(判定)する工程を含み得る(ブロック660)。例えば、ユーザデバイスが、画像処理モデルを使用して、前述のように、画像ストリームの第2セクションがバーコードのデコーディングに関連付けられたジェスチャのセットの2番目のジェスチャを描写していると決定(判定)し得る。
【0086】
幾つかの実装形態では、2番目のジェスチャは、ユーザが最初のジェスチャのジェスチャ位置から2番目のジェスチャのジェスチャ位置までユーザの四肢の一部を遷移させることに対応するジェスチャ動作に関連付けられている。
【0087】
図6に更に示されるように、プロセス600は、画像ストリームの第2セクションが2番目のジェスチャを描写しているという決定(判定)に基づいてバーコードをデコードする工程を含み得る(ブロック670)。例えば、ユーザデバイスが、前述のように、画像ストリームの第2セクションが2番目のジェスチャを描写しているとの決定(判定)に基づいてバーコードをデコードし得る。
【0088】
幾つかの実装形態では、バーコードをデコードする工程は、レーザスキャナをしてバーコードをスキャンさせる工程、及び、バーコードをデコードするためにレーザスキャナから受信されたスキャン情報(例えば、バーコードデータ)を処理する工程、を含む。追加的または代替的に、バーコードをデコードする工程は、画像処理モデルを使用してバーコード領域を処理して画像ストリームからバーコードの画像を抽出する工程と、バーコードスキャンモデルを使用して画像をデコード用にフォーマットしてフォーマット済み画像を形成する工程と、前記バーコードスキャンモデルを使用してフォーマット済み画像に基づいてバーコードをデコードする工程と、を含む。
【0089】
図6に更に示されるように、プロセス600は、バーコードに関連付けられた物体に関連付けられた動作を実行する工程を含み得る(ブロック680)。例えば、ユーザデバイスが、前述のように、バーコードに関連付けられた物体に関連付けられた動作を実行し得る。幾つかの実装形態では、動作を実行する工程は、環境に対する物体に関連付けられた状態情報を提供する工程、環境に対する物体に関連付けられた位置情報を提供する工程、環境に対する物体に関連付けられたトランザクション情報を提供する工程、及び、物体を処理するユーザに関連付けられたユーザ情報を提供する工程、のうちの少なくとも1つを含む。
【0090】
図6は、プロセス600の例示的な複数のブロックを示しているが、幾つかの実装形態では、図6に示されたものと比較して、プロセス600は、追加のブロックを含み得るし、より少ないブロックを含み得るし、異なるブロックを含み得るし、あるいは、異なって配置されたブロックを含み得る。追加的または代替的に、プロセス600の2以上のブロックが、並行して実行され得る。
【0091】
前述の開示には、特定の実施形態が記載されている。しかしながら、当業者は、特許請求の範囲に記載されるような本発明の範囲から逸脱することなく、様々な修正及び変更がなされ得る、ということを理解するであろう。従って、本明細書及び図面は、限定的な意味ではなく例示的な意味で理解されるべきであり、そのような全ての修正が、本開示の範囲内に含まれることが意図されている。更に、説明された実施形態/実施例/実装は、相互に排他的であると解釈されるべきではなく、その代わりに、そのような組み合わせが何らかの方法で許容される場合、潜在的に組み合わせ可能であると理解されるべきである。換言すれば、前述の実施例または実装形態のいずれかに開示された任意の特徴が、他の前述の実施例または実装形態のいずれかに含まれてもよい。
【0092】
本明細書で使用される場合、「コンポーネント(構成要素)」という用語は、ハードウェア、ファームウェア、並びに/または、ハードウェア及びソフトウェアの組み合わせ、として広く解釈されることが意図されている。本明細書で使用される場合、「有形の機械可読媒体」、「非一時的な機械可読媒体」、及び「機械可読記憶装置」という用語の各々は、機械可読指令(命令)(例えば、ソフトウェア及び/またはファームウェアの形態のコード)が記憶され得る記憶媒体(例えば、ハードディスクドライブ(のディスク)、デジタル多用途ディスク(DVD)、コンパクトディスク(CD)、フラッシュメモリ、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、等)として明示的に定義される。当該指令(命令)は、任意の好適な期間だけ(例えば、恒久的、長期間(例えば、指令(命令)に関連するプログラムが実行されている間)、または、短期間(例えば、指令(命令)がキャッシュされている間、バッファリングプロセス中、等))、記憶され得る。更に、本明細書で使用される場合、「有形の機械可読媒体」、「非一時的な機械可読媒体」及び「機械可読記憶装置」という用語の各々は、伝播信号(の態様)を除外するものとして明示的に定義される。すなわち、特許請求の範囲で使用される場合、「有形の機械可読媒体」、「非一時的な機械可読媒体」及び「機械可読記憶装置」等の用語は、伝搬信号として実装されるものと解釈されるべきではない。
【0093】
本明細書で使用される場合、閾値を満たすというのは、文脈に依存して、値が閾値より大きいこと、値が閾値より多いこと、値が閾値より高いこと、値が閾値以上であること、値が閾値より小さいこと、値が閾値より少ないこと、値が閾値より低いこと、値が閾値以下であること、値が閾値に等しいこと、等に言及するものであり得る。
【0094】
利益、利点、問題の解決策、及び、何らかの利益、利点ないし解決策を生じさせ得るかまたはより顕著にし得る任意の要素は、特許請求の範囲の請求項のいずれかまたは全てにおいての、重要な、必要な、または本質的な機能または要素として解釈されるべきではない。特許請求される発明は、本出願の係属中になされる補正、及び、発行される請求項の全ての均等物を含んで、添付される請求項によってのみ定義される。
【0095】
更に、本明細書で使用される場合、第1及び第2、上及び下、等のような関連語は、1つの実体または動作を他の実体または動作から区別するためにのみ用いられている可能性があり、必ずしもそのような実体または動作間の実際のそのような関係または順序を要求したり含意したりしていない可能性がある。用語「備える(comprises)」、「備えている(comprising)」、「有する(has)」、「有している(having)」、「含む(include)」、「含んでいる(including)」、「含有する(contains)」、「含有している(containing)」、あるいは、それらの他のあらゆる変形語は、非排他的な包含をカバーすることが意図されている。要素の列挙(リスト)を、備える、有する、含む、または、含有する、というプロセス、方法、物品、または、装置は、それらの要素のみを含むのではなく、明示的に列挙されていない他の要素や、そのようなプロセス、方法、物品、または、装置に固有の他の要素を含み得る。「を備える(comprises ...a)」、「を有する(has ...)」、「を含む(includes ...a)」、「を含有する(contains ...a)」の後に続く要素は、更なる制約条件が無ければ、当該要素を、備える、有する、含む、または、含有する、というプロセス、方法、物品、または、装置、における付加的な同一要素の存在を排除しない。
【0096】
用語「a」及び「an」は、明示的に他の言及が無い限り、1または複数として定義される。更に、本明細書で使用される場合、冠詞「the」は、当該冠詞「the」に関連して参照される1または複数のアイテムを含むことが意図されており、「その1または複数」(のアイテム)と交換可能に使用され得るものである。更に、本明細書で使用される場合、用語「セット」は、1または複数のアイテム(例えば、関連アイテム、非関連アイテム、関連アイテムと非関連アイテムとの組み合わせ、等)を含むことが意図されており、「1または複数」と交換可能に使用され得るものである。1つのアイテムのみが意図されている場合には、「1つだけ」という語句ないし類似の表現が使用される。また、本明細書で使用される場合、用語「有する」は、開放された(制限のない)用語であることが意図されている。更に、「~に基づく」という語句は、特に他の明示がない限り、「少なくとも部分的に~に基づく」を意味することが意図されている。また、本明細書で使用される場合、用語「または」は、直列に使用される際に包括的であることが意図されていて、特に他の明示がない限り(例えば、「いずれか一方」または「いずれか1つのみ」と組み合わせて使用される場合)、「及び/または」と交換可能に使用され得るものである。用語「実質的に」、「本質的に」、「およそ」、「約」、あるいは、それらの他のあらゆる変形語は、当業者に理解されるように、近い状態であるものとして定義され、1つの非限定的な実施形態において、当該用語は、10%以内、別の実施形態においては5%以内、別の実施形態においては1%以内、及び、別の実施形態において0.5%以内、として定義される。本明細書で用いられる用語「結合された」は、接続されたものとして定義されるが、必ずしも直接的でなくてもよく、また、必ずしも機械的でなくてもよい。ある方式で「構成された」デバイスまたは構造は、少なくとも当該方式で構成されるが、挙げられていない方式で構成されてもよい。
【0097】
本明細書に記載されたシステム及び/または方法は、異なる形態のハードウェア、ファームウェア、または、ハードウェアとソフトウェアとの組み合わせ、で実装され得ることが明らかであろう。これらのシステム及び/または方法を実装するために使用される実際の具体的な制御ハードウェアまたはソフトウェアコードは、実装を限定するものではない。従って、システム及び/または方法の動作及び挙動は、特定のソフトウェアコードを参照することなく本明細書に記載されている-ソフトウェア及びハードウェアは、本明細書の説明に基づいて当該システム及び/または方法を実装するように設計され得ることが理解される。
【0098】
特徴の特定の組み合わせが、特許請求の範囲に記載され、及び/または、明細書に開示されているが、これらの組み合わせは、様々な実装形態の開示を限定することを意図してはいない。実際、これらの特徴の多くは、特許請求の範囲に具体的には記載されていない態様で、及び/または、明細書に具体的には開示されていない態様で、組み合わせられ得る。以下に列挙された各従属請求項は、1つの請求項のみに直接的に従属する場合もあるが、様々な実装形態の開示は、請求項のセット内のあらゆる他の請求項と組み合わせた各従属請求項を含む。
【0099】
本開示の要約は、読者が当該技術的開示の性質を素早く確認することを許容するために提供される。それは、特許請求の範囲の請求項の範囲または意味を解釈または制限するために用いられないという理解と共に提示される。また、前述の説明において、当該開示を円滑にする目的で、様々な実施形態において様々な特徴がまとめてグループ化されていることが認められ得る。この開示方法は、特許請求される実施形態が、各請求項で明示的に記載されている特徴よりも多くの特徴を必要とする、という意図を反映するものとして解釈されるべきでない。むしろ、以下の特許請求の範囲が反映するように、本発明の主題は、単一の開示された実施形態の全ての特徴よりも少なく存在する。以下の特許請求の範囲は、ここで詳細な説明に組み入れられ、各請求項は、別個に特許請求される主題として、それ自身独立している。
図1
図2
図3
図4
図5
図6