JP2021535512A - レジ無しチェックアウト用ディープ・ラーニング・ベースのアクショナブル・デジタル・レシート - Google Patents
レジ無しチェックアウト用ディープ・ラーニング・ベースのアクショナブル・デジタル・レシート Download PDFInfo
- Publication number
- JP2021535512A JP2021535512A JP2021511634A JP2021511634A JP2021535512A JP 2021535512 A JP2021535512 A JP 2021535512A JP 2021511634 A JP2021511634 A JP 2021511634A JP 2021511634 A JP2021511634 A JP 2021511634A JP 2021535512 A JP2021535512 A JP 2021535512A
- Authority
- JP
- Japan
- Prior art keywords
- subject
- sensor data
- inventory
- real space
- digital receipt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/047—Payment circuits using payment protocols involving electronic receipts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/18—Payment architectures involving self-service terminals [SST], vending machines, kiosks or multimedia terminals
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/0036—Checkout procedures
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G5/00—Receipt-giving machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Abstract
自動化ショッピングのためのシステム及び技術が提供される。システムは、センサ・データのシーケンスを処理して、商品識別子及び分類信頼度スコアを含む在庫イベントを識別する。システムは、チェックアウト・イベントに応答して、デジタル・レシートを生成し、被写体にリンクされたデバイスに送信するためのロジックを含む。デジタル・レシートは、特定の被写体に対する商品のログ内の商品に基づく商品のリストを含む。デジタル・レシートには、商品のリストの変更を要求するための入力を促すデバイス上に表示するグラフィック構成へのリンクを含めることができる。システムは、特定の被写体に対するデバイスからのメッセージに応答して返金要求を処理するロジックを含む。【選択図】 図8
Description
本出願は、2018年8月31日出願の米国仮特許出願第62/726,070号(代理人整理番号STCG 1010−1)の利益を主張し、該米国仮特許出願は参照により本明細書に組み込まれる。
本発明は、実空間のエリア内の在庫商品を追跡するシステムに関する。
顧客にレジ無しショッピング体験を提供することにより、多くの技術的課題を提示することができる。顧客はショッピングストアに入り、通路を通って移動し、購入する必要のある商品を選び、店舗から出ることができる。レジ無しショッピング体験の重要な要素は、買い物客が店舗から持ってきた商品を正確に決定し、次いで顧客のためのデジタル・レシートを生成することである。これは、システムが顧客のバイオメトリック情報を使用して顧客を追跡しない場合に、より困難になる。別の技術的課題は、顧客がシステムが課金した商品またはその数量について異議を唱えることを可能にすることである。既存のシステムでは、顧客が電話、電子メールを介してショッピングストアに連絡を取る必要があるか、または物理的にショッピングストアに行き、顧客のレシートに対する返金または修正を要求する必要がある。次に、ショッピングストアの管理者は、顧客から受け取った異議を検査し、レシートのエラーを訂正する。
電話、電子メールを介してショッピングストアに連絡することを顧客に要求したり、物理的にショッピングストアに行くことを顧客に要求したりすることなく、顧客のためのデジタル・レシートをより効果的かつ自動的に生成し、返金要求を処理することができるシステムを提供することが望ましい。
自動化ショッピングのためにシステムを動作させるためのシステム及び方法が提供される。デジタル・レシートが買い物客に関連付けられたデバイスに配信される自動化ショッピング環境では、デジタル・レシートで識別された商品の異議申立て及び訂正をサポートする技術が提供される。一実施態様では、デジタル・レシートが、レシートにリストされた商品への異議申立てを促すウィジェットを含むグラフィカル・ユーザ・インタフェースで提示される。ウィジェットに係合するユーザ入力を検出すると、検証手順が自動的に実行される。検証手順は、自動化ショッピング環境で使用されるセンサ・データの評価と、センサ・データの評価に関連する信頼度スコアの評価とを含む。更に、検証手順は、さらなる検査に使用するのに適した特定のイベントに関連するセンサ・データを取り出すための効率的な手法を含むことができる。
システムは、実空間のエリアのセンサ・データのシーケンスを受信する。センサ・データは、視野が重なった複数のセンサによって送信することができる。システムは、1または複数のプロセッサを含む。1または複数のプロセッサは、センサ・データのシーケンスを処理して、個々の被写体にリンクされた実空間のエリア内の在庫イベントを識別するロジックを含むことができる。システムは、在庫イベントを在庫イベントのログとして維持する。在庫イベントには、商品識別子と商品の分類信頼度スコアを含めることができる。処理システムは、在庫イベントが識別されるセンサ・データのシーケンスからのセンサ・データを格納する。システムは、個々の被写体についての商品のログを維持するためのロジックを含む。システムは、特定の被写体のチェックアウト・イベントに応答して、デジタル・レシートを生成し、そのデジタル・レシートを特定の被写体に関連付けられたデバイスに送信する。デジタル・レシートには、特定の被写体に関する商品のログの商品に基づく商品のリストが含まれ、商品のリスト内の変更を要求するための入力を促すデバイス上に表示するためのグラフィック構成へのリンクが付されている。システムは、特定の被写体のデバイスから商品のリスト内の変更を要求するメッセージを受信するロジックを含む。変更を要求するデバイスからのメッセージに応答して、システムは、要求された変更に対応する特定の被写体の在庫イベントのログ内のエントリにアクセスする。システムは、エントリにおける分類信頼度スコアを信頼度閾値と比較する。信頼度スコアが閾値よりも低い場合は、システムは変更を受け入れ、デジタル・レシートを更新する。信頼度スコアが閾値よりも高い場合は、システムは変更に対応する在庫イベントを識別し、識別された在庫イベントの確証のために、格納されたセンサ・データのシーケンスからセンサ・データのセットを取り出す。
一実施形態では、システムが人間のオペレータによる検査のために、センサ・データのセットまたはセンサ・データのセットへのリンクをモニタ・デバイスに送信するためのロジックを含む。一実施形態では、システムが要求された変更に応答するメッセージをデバイスに送信するロジックを含む。一実施形態では、システムが信頼度スコアが閾値よりも低い場合に、要求された変更を受け入れるメッセージをデバイスに送信するように動作可能なロジックを含む。一実施形態では、システムが信頼度スコアが閾値よりも高い場合に要求された変更が検査中であることを示すメッセージをデバイスに送信するように動作可能なロジックを含む。
一実施形態では、システムがセンサ・データを処理して、実空間のエリア内の個々の被写体を追跡し、個々の被写体を在庫イベントにリンクするロジックを含む。このシステムは、個々の被写体に関連付けられたデバイスへの通信リンクを確立し、この通信リンク上で、特定の被写体から前記メッセージを受信し、特定の被写体にメッセージを送信するロジックを含む。
一実施形態では、システムがセンサ・データを処理して、実空間のエリア内の個々の被写体の位置を追跡し、特定の被写体の位置が実空間のエリアの特定の領域まで追跡される場合に、特定の被写体に対する前記チェックアウト・イベントを信号で伝えるロジックを含む。
一実施形態では、システムが個々の被写体に関連付けられたデバイスへの通信リンクを確立し、その通信リンク上で、前記チェックアウト・イベントとして解釈される特定の被写体からのメッセージを受信するロジックを含む。センサ・データのシーケンスは、重複する視野を有する複数の画像シーケンスを備える。商品のログは、在庫商品を置くこと及び取ることを含む。
コンピュータ・システムによって実行することができる方法及びコンピュータ・プログラム製品も、本明細書において説明されている。
本明細書では、特定の在庫商品を識別し、個々の被写体または買い物客にリンクすること、特定の被写体についてのチェックアウト・イベントに応答して個々の被写体に対しデジタル・レシートを生成すること、及び被写体からの返金要求を受信し、処理することを含むが、これらに限定されない機能が説明される。これらの機能は、例えば、処理される画像データのタイプ、画像データのどの処理を実行するか、及び、画像データからどのように高い信頼性で動作を決定するかに関する、コンピューティング・エンジニアリングの複雑な問題を提示する。
本発明の他の実施態様及び利点は、以下の図面、詳細な説明、及び特許請求の範囲を検討することによって理解することができる。
以下の説明は、当業者が本発明を作成し使用することを可能にするために提示され、特定の用途及びその要件に即して提供される。開示された実施態様に対する様々な修正は、当業者には容易に明らかであり、本明細書で定義される一般原則は、本発明の精神及び範囲から逸脱することなく、他の実施態様及び用途に適用され得る。従って、本発明は、示された実施態様に限定されることを意図するものではなく、本明細書に開示された原理及び特徴と一致する最も広い範囲が与えられるべきである。
[システム概要]
[システム概要]
図1〜図14を参照して、対象技術のシステム及び様々な実施態様を説明する。システム及び処理は、本実施態様によるシステムのアーキテクチャ・レベル概略図である図1を参照して説明される。図1は、アーキテクチャ図であるため、説明の明確性を向上させるために、特定の詳細は省略されている。
図1の説明は、以下のように編成される。最初に、システムの要素を説明し、次にそれらの相互接続を説明する。次に、システムにおける要素の使用についてより詳細に説明する。本明細書で説明する実施例では、例えばRGB色空間でカラー画像を出力する画像フレームを生成するセンサとして、カメラが使用される。開示される実施形態の全てにおいて、他の色空間で動作する画像センサ、赤外線画像センサ、UV画像センサ、超音波画像センサ、LIDARベースのセンサ、レーダ・ベースのセンサ等を含む、カメラとともにまたはカメラの代わりに使用可能な他のタイプのセンサまたは様々なタイプのセンサの組合せを使用して、画像フレームを生成することができる。
図1は、システム100のブロック図レベルの説明図を提供する。本システム100は、カメラ114、ネットワーク・ノードがホストする画像認識エンジン112a、112b及び112n、モバイル・コンピューティング・デバイス118a、118b、118m(まとめてモバイル・コンピューティング・デバイス120と呼ぶ)、ネットワーク上のネットワーク・ノード(または、ノード)104内に配置されたデジタル・レシート処理エンジン180、被写体追跡エンジンをホストするネットワーク・ノード102、被写体データベース140、在庫イベント・データベース150、商品のログまたはショッピングカート・データベース160、デジタル・レシート(アクショナブル・デジタル・レシートとも呼ばれる)データベース170、及び、1または複数の通信ネットワーク181を含む。ネットワーク・ノードは、1つの画像認識エンジンのみ、または、本明細書で説明されるように、複数の画像認識エンジンをホストすることができる。システムは、また、被写体(またはユーザ)アカウント・データベース、及び、他のサポート・データを含むことができる。
本明細書で使用されるように、ネットワーク・ノードは、ネットワークに接続され、通信チャネルを介して他のネットワーク・ノードとの間で情報を送信、受信、または転送することができる、アドレス可能なハードウェア・デバイスまたは仮想デバイスである。ハードウェア・ネットワーク・ノードとして配置することができる電子デバイスの例には、あらゆる種類のコンピュータ、ワークステーション、ラップトップ・コンピュータ、ハンドヘルド・コンピュータ、及びスマートフォンが含まれる。ネットワーク・ノードは、クラウドベースのサーバ・システムで実施することができる。ネットワーク・ノードとして構成された複数の仮想デバイスを、単一の物理デバイスを使用して実施することができる。
明確性のために、画像認識エンジンをホストする3つのネットワーク・ノードのみがシステム100に示されている。しかしながら、画像認識エンジンをホストする任意の数のネットワーク・ノードを、ネットワーク181を介して被写体追跡エンジン110に接続することができる。同様に、本明細書で説明するデジタル・レシート処理エンジン、被写体追跡エンジン、及び、他の処理エンジンは、分散アーキテクチャ内の複数のネットワーク・ノードを使用して実行することができる。
次に、システム100の要素の相互接続について説明する。ネットワーク181は、画像認識エンジン112a、112b、及び112nをそれぞれホストするネットワーク・ノード101a、101b、及び101n、デジタル・レシート処理エンジン180をホストするネットワーク・ノード104、被写体追跡エンジン110をホストするネットワーク・ノード102、被写体データベース140、在庫イベント・データベース150、商品のログ・データベース160、及び、アクショナブル・デジタル・レシート・データベース170を結合する。カメラ114は、画像認識エンジン112a、112b、及び112nをホストするネットワーク・ノードを介して被写体追跡エンジン110に接続される。一実施形態では、カメラ114がショッピングストア(スーパーマーケット等)に設置され、重なり合う視野を有するカメラ114のセット(2つ以上)が各通路の上に配置されて、店舗内の実空間の画像フレームを取得する。図1では、2つのカメラが通路116aの上に配置され、2つのカメラが通路116bの上に配置され、3つのカメラが通路116nの上に配置されている。カメラ114は、重なり合う視野を有する通路上に設置される。斯かる実施形態では、カメラは、ショッピングストアの通路内を移動する顧客がいつの時点でも2つ以上のカメラの視野内に存在することを目標として構成される。
カメラ114は、互いに時間的に同期させることができ、その結果、画像フレームは、同時にまたは時間的に近く、かつ同じ画像キャプチャレートで取得される。カメラ114は、画像認識エンジン112a〜112nをホストするネットワーク・ノードに、所定のレートでそれぞれの継続的な画像フレームのストリームを送ることができる。同時にまたは時間的に近くに、実空間のエリアをカバーする全てのカメラにおいて取得された画像フレームは、同期された画像フレームが実空間において固定された位置を有する被写体の異なる光景を表すものとして処理エンジンにおいて識別され得るという意味で、同期している。例えば、一実施形態では、カメラが、30フレーム/秒(fps)のレートで、画像認識エンジン112a〜112nをホストするそれぞれのネットワーク・ノードに画像フレームを送信する。各フレームは、画像データと共に、タイムスタンプ、カメラの識別情報(「カメラID」と略される)、及びフレーム識別情報(「フレームID」と略される)を有する。開示された技術の他の実施形態は、このデータを生成するために、カメラに代えて、イメージ・センサ、LIDARベースのセンサ等の様々なタイプのセンサを使用することができる。一実施形態では、カメラ114に追加して、複数タイプのセンサが使用され得る。複数のセンサは互いに時間的に同期され、その結果、フレームは、センサによって同時または時間的に近接して、同じフレーム・キャプチャレートで取得される。
通路上に設置されたカメラは、それぞれの画像認識エンジンに接続される。例えば、図1において、通路116a上に設置された2つのカメラは、画像認識エンジン112aをホストするネットワーク・ノード101aに接続される。同様に、通路116b上に設置された2つのカメラは、画像認識エンジン112bをホストするネットワーク・ノード101bに接続される。ネットワーク・ノード101a〜101n内でホストされる各画像認識エンジン112a〜112nは、図示の例ではそれぞれ1つのカメラから受信した画像フレームを別々に処理する。
一実施形態では、各画像認識エンジン112a、112b、及び112nは、畳み込みニューラル・ネットワーク(CNNと略す)などの深層学習アルゴリズムとして実装される。斯かる実施形態では、CNNがトレーニング・データベース150を使用してトレーニングされる。本明細書で説明される実施形態では、実空間内の被写体の画像認識が、画像フレーム内で認識可能な関節を識別しグループ化することに基づいており、関節のグループは個々の被写体に帰属することができる。この関節ベースの分析のために、トレーニング・データベース150は、被写体のための異なるタイプの関節の各々に対して膨大な画像を収集している。ショッピングストアの例示的な実施形態では、被写体は、棚の間の通路を移動する顧客である。例示的な実施形態では、CNNのトレーニング中に、システム100は「トレーニング・システム」と呼ばれる。トレーニング・データベース150を使用してCNNをトレーニングした後、CNNは、プロダクション・モードに切り替えられ、ショッピングストア内の顧客の画像をリアルタイムで処理する。
例示的な実施形態では、プロダクション中に、システム100はランタイム・システムと呼ばれる(推論システムとも呼ばれる)。それぞれの画像認識装置のCNNは、それぞれの画像ストリーム中の画像フレームに対して関節データ構造の配列を生成する。本明細書に記載される実施形態では、関節データ構造の配列が、各処理された画像フレームに対して生成されることで、各画像認識エンジン112a〜112nが、関節データ構造の配列の出力ストリームを生成する。重なり合う視野を有するカメラからの関節データ構造のこれらの配列は、関節のグループを形成し、斯かる関節のグループを被写体として識別するために、更に処理される。システムは、被写体が実空間のエリア内に存在している間、「被写体ID」等の被写体識別子を使用して被写体を識別及び追跡することができる。
被写体追跡エンジン110は、ネットワーク・ノード102上でホストされ、この例では、 画像認識エンジン112a〜112nから被写体の関節データ構造の配列の継続的なストリームを受信する。被写体追跡エンジン110は、関節データ構造の配列を処理し、様々なシーケンスの画像フレームに対応する関節データ構造の配列内の要素の座標を、実空間内の座標を有する候補関節に変換する。同期した画像フレームの各セットについて、実空間全体にわたって識別された候補関節の組み合わせは、類推目的のために、候補関節の銀河に似ていると考えることができる。後続の各時点において、銀河が経時的に変化するように、候補関節の動きが記録される。被写体追跡エンジン110は、ある時点での実空間のエリア内の被写体を識別する。
追跡エンジン110は、実空間内の座標を有する候補関節のグループまたはセットを、実空間内の被写体として識別するロジックを使用する。類推目的のために、候補点の各セットは、各時点における候補関節の星座(コンステレーション)に似ている。候補関節のコンステレーションは、時間とともに移動することができる。ある期間にわたる被写体追跡エンジン110の出力の時系列分析は、実空間のエリア内の被写体の動きを識別する。
例示的な実施形態では、候補関節のセットを識別するロジックが、実空間内の被写体の関節間の物理的関係に基づくヒューリスティック関数を含む。これらのヒューリスティック関数は、候補関節のセットを被写体として識別するために使用される。候補関節のセットは、他の個々の候補関節とのヒューリスティック・パラメータに基づく関係を有する個々の候補関節、及び、個々の被写体として識別された、または識別され得る特定され得る所与のセット内の候補関節のサブセットを含む。
ショッピングストアの例では、顧客(上記の被写体とも呼ばれる)が通路内及びオープンスペース内を移動する。顧客は、在庫陳列構造内の棚上の在庫位置から商品を取り出す。在庫陳列構造の一例では、棚はフロアから様々なレベル(または高さ)に配置され、在庫商品は棚上にストックされる。棚は、壁に固定されるか、または、ショッピングストア内の通路を形成する自立棚として配置され得る。在庫陳列構造の他の例には、ペグボード棚、マガジン棚、回転式棚、倉庫棚、及び、冷蔵棚ユニットが含まれる。在庫商品は、積み重ねワイヤバスケット、ダンプビン等の他のタイプの在庫陳列構造にストックすることもできる。また、顧客は商品を、それらが取り出された棚から同じ棚に、または別の棚に戻すこともできる。
開示される技術は、複数のカメラ内のカメラによって生成された画像フレームのシーケンスを使用して、ある期間にわたって実空間のエリア内で検出された被写体によるジェスチャを識別し、識別されたジェスチャを表すデータを含む在庫イベントを生成する。システムは、在庫イベントを在庫イベント・データベース150にエントリとして記憶するロジックを含む。在庫イベントは検出された被写体を識別する被写体識別子と、検出された被写体によって識別されたジェスチャのジェスチャ・タイプ(例えば、置くまたは取る)と、検出された被写体によるジェスチャにリンクされた在庫商品を識別する商品識別子と、実空間のエリアの3次元における位置によって表されるジェスチャの位置と、ジェスチャに対するタイムスタンプとを含む。在庫イベントは、被写体のイベントのログにエントリとして格納される。イベントのログには、個々の被写体にリンクされたイベントのエントリを含めることができる。在庫イベント・データは、在庫イベント・データベース150にエントリとして格納される。
一実施形態では、画像分析は匿名であり、すなわち、関節分析によって作成された被写体に割り当てられた固有識別子は実空間内の任意の特定の被写体の個人識別詳細を識別しない。例えば、顧客がショッピングストアに入ると、システムは上述のように関節分析を使用して顧客を識別し、「被写体ID」が割り当てられる。しかしながら、この識別子は、ユーザ・アカウント、名前、運転免許証、電子メールアドレス、郵送先住所、クレジットカード番号、銀行口座番号、運転免許証番号等のような被写体の実社会の識別情報、または、指紋、顔認識、手の幾何学的形状、網膜スキャン、虹彩スキャン、音声認識等のようなバイオメトリック識別情報にリンクされない。従って、識別された被写体は匿名である。被写体の識別及び追跡のための例示的技術の詳細は、2018年8月21日発行の米国特許第10,055,853号、「画像認識エンジンを用いた被写体の識別及び追跡」に示されており、これは、本明細書に完全に記載されているかのように、参照により本明細書に組み込まれる。被写体データベース140、在庫イベント・データベース150、商品のログまたはショッピングカート・データベース160、及びアクショナブル・デジタル・レシート・データベース170に格納されるデータは、個人識別情報を含まない。デジタル・レシート処理エンジン180及び被写体追跡エンジン110の動作は、被写体に関連するバイオメトリック情報を含むいかなる個人識別情報も使用しない。
[チェックイン用マッチング・エンジン]
[チェックイン用マッチング・エンジン]
システムは、実空間のエリア内でクライアント・アプリケーションを実行しているモバイル・デバイス(識別された被写体によって携行される)の位置を識別することによって、識別された被写体をそれぞれのユーザ・アカウントとマッチングさせるロジックを含むマッチング・エンジンを含むことができる。識別された被写体とそれぞれのユーザ・アカウントとのマッチングは、「チェックイン」とも呼ばれる。一実施形態では、マッチング・エンジンが識別された被写体をユーザ・アカウントとマッチングさせるために、複数の手法を、独立してまたは組み合わせて使用する。このシステムは、ユーザに関するバイオメトリック識別情報を維持することなく実施可能であり、それにより、アカウント保持者に関するバイオメトリック識別情報は、そのような情報の配布によって引き起こされるセキュリティ及びプライバシーの懸念に晒されない。
一実施形態では、顧客がショッピングストアに入ると、パーソナル・モバイル・コンピューティング・デバイス上で実行されるクライアント・アプリケーションを使用してシステムにログインし、モバイル・デバイス上のクライアント・アプリケーションに関連付けられる真正なユーザ・アカウントを識別する。次に、システムは、画像データベース(図1には不図示)内の未割り当てセマフォ画像のセットから選択された「セマフォ」画像を、モバイル・デバイス上で実行されているクライアント・アプリケーションに送る。セマフォ画像は、同じ画像が、システムがユーザ・アカウントを識別された被写体とマッチングさせるまで、店舗内の別のクライアント・アプリケーションで使用するために開放されないため、ショッピングストア内のクライアント・アプリケーションに固有である。そのマッチング後は、セマフォ画像は再び使用可能になる。クライアント・アプリケーションは、モバイル・デバイスにセマフォ画像を表示させ、セマフォ画像の表示は、システムによって検出されるモバイル・デバイスによって発せられる信号である。マッチング・エンジンは、画像認識エンジン112a−nまたは別個の画像認識エンジン(図1には不図示)を用いて、セマフォア画像を認識し、ショッピングストア内での該セマフォアを表示するモバイル・コンピューティング・デバイスの位置を決定する。マッチング・エンジンは、モバイル・コンピューティング・デバイスの位置を、識別された被写体の位置にマッチングさせる。次に、マッチング・エンジンは、識別された被写体(被写体データベース140に記憶されている)を、その被写体がショッピングストア内に存在する間、クライアント・アプリケーションにリンクされたユーザ・アカウント(ユーザ・アカウント・データベースに記憶されている)にリンクする。識別された被写体とユーザ・アカウントとのマッチングには、バイオメトリック識別情報は使用されず、この処理のサポートには何も記憶されない。すなわち、この処理のサポートにおいて識別された被写体をユーザ・アカウントとマッチングさせる目的で、記憶されたバイオメトリック情報と比較するために使用される画像シーケンス内の情報はない。
他の実施形態では、マッチング・エンジンが、識別された被写体をユーザ・アカウントにリンクするために、モバイル・コンピューティング・デバイス120からの他の信号を、代替手段としてまたは組み合わせて使用する。斯かる信号の例には、実空間のエリア内のモバイル・コンピューティング・デバイスの位置、モバイル・コンピューティング・デバイスの加速度計及びコンパスから得られるモバイル・コンピューティング・デバイスの速度及び方向を識別するサービス位置信号が含まれる。
幾つかの実施形態では、アカウント保有者に関する如何なるバイオメトリック情報も維持しない実施形態が提供されるが、システムは、バイオメトリック情報を使用して、未だリンクされていない識別された被写体をユーザ・アカウントにマッチングさせるのを支援することができる。例えば、一実施形態では、システムが、顧客の「毛髪の色」をユーザ・アカウント・レコードに記憶する。マッチング処理中に、システムは例えば、被写体の毛髪の色を追加の入力として使用して、被写体の曖昧さを解消し、被写体をユーザ・アカウントにマッチングさせることができる。ユーザが赤色の毛髪を有し、実空間のエリア内またはモバイル・コンピューティング・デバイスの近傍に赤色の毛髪を有する被写体が1つしかない場合、システムは、ユーザ・アカウントにマッチングするように赤色の毛髪を有する被写体を選択することができる。被写体及びそのユーザ・アカウントをマッチングさせるための例示的な技術の詳細は、2019年1月23日出願の米国特許出願第16/255,573号、「レジ無し店舗で買い物客をチェックインさせるシステム及び方法」に示されており、これは、本明細書に完全に記載されているかのように、参照により本明細書に組み込まれる。
ネットワーク181を介した、在庫イベント位置処理エンジン180をホストするネットワーク・ノード104、及び、在庫イベント・シーケンシング・エンジン190をホストするネットワーク・ノード106への実際の通信経路は、公衆ネットワーク及び/またはプライベート・ネットワーク上のポイント・ツー・ポイントとすることができる。通信は、プライベート・ネットワーク、VPN、MPLS回路、またはインターネット等の様々なネットワーク181を介して行うことができ、適切なアプリケーション・プログラミング・インターフェース(API)及びデータ交換フォーマット、例えば、REST(Representational State Transfer)、JSON(JavaScript(商標)Object Notation)、XML(Extensible Markup Language)、SOAP(Simple Object Access Protocol)、JMS(Java(商標)Message Service)、及び/またはJavaプラットフォーム・モジュール・システム等を使用することができる。全ての通信は、暗号化することができる。通信は、一般に、EDGE、3G、4GLTE、Wi−Fi、及びWiMAX等のプロトコルを介して、LAN(ローカル・エリア・ネットワーク)、WAN(ワイド・エリア・ネットワーク)、電話ネットワーク(公衆交換電話網(PSTN))、セッション開始プロトコル(SIP)、無線ネットワーク、ポイント・ツー・ポイント・ネットワーク、星型ネットワーク,トークンリング型ネットワーク,ハブ型ネットワーク、インターネット(モバイルインターネットを含む)等のネットワーク上で行われる。更に、ユーザ名/パスワード、オープン許可(OAuth)、Kerberos、SecureID、デジタル証明書などの様々な承認及び認証技術を使用して、通信を保護することができる。
本明細書に開示される技術は、データベース・システム、マルチテナント環境、または、Oracle(商標)と互換性のあるデータベース実施態様、IBM DB2 Enterprise Server(商標)と互換性のあるリレーショナル・データベース実施態様、MySQL(商標)またはPostgreSQL(商標)と互換性のあるリレーショナル・データベース実施態様またはMicrosoft SQL Server(商標)と互換性のあるリレーショナル・データベース実施態様等のリレーショナル・データベース実施態様、または、Vampire(商標)と互換性のある非リレーショナル・データベース実施態様、Apache Cassandra(商標)と互換性のある非リレーショナル・データベース実施態様、 BigTable(商標)と互換性のある非リレーショナル・データベース実施態様、またはHBase(商標)またはDynamoDB(商標)と互換性のある非リレーショナル・データベース実施態様、等のNoSQL(商標)の非リレーショナル・データベース実施態様を含む何かのコンピュータ実装システムという状況下で実施され得る。更に、開示された技術は、MapReduce(商標)、バルク同期プログラミング、MPIプリミティブ等の様々なプログラミングモデル、または、Apache Storm(商標)、Apache Spark(商標)、Apache Kafka(商標)、Apache Flink(商標)、Truviso(商標)、Amazon Elasticsearch Service(商標)、Amazon Web Services(AWS)(商標)、IBM Info‐Sphere(商標)、Borealis(商標)、及びYahoo! S4(商標)等の様々なスケーラブルなバッチ及びストリーム管理システムを使用して実施され得る。
[カメラ配置]
[カメラ配置]
カメラ114は、3次元(3Dと略される)実空間において多関節被写体(または存在物)を追跡するように配置される。ショッピングストアの例示的な実施形態では、実空間は、販売用の商品が棚に積み重ねられるショッピングストアのエリアを含むことができる。実空間内の点は、(x,y,z)座標系で表すことができる。システムが適用される実空間のエリア内の各点は、2つ以上のカメラ114の視野によってカバーされる。
ショッピングストアでは、棚及び他の在庫陳列構造は、ショッピングストアの側壁に沿って、または通路を形成する列に、または2つの構成の組合せでなど、様々な方法で配置することができる。図2Aは、通路116aの一端から見た、通路116aを形成する棚の配置を示す。2つのカメラ、カメラA 206及びカメラB 208は、棚等の在庫陳列構造の上のショッピングストアの天井230及びフロア220から所定の距離で通路116aの上に配置される。カメラ114は、実空間内の在庫陳列構造及びフロアエリアのそれぞれの部分を包含する視野を有し、その上に配置されたカメラを備える。被写体として識別された候補関節のセットのメンバーの実空間内の座標は、フロアエリア内の被写体の位置を識別する。図2Aでは、被写体240が、モバイル・コンピューティング・デバイス118aを持って、通路116a内のフロア220上に立っている。モバイル・コンピューティング・デバイスは、ワイヤレス・ネットワーク181を介して、信号を送受信できる。一実施例では、モバイル・コンピューティング・デバイス120は、例えば、ワイヤレス・アクセス・ポイント(WAP)250及び252を介して、Wi−Fiプロトコル、または、Bluetooth、超広帯域無線、ZigBee等の他のプロトコルを用いて、ワイヤレス・ネットワークを介して通信する。
ショッピングストアの例示的な実施形態では、実空間は、在庫にアクセス可能なショッピングストア内のフロア220の全てを含むことができる。カメラ114は、フロア220及び棚のエリアが少なくとも2つのカメラによって見えるように配置され、配向される。カメラ114は、また、少なくとも棚202及び204の一部と棚202及び204の前のフロアスペースとを覆う。カメラの角度は急峻な視点、真っ直ぐな視点及び角度の付いた視点の両方を有するように選択され、これにより、顧客のより完全な身体画像が得られる。一実施形態では、カメラ114が、ショッピングストア全体を通して、8フィート高さ以上で構成される。図13に、斯かる実施形態の説明図を示す。
図2Aでは、カメラ206及び208が重なり合う視野を有し、それぞれ重なり合う視野216及び218で棚A 202と棚B 204との間の空間をカバーする実空間内の位置は、実空間座標系の(x,y,z)点として表される。「x」及び「y」は、ショッピングストアのフロア220とすることができる2次元(2D)平面上の位置を表し、値「z」は、1つの構成ではフロア220における2Dプレーン上の点の高さである。
図2Bは、図2Aの上から見た通路116aを示し、通路116a上のカメラ206及び208の位置の例示的な配置を更に示す。カメラ206及び208は、通路116aの両端の近くに配置される。カメラA 206は棚A 202から所定の距離に配置され、カメラB 208は棚B 204から所定の距離に配置される。3つ以上のカメラが通路上に配置される別の実施形態では、カメラは互いに等しい距離に配置される。このような実施形態では、2つのカメラが両端の近くに配置され、第3のカメラが通路の中央に配置される。多数の異なるカメラ配置が可能であることが理解される。
図3において、被写体240は在庫陳列構造の棚ユニットB 204の傍に立っており、片手は、棚ユニットB 204内の棚(目に見えない)の近くに位置している。図3は、フロアから異なる高さに配置された4つの棚、棚1、棚2、棚3、及び棚4を備えた棚ユニットB 204の斜視図である。在庫商品はこれらの棚にストックされる。
[3次元シーン生成]
[3次元シーン生成]
実空間内の位置は、実空間座標系の(x,y,z)点として表される。「x」及び「y」は、ショッピングストアのフロア220とすることができる2次元(2D)平面上の位置を表し、値「z」は、1つの構成ではフロア220における2Dプレーン上の点の高さである。システムは、2つ以上のカメラからの2D画像フレームを組み合わせて、実空間のエリア内における関節及び在庫イベント(商品を棚へ置く及び棚から商品を取ることを示している)の3次元位置を生成する。本項では、関節及び在庫イベントの3D座標を生成するための処理を説明する。該処理は、3Dシーン生成の一例である。
在庫商品を追跡するために訓練または推論モードでシステム100を使用する前に、2つのタイプのカメラ較正、すなわち、内部較正と外部較正が実行される。内部較正では、カメラ114の内部パラメータが較正される。内部カメラ・パラメータの例には、焦点距離、主点、スキュー、魚眼係数等がある。内部カメラ較正のための種々の技術を使用することができる。斯かる技術の1つは、Zhangによって、2000年11月の第22巻第11号、パターン解析と機械知能に関するIEEEトランザクションで発表された「カメラ較正のためのフレキシブルな新手法」において提示されている。
外部較正では、外部カメラ・パラメータが、2D画像データを実空間の3D座標に変換するためのマッピング・パラメータを生成するために較正される。一実施形態では、人物などの1つの多関節被写体が実空間に導入される。多関節被写体は、各カメラ114の視野を通過する経路上で実空間を移動する。実空間内の任意の所与の点において、多関節被写体は、3Dシーンを形成する少なくとも2つのカメラの視野内に存在する。しかしながら、2つのカメラは、それぞれの2次元(2D)画像平面において同じ3Dシーンの異なるビューを有する。多関節被写体の左手首などの3Dシーン内の特徴は、それぞれの2D画像平面内の異なる位置にある2つのカメラによって見られる。
点対応は、所与のシーンについて重複する視野を有する全てのカメラ・ペアの間で確立される。各カメラは同じ3Dシーンの異なる視野を有するので、点対応は3Dシーンにおける同じ点の投影を表す2つのピクセル位置(重なり合う視野を有する各カメラからの1つの位置)である。外部較正のために、画像認識エンジン112a〜112nの結果を使用して、各3Dシーンについて多くの点対応が識別される。画像認識エンジンは関節の位置を、それぞれのカメラ114の2D画像平面内のピクセルの(x,y)座標、例えば、行及び列番号として識別する。一実施形態では、関節は、多関節被写体の19の異なるタイプの関節のうちの1つである。多関節被写体が異なるカメラの視野を通って移動するとき、追跡エンジン110は、較正に使用される多関節被写体の19の異なるタイプの関節の各(x,y)座標を、画像毎にカメラ114から受け取る。
例えば、カメラAからの画像と、カメラBからの画像との両方が同じ時点に、重なり合う視野で撮影された場合を考える。カメラAからの画像には、カメラBからの同期画像のピクセルに対応するピクセルがあり、カメラAとカメラBの両方の視野内の或る物体または表面の特定の点があり、その点が両方の画像フレームのピクセルに取り込まれていると考える。外部カメラ較正では、多数のそのような点が識別され、対応点と呼ばれる。較正中にカメラA及びカメラBの視野内に1つの多関節被写体があるので、この多関節被写体の主要な関節、例えば左手首の中心が識別される。これらの主要な関節がカメラA及びカメラBの両方からの画像フレーム内に見える場合、これらは対応点を表すと仮定される。この処理は、多くの画像フレームについて繰り返され、重なり合う視野を有する全てのカメラ・ペアについて対応点の大きな集合を構築する。一実施形態では、画像フレームが30 FPS(フレーム/秒)以上のレートで、フルRGB(赤、緑、及び青)カラーで720ピクセルの解像度で、全てのカメラからストリーミングされる。これらの画像フレームは、一次元配列(フラット配列とも呼ばれる)の形態である。
多関節被写体について上記で収集された多数の画像フレームを使用して、重なり合う視野を有するカメラ間の対応点を決定することができる。重なり合う視野を有する2つのカメラA及びBを考える。カメラA、Bのカメラ中心と3Dシーンの関節位置(特徴点ともいう)を通る平面を「エピポーラ平面」と呼び、エピポーラ平面とカメラA、Bの2D画像平面との交差箇所を「エピポーラ線」と定義する。これらの対応点が与えられると、カメラAからの対応点を、カメラBの画像フレーム内の対応点と交差することが保証されるカメラBの視野内のエピポーラ線に正確にマッピングすることができる変換が決定される。多関節被写体について上記で収集された画像フレームを使用して、変換が生成される。この変換は非線形であることが当技術分野で知られている。更に、一般形態では、投影された空間へ及び投影された空間から移動する非線形座標変換と同様に、それぞれのカメラのレンズの半径方向の歪み補正が必要であることが知られている。外部カメラ較正では、理想的な非線形変換への近似が非線形最適化問題を解くことによって決定される。この非線形最適化機能は、重なり合う視野を有するカメラ114の画像フレームを処理する様々な画像認識エンジン112a〜112nの出力(関節データ構造の配列)内の同じ関節を識別するために、被写体追跡エンジン110によって使用される。内部カメラ較正及び外部カメラ較正の結果は、較正データベースに格納される。
実空間におけるカメラ114の画像フレーム内の点の相対位置を決定するための様々な手法を使用することができる。例えば、Longuet−Higginsが、「A computer algorithm for reconstructing a scene from two projections」(Nature、第293巻、1981年9月10日)を公表している。本論文では、2つの投影間の空間的関係が未知であるとき、遠近投影の相関ペアからシーンの3次元構造を計算することが提示されている。Longuet−Higginsの論文は、実空間での各カメラの他のカメラに対する位置を決定する手法を提示する。更に、その手法は、実空間における多関節被写体の三角測量を可能にし、重なり合う視野を有するカメラ114からの画像フレームを使用してz座標の値(フロアからの高さ)を識別する。実空間の任意の点、例えば、実空間の一角の棚ユニットの端を、実空間の(x,y,z)座標系上の(0,0,0)点とする。
本技術の一実施形態では、外部較正のパラメータが2つのデータ構造に格納される。第1のデータ構造は、固有パラメータを格納する。固有パラメータは、3D座標から2D画像座標への射影変換を表す。第1のデータ構造は以下に示すように、カメラ毎の固有パラメータを含む。データ値は全て浮動小数点数値である。このデータ構造は、「K」及び歪み係数として表される3×3固有行列を格納する。歪み係数は、6つの半径方向歪み係数と2つの接線方向歪み係数とを含む。半径方向の歪みは、光線がその光学的中心よりも、レンズの縁部の近傍でより大きく屈曲するときに生じる。接線方向の歪みは、レンズと像平面が平行でないときに生じる。以下のデータ構造は、第1のカメラのみの値を示す。同様のデータが全てのカメラ114に対して記憶される。
{
1: {
K: [[x, x, x], [x, x, x], [x, x, x]],
distortion _coefficients: [x, x, x, x, x, x, x, x]
},
......
}
{
1: {
K: [[x, x, x], [x, x, x], [x, x, x]],
distortion _coefficients: [x, x, x, x, x, x, x, x]
},
......
}
第2のデータ構造は、カメラ・ペア毎に、3×3基本行列(F)、3×3必須行列(E)、3×4投影行列(P)、3×3回転行列(R)、及び3×1平行移動ベクトル(t)を記憶する。このデータは、1つのカメラの基準フレーム内の点を別のカメラの基準フレームに変換するために使用される。カメラの各ペアについて、1つのカメラから別のカメラへフロア220の平面をマッピングするために、8つのホモグラフィ係数も記憶される。基本行列は、同じシーンの2つの画像フレーム間の関係であり、シーンからの点の投影が両方の画像フレームにおいて起こり得る場所を制約する。必須行列は、カメラが較正されている状態での、同じシーンの2つの画像フレーム間の関係でもある。投影行列は、3D実空間から部分空間へのベクトル空間投影を与える。回転行列は、ユークリッド空間における回転を実行するために使用される。平行移動ベクトル「t」は、図形または空間の全ての点を所与の方向に同じ距離だけ移動させる幾何学的変形を表す。ホモグラフィ・フロア係数は、重なり合う視野を有するカメラによって見られるフロア220上の被写体の特徴の画像フレームを結合するために使用される。第2のデータ構造を以下に示す。同様のデータが、全てのカメラ・ペアについて記憶される。前述のように、xは浮動小数点数値を表す。
{
1: {
2: {
F: [[x, x, x], [x, x, x], [x, x, x]],
E: [[x, x, x], [x, x, x], [x, x, x]],
P: [[x, x, x, x], [x, x, x, x], [x, x, x, x]],
R: [[x, x, x], [x, x, x], [x, x, x]],
t: [x, x, x],
homography_floor_coefficients: [x, x, x, x, x, x, x, x]
}
},
.......
}
[2次元マップ及び3次元マップ]
{
1: {
2: {
F: [[x, x, x], [x, x, x], [x, x, x]],
E: [[x, x, x], [x, x, x], [x, x, x]],
P: [[x, x, x, x], [x, x, x, x], [x, x, x, x]],
R: [[x, x, x], [x, x, x], [x, x, x]],
t: [x, x, x],
homography_floor_coefficients: [x, x, x, x, x, x, x, x]
}
},
.......
}
[2次元マップ及び3次元マップ]
ショッピングストア内の棚等の在庫位置は、固有識別子(例えば、棚ID)によって識別することができる。同様に、ショッピングストアは、固有識別子(例えば、店舗ID)によって識別することができる。システムは、それぞれの座標に沿った実空間のエリア内の在庫位置を識別する2次元(2D)及び3次元(3D)マップ・データベースを含むことができる。例えば、2Dマップでは、マップ内の位置が、図3に示されるように、フロア220に垂直に形成された平面、すなわちXZ平面上の2次元領域を規定する。マップは、在庫商品が配置される在庫位置のエリアを規定する。図3において、棚ユニットB 204内の棚1の2Dビューは、棚1の4隅を示す4つの座標位置(x1,z1)、(x1,z2)、(x2,z2)、及び(x2,z1)によって形成されるエリアを示し、これらの座標位置が、在庫商品が棚1上に配置される2D領域を規定する。同様の2D領域が、ショッピングストア内の全ての棚ユニット(または他の在庫陳列構造)内の全ての在庫位置に対して規定される。この情報は、マップ・データベース140に記憶される。
3Dマップでは、マップ内の位置が、X、Y、及びZ座標によって定義される3D実空間内の3次元領域を規定する。マップは、在庫商品が配置される在庫位置の容積を規定する。棚ユニットB 204内の棚1の3Dビューは、該容積の8隅に対応する8つの座標位置(x1,y1,z1)、(x1,y1,z2)、(x1,y2,z1)、(x1,y2,z2)、(x2,y1,z1)、(x2,y1,z2)、(x2,y2,z1)、(x2,y2,z2)によって形成される容積を示す。これらの座標位置は、在庫商品が棚1上に配置される3D領域を規定する。同様の3D領域が、ショッピングストア内の全ての棚ユニット内の在庫位置について規定され、マップ・データベース内に実空間(ショッピングストア)の3Dマップとして格納される。3つの軸に沿った座標位置を使用して、在庫位置の長さ、深さ、及び高さを計算することができる。
一実施形態では、マップが、実空間のエリア内の在庫陳列構造上の在庫位置の部分と相関する容積のユニットの構成を識別する。各部分は、実空間の3つの軸に沿った開始位置及び終了位置によって規定される。在庫位置の部分の同様の構成は、陳列構造の前面図を分割する2Dマップ在庫位置を使用して生成することもできる。
ショッピングストア内の商品は、特定の商品が配置されることが計画されている(棚等の)在庫位置を識別するプラノグラムに従って配置される。例えば、図3の例示360に示すように、棚3及び棚4の左半分は、商品(缶の形状でストックされている)に指定されている。一日の始めまたは他の在庫追跡間隔(時間t=0によって識別される)で、プラノグラムに従って在庫位置がストックされると考える。
開示される技術は、実空間のエリア内の在庫商品の位置のリアルタイム・マップである任意の時間「t」におけるショッピングストアの「リアログラム」を計算することができ、これは、幾つかの実施形態では更に、店舗内の在庫位置と相関させることができる。リアログラムは、在庫商品及び店舗内の位置を識別し、それらを在庫位置にマッピングすることによって、プラノグラムを作成するために使用することができる。一実施形態では、システムまたは方法が実空間のエリア内に座標を有する複数のセルを規定するデータセットを作成することができる。システムまたは方法は、実空間の座標に沿ったセルの長さを入力パラメータとして使用して、実空間を複数のセルを規定するデータセットに分割することができる。一実施形態では、セルは、実空間のエリア内に座標を有する2次元グリッドとして表される。例えば、セルは、棚ユニット(在庫陳列構造とも呼ばれる)における在庫位置の前面図の2Dグリッド(例えば、1フィート間隔で)と相関することができる。各グリッドは、x座標やz座標のような2次元平面の座標上で、その開始位置と終了位置によって規定される。この情報は、マップ・データベースに記憶される。
別の実施形態では、セルが実空間のエリア内に座標を有する3次元(3D)グリッドとして表される。一例では、セルは、ショッピングストア内の棚ユニットの在庫位置(または在庫位置の一部)上の容積と相関することができる。この実施形態では、実空間のマップが、実空間のエリア内の在庫陳列構造上の在庫位置の部分と相関することができる容量の単位の構成を識別する。この情報は、マップ・データベースに記憶される。ショッピングストアのリアログラムは、在庫イベント・データベース150に記憶された在庫イベントのタイムスタンプを使用することによって、任意の時間tにおいて、それらの位置によってセルにマッチングされた在庫イベントに関連付けられた在庫商品を示す。在庫イベントは、商品識別子、置くまたは取るインジケータ、実空間のエリアの3つの軸に沿った位置によって表される在庫イベントの位置、及び、タイムスタンプを含む。
[関節データ構造]
[関節データ構造]
画像認識エンジン112a〜112nは、カメラ114からの画像フレームのシーケンスを受け取り、画像フレームを処理して、関節データ構造の対応する配列を生成する。システムは、複数のカメラによって生成された画像フレームのシーケンスを使用して、実空間のエリア内の複数の被写体(またはショッピングストア内の顧客)の位置を追跡する処理ロジックを含む。一実施形態では、画像認識エンジン112a〜112nが、在庫商品を取っているまたは置いている可能性のあるエリア内の被写体を識別するために使用可能な画像の各要素における被写体の19個の可能な関節の内の1つを識別する。可能な関節は、足関節と非足関節の2つのカテゴリに分類することができる。関節分類の19番目のタイプは、被写体の全ての非関節特徴(すなわち、関節として分類されない画像の要素)に対するものである。他の実施形態では、画像認識エンジンが特に手の位置を識別するように構成されてもよい。また、ユーザ・チェックイン手順またはバイオメトリック識別処理等の他の技法を、被写体を識別し、被写体が店舗内を移動する際に被写体の手の検出された位置と被写体をリンクさせる目的のために展開することができる。
足関節:
足首関節(左右)
非足関節:
首
鼻
眼(左右)
耳(左右)
肩(左右)
肘(左右)
手首(左右)
尻(左右)
膝(左右)
非関節
足関節:
足首関節(左右)
非足関節:
首
鼻
眼(左右)
耳(左右)
肩(左右)
肘(左右)
手首(左右)
尻(左右)
膝(左右)
非関節
特定の画像の関節データ構造の配列は、関節タイプ、特定の画像の時間、及び特定の画像内の要素の座標によって、特定の画像の要素を分類する。一実施形態では画像認識エンジン112a〜112nが畳み込みニューラル・ネットワーク(CNN)であり、関節タイプは被写体の19種類の関節のうちの1つ、特定の画像の時間は特定の画像についてソースカメラ114によって生成された画像のタイムスタンプであり、座標(x,y)は2D画像平面上の要素の位置を特定する。
CNNの出力は、カメラ当たりの各画像に対する信頼度配列の行列である。信頼度配列の行列は、関節データ構造の配列に変換される。図4に示すような関節データ構造400は、各関節の情報を記憶するために使用される。関節データ構造600は、画像が受信されるカメラの2D画像空間内の特定の画像内の要素のx位置及びy位置を識別する。関節番号は、識別された関節のタイプを識別する。例えば、一実施形態では、値は1〜19の範囲である。値1は関節が左足首であることを示し、値2は関節が右足首であることを示し、以下同様である。関節のタイプは、CNNの出力行列内のその要素に対する信頼度配列を使用して選択される。例えば、一実施形態では、左足首関節に対応する値がその画像要素の信頼度配列において最も高い場合、関節番号の値は「1」である。
信頼度数は、その関節を予測する際のCNNの信頼度の程度を示す。信頼度数の値が高ければ、CNNは自身の予想に確信していることになる。関節データ構造を一意に識別するために、関節データ構造に整数IDが割り当てられる。上記マッピングに続いて、画像毎の信頼度配列の出力行列540は、画像毎の関節データ構造の配列に変換される。一実施形態では、関節分析が、各入力画像に対して、k最近傍、ガウス混合、及び、様々な画像形態変換の組み合わせを実行することを含む。この結果は、各時点において画像数をビットマスクにマッピングするリング・バッファ内にビットマスクの形式で格納することができる関節データ構造の配列を含む。
[被写体追跡エンジン]
[被写体追跡エンジン]
追跡エンジン110は、重なり合う視野を有するカメラからの画像フレームのシーケンス内の画像フレームに対応する、画像認識エンジン112a〜112nによって生成された関節データ構造の配列を受信するように構成される。画像当たりの関節データ構造の配列は、画像認識エンジン112a〜112nによってネットワーク181を介して追跡エンジン110に送られる。追跡エンジン110は、様々な画像フレームのシーケンスに対応する関節データ構造の配列内の要素の座標を、実空間内の座標を有する候補関節に変換する。実空間内の位置は、2つ以上のカメラの視野によってカバーされている。追跡エンジン110は、実空間における座標(関節のコンステレーション)を有する候補関節のセットを、実空間における被写体として検出するためのロジックを備える。一実施形態では、追跡エンジン110が、所与の時点における全てのカメラについて、画像認識エンジンからの関節データ構造の配列を蓄積し、候補関節のコンステレーションを識別するために使用されるように、この情報を辞書として被写体データベース140に格納する。辞書は、キー値ペアの形式で編成することができ、ここで、キーはカメラIDであり、値はカメラからの関節データ構造の配列である。斯かる実施形態では、この辞書が候補関節を決定し、関節を被写体に割り当てるために、ヒューリスティックス・ベースの分析で使用される。斯かる実施形態では、追跡エンジン110の高レベル入力、処理、及び出力が表1に示されている。候補関節を組み合わせて被写体を検出し、実空間のエリア内の被写体の動きを追跡する被写体追跡エンジン110によって適用されるロジックの詳細は、2018年8月21日発行の米国特許第10,055,853号、「画像認識エンジンを用いた被写体の認識及び追跡」に示されており、これは、参照により本明細書に組み込まれる。検出された被写体は、実空間内の被写体の存在する至る所において被写体を追跡する固有識別子(被写体ID等)に割り当てられる。
表1:例示的な実施形態における被写体追跡エンジン110からの入力、処理、及び出力
[被写体データ構造]
表1:例示的な実施形態における被写体追跡エンジン110からの入力、処理、及び出力
[被写体データ構造]
被写体追跡エンジン110は、ヒューリスティックを用いて、画像認識エンジン112a〜112によって識別された被写体の関節を接続する。その際、被写体追跡エンジン110は、新しい被写体を検出し、それぞれの関節位置を更新することによって識別された被写体(以前に検出されている)の位置を更新する。被写体追跡エンジン110は、三角測量技法を用いて、関節位置を2D空間座標(x,y)から3D実空間座標(x,y,z)へ投影する。図5は、被写体を格納するための被写体データ構造500を示す。該データ構造500は、被写体関連データをキー値辞書として格納する。キーはフレームIDであり、値は別のキー値辞書であり、ここでは、キーはカメラIDであり、値は(被写体の)18個の関節と実空間内のそれらの位置のリストである。被写体データは、被写体データベースに格納される。新しい被写体毎に、被写体データベース内の被写体のデータにアクセスするために使用される固有識別子も割り当てられる。
一実施形態では、システムが被写体の関節を識別し、被写体の骨格を作成する。骨格は、実空間に投影され、実空間における被写体の位置及び向きを示す。これは、マシンビジョンの分野では「姿勢推定」とも呼ばれる。一実施形態では、システムがグラフィカル・ユーザ・インタフェース(GUI)上に実空間内の被写体の向き及び位置を表示する。一実施形態では、被写体識別及び画像分析は匿名であり、すなわち、関節分析によって作成された被写体に割り当てられた固有識別子は、上述したように、被写体の個人識別情報を識別しない。
この実施形態では、関節データ構造の時系列分析によって生成された、識別された被写体の関節のコンステレーションを使用して、被写体の手の位置を見つけることができる。例えば、手首関節単独の位置、または手首関節と肘関節との組み合わせの投影に基づく位置を使用して、識別された被写体の手の位置を識別することができる。
[在庫イベント]
[在庫イベント]
図6は、実空間のエリア内の被写体による変化を追跡するためのシステムを実施するサブシステム・コンポーネントを示す。システムは、実空間における対応する視野のそれぞれの画像フレームのシーケンスを生成する複数のカメラ114を備える。各カメラの視野は上述したように、複数のカメラの内の少なくとも1つの他のカメラの視野と重なる。一実施形態では、複数のカメラ114によって生成された画像フレームに対応する画像フレームのシーケンスが循環バッファ602(リング・バッファとも呼ばれる)に格納される。各画像フレームは、画像データと共に、タイムスタンプ、カメラの識別情報(「カメラID」と略される)、及びフレーム識別情報(「フレームID」と略される)を有する。循環バッファ602は、それぞれのカメラ114からの連続的にタイムスタンプされた画像フレームのセットを格納する。一実施形態では、カメラ114が同期された画像シーケンスを生成するように構成される。一実施形態では、個別の循環バッファがカメラ114毎の画像フレームを格納する。
第1の画像プロセッサ604(被写体識別サブシステムとも呼ばれる)は、複数のカメラ114から対応する画像フレームのシーケンスを受信する第1の画像認識エンジン(被写体画像認識エンジンとも呼ばれる)を含む。被写体画像認識エンジンは、画像フレームを処理して、実空間における画像フレームの、対応するシーケンス内の画像フレームに表される被写体と被写体の位置とを識別する第1データセットを生成する。一実施形態では、被写体画像認識エンジンが関節CNN112a〜112nと呼ばれる畳み込みニューラル・ネットワーク(CNN)として実装される。単一の被写体の関節は、それぞれの画像チャネル内の複数のカメラの画像フレーム内に現れ得る。重なり合う視野を有するカメラに対応する関節CNN112a〜112nの出力は、各カメラの2D画像座標から実空間の3D座標に関節の位置をマッピングするために組み合わされる。jが1〜xに等しい被写体(j)毎の関節データ構造400は、各画像について実空間及び2D空間における被写体(j)の関節の位置を識別する。関節データ構造400の幾つかの詳細を図4に示す。システムはまた、上述した3次元シーン生成を適用することにより、実空間のエリアの3D座標における被写体の関節の位置を決定することができる。その結果得られた被写体の関節の3D位置は、図5に示される被写体データ構造500内に格納される。
第2の画像プロセッサ606(領域提案サブシステムとも呼ばれる)は、画像フレームのシーケンスから画像フレームを受信する第2の画像認識エンジン(前景画像認識エンジンとも呼ばれる)を含む。第2の画像プロセッサは、対応する画像シーケンス内の画像フレームに表される前景変化を識別且つ分類するロジックを含む。第2の画像プロセッサ606は、(被写体を識別する)第1データセットを処理して、画像フレームのシーケンス内の画像フレーム内の識別された被写体の手の画像を含む有界ボックスを指定するロジックを含む。図6に示すように、サブシステム606は、有界ボックス生成器608、WhatCNN610、及びWhenCNN612を含む。循環バッファ602からのカメラ当たりの関節データ構造400及び画像フレームは、有界ボックス生成器608への入力として与えられる。有界ボックス生成器608は、データセットを処理して、画像フレームのシーケンス内の画像フレーム内の識別された被写体の手の画像を含む有界ボックスを指定するロジックを実装する。有界ボックス生成器は、例えば、それぞれのソース画像フレームに対応する多関節被写体データ構造500内の手首関節(それぞれの手に対する)と肘関節の位置を使用して、カメラ毎に各ソース画像フレーム内の手の位置を識別する。被写体データ構造内の関節の座標が3D実空間座標内の関節の位置を示す一実施形態では、有界ボックス生成器が、関節位置を3D実空間座標からそれぞれのソース画像の画像フレーム内の2D画像座標にマッピングする。
有界ボックス生成器は、カメラ114毎に循環バッファ内の画像フレーム内の手のための有界ボックスを作成する。一実施形態では、有界ボックスが、画像フレームの128ピクセル(幅)×128ピクセル(高さ)部分であり、手は有界ボックスの中心に位置する。他の実施形態では、有界ボックスのサイズが64ピクセル×64ピクセルまたは32ピクセル×32ピクセルである。カメラからの画像フレーム内のm個の被写体について、最大2m個の手、従って2m個の有界ボックスが存在し得る。しかしながら、実際には、他の被写体または他の物体による遮蔽のために、2mより少ない手が画像フレーム内で見える。1つの例示的な実施形態では、被写体の手の位置が肘関節及び手首関節の位置から推測される。例えば、被写体の右手の位置は、右肘の位置(p1として識別される)及び右手首の位置(p2として識別される)を用いて、外挿量×(p2−p1)+p2として外挿される。ここで外挿量は0.4である。別の実施形態では、関節CNN112a〜112nが左手画像及び右手画像を使用してトレーニングされる。従って、斯かる実施形態では、関節CNN112a〜112nがカメラ当たりの画像フレーム内の手の位置を直接識別する。画像フレーム当たりの手の位置は、識別された手当たりの有界ボックスを生成するために有界ボックス生成器によって使用される。
一実施形態では、WhatCNN及びWhenCNNモデルは、実装された畳み込みニューラル・ネットワーク(CNN)である。WhatCNNは、識別された被写体の手の分類を生成するために、画像フレーム内の指定された有界ボックスを処理するようにトレーニングされた畳み込みニューラル・ネットワークである。1つの訓練されたWhatCNNは、1つのカメラからの画像フレームを処理する。ショッピングストアの例示的な実施形態では、各画像フレーム内の各手について、WhatCNNは手が空であるかどうかを識別する。WhatCNNは、また、手の中の在庫商品のSKU(在庫管理単位)番号、手の中の商品を示す信頼値が非SKU商品(すなわち、ショッピングストア在庫に属さない)、及び画像フレーム内の手の位置の状況を識別する。
全てのカメラ114のWhatCNNモデル610の出力は、所定の時間帯の間、単一のWhenCNN612モデルによって処理される。ショッピングストアの例では、WhenCNNが被写体の両手について時系列分析を実行して、検出された被写体によるジェスチャを識別し、在庫イベントを生成する。在庫イベントが、被写体が棚から店舗在庫商品を取るか、または店舗在庫商品を棚に置くかを識別する。 開示された技術は、複数のカメラの内の少なくとも2つのカメラによって生成された画像フレームのシーケンスを用いて、在庫イベントの位置を見つける。WhenCNNは、少なくとも2つのカメラからの画像フレームのシーケンスからのデータセットの分析を実行して、3次元における在庫イベントの位置を決定し、在庫イベントに関連する商品を識別する。ジェスチャを識別し、在庫イベント及びそれらの発生時間を生成するために、ある期間にわたる被写体当たりのWhenCNNの出力の時系列分析が実行される。この目的のために、非最大抑制(NMS)アルゴリズムが使用される。1つの在庫イベント(すなわち、被写体による商品を置くことまたは取ること)がWhenCNNによって複数回(同じカメラ及び複数のカメラの両方から)が生成されると、NMSは、被写体に対する余分なイベントを除去する。NMSは、2つの主要なタスク、すなわち、余分な検出にペナルティを課す「マッチングロス」と、より良好な検出が手近に存在するかどうかを知るための近隣の「関節処理」とを含む再スコアリング技術である。
各被写体に対する取ること及び置くことの真のイベントは、真のイベントを有する画像フレームの前の30画像フレームに対するSKUロジットの平均を計算することによって更に処理される。最後に、最大値の引数(arg maxまたはargmaxと略す)を使用して、最大値を決定する。argmax値によって分類された在庫商品は、棚に置かれたまたは棚から取られた在庫商品を識別するために使用される。開示された技術は、在庫に関連する在庫イベントを被写体のログ・データ構造614(または、ショッピングカート・データ構造)に割り当てることで、在庫イベントを被写体に帰属させる。在庫商品は、それぞれの被写体のSKU(ショッピングカートまたはバスケットとも呼ばれる)のログに追加される。在庫イベントの検出につながった画像フレームの画像フレーム識別子「フレームID」も、識別されたSKUとともに格納される。在庫イベントを被写体に帰属させるロジックは、在庫イベントの位置と複数の顧客中の顧客の一人の位置とをマッチングさせる。例えば、画像フレームは、被写体データ構造500を用いて在庫イベントとして分類されるシーケンス中の少なくとも1時点における被写体の手の位置によって表される在庫イベントの3D位置を識別するのに使用することができ、そして、商品が取り出されたか、または置かれた場所からの在庫位置を決定するのに使用することができる。開示された技術は、複数のカメラの内の少なくとも2つのカメラによって生成された画像フレームのシーケンスを用いて、在庫イベントの位置を見つけ、在庫イベント・データ構造を作成する。一実施形態では、在庫イベント・データ構造は、商品識別子、置くまたは取るインジケータ、実空間のエリアの3次元の座標、及びタイムスタンプを格納する。一実施形態では、在庫イベントは、エントリとして在庫イベント・データベース150に格納される。
在庫イベント(空間のエリア内の被写体による在庫商品の置くこと及び取ることを示す)の位置は、被写体が商品を取り出した、または商品を置いた棚等の在庫位置を識別するために、店舗のプラノグラムまたは他のマップと比較することができる。一実施形態では、在庫イベントに関連付けられた手の位置からの最短距離を計算することによる、棚ユニット内の棚の判定が実行される。次に、この棚の判定は、棚の在庫データ構造を更新するために使用される。図7に、例示的な商品のログ・データ構造614(ログ・データ構造またはショッピングカート・データ構造とも呼ばれる)が示されている。この商品のログ・データ構造は、被写体、棚または店舗の在庫をキー値辞書として記憶する。キーは、被写体、棚または店舗の固有識別子であり、値は、別のキー値辞書であり、この場合、キーが在庫管理単位(SKU)のような商品識別子であり、値が在庫イベント予測をもたらした画像フレームの「フレームID」と共に商品の数量を識別する番号である。フレーム識別子(「フレームID」)は、在庫商品と被写体、棚、または店舗との関連をもたらす在庫イベントの識別をもたらした画像フレームを識別するために使用することができる。他の実施形態では、ソースカメラを識別する「カメラID」をフレームIDと組み合わせて、在庫データ構造614内に格納することもできる。一実施形態では、フレームが被写体の手を有界ボックス内に有するので、「フレームID」は被写体識別子である。他の実施形態では、実空間のエリア内の被写体を明示的に識別する「被写体ID」のような他のタイプの識別子を、被写体を識別するために使用することができる。
システムは、被写体が棚から商品を取るか、商品を棚に置いて戻すと、被写体の商品のログ・データ構造を更新する。一実施態様では、システムは、被写体、棚及び店舗に対する商品のログ・データ構造を統合して、被写体のショッピングカート内の商品の数量及び棚上に位置する商品の数量を反映するように、各データ構造を更新する。棚在庫データ構造が、被写体のログ・データ構造と統合されると、棚在庫は、顧客が棚から取り出した商品の数量を反映するように減少される。顧客が商品を棚に置くか、または、従業員が商品を棚にストックした場合、商品は、それぞれの在庫位置の在庫データ構造に追加される。ある期間にわたって、この処理は、ショッピングストア内の全ての在庫位置についての棚在庫データ構造の更新をもたらす。実空間のエリア内の在庫位置の在庫データ構造を統合して、その時点における店舗内の各SKUの商品の総数を示す実空間のエリアの在庫データ構造を更新する。一実施形態では、そのような更新が各在庫イベントの後に実行される。別の実施形態では、店舗在庫データ構造は定期的に更新される。
在庫イベントを検出するWhatCNN及びWhenCNNの実施態様の詳細は、2018年11月20日登録の米国特許第10,133,933号、「画像認識を用いた商品を置くこと及び取ることの検出」に示されており、これは、本明細書に完全に記載されているかのように、参照により本明細書に組み込まれる。
一実施形態では、システムが、実空間のエリアにおける置く及び取る在庫イベントを識別するために、第3の画像プロセッサ616(意味的差分抽出サブシステムとも呼ばれる)を含む。第3の画像プロセッサは、同じカメラ114からの画像及び第1の画像プロセッサ(被写体識別サブシステム)の出力を使用することができる。意味的差分抽出サブシステムの出力は、実空間のエリア内の被写体に対する在庫を置くこと及び取ることのイベントである。在庫イベントを検出するための意味的差分抽出サブシステムの実施態様の詳細な実施態様は、2018年11月13日発行の米国特許第10,127,438号、「意味的差分抽出を使用した在庫イベントの予測」に示されており、これは、本明細書に完全に記載されているかのように、参照により本明細書に組み込まれる。この実施形態では、システムが選択ロジック620を含むことができる。真の在庫イベント(取るまたは置くこと)ごとに、選択ロジック・コントローラ620は、第2の画像プロセッサ(領域提案サブシステム)または第3の画像プロセッサ(意味的差分抽出サブシステム)の何れかからの出力を選択する。一実施形態では、選択ロジックがその在庫イベントの予測のために、より高い信頼度スコアを有する画像プロセッサからの出力を選択する。
本出願に記載されているように、買い物客が棚から商品を取るか、または商品を棚に置いて戻すときに、取る及び置く在庫イベントが生成される。在庫イベント・データ構造はまた、実空間のエリアに在庫イベントの3D位置を格納することができる。別の実施形態では、在庫イベントの位置が在庫イベント・レコードにリンクされた別個のレコードに格納することができる。商品のログ・データ構造は、在庫イベントのタイプ(またはアクション) を含む。「取る」タイプの在庫イベントは被写体が棚から商品を取り出したことを示し、「置く」タイプの在庫イベントは、被写体が棚に商品を戻したことを示す。取る在庫イベントの結果、商品は、被写体の商品のログまたはショッピングカート・データ構造に含まれることになる。SKU識別子は、店舗在庫内の商品を一意に識別する。数量フィールドは、棚から取り出された、または棚上に置かれた商品の数を示す。システムはまた、在庫イベントの信頼レベルを記録する。例えば、信頼レベル値は、0〜1の範囲の浮動小数点数とすることができる。信頼度数の値が高いほど、システムが、イベントの発生の確率が高い在庫イベントを予測したことを示す。信頼度スコアのより低い値は、システムがより低い確率スコアで在庫イベントを予測したことを示す。以下は、在庫イベント・データベース150とも呼ばれる在庫イベントのログに在庫イベントを格納するためのデータ構造の例である。
{
action: 'take'/'put'
sku_id: uuid,
quantity: 1,
confidence: float
}
[チェックアウト・イベント]
{
action: 'take'/'put'
sku_id: uuid,
quantity: 1,
confidence: float
}
[チェックアウト・イベント]
システムは、実空間のエリア内の被写体に対してチェックアウト・イベントを検出するためのロジックを含む。システムは、センサ・データ(カメラ114から受信した画像等)を処理して、実空間のエリア内の個々の被写体の位置及び動きを追跡する。特定の個人または特定の被写体に対するチェックアウト・イベントは、システムが特定の領域(例えば、実空間のエリアからの出口または実空間のエリアからの出口の周りの領域)に対する被写体の位置を追跡するときに生成される。一実施形態では、システムが実空間のエリアから出口に向かう被検体の動きを検出し、被検体が出口から所定の距離(例えば、5メートル)内にあるときにチェックアウト・イベントを生成する。被写体のチェックアウト・イベントに応答して、システムは被写体に対してデジタル・レシートを生成し、デジタル・レシートを被写体に関連付けられたデバイス(例えば、モバイル・コンピューティング・デバイス)に送信する。別の実施形態では、システムが被写体が出口を通って実空間のエリア(例えば、ショッピングストア)から出るときに、デジタル・レシートを生成することができる。デジタル・レシートには、被写体の商品のログにある商品に基づく商品のリストが含まれる。デジタル・レシートは、商品のリストにおいて変更(例えば返金)を要求するための被写体からの入力を促すデバイス上に表示するためのグラフィック構成を含むことができる。以下の項では、デジタル・レシートを生成し、被写体から受け取った返金要求を処理するためのシステム及び処理を提示する。
[デジタル・レシート]
[デジタル・レシート]
ここで、デジタル・レシートを生成し、被写体に関連するコンピューティング・デバイスにデジタル・レシートを送信し、返金要求を処理することができるシステムの高レベル・アーキテクチャを提示する。デジタル・レシートは、ユーザ・デバイス上またはサーバ内で実行可能なコンピュータ・プログラム等の機能ロジックを含むか、または、該機能ロジックへのリンクを含む電子文書を備えることができ、グラフィカル・ユーザ・インタフェースと、自動化されたシステムにおけるデジタル・レシートへの異議の申立てと、デジタル・レシート内のエントリの検証をサポートする手順を実装する。システムのアーキテクチャは、図8に示されており、カメラ114が実空間のエリアの画像シーケンスを捕捉する。画像シーケンスは、重なり合う視野を有することができる。また、システムは、センサを使用して、重複する視野を有するセンサ・データのシーケンスを生成することができる。機械学習システム801は、センサ・データのシーケンスを処理して、実空間のエリア内の在庫イベントを識別するロジックを含む。斯かるシステムの一例は、図6を参照して上述されている。機械学習システム801は、個々の被写体について商品のログまたはショッピングカート・データ614を生成することができる。システムは、上述のように被写体をチェックインさせることができる。システムは、出口のような特定のエリアまたは実空間のエリアの出口の周りのエリアに追跡される被写体のチェックアウト・イベントを生成することができる出口検出ロジック805を含む。
デジタル・レシート処理エンジン180は、デジタル・レシート807を生成するロジックを含むことができる。デジタル・レシートには、特定の被写体の商品のログ内の商品に基づく商品のリストが含まれる。デジタル・レシートで商品を表す例示的なデータ構造を以下に示す:
{
refund_status: NONE/PENDING/ACCEPTED/DENIED
purchase_list: [
{
sku_id: uuid,
quantity: Number
price: Number
},
…
],
total: Number,
tax: Number,
subtotal: Number
}
{
refund_status: NONE/PENDING/ACCEPTED/DENIED
purchase_list: [
{
sku_id: uuid,
quantity: Number
price: Number
},
…
],
total: Number,
tax: Number,
subtotal: Number
}
デジタル・レシートには返金状態フィールドが含まれており、「保留」、「承認」、「否認」、「無し」等の値を割り当てることができる。購買リスト は、被写体の商品のログ内の商品ごとの要素を含むリスト・タイプ・データ構造の配列にすることができる。各商品について、デジタル・レシートは、在庫管理単位識別子(SKU・ID)、数量、及び、価格等の情報を含む。デジタル・レシートは、すべての商品の価格にそれぞれの数量を乗じた合計である「小計」を含む。「合計」は、「小計」額に「税金」額を含めることによって計算することができる。デジタル・レシートは、商品の名前、被写体の名前、レシート作成日時、被写体が商品を購入した店舗名及び住所を含む店舗識別子、被写体のロイヤリティ・ポイント等の他のフィールドを含むこともできる。
デジタル・レシート処理エンジン180は、デジタル・レシートが生成される特定の被写体に関連するデバイス811にデジタル・レシートを送信するロジックを含む。デバイス811は、携帯電話、タブレット等のモバイル・コンピューティング・デバイスとすることができる。デジタル・レシート処理エンジン180はまた、電子メールを介して、被写体にデジタル・レシートを送ることができ、この被写体は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、またはモバイル・コンピューティング・デバイス等のコンピューティング・デバイスを使用して、電子メール・クライアントまたはウェブ・ブラウザでデジタル・レシートを開くことができる。
デジタル・レシートは、図8に示すように、モバイル・コンピューティング・デバイス811上に表示することができる。デジタル・レシートはまた、商品のリストの変更及び他のインタラクションを要求する入力を促す、デバイス上に表示するためのボタン、ウィジェット等のグラフィック構成とリンクされたデジタル・レシートとのインタラクションを支援する手順へのリンクを含むことができる。例えば、デジタル・レシートは、図8に示すような「返金」ボタンを含むことができる。被写体は、返金ボタンを押して、デジタル・レシート内の商品のリスト内の1つまたは複数の商品の返金を要求することができる。ここに記載されているようなデジタル・レシート内のエントリを検証する手順を起動するグラフィカル・ユーザ・インタフェースである。一実施形態では、デジタル・レシートは、手順をサポートする埋め込みソフトウェア、またはグラフィカル・ユーザ・インタフェースを使用して実行される手順をサポートするソフトウェアへのリンクを含む、拡張マークアップ言語(XML)等の電子文書の形態である。文書はブラウザでユーザに表示され、商品のログ内の商品はグラフィック構成(すなわち、返金を処理するための1つ以上のボタン)へのリンクと共に文書に表示される。別の実施形態では、デジタル・レシートは、コンピューティング・デバイス811上のアプリケーション(店舗アプリケーション等)を使用して表示される。デバイス上で実行されるアプリケーションは、デジタル・レシートを処理し、ユーザからの入力を受け取り、グラフィカル・ユーザ・インタフェースにリンクされた手順を呼び出して、返金要求または他のインタラクションをサポートする。
一実施形態では、デジタル・レシート上の返金ボタンを押すと、デジタル・レシート内の商品及びそれらの各数量を表示するユーザ・インタフェース809が表示される。商品の量は、「+」及び「−」記号を有するグラフィック構成811として表示される。グラフィック構成は商品の現在の数量を表示し、被写体がグラフィック構成811上の「+」記号を押して商品の数量を増加させ、「−」記号を押して商品の数量を減少させることを可能にする。商品の新しい数量は、返金要求メッセージ813と共にデジタル・レシート処理エンジン180に送られる。返金要求メッセージ813内の返金要求を送信するために使用できるデータ構造の例を以下に示す:
{
sku_id: uuid
quantity: number
}
{
sku_id: uuid
quantity: number
}
デジタル・レシート処理エンジン180は、要求された変更に対応する特定の被写体の在庫イベントのログ内のエントリにアクセスするために、商品のリスト内の変更を要求する、特定の被写体のデバイスからのメッセージに応答するロジックを含む。ロジックは、エントリにおける分類信頼度スコアを信頼度閾値と比較する。信頼度スコアが閾値よりも低い場合、システムは、被写体によって要求された変更を受け入れ、デジタル・レシートを更新する。分類信頼度スコアが閾値を上回る場合、システムはセンサ・データの格納されたシーケンスからセンサ・データのセット(またはカメラからの画像シーケンス内の画像)を取り出し、人間のオペレータによる検査のために返金検査メッセージ815をモニタ・デバイス817に送信するロジックを含む。最後に、検査により承認または否認されたロジック819は、デジタル・レシートを必要に応じて更新し、検査処理の結果とともにメッセージをコンピューティング・デバイス811に送信することができる。
図9A〜図9Hは、デジタル・レシートがコンピューティング・デバイス811上に表示され、被写体が返金を要求するための入力を提供する一連のユーザ・インタフェースの例を示す。図9Aは、モバイル・コンピューティング・デバイス811のユーザ・インタフェース上に表示される例示的なデジタル・レシートを示す。デジタル・レシートは、顧客によって購入された商品をリストする。この例では、デジタル・レシートは、被写体によって購入された3つの商品を、それらの写真、名前、及び数量と共に表示する。複数の数量を有する商品については、数量は、顧客がこの商品を3つ購入したことを意味する「×3」のような乗算記号で商品の画像の右上隅に表示される。デジタル・レシートは、デジタル・レシート上の個々の商品の額にそれぞれの数量を乗じたものを合計することによって計算される小計額を示す。税金は、適用される税金を使用して計算される。例えば、この例では、税金は小計額の10%として計算される。総額は、小計額と税金額とを合計することによって計算される。デジタル・レシートは、商品が購入される店舗の名前及び住所、購入日時等の他の情報を表示することができる。デジタル・レシートは、支払いが行われたクレジットカードのカードタイプ及び最後の4桁等の支払いに関する情報を表示することができる。なお、決済情報はユーザ・アカウント・データベースに格納することができ、上述のチェックイン手順を用いて、被写体と連動させることができる。
デジタル・レシートは、被写体がデジタル・レシートの変更を要求できるようにする1つ以上のボタンまたはリンクを表示することができる。例えば、「返金要求」とラベル付けされたグラフィック構成(ボタンまたはリンク等)903を、被写体がクリックまたは押下して、返金要求処理を開始することができる。被写体がボタン903を押下すると、図9Bに示すように、次のユーザ・インタフェースが表示される。ユーザは、図9Cに示すようなユーザ・インタフェースを表示する図9Bの「次へ」ボタンを押すことができる。デジタル・レシートの各商品について、図9Cに示すように、グラフィック構成907、909、及び911等が表示される。グラフィック構成907は、商品の現在の数量を中央に、数量の左側及び右側にそれぞれ「−」及び「+」記号を表示する。被写体は、「+」と「−」の記号を押下またはクリックして、商品の数量を増減させることができる。例えば、被写体が「ドール」缶の1つの商品を購入したが、デジタル・レシートが、被写体がグラフィック構成909に示すように「ドール」缶の3つを取ったことを示すと仮定する。被写体は、図9Dのグラフィック構成913に示すように、数量を1に減らすために、グラフィック構成909上の「−」記号を押す。同様に、被写体は「ドリトス」商品の数量を、図9Dのグラフィック構成907に示されるような1から、図9Eのグラフィック構成915に示されるようなゼロに減少させる。被写体は、デジタル・レシートの商品数を修正した後、図9Eの「次へ」ボタン917を押下する。図9Fは、返金の概要が被写体に表示されるユーザ・インタフェースを示す。図9Fは、被写体が返金を要求した商品及びその数量を示す。被写体は、図9Fの「要求提出」ボタン921を押して、返金要求を提出する。メッセージ923(図9G)が、被写体にその返金要求がシステムによって処理されていることを知らせるために、デジタル・レシートのユーザ・インタフェース上に表示される。返金要求が処理されると、図9Hに示すように、返金要求が承認されたというメッセージ925が表示される。ここで、デジタル・レシートは修正された数量の商品を表示し、返金額も表示することができる。
図10A〜図10Dは、被写体が「スワイプ」ジェスチャを使用して返金を要求することができる、デジタル・レシートの例示的なユーザ・インタフェースを示す。図10Aは、図9Aに示すデジタル・レシートと同様のデジタル・レシートを示す。この例では、被写体が図10Bに示されるように、商品の返金を要求するために、左スワイプのジェスチャ1001を実行することができる。ユーザが左スワイプのジェスチャを実行すると、図10Cに示すように、グラフィック構成1003がユーザ・インタフェース上に表示される。グラフィック構成1003は、商品の名前、写真または他の識別子を表示することができる。また、商品の現在の数量を、「−」と「+」の記号の間に表示する。被写体は、「+」と「−」記号を押下またはクリックして、商品の数量を増減させることができる。例えば、被写体は、数量を図10Cの1から図10Dのゼロに低下させる。次に、被写体は、グラフィック構成1005内の「保存」ボタンを押して、返金要求を提出することができる。次いで、返金メッセージは、上述のように返金要求を処理するサーバ(デジタル・レシート処理エンジン等)に送信される。
ここで、アクショナブル・デジタル・レシートを生成し、買い物客のコンピューティング・デバイス上でデジタル・レシートを受信及び表示し、サーバ側で商品異議(返金等)の要求を処理する処理を提示する。処理は、図11、図12、及び図13にフローチャートとして示される。フローチャートによって示されるロジックは、コンピュータ・システムにアクセス可能なメモリに記憶され、プロセッサによって実行可能なコンピュータ・プログラムを用いてプログラムされたプロセッサを用いて、フィールド・プログラマブル集積回路を含む専用ロジック・ハードウェアを用いて、及び、専用ロジック・ハードウェアとコンピュータ・プログラムの組合せを用いて実現することができる。本明細書の全てのフローチャートと同様に、ステップの多くは、達成される機能に影響を及ぼすことなく、組み合わされ、並列に実行され、または異なる順序で実行され得ると理解されるであろう。幾つかの場合では、読者が理解するように、ステップの再配置は特定の他の変更が同様に行われる場合にのみ、同じ結果を達成する。他の場合には、読者が理解するように、ステップの再配置は特定の条件が満たされる場合にのみ、同じ結果を達成する。更に、本明細書のフローチャートは本発明の理解に関連するステップのみを示しており、他の機能を達成するための多数の追加のステップが、示されたステップの前、後、及びそれらの間で実行され得ると理解されるであろう。
図11のフローチャートは、デジタル・レシートを生成するための処理ステップを示す。処理は、ステップ1101で開始する。ステップ1103において、システムは、実空間のエリア内の被写体を追跡する。一実施形態では、システムが被写体追跡エンジン110に実装されたロジックを使用して、実空間のエリア内の被写体を追跡する。被写体追跡エンジン110は、3Dシーン生成、及び、被写体データ構造の作成及び更新によって、被写体を識別及び追跡することができる。システムは、ステップ1105で、被写体の在庫イベント(商品を置く及び取る等)を決定する。在庫イベントは、在庫イベントのログに格納される。システムは、被写体によって取得された商品を決定し、この情報を被写体毎の商品のログ・データ構造に格納する。一実施形態では、システムが一定間隔(30秒毎、15秒毎、または毎秒等)でステップ1103及び1105を実行し、被写体データ構造、在庫イベントの商品のログを更新する。
ステップ1107において、システムは、被写体のチェックアウト・イベントを検出する。被写体が実空間のエリアから出口に向かって移動しているか、または被写体が実空間のエリアから出口に居るか、または出口の周りに居る場合、チェックアウト・イベントが検出される。条件が偽である場合、システムは、実空間のエリア内の全ての被写体について一定間隔でステップ1103及び1005を実行する。ステップ1107の条件が被写体について真である場合、すなわち、被写体が出口に居るか出口の周りに居る場合、システムは、被写体について以下の処理ステップを実行する。ステップ1109で、システムは、チェックアウト・イベントが検出された被写体の商品のログ・データ構造を使用して、被写体のデジタル・レシート(アクショナブル・デジタル・レシートとも呼ばれる)を生成する。ステップ1111で、システムは、被写体に関連するモバイル・コンピューティング・デバイス上に表示するためのアクショナブル・デジタル・レシートを送信する。モバイル・デバイスは上述のように、チェックイン処理中に被写体と関連付けられる。他の実施形態では、システムは、電子メールを介して、被写体に関連付けられた電子メールアドレスにデジタル・レシートを送信することができる。被写体はデジタル・レシート上で商品について異議を唱えることができ、例えば、被写体は、1または複数の商品の返金を要求できる。一実施形態では、システムは、デジタル・レシートを送信した後の所定の持続時間、例えば、1週間、2週間等の間に返金要求を受け入れることができる。ステップ1113において、システムは、顧客から受け取った異議を処理する。異議を処理する前に、システムは、異議要求が許可された時間枠内にあるかどうかをチェックすることができる。もし時間枠内であれば、システムは、ステップ1115で異議手順を開始することができる。処理は、ステップ1117で終了する。
図12は、モバイル・コンピューティング・デバイス上に表示されたアクショナブル・デジタル・レシートからサーバに異議申立てを送信するためのプロセス・ステップのフローチャートを提示する。処理はステップ1201で開始する。ステップ1203で、サーバからのデジタル・レシートがモバイル・コンピューティング・デバイスで受信される。デジタル・レシートを受信したことを被写体に注意喚起する通知を生成することができる。通知は、被写体にデジタル・レシートを開くように促すサウンドアラーム、またはユーザ・インタフェース上に表示されるメッセージを含むことができる。デジタル・レシートは、ステップ1205において、モバイル・コンピューティング・デバイスのユーザ・インタフェース上に表示される。ステップ1207で、アクショナブル・デジタル・レシートは、ボタンまたはウィジェットのようなグラフィック構成からの被写体からの入力を検出する。ステップ1209で、返金要求等の異議申立てがサーバ(デジタル・レシート処理エンジンとも呼ばれる)に送信される。ステップ1211で、サーバからのレスポンス・メッセージが受信される。異議申立ての要求が承認された場合(ステップ1213)、ステップ1217で、更新されたデジタル・レシートがユーザに表示される。承認されなければ、ステップ1215において、返金要求が承認されていないというメッセージが表示される。メッセージはまた、顧客が返金要求を上申するために店舗に連絡することができるように、店舗の電話番号または電子メールアドレス等の連絡先番号を含むことができる。処理は、ステップ1219で終了する。
図13は、クライアント側(モバイル・コンピューティング・デバイス等)に表示されるアクショナブル・デジタル・レシートから受信した商品異議申立てメッセージを処理するための、サーバ側の処理ステップのフローチャートである。処理はステップ1301で開始する。ステップ1303において、サーバ(例えば、デジタル・レシート処理エンジン)は、特定の被写体に関連付けられたコンピューティング・デバイスからアクショナブル・デジタル・レシートからの異議申立てメッセージを受信する。ステップ1305で、システムは、要求された変更に対応する特定の被写体の在庫イベントのログ内のエントリにアクセスする。システムは、在庫イベントのログ内のアクセスされたエントリ内の信頼度スコアを、閾値と比較する(ステップ1307)。一実施形態では、信頼度スコアが0と1との間の実数とすることができる。閾値は、0.5の値に設定することができる。閾値を、0.5より大きいかまたは小さい他の値に設定することができる。在庫イベントの信頼度スコアが閾値未満である場合、システムは、ステップ1309で異議申立て(返金等)を受け入れる。逆に信頼度スコアが閾値未満でない場合、システムは、識別された在庫イベントに対応する格納されたセンサ・データのシーケンスからセンサ・データのセットを取り出す。一実施形態では、システムが在庫イベントにおける商品の「取り出し」の検出に至ったセンサ・データ(または画像フレーム)のフレーム番号を決定する。システムは、被写体が返金要求した商品に対応する被写体に対する商品のログ内のエントリに格納されたフレーム識別子(フレームID等)を使用して、センサ・データを検索することができる。商品のログを格納するための例示的なデータ構造は、図7の上方に示されており、商品を取るイベントに至ったフレーム番号を含んでいる。また、システムは、商品のログのエントリで識別されたフレームの前後の一連のフレームを取得することもできる。例えば、一実施形態では、システムが識別されたフレームの前50フレーム及び後50フレームを検索して、商品のログのエントリ内のフレーム識別子によって識別されたフレームを含む100個のフレームのシーケンスを形成することができる。他の実施形態では、フレームのシーケンス内の識別されたフレームの前後に、50未満または50を超えるフレームを取り出すことができる。
次に、このセンサ・データのセット(またはフレームのセット)を検査して、被写体が棚から商品を取り出したかどうかを判定する。一実施形態では、システムが、人間のオペレータによる検査のために、センサ・データのセットまたはセンサ・データのセットへのリンクをモニタ・デバイスに送信する(ステップ1313)。検査により、商品が被写体によって棚から取られたと判定した場合(ステップ1315)、システムは返金要求を拒絶する(ステップ1317)。そうでなければ、システムは返金要求を承認する(ステップ1309)。ステップ1319において、システムは、ユーザ・アカウント・レコード内の被写体によって選択された支払い方法を介して顧客に返金額を送信することによって、返金要求を処理する。システムは、更新された商品及びその数量で顧客のデジタル・レシートを更新する(ステップ1321)。返金要求に更なる商品がある場合(ステップ1323)、システムは、ステップ1305から開始して、上記の処理ステップを繰り返す。返金要求において処理されるべき商品がもはや存在しない場合、システムは、返金処理の結果について顧客に通知する応答メッセージを顧客に送信する(ステップ1325)。メッセージは、更新されたデジタル・レシートと、返金要求が承認された場合の返金の詳細とを含むことができる。処理は、ステップ1327で終了する。
[ネットワーク構成]
[ネットワーク構成]
図14は、ネットワーク・ノード104上でホストされるデジタル・レシート処理エンジン180をホストするネットワークのアーキテクチャを示す。システムは、図示された実施形態では複数のネットワーク・ノード101a、101b、101n、及び102を含む。斯かる実施形態では、ネットワーク・ノードは処理プラットフォームとも呼ばれる。処理プラットフォーム(ネットワーク・ノード)104,101a〜101n,及び102、並びに、カメラ1412,1414,1416,・・・1418(纏めて、カメラ114)は、ネットワーク1481に接続される。
図14は、ネットワークに接続された複数のカメラ1412,1414,1416,・・・1418を示す。多数のカメラを特定のシステムに配備することができる。一実施形態では、カメラ1412〜1418が、イーサネット(登録商標)ベースのコネクタ1422,1424,1426,及び1428をそれぞれ使用して、ネットワーク1481に接続される。斯かる実施形態では、イーサネット・ベースのコネクタがギガビット・イーサネットとも呼ばれる1ギガビット/秒のデータ転送速度を有する。他の実施形態では、カメラ114がギガビット・イーサネット(登録商標)よりも高速または低速のデータ転送速度を有することができる他のタイプのネットワーク接続を使用してネットワークに接続されることを理解されたい。また、代替の実施形態では、1組のカメラを各処理プラットフォームに直接接続することができ、処理プラットフォームをネットワークに結合することができる。
記憶サブシステム1430は、本発明の特定の実施形態の機能を提供する基本的なプログラミング及びデータ構成を記憶する。例えば、デジタル・レシート処理エンジン180の機能を実施する様々なモジュールを、記憶サブシステム1430に格納することができる。記憶サブシステム1430は、非一時的データ記憶媒体を備えるコンピュータ可読メモリの一例であり、実空間のエリア内の被写体を、ユーザ・アカウントにリンクし、画像内に描写された識別された被写体の位置を決定し、本明細書で説明される処理によって、内でクライアント・アプリケーションを実行するモバイル・コンピューティング・デバイスの識別することにより識別された被写体をユーザ・アカウントにマッチングさせるロジックを含む、本明細書で説明されるデータ処理機能及び画像処理機能の全てまたは任意の組み合わせを実行するための、コンピュータによって実行可能なメモリに記憶されるコンピュータ命令を備える。他の例では、コンピュータ命令は、コンピュータ可読の非一時的データ記憶媒体または媒体を含む、携帯用メモリを含む他のタイプのメモリに記憶することができる。
これらのソフトウェア・モジュールは一般に、プロセッサ・サブシステム1450によって実行される。ホスト・メモリ・サブシステム1432は、通常、プログラム実行中の命令及びデータの記憶のためのメイン・ランダム・アクセス・メモリ(RAM)1434と、固定命令が記憶される読み出し専用メモリ(ROM)1436とを含む幾つかのメモリを含む。一実施形態では、RAM 1434が商品のログ、在庫イベント、及び他の関連するデータを格納するためのバッファとして使用される。
ファイル記憶サブシステム1440は、プログラム及びデータ・ファイルのための永続的記憶を提供する。例示的な一実施形態では、記憶サブシステム1440が、番号1442によって識別されるRAID0(独立ディスクの冗長配列)構成内に4つの120ギガバイト(GB)ソリッド・ステート・ディスク(SSD)を含む。該例示的な実施形態では、被写体データベース140内の被写体データ、在庫イベント・データベース150内の在庫イベント・データ、商品のログ・データベース160内の商品のログ・データ、及びRAMにないアクショナブル・デジタル・レシート・データベース170内のデジタル・レシート・データが、RAID0に記憶される。該例示的な実施形態では、ハードディスク・ドライブ1446はRAID0 1442ストレージよりもアクセス速度が遅い。ソリッド・ステート・ディスク(SSD)1444は、デジタル・レシート処理エンジン180のためのオペレーティング・システム及び関連ファイルを含む。
例示的な構成では、4つのカメラ1412,1414,1416,1418が、処理プラットフォーム(ネットワーク・ノード)103に接続される。各カメラは、カメラによって送られた画像フレームを処理するために、専用グラフィックス処理ユニットGPU1 1462,GPU2 1464,GPU3 1466,及びGPU4 1468を有する。1つの処理プラットフォームにつき、3つより少ないまたは多いカメラを接続することができると理解される。従って、各カメラが、カメラから受信した画像フレームを処理するための専用GPUを有するように、より少ないまたはより多いGPUがネットワーク・ノード内に構成される。プロセッサ・サブシステム1450、記憶サブシステム1430、及びGPU1462,1464、及び1466は、バス・サブシステム1454を使用して通信する。
ネットワーク・インタフェース・サブシステム1470は、処理プラットフォーム(ネットワーク・ノード)104の一部を形成するバス・サブシステム1454に接続される。ネットワーク・インタフェース・サブシステム1470は、他のコンピュータ・システムにおける対応するインタフェース・デバイスへのインタフェースを含む、外部ネットワークへのインタフェースを提供する。ネットワーク・インタフェース・サブシステム1470は、ケーブル(または配線)を使用して、またはワイヤレスで、処理プラットフォームがネットワークを介して通信することを可能にする。実空間のエリア内のモバイル・コンピューティング・デバイス120によって発信されたワイヤレス信号1475は、マッチング・エンジンによる処理のために、ネットワーク・インタフェース・サブシステム1470によって(ワイヤレス・アクセス・ポイントを介して)受信される。同様に、モバイル・コンピューティング・デバイス120は、デジタル・レシート処理エンジンによってワイヤレス信号1475を介して送信されたデジタル・レシートを受信することができる。ユーザ・インタフェース出力デバイス及びユーザ・インタフェース入力デバイスのような幾つかの周辺デバイスも、処理プラットフォーム104の一部を形成するバス・サブシステム1454に接続されている。これらのサブシステム及びデバイスは、説明の明確性を改善するために、図14には意図的に示されていない。バス・サブシステム1454は、単一のバスとして概略的に示されているが、バス・サブシステムの代わりの実施形態は複数のバスを使用することができる。
一実施形態では、カメラ114が、1288×964の解像度、30FPSのフレームレート、及び1.3メガピクセル/イメージで、300mm〜無限大の作動距離を有する可変焦点レンズ、98.2°〜23.8°の1/3インチセンサによる視野を有するChameleon3 1.3 MP Color USB3 Vision(Sony ICX445)を使用して実装することができる。
上述または上記で参照された任意のデータ構造及びコードは、多くの実施態様に従って、コンピュータ・システムによって使用されるコード及び/またはデータを記憶することができる任意のデバイスまたは媒体であり得る、非一時的なコンピュータ可読記憶媒体を含むコンピュータ可読メモリに記憶される。これには、揮発性メモリ、不揮発性メモリ、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲートアレイ(FPGA)、ディスク・ドライブ、磁気テープ、CD(コンパクトディスク)、DVD(デジタル・バーサタイル・ディスクまたはデジタル・ビデオ・ディスク)等の磁気及び光記憶デバイス、または、現在知られているまたは今後開発されるコンピュータ可読媒体を記憶することができる他の媒体が含まれるが、これらに限定されない。
先行する説明は、開示された技術の使用及び実施を可能にするために提示されている。開示された実施態様に対する種々の変形は明らかであり、本明細書で規定された原理は、開示された技術の趣旨及び範囲から逸脱することなく、他の実施態様及び応用例に適用され得る。従って、開示された技術は、示された実施態様に限定されることを意図するものではなく、本明細書で開示された原理及び特徴と一致する最も広い範囲が与えられるべきである。開示される技術の範囲は、添付の特許請求の範囲によって規定される。
Claims (30)
- 自動化ショッピングのためのシステムであって、
実空間のエリアのセンサ・データのシーケンスを受信する処理システムを備え、
前記処理システムが、
前記センサ・データのシーケンスを処理して、個々の被写体にリンクされた前記実空間のエリア内の在庫イベントを識別し、商品識別子と前記商品の分類信頼度スコアを含む在庫イベントを在庫イベントのログとして維持するロジックを含み、但し、前記在庫イベントが識別される前記センサ・データのシーケンスからのセンサ・データは、前記処理システムにより格納され、
個々の被写体についての商品のログを維持し、特定の被写体のチェックアウト・イベントに応答して、デジタル・レシートを生成し、前記デジタル・レシートを特定の被写体に関連付けられたデバイスに送信するロジックを含み、但し、前記デジタル・レシートには、前記特定の被写体に関する前記商品のログの前記商品に基づく商品のリストが含まれ、前記商品のリスト内の変更を要求するための入力を促す前記デバイス上に表示するためのグラフィック構成へのリンクが付されており、且つ、
前記特定の被写体の前記デバイスからの前記商品のリスト内の変更を要求するメッセージに応答して、前記要求された変更に対応する前記特定の被写体の前記在庫イベントのログ内のエントリにアクセスし、エントリにおける前記分類信頼度スコアを信頼度閾値と比較し、前記信頼度スコアが前記閾値よりも低い場合は、前記変更を受け入れ、前記デジタル・レシートを更新し、前記信頼度スコアが前記閾値よりも高い場合は、前記変更に対応する前記在庫イベントを識別し、前記識別された在庫イベントの確証のために、前記格納されたセンサ・データのシーケンスからセンサ・データのセットを取り出すロジックを含むシステム。 - 前記処理システムが、人間のオペレータによる検査のために、前記センサ・データのセットまたは前記センサ・データのセットへのリンクをモニタ・デバイスに送信するロジックを含む請求項1に記載のシステム。
- 前記処理システムが、前記要求された変更に応答するメッセージを前記デバイスに送信するロジックを含む請求項1に記載のシステム。
- 前記処理システムが、前記信頼度スコアが前記閾値よりも低い場合に、前記要求された変更を受け入れるメッセージを前記デバイスに送信するように動作可能なロジックを含む請求項1に記載のシステム。
- 前記処理システムが、前記信頼度スコアが前記閾値よりも高い場合に、前記要求された変更が検査中であることを示すメッセージを前記デバイスに送信するように動作可能なロジックを含む請求項1に記載のシステム。
- 前記処理システムが、前記センサ・データを処理して、前記実空間のエリア内の個々の被写体を追跡し、個々の被写体を在庫イベントにリンクするロジックと、前記個々の被写体に関連付けられたデバイスへの通信リンクを確立し、前記通信リンク上で、特定の被写体から前記メッセージを受信し、特定の被写体にメッセージを送信するロジックを含む請求項1に記載のシステム。
- 前記処理システムが、前記センサ・データを処理して、前記実空間のエリア内の個々の被写体の位置を追跡し、特定の被写体の前記位置が前記実空間のエリアの特定の領域まで追跡される場合に、前記特定の被写体に対する前記チェックアウト・イベントを信号で伝えるロジックを含む請求項1に記載のシステム。
- 前記処理システムが、前記個々の被写体に関連付けられたデバイスへの通信リンクを確立し、前記通信リンク上で、前記チェックアウト・イベントとして解釈される特定の被写体からのメッセージを受信するロジックを含む請求項1に記載のシステム。
- 前記センサ・データのシーケンスが、重複する視野を有する複数の画像シーケンスを備える請求項1に記載のシステム。
- 前記商品のログが、在庫商品を置くこと及び取ることを含む請求項1に記載のシステム。
- 自動化ショッピングのための方法であって、
実空間のエリアのセンサ・データのシーケンスを受信すること、
前記センサ・データのシーケンスを処理して、個々の被写体にリンクされた前記実空間のエリア内の在庫イベントを識別し、商品識別子と前記商品の分類信頼度スコアを含む在庫イベントを在庫イベントのログとして維持すること、
前記在庫イベントが識別される前記センサ・データのシーケンスからのセンサ・データを格納すること、
個々の被写体についての商品のログを維持し、特定の被写体のチェックアウト・イベントに応答して、デジタル・レシートを生成し、前記デジタル・レシートを特定の被写体に関連付けられたデバイスに送信すること、但し、前記デジタル・レシートには、前記特定の被写体に関する前記商品のログの前記商品に基づく商品のリストが含まれ、前記商品のリスト内の変更を要求するための入力を促す前記デバイス上に表示するためのグラフィック構成へのリンクが付されており、及び、
前記要求された変更に対応する前記特定の被写体の前記在庫イベントのログ内のエントリにアクセスして、前記特定の被写体の前記デバイスからの前記商品のリスト内の変更を要求するメッセージに応答し、
エントリにおける前記分類信頼度スコアを信頼度閾値と比較し、前記信頼度スコアが前記閾値よりも低い場合は、前記変更を受け入れ、前記デジタル・レシートを更新し、前記信頼度スコアが前記閾値よりも高い場合は、前記変更に対応する前記在庫イベントを識別し、前記識別された在庫イベントの確証のために、前記格納されたセンサ・データのシーケンスからセンサ・データのセットを取り出すことを、含む方法。 - 人間のオペレータによる検査のために、前記センサ・データのセットまたは前記センサ・データのセットへのリンクをモニタ・デバイスに送信することを、更に含む請求項11に記載の方法。
- 前記要求された変更に応答するメッセージを前記デバイスに送信することを、更に含む請求項11に記載の方法。
- 前記信頼度スコアが前記閾値よりも低い場合に、前記要求された変更を受け入れるメッセージを前記デバイスに送信することを含む請求項11に記載の方法。
- 前記信頼度スコアが前記閾値よりも高い場合に、前記要求された変更が検査中であることを示すメッセージを前記デバイスに送信することを含む請求項11に記載の方法。
- 前記センサ・データを処理して、前記実空間のエリア内の個々の被写体を追跡し、個々の被写体を在庫イベントにリンクすること、及び、
前記個々の被写体に関連付けられたデバイスへの通信リンクを確立し、前記通信リンク上で、特定の被写体から前記メッセージを受信し、特定の被写体にメッセージを送信することを含む請求項11に記載の方法。 - 前記センサ・データを処理して、前記実空間のエリア内の個々の被写体の位置を追跡し、特定の被写体の前記位置が前記実空間のエリアの特定の領域まで追跡される場合に、前記特定の被写体に対する前記チェックアウト・イベントを信号で伝えることを含む請求項11に記載の方法。
- 前記個々の被写体に関連付けられたデバイスへの通信リンクを確立し、前記通信リンク上で、前記チェックアウト・イベントとして解釈される特定の被写体からのメッセージを受信することを含む請求項11に記載の方法。
- 前記センサ・データのシーケンスが、重複する視野を有する複数の画像シーケンスを備える請求項11に記載の方法。
- 前記商品のログが、在庫商品を置くこと及び取ることを含む請求項11に記載の方法。
- 自動化ショッピングに対するコンピュータ・プログラム命令を記憶した非一時的コンピュータ可読記憶媒体であって、
前記命令がプロセッサ上で実行されると実施される方法が、
実空間のエリアのセンサ・データのシーケンスを受信すること、
前記センサ・データのシーケンスを処理して、個々の被写体にリンクされた前記実空間のエリア内の在庫イベントを識別し、商品識別子と前記商品の分類信頼度スコアを含む在庫イベントを在庫イベントのログとして維持すること、
前記在庫イベントが識別される前記センサ・データのシーケンスからのセンサ・データを格納すること、
個々の被写体についての商品のログを維持し、特定の被写体のチェックアウト・イベントに応答して、デジタル・レシートを生成し、前記デジタル・レシートを特定の被写体に関連付けられたデバイスに送信すること、但し、前記デジタル・レシートには、前記特定の被写体に関する前記商品のログの前記商品に基づく商品のリストが含まれ、前記商品のリスト内の変更を要求するための入力を促す前記デバイス上に表示するためのグラフィック構成へのリンクが付されており、及び、
前記要求された変更に対応する前記特定の被写体の前記在庫イベントのログ内のエントリにアクセスして、前記特定の被写体の前記デバイスからの前記商品のリスト内の変更を要求するメッセージに応答し、
エントリにおける前記分類信頼度スコアを信頼度閾値と比較し、前記信頼度スコアが前記閾値よりも低い場合は、前記変更を受け入れ、前記デジタル・レシートを更新し、前記信頼度スコアが前記閾値よりも高い場合は、前記変更に対応する前記在庫イベントを識別し、前記識別された在庫イベントの確証のために、前記格納されたセンサ・データのシーケンスからセンサ・データのセットを取り出すことを、備える非一時的コンピュータ可読記憶媒体。 - 実施される前記方法が、人間のオペレータによる検査のために、前記センサ・データのセットまたは前記センサ・データのセットへのリンクをモニタ・デバイスに送信することを、更に備える請求項21に記載の非一時的コンピュータ可読記憶媒体。
- 実施される前記方法が、前記要求された変更に応答するメッセージを前記デバイスに送信することを、更に備える請求項21に記載の非一時的コンピュータ可読記憶媒体。
- 前記信頼度スコアが前記閾値よりも低い場合に、前記方法が、前記要求された変更を受け入れるメッセージを前記デバイスに送信することを備える請求項21に記載の非一時的コンピュータ可読記憶媒体。
- 前記信頼度スコアが前記閾値よりも高い場合に、前記方法が、前記要求された変更が検査中であることを示すメッセージを前記デバイスに送信することを備える請求項21に記載の非一時的コンピュータ可読記憶媒体。
- 実施される前記方法が、
前記センサ・データを処理して、前記実空間のエリア内の個々の被写体を追跡し、個々の被写体を在庫イベントにリンクすること、及び、
前記個々の被写体に関連付けられたデバイスへの通信リンクを確立し、前記通信リンク上で、特定の被写体から前記メッセージを受信し、特定の被写体にメッセージを送信することを、更に備える請求項21に記載の非一時的コンピュータ可読記憶媒体。 - 実施される前記方法が、前記センサ・データを処理して、前記実空間のエリア内の個々の被写体の位置を追跡し、特定の被写体の前記位置が前記実空間のエリアの特定の領域まで追跡される場合に、前記特定の被写体に対する前記チェックアウト・イベントを信号で伝えることを、更に備える請求項21に記載の非一時的コンピュータ可読記憶媒体。
- 実施される前記方法が、前記個々の被写体に関連付けられたデバイスへの通信リンクを確立し、前記通信リンク上で、前記チェックアウト・イベントとして解釈される特定の被写体からのメッセージを受信することを、更に備える請求項21に記載の非一時的コンピュータ可読記憶媒体。
- 前記センサ・データのシーケンスが、重複する視野を有する複数の画像シーケンスを備える請求項21に記載の非一時的コンピュータ可読記憶媒体。
- 前記商品のログが、在庫商品を置くこと及び取ることを含む請求項21に記載の非一時的コンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862726070P | 2018-08-31 | 2018-08-31 | |
US62/726,070 | 2018-08-31 | ||
PCT/US2019/049388 WO2020047555A1 (en) | 2018-08-31 | 2019-09-03 | Deep learning-based actionable digital receipts for cashier-less checkout |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021535512A true JP2021535512A (ja) | 2021-12-16 |
Family
ID=69639983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021511634A Pending JP2021535512A (ja) | 2018-08-31 | 2019-09-03 | レジ無しチェックアウト用ディープ・ラーニング・ベースのアクショナブル・デジタル・レシート |
Country Status (5)
Country | Link |
---|---|
US (1) | US20200074432A1 (ja) |
EP (1) | EP3844704A4 (ja) |
JP (1) | JP2021535512A (ja) |
CA (1) | CA3111279A1 (ja) |
WO (1) | WO2020047555A1 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11232687B2 (en) | 2017-08-07 | 2022-01-25 | Standard Cognition, Corp | Deep learning-based shopper statuses in a cashier-less store |
US10853965B2 (en) | 2017-08-07 | 2020-12-01 | Standard Cognition, Corp | Directional impression analysis using deep learning |
US11200692B2 (en) | 2017-08-07 | 2021-12-14 | Standard Cognition, Corp | Systems and methods to check-in shoppers in a cashier-less store |
US11250376B2 (en) | 2017-08-07 | 2022-02-15 | Standard Cognition, Corp | Product correlation analysis using deep learning |
US10650545B2 (en) | 2017-08-07 | 2020-05-12 | Standard Cognition, Corp. | Systems and methods to check-in shoppers in a cashier-less store |
US10474991B2 (en) | 2017-08-07 | 2019-11-12 | Standard Cognition, Corp. | Deep learning-based store realograms |
US10474988B2 (en) | 2017-08-07 | 2019-11-12 | Standard Cognition, Corp. | Predicting inventory events using foreground/background processing |
US11232575B2 (en) | 2019-04-18 | 2022-01-25 | Standard Cognition, Corp | Systems and methods for deep learning-based subject persistence |
US11023740B2 (en) | 2019-10-25 | 2021-06-01 | 7-Eleven, Inc. | System and method for providing machine-generated tickets to facilitate tracking |
US11386647B2 (en) * | 2019-10-25 | 2022-07-12 | 7-Eleven, Inc. | System and method for processing a refund request arising from a shopping session in a cashierless store |
JP7456764B2 (ja) * | 2019-12-10 | 2024-03-27 | 東芝テック株式会社 | 店舗システム |
JP2021124823A (ja) * | 2020-02-03 | 2021-08-30 | 東芝テック株式会社 | 認証装置及び制御プログラム |
US11303853B2 (en) | 2020-06-26 | 2022-04-12 | Standard Cognition, Corp. | Systems and methods for automated design of camera placement and cameras arrangements for autonomous checkout |
US11361468B2 (en) | 2020-06-26 | 2022-06-14 | Standard Cognition, Corp. | Systems and methods for automated recalibration of sensors for autonomous checkout |
US20220019988A1 (en) * | 2020-07-17 | 2022-01-20 | Surya Chilukuri | Methods and systems of a multistage object detection and tracking checkout system |
US20220067689A1 (en) * | 2020-09-01 | 2022-03-03 | Lg Electronics Inc. | Automated shopping experience using cashier-less systems |
US11755345B2 (en) * | 2021-08-23 | 2023-09-12 | Mineral Earth Sciences Llc | Visual programming of machine learning state machines |
WO2023053026A1 (en) * | 2021-09-28 | 2023-04-06 | Jio Platforms Limited | System and method for vision-assisted checkout |
US20230316350A1 (en) * | 2022-03-31 | 2023-10-05 | Maplebear Inc. (Dba Instacart) | Optical scanning using receipt imagery for automated tax reconciliation |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2344904A (en) * | 1998-12-17 | 2000-06-21 | Ibm | Home stock control computer system |
AU2012236870A1 (en) * | 2011-03-25 | 2013-05-02 | Visa International Service Association | In-person one-tap purchasing apparatuses, methods and systems |
KR20140121764A (ko) * | 2012-01-05 | 2014-10-16 | 비자 인터네셔널 서비스 어소시에이션 | 트랜잭션 영상 캡처 장치, 방법 및 시스템 |
US20140188648A1 (en) * | 2012-12-28 | 2014-07-03 | Wal-Mart Stores, Inc. | Searching Digital Receipts At A Mobile Device |
US9569692B2 (en) * | 2014-10-31 | 2017-02-14 | The Nielsen Company (Us), Llc | Context-based image recognition for consumer market research |
US11120478B2 (en) * | 2015-01-12 | 2021-09-14 | Ebay Inc. | Joint-based item recognition |
US20170148005A1 (en) * | 2015-11-20 | 2017-05-25 | The Answer Group, Inc. | Integrated Automatic Retail System and Method |
US10497049B2 (en) * | 2016-03-05 | 2019-12-03 | Home Depot Product Authority, Llc | Optimistic product order reservation system and method |
US10339595B2 (en) * | 2016-05-09 | 2019-07-02 | Grabango Co. | System and method for computer vision driven applications within an environment |
SE542415C2 (en) * | 2016-12-21 | 2020-04-28 | Itab Scanflow Ab | Training of an automatic in-store registration system |
US11301684B1 (en) * | 2017-09-29 | 2022-04-12 | Amazon Technologies, Inc. | Vision-based event detection |
-
2019
- 2019-09-03 CA CA3111279A patent/CA3111279A1/en active Pending
- 2019-09-03 WO PCT/US2019/049388 patent/WO2020047555A1/en unknown
- 2019-09-03 US US16/559,415 patent/US20200074432A1/en not_active Abandoned
- 2019-09-03 JP JP2021511634A patent/JP2021535512A/ja active Pending
- 2019-09-03 EP EP19856354.6A patent/EP3844704A4/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP3844704A1 (en) | 2021-07-07 |
CA3111279A1 (en) | 2020-03-05 |
WO2020047555A1 (en) | 2020-03-05 |
EP3844704A4 (en) | 2022-05-11 |
US20200074432A1 (en) | 2020-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2021535512A (ja) | レジ無しチェックアウト用ディープ・ラーニング・ベースのアクショナブル・デジタル・レシート | |
US11195146B2 (en) | Systems and methods for deep learning-based shopper tracking | |
JP7208974B2 (ja) | 画像認識を用いた商品を置くこと及び取ることの検出 | |
US10127438B1 (en) | Predicting inventory events using semantic diffing | |
US10133933B1 (en) | Item put and take detection using image recognition | |
US10055853B1 (en) | Subject identification and tracking using image recognition | |
US20220147913A1 (en) | Inventory tracking system and method that identifies gestures of subjects holding inventory items | |
JP7228670B2 (ja) | 深層学習を使用したリアルタイム在庫追跡 | |
TWI779219B (zh) | 用於追蹤在實空間區域中的庫存商品的系統、方法、及非暫態電腦可讀取儲存媒體 | |
JP2022529157A (ja) | ディープ・ラーニング・ベースの被写体連続性のためのシステム及び方法 | |
WO2020023926A1 (en) | Directional impression analysis using deep learning | |
WO2020023799A1 (en) | Product correlation analysis using deep learning |