(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-30
(54)【発明の名称】デジタル画像処理を用いたアイテム識別
(51)【国際特許分類】
G06Q 30/0601 20230101AFI20240723BHJP
【FI】
G06Q30/0601 338
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023580610
(86)(22)【出願日】2022-06-09
(85)【翻訳文提出日】2023-12-27
(86)【国際出願番号】 US2022072832
(87)【国際公開番号】W WO2023278930
(87)【国際公開日】2023-01-05
(32)【優先日】2021-06-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520068870
【氏名又は名称】セブン-イレブン インコーポレイテッド
【氏名又は名称原語表記】7-Eleven, Inc.
【住所又は居所原語表記】3200 Hackberry Road, Irving TX 75063 US
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】クリシュナムルティ,サイレシュ,ブハラスワーユ
(72)【発明者】
【氏名】ダタール,スメダー,ヴィラス
(72)【発明者】
【氏名】タクルデサイ,シャンタヌ,ヤドゥナス
(72)【発明者】
【氏名】マウン,クリスタル
【テーマコード(参考)】
5L030
【Fターム(参考)】
5L030BB72
(57)【要約】
デバイスは、プラットフォームにおいてトリガイベントを検出し、3次元(3D)センサを使用してプラットフォーム上のアイテムの深度画像をキャプチャするように構成される。デバイスはさらに、プラットフォーム上の各アイテムのオブジェクト姿勢を決定し、プラットフォーム上の各アイテムのオブジェクト姿勢に基づいて、複数のカメラの中から1つ又は複数のカメラを識別するように構成される。デバイスは、識別されたカメラを使用してプラットフォーム上のアイテムの1つ又は複数の画像をキャプチャし、アイテムの特徴に基づいて、1つ又は複数の画像内のアイテムを識別するようにさらに構成される。デバイスは、プラットフォーム上の識別されたアイテムに関連付けられたユーザを識別し、ユーザに関連付けられたアカウントを識別し、識別されたアイテムをユーザのアカウントに関連付けるようにさらに構成される。
【特許請求の範囲】
【請求項1】
アイテム追跡システムであって、
各カメラがプラットフォームの少なくとも一部の画像をキャプチャするように構成された複数のカメラと、
前記プラットフォームの上方に配置された3次元(3D)センサであって、前記3Dセンサは、前記プラットフォーム上に置かれたアイテムのオーバーヘッド深度画像をキャプチャするように構成され、各オーバーヘッド深度画像は、前記プラットフォーム上に置かれたアイテムの上向き表面をキャプチャするように構成される、3Dセンサと、
複数のユーザに関するユーザアカウント情報を記憶するように動作可能なメモリと、
前記メモリに動作可能に結合されたプロセッサと
を備え、前記プロセッサは、
前記プラットフォームにおけるトリガイベントを検出することであって、前記トリガイベントは、ユーザが前記プラットフォーム上にアイテムを置くことに対応する、検出することと、
前記3Dセンサを使用して、前記プラットフォーム上の第1のアイテム及び第2のアイテムのオーバーヘッド深度画像をキャプチャすることと、
前記オーバーヘッド深度画像に少なくとも部分的に基づいて、前記第1のアイテムの第1のオブジェクト姿勢を決定することであって、前記第1のオブジェクト姿勢を決定することは、前記プラットフォームに対する前記第1のアイテムの第1の向きを決定することを含む、決定することと、
前記オーバーヘッド深度画像に少なくとも部分的に基づいて、前記第2のアイテムの第2のオブジェクト姿勢を決定することであって、前記第2のオブジェクト姿勢を決定することは、前記プラットフォームに対する前記第2のアイテムの第2の向きを決定することを含む、決定することと、
前記第1のアイテムの前記第1のオブジェクト姿勢に少なくとも部分的に基づいて、前記複数のカメラの中から第1のカメラを識別することと、
前記第2のアイテムの前記第2のオブジェクト姿勢に少なくとも部分的に基づいて、前記複数のカメラの中から第2のカメラを識別することであって、前記第2のカメラは、前記第1のカメラとは異なる、識別することと、
前記第1のカメラを使用して前記第1のアイテムの第1の画像をキャプチャすることであって、
前記第1の画像は、前記第1のアイテムの1つ又は複数の特徴を含み、
各特徴は、前記第1のアイテムの物理的属性に対応する、
キャプチャすることと、
前記第2のカメラを使用して前記第2のアイテムの第2の画像をキャプチャすることであって、
前記第2の画像は、前記第2のアイテムの1つ又は複数の特徴を含み、
各特徴は、前記第2のアイテムの物理的属性に対応する、
キャプチャすることと、
前記第1のアイテムの特徴に少なくとも部分的に基づいて、前記第1の画像内の前記第1のアイテムを識別することと、
前記第2のアイテムの特徴に少なくとも部分的に基づいて、前記第2の画像内の前記第2のアイテムを識別することと、
前記第1のアイテム及び前記第2のアイテムに関連付けられた前記ユーザを識別することと、
前記ユーザに関連付けられた前記ユーザアカウント情報内のアカウントを識別することと、
前記第1のアイテム及び前記第2のアイテムを前記ユーザの前記アカウントに関連付けることと
を行うように構成される、デバイス。
【請求項2】
前記プラットフォーム上のアイテムの重量を測定するように構成された重量センサをさらに備え、
前記トリガイベントを検出することは、前記重量センサ上の重量増加を検出することを含む、
請求項1に記載のデバイス。
【請求項3】
前記トリガイベントを検出することは、
前記プラットフォームの第2の深度画像をキャプチャすることと、
前記第2の深度画像を基準深度画像と比較することであって、前記基準深度画像は、前記プラットフォーム上にアイテムがないときにキャプチャされる、比較することと、
前記第2の深度画像と前記基準深度画像との間の差に基づいて、前記第1のアイテム及び前記第2のアイテムを検出することと
を含む、請求項1に記載のデバイス。
【請求項4】
前記トリガイベントを検出することは、
前記プラットフォームの画像をキャプチャすることと、
前記プラットフォームの前記画像を基準画像と比較することであって、前記基準画像は、前記プラットフォーム上にアイテムがないときにキャプチャされる、比較することと、
前記プラットフォームの前記画像と前記基準画像との間の差に基づいて、前記第1のアイテム及び前記第2のアイテムを検出することと
を含む、請求項1に記載のデバイス。
【請求項5】
前記メモリは、前記3Dセンサに関連付けられたホモグラフィを記憶するようにさらに動作可能であり、前記ホモグラフィは、前記オーバーヘッド深度画像内のピクセル位置と前記プラットフォーム上の物理的位置との間で変換する係数を含み、
前記複数のカメラの中から前記第1のカメラを識別することは、
前記ホモグラフィを前記オーバーヘッド深度画像に適用して、前記プラットフォーム上の前記第1のアイテムの物理的位置を決定することと、
前記第1のアイテムの前記物理的位置と前記複数のカメラとの間の距離を決定することと、
前記複数のカメラの中から、前記第1のアイテムの前記物理的位置に最も近い前記第1のカメラを選択することと
を含む、請求項1に記載のデバイス。
【請求項6】
前記プラットフォーム上のアイテムの重量を測定するように構成された重量センサをさらに備え、
前記メモリは、複数のアイテムの重量を含むアイテム情報を記憶するようにさらに動作可能であり、
前記プロセッサは、
前記第1のアイテム及び前記第2のアイテムに関連付けられた前記アイテム情報に基づいて、前記第1のアイテム及び前記第2のアイテムに関連付けられた第1の重量を決定することと、
前記重量センサから前記第1のアイテム及び前記第2のアイテムの第2の重量を受信することと、
前記第1の重量と前記第2の重量との間の重量差を決定することと、
前記重量差が重量差しきい値以下であると決定することと、
前記重量差が重量差しきい値以下であると決定したことに応答して、前記第1のアイテム及び前記第2のアイテムを前記ユーザの前記アカウントに関連付けることと
を行うようにさらに構成される、請求項1に記載のデバイス。
【請求項7】
前記第1の画像内の前記第1のアイテムを識別することは、
入力画像中に存在するアイテムの特徴に基づいて、アイテム識別子を出力するように構成された機械学習モデルに前記第1の画像を入力することと、
前記第1の画像を前記機械学習モデルに入力することに応答して、前記第1のアイテムの第1のアイテム識別子を受信することと
を含む、請求項1に記載のデバイス。
【請求項8】
前記第1のオブジェクト姿勢に少なくとも部分的に基づいて、前記複数のカメラの中から前記第1のカメラを識別することは、
前記第1のアイテムが前記プラットフォームに対して垂直な向きにあると決定することと、
前記決定に応答して、前記複数のカメラの中から前記第1のカメラを選択することであって、前記第1のカメラは、前記プラットフォームの斜視図で構成される、選択することと
を含む、請求項1に記載のデバイス。
【請求項9】
前記第1のオブジェクト姿勢に少なくとも部分的に基づいて、前記複数のカメラの中から前記第1のカメラを識別することは、
前記第1のアイテムが前記プラットフォームに対して水平の向きにあると決定することと、
前記決定に応答して、前記複数のカメラの中から前記第1のカメラを選択することであって、前記第1のカメラは、前記プラットフォームの俯瞰図で構成される、選択することと
を含む、請求項1に記載のデバイス。
【請求項10】
前記第1のアイテムの前記第1のオブジェクト姿勢を決定することは、
前記第1のアイテムに対応する前記オーバーヘッド深度画像内のエリアを決定することと、
前記エリアを所定のエリアしきい値と比較することと、
前記エリアが前記所定のエリアしきい値以下であると決定することと、
前記決定に応答して、前記複数のカメラの中から前記第1のカメラを選択することであって、前記第1のカメラは、前記プラットフォームの斜視図で構成される、選択することと
を含む、請求項1に記載のデバイス。
【請求項11】
前記第1のアイテムの前記第1のオブジェクト姿勢を決定することは、
前記第1のアイテムに対応する前記オーバーヘッド深度画像内のエリアを決定することと、
前記エリアを所定のエリアしきい値と比較することと、
前記エリアが前記所定のエリアしきい値よりも大きいと決定することと、
前記決定に応答して、前記複数のカメラの中から前記第1のカメラを選択することであって、前記第1のカメラは、前記プラットフォームの俯瞰図で構成される、選択することと
を含む、請求項1に記載のデバイス。
【請求項12】
前記プロセッサは、
前記第1のアイテム及び前記第2のアイテムのアイテム識別子を、禁止アイテムのアイテム識別子のリストと比較することと、
前記第1のアイテム及び前記第2のアイテムを前記ユーザの前記アカウントに関連付ける前に、前記第1のアイテム及び前記第2のアイテムの前記アイテム識別子が、禁止アイテムの前記アイテム識別子のいずれとも一致しないと決定することと
を行うようにさらに構成される、請求項1に記載のデバイス。
【請求項13】
前記第1の画像内の前記第1のアイテムを識別することは、
前記第1のアイテムが正しく識別された確率に対応する信頼度スコアを取得することと、
前記信頼度スコアを所定の信頼度スコアしきい値と比較することと、
前記信頼度スコアが前記信頼度スコアしきい値以上であると決定することと
を含む、請求項1に記載のデバイス。
【請求項14】
前記メモリは、複数のアイテムの特徴を記憶するようにさらに動作可能であり、特徴は、アイテムの物理的属性に対応し、
前記第1の画像内の前記第1のアイテムを識別することは、
前記第1の画像から前記第1のアイテムの特徴を識別することと、
前記第1のアイテムの前記識別された特徴を前記複数のアイテムの前記特徴と比較することと、
前記第1のアイテムの前記識別された特徴に少なくとも部分的に一致する特徴を有する第3のアイテムを前記複数の一致の中から識別することと、
前記第1のアイテムを、前記第3のアイテムに対応するアイテム識別子に関連付けることと
を含む、請求項1に記載のデバイス。
【請求項15】
アイテム追跡方法であって、
プラットフォームにおいてトリガイベントを検出することであって、前記トリガイベントは、ユーザが前記プラットフォーム上にアイテムを置くことに対応する、検出することと、
3次元(3D)センサを使用して、前記プラットフォーム上の第1のアイテム及び第2のアイテムのオーバーヘッド深度画像をキャプチャすることであって、前記オーバーヘッド深度画像は、前記プラットフォーム上に置かれたアイテムの上向き表面をキャプチャするように構成される、キャプチャすることと、
前記オーバーヘッド深度画像に少なくとも部分的に基づいて、前記第1のアイテムの第1のオブジェクト姿勢を決定することであって、前記第1のオブジェクト姿勢を決定することは、前記プラットフォームに対する前記第1のアイテムの第1の向きを決定することを含む、決定することと、
前記オーバーヘッド深度画像に少なくとも部分的に基づいて、前記第2のアイテムの第2のオブジェクト姿勢を決定することであって、前記第2のオブジェクト姿勢を決定することは、前記プラットフォームに対する前記第2のアイテムの第2の向きを決定することを含む、決定することと、
前記第1のアイテムの前記第1のオブジェクト姿勢に少なくとも部分的に基づいて、複数のカメラの中から第1のカメラを識別することと、
第2のカメラの前記第2のオブジェクト姿勢に少なくとも部分的に基づいて、前記複数のカメラの中から前記第2のカメラを識別することであって、前記第2のカメラは、前記第1のカメラとは異なる、識別することと、
前記第1のカメラを使用して前記第1のアイテムの第1の画像をキャプチャすることであって、
前記第1の画像は、前記第1のアイテムの1つ又は複数の特徴を含み、
各特徴は、前記第1のアイテムの物理的属性に対応する、
キャプチャすることと、
前記第2のカメラを使用して前記第2のアイテムの第2の画像をキャプチャすることであって、
前記第2の画像は、前記第2のアイテムの1つ又は複数の特徴を含み、
各特徴は、前記第2のアイテムの物理的属性に対応する、
キャプチャすることと、
前記第1のアイテムの特徴に少なくとも部分的に基づいて、前記第1の画像内の前記第1のアイテムを識別することと、
前記第2のアイテムの前記特徴に少なくとも部分的に基づいて、前記第2の画像内の前記第2のアイテムを識別することと、
前記第1のアイテム及び前記第2のアイテムに関連付けられた前記ユーザを識別することと、
前記ユーザに関連付けられたアカウントを識別することと、
前記第1のアイテム及び前記第2のアイテムを前記ユーザの前記アカウントに関連付けることと
を含む方法。
【請求項16】
前記トリガイベントを検出することは、重量センサ上の重量増加を検出することを含み、
前記重量センサは、前記プラットフォーム上のアイテムの重量を測定するように構成される、
請求項15に記載の方法。
【請求項17】
前記トリガイベントを検出することは、
前記プラットフォームの第2の深度画像をキャプチャすることと、
前記第2の深度画像を基準深度画像と比較することであって、前記基準深度画像は、前記プラットフォーム上にアイテムがないときにキャプチャされる、比較することと、
前記第2の深度画像と前記基準深度画像との間の差に基づいて、第1のアイテム及び前記第2のアイテムを検出することと
請求項15に記載の方法。
【請求項18】
前記トリガイベントを検出することは、
前記プラットフォームの画像をキャプチャすることと、
前記プラットフォームの前記画像を基準画像と比較することであって、前記基準画像は、前記プラットフォーム上にアイテムがないときにキャプチャされる、比較することと、
前記プラットフォームの前記画像と前記基準画像との間の差に基づいて、前記第1のアイテム及び前記第2のアイテムを検出することと
を含む、請求項15に記載の方法。
【請求項19】
前記第1のアイテム及び前記第2のアイテムに関連付けられたアイテム情報に基づいて、前記第1のアイテム及び前記第2のアイテムに関連付けられた第1の重量を決定することと、
前記第1のアイテム及び前記第2のアイテムの第2の重量を重量センサから受信することであって、前記重量センサは、前記プラットフォーム上のアイテムの重量を測定するように構成される、受信することと、
前記第1の重量と前記第2の重量との間の重量差を決定することと、
前記重量差が重量差しきい値以下であると決定することと、
前記重量差が重量差しきい値以下であると決定したことに応答して、前記第1のアイテム及び前記第2のアイテムを前記ユーザの前記アカウントに関連付けることと
をさらに含む、請求項15に記載の方法。
【請求項20】
前記第1の画像内の前記第1のアイテムを識別することは、
入力画像中に存在するアイテムの特徴に基づいて、アイテム識別子を出力するように構成された機械学習モデルに前記第1の画像を入力することと、
前記第1の画像を前記機械学習モデルに入力することに応答して、前記第1のアイテムの第1のアイテム識別子を受信することと
を含む、請求項15に記載の方法。
【請求項21】
前記複数のカメラの中から前記第1のカメラを識別することは、
ホモグラフィを前記オーバーヘッド深度画像に適用して、前記プラットフォーム上の前記第1のアイテムの物理的位置を決定することであって、前記ホモグラフィは、前記オーバーヘッド深度画像内のピクセル位置と前記プラットフォーム上の物理的位置との間で変換する係数を含む、決定することと、
前記第1のアイテムの前記物理的位置と前記複数のカメラとの間の距離を決定することと、
前記複数のカメラの中から、前記第1のアイテムの前記物理的位置に最も近い前記第1のカメラを選択することと
を含む、請求項15に記載の方法。
【請求項22】
前記第1のオブジェクト姿勢に少なくとも部分的に基づいて、前記複数のカメラの中から前記第1のカメラを識別することは、
前記第1のアイテムが前記プラットフォームに対して垂直な向きにあると決定することと、
前記決定に応答して、前記複数のカメラの中から前記第1のカメラを選択することであって、前記第1のカメラは、前記プラットフォームの斜視図で構成される、選択することと
を含む、請求項15に記載の方法。
【請求項23】
前記第1のオブジェクト姿勢に少なくとも部分的に基づいて、前記複数のカメラの中から前記第1のカメラを識別することは、
前記第1のアイテムが前記プラットフォームに対して水平の向きにあると決定することと、
前記決定に応答して、前記複数のカメラの中から前記第1のカメラを選択することであって、前記第1のカメラは、前記プラットフォームの俯瞰図で構成される、選択することと
を含む、請求項15に記載の方法。
【請求項24】
前記第1のアイテムの前記第1のオブジェクト姿勢を決定することは、
前記第1のアイテムに対応する前記オーバーヘッド深度画像内のエリアを決定することと、
前記エリアを所定のエリアしきい値と比較することと、
前記エリアが前記所定のエリアしきい値以下であると決定することと、
前記決定に応答して、前記複数のカメラの中から前記第1のカメラを選択することであって、前記第1のカメラは、前記プラットフォームの斜視図で構成される、選択することと
を含む、請求項15に記載の方法。
【請求項25】
前記第1のアイテムの前記第1のオブジェクト姿勢を決定することは、
前記第1のアイテムに対応する前記オーバーヘッド深度画像内のエリアを決定することと、
前記エリアを所定のエリアしきい値と比較することと、
前記エリアが前記所定のエリアしきい値よりも大きいと決定することと、
前記決定に応答して、前記複数のカメラの中から前記第1のカメラを選択することであって、前記第1のカメラは、前記プラットフォームの俯瞰図で構成される、選択することと
を含む、請求項15に記載の方法。
【請求項26】
前記第1のアイテム及び前記第2のアイテムのアイテム識別子を、禁止アイテムのアイテム識別子のリストと比較することと、
前記第1のアイテム及び前記第2のアイテムを前記ユーザの前記アカウントに関連付ける前に、前記第1のアイテム及び前記第2のアイテムの前記アイテム識別子が、禁止アイテムの前記アイテム識別子のいずれとも一致しないと決定することと
をさらに含む、請求項15に記載の方法。
【請求項27】
前記第1の画像内の前記第1のアイテムを識別することは、
前記第1のアイテムが正しく識別された確率に対応する信頼度スコアを取得することと、
前記信頼度スコアを所定の信頼度スコアしきい値と比較することと、
前記信頼度スコアが前記信頼度スコアしきい値以上であると決定することと
を含む、請求項15に記載の方法。
【請求項28】
前記第1の画像内の前記第1のアイテムを識別することは、
前記第1の画像から前記第1のアイテムの特徴を識別することと、
前記第1のアイテムの前記識別された特徴を、メモリに記憶された前記複数のアイテムの特徴と比較することと、
前記第1のアイテムの前記識別された特徴に少なくとも部分的に一致する特徴を有する第3のアイテムを前記複数の一致の中から識別することと、
前記第1のアイテムを、前記第3のアイテムに対応するアイテム識別子に関連付けることと
を含む、請求項15に記載の方法。
【請求項29】
非一時的コンピュータ可読媒体に記憶された実行可能命令を備えるコンピュータプログラム製品であって、前記実行可能命令は、プロセッサによって実行されると、前記プロセッサに
プラットフォームにおいてトリガイベントを検出することであって、前記トリガイベントは、ユーザが前記プラットフォーム上にアイテムを置くことに対応する、検出することと、
3次元(3D)センサを使用して、前記プラットフォーム上の第1のアイテム及び第2のアイテムのオーバーヘッド深度画像をキャプチャすることであって、前記オーバーヘッド深度画像は、前記プラットフォーム上に置かれたアイテムの上向き表面をキャプチャするように構成される、キャプチャすることと、
前記オーバーヘッド深度画像に少なくとも部分的に基づいて、前記第1のアイテムの第1のオブジェクト姿勢を決定することであって、前記第1のオブジェクト姿勢を決定することは、前記プラットフォームに対する前記第1のアイテムの第1の向きを決定することを含む、決定することと、
前記オーバーヘッド深度画像に少なくとも部分的に基づいて、前記第2のアイテムの第2のオブジェクト姿勢を決定することであって、前記第2のオブジェクト姿勢を決定することは、前記プラットフォームに対する前記第2のアイテムの第2の向きを決定することを含む、決定することと、
前記第1のアイテムの前記第1のオブジェクト姿勢に少なくとも部分的に基づいて、複数のカメラの中から第1のカメラを識別することと、
前記第2のアイテムの前記第2のオブジェクト姿勢に少なくとも部分的に基づいて、前記複数のカメラの中から第2のカメラを識別することであって、前記第2のカメラは、前記第1のカメラとは異なる、識別することと、
前記第1のカメラを使用して前記第1のアイテムの第1の画像をキャプチャすることであって、
前記第1の画像は、前記第1のアイテムの1つ又は複数の特徴を含み、
各特徴は、前記第1のアイテムの物理的属性に対応する、
キャプチャすることと、
前記第2のカメラを使用して前記第2のアイテムの第2の画像をキャプチャすることであって、
前記第2の画像は、前記第2のアイテムの1つ又は複数の特徴を含み、
各特徴は、前記第2のアイテムの物理的属性に対応する、
キャプチャすることと、
前記第1のアイテムの特徴に少なくとも部分的に基づいて、前記第1の画像内の前記第1のアイテムを識別することと、
第2のアイテムの前記特徴に少なくとも部分的に基づいて、前記第2の画像内の前記第2のアイテムを識別することと、
前記プラットフォーム上の前記第1のアイテム及び前記第2のアイテムに関連付けられた前記ユーザを識別することと、
前記ユーザに関連付けられたアカウントを識別することと、
前記第1のアイテム及び前記第2のアイテムを前記ユーザの前記アカウントに関連付けることと
を行わせる、コンピュータプログラム製品。
【請求項30】
前記トリガイベントを検出することは、重量センサ上の重量増加を検出することを含み、
前記重量センサは、前記プラットフォーム上のアイテムの重量を測定するように構成される、
請求項29に記載のコンピュータプログラム製品。
【請求項31】
前記トリガイベントを検出することは、
前記プラットフォームの第2の深度画像をキャプチャすることと、
前記第2の深度画像を基準深度画像と比較することであって、前記基準深度画像は、前記プラットフォーム上にアイテムがないときにキャプチャされる、比較することと、
前記第2の深度画像と前記基準深度画像との間の差に基づいて、第1のアイテム及び前記第2のアイテムを検出することと
請求項29に記載のコンピュータプログラム製品。
【請求項32】
前記トリガイベントを検出することは、
前記プラットフォームの画像をキャプチャすることと、
前記プラットフォームの前記画像を基準画像と比較することであって、前記基準画像は、前記プラットフォーム上にアイテムがないときにキャプチャされる、比較することと、
前記プラットフォームの前記画像と前記基準画像との間の差に基づいて、前記第1のアイテム及び前記第2のアイテムを検出することと
を含む、請求項29に記載のコンピュータプログラム製品。
【請求項33】
前記プロセッサによって実行されると、前記プロセッサに、
前記第1のアイテム及び前記第2のアイテムに関連付けられたアイテム情報に基づいて、前記第1のアイテム及び前記第2のアイテムに関連付けられた第1の重量を決定することと、
前記第1のアイテム及び前記第2のアイテムの第2の重量を重量センサから受信することであって、前記重量センサは、前記プラットフォーム上のアイテムの重量を測定するように構成される、受信することと、
前記第1の重量と前記第2の重量との間の重量差を決定することと、
前記重量差が重量差しきい値以下であると決定することと、
前記重量差が重量差しきい値以下であると決定したことに応答して、前記第1のアイテム及び前記第2のアイテムを前記ユーザの前記アカウントに関連付けることと
を行わせる命令をさらに含む、請求項29に記載のコンピュータプログラム製品。
【請求項34】
前記第1の画像内の前記第1のアイテムを識別することは、
入力画像中に存在するアイテムの特徴に基づいて、アイテム識別子を出力するように構成された機械学習モデルに前記第1の画像を入力することと、
前記第1の画像を前記機械学習モデルに入力することに応答して、前記第1のアイテムの第1のアイテム識別子を受信することと
を含む、請求項29に記載のコンピュータプログラム製品。
【請求項35】
前記複数のカメラの中から前記第1のカメラを識別することは、
ホモグラフィを前記オーバーヘッド深度画像に適用して、前記プラットフォーム上の前記第1のアイテムの物理的位置を決定することであって、前記ホモグラフィは、前記オーバーヘッド深度画像内のピクセル位置と前記プラットフォーム上の物理的位置との間で変換する係数を含む、決定することと、
前記第1のアイテムの前記物理的位置と前記複数のカメラとの間の距離を決定することと、
前記複数のカメラの中から、前記第1のアイテムの前記物理的位置に最も近い前記第1のカメラを選択することと
を含む、請求項29に記載のコンピュータプログラム製品。
【請求項36】
前記第1のオブジェクト姿勢に少なくとも部分的に基づいて、前記複数のカメラの中から前記第1のカメラを識別することは、
前記第1のアイテムが前記プラットフォームに対して垂直な向きにあると決定することと、
前記決定に応答して、前記複数のカメラの中から前記第1のカメラを選択することであって、前記第1のカメラは、前記プラットフォームの斜視図で構成される、選択することと
を含む、請求項29に記載のコンピュータプログラム製品。
【請求項37】
前記第1のオブジェクト姿勢に少なくとも部分的に基づいて、前記複数のカメラの中から前記第1のカメラを識別することは、
前記第1のアイテムが前記プラットフォームに対して水平の向きにあると決定することと、
前記決定に応答して、前記複数のカメラの中から前記第1のカメラを選択することであって、前記第1のカメラは、前記プラットフォームの俯瞰図で構成される、選択することと
を含む、請求項29に記載のコンピュータプログラム製品。
【請求項38】
前記第1のアイテムの前記第1のオブジェクト姿勢を決定することは、
前記第1のアイテムに対応する前記オーバーヘッド深度画像内のエリアを決定することと、
前記エリアを所定のエリアしきい値と比較することと、
前記エリアが前記所定のエリアしきい値以下であると決定することと、
前記決定に応答して、前記複数のカメラの中から前記第1のカメラを選択することであって、前記第1のカメラは、前記プラットフォームの斜視図で構成される、選択することと
を含む、請求項29に記載のコンピュータプログラム製品。
【請求項39】
前記第1のアイテムの前記第1のオブジェクト姿勢を決定することは、
前記第1のアイテムに対応する前記オーバーヘッド深度画像内のエリアを決定することと、
前記エリアを所定のエリアしきい値と比較することと、
前記エリアが前記所定のエリアしきい値よりも大きいと決定することと、
前記決定に応答して、前記複数のカメラの中から前記第1のカメラを選択することであって、前記第1のカメラは、前記プラットフォームの俯瞰図で構成される、選択することと
を含む、請求項29に記載のコンピュータプログラム製品。
【請求項40】
前記プロセッサによって実行されると、前記プロセッサに、
前記第1のアイテム及び前記第2のアイテムのアイテム識別子を、禁止アイテムのアイテム識別子のリストと比較することと、
前記第1のアイテム及び前記第2のアイテムを前記ユーザの前記アカウントに関連付ける前に、前記第1のアイテム及び前記第2のアイテムの前記アイテム識別子が、禁止アイテムの前記アイテム識別子のいずれとも一致しないと決定することと
を行わせる命令をさらに含む、請求項29に記載のコンピュータプログラム製品。
【請求項41】
前記第1の画像内の前記第1のアイテムを識別することは、
前記第1のアイテムが正しく識別された確率に対応する信頼度スコアを取得することと、
前記信頼度スコアを所定の信頼度スコアしきい値と比較することと、
前記信頼度スコアが前記信頼度スコアしきい値以上であると決定することと
請求項29に記載のコンピュータプログラム製品。
【請求項42】
前記第1の画像内の前記第1のアイテムを識別することは、
前記第1の画像から前記第1のアイテムの特徴を識別することと、
前記第1のアイテムの前記識別された特徴を、メモリに記憶された前記複数のアイテムの特徴と比較することと
前記第1のアイテムの前記識別された特徴に少なくとも部分的に一致する特徴を有する第3のアイテムを前記複数の一致の中から識別することと、
前記第1のアイテムを、前記第3のアイテムに対応するアイテム識別子に関連付けることと
請求項29に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、デジタル画像処理に関し、より具体的には、デジタル画像処理を用いたアイテム識別に関する。
【背景技術】
【0002】
空間内のオブジェクトを識別及び追跡することは、いくつかの技術的課題を提起する。従来のシステムは、オブジェクトを識別するために様々な画像処理技法を使用し得る。例えば、これらのシステムは、画像内のアイテムを後に識別するために使用することができる、アイテムの異なる特徴を識別し得る。このプロセスは、画像がいくつかのアイテムを含む場合、計算集約的である。例えば、複数のアイテムを有する画像内のアイテムを識別することは、画像内の個々のアイテムを識別し、次いで、アイテムの特徴をアイテムのデータベース内のあらゆるアイテムと比較することを伴う。計算集約的であることに加えて、このプロセスは、かなりの時間を必要とし、すなわち、このプロセスがリアルタイムアプリケーションと互換性がないということである。この問題は、複数のアイテムを同時に識別及び追跡しようとするときには解決困難になる。
【発明の概要】
【0003】
本出願で開示されるシステムは、カメラと3次元(3D)センサとの組合せを使用して、プラットフォーム上に置かれたアイテムを識別及び追跡することによって、上述した技術的問題に対する技術的解決策を提供する。開示されたシステムは、プラットフォーム上に置かれたアイテムの画像をキャプチャするために撮像デバイス上のカメラの組合せを選択し、プラットフォーム上に置かれたアイテムを識別し、アイテムをユーザに割り当てるプロセスを含む、いくつかの実用的なアプリケーション及び技術的利点を提供する。既存のシステムは、典型的には、ユーザがアイテムをスキャン又は手動で識別することを必要とするので、アイテムを迅速に識別するシステムの能力にボトルネックが生じる。対照的に、開示されるプロセスは、アイテムの画像からアイテムを識別し、ユーザがアイテムをスキャンするか又は他の方法で識別することを必要とすることなく、アイテムをユーザに割り当てることが可能である。このプロセスは、複数のアイテムを迅速に識別するシステムの能力を向上させることによって、実用的なアプリケーションを提供する。これらの実用的なアプリケーションは、アイテムを識別するシステムの能力を向上させるだけでなく、基礎となるネットワーク及びネットワーク内のデバイスも向上させる。例えば、この開示されるプロセスは、アイテムを識別し、アイテムをユーザに割り当てるのに要する時間を短縮することによって、システムがより多くのユーザにサービスを提供することを可能にする。言い換えると、このプロセスは、追加のハードウェアリソースを必要とすることなく、ハードウェア利用を改善し、他のプロセスに利用可能なハードウェアリソースの数を増加させ、システムのスループットを増加させる。追加的に、これらの技術的改良により、本明細書で説明されるアイテム識別及び追跡機能性のスケーリングが可能になる。
【0004】
一実施形態では、アイテム追跡システムは、撮像デバイスのプラットフォームにおいてトリガイベントを検出するように構成されたアイテム追跡デバイスを備える。トリガイベントは、ユーザが、プラットフォーム上にアイテムを置くことによって、撮像デバイスに接近するか、又は撮像デバイスと相互作用するときに対応し得る。アイテム追跡デバイスは、3Dセンサを使用してプラットフォーム上のアイテムの深度画像をキャプチャし、深度画像に基づいて、プラットフォーム上の各アイテムのオブジェクト姿勢を決定するように構成される。姿勢は、プラットフォームに対するアイテムの位置及び向きに対応する。アイテム追跡デバイスは、プラットフォーム上の各アイテムのオブジェクト姿勢に基づいて、撮像デバイス上の複数のカメラの中から1つ又は複数のカメラを識別するようにさらに構成される。このプロセスにより、アイテム追跡デバイスは、プラットフォーム上のアイテムの最良のビューを有するカメラを選択することができ、これは、アイテムを識別するために処理される画像の数を低減する。アイテム追跡デバイスは、識別されたカメラを使用してプラットフォーム上のアイテムの画像をキャプチャし、アイテムの特徴に基づいて、画像内のアイテムを識別するようにさらに構成される。アイテム追跡デバイスは、プラットフォーム上の識別されたアイテムに関連付けられたユーザを識別し、ユーザに関連付けられたアカウントを識別し、ユーザに関連付けられたアカウントにアイテムを追加するようにさらに構成される。
【0005】
本開示の特定の実施形態は、これらの利点のうちのいくつかを含んでもよいし、全てを含んでもよいし、いずれも含まなくてもよい。これらの利点及び他の特徴は、添付の図面及び特許請求の範囲と併せて以下の詳細な説明からより明確に理解されるであろう。
【図面の簡単な説明】
【0006】
本開示のより完全な理解のために、ここで、添付の図面及び詳細な説明と併せて以下の簡単な説明が参照され、同様の参照番号は、同様の部分を表す。
【
図1】デジタル画像処理を採用するように構成されたアイテム追跡システムの一実施形態の概略図である。
【
図2A】撮像デバイスの一実施形態の斜視図である。
【
図2B】筐体を有する撮像デバイスの別の実施形態の斜視図である。
【
図2C】開放筐体を有する撮像デバイスの別の実施形態の斜視図である。
【
図3】アイテム追跡システムのためのアイテム追跡プロセスの一実施形態のフローチャートである。
【
図4】プラットフォーム上にアイテムを置く前と置いた後の撮像デバイスのプラットフォームの深度画像の比較の一例である。
【
図6】アイテム追跡システム用に構成されたアイテム追跡デバイスの一実施形態である。
【発明を実施するための形態】
【0007】
システム概要
図1は、デジタル画像処理を採用するように構成されたアイテム追跡システム100の一実施形態の概略図である。アイテム追跡システム100は、デジタル画像処理を採用して、撮像デバイス102のプラットフォーム202上に置かれたアイテム204を識別し、アイテム204を特定のユーザに割り当て得る。このプロセスにより、ユーザは、ユーザが買いたい(take)アイテム204をユーザがスキャン又は他の方法で手動で識別することを必要とすることなく、空間からアイテム204を取得することができる。一実施形態では、アイテム追跡システム100を空間(例えば、店舗)に設置することで、買い物客が従来のチェックアウトプロセスを行う必要がないようにし得る。本開示では店舗の例が使用されるが、本開示は、アイテム追跡システム100が任意のタイプの物理的な空間(例えば、部屋、オフィス、屋外スタンド、モール、スーパーマーケット、コンビニエンスストア、ポップアップストア、倉庫、保管センター、遊園地、空港、オフィスビルなど)に設置され、使用され得ることを企図する。一例として、空間は、購入可能な複数のアイテム204を含む店舗であり得る。アイテム追跡システム100を店舗に設置することで、買い物客が店舗から商品を購入するのに従来のチェックアウトプロセスを行う必要がないようにし得る。この例では、店舗は、コンビニエンスストア又は食料品店であり得る。他の例では、店舗は、物理的な建物ではなく、買い物客が買い物をすることができる物理的な空間又は環境であり得る。例えば、店舗は、空港の「グラブアンドゴー」パントリ、オフィスビルのキオスク、公園の屋外市場などであってもよい。別の例として、空間は、ユーザが使用又は借用することができる複数のアイテム204を含む倉庫又は備品室であってもよい。この例では、アイテム追跡システム100を設置することで、ユーザは、自分自身で部品又は消耗品(supplies)をチェックアウトすることができる。他の例では、アイテム追跡システム100は、任意の他の適切なアプリケーションに採用され得る。
【0008】
一実施形態では、アイテム追跡システム100は、ネットワーク106を介して互いに信号通信する1つ又は複数の撮像デバイス102及びアイテム追跡デバイス104を含む。ネットワーク106は、インターネット、イントラネット、プライベートネットワーク、パブリックネットワーク、ピアツーピアネットワーク、公衆交換電話網、セルラーネットワーク、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、パーソナルエリアネットワーク(PAN)、ワイドエリアネットワーク通信網(WAN)、及び衛星ネットワークの全て又は一部を含むがこれらに限定されない任意の適切なタイプのワイヤレス及び/又はワイヤードネットワークであり得る。ネットワーク106は、当業者によって理解されるように、任意の適切なタイプの通信プロトコルをサポートするように構成され得る。
【0009】
撮像デバイス
撮像デバイス102は、概して、撮像デバイス102のプラットフォーム202上に置かれたアイテム204の画像122及び深度画像124をキャプチャするように構成される。一実施形態では、撮像デバイス102は、1つ又は複数のカメラ108と、1つ又は複数の3次元(3D)センサ110と、1つ又は複数の重量センサ112とを備える。撮像デバイス102のハードウェア構成に関する追加の情報については
図2A~
図2Cで説明する。
【0010】
カメラ108及び3Dセンサ110はそれぞれ、プラットフォーム202の少なくとも一部の画像122及び深度画像124をキャプチャするように構成される。カメラ108は、アイテム204の画像122(例えば、RGB画像)をキャプチャするように構成される。カメラ108の例には、カメラ、ビデオカメラ、ウェブカメラ、及びプリント回路板(PCB)カメラが含まれるが、これらに限定されない。3Dセンサ110は、アイテムの深度画像124(例えば、深度マップ又は点群)をキャプチャするように構成される。3Dセンサ110の例には、深度検知カメラ、飛行時間センサ、LiDAR、構造化光カメラ、又は任意の他の適切なタイプの深度検知デバイスが含まれるが、これらに限定されない。いくつかの実施形態では、カメラ108及び3Dセンサ110は、単一のデバイス内に統合される。他の実施形態では、カメラ108及び3Dセンサ110は、別個のデバイスである。
【0011】
重量センサ112は、撮像デバイス102のプラットフォーム202上に置かれたアイテム204の重量を測定するように構成される。例えば、重量センサ112は、入力された機械力(例えば、重量、張力、圧縮、圧力、又はトルク)を出力電気信号(例えば、電流又は電圧)に変換するトランデューサを備え得る。入力された力が増加するにつれて、出力される電気信号が比例して増加し得る。アイテム追跡デバイス104は、出力された電気信号を分析して、重量センサ112上のアイテム204の総重量を決定するように構成される。重量センサ112の例には、圧電ロードセル又は感圧センサが含まれるが、これらに限定されない。例えば、重量センサ112は、ロードセルが受ける重量を示す電気信号を通信するように構成された1つ又は複数のロードセルを備え得る。例えば、ロードセルは、ロードセルが受ける重量又は力に応じて変化する電流を発生させ得る。ロードセルは、生成された電気信号を処理のためにアイテム追跡デバイス104に通信するように構成される。
【0012】
アイテム追跡デバイス
アイテム追跡デバイス104の例には、サーバ、コンピュータ、ラップトップ、タブレット、又は任意の他の適切なタイプのデバイスが含まれるが、これらに限定されない。
図1では、撮像デバイス102及びアイテム追跡デバイス104は、2つのデバイスとして示されている。いくつかの実施形態では、撮像デバイス102及びアイテム追跡デバイス104は、単一のデバイス内に統合され得る。一実施形態では、アイテム追跡デバイス104は、アイテム追跡エンジン114とメモリ116とを備える。アイテム追跡デバイス104のハードウェア構成に関する更なる詳細については
図6において説明する。メモリ116は、アイテム情報118、ユーザアカウント情報120、機械学習モデル126、及び/又は任意の他の適切なタイプのデータを記憶するように構成される。
【0013】
一実施形態では、アイテム追跡エンジン114は、概して、画像122及び深度画像124を処理して、撮像デバイス102のプラットフォーム202上に置かれたアイテム204を識別し、識別されたアイテム204をユーザに関連付けるように構成される。動作中のアイテム追跡エンジン114の例については
図3において以下でより詳細に説明する。
【0014】
アイテム情報118は、一般に、複数のアイテムに関連付けられた情報を含む。アイテム情報118の例には、価格、重量、バーコード、アイテム識別子、アイテム番号、アイテムの特徴、又はアイテム204に関連付けられた任意の他の適切な情報が含まれるが、これらに限定されない。アイテムの特徴の例には、アイテム204のテキスト、ロゴ、ブランド、色、バーコード、パターン、形状、又は任意の他の適切なタイプの属性が含まれるが、これらに限定されない。ユーザアカウント情報120は、ユーザに関連付けられた1つ又は複数のアカウントに関する情報を含む。アカウントの例には、顧客アカウント、従業員アカウント、学校アカウント、ビジネスアカウント、金融アカウント、デジタルカート、又は任意の他の適切なタイプのアカウントが含まれるが、これらに限定されない。ユーザアカウント情報120は、ユーザ情報を、ユーザに関連付けられたアカウントに関連付けるように構成され得る。ユーザ情報の例には、名前、電話番号、電子メールアドレス、識別番号、従業員番号、英数字コード、リワードメンバーシップ情報、又はユーザに関連付けられた任意の他の適切なタイプの情報が含まれるが、これらに限定されない。いくつかの実施形態では、アイテム情報118及び/又はユーザアカウント情報120は、アイテム追跡デバイス104の外部のデバイス(例えば、クラウドサーバ)に記憶され得る。
【0015】
機械学習モデル126の例には、多層パーセプトロン、リカレントニューラルネットワーク(RNN)、RNNロングショートタームメモリ(LSTM)、畳み込みニューラルネットワーク(CNN)、トランスフォーマ、又は任意の他の適切なタイプのニューラルネットワークモデルが含まれるが、これらに限定されない。一実施形態では、機械学習モデル126は、概して、入力として画像122を受信し、提供された画像122に基づいて、アイテム識別子を出力するように構成される。機械学習モデル126は、対応するラベル(例えば、アイテム識別子)を有するアイテム204の異なる画像122を含む教師あり学習トレーニングデータを使用してトレーニングされる。トレーニングプロセス中、機械学習モデル126は、機械学習モデル126がアイテム204の画像122を異なるアイテム識別子にマッピングすることを可能にする重量及びバイアス値を決定する。このプロセスを通して、機械学習モデル126は、画像122内のアイテム204を識別することができる。アイテム追跡エンジン114は、当業者によって理解されるような任意の適切な技法を使用して機械学習モデル126をトレーニングするように構成され得る。いくつかの実施形態では、機械学習モデル126は、アイテム追跡デバイス104の外部にあるデバイスによって記憶及び/又はトレーニングされ得る。
【0016】
撮像デバイスのハードウェア構成
図2Aは、撮像デバイス102の一実施形態の斜視図である。この例では、撮像デバイス102は、プラットフォーム202と、フレーム構造206と、複数のカメラ108と、複数の3Dセンサ110と、重量センサ112とを備える。撮像デバイス102は、
図2Aに示されるように、又は任意の他の適切な構成で構成され得る。いくつかの実施形態では、撮像デバイス102はさらに、限定ではないが、光、ディスプレイ、及びグラフィカルユーザインターフェースを含む、追加の構成要素を備え得る。
【0017】
プラットフォーム202は、複数のアイテム204を保持するように構成された表面208を備える。いくつかの実施形態では、プラットフォーム202は、重量センサ112と一体化され得る。例えば、プラットフォーム202は、重量センサ112上に配置され得、これにより、重量センサ112は、プラットフォーム202上に置かれたアイテム204の重量を測定することができる。別の例として、重量センサ112は、プラットフォーム202上に置かれたアイテム204の重量を測定するために、プラットフォーム202内に配設され得る。いくつかの実施形態では、表面208の少なくとも一部は、透明であり得る。この場合、カメラ108又はスキャナ(例えば、バーコードスキャナ)が、プラットフォーム202の表面208の下に配設され、プラットフォーム202上に置かれたアイテム204の画像122をキャプチャするか、又はその底面をスキャンするように構成され得る。例えば、カメラ108又はスキャナは、プラットフォーム202の透明な表面208を通してアイテム204の製品ラベル及び/又はバーコード(例えば、最小在庫管理単位(SKU))を識別し、読み取るように構成され得る。プラットフォーム202は、アルミニウム、金属、木材、プラスチック、ガラス、又は任意の他の適切な材料から形成され得る。
【0018】
フレーム構造206は、概して、カメラ108及び3Dセンサ110を支持及び位置決めするように構成される。
図2Aでは、フレーム構造206は、撮像デバイス102の両サイドに、プラットフォーム202上のアイテム204の斜視図を有する第1のカメラ108A及び第2のカメラ108Cを位置決めするように構成される。フレーム構造206は、撮像デバイス102のバックサイドに、プラットフォーム202上のアイテム204の斜視図を有する第3のカメラ108Dを位置決めするようにさらに構成される。いくつかの実施形態では、フレーム構造206はさらに、撮像デバイス102のフロントサイドに、プラットフォーム202上のアイテム204の斜視図を有する第4のカメラ108(図示せず)を備え得る。フレーム構造206は、任意の数及び組合せのサイドカメラ108A及び108C、バックサイドカメラ108D、並びにフロントサイドカメラ108を使用するように構成され得る。例えば、識別されたカメラ108のうちの1つ又は複数は、任意選択であり、省略されてもよい。透視画像122又は深度画像124は、プラットフォーム202上に置かれたアイテム204の横向きの表面をキャプチャするように構成される。フレーム構造206はさらに、プラットフォーム202上のアイテム204の上面図又は俯瞰図を有する第3のカメラ108B及び3Dセンサ110を位置決めするように構成される。オーバーヘッド画像122又は深度画像124は、プラットフォーム202上に置かれたアイテム204の上向き表面をキャプチャするように構成される。他の例では、フレーム構造206は、任意の他の適切な数及び組合せのカメラ108及び3Dセンサ110を支持及び位置決めするように構成され得る。フレーム構造206は、アルミニウム、金属、木材、プラスチック、又は任意の他の適切な材料から形成され得る。
【0019】
図2Bは、筐体210を有する撮像デバイス102の別の実施形態の斜視図である。この構成では、筐体210は、撮像デバイス102のフレーム構造206、カメラ108、3Dセンサ110、及びプラットフォーム202を少なくとも部分的に封入するように構成される。フレーム構造206、カメラ108、3Dセンサ110、及びプラットフォーム202は、
図2Aで説明したものと同様に構成され得る。一実施形態では、フレーム構造206はさらに、カメラ108及び3Dセンサ110が筐体210内で位置調節可能(repositionable)となるように構成されたレール又はトラック212を備え得る。例えば、カメラ108A、108C、及び108Dは、レール212を使用してプラットフォーム202に対して垂直軸に沿って位置調節可能であり得る。同様に、カメラ108B及び3Dセンサ110は、レール212を使用してプラットフォーム212に対して水平軸に沿って位置調節可能であり得る。
【0020】
図2Cは、開放筐体214を有する撮像デバイス102の別の実施形態の斜視図である。この構成では、筐体214は、撮像デバイス102のフレーム構造206、カメラ108、3Dセンサ110、及びプラットフォーム202を少なくとも部分的に覆うように構成される。フレーム構造206、カメラ108、3Dセンサ110、及びプラットフォーム202は、
図2Aで説明したものと同様に構成され得る。一実施形態では、フレーム構造206は、筐体214内に一体化され得る。例えば、筐体214は、カメラ108及び3Dセンサ110を収容するように構成された開口部216を備え得る。
図2Cでは、筐体214は、丸みを帯びた縁部を有する矩形断面を有する。他の実施形態では、筐体214は、任意の他の適切な形状の断面を伴って構成され得る。
【0021】
アイテム追跡プロセス
図3は、アイテム追跡システム100のアイテム追跡プロセス300の一実施形態の流れ図である。アイテム追跡システム100は、プロセス300を用いて、撮像デバイス102のプラットフォーム202上に置かれたアイテム204を識別し、アイテム204を特定のユーザに割り当て得る。一例として、アイテム追跡システム100は、購入のためにユーザのデジタルカートにアイテム204を追加するために店舗内でプロセス300を採用し得る。別の例として、アイテム追跡システム100は、ユーザにアイテムをチェックアウトするために倉庫又は備品室内でプロセス300を採用し得る。他の例では、アイテム追跡システム100は、アイテム204が特定のユーザに割り当てられるか、又は関連付けられる任意の他の適切なタイプのアプリケーションにおいてプロセス300を採用し得る。このプロセスにより、ユーザは、ユーザが買いたいアイテム204をユーザにスキャン又は他の方法で識別させることなく、空間からアイテム204を取得することができる。
【0022】
ステップ302において、アイテム追跡デバイス104は、撮像デバイス102のための自動排除を実行する。初期較正期間中、プラットフォーム202には、プラットフォーム202上にアイテム204が置かれなくてもよい。この期間中、アイテム追跡デバイス104は、1つ又は複数のカメラ108及び3Dセンサ110を使用して、プラットフォーム202上にアイテム204が置かれていない状態で、プラットフォームの基準画像122及び基準深度画像124を取得し得る。次いで、アイテム追跡デバイス104は、キャプチャされた画像122及び深度画像124を基準画像として使用して、アイテムがプラットフォーム202上に置かれたときを検出することができる。例えば、アイテム追跡デバイス104は、プラットフォーム202の上面図又は俯瞰図で構成された3Dセンサ110を使用して、プラットフォーム202上にアイテム204が置かれていないときにプラットフォーム202の基準深度画像124をキャプチャし得る。この例では、キャプチャされた深度画像124は、プラットフォーム202の表面208に対応する深度画像124全体にわたって実質的に一定の深度値を含み得る。その後、アイテム追跡デバイス104は、後続の深度画像124と基準深度画像124との間の深度値の差に基づいて、アイテム204がプラットフォーム202の表面208上に置かれたことを検出することができる。別の例として、アイテム追跡デバイス104は、プラットフォーム202の上面図又は斜視図で構成されたカメラ108を使用して、プラットフォーム202上にアイテム204が置かれていないときにプラットフォームの基準画像122をキャプチャし得る。この例では、キャプチャされた画像122は、プラットフォーム202上にアイテム204が存在しないときのプラットフォームのシーンに対応するピクセル値を含む。その後、アイテム追跡デバイス104は、後続の画像122と基準画像122との間のピクセル値の差に基づいて、アイテム204がプラットフォーム202上に置かれたことを検出することができる。
【0023】
ステップ304において、アイテム追跡デバイス104は、トリガイベントが検出されたか否かを決定する。トリガイベントは、ユーザが撮像デバイス102と対話していることを示すイベントに対応する。例えば、トリガイベントは、ユーザが撮像デバイス102に接近するか、又はアイテム204を撮像デバイス102上に置いたときに発生し得る。一例として、アイテム追跡デバイス104は、3Dセンサ110を使用して動きを検出したことに応答して、又は3Dセンサ110によってキャプチャされた深度画像124の変化に基づいて、トリガイベントが発生したと決定し得る。例えば、アイテム追跡デバイス104は、3Dセンサ110によってキャプチャされた深度画像124と基準深度画像124との間の深度値の差に基づいて、アイテム204がプラットフォーム202の表面208上に置かれたことを検出することができる。一例として
図4を参照すると、
図4は、アイテム204をプラットフォーム202上に置く前と、
図2Aに示される置いた後の、撮像デバイス102のプラットフォーム202の俯瞰図からの深度画像124間の比較の一例を示す。深度画像124Aは、プラットフォーム202上にアイテム204が置かれていないときにキャプチャされる基準深度画像124に対応する。深度画像124Bは、アイテム204がプラットフォーム202上に置かれた後にキャプチャされる深度画像124に対応する。この例では、深度画像124内の色又はピクセル値は、異なる深度値を表す。深度画像124Aでは、深度画像124A内の深度値は実質的に一定であり、これは、プラットフォーム202上にアイテム204がないことを意味する。深度画像124Bでは、異なる深度値は、プラットフォーム202上に置かれたアイテム204(すなわち、アイテム204A、204B、及び204C)に対応する。この例では、アイテム追跡デバイス104は、深度画像124Aと深度画像124Bとの間の差に基づいてプラットフォーム202上のアイテム204の存在を検出したことに応答して、トリガイベントを検出する。アイテム追跡デバイス104はまた、画像122又は深度画像124を使用して、プラットフォーム202上にあるアイテム204の数をカウントし得る。この例では、アイテム追跡デバイス104は、深度画像124Bに基づいて、プラットフォーム202上に3つのアイテム204が置かれていると決定する。アイテム追跡デバイス104は、決定された数のアイテム204を後で使用して、全てのアイテム204が識別されたか否かを確認することができる。このプロセスについては、ステップ312において以下でより詳細に説明する。
【0024】
別の例として、アイテム追跡デバイス104は、カメラ108を使用して動きを検出したことに応答して、又はカメラ108によってキャプチャされた画像122の変化に基づいて、トリガイベントが発生したと決定し得る。例えば、アイテム追跡デバイス104は、後続の画像122と基準画像122との間のピクセル値の差に基づいて、アイテム204がプラットフォーム202上に置かれたことを検出することができる。別の例として、アイテム追跡デバイス104は、撮像デバイス102の重量センサ112上の重量増加に応答して、トリガイベントが発生したと決定し得る。この場合、重量センサ112によって測定された重量の増加は、1つ又は複数のアイテム204がプラットフォーム202上に置かれたことを示す。他の例では、アイテム追跡デバイス104は、ユーザが撮像デバイス102に接近したとき又はアイテム204を撮像デバイス102上に置かれたときを検出するための任意の他の適切なタイプのセンサ又は技法を使用し得る。
【0025】
アイテム追跡デバイス104は、トリガイベントが検出されていないと決定したことに応答して、ステップ304に留まる。この場合、アイテム追跡デバイス104は、ユーザがまだ撮像デバイス102と対話していないと決定する。アイテム追跡デバイス104は、ステップ304に留まり、ユーザが撮像デバイス102との対話を開始するまで、トリガイベントをチェックし続ける。アイテム追跡デバイス104は、トリガイベントが検出されたと決定したことに応じて、ステップ306に進む。この場合、アイテム追跡デバイス104は、ユーザが撮像デバイス102との対話を開始したと決定する。アイテム追跡デバイス104はステップ306に進み、撮像デバイス102のプラットフォーム202上に置かれたアイテムの識別を開始する。
【0026】
ステップ306において、アイテム追跡デバイス104は、撮像デバイス102のプラットフォーム202上のアイテム204の画像122をキャプチャするための1つ又は複数のカメラ108を識別する。アイテム追跡デバイス104は、プラットフォーム202上のアイテム204の姿勢(例えば、位置及び向き)に少なくとも部分的に基づいて、アイテム204の画像122をキャプチャするためのカメラ108を識別し得る。アイテム204の姿勢は、アイテム204の位置と、アイテム204がプラットフォーム202に対してどのように配置されているかに対応する。
図2Aの例を参照すると、第1のアイテム204A及び第2のアイテム204Cは、プラットフォーム202に対して垂直な向きに配置されている。垂直な向きでは、アイテム204の識別可能な特徴は、主に垂直な向きにある。カメラ108A及び108Cなどの、斜視図を有するカメラ108は、垂直な向きにあるアイテム204の識別可能な特徴の画像122をキャプチャするのにより適している可能性がある。例えば、ブランド、テキスト、及びバーコードなど、アイテム204Aの識別可能な特徴のほとんどは、アイテム204Aの両サイドに位置し、アイテム204の斜視図を使用して最もよく見えるので、アイテム追跡デバイス104は、アイテム204Aの画像122をキャプチャするためにカメラ108Aを選択し得る。同様に、アイテム追跡デバイス104は、次いで、アイテム204Cの画像122をキャプチャするためにカメラ108Cを選択し得る。この例では、第3のアイテム204Bは、プラットフォーム202に対して水平の向きに配置されている。水平の向きでは、アイテム204の識別可能な特徴は、主に水平の向きにある。カメラ108Bなどの、上面図又は俯瞰図を有するカメラ108は、水平の向きにあるアイテム204の識別可能な特徴の画像122をキャプチャするのにより適している可能性がある。この場合、アイテム204Bの識別可能な特徴のほとんどは、アイテム204Bの上部に位置し、アイテム204Bの俯瞰図を使用することで最もよく見えるので、アイテム追跡デバイス104は、アイテム204Bの画像122をキャプチャするためにカメラ108Bを選択し得る。
【0027】
一実施形態では、アイテム追跡デバイス104は、深度画像124を使用して、プラットフォーム202上のアイテム204の姿勢を決定し得る。一例として
図4を参照すると、深度画像124Bは、
図2Aに示されるアイテム204(すなわち、アイテム204a、204B、及び204C)がプラットフォーム202上に置かれた後にキャプチャされるオーバーヘッド深度画像124に対応する。この例では、アイテム追跡デバイス104は、各アイテム204に対応する深度画像124B内のエリアを使用して、アイテム204の姿勢を決定し得る。例えば、アイテム追跡デバイス104は、アイテム204Aに対応する深度画像124B内のエリア402を決定し得る。アイテム追跡デバイス104は、決定されたエリア402を所定のエリアしきい値614と比較する。アイテム追跡デバイス104は、アイテム204の決定されたエリア402が所定のエリアしきい値614以下である場合、アイテム204が垂直な向きにあると決定する。そうではなく、アイテム追跡デバイス104は、アイテム204の決定されたエリア402が所定のエリアしきい値614よりも大きい場合、アイテム204が水平の向きにあると決定する。この例では、アイテム追跡デバイス104は、アイテム204A及び204Cのエリア402及び406がそれぞれエリアしきい値614以下であるので、アイテム204A及び204Cが垂直な向きにあると決定する。アイテム追跡デバイス104は、アイテム204Bのエリア404がエリアしきい値614よりも大きいので、アイテム204Bが水平の向きにあると決定する。この決定は、アイテム追跡デバイス104が、アイテム204A及び204Cの画像122をキャプチャするために、プラットフォーム202の斜視図を有するカメラ108(例えば、カメラ108A及び108C)を選択することを意味する。アイテム追跡デバイス104は、アイテム204Bの画像122をキャプチャするために、プラットフォーム202の上面図又は俯瞰図を有するカメラ108(例えば、カメラ108B)を選択する。
【0028】
一実施形態では、アイテム追跡デバイス104は、アイテム204とカメラ108との間の距離に少なくとも部分的に基づいて、アイテム204の画像122をキャプチャするためのカメラ108を識別し得る。例えば、アイテム追跡デバイス104は、撮像デバイス102のカメラ108及び/又は3Dセンサ110の間のホモグラフィ608を生成し得る。ホモグラフィ608を生成することによって、アイテム追跡デバイス104は、画像122内のアイテム204の位置を使用して、プラットフォーム202、カメラ108、及び3Dセンサ110に対するアイテム204の物理的位置を決定することができる。これにより、アイテム追跡デバイス104は、アイテム204の物理的位置を使用して、アイテム204とカメラ108及び3Dセンサ110のそれぞれとの間の距離を決定することができる。ホモグラフィ608は、画像122又は深度画像124内のピクセル位置と、グローバル平面内の(x,y)座標(すなわち、プラットフォーム202上の物理的位置)との間で変換するように構成された係数を含む。アイテム追跡デバイス104は、ホモグラフィ608を使用して、特定のカメラ108又は3Dセンサ110内のピクセル位置と、プラットフォーム202上の物理的位置とを相関させる。言い換えると、アイテム追跡デバイス104は、ホモグラフィ608を使用して、それぞれカメラ108又は3Dセンサ110からの画像122又は深度画像124内のピクセル位置に基づいて、アイテム204がプラットフォーム202上のどこに物理的に位置するかを決定する。アイテム追跡デバイス104は、複数のカメラ108及び3Dセンサ110を使用してプラットフォーム202を監視するので、各カメラ108及び3Dセンサ110は、撮像デバイス102上のカメラ108又は3Dセンサ110の物理的位置に基づいて、異なるホモグラフィ608に一意に関連付けられる。この構成により、アイテム追跡デバイス104は、どのカメラ108又は3Dセンサ110にアイテム204が現れるかと、そのカメラ108又は3Dセンサ110によってキャプチャされる画像122又は深度画像124内のその位置とに基づいて、アイテム204がプラットフォーム202上のどこに物理的に位置するかを決定することができる。ホモグラフィ608の生成及びホモグラフィ608の使用に関する追加の情報については、「DRAW WIRE ENCODER BASED HOMOGRAPHY」と題する米国特許第11,023,741号(代理人整理番号090278.0233)に開示されており、その全体は、参照により本明細書に組み込まれるものとする。
【0029】
一例として、アイテム追跡デバイス104は、それぞれ、プラットフォーム202の上面図又は俯瞰図を有するカメラ108又は3Dセンサ110からの画像122又は深度画像124を使用して、プラットフォーム202上のアイテムの物理的位置を決定し得る。この例では、アイテム追跡デバイス104は、画像122又は深度画像124内のアイテム204のピクセル位置を決定し得る。次いで、アイテム追跡デバイス104は、ホモグラフィ608を使用し、そのピクセル位置に基づいて、プラットフォーム202に対するアイテム204の物理的位置を決定し得る。プラットフォーム202上のアイテム204の物理的位置を決定した後、アイテム追跡デバイス104は、どのカメラ108がアイテム204に物理的に最も近く位置しているかを識別し、識別されたカメラ108を選択し得る。
図2Aの例に戻ると、アイテム追跡デバイス104は、カメラ108Aがカメラ108Cよりもアイテム204Aに近いので、アイテム204Aの画像122をキャプチャするためにカメラ108Aを選択し得る。同様に、アイテム追跡デバイス104は、カメラ108Cがカメラ108Aよりもアイテム204Cに近いので、アイテム204Cの画像122をキャプチャするためにカメラ108Cを選択し得る。このプロセスは、アイテム204の最良のビューを有するカメラ108が、アイテム204の画像122をキャプチャするために選択されることを確実にする。
【0030】
ステップ308において、アイテム追跡デバイス104は、識別されたカメラ108を使用してプラットフォーム202上のアイテム204の画像122をキャプチャする。ここで、アイテム追跡デバイス104は、識別されたカメラ108を使用してアイテム204の画像をキャプチャする。例として
図5A、
図5B、及び
図5Cを参照すると、アイテム追跡デバイス104は、それぞれカメラ108A、108B、及び108Cを使用して、アイテム204Aの第1の画像122A、アイテム204Bの第2の画像122B、及びアイテム204Cの第3の画像122Cをキャプチャし得る。アイテム追跡デバイス104は、処理のために各アイテム204の1つ又は複数の画像122を収集し得る。撮像デバイス102上で利用可能なカメラ108のサブセットを使用してアイテム204の画像をキャプチャすることによって、アイテム追跡デバイス104は、プラットフォーム202上のアイテム204を識別するためにキャプチャ及び処理されることとなる画像122の数を減らすことができる。このプロセスは、同じアイテム204の複数の画像122を含む可能性がある、撮像デバイス102上のカメラ108の全てからの画像122を処理する代わりに、アイテム追跡デバイス104がより少ない画像122の処理でアイテム204を識別することを可能にすることによって、アイテム204を識別するための探索空間を低減し、アイテム追跡デバイス104の効率及びハードウェア利用を改善する。加えて、アイテム追跡デバイス104はまた、ステップ306で説明したように、アイテム204の向き及び位置に基づいて、アイテム204を識別するのに最も有用な特徴をキャプチャするように位置決めされたカメラ108を選択する。特徴の例には、アイテム204のテキスト、ロゴ、ブランド、色、バーコード、パターン、形状、又は任意の他の適切なタイプの属性が含まれるが、これらに限定されない。
【0031】
図3に戻ると、ステップ310において、アイテム追跡デバイス104は、キャプチャされた画像122に基づいて、プラットフォーム202上のアイテム204を識別する。ここで、アイテム追跡デバイス104は、画像122内のアイテム204の特徴に基づいて、各画像122内のアイテム204を識別する。一例として、機械学習モデル126はCNNであり得る。この例では、機械学習モデル126は、入力層、出力層、及び1つ又は複数の隠れ層を含む。隠れ層は、少なくとも1つの畳み込み層を含む。例えば、機械学習モデル126は、入力層、畳み込み層、プーリング層、畳み込み層、プーリング層、1つ又は複数の全結合層、出力層という層のシーケンスを含み得る。機械学習モデル126の各畳み込み層は、畳み込みカーネルのセットを使用して、画像122を形成するピクセルから特徴を抽出する。特定の実施形態では、機械学習モデル126の畳み込み層は、周波数ドメインで実施され、畳み込みプロセスは、離散フーリエ変換を用いて達成される。これは、画像を分類する目的で機械学習モデル126をトレーニングし、使用することに関連付けられた計算時間を短縮するために望ましいであろう。例えば、周波数ドメインに変換することで、高速フーリエ変換アルゴリズム(FFT)を実装して、畳み込みに関連付けられた離散フーリエ変換を実行し得る。FFTアルゴリズムを単独で使用することにより、単一のCPU上に実装されたときの計算時間が(空間ドメインで畳み込みカーネルを適用するのと比べて)大幅に短縮されるだけでなく、FFTアルゴリズムは、1つ又は複数のグラフィックス処理ユニット(GPU)を使用して並列化され得、それによって計算時間がさらに短縮される。周波数ドメインへの変換はまた、機械学習モデル126が並進及び回転不変であることを確実にするのを助けるためにも望ましいであろう(例えば、画像122中のアイテム204の存在に基づいて、画像122の機械学習モデル126によって行われるアイテム識別子への割当ては、画像122内のアイテム204の位置及び/又は向きに依存すべきではない)。
【0032】
別の例として、機械学習モデル126は、教師あり学習アルゴリズムであり得る。従って、特定の実施形態では、アイテム追跡デバイス104は、入力画像122を所定のアイテム識別子のセットのいずれかに割り当てるように機械学習モデル126をトレーニングするように構成される。アイテム追跡デバイス104は、任意の適切な方法で機械学習モデル126をトレーニングし得る。例えば、特定の実施形態では、アイテム追跡デバイス104は、入力画像122に添付されたラベル(例えば、アイテム識別子)のセットを含むトレーニングデータ(例えば、画像122)を機械学習モデル126に提供することによって、機械学習モデル126をトレーニングする。別の例として、機械学習モデル126は、教師なし学習アルゴリズムであり得る。そのような実施形態では、アイテム追跡デバイス104は、機械学習モデル126に画像122の集合体を提供し、画像122から抽出された共通の特徴に基づいて、アイテム追跡デバイス104によって識別されたアイテム識別子でこれらの画像122を分類するように機械学習モデル126に命令することによって、機械学習モデル126をトレーニングするように構成される。アイテム追跡デバイス104は、キャプチャされた画像122を機械学習モデル126に入力する前ならいつでも、機械学習モデル126をトレーニングすることができる。機械学習モデル126をトレーニングした後、アイテム追跡デバイス104は、キャプチャされた画像122の各々を機械学習モデル126に入力し得る。機械学習モデル126に画像122を入力したことに応答して、アイテム追跡デバイス104は、機械学習モデル126からアイテム204のアイテム識別子を受信する。アイテム識別子は、画像122内の識別されたアイテム204に対応する。アイテム識別子の例には、アイテム名、バーコード、アイテム番号、シリアルナンバー、又はアイテム204を一意に識別する任意の他の適切なタイプの識別子が含まれるが、これらに限定されない。
【0033】
いくつかの実施形態では、アイテム追跡デバイス104は、機械学習モデル126を使用せずに1つ又は複数の画像処理技法を採用して、画像122内のアイテム204を識別し得る。例えば、アイテム追跡デバイス104は、オブジェクト検出及び/又は光学式文字認識(OCR)を使用して、アイテム204を識別するために使用可能なアイテム204のテキスト、ロゴ、ブランド、色、バーコード、又は任意の他の特徴を識別し得る。この場合、アイテム追跡デバイス104は、画像122内のピクセルを処理して、アイテム204のテキスト、色、バーコード、パターン、又は任意の他の特性を識別し得る。次いで、アイテム追跡デバイス104は、アイテム204の識別された特徴を、異なるアイテム204に対応する特徴のセットと比較し得る。例えば、アイテム追跡デバイス104は、画像122からテキスト(例えば、製品名)を抽出し得、そのテキストを、異なるアイテム204に関連付けられたテキストのセットと比較し得る。別の例として、アイテム追跡デバイス104は、画像122内の支配色を決定し得、その支配色を、異なるアイテム204に関連付けられた色のセットと比較し得る。別の例として、アイテム追跡デバイス104は、画像122内のバーコードを識別し得、そのバーコードを、異なるアイテム204に関連付けられたバーコードのセットと比較し得る。別の例として、アイテム追跡デバイス104は、画像122内のロゴ又はパターンを識別し得、その識別されたロゴ又はパターンを、異なるアイテム204に関連付けられたロゴ又はパターンのセットと比較得る。他の例では、アイテム追跡デバイス104は、任意の他の適切なタイプ又は組合せの特徴を識別し、その識別された特徴を、異なるアイテム204に関連付けられた特徴と比較し得る。画像122からの識別された特徴を、異なるアイテム204に関連付けられた特徴のセットと比較した後、アイテム追跡デバイス104は、一致が見つかったかどうかを決定する。アイテム追跡デバイス104は、識別された特徴の少なくとも意味のある部分が、アイテム204に対応する特徴と一致した場合、一致が見つかったと決定し得る。画像122内の特徴の意味のある部分がアイテム204の特徴と一致すると決定したことに応答して、アイテム追跡デバイス104は、一致するアイテム204に対応するアイテム識別子を出力し得る。他の実施形態では、アイテム追跡デバイス104は、1つ又は複数の画像処理技法を機械学習モデル126と併用して、上記で説明した技法の任意の組合せを使用して画像122内のアイテム204を識別し得る。
【0034】
いくつかの実施形態では、アイテム追跡デバイス104は、アイテム204が正しく識別された確率を示す信頼度スコア610を出力するように構成される。例えば、アイテム追跡デバイス104は、決定されたアイテム識別子を用いて機械学習モデル126から信頼度スコア610を取得し得る。この例では、機械学習モデル126は、アイテム識別子を決定するときに使用又は一致した特徴の数に比例する信頼度スコア610を出力する。別の例として、アイテム追跡デバイス104は、識別された特徴が、識別されたアイテム204の特徴とどの程度一致するかに基づいて、信頼度スコア610を決定し得る。例えば、アイテム追跡デバイス104は、画像122内で識別されたテキストの半分が、識別されたアイテム204に関連付けられたテキストと一致する場合、50%の信頼度スコア610を取得し得る。別の例として、アイテム追跡デバイス104は、画像122内のバーコードが、識別されたアイテム204のバーコードと一致する場合、100%の信頼度スコア610を取得することを決定し得る。別の例として、アイテム追跡デバイス104は、画像122内の支配色が、識別されたアイテム204の支配色と一致するとき、25%の信頼度スコア610を取得し得る。他の例では、アイテム追跡デバイス104は、任意の他の適切なタイプ又は組合せの特徴が、識別されたアイテム204の特徴とどの程度一致するかに基づく信頼度スコア610を取得し得る。信頼度スコア610に影響を与える可能性のある他の情報には、オブジェクトの向き、プラットフォーム208上のアイテムの数(例えば、プラットフォーム208上のアイテムの数が少ない方が、プラットフォーム208上のアイテムの数が多い場合よりも識別するのが容易である)、プラットフォーム上のアイテム間の相対距離(例えば、プラットフォーム208上のアイテムの間隔が空いている方が、プラットフォーム208上のアイテムが密集している場合よりも識別するのが容易である)などが含まれるが、これらに限定されない。アイテム追跡デバイス104は、識別されたアイテム204の信頼度スコア610を信頼度スコアしきい値612と比較して、アイテム204が識別されたかどうかを決定し得る。アイテム追跡デバイス104は、アイテム204の信頼度スコア610が信頼度スコアしきい値612未満である場合、アイテム204が識別されていないと決定し得る。アイテム追跡デバイス104は、アイテム204の信頼度スコア610が信頼度スコアしきい値612以上である場合、アイテム204が識別されたと決定する。信頼度スコアしきい値612は、90%、80%、75%、又は任意の他の適切な値に設定され得る。
【0035】
ステップ312において、アイテム追跡デバイス104は、プラットフォーム202上の全てのアイテム204が識別されたかどうかを決定する。例えば、アイテム追跡デバイス104は、キャプチャ画像122からの識別されたアイテム204の数を、ステップ304において決定されたプラットフォーム202上のアイテム204の数と比較し得る。アイテム追跡デバイス104は、キャプチャされた画像122からの識別されたアイテム204のアイテム204の数が、プラットフォーム202上のアイテム204の決定された数と一致するとき、プラットフォーム202上のアイテム204の全てが識別されたと決定する。そうでなはなく、アイテム追跡デバイス104は、キャプチャされた画像122からの識別されたアイテム204のアイテム204の数が、プラットフォーム202上のアイテム204の決定された数と一致しないとき、アイテム204のうちの少なくとも1つが識別されなかったと決定する。
【0036】
アイテム追跡デバイス104は、プラットフォーム202上の1つ又は複数のアイテム204が識別されていないと決定したことに応答して、ステップ314に進む。この場合、アイテム追跡デバイス104は、アイテム追跡デバイス104がプラットフォーム上のアイテム204のうちのいくつかを識別するのを支援するために、プラットフォーム202上の1つ又は複数のアイテム204を位置調節するようにユーザに要求を出力し得る。ステップ314において、アイテム追跡デバイス104は、プラットフォーム202上の1つ又は複数のアイテム204を再配置するためのプロンプトを出力する。一例として、1つ又は複数のアイテム204は、カメラ108のうちの1つに対してアイテム204のビューを覆い隠し得る。この例では、アイテム追跡デバイス104は、プラットフォーム202上のアイテム204の位置を再配置するようにユーザに求める命令を有するメッセージを、撮像デバイス102に位置するグラフィカルユーザインターフェース上に出力し得る。いくつかの実施形態では、アイテム追跡デバイス104はまた、識別されなかったプラットフォーム202上の1つ又は複数のアイテム204の位置を識別し得る。例えば、アイテム追跡デバイス104は、認識されなかったアイテム204を照明するプラットフォーム202の上方又は下方の光源を作動させ得る。一実施形態では、プラットフォーム202上のアイテム204を再配置するためのメッセージを出力した後、アイテム追跡デバイス104は、ステップ306に戻って、プラットフォーム202上のアイテム204を識別するプロセスを再開する。このプロセスは、アイテム204がプラットフォーム202上に再配置された後に、アイテム追跡デバイス104がアイテム204を二重カウントすることを防止する。
【0037】
ステップ312に戻り、アイテム追跡デバイス104は、プラットフォーム202上の全てのアイテム204が識別されたと決定したことに応答して、ステップ316に進む。いくつかの実施形態では、アイテム追跡デバイス104は、プラットフォーム202上のアイテム204の重量に基づいて、識別されたアイテム204の検出精度を妥当性確認し得る。例えば、アイテム追跡デバイス104は、識別されたアイテム204に関連付けられたアイテム情報118に基づいて、識別されたアイテム204の重量に関連付けられた第1の重量を決定し得る。例えば、アイテム追跡デバイス104は、識別されたアイテム204のアイテム識別子を使用して、識別されたアイテム204のそれぞれに対応する重量を決定し得る。アイテム追跡デバイス104は、識別されたアイテム204の個々の重量を合計して、第1の重量を決定し得る。アイテム追跡デバイス104はまた、プラットフォーム202上のアイテム204の第2の重量を重量センサ112から受信し得る。次いで、アイテム追跡デバイス104は、第1の重量と第2の重量との間の重量差を決定し、重量差を重量差しきい値と比較する。重量差しきい値は、第1の重量と第2の重量との間の最大重量差に対応する。重量差が重量差しきい値を超えるとき、アイテム追跡デバイス104は、撮像デバイス102のプラットフォーム202上のアイテム204の重量と、識別されたアイテム204の予想重量との間に不一致があると決定し得る。この場合、アイテム追跡デバイス104は、エラーメッセージを出力し、及び/又はステップ306に戻ってアイテム追跡プロセスを再開し得る。重量差が重量差しきい値以下であるとき、アイテム追跡デバイス104は、撮像デバイス102のプラットフォーム202上のアイテム204の重量と、識別されたアイテム204の予想重量との間に一致があると決定し得る。この場合、アイテム追跡デバイス104はステップ316に進み得る。
【0038】
ステップ316において、アイテム追跡デバイス104は、禁止又は制限アイテム204がプラットフォーム202上に存在するかどうかをチェックする。禁止又は制限アイテム204とは、許可制限、年齢制限、又は任意の他のタイプの制限のためにユーザが取得することを認可されていないアイテム204である。アイテム追跡デバイス104は、識別されたアイテム204のアイテム識別子を、制限又は禁止アイテムのアイテム識別子のリスト616と比較し得る。アイテム204が制限又は禁止アイテムのリスト616上のアイテムのうちの1つと一致すると決定したことに応答して、アイテム追跡デバイス104は、ステップ318に進み、ユーザがプラットフォーム202上のアイテム204のうちの1つを取得することが禁止されていることを示す警告又は通知を出力する。例えば、アイテム追跡デバイス104は、禁止アイテム204を識別する警告メッセージを出力し、撮像デバイス102に位置するグラフィカルユーザインターフェースを使用して、プラットフォーム202から禁止アイテム204を除去するようにユーザに求め得る。別の例として、アイテム追跡デバイス104は、禁止アイテム204を識別する警告メッセージを、空間に関連付けられた別のユーザ(例えば、従業員)に出力し得る。他の例では、アイテム追跡デバイス104は、プラットフォーム202上の禁止アイテム204を検出したことに応答して、任意の他の適切なタイプの警告メッセージを出力し得る。
【0039】
ステップ320において、アイテム追跡デバイス104は、禁止アイテム204がプラットフォーム202から除去されたかどうかを決定する。例えば、アイテム追跡デバイス104は、重量センサ112を使用して、プラットフォーム202上のアイテム204の測定された重量が、禁止アイテム204の重量に対応する量だけ減少したかどうかを決定し得る。別の例として、アイテム追跡デバイス104は、カメラ108及び/又は3Dセンサ110を使用して、禁止アイテム204が依然としてプラットフォーム202上に存在するかどうかを決定し得る。禁止アイテム204が依然としてプラットフォーム202上に存在すると決定したことに応答して、アイテム追跡デバイス104は、プロセス300を一時停止し、禁止アイテム204がプラットフォーム202から除去されるまでステップ320に留まり得る。このプロセスにより、ユーザは、禁止アイテム204を取得することができなくなる。アイテム追跡デバイス104は、禁止アイテム204がプラットフォーム202から除去された後、ステップ322に進み得る。
【0040】
そうではない場合、アイテム追跡デバイス104は、プラットフォーム202上に禁止アイテム204が存在しないと決定したことに応答して、ステップ322に進む。ステップ322において、アイテム追跡デバイス104は、アイテム204をユーザに関連付ける。一実施形態では、アイテム追跡デバイス104は、プラットフォーム202上のアイテム204に関連付けられたユーザを識別し得る。例えば、ユーザは、撮像デバイス102に位置するスキャナ又はカードリーダを使用して本人確認を行い得る(identify themselves)。スキャナの例には、QRコード(登録商標)スキャナ、バーコードスキャナ、近距離無線通信(NFC)スキャナ、又は人物を一意に識別する情報が埋め込まれた電子コードを受信することができる任意の他の適切なタイプのスキャナが含まれるが、これらに限定されない。他の例では、ユーザは、撮像デバイス102に位置するグラフィカルユーザインターフェース上にユーザ情報を提供することによって、本人確認を行い得る。ユーザ情報の例には、名前、電話番号、電子メールアドレス、識別番号、従業員番号、英数字コード、又はユーザに関連付けられた任意の他の適切なタイプの情報が含まれるが、これらに限定されない。
【0041】
アイテム追跡デバイス104は、ユーザによって提供された情報を使用して、ユーザに関連付けられたアカウントを識別し、次いで、識別されたアイテム204をユーザのアカウントに追加する。例えば、アイテム追跡デバイス104は、ユーザによって提供された情報を使用して、ユーザに関連付けられたユーザアカウント情報120内のアカウントを識別し得る。一例として、アイテム追跡デバイス104は、ユーザに関連付けられたデジタルカートを識別し得る。この例では、デジタルカートは、購入するためにユーザがプラットフォーム202上に置いたアイテム204に関する情報を含む。アイテム追跡デバイス104は、識別されたアイテム204のアイテム識別子をデジタルカートに追加することによって、アイテム204をユーザのデジタルカートに追加し得る。アイテム追跡デバイス104はまた、アイテム204に関連する他の情報をデジタルカートに追加し得る。例えば、アイテム追跡デバイス104は、アイテム識別子を使用して、記憶されたアイテム情報118から、識別されたアイテム204の価格情報をルックアップし得る。次いで、アイテム追跡デバイス104は、識別されたアイテム204の各々に対応する価格情報をユーザのデジタルカートに追加し得る。
【0042】
アイテム追跡デバイス104がアイテム204をユーザのデジタルカートに追加した後、アイテム追跡デバイス104は、アイテム204に対する取引をトリガ又は開始し得る。一実施形態では、アイテム追跡デバイス104は、以前に記憶された情報(例えば、支払いカード情報)を使用して、アイテム204の取引を完了し得る。この場合、ユーザは、空間を出るときに、ユーザのデジタルカート内のアイテム204の代金が自動的に請求され得る。他の実施形態では、アイテム追跡デバイス104は、撮像デバイス102に位置するスキャナ又はカードリーダを使用してユーザから情報を収集し、アイテム204の取引を完了し得る。このプロセスにより、ユーザが買いたいアイテム204をユーザにスキャン又は他の方法で識別させることなく、アイテム204をユーザのアカウント(例えば、デジタルカート)に自動的に追加することができる。アイテム204をユーザのアカウントに追加した後、アイテム追跡デバイス104は、ユーザのアカウントに追加されたアイテム204に関する情報を有する通知又はサマリをユーザに出力し得る。例えば、アイテム追跡デバイス104は、撮像デバイス102に位置するグラフィカルユーザインターフェース上にサマリを出力し得る。別の例として、アイテム追跡デバイス104は、ユーザに関連付けられた電子メールアドレス又はユーザデバイスにサマリを送信することによって、サマリを出力し得る。
【0043】
アイテム追跡デバイスのハードウェア構成
図6は、アイテム追跡システム100のためのアイテム追跡デバイス104の一実施形態である。一実施形態では、アイテム追跡デバイス104は、プロセッサ602と、メモリ116と、ネットワークインターフェース604とを備え得る。アイテム追跡デバイス104は、図示のように、又は任意の他の適切な構成で構成され得る。
【0044】
プロセッサ
プロセッサ602は、メモリ116に動作可能に結合された1つ又は複数のプロセッサを含む。プロセッサ602は、状態機械、1つ又は複数の中央処理装置(CPU)チップ、論理ユニット、コア(例えば、マルチコアプロセッサ)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又はデジタルシグナルプロセッサ(DSP)を含むが、これらに限定されない任意の電子回路である。プロセッサ602は、プログラマブル論理デバイス、マイクロコントローラ、マイクロプロセッサ、又は前述したものの任意の適切な組合せであり得る。プロセッサ602は、メモリ116及びネットワークインターフェース604に通信可能に結合され、それらと信号通信する。1つ又は複数のプロセッサは、データを処理するように構成され、ハードウェア又はソフトウェアで実装され得る。例えば、プロセッサ602は、8ビット、16ビット、32ビット、64ビット、又は任意の他の適切なアーキテクチャであり得る。プロセッサ602は、算術及び論理演算を実行するための演算論理装置(ALU)と、ALUにオペランドを供給し、ALU演算の結果を記憶するプロセッサレジスタと、メモリから命令をフェッチし、ALU、レジスタ、及び他の構成要素の協調動作を指示することによってそれらを実行する制御ユニットとを含み得る。
【0045】
1つ又は複数のプロセッサは、様々な命令を実装するように構成される。例えば、1つ又は複数のプロセッサは、アイテム追跡命令606を実行してアイテム追跡エンジン114を実装するように構成される。このように、プロセッサ602は、本明細書に開示される機能を実装するように設計された専用コンピュータであり得る。一実施形態では、アイテム追跡エンジン114は、論理ユニット、FPGA、ASIC、DSP、又は任意の他の適切なハードウェアを使用して実装される。アイテム追跡エンジン114は、
図1及び
図3で説明したように動作するように構成される。例えば、アイテム追跡エンジン114は、
図3で説明したようなプロセス300のステップを実行するように構成され得る。
【0046】
メモリ
メモリ116は、プロセッサ602によって実行されたときに、本明細書で説明された機能(複数可)を実装するように動作可能な任意の他のデータ、命令、論理、ルール、又はコードとともに、
図1及び
図3に関して上記で説明した情報のいずれかを記憶するように動作可能である。メモリ116は、1つ又は複数のディスク、テープドライブ、又はソリッドステートドライブを備え、プログラムが実行のために選択されたときにそのようなプログラムを記憶し、プログラム実行中に読み取られる命令及びデータを記憶するために、オーバーフローデータ記憶デバイスとして使用され得る。メモリ116は、揮発性又は不揮発性であり得、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ターナリ連想メモリ(TCAM)、ダイナミックランダムアクセスメモリ(DRAM)、及びスタティックランダムアクセスメモリ(SRAM)を含み得る。
【0047】
メモリ116は、アイテム追跡命令606、アイテム情報118、ユーザアカウント情報120、機械学習モデル126、画像122、深度画像124、ホモグラフィ608、信頼度スコア610、信頼度スコアしきい値612、エリアしきい値614、制限又は禁止アイテムのリスト616、及び/又は任意の他のデータ若しくは命令を記憶するように動作可能である。アイテム追跡命令606は、アイテム追跡エンジン114を実行するように動作可能な命令、ロジック、ルール、又はコードの任意の適切なセットを含み得る。アイテム情報118、ユーザアカウント情報120、機械学習モデル126、画像122、深度画像124、ホモグラフィ608、信頼度スコア610、信頼度スコアしきい値612、エリアしきい値614、及び制限又は禁止アイテムのリスト616は、
図1及び
図3でそれぞれ説明したアイテム情報118、ユーザアカウント情報120、機械学習モデル126、画像122、深度画像124、ホモグラフィ608、信頼度スコア610、信頼度スコアしきい値612、エリアしきい値614、及び制限又は禁止アイテムのリスト616と同様に構成される。
【0048】
ネットワークインターフェース
ネットワークインターフェース604は、ワイヤード及び/又はワイヤレス通信を可能にするように構成される。ネットワークインターフェース604は、撮像デバイス102と他のデバイス、システム、又はドメインとの間でデータを通信するように構成される。例えば、ネットワークインターフェース604は、NFCインターフェース、Bluetooth(登録商標)インターフェース、Zigbeeインターフェース、Z-waveインターフェース、無線周波数識別(RFID)インターフェース、WIFIインターフェース、LANインターフェース、WANインターフェース、PANインターフェース、モデム、スイッチ、又はルータを含み得る。プロセッサ602は、ネットワークインターフェース604を使用してデータを送信及び受信するように構成される。ネットワークインターフェース604は、当業者によって理解されるように、任意の適切なタイプの通信プロトコルを使用するように構成され得る。
【0049】
本開示ではいくつかの実施形態が提供されてきたが、開示されたシステム及び方法は、本開示の趣旨又は範囲から逸脱することなく、多くの他の特定の形態で具現化され得ることが理解されるべきである。本実施例は、限定ではなく例示と見なされるべきであり、その意図は、本明細書に与えられる詳細に限定されるべきではない。例えば、様々な要素又は構成要素が別のシステムと組み合わされるか若しくは統合されてもよいし、いくつかの特徴が省略される、すなわち実装されなくてもよい。
【0050】
加えて、離散的又は別個として様々な実施形態で説明及び図示される技法、システム、サブシステム、及び方法は、本開示の範囲から逸脱することなく、他のシステム、モジュール、技法、又は方法と組み合わされるか若しくは統合されてもよい。結合された、若しくは直接結合された、又は互いに通信するものとして図示又は説明された他の項目は、電気的、機械的、又は他の方法にかかわらず、何らかのインターフェース、デバイス、又は中間構成要素を介して間接的に結合又は通信され得る。変更、置換、及び改変の他の例は、当業者によって確認可能であり、本明細書に開示される趣旨及び範囲から逸脱することなく行われ得る。
【0051】
特許庁、及び本出願に対して発行された任意の特許の任意の読者が、本明細書に添付された特許請求の範囲を解釈するのを助けるために、出願人は、特定の請求項において「~ための手段(means for)」又は「~ためのステップ(step for)」という語が明示的に使用されない限り、添付された特許請求の範囲のいずれもが、本明細書の出願日に存在する米国特許法112条(f)項を行使することを意図しないことに留意されたい。
【国際調査報告】