(57)【要約】      （修正有）【課題】店舗の棚への製品の配置を追跡する方法を提供する。【解決手段】方法は、店舗内のモバイルロボットシステムによって記録された画像にアクセスするステップと、画像の領域内に棚を検出するステップと、棚のアドレスに基づいて、店舗の棚割によって棚に割り当てられた製品のリストを検索するステップと、製品のリストで特定された製品の視覚的特徴を規定する、テンプレート画像のデータベースからのテンプレート画像のセットを検索するステップと、画像の領域から特徴のセットを抽出するステップと、特徴のセットと、製品を表すテンプレート画像のセットのテンプレート画像の特徴との間の偏差に応答して、製品のユニットが棚に間違って置かれていることを判定するステップと、製品のユニットが棚に不適切に置かれていると判定したことに応答して、製品の補充プロンプトを生成するステップと、を含む。【選択図】図１
2020184356.tif 000002
【特許請求の範囲】
【請求項１】
店舗の棚の製品の配置を追跡する方法であって、
第１時間にモバイルロボットシステムによって記録された画像データを含む第１画像にアクセスするステップであって、前記第１画像は、前記第１時間の前記店舗内での前記モバイルロボットシステムの第１場所及び第１向きに関連付けられる、ステップと、
前記第１画像の第１領域に近接して表された第１棚を検出するステップと、
前記第１場所、前記第１向き及び前記第１画像内の前記第１棚の垂直位置に基づいて前記第１棚のアドレスを判定するステップと、
前記第１棚のアドレスに基づいて、前記店舗の棚割によって前記第１棚に割り当てられた第１製品リストを検索するステップと、
テンプレート画像のデータベースからテンプレート画像の第１セットを検索するステップであって、前記テンプレート画像の第１セットの各テンプレート画像は、前記第１製品リストで特定された製品の視覚的特徴を含む、ステップと、
前記第１画像の前記第１領域から特徴の第１セットを抽出するステップと、
前記特徴の第１セットの特徴と、前記第１製品リストの第１製品を表す前記テンプレート画像の第１セットの前記第１テンプレート画像の特徴との間の相関に応答して、前記第１製品のユニットが前記第１棚に存在することを確認するステップと、
前記特徴の第１セットの特徴と前記第１テンプレート画像の特徴との間の偏差に応答して、前記第１製品のユニットが前記第１棚に不適切に置かれていると判定するステップと、
前記第１製品のユニットが前記第１棚に不適切に置かれていると判定したことに応答して、前記第１棚の前記第１製品のための第１補充プロンプトを生成するステップと、を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願との相互参照
[0001]  本出願は、２０１６年５月１９日に出願された米国仮出願第６２／３３９，０３９号の利益を主張し、この参照によりその全体が組み込まれる。
【０００２】
[0002]  本出願は、２０１６年１１月９日に出願された米国特許出願第１５／３４７，６８９号に関連し、この参照によりその全体が組み込まれる。
【発明の概要】
【０００３】
[0003]  本発明は、概して、在庫追跡の分野に関し、より詳細には、在庫追跡の分野において店舗の棚への製品の配置を追跡する新規で有用な方法に関する。
【図面の簡単な説明】
【０００４】
【図１】方法のフローチャートである。
【図２】一変形例の方法の図表示である。
【図３】一変形例の方法の概略図である。
【図４】一変形例の方法のフローチャートである。
【図５】一変形例の方法のフローチャートである。
【発明を実施するための形態】
【０００５】
[0009]  以下の本発明の実施形態の説明は、それらの実施形態に本発明を限定することを意図するものではなく、当業者が本発明を実施して使用することを可能にするものである。本明細書で説明する変形、構成、実装、実施例及び例は、任意選択的であり、それらが説明する変形、構成、実装、実施例及び例のみに限定されない。本明細書で説明する本発明は、それらの変形、構成、実装、実施例及び例のいずれか及びすべての置換を含み得る。
【０００６】
１．方法
[0010]  図１に示すように、店舗の棚への製品の配置を追跡する方法Ｓ１００は、ブロックＳ１２０において、第１時間にモバイルロボットシステムによって記録された画像データを含む第１画像にアクセスするステップであって、第１画像は、第１時間の店舗内のモバイルロボットシステムの第１場所及び第１向きに関連する、ステップと、ブロックＳ１２２において、第１画像の第１領域に近接して表される第１棚を検出するステップと、第１場所、第１向き及び第１画像内の第１棚の垂直位置に基づいて、ブロックＳ１３０において第１棚のアドレスにアクセスするステップと、第１棚のアドレスに基づいて、ブロックＳ１３０において、店舗の棚割によって第１棚に割り当てられた第１製品リストを検索するステップと、ブロックＳ１４０において、テンプレート画像のデータベースからテンプレート画像の第１セットを検索するステップであって、テンプレート画像の第１セットの各テンプレート画像は、第１製品リストで特定された製品の視覚的特徴を含む、ステップと、ブロックＳ１２４において、第１画像の第１領域から特徴の第１セットを抽出するステップと、ブロックＳ１５０において、特徴の第１セットの特徴と、第１製品を表すテンプレート画像の第１セットの第１テンプレート画像の特徴との間の相関に応答して、第１製品リストの第１製品のユニットが第１棚に存在することを確認するステップと、ブロックＳ１５２において、特徴の第１セットの特徴と第１テンプレート画像の特徴との間の偏差に応答して、第１製品のユニットが第１棚に不適切に置かれていると判定するステップと、ブロックＳ１６０において、第１製品のユニットが第１棚に不適切に置かれていると判定したことに応答して、第１棚の第１製品について第１補充プロンプトを生成するステップと、を含む。
【０００７】
[0011]  図４に示すように、方法Ｓ１００の１つの変形例は、ロボットシステムで、ブロックＳ１１０において、予め設定されたウェイポイントによって規定された場所に近接した店舗内の位置にナビゲートするステップと、ブロックＳ１１２において、予め設定されたウェイポイントによって規定された画像仕様に基づいて、ロボットシステムに配列されたカメラのセットの第１カメラを通じて写真画像を取り込むステップと、ブロックＳ１３０において、当該場所に近接した棚に置くように指定された製品の製品識別子にアクセスするステップと、ブロックＳ１４０において、製品識別子に対応する、テンプレート画像のデータベースからのテンプレート画像のセットを選択するステップと、ブロックＳ１５０において、テンプレート画像のセットの特定のテンプレート画像と写真画像の領域との間の類似度に基づいて製品のユニットが棚に存在することを確認するステップと、ブロックＳ１５２において、特定のテンプレート画像に関連する製品の向きに基づいて棚の製品のユニットのずれを識別するステップと、ブロックＳ１６０において、棚の製品のユニットの位置を手で補正するためのプロンプトを発行するステップと、を含む。
【０００８】
[0012]  図５に示すように、方法Ｓ１００の別の変形例は、ロボットシステムで、ブロックＳ１１０において、予め設定されたウェイポイントによって規定された場所に近接した店舗内の位置にナビゲートするステップと、ブロックＳ１１２において、予め設定されたウェイポイントによって規定された画像仕様に基づいて、ロボットシステムに配列されたカメラのセットの第１カメラを通じて写真画像を取り込むステップと、ブロックＳ１３０において、当該場所に近接した棚に指定された製品の製品識別子のセットにアクセスするステップと、ブロックＳ１４０において、テンプレート画像のデータベースからテンプレート画像のセットを選択するステップであって、テンプレート画像のセットの各テンプレート画像は製品識別子のセットの製品識別子に対応する、ステップと、ブロックＳ１２４において、領域のセットの領域とテンプレート画像のセットのテンプレート画像との間の類似度に基づいて、写真画像の領域のセットを製品識別子のセットの製品識別子に相関させるステップと、ブロックＳ１５２において、当該場所に近接する棚に対応する棚割と写真画像の領域のセットの配列との間の差異に基づいて店舗の棚の製品の特定の配置からの偏差を識別するステップと、ブロックＳ１６０において、識別された偏差に基づいて店舗における棚の製品の位置を手で補正するためのプロンプトを発行するステップと、を含む。
【０００９】
２．アプリケーション
[0013]  概して、方法Ｓ１００のブロックは、コンピュータシステムによって実行されることができ、小売スペース（例えば、食料品店）全体の棚に配列された製品の画像を取り込むためのロボットシステムを展開し、ロボットシステムから受信した画像と小売スペース全体にわたる製品の場所を規定する割棚とに基づいて小売スペース全体の棚のスロットに割り当てられた製品の在庫状態を判定し、小売スペース全体の空きスロットを補充するように小売スペースの提携者に自動的に促す。特に、コンピュータシステムは、方法Ｓ１００のブロックを自動的に実行して、店舗内の棚の画像を収集し、それらの画像からそれらの棚の製品のユニットの存在及び配列を判定し、店舗全体における実際の製品の配列と、店舗の棚割で規定された目標の製品提示要件との間の偏差を識別し、店舗の提携者（例えば、従業員）による消費及び取り扱いのためにそうした偏差を包括化することができる。従って、コンピュータシステムは、ブロックＳ１１０において、店舗内の棚の画像を収集するためにロボットシステムを展開し、ブロックＳ１１２において、ロボットシステムからの画像を一括してリアルタイムで受信し、ブロックＳ１３０、Ｓ１３２及びＳ１３４において、これらの画像を処理して、店舗の棚の製品の存在、位置及び／又は向きを判定し、それらの製品の存在、位置及び／又は向きに基づいて店舗の棚割からの偏差を識別し、ブロックＳ１４０及びＳ１５０において、店舗の提携者にそれらの偏差を補正するように自動的に促すことができる。
【００１０】
[0014]  システムは、ロボットシステムが走査サイクル中に１以上の画像をナビゲート及び取り込もうとしている店舗内の場所を規定するウェイポイントのセットを実装することができ、システムは、ウェイポイントに又はその近くにいる間にロボットシステムによって取り込まれた画像にウェイポイント（又はウェイポイントの内容）をリンクさせることができる。例えば、ロボットシステムは、小売店（又は倉庫等）内に配置されることができ、リモートコンピュータシステム（例えば、インターネットを介してロボットシステムに接続されたリモートサーバ）が、ロボットシステムを展開して、毎晩午前１時に始まるような、店舗の営業時間外の小売店全体のウェイポイントで画像を収集することができる。ロボットシステムは、従って、小売店が数時間後に開く前に走査サイクルを完了することができる。代替的に、システムは、営業時間中にモバイルロボットシステムを展開して、顧客が店舗全体の棚の上、棚から及び棚へと製品を移動させ、取り出し、場合によっては戻す際に、店舗の在庫状態を表すデータをリアルタイムで収集することができる。
【００１１】
[0015]  次いで、システムは、走査サイクル中に収集された画像を処理して、店舗の棚の現在の製品の配置のグラフ、マップ又はテーブルを生成し、店舗の包括的な在庫状態を生成し、及び／又は、店舗全体の行方不明の、間違って配置された又は間違った向きの製品を補正するためのプロンプト又はタスクのセットを包含する包括補充リストを生成することができる。例えば、その画像のメタデータに格納され得る、棚セグメントの画像が記録された時のモバイルロボットシステムのウェイポイント、場所及び／又は向きに基づいて、システムは、画像が取り込まれた時のロボットシステムの視野において、例えば、棚構造に割り当てられたすべての最小在庫保管単位（ＳＫＵ）、棚セグメントに割り当てられたすべてのＳＫＵ、単一の棚に割り当てられたすべてのＳＫＵ又は特定のスロットに割り当てられたすべてのＳＫＵ等、ウェイポイント付近の１以上の棚への在庫を指定された製品のＳＫＵ又は他の識別子のリストを検索することができる。それらのＳＫＵに基づいて、システムは、テンプレート画像の比較的大きなデータベース（例えば、何百万もの）を、店舗の棚割に従って、この単一の棚、棚セグメント又は棚構造を占有することが予想される又は最も占有しそうな製品のテンプレート画像の比較的小さなセット（例えば１５）までフィルタリングすることができる。このテンプレート画像の比較的小さなセットを画像内の部分領域と比較するコンピュータビジョン技術を実施することによって、システムは、店舗の棚の様々な製品の存在、向き及び／又は位置を比較的迅速にかつ比較的高い精度で特定することができる。
【００１２】
[0016]  具体的には、システムは、店舗の単一の棚構造内の単一の棚セグメントの単一の棚に対応する画像の領域を識別し、画像が記録された時に画像の領域の位置に基づいて、ロボットアームによって占有されたウェイポイント、位置及び／又は向きに基づいてこの棚を識別し、別個の物理的な製品を表す別個のグループの特徴を包含する画像のこの領域の部分領域のその比較を、この棚に割り当てられた製品のテンプレート画像の非常に小さなセットまで狭めることができる。店舗に通用している棚割によってこの棚に割り当てられた製品のリストを集計し、その後にこれらの製品のテンプレート画像のセットを排他的に検索することによって、システムは、この棚の製品を検出する一方で、資源消費（例えば、処理時間、処理能力）を制限して画像を処理することにおいて高い精度を維持することができる。しかしながら、システムが、別個の製品を表す画像の特定の部分領域とこのテンプレート画像の第１セットの任意のテンプレート画像との間の一致を識別することができない場合、システムは、画像の特定の部分領域に表される製品が同じ棚セグメントの近くの棚からその現在の場所に移動させられた可能性があるので、棚セグメントのすべての棚に割り当てられた製品のテンプレート画像のより大きなセットに、テンプレート画像のセットを増大させる（すなわち、拡大する）ことができる。さらに、システムが、画像の特定の部分領域と、このテンプレート画像の第２セットの任意のテンプレート画像との間の一致を特定することができない場合、システムは、一致が検出されるまで又は画像の特定の部分領域に表される製品を識別する試行の際に閾値量の資源が消費されるまで、同一の棚構造のすべての棚セグメントに割り当てられた製品を含むように、次に、同じ通路に面した両方の棚構造に割り当てられた製品を含むように、次に、店舗の同じ領域又はエリアに割り当てられた製品を含むように、次に、店舗全体に割り当てられた製品を含むように、テンプレート画像のセットを増大させることができる。次いで、システムは、店舗全体に置かれた実質的にすべての製品を識別し、それらの製品の場所を追跡し、かつ、店舗に割り当てられた棚割からそれらの製品の存在及び場所における偏差を識別するため、店舗の他の各スロット、棚、棚セグメント及び／又は棚構造に対してこのプロセスを繰り返すことができる。
【００１３】
[0017]  次いで、システムは、店舗全体の識別された製品と店舗の現在の棚割との間の整合及び偏差を、例えば店舗全体の特定のスロットを修正するためのプロンプトを含むグラフ、マップ、テーブル、在庫リスト、タスクリスト及び／又は他のコンテナ（container）に包括化し、例えば、次いで、小売店が開く前の翌朝に小売店に到着するとき、又は、ロボットシステムから画像が受信されて店舗の営業時間中に処理されるときにリアルタイムで、店舗の提携者にこのコンテナを提示することができる。
【００１４】
３．ロボットシステム
[0018]  ロボットシステムは、方法Ｓ１００のブロックＳ１１０及びＳ１１２を実行して、ウェイポイントにナビゲートし、かつ、店舗の棚の画像を取り込む。概して、ロボットシステムは、自律的に店舗を横断し、店舗内の棚の画像を取り込み、分析のためにリモートコンピュータシステムにそれらの画像をアップロードする、ネットワーク対応モバイルロボットを規定することができる。
【００１５】
[0019]  一実施では、ロボットシステムは自律型画像化媒体を規定し、自律型画像化媒体は、ベースと、ベースに配置された駆動システム（例えば、２つの被駆動ホイール及び２つの旋回キャスタ）と、電源（例えば、電気バッテリ）と、マッピングセンサ（例えば、前方及び後方走査ＬＩＤＡＲシステム）のセットと、マッピングセンサによって収集されたデータをロボットシステムの周囲の空間の２次元又は３次元マップに変換するプロセッサと、ベースから垂直に延在するマストと、マストに配列されたカメラのセットと、地理空間位置センサ（例えば、ＧＰＳセンサ）と、リモートコンピュータシステム（例えば、リモートサーバ）からウェイポイントと店舗のマスタマップとをダウンロードし、かつ、カメラによって取り込まれた写真画像及びプロセッサによって生成されたマップを、図３に示すように、リモートコンピュータシステムにアップロードする無線通信モジュールと、を含む。この実施では、ロボットシステムは、図３に示すように、マストの左側に２つの垂直にオフセットされたカメラ、マストの右側に２つの垂直にオフセットされたカメラ等のマストに静的に装着されたカメラを含むことができる。ロボットシステムは、付加的に又は代替的に、マストの左側にあり、かつ、第１垂直走査アクチュエータによって支持された１つのカメラ、マストの右側にあり、かつ、第２垂直走査アクチュエータによって支持された１つのカメラ等の関節動作可能なカメラを含んでもよい。ロボットシステムは、ズームレンズ、広角レンズ又は各カメラの任意の他のタイプのレンズを含んでもよい。しかしながら、ロボットシステムは、他の形態を規定することができ、店舗環境全体にわたる自律的なナビゲーション及び画像の取り込みをサポートする任意の他のサブシステム又は要素を含むことができる。
【００１６】
[0020]  システムは、単一の店舗内に配置され、かつ、店舗内の棚の画像化に協働するように構成された複数のロボットシステムを含むこともできる。例えば、２つのロボットシステムが、大規模な単一フロアの小売店に配置されてもよく、閾値期間内（例えば、１時間以内）に店舗のすべての棚の画像を収集するように協働することができる。別の例では、１つのロボットシステムが、複数フロアの店舗の各フロアに配置されてもよく、各ロボットシステムはそれぞれ、対応のフロアの棚の画像を収集することができる。リモートコンピュータシステムは、１つの店舗内に配置された複数のロボットシステムによって取り込まれた画像を集約して、店舗内の適切に置かれたスロット及び不適切に置かれたスロットのグラフ、マップ、テーブル及び／又はタスクリストを生成することができる。
【００１７】
４．階層及び用語
[0021]  「製品面」は、本明細書では、スロットに対して指定された（例えば、特定のＳＫＵ又は他の製品識別子の）製品の面として参照される。「棚割」は、本明細書では、（例えば店舗全体にわたって）店舗内の複数の棚構造のそれぞれにわたる複数の製品面の図形表示として参照される。棚割に視覚的に記録された製品の識別子、配置及び向きのデータは、対応のテキストの製品配置スプレッドシート、スロットインデックス又は他の店舗データベース（以下、「製品配置データベース」という。）に記録されることもできる。
【００１８】
[0022]  「スロット」は、本明細書では、製品の１以上のユニットの横列を含む、１つの製品面に占有されるように指定された棚のセクションとして参照される。「棚」は、本明細書では、１以上のスロットにまたがる１つの横面（例えば、１つの４フィート幅の水平面）として参照される。「棚セグメント」は、本明細書では、１以上の棚を含む棚構造の１つの縦列として参照される。「棚構造」は、本明細書では、１以上の棚セグメントの横列として参照される。「通路」は、本明細書では、２つの対向する棚構造の間の通路として参照される。「店舗」は、本明細書では、１以上の棚構造及び１以上の通路を包含する（静止した又は可動の）施設として参照される。
【００１９】
[0023]  「製品」は、本明細書では、特定の製品識別子（例えば、ＳＫＵ）に関連する包装された商品のタイプとして参照される。「ユニット」又は「製品ユニット」は、本明細書では、１つのＳＫＵ値に関連付けられた一連の包装された物品のうちの１つの包装された物品のような製品の例として参照される。
【００２０】
[0024]  本明細書では、方法Ｓ１００は、リモートコンピュータシステム（例えば、リモートサーバ、以下、「コンピュータシステム」という。）によって実行されるものとして説明される。しかしながら、方法Ｓ１００のブロックは、ローカルコンピュータシステムによって又は任意の他のコンピュータシステム、以下、「システム」という、によって、小売スペース（又は店舗、倉庫等）に配置された１以上のロボットシステムによって実行されることができる。
【００２１】
[0025]  さらに、方法Ｓ１００のブロックは、店舗内の棚構造の開放された棚に置かれた製品を識別するためにシステムによって実行されるものとして以下で説明される。しかしながら、システムは、収納スペース、冷蔵ユニット、壁掛け式ラック、自立式床棚、テーブル又は小売スペース内の任意の他の製品オーガナイザに置かれた製品を識別するための同様の方法及び技術を実施することができる。
【００２２】
５．ウェイポイント
[0026]  コンピュータシステムは、ロボットシステムが走査サイクル中に１以上の画像をナビゲートして取り込む店舗内の場所を規定するウェイポイントのセットを実装することができ、コンピュータシステムは、ウェイポイント（又はウェイポイントの内容）を、ウェイポイントにある又はその付近のロボットシステムによって取り込まれた画像にリンクさせることができる。ウェイポイントで特定された場所に基づいて、コンピュータシステムは、例えば、画像が取り込まれた時のカメラの視野において、例えば棚構造用に指定されたすべてのＳＫＵ、棚セグメントのすべてのＳＫＵ、棚のセットのすべてのＳＫＵ又は特定のスロット用のＳＫＵ等の、最小在庫管理単位（ＳＫＵ）のリスト又はウェイポイント近くの棚への在庫用に指定された製品の他の識別子を取り込むことができる。ＳＫＵに基づいて、コンピュータシステムは、テンプレート画像の比較的大きなデータベース（例えば、数百万）を、画像に特に関連するテンプレート画像の比較的小さなセット（例えば、１５個）までフィルタリングすることができる。このテンプレート画像の比較的小さなセットを画像の部分領域と比較するコンピュータビジョン技術を実施することによって、コンピュータシステムは、店舗の棚の様々な製品の存在、向き及び／又は位置を比較的迅速にかつ比較的高い精度で判定することができる。
【００２３】
[0027]  例えば、ロボットシステムは小売店（又は倉庫等）内に配置されることができ、コンピュータシステム（例えば、インターネットを介してロボットシステムに接続されたリモートサーバ）は、ロボットシステムを展開して、ウェイポイントで、例えば毎晩午前１時に始まるような、店舗の営業時間外に小売店全体で画像を収集することができる。ロボットシステムは、従って、小売店が数時間後に開く前に走査サイクルを完了することができる。さらに、コンピュータシステムは、走査サイクル中に収集された画像を処理して、店舗の棚の現在の製品の配置のグラフ、マップ又はテーブルを生成し、及び／又は、修正するために間違って配置された又は間違った向きの製品のタスクリストを生成することができ、コンピュータシステムは、このグラフ、マップ、テーブル及び／又はタスクリストを、小売店が開店する前の翌朝の小売店への到着時に提携者に提示することができる。代替的に、コンピュータシステムは、店舗の営業時間中に店舗内のウェイポイントにロボットシステムを展開し、ロボットシステムから受信した画像を実質的にリアルタイムで処理し、そうしたグラフ、マップ、テーブル及び／又はタスクリストをほぼリアルタイムで生成することができる。
【００２４】
[0028]  従って、コンピュータシステムは、ウェイポイントのセットを維持、更新及びロボットシステムに分配することができ、各ウェイポイントは、ロボットシステムが１以上の画像を取り込む店舗内の場所を規定する。一実施では、コンピュータシステムは、店舗に配置された、ロボットシステムのための、充電ステーション（又は、図５に示すような「ドック」）における店舗の２次元デカルト座標系の原点を規定し、店舗のウェイポイントは、原点からの横方向（「ｘ」）距離及び縦方向（「ｙ」）距離等の座標系内の場所を規定する。従って、ウェイポイントを実行する時、ロボットシステムは、ウェイポイントに規定された店舗の（ｘ、ｙ）座標（の例えば３インチ以内）にナビゲートすることができる。例えば、４フィート幅の棚セグメント及び６フィート幅の通路を有する棚構造を含む店舗の場合、コンピュータシステムは、対向する棚セグメントの対のそれぞれの間で、対応の通路において、横方向及び縦方向の中央に１つのウェイポイントを規定することができる。ウェイポイントは、図５に示すように、座標系における通路又は棚構造の角度位置に基づいて、店舗の原点に対する目標角度（「θ」）の形態等の目標の向きも規定することもできる。ウェイポイントを実行する時、ロボットシステムは、隣接する棚構造にカメラを整列させるために、ウェイポイントで規定された目標の向き（の例えば１.５°以内）に向くことができる。
【００２５】
[0029]  ウェイポイントにナビゲートする時、ロボットシステムは、マッピングセンサ（例えば、上述したようなＬＩＤＡＲセンサ）を用いて近くの環境を走査し、走査をロボットシステムの環境の新しいマップにコンパイルし、店舗の座標系を規定する店舗のマスタマップと新しいマップとを比較することによって店舗内のその場所を判定し、マッピングセンサの出力が閾値の距離及び角度内で、ウェイポイントで規定された場所（ｘ、ｙ、θ）及び目標の向きに対応するマスタマップの領域に整列する店舗内の位置及び向きにナビゲートすることができる。ウェイポイントはまた、バックアップ又は冗長場所の形態のような地理空間位置（例えば、ＧＰＳロケーション）を含んでもよい。例えば、ウェイポイントにナビゲートする時、ロボットシステムは、ウェイポイントで規定された地理空間位置に接近することができ、コンピュータシステムは、地理空間位置から閾値距離（例えば５フィート）内にあると、マッピングセンサの出力が、閾値距離及び角度内で、ウェイポイントで規定された場所（ｘ、ｙ、θ）及び目標の向きに対応するマスタマップの領域に整列する位置及び向きにナビゲートすることができる。
【００２６】
[0030]  さらに、ウェイポイントは、ロボットシステムがウェイポイントにナビゲートすることができると、画像を取り込もうとしている各カメラのアドレスを含んでもよい。例えば、左上カメラ、左下カメラ、右上カメラ及び右下カメラを含むロボットシステムの場合、ウェイポイントは、左上カメラ、左下カメラ、右上カメラ及び右下カメラのそれぞれに対応するカメラアドレス［１、２、３、４］のすべて又は部分集合を含んでもよい。この例では、２つの対面する全面の棚セグメントの間の中央の場所を指定する第１ウェイポイントは、ロボットシステムの４つのカメラすべて（例えば、カメラアドレス［１、２、３、４］）にアドレス指定することができ、２つの対面する半分の高さの棚セグメントの間の中央の場所を指定する第２ウェイポイントは、ロボットシステムの左下カメラ及び右下カメラ（例えば、カメラアドレス［２、４］）にアドレス指定することができ、単一の全面の棚セグメントに隣接する場所及び９０°の目標の向きを指定する第３ウェイポイントは、ロボットシステム内の右上カメラ及び右下カメラ（例えば、カメラアドレス［３、４］）をアドレス指定することができる。代替的に、関節運動可能なカメラを含むロボットシステムの場合、ウェイポイントは、ウェイポイントで画像を取り込もうとしている各カメラのアドレス及び弧状の位置を規定することができる。
【００２７】
[0031]  ウェイポイントは、カテゴリ、ウェイポイントで画像を取り込むように指定された特定のカメラの視野内にあるように予想される通路、棚構造、棚セグメント、１以上の棚及び／又は１以上のスロットのアドレスを特定する（又は、アドレスにリンクされる）こともできる。例えば、ウェイポイントは、ウェイポイントで特定された場所で画像を取り込むためにロボットシステムの４台のカメラすべてを指定することができ、ウェイポイントは、以下の：左下カメラによる第１画像の取り込みのためのアドレス［洗濯セクション、通路２、棚構造１、棚セグメント２、棚１〜４］のアドレス；左上カメラによる第２画像の取り込みのための［洗濯セクション、通路２、棚構造１、棚セグメント２、棚５〜８］のアドレス；右下カメラによる第３画像の取り込みのための［洗濯セクション、通路２、棚構造２、棚セグメント２、棚１〜４］のアドレス；及び、左下カメラによる第４画像の取り込みのための［洗濯セクション、通路２、棚構造２、棚セグメント２、棚５〜８］のアドレス、を指定することができる。
【００２８】
６．ロボットシステムナビゲーション
[0032]  方法Ｓ１００のブロックＳ１１０は、ロボットシステムで、予め設定されたウェイポイントによって規定された場所に近接した店舗内の位置にナビゲートするステップを列挙している。概して、ブロックＳ１１０の走査サイクル中、ロボットシステムは、ウェイポイントで特定されたように、１以上の画像を取り込むための準備として現在のウェイポイントで特定された位置及び向き−場所の閾値距離及び角度並びに目標の向きの範囲内−に自律的にナビゲートする。代替的に、ブロックＳ１１０は、店舗内のスロット、棚、棚セグメント及び／又は棚構造に対応するウェイポイントにリモートコントローラを展開するステップを列挙してもよく、リモートコンピュータシステムは、例えばコンピュータネットワーク上で、ロボットシステムに１以上のウェイポイントを通信することによってブロックＳ１１０を実行することができる。
【００２９】
[0033]  一実施では、新しい走査サイクルを開始する前に、ロボットシステムは、リモートコンピュータシステムから、ウェイポイントのセット、ウェイポイントの優先順位及び店舗の座標系を規定する店舗のマスタマップをダウンロードすることができる。ロボットシステムが走査サイクルの開始時に割り当てられた充電ステーションを離れると、ロボットシステムは、その統合されたマッピングセンサ（例えば、ＬＩＤＡＲセンサ）を繰り返しサンプリングし、かつ、マッピングセンサによって収集されたデータに基づいてその環境の新しいマップを構築することができる。新しいマップをマスタマップと比較することによって、ロボットシステムは、走査サイクル全体を通して店舗内のその場所を追跡することができる。さらに、次のウェイポイントにナビゲートするために、ロボットシステムは、上述したように、現在のウェイポイントで規定された場所（ｘ、ｙ、θ）及び目標の向きに対応するマスタマップの領域とマッピングセンサの現在の出力との間の整合に基づいて−閾値距離及び角度のずれ内で−ウェイポイントのその達成を確認することができる。
【００３０】
[0034]  代替的に、ロボットシステムは、ＧＰＳの場所及び方位標示を規定するウェイポイントを実行することができ、ロボットシステム内のＧＰＳセンサ及びコンパスセンサの出力に基づいてウェイポイントの達成を確認することができる。しかしながら、ロボットシステムは、ウェイポイントで規定された場所及び目標の向きからの閾値距離及び角度のずれ内の店舗内での位置及び向きにナビゲートする任意の他の方法又は技術を実施することができる。
【００３１】
７．写真画像及び画像メタデータ
[0035]  方法Ｓ１００のブロックＳ１１２は、予め設定されたウェイポイントによって規定された画像仕様に基づいて、ロボットシステムに配列されたカメラのセットの第１カメラを通じて写真画像を取り込むステップを列挙している。概して、ブロックＳ１１２において、ロボットシステムは、図１及び図５に示すように、ロボットシステムがブロックＳ１１０で現在のウェイポイントにナビゲートすると、現在のウェイポイントで指定された各カメラを通じてデジタル写真画像（又は「画像」）を取り込む。特に、ロボットシステムが、ウェイポイントで特定された場所（ｘ、ｙ、θ）及び向きからの角度オフセットの閾値距離内の店舗内の位置に到達すると、ロボットシステムは、選択した内蔵光学センサ（例えば、ＲＧＢ  ＣＭＯＳ又はＣＣＤカメラ）をトリガして、ウェイポイントで規定されたカメラアドレスに従って画像を取り込み、その後、それらの画像をローカルメモリに格納する。（代替的に、ロボットシステムが、ウェイポイントで規定された場所に到達すると、ロボットシステムは、ウェイポイントで規定された位置に、選択したカメラを関節運動させ、それらの画像をローカルメモリに格納することができる。）
【００３２】
[0036]  ロボットシステムが画像を取り込むと、ロボットシステムは、例えば、ロボットシステムの識別子（「ＩＤ」）、画像が取り込まれた日付及び時間を示すタイムスタンプ、画像が取り込まれたときのロボットシステムの実際の位置（例えば、マスタマップとマッピングマップの出力との間の比較から判定されたＧＰＳ位置及び／又は場所（ｘ、ｙ、θ）及び目標の向き）、画像を取り込んだカメラのアドレス等の様々なメタデータを画像に書き込むことができる。ロボットシステムはまた、対応のウェイポイント全体又は識別子（例えば、ＵＵＩＤ、固有の数値ラベル）を画像メタデータに書き込むこともできる。代替的に、ロボットシステムは、画像を取り込んだ特定のカメラの視野にあると予想される通路、棚構造、棚セグメント、棚及び／又はスロットの場所、目標の向き及びアドレス等の様々なデータをウェイポイントから抽出することができ、それらのデータを画像メタデータに書き込むことができる。しかしながら、ロボットシステムは、店舗内の走査サイクル中に取り込まれた画像を有する任意の他のデータを格納することができる。
【００３３】
[0037]  次いで、ロボットシステムは、後述するように、それらの画像の処理のためにリモートコンピュータシステムにアップロードすることができる。例えば、図１及び図５に示すように、画像がメタデータで取り込まれてタグ付けされると、ロボットシステムは、実質的にリアルタイムで、ローカルのインターネット接続無線ルータに画像を送信することができる。別の例では、ロボットシステムは、走査サイクル中又は完了後に、画像のバッチを無線ルータに非同期的に送信することができる。代替的に、ロボットシステムは、画像をローカルで処理するために、以下に説明する方法Ｓ１００のブロックのすべて又は選択したブロックを実行することができる。
【００３４】
８．画像収集
[0038]  方法Ｓ１００のブロックＳ１２０は、ブロックＳ１２０において、第１時間にモバイルロボットシステムによって記録された画像データを含む第１画像にアクセスするステップを列挙しており、第１画像は、第１時間の店舗内のモバイルロボットシステムの第１場所及び第１向きに関連付けられている。概して、ブロックＳ１２０において、システムは、店舗内のウェイポイントを占有している間又は店舗内の経路を横切っている間（例えば、走査サイクル中に）、ロボットシステムによって収集された画像データにアクセスする。
【００３５】
[0039]  ブロックＳ１２０において、コンピュータシステムは、ロボットシステムに内蔵された１以上のカメラを通じて記録されたデジタル写真画像（例えば、「生画像」）をロボットシステムからダウンロードすることができ、各生画像は、例えば、図１及び図５に示すように、画像が記録された時にロボットシステムによって占有される場所、向き及び／又はウェイポイント、画像が記録された時間、画像を記録したロボットシステムのカメラの識別子又は場所等の様々なメタデータを包含する。例えば、ロボットシステムは、移動体接続を介して又はコンピュータネットワーク（例えば、インターネット）を介して実質的にリアルタイムでそれらの画像をコンピュータシステムにアップロードすることができる。代替的に、ロボットシステムは、それらの生画像をローカルメモリに格納し、生画像のグループを（例えば、１つの棚構造に沿って又は店舗の１つの通路に沿って記録された画像ブロックとして）コンピュータシステムにアップロードすることができる。
【００３６】
[0040]  ロボットシステムからの画像の受信時、システム（例えば、リモートコンピュータシステム）は、その後の処理のためにそれらの生画像を同質化（assimilate）することができる。一例では、システムは、画像を記録したカメラに接続された広角レンズから生じる魚眼効果を除去するために生画像をデワープ（dewarp）し、その後、この補正された画像を方法Ｓ１００の後続のブロックで処理する。別の例では、システムは、生画像が（例えば、画像メタデータに格納されているような）最も近いウェイポイントで規定された目標の場所及び目標の向きに取り込まれたときのロボットシステムの実際の位置及び向きを比較し、ウェイポイントで規定された目標の場所及び向きにロボットシステムが位置決めされた場合に、カメラの視野を表すように生画像を変換（例えば、スキュー、デワープ）し、この補正された画像を方法Ｓ１００の後続のブロックで処理することができる。しかしながら、システムは、任意の他の方法でロボットシステムによって取り込まれた画像を修正、デワープ又はそうでなければ、操作することができる。
【００３７】
[0041]  別の実施では、システム（例えば、リモートコンピュータシステム）は、ロボットシステムによって記録された複数の生画像を、１つのウェイポイントで又は複数の隣接するウェイポイントに沿って、１つの完全な棚セグメント又は棚構造のより大きな（例えば、パノラマ）画像にスティッチングする。一例では、システムは、ロボットシステムが、店舗内の第１棚セグメントに隣接した第１ウェイポイント（例えば、第１時間のロボットシステムの第１場所及び第１向き）を占有している間に、ほぼ第１時間にモバイルロボットシステムに内蔵された別個のカラーカメラのセットによって記録された第１セットのデジタル写真画像を受信し、モバイルロボットシステム内の別個のカラーカメラのセットの既知の位置に基づいて、デジタル写真画像のセットを第１合成画像にまとめる。この例では、システムは、第１ウェイポイント（又は、生画像のセットが記録された時にロボットシステムの第１場所及び第１向き）のアドレス及び第１時間を第１補正画像のメタデータに書き込み、メソッドＳ１００の後続のブロックでこのより大きな合成画像を処理することができる。
【００３８】
[0042]  代替的に、前述の実施では、システムは、ロボットシステムのマストに沿って垂直にオフセットされたカメラによって記録され、かつ、特定の棚構造に沿って隣接する一連のウェイポイントに沿って記録された画像を、特定の棚構造の単一のパノラマ画像にスティッチングすることができる。次いで、システムは、パノラマ画像を別個の領域に分割することができ、各領域は、例えば、以下に説明する方法及び技術に従って、特定の棚構造内の１つの棚セグメント、１つの棚又は１つのスロットに対応する。
【００３９】
９．画像のセグメンテーション
[0043]  一変形例では、システムは、１つの棚構造内の隣接する棚セグメント、１つの棚セグメント内の隣接する棚、１つの棚に割り当てられた隣接するスロット及び／又は１つの棚に配列された別個の製品の境界を示す画像（例えば、補正された生画像又は合成画像）から特徴を検出して抽出するためにコンピュータビジョン技術を実施する。次いで、システムは、画像を別個の領域に分割し、画像の各領域を別々に処理して、各画像領域の１以上の製品の存在、不存在及び／又は向きを識別することができる。
【００４０】
９．１  棚セグメントのセグメンテーション
[0044]  一実施では、システムは、画像内に表される棚セグメント（例えば、複数の棚セグメントを包含する棚構造のパノラマ画像）を区別するためのコンピュータビジョン技術を実施する。一例では、システムは、棚構造を含む対象のエリアの画像を走査し、棚構造の前の床面を表わす画像のエリアと、棚構造の上方の天井及び開放容積と、を除去するために、画像を最下部の線形エッジの周りで及び画像の最上部（線形又は非線形）のエッジの周りでトリミング等することによって、この対象のエリアの周りで画像をトリミングする。この例では、システムは、画像の特徴を検出し、対象のエリアの下端の近くから上端の近くまで延在する実質的に垂直な実質的に線形の曲線を抽出すること等によって、（実質的にほぼ）連続する垂直線について画像内の対象のエリアを走査し、棚構造の棚セグメントのほぼ既知の幅の実際の距離だけオフセットされた２つの隣接する垂直線の間の画像内の対象のエリアの領域を抽出し（又は、画像内の対象のエリアをトリミングし）、この領域又は画像の対象のエリアを単一の棚セグメントを表すものとしてラベル付けすることができる。システムはまた、棚セグメントのアドレスをこの画像領域に書き込むために以下に説明する方法及び技術を実施することもできる。
【００４１】
[0045]  システムは、棚構造内の別個の棚セグメントの境界を示す２つの垂直線（例えば、画像の対象のエリアの下端の近くから上端の近くまで延在する実質的に線形の曲線）の間の画像の他の領域ごとにこのプロセスを繰り返すことができる。
【００４２】
９．２  棚のセグメンテーション
[0046]  図１及び図４に示す一変形例では、方法Ｓ１００はブロックＳ１２２を含み、ブロックＳ１２２は、第１画像の第１領域に近接して表される第１棚を検出するステップを列挙している。概して、ブロックＳ１２２において、システムは、画像（例えば、補正された画像、棚セグメントの周りで切り取られた合成画像）を、この画像で表される棚セグメントの別個の棚の上方のエリア又は容積に対応する領域に分割することができる。
【００４３】
[0047]  一例では、システムは、第１棚セグメントの周りの第１棚構造の全部又は一部の合成画像をトリミングするために上述の方法及び技術を実施する。この例では、システムは、次いで、画像の特徴を検出し、この特徴のセットから、画像（の実質的に全幅）の横方向に延在する第１線形特徴を抽出し、この特徴のセットから、画像（の実質的に全幅）の横方向に延在し、かつ、店舗全体の共通の棚の厚さ又は棚構造の既知の棚の厚さに近似する距離だけ第１線形特徴の下方にオフセットした第２線形特徴を抽出し、第１線形特徴及び第２線形特徴を、第１棚セグメントの第１棚、すなわち、第１棚の上側前縁及び下側前縁と相関させる。この例では、システムは同様に、この特徴のセットから、画像の横方向に延在して第１線形特徴の上方にオフセットされた第３線形特徴を抽出し、この特徴のセットから、画像を横切って延在して共通又は既知の棚の厚さに近似する距離だけ第３線形特徴の下方にオフセットした第４線形特徴を抽出し、第３線形特徴及び第４線形特徴を、第１棚セグメントの第１棚の上方の第１棚セグメントの第２棚に相関させることができる。
【００４４】
[0048]  前述の例では、システムは、第１線形特徴の近くから上方の第４線形特徴の近くまで延在し、かつ、第１棚セグメントの幅にトリミングされた画像の全幅にわたって延在する画像の第１領域を規定することができる。従って、システムは、第１棚構造の第１棚セグメントの第１棚の上方のアクセス可能な容積に対応する、第１画像の第１領域−第１棚セグメントの周りでトリミングされた又はそうでなければ境界を区切られた−を抽出することができる。システムは、第１棚セグメント及び店舗全体の各棚セグメントの他の各棚についてこのプロセスを繰り返して、それぞれが店舗の１つの棚のエリア又は容積を表す画像領域のセットを生成することができる。
【００４５】
[0049]  システムは、各画像領域に表される棚のアドレスを書き込むために以下で説明する方法及び技術を実施することもできる。しかしながら、システムは、画像に表された単一の棚の周りの棚構造又は棚セグメントの画像をセグメント化する任意の他の方法又は技術を実施することができる。
【００４６】
９．３  製品のセグメンテーション
[0050]  この変形例では、方法Ｓ１００は、第１画像の第１領域から特徴の第１セットを抽出するステップを列挙するブロックＳ１２４を含むこともできる。概して、ブロックＳ１２４において、システムは、棚構造、棚セグメント又は棚に配置された個別のオブジェクトによって、この棚構造の周り、棚セグメントの周り又は単一の棚の上方でトリミングされた若しくは別の方法で境界を規定された画像をセグメント化することができる。
【００４７】
[0051]  一例では、システムは、コンピュータビジョン技術を実施して、第１棚の上方のエリア又は容積の周りでトリミングされた第１画像の第１領域の特徴を検出し、第１画像の第１領域の第１棚にわたって配列された別個のオブジェクトのセットを、例えば、それらのオブジェクトのそれぞれの境界を描くエッジ特徴を識別することによって検出する。次いで、システムは、第１画像の第１領域内の第１部分領域を抽出するか、又は、第１画像で第１棚の第１位置に示された、別個のオブジェクトのセットの第１の別個のオブジェクトに対応する第１部分領域の周りの第１画像の第１領域をトリミングし、第１画像の第１領域で検出された他の別個のオブジェクトに対してこの処理を繰り返し、第１棚の固有の位置に配列された１つの別個のオブジェクトをそれぞれ表す別個の画像の部分領域のセットを生成することができる。
【００４８】
[0052]  画像の部分領域が、トリミングされるか又は別の方法で、画像に表されるオブジェクトの周りに境界が規定されると、システムは、以下で説明する方法及び技術を実施して、この部分領域から特徴を抽出し、次いで、それらの特徴と特定の製品を表すテンプレート画像との間の相関に応答して特定の製品のユニットとしてこのオブジェクトを識別することができる。しかしながら、システムは、画像に表された単一の棚の周りの棚構造又は棚セグメントの画像をセグメント化する任意の他の方法又は技術を実施することができる。
【００４９】
９．４  スロットのセグメンテーション
[0053]  この変形例では、システムは、棚構造、棚セグメント又は棚の周りでトリミングされた又は境界を規定された画像をスロットごとにセグメント化することもできる。
【００５０】
[0054]  一例では、システムは、上述した方法及び技術を実施して、第１棚セグメントの周りでトリミングされた第１画像の第１棚の上側前縁及び下側前縁を検出し、第１棚の上側前縁と下側前縁との間の第１画像のあるセクションにおける特徴を検出し、第１画像のこのセクションに沿って、第１棚に貼り付けられた棚タグとして特徴のグループを識別し、それぞれ識別された棚タグの左縁を検出する。第１棚セグメントの第１棚を表す第１画像の第１領域の場合、次いで、システムは、（１）第１棚タグの左縁から横方向に第２棚タグの左縁まで延びる画像の部分領域を、第１棚タグの右縁（又は画像の右縁）に関連付けることができ、及び、（２）第１棚の上側前縁から垂直に下側前縁まで延びる画像の部分領域を、単一のスロット内で、第２棚の上方（又は画像の上縁）に関連付けることができる。システムは、画像の第１領域の他の部分領域に対してこのプロセスを繰り返して、棚の複数の別個のスロットを検出することができる。
【００５１】
[0055]  この例では、システムは、第１棚セグメントの画像のこのセクションからそれらの棚タグの相対位置を抽出し、これらの相対位置を、棚割によって第１棚に割り当てられた相対スロット位置と比較して、これらの棚タグの実際の位置が店舗の現在の在庫計画に整合していることを確認する。この例では、システムは、上述したように、これらの棚タグの数及び相対位置が棚割と一致する場合、棚タグの場所に基づいて第１棚に沿ってスロットの位置を規定することができ、そうでない場合には、システムは、以下に説明するように、第１棚セグメントの画像に又は第１棚の画像の第１領域に、棚割で規定されたスロットの場所を投影することができる。
【００５２】
[0056]  この例では、システムは、バーコードを読み取り、ＳＫＵ又は他の製品識別子を抽出し、及び／又は、第１画像で検出された第１棚タグから価格を読み取り、第１棚タグから読み取られたこれらのデータが、棚割によって隣接のスロット（例えば、第１棚タグの上方及び右）に割り当てられたデータに整合することを確認することができる。第１棚タグから読み取られたデータが、棚割で特定されたデータに整合する場合、システムは、上述したように、画像の第１棚タグに対する第１スロット位置を規定し、それらの棚タグデータを、スロットに対する地上検証データとして取り扱う。そうでない場合には、システムは、ブロックＳ１６０での補正のために第１棚タグにフラグを立て、以下に説明するように、例えば第１スロットを規定するために棚割で規定されたスロットの場所を画像に投影することによって、第１スロットに対する地上検証データとして棚割を取り扱うことができる。
【００５３】
[0057]  別の例では、システムは、例えばスロットインデックスに格納されるか又は棚割によって規定されるように、棚のスロット寸法に従って画像の領域の輪郭を自動的に描くことによって、スロットに対応する画像の領域を識別する。この実施では、システムは、以下で説明するように、画像を取り込んだカメラの視野内の棚の棚アドレスを、画像メタデータから（例えば、画像にリンクされたウェイポイントから、又は、画像が棚割に記録された時のロボットシステムの場所及び向きを参照することによって）直接検索し、スロットインデックス（例えば、スプレッドシート）に棚アドレスを渡すことによって、特定の棚のスロットのスロット寸法（例えば、スロット幅）及びスロット位置を検索し、画像上に（例えば、第１棚に対応する画像の第１領域上に）棚に割り当てられたスロット寸法、スロット位置及びスロットアドレスをマッピングすることができる。この例では、システムは、ロボットシステム上の特定のカメラの垂直位置にリンクされた特定のカメラのアドレスに基づいて、かつ、店舗の特定の棚構造内の既知の場所の特定の棚セグメントの特定の棚の垂直位置にリンクされた特定の棚のアドレスに基づいて、画像の特定の棚の垂直位置を予測することができる。この例では、システムは、次いで、コンピュータビジョン技術（例えば、エッジ検出）を実施して、画像の特定の棚の予想された垂直位置に基づいて画像内の特定の棚（例えば、４フィートの長さの棚）の全域を検出し、特定の棚に対応する画像の領域に、スロットインデックスで規定されたスロット幅のストリングをマッピングし、及び従って、スロット幅のストリングに従って別個のスロットとして特定の棚の上方の画像の領域の輪郭を描くことができる。
【００５４】
[0058]  従って、システムは、画像に示される棚の既定のスロットに対応する画像の「スロット領域」（例えば、矩形スロット領域の横列）の輪郭を描くことができる。さらに、スロットインデックス（若しくは、製品場所データベース又は棚割）は、各スロットアドレスにＳＫＵを割り当てることができ、システムは、対応するスロットアドレスを表す画像の領域に、スロットインデックスからＳＫＵを投影することができる。
【００５５】
[0059]  同様の実施では、システムは、棚割のセクションを画像に直接マッピングし、棚割に示される製品面に従って画像の領域の輪郭を描くことによって、画像に表される棚のスロットに対応する画像の領域を識別することができる。この実施では、システムは、画像メタデータ（又は対応のウェイポイント）から棚構造アドレス及び棚セクションアドレスを検索し、棚構造アドレスのための棚割を検索し、画像に表された棚セグメントに対応する棚割の領域を選択し、その後、コンピュータビジョン技術を実施して、例えば棚の面に対応する画像のエッジを検出し、かつ、画像で検出された棚エッジに棚割の棚エッジを整合させることによって、棚割の選択された領域を、画像に示されたフィールドに整合させるように、スキュー、スケーリング、平行移動及び／又は回転させることができる。次いで、システムは、棚割の選択された領域で特定された各面の１つのスロット領域に画像をセグメント化し、棚割で規定されたスロットからのＳＫＵを画像の対応のスロットセグメントに書き込むことができる。
【００５６】
１０．テンプレート画像の選択
[0060]  方法Ｓ１００のブロックＳ１３０は、第１場所、第１向き及び第１画像内の第１棚の垂直位置に基づいて第１棚のアドレスにアクセスするステップと、第１棚のアドレスに基づいて店舗の棚割によって第１棚に割り当てられた第１製品リストを検索するステップと、を列挙している。方法Ｓ１００のブロックＳ１４０は、テンプレート画像のデータベースからテンプレート画像の第１セットを検索するステップを含み、テンプレート画像の第１セットの各テンプレート画像は、第１製品リストで特定された製品の視覚的特徴を含む。概して、ブロックＳ１３０において、システムは、画像のある領域内に表される棚のアドレスを識別し、この棚に割り当てられた製品リスト（例えば、製品リスト）を検索し、ブロックＳ１４０において、システムは、広範囲の製品を表すテンプレート画像の大きなデータベース（例えば、何百万）から、このリストの製品を表すテンプレート画像の比較的小さな部分集合（例えば、数十）を検索する。特に、ブロックＳ１３０及びＳ１４０において、システムは、利用可能なテンプレート画像の比較的大きなデータベースを、画像に表されるこの棚に割り当てられた製品であって、それによってこの棚に実質的に存在する可能性が高いテンプレート画像の小さなセットに縮小する。次いで、システムは、ブロックＳ１５０及びＳ１５２において、このテンプレート画像の比較的小さなセットのテンプレート画像の特徴と、棚の上（又は棚の下）の画像の領域から抽出された特徴とを比較して、この棚に割り当てられた製品のユニットの存在、不存在及び／又は向きを確認することができる。
【００５７】
[0061]  （システムは、同様の方法及び技術を実施して、ブロックＳ１３０において、画像に表されたスロット、棚セグメント又は棚構造のアドレスを識別し、このスロット、棚セグメント又は棚構造に割り当てられた製品のリスト（例えば、製品のリスト）を検索し、ブロックＳ１４０において、テンプレート画像のデータベースからこのリストの製品を表すテンプレート画像の比較的小さなセットを検索し、ブロックＳ１５０及びＳ１５２において、画像から抽出された特徴とテンプレート画像のセットの特徴との間の相関に基づいて、このスロット、棚セグメント又は棚構造に割り当てられた製品のユニットの存在、不存在及び／又は向きを確認することができる。)
【００５８】
１０．１  テンプレート画像データベース
[0062]  システムは、テンプレート画像のデータベースを維持し、テンプレート画像データベースの各テンプレート画像は、製品の識別子（例えば、ＳＫＵ）に関連付けられ、かつ、製品の全部又は一部若しくは製品の包装の写真又は図形（例えば、コンピュータで書かれた）表現を含む。テンプレート画像データベースの各テンプレート画像には、製品説明、供給者、供給期間、図形リリース日、第２図形、バーコード、カラーパレット、包装プロファイル（例えば、包装の形状及びサイズ）、及び／又は、他の定量的な又は定性的な製品包装の特徴又は記述子がタグ付けされてもよい。さらに、テンプレート画像データベースの各テンプレート画像には製品包装の向きがタグ付けされてもよい。例えば、特定のＳＫＵに関連付けられ、６面の箱に包装されたある製品の場合、テンプレート画像データベースは、箱の前面（又は、主面）を正方形に示し、それに応じてタグ付けされた第１テンプレート画像と、箱の背面を正方形に示し、それに応じてタグ付けされた第２テンプレート画像と、箱の右面を正方形に示し、それに応じてタグ付けされた第３テンプレート画像と、箱の左面を正方形に示し、それに応じてタグ付けされた第４テンプレート画像と、箱の上面を正方形に示し、それに応じてタグ付けされた第５テンプレート画像と、箱の底面を正方形に示し、それに応じてタグ付けされた第６テンプレート画像と、を含む。この例では、テンプレート画像データベースは、箱の前面及び右面の両方を均等に露出させる角度を有する箱であって、それに応じてタグ付けされた箱を示す第７テンプレート画像と、箱の前面、右面及び上面を露出させる角度を有する箱であって、それに応じてタグ付けされた第８テンプレート画像等を含んでもよい。テンプレート画像データベースで表される各製品について、テンプレート画像データベースは、製品の代表ユニット上の様々な照明条件を表す複数のテンプレート画像と、製品包装の損傷した例（例えば、くぼんだ缶、破れた箱）、及び／又は、季節の製品包装（すなわち、特定の季節又は期間中に供給される製品包装）等を包含してもよい。
【００５９】
[0063]  一変形例では、画像データに代えて、テンプレート画像データベースのテンプレート画像は、製品包装の視覚的特徴を表す多次元マトリックス又はベクトルを含んでもよい。例えば、システムは、在庫及びフィールド画像の製品のデータベースを集約及び維持し、これらの在庫及びフィールド画像から特徴を抽出し、これらの特徴を多次元ベクトルに変換するコンピュータビジョン技術を実施し、多次元ベクトル形態のテンプレート画像をテンプレート画像データベースに投入することができる。従って、この例では、システムは、ブロックＳ１３０において、多次元ベクトルのセットを検索することができ、多次元ベクトルのセットの各多次元ベクトルは、ブロックＳ１３０において、棚、棚セグメント又は棚構造等に割り当てられた製品のリストの製品を表す特徴を規定する。このセットの多次元ベクトルを、棚、棚セグメント又は棚構造の画像に表された製品に突き合わせる場合、システムは、ブロックＳ１２２において、棚セグメントの棚を表す画像の第１部分領域をセグメント化し、画像の別個の第１オブジェクトの境界を定める画像の第１領域の第１部分領域を識別し、コンピュータビジョン技術を実施して、画像の第１領域の第１部分領域からの形状、色及び／又はテキストの特徴等を含む特徴の第１セットを検出及び抽出し、画像の第１部分領域から抽出された特徴の第１セットの特徴と、テンプレート画像データベースから検索された多次元ベクトルのセットの、第１製品を表す、第１多次元ベクトルによって規定された特徴との間の相関の複合スコアを計算し、次いで、ブロックＳ１５２において、複合スコアが閾値スコアを超える場合には、ブロックＳ１５０において、画像の第１部分領域に表される第１オブジェクトを第１製品のユニットとして識別することができ、その逆も同様である。
【００６０】
[0064]  しかしながら、テンプレート画像データベースは、製品又は製品包装の任意の他のビューを表し、任意の他の関連データを含む（例えば、タグ付けされた）テンプレート画像を含んでもよい。
【００６１】
１０．２  棚構造によるテンプレート画像データベースのフィルタリング
[0065]  一実施では、システムは、テンプレート画像データベースから、棚構造の高さ及び長さに沿ってスロットに割り当てられた製品の視覚的特徴を表すテンプレート画像のセットを選択する。この実施では、システムは、画像のメタデータに格納された棚構造アドレス（又は「ＩＤ」）を読み取り、画像（又は関連する生画像）が記録された時にロボットシステムによって（おおよそ）占有されたウェイポイントに関連付けられた棚構造アドレスを検索し、若しくは、画像（又は関連する生画像）が店舗の建築計画に記録された時にロボットシステムの場所及び向きを投影して、ブロックＳ１３０において、棚構造のアドレスを判定することができる。次いで、システムは、棚構造アドレスを棚割、スロットインデックス、製品場所スプレッドシート又は店舗に関連する他の製品場所データベースに渡して、ブロックＳ１３０において、この棚構造を横切るスロットに割り当てられた製品のリスト（例えば、製品のリスト）を検索することができる。
【００６２】
[0066]  次いで、システムは、ブロックＳ１４０において、この製品リストの製品の１以上の面を示すテンプレート画像のセットをテンプレート画像のデータベースから検索することができる。例えば、店舗内の棚構造には、８０の固有の製品面が置かれることができる。この例では、システムは、画像メタデータ及び製品場所データベースに格納された棚構造アドレスに基づいて、ブロックＳ１３０において、この棚構造の在庫を指定された８０の固有のＳＫＵのリストを蓄積し、ブロックＳ１４０において、数百万の固有の製品に関連付けられた何百万ものテンプレート画像のデータベースからの８０のテンプレート画像のセットを集約することができ、セットのそれぞれ選択されたテンプレート画像は、棚構造アドレスに関連付けられた製品のリストのある製品の包装の主面（例えば、箱、袋、缶又はボトルの前面等）を表している。
【００６３】
[0067]  前述の例では、棚構造に割り当てられた８０の固有の製品のセットについて、システムは、その後に画像と比較するために、数百万のテンプレート画像のデータベースから４８０のテンプレート画像を集約することができ、各テンプレート画像は、棚構造に割り当てられた１つの製品の包装の６面のうちの１つを表し、４８０のテンプレート画像のセットは、８０の製品のそれぞれの包装の各面の１つのテンプレート画像を含む。代替的に、システムは、棚割によって棚構造に割り当てられた製品について、利用可能なすべてのテンプレート画像（又は、すべての優先順位付けされたテンプレート画像又は最上位のテンプレート画像）を、テンプレート画像データベースから検索することができ、テンプレート画像は、ボトル製品又は缶製品について３つのテンプレート画像（例えば、利用可能な場合、製品の垂直軸周りの０°、１２０°及び２４０°のテンプレート画像）、袋詰め製品について２つのテンプレート画像（例えば、利用可能な場合、前面及び背面のテンプレート画像）、箱製品について６つのテンプレート画像（例えば、利用可能な場合、前、後、左、右、上及び下のテンプレート画像）を含む。システムは、棚に割り当てられた製品の現在の既知の包装デザインを表すテンプレート画像の優先順位付け又は選択を行うこともできる。例えば、システムは、テンプレート画像のデータベースから検索されたテンプレート画像のセットをフィルタリングして、現在の季節の季節製品包装のみを表す、又は、標準の製品包装と異なる場合、標準の製品包装と現在の季節の季節製品包装との両方を表すテンプレート画像を含むことができる。システムは、テンプレート画像データベースから検索されたテンプレート画像を選択的にフィルタリングして、特定の製品の以前の製品包装と、特定の製品の以前の製品包装から新しい製品包装への移行中の新しい製品包装と、の両方を表すこともできる。さらに別の例では、システムは、画像（又は元の生画像）が記録された時、棚構造に近接した既知の測定された又は検出された照明条件に一致させる等、照明条件によってテンプレート画像データベース内のテンプレート画像をフィルタリングすることができる。
【００６４】
[0068]  しかしながら、システムは、棚構造に配置されて画像に示される可能性が最も高い製品を表す視覚情報（すなわち、製品の製品包装）を包含する（又は規定する）テンプレート画像の比較的小さなセットを蓄積するために、ブロックＳ１４０において、任意の他のパラメータによってテンプレート画像データベースから検索された画像のテンプレート画像をフィルタリングすることができる。
【００６５】
１０.３  棚セグメントによるテンプレート画像データベースのフィルタリング
[0069]  別の実施では、システムは、棚構造内の単一の棚セグメントのスロットに割り当てられた製品の視覚的特徴を表すテンプレート画像のセットを、テンプレート画像データベースから選択する。この実施では、システムは、ブロックＳ１３０において、上述の方法及び技術を実施して、例えば、画像（又は関連する生画像）が記録されたウェイポイントに関連付けられた棚セグメントアドレスを検索することによって、又は、この時点でロボットシステムに面する棚セグメントのアドレスを検索するために画像（又は関連する生画像）が記録された時点のロボットシステムの位置及び向きを用いて店舗の棚割又は建築計画を照会することによって、画像に表された棚セグメントのアドレスにアクセスすることができる。次いで、システムは、上述のように、ブロックＳ１３０において、棚セグメントアドレスを製品場所データベースに渡して、棚セグメント内の棚に割り当てられた製品のリスト（例えば、ＳＫＵのセット）を検索し、ブロックＳ１４０において、棚セグメントに割り当てられた製品のリストの製品（例えば、製品包装）を表すデータ（例えば、画像、ベクトル、又はマトリクス形式）を包含するテンプレート画像の比較的小さなセットを、テンプレート画像データベースから集約することができる。
【００６６】
[0070]  例えば、特定の棚セグメントアドレスに関連付けられた特定の棚セグメントに割り当てられた２０の製品のリストについて、システムは、ブロックＳ１５０及びＳ１５２において、特定の棚セグメントの画像とその後の比較のために、数百万のテンプレート画像のデータベースから２０のテンプレート画像を集約することができ、各テンプレート画像は、特定の棚セグメントに割り当てられた製品のリストの１つの製品の製品包装の主面を表す。この例では、システムは、上述のように、例えば、代替製品又は季節製品の包装、製品包装の他の面、又は、それらの製品の破損した製品包装等を表す、この製品リストの製品の追加テンプレート画像を集約することもできる。
【００６７】
１０.４  テンプレート画像データベースの棚ごとのフィルタリング
[0071]  さらに別の実施では、システムは、店舗の単一の棚セグメント内の単一の棚のスロットに割り当てられた製品の視覚的特徴を表すテンプレート画像のセットを、テンプレート画像データベースから選択する。この実施では、システムは、上述したように、棚セグメントアドレスを検索し、画像に示された棚セグメント内の特定の棚の垂直位置を検出し（例えば、ブロックＳ１２２）、特定の棚の棚セグメントアドレス及び垂直位置に基づいて特定の棚のアドレスを検索することができる。次いで、システムは、上述したように、ブロックＳ１３０において、特定の棚に割り当てられた製品のリスト（例えば、ＳＫＵのセット）を検索するために製品場所データベースに棚アドレスを渡し、ブロックＳ１４０において、特定の棚に割り当てられた製品のリストの製品（例えば、製品包装）を表すデータ（例えば、画像、ベクトル又はマトリクス形式）を包含するテンプレート画像の比較的小さなセットを、テンプレート画像データベースから集約することができる。
【００６８】
[0072]  例えば、特定の棚セグメントに割り当てられた５つの製品のリストについて、システムは、画像とのその後の比較のために５つのテンプレート画像のセットを集約することができ、この５つのテンプレート画像のセットの各テンプレート画像は、製品のリストである製品の前面を表す。この例では、システムは、上述したように、例えば、代替製品又は季節製品の包装、製品包装の他の面、又は、それらの製品の破損した製品包装等を表す、この製品リストの製品の追加テンプレート画像を集約することもできる。
【００６９】
１０.５  テンプレート画像データベースのスロットごとのフィルタリング
[0073]  別の実施では、システムは、店舗の単一の棚セグメント内の１つの棚の単一のスロットに割り当てられた単一の製品の視覚的特徴を表すテンプレート画像のセットを、テンプレート画像データベースから選択する。この実施では、システムは、上述したように、特定のスロットを包含する棚のアドレスを検索し、画像に示された棚セグメント内の特定の棚の水平位置を検出し、棚アドレス及び棚に沿った特定のスロットの水平位置に基づいて、特定のスロットのアドレスを検索することができる。ブロックＳ１４０では、システムはその後、スロットアドレスを製品場所データベースに渡して、上述したように、特定のスロットに割り当てられた単一の製品のＳＫＵを検索し、特定のスロットに割り当てられたこの単一の製品を表すデータ（例えば、画像、ベクトル又はマトリックス形式）を含むテンプレート画像の単一又は比較的小さなセットを、テンプレート画像データベースから検索することができる。
【００７０】
１０．６  棚タグデータによるテンプレート画像データベースのフィルタリング
[0074]  一変形例では、システムは、コンピュータビジョン技術を実施して、画像内の棚の製品ラベルを検出し、ブロックＳ１３０において、バーコード、ＱＲコード、ＳＫＵ、製品説明及び／又は他の製品識別子を読み取り、ブロックＳ１４０において、同一のバーコード、ＱＲコード、ＳＫＵ、製品説明、面の数及び／又は他の製品識別子でタグ付けされたテンプレート画像のセットを選択し、テンプレート画像のセットを製品ラベルに近接した（例えば、上方の）画像内のスロット領域に割り当てる。この変形例では、システムはその後、棚に貼付された製品ラベルに現れる製品の面の数及び製品識別子データに直接基づいて、ブロックＳ１５２において、対応のスロットの棚に配列された製品の状態を判定することができる。代替的に、システムは、製品ラベルから読み取られた製品識別子を製品場所データベースに渡すことによってスロットの在庫条件を検索し、以下で説明するように、それらの在庫条件を、画像のスロット領域に一致するテンプレート画像にタグ付けされたデータと比較して、スロットの在庫状態を判定することができる。
【００７１】
[0075]  しかしながら、システムは、画像の１以上の領域（又は、「スロット領域」）との比較のために、テンプレート画像の比較的大きなセットから、テンプレート画像の比較的小さなセットを選択する任意の他の方法及び技術を実施することができる。
【００７２】
[0076]  従って、システムは、画像が取り込まれた時のロボットシステムの位置、通路、棚構造、棚セグメント、棚及び／又はロボットの位置に近接したスロット、及び、この通路内又はこの棚構造、棚セグメント、棚及び／又はスロット内の在庫用に指定された製品のＳＫＵに基づいた画像との比較のため、テンプレート画像データベースからテンプレート画像のセットを集約することができる。特に、システムは、製品場所データベース、棚割、スロットインデックス等で規定されるように、特定のスロットに指定された単一の製品、特定のスロットの上方、下方及び／又は横のスロットに指定された複数の製品、単一の棚に指定された複数の製品、単一の棚セグメントの棚のセットに指定された複数の製品、単一の棚構造の複数の棚セグメントに指定された複数の製品、又は、２つの対向する棚構造に指定された複数の製品に対応する、棚構造に置かれた製品の存在又は状態を識別するための画像とのその後の比較のために、テンプレート画像のセットを集約することができる。ブロックＳ１４０において、システムは、ブロックＳ１３０で識別された各製品の製品包装から、様々な面、照明条件、向き、グラフィクスリリース等の画像を含むこのテンプレート画像のセットをまとめることができる。しかしながら、システムは、１以上のＳＫＵを画像にリンクさせる任意の他の方法又は技術を実施することができ、システムは、任意の他の方法で、かつ、任意の他のパラメータに従って、テンプレート画像の比較的大きなデータベースからテンプレート画像の比較的小さなセットを投入することができる。
【００７３】
１０.６  現在の棚割
[0077]  前述の実施では、システムは、ブロックＳ１３０で製品のリストを収集し、画像の時間制約に適合するテンプレート画像の対応のセットをブロックＳ１４０で収集することができる。特に、システムは、画像のメタデータ（又は関連する生画像のメタデータ）に格納されたタイムスタンプから画像の日付及び時間を抽出し、図１に示すように、画像タイムスタンプの日付及び時刻に現在の製品場所データベース、棚割等を選択し、この現在の製品場所データベース、現在の棚割等によって、画像に示されているスロット、棚、棚セグメント又は棚構造等に割り当てられた製品のリストを集約することができる。例えば、毎日、毎週、毎月、四半期ごと又は年次ベース等のような季節の変化を予期して、次の休日の準備として、店舗の製品を並べ替えたり取り除いたり、新しい製品を店舗に時間とともに追加したりすることができ、それらの変更は、店舗の棚割のセットにまたがって規定されてもよい。従って、システムは、ブロックＳ１３０において、現在の棚割（又は、現在の棚割からのデータを包含する現在の製品場所データベース）によって、特定のスロット、棚、棚セグメント又は棚構造等に割り当てられた製品（例えば、ＳＫＵ）のリストを集約することができ、店舗全体にわたる製品場所の割り当てに対する毎日の、毎週の、毎月の、四半期の、年次の、予定された及び予定外の変更に対応する。
【００７４】
[0078]  同様に、ブロックＳ１４０において、システムは、画像が記録された時点で通用しているテンプレート画像（例えば、画像メタデータに記憶されたタイムスタンプに通用する）を選択することができる。例えば、ブロックＳ１３０で生成又はアクセスされた製品のリストで特定された各製品について、システムは、ブロックＳ１４０において、現在の（例えば、「最も新しい」、最新の）製品包装及び最近の以前の製品包装の両方を表すテンプレート画像のセットを集約することができる。この例では、ブロックＳ１５０及びＳ１５２において、システムは、現在の包装テンプレート画像と画像の対応の領域との比較を優先して、現在の包装におけるそれらの製品のユニットの存在を検出し、その後、現在の包装テンプレート画像との一致が確認されない場合、これらの製品の以前の包装のテンプレート画像を画像の対応の領域と比較する。従って、システムは、ブロックＳ１５０において、現在の及び古くなった（例えば、「期限切れの」）製品包装の検出をサポートするために、ブロックＳ１４０において、現在の及び古くなったテンプレート画像の両方を集約することができる。
【００７５】
[0079]  システムは、ブロックＳ１４０において同様の方法及び技術を実施して、ロボットシステムによって記録された画像に示された製品を検出して特徴づけるための準備として、（小さな）製品リストの製品を表す、多数の製品の定量的な又は定性的な製品包装特徴のデータベースから、図形、テキスト、バーコード、カラーパレット、包装プロファイル（例えば、形状）及び／又は他の定量的又は定性的な製品包装特徴を収集することができる。
【００７６】
１１．製品識別及び在庫状態
[0080]  方法Ｓ１００のブロックＳ１５０は、特徴の第１セットと、第１製品を表すテンプレート画像の第１セットの第１テンプレート画像の特徴との間の相関に応答して、ブロックＳ１５０において、第１棚に第１製品リストの第１製品のユニットが存在することを確認することを含む。概して、ブロックＳ１５０において、システムは、特定の製品に関連するテンプレート画像の特徴を、画像の領域から抽出された特徴と突き合わせることによって、特定の棚のブロックＳ１４０で選択されたテンプレート画像に対応する特定の製品のユニットの存在を検出し、特定の棚の特定の製品の存在及び場所が、店舗の棚割によって対応のスロットに割り当てられた在庫条件に整合していることを確認する。
【００７７】
[0081]  同様に、方法Ｓ１００のブロックＳ１５２は、特徴の第１セットと第１テンプレート画像の特徴との間の偏差に応答して、第１製品のユニットが第１棚に不適切に置かれていることを判定するステップを列挙している。概して、ブロックＳ１５２において、システムは、特定のスロットに製品がないこと、特定のスロットが、間違った向きの製品を含むこと、不正確な製品を含むこと、又は、そうでない場合には、画像で示されたスロットに割り当てられたテンプレート画像に表された特徴と、このスロットに対応する画像の領域から抽出された特徴との間の不一致に基づいて、棚割で特定された在庫条件から逸脱していることを判定する。具体的には、システムは、ブロックＳ１５０及びＳ１５２を実行して、棚割、製品場所データベース又は他の製品在庫文書によって規定された製品の場所及び他の在庫条件に基づいて、製品の面が存在するか、製品包装の主面が棚上で外向きに面しているか（すなわち、製品は棚上で適切な向きであるか）、製品包装が直立しているか、製品包装が棚の正しい深さに設定されているか、製品包装が破損しているか、製品の正しい面数が表示されているか、製品包装が最新であるかを判定することができる。
【００７８】
１１.１  特徴マッチング
[0082]  ブロックＳ１５０において、システムは、画像の領域（又は部分領域）を、画像に示されたスロット、棚、棚セグメント又は棚構造に具体的に割り当てられた製品のセットを表すテンプレート画像のセットと比較するテンプレートマッチング技術を実施することができる。例えば、システムは、棚ごとに画像をセグメント化し、画像に示された第１棚に対応する画像の第１領域を抽出し、第１棚上に示されたオブジェクトの周りの第１領域をトリミングし（すなわち、第１領域から背景エリアを除去し）、及び、エッジ検出、オブジェクト検出又は他のコンピュータビジョン技術を実施して、画像の第１領域の別個の部分領域を識別することができ、各部分領域は、第１棚に配列された単一のオブジェクト（例えば、製品の単一ユニット）を表す（この例では、システムは、第１棚について棚割で規定されたスロット寸法を画像の第１領域に投影して、第１棚上の別個のオブジェクトの検出を知らせる又は案内することもできる）。次いで、システムは、テンプレートマッチング技術を実施して、一致が見つかるまで又はテンプレート画像のセットが各部分領域に対してそれぞれ使い果たされるまで、画像の第１領域の各部分領域をと、第１棚に対して選択されたテンプレート画像のセットのテンプレート画像とを比較する。
【００７９】
[0083]  前述の例では、システムはまた、画像の第１領域の第１部分領域から主色値又は相対色値の代表スペクトルを抽出し、その後、テンプレート画像の主色値又は相対色値の代表スペクトルと画像の第１部分領域との間の類似度に従って、第１部分領域との比較のために、テンプレート画像のセットをランク付け、優先順位付け又はフィルタリングすることができる。同様に、システムは、光学文字認識、オブジェクト検出又は他のコンピュータ視覚技術を実施して、画像の第１部分領域からテキスト及び／又はオブジェクトジオメトリを抽出し、その後、テンプレート画像に示されたテキスト及び／又はテンプレート画像に表された製品のジオメトリと画像の第１部分領域に表されたものとの間の類似度に従った第１部分領域との比較のため、テンプレート画像のセットをランク付け、優先順位付け又はフィルタリングすることができる。しかしながら、システムは、画像の第１部分領域から読み出された又は抽出された他の任意の特徴に基づいて、画像の第１部分領域との比較のためにテンプレート画像のセットをランク付け、優先順位付け又はフィルタリングすることができる。次いで、システムは、一致が見つかるまで又はテンプレート画像のセットが第１部分領域について使い尽くされるまで、第１棚に割り当てられた製品のテンプレート画像と、ランク又は優先順位に従って、画像の第１部分領域と体系的に比較することができる。システムは、画像の第１領域の他の部分領域ごとにこの処理を繰り返すことができる。
【００８０】
[0084]  さらに、この例では、システムは、例えば部分領域及びテンプレート画像の同様の相対位置で生じる一致した特徴の数に比例して、画像の部分領域と、第１棚に割り当てられた製品を表すテンプレート画像のセットのテンプレート画像との間の一致についてのスコア（例えば、「信頼度スコア」、「類似度スコア」）を計算することができる。例えば、システムは、画像の第１部分領域と、第１棚に割り当てられた製品のテンプレート画像のセットの各テンプレート画像との間の類似度スコアを計算し、テンプレート画像のセットについての他のすべての類似度スコアを超え、かつ、予め設定された閾値の類似度スコアを超える、第１部分領域と、第１製品を表す第１テンプレート画像との間の類似度スコアに応答して、第１部分領域に表されたオブジェクトを第１製品として識別することができる。具体的には、前述の実施では、システムは、画像の第１部分領域から抽出された特徴と、第１製品を表す第１テンプレート画像で表される特徴との間の比較的強い相関に応答して、ブロックＳ１５０において、画像の第１領域の第１部分領域に表される別個のオブジェクトを第１製品のユニットとして識別することができる。次いで、システムは、画像の第１部分領域に、第１テンプレート画像によって表された製品のＳＫＵ又は他の識別子をタグ付けすることができる。さらに、第１テンプレート画像に、例えば第１製品の包装面、包装の向き、製品説明、供給者、供給期間、グラフィクスリリース日、包装破損等の追加データがタグ付けされている場合、システムは、例えばタグ又は画像メタデータの形態で、これらのデータを画像の第１部分領域にコピーすることもできる。
【００８１】
[0085]  しかしながら、システムが、画像の第１領域の第１部分領域と、閾値の類似度スコアを超えるセットのテンプレート画像との間の類似度スコアを計算することができない場合、システムは、ブロックＳ１５２において、テンプレート画像のセットで表される製品が、第１部分領域に対応する第１棚の位置に適切に置かれていないこと（例えば、存在しないこと、向けられていないこと）を判定することができ、従って、システムは、その後、画像の第１部分領域に、近くの他の棚、棚セグメント及び／又は棚構造に割り当てられた製品のテンプレート画像のより大きなセットとの比較のためにフラグを立てることができる。
【００８２】
[0086]  代替的に、システムは、画像の第１領域の幅及び高さにわたってテンプレート画像のセットの第１テンプレート画像を走査し、画像の第１領域にわたる第１テンプレート画像に関する最良の位置、向き及び類似度スコアを計算し、セットの他のテンプレート画像ごとにこのプロセスを繰り返し、次いで、図１に示すように、閾値の類似度スコアを上回る最大の類似度スコアを示すテンプレート画像からの製品識別子で画像の第１領域の別個の部分領域にタグ付けする。このようにして、システムは、ブロックＳ１５０において、画像の第１領域の別個の部分領域を、これらの部分領域に一致したテンプレート画像からの製品識別子（例えば、閾値の類似度スコアを上回る最大の類似度スコアを示す）にタグ付け又は関連付けることができる。この実施では、システムが、画像の第１領域の第１部分領域と、閾値類似度スコアを超えるセットのテンプレート画像との間の類似度スコアを計算することができない場合、システムは、ブロックＳ１５２において、テンプレート画像のセットに表された製品が、第１棚に置かれ又は第１棚で適切に向けられていないことを判定することができる。さらに、システムが、セットのテンプレート画像にタグ付けされていないか又は一致していない画像の部分領域のあらわになった棚以外を表す特徴を検出する場合、システムは、画像のこの部分領域に、近くの他の棚、棚セグメント及び／又は棚構造に割り当てられた製品のテンプレート画像のより大きなセットとの比較のためにフラグを立てることができる。
【００８３】
[0087]  前述の実施では、システムは、テンプレートマッチング、エッジ検出、パターンマッチング、パターン認識、光学文字認識、色認識、コンテンツベース画像検索、ポーズ推定、コード読み取り、形状認識、及び／又は、画像の第１領域のオブジェクトを検出し、かつ、このオブジェクトを粒子生成物に関連するテンプレート画像に表された又は規定された特徴に一致させる。システムは、このプロセスを繰り返して、セットのテンプレート画像を、画像の第１領域の他の部分領域に一致させ、かつ、画像のこれらの他の部分領域に、一致するテンプレート画像からのデータをタグ付けすることができる。システムは、画像に表された他の棚に対応するそれぞれ他の領域について、店舗全体のそれぞれ他の棚セグメントの他の画像等について、このプロセスをさらに繰り返すことができる。
【００８４】
[0088]  システムは、画像の部分領域にリンクされた製品識別子（例えば、ＳＫＵ）及び他の製品データを、１つの棚、棚セグメントに置かれた、又は、画像に示された完全な棚構造に沿って置かれた製品の在庫マップ（又は、２Ｄ画像オーバレイ、スプレッドシート等）に集約することができる。例えば、システムは、別個のオブジェクトが検出されてテンプレート画像に一致する画像の部分領域を、画像に示される１以上の棚のスロットコンテナの在庫マップに変換することができ、各スロットコンテナは、製品識別子（例えば、ＳＫＵ）、包装面、包装の向き及び／又は画像の対応する領域に一致するテンプレート画像から抽出された他のデータ、及び、オブジェクトが画像の対応の部分領域に検出されたかどうかについてラベルを貼付される。代替的に、システムが、画像の部分領域をテンプレート画像と比較する前に、スロットインデックス（又は、製品場所データベース等）に基づいて別個のスロットとして画像の部分領域の輪郭を描く上述の変形例では、システムは、スロットインデックス（又は、製品場所データベース等）に基づいて画像に示された各スロットのスロットコンテナの在庫マップを生成し、ブロック１５０において、画像の領域がテンプレート画像に突き合わせられた時、システムは、その後、テンプレート画像からの製品データを在庫マップの対応のスロットコンテナにコピーすることができる。システムは、製品を示す特徴が検出されなかった場合、又は、画像の対応する部分領域で間違った製品を示す特徴が検出された場合、それぞれ、ブロックＳ１５２において、在庫マップのスロットコンテナを空にするか又は間違った製品を包含するものとしてフラグを立てることができる。しかしながら、システムは、他の任意の形式又はコンテナの画像の部分領域に一致したテンプレート画像からの製品識別子及び他のデータを格納することができる。
【００８５】
１１.２  製品の向き
[0089]  図１及び図２に示す一変形例では、システムは、この製品を表す画像の特徴の存在及び相対位置に基づいて、画像の部分領域で識別された製品の向きを判定する。次いで、システムは、上述したように、ブロックＳ１５０及びＳ１５２において、在庫マップの対応のスロットコンテナにこの製品の検出された向きを格納し、向きが、棚割によって規定された許容可能な向きの範囲と異なる場合、このスロットコンテナにフラグを書き込むことができる。
【００８６】
[0090]  一実施では、システムは、画像の第１領域の第１部分領域から抽出された特徴の第１セットの特徴を、第１製品の第１テンプレート画像で規定された特徴の第１グループに突き合わせて、画像の第１部分領域に対応する場所で第１棚に第１製品（例えば、ボトル製品又は缶製品）のユニットの存在を確認し、画像の第１部分領域から抽出された特徴の第１セットから、第１テンプレート画像で規定された特徴の第２グループの不存在を確認し、次いで、画像の第１部分領域からの特徴の第１セットの特徴の第１グループの存在、画像の第１部分領域からの第１グループの特徴からの特徴の第２グループの不存在、及び、第１テンプレート画像で規定された特徴の第１及び第２グループの相対位置に基づいて、棚の第１製品のユニットの向き（例えば、垂直軸周りの第１製品のユニットの回転方向）を計算する。
【００８７】
[0091]  テンプレート画像データベースが、製品の前面のテンプレート画像又は製品の前面に対する既知の向きの画像を包含する実施では、システムは、テンプレート画像を画像の第１部分領域に突き合わせる時に、画像の第１領域の第１部分領域に表されるオブジェクトに整合させるようにテンプレート画像をスキューする変換を計算することができる。第１テンプレート画像が画像の第１部分領域に突き合わされると、システムは、画像の第１部分領域に示される第１オブジェクトのユニットに整合させるように第１テンプレート画像をスキューする変換に基づいて画像の第１部分領域で表される製品のユニットの角度回転を計算することができる。
【００８８】
[0092]  さらに代替的に、テンプレート画像データベースは、様々な既知の相対的な向きの製品のテンプレート画像を含むことができ、システムは、ブロックＳ１３０において、第１棚に割り当てられた製品の複数の向きを表すテンプレート画像を選択し、第１棚の第１画像の部分領域を、１以上の既知の向きで第１製品の１つ又はセットのテンプレート画像に突き合わせ、次いで、突き合わせたテンプレート画像の製品の向きを補間して、画像の第１部分領域に表される第１製品のユニットの向きを計算することができる。
【００８９】
[0093]  上記の実施では、システムは、次いで、棚の第１製品のユニットの向きが、目標の向き（例えば、０°）又は棚割によって対応のスロットに指定された目標の向き（例えば、＋／−１０°）と異なる場合に、第１棚の第１製品のユニットの計算された又は推定された向きを補正するための補充プロンプトを生成することができる。しかしながら、システムは、画像に包含されるに基づいて、ブロックＳ１１５０において、棚の製品のユニットの向きを計算又は推定する任意の他の方法又は技術を実施することができる。
【００９０】
[0094]  システムは、製品を包含する棚の縁からの製品のユニットの深さを推定するための同様の方法及び技術を実施することができ、システムは同様に、棚割によって対応のスロットに対して指定された実際の製品の深さと目標の製品の深さとの間の偏差を処理することができる。
【００９１】
１１.３  横方向の製品の位置
[0095]  別の変形例では、システムは、棚の製品の横方向位置を判定し、この棚の画像で検出された特徴の相対位置に基づいて、製品の位置と棚割によって割り当てられた位置との間の不一致を識別する。次いで、システムは、上述したように、ブロックＳ１５０及びＳ１５２において、この製品の検出された位置を在庫マップの対応のスロットコンテナに格納し、検出された横方向位置が、棚割によって規定された許容可能な向きの範囲と異なる場合、このスロットコンテナにフラグを書き込む。
【００９２】
[0096]  一実施では、システムは、画像の第１棚タグを検出するために上述した方法及び技術を実施し、第１棚タグの位置に対する画像の第１スロットの境界を規定し、第１スロットの境界内に包含される製品のこのユニットを表す特徴の割合に基づいて、第１スロットに割り当てられた製品のユニットの横方向位置を確認する。例えば、システムは、第１棚を表す画像の第１領域の下縁に近接した第１棚タグを識別し、第１棚タグに近接した棚のオブジェクトを検出し、上述したように、ブロックＳ１５０において、第１棚の第１製品のユニットとして第１オブジェクトを識別し、第１棚タグの左垂直縁から第１製品のユニットの左垂直縁までの水平距離を抽出し、その後、この水平距離が閾値距離（例えば、棚割によって特定された閾値距離のデフォルト閾値距離）を超える場合に第１製品のユニットが第１棚上で間違って向けられていることを判定することができる。特に、システムは、棚上で検出された製品のユニットの左縁が、予め設定された許容値内で最も近い棚タグ（又は同じ製品を特定する棚タグ）の左縁に整列していることを確認することができ、そうでない場合、棚上で間違って向けられたものとして製品のユニットにフラグを立てる。
【００９３】
[0097]  別の実施では、システムは、棚で検出された第２製品のユニットからのその相対距離及び棚割によって棚に割り当てられたそれらの製品間の距離に基づいて、第１製品のユニットの横方向位置を確認する。例えば、システムは、画像の第１領域に表された第１棚にわたって配列された別個のオブジェクトのセットを検出し、別個のオブジェクトのセットの別個の第１オブジェクトに対応する画像の第１領域の第１部分領域を識別し、第１画像の第１領域の第１部分領域から特徴の第１セットを抽出し、ブロックＳ１５０において、特徴の第１セットの特徴と、第１製品を表すテンプレート画像の第１セットの第１テンプレート画像の特徴との間の相関に応答して、第１製品リストの第１製品のユニットとして別個の第１オブジェクトを識別することができる。システムは、このプロセスを繰り返して、画像の第１領域の第２部分領域から抽出された特徴の第２セットの特徴と、第２製品を表すテンプレート画像の第２セットの第２テンプレート画像の特徴との間の相関に応答して、第１製品リストの第２製品のユニットとして、別個のオブジェクトのセットの別個の第２オブジェクトを識別することができる。画像で第１及び第２製品のユニットが識別されると、システムは、第１棚での第１製品のユニットの第１位置と第２製品のユニットの第２位置との間の横方向オフセットが、棚割によって第１棚上の第１製品及び第２製品に割り当てられた目標の横方向オフセットから逸脱している場合、第１棚上の第１製品のユニット及び第２製品のユニットの不適切な配列を検出することができる。
【００９４】
[0098]  前述の実施において、システムが、ブロックＳ１５２において、対応の棚タグに対する製品のユニットの横方向位置が、予め設定された許容値を超えていると判定した場合、システムは、ブロックＳ１６０において、製品のユニットの向きを補正するために補充プロンプトを生成することができる。例えば、システムは、ブロックＳ１５０において、第１棚上の第１製品及び第２製品の不適切な配列を検出することに応答して、ブロックＳ１６０において、第１製品のユニット及び第２製品のユニットの相対位置の補正を特定する補充プロンプトを生成することができる。
【００９５】
[0099]  しかしながら、システムは、任意の他の方法で棚上の製品のユニットの不適切な横方向の配列を検出して処理することができる。
【００９６】
１１.４  面の数の確認
[00100]  図１及び図２に示すさらに別の変形例では、システムは、棚で検出された特定の製品の製品面の数を計数し、棚の特定の製品のこの面の数を、棚割によって棚に割り当てられた特定の製品の製品面の数と比較し、特定の製品の面の実際の数が、棚割によって特定された面の数と異なる（例えば、それ未満である又はそれを超える）場合、在庫マップの対応のスロットコンテナにフラグを書き込む。
【００９７】
[00101]  一例では、システムは、上述した方法及び技術を実施して、ブロックＳ１５０において、第１棚に対応する画像の第１領域に表される第１製品の別個のユニットのセットの存在を確認し（例えば、第１製品を表す第１テンプレート画像の特徴と強い相関関係を示す、画像の第１領域から抽出された特徴のセットの特徴の別個のクラスタに応答して）、第１棚で検出された第１製品の別個のユニットのセットにおける第１製品のユニットの計数を生成し、棚割によって第１棚に割り当てられた第１製品の面の数に等しい数であれば、第１棚上の第１製品の適切な在庫を確認する。しかしながら、この例では、システムは、棚割によって第１棚に割り当てられた第１製品の面の数から逸脱した計数に応答して、第１棚の第１製品の不適切な在庫を検出し、次いで、第１棚の第１製品の不適切な在庫を検出することに応答して、第１棚の第１製品の面の補正を特定する補充プロンプトを生成することができる。
【００９８】
[00102]  しかしながら、システムは、任意の他の方法又は技術を実施して、画像に示された棚の製品面を計数し、実際の製品面と棚割で特定された目標の製品面との間の偏差に処理することができる。
【００９９】
１１.５  包装の変化
[00103]  別の変形例では、システムは、棚の製品の製品包装を識別し、その製品（例えば、製品ＳＫＵ）が正しいことを確認し、次いで、この製品包装が棚割の条件を満たすかどうかを判定する。
【０１００】
[00104]  一実施では、システムは、画像の第１部分領域に表される特徴を既知の包装変化の第１製品の第１テンプレート画像と突き合わせることによって、画像の第１部分領域で検出された第１オブジェクトを第１製品のユニットとして特定し、次いで、第１テンプレート画像によって表される既知の包装変化を棚割と比較して、第１製品のユニットが、棚割によって規定される在庫条件を満たすかどうかを確認する。例えば、システムは、ブロックＳ１２４において、画像に表された第１棚の第１スロットに対応する画像の部分領域から特徴の第１セットを抽出し、ブロックＳ１３０において、現在の包装における第１製品の第１テンプレート画像と、棚割によって第１スロットに割り当てられた、現在の包装とは異なる以前の包装の第１製品の第２テンプレート画像と、を検索し、特徴の第１セットの特徴と第１テンプレート画像の特徴との間の相関に応答して、第１スロットの現在の包装の第１製品のユニットの存在を確認し、特徴の第１セットの特徴と第２テンプレート画像の特徴との間の相関に応答して、第１スロットの以前の包装の第１製品のユニットの存在を確認することができる。この例では、システムは、補充プロンプトを生成して、第１棚の以前の包装の第１製品のユニットの存在の確認に応答して、以前の包装の第１製品のユニットを、現在の包装の第１製品のユニットに置き換える（かつ、以前の包装の第１製品のユニットを廃棄する）。従って、システムは、製品のユニットが、棚の割り当てられたスロットに存在するかどうかを判定し、ブロックＳ１５０において、製品のこのユニットが現在の包装の変化に従って包装されていることを確認し、それ以外の場合、スロット又は製品のユニットに補正のフラグを立てることができる。特に、システムは、季節の製品包装の変更等、時間の経過を伴う製品包装の変更に適応し、かつ、前述の方法及び技術を実施して、店舗全体に置かれた製品のユニットが、棚割によって特定された又は許容された現在の包装の変化に従って包装されることを確認する。
【０１０１】
[00105]  さらに、この変形例では、システムは、ブロックＳ１３０で検索された同じ製品のテンプレート画像で表されるもの以外の包装変化（例えば、新しい包装の変化）を表す画像の第１部分領域の第１製品のユニットにもかかわらず、画像の第１部分領域で検出された第１オブジェクトが、第１部分領域から抽出された特徴と、第１製品の複数のテンプレート画像の１つに表された特徴との間の十分な類似度に基づいて、第１製品のユニットのものであることを確認することができる。例えば、システムは、第１部分領域から抽出され、かつ、異なる包装の同じ製品の第１テンプレート画像で規定された特徴（例えば、テキスト、グラフィック、バーコード、カラーパレット、包装プロファイル）間の類似度、第１部分領域から抽出され、かつ、別の包装の同じ製品の第２テンプレート画像で規定された特徴間の類似度、並びに、第１テンプレート画像及び第２テンプレート画像の両方に固有の画像の第１部分領域の特徴の検出に応答して、第１棚の新しい包装の第１製品のユニットの存在を予測することができる。この例では、システムは、次いで、第１製品の検出されたユニットに対応する第１画像の第１領域の部分領域を、新しい包装の第１製品の新しいテンプレート画像として記憶し、かつ、棚割によって第１製品に割り当てられた棚の画像との将来の比較のためにテンプレート画像のデータベースに新しいテンプレート画像を書き込むことができる。
【０１０２】
[00106]  前述の例では、システムは、新しい製品包装の第１製品の確認の手による注釈のために画像の第１部分領域にフラグを立て、及び／又は、新しい包装の第１製品の在庫画像を供給するためのプロンプトを生成し、かつ、将来における「クリーンな」テンプレート画像によって、新しい包装の第１製品のユニットの識別を改善するために、店舗の提携者若しくは第１製品のブランド又は供給者にこのプロンプトを戻すこともできる。従って、システムは、システムにまだ知られていない新しい包装の変化を検出して適応することができる一方で、ブロックＳ１５０及びＳ１５２において、店舗全体のスロットの在庫状態の評価を完了することもできる。
【０１０３】
１１.６  空きスロット
[00107]  図４に示すさらに別の変形例では、システムは、ロボットシステムによって記録された画像から抽出された特徴に基づいて、製品がない「空の」スロットを検出することができる。
【０１０４】
[00108]  一実施では、システムは、ブロックＳ１２２において、棚割によって第１製品を割り当てられた第１棚の第１スロットに対応する、画像の第１領域の第１部分領域を識別し、ブロックＳ１２４において、第１画像の第１部分領域から第１部分集合の特徴を抽出し、ブロックＳ１５２において、第１テンプレート画像の特徴との閾値相関よりも小さい特徴を示す第１部分集合の特徴に応答して検出し、特徴の第１部分集合の特徴と、空の棚を表す特徴の第２セットの特徴との間の相関に応答して第１棚上の第１スロットを空として識別する。例えば、システムは、画像の領域に表された棚に割り当てられた製品のテンプレート画像と、空のスロット又は棚のテンプレート画像との両方を含むテンプレート画像のセットを投入することができる。この例では、システムは、上述した方法及び技術を実施して、空のスロット又は棚のテンプレート画像を画像の部分領域と比較して、この画像に示された棚に沿った対応の位置を空（すなわち、製品がない）として識別することができる。
【０１０５】
[00109]  前述の実施では、システムは、スロットを空であるとの識別に応答して、空のスロットに、棚割によってスロットに割り当てられた特定の製品の複数のユニットを充填するための補充プロンプトを生成することができる。しかしながら、システムは、ブロックＳ１５２及びＳ１６０において、任意の他の方法で空のスロット又は空の棚を検出して処理することができる。
【０１０６】
１１.７  第１棚の第２製品及び他の棚の製品
[00110]  システムは、画像に表された他のスロットに配列された製品を識別するために、（例えば、棚セグメント又は棚構造の全体の）画像の領域（例えば、棚セグメント内の単一の棚を表す）内の複数の部分領域（例えば、別個のスロットを表す）の各々について前述のプロセスを繰り返すことができる。システムは、図４に示すように、店舗の走査全体を通じてロボットシステムによって記録された他の画像について前述のプロセスをさらに繰り返すことができる。
【０１０７】
[00111]  例えば、システムは、ブロックＳ１３０において、第１画像に示される第１棚のためのテンプレート画像の第１セットを検索し、テンプレート画像の第１セットの第１テンプレート画像を、第１画像の対応の部分領域に突き合わせることによって、第１棚の第１製品のユニットを識別し、ブロックＳ１５０において、第１画像の第２部分領域を、同じテンプレート画像の第１セットの第２テンプレート画像に突き合わせることによって、第１棚の第１製品のユニットに隣接する第２製品のユニットを識別することができる。システムは、次いで、ブロックＳ１３０において、第１画像に示される第２棚のためのテンプレート画像の第２セットを検索し、テンプレート画像の第２セットの第３テンプレート画像を、第１画像の対応の部分領域に突き合わせることによって、第２棚の第３製品のユニットを識別し、ブロックＳ１５０において、第１画像の第４部分領域を、テンプレート画像の第２セットの第４テンプレート画像に突き合わせることによって、第２棚の第３製品のユニットに隣接する第４製品のユニットを識別することができる。この例では、システムは、その後、ブロックＳ１３０において、第２画像に示される第３棚のためのテンプレート画像の第３セットを検索し、テンプレート画像の第３セットの第１テンプレート画像を、第２画像の対応の部分領域に突き合わせることによって、第３棚の第５製品のユニットを識別し、ブロックＳ１５０において、第３画像の第２部分領域を、テンプレート画像の第３セットの第２テンプレート画像に突き合わせることによって、第３棚の第５製品のユニットに隣接する第６製品のユニットを識別する等することができる。システムは、次いで、ブロックＳ１６０において、棚割から包括的な電子補充リストへの偏差を示す、店舗全体の複数の棚、複数の棚セグメント及び／又は複数の棚構造にわたって、様々なスロットについて補充プロンプトを蓄積することができる。
【０１０８】
[00112]  従って、システムは、店舗全体にわたる多くの（例えば、実質的にすべての）スロット、棚、棚セグメント及び／又は棚構造にわたるスロットコンテナの在庫マップを、ロボットシステムによって記録された画像から抽出された在庫状態データとともに投入することができる一方で、走査サイクル中に店舗全体をナビゲートすることができる。例えば、システムは、スロットに割り当てられた製品のテンプレート画像に突き合わせられたオブジェクトの横方向の位置、深さ及び垂直方向の整列に応じて適切に置かれたものとして、棚割によって特定された横方向の位置、深さ又は垂直回転の許容値からのオブジェクトの偏差と同時に、スロットに割り当てられた製品のテンプレート画像に突き合わせられたオブジェクトの検出に応答して、適切に置かれているが間違った向きのものとして、棚割によってスロットに割り当てられた、既知の間違った（例えば、以前の、期限切れの）製品包装の製品のテンプレート画像に突き合わせられたオブジェクトの検出に応答して、適切に置かれているが正確な包装でないものとして、識別されていないオブジェクト、又は、棚割によってスロットに割り当てられていない製品のテンプレート画像に突き合わせられていないオブジェクトの検出に応答して不適切に置かれているものとして、又は、スロットを表す画像の領域にオブジェクトを検出することができないことに応答して空であるものとして、在庫マップ内の各スロットコンテナにラベルを貼付することができる。この例では、在庫マップは、棚割の形態を模倣することができるが、店舗の（ほぼ）真の現在の在庫状態を規定することができる。代替的に、在庫マップは、店舗の走査中にロボットシステムによって記録された画像から抽出されたスロット状態データを包含するスプレッドシート、在庫リスト（例えば、スロットアドレスごと）等の形態であってもよい。
【０１０９】
[00113]  しかしながら、システムは、店舗について、製品場所データベース、棚割、又はスロットインデックス等で規定された在庫条件からの実際の偏差を特定する任意の他の方法又は技術を実施することができる。
【０１１０】
１２．テンプレート画像のセットの拡大
[00114]  図４の一変形例では、システムが、画像の部分領域にオブジェクトを検出するが、オブジェクトに突き合わせるテンプレート画像を十分な類似度スコアで識別することができない場合、システムは、テンプレート画像データベースから検索されたテンプレート画像のセットを増大させ、ブロックＳ１３０において、単一の棚に、次いで単一の棚セグメントの複数の棚に、次いで単一の棚構成の複数の棚セグメントに、次いで単一の通路の複数の棚構造等に、割り当てられた製品のテンプレート画像を含むように、テンプレート画像データベースから検索されたテンプレート画像のセットを増大させる。特に、システムは、例えば、製品を取り出して店舗全体の間違った場所にそれらの製品を戻す顧客に起因して、又は、店舗の提携者によって実行された意図的又は意図的でない在庫の変更に起因して、棚割によって規定された在庫計画からの逸脱に適応する一方で、店舗全体の棚に配列された製品を識別する際に比較的高い効率を維持するため、特定のオブジェクトに最も軽度に一致するが肯定的な結果（すなわち、肯定的な一致）を戻すことができないと予測される製品を表すテンプレート画像のこのセットとして、画像の特定の部分領域で検出された特定のオブジェクトとの比較のために、テンプレート画像のセットを成長させることができる。
【０１１１】
[00115]  例えば、顧客は、棚からアイテム（すなわち、製品のユニット）を取り出し、そのアイテムを検査し、次いでそのアイテムを同じ棚又は近くの異なる棚に戻す場合がある。別の例では、顧客は、棚からアイテムを取り出し、アイテムをカゴに入れ、同じ通路を下がり、例えば別のアイテムのために、同じ棚構造又は反対側の棚構造の異なる棚セグメントの棚にそのアイテムを戻す場合がある。上述したように、システムは、テンプレート画像の選択において比較的高い精度を達成するために、かつ、店舗全体の棚の製品の大きな割合（例えば、９５＋％）の比較的迅速な識別を達成するため、単数の棚（又は単数のスロット）に割り当てられた製品を表すテンプレート画像の小さなセットを集約する。しかしながら、顧客は買い物中に店舗全体にわたって製品のユニットを移動させることができるので、顧客によって変更されたそれらの予期せぬ偶発的な在庫の変化に適応し、かつ、戦略的で目標とされるテンプレート画像のセットに基づいてそれらが割り当てられたスロットから比較的短い距離だけ移動させられた製品のユニットの識別を可能にするため、複数の棚、棚セグメント全体、複数の棚セグメント、棚構造すべて、２つの隣接する棚構造等に割り当てられた製品を含むように、システムはテンプレート画像のセットを拡大することもできる。
【０１１２】
１２.１  棚セグメントへの拡大
[00116]  一実施では、システムは、上述したように、ブロックＳ１２２において、第１棚、第１棚及び第２棚を包含する第１棚セグメント、第１棚セグメント及び第２棚セグメントを包含する第１棚構造、並びに、第１棚構造及び第２棚構造に面する第１通路を識別し、ブロックＳ１２２において、棚割によって第１製品を割り当てられた第１棚の第１スロットに対応する第１画像の第１領域の第１部分領域を識別し、ブロックＳ１２４において、第１画像の第１部分領域から特徴の第１セットを抽出し、ブロックＳ１５０において、特徴の第１セットに基づいて、第１スロットのオブジェクトの検出の存在に割り当てられたテンプレート画像の第１セット又は製品を検索し、その後、テンプレート画像の第１セットの特徴とテンプレート画像の特徴との間の弱い相関（例えば、閾値の類似度未満）に応答して、第１製品リストの製品ではないオブジェクトを識別する。
【０１１３】
[00117]  この実施では、システムが第１スロットのオブジェクトの存在を検出し、第１棚に割り当てられた第１製品リストの製品以外のものとしてそのオブジェクトを識別する場合、システムは、ブロックＳ１３０において、棚割によって、第１棚及び追加の棚及び／又はスロットを包含する第１棚セグメントに割り当てられた第２製品リストを検索し、第２製品リストから第１製品リストを除去し、テンプレート画像のデータベースからテンプレート画像の第２セットを検索することができ、テンプレート画像の第２セットの各テンプレート画像は、ブロックＳ１４０において、第２製品リストで特定された製品の視覚的特徴を含む。システムは、次いで、上述した方法及び技術を実施して、特徴の第１セットの特徴と、第２製品を表すテンプレート画像の第２セットの第２テンプレート画像の特徴との間の相関に応答して、ブロックＳ１５０において、第２製品リストの第２製品のユニットとしてオブジェクトを識別することができる。従って、システムがオブジェクトを第２製品のユニットとして識別した場合、システムは、ブロックＳ１６０において、第１スロットを現在占有している第２製品のユニットを第１製品のユニットに置き換えるためのプロンプトを生成することができる。
【０１１４】
[00118]  特に、棚に排他的に割り当てられた製品のテンプレート画像の元のセットが、オブジェクトを表す画像の部分領域に十分に一致する結果を生じない場合、検出されたオブジェクトを包含する単一の棚に割り当てられた製品のテンプレート画像から、完全な棚セグメント（又は、複数の棚セグメント内の複数の棚）まで、検出されたオブジェクトを表す画像の部分領域との比較のために、システムはテンプレート画像のセットを拡大することができる。
【０１１５】
１２.２  棚構造への拡大
[00119]  代替的に、前述の実施では、システムは、画像の第１部分領域から抽出された特徴の第１セットと、第１棚セグメントに割り当てられた製品のテンプレート画像の第２セットのテンプレート画像の特徴との間の弱い相関に応答して、ブロックＳ１５２において、第２製品リストの製品以外のものとして（すなわち、第１棚を包含する棚セグメントに割り当てられた製品ではない）オブジェクトを識別する。従って、第２製品リストの製品以外のものとしてオブジェクトを識別することに応答して、システムは、ブロックＳ１３０において、棚割によって、第１棚セグメント及び追加の棚セグメント、棚及び／又はスロットを包含する第１棚構造に割り当てられた第３製品リストを検索し、第３製品リストは第１製品リスト及び第２製品リストを除外し、ブロックＳ１４０において、テンプレート画像のデータベースからテンプレート画像の第３セットを検索し、テンプレート画像の第３セットの各テンプレート画像は、第３製品リストで特定された製品の視覚的特徴を含む。システムは、次いで、特徴の第１部分集合の特徴と第３製品を表すテンプレート画像の第３セットの第３テンプレート画像の特徴との間の相関に応答して、ブロックＳ１５０において、第３製品リストの第３製品のユニットとしてオブジェクトを識別することができる。従って、システムが第３製品のユニットとしてオブジェクトを識別した場合、システムは、第１スロットを現在占有している第３製品のユニットを第１製品のユニットに置き換えるようにするためのプロンプトを生成することができる。
【０１１６】
[00120]  特に、棚セグメントに割り当てられた製品のテンプレート画像の以前のセットが、オブジェクトを表す画像の部分領域との十分な一致を排他的に生じることができなかった場合、システムは、検出されたオブジェクトを包含する単一の棚セグメントに割り当てられた製品のテンプレート画像から、完全な棚構造（又は、棚構造内の複数の棚）まで、検出されたオブジェクトを表す画像の部分領域との比較のために、テンプレート画像のセットを拡大することができる。
【０１１７】
１２.３  通路への拡大
[00121]  代替的に、前述の実施では、システムは、画像の第１部分領域から抽出された特徴の第１セットと、第１棚構造に割り当てられた製品のテンプレート画像の第３セットのテンプレート画像の特徴との間の弱い相関に応答して、ブロックＳ１５２において、第３製品リストの製品以外のもの（すなわち、第１棚セグメントを包含する棚構造に割り当てられた製品ではない）としてオブジェクトを識別することができる。従って、第３製品リストの製品以外のものとしてオブジェクトを識別することに応答して、システムは、ブロックＳ１３０において、棚割によって、第１棚構造及び追加の棚構造、棚セグメント、棚及び／又はスロットを包含する第１通路に割り当てられた第４製品リストを検索し、第４製品リストは、製品の第１、第２及び第３リストを除外し、ブロックＳ１４０において、テンプレート画像のデータベースからテンプレート画像の第４セットを検索し、テンプレート画像の第４セットの各テンプレート画像は、第４製品リストで特定された製品の視覚的特徴を含む。システムは、次いで、特徴の第１部分集合の特徴と、第４製品を表すテンプレート画像の第４セットの特徴との間の相関に応答し、ブロックＳ１５０において、第４製品リストの第４製品のユニットとしてオブジェクトを識別することができる。従って、システムがオブジェクトを第４製品のユニットとして識別した場合、システムは、第１スロットを現在占有している第４製品のユニットを第１製品のユニットに置き換えるためのプロンプトを生成することができる。
【０１１８】
[00122]  特に、システムは、棚構造に割り当てられた製品の以前のセットのテンプレート画像が、オブジェクトを表す画像の部分領域との十分な一致を排他的に生じることができなかった場合、検出されたオブジェクトを包含する単一の棚構造に割り当てられた製品のテンプレート画像から完全な通路（又は、通路内の複数の棚構造）まで、検出されたオブジェクトを表す画像の部分領域との比較のためにテンプレート画像のセットを拡大することができる
【０１１９】
[00123]  システムは、このプロセスを繰り返して、テンプレート画像のセットを、複数の通路の棚構造、店舗のセクションの棚構造、若しくは、例えば、一致が見いだされるまで、又は、第１スロットのオブジェクトを識別するために割り当てられた最大時間、最大テンプレート画像セットサイズ等の制限に到達するまで時間とともに、店舗全体に割り当てられた製品にまで拡大することができる。
【０１２０】
[00124]  この変形例では、システムは、店舗全体のすべてのスロットのオブジェクトの識別試行を中止するための静的な制限を実施することができる。代替的に、システムは、店舗全体のすべてのスロットのオブジェクトの識別試行を中止するためのカスタム又は動的な制限を実施することができる。例えば、システムは、米国特許出願番号第１５／３４７６８９号明細書に記載されているように、マージン、需要、店舗への価値（例えば、マージンと需要との線形結合）、コスト等に比例した制限を設定することができる。
【０１２１】
[00125]  しかしながら、システムは、ブロックＳ１５０及びＳ１５２において、画像の領域又は部分領域との比較のためにテンプレート画像のセットを選択及び拡大する任意の他の任意の方法又は技術を実施することができる。
【０１２２】
１４．出力
[00126]  方法Ｓ１００のブロックＳ１６０は、第１製品のユニットが第１棚に不適切に置かれていると判定したことに応答して、第１棚の第１製品の第１補充プロンプトを生成するステップを含む。概して、ブロックＳ１６０において、システムは、例えば店舗の現在の棚割から検出された偏差に応答して店舗全体の棚の製品の存在、位置及び／又は向きを手で補正するためのプロンプトを含む、店舗内の１以上のスロット、棚、棚セグメント、棚構造等の在庫状態を、店舗に関連した団体に提供する。
【０１２３】
１４．１  在庫マップ
[00127]  図２に示す一実施では、システムは、走査中にロボットシステムによって画像化された店舗の（実質的に）すべてのスロットのスロット状態データを包含する在庫マップを出力する。例えば、在庫マップは、店舗内の各棚構造についての１つの２次元オーバレイを含むことができ、各２次元オーバレイは、棚構造内の別個のスロットの輪郭を描くベクトル化された線図を規定し、当該線図は、棚構造の各スロットに割り当てられた全製品の面の比率を示す数値表示（例えば、１／２、５０％）と、棚構造のスロットの空の、在庫不足の、不適切に置かれた及び間違った向きの製品面に対する色分けされたフラグと、を含む。システムは、これらの２次元オーバレイを、対応の棚構造のパノラマ画像上に整列させ、次いで、マネージャポータルを介して提携者（又は、マネージャ、企業代表者）にそれらの合成画像を提供することにより、提携者が、図５に示すように、店舗の現実の画像データと、それらの画像データから抽出された定量的及び定性的な在庫データとを見ることを可能にする。
【０１２４】
１４.２  電子補充リスト
[00128]  システムは、付加的又は代替的に、例えば製品の追加、製品の交換又は製品の矯正等、店舗全体にわたる補正が必要なスロットのフィルタリングされたリストを包含する電子補充リストを生成することができる。例えば、システムは、図２及び図５に示すように、このリストの不適切に置かれた各スロットについて、例えば間違い在庫モード（例えば、面が多すぎる、面が少なすぎる、間違った向きの包装、破損した包装、期限切れの包装等）を含む、店舗全体の不適切に置かれたスロットの在庫状態グラフ、テーブル又はリストを生成することができる。この実施では、システムは、例えばデスクトップコンピュータ、ラップトップコンピュータ、タブレット又はスマートフォン等で実行するような、マネージャポータルを介して、このグラフ、テーブル又はリストを店舗のマネージャに提供することができる。
【０１２５】
[00129]  システムは、不適切に置かれたスロットを補正するための在庫補正タスクリストを生成することもできる。この実施では、システムは、間違って配置された製品を移動させ、空の又は不適切に置かれたスロット等に補充するためのタスクの優先リストを生成することができ、次いで、このタスクリストを、提携者が持ち歩いているモバイルコンピューティングデバイス（例えば、タブレット、スマートフォン）上で実行される固有の在庫アプリケーションを介して店舗の提携者（例えば、従業員）に提供することができる。この実施では、システムは、米国特許出願第１５／３４７６８９号明細書に記載された方法及び技術を実施して、店舗全体にわたって不適切に置かれたスロットを補正するためにこのタスクのリストを優先する。
【０１２６】
[00130]  一例では、システムは、ブロックＳ１５２において、店舗の第１棚の第１スロットから第１製品の完全な排除を検出し、棚割によって第１スロットに割り当てられた第１製品のユニットの第１数を検索し、第１製品の識別子（例えば、ＳＫＵ）、第１スロットに割り当てられた第１製品のユニットの数、第１棚の第１スロットの場所及び店舗内における第１棚の場所を特定する通知を生成し、その後、実質的にブロックＳ１６０において、店舗の提携者に割り当てられたモバイルコンピューティングデバイスに通知を送信する。この例では、システムは、例えば、第１製品が店舗での人の多い期間中に空であると判定された高価値製品である場合等、リアルタイムで提携者に通知を送信することができる。代替的に、システムは、ロボットシステムが店舗の走査を完了し、店舗の全在庫状態がこれらの走査データから判定され、補充プロンプトのリストが、在庫が不足する又は間違って置かれた製品の数値に従って注文されるまで、提携者への通知の送信を遅延させることができる。
【０１２７】
[00131]  この実施では、システムは、固有の在庫アプリケーションを通じた提携者からの入力を受信して、タスクをクローズすることができ、システムは、その後、店舗内の次の走査サイクル中にロボットシステムによって収集された画像に基づいて適切にクローズされたことを確認することができる。しかしながら、システムは、ブロックＳ１６０において、他の任意のフォーマットの在庫状態データを出力することができる。
【０１２８】
１４．３  在庫切れ製品の適応
[00132]  ブロックＳ１６０において、システムは、補充プロンプトに応答するために必要な製品のユニットの現在の在庫の有無に基づいて、それらの補充プロンプトを選択的に非活性化又は破棄することができる。特に、特定のスロットが、在庫が足りない、不適切に置かれた又は間違って置かれたとシステムが判定した場合、システムは、店舗裏在庫マネージャと連動して、特定のスロットに割り当てられた製品の追加ユニットが現在在庫にあるかどうかを判定し、在庫にある場合、システムは、店舗の提携者にスロットの補充プロンプトを提供し、在庫にない場合、システムは補充プロンプトを破棄することができる。
【０１２９】
[00133]  さらに、棚割によって店舗のスロットに割り当てられた第１製品の追加ユニットが現在在庫にない場合、店舗の提携者又はマネージャは、在庫にある第２製品をこのスロットに移動させることができる。棚割から逸脱しているが、スロットは、空のままであるスロットよりも（視覚的及び金銭的に）より望ましいものであり得る第２製品によって補充されてもよい。従って、システムは、第１製品を割り当てられたスロットの第２製品のユニットを検出し、第１製品の在庫が店舗にないことをチェックし、一時的に棚割を更新して第１製品の追加ユニットの在庫が店舗にあるようになるまで、第２製品をスロットに割り当てることによって、この手による変更にリアルタイムで適応することができる。この例では、システムは、上述した方法及び技術を実施して、スロットに隣接する棚タグを検出し、棚タグが第２製品に対応することを確認し、第２製品と隣接する棚タグとの間の一致を保留として第２製品へのスロットの一時的な再割り当てに対応することができる。
【０１３０】
[00134]  例えば、オブジェクトを包含するスロットに割り当てられた第１製品のユニットに代えて第２製品のユニットとして画像の一領域に表されたオブジェクトを識別することに応答して、システムは、店舗での第１製品のユニットの利用可能な在庫にアクセスすることができる。このようにして、店舗での第１製品のユニットの在庫の不足が確認された場合、システムは、第１スロットを現在占有している第２製品のユニットを第１製品のユニットに交換するためのプロンプトを保留し、棚割において、第１製品に代わって第１スロットに第２製品を一時的に書き込むことができる。
【０１３１】
１４．４  割り当てられたスロットへの製品の移動のプロンプト
[00135]  システムが、棚割によって第１製品を割り当てられた第１スロットの第２製品のユニットを検出する上記の実施では、システムは、第１スロットに最も近く、かつ、第２製品を割り当てられた第２スロットについての棚割を走査し、次いで、第２プロンプトを生成して、第２製品のユニットを第１スロットから第２スロットに移動させることができる。従って、この実施では、システムは、店舗全体の複数のスロットにまたがって検出された棚割の偏差を、店舗の提携者がスロットを補充し、改善した効率でそれらの正しいスロットに店舗の製品を再分配することを可能にする改訂された（例えば、改良された）プロンプト又はタスクのセットに融合させることができる。例えば、システムは、店舗の提携者に、第１スロットに現在陳列されている第２製品のユニットを第１製品のユニットに置き換えるための第１プロンプトを提供し、第１プロンプトを第２プロンプトと対にして、第２製品を割り当てられて最も近くて現在在庫が足りないスロットに第２製品を戻すことができる。
【０１３２】
[00136]  システムは、ロボットシステムによって実行される各走査サイクル中に前述の方法及び技術を繰り返すことができる。例えば、システムは、翌朝に店舗が開く前に、在庫状態マップ及び在庫補正タスクリストを生成するために、店舗が閉まった後、毎晩、ロボットシステムによって実行される走査サイクルの後に、前述の方法及び技術を繰り返すことができる。
【０１３３】
[00137]  本明細書で説明するシステム及び方法は、コンピュータ可読命令を格納するコンピュータ可読媒体を受け入れるように構成された機械として少なくとも部分的に具現化及び／又は実施されることができる。命令は、アプリケーション、アプレット、ホスト、サーバ、ネットワーク、ウェブサイト、通信サービス、通信インターフェース、ユーザコンピュータ又はモバイルデバイス、リストバンド、スマートフォンのハードウェア／ファームウェア／ソフトウェア要素、又は、それらの任意の適切な組合せに統合されたコンピュータ実行可能コンポーネントによって実行されることができる。実施形態の他のシステム及び方法は、コンピュータ可読命令を格納するコンピュータ可読媒体を受け入れるように構成された機械として少なくとも部分的に具現化及び／又は実施されることができる。命令は、上述したタイプの装置及びネットワークに統合されたコンピュータ実行可能コンポーネントによって統合されたコンピュータ実行可能コンポーネントによって実行されることができる。コンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＥＥＰＲＯＭ、光デバイス（ＣＤ又はＤＶＤ）、ハードドライブ、フロッピードライブ、又は任意の適切なデバイス等の任意の適切なコンピュータ可読媒体に格納されることができる。コンピュータ実行可能コンポーネントはプロセッサであってもよいが、任意の適切な専用ハードウェアデバイスが（代替的に又は付加的に）命令を実行することができる。
【０１３４】
[00138]  当業者であれば、前述の詳細な説明から並びに図面及び特許請求の範囲から、以下の特許請求の範囲で規定された本発明の範囲から逸脱することなく、本発明の実施形態を修正及び変更することができることを認識する。
【図１】
2020184356.tif 000003
【図２】
2020184356.tif 000004
【図３】
2020184356.tif 000005
【図４】
2020184356.tif 000006
【図５】
2020184356.tif 000007
【手続補正書】
【提出日】令和2年7月29日(2020.7.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
店舗内の製品の配置を追跡する方法であって、
第１時間に前記店舗内の第１棚構造を示す第１画像にアクセスするステップと、
前記第１画像で検出された第１棚タグから、第１製品の第１製品識別子を読み取るステップと、
前記第１製品識別子に関連するテンプレート特徴の第１セットにアクセスするステップと、
前記第１画像で検出した第１棚タグに基づいて、前記第１棚構造上の第１スロットを示す前記第１画像内の第１領域を位置づけるステップと、
前記第１画像内の第１領域において前記テンプレート特徴の第１セットに類似する特徴を検出したことに応じて、前記第１製品の第１ユニットが前記第１スロットに存在することを確認するステップと、
前記第１画像で検出された第２棚タグから、第２製品の第２製品識別子を読み取るステップと、
前記第２製品識別子に関連するテンプレート特徴の第２セットにアクセスするステップと、
前記第１画像で検出した第２棚タグに基づいて、前記第１棚構造上の第２スロットを示す前記第１画像内の第２領域を位置づけるステップと、
前記第１画像内の第２領域において前記テンプレート特徴の第２のセットに類似する特徴が存在しないことに基づいて、前記第２のスロットに前記第２製品が存在しないことを検出するステップと、
前記第２スロットに前記第２製品が存在しないことを検出したことに応じて、前記第２スロットを補充するための第１プロンプトを生成するステップと、を含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法が、
さらに、前記第２製品識別子に基づいて、前記第２スロットに置かれる前記第２製品のユニットの目標数を、製品データベースに照会するステップを含み、
前記第２スロットを補充するための第１プロンプトを生成するステップが、前記第２スロットに前記第２製品が存在しないことを検出したことに応じて、前記第２スロットに前記第２製品のユニットの目標数を補充することを特定した第１プロンプトを生成するステップを含む、ことを特徴とする方法。
【請求項３】
請求項１に記載の方法において、
前記第１製品識別子に関連するテンプレート特徴の第１セットにアクセスするステップが、方向の一範囲内における第１製品のユニットを示すテンプレート画像の第１セットにアクセスするステップを含み、
前記第１製品の第１ユニットが前記第１スロットに存在することを確認するステップが、
前記第１画像の第１領域から、特徴の第１セットを抽出するステップと、
前記特徴の第１セットにおける特徴と、前記第１テンプレート画像およびテンプレート画像の第１セットにおける特徴との相関が、閾値相関度を超えていることに応じて、前記第１スロットにおいて前記第１製品の第１ユニットが存在することを確認するステップと、を含むことを特徴とする方法。
【請求項４】
請求項３に記載の方法が、さらに、
前記第１テンプレート画像内に示された前記第１製品の代表ユニットの向きに基づいて、前記第１スロット内の第１方向における前記第１製品の第１ユニットを検出するステップと、
前記第１製品の第１方向が、前記第１スロットにおける前記第１製品のユニットの目標方向と異なることに応じて、前記第１スロット内の製品を整理するための第２プロンプトを生成するステップと、を含むことを特徴とする方法。
【請求項５】
請求項１に記載の方法が、さらに、
前記第１画像内の第２領域において前記テンプレート特徴の第２セットに類似する特徴が存在しないことを検出したことに基づいて、前記第１製品識別子に関連するテンプレート特徴の第１セットに類似する特徴について、前記第１画像の第２領域を走査するステップと、
前記第１画像内の第２領域において前記テンプレート特徴の第１セットに類似する特徴が存在することを検出したことに基づいて、前記第１棚構造上の第２スロットに前記第１製品の第２ユニットが存在することを検出するステップと、を含み、
前記第２スロットを補充するための第１プロンプトを生成するステップが、前記第２スロットに前記第２製品が存在しないことを検出したこと、および前記第２スロットに前記第１製品の第２ユニットが存在することを検出したことに応じて、前記第１製品の第２ユニットを前記第２スロットにおける前記第２製品の第１ユニットと置き換えることを特定する第１プロンプトを生成するステップを含む、ことを特徴とする方法。
【請求項６】
請求項１に記載の方法において、
前記第１製品識別子に関連するテンプレート特徴の第１セットにアクセスするステップが、前記第１製品を示す特徴を規定する第１多次元ベクトルにアクセスするステップを含み、
前記第１製品の第１ユニットが前記第１スロットに存在することを確認するステップが、
第１の個別のオブジェクトを区切る前記第１画像の第１領域における第１部分領域を識別するステップと、
前記第１画像の第１領域における第１部分領域から、形状、色およびテキストの特徴を有する特徴の第１セットを検出するステップと、
前記特徴の第１セットと前記第１多次元ベクトルにより規定された特徴との間の相関についての複合スコアを計算するステップと、
前記複合スコアが閾値スコアを超えていることに応じて、前記第１のオブジェクトを前記第１製品の第１ユニットとして識別するステップと、を含むことを特徴とする方法。
【請求項７】
請求項１に記載の方法において、
前記第１画像にアクセスするステップが、モバイルロボットシステムが前記店舗内を自動でナビゲートしている間の第１時間において記録した第１画像にアクセスするステップであって、前記第１画像が、前記第１時間における前記モバイルロボットシステムの第１位置および第１方向にタグ付けされているステップと、
前記第２スロットを補充するための第１プロンプトを生成するステップが、前記第１位置および第１方向に基づいた店舗内の位置において、前記第２スロットを補充することを特定する第１プロンプトを生成するステップを含む、ことを特徴とする方法。
【請求項８】
請求項１に記載の方法において、
前記第１画像にアクセスするステップが、
モバイルロボットシステムが前記店舗内の第１棚構造に沿って自動でナビゲートしてている間に記録した、第１の一連のデジタル写真画像にアクセスするステップと、
前記第１の一連のデジタル写真画像を記録している間における前記ロボットシステムの前記第１棚構造に沿った位置に基づいて、前記第１の一連のデジタル写真画像を前記第１画像にまとめるステップと、を含むことを特徴とする方法。
【請求項９】
請求項１に記載の方法が、さらに、
第２時間に前記店舗内の第２棚構造示す第２画像にアクセスするステップと、
前記第２画像の第１領域に近接して示された第１棚を検出するステップと、
前記第１棚のアドレスに基づいて、前記店舗の棚割によって前記第１棚に割り当てられた第１製品リストにアクセスするステップと、
テンプレート画像のデータベースからテンプレート画像の第１セットにアクセスするステップであって、前記テンプレート画像の第１セットにおける各テンプレート画像が、前記第１製品リストにおける製品の視覚的特徴を含むものであるステップと、
前記第２画像の第１領域から特徴の第１セットを抽出するステップと、
前記特徴の第１セットの特徴と前記テンプレート画像の第１セットのおけるテンプレート画像との間の偏差に応じて、前記第１棚上の不適切な陳列を検出するステップと、
前記第１棚上の不適切な陳列を検出したことに応じて、前記第２棚構造上の第１棚を再補充するための第２プロンプトを生成するステップと、を含むことを特徴とする方法。
【請求項１０】
請求項１に記載の方法が、さらに、
前記第１製品の第１ユニットが前記第１スロットに存在することを確認したことに応じて、前記第１画像において、前記第１棚タグの垂直縁から前記第１製品の第１ユニットの垂直縁までの水平距離を計算するステップと、
前記水平距離が閾値距離を超えていることに応じて、前記第１棚上の前記第１製品の第１ユニットの位置ずれを検出するステップと、
前記第１棚上の前記第１製品の第１ユニットの位置ずれを検出したことに応じて、前記第１棚上の前記第１製品の第１ユニットの向きを修正するための第２プロンプトを生成するステップと、を含むことを特徴とする方法。
【請求項１１】
請求項１における方法が、さらに、
価格データベースから第２製品の利益にアクセスするステップと、
前記第２製品の利益および前記第２製品の現在の売値に基づいて、前記第２製品の製品価値を計算するステップと、
前記第２スロットに前記第２製品が存在しないことを検出したことに応じて、および前記第２製品の製品価値が閾値価値を超えていることに応じて、前記店舗の提携者に属するモバイルデバイスに、前記第２スロットに前記第２製品のユニットを再補充するための通知を、前記第１時間の近くにおいて提供するステップと、を含み、
前記第２スロットを補充するための第１プロンプトを生成するステップが、前記第２スロットに前記第２製品が存在しないことを検出したことに応じて、および閾値価値が前記第２製品の製品価値を超えていることに応じて、前記第２スロットに第２製品のユニットを再補充するための第１プロンプトを、前記店舗の包括補充リストに書き込むことを特徴とする方法。
【請求項１２】
請求項１に記載の方法において、
前記第２スロットを補充するための第１プロンプトを生成するステップが、前記第２スロットに前記第２製品が存在しないことを検出したことに応じて、前記第２スロットに第２製品のユニットを再補充するための第１プロンプトを、前記店舗の包括補充リストに書き込むステップを含み、
前記方法が、さらに、
第２時間に前記店舗内の第２棚構造を示す第２画像にアクセスするステップと、
前記第２画像で検出された第３棚タグから、第３製品の第３製品識別子を読み取るステップと、
前記第３製品識別子に関連するテンプレート特徴の第３セットにアクセスするステップと、
前記第２画像で検出した第３棚タグに基づいて、前記第２棚構造上の第３スロットを示す前記第２画像内の第３領域を位置づけるステップと、
前記第２画像内の第３領域において前記テンプレート特徴の第３セットに類似する特徴が存在しないことに基づいて、前記第３スロットに前記第３製品が存在しないことを検出するステップと、
前記第３スロットに前記第３製品が存在しないことを検出したことに応じて、前記第３製品のユニットを前記第３スロットに補充するための第２プロンプトを、前記店舗の包括補充リストに書き込むステップと、
前記店舗の包括補充リストを、前記店舗の予定された補充期間の間に、前記店舗の提携者に属するコンピュータデバイスに提供するステップと、を含むことを特徴とする方法。
【請求項１３】
請求項１に記載の方法において
前記第１製品の第１ユニットが前記第１スロットに存在することを確認するステップが、前記第１画像内の第１領域におけるテンプレート特徴の第１セットに類似する特徴の第１クラスタを検出したことに応じて、前記第１スロットに前記第１製品の第１ユニットが存在することを確認するステップを含み、
前記方法が、さらに、
前記第１画像内の第１領域におけるテンプレート特徴の第１セットに類似する特徴の第２クラスタを検出したことに応じて、前記第１スロットに前記第１製品の第２ユニットが存在することを検出するステップと、
前記第１製品の第１ユニットおよび前記第１製品の第２ユニットに基づいて、前記第１スロットにおける前記第１製品のユニットの第１計数を生成するステップと、
前記第１計数が、前記第１棚構造の棚割により前記第１棚に割り当てられた第１製品の面の数と逸脱していることに応じて、前記第１スロットにおける前記第１製品の不完全な在庫を検出するステップと、
前記第１スロットにおける前記第１製品の不完全な在庫を検出したことに応じて、前記第１スロットに前記第１製品を補充するための第２プロンプトを生成するステップと、を含むことを特徴とする方法。
【請求項１４】
請求項１に記載の方法が、さらに、
前記第１画像において前記第１棚の上側前縁を検出するステップと、
前記第１画像において前記第１棚の下側前縁を検出するステップと、
前記第１画像において、前記第１棚の上方にある前記第２棚の下側前縁を検出するステップと、
前記第１画像に示された前記第１棚の上側前縁と前記第１棚の下側前縁の間において、前記第１棚タグを検出するステップと、
前記第１棚タグの近くおよび前記第１棚タグの右側において、かつ前記第１画像に示された前記第１棚の上側前縁と前記第１棚の下側前縁の間において、前記第２棚タグを検出するステップと、を含み、
前記第１棚構造上の第１スロットを示す前記第１画像内の第１領域を位置づけるステップが、
前記第１棚タグの左縁の近くに前記第１領域の左縁を位置づけるステップと、
前記第２棚タグの左縁の近くに前記第１領域の右縁を位置づけるステップと、
前記第１棚の上側前縁の近くに前記第１領域の下縁を位置づけるステップと、
前記第２棚の下側前縁の近くに前記第１領域の上縁を位置づけるステップと、を含むことを特徴とする方法。
【請求項１５】
請求項１に記載の方法が、さらに、
前記第１画像から、前記第１棚タグと第２棚タグとの間の実際のずれを抽出するステップと、
前記店舗の棚割により前記第１棚に割り当てられて規定された前記第１スロットと第２スロットとの間の相対スロット位置にアクセスするステップと、を含み、
前記第１製品識別子に関連するテンプレート特徴の第１セットにアクセスするステップ、および前記第１画像内の第１領域における前記テンプレート特徴の第１セットに類似する検出した特徴に応じて、前記第１製品の第１ユニットが前記第１スロットに存在することを確認するステップが、前記第１スロットと第２スロットとの間の相対スロット位置に近似する前記第１棚タグと第２棚タグとの間の実際のずれに基づいて、前記第１製品識別子に関連するテンプレート特徴の第１セットにアクセスするステップ、および前記第１画像内の第１領域における前記テンプレート特徴の第１セットに類似する検出した特徴に応じて、前記第１製品の第１ユニットが前記第１スロットに存在することを確認するステップを含むことを特徴とする方法。
【請求項１６】
請求項１に記載の方法が、さらに、
前記第１画像において第１棚構造に示された第１棚の棚の面を検出するステップと、
前記第１画像において前記第１棚の面に示された第１棚タグを検出するステップと、
前記第１画像において、前記第１棚タグの近くに、前記第１棚の面に示された第２棚タグを検出するステップと、
前記第１画像から、前記第１棚タグと第２棚タグとの間の実際のずれを抽出するステップと、
前記店舗の棚割により前記第１棚に割り当てられて規定された前記第１スロットと第２スロットとの間の相対スロット位置にアクセスするステップと、
前記第１棚タグと第２棚タグとの間の実際のずれが前記第１スロットと第２スロットとの間の相対スロット位置と異なることに応じて、前記第１棚を修正するために前記第１棚タグにしるしをつけるステップと、を含むことを特徴とする方法。
【請求項１７】
請求項１６に記載の方法において、前記第１棚構造上の第１スロットを示す前記第１画像内の第１領域を位置づけるステップが、
前記棚割により規定された前記第１スロットのスロット位置を、前記第１画像上に投影するステップと、
前記第１画像上に投影した前記第１スロットのスロット位置に基づいて、前記第１領域を修正するステップと、を含むことを特徴とする方法。
【請求項１８】
請求項１に記載の方法が、さらに、
前記第１棚タグを示す前記第１画像の第３領域から、表示価格価値を読み取るステップと、
前記第１製品識別子に割り当てられた現在の定価について、前記店舗に関連する製品データベースの棚割を照会するステップと、
前記表示価格価値が前記現在の定価と異なることに応じて、修正のために前記第１棚タグにしるしをつけるステップと、を含むことを特徴とする方法。
【請求項１９】
請求項１に係る発明が、さらに、
前記第１画像で検出された第３棚タグから、第３製品の第３製品識別子を読み取るステップと、
前記第３製品識別子に関連するテンプレート特徴の第３セットにアクセスするステップと、
前記第１画像で検出された第３棚タグに基づいて、前記第１棚構造上の第３スロットを示す前記第１画像内の第３領域を位置づけるステップと、
前記第１画像内の第３領域において前記テンプレート特徴の第３セットに類似する特徴が存在しないことに基づいて、前記第３スロットに前記第３製品が存在しないことを検出するステップと、
前記第１画像内の第３領域において前記テンプレート特徴の第１セットに類似する特徴を検出したことに応じて、前記第３スロットに第１製品の第２ユニットが存在することを確認するステップと、
前記店舗の利用可能な店頭在庫における第３製品のユニットの数にアクセスするステップと、
前記第３スロットに前記第３製品のユニットを補充するための第３プロンプトを保留するステップであって、
前記第３スロットに前記第３製品が存在しないことを検出することと、
前記第３スロットに前記第１製品の第２ユニットが存在することを検出することと、
前記店舗の利用可能な店頭在庫における第３製品のユニットの数が閾値数より低いこと、に応じて保留するステップと、を含むことを特徴とする方法。
【請求項２０】
店舗内の製品の配置を追跡する方法であって、
第１時間に前記店舗内の第１棚構造を示す第１画像にアクセスするステップと、
前記第１画像で検出された第１棚タグから、第１製品の第１製品識別子を読み取るステップと、
前記第１製品識別子に関連するテンプレート特徴の第１セットにアクセスするステップと、
前記第１画像で検出した第１棚タグに基づいて、前記第１棚構造上の第１スロットを示す前記第１画像内の第１領域を位置づけるステップと、
前記第１画像内の第１領域において前記テンプレート特徴の第１セットに類似する特徴を検出したことに応じて、前記第１製品の第１ユニットが前記第１スロットに存在することを確認するステップと、
前記第１画像で検出された第２棚タグから、第２製品の第２製品識別子を読み取るステップと、
前記第２製品識別子に関連するテンプレート特徴の第２セットにアクセスするステップと、
前記第１画像から検出した第２棚タグに基づいて、前記第１棚構造上の第２スロットを示す前記第１画像内の第２領域を位置づけるステップと、
前記第１画像内の第２領域において検出された特徴が、前記テンプレート特徴の第２セットから逸脱していることに基づいて、前記第２スロットにおける不完全な在庫状況を識別するステップと、
前記第２スロットにおける不完全な在庫状況を検出したことに応じて、前記第２スロットを補充するための第１プロンプトを生成するステップと、を含むことを特徴とする方法。