(57)【要約】      （修正有）【課題】異なる条件下で正しい大きさで品目の画像をキャプチャするようユーザを誘導するテンプレートセットを提供する。【解決手段】品目の寸法を含む該品目の商品情報を受信し及び提示する第１ユーザインタフェースを生成するステップと、第１画像を受信するステップと、品目の寸法に合うよう大きさの定められるテンプレートに含まれる境界ボックスを第２画像に重ね合わせて提示する第２ユーザインタフェースを生成するステップと、境界ボックスの範囲内にある第２画像の一部をキャプチャするための入力を受信するステップと、第１画像と第２画像のキャプチャした一部とを品目のフェイスの変異形として提示するために、第３ユーザインタフェースを生成するステップと、品目のフェイスの一変異形として第２画像のキャプチャした一部を及び品目の情報をデータベースに格納するステップと、を有する。【選択図】図１０Ａ
2018190398.tif 000002
【特許請求の範囲】
【請求項１】
品目の寸法を含む該品目の商品情報を受信し及び提示するよう構成される第１ユーザインタフェースを生成するステップと、
第１画像を受信するステップと、
テンプレートを提示するために第２ユーザインタフェースを生成するステップであって、前記テンプレートは、前記品目の前記寸法に合うよう大きさの定められる境界ボックスを含み、前記第２ユーザインタフェースは、前記境界ボックスを第２画像に重ね合わせて提示するよう構成される、ステップと、
前記境界ボックスの範囲内にある前記第２画像の一部をキャプチャするための入力を受信するステップと、
前記第２画像をキャプチャするための前記入力に応答して、前記第１画像と前記第２画像の前記キャプチャした一部とを前記品目のフェイスの変異形として提示するために、第３ユーザインタフェースを生成するステップと、
前記品目の前記フェイスの一変異形として前記第２画像の前記キャプチャした一部を及び前記品目の前記情報をデータベースに格納するステップと、
を有する、コンピュータにより実施される方法。
【請求項２】
画像の前記キャプチャを指示し、前記品目の商品情報を検索するため及び前記第１ユーザインタフェース内に前記商品情報を提示するために前記画像を使用する初期ユーザインタフェースを生成するステップ、を更に有する請求項１に記載の、コンピュータにより実施される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書は、概して、コンピュータビジョンシステムのための商品データベースを構築するために商品画像を取得することに関する。特に、本願明細書は、異なる条件下で正しい大きさで品目の画像をキャプチャするようユーザを誘導するテンプレートセットを提示するユーザインタフェースを生成するシステム及び方法に関する。
【背景技術】
【０００２】
標準的に、コンピュータビジョンシステムは、デジタル画像又はビデオから高水準の理解を得るために使用される。コンピュータビジョンタスクは、数値又は記号情報を生成するために、デジタル画像を取得し、処理し、分析し、及び理解する方法、並びに現実世界からの高次元データの抽出を含む。コンピュータビジョンの１つの重要な側面は、データベースを生成することであって、該データベースに対して新しい画像が比較され得る。特に、オブジェクト又は商品の認識に関して、完全なデータベースが重要である。画像認識処理は、商品のクエリ画像を受信すること、及びデータベース内に格納された画像のうちの１つがクエリ画像に一致するか否かを決定するためにデータベースを検索することを含む。肯定的一致がある場合、画像認識は成功する。しかしながら、データベースが商品の情報を有する場合でも、データベースが各商品に関して限られた情報しか有しないとき、画像認識は、常に成功するわけではない。
【０００３】
商品の認識における従来の試みは欠点を有する。例えば、商品のクエリ画像について一致を検索するために使用されるデータベース内に格納された画像が、クエリ画像に「類似」して見えないことを理由に、商品の認識は失敗する。ロバストな画像認識をサポートするために、正しい種類の画像及び十分な数の画像がデータベースに格納されるべきである。残念ながら、現在の方法は、この問題に対して信頼できる且つ効率的な解決策を提供しない。
【発明の概要】
【０００４】
本願明細書で紹介した技術は、異なる条件下で正しい大きさで品目の画像をキャプチャするようユーザを誘導するテンプレートセットを提示するユーザインタフェースを生成するシステム及び方法により、従来技術の欠点及び制限を少なくとも部分的に克服する。一実施形態では、システムは、１又は複数のプロセッサと命令を格納するメモリとを有し、該命令は、実行されると、前記１又は複数のプロセッサに、品目の寸法を含む該品目の商品情報を受信し及び提示するよう構成される第１ユーザインタフェースを生成させ、第１画像を受信させ、テンプレートを提示するために第２ユーザインタフェースを生成させ、前記テンプレートは、前記品目の前記寸法に合うよう大きさの定められる境界ボックスを含み、前記第２ユーザインタフェースは、前記境界ボックスを第２画像に重ね合わせて提示するよう構成され、前記境界ボックスの範囲内にある前記第２画像の一部をキャプチャするための入力を受信させ、前記第２画像をキャプチャするための前記入力に応答して、前記第１画像と前記第２画像の前記キャプチャした一部とを前記品目の面の変異形として提示するために、第３ユーザインタフェースを生成させ、前記品目の前記フェイスの一変異形として前記第２画像の前記キャプチャした一部を及び前記品目の前記情報をデータベースに格納させる。
【０００５】
他の態様は、上述の及び他の新規な態様のための対応する方法、システム、装置及びコンピュータプログラムを有する。
【０００６】
本願明細書に記載される特徴及び利点は網羅的ではなく、図面及び説明を参照して多くの追加の特徴及び利点が明らかになるだろう。さらに、留意すべき点は、本願明細書で用いられる語は、基本的に読み易さ及び説明的目的で選択されており、記載の技術の範囲を制限しない。
【図面の簡単な説明】
【０００７】
ここで紹介する技術は、例を用いて説明され、添付の図面に限定されるものではない。図中、同様の参照符号は同様の要素を表すために用いられる。
【図１】異なる条件下で正しい大きさで品目の画像をキャプチャするようユーザを誘導するテンプレートセットを提示するユーザインタフェースを生成するシステムの一実施形態を示す上位ブロック図である。
【図２】プラノグラムアプリケーションを有するコンピューティング装置の一実施形態を示すブロック図である。
【図３】データベースから品目の情報を検索する処理の一実施形態のグラフィカル表現である。
【図４Ａ】品目の情報を収集するようユーザに指示する誘導情報キャプチャ処理の一実施形態のグラフィカル表現である。
【図４Ｂ】品目の情報を収集するようユーザに指示する誘導情報キャプチャ処理の一実施形態のグラフィカル表現である。
【図４Ｃ】品目の情報を収集するようユーザに指示する誘導情報キャプチャ処理の一実施形態のグラフィカル表現である。
【図４Ｄ】品目の情報を収集するようユーザに指示する誘導情報キャプチャ処理の一実施形態のグラフィカル表現である。
【図４Ｅ】品目の情報を収集するようユーザに指示する誘導情報キャプチャ処理の一実施形態のグラフィカル表現である。
【図４Ｆ】品目の情報を収集するようユーザに指示する誘導情報キャプチャ処理の一実施形態のグラフィカル表現である。
【図４Ｇ】品目の情報を収集するようユーザに指示する誘導情報キャプチャ処理の一実施形態のグラフィカル表現である。
【図５】例示的な誘導キャプチャテンプレートのグラフィカル表現である。
【図６Ａ】携帯電話機のユーザインタフェースに含まれる例示的なキャプチャゾーンのグラフィカル表現である。
【図６Ｂ】携帯電話機のユーザインタフェースに含まれる例示的なキャプチャゾーンのグラフィカル表現である。
【図７Ａ】タブレットコンピュータのユーザインタフェースに含まれる例示的なキャプチャゾーンのグラフィカル表現である。
【図７Ｂ】タブレットコンピュータのユーザインタフェースに含まれる例示的なキャプチャゾーンのグラフィカル表現である。
【図８】データベース内の商品変異形に基づき動的に生成される例示的なテンプレートのグラフィカル表現である。
【図９】品目の情報を収集するようユーザに指示する例示的な方法の一実施形態を示すフロー図である。
【図１０Ａ】異なる条件下で正しい大きさで品目の画像をキャプチャするようユーザを誘導するテンプレートセットを提示するユーザインタフェースを生成する例示的な方法の一実施形態を示すフロー図である。
【図１０Ｂ】異なる条件下で正しい大きさで品目の画像をキャプチャするようユーザを誘導するテンプレートセットを提示するユーザインタフェースを生成する例示的な方法の一実施形態を示すフロー図である。
【図１０Ｃ】異なる条件下で正しい大きさで品目の画像をキャプチャするようユーザを誘導するテンプレートセットを提示するユーザインタフェースを生成する例示的な方法の一実施形態を示すフロー図である。
【発明を実施するための形態】
【０００８】
図１は、リアログラム（realogram）からプラノグラム（planogram）を作成するユーザインタフェースを生成するシステム１００の一実施形態を示す上位ブロック図である。図示のシステム１００は、ユーザ及び認識サーバ１０１によりアクセスできる１又は複数のクライアント装置１１５ａ．．．１１５ｎを有して良い。図１及び以下の図では、参照符号、例えば「１１５ａ」の後の文字は、特定の参照符号を有する要素への参照を表す。文章中の、後続の文字を有しない参照符号、例えば「１１５」は、その参照符号を付された要素の任意の又は全ての例への全般的な参照を表す。図示の実施形態では、システム１００のこれらのエンティティはネットワーク１０５を介して通信可能に結合される。
【０００９】
ネットワーク１０５は、従来型の有線又は無線であり、スター構成、トークンリング構成若しくは他の構成を含む多数の異なる構成を有して良い。さらに、ネットワーク１０５は、ＬＡＮ（local  area  network）、ＷＡＮ（wide  area  network）（例えば、インターネット）、及び／又は複数の装置が通信できる他の相互接続されたデータ経路を有して良い。幾つかの実施形態では、ネットワーク１０５は、ピアツーピアネットワークであって良い。ネットワーク１０５は、種々の異なる通信プロトコルでデータを送信する通信ネットワークの一部に結合され又はそれを含んで良い。幾つかの実施形態では、ネットワーク１０５は、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信ネットワーク又はＳＭＳ（short  messaging  service）、ＭＭＳ（multimedia  messaging  service）、ＨＴＴＰ（hypertext  transfer  protocol）、直接データ接続、ＷＡＰ、電子メール等を介することを含むデータを送信及び受信するセルラ通信ネットワークを有して良い。図１はクライアント装置１１５及び認識サーバ１０１に結合された１つのネットワーク１０５を示すが、実際には、１又は複数のネットワーク１０５がこれらのエンティティに接続できる。
【００１０】
幾つかの実施形態では、システム１００は、ネットワーク１０５に結合される認識サーバ１０１を有する。認識サーバ１０１は、プロセッサ、メモリ、アプリケーション、データベース及びネットワーク通信能力を有するコンピューティング装置であって良く、又はそれらにより実装されて良い。図１の例では、認識サーバ１０１のコンポーネントは、以下に詳述するプラノグラムアプリケーション１０３ａを実装するために構成される。一実施形態では、認識サーバ１０１は、棚、ラック又は展示にある商品を識別し及び商品の配置を構成する構造化方法（例えば、プラノグラム）を決定するサービスを消費者包装品（consumer  packaged  goods：ＣＰＧ）会社に提供する。本願明細書の例は、小売展示のような棚の画像の中の商品の認識を記載するが、画像は系統的なオブジェクト又は品目の任意の配置を有しても良いことが理解されるべきである。例えば、画像は、倉庫、貯蔵室、保管室、キャビネット、等であって良い。同様に、オブジェクトは、小売商品に加えて、製造、建築又は保守、薬剤、救急補給品、緊急又は安全設備、等で用いられるツール、部品であって良い。
【００１１】
幾つかの実施形態では、認識サーバ１０１は、ネットワーク１０５を介して、システム１００の他のエンティティへ及びそれらからデータを送受信する。例えば、認識サーバ１０１は、画像を含むデータをクライアント装置１１５へ送信し及びそれから受信する。認識サーバ１０１により受信された画像は、クライアント装置１１５によりキャプチャされる画像、ウェブサイト若しくは電子メールからコピーされる画像、又は任意の他のソースからの画像を有して良い。図１には単一の認識サーバ１０１のみが示されるが、任意の数の認識サーバ１０１又はサーバクラスタが存在して良いことが理解されるべきである。認識サーバ１０１はデータ記憶装置を有して良い。
【００１２】
クライアント装置１１５は、メモリとプロセッサとカメラとを有するコンピューティング装置、例えばラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、移動電話機、スマートフォン、ＰＤＡ（personal  digital  assistant）、モバイル電子メール装置、ウェブカメラ、ユーザウエアラブルコンピューティング装置、又はネットワーク１０５にアクセス可能な任意の他の電子装置であって良い。クライアント装置１１５は、任意の種類のアプリケーションに汎用グラフィック及びマルチメディア処理を提供する。例えば、クライアント装置１１５は、グラフィック及びマルチメディア処理を扱うＧＰＵ（graphics  processor  unit）を有して良い。クライアント装置１１５は、認識サーバ１０１により提供される情報を閲覧するためのディスプレイを有する。図１は２個のクライアント装置１１５ａ及び１１５ｎを示すが、本開示は１又は複数のクライアント装置１１５を有するシステムアーキテクチャに適用される。
【００１３】
クライアント装置１１５は、データを認識サーバ１０１へ送信し及びそれから受信するよう適応される。例えば、クライアント装置１１５は、認識サーバ１０１へキャプチャ画像を送信し、認識サーバ１０１は、該キャプチャ画像の中で認識された１又は複数のオブジェクトに関するＪＳＯＮ（JavaScript（登録商標）Object  Notation）フォーマットのデータをクライアント装置１１５に提供する。クライアント装置１１５は、画像処理中に特徴位置及び特徴記述の決定のためにApple  iOS（商標）でのMetal又はAndroid（商標）でのRenderScriptのようなグラフィカルＡＰＩ（application  program  interface）の使用をサポートして良い。
【００１４】
プラノグラムアプリケーション１０３は、品目の画像をキャプチャするとき、異なる条件下で品目を正しく大きさ決めするようユーザを誘導するためのテンプレートセットを提示するユーザインタフェースを生成する機能を提供するソフトウェア及び／又はロジックを有して良い。幾つかの実施形態では、プラノグラムアプリケーション１０３は、ＦＰＧＡ（field−programmable  gate  array）又はＡＳＩＣ（application−specific  integrated  circuit）のようなプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、プラノグラムアプリケーション１０３は、ハードウェア及びソフトウェアの組み合わせを用いて実装できる。他の実施形態では、プラノグラムアプリケーション１０３は、クライアント装置１１５及び認識サーバ１０１の組合せに、又はクライアント装置１１５若しくは認識サーバ１０１のうちの任意の１つに、格納され実行されて良い。
【００１５】
幾つかの実施形態では、プラノグラムアプリケーション１０３ｂは、一部の機能がクライアント装置１１５で実行され且つ追加機能がプラノグラムアプリケーション１０３ａにより認識サーバ１０１で実行される小型軽量クライアントアプリケーションであって良い。例えば、クライアント装置１１５上のプラノグラムアプリケーション１０３ｂは、画像をキャプチャし、画像を認識サーバ１０１へ送信し、画像認識結果を表示するソフトウェア及び／又はロジックを有し得る。別の例では、認識サーバ１０１上のプラノグラムアプリケーション１０３ａは、画像キャプチャで使用するためのテンプレートシリーズを生成するソフトウェア及び／又はロジックを有し得る。プラノグラムアプリケーション１０３ａ又は１０３ｂは、画像を処理する及び特徴識別を実行するような、本願明細書に記載の更なる機能を有して良い。プラノグラムアプリケーション１０３の動作及び上述の機能は、図３〜１０を参照して以下に詳述する。
【００１６】
図２は、プラノグラムアプリケーション１０３を有するコンピューティング装置２００の一実施形態を示すブロック図である。コンピューティング装置２００は、幾つかの例に従って、プロセッサ２３５、メモリ２３７、任意ディスプレイ装置２３９、通信ユニット２４１、データ記憶装置２４３、及び任意キャプチャ装置２４７も有して良い。コンピューティング装置２００のコンポーネントは、バス２２０により通信可能に結合される。バス２２０は、ＩＳＡ（industry  standard  architecture）バス、ＰＣＩ（peripheral  component  interconnect）バス、ＵＳＢ（universal  serial  bus）又は同様の機能を提供する従来知られている特定の他のバスを含む１又は複数のバスを表しても良い。幾つかの実施形態では、コンピューティング装置２００は、クライアント装置１１５、認識サーバ１０１、又はクライアント装置１１５と認識サーバ１０１との組合せであって良い。コンピューティング装置２００がクライアント装置１１５又は認識サーバ１０１であるこのような実施形態では、クライアント装置１１５及び認識サーバ１０１は、上述したが図２に示されない他のコンポーネントを有して良いことが理解されるべきである。
【００１７】
プロセッサ２３５は、種々の入力／出力、論理、及び／又は演算動作を実行することによりソフトウェア命令を実行して良い。プロセッサ２３５は、例えばＣＩＳＣ（complex  instruction  set  computer）アーキテクチャ、ＲＩＳＣ（reduced  instruction  set  computer）アーキテクチャ、及び／又は命令セットの組合せを実施するアーキテクチャを含む、データ信号を処理する種々のコンピューティングアーキテクチャを有して良い。プロセッサ２３５は、物理的及び／又は仮想的であって良く、単一の信号処理ユニット又は複数の信号処理ユニット及び／又はコアを有して良い。幾つかの実装では、プロセッサ２３５は、電子ディスプレイ信号を生成しディスプレイ装置に提供し、画像の表示をサポートし、画像をキャプチャ及び送信し、種々の特徴抽出及びサンプリングを含む複雑なタスクを実行する、等が可能であって良い。幾つかの実装では、プロセッサ２３５は、バス２２０を介してメモリ２３７に結合されて良く、該メモリからのデータ及び命令にアクセスし、該メモリにデータを格納して良い。バス２２０は、例えばメモリ２３７、通信ユニット２４１、プラノグラムアプリケーション１０３、及びデータ記憶装置２４３を含むコンピューティング装置２００の他のコンポーネントに、プロセッサ２３５を結合して良い。当業者には、他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、物理的構成が可能であることが明らかである。
【００１８】
メモリ２３７は、コンピューティング装置２００の他のコンポーネントのためにデータを格納しデータへのアクセスを提供して良い。メモリ２３７は、本願明細書のどこかで議論されるように、単一のコンピューティング装置に含まれ又は複数のコンピューティング装置の間に分散されて良い。幾つかの実装では、メモリ２３７は、プロセッサ２３５により実行され得る命令及び／又はデータを格納して良い。命令及び／又はデータは、本願明細書に記載の技術を実行するコードを有して良い。例えば、一実施形態では、メモリ２３７は、プラノグラムアプリケーション１０３を格納して良い。メモリ２３７は、例えばオペレーティングシステム、ハードウェアドライバ、他のソフトウェアアプリケーション、データベース、等を含む他の命令及びデータも格納可能である。メモリ２３７は、プロセッサ２３５及びコンピューティング装置２００の他のコンポーネントと通信するために、バス２２０に結合されて良い。
【００１９】
メモリ２３７は、１又は複数の非一時的コンピュータ使用可能（例えば、可読、書き込み可能）装置、ＳＲＡＭ（static  random  access  memory）装置、ＤＲＡＭ（dynamic  random  access  memory）装置、埋め込みメモリ装置、個別メモリ装置（例えば、ＰＲＯＭ、ＥＰＲＯＭ、ＲＯＭ）、ハードディスクドライブ、光ディスクドライブ（ＣＤ、ＤＶＤ、Ｂｌｕｅ−ｒａｙ（登録商標）、等）媒体を有して良く、プロセッサ２３５により若しくはプロセッサ２３５と共に処理するために、命令、データ、コンピュータプログラム、ソフトウェア、コード、ルーチン、等を有し、格納し、通信し、又は伝送できる任意の有形機器若しくは装置であり得る。幾つかの実装では、メモリ２３７は、揮発性メモリ及び不揮発性メモリのうちの１又は複数を有して良い。理解されるべきことに、メモリ２３７は、単一の装置であって良く、又は複数種類の装置及び構成を有して良い。
【００２０】
ディスプレイ装置２３９は、ＬＣＤ（liquid  crystal  display）、ＬＥＤ（light  emitting  diode）又は任意の他の同様の搭載ディスプレイ装置、スクリーン若しくはモニタである。ディスプレイ装置２３９は、本願明細書に記載のようなユーザインタフェース、電子画像、及びデータを表示するために備えられた任意の装置を表す。異なる実施形態では、ディスプレイは２値（ピクセルに対して２個の異なる値のみ）、モノクロ（１色のうちの複数の陰影）であり、又は複数色及び陰影が可能である。ディスプレイ装置２３９は、プロセッサ２３５及びコンピューティング装置２００の他のコンポーネントと通信するために、バス２２０に結合される。留意すべきことに、ディスプレイ装置２３９は、任意であることを示すために、図２に破線で示される。例えば、コンピューティング装置２００が認識サーバ１０１である場合、ディスプレイ装置２３９はシステムの部分ではなく、コンピューティング装置２００がクライアント装置１１５である場合、ディスプレイ装置２３９が含まれ、画像及び関連する認識結果を表示するために使用される。
【００２１】
通信ユニット２４１は、プロセッサ２３５をネットワーク１０５及び他の処理システムに接続することにより、データを受信し及び送信するハードウェアである。通信ユニット２４１は、クライアント装置１１５から要求のようなデータを受信し、制御部２０１へ要求、例えば画像を処理する要求を送信する。通信ユニット２４１は、例えば画像を処理することに応答して、表示のために、クライアント装置１１５へ認識結果を含む情報も送信する。通信ユニット２４１はバス２２０に結合される。一実施形態では、通信ユニット２４１は、クライアント装置１１５への又は別の通信チャネルへの直接物理接続のためのポートを有して良い。例えば、通信ユニット２４１は、クライアント装置１１５との有線通信のためにＲＪ４５ポート又は類似のポートを有して良い。別の実施形態では、通信ユニット２４１は、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６、Ｂｌｕｅｔｏｏｔｈ（登録商標）又は別の適切な無線通信方法のような１又は複数の無線通信方法を用いて、クライアント装置１１５又は任意の他の通信チャネルとデータを交換するために無線通信機（図示しない）を有して良い。
【００２２】
更に別の実施形態では、通信ユニット２４１は、ＳＭＳ（short  messaging  service）、ＭＭＳ（multimedia  messaging  service）、ＨＴＴＰ（hypertext  transfer  protocol）、直接データ接続、ＷＡＰ、電子メール又は他の適切な種類の電子通信等を介してセルラネットワークでデータを送信及び受信するセルラ通信トランシーバを有して良い。更に別の実施形態では、通信ユニット２４１は、有線ポート及び無線通信機を有して良い。通信ユニット２４１は、当業者に理解されるように、ＴＣＰ／ＩＰ、ＦＴＰ、ＨＴＴＰ、ＨＴＴＰＳ及びＳＭＴＰのような標準的ネットワークプロトコルを用いてファイル及び／又はメディアオブジェクトを分配するために、ネットワーク１０５への他の従来型接続も提供する。
【００２３】
データ記憶装置２４３は、本願明細書に記載の機能を提供するためにデータを格納する非一時的メモリである。データ記憶装置２４３は、ＤＲＡＭ（dynamic  random  access  memory）素子、ＳＲＡＭ（static  random  access  memory）素子、フラッシュメモリ又は何らかの他のメモリ素子であって良い。幾つかの実施形態では、データ記憶装置２４３は、不揮発性メモリ、又はハードディスクドライブ、フロッピディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリ装置又は従来知られているより永久的に情報を格納する特定の他の大容量記憶装置を含む同様の永久記憶装置及び媒体も有して良い。
【００２４】
図示の実施形態では、データ記憶装置２４３は、バス２２０に通信可能に結合される。データ記憶装置２４３は、受信した画像を分析するためのデータ、分析の結果、及び本願明細書に記載のような他の機能を格納する。例えば、データ記憶装置２４３は、画像認識目的で、複数の最小在庫管理単位のデータベーステーブル又はテンプレートを格納して良い。最小在庫管理単位（stock  keeping  unit：ＳＫＵ）は、セールのために提供される商品のような明白に区別される品目である。データベーステーブルは、品目を全ての他の品目から明白に区別される商品として区別可能にする全ての属性を含む。例えば、これらの属性は、ユニークな識別子（例えば、汎用商品コード（Universal  Product  Code：ＵＰＣ））、商品名、物理的寸法（例えば、幅、高さ、奥行き、等）、サイズ（例えば、リッター、ガロン、オンス、ポンド、キログラム、液量オンス、等）、フェイシング側（例えば、前、後、横、上、底、等）、説明、ブランド製造者、色、梱包バージョン、材料、型番、価格、値引き、基本画像、等を含む。用語「最小在庫管理単位」又は「ＳＫＵ」は、在庫の中の特定の商品又はサービスを参照するユニークな識別子も表して良い。幾つかの実施形態では、データ記憶装置２４３は、受信画像、受信画像について決定された特徴セット、及び受信画像に関連付けられたリアログラムを格納する。データ記憶装置２４３は、同様に、１又は複数のプラノグラムを格納して良い。さらに、データ記憶装置２４３は、１又は複数のプラノグラムを評価する際に使用されるデータセットを格納して良い。幾つかの実施形態では、データ記憶装置２４３は、品目のフェイスに関連付けられた変異形画像、及び変異形画像をキャプチャする際に使用されるテンプレートも格納する。データ記憶装置２４３に格納されたデータは、以下に詳細に記載される。
【００２５】
キャプチャ装置２４７は、関心オブジェクトの画像又はデータをデジタル的にキャプチャするよう動作して良い。例えば、キャプチャ装置２４７は、ＨＤ（high  definition）カメラ、標準２Ｄカメラ、マルチスペクトルカメラ、構造光３Ｄカメラ、飛行時間３Ｄカメラ、立体カメラ、標準的なスマートフォンカメラ、又はウェアラブルコンピューティング装置であって良い。キャプチャ装置２４７は、プロセッサ２３５、メモリ２３７、又はデータ記憶装置２４３に画像及び他の処理済みメタデータを提供するために、バスに結合される。留意すべきことに、キャプチャ装置２４７は、任意であることを示すために、図２に破線で示される。例えば、コンピューティング装置２００が認識サーバ１０１である場合、キャプチャ装置２４７はシステムの部分ではなく、コンピューティング装置２００がクライアント装置１１５である場合、キャプチャ装置２４７が含まれ、画像及び後述する他のメタデータ情報を提供するために使用される。
【００２６】
幾つかの実施形態では、プラノグラムアプリケーション１０３は、制御部２０１、画像処理モジュール２０３、グルーピングモジュール２０５、プラノグラム生成モジュール２０７、ユーザインタフェースモジュール２０９、商品画像キャプチャモジュール２１１、誘導キャプチャモジュール２１３、及び動的テンプレート生成モジュール２１５を有して良い。プラノグラムアプリケーション１０３のコンポーネントは、バス２２０により通信可能に結合される。プラノグラムアプリケーション１０３のコンポーネントは、それぞれ、それらの個々の機能を提供するソフトウェア及び／又はロジックを有して良い。幾つかの実施形態では、プラノグラムアプリケーション１０３のコンポーネントは、それぞれ、ＦＰＧＡ（field−programmable  gate  array）又はＡＳＩＣ（application−specific  integrated  circuit）を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、プラノグラムアプリケーション１０３のコンポーネントは、それぞれ、ハードウェアとプロセッサ２３５により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、プラノグラムアプリケーション１０３のコンポーネントは、それぞれ、メモリ２３７に格納され、プロセッサ２３５によりアクセス可能且つ実行可能であって良い。幾つかの実装では、プラノグラムアプリケーション１０３のコンポーネントは、それぞれ、プロセッサ２３５、メモリ２３７及びプラノグラムアプリケーション１０３の他のコンポーネントとバス２２０を介して協働し通信するために適応されて良い。
【００２７】
制御部２０１は、プラノグラムアプリケーション１０３の他のコンポーネントの動作を制御するためにソフトウェア及び／又はロジックを有して良い。制御部２０１は、図９〜１０を参照して以下に記載される方法を実行するためにプラノグラムアプリケーション１０３の他のコンポーネントを制御する。制御部２０１は、プラノグラムアプリケーション１０３とコンピューティング装置２００の他のコンポーネントとの間の、並びにプラノグラムアプリケーション１０３のコンポーネント同士の間の通信を処理する機能を提供するために、ソフトウェア及び／又はロジックを有して良い。
【００２８】
幾つかの実施形態では、制御部２０１は、通信ユニット２４１を介して、データをクライアント装置１１５及び認識サーバ１０１のうちの１又は複数へ送信し及びそれらから受信する。例えば、制御部２０１は、通信ユニット２４１を介して、ユーザにより操作されるクライアント装置１１５から画像を受信し、画像処理モジュール２０３へ画像を送信する。別の例では、制御部２０１は、グラフィカルユーザインタフェースをユーザに提供するためのデータをユーザインタフェースモジュール２０９から受信し、クライアント装置１１５へデータを送信して、クライアント装置１１５にユーザに対してユーザインタフェースを提示させる。
【００２９】
幾つかの実施形態では、制御部２０１は、プラノグラムアプリケーション１０３の他のコンポーネントからデータを受信し、データ記憶装置２４３に該データを格納する。例えば、制御部２０１は、画像について識別された特徴を含むデータを画像処理モジュール２０３から受信し、データ記憶装置２４３に該データを格納する。他の実施形態では、制御部２０１は、データ記憶装置２４３からデータを読み出し、プラノグラムアプリケーション１０３の他のコンポーネントへ該データを送信する。例えば、制御部２０１は、品目又は商品を含むデータをデータ記憶装置２４３から読み出し、プラノグラム生成モジュール２０７に該読み出したデータを送信する。
【００３０】
幾つかの実施形態では、プラノグラムアプリケーション１０３とコンピューティング装置２００の他のコンポーネントとの間の、及びプラノグラムアプリケーション１０３のコンポーネント間の通信は、自律的に生じ、制御部２０１と独立であり得る。
【００３１】
画像処理モジュール２０３は、クライアント装置１１５から、棚の１又は複数の画像を受信し処理する機能を提供するソフトウェア及び／又はロジックを有して良い。例えば、画像は、１又は複数の小売店舗内の一式の棚にある品目の現在レイアウトを示す画像であって良い。一式の棚のプラノグラムが利用可能ではない又は最新ではない場合、画像は、対応するプラノグラムを決定する際の開始点として機能する。
【００３２】
幾つかの実施形態では、画像処理モジュール２０３は、クライアント装置１１５から一式の棚の１又は複数の画像を受信する。画像は、認識のために受信されて良く、複数の関心品目を有して良い。例えば、画像は、小売店舗内の棚にある包装商品のリアルタイム配置及び移動を反映する、小売店舗の棚にある包装商品（例えば、コーヒーパッケージ、朝食シリアルボックス、ソーダボトル、等）の画像であり得る。ブランド製造者の包装商品は、該商品を１又は複数の他のブランド製造者に属する包装商品から区別する、文字及び絵で表された、該商品の表面に印刷された情報を含み得る。包装商品は、棚を見ているユーザに露出される棚の方向に置かれても良い。例えば、箱のような包装商品は、商品の前、後、横、上、又は底が棚を見ているユーザに露出されて、方向付けられて良い。包装を有しないで棚に展示される他の商品が存在し得ることが理解されるべきである。
【００３３】
幾つかの実施形態では、画像処理モジュール２０３は、受信した画像に対して認識が成功しそうか否かを決定し、クライアント装置１１５によりキャプチャされた画像が完全な認識のために限られた情報しか有しない（例えば、豊富な特徴を有する部分がカットされている）、画像がぼやけ過ぎている、画像が照明アーチファクトを有する（例えば、過剰反射）、等の場合に、画像を再取り込みするためのユーザに対する指示を含むグラフィカルデータを生成するようユーザインタフェースモジュール２０９に指示する。幾つかの実施形態では、画像処理モジュール２０３は、一式の棚の個別の及び十分に重なり合う画像のシーケンスを受信して良い。例えば、個別画像間の重なり合いは、４０％〜５０％であり得る。画像処理モジュール２０３は、個別画像を単一の線形パノラマ画像に縫い合わせ（例えば、合成画像）、縫い合わせた画像に対して画像認識を実行する。縫い合わせた画像及び最終的には縫い合わせた画像に基づくリアログラムの中に、目に見える幾何学ひずみ及び他のアーチファクトが存在し得る幾何学ひずみは、個別画像がクライアント装置１１５によりキャプチャされ及び合成画像に縫い合わせられる度に、棚に対するクライアント装置１１５の位置が変化するという事実に起因する。１又は複数の棚の物理的寸法は、縫い合わせた画像の中では不明である。他の実施形態では、画像処理モジュール２０３は、いかなる歪みも有しないで、単一の画像を受信して良い。
【００３４】
幾つかの実施形態では、画像処理モジュール２０３は、画像の特徴セットを決定する。例えば、画像処理モジュール２０３は、画像の中で識別された各々の特徴について、位置（例えば、Ｘ−Ｙ座標）、方位、及び画像記述子を決定して良い。幾つかの実施形態では、画像処理モジュール２０３は、特徴位置を決定するコーナー検出アルゴリズムを使用する。例えば、コーナー検出アルゴリズムは、Ｓｈｉ−Ｔｏｍａｓｉコーナー検出アルゴリズム、Ｈａｒｒｉｓ及びＳｔｅｐｈｅｎｓコーナー検出アルゴリズム、等を含み得る。幾つかの実施形態では、画像処理モジュール２０３は、有効な画像特徴記述子を決定する特徴記述子アルゴリズムを使用する。例えば、特徴記述子アルゴリズムは、ＢＲＩＥＦ（Binary  Robust  Independent  Elementary  Feature）、ＳＩＦＴ（Scale−Invariant  Feature  Transform）等を有して良い。特徴の画像記述子は、特徴によりカバーされる画像小領域を記述する２５６ビットのビットマスクであり得る。幾つかの実施形態では、画像処理モジュール２０３は、強度について特徴の近くの２５６個のピクセルペアの各々のペアを比較し、各比較に基づき、画像処理モジュール２０３は、２５６ビットのビットマスクの中の１ビットを設定又はクリアして良い。
【００３５】
幾つかの実施形態では、画像処理モジュール２０３は、画像認識を実行するために、画像の特徴を複数の品目に関連付けられたテンプレートの特徴と照合する。例えば、画像処理モジュール２０３は、画像の特徴を分析するデータ記憶装置２４３に商品の情報を格納するデータベーステーブルを使用する。画像処理モジュール２０３は、画像内の一致した品目の各々を縁取る（bordering）関心領域（region  of  interest：ＲＯＩ）を識別する。関心領域は、任意の形状、例えば、多角形、中心点と直径を有する円、領域の幅と高さと１又は複数の基準点（例えば、領域の中心点、１又は複数の角点、等）を有する長方形、等であり得る。例えば、関心領域は、その全体の中で一致した品目を縁取る認識長方形であって良い。別の例では、関心領域は、一致した品目に関連付けられた絵で表した及び文字の情報を含む露出したラベルを縁取って良い。
【００３６】
幾つかの実施形態では、画像処理モジュール２０３は、画像からの画像特徴を複数の品目について格納されたテンプレート特徴と照合することに基づき、関心領域に関連付けられた品目又は商品を認識する。記号情報又はメタデータは、画像処理モジュール２０３により識別された品目についての認識結果と関連して決定される。記号情報は、汎用商品コード（ＵＰＣ）、位置（例えば、相対Ｘ−Ｙ座標における位置、棚のスロット位置、特定の在庫（shelf  off  the  ground）、等）、関心領域のフェイシング側（例えば、上、底、前、後、又は横）及び寸法（例えば、幅、高さ、等）、及び他のメタデータ（例えば、包装バージョン）を含んで良い。幾つかの実施形態では、画像処理モジュール２０３は、相対単位で、画像内で認識された品目の座標位置及び寸法を決定する。相対単位は、インチのような物理的次元に対応しない。
【００３７】
幾つかの実施形態では、画像処理モジュール２０３は、画像に基づき、棚にある品目のリアログラムを決定する。リアログラムは、画像内で認識された複数の非隣接品目の記号情報を含んで良い。幾つかの実施形態では、画像処理モジュール２０３は、グルーピングモジュール２０５、プラノグラム生成モジュール２０７、及びユーザインタフェースモジュール２０９へ、リアログラムを含むデータを送信する。他の実施形態では、画像処理モジュール２０３は、データ記憶装置２４３にリアログラムを含むデータを格納する。
【００３８】
グルーピングモジュール２０５は、リアログラムの中の識別された品目の部分集合の線形群を決定する機能を提供するソフトウェア及び／又はロジックを有しても良い。線形群は、リアログラム内の棚上で線形に同時に生じる認識された品目の水平方向の集合又はグルーピングとして説明できる。幾つかの実施形態では、線形群は、リアログラムの中の棚に対応し、リアログラムからプラノグラムを生成する際に使用される。標準的に、リアログラムの中の線形群の正確な数は、対応するプラノグラムが利用可能であるとき、特定できる。例えば、グルーピングモジュール２０５が、対応するプラノグラムの中のデータ構造により示唆されるように、リアログラムの中に５個の棚しか存在できないことを決定した場合、グルーピングモジュール２０５は、リアログラムの中の認識された品目の位置に基づき、リアログラムの中で認識される品目を５個の線形群だけに適合しようと試みる。幾つかの実施形態では、プラノグラムデータ構造は、グルーピングモジュール２０５が線形群を決定するために使用する各棚にある品目数も示唆する。
【００３９】
プラノグラムは、完全画像（キャプチャノイズが無い）、完全画像配列、フェイシング及び完全画像認識における単一代表品目のような属性を含む。リアログラムについて対応するプラノグラムが存在しない又は利用できないとき、リアログラムの中の線形群の決定はエラーを示す。
【００４０】
幾つかの実施形態では、グルーピングモジュール２０５は、プラノグラムを有しないで、リアログラムの中の１又は複数の線形群を決定する。グルーピングモジュール２０５は、画像処理モジュール２０３から、品目の認識結果を含むリアログラムを受信する。このようなリアログラムは、縫い合わせ画像に基づいて良く、縫い合わせ画像は、あまり長方形ではなく、歪んでいて良い。幾つかの実施形態では、グルーピングモジュール２０５は、リアログラムの上に線形群を形成するユーザインタフェースを生成するために、ユーザインタフェースモジュール２０９へ命令を送信する。幾つかの実施形態では、グルーピングモジュール２０５は、また、リアログラムの中の線形群を番号付けする。
【００４１】
幾つかの実施形態では、グルーピングモジュール２０５は、プラノグラム生成モジュール２０７、及びユーザインタフェースモジュール２０９へ、識別した線形群を含むデータを送信する。他の実施形態では、グルーピングモジュール２０５は、データ記憶装置２４３に識別した線形群を含むデータを格納する。
【００４２】
プラノグラム生成モジュール２０７は、リアログラムからプラノグラムを生成する機能を提供するために、ソフトウェア及び／又はロジックを有して良い。幾つかの実施形態では、プラノグラム生成モジュール２０７は、画像処理モジュール２０３から、品目の認識結果を含むリアログラムを受信する。幾つかの実施形態では、プラノグラムは、単一の小売店舗又は複数の小売店舗に関連付けられて良い。幾つかの実施形態では、プラノグラム生成モジュール２０７は、後に詳述するように、リアログラムを正規化することによりプラノグラムを生成する。
【００４３】
幾つかの実施形態では、プラノグラム生成モジュール２０７は、品目の認識結果に基づきリアログラムの中の複数のフェイシング（facing）を識別する。フェイシング（facing）は、顧客に向けて展開された棚にある１又は複数の品目の垂直方向の積み重ねであり得る。例えば、歯磨き粉商品の集合は、それぞれ箱のような包装であり、互いに上に積み重ねられて、棚の１つの位置でフェイシングを形成し得る。フェイシングにおける１又は複数の品目は、同一商品（又は同じＳＫＵ）を提示するよう設計される。リアログラムの中の認識された品目は、リアログラムの中の認識された（例えば、相対Ｘ−Ｙ座標の）場所に対応する関心領域に関連付けられ得る。フェイシングは、フェイシングの中の複数の品目に対応する複数の関心領域を含んで良い。あるいは、フェイシングは、単一の関心領域を含んで良い。しかしながら、認識されない品目が存在する場合、該品目は、対応する関心領域を有しないことがある。品目は、幾つかの理由で、画像処理モジュール２０３により認識されないことがある。例えば、品目について決定された画像特徴が、画像中に存在する歪みのために認識するのに十分でない場合がある。別の例では、品目は、データ記憶装置２４３の中の商品データベースに未だインデックス付けされていない新規品目である場合がある。また、品目が棚において誤って配置されている場合、フェイシングが混ざってしまう場合がある。例えば、歯磨き粉ブランド「Ｘ」が、歯磨き粉ブランド「Ｙ」を意味するフェイシングの中で歯磨き粉ブランド「Ｙ」の上に誤って配置される場合があり、したがって、フェイシングが混合したフェイシングになってしまう。
【００４４】
標準的に、プラノグラムは、一式の棚の各位置に提示される１つの品目を有して良い。つまり、プラノグラムは、品目の積み重ねをフェイシングとして表示しない。むしろ、プラノグラムは、積み重ねを提示する品目の単一の画像だけを表示する。プラノグラムを生成する過程で、幾つかの実施形態では、プラノグラム生成モジュール２０７は、フェイシングの中の１又は複数の一致した品目に関連付けられた認識の信頼性スコアを識別する。プラノグラム生成モジュール２０７は、リアログラムの中に現れる複数のフェイシングの各々に割り当てるべき最良の認識を決定するために信頼性スコアを使用する。
【００４５】
幾つかの実施形態では、プラノグラム生成モジュール２０７は、フェイシングの中の各品目についての認識の数に基づき、該フェイシングに割り当てるべき認識を決定する。例えば、混合したフェイシングの中に積み重ねられた３個の品目が存在する場合、プラノグラム生成モジュール２０７は、品目のうちの２個についての認識結果が最小在庫管理単位（ＳＫＵ）「Ｘ歯磨き粉」に関連し、品目のうちの１個についての認識結果がＳＫＵ「Ｙ歯磨き粉」に関連することを識別する。プラノグラム生成モジュール２０７は、フェイシングの中の３個の品目に関連付けられた認識の重み付けを実行し、ＳＫＵ「歯磨き粉Ｘ」をフェイシングの中の各品目の最も可能性の高い認識として決定する。他の実施形態では、プラノグラム生成モジュール１０７は、近隣のフェイシングの中の認識された品目の識別を用いて、品目のどの候補認識を検討中のフェイシングの最も可能性の高い品目として推奨すべきかを検証する。
【００４６】
幾つかの実施形態では、プラノグラム生成モジュール２０７は、識別したフェイシングについての認識を、フェイシングの中の品目に関連付ける。例えば、プラノグラム生成モジュール２０７は、リアログラムの中のフェイシングの代表品目として認識を関連付ける。幾つかの実施形態では、プラノグラム生成モジュール２０７は、品目の認識がフェイシングに適用された後に、リアログラムの中の識別されたフェイシングから他の品目を除去する。例えば、プラノグラム生成モジュール２０７は、リアログラムの中の識別されたフェイシングの底にある品目の上面に積み重ねられた品目を除去する。幾つかの実施形態では、プラノグラム生成モジュール２０７は、データ記憶装置２４３内の商品データベースから最良認識に対応する品目の画像を読み出し、関心領域内の認識された品目を読み出した品目の画像で置き換える。例えば、プラノグラム生成モジュール２０７は、関心領域内のピクセル情報を除去し、読み出した画像のコピーを読み出し、関心領域に画像をスライドさせる。
【００４７】
幾つかの実施形態では、プラノグラム生成モジュール２０７は、グルーピングモジュール２０５から受信したような線形群に対応する１又は複数のフェイシングの棚を識別する。認識が棚上のフェイシングに適用されるとき、前述のような画像内の歪みのために、認識は互いに対して僅かに歪み及び／又は互いに重なり合うことがある。例えば、棚に属する認識品目（例えば、品目に関連付けられた関心領域に基づく）は、互いに垂直方向の配列から外れ、左及び／又は右にある他の認識品目と重なり合うことがある。幾つかの実施形態では、プラノグラム生成モジュール２０７は、棚に属する品目の端を水平方向に揃える。例えば、プラノグラム生成モジュール２０７は、棚に渡り配置された品目の底辺を揃える。品目の他の種類の整列が可能である。例えば、品目が棚にある掛け札から吊り下げられる場合、プラノグラム生成モジュール２０７は、品目の上辺を揃える。幾つかの実施形態では、プラノグラム生成モジュール２０７は、品目が間隔を空けられ且つ重なり合わない位置を占有するよう、棚に渡り品目を極小移動することにより、棚にある品目同士の重なり合いを解消する。例えば、プラノグラム生成モジュール２０７は、品目を水平方向に入れ替えて、品目の垂直方向の辺が互いに重なり合わないよう且つ互いに間隔を空けられるようにする。プラノグラム生成モジュール２０７は、最小数の品目が移動され得るよう及び移動が可能な限り最小限であるように、品目の移動を決定する。プラノグラム生成モジュール２０７は、プラノグラム全体の明確な境界を確立するために、及びプラノグラム境界を越えて品目を移動することを回避するために、左端及び右端から内側へ向けて品目を移動する。
【００４８】
リアログラムに基づくプラノグラムは、可能な限りリアログラムに近いものであるべきである。幾つかの実施形態では、プラノグラム生成モジュール２０７は、棚にあるスロット数を決定する。スロットは、棚の中の位置（又はフェイシング）の中にある品目に関連付けられる認識の通常位置である。幾つかの実施形態では、プラノグラム生成モジュール２０７は、スロットの番号付けを生成する。番号付けは、どの品目が棚にあるどの番号付けされたスロットにあるかを識別できる。例えば、プラノグラム生成モジュール２０７は、棚の左から右へ（又は右から左へ）スロットを番号付けする。リアログラムの物理的寸法及びリアログラム内のギャップは不明である。プラノグラムが正確であるためには、認識された品目の物理的寸法及びギャップの物理的幅を決定することが望ましい。プラノグラム生成モジュール２０７は、一式の棚上で認識される非隣接に且つ順に配置された品目間の水平方向の間隔及びギャップを保存するプラノグラムを生成する。ギャップは、品目に関連付けられた認識を欠いている棚の一部である。例えば、リアログラムは、棚の画像がキャプチャされたとき、顧客が棚の入荷したフェイシングから全部の商品を取り出してしまったために、空きスポットを有して良い。別の例では、リアログラムは、棚にある未認識品目のために、空きスポットを有して良い。更に別の例では、リアログラムは、棚の始め及び／又は終わりに空きスポットを有して良い。プラノグラム生成モジュール２０７は、これらの空きスポットの各々を、プラノグラム内で保存されるべき潜在的水平方向ギャップとして識別する。幾つかの実施形態では、プラノグラム生成モジュール２０７は、プラノグラムを生成するためにリアログラムの各棚を個別に処理する。これは、リアログラムの中で提示され得る幾何学歪みの影響を最小化するために行われる。
【００４９】
プラノグラム生成モジュール２０７は、リアログラムの中で認識された品目の集合のうちの部分集合を識別し、認識された商品の集合のうちの該部分集合をリアログラムの中の棚と関連付ける。プラノグラム生成モジュール２０７は、認識された品目の集合のうちの部分集合の中で最初の認識された品目の前にあり且つ棚にある最後の認識された品目に続く、多数のギャップの場所（例えば、相対Ｘ−Ｙ座標における位置、棚にあるスロット位置、特定の在庫、等）を決定する。幾つかの実施形態では、プラノグラム生成モジュール２０７は、ギャップの番号付けを生成する。例えば、プラノグラム生成モジュール２０７は、棚の左から右へ（又は右から左へ）ギャップを番号付けする。
【００５０】
プラノグラム生成モジュール２０７は、画像処理モジュール２０３から、棚にある１又は複数の認識された品目に関連付けられた認識情報を受信する。例えば、品目の認識情報は、ユニークな識別子、フェイシング側、及び包装バージョンを含む。プラノグラム生成モジュール２０７は、特定寸法についてデータ記憶装置２４３内の商品データベースを検索するために、１又は複数の認識された品目の認識情報を使用する。プラノグラム生成モジュール２０７は、この検索に基づき、１又は複数の認識された品目の対応する物理寸法を決定する。例えば、認識された品目のフェイシング側と包装バージョンの各々の組合せは、それ自体の寸法セットを有し得る。前面フェイシングにより識別された第１品目及び側面フェイシングにより識別された第２品目は、第１及び第２品目が同じＵＰＣである場合、それらに関連付けられた２つの異なる物理的幅を有する。同様に、同じＵＰＣの第１包装バージョンで識別された第１品目及び第２包装バージョンで識別された第２品目は、それらに関連付けられた２つの異なる物理的幅を有して良い。
【００５１】
幾つかの実施形態では、プラノグラム生成モジュール２０７は、認識された品目の集合及びそれらの対応する物理的寸法、並びに認識された品目の集合の中のギャップの場所に基づき、リアログラムから代表プラノグラムを生成する。幾つかの実施形態では、プラノグラムは象徴的であり得る。プラノグラム生成モジュール２０７は、プラノグラムに変更を行うためにリードバック可能なファイルフォーマットで、プラノグラム情報を保存する。例えば、プラノグラム生成モジュール２０７は、商品識別子、商品名、ブランド、幅、高さ、フェイシング側、等を、カンマ区切り値（comma−separated  values：ＣＳＶ）ファイルに集約して、プラノグラムを象徴的に記述する。ここで、ファイルの各行はプラノグラムの品目に対応する。
【００５２】
幾つかの実施形態では、プラノグラム生成モジュール２０７は、リアログラム、リアログラムに対する上述の一連の正規化ステップを実行することにより生成されたプラノグラム、及び商品データベースを表示するユーザインタフェースを生成するよう、ユーザインタフェースモジュール２０９に命令を送信する。プラノグラムの表示は、ユーザが更に生成されたプラノグラムを編集すること及び／又は生成されたプラノグラムを補強することを可能にする可能な視覚化を提供する。例えば、ユーザは、生成されたプラノグラムを編集するために、ドラッグアンドドロップ、カットアンドペースト、及び取り消し及びやり直しのようなグラフィカル編集動作を提供され得る。
【００５３】
幾つかの実施形態では、プラノグラム生成モジュール２０７は、プラノグラムの変更するためのユーザ入力を受信し、プラノグラム生成モジュール２０７は、ユーザ入力に基づき相応してプラノグラムを更新する。
【００５４】
幾つかの実施形態では、プラノグラム生成モジュール２０７は、ユーザインタフェースモジュール２０９へ、プラノグラムを含むデータを送信する。他の実施形態では、プラノグラム生成モジュール２０７は、データ記憶装置２４３にプラノグラムを含むデータを格納する。
【００５５】
ユーザインタフェースエンジン２０９は、ユーザインタフェースをユーザに提供するためのソフトウェア及び／又はロジックを有して良い。幾つかの実施形態では、ユーザインタフェースモジュール２０９は、画像処理モジュール２０３から、クライアント装置１１５のディスプレイにリアログラムのユーザインタフェースを生成するための命令を受信する。例えば、一実施形態では、リアログラムは、棚にある認識された品目の各々が認識された品目の周りの色付きの関心領域指示子で強調表示されて、ユーザインタフェース上に表示されて良い。関心領域の指示は任意の種類の視覚指示子により可能であることが理解されるべきである。別の実施形態では、リアログラムは、個々の認識された品目がそれらの相対的位置にあり及び全ての認識されなかった品目（例えば、棚枠、価格タグ、非認識可能商品、等）が隠され又は除去されて、ユーザインタフェース上に表示されて良い。更に別の実施形態では、リアログラムは、データベースからの対応する商品画像が認識された品目に対応する関心領域に代入されて、ユーザインタフェース上に表示されて良い。幾つかの実施形態では、ユーザインタフェースモジュール２０９は、プラノグラム生成モジュール２０７から、クライアント装置１１５のディスプレイにプラノグラムのグラフィカルユーザインタフェースを生成するための命令を受信する。幾つかの実施形態では、ユーザインタフェースモジュール２０９は、商品データベースをユーザによる検索のための表形式表現として表示するグラフィカルユーザインタフェースを生成する。他の実施形態では、ユーザインタフェースモジュール２０９は、アプリケーションにグラフィカルユーザインタフェースとしてデータを表示させるグラフィカルユーザインタフェースデータを通信ユニット２４１を介してクライアント装置１１５の中のアプリケーション（例えば、ブラウザ）へ送信する。
【００５６】
本開示はプラノグラムアプリケーション１０３の部分である文脈でここに及び以下に記載されるが、これは単なる一実装例であること、及び本開示、特に商品画像キャプチャモジュール２１１、誘導キャプチャモジュール２１３、及び動的テンプレート生成モジュール２１５が多数の種々の他の構成で実装されてよいことが理解されるべきである。例えば、商品画像キャプチャモジュール２１１、誘導キャプチャモジュール２１３、及び動的テンプレート生成モジュール２１５は、画像を追加するため又はコンピュータビジョンシステムにより使用されるデータベースを補強するために、スタンドアロン型アプリケーションとして一緒に使用されて良い。別の構成では、商品画像キャプチャモジュール２１１、誘導キャプチャモジュール２１３、及び動的テンプレート生成モジュール２１５は、携帯電話機又はタブレットのためのモバイルアプリケーションとして一緒に使用されて良い。このような場合には、スタンドアロン型アプリケーションは、制御部２０１、画像処理モジュール２０３、ユーザインタフェースモジュール２０９、商品画像キャプチャモジュール２１１、誘導キャプチャモジュール２１３、及び動的テンプレート生成モジュール２１５を含む、商品画像キャプチャ（product  image  capture：ＰＩＣ）アプリケーションであって良い。
【００５７】
商品画像キャプチャモジュール２１１は、品目の情報を受信し及び受信した情報に基づき品目の１又は複数の画像をキャプチャするようユーザを誘導するためにユーザインタフェースを生成するソフトウェア及び／又はロジックを有して良い。幾つかの実施形態では、商品画像キャプチャモジュール２１１は、図９〜１０を参照して後述する方法を実行するために、ユーザインタフェースモジュール２０９、誘導キャプチャモジュール２１３、動的テンプレート生成モジュール２１５、及びプラノグラムアプリケーション１０３の他のコンポーネントと通信して良い。商品画像キャプチャモジュール２１１の詳細な動作の一実施形態は、以下の付録Ａに記載される。
【００５８】
誘導キャプチャモジュール２１３は、画像認識を及びデータベースに格納されるときに検索を実現する品目の１又は複数の画像をキャプチャするためにユーザを助ける命令及びパラメータを生成し及び提供するソフトウェア及び／又はロジックを有して良い。例えば、誘導キャプチャモジュール２１３は、商品の画像が該商品の置かれている棚からの異なる距離から撮影できるよう、異なるサイズパラメータを生成しユーザに提供して良い。誘導キャプチャモジュール２１３は、異なる視野及び角度、及び異なる側面、商品の上面又は底面で商品の画像をキャプチャするために異なるサイズパラメータを生成し提供して良い。誘導キャプチャモジュール２１３は、また、棚の異なる位置に置かれた同じ商品の商品画像を取得するようユーザに指示して良い。棚の異なる位置にある商品について、異なる距離から取られた商品画像は、該商品のランダムクエリ画像とより多くの類似性を共有するので、クエリ画像と商品データベースに格納された商品画像との間の比較は、結果として、より肯定的一致をもたらし、したがって、よりロバスト名画像認識及びより大きな精度を可能にする。幾つかの実施形態では、誘導キャプチャモジュール２１３は、また、受信した画像をトレーニングし及び該トレーニングからデータベースの検索機能を向上する方法を学習するために、機械学習アルゴリズムを適用するために、商品画像キャプチャモジュール２１１、動的テンプレート生成モジュール２１５、及びプラノグラムアプリケーション１０３の他のコンポーネントと通信して良い。
【００５９】
動的テンプレート生成モジュール２１５は、１又は複数のテンプレートを動的に生成するソフトウェア及び／又はロジックを有して良く、商品画像をキャプチャするようユーザを誘導する際に使用するために１又は複数のテンプレートを誘導キャプチャモジュール２１３へ送信する。幾つかの実施形態では、動的テンプレート生成モジュール２１５は、データベースが認識のために使用されるときに認識がよりロバスト且つ正確になるように、データベースを拡張するために特定商品の既存テンプレートに追加可能な追加テンプレートを決定するために、機械学習アルゴリズムを使用する。例えば、所与の商品にういて、キャプチャされ及び使用されデータベースに格納されている３個のテンプレートに対応する画像が存在する。動的テンプレート生成モジュール２１５は、現在商品を表す全ての画像を分析し、将来の認識を向上するためにどんな追加画像を取得すべきかに関する推奨を行うために、機械学習アルゴリズムをトレーニングして良い。結果として、動的テンプレート生成モジュール２１５は、１又は複数の新しいテンプレートを生成し、該新しいテンプレートを誘導キャプチャモジュール２１３へ送信して、この新しいテンプレート内に合う推奨画像がキャプチャされ得るようにする。
【００６０】
図３を参照すると、誘導キャプチャモジュール２１３により実施される誘導情報キャプチャ処理は、示されるようにデータ検索処理により開始され得る。図３の例では、ユーザ、例えば店長は、店舗の棚にある対象商品を見付ける。３０１で、誘導キャプチャモジュール２１３は、対象商品のバーコードをスキャンしている店長のユーザ入力を受信する店長の携帯電話機上にユーザインタフェースを生成するよう、ユーザインタフェースモジュール２０９へ命令を送信する。３０３で、誘導キャプチャモジュール２１３は、受信したバーコードを店長に提示するためにユーザインタフェースを更新する。バーコードに基づき、誘導キャプチャモジュール２１３は、バーコードにより識別された対象商品がデータベース内に存在するかどうかを決定するために、商品データベースを検索する。データベース内に対象商品に関する情報が存在する場合、誘導キャプチャモジュール２１３は、データベースから商品情報を読み出し、ユーザインタフェースモジュール２０９と通信して、３０５に示すように、読み出した情報をユーザインタフェースの中で店長に提示する。しかしながら、対象商品についての情報が利用可能ではない又は対象商品の十分な情報が読み出されず提示されない場合には（例えば、誘導キャプチャモジュール２１３により定められるルールに基づき決定される）、誘導情報キャプチャ処理が開始されて、対象商品の情報を受信し、及び受信した情報をデータベースに追加する。
【００６１】
幾つかの実施形態では、データベース内の品目又は商品は、最上位から最下位までのＵＰＣ、１又は複数のバージョン、１又は複数のフェイス、及び１又は複数の変異形を含む階層構造に分解され得る。ＵＰＣは、商品を識別するために使用されるユニークなインデックスである。ＵＰＣにより識別される商品は、複数のバージョンを有して良い。ここで、バージョンは、異なる商品包装インスタンスを表す。例えば、商品は、クリスマスバージョン、感謝祭バージョン、等を有して良い。各商品バージョンは、該商品の異なる包装を有し、幾つかのフェイス、例えば商品の異なる側面を含んで良い。例えば、商品は、前、後、上、底、左側、及び右側のフェイスを有して良い。各フェイスは、商品が現実世界で見える種々の方法を表す多くの変異形又は変異形画像を含んで良い。例えば、商品のバージョンは、異なる角度又は異なる照明条件での商品の僅かな差を示すために、前面の５個の変異形画像を含む。変異形はエントリとして参照される場合も多い。
【００６２】
幾つかの実施形態では、誘導キャプチャモジュール２１３は、商品のバージョンについてフェイスの変異形をキャプチャするために、誘導情報キャプチャ処理を実行する。図４Ａ〜４Ｇは、この誘導キャプチャ処理の一実施形態のグラフィカル表現である。図４Ａ〜４Ｇの例では、ユーザのスマートフォンに格納された誘導キャプチャモジュール２１３は、商品情報を入力し及び該スマートフォンに備えられたカメラを用いて商品画像をキャプチャするようユーザを誘導するためのユーザインタフェースを該スマートフォン上に生成するために、プラノグラムアプリケーション１０３の他のコンポーネントと通信する。
【００６３】
図４Ａで、誘導キャプチャモジュール２１３は、ユーザが商品のバーコード又は他の識別子をスキャンするために、「スキャン（Scan）」ボタン４０２を含むユーザインタフェースを生成する。「スキャン（Scan）」ボタン４０２の選択に応答して、画像がキャプチャされ、誘導キャプチャモジュール２１３は、バーコード４０４を含み得る画像を提示するためにユーザインタフェースを更新する。誘導キャプチャモジュール２１３は、バーコード４０４を使用して、対応する商品の情報がデータベース内に存在するかどうかを調べるために、商品データベースを検索する。
【００６４】
検索結果は、図４Ｂのユーザインタフェース４０６に示される。この例では、商品は商品データベース内に存在しない。スキャンしたバーコード番号４０８以外の情報は表示されない。検索結果に基づき、誘導キャプチャモジュール２１３は、ユーザインタフェース４０６内にメッセージ「バージョンを追加する（Add  version）」を提示して、商品の新しいバージョンが追加可能であることをユーザに通知する。誘導キャプチャモジュール２１３は、ユーザが赤い囲いにより示されるようなバージョンの追加手順を選択し起動するために、ユーザインタフェース４０６内に動作ボタン４１０も有する。
【００６５】
ユーザが新しいバージョンを追加するために４１０を選択すると、誘導キャプチャモジュール２１３は、「フェイスを選択する（Select  Face）」画面をユーザインタフェース４１２内に提示する。ここで、ユーザは、彼又は彼女がキャプチャしているフェイス（上、前、右側、等）を選択する。例えば、ユーザは、赤い囲いにより示されるように、「前（front）」４１４をキャプチャするために選択する。
【００６６】
図４Ｂのユーザインタフェース４１２におけるキャプチャすべき商品フェイス（例えば、前）の選択に応答して、誘導キャプチャモジュール２１３は、カメラビューを表示するためにユーザインタフェース４１６を更新する。ここで、ユーザは、ユーザインタフェース４１６内のボタンの選択により、図４Ｃに示すように商品の前面の第１画像をキャプチャする。誘導キャプチャモジュール２１３は、ユーザが画像を切り取るために、切り取り画面４１９を生成しユーザインタフェース４１８内に提示して良い。例えば、ユーザは、第１画像を切り取るために切り取り画面４１９の角をドラッグできる。画像切り取りが完了すると、誘導キャプチャモジュール２１３は、切り取った画像４２２をユーザに提示するためにユーザインタフェース４２０を更新し、４２４で次のステップへと続けるためにユーザ入力を受信する。誘導キャプチャモジュール２１３は、ユーザ入力に応答して、切り取った画像４２２を商品の第１画像として保存する。
【００６７】
図４Ｄで、誘導キャプチャモジュール２１３は、ユーザインタフェース４２５を更新する。４２８に示すように、第１画像４２６は、第１バージョンの商品の前面フェイスの画像である。誘導キャプチャモジュール２１３は、また、ユーザインタフェース４２５に商品情報を入力するようユーザを促す。商品情報は、限定ではなく、商品名、商品の寸法、商品カテゴリ及び／又はサブカテゴリ、商品ブランド、商品製造者、等を含む。幾つかの実施形態では、誘導キャプチャモジュール２１３は、ユーザによる手動入力から商品の寸法を受信する。他の実施形態では、誘導キャプチャモジュール２１３は、第１画像のキャプチャに応答して、商品の寸法を自動的に投入する。誘導キャプチャモジュール２１３は、後述のように１又は複数のサイズパラメータを決定するために、商品の寸法を使用して良い。ユーザインタフェース４２５内の赤い囲いにより示されるような「確認及び保存（Confirm  &  Save）」ボタン４２９のユーザ選択に応答して、誘導キャプチャモジュール２１３は、商品情報を商品の第１画像と一緒に商品データベースに保存し、ユーザインタフェース４３０を生成する。
【００６８】
誘導キャプチャモジュール２１３は、ユーザインタフェース４３０内に「商品フェイス（Product  Face）」ビューを提示する。このビュー内で、誘導キャプチャモジュール２１３は、商品のフェイスに関する受信した情報、及び各フェイスに関連する変異形画像を表示する。図４Ｄの例では、１つの変異形画像Ｌ１のみがある。文字指示子４３１、及び視覚指示子２３２は、この変異形画像Ｌ１が前面フェイスに関連することを示す。誘導キャプチャモジュール２１３は、赤い囲いにより強調表示されたような「更に５枚の画像を取得してください（Please  acquire  ５  more  images）」というメッセージ４３３を生成して、前面フェイスの更なる変異形がデータベースに追加されるべきであることをユーザに知らせる。これらの５枚の画像がキャプチャされると、メッセージ４３３は提示されない。
【００６９】
ユーザインタフェース４３０は、図４Ｅにも示される。ここで、カメラボタン４３１は、フェイス、例えば前面フェイスに変異形画像を追加するためにユーザが選択できることを示すために強調表示される。ユーザが赤い囲いにより示すようにカメラボタン４３１を選択すると、誘導キャプチャモジュール２１３は、ユーザインタフェース４３２を更新して、ユーザが変異形画像をキャプチャするために別のカメラビューを提示する。このとき、テンプレートがカメラビューの中に現れる。テンプレートは、商品の寸法に一致するよう大きさの決められた境界ボックス（赤で強調表示される）である。図４Ｅの例では、テンプレートは、図４Ｄで受信した寸法に基づき、商品と同じサイズを有する長方形である。テンプレートは、正方形、円、他の多角形、又は不規則形状のような任意の形状を有し得る。
【００７０】
ユーザが実際の商品をユーザインタフェース４３２のカメラビューの中に入れるためにカメラを位置決めすると、誘導キャプチャモジュール２１３は、カメラビュー上に示される実際の商品の画像に重ね合わされるテンプレート又は長方形を提示するよう構成される。ユーザは、実際の商品が長方形の内側に合うようにカメラの位置を調整し、写真を撮る。
【００７１】
誘導キャプチャモジュール２１３が、画像がキャプチャされたことを決定すると、誘導キャプチャモジュール２１３は、ユーザインタフェース４３４を更新して切り取り画面４３５を表示する。この切り取り画面４３５は、図４Ｃに示した切り取り画面と異なる。誘導情報キャプチャ処理のこの段階では、誘導キャプチャモジュール２１３は、幾つかの商品情報、特に商品の寸法、を受信しており、したがって、受信した寸法に少なくとも基づき切り取りゾーンを自動的に識別できる。切り取りゾーンは、図６Ａ〜７Ｂを参照して更に詳細に説明される。誘導キャプチャモジュール２１３は、既にユーザに対して指定された切り取りゾーンと共に切り取り画面４３５を提示する。したがって、画像切り取りは容易に行うことができ、したがって、ユーザ経験が向上する。必要な場合には、ユーザは、切り取りゾーンに調整を施すことにより画像を更に精緻化できる。
【００７２】
ユーザインタフェース４３４内の「続ける（Continue）」ボタンのユーザ選択に応答して、誘導キャプチャモジュール２１３は、新たにキャプチャされた画像を商品の第２画像としてデータベースに保存し、図４Ｆのユーザインタフェース４３６内で「商品フェイス（Product  Face）」ビューを再び提示する。ユーザは、今、４３７において２枚の画像がキャプチャされていること、及び、４３８において誘導キャプチャ処理のためにキャプチャされるべき残り４枚の画像があることを知る。同様に、ユーザは、商品の前面フェイスに関する次の変異形画像を追加するためにカメラボタン４３９を選択して良い。
【００７３】
次の変異形画像を追加するためのユーザ入力を受信すると、誘導キャプチャモジュール２１３は、新しいサイズを有する新しいテンプレート４４２を含むユーザインタフェース４４０を生成し提示する。異なるサイズを有するテンプレートは、図５を参照して後述する。誘導キャプチャモジュール２１３は、ユーザが撮影している商品画像に新しいテンプレートを重ね合わせ、テンプレートの内側に画像を合わせるようユーザに指示する。次のユーザインタフェースでは、誘導キャプチャモジュール２１３は、既に指定された切り取りゾーンと共に切り取り画面を提示する。したがって、ユーザは、切り取られた画像を容易に得ることができる。この画像のキャプチャを完了するユーザ確認の受信に応答して、誘導キャプチャモジュール２１３は、「商品フェイス（Product  Face）」ビューに戻り、何枚の画像がキャプチャされているか、及び何枚がキャプチャするために残されているか、を示す。誘導キャプチャ処理は、全ての誘導キャプチャテンプレートが完成され及び相応してフェイスの全ての変異形がキャプチャされるまで、続く。この方法では、誘導キャプチャモジュール２１３は、正しい画像及び十分な数の画像の両方をキャプチャするようユーザを誘導するのを助ける。これらの画像（例えば、商品の各フェイスの変異形画像）によりデータベースを構築することは、特に機械学習アルゴリズムがこれらの画像から学習するために適用されるとき、（例えば、異なる距離、位置、照明及び他の条件を表す種々の画像により）商品認識を大幅に向上できる。
【００７４】
図５は、例示的な誘導キャプチャテンプレートのグラフィカル表現５００である。テンプレート５０２、５０４、５０６、５０８、及び５１０は、同じ商品の同じフェイスの画像をキャプチャするために、誘導キャプチャモジュール２１３により使用される。しかしながら、これらのテンプレートは、少なくとも２つの特長：サイズ及び位置において異なる。幾つかの実施形態では、誘導キャプチャモジュール２１３は、テンプレートを決定するために、カメラと商品との間の距離、棚にある商品の位置、照明条件、等のような要因を考慮する。例えば、誘導キャプチャモジュール２１３は、ユーザが商品の写真を撮るために該商品から更に遠くに移動しなければならないように、より大きなサイズのテンプレート（例えば、５０２）を生成する。或いは、誘導キャプチャモジュール２１３は、カメラビューの異なる位置に重ね合わされるべきテンプレート５０２〜５１０を生成する。これは、異なる位置で商品の画像をキャプチャするために、したがって、異なる照明条件又は異なる位置における他の条件を反映させるために、ユーザにカメラを棚の異なる場所に位置決めさせる。他の実施形態では、誘導キャプチャモジュール２１３は、前の切り取りビューでキャプチャされたサイズに基づき、テンプレートのサイズを決定しても良い。言い換えると、誘導キャプチャモジュール２１３は、第２画像をキャプチャする際に使用された切り取りゾーンのサイズに基づき、第３画像のキャプチャのための新しいテンプレートを決定して良い。新しいテンプレートのサイズは切り取り損のサイズに依存するので、ユーザにより入力された商品の元の寸法情報が不正確な場合でも、商品の実際のサイズに常に近くなる。
【００７５】
図６Ａ及び６Ｂは、携帯電話機のユーザインタフェースに含まれる例示的なキャプチャゾーンのグラフィカル表現である。キャプチャゾーン又は切り取りゾーンは、誘導キャプチャモジュール２１３がユーザに商品の画像をキャプチャするよう望む、テンプレート内の対象領域である。幾つかの実施形態では、キャプチャゾーンは長方形である。この特定の例では、テンプレートは、より大きな垂直アスペクト比を有する商品を対象とする。誘導キャプチャモジュール２１３は、テンプレートからキャプチャゾーンを識別するために、商品寸法に基づき決定されたアスペクト比を用いる。幾つかの実施形態では、商品の全体写真を受信することに応答して、誘導キャプチャモジュール２１３は、商品画像を生成するときに、キャプチャゾーンに基づき写真を自動的に切り取って良い。幾つかの実施形態では、誘導キャプチャモジュール２１３は、サイズを調整しながら（例えば、縮める）、対象位置にキャプチャゾーンを位置決めするテンプレートセットを決定しても良い。
【００７６】
図６Ａの６０２に示すように、誘導キャプチャモジュール２１３は、商品の寸法に基づき、キャプチャゾーンを長方形として決定する。幾つかの実施形態では、装置画面（例えば、図６Ａの携帯電話機）の寸法及び商品の最長側面が与えられると、誘導キャプチャモジュール２１３は、画面サイズより約Ｘ％小さい縮尺でキャプチャゾーンの境界ボックスを描くために、幅及び高さだけを使用する。このように、誘導キャプチャモジュール２１３は、キャプチャ＃１のために長方形の寸法を計算する。キャプチャ＃２及び＃３について、誘導キャプチャモジュール２１３は、キャプチャ＃１の長方形をＹ％だけ縮小する。キャプチャ＃４及び＃５について、誘導キャプチャモジュール２１３は、再びＺ％だけサイズを縮小する。Ｘ、Ｙ、及びＺは、０〜１００の間の数値である。これらの数値は、等しくて良く又はそうでなくて良い。
【００７７】
図６Ｂは、異なる商品の例示的なキャプチャゾーンを示す。この特定の例では、テンプレートは、より大きな水平アスペクト比を有する商品を対象とする。誘導キャプチャモジュール２１３は、キャプチャゾーンを識別するために商品寸法に基づき決定されたアスペクト比を使用するので、図６Ａ及び６Ｂの商品のアスペクト比の間の異なる差は、図６Ａ及び６Ｂのキャプチャゾーンの間の異なる差を与える。
【００７８】
図７Ａ及び７Ｂは、タブレットコンピュータのユーザインタフェースに含まれる例示的なキャプチャゾーンのグラフィカル表現である。ここでも、キャプチャゾーンは、商品寸法に関連するアスペクト比及び装置画面（例えば、タブレットコンピュータ）の寸法に基づき決定される。タブレットの画面寸法は電話機と異なるので、テンプレートのサイズ及び形状も相応して変更される。
【００７９】
図８を参照すると、動的テンプレート生成モジュール２１５により生成された例示的なテンプレートが記載される。上述のように、動的テンプレート生成モジュール２１５は、誘導情報キャプチャ処理において使用されるテンプレートを動的に生成するソフトウェア及び／又はロジックを有して良い。上述のように、誘導キャプチャモジュール２１３は、商品画像をキャプチャするようユーザを誘導するとき、テンプレートセットを生成し及び使用する。誘導キャプチャモジュール２１３は、キャプチャされている商品の寸法に基づきテンプレートセットを決定する。これらのテンプレートは、各テンプレートが同じ位置に現れる場面で静的であり、キャプチャされている商品に拘わらず、商品の比率に関して基本的に同じサイズである。しかしながら、認識精度を向上するために、追加テンプレートが追加されて良い。データベースの使用の精度を増大する追加すべきテンプレートは、動的テンプレート生成モジュール２１５により決定される。
【００８０】
幾つかの実施形態では、動的テンプレート生成モジュール２１５は、１又は複数のテンプレートを動的に生成し、商品画像をキャプチャするようユーザを誘導する際に使用するために１又は複数のテンプレートを誘導キャプチャモジュール２１３へ送信する。幾つかの実施形態では、動的テンプレート生成モジュール２１５は、カメラビュー内のサイズ及び位置に調整を行うために、キャプチャされた情報に対するフィードバックを受信するために、機械学習システムと通信する。例えば、５枚の画像がキャプチャされデータベースに格納されている場合、動的テンプレート生成モジュール２１５は、現在商品を表す全ての画像を分析し、将来の認識を向上するためにどんな追加画像を取得すべきかに関する推奨を行うために、機械学習アルゴリズムをトレーニングして良い。結果として、動的テンプレート生成モジュール２１５は、新しいテンプレートを生成し、該新しいテンプレートを誘導キャプチャモジュール２１３へ送信して、この新しいテンプレート内に合う推奨画像がキャプチャされ得るようにする。
【００８１】
図８は、データベース内の製品変異形に基づき動的に生成される例示的なテンプレートのグラフィカル表現である。テンプレートＸ、Ｙ、及びＺは、異なるサイズ及び異なる位置を有する動的に生成されたテンプレートである。例えば、動的テンプレート生成モジュール２１５は、テンプレート１、２、及び３の内側に合う商品画像がキャプチャされたというフィードバックを受信し、テンプレートＸを生成することを決定する。したがって、テンプレートＸのサイズ及び位置を有する追加画像がキャプチャされ格納され得る。画像認識は、したがって、位置及びサイズにおいて多様な画像から利益を得る。
【００８２】
図９は、品目の情報を収集するようユーザに指示する例示的な方法９００の一実施形態を示すフロー図である。９０２で、誘導キャプチャモジュール２１３は、品目の識別子、例えばＵＰＣの画像を受信する。ＵＰＣは、画像から認識される。９０４で、誘導キャプチャモジュール２１３は、識別子に基づきデータベース内で該品目を検索する。９０６で、誘導キャプチャモジュール２１３は、データベース内に品目の情報が存在するか否かを決定する。例えば、誘導キャプチャモジュール２１３は、ユーザによりスキャンされた商品のバーコードを受信し読み取るために商品画像キャプチャモジュール２１１と通信し、バーコードに基づき商品データベースを検索し、商品データベースが商品情報を含むか否かを決定する。データベースが品目の情報を含む場合、９０８で、誘導キャプチャモジュール２１３は、ユーザへの提示のために、データベースから情報を読み出す。その他の場合、９１０で、誘導キャプチャモジュール２１３は、品目の情報のユーザ入力をユーザから受信する。例えば、誘導キャプチャモジュール２１３は、商品名、商品カテゴリ、及び商品寸法、等を入力するようユーザを促すために、商品画像キャプチャモジュール２１１及びユーザインタフェースモジュール２０９と通信する。幾つかの実施形態では、誘導キャプチャモジュール２１３は、ユーザから受信した品目の情報をデータベースに格納する。
【００８３】
品目の情報がユーザから受信されると又はデータベースから読み出されると、９１２で、誘導キャプチャモジュール２１３は、品目の画像をキャプチャするようユーザに指示するユーザインタフェースを生成するために、商品画像キャプチャモジュール２１１及びユーザインタフェースモジュール２０９と通信する。幾つかの実施形態では、品目の情報は、品目の寸法を含む。誘導キャプチャモジュール２１３は、テンプレートを提示し及びテンプレートに基づき品目の変異形画像をキャプチャするようユーザに指示するユーザインタフェースを生成して良い。変異形画像は品目のフェイスに対応する。テンプレートは、品目の寸法に一致するよう大きさの決められた境界ボックスである。
【００８４】
９１４で、画像はユーザによりキャプチャされ、誘導キャプチャモジュール２１３は品目の画像をデータベースに追加する。９１６で、誘導キャプチャモジュール２１３は、更なる画像がキャプチャされる必要があるか否かを決定する。キャプチャされる必要がある場合、方法９００は、ブロック９１２に戻り、更なる画像をキャプチャするようユーザに指示するためにユーザインタフェースを生成する。キャプチャされる必要が無い場合、例えば、受信した画像の数が、データベース上のロバストな画像認識のために十分である場合、方法９００は終了する。
【００８５】
図１０Ａ〜１０Ｃは、異なる条件下で正しい大きさで品目の画像をキャプチャするようユーザを誘導するテンプレートセットを提示するユーザインタフェースを生成する例示的な方法の一実施形態を示すフロー図１０００である。１００２で、誘導キャプチャモジュール２１３は、品目の識別子を受信する。１００４で、誘導キャプチャモジュール２１３は、識別子に基づきデータベース内で該品目を検索する。１００６で、誘導キャプチャモジュール２１３は、品目の１又は複数の変異形をユーザに提示するユーザインタフェースを生成する。１００８で、誘導キャプチャモジュール２１３は、データベース内に品目の変異形を追加すべきか否かを決定する。品目の情報がデータベースに格納されていない場合、つまり、１０１０で、誘導キャプチャモジュール２１３は、品目の情報を追加するようユーザに指示するユーザインタフェースを生成し、誘導キャプチャモジュール２１３及び次に方法９００は、図１０Ｂのステップ１０２２へ進み、新しい変異形のフェイス及び情報を追加する。１００８で、品目の変異形がデータベースに存在すると決定された場合、１０１２で、誘導キャプチャモジュール２１３は、存在する変異形の１又は複数のフェイスをユーザに提示するために、ユーザインタフェースを更新する。例えば、ユーザインタフェースは、ユーザインタフェース内に商品の後及び左の例示的な画像を提示する。１０１４で、誘導キャプチャモジュール２１３は、フェイスを追加すべきか否かを決定する。フェイスを追加すべきである場合、誘導キャプチャモジュール２１３は、図１０Ｂのステップ１０２２へ進み、例えば、後述するように商品の前面フェイス画像を追加する。誘導キャプチャモジュール２１３がフェイスを追加しないと決定した場合、１０１６で、誘導キャプチャモジュール２１３は、既存のフェイスの１又は複数のエントリを提示するために、ユーザインタフェースを更新する。エントリは、同じフェイスの変異形画像である。例えば、ユーザインタフェースは、データベースに格納された変異形フェイスを提示する。例えば、前面フェイスの５個の変異形が存在する場合、ユーザインタフェースは、商品の５枚の前面フェイス画像を表示する。１０１８で、誘導キャプチャモジュール２１３は、データベースにフェイスのエントリ又は変異形を追加すべきか否かを決定する。追加すべきである場合、方法１０００は、後述する図１０Ｃへ進む。その他の場合、１０２０で、誘導キャプチャモジュール２１３は、既存のフェイスの個々のエントリを提示するためにユーザインタフェースを更新する。例えば、ユーザは、商品の５枚の背面画像のうち第１画像を見る。
【００８６】
図１０Ｂを参照すると、１０２２で、誘導キャプチャモジュール２１３は、ユーザインタフェース内でフェイス選択肢セットを提供する。１０２４で、フェイス選択肢セットからの１つのフェイスのユーザ選択に応答して、誘導キャプチャモジュール２１３は、品目のフェイスの第１画像をキャプチャするようユーザに指示するユーザインタフェースを提示する。１０２６で、誘導キャプチャモジュール２１３は、第１画像を切り取るために、第１切り取り画面をユーザに提供するユーザインタフェースを提示する。１０２８で、誘導キャプチャモジュール２１３は、ユーザインタフェースに品目の情報を入力するようユーザを促すユーザインタフェースを提示する。該情報は、品目の寸法を含む。１０３０で、誘導キャプチャモジュール２１３は、品目の情報及び品目のフェイスの第１画像をデータベースに格納する。１０３２で、誘導キャプチャモジュール２１３は、格納されたフェイス及び該格納されたフェイスに関連する画像を示すフェイスビューを提供する。１０３４で、誘導キャプチャモジュール２１３は、フェイスの変異形画像を追加すべきか否かを決定する。フェイスの変異形画像が追加されるべきであると決定された場合、方法は図１０Ｃへ進む。その他の場合、１０３６で、誘導キャプチャモジュール２１３は、別のフェイスを追加すべきか否かを決定する。別のフェイスを追加すべきではないと決定された場合、方法は終了する。別のフェイスを追加すべきであると決定された場合、方法１０００は、ステップ１０２２へ進み、フェイスを追加する手順を繰り返す。
【００８７】
図１０Ｃを参照すると、１０３６で、誘導キャプチャモジュール２１３は、テンプレートを含むユーザインタフェースを提示する。テンプレートは、品目の寸法に基づきサイズの決定された境界ボックスである。１０３８で、誘導キャプチャモジュール２１３は、境界ボックスの内側に適合するフェイスの変異形画像をキャプチャするようユーザに指示するユーザインタフェースを提示する。１０４０で、誘導キャプチャモジュール２１３は、変異形画像を切り取るために、指定切り取りゾーンに関連する第２切り取り画面をユーザに提示するユーザインタフェースを提供するユーザインタフェースを提示する。１０４２で、誘導キャプチャモジュール２１３は、データベース内に品目のフェイスの変異形画像を格納する。１０４４で、誘導キャプチャモジュール２１３は、フェイスの変異形画像を追加すべきか否かを決定する。フェイスの変異形画像が追加されるべきであると決定された場合、１０４６で、誘導キャプチャモジュール２１３は、テンプレートを更新する。方法１０００は、１０３６に戻り、フェイスの別の変異形画像を追加し始める。しかしながら、フェイスの別の変異形画像が追加される必要がないと決定された場合、１０４８で、誘導キャプチャモジュール２１３は、別のフェイスを追加すべきか否かを決定する。別のフェイスを追加すべきであると決定された場合、方法１０００は、フェイスを追加するために図１０Ｂのステップ１０２２に戻る。その他の場合、方法１０００は終了する。
【００８８】
品目の画像をキャプチャするときに異なる条件下で品目を正しく大きさ決めするようユーザを誘導するためにテンプレートセットを提示するユーザインタフェースを生成するシステム及び方法が記載された。以上の説明では、説明を目的として、上述の技術の完全な理解を提供するために、多くの詳細事項が説明された。しかしながら、当業者は、実施技術がそのような特定の詳細にかかわらず実施できることを理解するだろう。他の例では、説明を不明瞭にしないために及び理解を容易にするために、構造及び装置がブロック図で示される。例えば、技術は上述の一実施形態では主にソフトウェア及び特定のハードウェアを参照して記載される。しかしながら、本発明は、サービスを提供する任意の周辺装置の部分としてデータ及びコマンドを受信し及び情報を提示できる任意の種類のコンピューティングシステムに適用される。
【００８９】
本願明細書において「一実施形態」又は「ある実施形態」等のような表現は、実施形態と関連して記載された特定の機能、構造又は特徴が少なくとも１つの実施形態に含まれることを意味する。明細所内の種々の文の中の「一実施形態では」という表現の出現は、必ずしも全て同じ実施形態を参照していない。
【００９０】
上述の詳細な説明の幾つかの部分は、コンピュータメモリ内のデータビットに対する動作のアルゴリズム及び象徴的表現の観点で提示される。これらのアルゴリズムの説明及び表現は、幾つかの環境では、データ処理技術の当業者により、業務内容を最も効率的に他の当業者に伝えるために用いられる手段である。アルゴリズムは、ここでは及び概して、所望の結果を生じる自己矛盾のないステップシーケンスであると考えられる。ステップは、物理量の物理的操作を必要とするステップである。通常、必ずしも必要ではないが、これらの量は、格納され、転送され、結合され、比較され及びその他の場合には操作され得る電気信号又は磁気信号の形式を取る。基本的に一般的に用いられるという理由で、これらの信号をビット、値、要素、シンボル、文字、語、数値、等として表すことが時には便利であることが分かっている。
【００９１】
しかしながら、これらの及び類似の語の全ては、適切な物理量に関連付けられ、これらの量に適用される便宜的ラベルに過ぎない。特に断りのない限り、以下の議論から明らかなように、以下の説明を通じて、「処理」、「計算」、「演算」、「決定」、「表示」、等の語を用いた議論は、コンピュータシステム又は同様の電子コンピューティング装置の動作及び処理を表す。コンピュータシステム又は同様の電子コンピューティング装置は、コンピュータシステムのレジスタ及びメモリ内にある物理（電子）量として表されたデータを操作し、コンピュータシステムのメモリ若しくはレジスタ又は情報記憶、送信又は表示装置等の中の物理量として同様に表される他のデータに変換する。
【００９２】
本発明は、本願明細書の動作を実行する装置にも関する。この装置は、所要の目的のために特に構成されても良く、又はコンピュータに格納されたコンピュータプログラムにより選択的に起動され又は再構成される汎用目的コンピュータを有しても良い。このようなコンピュータプログラムは、フロッピディスク、光ディスク、ＣＤ−ＲＯＭ及び磁気ディスクを含む任意の種類のディスク、ＲＯＭ（read−only  memory）、ＲＡＭ（random  access  memory）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光カード、不揮発性メモリを有するＵＳＢキーを含むフラッシュメモリ、又は電子命令を格納するのに適する任意の種類の媒体のような、各々がコンピュータシステムバスに結合された、しかしこれらに限定されない非一時的コンピュータ可読記憶媒体に格納されても良い。
【００９３】
幾つかの実施形態は、完全なハードウェアの実施形態、完全なソフトウェアの実施形態又はハードウェアとソフトウェア要素の両方を含む実施形態の形式を取り得る。一実施形態は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むがこれらに限定されないソフトウェアで実装されて良い。
【００９４】
さらに、幾つかの実施形態は、コンピュータ又は任意の命令実行システムにより又はそれと関連して使用するためのプログラムコードを提供するコンピュータにより使用可能な又はコンピュータにより読み取り可能な媒体からアクセス可能なコンピュータプログラムプロダクトの形式を取り得る。この説明の目的のために、コンピュータにより使用可能な又はコンピュータにより読み取り可能な媒体は、命令実行システム、機器又は装置により若しくはそれらと関連して使用するためのプログラムを有し、格納し、通信し、伝達し又は転送することが可能な任意の機器であって良い。
【００９５】
プログラムコードを格納し及び／又は実行するのに適するデータ処理システムは、システムバスを通じてメモリ要素に直接又は間接に結合される少なくとも１つのプロセッサを有し得る。メモリ要素は、プログラムコードの実際の実行中に用いられるローカルメモリ、大容量記憶装置、及び実行中にコードが大容量記憶装置から読み出されなければならない回数を低減するために少なくとも特定のプログラムコードの一時的記憶を提供するキャッシュメモリを含み得る。
【００９６】
入力／出力又はＩ／Ｏ装置（キーボード、ディスプレイ、ポインティングデバイス等を含むがこれらに限定されない）は、直接に又は介入するＩ／Ｏ制御部を通じてシステムに結合され得る。
【００９７】
ネットワークアダプタも、介入する私設若しくは公衆ネットワークを通じてデータ処理システムを他のデータ処理システムに又は遠隔プリンタ若しくは記憶装置に結合するために、システムに結合されて良い。モデム、ケーブルモデム及びEthernetカードは、現在利用可能な種類のネットワークアダプタのうちの少数の例に過ぎない。
【００９８】
最後に、本願明細書で提示されるアルゴリズム及びディスプレイは、本質的に、任意の特定のコンピュータ又は他の機器にも関連しない。種々の汎用システムが、本願明細書の教示に従ってプログラムと共に用いられて良く、所要の方法ステップを実行するために更に特定の装置を構成することが都合が良いことがあり得る。種々のこれらのシステムの所要の構造は、上述の説明から明らかである。さらに、技術は、任意の特定のプログラミング言語を参照して記載されない。理解されるべきことに、種々のプログラミング言語が、本願明細書に記載された種々の実施形態の教示を実施するために用いられて良い。
【００９９】
以上の実施形態の説明は、説明及び開設を目的としている。上述の記載は、網羅的であること又は本願明細書を開示の特定の形式に限定することを意図しない。上述の教示に照らして多くの修正及び変形が可能である。実施形態の範囲はこの詳細な説明に限定されず、本願の特許請求の範囲により定められる。当業者により理解されるように、種々の例が、本発明の精神又は基本的特徴から逸脱することなく他の特定の形式で実施できる。同様に、モジュール、ルーチン、特徴、属性、方法及び他の態様の特定の名称及び区分は、必須でも重要でもなく、明細書及びその特徴を実施するメカニズムは、異なる名称、区分及び／又はフォーマットを有して良い。さらに、当業者に明らかなように、本願明細書のモジュール、ルーチン、特徴、属性、方法は、ソフトウェア、ファームウェア、又それらの任意の組合せで実装できる。また、本願明細書の例えばモジュールであるコンポーネントがソフトウェアとして実装されるときは、コンポーネントは、スタンドアロンプログラム、大規模プログラムの一部、複数の別個のプログラム、静的又は動的リンクライブラリ、カーネルローダブルモジュール、デバイスドライバとして、及び／又はコンピュータプログラミングの当業者に現在知られている若しくは将来知られる如何なる他の方法でも実装され得る。さらに、本願明細書は、特定プログラミング言語、又は特定のオペレーティングシステム若しくは環境での実施形態に限定されない。したがって、本開示は、限定ではなく、本願明細書の範囲の説明を目的とする。
【符号の説明】
【０１００】
１００  システム
１０１  認識サーバ
１１５  クライアント装置
１０３  プラノグラムアプリケーション
１０５  ネットワーク
＜付録Ａ＞
【０１０１】
【表１】
2018190398.tif 000003
2018190398.tif 000004
2018190398.tif 000005
2018190398.tif 000006
2018190398.tif 000007
2018190398.tif 000008
2018190398.tif 000009
2018190398.tif 000010
2018190398.tif 000011
2018190398.tif 000012
2018190398.tif 000013
2018190398.tif 000014
2018190398.tif 000015
2018190398.tif 000016
2018190398.tif 000017
2018190398.tif 000018
2018190398.tif 000019
2018190398.tif 000020
2018190398.tif 000021
2018190398.tif 000022
2018190398.tif 000023
2018190398.tif 000024
2018190398.tif 000025
2018190398.tif 000026
2018190398.tif 000027
2018190398.tif 000028
2018190398.tif 000029
2018190398.tif 000030
2018190398.tif 000031
2018190398.tif 000032
2018190398.tif 000033
2018190398.tif 000034
2018190398.tif 000035
2018190398.tif 000036
2018190398.tif 000037
2018190398.tif 000038
【図１】
2018190398.tif 000039
【図２】
2018190398.tif 000040
【図３】
2018190398.tif 000041
【図４Ａ】
2018190398.tif 000042
【図４Ｂ】
2018190398.tif 000043
【図４Ｃ】
2018190398.tif 000044
【図４Ｄ】
2018190398.tif 000045
【図４Ｅ】
2018190398.tif 000046
【図４Ｆ】
2018190398.tif 000047
【図４Ｇ】
2018190398.tif 000048
【図５】
2018190398.tif 000049
【図６Ａ】
2018190398.tif 000050
【図６Ｂ】
2018190398.tif 000051
【図７Ａ】
2018190398.tif 000052
【図７Ｂ】
2018190398.tif 000053
【図８】
2018190398.tif 000054
【図９】
2018190398.tif 000055
【図１０Ａ】
2018190398.tif 000056
【図１０Ｂ】
2018190398.tif 000057
【図１０Ｃ】
2018190398.tif 000058