(57)【要約】【課題】リアログラムからプラノグラムを生成するシステムおよび方法が開示される。【解決手段】本方法は、画像処理モジュールから、画像および該画像における認識された品目の集合についての情報を含むリアログラムを受領し、各棚に対応する認識された品目の前記集合の部分集合の一つまたは複数の線形のグループ化を決定し、前記リアログラムおよび前記一つまたは複数の線形のグループ化に基づいてプラノグラムを生成し、ユーザーのクライアント装置上での呈示のためのユーザー・インターフェースを生成し、前記ユーザー・インターフェースの第一の部分において前記リアログラムを、前記ユーザー・インターフェースの第二の部分において前記プラノグラムを呈示し、ユーザーから、前記ユーザー・インターフェースを介してユーザー入力を受領し、前記ユーザー入力に基づいて前記プラノグラムを更新することを含む。【選択図】図５Ｂ
2018181321.tif 000002
【特許請求の範囲】
【請求項１】
画像処理モジュールからリアログラムを受領する段階であって、前記リアログラムは、画像および該画像における認識された品目の集合についての情報を含む、段階と；
各棚に対応する認識された品目の前記集合の部分集合の一つまたは複数の線形グループ化を決定する段階と；
前記リアログラムと、各棚に対応する認識された品目の前記集合の部分集合の前記一つまたは複数の線形グループ化とに基づいて、プラノグラムを生成する段階と；
ユーザーのクライアント装置上での呈示のためのユーザー・インターフェースを生成する段階と；
前記ユーザー・インターフェースの第一の部分において前記リアログラムを、前記ユーザー・インターフェースの第二の部分において前記プラノグラムを呈示する段階と；
ユーザーから、前記ユーザー・インターフェースを介してユーザー入力を受領する段階と；
前記ユーザー入力に基づいて前記プラノグラムを更新する段階とを含む、
方法。
【請求項２】
前記リアログラムと前記プラノグラムをリンクさせる段階と；
前記リアログラムおよび前記プラノグラムの閲覧に関連したユーザー指示を前記ユーザー・インターフェースを介して受領する段階と；
前記リンクに基づいて前記リアログラムおよび前記プラノグラムが同じ空間位置をミラーするよう、前記ユーザー・インターフェースの前記第一の部分における前記リアログラムの第一のビューを、前記ユーザー・インターフェースの前記第二の部分における前記プラノグラムの第二のビューと同期させる段階とをさらに含む、
請求項１記載の方法。
【請求項３】
各棚に対応する認識された品目の前記集合の部分集合の一つまたは複数の線形グループ化を決定する段階が：
前記リアログラムにおける各棚の一端での第一のアンカー点の選択をユーザーから受領する段階と；
前記リアログラムにおける各棚での前記第一のアンカー点に隣接する第二のアンカー点の選択をユーザーから受領する段階と；
前記第一のアンカー点と前記第二のアンカー点をつなぐ直線を形成する段階であって、前記直線は、前記リアログラムにおける各棚での前記第一のアンカー点と前記第二のアンカー点の間に存在する認識された品目の前記集合の部分集合を通る、段階と；
前記第一のアンカー点と前記第二のアンカー点の間に存在する認識された品目の前記集合の前記部分集合を通る前記直線に基づいて、認識された品目の前記集合の部分集合の一つまたは複数の線形グループ化を決定する段階とを含む、
請求項１記載の方法。
【請求項４】
認識された品目の前記集合の部分集合の前記一つまたは複数の線形グループ化をハイライトする段階をさらに含む、
請求項３記載の方法。
【請求項５】
認識された品目の前記集合の部分集合の前記一つまたは複数の線形グループ化が、前記リアログラムにおける各棚での一つまたは複数の認識された品目を含みそこなっているかどうかを判定する段階と；
認識された品目の前記集合の部分集合の前記一つまたは複数の線形グループ化が、前記リアログラムにおける各棚での一つまたは複数の認識された品目を含みそこなっていると判定することに応答して、前記リアログラムにおける各棚での前記第二のアンカー点に隣接する第三のアンカー点の選択を受領する段階と；
前記第三のアンカー点を前記第一のアンカー点および前記第二のアンカー点とつなぐよう前記直線を伸ばす段階であって、前記直線は、前記リアログラムにおける各棚での前記一つまたは複数の認識された品目を通る、段階とをさらに含む、
請求項３記載の方法。
【請求項６】
一つまたは複数の項目を含む検索クエリーをユーザーから受領する段階と；
前記検索クエリーを製品データベースと照合する段階と；
前記検索クエリーを前記製品データベースと照合することに基づいて一つまたは複数の品目を含むテーブルを決定する段階と；
前記一つまたは複数の品目を含むテーブルを、前記ユーザー・インターフェースの第三の部分に呈示する段階とをさらに含む、
請求項１記載の方法。
【請求項７】
前記ユーザー・インターフェースの前記第三の部分において、前記一つまたは複数の品目の画像を前記テーブルから前記ユーザー・インターフェースの前記第二の部分にある前記プラノグラムにおけるギャップに動かすユーザー選択を受領する段階と；
前記プラノグラムにおける前記ギャップの物理的な寸法が、前記一つまたは複数の品目に対応する物理的な寸法を満足させるかどうかを判定する段階と；
前記プラノグラムにおける前記ギャップの物理的な寸法が、前記一つまたは複数の品目に対応する物理的な寸法を満足させると判定することに応答して、前記テーブルからの前記一つまたは複数の品目の前記画像を、前記ユーザー・インターフェースの前記第二の部分にある前記プラノグラムにおける前記ギャップに配置する段階とをさらに含む、
請求項６記載の方法。
【請求項８】
前記ユーザー入力は、前記プラノグラムにおける品目の一つまたは複数の画像の配列を操作することに関連している、請求項１記載の方法。
【請求項９】
前記プラノグラムにおける品目の一つまたは複数の画像の配列を操作することに関連している前記ユーザー入力が、整列、移動、削除、コピーおよびプロパティの群のうちからの一つである、請求項８記載の方法。
【請求項１０】
前記ユーザー・インターフェースの前記第一の部分における前記リアログラムが読み出し専用である、請求項１記載の方法。
【請求項１１】
一つまたは複数のプロセッサと；
命令を記憶しているメモリとを有するシステムであって、前記命令は、実行されたときに、前記一つまたは複数のプロセッサに：
リアログラムを受領する段階であって、前記リアログラムは、画像および該画像における認識された品目の集合についての情報を含む、段階と；
各棚に対応する認識された品目の前記集合の部分集合の一つまたは複数の線形グループ化を決定する段階と；
前記リアログラムと、各棚に対応する認識された品目の前記集合の部分集合の前記一つまたは複数の線形グループ化とに基づいて、プラノグラムを生成する段階と；
前記ユーザー・インターフェースの第一の部分において前記リアログラムを、前記ユーザー・インターフェースの第二の部分において前記プラノグラムを呈示する段階と；
ユーザーから、前記ユーザー・インターフェースを介してユーザー入力を受領する段階と；
前記ユーザー入力に基づいて前記プラノグラムを更新する段階とを実行させる、
システム。
【請求項１２】
前記命令は、前記一つまたは複数のプロセッサにさらに：
前記リアログラムと前記プラノグラムをリンクさせる段階と；
前記リアログラムおよび前記プラノグラムの閲覧に関連したユーザー指示を前記ユーザー・インターフェースを介して受領する段階と；
前記リンクに基づいて前記リアログラムおよび前記プラノグラムが同じ空間位置をミラーするよう、前記ユーザー・インターフェースの前記第一の部分における前記リアログラムの第一のビューを、前記ユーザー・インターフェースの前記第二の部分における前記プラノグラムの第二のビューと同期させる段階とを実行させる、
請求項１１記載のシステム。
【請求項１３】
各棚に対応する認識された品目の前記集合の部分集合の前記一つまたは複数の線形グループ化を決定するために、前記命令は、前記一つまたは複数のプロセッサにさらに：
前記リアログラムにおける各棚の一端での第一のアンカー点の選択をユーザーから受領する段階と；
前記リアログラムにおける各棚での前記第一のアンカー点に隣接する第二のアンカー点の選択をユーザーから受領する段階と；
前記第一のアンカー点と前記第二のアンカー点をつなぐ直線を形成する段階であって、前記直線は、前記リアログラムにおける各棚での前記第一のアンカー点と前記第二のアンカー点の間に存在する認識された品目の前記集合の部分集合を通る、段階と；
前記第一のアンカー点と前記第二のアンカー点の間に存在する認識された品目の前記集合の前記部分集合を通る前記直線に基づいて、認識された品目の前記集合の部分集合の一つまたは複数の線形グループ化を決定する段階とを実行させる、
請求項１１記載のシステム。
【請求項１４】
前記命令は、前記一つまたは複数のプロセッサにさらに、認識された品目の前記集合の部分集合の前記一つまたは複数の線形グループ化をハイライトさせる、請求項１３記載のシステム。
【請求項１５】
前記命令は、前記一つまたは複数のプロセッサにさらに：
認識された品目の前記集合の部分集合の前記一つまたは複数の線形グループ化が、前記リアログラムにおける各棚での一つまたは複数の認識された品目を含みそこなっているかどうかを判定する段階と；
認識された品目の前記集合の部分集合の前記一つまたは複数の線形グループ化が、前記リアログラムにおける各棚での一つまたは複数の認識された品目を含みそこなっていると判定することに応答して、前記リアログラムにおける各棚での前記第二のアンカー点に隣接する第三のアンカー点の選択を受領する段階と；
前記第三のアンカー点を前記第一のアンカー点および前記第二のアンカー点とつなぐよう前記直線を伸ばす段階であって、前記直線は、前記リアログラムにおける各棚での前記一つまたは複数の認識された品目を通る、段階とを実行させる、
請求項１３記載のシステム。
【請求項１６】
前記命令は、前記一つまたは複数のプロセッサにさらに：
一つまたは複数の項目を含む検索クエリーをユーザーから受領する段階と；
前記検索クエリーを製品データベースと照合する段階と；
前記検索クエリーを前記製品データベースと照合することに基づいて一つまたは複数の品目を含むテーブルを決定する段階と；
前記一つまたは複数の品目を含むテーブルを、前記ユーザー・インターフェースの第三の部分に呈示する段階とを実行させる、
請求項１１記載のシステム。
【請求項１７】
前記命令は、前記一つまたは複数のプロセッサにさらに：
前記ユーザー・インターフェースの前記第三の部分において、前記一つまたは複数の品目の画像を前記テーブルから前記ユーザー・インターフェースの前記第二の部分にある前記プラノグラムにおけるギャップに動かすユーザー選択を受領する段階と；
前記プラノグラムにおける前記ギャップの物理的な寸法が、前記一つまたは複数の品目に対応する物理的な寸法を満足させるかどうかを判定する段階と；
前記プラノグラムにおける前記ギャップの物理的な寸法が、前記一つまたは複数の品目に対応する物理的な寸法を満足させると判定することに応答して、前記テーブルからの前記一つまたは複数の品目の前記画像を、前記ユーザー・インターフェースの前記第二の部分にある前記プラノグラムにおける前記ギャップに配置する段階とを実行させる、
請求項１６記載のシステム。
【請求項１８】
画像処理モジュールからリアログラムを受領する段階であって、前記リアログラムは、画像および該画像における認識された品目の集合についての情報を含む、段階と；
ユーザーのクライアント装置上での呈示のための、前記リアログラムを呈示するユーザー・インターフェースを生成する段階と；
前記リアログラムにおける棚の一端での第一のアンカー点の選択をユーザーから受領する段階と；
前記リアログラムにおける前記棚での前記第一のアンカー点に隣接する第二のアンカー点の選択をユーザーから受領する段階と；
前記第一のアンカー点と前記第二のアンカー点をつなぐ直線を形成する段階であって、前記直線は、前記リアログラムにおける前記棚での前記第一のアンカー点と前記第二のアンカー点の間に存在する認識された品目の前記集合の部分集合を通る、段階と；
前記第一のアンカー点と前記第二のアンカー点の間に存在する認識された品目の前記集合の前記部分集合を通る前記直線に基づいて、認識された品目の前記集合の前記部分集合の一つまたは複数の線形グループ化を決定する段階とを含む、
方法。
【請求項１９】
認識された品目の前記集合の前記部分集合の前記一つまたは複数の線形グループ化をハイライトする段階をさらに含む、
請求項１８記載の方法。
【請求項２０】
認識された品目の前記集合の前記部分集合の前記一つまたは複数の線形グループ化が、前記リアログラムにおける前記棚での一つまたは複数の認識された品目を含みそこなっているかどうかを判定する段階と；
認識された品目の前記集合の前記部分集合の前記一つまたは複数の線形グループ化が、前記リアログラムにおける前記棚での一つまたは複数の認識された品目を含みそこなっていると判定することに応答して、前記リアログラムにおける前記棚での前記第二のアンカー点に隣接する第三のアンカー点の選択を受領する段階と；
前記第三のアンカー点を前記第一のアンカー点および前記第二のアンカー点とつなぐよう前記直線を伸ばす段階であって、前記直線は、前記リアログラムにおける前記棚での前記一つまたは複数の認識された品目を通る、段階とをさらに含む、
請求項１８記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本願は2017年4月12日に出願された「リアログラムからプラノグラムのユーザー・インターフェース」と題する米国仮特許出願第62/484,539号の米国特許法第１１９条のもとでの優先権を主張するものである。同出願の内容はここに参照によってその全体において組み込まれる。
【０００２】
技術分野
本明細書は、概して、棚にある品目の構造化された位置決めを表わすプラノグラムを生成することに関する。詳細には、本明細書は、小売店舗における棚上の品目のリアログラムに基づくプラノグラムの生成を容易にするためのユーザー・インターフェースを生成するシステムおよび方法に関する。
【背景技術】
【０００３】
プラノグラム（planogram）は、小売り環境における製品のデータまたは視覚的表現である。たとえば、プラノグラムは小売り環境のどこにどの量だけ製品が配置されるべきかを記述してもよい。そのようなプラノグラムは、売り上げを増し、在庫を管理し、それ以外にもたとえば利益を最適化するために品目の所望される量およびサイズが配置されることを保証するために設計されたツールである。しかしながら、そのようなプラノグラムは、いくつかの小売り解決策においては容易に利用可能ではなかったり、容易に使用されなかったりすることがある。いくつかの小売店舗は、プラノグラムを実施することなく棚、ラックおよび陳列スタンドに十分なレベルの在庫を呈示し、維持し、なぜかはわからなくても平均より多くの品目を動かすことに大きな成功を収めていることがある。小売店舗における棚の製品の位置および量はユーザーによって手作業で追跡されることができるが、使用できる最適化されたプラノグラムを生成するために、製品を自動的に認識し、棚の製品の状態および配位についての情報を自動的または半自動的に取得するための試みがなされている。
【０００４】
プラノグラムを生成することに向けたこれまでの試みには欠点がある。たとえば、一つの方法は、店舗にカメラを配置し、顧客駆動のプラノグラムを形成するために顧客挙動を注視するというものである。もう一つの例では、一つの方法は、営業員を小売り店舗に送って、ペンと紙で手作業でプラノグラムを作成するというものである。残念ながら、そのような方法を通じて形成されるプラノグラムは時間がかかり、信頼性がなく、売り上げ実績に負の影響をもつことがある。
【発明の概要】
【０００５】
本稿で導入される技法は、少なくとも部分的には、プラノグラムを生成するためのシステムおよび方法を用いて、従来技術の欠点および限界を克服する。ある実施形態では、システムは、一つまたは複数のプロセッサと、命令を記憶しているメモリとを含み、該命令は、実行されたときに、前記一つまたは複数のプロセッサに、画像および該画像における認識された品目の集合についての情報を含むリアログラムを受領し、各棚に対応する認識された品目の前記集合の部分集合の一つまたは複数の線形のグループ化を決定し、前記リアログラムおよび前記一つまたは複数の線形のグループ化に基づいてプラノグラムを生成し、ユーザーのクライアント装置上での呈示のためのユーザー・インターフェースを生成し、前記ユーザー・インターフェースの第一の部分において前記リアログラムを呈示し、前記ユーザー・インターフェースの第二の部分において前記プラノグラムを呈示し、ユーザーから、前記ユーザー・インターフェースを介してユーザー入力を受領し、前記ユーザー入力に基づいて前記プラノグラムを更新することを実行させる。
【０００６】
他の側面は、これらおよび他の革新的な側面についての対応する方法、システム、装置およびコンピュータ・プログラム・プロダクトを含む。
【０００７】
本稿に記載される特徴および利点は網羅的ではなく、多くの追加的特徴および利点が図面および本記述に鑑みて明白となるであろう。さらに、明細書において使われる言辞は、記載される技法の範囲を限定するためではなく、主として読みやすさおよび案内目的のために選択されたものであることを注意しておくべきである。
【図面の簡単な説明】
【０００８】
本稿で紹介される技法は限定ではなく例として、付属の図面に示される。図面において、同様の要素を指すために同様の参照符号が使われる。
【図１】リアログラムからプラノグラムを生成するためのユーザー・インターフェースを生成するためのシステムのある実施形態を示す高レベルのブロック図である。
【図２】プラノグラム・アプリケーションを含むコンピューティング装置のある実施形態を示すブロック図である。
【図３Ａ】棚の品目のリアログラムからプラノグラムを生成するためのプロセスのある実施形態のグラフィック表現である。
【図３Ｂ】棚の品目のリアログラムからプラノグラムを生成するためのプロセスのある実施形態のグラフィック表現である。
【図４Ａ】棚の品目の線形グループを決定するためのプロセスのある実施形態のグラフィック表現である。
【図４Ｂ】棚の品目の線形グループを決定するためのプロセスのある実施形態のグラフィック表現である。
【図４Ｃ】棚の品目の線形グループを決定するためのプロセスのある実施形態のグラフィック表現である。
【図４Ｄ】棚の品目の線形グループを決定するためのプロセスのある実施形態のグラフィック表現である。
【図４Ｅ】棚の品目の線形グループを決定するためのプロセスのある実施形態のグラフィック表現である。
【図４Ｆ】棚の品目の線形グループを決定するためのプロセスのある実施形態のグラフィック表現である。
【図４Ｇ】棚の品目の線形グループを決定するためのプロセスのある実施形態のグラフィック表現である。
【図５Ａ】プラノグラムにおける製品画像を検証し、調整し、配置するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図５Ｂ】プラノグラムにおける製品画像を検証し、調整し、配置するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図５Ｃ】プラノグラムにおける製品画像を検証し、調整し、配置するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図５Ｄ】プラノグラムにおける製品画像を検証し、調整し、配置するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図５Ｅ】プラノグラムにおける製品画像を検証し、調整し、配置するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図５Ｆ】プラノグラムにおける製品画像を検証し、調整し、配置するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図５Ｇ】プラノグラムにおける製品画像を検証し、調整し、配置するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図５Ｈ】プラノグラムにおける製品画像を検証し、調整し、配置するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図６Ａ】製品に関係した情報を表示するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図６Ｂ】製品に関係した情報を表示するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図６Ｃ】製品に関係した情報を表示するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図６Ｄ】製品に関係した情報を表示するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図６Ｅ】製品に関係した情報を表示するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図７Ａ】ゼロからプラノグラムを生成するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図７Ｂ】ゼロからプラノグラムを生成するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図７Ｃ】ゼロからプラノグラムを生成するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図７Ｄ】ゼロからプラノグラムを生成するためのユーザー・インターフェースの実施形態のグラフィック表現である。
【図８】棚の品目のリアログラムからプラノグラムを生成するための例示的方法のある実施形態を示す流れ図である。
【図９】棚の品目の線形グループを決定するための例示的方法のある実施形態を示す流れ図である。
【発明を実施するための形態】
【０００９】
図１は、リアログラムからプラノグラムを生成するためのユーザー・インターフェースを生成するシステム１００のある実施形態を示す高レベルのブロック図である。図示したシステム１００は、ユーザーおよび認識サーバー１０１によってアクセスされることのできる一つまたは複数のクライアント装置１１５ａ…１１５ｎを有していてもよい。図１および残りの図において、参照符号の後の文字、たとえば「１１５ａ」は、その特定の参照符号をもつ要素への言及を表わす。テキスト中の後続文字なしの参照符号、たとえば「１１５」は、その参照符号をもつ要素の諸事例への一般的な言及を表わす。図示した実施形態において、システム１００のこれらのエンティティはネットワーク１０５を介して通信上結合されている。
【００１０】
ネットワーク１０５は、有線または無線の通常の型であってもよく、スター構成、トークンリング構成または他の構成を含む数多くの異なる構成をもちうる。さらに、ネットワーク１０５は、ローカル・エリア・ネットワーク（LAN）、広域ネットワーク（WAN）（たとえばインターネット）および／またはそれを通じて複数の装置が通信しうる他の相互接続されたデータ経路を含んでいてもよい。いくつかの実施形態では、ネットワーク１０５はピアツーピア・ネットワークであってもよい。ネットワーク１０５は、多様な異なる通信プロトコルにおいてデータを送るための遠隔通信ネットワークに結合されていてもよく、あるいはその諸部分を含んでいてもよい。いくつかの実施形態では、ネットワーク１０５は、ショート・メッセージング・サービス（SMS）、マルチメディア・メッセージング・サービス（MMS）、ハイパーテキスト転送プロトコル（HTTP）、直接データ接続、WAP、電子メールなどを介することを含め、データを送受信するためのブルートゥース（登録商標）通信ネットワークまたはセルラー通信ネットワークを含んでいてもよい。図１はクライアント装置１１５および認識サーバー１０１に結合された一つのネットワーク１０５を示しているが、実際上は、一つまたは複数のネットワーク１０５がこれらのエンティティに接続されることができる。
【００１１】
いくつかの実施形態では、システム１００はネットワーク１０５に結合された認識サーバー１０１を含む。認識サーバー１０１は、プロセッサ、メモリ、アプリケーション、データベースおよびネットワーク通信機能を含むコンピューティング装置であってもよく、または該コンピューティング装置によって実装されてもよい。図１の例では、認識サーバー１０１の構成要素は、のちにより詳細に述べるプラノグラム・アプリケーション１０３ａを実装するよう構成されている。ある実施形態では、認識サーバー１０１は、棚、ラックまたはディスプレイにある製品を識別し、製品の配置を配列するための構造化された仕方（たとえばプラノグラム）を決定するためにパッケージ型消費財（CPG:  consumer  packaged  goods）会社にサービスを提供する。本稿の例は小売りディスプレイのような棚の画像における製品の認識を記述するが、画像は、組織化されたオブジェクトまたは品目のいかなる配列をも含んでいてもよい。たとえば、画像は倉庫、貯蔵室、保管室、キャビネットなどのものであってもよい。同様に、オブジェクトは、小売り製品のほか、ツール、製造、建設もしくは維持において使われるパーツ、薬、救急用品、緊急用もしくは安全用設備などであってもよい。
【００１２】
いくつかの実施形態では、認識サーバー１０１は、ネットワーク１０５を介してシステム１００の他のエンティティにデータを送り、他のエンティティからデータを受け取る。たとえば、認識サーバー１０１は、クライアント装置１１５との間で画像を含むデータを送受信する。認識サーバー１０１が受信する画像は、クライアント装置１１５によって捕捉された画像、ウェブサイトもしくは電子メールからコピーされた画像または他の任意の源からの画像を含むことができる。図１には単一の認識サーバー１０１しか示されていないが、任意の数の認識サーバー１０１またはサーバー・クラスターがあってもよいことは理解しておくべきである。認識サーバー１０１はデータ記憶を含んでいてもよい。
【００１３】
クライアント装置１１５は、メモリ、プロセッサおよびカメラを含むコンピューティング装置であってもよく、たとえばラップトップ・コンピュータ、デスクトップ・コンピュータ、タブレット・コンピュータ、携帯電話、スマートフォン、携帯情報端末（PDA）、携帯電子メール装置、ウェブカメラ、ユーザーが身につけることのできるコンピューティング装置またはネットワーク１０５にアクセスできる他の任意の電子装置であることができる。クライアント装置１１５は、任意の型のアプリケーションのための一般的なグラフィックおよびマルチメディア処理を提供する。たとえば、クライアント装置１１５は、グラフィックおよびマルチメディア処理を扱うためのグラフィック・プロセッサ・ユニット（GPU）を含んでいてもよい。クライアント装置１１５は、認識サーバー１０１によって提供された情報を見るためのディスプレイを含む。図１は二つのクライアント装置１１５ａおよび１１５ｎを示しているが、本開示は一つまたは複数のクライアント装置１１５をもつシステム・アーキテクチャーに適用できる。
【００１４】
クライアント装置１１５は、認識サーバー１０１との間でデータを送受信するよう適応される。たとえば、クライアント装置１１５は捕捉された画像を認識サーバー１０１に送り、認識サーバー１０１はクライアント装置１１５に、捕捉された画像において認識された一つまたは複数のオブジェクトについてのジャバスクリプト・オブジェクト記法（JSON:  JavaScript（登録商標）  Object  Notation）フォーマットでのデータを提供する。クライアント装置１１５は、画像処理の間の特徴位置および特徴記述子の決定のために、アップルiOS（商標）上のMetalまたはアンドロイド（商標）上のRenderScriptのようなグラフィカルなアプリケーション・プログラム・インターフェース（API）の使用をサポートしてもよい。
【００１５】
プラノグラム・アプリケーション１０３は、棚上の品目のリアログラムからプラノグラムを生成するための機能を提供するためのソフトウェアおよび／または論理を含んでいてもよい。プラノグラムは、小売店舗における物理的な棚において各製品または品目がどこに配置されるべきかを示す棚のプランまたはデザインの表現として記述できる。いくつかの実施形態では、プラノグラム・アプリケーション１０３は、フィールドプログラマブルゲートアレイ（FPGA）または特定用途向け集積回路（ASIC）のようなプログラム可能なまたは特化したハードウェアを使って実装されることができる。いくつかの実施形態では、プラノグラム・アプリケーション１０３は、ハードウェアおよびソフトウェアの組み合わせを使って実装されることができる。他の実施形態では、プラノグラム・アプリケーション１０３は、クライアント装置１１５と認識サーバー１０１の組み合わせ上に、あるいはクライアント装置１１５または認識サーバー１０１のいずれかによって、記憶され、実行されてもよい。
【００１６】
いくつかの実施形態では、プラノグラム・アプリケーション１０３ｂは、一部の機能がクライアント装置１１５で実行され、さらなる機能が認識サーバー１０１でプラノグラム・アプリケーション１０３ａによって実行されるシンクライアント・アプリケーションであってもよい。たとえば、クライアント装置１１５上のプラノグラム・アプリケーション１０３ｂは、画像を捕捉し、該画像を認識サーバー１０１に送信し、画像認識結果を表示するためのソフトウェアおよび／または論理を含むことができる。別の例では、認識サーバー１０１上のプラノグラム・アプリケーション１０３ａは、画像の系列を受け取り、各画像がその系列における以前に受領された画像と十分な重なりをもつことに基づいて、それらの画像を、より大きな複合画像にはぎ合わせ、複合画像についての画像認識結果を生成するためのソフトウェアおよび／または論理を含むことができる。さらにもう一つの例では、認識サーバー１０１上のプラノグラム・アプリケーション１０３ａは、画像認識結果からプラノグラムを生成するためのソフトウェアおよび／または論理を含むことができる。プラノグラム・アプリケーション１０３ａまたは１０３ｂは、本稿に記載されるさらなる機能、たとえば画像を処理して特徴識別を実行する機能を含んでいてもよい。プラノグラム・アプリケーション１０３の動作および上記に挙げた機能は、下記で図３〜図９を参照して、より詳細に述べる。
【００１７】
図２は、プラノグラム・アプリケーション１０３を含むコンピューティング装置２００のある実施形態を示すブロック図である。コンピューティング装置２００は、いくつかの例によれば、プロセッサ２３５、メモリ２３７、任意的な表示装置２３９、通信ユニット２４１、データ記憶部２４３および任意的な捕捉装置２４７も含んでいてもよい。コンピューティング装置２００のコンポーネントは、バス２２０によって通信上結合される。バス２２０は、業界標準アーキテクチャー（ISA）バス、周辺コンポーネント相互接続（PCI）バス、ユニバーサルシリアルバス（USB）または当技術分野において同様の機能を提供することが知られている他の何らかのバスを含む一つまたは複数のバスを表わしていてもよい。いくつかの実施形態では、コンピューティング装置２００は、クライアント装置１１５、認識サーバー１０１またはクライアント装置１１５と認識サーバー１０１の組み合わせであってもよい。コンピューティング装置２００がクライアント装置１１５または認識サーバー１０１である実施形態では、クライアント装置１１５および認識サーバー１０１は上記したが図２には示していない他のコンポーネントを含んでいてもよいことが理解されるべきである。
【００１８】
プロセッサ２３５は、さまざまな入出力、論理および／または数学的演算を実行することによってソフトウェア命令を実行してもよい。プロセッサ２３５は、たとえば複雑命令セット・コンピュータ（CISC）アーキテクチャー、縮小命令セット・コンピュータ（RISC）アーキテクチャーおよび／または命令セットの組み合わせを実装するアーキテクチャーを含む、データ信号を処理するためのさまざまなコンピューティング・アーキテクチャーを有していてもよい。プロセッサ２３５は物理的および／または仮想であってもよく、単一の処理ユニットまたは複数の処理ユニットおよび／またはコアを含んでいてもよい。いくつかの実装では、プロセッサ２３５は、表示装置への電子的な表示信号を生成および提供し、画像の表示をサポートし、画像を捕捉して送信し、さまざまな型の特徴抽出およびサンプリングなどを含む複雑なタスクを実行することができてもよい。いくつかの実装では、プロセッサ２３５は、メモリ２３７からのデータおよび命令にアクセスし、メモリ２３７にデータを記憶するために、バス２２０を介してメモリ２３７に結合されてもよい。バス２２０は、プロセッサ２３５を、たとえばメモリ２３７、通信ユニット２４１、プラノグラム・アプリケーション１０３およびデータ記憶部２４３を含むコンピューティング装置２００の他のコンポーネントに結合してもよい。他のプロセッサ、オペレーティング・システム、センサー、ディスプレイおよび物理的構成が可能であることは当業者には明白であろう。
【００１９】
メモリ２３７は、コンピューティング装置２００の他のコンポーネントのためのデータを記憶するとともに該データへのアクセスを提供してもよい。メモリ２３７は、本稿の他所で論じられるように、単一のコンピューティング装置に含まれてもよく、あるいは複数のコンピューティング装置の間に分散されてもよい。いくつかの実装では、メモリ２３７は、プロセッサ２３５によって実行されうる命令および／またはデータを記憶してもよい。該命令および／またはデータは、本稿に記載される技法を実行するためのコードを含んでいてもよい。たとえば、ある実施形態では、メモリ２３７はプラノグラム・アプリケーション１０３を記憶していてもよい。メモリ２３７は、たとえばオペレーティング・システム、ハードウェア・ドライバ、他のソフトウェア・アプリケーション、データベースなどを含む他の命令およびデータを記憶することもできる。メモリ２３７は、プロセッサ２３５およびコンピューティング装置２００の他のコンポーネントとの通信のためにバス２２０に結合されてもよい。
【００２０】
メモリ２３７は、一つまたは複数の非一時的なコンピュータ使用可能（たとえば、読み取り可能、書き込み可能）なデバイス、静的ランダム・アクセス・メモリ（SRAM）デバイス、動的ランダム・アクセス・メモリ（DRAM）デバイス、埋め込みメモリ・デバイス、離散的なメモリ・デバイス（たとえばPROM、FPROM、ROM）、ハードディスクドライブ、光ディスクドライブ（CD、DVD、ブルーレイ（登録商標）など）媒体を含んでいてもよく、これはプロセッサ２３５によるまたはプロセッサ２３５との関連での処理のための命令、データ、コンピュータ・プログラム、ソフトウェア、コード、ルーチンなどを含む、記憶する、通信するまたは転送することができるいかなる有体の装置またはデバイスであってもよい。いくつかの実装では、メモリ２３７は、揮発性メモリおよび不揮発性メモリの一つまたは複数を含んでいてもよい。メモリ２３７は単一のデバイスであってもよく、あるいは複数の型のデバイスおよび構成を含んでいてもよいことは理解しておくべきである。
【００２１】
表示装置２３９は、液晶ディスプレイ（LCD）、発光ダイオード（LED）または他の任意の同様の構成の表示装置、スクリーンまたはモニターである。表示装置２３９は、本稿に記載されるようなユーザー・インターフェース、電子的な画像およびデータを表示するよう構成された任意の装置を表わす。種々の実施形態において、表示は二値（ピクセルについて二つの異なる値のみ）であるか、モノクローム（一つの色の複数の明暗）であるか、または複数の色および明暗を許容する。表示装置２３９はプロセッサ２３５およびコンピューティング装置２００の他のコンポーネントとの通信のためにバス２２０に結合される。表示装置２３９は、それが任意的であることを示すために、図２では破線で示されていることを注意しておくべきである。たとえば、コンピューティング装置２００が認識サーバー１０１である場合、表示装置２３９はシステムの一部ではなく、コンピューティング装置２００がクライアント装置１１５である場合には、表示装置２３９が含まれ、画像および関連する認識結果を表示するために使われる。
【００２２】
通信ユニット２４１は、プロセッサ２３５をネットワーク１２５および他の処理システムにリンクすることによってデータを受信および送信するためのハードウェアである。通信ユニット２４１はクライアント装置１１５から要求のようなデータを受領し、それらの要求をコントローラ２０１に送信する。たとえば画像を処理する要求である。通信ユニット２４１はまた、表示のためにクライアント装置１１５に、認識結果を含む情報を、前記画像の処理に応答して送信する。通信ユニット２４１はバス２２０に結合される。ある実施形態では、通信ユニット２４１はクライアント装置１１５への直接的な物理接続のためのポートを含んでいてもよい。たとえば、通信ユニット２４１は、クライアント装置１１５との有線通信のためのRJ45ポートまたは同様のポートを含んでいてもよい。別の実施形態では、通信ユニット２４１は、クライアント装置１１５とデータを交換するための無線トランシーバー（図示せず）またはIEEE802.11、IEEE802.16、ブルートゥース（登録商標）または他の好適な無線通信方法といった一つまたは複数の無線通信方法を使う他の任意の通信チャネルを含んでいてもよい。
【００２３】
さらにもう一つの実施形態では、通信ユニット２４１は、ショート・メッセージング・サービス（SMS）、マルチメディア・メッセージング・サービス（MMS）、ハイパーテキスト転送プロトコル（HTTP）、直接データ接続、WAP、電子メールまたは他の好適な型の電子通信を介することを含め、セルラー通信ネットワークを通じてデータを送受信するためのセルラー通信トランシーバーを含んでいてもよい。さらにもう一つの実施形態では、通信ユニット２４１は、有線ポートおよび無線トランシーバーを含んでいてもよい。通信ユニット２４１は、TCP/IP、HTTP、HTTPSおよびSMTPのような標準的なネットワーク・プロトコルを使ったファイルおよび／またはメディア・オブジェクトの配送のためのネットワーク１０５への他の通常の接続をも提供してもよい。
【００２４】
データ記憶部２４３は、本稿に記載される機能を提供するためのデータを記憶する非一時的なメモリである。データ記憶部２４３は、動的ランダム・アクセス・メモリ（DRAM）デバイス、静的ランダム・アクセス・メモリ（SRAM）デバイス、フラッシュメモリまたは他の何らかのメモリ・デバイスであってもよい。いくつかの実施形態では、データ記憶部２４３は、不揮発性メモリまたは同様の恒久的記憶デバイスおよびメディア、たとえばハードディスクドライブ、フロッピーディスクドライブ、CD-ROMデバイス、DVD-ROMデバイス、DVD-RAMデバイス、DVD-RWデバイス、フラッシュメモリ・デバイスまたはより恒久的に情報を記憶するための他の何らかの大容量記憶デバイスを含んでいてもよい。
【００２５】
図示した実施形態では、データ記憶部２４３はバス２２０に通信上結合されている。データ記憶部２４３は、受領された画像を解析するためのデータと、該解析および本稿に記載される他の機能の結果とを記憶する。たとえば、データ記憶部２４３は、画像認識目的のための複数の在庫管理単位についてのデータベース・テーブルまたはテンプレートを記憶してもよい。在庫管理単位（SKU:  stock  keeping  unit）とは、販売のためにオファーされる製品のような、区別される単位である。データベース・テーブルは、品目を他のすべての品目から区別される製品として識別可能にするすべて属性を含んでいる。たとえば、属性は、一意的な識別子（たとえば、万国製品コード（UPC:  Universal  Product  Code））、製品名、物理的寸法（たとえば幅、高さ、奥行きなど）、サイズ（たとえばリットル、ガロン、オンス、ポンド、キログラム、流体オンスなど）、呈示される側（たとえば前、後、横、上、下など）、記述、ブランド・メーカー、色、パッケージ・バージョン、材料、モデル番号、価格、割引、基本画像などを含む。在庫管理単位またはSKUという用語は、目録における特定の製品またはサービスを指す一意的な識別子をも指すことがある。いくつかの実施形態では、データ記憶部２４３は、受領された画像、該受領された画像について決定された特徴の集合および該受領された画像に関連付けられるリアログラムを記憶する。データ記憶部２４３は同様に、一つまたは複数のプラノグラムを記憶してもよい。さらに、データ記憶部２４３は、前記一つまたは複数のプラノグラムを評価する際に使われるデータセットを記憶してもよい。データ記憶部２４３に記憶されるデータは、のちにより詳細に記述される。
【００２６】
捕捉装置２４７は、関心対象オブジェクトの画像またはデータをデジタル的に捕捉するよう動作できてもよい。たとえば、捕捉装置２４７は、高精細度（HD）カメラ、通常の2Dカメラ、複数スペクトル・カメラ、構造化光3Dカメラ、飛行時間3Dカメラ、ステレオ・カメラ、標準的なスマートフォン・カメラまたはウェアラブル・コンピューティング装置であってもよい。捕捉装置２４７は、画像および他の処理されたメタデータをプロセッサ２３５、メモリ２３７またはデータ記憶部２４３に提供するためにバスに結合される。捕捉装置２４７は、それが任意的であることを示すために、図２では破線で示されていることを注意しておくべきである。たとえば、コンピューティング装置２００が認識サーバー１０１である場合、捕捉装置２４７はシステムの一部ではなく、コンピューティング装置２００がクライアント装置１１５である場合には、捕捉装置２４７が含まれ、画像および後述する他のメタデータ情報を提供するために使われる。
【００２７】
いくつかの実施形態では、プラノグラム・アプリケーション１０３は、コントローラ２０１、画像処理モジュール２０３、グループ化モジュール２０５、プラノグラム生成モジュール２０７およびユーザー・インターフェース・モジュール２０９を含んでいてもよい。プラノグラム・アプリケーション１０３のコンポーネントはバス２２０を介して通信上結合される。プラノグラム・アプリケーション１０３のコンポーネントはそれぞれ、それぞれの機能を提供するためのソフトウェアおよび／または論理を含んでいてもよい。いくつかの実施形態では、プラノグラム・アプリケーション１０３のコンポーネントはそれぞれ、フィールドプログラマブルゲートアレイ（FPGA）または特定用途向け集積回路（ASIC）を含むプログラム可能なまたは特化したハードウェアを使って実装されることができる。いくつかの実施形態では、プラノグラム・アプリケーション１０３のコンポーネントはそれぞれ、ハードウェアと、プロセッサ２３５によって実行されるソフトウェアとの組み合わせを使って実装されることができる。いくつかの実施形態では、プラノグラム・アプリケーション１０３のコンポーネントはそれぞれ、メモリ２３７に記憶されてもよく、プロセッサ２３５によってアクセス可能かつ実行可能であってもよい。いくつかの実施形態では、プラノグラム・アプリケーション１０３のコンポーネントはそれぞれ、プロセッサ２３５、メモリ２３７およびプラノグラム・アプリケーション１０３の他のコンポーネントとのバス２２０を介した協働および通信のために適応されてもよい。
【００２８】
コントローラ２０１は、プラノグラム・アプリケーション１０３の他のコンポーネントの動作を制御するためのソフトウェアおよび／または論理を含んでいてもよい。コントローラ２０１は、プラノグラム・アプリケーション１０３の他のコンポーネントを制御して、図８〜図９を参照して後述する方法を実行させる。コントローラ２０１は、プラノグラム・アプリケーション１０３とコンピューティング装置２００の他のコンポーネントとの間およびプラノグラム・アプリケーション１０３のコンポーネント間の通信を扱うための機能を提供するソフトウェアおよび／または論理をも含んでいてもよい。
【００２９】
いくつかの実施形態では、コントローラ２０１は通信ユニット２４１を介してクライアント装置１１５および認識サーバー１０１の一つまたは複数との間でデータを送受信する。たとえば、コントローラ２０１は、ユーザーによって操作されるクライアント装置１１５から画像を通信ユニット２４１を介して受け取り、該画像を画像処理モジュール２０３に送る。別の例では、コントローラ２０１は、ユーザーにグラフィカル・ユーザー・インターフェースを提供するためのデータをユーザー・インターフェース・モジュール２０９から受け取り、該データをクライアント装置１１５に送って、クライアント装置１１５に該ユーザー・インターフェースをユーザーに対して表示させる。
【００３０】
いくつかの実施形態では、コントローラ２０１はプラノグラム・アプリケーション１０３の他のコンポーネントからデータを受領し、該データをデータ記憶部２４３に記憶する。たとえば、コントローラ２０１は、画像について識別された特徴を含むデータを画像処理モジュール２０３から受け取り、該データをデータ記憶部２４３に記憶する。他の実施形態では、コントローラ２０１はデータ記憶部２４３からデータを取り出し、該データをプラノグラム・アプリケーション１０３の他のコンポーネントに送る。たとえば、コントローラ２０１は、データ記憶部２４３から品目または製品を含むデータを取り出し、該取り出されたデータをプラノグラム生成モジュール２０７に送る。
【００３１】
いくつかの実施形態では、プラノグラム・アプリケーション１０３とコンピューティング装置２００の他のコンポーネントとの間およびプラノグラム・アプリケーション１０３のコンポーネント間の通信は、自律的に、コントローラ２０１とは独立に生起することができる。
【００３２】
画像処理モジュール２０３は、クライアント装置１１５からの棚の一つまたは複数の画像を受領し、処理するための機能を提供するソフトウェアおよび／または論理を含んでいてもよい。たとえば、画像は、一つまたは複数の小売店舗における棚の集合にある品目の現在のレイアウトを描く画像であってもよい。棚の該集合についてのプラノグラムが利用可能でないまたは最新でない場合、画像は、対応するプラノグラムを決定することにおける出発点のはたらきをする。
【００３３】
いくつかの実施形態では、画像処理モジュール２０３は、棚の集合の一つまたは複数の画像をクライアント装置１１５から受領する。画像は認識のために受領されてもよく、複数の関心対象品目を含んでいてもよい。たとえば、画像は、棚の集合にあるパッケージ化された製品（たとえばコーヒー・パッケージ、朝食シリアルの箱、ソーダの瓶など）の画像であることができ、小売店舗内の棚にあるパッケージ化された製品のリアルタイムの配置および動きを反映することができる。ブランド・メーカーのパッケージ化された製品は、その表面に、それを一つまたは複数の他のブランド・メーカーに属するパッケージ化された製品から区別するテキストおよび絵の情報が印刷されていることがある。パッケージ化された製品は、棚を見るユーザーのほうを向くような棚上での配向で置かれていてもよい。たとえば、箱のようなパッケージ化された製品は、棚を見るユーザーに、製品の前、後、横、上または下を向けて配向されることがありうる。棚にはパッケージをもたない他の製品が陳列されていることがありうることを理解しておくべきである。
【００３４】
いくつかの実施形態では、画像処理モジュール２０３は、受領された画像に対して成功裏の認識ができそうかどうかを判定し、クライアント装置１１５によって捕捉された画像のあるセクションが完全な認識のために限られた情報をもつ（たとえば特徴に富む部分が切れている）、画像がぼけすぎている、画像が照明アーチファクト（たとえば過剰な反射）をもつなどの場合には、ユーザー・インターフェース・モジュール２０９に命令して、画像を撮り直すようユーザーのための案内を含むグラフィック・データを生成させる。いくつかの実施形態では、画像処理モジュール２０３は、棚の集合の個別の、十分に重なり合う画像のシーケンスを受領してもよい。たとえば、個々の画像の間の重なりは40%〜50%であることができる。画像処理モジュール２０３は個々の画像をはぎ合わせて単一の線形のパノラマ画像（たとえば複合画像）にして、はぎ合わされた画像に対して画像認識を実行する。はぎ合わされた画像において、そして最終的にははぎ合わされた画像に基づくリアログラムにおいて、可視の幾何学的な歪みおよび他のアーチファクトがあることがある。幾何学的な歪みは、棚に関するクライアント装置１１５の位置が個別の画像がクライアント装置１１５によって捕捉されて複合画像中に取り込まれるたびに変わるという事実に起因する。一つまたは複数の棚の物理的な寸法ははぎ合わされた画像において未知である。他の実施形態では、単一の画像ならいかなる歪みもないので、画像処理モジュール２０３は単一の画像を受領してもよい。
【００３５】
いくつかの実施形態では、画像処理モジュール２０３は画像についての特徴〔フィーチャー〕の集合を決定する。たとえば、画像処理モジュール２０３は、画像において識別された各特徴についての位置（XY座標）、配向、画像記述子を決定してもよい。いくつかの実施形態では、画像処理モジュール２０３は、特徴位置を決定するためにコーナー検出アルゴリズムを使ってもよい。たとえば、コーナー検出アルゴリズムは、シャイ‐トマシ（Shi-Tomasi）コーナー検出アルゴリズム、ハリス‐スティーヴンス（Harris-Stephens）コーナー検出アルゴリズムなどを含むことができる。いくつかの実施形態では、画像処理モジュール２０３は、効率的な画像特徴記述子を決定するために特徴記述アルゴリズムを使う。たとえば、特徴記述アルゴリズムは、バイナリー・ロバスト独立基本特徴（BRIEF:  Binary  Robust  Independent  Elementary  Features）、スケール不変特徴変換（SIFT:  Scale-Invariant  Feature  Transform）などを含んでいてもよい。特徴の画像記述子は、その特徴によって覆われる画像部分領域を記述する256ビットのビットマスクであってもよい。いくつかの実施形態では、画像処理モジュール２０３は、その特徴の近くの256ピクセル対の各対を強度（intensity）について比較し、各比較に基づいて、画像処理モジュール２０３は256ビットのビットマスクにおける一つのビットをセットまたはクリアしてもよい。
【００３６】
いくつかの実施形態では、画像処理モジュール２０３は、画像の特徴を、画像認識を実行するために複数の品目に関連付けられた諸テンプレートの特徴と照合する。たとえば、画像処理モジュール２０３は、画像の特徴を解析するために、データ記憶部２４３において製品についての情報を記憶しているデータベース・テーブルを使う。画像処理モジュール２０３は、画像中のマッチした品目のそれぞれに境を接する関心領域（ROI）を同定する。関心領域はいかなる形状であってもよく、たとえば多角形、中心点および直径をもつ円、幅、高さおよび該領域についての一つまたは複数の基準点（たとえば該領域についての中心点、一つまたは複数のコーナー点）をもつ長方形などであることができる。たとえば、関心領域は、マッチした品目にその全体において境を接する認識長方形であってもよい。もう一つの例では、関心領域は、照合された品目に関連付けられた絵およびテキストの情報を含む手前を向いているラベルに境を接してもよい。
【００３７】
いくつかの実施形態では、画像処理モジュール２０３は、画像からの画像特徴を、複数の品目について記憶されている諸テンプレート特徴と照合することに基づいて、関心領域に関連付けられた品目または製品を認識する。画像処理モジュール２０３は、識別された品目についての認識結果と関連した、記号的な情報またはメタデータを決定する。記号的な情報は、万国製品コード（UPC:  Universal  Product  Code））、位置（たとえば相対的なXY座標、棚でのスロット位置、地上からの特定の棚など）、呈示される側（たとえば上、下、前、後または横）および関心領域の寸法（たとえば幅、高さなど）および他のメタデータ（たとえばパッケージ・バージョン）を含んでいてもよい。いくつかの実施形態では、画像処理モジュール２０３は、画像中の認識された品目の座標位置および寸法を、相対的な単位で決定する。相対的な単位は、インチのような物理的な寸法には対応しない。
【００３８】
いくつかの実施形態では、画像処理モジュール２０３は、画像に基づいて棚の品目のリアログラムを決定する。リアログラム（realogram）は、画像において認識された複数の連続的でない〔つながっていない〕品目の記号的な情報を含んでいてもよい。いくつかの実施形態では、画像処理モジュール２０３は、リアログラムを含むデータをグループ化モジュール２０５、プラノグラム生成モジュール２０７およびユーザー・インターフェース・モジュール２０９に送る。他の実施形態では、画像処理モジュール２０３は、リアログラムを含むデータを、データ記憶部２４３に記憶する。
【００３９】
グループ化モジュール２０５は、リアログラムにおける同定された品目の部分集合の線形グループを決定するための機能を提供するソフトウェアおよび／または論理を含んでいてもよい。線形グループは、リアログラムにおいて棚の上で線形に共起している認識された品目の水平方向の集まりまたはグループ化として記述されることができる。いくつかの実施形態では、線形グループは、リアログラムにおけるある棚に対応し、リアログラムからのプラノグラムの生成において使われる。図３Ａ〜３Ｂの例に示されるように、それらのグラフィックな表現は、棚の品目のリアログラムからプラノグラムを生成するためのプロセスの一つの実施形態を示している。図３Ａでは、グラフィック表現３００は、棚の品目のリアログラム３０１を含む。グラフィック表現３００は、リアログラム３０１の一番下の棚から始まって四つの線形グループ３０３の集合を同定している。グラフィック表現３００において図のようにハイライトされた各線形グループ３０３は、対応する棚の上の認識された品目の部分集合をグループ化している。典型的には、リアログラムにおける線形グループの正確な数は、対応するプラノグラムが利用可能であるときは、同定されることができる。たとえば、グループ化モジュール２０５が、対応するプラノグラムにおけるデータ構造によって示唆されるところによりリアログラムには四つの棚しかありえないと判定する場合、グループ化モジュール２０５は、リアログラムにおける認識された品目を、リアログラムにおける認識された品目の位置に基づいて、四つだけの線形グループに当てはめようとする。いくつかの実施形態では、プラノグラム・データ構造は、グループ化モジュール２０５が線形グループを決定するために使うそれぞれの棚の上の品目の数をも示唆する。
【００４０】
図３Ｂでは、グラフィック表現３５０は、プラノグラム３０５を示している。このプラノグラム３０５は、それが生成されるもとになったリアログラム３０１を表わす。プラノグラムは、完璧な画像（捕捉ノイズなし）、完璧な画像整列、面している完璧な画像認識における単一の代表的な品目といった属性を含む。リアログラムについての対応するプラノグラムが不在であるまたは利用可能でない場合には、リアログラムにおける線形グループの決定は誤りを生じやすい。
【００４１】
いくつかの実施形態においては、グループ化モジュール２０５は、プラノグラムなしにリアログラムにおける一つまたは複数の線形グループを決定する。たとえば、プラノグラムはすぐ利用可能ではない。グループ化モジュール２０５は、画像処理モジュール２０３から、品目についての認識結果を含むリアログラムを受け取る。そのようなリアログラムは、はぎ合わされた画像に基づいていてもよく、該はぎ合わされた画像は、きちんとした長方形ではなく、傾いている（skewed）ことがありうる。図４Ａ〜４Ｇは、棚の上の品目の線形グループを決定するためのプロセスのある実施形態を示すグラフィック表現である。図４Ａの例に示されるように、グラフィック表現４００はリアログラム４０１を示している。リアログラム４０１は、リアログラム４０１が複数の重なり合う画像からはぎ合わされているために、棚に沿って右に向かって傾いて見える。グラフィック表現４００は、リアログラム４０１の第二の棚の上に、厳密に長方形の線形グループ４０３の配置を含んでいる。線形グループ４０３は、第二の棚の一端でうまく始まり第二の棚をマッピングするが、最終的にはリアログラム４０１の他端のほうで第一の棚に食い込む。線形グループ４０３は、第二の棚の上の認識された品目を適正にマッピングまたはグループ化し損なう。グラフィック表現４００は一番下の棚の上の多角形の線形グループ４０５をも含む。線形グループ４０５は、リアログラムの不規則さに適合するよう柔軟であり、一番下の棚の線形グループを正確にマッピングまたはグループ化する。グループ化モジュール２０５は柔軟な、認識された品目を、プラノグラムの生成のために使われる正しい棚グループ化にグループ化するまたは組み合わせるために、調整可能な多角形の線形グループを使う。
【００４２】
いくつかの実施形態では、グループ化モジュール２０５は、リアログラム上で線形グループを生成および／または編集するためのユーザー・インターフェースを生成するようユーザー・インターフェース・モジュール２０９に命令を送る。グループ化モジュール２０５は、リアログラムにおける線形グループを生成および／または編集するためのユーザー・インターフェース上のユーザー入力を受け取る。図４Ｂ〜４Ｇの例に示されるように、グラフィック表現は、リアログラム４０１上の二つ以上のアンカー点４２２〜４３０の選択をユーザーから漸進的に受け取ることを示している。図４Ｂでは、グラフィック表現４２０は、リアログラム４０１における一番上の棚の左端の第一のアンカー点４２２のユーザー選択を示している。図４Ｃでは、グラフィック表現４２０は、リアログラム４０１の一番上の棚の第一のアンカー点４２２の右の第二のアンカー点４２４のユーザー選択を示している。第一のアンカー点４２２は第二のアンカー点４２４に直線で接続される。同様に、図４Ｄ〜４Ｆのグラフィック表現は、リアログラム４０１における一番上の棚の右に向かうアンカー点４２６、４２８および４３０のユーザー選択を示している。アンカー点４２２、４２４、４２６、４２８および４３０は接続されて、一番上の棚の左から右への線〔ライン〕をなす。線は、一番上の棚の上で共起する認識された諸品目を通る。最善ケースのシナリオでは、棚の左端のアンカー点４２２のユーザー選択および棚の右端のアンカー点４３０のユーザー選択が、すべての認識された品目をつなぐ棚の左から右への直線をなす。リアログラム４０１が図４Ａ〜４Ｇに示されるようにスキューがあったら、棚の上で共起するすべての認識された品目をつなぐ線を形成するために、三つ以上のアンカー点がユーザーによって選択されることがある。グループ化モジュール２０５は、リアログラム上の二つ上のアンカー点のユーザー入力に基づいて、認識された品目の線形グループを決定する。図４Ｇでは、グラフィック表現４９５は、アンカー点４２２、４２４、４２６、４２８および４３０をつなぐ線に基づいて生成された線形グループ４３２を示している。グループ化モジュール２０５は、ユーザーのために線形グループをハイライトするようユーザー・インターフェース・モジュール２０９に命令を送る。たとえば、線形グループ４３２は色、たとえば緑色においてハイライトされることができる。リアログラム４０１において一番上の棚の上に一緒に共起する認識された品目のグループ化を示すために、ハイライトは透明であることができる。グループ化モジュール２０５は、線形グループに関係するユーザー検証を受け取る。たとえば、線形グループ４３２が、一つまたは複数の認識された品目を、一緒にグループ化し損なっているように見える場合、グループ化モジュール２０５はユーザーから検証入力を受け取る。ユーザーは、アンカー点４２２、４２４、４２６、４２８および４３０のいずれかを調整する、あるいはグループ化されていない認識された品目を線形グループ４３２に十分に含めるよう、より多くのアンカー点を生成することができる。グループ化モジュール２０５は、線の長さを延長および／または調整して、しかるべく新たに生成されたアンカー点をつなぐ。さらに、線形グループ４３２は、線形グループ４３２内にグループ化された認識された品目のまわりの同じ色のバウンディングボックスを用いて、認識された品目をハイライトすることができる。同様に生成された、線形グループ４３２に隣接する異なる線形グループは、認識された品目の隣接する棚の間で十分に区別するよう異なる色のバウンディングボックスを用いて、認識された品目をハイライトしてもよい。アンカー点のユーザー選択は、線形グループ４３２を生成するためのリアログラム４０１における一番上の棚の右端から始まることもできることは理解しておくべきである。
【００４３】
いくつかの実施形態では、グループ化モジュール２０５は、リアログラムにおいて線形グループに番号付けする。図３Ａの例で示されるように、グループ化モジュール２０５は、一番下の線形グループがLG0として同定され、一番上の棚の線形グループがLG3として同定されるようにして、下から上へ線形グループを同定する。他の形の棚の同定も可能でありうる。たとえば、グループ化モジュール２０５は、線形グループを上から下に番号付けしてもよい。いくつかの実施形態では、グループ化モジュール２０５は、同定された線形グループを含むデータをプラノグラム生成モジュール２０７およびユーザー・インターフェース・モジュール２０９に送る。他の実施形態では、グループ化モジュール２０５は、同定された線形グループを含むデータを、データ記憶部２４３に記憶する。
【００４４】
プラノグラム生成モジュール２０７は、リアログラムからプラノグラムを生成するための機能を提供するソフトウェアおよび／または論理を含んでいてもよい。いくつかの実施形態では、プラノグラム生成モジュール２０７は、品目についての認識結果を含むリアログラムを画像処理モジュール２０３から受け取る。いくつかの実施形態では、リアログラムは、単一の小売店舗または複数の小売店舗に関連していてもよい。いくつかの実施形態では、プラノグラム生成モジュール２０７は、リアログラムを正規化することによってプラノグラムを生成する。これについて下記でより詳細に述べる。
【００４５】
いくつかの実施形態では、プラノグラム生成モジュール２０７は、品目の認識結果に基づいて、リアログラムにおける複数の呈示面（facing）を識別する。呈示面は、顧客のほうに向けられた棚の上の一つまたは複数の品目の垂直方向の積層であることができる。たとえば、それぞれが箱のようなパッケージにはいっている歯磨き製品の集合は、上下に積み重ねられて、棚の単一の位置において一つの呈示面を形成しうる。呈示面における一つまたは複数の品目は、同一の製品（または同じSKU）を表わすようデザインされる。リアログラムにおける認識された品目は、リアログラムにおける認識された品目の位置（たとえば相対的なXY座標）に対応する関心領域に関連付けられることができる。呈示面は、呈示面内の複数の品目に対応する複数の関心領域を含んでいてもよく、あるいは呈示面は単一の関心領域を含んでいてもよい。しかしながら、認識されていない品目がある場合には、その品目は対応する関心領域をもたないことがある。品目が画像処理モジュール２０３によって認識されないままになるのは、いくつかの理由がありうる。たとえば、その品目について判別された画像特徴が、画像において存在する歪みのために、認識のために十分でないことがありうる。別の例では、その品目がまだデータ記憶部２４３における製品データベース中にインデックス化されていない新しい品目であることがありうる。また、品目が棚で誤って配置される場合、呈示面は混合されたものになることがある。たとえば、歯磨きブランドYのために意図された呈示面において歯磨きブランドYの上に歯磨きブランドXが誤って置かれることがあり、こうして呈示面が混合した呈示面になることがある。
【００４６】
典型的には、プラノグラムは、棚の集合上の各位置において表現される一つの品目をもちうる。すなわち、プラノグラムは、品目のスタックを呈示面として表示するのではない。むしろ、プラノグラムは、スタックを表わす品目の単一の画像だけを表示する。プラノグラムを生成するプロセスにおいて、いくつかの実施形態では、プラノグラム生成モジュール２０７は、呈示面における一つまたは複数のマッチした品目に関連付けられた認識の信頼スコアを同定する。プラノグラム生成モジュール２０７は、そうした信頼スコアを使って、リアログラムに存在する複数の呈示面のそれぞれに割り当てるべき最良の認識を決定する。
【００４７】
いくつかの実施形態では、プラノグラム生成モジュール２０７は、呈示面における各品目についての認識の数に基づいて、呈示面に割り当てるべき認識を決定する。たとえば、混合された呈示面において積層されている三つの品目がある場合に、プラノグラム生成モジュール２０７が、それらの品目の二つについての認識結果は「X歯磨き」という在庫管理単位（SKU）に関係し、それらの品目の一つについての認識結果は「Y歯磨き」というSKUに関係する。プラノグラム生成モジュール２０７は、その呈示面内の三つの品目に関連付けられた認識の重み評価（weighting）を実行し、SKU「歯磨きX」を、その呈示面における各品目についての最も確からしい認識として決定する。他の実施形態では、プラノグラム生成モジュール２０７は、ある品目のどの候補認識を、考えている呈示面についての最も確からしい品目として推奨するかを検証するために、近隣の呈示面における認識された品目の素性〔何であるか〕を使う。
【００４８】
いくつかの実施形態では、プラノグラム生成モジュール２０７は、識別された呈示面についての認識を、呈示面内の品目に関連付ける。たとえば、プラノグラム生成モジュール２０７は、該認識を、リアログラムにおけるその呈示面の代表的な品目として関連付ける。いくつかの実施形態では、プラノグラム生成モジュール２０７は、ある品目の認識が呈示面に適用された後、リアログラムにおける同定された呈示面から他の品目を除去する。たとえば、プラノグラム生成モジュール２０７は、リアログラムにおける同定された呈示面のスタックに存在する他の品目を除去する。いくつかの実施形態では、プラノグラム生成モジュール２０７は、データ記憶部２４３における製品データベースから最良の認識に対応する品目の画像を取り出し、関心領域内の認識された品目を、取り出された品目の画像で置き換える。たとえば、プラノグラム生成モジュール２０７は、関心領域内のピクセル情報を除去し、取り出された品目の画像のコピーを取り出し、その画像を関心領域中にスライドさせる。
【００４９】
いくつかの実施形態では、プラノグラム生成モジュール２０７は、グループ化モジュール２０５から受領される線形グループに対応する、一つまたは複数の呈示面の棚を同定する。棚の上の該呈示面にある認識が適用されると、先述した画像における歪み（distortion）のため、それらの認識は互いにわずかに傾くおよび／または互いに重なり合うことがありうる。たとえば、ある棚に属する（たとえば品目に関連付けられた関心領域に基づく）認識品目は、互いとの垂直整列から外れて、左および／または右の他の認識品目と重なることがある。いくつかの実施形態では、プラノグラム生成モジュール２０７は、その棚に属する品目の端を水平方向に揃える。たとえば、プラノグラム生成モジュール２０７は、その棚を横断して配置された品目の下端を整列させる。品目についての他の型の整列が可能でありうる。たとえば、品目が棚の上で吊り下げタブから吊り下げられている場合、プラノグラム生成モジュール２０７は、品目の上端を整列させる。いくつかの実施形態では、プラノグラム生成モジュール２０７は、品目を棚を横切る方向に最小限動かして、品目が離間し、重なり合わない位置を占めるようにすることによって、棚の上の品目間の重なり合いを解決する。たとえば、プラノグラム生成モジュール２０７は、品目を水平方向にシャッフルして、品目の垂直方向エッジが互いに重なり合わず、互いから離間されるようにする。プラノグラム生成モジュール２０７は、品目のうち動きを受けうるものが最小数になり、動きができるだけ最小になりうるよう、それらの品目の動きを決定する。プラノグラム生成モジュール２０７は、品目を、左および右端から内側に動かす。全体的なプラノグラムについての明瞭な境界を確立するとともに、プラノグラム境界を越えて品目を動かすことを避けるためである。
【００５０】
リアログラムに基づくプラノグラムは、できるだけリアログラムに近いべきである。いくつかの実施形態では、プラノグラム生成モジュール２０７は、棚におけるスロットの数を決定する。スロットは、棚におけるその位置（または呈示面）における品目に関連付けられた認識の、順序を示す位置である。いくつかの実施形態では、プラノグラム生成モジュール２０７は、諸スロットの番号付けを生成する。番号付けは、どの品目が棚の上のどの番号のスロットにあるかを同定することができる。たとえば、プラノグラム生成モジュール２０７は、棚の左から右（または右から左）へとスロットに番号付けする。リアログラムおよびリアログラム内のギャップの物理的な寸法は未知である。プラノグラムが正確であるためには、認識された品目の物理的な寸法およびギャップの物理的な幅を決定することが好ましい。プラノグラム生成モジュール２０７は、棚の集合の上で認識された、連続的でない、逐次的に配置された品目の間の水平方向の離間およびギャップを保存するプラノグラムを生成する。ギャップというのは、品目に関連付けられた認識がない、棚の部分である。たとえば、リアログラムは、棚の画像が捕捉されたときに顧客がすでに棚の上の在庫された呈示面からすべての製品を取り上げてしまっていたために空のスポットを含むことがある。もう一つの例では、リアログラムは、棚の上の認識されない品目のために、空のスポットを含むことがある。さらにもう一つの例では、リアログラムは、棚の始まりおよび／または終わりに空のスポットを含むことがある。プラノグラム生成モジュール２０７は、それらの空のスポットのそれぞれを、プラノグラムにおいて保存されるべき潜在的な水平方向ギャップとして同定する。いくつかの実施形態では、プラノグラム生成モジュール２０７は、プラノグラムを生成するためにリアログラムの各棚を個別に処理する。これは、リアログラムにおいて存在しうる幾何学的な歪みの効果を最小化するためになされる。
【００５１】
プラノグラム生成モジュール２０７は、リアログラムにおける認識された品目の集合の部分集合を同定し、認識された品目の集合の該部分集合を、リアログラムにおける棚に関連付ける。プラノグラム生成モジュール２０７は、棚の上の認識された品目の集合の前記部分集合のうち、最初の認識された品目の前および最後の認識された品目の後のいくつかのギャップの位置（たとえば相対的なXY座標での位置、棚の上のスロット位置、床から数えた特定の棚など）を決定する。いくつかの実施形態では、プラノグラム生成モジュール２０７は、ギャップの番号付けを生成する。たとえば、プラノグラム生成モジュール２０７は、棚の左から右（または右から左）へとギャップに番号付けする。
【００５２】
プラノグラム生成モジュール２０７は、棚の上の一つまたは複数の認識された品目に関連付けられた認識情報を、画像処理モジュール２０３から受領する。たとえば、ある品目の認識情報は、一意的な識別子、呈示される側（facing  side）およびパッケージ・バージョンを含む。プラノグラム生成モジュール２０７は、一つまたは複数の認識された品目の認識情報を、具体的な寸法を求めてデータ記憶部２４３における製品データベースを検索するために使う。プラノグラム生成モジュール２０７は、この検索に基づいて、一つまたは複数の認識された品目の対応する物理的寸法を決定する。たとえば、認識された品目の呈示される側およびパッケージ・バージョンの各組み合わせが、その独自の寸法の集合をもつことができる。前の呈示面をもって同定される第一の品目および横の呈示面をもって同定される第二の品目であって、第一の品目と第二の品目が同じUPCであるものは、二つの相異なる物理的な幅が関連付けられている。同様に、同じUPCで第一のパッケージ・バージョンにおいて同定される第一の品目と第二のパッケージ・バージョンにおいて同定される第二の品目は、二つの相異なる物理的な幅が関連付けられていてもよい。
【００５３】
いくつかの実施形態では、プラノグラム生成モジュール２０７は、認識された品目の集合およびそれらの対応する物理的な寸法ならびに認識された品目の集合の間のギャップの位置に基づいて、リアログラムから代表的なプラノグラムを生成する。いくつかの実施形態では、プラノグラムは記号的であることができる。プラノグラム生成モジュール２０７は、プラノグラム情報を、プラノグラムに変更を加えるために再び読み込むことのできるファイル・フォーマットで保存する。たとえば、プラノグラム生成モジュール２０７は、プラノグラムを記号的に記述するために、製品識別子、製品名、ブランド、幅、高さ、呈示される側などを、コンマ区切り値（CSV:  comma-separated  values）ファイルにまとめる。ここで、ファイルの各行はプラノグラムの品目に対応する。
【００５４】
いくつかの実施形態では、プラノグラム生成モジュール２０７は、リアログラムと、該リアログラムに対して上記の一連の正規化段階を実行することによって生成されたプラノグラムと、製品データベースとを表示するためのユーザー・インターフェースを生成するようユーザー・インターフェース・モジュール２０９に命令を送る。プラノグラムの表示は、生成されたプラノグラムをさらに編集するおよび／または生成されたプラノグラムに補足することをユーザーに許容する、可能な視覚化を提供する。たとえば、ユーザーは、生成されたプラノグラムを編集するための、ドラッグアンドドロップ、カットアンドペーストおよび取り消しおよびやり直しといったグラフィックな編集操作を提供されることができる。図５Ａ〜５Ｈの例に示されるように、これらのグラフィック表現は、プラノグラムを検証し、調整するためのユーザー・インターフェースの実施形態を示している。図５Ａでは、グラフィック表現は、プラノグラムを検証し、調整するためのユーザー・インターフェース５００の種々の部分のレイアウトを示している。ユーザー・インターフェース５００は、リアログラムを表示するための上ペイン５０１、対応するプラノグラムを表示するための下ペイン５０３および製品（product）データベースの一部のテーブル表現を表示するための右ペイン５０５を含む。上ペイン５０１および下ペイン５０３は第一の可動仕切り５０７によって隔てられている。上ペイン５０１および下ペイン５０３の両者は、第二の可動仕切り５０９によって右ペイン５０５から隔てられている。第一の可動仕切り５０７および第二の可動仕切り５０９は、ユーザー・インターフェース５００においてペインをサイズ変更したり、ペインの一つまたは複数を隠したりするためにユーザーによって使用されてもよい。第一の可動仕切り５０７は一番上または一番下までずっと動かすことができる。第二の可動仕切り５０９は左端または右端までずっと動かすことができる。図５Ｂでは、グラフィック表現は、上ペイン５０１内のリアログラム、下ペイン５０３内の対応するプラノグラムおよび右ペイン５０５内の製品データベースの一部を含む別のユーザー・インターフェース５１０を示している。上ペイン５０１におけるリアログラムは読み出し専用ビューであり、下ペイン５０３におけるプラノグラムはユーザーによって編集可能である。右ペイン５０５における製品データベースは、上ペイン５０１におけるリアログラムおよび下ペイン５０３におけるプラノグラムに関連付けられている製品のテーブルを含む。いくつかの実施形態では、右ペイン５０５における製品のテーブルは、ユーザーによって実行される製品の検索に応答して表示されることができる。
【００５５】
図５Ｃは、上ペイン５０１におけるリアログラムのビューおよび下ペイン５０３におけるプラノグラムのビューがユーザーによってズームされて示されているもう一つのユーザー・インターフェース５２０のグラフィック表現を示している。ユーザー・インターフェース５２０は、フォーカス・コンポーネント５２３をもつナビゲーター５２１を含む。フォーカス・コンポーネント５２３のサイズが、上ペイン５０１におけるリアログラムおよび下ペイン５０３におけるプラノグラムに関して示されている現在のズームのビューのサイズを示す。ナビゲーター５２１におけるフォーカス・コンポーネント５２３の相対位置は、上ペイン５０１におけるリアログラムおよび下ペイン５０３におけるプラノグラムに関して示される現在のズームのビューの対応する位置を示している。いくつかの実施形態では、プラノグラム生成モジュール２０７は、リアログラムおよびプラノグラムの閲覧に関連するユーザー指示を受け取る。たとえば、フォーカス・コンポーネント５２３がナビゲーター５２１上でユーザーによって選択可能かつ移動可能であり、それによりプラノグラムおよび／またはリアログラムに対する現在のズームを位置決めし直す。ユーザーが上ペイン５０１におけるリアログラムを選択すると、プラノグラム生成モジュール２０７は、ナビゲーター５２１の表示領域のコンテキストをリアログラムのコンテキストに変更するよう、ユーザー・インターフェース・モジュール２０９に命令を送る。ユーザーが下ペイン５０３におけるプラノグラムを選択すると、プラノグラム生成モジュール２０７は、ナビゲーター５２１の表示領域のコンテキストをプラノグラムのコンテキストに変更するよう、ユーザー・インターフェース・モジュール２０９に命令を送る。ナビゲーター５２１およびフォーカス・コンポーネント５２３は一緒になって、現在のズームのコンテキストを与える。たとえば、コンテキストは、リアログラムおよびプラノグラムに関する現在のズームの空間的位置またはロケーションを含む。いくつかの実施形態では、プラノグラム生成モジュール２０７は、上ペイン５０１におけるリアログラムと下ペイン５０３におけるプラノグラムを互いにリンクさせる。プラノグラム生成モジュール２０７は、リアログラムとプラノグラムの該リンクに基づいて、上ペイン５０１におけるリアログラムのビューを下ペイン５０３におけるプラノグラムのビューと同期させるよう、ユーザー・インターフェース・モジュール２０９に命令を送る。たとえば、リアログラムとプラノグラムは、互いに同期したままになり、上ペイン５０１または下ペイン５０３のどちらかで実行されるズームインおよび／またはズームアウト操作の間、同じ空間的位置またはロケーションをミラーする。
【００５６】
図５Ｄは、リアログラムなしでプラノグラムを表示しているユーザー・インターフェース５３０のグラフィック表現を示している。ユーザー・インターフェース５３０においては、第一の可動仕切り５７０はユーザーによって上端までずっと動かされている。このアクションが図５Ｃの上ペイン５０１を隠し、下ペイン５０３のプラノグラムが拡張されたビューで示されることになる。ナビゲーター５２１は、下ペイン５０３におけるプラノグラムのコンテキストを示すよう変わる。図５Ｅは、プラノグラムが拡張されたビューの下ペイン５０３内でズームされて示されているもう一つのユーザー・インターフェース５４０のグラフィック表現を示している。ナビゲーター５２１およびフォーカス・コンポーネント５２３は一緒になって、プラノグラムに関する現在のズームのコンテキストを提供する。ユーザー・インターフェース５４０は、拡張されたビューで示されている下ペイン５０３に関連付けられたサイズ変更ボタン５４１の集合を含んでいる。サイズ変更ボタン５４１は、「幅に合わせる」（Fit  Width）、「高さに合わせる」（Fit  Height）および「全体に合わせる」（Fit  All）を含む。「幅に合わせる」を選ぶと、プラノグラムは、下ペイン５０３の幅に合うようサイズ変更される。「高さに合わせる」を選ぶと、プラノグラムは、下ペイン５０３の高さに合うようサイズ変更される。「全体に合わせる」を選ぶと、プラノグラムは、下ペイン５０３の全体に合うようサイズ変更される。これらのサイズ変更ボタン５４１の一つまたは複数が、プラノグラムが下ペイン５０３においてズームインされた後に下ペイン５０３内で見るプラノグラムをポップ・バックするために、ユーザーによって使用されることができる。図５Ｆは、プラノグラムなしでリアログラムを表示しているユーザー・インターフェース５５０のグラフィック表現を示している。ユーザー・インターフェース５５０においては、第一の可動仕切り５７０はユーザーによって下端までずっと動かされている。このアクションが図５Ｃの下ペイン５０３を隠し、上ペイン５０１のリアログラムが拡張されたビューで示されることになる。ナビゲーター５２１は、上ペイン５０１におけるリアログラムのコンテキストを示すよう変わる。サイズ変更ボタン５４１の集合は今や、拡張されたビューで示されている上ペイン５０１に関連付けられている。図５Ｇは、リアログラムが拡張されたビューの上ペイン５０１内でズームされて示されているもう一つのユーザー・インターフェース５６０のグラフィック表現を示している。ナビゲーター５２１およびフォーカス・コンポーネント５２３は一緒になって、リアログラムに関する現在のズームのコンテキストを提供する。
【００５７】
いくつかの実施形態では、プラノグラム生成モジュール２０７は、プラノグラムを修正するユーザー入力を受け取り、プラノグラム生成モジュール２０７は、該ユーザー入力に基づいてしかるべくプラノグラムを更新する。図５Ｈの例に示されるように、このグラフィック表現は、プラノグラムにおける製品画像を検証、調整および配置するためのもう一つのユーザー・インターフェース５７０を示している。ユーザー・インターフェース５７０において、下ペイン５０３のプラノグラムに含まれる製品は、ユーザーによって操作されることができる。たとえば、ユーザーは、任意の製品を、その製品をクリックし、ドラッグし、ドロップすることによって除去するおよび／またはある位置から別の位置に動かすことができる。プラノグラムにおけるいくつかの製品が傾いているまたは揃っていないように見える場合、ユーザーは製品全部を一緒に選択して、それらの製品の下端に対して整列が実行されるよう要求してもよい。いくつかの製品がプラノグラムにおいて棚の長さにわたって広がって見え、それらの間にかなりの幅のギャップがある場合には、ユーザーは、該いくつかの製品を選択して、それらが近づけられるように要求してもよい。たとえば、棚の長さにわたって広がって見える特定のブランドの複数の製品（ブランド・チャンク）が、プラノグラム上で互いに近づけられることができる。プラノグラムにおける各製品は、ユーザーによって個別に選択可能である。プラノグラムにおいてある製品が操作のためにユーザーによって選択されると、ユーザー・インターフェース５７０は、その製品に関連付けられたコンテキスト・メニューをユーザーに対して表示する。たとえば、コンテキスト・メニューは「プロパティ」、「コピー」、「削除」、「整列」、「移動」などを、ユーザーによって選択可能なオプションとして含んでいてもよい。ユーザー・インターフェース５７０は、下ペイン５０３におけるプラノグラムに関連付けられたオプション５７１の集合を含んでいてもよい。オプション５７１の集合は、「グリッドを表示」（Show  Grid）ボタンおよび「サイズを設定」（Set  Size）ボタンを含む。「グリッドを表示」ボタンがユーザーによって選択される場合、プラノグラムの背景にグリッド線が参照のために表示される。「サイズを設定」ボタンがユーザーによって選択される場合、プラノグラムにおける棚の数と、物理的な寸法における棚のサイズとを設定するための追加的なオプションが表示される。いくつかの実施形態では、「サイズを設定」を選択すると、プラノグラムを下ペイン５０３の左下に接地させることによってプラノグラムが正規化される。いくつかの実施形態では、プラノグラム生成モジュール２０７は、製品データベースにおける製品を検索するユーザーからの問い合わせを受け取る。ユーザー・インターフェース５７０は、右ペイン５０５における製品データベースを検索するための、検索（Search）ボックス５７３およびカテゴリー（Category）・メニュー５７５を含む。ユーザー・インターフェース５７０は、製品カテゴリーのリストを閲覧するためにユーザーが選択しうるカテゴリー・メニュー５７５を含んでいる。いくつかの実施形態では、検索ボックス５７３は、インクリメンタル検索機能および自由テキスト検索機能をユーザーに提供する。プラノグラム生成モジュール２０７は問い合わせを製品データベースと照合し、製品データベースにおいて問い合わせにマッチする一つまたは複数の製品を決定する。たとえば、ユーザーは、歯磨きをカテゴリーとして選択し、UPC、ブランド名、サイズ、色および／または製品名のような一つまたは複数の項目を含む問い合わせ〔クエリー〕を使ってその製品カテゴリーを検索し、製品データベースから検索基準にマッチする一つまたは複数の製品のテーブルを取得してもよい。プラノグラム生成モジュール２０７は、検索基準にマッチする一つまたは複数の製品のテーブルを、右ペイン５０５に表示する。
【００５８】
いくつかの実施形態では、プラノグラム生成モジュール２０７は、右ペイン５０５における製品テーブルから選択された製品を、下ペイン５０３のプラノグラムにおけるギャップと関連付けるユーザー要求を受け取る。プラノグラム生成モジュール２０７は、該製品の画像を、右ペイン５０５における製品テーブルから下ペイン５０３のプラノグラムにおけるギャップの中に動かすようユーザーによってなされる選択を受け取る。プラノグラム生成モジュール２０７は、選択された製品をプラノグラムにおけるギャップに配置することによって、プラノグラムを更新する。いくつかの実施形態では、プラノグラム生成モジュール２０７は、ギャップの幅が、ギャップ内に選択された製品の配置を受け入れるのに十分大きいかどうかを判定する。プラノグラム生成モジュール２０７は、ギャップの幅が十分大きいと判定される場合に、選択された製品のギャップへの配置をもってプラノグラムを更新する。ユーザーは、図５Ｈに示されるような製品データベースのテーブル表現を検索して、正しい製品認識を識別し、その正しい製品を用いてプラノグラムのギャップを埋めることができる。たとえば、右ペイン５０５において示される製品テーブルにおけるエントリーとしてリストされたある製品が、ユーザーによって選択され、ドラッグされ、下ペイン５０３のプラノグラムにドロップされることができる。このアクションは、選択された製品品目の画像をプラノグラム内のギャップに配置することに変換される。プラノグラム生成モジュール２０７は、ギャップを選択された製品品目と関連付ける。プラノグラムに配置された製品は、ユーザーによってプラノグラムについて設定された物理的寸法に基づいて、正しい大きさのサイズを取る。いくつかの実施形態では、プラノグラム生成モジュール２０７は、プラノグラムを保存するユーザー要求を受け取る。たとえば、図５Ｈにおいて、ユーザーは、「保存」（Save）ボタン５７７を選択して、プラノグラムをデータ記憶部２４３に記憶することができる。いくつかの実施形態では、プラノグラム生成モジュール２０７は、プラノグラムを、特定のファイル・フォーマットでの記憶のためにエクスポートするユーザー要求を受け取る。たとえば、図５Ｈにおいて、ユーザーが「エクスポート」（Export）ボタン５７９を選択するとき、プラノグラム生成モジュール２０７は、プラノグラムの情報を格納するCSVファイルを生成する。
【００５９】
図６Ａ〜６Ｅは、製品に関係した情報を表示するためのユーザー・インターフェースの実施形態のグラフィック表現である。図６Ａでは、グラフィック表現は、右ペイン５０５に製品テーブルを表示するためのユーザー・インターフェース６００を示している。ユーザー・インターフェース６００は、製品のテーブルを表示する右ペイン５０５を含む。製品テーブルの各行は、対応する製品のキー・サムネイル画像、UPC、呈示される側、幅、高さ、奥行きおよび名前および／または記述／説明を含む。ユーザー・インターフェース６００は、各行における特定の製品についてもっと知るための「プロパティ」ボタン６０１を含む。図６Ｂは、図６Ｂにおける「プロパティ」ボタン６０１のユーザー選択に応答して表示されるもう一つのユーザー・インターフェース６２０のグラフィック表現を示している。ユーザー・インターフェース６２０は、選択された製品についての製品情報または製品プロパティのビューが右からスライドしてはいってくるとともに、右ペイン５０５が製品テーブルのビューを左にスライド・アウトさせることを示している。図６Ｃは、右ペイン５０５における製品情報を表示するもう一つのユーザー・インターフェース６４０のグラフィック表現を示している。製品情報は、寸法（Dimensions）、カテゴリー（CATEGORY）、サブカテゴリー（SUBCATEGORY）、ブランド（BRAND）、バージョンおよび一つまたは複数の製品変種画像を含む関連製品情報を含む。ユーザー・インターフェース６４０は、製品画像の拡大バージョンを見るための製品画像ボタン６４３および製品テーブルのビューに戻るための戻るボタン６４１を含む。図６Ｄは、図６Ｃにおける製品画像ボタン６４３の選択に応答して表示されるもう一つのユーザー・インターフェース６６０のグラフィック表現を示している。ユーザー・インターフェース６６０は、選択された製品についての拡大された製品画像のビューが右からスライドしてはいってくるとともに、右ペイン５０５が製品情報のビューを左にスライド・アウトさせることを示している。図６Ｅは、右ペイン５０５における拡大された製品画像を表示するもう一つのユーザー・インターフェース６８０のグラフィック表現を示している。ユーザー・インターフェース６８０は、拡大された製品画像における高さ、幅および奥行きの製品寸法を含む。ユーザー・インターフェース６８０は、製品情報のビューに戻るための戻るボタン６８１をも含む。
【００６０】
いくつかの実施形態では、プラノグラム生成モジュール２０７は、ゼロからプラノグラムを生成するためのユーザー入力を受領する。図７Ａ〜７Ｄの例に示されるように、グラフィック表現は、プラノグラムを空っぽの状態から生成するためのユーザー・インターフェースの実施形態を示している。図７Ａでは、グラフィック表現は、プラノグラムを生成するための作業スペースを表示するユーザー・インターフェース７００を示している。ユーザー・インターフェース７００は、プラノグラムにおける棚を構成するためおよび／またはプラノグラム全体を操作するためのオプション・タブ７０１を含んでいる。図７Ｂは、図７Ａにおけるオプション（Options）・タブ７０１のユーザー選択に応答して表示されるもう一つのユーザー・インターフェース７２０のグラフィック表現を示している。ユーザー・インターフェース７２０は、棚寸法７２１、棚の数７２３および棚の高さ７２５を含む棚構成入力のもとにエントリーをリストするサブウィンドー７２７を含む。棚構成入力は、ユーザーによって入力され、保存されることができる。たとえば、ユーザーは、プラノグラムのための棚寸法を、幅8フィート、高さ6フィート、棚の数を4、棚の高さを12インチと入力してもよい。図７Ｃは、プラノグラムのための空の棚構造７４１を表示するユーザー・インターフェース７４０のグラフィック表現を示す。ユーザー・インターフェース７４０は、図７Ｂに入力された棚構成入力に基づいて空の棚構造７４１を表示する。棚構造７４１は、参照のためのグリッド線を含んでいてもよい。所望されるプラノグラムを生成するために、製品７４３が、製品テーブルから、ユーザーによって棚構造７４１にドラッグされ、ドロップされることができる。図７Ｄは、プラノグラムのための棚構造７４１を表示するもう一つのユーザー・インターフェース７６０のグラフィック表現を示している。棚構造７４１における棚が選択されるとき、ユーザー・インターフェース７６０は棚についてのコンテキスト・メニュー７６１を表示する。コンテキスト・メニュー７６１は、棚に対する対応する動作を実行するためにユーザーによって選択可能なオプションとして、「編集」、「削除」、「コピー」、「整列」、「伸長」、「拡幅」などを含んでいてもよい。
【００６１】
いくつかの実施形態では、プラノグラム生成モジュール２０７は、プラノグラムを含むデータをユーザー・インターフェース・モジュール２０９に送る。他の実施形態では、プラノグラム生成モジュール２０７は、プラノグラムを含むデータをデータ記憶部２４３に記憶する。
【００６２】
ユーザー・インターフェース・モジュール２０９は、ユーザー・インターフェースをユーザーに提供するためのソフトウェアおよび／または論理を含んでいてもよい。いくつかの実施形態では、ユーザー・インターフェース・モジュール２０９は、クライアント装置１１５のディスプレイ上でリアログラムのユーザー・インターフェースを生成するよう画像処理モジュール２０３から命令を受け取る。たとえば、ある実施形態では、リアログラムは、棚の上の認識された品目のそれぞれが、認識された品目のまわりの色付きの関心領域インジケーターをもってハイライトされた状態で、ユーザー・インターフェースに表示されてもよい。関心領域の指示がいかなる種類の視覚的インジケーターでも可能であることは理解しておくべきである。もう一つの実施形態では、リアログラムは、個々の認識された品目がそれらの相対位置にあり、すべての認識されなかった品目（たとえば棚枠、価格タグ、認識されなかった製品など）は隠されるか除去された状態で、ユーザー・インターフェースに表示されてもよい。さらにもう一つの実施形態では、リアログラムは、データベースからの対応する製品画像が認識された品目に対応する関心領域に代入された状態で、ユーザー・インターフェースに表示されてもよい。いくつかの実施形態では、ユーザー・インターフェース・モジュール２０９は、クライアント装置１１５のディスプレイ上にプラノグラムのグラフィック・ユーザー・インターフェースを生成するようプラノグラム生成モジュール２０７から命令を受け取る。いくつかの実施形態では、ユーザー・インターフェース・モジュール２０９は、ユーザーによる検索のためのテーブル表現として、製品データベースを表示するためのグラフィック・ユーザー・インターフェースを生成する。他の実施形態では、ユーザー・インターフェース・モジュール２０９は、グラフィック・ユーザー・インターフェース・データをクライアント装置１１５におけるアプリケーション（たとえばブラウザー）に、通信ユニット２４１を介して送って、該アプリケーションに、該データを、グラフィック・ユーザー・インターフェースとして表示させる。
【００６３】
図８は、棚の上の品目のリアログラムからプラノグラムを生成するための例示的方法８００のある実施形態を示す流れ図である。８０２では、画像処理モジュール２０３はリアログラムを受領する（たとえばクライアント装置１１５から）。リアログラムは、画像および該画像における認識された品目の集合についての情報を含む。いくつかの実施形態では、プラノグラム生成モジュール２０７が画像における製品または品目を同定する情報（たとえば製品識別情報および位置情報）を受け取り、段階５０２は省略されてもよい。８０４では、グループ化モジュール２０５が、各棚に対応する認識された品目の前記集合の部分集合の一つまたは複数の線形のグループ化を決定する。８０６では、プラノグラム生成モジュール２０７は、前記リアログラムと、各棚に対応する認識された品目の前記集合の前記部分集合の前記一つまたは複数の線形のグループ化とに基づいてプラノグラムを生成する。いくつかの実施形態では、プラノグラム生成モジュール２０７は、プラノグラムを生成するために前記リアログラムのそれぞれの棚を個々に処理する。８０８では、ユーザー・インターフェース・モジュール２０９が、ユーザーのクライアント装置上での呈示のためのユーザー・インターフェースを生成する。８１０では、ユーザー・インターフェース・モジュール２０９が、前記ユーザー・インターフェースの第一の部分において前記リアログラムを呈示し、前記ユーザー・インターフェースの第二の部分において前記プラノグラムを呈示する。８１２では、プラノグラム生成モジュール２０７が、ユーザーから、前記ユーザー・インターフェースを介してユーザー入力を受領する。８１４では、前記ユーザー入力に基づいて前記プラノグラムを更新する。
【００６４】
図９は、棚の上の品目の一つまたは複数の線形グループ化を決定するための例示的な方法９００のある実施形態を示す流れ図である。９０２では、グループ化モジュール２０５はリアログラムを受領する（たとえば画像処理モジュール２０３から）。リアログラムは、画像および該画像における認識された品目の集合についての情報を含む。９０４では、ユーザー・インターフェース・モジュール２０９が、ユーザーのクライアント装置上での呈示のための、前記リアログラムを呈示するユーザー・インターフェースを生成する。９０６では、グループ化モジュール２０５が、リアログラムにおける棚の一端における第一のアンカー点の選択をユーザーから受領する。９０８では、グループ化モジュール２０５は、リアログラムにおける棚の前記第一のアンカー点に隣接する第二のアンカー点の選択をユーザーから受領する。９１０では、グループ化モジュール２０５は、前記第一および第二のアンカー点をつなぐ線を形成する。その線は、リアログラムにおけるその棚の前記第一と第二のアンカー点の間に存在する認識された品目の前記集合の部分集合を通過する。９１２では、グループ化モジュール２０５は、認識された品目の前記集合の前記部分集合の一つまたは複数のグループ化を、前記第一と第二のアンカー点の間に存在する認識された品目の前記集合の前記部分集合を通る線に基づいて、決定する。
【００６５】
プラノグラムを生成するためのシステムおよび方法を記述してきた。上記の記述において、上記で紹介される技法の十全な理解を提供するために、説明の目的のために、数多くの個別的詳細が記述された。しかしながら、これらの技法がこうした個別的詳細なしに実施できることは当業者には明白であろう。他の事例では、記述を埋没させることを避けるためまた理解の容易のために、構造および装置がブロック図の形で示されている。たとえば、本技法は、主としてソフトウェアおよび特定のハードウェアを参照して記述されている。しかしながら、本発明は、データおよびコマンドを受領することができ、情報をサービスを提供する任意の周辺装置の一部として呈示することができる任意の型のコンピューティング・システムに適用できる。
【００６６】
本明細書における「一つの実施形態」または「ある実施形態」への言及は、その実施形態との関連で記述される特定の特徴、構造または特性が、少なくとも一つの実施形態に含まれることを意味する。本明細書における随所で「ある実施形態では」という句が出現することは、必ずしもみなが同じ実施形態を指しているわけではない。
【００６７】
上記の詳細な記述の一部は、コンピュータ・メモリ内のデータ・ビットに対する動作のアルゴリズムおよび記号的表現を用いて呈示される。アルゴリズム的な記述および表現は、いくつかの状況では、自分の仕事を他の当業者に伝えるためにデータ処理分野の当業者によって使用される。アルゴリズムとは、ここでは、また一般に、所望される結果に導くステップの自己整合的なシーケンスである考えられる。それらのステップは、物理量の物理的な操作を要求するものである。必須ではないが通例、これらの量は、記憶、転送、組み合わせ、比較およびその他の操作をされることができる電気信号または磁気信号の形を取る。主として慣用のため、これらの信号を、ビット、値、要素、シンボル、キャラクター、項、数などとして言及することが時に便利であることが立証されている。
【００６８】
これらおよび同様の用語が適切な物理量と関連付けられるものであり、単に、そうした量に適用される便利なラベルであることは念頭に置いておくべきである。先の議論から明白なように、そうでないことがはっきり述べられるのでない限り、本記述を通じて、「処理」、「コンピューティング」、「計算」、「決定／判別／判定」、「表示」などといった用語を利用した議論はコンピュータ・システムまたは同様の電子計算装置のアクションおよびプロセスであって、コンピュータ・システムのレジスタおよびメモリ内の物理的な（電子的な）量として表現されているデータを操作して、コンピュータ・システムのメモリもしくはレジスタまたは他のそのような情報記憶、伝送もしくは表示装置内の物理的な量として同様に表現された他のデータに変換するものを指すことが理解される。
【００６９】
本技法は、本稿の動作を実行するための装置にも関する。この装置は、要求される目的のために特に構築されていてもよいし、あるいはコンピュータに記憶されたコンピュータ・プログラムによって選択的にアクティブ化または再構成される汎用コンピュータを含んでいてもよい。そのようなコンピュータ・プログラムは、これに限られないが、フロッピーディスク、光ディスク、CD-ROM、および磁気ディスクを含む任意の型のディスク、読み出し専用メモリ（ROM）、ランダム・アクセス・メモリ（RAM）、EPROM、EEPROM、磁気または光学式カード、不揮発性メモリをもつUSBキーを含むフラッシュメモリ、あるいは電子的な命令を記憶するのに好適な任意の型の媒体のような非一時的なコンピュータ可読記憶媒体に記憶されてもよい。そのそれぞれはコンピュータ・システム・バスに結合される。
【００７０】
いくつかの実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態またはハードウェアおよびソフトウェアの両方の要素を含む実施形態の形を取ることができる。ある実施形態は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがそれに限られないソフトウェアにおいて実装される。
【００７１】
さらに、いくつかの実施形態は、コンピュータまたは任意の命令実行システムによってまたはそれとの関連で使うためのプログラム・コードを提供するコンピュータ使用可能なまたはコンピュータ読み取り可能な媒体からアクセス可能なコンピュータ・プログラム・プロダクトの形を取ることができる。本稿の目的のためには、コンピュータ使用可能またはコンピュータ読み取り可能な媒体は、命令実行システム、装置またはデバイスによってまたはそれとの関連で使うためのプログラムを含む、記憶する、通信する、伝搬させるまたは転送することのできる任意の装置であることができる。
【００７２】
プログラム・コードを記憶するおよび／または実行するのに好適なデータ処理システムは、システム・バスを通じてメモリ要素に直接的または間接的に結合された少なくとも一つのプロセッサを含むことができる。メモリ要素は、プログラム・コードの実際の実行の間に用いられるローカル・メモリ、大容量記憶および実行中にコードが大容量記憶から取得されなければならない回数を減らすために少なくとも一部のプログラム・コードの一時的な記憶を提供するキャッシュ・メモリを含むことができる。
【００７３】
入出力またはI/O装置（キーボード、ディスプレイ、ポインティングデバイスを含むがそれに限られない）がシステムに、直接または介在するI/Oコントローラを介して結合されることができる。
【００７４】
データ処理システムが他のデータ処理システムまたはリモートのプリンターもしくは記憶装置に、介在する私設または公共ネットワークを通じて結合されることができるようにするために、ネットワーク・アダプターが本システムに結合されてもよい。モデム、ケーブル・モデムおよびイーサネット（登録商標）カードは、現在利用可能な型のネットワーク・アダプターのほんの数例である。
【００７５】
最後に、本稿に呈示されたアルゴリズムおよび表示は、いかなる特定のコンピュータまたは他の装置にも本来的に関係してはいない。さまざまな汎用システムが本稿の教示に基づくプログラムとともに利用されうる。あるいは、要求される方法ステップを実行するために、より特化した装置を構築することが便利であると判明することもありうる。多様なこれらのシステムのための要求される構造は上記の記述から明白となろう。さらに、本技法は、いかなる特定のプログラミング言語を参照して記述されるのでもない。多様なプログラミング言語が、本稿に記載されるさまざまな実施形態の教示を実装するために使用されうる。
【００７６】
実施形態の上記の記述は、例解および説明のために呈示されたものである。網羅的であることも、本明細書を開示される厳密な形に限定することも意図されていない。上記の教示に照らして多くの修正および変形が可能である。実施形態の範囲がこの詳細な説明によって限定されるのではなく、本願の請求項によって基底されることが意図されている。実施例は、その精神または本質的な特徴から外れることなく、他の具体的な形で具現されてもよい。同様に、モジュール、ルーチン、特徴、属性、方法論および他の側面の具体的な名称および分割は、必須でも重要でもない。本記載またはその特徴を実装する機構は異なる名称、分割および／またはフォーマットを有していてもよい。さらに、当業者には明白であろうが、本明細書のモジュール、ルーチン、特徴、属性、方法論および他の側面は、ソフトウェア、ハードウェア、ファームウェアまたはこれら三つの任意の組み合わせとして実装されることができる。また、本明細書のコンポーネント（その一例はモジュール）がソフトウェアとして実装されるときは常に、該コンポーネントはスタンドアローンのプログラムとして、より大きなプログラムの一部として、複数の別個のプログラムとして、静的または動的にリンクされたライブラリとして、カーネル・ロード可能モジュールとして、デバイス・ドライバーとしておよび／または現在または将来、コンピュータ・プログラミングにおいて当業者に既知の他のあらゆる任意の仕方で実装されることができる。さらに、本明細書は、決して、いかなる特定のプログラミング言語での具現にも、いかなる特定のオペレーティング・システムまたは環境のための具現にも、限定されない。よって、本開示は、請求項に記載される本明細書の範囲を限定するのではなく例解することが意図されている。
【符号の説明】
【００７７】
１００  リアログラムからプラノグラムを生成するためのユーザー・インターフェースを生成するシステム
１０１  認識サーバー
１０３  プラノグラム・アプリケーション
１０５  ネットワーク
１１５  クライアント装置
２００  プラノグラム・アプリケーションを含むコンピューティング装置
２０１  コントローラ
２０３  画像処理モジュール
２０５  グループ化モジュール
２０７  プラノグラム生成モジュール
２０９  ユーザー・インターフェース・モジュール
２３５  プロセッサ
２３７  メモリ
２３９  表示装置
２４１  通信ユニット
２４３  データ記憶部
２４７  捕捉装置
８００  棚の上の品目のリアログラムからプラノグラムを生成するための例示的方法
８０２  リアログラムを受領。リアログラムは、画像および該画像における一組の認識された品目についての情報を含む
８０４  各棚に対応する一組の認識された品目の部分集合の一つまたは複数の線形のグループ化を決定
８０６  リアログラムと、各棚に対応する一組の認識された品目の部分集合の前記一つまたは複数の線形のグループ化とに基づいてプラノグラムを生成
８０８  ユーザーのクライアント装置上での呈示のためのユーザー・インターフェースを生成
８１０  ユーザー・インターフェースの第一の部分においてリアログラムを、ユーザー・インターフェースの第二の部分においてプラノグラムを呈示
８１２  ユーザーから、ユーザー・インターフェースを介してユーザー入力を受領
８１４  ユーザー入力に基づいてプラノグラムを更新
９００  棚の上の品目の一つまたは複数の線形グループ化を決定するための例示的な方法
９０２  リアログラムを受領。リアログラムは、画像および該画像における一組の認識された品目についての情報を含む
９０４  ユーザーのクライアント装置上での呈示のための、リアログラムを呈示するユーザー・インターフェースを生成
９０６  リアログラム中の棚の一方の側における第一のアンカー点の選択をユーザーから受領
９０８  リアログラム中の棚の第一のアンカー点に隣接する第二のアンカー点の選択をユーザーから受領
９１０  第一および第二のアンカー点をつなぐ線を形成。その線は、リアログラム中のその棚の前記第一と第二のアンカー点の間に存在する一組の認識された品目の部分集合を通る
９１２  一組の認識された品目の前記部分集合の一つまたは複数のグループ化を、第一と第二のアンカー点の間に存在する一組の認識された品目の前記部分集合を通る線に基づいて、決定
【図１】
2018181321.tif 000003
【図２】
2018181321.tif 000004
【図３Ａ】
2018181321.tif 000005
【図３Ｂ】
2018181321.tif 000006
【図４Ａ】
2018181321.tif 000007
【図４Ｂ】
2018181321.tif 000008
【図４Ｃ】
2018181321.tif 000009
【図４Ｄ】
2018181321.tif 000010
【図４Ｅ】
2018181321.tif 000011
【図４Ｆ】
2018181321.tif 000012
【図４Ｇ】
2018181321.tif 000013
【図５Ａ】
2018181321.tif 000014
【図５Ｂ】
2018181321.tif 000015
【図５Ｃ】
2018181321.tif 000016
【図５Ｄ】
2018181321.tif 000017
【図５Ｅ】
2018181321.tif 000018
【図５Ｆ】
2018181321.tif 000019
【図５Ｇ】
2018181321.tif 000020
【図５Ｈ】
2018181321.tif 000021
【図６Ａ】
2018181321.tif 000022
【図６Ｂ】
2018181321.tif 000023
【図６Ｃ】
2018181321.tif 000024
【図６Ｄ】
2018181321.tif 000025
【図６Ｅ】
2018181321.tif 000026
【図７Ａ】
2018181321.tif 000027
【図７Ｂ】
2018181321.tif 000028
【図７Ｃ】
2018181321.tif 000029
【図７Ｄ】
2018181321.tif 000030
【図８】
2018181321.tif 000031
【図９】
2018181321.tif 000032