(57)【要約】  店舗内の棚割表を自律的に生成する方法の１つの変形例は、マッピングルーチン中に、店舗内を自律的に移動するためのロボットシステムを送ることと、前記マッピングルーチン中に収集されたマップデータから前記ロボットシステムによって生成された床空間のフロアマップへのアクセスすることと、前記床空間のマップ内で棚構造を識別することと、前記棚構造に面する通路に沿って第１のウェイポイントの集合を定義することと、撮像ルーチン中に、ウェイポイントの集合に移動し、光学データをキャプチャするためにロボットシステムを送ることと、撮像ルーチン中に、ロボットシステムによって記録された光学データから生成された画像の集合を受信することと、前記画像の集合において、製品および製品の位置を識別することと、前記画像の集合において、識別された製品と製品の位置に基づいて、棚区画の棚割表を生成することと、を含む。【選択図】図１
2019523924.tif 000002
【特許請求の範囲】
【請求項１】
製品を店舗内の棚構造に割り当てる棚割表を自動的に生成するための方法であって、前記方法は、
第１のマッピングルーチン中に前記店舗内の床空間のマップデータを自律的に収集するためのロボットシステムを送ることと、
前記ロボットシステムによって記録されたマップデータに基づいて、前記店舗内の棚構造の集合の位置を表す前記店舗の前記棚割表を初期化することと、
第１の撮像ルーチン中に、前記棚構造の集合の中の第１の棚構造の近傍の第１のウェイポイントで光学データを記録するための前記ロボットシステムを送ることと、
前記第１のウェイポイントを占拠しながら、前記ロボットシステムによって記録された光学データを含む第１の画像にアクセスすることと、
前記第１の画像内の第１の垂直方向の位置における第１の棚を検出することと、
前記第１の画像内の前記第１の棚上の第１の横方向の位置における第１のオブジェクトを検出することと、
前記第１のオブジェクトを表す前記第１の画像の第１の領域から抽出された特徴に基づいて、前記第１のオブジェクトを第１の製品の単位として識別することと、
前記棚割表の前記第１の棚構造の表示上に前記第１の棚の前記第１の垂直方向の位置と前記第１のオブジェクトの前記第１の横方向の位置を投影して第１のスロットを画定することと、
前記第１のオブジェクトを第１の製品の単位として識別することに呼応して、前記第１の製品の前記第１のスロットに対する割り当てを書き込むことと、を含む方法。
【請求項２】
さらに、
前記ロボットシステムからマップデータを受信することと、
前記店舗内の前記床空間のフロアマップに前記マップデータを変換することと、
前記フロアマップ内の座標系を定義することと、
前記フロアマップに表される第１の棚構造を識別することと、
前記第１の棚構造に、前記店舗内の第１の棚構造としてラベルを付けることと、
前記第１の棚構造に沿って、前記座標系に対して前記第１のウェイポイントを含み、前記第１の棚構造に面する方位を指定する第１のウェイポイントの集合を定義することと、
前記第１のウェイポイントで光学データを記録するために前記ロボットシステムを送ることは、前記第１のウェイポイントの集合の各ウェイポイントを占拠しながら前記ロボットシステムを送って前記第１のウェイポイントの集合の各ウェイポイントへ移動して前記第１の棚構造の光学データを記録することを含む請求項１に記載の方法。
【請求項３】
前記棚割表を初期化することは、前記フロアマップに表された前記第１の棚構造の位置および長さに基づいて前記棚割表における前記第１の棚構造の第１の側の第１の立面マップを初期化することを含み、
第１の棚の第１の垂直方向の位置と、第１のオブジェクトの第１の横方向の位置を前記棚割表の前記第１の棚構造の表示上に投影することは、前記第１の棚の前記第１の垂直方向の位置、前記第１のオブジェクトの前記第１の横方向の位置、および前記第１のウェイポイントによって定義された位置と方位に基づいて前記第１の立面マップにおける前記第１のスロットを画定することを含む請求項２に記載の方法。
【請求項４】
前記第１の画像中の前記第１の棚を検出することは、
前記第１の画像における前記第１の棚構造を識別することと、
前記第１の画像における前記第１の棚構造の第１の棚区画と第２の棚区画を識別することと、
前記第１の棚区画の前記第１の棚と第２の棚を識別することと、を含み、
前記第１の画像中の前記第１のオブジェクトを検出することは、前記第１の画像の前記第１の棚区画と前記第２の棚区画における前記第１の棚と前記第２の棚上のオブジェクトの集合を検出することを含み、
前記第１のオブジェクトを第１の製品の単位として識別することは、前記第１の画像の対応する領域から抽出された特徴に基づいて、前記オブジェクトの集合内のオブジェクトを識別することを含み、
前記第１の棚の前記第１の垂直方向の位置と、前記第１のオブジェクトの前記第１の横方向の位置を前記棚割表の前記第１の棚構造の表示上に投影することは、前記第１の画像の前記第１のオブジェクトの集合内のオブジェクトの位置に基づいて前記棚割表における前記第１の棚構造の前記第１の立面マップに第１のスロットの集合を画定することを含み、前記第１のスロットの集合は前記第１のスロットを備える請求項３に記載の方法。
【請求項５】
第１の画像にアクセスすることは、
前記ロボットシステムに一体化した一組の個別のカラーカメラで前記ロボットシステムが前記第１のウェイポイントの集合を通って移動しながら記録した第１のデジタル写真画像の集合を受け取ることと、
前記第１のデジタル写真画像の集合を、前記ロボットシステム内の前記一組の個別のカラーカメラの既知の位置と、前記店舗内の前記ロボットシステムの実際の位置と方位に基づいて、前記第１のウェイポイントの集合のそれぞれを占拠しながら前記第１の棚構造の前記第１の画像に組み合わせることを含む請求項２に記載の方法。
【請求項６】
前記第１のオブジェクトを前記第１の製品の単位として識別することは、
前記第１の画像の第１の領域から第１の特徴の集合を抽出することと、
前記第１の特徴の集合の特徴と、テンプレート画像のデータベースに格納され、前記第１の製品を表す第１のテンプレート画像の特徴との間の相関に呼応して前記第１の製品の単位として前記第１のオブジェクトを識別することと、を含む請求項１に記載の方法。
【請求項７】
さらに、
前記第１の画像内の第１の位置からオフセットした第２の垂直方向の位置で第２の棚を検出することと、
前記第１の画像内の第１の棚と前記第２の棚に沿って配置された棚札の集合を検出することと、
前記第１の画像に表される前記棚札の集合から製品識別子の集合を抽出することと、
前記テンプレート画像のデータベースから第１のテンプレート画像の集合を読み出すことと、を含み、前記第１のテンプレート画像の集合の各テンプレート画像は、前記製品識別子の集合で指定された製品の視覚的特徴を含み、
前記第１のオブジェクトを前記第１の製品の単位として識別することは、
前記第１の画像の第１の領域から抽出された第１の特徴の集合をテンプレート画像の集合内のテンプレート画像と比較することと、前記第１の特徴の集合の特徴と、前記第１のテンプレート画像の集合のうちの、閾値スコアを超える前記第１のテンプレート画像の特徴の間の類似度スコアに呼応して、前記第１のオブジェクトを前記第１の製品の単位として識別することを含む請求項６に記載の方法。
【請求項８】
前記第１の画像の前記第１の領域から前記第１の特徴の集合を抽出することは、前記第１の画像の前記第１の領域から相対色値の第１のカラースペクトルを抽出することを含み、
さらに、前記テンプレート画像のデータベースから、そのそれぞれのテンプレート画像が、相対色値の第１のカラースペクトルを近似する相対色値のカラースペクトルを示す第１のテンプレート画像の集合を読み出すことを含み、
前記第１のオブジェクトを前記第１の製品の単位として識別することは、
前記第１の画像の第１の領域から抽出された第１の特徴の集合をテンプレート画像の集合内のテンプレート画像と比較することと、前記第１の特徴の集合の特徴と、前記第１のテンプレート画像の集合のうちの、閾値スコアを超える前記第１のテンプレート画像の特徴の間の類似度スコアに呼応して、前記第１のオブジェクトを前記第１の製品の単位として識別することを含む請求項６に記載の方法。
【請求項９】
前記第１の画像の前記第１の領域から前記第１の特徴の集合を抽出することは、
前記第１の画像の前記第１の領域から第１のテキスト文字列を抽出することと、前記第１のテキスト文字列に基づいて前記第１のオブジェクトに関連付けられた第１のブランドを識別することと、を含み、
さらに、それぞれが前記第１のブランドに関連付けられた製品を表す前記第１のテンプレート画像の集合を前記テンプレート画像のデータベースから読み出すことを含み、
前記第１のオブジェクトを前記第１の製品の単位として識別することは、前記第１の画像の前記第１の領域から抽出された前記第１の特徴の集合をテンプレート画像の集合内のテンプレート画像と比較することと、
前記第１の特徴の集合の特徴と、前記第１のテンプレート画像の集合のうちの、閾値スコアを超える前記第１のテンプレート画像の特徴の間の類似度スコアに呼応して、前記第１のオブジェクトを前記第１の製品の単位として識別することを含む請求項６に記載の方法。
【請求項１０】
さらに、
前記第１の画像内の前記第１の棚上の第２の横方向の位置における第２のオブジェクトを検出することと、
前記第２のオブジェクトを表す前記第１の画像の第２の領域から第２の特徴の集合を抽出することと、
前記第１のオブジェクトを前記第１の製品の単位として識別することに呼応して
前記第１の製品の製品カテゴリを識別し、
それぞれが前記製品カテゴリの製品を表す第２のテンプレート画像の集合を前記テンプレート画像のデータベースから読み出すことと、を含み、
前記第２の特徴の集合の特徴と閾値スコアを超える、前記第２のテンプレート画像の集合のうちの前記第２の製品を表す第２のテンプレート画像の特徴の間の類似度スコアに呼応して、前記第２のオブジェクトを第２の製品の単位として識別することと、−第２の垂直方向の位置を投影し、前記第２のオブジェクトの第２の横方向の位置を棚割表上に投影して、第２のスロットを画定することと、
前記第２のオブジェクトを前記第２の製品の単位として識別することに呼応して、前記第２の製品の割り当てを前記第２のスロットに書き込むことと、を含む請求項６に記載の方法。
【請求項１１】
前記第１の画像内の前記第１の棚上の第２の横方向の位置における第２のオブジェクトを検出することと、
前記第２のオブジェクトを表す前記第１の画像の第２の領域から第２の特徴の集合を抽出することと、
テンプレート画像の不足に呼応して、テンプレート画像のデータベース内で、前記第２のオブジェクトを未知としてラベル付けして、少なくとも前記第２の特徴の集合の特徴への閾値類似度を示す特徴を定義することと、
第２の垂直方向の位置を投影し、第２のオブジェクトの第２の横方向の位置を前記棚割表上に投影して、前記第２のスロットを画定することと、
前記第２のオブジェクトに手動でラベル付けするための指示を生成することと、
オペレータポータルへの前記第２のオブジェクトを表す前記第１の画像の指示および第２の領域を提供することと、を含む請求項６に記載の方法。
【請求項１２】
前記第１の製品の前記第１のスロットに対する前記割り当てを書き込むことは、第１の撮像ルーチン中に、ロボットシステムが収集した光学データに基づいて店舗の棚割表を生成することを含み、
さらに、
前記第１の撮像ルーチンに続く第２の撮像ルーチン中に第１のウェイポイントを占拠しながら、前記ロボットシステムによって記録された光学データを含む第２の画像にアクセスすることと、
棚割表の第１のスロットに対応する前記第２の画像の第２の領域で第２のオブジェクトを検出することと、
前記第２の画像の前記第２の領域から第２の特徴の集合を抽出することと、
前記棚割表によって前記第１のスロットに割り当てられた前記第１の製品のテンプレート画像のデータベースにおける、前記第１のスロットに割り当てられた前記第２の特徴の集合とテンプレート画像の特徴との相違に呼応して、前記第１のスロットに第１の製品の単位が不適切に在庫保有されていると判断することと、前記第１の製品の単位が前記第１のスロットに不適切に在庫保有されている旨の判断に呼応して、前記第１のスロット上の前記第１の製品に対して第１の在庫補充指示を生成することと、を含む請求項６に記載の方法。
【請求項１３】
前記ロボットシステムを送り、前記店舗内の前記床空間のマップデータを自律的に収集することは、−前記ロボットシステムを送って、前記ロボットシステムを前記店舗に初期配送した後、および店舗に現在存在する好ましい在庫状態の確認を受信することに呼応して前記店舗内で前記第１のマッピングルーチンを実行することを含む請求項１に記載の方法。
【請求項１４】
さらに、
第１の画像において、第１のオブジェクトに隣接する第１の棚の第１の棚札を検出することと、
前記第１の画像に表される前記第１の棚札から第１の製品識別子を抽出することと、
第１の製品以外を示す前記第１の製品識別子に呼応して、指示を生成して前記第１の製品を示す前記第１の棚札を修正することと、
前記指示と前記第１のオブジェクトを表す前記第１の画像の第１の領域をマネージャポータルに供給することを含む請求項１３に記載の方法。
【請求項１５】
前記第１のオブジェクトを検出することは、前記第１の画像の前記第１の棚上のオブジェクトのクラスタを検出することを含み、
第１の製品の単位として第１のオブジェクトを識別することは、前記オブジェクトのクラスタのうちの各オブジェクトを、前記オブジェクトのクラスタを表す前記第１の画像の前記第１の領域から抽出した特徴に基づいて前記第１の製品の単位として識別することを含み、
さらに、
前記オブジェクトのクラスタにある前記第１の製品の単位数を生成することと、前記第１の画像の前記第１の領域から前記オブジェクトのクラスタのオブジェクトの配置を抽出することと、を含み、
前記第１の製品の前記第１のスロットに対する前記割り当てを書き込むことは、前記棚割表の前記第１のスロットへの前記数と前記配置を書き込むことを含む請求項１に記載の方法。
【請求項１６】
さらに、
前記第１の画像において、前記第１の棚の前記第１のオブジェクトから横方向にオフセットした開放領域を検出することと、
前記第１の棚上で前記開放領域を検出することに呼応して、
第１の画像において、前記開放領域に隣接する前記第１の棚に第２の棚札を検出し、
前記第１の画像に表される前記第２の棚札から第２の製品の識別子を抽出し、
前記第１の棚の前記第１の垂直方向の位置と、前記棚割表における前記第１の棚構造の前記表示上にある前記開放領域の第２の横方向の位置とを投影して、第２のスロットを画定し
前記第２のスロットへ前記第２の製品に対する割り当てを書き込むことを含む請求項１に記載の方法。
【請求項１７】
製品を店舗内の棚構造に割り当てる棚割表を自動的に生成するための方法であって、前記方法は、
マッピングルーチン中に前記店舗内の床空間全体を自律的に移動するためのロボットシステムを送ることと、
前記マッピングルーチン中に収集されたマップデータから前記ロボットシステムによって生成された前記床空間のフロアマップへアクセスすることと、
前記フロアマップの前記店舗に対して座標系を定義することと、
前記床空間の前記マップ内で棚構造を識別することと、
前記座標系に基づいて、前記棚構造に面する通路に沿って第１のウェイポイントの集合を定義することと、
撮像ルーチン中に、ウェイポイントの集合に移動し、光学データをキャプチャするために前記ロボットシステムを送ることと、
前記撮像ルーチン中に、前記ロボットシステムによって記録された光学データから生成された画像の集合を受信することと、
前記画像の集合において、製品および製品の位置を識別することと、
前記画像の集合において、識別された製品と製品の位置に基づいて、棚区画の棚割表を生成することと、を含む方法。
【請求項１８】
前記ロボットシステムから前記画像の集合を受信することは、前記ウェイポイントの集合の中で第１のウェイポイントを占拠する前記ロボットシステムによって記録された視覚データを含む第１の画像にアクセスすることを含み、
前記画像の集合において製品と製品の位置を識別することは、
前記第１の画像内の第１の垂直方向の位置における第１の棚を検出することと、
前記第１の画像内の第１の棚上の第１の横方向の位置における第１のオブジェクトを検出することと、
前記第１のオブジェクトを表す前記第１の画像の第１の領域から抽出された特徴に基づいて、前記第１のオブジェクトを第１の製品の単位として識別することと、を含み、
前記棚区画の前記棚割表を生成することは、
前記棚割表の前記第１の棚構造の表示上に前記第１の棚の前記第１の垂直方向の位置と前記第１のオブジェクトの前記第１の横方向の位置を投影して第１のスロットを画定することと、
前記第１のオブジェクトを前記第１の製品の単位として識別することに呼応して、前記第１の製品の前記第１のスロットに対する割り当てを書き込むことと、を含む請求項１７に記載の方法。
【請求項１９】
前記第１のオブジェクトを前記第１の製品の単位として識別することは、
前記第１の画像の前記第１の領域から第１のテキスト文字列を抽出することと、
前記第１のテキスト文字列に基づいて前記第１のオブジェクトに関連付けられた第１のブランドを識別することと、を含み、
それぞれが前記第１のブランドに関連付けられた製品を表す第１のテンプレート画像の集合をテンプレート画像のデータベースから読み出すことを含み、
前記第１の画像の前記第１の領域から抽出された第１の特徴の集合をテンプレート画像の集合内のテンプレート画像と比較することと、
前記第１の特徴の集合の特徴と、前記第１のテンプレート画像の集合のうちの、閾値スコアを超える第１のテンプレート画像の特徴の間の類似度スコアに呼応して、前記第１のオブジェクトを前記第１の製品の単位として識別することと、を含む請求項１８に記載の方法。
【請求項２０】
前記店舗内の前記床空間全体を自律的に移動するためのロボットシステムを送ることは前記ロボットシステムを送って、前記ロボットシステムを前記店舗に初期配送した後、および前記店舗に現在存在する好ましい在庫状態の確認を受信することに呼応して、前記店舗内で第１のマッピングルーチンを実行することを含む請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１６年５月１９日に出願された米国仮出願第６２／３３９，０４７号、２０１６年５月１９日出願された米国仮出願第６２／３３９，０３９号、および２０１６年５月１９日出願された米国仮出願第６２／３３９，０４５号の利益を主張しており、その全体が本参照によって援用される。
【０００２】
本出願は、２０１６年１１月０９日に出願された米国特許出願第１５／３４７，６８９号に関連しており、その全体が本参照によって援用される。
【０００３】
本発明は、概ね在庫管理の分野に関し、より具体的には、在庫管理の分野において、店舗内で製品を棚構造に割り当てる棚割表を自動的に生成する新しい有用な方法に関する。
【図面の簡単な説明】
【０００４】
【図１】図１は、方法を示すフローチャートである。
【図２】図２は、方法の１つの変形例を示すグラフである。
【図３】図３は、方法の１つの変形例を示す概略図である。
【図４】図４は、方法の１つの変形例を示すフローチャートである。
【図５】図５は、方法の１つの変形例を示すフローチャートである。
【発明を実施するための形態】
【０００５】
本発明の実施形態の以下の説明は、本発明をこれらの実施形態に限定することを意図したものではなく、当業者が本発明を製造し使用することを可能にすることを目的とするものである。本明細書に記載される変形、構成、実施方法、実施例実施方法、および実施例は任意であり、これらは、それらが記述する変更、構成、実施方法、実施例実施方法、および実施例に限定されるものではない。本明細書に記載される発明は、これらの変形例、構成、実施方法、実施例実施方法、および実施例を任意に、またすべてを含み得る。
１．方法
【０００６】
図１に示すように、製品を店舗内の棚構造に割り当てる棚割表を自動的に生成するための方法であって、前記方法は、ブロックＳ１１０で、第１のマッピングルーチン中に店舗内の床空間のマップデータを自律的に収集するためのロボットシステムを送ることと、ブロックＳ１９０で、ロボットシステムによって記録されたマップデータに基づいて、店舗内の棚構造の集合の位置を表す店舗の棚割表を初期化することと、ブロックＳ１６０で第１の撮像ルーチン中に、棚構造の集合の中の第１の棚構造の近傍の第１のウェイポイントの光学データを記録するためのロボットシステムを送ることと、ブロックＳ１７０で、第１のウェイポイントを占拠しながら、ロボットシステムによって記録された光学データを含む第１の画像にアクセスすることと、ブロックＳ１７２で、第１の画像内の第１の垂直方向の位置における第１の棚を検出することと、ブロックＳ１７４で、第１の画像内の第１の棚上の第１の横方向の位置における第１のオブジェクトを検出することと、ブロックＳ１８０で第１のオブジェクトを表す第１の画像の第１の領域から抽出された特徴に基づいて、第１のオブジェクトを第１の製品の単位として識別することと、ブロックＳ１９０で、第１の棚の第１の垂直方向の位置と第１の対象物の第１の横方向の位置を、棚割表の中の第１の棚構造の表示上に投影して第１のスロットを確定し、第１の対象物を第１の製品の単位と識別すると第１の製品に対する割り当てを第１のスロットに書き込むことと、を含む。
【０００７】
この方法の１つの変形例は、ブロックＳ１１０で、マッピングルーチン中に店舗内の床空間を自律的に移動するためのロボットシステムを送ることと、ブロックＳ１２０で、マッピングルーチン中に収集されたマップデータからロボットシステムによって生成された床空間のフロアマップのアクセスすること；ブロックＳ１３０で、フロアマップの店舗に対して座標系を定義することと、ブロック１４０で、床空間のマップ内で棚構造を識別することと、座標系に基づいて、ブロックＳ１５０で、棚構造に面する通路に沿って第１のウェイポイントの集合を定義することと、ブロックＳ１６０で、撮像ルーチン中に、ウェイポイントの集合に移動し、外観をキャプチャするためにロボットシステムを送ることと、ブロックＳ１７０で、撮像ルーチン中に、ロボットシステムによって記録された光学データから生成された画像の集合を受信することと、ブロックＳ１８０で、画像の集合において、製品および製品の位置を識別することと、ブロックＳ１９０で、画像の集合において、識別された製品と製品の位置に基づいて、棚区画の棚割表を生成することと、を含む。
【０００８】
図１および図３に示すように、本方法の別の変形例は、ロボットシステムにおいて、ブロックＳ１１２で、店舗を隅々まで自律的に移動しながら店舗内の床空間のマップを生成し、ロボットシステムにおいて、ブロックＳ１１４で、店舗を隅々まで自律的に移動しながら店舗内の棚の画像の集合をキャプチャすることと、ブロック１４０で、床空間のマップ内で棚構造を識別することと、ブロックＳ１８０で、棚構造の近傍でロボットシステムがキャプチャした一連の画像において、画像の集合の中で製品と製品の位置を識別することと、ブロックＳ１９０で、画像の集合において、識別された製品と製品の位置に基づいて、棚区画の棚割表を生成することと、を含む。
２．応用
【０００９】
一般的に、本方法のブロックは、コンピュータシステムによって実行され、および／またはロボットシステム（共に「システム」）によって、ロボットシステムが、例えば、店舗の全てまたは一部を通してフロアプラン、建築レイアウト、および製品割り当てが利用できないような店舗に最初に設置された時に、店舗内の棚の上の製品の配置を表す棚割表を自動的に生成することができる。特に、前記コンピュータシステムは、ロボットシステムを送って店舗内を自律的に移動させ、マッピングルーチン中に前記店舗の２Ｄまたは３Ｄマップを生成し、前記店舗のこのマップを処理して前記店舗全体を通して製品を積載した隣接した棚に様々なウェイポイントを定義し、これらのウェイポイントを前記ロボットシステムにアップロードし、前記ロボットシステムを送って移動させ、撮像ルーチン中に、これらのウェイポイントのそれぞれにおける画像をキャプチャし、前記ロボットシステムによってキャプチャされたこれらの画像に示す製品を識別し、前記店舗のための棚割表（例えば、各棚構造の各側の立面マップを含む）を生成することができ、各棚割表は、店舗全体を通して、製品を識別し、棚区画の棚の対応するスロット内のおよび棚構造内のこれらの製品の配置を表し、したがって、この方法は、店舗に対してプロビジョニングされたロボットシステムによってキャプチャされたマップデータおよび画像を収集し処理することによって、店舗の棚割表を自動的に生成するためのシステムによって実行される。コンピュータシステムが店舗に対する棚割表の初期インスタンスを生成すると、店舗のマネージャまたは共同経営者は、棚割表によって定義されたスロットの位置および製品割り当てを確認または調整することができ、コンピュータシステムは、この棚割表をその後の撮像ルーチンにおいて、ロボットシステムによって記録された画像において識別された製品およびこれらの製品の場所と比較して、その後の店舗の保管状態が、棚割表によって指定された要件を満たすかどうかを決定することができる。
【００１０】
ある実施方法では、コンピュータシステムは、店舗（または倉庫、小売施設等）の手動在庫補充手順を確認した後に、店舗の従業員が棚に商品を手作業でストックし、店舗のこれらの棚にこれらの商品を適切に配向させる方法を用いて、その方法を実行する。一旦、（例えば、インターネット上のコンピュータシステムにおけるデスクトプコンピュータまたはタブレット通信で実行されるオペレータポータルを介した店舗のマネージャによって、）店の適切な在庫が完了して確認されると、コンピュータシステムは、本方法のブロックを実行して、マッピングルーチンを実行してマップデータをキャプチャし、店舗全体を通して画像をキャプチャするための撮像ルーチンを実行するためのロボットシステムを起動し、これらのマップデータと画像を処理し、（略）「理想的な」在庫期間の間に、店舗内の製品の配置を示す棚割表を自動的に生成することができる。ブロックＳ１９０におけるこの棚割表の生成に際して、システムは、オペレータポータルを介して店舗のマネージャまたは他の従業員とインターフェースをとって、この棚割表に格納された製品割り当てと、製品陳列面の割り当てと、個別のスロットを移動、変更、追加、および／または削除して、例えば、撮像ルーチン中に店舗内の製品の実際の配置の誤りを修正し、撮像ルーチン中に記録した画像内で誤って識別された製品を修正し、次のシーズンまたは次の休日のために店舗の棚割表をアップデートすることができる。例えば、店舗のマネージャは、この棚割表を手作業で修正し、この修正された棚割表を店舗の従業員に配布して、店舗内の製品のタイプおよび／または配置の変更を誘導することができる。
【００１１】
その後、コンピュータシステムは、米国特許第Ｓ１ＩＭＢ−Ｍ０１−ＵＳで説明するように、この棚割表を後続の店舗での撮像ルーチン中にロボットシステムによってキャプチャされた棚構造の画像を比較して、店舗内の棚から欠落した製品、棚に不適切な方向を向いた製品、棚に間違って配置された製品、および／または棚に間違ってラベル付けされた製品などの、この棚割表からの偏差を検出することができる。例えば、ブロックＳ１９０における棚割表の生成に続いて、システムは、店舗全体を移動しながら、ロボットシステムによって収集された実際のマッピングデータに基づいて、また、棚割表に格納された在庫データに基づいて、店舗に対する改訂したウェイポイントの集合を生成することができる。この例では、午前１時（例えば、店舗が閉じているまたは、取引が最小限の時）から毎晩、ロボットシステムは、これらの改訂したウェイポイントによって定義された店舗内の位置および方位に順次移動し、これらのウェイポイントの各々で一つ以上の画像をキャプチャし、これらの画像をコンピュータシステムに戻すことができる。これにより、コンピュータシステムは、これらの画像を、棚割表からの偏差も含め店舗全体を通して棚の上の製品の位置のグラフ、表またはマップに自動的に変換することができるようになり、システムは、このグラフ、マップまたは表を、次の朝、店舗の開店前に店舗に到着した際に、店舗の従業員に提示することができる。
【００１２】
したがって、コンピュータシステムとロボットシステムは、協働して、現在は、棚割表を保有していない、使用していない、または維持していない、古い棚割表しか有していない、あるいは、店舗全体を通して棚構造、棚区画、棚などの位置を移動した店舗（または倉庫など）に対して現在の棚割表を自動的に生成する方法のブロックを実行することができる。例えば、システムは、店舗内にロボットシステムを自動的に送り、マップデータと画像をロボットシステムから画像を収集し、これらの画像を処理して、それぞれが数百、数千、数万の固有の製品の１つ以上の陳列面を有して在庫保有した数多く（例えば、数十、数百）の棚構造を表す棚割表にすることができる。撮像ルーチン中に、ロボットシステムによって記録された画像の対応する領域において製品識別のために比較的低い信頼スコアに関連付けられた新しい棚割表の中の限られた数のスロットに製品割り当てを書き込むためのガイダンスまたは監督を提供するために人間を関与させることによって、コンピュータシステムは、店舗の高精度な棚割表を生成するとともに、店舗のマネージャ、関係者、または他の従業員の関与を制限してこの棚割表を生成することができる。
３．ロボットシステム
【００１３】
ロボットシステムは、方法Ｓ１００のブロックＳ１１０およびＳ１１２を実行して、ウェイポイントに移動し、店舗内の棚の画像をキャプチャする。一般的に、ロボットシステムは、店舗を自律的に横断することができるネットワーク対応モバイルロボットを定義し、店舗内の棚の画像をキャプチャし、それらの画像をリモートコンピュータシステムにアップロードして分析することができる。
【００１４】
ある実施方法では、ロボットシステムは、図３に示すように、ベースと、前記ベースに配置された駆動システム（例えば、１対の２つの駆動される車輪と２つの旋回キャスタ）と、電源（例えば、電気バッテリ）と、１組のマッピングセンサ（例えば、前後の走査ＬＩＤＥＲシステム）と、前記マッピングセンサによって収集されたデータを前記ロボットシステムの周囲の空間の２次元または３次元マップに変換するプロセッサと前記ベースから垂直に伸びるマストと、前記マストに配置された１組のカメラと、地理空間位置センサ（例えば、ＧＰＳセンサ）と、リモートコンピュータシステム（例えば、リモートサーバ）からの店舗のウェイポイントとマスタマップをダウンロードし、前記カメラがキャプチャした写真画像と、前記プロセッサによって生成されたマップを前記リモートコンピュータシステムにアップロードするための無線通信モジュールと、を備える自律撮像車両を定義する。この実施方法では、ロボットシステムは、図３に示すように、マストの左側にある２つの垂直オフセットカメラやマストの右側にある２つの垂直オフセットカメラのような、マストに静的に取り付けられたカメラを含むことができる。ロボットシステムは、付加的または代替的に、マストの左側に、第１の垂直走査アクチュエータによって支持された１台のカメラや、マストの右側に、第２の垂直走査アクチュエータによって支持された１台のカメラのような関節動作可能なカメラを備えていてもよい。また、ロボットシステムは、ズームレンズ、広角レンズ、または各カメラ上の任意のその他のタイプのレンズを含んでいてもよい。しかし、ロボットシステムは、任意の他の形態を定義することができ、店舗環境全体の、自律的な移動および画像キャプチャをサポートする任意の他のサブシステムまたは要素を含んでいてもよい。
【００１５】
システムはまた、単一の店舗に配置された複数のロボットシステムを含み、店舗内の棚を画像化するために協働するように構成されてもよい。例えば、２つのロボットシステムは、大型の単一床の小売業者に配置し、閾値期間内（例えば、１時間以内）に店舗内の全棚の画像を収集するよう、協働することができる。別の実施例では、１つのロボットシステムを、複数階店舗の各フロアに配置し、各ロボットシステムは、対応するフロアの棚の画像をそれぞれ収集することができる。これにより、リモートコンピュータシステムは、１つの店舗に配置された複数のロボットシステムによってキャプチャされた画像を集約して、店舗内の適切かつ不適切に在庫保有したスロットのグラフ、マップ、表および／またはタスクリストを生成できる。
４．階層および用語
【００１６】
「製品陳列面」は、本明細書では、１スロットに対して指定される製品の側面（例えば、特定のＳＫＵまたはその他の製品識別子）を意味する。「棚割表」は、本明細書では、店舗内の（例えば、店舗全体にわたる）複数の棚構造の各々にわたって複数の製品陳列面を示すグラフィカルな表現を意味する。棚割表で視覚的に記録された製品の識別、配置、および方位データは、対応するテキスト製品配置スプレッドシート、スロット索引、または他の店舗データベース（以下、「製品配置データベース」）に記録することもできる。
【００１７】
「スロット」とは、本明細書においては、製品の１つ以上の単位の列を含む、１つの製品陳列面による占拠期間別に指定された棚の区間を意味する。「棚」とは、本明細書では、１つ以上のスロットにわたって延在する１つの側面（例えば、１×４フィート幅の水平面）を意味する。「棚区画」とは、本明細書では、１つ以上の棚を含む棚構造の一列を意味する。「棚構造」とは、本明細書では、１つ以上の棚区画の列を意味する。「通路」とは、本明細書では、２つの対向する棚構造間の通路を意味する。「店舗」とは、本明細書では、１つ以上の棚構造と１本以上の通路を有する（静的または動的な）設備を意味する。
【００１８】
「製品」とは、本明細書では、特定の製品識別子（例えば、ＳＫＵ）と良好に関連付けられたパッケージのタイプを意味する。「単位」または「製品単位」とは、本明細書では、１つのＳＫＵ値と関連付けられた一連の包装されたオブジェクトのような製品のインスタンスを意味する。
【００１９】
方法Ｓ１００は、本明細書では、リモートコンピュータシステム（例えば、リモートサーバ、以下「コンピュータシステム」と呼ぶ）によって実行されるように説明している。しかし、方法Ｓ１００のブロックは、小売空間（または店舗、倉庫など）に配置された１つ以上のロボットシステム、ローカルコンピュータシステム、または任意の他のコンピュータシステム、以下の「システム」によって実行できる。
【００２０】
さらに、方法Ｓ１００のブロックは、以下では、店舗内の棚構造の開放棚に在庫保有した製品を識別するためにシステムによって実行されるように説明している。しかし、システムは、同様の方法および技術を実施して、整理棚、冷蔵ユニット、壁ラック上、独立したフロアラック、テーブル上、または小売空間内の他のいかなる製品整理ケースに在庫保有した製品を識別することができる。
５．ロボットシステムのプロビジョニング
【００２１】
本方法のブロックＳ１１０は、第１のマッピングルーチン中に店舗内の床空間のマップデータを自律的に収集するために、ロボットシステムを送ることを規定している。一般的に、ブロックＳ１１０では、システムは、店舗を隅々まで自律的に移動し、店舗内の床空間の２Ｄマップを生成するため（および／または店舗の室内容積の３Ｄマップを生成するため）に、ロボットシステムを起動する。
【００２２】
ある実施方法では、一旦店舗内の初期配置に続いて店舗内でロボットシステムが電源投入されると、コンピュータネットワーク（例えば、インターネット）を介して、ブロックＳ１１０でロボットシステムへ指示を出し、マッピングルーチンを開始することができる。例えば、ロボットシステムは、システムから指示を受信すると直ちにマッピングルーチンを開始することができ、あういは、ロボットシステムは、店舗を閉じているときや、または（実質的に）非占拠状態であるときなど、例えば２ＡＭのようなその後に予定した走査時間のマッピングルーチンを待機することができる。あるいは、ロボットシステムは、最初に店舗内で電源を投入したとき、またはロボットシステム上の「スタート」ボタン、またはモバイル演算装置上で実行するオペレータポータル内、および、店舗またはロボットシステムと関連した手動選択のようなユーザからの手動入力に応答して、自動的にマッピングルーチンを開始することができる。
【００２３】
別の実施方法では、システムは、ロボットシステムを送って、ロボットシステムを店舗に初期配送した後、および店舗に現在存在する好ましい在庫状態の確認を受信することにより、店舗内で第１のマッピングルーチンを実行する。例えば、店舗の新しい棚割表を自律的に生成するための準備として、店舗の関係者は、各スロット、棚、棚区画、棚構造、整理棚、冷却装置、壁ラック、独立フロアラック、および／またはテーブルなどに、好ましい数および方位を有する各製品を、店舗全体を通して、手動で在庫保管することができ、一度ロボットシステムが店舗へプロビジョニングを行い、店舗内のローカル無線ネットワークに接続すると、人間のオペレータ（例えば、店舗のマネージャ、またはロボットシステムに加入している実体）が演算装置（例えば、デスクトップコンピュータまたはスマートフォンなど）を介してオペレータポータルにアクセスし、店舗の現状が（およそ）所望の在庫状態を満たしているどうかを確認し、その後現在の在庫状況によって店舗の新しい棚割表を生成する機能を選択することができる。所望の在庫状態の確認および新しい棚割表関数を受信すると、システムは、まず、ブロックＳ１１０でロボットシステムを送って、店舗のマップデータを収集し、および／または店舗のマップを生成することによって、方法の実行を開始することができる。しかし、システムは、ブロックＳ１００で他の方法や技術を実施して、ロボットシステムを起動させてマッピングルーチンを実行させることができる。
【００２４】
これにより、ロボットシステムは、その統合マッピングセンサを通じて距離データを記録し、店舗の物理的な内部空間の２Ｄ（または３Ｄ）マップを生成しながら、店舗を隅々まで自律的に移動することができる。例えば、ロボットシステムは、同時局在およびマッピング（または「ＳＬＡＭ」）技術を実施して、マッピングルーチン全体にわたって収集されたＬＩＤＡＲベースの距離走査に基づいて、店舗内の未知環境のマップを作成して更新し、そのマップ内の位置を追跡することもできる。しかし、ロボットシステムは、任意の他の方法や技術を実施して、店内の床空間の２Ｄマップを生成する（または、店舗内の３Ｄマップを生成する）ことができる。
【００２５】
あるいは、ロボットシステムは、マッピングルーチン中に未加工マップデータを収集して、マッピングルーチン中に、またはマッピングルーチンの終了時に、リアルタイムでこれらのデータをシステム（例えば、インターネットを介したリモートサーバ）にアップロードすることができる。これにより、システムは、以下に説明するように、店舗の２Ｄのフロアプランまたは３Ｄマップ（例えば、「ポイントクラウド」）（以下、「フロアマップ」と称する）に、これらの未加工マップデータを、ロボットシステムから遠隔的に離れた場所に再構築するための同様の方法および技術を実施することができる。
５．１  複数のロボットシステム
【００２６】
１つの変形例として、システムは、単一の店舗にプロビジョニングされる複数のロボットシステムを含み、例えば、その店舗に対して定義されたウェイポイントに割り当てられたサブセットを自律的に実行するなどにより協働してマッピングルーチン中にマップデータを収集し、さらに協働して撮像ルーチン中に画像を収集する。例えば、２つのロボットシステムを、大規模な単一床の小売店舗に配置することができ、協働して限られた期間（例えば、１時間未満）のマッピングルーチンと撮像ルーチンで、店舗内の全棚のマップデータおよび画像を収集することができる。別の実施例では、１つのロボットシステムは、マルチフロア店舗の各フロアに配置することができ、各ロボットシステムは、割り当てられたフロアにある棚のマップデータおよび画像を収集することができる。店舗内のこれらのロボットシステムによるマッピングルーチンに続いて、システムは、ブロックＳ１２０においてこれらのロボットシステムからマップと画像データを収集し、次に本明細書に記載する方法と技術を実施してマルチレベルの棚割表レイアウトと店舗の各レベルの棚割表を生成することができる。
６．リアルフロアマップ
【００２７】
この方法のブロックＳ１２０は、ロボットシステムから床空間のマップを受信することを規定している。一般的に、ブロックＳ１２０では、システムは、上述のマッピングルーチンの完了後に、ロボットシステムから店舗の床空間の２Ｄマップ（または店舗内部の３Ｄマップまたはポイントクラウド）を収集するように機能する。例えば、マッピングルーチンが完了すると、ロボットシステムは、ローカルインターネット接続された無線ルータを介して、またはセルラーネットワークを介して、マップをシステムにアップロードすることができる。しかし、そのシステムは、店舗内の障害物および構造物の実際の場所のマップを、他の方法で、および任意の他の形式でも収集することができる。
【００２８】
方法のブロックＳ１４０は、床空間のマップ内で棚構造を識別することを規定している。一般的に、ブロック１４０では、システムは、フロアマップ内に含まれるデータに基づいて、店舗内の実棚構造の存在および位置を識別するように機能する。
６．１  ２Ｄフロアマップ
【００２９】
ある実施方法では、ロボットシステムは、店舗の床より上にある１水平面オフセット上（例えば、店舗の床より２インチ上）で店舗の２Ｄポイントクラウドを生成し、ブロックＳ１２０のシステムにこのポイントクラウドをアップロードする。この実施方法では、これにより、システムは、次に、ライン抽出技術を実施して、２Ｄポイントクラウドを、店舗全体を通して床に配置された構造物の実際の（例えば、寸法的に正確な）位置および外部寸法を表す、ベクトル化された２Ｄラインマップに変換することができる。これにより、システムは、パターンマッチング、構造認識、テンプレートマッチング、および／または他のコンピュータ視覚技術を実施して、店舗内の棚構造（および／または他の保管要素）として、ベクトル化された２Ｄラインマップ内の大きく離散的な（ほぼ）直線の領域を識別してから、ブロックＳ１４０において、それによってベクトル化されたラインマップ（以下「フロアマップ」）にラベル付けすることができる。
【００３０】
ある実施例では、システムは、１メートルより大きい最大水平寸法を示し、棚構造として２：１より大きいアスペクト比を示す個別の長方形構造をラベル付けし、１メートルより大きい最大水平寸法を示し、開放テーブルとして２：１未満のアスペクト比を示す個別の長方形構造をラベル付けし、１メートル未満の最大水平寸法を示し、独立したポップアップユニットとして２：１未満のアスペクト比を示す個別の長方形構造をラベル付けし、１メートル未満の最大水平寸法を示し、独立した床ユニットとして２：１未満のアスペクト比を示す個別の不定形な構造をラベル付けする、などを行うことができる。別の実施例では、システムは、小売店舗の設定に共通する棚構造、チェックアウトレーン、冷蔵ユニットなどの標準計画寸法（例えば、長さおよび幅）および形状（例えば、長方形）のデータベースにアクセスし、２Ｄラインマップから空間の床上の構造の寸法と形状を抽出し、これらの構造寸法と形状を、データベースに格納されている標準プランと形状定義と比較して、２Ｄラインマップで表された選択構造を棚構造として識別し、ラベル付けすることができる。
【００３１】
別の実施例では、システムは、９０度までのコーナーに対し、フロアマップ内の１つの水平面を走査するためのエッジ検出技術を実施し、４つの９０度までのコーナーの集合によって囲まれたフロアマップにおける閉鎖された領域を棚構造として識別し、そのような２つの棚構造の間の開放領域を通路として識別することができ、これにより、システムは、それに応じて棚構造と通路のラベルをフロアマップに入れることができる。しかし、システムは、テンプレートマッチング、エッジ検出、パターンマッチング、パターン認識、光学文字認識、色認識、コンテンツベースの画像検索、ポーズ推定、コード読み取り、形状認識、および／または、その他の適した方法や処理技術を実施することにより、フロアマップ内の特徴を識別し、これらの特徴を店舗内の１つ以上の棚構造と相関させることができる。
６．２  ３Ｄフロアマップ
【００３２】
あるいは、ロボットシステムは、マッピングルーチン中に店舗の３Ｄポイントクラウドを生成することができる。ブロックＳ１２０でロボットシステムから３Ｄポイントクラウドを受信すると、システムは、３Ｄポイントクラウドで表された床面の上（例えば、約２インチ上）にある３Ｄポイントクラウドオフセットの水平スライスを選択し、次に同様の技術を実施して、店舗の床を占拠する実際の位置および外部寸法を表すベクトル化された２Ｄラインマップにこの点の平面を変換することができる。これにより、システムは、上述の方法および技術を実施して、これらの個別の構造物の全てまたはサブセットを棚構造および／または店舗内の他の記憶要素として識別することができる。たとえば、システムは、ロボットシステムから受け取った３Ｄポイントクラウドを、店舗内の棚構造（およびその他の構造）の実位置を表すベクトル化した３Ｄラインマップに変換し、ベクトル化された３Ｄライン内のラインで囲まれた個別のボリュームを識別し、小売りの設定において、これらの個別ボリュームの寸法と形状を標準棚構造、レジ通路、冷蔵ユニットなどの寸法および形状を定義するデータベースと比較し、これに従って、これらの個別の体積を、棚構造、レジ通路、冷蔵ユニットなどとしてラベル付けすることができる。しかし、システムは、その他の方法または技術を実施して、店舗内の棚構造や他の記憶要素として予め生成されたフロアレイアウトや他の予め生成されたデータなしで店舗のフロアマップ内に表された個別の構造物を自動的に識別してラベル付けすることができる（例えば、２Ｄまたは３Ｄポイントクラウド、ベクトル化されたラインマップなど）。
６．３  建築計画
【００３３】
別の実施方法では、システムは、店舗の建築計画にアクセスし、米国仮出願第６２／３３９，０４５号に記載のように、２Ｄラインマップ（または、２Ｄまたは３Ｄポイントクラウドなど）に建築計画を整合させ、建築計画からの棚構造ラベル、アドレス、および／または他の識別子を２Ｄラインマップ上に投影して２Ｄラインマップの個別の構造物に、棚構造（および／または他の保存要素など）としてのラベルを付けることができる。
６．４  監視された棚構造の検出
【００３４】
上記の実施方法では、一旦システムが店舗のフロアマップで表される棚構造を識別すると、システムは、人間のオペレータ（例えば、ロボットシステムオペレータ、店舗のマネージャ）に指示を出してフロアマップに自律的に適用された棚構造ラベルを確認することができる。例えば、システムは、オペレータのモバイル演算装置またはデスクトップコンピュータ上で実行されるオペレータポータルを介してオペレータにフロアマップの視覚的形状を提供し、フロアマップの視覚的形状上に棚構造ラベルを表示し、これにより、オペレータは、これらの棚構造ラベルを手動で見直して調整することにより、これから行われる撮像ルーチンに対するウェイポイントを生成する前に、店舗全体を通して棚構造を識別するシステムに対して監督を行うことができる。あるいは、システムは、ロボットシステムから受信したマップデータを、ベクトル化された店舗のフロアマップ（例えば、ベクトル化された２Ｄまたは３Ｄラインマップ）に変換し、フロアマップ内の店舗の床に配置された個別の構造物を識別し、オペレータポータルへのフロアマップ内でハイライトされた個別の構造物を用いてこのフロアマップを処理することができ、これにより、オペレータは、オペレータポータルを通じて、フロアマップ内のハイライトされた構造物が棚構造を表すことを手動で確認することができる。しかし、システムは、オペレータポータルを介して、その他の方法で人間のオペレータとインターフェースをとって、棚構造の識別を確認するための情報を収集したり、店舗のフロアマップ内で直接棚構造を識別したりすることができる。
【００３５】
しかし、システムは、その他の方法または技術を実施して、ロボットシステムから受信した未加工マップデータ（またはベクトル化された２Ｄまたは３Ｄラインマップ）を既知の（または予測された）棚構造の位置（および／または他の記憶要素）を下記の座標系に対してなどで識別するラベル付きのフロアマップに変換することもできる。
７．座標系
【００３６】
本方法のブロックＳ１３０は、フロアマップにおける座標系を定義することを規定している。一般的に、ブロックＳ１３０では、システムは、ブロックＳ１６０における座標系に対するウェイポイントの横方向距離、縦方向距離、および方位（例えば、ヨー角）の計算に備えて座標系を位置決めする。
【００３７】
一実施例では、システムは、ブロックＳ１２０において、ロボットシステムから受信したマップデータに基づいて、店舗のフロアマップ内に配置されたドックの位置を識別し、次に、フロアマップ内で表されるドックの位置で座標系の原点を定義する。この実施例では、システムは、次いで、座標系のｘ軸を、（例えば以下に記載するような）フロアマップで識別された最長の線形壁に整合させる。ただし、システムはその他の方法で座標系を配置したり、その他のパラメータに従って配置したりすることができる。
８．ウェイポイントの生成
【００３８】
本方法のブロックＳ１５０は、座標系に基づいて、ブロックＳ１５０で棚構造に面する通路に沿ってウェイポイントの集合を定義することを規定している。一般的に、ブロックＳ１５０で、システムは、ロボットシステムがフロアマップ内のラベル付き棚構造の位置に基づいて移動し、デジタル写真画像をキャプチャするための座標系に対する店舗内の位置を定義するウェイポイントのリストを生成する。
【００３９】
上述のブロックＳ１２０で、システムは、フロアマップで示された第１の棚構造を識別し、第１の棚構造を店舗内で第１の棚構造としてラベル付けし、これにより、ブロックＳ１５０で、システムは、この第１の棚構造に沿った、座標系に対する第１のウェイポイントの集合を定義することができ、第１のウェイポイントの集合のそれぞれのウェイポイントは、ロボットシステム内に一体化されたカメラを第１の棚構造に向けて方向づけする方位を指定する。
【００４０】
一実施方法では、システムは、下記に説明するように、また図１に示すように、第１の棚構造に沿って隣接するウェイポイントでキャプチャした隣接する画像の目標とする重なり（例えば３０％の重なり）を達成するのに十分な第１の棚構造に面する通路に沿って多数のウェイポイントを生成することにより、システムがこれらの個別の画像を第１の棚構造の全長にわたる単一のパノラマ画像に継ぎ合わすことができる。一実施例では、システムは、店舗のフロアマップの第１の棚構造の長さに沿って延在する撮像ラインベクトルを定義する。これにより、システムは、第１の棚構造の面と、ロボットシステムのカメラの所定の固定ズームレベル、低ズームレベル、または限られたズーム範囲の撮像ラインベクトルとの間の横方向のオフセット距離を設定することができ、これにより、横方向のウェイポイントオフセット距離だけ第１の棚構造の面からオフセットした撮像ラインベクトル上のウェイポイントを占拠するロボットシステムがキャプチャした垂直方向に隣接する画像の十分な垂直方向の重なり（例えば、少なくとも３０％の垂直方向の画像の重なり）を、所定の通路の幅と棚構造の高さ（例えば、標準の高さである７フィート、またはマッピングルーチン中のロボットシステムによって収集された３Ｄマップデータから判定した高さ）の第１の棚構造の撮像面において達成することができる。システムは、また、撮像ラインベクトルのまたは、撮像ラインベクトルに沿ったカメラのズームレベルを調整して、少なくともロボットシステムが撮像ラインベクトルに沿ってキャプチャした画像が、本方法のこの後のブロックで処理する画像のための解像度要件に適合するような目標の解像度を達成することもできる。その後、システムは、所定の通路の幅とズームレベルを有する第１の棚構造の撮像面において、ウェイポイントの長手方向のオフセット距離だけ離れる撮像ラインベクトルに沿った２つのウェイポイントでロボットシステムがキャプチャした水平方向に隣接する画像が十分な水平方向の重なり（例えば、少なくとも３０％の水平方向の画像の重なり）を達成できる、撮像ラインベクトルに沿ったウェイポイントの長手方向のオフセットを計算することができる。したがって、システムは、撮像ラインベクトルに沿ったウェイポイントの位置（例えば、座標系の中の（ｘ，ｙ）座標）を計算して、それに応じて、ウェイポイントの長手方向のオフセット距離によってオフセットすることができる。
【００４１】
ロボットシステムはまた、ロボットシステム内のカメラの視野が第１の棚構造の面に対して実質的に直角となるように、第１の棚構造に沿って各ウェイポイントに方位（例えば、ヨー角）を割り当てることができる。したがって、ブロックＳ１６０で、このウェイポイントの集合を実行するとき、ロボットシステムは、次のウェイポイントへ第１の棚構造に沿って移動する前の１つのウェイポイントで、第１の棚構造に面するロボットシステムの一側に配置されたカメラで画像をキャプチャすることができ、システムは、これらの画像をブロックＳ１７０で収集し、これらの画像をブロックＳ１８０で、第１の棚構造上の製品のアイデンティティおよび位置に処理し、ブロックＳ１９０で下記に説明するように第１の棚構造の棚割表を生成することができる。
【００４２】
あるいは、両方の側面にカメラを含むロボットシステムでは、システムは、店舗のフロアマップ中の第１の通路、第１の棚構造、および第１の棚構造に面する第２の棚構造を識別し、第１の通路に沿って中心合わせした撮像ラインベクトルを生成し、ブロックＳ１８０で、通路の幅とこれらの画像を処理するための解像度要件に基づいて、この撮像ラインベクトルに沿ったウェイポイントの棚構造にカメラのズームレベルを割り当て、次いで上記の方法と技術を実施して撮像ラインベクトルに沿ったウェイポイントを定義する。ブロックＳ１６０で、送られて、これらのウェイポイントを実行すると、ロボットシステムは、ロボットシステムの両方の側面に配置されたカメラを介して、第１及び第２の棚構造の画像を同時に記録することができる。
【００４３】
システムは、上記の方法および技術を実施して、フロアマップ内で識別された（実質的に）すべての、または選択された構造に対するウェイポイントを生成することができる。例えば、システムは、ブロックＳ１２０のフロアマップで識別され、オペレータポータルで手動確認を受信したすべての棚構造（およびその他の記憶要素）に沿ってウェイポイントを定義することができる。別の例では、システムは、ブロックＳ１２０で、フロアマップ内で識別された構造が棚構造（または他の記憶要素）を表し、次いで、フロアマップで検出された各構造に隣接するウェイポイントの集合を定義することができ、それに対して、最小閾値（例えば、４０％）より大きい棚構造信頼スコアが計算される、またはそれに対して構造体が棚構造であるという信頼スコアが他の構造タイプに対する信頼スコアを超えて計算される。したがって、システムは、フロアマップで検出され、予測され、および／または確認された構造に沿ってウェイポイントを定義して、店舗全体を通して棚構造（および／または他の保管構造、レジ通路等）を表すことができる。これにより、システムは、ブロックＳ１６０において、ロボットシステムを送って、店舗全体を通して、これらのウェイポイントに隣接する棚構造（および他の構造）の光学データ（例えば、写真画像）を収集し、そしてこれらの光学データをバルクで処理して多くの棚、整理棚、テーブル等に配置される製品のタイプと位置を含む、店舗の略全体の棚割表を生成することができる。
【００４４】
さらに、ブロックＳ１５０で店舗内に不確かな構造に沿って（すなわち、未知の、または低い信頼性スコア型の構造）ウェイポイントを定義して、その後、ロボットシステムをこれらのウェイポイントに送ってこれらの不確かな構造の写真画像を収集し、システムは、これらの構造上に在庫保有した製品のタイプと位置を識別することに加え、これらの未知の構造の光学データにアクセスしてこれらの光データを処理し、より信頼度高く、これらの構造それぞれのタイプを判定する。
【００４５】
しかし、システムは、その後の撮像ルーチンにおいて、その後、ロボットシステムが順次移動できるようにするために、その他の方法を実施して、店舗内のウェイポイントの位置と方位を定義することができる。
１０．  画像収集
【００４６】
本方法のブロックＳ１６０は、ロボットシステムを送って（例えば、占拠している間は）、棚構造の集合のうちの第１の棚構造に近接した第１のウェイポイントで、第１の撮像ルーチン中に光学データを記録することを規定している。また、本方法のブロックＳ１７０は、第１のウェイポイントを占拠している間にロボットシステムによって記録された光学データを含む第１の画像へのアクセスすることを規定している。一般的に、ブロックＳ１６０では、システムは、ブロックＳ１５０で生成されるウェイポイントの集合をその後の実行のためにロボットシステムに供給するが、ブロックＳ１７０では、システムは、これらのウェイポイントでロボットシステムがキャプチャした光学データ（例えば、未加工のデジタル写真カラー画像）を収集する。例えば、システムは、ロボットシステムにウェイポイントの集合を送信してから、ローカル無線ネットワークを介して（例えば、店舗に設置されたワイヤレスルータを介して）、ロボットシステムがキャプチャした画像をインターネット経由でダウンロードすることができる。
【００４７】
また、ウェイポイントの集合とともに、システムは、例えばフロアマップ（またはフロアマップに基づくローカライゼーションマップ）の形式で、また、店舗の座標系でラベル付けして、店舗のマスタマップをロボットシステムにアップロードすることもできる。撮像ルーチンの実行中、ロボットシステムは、その一体化したマピングセンサ（例えば、ＬＩＤＡＲセンサ）でそのローカル環境を走査し、マッピングセンサからの走査をロボットシステム環境の新しいマップにコンパイルし、新しいマップをその店舗の座標系を定義するマスタマップと比較することによって店舗の座標系の中の位置を判定することにより、ウェイポイントの集合の中を順次移動することができる。したがって、ロボットシステムは、マッピングセンサの出力が閾値距離と角度の範囲内においてウェイポイントで定義された（ｘ，ｙ，δ）位置および方位に対応するマスタマップの領域と整合する店舗内の位置と方位に移動することによって次のウェイポイントに移動することができる。ロボットシステムは、次のウェイポイントに移動する前に、画像の集合をウェイポイントでキャプチャし、タイムスタンプ、ウェイポイントＩＤ、店舗内の実際の（ｘ，ｙ，δ）位置および方位、そして画像をキャプチャしたカメラのＩＤ、その画像をキャプチャしたカメラのＩＤなどで、各画像をタグ付けすることができる。ロボットシステムは、ブロックＳ１７０で、撮像ルーチンの実行中または終了時に、画像をシステムにアップロードして、処理することができる。
【００４８】
しかし、リモートコンピュータシステムおよびロボットシステムは、その他の方法で協働することができ、その他の方法および技術を実施して、店舗内の棚構造および他の記憶要素を、別々の自律マッピングおよび撮像ルーチン内で、非同期的にマップして、次いで撮像することができる。
１１．画像調整
【００４９】
撮像ルーチン中または後に、ブロックＳ１７０においてロボットシステムから画像を受信すると、システム（例えば、リモートコンピュータシステム）は、ブロックＳ１８０における後続の処理のためにこれらの未加工画像を同化することができる。一実施例では、システムは、未加工画像をデワープし、画像を記録したカメラに接続した広角レンズによる魚眼レンズ効果を除去してから、この修正画像を方法Ｓ１００の後続のブロックで処理する。別の実施例では、システムは、未加工画像がキャプチャされた時点でのロボットシステムの実際の位置と方位（例えば、画像メタデータに格納されている）を最も近いウェイポイントで定義した目標の位置と目標の方位と比較し、未加工画像を変換（例えば、スキュー、デワープ）して、ウェイポイントで定義された目標の位置および方位に位置決めされたロボットシステムのカメラの視野を表し、その後、この修正した画像を方法Ｓ１００の次のブロックで処理することができる。
しかし、システムは、ロボットシステムによってキャプチャされた画像を、その他の方法で変更、デワープ、または操作することもできる。
【００５０】
別の実施方法では、システムは、ロボットシステムによって記録された複数の未加工の画像を、複数の隣接するウェイポイントに沿って、１つの完全な棚構造のより大きい（例えば、パノラマ的な）画像に繋ぎ合わせる。一実施例では、システムは、ロボットシステムに一体化した１組の個別のカラーカメラでロボットシステムが第１のウェイポイントの集合を通って移動しながら記録した第１のデジタル写真画像の集合を受け取り、第１のデジタル写真画像の集合を、ロボットシステム内の一組の個別のカラーカメラの既知の位置と、店舗内のロボットシステムの実際の位置と方位に基づいて、第１のウェイポイントの集合のそれぞれのウェイポイントを占拠しながら第１の棚構造のより大きい複合画像に組み合わせる。この実施例では、システムは、第１のウェイポイントの集合の中央のウェイポイントのアドレスと、第１のウェイポイントの集合のグループアドレスと、第１のウェイポイントの集合と一致する撮像ラインベクトルと、第１のウェイポイントの集合を含む通路などと、第１のデジタル写真画像の集合が第１の棚構造の複合画像のメタデータに記録された時間を書き込むこともできる。これにより、システムは、本方法のその後のブロックにおいて、第１の複合画像を処理することによって、第１の棚構造上の製品のタイプおよび位置を識別することができ、また、第１の複合画像を、このアドレスおよび／または第１の複合画像と共に格納された他のメタデータに基づいて、棚割表における第１の棚構造の仮想表現にリンクすることができる。
【００５１】
あるいは、上記の実施方法では、システムは、ロボットシステムのマストに沿って垂直にオフセットされたカメラによって記録され、１つの、または特定の棚構造または通路などに沿って隣接する一連のウェイポイントに沿って記録された画像を特定の棚区画の単一のパノラマ画像に繋ぎ合わせることができる。
１２．画像収集の変形例
【００５２】
この方法の一変形例はロボットシステムにおいて、店舗内を自律的に移動しながら店舗内の床空間のマップを生成することを規定しているブロックＳ１１２と、ロボットシステムにおいて、店舗を隅々まで自律的に移動しながら店舗内で棚の一連の画像をキャプチャすることを規定するブロックＳ１１４を含む。一般的に、ロボットシステムは、ブロックＳ１１２およびＳ１１４を局所的に実行して、店舗のマップを自動的に生成し、単一の自律マップ走査ルーチン中に店舗内の棚構造の画像をキャプチャすることができる。特に、この変形例では、システムは、店舗内で、実質的に同時にマッピングルーチンおよび撮像ルーチンを自律的に実行することができる。
【００５３】
一実施方法では、ロボットシステムは、マッピングルーチン全体を通して、店舗内の棚構造の画像を間欠的にキャプチャする。例えば、ロボットシステムは、店舗内のフロアマップを構築および更新するための同時ローカリゼーションおよびマッピング技術を実施することができ、同時に、テンプレートマッチング、パターンマッチング、パターン認識、および／または上述した他の技術を実施して、フロアマップ内の通路および棚構造を実質的にリアルタイムで局所的に識別することができる。この実施例では、店舗のフロアマップ中の棚構造を識別すると、ロボットシステムは、上述の技術を自動的に実施して、棚構造に沿って、実質的にリアルタイムでウェイポイントを局所的に定義し、マッピングルーチンを一時停止し、棚構造に沿って各ウェイポイントに連続的に移動して、棚構造に沿った各ウェイポイントにおいて画像の集合をキャプチャしてからマッピングルーチンを再開することができる。この実施方法では、ロボットシステムは、マッピングルーチン全体を通してこのプロセスを繰り返し、店舗のマップを生成し、ほぼリアルタイムで店舗内の棚構造（および他の記憶要素）を識別し、連続的な自律マッピングおよび撮像ルーチン中にこれらの棚構造（および他の記憶要素）の画像を収集することができる。これにより、ロボットシステムは、ブロックＳ１８０およびＳ１９０で、マップおよび光学データ（例えば、ベクトル化された２Ｄフロアマップおよび未加工の画像をシステムへ）を、上述のように、アップロードして、店舗の棚割表をリモート処理することができる。
【００５４】
別の実施方法では、ロボットシステムは、その現在のマッピングルーチンを定期的かつ系統的に休止して、その統合されたカメラを通じて画像の集合をキャプチャする。例えば、マッピングルーチン中に店舗全体を通して移動する間、ロボットシステムは、約１ｍの直線距離を横切った後に移動を中止し、そのマストの一側のカメラそれぞれに画像を記録し、１８０°回転（例えば、左に半回転）し、その左手カメラの各々に画像を記録し、−１８０°回転（例えば、右に半回転）し、マッピングルーチンを再開することができる。後続の１ｍを移動した後、ロボットシステムは、上記のプロセスを繰り返して、この位置で画像の集合をキャプチャしてから、マッピングルーチンを再開する。この実施例では、マッピングルーチン中に記録された各画像に対して、ロボットシステムは、画像がキャプチャされた時点で、店舗内のロボットシステムの（例えば、ロボットシステムの現在構築中のフロアマップに定義された座標系に対する）位置と方位と、画像をキャプチャしたカメラのアドレスと、画像が記録されたタイムスタンプなどを画像メタデータに格納することができる。マッピングルーチンが完了すると、ロボットシステムは、ブロックＳ１２０およびＳ１７０において、フロアマップ、画像、および画像メタデータをシステムにオフロードすることができる。これにより、システムは、上述の方法および技術を実施して、棚構造およびフロアマップ内の他の記憶要素を検出し、これらの棚構造、および他の記憶要素の位置、方位、および寸法を、これらの画像が記録された時にロボットシステムの既知の位置と方位に投影して同じ棚構造を表す画像のグループを識別し、それぞれの画像の個別のグループの画像を対応する棚構造のパノラマ複合画像に繋ぎ合わせることができる。
【００５５】
しかし、ロボットシステムは、その他の方法または技術を実施して、単一のマッピングルーチン中に店舗内の特徴をリアルタイムで識別しながら、店舗を自律的にマップおよび画像化することができ、あるいは、ロボットシステムは、他のマッピングおよび撮像ルーチンを実施して、マッピングルーチン中に画像を系統的に収集することができる。
１３．画像のセグメント化
【００５６】
図１および図５に示すように、方法の一変形例には、第１の画像における第１の垂直方向の位置にある第１の棚を検出することを規定するブロックＳ１７２と、第１の画像の第１の棚にわたって第１のオブジェクトを第１の横方向の位置で検出することを規定するブロックＳ１７４とが含まれる。一般的に、ブロックＳ１７２およびＳ１７４において、システムは、ブロックＳ１７０のロボットシステムから受け取った画像から、棚構造、棚構造内の棚区画、棚区画内の棚、棚に配置されたオブジェクト、棚に配置された棚札、および／またはその他の特徴を識別する。これらの特徴から、システムは、ブロックＳ１８０において、オブジェクトの製品タイプと、棚構造における垂直及び水平位置との両方を識別することができ、これにより、システムは、ブロックＳ１９０において棚構造の棚割表に変換することができる。
１３．１  棚構造のセグメント化
【００５７】
一実施方法では、システムは、ブロックＳ１７２において、画像（例えば、複数の棚区画を含む棚構造のパノラマ画像）内で表される棚構造を識別するためのコンピュータ視覚技術を実施する。一実施例では、システムは、棚構造を含む関心領域の画像を走査し、例えば、画像を、画像中で示される最下部の線形縁部と最上位の（線形または非線形）縁部の間を垂直方向にトリミングして棚構造の前の床面、天井および棚構造の上方の開放量を表す画像の領域を取り除き、画像に示された下側及び上側縁部の隣接する端部が交わる最も左側の線形縁部と最も右側の線形縁部の間を水平方向にトリミングして画像の中の棚構造の左右の領域を取り除くことによって、この関心領域の周囲の画像をトリミングする。別の実施例では、システムは、テンプレートマッチング、オブジェクト認識、またはその他の技術を実施して、画像内の棚構造を識別し、棚構造の周囲で画像をトリミングすることができる。
【００５８】
システム（例えば、リモートコンピュータシステムまたはロボットシステム）が、店舗の床空間のベクトル化されたプランマップの形で店舗の２Ｄフロアマップを生成する実施方法では、システムはまた、これらの視覚データがロボットシステムによって記録されたときに、ロボットシステムの既知の位置と方位に基づいて２Ｄフロアマップに画像を整合させること、画像内に表された棚構造を、２Ｄフロアマップで検出または確認された棚構造と関連付けること、２Ｄフロアマップから棚構造の横境界を画像に投影して画像内の棚構造の外側垂直方向縁部の位置を予測すること、エッジ検出または他のコンピュータ視覚技術を実施して、棚構造のこれらの投影された横方向の境界の周囲で画像を走査して、画像に示される棚構造の外側垂直方向の縁部を表す縁部を検出すること、そして、棚構造の、画像内に示される棚構造の最も左及び最も右の縁部の間を横方向にトリミングすることが可能になる。
【００５９】
同様に、システムが、店舗の室内容積の３Ｄポイントクラウドまたはベクトル化された３Ｄマップの形態などのような、店舗の３Ｄフロアマップを生成する、上記のような実施方法では、システムは、これらの視覚データがロボットシステムによって記録されたときに、ロボットシステムの既知の位置と方位に基づいて３Ｄフロアマップに画像を位置合わせし、画像内に表示された棚構造を、３Ｄフロアマップで検出または確認された棚構造と関連付け、３Ｄフロアマップから棚構造の縦および横境界を画像に投影して画像内の棚構造の周縁部の位置を予測し、エッジ検出または他のコンピュータ視覚技術を実施して、画像の、これらの投影された棚構造の周縁を走査して、画像に示された棚構造の周縁を表す、上側、下側、左端、および右端の縁部を検出し、画像に示されている棚構造のこれらの上側、下側、最も左と右の縁部の間で、棚構造を横方向にトリミングすることができる。
【００６０】
したがって、システムは、棚構造の外側の境界（例えば、縁部や周縁）を表す画像の特徴部の周りに、ロボットシステムによって収集された光学データから生成された画像（例えば、修正された画像またはパノラマ画像）を、棚構造に沿って移動しながらトリミングすることができる。しかしながら、システムは、その他の方法又は技術を実施して、ブロックＳ１７２において、画像（例えば、修正された画像または複合画像）内の棚構造を識別することができる。システムは、それぞれ、店舗内の棚構造の修正された画像またはパノラマ画像、またはその他の記憶要素に対して、このプロセスを繰り返すことができる。
１３．２  棚区画のセグメント化
【００６１】
画像内の棚構造を検出すると、システムはさらに、ブロックＳ１７２内の画像内で表される棚構造内で棚区画を識別することができる。一実施例では、画像中の棚構造を表す特徴を検出し、この関心領域周辺の画像をトリミングした後、そのシステムは、略垂直で略線形の関心領域の底部の近傍から頂部の近傍まで延在するカーブを抽出することによって、画像内の関心領域の、（ほぼ）連続した垂直方向のラインを走査し、これらの垂直方向の線形カーブを、画像の関心領域に表された棚構造の棚区画の垂直方向の縁部と関連付ける。すると、システムは、画像の関心領域において、棚構造の棚区画の既知のまたは共通の幅を近似させる実際の距離だけオフセットさせた２つの隣接する垂直方向の棚区画の縁部の間の領域を描写し、単一の棚区画に表されるこの領域をラベル付けする。
【００６２】
システムは、画像内で検出された隣接する垂直方向の棚区画の縁部の対に対して互いにこのプロセスを繰り返して、この画像を棚構造内の個別の棚区画を表す複数の個別領域に画像をセグメント化することができる。しかしながら、システムは、その他の方法又は技術を実施して、ブロックＳ１７２において、画像（例えば、棚構造の周囲でトリミングされた修正された画像または複合画像）内の１つ以上の棚区画を識別することもできる。
１３．３  棚のセグメント化
【００６３】
システムが、画像内の棚構造および／または棚区画を検出すると、システムは、画像内で識別された棚構造内の棚区画内の個別棚上の領域または容量に対応する領域に画像をさらにセグメント化することができる。
【００６４】
一実施例では、システムは、上述の方法および技術を実施して、第１の棚構造の複合画像を、画像内で識別される第１の棚区画の周囲でトリミングする。この実施例では、システムは、トリミングされた画像内の特徴を検出し、この特徴の集合から、トリミングされた画像の横方向に（実質的に全幅の）横切って延在する第１の線形特徴を抽出し、この特徴の集合から、トリミングされた画像の横方向に横切って（実質的に前幅の）延在し、店舗全体を通して棚構造の共通の棚の厚みと既知の棚の厚みとほぼ同じ距離だけ第１の線形特徴より下方向にオフセットした第２の線形特徴を抽出し、第１の線形特徴と第２の線形特徴とを、第１の棚区画の第１の棚、すなわち、第１の棚の上側先端縁と下側先端縁と相関させる。この実施例では、システムは、同様に、この特徴の集合から、トリミングされた画像の横方向に横切って延在し、第１の線形特徴の上方にオフセットした第３の線形特徴を抽出し、この特徴の集合から、トリミングされた画像の横方向に横切って延在し、第３の線形特徴の下方に共通のまたは既知の棚の厚みとほぼ同じ距離だけオフセットした第４の線形特徴を抽出し、第３の線形特徴と第４の線形特徴を、第１の棚区画における第１の棚の上方の第２の棚で相関させることができる。
【００６５】
上記の実施例では、これにより、システムは、第１の線形特徴の近傍から上方の第４の線形特徴の近傍まで延在し、第１の棚区画の幅までトリミングされた画像の前幅にわたって延在する、トリミングされた画像の第１の領域を定義することができる。したがって、システムは、第１の棚構造の第１の棚区画の第１の棚の上方のアクセス可能な棚容量に相当する、第１の棚区画の周りでトリミングされた、または区切られた画像内に第１の領域を描写することができる。システムは、第１の棚区画で識別された他の棚のそれぞれに対し、また、画像内で識別された第１の棚構造の他の棚区画それぞれにおいて、このプロセスを繰り返し、画像内の領域の集合を描写することができる。ここで、各領域とは、第１の棚構造の１つの棚の上方の領域または容積を表すものとする。
【００６６】
したがって、システムは、棚構造に沿って移動しながら、ロボットシステムが収集した光学データから生成された単一棚構造の１つの修正された画像またはパノラマ画像内に複数の棚区画の複数の棚を描写することができる。しかしながら、システムは、その他の方法又は技術を実施して、ブロックＳ１７２において、画像内の棚を識別することができる。システムは、それぞれ、店舗内の棚構造の修正された画像またはパノラマ画像、またはその他の記憶要素に対して、このプロセスを繰り返すことができる。
１３．４  製品のセグメント化
【００６７】
この変形例では、システムは、ブロックＳ１７４で棚構造、棚区画、または棚に配置された個別のオブジェクトによって、棚構造の周囲、棚区画の周囲、または単一棚の上で、トリミングされた、または区切られた画像をセグメント化することができる。
【００６８】
一実施例では、システムは、オブジェクト検出などのコンピュータ視覚技術を実施して、第１の棚上の領域または容積の周囲を切り取られた画像の第１の領域内の特徴を検出し、これらの各オブジェクトの境界を描写する縁部特徴を識別することにより、画像の第１の領域の第１の棚を横切って配置された個別のオブジェクトの集合を検出する。これにより、システムは、画像の第１の領域内の第１のサブ領域を抽出または描写し、または、画像の第１の棚の第１の位置に示された、個別のオブジェクトの集合のうち、第１の個別のオブジェクトに対応する第１のサブ領域の周りの画像の第１の領域をトリミングし、このプロセスを、画像の第１の領域で検出された他の個別のオブジェクトに対して繰り返して、それぞれが第１の棚の固有の位置に配置された１つの個別のオブジェクトを表す個別の画像のサブ領域の集合を生成することができる。
【００６９】
或いは、システムは、上記の方法及び技術を実施して、個別のオブジェクトを表す画像中のサブ領域を描写及びラベル付けすることができる。画像のサブ領域が、画像内で表されるオブジェクトの周りにトリミングされる、あるいは区切られると、システムは、以下に記載される方法および技術を実施して、このサブ領域から特徴を抽出し、次に、特定の製品を表すこれら特徴とテンプレート画像内の特徴との間の相関に応答して特定製品の単位としてこのオブジェクトを識別することができる。しかしながら、システムは、その他の方法又は技術を実施して、画像内に表される単一の棚の周囲で棚構造又は棚区画の画像をセグメント化することができる。
１３．４  スロットのセグメント化
【００７０】
この変形例では、システムはまた、スロットによって棚構造、棚区画、または棚の周囲でトリミングされた、あるいは、区切られた画像をセグメント化することができる。一実施例では、システムは、上述のような方法と技術を実施して、第１の棚区画の周りをトリミングされた画像内の第１の棚の上側先端縁と下側先端縁を検出し、第１の棚の上側先端縁と下側先端縁との間にある画像の部位の特徴を検出し、画像のこの部位に沿った特徴のグループを第１の棚に付けられた棚札として識別し、各識別した棚札のそれぞれの左側縁部を検出する。これにより、第１の棚区画の第１の棚を表す画像の第１の領域では、システムは、１）第１の棚札の左縁部から第２の棚札の左縁部に横方向に第１の棚札の右縁部（または画像の右縁部）まで延在し、２）単一のスロット内の第１の棚の上側先端縁部から第２の棚の下側先端縁部まで垂直方向に延在する画像のサブ領域を関連付けることができる。システムは、画像内の他のサブ領域に対してこのプロセスを繰り返して、画像に描写された棚構造内の複数の個別スロットを識別し、描写することができる。
【００７１】
この実施例では、システムはまた、バーコードを読み、ＳＫＵまたは他の製品識別子を抽出し、および／または画像内で検出した第１の棚札から価格を読み取ることができる。
【００７２】
デフォルトでは、システムは、店舗全体を通して棚構造の画像内の棚で識別されたオブジェクトの位置と製品タイプを、「グラウンドトゥルース」または店舗の「ターゲット状態」として処理することができる。例えば、棚札の位置に基づいて画像内で描写された、そして、識別されたオブジェクトの全て又は一部を含むスロットでは、システムは、このスロットの画像からこのスロットの目標状態として決定されるこのオブジェクトの位置とタイプを処理することができ、棚札が上のオブジェクトと合わない場合、または後述するように、棚札が画像から決定されたオブジェクトの製品タイプ以外の製品を指定している場合には、その棚札を修正するフラグを付ける。しかし、システムが棚に隣接する棚札に従って定義されたスロットにオブジェクトが存在しないと判断した場合、システムはこのスロットを空としてラベル付けし、この棚札によって指定された位置および製品をこの空のスロットのためのグラウンドトゥルースとして扱うことができる。また、システムは、棚にある棚札に指定された１つ以上の製品タイプによってテンプレート画像データベースをフィルタ処理し、次に、後述するように、画像内で検出されたオブジェクトを、限られた数の製品のテンプレート画像と比較して、店舗全体を通して棚に在庫保有したオブジェクトの位置、量およびタイプに対する変更も受け入れながら、オブジェクトの識別の効率を改善することができる。
１４．棚割表の初期化
【００７３】
本方法のブロックＳ１９０は、店舗の棚割表を初期化することを含み、ここで、棚割表は、ロボットシステムによって記録されたマップデータに基づいて、店舗内の棚構造の集合の位置を規定している。一般的に、ブロックＳ１９０において、システムは、図５に示されるように、撮像ルーチン中にロボットシステムによって収集された光学データから生成した画像で識別された棚構造、棚区画、棚等の仮想表現を生成し、これにより、システムは、ブロックＳ１８０においてこれらの画像中特定された製品および製品の位置に従って、製品識別子および製品の量（すなわち、製品の陳列の量）を用いて棚割表を描く。
【００７４】
例えば、システムが修正された画像またはパノラマ画像内の棚構造、棚区画、及び棚を描写する上記の実施方法において、システムは、立面マップ、チャート、グラフ又は他の視覚コンテナのような形態の棚構造内の棚区画および棚の表現を含む、棚構造の仮想視覚表現を生成することができる。したがって、第１の画像で識別された第１の棚構造の場合、図５に示すように、システムは、棚割表の第１の棚構造の第１の側面の第１の立面マップを初期化し、第１の立面マップは、第１の棚構造の長さ及び高さ、第１の棚構造内の棚区画の幅、およびこれらの棚区画内の棚の垂直方向の位置を表す。このシステムは、店舗において第１の棚構造の第１の立面マップを、フロアマップの第１の棚構造の位置に基づいて、第１の棚構造の位置に関連付ける。
１４．１  アドレス
【００７５】
図５に示すように、棚割表が、店舗全体を通して棚構造の１つ以上の（空の）立面マップによって初期化されると、システムも、固有のアドレスを棚割表に表された各棚構造、棚区画、棚等にインポートまたは割り当てる。
【００７６】
例えば、システムは、光学文字認識を実施して、上右隅の近くの通路番号（例えば、「１２」）を検出し、および／または画像の左上角（例えば、画像に表された棚構造の周囲でトリミングされた修正された画像またはパノラマ画像）を検出し、これらの光学データが記録されたときに、ロボットシステムの位置およびフロアマップに基づいて、通路のどちら側（例えば、棚構造「１２Ａ」または「１２Ｂ」）が、この画像内に示されているかを判断し、この通路番号と側（すなわち、「棚構造アドレス」）をこの画像で識別された棚構造に書き込むことができる。他の実施例では、システムは、人間のオペレータに対して、フロアマップ内で識別された各棚構造（およびその他の記憶要素）に棚構造のアドレスを手動でラベル付けするように指示し、上述の米国仮特許出願第６２／３３９，０４５号に記載のように、店舗の建築計画から棚構造のアドレスを抽出しフロアマップにこれらを投影し、あるいは、フロアマップ内で検出された棚構造（およびその他の記憶要素）に棚構造のアドレスを自動的に割り当てるために、事前に定義された棚構造アドレス指定スキームを実施する。これにより、システムは、これら光学データが記録されたときに、ロボットシステムの位置に基づいて、ロボットシステムが収集した光学データから生成された棚構造の画像に、フロアマップから棚構造のアドレスを書き込むことができる。
【００７７】
画像で表される棚構造のアドレスがこのように決定されると、システムは、画像内で検出された棚構造に沿って左から右へ増加する（例えば、増分する）ように棚区画アドレスを割り当てることによって、棚構造で検出された各棚区画にアドレスを割り当てることができる。例えば、アドレス「１２Ａ」に割り当てられた棚構造に対し、システムは、棚構造１２Ａ内の第１の最左端の棚区画にアドレス「１２Ａ−０１」を書き込み、棚構造１２Ａの棚区画１２Ａ−０１の右側にある第２の棚区画にアドレス「１２Ａ−０２」を書き込み、棚構造１２Ａの棚区画１２Ａ−０２の右側にある第３の棚区画にアドレス「１２Ａ−０３」を書き込む。
【００７８】
さらに、画像で表される棚構造における棚区画のアドレスが割り当てられると、システムは、棚区画内の下から上に増加する棚アドレスを割り当てることによって、この棚区画内で検出された各棚にアドレスを割り当てることができる。例えば、アドレス「１２Ａー０２」に割り当てられた棚区画に対し、システムは、棚区画１２Ａ−０２内の第１の最低棚にアドレス「１２Ａ−０２−０１」を書き込み、棚区画１２Ａ−０２内の棚１２Ａ−０２−０１より上の第２の棚にアドレス「１２Ａ−０２−０２」を書き込み、棚区画１２Ａ−０２の棚１２Ａ−０２−０２の上の第３の棚にアドレス「１２Ａ−０２−０３」等を書き込むことができる。
【００７９】
システムが、オブジェクトおよび／またはスロットによって画像をさらにセグメント化する上述の変形例では、システムは、同様の方法および技術を実施して、棚に沿って左から右に増分するスロットアドレスを割り当てるなどにより、各オブジェクト（すなわち、その棚の前のオブジェクトの陳列面）に、類似したオブジェクトのグループそれぞれに、あるいは、画像内の棚に沿って検出した各スロットにスロットアドレスを割り当てることができる。
【００８０】
しかし、システムは、その他の方法または技術を実施して、ロボットシステムによって収集された光学データから生成された画像中の各棚構造、棚区画、棚、オブジェクト、オブジェクトグループ、および／またはスロットにアドレスを割り当てることもできる。
【００８１】
これにより、システムは、これらの画像から棚構造、棚区画、棚、および／またはスロットアドレスを対応する棚構造の立面マップ内の対応する棚区画、棚、および／またはスロット位置にインポートできる。（または、システムは、これらの棚構造、棚区画、棚、および／またはスロットアドレスを、棚割表における棚構造の立面マップに直接書き込むことができる）。
１５．製品の識別
【００８２】
本方法のブロックＳ１８０は、第１のオブジェクトを表す画像の第１の領域から抽出された特徴に基づいて、第１の棚上で検出されたオブジェクトの集合の中から第１のオブジェクトを、第１の製品単位として識別することを規定している。（この方法のブロックＳ１８０は、同様に、画像の集合内の製品の識別と位置を規定することができる）。一般に、システムは、ブロックＳ１８０を実行して、コンピュータ視覚技術を実施して、テンプレート画像を棚構造の画像内の領域に一致させるおよび／または棚構造の画像から直接製品識別データを読み取ることによって、棚構造上に製品の単位が存在することを検出することができる。以下では、システムは、上述のように、ロボットシステムによってキャプチャされた画像から構成される単一の棚構造の２Ｄパノラマ画像（または「複合画像」）を処理することとして説明する。しかし、システムは、ブロックＳ１８０において、個々の２Ｄ画像、３Ｄ容積測定カラーマップ、および／または画像データを、その他の形式で処理することができる。
【００８３】
一実施方法では、システムは、上述のように、ブロックＳ１７２で画像内の第１の棚を識別し、次に、ブロックＳ１７４で第１の棚上の第１のオブジェクトを検出する。この実施方法では、システムは次に、下記に説明するように、画像の第１の領域から第１の特徴の集合を抽出し、特徴の第１の特徴の集合と第１のテンプレート画像内の特徴との間の相関に呼応して第１のオブジェクトを第１の製品の単位として識別し、第１のテンプレート画像は、第１の製品を表し（例えば、第１のオブジェクトの視覚的または他のデータ表現を含む）、既知の製品の複数（例えば、数百万）のテンプレート画像のデータベースに格納される。
１３．１  テンプレート画像データベース
【００８４】
ある実施方法では、システムはテンプレート画像のデータベースを維持し、テンプレート画像データベース内の各テンプレート画像は、製品（例えばＳＫＵ）の識別子と関連付けられ、製品、または製品のパッケージの全体または一部の写真またはグラフィック（例えば、コンピュータ製図）表現を含む。テンプレート画像データベース内の各テンプレート画像は、製品説明、サプライヤ、供給期間、グラフィックスリリース日、二次グラフィック、バーコード、カラーパレット、パッケージングプロファイル（例えば、包装形状およびサイズ）、および／または他の定量的または定性的製品パッケージ機能または記述子でタグ付けすることもできる。さらに、テンプレート画像データベース内の各テンプレート画像は、製品パッケージの方位でタグ付けしてもよい。例えば、特定のＳＫＵに関連付けられ、６辺のボックスにパッケージされた１つの製品に対し、テンプレート画像データベースは、ボックスの前（すなわち「主」）面を正面から示し、それに従ってタグ付けされた第１のテンプレート画像と、ボックスの後面を正面から示し、それに従ってタグ付けされた第２のテンプレート画像と、ボックスの右面を正面から示し、それに従ってタグ付けされた第３のテンプレート画像と、ボックスの左面を正面から示し、それに従ってタグ付けされた第４のテンプレート画像と、ボックスの上面を正面から示し、それに従ってタグ付けされた第５のテンプレート画像と、ボックスの底面を正面から示し、それに従ってタグ付けされた第６のテンプレート画像とを含む。この例では、テンプレート画像データベースはさらに、ボックスの前面と右面が均等に露出するように角度をつけて示し、それに従ってタグ付けされた第７のテンプレート画像と、ボックスの前面と右面と上面が均等に露出するように角度をつけて示し、それに従ってタグ付けされた第８のテンプレート画像とを含んでいてもよい。テンプレート画像データベースに表される各製品について、テンプレート画像データベースは、製品を表す単位を様々な照明条件で表す複数のテンプレート画像や、損傷した製品パッケージの例（例えば、凹んだ缶や破れた箱など）、および／または季節的な製品パッケージ（すなわち、特定のシーズンや期間中に供給された製品パッケージ）などを含むことができる。
【００８５】
一つの変形例では、光学データより、テンプレート画像データベース内のテンプレート画像は、製品パッケージの視覚的特徴を表す多次元マトリクスまたはベクトルを含んでいてもよい。例えば、システムは、製品の在庫や現場の画像のデータベースを集約して維持し、これらの在庫や現場の画像から特徴を抽出してこれらの特徴を多次元ベクトルに変換するコンピュータ視覚技術を実施し、テンプレート画像データベースに多次元ベクトルの形状テンプレート画像を追加することができる。したがって、この実施例では、システムは、ブロックＳ１８０で多次元ベクトルの集合を取得することができ、ここで、多次元ベクトルの集合内の各多次元ベクトルは、棚、棚区画、または棚構造等に割り当てられた製品のリスト中の製品を表す特徴を定義する。この集合に多次元ベクトルを棚、棚区画、または棚構造の画像に表される製品に一致させる場合、システムは、ブロックＳ１７２における棚区画の棚を表す画像の第１のサブ領域をセグメント化し、ブロックＳ１７４における画像内の第１の個別のオブジェクトを境界付ける画像の第１の領域内の第１のサブ領域を識別し、コンピュータ視覚技術を実施して、形状、色、および／またはテキストの特徴等を含む第１の特徴の集合を、画像の第１の領域の第１のサブ領域から検出し、抽出し、第１の製品を表すテンプレート画像データベースから読み出した多次元ベクトルの集合において、画像の第１のサブ領域から抽出した第１の特徴の集合の中の特徴と、第１の多次元ベクトルによって定義された特徴の間の相関の複合スコアを計算し、複合スコアが閾値スコアを超える場合には、ブロックＳ１８０で、画像の第１のサブ領域で表す第１のオブジェクトを第１の製品の単位として識別することができる。
【００８６】
しかし、テンプレート画像データベースは、製品又は製品パッケージのその他のあらゆる見え方を表し、その他の関連するデータを含む（例えば、タグを付ける）テンプレート画像を含んでいてもよい。
１３．３  テンプレートマッチング
【００８７】
システムは、図１に示すように、コンピュータ視覚技術を実施して、下記に示すように、テンプレート画像データベースから、またはデータベースから選択されたテンプレート画像のサブセットからのテンプレート画像を、複合画像に対して走査して、テンプレート画像を複合画像の領域に一致させることができる。例えば、システムは、テンプレートマッチング、エッジ検出、パターンマッチング、パターン認識、光学文字認識、色認識、コンテンツベースの複合画像検索、ポーズ推定、コード読み取り、形状認識、および／またはその他の適切な方法または技術を実施して、製品の単位に対応するオブジェクトを検出し、このオブジェクトをテンプレート画像内に示されているラベル付きテンプレートオブジェクト一致させることができる。この実施方法では、システムは、閾値信頼区間内（特定のテンプレート画像とデータベース内の他のテンプレート複合画像よりもよく一致する）で特定のテンプレート画像と視覚的に一致する複合画像内の領域を識別するコンピュータ視覚技術を実施することができる。これにより、システムは、ＳＫＵまたは他の製品識別子、パッケージ側、パッケージの方位、製品説明、サプライヤ、供給期間、グラフィックスリリース日、および／または特定のテンプレート画像内に格納されたその他データで複合画像のこの領域にタグ付けできる。システムは、このプロセスを、テンプレート画像データベース内の同じおよび／または他のテンプレート画像と一致させて、複合画像内のこれらの他の領域にも同様に一致したテンプレート画像からのデータでタグ付けすることができる。
【００８８】
上記の実施方法では、システムは、適切な一致が見つかるまで、画像内の第１のオブジェクトを表す第１の領域（例えば、第１の領域から抽出された特徴）を、データベース内の各テンプレート画像と比較することができる。あるいは、システムは、以下に記載されるように、第１のオブジェクトと一致すると予測されるテンプレート画像データベースからのテンプレート画像の特定の（サブ）セットを集約し、および／または第１の領域や画像の近傍の領域から抽出された特徴に基づいて、この特定のテンプレート画像の集合またはテンプレート画像データベース全体のテンプレート画像をランク付けすることができる。これにより、このシステムは、以下に記載されるように、これらのテンプレート画像のランクまたは優先順位に従って、一致するまで、テンプレート画像の集合がなくなるまで、あるいは他の起動条件に達するまで、画像の第１の領域と体系的に比較することができる。システムは、画像内で検出された他のオブジェクトそれぞれについて、このプロセスを繰り返すことができる。
【００８９】
さらに、この実施例では、システムは、例えば、画像の領域とテンプレート画像の類似した相対位置で起きる多数の一致した特徴に比例するなど、画像の領域とテンプレート画像の集合におけるテンプレート画像との間の一致のスコア（例えば、「信頼度スコア」、「類似度スコア」）を計算することができる。例えば、システムは、画像内の第１の領域とテンプレート画像の集合のうちの各テンプレート画像との間で類似度スコアを計算し、第１の領域で表される第１のオブジェクトを、集合の中のテンプレート画像に対する他の類似したスコアすべてを超える、および／またはあらかじめ設定した閾値の類似度スコアを超える第１の製品を表す第１の領域と第１のテンプレート画像との類似度スコアに呼応して第１の製品の単位として識別することができる。特に、前述の実施方法では、システムは、画像の第１の領域から抽出された特徴と第１の製品を表す第１のテンプレート画像に表される特徴との間の比較的強い相関に呼応して、ブロックＳ１８０で第１の製品の単位として画像の第１の領域で表される第１の個別のオブジェクトを識別することができる。これにより、システムは、画像の第１の領域に、第１のテンプレート画像によって表される製品のＳＫＵまたはその他の識別子タグ付けすることができる。さらに、第１のテンプレート画像が、第１の製品のパッケージ側、パッケージングの方位、製品の説明、サプライヤ、供給期間、グラフィックリリース日、包装損傷などの追加データでタグ付けされる場合、システムは、例えば、タグまたは画像メタデータの形態で、画像の第１の領域にこれらのデータをコピーすることもできる。
【００９０】
あるいは、システムが画像内にオブジェクトを最もよく表していると予測されるテンプレート画像データベースからのテンプレート画像の集合を集約する下記に示す実施方法では、システムは、図１に示すように、テンプレート画像の集合の第１のテンプレート画像を走査し、画像の第１の領域の幅及び高さを横切って走査し、画像の第１の領域で、最良の位置、最良の方位、および第１のテンプレート画像に対する類似度スコアを計算し、このプロセスを集合の中の他のテンプレート画像それぞれに対して繰り返し、画像内で検出された個別のオブジェクトに対し、これらの個別のオブジェクトに対する類似度について最も高い類似度スコア（例えば、閾値類似度スコアよりも大きい）を示したテンプレート画像から抽出した製品識別子でタグ付けすることができる。したがって、システムは、画像内の個別領域を、ブロックＳ１８０で画像のこれらの領域内で表されたオブジェクトと一致したテンプレート画像からの製品識別子（例えば、閾値類似度スコアを超えて最大類似度スコアを示す）でタグ付けするか、または関連付けることができる。
【００９１】
上記の実施方法において、システムが、画像で検出されたオブジェクトと集合内のテンプレート画像との間で、閾値類似度スコアを超える類似度スコアを計算することができなかった場合、システムは、テンプレート画像データベースから選択されたテンプレート画像の集合を拡張して、画像内で検出された第１のオブジェクトと比較し、最大処理時間が経過するまで、または、システムが第１の画像内の第１のオブジェクトとのテンプレート画像比較の最大数を完了するまで、この拡張されたテンプレート画像の集合を、画像に表された第１のオブジェクトに一致させるよう試みることができる。
【００９２】
上記の実施方法では、システムは、テンプレートマッチング、エッジ検出、パターンマッチング、パターン認識、光学文字認識、色認識、コンテンツベースの画像の読み出し、ポーズ推定、コード読み取り、形状認識、および／または、画像の第１の領域内のオブジェクトを検出するためのその他の適切な方法または技術を実施して、このオブジェクトを、特定の製品に関連するテンプレート画像内で表現されるまたは定義される特徴と一致させることができる。システムは、このプロセスを繰り返して、集合内のテンプレート画像を画像の第１の領域内の他の領域に一致させ、一致したテンプレート画像からのデータで画像内のこれら他の領域にタグを付けることができる。システムは、画像内に表された他の棚に対応する他の領域のそれぞれに対して、また、店舗全体を通して他の棚区画のそれぞれの他の画像に対し、このプロセスをさらに繰り返すことができる。
１４．テンプレート画像データベースのフィルタリング
【００９３】
図５に示される一変形例では、システムは、テンプレート画像データベースから、ブロックＳ１８２で画像から検出したオブジェクトが最もよく表していそうな製品を表すテンプレート画像の集合を集約させ、ブロックＳ１８０で適した一致が発見されるまで、この集合内のテンプレート画像をそれぞれ画像内で検出されたオブジェクトと順次比較することができる。このシステムは、このテンプレート画像の集合内のテンプレート画像またはテンプレート画像データベース全体の中のテンプレート画像を、そのオブジェクトを表す画像の領域の近傍および周辺の画像から抽出された特徴に基づいて、追加的または代替的にランク付け、または優先順位付けすることができる。
１４．１  店舗タイプ別のテンプレート画像データベースのフィルタ処理
【００９４】
一実施方法では、様々な店舗タイプ（例えば、食料品、衣料品、ハードウェア、玩具など）にわたって供給される様々な製品のテンプレート画像を含むテンプレート画像データベースに対して、システムは、店舗のタイプ別にテンプレート画像データベースをフィルタ処理することができる。例えば、生鮮食品、スパイス、調理器具、アルコール飲料、焼き物、缶詰品、箱入り食料品などを在庫保有している食料品店舗の場合、システムは、食料品店舗に一般的に在庫保有されている製品の１０，０００，０００以下のテンプレート画像のデータベースから、留め具、木工具、靴、および一般的に食料品店舗に在庫保有されていない他の製品のテンプレート画像を排除することにより、１，０００，０００以下のテンプレート画像までフィルタ処理することができる。システムは、例えば、オペレータポータルを通じて人間のオペレータの手作業で入力された製品カテゴリおよびブランドのリストに基づいて、ブロックＳ１８２において、店舗が扱う既知の製品カテゴリおよびブランドに基づいて、さらにデータベースをフィルタ処理することができる。この実施例では、システムはさらに、１，０００，０００以下のテンプレート画像をフィルタ処理して、生鮮食品、アルコール飲料、または調理器具などこれらのカテゴリ製品を取り扱わない店舗に対しては、これらのテンプレート画像を排除して、１００，０００画像までにすることができる。
【００９５】
別の実施例では、システムは、ブロックＳ１８２における店舗の位置に従ってテンプレート画像データベースをフィルタ処理することができる。この実施例では、システムは、ロボットシステムから空間的な位置（例えば、ＧＰＳ位置）を読み出して、世界のこの領域で販売されている製品に基づいて、米国の店舗向けに英語やスペイン語のパッケージラベルを含む製品のテンプレート画像を集約したり、ロシアの店舗向けにロシア語のパッケージラベルを含む製品のテンプレート画像を集約したりしてテンプレート画像データベースをフィルタ処理することができる。同様に、システムは、店舗内の棚構造の画像との後続の比較のために選択されたテンプレート画像の集合から、その店舗が存在する地域では（共通して）販売されていない地域的なアイテムを除去することができる。
【００９６】
したがって、システムは、テンプレート画像データベースを、店舗のタイプ、店舗が取り扱う製品カテゴリ、店舗が取り扱うブランドおよび／または店舗の地理的位置などに基づいて店舗内で在庫保有されているであろう製品またはおそらく在庫保有されている製品のテンプレート画像の集合までフィルタ処理することができる。
１４．２  棚構造カテゴリによるテンプレート画像データベースのフィルタ処理
【００９７】
別の実施方法では、システムは、ブロックＳ１８２で、テンプレート画像データベースからの、棚構造が占拠している店舗の地域に関連付けられた、または画像で表された棚構造に直接割り当てられた製品カテゴリの中の製品のテンプレート画像の集合を集約し、ブロックＳ１８０で、このテンプレート画像の集合の中のテンプレート画像をこの画像内で検出されたオブジェクトと比較して、これらのオブジェクトの製品タイプを識別することができる。
【００９８】
例えば、人間のオペレータは、オペレータポータルを通して、単一の棚構造、棚構造のクラスタ、またはフロアマップ内の領域の製品カテゴリをラベル付けすることができる。第１の棚構造を識別し、画像内の第１の棚構造上のオブジェクトを検出すると、システムは、フロアマップによって第１の棚構造に割り当てられた第１の製品カテゴリを読み出し、第１の製品カテゴリの製品を表すテンプレート画像データベースからテンプレート画像のサブセットを選択することができる。同様の実施例では、オペレータは、フロアマップ内で識別された通路を缶詰製品の通路としてラベル付けすることができ、したがって、システムは、缶詰製品のテンプレート画像の集合（例えば、１０，０００のテンプレート画像の集合）を集約し、このテンプレート画像の集合を、通路を向いた両棚構造にリンクさせ、これら２つの棚構造の画像の中の領域を、集合の中のテンプレート画像と一致させて、これら棚構造の棚に在庫保有した缶詰製品を識別することができる。
１４．３  近傍の製品によるテンプレート画像データベースのフィルタ処理
【００９９】
同様に、システムは、一つ以上の隣接する棚構造の画像内の様々な製品の単位を識別するので、システムは、これらの棚構造に基づいて、例えば、製品データベース内のこれらの製品に関連付けられた製品カテゴリメタデータに基づいてこれらの棚構造上に在庫保有される製品カテゴリを予測する。これにより、システムは、ブロックＳ１８２で、テンプレート画像の集合を調整して、あるいはテンプレート画像の改訂した集合を集約して、これら棚構造に対して予測される製品カテゴリに基づいてこれら棚構造の画像の他の領域と比較することができる。
【０１００】
たとえば、システムは、本明細書に記載された方法および技術を実施して、ブロックＳ１８０で第１の製品の単位として第１の棚構造の画像で検出された第１のオブジェクトを識別することができる。これにより、システムは、製品データベース内の第１の製品に関連付けられた製品カテゴリに基づいて、第１の製品の第１の製品カテゴリを識別し、テンプレート画像のデータベースから第２のテンプレート画像の集合を読み出すことができ、第２のテンプレート画像の集合の各テンプレート画像は、第１の製品カテゴリ内の製品を表している。第１の画像に表された棚構造上の第１の製品に隣接する第２のオブジェクトを検出すると、システムは第２のオブジェクトを表す画像の第２の領域から第２の特徴の集合を抽出し、この第２のテンプレート画像の集合のテンプレート画像を第２の特徴の集合と比較し、第２の特徴の集合の特徴と閾値スコアを超える第２のテンプレート画像の集合のうちの第２のテンプレート画像の特徴の間の類似度スコアに呼応して、第２のオブジェクトを第２の製品の単位として識別することができ、ブロックＳ１８０において、第２のテンプレート画像は、第２の製品を表している。
【０１０１】
同様に、システムがテンプレート画像データベース内の第１のテンプレート画像がイメージ内の領域に一致すると、システムは、データベース（例えば、同じまたは類似の製品のテンプレート画像、同じまたは類似のカテゴリの製品のテンプレート画像）から同様のテンプレート画像を選択して画像の他の領域と比較することができる。例えば、第１の製品の第１のテンプレート画像が、画像内の第１の領域に一致すると、システムは、同様の一致があるか、第１のテンプレート画像を、画像内の他の領域とを比較して、例えば、画像に示される棚構造の１つまたは複数の隣接する棚上の第１の製品の単位のクラスタを識別することができる。この実施例では、画像の他の領域内の識別されていないオブジェクトが残っていれば、これにより、システムは、ブロックＳ１８０で、第１の製品の他のテンプレート画像、例えば、他の方位および／または他の製品パッケージバージョン（例えば、より古い、または季節的なパッケージバージョン）の第１の製品のテンプレート画像などを、一致する可能性のある画像の他の領域と比較することができる。
【０１０２】
さらに、画像の他の領域に識別されていないオブジェクトが残っている場合、システムは、第１の製品に類似した、または関連した他の画像、すなわち、店舗が取り扱う他のブランドによる類似の製品のテンプレート画像、異なるパッケージフォーマットの同じ製品のテンプレート画像（例えば、より小さい、またはより大きいサイズの洗剤のボトル）、類似したタイプの製品のテンプレート画像（例えば、他の缶詰製品）、同じ製品カテゴリ内の製品のテンプレート画像、および／または第１の製品と履歴的にグループ化された、同じまたは他の製品カテゴリに含まれる他の製品のテンプレート画像などを表すテンプレート画像の集合を選択することができる。これにより、システムは、ブロックＳ１８０において、同様の製品のこの拡張されたテンプレート画像の集合を、画像内の他の領域と比較することができる。
【０１０３】
したがって、システムは、テンプレート画像の集合を選択的に集約し、この製品のテンプレート画像の集合を拡張または「拡大」して、画像内で既に識別されている製品に基づいて、画像内の識別されていないオブジェクトと比較することができる。
１４．４  ブランド別のテンプレート画像データベースのフィルタ処理
【０１０４】
システムは、また、光学文字認識または他のコンピュータ視覚技術を実施して、画像の第１の領域で検出された第１のオブジェクトからテキストまたは記号（例えば、ブランド名、説明、ロゴ）を読み取り、ブロックＳ１８２で同様のテキストまたは記号でラベル付けされた、含む、または表すテンプレート画像の集合を選択し、上記のように、ブロックＳ１８０で、第１のオブジェクトを識別するために、画像の第１の領域から抽出されたテキスト特徴に基づいて、テンプレート画像データベースから選択されたこのテンプレート画像の集合内のテンプレート画像と画像の第１の領域を比較することができる。
【０１０５】
例えば、システムは、画像の第１の領域から第１の文字列を抽出し、第１の文字列に基づいて第１の画像の第１の領域内に表された第１のオブジェクトに関連付けられた第１のブランドを識別し、テンプレート画像のデータベースから第１のテンプレート画像の集合を検索することができ、ブロックＳ１８０で、第１のテンプレート画像の集合の各テンプレート画像は、第１のブランドに関連付けられた（例えば販売される）製品を表す。これにより、システムは、画像の第１の領域から抽出された第１の特徴の集合を、テンプレート画像の集合のテンプレート画像と比較し、ブロックＳ１８０で、第１の特徴の集合の特徴と、第１のテンプレート画像の集合のうちの、第１の製品を表す第１の特徴の集合の中の特徴との間の類似度スコアが予め設定した閾値スコアを超えると、第１のオブジェクトを第１の製品の単位として識別することができる。
【０１０６】
また、システムは、第１の検出したオブジェクトを表す画像の第１の領域から、例えば、製品寸法や重量（製品パッケージの底部近傍に表示されている）、スローガン、および／または商品説明などのような、他のテキストデータを抽出することができる。これにより、システムは、類似したテキストデータを含む特徴でタグ付けされた、または定義するテンプレート画像の集合を集約し、このテンプレート画像の集合を画像の第１の領域と比較して第１のオブジェクトを識別することができる。
１４．５  カラー値によるテンプレート画像データベースのフィルタ処理
【０１０７】
別の実施方法では、システムは、画像の第１の領域から主な色または相対色値の代表的なスペクトルを抽出して、ブロックＳ１８２で、同様の主な色または相対色値の類似の代表的なスペクトルを示す、または関連付けられたテンプレート画像の集合を集約する。
【０１０８】
例えば、システムは、第１のオブジェクトを表す画像の第１の領域から相対色値の第１のカラースペクトルを抽出し、テンプレート画像のデータベースから第１のテンプレート画像の集合を読み出し、前記第１のテンプレート画像の集合の各テンプレート画像は、ブロックＳ１８２で、相対色値の第１のカラースペクトルに近似した相対色値のカラースペクトルを示し、画像の第１の領域から抽出された第１の特徴の集合をテンプレート画像の集合内のテンプレート画像と比較し、ブロックＳ１８０で、第１の特徴の集合の特徴と、第１のテンプレート画像の集合のうちの、第１の製品を表し、閾値スコアを超える特徴の間の類似度スコアに呼応して、第１のオブジェクトを第１の製品の単位として識別することができる。したがって、システムは、ブロックＳ１８２において、テンプレート画像データベースをフィルタ処理して、画像のこの領域から抽出された主な色または色のクラスタに基づいて画像の領域に示される製品をより表していると思われる小さいテンプレート画像の集合を集約することができる。
１４．６  オブジェクトの形状別のテンプレート画像データベースのフィルタ処理
【０１０９】
システムは、また、ブロックＳ１８２で、画像の領域で表される、例えば、直線ボックスや円筒形の缶やボトルなどオブジェクトの形または形状を抽出し、テンプレート画像の集合を、類似の形または形状の製品に対応するテンプレート画像データベースから選択することができる。たとえば、システムは、ブロックＳ１８２において、エッジ検出および／または他のコンピュータ視覚技術を実施して、画像の第１の領域に示す第１のオブジェクトの周縁を検出し、画像の第１の領域で検出された周縁にしたがって、第１のオブジェクトの形状を特徴付け、第１のオブジェクトの縮尺を特徴づけ（例えば、第１のオブジェクトが格納される棚の厚さに対して相対的な、または画像に示される隣接する棚札の寸法に対して相対的な）、類似の形状および／またはスケールの製品のテンプレート画像の集合を集約することができる。
１４．７  棚札データによるテンプレート画像データベースのフィルタ処理
【０１１０】
別の実施方法では、システムは、コンピュータ視覚技術を実施して、画像内で識別された棚上の棚札（例えば、製品ラベル）を検出し、棚札からバーコード、ＱＲコード、ＳＫＵ、製品説明、および／またはその他の製品識別子を読み取り、ブロックＳ１８２で同じバーコード、ＱＲコード、ＳＫＵ、製品の説明、および／またはその他の製品識別子をタグ付けしたテンプレート画像の集合を選択し、次いでブロックＳ１８０で、テンプレート画像の集合内のテンプレート画像を、棚札に（例えば、すぐ上及び右側の）隣接する画像の第１の領域と比較して、第１の画像の領域で検出したオブジェクトを識別する。よって、システムは、ブロックＳ１８２における棚札によって示される単一の製品によってテンプレート画像データベースにフィルタ処理をして、得られたテンプレート画像の集合をブロック１８０における画像の隣接領域と比較することができる。
【０１１１】
あるいは、システムは、画像内で識別された複数の棚札によって指定された製品のリストを集約し、これらの製品のテンプレート画像の集合をテンプレート画像データベースから集約して画像内で検出された複数のオブジェクトと比較することができる。例えば、システムは、ブロックＳ１７２で、画像で識別された棚構造の第１の垂直方向の位置にある第１の棚を検出し、ブロックＳ１７２で、画像の、第１の位置からオフセットした、第２の垂直方向の位置にある第２の棚を検出し、画像の第１の棚と第２の棚に沿って配置された棚札の集合を検出し、上記のように、製品識別子の集合を、画像に表される棚札の集合から抽出し、ブロックＳ１８０で、テンプレート画像のデータベースから第１のテンプレート画像の集合を検索することができ、第１のテンプレート画像の集合の各テンプレート画像は、製品識別子の集合で指定された製品の視覚的特徴を定義する。これにより、システムは、画像内で検出された各オブジェクトをこの集合内のテンプレート画像と比較して、画像内に表された棚構造上に格納された製品を識別することができる。（この実施例では、システムは、同じまたは類似のブランドによって販売された製品のテンプレート画像と、および／または画像内で識別された棚札によって示された製品と類似の製品と類似または関連する製品を含むテンプレート画像の集合を追加することもできる）。
【０１１２】
しかし、システムは、その他の方法または技術を実施して、テンプレート画像のデータベースからのテンプレート画像の集合を体系的に拡張、および／または縮小させて、その画像、店舗他の棚構造の画像、または店舗のフロアマップなどから抽出された特徴に基づいて、画像のうちの識別されていないオブジェクトと比較することができる。
１５．ランキング
【０１１３】
ブロックＳ１８２で、システムはまた、上述の様々なパラメータに基づいて、画像の領域と比較するために選択されたテンプレート画像の集合をランク付けする（またはテンプレート画像データベース内のランクテンプレート画像全体をランク付けする）こともできる。
【０１１４】
一実施例では、システムは、設定されたテンプレート画像をランク付け、優先順位付け、またはフィルタ処理して、主な色またはこれらテンプレート画像の相対色値の代表的なスペクトルと画像の第１の領域との類似度にしたがって、画像内の第１の領域と比較する。同様に、システムは、光学文字認識、オブジェクト検出、またはその他のコンピュータ視覚技術を実施して、画像の第１の領域からテキストおよび／またはオブジェクト形状を抽出し、次に、設定されたテンプレート画像をランク付け、優先順位付け、またはフィルタ処理して、テンプレート画像にそして、画像の第１の領域に示されたテキスト、および／または表示された製品の形状の間の類似度に従って第１の領域と比較ことができる。
【０１１５】
しかしながら、システムは、または近くにある棚構造の画像から読み取った、または抽出したその他の特徴に基づいて、テンプレート画像の集合（またはテンプレート画像データベース全体）をランク付け、優先順位付け、またはフィルタ処理をして画像の第１の領域と比較することができる。これにより、システムは、上記のように、一致が見つかるまで、第１の領域に対するテンプレート画像の集合がなくなるまで、または他の起動条件に達するまで、ランクまたは優先順位にしたがってテンプレート画像を、画像の第１の領域と順次比較することができる。システムは、画像内で互いの領域について、このプロセスを繰り返すことができる。
【０１１６】
さらに、システムは、その他の方法または技術を実施して、画像に示される棚構造に配置された製品を識別することができる。
１６．複数のフェーシング
【０１１７】
図５に示す１つの変形例では、システムは、イメージ内の棚上にあるオブジェクトのクラスタを検出し、このオブジェクトのクラスタの各オブジェクトを、このオブジェクトのクラスタを表すイメージの領域から抽出された特徴に基づいて、第１の製品の単位として識別し、オブジェクトのクラスタにある第１の製品の単位数を生成し、ブロックＳ１８０において、画像のこの領域からオブジェクトのクラスタ内にあるオブジェクトの配置を抽出する。この実施方法では、これにより、システムは、棚上のオブジェクトのクラスタの位置に対応する第１の製品のカウント、配置、および識別子を、棚割表において、第１のスロットに書き込むことができる。特に、この変形例では、システムは、画像内の棚上で検出した同じ製品の複数の単位を、棚上の単一のスロットにグループ化し、このグループ内の製品の単位数と配置（例えば、水平行、垂直列など）をカウントし、この製品、製品の単位量、およびこれらの製品の配置を棚割表の対応するスロットに割り当てることができる。したがって、システムは、棚構造の１つの棚に縦に積み重ねられているか、またはすぐに隣接して（例えば、接触して）数列に配置されている同じ製品の単位を検出し、これらの単位が、これらの単位の近接度と類似度に基づいて単一のスロットを表していることを判定し、これによって、棚割表の対応するスロットに製品の仕様を書き込むことができる。
【０１１８】
例えば、隣接する３つの水平列にある特定の製品を６単位検出し、それぞれの列に特定の製品の２つの単位が積み重なっている場合、システムは、２ｘ３のレイアウトで特定の製品の６つの陳列面を定義するスロット仕様を生成することができ、このスロット仕様を、棚割表内の対応するスロットに書き込むことができる。しかし、システムは、その他の方法または技術を実施して、画像内で識別された共通製品の隣接する単位をグループ化して、共通製品の複数単位を割り当てられた単一スロットにグループ化する（例えば、複数個の固有スロットではなく、それぞれが製品の単一の陳列面を割り当てられる）ことができる。
１７．手動の棚札付け
【０１１９】
１つの変形例では、システムは、システムがこの領域に示されたオブジェクトをテンプレート画像、例えば、少なくともテンプレート画像のデータベース全体に対する閾値の類似度スコアに一致させられなかった場合、画像の領域に対して選択したテンプレート画像の集合に対し、画像の領域に対して予め設定した最大回数のテンプレート画像の比較が行われる前に、および／または画像の領域に対してあらかじめ設定した最大処理時間が経過する前に、手動で製品を識別できるように画像の領域にフラグを付けることができる。これにより、システムは、領域内のオブジェクトを手動で識別することを要求する指示と、画像の領域へのリンク、または画像の領域のコピーを生成し、その指示を人間のオペレータに、例えば、オペレータポータルを通じて供給し、人間のオペレータが供給する製品識別子にしたがって、例えば、製品のＳＫＵを入力することによって、または一組のドロップダウンメニューによって移動して製品を選択することによって画像の領域のオブジェクトにラベル付けすることができる。
【０１２０】
例えば、システムは、第１の棚構造の画像で識別された第１の棚上の第２の横方向の位置にある第２のオブジェクトを検出し、第２のオブジェクトを表す画像の第２の領域から第２の特徴の集合を抽出し、ブロックＳ１８０でテンプレート画像の不足に呼応して、テンプレート画像のデータベース内で、あるいは、画像の比較のために選択されたテンプレート画像の集合内で第２のオブジクトを未知としてラベル付けして、少なくとも第２の特徴の集合の特徴への閾値類似度を示す特徴を定義することができる。この実施例では、これにより、ブロックＳ１９０でシステムは第２のオブジェクトの第２の垂直方向の位置と第２の横方向の位置を棚割表に投影して第１の棚構造上の第２のスロットを画定し、第２のオブジェクトに手動でラベル付けするための指示を生成し、オペレータポータルへの第２のオブジェクトを表す指示および画像の第２の領域を提供することができる。これにより、オペレータは第２のオブジェクトを直接識別できる。あるいは、オペレータは、画像の第２の領域に製品カテゴリ、ブランド、または第２のオブジェクトを表す他のデータをタグ付けすることができ、これにより、上記のように、システムは、新しいテンプレート画像の集合を集約して、パラメータに基づいて画像の第２の領域と比較して、ブロックＳ１８０を繰り返し、オペレータによって供給されたこれらのデータに基づいて第２のオブジェクトを識別することができる。
１８．製品／棚札の不一致
【０１２１】
一変形例では、システムは、画像で識別された製品と、近傍で検出された棚札との間の不一致を検出し、対応する棚上の対応するスロットに対して、識別された製品または棚札のいずれかを目標状態（例えば、「グラウンドトゥルース」）として選択的に処理する。
【０１２２】
一実施方法では、システムは、ブロックＳ１８０で、テンプレートマッチング技術を実施することによって画像内の第１のオブジェクトを第１の製品として識別して、第１のオブジェクトを第１の製品の第１のテンプレート画像に一致させ、画像内で第１のオブジェクトに隣接する（例えば、すぐ下、および／またはわずかに左側の）第１の棚上の第１の棚札を検出し、上述のように、画像内で表された第１の棚札から第２の製品識別子（例えば、製品の説明、ＳＫＵ）を抽出する。この実施例では、第２の製品識別子が第１の製品以外を示している場合、そのシステムは、例えば、第１のオブジェクトがその棚上で正しく配置されていて、第１の製品の現在のパッケージのバリエーションや現在のパッケージのフォーマットを表す場合に、画像内で識別された第１の製品の単位をグラウンドトゥルースとしてラベル付けし、ブロックＳ１９０で棚割表の対応するスロットに第１の製品の識別子を書き込むことができ、第１の棚札を修正する指示を生成して、第１の製品を表示し、この指示をマネージャポータルに送信する。しかし、この実施例では、第１のオブジェクトが誤って配向されている（例えば、それが占拠している棚に対してまっすぐ置かれていない）場合、または第１の製品の前または古いパッケージのバリエーションを表している場合（例えば、第１の製品の前のシーズンまたは前のデザインのパッケージ）、システムは、ブロックＳ１９０で第１の棚札から抽出された第２の製品識別子をグラウンドトゥルースとしてラベル付けして、第２の製品識別子を棚割表の対応するスロットに書き込むことができる。
【０１２３】
前述の実施例では、画像内で識別された第１の製品の単位が、画像中の隣接した棚札から抽出された第２の製品識別子と一致する場合、システムは、第１の製品の単位と棚札との間の垂直位置合わせをチェックすることができる。例えば、システムは、第１の製品の単位の左縁部と隣接する棚札の左縁部との間の水平距離を計算し、この水平距離が予め設定された差閾値より小さい場合には、画像内の第１の棚札から抽出された第１の製品の識別子およびデータを棚割表内の対応するスロットに書き込むことができる。しかし、この水平距離が予め設定された差しきい値を超え、撮影サイクルより前に店舗の所望の在庫状態を確認した場合、システムは、画像内で識別された第１の製品の単位をグラウンドトゥルースとしてラベル付けし、ブロックＳ１９０で棚割表の対応するスロットに第１の製品の識別子を書き込み、第１の棚札を棚上の第１製品の単位との垂直位置合わせするように移動して指示を生成し、そしてこの指示を、マネージャポータルに供給する。
【０１２４】
別の実施方法では、システムは、画像の第１の領域で検出された第１のオブジェクトとテンプレート画像データから選択されたテンプレート画像との間の類似度について類似度スコア（例えば、信頼度スコア）を計算し、第１のオブジェクトを最大類似度スコアが算出される第１のテンプレート画像と一致させることができる。第１のテンプレート画像の類似度スコアが予め設定した最小スコアを下回った場合、システムは、画像の第１のオブジェクトに隣接する第１の棚札から第２の製品識別子を抽出し、第２の製品識別子をグラウンドトゥルース（すなわち、最初のテンプレート画像ではなく）として扱い、第２の製品識別子を棚割表の対応するスロットに書き込むことができる（および／または人間のオペレータに、上述したように画像の第１のオブジェクトを手動で識別するように指示をだすことができる）。しかし、第１のテンプレート画像の類似度スコアが予め設定された最小スコアを超える場合、システムは、上述したように、第１のテンプレート画像によって表される第１の製品として第１のオブジェクトを識別し、確認することができる。
【０１２５】
システムは、さらに、上述の様々な技術を追加的にまたは代替的に融合して、画像内のオブジェクトを識別することができる。例えば、システムは、まず、画像に示される棚札を検出し、これらの棚札から製品識別子を読み取るために光学文字認識技術を実施することができる。製品識別子が棚札から適切な程度の信頼性で読み取れる場合、システムは、この識別子を棚割表内の対応するスロットに書き込むことができる。しかし、製品識別子が、閾値以下の信頼性を有する棚札から読み取られる場合、システムは、画像の隣接する領域内のオブジェクトを識別するために上述のテンプレートマッチング技術を実施することができる。同様に、複数の可能な製品識別子が棚札から読み取れるか、または不完全な製品識別子が棚札から読み取れる場合、システムは、これらの可能な製品識別子に対応する、またはこの部分的な製品識別子に対応する画像テンプレートデータベースからテンプレート画像の集合を選択し、これらのテンプレート画像を、上述したように、ブロックＳ１８０における画像内の領域と比較することができる。
１９．空のスロット
【０１２６】
別の変形例では、システムは、画像中に空のスロット（すなわち、製品を含まない棚の領域）を識別することができる。例えば、システムは、画像内で、第１の棚上で識別された第１のオブジェクトから横方向にオフセットされた開放領域を検出し、開放領域に隣接する第１の棚上の第２の棚札を画像内で検出し、ブロックＳ１８０で、画像内で表された第２の棚札から第２の製品の識別子を抽出することができる。これにより、この実施例では、システムは、第１の棚の第１の垂直方向の位置と、前記棚割表における第１の棚構造の表示上にある第１の棚上の開放領域の第２の横方向の位置とを投影して、第２のスロットを画定し隣接する棚札から抽出されたデータから判定された第２の製品に対する割り当てを棚割表の第２のスロットに書き込むことができる。
【０１２７】
以上の実施例では、したがって、システムはブロックＳ１７２で画像中の第１の棚を識別し、ブロックＳ１８０で、第１の製品の単位として、画像の第１の領域内の第１のオブジェクトを識別し、第１の領域に隣接する画像の第２の領域を識別し、ブロックＳ１７４で画像の第２の領域から第２の特徴の集合を抽出し、ブロックＳ１８０で、空の棚のテンプレート画像に類似性を示すあるいは、既知の空の棚の特徴に対する近接を示す第２の特徴の集合に呼応して、画像の第２の領域によって表された第１の棚の第２の部分からオブジェクト（例えば、任意の製品の単位）の削除を検出することができる。この実施方法では、システムは、棚札が第１の棚の第２の区画の下で検出された場合、第１の棚のこの第２の部分は不適切に在庫保有される（すなわち、意図的に空にされるのではなく）ことも予測することができる。第１の棚の第２の部分が空であるとシステムが判断した場合、システムは、手動で再調査するために、棚割表内の対応するスロットにフラグを付けることができる。さらに、システムが第１の棚の第２の区画の下に棚札を識別する場合、システムは、上述したように、この棚札から製品識別子を抽出し、この製品識別子を、棚割表内の対応するスロットに書き込むことができる（システムは、隣接する棚札に指定された複数の単位を使用して、空のスロットを再充填するための在庫補充指示を生成できる）。しかし、システムは、空のスロットまたは空の棚を検出して、ブロックＳ１８０において、その他の方法で処理することができる。
２０．棚割表の生成
【０１２８】
本方法のブロックＳ１９０は、第１の棚の第１の垂直方向の位置と第１のオブジェクトの第１の横方向の位置を、棚割表の中の第１の棚構造の表示上に投影して第１のスロットを画定し、第１のオブジェクトを第１の製品単位と識別することに呼応して、第１の製品に対する割り当てを第１のスロットに書き込むことと、を規定している。（図１および２に示すように、ブロックＳ１９０は、同様に、画像の集合において、識別された製品と製品の位置に基づいて、棚区画の棚割表を生成することを規定することができる。）概して、ブロックＳ１９０では、システムは、製品識別子（例えば、ＳＫＵ）と、画像内で識別された製品の位置を、店舗の棚割表に含まれる対応する棚構造の立面マップにある製品の仮想表現と製品の位置（例えば、「製品レイアウト」）にコンパイルする。特に、システムが、フロアマップ内で識別された棚構造の立面マップを定義することによって店舗の棚割表を初期化したら、システムはこの立面マップ内のスロットを定義し、これらのスロットに製品識別子（例えば、ＳＫＵ）、製品の数量（例えば、製品陳列面の数）、製品の配置、および／またはこの棚構造の画像の対応する領域から抽出された他の製品仕様データを入力することができる。システムは、棚構造の仮想視覚表現を形成するために、棚構造の画像で識別されるこれらの製品の量および配置にしたがって、これらの製品の（実または戯画）在庫画像を有する棚構造の立面マップを追加的または代替的に入力することができる。このシステムは、店舗内の他の棚構造に対してこの処理を繰り返して、これらの棚構造の棚割表の立面マップを含む、店舗の完全な棚割表を生成することができる。
【０１２９】
一実施方法では、システムは、画像に示される棚構造の頂部、底部および端部を識別するためのコンピュータ視覚技術を実施し、棚構造の頂部、底部および端部のベクトル化された表現を用いて棚構造の２Ｄベクトル化された立面マップを初期化する。システムはまた、コンピュータ視覚技術を実施して例えば、画像内で識別された棚札の位置に基づいて、または画像内の垂直（例えば、棚区画縁部）および水平（例えば、棚縁）縁部を識別することによって、画像中のこれら棚区画および棚を識別し、上述したように、これらの棚区画と棚のベクトル化された表現を、棚構造の立面マップに挿入することもできる。これにより、システムは、画像内で識別される製品識別子（例えば、ＳＫＵ）および製品の単位の位置を棚構造の２Ｄベクトル化された立面マップ内の対応する領域（または「スロット」）に移す。例えば、システムは、ブロックＳ１７０において、第１の棚構造の画像にアクセスし、ブロックＳ１７２で画像内の第１の垂直方向の位置における第１の棚を検出し、ブロックＳ１７４で、第１の棚上の第１の横方向の位置で画像内の第１のオブジェクトを検出し、第１の棚の第１の垂直方向の位置と第１のオブジェクトの第１の横方向の位置とを、棚割表（例えば、第１の棚構造の第１の立面マップ）内の第１の棚構造の表示に投影して、ブロックＳ１９０の第１のスロットを画定し、ブロックＳ１８０で、第１の製品の単位として第１のオブジェクトを識別することに呼応して、ブロックＳ１９０において、棚割表の第１のスロットに（例えば、第１の立面マップの第１のスロットに）第１の製品の割り当てを書き込むことができる。この実施例では、システムは、第１のオブジェクトに隣接するように、画像内の第１の棚にわたって第２の横方向の位置で第２のオブジェクトを検出し、画像中に検出された第２のオブジェクトの第２の垂直方向の位置と第２の横方向の位置を第１の棚構造の棚割表に（例えば、第１の棚構造の第１の立面マップ上に）投影して棚割表の第２のスロットを定義し、ブロックＳ１８０で第２の製品の単位として第２のオブジェクトを識別することに呼応して、ブロックＳ１９０で第２のスロットに第２の製品に対する割り当てを書き込むことができる。したがって、システムは、棚構造の画像から抽出された製品識別子を、ブロックＳ１９０でこの棚構造の棚割表（例えば、立面マップ）の対応する領域に転送することができる。
【０１３０】
さらに、棚割表における第１の棚構造の第１の立面マップの第１のスロットに割り当てられた第１の製品（またはその他の棚割表形式）に対して、システムは、一般的な在庫画像データベースから、あるいは製造者または供給者の在庫画像のデータベースから第１の在庫画像を読み出すことによって第１の製品の第１の在庫画像を読み出し、この第１の在庫画像を第１の立面マップの第１のスロットにコピーすることができる。例えば、システムは、第１のストック画像の下端を、立面マップで表された第１の棚の頂部にスナップし、第１の棚構造の画像内で識別された第１の製品の単位の位置に基づいて、在庫画像の水平位置を設定することができる。システムは、第１の棚構造の画像で識別された他の製品に対してこのプロセスを繰り返し、それによって、第１の棚構造の立面マップにおいてこれらの製品の各々を視覚的に表すことができる。（システムは、棚割表に示された隣接する在庫画像間の間隔をより均一にするために、第１の棚構造の立面マップにコピーされた製品の在庫画像を、その割り当てられた棚を横切って横方向に移動させることもできる。）しかし、画像で識別されていないオブジェクトおよび／またはフラグでラベル付けされたオブジェクトの場合、システムは、図２に示されるように、識別されていないオブジェクトを示す画像の領域を、例えば、オブジェクトに手動識別を求めるフラグ指示をコピーするように、棚割表の対応する領域にコピーすることができる。したがって、システムは、棚構造の画像内で識別された製品の在庫画像と、棚構造内の識別されていないオブジェクトに対応する画像のトリミングされた領域との両方を用いて、棚割表に入力することができる。
【０１３１】
上述したように、システムは、図２に示されるように、棚割表内の棚構造の立面マップに表される棚区画及び棚を、一意のアドレスで自動的にラベルを付けることができる。例えば、システムは、コンピュータ視覚技術を実施して、画像内の棚の垂直方向の割れ目を識別して画像内に示される棚の垂直積層を１つの棚区画として識別することができる。システムは、これらの個別の棚区画を画像から棚割表にマッピングしてから、棚割表内の各棚区画にアドレスを割り当てることができる。例えば、システムは、棚割表における一番左の棚区画に棚区画「１」とアドレス指定し、棚割表において、棚区画「１」のすぐ右側に棚区画「２」とアドレス指定するなど、棚割表の最も右側の棚区画まで続けることができる。各棚区画内で、システムはまた、各棚にアドレスを割り当てる。たとえば、棚区画「１」では、システムは棚区画内の最下棚を棚の「１−１」とアドレス指定し、棚区画内の下から２段目の棚に棚「１−２」とアドレス指定し、棚区画の下から３段目の棚に棚「１−３」とアドレス指定し、棚区画の最上部に「１」とアドレス指定する。同様に、棚区画「２」では、システムは棚区画内の最下棚を棚「２−１」とアドレス指定し、棚区画内の下から２段目の棚に棚「２−２」とアドレス指定し、棚区画の下から３段目の棚に棚「２−３」とアドレス指定し、棚区画の最上部に「２」とアドレス指定する。第１の棚構造の画像に表示される第１の棚にわたって識別されるオブジェクトに基づいて、システムは第１の棚構造の第１の立面マップ内の第１の棚の表現にわたってスロットを定義し、これらのスロットに一意のアドレスを自動的に書き込むこともできる。たとえば、店舗内の第１の棚構造の一番左の棚構造の最下棚に対しては、システムは、第１の立面マップに表される第１の棚上の最も左のスロット位置に対しては第１の製品識別子を含む「０１−０１−０１−０１」のスロットアドレスを書き込み、第１の立面マップに表される第１の棚上の第２のスロット位置に対しては最も左のすぐ右の第２の製品識別子を含む「０１−０１−０１−０２」のスロットアドレスを書き込むなどを第１の棚にわたって行うことができる。したがって、システムは、棚区画、棚、およびスロットの一意のアドレスを有する棚割表に入力することができる。しかし、システムは、その他のアドレス命名法を適用することもできるし、その他の方法や手法を実施して、棚割表の棚区画、棚、およびスロットにアドレスを割り当てることもできる。
【０１３２】
システムはまた、棚構造に配置された製品のベクトル化されたまたは視覚的な表現を、棚構造のテキスト表現、例えば、一意の製品識別子のリスト（例えばＳＫＵ）および棚構造における棚上の位置、各製品のための面数、各製品のためのスロットアドレス、各製品のための製品説明、および／または製品の価格（例えば、上述のように、棚札から読み出す）等を含む表またはスプレッドシートに変換することが可能である。しかしながら、システムは、そのような棚割表データをその他の視覚的および／またはテキスト形式にパッケージ化することができる。
【０１３３】
システムは、店舗内の各棚構造（および／または他の記憶要素）の画像に対する上記のプロセスを繰り返し、それによって、店舗内の各棚構造（および／または他の記憶要素）の所望の在庫状態の仮想的および／または視覚表現を生成して、集約して店舗の棚割表を定義する。
【０１３４】
システムはまた、店舗内の棚構造の立面のマップ（またはその他の仮想的または視覚表現）の相対的位置を定義する棚割表レイアウトを生成することもできる。たとえば、システムは、ロボットシステムによってキャプチャされた光学データのメタデータに格納された座標に基づいて、フロアマップで識別された棚構造に立面マップをリンクさせ、後に棚構造の立面マップが生成された画像に結合することができる。システムは、このプロセスを繰り返して、各立面マップをフロアマップの棚構造（または他の記憶要素）にリンクすることができる。この実施例では、システムは、各立面マップに一意の棚構造アドレスを割り当ててから、フロアマップ内の対応する棚構造特徴に棚構造アドレスを書き込むことによって、立面マップと棚構造間のリンクをフロアマップに格納することができる。しかし、システムは、その他の形式で店舗のための棚割表レイアウトを生成または定義することができる。
【０１３５】
これにより、システムは、オペレータやマネージャのポータルを介して上述したように、店舗内の棚構造の棚割表、棚割表レイアウト、および／または、棚構造の立面マップをオペレータ（例えば、店舗のマネージャまたは関係者）に提供することができる。システムはオペレータポータルを通してオペレータとインターフェースをとって例えば、識別されていなオブジェクトの手動での識別、立面マップのスロットに割り当てられた１つの製品の別の製品、製品陳列面の数、および／または製品の配置への交換、スロット位置の調整、棚構造、棚区画、棚、またはスロットアドレスなどの調整など、棚割表への編集を受信することができる。しかし、システムは、ブロックＳ１９０で生成された棚割表および／または他のデータを、店舗のオペレータ、マネージャ、従業員、またはその他のアフィリエイトに対して、その他の方法またはその他の形式で提供することができる。
２１．棚割表の実施方法
【０１３６】
店舗の棚割表が生成されて格納されると（そして、調整され、修正され、またはオペレータによって確認されると、）、システムは、ロボットシステムを送り、撮像ルーチンを行って、店舗全体を通してその後の通行量が多い期間中またはその後など、店舗全体にわたる棚構造（およびその他の記憶要素）の第２の画像の集合を収集することができる。これにより、システムは、米国特許出願第？ＳＩＭＢーＭ０１ーＵＳ？で記述された方法および技術を実施して、第２の画像の集合の製品を識別し、店舗の棚割表で指定した第２の画像の集合と製品及び位置から抽出した製品およびその位置からの偏差を検出し、図４に示すブロックＳ１９２において、店舗の関係者に提出したこれらの棚構造の手動の在庫補充を誘導するグローバルな在庫補充リストの形態でこれらの偏差を修正するための指示の集合を生成することができる。
【０１３７】
例えば、システムは、上述のように、第１のウェイポイントを占拠しながらロボットシステムの視野内の第１の棚構造の第１のスロットに第１の製品を割り当てることを含む、第１の撮像ルーチン中に、ロボットシステムによって収集された光学データに基づいて店舗の棚割表の棚割表を生成することができる。システムは、その後、ロボットシステムを送り、第２の撮像ルーチンを実行し、第２の撮像ルーチン中に第１のウェイポイントを占拠しながら、ロボットシステムによって記録された光学データを含む第２の画像にアクセスし、棚割表の第１のスロットに対応する第２の画像の第２の領域で第２のオブジェクトを検出し、第２の画像の第２の領域から第２の特徴の集合を抽出し、棚割表によって第１のスロットに割り当てられた第１の製品のテンプレート画像のデータベースにおける、第２の特徴の集合の特徴とテンプレート画像の特徴との相違に呼応して、第１のスロットに第１の製品の単位が不適切に在庫保有されていると判断し、第１のスロットに第１の製品の単位が正しく在庫保有されているか判断することに呼応して、第１のスロットに第１の製品に対する第１の在庫補充指示を生成し、この第１の在庫補充指示を、店舗の関係者に、例えばその関係者に割り当てられたモバイル演算装置を介してリアルタイムで提供することができる。
【０１３８】
しかしながら、システムは、その他の方法で、棚割表を管理または実施して、店舗における目標在庫状態の記録と、この目標とする在庫状態からの偏差の経時的な監視について、店舗のマネージャ、オペレータ又は他の関係者にガイダンスを提供することができる。
【０１３９】
本明細書に記載されたシステムおよび方法は、コンピュータ可読命令を格納するコンピュータ可読媒体を受信するように構成された機械として少なくとも部分的に具体化および／または実施することができる。命令は、ユーザのコンピュータ、モバイルデバイス、リストバンド、スマートフォン又はこれらの任意の適切な組み合わせのアプリケーション、アプレット、ホスト、サーバ、ネットワーク、ウェブサイト、崇信サービス、通信インターフェース、ハードウェア／ファームウェア／ソフトウェアエレメントに統合されたコンピュータ実行可能コンポーネントによって実行することが可能である。実施形態の他のシステムおよび方法は、コンピュータ可読命令を格納するコンピュータ可読媒体を受信するように構成されたマシンとして少なくとも部分的に具体化され、および／または実施することができる。命令は、上述したタイプの機器およびネットワークと統合されたコンピュータ実行可能コンポーネントによって統合されたコンピュータ実行可能コンポーネントによって実行することができる。コンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＥＥＰＲＯＭ、光学デバイス（ＣＤまたはＤＶＤ）、ハードディスクドライブ、フロッピードライブ、または他の適切なデバイスのような、任意の適切なコンピュータ可読媒体に格納することができる。コンピュータ実行可能コンポーネントはプロセッサであってもよいが、任意の適切な専用ハードウェアデバイスが命令を（代替的または追加的に）実行することができる。
【０１４０】
当業者であれば、先行する詳細な説明および図面と請求項から理解することができるが、下記の請求項に記載される本発明の範囲から逸脱することなく本発明の実施形態に修正および変更を加えることができる。
【図１】
2019523924.tif 000003
【図２】
2019523924.tif 000004
【図３】
2019523924.tif 000005
【図４】
2019523924.tif 000006
【図５】
2019523924.tif 000007
【国際調査報告】
2019523924.tif 000008