(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-04
(45)【発行日】2024-07-12
(54)【発明の名称】画像追跡中のアクション検出
(51)【国際特許分類】
G06Q 30/06 20230101AFI20240705BHJP
G06T 7/00 20170101ALI20240705BHJP
G06T 7/20 20170101ALI20240705BHJP
G06V 10/82 20220101ALI20240705BHJP
G06V 40/20 20220101ALI20240705BHJP
G07F 9/00 20060101ALI20240705BHJP
G07G 1/00 20060101ALI20240705BHJP
G07G 1/14 20060101ALI20240705BHJP
【FI】
G06Q30/06
G06T7/00 350C
G06T7/20 300A
G06V10/82
G06V40/20
G07F9/00 110A
G07G1/00 311Z
G07G1/00 331C
G07G1/14
(21)【出願番号】P 2022523937
(86)(22)【出願日】2020-10-23
(86)【国際出願番号】 US2020057011
(87)【国際公開番号】W WO2021081297
(87)【国際公開日】2021-04-29
【審査請求日】2023-10-23
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】520068870
【氏名又は名称】セブン-イレブン インコーポレイテッド
【氏名又は名称原語表記】7-Eleven, Inc.
【住所又は居所原語表記】3200 Hackberry Road, Irving TX 75063 US
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】クリシュナムルティ,サイレシュ バーラスワージ
(72)【発明者】
【氏名】ミルザ,シャーメール アリ
(72)【発明者】
【氏名】ヴァカチャーラ,サラス
(72)【発明者】
【氏名】グエン,トロン ギア
(72)【発明者】
【氏名】マウン,クリスタル
(72)【発明者】
【氏名】ポール,ディーパンジャン
(72)【発明者】
【氏名】チンナム,マダン モハン
【審査官】加内 慎也
(56)【参考文献】
【文献】国際公開第2019/181364(WO,A1)
【文献】国際公開第2019/038968(WO,A1)
【文献】米国特許第10438277(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06T 7/20
G06T 7/00
G06V 10/82
G06V 40/20
G07F 9/00
G07G 1/00
G07G 1/14
(57)【特許請求の範囲】
【請求項1】
空間内のラックの上方に配置された
イメージセンサーであって、前記
イメージセンサーは、前記ラックを含む空間の少なくとも一部のトップビュー画像を生成するように構成されている、
イメージセンサーと;
複数の重量センサーであって、各重量センサーは、前記ラックの棚に格納された対応する品目に関連付けられる、重量センサーと;
前記イメージセンサーおよび前記重量センサーに結合された追跡サブシステムとを有するシステムであって、前記追跡サブシステムは:
前記
イメージセンサーによって生成された前記トップビュー画像のフレームを含む画像フィードを受領する段階と;
前記重量センサーから重量測定値を受領する段階と;
人の一部が前記ラックに隣接するゾーンに入ることと、第1の重量センサーに関連付けられた第1の棚から第1の品目が取り除かれることに関連する重量変化の一方または両方に関連する事象を検出する段階と;
前記事象の検出に応答して、第1の人および第2の人が検出された事象と関連する可能性があることを、前記第1の人と前記ラックとの間の第1の距離、前記第2の人と前記ラックとの間の第2の距離、
または前記第1の人と前記第2の人との間の人間
(じんかん)距離のうちの
少なくとも二つに基づいて判別する段階と;
前記第1の人および前記第2の人が検出された事象に関連する可能性があることを判別することに応答して、検出された事象後に前記
イメージセンサーによって生成されたトップビュー画像のバッファ・フレームを記憶する段階と;
記憶されたバッファ・フレームのうちの少なくとも1つと、第1のアクション検出アルゴリズムを用いて、検出された事象に関連するアクションが前記第1の人によって実行されたか前記第2の人によって実行されたかを判定する段階であって、前記第1のアクション検出アルゴリズムは、前記少なくとも1つの記憶されたバッファ・フレームにおける一つまたは複数の輪郭の特性に基づいて、前記アクションを検出するように構成されている、段階と;
前記第1のアクション検出アルゴリズムの結果が、少なくとも部分的には、前記第1のアクション検出アルゴリズムを実施するために必要とされた反復工程の数に基づく基準を満たすかどうかを判定する段階と;
前記第1のアクション検出アルゴリズムの結果が前記基準を満たさないと判定することに応答して、第2のアクション検出アルゴリズムを前記バッファ・フレームの少なくとも1つに適用することによって、検出された事象に関連するアクションが前記第1の人によって実行されたか前記第2の人によって実行されたかを判定する段階であって、前記第2のアクション検出アルゴリズムは、人工ニューラルネットワークを使用して前記アクションを検出するように構成されている、段階と;
前記アクションが前記第1の人によって実行されたと判定することに応答して、前記アクションを前記第1の人に割り当てる段階と;
前記アクションが前記第2の人によって実行されたと判定することに応答して、前記アクションを前記第2の人に割り当てる段階とを実行するように構成されている、
システム。
【請求項2】
前記追跡サブシステムは:
前記バッファ・フレームを記憶した後、記憶されたフレームのトップビュー画像の関心領域を決定する段階と;
前記記憶されたバッファ・フレームのうちの少なくとも1つの前記関心領域と、前記第1のアクション検出アルゴリズムとを用いて、検出された事象に関連するアクションが前記第1の人によって実行されたか、前記第2の人によって実行されたかを判定する段階とを実行するようにさらに構成されている、
請求項1に記載のシステム。
【請求項3】
前記記憶されたバッファ・フレームは、前記人の前記一
部が前記ラックに隣接する前記ゾーンに入ること、および前記人の前記一
部が前記ラックに隣接する前記ゾーンを出ることの一方または両方に続く3フレーム以下のトップビュー画像を含む、請求項1に記載のシステム。
【請求項4】
前記追跡サブシステムは、前記第1のアクション検出アルゴリズムとともに使用する前記バッファ・フレームのサブセットと、前記第2のアクション検出アルゴリズムとともに使用する前記バッファ・フレームの第2のサブセットとを決定するようにさらに構成されている、請求項3に記載のシステム。
【請求項5】
前記追跡サブシステムは、前記第1の人と前記ラックとの間の第1の相対配向と、前記第2の人と前記ラックとの間の第2の相対配向に基づいて、前記第1の人および前記第2の人が前記検出された事象に関連する可能性があることを判別するようにさらに構成される、請求項1に記載のシステム。
【請求項6】
検出されたアクションは、人が前記ラックの前記第1の棚に保管されている前記第1の品目をピックアップすることと関連しており;
追跡サブシステムはさらに:
前記アクションが前記第1の人によって実行されたと判定することに応答して、前記第1の品目を前記第1の人に割り当て;
前記アクションが前記第2の人によって実行されたと判定することに応答して、前記第1の品目を前記第2の人に割り当てるように構成されている、
請求項1に記載のシステム。
【請求項7】
前記第1のアクション検出アルゴリズムは、前記第1の人に関連する第1の輪郭および前記第2の
人に関連する第2の輪郭の逐次反復的な拡張に関わり;
前記基準は、前記人の前記一部が前記ラックに隣接する前記ゾーンに入ることが、前記第1および第2の輪郭の逐次反復的な拡張の最大回数以内に、前記第1の人または前記第2の人のいずれかと関連付けられるという要件を含む、
請求項1に記載のシステム。
【請求項8】
前記追跡サブシステムは:
拡張の最大回数以内に、前記第1の人が、前記人の前記一部が前記ラックに隣接する前記ゾーンに入ることと関連付けられることを判別することに応答して、前記アクションを前記第1の人に割り当てるようにさらに構成されている、
請求項7に記載のシステム。
【請求項9】
センサーによって生成されたトップビュー画像のフレームを含む画像フィードを受領する段階であって、前記センサーは、空間内のラックの上方に配置されており、前記ラックを含む空間の少なくとも一部のトップビュー画像を生成するように構成されている、段階と;
前記ラックの棚に格納された対応する品目に関連付けられる重量センサーから重量測定値を受領する段階と;
人の一部が前記ラックに隣接するゾーンに入ることと、前記重量センサーに関連付けられた第1の棚から第1の品目が取り除かれることに関連する重量変化の一方または両方に関連する事象を検出する段階と;
前記事象の検出に応答して、第1の人および第2の人が検出された事象と関連する可能性があることを、前記第1の人と前記ラックとの間の第1の距離、前記第2の人と前記ラックとの間の第2の距離、
または前記第1の人と前記第2の人との間の人間
(じんかん)距離のうちの
少なくとも二つに基づいて判別する段階と;
前記第1の人および前記第2の人が検出された事象に関連する可能性があることを判別することに応答して、検出された事象後に前記センサーによって生成されたトップビュー画像のバッファ・フレームを記憶する段階と;
記憶されたバッファ・フレームのうちの少なくとも1つと、第1のアクション検出アルゴリズムを用いて、検出された事象に関連するアクションが前記第1の人によって実行されたか前記第2の人によって実行されたかを判定する段階であって、前記第1のアクション検出アルゴリズムは、前記少なくとも1つの記憶されたバッファ・フレームにおける一つまたは複数の輪郭の特性に基づいて、前記アクションを検出するように構成されている、段階と;
前記第1のアクション検出アルゴリズムの結果が、少なくとも部分的には、前記第1のアクション検出アルゴリズムを実施するために必要とされた反復工程の数に基づく基準を満たすかどうかを判定する段階と;
前記第1のアクション検出アルゴリズムの結果が前記基準を満たさないと判定することに応答して、第2のアクション検出アルゴリズムを前記バッファ・フレームの少なくとも1つに適用することによって、検出された事象に関連するアクションが前記第1の人によって実行されたか前記第2の人によって実行されたかを判定する段階であって、前記第2のアクション検出アルゴリズムは、人工ニューラルネットワークを使用して前記アクションを検出するように構成されている、段階と;
前記アクションが前記第1の人によって実行されたと判定することに応答して、前記アクションを前記第1の人に割り当てる段階と;
前記アクションが前記第2の人によって実行されたと判定することに応答して、前記アクションを前記第2の人に割り当てる段階とを含む、
方法。
【請求項10】
前記バッファ・フレームを記憶した後、記憶されたフレームのトップビュー画像の関心領域を決定する段階と;
前記記憶されたバッファ・フレームのうちの少なくとも1つの前記関心領域と、前記第1のアクション検出アルゴリズムとを用いて、検出された事象に関連するアクションが前記第1の人によって実行されたか、前記第2の人によって実行されたかを判定する段階とをさらに含む、
請求項9に記載の方法。
【請求項11】
前記記憶されたバッファ・フレームは、前記人の前記一
部が前記ラックに隣接する前記ゾーンに入ること、および前記人の前記一
部が前記ラックに隣接する前記ゾーンを出ることの一方または両方に続く3フレーム以下のトップビュー画像を含む、請求項9に記載の方法。
【請求項12】
前記第1のアクション検出アルゴリズムとともに使用する前記バッファ・フレームのサブセットと、前記第2のアクション検出アルゴリズムとともに使用する前記バッファ・フレームの第2のサブセットとを決定する段階をさらに含む、請求項11に記載の方法。
【請求項13】
前記第1の人と前記ラックとの間の第1の相対配向と、前記第2の人と前記ラックとの間の第2の相対配向に基づいて、前記第1の人および前記第2の人が前記検出された事象に関連する可能性があることを判別することをさらに含む、請求項11に記載の方法。
【請求項14】
検出されたアクションは、人が前記ラックの前記第1の棚に保管されている前記第1の品目をピックアップすることと関連しており;
当該方法はさらに:
前記アクションが前記第1の人によって実行されたと判定することに応答して、前記第1の品目を前記第1の人に割り当て;
前記アクションが前記第2の人によって実行されたと判定することに応答して、前記第1の品目を前記第2の人に割り当てることを含む、
請求項9に記載の方法。
【請求項15】
前記第1のアクション検出アルゴリズムは、前記第1の人に関連する第1の輪郭および前記第2の
人に関連する第2の輪郭の逐次反復的な拡張に関わり;
前記基準は、前記人の前記一部が前記ラックに隣接する前記ゾーンに入ることが、前記第1および第2の輪郭の逐次反復的な拡張の最大回数以内に、前記第1の人または前記第2の人のいずれかと関連付けられるという要件を含む、
請求項9に記載の方法。
【請求項16】
拡張の最大回数以内に、前記第1の人が、前記人の前記一部が前記ラックに隣接する前記ゾーンに入ることと関連付けられることを判別することに応答して、前記アクションを前記第1の人に割り当てることをさらに含む、請求項15に記載の方法。
【請求項17】
イメージセンサーおよび重量センサーに結合された追跡サブシステムであって、前記イメージセンサーは、空間内のラックの上方に配置され、前記ラックを含む前記空間の少なくとも一部のトップビュー画像を生成するように構成されており、前記重量センサーは、前記ラックの棚から品目が取り除かれたときに重量変化を測定するように構成されており、当該追跡サブシステムは:
前記
イメージセンサーによって生成された前記トップビュー画像のフレームを含む画像フィードを受領する段階と;
前記重量センサーから重量測定値を受領する段階と;
人の一部が前記ラックに隣接するゾーンに入ることと、前記重量センサーに関連付けられた第1の棚から第1の品目が取り除かれることに関連する重量変化の一方または両方に関連する事象を検出する段階と;
前記事象の検出に応答して、第1の人および第2の人が検出された事象と関連する可能性があることを、前記第1の人と前記ラックとの間の第1の距離、前記第2の人と前記ラックとの間の第2の距離、
または前記第1の人と前記第2の人との間の人間
(じんかん)距離のうちの
少なくとも二つに基づいて判別する段階と;
前記第1の人および前記第2の人が検出された事象に関連する可能性があることを判別することに応答して、検出された事象後に前記
イメージセンサーによって生成されたトップビュー画像のバッファ・フレームを記憶する段階と;
記憶されたバッファ・フレームのうちの少なくとも1つと、第1のアクション検出アルゴリズムを用いて、検出された事象に関連するアクションが前記第1の人によって実行されたか前記第2の人によって実行されたかを判定する段階であって、前記第1のアクション検出アルゴリズムは、前記少なくとも1つの記憶されたバッファ・フレームにおける一つまたは複数の輪郭の特性に基づいて、前記アクションを検出するように構成されている、段階と;
前記第1のアクション検出アルゴリズムの結果が、少なくとも部分的には、前記第1のアクション検出アルゴリズムを実施するために必要とされた反復工程の数に基づく基準を満たすかどうかを判定する段階と;
前記第1のアクション検出アルゴリズムの結果が前記基準を満たさないと判定することに応答して、第2のアクション検出アルゴリズムを前記バッファ・フレームの少なくとも1つに適用することによって、検出された事象に関連するアクションが前記第1の人によって実行されたか前記第2の人によって実行されたかを判定する段階であって、前記第2のアクション検出アルゴリズムは、人工ニューラルネットワークを使用して前記アクションを検出するように構成されている、段階と;
前記アクションが前記第1の人によって実行されたと判定することに応答して、前記アクションを前記第1の人に割り当てる段階と;
前記アクションが前記第2の人によって実行されたと判定することに応答して、前記アクションを前記第2の人に割り当てる段階とを実行するように構成されている、
追跡サブシステム。
【請求項18】
前記バッファ・フレームを記憶した後、記憶されたフレームのトップビュー画像の関心領域を決定する段階と;
前記記憶されたバッファ・フレームのうちの少なくとも1つの前記関心領域と、前記第1のアクション検出アルゴリズムとを用いて、検出された事象に関連するアクションが前記第1の人によって実行されたか、前記第2の人によって実行されたかを判定する段階とを実行するようにさらに構成されている、
請求項17に記載の追跡サブシステム。
【請求項19】
前記記憶されたバッファ・フレームは、前記人の前記一
部が前記ラックに隣接する前記ゾーンに入ること、および前記人の前記一
部が前記ラックに隣接する前記ゾーンを出ることの一方または両方に続く3フレーム以下のトップビュー画像を含む、請求項17に記載の追跡サブシステム。
【請求項20】
前記追跡サブシステムは、前記第1のアクション検出アルゴリズムとともに使用する前記バッファ・フレームのサブセットと、前記第2のアクション検出アルゴリズムとともに使用する前記バッファ・フレームの第2のサブセットとを決定するようにさらに構成されている、請求項19に記載の追跡サブシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、オブジェクト検出および追跡に関し、より具体的には、画像追跡中のアクション検出に関する。
【背景技術】
【0002】
空間内のオブジェクトを識別し追跡することは、いくつかの技術的課題を提起する。既存のシステムは、オブジェクト(たとえば、人間)を識別するためにさまざまな画像処理技術を使用する。たとえば、これらのシステムは、人物の種々の特徴を識別することができ、それが後に画像においてその人物を識別するために使用できる。このプロセスは、画像が複数の人間を含む場合に、計算集約的になる。たとえば、店舗のような混雑した環境の画像において人物を識別することは、画像内の全人物を識別し、次いで、ある人物の特徴を画像における全人物に対して比較することに関わる。計算集約的であることに加えて、このプロセスは、かなりの時間を必要とし、これは、このプロセスがビデオストリームのようなリアルタイム・アプリケーションと両立できないことを意味する。この問題は、複数のオブジェクトを同時に識別し、追跡しようとすると、扱いきれなくなる。さらに、既存のシステムでは、画像内に位置するオブジェクトの物理的な位置を決定することができない。
【発明の概要】
【課題を解決するための手段】
【0003】
位置追跡システムは、物理的空間(たとえば、店舗)における人および/またはオブジェクトの物理的位置を追跡するために使用される。これらのシステムは、典型的には、人および/またはオブジェクトの存在を検出するためにセンサー(たとえば、カメラ)を使用し、センサーからの信号に基づいて人および/またはオブジェクトの物理的位置を決定するためにコンピュータを使用する。店舗場面では、店舗内の在庫の動きを追跡するために、他のタイプのセンサーを設置することができる。たとえば、重量センサーをラックおよび棚に設置して、それらのラックおよび棚から品目がいつ取り除かれたかを決定することができる。店内の人の位置と棚から品目が取り除かれた時の両方を追跡することにより、コンピュータは、店舗内のどの人が品目を取り除いたかを決定し、その品目をレジで登録する必要なく、その品目についてその人物に課金することが可能となる。つまり、人は、店内に入り、品目を取り、通常のチェックアウト過程のために立ち止まることなく、店を出ることができる。
【0004】
より大きな物理的空間(たとえば、コンビニエンスストアおよび食料雑貨店)については、空間全体にわたって追加のセンサーを設置して、空間内を移動するにつれて人および/またはオブジェクトの位置を追跡することができる。たとえば、より大きな空間内の位置を追跡するために追加のカメラを追加することができ、追加の品目および棚を追跡するために追加の重量センサーを追加することができる。カメラの数を増やすことは、各カメラが物理的空間の一部についての視野を提供するだけなので、技術的な課題を提起する。これは、各カメラからの情報を独立して処理して、特定のカメラの視野内の人およびオブジェクトを識別し追跡する必要があることを意味する。次いで、各カメラからの情報は、物理的空間内の人およびオブジェクトを追跡するために、組み合わされ、集団として処理される必要がある。
【0005】
本願に開示されたシステムは、カメラのピクセルと空間内の物理的位置との間の関係を生成することによって、上述した技術的問題に対する技術的解決策を提供する。開示されるシステムは、1)センサー(たとえば、カメラ)のピクセルを、空間(たとえば、部屋)についてのグローバルプレーン内の物理的位置にマッピングするホモグラフィーを生成するプロセス、2)センサーおよび該センサーに関連するホモグラフィーを使用して、空間内のオブジェクトについての物理的位置を決定するプロセス、3)オブジェクトが、あるセンサーの視野から別のセンサーの視野に移動する際に、そのオブジェクトについての追跡情報を引き渡すプロセス、4)マーカーを使用して、センサーまたはラックが空間内で移動した時を検出するプロセス、5)仮想カーテンを使用して人がラックと相互作用している場所を検出するプロセス、6)ラックに関連する所定のゾーンを使用して品目を人と関連付けるプロセス、7)一様でない重さをもつ品目を識別し、人に関連付けるプロセス、および8)重量に基づいて、ラックに誤って置かれた品目を識別するプロセスを含む、いくつかの実際的な用途および技術的利点を提供する。
【0006】
ある実施形態では、追跡システムは、センサーについてのホモグラフィーを生成するように構成されてもよい。ホモグラフィ(homography)は、センサー(たとえば、カメラ)からの画像におけるピクセル位置と物理的空間内の物理的位置との間で変換するように構成される。この構成では、追跡システムは、空間についてのグローバルプレーン内のマーカーの物理的位置およびセンサーからの画像におけるマーカーのピクセル位置に基づいて、ホモグラフィーのための係数を決定する。この構成は、
図2~
図7を用いてより詳細に説明される。
【0007】
ある実施形態では、追跡システムは、センサーを使用して、グローバルプレーン内の棚位置を較正するように構成される。この構成では、追跡システムは、センサーを使用して、ラックの現在の棚位置を、そのラックについての期待される棚位置と周期的に比較する。現在の棚位置が期待される棚位置と一致しない場合、追跡システムは、ラックが移動したかどうか、または第1のセンサーが移動したかどうかを判定するために、一つまたは複数の他のセンサーを使用する。この構成は、
図8および
図9を使用してより詳細に説明される。
【0008】
ある実施形態では、追跡システムは、オブジェクト(たとえば、人)が隣接するセンサーの視野の間を移動する際に、オブジェクト(たとえば、人)についての追跡情報を引き渡すように構成される。この構成では、追跡システムは、第1のセンサーの視野内のオブジェクトの動きを追跡し、次いで、オブジェクトが第2の隣接するセンサーの視野に入る際に、そのオブジェクトについての追跡情報(たとえば、オブジェクト識別子)を引き渡す。この構成は、
図10および11を用いてより詳細に説明される。
【0009】
ある実施形態では、追跡システムは、仮想カーテンを使用して、棚相互作用を検出するように構成される。この構成では、追跡システムは、人がラックの棚と対話している場所を決定するために、センサーによって捕捉された画像を処理するように構成される。追跡システムは、人がラックのどの領域およびどの棚と相互作用しているかを決定するために使用される仮想カーテンとして、画像内の所定のゾーンを使用する。この構成は、
図12~14を用いてより詳細に説明される。
【0010】
ある実施形態では、追跡システムは、いつ品目がラックからピックアップされたかを検出し、ラックに関連付けられたあらかじめ定義されたゾーンを使用して、その品目をどの人に割り当てるかを決定するように構成される。この構成では、追跡システムは、重量センサーを使用して品目がピックアップされたことを検出する。次いで、追跡システムは、センサーを使用して、ラックに関連付けられたあらかじめ定義されたゾーン内の人物を識別する。ひとたび品目と人物が識別されると、追跡システムは、識別された人物に関連付けられたデジタル・カートにその品目を追加する。この構成は、
図15および
図18を用いてより詳細に説明される。
【0011】
ある実施形態では、追跡システムは、一様でない重量を有するオブジェクトを識別し、その品目をある人物のデジタル・カートに割り当てるように構成される。この構成では、追跡システムは、ピックアップされた品目上のマーカー(たとえば、テキストまたは記号)を識別するためにセンサーを使用する。追跡システムは、識別されたマーカーを使用して、どの品目がピックアップされたかを識別する。次いで、追跡システムは、センサーを使用して、ラックに関連付けられたあらかじめ定義されたゾーン内の人物を識別する。ひとたび品目と人物が識別されると、追跡システムは、識別された個人に関連付けられたデジタル・カートにその品目を追加する。この構成は、
図16および
図18を用いてより詳細に説明される。
【0012】
ある実施形態では、追跡システムは、ラック上に誤まって置かれた品目を検出し、識別するように構成される。たとえば、人は、ラック上の間違った位置に品目を戻すことがある。この構成では、追跡システムは、重量センサーを使用して、ある品目がラックに戻されたことを検出し、その重量に基づいて、その品目が正しい位置にないことを判定する。次いで、追跡システムは、センサーを使用して、その品目をラックに置いた人物を識別し、そのデジタル・カートを解析して、デジタル・カート内の品目の重量に基づいて、どの品目を戻したかを決定する。この構成は、
図17および
図18を用いてより詳細に説明される。
【0013】
ある実施形態では、追跡システムは、オブジェクト追跡中に除外されるべき、各センサーによって生成された画像からのピクセル領域を決定するように構成される。これらのピクセル領域、すなわち「自動除外ゾーン」は、定期的に(たとえば、空間内を移動している人がいない時に)更新されてもよい。自動除外ゾーンは、追跡中に除外される、空間の物理的部分のマップを生成するために使用されてもよい。この構成は、
図19~
図21を用いてより詳細に説明される。
【0014】
ある実施形態では、追跡システムは、空間内に近接して位置する人々を区別するように構成される。たとえば、2人の人が互いの近く立っているか、または他の仕方で近くに位置している場合、従来のシステムでは、特にトップビュー画像に基づいてでは、これらの人を区別することは困難または不可能でありうる。この実施形態では、システムは、近接したオブジェクトを個々に検出するために、トップビュー深さ画像における複数の深さでの輪郭を識別する。この構成は、
図22および
図23を用いてより詳細に説明される。
【0015】
ある実施形態では、追跡システムは、局所的に(たとえば、各センサーから受信した画像内のピクセル位置を追跡することによって)およびグローバルに(たとえば、空間内の物理的座標に対応するグローバルプレーン上の物理的位置を追跡することによって)人を追跡するように構成される。人の追跡は、局所的とグローバルの両方で実行される場合に、より信頼性が高くなりうる。たとえば、人が局所的に「失われる」場合(たとえば、センサーがフレームを捕捉できず、該センサーによって人が検出されない場合)でも、その人は、近くのセンサーからの画像、局所追跡アルゴリズムを用いて決定されたその人の推定局所位置、および/またはグローバル追跡アルゴリズムを用いて決定された推定グローバル位置に基づいて、グローバルに追跡されうる。この構成は、
図24A~Cないし
図26を使用してより詳細に説明される。
【0016】
ある実施形態では、追跡システムは、追跡中に、本開示において「候補リスト」と称される、可能性のある個人識別情報または識別子(すなわち、追跡される人のユーザー名、アカウント番号など)の記録を維持するように構成される。追跡される各人の可能な識別情報を確立するために、候補リストが生成され、追跡中に更新される。一般に、追跡される人の可能な識別情報または識別子のそれぞれについて、候補リストは、識別情報または識別子が正しいと信じられる確率をも含む。候補リストは、人々の間の相互作用(たとえば、衝突)の後、および他の不確実性事象(たとえば、センサー・データの喪失、撮像エラー、意図的な策略など)に応答して更新される。この構成は、
図27および
図28を用いてより詳細に説明される。
【0017】
ある実施形態では、追跡システムは、追跡される人の識別情報が不確実または不明になった場合(たとえば、上述の候補リストに基づいて)、オブジェクト再識別のために、特別に構造化されたアプローチを採用するように構成される。たとえば、人を再識別するために、資源のかかる機械学習に基づくアプローチに大きく依存するのではなく、人の観察可能な特徴(たとえば、高さ、色、幅、体積など)に関連する「低コスト」記述子が、人を再識別のために最初に使用される。低コスト記述子が信頼できる結果を提供できない場合には、「高コスト」記述子(たとえば、人工ニューラルネットワーク・モデルを用いて決定される)が使用される。たとえば、いくつかの場合には、身長、髪の色、および/または靴の色に基づいて、人物をまず再識別してもよい。しかしながら、これらの記述子が、人物を確実に再識別するのに十分でない場合(たとえば、追跡される他の人が同様の特徴を有するため)、次第により高レベルのアプローチが使用されてもよい(たとえば、人を認識するようにトレーニングされた人工ニューラルネットワークに関わるもの)。こうしたアプローチは、人物を識別することにおいてより効果的であるが、一般的には、より多くの処理資源の使用を伴う。これらの構成は、
図29~
図32を用いてより詳細に説明される。
【0018】
ある実施形態では、追跡システムは、ラックからピックアップされた品目を正しい人に割り当てるために、諸アルゴリズム(たとえば、比較的直接的に決定された画像特徴に基づく、より単純なアプローチから、人工ニューラルネットワークに関わる、より複雑な戦略まで)のカスケードを使用するように構成される。カスケードは、たとえば、(i)ラックへの2人以上の人の近接、(ii)ラックに隣接するゾーン(または「仮想カーテン」)の中に交差する手、および/または(iii)ラックから品目が除去されたことを示す重量信号によってトリガーされうる。さらに別の実施形態では、追跡システムは、品目を正しい人物に割り当てるために、ユニークな輪郭ベースのアプローチを採用するように構成される。たとえば、2人の人がある品目をピックアップするためにラックに手を伸ばしている場合、どちらの人の腕がその品目をピックアップするためにラックに手を伸ばしていたかを決定するために、輪郭は、頭の高さから、より低い高さまで「拡張」されてもよい。この計算効率のよい輪郭ベースのアプローチの結果がある種の信頼性基準を満たさない場合、姿勢推定に関わる、より計算的に高価なアプローチが使用されてもよい。これらの構成は、
図33A~Cないし
図35を使用してより詳細に説明される。
【0019】
ある実施形態では、追跡システムは、ラックを出た後に品目を追跡し、その品目が移動を止める位置を識別し、どの人物が止まった品目に最も近いかを決定するように構成される。一般的に、最も近い人物がその品目を割り当てられる。この構成は、たとえば、姿勢推定のために人工ニューラルネットワークを使用しても、品目が正しい人に割り当てられない場合に使用されうる。この構成は、
図36A、Bおよび
図37を使用して、より詳細に説明される。本開示のある種の実施形態は、これらの利点のいくつかを含む、すべてを含む、またはいずれも含まないことがありうる。これらの利点および他の特徴は、添付の図面および特許請求の範囲との関連で参酌される以下の詳細な説明から、より明確に理解されるであろう。
【図面の簡単な説明】
【0020】
本開示のより完全な理解のために、添付の図面および詳細な説明に関連して参酌される、以下の簡単な説明を参照する。ここで、同様の参照番号は同様の部分を表す。
【
図1】空間内のオブジェクトを追跡するように構成された追跡システムの実施形態の概略図である。
【
図2】追跡システムのためのセンサー・マッピング方法の実施形態のフローチャートである。
【
図3】追跡システムのためのセンサー・マッピング・プロセスの例である。
【
図4】追跡システムにおけるセンサーからのフレームの例である。
【
図5A】追跡システムにおけるセンサーのためのセンサー・マッピングの例である。
【
図5B】追跡システムにおけるセンサーのためのセンサー・マッピングの別の例である。
【
図6】マーカ・グリッドを使用する追跡システムのためのセンサー・マッピング方法の実施形態のフローチャートである。
【
図7】マーカ・グリッドを使用する追跡システムのためのセンサー・マッピング・プロセスの例である。
【
図8】追跡システムのための棚位置較正方法の実施形態のフローチャートである。
【
図9】追跡システムのための棚位置較正プロセスの例である。
【
図10】追跡システムのための追跡ハンドオフ方法の実施形態のフローチャートである。
【
図11】追跡システムのための追跡ハンドオフ処理の例である。
【
図12】追跡システムのための棚相互作用検出方法の実施形態のフローチャートである。
【
図13】追跡システムのための棚相互作用検出プロセスの例の正面図である。
【
図14】追跡システムのための棚相互作用検出プロセスの例のオーバーヘッド図である。
【
図15】追跡システムのための品目割り当て方法の実施形態のフローチャートである。
【
図16】追跡システムのための品目識別方法の実施形態のフローチャートである。
【
図17】追跡システムのための誤配置品目識別方法の実施形態のフローチャートである。
【
図18】追跡システムのための品目識別プロセスの例である。
【
図19】追跡システムによる自動除外ゾーンの決定および使用を示す図である。
【
図20】追跡システムによって生成された自動除外ゾーン・マップの例である。
【
図21】追跡システムを使用するオブジェクト追跡のための自動除外ゾーンを生成し使用する例示的な方法を示すフローチャートである。
【
図22】追跡システムを用いた近接オブジェクトの検出を示す図である。
【
図23】追跡システムを用いて近接オブジェクトを検出する例示的な方法を示すフローチャートである。
【
図24A】追跡システムを使用して、局所画像フレームおよび空間102のグローバルプレーンにおける人の追跡を示す図の一である。
【
図24B】追跡システムを使用して、局所画像フレームおよび空間102のグローバルプレーンにおける人の追跡を示す図の一である。
【
図24C】追跡システムを使用して、局所画像フレームおよび空間102のグローバルプレーンにおける人の追跡を示す図の一である。
【
図25A】追跡システムによる粒子フィルタ追跡器の実装を示す図である。
【
図25B】追跡システムによる粒子フィルタ追跡器の実装を示す図である。
【
図26】追跡システムを使用した局所的およびグローバルなオブジェクト追跡の例示的方法を示すフロー図である。
【
図27】追跡システムによるオブジェクト追跡中にオブジェクト識別のための候補リストの使用を示す図である。
【
図28】追跡システムによるオブジェクト追跡中に候補リストを維持する例示的な方法を示すフローチャートである。
【
図29】追跡システムで使用するための例示的な追跡サブシステムを示す図である。
【
図30】追跡システムを用いたオブジェクト特徴に基づく記述子の決定を示す図である。
【
図31A】追跡システムによるオブジェクト追跡中の再識別のための記述子の使用を示す図の一である。
【
図31B】追跡システムによるオブジェクト追跡中の再識別のための記述子の使用を示す図の一である。
【
図31C】追跡システムによるオブジェクト追跡中の再識別のための記述子の使用を示す図の一である。
【
図32】追跡システムを用いたオブジェクト追跡中のオブジェクト再識別の例示的方法を示すフローチャートである。
【
図33A】追跡システムを使用する、品目の人への割り当てを示す図の一である。
【
図33B】追跡システムを使用する、品目の人への割り当てを示す図の一である。
【
図33C】追跡システムを使用する、品目の人への割り当てを示す図の一である。
【
図34】追跡システムを使用して品目を人に割り当てるための例示的な方法のフローチャートである。
【
図35】追跡システムを用いた、輪郭拡張に基づく品目割り当ての例示的方法のフローチャートである。
【
図36A】追跡システムを使用した、品目追跡に基づく品目割り当てを示す図の一である。
【
図36B】追跡システムを使用した、品目追跡に基づく品目割り当てを示す図の一である。
【
図37】追跡システムを用いた品目追跡ベースの品目割当の例示的な方法のフローチャートである。
【
図38】空間内のオブジェクトを追跡するように構成された装置のある実施形態である。
【発明を実施するための形態】
【0021】
位置追跡システムは、人および/またはオブジェクトの物理的位置を物理的空間(たとえば、店舗)内で追跡するために使用される。これらのシステムは、典型的には、人および/またはオブジェクトの存在を検出するためにセンサー(たとえば、カメラ)を使用し、センサーからの信号に基づいて人および/またはオブジェクトの物理的位置を決定するためにコンピュータを使用する。店舗場面では、店舗内の在庫の動きを追跡するために、他のタイプのセンサーを設置することができる。たとえば、重量センサーをラックおよび棚に設置して、それらのラックおよび棚から品目が取り除かれた時を決定することができる。店内の人の位置と棚から品目が取り除かれた時の両方を追跡することにより、コンピュータは、店舗内のどの人が品目を取り除いたかを決定し、その品目をレジで登録する必要なく、その品目についてその人物に課金することが可能となる。つまり、人は、店内に入り、品目を取り、通常のチェックアウト過程のために立ち止まることなく、店を出ることができる。
【0022】
より大きな物理的空間(たとえば、コンビニエンスストアおよび食料雑貨店)については、空間全体にわたって追加のセンサーを設置して、空間内を移動するにつれて人および/またはオブジェクトの位置を追跡することができる。たとえば、より大きな空間内の位置を追跡するために追加のカメラを追加することができ、追加の品目および棚を追跡するために追加の重量センサーを追加することができる。カメラの数を増やすことは、各カメラが物理的空間の一部についての視野を提供するだけなので、技術的な課題を提起する。これは、各カメラからの情報を独立して処理して、特定のカメラの視野内の人およびオブジェクトを識別し追跡する必要があることを意味する。次いで、各カメラからの情報は、物理的空間内の人およびオブジェクトを追跡するために、組み合わされ、集団として処理される必要がある。
【0023】
追加情報は、米国特許出願第__号「大空間における位置追跡のためのスケーラブルな位置追跡システム」(代理人整理番号第090278.0176号)および米国特許出願第__号「顧客ベースのビデオフィード」(代理人整理番号090278.0187)に開示されている。それらは全体としてあたかも複製されているかのように参照により本明細書に組み込まれる。
【0024】
追跡システムの概要
図1は、空間102内のオブジェクトを追跡するように構成された追跡システム100の実施形態の概略図である。上述のように、追跡システム100は、買い物客が従来のチェックアウト過程に従事する必要がないように、空間102(たとえば、店舗)に設置されてもよい。本開示では店舗の例を使用するが、本開示は、追跡システム100を任意の種類の物理的空間(たとえば、部屋、オフィス、屋外スタンド、モール、スーパーマーケット、コンビニエンスストア、ポップアップストア、倉庫、保管センター、アミューズメント・パーク、空港、オフィスビルなど)に設置して使用することができることを考えている。一般に、追跡システム100(またはその構成要素)は、任意の適切な目的のために、これらの空間102内の人および/またはオブジェクトの位置を追跡するために使用される。たとえば、空港では、追跡システム100は、セキュリティ目的で旅行者および従業員の位置を追跡することができる。別の例として、アミューズメント・パークでは、追跡システム100は、アトラクションの人気を測定するために、パーク・ゲストの位置を追跡することができる。さらに別の例として、オフィスビルでは、追跡システム100は、従業員およびスタッフの位置を追跡し、その生産性レベルをモニターすることができる。
【0025】
図1において、空間102は、購入可能な複数の品目を備えた店舗である。追跡システム100は、買い物客が店から品目を購入するために従来の精算プロセスに従事する必要がないように、店内に設置されてもよい。この例では、店舗はコンビニエンスストアまたは食料雑貨店であってもよい。他の例では、店舗は物理的な建物ではなく、買い物客が買い物をすることができる物理的な空間または環境であってもよい。たとえば、店舗は、空港のグラブ・アンド・ゴー・パントリー、オフィスビルのキオスク、公園の屋外市場などである。
【0026】
図1において、空間102は、一つまたは複数のラック112を備える。各ラック112は、品目を保持および展示するように構成された一つまたは複数の棚〔シェルフ〕を備える。いくつかの実施形態では、空間102は、冷蔵庫、冷却器、冷凍庫、または購入のための品目を保持または展示するための任意の他の適切なタイプの家具を含んでいてもよい。空間102は、図示のように、または任意の他の適切な構成で構成することができる。
【0027】
この例では、空間102は、買い物客が空間102に出入りすることができる入口通路を含む物理的構造である。空間102は、入口領域114と出口領域116とを含む。いくつかの実施形態では、入口領域114および出口領域116は、空間102内で重なり合っていてもよく、または同じ領域であってもよい。入口領域114は、人が空間102に入る空間102の入口(たとえばドア)に隣接している。いくつかの実施形態では、入口領域114は、空間102へのトラフィックの流れを制御するターンスタイルまたはゲートを含んでいてもよい。たとえば、入口領域114は、一度に1人が空間102に入ることを可能にするだけのターンスタイルを備えることができる。入口領域114は、空間102に入るときに人を識別する一つまたは複数の装置(たとえば、センサー108またはスキャナ115)に隣接していてもよい。一例として、センサー108は、人が空間102に入るときに、人の一つまたは複数の画像を捕捉することができる。別の例として、人はスキャナ115を用いて自分を識別してもよい。スキャナ115の例は、QRコード(登録商標)スキャナ、バーコードスキャナ、近接場通信(NFC)スキャナ、または人を一意に同定する情報が埋め込まれた電子コードを受信することができる任意の他の適切なタイプのスキャナを含むが、これらに限定されない。たとえば、買い物客は、店舗に入るために、スキャナ115上で個人装置(たとえば、スマートフォン)をスキャンしてもよい。買い物客がスキャナ115上で自分の個人装置をスキャンするとき、個人装置は、買い物客を一意に同定する電子コードをスキャナ115に提供することができる。買い物客が識別され、および/または認証された後、買い物客は店内に入ることができる。ある実施形態では、各買い物客は、個人装置についての識別コードを受信するために、店舗との登録されたアカウントを有していてもよい。
【0028】
空間102に入った後、買い物客は店内を動き回ることができる。買い物客が空間102内を移動するにつれて、買い物客は、ラック112から品目を取り出すことによって品目を買い物することができる。買い物客は、店内のラック112から複数の品目を取り出して、それらの品目を購入することができる。買い物客が買物を終えたとき、買い物客は出口領域116を介して店を出ることができる。出口領域116は、人が空間102を離れるところである、空間102の出口(たとえば、ドア)に隣接している。いくつかの実施形態では、出口領域116は、空間102からのトラフィックの流れを制御するターンスタイルまたはゲートを含んでいてもよい。たとえば、出口領域116は、一度に1人が空間102を出ることを可能にするだけのターンスタイルを備えることができる。いくつかの実施形態では、出口領域116は、空間102を離れるときに人を識別する一つまたは複数の装置(たとえば、センサー108またはスキャナ115)に隣接していてもよい。たとえば、買い物客は、ターンスタイルまたはゲートが開いて買い物客が店を出ることができるようにする前に、スキャナ115上で自分の人装置をスキャンしてもよい。買い物客がスキャナ115上でその個人装置をスキャンするとき、個人装置は、その買い物客が店を出ようとしていることを示すために、買い物客を一意に同定する電子コードを提供することができる。買い物客が店を離れるとき、買い物客のアカウントは、買い物客が店から取り出した品目について課金される。このプロセスを通じて、追跡システム100は、買い物客が、従来のチェックアウト過程に従事することなく、品目を持って店を離れることを可能にする。
【0029】
グローバルプレーンの概要
空間102内の人およびオブジェクトの物理的位置を記述するために、空間102についてグローバルプレーン104が定義される。グローバルプレーン104は、物理領域(すなわち空間102)内のオブジェクトの位置を識別するために追跡システム100によって使用される、ユーザー定義の座標系である。一例として
図1を参照すると、グローバルプレーン104は、x軸およびy軸が空間102の床面と平行になるように定義される。この例では、グローバルプレーン104のz軸は、空間102の床面に対して垂直である。空間102内のある位置が、グローバルプレーン104についての基準位置101または原点として定義される。
図1において、グローバルプレーン104は、基準位置101が店舗のコーナーに対応するように定義される。他の例では、基準位置101は、空間102内の任意の他の適切な位置に配置されてもよい。
【0030】
この構成では、空間102内の物理的位置は、グローバルプレーン104内の(x,y)座標を使用して記述できる。一例として、グローバルプレーン104は、グローバルプレーン104内の1単位が空間102内の1メートルに対応するように定義されうる。換言すれば、グローバルプレーン104内の1のx値は、空間102における基準位置101から1メートルのオフセットに対応する。この例では、基準位置101において空間102のコーナーに立っている人は、グローバルプレーン104において(0,0)の値をもつ(x,y)座標を有する。人が正のx軸方向に2メートル、正のy軸方向に2メートル移動した場合、新しい(x,y)座標は(2,2)の値をもつ。他の例では、グローバルプレーン104は、インチ、フィート、または任意の他の適切な測定単位を使用して表すことができる。
【0031】
いったんグローバルプレーン104が空間102について定義されると、追跡システム100は、グローバルプレーン104の(x,y)座標を使用して、空間102内の人およびオブジェクトの位置を追跡する。たとえば、買い物客が店舗の内部を移動するにつれて、追跡システム100は、グローバルプレーン104の(x,y)座標を用いて店舗内の現在の物理的位置を追跡することができる。
【0032】
追跡システムのハードウェア
ある実施形態では、追跡システム100は、一つまたは複数のクライアント105、一つまたは複数のサーバー106、一つまたは複数のスキャナ115、一つまたは複数のセンサー108、および一つまたは複数の重量センサー110を備える。一つまたは複数のクライアント105、一つまたは複数のサーバー106、一つまたは複数のスキャナ115、一つまたは複数のセンサー108、および一つまたは複数の重量センサー110は、ネットワーク107を介して互いに信号通信することができる。ネットワーク107は、インターネットの全部または一部、イントラネット、Bluetoothネットワーク、WIFIネットワーク、Zigbeeネットワーク、Z波ネットワーク、私設ネットワーク、公衆ネットワーク、ピアツーピアネットワーク、公衆交換電話ネットワーク、セルラーネットワーク、ローカルエリアネットワーク(LAN)、都市圏ネットワーク(MAN)、広域ネットワーク(WAN)、および衛星ネットワークを含むが、これらに限定されない、任意の適切なタイプの無線および/または有線ネットワークであってもよい。ネットワーク107は、当業者には理解されるように、任意の適切なタイプの通信プロトコルをサポートするように構成することができる。追跡システム100は、図示のように、または任意の他の適切な構成で構成されうる。
【0033】
センサー
追跡システム100は、空間102内の人およびオブジェクトの位置を識別し追跡するためにセンサー108を使用するように構成される。たとえば、追跡システム100は、店内を移動する買い物客の画像またはビデオを捕捉するためにセンサー108を使用する。追跡システム100は、センサー108によって提供される画像またはビデオを処理して、買い物客、買い物客の位置、および/または買い物客がピックアップする任意の品目を識別することができる。
【0034】
センサー108の例は、カメラ、ビデオカメラ、ウェブカメラ、プリント回路基板(PCB)カメラ、深さ感知カメラ、飛行時間カメラ、LiDAR、構造化光カメラ、または他の任意の好適なタイプの撮像装置を含むが、これらに限定されない。
【0035】
各センサー108は、空間102の少なくとも一部の上方に配置され、空間102の少なくとも一部のオーバーヘッド・ビュー画像またはビデオを捕捉するように構成される。ある実施形態では、センサー108は、一般に、空間102の内部の諸部分のビデオを生成するように構成される。これらのビデオは、空間102内の買い物客のフレームまたは画像302を含んでいてもよい。各フレーム302は、特定の瞬間における特定のセンサー108の視野内の人および/またはオブジェクトのスナップショットである。フレーム302は、二次元(2D)画像または三次元(3D)画像(たとえば、点群〔ポイントクラウド〕または深さマップ)であってもよい。この構成では、各フレーム302は、空間102についてのグローバルプレーン104の一部分のフレームである。一例として
図4を参照すると、フレーム302は、それぞれがフレーム302内のピクセル位置402に関連する複数のピクセルを含む。追跡システム100は、センサー108からのフレーム302内のピクセルに関するオブジェクトの位置を記述するためにピクセル位置402を使用する。
図4に示す例では、追跡システム100は、それぞれのピクセル位置402を用いて、フレーム302内の異なるマーカー304の位置を識別することができる。ピクセル位置402は、ピクセルがフレーム302内で位置しているピクセル行およびピクセル列に対応する。ある実施形態では、各ピクセルはまた、グローバルプレーン104における深さまたは距離測定を示すピクセル値404にも関連付けられる。たとえば、ピクセル値404は、空間102内でのセンサー108と表面との間の距離に対応しうる。
【0036】
各センサー108は、空間102内に限定された視野を有する。これは、各センサー108が、視野内の空間102の一部を捕捉することができるだけでありうることを意味する。空間102を完全にカバーするために、追跡システム100は、センサー・アレイとして構成された複数のセンサー108を使用することができる。
図1において、センサー108は、3×4のセンサー・アレイとして構成される。他の例では、センサー・アレイは、任意の他の適切な数および/または構成のセンサー108を含んでいてもよい。ある実施形態では、センサー・アレイは、空間102の床面と平行に位置される。いくつかの実施形態では、センサー・アレイは、隣接するセンサー108どうしが少なくとも部分的に重複する視野を有するように構成される。この構成では、各センサー108は、空間102の異なる部分の画像またはフレーム302を捕捉し、それにより追跡システム100は、複数のセンサー108のフレーム302からの情報を組み合わせることによって空間102全体をモニターできる。追跡システム100は、ホモグラフィー118を使用して、各センサー108内のピクセル位置402を空間102内の物理的位置にマッピングするように構成される。ホモグラフィー118は、センサー108によって捕捉されたフレーム302内のピクセル位置402と、グローバルプレーン104内の(x,y)座標(すなわち、空間102における物理的位置)との間を変換するように構成される。追跡システム100は、ホモグラフィー118を使用して、特定のセンサー108内のピクセル位置402と空間102内の物理的位置との間で相関をとる。換言すれば、追跡システム100は、人が空間102内で物理的にどこに位置しているかを、センサー108からのフレーム302内でのその人のピクセル位置402に基づいて決定するために、ホモグラフィー118を使用する。追跡システム100は、空間102全体をモニターするために複数のセンサー108を使用するので、各センサー108は、空間102内でのセンサー108の物理的位置に基づいて、異なるホモグラフィー118と一意的に関連付けられる。この構成により、追跡システム100は、人が空間102全体においてどこに物理的に位置しているかを、その人がどのセンサー108に現れるかと、そのセンサー108によって捕捉されるフレーム302内のその位置とに基づいて決定することができる。ホモグラフィー118に関するさらなる情報は、
図2~
図7に記載される。
【0037】
重量センサー
追跡システム100は、重量センサー110を使用して、人が空間102内でピックアップする品目を検出し、識別するように構成される。たとえば、追跡システム100は、買い物客がラック112から品目を取り出す時を検出するために、ラック112の棚に位置する重量センサー110を使用する。各重量センサー110は、特定の品目に関連付けられていてもよく、これにより、追跡システム100は、買い物客がどの品目をピックアップしたかを識別することができる。重量センサー110は、一般に、重量センサー110の上または近傍に配置されるオブジェクト(たとえば、製品)の重量を測定するように構成される。たとえば、重量センサー110は、入力の機械的力(たとえば、重量、張力、圧縮、圧力、またはトルク)を出力の電気信号(たとえば、電流または電圧)に変換するトランスデューサを含んでいてもよい。入力の力が増加するにつれて、出力の電気信号は比例して増加しうる。追跡システム100は、重量センサー110上の品目についての全体重量を決定するために出力の電気信号を解析するように構成される。重量センサー110の例は、圧電ロードセルまたは圧力センサーを含むが、これらに限定されない。たとえば、重量センサー110は、ロードセルが受ける重量を示す電気信号を通信するように構成された一つまたは複数のロードセルを含んでいてもよい。たとえば、ロードセルは、ロードセルが受ける重量または力に依存して変化する電流を生成してもよい。ロードセルは、生成された電気信号を処理のためにサーバー105および/またはクライアント106に通信するように構成される。重量センサー110は、一つまたは複数の品目を保持するために空間102内の家具(たとえば、ラック112)上に位置されてもよい。たとえば、一つまたは複数の重量センサー110がラック112の棚に位置されてもよい。別の例として、一つまたは複数の重量センサー110が冷蔵庫または冷却器の棚に配置されてもよい。別の例として、一つまたは複数の重量センサー110がラック112の棚と統合されてもよい。他の例では、重量センサー110は、空間102内の任意の他の適切な位置に配置されてもよい。
【0038】
ある実施形態では、重量センサー110は、特定の品目に関連付けられてもよい。たとえば、重量センサー110は、特定の品目の一つまたは複数を保持し、重量センサー110上の品目の合計重量を測定するように構成されてもよい。重量センサー110から品目がピックアップされると、重量センサー110は、重量減少を検出するように構成される。この例では、重量センサー110は、重量センサー110から除去された品目の数を決定するために、品目の重量に関する記憶された情報を使用するように構成される。たとえば、重量センサー110は、8オンスの個々の重量を有する品目に関連付けられていてもよい。重量センサー110が24オンスの重量減少を検出すると、重量センサー110は、その品目が3つ、重量センサー110から除去されたと決定してもよい。重量センサー110はまた、品目が重量センサー110に加えられたときに重量増加を検出するように構成される。たとえば、ある品目が重量センサー110に戻された場合、重量センサー110は、重量センサー110に関連付けられた品目についての個々の重量に対応する重量増加を決定する。
【0039】
サーバー
サーバー106は、追跡システム100のためのサービスおよび資源(たとえば、データおよび/またはハードウェア資源)を提供するように構成された一つまたは複数の物理装置によって形成されてもよい。サーバー106のハードウェア構成に関する追加情報は、
図38に記載されている。ある実施形態では、サーバー106は、一つまたは複数のセンサー108および/または重量センサー110に動作可能に結合されてもよい。追跡システム100は、任意の適切な数のサーバー106を含んでいてもよい。たとえば、追跡システム100は、センサー・アレイ内の第1の複数のセンサー108と信号通信する第1のサーバー106と、センサー・アレイ内の第2の複数のセンサー108と信号通信する第2のサーバー106とを含んでいてもよい。別の例として、追跡システム100は、複数のセンサー108と信号通信する第1のサーバー106と、複数の重量センサー110と信号通信する第2のサーバー106とを含んでいてもよい。他の例では、追跡システム100は、それぞれが一つまたは複数のセンサー108および/または重量センサー110と信号通信している任意の他の適切な数のサーバー106を含んでいてもよい。
【0040】
サーバー106は、一つまたは複数のセンサー108および/または重量センサー110についてのデータ(たとえば、フレーム302および/またはビデオ)を処理するように構成されてもよい。ある実施形態では、サーバー106は、センサー108についてのホモグラフィー118を生成するように構成されてもよい。上述したように、生成されたホモグラフィー118により、追跡システム100は、人が空間102全体におけるどこに物理的に位置しているかを、人がどのセンサー108が現れるかと、そのセンサー108によって捕捉されたフレーム302内のその位置とに基づいて決定できる。この構成では、サーバー106は、グローバルプレーン104内のマーカーの物理的位置およびセンサー108からの画像内のマーカーのピクセル位置に基づいて、ホモグラフィー118の係数を決定する。このプロセスを実行するサーバー106の例は、
図2~
図7に記載される。
【0041】
ある実施形態では、サーバー106は、センサー108を使用して、グローバルプレーン104内の棚位置を較正するように構成される。このプロセスにより、追跡システム100は、ラック112またはセンサー108が空間102内のもとの位置から移動したときを検出することができる。この構成では、サーバー106は、センサー108を用いて、ラック112の現在の棚位置を該ラック112の期待される棚位置と周期的に比較する。現在の棚位置が期待される棚位置と一致しない場合、サーバー106は、ラック112が移動したかどうか、または第1のセンサー108が移動したかどうかを判断するために、一つまたは複数の他のセンサー108を使用する。このプロセスを実行するサーバー106の一例は、
図8および
図9に記載される。
【0042】
ある実施形態では、サーバー106は、隣接するセンサー108の視野の間を移動するオブジェクト(たとえば、人)の追跡情報を引き渡すように構成される。このプロセスにより、追跡システム100は、空間102の内部を移動する人を追跡することができる。この構成では、サーバー106は、第1のセンサー108の視野内のオブジェクトの動きを追跡し、次いで、第2の隣接するセンサー108の視野に入る際に、そのオブジェクトについての追跡情報(たとえば、オブジェクト識別子)を引き渡す。このプロセスを実行するサーバー106の一例は、
図10および
図11に記載される。
【0043】
ある実施形態では、サーバー106は、仮想カーテンを使用して棚相互作用を検出するように構成される。このプロセスにより、追跡システム100は、人がラック112からピックアップする品目を識別することができる。この構成では、サーバー106は、人がラック112の棚と相互作用している場所を決定するために、センサー108によって捕捉された画像を処理するように構成される。サーバー106は、画像内の所定のゾーンを仮想カーテンとして使用し、仮想カーテンは、人がラック112のどの領域およびどの棚と相互作用しているかを決定するために使用される。このプロセスを実行するサーバー106の一例は
図12~
図14に示される。
【0044】
ある実施形態では、サーバー106は、いつ品目がラック112からピックアップされたかを検出し、ラック112に関連付けられたあらかじめ定義されたゾーンを使用してその品目をどの人に割り当てるかを決定するように構成される。このプロセスにより、追跡システム100は、ラック112上の品目を、その品目をピックアップした人物と関連付けることができる。この構成では、サーバー106は、重量センサー110を使用して品目がピックアップされたことを検出する。サーバー106は、次いで、センサー108を使用して、ラック112に関連するあらかじめ定義されたゾーン内の人物を識別する。ひとたび品目および人物が識別されると、サーバー106は、識別された人物に関連付けられているデジタル・カートにその品目を追加する。このプロセスを実行するサーバー106の一例は、
図15および
図18に記載される。
【0045】
ある実施形態では、サーバー106は、一様でない重量を有するオブジェクトを識別し、その品目を人のデジタル・カートに割り当てるように構成される。このプロセスにより、追跡システム100は、重量だけでは識別できない、人がピックアップした品目を識別することができる。たとえば、生鮮食品の重量は一定ではなく、品目によって変わる。この構成では、サーバー106は、センサー108を使用して、ピックアップされた品目上のマーカー(たとえば、テキストまたは記号)を識別する。サーバー106は、識別されたマーカーを使用して、どの品目がピックアップされたかを識別する。サーバー106は、次に、センサー108を使用して、ラック112に関連付けられたあらかじめ定義されたゾーン内の人物を識別する。ひとたび品目および人物が識別されると、サーバー106は、識別された人物に関連付けられたデジタル・カートにその品目を追加する。このプロセスを実行するサーバー106の一例は、
図16および
図18に記載される。
【0046】
ある実施形態では、サーバー106は、ラック112上に誤って置かれた品目を識別するように構成される。このプロセスにより、追跡システム100は、買い物客が品目を置いたときに、品目をその適切な位置に戻したかどうかにかかわらず、買い物客のデジタル・カートから品目を除去することができる。たとえば、人は、ラック112上の間違った位置または間違ったラック112上に品目を戻す可能性がある。この構成では、サーバー106は、重量センサー110を使用して、ある品目がラック112に戻されたことを検出し、その品目が正しい位置にないことをその重量に基づいて判断する。サーバー106は、次いで、センサー108を使用して、ラック112に品目を置いた人を識別し、そのデジタル・カートを解析して、デジタル・カート内の品目の重量に基づいて、どの品目を戻したかを決定する。このプロセスを実行するサーバー106の一例は、
図17および
図18に記載される。
【0047】
クライアント
いくつかの実施形態では、一つまたは複数のセンサー108および/または重量センサー110は、クライアント105を介してサーバー106に動作可能に結合される。ある実施形態では、追跡システム100は、それぞれが一つまたは複数のセンサー108および/または重量センサー110に動作可能に結合されうる複数のクライアント105を備える。たとえば、第1のクライアント105が、一つまたは複数のセンサー108および/または重量センサー110に動作可能に結合されてもよく、第2のクライアント105が、一つまたは複数の他のセンサー108および/または重量センサー110に動作可能に結合されてもよい。クライアント105は、一つまたは複数のセンサー108および/または重量センサー110のためのデータ(たとえば、フレーム302および/またはビデオ)を処理するように構成された一つまたは複数の物理的な装置によって形成されてもよい。クライアント105は、サーバー106と一つまたは複数のセンサー108および/または重量センサー110との間でデータを交換するための仲介者として機能することができる。一つまたは複数のクライアント105とサーバー106の組み合わせは、追跡サブシステムと呼ばれることもある。この構成では、クライアント105は、センサー108によって捕捉される画像またはフレーム302についての画像処理能力を提供するように構成されうる。クライアント105は、さらなる処理および解析のために、画像、処理済み画像、または他の任意の適切なタイプのデータをサーバー106に送信するようにさらに構成される。いくつかの実施形態では、クライアント105は、サーバー106について上述のプロセスのうちの一つまたは複数を実行するように構成されてもよい。
【0048】
センサー・マッピング・プロセス
図2は、追跡システム100のためのセンサー・マッピング方法200のある実施形態のフローチャートである。追跡システム100は、センサー108についてのホモグラフィー118を生成するために方法200を使用してもよい。上述したように、ホモグラフィー118により、追跡システム100は、人が空間102全体のどこに物理的に位置しているかを、人がどのセンサー108が現れるかと、そのセンサー108によって捕捉されたフレーム302内のその位置とに基づいて決定することができる。ひとたび生成されると、ホモグラフィー118は、センサー108によって捕捉された画像(たとえば、フレーム302)内のピクセル位置402と、グローバルプレーン104内の(x,y)座標306(すなわち、空間102内の物理的位置)との間で変換するために使用できる。以下は、単一のセンサー108についてのホモグラフィー118を生成するプロセスの非限定的な例である。この同じプロセスを、他のセンサー108についてのホモグラフィー118を生成するために繰り返すことができる。
【0049】
ステップ202において、追跡システム100は、空間102内のマーカー304についての(x,y)座標306を受領する。一例として
図3を参照すると、各マーカー304は、空間102内の既知の物理的位置を同定するオブジェクトである。マーカー304は、センサー108からのフレーム302におけるピクセル位置402にマッピングされることのできる、物理領域(すなわち、グローバルプレーン104)における位置を画定するために使用される。この例では、マーカー304は、空間102の床面上の星として表される。マーカー304は、センサー108によって観察できる任意の適切なオブジェクトから形成されうる。たとえば、マーカー304は、空間102の床に配置されるテープまたはステッカーであってもよい。別の例として、マーカー304は、空間102の床上のデザインまたはマーキングであってもよい。他の例では、マーカー304は、センサー108によって観察可能な空間102内の任意の他の適切な位置に配置されうる。たとえば、一つまたは複数のマーカー304がラック112の頂部に位置されてもよい。
【0050】
ある実施形態では、マーカー304の(x,y)座標306は、事業者によって提供される。たとえば、事業者は、空間102の床にマーカー304を手動で配置してもよい。事業者は、マーカー304とグローバルプレーン104についての基準位置101との間の距離を測定することによって、マーカー304についての(x,y)位置306を決定することができる。次いで、事業者は、決定された(x,y)位置306を、追跡システム100のサーバー106またはクライアント105に入力として提供することができる。
【0051】
図3の例を参照すると、追跡システム100は、空間102内の第1のマーカー304Aについては第1の(x,y)座標306Aを受領し、空間102内の第2のマーカー304Bについては第2の(x,y)座標306Bを受領することができる。第1の(x,y)座標306Aは、空間102のグローバルプレーン104に関する第1のマーカー304Aの物理的位置を記述する。第2の(x,y)座標306Bは、空間102のグローバルプレーン104に関する第2のマーカー304Bの物理的位置を記述する。追跡システム100は、空間102内の任意の適切な数の追加マーカー304について(x,y)座標306を得るプロセスを繰り返すことができる。
【0052】
ひとたび追跡システム100が空間102内のマーカー304の物理的位置を知ると、追跡システム100は、次に、センサー108のフレーム302内のピクセルに対してマーカー304がどこに位置するかを決定する。
図2に戻ると、ステップ204において、追跡システム100は、センサー108からフレーム302を受領する。一例として
図4を参照すると、センサー108は、空間102の少なくとも一部分について、グローバルプレーン104の画像またはフレーム302を捕捉する。この例では、フレーム302は複数のマーカー304を含む。
【0053】
図2に戻ると、ステップ206において、追跡システム100は、センサー108のフレーム302内のマーカー304を識別する。ある実施形態では、追跡システム100は、フレーム302内のマーカー304を識別するためにオブジェクト検出を使用する。たとえば、マーカー304は、追跡システム100が、マーカー304を識別するためにフレーム302内で検索できる既知の特徴(たとえば、形状、パターン、色、テキストなど)を有してもよい。
図3の例を参照すると、各マーカー304は星形を有する。この例では、追跡システム100は、フレーム302内のマーカー304を識別するために、星形のオブジェクトを求めてフレーム302を探索することができる。追跡システム100は、フレーム302内の第1のマーカー304A、第2のマーカー304B、および任意の他のマーカー304を識別することができる。他の例では、追跡システム100は、フレーム302内のマーカー304を識別するための任意の他の適切な特徴を使用することができる。他の実施形態では、追跡システム100は、フレーム302でマーカー302を識別するために任意の他の適切な画像処理技術を使用してもよい。たとえば、マーカー304は、既知の色またはピクセル値を有していてもよい。この例では、追跡システム100は、閾値を使用して、マーカー304の色またはピクセル値に対応する、フレーム302内のマーカー304を識別することができる。
【0054】
図2に戻ると、ステップ208において、追跡システム100は、フレーム302内の識別されたマーカー304の数を決定する。ここで、追跡システム100は、フレーム302内で検出されたマーカー304の数をカウントする。
図3の例を参照すると、追跡システム100は、フレーム302内の8つのマーカー304を検出する。
【0055】
図2に戻ると、ステップ210において、追跡システム100は、識別されたマーカー304の数が所定の閾値以上であるかどうかを判定する。いくつかの実施形態では、所定の閾値は、センサー108についてホモグラフィー118を生成する精度のレベルに比例する。所定の閾値を増加させることは、ホモグラフィー118を生成するときの精度を増加させることがあり、一方、所定の閾値を減少させることは、ホモグラフィー118を生成するときの精度を低下させることがある。一例として、所定の閾値は6の値に設定されてもよい。
図3に示される例では、追跡システム100は、所定の閾値より大きい8つのマーカー304を識別した。他の例では、所定の閾値は、任意の他の適切な値に設定されうる。追跡システム100は、識別されたマーカー304の数が所定の閾値を下回ることに応答して、ステップ204に戻る。この場合、追跡システム100はステップ204に戻り、同じセンサー108を使用して空間102の別のフレーム302を捕捉し、より多くのマーカー304を検出しようとする。ここで、追跡システム100は、所定の閾値以上の数のマーカー304を含む新しいフレーム302を得ようとする。たとえば、追跡システム100は、事業者が一つまたは複数の追加マーカー304を空間102に追加した後に、空間102の新しいフレーム302を受領してもよい。別の例として、追跡システム100は、フレーム302内のマーカー304の検出可能性を改善するために照明条件が変更された後に、新しいフレーム302を受領してもよい。他の例では、追跡システム100は、フレーム302内のマーカー304の検出可能性を改善する任意の種類の変化の後に、新しいフレーム302を受領してもよい。
【0056】
追跡システム100は、識別されたマーカー304の数が所定の閾値以上であると判定することに応答して、ステップ212に進む。ステップ212において、追跡システム100は、識別されたマーカー304についてフレーム302内のピクセル位置402を決定する。たとえば、追跡システム100は、第1のマーカー304Aに対応するフレーム302内の第1のピクセル位置402Aと、第2のマーカー304Bに対応するフレーム302内の第2のピクセル位置402Bとを決定する。第1のピクセル位置402Aは、第1のマーカー304Aがフレーム302内でどこに位置するかを示す、第1のピクセル行および第1のピクセル列を含む。第2のピクセル位置402Bは、第2のマーカー304Bがフレーム302内でどこに位置するかを示す、第2のピクセル行および第2のピクセル列を含む。
【0057】
ステップ214において、追跡システム100は、センサー108のフレーム302での識別されたマーカー304のピクセル位置402と、グローバルプレーン104内の識別されたマーカー304の(x,y)座標とに基づいて、センサー108についてのホモグラフィー118を生成する。ある実施形態では、追跡システム100は、識別されたマーカー304のそれぞれについてのピクセル位置402を、対応する(x,y)座標306と相関させる。
図3の例を続けると、追跡システム100は、第1のマーカー304Aについての第1のピクセル位置402Aを、第1のマーカー304Aについての第1の(x,y)座標306Aに関連付ける。追跡システム100はまた、第2のマーカー304Bについての第2のピクセル位置402Bを、第2のマーカー304Bについての第2の(x,y)座標306Bに関連付ける。追跡システム100は、ピクセル位置402と(x,y)座標306とを関連付けるプロセスを、識別されたマーカー304のすべてについて繰り返すことができる。
【0058】
次いで、追跡システム100は、センサー108のフレーム302での識別されたマーカー304のピクセル位置402と、グローバルプレーン104内の識別されたマーカー304の(x,y)座標306との間の関係を決定し、センサー108についてホモグラフィー118を生成する。生成されたホモグラフィー118により、追跡システム100は、センサー108からのフレーム302内のピクセル位置402を、グローバルプレーン104内の(x,y)座標306にマッピングすることができる。ホモグラフィー118に関するさらなる情報は、
図5Aおよび5Bに記載される。ひとたび追跡システム100がセンサー108についてのホモグラフィー118を生成すると、追跡システム100は、センサー108と生成されたホモグラフィー118との間の関連をメモリ(たとえば、メモリ3804)に記憶する。
【0059】
追跡システム100は、上述のプロセスを繰り返して、ホモグラフィー118を生成し、他のセンサー108と関連付けることができる。
図3の例を続けると、追跡システム100は、第2のセンサー108からの第2のフレーム302を受け取ることができる。この例では、第2のフレーム302は、第1のマーカー304Aおよび第2のマーカー304Bを含む。追跡システム100は、第1のマーカー304Aについての第2のフレーム302内の第3のピクセル位置402、第2のマーカー304Bについての第2のフレーム302内の第4のピクセル位置402、および任意の他のマーカー304についてのピクセル位置402を決定することができる。次いで、追跡システム100は、第1のマーカー304Aについての第2のフレーム302内の第3のピクセル位置402、第2のマーカー304Bについての第2のフレーム302内の第4のピクセル位置402、第1のマーカー304Aについてのグローバルプレーン104内の第1の(x,y)座標306A、第2のマーカー304Bについてのグローバルプレーン104内の第2の(x,y)座標306B、および他のマーカー304についてのピクセル位置402および(x,y)座標306に基づいて第2のホモグラフィー118を生成することができる。第2のホモグラフィー118は、第2のフレーム302内のピクセル位置402とグローバルプレーン104内の物理的位置(たとえば、(x,y)座標306)との間で変換する係数を含む。第2のホモグラフィー118の係数は、第1のセンサー108に関連するホモグラフィー118の係数とは異なる。このプロセスは、各センサー108を、センサー108からのピクセル位置402をグローバルプレーン104内の(x,y)座標306にマッピングする対応するホモグラフィー118と一意的に関連付ける。
【0060】
ホモグラフィー
センサー108についてのホモグラフィー118の一例が
図5Aおよび5Bに示される。
図5Aを参照すると、ホモグラフィー118は、フレーム302内のピクセル位置402とグローバルプレーン104内の物理的位置(たとえば、(x,y)座標306)との間で変換するように構成された複数の係数を含む。この例では、ホモグラフィー118は行列として構成され、ホモグラフィー118の係数は、H
11、H
12、H
13、H
14、H
21、H
22、H
23、H
24、H
31、H
32、H
33、H
34、H
41、H
42、H
43、およびH
44として表される。追跡システム100は、該係数を使用して、フレーム302内のピクセル位置402とグローバルプレーン104内の物理的位置(たとえば、(x,y)座標306)との間の関係または関数を定義することによって、ホモグラフィー118を生成することができる。たとえば、追跡システム100は、該係数を使用して一つまたは複数の関数を定義することができ、回帰(たとえば、最小二乗回帰)を実行して、センサーのフレーム302のピクセル位置402をグローバルプレーン104内の(x,y)座標306に投影する係数の値について解くことができる。
図3の例を参照すると、センサー108についてのホモグラフィー118は、第1のマーカー304Aについてのフレーム302内の第1のピクセル位置402Aを、第1のマーカー304Aについてのグローバルプレーン104内の第1の(x,y)座標306Aに投影し、第2のマーカー304Bについてのフレーム302内の第2のピクセル位置402Bを、第2のマーカー304Bについてのグローバルプレーン104内の第2の(x,y)座標306Bに投影するように構成される。他の例では、追跡システム100は、任意の他の適切な技術を用いてホモグラフィー118の係数について解くことができる。
図5Aに示される例では、ピクセル位置402におけるz値は、ピクセル値404に対応しうる。この場合、ホモグラフィー118は、フレーム302内のピクセル値404と、グローバルプレーン104内のz座標(たとえば、高さまたは標高)との間で変換するようにさらに構成される。
【0061】
ホモグラフィーの使用
ひとたび追跡システム100がホモグラフィー118を生成すると、追跡システム100は、ホモグラフィー118を使用して、センサー108のフレーム302内のオブジェクトのピクセル位置402に基づいて、空間102内のオブジェクト(たとえば、人)の位置を決定することができる。たとえば、追跡システム100は、第1のフレーム302内のピクセル位置402とホモグラフィー118との間で行列乗算を実行し、グローバルプレーン104内の対応する(x,y)座標306を決定することができる。たとえば、追跡システム100は、センサー108からの第1のフレーム302を受領し、空間102内のオブジェクトについてフレーム302内の第1のピクセル位置を決定する。次いで、追跡システム100は、センサー108に関連するホモグラフィー118をオブジェクトの第1のピクセル位置402に適用して、オブジェクトが位置する、グローバルプレーン104内での第1のx値および第1のy値を同定する第1の(x,y)座標306を決定することができる。
【0062】
いくつかの事例では、追跡システム100は、オブジェクトの位置を決定するために複数のセンサー108を使用してもよい。複数のセンサー108を使用することにより、オブジェクトが空間102内のどこに位置するかを決定する際に、より正確さを提供することができる。この場合、追跡システム100は、種々のセンサー108に関連するホモグラフィー118を使用して、グローバルプレーン104内のオブジェクトの位置を決定する。前の例を続けると、追跡システム100は、第2のセンサー108からの第2のフレーム302を受領することができる。追跡システム100は、空間102内のオブジェクトについて、第2のフレーム302内の第2のピクセル位置402を決定することができる。次いで、追跡システム100は、第2のセンサー108に関連付けられた第2のホモグラフィー118をオブジェクトの第2のピクセル位置402に適用して、オブジェクトが位置する、グローバルプレーン104における第2のx値および第2のy値を同定する第2の(x,y)座標306を決定する。
【0063】
第1の(x,y)座標306と第2の(x,y)座標306が同じである場合、追跡システム100は、空間102内のオブジェクトの物理的位置として、第1の(x,y)座標306または第2の(x,y)座標306のいずれを使用してもよい。第1の(x,y)座標306と第2の(x,y)座標306が同じでない場合は、追跡システム100は、第1の(x,y)座標306と第2の(x,y)座標306との間の任意の適切なクラスタリング技術を使用することができる。この場合、第1の(x,y)座標306および第2の(x,y)座標306は異なるので、追跡システム100は、第1の(x,y)位置306および第2の(x,y)位置306に基づいて空間102内のオブジェクトの物理的位置を決定する必要がある。たとえば、追跡システム100は、第1の(x,y)座標306と第2の(x,y)座標306との間の平均を計算することによって、オブジェクトについての平均(x,y)座標を生成してもよい。別の例として、追跡システム100は、第1の(x,y)座標306と第2の(x,y)座標306との間の中央値を計算することによって、オブジェクトについての中央値(x,y)座標を生成することができる。他の例では、追跡システム100は、第1の(x,y)座標306と第2の(x,y)座標306との間の相違を解決するために、任意の他の適切な技術を使用することができる。
【0064】
追跡システム100は、ホモグラフィー118の逆を使用して、グローバルプレーン104内の(x,y)座標306からセンサー108のフレーム302内のピクセル位置402に投影することができる。たとえば、追跡システム100は、オブジェクトについてグローバルプレーン104内の(x,y)座標306を受領する。追跡システム100は、オブジェクトが見えるセンサー108に関連付けられたホモグラフィー118を識別する。次いで、追跡システム100は、逆ホモグラフィー118を(x,y)座標306に適用して、センサー108についてのフレーム302内でオブジェクトが位置するピクセル位置402を決定することができる。ホモグラフィー118が行列として表現される場合、追跡システム100は、ホモグラフ500の逆行列を計算してもよい。一例として
図5Bを参照すると、追跡システム100は、グローバルプレーン104内の(x,y)座標306と逆ホモグラフィー118との間の行列乗算を実行して、センサー108についてのフレーム302内の対応するピクセル位置402を決定することができる。
【0065】
マーカ・グリッドを用いたセンサー・マッピング
図6は、マーカ・グリッド702を使用する追跡システム100のためのセンサー・マッピング方法600の一実施形態のフローチャートである。追跡システム100は、センサー108についてホモグラフィー118を生成するのに要する時間を短縮するために、方法600を使用してもよい。たとえば、マーカ・グリッド702を使用することにより、センサー108についてのホモグラフィー118を生成するために必要なセットアップ時間の量が減少する。典型的には、各マーカー304は空間102内に配置され、各マーカー304の物理的位置は独立して決定される。このプロセスは、センサー・アレイ内の各センサー108について繰り返される。対照的に、マーカ・グリッド702は、複数のマーカー304を含むポータブル表面である。マーカ・グリッド702は、カーペット、布、ポスターボード、発泡板、ビニール、紙、木材、または他の任意の適切なタイプの材料を用いて形成されうる。各マーカー304は、マーカ・グリッド702上の特定の位置を同定するオブジェクトである。マーカー304の例としては、形状、記号、およびテキストを含むが、これらに限定されない。マーカ・グリッド702上の各マーカー304の物理的位置は既知であり、メモリに記憶される(たとえば、マーカ・グリッド情報716)。マーカ・グリッド702を使用すると、マーカー304を個別に移動させたり、新しいマーカー304を空間102に追加したりすることなく、マーカ・グリッド702およびそのマーカー304は空間102内のどこにでも迅速に位置変更できるため、マーカー304を配置し、その位置を決定するプロセスが簡略化され、高速化される。ひとたび生成されると、ホモグラフィー118は、センサー108によって捕捉されたフレーム302内のピクセル位置402と、グローバルプレーン104内の(x,y)座標306との間を変換するために使用できる(すなわち、空間102内の物理的位置)。
【0066】
ステップ602において、追跡システム100は、空間102内のマーカ・グリッド702の第1のコーナー704について第1の(x,y)座標306Aを受領する。一例として
図7を参照すると、マーカ・グリッド702は、一つまたは複数のセンサー108によって観察可能な空間102内の表面(たとえば、床)上に位置されるように構成される。この例では、追跡システム100は、マーカ・グリッド702の第1のコーナー704について、グローバルプレーン104内の第1の(x,y)座標306Aを受領する。第1の(x,y)座標306Aは、グローバルプレーン104に対する第1のコーナー704の物理的位置を記述する。ある実施形態では、第1の(x,y)座標306Aは、空間102内の基準位置101と第1のコーナー704との間の距離の物理的測定に基づく。たとえば、マーカ・グリッド702の第1のコーナー704についての第1の(x,y)座標306Aは、事業者によって提供されてもよい。この例では、事業者は、マーカ・グリッド702を空間102の床に手動で配置することができる。事業者は、マーカ・グリッド702の第1のコーナー704とグローバルプレーン104についての基準位置101との間の距離を測定することによって、マーカ・グリッド702の第1のコーナー704についての(x,y)位置306を決定することができる。次いで、事業者は、決定された(x,y)位置306を、追跡システム100のサーバー106またはクライアント105に入力として提供することができる。
【0067】
別の実施形態では、追跡システム100は、マーカ・グリッド702の第1のコーナー704に位置するビーコンから、第1の(x,y)座標306Aを同定する信号を受領してもよい。ビーコンの例は、Bluetoothビーコンを含むが、これに限定されない。たとえば、追跡システム100はビーコンと通信し、追跡システム100とビーコンとの間で通信される信号の飛行時間に基づいて第1の(x,y)座標306Aを決定することができる。他の実施形態では、追跡システム100は、任意の他の適切な技術を使用して、第1のコーナー704についての第1の(x,y)座標306Aを得ることができる。
【0068】
図6に戻ると、ステップ604において、追跡システム100は、マーカ・グリッド702上のマーカー304についての(x,y)座標306を決定する。
図7の例に戻ると、追跡システム100は、マーカ・グリッド702上の第1のマーカー304Aについての第2の(x,y)座標306Bを決定する。追跡システム100は、マーカ・グリッド702上のマーカー304とマーカ・グリッド702の第1のコーナー704との間のオフセットを同定するマーカ・グリッド情報716を含む。この例では、オフセットは、マーカ・グリッド702の第1のコーナー704と、グローバルプレーン104のx軸およびy軸に対する第1のマーカー304Aとの間の距離を含む。マーカ・グリッド情報1912を用いて、追跡システム100は、マーカ・グリッド702の第1のコーナー704についての第1の(x,y)座標306Aに、第1のマーカー304Aに関連するオフセットを加えることによって、第1のマーカー304Aについての第2の(x,y)座標306Bを決定することができる。
【0069】
ある実施形態では、追跡システム100は、マーカ・グリッド702の回転に少なくとも部分的に基づいて第2の(x,y)座標306Bを決定する。たとえば、追跡システム100は、マーカ・グリッド702の第2のコーナー706について、グローバルプレーン104内のx値およびy値を同定する第4の(x,y)座標306Dを受け取ることができる。追跡システム100は、ステップ602に記載されるプロセスと同様のプロセスを使用して、マーカ・グリッド702の第2のコーナー706についての第4の(x,y)座標306Dを得ることができる。追跡システム100は、マーカ・グリッド702の第1のコーナー704についての第1の(x,y)座標306Aと、マーカ・グリッド702の第2のコーナー706についての第4の(x,y)座標306Dとの間の回転角712を決定する。この例では、回転角712は、グローバルプレーン104内のマーカ・グリッド702の第1のコーナー704のまわりのものである。次いで、追跡システム100は、マーカ・グリッド702の第1のコーナー704についての第1の(x,y)座標306Aに第1のマーカー304Aに関連するオフセットを加えることによって並進を適用し、マーカ・グリッド702の第1のコーナー704についての第1の(x,y)座標306Aのまわりの回転角712を使った回転を適用することによって、第1のマーカー304Aについての第2の(x,y)座標306Bを決定する。他の例では、追跡システム100は、任意の他の適切な技術を用いて、第1のマーカー304Aについて第2の(x,y)座標306Bを決定することができる。
【0070】
追跡システム100は、マーカ・グリッド702上の一つまたは複数の追加マーカー304について、このプロセスを繰り返してもよい。たとえば、追跡システム100は、マーカ・グリッド702上の第2のマーカー304Bについて第3の(x,y)座標306Cを決定する。ここで、追跡システム100は、マーカ・グリッド情報716を使用して、第2のマーカー304Aに関連するオフセットを識別する。追跡システム100は、マーカ・グリッド702の第1のコーナー704についての第1の(x,y)座標306Aに、第2のマーカー304Bに関連するオフセットを加えることによって、第2のマーカー304Bについての第3の(x,y)座標306Cを決定することができる。別の実施形態では、追跡システム100は、第1のマーカー304Aについて上述したプロセスと同様のプロセスを使用して、マーカ・グリッド702の回転に少なくとも部分的に基づいて、第2のマーカー304Bについての第3の(x,y)座標306Cを決定する。
【0071】
ひとたび追跡システム100が空間102内のマーカー304の物理的位置を知ると、追跡システム100は、次いで、センサー108のフレーム302内のピクセルに対してマーカー304がどこに位置するかを決定する。ステップ606において、追跡システム100は、センサー108からフレーム302を受領する。フレーム302は、空間102内にマーカ・グリッド702の少なくとも一部を含むグローバルプレーン104のものである。フレーム302は、マーカ・グリッド702の一つまたは複数のマーカー304を含む。フレーム302は、
図2~
図4に記載されるフレーム302と同様に構成される。たとえば、フレーム302は、それぞれがフレーム302内のピクセル位置402に関連する複数のピクセルを含む。ピクセル位置402は、ピクセルが位置するピクセル行およびピクセル列を同定する。ある実施形態では、各ピクセルは、深さまたは距離測定を示すピクセル値404に関連付けられる。たとえば、ピクセル値404は、センサー108と空間102内の表面との間の距離に対応してもよい。
【0072】
ステップ610において、追跡システム100は、センサー108のフレーム302内のマーカー304を識別する。追跡システム100は、
図2のステップ206に記載されるプロセスと同様のプロセスを使用して、フレーム302内のマーカー304を識別することができる。たとえば、追跡システム100は、フレーム302内のマーカー304を識別するためにオブジェクト検出を使用することができる。
図7の例を参照すると、各マーカー304は一意的な形状または記号である。他の例では、各マーカー304は、任意の他の一意的な特徴(たとえば、形状、パターン、色、テキストなど)を有していてもよい。この例では、追跡システム100は、マーカー304の既知の特徴に対応するフレーム302内のオブジェクトを探すことができる。追跡システム100は、マーカ・グリッド702上の第1のマーカー304A、第2のマーカー304B、および任意の他のマーカー304を識別することができる。
【0073】
ある実施形態では、追跡システム100は、マーカー辞書718を用いて、識別されたマーカー304の特徴を、マーカ・グリッド702上の既知のマーカー304の特徴と比較する。マーカー辞書718は、マーカ・グリッド702に関連付けられた複数のマーカー304を同定する。この例では、追跡システム100は、マーカ・グリッド702上の星を識別し、その星をマーカー辞書718内の記号と比較し、その星が第1のマーカー304Aに対応するマーカー辞書718内の記号〔シンボル〕のうちの1つと一致することを判別することによって、第1のマーカー304Aを識別することができる。同様に、追跡システム100は、マーカ・グリッド702上の三角形を識別し、その三角形をマーカー辞書718内の記号と比較し、その三角形が、第2のマーカー304Bに対応するマーカー辞書718内の記号のうちの1つと一致すると判断することによって、第2のマーカー304Bを識別することができる。追跡システム100は、フレーム302内の任意の他の識別されたマーカー304についてこのプロセスを繰り返すことができる。
【0074】
別の実施形態では、マーカ・グリッド702は、テキストを含むマーカー304を含んでいてもよい。この例では、各マーカー304は、そのテキストに基づいて一意的に識別されることができる。この構成により、追跡システム100は、フレーム302に対してテキスト認識または光学的文字認識技術を使用することによって、フレーム302内のマーカー304を識別することができる。この場合、追跡システム100は、それぞれマーカ・グリッド702上のマーカー304に関連付けられている複数のあらかじめ定義された単語を含むマーカー辞書718を使用してもよい。たとえば、追跡システム100は、フレーム302でのテキストを識別するためにテキスト認識を実行してもよい。次に、追跡システム100は、識別されたテキストをマーカー辞書718内の単語と比較することができる。ここで、追跡システム100は、識別されたテキストが、マーカ・グリッド702上のマーカー304に対応する既知のテキストのいずれかと一致したかどうかをチェックする。追跡システム100は、マーカー辞書718内のどの単語にも一致しないテキストを破棄してもよい。追跡システム100がマーカー辞書718内の単語に一致するテキストを識別する場合、追跡システム100は、識別されたテキストに対応するマーカー304を識別することができる。たとえば、追跡システム100は、識別されたテキストが第1のマーカー304Aに関連付けられたテキストと一致すると決定することができる。追跡システム100は、同様のプロセスを使って、マーカ・グリッド702上の第2のマーカー304Bおよび他の任意のマーカー304を識別してもよい。
【0075】
図6に戻ると、ステップ610において、追跡システム100は、フレーム302内の識別されたマーカー304の数を決定する。ここで、追跡システム100は、フレーム302内で検出されたマーカー304の数をカウントする。
図7の例を参照すると、追跡システム100は、フレーム302内の5つのマーカー304を検出する。
【0076】
図6に戻ると、ステップ614で、追跡システム100は、識別されたマーカー304の数が所定の閾値以上であるかどうかを判定する。追跡システム100は、
図2のステップ210に記載されるプロセスと同様のプロセスを使用して、識別されたマーカー304の数を所定の閾値と比較してもよい。追跡システム100は、識別されたマーカー304の数が所定の閾値を下回ることに応答して、ステップ606に戻る。この場合、追跡システム100はステップ606に戻り、同じセンサー108を使用して空間102の別のフレーム302を捕捉し、より多くのマーカー304を検出しようとする。ここで、追跡システム100は、所定の閾値以上の数のマーカー304を含む新しいフレーム302を得ようとする。たとえば、追跡システム100は、事業者が空間102内でマーカ・グリッド702を再配置した後に、空間102の新しいフレーム302を受け取ることができる。別の例として、追跡システム100は、フレーム302内のマーカー304の検出可能性を改善するために照明条件が変更された後に、新しいフレーム302を受け取ることができる。他の例では、追跡システム100は、フレーム302内のマーカー304の検出可能性を改善する任意の種類の変化の後に、新しいフレーム302を受け取ることができる。
【0077】
識別されたマーカー304の数が所定の閾値以上であると判定することに応答して、追跡システム100は、ステップ614に進む。ひとたび追跡システム100がマーカ・グリッド702上の適切な数のマーカー304を識別すると、追跡システム100は、次いで、識別されたマーカー304のそれぞれについてピクセル位置402を決定する。各マーカー304は、フレーム302内の複数のピクセルを占有することができる。これは、各マーカー304について、追跡システム100が、フレーム302内のどのピクセル位置402がグローバルプレーン104内のその(x,y)座標306に対応するかを決定することを意味する。ある実施形態では、追跡システム100は、マーカー304についてピクセル位置402を識別しようとするときに、バウンディングボックス708を使用して、探索スペースを狭くしたり制限したりする。バウンディングボックス708は、マーカー304を含むフレーム302内の定義されたエリアまたは領域である。たとえば、バウンディングボックス708は、マーカー304を含むフレーム302のピクセルの集合またはピクセルの範囲として定義されうる。
【0078】
ステップ614において、追跡システム100は、フレーム302内のマーカー304についてのバウンディングボックス708を識別する。ある実施形態では、追跡システム100は、マーカー304に対応するフレーム302内の複数のピクセルを識別し、次いで、マーカー304に対応するそれらのピクセルを囲むバウンディングボックス708を定義する。追跡システム100は、マーカー304のそれぞれについてこのプロセスを繰り返すことができる。
図7の例に戻って、追跡システム100は、第1のマーカー304Aについての第1のバウンディングボックス708A、第2のマーカー304Bについての第2のバウンディングボックス708B、およびフレーム302内の任意の他の識別されたマーカー304についてのバウンディングボックス708を識別することができる。
【0079】
別の実施形態では、第1のマーカー304Aがテキストを含む場合に、追跡システムは、テキストまたは文字認識を使用して、第1のマーカー304Aを識別してもよい。たとえば、追跡システム100は、テキスト認識を使用して、マーカー304に対応する単語を含む、フレーム302でのピクセルを識別することができる。次いで、追跡システム100は、識別された単語に対応するピクセルを囲むバウンディングボックス708を定義することができる。他の実施形態では、追跡システム100は、識別されたマーカー304のためのバウンディングボックス708を同定するために、任意の他の適切な画像処理技術を使用してもよい。
【0080】
図6に戻ると、ステップ616において、追跡システム100は、マーカー304についてのフレーム302内のピクセル位置402に対応する、各バウンディングボックス708内のピクセル710を識別する。上述のように、各マーカー304は、フレーム302内の複数のピクセルを占有することができ、追跡システム100は、フレーム302内のどのピクセル710が、グローバルプレーン104内の(x,y)座標306についてのピクセル位置402に対応するかを決定する。ある実施形態では、各マーカー304は、光源を含む。光源の例は、発光ダイオード(LED)、赤外(IR)LED、白熱灯、または任意の他の適切なタイプの光源を含むが、これらに限定されない。この構成では、ピクセル710は、マーカー304についての光源に対応する。別の実施形態では、各マーカー304は、各マーカー304に固有の検出可能な特徴を含んでいてもよい。たとえば、各マーカー304は、マーカー304に関連付けられた一意的な色を含んでいてもよい。別の例として、各マーカー304は、マーカー304に関連付けられた一意的な記号またはパターンを含んでいてもよい。この構成では、ピクセル710は、マーカー304についての検出可能な特徴に対応する。前の例を続けると、追跡システム100は、第1のマーカー304についての第1のピクセル710A、第2のマーカー304についての第2のピクセル710B、および任意の他の識別されたマーカー304についてのピクセル710を識別する。
【0081】
ステップ618において、追跡システム100は、識別されたピクセル710のそれぞれについて、フレーム302内のピクセル位置402を決定する。たとえば、追跡システム100は、第1のピクセル710Aに対応するフレーム302の第1のピクセル行および第1のピクセル列を識別することができる。同様に、追跡システム100は、識別されたピクセル710のそれぞれについて、フレーム302内のピクセル行およびピクセル列を識別することができる。
【0082】
追跡システム100が、識別されたマーカー304のそれぞれについて、グローバルプレーン104内の(x,y)座標306およびフレーム302内のピクセル位置402を決定した後、追跡システム100は、センサー108についてのホモグラフィー118を生成する。ステップ620において、追跡システム100は、センサー108のフレーム302内の識別されたマーカー304のピクセル位置402およびグローバルプレーン104内の識別されたマーカー304の(x,y)座標306に基づいて、センサー108についてのホモグラフィー118を生成する。ある実施形態では、追跡システム100は、識別されたマーカー304のそれぞれについてのピクセル位置402を、対応する(x,y)座標306と相関させる。
図7の例を続けると、追跡システム100は、第1のマーカー304Aについての第1のピクセル位置402を、第1のマーカー304Aについての第2の(x,y)座標306Bに関連付ける。追跡システム100はまた、第2のマーカー304Bについての第2のピクセル位置402を、第2のマーカー304Bについての第3の(x,y)位置306Cと関連付ける。
【0083】
追跡システム100は、識別されたマーカー304のすべてについて、このプロセスを繰り返すことができる。次いで、追跡システム100は、センサー108のフレーム302での識別されたマーカー304のピクセル位置402と、グローバルプレーン104内の識別されたマーカー304の(x,y)座標306との間の関係を決定し、センサー108についてのホモグラフィー118を生成する。生成されたホモグラフィー118により、追跡システム100は、センサー108からのフレーム302内のピクセル位置402をグローバルプレーン104内の(x,y)座標306にマッピングすることができる。生成されたホモグラフィー118は、
図5Aおよび5Bに記載されたホモグラフィーと同様である。ひとたび追跡システム100がセンサー108についてのホモグラフィー118を生成すると、追跡システム100は、センサー108と生成されたホモグラフィー118との間の関連をメモリ(たとえば、メモリ3804)に記憶する。追跡システム100は、上述のプロセスを繰り返して、ホモグラフィー118を生成し、他のセンサー108と関連付けることができる。マーカ・グリッド702は、別のセンサー108についてのホモグラフィー118を生成するために、空間108内で移動または再配置されてもよい。たとえば、事業者は、マーカ・グリッド702を再配置して、別のセンサー108がマーカ・グリッド702上のマーカー304を見ることができるようにしてもよい。一例として、追跡システム100は、第2のセンサー108からの第2のフレーム302を受領してもよい。この例では、第2のフレーム302は、第1のマーカー304Aおよび第2のマーカー304Bを含む。追跡システム100は、第1のマーカー304Aについての第2のフレーム302内の第3のピクセル位置402と、第2のマーカー304Bについての第2のフレーム302内の第4のピクセル位置402とを決定することができる。次いで、追跡システム100は、第1のマーカー304Aについての第2のフレーム302内の第3のピクセル位置402、第2のマーカー304Bについての第2のフレーム302内の第4のピクセル位置402、第1のマーカー304Aについてのグローバルプレーン104内の(x,y)座標306B、第2のマーカー304Bについてのグローバルプレーン104内の(x,y)座標306C、および他のマーカー304についてのピクセル位置402および(x,y)座標306に基づいて第2のホモグラフィー118を生成することができる。第2のホモグラフィー118は、第2のフレーム302内のピクセル位置402とグローバルプレーン104内の物理的位置(たとえば、(x,y)座標306)との間で変換する係数を含む。第2のホモグラフィー118の係数は、第1のセンサー108に関連付けられたホモグラフィー118の係数とは異なる。換言すれば、各センサー108は、センサー108からのピクセル位置402をグローバルプレーン104内の物理的位置にマッピングするホモグラフィー118と一意的に関連付けられる。このプロセスは、グローバルプレーン104内のセンサー108の物理的位置(たとえば、(x,y)座標306)に基づいて、ホモグラフィー118をセンサー108に一意的に関連付ける。
【0084】
棚位置校正
図8は、追跡システム100のための棚位置較正方法800の実施形態のフローチャートである。追跡システム100は、ラック112またはセンサー108が空間102内を移動したかどうかを定期的にチェックする方法800を採用することができる。たとえば、ラック112は、偶発的に人がぶつかったり、人によって動かされたりすることがあり、すると、ラック112の位置はグローバルプレーン104に対して移動する。別の例として、センサー108がその取り付け構造(mounting structure)から緩むことがあり、それによりセンサー108が垂れたり、もとの位置から移動したりすることがある。追跡システム100が較正された後でのラック112および/またはセンサー108の位置のいかなる変化も、空間102内のオブジェクトを追跡するときの追跡システム100の精度および性能を低下させる。追跡システム100は、ラック112またはセンサー108のいずれかが移動したときを検出し、次いで、ラック112またはセンサー108の新しい位置に基づいて自身を再較正するために方法800を使用する。
【0085】
センサー108は、センサー108によって捕捉されたフレーム302がラック112上に配置された一つまたは複数の棚マーカー906を含むように、空間102内に配置されてもよい。棚マーカー906は、ラック112についての位置(たとえば、(x,y)座標306およびピクセル位置402)を決定するために使用できる、ラック112上に配置されたオブジェクトである。追跡システム100は、センサー108からのフレーム302に関連付けられた、棚マーカー906のピクセル位置402および(x,y)座標306を記憶するように構成される。ある実施形態では、棚マーカー906のピクセル位置402および(x,y)座標306は、
図2に記載されるプロセスと同様のプロセスを使用して決定されうる。別の実施形態では、棚マーカー906のピクセル位置402および(x,y)座標306は、追跡システム100への入力として事業者によって提供されてもよい。
【0086】
棚マーカー906は、
図2~
図7に記載されたマーカー304に類似したオブジェクトであってもよい。いくつかの実施形態において、ラック112上の各棚マーカー906は、ラック112上の他の棚マーカー906とは一意的である。この特徴は、追跡システム100がラック112の配向を決定することを可能にする。
図9の例を参照すると、各棚マーカー906は、ラック112の特定の部分を同定する独特の形状である。この例では、追跡システム100は、第1の棚マーカー906Aおよび第2の棚マーカー906Bをラック112の前面に関連付けてもよい。同様に、追跡システム100はまた、第3の棚マーカー906Cおよび第4の棚マーカー906Dをラック112の背面に関連付けてもよい。他の例では、各棚マーカー906は、棚マーカー906を識別するために使用できる、任意の他の一意的に識別可能な特徴(たとえば、色またはパターン)を有することができる。
【0087】
図8に戻ると、ステップ802では、追跡システム100は、第1のセンサー108からの第1のフレーム302Aを受領する。一例として
図9を参照すると、第1のセンサー108は、空間102についてのグローバルプレーン104内のラック112の少なくとも一部を含む第1のフレーム302Aを捕捉する。
【0088】
図8に戻ると、ステップ804では、追跡システム100は、第1のフレーム302A内の一つまたは複数の棚マーカー906を識別する。再び
図9の例に戻ると、ラック112は、4つの棚マーカー906を含む。ある実施形態では、追跡システム100は、第1のフレーム302A内の棚マーカー906を識別するためにオブジェクト検出を使用することができる。たとえば、追跡システム100は、棚マーカー906に対応する既知の特徴(たとえば、形状、パターン、色、テキストなど)を求めて第1のフレーム302Aを探索してもよい。この例では、追跡システム100は、第1の棚マーカー906Aに対応する第1のフレーム302A内の形状(たとえば、星)を識別することができる。他の実施形態では、追跡システム100は、第1のフレーム302A内の棚マーカー906を識別するために、任意の他の適切な技術を使用してもよい。追跡システム100は、第1のフレーム302Aに存在する任意の数の棚マーカー906を識別することができる。
【0089】
ひとたび追跡システム100が、第1のセンサー108の第1のフレーム302Aに存在する一つまたは複数の棚マーカー906を識別すると、追跡システム100は、次いで、第1のフレーム302A内でのそれらのピクセル位置402を決定し、それにより、それらを棚マーカー906について期待されるピクセル位置402と比較することができる。
図8に戻ると、ステップ806で、追跡システム100は、第1のフレーム302A内の識別された棚マーカー906について現在のピクセル位置402を決定する。
図9の例に戻ると、追跡システム100は、第1のフレーム302A内の棚マーカー906について第1の現在のピクセル位置402Aを決定する。第1の現在のピクセル位置402Aは、第1のフレーム302A内で棚マーカー906が位置する第1のピクセル行および第1のピクセル列を含む。
図8に戻ると、ステップ808で、追跡システム100は、棚マーカー906についての現在のピクセル位置402が、第1のフレーム302A内の棚マーカー906についての期待されるピクセル位置402と一致するかどうかを判定する。
図9の例に戻ると、追跡システム100は、第1の現在のピクセル位置402Aが、棚マーカー906についての第1の期待されるピクセル位置402と一致するかどうかを判定する。上述したように、追跡システム100が初期に較正されるとき、追跡システム100は、ラック112の棚マーカー906について、第1のセンサー108の第1のフレーム302A内の期待されるピクセル位置402を含むピクセル位置情報908を記憶する。追跡システム100は、ラック112が移動したかどうかを判断するための基準点として、期待されるピクセル位置402を使用する。棚マーカー906についての期待されるピクセル位置402をその現在のピクセル位置402と比較することによって、追跡システム100は、ラック112が移動したことを示す何らかの食い違いがあるかどうかを判定できる。
【0090】
追跡システム100は、第1のフレーム302A内の棚マーカー906についての現在のピクセル位置402が、棚マーカー906についての期待されるピクセル位置402と一致すると判定することに応答して、方法800を終了させることができる。この場合、追跡システム100は、現在のピクセル位置402が棚マーカー906についての期待されるピクセル位置402と一致するため、ラック112も第1のセンサー108も動いていないと判断する。追跡システム100は、棚マーカー906についての一つまたは複数の現在のピクセル位置402が棚マーカー906についての期待されるピクセル位置402と一致しないというステップ808での判定に応答して、ステップ810に進む。たとえば、追跡システム100は、第1の現在のピクセル位置402Aが、棚マーカー906についての第1の期待されるピクセル位置402と一致しないと判断してもよい。この場合、追跡システム100は、第1の現在のピクセル位置402Aが棚マーカー906についての第1の期待されるピクセル位置402と一致しないため、ラック112および/または第1のセンサー108が移動したと判断する。ここで、追跡システム100は、ラック112が移動したか、第1のセンサー108が移動したかを識別するためにステップ810に進む。
【0091】
ステップ810において、追跡システム100は、第2のセンサー108からの第2のフレーム302Bを受領する。第2のセンサー108は、第1のセンサー108に隣接しており、第1のセンサー108と少なくとも部分的に重複する視野を有する。第1のセンサー108および第2のセンサー108は、一つまたは複数の棚マーカー906が第1のセンサー108および第2のセンサー108の両方によって観察可能となるように配置される。この構成では、追跡システム100は、ラック112が移動したか、または第1のセンサー108が移動したかを判断するために、第1のセンサー108および第2のセンサー108からの情報の組み合わせを使用することができる。
図9の例に戻ると、第2のフレーム304Bは、ラック112の第1の棚マーカー906A、第2の棚マーカー906B、第3の棚マーカー906C、および第4の棚マーカー906Dを含む。
【0092】
図8に戻ると、ステップ812で、追跡システム100は、第2のセンサー108からの第2のフレーム302B内に存在する棚マーカー906を識別する。追跡システム100は、ステップ804に記載されるプロセスと同様のプロセスを使用して、棚マーカー906を識別することができる。再び
図9の例に戻ると、追跡システム100は、棚マーカー906に対応する既知の特徴(たとえば、形状、パターン、色、テキストなど)について第2のフレーム302Bを探索することができる。たとえば、追跡システム100は、第1の棚マーカー906Aに対応する第2のフレーム302B内の形状(たとえば、星)を識別してもよい。
【0093】
ひとたび追跡システム100が、第2のセンサー108の第2のフレーム302Bに存在する一つまたは複数の棚マーカー906を識別すると、追跡システム100は、次いで、第2のフレーム302B内でのそれらのピクセル位置402を決定し、それにより、それらを、棚マーカー906についての期待されるピクセル位置402と比較することができる。
図8に戻ると、ステップ814で、追跡システム100は、第2のフレーム302B内の識別された棚マーカー906についての現在のピクセル位置402を決定する。
図9の例に戻ると、追跡システム100は、第2のフレーム302B内の棚マーカー906についての第2の電流ピクセル位置402Bを決定する。第2の現在のピクセル位置402Bは、第2のセンサー108からの第2のフレーム302B内で棚マーカー906が位置する第2のピクセル行および第2のピクセル列を含む。
【0094】
図8に戻ると、ステップ816で、追跡システム100は、棚マーカー906についての現在のピクセル位置402が、第2のフレーム302B内の棚マーカー906についての期待されるピクセル位置402と一致するかどうかを判定する。
図9の例に戻ると、追跡システム100は、第2の現在のピクセル位置402Bが、棚マーカー906についての第2の期待されるピクセル位置402と一致するかどうかを判定する。ステップ808で上述したように、追跡システム100は、追跡システム100が初期に較正されたときに、ラック112の棚マーカー906について、第2のセンサー108の第2のフレーム302B内の期待されるピクセル位置402を含むピクセル位置情報908を記憶する。棚マーカー906についての第2の期待されるピクセル位置402を、その第2の現在のピクセル位置402Bと比較することによって、追跡システム100は、ラック112が移動したか、または第1のセンサー108が移動したかを判断することができる。
【0095】
追跡システム100は、一つまたは複数の棚マーカー906についての現在のピクセル位置402および期待されるピクセル位置402が複数のセンサー108について一致しない場合に、ラック112が移動したと判断する。ラック112がグローバルプレーン104内で移動すると、棚マーカー906の物理的位置が移動し、これにより、棚マーカー906のピクセル位置402も、棚マーカー906を見るセンサー108に対して移動する。つまり、複数のセンサー108が、一つまたは複数の棚マーカー906について現在のピクセル位置402と期待されるピクセル位置402との間の不一致を観察したときに、追跡システム100は、ラック112が移動したと結論することができる。
【0096】
一つまたは複数の棚マーカー906についての現在のピクセル位置402と期待されるピクセル位置402とが、第1のセンサー108についてのみ一致しない場合には、追跡システム100は、第1のセンサー108が移動したと判断する。この場合、第1のセンサー108は、ラック112およびその棚マーカー906に対して移動しており、それが、棚マーカー906についてのピクセル位置402を第1のセンサー108に対して移動させる。それでも、棚マーカー906の現在のピクセル位置402は、他のセンサー108についての棚マーカー906についての期待されるピクセル位置402と一致する。これらのセンサー108およびラック112の位置は変化していないからである。
【0097】
追跡システムは、現在のピクセル位置402が、第2のセンサー108についての第2のフレーム302B内の棚マーカー906についての第2の期待されるピクセル位置402と一致することを決定することに応答して、ステップ818に進む。この場合、追跡システム100は、第1のセンサー108が移動したと判断する。ステップ818において、追跡システム100は、第1のセンサー108を再較正する。ある実施形態では、追跡システム100は、第1のセンサー108のための新しいホモグラフィー118を生成することによって、第1のセンサー108を再較正する。追跡システム100は、棚マーカー906および/または他のマーカー304を使用して、第1のセンサー108についての新しいホモグラフィー118を生成することができる。追跡システム100は、
図2および/または
図6に記載されるプロセスと同様のプロセスを使用して、第1のセンサー108についての新しいホモグラフィー118を生成してもよい。
【0098】
一例として、追跡システム100は、棚マーカー906についての物理的位置(たとえば、(x,y)座標306)を決定するために、第1のセンサー108と現在関連付けられている既存のホモグラフィー118を使用することができる。次いで、追跡システム110は、決定された(x,y)座標306をもつ棚マーカー906についての現在のピクセル位置402を使用して、第1のセンサー108についての新しいホモグラフィー118を生成することができる。たとえば、追跡システム100は、第1のセンサー108に関連する既存のホモグラフィー118を使用して、第1の棚マーカー906が位置するグローバルプレーン104内での第1の(x,y)座標306、第2の棚マーカー906が位置するグローバルプレーン104内での第2の(x,y)座標306、および他の任意の棚マーカー906についての(x,y)座標306を決定することができる。追跡システム100は、第1のセンサー108についての既存のホモグラフィー118を、第1のフレーム302A内の第1の棚マーカー906についての現在のピクセル位置402に適用して、
図5Aに記載されるプロセスと同様のプロセスを使用して、第1のマーカー906についての第1の(x,y)座標を決定することができる。追跡システム100は、任意の他の識別された棚マーカー906についての(x,y)座標306を決定するためにこのプロセスを繰り返すことができる。ひとたび追跡システム100が、棚マーカー906についての(x,y)座標306と棚マーカー906についての第1のフレーム302A内の現在のピクセル位置402とを決定すると、追跡システム100は、次いで、この情報を使用して、第1のセンサー108について新しいホモグラフィー118を生成することができる。たとえば、追跡システム100は、第1のマーカー906Aについての現在のピクセル位置402、第2のマーカー906Bについての現在のピクセル位置402、第1のマーカー906Aについての第1の(x,y)座標306、第2のマーカー906Bについての第2の(x,y)座標306、および第1のフレーム302A内の任意の他の識別された棚マーカー906についての(x,y)座標306およびピクセル位置402に基づいて、新しいホモグラフィー118を生成することができる。追跡システム100は、第1のセンサー108を新しいホモグラフィー118に関連付ける。このプロセスは、第1のセンサー108の現在位置に基づいて、第1のセンサー108に関連付けられたホモグラフィー118を更新する。
【0099】
別の実施形態では、追跡システム100は、第1のセンサー108について棚マーカー906についての記憶された期待されるピクセル位置を更新することによって、第1のセンサー108を再較正することができる。たとえば、追跡システム100は、棚マーカー906についての以前の期待されたピクセル位置402を、その現在のピクセル位置402で置き換えることができる。第1のセンサー108に関して棚マーカー906についての期待されるピクセル位置402を更新することにより、追跡システム100は、第1のセンサー108を使用してラック112の位置を継続的にモニターすることができる。この場合、追跡システム100は、第1のセンサー108についての第1のフレーム302A内の棚マーカー906についての現在のピクセル位置402を、第1のフレーム302A内の新しい期待ピクセル位置402と比較し続けることができる。
【0100】
ステップ820において、追跡システム100は、第1のセンサー108が移動したことを示す通知を送信する。通知の例は、テキスト・メッセージ、ショート・メッセージ・サービス(SMS)・メッセージ、マルチメディア・メッセージ・サービス(MMS)・メッセージ、プッシュ通知、アプリケーション・ポップアップ通知、電子メール、または任意の他の適切なタイプの通知を含むが、これらに限定されない。たとえば、追跡システム100は、空間102に関連する人に対して第1のセンサー108が移動したことを示す通知を送信することができる。通知の受領に応答して、その人は、第1のセンサー108を検査する、および/またはもとの位置に戻すことができる。
【0101】
ステップ816に戻ると、追跡システム100は、現在のピクセル位置402が第2のフレーム302B内の棚マーカー906についての期待されるピクセル位置402と一致しないと判定することに応答して、ステップ822に進む。この場合、追跡システム100は、ラック112が移動したと判断する。ステップ822において、追跡システム100は、第1のセンサー108および第2のセンサー108についての期待されるピクセル位置情報402を更新する。たとえば、追跡システム100は、第1のセンサー108および第2のセンサー108の両方について、棚マーカー906についての前の期待されるピクセル位置402を、その現在のピクセル位置402で置き換えることができる。第1のセンサー108および第2のセンサー108に関して、棚マーカー906についての期待されるピクセル位置402を更新することにより、追跡システム100は、第1のセンサー108および第2のセンサー108を使用してラック112の位置をモニターすることを続けることができる。この場合、追跡システム100は、第1のセンサー108および第2のセンサー108についての棚マーカー906についての現在のピクセル位置402を、新しい期待されるピクセル位置402と比較し続けることができる。
【0102】
ステップ824において、追跡システム100は、ラック112が移動したことを示す通知を送信する。たとえば、追跡システム100は、空間102に関連する人物に対してラック112が移動したことを示す通知を送信することができる。通知の受領に応答して、その人は、ラック112を検査するおよび/またはもとの位置に戻すことができる。追跡システム100は、ひとたびラック112がもとの位置に戻されると、棚マーカー906についての期待されるピクセル位置402を再び更新することができる。
【0103】
オブジェクト追跡ハンドオフ
図10は、追跡システム100についての追跡ハンドオフ〔引き渡し〕方法1000の実施形態のフローチャートである。追跡システム100は、隣接するセンサー108の視野の間を移動するオブジェクト(たとえば、人)の追跡情報を引き渡すために方法1000を使用してもよい。たとえば、追跡システム100は、人(たとえば、買い物客)が空間102の内部を動き回るときの位置を追跡することができる。各センサー108は、限定された視野を有し、これは、各センサー108が、空間102の一部分の中の人物の位置を追跡できるだけであることを意味する。追跡システム100は、空間102全体の中での人の動きを追跡するために、複数のセンサー108を使用する。各センサー108は、互いに独立して動作し、これは、追跡システム100が、あるセンサー108の視野から隣接するセンサー108の視野に移動する人を追跡することを意味する。
【0104】
追跡システム100は、人が空間102に入る際に各人にオブジェクト識別子1118(たとえば、顧客識別子)が割り当てられるように構成される。オブジェクト識別子1118は、人物および人物に関連する他の情報を識別するために使用されてもよい。オブジェクト識別子1118の例は、名前、顧客識別子、英数字コード、電話番号、電子メールアドレス、または人もしくはオブジェクトのための任意の他の適切なタイプの識別子を含むが、これらに限定されない。この構成では、追跡システム100は、第1のセンサー108の視野内の人の動きを追跡し、次いで、それが第2の隣接するセンサー108の視野に入るときに、その人についての追跡情報(たとえば、オブジェクト識別子1118)を引き渡す。
【0105】
ある実施形態では、追跡システム100は、各センサー108について、隣接するセンサー108と、該隣接するセンサー108と重複する当該センサー108のフレーム302内のピクセルとを同定する隣接リスト1114を含む。
図11の例を参照すると、第1のセンサー108および第2のセンサー108は、部分的に重複する視野を有する。これは、第1のセンサー108からの第1のフレーム302Aが、第2のセンサー108からの第2のフレーム302Bと部分的に重なることを意味する。第1のフレーム302Aと第2のフレーム302Bとの間で重複するピクセルは、重複領域〔重なり領域〕1110と呼ばれる。この例では、追跡システム100は、第1のセンサー108と第2のセンサー108との間の重複領域1110に対応する第1のフレーム302A内のピクセルを同定する第1の隣接リスト1114Aを含む。たとえば、第1の隣接リスト1114Aは、重複領域1110に対応する第1のフレーム302A内のピクセルの範囲を同定してもよい。第1の隣接リスト114Aは、第1のセンサー108と他の隣接センサー108との間の他の重複領域に関する情報をさらに含んでいてもよい。たとえば、第3のセンサー108は、第1のフレーム302Aと部分的に重複する第3のフレーム302を捕捉するように構成されてもよい。この場合、第1の隣接リスト1114Aは、第1のセンサー108と第3のセンサー108との間の重複領域に対応する第1のフレーム302A内のピクセルを同定する情報をさらに含むことになる。同様に、追跡システム100は、さらに、第2のセンサー108に関連付けられた第2の隣接リスト1114Bを含んでいてもよい。第2の隣接リスト1114Bは、第1のセンサー108と第2のセンサー108との間の重複領域1110に対応する第2のフレーム302B内のピクセルを同定する。第2の隣接リスト1114Bは、第2のセンサー108と他の隣接センサー108との間の他の重複領域に関する情報をさらに含んでいてもよい。
図11において、第2の追跡リスト1112Bは、第1の追跡リスト1112Aとは別個のデータ構造として示されるが、追跡システム100は、複数のセンサー108に関連する追跡リスト情報を格納するために単一のデータ構造を使用してもよい。
【0106】
ひとたび第1の人物1106が空間102に入ると、追跡システム100は、第1の人物1106に関連するオブジェクト識別子1118、ならびに第1の人物1106が現れるセンサー108内のピクセル位置402を追跡リスト1112において追跡する。たとえば、追跡システム100は、第1の追跡リスト1112Aを使用して第1のセンサー108の視野内の人々を、第2の追跡リスト1112Bを使用して第2のセンサー108の視野内の人々を追跡する、などすることができる。この例では、第1の追跡リスト1112Aは、第1のセンサー108を使用して追跡される人々についてのオブジェクト識別子1118を含む。第1の追跡リスト1112Aは、さらに、第1のセンサー108の第1のフレーム302A内の人物の位置を示すピクセル位置情報を含む。いくつかの実施形態において、第1の追跡リスト1112Aは、第1のセンサー108によって追跡される人に関連する任意の他の適切な情報をさらに含んでいてもよい。たとえば、第1の追跡リスト1112Aは、グローバルプレーン104におけるその人についての(x,y)座標306、人についての第1のフレーム302A内の前のピクセル位置402、および/または人についての移動方向1116を同定してもよい。たとえば、追跡システム100は、第1のフレーム302A内の以前のピクセル位置402に基づいて第1の人物1106についての移動方向1116を決定してもよく、決定された移動方向1116を第1の追跡リスト1112Aに格納してもよい。ある実施形態では、移動方向1116は、グローバルプレーン104に関するベクトルとして表現されてもよい。他の実施形態では、移動方向1116は、任意の他の適切なフォーマットを使用して表されてもよい。
【0107】
図10に戻ると、ステップ1002で、追跡システム100は、第1のセンサー108からの第1のフレーム302Aを受領する。一例として
図11を参照すると、第1のセンサー108は、空間102の少なくとも一部分について、グローバルプレーン104の画像またはフレーム302Aを捕捉する。この例では、第1のフレーム1102は、第1のオブジェクト(たとえば、第1の人物1106)および第2のオブジェクト(たとえば、第2の人物1108)を含む。この例では、第1のフレーム302Aは、第1の人物1106および第2の人物1108を、彼らが空間102内を移動する際に捕捉する。
【0108】
図10に戻ると、ステップ1004で、追跡システム100は、第1の人物1106について、第1のフレーム302A内の第1のピクセル位置402Aを決定する。ここで、追跡システム100は、第1のセンサー108からの第1のフレーム302A内での第1の人物1106についての現在位置を決定する。
図11の例を続けると、追跡システム100は、第1のフレーム302A内の第1の人物1106を識別し、第1の人物1106に対応する第1のピクセル位置402Aを決定する。所与のフレーム302において、第1の人物1106は、フレーム302内のピクセルの集合によって表される。
図11の例を参照すると、第1の人物1106は、第1の人物1106のオーバーヘッド・ビューを示すピクセルの集合によって表される。追跡システム100は、フレーム302内の第1の人物1106の現在位置を識別するために、第1の人物1106を表すピクセルの集合に、ピクセル位置402を関連付ける。ある実施形態では、第1の人物1106のピクセル位置402は、第1の人物1106の頭部に対応してもよい。この例では、第1の人物1106のピクセル位置402は、第1の人物1106を表すピクセルの集合の中心付近に位置してもよい。別の例として、追跡システム100は、第1の人物1106を表す第1のフレーム302A内のピクセルの集合を囲むバウンディングボックス708を決定してもよい。この例では、第1の人物1106のピクセル位置402は、バウンディングボックス708の中心付近に位置してもよい。
【0109】
別の例として、追跡システム100は、第1のフレーム302A内の第1の人物1106を識別するために、オブジェクト検出または輪郭検出を使用してもよい。この例では、追跡システム100は、第1の人物1106が空間102に入ったときに、第1の人物1106について一つまたは複数の特徴を識別してもよい。追跡システム100は、後に、第1のフレーム302A内の人物の特徴を、第1の人物1106に関連付けられている特徴と比較して、その人物が第1の人物1106であるかどうかを判定することができる。他の例では、追跡システム100は、第1のフレーム302A内の第1の人物1106を識別するために、任意の他の適切な技術を使用してもよい。第1のピクセル位置402Aは、第1のフレーム302A内の第1の人物1106の現在位置に対応する第1のピクセル行および第1のピクセル列を含む。
【0110】
図10に戻ると、ステップ1006で、追跡システム100は、オブジェクトが第1のセンサー108と第2のセンサー108との間の重複領域1110内にあることを判別する。
図11の例に戻ると、追跡システム100は、第1の人物1106についての第1のピクセル位置402Aを、重複領域1110に対応する第1の隣接リスト1114Aにおいて同定されているピクセルと比較して、第1の人物1106が重複領域1110内にあるかどうかを判断してもよい。追跡システム100は、第1のオブジェクト1106についての第1のピクセル位置402Aが、重複領域1110に対応する、第1の隣接リスト1114Aにおいて同定されているピクセルの範囲と一致するか、またはその範囲内にある場合に、第1のオブジェクト1106が重複領域1110内にあると判定してもよい。たとえば、追跡システム100は、ピクセル位置402Aのピクセル列を、重複領域1110と関連付けられたピクセル列の範囲と比較し、ピクセル位置402Aのピクセル行を、重複領域1110と関連付けられたピクセル行の範囲と比較して、ピクセル位置402Aが重複領域1110内にあるかどうかを判断してもよい。この例では、第1の人物1106についてのピクセル位置402Aは、重複領域1110内にある。
【0111】
ステップ1008では、追跡システム100は、第1のピクセル位置402Aに第1のホモグラフィー118を適用し、第1の人物1106についてのグローバルプレーン104内の第1の(x,y)座標306を決定する。第1のホモグラフィー118は、第1のフレーム302A内のピクセル位置402とグローバルプレーン104内の(x,y)座標306との間で変換するように構成される。第1のホモグラフィー118は、
図2~
図5Bに記載されるホモグラフィー118と同様に構成される。一例として、追跡システム100は、第1のセンサー108に関連する第1のホモグラフィー118を識別してもよく、第1のホモグラフィー118と第1のピクセル位置402Aとの間の行列乗算を使用して、グローバルプレーン104内の第1の(x,y)座標306を決定することができる。
【0112】
ステップ1010では、追跡システム100は、第1のセンサー108に関連付けられた第1の追跡リスト1112Aから、第1の人物1106についてのオブジェクト識別子1118を識別する。たとえば、追跡システム100は、第1の人物1106に関連付けられたオブジェクト識別子1118を識別してもよい。ステップ1012では、追跡システム100は、第1の人物1106についてのオブジェクト識別子1118を、第2のセンサー108に関連付けられた第2の追跡リスト1112Bに格納する。前の例を続けると、追跡システム100は、第1の人物1106についてのオブジェクト識別子1118を第2の追跡リスト1112Bに格納してもよい。第1の人物1106についてのオブジェクト識別子1118を第2の追跡リスト1112Bに追加することは、第1の人物1106が第2のセンサー108の視野内にあることを示し、それにより追跡システム100は、第2のセンサー108を使用して第1の人物1106の追跡を開始することができる。
【0113】
ひとたび追跡システム100が、第1の人物1106が第2のセンサー108の視野に入ったことを判別したら、追跡システム100は、第2のセンサー108に関連するホモグラフィー118を使用して、第2のセンサー108の第2のフレーム302Bにおいて第1の人物1106がどこに位置するかを判別する。このプロセスは、第2のセンサー108に対する第1の人物1106の位置を識別し、それにより第1の人物は第2のセンサー108を用いて追跡することができる。ステップ1014では、追跡システム100は、第2のセンサー108に関連するホモグラフィー118を第1の(x,y)座標306に適用して、第1の人物1106について、第2のフレーム302B内の第2のピクセル位置402Bを決定する。ホモグラフィー118は、第2のフレーム302B内のピクセル位置402とグローバルプレーン104内の(x,y)座標306との間で変換するように構成される。ホモグラフィー118は、
図2~
図5Bに記載されるホモグラフィー118と同様に構成される。一例として、追跡システム100は、第2のセンサー108に関連するホモグラフィー118を同定してもよく、ホモグラフィー118の逆と第1の(x,y)座標306との間の行列乗算を使用して、第2のフレーム302B内での第2のピクセル位置402Bを決定することができる。
【0114】
ステップ1016では、追跡システム100は、第2のピクセル位置402Bを、第1の人物1106についてのオブジェクト識別子1118とともに、第2の追跡リスト1112Bに格納する。いくつかの実施形態では、追跡システム100は、第1の人物1106に関連する追加情報を第2の追跡リスト1112Bに格納してもよい。たとえば、追跡システム100は、第2の追跡リスト1112B内に、移動方向1116または第1の人物1106に関連する任意の他の適切なタイプの情報を格納するように構成されてもよい。第2のピクセル位置402Bを第2の追跡リスト1112Bに格納した後、追跡システム100は、第2のセンサー108の視野内の人物の動きの追跡を開始してもよい。
【0115】
追跡システム100は、第1の人物1106の動きを追跡し続け、いつ完全に第1のセンサー108の視野から離れるかを決定する。ステップ1018において、追跡システム100は、第1のセンサー108から新しいフレーム302を受領する。たとえば、追跡システム100は、第1のセンサー108から追加のフレーム302を周期的に受け取ることができる。たとえば、追跡システム100は、ミリ秒毎、秒毎、5秒毎、または任意の他の適切な時間間隔で、第1のセンサー108から新しいフレーム302を受領することができる。
【0116】
ステップ1020において、追跡システム100は、第1の人物1106が新しいフレーム302に存在するかどうかを判定する。第1の人物1106が新しいフレーム302内に存在する場合、これは、第1の人物1106が依然として第1のセンサー108の視野内にあり、追跡システム100は、第1のセンサー108を使用して第1の人物1106の動きを追跡し続けるべきであることを意味する。第1の人物1106が新しいフレーム302内に存在しない場合、これは、第1の人物1106が第1のセンサー108の視野を離れたことを意味し、追跡システム100はもはや、第1のセンサー108を使用して第1の人物1106の動きを追跡する必要がなくなる。追跡システム100は、ステップ1004で説明したプロセスと同様のプロセスを使用して、第1の人物1106が新しいフレーム302内に存在するかどうかを決定することができる。追跡システム100は、第1の人物1106が第1のセンサー108からの新しいフレーム1102に存在すると判定したことに応答して、ステップ1018に戻り、第1のセンサー108から追加のフレーム302を受領する。
【0117】
追跡システム100は、第1の人物1106が新しいフレーム302に存在しないと判定することに応答してステップ1022に進む。この場合、第1の人物1106は、第1のセンサー108の視野を離れており、もはや第1のセンサー108を使用して追跡される必要はない。ステップ1022において、追跡システム100は、第1の追跡リスト1112Aから第1の人物1106に関連する情報を破棄する。ひとたび追跡システム100が、第1の人物が第1のセンサー108の視野を離れたことを判別すると、追跡システム100は、第1のセンサー108を使用して第1の人物1106の追跡することを停止し、第1の人物1106の追跡に割り当てられた資源(たとえば、メモリ資源)を解放することができる。追跡システム100は、第1の人物1106が第2のセンサー108の視野を離れるまで、第2のセンサー108を使用して第1の人物1106の動きを追跡し続ける。たとえば、第1の人物1106は、空間102を離れてもよく、または別のセンサー108の視野に移行してもよい。
【0118】
棚相互作用検出
図12は、追跡システム100についての棚相互作用検出方法1200のある実施形態のフローチャートである。追跡システム100は、人がラック112の棚と相互作用している場所を決定するために方法1200を使用してもよい。人が空間102内でどこに位置するかを追跡することに加えて、追跡システム100は、人がラック112からどの品目1306をピックアップするかも追跡する。買い物客がラック112から品目1306をピックアップすると、追跡システム100は、買い物客がどの品目1306をピックアップしたかを識別し、追跡し、それらの品目が自動的に、その買い物客に関連付けられたデジタル・カート1410に追加されることができる。このプロセスは、買い物客がスキャンしたり、または他の方法でピックアップした品目1306を同定したりすることなく、品目1306を人のデジタル・カート1410に追加することを可能にする。デジタル・カート1410は、買い物客が購入のためにピックアップした品目1306に関する情報を含む。ある実施形態では、デジタル・カート1410は、品目識別子と、デジタル・カート1410内の各品目に関連付けられた数量とを含む。たとえば、買い物客が缶飲料をピックアップすると、その飲料の品目識別子がその買い物客のデジタル・カート1410に追加される。デジタル・カート1410はまた、買い物客がピックアップした飲み物の数を示す。ひとたび買い物客が空間102を離れると、買い物客は自動的に、デジタル・カート1410内の品目1306について課金される。
【0119】
図13において、ラック112の側面図が、ラック112の前に立っている人の視点から示されている。この例では、ラック112は、品目1306を保持および展示するための複数の棚1302を含んでいてもよい。各棚1302は、異なる品目1306を保持するために一つまたは複数のゾーン1304に分割されてもよい。
図13において、ラック112は、第1の高さの第1の棚1302Aと、第2の高さの第2の棚1302Bとを含む。各棚1302は、第1のゾーン1304Aと第2のゾーン1304Bとに分割される。ラック112は、各棚1302上の各ゾーン1304内に異なる品目1306(すなわち、品目1306A、1306B、1306C、および1036D)を担持するように構成されてもよい。この例では、ラック112は、最大4つの異なるタイプの品目1306を担持するように構成されてもよい。他の例では、ラック112は、品目1306を保持するための任意の他の適切な数の棚1302および/またはゾーン1304を含んでいてもよい。追跡システム100は、人がラック112と相互作用している場所に基づいて、人がラック112からどの品目1306をピックアップするかを識別するために、方法1200を使用してもよい。
【0120】
図12に戻ると、ステップ1202において、追跡システム100は、センサー108からフレーム302を受領する。一例として
図14を参照すると、センサー108は、空間102についてのグローバルプレーン104内のラック112の少なくとも一部のフレーム302を捕捉する。
図14では、ラック112およびラック112の前方に立っている2人の人物を上方から見た図が、センサー108の視点から示されている。フレーム302は、センサー108についてのピクセル位置402にそれぞれ関連付けられた複数のピクセルを含む。各ピクセル位置402は、ピクセル行、ピクセル列、およびピクセル値を含む。ピクセル行およびピクセル列は、センサー108のフレーム302内のピクセルの位置を示す。ピクセル値は、グローバルプレーン104内のz座標(たとえば、高さ)に対応する。z座標は、センサー108とグローバルプレーン104内の表面との間の距離に対応する。
【0121】
フレーム302は、ラック112のゾーン1304に関連する一つまたは複数のゾーン1404をさらに含む。フレーム302内の各ゾーン1404は、グローバルプレーン104内のラック112の一部に対応する。
図14の例を参照すると、フレーム302は、ラック112に関連する第1のゾーン1404Aおよび第2のゾーン1404Bを含む。この例では、第1のゾーン1404Aおよび第2のゾーン1404Bは、それぞれ、ラック112の第1のゾーン1304Aおよび第2のゾーン1304Bに対応する。
【0122】
フレーム302はさらに、人1408がラック112と相互作用している場所を検出するための仮想カーテンとして使用される、あらかじめ定義されたゾーン1406を含む。あらかじめ定義されたゾーン1406は、人1408が、ラック112から品目1306をピックアップするために伸ばす手が通過する、追跡システム100によって定義される目に見えないバリアである。あらかじめ定義されたゾーン1406は、ラック112の一つまたは複数のゾーン1304に近接して位置する。たとえば、あらかじめ定義されたゾーン1406は、人1408がラック112上の品目1306をつかむために手を伸ばす、ラック112の前記一つまたは複数のゾーン1304の前方に近接して位置してもよい。いくつかの実施形態では、あらかじめ定義されたゾーン1406は、第1のゾーン1404Aおよび第2のゾーン1404Bと少なくとも部分的に重複しうる。
【0123】
図12に戻ると、ステップ1204において、追跡システム100は、フレーム1402のあらかじめ定義されたゾーン1406内のオブジェクトを識別する。たとえば、追跡システム100は、人物1408の手があらかじめ定義されたゾーン1406に入ることを検出することができる。ある実施形態では、追跡システム100は、人物1408の手があらかじめ定義されたゾーン1406に入ったことを検出するために、フレーム1402をセンサー108によって捕捉された前のフレームと比較することができる。この例では、追跡システム100は、人物1408の手があらかじめ定義されたゾーン1406に入ることを検出するために、フレーム302間の差を使用してもよい。他の実施形態では、追跡システム100は、人の手があらかじめ定義されたゾーン1406に入ったときを検出するために、任意の他の適切な技術を使用してもよい。
【0124】
ある実施形態では、追跡システム100は、人1408に近接するラック112を識別する。
図14の例に戻ると、追跡システム100は、人1408についてフレーム302内のピクセル位置402Aを決定してもよい。追跡システム100は、
図10のステップ1004に記載されるプロセスと同様のプロセスを使用して、人物1408のためのピクセル位置402Aを決定してもよい。追跡システム100は、センサー108に関連付けられたホモグラフィー118を使用して、人物1408についてグローバルプレーン104内での(x,y)座標306を決定してもよい。ホモグラフィー118は、フレーム302内のピクセル位置402とグローバルプレーン104内の(x,y)座標306との間で変換するように構成される。ホモグラフィー118は、
図2~
図5Bに記載されるホモグラフィー118と同様に構成される。一例として、追跡システム100は、センサー108に関連付けられたホモグラフィー118を識別してもよく、ホモグラフィー118と人物1408のピクセル位置402Aとの間の行列乗算を使用して、グローバルプレーン104内での(x,y)座標306を決定してもよい。次に、追跡システム100は、グローバルプレーン104内での人物1408の(x,y)座標306に基づいて、どのラック112が人物1408に最も近いかを識別することができる。
【0125】
追跡システム100は、人物1408に最も近いラック112に対応する品目マップ1308を識別することができる。ある実施形態では、追跡システム100は、品目1306をラック112上の特定の位置に関連付ける品目マップ1308を含む。たとえば、品目マップ1308は、ラック識別子および複数の品目識別子を含んでいてもよい。各品目識別子はラック112上の特定の位置にマッピングされる。
図13の例に戻ると、第1の品目1306Aは、ラック112の第1のゾーン1304Aおよび第1の棚1302Aを識別する第1の位置にマップされ、第2の品目1306Bは、ラック112の第2のゾーン1304Bおよび第1の棚1302Aを識別する第2の位置にマップされ、第3の品目1306Cは、ラック112の第1のゾーン1304Aおよび第2の棚1302Bを識別する第3の位置にマップされ、第4の品目1306Dは、ラック112の第2のゾーン1304Bおよび第2の棚1302Bを識別する第4の位置にマップされる。
【0126】
図12に戻ると、ステップ1206において、追跡システム100は、あらかじめ定義されたゾーン1406に入ったオブジェクトについて、フレーム302内のピクセル位置402Bを決定する。前の例を続けると、ピクセル位置402Bは、第1のピクセル行、第1のピクセル列、および人物の手1408についての第1のピクセル値を含む。この例では、人物1408の手は、あらかじめ定義されたゾーン1406内のピクセルの集合によって表される。ある実施形態では、人物1408の手のピクセル位置402は、人物1408の手を表すピクセルの集合の中心付近に位置してもよい。他の例では、追跡システム100は、フレーム302内の人物1408の手を識別するための任意の他の適切な技術を使用してもよい。
【0127】
ひとたび追跡システム100が人物1408の手のピクセル位置402Bを決定すると、追跡システム100は、その人1408が、ラック112のどの棚1302およびゾーン1304に手を伸ばしているかを決定する。ステップ1208において、追跡システム100は、オブジェクト(すなわち、人物1408の手)についてのピクセル位置402Bがラック112の第1のゾーン1304Aに対応するかどうかを判定する。追跡システム100は、人物1408の手のピクセル位置402Bを使用して、人物1408が手を伸ばしている先がラック112のどちらの側かを決定する。ここでは、追跡システム100は、人がラック112の左側の品目に手を伸ばしているかどうかをチェックする。
【0128】
ラック112の各ゾーン1304は、人物1408の手のピクセル位置402Bに基づいて人物1408が手を伸ばしている場所を決定するために使用されることのできる、フレーム302内の複数のピクセルに関連付けられる。
図14の例を続けると、ラック112の第1のゾーン1304Aは、フレーム302内のピクセルの第1の範囲1412に関連付けられている第1のゾーン1404Aに対応する。同様に、ラック112の第2のゾーン1304Bは、フレーム302内のピクセルの第2の範囲1414に関連付けられている第2のゾーン1404Bに対応する。追跡システム100は、人物1408の手のピクセル位置402Bをピクセルの第1の範囲1412と比較して、ピクセル位置402Bがラック112の第1のゾーン1304Aに対応するかどうかを決定することができる。この例では、ピクセルの第1の範囲1412は、フレーム302内のピクセル列の範囲に対応する。他の例では、ピクセルの第1の範囲1412は、フレーム302内のピクセル行、またはピクセル行および列の組み合わせの範囲に対応しうる。
【0129】
この例では、ピクセル位置1410がラック112の第1のゾーン1304Aに対応するかどうかを判断するために、追跡システム100は、ピクセル位置402Bの第1のピクセル列をピクセルの第1の範囲1412と比較する。換言すれば、追跡システム100は、ピクセル位置402Bの第1のピクセル列をピクセルの第1の範囲1412と比較して、人物1408がラック112の左側の品目1306に手を伸ばしているかどうかを判断する。
図14において、人物1408の手についてのピクセル位置402Bは、ラック112の第1のゾーン1304Aに対応しない。追跡システム100は、オブジェクトについてのピクセル位置402Bがラック112の第1のゾーン1304Aに対応することを決定することに応答して、ステップ1210に進む。ステップ1210において、追跡システム100は、あらかじめ定義されたゾーン1406に入ったオブジェクトについてのピクセル位置402Bに基づいて、ラック112の第1のゾーン1304Aを識別する。この場合、追跡システム100は、人物1408がラック112の左側の品目に手を伸ばしていると判断する。
【0130】
ステップ1208に戻ると、追跡システム100は、あらかじめ定義されたゾーン1406に入ったオブジェクトについてのピクセル位置402Bがラック112の第1のゾーン1304Bに対応しないという決定に応答して、ステップ1212に進む。ステップ1212において、追跡システム100は、あらかじめ定義されたゾーン1406に入ったオブジェクトのピクセル位置402Bに基づいて、ラック112の第2のゾーン1304Bを識別する。この場合、追跡システム100は、人物1408がラック112の右側にある品目に手を伸ばしていると判断する。
【0131】
他の実施形態では、追跡システム100は、ピクセル位置402Bを、ラック112の他のゾーン1304に関連付けられたピクセルの他の範囲と比較することができる。たとえば、追跡システム100は、ピクセル位置402Bの第1のピクセル列をピクセル位置の第2の範囲1414と比較して、ピクセル位置402Bがラック112の第2のゾーン1304Bに対応するかどうかを決定してもよい。換言すれば、追跡システム100は、ピクセル位置402Bの第1のピクセル列をピクセルの第2の範囲1414と比較して、人物1408がラック112の右側にある品目1306に手を伸ばしているかどうかを判断する。
【0132】
ひとたび追跡システム100が、ラック112のどのゾーン1304に人1408が手を伸ばしているかを決定すると、次に、追跡システム100は、ラック112のどの棚1302に人1408が手を伸ばしているかを決定する。ステップ1214において、追跡システム100は、あらかじめ定義されたゾーン1406に入ったオブジェクトについてのピクセル位置402Bにおけるピクセル値を識別する。ピクセル値は、人1408がどの棚1302と相互作用していたかを識別するために使用することができる、グローバルプレーン104内のz座標または高さに対応する数値である。ピクセル値は、人物1408の手があらかじめ定義されたゾーン1406に入ったときに、人物1408の手があった高さを決定するために使用することができ、それは、人物1408がどの棚1302に手を伸ばしていたかを決定するために使用できる。
【0133】
ステップ1216において、追跡システム100は、ピクセル値がラック112の第1の棚1302Aに対応するかどうかを判定する。
図13の例に戻ると、ラック112の第1の棚1302Aは、z値または高さの第1の範囲1310Aに対応し、第2の棚1302Bは、z値または高さの第2の範囲1310Bに対応する。追跡システム100は、ピクセル値をz値の第1の範囲1310Aと比較して、ピクセル値がラック112の第1の棚1302Aに対応するかどうかを判断することができる。一例として、z値の第1の範囲1310Aは、グローバルプレーン104内のz軸に関して2メートルから1メートルまでの間の範囲でありうる。z値の第2の範囲1310Bは、グローバルプレーン104内のz軸に関して0.9メートルから0メートルまでの間の範囲でありうる。ピクセル値は、グローバルプレーン104内のz軸に関して1.5メートルに対応する値を有してもよい。この例では、ピクセル値はz値の第1の範囲1310A内であり、これはピクセル値がラック112の第1の棚1302Aに対応することを示す。換言すれば、人物1408の手は、人物1408がラック112の第1の棚1302Aに手を伸ばしていたことを示す高さで検出された。追跡システム100は、ピクセル値がラック112の第1の棚に対応することを決定することに応答して、ステップ1218に進む。ステップ1218において、追跡システム100は、ピクセル値に基づいてラック112の第1の棚1302Aを識別する。
【0134】
ステップ1216に戻ると、追跡システム100は、ピクセル値がラック112の第1の棚1302Aに対応しないことを決定することに応答して、ステップ1220に進む。ステップ1220において、追跡システム100は、ピクセル値に基づいてラック112の第2の棚1302Bを識別する。他の実施形態では、追跡システム100は、ピクセル値を、ラック112の他の棚1302に関連付けられた他のz値範囲と比較することができる。たとえば、追跡システム100は、ピクセル値をz値の第2の範囲1310Bと比較して、ピクセル値がラック112の第2の棚1302Bに対応するかどうかを判断することができる。
【0135】
ひとたび追跡システム100が、ラック112のどちらの側およびラック112のどの棚1302に人1408が手を伸ばしているかを決定すると、追跡システム100は、ラック112上の識別された位置に対応する品目1306を識別することができる。ステップ1222において、追跡システム100は、ラック112の識別されたゾーン1304および識別された棚1302に基づいて、品目1306を識別する。追跡システム100は、品目マップ1308内の対応する品目1306を識別するために、識別されたゾーン1304および識別された棚1302を使用する。
図14の例に戻ると、追跡システム100は、人物1408がラック112の右側(すなわち、ゾーン1404B)およびラック112の第1の棚1302Aに手を伸ばしていると判断することができる。この例では、追跡システム100は、人物1408が手を伸ばしており、ラック112から品目1306Bをピックアップしたと判断する。
【0136】
場合によっては、複数の人がラック112の近くにいることがあり、追跡システム100は、ピックアップされた品目1306を適切な人物のデジタル・カート1410に追加することができるように、どの人がラック112と相互作用しているかを決定する必要がある。
図14の例に戻ると、第1の人物1408がラック112から品目1306をピックアップするとき、第2の人物1420もラック112の近くにいる。この場合、追跡システム100は、ピックアップされた品目を第2の人物1420ではなく第1の人物1408に割り当てるべきである。ある実施形態では、追跡システム100は、ピックアップされた品目1306への近接性に基づいて、どの人が品目1306をピックアップしたかを決定する。たとえば、追跡システム100は、第1の人物1408について、フレーム302内のピクセル位置402Aを決定してもよい。また、追跡システム100は、フレーム302内の第2の人物1420についての第2のピクセル位置402Cを識別することができる。次いで、追跡システム100は、第1の人物1408のピクセル位置402Aと、品目1306がピックアップされたラック112上の位置との間の第1の距離1416を決定することができる。追跡システム100はまた、第2の人物1420のピクセル位置402Cと、品目1306がピックアップされたラック112上の位置との間の第2の距離1418をも決定する。次いで、追跡システム100は、第1の距離1416が第2の距離1418よりも小さい場合、第1の人物1408のほうが第2の人物1420よりも品目1306により近いと判断することができる。この例では、追跡システム100は、品目1306がピックアップされたラック112上の位置への近接性に基づいて、第1の人物1408を、品目1306をピックアップした可能性が最も高い人物として識別する。このプロセスにより、追跡システム100は、品目1306を人のデジタル・カート1410に追加する前に、品目1306をラック112からピックアップした正しい人物を識別することができる。
【0137】
図12に戻ると、ステップ1224において、追跡システム100は、人物1408に関連付けられたデジタル・カート1410に、識別された品目1306を追加する。ある実施形態では、追跡システム100は、重量センサー110を使用して、ラック112から取り除かれた品目1306の数を決定する。たとえば、追跡システム100は、人物1408が重量センサー110から一つまたは複数の品目1306を除去した後に、重量センサー110上の重量減少量を決定することができる。次いで、追跡システム100は、重量減少量に基づいて品目の数量を決定することができる。たとえば、追跡システム100は、重量センサー110に関連付けられた品目1306についての個々の品目の重量を決定することができる。たとえば、重量センサー110は、16オンスの個々の重量を有する品目1306に関連付けられてもよい。重量センサー110が64オンスの重量減少を検出すると、重量センサー110は、品目1306の4つが重量センサー110から除去されたと決定することができる。他の実施形態では、デジタル・カート1410は、人物1408および/または該人物1408がピックアップした品目1306に関連する任意の他の適切なタイプの情報をさらに含んでいてもよい。
【0138】
ローカル・ゾーンを使用した品目割り当て
図15は、追跡システム100についての品目割り当て方法1500のある実施形態のフローチャートである。追跡システム100は、ラック112から品目1306がピックアップされたときを検出し、ラック112に関連付けられたあらかじめ定義されたゾーン1808を使用して、その品目をどの人物に割り当てるかを決定するために、方法1500を使用してもよい。店舗などの繁忙な環境では、品目がラック112から取り除かれるときに、ラック112の近くに複数の人が立っていることがある。品目1306をピックアップした正しい人物を特定することは、困難である可能性がある。この場合、追跡システム100は、ラック112から品目1306をピックアップする人を識別する際に、探索空間を減らすために使用できる、あらかじめ定義されたゾーン1808を使用する。あらかじめ定義されたゾーン1808は、ラック112に関連付けられ、人がラック112から品目1306をピックアップすることができる領域を同定するために使用される。あらかじめ定義されたゾーン1808は、追跡システム100が、人がラック112から品目1306をピックアップすることができる領域内にない、たとえばラック112背後にいる人を、迅速に無視することを可能にする。ひとたび品目1306および人物が識別されると、追跡システム100は、識別された人物に関連付けられたデジタル・カート1410に品目を追加する。
【0139】
ステップ1502において、追跡システム100は、重量センサー110上の重量減少を検出する。一例として
図18を参照すると、重量センサー110はラック112上に配置され、重量センサー110上に置かれた品目1306の重量を測定するように構成される。この例では、重量センサー110は、特定の品目1306に関連付けられる。追跡システム100は、人1802が重量センサー110から一つまたは複数の品目1306を除去したときに、重量センサー110上の重量減少を検出する。
【0140】
図15に戻ると、ステップ1504において、追跡システム100は、重量センサー110に関連する品目1306を識別する。ある実施形態では、追跡システム100は、品目1306を特定の位置(たとえば、ゾーン1304および/または棚1302)に関連付ける品目マップ1308Aと、ラック112上の重量センサー110とを含む。たとえば、品目マップ1308Aは、ラック識別子、重量センサー識別子、および複数の品目識別子を含んでいてもよい。各品目識別子は、ラック112上の特定の重量センサー110(すなわち、重量センサー識別子)にマッピングされる。追跡システム100は、どの重量センサー110が重量減少を検出したかを決定し、次いで、品目マップ1308Aを使用して、重量センサー110に対応する品目1306または品目識別子を識別する。
【0141】
ステップ1506において、追跡システム100は、センサー108からラック112のフレーム302を受領する。センサー108は、空間102についてのグローバルプレーン104内のラック112の少なくとも一部のフレーム302を捕捉する。フレーム302は、それぞれピクセル位置402に関連付けられている複数のピクセルを含む。各ピクセル位置402は、ピクセル行およびピクセル列を含む。ピクセル行およびピクセル列は、フレーム302内のピクセルの位置を示す。
【0142】
フレーム302は、ラック112に関連するあらかじめ定義されたゾーン1808を含む。あらかじめ定義されたゾーン1808は、ラック112の正面に近接し、ラック112から品目1306を取り出すための好適な位置にある人を識別するために使用される。たとえば、ラック112は、前部1810、第1の側部1812、第2の側部1814、および後部1814を含む。この例では、人は、ラック112の前方または側方のいずれかにいるときに、ラック112から品目1306を取り出すことができる。人は、ラック112の背後にいるときには、ラック112から品目1306を取り出すことができない。この場合、あらかじめ定義されたゾーン1808は、フレーム1806内のラック112の前部1810、第1の側部1812、および第2の側部1814の少なくとも一部と重複してもよい。この構成は、ラック112の背後にいる人が、ラック112から品目1306をピックアップした人とみなされることを防止する。
図18では、あらかじめ定義されたゾーン1808は、矩形である。他の例では、あらかじめ定義されたゾーン1808は、半円形であってもよく、または任意の他の適切な形状であってもよい。
【0143】
追跡システム100が、品目1306がラック112からピックアップされたことを判別した後、追跡システム100は、次に、ラック112から品目1306をピックアップした可能性のあるフレーム302内の人物を識別し始める。ステップ1508において、追跡システム100は、フレーム302内の人物1802を識別する。追跡システム100は、
図10のステップ1004に記載されるプロセスと同様のプロセスを使用して、フレーム302内の人物1802を識別することができる。他の例では、追跡システム100は、フレーム302内の人物1802を識別するための任意の他の適切な技術を使用してもよい。
【0144】
ステップ1510では、追跡システム100は、識別された人1802についてのフレーム302内のピクセル位置402Aを決定する。追跡システム100は、
図10のステップ1004に記載されるプロセスと同様のプロセスを使用して、識別された人物1802のためのピクセル位置402Aを決定してもよい。ピクセル位置402Aは、センサー108のフレーム302内の人物1802の位置を識別するピクセル行およびピクセル列を含む。
【0145】
ステップ1511において、追跡システム100は、識別された人物1802のピクセル位置402Aにホモグラフィー118を適用して、識別された人物1802についてグローバルプレーン104内の(x,y)座標306を決定する。ホモグラフィー118は、フレーム302内のピクセル位置402とグローバルプレーン104内の(x,y)座標306との間で変換するように構成される。ホモグラフィー118は、
図2~
図5Bに記載されるホモグラフィー118と同様に構成される。一例として、追跡システム100は、センサー108に関連付けられたホモグラフィー118を識別してもよく、ホモグラフィー118と識別された人物1802のピクセル位置402Aとの間の行列乗算を使用して、グローバルプレーン104内での(x,y)座標306を決定してもよい。
【0146】
ステップ1512において、追跡システム100は、識別された人物1802がフレーム302内のラック112に関連付けられたあらかじめ定義されたゾーン1808内にいるかどうかを判定する。
図18の例を続けると、あらかじめ定義されたゾーン1808は、グローバルプレーン104内の(x,y)座標306のある範囲に関連付けられる。追跡システム100は、識別された人物1802についての(x,y)座標306を、あらかじめ定義されたゾーン1808に関連付けられた(x,y)座標306の範囲と比較して、識別された人物1802についての(x,y)座標306があらかじめ定義されたゾーン1808内にあるかどうかを判断してもよい。換言すれば、追跡システム100は、識別された人物1802がラック112から品目1306をピックアップするのに適した領域内にいるかどうかを判断するために、識別された人物1802についての(x,y)座標306を使用する。この例では、人物1802の(x,y)座標306は、ラック112の前方の位置に対応し、あらかじめ定義されたゾーン1808内にあり、これは、識別された人物1802が、ラック112から品目1306を取り出すのに適した領域内にいることを意味する。
【0147】
別の実施形態では、あらかじめ定義されたゾーン1808は、フレーム302内の複数のピクセル(たとえば、ピクセル行およびピクセル列のある範囲)に関連付けられる。追跡システム100は、ピクセル位置402Aがあらかじめ定義されたゾーン1808内にあるかどうかを判断するために、ピクセル位置402Aをあらかじめ定義されたゾーン1808に関連付けられたピクセルと比較してもよい。換言すれば、追跡システム100は、識別された人物1802のピクセル位置402Aを使用して、識別された人物1802がラック112から品目1306をピックアップするのに適した領域内にあるかどうかを判断する。この例では、追跡システム100は、ピクセル位置402Aのピクセル列を、あらかじめ定義されたゾーン1808と関連付けられたピクセル列の範囲と、ピクセル位置402Aのピクセル行をあらかじめ定義されたゾーン1808と関連付けられたピクセル行の範囲と比較して、識別された人物1802があらかじめ定義されたゾーン1808内にあるかどうかを判断してもよい。この例では、人物1802についてのピクセル位置402Aはラック112の前に立っており、あらかじめ定義されたゾーン1808内にあり、これは、識別された人物1802が、ラック112から品目1306を取り出すのに適した領域内にいることを意味する。
【0148】
追跡システム100は、識別された人物1802があらかじめ定義されたゾーン1808内にあることを決定することに応答して、ステップ1514に進む。さもなければ、追跡システム100は、ステップ1508に戻り、フレーム302内の別の人を識別する。この場合、追跡システム100は、識別された人物1802がラック112から品目1306を取り出すのに適した領域にいない、たとえば、識別された人物1802がラック112の後方に立っていると判断する。
【0149】
場合によっては、複数の人がラック112の近くにいてもよく、追跡システム100は、ピックアップされた品目1306を適切な人のデジタル・カート1410に追加することができるように、どの人がラック112と相互作用しているかを決定する必要がある。
図18の例に戻ると、第1の人物1802がラック112から品目1306をピックアップしたとき、フレーム302において、第2の人物1826が、ラック112の側面に隣接して立っている。この例では、第2の人物1826は、第1の人物1802よりもラック112に近いが、第2の人物1826のピクセル位置402Bがラック112に関連付けられたあらかじめ定義されたゾーン1808の外側にあるため、追跡システム100は、第2の人物1826を無視することができる。たとえば、追跡システム100は、第2の人物1826についてのグローバルプレーン104内での(x,y)座標306を識別し、(x,y)座標306に基づいて第2の人物1826があらかじめ定義されたゾーン1808の外側にあると判断してもよい。
【0150】
別の例として、追跡システム100は、第2の人物1826についてフレーム302内でのピクセル位置402Bを識別し、ピクセル位置402Bに基づいて、第2の人物1826があらかじめ定義されたゾーン1808の外側にいると判断してもよい。別の例として、フレーム302は、ラック112の近くに立っている第3の人物1832をさらに含む。この場合、追跡システム100は、ピックアップされた品目1306への近接性に基づいて、どの人物が品目1306をピックアップしたかを決定する。たとえば、追跡システム100は、第3の人物1832について、グローバルプレーン104内での(x,y)座標306を決定してもよい。次いで、追跡システム100は、第1の人物1802の(x,y)座標306と、品目1306がピックアップされたラック112上の位置との間の第1の距離1828を決定することができる。追跡システム100はまた、第3の人物1832の(x,y)座標306と、品目1306がピックアップされたラック112上の位置との間の第2の距離1830を決定する。次いで、追跡システム100は、第1の距離1828が第2の距離1830より小さい場合に、第1の人物1802が、第3の人物1832よりも品目1306に近いと判断してもよい。この例では、追跡システム100は、品目1306がピックアップされたラック112上の位置への近接性に基づいて、品目1306をピックアップした可能性が最も高い人物として、第1の人物1802を識別する。このプロセスにより、追跡システム100は、品目1306を人のデジタル・カート1410に追加する前に、品目1306をラック112からピックアップした正しい人物を識別することができる。
【0151】
別の例として、追跡システム100は、第3の人物1832について、フレーム302内でのピクセル位置402Cを決定してもよい。次いで、追跡システム100は、第1の人物1802のピクセル位置402Aと、品目1306がピックアップされたラック112上の位置との間の第1の距離1828を決定することができる。追跡システム100はまた、第3の人物1832のピクセル位置402Cと、品目1306がピックアップされたラック112上の位置との間の第2の距離1830を決定する。
【0152】
図15に戻ると、ステップ1514において、追跡システム100は、識別された人物1802に関連付けられたデジタル・カート1410に品目1306を追加する。追跡システム100は、
図12のステップ1224に記載されるプロセスと同様のプロセスを使用して、品目1306をデジタル・カート1410に追加してもよい。
【0153】
品目識別
図16は、追跡システム100についての品目識別方法1600の実施形態のフローチャートである。追跡システム100は、方法1600を使用して、一様でない重量を有する品目1306を識別し、品目1306を人のデジタル・カート1410に割り当てることができる。一様な重量を有する品目1306については、追跡システム100は、重量センサー110上の重量差に基づいて重量センサー110から取り除かれた品目1306の数を決定することができる。しかしながら、生鮮食品のような品目1306は、一様な重量を有しない。つまり、追跡システム100は、重量測定に基づいて棚1302から取り除かれた品目1306の数を決定することはできない。この構成では、追跡システム100は、センサー108を使用して、ピックアップされた品目1306上のマーカー1820(たとえば、テキストまたは記号)を識別し、品目1306がピックアップされたラック112の近くの人を識別する。たとえば、マーカー1820は、品目1806のパッケージ上、または品目1806を運ぶためのストラップ上に位置してもよい。ひとたび品目1306および人物が識別されると、追跡システム100は、識別された人物に関連付けられたデジタル・カート1410に品目1306を追加することができる。
【0154】
ステップ1602において、追跡システム100は、重量センサー110上の重量減少を検出する。
図18の例に戻ると、重量センサー110は、ラック112上に配置され、重量センサー110上に置かれた品目1306についての重量を測定するように構成される。この例では、重量センサー110は、特定の品目1306に関連付けられる。追跡システム100は、人物1802が重量センサー110から一つまたは複数の品目1306を除去したときに、重量センサー110の重量減少を検出する。
【0155】
追跡システム100が、品目1306がラック112から除去されたことを検出した後、追跡システム100は、センサー108を使用して、除去された品目1306および品目1306をピックアップした人物を識別する。
図16に戻ると、ステップ1604において、追跡システム100は、センサー108からフレーム302を受領する。センサー108は、空間102についてのグローバルプレーン104内でのラック112の少なくとも一部のフレーム302を捕捉する。
図18に示される例では、センサー108は、センサー108からのフレーム302がラック112のオーバーヘッド・ビューを捕捉するように構成される。フレーム302は、それぞれピクセル位置402に関連付けられている複数のピクセルを含む。各ピクセル位置402は、ピクセル行およびピクセル列を含む。ピクセル行およびピクセル列は、フレーム302内のピクセルの位置を示す。
【0156】
フレーム302は、
図15のステップ1504で記載されたあらかじめ定義されたゾーン1808と同様に構成される、あらかじめ定義されたゾーン1808を含む。ある実施形態では、フレーム1806は、
図12~
図14に記載されるあらかじめ定義されたゾーン1406と同様の仮想カーテンとして構成される第2のあらかじめ定義されたゾーンをさらに含んでいてもよい。たとえば、追跡システム100は、重量センサー110上の重量減少を検出する前に、人物1802の手が品目1306に到達することを検出するために、第2のあらかじめ定義されたゾーンを使用してもよい。この例では、第2のあらかじめ定義されたゾーンは、品目1306がラック112からピックアップされようとしていることを追跡システム100に報知するために使用される。それは、ラック112から取り除かれる品目1306を含むフレーム302を捕捉するようセンサー108をトリガーするために使用されうる。
【0157】
ステップ1606において、追跡システム100は、フレーム302内のあらかじめ定義されたゾーン1808内の品目1306上のマーカー1820を識別する。マーカー1820は、センサー108によって検出できる一意的な特徴を有するオブジェクトである。たとえば、マーカー1820は、一意的に識別可能な形状、色、記号、パターン、テキスト、バーコード、QRコード、または任意の他の適切なタイプの特徴を含んでいてもよい。追跡システム100は、マーカー1820に対応する既知の特徴を求めてフレーム302を探索してもよい。
図18の例を参照すると、追跡システム100は、マーカー1820に対応するフレーム302内の品目1806のパッケージ上の形状(たとえば、星形)を識別してもよい。別の例として、マーカー1820がテキストを含む場合、追跡システム100は、キャラクタまたはテキスト認識を使用して、マーカー1820に対応する英数字テキストを識別してもよい。他の例では、追跡システム100は、フレーム302内のマーカー1820を識別するために、任意の他の適切な技術を使用してもよい。
【0158】
図16に戻ると、ステップ1608において、追跡システム100は、マーカー1820に関連付けられた品目1306を識別する。ある実施形態では、追跡システム100は、品目1306を特定のマーカー1820に関連付ける品目マップ1308Bを含む。たとえば、品目マップ1308Bは、それぞれ特定のマーカー1820(すなわち、マーカー識別子)にマップされる複数の品目識別子を含んでいてもよい。追跡システム100は、品目マップ1308Bを使用して、マーカー1820に対応する品目1306または品目識別子を識別する。
【0159】
いくつかの実施形態では、追跡システム100はまた、重量センサー110からの情報を使用して、品目1306を識別してもよい。たとえば、追跡システム100は、品目1306をラック112上の特定の位置(たとえば、ゾーン1304および/または棚1302)および重量センサー110に関連付ける品目マップ1308Aを含んでいてもよい。たとえば、品目マップ1308Aは、ラック識別子、重量センサー識別子、および複数の品目識別子を含んでいてもよい。各品目識別子は、ラック112上の特定の重量センサー110(すなわち、重量センサー識別子)にマッピングされる。追跡システム100は、どの重量センサー110が重量減少を検出したかを決定し、次いで、品目マップ1308Aを使用して、重量センサー110に対応する品目1306または品目識別子を識別する。
【0160】
追跡システム100がラック112からピックアップされた品目1306を識別した後、追跡システム100は、次いで、どの人物がラック112から品目1306をピックアップしたかを決定する。ステップ1610において、追跡システム100は、フレーム302内の人物1802を識別する。追跡システム100は、
図10のステップ1004に記載されるプロセスと同様のプロセスを使用して、フレーム302内の人物1802を識別することができる。他の例では、追跡システム100は、フレーム302内の人物1802を識別するために任意の他の適切な技術を使用してもよい。
【0161】
ステップ1612において、追跡システム100は、識別された人物1802についてのピクセル位置402Aを決定する。追跡システム100は、
図10のステップ1004に記載されるプロセスと同様のプロセスを使用して、識別された人物1802のためのピクセル位置402Aを決定してもよい。ピクセル位置402Aは、センサー108のフレーム302内の人物1802の位置を識別するピクセル行およびピクセル列を含む。
【0162】
ステップ1613において、追跡システム100は、識別された人物1802のピクセル位置402Aにホモグラフィー118を適用し、識別された人物1802についてグローバルプレーン104内での(x,y)座標306を決定する。追跡システム100は、
図15のステップ1511に記載されるプロセスと同様のプロセスを使用して、識別された人物1802についてグローバルプレーン104内での(x,y)座標306を決定してもよい。
【0163】
ステップ1614において、追跡システム100は、識別された人物1802があらかじめ定義されたゾーン1808内にいるかどうかを判定する。ここで、追跡システム100は、識別された人物1802がラック112から品目1306を取り出すのに適した領域内にいるかどうかを判定する。追跡システム100は、
図15のステップ1512に記載されるプロセスと同様のプロセスを使用して、識別された人物1802があらかじめ定義されたゾーン1808内にいるかどうかを決定してもよい。追跡システム100は、識別された人1802があらかじめ定義されたゾーン1808内にいることを決定することに応答してステップ1616に進む。この場合、追跡システム100は、識別された人物1802がラック112から品目1306を取り出すのに適した領域にいる、たとえば、識別された人物1802がラック112の前に立っていると判断する。さもなければ、追跡システム100は、ステップ1610に戻り、フレーム302内の別の人を識別する。この場合、追跡システム100は、識別された人物1802がラック112から品目1306を取り出すのに適した領域にいない、たとえば、識別された人物1802がラック112の後方に立っていると判断する。
【0164】
場合によっては、複数の人がラック112の近くにいてもよく、追跡システム100は、ピックアップされた品目1306を適切な人のデジタル・カート1410に追加することができるように、どの人がラック112と相互作用しているかを決定する必要があることがある。追跡システム100は、
図15のステップ1512に記載されるプロセスと同様のプロセスを使用して、どの人がラック112から品目1306をピックアップしたかを識別することができる。
【0165】
ステップ1614において、追跡システム100は、人1802に関連付けられたデジタル・カート1410に品目1306を追加する。追跡システム100は、
図12のステップ1224に記載されるプロセスと同様のプロセスを使用して、品目1306をデジタル・カート1410に追加してもよい。
【0166】
誤って置かれた品目の識別
図17は、追跡システム100のための誤配置品目識別方法1700のある実施形態のフローチャートである。追跡システム100は、ラック112上に誤って置かれた品目1306を識別するために方法1700を使用してもよい。ある人が買い物をしている間、買い物客は、前にピックアップした一つまたは複数の品目1306を置くことにすることがある。この場合、追跡システム100は、どの品目1306がラック112に戻され、どの買い物客が品目1306を戻したのかを識別するべきである。それにより、追跡システム100はその人のデジタル・カート1410から品目1306を除去できる。ラック112に戻された品目1306を識別することは、買い物客が品目1306をその正しい位置に戻さない可能性があるため、困難である。たとえば、買い物客は、品目1306をラック112上の間違った位置に、または間違ったラック112上に戻すことがある。これらのいずれの場合も、追跡システム100は、買い物客が空間102を離れるときに品目1306について課金されないように、その人と品目1306の両方を正確に識別しなければならない。この構成では、追跡システム100は、重量センサー110を使用して、まず、品目1306がその正しい位置に戻されなかったことを判別する。次いで、追跡システム100は、センサー108を使用して、ラック112上に品目1306を置いた人を識別し、そのデジタル・カート1410を解析して、デジタル・カート1410内の品目1306の重量に基づいて、その人がどの品目1306を戻した可能性が最も高いかを決定する。
【0167】
ステップ1702では、追跡システム100は、重量センサー110上の重量増加を検出する。
図18の例に戻ると、第1の人物1802が、一つまたは複数の品目1306をラック112上の重量センサー110上に戻す。重量センサー110は、重量センサー110上に置かれた品目1306についての重量を測定するように構成される。追跡システム100は、人1802が一つまたは複数の品目1306を重量センサー110に追加したときに、重量センサー110上の重量増加を検出する。
【0168】
ステップ1704において、追跡システム100は、重量センサー110上の重量増加を検出することに応答して、重量センサー110上の重量増加量を決定する。重量増加量は、重量センサー110によって検出される重量変化の大きさに対応する。ここで、追跡システム100は、一つまたは複数の品目1306が重量センサー110上に置かれた後に重量センサー110によって経験された重量増加の程度を決定する。
【0169】
ある実施形態では、追跡システム100は、重量増加量に基づいて、重量センサー110上に置かれた品目1306が、誤って置かれた品目1306であると判断する。たとえば、重量センサー110は、既知のある個別の品目重量を有する、ある品目1306に関連付けられていてもよい。つまり、重量センサー110は、既知の品目重量の倍数である重量変化を経験することが期待されるだけである。この構成では、重量増加量が、重量センサー110に関連付けられている品目1306についての個別の品目重量または個別の品目重量の倍数と一致しない場合、追跡システム100は、戻された品目1306が誤って置かれた品目1306であると判断することができる。一例として、重量センサー110は、10オンスの個々の重量を有する品目1306に関連付けられていてもよい。重量センサー110が25オンスの重量増加を検出する場合、重量増加量が、重量センサー110に関連付けられている品目1306についての個々の品目の重量または個々の品目の重量の倍数と一致しないため、追跡システム100は、重量センサー114に置かれた品目1306は、重量センサー110に関連付けられている品目1306ではないと判断することができる。
【0170】
追跡システム100は、品目1306がラック112に戻されたことを検出した後、追跡システム100は、センサー108を使用して、品目1306をラック112に戻した人を識別する。ステップ1706において、追跡システム100は、センサー108からフレーム302を受領する。センサー108は、空間102についてのグローバルプレーン104内のラック112の少なくとも一部のフレーム302を捕捉する。
図18に示される例では、センサー108は、センサー108からのフレーム302がラック112のオーバーヘッド・ビューを捕捉するように構成される。フレーム302は、それぞれピクセル位置402に関連付けられる複数のピクセルを含む。各ピクセル位置402は、ピクセル行およびピクセル列を含む。ピクセル行およびピクセル列は、フレーム302内のピクセルの位置を示す。いくつかの実施形態では、フレーム302は、
図15のステップ1504に記載されるあらかじめ定義されたゾーン1808と同様に構成されるあらかじめ定義されたゾーン1808をさらに含む。
【0171】
ステップ1708において、追跡システム100は、フレーム302内の人物1802を識別する。追跡システム100は、
図10のステップ1004に記載されたプロセスと同様のプロセスを使用して、フレーム302内の人物1802を識別することができる。他の例では、追跡システム100は、フレーム302内の人物1802を識別するために任意の他の適切な技術を使用してもよい。
【0172】
ステップ1710において、追跡システム100は、識別された人物1802について、フレーム302内のピクセル位置402Aを決定する。追跡システム100は、
図10のステップ1004に記載されるプロセスと同様のプロセスを使用して、識別された人物1802のためのピクセル位置402Aを決定してもよい。ピクセル位置402Aは、センサー108のフレーム302内の人物1802の位置を同定するピクセル行およびピクセル列を含む。
【0173】
ステップ1712において、追跡システム100は、識別された人物1802がフレーム302のあらかじめ定義されたゾーン1808内にいるかどうかを判定する。ここで、追跡システム100は、識別された人1802が、品目1306をラック112に戻すのに適した領域にいるかどうかを判定する。追跡システム100は、
図15のステップ1512に記載されるプロセスと同様のプロセスを使用して、識別された人物1802があらかじめ定義されたゾーン1808内にいるかどうかを決定してもよい。追跡システム100は、識別された人1802があらかじめ定義されたゾーン1808内にいることを決定することに応答して、ステップ1714に進む。この場合、追跡システム100は、識別された人物1802が、品目1306をラック112に戻すのに適した領域にいる、たとえば、識別された人物1802がラック112の前に立っていると判断する。さもなければ、追跡システム100は、ステップ1708に戻り、フレーム302内の別の人を識別する。この場合、追跡システム100は、識別された人物がラック112から品目1306を取り出すのに適した領域にいない、たとえば、人物がラック112の後ろに立っていると判断する。
【0174】
場合によっては、複数の人がラック112の近くにいてもよく、追跡システム100は、適切な人のデジタル・カート1410から返却された品目1306を除去することができるように、どの人がラック112と相互作用しているかを決定する必要があることがある。追跡システム100は、
図15のステップ1512に記載されるプロセスと同様のプロセスを使用して、どの人が品目1306をラック112に戻したかを決定することができる。
【0175】
追跡システム100は、どの人が品目1306をラック112に戻したかを識別した後、追跡システム100は、識別された人のデジタル・カート1410からのどの品目1306が、ラック112に戻された品目1306に最もよく一致する重量を有するかを判別する。ステップ1714において、追跡システム100は、人1802に関連付けられたデジタル・カート1410内の複数の品目1306を識別する。ここで、追跡システム100は、識別された人1802に関連するデジタル・カート1410を識別する。たとえば、デジタル・カート1410は、識別された人1802のオブジェクト識別子1118にリンクされてもよい。ある実施形態では、デジタル・カート1410は、個々の品目重量にそれぞれ関連付けられた品目識別子を含む。
【0176】
ステップ1716において、追跡システム100は、デジタル・カート1410内の各品目1306についての品目重量を識別する。ある実施形態では、追跡システム100は、メモリに記憶された品目重量の集合を含んでいてもよく、デジタル・カート1410内の品目1306に関連付けられた品目識別子を使用して、各品目1306について品目重量を検索してもよい。
【0177】
ステップ1718において、追跡システム100は、デジタル・カート1410からの品目1306であって、重量増加量に最もよく一致する品目重量をもつものを識別する。たとえば、追跡システム100は、重量センサー110によって測定された重量増加量を、デジタル・カート1410内の各品目1306に関連付けられた品目重量と比較することができる。次いで、追跡システム100は、どの品目1306が重量増加量に最もよく一致する品目重量に対応するかを識別することができる。
【0178】
場合によっては、追跡システム100は、重量センサー110上での測定された重量増加量に一致する重量の、識別された人のデジタル・カート1410内の品目1306を識別することができない。この場合、追跡システム100は、デジタル・カート1410内の品目1306のそれぞれについて品目1306が置かれた確率を決定することができる。確率は、個々の品目重量および重量増加量に基づいてもよい。たとえば、重量増加量により近い個別の重量を有する品目1306は、重量増加量からより遠い個別の重量を有する品目1306よりも高い確率に関連付けられる。
【0179】
いくつかの例において、確率は、人とラック112との間の距離の関数である。この場合、人のデジタル・カート1410内の品目1306に関連付けられる確率は、品目1306が戻されたラック112に、その人がどれだけ近いかに依存する。たとえば、デジタル・カート1410内の品目1306に関連付けられる確率は、人とラック112との間の距離に反比例しうる。換言すれば、人がラック112から離れるにつれて、その人のデジタル・カート1410内の品目に関連付けられる確率は低下する。追跡システム100は、置かれた品目1306である確率が最も高い品目1306を識別することができる。
【0180】
場合によっては、追跡システム100は、ラック112に関連付けられたあらかじめ定義されたゾーン1808内に複数の人がいるときに、複数の人のデジタル・カート1410内にある品目1306を考慮してもよい。たとえば、追跡システム100は、ラック112に関連付けられたあらかじめ定義されたゾーン1808内に第2の人物がいることを判別してもよい。この例では、追跡システム100は、各人のデジタル・カート1410から、ラック112に戻された品目1306に対応しうる品目1306を識別し、ラック112に戻された品目1306に最も近い品目重量を有する品目1306を選択する。たとえば、追跡システム100は、第2の人物と関連付けられている第2のデジタル・カート1410内の品目1306について品目重量を識別する。追跡システム100は、重量増加量に最も近い品目重量を有する第2のデジタル・カート1410からの品目1306を識別する。追跡システム100は、第1の人物1802のデジタル・カート1410からの第1の識別された品目1306と重量増加量との間の第1の重量差、および、第2の人物の第2のデジタル・カート1410からの第2の識別された品目1306との間の第2の重量差を決定する。この例では、追跡システム100は、第1の重量差が第2の重量差より小さいと判断してもよく(これは、第1の人物のデジタル・カート1410内で識別された品目1306が重量増加量に最もよく一致することを示す)、次いで、そのデジタル・カート1410から第1の識別された品目1306を除去する。
【0181】
追跡システム100が、ラック112に戻された可能性が最も高い品目1306と、品目1306を戻した人とを識別した後、追跡システム100は、その人のデジタル・カート1410から品目1306を除去する。ステップ1720において、追跡システム100は、識別された品目1306を識別された人のデジタル・カート1410から除去する。ここで、追跡システム100は、デジタル・カート1410から、識別された品目1306に関連付けられた情報を破棄する。このプロセスは、買い物客が品目1306をその正しい位置に戻すかどうかにかかわらず、買い物客がラック112に戻した品目1306について課金されないことを保証する。
【0182】
自動除外ゾーン(Auto-exclusion zone)
空間102内の人の動きを追跡するために、追跡システム100は、一般に、人(すなわち、目標オブジェクト)と他のオブジェクト(すなわち非目標オブジェクト)、たとえば、ラック112、ディスプレイ、および空間102内の他の任意の人間でないオブジェクトとを区別することができるべきである。そうでなければ、追跡システム100は、これらの非目標オブジェクトを検出して追跡しようとして、メモリおよび処理資源を浪費することがありうる。本開示の他の箇所に(たとえば、
図24~
図26および以下の対応する説明において)記載されているように、場合によっては、人は、一組の画像フレーム(たとえば、ビデオ)内の一つまたは複数の輪郭を検出し、フレーム間での該輪郭の動きをモニターすることによって、追跡されうる。輪郭は、一般に、画像内の人物の表現のエッジに関連する曲線である。追跡システム100は、人を追跡するために輪郭を検出することができるが、場合によっては、人(たとえば、または他の目標オブジェクト)に対応する輪郭と、非目標オブジェクト、たとえばラック112、標識、製品ディスプレイ等のような非目標オブジェクトに関連する輪郭とを区別することが困難なことがある。
【0183】
たとえセンサー108が設置時に非目標オブジェクトの存在を考慮するように較正されていたとしても、多くの場合、空間102内で追跡されるべきではない非目標オブジェクトの位置の変化を考慮するようにセンサー108を、信頼性よくかつ効率的に再較正することは困難でありうる。たとえば、ラック112、標識、製品ディスプレイ、または空間102内の他の家具またはオブジェクトが追加される、除去される、または移動される場合(たとえば、頻繁に発生する可能性があり、警告なしにおよび/または意図せずして発生する可能性があるすべての活動)、一つまたは複数のセンサー108は、再較正または調整を必要としすることがある。この再較正または調整なしでは、空間102内の人を確実に追跡することは困難または不可能である。この開示以前には、信頼性のある追跡を提供する仕方で、センサー108のようなセンサーを効率的に再較正および/または調整するためのツールが不足していた。
【0184】
本開示は、これまで認識されていなかった上述の問題(たとえば、時間とともに変化しうる空間102内の人々の追跡に関する問題)の認識を含むだけでなく、これらの問題に対する独特の解決策をも提供する。本開示に記載されているように、人々が追跡される前の初期の時間期間中に、各センサー108からのピクセル領域であって、その後の追跡中に除外されるべきでものが決定されうる。たとえば、初期の時間期間中は、空間102は、いかなる人も含まなくてもよい。よって、各センサー108によって検出される輪郭は、追跡が望まれない、空間内の非目標オブジェクトのみに対応する。よって、ピクセル領域、すなわち「自動除外ゾーン」は、オブジェクトの検出および追跡に使用されない、センサー108によって生成される各画像の部分(たとえば、追跡されるべきでない輪郭のピクセル座標)に対応する。たとえば、自動除外ゾーンは、非目標オブジェクトに関連する、画像において検出された輪郭、センサーの視野のエッジにおいて見かけ上検出された輪郭等に対応しうる。自動除外ゾーンは、追跡システム100の有用性および性能を改善するために、任意の所望のまたは適切な時間間隔で自動的に決定できる。
【0185】
自動除外ゾーンが決定された後、追跡システム100は、空間102内の人を追跡することに進んでもよい。自動除外ゾーンは、人を追跡するために各センサー108によって使用されるピクセル領域を制限するために使用される。たとえば、自動除外ゾーンに対応するピクセルは、追跡中に追跡システム100によって無視されてもよい。場合によっては、検出された人物(たとえば、または他の目標オブジェクト)が、一つまたは複数の自動除外ゾーンと近接または部分的に重複していてもよい。これらの場合、追跡システム100は、潜在的な目標オブジェクトの位置が自動除外ゾーンと重複する程度に基づいて、目標オブジェクトが追跡されるかどうかを決定することができる。これは、空間102内の人物追跡中の非目標オブジェクトの偽陽性検出を低減または解消する一方で、そうでなければ非目標オブジェクトを追跡しようとして費やされるであろう無駄な処理資源を低減することによって、追跡システム100の効率を改善することができる。いくつかの実施形態において、空間102のマップは、追跡中に除外される物理的領域を提示するように生成されてもよい(すなわち、空間の物理的座標における自動除外ゾーンの表現を示すマップ)。そのようなマップは、たとえば、人が空間102の適当な部分において追跡されることができることを管理者が視覚的に確認することを許容することによって、追跡システムのトラブルシューティングを容易にしうる。
【0186】
図19は、自動除外ゾーン1910、1914の決定、およびその後の、空間102内の人(たとえば、または他の目標オブジェクト)の改善された追跡のためのこれらの自動除外ゾーン1910、1914の使用を示す。一般に、初期の時間期間(t<t
0)の間は、トップビュー画像フレームが、センサー108からクライアント105および/またはサーバー106によって受領され、自動除外ゾーン1910、1914を決定するために使用される。たとえば、t<t
0での初期時間期間は、誰も空間102内にいない時間に対応しうる。たとえば、空間102が、1日の一部の間に一般に開放されている場合、初期の時間期間は、その空間102が一般に開放される前であってもよい。いくつかの実施形態において、サーバー106および/またはクライアント105は、自動除外ゾーン1910、1914が識別されるために、空間102に人(たとえば、または追跡されるべき他の目標オブジェクト)がないようにするべきであることを示して、たとえばアラートを提供したり、信号を送信したりしてもよい。いくつかの実施形態では、ユーザーが、すぐに、または将来の一つまたは複数の所望される時点において(たとえば、スケジュールに基づいて)、自動除外ゾーン1910、1914の決定を開始するコマンドを(たとえば、サーバー106および/またはクライアント105に結合された任意の適切なインターフェースを介して)入力してもよい。
【0187】
自動除外ゾーン1910、1914を決定するために使用される例示的なトップビュー画像フレーム1902が
図19に示されている。画像フレーム1902は、第1のオブジェクト1904の表現(たとえば、ラック112)および第2のオブジェクト1906の表現を含む。たとえば、第1のオブジェクト1904はラック112であってもよく、第2のオブジェクト1906は、製品ディスプレイまたは空間102内の任意の他の非目標オブジェクトであってもよい。いくつかの実施形態において、第2のオブジェクト1906は、空間内の実際のオブジェクトに対応しなくてもよいが、空間102における照明および/またはセンサーエラーのために、異常に検出されることがありうる。各センサー108は、一般に、初期の時間期間中に少なくとも1つのフレーム1902を生成し、これらのフレーム1902は、センサー108について対応する自動除外ゾーン1910、1914を決定するために使用される。たとえば、センサー・クライアント105は、トップビュー画像1902を受領し、ビュー1908に示されるように、自動除外ゾーン1910、1914に対応する輪郭(すなわち、ゾーン1910、1914のまわりの破線)を検出してもよい。自動除外ゾーン1910、1914の輪郭は、概して、画像1902内のオブジェクト1904、1906の境界(たとえば、エッジ)に沿って延びる曲線に対応する。ビュー1908は、概して、自動除外ゾーン1910、1914に対応する検出された輪郭が示されているが、それぞれ対応するオブジェクト1904、1906は示されていない画像1902の提示に対応する。色および深さデータを含む画像フレーム1902については、自動除外ゾーン1910、1914の輪郭は、画像1902内の色データに基づいて所定の深さ(たとえば、センサー108からの距離)において決定されてもよい。たとえば、色値の急な勾配は、オブジェクトのエッジに対応し、輪郭を決定または検出するために使用されてもよい。たとえば、自動除外ゾーン1910、1914の輪郭は、キャニー(Canny)エッジ検出、閾値ベース検出などの任意の適切な輪郭またはエッジ検出方法を用いて決定されうる。
【0188】
クライアント105は、自動除外ゾーン1910および1914の位置にそれぞれ対応するピクセル座標1912および1916を決定する。ピクセル座標1912、1916は、一般に、追跡中に除外されるべき画像フレーム1902内の位置(たとえば、行および列番号)に対応する。一般に、ピクセル座標1912、1916に関連するオブジェクトは、追跡システム100によって追跡されない。さらに、自動除外ゾーン1910、1914の外側で検出されるある種のオブジェクトは、ある種の条件下では追跡されなくてもよい。たとえば、オブジェクトの位置(たとえば、ビュー1914に関して後述する領域1920に関連する位置)が、自動除外領域1910、1914と少なくとも閾値量、重複する場合、オブジェクトは追跡されなくてもよい。これは、追跡システム100(すなわち、またはセンサー108またはセンサー108のサブセットに関連するローカルクライアント105)が、非目標オブジェクトを不必要に追跡しようとすることを防止する。場合によっては、自動除外ゾーン1910、1914は、センサー108の視野内の非目標(たとえば、無生物)オブジェクト(たとえば、輪郭1910に関連するラック112)に対応する。しかしながら、自動除外ゾーン1910、1914は、センサー108によって検出された(たとえば、センサーエラー、一貫しない照明などによって引き起こされた)他の異常な(aberrant)特徴または輪郭にも対応していても良く、または代替的に対応していてもよい。
【0189】
追跡中に除外するべきピクセル座標1912、1916の決定に続いて、t>t
0に対応するその後の時間期間中にオブジェクトが追跡されうる。追跡中に生成された例示的な画像フレーム1918が
図19に示されている。フレーム1918では、領域1920は、目標オブジェクトであってもなくてもよいものに対応する可能性があるとして検出される。たとえば、領域1920は、フレーム1902内で検出された輪郭に基づいて生成されたピクセル・マスクまたはバウンディングボックスに対応してもよい。たとえば、ピクセル・マスクは、輪郭内部の領域を満たすように生成されてもよく、バウンディングボックスは、輪郭を包含するように生成されてもよい。たとえば、ピクセル・マスクは、対応する輪郭内のピクセル座標を含んでいてもよい。たとえば、自動除外ゾーン1910のピクセル座標1912は、自動除外ゾーン1910をオーバーレイするまたは「埋める」マスクに実質的に対応しうる。領域1920の検出に続いて、クライアント105は、領域1920が、追跡されるべき目標オブジェクトに対応するか、または、領域1920を非目標オブジェクトに関連しているとみなすために十分、自動除外ゾーン1914と重なっているかを判定する。たとえば、クライアント105は、ピクセル座標1916の少なくともある閾値割合が領域1920のピクセル座標と重複する(たとえば、同じである)かどうかを判定してもよい。これらのピクセル座標の重複領域1922は、フレーム1918に示されている。たとえば、閾値割合は、約50%以上であってもよい。いくつかの実施形態において、閾値割合は、約10%の小ささであってもよい。ピクセル座標の前記少なくとも閾値割合が重複すると判定することに応答して、クライアント105は、一般に、領域1920に関連するオブジェクトを追跡するためのピクセル位置を決定しない。しかしながら、重複1922が閾値割合未満に対応する場合は、領域1920に関連するオブジェクトは、以下(たとえば、
図24~
図26に関して)にさらに説明されるように、追跡される。
【0190】
上述のように、センサー108は、隣接するセンサー108が重複する視野を有するように配置されてもよい。たとえば、隣接するセンサー108の視野は、約10%~30%重複してもよい。よって、同じオブジェクトが、2つの異なるセンサー108によって検出されることがあり、各センサー108について決定される固有の自動除外ゾーンに基づいて、各センサー108から受領される画像フレームにおける追跡に含まれるか、または除外される。これは、たとえ1つのセンサー108が大きな自動除外ゾーンを有する場合(すなわち、センサー108によって生成される画像フレーム内のピクセル座標の大きな割合が追跡から除外される場合)であっても、以前に可能であったよりも信頼性の高い追跡を容易にすることができる。よって、1つのセンサー108が故障した場合でも、隣接するセンサー108が、空間102における適切な追跡を提供することができる。
【0191】
領域1920が目標オブジェクト(すなわち、空間102内で追跡するべき人)に対応する場合、追跡システム100は、領域1920を追跡することに進む。追跡の例示的な方法は、
図24~
図26に関して以下でより詳細に説明される。いくつかの実施形態では、サーバー106は、ピクセル座標1912、1916を使用して、対応する物理的座標(たとえば、以下に説明される
図20に示される座標2012、2016)を決定する。たとえば、クライアント105は、センサー108の局所的な自動除外ゾーン1910、1914に対応するピクセル座標1912、1916を決定し、これらの座標1912、1916をサーバー106に送信してもよい。
図20に示されるように、サーバー106は、センサー108から受け取ったピクセル座標1912、1916を使用して、対応する物理的座標2010、2016を決定してもよい。たとえば、所与のセンサー108によって生成された画像内のピクセル座標(たとえば、座標1912、1916)を空間102内の対応する物理的座標(たとえば、座標2012、2016)に関連付ける、各センサー108について生成されたホモグラフィー(
図2~
図7および上述の対応する説明を参照)を使用して、除外されるピクセル座標1912、1916(
図19の)を空間102内の除外される物理的座標2012、2016に変換してもよい。これらの除外される座標2010、2016は、他のセンサー108からの他の座標とともに使用されて、
図20に示されている空間102のグローバルな自動除外ゾーン・マップ2000を生成することができる。このマップ2000は、たとえば、オブジェクトが追跡されうる(およびされなくてもよい)空間102の物理的領域2002の定量化、識別、および/または検証を容易にすることによって、追跡システム100のトラブルシューティングを容易にしうる。これは、管理者または他の個人が、オブジェクトが空間102の適切な部分において追跡できることを視覚的に確認することを許容しうる。領域2002が空間102の既知の高トラフィック・ゾーンに対応する場合、システム・メンテナンスが適切であり得る(これはたとえば、追加のセンサー108の交換、調整、および/または追加を含みうる)。
【0192】
図21は、自動除外ゾーン(たとえば、
図19のゾーン1910、1914)を生成および使用するための例示的方法2100を示すフローチャートである。方法2100は、ステップ2102で開始してもよく、ここでは、一つまたは複数の画像フレーム1902が、初期の時間期間中に受領される。上述のように、初期の時間期間は、誰も空間102内を動いていない時、または誰も画像フレーム1902の受信元の一つまたは複数のセンサー108の視野内にいない時の時間区間に対応しうる。典型的な実施形態では、一つまたは複数の画像フレーム1902が、一般に、追跡システム100の各センサー108から受領され、それにより、各センサー108について除外すべき局所領域(たとえば、自動除外ゾーン1910、1914)が決定されうる。いくつかの実施形態では、自動除外ゾーン1910、1914を検出するために、単一の画像フレーム1902が各センサー108から受領される。しかしながら、他の実施形態では、複数の画像フレーム1902が各センサー108から受領される。複数の画像フレーム1902を使用して、各センサー108について自動除外ゾーン1910、1914を識別することにより、追跡中に無視または除外されるべきピクセル座標(たとえば、
図19の座標1912、1916)に対応する見かけ上の輪郭または他の異状の検出が改善されうる。
【0193】
ステップ2104では、輪郭(たとえば、
図19の自動除外ゾーン1910、1914に対応する破線の輪郭線)が、ステップ2102で受領された一つまたは複数の画像フレーム1902において検出される。任意の適切な輪郭検出アルゴリズムを使用することができ、これには、キャニー(Canny)エッジ検出、閾値ベースの検出などに基づくアルゴリズムが含まれるが、これらに限定されない。いくつかの実施形態において、本開示に記載される独特な輪郭検出アプローチが使用されてもよい(たとえば、
図22および
図23などに関して以下に記載されるように、視野内の近接した輪郭を区別するために)。ステップ2106では、ピクセル座標(たとえば、
図19の座標1912、1916)が、(ステップ2104からの)検出された輪郭について決定される。座標は、たとえば、検出された輪郭をオーバーレイするピクセル・マスクに基づいて決定されてもよい。ピクセル・マスクは、たとえば、輪郭内のピクセルに対応しうる。いくつかの実施形態では、ピクセル座標は、輪郭について決定されたバウンディングボックス内のピクセル座標に対応する(たとえば、以下に説明される
図22に示されるように)。たとえば、バウンディングボックスは、検出された輪郭を包含する領域を有する矩形ボックスであってもよい。ステップ2108では、ピクセル座標が記憶される。たとえば、クライアント105は、自動除外ゾーン1910、1914に対応するピクセル座標をメモリ(たとえば、後述する
図38のメモリ3804)に記憶することができる。上述のように、ピクセル座標は、サーバー106にも送信されてもよく、または代替的にサーバー106に送信されてもよい(たとえば、
図20の例に示されるように、空間のマップ2000を生成するために)。
【0194】
ステップ2110では、クライアント105は、追跡が実行されるその後の時間の間(すなわち、自動除外ゾーンに対応するピクセル座標がステップ2108で記憶された後)、画像フレーム1918を受領する。フレームは、センサー108から受領され、空間102内のオブジェクトの表現を含む。ステップ2112では、ステップ2110で受領されたフレーム内で、輪郭が検出される。たとえば、輪郭は、フレーム1902において表されるオブジェクトのエッジに沿った曲線に対応しうる。ステップ2106で決定されたピクセル座標は、輪郭検出中に除外されてもよい(または使用されなくてもよい)。たとえば、ステップ2106で決定されたピクセル座標では画像データは無視および/または除去されてもよく(たとえば、ゼロの値、または色等価物が与えられる)、その結果、これらの座標では輪郭が検出されない。場合によっては、これらの座標の外側で輪郭が検出されてもよい。場合によっては、部分的にはこれらの座標の外部であるが、部分的にはこれらの座標と重複する輪郭が検出されてもよい(たとえば、
図19の画像1918に示されているように)。
【0195】
ステップ2114では、クライアント105は、一般に、検出された輪郭が、ステップ2106で決定された自動除外ゾーン1910、1914のピクセル座標と十分に重複するピクセル位置を有するかどうかを判定する。座標が十分に重複する場合、輪郭または領域1920(すなわち、および関連するオブジェクト)は、フレームにおいて追跡されない。たとえば、上述のように、クライアント105は、検出された輪郭または領域1920が、ピクセル座標に関連する領域と少なくともある閾値割合(たとえば、50%)重なるかどうかを判定してもよい(たとえば、
図19の重複領域1922を参照)。ステップ2114の基準が満たされる場合、クライアント105は、一般に、ステップ2116において、ステップ2112で検出された輪郭についてのピクセル位置を決定しない。よって、ピクセル位置はサーバー106に報告されず、それにより、追跡が所望される目標オブジェクトでない場合にオブジェクトを追跡しようとすることに関連する処理資源の無駄を削減または解消する。
【0196】
そうではなく、ステップ2114の基準が満たされる場合には、クライアント105は、ステップ2118において輪郭または領域1920のピクセル位置を決定する。輪郭からピクセル位置を決定することは、たとえば、(i)輪郭に関連する領域1920(たとえば、ピクセル・マスクまたはバウンディングボックス)を決定すること、および(ii)ピクセル位置として領域の重心または他の特徴的位置を決定することを含みうる。ステップ2120において、決定されたピクセル位置は、本開示の他の箇所で(たとえば、
図24~
図26に関して)記載されているように、たとえば、所定のホモグラフィーを使用して、グローバル追跡を容易にするために、サーバー106に送信される。たとえば、サーバー106は、決定されたピクセル位置を受領し、ステップ2110でのフレームの受信元のセンサー108によって生成された画像におけるピクセル座標を、空間102内の物理的座標に関連付けるホモグラフィーにアクセスし、該ホモグラフィーをピクセル座標に適用して、ステップ2112で検出された輪郭に関連付けられた追跡されるオブジェクトについて対応する物理的座標を生成することができる。
【0197】
図21に示される方法2100に対して修正、追加、または省略が行われてもよい。方法2100は、より多くの、より少ない、または他のステップを含んでいてもよい。たとえば、ステップは、並列で、または任意の適切な順序で実行されうる。追跡システム100、クライアント105、サーバー106、またはそれらのいずれかの構成要素がステップを実行するものとして論じられることがあるが、任意の適切なシステムまたはシステムの構成要素が、本方法の一つまたは複数のステップを実行することができる。
【0198】
近接した人の輪郭ベースの検出
場合によっては、2人の人が互いに近接していて、従来のツールを使用して各人物(たとえば、または他の目標オブジェクト)を確実に検出および/または追跡することが困難または不可能になる。場合によっては、人は、ほぼ腰の深さ(すなわち、追跡される平均的な人の腰の高さに対応する深さ)における深さ(depth)画像を使用して、初期に検出され追跡されうる。ほぼ腰の深さで追跡を行うことは、身長や移動モードに関係なく、すべての人をより効果的に撮影しうる。たとえば、人をほぼ腰の深さで検出し追跡することによって、追跡システム100は、背の高いおよび背の低い個人ならびに代替的な移動方法(たとえば、車椅子など)を使用していることがありうる個人を検出する可能性が高い。しかしながら、似通った身長の2人の人が互いに近くに立っていると、ほぼ腰の深さでのトップビュー画像において2人を区別することが困難になることがある。追跡システム100は、2人の別個の人を検出する代わりに、初期には、それらの人を単一の、より大きなオブジェクトとして検出することがありうる。
【0199】
本開示は、減少した深さ(depth)(すなわち、人の頭により近い深さ)では、人々がより容易に区別されうるという認識を包含する。なぜなら、人々の頭部は、減少した深さにおいて画像化される可能性が高まり、頭部はより小さく、単一の合併した領域(または、後に詳述するように、輪郭)として検出される可能性が低くなるからである。別の例として、2人が互いに近くに立って(たとえば、手をついないで)空間102に入る場合、両名は単一の、より大きなオブジェクトであるように見えることがある。追跡システム100は、初期に2人の人を1人として検出することがあるので、これらの人が空間102内で分かれる場合、これらの人を適切に識別することが困難であることがある。さらに別の例として、一時的に近くに立っている2人の人が、瞬間的に「失われる」か、または単一の、より大きなオブジェクトとしてのみ検出される場合、互いに分離した後に、それらの人を正確に特定することは困難である。
【0200】
本開示の他の箇所で(たとえば、
図19~
図21および
図24~
図26に関して)記載されているように、人(たとえば、上述の例示的なシナリオにおける人)は、センサー108によって生成されたトップビュー画像フレーム内の輪郭を検出し、これらの輪郭の位置を追跡することによって追跡されうる。しかしながら、2人の人が近接している場合には、単一のマージされた輪郭(後述する
図22のマージされた輪郭2220を参照)が、両名のトップビュー画像において検出されることがある。この単一の輪郭は、一般に、各人を個別に追跡するために使用することができず、その結果、追跡中にかなりの下流エラーが生じる。たとえば、たとえ2人の人が近接していた後に離れたとしても、以前のツールを使うのでは、どちらの人物がどちらであったかを判別することは困難または不可能であることがあり、2人が離れた後では、各人の素性がわからなくなることがある。本開示以前には、上述の例示的なシナリオおよび他の類似の状況の下で、人々(たとえば、および他の目標オブジェクト)を検出するための信頼できるツールがなかった。
【0201】
本開示に記載されたシステムおよび方法は、近接した人の改良された検出を容易にすることによって、従来の技術に改良を提供する。たとえば、本開示に記載されるシステムおよび方法は、人々に関連付けられた輪郭が普通ならマージされ、その結果、従来の検出戦略を使用すると単一の個人が検出されるであろう場合に、個々の人々の検出を容易にしうる。いくつかの実施形態では、改良された輪郭検出は、異なる深さ(たとえば、少なくとも2つの深さ)で輪郭を検出することによって達成され、追跡のために使用される第1の深さで検出される、より大きなマージ〔併合〕された輪郭内で、第2の深さで別々の輪郭を識別する。たとえば、2人の人が互いに近接して立っており、輪郭がマージされて単一の輪郭を形成する場合、2人の近接した人の頭部に関連する別々の輪郭が、両名の頭部に関連する深さで検出されうる。いくつかの実施形態では、独特の統計的アプローチを使用して、低い類似性値を有する検出された輪郭についてのバウンディング領域を選択することによって、2人の間を区別することができる。いくつかの実施形態では、検出された輪郭が別々の人に対応することを保証し、それにより、以前に可能であったよりも信頼性の高い人(たとえば、または他の目標オブジェクト)の検出を提供するために、ある種の基準が満たされる。たとえば、ほぼ頭の深さで検出された2つの輪郭は、それらの輪郭がその後の追跡に使用されるためには、閾値サイズ範囲内であることが要求されてもよい。いくつかの実施形態では、異なる深さでのトップビュー画像を解析することによって、近接している別個の人を検出するために、人工ニューラルネットワークが使用されてもよい。
【0202】
図22は、追跡システム100を用いてセンサー108a、bから受領したトップビュー深さ画像2212および傾斜視画像2214に基づいて、2つの近接した人2202、2204の検出を示す図である。ある実施形態では、センサー108a、bはそれぞれ、
図1に関して上述した追跡システム100のセンサー108のうちの1つであってもよい。別の実施形態では、センサー108a、bはそれぞれ、参照により本明細書に組み込まれる「顧客ベースのビデオフィード」(代理人整理番号090278.0187)と題する米国特許出願第__号に記載されているような、別個の仮想記憶システムのセンサー108(たとえば、レイアウト・カメラおよび/またはラック・カメラ)のうちの1つであってもよい。この実施形態では、追跡システム100のセンサー108は、ホモグラフィーを使用して仮想記憶システムのセンサー108にマッピングされてもよい。さらに、この実施形態は、追跡システム100と仮想記憶システムとの間のホモグラフィーを使用して、仮想記憶システムのセンサー108から、各人の相対位置および識別子を取り出すことができる。一般に、センサー108aは、空間102の少なくとも一部のトップビュー深さ画像2212(たとえば、色および/または深さ画像)を生成するように構成されたオーバーヘッド・センサーである。センサー108aは、たとえば、空間102の天井に取り付けられてもよい。センサー108aは、
図22に示される深さ2210a~2210cを含むが、それに限定されない複数の深さに対応する画像データを生成してもよい。深さ2210a~2210cは、一般に、センサー108aから測定された距離である。各深さ2210a~2210cは、対応する高さ(たとえば、人2202、2204が検出および/または追跡される空間102の床からの高さ)に関連付けられてもよい。センサー108aは視野2208aを観察する。センサー108aによって生成されるトップビュー画像2212は、センサー・クライアント105aに送信されてもよい。センサー・クライアント105aは、センサー108aおよびサーバー106と通信上結合される(たとえば、有線接続を介してまたはワイヤレスに)。サーバー106は、
図1に関して上述されている。
【0203】
この例では、センサー108bは、空間102の少なくとも一部の傾斜視画像2214(たとえば、色および/または深さ画像)を生成するように構成された傾斜視センサーである。センサー108bは、センサー108aの視野2208aの少なくとも一部と重複する視野2208bを有する。傾斜視センサー108bによって生成された傾斜視画像2214は、センサー・クライアント105bに送信される。センサー・クライアント105bは、
図1に関して上述したクライアント105であってもよい。
図22の例において、センサー108a、bは、異なるセンサー・クライアント105a、bに結合される。しかしながら、同じセンサー・クライアント105が両方のセンサー108a、bに使用されてもよい(たとえば、クライアント105a、bが同じクライアント105となる)ことを理解しておくべきである。場合によっては、センサー108a、bのための異なるセンサー・クライアント105a、bの使用は、改善された性能を提供しうる。たとえクライアント105a、bの1つが故障したとしても、視野2208a、bによって共有される領域のための画像データは依然として取得されうるからである。
【0204】
図22に示された例示的なシナリオでは、人2202、2204は、通常のオブジェクト検出ツールが個々の人2202、2204を検出できないほど(たとえば、人2202、2204が別個のオブジェクトとして検出されなかったであろう)、互いに十分に近接して位置している。この状況は、たとえば、人2202、2204の間の距離2206aが閾値距離2206b(たとえば、約6インチ)未満であることに対応しうる。閾値距離2206bは、一般に、システム100について決定された任意の適切な距離でありうる。たとえば、閾値距離2206bは、システム2200および検出される人2202、2204のいくつかの特性に基づいて決定されてもよい。たとえば、閾値距離2206bは、人2202、2204からのセンサー108aの距離、人物2202、2204のサイズ、視野2208aのサイズ、センサー108aの感度などのうちの一つまたは複数に基づいていてもよい。よって、閾値距離2206bは、追跡システム100のこれらおよび他の特性に依存して、ゼロインチをわずかに超えるものから6インチを超えるものまでの範囲でありうる。人2202、2204は、個人がセンサー108a、bからのデータ(すなわち、トップビュー画像2212および/または傾斜視画像2214)に基づいて検出および/または追跡することを望みうる任意の目標オブジェクトでありうる。
【0205】
センサー・クライアント105aは、センサー108aから受領されたトップビュー画像2212の輪郭を検出する。典型的には、センサー・クライアント105aは、初期の深さ2210aで輪郭を検出する。初期の深さ2210aは、たとえば、人2202、2204を空間102を通じて検出および/または追跡するために確立された所定の高さ(たとえば、地面からの高さ)に関連付けられてもよい。たとえば、人間を追跡するために、初期の深さ2210aは、空間102内を移動することが期待される人々の平均的な肩または腰の高さ(たとえば、空間102を通過する背の高い人および背の低い人の両方についての表現を捕捉する可能性が高い深さ)に関連付けられてもよい。センサー・クライアント105aは、センサー108aによって生成されたトップビュー画像2212を使用して、第1の人2202に関連付けられた第1の輪郭2202aが第2の人2204に関連付けられた第2の輪郭2204aとマージされる時に対応するトップビュー画像2212を識別してもよい。ビュー2216は、これらの輪郭2202a、2204aがマージする前の時点(すなわち、第1、第2の人2202、2204が互いの閾値距離2206b以内にある時(tclose)より前)における輪郭2202a、2204aを示している。ビュー2216は、センサー108aから受領されたトップビュー画像2212において検出された輪郭(たとえば、図示しない、画像内の他のオブジェクトもある)のビューに対応する。
【0206】
後続のビュー2218は、人物2202、2204が近接して配置され、第1および第2の輪郭2202a、2204aがマージされて、マージされた輪郭2220を形成するときの、t
closeにおけるまたはその近くでの画像2212に対応する。センサー・クライアント105aは、画像座標におけるマージされた輪郭2220の「サイズ」(たとえば、輪郭2220に関連付けられたピクセルの数)に対応する領域2222を決定してもよい。たとえば、領域2222は、輪郭2220について決定されたピクセル・マスクまたはバウンディングボックスに対応してもよい。ピクセル・マスクおよびバウンディングボックスを決定するための例示的なアプローチは、
図21のステップ2104に関して上述されている。たとえば、領域2222は、非最大抑制オブジェクト検出アルゴリズムを使用して、輪郭2220のために決定されたバウンディングボックスであってもよい。たとえば、センサー・クライアント105aは、輪郭2220に関連する複数のバウンディングボックスを決定することができる。各バウンディングボックスについて、クライアント105aはスコアを計算することができる。たとえば、スコアは、そのバウンディングボックスが他のバウンディングボックスと類似している程度を表してもよい。センサー・クライアント105aは、閾値(たとえば、80%以上)より大きいスコアを有するバウンディングボックスのサブセットを識別し、この識別されたサブセットに基づいて領域2222を決定してもよい。たとえば、領域2222は、最も高いスコアを有するバウンディングボックス、または閾値を超えるスコアを有するバウンディングボックスによって共有される領域を含むバウンディングであってもよい。
【0207】
個々の人2202および2204を検出するために、センサー・クライアント105aは、減少した深さでの(すなわち、深さ2212bおよび2212cの一方または両方での)画像2212にアクセスしてもよく、このデータを使用して、ビュー2224に示されている別個の輪郭2202b、2204bを検出してもよい。換言すれば、センサー・クライアント105aは、別個の人2202、2204を検出するために、画像2212内の人2202、2204の頭部により近い深さでの画像2212を解析することができる。いくつかの実施形態では、減少した深さは、空間102において追跡システム100によって検出されることが期待される人の平均的または所定の頭の高さに対応しうる。いくつかの場合には、輪郭2202b、2204bは、人2202、2204の両方について、減少した深さのところで検出されうる。
【0208】
しかしながら、他の場合には、センサー・クライアント105aは、前記減少した深さのところで両方の頭を検出しないことがある。たとえば、小児と成人が近接している場合、減少した深さのところには(たとえば、深さ2210bでは)成人の頭部のみが検出されうる。このシナリオでは、センサー・クライアント105aは、子供の頭部を検出するために、わずかに増加した深さ(たとえば、深さ2210c)に進んでもよい。たとえば、そのようなシナリオでは、センサー・クライアント105aは、2つの別個の輪郭2202b、2204b(たとえば、上述の例では、成人および子供の両方についてのもの)を検出するために、深さを前記減少した深さから、初期の深さ2210aに向かって逐次反復的に増大させる。たとえば、深さは、まず深さ2210bまで減少され、深さ2210bでは輪郭2202bおよび2204bの両方は検出されない場合、次いで深さ2210cまで増加されてもよい。この逐次反復プロセスは、
図23の方法2300に関して以下により詳細に説明される。
【0209】
本開示の他の箇所に記載されているように、場合によっては、追跡システム100は、各追跡対象者に関連付けられている特徴または記述子のレコードを維持してもよい(たとえば、後述する
図30を参照)。よって、センサー・クライアント105aは、このレコードにアクセスして、マージされた輪郭2220と関連する可能性が高い人2202、2204と関連する固有の深さを決定することができる。たとえば、深さ2210bは、人2202の既知の頭部高さに関連付けられてもよく、深さ2212cは、人2204の既知の頭部高さに関連付けられてもよい。
【0210】
ひとたび輪郭2202bおよび2204bが検出されると、センサー・クライアントは、輪郭2202bのピクセル座標2202dに関連する領域2202cおよび輪郭2204bのピクセル座標2204dに関連する領域2204cを決定する。たとえば、領域2222に関して上述したように、領域2202cおよび2204cは、それぞれ、対応する輪郭2202b、2204bに基づいて生成されるピクセル・マスクまたはバウンディングボックスに対応してもよい。たとえば、輪郭2202b、2204b内部の領域を「埋める」ようにピクセル・マスクが生成されてもよく、または輪郭2202b、2204bを包含するバウンディングボックスが生成されてもよい。ピクセル座標2202d、2204dは、一般に、領域2202c、2204c内のピクセルの位置(たとえば、行および列)のセットに対応する。
【0211】
いくつかの実施形態において、近接している人2202および2204の間をより確実に区別し、関連する領域2202cおよび2204cを決定するために、独特のアプローチが採用される。これらの実施形態では、領域2202cおよび2204cは、本開示において「非最小抑制(non-minimum suppression)」として言及される独特な方法を使用して決定される。非最小抑制は、たとえば、輪郭2202b、2204bに関連するバウンディングボックスを決定することを含みうる(たとえば、当業者には理解されるような任意の適切なオブジェクト検出アルゴリズムを使用する)。各バウンディングボックスについて、スコアが計算されてもよい。非最大抑制に関して上述したように、スコアは、バウンディングボックスが他のバウンディングボックスと類似する程度を表してもよい。しかしながら、(たとえば、非最大抑制の場合のように)高いスコアのバウンディングボックスを識別するのではなく、(たとえば、約20%の)閾値未満のスコアをもつバウンディングボックスのサブセットが識別される。このサブセットは、領域2202c、2204cを決定するために使用されうる。たとえば、領域2202c、2204cは、識別されたサブセットの各バウンディングボックスによって共有される領域を含んでいてもよい。言い換えると、最小スコアを下回らないバウンディングボックスは「抑制」され、領域2202b、2204bを識別するために使用されない。
【0212】
輪郭2202b、2204bおよび/または関連する領域2202c、2204cに位置または素性〔アイデンティティ〕を割り当てる前に、センサー・クライアント105aは、まず、領域2202cを領域2204cから区別するための基準が満たされているかどうかをチェックしてもよい。基準は、概して、輪郭2202b、2204b(および/または関連する領域2202c、2204c)が、対応する人2202、2204の頭部と関連付けられるように、適切なサイズ、形状、および位置にされることを確実にするように設計される。これらの基準は、一つまたは複数の要件が含むことがある。たとえば、1つの要件は、領域2202c、2204cが(たとえば、約50%、たとえば、約10%の)閾値量以下だけ重複することでありうる。一般に、異なる人2202、2204の別々の頭部は、トップビュー画像2212内で重複すべきではない。もう一つの要件は、領域2202c、2204cが、マージされた輪郭領域2222内にある(たとえば、それによって境を定められる、たとえばそれによって包含される)ことであってもよい。この要件は、たとえば、頭部輪郭2202b、2204bが、マージされた輪郭2220の上方に適切に位置し、人2202、2204の頭部に対応することを確実にする。減少した深さで検出される輪郭2202b、2204bがマージされた輪郭2220内にない場合、これらの輪郭2202b、2204bは、マージされた輪郭2220に関連する人の頭部2202、2204に関連しない可能性が高い。
【0213】
一般に、基準が満たされる場合、センサー・クライアント105aは、領域2202cを人2202の第1のピクセル位置2202eに関連付け、領域2204cを人2204の第2のピクセル位置2204eに関連付ける。第1および第2のピクセル位置2202e、2204eのそれぞれは、一般に、画像2212内の対応する輪郭2202b、2204bの位置に関連する単一のピクセル位置(たとえば、行および列)に対応する。第1および第2のピクセル位置2202e、2204eは、ピクセル位置2226に含まれ、このピクセル位置2226は、サーバー106に送信されてもよい。たとえば、ホモグラフィー2230に基づいて(たとえば、センサー108aによって生成された画像2212内のピクセル座標を、空間102内の物理的座標に関連付ける、センサー108aについての、前に決定されたホモグラフィーを使用して)、対応する物理的(たとえば、グローバル)位置2228を決定するためである。
【0214】
上述のように、センサー108bは、センサー108aの視野2208aの少なくとも一部の傾斜視画像2214を生成するように位置され、構成される。センサー・クライアント105bは、第2のセンサー108bから傾斜視画像2214を受領する。空間102内の人2202、2204の異なる(たとえば、傾斜した)ビューのため、t
closeにおいて得られる傾斜視画像2214は、人2202、2204を区別するのに十分でありうる。
図22には、t
closeにおいて検出された輪郭2202d、2204dのビュー2232が示されている。センサー・クライアント105bは、第1の人2202に対応する輪郭2202fを検出し、輪郭2202fのピクセル座標2202hに関連する対応する領域2202gを決定する。センサー・クライアント105bは、第2の人2204に対応する輪郭2204fを検出し、輪郭2204fのピクセル座標2204hに関連する対応する領域2204gを決定する。輪郭2202f、2204fはマージせず、領域2202g、2204gは十分に分離されている(たとえば、それらは重なり合わない、および/または少なくとも最小ピクセル距離離れている)ので、センサー・クライアント105bは、領域2202gを、第1の人2202の第1のピクセル位置2202iに、領域2204gを、第2の人2204の第2のピクセル位置2204iに関連付けてもよい。第1および第2のピクセル位置2202i、2204iのそれぞれは、一般に、画像2214内の対応する輪郭2202f、2204fの位置に関連する単一のピクセル位置(たとえば、行および列)に対応する。ピクセル位置2202i、2204iは、ピクセル位置2234に含まれてもよく、該ピクセル位置2234は、人2202、2204の物理的位置2228を(たとえば、センサー108bによって生成された画像2214のピクセル座標を、空間102における物理的座標に関連付ける、センサー108bについての、前に決定されたホモグラフィーを使用して)決定するためにサーバー106に送信され得てもよい。
【0215】
追跡システム100の例示的な動作において、センサー108aは、空間102の少なくとも一部のトップビュー・カラー深さ画像を生成するように構成される。人2202および2204が互いの閾値距離以内にある場合、センサー・クライアント105aは、タイム・スタンプ(たとえば、t
close)に対応する画像フレーム(たとえば、ビュー2218に関連付けられた画像フレーム)を識別する。ここで、それぞれ第1の人物2202および第2の人物2204に関連付けられた輪郭2202a、2204aがマージされ、輪郭2220を形成している。(たとえば、ビュー2218と関連付けられた)識別された画像フレーム内の各人物2202および2204を検出するために、クライアント105aは、まず、第1の減少した深さ2210bにおいて、各人物2202、2204についての別々の輪郭を検出しようと試みてもよい。上述のように、深さ2210bは、空間102を通って移動する人の期待される頭の高さに関連するあらかじめ決定された高さであってもよい。いくつかの実施形態では、深さ2210bは、人2202の測定された高さおよび/または人2204の測定された高さに基づいてあらかじめ決定された深さであってもよい。たとえば、深さ2210bは、2人の人2202、2204の平均高さに基づいていてもよい。別の例として、深さ2210bは、人2202のあらかじめ決定された頭の高さに対応する深さであってもよい(
図22の例に示されるように)。深さ2210bにおいて2つの輪郭2202b、2204bが検出される場合、これらの輪郭は、上述のように、人2202、2204のピクセル位置2202e、2204eを決定するために使用されてもよい。
【0216】
深さ2210bにおいて1つの輪郭2202bのみが検出される場合(たとえば、1人の人2202、2204のみが深さ2210bにおいて検出されるのに十分に高い場合)、この輪郭2202bに関連付けられた領域は、対応する人のピクセル位置2202eを決定するために使用されてもよく、次の人は、増大した深さ2210cにおいて検出されてもよい。深さ2210cは、一般に、2210bより大きいが、深さ2210aより小さい。
図22の例示的な例では、深さ2210cは、人2204のあらかじめ決定された頭の高さに対応する。輪郭2204bが、深さ2210cで人2204について検出される場合、ピクセル位置2204eは、輪郭2204bに関連付けられたピクセル座標2204dに基づいて決定される(たとえば、上述の基準が満たされるという判別に続いて)。輪郭2204bが深さ2210cで検出されない場合、クライアント105aは、輪郭が検出されるか、または最大深さ(たとえば、初期深さ2210a)に到達するまで、漸進的に増加させた深さで輪郭を検出しようと試みてもよい。たとえば、センサー・クライアント105aは、増大した深さ(すなわち、深さ2210cと初期深さ2210aとの間の深さ)で輪郭2204bを探索し続けてもよい。輪郭2204bが検出されずに最大深さ(たとえば、深さ2210a)に達した場合、クライアント105aは、一般に、別個の人2202、2204が検出されないと判断する。
【0217】
図23は、狭い間隔で人2202、2204を検出するために、追跡システム100を動作させる方法2300を示すフローチャートである。方法2300は、センサー・クライアント105aが、センサー108aによって生成されたトップビュー深さ画像2212の一つまたは複数のフレームを受領するステップ2302で開始してもよい。ステップ2304において、センサー・クライアント105aは、第1の人物2202に関連する第1の輪郭2202aが第2の人物2204に関連する第2の輪郭2204aとマージされるフレームを識別する。一般に、マージされた第1および第2の輪郭(すなわち、マージされた輪郭2220)は、ステップ2302で受領された深さ画像2212において第1の深さ2212aで決定される。第1の深さ2212aは、空間102内で追跡されることが期待される人のウエストまたは肩の深さに対応してもよい。マージされた輪郭2220の検出は、上述のように、第1の人物2202が第2の人物2204からの閾値距離2206b以内で空間内に位置することに対応する。
【0218】
ステップ2306において、センサー・クライアント105aは、マージされた輪郭領域2222を決定する。領域2222は、マージされた輪郭2220のピクセル座標に関連する。たとえば、領域2222は、検出された輪郭にオーバーレイするピクセル・マスクの座標に対応してもよい。別の例として、領域2222は、(たとえば、任意の適切なオブジェクト検出アルゴリズムを使用して)輪郭について決定された、バウンディングボックスのピクセル座標に対応してもよい。いくつかの実施形態では、非最大抑制に関わる方法が、領域2222を検出するために使用される。いくつかの実施形態では、領域2222は、人工ニューラルネットワークを使用して決定される。たとえば、人工ニューラルネットワークは、センサー108aによって生成されたトップビュー画像内のさまざまな深さで輪郭を検出するようにトレーニングされてもよい。
【0219】
ステップ2308では、ステップ2304からの識別された画像フレーム内で輪郭が検出される深さが減少させられる(たとえば、
図22に示される深さ2210bに)。ステップ2310aでは、センサー・クライアント105aは、現在の深さで第1の輪郭(たとえば、輪郭2202b)が検出されるかどうかを判定する。輪郭2202bが検出されない場合、センサー・クライアント105aは、ステップ2312aにおいて、増大した深さに(たとえば、深さ2210cに)進む。増加した深さが最大深さに達したこと(たとえば、初期深さ2210aに到達すること)に対応する場合、第1の輪郭2202bが検出されなかったため、プロセスは終了する。最大深さに達していない場合、センサー・クライアント105aはステップ2310aに戻り、第1の輪郭2202bが新たに増大させられた現在の深さで検出されるかどうかを判定する。第1の輪郭2202bがステップ2310aで検出された場合、センサー・クライアント105aは、ステップ2316aで、検出された輪郭2202bのピクセル座標2202dに関連する第1の領域2202cを決定する。いくつかの実施形態では、領域2202cは、上述のように、非最小抑制の方法を用いて決定されてもよい。いくつかの実施形態では、領域2202cは、人工ニューラルネットワークを用いて決定されてもよい。
【0220】
ステップ2210b、2212b、2214b、および2216bに示される同じまたは類似のアプローチが、輪郭2204bのピクセル座標2204dに関連する第2の領域2204cを決定するために使用されてもよい。たとえば、ステップ2310bにおいて、センサー・クライアント105aは、第2の輪郭2204bが現在の深さで検出されるかどうかを判定する。輪郭2204bが検出されない場合、センサー・クライアント105aは、ステップ2312bにおいて、増大した深さに(たとえば、深さ2210cに)進む。増大した深さが最大深さに達したこと(たとえば、初期深さ2210aに到達すること)に対応する場合、第2の輪郭2204bが検出されなかったため、プロセスは終了する。最大深さに到達していない場合、センサー・クライアント105aはステップ2310bに戻り、新たに増大させられた現在の深さで第2の輪郭2204bが検出されるかどうかを判定する。第2の輪郭2204bがステップ2210aにおいて検出される場合、センサー・クライアント105aは、ステップ2316aにおいて、検出された輪郭2204bのピクセル座標2204dに関連付けられた第2の領域2204cを決定する。いくつかの実施形態では、領域2204cは、上述のように、非最小抑制の方法または人工ニューラルネットワークを使用して決定されてもよい。
【0221】
ステップ2318において、センサー・クライアント105aは、それぞれステップ2316aおよび2316bで決定された第1および第2の領域をそれぞれ区別するための基準が満たされているかどうかを判断する。たとえば、基準は一つまたは複数の要件を含んでいてもよい。たとえば、1つの要件は、領域2202c、2204cが閾値量(たとえば、約10%)以下、重複することであってもよい。別の要件は、領域2202c、2204cが、マージされた輪郭領域2222(ステップ2306で決定される)内にある(たとえば、これによって境を定められる、たとえばこれに包含される)ことであってもよい。基準を満たさない場合は、方法2300は一般に終了する。
【0222】
そうではなく、ステップ2318で基準が満たされた場合、方法2300はステップ2320および2322に進み、センサー・クライアント105aは、第1の領域2202bを第1の人2202の第1のピクセル位置2202eに関連付け(ステップ2320)、第2の領域2204bを第1の人2204の第1のピクセル位置2202eに関連付ける(ステップ2322)。領域2202c、2204cをピクセル位置2202e、2204eに関連付けることは、領域2202c、2204cのピクセル座標2202d、2204d、および/または領域2202c、2204cのそれぞれに対応する平均ピクセル位置を、人2202、2204についてのオブジェクト識別子とともにメモリ記憶することに対応してもよい。
【0223】
ステップ2324において、センサー・クライアント105aは、第1および第2のピクセル位置(たとえば、ピクセル位置2226)をサーバー106に送信してもよい。ステップ2326において、サーバー106は、センサー2202についてのホモグラフィー(たとえば、ホモグラフィー2230のうちの一)をピクセル位置に適用して、第1の人物2202および第2の人物2204についての対応する物理的(たとえば、グローバル)位置2228を決定してもよい。ホモグラフィー2230の生成および使用の例は、
図2~
図7に関して上記でより詳細に記載されている。
【0224】
図23に示される方法2300に、修正、追加、または省略を行ってもよい。方法2300は、より多くの、より少ない、または他のステップを含んでいてもよい。たとえば、ステップは、並列に、または任意の適切な順序で実行されうる。システム2200、センサー・クライアント22105a、マスタ・サーバー2208、またはそれらのいずれかのコンポーネントがステップを実行するものとして時々説明されるが、任意の適切なシステムまたはシステムののコンポーネントが、本方法の一つまたは複数のステップを実行してもよい。
【0225】
ローカルおよびグローバルプレーン上のマルチセンサー画像追跡
本開示の他の箇所に(たとえば、上述の
図19~
図23に関して)記載されているように、複数のセンサー108を用いて空間102内の人(たとえば、他の目標オブジェクト)を追跡することは、これまで認識されていなかったいくつかの課題を提起する。本開示には、これらの課題の認識だけでなく、これらの課題に対する独自の解決策をも包含する。たとえば、ローカルに(たとえば、各センサー108から受領された画像内のピクセル位置を追跡することによって)およびグローバルに(たとえば、空間102内の物理的座標に対応するグローバルプレーン上の物理的位置を追跡することによって)人を追跡するシステムおよび方法が、本開示に記載される。人の追跡は、ローカルおよびグローバルの両方で実行されるときに、より信頼性が高いことがありうる。たとえば、人がローカルに「見失われる」場合(たとえば、センサー108がフレームを捕捉できず、人がセンサー108によって検出されない場合)、その人は、依然として、近くのセンサー108(たとえば、上述の
図22に関して説明した傾斜視センサー108b)からの画像、局所追跡アルゴリズムを用いて決定されたその人の推定される局所的位置、および/または、グローバル追跡アルゴリズムを用いて決定された推定されるグローバル位置に基づいて、グローバルに追跡されてもよい。
【0226】
別の例として、人々が、1つのセンサー108でマージするように見える場合(たとえば、検出された輪郭が、上述の
図22のビュー2216に示されるように、単一のマージされた輪郭にマージされる場合)、隣接するセンサー108は、依然として、それらの人々が(たとえば、上述の
図22のビュー2232に示されるように)別個のエンティティであるビューを提供してもよい。よって、隣接するセンサー108からの情報が、人物追跡のために優先されてもよい。いくつかの実施形態では、センサー108を介して追跡される人物がローカル・ビュー内で失われる場合、少なくとも追跡アルゴリズムが推定位置が閾値信頼レベルを下回ると判断するまで、追跡アルゴリズムを使用して推定ピクセル位置が決定され、グローバル追跡のためにサーバー106に報告されてもよい。
【0227】
図24A~
図24Cは、人物2402を空間102を通じて追跡するための追跡サブシステム2400の使用を示す。
図24Aは、センサー108a~108cによって生成された画像データに基づいて人物2402の位置を追跡するために使用される場合の、
図1の追跡システム100の一部を示す。人物2402の位置は、3つの異なる時点、t
1、t
2、およびt
3において示されている。センサー108a~108cのそれぞれは、上述した
図1のセンサー108である。各センサー108a-cは、センサー108a-cによって見える空間102の一部に対応する視野2404a~cを有する。
図24Aに示されるように、各視野2404a~cは、隣接するセンサー108a~cのものと重複する。たとえば、隣接する視野2404a~cは、約10%から30%までの間、重複しうる。センサー108a~108cは、一般に、トップビュー画像を生成し、対応するトップビュー画像フィード2406a~240cを追跡サブシステム2400に送信する。
【0228】
追跡サブシステム2400は、
図1のクライアント105およびサーバー106を含む。追跡システム2400は、一般に、センサー108a~108cによって生成されたトップビュー画像フィード2406a~2406cをそれぞれ受け取り、受け取った画像(
図24B参照)を使用して、空間102内の人物2402の物理的(たとえば、グローバル)位置を追跡する(
図24C参照)。各センサー108a~108cは、追跡サブシステム2400の対応するセンサー・クライアント105に結合されてもよい。よって、追跡サブシステム2400は、センサー108a~108bによって生成された画像内の人物2402のピクセル位置を追跡するためのローカル粒子フィルタ追跡器2444、および空間102内の人物2402の物理的位置を追跡するためのグローバル粒子追跡器2446を含んでいてもよい。
【0229】
図24Bは、時間t
1、t
2、およびt
3において各センサー108a~cによって生成されたトップビュー画像2408a~c、2418a~c、および2426a~cの例を示す。トップビュー画像のあるものは、人物2402の表現を含む(すなわち、画像2408a~c、2418a~c、および2426a~cが得られた時点で、人物2402がセンサー108a~cの視野2404a~c内にいた場合)。たとえば、時刻t
1において、画像2408a~cは、それぞれセンサー108a~cによって生成され、追跡サブシステム2400に提供される。追跡サブシステム2400は、画像2408a内の人2402と関連付けられた輪郭2410を検出する。たとえば、輪郭2410は、画像2408a内の人物2402の表現の境界を描く曲線に対応してもよい(たとえば、
図19に関して上述したように、画像2408a内のあらかじめ定義された深さにおけるカラー(たとえば、RGB)画像データに基づいて検出される)。追跡サブシステム2400は、ピクセル座標2412aを決定する。この例では、それらのピクセル座標は、画像2408a内のバウンディングボックス2412bによって示される。ピクセル位置2412cは、座標2412aに基づいて決定される。ピクセル位置2412cは、一般に、画像2408a内の人物2402の位置(すなわち、行および列)を参照する。オブジェクト2402はt
1において第2のセンサー108bの視野2404b内にもあるので(
図24A参照)、追跡システムはまた、画像2408b内の輪郭2414をも検出し、オブジェクト2402についての対応するピクセル座標2416a(すなわち、バウンディングボックス2416bと関連する)を決定する。ピクセル位置2416cは、座標2416aに基づいて決定される。ピクセル位置2416cは、一般に、画像2408b内の人物2402のピクセル位置(すなわち、行および列)を参照する。時刻t
1において、オブジェクト2402は、第3のセンサー108cの視野2404c内にない(
図24A参照)。よって、追跡サブシステム2400は、第3のセンサー108cから受領した画像2408cに基づいて、オブジェクト2402についてのピクセル座標を決定しない。
【0230】
ここで
図24Cを参照すると、追跡サブシステム2400(たとえば、追跡サブシステム2400のサーバー106)は、決定されたピクセル位置2412cおよび2416c(たとえば、上述のピクセル座標2412a、2416aおよびバウンディングボックス2412b、2416bに対応する)に基づいて、第1のグローバル位置2438を決定してもよい。第1のグローバル位置2438は、追跡サブシステム2400によって決定される、空間102内の人物2402の位置に対応する。換言すれば、追跡サブシステム2400は、2つのセンサー108a、bを介して決定されたピクセル位置2412c、2416cを使用して、空間102内の人物2402についての単一の物理的位置2438を決定する。たとえば、第1の物理的位置2412dは、第1のセンサー108aによって生成されたトップビュー画像内のピクセル座標を空間102内の物理的座標に関連付ける第1のホモグラフィーを使用して、バウンディングボックス2412bに関連付けられたピクセル位置2412cから決定されてもよい。第2の物理的位置2416dが、同様に、第2のセンサー108bによって生成されたトップビュー画像内のピクセル座標を空間102内の物理的座標に関連付ける第2のホモグラフィーを使用して、バウンディングボックス2416bに関連付けられたピクセル位置2416cを使用して決定されてもよい。いくつかの場合には、追跡サブシステム2400は、第1の物理的位置2412dと第2の物理的位置2416dとの間の距離を閾値距離2448と比較して、位置2412d、2416dが同じ人物に対応するか、異なる人物に対応するかを判断してもよい(たとえば、後述する
図26のステップ2620を参照)。第1のグローバル位置2438は、第1および第2の物理的位置2410d、2414dの平均として決定されてもよい。いくつかの実施形態では、グローバル位置は、(たとえば、任意の適切なクラスタリング・アルゴリズムを用いて)第1および第2の物理的位置2410d、2414dをクラスタリングすることによって決定される。第1のグローバル位置2438は、空間102内の人物2402の位置の(x,y)座標に対応してもよい。
【0231】
図24Aに戻ると、時刻t
2において、オブジェクト2402は、センサー108a、bに対応する視野2404aおよび2404b内にある。
図24Bに示されるように、輪郭2422が画像2418bにおいて検出され、バウンディングボックス2424bによって示される対応するピクセル座標2424aが決定される。ピクセル位置2424cは、座標2424aに基づいて決定される。ピクセル位置2424cは、一般に、画像2418b内の人物2402の位置(すなわち、行および列)を参照する。しかしながら、この例では、追跡サブシステム2400は、センサー108aからの画像2418aにおいて、オブジェクト2402に関連する輪郭を検出することができない。これは、オブジェクト2402が視野2404aの端にあったため、フィード2406aからの失われた画像フレームのため、視野2404a内の人物2402の位置が、センサー108aの自動除外ゾーンに対応するため(
図19~
図21および上述の対応する説明を参照)、またはセンサー108aおよび/または追跡サブシステム2400の他の何らかの誤動作のためでありうる。この場合、追跡サブシステム2400は、局所的に(たとえば、センサー108aに結合された特定のクライアント105において)オブジェクト2402についてのピクセル座標2420aおよび/または対応するピクセル位置2420bを推定してもよい。たとえば、センサー108aによって生成された画像内のオブジェクト2402についてのローカル粒子フィルタ追跡器2444が、推定されたピクセル位置2420bを決定するために使用されてもよい。
【0232】
図25A、Bは、例示的な粒子フィルタ追跡器2444、2446の動作(たとえば、推定ピクセル位置2420aを決定するための動作)を示す。
図25Aは、ピクセル座標または空間102の物理的座標における領域2500を示す。たとえば、領域2500は、画像内のピクセル領域または物理的空間内の領域に対応しうる。第1のゾーン2502では、オブジェクト(たとえば、人物2402)が位置2504で検出される。粒子フィルタは、オブジェクトについて、いくつかの推定されたその後の位置2506を決定する。推定されたその後の位置2506は、
図25Aにおけるドットまたは「粒子」として示され、一般に、オブジェクトの以前の位置の履歴に基づいて決定される。同様に、別のゾーン2508は、別のオブジェクトについての(または異なる時間における同じオブジェクトの)位置2510と、このオブジェクトについての「粒子」の推定されるその後の位置2512をと示す。
【0233】
位置2504におけるオブジェクトについては、推定されたその後の位置2506は、主として、位置2504の右上の同様の領域にクラスタリングされており、これは、粒子フィルタ追跡器2444、2446が、その後の位置の比較的良好な推定値を提供しうることを示す。一方、推定されたその後の位置2512は、オブジェクトについての位置2510のまわりに比較的ランダムに分布しており、これは、粒子フィルタ追跡器2444、2446が、その後の位置の比較的貧弱な推定値を提供しうることを示す。
図25Bは、
図25Aに示される粒子の分布プロット2550を示す。これは、標準偏差値(σ)に基づいて推定位置の品質を定量化するために使用されうる。
【0234】
図25Bにおいて、曲線2552は、予期される位置2506の位置分布に対応し、曲線2554は、予期される位置2512の位置分布に対応する。曲線2554は、比較的狭い分布を有し、そのため、予期される位置2506は主として平均位置(μ)に近い。たとえば、狭い分布は、諸粒子が主に同様の位置(この場合、位置2504の右上)を有することに対応する。対照的に、曲線2554は、より広い分布を有し、粒子は平均位置(μ)のまわりでよりランダムに分布する。よって、曲線2552の標準偏差(σ1)は、曲線2554の標準偏差(σ2)より小さい。
【0235】
一般に、標準偏差(たとえば、σ1またはσ2のいずれか)は、粒子フィルタ追跡器2444、2446によって生成された推定ピクセル位置が正しいと思われる程度の尺度として使用されうる。標準偏差が、曲線2552およびσ1の場合のように、閾値標準偏差(σ閾値)未満である場合、粒子フィルタ追跡器2444、2446によって生成される推定位置は、オブジェクト追跡のために使用されうる。さもなければ、推定位置は、一般に、オブジェクト追跡のために使用されない。
【0236】
再び
図24Cを参照すると、追跡サブシステム2400(たとえば、追跡サブシステム2400のサーバー106)は、フレーム2418a内の推定バウンディングボックス2420aと関連付けられた推定ピクセル位置2420bと、フレーム2418bからのバウンディングボックス24bと関連付けられたピクセル位置2424cとに基づいて、空間102内のオブジェクト2402についての第2のグローバル位置2440を決定してもよい。たとえば、第1の物理的位置2420cは、第1のセンサー108aによって生成されたトップビュー画像内のピクセル座標を空間102内の物理的座標に関連付ける第1のホモグラフィーを使用して決定されてもよい。第2の物理的位置2424dは、第2のセンサー108bによって生成されたトップビュー画像内のピクセル座標を空間102内の物理的座標に関連付ける第2のホモグラフィーを使用して決定されてもよい。追跡サブシステム2400(すなわち、追跡サブシステム2400のサーバー106)は、時間t
1に関して上述したように、第1および第2の物理的位置2420c、2424dに基づいて第2のグローバル位置2440を決定してもよい。第2のグローバル位置2440は、空間102内の人物2402の(x,y)座標に対応してもよい。
【0237】
図24Aに戻ると、時刻t
3において、オブジェクト2402は、センサー108bの視野2404bおよびセンサー108cの視野2404c内にある。よって、これらの画像2426b,cは、人物2402を追跡するために使用されてもよい。
図24Bは、輪郭2428および対応するピクセル座標2430a、ピクセル領域2430b、およびピクセル位置2430cが、センサー108bからのフレーム2426b内で決定され、一方、輪郭2432および対応するピクセル座標2434a、ピクセル領域2434b、およびピクセル位置2434cが、センサー108cからのフレーム2426c内で検出されることを示している。
図24Cに示され、時刻t
1およびt
2について上記でより詳細に説明されたように、追跡サブシステム2400は、フレーム2426b内のバウンディングボックス2430bと関連付けられたピクセル位置2430cおよびフレーム2426cからのバウンディングボックス2434bと関連付けられたピクセル位置2434cに基づいて、空間内のオブジェクト2402についての第3のグローバル位置2442を決定してもよい。たとえば、第1の物理的位置2430dは、第2のセンサー108bによって生成されたトップビュー画像内のピクセル座標を空間102内の物理的座標に関連付ける第2のホモグラフィーを使用して決定されてもよい。第2の物理的位置2434dは、第3のセンサー108cによって生成されたトップビュー画像内のピクセル座標を空間102内の物理的座標に関連付ける第3のホモグラフィーを使用して決定されてもよい。追跡サブシステム2400は、時間t
1およびt
2に関して上述したように、第1および第2の物理的位置2430d、2434dに基づいてグローバル位置2442を決定してもよい。
【0238】
図26は、トップビュー画像(たとえば、上述のセンサー108a、bによって生成されたフィード2406a、bからの画像2408a~c、2418a0c、2426a~c)に基づく、空間102内の人物2402の追跡を示すフロー図である。センサー108aの視野2404aおよびセンサー108bの視野2404bは、概して、距離2602だけ重複する。ある実施形態では、距離2602は、視野2404a、bの約10%~30%でありうる。この例では、追跡サブシステム2400は、第1のセンサー・クライアント105a、第2のセンサー・クライアント105b、およびサーバー106を含む。第1および第2のセンサー・クライアント105a、bのそれぞれは、
図1に関して上述したクライアント105であってもよい。第1のセンサー・クライアント105aは、第1のセンサー108aに結合され、第1のフィード2406aに基づいて、人物2402の第1のピクセル位置2112cを追跡するように構成される。第2のセンサー・クライアント105bは、第2のセンサー108bに結合され、第2のフィード2406bに基づいて、同じ人物2402の第2のピクセル位置2416cを追跡するように構成される。
【0239】
サーバー106は一般に、クライアント105a、bからピクセル位置を受領し、空間102内の人物2402のグローバル位置を追跡する。いくつかの実施形態では、サーバー106は、空間102内の人物2402および一または複数の他の人物2604のグローバルな物理的位置を追跡するために、グローバル粒子フィルタ追跡器2446を使用する。ローカル(すなわち、クライアント105a、bを使用して「ピクセルレベル」で)およびグローバル(すなわち、空間102内の物理的位置に基づいて)の両方で人々を追跡することは、クライアント105a、bによるローカル追跡またはサーバー106単独によるグローバル追跡のいずれかに依存することから帰結しうるノイズおよび/または他の追跡エラーを低減および/または解消することによって、追跡を改善する。
【0240】
図26は、センサー・クライアント105a、bおよびサーバー106によって実装される方法2600を示す。センサー・クライアント105aは、ステップ2606aにおいて、センサー108aから第1のデータ・フィード2406aを受領する。フィードは、トップビュー画像(たとえば、
図24の画像2408a~c、2418a~c、2426a~c)を含んでいてもよい。画像は、カラー画像、深さ画像、またはカラー深さ画像でありうる。フィード2406aからの画像(たとえば、あるタイムスタンプに対応する)において、センサー・クライアント105aは、ステップ2608aで、輪郭が検出されるかどうかを判定する。そのタイムスタンプにおいて輪郭が検出される場合、センサー・クライアント105aは、ステップ2610aにおいて輪郭についての第1のピクセル位置2412cを決定する。たとえば、第1のピクセル位置2412cは、(たとえば、任意の適切なオブジェクト検出アルゴリズムを使用して)その輪郭について決定されたバウンディングボックス2412bに関連するピクセル座標に対応してもよい。別の例として、センサー・クライアント105aは、
図21のステップ2104に関して上述したように、検出された輪郭に重なるピクセル・マスクを生成し、該ピクセル・マスクのピクセル座標を決定してもよい。
【0241】
ステップ2608aで輪郭が検出されない場合、ステップ2612aで、輪郭2410の以前の位置の履歴に基づいて、ピクセル位置(たとえば、推定位置2420b)を推定するために、第1の粒子フィルタ追跡器2444が使用されてもよい。たとえば、第1の粒子フィルタ追跡器2444は、(たとえば、
図25A、Bに関して上述したように)そのタイムスタンプに対応する、その後の第1のピクセル位置の確率重み付けされた推定値を生成してもよい。一般に、推定されたピクセル位置2420bの信頼レベル(たとえば、標準偏差に基づく)が、閾値を下回る場合(たとえば、上述の
図25Bおよび関連する説明を参照)、センサー・クライアント105aによってそのタイムスタンプについてピクセル位置は決定されず、そのタイムスタンプについてピクセル位置はサーバー106に報告されない。これは、サーバー106が信頼できないピクセル位置データを処理する際に費やすであろう処理資源の無駄を防止する。以下に記載されるように、サーバー106は、グローバル粒子フィルタ追跡器2446を使用して、所与のタイムスタンプについてピクセル位置が提供されない場合でも、人物2402を追跡することができる(以下のステップ2626、2632、および2636参照)。
【0242】
第2のセンサー・クライアント105bは、ステップ2606bで、センサー108bから第2のデータ・フィード2406bを受領する。検出された輪郭2414についての第2のピクセル位置2416cを決定するか、または第2の粒子フィルタ・追跡器2444に基づいてピクセル位置を推定するために、センサー・クライアント105aについて上述したものと同じまたは類似のステップが使用される。ステップ2608bにおいて、センサー・クライアント105bは、所与のタイムスタンプにおけるフィード2406bからの画像において、輪郭2414が検出されるかどうかを判定する。そのタイムスタンプにおいて輪郭2414が検出される場合、センサー・クライアント105bは、ステップ2610bにおいて(たとえば、ステップ2610aに関して上述したアプローチのいずれかを使用して)、輪郭2414についての第1のピクセル位置2416cを決定する。輪郭2414が検出されない場合、ステップ2612bにおいて(たとえば、ステップ2612aに関して上述したように)、ピクセル位置を推定するために第2の粒子フィルタ追跡器2444が使用されてもよい。推定されるピクセル位置の信頼レベルが閾値を下回る場合(たとえば、追跡器2444についての標準偏差値に基づいて)、センサー・クライアント105bによってそのタイムスタンプについてピクセル位置は決定されず、そのタイムスタンプについてサーバー106にピクセル位置は報告されない。
【0243】
ステップ2606a、b~2612a、bは、センサー・クライアント105aおよび105bによって実行されるものとして説明されるが、いくつかの実施形態では、単一のセンサー・クライアント105が、センサー108a、bから第1および第2の画像フィード2406a、bを受領し、上述のステップを実行してもよいことを理解されたい。別個のセンサー108a、bまたはセンサー108のセットのために別個のセンサー・クライアント105a、bを使用することにより、クライアント105の誤動作の場合に備えた冗長性を提供することができる(たとえば、たとえ1つのセンサー・クライアント105が故障したとしても、他のセンサーからのフィードが、他の依然として機能しているクライアント105によって処理されうる)。
【0244】
ステップ2614において、サーバー106は、センサー・クライアント105a、bによって決定されたピクセル位置2412c、2416cを受領する。ステップ2616で、サーバー106は、第1のセンサー・クライアント105aによってステップ2610aで決定された、またはステップ2612aで推定された第1のピクセル位置2412cに基づいて、第1の物理的位置2412dを決定してもよい。たとえば、第1の物理的位置2412dは、第1のセンサー108aによって生成されたトップビュー画像内のピクセル座標を空間102内の物理的座標に関連付ける第1のホモグラフィーを使用して決定されてもよい。ステップ2618では、サーバー106は、第1のセンサー・クライアント105bによってステップ2610bで決定された、またはステップ2612bで推定された第2のピクセル位置2416cに基づいて、第2の物理的位置2416dを決定してもよい。たとえば、第2の物理的位置2416dは、第2のセンサー108bによって生成されたトップビュー画像内のピクセル座標を空間102内の物理的座標に関連付ける第2のホモグラフィーを用いて決定されてもよい。
【0245】
ステップ2620において、サーバー106は、第1および第2の位置2412d、2416d(ステップ2616および2618から)が、互いから閾値距離2448(たとえば、約6インチ)以内にあるかどうかを判定する。一般に、閾値距離2448は、システム追跡システム100および/または追跡されている人物2402もしくは別の目標オブジェクトの一つまたは複数の特性に基づいて決定されてもよい。たとえば、閾値距離2448は、オブジェクトからのセンサー108a~bの距離、オブジェクトのサイズ、視野2404a~b、センサー108a~bの感度などのうちの一つまたは複数に基づくことができる。よって、閾値距離2448は、追跡システム100のこれらおよび他の特性に依存して、ゼロインチをわずかに超えるものから6インチを超えるものまでの範囲でありうる。
【0246】
ステップ2620において位置2412d、2416dが互いの閾値距離2448内にある場合、サーバー106は、位置2412d、2416dがステップ2622で同じ人物2402に対応すると判断する。換言すれば、サーバー106は、第1のセンサー108aによって検出された人物が、第2のセンサー108bによって検出された人物と同じであると判断する。これは、所与のタイムスタンプにおいて、
図26に示されるように、センサー108aおよび108bの視野2404aと視野2404bとの間の重複2604のために起こりうる。
【0247】
ステップ2624において、サーバー106は、ステップ2616および2618からの第1および第2の物理的位置に基づいて、オブジェクトについてのグローバル位置2438(すなわち、空間102内の物理的位置)を決定する。たとえば、サーバー106は、第1および第2の物理的位置2412d、2416dの平均を計算することができる。いくつかの実施形態では、グローバル位置2438は、第1および第2の物理的位置2412d、2416dをクラスタリングすることによって(たとえば、任意の適切なクラスタリング・アルゴリズムを使用して)決定される。ステップ2626において、グローバル粒子フィルタ追跡器2446が、人物2402のグローバル(たとえば、物理的)位置2438を追跡するために使用される。粒子フィルタ追跡器の例は、
図25A、Bに関して上述されている。たとえば、グローバル粒子フィルタ追跡器2446は、その後の時間におけるその後のグローバル位置の確率重み付けされた推定値を生成してもよい。グローバル位置2438が、その後のタイムスタンプにおいて決定できない場合(たとえば、ピクセル位置がセンサー・クライアント105a、bから利用可能でないため)、位置を推定するために粒子フィルタ追跡器2446が使用されてもよい。
【0248】
ステップ2620において、第1および第2の物理的位置2412d、2416dが、相互からの閾値距離2448内にない場合、サーバー106は、一般に、ステップ2628において、それらの位置が異なるオブジェクト2402、2604に対応すると判断する。換言すれば、サーバー106は、ステップ2616および2618で決定された物理的位置が、それらが空間102内の第1の人物2402および異なる第2の人物2604に対応するために、十分に異なっている、または離れていることを判別してもよい。
【0249】
ステップ2630において、サーバー106は、ステップ2616からの第1の物理的位置2412cに基づいて、第1のオブジェクト2402についてのグローバル位置を決定する。一般に、グローバル位置のベースとなる1つの物理的位置2412cのみを有する場合、グローバル位置は、第1の物理的位置2412cである。他の物理的位置が第1のオブジェクトに関連付けられる(たとえば、明確のため
図26には示されていない他のセンサー108からのデータに基づいて)場合、第1の人物2402のグローバル位置は、前記位置の平均であってもよく、または、上述したような任意の適切なクラスタリング・アルゴリズムを使用して前記位置に基づいて決定されてもよい。ステップ2632において、やはり上述したように、第1の人物2402の第1のグローバル位置を追跡するために、グローバル粒子フィルタ追跡器2446が使用されてもよい。
【0250】
ステップ2634において、サーバー106は、ステップ2618からの第2の物理的位置2416cに基づいて、第2の人物2404についてのグローバル位置を決定する。一般に、グローバル位置のベースとなる1つの物理的位置2416cのみを有する場合、グローバル位置は、第2の物理的位置2416cである。他の物理的位置が第2のオブジェクトに関連付けられる(たとえば、明確のため
図26には示されていない他のセンサー108からのデータに基づいて)場合、第2の人物2604のグローバル位置は、前記位置の平均であってもよく、または任意の適切なクラスタリング・アルゴリズムを使用して前記位置に基づいて決定されてもよい。ステップ2636において、上述のように、第2のオブジェクトの第2のグローバル位置を追跡するために、グローバル粒子フィルタ追跡器2446が使用される。
【0251】
図26に関して上述した方法2600に対して、修正、追加、または省略を行ってもよい。本方法は、より多くの、より少ない、または他のステップを含みうる。たとえば、ステップは、並列で、または任意の適切な順序で実行されうる。追跡サブシステム2400、センサー・クライアント105a、b、サーバー106、またはそれらのいずれかのコンポーネントがステップを実行するものとして説明されることがあるが、任意の適切なシステムまたはシステムのコンポーネントが、方法2600の一つまたは複数のステップを実行してもよい。
【0252】
候補リスト
追跡システム100が空間102において人を追跡しているとき、自動除外ゾーン(人が
図19~
図21および上述の対応する説明を参照)に入るとき、他の人の近くに立っているとき(
図22~
図23および上述の対応する説明を参照)、および/またはセンサー108、クライアント105、および/またはサーバー106のうちの一つまたは複数が誤動作するときなど、ある種の状況下では、人を確実に識別することは困難であることがある。たとえば、第1の人物が第2の人物に近づいた後、またはさらには第2の人物と接触(たとえば「衝突」)した後、誰がどれであるかを決定することが困難であることがある(たとえば、
図22に関して上述したように)。従来の追跡システムは、人々の推定された軌跡(たとえば、人々があたかも、衝突し、運動量の保存などに従って軌道を変化させるおはじきであるかのように推定される)に基づいて誰がどれであるかを決定しようとする試みにおいて、物理ベースの追跡アルゴリズムを使用してもよい。しかしながら、動きがランダムであることがあるため、人々の素性を確実に追跡することはより困難であることがある。上述のように、追跡システム100は、空間102における人々の追跡を改善するために、粒子フィルタ追跡を用いることができる(たとえば、
図24~
図26および上述の対応する説明を参照)。しかしながら、これらの進歩があっても、追跡対象となっている人々の素性を特定することは、ある時点では困難な場合がある。本開示は、特に、店舗において買い物をしている(すなわち、空間を動きまわり、品目を選択し、品目をピックアップすること)人々の位置が、以前に利用可能であった技術を用いて追跡することが困難または不可能であるという認識を含む。これらの人々の動きがランダムであり、容易に定義されるパターンまたはモデル(たとえば、以前のアプローチの物理ベースのモデル)に従わないためである。よって、人々(たとえば、または他の目標オブジェクト)を確実かつ効率的に追跡するためのツールが不足している。
【0253】
本開示は、追跡中に、本開示において「候補リスト」と称される、可能な人物素性または識別子(すなわち、追跡されている人のユーザー名、アカウント番号など)の記録を維持することによって、上記のものを含む従来技術の問題に対する解決策を提供する。それぞれの追跡される人の可能な素性を確立するために、追跡中に候補リストが生成され、更新される。一般に、追跡される人の可能な素性または識別子のそれぞれについて、候補リストは、該素性または識別子が正しいと信じられる確率も含む。候補リストは、人々の間の相互作用(たとえば、衝突)の後、および他の不確実性事象(たとえば、センサー・データの喪失、撮像エラー、意図的なトリックなど)に応じて更新される。
【0254】
場合によっては、(たとえば、
図29~
図32に関して以下により詳細に記載される方法を用いて)人が再識別されるべき時を決定するために候補リストが使用されてもよい。一般に、再識別は、追跡される人の候補リストが、その人の素性が十分によく知られていないことを(たとえば、候補リストに格納されている確率が閾値未満であることに基づいて)示す場合に適切である。いくつかの実施形態では、候補リストは、人が空間102を出た可能性が高い(すなわち、少なくとも閾値信頼水準で)時を決定するために使用され、その人が出たという高い信頼水準(たとえば、以下に説明される
図27のビュー2730を参照)がある後にのみ、退出通知(exit notification)がその人に送られる。一般に、候補リストが、人の素性が、あらかじめ確立された基準に従って、もはや知られていないことを示す場合にのみ、潜在的に複雑な個人再識別タスクを実行することによって、処理資源が節約されうる。
【0255】
図27は、追跡システム100によって、初期時刻t
0から最終時刻t
5までの時間期間にわたる追跡中に、追跡される人(たとえば、または任意の他の目標オブジェクト)に関連付けられた識別子2701a~cがどのように更新されうるかを示すフロー図である。上述のように、人は、センサー108からのデータに基づいて追跡システム100を使用して追跡されてもよい。
図27は、追跡中の異なる時点における複数のビュー2702、2716、2720、2724、2728、2730を示す。いくつかの実施形態において、ビュー2702、2716、2720、2724、2728、2730は、ピクセル単位(たとえば、またはセンサー108によって生成されるデータ・タイプについての任意の他の適切な単位)での座標を有する、センサー108からのローカル・フレーム・ビュー(たとえば、
図22に関して上述したような)に対応する。他の実施形態では、ビュー2702、2716、2720、2724、2728、2730は、空間内の物理的位置に対応する座標(たとえば、
図2~
図7に関して上記でより詳細に述べたホモグラフィーを使用して決定されたような)を有する、複数のセンサー108からのデータに基づいて決定された空間102の全グローバルなビューに対応する。簡明のため、
図27の例は、空間102のグローバルなビュー(すなわち、空間102の物理的座標に対応するビュー)に関して以下に説明される。
【0256】
追跡されるオブジェクト領域2704、2708、2712は、空間102を通って移動する対応する人(たとえば、または任意の他の目標オブジェクト)に対応する位置に関連する空間102の領域に対応する。たとえば、それぞれの追跡されるオブジェクト領域2704、2708、2712は、空間102内を動き回る異なる人に対応してもよい。領域2704、2708、2712を決定することの例は、たとえば、
図21、
図22、および
図24に関して上述される。一例として、追跡されるオブジェクト領域2704、2708、2712は、空間102内の対応するオブジェクトについて識別されるバウンディングボックスであってもよい。別の例として、追跡されるオブジェクト領域2704、2708、2712は、空間102内の対応するオブジェクトに関連する輪郭について決定されたピクセル・マスクに対応してもよい(たとえば、ピクセル・マスクの決定のより詳細な説明については、
図21のステップ2104を参照されたい)。一般に、人は空間102内で追跡されることができ、領域2704、2708、2712は、任意の適切な追跡および識別方法を使用して決定されうる。
【0257】
初期時刻t0におけるビュー2702は、第1の追跡されるオブジェクト領域2704、第2の追跡されるオブジェクト領域2708、および第3の追跡されるオブジェクト領域2712を含む。ビュー2702は、トップビューからの空間102の表現に対応してもよい。追跡されるオブジェクト領域2704、2708、2712のみが示されている(すなわち、空間102内の他のオブジェクトは省略されている)。時刻t0では、すべての人の素性が一般に知られている(たとえば、それらの人が最近空間102に入ったため、および/またはそれらの人がまだ互いに近づいていないため)。第1の追跡されたオブジェクト領域2704は、第1の候補リスト2706に関連付けられており、該候補リストは、該領域2704(または追跡されている対応する人)が第1の識別子2701aに関連付けられる確率(PA=100%)を含む。第2の追跡されるオブジェクト領域2708は、第2の候補リスト2710に関連付けられており、該候補リストは、該領域2708(または追跡されている対応する人)が第2の識別子2701bと関連付けられる確率(PB=100%)を含む。第3の追跡されるオブジェクト領域2712は、第3の候補リスト2714に関連付けられており、該候補リストは、該領域2712(または追跡される対応する人)が第3の識別子2701cと関連付けられる確率(PC=100%)を含む。よって、時刻t1において、候補リスト2706、2710、2714は、追跡されるオブジェクト領域2704、2708、2712のそれぞれの素性が知られており、すべての確率が100パーセントの値を有することを示す。
【0258】
ビュー2716は、初期時刻t
0の後の第1の時刻t
1における、追跡されるオブジェクト2704、2708、2712の位置を示す。時刻t
1において、追跡システムは、追跡されるオブジェクト領域2704、2708の素性をより不確かにしうる事象を検出する。この例では、追跡システム100は、第1のオブジェクト領域274と第2のオブジェクト領域2708との間の距離2718aが閾値距離2718b以下であることを検出する。追跡されるオブジェクト領域は互いに近かったので(すなわち、閾値距離2718b以内であったので)、それらの領域が、その後の時点において誤って識別される、ゼロでない確率がある。閾値距離2718bは、
図22に関して上述したように、任意の適切な距離であってもよい。たとえば、追跡システム100は、第1のオブジェクト領域2704の第1の座標を決定し、第2のオブジェクト領域2708の第2の座標を決定し、距離2718aを計算し、距離2718aを閾値距離2718bと比較することによって、第1のオブジェクト領域2704が第2のオブジェクト領域2708から閾値距離2718b以内にあることを決定してもよい。いくつかの実施形態では、第1および第2の座標は、第1および第2の人を捕捉する画像内のピクセル座標に対応し、距離2718aは、これらのピクセル座標の間のピクセルの数に対応する。たとえば、
図27のビュー2716に示されるように、距離2718aは、追跡されるオブジェクト領域2704、2708の重心間のピクセル距離に対応してもよい。他の実施形態では、第1および第2の座標は、空間102内の物理的またはグローバル座標に対応し、距離2718aは、物理的距離(たとえば、インチなどの長さの単位での距離)に対応する。たとえば、物理的座標は、
図2~
図7に関して上述したホモグラフィーを用いて決定されてもよい。
【0259】
領域2704、2708の素性がそれほど確実でないこと(すなわち、第1のオブジェクト領域2704が第2のオブジェクト領域2708から閾値距離2718b以内にあること)を検出した後、追跡システム100は、第1の追跡されるオブジェクト領域2704が、第2の追跡されるオブジェクト領域2708と識別子2701a~cを入れ替えた確率2717を決定する。たとえば、画像内で2つの輪郭が近づくと、その後の追跡中に、輪郭の素性が正しくなくなる可能性がある(たとえば、追跡システム100は、フレーム間でそれらの輪郭に誤った識別子2701a~cを割り当てる可能性があるため)。識別子2701a~cが入れ替わった確率2717は、たとえば、あらかじめ定義された確率値(たとえば、50%)にアクセスすることによって決定されうる。他の場合では、確率2717は、オブジェクト領域2704、2708間の距離2718aに基づいてもよい。たとえば、距離2718が減少すると、識別子2701a~cが入れ替わった確率2717が増加する可能性がある。
図27の例では、オブジェクト領域2704、2708は比較的離れているが、領域2704、2708の間にいくらかの重複があるため、決定された確率2717は20%である。
【0260】
いくつかの実施形態では、追跡システム100は、第1のオブジェクト領域2704と第2のオブジェクト領域2708との間の相対的な配向を決定してもよく、オブジェクト領域2704、2708が識別子2701a~cを入れ替えた確率2717は、この相対的な配向に基づいていてもよい。相対的配向は、第1の領域2704に関連付けられた人が向いている方向と第2の領域2708に関連付けられた人が向いている方向との間の角度に対応してもよい。たとえば、第1および第2の領域2704、2708に関連付けられた人が面いている方向の間の角度が、180°に近い(すなわち、それらの人が反対方向を向いている)場合、識別子2701a~cが入れ替わった確率は、この場合が、減少されてもよい。そのようになる場合は、一方の人がたまたま他方の人に背からぶつかることに対応しうるからである。
【0261】
追跡されるオブジェクト領域2704、2708が、識別子2701a~2701cを入れ替えた決定された確率2717(たとえば、この例では20%)に基づいて、追跡システム100は、第1のオブジェクト領域2704についての第1の候補リスト2706を更新する。更新された第1の候補リスト2706は、第1の領域2704が第1の識別子2701aに関連付けられる確率(PA=80%)および第1の領域2704が第2の識別子2701bに関連付けられる確率(PB=20%)を含む。第2のオブジェクト領域2708についての第2の候補リスト2710は、第1のオブジェクト領域2704が、第2のオブジェクト領域2708と識別子2701a~cを入れ替えた確率2717に基づいて、同様に更新される。更新された第2の候補リスト2710は、第2の領域2708が第1の識別子2701aに関連付けられる確率(PA=20%)および第2の領域2708が第2の識別子2701bに関連付けられる確率(PB=80%)を含む。
【0262】
ビュー2720は、時刻t
1に続く第2の時点t
2における、オブジェクト領域2704、2708、2712を示す。時刻t
2において、第1の追跡される領域2704に対応する第1の人は、第3の追跡される領域2712に対応する第3の人に近接して立つ。この例示的なケースでは、追跡システム100は、第1のオブジェクト領域2704と第3のオブジェクト領域2712との間の距離2722が閾値距離2718b(すなわち、ビュー2716に関して上述したのと同じ閾値距離2718b)以下であることを検出する。第1のオブジェクト領域2704が、第3のオブジェクト領域2712から閾値距離2718b以内にあることを検出した後、追跡システム100は、第1の追跡されるオブジェクト領域2704が、第3の追跡されるオブジェクト領域2712と識別子2701a~cを入れ替えた確率2721を決定する。上述のように、識別子2701a~cが切り替わった確率2721は、たとえば、あらかじめ定義された確率値(たとえば、50%)にアクセスすることによって決定されてもよい。場合によっては、確率2721は、オブジェクト領域2704、2712間の距離2722に基づいてもよい。たとえば、距離2722は距離2718aよりも大きいので(上述のビュー2716から)、識別子2701a~cが入れ替わった確率2721は、時間t
2よりも時間t
1で大きくてもよい。
図27のビュー2720の例では、決定された確率2721は、10%である(これは、時刻t
1において決定された20%の入れ替わり確率2717よりも小さい)。
【0263】
追跡されるオブジェクト領域2704、2712が識別子2701a~2701cを入れ替えた決定された確率2721(たとえば、この例では10%)に基づいて、追跡システム100は、第1のオブジェクト領域2704のための第1の候補リスト2706を更新する。更新された第1の候補リスト2706は、第1のオブジェクト領域2704が第1の識別子2701aに関連付けられる確率(P
A=73%)、第1のオブジェクト領域2704が第2の識別子2701bに関連付けられる確率(P
B=17%)、および第1のオブジェクト領域2704が第3の識別子2701cに関連付けられる確率(Pc=10%)を含む。第3のオブジェクト領域2712についての第3の候補リスト2714は、第1のオブジェクト領域2704が第3のオブジェクト領域2712と識別子2701a~cを入れ替えた確率2721に基づいて、同様に更新される。更新された第3の候補リスト2714は、第3のオブジェクト領域2712が第1の識別子2701aに関連付けられる確率(P
A=7%)、第3のオブジェクト領域2712が第2の識別子2701bに関連付けられる確率(P
B=3%)、および第3のオブジェクト領域2712が第3の識別子2701cに関連付けられる確率(P
C=90%)を含む。よって、第3のオブジェクト領域2712は、第2のオブジェクト領域2708と相互作用しなかった(たとえば、第2のオブジェクト領域2718bから閾値距離2718b以内にこなかった)としても、第3のオブジェクト領域2712が、第2のオブジェクト領域2708にもともと(時刻t
0において)割り当てられていた第2の識別子2701bと関連付けられる、ゼロでない確率(P
B=3%)が依然として存在する。換言すれば、時刻t
1において検出されたオブジェクト素性の不確実性は、時刻t
2における領域2704との相互作用を介して、第3のオブジェクト領域2712に伝搬される。このユニークな「伝搬効果」は、改善されたオブジェクト識別を容易にし、オブジェクト再識別が必要とされる場合に、探索空間(たとえば、追跡されるオブジェクト領域2704、2708、2712に関連付けられうる可能な識別子2701a~cの数)を狭めるために使用できる(下記で、および
図29~
図32に関してより詳細に記載されるように)。
【0264】
ビュー2724は、時刻t2に続く第3の時点t3における、第3のオブジェクト領域2712および未識別のオブジェクト領域2726を示す。時刻t3において、領域2704、2708に関連付けられた第1および第2の人が接触する(たとえば、または「衝突する」)か、またはそうでなければ追跡システム100がそれらの人を区別できないほど互いに非常に近接する。たとえば、第1のオブジェクト領域2704および第2のオブジェクト領域2708を決定するために検出された輪郭は、マージされて、単一の未識別オブジェクト領域2726をもたらしうる。よって、オブジェクト領域2726の位置は、オブジェクト領域2704および2708の一方または両方の位置に対応してもよい。時刻t3において、第1のオブジェクト領域2704に関連する第1の輪郭が、第2のオブジェクト領域2708に関連する第2の輪郭とマージされるため、追跡システム100は、第1および第2のオブジェクト領域2704、2708がもはや検出されないと判断してもよい。
【0265】
追跡システム100は、候補リスト2706、2710が更新される前に、第1および第2のオブジェクト領域2704、2708が再度検出されるその後の時刻t4(ビュー2728に示される)まで待ってもよい。時刻t4は、概して、領域2704、2708に関連する第1および第2の人が、各人が空間102内で追跡されることができるように、互いから分離した時刻に対応する。ビュー2724に示されるようなマージ事象後は、領域2704および2708が識別子2701a~cを入れ替えた確率2725は、50%であってもよい。時刻t4において、更新された候補リスト2706は、第1のオブジェクト領域2704が第1の識別子2701aに関連付けられる更新された確率(PA=60%)、第1のオブジェクト領域2704が第2の識別子2701bに関連付けられる更新された確率(PB=35%)、および第1のオブジェクト領域2704が第3の識別子2701cに関連付けられる更新された確率(Pc=5%)を含む。更新された候補リスト2710は、第2のオブジェクト領域2708が第1の識別子2701aに関連付けられる更新された確率(PA=33%)、第2のオブジェクト領域2708が第2の識別子2701bに関連付けられる更新された確率(PB=62%)、および第2のオブジェクト領域2708が第3の識別子2701cに関連付けられる更新された確率(Pc=5%)を含む。候補リスト2714は変更されていない。
【0266】
引き続きビュー2728を参照すると、追跡システム100は、候補リストの最も高い値の確率が閾値(たとえば、P
threshold=70%)未満であると判断してもよい。第1の候補リスト2706の最高確率が閾値未満であると判別することに応答して、対応するオブジェクト領域2704は、再識別されてもよい(たとえば、
図29~
図32などに関して、本開示に記載される再識別の任意の方法を使用して)。たとえば、第1のオブジェクト領域2704は、最高確率(P
A=60%)が閾値確率(P
threshold=70%)未満であるため、再識別されてもよい。追跡システム100は、第1のオブジェクト領域2704に関連する第1の人(または対応する輪郭)の観察可能な特性に関連する特徴または記述子を抽出してもよい。観察可能な特性は、オブジェクトの高さ(たとえば、センサーから受け取った深さデータから決定される)、輪郭内のエリアに関連する色(たとえば、センサー108からのカラー画像データに基づく)、オブジェクトの幅、オブジェクトのアスペクト比(たとえば、幅/長さ)、オブジェクトの体積(たとえば、センサー108からの深さデータに基づく)などでありうる。他の記述子の例は、
図30に関して以下により詳細に説明される。以下により詳細に説明されるように、テクスチャー特徴(たとえば、ローカル・バイナリー・パターン・ヒストグラム(LBPH)アルゴリズムを用いて決定される)がその人について計算されてもよい。代替的または追加的に、(たとえば、
図29~
図32に関してより詳細に後述されるように)人を正しい識別子2701a~cに関連付けるために、人工ニューラルネットワークが使用されてもよい。
【0267】
候補リスト2706、2710、2714を使用すると、以前可能であったよりも効率的な再識別を容易にすることができる。なぜなら、不確実な素性を有する領域2704、2708、2712についてすべての可能な識別子2701a~c(たとえば、および
図27に示されていない空間102における人の他の識別子)をチェックするのではなく、追跡システム100は、未知の領域2704、2708、2712と最も関連する可能性が高い他のすべての識別子2701a~cのサブセットを識別し、未知の領域2704、2708、2712の記述子を識別子2701a~cのサブセットと関連する記述子と比較するだけでよいからである。言い換えれば、追跡される人物の素性が確実でない場合、追跡システム100は、未知の人物を空間102内の人のすべてと比較するのではなく、その人物がその人物の候補リストに示されている少数の人のうちの一であるかどうかを確認するためにチェックだけでよい。たとえば、候補リスト2706内のゼロでない確率、または閾値よりも大きい確率に関連する識別子2701a~cのみが、第1の領域2704の正しい識別子2701a~cに関連する可能性が高い。いくつかの実施形態では、サブセットは、閾値確率値(たとえば、10%)より大きい確率をもつ、第1の候補リスト2706からの識別子2701a~cを含んでいてもよい。よって、追跡システム100は、領域2704に関連付けられた人の記述子を、サブセットに関連付けられたあらかじめ決定された記述子と比較してもよい。
図29~
図32に関して以下でより詳細に説明されるように、所定の特徴(feature)(または記述子(descriptor))は、人が空間102に入り、入場時間期間中にその人の既知の識別子2701a~cに関連付けられたとき(すなわち、何らかの事象がその人の素性を不確かにする前)に決定されてもよい。
図27の例では、最高の確率P
B=62%が例示的な閾値確率70%よりも小さいため、オブジェクト領域2708も、時間t
4においてまたは時間t
4後に再識別されてもよい。
【0268】
ビュー2730は、オブジェクト領域2712に関連する人物のみが空間102内に留まる時刻t5に対応する。ビュー2730は、人は、システム100がその人が空間102を出たことを確信するときに退出通知2734を受領するだけであることを保証するために、候補リスト2706、2710、2714がどのように使用されることができるかを示す。これらの実施形態では、追跡システム100は、人が空間102を出た確率が退出閾値(たとえば、Pexit=95%以上)より大きい場合に、退出通知2734をこれらの人に関連する装置に送信するように構成されてもよい。
【0269】
退出通知2734は、一般に、人の装置に送信され、追跡システム100が、その人が空間102を出たと判断したことの確認を含む。たとえば、空間102が店舗である場合、退出通知2734は、追跡システム100が、その人が店舗を出ており、よって、もはや買い物をしていないと知っているという確証を、その人に提供する。これは、追跡システム100が適切に動作しており、もはやその人物に品目を割り当てたり、または、その人物が購入するつもりがなかった品目について誤ってその人に課金したりしないという保証を、その人に提供することができる。
【0270】
退出通知2734がいつ送信されるべきかを決定するために、人々が空間102を出るにつれて、追跡システム100は退出確率の記録2732を維持してもよい。
図27の例では、時刻t
5(ビュー2730に示される)において、記録〔レコード〕2732は、第1のオブジェクト領域2704に関連する第1の人が空間102を出た退出確率(P
A,exit=93%)を含む。P
A,exitは、95%という例示的な閾値退出確率より小さいので、退出通知2734は、第1の人物には(たとえば、第1の人物の装置には)送られない。このように、第1のオブジェクト領域2704がもはや空間102において検出されなくなったとしても、第1の人物が依然として空間102にいる可能性があるため(すなわち、候補リスト2706、2710、2714を介して捕捉され、記録される素性の不確かさのため)、退出通知2734は送信されない。これは、人が空間102を出る前に、退出通知2734を受領することを防止する。レコード2732は、第2のオブジェクト領域2708に関連する第2の人物が空間102を出た退出確率(P
B,exit=97%)を含む。P
B,exitは、95%という閾値退出確率より大きいので、第2の人物には(たとえば、第2の人物の装置には)退出通知2734が送信される。レコード2732はまた、第3のオブジェクト領域2712に関連する第3の人物が空間102を出た退出確率(P
C,exit=10%)を含む。P
C,exitは、95%の閾値退出確率よりも小さいので、第3の人物には(たとえば、第3の人物の装置には)退出通知2734は送信されない。
【0271】
図28は、追跡システム100によって候補リスト2706、2710、2714を生成および/または維持するための方法2800のフローチャートである。方法2800は、一般に、候補リスト2706、2710、2714を維持することによって、追跡される人(たとえば、または他の目標オブジェクト)の改善された識別を容易にする。候補リスト2706、2710、2714は、所与の追跡される人、または対応する追跡されるオブジェクト領域(たとえば、領域2704、2708、2712)について、オブジェクトについての可能な識別子2701a~cと、各識別子2701a~cがその人について正しい対応する確率とを含む。追跡される人々について候補リスト2706、2710、2714を維持することによって、それらの人々は、追跡中により効果的かつ効率的に識別されうる。たとえば、コスト高な人物の再識別(たとえば、消費されるシステム資源の観点から)は、候補リストが人物の素性が十分に不確実であることを示している場合に使用されるだけでよい。
【0272】
方法2800は、一つまたは複数のセンサー108から画像フレームが受領されるステップ2802で開始されてもよい。ステップ2804で、追跡システム100は、受領されたフレームを使用して、空間102内のオブジェクトを追跡する。いくつかの実施形態では、追跡は、(たとえば、
図24~
図26に関して)本開示に記載された独特なツールのうちの一つまたは複数を使用して実行される。しかしながら、一般に、センサー・ベースのオブジェクト追跡の任意の適切な方法を採用することができる。
【0273】
ステップ2806では、追跡システム100は、第1の人物が第2の人物の閾値距離2718b以内にいるかどうかを判定する。この場合は、第1のオブジェクト領域2704が第2のオブジェクト領域2708から距離2718a離れている、上述の
図27のビュー2716に示される条件に対応しうる。上述したように、距離2718aは、フレーム内で測定されたピクセル距離または空間102内の物理的距離(たとえば、ピクセル座標を空間102内の物理的座標に関連付けるホモグラフィーを用いて決定される)に対応しうる。第1および第2の人が、互いの閾値距離2718b以内にない場合、システム100は、空間102内のオブジェクトを追跡し続ける(すなわち、ステップ2804に戻ることによって)。
【0274】
しかしながら、第1および第2の人が、互いの閾値距離2718b以内にある場合、方法2800は、ステップ2808に進み、ここで、第1および第2の人が識別子2701a~cをスイッチングした確率2717が決定される。上述のように、識別子2701a~cが入れ替わった確率2717は、たとえば、あらかじめ定義された確率値(たとえば、50%)にアクセスすることによって決定されてもよい。いくつかの実施形態では、確率2717は、上述のように、人(または対応するオブジェクト領域2704、2708)の間の距離2718aに基づく。いくつかの実施形態では、上述したように、追跡システム100は、第1の人物と第2の人物との間の相対的な配向を決定し、それらの人(または対応するオブジェクト領域2704、2708)が識別子2701a~cを入れ替えた確率2717が、少なくとも部分的に、この相対的な配向に基づいて決定される。
【0275】
ステップ2810では、第1および第2の人物(または対応するオブジェクト領域2704、2708)についての候補リスト2706、2710は、ステップ2808で決定された確率2717に基づいて更新される。たとえば、上述のように、更新された第1の候補リスト2706は、第1のオブジェクトが第1の識別子2701aに関連する確率、および第1のオブジェクトが第2の識別子2701bに関連する確率を含んでいてもよい。第2の人物についての第2の候補リスト2710は、第1のオブジェクトが第2のオブジェクトと識別子2701a~cを入れ替えた確率2717(ステップ2808で決定される)に基づいて同様に更新される。更新された第2の候補リスト2710は、第2の人が第1の識別子2701aに関連する確率、および第2の人が第2の識別子2701bに関連する確率を含んでいてもよい。
【0276】
ステップ2812では、追跡システム100は、第1の人物(または対応する領域2704)が、第3のオブジェクト(または対応する領域2712)の閾値距離2718b以内にあるかどうかを判断する。この場合は、たとえば、第1のオブジェクト領域2704が、第3のオブジェクト領域2712から距離2722離れている、上述の
図27のビュー2720に示される条件に対応しうる。上述のように、閾値距離2718bは、フレーム内で測定されたピクセル距離または空間102内の物理的距離(たとえば、ピクセル座標を空間102内の物理的座標に関連付ける適切なホモグラフィーを用いて決定されうる)に対応しうる。第1および第3の人(または対応する領域2704および2712)が、互いの閾値距離2718b以内にある場合、方法2800は、ステップ2814に進み、ここで、第1および第3の人(または対応する領域2704および2712)が、識別子2701a~cを入れ替えた確率2721が決定される。上述したように、識別子2701a~cが入れ替わった確率2721は、たとえば、あらかじめ定義された確率値(たとえば、50%)にアクセスすることによって決定されうる。確率2721は、さらに、または代替的に、上記のように、オブジェクト2727間の距離2722および/または第1および第3の人の相対的配向に基づいてもよい。ステップ2816では、第1および第3の人(または対応する領域2704、2712)についての候補リスト2706、2714が、ステップ2808で決定された確率2721に基づいて更新される。たとえば、上述のように、更新された第1の候補リスト2706は、第1の人が第1の識別子2701aと関連付けられる確率、第1の人が第2の識別子2701bと関連付けられる確率、および第1のオブジェクトが第3の識別子2701cと関連付けられる確率を含んでいてもよい。第3の人のための第3の候補リスト2714は、同様に、第1の人が第3の人と識別子を入れ替えた確率2721(すなわち、ステップ2814で決定されたもの)に基づいて更新される。更新された第3の候補リスト2714は、たとえば、第3のオブジェクトが第1の識別子2701aに関連付けられる確率、第3のオブジェクトが第2の識別子2701bに関連付けられる確率、および第3のオブジェクトが第3の識別子2701cに関連付けられる確率を含んでいてもよい。よって、方法2800のステップが、
図28に示される例示的な順序で進行する場合、第3の人物の候補リスト2714は、第3のオブジェクトが、もともと第2の人と関連付けられていた第2の識別子2701bと関連付けられる、ゼロでない確率を含む。
【0277】
ステップ2812において、第1および第3の人(または対応する領域2704および2712)が、互いの閾値距離2718b内にない場合、システム100は、一般に、空間102内の人を追跡し続ける。たとえば、システム100は、ステップ2818に進んで、第1の人物が第nの人物(すなわち、空間102内の他の何らかの人物)の閾値距離内にあるかどうかを判断してもよい。ステップ2820では、システム100は、たとえば、ステップ2808および2814に関して上述したように、第1および第nの人が識別子2701a~cを入れ替えた確率を決定する。ステップ2822において、第1および第nについての人の候補リストは、ステップ2820で決定された確率に基づいて、たとえば、ステップ2810および2816に関して上述したように、更新され、その後、方法2800が終了する。ステップ2818において、第1の人物が第nの人物の閾値距離内にない場合、方法2800はステップ2824に進む。
【0278】
ステップ2824では、追跡システム100は、人が空間102を出たかどうかを判定する。たとえば、上述したように、追跡システム100は、追跡される人に関連付けられた輪郭が、少なくとも閾値期間(たとえば、約30秒以上)にわたって、もはや検出されないと判定してもよい。システム100は、さらに、人がもはや検出されず、その人の最後に決定された位置が出口位置またはその近く(たとえば、空間102からの既知の出口につながるドアの近く)にあったときに、人が空間102から出たと判定することができる。人が空間102を出ていない場合、追跡システム100は、人々を追跡し続ける(たとえば、ステップ2802に戻ることによって)。
【0279】
ある人が空間102を出た場合、追跡システム100は、ステップ2826において、追跡される諸オブジェクトが空間102を出た確率の記録2732を計算または更新する。上述のように、記録2732の各退出確率は、一般に、各識別子2701a~cに関連する人が空間102を出た確率に対応する。ステップ2828において、追跡システム100は、記録2732内の組み合わされた退出確率が閾値(たとえば、95%以上)より大きいかどうかを判断する。組み合わされた退出確率が閾値より大きくなければ、追跡システム100は、オブジェクトを追跡し続ける(たとえば、ステップ2818に進むことによって)。
【0280】
記録2732からの退出確率が閾値よりも大きい場合、対応する退出通知2734が、
図27のビュー2730に関して上述したように、ステップ2830において、その確率に関連付けられた識別子2701a~cにリンクされた人に送信されてもよい。これは、オブジェクトがまだ空間102内にある間に、退出通知2734が早まって送信される事例を防止または低減することができる。たとえば、関連付けられた人がもはや空間102内に存在しない高い確実性があるまで、退出通知2734の送信を遅延させることが有益でありうる。いくつかの場合には、所与の識別子2701a~cについての記録2732の退出確率が、退出通知2734が人に(たとえば、その人に関連する装置に)送信されるのに十分な大きさになる前に、数人の追跡される人が空間102を出なければならない。
【0281】
図28に示される方法2800に対して、修正、追加、または省略が行われてもよい。方法2800は、より多くの、より少ない、または他のステップを含んでいてもよい。たとえば、ステップは、並列で、または任意の適切な順序で実行されうる。時には、追跡システム100またはその構成要素がステップを実行するように説明されるが、任意の適切なシステムまたはシステムの構成要素が、方法2800の一つまたは複数のステップを実行してもよい。
【0282】
人の再識別
上述したように、場合によっては、追跡される人の素性が不明になることがあり(たとえば、
図27~
図28に関して上述したように、人々が近接する、または「衝突」するとき、またはある人の候補リストが、その人物の素性が知られていないことを示すとき)、その人を再度素性確認する必要があることがある。本開示は、追跡システム100によって効率的かつ信頼性をもって人を再識別するための独特なアプローチを考えている。たとえば、人を再識別するために資源的に高価な機械学習に基づくアプローチに完全に依存するのではなく、人の観察可能な特徴(たとえば、高さ、色、幅、体積など)に関連する「低コスト」の記述子が、人の再識別のために最初に使用される、より効率的で特別に構造化されたアプローチが使用されうる。「高コスト」の記述子(たとえば、人工ニューラルネットワーク・モデルを用いて決定される)は、低コストの方法では信頼できる結果が得られない場合にのみ使用される。たとえば、いくつかの実施形態では、人は、まず、高さ、髪の色、および/または靴の色に基づいて、再識別されてもよい。しかしながら、これらの記述子が、人を確実に再識別するのに十分でない場合(たとえば、追跡される他の人が同様の特徴を有するため)、次第に高レベルのアプローチ(たとえば、人を認識するようにトレーニングされた人工ニューラルネットワークに関わるもの)を用いてもよい。かかるアプローチは、人の識別においてより効果的であるが、一般的には、より多くの処理資源の使用を伴う。
【0283】
一例として、各人の高さが、再識別のために最初に使用されうる。しかしながら、空間102内の他の人が同様の高さを有する場合、高さ記述子は、人を再識別するのに十分ではない可能性があり(たとえば、高さのみに基づくと、同様の高さをもつ人の間で区別することができないため)、より高いレベルのアプローチ(たとえば、人を特徴付けるためにテクスチャー演算子または人工ニューラルネットワークを使用する)が使用されうる。いくつかの実施形態において、類似の高さをもつ他の人が、再識別されている人と一度も相互作用したことがない場合(たとえば、各人の候補リストに記録されているところにより――
図27および上記の対応する説明を参照)、高さは、依然として、その人を再識別するための適切な特徴でありうる(たとえば、類似の高さをもつ他の人は、再識別されている人の候補素性と関連しないため)。
【0284】
図29は、一つまたは複数のセンサー108から受領されたセンサー・データ2904に基づいて、人(たとえば、および/または他の目標オブジェクト)を追跡するように構成された追跡サブシステム2900を示す。一般に、追跡サブシステム2900は、上述の
図1のサーバー106およびクライアント105の一方または両方を含んでいてもよい。追跡サブシステム2900は、
図38に関して後述される装置3800を使用して実装されてもよい。追跡サブシステム2900は、センサー108のうちの少なくとも1つによって生成されたセンサー・データ2904(たとえば、トップビュー画像)を使用して、ある時間期間にわたってオブジェクト位置2902を追跡することができる。オブジェクト位置2902は、単一のセンサー108において決定されたローカルなピクセル位置(たとえば、
図22のピクセル位置2226、2234)および/または空間102内の物理的位置(たとえば、
図22の位置2228)に対応するグローバル位置(たとえば、
図2~
図7に関して上述したホモグラフィーを使用して)に対応してもよい。場合によっては、オブジェクト位置2902は、対応する人の位置に関連する、画像または空間102において検出される領域(たとえば、上述の
図27の領域2704、2708、2712)に対応してもよい。人は、追跡されてもよく、対応する位置2902が、たとえば、センサー108によって生成されたトップビュー画像において検出された輪郭のピクセル座標に基づいて決定されてもよい。輪郭ベースの検出および追跡の例は、たとえば、
図24および
図27に関して上述されている。しかしながら、一般に、センサー・ベースの追跡の任意の適切な方法が、位置2902を決定するために使用されうる。
【0285】
各オブジェクト位置2902について、サブシステム2900は、(たとえば、
図27に関して上述したように)対応する候補リスト2906を維持する。候補リスト2906は、一般に、追跡されている(すなわち、位置2902に関連付けられる)各人の最も可能性の高い素性の記録を維持するために使用される。各候補リスト2906は、空間102に入った人々の識別子2908に関連付けられた確率を含む。識別子2908は、人を識別するための任意の適切な表現(たとえば、英数字ストリングなど)であってもよい(たとえば、追跡される人に関連するユーザー名、名前、アカウント番号など)。いくつかの実施形態において、識別子2908は、匿名化されてもよい(たとえば、ハッシュまたは任意の他の適切な匿名化技術を使用して)。
【0286】
識別子2908のそれぞれは、一つまたは複数のあらかじめ決定された記述子2910に関連付けられる。あらかじめ決定された記述子2910は、一般に、必要に応じて(たとえば、候補リスト2906に基づいて)人々を再識別するために使用できる追跡される人々に関する情報に対応する。あらかじめ決定された記述子2910は、識別子2908に関連する人々の観察可能なおよび/または計算された特徴に関連する値を含んでいてもよい。たとえば、記述子2910は、高さ、髪の色、衣服の色などを含んでいてもよい。以下により詳細に説明されるように、あらかじめ決定された記述子2910は、一般に、初期時間期間の間に(たとえば、所与の追跡される位置2902に関連付けられた人が空間に入るとき)追跡サブシステム2900によって決定され、必要な場合(たとえば、候補リスト2906に基づいて)、追跡される位置2902に関連する人を再識別するために使用される。
【0287】
位置2902にいる所与の人について再識別が必要とされる場合(または追跡中に定期的に)、追跡サブシステム2900は、位置2902に関連する人について、測定された記述子2912を決定してもよい。
図30は、センサー108から受領されたトップビュー深さ画像3002に基づく記述子2910、2912の決定を示す。追跡されるオブジェクト位置2902に対応する人の表現2904aは、画像3002において観察可能である。追跡サブシステム2900は、表現3004aに関連付けられた輪郭3004bを検出してもよい。輪郭3004bは、表現3004aの境界(たとえば、画像3002において所与の深さで決定される)に対応してもよい。追跡サブシステム2900は、一般に、表現3004aおよび/または輪郭3004bに基づいて、記述子2910、2912を決定する。いくつかの場合において、表現3004bは、記述子2910、2912が追跡サブシステム2900によって決定されるために、画像3002のあらかじめ定義された関心領域3006内に現れる。これは、たとえば、撮像される人がこの関心領域3006に対応するセンサーの視野の部分に位置する場合に記述子2910、2912は、より再現性が高く、かつ/または信頼性が高いため、より信頼性の高い記述子2910、2912の決定を容易にしうる。たとえば、記述子2910、2912は、人が関心領域3006内で撮像される場合に、より一貫した値を有しうる。
【0288】
このようにして決定された記述子2910、2912は、たとえば、観察可能な記述子3008および計算された記述子3010を含んでいてもよい。たとえば、観察可能な記述子3008は、画像3002から抽出することができ、人の観察可能な特徴に対応する表現3004aおよび/または輪郭3004bの特徴に対応しうる。観察可能な記述子3008の例は、表現3004aおよび/または輪郭3004bに基づく人の高さ記述子3012(たとえば、ピクセルまたは長さの単位での高さの指標)、表現3004aおよび/または輪郭3004bの形状記述子3014(たとえば、幅、長さ、アスペクト比など)、表現3004aおよび/または輪郭3004bの体積記述子3016、表現3004aの色記述子3018(たとえば、人の髪、衣服、靴などの色)、表現3004aおよび/または輪郭3004bの外観に関連する属性記述子3020(たとえば、「帽子をかぶっている」、「子供を抱えている」、「ベビーカーまたはカートを押している」などの属性記述子)などを含む。
【0289】
観察可能な記述子3008とは対照的に、計算された記述子3010は、一般に、表現3004aおよび/または輪郭3004bを使用して計算され、必ずしも人の観察可能な特性に対応しない値(たとえば、スカラーまたはベクトル値)を含む。たとえば、計算された記述子3010は、画像ベースの記述子3022およびモデル・ベースの記述子3024を含んでいてもよい。画像ベースの記述子3022は、たとえば、画像3002から計算される任意の記述子値(すなわち、スカラーおよび/またはベクトル値)を含んでいてもよい。たとえば、ローカル・バイナリー・パターン・ヒストグラム(LBPH)アルゴリズムのようなテクスチャー演算子を使用して、表現3004aに関連するベクトルを計算してもよい。このベクトルは、あらかじめ決定された記述子2910として格納され、その後の時点において、再識別のために、記述子2912として測定される。LBPHアルゴリズムのようなテクスチャー演算子の出力は大きい(すなわち、出力を格納するのに必要なメモリ量の点で)場合があるので、人を区別するのに最も有用な出力のサブセットを選択することが有益でありうる。よって、場合によっては、追跡サブシステム2900は、記述子2910、2912に含めるための、初期データ・ベクトルの一部を選択してもよい。たとえば、有効な人物再識別のために最も有用な初期データ・ベクトルの一部を選択し、保持するために主成分分析が使用されてもよい。
【0290】
画像ベースの記述子3022とは対照的に、モデル・ベースの記述子3024は、一般に、人工ニューラルネットワークのようなあらかじめ定義されたモデルを使用して決定される。たとえば、モデル・ベースの記述子3024は、トップビュー画像3002内の対応する表現3004aおよび/または輪郭3004bに基づいて人を認識するようにトレーニングされた人工ニューラルネットワークによって出力される出力(たとえば、スカラー値またはベクトル)であってもよい。たとえば、シャム・ニューラルネットワークが、トップビュー画像3002内の表現3004aおよび/または輪郭3004bを対応する識別子2908に関連付けるためにトレーニングされ、その後再識別2929のために使用されてもよい。
【0291】
図29に戻ると、追跡されている人の正しい素性を決定するために、追跡サブシステム2900の記述子比較器2914を使用して、測定された記述子2912を対応するあらかじめ決定された記述子2910と比較してもよい。たとえば、位置2902にいる人についての正しい識別子2908を決定するために、測定された記述子2912が対応するあらかじめ決定された記述子2910と比較されてもよい。たとえば、測定された記述子2912が高さ記述子3012である場合、それは、識別子2908についての所定の高さ記述子2910、または候補リスト2906を使用して決定された識別子2908のサブセットと比較されうる。記述子2910、2912を比較することは、スカラー記述子値の間の差(たとえば、高さ3012、体積3018などの差)を計算し、測定された記述子2912の値が、対応するあらかじめ決定された記述子2910の閾値範囲内にあるかどうかを判定し(たとえば、測定された記述子2912の色値3018が、あらかじめ決定された記述子2910の色値3018の閾値範囲内にあるかどうかを判定する)、測定された記述子2912のベクトルと対応するあらかじめ決定された記述子2910との間の余弦類似性値を決定し(たとえば、テクスチャー演算子またはニューラルネットワークを使用して計算された測定されたベクトルと、同じ仕方で計算された所定のベクトルとの間の余弦類似性値を決定する)ことを含んでいてもよい。いくつかの実施形態では、あらかじめ決定された記述子2910のサブセットのみが、測定された記述子2912と比較される。サブセットは、再識別されている位置2902の人のための候補リスト2906を使用して選択されうる。たとえば、その人の候補リスト2906は、より多数の識別子2908のサブセット(たとえば、2つ、3つなど)のみが、再識別を必要とする追跡されるオブジェクト位置2902と関連する可能性が高いことを示しうる。
【0292】
正しい識別子2908が記述子比較器2914によって決定される場合、比較器2914は、位置2902にいる再識別される人について候補リスト2906を更新することができる(たとえば、更新2916を送信することによって)。場合によっては、記述子2912は、再識別を必要としないオブジェクト(たとえば、候補リスト2906が、その人が単一の識別子2908に対応する100%の確率があることを示す人)について測定されることがある。これらの場合、測定された識別子2912は、人の既知の識別子2908のためのあらかじめ決定された記述子2910を更新および/または維持するために使用されうる(たとえば、更新2918を送信することによって)。たとえば、位置2902に関連する人が空間102を移動中に外観の変化を有する(たとえば、衣服の品目を追加または除去すること、異なる姿勢をとることなどによって)場合、あらかじめ決定された記述子2910を更新する必要がありうる。
【0293】
図31Aは、追跡システム2900の例示的動作中の、追跡される対象者3102、3104、3106の時間期間にわたる位置を示す。第1の人3102は、
図31Aにおいて実線によって表される、対応する軌跡3108を有する。軌跡3108は、その時間期間の間の空間102における人3102の位置の履歴に対応する。同様に、第2の人3104は、
図31Aにおいて点線で表される対応する軌跡3110を有する。軌跡3110は、その時間期間の間の空間102における人3104の位置の履歴に対応する。第3の人3106は、
図31Aにおいて点線によって表される対応する軌跡3112を有する。軌跡3112は、その時間期間の間の空間102における人物3112の位置の履歴に対応する。
【0294】
各人3102、3104、3106が最初に空間102に入るとき(たとえば、各人が領域3114内にあるとき)、あらかじめ決定された記述子2910は、一般に、人3102、3104、3106について決定され、人3102、3104、3106の識別子2908と関連付けられる。あらかじめ決定された記述子2910は、一般に、人3102、3104、3106のうちの一または複数の人の素性が十分に確実でない場合(たとえば、対応する候補リスト2906に基づいて、および/または後述する「衝突事象」に応答して)に、人3102、3104、3106を再識別するためにアクセスされる。たとえば、再識別は、人3102、3104、3106のうちの二人以上の間の「衝突事象」の後に必要とされうる。衝突事象は、典型的には、異なる人に関連付けられた輪郭が合体して単一の輪郭を形成する画像フレームに対応する(たとえば、
図22に示されるマージされた輪郭2220の検出が、衝突事象の検出に対応しうる)。いくつかの実施形態では、衝突事象は、人が別の人の閾値距離内に位置することに対応する(たとえば、
図27の距離2718aおよび2722および上記の対応する説明を参照)。より一般的には、衝突事象は、人の候補リスト2906が再識別が必要である(たとえば、候補リスト2906に記憶された確率に基づいて――
図27~
図28および上記の対応する説明を参照されたい)ことを示す結果となる任意の事象に対応しうる。
【0295】
図31Aの例において、人3102、3104、3106が領域3114内にある場合、追跡サブシステム2900は、第1の人3102の第1の高さに関連する第1の高さ記述子3012、第1の人3102の形状に関連する第1の輪郭記述子3014、第1の人3102についての人工ニューラルネットワークによって生成される第1のベクトルに対応する第1のアンカー記述子3024、および/または上記
図30に関して説明される任意の他の記述子2910を決定してもよい。これらの記述子のそれぞれは、第1の人3102を再識別するためのあらかじめ決定された記述子2910として使用するために記憶される。これらのあらかじめ決定された記述子2910は、第1の人3102の第1の識別子(すなわち、識別子2908のうちの第1の識別子)と関連付けられる。第1の人3102の素性が確実である場合(たとえば、位置3116における第1の衝突事象の前)、上述の記述子2910のそれぞれは、再度決定されて、あらかじめ決定された記述子2910を更新してもよい。たとえば、人3102が、該人3102が所望の関心領域(たとえば、
図30の関心領域3006)内にあることを許容する空間102内の位置に移動する場合、新たな記述子2912が決定されうる。追跡サブシステム2900は、これらの新しい記述子2912を使用して、前に決定された記述子2910を更新してもよい(たとえば、
図29の更新2918を参照)。あらかじめ決定された記述子2910を断続的に更新することによって、追跡される人々の外観の変化を考慮することができる(たとえば、人が衣服の品目を着脱する場合、異なる姿勢をとる場合など)。
【0296】
時間t
1に関連する第1のタイムスタンプにおいて、追跡サブシステム2900は、
図31Aに示される位置3116において、第1の人3102と第3の人3106との間の衝突事象を検出する。たとえば、衝突事象は、第1のタイムスタンプにおいて、第1の人3102の第1の追跡される位置が第3の人3106の第2の追跡される位置の閾値距離内にあることに対応しうる。いくつかの実施形態では、衝突事象は、第1のタイムスタンプにおいて第1の人3102に関連する第1の輪郭が第3の人3106に関連する第3の輪郭とマージすることに対応する。より一般的には、衝突事象は、第1の人3102および/または第3の人3106に関連する候補リストの最も高い値の確率が閾値を下回る(たとえば、
図27のビュー2728に関して上述したように)任意のできごとと関連付けられうる。換言すれば、人物3102の素性を不確定にする任意の事象が、衝突事象とみなされうる。
【0297】
衝突事象が検出された後、追跡サブシステム2900は、センサー108からトップビュー画像(たとえば、
図30のトップビュー画像3002)を受領する。追跡サブシステム2900は、トップビュー画像に基づいて、第1の人3102についての第1の記述子を決定する。上述のように、第1の記述子は、第1の人3104の(たとえば、
図30の表現3004aおよび/または輪郭3004bの)観察可能な、または計算された特徴に関連する少なくとも1つの値を含む。いくつかの実施形態では、第1の記述子は、上述したように、決定するのに相対的に少数の処理資源を必要とする「低コスト」記述子であってもよい。たとえば、追跡サブシステム2900は、よりコストの高い記述子(たとえば、
図30に関して上述したモデル・ベースの記述子3024)を決定しうるよりも、よりコストの低い記述子をより効率的に決定することができることがある。たとえば、第1の記述子を決定するために使用される処理コアの第1の数は、モデル・ベースの記述子3024を決定するために使用される処理コアの第2の数よりも少なくてもよい(たとえば、人工ニューラルネットワークを使用する)。よって、可能であればいつでも、低コストの記述子を用いて、可能であればいつでも、人を再識別することが有益でありうる。
【0298】
しかしながら、場合によっては、第1の記述子は、第1の人3102を再識別するのに十分でないことがある。たとえば、第1の人3102および第3の人3106が、同様の高さを有する人に対応する場合、高さ記述子3012は、一般に、人3102、3106を区別するために使用できない。よって、第1の記述子2912が第1の人3102を再識別するために使用される前に、追跡サブシステム2900は、第1の記述子2912に基づいて、第1の人物3102を第3の人物3106から区別するためのある種の基準が満たされるかどうかを判断することができる。いくつかの実施形態では、(たとえば、時刻t1の時点またはそれに近い時点における)衝突事象に関連する時間区間中に決定される、第1の人3102の記述子2912と第3の人3106の対応する記述子2912との間の差が、最小値未満である場合には、基準は満たされない。
【0299】
図31Bは、時間を追った人3102および3106についての記述子値の履歴に基づいて、これらの基準の評価を示している。
図31Bに示されるプロット3150は、時間を追った第1の人3102についての第1の記述子値3152と、時間を追った第3の人3106についての第2の記述子値3154とを示す。一般に、環境の変化、センサー108に対する人の向き、センサーの変動性、外観の変化などのために、記述子値は、時間とともに変動しうる。記述子値3152、3154は、
図30に関して上述したように、形状記述子3014、体積3016、輪郭ベースの記述子3022などに関連付けられてもよい。時刻t
1において、記述子値3152、3154は、
図31Bに示される閾値差3160より大きい、比較的大きな差3156を有する。よって、この例では、その時点またはその近くでは(たとえば、t
1後数秒または数分の短い時間区間内では)基準が満たされ、記述子値3152、3154と関連付けられた記述子2912は、一般に、第1および第3の人3102、3106を再識別するために使用できる。
【0300】
(t
1での場合と同様に)第1の記述子2912に基づいて、第1の人3102を第3の人3106から区別するための基準が満たされる場合、記述子比較器2914は、第1の人3102についての第1の記述子2912を、対応するあらかじめ決定された記述子2910のそれぞれと(すなわち、すべての識別子2908について)比較することができる。しかしながら、いくつかの実施形態では、比較器2914は、第1の人3102についての第1の記述子2912を、識別子2908の選択されたサブセットのみについてのあらかじめ決定された記述子2910と比較してもよい。サブセットは、再識別される人についての候補リスト2906を使用して選択されてもよい(たとえば、
図32に関して後述される方法3200のステップ3208を参照されたい)。たとえば、人の候補リスト2906は、より多数の識別子2908のサブセット(たとえば、2つ、3つなど)のみが、再識別を必要とする追跡されるオブジェクト位置2902と関連する可能性が高いことを示しうる。この比較に基づいて、追跡サブシステム2900は、第1の記述子2912に最も類似するあらかじめ決定された記述子2910を識別することができる。たとえば、追跡サブシステム2900は、あらかじめ決定された記述子2910の集合(または決定されたサブセット)の各要素について、第1の記述子2912の値およびあらかじめ決定された記述子2910の値の差の絶対値を計算することによって、第1の識別子2908が第1の人3102に対応すると決定してもよい。第1の識別子2908は、最小の絶対値に関連する識別子2908として選択されてもよい。
【0301】
再び
図31Aを参照すると、時間t
2において、人3102、3106の間で位置3118において第2の衝突事象が発生する。
図31Bに戻ると、記述子値3152、3154は、時間t
2において(たとえば、時間t
1における差3156と比較して)相対的に小さな差3158を有し、これは、閾値3160よりも小さい。よって、時間t
2において、記述子値3152、3154と関連付けられた記述子2912は、一般に、第1および第3の人3102、3106を再識別するために使用できず、第1の記述子2912を使用するための基準は満たされない。代わりに、異なる、そしておそらくは「よりコストの高い」記述子2912(たとえば、モデル・ベースの記述子3024)が、時間t
2において、第1および第3の人3102、3106を再識別するために使用されるべきである。
【0302】
たとえば、第1の記述子2912に基づいて第1の人3102を第3の人3106から区別するための基準が満たされない場合(時間t
2におけるこの例の場合のように)、追跡サブシステム2900は、第1の人3102についての新しい記述子2912を決定する。新しい記述子2912は、典型的には、トップビュー画像において人々を識別するように構成された人工ニューラルネットワークによって生成される値またはベクトル(たとえば、
図30のモデル・ベースの記述子3024)である。追跡サブシステム2900は、新しい記述子2912に基づいて、所定の識別子2908(または、上述のように、候補リスト2906に基づいて決定されたサブセット)からの第1の識別子2908が、第1の人3102に対応すると決定してもよい。たとえば、追跡サブシステム2900は、所定の識別子2908の集合(またはサブセット)の各要素について、第1の識別子2908の値とあらかじめ決定された記述子2910の値の差の絶対値を計算することによって、第1の識別子2908が第1の人3102に対応すると決定してもよい。第1の識別子2908は、最小の絶対値に関連する識別子2908として選択されてもよい。
【0303】
第2の記述子2912が上述のアプローチを使用して第1の人3102を確実に再識別するために使用できない場合、追跡サブシステム2900は、第1の人3102のすべての「候補識別子」について、測定された記述子2912を決定してもよい。候補識別子は、一般に、第1の人3102の候補リスト2906に現れる識別子2908と関連することが知られている人(たとえば、または他の追跡されるオブジェクト)の識別子2908を指す(たとえば、
図27および
図28に関して上述したように)。たとえば、候補識別子は、再識別される人の候補リスト2906に現れる(すなわち、追跡されるオブジェクト位置2902にいる)追跡される人の識別子2908であってもよい。
図31Cは、第1、第2、および第3の識別子2908についてのあらかじめ決定された記述子3162、3164、3166が、人3102、3104、3106についての測定される記述子3168、3170、3172のそれぞれと比較されうる方法を示す。比較は、記述子に関連するベクトル間の余弦類似性値を計算することを含みうる。比較の結果に基づいて、各人3102、3104、3106は、最良一致するあらかじめ決定された記述子3162、3164、3166に対応する識別子2908を割り当てられる。最良一致記述子は、最も高い余弦類似性値(すなわち、最も1に近い)に対応しうる。
【0304】
図32は、
図29に示され、上述された追跡サブシステム2900を使用して、追跡された人々を再識別するための方法3200を示す。方法3202は、追跡サブシステム2900が一つまたは複数のセンサー108からトップビュー画像フレームを受領するステップ3202で開始してもよい。ステップ3204において、追跡サブシステム2900は、センサー108によって生成されたトップビュー画像の少なくとも一部を使用して、空間102内の第1の人3102および一つまたは複数の他の人(たとえば、人3104、3106)を追跡する。たとえば、追跡は、
図24~
図26に関して上述したように、または任意の適切なオブジェクト追跡アルゴリズムを用いて実行することができる。追跡サブシステム2900は、識別子2908に関連する更新されたあらかじめ決定された記述子を周期的に決定してもよい(たとえば、
図29の更新2918に関して説明されるように)。いくつかの実施形態では、追跡サブシステム2900は、更新された記述子の決定に応答して、更新されたあらかじめ決定された記述子のうちの一つまたは複数が、対応する以前のあらかじめ決定された記述子2910と少なくとも閾値量だけ異なることを判別する。この場合、追跡サブシステム2900は、更新された記述子および対応する以前のあらかじめ決定された記述子2910の両方を保存することができる。これにより、追跡される人の特性が追跡中に断続的に変化する可能性がある場合に、改善された再識別が共用されうる。
【0305】
ステップ3206において、追跡サブシステム2900は、第1の追跡される人3102の再識別が必要かどうかを判断する。これは、画像フレームにおいて輪郭がマージしたという判定(たとえば、
図22のマージされた輪郭2220によって示されるように)に基づいてもよく、または、第1の人3102および第2の人3104が、上述のように、相互の閾値距離(たとえば、
図29の距離2918b)以内にあるという判定に基づいてもよい。いくつかの実施形態において、候補リスト2906は、第1の人3102の再識別が必要であることを決定するために使用されてもよい。たとえば、追跡される人3102に関連する候補リスト2906からの最も高い確率が閾値未満(たとえば、70%)である場合、再識別が必要とされうる(
図27~
図28および上述の対応する説明も参照されたい)。再識別が必要でない場合、追跡サブシステム2900は、一般に、空間内の人を追跡し続ける(たとえば、ステップ3204に戻ることによって)。
【0306】
ステップ3206において追跡サブシステム2900が、第1の追跡される人3102の再識別が必要であると判定する場合、追跡サブシステム2900は、ステップ3208において、第1の追跡される人3102についての候補識別子を決定してもよい。候補識別子は、一般に、空間102内の追跡される人と関連付けられたすべての識別子2908のサブセットを含み、候補識別子は、第1の追跡される人3102についての候補リスト2906に基づいて決定されうる。言い換えると、候補識別子は、識別子2906のサブセットであり、第1の追跡される人3102の移動の履歴および第1の追跡される人3102と空間102内の一または複数の他の追跡される人3104、3106との相互作用に基づいて(たとえば、これらの移動および相互作用に応答して更新される候補リスト2906に基づいて)、第1の追跡される人3102についての正しい識別子2908を含む可能性が最も高いものである。
【0307】
ステップ3210において、追跡サブシステム2900は、第1の追跡される人3102についての第1の記述子2912を決定する。たとえば、追跡サブシステム2900は、第1のセンサー108から、第1の人3102の第1のトップビュー画像(たとえば、
図30の画像3002など)を受領してもよい。たとえば、
図30の例に示すように、いくつかの実施形態では、記述子2912を決定するために使用される画像3002は、画像3002の完全フレーム内の関心領域3006内のオブジェクトの表現3004aを含む。これは、より信頼性の高い記述子2912の決定を提供しうる。いくつかの実施形態では、画像データ2904は、深さデータ(すなわち、異なる深さでの画像データ)を含む。そのような実施形態では、追跡サブシステム2900は、ある深さ関心領域に基づいて記述子2912を決定してもよく、ここで、深さ関心領域は、人3102の頭部に関連する、画像内の深さに対応する。これらの実施形態において、人3102の頭部の特性または特徴に関連する記述子2912が決定されてもよい。
【0308】
ステップ3212では、追跡サブシステム2900は、たとえば、第1の記述子2912に基づいて、第1の人3102を候補者から区別するためにある種の基準が満たされているかどうかを判断することによって、第1の人3102を候補識別子(たとえば、人3104、3106の一方または両方)から区別するために第1の記述子2912が使用できるかどうかを判定する。いくつかの実施形態では、
図31A、Bに関してより詳細に上述したように、衝突事象に関連する時間区間中に決定される、第1の記述子2912と候補の対応する記述子2910との間の差が、最小値未満である場合、基準は満たされない。
【0309】
第1の記述子が、第1の人3102を候補から区別するために使用できる場合(たとえば、
図31A、Bの例では時刻t
1においてそうであったように)、方法3200は、ステップ3214に進み、その時点で、追跡サブシステム2900は、第1の記述子2912に基づいて、第1の人3102について更新された識別子を決定する。たとえば、追跡サブシステム2900は、第1の記述子2912を、ステップ3208において第1の人3102について決定された候補オブジェクトに関連付けられたあらかじめ決定された記述子2910の集合と(たとえば、比較器2914を使って)比較してもよい。いくつかの実施形態では、第1の記述子2912は、画像内の第1の人の特性に関連するデータ・ベクトルであり(たとえば、LBPHアルゴリズムのようなテクスチャー演算子を使用して決定されるベクトル)、あらかじめ決定された記述子2910のそれぞれは、対応する所定のデータ・ベクトル(たとえば、空間102に入る際に、各追跡される人3102、3104、3106について決定される)を含む。そのような実施形態では、追跡サブシステム2900は、第1のデータ・ベクトルと所定のデータ・ベクトルのそれぞれとの間の余弦類似性値を計算することによって、第1の記述子2912を、候補オブジェクトに関連するあらかじめ決定された記述子2910のそれぞれと比較する。追跡サブシステム2900は、1に最も近い余弦類似性値をもつ候補オブジェクトの識別子2908(すなわち、第1の記述子2912のベクトルに最も「類似する」ベクトル)として、更新された識別子を決定する。
【0310】
ステップ3216では、他の追跡される人々3104、3106の識別子2908は、他の人々の候補リスト2906を更新することによって、適宜更新されうる。たとえば、第1の追跡される人3102が、第2の追跡される人3104と以前に関連付けられていた識別子2908と関連付けられていることが見出された場合。ステップ3208~3214は、第2の人3104について正しい識別子2908を決定するために、第2の人3104について繰り返されてもよい。いくつかの実施形態では、第1の人3102についての識別子2908が更新されると、ステップ3216において、第1の人の候補リスト2906に関連する人(たとえば、人3104および3106の一方または両方)についての識別子2908も更新される。一例として、第1の人3102の候補リスト2906は、第1の人3102が、もともと第2の人3104にリンクされていた第2の識別子2908と関連付けられるゼロではない確率と、第1の人3102が、もともと第3の人3106にリンクされていた第3の識別子2908と関連付けられる第3の確率とを有してもよい。この場合、第1の人3102の識別子2908が更新された後、第2および第3の人3104、3106の識別子2908も、ステップ3208~3214に従って更新されうる。
【0311】
ステップ3212において、第1の記述子2912が、第1の人3102を候補から区別するために使用できない場合(たとえば、
図31A、Bの例では時刻t
2においてそうであったように)、方法3200は、ステップ3218に進み、第1の人3102についての第2の記述子2912を決定する。上述したように、第2の記述子2912は、
図30のモデル・ベースの記述子3024のような「より高いレベルの」記述子であってもよい。たとえば、第2の記述子2912は、第1の記述子2912よりも、決定するのが(たとえば、必要とされる処理資源の点で)効率的でない場合がある。しかしながら、第2の記述子2912は、場合によっては、追跡される人々を区別するためにより効果的で、信頼性がある場合がある。
【0312】
ステップ3220において、追跡システム2900は、ステップ3212に関して上述したものと同一または類似のアプローチを使用して、第2の記述子2912が、第1の人3102を(ステップ3218からの)候補から区別するために使用できるかどうかを判断する。たとえば、追跡サブシステム2900は、第2の記述子2912とあらかじめ決定された記述子2910との間の余弦類似性値が、閾値余弦類似性値(たとえば、0.5)より大きいかどうかを判定してもよい。余弦類似性値が閾値より大きい場合、第2の記述子2912は一般に使用できる。
【0313】
第2の記述子2912が、第1の人3102を候補から区別するために使用できる場合、追跡サブシステム2900は、ステップ3222に進み、追跡サブシステム2900は、第2の記述子2912に基づいて、第1の人3102についての識別子2908を決定し、それに応じて、第1の人3102についての候補リスト2906を更新する。第1の人3102についての識別子2908は、ステップ3214に関して上述したように決定されてもよい(たとえば、第1の記述子2912に対応するベクトルと、あらかじめ決定された記述子2910に関連する以前に決定されたベクトルとの間の余弦類似性値を計算することによって)。次いで、追跡サブシステム2900は、上述したステップ3216に進み、適宜、他の追跡される人3104、3106の識別子2908(すなわち、候補リスト2906を介して)を更新する。
【0314】
そうではなく、第2の記述子2912が、第1の人3102を候補から区別するために使用できない場合、追跡サブシステム2900はステップ3224に進み、追跡サブシステム2900は、第1の人3102のすべておよび候補のすべてについて記述子2912を決定する。換言すれば、第1の人3102の候補リスト2906に現れる識別子2908に関連するすべての人について、測定された記述子2912が決定される(たとえば、
図31Cに関して上述したように)。ステップ3226において、追跡サブシステム2900は、第2の記述子2912を、第1の人3102の候補リスト2906に関連するすべての人と関連付けられたあらかじめ決定された記述子2910と比較する。たとえば、追跡サブシステム2900は、人工ニューラルネットワークを使用して決定された第2のデータ・ベクトルと、候補についてのあらかじめ決定された記述子値2910からの各対応するベクトルとの間の第2の余弦類似性値を決定してもよい(たとえば、上述の
図31Cに示されるように)。次に、追跡サブシステム2900は、ステップ3228に進み、ステップ3226での比較に基づいてすべての候補の識別子2908を決定し、更新した後に、空間102内の人々3102、3104、3106を追跡し続ける(たとえば、ステップ3204に戻ることによって)。
【0315】
図32に示される方法3200に、修正、追加、または省略を行ってもよい。方法3200は、より多くの、より少ない、または他のステップを含んでいてもよい。たとえば、ステップは、並列で、または任意の適切な順序で実行されうる。時に追跡システム2900が(たとえば、サーバー106および/またはクライアント105によって)またはその構成要素がステップを実行するものとして論じられるが、任意の適切なシステムまたはシステムの構成要素が、方法3200の一つまたは複数のステップを実行してもよい。
【0316】
正しい人に品目を割り当てるためのアクション検出
図12~
図15に関して上述したように、ラック112で重量事象が検出された場合、アクティブ化された重量センサー110に関連する品目が、ラック112に最も近い人に割り当てられてもよい。しかしながら、場合によっては、2人以上の人がラック112の近くにいることがあり、誰が品目をピックアップしたのかがはっきりしないことがある。よって、当その目を正しい人に適切に割り当てるために、さらなるアクションが必要とされることがある。
【0317】
いくつかの実施形態では、アルゴリズムのカスケード(たとえば、比較的すなおに決定される画像特徴に基づく、より単純なアプローチから、人工ニューラルネットワークに関わる、より複雑な戦略まで)を、品目を正しい人に割り当てるために使用されうる。カスケードは、たとえば、(i)ラック112への2人以上の近接、(ii)手がラックに隣接するゾーン(または「仮想カーテン」)に交差すること(たとえば、
図33Bのゾーン3324および下記の対応する説明を参照)、および/または(iii)品目がラック112から除去されたことを示す重量信号によってトリガーされてもよい。誰が品目をピックアップしたか最初に不確かである場合、独自の輪郭ベースのアプローチが、品目を正しい人に割り当てるために使用されうる。たとえば、2人がラック112に手を伸ばして品目をピックアップする場合、どの人の腕がラック112に延びてきてその品目をピックアップしたかを判定するために、頭部の高さから、より低い高さまで、輪郭が「拡張」されてもよい。しかしながら、この効率的な輪郭ベースのアプローチの結果がある種の信頼基準を満たさない場合、より計算的に高価なアプローチ(たとえば、ニューラルネットワーク・ベースの姿勢推定に関わるもの)が使用されうる。いくつかの実施形態では、追跡システム100は、2人以上の人が品目をピックアップした可能性があることを検出すると、品目を正しい人に効果的に割り当てるための有用な情報を含む可能性が最も高い一組のバッファ・フレームを記憶してもよい。たとえば、記憶されたバッファ・フレームは、人の一部がラック112に隣接するゾーン(たとえば、上述の
図33Bのゾーン3324)に入るとき、および/または人がこのゾーンを出るときの、短い時間区間に対応しうる。
【0318】
しかしながら、場合によっては、より進歩した人工ニューラルネットワーク・ベースの姿勢推定技術を用いても、品目を人に割り当てることは、依然として困難または不可能であることがある。これらの場合、追跡システム100は、品目がラック112を出た後にその品目を空間102を通じて追跡するために、さらなるバッファ・フレームを記憶してもよい。品目が停止位置に到達するとき(たとえば、十分に低い速度で)、追跡システム100は、どの人が停止した品目により近いかを判定し、品目は、一般に、最も近い人に割り当てられる。このプロセスは、品目が正しい人に確実に割り当てられるまで繰り返されてもよい。
【0319】
図33Aは、第1の人3302および第2の人3304が、品目3306a~cを格納するラック112の近くにいる例示的なシナリオを示す。各品目3306a~cは、対応する重量センサー110a~c上に格納される。追跡サブシステム3300に(すなわち、サーバー106および/またはクライアント105に)通信上結合されたセンサー108は、ラック112および人3302、3304を含む視野3310について、トップビュー深さ画像3308を生成する。トップビュー深さ画像3308は、ラック112の表現112aと、第1および第2の人3302、3304のそれぞれの表現3302a、3304aとを含む。ラック112(たとえば、その表現112a)は、それぞれ、重量センサー110a~cおよび関連する品目3306a~cの位置に対応する3つのゾーン3312a~cに分割することができる。
【0320】
この例では、人3302、3304のうちの1人が、重量センサー110cから品目3306cをピックアップし、追跡サブシステム3300は、品目3306cがラック112から除去されたことを示すトリガー信号3314を受領する。追跡サブシステム3300は、
図1に関して上述したクライアント(複数可)105およびサーバー106を含む。トリガー信号3314は、センサー110cから取り除かれた品目3306cによって引き起こされる重量の変化を示してもよい。信号3314を受領した後、サーバー106は、トリガー信号3314が受領された時点、その直前、および/またはその直後の時点に対応しうるトップビュー画像3308にアクセスする。いくつかの実施形態では、どの人3302、3304に品目3306cを割り当てるべきかを決定するために、トリガー信号3314は、さらに、または代替的に、追跡システム100が人3302、3304がラックに隣接するゾーンに入ることを検出すること(たとえば、上述の
図12~
図15の「仮想カーテン」および/または下記でより詳細に説明されるゾーン3324に関して説明されるように)に関連していてもよい。表現3302aおよび3304aは、両方の人3302、3304がラック112の近くにいることを示すので、品目3306cを正しい人3302、3304に割り当てるためには、さらなる解析が必要である。最初に、追跡システム100は、いずれかの人3302または3304の腕が、品目3306cをピックアップするためにゾーン3312cに向かって伸びてきている可能性があるかどうかを判定してもよい。しかしながら、画像3308内の領域3316および3318に示されるように、両方の表現3302a、3304aの一部は、ゾーン3312c内の品目3306cに手を伸ばしている可能性があるようにみえる。よって、第1の人3302または第2の人3304のどちらが品目3306cをピックアップしたかを判断するために、さらなる解析が必要である。
【0321】
初期には品目3306cを正しい人3302、3304に自信をもって割り当てることができない後、追跡システム100は、人3302または3304のどちらが品目3306cをピックアップしたかを判断するために、輪郭拡張アプローチを使用してもよい。
図33Bは、品目3306cを正しい人3302または3304に割り当てるための輪郭拡張アプローチの実装を示す。一般に、輪郭拡張は、第1のより小さい深さから第2のより大きな深さまで、第1の人3302に関連する第1の輪郭および第2の人3304に関連する第2の輪郭の逐次反復的な拡張を含む。ラック112に隣接するゾーン3324に最初に交差する拡張された輪郭が、品目3306cをピックアップした人3302、3304に対応しうる。拡張した輪郭は、輪郭拡張アプローチの結果が品目の割り当てのために使用されるべきであることを確実にするために、ある種の基準を満たす必要があるかもしれない。たとえば、基準は、
図33Bに示される輪郭検出ビュー3320、3326、3328、および3332に関してより詳細に説明されるように、ラック112に隣接するゾーン3324に入る輪郭の一部が、逐次反復的な拡張の最大回数以内に、第1の人3302または第2の人3304のいずれかと関連付けられるという要件を含んでいてもよい。これらの基準が満たされない場合、人3302または3304のどちらが品目3306cをピックアップしたかを決定するために、別の方法を使用すべきである。
【0322】
図33Bは、トップビュー画像3308内の第1の深さで検出された輪郭3302bを含む、ビュー3320を示す。第1の深さは、
図33Bに示されるように、空間102において追跡されることが期待される典型的な人3322の近似的な頭部高さに対応しうる。輪郭3302bは、ラック112の正面に隣接する空間の位置に対応するゾーン3324(たとえば、上述の
図12~
図15の「仮想カーテン」に関して説明したような)には入らず、接触しない。よって、追跡システム100は、画像3308内の第2の深さに進み、ビュー3326に示される輪郭3302cおよび3304bを検出する。第2の深さは、ビュー3320の第1の深さよりも大きい。輪郭3302cまたは3304bのいずれもゾーン3324に入らないので、追跡システム100は、ビュー3328に示されるように、画像3308内の第3の深さに進み、輪郭3302dおよび3304cを検出する。第3の深さは、
図33Bにおいて人3322に関して図示されるように、第2の深さよりも大きい。
【0323】
ビュー3328において、輪郭3302dは、ゾーン3324のエッジに入るか、または接するように見える。よって、追跡システム100は、輪郭3302dに関連する第1の人3302が、品目3306cに割り当てられるべきであると決定することができる。いくつかの実施形態では、品目3306cを人3302に最初に割り当てた後、追跡システム100は、腕セグメント3330が品目3306cに関連する適切なゾーン3312cに入るかどうかを判定するために、「腕セグメント」3330を投影してもよい。腕セグメント3330は、一般に、ラック112によって視界から隠蔽された空間における人の延ばされた腕の期待される位置に対応する。投影された腕セグメント3330の位置が、品目3306cの期待される位置(たとえば、ゾーン3312c内の位置)に対応しない場合、品目は、第1の人3302に割り当てられない(または、第1の人3302から割り当て解除される)。
【0324】
さらに増大した第4の深さでの別のビュー3332が、輪郭3302eおよび輪郭3304dを示す。これらの輪郭線3302eおよび3304dのそれぞれは、ゾーン3324のエッジに入ったり、接したりするように見える。しかしながら、第1の人3302に関連する拡張された輪郭(輪郭3302b~eに反映されている)は、第2の人3304に関連する拡張された輪郭(輪郭3304b~dに反映されている)よりも、少数の反復工程以内に(または、より小さい深さで)ゾーン3324に入った、または接したため、品目3306cは、一般に、第1の人3302に割り当てられる。一般に、輪郭線拡張を使用して品目3306cが人3302、3304の一方に割り当てられるためには、輪郭が拡張の最大回数以内に(たとえば、または最大深さに達する前に)ゾーン3324に入る必要がある場合がある。たとえば、品目3306cが第4の深さによって割り当てられなかった場合、追跡システム100は、輪郭拡張法を終わらせていて、以下に記載されるように、品目3306cを割り当てるための別のアプローチに進んでいてもよい。
【0325】
いくつかの実施形態では、
図33Bに示される輪郭拡張アプローチは、品目3306cを正しい人3302、3304に正しく割り当てることができない。たとえば、上述の基準が満たされないことがあり(たとえば、最大の深さまたは反復回数を超えることがある)、あるいは、異なる人3302または3304に関連する拡張された輪郭がマージして、輪郭拡張の結果が使用不可能になることもある。そのような場合、追跡システム100は、どの人3302、3304cが品目3306cをピックアップしたかを決定するために、別の戦略を採用してもよい。たとえば、追跡システム100は、各人3302、3304の姿勢を決定するために姿勢推定アルゴリズムを使用してもよい。
【0326】
図33Cは、第1の人3302についての第1の「骨格」3302fおよび第2の人3304についての第2の「骨格」3304eを含む、姿勢推定アルゴリズムの例示的な出力を示す。この例では、第1の骨格3302fは、骨格の腕が外側に伸びているように見えるため、「手を伸ばす姿勢」を割り当てられてもよい。この手を伸ばす姿勢は、人3302が品目3306cをピックアップするために手を伸ばしていることを示しうる。対照的に、第2の骨格3304eは、品目3306cに手を伸ばしているようには見えない。第1の骨格3302fのみが品目3306cに手を伸ばしているように見えるので、追跡システム100は、品目3306cを第1の人3302に割り当てることができる。姿勢推定の結果が不確かであった場合(たとえば、骨格3302f、3304eが両方とも品目3306cに手を伸ばしているように見えた、あるいは見えなかった場合)、品目割り当ての異なる方法が、追跡システム100によって実施されてもよい(たとえば、
図36~
図37に関して後述するように、品目3306cを空間102を通じて追跡することによって)。
【0327】
図34は、追跡システム100を使用して、品目3306cを人3302または3304に割り当てる方法3400を示す。方法3400は、ステップ3402で開始してもよく、ここで、追跡システム100は、センサー108によって生成されたトップビュー画像のフレームを含む画像フィードと、重量センサー110a~cからの重量測定値とを受領する。
【0328】
ステップ3404において、追跡システム100は、品目33106cのピックアップに関連する事象を検出する。一般に、事象は、人3302、3304の一部がラック112に隣接するゾーン(たとえば、
図33Bのゾーン3324)に入ること、および/または品目33106cが対応する重量センサー110cから除去されることに関連する重量の変化に基づくことができる。
【0329】
ステップ3406において、ステップ3404における事象の検出に応答して、追跡システム100は、複数の人3302、3304が、検出された事象に関連する可能性があるかどうかを判定する(たとえば、上述の
図33Aに示される例示的シナリオにおけるように)。たとえば、この決定は、人とラック112との間の距離、それらの人の間の人間
(じんかん)距離、人とラック112との間の相対的配向に基づいてもよい(たとえば、ラック112に面していない人3302、3304は、品目33106cをピックアップする候補ではない可能性がある)。1人の人3302、3304のみが事象に関連付けられうる場合、その人3302、3304は、ステップ3408において、品目3306cに関連付けられる。たとえば、品目3306cは、上述の
図12~
図14に関して説明されたように、最も近い人3302、3304に割り当てられてもよい。
【0330】
ステップ3410において、品目3306cは、ステップ3404で検出された事象に関連すると判断された人3302、3304に割り当てられる。たとえば、品目3306cは、人3302、3304と関連付けられたデジタル・カートに追加されうる。一般に、アクション(すなわち、品目3306cをピックアップすること)が、第1の人3302によって実行されたと判定された場合、アクション(および関連する品目3306c)は、第1の人3302に割り当てられ、アクションが第2の人3304によって実行されたと判定された場合、アクション(および関連する品目3306c)は、第2の人3304に割り当てられる。
【0331】
そうではなく、ステップ3406において、2人以上の人3302、3304が検出された事象に関連付けられる可能性がある場合、センサー108によって生成されたトップビュー画像のバッファ・フレームの選択された集合が、ステップ3412において記憶されうる。いくつかの実施形態において、記憶されたバッファ・フレームは、トリガー事象に続くトップビュー画像の3つ以下のフレームのみを含んでいてもよい。トリガー事象は、人3302、3304がラック112に隣接するゾーン(たとえば、
図33Bのゾーン3324)に入ること、人3302、3304の前記一部がラック112に隣接するゾーン(たとえば、
図33Bのゾーン3324)から出ること、および/または重量センサー110a~cによって決定される重量の変化に関連していてもよい。いくつかの実施形態において、バッファ・フレームは、重量の変化が重量センサー110によって報告された時点から、人3302、3304がラック112に隣接するゾーン(たとえば、
図33Bのゾーン3324)を出るまでの画像フレームを含んでいてもよい。バッファ・フレームは、一般に、センサー108から入手可能なすべての可能なフレームのサブセットを含む。よって、これらの記憶されたバッファ・フレーム(または記憶されたバッファ・フレームの一部)のみを記憶し、その後解析することによって、追跡システム100は、アクション(たとえば、および関連する品目106a~c)を、以前の技術を使用して可能であったよりも効率的に(たとえば、メモリおよび処理資源の使用の点で)、正しい人3302、3304に割り当てることができる。
【0332】
ステップ3414で、画像からの関心領域がアクセスされてもよい。たとえば、バッファ・フレームを記憶した後、追跡システム100は、保持するべき、トップビュー画像の関心領域を決定することができる。たとえば、追跡システム100は、各ビューの中心近くの領域(たとえば、
図30に示され、上述された領域3006)のみを記憶してもよい。
【0333】
ステップ3416において、追跡システム100は、ステップ3412で記憶されたバッファ・フレームのうちの少なくとも1つおよび第1のアクション検出アルゴリズムを使用して、検出された事象に関連するアクションが第1の人3302によって実行されたか、第2の人3304によって実行されたかを決定する。第1のアクション検出アルゴリズムは、一般に、記憶されたバッファ・フレーム内の一つまたは複数の輪郭の特性に基づいてアクションを検出するように構成される。一例として、第1のアクション検出アルゴリズムは、
図33Bに関して上述した輪郭拡張アルゴリズムでありうる。輪郭ベースのアクション検出方法の例示的な実装は、
図35に示される方法3500に関して以下でも、より詳細に説明される。いくつかの実施形態では、追跡システム100は、第1のアクション検出アルゴリズムと一緒に使用するバッファ・フレームのサブセットを決定してもよい。たとえば、サブセットは、人3302、3304がラック112に隣接するゾーン(たとえば、
図33Bに示されるゾーン3324)に入る時に対応しうる。
【0334】
ステップ3418において、追跡システム100は、第1のアクション検出アルゴリズムの結果が、第1のアルゴリズムが、どの人3302、3304が事象(すなわち、この例では、品目3306cをピックアップすること)に関連するかを決定するために適切であることを示す基準を満たすかどうかを判断する。たとえば、
図33Bに関して、また
図35に関して下記で述べる輪郭拡張アプローチについては、基準は、拡張の閾値回数以内に(たとえば、最大深さに達する前に)事象に関連する人3302、3304を識別するという要件でありうる。ステップ3416において基準が満たされるかどうかは、少なくとも部分的に、第1のアクション検出アルゴリズムを実装するために必要とされる逐次反復回数に基づくことができる。ステップ3418で基準が満たされる場合、追跡システム100はステップ3410に進み、ステップ3416で決定された事象に関連する人3302、3304に品目3306cを割り当てる。
【0335】
しかしながら、ステップ3418で基準が満たされない場合、追跡システム100は、ステップ3420に進み、ステップ3404で検出された事象に関連するアクションが、第1の人3302によって実行されたのか、第2の人3304によって実行されたのかを判断するために、異なるアクション検出アルゴリズムを使用する。これは、ステップ3412で選択されたバッファ・フレームの少なくとも1つに第2のアクション検出アルゴリズムを適用することによって実行されてもよい。第2のアクション検出アルゴリズムは、人工ニューラルネットワークを使用してアクションを検出するように構成されてもよい。たとえば、第2のアルゴリズムは、第1の人3302または第2の人3304の姿勢がアクションに対応するかどうかを判断するために使用される姿勢推定アルゴリズムであってもよい(たとえば、
図33Cに関して上述したように)。いくつかの実施形態では、追跡システム100は、第2のアクション検出アルゴリズムと一緒に使用するバッファ・フレームの第2のサブセットを決定してもよい。たとえば、サブセットは、重量変化が重量センサー110によって報告される時間に対応しうる。重量変化の時点での各人3302、3304の姿勢は、どちらの人3302、3304が品目3306cをピックアップしたかの良好な指標を提供しうる。
【0336】
ステップ3422において、追跡システム100は、第2のアルゴリズムが、どの人3302、3304が事象に(すなわち、品目3306cをピックアップすることに)関連するかを決定するために第2のアルゴリズムが適切であることを示す基準を満たすかどうかを判定してもよい。たとえば、各人3302、3304の姿勢(たとえば、上述の
図33Cの骨格3302fおよび3304eから決定される)が、依然として、人3302、3304のどちらも品目3306cをピックアップできた可能性があることを示唆する場合、基準は満たされない可能性があり、追跡システム100は、ステップ3424に進んで、別のアプローチを使って(たとえば、
図36および
図37に関して以下により詳細に説明するように、品目3306a~cの動きを空間102を通じて追跡することによって)オブジェクトを割り当てる。
【0337】
図34に示す方法3400に修正、追加、または省略を行うことができる。方法3400は、より多くのステップ、より少ないステップ、または他のステップを含むことができる。たとえば、ステップは、並列に、または任意の適切な順序で実行されうる。時には、追跡システム100またはその構成要素がステップを実行するように説明されるが、任意の適切なシステムまたはシステムの構成要素が、方法3400の一つまたは複数のステップを実行してもよい。
【0338】
上述のように、ステップ3416の第1のアクション検出アルゴリズムは、どの人3302、3304がラック112から品目3306a~cをピックアップするために手を伸ばしているかを決定するために、逐次反復的な輪郭拡張を含んでいてもよい。
図35は、輪郭拡張に基づく品目割り当ての例示的方法3500を示す。方法3500は、上述の
図34のステップ3416から開始して、ステップ3502に進んでもよい。ステップ3502において、追跡システム100は、輪郭が第1の深さ(たとえば、上述の
図33Bの第1の深さ)で検出されるかどうかを判断する。たとえば、
図33Bに示される例では、輪郭3302bは、第1の深さで検出される。輪郭が検出されない場合、追跡システム100はステップ3504に進み、最大深さ(たとえば、
図33Bの第4の深さ)に達したかどうかを判定する。最大深さに到達していない場合、追跡システム100は、ステップ3506において、画像における次の深さに逐次反復する(すなわち、進む)。そうではなく、最大深さに達している場合は、3500の方法が終了する。
【0339】
ステップ3502で輪郭が検出された場合、追跡システムはステップ3508に進み、検出された輪郭の一部がラック112に隣接するゾーン(たとえば、
図33Bに示されるゾーン3324)に重複するか、入るか、または他の仕方で接触するかどうかを判断する。いくつかの実施形態では、追跡システム100は、輪郭の投影された腕セグメント(たとえば、
図33Bの腕セグメント3330)がラック112の適切なゾーン3312a~c内に延びているかどうかを判断する。輪郭のいずれの部分もラック112に隣接するゾーン内に延びていない場合、追跡システム100は、ステップ3504において最大深さに達したかどうかを判定する。最大深さに達していない場合、追跡システム100は、次の、より大きな深さに逐次反復し、ステップ3502に戻る。
【0340】
ステップ3510において、追跡システム100は、輪郭がステップ3508においてラック112に隣接するゾーンに入ったと判別されるまでの反復工程の数(すなわち、ステップ3506が実行された回数)を決定する。ステップ3512において、この反復工程の数は、第2の(すなわち、異なる)検出された輪郭についての反復工程の数と比較される。たとえば、ステップ3502~35010を繰り返して、第2の輪郭がラック112に隣接するゾーンに入るための反復工程の数を(ステップ3506で)決定してもよい。反復工程の数が第2の輪郭よりも少ない場合、ステップ3514において、その品目は、第1の人3302に割り当てられる。さもなければ、品目は、ステップ3516において、第2の人3304に割り当てられうる。たとえば、
図33Bに関して上述したように、第1の拡張された輪郭3302b~eは、第2の拡張された輪郭3304bよりも少ない反復工程以内に、ラック112に隣接するゾーン3324に入った。この例では、品目は、第1の輪郭3302b~dに関連付けられた人3302に割り当てられる。
【0341】
いくつかの実施形態では、拡張された輪郭(すなわち、ステップ3506の2回以上のパスにより生成された輪郭)は、品目を割り当てるために使用されるためには、ある種の基準を満たさなければならない。たとえば、輪郭は、上述のように、拡張の最大回数以内に(たとえば、最大深さに達する前に)ラックに隣接するゾーンに入る必要がある場合がある。別の例として、拡張された輪郭は、閾値数未満のピクセルを含む必要がある場合がある。輪郭が大きすぎる場合は、それは、2人の近接した人と関連付けられた「マージされた輪郭」であってもよい(
図22および上述の対応する説明を参照)。
【0342】
図35に示される方法3500に修正、追加、または省略を行うことができる。方法3500は、より多くの、より少ない、または他のステップを含んでいてもよい。たとえば、ステップは、並列に、または任意の適切な順序で実行されうる。時に、追跡システム100またはその構成要素がステップを実行するものとして説明されるが、任意の適切なシステムまたはシステムの構成要素が、方法3500の一つまたは複数のステップを実行することができる。
【0343】
品目追跡に基づく品目割り当て
上述したように、いくつかの場合には、
図33C、
図34に関して上述した人工ニューラルネットワーク・ベースの姿勢推定などの高レベルのアルゴリズムを用いても、品目3306a~cを正しい人に割り当てることができない場合がある。これらの場合、品目3306cを正しい人3302、3304に割り当てるために、品目3306cがラック112を出た後の品目3306cの位置が追跡されうる。いくつかの実施形態では、追跡システム100は、品目3306cがラック112を出た後に品目3306cを追跡し、品目が移動を止める位置を識別し、どの人3302、3304が停止した品目3306cに最も近いかを判別することによって、これを行う。最も近い人3302、3304が、一般に、品目3306cを割り当てられる。
【0344】
図36A、Bは、品目割り当てに対するこの品目追跡ベースのアプローチを示す。
図36Aは、センサー108によって生成されたトップビュー画像3602を示す。
図36Bは、経時的な品目の速度3622のプロット3620を示す。
図36Aに示されるように、画像3602は、ラック112に隣接するゾーン3608から出たばかりの品目3606を保持する人3604の表現を含む。第2の人の表現3610も、品目3606のピックアップに関連していた可能性があるため、品目ベースの追跡は、品目3606を正しい人3604、3610に適切に割り当てるために必要とされる(たとえば、
図33~35について人3302、3304および品目3306cに関して上述したように)。追跡システム100は、(i)追跡ビュー3610および3616に示されるように、品目3606がラック112を出た後、時間を追って品目3606の位置を追跡し、(ii)
図36Bのプロット3620の曲線3622に示されるように、品目3606の速度を決定することができる。
図36Bに示される速度3622は、第1の停止した時間(t
stopped,1)および第2の停止した時間(t
stopped,2)に対応する変曲点においてゼロである。より一般的には、品目3606が停止した時間は、速度3622が閾値速度3624を下回る時に対応しうる。
【0345】
図36Aの追跡ビュー3612は、第1の停止した時間における、第1の人3604の位置3604a、品目3606の位置3606a、および第2の人3610の位置3610aを示す。第1の停止した時間(t
stopted,1)において、位置3604a、3610aは、両方とも、品目3606の位置3606aに近い。よって、追跡システム100は、自信をもって品目3606を正しい人3604または3610に割り当てることができない場合がある。よって、追跡システム100は、品目3606を追跡し続ける。追跡ビュー3614は、第2の停止した時間(t
stopted,2)における第1の人3604の位置3604a、品目3606の位置3606a、および第2の人3610の位置3610aを示す。第1の人3604の位置3604aのみが、品目3606の位置3606aに近いので、品目3606は、第1の人3604に割り当てられる。
【0346】
より具体的には、追跡システム100は、各停止した時間において、停止した品目3606と第1の人3604との間の第1の距離3626、および停止した品目3606と第2の人3610との間の第2の距離3628を決定してもよい。これらの距離3626、3628を使用して、追跡システム100は、第1のフレーム内の品目3606の停止位置が第1の人3604により近いか第2の人3610より近いか、および距離3626、3628が閾値距離3630よりも小さいかどうかを判断する。ビュー3612の第1の停止した時間においては、両方の距離3626、3628が閾値距離3630よりも小さい。よって、追跡システム100は、どちらの人3604、3610が品目3606に割り当てられるべきかを、信頼性をもって決定することはできない。対照的に、ビュー3614の第2の停止した時間においては、第1の距離3626のみが閾値距離3630よりも小さい。よって、追跡システムは、第2の停止した時間において、品目3606を第1の人3604に割り当てることができる。
【0347】
図37は、追跡システム100を使用する品目追跡に基づいて、品目3606を人3604または3610に割り当てる例示的な方法3700を示す。方法3700は、
図34に例示され、上述される方法3400の工程3424で開始し、ステップ3702に進んでもよい。ステップ3702において、追跡システム100は、品目追跡が必要とされると判断してもよい(たとえば、
図33~
図35に関して上述したアクション検出に基づくアプローチが不成功であったため)。ステップ3504において、追跡システム100は、センサー108によって生成されたトップビュー画像のバッファ・フレームを記憶する、および/またはそれにアクセスする。バッファ・フレームは、一般に、人3604または3610の一部がラック11236に隣接するゾーン3608を出るのに続く時間期間からのフレームを含む。
【0348】
ステップ3706において、追跡システム100は、記憶された諸フレームにおいて、品目3606の位置を追跡する。位置は、センサー108に関連するローカル・ピクセル位置(たとえば、クライアント105によって決定される)、または空間102内のグローバルな物理的位置(たとえば、適切なホモグラフィーを使用してサーバー106によって決定される)でありうる。いくつかの実施形態では、品目3606は、センサー108によって見られる視覚的に観察可能なタグを含んでいてもよく、該タグを使用して追跡システム100によって検出および追跡されてもよい。いくつかの実施形態において、品目3606は、機械学習アルゴリズムを使用して追跡システム100によって検出されてもよい。広い範囲の条件(たとえば、センサー108に対する異なる配向、異なる照明条件など)の下での多くの品目タイプの検出を容易にするために、機械学習アルゴリズムは、合成データ(たとえば、アルゴリズムをトレーニングするために使用できる人工的な画像データ)を使用してトレーニングされうる。
【0349】
ステップ3708において、追跡システム100は、品目3606の速度3622が閾値速度3624未満であるかどうかを判断する。たとえば、速度3622は、品目3606の追跡された位置に基づいて計算されてもよい。たとえば、品目3606の速度3622を計算するために、フレーム間における移動した距離を使用してもよい。品目の推定された将来の位置に基づいて品目速度3622を計算するために、粒子フィルタ追跡器(たとえば、
図24~
図26に関して上述したような)を使用してもよい。品目速度3622が閾値3624を下回る場合、追跡システム100は、品目3606の速度3622が閾値速度3624を下回るフレームを識別し、ステップ3710に進む。そうでなければ、追跡システム100は、ステップ3706において品目3606を追跡し続ける。
【0350】
ステップ3710において、追跡システム100は、識別されたフレームにおいて、停止した品目3606と第1の人3604との間の第1の距離3626、および停止した品目3606と第2の人3610との間の第2の距離3628を決定する。これらの距離3626、3628を使用して、追跡システム100は、ステップ3712において、第1のフレーム内の品目3606の停止位置が第1の人3604により近いか、第2の人3610により近いか、および距離3626、3628が閾値距離3630よりも小さいかどうかを判断する。一般に、品目3606が第1の人3604に割り当てられるためには、品目3606は、第1の人3604からの閾値距離3630内にあり(これは、その人が品目3606を保持している可能性が高いことを示す)、かつ、第2の人3610よりも第1の人3604に近いべきである。たとえば、ステップ3712において、追跡システム100は、停止位置が、第1の人3604から第1の距離3626離れており、第2の人3610から第2の距離3628離れていると判断してもよい。追跡システム100は、第1の距離3626と第2の距離3628との間の差の絶対値を決定し、その絶対値を閾値距離3630と比較することができる。絶対値が閾値距離3630より小さい場合、追跡システムはステップ3706に戻り、品目3606の追跡を継続する。そうではなく、追跡システム100は、閾値距離3630より大きく、品目3606が第1の人3604に十分近ければ、追跡システムは、ステップ3714に進み、品目3606を第1の人3604に割り当てる。
【0351】
図37に示される方法3700に、修正、追加、または省略を行ってもよい。方法3700は、より多くの、より少ない、または他のステップを含んでいてもよい。たとえば、ステップは、並列で、または任意の適切な順序で実行されうる。時には、追跡システム100またはそのコンポーネントが実行ステップを実行するものとして説明されるが、任意の適切なシステムまたはシステムの構成要素が、方法3700の一つまたは複数のステップを実行してもよい。
【0352】
ハードウェア構成
図38は、空間102内のオブジェクトおよび人を追跡するように構成された装置3800(たとえば、サーバー106またはクライアント105)の実施形態である。装置3800は、プロセッサ3802、メモリ3804、およびネットワークインターフェース3806を含む。装置3800は、図示のように、または任意の他の適切な構成で構成されてもよい。
【0353】
プロセッサ3802は、メモリ3804に動作可能に結合された一つまたは複数のプロセッサを備える。プロセッサ3802は、状態機械、一つまたは複数の中央処理装置(CPU)チップ、論理ユニット、コア(たとえば、マルチコアプロセッサ)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、またはデジタル信号プロセッサ(DSP)を含むが、これらに限定されない任意の電子回路である。プロセッサ3802は、プログラマブル論理装置、マイクロコントローラ、マイクロプロセッサ、または前述のものの任意の適切な組み合わせであってもよい。プロセッサ3802は、メモリ3804に通信的に結合され、メモリ3804と信号通信する。前記一つまたは複数のプロセッサは、データを処理するように構成され、ハードウェアまたはソフトウェアで実装されてもよい。たとえば、プロセッサ3802は、8ビット、16ビット、32ビット、64ビット、または任意の他の適切なアーキテクチャーであってもよい。プロセッサ3802は、算術演算および論理演算を実行するための算術論理ユニット(ALU)と、ALUにオペランドを供給し、ALU演算の結果を格納するプロセッサレジスタと、ALU、レジスタ、および他の構成要素の協調した動作を指令することによって、メモリから命令を取り出し、それらを実行する制御ユニットとを含んでいてもよい。
【0354】
前記一つまたは複数のプロセッサは、種々の命令を実装するように構成される。たとえば、前記一つまたは複数のプロセッサは、追跡エンジン3808を実装するための命令を実行するように構成される。このように、プロセッサ3802は、本明細書に開示される機能を実施するように設計された特別目的コンピュータであってもよい。ある実施形態では、追跡エンジン3808は、論理ユニット、FPGA、ASIC、DSP、または任意の他の適切なハードウェアを使用して実現される。追跡エンジン3808は、
図1~
図18に記載されるように動作するように構成される。たとえば、追跡エンジン3808は、
図2、
図6、
図8、
図10、
図12、
図15、
図16、および
図17にそれぞれ記載されるような方法200、600、800、1000、1200、1500、1600および1700のステップを実行するように構成されてもよい。
【0355】
メモリ3804は、一つまたは複数のディスク、テープドライブ、またはソリッドステートドライブを含み、オーバーフローデータ記憶装置として使用され、プログラムが実行のために選択されたときにプログラムを記憶し、プログラムの実行中に読み出された命令およびデータを記憶する。メモリ3804は、揮発性または不揮発性であってよく、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、三値連想記憶メモリ(TCAM)、ダイナミックランダムアクセスメモリ(DRAM)、およびスタティックランダムアクセスメモリ(SRAM)を含んでいてもよい。
【0356】
メモリ3804は、追跡命令3810、ホモグラフィー118、マーカ・グリッド情報716、マーカー辞書718、ピクセル位置情報908、隣接リスト1114、追跡リスト1112、デジタル・カート1410、品目マップ1308、および/または任意の他のデータもしくは命令を記憶するように動作可能である。追跡命令3810は、追跡エンジン3808を実行するように動作可能な命令、論理、規則、またはコードの任意の適切なセットを含んでいてもよい。
【0357】
ホモグラフィー118は、
図2~
図5Bに記載されるように構成される。マーカ・グリッド情報716は、
図6~
図7に記載されるように構成される。マーカー辞書718は、
図6~
図7に記載されるように構成される。ピクセル位置情報908は、
図8~
図9に記載されるように構成される。隣接リスト1114は、
図10~
図11に記載されるように構成される。追跡リスト1112は、
図10~
図11に記載されるように構成される。デジタル・カート1410は、
図12~
図18に記載されるように構成される。品目マップ1308は、
図12~
図18に記載されるように構成される。
【0358】
ネットワークインターフェース3806は、有線および/または無線通信を可能にするように構成される。ネットワークインターフェース3806は、装置3800と他のシステムまたはドメインとの間でデータを通信するように構成される。たとえば、ネットワークインターフェース3806は、WIFIインターフェース、LANインターフェース、WANインターフェース、モデム、スイッチ、またはルータを含んでいてもよい。プロセッサ3802は、ネットワークインターフェース3806を使用してデータを送受信するように構成される。ネットワークインターフェース3806は、当業者に理解されるように、任意の適切なタイプの通信プロトコルを使用するように構成されてもよい。
【0359】
本開示においていくつかの実施形態が提供されているが、開示されたシステムおよび方法は、本開示の精神または範囲から逸脱することなく、多くの他の特定の形態で具現されうることを理解されたい。本願の例は、制約するのではなく、例解するものであると考えられ、その意図は、本明細書に与えられた詳細に限定されるものではない。たとえば、種々の要素または構成要素を別のシステムに組み合わせるまたは統合することができ、あるいはある種の特徴を省略する、あるいは実装しないことができる。
【0360】
さらに、さまざまな実施形態において離散的または別個のものとして記載および図示された技術、システム、サブシステム、および方法は、本開示の範囲から逸脱することなく、他のシステム、モジュール、技術、または方法と組み合わされ、または統合されることができる。互いに結合され、または直接結合され、または通信するものとして示されるまたは論じられる他の品目は、電気的に、機械的に、または他の仕方のいずれであれ、何らかのインターフェース、装置、または中間コンポーネントを通じて間接的に結合され、または通信しうる。変更、置換、および改変の他の例は、当業者が見きわめることができ、本明細書に開示された精神および範囲から逸脱することなく行うことができる。
【0361】
特許庁、およびこの出願に基づいて発行される特許の読者が、本明細書に添付されたクレームを解釈する際に役立つように、出願人は、「…のための手段」または「…のためのステップ」の語が特定のクレームにおいて明示的に使用されない限り、添付のどのクレームについても、本明細書の出願日に存在する米国特許法第112条(f)を援用することを意図していないことを記しておく。
【0362】
〔条項1〕
オブジェクト追跡システムであって:
空間の少なくとも第1の部分についてグローバルプレーンの第1のフレームを捕捉するように構成された第1のセンサーであって:
前記グローバルプレーンは、前記空間の前記少なくとも一部分についての(x,y)座標を表し;
前記第1のフレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられている、第1のセンサーと;
前記空間の少なくとも第2の部分の第2のフレームを捕捉するように構成された第2のセンサーであって、前記空間の前記第2の部分は、前記空間の前記第1の部分と少なくとも部分的に重なって、重なり領域を画定する、第2のセンサーと;
前記第1のセンサーおよび前記第2のセンサーに動作可能に結合された追跡システムとを有しており、前記追跡システムは:
一つまたは複数のメモリであって:
前記第1のセンサーに関連付けられた第1のホモグラフィーであって、前記第1のホモグラフィーは、前記第1のフレーム内のピクセル位置と前記グローバルプレーン内の(x,y)座標との間で変換するように構成される、第1のホモグラフィー;
前記第2のセンサーに関連付けられた第2のホモグラフィーであって、前記第2のホモグラフィーは、前記第2のフレーム内のピクセル位置と前記グローバルプレーン内の(x,y)座標との間で変換するように構成される、第2のホモグラフィー;および
前記第1のセンサーに関連付けられた第1の追跡リストであって、前記第1の追跡リストは:
前記第1のセンサーによって追跡されているオブジェクトのオブジェクト識別子;および
前記第1のフレームにおける前記オブジェクトの位置に対応するピクセル位置情報を含む、第1の追跡リストと;
前記第2のセンサーに関連付けられた第2の追跡リストを記憶するように動作可能である、メモリと;
前記一つまたは複数のメモリに動作可能に結合された一つまたは複数のプロセッサであって:
前記第1のフレームを受領する段階と;
前記第1のフレーム内で前記オブジェクトを識別する段階と;
前記オブジェクトについての前記第1のフレームの中の第1のピクセル位置を決定する段階であって、前記第1のピクセル位置は、前記第1のフレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記第1のピクセル位置に基づいて、前記オブジェクトが前記第2のセンサーとの重なり領域内にあると判定する段階と;
前記第1のホモグラフィーを前記第1のピクセル位置に適用して、前記オブジェクトが位置する前記グローバルプレーンにおけるx値およびy値を識別する第1の(x,y)座標を決定する段階と;
前記第1の追跡リストから前記オブジェクトについての前記オブジェクト識別子を識別する段階と;
前記第2の追跡リストにおいて前記オブジェクトについての前記オブジェクト識別子を格納する段階と;
前記第2のホモグラフィーを前記第1の(x,y)座標に適用して、前記オブジェクトについての前記第2のフレームにおける第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記第2のフレームの第2のピクセル行および第2のピクセル列を含む、段階と;
前記第2のピクセル位置を、前記オブジェクトについての前記オブジェクト識別子とともに、前記第2の追跡リストに格納する段階とを実行するように構成されている、プロセッサとを有する、
システム。
〔条項2〕
前記第1の追跡リストにおける前記ピクセル位置情報は、前記オブジェクトについての以前のピクセル位置を同定し;
前記一つまたは複数のプロセッサがさらに:
前記オブジェクトについての前のピクセル位置に基づいて前記オブジェクトについての移動方向を決定し;
前記オブジェクトについての前記オブジェクト識別子とともに前記オブジェクトについての前記移動方向を前記第2の追跡リストに格納するように構成されている、
条項1に記載のシステム。
〔条項3〕
前記第1のフレームにおける各ピクセルは、ピクセル値に関連付けられ;
前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル値とz座標との間で変換するようにさらに構成される、
条項1に記載のシステム。
〔条項4〕
前記一つまたは複数のメモリは、さらに、前記第1のフレームと前記第2のフレームとの間の重なり領域に対応する前記第1のフレーム内のピクセルの第1の範囲を同定する隣接リストを格納するように動作可能であり、
前記人が重なり領域内にあると判定することは、前記人についてのピクセル位置が前記第1のフレーム内のピクセルの第1の範囲内にあることを判定することを含む、
条項1に記載のシステム。
〔条項5〕
前記空間の少なくとも第3の部分の第3のフレームを捕捉するように構成された第3のセンサーをさらに有しており、前記空間の前記第3の部分は、前記空間の前記第1の部分と少なくとも部分的に重なり、第2の重なり領域を画定し;
前記一つまたは複数のメモリは、隣接リストを格納するようにさらに動作可能であり、該隣接リストは:
前記第1のフレームと前記第2のフレームの間の重なり領域に対応する前記第1のフレームにおけるピクセルの第1の範囲を同定し;
前記第1のフレームと前記第3のフレームの間の第2の重複領域に対応する前記第1のフレームにおけるピクセルの第2の範囲を同定する、
条項1に記載のシステム。
〔条項6〕
前記第1のセンサーおよび前記第2のセンサーは、センサー・アレイとして構成された複数のセンサーの要素であり;
前記センサー・アレイは、前記グローバルプレーンと平行に位置される、
条項1に記載のシステム。
〔条項7〕
前記一つまたは複数のプロセッサは、さらに:
前記第1のセンサーから第3のフレームを受領する段階と;
前記オブジェクトが前記第3のフレームに存在しないことを判別する段階と;
前記オブジェクトが前記第3のフレームに存在しないことを判別することに応答して、前記第1の追跡リストから前記オブジェクトに関連する情報を破棄する段階とを実行するように構成されている、
条項1に記載のシステム。
〔条項8〕
オブジェクト追跡方法であって:
第1のセンサーから、空間の少なくとも第1の部分についてのグローバルプレーンの第1のフレームを受領する段階であって:
前記グローバルプレーンは、前記空間の前記少なくとも一部分についての(x,y)座標を表し;
前記第1のフレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられている、段階と;
前記第1のフレーム内で前記オブジェクトを識別する段階と;
前記オブジェクトについての前記第1のフレームの中の第1のピクセル位置を決定する段階であって、前記第1のピクセル位置は、前記第1のフレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記第1のピクセル位置に基づいて、前記オブジェクトが第2のセンサーとの重なり領域内にあると判定する段階であって、前記第2のセンサーは、前記空間の少なくとも第2の部分の第2のフレームを捕捉するように構成されている、段階と;
第1のホモグラフィーを前記第1のピクセル位置に適用して、前記オブジェクトが位置する前記グローバルプレーンにおけるx値およびy値を識別する第1の(x,y)座標を決定する段階であって、前記第1のホモグラフィーは、前記第1のフレーム内のピクセル位置と前記グローバルプレーン内の(x,y)座標との間で変換するように構成される、段階と;
第1の追跡リストから前記オブジェクトについてのオブジェクト識別子を識別する段階であって、前記第1の追跡リストは:
前記第1のセンサーによって追跡されているオブジェクトのオブジェクト識別子;および
前記第1のフレームにおける前記オブジェクトの位置に対応するピクセル位置情報を同定する、段階と;
前記第2のセンサーに関連付けられた第2の追跡リストにおいて前記オブジェクトについての前記オブジェクト識別子を格納する段階と;
第2のホモグラフィーを前記第1の(x,y)座標に適用して、前記オブジェクトについての前記第2のフレームにおける第2のピクセル位置を決定する段階であって、
前記第2のピクセル位置は、前記第2のフレームの第2のピクセル行および第2のピクセル列を含み、
前記第2のホモグラフィーは、前記第2のフレーム内のピクセル位置と前記グローバルプレーン内の(x,y)座標との間で変換するように構成される、段階と;
前記第2のピクセル位置を、前記オブジェクトについての前記オブジェクト識別子とともに、前記第2の追跡リストに格納する段階とを含む、
方法。
〔条項9〕
前記オブジェクトについての以前のピクセル位置に基づいて前記オブジェクトについての移動方向を決定する段階と;
前記オブジェクトについての前記オブジェクト識別子とともに前記オブジェクトについての前記移動方向を前記第2の追跡リストに格納する段階とをさらに含む、
条項8に記載の方法。
〔条項10〕
前記第1のフレームにおける各ピクセルは、ピクセル値に関連付けられ;
前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル値とz座標との間で変換するようにさらに構成される、
条項8に記載の方法。
〔条項11〕
前記人が重なり領域内にあると判定することは、前記人についてのピクセル位置が、前記第1のフレームにおける、前記第1のフレームと前記第2のフレームとの間の重なり領域に対応するピクセルの第1の範囲内にあることを判定することを含む、
条項8に記載の方法。
〔条項12〕
前記第1のセンサーから第3のフレームを受領する段階と;
前記オブジェクトが前記第3のフレームに存在しないことを判別する段階と;
前記オブジェクトが前記第3のフレームに存在しないことを判別することに応答して、前記第1の追跡リストから前記オブジェクトに関連する情報を破棄する段階とをさらに含む、
条項8に記載の方法。
〔条項13〕
前記第1のセンサーおよび前記第2のセンサーは、センサー・アレイとして構成された複数のセンサーの要素であり;
前記センサー・アレイは、前記グローバルプレーンと平行に位置される、
条項8に記載の方法。
〔条項14〕
非一時的なコンピュータ読み取り可能な媒体に記憶された実行可能な命令を含むコンピュータ・プログラムであって、前記命令はプロセッサによって実行されると、該プロセッサに:
第1のセンサーから、空間の少なくとも第1の部分についてのグローバルプレーンの第1のフレームを受領する段階であって:
前記グローバルプレーンは、前記空間の前記少なくとも一部分についての(x,y)座標を表し;
前記第1のフレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられている、段階と;
前記第1のフレーム内で前記オブジェクトを識別する段階と;
前記オブジェクトについての前記第1のフレームの中の第1のピクセル位置を決定する段階であって、前記第1のピクセル位置は、前記第1のフレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記第1のピクセル位置に基づいて、前記オブジェクトが第2のセンサーとの重なり領域内にあると判定する段階であって、前記第2のセンサーは、前記空間の少なくとも第2の部分の第2のフレームを捕捉するように構成されている、段階と;
第1のホモグラフィーを前記第1のピクセル位置に適用して、前記オブジェクトが位置する前記グローバルプレーンにおけるx値およびy値を識別する第1の(x,y)座標を決定する段階であって、前記第1のホモグラフィーは、前記第1のフレーム内のピクセル位置と前記グローバルプレーン内の(x,y)座標との間で変換するように構成される、段階と;
第1の追跡リストから前記オブジェクトについてのオブジェクト識別子を識別する段階であって、前記第1の追跡リストは:
前記第1のセンサーによって追跡されているオブジェクトのオブジェクト識別子;および
前記第1のフレームにおける前記オブジェクトの位置に対応するピクセル位置情報を同定する、段階と;
前記第2のセンサーに関連付けられた第2の追跡リストにおいて前記オブジェクトについての前記オブジェクト識別子を格納する段階とを実行させるものである、
コンピュータ・プログラム。
〔条項15〕
前記プロセッサによって実行されると、該プロセッサに:
第2のホモグラフィーを前記第1の(x,y)座標に適用して、前記オブジェクトについての前記第2のフレームにおける第2のピクセル位置を決定する段階であって、
前記第2のピクセル位置は、前記第2のフレームの第2のピクセル行および第2のピクセル列を含み、
前記第2のホモグラフィーは、前記第2のフレーム内のピクセル位置と前記グローバルプレーン内の(x,y)座標との間で変換するように構成される、段階と;
前記第2のピクセル位置を、前記オブジェクトについての前記オブジェクト識別子とともに、前記第2の追跡リストに格納する段階とを実行させる命令をさらに含む、
条項14に記載のコンピュータ・プログラム。
〔条項16〕
前記プロセッサによって実行されると、該プロセッサに:
前記オブジェクトについての以前のピクセル位置に基づいて前記オブジェクトについての移動方向を決定する段階と;
前記オブジェクトについての前記オブジェクト識別子とともに前記オブジェクトについての前記移動方向を前記第2の追跡リストに格納する段階とを実行させる命令をさらに含む、
条項14に記載のコンピュータ・プログラム。
〔条項17〕
前記第1のフレームにおける各ピクセルは、ピクセル値に関連付けられ;
前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル値とz座標との間で変換するようにさらに構成される、
条項14に記載のコンピュータ・プログラム。
〔条項18〕
前記人が重なり領域内にあると判定することは、前記人についてのピクセル位置が、前記第1のフレームにおける、前記第1のフレームと前記第2のフレームとの間の重なり領域に対応するピクセルの第1の範囲内にあることを判定することを含む、
条項14に記載のコンピュータ・プログラム。
〔条項19〕
前記プロセッサによって実行されると、該プロセッサに:
前記第1のセンサーから第3のフレームを受領する段階と;
前記オブジェクトが前記第3のフレームに存在しないことを判別する段階と;
前記オブジェクトが前記第3のフレームに存在しないことを判別することに応答して、前記第1の追跡リストから前記オブジェクトに関連する情報を破棄する段階とを実行させる命令をさらに含む、
条項14に記載のコンピュータ・プログラム。
〔条項20〕
前記第1のセンサーおよび前記第2のセンサーは、センサー・アレイとして構成された複数のセンサーの要素であり;
前記センサー・アレイは、前記グローバルプレーンと平行に位置される、
条項14に記載のコンピュータ・プログラム。
【0363】
〔条項21〕
オブジェクト追跡システムであって:
空間についてのグローバルプレーン内のラックの少なくとも一部分のフレームを捕捉するように構成されたセンサーであって:
前記グローバルプレーンは、前記空間についての(x,y)座標を表し;
前記フレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行、ピクセル列およびピクセル値を含むピクセル位置に関連付けられており;
前記ピクセル値は前記グローバルプレーンにおけるz座標に対応し;
前記フレームはさらに:
前記グローバルプレーンにおける前記ラックの前記第1の部分に対応する第1のゾーン;
前記グローバルプレーンにおける前記ラックの第2の部分に対応する第2のゾーン;および
前記第1のゾーンおよび前記第2のゾーンに近接する第3のゾーンを含んでおり、
前記ラックは:
前記ラック上で第1の高さにある第1の棚であって、前記第1の棚は、前記グローバルプレーンにおける前記第1のゾーンと前記グローバルプレーンにおける前記第2のゾーンによってパーティション分割されている、第1の棚;および
前記ラック上の第2の高さにある第2の棚であって、前記第2の棚は、前記グローバルプレーンにおける前記第1のゾーンと前記グローバルプレーンにおける前記第2のゾーンによってパーティション分割されている、第2の棚を含む、
センサーと;
前記センサーに動作可能に結合された追跡システムとを有しており、前記追跡システムは:
一つまたは複数のメモリであって:
人に関連付けられたデジタル・カート;および
品目マップであって:
前記ラックの前記第1の棚の前記第1のゾーンに第1の品目を;
前記ラックの前記第1の棚の前記第2のゾーンに第2の品目を;
前記ラックの前記第2の棚の前記第1のゾーンに第3の品目を;
前記ラックの前記第2の棚の前記第2のゾーンに第4の品目を関連付けるように構成された品目マップを記憶するように動作可能なメモリと;
前記一つまたは複数のメモリに動作可能に結合された一つまたは複数のプロセッサであって:
前記フレームを受領する段階と;
前記フレームの前記第3のゾーン内のオブジェクトを検出する段階と;
前記オブジェクトについてのピクセル位置を決定する段階であって、前記ピクセル位置は、第1のピクセル行、第1のピクセル列、および第1のピクセル値を含む、段階と;
前記オブジェクトについての前記ピクセル位置の前記第1のピクセル行および前記第1のピクセル列に基づいて、前記第1のゾーンおよび前記第2のゾーンのうちの1つを識別する段階と;
前記オブジェクトについての前記ピクセル位置の前記第1のピクセル値に基づいて、前記ラックの前記第1の棚と前記ラックの前記第2の棚のうちの一方を識別する段階と;
識別されたゾーンと前記ラックの識別された棚に基づいて前記品目マップにおける品目を識別する段階と;
識別された品目を、前記人に関連付けられた前記デジタル・カートに追加する段階とを実行するように構成されたプロセッサとを有する、
システム。
〔条項22〕
前記第1のゾーンは前記フレームにおけるピクセルの第1の範囲に関連付けられており;
前記第2のゾーンは前記フレームにおけるピクセルの第2の範囲に関連付けられており;
前記第1のゾーンおよび前記第2のゾーンのうちの1つを識別することが:
前記オブジェクトについての前記ピクセル位置が前記フレームにおけるピクセルの前記第1の範囲内にあるとき、前記第1のゾーンを識別し:
前記オブジェクトについての前記ピクセル位置が前記フレームにおけるピクセルの前記第2の範囲内にあるとき、前記第2のゾーンを識別することを含む、
条項21に記載のシステム。
〔条項23〕
フレームは、前記ラックの正面および前記第3のゾーンに近接する第4のゾーンをさらに含み、
前記一つまたは複数のプロセッサはさらに:
前記人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレーム内の第2のピクセル行および第2のピクセル列を含む、段階と;
前記人と関連付けられた前記デジタル・カートに前記識別された品目を追加する前に、前記人が前記第4のゾーン内にあることを判別する段階とを実行するように構成されている、
条項21に記載のシステム。
〔条項24〕
前記ラックの識別された棚の上の識別されたゾーンに配置された重量センサーをさらに有しており、前記重量センサーは、該重量センサー上の品目の重量を測定するように構成されており、
前記一つまたは複数のプロセッサは、さらに:
前記重量センサー上の重量減少量を決定する段階と;
前記重量減少量に基づいて品目数量を決定する段階と;
識別された品目数量を、前記人に関連付けられた前記デジタル・カートに追加する段階とを実行するように構成されている、
条項21に記載のシステム。
〔条項25〕
前記一つまたは複数のプロセッサは、さらに:
前記人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレームにおける第2のピクセル行および第2のピクセル列を含む、段階と;
第2の人についての第3のピクセル位置を決定する段階であって、前記第3のピクセル位置は、第3のピクセル行および第3のピクセル列を含む、段階と;
前記オブジェクトのピクセル位置と前記人についての前記第2のピクセル位置との間の第1の距離を決定する段階と;
前記オブジェクトのピクセル位置と前記第2の人についての前記第3のピクセル位置との間の第2の距離を決定する段階と;
前記識別された品目を前記人に関連付けられた前記デジタル・カートに追加する前に、前記第1の距離が前記第2の距離より小さいことを判別する段階とを実行するように構成されている、
条項21に記載のシステム。
〔条項26〕
前記センサーが、センサー・アレイとして構成された複数のセンサーの要素であり;
前記センサー・アレイは、前記グローバルプレーンと平行に位置される、
条項21に記載のシステム。
〔条項27〕
前記一つまたは複数のメモリは、さらに、前記センサーに関連付けられたホモグラフィーを格納するように動作可能であり;
前記ホモグラフィーは、前記フレーム内のピクセル位置と前記グローバルプレーン内の(x,y)座標との間で変換するように構成される、
条項21に記載のシステム。
〔条項28〕
前記ホモグラフィーは、前記フレーム内のピクセル値と前記グローバルプレーン内のz座標との間で変換するようにさらに構成される、条項27に記載のシステム。
〔条項29〕
前記一つまたは複数のプロセッサは、さらに:
前記人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレームにおける第2のピクセル行および第2のピクセル列を含む、段階と;
前記ホモグラフィーを前記第2のピクセル位置に適用して、前記グローバルプレーンにおける第1の(x,y)座標を決定する段階とを実行するように構成されている、
条項27に記載のシステム。
〔条項30〕
前記一つまたは複数のプロセッサは、前記第1の(x,y)座標に基づいて前記ラックを識別するようにさらに構成されている、条項29に記載のシステム。
〔条項31〕
オブジェクト追跡方法であって:
センサーから、空間についてのグローバルプレーン内のラックの少なくとも一部分のフレームを受領する段階であって:
前記グローバルプレーンは、前記空間についての(x,y)座標を表し;
前記フレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行、ピクセル列およびピクセル値を含むピクセル位置に関連付けられており;
前記ピクセル値は前記グローバルプレーンにおけるz座標に対応する、段階と;
前記フレームの第1ゾーン内のオブジェクトを検出する段階と;
前記オブジェクトについてのピクセル位置を決定する段階であって、前記ピクセル位置は、第1のピクセル行、第1のピクセル列、および第1のピクセル値を含む、段階と;
前記オブジェクトについての前記ピクセル位置の前記第1のピクセル行および前記第1のピクセル列に基づいて、前記グローバルプレーンにおける前記ラックの第1の部分に対応する第2のゾーンおよび前記グローバルプレーンにおける前記ラックの第2の部分に対応する第3のゾーンのうちの1つを識別する段階と;
前記オブジェクトについての前記ピクセル位置の前記第1のピクセル値に基づいて、前記ラックの第1の棚と前記ラックの第2の棚のうちの一方を識別する段階と;
識別されたゾーンと前記ラックの識別された棚に基づいて品目を識別する段階と;
識別された品目を、前記人に関連付けられたデジタル・カートに追加する段階とを含む、
方法。
〔条項32〕
前記人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレーム内の第2のピクセル行および第2のピクセル列を含む、段階と;
前記人と関連付けられた前記デジタル・カートに前記識別された品目を追加する前に、前記人が前記ラックの正面および前記第3のゾーンに近接する第4のゾーン内にあることを判別する段階とを実行する段階とをさらに含む、
条項31に記載の方法。
〔条項33〕
重量センサー上の重量減少量を決定する段階と;
前記重量減少量に基づいて品目数量を決定する段階と;
識別された品目数量を、前記人に関連付けられた前記デジタル・カートに追加する段階とをさらに含む、
条項311に記載の方法。
〔条項34〕
前記人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレームにおける第2のピクセル行および第2のピクセル列を含む、段階と;
第2の人についての第3のピクセル位置を決定する段階であって、前記第3のピクセル位置は、第3のピクセル行および第3のピクセル列を含む、段階と;
前記オブジェクトのピクセル位置と前記人についての前記第2のピクセル位置との間の第1の距離を決定する段階と;
前記オブジェクトのピクセル位置と前記第2の人についての前記第3のピクセル位置との間の第2の距離を決定する段階と;
前記識別された品目を前記人に関連付けられた前記デジタル・カートに追加する前に、前記第1の距離が前記第2の距離より小さいことを判別する段階とをさらに含む、
条項31に記載の方法。
〔条項35〕
前記人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレームにおける第2のピクセル行および第2のピクセル列を含む、段階と;
ホモグラフィーを前記第2のピクセル位置に適用して、前記グローバルプレーンにおける第1の(x,y)座標を決定する段階であって、前記ホモグラフィーは、前記フレーム内のピクセル位置と前記グローバルプレーン内の(x,y)座標との間で変換するように構成される、段階とをさらに含む、
条項31に記載の方法。
【0364】
〔条項36〕
オブジェクト追跡システムであって:
空間についてのグローバルプレーン内のラックの少なくとも一部分のフレームを捕捉するように構成されたセンサーであって:
前記グローバルプレーンは、前記空間についての(x,y)座標を表し;
前記フレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行、ピクセル列およびピクセル値を含むピクセル位置に関連付けられており;
前記ピクセル値は前記グローバルプレーンにおけるz座標に対応し;
前記フレームはさらに、前記ラックの正面に近接する第1のゾーンを含んでいる、センサーと;
前記センサーに動作可能に結合された追跡システムとを有しており、前記追跡システムは:
人に関連付けられたデジタル・カートを記憶するように動作可能な一つまたは複数のメモリと;
前記一つまたは複数のメモリに動作可能に結合された一つまたは複数のプロセッサであって:
前記フレームを受領する段階と;
前記フレームの前記第1のゾーン内のオブジェクトを検出する段階と;
前記オブジェクトについてのピクセル位置を決定する段階であって、前記ピクセル位置は、第1のピクセル行、第1のピクセル列、および第1のピクセル値を含む、段階と;
前記オブジェクトについての前記ピクセル位置の前記第1のピクセル行および前記第1のピクセル列に基づいて、前記ラックの一部分を識別する段階と;
前記オブジェクトについての前記ピクセル位置の前記第1のピクセル値に基づいて、前記ラックの棚を識別する段階と;
前記ラックの前記識別された部分と前記ラックの前記識別された棚に基づいて品目を識別する段階と;
識別された品目を、前記人に関連付けられた前記デジタル・カートに追加する段階とを実行するように構成されたプロセッサとを有する、
システム。
〔条項37〕
前記フレームは、前記ラックの正面および前記第1のゾーンに近接する第2のゾーンをさらに含み、
前記一つまたは複数のプロセッサはさらに:
前記人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレーム内の第2のピクセル行および第2のピクセル列を含む、段階と;
前記人と関連付けられた前記デジタル・カートに前記識別された品目を追加する前に、前記人が前記第2のゾーン内にあることを判別する段階とを実行するように構成されている、
条項36に記載のシステム。
〔条項38〕
前記ラックに配置された重量センサーをさらに有しており、
前記一つまたは複数のプロセッサは、さらに:
前記重量センサー上の重量減少量を決定する段階と;
前記重量減少量に基づいて品目数量を決定する段階と;
識別された品目数量を、前記人に関連付けられた前記デジタル・カートに追加する段階とを実行するように構成されている、
条項36に記載のシステム。
〔条項39〕
前記一つまたは複数のプロセッサは、さらに:
前記人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレームにおける第2のピクセル行および第2のピクセル列を含む、段階と;
第2の人についての第3のピクセル位置を決定する段階であって、前記第3のピクセル位置は、第3のピクセル行および第3のピクセル列を含む、段階と;
前記オブジェクトのピクセル位置と前記人についての前記第2のピクセル位置との間の第1の距離を決定する段階と;
前記オブジェクトのピクセル位置と前記第2の人についての前記第3のピクセル位置との間の第2の距離を決定する段階と;
前記識別された品目を前記人に関連付けられた前記デジタル・カートに追加する前に、前記第1の距離が前記第2の距離より小さいことを判別する段階とを実行するように構成されている、
条項36に記載のシステム。
〔条項40〕
前記センサーが、センサー・アレイとして構成された複数のセンサーの要素であり;
前記センサー・アレイは、前記グローバルプレーンと平行に位置される、
条項36に記載のシステム。
【0365】
〔条項41〕
オブジェクト追跡システムであって:
空間についてのグローバルプレーン内のラックの少なくとも一部分のフレームを捕捉するように構成されたセンサーであって:
前記グローバルプレーンは、前記空間についての(x,y)座標を表し;
前記フレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられており;
前記フレームは、前記ラックに関連付けられたあらかじめ定義されたゾーンを含み;
前記あらかじめ定義されたゾーンは前記ラックの正面に近接しており;
前記あらかじめ定義されたゾーンは、前記空間についてのグローバルプレーンにおける(x,y)座標の範囲に関連付けられる、センサーと;
前記ラックの棚に配置された複数の重量センサーであって、
各重量センサーは、前記ラックの前記棚の上の、その重量センサー上に格納されている品目についての品目タイプに関連付けられており;
各重量センサーは、その重量センサー上の品目についての重量を測定するように構成されている、重量センサーと;
前記センサーおよび前記重量センサーに動作可能に結合されている追跡システムとを有しており、前記追跡システムは:
一つまたは複数のメモリであって:
人に関連付けられたデジタル・カート;および
前記センサーに関連付けられたホモグラフィーを記憶するように動作可能であり、前記ホモグラフィーは、前記センサーからのフレーム内のピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含む、メモリと;
前記一つまたは複数のメモリに動作可能に結合された一つまたは複数のプロセッサであって:
前記複数の重量センサーのうちからのある重量センサー上の重量減少を検出する段階と;
前記ラックの前記フレームを受領する段階と;
前記人についてのピクセル位置を決定する段階であって、前記ピクセル位置は、前記フレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記ピクセル位置に前記ホモグラフィーを適用することによって前記人についての(x,y)座標を決定する段階と;
決定された(x,y)座標を、前記あらかじめ定義されたゾーンに関連付けられた前記グローバルプレーンにおける(x,y)座標の前記範囲と比較する段階と;
前記比較に基づいて、前記フレームにおいて、前記人が、前記ラックに関連付けられた前記あらかじめ定義されたゾーン内にいることを判別する段階と;
前記ラック上の前記重量センサーの位置に基づいて、前記重量センサーに関連付けられた前記品目を識別する段階と;
識別された品目を、前記人に関連付けられたデジタル・カートに追加する段階とを実行するように構成されている、プロセッサとを有する、
システム。
〔条項42〕
前記一つまたは複数のプロセッサは、さらに:
前記フレームにおいて第2の人を識別する段階と;
前記第2の人が、前記ラックに関連付けられている前記あらかじめ定義されたゾーンの外にいることを判別する段階と;
前記第2の人が前記あらかじめ定義されたゾーンの外にいることと判別することに応答して、前記第2の人を無視する段階とを実行するように構成されている、
条項1に記載のシステム。
〔条項43〕
前記一つまたは複数のプロセッサは、さらに:
第2の人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレームにおける第2のピクセル行および第2のピクセル列を含む、段階と;
前記ラックについての第3のピクセル位置を決定する段階であって、前記第3のピクセル位置は、前記フレームにおける第3のピクセル行および第3のピクセル列を含む、段階と;
前記人のピクセル位置と前記ラックについての前記第3のピクセル位置との間の第1の距離を決定する段階と;
前記第2の人の前記第2のピクセル位置と前記ラックについての前記第3のピクセル位置との間の第2の距離を決定する段階と;
識別された品目を前記人に関連付けられた前記デジタル・カートに追加する前に、前記第1の距離が前記第2の距離より小さいことを判別する段階とを実行するように構成されている、
条項1に記載のシステム。
〔条項44〕
前記一つまたは複数のプロセッサは、さらに:
前記重量センサー上の重量減少量を決定する段階と;
前記重量減少量に基づいて品目数量を決定する段階と;
識別された品目数量を、前記人に関連付けられた前記デジタル・カートに追加する段階とを実行するように構成されている、
条項1に記載のシステム。
〔条項45〕
前記ラックは、前部と、第1の側部と、第2の側部と、後部とを有しており、
前記あらかじめ定義されたゾーンは、前記フレームにおいて前記ラックの前記前部、前記第1の側部、前記第2の側部の少なくとも一部と重複する、
条項1に記載のシステム。
〔条項46〕
前記あらかじめ定義された領域は、半円形領域である、条項1に記載のシステム。
〔条項47〕
オブジェクト追跡方法であって:
ラックに配置された複数の重量センサーのうちからのある重量センサー上の重量減少を検出する段階であって:
各重量センサーは、前記ラックのその重量センサー上に格納されている品目についての品目タイプに関連付けられており;
各重量センサーは、その重量センサー上の品目についての重量を測定するように構成されている、段階と;
センサーから、空間についてのグローバルプレーン内の前記ラックの少なくとも一部分のフレームを受領する段階であって:
前記グローバルプレーンは、前記空間についての(x,y)座標を表し;
前記フレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられており;
前記フレームは、前記ラックに関連付けられたあらかじめ定義されたゾーンを含み;
前記あらかじめ定義されたゾーンは前記ラックの正面に近接しており;
前記あらかじめ定義されたゾーンは、前記空間についてのグローバルプレーンにおける(x,y)座標の範囲に関連付けられる、段階と;
前記人についてのピクセル位置を決定する段階であって、前記ピクセル位置は、前記フレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記ピクセル位置にホモグラフィーを適用することによって前記人についての(x,y)座標を決定する段階であって、
前記ホモグラフィーは、前記センサーに関連付けられており;
前記ホモグラフィーは、前記センサーからのフレーム内のピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含む、段階と;
決定された(x,y)座標を、前記あらかじめ定義されたゾーンに関連付けられた、前記グローバルプレーンにおける(x,y)座標の前記範囲と比較する段階と;
前記比較に基づいて、前記フレームにおいて、ある人が、前記ラックに関連付けられた前記あらかじめ定義されたゾーン内にいることを判別する段階と;
前記ラック上の前記重量センサーの位置に基づいて、前記重量センサーに関連付けられた前記品目を識別する段階と;
識別された品目を、前記人に関連付けられたデジタル・カートに追加する段階とを含む、
方法。
〔条項48〕
前記フレームにおいて第2の人を識別する段階と;
前記第2の人が、前記ラックに関連付けられている前記あらかじめ定義されたゾーンの外にいることを判別する段階と;
前記第2の人が前記あらかじめ定義されたゾーンの外にいることと判別することに応答して、前記第2の人を無視する段階とをさらに含む、
条項8に記載の方法。
〔条項49〕
第2の人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレームにおける第2のピクセル行および第2のピクセル列を含む、段階と;
前記ラックについての第3のピクセル位置を決定する段階であって、前記第3のピクセル位置は、前記フレームにおける第3のピクセル行および第3のピクセル列を含む、段階と;
前記人のピクセル位置と前記ラックについての前記第3のピクセル位置との間の第1の距離を決定する段階と;
前記第2の人の前記第2のピクセル位置と前記ラックについての前記第3のピクセル位置との間の第2の距離を決定する段階と;
識別された品目を前記人に関連付けられた前記デジタル・カートに追加する前に、前記第1の距離が前記第2の距離より小さいことを判別する段階とをさらに含む、
条項8に記載の方法。
〔条項50〕
前記重量センサー上の重量減少量を決定する段階と;
前記重量減少量に基づいて品目数量を決定する段階と;
識別された品目数量を、前記人に関連付けられた前記デジタル・カートに追加する段階とをさらに含む、
条項8に記載の方法。
〔条項51〕
前記ラックは、前部と、第1の側部と、第2の側部と、後部とを有しており、
前記あらかじめ定義されたゾーンは、前記フレームにおいて前記ラックの前記前部、前記第1の側部、前記第2の側部の少なくとも一部と重複する、
条項8に記載の方法。
〔条項52〕
前記あらかじめ定義された領域は、半円形領域である、条項8に記載の方法。
〔条項53〕
非一時的なコンピュータ読み取り可能媒体に記憶された実行可能な命令を含むコンピュータ・プログラムであって、前記命令は、プロセッサによって実行されたときに該プロセッサに:
ラックに配置された複数の重量センサーのうちからのある重量センサー上の重量減少を検出する段階であって:
各重量センサーは、前記ラックのその重量センサー上に格納されている品目についての品目タイプに関連付けられており;
各重量センサーは、その重量センサー上の品目についての重量を測定するように構成されている、段階と;
空間についてのグローバルプレーン内の前記ラックの少なくとも一部分のフレームを受領する段階であって:
前記グローバルプレーンは、前記空間についての(x,y)座標を表し;
前記フレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられており;
前記フレームは、前記ラックに関連付けられたあらかじめ定義されたゾーンを含み;
前記あらかじめ定義されたゾーンは前記ラックの正面に近接しており;
前記あらかじめ定義されたゾーンは、前記空間についてのグローバルプレーンにおける(x,y)座標の範囲に関連付けられる、段階と;
前記人についてのピクセル位置を決定する段階であって、前記ピクセル位置は、前記フレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記ピクセル位置にホモグラフィーを適用することによって前記人についての(x,y)座標を決定する段階であって、
前記ホモグラフィーは、前記センサーに関連付けられており;
前記ホモグラフィーは、前記センサーからのフレーム内のピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含む、段階と;
決定された(x,y)座標を、前記あらかじめ定義されたゾーンに関連付けられた、前記グローバルプレーンにおける(x,y)座標の前記範囲と比較する段階と;
前記比較に基づいて、前記フレームにおいて、ある人が、前記ラックに関連付けられた前記あらかじめ定義されたゾーン内にいることを判別する段階と;
前記ラック上の前記重量センサーの位置に基づいて、前記重量センサーに関連付けられた前記品目を識別する段階と;
識別された品目を、前記人に関連付けられたデジタル・カートに追加する段階とを含む、
コンピュータ・プログラム。
〔条項54〕
前記プロセッサによって実行されたときに該プロセッサに:
前記フレームにおいて第2の人を識別する段階と;
前記第2の人が、前記ラックに関連付けられている前記あらかじめ定義されたゾーンの外にいることを判別する段階と;
前記第2の人が前記あらかじめ定義されたゾーンの外にいることと判別することに応答して、前記第2の人を無視する段階とを実行させる命令をさらに含む、
条項15に記載のコンピュータ・プログラム。
〔条項55〕
前記プロセッサによって実行されたときに該プロセッサに:
第2の人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレームにおける第2のピクセル行および第2のピクセル列を含む、段階と;
前記ラックについての第3のピクセル位置を決定する段階であって、前記第3のピクセル位置は、前記フレームにおける第3のピクセル行および第3のピクセル列を含む、段階と;
前記人のピクセル位置と前記ラックについての前記第3のピクセル位置との間の第1の距離を決定する段階と;
前記第2の人の前記第2のピクセル位置と前記ラックについての前記第3のピクセル位置との間の第2の距離を決定する段階と;
識別された品目を前記人に関連付けられた前記デジタル・カートに追加する前に、前記第1の距離が前記第2の距離より小さいことを判別する段階とを実行させるための命令をさらに含む、
条項15に記載のコンピュータ・プログラム。
〔条項56〕
前記プロセッサによって実行されたときに該プロセッサに:
前記重量センサー上の重量減少量を決定する段階と;
前記重量減少量に基づいて品目数量を決定する段階と;
識別された品目数量を、前記人に関連付けられた前記デジタル・カートに追加する段階とを実行させるための命令をさらに含む、
条項15に記載のコンピュータ・プログラム。
〔条項57〕
前記ラックは、前部と、第1の側部と、第2の側部と、後部とを有しており、
前記あらかじめ定義されたゾーンは、前記フレームにおいて前記ラックの前記前部、前記第1の側部、前記第2の側部の少なくとも一部と重複する、
条項15に記載のコンピュータ・プログラム。
【0366】
〔条項58〕
オブジェクト追跡システムであって:
空間についてのグローバルプレーン内のラックの少なくとも一部分のフレームを捕捉するように構成されたセンサーであって:
前記グローバルプレーンは、前記空間についての(x,y)座標を表し;
前記フレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられており;
前記フレームは、前記ラックに関連付けられたあらかじめ定義されたゾーンを含み;
前記あらかじめ定義されたゾーンは前記ラックの正面に近接している、センサーと;
前記ラックの棚に配置された重量センサーであって、該重量センサーは、該重量センサー上の品目についての重量を測定するように構成されている、重量センサーと;
前記センサーおよび前記重量センサーに動作可能に結合されている追跡システムとを有しており、前記追跡システムは:
一つまたは複数のメモリであって:
第1の人に関連付けられたデジタル・カートを記憶するように動作可能であり、前記デジタル・カートは:
複数の品目;および
前記デジタル・カート内の前記複数の品目のそれぞれについての品目重量を同定する、メモリと;
前記一つまたは複数のメモリに動作可能に結合された一つまたは複数のプロセッサであって:
前記重量センサー上の重量増加を検出する段階と;
前記重量センサー上の重量増加量を決定する段階と;
前記フレームを受領する段階と;
前記第1の人についてのピクセル位置を決定する段階であって、前記ピクセル位置は、前記フレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記人についてのピクセル位置に基づいて、前記フレームにおいて、前記第1の人が、前記ラックに関連付けられた前記あらかじめ定義されたゾーン内にいることを判別する段階と;
前記第1の人に関連付けられた前記デジタル・カート内の前記複数の品目を識別する段階と;
前記第1の人に関連付けられた前記デジタル・カート内の前記複数の品目のそれぞれについての品目重量を識別する段階と;
前記重量増加量を前記デジタル・カート内の各品目に関連付けられた前記品目重量と比較する段階と;
前記第1の人に関連付けられている前記複数の品目からの第1の品目であって、前記重量増加量に最も近い品目重量をもつものを識別する段階と;
前記第1の人に関連付けられている前記デジタル・カートから、前記第1の識別された品目を除去する段階とを実行するように構成されている、プロセッサとを有する、
システム。
〔条項59〕
前記一つまたは複数のプロセッサは、さらに:
第2の人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレームにおける第2のピクセル行および第2のピクセル列を含む、段階と;
前記重量センサーについての第3のピクセル位置を決定する段階であって、前記第3のピクセル位置は、前記フレームにおける第3のピクセル行および第3のピクセル列を含む、段階と;
前記人のピクセル位置と前記重量センサーについての前記第3のピクセル位置との間の第1の距離を決定する段階と;
前記第2の人の前記第2のピクセル位置と前記重量センサーについての前記第3のピクセル位置との間の第2の距離を決定する段階と;
前記第1の識別された品目を前記第1の人に関連付けられた前記デジタル・カートに除去する前に、前記第1の距離が前記第2の距離より小さいことを判別する段階とを実行するように構成されている、
条項58に記載のシステム。
〔条項60〕
前記ラックに関連付けられた前記あらかじめ定義されたゾーンは、前記フレームにおけるピクセル列の範囲および前記フレームにおけるピクセル行の範囲に関連付けられ;
前記第1の人が前記ラックに関連付けられた前記あらかじめ定義されたゾーン内にあることを判別することは:
前記第1の人についてのピクセル位置の前記第1のピクセル列が、前記フレームにおけるピクセル列の前記範囲内にあり;
前記第1の人についてのピクセル位置の前記第1のピクセル行が、前記フレームにおけるピクセル行の前記範囲内にあることを判別することを含む、
条項58に記載のシステム。
〔条項61〕
前記重量センサーは、該重量センサー上の品目についての個々の品目重量に関連付けられており;
前記一つまたは複数のプロセッサがさらに:
前記第1の人に関連付けられた前記デジタル・カート内の前記複数の品目のそれぞれについて前記品目重量を識別する前に、前記重量センサーの前記重量増加量が、重量棚上の品目についての個々の品目重量と一致しないことを判別するようにさらに構成されている、
条項58に記載のシステム。
〔条項62〕
前記一つまたは複数のプロセッサは、さらに:
前記第1の識別された品目と前記重量増加量との間の第1の重量差を決定する段階と;
前記ラックに関連付けられている前記あらかじめ定義されたゾーン内に第2の人がいることを判別する段階と;
前記第2の人に関連するデジタル・カート内の第2の複数の品目を識別する段階と;
前記第2の人に関連付けられている前記デジタル・カート内の前記第2の複数の品目からの第2の品目であって、前記重量増加量に最も近く一致する品目重量をもつものを識別する段階と;
前記第2の識別された品目と前記重量増加量との間の第2の重量差を決定する段階と;
前記第1の人に関連付けられた前記デジタル・カートから前記第1の識別された品目を除去する前に、前記第1の重量差が前記第2の重量差より小さいことを判別する段階とを実行するようにさらに構成されている、
条項58に記載のシステム。
〔条項63〕
前記一つまたは複数のプロセッサは、さらに:
前記デジタル・カート内の前記複数の品目のそれぞれについての確率を、対応する品目の重量および前記重量増加量に基づいて決定する段階と;
前記第1の人に関連付けられた前記デジタル・カートから前記第1の識別された品目を除去する前に、前記第1の識別された品目が、前記デジタル・カート内の複数の品目についての決定された確率のうち最も高い確率に関連付けられていることを判別する段階とを実行するように構成されている、
条項58に記載のシステム。
〔条項64〕
前記デジタル・カート内の前記複数の品目のそれぞれについての前記確率は、前記第1の人と前記ラックとの間の距離に反比例する、条項63に記載のシステム。
〔条項65〕
オブジェクト追跡システムであって:
ラックの棚に配置された重量センサー上の重量増加を検出する段階と;
前記重量センサー上の重量増加量を決定する段階と;
空間についてのグローバルプレーン内の前記ラックの少なくとも一部分のフレームを受領する段階であって:
前記グローバルプレーンは、前記空間についての(x,y)座標を表し;
前記フレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられており;
前記フレームは、前記ラックに関連付けられたあらかじめ定義されたゾーンを含み;
前記あらかじめ定義されたゾーンは前記ラックの正面に近接している、段階と;
前記第1の人についてのピクセル位置を決定する段階であって、前記ピクセル位置は、前記フレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記人についてのピクセル位置に基づいて、前記フレームにおいて、前記第1の人が、前記ラックに関連付けられた前記あらかじめ定義されたゾーン内にいることを判別する段階と;
前記第1の人に関連付けられたデジタル・カート内の複数の品目を識別する段階と;
前記第1の人に関連付けられた前記デジタル・カート内の前記複数の品目のそれぞれについての品目重量を識別する段階と;
前記重量増加量を前記デジタル・カート内の各品目に関連付けられた前記品目重量と比較する段階と;
前記第1の人に関連付けられている前記複数の品目からの第1の品目であって、前記重量増加量に最も近い品目重量をもつものを識別する段階と;
前記第1の人に関連付けられている前記デジタル・カートから、前記第1の識別された品目を除去する段階とを含む、
方法。
〔条項66〕
第2の人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレームにおける第2のピクセル行および第2のピクセル列を含む、段階と;
前記重量センサーについての第3のピクセル位置を決定する段階であって、前記第3のピクセル位置は、前記フレームにおける第3のピクセル行および第3のピクセル列を含む、段階と;
前記人のピクセル位置と前記重量センサーについての前記第3のピクセル位置との間の第1の距離を決定する段階と;
前記第2の人の前記第2のピクセル位置と前記重量センサーについての前記第3のピクセル位置との間の第2の距離を決定する段階と;
前記第1の識別された品目を前記第1の人に関連付けられた前記デジタル・カートに除去する前に、前記第1の距離が前記第2の距離より小さいことを判別する段階とをさらに含む、
条項65に記載の方法。
〔条項67〕
前記第1の人が前記ラックに関連付けられた前記あらかじめ定義されたゾーン内にあることを判別することが:
前記第1の人についてのピクセル位置の前記第1のピクセル列が、前記フレームにおけるピクセル列のある範囲内にあり;
前記第1の人についてのピクセル位置の前記第1のピクセル行が、前記フレームにおけるピクセル行のある範囲内にあることを判別することを含む、
条項65に記載の方法。
〔条項68〕
前記第1の人に関連付けられた前記デジタル・カート内の前記複数の品目のそれぞれについて前記品目重量を識別する前に、前記重量センサーの前記重量増加量が、前記重量棚上の品目についての個々の品目重量と一致しないことを判別する段階をさらに含む、条項65に記載の方法。
〔条項69〕
前記第1の識別された品目と前記重量増加量との間の第1の重量差を決定する段階と;
前記ラックに関連付けられている前記あらかじめ定義されたゾーン内に第2の人がいることを判別する段階と;
前記第2の人に関連するデジタル・カート内の第2の複数の品目を識別する段階と;
前記第2の人に関連付けられている前記デジタル・カート内の前記第2の複数の品目からの第2の品目であって、前記重量増加量に最も近く一致する品目重量をもつものを識別する段階と;
前記第2の識別された品目と前記重量増加量との間の第2の重量差を決定する段階と;
前記第1の人に関連付けられた前記デジタル・カートから前記第1の識別された品目を除去する前に、前記第1の重量差が前記第2の重量差より小さいことを判別する段階とをさらに含む、
条項65に記載の方法。
〔条項70〕
前記デジタル・カート内の前記複数の品目のそれぞれについての確率を、対応する品目重量および前記重量増加量に基づいて決定する段階と;
前記第1の人に関連付けられた前記デジタル・カートから前記第1の識別された品目を除去する前に、前記第1の識別された品目が、前記デジタル・カート内の前記複数の品目についての決定された確率のうち最も高い確率に関連付けられていることを判別する段階とをさらに含む、
条項65に記載の方法。
〔条項71〕
非一時的なコンピュータ読み取り可能媒体に記憶された実行可能な命令を含むコンピュータ・プログラムであって、前記命令は、プロセッサによって実行されたときに、該プロセッサに:
ラックの棚に配置された重量センサー上の重量増加を検出する段階と;
前記重量センサー上の重量増加量を決定する段階と;
センサーから、空間についてのグローバルプレーン内の前記ラックの少なくとも一部分のフレームを受領する段階であって:
前記グローバルプレーンは、前記空間についての(x,y)座標を表し;
前記フレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられており;
前記フレームは、前記ラックに関連付けられたあらかじめ定義されたゾーンを含み;
前記あらかじめ定義されたゾーンは前記ラックの正面に近接している、段階と;
前記第1の人についてのピクセル位置を決定する段階であって、前記ピクセル位置は、前記フレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記人についてのピクセル位置に基づいて、前記フレームにおいて、第1の人が、前記ラックに関連付けられた前記あらかじめ定義されたゾーン内にいることを判別する段階と;
前記第1の人に関連付けられたデジタル・カート内の複数の品目を識別する段階と;
前記第1の人に関連付けられた前記デジタル・カート内の前記複数の品目のそれぞれについての品目重量を識別する段階と;
前記重量増加量を前記デジタル・カート内の各品目に関連付けられた前記品目重量と比較する段階と;
前記第1の人に関連付けられている前記複数の品目からの第1の品目であって、前記重量増加量に最も近い品目重量をもつものを識別する段階と;
前記第1の人に関連付けられている前記デジタル・カートから、前記第1の識別された品目を除去する段階とを実行させるものである、
コンピュータ・プログラム。
〔条項72〕
前記プロセッサによって実行されたときに、該プロセッサに:
第2の人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレームにおける第2のピクセル行および第2のピクセル列を含む、段階と;
前記重量センサーについての第3のピクセル位置を決定する段階であって、前記第3のピクセル位置は、前記フレームにおける第3のピクセル行および第3のピクセル列を含む、段階と;
前記人のピクセル位置と前記重量センサーについての前記第3のピクセル位置との間の第1の距離を決定する段階と;
前記第2の人の前記第2のピクセル位置と前記重量センサーについての前記第3のピクセル位置との間の第2の距離を決定する段階と;
前記第1の識別された品目を前記第1の人に関連付けられた前記デジタル・カートに除去する前に、前記第1の距離が前記第2の距離より小さいことを判別する段階とを実行させるための命令をさらに含む、
条項71に記載のコンピュータ・プログラム。
〔条項73〕
前記第1の人が前記ラックに関連付けられた前記あらかじめ定義されたゾーン内にあることを判別することが:
前記第1の人についてのピクセル位置の前記第1のピクセル列が、前記フレームにおけるピクセル列のある範囲内にあり;
前記第1の人についてのピクセル位置の前記第1のピクセル行が、前記フレームにおけるピクセル行のある範囲内にあることを判別することを含む、
条項71に記載のコンピュータ・プログラム。
〔条項74〕
前記プロセッサによって実行されたときに、該プロセッサに:
前記第1の人に関連付けられた前記デジタル・カート内の前記複数の品目のそれぞれについて前記品目重量を識別する前に、前記重量センサーの前記重量増加量が、前記重量棚上の品目についての個々の品目重量と一致しないことを判別する段階を実行させるための命令をさらに含む、条項71に記載のコンピュータ・プログラム。
〔条項75〕
前記プロセッサによって実行されたときに、該プロセッサに:
前記第1の識別された品目と前記重量増加量との間の第1の重量差を決定する段階と;
前記ラックに関連付けられている前記あらかじめ定義されたゾーン内に第2の人がいることを判別する段階と;
前記第2の人に関連するデジタル・カート内の第2の複数の品目を識別する段階と;
前記第2の人に関連付けられている前記デジタル・カート内の前記第2の複数の品目からの第2の品目であって、前記重量増加量に最も近く一致する品目重量をもつものを識別する段階と;
前記第2の識別された品目と前記重量増加量との間の第2の重量差を決定する段階と;
前記第1の人に関連付けられた前記デジタル・カートから前記第1の識別された品目を除去する前に、前記第1の重量差が前記第2の重量差より小さいことを判別する段階とを実行させるための命令をさらに含む、
条項71に記載のコンピュータ・プログラム。
〔条項76〕
前記プロセッサによって実行されたときに、該プロセッサに:
前記デジタル・カート内の前記複数の品目のそれぞれについての確率を、対応する品目重量および前記重量増加量に基づいて決定する段階と;
前記第1の人に関連付けられた前記デジタル・カートから前記第1の識別された品目を除去する前に、前記第1の識別された品目が、前記デジタル・カート内の前記複数の品目についての決定された確率のうち最も高い確率に関連付けられていることを判別する段階とを実行させるための命令をさらに含む、
条項71に記載のコンピュータ・プログラム。
〔条項77〕
前記デジタル・カート内の前記複数の品目のそれぞれについての前記確率は、前記第1の人と前記ラックとの間の距離に反比例する、条項76に記載のコンピュータ・プログラム。
【0367】
〔条項78〕
オブジェクト追跡システムであって:
空間の少なくとも一部分についてのグローバルプレーンの第1のフレームを捕捉するように構成された第1のセンサーであって:
前記グローバルプレーンは、前記空間の前記少なくとも一部分についての(x,y)座標を表し;
前記第1のフレームが複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられている、第1のセンサーと;
前記第1のセンサーに動作可能に結合される追跡システムであって:
前記第1のセンサーに関連付けられた第1のホモグラフィーを記憶するように動作可能な一つまたは複数のメモリであって、
前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含む、メモリと;
前記一つまたは複数のメモリに動作可能に結合された一つまたは複数のプロセッサであって:
前記空間において第1のマーカーが位置しているところの前記グローバルプレーンにおける第1のx値および第1のy値を同定する第1の(x,y)座標を受領する段階であって、前記第1のマーカーは前記空間における第1の位置を同定する第1のオブジェクトである、段階と;
前記空間において第2のマーカーが位置しているところの前記グローバルプレーンにおける第2のx値および第2のy値を同定する第2の(x,y)座標を受領する段階であって、前記第2のマーカーは前記空間における第2の位置を同定する第2のオブジェクトである、段階と;
前記第1のフレームを受領する段階と;
前記第1のフレーム内で前記第1のマーカーおよび前記第2のマーカーを識別する段階と;
前記第1のマーカーについての前記第1のフレームにおける第1のピクセル位置を決定する段階であって、前記第1のピクセル位置は、前記第1のフレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記第2のマーカーについての前記第1のフレームにおける第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記第1のフレームの第2のピクセル行および第2のピクセル列を含む、段階と;
前記第1の(x,y)座標、前記第2の(x,y)座標、前記第1のピクセル位置、および前記第2のピクセル位置に基づいて前記第1のホモグラフィーを生成する段階とを実行するように構成されているプロセッサとを有する、
システム。
〔条項79〕
前記一つまたは複数のプロセッサは、さらに:
前記第1のフレーム内での識別されたマーカーの数を決定する段階と;
識別されたマーカーの数が所定の閾値を超えていることを判別する段階と;
識別されたマーカーの数が前記所定の閾値を超えていることを判別することに応答して、前記第1のマーカーについての前記第1のピクセル位置を決定する段階とを実行するように構成されている、
条項78に記載のシステム。
〔条項80〕
前記第1のフレームにおける各ピクセルは、ピクセル値に関連付けられており;
前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル値と前記グローバルプレーンにおけるz座標との間で変換するようにさらに構成される、
条項78に記載のシステム。
〔条項81〕
前記一つまたは複数のプロセッサは、前記第1のセンサーと前記第1のホモグラフィーとの間の関連付けを記憶するようにさらに構成されている、条項78に記載のシステム。
〔条項82〕
前記グローバルプレーンは、前記空間の床面と平行である、条項78に記載のシステム。
〔条項83〕
前記空間の少なくとも第2の部分についての前記グローバルプレーンの第2のフレームを捕捉するように構成された、前記追跡システムに動作可能に結合された第2のセンサーをさらに有しており、
前記一つまたは複数のプロセッサは、さらに:
前記第1のマーカーについての前記第2のフレームにおける第3のピクセル位置を決定する段階と;
前記第2のマーカーについての前記第2のフレームにおける第4のピクセル位置を決定する段階と;
前記第3のピクセル位置、前記第4のピクセル位置、前記第1のマーカーについての前記第1の(x,y)座標、および前記第2のマーカーについての前記第2の(x,y)座標に基づいて第2のホモグラフィーを生成する段階とを実行するように構成されており、
前記第2のホモグラフィーは、前記第2のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含み、
前記第2のホモグラフィーの係数は、前記第1のホモグラフィーの係数とは異なる、
条項78に記載のシステム。
〔条項84〕
前記空間の少なくとも第2の部分の第2のフレームを捕捉するように構成された、前記追跡システムに動作可能に結合された第2のセンサーをさらに有しており、
前記第1のセンサーおよび前記第2のセンサーは、センサー・アレイとして構成された複数のセンサーの要素であり;
前記センサー・アレイは、前記グローバルプレーンと平行に位置される、
条項78に記載のシステム。
〔条項85〕
センサー・マッピング方法であって:
空間において第1のマーカーが位置しているところのグローバルプレーンにおける第1のx値および第1のy値を同定する第1の(x,y)座標を受領する段階であって、
前記グローバルプレーンは、前記空間の前記少なくとも一部分についての(x,y)座標を表し;
前記第1のマーカーは前記空間における第1の位置を同定する第1のオブジェクトである、段階と;
前記空間において第2のマーカーが位置しているところの前記グローバルプレーンにおける第2のx値および第2のy値を同定する第2の(x,y)座標を受領する段階であって、前記第2のマーカーは前記空間における第2の位置を同定する第2のオブジェクトである、段階と;
第1のセンサーから、前記空間の少なくとも一部分についての前記グローバルプレーンの第1のフレームを受領する段階であって:
前記第1のフレームが複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられている、段階と;
前記第1のフレーム内で前記第1のマーカーおよび前記第2のマーカーを識別する段階と;
前記第1のマーカーについての前記第1のフレームにおける第1のピクセル位置を決定する段階であって、前記第1のピクセル位置は、前記第1のフレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記第2のマーカーについての前記第1のフレームにおける第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記第1のフレームの第2のピクセル行および第2のピクセル列を含む、段階と;
前記第1の(x,y)座標、前記第2の(x,y)座標、前記第1のピクセル位置、および前記第2のピクセル位置に基づいて前記第1のホモグラフィーを生成する段階であって、前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含む、段階とを含む、
方法。
〔条項86〕
前記第1のフレーム内での識別されたマーカーの数を決定する段階と;
識別されたマーカーの数が所定の閾値を超えていることを判別する段階と;
識別されたマーカーの数が前記所定の閾値を超えていることを判別することに応答して、前記第1のマーカーについての前記第1のピクセル位置を決定する段階とをさらに含む、
条項85に記載の方法。
〔条項87〕
前記第1のフレームにおける各ピクセルは、ピクセル値に関連付けられており;
前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル値と前記グローバルプレーンにおけるz座標との間で変換するようにさらに構成される、
条項85に記載の方法。
〔条項88〕
前記第1のセンサーと前記第1のホモグラフィーとの間の関連付けを記憶する段階をさらに含む、条項85に記載の方法。
〔条項89〕
前記グローバルプレーンは、前記空間の床面と平行である、条項85に記載の方法。
〔条項90〕
第2のセンサーから、前記空間の少なくとも第2の部分についての前記グローバルプレーンの第2のフレームを受領する段階と;
前記第1のマーカーについての前記第2のフレームにおける第3のピクセル位置を決定する段階と;
前記第2のマーカーについての前記第2のフレームにおける第4のピクセル位置を決定する段階と;
前記第3のピクセル位置、前記第4のピクセル位置、前記第1のマーカーについての前記第1の(x,y)座標、および前記第2のマーカーについての前記第2の(x,y)座標に基づいて第2のホモグラフィーを生成する段階とをさらに含み、
前記第2のホモグラフィーは、前記第2のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含み、
前記第2のホモグラフィーの係数は、前記第1のホモグラフィーの係数とは異なる、
条項85に記載の方法。
〔条項91〕
第2のセンサーから、前記空間の少なくとも第2の部分についての前記グローバルプレーンの第2のフレームを受領する段階をさらに含み、
前記第1のセンサーおよび前記第2のセンサーは、センサー・アレイとして構成された複数のセンサーの要素であり;
前記センサー・アレイは、前記グローバルプレーンと平行に位置される、
条項85に記載の方法。
〔条項92〕
非一時的なコンピュータ読み取り可能媒体に記憶された実行可能な命令を含むコンピュータ・プログラムであって、前記命令は、プロセッサによって実行されたときに該プロセッサに:
空間において第1のマーカーが位置しているところのグローバルプレーンにおける第1のx値および第1のy値を同定する第1の(x,y)座標を受領する段階であって、
前記グローバルプレーンは、前記空間の前記少なくとも一部分についての(x,y)座標を表し;
前記第1のマーカーは前記空間における第1の位置を同定する第1のオブジェクトである、段階と;
前記空間において第2のマーカーが位置しているところの前記グローバルプレーンにおける第2のx値および第2のy値を同定する第2の(x,y)座標を受領する段階であって、前記第2のマーカーは前記空間における第2の位置を同定する第2のオブジェクトである、段階と;
第1のセンサーから、前記空間の少なくとも一部分についての前記グローバルプレーンの第1のフレームを受領する段階であって:
前記第1のフレームが複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられている、段階と;
前記第1のフレーム内で前記第1のマーカーおよび前記第2のマーカーを識別する段階と;
前記第1のマーカーについての前記第1のフレームにおける第1のピクセル位置を決定する段階であって、前記第1のピクセル位置は、前記第1のフレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記第2のマーカーについての前記第1のフレームにおける第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記第1のフレームの第2のピクセル行および第2のピクセル列を含む、段階と;
前記第1の(x,y)座標、前記第2の(x,y)座標、前記第1のピクセル位置、および前記第2のピクセル位置に基づいて前記第1のホモグラフィーを生成する段階であって、前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含む、段階とを実行させるものである、
コンピュータ・プログラム。
〔条項93〕
前記プロセッサによって実行されたときに該プロセッサに:
前記第1のフレーム内での識別されたマーカーの数を決定する段階と;
識別されたマーカーの数が所定の閾値を超えていることを判別する段階と;
識別されたマーカーの数が前記所定の閾値を超えていることを判別することに応答して、前記第1のマーカーについての前記第1のピクセル位置を決定する段階とを実行させるための命令をさらに含む、
条項92に記載のコンピュータ・プログラム。
〔条項94〕
前記第1のフレームにおける各ピクセルは、ピクセル値に関連付けられており;
前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル値と前記グローバルプレーンにおけるz座標との間で変換するようにさらに構成される、
条項92に記載のコンピュータ・プログラム。
〔条項95〕
前記プロセッサによって実行されたときに該プロセッサに、前記第1のセンサーと前記第1のホモグラフィーとの間の関連付けを記憶させるための命令をさらに含む、条項92に記載のコンピュータ・プログラム。
〔条項96〕
前記グローバルプレーンは、前記空間の床面と平行である、条項92に記載のコンピュータ・プログラム。
〔条項97〕
前記プロセッサによって実行されたときに該プロセッサに:
第2のセンサーから、前記空間の少なくとも第2の部分についての前記グローバルプレーンの第2のフレームを受領する段階と;
前記第1のマーカーについての前記第2のフレームにおける第3のピクセル位置を決定する段階と;
前記第2のマーカーについての前記第2のフレームにおける第4のピクセル位置を決定する段階と;
前記第3のピクセル位置、前記第4のピクセル位置、前記第1のマーカーについての前記第1の(x,y)座標、および前記第2のマーカーについての前記第2の(x,y)座標に基づいて第2のホモグラフィーを生成する段階とを実行させるための命令をさらに含み、
前記第2のホモグラフィーは、前記第2のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含み、
前記第2のホモグラフィーの係数は、前記第1のホモグラフィーの係数とは異なる、
条項92に記載のコンピュータ・プログラム。
【0368】
〔条項98〕
オブジェクト追跡システムであって:
空間内のマーカ・グリッドの少なくとも一部について、グローバルプレーンの第1のフレームを捕捉するように構成された第1のセンサーであって、:
前記グローバルプレーンは、前記空間の少なくとも一部についての(x,y)座標を表し;
前記マーカ・グリッドは、前記第1のマーカーおよび第2のマーカーを含み;
前記第1のマーカーは、前記マーカ・グリッド上の第1の位置を識別する第1のオブジェクトであり;
前記第2のマーカーは、前記マーカ・グリッド上の第2の位置を識別する第2のオブジェクトであり;
前記第1のフレームが複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられている、第1のセンサーと;
前記第1のセンサーに動作可能に結合される追跡システムとを有しており、前記追跡システムは:
前記第1のセンサーに関連付けられた第1のホモグラフィーであって、
前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含む、第1のホモグラフィーと;
前記マーカ・グリッドの第1のコーナーと前記第1のマーカーとの間の第1のオフセット;および
前記マーカ・グリッドの前記第1のコーナーと前記第2のマーカーとの間の第2のオフセットを識別する
マーカ・グリッド情報とを
を記憶するように動作可能な一つまたは複数のメモリと;
前記一つまたは複数のメモリに動作可能に結合された一つまたは複数のプロセッサとを有しており、前記一つまたは複数のプロセッサは:
前記空間においてマーカ・グリッドの第1のコーナーが位置するところの、前記グローバルプレーンにおける第1のx値および第1のy値を同定する第1の(x,y)座標を受領する段階と;
前記マーカ・グリッドの前記第1のコーナーについての前記第1の(x,y)座標からの前記第1のオフセットに基づいて、前記第1のマーカーが位置するところの、前記グローバルプレーンにおける第2のx値および第2のy値を同定する第2の(x,y)座標を決定する段階と;
前記マーカ・グリッドの前記第1のコーナーについての前記第1の(x,y)座標からの前記第2のオフセットに基づいて、前記第2のマーカーが位置するところの、前記グローバルプレーンにおける第3のx値および第3のy値を同定する第3の(x,y)座標を決定する段階と;
前記第1のフレームを受領する段階と;
前記第1のフレームにおいて前記第1のマーカーおよび前記第2のマーカーを識別する段階と;
前記第1のフレーム内の前記第1のマーカーについての第1のバウンディングボックスを識別する段階であって、前記第1のバウンディングボックスは、前記第1のマーカーの少なくとも一部を含む第1の複数のピクセルを含む、段階と;
前記第1のフレーム内の前記第2のマーカーについての第2のバウンディングボックスを識別する段階であって、前記第2のバウンディングボックスは、前記第2のマーカーの少なくとも一部を含む第2の複数のピクセルを含む、段階と;
前記第1のマーカーに対応する前記第1のバウンディングボックス内の第1のピクセルを識別する段階と;
前記第2のマーカーに対応する前記第2のバウンディングボックス内の第2のピクセルを識別する段階と;
前記第1のピクセルについての第1のピクセル位置を決定する段階であって、前記第1のピクセル位置は、前記第1のフレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記第2のピクセルについての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記第1のフレームの第2のピクセル行および第2のピクセル列を含む、段階と;
前記第1のマーカーについての前記第2の(x,y)座標、前記第2のマーカーについての前記第3の(x,y)座標、前記第1のピクセル位置、および前記第2のピクセル位置に基づいて前記第1のホモグラフィーを生成する段階とを実行するように構成されている、
システム。
〔条項99〕
前記一つまたは複数のプロセッサがさらに:
前記第1のフレーム内の識別されたマーカーの数を決定する段階と;
識別されたマーカーの数が所定の閾値を超えていることを判別する段階と;
識別されたマーカーの数が前記所定の閾値を超えていることを判別することに応答して、前記第1のマーカーについての前記第1のバウンディングボックスを識別する段階とを実行するように構成されている、
条項98に記載のシステム。
〔条項100〕
前記一つまたは複数のメモリは、単語を含むマーカー辞書を記憶するように動作可能であり;
前記第1のマーカーがテキストを含み;
前記第1のマーカーを識別することが:
前記第1のフレーム内のテキストを識別し;
識別されたテキストを前記マーカー辞書における前記単語と比較し;
識別されたテキストが前記マーカー辞書におけるある単語と一致することを判別することを含む、
条項98に記載のシステム。
〔条項101〕
前記一つ以上のメモリは、記号を含むマーカー辞書を記憶するように動作可能であり;
前記第1のマーカーが記号を含み;
前記第1のマーカーを識別することが:
前記第1のフレーム内の記号を識別し;
識別された記号を前記マーカー辞書における前記記号と比較し;
識別された記号が前記マーカー辞書におけるある記号と一致することを判別することを含む、
条項98に記載のシステム。
〔条項102〕
前記一つまたは複数のプロセッサはさらに:
前記マーカ・グリッドの第2のコーナーが前記空間において位置するところの、前記グローバルプレーンにおける第4のx値および第4のy値を同定する第4の(x,y)座標を受領する段階と;
前記マーカ・グリッドの前記第1コーナーについての前記第1(x,y)座標および前記マーカ・グリッドの前記第2コーナーについての前記第4の(x,y)座標に基づいて、前記グローバルプレーン内の回転角度を決定する段階を実行するように構成されており;
前記第1のマーカーについての前記第2の(x,y)座標を決定することは:
前記マーカ・グリッドの前記第1のコーナーについての前記第1の(x,y)座標からの前記第1のオフセットを使用する並進を適用し;
前記マーカ・グリッドの前記第1のコーナーについての前記第1の(x,y)座標に関する前記回転角度を使用した回転を適用することを含む、
条項98に記載のシステム。
〔条項103〕
前記追跡システムに動作可能に結合され、前記空間における前記マーカ・グリッドの前記少なくとも一部分の第2のフレームを捕捉するように構成された第2のセンサーをさらに有しており、
前記一つまたは複数のプロセッサがさらに:
前記第1のマーカーについての前記第2のフレームにおける第3のピクセル位置を決定する段階と;
前記第2のマーカーについての前記第2のフレームにおける第4のピクセル位置を決定する段階と;
前記第3のピクセル位置、前記第4のピクセル位置、前記第1のマーカーについての前記第2の(x,y)座標、および前記第2のマーカーについての前記第3の(x,y)マーカーに基づいて、第2のホモグラフィーを生成する段階とを実行するように構成されており、
前記第2のホモグラフィーは、前記第2のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含み、
前記第2のホモグラフィーの係数は、前記第1のホモグラフィーの係数とは異なる、
条項99に記載のシステム。
〔条項104〕
前記空間の少なくとも第2の部分の第2のフレームを捕捉するように構成された、前記追跡システムに動作可能に結合された第2のセンサーをさらに有しており、
前記第1のセンサーおよび前記第2のセンサーは、センサー・アレイとして構成された複数のセンサーの要素であり;
前記センサー・アレイは、前記グローバルプレーンと平行に位置する、
条項99に記載のシステム。
〔条項105〕
前記第1のフレームにおける各ピクセルは、ピクセル値に関連付けられており;
前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル値と前記グローバルプレーンにおけるz座標との間で変換するようにさらに構成されている、
条項99に記載のシステム。
〔条項106〕
前記第1の(x,y)座標を受領することが、前記マーカ・グリッドの前記第1のコーナーに位置するビーコンから前記第1の(x,y)座標を同定する信号を受領することを含む、
条項99に記載のシステム。
〔条項107〕
前記第1のバウンディングボックス内の前記第1のピクセルを識別することが、前記第1のバウンディングボックス内の第1のピクセル・マーカーを識別することを含み;
前記第2のバウンディングボックス内の前記第2のピクセルを識別することが、前記第2のバウンディングボックス内の第2のピクセル・マーカーを識別することを含む、
条項99に記載のシステム。
〔条項108〕
前記第1のピクセル・マーカーは第1の光源であり;
前記第2のピクセル・マーカーは第2の光源である、
条項107に記載のシステム。
〔条項109〕
前記第1のピクセル・マーカーは前記第1のマーカーの第1の特徴であり、
前記第2のピクセル・マーカーは、前記第2のマーカーの第2の特徴でる、
条項107に記載のシステム。
〔条項110〕
センサー・マッピング方法であって:
空間においてマーカ・グリッドの第1のコーナーが位置するところの、グローバルプレーンにおける第1のx値および第1のy値を同定する第1の(x,y)座標を受領する段階であって、
前記グローバルプレーンは、前記空間の前記少なくとも一部についての(x,y)座標を表し;
前記マーカ・グリッドは、第1のマーカーおよび第2のマーカーを含み;
前記第1のマーカーは、前記マーカ・グリッド上の第1の位置を識別する第1のオブジェクトであり;
前記第2のマーカーは、前記マーカ・グリッド上の第2の位置を識別する第2のオブジェクトである、段階と;
前記マーカ・グリッドの前記第1のコーナーについての前記第1の(x,y)座標からの第1のオフセットに基づいて、前記第1のマーカーが位置するところの、前記グローバルプレーンにおける第2のx値および第2のy値を同定する第2の(x,y)座標を決定する段階と;
前記マーカ・グリッドの前記第1のコーナーについての前記第1の(x,y)座標からの第2のオフセットに基づいて、前記第2のマーカーが位置するところの、前記グローバルプレーンにおける第3のx値および第3のy値を同定する第3の(x,y)座標を決定する段階と;
前記空間における前記マーカ・グリッドの少なくとも一部について、前記グローバルプレーンの第1のフレームを受領する段階であって、
前記第1のフレームが複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられている、段階と;
前記第1のフレームにおいて前記第1のマーカーおよび前記第2のマーカーを識別する段階と;
前記第1のフレーム内の前記第1のマーカーについての第1のバウンディングボックスを識別する段階であって、前記第1のバウンディングボックスは、前記第1のマーカーの少なくとも一部を含む第1の複数のピクセルを含む、段階と;
前記第1のフレーム内の前記第2のマーカーについての第2のバウンディングボックスを識別する段階であって、前記第2のバウンディングボックスは、前記第2のマーカーの少なくとも一部を含む第2の複数のピクセルを含む、段階と;
前記第1のマーカーに対応する前記第1のバウンディングボックス内の第1のピクセルを識別する段階と;
前記第2のマーカーに対応する前記第2のバウンディングボックス内の第2のピクセルを識別する段階と;
前記第1のピクセルについての第1のピクセル位置を決定する段階であって、前記第1のピクセル位置は、前記第1のフレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記第2のピクセルについての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記第1のフレームの第2のピクセル行および第2のピクセル列を含む、段階と;
前記第1のマーカーについての前記第2の(x,y)座標、前記第2のマーカーについての前記第3の(x,y)座標、前記第1のピクセル位置、および前記第2のピクセル位置に基づいて第1のホモグラフィーを生成する段階であって、前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含む、段階とを含む、
方法。
〔条項111〕
前記第1のフレーム内の識別されたマーカーの数を決定する段階と;
識別されたマーカーの数が所定の閾値を超えていることを判別する段階と;
識別されたマーカーの数が前記所定の閾値を超えていることを判別することに応答して、前記第1のマーカーについての前記第1のバウンディングボックスを識別する段階とをさらに含む、
条項110に記載の方法。
〔条項112〕
前記第1のマーカーを識別することが:
前記第1のフレーム内のテキストを識別し;
識別されたテキストをマーカー辞書における単語と比較し;
識別されたテキストが前記マーカー辞書におけるある単語と一致することを判別することを含む、
条項110に記載の方法。
〔条項113〕
前記第1のマーカーを識別することが:
前記第1のフレーム内の記号を識別し;
識別された記号をマーカー辞書における記号と比較し;
識別された記号が前記マーカー辞書におけるある記号と一致することを判別することを含む、
条項100に記載の方法。
〔条項114〕
前記マーカ・グリッドの第2のコーナーが前記空間において位置するところの、前記グローバルプレーンにおける第4のx値および第4のy値を同定する第4の(x,y)座標を受領する段階と;
前記マーカ・グリッドの前記第1のコーナーについての前記第1(x,y)座標および前記マーカ・グリッドの前記第2のコーナーについての前記第4の(x,y)座標に基づいて、前記グローバルプレーン内の回転角度を決定する段階とをさらに含み;
前記第1のマーカーについての前記第2の(x,y)座標を決定することは:
前記マーカ・グリッドの前記第1のコーナーについての前記第1の(x,y)座標からの前記第1のオフセットを使用する並進を適用し;
前記マーカ・グリッドの前記第1のコーナーについての前記第1の(x,y)座標に関する前記回転角度を使用した回転を適用することを含む、
条項100に記載の方法。
〔条項115〕
第2のセンサーから、前記空間における前記マーカ・グリッドの前記少なくとも一部分の第2のフレームを受領する段階と;
前記第1のマーカーについての前記第2のフレームにおける第3のピクセル位置を決定する段階と;
前記第2のマーカーについての前記第2のフレームにおける第4のピクセル位置を決定する段階と;
前記第3のピクセル位置、前記第4のピクセル位置、前記第1のマーカーについての前記第2の(x,y)座標、および前記第2のマーカーについての前記第3の(x,y)マーカーに基づいて、第2のホモグラフィーを生成する段階とをさらに含み、
前記第2のホモグラフィーは、前記第2のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含み、
前記第2のホモグラフィーの係数は、前記第1のホモグラフィーの係数とは異なる、
条項100に記載の方法。
〔条項116〕
前記第1のフレームにおける各ピクセルは、ピクセル値に関連付けられており;
前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル値と前記グローバルプレーンにおけるz座標との間で変換するようにさらに構成されている、
条項100に記載のシステム。
〔条項117〕
非一時的なコンピュータ読み取り可能媒体に記憶された実行可能な命令を含むコンピュータ・プログラムであって、前記命令は、プロセッサによって実行されたときに該プロセッサに:
空間においてマーカ・グリッドの第1のコーナーが位置するところの、グローバルプレーンにおける第1のx値および第1のy値を同定する第1の(x,y)座標を受領する段階であって、
前記グローバルプレーンは、前記空間の前記少なくとも一部についての(x,y)座標を表し;
前記マーカ・グリッドは、第1のマーカーおよび第2のマーカーを含み;
前記第1のマーカーは、前記マーカ・グリッド上の第1の位置を識別する第1のオブジェクトであり;
前記第2のマーカーは、前記マーカ・グリッド上の第2の位置を識別する第2のオブジェクトである、段階と;
前記マーカ・グリッドの前記第1のコーナーについての前記第1の(x,y)座標からの第1のオフセットに基づいて、前記第1のマーカーが位置するところの、前記グローバルプレーンにおける第2のx値および第2のy値を同定する第2の(x,y)座標を決定する段階と;
前記マーカ・グリッドの前記第1のコーナーについての前記第1の(x,y)座標からの第2のオフセットに基づいて、前記第2のマーカーが位置するところの、前記グローバルプレーンにおける第3のx値および第3のy値を同定する第3の(x,y)座標を決定する段階と;
前記空間における前記マーカ・グリッドの少なくとも一部について、前記グローバルプレーンの第1のフレームを受領する段階であって、
前記第1のフレームが複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられている、段階と;
前記第1のフレームにおいて前記第1のマーカーおよび前記第2のマーカーを識別する段階と;
前記第1のフレーム内の前記第1のマーカーについての第1のバウンディングボックスを識別する段階であって、前記第1のバウンディングボックスは、前記第1のマーカーの少なくとも一部を含む第1の複数のピクセルを含む、段階と;
前記第1のフレーム内の前記第2のマーカーについての第2のバウンディングボックスを識別する段階であって、前記第2のバウンディングボックスは、前記第2のマーカーの少なくとも一部を含む第2の複数のピクセルを含む、段階と;
前記第1のマーカーに対応する前記第1のバウンディングボックス内の第1のピクセルを識別する段階と;
前記第2のマーカーに対応する前記第2のバウンディングボックス内の第2のピクセルを識別する段階と;
前記第1のピクセルについての第1のピクセル位置を決定する段階であって、前記第1のピクセル位置は、前記第1のフレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記第2のピクセルについての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記第1のフレームの第2のピクセル行および第2のピクセル列を含む、段階と;
前記第1のマーカーについての前記第2の(x,y)座標、前記第2のマーカーについての前記第3の(x,y)座標、前記第1のピクセル位置、および前記第2のピクセル位置に基づいて第1のホモグラフィーを生成する段階であって、前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含む、段階とを実行させるものである、
コンピュータ・プログラム。
【0369】
〔条項118〕
オブジェクト追跡システムであって:
空間についてのグローバルプレーン内のラックの第1のフレームを捕捉するように構成された第1のセンサーであって:
前記グローバルプレーンは前記空間についての(x,y)座標を表し;
前記ラックは棚マーカーを含み;
前記第1のフレームが複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられている、第1のセンサーと;
前記棚マーカーを含む前記ラックの第2のフレームを捕捉するように構成された第2のセンサーと;
前記第1のセンサーおよび前記第2のセンサーに動作可能に結合された追跡システムとを有しており、前記追跡システムは:
前記棚マーカーに対応する前記第1のフレームにおける第1のピクセル位置であって、前記第1のピクセル位置情報は、前記第1のフレームの第1のピクセル行および第1のピクセル列を含む、第1のピクセル位置;および
前記棚マーカーに対応する前記第2のフレームにおける第2のピクセル位置であって、前記第2のピクセル位置情報は、前記第2のフレームの第2のピクセル行および第2のピクセル列を含む、第2のピクセル位置を
記憶するように動作可能な一つまたは複数のメモリと;
前記一つまたは複数のメモリに動作可能に結合された一つまたは複数のプロセッサとを有しており、前記一つまたは複数のプロセッサは:
前記第1のフレームを受領する段階と;
前記第1のフレーム内の前記棚マーカーを識別する段階と;
前記第1のフレーム内の前記棚マーカーについての第1の現在のピクセル位置を決定する段階であって、前記第1の現在のピクセル位置情報は、前記第1のフレームの第3のピクセル行および第3のピクセル列を含む、段階と;
前記棚マーカーについての前記第1の現在のピクセル位置と前記棚マーカーについての前記第1のピクセル位置とを比較する段階と;
前記棚マーカーについての前記第1の現在のピクセル位置が前記棚マーカーについての前記第1のピクセル位置と一致しないことを判別する段階と;
前記第2のフレームを受領する段階と;
前記第2のフレーム内の前記棚マーカーを識別する段階と;
前記第2のフレーム内の前記棚マーカーについての第2の現在のピクセル位置を決定する段階であって、前記第2の現在のピクセル位置情報は、前記第2のフレームの第4のピクセル行および第4のピクセル列を含む、段階と;
前記棚マーカーについての前記第2の現在のピクセル位置と前記棚マーカーについての前記第2のピクセル位置を比較する段階と;
前記棚マーカーについての前記第2の現在のピクセル位置が、前記棚マーカーについての前記第2のピクセル位置と一致するかどうかを判定する段階と;
前記棚マーカーについての前記第2の現在のピクセル位置が前記棚マーカーについての前記第2のピクセル位置と一致することを判別することに応答して、前記第1のセンサーを再較正する段階と;
前記棚マーカーについての前記第2の現在のピクセル位置が前記棚マーカーについての前記第2のピクセル位置と一致しないことを判別することに応答して、前記第1のピクセル位置を前記第1の現在のピクセル位置で更新し、前記第2のピクセル位置を前記第2の現在のピクセル位置を更新する段階とを実行するように構成されている、
システム。
〔条項119〕
前記第1のセンサーを再較正することが:
前記棚マーカーが位置するところの前記グローバルプレーンにおける第1のx値および第1のy値を同定する第1の(x,y)座標を決定し;
第2の棚マーカーが位置するところの前記グローバルプレーンにおける第2のx値および第2のy値を同定する第2の(x,y)座標を決定し;
前記第1のフレーム内の第2の棚マーカーについての第3の現在のピクセル位置を決定し;
前記第1の現在のピクセル位置、前記第3の現在のピクセル位置、前記第1の(x,y)座標、および前記第2の(x,y)座標に基づいてホモグラフィーを生成することを含み、前記ホモグラフィーは、前記第1のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換するものである、
条項118に記載のシステム。
〔条項120〕
前記一つまたは複数のメモリは、前記第1のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含むホモグラフィーを記憶するようにさらに動作可能である、条項118に記載のシステム。
〔条項121〕
前記一つまたは複数のプロセッサはさらに、前記ホモグラフィーを前記第1の現在のピクセル位置に適用して、前記棚マーカーについて前記グローバルプレーンにおける第1のx値および第1のy値を同定する(x,y)座標を決定するように構成される、条項120に記載のシステム。
〔条項122〕
前記第1のフレームにおける各ピクセルは、ピクセル値に関連付けられており;
前記ホモグラフィーは、さらに、前記第1のフレームのピクセル値と前記グローバルプレーンにおけるz座標との間で変換するように構成される、
条項120に記載のシステム。
〔条項123〕
前記一つまたは複数のプロセッサは、前記棚マーカーについての前記第2の現在のピクセル位置が前記棚マーカーについての前記第2のピクセル位置と一致することを判別することに応答して、前記第1のセンサーが移動したことを示す通知を送信するように構成される、条項118に記載のシステム。
〔条項124〕
前記一つまたは複数のプロセッサは、前記棚マーカーについての前記第2の現在のピクセル位置が前記棚マーカーについての前記第2のピクセル位置と一致しないことを判別することに応答して、前記ラックが移動したことを示す通知を送信するように構成される、条項118に記載のシステム。
〔条項125〕
前記第1のセンサーおよび前記第2のセンサーは、センサー・アレイとして構成された複数のセンサーの要素であり:
前記センサー・アレイは、前記グローバルプレーンと平行に位置される、
条項118に記載のシステム。
〔条項126〕
オブジェクト追跡方法であって:
第1のセンサーから、空間についてのグローバルプレーン内のラックの第1のフレームを受領する段階であって、
前記グローバルプレーンは前記空間についての(x,y)座標を表し;
前記ラックは棚マーカーを含み;
前記第1のフレームが複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられている、段階と;
前記第1のフレーム内の前記棚マーカーを識別する段階と;
前記第1のフレーム内の前記棚マーカーについての第1の現在のピクセル位置を決定する段階であって、前記第1の現在のピクセル位置情報は、前記第1のフレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記棚マーカーについての前記第1の現在のピクセル位置と前記棚マーカーについての第1の期待されるピクセル位置とを比較する段階であって、前記第1の期待されるピクセル位置情報は、前記第1のフレームの第2のピクセル行および第2のピクセル列を含む、段階と;
前記棚マーカーについての前記第1の現在のピクセル位置が前記棚マーカーについての前記第1の期待されるピクセル位置と一致しないことを判別する段階と;
第2のセンサーから、前記棚マーカーを含む前記ラックの第2のフレームを受領する段階と;
前記第2のフレーム内の前記棚マーカーを識別する段階と;
前記第2のフレーム内の前記棚マーカーについての第2の現在のピクセル位置を決定する段階であって、前記第2の現在のピクセル位置情報は、前記第2のフレームの第3のピクセル行および第3のピクセル列を含む、段階と;
前記棚マーカーについての前記第2の現在のピクセル位置と前記棚マーカーについての第2の期待されるピクセル位置を比較する段階であって、前記第2の期待されるピクセル位置情報は、前記第2のフレームの第4のピクセル行および第4のピクセル列を含む、段階と;
前記棚マーカーについての前記第2の現在のピクセル位置が、前記棚マーカーについての前記第2の期待されるピクセル位置と一致するかどうかを判定する段階と;
前記棚マーカーについての前記第2の現在のピクセル位置が前記棚マーカーについての前記第2の期待されるピクセル位置と一致することを判別することに応答して、前記第1のセンサーを再較正する段階とを含む、
方法。
〔条項127〕
前記棚マーカーについての前記第2の現在のピクセル位置が前記棚マーカーについての前記第2の期待される位置と一致しないことを判別することに応答して、前記第1のピクセル位置を前記第1の現在のピクセル位置で更新し、前記第2のピクセル位置を前記第2の現在のピクセル位置で更新する段階をさらに含む、条項126に記載の方法。
〔条項128〕
前記第1のセンサーを再較正することが:
前記棚マーカーが位置するところの前記グローバルプレーンにおける第1のx値および第1のy値を同定する第1の(x,y)座標を決定し;
第2の棚マーカーが位置するところの前記グローバルプレーンにおける第2のx値および第2のy値を同定する第2の(x,y)座標を決定し;
前記第1のフレーム内の第2の棚マーカーについての第3の現在のピクセル位置を決定し;
前記第1の現在のピクセル位置、前記第3の現在のピクセル位置、前記第1の(x,y)座標、および前記第2の(x,y)座標に基づいてホモグラフィーを生成することを含み、前記ホモグラフィーは、前記第1のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換するものである、
条項126に記載の方法。
〔条項129〕
前記第1のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含むホモグラフィーを記憶することをさらに含む、条項126に記載の方法。
〔条項130〕
前記ホモグラフィーを前記第1の現在のピクセル位置に適用して、前記棚マーカーについて前記グローバルプレーンにおける第1のx値および第1のy値を同定する(x,y)座標を決定することをさらに含む、条項129に記載の方法。
〔条項131〕
前記第1のフレームにおける各ピクセルは、ピクセル値に関連付けられており;
前記ホモグラフィーは、さらに、前記第1のフレームのピクセル値と前記グローバルプレーンにおけるz座標との間で変換するように構成される、
条項129に記載の方法。
〔条項132〕
前記棚マーカーについての前記第2の現在のピクセル位置が前記棚マーカーについての前記第2のピクセル位置と一致することを判別することに応答して、前記第1のセンサーが移動したことを示す通知を送信する段階をさらに含む、条項126に記載の方法。
〔条項133〕
前記棚マーカーについての前記第2の現在のピクセル位置が前記棚マーカーについての前記第2のピクセル位置と一致しないことを判別することに応答して、前記ラックが移動したことを示す通知を送信するように構成される、条項126に記載の方法。
〔条項134〕
非一時的なコンピュータ読み取り可能媒体に記憶された実行可能な命令を含むコンピュータ・プログラムであって、前記命令は、プロセッサによって実行されたときに該プロセッサに:
第1のセンサーから、空間についてのグローバルプレーン内のラックの第1のフレームを受領する段階であって、
前記グローバルプレーンは前記空間についての(x,y)座標を表し;
前記ラックは棚マーカーを含み;
前記第1のフレームが複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられている、段階と;
前記第1のフレーム内の前記棚マーカーを識別する段階と;
前記第1のフレーム内の前記棚マーカーについての第1の現在のピクセル位置を決定する段階であって、前記第1の現在のピクセル位置情報は、前記第1のフレームの第1のピクセル行および第1のピクセル列を含む、段階と;
前記棚マーカーについての前記第1の現在のピクセル位置と前記棚マーカーについての第1の期待されるピクセル位置とを比較する段階であって、前記第1の期待されるピクセル位置情報は、前記第1のフレームの第2のピクセル行および第2のピクセル列を含む、段階と;
前記棚マーカーについての前記第1の現在のピクセル位置が前記棚マーカーについての前記第1の期待されるピクセル位置と一致しないことを判別する段階と;
第2のセンサーから、前記棚マーカーを含む前記ラックの第2のフレームを受領する段階と;
前記第2のフレーム内の前記棚マーカーを識別する段階と;
前記第2のフレーム内の前記棚マーカーについての第2の現在のピクセル位置を決定する段階であって、前記第2の現在のピクセル位置情報は、前記第2のフレームの第3のピクセル行および第3のピクセル列を含む、段階と;
前記棚マーカーについての前記第2の現在のピクセル位置と前記棚マーカーについての第2の期待されるピクセル位置を比較する段階であって、前記第2の期待されるピクセル位置情報は、前記第2のフレームの第4のピクセル行および第4のピクセル列を含む、段階と;
前記棚マーカーについての前記第2の現在のピクセル位置が、前記棚マーカーについての前記第2の期待されるピクセル位置と一致するかどうかを判定する段階と;
前記棚マーカーについての前記第2の現在のピクセル位置が前記棚マーカーについての前記第2の期待されるピクセル位置と一致することを判別することに応答して、前記第1のセンサーを再較正する段階とを実行させるものである、
コンピュータ・プログラム。
〔条項135〕
前記プロセッサによって実行されたときに該プロセッサに、前記棚マーカーについての前記第2の現在のピクセル位置が前記棚マーカーについての前記第2の期待される位置と一致しないことを判別することに応答して、前記第1のピクセル位置を前記第1の現在のピクセル位置で更新し、前記第2のピクセル位置を前記第2の現在のピクセル位置で更新する段階を実行させる命令をさらに含む、条項134に記載のコンピュータ・プログラム。
〔条項136〕
前記第1のセンサーを再較正することが:
前記棚マーカーが位置するところの前記グローバルプレーンにおける第1のx値および第1のy値を同定する第1の(x,y)座標を決定し;
第2の棚マーカーが位置するところの前記グローバルプレーンにおける第2のx値および第2のy値を同定する第2の(x,y)座標を決定し;
前記第1のフレーム内の第2の棚マーカーについての第3の現在のピクセル位置を決定し;
前記第1の現在のピクセル位置、前記第3の現在のピクセル位置、前記第1の(x,y)座標、および前記第2の(x,y)座標に基づいてホモグラフィーを生成することを含み、前記ホモグラフィーは、前記第1のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換するものであり、前記ホモグラフィーは、前記第1のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含む、
条項134に記載のコンピュータ・プログラム。
〔条項137〕
前記プロセッサによって実行されたときに該プロセッサに、前記ホモグラフィーを前記第1の現在のピクセル位置に適用して、前記棚マーカーについて前記グローバルプレーンにおける第1のx値および第1のy値を同定する(x,y)座標を決定する段階を実行させるための命令をさらに含む、条項136に記載のコンピュータ・プログラム。
【0370】
〔条項138〕
空間の少なくとも一部のトップビュー深さ画像を生成するように構成されたセンサーと;
前記センサーに通信上結合されたセンサー・クライアントとを有するシステムであって、前記センサー・クライアントは、
前記センサーによって生成された前記トップビュー深さ画像の一組のフレームを受領する段階と;
受領されたフレームのうち、第1のオブジェクトに関連する第1の輪郭が第2のオブジェクトに関連する第2の輪郭とマージされるフレームを識別する段階であって、マージされた第1の輪郭および第2の輪郭は:
所定の第1の高さに対応する、受領された深さ画像における第1の深さにおいて決定され、
前記第1のオブジェクトが前記空間において前記第2のオブジェクトから閾値距離以内に位置することに対応する、段階と;
識別されたフレームにおいて、マージされた第1および第2の輪郭のピクセル座標に関連するマージされた輪郭領域を決定する段階と;
前記マージされた輪郭領域内で、所定の第2の高さに関連する第2の深さにおける第3の輪郭を検出する段階であって、前記第2の深さは第1の深さよりも小さい、段階と;
前記第3の輪郭のピクセル座標に関連する第1の領域を決定する段階と;
前記マージされた輪郭領域内で、前記第2の深さにおける第4の輪郭を検出する段階と;
前記第4の輪郭のピクセル座標に関連する第2の領域を決定する段階と;
前記第1の領域を前記第2の領域から区別するための基準が満たされていることを判別する段階と;
前記基準が満たされていることに応答して:
前記第1の領域を前記第1のオブジェクトの第1のピクセル位置に関連付け;
前記第2の領域を前記第2のオブジェクトの第2のピクセル位置に関連付ける段階とを実行するように構成されている、
システム。
〔条項139〕
前記空間の前記部分の少なくとも一部分の傾斜視深さ画像を生成するように構成された第2のセンサーをさらに有しており、
前記クライアント・サーバーはさらに:
第1の傾斜視画像を前記第2のセンサーから受領する段階であって、前記第1の傾斜視画像は前記第1のオブジェクトおよび前記第2のオブジェクトの表現を含む、段階と;
前記第1の傾斜視画像において前記第1のオブジェクトに対応する第5の輪郭を検出する段階と;
前記第5の輪郭のピクセル座標に関連する第3の領域を決定する段階と;
前記第3の領域を前記第1のオブジェクトの第3のピクセル位置に関連付ける段階と;
前記第1の傾斜視画像において前記第2のオブジェクトに対応する第6の輪郭を検出する段階と;
前記第6の輪郭のピクセル座標に関連する第4の領域を決定する段階と;
前記第4の領域を前記第2のオブジェクトの第4のピクセル位置に関連付ける段階とを実行するように構成されている、
条項138に記載のシステム。
〔条項140〕
前記第2の高さは、前記第1のオブジェクトの第1の以前に決定された高さに関連し;
前記センサー・クライアントは、前記マージされた輪郭領域内で、第3の深さにおける第5の輪郭を決定するようにさらに構成されており、前記第3の深さは、前記第1の深さよりも小さく、前記第2のオブジェクトの第2の以前に決定された高さに関連する、
条項138に記載のシステム。
〔条項141〕
前記センサー・クライアントは:
前記第1の領域を前記第2の領域をから区別するための前記基準が満たされていないと判定する段階と;
前記基準が満されていないと判定することに応答して:
前記マージされた輪郭領域内で、第3の深さにおいて、更新された第3の輪郭を決定する段階であって、前記第3の深さは前記第1の深さよりも小さく、前記第2の深さよりも大きい、段階と;
前記更新された第3輪郭のピクセル座標に関連する更新された第1の領域を決定する段階と;
前記マージされた輪郭領域内で、前記第3の深さにおいて、更新された第4の輪郭を決定する段階と;
前記更新された第4の輪郭のピクセル座標に関連する更新された第2の領域を決定する段階と;
前記更新された第1の領域を前記更新された第2の領域から区別するための前記基準が満たされていることを判別する段階と;
前記更新された第1の領域を前記更新された第2の領域から区別するための前記基準が満たされていることを判別することに応答して:
前記更新された第1の領域を前記第1のオブジェクトの前記第1のピクセル位置に関連付け;
前記更新された第2の領域を前記第2のオブジェクトの第2のピクセル位置に関連付ける段階とを実行するようにさらに構成される、
条項138に記載のシステム。
〔条項142〕
前記センサー・クライアントは、前記識別されたフレームにおける輪郭が閾値を超える数のピクセルを含むことを判別することによって、前記第1の輪郭が前記第2の輪郭とマージする前記フレームを識別するように構成されている、条項138に記載のシステム。
〔条項143〕
前記第1の領域を前記第2の領域から区別するための前記基準は、前記第1の領域および前記第2の領域が閾値量以下、重複するという第1の要件と、前記第1の領域および前記第2の領域が前記マージされた輪郭領域内にあるという第2の要件とを含む、条項138に記載のシステム。
〔条項144〕
前記閾値量が10%である、条項143に記載のシステム。
〔条項145〕
前記センサー・クライアントは、前記マージされた輪郭領域を決定することを:
前記第1の輪郭に関連する複数のバウンディングボックスを決定し;
前記複数のバウンディングボックスのそれぞれについて、そのバウンディングボックスが前記複数のバウンディングボックスと類似する程度を示すスコアを計算し;
閾値類似性値よりも大きいスコアを有する、前記複数のバウンディングボックスのサブセットを識別し;
識別されたサブセットに基づいて前記マージされた輪郭領域を決定することによって行うように構成されている、
条項138に記載のシステム。
〔条項146〕
前記第1の領域の決定は:
前記第3の輪郭に関連する複数のバウンディングボックスを決定し;
前記複数のバウンディングボックスのそれぞれについて、そのバウンディングボックスが前記複数のバウンディングボックスと類似する程度を示すスコアを計算し;
閾値類似性値未満のスコアを有する、前記複数のバウンディングボックスのサブセットを識別し;
識別されたサブセットに基づいて前記第1の領域を決定することによって行われる、
条項138に記載のシステム。
〔条項147〕
前記第1のオブジェクトが第1の人であり;
前記第2のオブジェクトが第2の人であり;
前記第2の深さは、前記第1の人および前記第2の人の一方または両方のほぼ頭部の高さに対応する、
条項138に記載のシステム。
〔条項148〕
センサーによって生成されたトップビュー深さ画像の一組のフレームを受領する段階であって、前記センサーは、空間の少なくとも一部のトップビュー深さ画像を生成するように構成されている、段階と;
受領されたフレームのうち、第1のオブジェクトに関連する第1の輪郭が第2のオブジェクトに関連する第2の輪郭とマージされるフレームを識別する段階であって、マージされた第1の輪郭および第2の輪郭は:
所定の第1の高さに対応する、受領された深さ画像における第1の深さにおいて決定され、
前記第1のオブジェクトが前記空間において前記第2のオブジェクトから閾値距離以内に位置することに対応する、段階と;
識別されたフレームにおいて、マージされた第1および第2の輪郭のピクセル座標に関連するマージされた輪郭領域を決定する段階と;
前記マージされた輪郭領域内で、所定の第2の高さに関連する第2の深さにおける第3の輪郭を検出する段階であって、前記第2の深さは第1の深さよりも小さい、段階と;
前記第3の輪郭のピクセル座標に関連する第1の領域を決定する段階と;
前記マージされた輪郭領域内で、前記第2深さにおける第4の輪郭を検出する段階と;
前記第4の輪郭のピクセル座標に関連する第2の領域を決定する段階と;
前記第1の領域を前記第2の領域から区別するための基準が満たされていることを判別する段階と;
前記基準が満たされていることに応答して:
前記第1の領域を前記第1のオブジェクトの第1のピクセル位置に関連付け;
前記第2の領域を前記第2のオブジェクトの第2のピクセル位置に関連付ける段階とを含む、
方法。
〔条項149〕
第1の傾斜視画像を第2のセンサーから受領する段階であって、前記第2のセンサーは、前記空間の前記部分の少なくとも一部分の傾斜視深さ画像を生成するように構成されており、前記第1の傾斜視画像は前記第1のオブジェクトおよび前記第2のオブジェクトの表現を含む、段階と;
前記第1の傾斜視画像において前記第1のオブジェクトに対応する第5の輪郭を検出する段階と;
前記第5の輪郭のピクセル座標に関連する第3の領域を決定する段階と;
前記第3の領域を前記第1のオブジェクトの第3のピクセル位置に関連付ける段階と;
前記第1の傾斜視画像において前記第2のオブジェクトに対応する第6の輪郭を検出する段階と;
前記第6の輪郭のピクセル座標に関連する第4の領域を決定する段階と;
前記第4の領域を前記第2のオブジェクトの第4のピクセル位置に関連付ける段階とをさらに含む、
条項148に記載の方法。
〔条項150〕
前記第2の高さは、前記第1のオブジェクトの第1の以前に決定された高さに関連し;
当該方法は、前記マージされた輪郭領域内で、第3の深さにおける第5の輪郭を決定する段階をさらに含み、前記第3の深さは、前記第1の深さよりも小さく、前記第2のオブジェクトの第2の以前に決定された高さに関連する、
条項148に記載の方法。
〔条項151〕
前記第1の領域を前記第2の領域をから区別するための前記基準が満たされていないと判定する段階と;
前記基準が満されていないと判定することに応答して:
前記マージされた輪郭領域内で、第3の深さにおいて、更新された第3の輪郭を決定する段階であって、前記第3の深さは前記第1の深さよりも小さく、前記第2の深さよりも大きい、段階と;
前記更新された第3輪郭のピクセル座標に関連する更新された第1の領域を決定する段階と;
前記マージされた輪郭領域内で、前記第3の深さにおいて、更新された第4の輪郭を決定する段階と;
前記更新された第4の輪郭のピクセル座標に関連する更新された第2の領域を決定する段階と;
前記更新された第1の領域を前記更新された第2の領域から区別するための前記基準が満たされていることを判別する段階と;
前記更新された第1の領域を前記更新された第2の領域から区別するための前記基準が満たされていることを判別することに応答して:
前記更新された第1の領域を前記第1のオブジェクトの前記第1のピクセル位置に関連付け;
前記更新された第2の領域を前記第2のオブジェクトの第2のピクセル位置に関連付ける段階とをさらに含む、
条項148に記載の方法。
〔条項152〕
前記識別されたフレームにおける輪郭が閾値を超える数のピクセルを含むことを判別することによって、前記第1の輪郭が前記第2の輪郭とマージする前記フレームを識別することをさらに含む、条項148に記載の方法。
〔条項153〕
前記第1の領域を前記第2の領域から区別するための前記基準は、前記第1の領域および前記第2の領域が閾値量以下、重複するという第1の要件と、前記第1の領域および前記第2の領域が前記マージされた輪郭領域内にあるという第2の要件とを含む、条項148に記載の方法。
〔条項154〕
前記マージされた輪郭領域を決定することを:
前記第1の輪郭に関連する複数のバウンディングボックスを決定し;
前記複数のバウンディングボックスのそれぞれについて、そのバウンディングボックスが前記複数のバウンディングボックスと類似する程度を示すスコアを計算し;
閾値類似性値よりも大きいスコアを有する、前記複数のバウンディングボックスのサブセットを識別し;
識別されたサブセットに基づいて前記マージされた輪郭領域を決定することによって行うことを含む、
条項148に記載の方法。
〔条項155〕
前記第1の領域の決定を:
前記第3の輪郭に関連する複数のバウンディングボックスを決定し;
前記複数のバウンディングボックスのそれぞれについて、そのバウンディングボックスが前記複数のバウンディングボックスと類似する程度を示すスコアを計算し;
閾値類似性値未満のスコアを有する、前記複数のバウンディングボックスのサブセットを識別し;
識別されたサブセットに基づいて前記第1の領域を決定することによって行うことを含む、
条項148に記載の方法。
〔条項156〕
前記第1のオブジェクトが第1の人であり;
前記第2のオブジェクトが第2の人であり;
前記第2の深さは、前記第1の人および前記第2の人の一方または両方のほぼ頭部の高さに対応する、
条項148に記載の方法。
【0371】
〔条項157〕
空間の少なくとも一部のトップビュー深さ画像を生成するように構成されたセンサーと;
前記センサーに通信上結合されたセンサー・クライアントとを有するシステムであって、前記センサー・クライアントは、
前記センサーによって生成された前記トップビュー深さ画像の一組のフレームを受領し;
前記一組のフレームのうちの第1のフレームにおいて:
輪郭検出アルゴリズムを用いて初期輪郭を検出し;
前記初期輪郭内のピクセルの数に基づいて、前記初期輪郭が複数の輪郭にセグメント分割されるべきであると判断し;
前記初期輪郭に関連する初期領域内で、第1の輪郭および第2の輪郭を検出し;
前記第1の輪郭に関連する第1の領域を、第1のオブジェクトの第1のピクセル位置に関連付け;
前記第2の輪郭に関連する第2の領域を、第2のオブジェクトの第2のピクセル位置に関連付けるように構成されている、
システム。
【0372】
〔条項158〕
複数のセンサーであって、各センサーは、空間の少なくとも一部のトップビュー画像を生成するように構成されている、センサーと;
前記複数のセンサーに通信上結合された追跡サブシステムとを有するシステムであって、前記追跡サブシステムは:
前記複数のセンサーのうちの少なくとも1つによって生成されたトップビュー画像を使用してある時間期間にわたって、前記空間における第1のオブジェクトの第1のグローバル位置を、前記第1のオブジェクトに関連する第1の輪郭のピクセル座標に基づいて追跡する段階と;
前記複数のセンサーのうちの少なくとも1つによって生成されたトップビュー画像を使用して前記時間期間にわたって、前記空間における第2のオブジェクトの第2のグローバル位置を、前記第2のオブジェクトに関連する第2の輪郭のピクセル座標に基づいて追跡する段階と;
前記時間期間内のある時刻に対応する第1のタイムスタンプにおいて、前記第1のオブジェクトと前記第2のオブジェクトとの間の衝突事象を検出する段階であって、前記衝突事象は、前記第1の追跡される位置が前記第2の追跡される位置の閾値距離以内にあることに対応する、段階と;
前記衝突事象を検出した後、前記複数のセンサーのうちの第1のセンサーから第1のトップビュー画像を受領する段階であって、前記第1のトップビュー画像は前記第1のオブジェクトのトップビュー画像を含む、段階と;
前記第1のトップビュー画像に基づいて、前記第1のオブジェクトについての第1の記述子を決定する段階であって、前記第1の記述子は、前記第1の輪郭の観察可能な特性に関連付けられた少なくとも1つの値を含む、段階と;
前記第1の記述子に基づいて、前記第1のオブジェクトを前記第2のオブジェクトから区別するための基準が満たされていないことを判別する段階であって、前記基準は、前記衝突事象に関連する時間区間の間に、前記第1の記述子の第1の値と前記第2のオブジェクトに関連する第2の記述子の第2の値との間の差がある最小値より小さい場合に満たされない、段階と;
前記基準が満たされていないことを判別することに応答して、前記第1の輪郭についての第3の記述子を決定する段階であって、前記第3の記述子は、トップビュー画像においてオブジェクトを識別するように構成された人工ニューラルネットワークによって生成された値を含む、段階と;
前記第3の記述子に基づいて、あらかじめ定義された識別子の集合からの第1の識別子が前記第1のオブジェクトに対応することを判別する段階とを実行するように構成されている、
システム。
〔条項159〕
前記追跡サブシステムは:
前記第1の記述子に基づいて、前記第1のオブジェクトを前記第2のオブジェクトから区別するための前記基準が満たされていることを判別する段階であって、前記基準は、前記第1の記述子の前記第1の値と前記第2の記述子の前記第2の値との間の差が前記最小値以上である場合に満たされる、段階と;
前記第1の記述子に基づいて、あらかじめ定義された識別子の前記集合からの前記第1の識別子を識別する段階と;
前記第1の識別子を前記第1のオブジェクトに関連付ける段階とを実行するように構成されている、
条項158に記載のシステム。
〔条項160〕
前記追跡サブシステムは、前記第1の識別子が前記第1のオブジェクトに対応することを判別することを:
あらかじめ定義された識別子の前記集合の各要素について、前記第1の識別子の値とあらかじめ定義された識別子の値における差の絶対値を計算する段階と;
前記第1の識別子を、最も小さい値をもつ計算された絶対値に関連付けられたあらかじめ定義された識別子として決定する段階によって行うように構成されている、
条項158に記載のシステム。
〔条項161〕
前記追跡サブシステムは、前記第1の記述子を決定することを:
テクスチャー演算子を使用して前記第1の輪郭についての初期データ・ベクトルを計算する段階と;
主成分分析を用いて、前記第1の記述子の前記第1の記述子に含めるべき、前記初期データ・ベクトルの一部を選択する段階によって行うように構成されている、
条項158に記載のシステム。
〔条項162〕
前記第1の記述子を決定するために使用される処理コアの第1の数は、前記人工ニューラルネットワークを使用して前記第3の記述子を決定するために使用される処理コアの第2の数よりも少ない、条項158に記載のシステム。
〔条項163〕
前記あらかじめ定義された識別子の集合は、前記第1のオブジェクトの前記第1の識別子と前記第2のオブジェクトの第2の識別子を含み;
前記追跡サブシステムはさらに:
前記時間期間の前の第1の初期時間期間の間に:
前記第1のオブジェクトの第1の高さに関連する第1の高さ記述子、前記第1の輪郭の形状に関連する第1の輪郭記述子、および前記第1の輪郭についての前記人工ニューラルネットワークによって生成された第1のベクトルに対応する第1のアンカー記述子を決定する段階と;
前記第1の高さ記述子、第1の輪郭記述子、および第1のアンカー記述子を前記第1の識別子に関連付ける段階とを実行し;
前記時間期間の前の第2の初期時間期間の間に:
前記第2のオブジェクトの第2の高さに関連する第2の高さ記述子、前記第2の輪郭の形状に関連する第2の輪郭記述子、および前記第2の輪郭についての前記人工ニューラルネットワークによって生成された第2のベクトルに対応する第2のアンカー記述子を決定する段階と;
前記第2の高さ記述子、第2の輪郭記述子、および第2のアンカー記述子を前記第1の識別子に関連付ける段階とを実行するように構成されている、
条項158に記載のシステム。
〔条項164〕
前記第1の記述子が、前記第1のオブジェクトの高さを含み;
前記追跡サブシステムがさらに:
前記第1の記述子に基づいて、前記第1のオブジェクトを前記第2のオブジェクトから区別するための前記基準が満たされていることを判別する段階であって、前記基準は、前記第1の記述子の前記第1の値と前記第2の記述子の前記第2の値との間の差が前記最小値以上である場合に満たされる、段階と;
前記高さが前記第1の高さ記述子の閾値範囲以内であることを判別することに応答して、前記第1のオブジェクトが前記第1の記述子に関連付けられていることを判別する段階と;
前記第1のオブジェクトが前記第1の記述子に関連付けられていることを判別することに応答して、前記第1のオブジェクトを前記第1の識別子に関連付ける段階とを実行するように構成されている、
条項163に記載のシステム。
〔条項165〕
前記衝突事象は、前記複数のセンサーのうち第1のセンサーからの第1のトップビュー画像フレームにおいて、前記第1の輪郭が前記第2の輪郭とマージすることに対応し、
前記追跡サブシステムはさらに:
前記衝突事象を検出することに応答して、少なくとも前記第1の輪郭と第2の輪郭がマージされなくなるまで、前記複数のセンサーのうちの前記第1のセンサーから前記トップビュー画像フレームを受領し;
前記第1の輪郭と第2の輪郭がマージされなくなった後、前記第1のオブジェクト識別アルゴリズムを使用して、前記第1のオブジェクトについての前記第1の記述子を決定するように構成されている、
条項158に記載のシステム。
〔条項166〕
複数のセンサーのうちの少なくとも1つによって生成されたトップビュー画像を使用してある時間期間にわたって、前記空間における第1のオブジェクトの第1のグローバル位置を、前記第1のオブジェクトに関連する第1の輪郭のピクセル座標に基づいて追跡する段階であって、前記複数のセンサーの各センサーは、空間の少なくとも一部のトップビュー画像を生成するように構成されている、段階と;
前記複数のセンサーのうちの少なくとも1つによって生成されたトップビュー画像を使用して前記時間期間にわたって、前記空間における第2のオブジェクトの第2のグローバル位置を、前記第2のオブジェクトに関連する第2の輪郭のピクセル座標に基づいて追跡する段階と;
前記時間期間内のある時刻に対応する第1のタイムスタンプにおいて、前記第1のオブジェクトと前記第2のオブジェクトとの間の衝突事象を検出する段階であって、前記衝突事象は、前記第1の追跡される位置が前記第2の追跡される位置の閾値距離以内にあることに対応する、段階と;
前記衝突事象を検出した後、前記複数のセンサーのうちの第1のセンサーから第1のトップビュー画像を受領する段階であって、前記第1のトップビュー画像は前記第1のオブジェクトのトップビュー画像を含む、段階と;
前記第1のトップビュー画像に基づいて、前記第1のオブジェクトについての第1の記述子を決定する段階であって、前記第1の記述子は、前記第1の輪郭の観察可能な特性に関連付けられた少なくとも1つの値を含む、段階と;
前記第1の記述子に基づいて、前記第1のオブジェクトを前記第2のオブジェクトから区別するための基準が満たされていないことを判別する段階であって、前記基準は、前記衝突事象に関連する時間区間の間に、前記第1の記述子の第1の値と前記第2のオブジェクトに関連する第2の記述子の第2の値との間の差がある最小値より小さい場合に満たされない、段階と;
前記基準が満たされていないことを判別することに応答して、前記第1の輪郭についての第3の記述子を決定する段階であって、前記第3の記述子は、トップビュー画像においてオブジェクトを識別するように構成された人工ニューラルネットワークによって生成された値を含む、段階と;
前記第3の記述子に基づいて、あらかじめ定義された識別子の集合からの第1の識別子が前記第1のオブジェクトに対応することを判別する段階とを含む、
方法。
〔条項167〕
前記第1の記述子に基づいて、前記第1のオブジェクトを前記第2のオブジェクトから区別するための前記基準が満たされていることを判別する段階であって、前記基準は、前記第1の記述子の前記第1の値と前記第2の記述子の前記第2の値との間の差が前記最小値以上である場合に満たされる、段階と;
前記第1の記述子に基づいて、あらかじめ定義された識別子の前記集合からの前記第1の識別子を識別する段階と;
前記第1の識別子を前記第1のオブジェクトに関連付ける段階とをさらに含む、
条項166に記載の方法。
〔条項168〕
前記第1の識別子が前記第1のオブジェクトに対応することを判別することを:
あらかじめ定義された識別子の前記集合の各要素について、前記第1の識別子の値とあらかじめ定義された識別子の値における差の絶対値を計算する段階と;
前記第1の識別子を、最も小さい値をもつ計算された絶対値に関連付けられたあらかじめ定義された識別子として決定する段階によって行うことをさらに含む、
条項166に記載の方法。
〔条項169〕
前記第1の記述子を決定することを:
テクスチャー演算子を使用して前記第1の輪郭についての初期データ・ベクトルを計算する段階と;
主成分分析を用いて、前記第1の記述子の前記第1の記述子に含めるべき、前記初期データ・ベクトルの一部を選択する段階によって行うことをさらに含む、
条項158に記載の方法。
〔条項170〕
前記あらかじめ定義された識別子の集合は、前記第1のオブジェクトの前記第1の識別子と前記第2のオブジェクトの第2の識別子を含み;
当該方法はさらに:
前記時間期間の前の第1の初期時間期間の間に:
前記第1のオブジェクトの第1の高さに関連する第1の高さ記述子、前記第1の輪郭の形状に関連する第1の輪郭記述子、および前記第1の輪郭についての前記人工ニューラルネットワークによって生成された第1のベクトルに対応する第1のアンカー記述子を決定する段階と;
前記第1の高さ記述子、第1の輪郭記述子、および第1のアンカー記述子を前記第1の識別子に関連付ける段階とを実行し;
前記時間期間の前の第2の初期時間期間の間に:
前記第2のオブジェクトの第2の高さに関連する第2の高さ記述子、前記第2の輪郭の形状に関連する第2の輪郭記述子、および前記第2の輪郭についての前記人工ニューラルネットワークによって生成された第2のベクトルに対応する第2のアンカー記述子を決定する段階と;
前記第2の高さ記述子、第2の輪郭記述子、および第2のアンカー記述子を前記第1の識別子に関連付ける段階とをさらに含む、
条項166に記載の方法。
〔条項171〕
前記第1の記述子が、前記第1のオブジェクトの高さを含み;
当該方法がさらに:
前記第1の記述子に基づいて、前記第1のオブジェクトを前記第2のオブジェクトから区別するための前記基準が満たされていることを判別する段階であって、前記基準は、前記第1の記述子の前記第1の値と前記第2の記述子の前記第2の値との間の差が前記最小値以上である場合に満たされる、段階と;
前記高さが前記第1の高さ記述子の閾値範囲以内であることを判別することに応答して、前記第1のオブジェクトが前記第1の記述子に関連付けられていることを判別する段階と;
前記第1のオブジェクトが前記第1の記述子に関連付けられていることを判別することに応答して、前記第1のオブジェクトを前記第1の識別子に関連付ける段階とをさらに含む、
条項170に記載の方法。
〔条項172〕
前記衝突事象は、前記複数のセンサーのうち第1のセンサーからの第1のトップビュー画像フレームにおいて、前記第1の輪郭が前記第2の輪郭とマージすることに対応し、
当該方法はさらに:
前記衝突事象を検出することに応答して、少なくとも前記第1の輪郭と第2の輪郭がマージされなくなるまで、前記複数のセンサーのうちの前記第1のセンサーから前記トップビュー画像フレームを受領し;
前記第1の輪郭と第2の輪郭がマージされなくなった後、前記第1のオブジェクト識別アルゴリズムを使用して、前記第1のオブジェクトについての前記第1の記述子を決定することをさらに含む、
条項166に記載の方法。
〔条項173〕
複数のセンサーに通信上結合された追跡サブシステムであって、前記複数のセンサーの各センサーは、空間の少なくとも一部のトップビュー画像を生成するように構成されており、当該追跡サブシステムは:
前記複数のセンサーのうちの少なくとも1つによって生成されたトップビュー画像を使用してある時間期間にわたって、前記空間における第1のオブジェクトの第1のグローバル位置を、前記第1のオブジェクトに関連する第1の輪郭のピクセル座標に基づいて追跡する段階と;
前記複数のセンサーのうちの少なくとも1つによって生成されたトップビュー画像を使用して前記時間期間にわたって、前記空間における第2のオブジェクトの第2のグローバル位置を、前記第2のオブジェクトに関連する第2の輪郭のピクセル座標に基づいて追跡する段階と;
前記時間期間内のある時刻に対応する第1のタイムスタンプにおいて、前記第1のオブジェクトと前記第2のオブジェクトとの間の衝突事象を検出する段階であって、前記衝突事象は、前記第1の追跡される位置が前記第2の追跡される位置の閾値距離以内にあることに対応する、段階と;
前記衝突事象を検出した後、前記複数のセンサーのうちの第1のセンサーから第1のトップビュー画像を受領する段階であって、前記第1のトップビュー画像は前記第1のオブジェクトのトップビュー画像を含む、段階と;
前記第1のトップビュー画像に基づいて、前記第1のオブジェクトについての第1の記述子を決定する段階であって、前記第1の記述子は、前記第1の輪郭の観察可能な特性に関連付けられた少なくとも1つの値を含む、段階と;
前記第1の記述子に基づいて、前記第1のオブジェクトを前記第2のオブジェクトから区別するための基準が満たされていないことを判別する段階であって、前記基準は、前記衝突事象に関連する時間区間の間に、前記第1の記述子の第1の値と前記第2のオブジェクトに関連する第2の記述子の第2の値との間の差がある最小値より小さい場合に満たされない、段階と;
前記基準が満たされていないことを判別することに応答して、前記第1の輪郭についての第3の記述子を決定する段階であって、前記第3の記述子は、トップビュー画像においてオブジェクトを識別するように構成された人工ニューラルネットワークによって生成された値を含む、段階と;
前記第3の記述子に基づいて、あらかじめ定義された識別子の集合からの第1の識別子が前記第1のオブジェクトに対応することを判別する段階とを実行するように構成されている、
追跡サブシステム。
〔条項174〕
前記第1の記述子に基づいて、前記第1のオブジェクトを前記第2のオブジェクトから区別するための前記基準が満たされていることを判別する段階であって、前記基準は、前記第1の記述子の前記第1の値と前記第2の記述子の前記第2の値との間の差が前記最小値以上である場合に満たされる、段階と;
前記第1の記述子に基づいて、あらかじめ定義された識別子の前記集合からの前記第1の識別子を識別する段階と;
前記第1の識別子を前記第1のオブジェクトに関連付ける段階とを実行するようにさらに構成されている、
条項173に記載の追跡サブシステム。
〔条項175〕
前記第1の識別子が前記第1のオブジェクトに対応することを判別することを:
あらかじめ定義された識別子の前記集合の各要素について、前記第1の識別子の値とあらかじめ定義された識別子の値における差の絶対値を計算する段階と;
前記第1の識別子を、最も小さい値をもつ計算された絶対値に関連付けられたあらかじめ定義された識別子として決定する段階によって行うようにさらに構成されている、
条項173に記載の追跡サブシステム。
〔条項176〕
前記第1の記述子を決定することを:
テクスチャー演算子を使用して前記第1の輪郭についての初期データ・ベクトルを計算する段階と;
主成分分析を用いて、前記第1の記述子の前記第1の記述子に含めるべき、前記初期データ・ベクトルの一部を選択する段階によって行うようにさらに構成されている、
条項173に記載の追跡サブシステム。
〔条項177〕
前記あらかじめ定義された識別子の集合は、前記第1のオブジェクトの前記第1の識別子と前記第2のオブジェクトの第2の識別子を含み;
前記追跡サブシステムはさらに:
前記時間期間の前の第1の初期時間期間の間に:
前記第1のオブジェクトの第1の高さに関連する第1の高さ記述子、前記第1の輪郭の形状に関連する第1の輪郭記述子、および前記第1の輪郭についての前記人工ニューラルネットワークによって生成された第1のベクトルに対応する第1のアンカー記述子を決定する段階と;
前記第1の高さ記述子、第1の輪郭記述子、および第1のアンカー記述子を前記第1の識別子に関連付ける段階とを実行し;
前記時間期間の前の第2の初期時間期間の間に:
前記第2のオブジェクトの第2の高さに関連する第2の高さ記述子、前記第2の輪郭の形状に関連する第2の輪郭記述子、および前記第2の輪郭についての前記人工ニューラルネットワークによって生成された第2のベクトルに対応する第2のアンカー記述子を決定する段階と;
前記第2の高さ記述子、第2の輪郭記述子、および第2のアンカー記述子を前記第1の識別子に関連付ける段階とを実行するように構成されている、
条項173に記載の追跡サブシステム。
【0373】
〔条項178〕
複数のセンサーであって、各センサーは、空間の少なくとも一部のトップビュー画像を生成するように構成されている、センサーと、
前記複数のセンサーに通信上結合された追跡サブシステムとを有するシステムであって、前記追跡サブシステムは:
前記複数のセンサーによって生成されたトップビュー画像を受領する段階と;
前記複数のセンサーによって生成された前記トップビュー画像の少なくとも一部を使用して前記空間における第1のオブジェクトおよび一つまたは複数の他のオブジェクトを追跡する段階と;
追跡される第1のオブジェクトの識別子が前記第1のオブジェクトに関連する確率が閾値確率値未満であることに少なくとも基づいて、追跡される第1のオブジェクトの再識別が必要であることを判別する段階と;
追跡される第1のオブジェクトの再識別が必要であることを判別することに応答して、追跡される第1のオブジェクトについての候補識別子を決定する段階であって、前記候補識別子は、すべての追跡されるオブジェクトの識別子のサブセットを含み、前記サブセットは、追跡される第1のオブジェクトの動きの履歴および追跡される第1のオブジェクトの、前記空間における前記一つまたは複数の他の追跡されるオブジェクトとの相互作用に基づく、追跡される第1のオブジェクトの可能な識別子を含む、段階と;
前記複数のセンサーのうちの第1のセンサーから、前記第1のオブジェクトの第1のトップビュー画像を受領する段階と;
前記第1のトップビュー画像に基づいて、前記第1のオブジェクトについての第1の記述子を決定する段階であって、前記第1の記述子は、前記第1のオブジェクトに関連する前記第1の輪郭の特性に関連する少なくとも1つの値を含む、段階と;
前記第1の記述子を、前記第1のオブジェクトについて決定された前記候補識別子に関連するあらかじめ決定された記述子の集合と比較する段階と;
前記比較の結果に基づいて、前記第1のオブジェクトについての更新された識別子を決定する段階であって、前記更新された識別子は、前記あらかじめ決定された記述子であって第1の記述子値の閾値範囲以内の値を有するものである、段階と;
前記更新された識別子を前記第1のオブジェクトに割り当てる段階とを実行するように構成されている、
システム。
〔条項179〕
前記第1の記述子は、前記フレーム内の前記第1のオブジェクトの特性に関連する第1のデータ・ベクトルを含み;
前記あらかじめ決定された記述子のそれぞれは、対応するあらかじめ決定されたデータ・ベクトルを含み;
前記追跡サブシステムはさらに:
前記第1のデータ・ベクトルと前記あらかじめ決定されたデータ・ベクトルのそれぞれとの間の第1の余弦類似性値を計算することによって、前記第1の記述子を、前記候補識別子に関連する前記あらかじめ決定された記述子のそれぞれと比較する段階と;
前記更新された識別子を、1に最も近い前記第1の余弦類似性値に対応する候補識別子として決定する段階とを実行するように構成されている、
条項178に記載のシステム。
〔条項180〕
前記追跡サブシステムは、前記第1の余弦類似性値のそれぞれが閾値類似性値未満であることを判別することに応答して:
前記一つまたは複数の他のオブジェクトのそれぞれについて第2の記述子値を決定する段階であって、各第2の記述子値が第2のデータ・ベクトルを含む、段階と;
前記第2のデータ・ベクトルのそれぞれと前記あらかじめ決定された記述子値のそれぞれとの間の第2の余弦類似性値を決定する段階と;
前記第1および第2の余弦類似性値に基づいて、前記第1のオブジェクトおよび前記他のオブジェクトのそれぞれについて、第2の更新された識別子を決定する段階とを実行するようにさらに構成されている、
条項179に記載のシステム。
〔条項181〕
前記記述子は、前記第1のトップビュー画像の一部に基づいて決定され、該一部は、前記第1のセンサーによって対象とされる全視野の中央サブ領域を含むあらかじめ定義された視野に対応する、条項178に記載のシステム。
〔条項182〕
前記第1のオブジェクトが第1の人であり;
前記第1のトップビュー画像は、深さ画像であり、前記深さ画像は、前記第1のセンサーとは異なる深さでの画像データを含み;
前記追跡サブシステムは、前記第1のトップビュー画像内の関心領域に基づいて前記記述子を決定するようにさらに構成され、前記関心領域は、前記第1の人の頭部に関連する深さに対応する前記画像データを含む、
条項177に記載のシステム。
〔条項183〕
前記追跡サブシステムは、追跡される第1のオブジェクトの再識別が必要であることを判別する前に、前記候補識別子に関連する更新されたあらかじめ決定された記述子を周期的に決定するようにさらに構成される、条項177に記載のシステム。
〔条項184〕
前記追跡サブシステムは、さらに:
前記更新されたあらかじめ決定された記述子を決定することに応答して、第1の更新されたあらかじめ決定された記述子が、対応するあらかじめ決定された記述子から、少なくとも閾値量だけ異なることを判別する段階と;
前記更新された記述子と、対応する以前のあらかじめ決定された記述子との両方を保存する段階とを実行するように構成されている、
条項183に記載のシステム。
〔条項185〕
複数のセンサーによって生成されたトップビュー画像を受領する段階であって、前記複数のセンサーの各センサーは、空間の少なくとも一部のトップビュー画像を生成するように構成されている、段階と;
前記複数のセンサーによって生成された前記トップビュー画像の少なくとも一部を使用して前記空間における第1のオブジェクトおよび一つまたは複数の他のオブジェクトを追跡する段階と;
追跡される第1のオブジェクトの識別子が前記第1のオブジェクトに関連する確率が閾値確率値未満であることに少なくとも基づいて、追跡される第1のオブジェクトの再識別が必要であることを判別する段階と;
追跡される第1のオブジェクトの再識別が必要であることを判別することに応答して、追跡される第1のオブジェクトについての候補識別子を決定する段階であって、前記候補識別子は、すべての追跡されるオブジェクトの識別子のサブセットを含み、前記サブセットは、追跡される第1のオブジェクトの動きの履歴および追跡される第1のオブジェクトの、前記空間における前記一つまたは複数の他の追跡されるオブジェクトとの相互作用に基づく、追跡される第1のオブジェクトの可能な識別子を含む、段階と;
前記複数のセンサーのうちの第1のセンサーから、前記第1のオブジェクトの第1のトップビュー画像を受領する段階と;
前記第1のトップビュー画像に基づいて、前記第1のオブジェクトについての第1の記述子を決定する段階であって、前記第1の記述子は、前記第1のオブジェクトに関連する前記第1の輪郭の特性に関連する少なくとも1つの値を含む、段階と;
前記第1の記述子を、前記第1のオブジェクトについて決定された前記候補識別子に関連するあらかじめ決定された記述子の集合と比較する段階と;
前記比較の結果に基づいて、前記第1のオブジェクトについての更新された識別子を決定する段階であって、前記更新された識別子は、前記あらかじめ決定された記述子であって第1の記述子値の閾値範囲以内の値を有するものである、段階と;
前記更新された識別子を前記第1のオブジェクトに割り当てる段階とを含む、
方法。
〔条項186〕
前記第1の記述子は、前記フレーム内の前記第1のオブジェクトの特性に関連する第1のデータ・ベクトルを含み;
前記あらかじめ決定された記述子のそれぞれは、対応するあらかじめ決定されたデータ・ベクトルを含み;
当該方法はさらに:
前記第1のデータ・ベクトルと前記あらかじめ決定されたデータ・ベクトルのそれぞれとの間の第1の余弦類似性値を計算することによって、前記第1の記述子を、前記候補識別子に関連する前記あらかじめ決定された記述子のそれぞれと比較する段階と;
前記更新された識別子を、1に最も近い前記第1の余弦類似性値に対応する候補識別子として決定する段階とをさらに含む、
条項185に記載の方法。
〔条項187〕
前記第1の余弦類似性値のそれぞれが閾値類似性値未満であることを判別することに応答して:
前記一つまたは複数の他のオブジェクトのそれぞれについて第2の記述子値を決定する段階であって、各第2の記述子値が第2のデータ・ベクトルを含む、段階と;
前記第2のデータ・ベクトルのそれぞれと前記あらかじめ決定された記述子値のそれぞれとの間の第2の余弦類似性値を決定する段階と;
前記第1および第2の余弦類似性値に基づいて、前記第1のオブジェクトおよび前記他のオブジェクトのそれぞれについて、第2の更新された識別子を決定する段階とを実行することをさらに含む、
条項186に記載の方法。
〔条項188〕
前記記述子を、前記第1のトップビュー画像の一部に基づいて決定し、該一部は、前記第1のセンサーによって対象とされる全視野の中央サブ領域を含むあらかじめ定義された視野に対応する、条項185に記載の方法。
〔条項189〕
前記第1のオブジェクトが第1の人であり;
前記第1のトップビュー画像は、深さ画像であり、前記深さ画像は、前記第1のセンサーとは異なる深さでの画像データを含み;
当該方法は、前記第1のトップビュー画像内の関心領域に基づいて前記記述子を決定することをさらに含み、前記関心領域は、前記第1の人の頭部に関連する深さに対応する前記画像データを含む、
条項185に記載の方法。
〔条項190〕
追跡される第1のオブジェクトの再識別が必要であることを判別する前に、前記候補識別子に関連する更新されたあらかじめ決定された記述子を周期的に決定することをさらに含む、条項185に記載の方法。
〔条項191〕
前記更新されたあらかじめ決定された記述子を決定することに応答して、第1の更新されたあらかじめ決定された記述子が、対応するあらかじめ決定された記述子から、少なくとも閾値量だけ異なることを判別する段階と;
前記更新された記述子と、対応する以前のあらかじめ決定された記述子との両方を保存する段階とをさらに含む、
条項190に記載の方法。
〔条項192〕
複数のセンサーに通信上結合された追跡サブシステムであって、前記複数のセンサーの各センサーは、空間の少なくとも一部のトップビュー画像を生成するように構成されており、当該追跡サブシステムは:
前記複数のセンサーによって生成されたトップビュー画像を受領する段階と;
前記複数のセンサーによって生成された前記トップビュー画像の少なくとも一部を使用して前記空間における第1のオブジェクトおよび一つまたは複数の他のオブジェクトを追跡する段階と;
追跡される第1のオブジェクトの識別子が前記第1のオブジェクトに関連する確率が閾値確率値未満であることに少なくとも基づいて、追跡される第1のオブジェクトの再識別が必要であることを判別する段階と;
追跡される第1のオブジェクトの再識別が必要であることを判別することに応答して、追跡される第1のオブジェクトについての候補識別子を決定する段階であって、前記候補識別子は、すべての追跡されるオブジェクトの識別子のサブセットを含み、前記サブセットは、追跡される第1のオブジェクトの動きの履歴および追跡される第1のオブジェクトの、前記空間における前記一つまたは複数の他の追跡されるオブジェクトとの相互作用に基づく、追跡される第1のオブジェクトの可能な識別子を含む、段階と;
前記複数のセンサーのうちの第1のセンサーから、前記第1のオブジェクトの第1のトップビュー画像を受領する段階と;
前記第1のトップビュー画像に基づいて、前記第1のオブジェクトについての第1の記述子を決定する段階であって、前記第1の記述子は、前記第1のオブジェクトに関連する前記第1の輪郭の特性に関連する少なくとも1つの値を含む、段階と;
前記第1の記述子を、前記第1のオブジェクトについて決定された前記候補識別子に関連するあらかじめ決定された記述子の集合と比較する段階と;
前記比較の結果に基づいて、前記第1のオブジェクトについての更新された識別子を決定する段階であって、前記更新された識別子は、前記あらかじめ決定された記述子であって第1の記述子値の閾値範囲以内の値を有するものである、段階と;
前記更新された識別子を前記第1のオブジェクトに割り当てる段階とを実行するように構成されている、
追跡サブシステム。
〔条項193〕
前記第1の記述子は、前記フレーム内の前記第1のオブジェクトの特性に関連する第1のデータ・ベクトルを含み;
前記あらかじめ決定された記述子のそれぞれは、対応するあらかじめ決定されたデータ・ベクトルを含み;
前記追跡サブシステムはさらに:
前記第1のデータ・ベクトルと前記あらかじめ決定されたデータ・ベクトルのそれぞれとの間の第1の余弦類似性値を計算することによって、前記第1の記述子を、前記候補識別子に関連する前記あらかじめ決定された記述子のそれぞれと比較する段階と;
前記更新された識別子を、1に最も近い前記第1の余弦類似性値に対応する候補識別子として決定する段階とを実行するように構成されている、
条項192に記載の追跡サブシステム。
〔条項194〕
前記第1の余弦類似性値のそれぞれが閾値類似性値未満であることを判別することに応答して:
前記一つまたは複数の他のオブジェクトのそれぞれについて第2の記述子値を決定する段階であって、各第2の記述子値が第2のデータ・ベクトルを含む、段階と;
前記第2のデータ・ベクトルのそれぞれと前記あらかじめ決定された記述子値のそれぞれとの間の第2の余弦類似性値を決定する段階と;
前記第1および第2の余弦類似性値に基づいて、前記第1のオブジェクトおよび前記他のオブジェクトのそれぞれについて、第2の更新された識別子を決定する段階とを実行するようにさらに構成されている、
条項193に記載の追跡サブシステム。
〔条項195〕
前記記述子は、前記第1のトップビュー画像の一部に基づいて決定され、該一部は、前記第1のセンサーによって対象とされる全視野の中央サブ領域を含むあらかじめ定義された視野に対応する、条項192に記載の追跡サブシステム。
〔条項196〕
前記第1のオブジェクトが第1の人であり;
前記第1のトップビュー画像は、深さ画像であり、前記深さ画像は、前記第1のセンサーとは異なる深さでの画像データを含み;
前記追跡サブシステムは、前記第1のトップビュー画像内の関心領域に基づいて前記記述子を決定するようにさらに構成され、前記関心領域は、前記第1の人の頭部に関連する深さに対応する前記画像データを含む、
条項192に記載の追跡サブシステム。
〔条項197〕
追跡される第1のオブジェクトの再識別が必要であることを判別する前に、前記候補識別子に関連する更新されたあらかじめ決定された記述子を周期的に決定するようにさらに構成される、条項192に記載の追跡サブシステム。
【0374】
〔条項198〕
空間内のラックの上方に配置されたセンサーであって、前記センサーは、前記ラックを含む空間の少なくとも一部のトップビュー深さ画像を生成するように構成されている、センサーと;
複数の重量センサーであって、各重量センサーは、前記ラックの棚に格納された対応する品目に関連付けられる、重量センサーと;
前記イメージセンサーおよび前記重量センサーに結合された追跡サブシステムとを有するシステムであって、前記追跡サブシステムは:
前記センサーによって生成された前記トップビュー深さ画像のフレームを含む画像フィードを受領する段階と;
前記重量センサーから重量測定値を受領する段階と;
人の一部分が前記ラックに隣接したゾーンに入ることと、第1の重量センサーに関連付けられた第1の棚から第1の品目が取り除かれることに関連する重量変化との一方または両方に関連する事象を検出する段階と;
前記事象を検出することに応答して、第1の人および第2の人が、検出された事象と関連する可能性があることを、前記第1の人と前記ラックとの間の第1の距離、前記第2の人と前記ラックとの間の第2の距離、および前記第1の人と前記第2の人との間の人間(じんかん)距離のうちの一つまたは複数に基づいて、判別する段階と;
前記第1の人および第2の人が検出された事象と関連する可能性があることを判別することに応答して、前記センサーによって生成された第1のトップビュー画像フレームにアクセスする段階であって、該第1のトップビュー画像フレームは、前記人の前記一部分が前記ラックに隣接する前記ゾーンに入るときのタイムスタンプに対応するものである、段階と;
前記第1のトップビュー画像において、前記第1の人に対応する第1の初期輪郭を識別する段階と;
前記第1の初期輪郭を第1の深さから第2の深さまで、前記第1の深さから前記第2の深さまでの複数の逐次的な反復工程において拡張する段階であって、前記第1の深さは前記第2の深さより前記センサーに近く、前記第1の初期輪郭は:
前記第1の深さにおける第1の輪郭を検出し;
前記第2の深さにおける第2の輪郭を検出し;
前記第1および第2の輪郭に基づく拡張した輪郭を生成することによって拡張される、段階と;
拡張された輪郭が前記ラックに隣接した前記ゾーンに入ることを判別する段階と;
前記第1の輪郭が前記ラックに隣接する前記ゾーンに入ることを判別した後、前記第1の輪郭が前記ラックに隣接する前記ゾーンに入るまでの反復工程の第1の数を決定する段階と;
前記第1のトップビュー画像フレームにおいて、前記第2の人に対応する第2の初期輪郭を識別する段階と;
前記第2の初期輪郭を前記第1の深さから前記第2の深さまで、前記第1の深さから前記第2の深さまでの前記複数の逐次的な反復工程において拡張する段階と;
拡張後、前記第2の輪郭が前記ラックに隣接する前記ゾーンに入ることを判別する段階と;
前記第2の輪郭が前記ラックに隣接する前記ゾーンに入ることを決定した後、前記第2の輪郭が前記ラックに隣接する前記ゾーンに入るまでの反復工程の第2の数を決定する段階と;
前記第1の数が拡張の開大回数未満であり、かつ拡張の前記第2の数未満であること判別することに応答して、前記第1の品目を前記第1の人に割り当てる段階とを実行するように構成されている、
システム。
〔条項199〕
前記追跡サブシステムは、前記第1の品目を前記第1の人に割り当てた後に、さらに:
第1の輪郭の腕セグメントを前記ラックに投影し;
投影された腕セグメントが前記ラック上の前記第1の品目の位置に向けられているかどうかを判定する段階とを実行するように構成されている、
条項198に記載のシステム。
〔条項200〕
前記追跡サブシステムは、前記投影された腕セグメントが前記第1の品目の位置に向けられていないことを判別することに応答して、前記第1の品目を前記第1の人から割り当てを解除するようにさらに構成される、条項199に記載のシステム。
〔条項201〕
前記追跡サブシステムはさらに:
拡張された第1の輪郭および拡張された第2の輪郭がマージすることを判別する段階と;
第1および第2の拡張された輪郭がマージすることを判別することに応答して、人工ニューラルネットワーク・ベースの姿勢推定アルゴリズムを用いて、前記第1の人についての第1の姿勢および前記第2の人についての第2の姿勢を決定する段階と;
前記第1の姿勢が前記第1の品目との相互作用に対応すると判断することに応答して、前記第1の品目を前記第1の人に割り当てる段階とを実行するように構成されている、
条項198に記載のシステム。
〔条項202〕
前記追跡サブシステムはさらに:
反復工程の前記第1の数が反復工程の最大回数を超えていることを判別する段階であって、反復工程の最大回数は、前記第1の人の高さの50%に対応する深さに到達するために必要とされる反復工程の数に対応する、段階と;
反復工程の前記第1の数が反復工程の最大回数を超えていることを判別することに応答して、人工ニューラルネットワーク・ベースの姿勢推定アルゴリズムを用いて、前記第1の人についての第1の姿勢と前記第2の人についての第2の姿勢を決定する段階と;
前記第1の姿勢が前記第1の品目との相互作用に対応すると判断することに応答して、前記第1の品目を前記第1の人に割り当てる段階とを実行するように構成されている、
条項198に記載のシステム。
〔条項203〕
前記追跡サブシステムは、前記第1の人および前記第2の人が前記検出された事象に関連する可能性があることを、前記第1の人および前記ラックの第1の相対配向、および前記第2の人および前記ラックの第2の相対配向に基づいて判別するようにさらに構成される、条項198に記載のシステム。
〔条項204〕
前記センサーは、前記空間の天井に取り付けられる、条項198に記載のシステム。
〔条項205〕
センサーによって生成されたトップビュー画像のフレームを含む画像フィードを受領する段階であって、前記センサーは、空間においてラックの上方に空間内に位置され、前記ラックを含む空間の少なくとも一部分のトップビュー画像を生成するように構成されている、段階と;
前記ラックの棚から第1の品目が取り除かれたときに重量の変化を測定するように構成された重量センサーからの重量測定値を受領する段階と;
人の一部分が前記ラックに隣接するゾーンに入ること、および前記重量センサーに関連付けられている第1の棚から除去される前記第1の品目に関連する重量の変化の一方または両方に関連する事象を検出する段階と;
前記事象の検出に応答して、第1の人および第2の人が検出された事象と関連しうることを、前記第1の人と前記ラックとの間の第1の距離、前記第2の人と前記ラックとの間の第2の距離、および前記第1の人と前記第2の人との間の人間(じんかん)距離のうちの一つまたは複数に基づいて判別する段階と;
前記第1の人および第2の人が検出された事象に関連しうることと判別したことに応答して、前記センサーによって生成された第1のトップビュー画像フレームにアクセスする段階であって、前記第1のトップビュー画像フレームは、前記人の前記一部分が前記ラックに隣接する前記ゾーンに入る時のタイムスタンプに対応する、段階と;
前記第1のトップビュー画像において、前記第1の人に対応する第1の初期輪郭を識別する段階と;
前記第1の初期輪郭を、第1の深さから第2の深さまの複数の逐次的な反復工程において、第1の深さから第2の深さまで拡張する段階であって、前記第1の深さが前記第2の深さより前記センサーに近く、前記第1の初期輪郭は:
前記第1の深さにおける第1の輪郭を検出し;
前記第2の深さにおける第2の輪郭を検出し;
前記第1および第2の輪郭に基づいて拡張された輪郭を生成することによって拡張される、段階と;
拡張された輪郭が前記ラックに隣接した前記ゾーンに入ることを判別する段階と;
前記第1の輪郭が前記ラックに隣接する前記ゾーンに入ることを判別した後、前記第1の輪郭が前記ラックに隣接する前記ゾーンに入るまでの反復工程の第1の数を決定する段階と;
前記第1のトップビュー画像フレームにおいて、前記第2の人に対応する第2の初期輪郭を識別する段階と;
前記第2の初期輪郭を前記第1の深さから前記第2の深さまで、前記第1の深さから前記第2の深さまでの前記複数の逐次的な反復工程において拡張する段階と;
拡張後、前記第2の輪郭が前記ラックに隣接する前記ゾーンに入ることを判別する段階と;
前記第2の輪郭が前記ラックに隣接する前記ゾーンに入ることを決定した後、前記第2の輪郭が前記ラックに隣接する前記ゾーンに入るまでの反復工程の第2の数を決定する段階と;
前記第1の数が拡張の開大回数未満であり、かつ拡張の前記第2の数未満であること判別することに応答して、前記第1の品目を前記第1の人に割り当てる段階とを含む、
方法。
〔条項206〕
前記第1の品目を前記第1の人に割り当てた後に、さらに:
前記第1の輪郭の腕セグメントを前記ラックに投影し;
投影された腕セグメントが前記ラック上の前記第1の品目の位置に向けられているかどうかを判定する段階とを含む、
条項205に記載の方法。
〔条項207〕
前記投影された腕セグメントが前記第1の品目の位置に向けられていないことを判別することに応答して、前記第1の品目を前記第1の人から割り当てを解除する段階をさらに含む、条項206に記載の方法。
〔条項208〕
拡張された第1の輪郭および拡張された第2の輪郭がマージすることを判別する段階と;
第1および第2の拡張された輪郭がマージすることを判別することに応答して、人工ニューラルネットワーク・ベースの姿勢推定アルゴリズムを用いて、前記第1の人についての第1の姿勢および前記第2の人についての第2の姿勢を決定する段階と;
前記第1の姿勢が前記第1の品目との相互作用に対応すると判断することに応答して、前記第1の品目を前記第1の人に割り当てる段階とをさらに含む、
条項205に記載の方法。
〔条項209〕
反復工程の前記第1の数が反復工程の最大回数を超えていることを判別する段階であって、反復工程の最大回数は、前記第1の人の高さの50%に対応する深さに到達するために必要とされる反復工程の数に対応する、段階と;
反復工程の前記第1の数が反復工程の最大回数を超えていることを判別することに応答して、人工ニューラルネットワーク・ベースの姿勢推定アルゴリズムを用いて、前記第1の人についての第1の姿勢と前記第2の人についての第2の姿勢を決定する段階と;
前記第1の姿勢が前記第1の品目との相互作用に対応すると判断することに応答して、前記第1の品目を前記第1の人に割り当てる段階とをさらに含む、
条項205に記載の方法。
〔条項210〕
前記第1の人および前記第2の人が前記検出された事象に関連する可能性があることを、前記第1の人および前記ラックの第1の相対配向、および前記第2の人および前記ラックの第2の相対配向に基づいて判別する段階をさらに含む、条項205に記載の方法。
〔条項211〕
前記センサーは、前記空間の天井に取り付けられる、条項205に記載の方法。
〔条項212〕
イメージセンサーおよび重量センサーに結合された追跡サブシステムであって、前記イメージセンサーは空間内のラックの上方に配置されており、前記ラックを含む前記空間の少なくとも一部のトップビュー画像を生成するように構成されており、前記重量センサーは、前記ラックの棚から第1の品目が除去されるときに重量の変化を測定するように構成されており、当該追跡サブシステムは:
前記センサーによって生成された前記トップビュー画像のフレームを含む画像フィードを受領する段階と;
前記重量センサーから重量測定値を受領する段階と;
人の一部分が前記ラックに隣接したゾーンに入ることと、前記重量センサーに関連付けられた第1の棚から前記第1の品目が取り除かれることに関連する重量変化との一方または両方に関連する事象を検出する段階と;
前記事象を検出することに応答して、第1の人および第2の人が、検出された事象と関連する可能性があることを、前記第1の人と前記ラックとの間の第1の距離、前記第2の人と前記ラックとの間の第2の距離、および前記第1の人と前記第2の人との間の人間(じんかん)距離のうちの一つまたは複数に基づいて、判別する段階と;
前記第1の人および第2の人が検出された事象と関連する可能性があることを判別することに応答して、前記センサーによって生成された第1のトップビュー画像フレームにアクセスする段階であって、該第1のトップビュー画像フレームは、前記人の前記一部分が前記ラックに隣接する前記ゾーンに入るときのタイムスタンプに対応するものである、段階と;
前記第1のトップビュー画像において、前記第1の人に対応する第1の初期輪郭を識別する段階と;
前記第1の初期輪郭を第1の深さから第2の深さまで、前記第1の深さから前記第2の深さまでの複数の逐次的な反復工程において拡張する段階であって、前記第1の深さは前記第2の深さより前記センサーに近く、前記第1の初期輪郭は:
前記第1の深さにおける第1の輪郭を検出し;
前記第2の深さにおける第2の輪郭を検出し;
前記第1および第2の輪郭に基づく拡張した輪郭を生成することによって拡張される、段階と;
拡張された輪郭が前記ラックに隣接した前記ゾーンに入ることを判別する段階と;
前記第1の輪郭が前記ラックに隣接する前記ゾーンに入ることを判別した後、前記第1の輪郭が前記ラックに隣接する前記ゾーンに入るまでの反復工程の第1の数を決定する段階と;
前記第1のトップビュー画像フレームにおいて、前記第2の人に対応する第2の初期輪郭を識別する段階と;
前記第2の初期輪郭を前記第1の深さから前記第2の深さまで、前記第1の深さから前記第2の深さまでの前記複数の逐次的な反復工程において拡張する段階と;
拡張後、前記第2の輪郭が前記ラックに隣接する前記ゾーンに入ることを判別する段階と;
前記第2の輪郭が前記ラックに隣接する前記ゾーンに入ることを決定した後、前記第2の輪郭が前記ラックに隣接する前記ゾーンに入るまでの反復工程の第2の数を決定する段階と;
前記第1の数が拡張の開大回数未満であり、かつ拡張の前記第2の数未満であること判別することに応答して、前記第1の品目を前記第1の人に割り当てる段階とを実行するように構成されている、
追跡サブシステム。
〔条項213〕
前記第1の品目を前記第1の人に割り当てた後に、さらに:
第1の輪郭の腕セグメントを前記ラックに投影し;
投影された腕セグメントが前記ラック上の前記第1の品目の位置に向けられているかどうかを判定する段階とを実行するように構成されている、
条項228に記載の追跡サブシステム。
〔条項214〕
前記投影された腕セグメントが前記第1の品目の位置に向けられていないことを判別することに応答して、前記第1の品目を前記第1の人から割り当てを解除するようにさらに構成される、条項213に記載の追跡サブシステム。
〔条項215〕
拡張された第1の輪郭および拡張された第2の輪郭がマージすることを判別する段階と;
第1および第2の拡張された輪郭がマージすることを判別することに応答して、人工ニューラルネットワーク・ベースの姿勢推定アルゴリズムを用いて、前記第1の人についての第1の姿勢および前記第2の人についての第2の姿勢を決定する段階と;
前記第1の姿勢が前記第1の品目との相互作用に対応すると判断することに応答して、前記第1の品目を前記第1の人に割り当てる段階とを実行するようにさらに構成されている、
条項213に記載の追跡サブシステム。
〔条項216〕
反復工程の前記第1の数が反復工程の最大回数を超えていることを判別する段階であって、反復工程の最大回数は、前記第1の人の高さの50%に対応する深さに到達するために必要とされる反復工程の数に対応する、段階と;
反復工程の前記第1の数が反復工程の最大回数を超えていることを判別することに応答して、人工ニューラルネットワーク・ベースの姿勢推定アルゴリズムを用いて、前記第1の人についての第1の姿勢と前記第2の人についての第2の姿勢を決定する段階と;
前記第1の姿勢が前記第1の品目との相互作用に対応すると判断することに応答して、前記第1の品目を前記第1の人に割り当てる段階とを実行するように構成されている、
条項213に記載の追跡サブシステム。
〔条項217〕
前記第1の人および前記第2の人が前記検出された事象に関連する可能性があることを、前記第1の人および前記ラックの第1の相対配向、および前記第2の人および前記ラックの第2の相対配向に基づいて判別するようにさらに構成されている、条項212に記載の追跡サブシステム。
【0375】
〔条項218〕
少なくとも第1のセンサーおよび第2のセンサーを含む複数のセンサーであって、各センサーは空間の少なくとも一部分のトップビュー画像を生成するように構成されている、複数のセンサーと;
前記複数のセンサーに通信上結合された追跡サブシステムとを有するシステムであって、前記追跡サブシステムは:
前記複数のセンサーによって生成されたトップビュー画像のフレームを受領する段階と;
受領されたフレームの少なくとも一部に基づいて、第1の識別子に関連付けられた第1のオブジェクトを追跡する段階と;
受領されたフレームの少なくとも一部に基づいて、第2の識別子に関連付けられた第2のオブジェクトを追跡する段階と;
受領されたフレームの少なくとも一部に基づいて、第3の識別子に関連付けられた第3のオブジェクトを追跡する段階と;
前記第1のオブジェクトが前記第2のオブジェクトの閾値距離以内にあることを検出する段階と;
前記第1のオブジェクトが前記第2のオブジェクトの閾値距離以内にあることを検出したことに応答して:
前記第1のオブジェクトが前記第2のオブジェクトと識別子を入れ替えた第1の確率を決定する段階;
前記第1のオブジェクトが前記第2のオブジェクトと識別子を入れ替えた前記第1の確率に基づいて、前記第1のオブジェクトについての第1の候補リストを更新する段階であって、更新された第1の候補リストは、前記第1のオブジェクトが前記第1の識別子と関連付けられていた第2の確率と、前記第1のオブジェクトが前記第2の識別子と関連付けられている第3の確率とを含む、段階;
前記第1のオブジェクトが前記第2のオブジェクトと識別子を入れ替えた前記第1の確率に基づいて、前記第2のオブジェクトについての第2の候補リストを更新する段階であって、更新された第2の候補リストは、前記第2のオブジェクトが前記第1の識別子と関連付けられる第4の確率と、前記第2のオブジェクトが前記第2の識別子と関連付けられる第5の確率とを含む、段階を実行する段階と;
前記第1および第2の候補リストを更新した後、前記第1のオブジェクトが前記第3のオブジェクトの閾値距離以内にあることを検出する段階と;
前記第1のオブジェクトが前記第3のオブジェクトの閾値距離以内にあることを検出したことに応答して:
前記第1のオブジェクトが前記第3のオブジェクトと識別子を入れ替えた第6の確率を決定する段階;
前記第1のオブジェクトが前記第3のオブジェクトと識別子を入れ替えた第6の確率に基づいて、前記第1のオブジェクトについての前記第1の候補リストをさらに更新する段階であって、該さらに更新された第1の候補リストは、前記第1のオブジェクトが前記第1の識別子と関連付けられる更新された第2の確率、前記第1のオブジェクトが前記第2の識別子と関連付けられる更新された第3の確率、および前記第1のオブジェクトが前記第3の識別子と関連付けられる第7の確率を含む、段階;および
前記第1のオブジェクトが前記第3のオブジェクトの閾値距離以内にあることを検出する前に、前記第1のオブジェクトが前記第3のオブジェクトと識別子を入れ替えた前記第6の確率および前記第1の候補リストに基づいて、前記第3のオブジェクトについての第3の候補リストを更新する段階であって、更新された第3の候補リストは、前記第3のオブジェクトが前記第1の識別子に関連する第8の確率、前記第3のオブジェクトが前記第2の識別子に関連する第9の確率、および前記第3のオブジェクトが前記第3の識別子に関連する第10の確率を含む、段階を実行する段階とを実行するように構成されている、
システム。
〔条項219〕
前記追跡サブシステムは、前記第1のオブジェクトが前記第2のオブジェクトの前記閾値距離以内にあることを検出することを:
前記第1のセンサーによって生成された前記トップビュー画像内のピクセルの位置を前記空間における物理的座標に関連付ける第1のホモグラフィーおよび前記第2のセンサーによって生成された前記トップビュー画像内のピクセルの位置を前記空間における物理的座標に関連付ける第2のホモグラフィーを使用して、前記空間における前記第1のオブジェクトの第1の物理的座標を決定し;
前記第1のホモグラフィーおよび第2のホモグラフィーを使用して、前記第2のオブジェクトの第2の物理的座標を決定し;
前記第1の物理的座標と前記第2の物理的座標との間の距離を計算することによって行うように構成されている、
条項218に記載のシステム。
〔条項220〕
前記追跡サブシステムは、あらかじめ定義された確率値にアクセスすることによって、前記第1のオブジェクトが前記第2のオブジェクトと素性を入れ替えた前記第1の確率を決定するように構成される、条項218に記載のシステム。
〔条項221〕
前記追跡サブシステムは、少なくとも部分的に、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に基づいて、前記第1のオブジェクトが素性を入れ替えた前記第1の確率を決定するように構成される、条項218に記載のシステム。
〔条項222〕
前記追跡サブシステムは:
前記第1のオブジェクトと前記第2のオブジェクトの間の相対配向を決定し;
少なくとも部分的には前記相対配向に基づいて、前記第1のオブジェクトが素性を入れ替えた前記第1の確率を決定するように構成されている、
条項218に記載のシステム。
〔条項223〕
前記追跡サブシステムはさらに:
前記第1の候補リストの最も高い値の確率が閾値未満であることを判別する段階と;
前記第1の候補リストの最も高い確率が前記閾値未満であることを判別するのに応答して、前記第1の輪郭に関連する特徴を抽出する段階であって、該特徴は前記第1の輪郭の観察可能な特徴を含む、段階と;
前記第1のオブジェクトに関連する可能性の高い前記第1、第2、および第3の識別子のサブセットを決定する段階であって、前記サブセットは、閾値確率値よりも大きい確率を有する前記第1の候補リストからの識別子を含む、段階と;
抽出された特徴を、前記サブセットの各識別子に関連するオブジェクトについて事前に決定されたあらかじめ定義された特徴のセットと比較することによって、前記第1のオブジェクトについての更新された第1の識別子を決定する段階と;
前記第1の候補リストを更新して、前記更新された第1の識別子を含める段階とを実行するように構成されている、
条項218に記載のシステム。
〔条項224〕
前記第1のオブジェクトが第1の人であり;
前記第2のオブジェクトが第2の人であり;
前記第3のオブジェクトが第3の人であり;
前記追跡サブシステムはさらに:
前記第1の人が前記空間を出た確率に関連する組み合わされた退出確率を:
前記第1のオブジェクトが前記空間を出る場合、前記更新された第2の確率;
前記第2のオブジェクトが前記空間を出る場合、前記第4の確率;および
前記第3のオブジェクトが前記空間を出る場合、前記第8の確率を
加算することによって決定する段階と;
前記組み合わされた退出確率が閾値確率より大きいことを判別することに応答して、前記第1の人の装置上で閲覧可能な退出通知を送信する段階であって、前記退出通知は、前記第1の人が前記空間を出たと判定されたことを示す、段階とを実行するように構成されている、
条項218に記載のシステム。
〔条項225〕
前記追跡システムは:
第1のタイムスタンプにおいて、前記第1および第2のオブジェクトがもはや検出されないことを判別する段階であって、前記第1および第2のオブジェクトがもはや検出されないことを判別することは、前記第1のオブジェクトに関連する第1の輪郭が前記第2のオブジェクトに関連する第2の輪郭とマージされることを判別することを含む、段階と;
前記第1のタイムスタンプに続く第2のタイムスタンプにおいて、前記第1のオブジェクトおよび第2のオブジェクトが検出されたことを判別する段階と;
検出された第1および第2のオブジェクトについて前記第1および第2の候補リストを更新する段階とを実行するように構成される、
条項218に記載のシステム。
〔条項226〕
複数のセンサーによって生成されたトップビュー画像のフレームを受領する段階であって、前記複数のセンサーは、少なくとも第1のセンサーおよび第2のセンサーを含み、各センサーは空間の少なくとも一部分のトップビュー画像を生成するように構成されている、段階と;
受領されたフレームの少なくとも一部に基づいて、第1の識別子に関連付けられた第1のオブジェクトを追跡する段階と;
受領されたフレームの少なくとも一部に基づいて、第2の識別子に関連付けられた第2のオブジェクトを追跡する段階と;
受領されたフレームの少なくとも一部に基づいて、第3の識別子に関連付けられた第3のオブジェクトを追跡する段階と;
前記第1のオブジェクトが前記第2のオブジェクトの閾値距離以内にあることを検出する段階と;
前記第1のオブジェクトが前記第2のオブジェクトの閾値距離以内にあることを検出したことに応答して:
前記第1のオブジェクトが前記第2のオブジェクトと識別子を入れ替えた第1の確率を決定する段階;
前記第1のオブジェクトが前記第2のオブジェクトと識別子を入れ替えた前記第1の確率に基づいて、前記第1のオブジェクトについての第1の候補リストを更新する段階であって、更新された第1の候補リストは、前記第1のオブジェクトが前記第1の識別子と関連付けられている第2の確率と、前記第1のオブジェクトが前記第2の識別子と関連付けられている第3の確率とを含む、段階;
前記第1のオブジェクトが前記第2のオブジェクトと識別子を入れ替えた前記第1の確率に基づいて、前記第2のオブジェクトについての第2の候補リストを更新する段階であって、更新された第2の候補リストは、前記第2のオブジェクトが前記第1の識別子と関連付けられる第4の確率と、前記第2のオブジェクトが前記第2の識別子と関連付けられる第5の確率とを含む、段階を実行する段階と;
前記第1および第2の候補リストを更新した後、前記第1のオブジェクトが前記第3のオブジェクトの閾値距離以内にあることを検出する段階と;
前記第1のオブジェクトが前記第3のオブジェクトの閾値距離以内にあることを検出したことに応答して:
前記第1のオブジェクトが前記第3のオブジェクトと識別子を入れ替えた第6の確率を決定する段階;
前記第1のオブジェクトが前記第3のオブジェクトと識別子を入れ替えた第6の確率に基づいて、前記第1のオブジェクトについての前記第1の候補リストをさらに更新する段階であって、該さらに更新された第1の候補リストは、前記第1のオブジェクトが前記第1の識別子と関連付けられる更新された第2の確率、前記第1のオブジェクトが前記第2の識別子と関連付けられる更新された第3の確率、および前記第1のオブジェクトが前記第3の識別子と関連付けられる第7の確率を含む、段階;および
前記第1のオブジェクトが前記第3のオブジェクトの閾値距離以内にあることを検出する前に、前記第1のオブジェクトが前記第3のオブジェクトと識別子を入れ替えた前記第6の確率および前記第1の候補リストに基づいて、前記第3のオブジェクトについての第3の候補リストを更新する段階であって、更新された第3の候補リストは、前記第3のオブジェクトが前記第1の識別子に関連する第8の確率、前記第3のオブジェクトが前記第2の識別子に関連する第9の確率、および前記第3のオブジェクトが前記第3の識別子に関連する第10の確率を含む、段階を実行する段階とを実行するように構成されている、
方法。
〔条項227〕
前記第1のオブジェクトが前記第2のオブジェクトの前記閾値距離以内にあることを検出することを:
前記第1のセンサーによって生成された前記トップビュー画像内のピクセルの位置を前記空間における物理的座標に関連付ける第1のホモグラフィーおよび前記第2のセンサーによって生成された前記トップビュー画像内のピクセルの位置を前記空間における物理的座標に関連付ける第2のホモグラフィーを使用して、前記空間における前記第1のオブジェクトの第1の物理的座標を決定し;
前記第1のホモグラフィーおよび第2のホモグラフィーを使用して、前記第2のオブジェクトの第2の物理的座標を決定し;
前記第1の物理的座標と前記第2の物理的座標との間の距離を計算することによって行ことをさらに含む、
条項226に記載の方法。
〔条項228〕
あらかじめ定義された確率値にアクセスすることによって、前記第1のオブジェクトが前記第2のオブジェクトと素性を入れ替えた前記第1の確率を決定することをさらに含む、条項225に記載の方法。
〔条項229〕
少なくとも部分的に、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に基づいて、前記第1のオブジェクトが素性を入れ替えた前記第1の確率を決定することをさらに含む、条項226に記載のシステム。
〔条項230〕
前記第1のオブジェクトと前記第2のオブジェクトの間の相対配向を決定し;
少なくとも部分的には前記相対配向に基づいて、前記第1のオブジェクトが素性を入れ替えた前記第1の確率を決定することをさらに含む、
条項226に記載の方法。
〔条項231〕
前記第1の候補リストの最も高い値の確率が閾値未満であることを判別する段階と;
前記第1の候補リストの最も高い確率が前記閾値未満であることを判別するのに応答して、前記第1の輪郭に関連する特徴を抽出する段階であって、該特徴は前記第1の輪郭の観察可能な特徴を含む、段階と;
前記第1のオブジェクトに関連する可能性の高い前記第1、第2、および第3の識別子のサブセットを決定する段階であって、前記サブセットは、閾値確率値よりも大きい確率を有する前記第1の候補リストからの識別子を含む、段階と;
抽出された特徴を、前記サブセットの各識別子に関連するオブジェクトについて事前に決定されたあらかじめ定義された特徴のセットと比較することによって、前記第1のオブジェクトについての更新された第1の識別子を決定する段階と;
前記第1の候補リストを更新して、前記更新された第1の識別子を含める段階とをさらに含む、
条項226に記載の方法。
〔条項232〕
前記第1のオブジェクトが第1の人であり;
前記第2のオブジェクトが第2の人であり;
前記第3のオブジェクトが第3の人であり;
当該方法はさらに:
前記第1の人が前記空間を出た確率に関連する組み合わされた退出確率を:
前記第1のオブジェクトが前記空間を出る場合、前記更新された第2の確率;
前記第2のオブジェクトが前記空間を出る場合、前記第4の確率;および
前記第3のオブジェクトが前記空間を出る場合、前記第8の確率を
加算することによって決定する段階と;
前記組み合わされた退出確率が閾値確率より大きいことを判別することに応答して、前記第1の人の装置上で閲覧可能な退出通知を送信する段階であって、前記退出通知は、前記第1の人が前記空間を出たと判定されたことを示す、段階とを含む、
条項226に記載の方法。
〔条項233〕
第1のタイムスタンプにおいて、前記第1および第2のオブジェクトがもはや検出されないことを判別する段階であって、前記第1および第2のオブジェクトがもはや検出されないことを判別することは、前記第1のオブジェクトに関連する第1の輪郭が前記第2のオブジェクトに関連する第2の輪郭とマージされることを判別することを含む、段階と;
前記第1のタイムスタンプに続く第2のタイムスタンプにおいて、前記第1のオブジェクトおよび第2のオブジェクトが検出されることを判別する段階と;
検出された第1および第2のオブジェクトについて前記第1および第2の候補リストを更新する段階とをさらに含む、
条項226に記載の方法。
〔条項234〕
少なくとも第1のセンサーおよび第2のセンサーを含む複数のセンサーに通信上結合された追跡サブシステムであって、各センサーは空間の少なくとも一部分のトップビュー画像を生成するように構成されおり、当該追跡サブシステムは:
前記複数のセンサーによって生成されたトップビュー画像のフレームを受領する段階と;
受領されたフレームの少なくとも一部に基づいて、第1の識別子に関連付けられた第1のオブジェクトを追跡する段階と;
受領されたフレームの少なくとも一部に基づいて、第2の識別子に関連付けられた第2のオブジェクトを追跡する段階と;
受領されたフレームの少なくとも一部に基づいて、第3の識別子に関連付けられた第3のオブジェクトを追跡する段階と;
前記第1のオブジェクトが前記第2のオブジェクトの閾値距離以内にあることを検出する段階と;
前記第1のオブジェクトが前記第2のオブジェクトの閾値距離以内にあることを検出したことに応答して:
前記第1のオブジェクトが前記第2のオブジェクトと識別子を入れ替えた第1の確率を決定する段階;
前記第1のオブジェクトが前記第2のオブジェクトと識別子を入れ替えた前記第1の確率に基づいて、前記第1のオブジェクトについての第1の候補リストを更新する段階であって、更新された第1の候補リストは、前記第1のオブジェクトが前記第1の識別子と関連付けられていた第2の確率と、前記第1のオブジェクトが前記第2の識別子と関連付けられている第3の確率とを含む、段階;
前記第1のオブジェクトが前記第2のオブジェクトと識別子を入れ替えた前記第1の確率に基づいて、前記第2のオブジェクトについての第2の候補リストを更新する段階であって、更新された第2の候補リストは、前記第2のオブジェクトが前記第1の識別子と関連付けられる第4の確率と、前記第2のオブジェクトが前記第2の識別子と関連付けられる第5の確率とを含む、段階を実行する段階と;
前記第1および第2の候補リストを更新した後、前記第1のオブジェクトが前記第3のオブジェクトの閾値距離以内にあることを検出する段階と;
前記第1のオブジェクトが前記第3のオブジェクトの閾値距離以内にあることを検出したことに応答して:
前記第1のオブジェクトが前記第3のオブジェクトと識別子を入れ替えた第6の確率を決定する段階;
前記第1のオブジェクトが前記第3のオブジェクトと識別子を入れ替えた第6の確率に基づいて、前記第1のオブジェクトについての前記第1の候補リストをさらに更新する段階であって、該さらに更新された第1の候補リストは、前記第1のオブジェクトが前記第1の識別子と関連付けられる更新された第2の確率、前記第1のオブジェクトが前記第2の識別子と関連付けられる更新された第3の確率、および前記第1のオブジェクトが前記第3の識別子と関連付けられる第7の確率を含む、段階;および
前記第1のオブジェクトが前記第3のオブジェクトの閾値距離以内にあることを検出する前に、前記第1のオブジェクトが前記第3のオブジェクトと識別子を入れ替えた前記第6の確率および前記第1の候補リストに基づいて、前記第3のオブジェクトについての第3の候補リストを更新する段階であって、更新された第3の候補リストは、前記第3のオブジェクトが前記第1の識別子に関連する第8の確率、前記第3のオブジェクトが前記第2の識別子に関連する第9の確率、および前記第3のオブジェクトが前記第3の識別子に関連する第10の確率を含む、段階を実行する段階とを実行するように構成されている、
追跡サブシステム。
〔条項235〕
前記第1のオブジェクトが前記第2のオブジェクトの前記閾値距離以内にあることを検出することを:
前記第1のセンサーによって生成された前記トップビュー画像内のピクセルの位置を前記空間における物理的座標に関連付ける第1のホモグラフィーおよび前記第2のセンサーによって生成された前記トップビュー画像内のピクセルの位置を前記空間における物理的座標に関連付ける第2のホモグラフィーを使用して、前記空間における前記第1のオブジェクトの第1の物理的座標を決定し;
前記第1のホモグラフィーおよび第2のホモグラフィーを使用して、前記第2のオブジェクトの第2の物理的座標を決定し;
前記第1の物理的座標と前記第2の物理的座標との間の距離を計算することによって行うようにさらに構成されている、
条項218に記載の追跡サブシステム。
〔条項236〕
前記第1のオブジェクトと前記第2のオブジェクトの間の相対配向を決定し;
少なくとも部分的には前記相対配向に基づいて、前記第1のオブジェクトが素性を入れ替えた前記第1の確率を決定するようにさらに構成されている、
条項234に記載の追跡サブシステム。
〔条項237〕
前記第1のオブジェクトが第1の人であり;
前記第2のオブジェクトが第2の人であり;
前記第3のオブジェクトが第3の人であり;
前記追跡サブシステムはさらに:
前記第1の人が前記空間を出た確率に関連する組み合わされた退出確率を:
前記第1のオブジェクトが前記空間を出る場合、前記更新された第2の確率;
前記第2のオブジェクトが前記空間を出る場合、前記第4の確率;および
前記第3のオブジェクトが前記空間を出る場合、前記第8の確率を
加算することによって決定する段階と;
前記組み合わされた退出確率が閾値確率より大きいことを判別することに応答して、前記第1の人の装置上で閲覧可能な退出通知を送信する段階であって、前記退出通知は、前記第1の人が前記空間を出たと判定されたことを示す、段階とを実行するように構成されている、
条項234に記載の追跡サブシステム。
【0376】
〔条項238〕
空間内のラックの上方に配置されたセンサーであって、前記センサーは、前記ラックを含む空間の少なくとも一部のトップビュー画像を生成するように構成されている、センサーと;
複数の重量センサーであって、各重量センサーは、前記ラックの棚に格納された対応する品目に関連付けられる、重量センサーと;
前記イメージセンサーおよび前記重量センサーに結合された追跡サブシステムとを有するシステムであって、前記追跡サブシステムは:
前記センサーによって生成された前記トップビュー画像のフレームを含む画像フィードを受領する段階と;
前記重量センサーから重量測定値を受領する段階と;
人の一部が前記ラックに隣接するゾーンに入ることと、第1の重量センサーに関連付けられた第1の棚から第1の品目が取り除かれることに関連する重量変化に関連する事象を検出する段階と;
前記事象の検出に応答して、第1の人および第2の人が検出された事象と関連する可能性があることを、前記第1の人と前記ラックとの間の第1の距離、前記第2の人と前記ラックとの間の第2の距離、および前記第1の人と前記第2の人との間の人間(じんかん)距離のうちの一つまたは複数に基づいて判別する段階と;
前記第1の人および前記第2の人が検出された事象に関連する可能性があることを判別することに応答して、前記センサーによって生成されたトップビュー画像のバッファ・フレームを記憶する段階であって、前記バッファ・フレームは、前記人の前記一部分が前記ラックに隣接する前記ゾーンを出ることに続く時間期間に対応する、段階と;
記憶されたフレームにおいて、前記第1の品目のピクセル位置を追跡する段階と;
前記第1の品目の追跡されたピクセル位置に基づいて、前記時間期間の第1の部分の間に前記空間を動かされる際の前記第1の品目の速度を計算する段階と;
前記第1の品目の計算された速度に基づいて、前記第1の品目の速度が閾値速度よりも小さい第1のフレームを識別する段階であって、前記第1のフレームにおける前記第1の品目の追跡されたピクセル位置は前記第1の品目の第1の停止位置に対応する、段階と;
前記第1のフレームにおける前記第1の品目の前記第1の停止位置が、前記第2の人に関連する第2のピクセル位置よりも、前記第1の人に関連する第1のピクセル位置に近いことを判別する段階と;
前記第1の停止位置が前記第1のピクセル位置により近いと判別することに応答して、前記第1の品目を前記第1の人に割り当てる段階とを実行するように構成されている、
システム。
〔条項239〕
前記追跡サブシステムは、粒子フィルタ追跡器を使用して、前記第1の品目の前記ピクセル位置を追跡するようにさらに構成される、条項238に記載のシステム。
〔条項240〕
前記追跡サブシステムは、さらに、前記粒子フィルタ追跡器を用いて決定された前記第1の品目の推定された将来の位置を用いて、前記第1の品目の速度を決定するように構成される、条項239に記載のシステム。
〔条項241〕
前記追跡サブシステムは:
前記第1の停止位置が、前記第1のピクセル位置からは第1の距離離れ、前記第2のピクセル位置からは第2の距離離れていることを判別し;
前記第1の距離と前記第2の距離との間の差の絶対値が閾値距離未満であることを判別し;
前記第1の距離と前記第2の距離との間の前記差の絶対値が前記閾値距離未満であることを判別することに応答して、前記第1の品目を追跡し続け、前記品目の第2の停止位置を決定し;
前記第2の停止位置が前記第2のピクセル位置よりも前記第1のピクセル位置に近いことを判別し;
前記第2の停止位置が前記第1のピクセル位置により近いことに応答して、前記第1の品目を前記第1の人に割り当てるように構成されている、
条項238に記載のシステム。
〔条項242〕
前記第1の品目は、前記センサーによって閲覧可能な、視覚的に観察可能なタグを有しており;
前記追跡サブシステムは、前記視覚的に観察可能なタグに少なくとも部分的に基づいて、前記第1の品目を追跡するように構成される、
条項238に記載のシステム。
〔条項243〕
前記追跡サブシステムは、機械学習アルゴリズムを使用して前記第1の品目を検出するようにさらに構成され、前記機械学習アルゴリズムは、合成データを使用してトレーニングされる、条項238に記載のシステム。
〔条項244〕
前記センサーは、前記部屋の天井に取り付けられる、条項238に記載のシステム。
〔条項245〕
前記センサーによって生成された前記トップビュー画像のフレームを含む画像フィードを受領する段階であって、前記センサーは、空間内のラックの上方に配置され、前記ラックを含む空間の少なくとも一部のトップビュー画像を生成するように構成されている、段階と;
前記ラックの棚から第1の品目が取り除かれるときに重量の変化を測定するように構成された重量センサーから重量測定値を受領する段階と;
人の一部が前記ラックに隣接するゾーンに入ること、および、第1の重量センサーに関連付けられた第1の棚から前記第1の品目が取り除かれることに関連する重量変化の一方または両方に関連する事象を検出する段階と;
前記事象の検出に応答して、第1の人および第2の人が検出された事象と関連する可能性があることを、前記第1の人と前記ラックとの間の第1の距離、前記第2の人と前記ラックとの間の第2の距離、および前記第1の人と前記第2の人との間の人間(じんかん)距離のうちの一つまたは複数に基づいて判別する段階と;
前記第1の人および前記第2の人が検出された事象に関連する可能性があることを判別することに応答して、前記センサーによって生成されたトップビュー画像のバッファ・フレームを記憶する段階であって、前記バッファ・フレームは、前記人の前記一部分が前記ラックに隣接する前記ゾーンを出ることに続く時間期間に対応する、段階と;
記憶されたフレームにおいて、前記第1の品目のピクセル位置を追跡する段階と;
前記第1の品目の追跡されたピクセル位置に基づいて、前記時間期間の第1の部分の間に前記空間を動かされる際の前記第1の品目の速度を計算する段階と;
前記第1の品目の計算された速度に基づいて、前記第1の品目の速度が閾値速度よりも小さい第1のフレームを識別する段階であって、前記第1のフレームにおける前記第1の品目の追跡されたピクセル位置は前記第1の品目の第1の停止位置に対応する、段階と;
前記第1のフレームにおける前記第1の品目の前記第1の停止位置が、前記第2の人に関連する第2のピクセル位置よりも、前記第1の人に関連する第1のピクセル位置に近いことを判別する段階と;
前記第1の停止位置が前記第1のピクセル位置により近いと判別することに応答して、前記第1の品目を前記第1の人に割り当てる段階とを含む、
方法。
〔条項246〕
粒子フィルタ追跡器を使用して、前記第1の品目の前記ピクセル位置を追跡することをさらに含む、条項245に記載の方法。
〔条項247〕
前記粒子フィルタ追跡器を用いて決定された前記第1の品目の推定された将来の位置を用いて、前記第1の品目の速度を決定することをさらに含む、条項246に記載の方法。
〔条項248〕
前記第1の停止位置が、前記第1のピクセル位置からは第1の距離離れ、前記第2のピクセル位置からは第2の距離離れていることを判別し;
前記第1の距離と前記第2の距離との間の差の絶対値が閾値距離未満であることを判別し;
前記第1の距離と前記第2の距離との間の前記差の絶対値が前記閾値距離未満であることを判別することに応答して、前記第1の品目を追跡し続け、前記品目の第2の停止位置を決定し;
前記第2の停止位置が前記第2のピクセル位置よりも前記第1のピクセル位置に近いことを判別し;
前記第2の停止位置が前記第1のピクセル位置により近いことに応答して、前記第1の品目を前記第1の人に割り当てることをさらに含む、
条項245に記載の方法。
〔条項249〕
前記第1の品目は、前記センサーによって閲覧可能な、視覚的に観察可能なタグを有しており;
当該方法は、前記視覚的に観察可能なタグに少なくとも部分的に基づいて、前記第1の品目を追跡することをさらに含む、
条項245に記載の方法。
〔条項250〕
機械学習アルゴリズムを使用して前記第1の品目を検出することをさらに含み、前記機械学習アルゴリズムは、合成データを使用してトレーニングされる、条項245に記載の方法。
〔条項251〕
前記センサーは、前記部屋の天井に取り付けられる、条項245に記載の方法。
〔条項252〕
イメージセンサーおよび重量センサーに結合された追跡サブシステムであって、前記イメージセンサーは、空間内のラックの上方に配置され、前記ラックを含む前記空間の少なくとも一部のトップビュー画像を生成するように構成されており、前記重量センサーは、前記ラックの棚から第1の品目が取り除かれるときに重量の変化を検出するように構成されており、前記追跡サブシステムは:
前記センサーによって生成された前記トップビュー画像のフレームを含む画像フィードを受領する段階と;
前記重量センサーから重量測定値を受領する段階と;
人の一部が前記ラックに隣接するゾーンに入ること、および、前記重量センサーに関連付けられた第1の棚から前記第1の品目が取り除かれることに関連する重量変化の一方または両方に関連する事象を検出する段階と;
前記事象の検出に応答して、第1の人および第2の人が検出された事象と関連する可能性があることを、前記第1の人と前記ラックとの間の第1の距離、前記第2の人と前記ラックとの間の第2の距離、および前記第1の人と前記第2の人との間の人間(じんかん)距離のうちの一つまたは複数に基づいて判別する段階と;
前記第1の人および前記第2の人が検出された事象に関連する可能性があることを判別することに応答して、前記センサーによって生成されたトップビュー画像のバッファ・フレームを記憶する段階であって、前記バッファ・フレームは、前記人の前記一部分が前記ラックに隣接する前記ゾーンを出ることに続く時間期間に対応する、段階と;
記憶されたフレームにおいて、前記第1の品目のピクセル位置を追跡する段階と;
前記第1の品目の追跡されたピクセル位置に基づいて、前記時間期間の第1の部分の間に前記空間を動かされる際の前記第1の品目の速度を計算する段階と;
前記第1の品目の計算された速度に基づいて、前記第1の品目の速度が閾値速度よりも小さい第1のフレームを識別する段階であって、前記第1のフレームにおける前記第1の品目の追跡されたピクセル位置は前記第1の品目の第1の停止位置に対応する、段階と;
前記第1のフレームにおける前記第1の品目の前記第1の停止位置が、前記第2の人に関連する第2のピクセル位置よりも、前記第1の人に関連する第1のピクセル位置に近いことを判別する段階と;
前記第1の停止位置が前記第1のピクセル位置により近いと判別することに応答して、前記第1の品目を前記第1の人に割り当てる段階とを実行するように構成されている、
追跡サブシステム。
〔条項253〕
粒子フィルタ追跡器を使用して、前記第1の品目の前記ピクセル位置を追跡するようにさらに構成される、条項252に記載の追跡サブシステム。
〔条項254〕
前記粒子フィルタ追跡器を用いて決定された前記第1の品目の推定された将来の位置を用いて、前記第1の品目の速度を決定するようにさらに構成されている、条項253に記載の追跡サブシステム。
〔条項255〕
前記第1の停止位置が、前記第1のピクセル位置からは第1の距離離れ、前記第2のピクセル位置からは第2の距離離れていることを判別し;
前記第1の距離と前記第2の距離との間の差の絶対値が閾値距離未満であることを判別し;
前記第1の距離と前記第2の距離との間の前記差の絶対値が前記閾値距離未満であることを判別することに応答して、前記第1の品目を追跡し続け、前記品目の第2の停止位置を決定し;
前記第2の停止位置が前記第2のピクセル位置よりも前記第1のピクセル位置に近いことを判別し;
前記第2の停止位置が前記第1のピクセル位置により近いことに応答して、前記第1の品目を前記第1の人に割り当てるようにさらに構成されている、
条項252に記載の追跡サブシステム。
〔条項256〕
前記第1の品目は、前記センサーによって閲覧可能な、視覚的に観察可能なタグを有しており;
前記追跡サブシステムは、前記視覚的に観察可能なタグに少なくとも部分的に基づいて、前記第1の品目を追跡するようにさらに構成される、
条項252に記載の追跡サブシステム。
〔条項257〕
機械学習アルゴリズムを使用して前記第1の品目を検出するようにさらに構成され、前記機械学習アルゴリズムは、合成データを使用してトレーニングされる、条項252に記載の追跡サブシステム。
【0377】
〔条項258〕
空間の少なくとも第1の部分のトップビュー画像を生成するように構成された第1のセンサーと;
前記第1のセンサーに通信上結合されたセンサー・クライアントとを有するシステムであって、前記センサー・クライアントは:
初期時間区間の間に:
前記第1のセンサーによって生成された一つまたは複数の第1のトップビュー画像を受領する段階と;
前記一つまたは複数の第1のトップビュー画像において一つまたは複数の第1の輪郭を検出する段階と;
検出された第1の輪郭に対応する第1のピクセル座標を決定する段階であって、前記第1のピクセル座標は、オブジェクト追跡中に除外するべき、前記第1のセンサーによって生成された前記トップビュー画像の領域に対応する、段階とを実行し;
前記初期時間区間より後のその後の時間区間の間に:
前記第1のセンサーによって生成された第2のトップビュー画像を受領する段階と;
前記第1のトップビュー画像において第2の輪郭を検出する段階と;
検出された第2の輪郭に対応する第2のピクセル座標を決定する段階と;
前記第2のピクセル座標の少なくともある閾値割合が前記第1のピクセル座標と重複するかどうかを判定する段階と;
前記第2のピクセル座標の少なくとも前記閾値割合が前記第1のピクセル座標と重複すると判定することに応答して、前記第2の輪郭を追跡するための第1のピクセル位置を決定せず;
前記第2のピクセル座標の少なくとも前記閾値割合が前記第1のピクセル座標と重複しないと判定することに応答して、前記第2の輪郭を追跡するための前記第1のピクセル位置を決定する段階とを実行するように構成されている、
システム。
〔条項259〕
前記センサー・クライアントに通信上結合され、前記空間の少なくとも第2の部分のトップビュー画像を生成するように構成される第2のセンサーをさらに有しており、
前記センサー・クライアントは:
前記初期時間区間の間に:
前記第2のセンサーによって生成された一つまたは複数の第3のトップビュー画像を受領する段階と;
前記一つまたは複数の第3のトップビュー画像において一つまたは複数の第3の輪郭を検出する段階と;
検出された第3の輪郭に対応する第3のピクセル座標を決定する段階であって、前記第3のピクセル座標は、オブジェクト追跡中に除外するべき、前記第2のセンサーによって生成された前記トップビュー画像の領域に対応する、段階とを実行し;
前記初期時間区間より後の前記その後の時間区間の間に:
前記第2のセンサーによって生成された第4のトップビュー画像を受領する段階と;
前記第4のトップビュー画像において第4の輪郭を検出する段階と;
検出された第4の輪郭に対応する第4のピクセル座標を決定する段階と;
第4のピクセル座標の少なくともある閾値割合が前記第3のピクセル座標と重複するかどうかを判定する段階と;
前記第4のピクセル座標の少なくとも前記閾値割合が前記第3のピクセル座標と重複すると判定することに応答として、前記第4の輪郭を追跡するための第2のピクセル位置を決定し;
前記第2のピクセル座標の少なくとも前記閾値割合が前記第1のピクセル座標と重複しないと判定することに応答して、前記第4の輪郭を追跡するための前記第2のピクセル位置を決定する段階とを実行するように構成されている、
条項258に記載のシステム。
〔条項260〕
前記第4の輪郭および前記第2の輪郭は、前記空間内の同じオブジェクトに対応する、条項259に記載のシステム。
〔条項261〕
前記センサー・クライアントは、前記第2のピクセル座標の少なくとも前記閾値割合が前記第1のピクセル座標と同じであることを判別することによって、前記第2のピクセル座標の少なくとも前記閾値割合が前記第1のピクセル座標と重複すると判定するようにさらに構成される、請求項258に記載のシステム。
〔条項262〕
前記センサー・クライアントは、前記第2のピクセル座標の少なくとも前記閾値割合が、前記第1のピクセル座標と重複すると判定することを:
前記第1のピクセル位置に関連する第1の連続領域を決定し;
前記第2の輪郭に関連する第2の連続領域を決定し;
前記第2の連続領域のうち前記第1の連続領域内にある割合を計算し;
計算された割合が前記閾値割合以上であることを判別することによって行うようにさらに構成されている、
条項258に記載のシステム。
〔条項263〕
前記閾値割合が10%である、条項258に記載のシステム。
〔条項264〕
前記センサー・クライアントに通信上結合されたサーバーをさらに有しており、
前記センサー・クライアントは:
前記第2のピクセル座標の前記閾値割合が前記第1のピクセル座標と同じであることを判別することに応答して、前記第2の輪郭を追跡するための前記第1のピクセル位置を前記サーバーに送信するように構成されており、
前記サーバーは:
前記センサー・クライアントから前記第1のピクセル位置を受領する段階と;
前記第1のピクセル位置に基づいて、ホモグラフィーを用いて前記空間における対応する物理的位置を決定する段階であって、前記ホモグラフィーは、第1のセンサーによって生成された前記トップビュー画像におけるピクセル座標を、前記空間における物理的座標に関連付ける、段階と;
前記その後の時間区間の間に前記物理的位置を追跡する段階とを実行するように構成されている、
条項258に記載のシステム。
〔条項265〕
前記サーバーは:
前記センサー・クライアントから前記第1のピクセル座標を受領する段階と;
前記空間における追跡中に除外するべき物理的座標のセットを生成する段階であって、物理的座標の前記セットは、オブジェクト追跡中に除外するべき前記空間における一つまたは複数の物理的領域に対応する、段階とを実行するようにさらに構成されている、
条項264に記載のシステム。
〔条項266〕
前記初期時間区間の間、前記空間に人がいない、条項258に記載のシステム。
〔条項267〕
初期時間区間の間に:
第1のセンサーによって生成された一つまたは複数の第1のトップビュー画像を受領する段階であって、前記第1のセンサーは、空間の少なくとも第1の部分のトップビュー画像を生成するように構成されている、段階と;
前記一つまたは複数の第1のトップビュー画像において一つまたは複数の第1の輪郭を検出する段階と;
検出された第1の輪郭に対応する第1のピクセル座標を決定する段階であって、前記第1のピクセル座標は、オブジェクト追跡中に除外するべき、前記第1のセンサーによって生成された前記トップビュー画像の領域に対応する、段階とを含み;
前記初期時間区間より後のその後の時間区間の間に:
前記第1のセンサーによって生成された第2のトップビュー画像を受領する段階と;
前記第1のトップビュー画像において第2の輪郭を検出する段階と;
検出された第2の輪郭に対応する第2のピクセル座標を決定する段階と;
前記第2のピクセル座標の少なくともある閾値割合が前記第1のピクセル座標と重複するかどうかを判定する段階と;
前記第2のピクセル座標の少なくとも前記閾値割合が前記第1のピクセル座標と重複すると判定することに応答して、前記第2の輪郭を追跡するための第1のピクセル位置を決定せず;
前記第2のピクセル座標の少なくとも前記閾値割合が前記第1のピクセル座標と重複しないと判定することに応答して、前記第2の輪郭を追跡するための前記第1のピクセル位置を決定する段階とを含む、
方法。
〔条項268〕
前記初期時間区間の間に:
第2のセンサーによって生成された一つまたは複数の第3のトップビュー画像を受領する段階であって、前記第2のセンサーは、前記空間の少なくとも第2の部分のトップビュー画像を生成するように構成されている、段階と;
前記一つまたは複数の第3のトップビュー画像において一つまたは複数の第3の輪郭を検出する段階と;
検出された第3の輪郭に対応する第3のピクセル座標を決定する段階であって、前記第3のピクセル座標は、オブジェクト追跡中に除外するべき、前記第2のセンサーによって生成された前記トップビュー画像の領域に対応する、段階とを含み;
前記初期時間区間より後の前記その後の時間区間の間に:
前記第2のセンサーによって生成された第4のトップビュー画像を受領する段階と;
前記第4のトップビュー画像において第4の輪郭を検出する段階と;
検出された第4の輪郭に対応する第4のピクセル座標を決定する段階と;
前記第4のピクセル座標の少なくともある閾値割合が前記第3のピクセル座標と重複するかどうかを判定する段階と;
前記第4のピクセル座標の少なくとも前記閾値割合が前記第3のピクセル座標と重複すると判定することに応答として、前記第4の輪郭を追跡するための第2のピクセル位置を決定し;
前記第2のピクセル座標の少なくとも前記閾値割合が前記第1のピクセル座標と重複しないと判定することに応答して、前記第4の輪郭を追跡するための前記第2のピクセル位置を決定する段階とをさらに含む、
条項267に記載の方法。
〔条項269〕
前記第4の輪郭および前記第2の輪郭は、前記空間内の同じオブジェクトに対応する、条項268に記載の方法。
〔条項270〕
前記第2のピクセル座標の少なくとも前記閾値割合が前記第1のピクセル座標と同じであることを判別することによって、前記第2のピクセル座標の少なくとも前記閾値割合が前記第1のピクセル座標と重複すると判定することをさらに含む、請求項267に記載の方法。
〔条項271〕
前記第2のピクセル座標の少なくとも前記閾値割合が、前記第1のピクセル座標と重複すると判定することを:
前記第1のピクセル位置に関連する第1の連続領域を決定し;
前記第2の輪郭に関連する第2の連続領域を決定し;
前記第2の連続領域のうち前記第1の連続領域内にある割合を計算し;
計算された割合が前記閾値割合以上であることを判別することによって行うことをさらに含む、
条項267に記載の方法。
〔条項272〕
前記閾値割合が10%である、条項267に記載の方法。
〔条項273〕
前記第1のピクセル位置に基づいて、ホモグラフィーを用いて前記空間における対応する物理的位置を決定する段階であって、前記ホモグラフィーは、前記第1のセンサーによって生成された前記トップビュー画像におけるピクセル座標を、前記空間における物理的座標に関連付ける、段階と;
前記その後の時間区間の間に前記物理的位置を追跡する段階とをさらに含む、
条項267に記載の方法。
〔条項274〕
前記空間における追跡中に除外するべき物理的座標のセットを生成する段階であって、物理的座標の前記セットは、オブジェクト追跡中に除外するべき前記空間における一つまたは複数の物理的領域に対応する、段階をさらに含む、
条項273に記載の方法。
〔条項275〕
前記初期時間区間の間、前記空間に人がいない、条項267に記載の方法。
〔条項276〕
第1のセンサーに通信上結合された装置であって、前記第1のセンサーは、空間の少なくとも第1の部分のトップビュー画像を生成するように構成されており、当該装置は:
初期時間区間の間に:
前記第1のセンサーによって生成された一つまたは複数の第1のトップビュー画像を受領する段階と;
前記一つまたは複数の第1のトップビュー画像において一つまたは複数の第1の輪郭を検出する段階と;
検出された第1の輪郭に対応する第1のピクセル座標を決定する段階であって、前記第1のピクセル座標は、オブジェクト追跡中に除外するべき、前記第1のセンサーによって生成された前記トップビュー画像の領域に対応する、段階とを実行し;
前記初期時間区間より後のその後の時間区間の間に:
前記第1のセンサーによって生成された第2のトップビュー画像を受領する段階と;
前記第1のトップビュー画像において第2の輪郭を検出する段階と;
検出された第2の輪郭に対応する第2のピクセル座標を決定する段階と;
前記第2のピクセル座標の少なくともある閾値割合が前記第1のピクセル座標と重複するかどうかを判定する段階と;
前記第2のピクセル座標の少なくとも前記閾値割合が前記第1のピクセル座標と重複すると判定することに応答して、前記第2の輪郭を追跡するための第1のピクセル位置を決定せず;
前記第2のピクセル座標の少なくとも前記閾値割合が前記第1のピクセル座標と重複しないと判定することに応答して、前記第2の輪郭を追跡するための前記第1のピクセル位置を決定する段階とを実行するように構成されている、
システム。
〔条項277〕
当該装置がさらに第2のセンサーに結合されており、前記第2のセンサーは、前記空間の少なくとも第2の部分のトップビュー画像を生成するように構成されており、
当該装置は:
前記初期時間区間の間に:
前記第2のセンサーによって生成された一つまたは複数の第3のトップビュー画像を受領する段階と;
前記一つまたは複数の第3のトップビュー画像において一つまたは複数の第3の輪郭を検出する段階と;
検出された第3の輪郭に対応する第3のピクセル座標を決定する段階であって、前記第3のピクセル座標は、オブジェクト追跡中に除外するべき、前記第2のセンサーによって生成された前記トップビュー画像の領域に対応する、段階とを実行し;
前記初期時間区間より後の前記その後の時間区間の間に:
前記第2のセンサーによって生成された第4のトップビュー画像を受領する段階と;
前記第4のトップビュー画像において第4の輪郭を検出する段階であって、前記第4の輪郭および前記第2の輪郭は前記空間における同じオブジェクトに対応する、段階と;
検出された第4の輪郭に対応する第4のピクセル座標を決定する段階と;
第4のピクセル座標の少なくともある閾値割合が前記第3のピクセル座標と重複するかどうかを判定する段階と;
前記第4のピクセル座標の少なくとも前記閾値割合が前記第3のピクセル座標と重複すると判定することに応答として、前記第4の輪郭を追跡するための第2のピクセル位置を決定し;
前記第2のピクセル座標の少なくとも前記閾値割合が前記第1のピクセル座標と重複しないと判定することに応答して、前記第4の輪郭を追跡するための前記第2のピクセル位置を決定する段階とを実行するように構成されている、
条項276に記載の装置。
【0378】
〔条項278〕
少なくとも第1のセンサーおよび第2のセンサーを含む複数のセンサーであって、各センサーは空間の少なくとも一部のトップビュー画像を生成するように構成されている、複数のセンサーと;
前記複数のセンサーに通信上結合された追跡サブシステムとを有するシステムであって、前記追跡サブシステムは:
前記第1のセンサーから第1の画像フィードを受領する段階であって、前記第1の画像フィードは、前記第1のセンサーによって生成されたトップビュー画像のフレームを含み、前記第1のセンサーは、前記空間内の第1の視野を有する、段階と;
前記第2のセンサーから第2の画像フィードを受領する段階であって、前記第2の画像フィードは、前記第2のセンサーによって生成されたトップビュー画像の第2のフレームを含み、前記第2のセンサーは、前記空間内の第2の視野を有し、前記第2の視野は、前記第1の視野と部分的に重複する、段階と;
第1のタイムスタンプにおいて:
前記第1の画像フィードからの第1のフレームにおいて、第1のオブジェクトに関連する第1の輪郭を検出する段階;
前記第1の輪郭のピクセル座標に基づいて、前記第1のオブジェクトの第1のピクセル位置を決定する段階;
前記第2の画像フィードからの第2のフレームにおいて、第2のオブジェクトに関連する第2の輪郭を検出する段階であって、前記第2のオブジェクトは前記第1のオブジェクトであってもなくてもよい、段階;
前記第2の輪郭のピクセル座標に基づいて、前記第2のオブジェクトの第2のピクセル位置を決定する段階;
前記第1のピクセル位置に基づいて、前記第1のセンサーによって生成された前記トップビュー画像におけるピクセル座標を前記空間における物理的座標に関連付ける第1のホモグラフィーを使用して、前記第1の輪郭からの前記第1のオブジェクトの第1の物理的位置を決定する段階;
前記第2のピクセル位置に基づいて、前記第2のセンサーによって生成された前記トップビュー画像におけるピクセル座標を前記空間における物理的座標に関連付ける第2のホモグラフィーを使用して、前記第2のオブジェクトの第2の物理的位置を決定する段階;
前記第1の物理的位置と第2の物理的位置が互いの閾値距離以内にあるかどうかを判定する段階;
前記第1の物理的位置と第2の物理的位置が互いの閾値距離以内にあると判定することに応答して:
前記第1のオブジェクトの前記第1の物理的位置と前記第2のオブジェクトの前記第2の物理的位置が同じオブジェクトの、位置に対応しており、前記第1のオブジェクトと前記第2のオブジェクトが同じオブジェクトであることを判別し;
前記第1の物理的位置および前記第2の物理的位置に基づいて、前記空間における同じオブジェクトのグローバル位置を決定する段階;および
前記第1の物理的位置および前記第2の物理的位置が、互いの前記閾値距離以内にないと判定することに応答して:
前記第1のオブジェクトの前記第1の物理的位置および前記第2のオブジェクトの前記第2の物理的位置が、異なるオブジェクトの、位置に対応し、前記第1のオブジェクトおよび前記第2のオブジェクトが異なるオブジェクトであることを判別し;
前記第1の物理的位置に基づいて、前記空間における前記第1のオブジェクトの第1のグローバル位置を決定し;
前記第2の物理的位置に基づいて、前記空間における前記第2のオブジェクトの第2のグローバル位置を決定する段階を行う段階とを実行するように構成されている、
システム。
〔条項279〕
前記追跡サブシステムがさらに:
前記空間における同じオブジェクトの前記グローバル位置を、前記第1の物理的位置と前記第2の物理的位置の平均として決定するように構成されている、
条項278に記載のシステム。
〔条項280〕
前記追跡サブシステムは:
前記空間における同じオブジェクトの前記グローバル位置に基づいて、その後の時点における、同じオブジェクトのその後のグローバル位置の確率加重推定値(probability-weighted estimate)を決定し;
前記その後の時点において、前記第1のセンサーの前記第1の画像フィードおよび前記第2のセンサーの前記第2の画像フィードからはピクセル位置が利用可能でないことを判別し;
前記その後の時点において前記ピクセル位置が利用可能でないことを判別することに応答して、前記その後のグローバル位置の確率加重推定値を、前記その後の時点における同じオブジェクトの前記グローバル位置として割り当てるようにさらに構成されている、
条項279に記載のシステム。
〔条項281〕
前記追跡サブシステムは、前記グローバル位置を決定することを:
前記第1の物理的位置と前記第2の物理的位置との間の距離を決定し;
前記距離が閾値距離未満であることを判別することに応答して、前記第1の物理的位置と前記第2の物理的位置が同じ追跡されるオブジェクトに対応することを判別し;
前記第1の物理的位置と前記第2の物理的位置の平均を計算することによって行うように構成されている、
条項279に記載のシステム。
〔条項282〕
前記追跡サブシステムは、第2のタイムスタンプにおいて:
前記第1の画像フィードからの第3のフレームにおいて、前記オブジェクトに関連付けられた第3の輪郭を検出せず;
前記第3の輪郭を検出しないことに応答して、第1の粒子フィルタを用いて前記第3の輪郭についての推定されたピクセル位置を生成し;
前記第2の画像フィードからの第4のフレームにおいて、前記オブジェクトに関連する第4の輪郭を検出し;
前記第4の輪郭から前記オブジェクトの第3のピクセル位置を決定し;
前記推定されたピクセル位置および前記第3のピクセル位置に基づいて、前記空間における前記オブジェクトについての第2のグローバル位置を決定するように構成されている、
条項278に記載のシステム。
〔条項283〕
前記追跡サブシステムは、さらに、前記時間期間内の第3のタイムスタンプにおいて:
前記第1の粒子追跡器によって生成された前記推定されたピクセル位置に関連する標準偏差を決定し;
前記標準偏差が閾値より大きいことを判別すること応答して、前記第3のピクセル位置に基づいて前記空間における前記オブジェクトについての前記第2のグローバル位置を決定するように構成されている、
条項281に記載のシステム。
〔条項284〕
ある時間期間にわたって:
前記第1のフィードに基づいて、第1の粒子フィルタ追跡器を使って前記オブジェクトの前記第1のピクセル位置を追跡するように構成された第1のセンサー・クライアントであって、前記第1の粒子フィルタ追跡器は、前記時間期間の間のその後の第1のピクセル位置の確率加重推定値を生成するように構成されている、第1のセンサー・クライアントと;
前記時間期間にわたって:
前記第2のフィードに基づいて、第2の粒子フィルタ追跡器を使って前記オブジェクトの前記第2のピクセル位置を追跡するように構成された第2のセンサー・クライアントであって、前記第2の粒子フィルタ追跡器は、前記時間期間の間のその後の第2のピクセル位置の確率加重推定値を生成するように構成されている、第2のセンサー・クライアントと;
前記時間期間にわたって:
追跡された第1および第2のピクセル位置を受領し;
グローバル粒子フィルタ追跡器を使って前記グローバル位置を追跡するように構成されたマスターであって、前記グローバル粒子フィルタ追跡器は、前記時間期間の間のその後のグローバル位置の確率加重推定値を生成するように構成されている、マスターとを有する、
条項278に記載のシステム。
〔条項285〕
前記第1の視野は、前記第2の視野と10%ないし30%重複する、条項278に記載のシステム。
〔条項286〕
第1のセンサーから第1の画像フィードを受領する段階であって、前記第1のセンサーは、空間の少なくとも一部のトップビュー画像を生成するように構成されており、前記第1の画像フィードは、前記第1のセンサーによって生成されたトップビュー画像のフレームを含み、前記第1のセンサーは、前記空間内の第1の視野を有する、段階と;
前記第2のセンサーから第2の画像フィードを受領する段階であって、前記第2のセンサーは、前記空間の少なくとも一部のトップビュー画像を生成するように構成されており、前記第2の画像フィードは、前記第2のセンサーによって生成されたトップビュー画像の第2のフレームを含み、前記第2のセンサーは、前記空間内の第2の視野を有し、前記第2の視野は、前記第1の視野と部分的に重複する、段階と;
第1のタイムスタンプにおいて:
前記第1の画像フィードからの第1のフレームにおいて、第1のオブジェクトに関連する第1の輪郭を検出する段階;
前記第1の輪郭のピクセル座標に基づいて、前記第1のオブジェクトの第1のピクセル位置を決定する段階;
前記第2の画像フィードからの第2のフレームにおいて、第2のオブジェクトに関連する第2の輪郭を検出する段階であって、前記第2のオブジェクトは前記第1のオブジェクトであってもなくてもよい、段階;
前記第2の輪郭のピクセル座標に基づいて、前記第2のオブジェクトの第2のピクセル位置を決定する段階;
前記第1のピクセル位置に基づいて、前記第1のセンサーによって生成された前記トップビュー画像におけるピクセル座標を前記空間における物理的座標に関連付ける第1のホモグラフィーを使用して、前記第1の輪郭からの前記第1のオブジェクトの第1の物理的位置を決定する段階;
前記第2のピクセル位置に基づいて、前記第2のセンサーによって生成された前記トップビュー画像におけるピクセル座標を前記空間における物理的座標に関連付ける第2のホモグラフィーを使用して、前記第2のオブジェクトの第2の物理的位置を決定する段階;
前記第1の物理的位置と第2の物理的位置が互いの閾値距離以内にあるかどうかを判定する段階;
前記第1の物理的位置と第2の物理的位置が互いの閾値距離以内にあると判定することに応答して:
前記第1のオブジェクトの前記第1の物理的位置と前記第2のオブジェクトの前記第2の物理的位置が同じオブジェクトの、位置に対応しており、前記第1のオブジェクトと前記第2のオブジェクトが同じオブジェクトであることを判別し;
前記第1の物理的位置および前記第2の物理的位置に基づいて、前記空間における同じオブジェクトのグローバル位置を決定する段階;および
前記第1の物理的位置および前記第2の物理的位置が、互いの前記閾値距離以内にないと判定することに応答して:
前記第1のオブジェクトの前記第1の物理的位置および前記第2のオブジェクトの前記第2の物理的位置が、異なるオブジェクトの、位置に対応し、前記第1のオブジェクトおよび前記第2のオブジェクトが異なるオブジェクトであることを判別し;
前記第1の物理的位置に基づいて、前記空間における前記第1のオブジェクトの第1のグローバル位置を決定し;
前記第2の物理的位置に基づいて、前記空間における前記第2のオブジェクトの第2のグローバル位置を決定する段階を行う段階とを含む、
方法。
〔条項287〕
前記空間における同じオブジェクトの前記グローバル位置を、前記第1の物理的位置と前記第2の物理的位置の平均として決定することをさらに含む、
条項286に記載の方法。
〔条項288〕
前記空間における同じオブジェクトの前記グローバル位置に基づいて、その後の時点における、同じオブジェクトのその後のグローバル位置の確率加重推定値(probability-weighted estimate)を決定し;
前記その後の時点において、前記第1のセンサーの前記第1の画像フィードおよび前記第2のセンサーの前記第2の画像フィードからピクセル位置が利用可能でないことを判別し;
前記その後の時点において前記ピクセル位置が利用可能でないことを判別することに応答して、前記その後のグローバル位置の確率加重推定値を、前記その後の時点における同じオブジェクトの前記グローバル位置として割り当てることをさらに含む、
条項287に記載の方法。
〔条項289〕
前記グローバル位置を決定することを:
前記第1の物理的位置と前記第2の物理的位置との間の距離を決定し;
前記距離が閾値距離未満であることを判別することに応答して、前記第1の物理的位置と前記第2の物理的位置が同じ追跡されるオブジェクトに対応することを判別し;
前記第1の物理的位置と前記第2の物理的位置の平均を計算することによって行うことをさらに含む、
条項287に記載の方法。
〔条項290〕
第2のタイムスタンプにおいて:
前記第1の画像フィードからの第3のフレームにおいて、前記オブジェクトに関連付けられた第3の輪郭を検出せず;
前記第3の輪郭を検出しないことに応答して、第1の粒子フィルタを用いて前記第3の輪郭についての推定されたピクセル位置を生成し;
前記第2の画像フィードからの第4のフレームにおいて、前記オブジェクトに関連する第4の輪郭を検出し;
前記第4の輪郭から前記オブジェクトの第3のピクセル位置を決定し;
前記推定されたピクセル位置および前記第3のピクセル位置に基づいて、前記空間における前記オブジェクトについての第2のグローバル位置を決定することをさらに含む、
条項286に記載の方法。
〔条項291〕
前記時間期間内の第3のタイムスタンプにおいて:
前記第1の粒子追跡器によって生成された前記推定されたピクセル位置に関連する標準偏差を決定し;
前記標準偏差が閾値より大きいことを判別すること応答して、前記第3のピクセル位置に基づいて前記空間における前記オブジェクトについての前記第2のグローバル位置を決定することをさらに含む、
条項290に記載の方法。
〔条項292〕
ある時間期間にわたって:
前記第1のフィードに基づいて、第1の粒子フィルタ追跡器を使って前記オブジェクトの前記第1のピクセル位置を追跡する段階であって、前記第1の粒子フィルタ追跡器は、前記時間期間の間のその後の第1のピクセル位置の確率加重推定値を生成するように構成されている、段階と;
前記第2のフィードに基づいて、第2の粒子フィルタ追跡器を使って前記オブジェクトの前記第2のピクセル位置を追跡する段階であって、前記第2の粒子フィルタ追跡器は、前記時間期間の間のその後の第2のピクセル位置の確率加重推定値を生成するように構成されている、段階と;
グローバル粒子フィルタ追跡器を使って前記グローバル位置を追跡する段階であって、前記グローバル粒子フィルタ追跡器は、前記時間期間の間のその後のグローバル位置の確率加重推定値を生成するように構成されている、段階とを実行することを含む、
条項286に記載の方法。
〔条項293〕
複数のセンサーに通信上結合された追跡サブシステムであって、前記複数のセンサーは少なくとも第1のセンサーおよび第2のセンサーを含み、各センサーは空間の少なくとも一部のトップビュー画像を生成するように構成されており、前記追跡サブシステムは:
前記第1のセンサーから第1の画像フィードを受領する段階であって、前記第1の画像フィードは、前記第1のセンサーによって生成されたトップビュー画像のフレームを含み、前記第1のセンサーは、前記空間内の第1の視野を有する、段階と;
前記第2のセンサーから第2の画像フィードを受領する段階であって、前記第2の画像フィードは、前記第2のセンサーによって生成されたトップビュー画像の第2のフレームを含み、前記第2のセンサーは、前記空間内の第2の視野を有し、前記第2の視野は、前記第1の視野と部分的に重複する、段階と;
第1のタイムスタンプにおいて:
前記第1の画像フィードからの第1のフレームにおいて、第1のオブジェクトに関連する第1の輪郭を検出する段階;
前記第1の輪郭のピクセル座標に基づいて、前記第1のオブジェクトの第1のピクセル位置を決定する段階;
前記第2の画像フィードからの第2のフレームにおいて、第2のオブジェクトに関連する第2の輪郭を検出する段階であって、前記第2のオブジェクトは前記第1のオブジェクトであってもなくてもよい、段階;
前記第2の輪郭のピクセル座標に基づいて、前記第2のオブジェクトの第2のピクセル位置を決定する段階;
前記第1のピクセル位置に基づいて、前記第1のセンサーによって生成された前記トップビュー画像におけるピクセル座標を前記空間における物理的座標に関連付ける第1のホモグラフィーを使用して、前記第1の輪郭からの前記第1のオブジェクトの第1の物理的位置を決定する段階;
前記第2のピクセル位置に基づいて、前記第2のセンサーによって生成された前記トップビュー画像におけるピクセル座標を前記空間における物理的座標に関連付ける第2のホモグラフィーを使用して、前記第2のオブジェクトの第2の物理的位置を決定する段階;
前記第1の物理的位置と第2の物理的位置が互いの閾値距離以内にあるかどうかを判定する段階;
前記第1の物理的位置と第2の物理的位置が互いの閾値距離以内にあると判定することに応答して:
前記第1のオブジェクトの前記第1の物理的位置と前記第2のオブジェクトの前記第2の物理的位置が同じオブジェクトの、位置に対応しており、前記第1のオブジェクトと前記第2のオブジェクトが同じオブジェクトであることを判別し;
前記第1の物理的位置および前記第2の物理的位置に基づいて、前記空間における同じオブジェクトのグローバル位置を決定する段階;および
前記第1の物理的位置および前記第2の物理的位置が、互いの前記閾値距離以内にないと判定することに応答して:
前記第1のオブジェクトの前記第1の物理的位置および前記第2のオブジェクトの前記第2の物理的位置が、異なるオブジェクトの、位置に対応し、前記第1のオブジェクトおよび前記第2のオブジェクトが異なるオブジェクトであることを判別し;
前記第1の物理的位置に基づいて、前記空間における前記第1のオブジェクトの第1のグローバル位置を決定し;
前記第2の物理的位置に基づいて、前記空間における前記第2のオブジェクトの第2のグローバル位置を決定する段階を行う段階とを実行するように構成されている、
追跡サブシステム。
〔条項294〕
前記空間における同じオブジェクトの前記グローバル位置を、前記第1の物理的位置と前記第2の物理的位置の平均として決定するように構成されている、
条項293に記載の追跡サブシステム。
〔条項295〕
前記空間における同じオブジェクトの前記グローバル位置に基づいて、その後の時点における、同じオブジェクトのその後のグローバル位置の確率加重推定値(probability-weighted estimate)を決定し;
前記その後の時点において、前記第1のセンサーの前記第1の画像フィードおよび前記第2のセンサーの前記第2の画像フィードからはピクセル位置が利用可能でないことを判別し;
前記その後の時点において前記ピクセル位置が利用可能でないことを判別することに応答して、前記その後のグローバル位置の確率加重推定値を、前記その後の時点における同じオブジェクトの前記グローバル位置として割り当てるようにさらに構成されている、
条項294に記載の追跡サブシステム。
〔条項296〕
前記グローバル位置を決定することを:
前記第1の物理的位置と前記第2の物理的位置との間の距離を決定し;
前記距離が閾値距離未満であることを判別することに応答して、前記第1の物理的位置と前記第2の物理的位置が同じ追跡されるオブジェクトに対応することを判別し;
前記第1の物理的位置と前記第2の物理的位置の平均を計算することによって行うようにさらに構成されている、
条項293に記載の追跡サブシステム。
〔条項297〕
第2のタイムスタンプにおいて:
前記第1の画像フィードからの第3のフレームにおいて、前記オブジェクトに関連付けられた第3の輪郭を検出せず;
前記第3の輪郭を検出しないことに応答して、第1の粒子フィルタを用いて前記第3の輪郭についての推定されたピクセル位置を生成し;
前記第2の画像フィードからの第4のフレームにおいて、前記オブジェクトに関連する第4の輪郭を検出し;
前記第4の輪郭から前記オブジェクトの第3のピクセル位置を決定し;
前記推定されたピクセル位置および前記第3のピクセル位置に基づいて、前記空間における前記オブジェクトについての第2のグローバル位置を決定するようにさらに構成されている、
条項293に記載の追跡サブシステム。
【0379】
〔条項298〕
空間についてのグローバルプレーン内でラックの少なくとも一部のフレームを捕捉するように構成されたセンサーであって:
前記グローバルプレーンは前記空間についての(x,y)座標を表し;
前記フレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられ;
前記フレームは、前記ラックに関連付けられた第1のあらかじめ定義されたゾーンをさらに含み、前記第1のあらかじめ定義されたゾーンは、前記ラックの正面に近接している、センサーと;
前記ラックの棚に配置された重量センサーであって、前記重量センサーは、前記重量センサー上の品目についての重量を測定するように構成されている、重量センサーと;
前記センサーおよび前記重量センサーに動作可能に結合された追跡システムとを有するオブジェクト追跡システムであって、前記追跡システムは:
一つまたは複数のメモリと;
前記一つまたは複数のメモリに結合された一つまたは複数のプロセッサとを有しており、
前記一つまたは複数のメモリは:
人に関連付けられたデジタル・カートと;
前記ラックに関連付けられた複数の品目を識別する品目マップであって、各品目は品目を一意的に同定するマーカーを含む、品目マップとを記憶するように動作可能であり;
前記一つまたは複数のプロセッサは:
前記重量センサー上の重量減少を検出し;
前記ラックの前記フレームを受領し;
前記フレームにおける前記第1のあらかじめ定義されたゾーン内で品目上のマーカーを識別し;
識別されたマーカーに関連付けられた前記品目マップ内の品目を識別し;
前記人のピクセル位置であって、前記ピクセル位置は、前記フレームの第1のピクセル行および第1のピクセル列を含む、ピクセル位置を決定し;
前記人のピクセル位置に基づいて、前記人が前記フレームにおける前記ラックに関連付けられた前記第1のあらかじめ定義されたゾーン内にあることを判別し;
識別された品目を、前記人に関連付けられた前記デジタル・カートに追加するように構成されている、
システム。
〔条項299〕
前記マーカーが英数字テキストを含む、条項298に記載のシステム。
〔条項300〕
前記ラックに関連付けられた前記第1のあらかじめ定義されたゾーンは、前記フレームにおけるピクセル列の範囲および前記フレームにおけるピクセル行の範囲に関連付けられており;
前記人が前記ラックに関連付けられた前記第1のあらかじめ定義されたゾーン内にあることを判別することが:
前記人についての前記ピクセル位置の前記第1のピクセル列は、前記フレームにおけるピクセル列の前記範囲内にあり;
前記人についての前記ピクセル位置の前記第1のピクセル行は、前記フレームにおけるピクセル行の前記範囲内にあることを判別することを含む、
条項298に記載のシステム。
〔条項301〕
前記ラックは、前部と、第1の側部と、第2の側部と、後部とを含み、
前記第1のあらかじめ定義されたゾーンは、前記フレームにおいて前記ラックの前記前部、前記第1の側部、および前記第2の側部の少なくとも一部と重複する、
条項298に記載のシステム。
〔条項302〕
前記一つまたは複数のプロセッサは:
第2の人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレームにおける第2のピクセル行および第2のピクセル列を含む、段階と;
前記ラックの第3のピクセル位置を決定する段階であって、前記第3のピクセル位置は、前記フレームにおける第3のピクセル行および第3のピクセル列を含む、段階と;
前記人の前記ピクセル位置と前記ラックの前記第3のピクセル位置との間の第1の距離を決定する段階と;
前記第2の人の前記第2のピクセル位置と前記ラックの前記第3のピクセル位置との間の第2の距離を決定する段階と;
識別された品目を前記人に関連付けられた前記デジタル・カートに追加する前に、前記第1の距離が前記第2の距離より短いことを判別する段階とを実行するようにさらに構成されている、
条項298に記載のシステム。
〔条項303〕
前記一つまたは複数のプロセッサは:
前記フレームにおける第2の人を識別する段階と;
前記第2の人が前記ラックに関連付けられた前記第1のあらかじめ定義されたゾーンの外側にいることを判別する段階と;
前記第2の人が前記第1のあらかじめ定義されたゾーンの外側にいることを判別することに応答して、前記第2の人を無視する段階とを実行するように構成されている、
条項298に記載のシステム。
〔条項304〕
前記重量センサーが識別された品目に関連付けられており;
前記品目の識別は、少なくとも部分的には、前記重量センサー上の重量減少を検出することに基づいている、
条項298に記載のシステム。
〔条項305〕
前記フレームは、前記ラックの前面に近接し、前記第1のあらかじめ定義されたゾーン内にある第2のあらかじめ定義されたゾーンをさらに含み;
前記一つまたは複数のプロセッサは、前記重量センサー上の重量減少を検出する前に、前記第2のあらかじめ定義されたゾーン内の前記人に関連付けられたオブジェクトを検出するようにさらに構成されている、
条項298に記載のシステム。
〔条項306〕
オブジェクト追跡方法であって:
ラックの棚に配置された重量センサー上の重量減少を検出する段階と;
空間についてのグローバルプレーン内での前記ラックの少なくとも一部分のフレームをセンサーから受領する段階であって、
前記グローバルプレーンは前記空間についての(x,y)座標を表し;
前記フレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられ;
前記フレームは、前記ラックに関連付けられた第1のあらかじめ定義されたゾーンをさらに含み、前記第1のあらかじめ定義されたゾーンは、前記ラックの正面に近接している、段階と;
前記フレームにおける前記第1のあらかじめ定義されたゾーン内で品目上のマーカーを識別する段階と;
識別されたマーカーに関連付けられた前記品目を識別する段階と;
前記人のピクセル位置であって、前記ピクセル位置は、前記フレームの第1のピクセル行および第1のピクセル列を含む、ピクセル位置を決定する段階と;
人が前記フレームにおける前記ラックに関連付けられた前記第1のあらかじめ定義されたゾーン内にあることを、前記人のピクセル位置に基づいて判別する段階と;
識別された品目を、前記人に関連付けられた前記デジタル・カートに追加する段階とを含む、
方法。
〔条項307〕
前記マーカーが英数字テキストを含む、条項306に記載の方法。
〔条項308〕
前記人が前記ラックに関連付けられた前記第1のあらかじめ定義されたゾーン内にあることを判別することが:
前記人についての前記ピクセル位置の前記第1のピクセル列は、前記フレームにおけるピクセル列の前記範囲内にあり;
前記人についての前記ピクセル位置の前記第1のピクセル行は、前記フレームにおけるピクセル行の前記範囲内にあることを判別することを含む、
条項306に記載の方法。
〔条項309〕
前記ラックは、前部と、第1の側部と、第2の側部と、後部とを含み、
前記第1のあらかじめ定義されたゾーンは、前記フレームにおいて前記ラックの前記前部、前記第1の側部、および前記第2の側部の少なくとも一部と重複する、
条項306に記載の方法。
〔条項310〕
第2の人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレームにおける第2のピクセル行および第2のピクセル列を含む、段階と;
前記ラックの第3のピクセル位置を決定する段階であって、前記第3のピクセル位置は、前記フレームにおける第3のピクセル行および第3のピクセル列を含む、段階と;
前記人の前記ピクセル位置と前記ラックの前記第3のピクセル位置との間の第1の距離を決定する段階と;
前記第2の人の前記第2のピクセル位置と前記ラックの前記第3のピクセル位置との間の第2の距離を決定する段階と;
識別された品目を前記人に関連付けられた前記デジタル・カートに追加する前に、前記第1の距離が前記第2の距離より短いことを判別する段階とをさらに含む、
条項306に記載の方法。
〔条項311〕
前記フレームにおける第2の人を識別する段階と;
前記第2の人が前記ラックに関連付けられた前記第1のあらかじめ定義されたゾーンの外側にいることを判別する段階と;
前記第2の人が前記第1のあらかじめ定義されたゾーンの外側にいることを判別することに応答して、前記第2の人を無視する段階とをさらに含む、
条項306に記載の方法。
〔条項312〕
前記品目の識別は、少なくとも部分的には、前記重量センサー上の重量減少を検出することに基づいている、
条項306に記載の方法。
〔条項313〕
前記重量センサー上の重量減少を検出する前に、前記フレームにおいて第2のあらかじめ定義されたゾーン内の前記人に関連付けられたオブジェクトを検出する段階をさらに含み、前記第2のあらかじめ定義されたゾーンは、前記ラックの前面に近接し、前記第1のあらかじめ定義されたゾーン内にある、条項306に記載の方法。
〔条項314〕
非一時的なコンピュータ読み取り可能媒体に記憶された実行可能な命令を含むコンピュータ・プログラムであって、前記命令はプロセッサによって実行されたときに該プロセッサに:
ラックの棚に配置された重量センサー上の重量減少を検出する段階と;
空間についてのグローバルプレーン内での前記ラックの少なくとも一部分のフレームをセンサーから受領する段階であって、
前記グローバルプレーンは前記空間についての(x,y)座標を表し;
前記フレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられ;
前記フレームは、前記ラックに関連付けられた第1のあらかじめ定義されたゾーンをさらに含み、前記第1のあらかじめ定義されたゾーンは、前記ラックの正面に近接している、段階と;
前記フレームにおける前記第1のあらかじめ定義されたゾーン内で品目上のマーカーを識別する段階と;
識別されたマーカーに関連付けられた前記品目を識別する段階と;
前記人のピクセル位置であって、前記ピクセル位置は、前記フレームの第1のピクセル行および第1のピクセル列を含む、ピクセル位置を決定する段階と;
人が前記フレームにおける前記ラックに関連付けられた前記第1のあらかじめ定義されたゾーン内にあることを、前記人のピクセル位置に基づいて判別する段階と;
識別された品目を、前記人に関連付けられた前記デジタル・カートに追加する段階とを実行させるものである、
コンピュータ・プログラム。
〔条項315〕
前記ラックは、前部と、第1の側部と、第2の側部と、後部とを含み、
前記第1のあらかじめ定義されたゾーンは、前記フレームにおいて前記ラックの前記前部、前記第1の側部、および前記第2の側部の少なくとも一部と重複する、
条項314に記載のコンピュータ・プログラム。
〔条項316〕
前記プロセッサによって実行されたときに前記プロセッサにさらに:
第2の人についての第2のピクセル位置を決定する段階であって、前記第2のピクセル位置は、前記フレームにおける第2のピクセル行および第2のピクセル列を含む、段階と;
前記ラックの第3のピクセル位置を決定する段階であって、前記第3のピクセル位置は、前記フレームにおける第3のピクセル行および第3のピクセル列を含む、段階と;
前記人の前記ピクセル位置と前記ラックの前記第3のピクセル位置との間の第1の距離を決定する段階と;
前記第2の人の前記第2のピクセル位置と前記ラックの前記第3のピクセル位置との間の第2の距離を決定する段階と;
識別された品目を前記人に関連付けられた前記デジタル・カートに追加する前に、前記第1の距離が前記第2の距離より短いことを判別する段階とを実行させる命令をさらに含む、
条項314に記載のコンピュータ・プログラム。
〔条項317〕
前記プロセッサによって実行されたときに前記プロセッサにさらに:
前記フレームにおける第2の人を識別する段階と;
前記第2の人が前記ラックに関連付けられた前記第1のあらかじめ定義されたゾーンの外側にいることを判別する段階と;
前記第2の人が前記第1のあらかじめ定義されたゾーンの外側にいることを判別することに応答して、前記第2の人を無視する段階とを実行させる命令をさらに含む、
条項314に記載のコンピュータ・プログラム。
〔条項318〕
オブジェクト追跡システムであって:
空間の少なくとも一部分の上方に配置されたセンサー・アレイ内に構成された複数のセンサーであって、
前記複数のセンサーからの第1のセンサーは、前記空間の少なくとも一部分について、グローバルプレーンの第1のフレームを捕捉するように構成され;
前記第1のフレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられる、複数のセンサーと;
前記複数のセンサーに動作可能に結合される追跡システムとを有しており、前記追跡システムは、
前記第1のセンサーに関連付けられた第1のホモグラフィーを記憶するように動作可能な一つまたは複数のメモリであって、
前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換するように構成されている、メモリと;
前記一つまたは複数のメモリに動作可能に結合された一つまたは複数のプロセッサであって、
前記第1のフレームを受領し;
前記空間に位置するオブジェクトについての前記第1のフレームにおける第3のピクセル位置であって、前記第3のピクセル位置は、前記第1のフレームの第1のピクセル行および第1のピクセル列を含む、第3のピクセル位置を決定し;
前記第1のホモグラフィーを前記第3のピクセル位置に適用して、前記グローバルプレーンにおける第3のx値および第3のy値を同定する第3の(x,y)座標を決定するように構成されているプロセッサとを有する、
システム。
〔条項319〕
前記複数のセンサーは、前記空間の少なくとも第2の部分について前記グローバルプレーンの第2のフレームを捕捉するように構成されている、前記追跡システムに動作可能に結合された第2のセンサーをさらに含み、
前記一つまたは複数のメモリは、前記第2のセンサーに関連付けられた第2のホモグラフィーを記憶するようにさらに動作可能であり、
前記第2のホモグラフィーは、前記第2のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含み、
前記第2のホモグラフィーの係数は、前記第1のホモグラフィーの係数とは異なり;
前記一つまたは複数のプロセッサは:
前記空間内に位置する前記オブジェクトについての前記第2のフレームにおける第4のピクセル位置を決定し;
前記第2のホモグラフィーを前記第4のピクセル位置に適用して、前記グローバルプレーンにおける第4のx値および第4のy値を同定する第4の(x,y)座標を決定するようにさらに構成される、
条項318に記載のシステム。
〔条項320〕
前記一つまたは複数のプロセッサは:
前記オブジェクトの前記第3の(x,y)座標と前記オブジェクトの前記第4の(x,y)座標の平均を計算することによって、前記オブジェクトについての平均(x,y)座標を生成するようにさらに構成される、
条項319に記載のシステム。
〔条項321〕
前記一つまたは複数のプロセッサは:
前記オブジェクトの前記第3の(x,y)座標と前記オブジェクトの前記第4の(x,y)座標の中央値を計算することによって、前記オブジェクトについての中央値(x,y)座標を生成するように構成される、
条項319に記載のシステム。
〔条項322〕
前記第3の(x,y)座標は、前記第4の(x,y)座標と同じである、条項319に記載のシステム。
〔条項323〕
前記一つまたは複数のメモリは、前記第1のセンサーに関連付けられた追跡リストを記憶するようにさらに動作可能であり、前記追跡リストは:
前記オブジェクトについてのオブジェクト識別子;および
前記オブジェクトについての前記第3の(x,y)座標を同定し;
前記一つまたは複数のプロセッサは、前記第3の(x,y)座標を決定することに応答して、前記第1のセンサーに関連する追跡リストに前記第3の(x,y)座標を格納するようにさらに構成される、
条項318に記載のシステム。
〔条項324〕
前記第1のフレームにおける各ピクセルは、ピクセル値に関連付けられ;
前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル値と前記グローバルプレーンにおけるz座標との間で変換するようにさらに構成される、
条項318に記載のシステム。
〔条項325〕
前記センサー・アレイは、前記グローバルプレーンと平行に配置される、条項318に記載のシステム。
〔条項326〕
オブジェクト追跡方法であって:
空間の少なくとも一部分の上方にあるセンサー・アレイ内に構成された複数のセンサーのうちの第1のセンサーから第1のフレームを受領する段階であって、
前記第1のフレームは、前記空間の前記少なくとも一部分について、グローバルプレーンのフレームであり;
前記第1のフレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられる、段階と;
前記空間に位置するオブジェクトについての前記第1のフレームにおける第3のピクセル位置を決定する段階であって、前記第3のピクセル位置は、前記第1のフレームの第1のピクセル行および第1のピクセル列を含む、段階と;
第1のホモグラフィーを前記第3のピクセル位置に適用して、前記グローバルプレーンにおける第3のx値および第3のy値を同定する第3の(x,y)座標を決定する段階であって、前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換するように構成されている、段階とを含む、
方法。
〔条項327〕
前記空間の少なくとも第2の部分について前記グローバルプレーンの第2のフレームを第2のセンサーから受領する段階と;
前記空間内に位置する前記オブジェクトについての前記第2のフレームにおける第4のピクセル位置を決定する段階と;
第2のホモグラフィーを前記第4のピクセル位置に適用して、前記グローバルプレーンにおける第4のx値および第4のy値を同定する第4の(x,y)座標を決定する段階とをさらに含み、
前記第2のホモグラフィーは、前記第2のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含み、
前記第2のホモグラフィーの係数は、前記第1のホモグラフィーの係数とは異なる、
条項326に記載の方法。
〔条項328〕
前記オブジェクトの前記第3の(x,y)座標と前記オブジェクトの前記第4の(x,y)座標の平均を計算することによって、前記オブジェクトについての平均(x,y)座標を生成する段階をさらに含む、
条項327に記載の方法。
〔条項329〕
前記オブジェクトの前記第3の(x,y)座標と前記オブジェクトの前記第4の(x,y)座標の中央値を計算することによって、前記オブジェクトについての中央値(x,y)座標を生成する段階をさらに含む、
条項327に記載の方法。
〔条項330〕
前記第3の(x,y)座標を決定することに応答して、前記第1のセンサーに関連する追跡リストに前記第3の(x,y)座標を格納する段階をさらに含み、前記追跡リストは:
前記オブジェクトについてのオブジェクト識別子;および
前記オブジェクトについての前記第3の(x,y)座標を同定する、
条項326に記載の方法。
〔条項331〕
前記第1のフレームにおける各ピクセルは、ピクセル値に関連付けられ;
前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル値と前記グローバルプレーンにおけるz座標との間で変換するようにさらに構成される、
条項326に記載の方法。
〔条項332〕
非一時的なコンピュータ読み取り可能媒体に記憶された実行可能な命令を含むコンピュータ・プログラムであって、前記命令は、プロセッサによって実行されたときに前記プロセッサに:
空間の少なくとも一部分の上方にあるセンサー・アレイ内に構成された複数のセンサーのうちの第1のセンサーから第1のフレームを受領する段階であって、
前記第1のフレームは、前記空間の前記少なくとも一部分について、グローバルプレーンのフレームであり;
前記第1のフレームは複数のピクセルを含み;
前記複数のピクセルからの各ピクセルは、ピクセル行およびピクセル列を含むピクセル位置に関連付けられる、段階と;
前記空間に位置するオブジェクトについての前記第1のフレームにおける第3のピクセル位置を決定する段階であって、前記第3のピクセル位置は、前記第1のフレームの第1のピクセル行および第1のピクセル列を含む、段階と;
第1のホモグラフィーを前記第3のピクセル位置に適用して、前記グローバルプレーンにおける第3のx値および第3のy値を同定する第3の(x,y)座標を決定する段階であって、前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換するように構成されている、段階とを実行させるものである、
コンピュータ・プログラム。
〔条項333〕
前記プロセッサによって実行されたときに前記プロセッサに:
前記空間の少なくとも第2の部分について前記グローバルプレーンの第2のフレームを第2のセンサーから受領する段階と;
前記空間内に位置する前記オブジェクトについての前記第2のフレームにおける第4のピクセル位置を決定する段階と;
第2のホモグラフィーを前記第4のピクセル位置に適用して、前記グローバルプレーンにおける第4のx値および第4のy値を同定する第4の(x,y)座標を決定する段階とを実行させる命令をさらに含み、
前記第2のホモグラフィーは、前記第2のフレームにおけるピクセル位置と前記グローバルプレーンにおける(x,y)座標との間で変換する係数を含み、
前記第2のホモグラフィーの係数は、前記第1のホモグラフィーの係数とは異なる、
条項332に記載のコンピュータ・プログラム。
〔条項334〕
前記プロセッサによって実行されたときに前記プロセッサに:
前記オブジェクトの前記第3の(x,y)座標と前記オブジェクトの前記第4の(x,y)座標の平均を計算することによって、前記オブジェクトについての平均(x,y)座標を生成する段階を実行させる命令をさらに含む、
条項333に記載のコンピュータ・プログラム。
〔条項335〕
前記プロセッサによって実行されたときに前記プロセッサに:
前記オブジェクトの前記第3の(x,y)座標と前記オブジェクトの前記第4の(x,y)座標の中央値を計算することによって、前記オブジェクトについての中央値(x,y)座標を生成する段階を実行させる命令をさらに含む、
条項333に記載のコンピュータ・プログラム。
〔条項336〕
前記プロセッサによって実行されたときに前記プロセッサに:
前記第3の(x,y)座標を決定することに応答して、前記第1のセンサーに関連する追跡リストに前記第3の(x,y)座標を格納する段階を実行させる命令をさらに含み、前記追跡リストは:
前記オブジェクトについてのオブジェクト識別子;および
前記オブジェクトについての前記第3の(x,y)座標を同定する、
条項332に記載のコンピュータ・プログラム。
〔条項337〕
前記第1のフレームにおける各ピクセルは、ピクセル値に関連付けられ;
前記第1のホモグラフィーは、前記第1のフレームにおけるピクセル値と前記グローバルプレーンにおけるz座標との間で変換するようにさらに構成される、
条項332に記載のコンピュータ・プログラム。