本願は、2019年5月6日に出願された米国特許出願第16/404,667号の一部継続出願であり、米国特許出願第16/404,667号は、2019年1月23日に出願され、米国特許第10,282,852号として発行された米国特許出願第16/254,776号の一部継続出願である。米国特許出願第16/254,776号は、2018年9月21日に出願され、米国特許第10,282,720号として発行された米国特許出願第16/138,278号の一部継続出願である。米国特許出願第16/138,278号は、2018年7月16日に出願された米国特許出願第16/036,754号の一部継続出願である。これらの明細書は、参照することにより、本願に組み込まれる。
本発明の1つ又は複数の実施形態は、画像分析、人工知能、自動化、カメラ較正、カメラ配置最適化、及び、コンピュータと販売時点情報管理システムとの相互作用の分野に関するものである。より詳細には、本発明の1つ又は複数の実施形態は、多数のカメラからの画像を分析するカメラベースのシステムが、自律店舗の商品、例えば店舗の棚の製品などを追跡し、買い物客がどの商品を手に取ったか、移動させたか、又は、置き換えたかを判定することを可能にするが、これに限定されない。1つ又は複数の実施形態は、画像分析と組み合わせて、製品の量を測定又は推測する量センサを利用し、商品を買い物客に帰属させることの精度を向上させる。また、製品の種類を外観に基づいて推測するために、画像分析を用いてもよい。
防犯カメラを備える従来のシステムでは、人の追跡、計数、不審者の検出、及び、対象物不正開封分析は、比較的制限されていた。これらのシステムは、カメラ及びNVR(ネットワークビデオレコーダ)において利用されてきた比較的単純なアルゴリズムを採用している。
小売分析解決策といった他のシステムは、小売スペースにおけるさらなるカメラ及びセンサを利用して、比較的単純な方法で人を追跡する。人の追跡には、典型的には、計数及び不審者検出が含まれる。
現在、初期の試作段階にある初期「grab−n−go」システムがある。これらのシステムは、店舗の中に入り、所望のものを手に取り、所望しないものを元に戻し、持って帰るものに対する請求がなされた人を追跡することに関する。この解決策は、通常、認知用のさらなるセンサ及び/又は電波を用いるが、他の解決策は、潜在的に未較正のカメラ、又は、最適化されていないカメラ配置を使用しているように思われる。例えば、幾つかの解決策は、各棚の上の重量センサを使用して、どんな製品が棚から手に取られたかを判定し得る。しかしながら、これらの重量センサだけでは、製品を手に取ったことを特定の買い物客に帰属させることや、ある製品を類似の質量又は形状を有する他の製品から識別すること(例えば、異なるブランドのソーダ缶でも、同一の形状及び質量を有しているかもしれない)には十分ではない。今まで、公知のあらゆるカメラベースのgrab−n−go会社は、人追跡、動作検出、対象物認識の全般的な問題の一部を扱う学術的論文からの、同一の基本ソフトウェア及びハードウェア構成要素、図面を用いたアルゴリズムを使用していた。
自動化小売部門における事業体によって利用される学術的構成要素は、このスペースにおける膨大な次善策のコンピュータビジョンアルゴリズム及びオープンソースソフトウェアを含む。利用可能な基本ツールキットは、ディープラーニング、畳み込みニューラルネットワーク、対象物検出、カメラ較正、動作検出、ビデオアノテーション、粒子フィルタリング、及び、モデルベース推定を利用する。
今まで、公知の解決策又はシステムは、実際に自動化された店舗を実現したものはなく、どれも、さらなるセンサを必要とし、必要な数よりも多い数のカメラを使用し、例えば店舗内の防犯カメラといった既存のカメラに融合していないので、より多くの初期費用を必要としていた。また、公知の解決策は、カメラを較正せず、異なる種類のカメラを利用することができず、又は、カメラの最適な配置を判定しないため、その精度は制限されている。
自動化店舗又は類似の用途では、顧客がエントリーポイント又は別の好適な位置において承認を得ることが許可され、その後、この承認を自動的に当該店舗又は場所の他の位置に拡張可能であることが重要であり得る。例えば、自動化ガソリンスタンドの顧客が、ガソリンを購入するためにガソリンポンプにクレジットカードを提供し、その後、製品を購入するためにガソリンスタンドの自動化コンビニエンスストアに入ってもよい。理想的には、ガソリンポンプにおいて得られたクレジットカード承認が、コンビニエンスストアまで拡張されることになり、顧客は、当該ストアに(場合によっては、施錠されたドアであって、この顧客のために自動的に開錠されるドアを通って)入ることができ、製品を選び、それを同じカードで精算することもできる。
入場制御システムに組み込まれた承認システムは、技術的に公知である。例としては、人がカードキーを提示したり、アクセスコードを入力したりすることを求める建物入場制御システムが挙げられる。しかしながら、これらのシステムは、一地点(入場箇所)で得られた承認を他の箇所に拡張しない。承認を一箇所からさらなる箇所に拡張するための公知の解決策は、通常、承認が必要なさらなる箇所毎に、ユーザが信用情報を提示することを要求する。例えば、イベントやクルーズ船の客に、クレジットカード又は口座にリンクされたスマートリストバンドを与えてもよい。すなわち、これらのリストバンドを使用して、さらなる製品を購入したり、又は、施錠されたエリアに入場したりすることができる。別の例は、米国特許第6,193,154号「クレジットカードを許容する燃料供給ポンプと連動して、商品を販売する方法及び装置」に開示されたシステムであり、当該システムは、ユーザが、ガソリンポンプにおいて(クレジットカードを使用して)承認されレシートに印刷されたコードを入手することを許可する。このコードは、その後、自動販売機から商品を得るために別の箇所で使用されることが可能である。これら公知の全てのシステムの潜在的欠点は、承認を一箇所から別の箇所に拡張するためには、更なる装置又はユーザによる動作が必要な点にある。ユーザを第1の地点から第2の地点までカメラを介して追跡することだけを利用して、承認を一箇所(ガソリンポンプ等)から別の箇所(店舗又は自動販売機等)に自動的に拡張する公知のシステムは存在しない。ユーザをカメラで追跡して、承認を一箇所から別の箇所に拡張することは、カメラが普及しており、場所や店舗に既に取り付けられている場合が多いため、利便性及び自動化を著しく強めることになり、この際、ユーザにコードやリストバンドによる負担をかけないし、さらなるセンサや入力装置を必要としない。
自動化店舗用の既存のシステムの別の欠点は、人を追跡する方法が複雑な点である。これらのシステムは、通常、任意のカメラ位置からの複数のカメラビューに基づいて人の関節又は目印を追跡しようとする複雑なアルゴリズムを使用する。この方法は、エラーが発生しやすく、リアルタイム追跡を支援するためには大きな処理能力を必要とする。より単純な人追跡方法であれば、追跡工程のロバスト性及び効率が改善されるかもしれない。
自動化店舗は、当該店舗の中を移動する買い物客と、買い物客が購入のために手に取ることができる店舗内の商品との両方を、追跡する必要がある。店舗の棚に置かれた製品等の商品を追跡するための既存の方法は、各商品に関連付けられた専用のセンサを必要とするか、又は、買い物客が手にしている商品を監視するために画像分析を使用する。専用のセンサを使う方法は、潜在的に高価なハードウェアを店舗の各棚に必要とする。現在使用されている画像分析方法は、エラーが発生しやすい。画像分析は、カメラが普及しており、安価であり、かつ、可動部を必要としないため、魅力的であるが、今のところ、店舗の棚から(棚へ)の商品の移動を画像分析することには効果がない。具体的には、単一カメラのビューの画像差分処理といった単純な画像分析方法は、オクルージョンを良好に対処することもできないし、例えば、縦に積み重ねられた類似の製品から選ばれた商品の量を判定することも出来ない。
少なくとも上記の欠点に対して、投影画像商品追跡システムが求められている。
本明細書に記載される1つ又は複数の実施形態は、例えば、投影画像を組み合わせて商品を追跡する自動化店舗システムにおいて使用されるような、投影画像商品追跡システムに関するものである。1つ又は複数の実施形態は、商品及び商品格納エリアを含む店舗の3Dモデルを得るように構成されたプロセッサを含む。このプロセッサは、前記店舗内の各カメラの画像の時間系列であって、ある期間にわたって撮像された画像の時間系列を受信し、各カメラからの画像の時間系列と店舗の3Dモデルとを分析して、画像の時間系列に基づいて店舗内の人を検出し、前記期間にわたって人の軌跡を算出し、前記期間内の相互作用期間中に前記人の軌跡に近接した商品格納エリアのうちの1つの商品格納エリアを識別し、画像の時間系列の2つ以上の画像を分析して、相互作用期間中に移動した、商品格納エリア内の商品のうちの1つを識別する。ここで、2つ以上の画像は、相互作用期間内又はこれに時間的に近接して撮像されたものであり、2つ以上の画像は、商品格納エリアのビューを含み、商品の動作を人に帰属させる。このシステムの1つ又は複数の実施形態は、追跡用の画像に基づいており、例えば操作された商品に対する、RFIDタグ又は他の識別子といった商品タグを利用せず、識別スキャナを必要としない。加えて、本発明の1つ又は複数の実施形態は、ユーザの入退場が追跡装置を、つまり画像及びコンピュータビジョンを介して、開始又は終了させる「仮想ドア」を可能にする。他の実施形態は、例えば、QRコード(登録商標)又はBluetooth(登録商標)を用いた物理的ゲート又は電子チェックイン及びチェックアウトを利用してもよいが、これらの解決策は、本発明の他の実施形態が必要としない複雑度をもたらす。
プロセッサの少なくとも1つの実施形態は、販売時点コンピュータとインターフェースをとり、レジを通さずに、商品に関連付けられた量を人に請求するようにさらに構成されている。場合によっては、商品の説明が、人に関連付けられたモバイル機器に送信され、ここで、プロセッサ又は販売時点コンピュータは、商品が正しいか又は間違っているかの確認を、モバイル機器から受け付けるように構成されている。1つ又は複数の実施形態では、特定のユーザに関連付けられた商品の一覧、例えば、買い物客に関連付けられた買い物カート一覧を、買い物客の近くにあるディスプレイ、又は、買い物客に最も近くにあるディスプレイに送信してもよい。
1つ又は複数の実施形態では、画像の時間系列の各画像は、2D画像であり、プロセッサは、人の3D位置及び向きと、少なくとも1つの人体目印とから成る人の軌跡を、画像の時間系列における人の2つ以上の2D投影から算出する。
1つ又は複数の実施形態では、プロセッサは、前記期間中の複数の時点において、人の周りの3D影響体積域を算出するようにさらに構成されている。
1つ又は複数の実施形態では、プロセッサは、相互作用期間中に人の周りの3D影響体積域に交差する格納エリアの3D位置を利用して、相互作用期間中に人の軌跡に近接した商品格納エリアを識別する。1つ又は複数の実施形態では、プロセッサは、期間中の複数の時点において、人の複数の目印についての空間的確率分布を利用して、人の周りの3D影響体積域を算出し、ここで、複数の目印のうちの各目印は、人の人体部分における1つの位置に対応する。1つ又は複数の実施形態では、人の周りの3D影響体積域は、閾値距離以下の、複数の目印のうちの最も近い目印までの距離を有する点を含む。1つ又は複数の実施形態では、人の周りの3D影響体積域は、複数の目印のうちの各目印についての確率の高い区域の結合体を含む。ここで、確率の高い区域のうちの各確率の高い区域は、対応する目印について、空間確率分布の閾値確率を含む。1つ又は複数の実施形態では、プロセッサは、期間中の複数の時点において人の複数の目印についての空間確率分布を算出する。これは、物理モデルに基づいた期間中の1又は複数の時点における複数の目印についての予測された空間確率分布を算出することにより、及び、画像の時間系列における複数の目印の1つ又は複数を監視することに基づく期間中の1又は複数の時点における訂正された空間確率分布を算出することにより、行われる。1つ又は複数の実施形態では、物理モデルは、目印の位置及び速さ、したがって算出された影響域を含む。この情報は、域に関連付けられた目印の状態及び直接的に監視されていない空間を一回で予測するために用いることが可能であり、従って、監視された目印を補間又は補強するために利用してもよい。
1つ又は複数の実施形態では、プロセッサは、画像の時間系列の2つ以上の画像を分析して、商品の動きを、手に取ること、元に戻すこと、又は、移動させることを含む動作の一種類として、分類するようにさらに構成されている。
1つ又は複数の実施形態では、プロセッサは、画像の時間系列のうちの2つ以上の画像を分析して、商品格納エリア内の相互作用期間中に移動した商品を識別する。具体的には、プロセッサは、画像にわたる変化から商品を認識するように訓練されたニューラルネットワークを使用又は得て、ニューラルネットワークの入力層を2つ以上の画像に設定し、当該商品に関連付けられた確率を、ニューラルネットワークの出力層に基づいて算出する。1つ又は複数の実施形態では、ニューラルネットワークは、商品に対して行われた動作を、手に取ること、置くこと、又は、移動させることを含むクラスに分類するようにさらに訓練されている。1つ又は複数の実施形態では、システムは、人が商品の動作に関連付けられていることを確認又は否定する入力を受け入れるように構成された照合システムを含む。1つ又は複数の実施形態では、システムは、人が商品の動作に関連付けられていることを確認又は否定する入力を受信して、この入力に基づいて、ニューラルネットワークを更新するように構成された機械学習システムを含む。本発明の実施形態は、ニューラルネットワークを利用してもよく、より一般的に言えば、任意の種類の汎用関数近似器を利用してもよい。事前事後画像対、又は、事前−その間−事後画像対の入力を出力動作にマップする関数を規定することによって、ニューラルネットワークは、このような任意の関数マップ、従来の畳み込みニューラルネットワークだけでなく、より単純なヒストグラム又は特徴ベースの分類器になるように訓練されることが可能である。本発明の実施形態は、また、ニューラルネットワークの訓練を可能にする。これには、典型的には、ネットワークの重み及び/又は構造を変更してデータ(入力)のラベル(出力)を正確に予測する最適化装置にラベルが付されたデータを供給することが含まれる。本発明の実施形態は、提示されたショッピングカートの顧客の承認又は訂正から、このデータを収集するように構成されていてもよい。選択的又は組み合わせにおいて、このシステムの実施形態は、従来の店舗からのレジ係が行った訂正を収集してもよい。ユーザがショッピングカートを承認した後、又は、訂正を行った後、グラウンドトゥルースラベルが付されたデータ点が生成され、当該点は、訓練セットに加えられ、将来的な改善のために使用され得る。
1つ又は複数の実施形態では、プロセッサは、画像の時間系列の第1のサブセットを分析して人の1つ又は複数の際立った特徴を識別し、この際立った特徴を用いて画像の時間系列の第2のサブセットにおける人を認識するようにさらに構成されている。1つ又は複数の実施形態では、プロセッサは、人の身元(識別)を判定することなく、第2のサブセットにおいて人を認識する。1つ又は複数の実施形態では、画像の時間系列の第2のサブセットは、人の画像及び第2の人の画像を含む。1つ又は複数の実施形態では、1つ又は際立った特徴は、人の1つ又は複数の人体部分の1つ又は複数の形状又は寸法、人が身に着けている衣服の1つ又は複数の品目の形状、寸法、色、又は組織、及び、人の歩き方のパターンを含む。
システムの1つ又は複数の実施形態において、プロセッサは、店舗内の複数のカメラのうちの各カメラについてのカメラ較正データを得て、そのカメラ較正データを用いて、複数のカメラのうちの各カメラからの画像の時間系列を分析するようにさらに構成されている。1つ又は複数の実施形態では、プロセッサは、複数のカメラのうちの各カメラから較正画像を得て、当該較正画像からカメラ較正データを算出するように構成されている。1つ又は複数の実施形態では、較正画像は、1つ又は複数の同期イベントを撮像した画像を含み、カメラ較正データは、カメラ間の時間的オフセットを含む。1つ又は複数の実施形態では、較正画像は、店舗内の3Dモデルに対して規定された位置に設置された1つ又は複数のマーカーを撮像した画像を含み、カメラ較正データは、3Dモデルに対するカメラの位置及び向きを含む。1つ又は複数の実施形態では、較正画像は、店舗内に配置された1つ又は複数の色較正対象を撮像した画像を含み、カメラ較正データは、複数のカメラのうちの各カメラと標準色空間との間の色マッピングデータを含む。1つ又は複数の実施形態では、カメラ較正プロセッサは、店舗において照明条件が変化した時に、色マッピングデータを再び算出するようにさらに構成されている。例えば、1つ又は複数の実施形態では、1つのエリアや画像全体における時刻、通日、現在の光レベル、又は、夕暮れ又は夜明けの色が移る期間といった光の色(ぼかし、彩度、又は、輝度)に基づいて、システムが、異なるカメラ較正データを用いてもよい。例えば、1つまたは複数の既定のカメラ、又は、1つまたは複数のカメラからの画像の部分について、異なるカメラ較正データを用いることによって、商品とその操作のより正確な判定が、実現され得る。
1つ又は複数の実施形態では、システムにおける、カメラ配置最適化プロセッサといったプロセッサは、店舗の3Dモデルを取得し、店舗内の推奨されるカメラの数、及び、店舗内の複数のカメラのうちの各カメラの推奨される位置及び向きを算出するように構成されている。1つ又は複数の実施形態では、プロセッサは、店舗内の推奨されるカメラの数、及び、店舗内の複数のカメラのうちの各カメラの推奨される位置及び向きを算出する。具体的には、プロセッサは、店舗内の潜在的な一組のカメラの位置及び向きを得て、商品格納エリア内の一組の商品の位置を得て、提案された数のカメラ及び提案された一組のカメラの位置及び向きを繰り返し更新して、最小数のカメラ、及び、最小数のカメラのうちの各カメラについての位置及び向きを得て、一組の商品位置のうちの各商品位置が、最小数のカメラのうちの少なくとも2つに視認可能なようにする。
1つ又は複数の実施形態では、システムは、プロセッサに結合されたカメラを含む。他の実施形態では、システムは、ここに記載の任意のサブ構成要素を含む。
1つ又は複数の実施形態では、プロセッサは、人が商品の支払いをせずに店舗を去る時の万引きを検出するようにさらに構成されている。具体的には、人が手にした商品一覧(例えば、買い物カート一覧)が表示される、又はそうでなければ、従来のレジのスクリーン上においてレジ係によって監視される。レジ係は、この情報を用いて、買い物客が、何も手にしていないか、又は、店舗から手にした全ての商品について支払った/提示したかを確認してもよい。例えば、顧客が店舗から2つの商品を手にした場合、この顧客は、店舗からの2つの商品に対して支払わなければならない。したがって、本発明の実施形態は、例えば2つの商品を手にしたが、レジに到着したときには、1つの商品しか提示せず支払っていない顧客の検出を可能にする。
1つ又は複数の実施形態では、このコンピュータは、人が商品を見詰めていることを検出するようにさらに構成されている。
1つ又は複数の実施形態では、システムによって利用された目印は、人の眼や人の頭の他の目印を含み、ここで、コンピュータは、人の眼の位置又は頭の目印に基づいて、人の視野を算出し、商品が視野にある時に、人が商品を見詰めていることを検出するようにさらに構成されている。
システムの1つ又は複数の実施形態は、1つの箇所及び時点で得られた承認を、異なる箇所又は異なる時点まで拡張してもよい。この承認は、人を承認の地点から、承認が使用される第2の地点まで追跡することによって拡張され得る。承認は、保護された環境に入場し、この保護された環境内で商品を購入するために使用され得る。
承認を拡張するために、このシステムにおけるプロセッサは、エリア内又はその周りに取り付けられたカメラからの画像を分析して、当該エリアにおいて人を追跡してもよい。追跡には、例えばカメラの位置及び向きを表し得るエリアの3Dモデルを使用してもよい。プロセッサは、カメラ画像から、当該エリア内の人の軌跡を算出してもよい。追跡すること及び軌跡を算出することは、上述した方法であって、詳細を以下に説明する任意の方法を用いてもよい。
人は、第1の位置及び第1の時間において、クレジットカードといった信用情報を、カードリーダといった信用情報受信機に提示してもよく、その後、承認を受信してもよい。承認はまた、プロセッサによって受信されてもよい。その後、人は、第2の時間において、第2の位置に移動する。この第2の位置において、保護された環境への入口が位置していてもよく、この入口は、鍵といった制御可能な障害物によって保護されていてもよい。プロセッサは、信用情報が提示された又は承認が受信された時間を、信用情報受信機が位置している第1の位置に人が居た時間に関係付けることによって、承認を人に関連付け得る。その後、プロセッサは、人が保護された環境のエントリーポイントに来ると、入場許可コマンドを制御可能な障害物に送信することによって、人が保護された環境に入ることを許可してもよい。
承認を得るために人によって提示された信用情報は、例えば、1つ又は複数のクレジットカード、デビットカード、銀行カード、RFIDタグ、携帯支払機、携帯ウォレット装置、IDカード、携帯電話、スマートフォン、スマートウォッチ、スマート眼鏡若しくはゴーグル、キーホブ、運転免許証、パスポート、パスワード、PIN、コード、電話番号、又は、バイオメトリック識別子であってよいが、これらに限定されない。
1つ又は複数の実施形態では、保護された環境は、建物の全てであってもよいし、又は、一部であってもよく、制御可能な障害物は、建物へのドア、又は、建物の一部を含む。1つ又は複数の実施形態では、保護された環境は、1つ又は複数の商品を含むケース(販売用製品を入れたディスプレイケース等)であってもよく、制御可能な障害物は、ケースへのドアを含んでもよい。
1つ又は複数の実施形態では、エリアは、ガソリンスタンドであってもよく、信用情報受信機は、ガソリンポンプにおける又はその近傍にある支払機構であってもよい。保護された環境は、例えば、ガソリンスタンドにおけるコンビニエンスストア、又は、1つ又は複数の商品を含む、ガソリンスタンドにおける(例えば自動販売機といった)ケースであってもよい。人は、例えば、ポンプにおいて支払いをし、ガスを注入すること、及び、コンビニエンスストアに入り、又は、製品ケースを開けて他の製品を得ることの承認を得てもよい。
1つ又は複数の実施形態では、信用情報は、この信用情報を有する人の口座にリンクされた支払いの形態であってもよいし、これを含んでいてもよく、システムによって受信された承認は、人による買い物に対して、この口座に請求を行う承認であってもよい。1つ又は複数の実施形態では、保護された環境は、1つ又は複数の商品が人によって手に取られた時を検出するセンサを含んでいてもよい。センサからの信号がシステムのプロセッサに受信されて、プロセッサは、その後、人の口座に、手に取った1つまたは複数の商品についての請求を行ってもよい。1つ又は複数の実施形態では、人は、保護された環境において商品の購入を承認すべきかどうかを示す信用情報を提示する位置において、入力を提供してもよい。
1つ又は複数の実施形態では、人の追跡は、保護された環境におけるカメラを用いて、保護された環境においても行われ得る。自動化店舗に関して上述のように、追跡は、人が商品格納エリアの近傍に居る時を判定してもよく、商品格納エリアの2つ以上の画像の分析は、商品が移動したことを判定し得る。これらの分析を組み合わせることにより、システムは、商品の動作をその人に帰属させることができ、承認が支払い口座にリンクされているならば、商品をその人の口座に請求できる。再び、自動化店舗に関して上述したように、人が商品格納エリアに居る、又は、その近傍に居る時を追跡及び判定することは、人の周りの3D影響体積域を算出することを含んでいてもよく、商品が移動された又は手に取られた時を判定することは、商品格納エリアの2つ以上の画像(事前及び事後の画像等)を入力して、商品が移動した確率を出力するニューラルネットワークを用いてもよい。
1つ又は複数の実施形態では、承認は、1人から別の人まで、例えば、信用情報を有する当該人と同じ車に居る別の人まで拡張され得る。プロセッサは、カメラ画像を分析して、1人が車を出た後に信用情報を提示したことを判定し、承認を出してもよい。第2の人が同じ車を出たならば、この第2の人も、保護されたエリアに入ることや、信用情報に関連付けられた口座に請求されることになる商品に手に取ることといった特定の動作を行うことを承認されてもよい。第2の人を追跡すること、及び、その人が手に取ったのはどの商品かを判定することは、信用情報を提示した人について上述したように行い得る。
1つ又は複数の実施形態では、承認の拡張は、信用情報を提示した人が、商品を手に取ることを可能にし、それらの商品に対する請求が信用情報に関連付けられた口座になされることが可能になり、商品は、制御可能な障害物を有する入口を備える保護された環境に置かれていてもよいし、そうでなくてもよい。人の追跡を、例えば上記のように、カメラを用いて行ってもよい。システムは、例えば上記のように、カメラ画像を分析することによって、どの商品を人が手に取ったのかを判定してもよい。システムに関連付けられたプロセッサはまた、カメラ画像を分析して、人が商品を手に取り、その後エリアを出る前にその商品を戻した時を判定してもよく、この場合、プロセッサは、人がそのエリアを出る際に当該商品に対して請求されるべきではないと判定してもよい。
本発明の1つ又は複数の実施形態は、カメラ画像を分析して店舗内の人の位置を探し、その後、人の周りの影響体積域を算出してもよい。この影響体積域は、単純なものでもよいし、詳細なものであってもよい。これは、例えば、人の位置の単一点推定値の周りの円筒形といった単純な形状であってもよい。人体上の目印又は関節の追跡は、1つ又は複数の実施形態では必要ない場合がある。相互作用期間中に影響体積域が商品格納エリアに交差する場合、このシステムは、当該期間の開始時又はそれ以前に撮像された画像、及び、当該期間の終了時又はそれ以後に撮像された画像を分析してもよい。この分析は、棚の上の商品が移動されたかどうかを判定してもよく、この場合、この移動を、影響体積域が商品格納エリアに交差した人に帰属させることができる。事前及び事後の画像の分析は、例えば、これら2つの画像を入力として受け取るニューラルネットワークを用いて、行ってもよい。ニューラルネットワークの出力は、各商品が移動された確率、及び、人が行ったかもしれない一組の可能な動作(例えば、商品を手に取ること、元に戻すこと、又は、移動させること)のうちの各動作に関連付けられた確率を含んでいてもよい。最も高い確率を有する商品及び動作を選択して、商品格納エリアと相互作用した人に帰属させてもよい。
1つ又は複数の実施形態では、店舗内のカメラは、店舗の天井に取り付けられた天井カメラを含んでいてもよい。これらの天井カメラは、例えば、魚眼カメラであってもよい。店舗内の人を追跡することは、天井カメラからの画像を床に平行な平面に投影すること、及び、投影画像を分析することを含み得る。
1つ又は複数の実施形態では、各投影画像から店舗背景画像を減算し、差分を組み合わせて、組み合わされたマスクを形成することによって、投影画像を分析してもよい。組み合わされたマスクにおいて、人の位置は、高強度位置として識別され得る。
1つ又は複数の実施形態では、人が各位置に居る可能性を含む強度マップを出力する機械学習システムに投影画像を入力することによって、投影画像を分析してもよい。機械学習システムは、例えば、畳み込みニューラルネットワークであってもよい。1つ又は複数の実施形態において使用され得る例示的なニューラルネットワーク構造は、特徴抽出ネットワークのコピーから成る第1の半体サブネットワークであって、各投影画像につき1つのコピーを有する第1の半体サブネットワーク、特徴抽出ネットワークのコピーからの出力を組み合わせる特徴合併層、及び、組み合わされた特徴を強度マップにマップする第2の半体サブネットワークから成る。
1つ又は複数の実施形態では、さらなる位置マップ入力が、機械学習システムに提供され得る。各位置マップは、天井カメラに対応し得る。位置マップの各位置における値は、位置と天井カメラとの間の距離に相関していてもよい。位置マップは、例えば、各投影画像に関連付けられたさらなるチャンネルとして、畳み込みニューラルネットワークに入力され得る。
1つ又は複数の実施形態では、人の追跡された位置は、単一の点であってもよい。これは、天井カメラ画像が投影される床に平行な平面といった平面上の点であってもよい。1つ又は複数の実施形態では、人の周りの影響体積域は、例えば、円筒形といった標準化された形状の並進コピーであってもよい。
1つ又は複数の実施形態は、1つ又は複数のモジュール式棚を含んでいてもよい。各モジュール式棚は、棚の底部に少なくとも1つのカメラモジュールと、棚の底部に少なくとも1つの照明モジュールと、棚の左端に取り付けられた又は近接した右を向いたカメラと、棚の右端に取り付けられた又は近接した左を向いたカメラと、プロセッサと、ネットワークスイッチと、を備えていてもよい。カメラモジュールは、2つ以上の下を向いたカメラを備えていてもよい。
モジュール式棚は、商品格納エリアとして機能し得る。1つの棚における下を向いたカメラは、下方の棚の上の商品を表示する。
モジュール式棚におけるカメラモジュール及び照明モジュールの位置は、調節可能であり得る。モジュール式棚は、カメラモジュール及び照明モジュールが取り付け及び調節され得るフロントレール及びバックレールを有していてもよい。カメラモジュールは、下を向いたカメラが取り付けられる1つ又は複数のスロットを含んでいてもよい。スロットにおける下を向いたカメラの位置は、調節可能であり得る。
1つ又は複数の実施形態は、モジュール式天井を含んでいてもよい。モジュール式天井は、店舗の天井に取り付けられた縦レール、及び、縦レールに取り付けられた1つ又は複数の横レールを有していてもよい。縦レールに沿った各横レールの位置は、調節可能であり得る。各横レールに、1つ又は複数の照明カメラ一体型モジュールが取り付けられていてもよい。各照明カメラ一体型モジュールの位置は、横レールに沿って調節可能であり得る。1つの照明カメラ一体型モジュールは、中央エリアを取り囲む照明素子と、中央エリア内に取り付けられた2つ以上の天井カメラを含んでいてもよい。天井カメラは、カメラモジュールの、カメラが取り付けられる1つ又は複数のスロットを有する中央エリアに取り付けられていてもよく、スロット内のカメラの位置は、調節可能でありえる。
本発明の1つ又は複数の実施形態は、複数のカメラからの投影画像を組み合わせることによって、商品格納エリア内の商品を追跡してもよい。このシステムは、買い物客が商品格納エリアに到達した、又は、これから退出した時を検出するセンサに結合されたプロセッサを含み得る。このセンサは、買い物客が商品格納エリアの中に、又は、これに向かって到達したことを検出すると、入場信号を生成してもよく、買い物客が商品格納エリアから退出したことを検出すると、退出信号を生成してもよい。プロセッサはまた、商品格納エリアを表示する複数のカメラに結合されていてもよい。プロセッサは、入場信号の前に撮像された各カメラからの「事前」画像、及び、退出信号の後に撮像された各カメラからの「事後」画像を取得してもよい。プロセッサは、これらの画像の全てを商品格納エリア内の複数の平面上に投影してもよい。投影された事前画像及び投影された事後画像を分析して、入場信号と退出信号との間に商品格納エリアから取り出された又はこれに戻された商品を識別し、この商品を、商品格納エリアに相互作用した買い物客に関連付けてもよい。
投影された事前画像及び投影された事後画像を分析することは、入場信号の前の商品格納エリアの内容物と、退出信号の後の商品格納エリアの内容物との間の3D体積差分を算出することを含んでいてもよい。3D体積差分が、内容物が退出信号の後に少なくなっていることを示している場合、システムは、投影された事前画像のうちの1つの事前画像の全て又は一部を、分類器に入力してもよい。3D体積差分が、内容物が退出信号の後に大きくなっていることを示している場合、システムは、投影された事後画像のうちの1つの事後画像の全て又は一部を、分類器に入力してもよい。分類器の出力を、商品格納エリアから取り出された、又は、これに戻された1つ(又は複数)の商品の識別として用いてもよい。分類器は、例えば、商品の画像を認識するように訓練されたニューラルネットワークであってもよい。
プロセッサはまた、商品格納エリアから取り出された、又は、これに戻された商品の量を、3D体積差分から算出し、この量を買い物客に関連付けてもよい。例えば、このシステムは、分類器によって識別された1つ(又は複数)の商品の寸法を得て、この寸法を3D体積差分と比較して量を算出してもよい。
プロセッサはまた、3D体積差分が、相互作用の後に商品格納エリアの内容物が小さくなっているか、又は、大きくなっているかを示していることに基づいて、買い物客の動作と商品とを関連付けてもよい。内容物が大きくなっている場合、プロセッサは、戻す動作を買い物客に関連付け、内容物が小さくなっている場合、プロセッサは、取る動作を買い物客に関連付けてもよい。
1つ又は複数の実施形態は、投影された事前画像から、商品格納エリアの内容物の「事前」3D表面を生成してもよく、投影された事後画像から、当該内容物の「事後」3D表面を生成してもよい。これらの表面を生成するために、例えば、平面掃引ステレオといったアルゴリズムを用いてもよい。3D体積差分は、これらの表面の間の体積として算出され得る。事前及び事後の画像が投影される平面は、商品格納エリア(棚等)の表面に並行であってもよいし、又は、これらの平面のうちの1つ又は複数は、このような表面に並行でなくてもよい。
1つ又は複数の実施形態は、各投影面における変化領域を算出し、これらの変化領域を1つの変化体積に組み合わせてもよい。事前3D表面及び事後3D表面を、変化体積においてのみ算出してもよい。投影面の変化領域は、各カメラについて、当該平面内の各事前投影画像と当該平面内の各事後投影画像との間の画像差分を形成し、カメラにわたるこれらの差分を組み合わせることによって、算出され得る。カメラにわたるこれらの差分を組み合わせることは、当該画像差分における平面内の点と関連付けられたカメラとの間の距離に基づいて各差分における画素に重み付けを行ってもよく、組み合わされた変化領域を、カメラ間の加重平均として形成してもよい。画像差分は、例えば、事前投影画像と事後投影画像との間の絶対画素差分であり得る。1つ又は複数の実施形態は、これに代えて、事前及び事後の画像をニューラルネットワークに入力して、画像差分を生成してもよい。
1つ又は複数の実施形態は、モジュール式棚を含み得る。モジュール式棚は、商品格納エリア(例えば、棚の下)を監視する複数のカメラ、端部に取り付けられた左及び右を向いたカメラ、棚プロセッサ、及び、ネットワークスイッチを備えている。画像を分析するプロセッサは、店舗プロセッサ及び棚プロセッサを含むプロセッサのネットワークであってもよい。左及び右を向いたカメラ、並びに、プロセッサは、買い物客が商品格納エリアに到達、又は、これから退出した時を検出して、関連付けられた入場及び退出信号を生成するためのセンサを提供してもよい。棚プロセッサは、カメラ画像を格納するメモリに結合されていてもよく、入場信号が受信されると、棚プロセッサは、このメモリから事前画像を読み出してもよい。棚プロセッサは、分析のために、事前画像を店舗プロセッサに送信してもよい。カメラ又はメモリから、事後画像を得てもよく、これらを、分析のために店舗コンピュータに送信してもよい。
1つ又は複数の実施形態は、投影された事前画像及び投影された事後画像を、これら又はこれらの一部をニューラルネットワークに入力することによって分析してもよい。ニューラルネットワークは、入場信号と退出信号との間に、商品格納エリアから取り出された又はこれに戻された1つまたは複数の商品の識別を出力するように訓練されていてもよい。ニューラルネットワークはまた、商品が格納エリアから取り出されたか、又は、これに戻されたかを示す動作を出力するように、訓練されていてもよい。1つ又は複数の実施形態は、各入力画像に適用される特徴抽出層、これに続いて、各事前画像と対応する各事後画像との間の特徴差分を算出する差分層、これに続いて、1つ又は複数の畳み込み層、これに続いて、商品分類器層、及び、動作分類器層を含むニューラルネットワークを使用してもよい。
1つ又は複数の実施形態は、量センサとカメラ画像とを組み合わせて、買い物客によって追加又は除去された商品を検出及び識別してもよい。棚といった格納エリアを1つ又は複数の格納区域に分割して、各区域に量センサを関連付けてもよい。量センサによって生成された量信号を、区域内の商品の数に関連させてもよい。1つ又は複数のプロセッサは、量信号を分析して、いつ及びどこで買い物客が商品を追加又は除去したかを判定し、どれくらいの数の商品が影響を受けたかを判定してもよい。その後、買い物客が動作を行う前後の、影響を受けた格納エリアのカメラ画像を取得してもよい。これらの画像は、商品格納エリア内の平面に投影され、追加又は除去された1つまたは複数の商品を識別するために分析され得る。1つまたは複数の商品及び量の変化が、その後、この動作を行った買い物客に関連付けられ得る。
カメラ画像が投影される平面は、商品格納エリアの正面に沿った又はこれに近接した垂直平面であってもよい。影響を受けた格納区域に対応する投影画像の領域を分析して、追加又は除去された商品を識別してもよい。量信号が量の増加を示しているならば、投影された事後画像を分析してもよく、量信号が量の減少を示しているならば、投影された事前画像を分析してもよい。影響を受けた格納区域に対応する事前及び事後の画像の領域を、商品をその画像に基づいて識別するように訓練されたニューラルネットワークといった、分類器に入力してもよい。
例示的な格納区域は、可動式背面を有していてもよく、可動式背面は、買い物客が商品を除去した時に、格納区域の正面に向かって移動し、買い物客が商品を追加した時に、正面から離反するように移動する。この種の格納区域における量を測定する量信号は、例えば、可動式背面の位置に関連付けられ得る。例えば、LIDAR又は超音波距離計といった距離センサが、可動式背面までの距離を測定してもよい。区域内の商品の量を追跡するには、単一画素LIDARで十分であろう。
他の例示的な格納区域は、商品がぶら下がっているつり下げ台を有していてもよい。この区域に関連付けられた量信号は、商品の重量であり得る。この重量は、例えば2つ以上の歪みゲージにより測定され得る。
第3の例示的な格納区域は、商品が中に入った貯蔵部であってもよく、この貯蔵部用の量センサは、貯蔵部の中の商品の重量を測定する重量計であってもよい。
店舗の中を通る買い物客を追跡することによって判定されるような買い物客の3D影響体積域の位置を用いて、各カメラが、商品が追加又は除去された格納区域の遮られていないビューを有する場合を判定してもよい。遮られていないカメラ画像を用いて、影響を受けた商品の識別を判定してもよい。
本特許又は出願ファイルは、少なくとも1つのカラー図面を含む。カラー図面付きの本特許又は特許出願公開のコピーは、必要な手数料を支払えば、特許庁により提供される。
本発明の上述及び他の態様、特徴、及び、利点は、以下の図面に合わせて提供される、以下のより詳細な説明からより明らかとなろう。
店舗内のカメラからの画像を分析して、人が棚から製品を取り除いたことを検出する、本発明の一実施形態の動作を示す。
引き続き図1に示される例を説明するものであり、人が商品を持ってこの店舗を出ていく時の自動化チェックアウトを示す。
時間的に前後する棚の画像をニューラルネットワークに供給して、どの商品が手に取られたか、移動されたか、又は、元に戻されたかを検出することによって、商品が棚から取り除かれたと判定する方法を説明する図であり、ニューラルネットワークは、本発明の1つ又は複数の実施形態では、例えば2つの画像入力を有するシャムニューラルネットワークによって実装され得る。
図3に示されるニューラルネットワークの訓練を示す。
買い物客が手に取った商品の検出に対して、手動で再検討及び訂正することを許可する一実施形態、及び、訂正された例によるニューラルネットワークの再訓練を示す。
店舗内の人を、身体測定値及び衣服の色といった際立った特徴に基づき識別する、例示的な一実施形態を示す。
本発明の1つ又は複数の実施形態が、どのように、人体上の目印を探して、これらの目印からの離隔距離を算出することによって、人の周りの影響体積域を判定するかを説明する。
本発明の1つ又は複数の実施形態が、どのように、人体上の目印を探して、これらの目印からの離隔距離を算出することによって、人の周りの影響体積域を判定するかを説明する。
本発明の1つ又は複数の実施形態が、どのように、人体上の目印を探して、これらの目印からの離隔距離を算出することによって、人の周りの影響体積域を判定するかを説明する。
本発明の1つ又は複数の実施形態が、どのように、人体上の目印を探して、これらの目印からの離隔距離を算出することによって、人の周りの影響体積域を判定するかを説明する。
本発明の1つ又は複数の実施形態が、どのように、人体上の目印を探して、これらの目印からの離隔距離を算出することによって、人の周りの影響体積域を判定するかを説明する。
人体上の目印の位置の確率分布を算出して、特定量の確率分布を含むように体積を設定することにより、人の周りの影響体積域を判定する別の方法を示す。
人体上の目印の位置の確率分布を算出して、特定量の確率分布を含むように体積を設定することにより、人の周りの影響体積域を判定する別の方法を示す。
店舗の中を通る人の動きを追跡する例示的方法を示し、この方法は、人の状態の確率分布用の粒子フィルタを、運動予測用の物理モデル、及び、カメラ画像投影監視に基づく測定モデルと共に使用する。
1つ又は複数の実施形態が、どのように、人の影響域の追跡と商品の動きの検出とを組み合わせて、当該動作を人に帰属させるかを示すための概念モデルである。
棚等の商品格納エリアを人の影響体積域と交差させ、交差領域の画像を商品検出用のニューラルネットワークに供給することによって、商品移動を人に帰属させる一実施形態を示す。
店舗内の2人を追跡して、追跡されている2人のうちの一方が商品を手に取った時を検出するシステムの一実施形態のスクリーンショットを示す。
図11の商品格納エリアのスクリーンショットを示し、店舗内の人によって移動された商品を検出するために、どのように、商品格納エリアの2つの異なる画像がニューラルネットワークに入力され得るかを示している。
図12におけるニューラルネットワークの分類の結果を示しており、店舗内の人には、当該人が移動させた又は触れた商品がタグ付けされている。
店舗内の人を識別し、その人の識別された目印の周りに3D影響体積域を構築する一実施形態のスクリーンショットを示す。
図14の人が店舗の中を移動している時の当該人の追跡を示す。
多種類のカメラ較正訂正を画像に適用する一実施形態を示す。
店舗中に配置されたマーカーの画像を撮像することによってカメラ較正データを生成し、また、店舗内の及び経時的な、ぼかし、彩度、又は、輝度変化による色の変化を訂正する一実施形態を示す。
カメラの数、及び、カメラ視野がカバーする商品の範囲を測定する費用関数を繰り返し最適化することによって、店舗にとって最適なカメラ構成を算出する一実施形態を示す。
ガソリンスタンドにおいて設営された、ガソリンポンプにおけるカードリーダからの承認を拡張して店舗への自動アクセスを提供する一実施形態を示す。店舗では、人が商品を選び、当該製品に対して自動的にカード口座に請求され得る。
ポンプで支払いを済ませた人が、製品が入った施錠されたケースの傍に来ると、当該ケースが自動的に開錠される、図19の実施形態の一変形を示す。
引き続き図20の例を示すものであり、人がケースから取り出した製品が、カメラ又は他のセンサによって追跡され、ポンプにおいて使用されたカード口座に請求され得ることを示す。
引き続き図19の例を示すものであり、一旦店舗に入った人を追跡し、画像を分析して、その人がどんな製品を手に取ったかを判定し、ポンプにおいて使用されたカード口座に請求することを示す。
人が商品を手に取り、その後しばらくして元に戻し、結果として当該商品がその人に請求されないことを示す、図22の例の一変形である。
ポンプにおいて得られた承認を車の中の一群の人に適用する、図19の例の他の一変形である。
承認を、ポンプから、ユーザ又は車の中の他の乗員による店舗における購入まで拡張するかどうかを当該ユーザに尋ねる一実施形態を示す。
承認を、ポンプから、ユーザ又は車の中の他の乗員による店舗における購入まで拡張するかどうかを当該ユーザに尋ねる一実施形態を示す。
承認を、ポンプから、ユーザ又は車の中の他の乗員による店舗における購入まで拡張するかどうかを当該ユーザに尋ねる一実施形態を示す。
店舗の中を通る人を追跡するために使用され得る6個の天井取付式魚眼カメラのうちの1つからの例示的なカメラ画像を示す。
店舗の中を通る人を追跡するために使用され得る6個の天井取付式魚眼カメラのうちの1つからの例示的なカメラ画像を示す。
店舗の中を通る人を追跡するために使用され得る6個の天井取付式魚眼カメラのうちの1つからの例示的なカメラ画像を示す。
店舗の中を通る人を追跡するために使用され得る6個の天井取付式魚眼カメラのうちの1つからの例示的なカメラ画像を示す。
店舗の中を通る人を追跡するために使用され得る6個の天井取付式魚眼カメラのうちの1つからの例示的なカメラ画像を示す。
店舗の中を通る人を追跡するために使用され得る6個の天井取付式魚眼カメラのうちの1つからの例示的なカメラ画像を示す。
図26A〜26Fの魚眼カメラ画像のうちの3つのうちの1つを、床から1メートル上の水平面上に投射した様子を示す。
図26A〜26Fの魚眼カメラ画像のうちの3つのうちの1つを、床から1メートル上の水平面上に投射した様子を示す。
図26A〜26Fの魚眼カメラ画像のうちの3つのうちの1つを、床から1メートル上の水平面上に投射した様子を示す。
例えば、バックグラウンド除去法又は動きフィルタリングによって判定されたような、図27Aにおけるフォアグラウンド対象物のバイナリマスクを示す。
例えば、バックグラウンド除去法又は動きフィルタリングによって判定されたような、図27Bにおけるフォアグラウンド対象物のバイナリマスクを示す。
例えば、バックグラウンド除去法又は動きフィルタリングによって判定されたような、図27Cにおけるフォアグラウンド対象物のバイナリマスクを示す。
全てのカメラ画像投影を組み合わせて店舗内の人の位置を判定する合成フォアグラウンドマスクを示す。
6個の魚眼カメラのうちの1つのカメラから見た、店舗内にいる人のうちの1人の周りに生成された円筒形を示す。
6個の魚眼カメラのうちの1つのカメラから見た、店舗内にいる人のうちの1人の周りに生成された円筒形を示す。
6個の魚眼カメラのうちの1つのカメラから見た、店舗内にいる人のうちの1人の周りに生成された円筒形を示す。
6個の魚眼カメラのうちの1つのカメラから見た、店舗内にいる人のうちの1人の周りに生成された円筒形を示す。
6個の魚眼カメラのうちの1つのカメラから見た、店舗内にいる人のうちの1人の周りに生成された円筒形を示す。
6個の魚眼カメラのうちの1つのカメラから見た、店舗内にいる人のうちの1人の周りに生成された円筒形を示す。
図29Aに示される円筒形の上に6個の魚眼カメラビューのうちの1つを投影したものを示す。
図29Bに示される円筒形の上に6個の魚眼カメラビューのうちの1つを投影したものを示す。
図29Cに示される円筒形の上に6個の魚眼カメラビューのうちの1つを投影したものを示す。
図29Dに示される円筒形の上に6個の魚眼カメラビューのうちの1つを投影したものを示す。
図29Eに示される円筒形の上に6個の魚眼カメラビューのうちの1つを投影したものを示す。
図29Fに示される円筒形の上に6個の魚眼カメラビューのうちの1つを投影したものを示す。
図30A〜30Fの6つの投影の合成を示す。
上述の魚眼カメラを用いた人追跡システムの一実施形態の2つの異なる時点におけるスクリーンショットのうちの1つを示す。
上述の魚眼カメラを用いた人追跡システムの一実施形態の2つの異なる時点におけるスクリーンショットのうちの1つを示す。
機械学習システムを使用して、カメラ画像から人の位置を検出する、例示的な一実施形態を示す。
機械学習システムによって生成された、人の位置の周りの3D又は2D影響域の生成を示す。
天井カメラ画像を床に平行な平面上に、当該平面上の同じ人の位置に対応する画素が投影画像において揃うように投影した状態を示す。
投影画像及び機械学習を人検出に用いる本発明の実施形態を説明するための、図35〜41において使用される人工的3Dシーンを示す。
投影画像及び機械学習を人検出に用いる本発明の実施形態を説明するための、図35〜41において使用される人工的3Dシーンを示す。
当該シーンにおける、天井カメラによって撮像された魚眼カメラ画像を示す。
共通平面上に投射された、図35の魚眼カメラ画像を示す。
図36の投影画像を重ね合わせて、投影面の交差における人の画素の一致を示す。
投影画像を位置重みマップにより補強する例示的な一実施形態を示し、位置重みマップは、各画像を撮像するカメラから各点までの距離を反映している。
ある店舗内の各カメラからの入力による例示的な機械学習システムを示し、各入力は、3つの色チャンネルに1つの位置重みチャンネルが加えられた4つのチャンネルを有している。
カメラ画像から人を検出するために1つ又は複数の実施形態において使用され得る、例示的なニューラルネットワーク構造を示す。
機械学習人検出システム用の訓練データを生成する例示的な工程を示す。
棚の上の商品の移動を検出するためにカメラ、照明、プロセッサ、および、通信装置が搭載されたモジュール式「スマート」棚を備える例示的な店舗を示す。
スマート棚の例示的な一実施形態を示す正面図である。
図43のスマート棚の上面図である。
図43のスマート棚の側面図である。
図43のスマート棚の底面図である。
構成要素を示すために電子機器カバーを取り外した、図44Cのスマート棚の底面図である。
図45のスマート棚に搭載され得るカメラモジュールの底面図である。
図45のスマート棚に搭載され得るカメラモジュールの側面図である。
図45のスマート棚において使用され得る、照明及びカメラモジュールを棚に沿った任意の所望の位置に取り付け可能にするレール取り付けシステムを示す。
カメラ及び照明モジュールを、任意の所望の位置及び間隔で取り付け可能なモジュール式「スマート」天井システムを備える例示的な店舗を示す。
照明カメラ一体型モジュールを任意の所望の水平位置に取り付けることを支援する、例示的なスマート天井システムを示す。
図49のスマート天井システムの一部を示す拡大図であり、主縦レールと、照明カメラ一体型モジュールが取り付けられた可動式横レールとを示す。
図50の照明カメラ一体型モジュールの拡大図である。
3つの機能、すなわち、(1)店舗の中を通る買い物客を追跡する機能、(2)買い物客と棚の商品との相互作用を追跡する機能、及び、(3)棚の商品の移動を追跡する機能を行う部品を備える自律店舗システムを示す。
買い物客が商品を棚から取るために相互作用する自律店舗の例示的な棚の図であり、この相互作用の後の棚を示す。
買い物客が商品を棚から取るために相互作用する自律店舗の例示的な棚の図であり、買い物客が商品を手に取るために棚に達する前の棚を示す。
棚又は他の格納エリアの商品の除去、追加、及び、移動を判定するために、1つ又は複数の実施形態において使用され得る工程の例示的なフローチャートを示し、この工程は、複数のカメラから複数の表面への投影画像を組み合わせて、変化を判定するものである。
ユーザが棚と相互作用する前後のカメラ画像を得るために使用され得る部品を示す。
商品格納エリア内の例示的な平面上にカメラ画像を投影したものを示す。
商品格納エリア内の例示的な平面上にカメラ画像を投影したものを示す。
商品が追加又は除去されたかもしれない領域を判定するための、「事前」及び「事後」の投影画像の例示的な比較を示す。
サンプル棚からの実際の画像に適用される、図57Aの比較工程を示す。
複数のカメラからの画像差分と、各カメラからの各投影画素の距離に基づいて各画像差分に付与される重みとを組み合わせる、例示的な工程を示す。
複数の投影面における画像差分を組み合わせて、商品が移動したかもしれない変化体積を判定することを説明する図である。
相互作用の前後の棚の内容物の3D体積差分を構築するために、買い物客が相互作用する前後の投影画像平面を用いた変化体積の例示的な掃引を示す。
2つのカメラからのサンプル棚の例示的な平面掃引であり、異なる対象物に対して、これらの対象物の高さに相当する異なる平面において、焦点が合わされた状態を示す。
画像分類器を用いた商品の識別、及び、棚に追加された又は棚から除去された商品の量の算出を説明する図である。
買い物客によって移動された商品、及び、これらの商品に対して買い物客が取った行動、例えば、棚から取ったこと、又は、棚に戻したことを識別するために、1つ又は複数の実施形態において使用され得るニューラルネットワークを示す。
天井カメラによる人追跡と、棚に結合された量センサによる動作検出と、店舗カメラによる商品の識別とを組み合わせた、本発明の一実施形態を示す。
買い物客の移動及び買い物客の動作の分析を可能にするために使用され得る、例示的なセンサの種類の一構造を示す。
商品が区域内に配置された例示的な棚であって、商品が取り出されると、棚の前方に向かって商品を押し出す可動式背面を備える棚を示す。各区域には、可動式背面までの距離を測定するセンサが関連付けられている。
図66Aの棚の上面図である。
センサユニットを有する例示的なモジュール式センサバーを示し、センサユニットは、当該バーに沿って滑動して、様々な寸法及び位置の商品格納区域に適合する。
図66Cのモジュール式センサバーの画像を示す。
可動式背面までの距離を入力データとして用いて、格納区域における商品の量を算出するための例示的な方法を示す。
図66Aに示される実施形態からのデータを用いて、動作検出を説明する図である。
量センサが一体化された棚の別の実施形態を示し、本実施形態は、量を判定するために、重量センサを備えるつり下げ棒を使用する。
図69Aの実施形態の格納区域を示す側面図であり、つり下げ棒に結合された歪みゲージセンサを使用して商品の量を算出することを示している。
量センサを備える棚の他の実施形態を示し、本実施形態は、真下に重量測定センサが置かれた貯蔵部を使用する。
図70Aからの一貯蔵部を示す側面図である。
量センサが一体化された一実施形態を用いた、密に充填された棚を示す。
買い物客が図71の実施形態の棚から商品を取る時の、例示的なデータフロー及び処理ステップを示す。
製品が異なる投影カメラ画像内の同一の位置になるように、棚ユニットの正面に投影された、店舗からの例示的なカメラ画像を示す。
図72Aの例の一変形を示す。このシステムは、人追跡と商品追跡とを組み合わせて、商品が取り出された格納区域が隠れていないビューを有している1つ又は複数のカメラを判定する。
発明の詳細な説明
例えば、買い物客及び商品を追跡する自律店舗システムにおいて使用されるような、画像センサと量センサとを一体化したスマート棚システムを、以下に説明する。実施形態は、カメラ画像を分析することによって人を追跡してもよく、これによって、1つの時点及び空間において当該人が得た承認を別の時点又は空間に拡張してもよい。実施形態はまた、カメラ画像を分析する自律店舗システムが、人を追跡すること、及び、当該人が商品と相互作用することを可能にしてもよく、カメラ較正、最適カメラ配置、及び、コンピュータと販売時点情報管理システムとの相互作用を可能にしてもよい。コンピュータの相互作用は、例えば、モバイル機器及び販売時点情報管理システムに関係し得る。以下の模範的な説明では、本発明の実施形態のより完全な理解を提供するために、多数の具体的な詳細について説明する。しかしながら、ここに記載される具体的な詳細の全ての態様を組み込まなくても、本発明は実施可能であることは、当業者には明らかであろう。他の例では、本発明を曖昧にしないように、当業者に公知である具体的な特徴、量、又は、測定値は詳細には説明しない。本発明の例をここで説明するが、特許請求項の範囲、及び、任意の同等物の全範囲が、本発明の範囲を規定するものであることに、読者は注意されたい。
図1は、自動化店舗の一実施形態を示す。店舗とは、任意の種類の商品が配置、格納、販売、若しくは陳列された又は人が移動する任意の位置、建物、部屋、エリア、領域、又は、場所であり得る。例えば、店舗とは、小売店、倉庫、博物館、美術館、モール、陳列室、教育施設、公共の場、ロビー、事務所、家、アパート、寮、若しくは、病院、又は、他の保健医療施設であり得るが、これらに限定されない。店舗内に配置された商品は、どんな種類のものであってもよく、販売用又は貸出し用の製品を含むが、これらに限定されない。
図1に示される例示的な実施形態では、店舗101は、本例では棚である、商品格納エリア102を有している。商品格納エリアは、任意の種類、寸法、形状、及び、位置を有していてもよい。商品格納エリアは、固定寸法を有していてもよいし、又は、可変の寸法、形状、又は、位置を有していてもよい。商品格納エリアは、例えば、棚、貯蔵部、床、ラック、冷蔵庫、冷凍庫、クローゼット、ハンガー、カート、コンテナ、ボード、フック、又は、分注器を含んでいてもよいが、これらに限定されない。図1の例では、商品格納エリア102に、商品111、112、113、及び、114が配置されている。店舗内には、カメラ121及び122が配置されており、店舗及び商品格納エリアの全体又は一部を監視するように位置決めされている。これらのカメラからの画像を分析して、店舗内の人103等の人の存在及び動作を判定し、具体的には、店舗内における当該人と商品111〜114との相互作用を判定する。1つ又は複数の実施形態では、カメラ画像は、単に、人や人と商品との相互作用を追跡するために必要とされる、又は、使用される入力であってもよい。1つ又は複数の実施形態では、カメラ画像データは、人や人と商品との相互作用を追跡するために、他の情報で補強されていてもよい。このシステムの1つ又は複数の実施形態は、例えば、RFIDタグ等の任意の識別タグ、又は、各商品と関連付けられた他の非画像ベースの識別子を使用せずに、画像を利用して人や人と商品との相互作用を追跡してもよい。
図1は、2つのカメラ、すなわち、カメラ121及びカメラ122を示している。1つ又は複数の実施形態では、任意の数のカメラを使用して、人及び商品を追跡してもよい。カメラは、任意の種類のものであってよく、例えば、カメラは、2D、3D、又は、4Dカメラであってもよい。3Dカメラとは、ステレオカメラであってもよいし、又は、深度情報を得るために、距離計といった他の技術を使用してもよい。1つ又は複数の実施形態は、単に、2Dカメラを使用していてもよいし、例えば、複数の2Dカメラからの人及び商品のビューを三角測量することによって、3D位置を判定してもよい。4Dカメラは、時間に応じた深度を収集又は算出することも可能な、例えば、3Dビデオカメラといった任意の種類のカメラを含み得る。
カメラ121及び122は、商品格納エリア102、並びに、人が移動し得る店舗101の1つ又は複数の領域を監視する。異なるカメラが、店舗の異なる商品格納エリア又は異なる領域を監視してもよい。1つ又は複数の実施形態では、カメラは、重複ビューを有していてもよい。店舗の中を移動する人を追跡することは、複数のカメラを必要とし得る。なぜなら、幾つかの実施形態では、1つのカメラが店舗全体のビューを有することは出来ないからである。
カメラ画像がプロセッサ130に入力され、プロセッサ130は、当該画像を分析して、店舗内の人及び商品を追跡する。プロセッサ130は、1つ又は複数の任意の種類のコンピュータ又は他の装置であってよい。1つ又は複数の実施形態では、プロセッサ130は、複数のプロセッサのネットワークであり得る。プロセッサ130がプロセッサのネットワークである場合、当該ネットワーク内の異なるプロセッサが、異なるカメラからの画像を分析してもよい。当該ネットワーク内のプロセッサは、情報を共有すると共に協働し、任意の所望の方法で画像を分析してもよい。1つ又は複数のプロセッサ130は、店舗101の現地若しくは現地外に配置されていてもよく、又は、現地若しくは現地外の処理の組み合わせを行ってもよい。カメラ121及び122は、有線又は無線接続を含む1つ又は複数の任意の種類のネットワーク又はリンクを介して、データをプロセッサに送信してもよい。プロセッサ130は、メモリ、RAM、又は、ディスクを含むか、又は、これに結合されており、非一時的データ格納用コンピュータ読み取り可能な媒体として利用されてもよく、本発明の実施形態は、この媒体を、ここで詳細に説明する全ての機能を実施するために利用する、あるいは含んでいてもよい。
1つ又は複数のプロセッサ130は、店舗の3Dモデル131にアクセス又はこれを受信してもよく、この3Dモデルを使用してカメラ画像を分析してもよい。モデル131は、例えば、店舗の寸法、商品格納エリア及び商品の位置、及び、カメラの位置及び向きを表し得る。このモデルは、例えば、店舗の間取図や、棚やディスプレイといった商品格納エリアのモデルを含んでいてもよい。このモデルは、例えば、全ての棚ユニットの位置、その高さ、及び、その上にどんな商品が配置されるかを詳細に示す、店舗のプラノグラムから作成してもよい。プラノグラムは、小売スペースにおいて一般的であり、多くの店舗で利用可能なはずである。このプラノグラムを使用して、測定値を、例えば、3次元CADパッケージを用いた3Dモデルに変換可能である。
プラノグラムが利用可能でない場合、商品格納位置を得るために他の技術を使用してもよい。1つの例示的な技術は、店舗内の全ての棚及びディスプレイの位置、形状、及び、寸法を測定することである。その後、これらの測定値を直接、プラノグラム又は3次元CADモデルに変換することができる。第2の例示的技術は、壁、床、及び、天井を含む店舗内の全ての表面を、一連の画像として撮像することを含む。各表面が少なくとも2つの画像において視認可能である程度に十分な数の画像を撮像してもよい。画像は、静止画像又は映像フレームであり得る。これらの画像を使用して、店舗の完全なモデルを3Dで再生する標準3D再生技術を使用可能である。
1つ又は複数の実施形態では、カメラ画像を分析するために使用される3Dモデル131は、場所の一部だけを表してもよいし、又は、場所の選択された特徴だけを表してもよい。例えば、3Dモデル131は、当該場所の1つ又は複数のカメラの位置及び向きだけを表してもよく、すなわち、この情報は、例えばカメラパラメータの外部較正から得てもよい。基本的な最少3Dモデルは、このカメラ情報だけを含み得る。1つ又は複数の実施形態では、店舗内の人の位置を特定の製品格納エリアと関連付けることといった特定の用途において、3Dモデルに、店舗の全体又は一部を示す形状が加えられていてもよい。カメラ画像の分析に影響を与え得るオクルージョンを判定するために、3Dモデルを用いてもよい。例えば、3Dモデルは、人がキャビネットの背後におり、従って、キャビネットによってカメラの視点から遮られて見えなくなっている(オクルージョン)と判定してもよい。すなわち、人の追跡、又は、人の外観の抽出では、このように、人が見えなくなっている間は、当該カメラからの画像を使用しなくてもよい。
カメラ121及び122(並びに、もしあるなら、店舗101内の他のカメラ)は、エリア102といった商品格納エリア、及び、人が入場、退出、又は、巡回する店舗のエリアを監視してもよい。カメラ画像を時間と共に分析することによって、プロセッサ130は、人が店舗の中を移動する時に追跡可能である。例えば、人103は、時間141において、商品格納エリア102の近傍で立っている状態で監視され、時間142には、人103が商品格納エリアから去ってしまった後である。場合によっては複数のカメラを使用して人の位置と3D店舗モデル131とを三角測量することによって、プロセッサ130は、人103が棚の上の商品を移動させるために、時間141において商品格納エリア102に十分近づいていることを検出し得る。時間141及び142における格納エリア102の画像を比較することによって、システムは、商品111が移動されたことを検出し、この動作を人103に帰属させることができる。なぜなら、この人は、時間141と時間142との時間範囲において、当該商品の近くに居たからである。したがって、システムは、人103が商品111を棚102から取ったという情報150を導き出す。この情報を、例えば、自動チェックアウト、万引き検出、買い物客の行動若しくは店舗組織の分析、又は、他の何らかの目的に用いてもよい。この例示的な例では、追跡目的で、人103に、匿名タグ151が付される。このタグは、例えば買い物客のクレジットカード情報といった他の情報に、相互参照されてもよいし、されなくてもよい。すなわち、1つ又は複数の実施形態では、このタグは完全に匿名であり、店舗の中を通る人を追跡するためだけに使用され得る。これによって、この特定のユーザは誰かということを識別しなくても、人を商品に関連付けることが可能になる。これは、人が、通常、病気の時にマスクを使用する場所や、例えば顔を覆う他の衣服を身に着けている場所では、重要である。また、電子デバイス119が示されている。電子デバイス119は、通常、ディスプレイを備えており、システムがこのディスプレイを利用して、人の商品リスト、つまり買い物カート一覧を表示したり、例えばこのディスプレイを用いて、人がその商品の支払いを行ったりできる。
1つ又は複数の実施形態では、カメラ画像には、どの商品が除去されたか、又は、取り出された又は取り分けられた商品の量を判定するために、他のセンサデータが追加されていてもよい。例えば、棚102等の製品棚は、製品が手に取られた、移動された、又は、棚に戻されたことを検出する支援を行う重量センサ又は動きセンサを有していてもよい。1つ又は複数の実施形態は、取り出された又は取り分けられた製品の量を示すデータを受信及び処理してもよく、この量を人に帰属させ、例えば、その量を当該人の口座に請求することができる。例えば、飲料等の液体の分注器は、分注された液体の量を測定する流量センサを有していてもよい。すなわち、流量センサからのデータを、システムに送信して、この量を、分注時に分注器に近接していた人に帰属させてもよい。人は、分注されるべき商品又は量を判定するために、ボタンを押してもよいし、又は、他の入力を提供してもよく、すなわち、ボタン又は他の入力装置からのデータは、システムに送信されて、人に帰属させるべき商品及び量を判定してもよい。
図2は、図1の例を引き続き説明するものであり、自動化チェックアウトを示す。1つ又は複数の実施形態では、プロセッサ130又は連結された別のシステムにより、人103が店舗を出ていくこと、又は、自動化チェックアウトエリアに入っていることが検出され得る。例えば、カメラ202といった1つ又は複数のカメラが、人103が店舗を出ていく時にその人を追跡する。システム130が、人103が商品111といった商品を持っていると判定し、かつ、システムが自動化チェックアウトを支援するように構成されている場合、メッセージ203を送信するか、又はそうでなければ、販売時点情報管理システム210といったチェックアウトシステムとインターフェースをとる。このメッセージは、例えば、人103が選んだと考えられる1つ(又は複数)の商品に対する自動化された請求211を発生させ、自動化された請求211は、例えば、金融機関又はシステム212に送信され得る。1つ又は複数の実施形態では、メッセージ213が、表示されてもよいし、又はそうでなければ、人103に送信されて、人103は例えば、図1に示されるその人の電子デバイス119上で当該請求を確認してもよい。メッセージ213は、例えば、チェックアウトエリアに居る人に見えるディスプレイ上に表示されてもよく、又は、例えば、テキストメッセージ又はEメールにて、当該人に送信されてもよく、例えばユーザに関連付けられたコンピュータ又はモバイル機器119(図1を参照)に送信されてもよい。1つ又は複数の実施形態では、メッセージ213は、口頭メッセージに変換されてもよい。完全に自動化された請求211は、例えば、人103の身元が、例えばクレジットカードなどの金融情報に関連付けられていることを必要とし得る。1つ又は複数の実施形態は、例えば、レジ係を必要としないがチェックアウト又は退出時に支払いの一形態を提供するように人103に要請する、チェックアウトの他の形を支援してもよい。図2に示されるような自動化チェックアウトシステムの潜在的な利点は、店舗が必要とする手間が省かれる、又は、著しく低減される点にある。1つ又は複数の実施形態では、ユーザが選んだと店舗が考える商品のリストが、ユーザの確認又は承認のために、ユーザに関連付けられたモバイル機器に送信されてよい。
図1に示されるように、1つ又は複数の実施形態では、店舗内の人が商品格納エリアにおいて商品との相互作用を行ったと判定するために、2つ以上のカメラの連続画像を分析することを用いてもよい。図3は、人工のニューラルネットワーク300を用いて、一対の画像、例えば、商品の移動よりも前に撮った画像301及び商品の移動の後に撮った画像302から移動された商品を識別する例示的な一実施形態を示す。1つ又は複数の実施形態は、任意の数の画像を分析し得る。任意の数の画像は、2つの画像を含むが、これには限定されない。これらの画像301及び302は、例えば、ニューラルネットワーク300の入力層311に入力として提供され得る(各画像の各画素の各色チャンネルが、例えば、ニューラルネットワークの入力層311の入力ニューロンの値として設定されてもよい。)そして、ニューラルネットワーク300は、任意の所望の形態で接続及び組織された任意の数のさらなる層312を有していてもよい。例えば、ニューラルネットワークは、任意の数の完全接続層、畳み込み層、回帰層、又は、他の任意の種類のニューロン又は接続部を使用し得るが、これらに限定されない。1つ又は複数の実施形態では、ニューラルネットワーク300は、画像301と画像302とを比較するように組織されたシャムニューラルネットワークであってもよい。1つ又は複数の実施形態では、ニューラルネットワーク300は、入出力マッピングを行う敵対的生成ネットワーク、又は、他の任意の種類のネットワークであってもよい。
ニューラルネットワーク300の出力層313は、例えば、各商品が移動された確率を含み得る。1つ又は複数の実施形態は、本例では出力ニューロン313における最も高い確率の商品を選択し、当該商品の移動を、商品の移動時に商品格納エリアの近傍に居る人と関連付けることができる。1つ又は複数の実施形態では、商品が移動されなかったことを示す出力があってもよい。
図3のニューラルネットワーク300は、商品の移動の種類を分類する出力も有している。この例示的な例では、3つの種類の動作がある。すなわち、例えば商品が画像302ではなく画像301に現れていることを示す「取る動作」321、例えば商品が画像301ではなく画像302に現れていることを示す「戻す動作」322、及び、例えば商品が両方の画像に現れているが、異なる位置にあることを示す「動かす動作」323である。これらの動作は、例示的なものである。すなわち、1つ又は複数の実施形態は、商品の移動又は再配置を任意の所望のクラスに分類してもよく、例えば、各クラスに1つの確率を割り当ててよい。1つ又は複数の実施形態では、商品確率及び動作クラス確率を判定するために、別々のニューラルネットワークを使用してもよい。図3の例では、「取るクラス」321が、算出された最も高い確率を有しており、このシステムは、画像格納エリアの近傍に居る人が商品を格納エリアから手に取ったことを検出する可能性が最も高い。
図3に示されるような、どの商品が移動されたか、及び、行われた移動動作の種類を判定するニューラルネットワーク分析は、1つ又は複数の実施形態において使用され得る例示的な画像分析技術である。1つ又は複数の実施形態は、任意の所望の技術又はアルゴリズムを使用して、画像を分析し移動された商品及び行われた動作を判定してもよい。例えば、1つ又は複数の実施形態は、画像301及び画像302に単純なフレーム差分を行い、商品の移動を識別してもよい。1つ又は複数の実施形態は、画像301及び画像302をニューラルネットワーク又は他の分析システムに提供する前に、画像301及び画像302に任意の所望の方法で予備処理を行ってもよい。例えば、予備処理を行うことにより、画像を整列させること、影を除去すること、照明を均一化すること、色差を補正すること、又は、他の変形を行ってもよいが、これらに限定されない。画像処理を、色空間変換、エッジ検出、平滑化又は鮮明化、形態演算子の適用、又は、フィルタによる畳み込みといった、従来の任意の画像処理アルゴリズムで行ってもよい。
1つ又は複数の実施形態は、機械学習技術を使用して、図3において適用されたニューラルネットワークアルゴリズムといった、分類アルゴリズムを導き出してよい。図4は、図3のニューラルネットワーク300の重みを学習する、例示的な工程を示す。ネットワーク300を訓練するために、訓練例のセット401を収集又は生成、及び、使用してもよい。例402及び403といった訓練例は、例えば、商品格納エリアの事前及び事後の画像、並びに、移動された商品と商品に適用された動作の種類とを示す出力ラベル412及び413を含んでいてもよい。これらの例は、手動で構築でき、又は、1つ又は複数の実施形態では、画像を撮像した後に、商品と人とを関連付けるチェックアウトデータを使用して訓練例を作成する自動化された訓練工程を行ってもよい。図4Aは、訓練データを、システムによる誤判別を訂正する例で補強する一例を示している。本例では、店舗チェックアウトは、完全に自動化されていない。その代わりに、レジ係451が、顧客のチェックアウトを支援している。システム130は、カメラ画像を分析して、メッセージ452をレジの販売時点情報管理システム453に送信する。メッセージは、顧客が商品格納エリア102から手に取った商品についての、システムの判定を含む。しかしながら、この場合、システムにはエラーが生じた。レジ係451は、エラーに気づき、販売時点情報管理システムに正しい商品の訂正を行う。その後、訂正された商品及びカメラからの画像は、新たな訓練例454として送信されてもよく、ニューラルネットワーク300を再訓練するために使用され得る。やがて、エラーの割合が所定の許容可能なレベルに収束すると、レジ係は廃止してもよい。1つ又は複数の実施形態では、ユーザは、カメラにより間違った商品をニューラルネットワークに表示し、レジ係451無しでシステムを訓練する。他の実施形態では、レジ係451は離隔されており、ビデオ又は画像及び音声ベースのシステムを含む任意の通信方法によりアクセスされてもよい。
1つ又は複数の実施形態では、店舗内の人を、彼らが店舗の中を移動する時に追跡してもよい。複数の人が店舗内を同時に動くことができるので、人を正確に追跡できるように、画像分析を用いて人を区別することが有効であり得る。図5は、異なる人を区別するために使用され得る例示的な方法を示す。新たな人501が、時間510において、店舗に入ってきた時、又は、店舗の1つ又は複数の特定エリアに入ってきた時に、カメラ511、512、及び、513といったカメラからの人の画像が分析されて、店舗内の他の人から区別するために使用可能な、人の外観の特徴531を判定してもよい。これらの際立った特徴は、例えば、特定の身体部分の寸法又は形状、人の髪の色、形状、スタイル、又は寸法、人体や衣服の上の選択された目印間の距離、人の衣服の色、生地、材料、スタイル、寸法、又は種類、宝石、アクセサリー、又は、所有物、歩いたり動いたりする時の人の歩行の種類、人が手、腕、足、又は頭といった身体の一部を動かす速度、及び、人が行う身振り、を含んでいてよいが、これらに限定されない。1つ又は複数の実施形態は、人の指紋若しくは手形、網膜、又は他の特徴といったバイオメトリック情報を監視するために、高解像度カメラ画像を使用してもよい。
図5に示される例では、時間520において、人502が店舗に入り、新たな人として検出される。この人についての新たな際立った特徴532が測定及び監視される。元の人501は追跡されて、ここでは、新たな位置533に居ることが観察される。位置533に居る人の観察点が、際立った特徴531に適合すれば、この人は人501として識別される。
図5の例では、人501及び502の際立った特徴が識別されるが、これらの個人の身元は、匿名のまま維持される。タグ541及び542が、内部の追跡目的でこれらの個人に割り当てられるが、人の実際の身元は、知られていない。この匿名の追跡は、個人がその身元を自律店舗システムに知らせたくない環境において有利であり得る。また、例えば人の顔の画像といった敏感な識別情報は、追跡に使用する必要はない。すなわち、1つ又は複数の実施形態は、際立った特徴531及び532といったそれほど敏感でない他の情報に基づいて、人を追跡してもよい。上述のように、人が、病気の時にマスクを着けたり、顔を覆う衣服を着用したりするような幾つかのエリアでは、ユーザの顔に基づいた識別は不可能である。
人501及び502の際立った特徴531及び532は、店舗の客が戻ってきたことを認識するために、時間と共に保存されてもよいし、保存されなくてもよい。幾つかの状況では、店舗は、戻ってきた客を追跡したい場合がある。例えば、各客の際立った特徴が保存及び読み出されるならば、複数回の訪問にわたって買い物客の行動を追跡してよい。また、この情報を保存することは、以前に店舗で盗みを働いた万引き犯を識別するために有用であり、万引き犯又は潜在的な万引き犯が店舗に戻ってきた時に、店員又は警察に通報できるようにしてもよい。他の状況では、例えば、店舗が、買い物客が長期に亘る保存を希望しないという情報を収集しているかもしれないという潜在的な懸念があるならば、店舗は、買い物客が店舗を去る時に際立った情報を消去したい場合がある。
1つ又は複数の実施形態では、システムは、店舗の中を通る人の動きを追跡する時に、人の周りの3D影響体積域を算出してもよい。この3D影響体積域は、例えば、人が潜在的に商品に触れたり、商品を移動させたりする領域を示し得る。移動された商品の検出は、例えば、商品の移動時に、追跡されている人の3D影響体積域が商品に近接している場合、その人に関連付けられ得る。
人の周りの3D影響体積域を算出するために、様々な方法を使用できる。図6A〜6Eは、1つ又は複数の実施形態において使用され得る方法を示している。(これらの図は、説明を簡単にするために、2D図面を用いた影響体積域の構造を示しているが、本方法を3次元に適用して、人の周りの3D体積を構築してもよい。)人の1つ又は複数の画像601に基づいて、人体上の目印を識別するために、画像分析を使用してもよい。例えば、目印602は人の左肘であり得る。図6Bは、人体上の異なる18個の目印を識別する分析工程を示す。1つ又は複数の実施形態は、人体上の任意の数の目印を、任意の所望の詳細レベルにおいて識別してもよい。目印は、人の関節の動きを追跡するために、骸骨に連結されていてもよい。一旦、店舗と関連付けられた3D空間において目印の位置が識別されると、3D影響体積域を構築する位置方法は、各目印の周りの、特定の閾値距離の半径を有する球体を算出することになる。例えば、1つ又は複数の実施形態は、各目印からオフセットされた閾値距離25cmを使用してもよい。図6Cは、目印602の周りの半径604の球体603を示している。これらの球体は、図6Dに示されるように、各目印の周りに構築され得る。その後、3D影響体積域は、図6Eの3D影響体積域605に示されるように、目印の周りのこれらの球体を合体させたものとして算出され得る。
人の周りの3D影響体積域を算出する別の方法は、目印毎の位置の確率分布を算出して、この確率分布から、1つの目印の周りの3D影響体積域を、特定の閾値量の確率を含む空間内の領域として規定することである。この方法は、図7A及び7Bに示されている。人の画像を用いて、図6Bに関連して説明したような目印位置701を算出する。店舗の中を通る人を追跡する時、追跡工程中の不確定要素が、各目印の3D位置の確率分布になる。この確率分布は、以下に図8を参照しながら説明するような粒子フィルタを含む様々な方法を用いて算出及び追跡され得る。例えば、図7Aの右肘目印702の場合、目印の位置の確率密度703が算出され得る。(この密度は、説明を簡潔にするために、図7Aでは2D図として示されるが、追跡時には、通常、3D空間確率分布が生成されることになる。)各目印について、この確率密度の特定の閾値確率量を含む体積が判定され得る。例えば、表面によって包囲される体積は、確率分布703の95%(又は、他の所望の量)を包囲してよい。その後、図7Bに示されるように、人の周りの3D影響体積域を、各目印の周りのこれらの体積704を合体させたものとして算出してもよい。各目印の周りの体積の形状及び寸法は、異なる目印を追跡するための不確定要素の違いを反映して、異なっていてもよい。
図8は、人が店舗の中を移動する際に当該人を時間と共に追跡するために、1つ又は複数の実施形態において使用され得る技術を示している。任意の時点における人の状態が、例えば、人体上の特定の目印の(3次元における)位置及び速度といった特定の状態変数の確率分布として、表されていてもよい。この確率分布を表すための1つの方法は、粒子フィルタを使用することである。ここでは、一群の粒子が時間と共に伝播されて、分布からの重み付けされたサンプルを表す。図8の例では、説明のために、2つの粒子802及び803が示されている。実際には、任意の時点における確率分布は、数百又は数千の粒子によって表され得る。状態801を次の時点まで伝播させるために、1つ又は複数の実施形態は、反復性の予測/訂正ループを採用してもよい。状態801は、まず、予測ステップ811を通して伝播される。予測ステップ811は、例えば、物理モデルを使用して、各粒子について、当該粒子の次の状態はどんな状態であるかを予測し得る。物理モデルは、例えば、目印の相対位置に対する制約(例えば、左足と左膝との間の距離が一定であるという制約)、身体の一部を動かすことができる最大速度又は加速度、及び、店舗内の、床、壁、作り付け備品、又は他の人といった障害物からの制約を含み得るが、これらに限定されない。これらの物理モデル構成要素は例示であり、1つ又は複数の実施形態は、追跡状態を一期間から別の期間に伝播させるために、任意の種類の物理モデルや他のモデルを使用してもよい。予測ステップ811は、また、例えば、各予測ステップにおいて確率分布の広がりが時間と共に拡大し得るように、動きにおける不確定要素を反映してもよい。そして、予測ステップ811の後の粒子は、訂正ステップ812を介して伝播される。訂正ステップ812は、カメラ画像における測定値から得られた情報や、入手可能な場合は他の情報を含む。訂正ステップは、画像821、822、823といったカメラ画像、及び、各カメラのカメラ投影に関する情報、並びに、入手可能な場合は他のカメラ較正データを使用する。画像821、822、及び、823に示されるように、カメラ画像は、人のオクルージョン又は人体の一部だけを撮像した画像による、部分情報だけを提供してもよい。入手可能な情報を使用して予測を訂正し、これによって、例えば、人の状態の確率分布における不確定要素を低減させ得る。この予測/訂正ループは、店舗の中を通る人を追跡するために、任意の所望の間隔で繰り返してもよい。
店舗の中を移動している時の人を追跡することによって、システムの1つ又は複数の実施形態は、店舗の中の人の3D軌跡を生成し得る。この3D軌跡は、商品格納エリア内の商品の移動に関する情報と組み合わせて、人を、当該人が相互作用する商品と関連付けてもよい。商品が移動された時に人の軌跡が商品に近接しているならば、例えば、商品の移動はその人に帰属されるものとしてもよい。図9はこの工程を示している。説明を簡略化するために、人の軌跡及び商品の位置を2次元に示す。すなわち、1つ又は複数の実施形態は、例えば、店舗の3Dモデルを用いた3次元分析と同様の分析を行ってよい。人の軌跡901は、例えば図8に示されるような追跡工程を用いて、時間と共に追跡される。各人について、各時点での3D影響体積域902を、例えば人体上の目印の位置又は確率分布に基づいて算出してもよい。(同じく、説明を簡略化するために、図9に示される影響体積域は2次元であるが、実施時には、この体積は3次元である。)このシステムは、店舗の中を通る3D影響体積の軌跡を算出する。図3に示される分析といったカメラ画像分析を用いて、商品の動き903が、位置904において検出される。店舗内には、追跡された複数の人が存在するため、この動きは、移動時に影響体積域が当該位置又はその近傍にある人に帰属され得る。軌跡901は、この追跡されている人の影響体積域が、この動きの時間に近い時間間隔の間に、移動された商品の位置を交差したことを示している。すなわち、商品移動は、この人に帰属され得る。
1つ又は複数の実施形態では、このシステムは、図9に関連して上述した分析を、人の3D影響体積域に交差した商品格納エリアでの商品移動を探すことによって、最適化してよい。図10はこの工程を示している。時点141において、又は、ある時間間隔にわたって、人103の追跡された3D影響体積域1001が、商品格納エリア102に近接していると算出する。したがって、このシステムは、商品格納エリア102と人1032の周りの3D影響体積域1001との交差1011を算出し、この領域のビューを含むカメラ画像、例えば画像1011を配置する。例えば、人103が商品格納エリア102から動いて居なくなったと判定される次の時間142において、同一の交差領域の画像1012(又は複数のこのような画像)が得られる。これら2つの画像は、その後、ニューラルネットワーク300への入力として供給されて、ニューラルネットワーク300は、例えば、何らかの商品が移動されたかどうか、(もしあるとすれば)どの商品が移動されたか、及び、行われた動作の種類を検出してもよい。検出された商品動作を、人103に帰属させる。なぜなら、その人の影響体積域が、この動作の時に、商品格納エリアと交差したからである。ニューラルネットワーク300の分類分析を、人の影響体積域と商品格納エリアとの交差を表す画像だけに適用することによって、処理リソースを効率よく使用し、追跡された人に帰属され得る商品移動だけに集中することができる。
図11〜15は、典型的な店舗環境における動作時のシステムの一実施形態のスクリーンショットを示している。図11は、店舗の中を移動する買い物客を撮った3つのカメラ画像1101、1102、及び、1103を示している。画像1101において、2人の買い物客1111及び1112が識別及び追跡されている。画像1101は、各買い物客上で識別された目印を示しており、これらは、各買い物客の周りの3D影響体積域を追跡及び生成するために使用される。目印と、衣服などの他の特徴との間の距離は、買い物客1111及び1112を区別するため、及び、彼らが店舗の中を移動する際に彼らを個別に追跡するために使用され得る。画像1102及び1103は、買い物客1111が商品格納エリア1113に接近して商品格納エリアから商品114を手に取った時の買い物客1111のビューを示している。画像1121及び1123は、それぞれ、商品格納エリア1113の画像1101及び1103の拡大図であり、買い物客1111が商品を手に取る前及び後を示している。
図12は、引き続き図11に示される例を説明するものであり、どのように、商品格納エリアの画像1121及び1123が入力としてニューラルネットワーク1201に提供され、あるとすれば、どの商品が買い物客1111によって移動されたかを判定するかを示している。ネットワークは、商品1202に最も高い確率を割り当てる。図13は、システムが、この商品1202の動作を買い物客1111に帰属させ、動作1301を割り当て、買い物客がこの商品を手に取ったことを示す様子を示している。この動作1301は、ニューラルネットワーク1201によって検出されてもよいし、又は、類似のニューラルネットワークによって検出されてもよい。同様に、このシステムは、商品1303が買い物客1112によって移動されたことを検出し、この商品移動に動作1302を割り当てる。
図13はまた、システムが、買い物客1111が手に取った商品1202に対する、買い物客による「見詰める」動作1304を検出したことを示している。1つ又は複数の実施形態では、システムは、人が商品を見詰めていることを、人の眼(例えば、目印として)を追跡し、眼から商品に向けて視野を突出させることによって検出してもよい。商品が眼の視野内にある場合、人が当該商品を見詰めていると識別され得る。例えば、図13では、買い物客1111の目印である眼から突出した視野は、領域1305であり、システムは、商品1202がこの領域内にあることを認識し得る。1つ又は複数の実施形態は、商品が人によって移動されたかどうかに拘わらず、人が当該商品を見詰めていると検出してもよく、例えば、人は、商品格納エリア内の商品を見て回りながら当該商品を見詰めてもよく、その後、商品に触れないことを選択してもよい。
1つ又は複数の実施形態では、他にも、眼の代わりに又は眼に加えて、頭の目印を使用し、店舗の参照フレームに対する頭の向きを算出して、人が何を見詰めているかを判定してもよい。頭の向きは、例えば、3D三角測量された頭の目印で算出され得る。1つ又は複数の実施形態は、例えば、2Dの目印から3Dの凝視を推測するように訓練されたニューラルネットワークを用いて、2Dの目印から頭の向きを推測してもよい。
図14は、買い物客の周りの3D影響体積域を生成している、システムのスクリーンショット1400を示している。この画像の重なりにおいて、3D影響体積域1401の表面は、当該表面上の点の集合として示されている。表面1401は、例えば人の右足の目印1402といった、人について特定された目印からのオフセットとして生成されていてよい。スクリーンショット1410は、店舗の3Dモデル内の人に関連付けられた目印の位置を示している。
図15は、引き続き図14の例を説明するものであり、人が店舗の中を移動している間の人及びその3D影響体積域の追跡を、カメラ画像1501及び1502において示し、店舗の3Dモデル内における人の目印の軌跡の生成を、スクリーンショット1511及び1512において示すものである。
1つ又は複数の実施形態では、システムは、カメラ較正データを使用して、店舗内のカメラから得た画像を変換する。較正データは、例えば、内部カメラパラメータ、外部カメラパラメータ、カメラ画像送り量を共通のタイムスケールに整列させるための一時的較正データ、及び、カメラ画像を共通のタイムスケールに整列させるための色較正データを含んでよいが、これらに限定されない。図16は、カメラ較正データを用いて画像を変換させる工程を示している。店舗内のカメラ121から一連の原画像1601が得られる。これらの原画像に対して、内部カメラパラメータの訂正1602が適用され、結果的に、訂正済み一連画像1603が得られる。内部カメラパラメータは、例えば、カメラの焦点距離、画像センサの形状及び向き、又は、レンズ歪み特性を含み得る。その後、訂正済み画像1603を、ステップ1604において変換して、当該画像を3D店舗モデルにマップする。この際に、店舗内のカメラの位置及び向きに基づくカメラ投影変換を記載する外部カメラパラメータが用いられる。結果として得られた変換済み画像1605は、店舗の座標システム1606に対して整列された投影である。その後、これらの変換済み画像1605を、店舗内の異なるカメラ間の可能な時間オフセットに相当するように、時間的にシフトさせてよい。このシフト1607は、店舗内の異なるカメラからのフレームを共通のタイムスケールに同期する。最後の変換1609では、時間訂正済みフレーム1608における画素の色は変更され、複数の色を、店舗内のカメラにわたる共通の色空間にマッピングしてもよく、これによって、最終較正済みフレーム1610が得られる。カメラハードウェアやファームウェアにおける違いや、店舗内における照明条件が異なるため、色はカメラ毎に異なっていてよい。すなわち、色訂正1609が、全てのカメラが、対象が店舗内のどこにあるかに関係なく、同一の対象物が同一の色を有するものとして視認することを確保する。この共通の色空間へのマッピングは、例えば、人または商品が1つのカメラの視野から別のカメラの視野に移動する際に、人又は人に選択された商品の追跡を容易にする。これは、追跡が、人の又は商品の色に部分的に依存しているからである。
図16に示されるカメラ較正データは、任意の所望のソースから得ることができる。1つ又は複数の実施形態は、また、任意又は全てのカメラ較正データのデータを生成するシステム、工程、又は、方法を含んでいてもよい。図17は、カメラ較正データ1701を生成する実施形態を示し、カメラ較正データ1701は、例えば、任意又は全ての内部カメラパラメータ、外部カメラパラメータ、一時的同期用の時間オフセット、及び、各カメラから共通の色空間への色マッピングを含む。店舗1702は、本例では、3つのカメラ1703、1704、及び、1705を含む。これらのカメラからの画像は、較正手順の間に撮像され、カメラ較正システム1710によって分析される。このシステムは、店舗での運用中に人及び商品を追跡するために使用される1つ又は複数のシステムと同じであってもよいし、又は、異なっていてもよい。較正システム1710は、1つ又は複数のプロセッサを含む、又は、これと通信してよい。内部カメラパラメータの較正のために、例えば、標準カメラ較正グリッドが、店舗1702内に設置されていてよい。外部カメラパラメータの較正のために、既知の寸法および形状のマーカーが、例えば、店舗内の既知の位置に配置されていてよく、カメラ1703、1704、及び、1705の位置及び向きは、マーカーの画像から導き出してもよい。あるいは、マーカーの位置とカメラの位置及び向きとを同時に解決する反復法を用いてもよい。
1つ又は複数の実施形態において使用され得る一時的較正手順は、店舗内に光源1705を配置し、光源1705から閃光を発することである。各カメラが閃光を観察する時間を用いて、各カメラの共通のタイムスケールからの時間オフセットを導くことができる。光源1705から発せられた閃光は、可視光や赤外線であってもよいし、又は、任意の所望の波長を有していてもよい。全てのカメラで単一の光源を観察できないならば、同期された複数の光源を使うか、又は、カメラを重なり合った群において共通のタイムスケールに繰り返し同期してもよい。
1つ又は複数の実施形態において用いられる色較正手順は、既知の色の1つ又は複数のマーカーを店舗の中に配置して、カメラによって監視されたこれらのマーカーの画像に基づいて、各カメラから公知の色空間への色マッピングを生成することである。例えば、色マーカー1721、1722、及び、1723を店舗内に配置してもよい。すなわち、各マーカーは、例えば、標準カラーの四角形のグリッドを有していてよい。1つ又は複数の実施形態では、外部パラメータの較正に色マーカーを用いてもよい。例えば、これらを、図17に示される既知の位置に配置してもよい。1つ又は複数の実施形態では、店舗内の商品を、例えばこれらが既知の色である場合、色較正に用いてもよい。
マーカー1721、1722、及び、1723の、特定のカメラにおいて観察された色に基づいて、マッピングを導き出して、観察されたカメラの色を標準色空間に変換してもよい。このマッピングは、直線的であってもよいし、非直線的であってもよい。マッピングは、例えば回帰法を用いて、又は、任意の所望の機能的近似法を用いて、導き出してもよい。
標準色空間に色較正されたカメラの場合であっても、店舗内の任意の対象物の観察された色は、店舗内の対象物の位置における照明に応じて変わる。例えば、店舗1702内では、光1731の近傍又は窓1732の近傍の対象物は、店舗内の他の位置における対象物よりも明るく見え得る。照明の違いが色に与える影響を補正するために、1つ又は複数の実施形態は、店舗中の輝度又は他の照明特性のマップを生成及び/又は使用してもよい。この輝度マップは、カメラ又は光センサからの照明強度の観察、店舗照明のモデル、又は、その組み合わせに基づいて生成され得る。図17の例では、カメラ較正の間又はその前に、例示的な輝度マップ1741が生成されてもよく、これは、カメラの色を標準色空間にマッピングする際に使用してもよい。照明条件が一日のうちの異なる時間で変化するため、1つ又は複数の実施形態は、異なる輝度マップを、異なる時間又は期間に生成してもよい。例えば、窓1732からの光は低減されたが店舗光1731が引き続き作動している夜間運用の場合、輝度マップ1742を用いてもよい。
1つ又は複数の実施形態では、追跡及び検出を改善するために、光源若しくはカメラ、又はこれらの両方に、フィルタを取り付けてもよい。例えば、点光源は、光沢のある商品からのカメラ画像に、まぶしい光を生じさせ得る。光に対する偏光フィルタは、このまぶしい光を低減する。なぜなら、偏光はまぶしさをほとんど生じさせないからである。光源に対する偏光フィルタを、カメラの偏光子と組み合わせて、まぶしさをさらに低減させてもよい。
照明条件における変化を説明するために異なる輝度マップを異なる時間で使用することに加えて、又は、これに代えて、1つ又は複数の実施形態は、必要に応じてカメラを再較正して、照明条件を変化させることがカメラの色マップに与える効果を計上してもよい。例えば、タイマー1751が、カメラ較正手順1710を作動させ、例えば、カメラの色が一日のうちの異なる時間において再較正されるようにしてもよい。選択的又は追加的に、照明条件が変化したこと、又は、変化したかも知れないことを1つ又は複数のセンサが検出した時に、店舗1702内に配置された光センサ1752が、カメラ較正手順1710を作動させてもよい。このシステムの実施形態は、例えば、窓1732から太陽光が店舗の一部分に入るようにすれば、較正を画像の特定エリアにサブマッピングしてもよい。換言すると、より精度の高い結果を提供できるように、較正データは、エリア及び時間に基づいていてもよい。
1つ又は複数の実施形態では、システムにおいて、カメラ配置最適化を利用してもよい。例えば、2Dカメラシナリオでは、利用可能な一方法は、カメラ位置に費用関数を代入して、特定の店舗のカメラの配置及び数を最適化することである。一実施形態では、複数のカメラからの1つの画像だけにおいて見つかった任意の商品にペナルティ1000を代入すると、1つのカメラによってのみ視認可能な任意の商品にとって、大きく不利となる。カメラの数にペナルティ1を代入すると、店舗に必要なさらなるカメラにとって、わずかに不利となる。各商品の少なくとも2つの画像又は1つの立体画像を生成しないカメラ配置にペナルティを与えることによって、3D位置を得ることができない商品の数は著しく不利になり、その結果、最終カメラ配置は所定の費用以下になる。したがって、1つ又は複数の実施形態は、十分な数のカメラがあるとすれば、全ての商品に関して異なる2つの視点が排除された一組のカメラ配置に収束する。カメラの数に費用関数を代入することによって、本実施形態に係る反復性の解決策が採用され、店舗に最小数のカメラを有する少なくとも1つの解決策を見つけることができる。図18の上の行に示されるように、店舗の左側の商品は、1つのカメラしか有しておらず、真中のカメラがそれらに向けられている。したがって、これらの商品は、右上の表では、それぞれ、ペナルティ1000が発生している。この反復法には、3つのカメラが存在するため、全費用は2003である。次の反復法では、図の真中の行に示されるように、1つのカメラが加えられている。全ての商品を少なくとも2つのカメラで撮影することが可能であるので、商品にとって費用はゼロまで低下する一方で、別のカメラが加えられているので全費用が4になっている。この反復法に示されるように、一番下の行では、1つのカメラが除去されている。これは、例えば、真中の行の表の真中の列に、4つの商品に対して3つの画像を示すことが示されているように、ある商品が2つ以上のカメラによって撮られていると判定することによって行われる。一番下の行の店舗における最も左のカメラを除去した後、費用は1だけ減少して、全費用は3になる。本システムの実施形態では、任意の数のカメラ位置、向き、及び、種類を利用してもよい。本システムの1つ又は複数の実施形態は、例えば上述のカメラ較正に応じて、店舗内の既存のビデオ構造を利用するために、店舗内の既存の防犯カメラを使用することによって、及び、必要に応じてこれらのカメラを移動させること、又は、店舗のカメラの数を増やすことによって、カメラの数を最適化してよい。他にも、カメラを配置及び配向して初期シナリオを設定するための任意の方法、例えば、均等割り付けや所定の角度を用いてもよい。
1つ又は複数の実施形態では、人およびその環境との相互作用を追跡する上述の技術の1つ又は複数を適用して、ある人によって一時点又は空間で得られた承認を別の時点又は空間に拡張してもよい。例えば、承認は、ある人によってあるエリアへのエントリーポイントにおいて、又は、当該エリアにおけるチェックポイント及び初期時点において得ることが可能である。この承認は、当該人が、例えば、施錠された建物といった保護された環境に入ることや、当該人に関連付けられた口座に買い物の請求を行うことといった、1つ又は複数の動作を行うことを承認してもよい。このシステムは、その後、この人を次の時点における第2の位置まで追跡し、前回得られた承認を、次の時点における第2の位置における当該人に関連付けてもよい。この時間及び空間にわたる承認の拡張は、人と環境との相互作用を簡略化し得る。例えば、人は、買い物を行う承認を得るために、エントリーポイントにおいて信用情報(支払いカード等)を提示する必要がある、又は、それを行うことを選択し得る。すなわち、このシステムは、その人をその後追跡し得るので、この信用情報は、前回得られた承認を使用するために再び提示される必要はないかもしれない。この承認の拡張は、例えば、上述の、どの商品と人が相互作用したか、又は、店舗内のどの商品を選んだかを判定するための技術と連動した自動化店舗において有用であり得る。すなわち、人は、例えば、カードを店舗入口、又は、支払い売店、又は、店舗に関連付けられたカードリーダにおいて提示し、その後、単に、所望の商品を選び、店舗を出るときにそれに対して自動的に、いかなる明確なチェックアウトを行うことなく請求されてよい。
図19は、カメラ画像の分析による追跡を用いて承認の拡張を可能にする、例示的な一実施形態を示す。この図及びこれに続く幾つかの図は、ガソリンスタンドの例を用いた承認の拡張の1つ又は複数の態様を示す。本例は例示であり、1つ又は複数の実施形態は、任意の種類の場所又はエリアにおいて、承認の拡張を可能にし得る。例えば、承認の拡張は、建物、マルチビル複合体、店舗、レストラン、ホテル、学校、キャンパス、モール、駐車場、インドア又はアウトドアマーケット、住宅又は住宅複合体、部屋、競技場、野原、アリーナ、レクリエーションエリア、公園、遊び場、博物館、又は、美術館の全体又は一部に適用又は一体化されてよいが、これらに限定されない。承認の拡張は、ある時間及び場所において得られた承認が別の時間及び別の場所に拡張され得る任意の環境に適用又は一体化され得る。任意の種類の承認を拡張することに適用し得る。
図19に示される例では、人1901が、ガソリンスタンドに到着し、ガソリンポンプ1902まで進む。ガソリンを得るために(又は、ガソリンを入手せずに、潜在的に他の動作を承認するために)、人1901は、例えばクレジット又はデビットカードといった信用情報1904を、ポンプ1902に設けられた、又は、ポンプ1902の近傍に設けられた信用情報リーダ1905に提示する。信用情報リーダ1905は、メッセージ1906を銀行又は情報センタ212に送信し、ユーザ1901がポンプ1902からガソリンを注入することを許可する承認1907を得る。
1つ又は複数の実施形態では、人は、任意の種類の信用情報を、任意の種類の信用情報リーダに提示して、承認を得てもよい。例えば、信用情報は、クレジットカード、デビットカード、銀行カード、RFIDタグ、携帯支払機、携帯ウォレット装置、携帯電話、スマートフォン、スマートウォッチ、スマート眼鏡若しくはゴーグル、キーホブ、IDカード、運転免許証、パスポート、パスワード、PIN、コード、電話番号、又は、バイオメトリック識別子であってよいが、これらに限定されない。信用情報は、人が持ち運ぶ任意の装置、例えば、携帯電話、スマートフォン、スマートウォッチ、スマート眼鏡、キーホブ、スマートゴーグル、タブレット、又は、コンピュータに一体化又は取り付けられていてもよい。信用情報は、人が身に着けてもよいし、又は、人が身に着けた衣服やアクセサリーに一体化されていてもよい。信用情報は、受動的であってもよいし、又は、能動的であってもよい。信用情報は、支払機構又は口座にリンクされていてもよいし、リンクされていなくてもよい。1つ又は複数の実施形態では、信用情報は、パスワード、PIN、コード、電話番号、又は、他の、タイプされた若しくは発話型データ、又はそうでなければ、人によって信用情報リーダに入力されたデータであってもよい。信用情報リーダは、提示された信用情報を読み取ること又は受け入れることが可能な、任意の装置又は装置の組み合わせであってもよい。信用情報リーダは、銀行212のような遠隔承認システムにリンクされていてもよいし、リンクされていなくてもよい。1つ又は複数の実施形態では、信用情報リーダは、他のシステムと通信することなく、提示された信用情報に基づいてユーザを承認するためのローカル情報を有していてもよい。信用情報リーダは、任意の種類の技術を用いて、信用情報を読み取る、認識する、受け入れる、承認する、又はそうでなければ、処理することができる。例えば、信用情報リーダは、磁気ストライプリーダ、チップカードリーダ、RFIDタグリーダ、光学リーダ若しくはスキャナ、指紋スキャナといったバイオメトリックリーダ、近距離無線通信リーダ、Bluetooth(登録商標)リーダ、Wi−Fi受信機、キーボード、又は、タイプ入力用タッチスクリーン、又は、音声入力用マイクを有していてもよいが、これらに限定されない。信用情報リーダは、信号を受信してもよいし、信号を送信してもよいし、又は、これらの両方を行ってもよい。
1つ又は複数の実施形態では、人によって得られた承認は、人が行うことを承認された1つ又は複数の任意の動作と関連付けられていてもよい。これらの動作は、購入などの金融取引を含んでいてもよいが、これに限定されない。承認され得る動作は、例えば、建物、部屋、又はエリアに対する入退出や、商品、製品、又はサービスの購入若しくは賃貸や、商品、製品、又はサービスの使用や、あるいは、制御された情報又は題材へのアクセスを含んでいてもよいが、これらに限定されない。
1つ又は複数の実施形態では、信用情報リーダは、ガソリンポンプ又は他の任意の装置に一体化されている必要はない。信用情報リーダは、スタンドアローン型であってもよく、任意の装置に取り付けられてもよいし一体化されていてもよく、又は、エリア中に分散されていてもよい。信用情報リーダは、エリア内の任意の位置に配置され得る。この位置は、例えば、入口、出口、チェックインポイント、チェックポイント、制御ポイント、ゲート、ドア、又は、他の障害物を含むが、これらに限定されない。1つ又は複数の実施形態では、1つのエリアに幾つかの信用情報リーダが配置されていてもよく、すなわち、複数の信用情報リーダが、別々の人によって同時に使用されてもよい。
図19に示される実施形態は、人1901によって得られたガソリンを注入するための承認を拡張して、信用情報1904を再提示しなくても、当該人による1つ又は複数の他の動作を承認するものである。この例示的な例では、ガソリンスタンドは、関連するコンビニエンスストア1903を有しており、ここで、顧客は商品を購入できる。承認拡張の実施形態は、コンビニエンスストアが、例えば店員無しで自動化されことを可能にし得る。店舗1903を無人にすることができるため、店舗へのドア1908は、例えば制御可能な鍵1909により施錠され、これによって、承認されていない人が店舗に入場することを妨げ得る。以下に説明する実施形態は、ポンプ1902において信用情報1904を提示することによって得られた人1901の承認を拡張し、人1901が施錠されたドア1908を通って店舗1903に入ることを可能にするものである。
1つ又は複数の実施形態は、承認の拡張を可能にして、ユーザが任意の種類の保護された環境に入ることを許可してもよい。保護された環境は、図19のコンビニエンスストア1903等の店舗を含むが、これに限定されない。この保護された環境は、障害物によって保護された入口を含んでいてよく、障害物の例としては、ドア、ゲート、フェンス、格子、又は、窓が挙げられるが、これらに限定されない。障害物は、入場を妨げる物理的装置でなくてもよい。すなわちこれは、例えば、警告音であってよく、警告音を鳴らすことなく保護された環境に入るためには、警告音は無効にされる必要がある。1つ又は複数の実施形態では、障害物は、システムによって、例えば、入場を許可するため(又は許可しないため)にコマンドが障害物に送信され得るように、制御可能であってもよい。例えば、ドア又はゲートへの電子的に制御されたロックが、入場に対する制御可能な障害物を提供してもよいが、これらに限定されない。
図19では、承認の拡張は、人1901を承認地点からコンビニエンスストア1903への入店地点まで追跡することによって可能になり得る。追跡は、このエリアにおいて、1つ又は複数のカメラを用いて行うことが可能である。図19のガソリンスタンドの例では、カメラ1911、1912、及び、1913が、ガソリンスタンドのエリア内又は周りに搭載されている。これらのカメラからの画像が、プロセッサ130に送信され、プロセッサ130は、これらの画像を処理して人を認識し、彼らがガソリンスタンドエリアを動き回る間のある期間にわたって追跡する。プロセッサ130は、また、3Dモデル1914にアクセスしてこれを使用してもよい。3Dモデル1914は、例えば、この場所における1つ又は複数のカメラの位置及び向きを表していてもよく、このデータは、例えば、外部カメラ較正から得てもよい。1つ又は複数の実施形態では、3Dモデル1914は、また、この場所における1つ又は複数の対象物又は区域、例えば、図19のガソリンスタンドの場所におけるポンプ及びコンビニエンスストアの位置を表していてもよい。3Dモデル1914は、場所全体の完全モデルである必要はなく、最小モデルが、例えば、用途に関連した場所の位置又は領域における人の追跡を支援するために十分な、1つ又は複数のカメラに関する情報だけを含んでいてもよい。
人に関連付けられた軌跡の認識、追跡、及び、算出は、例えば、図1〜図10に関連して上述すると共に図15に示したように行われ得る。プロセッサ130は、人1901の軌跡1920を、例えば人がガソリンスタンドのエリアに入ってきた、又は、初めて1つ又は複数のカメラによって監視された時間1922における地点1921から算出してもよい。軌跡は、人がそのエリアを動き回る間、連続的に更新され得る。開始地点1921は、人が信用情報1904を提示する地点1923と一致していてもよいし、一致していなくてもよい。人の追跡を始める際に、システムは、例えば、タグ1931を、人1901と、人がエリア内で追跡される間この人についてある期間にわたって算出された軌跡1920とに関連付け得る。このタグ1931は、(例えば、図5に関連して上述したような)人の際立った特徴と関連付けられてもよい。1つ又は複数の実施形態では、これは、プロセッサ130によって使用される内部識別子である匿名タグであってもよい。
人1901がこのエリアを動き回る間に更新され得る、プロセッサ130によって算出された軌跡1920は、位置を時間と関連付けてもよい。例えば、人1901は、時間1922において位置1921にいる。1つ又は複数の実施形態では、位置および時間は、空間及び時間における特定の点ではなく、範囲であり得る。これらの範囲は、例えば、測定における不確定要素若しくは制限、又は、離散サンプリングの作用を反映してもよい。例えば、カメラが1秒毎に画像を撮像する場合、1つのカメラ画像から得られた位置に関連付けられた時間は、2秒の幅を有する時間範囲であり得る。新たな地点で軌跡をサンプリング及び拡張することはまた、イベントに応じて起こり得る。このイベントの例は、一定周波数におけるサンプリングの代わりに、又は、これに加えて、人が区域に入ったこと、又は、センサを始動させたことが含まれる。位置の範囲はまた、人が、単一の地点ではなく、空間において体積を占めていることを反映してもよい。この体積は、例えば、図6A〜7Bに関連して説明した3D影響体積域であってもよいし、又は、これに関連していてもよい。
プロセッサ130は、人1901を、信用情報リーダ1905が位置する時間1924における位置1923まで追跡する。1つ又は複数の実施形態では、位置1923は、追跡が始まる位置1921と同じであってもよいが、1つ又は複数の実施形態では、この人は、あるエリアに入ったときに、当該エリアにおいて追跡されてもよく、信用情報を別の時、例えば店舗に入ってきた時又は出ていく時に提供してもよい。1つ又は複数の実施形態では、複数の信用情報リーダが存在していてもよく、例えば、図19のガソリンスタンドは、顧客が信用情報を入力することができる「ポンプステーション支払装置」をいくつか有していてもよい。カメラ画像の分析を使用することにより、プロセッサ130は、人が信用情報を入力するためにどの信用情報リーダを使用したかを判定してもよい。これによって、プロセッサは、以下に示すように、承認をその人に関連付けることができる。
信用情報1904を信用情報リーダ1905に入力すると、承認1907がガソリンポンプ1902に提供される。この承認又は関連するデータはまた、プロセッサ130に送信されてもよい。この承認は、例えば、メッセージ1910として、ポンプ又は信用情報リーダから送信されるか、又は、直接、銀行又は支払プロセッサ(又は別の承認サービス)212から送信されてもよい。プロセッサ130は、承認メッセージが受信された時、又は、信用情報が信用情報リーダ1905に提示された時、又は、これらに近い時に、人の軌跡1920が信用情報リーダ1904の位置、又は、その近傍にあると判定することによって、この承認を人1901に関連付けてもよい。複数の信用情報リーダが1つのエリアに配置された実施形態において、プロセッサ130は、どの信用情報リーダにその承認が関連付けられているかを判定することによって、及び、当該承認の時間及び当該信用情報リーダの位置を、1人又は複数人の軌跡に関連付けて、その時、どの人が当該信用情報リーダの傍又は近傍にいるかを判定することによって、特定の承認を特定の人に関連付けてもよい。幾つかの状況では、人1901は、承認が受信されるまで信用情報リーダ1905において待機してもよく、したがって、プロセッサ130は、信用情報が提示された時、又は、承認が受信された時を使用して、どの人が承認に関連付けられているかを判定してもよい。
人1901が時間1924において又はこれに近い時に、位置1923に又はその近傍にいると判定し、位置1923が信用情報リーダ1905(又は、信用情報リーダの近傍の区域内)の位置であると判定し、承認1910が信用情報リーダ1905に関連付けられており、時間1924において又はこれに近い時に受信された(又は、時間1924において又はこれに近い時に信用情報の提示と関連付けられる)ことを判定することにより、プロセッサ130は、この承認を、時間1924の後の人1901の軌跡1920に関連付けてもよい。この関連付け1932は、例えば、拡張されたタグ1933を、承認情報を含む軌跡に加えてもよく、承認に関連付けられた口座又は信用情報を含んでいてもよい。プロセッサ130はまた、許可されたある動作を承認と関連付けてもよく、これらの許可された動作は、用途に特有のものであってもよいし、また、各人又は各信用情報について得られた特定の承認に特有のものであってもよい。
その後、プロセッサ130は、引き続き、時間1926における位置1925まで、人1901の軌跡1920を追跡する。この位置1925は、鍵1909によって施錠されているコンビニエンスストア1903への入口1908にある。本例では、ポンプにおいて得られた承認が店舗への入店も許可するので、プロセッサ130は、コマンド1934を制御可能な鍵1909に送信し、鍵1909は、ドア1908を開錠して店舗への入店を許容する。(鍵1909は、象徴的に、南京錠として示されているが、実際には、ドア1908に一体化されていてもよいし、又は、任意の障害物であって、入場を許容又は拒否するように障害物を駆動させる電子制御装置を有する障害物でもよい。)障害物を開錠するコマンド1934は、自動的に、人1901がドアに到着した時間1926に又はそれに近い時に発せられる。これは、カメラ画像が処理されて、人を認識し、人が位置1925においてドアにいると判定し、この人を、以前信用情報1904を時間1924において提示した結果として事前に得られた承認に関連付けるからである。
1つ又は複数の実施形態は、1つの時点において得られた承認を拡張して、次の時点において任意の種類の保護された環境への入場を許可してもよい。保護された環境とは、例えば、図19に示されるような店舗又は建物であってもよいし、又は、図20に示されるようなケース又は類似の閉じられたコンテナであってもよい。図20は、図19に示される例に似たガソリンスタンドの例を示しているが、図20では、コンビニエンスストアにおける場合とは反対に(又は、これに加えて)、商品は閉じられたかつ施錠されたケースにおいて入手可能である。例えば、ガソリンスタンドは、ガソリンポンプの隣又は近傍に販売用商品を有するケースを有していてもよく、ここで、このケースを開く承認は、ポンプにおいて得られた承認を拡張することによって得られる。図20の例では、図19に関連して説明したように、人1901が、位置1923及び時間1924において、信用情報をポンプ1902に挿入する。プロセッサ130は、結果として得られた承認を、人及び時間1924の後の人の軌跡2000に関連付ける。人1901は、その後、販売用商品が入ったケース2001まで進む。プロセッサは、カメラ1911及び1913aからの画像を分析することによって、時間2003における位置2002まで人の経路を追跡する。その後、ケース2001のドアを施錠している制御可能な鍵2005を解除するコマンド2004を発し、これによってドアが開き、人は商品を手に取ることができる。
1つ又は複数の実施形態では、人の軌跡は、任意の所望の間隔において、追跡及び更新され得る。例えば、エリア内のカメラの配置及び有用性に応じて、人は、カメラに監視されていない1つ又は複数の位置を通過することがあり、したがって軌跡は、この「死角」において更新されない場合がある。しかしながら、例えば、追跡される人の際立った特徴が、1つ又は複数の初期の監視の間に生成され得るため、人がこれらの死角から出た後に、この人の軌跡を選択することが可能であり得る。例えば、図20では、カメラ1911は、ポンプにおける位置1924の良好なビューを提供し得るし、カメラ1913aは、ケース2001における位置2002の良好なビューを提供しえるが、これらの2つの地点の間には、ビューが存在しないか、制限されたビューしか存在しない場合がある。それにもかかわらず、プロセッサ130は、人1901は、時間2003において位置2002にいる人であり、したがってケース2001を開くことが承認されていると認識することができる。これは、時間2003においてカメラ1913aによって撮像された際立った特徴が、時間1924においてカメラ1911によって撮像されたものと一致しているからである。
図21は、引き続き図20の例を示す。人1901が位置2002に来ると、ケース2001は開く。その後、この人は、ケースの中に達し、商品2105を取り出す。プロセッサ130は、商品2105がケースから取り出されたことを検出したカメラから又は他のセンサからのデータを分析する。図21の例では、これらのセンサは、カメラ2101、カメラ2102、及び、重量センサ2103を含む。カメラ2101及び2102は、例えば、ケース2001の内側に取り付けられて、棚からの商品の取出しを監視するように、位置決め及び配向され得る。プロセッサ130は、例えば図3及び図4に関連して上述した技術を用いて、人1901が特定の商品を取り出したと判定してもよい。追加的又は選択的に、1つ又は複数の他のセンサが、商品の取出しを検出してもよい。例えば、重量センサが、ケース内の各商品の下に配置されて、いつ商品が取り出されたかを検出してもよく、重量センサからのデータは、プロセッサ130に送信されてもよい。1つ又は複数の任意の種類のセンサを用いて、ユーザが商品を取り出したことを検出又は確認してもよい。製品の取出しを特定のユーザに帰属させるために、任意の種類のセンサを用いた製品取出しの検出を、カメラを用いた人追跡と組み合わせてもよい。
図21に示されるシナリオでは、人1901は、ケース2001から製品2105を取り出す。プロセッサ130は、1つ又は複数のカメラ2102、2101、1913a、及び、センサ2103からのデータを分析して、取り出された商品を判定し、(例えば、商品が取り出された時に商品の近傍に位置していた人の3D影響体積に基づいて)当該商品を人1901に帰属させる。承認情報1933も、商品が取り出された時にこの人に関連付けられているため、プロセッサ130は、ユーザに関連付けられた口座に当該商品の請求を行うメッセージ2111を送信してもよい。この請求は、事前に信用情報1904を信用情報リーダ1905に提示することによって、人1901によって事前承認されていてもよい。
図22は、人がコンビニエンスストアに入店して商品を手に取ることを説明するために、図19の例を拡張したものである。本例は、先の図21の例に幾つかの点において類似しており、すなわち、人が保護された環境(図21のケース、図22のコンビニエンスストア)から商品を取り出し、事前に得られた承認に基づいて当該商品に対する請求が行われる点において類似している。本例は、コンビニエンスストア1903に入店する前に、ポンプ1902において人1901によって承認が得られることを加えれば、図2に示される例にも類似している。外部カメラ1911、1912、及び、1913が、人1901を入口1908まで追跡し、プロセッサ130が、人1901が店舗に入店できるように鍵1909を開錠する。その後、カメラ202等の内部カメラからの画像が、店舗内の人を追跡し、プロセッサがこれらの画像を分析して、人が商品111を棚102から手に取ったと判定する。出口201において、当該商品を自動的にこの人の口座に請求するためのメッセージ203aが生成される。このメッセージはまた、どの商品が請求されることになるかを表示する、店舗内(又は、例えば人の携帯電話)のディスプレイに送信されてもよい。1つ又は複数の実施形態では、人は、確認を入力することも可能であり、又は、請求が送信される前に変形を行ってもよい。1つ又は複数の実施形態では、プロセッサ130はまた、出口のドアを開錠するための開錠メッセージ2201を送信してもよい。この出口の障害物は、例えば、店舗内の未承認の人が、退出前に、支払機構を提供するように強制してもよい。
図22の例の一変形では、1つ又は複数の実施形態において、ポンプ1902といった別の位置ではなく、店舗への入口1908において、人によって信用情報が提示されてもよい。例えば、信用情報リーダが、入口1908内又はその近傍に設置されていてもよい。あるいは、店舗への入口は開錠されていてもよく、信用情報が出口201において提示されてもよい。より一般的にいえば、1つ又は複数の実施形態では、信用情報が提示され、承認が任意の時点及び空間で得られた後、1つ又は複数の動作を行うために店舗内で(又は他の任意のエリアにおいて)使用され得る。これらの動作は、商品を手に取ること、及び、これらの請求を自動的に承認された口座に対して行うことを含んでいてもよいが、これらに制限されない。例えば入口又は出口にある制御可能な障害物は、システムに一体化されていてもよいし、一体化されていなくてもよい。例えば、1つ又は複数の実施形態では、店舗入口1908及び出口201におけるドア鍵が設けられていなくてもよい。一箇所で得られた承認が、制御可能な障害物を介して、保護された環境への入場だけを承認するか、商品を手に取ることおよび請求することを承認するか、又は、これらの両方を承認してもよい(図22に示される通りである)。
図23は、図22に示されるシナリオの一変形を示す。ここでは、人が商品を棚から手に取るが、その後、店舗を出る前にこれを置く。図22のように、人1901が、商品111を棚102から取る。店舗を出る前に、人1901は、商品111を別の棚2301に戻す。図3及び図4に関連して上述した技術を用いて、プロセッサ130は、最初に、例えば、棚102を監視するカメラ202といったカメラからの画像を分析することによって、取る動作2304を判定する。その後、プロセッサ130は、例えば、棚2301を監視するカメラ2302及び2303といったカメラからの画像を分析することによって、置く動作2305を判定する。したがって、プロセッサは、人1901が店舗を出る時に、その所有物の中に商品を有していないと判定し、このことをその人に確認させるためのメッセージ213bをディスプレイに送信する。
1つ又は複数の実施形態は、承認を一人から別の人に拡張することを可能にしてもよい。例えば、承認を、車全体に適用してもよく、これによって、当該車の全ての乗員が、保護されたエリアに入ること、又は、商品を選んで購入することといった動作を行うことを承認してもよい。図24は、図19の例の変形である一例を示す。人1901が、ガソリンポンプ1902に進み、承認を得るために信用情報を提示する。カメラ1911は、(場合によっては、他のカメラと協働して)人1901が車2401を出る画像を撮像する。プロセッサ130は、これらの画像を分析して、人1901を車2401に関連付ける。プロセッサは、続く画像を分析し、車から出た車の他の乗員を追跡する。例えば第2の人2402が車2401を出て、ガソリンスタンドのカメラによって検出される。プロセッサは、この人についての新たな軌跡2403を生成して、新たなタグ2404をこの軌跡に割り当てる。人1901の承認が得られた後、プロセッサ130は、当該承認を人2402(及び人1901)に関連付ける。これは、両人が同じ車2401から出たからである。人2402が店舗1903への入口1908における位置1925に達すると、プロセッサ130は、店舗へのアクセスを許可するコマンド2406を送信する。これは、人2402が、人1901によって得られた承認の拡張により、入場が承認されるからである。
1つ又は複数の実施形態は、承認を拡張すべきかどうかを判定するように人に質問し、もしそうであるならば、どの程度拡張すべきかを質問してもよい。例えば、人は、選択的に、承認をある期間の間ある動作の場合にある位置まで、又は、選択された他の人まで拡張することが可能であってもよい。図25A、25B、及び、25Cは、例示的な例を、人1901が承認用の信用情報を提示する時にガソリンポンプ1902において提供された質問と共に示す。図25Aに示される最初のスクリーンは、ユーザに、信用情報を提供するように求める。図25Bに示される次のスクリーンは、ユーザに、付属のコンビニエンスストアにおける買い物まで承認を拡張するかどうかを尋ねる。この承認は、例えば、施錠されたドアを通る店舗へのアクセスを許可してもよく、ユーザが手に取った商品の請求を自動的にユーザの口座に対して行ってもよい。図25Cに示される次のスクリーンは、ユーザに、(図24に示されるように)承認を車の他の乗員まで拡張することを希望するかどうかを尋ねる。これらのスクリーン及び質問は例示であり、1つ又は複数の実施形態は、承認を拡張すべきかどうか及びどのように拡張すべきかを判定するために、任意の種類の質問を提供してもよいし、又は、(ユーザからの積極的な、又は、質問に応じた)任意の種類のユーザ入力を受信してもよい。質問及び応答は、例えば、信用情報リーダに関連付けられたスクリーンとは異なり、携帯電話を介して提供されてもよく、又は、1つ又は複数の他の任意の装置を介して提供されてもよい。
ここで、カメラ画像の分析を用いて、店舗又はエリアの中を通る人を追跡する追跡技術に戻ると、1つ又は複数の実施形態では、(180度等の)広い視野を有する魚眼カメラといった複数の天井取付式カメラを用いて人を追跡することが、好都合又は必要であり得る。これらのカメラは、目立たない、人に見られない、及び、人が不正開封のために近づきにくいという潜在的利点を提供する。人が備品の背後や他の人の背後に移動すると、当該人を見失い得る壁カメラとは異なり、天井取付式カメラは、通常、エリア内を移動している人が隠されていないビューも提供し得る。天井取付式魚眼カメラはまた、既に取り付けられている場合が多く、普及している。
1つ又は複数の実施形態は、以下に説明する技術を用いた複数の天井取付式カメラを用いて、エリア内の複数の人を同時に追跡してもよい。この技術は、任意の広い空間に拡大縮小可能性が高く、センサ及び処理について安価であり、及び、当該エリアや空間が求めるような様々なレベルの詳細に適応可能であるという、潜在的利点を提供する。これはまた、幾つかのディープラーニング検出や追跡方法ほど多くの訓練を必要としないという利点を提供する。以下に記載する技術は、幾何学的投影と、外観抽出及びマッチングとの両方を使用する。
図26A〜図26Fは、例示的な一店舗に取り付けられた異なる6つの天井取付式魚眼カメラからのビューを示す。これらの画像は、ほぼ同時に撮像されたものである。カメラは、上述の通り、例えば、内的又は外的に較正されてもよい。したがって追跡システムは、例えば店舗の3Dモデルにおいて表されるように、店舗においてカメラがどこに位置及び配向されているかを分かっている。較正は、店舗の3D空間における点からカメラ画像の画素へのマッピング(その逆も可能)も提供する。
魚眼カメラ画像から直接追跡することは、例えば魚眼カメラに固有の歪みのため、難しい場合がある。したがって、1つ又は複数の実施形態では、システムは、各カメラ画像から共通平面への平坦な板状投影を生成してもよい。例えば、1つ又は複数の実施形態では、共通平面は、この場所の床又は地面から1メートル上方の水平面であり得る。この平面は、店舗内を歩く多くの人がこの面と交差するという利点を有している。図27A、27B、及び、27Cは、図26A〜図26Fの魚眼画像のうちの3つの画像をこの平面に投影したものである。地面から1メートル上方の共通平面における各点は、同じ画素座標における平面状の投影における画素に対応する。したがって、画像27A、27B、及び、27Cといった各画像の共通平面への投影において、同じ座標における画素は全て、空間における同じ3D点に対応している。しかし、カメラは、深度を撮像しない2次元カメラであってもよいので、3D点は、光線に沿った、光線とカメラとの間のあらゆる場所でサンプリングされてもよい。
具体的には、1つ又は複数の実施形態では、平面投影27A、27B、及び、27Cは、次のように生成され得る。各魚眼カメラを較正して、(例えば画像26Aといった)魚眼画像内の画素と、カメラの焦点から始まる空間の光線との対応度を判定できる。画像26Aのような魚眼画像から、店舗又は場所内の一平面又は他の任意の表面に投影するために、カメラ焦点から表面上のこの点までの光線が形成され、光線に関連付けられた魚眼画像内の画素の色又は他の特徴が、表面上のこの点に割り当てられ得る。
対象物が床の1メートル上方にある時、全てのカメラは、それぞれの射影表面においてほぼ同じ画素強度で映し、対象物が1メートル上方にあるならば、投射された2D画像上の全てのパッチが、関連付けられることになる。これは、ここに記載の技術が、人が位置する(床の上を飛びあがっていない)時に床に並行な平面上に投射するとすれば、技術的に公知のプレーンスイープステレオ法に類似している。投影された2D画像の分析は、店舗又は場所の歩くことができる空間、及び、特定のカメラ画像における空間の幾つかの部分のオクルージョンを考慮してもよい。この情報は、例えば、店舗又は場所の3Dモデルから得てもよい。
幾つかの状況において、床から1メートル上方にある、人の点が、1つ又は複数の魚眼カメラビューにおいて、他の人又は他の対象物に隠れて見えなくなっていることがあり得る。しかし、天井取付式魚眼カメラの利用は、天井ビューが下にいる人が比較的隠されていないビューを提供するため、このリスクを最小化するものである。固定位置にある店舗の備品又は特徴物にとって、カメラ毎にオクルージョンを予め算出可能であり、これらの備品又は特徴物に隠された、当該カメラの、1メートル上方の平面に投影された画像上の画素は、無視してもよい。店舗内の人のような、動いている対象物の場合、オクルージョンは、予め算出可能ではないが、1つ又は複数の実施形態は、これらのオクルージョンを、例えば、前のフレームにおける店舗内の各人の位置に基づいて推定することができる。
動いている対象物、具体的には人を追跡するために、このシステムの1つ又は複数の実施形態は、バックグラウンド除去法又はモーションフィルタアルゴリズムを組み合わせて、平面投影画像のそれぞれについて背景を前景からマスキングしてもよい。図28A、28B、及び、28Cは、それぞれ、平面投影画像27A、27B、及び、27Cの前景マスクを示している。白色画素は、移動中又は非背景の対象物を示し、黒色画素は、動いていない又は背景の対象物を示している。(これらのマスクは、例えば照明の変化又はカメラノイズによる、ノイズを有していてもよい。)その後、前景マスクを組み合わせて、マスク28Dを形成してもよい。例えば、図28Dに示されるように、マスク値を加算すること又は二進ANDすることにより、前景マスクを組み合わせてもよい。図28Dにおける、組み合わされたマスクが非ゼロである位置は、地面から1メートル上方の平面における、人が位置している場所を示す。
1つ又は複数の実施形態では、各カメラ用の個々の前景マスクは、組み合わされる前にフィルタ処理されてもよい。例えば、ガウシアンフィルタを、各マスクに適用してもよく、フィルタ処理されたマスクを合計して、組み合わされたマスクを形成してもよい。1つ又は複数の実施形態では、選択された強度よりも上の値を有する組み合わされたマスクに画素を配置するために、閾値化ステップを用いてもよい。閾値は、幾つかのカメラが、人が隠されたビューを有していたとしても、その人に関連付けられた画素を識別する値に設定されていてもよい。
組み合わされたマスクを形成した後は、このシステムの1つ又は複数の実施形態は、例えば、単純なボケ検出器を用いて、画素空間における人を見つけ出してもよい。ボケ検出器は、大きすぎて又は小さすぎて床の1メートル上方における人の期待される断面寸法に対応しない形状を、フィルタで除去してもよい。選択された水平面における画素が店舗内の3D位置に直接対応しているため、この工程により、店舗内の人の位置を得ることができる。
人を時間と共に追跡することは、ある時間ステップから次の時間ステップまでの検出を一致させることによって、行ってもよい。1つ又は複数の実施形態において使用され得る例示的な一追跡フレームワークは、以下の通りである。
(1)新たな検出を、もしあれば既存の追跡路に一致させる。これは、以下に記載するように、位置及び外観を介して行ってもよい。
(2)既存の追跡路を一致した検出で更新する。追跡路の位置は、一致した検出の位置に基づいて更新され得る。
(3)空間が残っている追跡路、又は、ある期間機能していない(例えば、ご検出の)追跡路を取り除く。
(4)ステップ(1)の一致していない検出を新たな追跡路に加える。システムは、随意、空間へのエントリーポイントにおいてのみ追跡路だけを選択して加えてもよい。
したがって、上記に概略を説明した追跡アルゴリズムは、全ての追跡されている人の時間内の位置を維持する。
例示的な追跡フレームワークのステップ(1)において上述したように、検出と追跡路とを一致させることは、位置及び外観の一方又は両方に基づいて行ってもよい。例えば、次の瞬間における人検出が、1つだけの追跡路の以前の位置に近いならば、この検出を、位置だけに基づいて当該追跡路に一致させてもよい。しかし、混雑した店舗といった幾つかの状況において、位置だけに基づいて検出を追跡路に一致させることはより困難であり得る。これらの状況では、マッチングを支援するために、人の外観を用いてもよい。
1つ又は複数の実施形態では、検出された人についての外観は、この人の対応する画素を有する一組の画像を抽出することによって、生成され得る。1つ又は複数の実施形態において用いられ得るこれらの画像を抽出するための方法は、人の周りに表面を生成する(表面の位置を規定するために、検出された人の位置を用いて)こと、及び、各カメラについて、この表面上の3D点の画素値をサンプリングすることである。例えば、図29A〜図29Fに示されるように、人の位置の周りに円柱面を生成してもよい。これらの図は、各カメラから見えるような共通の円筒形(赤色)を示している。円筒形(又は他の表面)の表面法線ベクトルを、各カメラから見ることができる表面点をサンプリングするためだけに用いてもよい。検出された各人について、(例えば、組み合わされた前景マスクにおける当該人に関連付けられたぼけの中心として規定される)人の位置を通る中心縦軸の周りに円筒形を生成してもよい。円筒形の半径及び高さは、固定値に設定してもよいし、人の明らかな寸法及び形状に適合させてもよい。
図29A〜図29Fに示されるように、円柱面が、元の各カメラビュー(図26A〜図26F)において、各カメラの内部値/外部値に基づいて特定される。各画像から円筒形状の点をサンプリングして、図30A〜図30Fに示される投影を形成する。円筒形が不透明な表面を有しているならば、システムは、円筒形の表面法線ベクトルを用いて、単に、各カメラの中で視認可能となる点をサンプリングしてもよい。図30A〜図30Fでは、隠れている点は、暗くなっている。この方法の利点は、円柱面が、各カメラから対応するビューを提供する点であり、これらのビューを、各画素における可視性を考慮して組み合わせて、単一のビューにすることが可能である。各カメラの各円筒状の画像における各画素の可視性は、カメラから見えるような円筒形の前方及び後方の両方、並びに、他の人の周りの他の円筒形によるオクルージョンを考慮してもよい。オクルージョンは、例えば、グラフィックスパイプラインに似た方法を用いて算出してもよく、カメラにより近い円筒形が最初に投影され、これらの円筒形上にマッピングされた魚眼画像上の画素は、他の円筒形上に投影されないように除去される(例えば、黒色に設定される)。この工程は、全ての円筒形が魚眼画像から投影された画素を受け取るまで、繰り返される。各カメラからの円筒状の投影は、例えば以下のように組み合わされてもよい。すなわち、裏面に重み0が割り当てられ、可視の、隠れていない画素に、重み1が割り当てられ、組み合わされた画像は、円筒形への全ての投影の加重平均として算出されてもよい。隠れた円筒状の投影を組み合わせることは、外観抽出を容易にする追跡された人の登録画像を生成する。円筒状の投影30A〜30Fに対応する組み合わされた登録画像が、図30Gに示されている。
画像30Gからの外観抽出は、例えば、ヒストグラム又は他の任意の次元縮退方法によって行ってもよい。追跡された各人の合成画像から、より低い次元ベクトルを形成して、これを使用して他の追跡された被写体と比較してもよい。例えば、ニューラルネットワークを訓練して、円筒状の合成画像を入力として取り、同じ人からの他のベクトルに近くて他の人からのベクトルから遠い、より低い次元ベクトルを出力するようにしてもよい。人を区別するために、ベクトルからベクトルへの距離を算出し、閾値と比較してもよい。例えば、距離0.0〜0.5は同じ人を示し、より大きい距離は別の人を示していてもよい。1つ又は複数の実施形態は、各追跡路についての外観ベクトルの分布を形成し、分布から分布測量(例えばKL相違等)を用いて分布を比較することによって、人の追跡路を比較してもよい。分布間の判別式を算出して、新たなベクトルを、店舗又は場所内の既存の人に付してもよい。
技術的に公知の外観ベクトル及び人マッチング法に関して上述した技術の潜在的利点は、空間における人の潜在的オクルージョンが多く存在する混雑した空間において、よりロバストであり得るという点である。可視性及びオクルージョンを考慮しながら複数のカメラからのビューを組み合わせることにより、この技術は、混雑した空間であっても、有用な外観データを生成する点において成功し、これによってロバストな追跡が可能になり得る。この技術は、方向付けられた表面(本例では円筒形)を基本サンプリングユニットとして扱い、各カメラからの3D点の可視性に基づき投影を生成する。表面上の1つの点は、この表面への法線がカメラから離れた箇所を指しているならば(ドット積が負であるならば)、1つのカメラから視認できない。また、混雑した店舗空間において、物理的規則(可視性及びオクルージョン)に従ってカメラをサンプリングし、複数のカメラからの円筒状の投影をサンプリングすることは、他の個人からの画素が入っていない各個人のより鮮明な画像を提供し、これによって人を識別又は分離するタスクが容易になる。
図31A及び図31Bは、上述の追跡技術を取り入れた一実施形態からの2つの時点におけるスクリーンショットを示す。店舗内の3人が検出され、位置及び外観の両方を使用して、動きに応じて追跡される。これらのスクリーンショットは、魚眼カメラのうちの1つからの魚眼ビュー3101及び3111を示しており、ここで、各人の位置は、人の画像に重ねられたカラードットで示されている。これらはまた、図27Dに関連して上述で説明したような、地面から1メートル上方の平面への平面投影用の組み合わされたマスク3102及び3112を示している。組み合わされたマスク3102及び3112における最も明るいスポットは、検出位置に相当する。追跡の図のように、これらの人のうちの1人の位置が、図31Aに対応する時間における位置3103から、図31Bに対応する次の時間における位置3113に移動する。
本発明の実施形態は、より複雑なモデル、例えば、頭用の球状モデルや、上腕及び下腕用、及び/又は、上脚及び下脚用のさらなる円筒状モデルを利用してもよい。これらの実施形態は、ユーザをより詳細に区別することが可能であり、ユーザ及びその際立った特徴を区別するために、歩き方分析、動きの速度、位置の任意の派生物と組み合わせて利用してもよい。任意の派生物には、速度加速度、引っ張り、又は、移動の他の任意の周波数が含まれる。1つ又は複数の実施形態では、モデルの複雑度が、例えば所定のエリアにおけるユーザの数に基づき、時間と共に又は必要に応じて、警告される。他の実施形態は、例えば、利用可能な計算能力や、許容できるエラー率を含む他の要因に基づいて、ユーザ毎に単純な円筒状又は他の幾何学形状を用いてもよい。
カメラ画像にバックグラウンド除去法を行い、結果として得られたマスクを組み合わせることによって、店舗内の人を識別する別の方法として、1つ又は複数の実施形態は、一組のカメラ画像を直接処理して人を識別する機械学習システムを訓練及び使用してもよい。システムへの入力は、全てのカメラからの、又は、関連エリア内の全てのカメラからのカメラ画像であってもよいし、これを含んでもよい。出力は、強度マップであってもよいし、又は、これを含んでもよい。ここでは、値が高いほど、人がその位置にいる可能性が高いことを示している。機械学習システムは、例えば、人が店舗エリアを動き回る間、カメラ画像を撮像し、人の位置に手動でラベルを付して訓練データを形成することによって訓練され得る。カメラ画像を直接、入力として用いてもよいし、又は、1つ又は複数の実施形態では、これらは処理され、処理された画像を入力として用いてもよい。例えば、天井の魚眼カメラからの画像を、上述のように、床に平行な平面に投影して、投影画像を、機械学習システムへの入力として用いてもよい。
図32は、カメラ画像から店舗内の人の位置を検出する機械学習システムの一例を示す。この例示的な実施形態は、店舗3200内に、3つのカメラ3201、3202、及び、3203を有している。ある時点において、これら3つのカメラは、それぞれ、画像3211、3212、及び、3213を撮像する。これら3つの画像は、機械学習システム3220に入力される。機械学習システム3220は、一群のカメラ画像から、店舗内の人が居る可能性の高い位置の強度マップ3221にマップするように学習した(学習している)ものである。
図32に示される例では、システム3220の出力は、店舗内の人が居る可能性の高い水平位置である。垂直位置は追跡されない。人は3D空間を占めるが、水平位置は、通常、各人が店舗内のどこにいるかを判定するため、及び、商品動作を人に関連付けるために必要とされる全てである。したがって、強度マップ3221は、店舗の床に沿ったxy位置を、人の重心(又は、人の他の1つ又は複数の点)がその水平位置にある可能性はどれくらいかを表す強度にマッピングする。この強度マップは、グレースケール画像として表されてもよく、例えば、白色画素は、その位置において人がいる確率がより高いことを表している。
図32に示される人検出システムは、人体上の目印又は人の形状の他の特徴を検出しようとするシステムよりも、かなりの単純化を表している。人の位置は、単一の2D点だけによって表されており、場合によっては、この点の周りの区域は、確率が低い。この単純化は、検出を、潜在的により効率良くかつよりロバストにする。この方法を使用すれば、検出を行うための処理能力は低減され得るため、システムの取り付け、及び、リアルタイムの人追跡を可能するためにかかる費用を低減可能である。
1つ又は複数の実施形態では、ある人の水平位置を表す2D点の周りに、人の3D影響体積域が構築され得る。その後、この影響体積域を用いて、当該人はどの商品格納エリアと相互作用したか、及び、これらの相互作用が行われた時を判定してもよい。例えば、図10に関連して上述で説明したように影響体積域を用いてもよい。図32Aは、例えば、図32の機械学習システム3220によって判定されたような、人の2D位置からの3D影響体積域を生成する一例を示している。本例では、機械学習システム又は他のシステムが、2D位置データ3221dを生成する。このデータは、図32の強度マップデータ3221を含み、これを拡張する。強度データから、システムは、店舗内の各人の点2D位置を推定する。これらの点は、第1の買い物客にとっては3231aであり、第2の買い物客にとっては3232である。2D点を、例えば、極大強度を囲む領域における点の加重平均として算出してもよく、ここで重量は、各点の強度に比例する。第1の買い物客が移動し、システムは、この買い物客の2D位置の軌跡3230を追跡する。当該軌跡3230は、例えば、それぞれが異なる時間に関連付けられた一連の位置から構成されていてもよい。例えば、時間t1において、第1の買い物客が位置3231aにおり、時間t4において、当該買い物客は2D点3231bに達する。異なる時点における買い物客の各2D点の位置について、システムは、当該点の周りに3D影響体積域を生成してもよい。この影響体積域は、全ての買い物客及び全ての時点で使用される標準形状の並進コピーであってもよい。例えば、図32Aでは、システムは、標準的高さ及び半径の円筒形を生成し、ここで、円筒形の中心軸は、買い物客の2D位置を通過する。第1の買い物客の円筒形3241aは、時間t1の点3231aにおける影響体積域に対応し、第2の買い物客の円筒形3242は、点3232における影響体積域に対応する。円筒形は例示であり、1つ又は複数の実施形態は、3D影響体積域に任意の種類の形状を使用してもよい。この形状には、例えば、円筒形、球体、立方体、長方体、楕円形、又は、これらの任意の組み合わせが含まれるが、これらに限定されない。選択された形状は、全ての買い物客及び買い物客の全ての位置に用いてもよい。追跡された2D位置の周りに単純な標準化された体積を使用することは、目印や他の特徴の特定位置を追跡して、各買い物客についての詳細な3D形状を構築することと比べて、効率化における著しい利点を提供する。
第1の買い物客が時間t4において2D位置3231bに達すると、3D影響体積域3241bが、商品格納エリア3204と交差する。この交差は、買い物客が棚の上の商品と相互作用したかもしれないことを示唆し、システムを始動させて棚を追跡し、商品の移動を判定し、これらの移動を第1の買い物客に帰属させ得る。例えば、交差が起こる前、又は、交差期間の開始時の棚3204の画像を、買い物客が去り体積域が全く棚と交差していない時、又は、交差期間の終了時の棚の画像と比較してもよい。
1つ又は複数の実施形態は、さらに、この分析を完全又は部分的に3Dの代わりに2Dにおいて行うことによって、交差の検出を単純化してもよい。例えば、棚3204に相当するエリア3254といった商品格納エリアの2D位置を示す、店舗の2Dモデル3250を用いてもよい。2Dでは、円筒形の3D影響域が、3Dにおける円筒形3241a及び3241bに相当する円3251a及び3251bといった、円形の2D影響エリア域になる。2D影響エリア域3251bが、2Dの棚エリア3254と交差することは、買い物客が棚と相互作用しており、上述の分析を開始したかもしれないことを示している。1つ又は複数の実施形態では、影響エリア域と、3Dの代わりに2Dにおける交差とを分析することは、必要とされる計算及びモデリングの量を減らすことにより、さらなる効率における利点を提供し得る。
上述のように、かつ、図26〜図31に示されるように、1つ又は複数の実施形態では、魚眼カメラといった天井取付式カメラを用いて人追跡及び検出を行うことは、好都合であり得る。これらのカメラからのカメラ画像、例えば画像26A〜26Fを、図32の機械学習システム3220への入力として用いてもよい。選択的又は追加的に、これらの魚眼画像を、1つ又は複数の平面に投影してもよく、投影画像は、機械学習システム3220への入力であり得る。複数のカメラからの画像を共通平面に投影することは、人検出を簡略化し得る。なぜなら、人がこの平面に交差する点において、投影画像における人が隠れていないビューが重なるからである。この技術は、図33に示されており、この図は、店舗3200の天井に取り付けられた2つのドーム魚眼カメラ3301及び3302を示している。魚眼カメラ3301及び3302によって撮像された画像が、店舗の床に平行な、典型的な買い物客のほぼ腰の高さにおける虚数平面3310に投影される。平面3310上の投影された画素の位置は、これらが他の対象物に隠れていないならば、上記の高さにおける対象物の実際の位置と一致する。例えば、カメラ3301及び3302からの魚眼カメラ画像の画素3311及び3312は、それぞれ、平面3310内の同一位置3305に投影される。これは、買い物客の1人が、この位置において平面3310に交差するからである。同様に、画素3321及び3322は、同じ位置3306に投影される。なぜなら、他の買い物客が、この位置において平面3310に交差するからである。
図34AB〜図37は、この、人工的に生成されたシーンのために魚眼画像を共通平面に投影する技術を示している。図34Aは、このシーンを斜視図から示し、図34Bは、このシーンを上面図から示すものである。店舗3400は、2つの棚の間に床エリアを有しており、この時、2人の買い物客3401及び3402が、当該エリアにいる。店舗3400は、2つの天井取付式魚眼カメラ3411及び3412を有している。(図示を簡略化するために、店舗の天井は示されていない。)図35は、カメラ3411及び3412からそれぞれ撮像された魚眼画像3511及び3512を示す。これらの魚眼画像は、機械学習システムに直接入力されてもよいが、このシステムは、1つの画像内の対象物の位置を、他の画像における当該対象物の位置に関連させる方法を学習する必要があろう。例えば、買い物客3401は、カメラ3411からの画像3511における位置3513、及び、カメラ3412からの画像3512における別の位置3514に現れる。機械学習システムがこれらの対応を学習することが可能ではあるが、大量の訓練データが必要になるかもしれない。図36は、2つの魚眼画像が共通平面、この場合、床から1メートル上方の平面に投影されたものを示す。画像3511は、投影3601と共に画像3611に変換され、画像3512は、投影3601と共に画像3612に変換される。この場合の投影平面の高さは、ほとんどの買い物客の胴と交差するように選択され、1つ又は複数の実施形態では、1つ又は複数の任意の平面を投影に用いてもよい。1つ又は複数の実施形態は、魚眼画像を、異なる高さの複数の平面に投影してもよく、これらの投影の全てを機械学習システムへの入力として使用して、人を検出してもよい。
図37は、互いに重ねられた画像3611及び3612を示し、買い物客の位置がこれらの2つの画像において一致していることを説明するものである。図示のために、これらの画像は、それぞれ、0.5だけアルファ重み付けされ、その後、合計される。結果として得られる重複画像3701は、買い物客3401の重複3711の位置、及び、買い物客3402の重複3712の位置を示している。これらの位置は、投影平面と各買い物客との交差に対応する。図27ABC及び28ABCDに関して上記したように、1つ又は複数の実施形態では、交差エリア3711及び3712を直接使用して、例えば強度及びぼけ検出の閾値化によって、人を検出してもよい。選択的又は追加的に、投影画像3611及び3612を、以下に示すように、機械学習システムに入力してもよい。
図37に示されるように、カメラ画像における人の外観は、この画像が共通平面に投影された時でも、カメラの位置に応じて変動する。例えば、画像3611における図3721と、画像3612における図3722とは、これらの図が組み合わされた画像3701における領域3711において重複しているけれども、異なる。画像がカメラ位置に依存しているため、カメラ位置の知識により、カメラ画像中の人を検出するための機械学習システムの能力が改善され得る。本発明者は、カメラ位置を説明する効果的な技術が、各投影画像を、投影面上の関連付けられた各点とカメラ位置との距離を反映するさらなる「チャンネル」で拡張することであることを発見した。予期していなかったが、このチャンネルを入力特徴として加えることは、人の位置を認識するように機械学習システムを訓練するために必要な訓練データの量を著しく低減し得る。この、カメラ画像を共通平面に投影して、距離情報のチャンネルを各画像に加える技術は、技術的に知られていない。距離情報をさらなる画像チャンネルとして符号化することは、また、画像を処理するように組織された機械学習システム(以下に説明するような、畳み込みニューラルネットワーク等)を容易に適用させて、このさらなるチャンネルを入力として適合するという利点を有している。
図38は、投影画像に関連付けられたカメラ距離チャンネルを生成するために1つ又は複数の実施形態において使用され得る技術を説明するものである。(床から1メートル上の平面といった)投影面上の各点について、各カメラまでの距離を判定し得る。これらの距離は、例えば、較正されたカメラ位置に基づいて算出され得る。例えば、投影面と買い物客3401の胴との交差上にある点3800では、これらの距離は、カメラ3411までの距離3801及びカメラ3412までの距離3802である。距離は、任意の所望の測定基準で算出されてもよい。所望の測定基準には、図38に示されるようなユークリッド測定基準が含まれるが、これに限定されない。カメラと投影面上の各点との間の距離に基づいて、各点についての位置重み3811が算出され得る。この位置重みは、例えば、画像上の異なる位置において画素の重要度を調節するために、機械学習システムによって使用され得る。位置重み3811は、カメラと位置との間の距離3812の任意の所望の関数であり得る。図38に示される例示的な位置重み曲線3813は、直線状であり、距離の関数を低減し、最小距離において最大重み1.0となる。位置重みは、最大距離における0まで低減してもよいし、又は、他の何らかの所望の最小重み値に設定されてもよい。1つ又は複数の実施形態は、線形関数以外にも、位置重み関数を使用してもよい。1つ又は複数の実施形態では、位置重みはまた、カメラからの距離に加えて、棚又は関連する他の区域に近接した照明又は障害物からの距離、オクルージョン又は影の存在、又は、他の任意の要因といった他の変数に相関していてもよい。
例示的に、カメラ3411用の位置重みマップ3821、及び、カメラ3412用の位置重みマップ3822が、図38にグレースケール画像として示されている。グレースケール画像では、画素は明るくなる程、より高い位置重みに対応する。より高い位置重みは、カメラと当該画素に関連付けられた投影面上の位置との間のより短い距離に対応するものである。
図39は、図38において生成された位置重みマップを、1つ又は複数の実施形態において、どのように人検出に使用し得るかを説明するものである。カメラ3411及び3412からのそれぞれの投影画像3611及び3612が、色チャンネルに分離され得る。図39は、これらの画像をRGB色チャンネルに分離することを示している。これらのチャンネルは例示であり、1つ又は複数の実施形態は、任意の色空間又は任意の他の画像処理法を用いて、画像をチャンネルに任意の所望の分解を行ってもよい。RGBチャンネルを、画像を撮像したカメラ用の位置重みマップを示す4番目のチャンネルと組み合わせてもよい。各画像について4つのチャンネルが、機械学習システム3220に入力され、機械学習システム3220は、各画素についての検出確率を有する出力3221aを生成する。したがって、画像3611は、4つの入力3611r、3611g、3611b、及び、3821に対応し、画像3612は、4つの入力3612r、3612g、3612b、及び、3822に対応する。機械学習システムを単純化するために、1つ又は複数の実施形態では、位置重みマップ3821及び3822を拡大縮小して、関連付けられた色チャンネルと同じ寸法になるようにしてもよい。
機械学習システム3220は、任意の機械学習技術又は方法を組み入れていてもよい。1つ又は複数の実施形態では、機械学習システム3220は、ニューラルネットワークであってもよいし、これを含んでいてもよい。図40は、1つ又は複数の実施形態において使用され得る例示的なニューラルネットワーク4001を示す。このニューラルネットワークでは、入力は、各投影画像について4チャンネルであり、上述のように、4番目のチャンネルは位置重みを含んでいる。入力4011は、第1のカメラからの4つのチャンネルを表し、入力4012は、第2のカメラからの4つのチャンネルを表し、任意の数のさらなるカメラからのさらなる入力4019があってもよい(これも、位置重みで補強されている)。位置重みチャンネルを含む全ての画像チャンネルを同じ寸法に拡大縮小することによって、全ての入力は、同じ座標システムを共有し得る。したがって、N個のカメラ、及び、寸法H×Wの画像を有するシステムの場合、このネットワークの入力値の合計は、N*H*W*4となり得る。より一般的に言えば、各画像についてのC個のチャンネル(潜在的に位置重みを含む)では、入力の合計は、N*H*W*Cとなり得る。
例示的なニューラルネットワーク4001は、例えば、2つの半体を有する完全畳み込みネットワークであってもよい。2つの半体とは、寸法を低減させた層から形成され得る特徴抽出ネットワークの(N個のカメラの)N個のコピーから形成された第1の(左)半体と、抽出された特徴を位置にマッピングする第2の(右)半体とである。これらの2つの半体の間に、例えばN個の特徴マップの平均であり得る特徴合併層4024があり得る。ネットワークの第1の半体は、例えば、標準画像分類ネットワークのN個のコピーを有し得る。この画像分類ネットワークの最終分類層を除去して、ネットワークを事前訓練された特徴抽出器として使用してもよい。このネットワークは、ImageNetデータセットといったデータセット上に、事前訓練され得る。ImageNetデータセットとは、人を含むがこれに限定されない様々な種類の対象物の画像及びラベルを有する標準対象物データセットである。ネットワーク内の(画像に近い)下位層は、通常、画素統計及び元画素を反映している。事前訓練された重みに、乱数値で初期化され得る位置マップ用のさらなる重みを加えてもよい。その後、ネットワーク全体を、手動でラベルを付された人の位置を用いて訓練してもよい。これについては、以下に図41に関連して説明する。事前訓練された重みを含む全ての重みは、ラベルが付されたデータセットを用いた訓練の間に変動し得る。例示的なネットワーク4001において、(画像特徴を抽出する)画像分類ネットワークのコピーは、4031、4032、及び、4039である。(さらなるカメラが存在する場合は、さらなるコピーが存在し得る。)これらのコピー4031、4032、及び、4039は、同一の重みを有していてもよい。
ネットワーク4031(及び、また4032及び4039)の第1の半体は、例えば、特徴マップの空間寸法を何回か低減してもよい。例示的なネットワーク4031は、この寸法を3回低減し、3つの層4021、4022、及び、4023となる。例えば、寸法H×W×Cの入力4011といった入力の場合、層4021、4022、及び、4023の出力特徴マップは、それぞれ、寸法H/8×W/8、H/16×W/16、及び、H/32×W/32であり得る。この例示的なネットワークでは、入力4011の全てのC個のチャンネルが層4021に入力され、一緒に処理されて、寸法H/8×W/8の出力特徴を形成する。この出力特徴は、下段の層4022に供給される。これらの値は例示であり、1つ又は複数の実施形態は、任意の所望の次元の各層の入力及び出力寸法を有する、任意の数の特徴抽出層を使用してもよい。
特徴合併層4024は、例えば、この合併層に入力された全ての特徴マップの平均であってもよい。全てのカメラからの入力は等しく重み付けされるので、カメラの数は、ネットワークの重みを変えることなく、動的に変化し得る。この柔軟性が、当該ニューラルネットワーク構造の大きな利点である。これは、1つ又は複数のカメラが稼働していない場合に、システムが機能し続けることを許可する。また、新たなカメラをいつでも追加することを許可し、この際にシステムを再訓練する必要はない。加えて、使用されるカメラの数は、訓練中は、運用時の人検出のために配備されている場合と比べて異なっていてもよい。比較において、技術的に公知の人検出システムは、カメラが変化した場合又は機能していない場合には、ロバストではあり得ず、店舗のカメラ構成を変更する時はいつでも、かなりの再訓練を必要とし得る。
最終低減層4023及び他のカメラの二重の最終低減層からの出力特徴が、特徴合併層4024に入力される。1つ又は複数の実施形態では、1つ又は複数の前の低減層からの特徴も、特徴合併層4024に入力され得る。この組み合わせは、例えば、先の層からの下位レベルの特徴と、後の層の上位レベルの特徴との組み合わせを提供し得る。例えば、複数のカメラにわたる、先の1つの層(又は先の複数の層)からの下位レベルの特徴の平均を求めて、統合された下位レベルの特徴出力を形成してもよい。統合された下位レベルの特徴出力は、上位レベルの特徴の平均と共に、第2の半体のネットワーク4041に入力され得る。
(Nセットの特徴マップを1セットに低減する)特徴合併層4024の出力は、第2の半体のネットワーク4041に入力される。第2の半体のネットワーク4041は、例えば、一連の転置された畳み込み層(デコンボリューション層としても知られる)を有してもいてもよい。これらの層は、出力の寸法を入力画像の寸法H×Wと一致するように上昇させる。任意の数のデコンボリューション層を用いてもよく、例示的なネットワーク4041は、3つのデコンボリューション層4025、4026、及び、4027を有している。
最後のデコンボリューション層4027からの最終出力3221aは、人の位置の「熱マップ」として解釈され得る。出力熱マップ3221a内の各画素は、全てのカメラ画像が投影された投影面におけるx、y座標に対応する。出力3221aは、グレースケール画像として示されており、画素は明るくなる程、より明るいニューラルネットワーク4001からの出力のより高い値に相当する。これらの値を、例えば範囲0.0〜1.0に拡大縮小してもよい。熱マップの「ホットスポット」は、人検出に対応し、ホットスポットのピークは、各人の重心のx、y位置を表している。ネットワーク4001が人の位置の検出において完全な精度を有していないため、出力熱マップは、ホットスポットの重心の周りに、より高い又は中程度の強度の区域を含み得る。
ニューラルネットワーク4001といった機械学習システムを、平面上に投影されたカメラから撮像された画像を用いて訓練し、その後、手動によりラベルを付して、これらの画像内の人の位置を示してもよい。この工程は図41に示されている。人が店舗エリアにいる間にカメラ画像を撮像し、これを平面に投影して画像3611を形成する。ユーザ4101が、この画像(及び、このセッション又は他のセッションの間に撮像された、同一のカメラ又は他のカメラからの他の画像)を再確認し、ユーザは、これらが投影平面に交差するエリアの重心において、手動により人の位置にラベルを付す。ユーザ4101は、4102及び4103といった点を、人の位置のために選ぶ。この訓練システムは、その後、4104において、選択された点の周りの確率密度分布を生成する。例えば、1つ又は複数の実施形態におけるこの分布は、選択された点に中心を置いた特定の幅の2次元ガウス分布であり得る。ターゲット出力4105は、例えば、各画素においてステップ4104で生成された分布の合計であり得る。1つ又は複数の実施形態は、人の位置を示すために、ユーザによって選択された1つ又は複数の点の周りの任意の種類の確率分布を用いてもよい。ターゲット出力4105を、その後、訓練のために使用される全てのカメラからの、入力4011及び4012といったカメラ入力(及び位置重み)と組み合わせて、訓練サンプル4106を形成してもよい。この訓練サンプルは、ニューラルネットワークを訓練するために使用される訓練データセット4107に追加される。
1つ又は複数の実施形態において使用され得る例示的な訓練工程は、1つ又は複数の人に店舗の中を移動させて、投影されたカメラ画像を固定の時間間隔で(例えば、1秒毎に)サンプリングすることである。サンプリングされた画像は、図41に示されるように、ラベルが付されて処理される。訓練の繰り返し毎に、エリア内のカメラのランダムなサブセットを選択して、入力として使用してもよい。また、平面投影を、ランダムに選択された、店舗の上のある高さ範囲内の、床に平行な平面に対して行ってもよい。加えて、さらなるサンプルを生成するためにランダムなデータ拡大を行ってもよく、例えば、合成画像を生成して、人の形状又は色を変形させてもよいし、又は、これらの画像を店舗の別のエリアに移動(及び、これに合わせて、ラベルが付された位置を移動)させてもよい。
店舗又は他のエリアにおける人及び商品の移動を追跡することは、店舗に既に存在し得る「従来の」監視カメラを含む、任意のカメラ(又は他のセンサ)を使用してもよい。選択的又は追加的に、システムの1つ又は複数の実施形態は、自動化店舗システムの取付、構成、及び、運用を簡略化する、カメラや他の部品を備えるモジュール素子を含んでいてもよい。これらのモジュール要素は、自動化店舗の一括取付を支援し、潜在的に取り付け及び運用コストを低減し得る。人及び商品の追跡の質も、追跡のために最適化されたモジュール要素を用いることによって改善され得る。
図42は、モジュール式「スマート」棚を備える店舗4200を示している。モジュール式「スマート」棚は、棚の上の商品を手に取ること、移動させること、又は、戻すことを検出するために使用され得る。スマート棚は、例えば、1つの統合モジュールにおいて、カメラ、照明、プロセッサ、及び、通信要素を含み得る。店舗は、1つ又は複数のキャビネット、ケース、又は、垂直に積まれた複数のスマート棚を備える棚ユニットを有していてもよい。例示的な店舗4200は、2つの棚ユニット4210及び4220を有している。棚ユニット4210は、3つのスマート棚4211、4212、及び、4213を有している。棚ユニット4220は、3つのスマート棚4221、4222、及び、4223を有している。データが各スマート棚からコンピュータ130に送信され、各棚においてどの商品が移動されたかを分析できる。選択的又は追加的に、1つ又は複数の実施形態では、各棚ユニットは、ローカルハブとして機能し、当該棚ユニットの各スマート棚からのデータを統合し、この統合されたデータをコンピュータ130に転送し得る。棚ユニット4210及び4220はまた、各スマート棚からのデータにローカル処理を行ってもよい。1つ又は複数の実施形態では、自動化店舗は、例えば、階層型システムとして構成されていてもよく、ここで、店舗全体が上位レベルにあり、「スマート」棚ユニットが第2のレベルにあり、スマート棚が第3のレベルにあり、カメラ又は照明といった構成要素が第4のレベルにある。1つ又は複数の実施形態は、階層型構造における要素を任意の数のレベルで組織してもよい。例えば、店舗を複数の領域に分割してもよく、ここで、各領域についてローカル処理が行われ、その後、上位レベルの店舗プロセッサに転送される。
図42に示されるスマート棚は、棚の底部に取り付けられたカメラを有しており、これらのカメラは、下方の棚の上の商品を監視する。例えば、棚4212の上のカメラ4231は、棚4213の上の商品を監視する。ユーザ4201が棚4213の上の商品に手を伸ばすと、棚4212及び4213の一方又は両方のカメラが、ユーザの手が棚エリアに入ったことを検出し、棚の内容物の画像を撮像し得る。棚の内容物の画像は、どの商品が手に取られた又は移動されたかを判定するために使用され得る。このデータを、例えばカメラ4231及び4232といった他の店舗カメラからの画像と組み合わせて、買い物客を追跡し、商品移動を特定の買い物客に帰属させてもよい。
図43は、正面から見たスマート棚4212の例示的な一実施形態を示している。図44〜47は、この実施形態のさらなる図を示している。スマート棚4212は、左及び左端部に、それぞれカメラ4301及び4302を有しており、これらは、棚の前端に沿って内側に向けられている。したがって、左端カメラ4301は、右を向いており、右端カメラ4302は、左を向いている。これらのカメラを使用して、例えば、いつユーザの手が棚エリアに入ったか又はそこから出たかを検出してもよい。これらのカメラ4301及び4302を、棚ユニット内の棚4212の上方及び/又は下方の棚(例えば、図42の棚4211及び4213)に設けられた類似のカメラと組み合わせて用いて、手のイベントを検出してもよい。例えば、このシステムは、棚の中に入る手の位置を三角測量するために、複数の手検出カメラを用いてもよい。2つのカメラで手を監視すれば、手の位置を2つの画像から判定することができる。複数のカメラ(例えば4台以上)で棚を監視すれば、複数のビューが潜在的オクルージョンを相殺可能であるため、システムは、2つ以上の手の位置を一度に判定することが可能であり得る。どの商品が手に取られた、移動された、又は棚に追加されたかを判定するために、手を入れるイベントの少し前の棚の画像を、手の退出させるイベントの直後の棚の画像と比較してもよい。1つ又は複数の実施形態では、カメラ4301及び4302の代わりに、又は、これらに加えて、他の検出技術を使用して、当該棚についての手を入れるイベント及び手を退出させるイベントを検出してもよい。これらの技術は、例えば、光のカーテン、棚又は棚ユニットにアクセスするために開く必要があるドアに設けられたセンサ、超音波センサ、及び、動き検出器が含まれ得るが、これらに限定されない。
スマート棚4212は、棚の底面に取り付けられた1つ又は複数の下を向いたカメラモジュールも有していてもよく、これらのカメラモジュールは、下方の棚4213に向けられている。例えば、棚4212は、棚の底面に取り付けられたカメラモジュール4311、4312、4313、及び、4314を有している。カメラモジュールの数、及び、それらの位置及び向きは、取り付けによって様々であってもよく、また、店舗内の個々の棚に応じて様々であってもよい。これらのカメラモジュールは、棚の上の商品の画像を撮像してもよい。これらの画像における変化を、システムによって、棚若しくは棚ユニット上のプロセッサによって、又は、これらの両方によって分析して、どの商品が手に取られた、移動された、又は、下方の棚に追加されたかを判定してもよい。
図44A及び44Bは、それぞれ、スマート棚4212の上面図及び側面図を示している。例えば、棚4212を棚ユニットに取り付けるために、ブラケット4440を用いてもよく、取り付けブラケット又は類似の取り付け機構の形状及び位置は、実施形態に応じて様々であってもよい。
図44Cは、スマート棚4212の底面図を示している。内側を向いたカメラ4301及び4302や、カメラモジュール4311、4312、4313、及び、4314に関連付けられた下を向いたカメラを含む、全てのカメラが、この図で可視できる。この例示的な実施形態では、各カメラモジュールは、2つのカメラを含んでおり、モジュール4311におけるカメラ4311a及び4311b、モジュール4312におけるカメラ4312a及び4312b、モジュール4313におけるカメラ4313a及び4313b、並びに、モジュール4314におけるカメラ4314a及び4314bを含んでいる。この構成は例示であり、カメラモジュールは、任意の数のカメラを含んでいてもよい。1つのカメラモジュールにつき2つ以上のカメラを使用することは、立体視覚を支援し、例えば、下方の棚の上の商品の3Dビュー、及び、ユーザが棚の上の商品と相互作用する時の棚の内容物における変化の3D表示を生成することができる。
棚4212は、照明モジュール4411、4412、4413、4414、4415、及び、4416も含んでいる。これらの照明モジュールは、例えば、帯状のLED照明であってもよい。スマート棚の実施形態は、任意の数の照明モジュールを任意の位置に含んでいてもよい。照明モジュールによって放出された光の強度、波長、又は、他の特徴は、スマート棚上のプロセッサによって制御され得る。照明のこの制御は、カメラモジュールの能力を強化し、商品移動を正確に検出して、移動された商品の識別を可能にする画像を撮像し得る。照明の制御は、商品の見栄えを良くし、又は、特価の商品や新製品といった特定の商品を強調するためにも使用され得る。
スマート棚4212は、プロセッサ及びネットワークスイッチを含む、統合された電子機器を含んでいる。例示的なスマート棚4212では、これらの電子機器は、棚の端部のエリア4421及び4422に備えられている。1つ又は複数の実施形態は、任意の要素を、棚の任意の位置に配置してもよい。図45は、スマート棚4212の底面図であり、電子機器カバー4421及び4422を取り外して構成要素を示している。2つのネットワークスイッチ4501及び4503が含まれている。これらのスイッチは、例えば、各カメラ及び各照明モジュールへの接続、並びに、スマート棚と店舗コンピュータ又はコンピュータとの間の接続を提供してもよい。プロセッサ4502が設けられており、これは、例えば、Raspberry Pi(R)又は類似の組込型コンピュータであってもよい。また、電源4504が設けられていてもよく、これらの電源は、例えば、AC−DC電力変換を提供してもよい。
図46Aは、単一のカメラモジュール4312の底面図を示している。このモジュールは、複数のカメラを任意の所望の位置に取り付けることができる取り付けブラケットを提供する。カメラの位置及び数は、商品寸法、商品の数、及び、棚の間の距離といった特徴に基づいて変更してもよい。ブラケットは、左側に、スロット4601a、4602a、4603aと、右側に、対応するスロット4601b、4602b、及び、4603bとを有している。個々のカメラが、これらのスロットのうちのいずれかにおける任意の所望の位置に取り付けられていてもよい。カメラの位置は、初期取り付けの後に調節可能である。カメラモジュール4312は、上部及び底部のスロット対の中に取り付けられた2つのカメラ4312a及び4312bを有しており、この例示的な実施形態では、中央スロット対4602a及び4602bは、空いた状態になっている。図46Bは、1つのカメラ4312aを側面図に示している。ねじ4610が、カメラを取り付けるために、ブラケット4312のスロットのうちの一方に挿通されている。カメラの反対側の対応するねじは、当該カメラをブラケットの反対側のスロットに取り付けている。
図47は、どのようにカメラモジュール及び照明モジュールをスマート棚4212の任意の所望の位置に取り付けることができるかを示している。また、さらなるカメラモジュール及び照明モジュールを、任意の利用可能な位置に加えてもよく、取り付けられた部品の位置は、調節可能であり得る。これらのモジュールは、棚の一端部におけるレール4701(及び、図47には示されていない他端における対応するレール)の上に乗っている。このレール4701は、このレールに対してモジュールの端部ブラケットを保持するために、ねじが取り付けられるスロットを有している。例えば、照明モジュール4413は、端部ブラケット4703を有しており、ねじ4702は、この端部ブラケットを通って、レール4701内の溝に取り付けられる。同様の留め具を用いて、カメラモジュール4312及び照明モジュール4412といった他のモジュールが取り付けられている。
1つ又は複数の実施形態は、天井の設定可能な位置においてカメラ、照明、及び、潜在的に他の構成要素が組み込まれた、モジュール式の「スマート」天井を含み得る。図48は、スマート天井4801を有する店舗4800の例示的な一実施形態を示している。この例示的な天井は、中央縦レール4821を有しており、これに、レール4822といった横レールが任意の所望の位置に取り付けられ得る。照明及びカメラモジュールを、横レールの任意の所望の位置に取り付けてもよい。この組み合わされた縦及び横レールシステムは、完全な自由度2の照明及びカメラ配置を提供する。図48に示される構成では、3つの横レール4822、4823、及び、4824は、それぞれ、2つの照明カメラ一体型モジュールを保持している。例えば、横レール4823は、照明カメラ一体型モジュール4810を保持しており、照明カメラ一体型モジュール4810は、円形の帯型照明4811を含むと共に、円形の帯型照明の内側の中央エリアに2つのカメラ4812及び4813を含む。1つ又は複数の実施形態では、天井のレール又は他の取り付け機構は、モジュール4810に集積された、又は、スタンドアローン型といった、1つ又は複数の任意の種類の照明又はカメラ要素を保持していてもよい。図48に示されるレール構成は例示であり、1つ又は複数の実施形態は、任意の所望の構成の任意の種類の照明/カメラ取り付け機構を提供し得る。例えば、取り付けレール又は他の取り付け機能は、任意の所望の形状で設けられていてもよく、図48に示される縦及び横レール構成には限定されない。
天井4801からのデータは、分析のために店舗コンピュータ130に送信され得る。1つ又は複数の実施形態では、天井4801は、カメラ及び照明に加えて、1つ又は複数のネットワークスイッチ、電源、又は、プロセッサを含んでいてもよい。天井4801は、データを中央店舗コンピュータ130に送信する前に、カメラからのデータにローカル処理を行ってもよい。店舗コンピュータ130はまた、コマンド又は他のデータを天井4801に送信して、例えば、照明又はカメラのパラメータを制御してもよい。
図48に示される実施形態は、モジュール式スマート天井4801、並びに、スマート棚を備えるモジュール式棚ユニット4210及び4220を有している。天井4801及び棚4210及び4220からのデータは、分析のために店舗コンピュータ130に送信され得る。例えば、コンピュータ130は、天井4801からの画像を処理して、店舗内の買い物客4201といった人を追跡し、棚4210及び4220からの画像を処理して、どの商品が手に取られた、移動された、又は、棚に戻されたかを判定してもよい。人の位置と棚のイベントとを関連付けることによって、コンピュータ130は、どの買い物客が商品を手に取ったかと判定でき、これによって、自動化店舗を完全に又は部分的に支援できる。スマート天井とスマート棚との組み合わせは、店舗の形状、販売されている商品の種類、及び、店舗の容量といった要因に基づいて構成できる、自動化店舗にとっての完全又は部分的な一括解決策を提供し得る。
図49は、図48の天井に似た、モジュール式天井の一実施形態を示している。中央縦レール4821aが、横レール4822a、4822b、及び、4822c用の取付面を提供し、横レール4822a、4822b、及び、4822cは、一体型照明/カメラモジュール用の取付面を提供している。横レールは、縦レール4821aに沿った任意の点に配置され得る。任意の数の横レールを、縦レールに取り付けてもよい。任意の数の照明カメラ一体型モジュール又は他の互換性のあるモジュールを、横レールの任意の点に取り付けてもよい。横レール4822aは、2つの照明/カメラモジュール4810a及び4810bを有しており、横レール4822bは、3つの照明/カメラモジュール4810c、4810d、及び、4810eを有している。取り付けシステムの柔軟性を説明するために、照明/カメラモジュールの位置を3つの横レールの間で変動させる。
図50は、横レール4822a及び照明/カメラモジュール4810aの拡大図を示している。横レール4822aは、レール4821a上の対応する突起の周りに留められたC字状の留め具5001を有するクロスバー5022を有している。横レール4822aの位置は、縦レール4821aに沿って調節可能である。照明/カメラモジュール4810aは、円形の環状照明5011を有しており、環状照明5011は、環状照明5011によって取り囲まれた中央エリア内に一対のカメラ5012及び5013を備えている。これら2つのカメラ5012及び5013を、例えば、立体視覚を提供するために使用してもよい。選択的又は追加的に、1つの照明/カメラモジュールにつき2つ以上のカメラが設けることにより、冗長性が提供され、1つのカメラが故障しても、人追跡を継続することができる。照明5011が円形であるため、散光が提供され、これによって、反射を低減して1つのシーン中の光の濃度が改善されて、追跡が改善され得る。この円形は例示であり、1つ又は複数の実施形態は、任意の寸法又は形状の照明を用いてもよい。形状には、例えば、任意の多角形又は湾曲形状が含まれるが、これらに限定されない。照明は、例えば、三角形、四角形、長方形、五角形、六角形、又は、任意の正多角形又は非多角形のような形状であってもよい。1つ又は複数の実施形態では、照明は、複数の弧又は複数の多角形又は曲面から構成されていてもよい。1つ又は複数の実施形態では、照明は、照明素子を有さない中央エリアを取り囲んでいてもよく、1つ又は複数のカメラがこの中央エリア内に配置されていてもよい。
1つ又は複数の実施形態では、照明5011といった照明素子は制御可能であり、放出された光の強度、波長、又は、他の特徴が変更できるようになっていてもよい。照明は、例えば、一日中又は店舗エリア中を通して一定の光を提供するために、変更可能であり得る。照明を、店舗の特定部分を強調するために変更してもよい。照明を、照明素子に結合されたカメラによって受信されたカメラ画像に基づいて、又は、他の任意のカメラ画像に基づいて、変更してもよい。例えば、店舗システムが買い物客を追跡することが難しい場合、放出光を変更して、コントラストを強調しノイズを低減することにより、追跡を改善可能である。
図51は、照明カメラ一体型モジュール4810aの拡大図である。ブラケットシステム5101が、(両側の)照明5011を照明の中央の2つのカメラ5012及び5013に接続させており、このブラケット5101は、レール4822aへの接続部を有しており、この接続部は、レールに沿った任意の位置に配置され得る。ブラケットシステム5101の中央水平部5102が、カメラ用の取り付けスロット、例えば、カメラ5013用のカメラ取り付け部5104が取り付けられたスロット5103を提供する。これらのスロットにより、カメラの数及び位置が、必要に応じて変更されることが許容される。1つ又は複数の実施形態では、この中央カメラ取り付けブラケット5102は、例えば、図46Aに示される棚カメラ取り付けブラケットと類似又は同一であり得る。1つ又は複数の実施形態では、カメラ5013といった天井カメラも、図46Aに示されるカメラ4312a等の棚カメラと類似又は同一であり得る。スマート棚及びスマート天井の両方において、類似又は同一の構成要素を使用することにより、自動化店舗の取付、運用、維持がより簡略化され、共通の部品を使用することによりコストが低減され得る。
店舗の自動化は、図52の店舗4800において示されているように、3つの一般的な種類の工程を含み得る。すなわち、(1)4201等の買い物客の店舗を通る移動5201を追跡する工程、(2)買い物客と、棚4213等の商品格納エリアとの相互作用5202を追跡する工程、及び、(3)買い物客が棚から商品を手に取った時、元に戻した時、又は、再配置した時に、商品の移動5203を追跡する工程である。図52に示される例示的な自動化店舗4800では、これらの3つの追跡工程が、カメラ及びプロセッサの組み合わせを用いて行われる。例えば、買い物客の移動5201を、カメラ4812等の天井カメラによって追跡してもよい。1つ又は複数のプロセッサ130は、例えば、先に図26〜41に関連して説明した方法を用いて、これらの天井カメラからの画像を分析し得る。相互作用5202及び商品移動5203は、例えば、カメラ4231といった、棚又は他の格納設備に一体化されたカメラを用いて追跡され得る。これらの画像の分析は、店舗プロセッサ130及び棚に一体化された4502等のプロセッサの一方又は両方を用いて行い得る。1つ又は複数の実施形態は、これらの技術の組み合わせを用いてもよく、例えば、天井カメラが商品格納エリアの遮られていないビューを有しているならば、天井カメラも、相互作用又は商品移動を追跡するために使用してもよい。
図53〜図62は、1つ又は複数の実施形態において使用され得る、相互作用及び商品移動の追跡を行うための方法及びシステムを説明するものである。図53A及び図53Bは、これらの方法及びシステムを説明するための一例として用いられる例示的な一シナリオを示している。図53Bは、買い物客が棚に手5302を伸ばす前の商品格納エリアを示し、図53Aは、買い物客が棚と相互作用して商品を取った後の当該商品格納エリアを示している。商品格納エリア5320全体は、棚4213と棚4212との間の体積である。手5302とこの商品格納エリアとの相互作用の検出は、例えば、棚4212に設けられた側方を向いたカメラ4301及び4302からの画像を分析することによって行われ得る。他の棚からの側方を向いたカメラ、例えば、棚4213に設けられたカメラ5311及び5312も用いてもよい。1つ又は複数の実施形態では、買い物客と商品格納エリアとの相互作用を検出するために、カメラ代わりに、又は、カメラに加えて、他のセンサを用いてもよい。典型的には、買い物客は、手5302を商品格納エリアの中に入れることによって商品格納エリアと相互作用する。しかしながら、1つ又は複数の実施形態は、買い物客の体の任意の部分を介した、又は、買い物客がエリア内に手を伸ばしたり又はエリア内の商品と相互作用したりするために使用可能な何らかの器具又は道具を介した、任意の種類の買い物客と商品格納エリアとの相互作用を、追跡してもよい。
商品格納エリア5320は、異なる種類の複数の商品を含む。例示的な相互作用では、買い物客は、積み重ねられた商品5301a、5301b、及び、5301cに手を伸ばし、積み重ねられたものから2つの商品5301b及び5301cを取り出す。買い物客がどの商品を取り出したかを判定することは、例えば、上方の棚4212に設けられ、下方の商品格納エリア5320を向いたカメラからの画像を分析することによって、行ってもよい。これらの分析はまた、買い物客が1つ又は複数の商品を(例えば、商品を戻すこと、又は、1つの棚から別の棚に移動させることによって)追加したこと、又は、棚の上の商品を置き換えたことを判定してもよい。カメラには、例えば、カメラモジュール4311、4312、4313、及び、4314内のカメラが含まれていてもよい。商品移動を検出するために商品格納エリアを監視するカメラは、商品格納エリアの上方の棚の底部に設けられたカメラに限定されない。1つ又は複数の実施形態は、商品格納エリアを監視して商品移動を検出するために、店舗内の任意の位置に取り付けられた1つ又は複数の任意のカメラからの画像を使用してもよい。
商品移動は、商品格納エリアの「事前」及び「事後」の画像を比較することによって検出され得る。幾つかの状況において、複数のカメラからの事前及び事後の画像を比較することが、好都合である場合がある。異なる位置又は向きにおける複数のカメラの使用は、例えば、商品格納エリアにおける商品の変化の3次元ビューの生成を支援し得る。これについては、以下に説明する。この3次元ビューは、図53A及び53Bに示されるような、商品格納エリアに積み重ねられた商品を有するシナリオにおいて、特に有益であり得る。例えば、積み重ね5301a、5301b、及び、5301cを単一の「事後」商品5301aと比較する事前及び事後の画像は、積み重ねられたものの真上に位置している単一のカメラからの画像に類似しているように見える。しかしながら、異なる位置におけるカメラからのビューを用いて、積み重ねられたものの高さが変化していると判定できる。
商品格納エリアの事前及び事後の内容物の完全な3次元ビューを構築することを、例えば、技術的に公知の任意の立体又は多視点視覚技術を用いて行ってもよい。1つ又は複数の実施形態において使用され得るこのような技術の1つは、平面掃引ステレオであり、複数のカメラからの画像を、異なる高さ又はスイープ軸に沿った異なる位置の複数の平面に投影するものである。(スイープ軸は、垂直である場合が多いが、必ずしもそうでなくてもよい。)この技術は、2D画像から3D体積を構築する際に効果的であるが、商品格納エリア全体について行うことは、計算上多大であり得る。この計算コストは、自動化店舗を運営するための動力費を著しく増加させ得る。また、商品移動を識別し、及び、これらの移動を買い物客に関連付ける工程に、遅延を生じさせ得る。これらの問題に対処するために、発明者は、最適化された工程であれば、商品格納エリアにおける変化の3Dビューを、極めて低い計算コストで効率よく生成可能であることを発見した。この最適化された工程は、比較的安価な2D画像比較を行い、商品が移動された領域を識別し、その後、この領域においてのみ平面掃引(又は類似のアルゴリズム)を行う。この最適化は、電力消費及び遅延を劇的に低減することができる。例えば、棚全体の完全な3D再構築は20秒かかり得るが、最適化された再構築は5秒以下である。店舗の動力費も、例えば、一か月につき数千ドルから数百ドルに低減可能である。この最適化された工程の詳細を、以下に説明する。
幾つかの実施形態又は設備は、この最適化を行えない場合があり、この代わりに、商品格納エリア全体の事前及び事後の内容物の完全3D再構築を行ってもよい。これは、例えば、非常に小さい棚の場合に、又は、電力消費又は計算時間に構わない場合に、実行可能又は望ましいことであり得る。
図54は、1つ又は複数の実施形態において使用され得る、商品格納エリア内の移動した商品を識別するための例示的な一連のステップを示すフローチャートである。これらのステップは、1つ又は複数の実施形態では、再順序付ける、組み合わせる、再配置する、又はそうでなければ、変更してもよく、1つ又は複数の実施形態では、幾つかのステップは省いてもよい。これらのステップは、任意のプロセッサ、又は、プロセッサの組み合わせ若しくはネットワークによって実行されてもよい。プロセッサは、例えば、棚又は他の商品格納ユニットに一体化されたプロセッサ、店舗から又は店舗内の領域における情報を処理する店舗プロセッサ、又は、店舗から離隔されたプロセッサが含まれるが、これらに限定されない。ステップ5401a及び5401bは、商品格納エリアを監視する複数のカメラからのカメラ画像を所得する。ステップ5401bは、買い物客が商品格納エリアと相互作用の開始よりも前に撮像された、各カメラからの「事前」画像を取得する。ステップ5401aは、この相互作用の後の、各カメラからの「事後」画像を取得する。(図55に関する以下の考察は、これらの画像撮像を詳細に説明するものである。)したがって、商品格納エリアを監視するC個のカメラが存在する場合、2C個の画像(C個の「事前」画像及びC個の「事後」画像)が取得される。
ステップ5402b及び5402aは、それぞれ、事前及び事後の画像を、各カメラから商品格納エリア内の表面に投影する。これらの投影は、例えば、先に図33に関連して説明した買い物客の画像の投影に、類似していてよい。商品格納エリアを監視するカメラは、例えば、広角を撮像する魚眼カメラを備えていてもよく、投影は、魚眼画像を平面画像にマップしてもよい。画像が投影される表面は、任意の形状又は向きの表面であり得る。最も単純なシナリオでは、表面は、例えば、棚の上方の異なる高さにおける平行な平面であってもよい。表面はまた、垂直平面、傾斜面、又は、曲面であってもよい。任意の数の表面を使用してもよい。商品格納エリアを監視するC個のカメラが存在し、ステップ5202a及び5402bの後に、これらのカメラからの画像がそれぞれ、S個の表面に投影されるならば、C×S個の投影された事後画像、及び、C×S個の投影された事前画像が存在することになり、全体として、2C×S個の投影画像があることになる。
その後、ステップ5403は、事前及び事後の投影画像を比較する。実施形態は、画像を比較するために、画素差分法、特徴抽出法、及び、特徴比較法といった様々な技術を用いてもよいし、又は、差分を識別するように訓練された機械学習システムに画像対を入力することを用いてもよい。ステップ5403の結果は、C×S個の画像比較であり、それぞれ、単一の表面に投影された単一のカメラからの事前及び事後の画像が比較される。その後、ステップ5404において、これらの比較をカメラにわたって組み合わせて、各表面についての変化領域を識別する。表面についての変化領域とは、例えば、この表面の2D部分であってもよく、ここで、複数のカメラのこの2D部分への投影が、事前及び事後の画像の間の変化を示す。商品が移動されたかもしれない領域の周りに簡単な境界が示されていてもよい。一般に、ステップ5404において、C×S個の画像比較がS個の変化領域に組み合わされることになり、ここで、1つの変化領域が、各表面に関連付けられている。その後、ステップ5405は、S個の変化領域を組み合わせて、商品格納エリアにおける3D空間の単一の変化体積にする。この変化体積は、例えば、境界ボックスであってもよいし、又は、これらのS個の変化領域の全てを含む他の形状であってもよい。
その後、ステップ5406b及び5406aは、それぞれ、変化体積内に事前及び事後の3D表面を構築する。これらの表面は、買い物客の商品との相互作用の前及び後の、変化体積内の商品格納エリアの内容物の表面を表す。3D表面は、複数のカメラビューから3D形状を判定する平面掃引ステレオアルゴリズム又は類似のアルゴリズムを用いて構築してもよい。その後、ステップ5407は、これら2つの3D表面を比較して、事前内容物と事後内容物との間の3D体積差分を判定する。その後、ステップ5408は、体積変化のサインを確認する。事前から事後3D表面に対して体積が加わっているなら、1つ又は複数の商品が棚に戻されている。体積が消去されているならば、1つ又は複数の商品が棚から取り出されている。
その後、どの商品が取り出されたか又は加えられたかを判定するために、3D体積差分の事前内容物及び事後内容物の画像を用いてもよい。体積が消去されているならば、ステップ5409bで、消去された体積領域と交差する1つ又は複数の投影された事前画像の一部を抽出し、同様に、体積が加えられているならば、ステップ5409aで、加えられた体積領域と交差する1つ又は複数の投影された事後画像の一部を抽出する。その後ステップ5410において、抽出された画像の一部を、移動された又は加えられた1つまたは複数の商品を識別する画像分類器に入力してもよい。分類器は、店舗において入手可能な商品の画像に対して、訓練されていてもよい。1つ又は複数の実施形態では、分類器は、ニューラルネットワークであり得るが、画像を商品識別にマップする任意の種類のシステムを用いてもよい。
1つ又は複数の実施形態では、3D体積差分の形状又は寸法は、又は、3D体積差分から導き出された任意の他の測定基準はまた、商品分類器に入力されてもよい。これは、商品を、その、カメラ画像における外観に加えて、その形状又は寸法に基づいて識別することの一助となり得る。
また、ステップ5411において、商品格納エリアに加えられた又はこれから除去された商品の量を算出するために、3D体積差分を用いてもよい。この算出は、ステップ5410において1つ又は複数の商品を識別した後に行ってもよい。これは、商品の量を算出するために、各商品の体積を、加えられた又は除去された合計体積と比較してもよいからである。
その後、ステップ5410において判定された商品識別、及び、ステップ5411において判定された量を、ステップ5412において、商品格納エリアと相互作用した買い物客に関連付ける。体積変化のサイン5408に基づいて、システムは、戻す、手に取る、又は、移動させるといった動作を、買い物客に関連付けてもよい。例えば、上述の方法のうちの任意の方法で、買い物客を店舗の中を追跡し、相互作用期間における買い物客と商品格納エリアとの近接を用いて、買い物客を識別して商品及び量に関連付けてもよい。
図55は、図55のステップ5401a及び5401bを実施してカメラから事後画像及び事前画像を取得するために用いられ得る部品を示している。事前及び事後の画像を取得することは、いつ買い物客が商品格納エリアに入った、又は、これから退出したかを検出する1つ又は複数のセンササブシステム5501によって生成されるイベントによって始動され得る。センサ5501は、例えば、側方を向いたカメラ4301及び4302を、これらのカメラからの画像を分析して、いつ買い物客が商品格納エリアに入った、又は、これから退出したかを検出する1つ又は複数のプロセッサと共に、備えていてもよい。実施形態は、入場及び退出を検出するために、1つ又は複数の任意の種類のセンサを使用してもよい。センサには、カメラ、動きセンサ、光スクリーン、又は、商品格納エリアに入るために開かれる物理的ドア又は他の障害物に結合された検出器が含まれるが、これらに限定されない。図55に示されるカメラセンサ4301及び4302について、これらのカメラからの画像を、例えば、商品格納エリアの上方の棚4212に一体化されたプロセッサ4502によって、店舗プロセッサ130によって、又は、これらのプロセッサの組み合わせによって、分析してもよい。画像分析は、例えば、変化を検出し、手又は腕の形状又は寸法を求めてもよい。
センササブシステム5501は、イベントが検出されると、信号又はメッセージを生成し得る。買い物客が商品格納エリアに入った又は入っていることを検出すると、センササブシステムは、入場信号5502を生成し、買い物客がこのエリアから出た又は出ていると検出すると、センササブシステムは、退出信号5503を生成し得る。入場は、例えば、買い物客が棚と棚の間の空間に手を入れることに対応し、退出は、買い物客がこの空間から手を引っ込めることに対応し得る。1つ又は複数の実施形態では、これらの信号は、例えば、影響を受けた商品格納エリア、又は、買い物客の手のおおよその位置といった、さらなる情報を含んでいてもよい。入場信号及び退出信号により、それぞれ、買い物客が相互作用した商品格納エリアを監視するカメラによって撮像された事前及び事後の画像の取得が引き起こされる。入場信号の前の画像を取得するために、カメラ画像が連続的にバッファに保存され得る。このバッファに保存することは、図55に、棚4212の下方に取り付けられた3つの例示的なカメラ4311a、4311b、及び、4312aについて示されている。これらのカメラによって撮像されたフレームは、それぞれ、円形のバッファ5511、5512、及び、5513に連続的に保存される。これらのバッファは、プロセッサ4502に一体化又は連結されたメモリに設けられており、プロセッサ4502も、棚4212に一体化されていてよい。1つ又は複数の実施形態では、カメラ画像は、任意の場所に配置されたメモリに保存されてもよい。メモリは、商品格納エリア棚又は設備と物理的に一体化されたメモリを含むが、これに限定されない。図55に示される構造について、フレームが、局所的に、カメラを備える棚4212にバッファ保存される。この構造は、棚のカメラと店舗の他の場所の装置との間のネットワークトラフィックを制限する。局所的な棚プロセッサ4502は、画像のバッファ保存を管理し、センササブシステムから入場信号5502及び退出信号5503を受信し得る。1つ又は複数の実施形態では、棚プロセッサ4502はまた、センササブシステムの一部であり、このプロセッサは、側方カメラ4301及び4302からの画像を分析し、いつ買い物客が商品格納エリアに入った又はこれから出たかを判定し得る。
入場信号及び退出信号が、プロセッサ、例えば、棚プロセッサ4502、店舗サーバー130、又は、これらの両方によって受信されると、プロセッサは、円形バッファ5511、5512、及び、5513における保存されたフレームから、事前画像5520bを読み出し得る。プロセッサは、入場信号の前の、任意の所望の期間を振り返り、バッファの寸法によってのみ制限される事前画像を取得してもよい。事後画像5520aは、退出信号の後に、カメラから直接、又は、円形バッファから読み出され得る。1つ又は複数の実施形態では、全てのカメラからの事前及び事後の画像を、一緒にパッケージ化してイベントデータレコードを形成し、例えば分析5521のために店舗サーバー130に送信して、買い物客の相互作用に結果として、どの商品が商品格納エリアから手に取られたか又はこれに戻されたかを判定する。これらの分析5521は、任意のプロセッサによって、又は、プロセッサの組み合わせによって、行ってもよく、これらは、4502等の棚プロセッサ及び130等の店舗プロセッサを含むがこれらに限定されない。
カメラからの一組の事前及び事後の画像から手に取られた、戻された、又は、移動された商品を識別するための分析5521は、事前及び事後の画像を1つ又は複数の表面に投影することを含んでいてもよい。投影工程は、例えば、先に図33〜図40に関連して説明した、店舗の中を移動する人を追跡するための投影に類似していてもよい。商品格納エリアを監視しているカメラは、魚眼カメラであってもよいが、これには限定されない。図56B及び図56Aは、それぞれ、カメラ4311aからの事前及び事後の画像を、図53Bおよび図53Aに示される商品格納エリアにおける例示的な2つの表面5601及び5602に投影することを示している。図示を容易にするために2つの表面を示すが、画像は、任意の数の表面に投影してもよい。本例では、表面5601及び5602は、商品格納棚4213に平行、かつ、この棚から上方の棚に向かって延びる軸5620aに垂直な平面である。表面は、任意の形状及び向きを有していてもよく、必ずしも平面でなくてもよいし、必ずしも棚に並行でなくてもよい。投影は、カメラからの光線が投影の表面と交差するまで、画素をカメラからの光線に沿ってマップしてもよい。例えば、光線5603と投影面5601との交差における画素5606は、図56Bの事前投影画像においても、図56Aの事後投影画像においても、同じ色を有している。なぜなら、対象物5605は、事前の状態から事後の状態まで棚4213の上で変わっていないからである。しかしながら、図56Bにおける光線5604に沿った平面5602における画素5610bは、対象物5301cの色を反映するが、平面5602における画素5610aは、棚4213の点5611の色を反映する。これは、商品5301cが、事前の状態と事後の状態との間に除去されたからである。
投影された事前及び事後の画像を比較して、商品が除去、追加、又は移動されたかもしれないおおよその領域を判定してもよい。この比較は、図57Aに示されている。投影された事前画像5701bを、投影された事後画像5701aと比較する。これらの画像はどちらも、同じカメラからのものであり、どちらも同じ表面に投影されている。1つ又は複数の実施形態は、事前及び事後の画像を比較するために任意の種類の画像比較を用いてもよい。画像比較は、例えば、画素に関する差分、画像の相互相関、周波数領域の比較、1つの画像の別の画像の線型変換との比較、抽出された特徴の比較、又は、特定の種類の画像差分を認識するように訓練された訓練機械学習システムを介した比較が含まれるが、これらに限定されない。図57Aは、単一の画素に関する差分動作5403を示しており、これにより、結果的に、異なる画像5702が生成される。(黒色画素は、差分がないことを示し、白色画素は、かなりの差分があることを示す。)差分5702は、例えば、事前及び事後の画像間の光のわずかな変化又はカメラの固有ノイズによる、ノイズを有し得る。したがって、1つ又は複数の実施形態は、1つ又は複数の動作5704を適用して画像差分を処理し、差分領域を得てもよい。これらの動作は、例えば、線形フィルタリング、形態学的フィルタリング、閾値化すること、及び、境界ボックス又は凸包を探すことといった境界を形成する動作を含み得るが、これらに限定されない。結果として得られた差分5705は、変化領域5706を含む。変化領域5706は、例えば、元の差分画像5702における領域5703の不規則かつノイズを有するエリアの周りの境界ボックスであり得る。
図57Bは、実際のサンプル棚から撮像した事前投影画像5711bと事後投影画像5711aとを区別する画像を示している。この差分画像5712は、ノイズを有する領域5713を有しており、領域5713をフィルタ処理して境界を付すことによって、変化領域5716を識別する。
任意の種類の画像比較を用いた投影画像差分を、カメラにわたって組み合わせて、各投影表面について最終差分領域を形成してもよい。この工程は、図58に示されている。3つのカメラ5801、5802、及び、5803が、買い物客の相互作用の前及び後の商品格納エリアの画像を撮像し、これらの画像が平面5804に投影される。投影された事前及び事後の画像の間の差分は、カメラ5801、5802、及び、5803について、それぞれ、5821、5822、及び、5823である。これらの差分を直接(例えば平均を出すことによって)組み合わせてもよいが、1つ又は複数の実施形態は、さらに、1つの画素ベースの差分に、各投影画素の各カメラまでの距離を反映する係数だけ重み付けしてもよい。この工程は、先に図38に関連して説明した、買い物客を追跡するために買い物客の投影画像に重み付けする重み付け工程に類似している。画像5821、5822、及び、5823に関連付けられた例示的な画素の重みは、それぞれ、5811、5812、及び、5813である。位置重み画像において軽い画素ほど、より高い画素重みを表す。重みは、画像差分で乗じてもよく、この積を、動作5831において平均してもよい。この結果を、その後、フィルタ処理して、又はそうでなければ、動作5704において変換して、結果的に、当該投影面5804用の最終変化領域5840を得る。
様々な投影面又は他の表面における差分領域を算出した後、1つ又は複数の実施形態は、これらの変化領域を組み合わせて、変化体積を生成してもよい。変化体積は、1つ又は複数の商品が手に取られた、戻された、又は、移動されたと思われる商品格納エリア内の3次元体積であってもよい。投影表面における変化領域を任意の方法で組み合わせて、変化体積を形成してもよい。1つ又は複数の実施形態では、変化体積を、変化領域の全てを含む境界体積として算出してもよい。この方法は、図59に示されている。ここでは、投影面5601における変化領域5901、投影面5602における変化領域5902を組み合わせて、変化体積5903を形成する。本例では、変化体積5903は、水平方向の範囲が投影面の変化領域の最大範囲である3次元の箱であり、この箱は、商品格納エリアの垂直範囲まで伸びている。1つ又は複数の実施形態は、任意の形状又は寸法の変化体積を生成してもよい。
その後、事前状態から事後状態までの変化体積における差分の詳細な分析を行って、この変化体積において、追加、除去、又は、移動された特定の1つまたは複数の商品を識別してもよい。1つ又は複数の実施形態では、この分析は、買い物客の相互作用の前後の商品格納エリアの内容物を表す変化体積内の3D表面の構築を含み得る。これらの3D事前及び事後表面は、商品格納エリアの複数のカメラ画像から生成してもよい。1つのシーンの複数のカメラ画像から3D形状を構築するための多くの技術が技術的に公知であり、実施形態は、これらの技術のうちの任意の技術を用いることができる。使用され得る1つの技術は、平面掃引ステレオであり、これは、カメラ画像を一連の複数の表面に投影して、特定の表面上のカメラにわたって関連付けられた画像のパッチの位置を探すものである。図60は、この方法を、図53A及び図53Bの例について説明するものである。境界3D変化体積5903を、複数の投影面又は他の表面で掃引する。本例では、表面は棚に平行な平面である。例えば、連続投影面は、上から、6001、6002、及び、6003である。投影面又は表面は、前のステップで変化領域及び変化体積の位置を探すために使用された投影面又は表面と同じであってもよいし、又は、異なっていてもよい。例えば、変化体積5903の掃引は、事前及び事後の3D表面のより高い解像度の評価を得るために、より多くの平面又は表面を使用してもよい。変化体積5903内の商品格納部の事前内容物6000bの掃引は、3D事前表面6010bを生成し、変化体積5903内の事後内容物6000aの掃引は、3D事後表面6010aを生成する。その後、ステップ5406は、これらの事前及び事後の3D表面の間の3D体積差分を算出する。この3D体積差分は、例えば、これら2つの表面の間の3D空間であり得る。3D体積差分のサイン又は方向は、商品が追加又は除去されたかどうかを示し得る。図60の例では、事後3D表面6010aは、1つ又は複数の商品が除去されたことを示す事前3D表面6010bの下にある。従って、表面6010bと6010aとの間の消去体積6011が、除去された商品の体積である。
図61は、様々な高さの商品を含むサンプル棚に適用された平面掃引ステレオの一例を示している。画像6111、6112、及び、6113は、それぞれ、互いに重ねられた2つの異なるカメラからの2つの投影画像を示している。投影は、異なる高さで行われる。画像6111は、棚のレベルの最も低い高さ6101に投影されたものであり、画像6112は、高さ6102に投影されたものであり、画像6113は、高さ6103に投影されている。投影された各高さにおける、焦点のあった(つまり一致した)これらの2つの重ねられた画像のパッチは、表面が投影された高さにある対象物を表している。例えば、重ねられた画像6111のパッチ6121は、これらの画像が棚自体を示しているため、予想通り高さ6101において焦点があっている。パッチ6122は、重ねられた画像6112において焦点があっており、したがって、これらの対象物は高さ6102にあり、パッチ6123は、重ねられた画像6113において焦点があっており、したがって、この対象物(コンテナのうちの1つの上蓋)は、高さ6103にある。
3D体積差分は、追加、除去、又は、移動された商品の位置を示しているが、これらの商品の識別を直接提供するものではない。幾つかの状況において、棚又は商品格納エリアの商品の位置は、固定されていてもよく、この場合、体積差分の位置を用いて、影響を受けた1つまたは複数の商品を推測してもよい。他の状況では、3D体積差分のエリアの画像を用いて、含まれる1つまたは複数の商品を識別してもよい。この工程は、図62に示されている。1つ又は複数のカメラからの画像を、3D体積差分6011と交差する表面パッチ6201に投影してもよい。この表面パッチ6201は、投影表面と体積差分との交差を十分に含む程度の大きさになるように、選択され得る。1つ又は複数の実施形態では、複数の表面パッチを用いてもよい。投影画像6202(又は複数のこのような画像)を、商品分類器6203に入力してもよい。商品分類器6203は、例えば、店舗において入手可能な商品の画像を認識して、当該商品の識別6204を出力するように訓練されていてもよい。
また、3D体積差分6011の寸法および形状を用いて、商品格納エリアに追加された、又はこれから除去された商品の量を判定してもよい。一旦、商品の識別6204が判定されると、単一の商品の寸法6205を、3D体積差分の寸法6206と比較してもよい。商品寸法は、例えば、店舗において入手可能な商品のこの情報のデータベースから取得してもよい。この比較は、追加、除去、又は、移動された商品の量の値6207を提供し得る。商品の量の算出に、3D体積差分6011及び商品の、体積、次元、又は、形状といった任意の特徴を用いてもよい。
3D体積差分のサインを使用して買い物客が商品を手に取ったか又は戻したかを判定することに代えて、又は、これに加えて、1つ又は複数の実施形態は、事前及び事後の画像を一緒に処理して、移動された1つまたは複数の商品、及び、当該1つまたは複数の商品に対してなされた買い物客の動作を、同時に識別してもよい。商品及び動作を同時に分類することは、図63に示されるように、例えば、畳み込みニューラルネットワークを用いて行ってもよい。畳み込みニューラルネットワーク6310への入力は、例えば、上述のような、変化領域と交差する投影画像の一部であってもよい。1つ又は複数のカメラからの事前及び事後の両投影画像の一部を、ネットワークに入力してもよい。例えば、変化領域に最も近いカメラのステレオ対を用いてもよい。1つ又は複数の実施形態は、任意の数のカメラからの事前及び事後の画像を用いて、商品及び動作を分類してもよい。図63に示される例では、1つのカメラからの事前画像6301b及び事後画像6301a、並びに、第2のカメラからの事前画像6302b及び事後画像6302aが、ネットワーク6310に入力される。これらの入力は、例えば、変化領域を覆う投影カメラ画像の切り取り部分である。
ネットワーク6310の出力は、移転された1つまたは複数の商品の識別6331、及び、1つまたは複数の商品に対してなされた動作の識別6332を含んでいてもよい。可能な動作は、例えば、「取る」、「戻す」、「移動させる」、「動作を行わない」、又は、「不明」のいずれか又は全てを含んでいてもよい。1つ又は複数の実施形態では、ニューラルネットワーク6310は、事前及び事後の画像に直接動作すること、及び、商品及び動作を出力することによって、図54のフローチャートのステップ5405〜5411の機能の幾つか又は全てを行ってもよい。より一般的に言えば、図54に示される、画像を取得することと、商品、量、及び、動作を買い物客に関連付けることとの間のステップのいずれか又は全てを、1つ又は複数のニューラルネットワークによって行ってもよい。一体化されたニューラルネットワークを、徹底的に、例えば、サンプル相互作用の訓練データセットを用いて訓練してもよい。この訓練データセットは、事前及び事後のカメラ画像と、相互作用において含まれる商品、動作、及び、量を含む。
1つ又は複数の実施形態は、任意の種類及び構造のニューラルネットワーク又は他の機械学習システム若しくは分類器を使用してもよい。図63は、1つ又は複数の実施形態において使用され得る例示的な一畳み込みニューラルネットワーク構造を示している。各画像切り取り部分6301b、6301a、6302b、及び、6302aは、特徴抽出層のコピーに入力される。例えば、18層のResNetネットワーク6311bを、事前画像6301b用の特徴抽出器として、及び、同じ18層のResNetネットワーク6311aを、事後画像6301a用の特徴抽出器として用いてもよく、ここで、同様の層は、他のカメラからの入力用である。その後、動作6312において、事前及び事後の特徴マップ対を減算して、差分特徴マップをチャンネルの次元に沿って連結させてもよい(事前事後のカメラ1の場合、他のカメラの場合、同様の減算及び連結)。例示的なネットワークでは、連結後は、チャンネルの数は、1024であり得る。特徴マップを結合させた後、層6313a及び6313bといった2つ以上の畳み込み層、それに続いて、2つの平行な、商品識別用の完全接続層6321、及び、動作分類用の完全接続層6322が存在し得る。この動作分類器6322は、「取る」、「戻す」、又は、「動作を行わない」といった可能な動作用の出力を有している。商品分類器は、店舗において入手可能な、可能な商品についての出力を有している。ネットワークの訓練は、徹底的に、例えば、ResNet層用の事前訓練されたImageNet重みから開始され得る。
1つ又は複数の実施形態では、カメラ画像を他の種類のセンサからのデータと組み合わせて、買い物客によって手に取られた、置き換えられた、又は、移動された商品を追跡してもよい。図64は、この方法を利用した例示的な店舗6400を示している。この例示的な店舗は、買い物客4201等の買い物客を追跡するためのカメラ4812といった天井カメラを有している。棚ユニット4210は、棚4212及び4213にそれぞれ関連付けられたセンサバー6412及び6413内にセンサを有している。これらのセンサは、買い物客の動作、例えば、棚の上の商品を手に取ること、又は、戻すことを検出し得る。各センサは、棚の関連付けられた格納区域における商品を追跡してもよい。例えば、センサ6402aは、棚4213の格納区域6401a内の商品を追跡してもよい。センサは、格納区域と1対1の関係で関連付けられている必要はない。例えば、1つのセンサが、複数の格納区域における動作を追跡してもよく、又は、複数のセンサを用いて、単一の格納区域における動作を追跡してもよい。センサ6402aといったセンサは、任意の種類又は様式のものであってもよく、例えば、距離、力、歪み、動き、放熱、音、エネルギー、質量、重量、又は、振動用のセンサを含むが、これらに限定されない。カメラ6421及び6422といった店舗カメラを用いて、買い物客が動作を行った商品を識別してもよい。これらのカメラは、店舗において、壁、備品、又は、天井に取り付けられていてもよいし、又は、棚ユニット4210又は棚4212及び4213に一体化されていてもよい。1つ又は複数の実施形態では、カメラ6421及び6422に加えて、又は、これらに代えて、カメラ4812等の天井カメラを商品識別のために用いてもよい。
4812といった天井カメラから、他の店舗又はカメラ6421及び6422といった棚カメラから、並びに、棚及び6412及び6413といった棚ユニットセンサからのデータが、1つ又は複数のプロセッサ130に、分析のために送信される。プロセッサ130は、例えば、1つ又は複数の店舗サーバーであってもよいし、又は、これを含んでいてもよい。1つ又は複数の実施形態では、画像又はセンサデータの処理を、棚、棚ユニット、又は、カメラ固定具に一体化された処理ユニットによって行ってもよい。これらの処理ユニットは、例えば、データをフィルタリングしてもよいし、又は、イベントを検出してもよく、その後、選択された又は変換された情報を、さらなる分析のために1つ又は複数の店舗サーバーに送信してもよい。したがって、1つ又は複数の実施形態では、プロセッサ130は、ローカルマイクロプロセッサといった処理ユニットと店舗サーバーとの組み合わせ又はネットワークであってもよい。1つ又は複数の実施形態では、処理の幾つか又は全てを、店舗から離隔されたプロセッサによって行ってもよい。
1つ又は複数のプロセッサ130は、買い物客を追跡するため、商品又は商品格納エリアに対して行われた買い物客の動作を検出するため、及び、買い物客が手に取った、置き換えた、又は、移動した商品を識別するために、カメラ又は他のセンサからのデータを分析してもよい。買い物客の追跡5201を、商品に対する動作の位置及び時間に関係させることによって、例えば、自律店舗における自動化チェックアウトのために、商品を買い物客に関連付けることができる。
実施形態は、カメラと他の種類のセンサとを様々な組み合わせで混合して、買い物客及び商品の追跡を行ってもよい。図65は、様々な例示的な組み合わせを示す、分析ステップとセンサとの間の関係を示している。これらの組み合わせは、限定されない。1つ又は複数の実施形態は、任意のタスク又は工程に、1つ又は複数の任意の種類のセンサデータを使用してもよい。買い物客の追跡6501は、例えば、店舗カメラ6510からの画像を使用してもよい。店舗カメラ6510は、例えば、天井カメラ6511、又は、壁又は備品に取り付けられた他のカメラ6512の任意又は全てを含んでいてもよい。商品格納エリア内の商品に対する買い物客の動作の検出6502は、例えば、棚カメラ6520からの画像及び棚又は棚ユニット上のセンサ6530からのデータの、任意又は全てを使用してもよい。棚センサ6530は、例えば、距離6531を、例えばLIDAR6541又は超音波センサ6542を用いて測定してもよいし、又は、重量6532を、例えば歪みゲージセンサ6543又は他の計量器6544を用いて測定してもよい。買い物客が取り出した又は追加した商品の識別6503は、例えば、店舗カメラ6510又は棚カメラ6520からの画像を使用してもよい。買い物客が追加した又は取り出した量の判定6504は、例えば、棚カメラ6520からの画像又は棚センサ6530からのデータを使用してもよい。上述の可能な組み合わせは、相互に排他的でもないし、限定的でもない。
1つ又は複数の実施形態では、棚センサ6530は、任意の種類の商品格納エリアに関連付けられたセンサであってもよい。商品格納エリアは、例えば、1つ又は複数の格納区域に分割されてもよく、各区域にセンサが関連付けられ得る。1つ又は複数の実施形態では、これらのセンサは、商品格納エリア、又は、商品格納エリアの格納区域内の商品の量に関連付けられ得るデータ又は信号を生成し得る。例えば、棚の一部に設けられた重量センサは、棚の当該部分に配置された商品の数を反映した重量信号を提供し得る。センサは、格納区域内又は商品格納エリア全体における商品の量に任意の方法で関連付けられた、任意の種類の信号を測定してもよい。幾つかの状況では、商品格納区域に取り付けられた量センサを使用すれば、買い物客及び商品の両方を追跡するためにカメラだけを使用する場合と比較して、費用を低減し、精度を改善することができる。
図66Aは、格納区域が背壁を有する貯蔵部である例示的な一実施形態を示している。背面は、商品が貯蔵部から除去されると前方に移動する。棚4213aは、4つの格納区域に分割される、すなわち、貯蔵部6401a、貯蔵部6401b、貯蔵部6401c、及び、貯蔵部6401dである。各貯蔵部の背壁6601a、6601b、6601c、及び、6601dは可動式であり、商品が除去されると前方に移動し、商品が貯蔵部に追加されると後方に移動する。本実施形態では、貯蔵部の可動式背面は、背面を押圧するバネによって前方に移動する。1つ又は複数の実施形態は、任意の所望の方法を用いて、貯蔵部の背面を移動させ得る。例えば、1つ又は複数の実施形態では、貯蔵部は、前端部が後端よりも低くなるように傾けられていてもよく、商品及び背壁は、重力によって、前方に滑動してもよい。
この図66Aの実施形態では、量センサ6413が、棚4213aの貯蔵部の背後に配置されている。これらのセンサは、当該センサと、関連付けられた貯蔵部の可動式背面との間の距離を測定する。各貯蔵部に、別個のセンサが関連付けられている。距離測定は、任意の検知技術を用いてもよく、検知技術は、例えば、LIDAR、超音波距離測定、壁上のエンコーダ、又は、カメラを含むが、これらに限定されない。例示的な一実施形態では、センサ6413は、単一画素LIDARセンサであってもよい。これらのセンサは、安価かつロバストであり、正確な距離測定を提供する。
図66Bは、図66Aの実施形態の上面図である。バネ又は類似の機構が、各可動式背面を貯蔵部の前方に向かって偏らせる。例えば、バネ6602aが、可動式背面6601aを貯蔵部6401aの前方に向かって押圧している。1つ又は複数の実施形態において使用され得る他の種類の棚は、棚が下方に傾けられた自重送り式棚であり、ここで、製品は、滑りやすい表面又はローラーの上に配置されており、商品が除去されると下方に滑動し、追加されると後方に押されるようになっている。1つ又は複数の実施形態において使用され得るさらに別の棚の種類は、運搬装置又は他の形の駆動装置により製品を前方に分注する電動分注器である。これらの全ての場合において、距離測定は、棚の特定のレーン又は貯蔵部の製品の数を示し、測定値の統計における距離又は摂動の変化が、動作/量を示すものである。貯蔵部6401dの場合の距離測定が、示されている。LIDAR6402dは、光6403dを放出し、この光は、可動式背面6601dに反射する。光の往復飛行時間6604dが、センサ6402dによって測定されて、距離に変換される。本実施形態では、LIDAR6402a、6402b、6402c、及び、6402dからの距離信号は、棚4213a又はこの棚が取り付けられた棚ユニットに一体化又は結合されたマイクロプロセッサ又はマイクロコントローラ6610に送信される。このプロセッサ6610は、信号を分析して、動作イベントを検出してもよく、動作データ6611を店舗サーバー130に送信してもよい。このデータは、例えば、動作の種類(商品を除去すること、又は、追加すること等)、含まれる商品の量、イベントが起こった格納区域、及び、このイベントの時間を含んでいてもよい。1つ又は複数の実施形態では、ローカルマイクロプロセッサ6610を設けず、動作検出を店舗サーバー130によって行ってもよい。実施形態は、ローカル処理(棚のマイクロプロセス等)と店舗サーバー処理とを任意の所望の方法で混合又は組み合わせてもよい。
店舗での稼働中は、量センサは、データを、信号プロセッサ6610に供給してもよい。信号プロセッサ6610は、量測定の統計値、例えば、距離、重量、又は、他の変数を収集し、変化した量(距離/重量/他の量の変数)及び当該変化の開始及び停止時間のデータパケットとして報告する。開始及び停止時間は、イベントの前及び後のカメラ画像の相関をたどるために有用である。棚の種類によっては、販売商品の積み重ねが最前列まで前進するのに時間がかかる場合があり、ある時間範囲に対してイベントの境界を定めることが有効である。棚が不正に改変された場合、センサは、開始イベントを報告し得るが、一致した終了イベントは報告出来ない。この場合、特定の棚の終了状態は、カメラ画像から推測され得る。故障した/不正に改変された送り棚は、販売商品が前方に送られないので、空のスロットを示すことになる。一般的に、棚内量センサに加えて、カメラ画像が入手可能であり、検知の冗長性は、単一のセンサが故障又は改変された場合の継続動作を可能にすることになる。
イベントデータ6611はまた、イベントが生じた(商品格納エリア内の)格納区域を示してもよい。各商品格納エリア内の各格納区域の店舗内の3D位置が測定又は較正されて、3D店舗モデルに格納されるので、商品動作を特定の買い物客に帰属させるために、イベント位置データを買い物客の位置に関連付けてもよい。
1つ又は複数の実施形態は、モジュール式センサバーを組み込んでいてもよい。モジュール式センサバーは、棚内の異なる数及び寸法の格納区域に適応するために容易に再構成可能であり、棚備品に容易に取り付け可能である。モジュール式センサバーは、電源、電子機器、及び、通信装置を含み、取付、維持、及び、構成を簡略化し得る。図66Cは、棚4213eの背後に取り付けられた例示的なモジュール式センサバー6413eを示している。センサバー6413は、任意の所望の数の距離センサユニットが取り付けられて、任意の格納区域又は貯蔵部の背後の位置に滑動可能であるレールを有している。レールの前面の背後には、ケーブルや、距離センサからの信号を処理するマイクロプロセッサ等の電子機器を含む包囲されたエリアが設けられていてもよい。図示された構成は、3つの距離センサユニット6402e、6402f、及び、6402gを有している。商品格納エリアは異なる幅を有しているため、距離センサユニットは、等間隔で離間されていない。店舗が、異なる寸法の商品を有する棚を再構成する場合、距離センサユニットは、新たな位置に容易に移動可能であり、必要に応じて、ユニットを追加又は除去することができる。各距離センサユニットは、例えば、飛行時間を使用して、対応する格納区域の背面までの距離を測定するLIDARを含んでいてもよい。
図66Dは、店舗内の例示的なモジュール式センサバー6413fの画像を示している。このセンサバーは、防沫ステンレス鋼金属囲いから成る。これは、既存の棚ユニット、例えば、ユニットの垂直面6620に取り付けられている。囲いは、原信号を受信して当該信号をイベントに加工する1つまたは複数のプロセッサユニットを含む。囲いの内側では、マイクロプロセッサが、例えば、信号をUSB又はイーサネット(登録商標)を介して店舗サーバーに送信し得る。ユニット6402hといった個々の距離センサユニットは、センサを含む黒いプラスチックキャリアであり、バーの囲いに沿って滑動する。これらは、販売商品を含む送りレーンの大きさに合うような位置なら、バーに沿ったどんな位置でも配置され得る。この構成では、センサを、容易に移動させて、狭い又は広い対象物及びその格納区域に合わせることができ、一旦、棚が構成されると、キャリアを定位置にロックすることができる。距離センサユニットは、ガラス正面(清浄可能であるため)及びロック機構を有していてもよい。センサユニットからプロセッサまでの配線が、鋼囲いの底部にあるスロットを通って囲いに送られており、液体がたまることが回避され、何らかの液体がはねても電子機器に届かないようにされる。
図67は、LIDAR(又は他の距離センサ)からの距離データ6701を格納区域内の商品の量6702に変換することを示している。商品が格納区域から除去されると、可動式背面は、センサからさらに離れる方向に移動する。したがって、量6702は、距離6701と反対に変動する。距離と量とに関連する傾斜は、貯蔵部内の商品の寸法に依存する。例えば、ソーダ缶がマフィンよりも小さい直径を有している場合、ソーダ缶の線6703は、マフィンの線6704よりも上にある。したがって、格納区域内の商品の量を距離6701から判定することは、各区域における商品の種類を知っている必要があり得る。この情報は、格納エリアが設定された時又は物で満たされた時に構成されてもよく、又は、例えば、図72Aに関連して以下に説明するような、画像分析を用いて判定してもよい。
図68は、図66A及び図66Bに示される実施形態からの、時間6801を通した距離信号6802の変化に基づいた動作検出を示している。この検出は、例えば、マイクロプロセッサ6601、店舗サーバー130、又は、これらの組み合わせによって、行われ得る。距離信号6802におけるわずかな変動は、ノイズによるものであり得る。したがって、これらを、例えばローパスフィルタによってフィルタ処理してもよい。素早くもとに戻らない大きな変化は、関連付けられた格納区域に対する商品の追加又は除去を示し得る。例えば、信号6811cにおける変化6803は、格納区域6401cにおける動作6804として検出され、信号6811bにおける変化6805は、格納区域6401bにおける動作6806として検出される。動作信号6804及び6806は、例えば、動作の種類(例えば、追加又は除去)、含まれる商品の量、動作が行われた時間、及び、動作が行われた格納区域を示し得る。動作の時間は、距離測定が大幅に変化している間の時間範囲であり得る。この時間範囲の開始及び停止時間を、カメラ画像(開始時間の前の「事前動作」画像、及び、停止時間後の「停止動作」画像)に関連付けて、商品を分類、又は、動作をさらに特徴付けてもよい。
図69A及び図69Bは、異なる種類の格納区域センサを用いて量の変化及び買い物客の動作を検出する異なる棚の実施形態4213bを示している。この実施形態は、例えば、袋に入った商品等のつり下げ販売商品の場合に、使用し得る。この実施形態における格納区域は、1つ又は複数の商品が配置され得るつり下げ棒に対応する。棚又はラック4213bは、4つのつり下げ棒6901a、6901b、6901c、及び、6901dを有している。各棒には、当該棒の上の商品の重量を測定するセンサが関連付けられている。この重量は、棒の上の商品の数に関連付けられる。図69Bは、棒6901bの側面図であり、重量測定値の算出を示している。この棒は、2つの素子6911及び6912によって支持されている。これら2つの素子は、棒を静的平衡に保持する力を提供するものである。歪みゲージ(又は他のセンサ)6913及び6914は、それぞれ、素子6911及び6912によって加えられた力6931及び6932を測定し得る。個々の力6931及び6932は、棒の上の商品の重量及びこれらの商品の位置に応じて変動するが、力6931及び6932間の差は、棒及び商品の質量に応じてのみ変動する。この力の差は、棒の質量6922、及び、棒から釣り下がっている商品の6921a、6921b、及び、6921c等の質量により、合計重量6930と等しいはずである。したがって、算出6940は、商品の質量及び棒の質量といった既知の量、及び、歪みゲージセンサ信号に基づいて、棒の上の商品の量kを導き出す。この歪みゲージ6913及び6914の配置並びに算出6940は例示であり、1つ又は複数の実施形態は、2つ(又はそれ以上)の歪みゲージを任意の配置で有していてもよく、これらの測定値を組み合わせて、商品の質量、したがって、棒に釣り下がった商品の量を導き出してもよい。
図70A及び70Bは、貯蔵部7001a、7001b、及び、7001cに分割された商品格納エリア4213cの他の例示的な実施形態を示している。各貯蔵部は、貯蔵部の内容物の重さを量るための1つ又は複数の関連付けられた重量センサを有している。図70Bは、貯蔵部7001aの側面図であり、貯蔵部7001aは、歪みゲージ7002a及び7002bを有する2つの素子によって支えられている。2つの歪みゲージの使用は例示であり、1つ又は複数の実施形態は、貯蔵部の重さを量るために、任意の数の歪みゲージ又は他のセンサを用いてもよい。これら2つの歪みゲージによって測定された力の合計は、貯蔵部とその内容物とを合わせた重量に一致する。図69Bの算出6940に類似した算出を用いて、貯蔵部における商品の数を判定してもよい。1つ又は複数の実施形態は、貯蔵部の重さを量るために、任意の種類のセンサ技術を用いてもよい。センサ技術には、歪みゲージが含まれるが、これに限定されない。例えば、任意の種類の電子計量器又は機械式計量器を用いてもよい。
量センサが一体化又は結合された棚の潜在的利点は、動作を検出又は量を判定するためにカメラが棚の内容物を下方に表示する必要がないため、棚に商品を密に充填することができる点である。各格納エリアの正面を監視可能なカメラを、格納区域又は商品格納エリアに関連付けられた量センサと組み合わせれば、それだけで十分であり得る。このシナリオは、図71に示されている。図71は、上下に積み重ねられ、狭い空間に高密度の商品を提供する3つの棚4213aa、4213ab、及び、4213acを示している。ここで、棚の間の離隔7103は、商品の高さよりもわずかに大きいだけでよい。棚は、量センサ(図66A及び図66Bに示されるセンサ等)を備えており、したがって、下方の棚を監視するために、棚の底部に下を向いたカメラを備える必要はないであろう。その代わりに、カメラ7101及び7102といった、店舗内の他のカメラを、各商品格納区域の正面を監視するように方向づけてもよい。これらの他のカメラは、壁、天井、又は、備品に取り付けられてもよいし、又は、格納区域を含む棚ユニットに一体化されていてもよい。商品格納区域の正面を監視するために、任意の数のカメラを用い得る。商品の充填密度を上げることに加えて、この配置は、棚の底部の比較的高価なカメラを安価な量センサ(単一画素LIDAR)に置き換えることによって、費用を低減し得る。複数のカメラに異なる視点から棚を監視させることは、少なくとも1つのカメラから、棚内の任意の点の隠されていないビューが入手可能であるという利点を提供する。(この利点については、図73に関して以下に説明する。)
図72Aは、商品格納区域から取り出された又は置き換えられた商品を識別するために、カメラ7101及び7102からの画像の使用を示している。商品を取り出す動作7201が、棚4213ac内の格納区域に関連付けられた量センサによって検出される。この動作は、信号7202を(例えば、棚内のマイクロプロセッサから)生成し、この信号は、動作、格納エリア、及び、影響を受けた格納区域、時間、並びに、潜在的な商品の量を提供する。この信号は、店舗サーバー130によって受信される。その後、店舗サーバー130は、カメラ7101及び7102から画像を取得し、これらの画像を使用して、影響を受けた1つまたは複数の商品を識別する。動作信号7202が、1つ又は複数の商品が取り出されたことを示すので、このサーバーは、動作の前の、影響を受けた格納区域の「事前」画像を取得する必要がある。(この動作が、商品が追加されたことを示す場合、サーバーは、動作の後の、影響を受けた格納区域の「事後」画像を取得することになる。)その後、サーバーは、これらの画像を、商品格納エリアの正面に対応する垂直平面7203に投影する。この投影は、例えば、図33に関連して説明したように行われ得る。相違点は、ここでの投影は、垂直平面への投影であり、図33の水平面への投影ではない点である。複数のカメラからの画像を商品格納エリアの正面における共通平面に投影することによって、カメラ位置及び向きにおける差による歪みが最小化される。したがって、カメラ画像を組み合わせて、各格納区域の正面における商品を識別し得る。加えて、全てのカメラビューをこの平面に再投影することによって、全てのカメラを棚のビューに一致させることが可能になる。投影ビューは、棚の物理的形状と1:1であり、画像のXY空間における画素は、直線的に、棚のXZ平面における点に対応し、各画素は、物理的寸法を有する。再投影は、商品分類器が必要とする訓練の量を低減し、製品の視覚的検出及び分類を簡略化する。この投影工程7204は、結果として、例えば、1つ又は複数のカメラからの画像7205といった画像を生成する。動作信号7202は、影響を受けた格納区域を識別するので、この区域に対応する画像7205の領域7207が、ステップ7206において抽出され、結果的に、単一の商品画像7208となり得る。その後、この画像は、分類器6203に入力され、分類器6203は、商品識別7209を出力し得る。1つ又は複数の実施形態は、例えば、ラベルが付された商品画像に対して訓練されたニューラルネットワークといった任意の種類の画像分類器を使用してもよい。分類器6203を、データに対して訓練してもよく、画像又は特徴を認識するように設計されていてもよく、又は、訓練された及び設計された構成要素の組み合わせを有していてもよい。1つ又は複数の訓練された分類器は、任意の種類の機械学習技術を使用してもよく、機械学習技術には、ニューラルネットワークが含まれるが、これに限定されない。1つ又は複数の実施形態では、任意のシステム、又は、商品の視覚的識別を行うシステムの組み合わせを、分類器として使用してもよい。その後、商品識別7209を、動作用のデータ7202、及び、買い物客の追跡に基づく買い物客情報と組み合わせて、買い物客と商品、動作、量、及び、時間との関連付け7210を作成してもよい。上述のように、買い物客追跡は、例えば、動作が行われた場所及び時間に、買い物客に関連付けられたどの影響体積域が商品格納区域に交差したかを示している。
図72Bは、店舗からの画像であり、異なるカメラからの画像を共通の正面垂直平面に投影することを示している。画像7221及び7222は、2つの異なるカメラからの棚ユニットのビューである。商品の画像は、これらの画像では、異なる位置にある。例えば、上から2段目の棚の最も右の正面にある商品は、画像7221では画素位置7223にあるが、画像7222では位置7224にある。これらの画像が、(先に図72Aに関連して説明したように)棚ユニットの正面平面に投影されて、結果的に、投影画像7231及び7232になる。その後、棚の正面にある製品は、両方の画像において同じ画素位置にある。例えば、上から2段目の棚の最も右の正面にある商品は、画像7231及び7232において、それぞれ、同じ位置7233及び7234にある。
1つ又は複数の実施形態では、商品を識別するためにどのカメラビューを使用できるかを判定するために、買い物客の追跡も用いてもよい。カメラは、商品格納エリアの正面平面を表示するように配置及び配向されていてもよいが、買い物客が、影響を受けた商品とカメラとの間に位置している場合、買い物客は、幾つかのビューにおいて隠れてしまう場合がある。人追跡工程7300は、買い物客が店舗の中を移動する際に買い物客の位置を追跡するので、買い物客の影響体積域1001も、各カメラから見て正面平面に投影され得る。これらの投影は、どのカメラが、距離/重量検知から検出イベントの時間の間に、影響を受けた商品格納区域の邪魔されていないビューを有しているかを示している。例えば、カメラ7102から見た影響体積域1001の正面平面7203への投影7302は、結果として、領域7311bとなり、ここでは、商品が移動された商品格納区域の影響を受けた画像領域7207は隠れていない。反対に、カメラ7101から見た投影7301は、影響体積域1001が領域7311aに投影されていることを示しており、領域7207のビューを邪魔している。したがって、このシナリオでは、商品分類は、画像7205bだけを使用し、画像7205aを使用しない。一般的に、複数のカメラを構成して、複数の異なる見方から格納エリアを監視してもよく、そうして、商品を分類するために、格納エリアの正面の少なくとも1つの隠されていないビューが入手可能である。
ここに開示された本発明を、特定の実施形態及びその適用を用いて説明したが、当業者であれば、特許請求の範囲に記載される本発明の範囲から逸脱することなく、これに様々な変形及び変更を行うことができるであろう。