(57)【特許請求の範囲】
【請求項１】
クライアント装置のキャプチャモードで、単一の線形パノラマ画像を形成するための関心オブジェクトの画像シリーズをキャプチャするために、前記クライアント装置の動きを誘導するパターンを決定するステップと、
前記キャプチャモードで、前記関心オブジェクトの第１の部分の第１の画像を受信するステップと、
前記関心オブジェクトのプレビュー画像を取得するステップと、
ユーザ入力に応じて前記クライアント装置を再調整モードに切り替えるステップと、
前記再調整モードで、前記プレビュー画像と、前記プレビュー画像の上に半透明マスクとして重ね合わされた前記第１の部分の前記第１の画像のゴースト画像と、を含むユーザインタフェースを生成するステップと、
前記再調整モードで、前記ユーザインタフェースに第１の視覚的区別指示子を追加するステップであって、前記第１の視覚的区別指示子は、前記プレビュー画像と前記ゴースト画像との特徴の比較に基づき、所望の再調整を生成するために前記クライアント装置の前記動きを誘導する方向を識別する、ステップと、
前記所望の再調整が生成されると、前記クライアント装置を前記再調整モードから前記キャプチャモードに戻すステップと、
前記キャプチャモードで、前記ユーザインタフェースに第２の視覚的区別指示子を追加するステップであって、前記第２の視覚的区別指示子は、前記パターンに基づき、前記クライアント装置の前記動きを誘導する第１の方向を識別する、ステップと、
前記キャプチャモードで、前記第１の画像と前記プレビュー画像との間の重なり合いが重なり合い閾を満たすか否かを決定するために、前記第１の画像を前記プレビュー画像と比較するステップと、
前記キャプチャモードで、前記第１の画像と前記プレビュー画像との間の前記重なり合いが前記重なり合い閾を満たすことに応答して、前記プレビュー画像に対応する第２の画像をキャプチャするステップと、
を有し、
前記画像シリーズに含まれる前記第１及び前記第２の画像は、前記関心オブジェクトに平行なまま前記関心オブジェクトに沿った方向に移動する前記クライアント装置によりキャプチャされる、コンピュータにより実施される方法。
【請求項２】
前記キャプチャモードで、前記ユーザインタフェースにある前記第２の視覚的区別指示子を更新するステップであって、前記更新された第２の視覚的区別指示子は、前記パターンに基づき前記クライアント装置の前記動きを誘導する第２の方向を識別する、ステップ、
を更に有する請求項１に記載のコンピュータにより実施される方法。
【請求項３】
前記キャプチャモードで、前記第２の画像と前記プレビュー画像との間の重なり合いが前記重なり合い閾を満たすか否かを決定するために、前記第２の画像を前記プレビュー画像と比較するステップと、
前記キャプチャモードで、前記第２の画像と前記プレビュー画像との間の前記重なり合いが前記重なり合い閾を満たすことに応答して、前記プレビュー画像に対応する第３の画像をキャプチャするステップと、
を更に有する請求項２に記載のコンピュータにより実施される方法。
【請求項４】
前記キャプチャモードで、前記ユーザインタフェースにモザイクプレビューを追加するステップであって、前記モザイクプレビューは、キャプチャされた画像のサムネイル表現、及び前記モザイクプレビューの中に配置されるべき次のキャプチャされる画像の強調表示される位置のアウトラインを含む、ステップと、
を更に有する請求項３に記載のコンピュータにより実施される方法。
【請求項５】
前記第１の方向は縦方向であり、前記第２の方向は横方向である、請求項２に記載のコンピュータにより実施される方法。
【請求項６】
前記クライアント装置の前記動きを誘導する前記パターンは、蛇行スキャンパターン、ラスタスキャンパターン、及びオーバアンドバックスキャンパターンのグループからの１つである、請求項１に記載のコンピュータにより実施される方法。
【請求項７】
前記キャプチャモードで、単一の線形パノラマ画像を生成するために、前記関心オブジェクトの前記画像シリーズを送信するステップであって、前記画像シリーズは、前記第１の画像、前記第２の画像、及び前記第３の画像を含む、ステップ、
を有する請求項３に記載のコンピュータにより実施される方法。
【請求項８】
１又は複数のプロセッサと、
命令を格納するメモリと、
を有し、前記命令は、実行されると、前記１又は複数のプロセッサに、
クライアント装置のキャプチャモードで、単一の線形パノラマ画像を形成するための関心オブジェクトの画像シリーズをキャプチャするために、前記クライアント装置の動きを誘導するパターンを決定させ、
前記キャプチャモードで、前記関心オブジェクトの第１の部分の第１の画像を受信させ、
前記関心オブジェクトのプレビュー画像を取得させ、
ユーザ入力に応じて前記クライアント装置を再調整モードに切り替えさせ、
前記再調整モードで、前記プレビュー画像と、前記プレビュー画像の上に半透明マスクとして重ね合わされた前記第１の部分の前記第１の画像のゴースト画像と、を含むユーザインタフェースを生成させ、
前記再調整モードで、前記ユーザインタフェースに第１の視覚的区別指示子を追加させ、前記第１の視覚的区別指示子は、前記プレビュー画像と前記ゴースト画像との特徴の比較に基づき、所望の再調整を生成するために前記クライアント装置の前記動きを誘導する方向を識別し、
前記所望の再調整が生成されると、前記クライアント装置を前記再調整モードから前記キャプチャモードに戻させ、
前記キャプチャモードで、前記ユーザインタフェースに第２の視覚的区別指示子を追加させ、前記第２の視覚的区別指示子は、前記パターンに基づき前記クライアント装置の前記動きを誘導する第１の方向を識別し、
前記キャプチャモードで、前記第１の画像と前記プレビュー画像との間の重なり合いが重なり合い閾を満たすか否かを決定するために、前記第１の画像を前記プレビュー画像と比較させ、
前記キャプチャモードで、前記第１の画像と前記プレビュー画像との間の前記重なり合いが前記重なり合い閾を満たすことに応答して、前記プレビュー画像に対応する第２の画像をキャプチャさせ、
前記画像シリーズに含まれる前記第１及び前記第２の画像は、前記関心オブジェクトに平行なまま前記関心オブジェクトに沿った方向に移動する前記クライアント装置によりキャプチャされる、
システム。
【請求項９】
前記命令は、さらに前記１又は複数のプロセッサに、前記キャプチャモードで、前記パターンに基づき前記クライアント装置の前記動きを誘導する第２の方向を識別するために、前記ユーザインタフェースにある前記第２の視覚的区別指示子を更新させる、請求項８に記載のシステム。
【請求項１０】
前記命令は、さらに前記１又は複数のプロセッサに、
前記キャプチャモードで、前記第２の画像と前記プレビュー画像との間の重なり合いが前記重なり合い閾を満たすか否かを決定するために、前記第２の画像を前記プレビュー画像と比較させ、
前記キャプチャモードで、前記第２の画像と前記プレビュー画像との間の前記重なり合いが前記重なり合い閾を満たすことに応答して、前記プレビュー画像に対応する第３の画像をキャプチャさせる、
請求項９に記載のシステム。
【請求項１１】
前記命令は、さらに前記１又は複数のプロセッサに、
前記キャプチャモードで、前記ユーザインタフェースにモザイクプレビューを追加させ、前記モザイクプレビューは、キャプチャされた画像のサムネイル表現、及び前記モザイクプレビューの中に配置されるべき次のキャプチャされる画像の強調表示される位置のアウトラインを含む、
請求項１０に記載のシステム。
【請求項１２】
前記第１の方向は縦方向であり、前記第２の方向は横方向である、請求項９に記載のシステム。
【請求項１３】
前記クライアント装置の前記動きを誘導する前記パターンは、蛇行スキャンパターン、ラスタスキャンパターン、及びオーバアンドバックスキャンパターンのグループからの１つである、請求項８に記載のシステム。
【請求項１４】
前記命令は、さらに前記１又は複数のプロセッサに、前記キャプチャモードで、単一の線形パノラマ画像を生成するために、前記関心オブジェクトの前記画像シリーズを送信させ、前記画像シリーズは、前記第１の画像、前記第２の画像、及び前記第３の画像を含む、請求項１０に記載のシステム。
【請求項１５】
コンピュータプログラムであって、コンピュータに、
クライアント装置のキャプチャモードで、単一の線形パノラマ画像を形成するための関心オブジェクトの画像シリーズをキャプチャするために、前記クライアント装置の動きを誘導するパターンを決定させ、
前記キャプチャモードで、前記関心オブジェクトの第１の部分の第１の画像を受信させ、
前記関心オブジェクトのプレビュー画像を取得させ、
ユーザ入力に応じて前記クライアント装置を再調整モードに切り替えさせ、
前記再調整モードで、前記プレビュー画像と、前記プレビュー画像の上に半透明マスクとして重ね合わされた前記第１の部分の前記第１の画像のゴースト画像と、を含むユーザインタフェースを生成させ、
前記再調整モードで、前記ユーザインタフェースに第１の視覚的区別指示子を追加させ、前記第１の視覚的区別指示子は、前記プレビュー画像と前記ゴースト画像との特徴の比較に基づき、所望の再調整を生成するために前記クライアント装置の前記動きを誘導する方向を識別し、
前記所望の再調整が生成されると、前記クライアント装置を前記再調整モードから前記キャプチャモードに戻させ、
前記キャプチャモードで、前記ユーザインタフェースに第２の視覚的区別指示子を追加させ、前記第２の視覚的区別指示子は、前記パターンに基づき前記クライアント装置の前記動きを誘導する第１の方向を識別し、
前記キャプチャモードで、前記第１の画像と前記プレビュー画像との間の重なり合いが重なり合い閾を満たすか否かを決定するために、前記第１の画像を前記プレビュー画像と比較させ、
前記キャプチャモードで、前記第１の画像と前記プレビュー画像との間の前記重なり合いが前記重なり合い閾を満たすことに応答して、前記プレビュー画像に対応する第２の画像をキャプチャさせ、
前記画像シリーズに含まれる前記第１及び前記第２の画像は、前記関心オブジェクトに平行なまま前記関心オブジェクトに沿った方向に移動する前記クライアント装置によりキャプチャされる、
コンピュータプログラム。
【請求項１６】
さらに前記コンピュータに、前記キャプチャモードで、前記パターンに基づき前記クライアント装置の前記動きを誘導する第２の方向を識別するために、前記ユーザインタフェースにある前記第２の視覚的区別指示子を更新させる、請求項１５に記載のコンピュータプログラム。
【請求項１７】
さらに前記コンピュータに、
前記キャプチャモードで、前記第２の画像と前記プレビュー画像との間の重なり合いが前記重なり合い閾を満たすか否かを決定するために、前記第２の画像を前記プレビュー画像と比較させ、
前記キャプチャモードで、前記第２の画像と前記プレビュー画像との間の前記重なり合いが前記重なり合い閾を満たすことに応答して、前記プレビュー画像に対応する第３の画像をキャプチャさせる、
請求項１６に記載のコンピュータプログラム。
【請求項１８】
さらに前記コンピュータに、
前記キャプチャモードで、前記ユーザインタフェースにモザイクプレビューを追加させ、前記モザイクプレビューは、キャプチャされた画像のサムネイル表現、及び前記モザイクプレビューの中に配置されるべき次のキャプチャされる画像の強調表示される位置のアウトラインを含む、
請求項１７に記載のコンピュータプログラム。
【請求項１９】
前記第１の方向は縦方向であり、前記第２の方向は横方向である、請求項１６に記載のコンピュータプログラム。
【請求項２０】
さらに前記コンピュータに、前記キャプチャモードで、単一の線形パノラマ画像を生成するために、前記関心オブジェクトの前記画像シリーズを送信させ、前記画像シリーズは、前記第１の画像、前記第２の画像、及び前記第３の画像を含む、請求項１７に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の参照］
本願は、米国仮特許出願番号第６２/１０５,１８９号、２０１５年１月９日出願、名称「Image  Acquisition  User  Interface  for  Linear  Panoramic  Image  Stitching」、及び米国仮特許出願番号第６２/１２７,７５０号、２０１５年３月３日出願、名称「Image  Acquisition  User  Interface  for  Linear  Panoramic  Image  Stitching」の優先権を主張する。両仮出願は、参照することによりそれらの全体がここに組み込まれる。
【０００２】
本願明細書は、概して、単一の線形パノラマ画像を生成するために、画像シリーズをキャプチャするようユーザを誘導するユーザインタフェースを提供することに関する。特に、本願明細書は、単一の線形パノラマ画像を生成するために画像シリーズをキャプチャする際にユーザを誘導する即時フィードバックを提供する１又は複数のユーザインタフェース要素を生成するシステム及び方法に関する。
【背景技術】
【０００３】
プラノグラムは、小売環境における商品の視覚的表現である。例えば、プラノグラムは、小売環境のどこに、及びどれ位の量の商品が配置されるべきかを説明し得る。このようなプラノグラムは、売り上げを増大し、在庫を管理し、及び／又は利益若しくは他のパラメータを最適化するよう所望の量及び大きさの品物が置かれることを保証するために有効なツールであるとして知られる。しかしながら、棚、ラック及び陳列台の上の在庫の適切なレベルの提示及び維持は、労働集約的努力であり、それによりプラノグラムの実施を困難にしている。小売店における商品の位置及び量はユーザにより手動で追跡できる。一方で、商品を自動的に認識する又は商品の状態に関する情報を半自動的に得るための試みがなされている。
【０００４】
商品の認識における従来の試みは欠点を有する。例えば、複数の画像から複数の商品を認識するという目標を達成するための１つの方法は、画像連結（image  stitching）による。残念ながら、既存の画像連結技術は、アーチファクトを生じ、最適な認識動作の妨げとなることがある。
【発明の概要】
【０００５】
本願明細書で紹介する技術は、線形パノラマを生成するために画像シリーズをキャプチャするシステム及び方法により、少なくとも部分的に従来技術の欠点及び限界を克服する。一実施形態では、システムは画像認識アプリケーションを有する。画像認識アプリケーションは、キャプチャ装置から関心オブジェクトの一部の画像を受信し、該画像の特徴を決定するよう構成される。画像認識アプリケーションは、キャプチャ装置のディスプレイに関心オブジェクトの現在のプレビュー画像を含むユーザインタフェースを生成し、重なり合いを決定するために、画像の特徴をキャプチャ装置のディスプレイ上の関心オブジェクトの現在のプレビュー画像と動的に比較するよう更に構成される。画像認識アプリケーションは、ユーザインタフェースを更新して、重なり合いを生成するようキャプチャ装置の動きを誘導するために第１の視覚的区別指示子を含め、前記画像と前記現在のプレビュー画像との間の重なり合いが所定の重なり合い閾を満たすか否かを決定するよう更に構成される。画像認識アプリケーションは、重なり合いが所定の重なり合い閾を満たすことに基づき、キャプチャ装置を用いて関心オブジェクトの一部の次の画像をキャプチャするよう更に構成される。
【０００６】
他の態様は、上述の及び他の新規な態様のための対応する方法、システム、装置及びコンピュータプログラムを有する。
【０００７】
本願明細書に記載される特徴及び利点は網羅的ではなく、図面及び説明を参照して多くの追加の特徴及び利点が当業者に明らかになるだろう。さらに、留意すべき点は、本願明細書で用いられる語は、基本的に読み易さ及び説明的目的で選択されており、記載の技術の範囲を制限しない。
【図面の簡単な説明】
【０００８】
ここで紹介する技術は、例を用いて説明され、添付の図面に限定されるものではない。図中、同様の参照符号は同様の要素を表すために用いられる。
【図１】線形パノラマを生成するために画像シリーズをキャプチャするシステムの一実施形態を示す上位ブロック図である。
【図２】画像認識アプリケーションを有するコンピューティング装置の一実施形態を示すブロック図である。
【図３】単一の線形パノラマ画像のために方位誘導の下で関心オブジェクトの画像シリーズをキャプチャする方法の一実施形態を示すフロー図である。
【図４Ａ】単一の線形パノラマ画像を生成するために方位誘導パターンにおける関心オブジェクトの画像シリーズをキャプチャする方法の一実施形態を示すフロー図である。
【図４Ｂ】単一の線形パノラマ画像を生成するために方位誘導パターンにおける関心オブジェクトの画像シリーズをキャプチャする方法の一実施形態を示すフロー図である。
【図５Ａ】単一の線形パノラマ画像を生成するために方位誘導パターンにおける関心オブジェクトの画像シリーズをキャプチャする方法の別の実施形態を示すフロー図である。
【図５Ｂ】単一の線形パノラマ画像を生成するために方位誘導パターンにおける関心オブジェクトの画像シリーズをキャプチャする方法の別の実施形態を示すフロー図である。
【図６Ａ】関心オブジェクトの前にキャプチャした画像に現在のプレビュー画像を再調整する方法の一実施形態を示すフロー図である。
【図６Ｂ】関心オブジェクトの前にキャプチャした画像に現在のプレビュー画像を再調整する方法の一実施形態を示すフロー図である。
【図７Ａ】棚の画像をキャプチャするユーザインタフェースの一実施形態のグラフィック表現である。
【図７Ｂ】棚の画像をキャプチャするユーザインタフェースの別の実施形態のグラフィック表現である。
【図８】関心オブジェクトのキャプチャした画像同士の重なり合いの一実施形態のグラフィカル表現である。
【図９】重なり合いの視覚的区別指示子を生成する画像整合処理の一実施形態のグラフィカル表現である。
【図１０Ａ】クライアント装置が左から右方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１０Ｂ】クライアント装置が左から右方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１０Ｃ】クライアント装置が左から右方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１０Ｄ】クライアント装置が左から右方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１１Ａ】クライアント装置が上から下方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１１Ｂ】クライアント装置が上から下方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１１Ｃ】クライアント装置が上から下方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１１Ｄ】クライアント装置が上から下方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１２Ａ】クライアント装置がＺ軸の周りを回転するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１２Ｂ】クライアント装置がＺ軸の周りを回転するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１２Ｃ】クライアント装置がＺ軸の周りを回転するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１３Ａ】クライアント装置がＸ軸の周りを縦揺れするとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１３Ｂ】クライアント装置がＸ軸の周りを縦揺れするとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１３Ｃ】クライアント装置がＸ軸の周りを縦揺れするとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１４Ａ】クライアント装置がＸ軸及びＺ軸の両方で傾斜するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１４Ｂ】クライアント装置がＸ軸及びＺ軸の両方で傾斜するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１５】再調整の視覚的区別指示子を生成する再調整処理の一実施形態のグラフィカル表現である。
【図１６Ａ】前にキャプチャした画像にクライアント装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１６Ｂ】前にキャプチャした画像にクライアント装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１６Ｃ】前にキャプチャした画像にクライアント装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１６Ｄ】前にキャプチャした画像にクライアント装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図１７Ａ】前にキャプチャした画像にクライアント装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態の別のセットを示すグラフィカル表現である。
【図１７Ｂ】前にキャプチャした画像にクライアント装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態の別のセットを示すグラフィカル表現である。
【図１７Ｃ】前にキャプチャした画像にクライアント装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態の別のセットを示すグラフィカル表現である。
【図１７Ｄ】前にキャプチャした画像にクライアント装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態の別のセットを示すグラフィカル表現である。
【図１７Ｅ】前にキャプチャした画像にクライアント装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態の別のセットを示すグラフィカル表現である。
【図１７Ｆ】前にキャプチャした画像にクライアント装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態の別のセットを示すグラフィカル表現である。
【図１８】画像キャプチャの蛇行スキャンパターンの一実施形態のグラフィカル表現である。
【図１９】棚ユニットの画像を用いてモザイクプレビューを構築する一実施形態のグラフィカル表現である。
【図２０Ａ】クライアント装置の動きの方向の視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図２０Ｂ】クライアント装置の動きの方向の視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図２０Ｃ】クライアント装置の動きの方向の視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図２０Ｄ】クライアント装置の動きの方向の視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図２０Ｅ】クライアント装置の動きの方向の視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図２０Ｆ】クライアント装置の動きの方向の視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図２０Ｇ】クライアント装置の動きの方向の視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図２０Ｈ】クライアント装置の動きの方向の視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図２０Ｉ】クライアント装置の動きの方向の視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。
【図２１】クライアント装置の動きの方向の視覚的区別指示子を表示するユーザインタフェースの別の実施形態のグラフィカル表現である。
【図２２Ａ】キャプチャした画像のセットをモザイクでプレビューするユーザインタフェースの実施形態のグラフィカル表現である。
【図２２Ｂ】キャプチャした画像のセットをモザイクでプレビューするユーザインタフェースの実施形態のグラフィカル表現である。
【発明を実施するための形態】
【０００９】
図１は、線形パノラマを生成するために画像シリーズをキャプチャするシステム１００の一実施形態を示す上位ブロック図である。図示のシステム１００は、ユーザ及び認識サーバ１０１によりアクセスできる１又は複数のクライアント装置１１５ａ．．．１１５ｎを有しても良い。図１及び以下の図では、参照符号、例えば「１１５ａ」の後の文字は、特定の参照符号を有する要素への参照を表す。文章中の、後続の文字を有しない参照符号、例えば「１１５」は、その参照符号を付された要素の任意の又は全ての例への全般的な参照を表す。図示の実施形態では、システム１００のこれらのエンティティはネットワーク１０５を介して通信可能に結合される。
【００１０】
ネットワーク１０５は、従来型の有線又は無線であり、スター構成、トークンリング構成若しくは他の構成を含む多数の異なる構成を有しても良い。さらに、ネットワーク１０５は、ＬＡＮ（local  area  network）、ＷＡＮ（wide  area  network）（例えば、インターネット）、及び／又は複数の装置が通信できる他の相互接続されたデータ経路を有しても良い。幾つかの実施形態では、ネットワーク１０５は、ピアツーピアネットワークであっても良い。ネットワーク１０５は、種々の異なる通信プロトコルでデータを送信する通信ネットワークの一部に結合され又はそれを含んでも良い。幾つかの実施形態では、ネットワーク１０５は、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信ネットワーク又はＳＭＳ（short  messaging  service）、ＭＭＳ（multimedia  messaging  service）、ＨＴＴＰ（hypertext  transfer  protocol）、直接データ接続、ＷＡＰ、電子メール等を介することを含むデータを送信及び受信するセルラ通信ネットワークを有しても良い。図１はクライアント装置１１５及び認識サーバ１０１に結合された１つのネットワーク１０５を示すが、実際には、１又は複数のネットワーク１０５がこれらのエンティティに接続できる。
【００１１】
幾つかの実施形態では、システム１００は、ネットワーク１０５に結合される認識サーバ１０１を有する。幾つかの実施形態では、認識サーバ１０１は、ハードウェアサーバ、ソフトウェアサーバ、又はハードウェアとソフトウェアとの組合せであっても良い。認識サーバ１０１は、プロセッサ、メモリ、アプリケーション、データベース及びネットワーク通信能力を有するコンピューティング装置であっても良く、又はそれらにより実装されても良い。図１の例では、認識サーバ１０１のコンポーネントは、以下に詳述する画像認識アプリケーション１０３ａを実装するために構成される。一実施形態では、認識サーバ１０１は、棚、ラック又は展示にある商品を識別するサービスを消費者包装品会社に提供する。本願明細書の例は、小売展示のような棚の画像の中の商品の認識を記載するが、画像は系統的なオブジェクトの任意の配置を有しても良いことが理解されるべきである。例えば、画像は、倉庫、貯蔵室、保管室、キャビネット、等であっても良い。同様に、オブジェクトは、小売商品に加えて、製造、建築又は保守、薬剤、救急補給品、緊急又は安全設備、等で用いられるツール、部品であっても良い。
【００１２】
幾つかの実施形態では、認識サーバ１０１は、ネットワーク１０５を介して、システム１００の他のエンティティへ及びそれらからデータを送受信する。例えば、認識サーバ１０１は、画像を含むデータをクライアント装置１１５へ送信し及びそれから受信する。認識サーバ１０１により受信された画像は、クライアント装置１１５によりキャプチャされる画像、ウェブサイト若しくは電子メールからコピーされる画像、又は任意の他のソースからの画像を有しても良い。図１には単一の認識サーバ１０１のみが示されるが、任意の数の認識サーバ１０１又はサーバクラスタが存在しても良いことが理解されるべきである。認識サーバ１０１は、図２を参照して以下に詳述するデータ記憶装置２４３も有する。
【００１３】
クライアント装置１１５は、メモリとプロセッサとカメラとを有するコンピューティング装置、例えばラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、移動電話機、スマートフォン、ＰＤＡ（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）装置、ＳＲＡＭ（static  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）素子、フラッシュメモリ又は幾つかの他のメモリ素子であっても良い。幾つかの実施形態では、データ記憶装置２４３は、不揮発性メモリ、又はハードディスクドライブ、フロッピディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリ装置又は従来知られているより永久的に情報を格納する特定の他の大容量記憶装置を含む同様の永久記憶装置及び媒体も有しても良い。
【００２６】
図示の実施形態では、データ記憶装置２４３は、バス２２０に通信可能に結合される。データ記憶装置２４３は、受信した画像を分析するためのデータ、分析の結果、及び本願明細書に記載のような他の機能を格納する。例えば、データ記憶装置２４３は、最適な重なり合い画像をキャプチャするための画像重なり合い閾を格納しても良い。データ記憶装置２４３は、同様に、キャプチャした画像及びキャプチャした画像について決定した特徴のセットを格納しても良い。さらに、データ記憶装置２４３は、連結した線形パノラマ画像を格納しても良い。データ記憶装置２４３に格納されたデータは、以下に詳細に記載される。
【００２７】
方位センサ２４５は、コンピューティング装置２００の位置又は動きを決定するために、ハードウェアに基づいても又はソフトウェアに基づいても、又はハードウェアとソフトウェアの組合せに基づいても良い。幾つかの実施形態では、方位センサ２４５は、加速度計、ジャイロスコープ、近接センサ、地磁場センサ、等を有しても良い。異なる実施形態では、方位センサ２４５は、３つの座標軸の加速力、３つの座標軸の回転レートデータ（例えば、ヨー、ピッチ、ロール値）、オブジェクトとの距離を示す近接データ、等を提供しても良い。留意すべきことに、方位センサ２４５は、任意であることを示すために、図２に破線で示される。例えば、コンピューティング装置２００が認識サーバ１０１である場合、方位センサ２４５はシステムの部分ではなく、コンピューティング装置２００がクライアント装置１１５である場合、方位センサ２４５が含まれ本願明細書に記載のクライアント装置２００の種々の動き又は位置決定イベントについてのセンサ情報を提供するために用いられる。
【００２８】
キャプチャ装置２４７は、関心オブジェクトの画像又はデータをデジタル的にキャプチャするために動作可能であっても良い。例えば、キャプチャ装置２４７は、ＨＤ（high  definition）カメラ、標準２Ｄカメラ、マルチスペクトルカメラ、構造光３Ｄカメラ、飛行時間３Ｄカメラ、立体カメラ、標準的なスマートフォンカメラ、又はウェアラブルコンピューティング装置であっても良い。キャプチャ装置２４７は、プロセッサ２３５、メモリ２３７、又はデータ記憶装置２４３に画像及び他の処理済みメタデータを提供するために、バスに結合される。留意すべきことに、キャプチャ装置２４７は、任意であることを示すために、図２に破線で示される。例えば、コンピューティング装置２００が認識サーバ１０１である場合、キャプチャ装置２４７はシステムの部分ではなく、コンピューティング装置２００がクライアント装置１１５である場合、キャプチャ装置２４７が含まれ図７Ａ、７Ｂ、９Ａ〜１５Ｂ、１７Ａ〜１７Ｆ、１８、２２Ａ〜２２Ｉを参照して後述する画像及び他のメタデータ情報を提供するために用いられる。
【００２９】
幾つかの実施形態では、画像認識アプリケーション１０３は、制御部２０１、特徴抽出モジュール２０３、調整モジュール２０５、ユーザ誘導モジュール２０７、連結モジュール２０９、及びユーザインタフェースモジュール２１１を有しても良い。画像認識アプリケーション１０３のコンポーネントは、バス２２０により通信可能に結合される。
【００３０】
制御部２０１は、画像認識アプリケーション１０３の他のコンポーネントの動作を制御するためにソフトウェア及び／又はロジックを有しても良い。制御部２０１は、図３〜６を参照して以下に記載される方法を実行するために画像認識アプリケーション１０３の他のコンポーネントを制御する。制御部２０１は、画像認識アプリケーション１０３とコンピューティング装置２００の他のコンポーネントとの間の、並びに画像認識アプリケーション１０３のコンポーネント同士の間の通信を処理する機能を提供するために、ソフトウェア及び／又はロジックを有しても良い。幾つかの実施形態では、制御部２０１は、ＦＰＧＡ（field−programmable  gate  array）又はＡＳＩＣ（application−specific  integrated  circuit）を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、制御部２０１は、ハードウェアとプロセッサ２３５により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、制御部２０１は、プロセッサ２３５により実行可能な命令セットである。幾つかの実施形態では、制御部２０１は、メモリ２３７に格納され、プロセッサ２３５によりアクセス可能且つ実行可能である。幾つかの実装では、制御部２０１は、プロセッサ２３５、メモリ２３７及び画像認識アプリケーション１０３の他のコンポーネントとバス２２０を介して協働し通信するために適応される。
【００３１】
幾つかの実施形態では、制御部２０１は、通信ユニット２４１を介して、データをクライアント装置１１５及び認識サーバ１０１のうちの１又は複数へ送信し及びそれらから受信する。例えば、制御部２０１は、通信ユニット２４１を介して、ユーザにより操作されるクライアント装置１１５から画像を受信し、特徴抽出モジュール２０３へ画像を送信する。別の例では、制御部２０１は、ユーザインタフェースモジュール２１１からグラフィカルユーザインタフェースを提供するためのデータを受信し、クライアント装置１１５へデータを送信して、クライアント装置１１５にユーザに対してユーザインタフェースを提示させる。
【００３２】
幾つかの実施形態では、制御部２０１は、画像認識アプリケーション１０３の他のコンポーネントからデータを受信し、データ記憶装置２４３に該データを格納する。例えば、制御部２０１は、画像について識別された特徴を含むデータを特徴抽出モジュール２０３から受信し、データ記憶装置２４３に該データを格納する。他の実施形態では、制御部２０１は、データ記憶装置２４３からデータを読み出し、画像認識アプリケーション１０３の他のコンポーネントへ該データを送信する。例えば、制御部２０１は、重なり合い閾を含むデータをデータ記憶装置２４３から読み出し、調整モジュール２０５に該読み出したデータを送信する。
【００３３】
特徴抽出モジュール２０３は、クライアント装置１１５から関心オブジェクトの画像を受信し、該画像について特徴を決定するソフトウェア及び／又はロジックを有しても良い。幾つかの実施形態では、特徴抽出モジュール２０３は、ＦＰＧＡ（field−programmable  gate  array）又はＡＳＩＣ（application−specific  integrated  circuit）を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、特徴抽出モジュール２０３は、ハードウェアとプロセッサ２３５により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、画像抽出モジュール２０３は、プロセッサ２３５により実行可能な命令セットである。幾つかの実装では、特徴抽出モジュール２０３は、メモリ２３７に格納され、プロセッサ２３５によりアクセス可能且つ実行可能である。幾つかの実装では、特徴抽出モジュール２０３は、プロセッサ２３５、メモリ２３７及び画像認識アプリケーション１０３の他のコンポーネントとバス２２０を介して協働し通信するために適応される。
【００３４】
幾つかの実施形態では、特徴抽出モジュール２０３は、画像を受信し、該画像の特徴を決定する。幾つかの実施形態では、特徴抽出モジュール２０３は、調整モジュール２０５から関心オブジェクトのプレビュー画像を受信し、画像の特徴セットを決定する。例えば、特徴抽出モジュール２０３は、画像の中で識別された各々の特徴について、位置、方位、及び画像記述子を決定しても良い。幾つかの実施形態では、特徴抽出モジュール２０３は、特徴位置を決定するために、Shi−Tomasiコーナ検出アルゴリズム、Harris  and  Stephensコーナ検出アルゴリズム、等のようなコーナ検出アルゴリズムを用いる。幾つかの実施形態では、特徴抽出モジュール２０３は、効率的な画像特徴記述子を決定するＢＲＩＥＦ（Binary  Robust  Independent  Elementary  Features）記述子アプローチを用いる。幾つかの実施形態では、特徴抽出モジュール２０３は、画像についての特徴セットを、調整モジュール２０５へ送信する。他の実施形態では、特徴抽出モジュール２０３は、参照画像として画像を識別し、データ記憶装置２４３に特徴セットを格納する。
【００３５】
調整モジュール２０５は、参照画像に合わせるために、クライアント装置１１５から関心オブジェクトのプレビュー画像を受信し、該プレビュー画像を含むユーザインタフェースを生成するようユーザインタフェースモジュール２１１に指示し、及び／又は参照画像の特徴と関心オブジェクトのプレビュー画像とを動的に比較するソフトウェア及び／又はロジックを有しても良い。幾つかの実施形態では、調整モジュール２０５は、ＦＰＧＡ（field−programmable  gate  array）又はＡＳＩＣ（application−specific  integrated  circuit）を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、調整モジュール２０５は、ハードウェアとプロセッサ２３５により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、調整モジュール２０５は、プロセッサ２３５により実行可能な命令セットである。幾つかの実施形態では、調整モジュール２０５は、メモリ２３７に格納され、プロセッサ２３５によりアクセス可能且つ実行可能である。幾つかの実装では、調整モジュール２０５は、プロセッサ２３５、メモリ２３７及び画像認識アプリケーション１０３の他のコンポーネントとバス２２０を介して協働し通信するために適応される。
【００３６】
幾つかの実施形態では、調整モジュール２０５は、キャプチャ装置２４７によりサンプリングされた関心オブジェクトのプレビュー画像を受信し、該プレビュー画像を特徴抽出モジュール２０３へ送信する。他の実施形態では、調整モジュール２０５は、クライアント装置１１５のディスプレイにプレビュー画像を表示するユーザインタフェースを生成するよう、ユーザインタフェースモジュール２１１に指示する。幾つかの実施形態では、調整モジュール２０５は、クライアント装置１１５にある画像の再調整のためのユーザ選択を受信しても良い。幾つかの実施形態では、調整モジュール２０５は、特徴抽出モジュール２０３からプレビュー画像の特徴を受信し、参照画像の特徴をプレビュー画像の特徴と動的に比較する。幾つかの実施形態では、調整モジュール２０５は、画像間の重なり合いを決定し、所望の重なり合いを生成するようクライアント装置１１５の動きを誘導するために、ユーザインタフェースに視覚的区別指示子を生成するユーザインタフェースモジュール２１１に指示する。他の実施形態では、調整モジュール２０５は、重なり合いが所定の重なり合い閾を満たすか否かを決定し、所定の重なり合い閾が満たされていることに基づき、プレビュー画像を参照画像として設定する命令を特徴抽出モジュール２０３へ送信する。
【００３７】
ユーザ誘導モジュール２０７は、クライアント装置１１５の動きを方位において誘導し、クライアント装置１１５の方位を方位軸において誘導し、及び視覚的区別指示子を通じて進捗情報を提供する機能を提供するソフトウェア及び／又はロジックを有しても良い。幾つかの実施形態では、ユーザ誘導モジュール２０７は、ＦＰＧＡ（field−programmable  gate  array）又はＡＳＩＣ（application−specific  integrated  circuit）を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、ユーザ誘導モジュール２０７は、ハードウェアとプロセッサ２３５により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、ユーザ誘導モジュール２０７は、プロセッサ２３５により実行可能な命令セットである。幾つかの実装では、ユーザ誘導モジュール２０７は、メモリ２３７に格納され、プロセッサ２３５によりアクセス可能且つ実行可能である。幾つかの実装では、ユーザ誘導モジュール２０７は、プロセッサ２３５、メモリ２３７及び画像認識アプリケーション１０３の他のコンポーネントとバス２２０を介して協働し通信するために適応される。
【００３８】
幾つかの実施形態では、ユーザ誘導モジュール２０７は、クライアント装置１１５の方位センサ２４５からジャイロスコープセンサ情報を受信する。幾つかの実施形態では、ユーザ誘導モジュール２０７は、ジャイロスコープセンサ情報に基づき、クライアント装置１１５が３つの方位軸のうちの１つにおいて傾いているか否かを決定する。他の実施形態では、ユーザ誘導モジュール２０７は、傾きを無効にするようクライアント装置１１５の方位を誘導するために、ユーザインタフェース上で視覚的区別指示子を生成するユーザインタフェースモジュール２１１に指示する。幾つかの実施形態では、ユーザ誘導ジュール２０７は、クライアント装置１１５から、関心オブジェクトの画像を受信するために、画像キャプチャパターンの選択を受信する。幾つかの実施形態では、ユーザ誘導ジュール２０７は、選択された画像キャプチャパターンに基づきクライアント装置の方向の動きについての視覚的区別指示子を生成する命令を、ユーザインタフェースモジュール２１１へ送信する。他の実施形態では、ユーザ誘導モジュール２０７は、ユーザインタフェース上で関心オブジェクトについての受信した画像のモザイクプレビューを生成する命令を、ユーザインタフェースモジュール２１１へ送信する。
【００３９】
連結モジュール２０９は、画像シリーズを単一の線形パノラマに繋ぎ合わせる機能を提供するソフトウェア及び／又はロジックを有しても良い。幾つかの実施形態では、連結モジュール２０９は、ＦＰＧＡ（field−programmable  gate  array）又はＡＳＩＣ（application−specific  integrated  circuit）を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、連結モジュール２０９は、ハードウェアとプロセッサ２３５により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、連結モジュール２０９は、プロセッサ２３５により実行可能な命令セットである。幾つかの実施形態では、連結モジュール２０９は、メモリ２３７に格納され、プロセッサ２３５によりアクセス可能且つ実行可能である。幾つかの実装では、連結モジュール２０９は、プロセッサ２３５、メモリ２３７及び画像認識アプリケーション１０３の他のコンポーネントとバス２２０を介して協働し通信するために適応される。
【００４０】
幾つかの実施形態では、連結モジュール２０９は、特徴抽出モジュール２０３から、関心オブジェクトの参照画像を受信する。幾つかの実施形態では、連結モジュール２０９は、調整モジュール２０５により処理されている画像同士の重なり合い情報を受信する。幾つかの実施形態では、コンピューティング装置２００がクライアント装置１１５である場合、画像認識アプリケーション１０３の連結モジュール２０９は、単一の線形パノラマ画像を生成する認識サーバ１０１へ、関心オブジェクトの参照画像、重なり合い情報及び他のメタデータ情報を送信する。幾つかの実施形態では、コンピューティング装置２００が認識サーバ１０１である場合、画像認識アプリケーション１０３の連結モジュール２０９は、関心オブジェクトの参照画像、重なり合い情報、及び他のメタデータ情報を用いて、単一の線形パノラマ画像を生成する。他の実施形態では、連結モジュール２０９は、線形パノラマ画像を受信し、データ記憶装置２４３に線形パノラマ画像を格納し、線形パノラマ画像を表示するユーザインタフェースを生成するようユーザインタフェースモジュール２１１に指示する。
【００４１】
ユーザインタフェースエンジン２１１は、ユーザインタフェースをユーザに提供するためのソフトウェア及び／又はロジックを有しても良い。幾つかの実施形態では、ユーザインタフェースモジュール２１１は、ＦＰＧＡ（field−programmable  gate  array）又はＡＳＩＣ（application−specific  integrated  circuit）を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、ユーザインタフェースモジュール２１１は、ハードウェアとプロセッサ２３５により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、ユーザインタフェースモジュール２１１は、プロセッサ２３５により実行可能な命令セットである。幾つかの実装では、ユーザインタフェースモジュール２１１は、メモリ２３７に格納され、プロセッサ２３５によりアクセス可能且つ実行可能である。幾つかの実装では、ユーザインタフェースモジュール２１１は、プロセッサ２３５、メモリ２３７及び画像認識アプリケーション１０３の他のコンポーネントとバス２２０を介して協働し通信するために適応される。
【００４２】
幾つかの実施形態では、ユーザインタフェースモジュール２１１は、前にキャプチャされた画像と良好な重なり合いを有する次の画像をキャプチャするためにクライアント装置１１５をどれ位移動するかについてユーザに指示するグラフィカルユーザインタフェースを生成する命令を、調整モジュール２０５から受信する。幾つかの実施形態では、ユーザインタフェースモジュール２１１は、任意の方位軸（例えば、Ｘ、Ｙ、又はＺ軸）において僅かな傾きしかない又は全く傾きを有しない重なり合い画像をキャプチャするようユーザを誘導するグラフィカルユーザインタフェースを生成する命令を、ユーザ誘導モジュール２０７から受信する。他の実施形態では、ユーザインタフェースモジュール２１１は、アプリケーションにグラフィカルユーザインタフェースとしてデータを表示させるグラフィカルユーザインタフェースデータを通信ユニット２４１を介してクライアント装置１１５の中のアプリケーション（例えば、ブラウザ）へ送信する。
【００４３】
＜方法＞
図３は、単一の線形パノラマ画像のために方位誘導の下で関心オブジェクトの画像シリーズをキャプチャする方法３００の一実施形態を示すフロー図である。３０２で、特徴抽出モジュール２０３は、クライアント装置１１５から参照画像として機能する関心オブジェクトの一部の画像を受信する。例えば、画像は、棚、領域、芸術品、目印、景色のいい場所、他の空間、等の画像であり得る。画像は処理され、単一の線形パノラマ画像を形成するために必要な画像シリーズの中の第１の画像であるための基準（場所、方位、及び配置）を満たす場合、参照画像として識別される。３０４で、調整モジュール２０５は、クライアント装置１１５によりサンプリングされているプレビュー画像が存在するか否かを決定する。プレビュー画像がサンプリングされている場合、３０６で、調整モジュール２０５は、クライアント装置１１５から関心オブジェクトの別の部分のプレビュー画像を受信する。３０８で、ユーザインタフェースモジュール２１１は、プレビュー画像の上にオーバレイされた視覚的区別指示子を含むユーザインタフェースを生成する。視覚的区別指示子は、クライアント装置１１５の動きを誘導するために方位を識別する。例えば、動きの方向は、北、南、東、又は西方向であり得る。３１０で、ユーザインタフェースモジュール２１１は、次第に増大するモザイクプレビューをユーザインタフェースに追加する。モザイクプレビューは、参照画像のサムネイル表現を含む。３１２で、調整モジュール２０５は、参照画像とプレビュー画像との間で検出されている重なり合いが所定の重なり合い閾を満たすか否かを決定するために、参照画像をプレビュー画像と動的に比較する。例えば、所定の重なり合い閾は、６０パーセントに設定され得る。３１４で、調整モジュール２０５は、重なり合い閾が満たされるか否かを調べる。重なり合い閾が満たされる場合、３１６で、特徴抽出モジュール２０３は、プレビュー画像を参照画像であると設定し、方法３００はステップ３０４から処理を繰り返す。重なり合い閾が満たされない場合、方法３００は、ステップ３０４から処理を繰り返す。より多くの画像が、クライアント装置１１５のディスプレイ上のプレビュー画像として受信され、ユーザインタフェースは、参照画像との十分な重なり合いを有するプレビュー画像が決定されるまで、連続的に更新される。プレビュー画像がクライアント装置１１５によりサンプリングされていない場合、３１８で、連結モジュール２０９は、単一の線形パノラマ画像を生成するために関心オブジェクトの部分の画像を送信する。幾つかの実施形態では、調整モジュール２０５はユーザ入力に応答して及びユーザがプレビュー画像の提供を止めると、調整モジュール２０５は、連結モジュール２０９へ命令を送信する。連結モジュール２０９は、パノラマ画像の生成のために、認識サーバ１０１へ関心オブジェクトの画像を送信する。幾つかの実施形態では、連結モジュール２０９は、パノラマ画像を形成するために十分な画像がキャプチャされたか否かに関してユーザにフィードバックを提供する。幾つかの実施形態では、ユーザ誘導モジュール２０７は、画像キャプチャパターンに関する入力を受信しても良く、ユーザ誘導モジュール２０７は、プレビュー又は提供すべき次の画像に関してユーザを誘導するためにユーザインタフェースを生成するようユーザインタフェースモジュール２１１に指示しても良い。言い換えると、方法は、画像のプレビューを提供するために、どんな垂直方向及び水平方向の動きがなされるべきかについて追加フィードバックをユーザに提供しても良い。
【００４４】
図４Ａ〜４Ｂは、単一の線形パノラマ画像を生成するために方位誘導パターンにおける関心オブジェクトの画像シリーズをキャプチャする方法４００の一実施形態を示すフロー図である。４０２で、ユーザ誘導モジュール２０７は、クライアント装置から、関心オブジェクトの画像を受信するために、蛇行画像キャプチャパターンの選択を受信する。４０４で、特徴抽出モジュール２０３は、クライアント装置１１５から関心オブジェクトの一部の画像を受信し、参照画像として画像を識別する。４０６で、特徴抽出モジュール２０３は、参照画像の特徴を決定する。例えば、特徴抽出モジュール２０３は、参照画像について識別された各々の特徴の画像記述子を決定する。特徴抽出モジュール２０３は、効率的な画像特徴記述子を決定するＢＲＩＥＦ（Binary  Robust  Independent  Elementary  Features）記述子アプローチを用いる。画像記述子は、特徴によりカバーされる画像小領域を記述する２５６ビットのビットマスクであり得る。
【００４５】
４０８で、ユーザ誘導モジュール２０７は、蛇行パターンの横方向が分かっているか否かを調べる。蛇行パターンの横方向が分かっている場合、４１４で、調整モジュール２０５は、クライアント装置１１５によりサンプリングされているプレビュー画像が存在するか否かを決定する。例えば、現在のプレビュー画像は、レンズに形成され且つクライアント装置１１５に含まれる画像センサにより処理される画像を連続的に受信することによりクライアント装置１１５のディスプレイスクリーン上に生成されるライブプレビュー画像であり得る。プレビュー画像がサンプリングされている場合、４１６で、調整モジュール２０５は、クライアント装置１１５から関心オブジェクトの別の部分のプレビュー画像を受信する。４１８で、ユーザインタフェースモジュール２１１は、クライアント装置１１５のディスプレイに、プレビュー画像を含むユーザインタフェースを生成する。４２０で、ユーザインタフェースモジュール２１１は、蛇行パターンに従ってクライアント装置１１５から追加プレビュー画像を受信するために、クライアント装置の動きを誘導する方向を識別する視覚的区別指示子をユーザインタフェースに追加する。例えば、視覚的区別指示子は、ユーザインタフェース上で東、西、北又は南を指す指向性矢印であり得る。４２２で、調整モジュール２０５は、参照画像とプレビュー画像との間の所望の重なり合いが所定の重なり合い閾を満たすか否かを決定するために、参照画像の特徴をプレビュー画像と動的に比較する。例えば、調整モジュール２０５は、参照画像の特徴の画像記述子（つまり、２５６ビットのビットマスク）を関心オブジェクトのプレビュー画像と比較して、重なり合いを決定するために、ハミング距離を用いる。４２４で、調整モジュール２０５は、重なり合い閾が満たされるか否かを調べる。重なり合い閾が満たされる場合、４２６で、特徴抽出モジュール２０３は、プレビュー画像を参照画像であると設定し、方法４００はステップ４０６から処理を繰り返す。重なり合い閾が満たされない場合、方法４００は、ステップ４１４から処理を繰り返す。
【００４６】
蛇行パターンの横方向が分からない場合、４１０で、ユーザ誘導モジュール２０７は、前の参照画像の横にある参照画像が識別されるか否かを調べる。参照画像が前の参照画像の横で識別される場合、４１２で、ユーザ誘導モジュール２０７は、関心オブジェクトを横切ってクライアント装置１１５を直線的に誘導するために、蛇行パターンの横方向を識別する。そして、方法４００は進行してステップ４１４を実行する。例えば、後続の画像が前にキャプチャした画像の左でキャプチャされる場合、ユーザ誘導モジュール２０７は、蛇行パターンの横方向が、関心オブジェクトを横切って直線的に画像をキャプチャする右から左への蛇行パターンであると決定する。参照画像が前の参照画像の横にない場合、方法４００はステップ４１４へ進む。４１４で、調整モジュール２０５は、クライアント装置１１５によりサンプリングされているプレビュー画像が存在するか否かを決定する。プレビュー画像がクライアント装置１１５によりサンプリングされていない場合、４２８で、連結モジュール２０９は、単一の線形パノラマ画像を生成するために関心オブジェクトの部分の画像を送信する。
【００４７】
図５Ａ〜５Ｂは、単一の線形パノラマ画像を生成するために方位誘導パターンにおける関心オブジェクトの画像シリーズをキャプチャする方法５００の別の実施形態を示すフロー図である。５０２で、ユーザ誘導モジュール２０７は、クライアント装置から、関心オブジェクトの画像を受信するために、蛇行画像キャプチャパターンの選択を受信する。５０４で、特徴抽出モジュール２０３は、クライアント装置１１５から関心オブジェクトの一部の画像を受信し、参照画像として画像を識別する。例えば、画像は、棚、領域、芸術品、目印、景色のいい場所、他の空間、等の画像であり得る。例えば、動きの方向は、北、南、東、又は西方向であり得る。５０６で、特徴抽出モジュール２０３は、参照画像の特徴を決定する。５０８で、ユーザ誘導モジュール２０７は、蛇行パターンの横方向が分かっているか否かを調べる。
【００４８】
蛇行パターンの横方向が分かっている場合、５１６で、調整モジュール２０５は、クライアント装置１１５によりサンプリングされているプレビュー画像が存在するか否かを決定する。プレビュー画像がサンプリングされている場合、５１８で、調整モジュール２０５は、クライアント装置１１５から関心オブジェクトの別の部分のプレビュー画像を受信する。５２０で、ユーザインタフェースモジュール２１１は、クライアント装置のディスプレイに、プレビュー画像及び次第に増大するモザイクプレビューを含むユーザインタフェースを生成する。例えば、モザイクプレビューは、それまでに関心オブジェクトについて受信された画像に関連する進捗情報を提供する。５２２で、ユーザインタフェースモジュール２１１は、モザイクプレビューに参照画像のサムネイル表現を追加し、蛇行パターンに従って関心オブジェクトの後続の画像が配置されるべき少なくとも１つの位置をモザイクプレビューの中で識別する。５２４で、調整モジュール２０５は、参照画像とプレビュー画像との間の所望の重なり合いが所定の重なり合い閾を満たすか否かを決定するために、参照画像の特徴をプレビュー画像と動的に比較する。５２６で、調整モジュール２０５は、重なり合い閾が満たされるか否かを調べる。重なり合い閾が満たされる場合、５２８で、特徴抽出モジュール２０３は、プレビュー画像を参照画像であると設定し、方法５００はステップ５０６から処理を繰り返す。重なり合い閾が満たされない場合、方法５００は、ステップ５１６から処理を繰り返す。
【００４９】
蛇行パターンの横方向が分からない場合、５１０で、ユーザ誘導モジュール２０７は、前の参照画像の横にある参照画像が識別されるか否かを調べる。参照画像が前の参照画像の横で識別される場合、５１２で、ユーザ誘導モジュール２０７は、関心オブジェクトを横切ってクライアント装置１１５を直線的に誘導するために、蛇行パターンの横方向を識別する。５１４で、ユーザ誘導モジュール２０７は、ユーザインタフェース上の反対方向に次第に増大するモザイクプレビューをスライドさせる。そして、方法５００はステップ５１６へ進む。例えば、蛇行画像キャプチャパターンの横方向が左から右への方向である場合、モザイクプレビューは、ユーザインタフェースの左へスライドされる。参照画像が前の参照画像の横にない場合、方法５００はステップ５１６へ進む。５１６で、調整モジュール２０５は、クライアント装置１１５によりサンプリングされているプレビュー画像が存在するか否かを決定する。プレビュー画像がクライアント装置１１５によりサンプリングされていない場合、５３０で、連結モジュール２０９は、単一の線形パノラマ画像を生成するために関心オブジェクトの部分の画像を送信する。
【００５０】
図６Ａ〜６Ｂは、関心オブジェクトの前にキャプチャした画像に現在のプレビュー画像を再調整する方法６００の一実施形態を示すフロー図である。６０２で、特徴抽出モジュール２０３は、クライアント装置１１５から関心オブジェクトの一部の画像を受信する。６０４で、特徴抽出モジュール２０５は、再調整が必要か否かを決定する。例えば、調整モジュール２０５は、クライアント装置１１５にあるプレビュー画像を前にキャプチャした画像に再調整するユーザ入力を受信しても良い。再調整が必要ない場合、方法６００は終了する。再調整が必要な場合、６０６で、特徴抽出モジュール２０３は、画像をゴースト画像として識別し、ゴースト画像の特徴を決定する。６０８で、調整モジュール２０５は、クライアント装置１１５によりサンプリングされているプレビュー画像が存在するか否かを決定する。プレビュー画像がサンプリングされていない場合、方法６００は終了する。プレビュー画像がサンプリングされている場合、６１０で、調整モジュール２０５は、クライアント装置１１５から関心オブジェクトの別の部分のプレビュー画像を受信する。６１２で、ユーザインタフェースモジュール２１１は、クライアント装置１１５のディスプレイ上で、プレビュー画像の一番上に半透明マスクとしてゴースト画像を重ね合わせるユーザインタフェースを生成する。６１４で、調整モジュール２０５は、ゴースト画像とプレビュー画像との間の再調整を決定するために、ゴースト画像の特徴を関心オブジェクトのプレビュー画像と動的に比較する。６１６で、ユーザインタフェースモジュール２１１は、所望の再調整を生成するために、クライアント装置１１５の動きを誘導する第１の視覚的区別指示子を、プレビュー画像にオーバレイしてユーザインタフェースに追加する。６１８で、ユーザインタフェース２１１は、動的比較に基づき、ユーザインタフェースの中のプレビュー画像の中心にある目標アウトラインに対して視覚的区別指示子の位置を更新する。目標アウトラインの内側にある視覚的区別指示子の位置は、再調整が成功していることを示す。６２０で、調整モジュール２０５は、再調整が成功しているか否かを調べる。再調整が成功している場合、６２２で、ユーザインタフェースモジュール２１１は、再調整が成功していることを示すためにユーザインタフェースを更新する。再調整が成功しない場合、方法６００は、ステップ６０８から処理を繰り返す。
【００５１】
＜ユーザインタフェース＞
幾つかの実施形態では、調整モジュール２０５は、クライアント装置１１５のユーザから、関心オブジェクトの画像をキャプチャする要求を受信する。例えば、画像は、棚、領域、芸術品、目印、景色のいい場所、他の空間、等の画像であり得る。幾つかの実施形態では、調整モジュール２０５は、クライアント装置１１５のディスプレイに関心オブジェクトのプレビュー画像を含むユーザインタフェースを生成するよう、ユーザインタフェースモジュール２１１に指示する。特徴抽出モジュール２０３は、クライアント装置１１５によりキャプチャされた画像を受信し、画像の特徴セットを抽出する。図７Ａの例に示すように、グラフィック表現は、棚の画像をキャプチャするユーザインタフェース７００の一実施形態を示す。例えば、棚の画像は、小売店舗にある棚の状態をキャプチャする。グラフィカル表現の中のユーザインタフェース７００は、画像キャプチャのためにクライアント装置１１５を棚に揃えるための４個のコーナーマーカ７０２により定められるフレーム７０１、棚をディスプレイの中央にセンタリングするための同心円の目標アウトライン７０３及び７０４の対、画像をキャプチャする前に棚のプレビュー画像７０７の中心がずれているか否か及び／又は傾いているか否かを示すためのジャイロ水平線７０５及び周辺にある傾き参照矢印７０９ａ〜７０９ｂ及び７１１ａ〜７１１ｂの対、を有する。傾き参照矢印７０９ａ〜７０９ｂを接続する細い直線７１５は、方位軸におけるクライアント装置１１５の傾きを示すために、傾き参照矢印７０９ａ〜７０９ｂと一緒に左右に横方向に移動できる。傾き参照矢印７１１ａ〜７１１ｂを接続する細い直線７１７は、別の方位軸におけるクライアント装置１１５の傾きを示すために、傾き参照矢印７１１ａ〜７１１ｂと一緒に上下に移動できる。外側の目標アウトライン７０４は、傾き参照矢印７０９ａ〜７０９ｂと異なる方法で同じ機能を提供する傾き参照矢印７１３ａ〜７１３ｂの対を有しても良い。別の例では、図７Ｂに示すように、グラフィック表現は、棚の画像をキャプチャするユーザインタフェース７５０の別の実施形態を示す。グラフィカル表現の中のユーザインタフェース７５０は、最小限である。図７Ａからの傾き参照矢印７０９ａ〜７０９ｂは、図７Ｂでは無くなっている。外側目標アウトライン７０４の内部に配置される傾き参照矢印７１３ａ〜７１３ｂが代わりに用いられる。ジャイロ水平線７０５と関連する傾き参照矢印７０９ａ〜７０９ｂは、棚のプレビュー画像７０７の中心がずれているか及び／又は傾いているか否かを示しても良い。例えば、傾き参照矢印７０９ａ〜７０９ｂ及びジャイロ水平線７０５は、クライアント装置１１５がＺ軸の周りを回転する方向に依存して時計回り／反時計回りに回転しても良い。棚の画像は、認識のために受信されても良く、複数の関心アイテムを有しても良い。例えば、画像は、小売店舗の棚にある包装商品（例えば、コーヒーパッケージ、朝食シリアルボックス、ソーダボトル、等）の画像であり得る。包装商品は、該商品を棚にある他のアイテムと区別するための、その表面に印刷された文字及び絵入り情報を有しても良い。一例では、クライアント装置１１５のディスプレイは、ユーザがスクリーンをタッピングすることに応答して画像がキャプチャされたことを示すために、点滅しても良い。
【００５２】
幾つかの実施形態では、特徴抽出モジュール２０３は、クライアント装置１１５から関心オブジェクトの一部の画像を受信し、画像から特徴セットを抽出し、調整モジュール２０５へ特徴セットを送信する。抽出された特徴セットは、縮尺、回転、周囲照明、画像取得パラメータ、等の変化に対してロバストであっても良い。特徴抽出モジュール２０３は、特徴セットの中の各々の特徴の位置を特定し、各々の特徴について、位置、方位、及び画像記述子を決定する。位置は、各々の特徴が生じる画像内のポイント（例えば、識別された特徴の位置）に対する相対位置であっても良い。幾つかの実施形態では、特徴抽出モジュール２０３は、特徴位置を決定するために、Shi−Tomasiコーナ検出アルゴリズム、Harris  and  Stephensコーナ検出アルゴリズム、等のようなコーナ検出アルゴリズムを用いる。幾つかの実施形態では、特徴抽出モジュール２０３は、効率的な画像特徴記述子を決定するＢＲＩＥＦ（Binary  Robust  Independent  Elementary  Features）記述子アプローチを用いる。特徴の画像記述子は、特徴によりカバーされる画像小領域を記述する２５６ビットのビットマスクであり得る。幾つかの実施形態では、特徴抽出モジュール２０３は、強度について特徴の近くの２５６ピクセルペアの各々のペアを比較し、各比較に基づき、特徴抽出モジュール２０３は、２５６ビットのビットマスクの中の１ビットを設定又はクリアしても良い。幾つかの実施形態では、特徴抽出モジュール２０３は、受信した画像が画像認識のために最適か否かを決定し、取り込まれた画像のセクションが完全な認識のために限られた情報しか有しない（例えば、豊富な特徴を有する部分がカットされている）、画像がぼやけ過ぎている、画像が照明アーチファクトを有する（例えば、過剰反射）、等の場合に、画像を再取り込みするようユーザに指示するデータを生成するようユーザインタフェースモジュール２１１に指示する。幾つかの実施形態では、特徴抽出モジュール２０３は、参照画像としてクライアント装置１１５によりキャプチャされた画像を識別し、キャッシュに参照画像の識別された特徴のセットを格納する。例えば、特徴抽出モジュール２０３は、画像を処理して、単一の線形パノラマ画像を形成するために必要な画像シリーズの中の第１の画像であるための基準（場所、方位、及び配置）を満たすか否かを決定する。満たす場合、特徴抽出モジュール２０３は、画像を参照画像として識別する。他の実施形態では、特徴抽出モジュール２０３は、クライアント装置１１５によりキャプチャされた画像を連結モジュール２０９へ送信する。他の実施形態では、特徴抽出モジュール２０３は、調整モジュール２０５から関心オブジェクトのプレビュー画像を受信し、プレビュー画像から特徴セットをリアルタイムに抽出し、調整モジュール２０５へ特徴セットを送信する。
【００５３】
画像シリーズを用いて線形パノラマ画像を生成する目的で、ユーザは、第１の画像に続く後続の画像をキャプチャするために関心オブジェクトに平行なまま、関心オブジェクトに沿った任意の方向にクライアント装置１１５を移動しても良い。例えば、クライアント装置１１５を運ぶユーザは、シリーズの中の他の画像をキャプチャするために棚ユニットに平行なまま、ある位置ポイントから別の位置ポイントへ北、南、東、又は西方向に移動できる。長い棚ユニットの線形パノラマ画像を生成するために必要な画像は、固定位置ポイントに静的に留まることによりクライアント装置１１５のユーザによりキャプチャできない。これは、固定位置ポイントからは、ユーザは、第１の画像に接続する周囲画像をキャプチャするために単に垂直方向に又は水平方向に回転できるだけだからである。棚の画像がこのような方法でキャプチャされた場合、画像は、２つの画像が互いに繋ぎあわされる位置でパノラマ画像の中に奇妙なアーチファクトを生じること無しに、互いに繋ぎ合わせることができない。幾つかの実施形態では、ユーザ誘導モジュール２０７は、画像シリーズをキャプチャするために画像キャプチャのパターンのユーザ選択を受信する。ユーザ誘導モジュール２０７は、選択された画像キャプチャパターンに基づき画像シリーズの中の次の画像をどのようにキャプチャするかに関するガイダンスをクライアント装置１１５を介してユーザに提供するよう、ユーザインタフェースモジュール２１１に指示する。
【００５４】
幾つかの実施形態では、画像キャプチャの選択されたパターンは、蛇行スキャンパターンであっても良い。蛇行スキャンパターンでは、画像キャプチャのシーケンスは、上と下の間（又は左と右の間）で交互に生じ、その間、クライアント装置１１５は関心オブジェクトに対して水平方向に（又は垂直方向に）平行して移動する。ユーザ誘導モジュール２０７は、蛇行スキャンパターンに基づきユーザによりクライアント装置１１５の動きを誘導するユーザインタフェースを生成するよう、ユーザインタフェースモジュール２１１に指示する。例えば、ユーザインタフェースは、蛇行スキャンパターンに従うために、クライアント装置１１５が先ず関心オブジェクトの下へ（又は上へ）移動し、次に関心オブジェクトの右へ（又は左へ）移動し、次に関心オブジェクトの上へ（又は下へ）移動し、次に関心オブジェクトの右へ（又は左へ）移動し、再び関心オブジェクトの下へ（又は上へ）移動することを示しても良い。特徴抽出モジュール２０３は、各動きの終わりに、クライアント装置１１５によりキャプチャされた関心オブジェクトの画像を受信する。
【００５５】
幾つかの実施形態では、画像キャプチャの選択されたパターンは、ラスタスキャンパターンであっても良い。ラスタスキャンパターンは、クライアント装置１１５を関心オブジェクトに沿って一度に１つの線で漸進的に移動することにより、関心オブジェクトの画像キャプチャをカバーする。ユーザ誘導モジュール２０７は、ラスタスキャンパターンに基づきユーザによりクライアント装置１１５の動きを誘導するユーザインタフェースを生成するよう、ユーザインタフェースモジュール２１１に指示する。例えば、ユーザインタフェースは、ラスタスキャンパターンに従うために、クライアント装置１１５が線に沿って関心オブジェクトの左から右へ（又は右から左へ）移動し、次に線の終わりで関心オブジェクトの下へ（又は上へ）移動し、再び次の線で関心オブジェクトの左から右へ（又は右から左へ）出発しても良いことを示しても良い。特徴抽出モジュール２０３は、左から右への（又は右から左への）クライアント装置１１５の各動きの終わりに、クライアント装置１１５によりキャプチャされた関心オブジェクトの画像を受信する。
【００５６】
他の実施形態では、画像キャプチャの選択されたパターンは、オーバアンドバックスキャンパターンであっても良い。オーバアンドバックスキャンパターンは、クライアント装置１１５を水平（又は垂直）方向に一端へ関心オブジェクトの一部を超えて移動し、次に、カバーされなかった関心オブジェクトの別の部分をキャプチャするためにクライアント装置１１５を戻すことにより、関心オブジェクトの画像キャプチャをカバーする。ユーザ誘導モジュール２０７は、オーバアンドバックスキャンパターンに基づきユーザによりクライアント装置１１５の動きを誘導するユーザインタフェースを生成するよう、ユーザインタフェースモジュール２１１に指示する。例えば、ユーザインタフェースは、オーバアンドバックスキャンパターンに従うために、クライアント装置１１５が関心オブジェクトの左から右へ（又は右から左へ）一端へ移動し、次に右から左へ（又は左から右へ）開始端へ移動して戻っても良いことを示しても良い。特徴抽出モジュール２０３は、一端への左から右へのクライアント装置１１５の各動きの終わりに、及び開始端へ戻る右から左へのクライアント装置１１５の各動きの終わりに、クライアント装置１１５によりキャプチャされた関心オブジェクトの画像を受信する。
【００５７】
図８の例に示すように、グラフィック表現８００は、関心オブジェクトのキャプチャされた画像同士の重なり合いの一実施形態を示す。グラフィカル表現８００は、小売店舗の棚ユニット８０５の第１のキャプチャされた画像８０１及び第２のキャプチャされた画像８０３を有する。棚ユニット８０５は、消費者商品を蓄えられている。グラフィカル表現８００は、第１のキャプチャされた画像８０１と第２のキャプチャされた画像８０３との間の重なり合い８０７を示す。幾つかの実施形態では、調整モジュール２０５は、ユーザインタフェースモジュール２１１に、関心オブジェクトの前にキャプチャされた画像と特定量だけ重なり合う画像シリーズの中の次の画像をキャプチャするようクライアント装置１１５の動きを誘導するためにユーザインタフェースを生成するよう指示する。重なり合いは、キャプチャ装置を運んでいるユーザがクライアント装置１１５をどの方向に移動するかに依存して、水平方向又は垂直方向で計算されても良い。この重なり合いは、シリーズの中の個々にキャプチャされた画像を互いに繋ぎ合わせることにより線形パノラマを生成するために用いられる連結アルゴリズムにより期待される画像同士の重なり合いの閾量（例えば、約６０％）であっても良い。幾つかの実施形態では、画像重なり合い閾値は、認識サーバ１０１により用いられる連結アルゴリズムに基づき調整されても良い。例えば、連結アルゴリズムは、Stitcherクラスをサポートする特徴発見及び記述アルゴリズムがＢＲＩＳＫ（Binary  Robust  Invariant  Scalable  Keypoints）アルゴリズム、ＦＲＥＡＫ（Fast  Retina  Keypoint）アルゴリズム、ＯＲＢ（Oriented  FAST  and  Rotated  BRIEF）アルゴリズム等のグループからの１又は複数であり得るＯｐｅｎＣＶ（Open  Source  Computer  Vision）パッケージに含まれるStitcherクラスであっても良い。幾つかの実施形態では、画像重なり合い閾値は、他のパーセンテージであっても良い。幾つかの実施形態では、画像重なり合い閾値は、５５％乃至６５％の間の範囲を有しても良い。このように、クライアント装置１１５は、互換性があり連結アルゴリズムの性能を向上する、画像をキャプチャするためのパラメータを調整しても良い。
【００５８】
幾つかの実施形態では、調整モジュール２０５は、クライアント装置１１５が関心オブジェクトに向けられているとき、クライアント装置１１５により表示される関心オブジェクトの一部の現在のプレビュー画像を連続的に受信する。現在のプレビュー画像は、レンズに形成され且つクライアント装置１１５に含まれる画像センサにより処理される画像を連続的に受信することによりクライアント装置１１５のディスプレイスクリーン上に生成されるライブプレビュー画像であり得る。幾つかの実施形態では、調整モジュール２０５は、クライアント装置１１５から特徴抽出モジュール２０３へ、画像特徴を抽出するために連続的に受信されている関心オブジェクトのプレビュー画像を送信する。例えば、特徴抽出モジュール２０３は、クライアント装置１１５が関心オブジェクトに沿って移動するとき、カメラプレビューの中の画像について画像特徴を決定する。
【００５９】
幾つかの実施形態では、調整モジュール２０５は、関心オブジェクトの前にキャプチャされた画像の識別された特徴を、クライアント装置１１５により表示されている現在のプレビュー画像の特徴と、動的に比較する。調整モジュール２０５は、前にキャプチャされた画像の中の目立った特徴を識別し、次に、画像のペアの間の対応を迅速に確立するために、それらを現在のプレビュー画像の特徴と効率的にマッチングする。例えば、変数「ｉ」が最も最近の前にキャプチャされた画像を表すために用いられる場合、画像特徴セットがＦｉと表すことができるとすると、画像パイプラインの中の現在の画像の画像特徴セットは、Ｆｉ＋１により表すことができる。シーケンスの中の本当に最初の画像の画像特徴セットは、Ｆ０と表すことができる。幾つかの実施形態では、調整モジュール２０５は、類似指標Ｓｉを生成するよう前にキャプチャされた画像Ｆｉを現在のプレビュー画像Ｆｉ＋１と比較するために類似関数を決定する。例えば、式はｓｉｍ（Ｆｉ，Ｆｉ＋１）＝Ｓｉと記述できる。値Ｓｉは、前にキャプチャされた画像Ｆｉと現在のプレビュー画像Ｆｉ＋１との間の類似の量を表す。
【００６０】
幾つかの実施形態では、調整モジュール２０５は、クライアント装置１１５のユーザインタフェースを介してユーザにガイダンス及び／又はフィードバックを提供するために、現在のプレビュー画像と前にキャプチャされた画像との間の動的特徴比較と一緒に、パラメータとして画像重なり合い閾を用いる。例えば、調整モジュール２０５は、類似値「Ｖ」を０．６に設定するために、画像重なり合い閾を用いる。幾つかの実施形態では、ユーザが前の画像をキャプチャした後にクライアント装置１１５を関心オブジェクトに平行な方向のうちの１つに（例えば、北、南、東、又は西）移動するとき、調整モジュール２０５は、クライアント装置１１５の動きを含むデータを方位センサ２４５から受信しても良い。幾つかの実施形態では、調整モジュール２０５は、関心オブジェクトの前にキャプチャされた画像とクライアント装置１１５により表示されている現在のプレビュー画像の特徴との間の動的特徴比較に基づき、クライアント装置１１５の動きの方向を決定する。前にキャプチャされた画像とプレビュー画像との間の動的特徴比較は、画像相違の程度を決定する。調整モジュール２０５は、クライアント装置１１５の動きの方向に前にキャプチャされた画像とプレビュー画像との間の既存の重なり合いが存在するか否か、及びクライアント装置１１５が動きの方向に移動しているとき、既存の重なり合いが所定の画像重なり合い閾に近付いているか否かを決定する。調整モジュール２０５は、クライアント装置１１５の動きの方向で決定された重なり合いに応答したユーザインタフェース上の重なり合いのために、視覚的区別指示子を生成するよう、ユーザインタフェースモジュール２１１に指示する。重なり合いのための視覚的区別指示子は、クライアント装置１１５により表示されるプレビュー画像にオーバレイしても良い。重なり合いのための視覚的区別指示子は、形状、大きさ、色、位置、方位、及び陰影のグループのうちの１又は複数により視覚的に区別できる。
【００６１】
調整モジュール２０５は、ユーザインタフェースに重なり合いの視覚的区別指示子の位置をクライアント装置１１５の動きの方向と結合する。例えば、クライアント装置１１５を運んでいるユーザが左から右へ移動している場合、重なり合いの視覚的区別指示子は、始めにディスプレイの右側に現れ、動的特徴比較に基づき左側へ動き始めても良い。別の例では、クライアント装置１１５を運んでいるユーザが右から左へ移動している場合、重なり合いの視覚的区別指示子は、始めにディスプレイの左側に現れ、動的特徴比較に基づき右側へ動き始めても良い。調整モジュール２０５は、クライアント装置１１５の動きの方向において、関心オブジェクトの前にキャプチャされた画像の識別された特徴を現在のプレビュー画像の特徴と動的に比較する。調整モジュール２０５は、動きの方向の動的比較データを、ユーザインタフェース上の視覚的区別指示子の位置の変化に変換する。これは、所定の重なり合い閾を満たす最適重なり合いを達成するために、クライアント装置１１５をどのように動かすかに関する瞬間的フィードバックをユーザに提供する。例えば、動きの方向において、前にキャプチャした画像と現在のプレビュー画像との間の重なり合いが所定の画像重なり合い閾（つまり、類似値「Ｖ」＝６０％）に対応する場合、重なり合いの視覚的区別指示子の位置は、条件が満たされたことを示すために、ユーザインタフェース上で変化する。重なり合いの視覚的区別指示子は、最適重なり合いのために条件が満たされていることを示すために、クライアント装置１１５のディスプレイの中央にプレビュー画像にオーバレイされた円、四角、又は多角形のような幾何学的形状の境界目標アウトラインの中へと移動しても良い。幾つかの実施形態では、調整モジュール２０５は、重なり合いのための視覚的区別指示子が例えば幾何学的形状の内側の範囲内にあるときを計算するために、類似値「Ｖ」と一緒に許容値「Ｔ」を用いる。幾つかの実施形態では、調整モジュール２０５は、画像がキャプチャされる前に、重なり合いの視覚的区別指示子が幾何学的形状のどれだけ内側に存在する必要があるかに関する少しの曖昧さを許容するために許容値「Ｔ」を用いる。言い換えると、視覚的区別指示子は、部分的に幾何学形状の内部にあり、部分的に幾何学形状の外部にあり得る。視覚的区別指示子は、画像がキャプチャできる前に、幾何学形状の内部に正確に合う必要がなくても良い。幾つかの実施形態では、調整モジュール２０５は、画像重なり合い閾が満たされるまで、前にキャプチャした画像と現在のプレビュー画像との間に生じている重なり合いの程度を示すために、ユーザインタフェース上に進捗状態バーを生成するよう、ユーザインタフェースモジュール２１１に指示する。例えば、進捗状態バーは、重なり合いを達成する際の増加的進捗を示しても良い。他の実施形態では、調整モジュール２０５は、重なり合いが画像重なり合い閾を満たすことに応答して、画像をキャプチャするためのキャプチャコマンドをクライアント装置１１５へ送信し、クライアント装置１１５から画像を受信し、特徴抽出モジュール２０３へ画像を送信する。
【００６２】
幾つかの実施形態では、調整モジュール２０５は、ユーザインタフェースモジュール２１１へ命令を送信するために、類似関数と一緒に距離指標関数を決定する。例えば、ユーザインタフェースモジュール２１１への命令は、重なり合いの視覚的区別指示子を表示するユーザインタフェースを駆動し及び画像をキャプチャすべきときを決定する命令であっても良い。距離指標関数は、画像Ｆ０（つまりＳ０）から画像Ｆｉ（つまりＳｉ）まで決定された全ての類似指標「Ｓ」の和を表し、ｄｉｓｔ（Ｓｉ）として表すことができる。距離指標関数は、２つの画像Ｆ０及びＦｉが互いにどれ位近いかを決定する。調整モジュール２０５は、類似指標Ｓｉが類似値「Ｖ」の許容値「Ｔ」の範囲内か否かを決定し、条件（Ｖ−Ｔ）＜ｄｉｓｔ（Ｓｉ）＜（Ｖ＋Ｔ）が満たされるようにする。満たされる場合、調整モジュール２０５は、画像をキャプチャするために、クライアント装置１１５へキャプチャコマンドを送信する。距離指標関数ｄｉｓｔ（Ｓｉ）が許容値「Ｔ」の範囲内に近付くにつれ、調整モジュール２０５は、距離指標関数ｄｉｓｔ（Ｓｉ）により生成された値を用いて、重なり合いの視覚的区別指示子が幾何学的形状に近付いていき、ユーザインタフェース上の幾何学的形状の境界範囲の中に適合することを表す。例えば、これは、クライアント装置１１５のユーザインタフェース上で、重なり合いの視覚的区別指示子がよく見えないこと及びあまり透過でないことに変換しても良い。
【００６３】
図９の例に示すように、グラフィカル表現９００は、重なり合いの視覚的区別指示子を生成する画像整合処理の一実施形態を示す。図９で、グラフィカル表現９００は、ユーザがクライアント装置１１５を移動することに基づき画像フレームを変化し（Ｆ１からＦ４）及びクライアント装置１１５のディスプレイ上でプレビュー画像を受信するカメラプレビューフレ―ム９０２を有する。グラフィカル表現９００は、２個の画像フレーム９０２のそれぞれについて計算された類似指標関数９０４と、今までに受信された画像フレーム９０２について計算された距離指標関数９０６と、を更に有する。
【００６４】
図１０Ａ〜１０Ｄの例に示すように、グラフィカル表現は、クライアント装置１１５が左から右方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態を示す。図１０Ａで、グラフィカル表現は、ボール１００１（影付きの円）、クライアント装置１１５に表示される棚の現在のプレビュー画像１００５上の同心円の目標アウトライン１００３と１００３との対、を含むユーザインタフェース１０００を示す。ボール１００１は、重なり合いの視覚的区別指示子として機能し、クライアント装置１１５が棚の左から右へ移動されるとき重なり合いが生じ始めるので、始めは透明にユーザインタフェース１０００のディスプレイの右端に現れる。円の内側の目標アウトライン１００３は、ボール１００１が位置決めされ得る目標境界領域として機能する。幾つかの実施形態では、ボール１００１及び目標アウトライン１００３と１００３との対は、任意の色、陰影、透過度、方位、形状、シンボル、等になるようカスタマイズできる。ユーザの狙いは、ディスプレイに連続的にプレビューされる重なり合う画像をキャプチャするために、クライアント装置１１５を棚の左から右へ移動することにより、ユーザインタフェース１０００上の内側目標アウトライン１００３の中にボール１００１を揃え位置決めすることである。ボール１００１を外側目標アウトライン１００３の内側であるが内側目標アウトライン１００３の外側に調整することは、重なり合いが良好であるが十分ではないことを意味する。内側目標アウトライン１００３の内側にボール１００１を調整することは、現在のプレビュー画像１００５と前にキャプチャした画像との間の重なり合いが十分であり、次の画像をキャプチャするための画像重なり合い閾を満たすことを意味する。図１０Ｂ及び１０Ｃで、個々のグラフィカル表現は、ボール１００１が内側目標アウトライン１００３に近付き、所望の重なり合いが生成されていることを示すためにあまり見えず色があまり透明でないことを表示する更新されたユーザインタフェース１０３０及び１０６０を示す。他の実施形態では、ボール１００１の外観は、重なり合いの程度を視覚的に示すために変更され得る。例えば、ボール１００１は、色、形状、透明度、陰影、方位、等を変更しても良い。ボール１００１の位置は、内側目標アウトライン１００３に近付くにつれ、画像重なり合い閾に対応する、現在のプレビュー画像１００５と前にキャプチャした画像との間の重なり合いを達成することに関連する進捗を示す。図１０Ｄで、グラフィカル表現は、内側目標アウトライン１００３の内側に中心のあるボール１００１を実線で非透過色で表示するよう更新されたユーザインタフェース１０９０を示す。これは、画像をキャプチャするための画像重なり合い閾条件が満たされることをユーザに示す。重なり合い閾が満たされることは、点滅する、異なる色で点滅する、形状の変化（例えば、三角、五角形、等）、塗りつぶしの変化、等のような、ボール１００１をその前の状態と視覚的に異なる方法で示すことにより、種々の他の方法で示すことができる。幾つかの実施形態では、ユーザインタフェース１０９０は、画像がキャプチャされたことを示すために、クライアント装置１１５の可聴シャッタークリック音と共に短く点滅しても良い。図１０Ｄで、画像がキャプチャされた後、クライアント装置１１５が棚に渡る方向のうちの１つで再び移動し始めるまで、ユーザインタフェース１０９０はリセットされても良く、ボール１００１はユーザインタフェース１０９０から消えても良い。
【００６５】
図１１Ａ〜１１Ｄの別の例に示すように、グラフィカル表現は、クライアント装置１１５が下から上方向に移動するとき、重なり合いの視覚的区別指示子を表示する実施形態を示す。図１１Ａで、グラフィカル表現は、ボール１１００、クライアント装置１１５に表示される棚の現在のプレビュー画像１１０５上の同心円の目標アウトライン１１０３と１１０４との対、を含むユーザインタフェース１１００を示す。ボール１１０１は、重なり合いの視覚的区別指示子として機能し、クライアント装置１１５が棚の下から上へ移動されるとき重なり合いが生じ始めるので、始めは透明にユーザインタフェース１１００のディスプレイの上端に現れる。ユーザの狙いは、ディスプレイに連続的にプレビューされる重なり合う画像をキャプチャするために、クライアント装置１１５を棚の下から上へ移動することにより、ユーザインタフェース１１００上の内側目標アウトライン１１０３の中にボール１１０１を揃え位置決めすることである。内側目標アウトライン１１０３の内側にボール１１０１を調整することは、現在のプレビュー画像１１０５と前にキャプチャした画像との間の重なり合いが十分であり、次の画像をキャプチャするための画像重なり合い閾を満たすことを意味する。図１１Ｂ及び１１Ｃで、個々のグラフィカル表現は、ボール１１０１が内側目標アウトライン１１０３に近付き、あまり見えず色があまり透明でないことを表示する更新されたユーザインタフェース１１３０及び１１６０を示す。ボール１１０１の位置は、内側目標アウトライン１１０３に近付くにつれ、画像重なり合い閾に対応する、現在のプレビュー画像１１０５と前にキャプチャした画像との間の重なり合いを達成することに関連する進捗を示す。図１１Ｄで、グラフィカル表現は、内側目標アウトライン１１０３の内側に中心のあるボール１１０１を実線で非透過色で表示するよう更新されたユーザインタフェース１１９０を示す。これは、画像をキャプチャするための画像重なり合い閾条件が満たされることをユーザに示す。幾つかの実施形態では、ユーザインタフェース１１９０は、画像がキャプチャされたことを示すために、クライアント装置１１５の可聴シャッタークリック音と共に短く点滅しても良い。図１１Ｄで、画像がキャプチャされた後、クライアント装置１１５が棚に渡る方向のうちの１つで再び移動し始めるまで、ユーザインタフェース１１９０はリセットしても良く、ボール１１０１はユーザインタフェース１１９０から消えても良い。
【００６６】
幾つかの実施形態では、特徴抽出モジュール２０３は、画像間で僅かな傾きしかない乃至全く傾きがない関心オブジェクトの第１のキャプチャされた画像に続く、後続のキャプチャされた画像を受信する。ユーザ誘導モジュール２０７は、任意の方位軸（例えば、Ｘ、Ｙ、又はＺ軸）において僅かな傾きしかない又は全く傾きを有しない重なり合い画像をキャプチャするようユーザを誘導するためにユーザインタフェースを生成するよう、ユーザインタフェースモジュール２１１に指示する。良好な画像認識を可能にし得る僅かな傾きしかない又は全く傾きを有しない重なり合い画像は、高解像度線形パノラマ画像を生成する連結アルゴリズムにより期待されても良い。幾つかの実施形態では、ユーザ誘導モジュール２０７は、３つの方位軸のうちの任意の軸におけるクライアント装置１１５の傾きを含むジャイロスコープセンサデータを受信する。ジャイロスコープデータは、３軸のうちの任意の軸における回転角を測定する、クライアント装置１１５に含まれる方位センサ２４５により生成され得る。例えば、Ｘ軸における回転角はピッチパラメータにより定められ、Ｙ軸における回転角はヨーパラメータにより定められ、Ｚ軸における回転角はロールパラメータにより定められる。ユーザ誘導モジュール２０７は、関心オブジェクトに向けられるとき、ジャイロスコープセンサデータに基づき、クライアント装置１１５が任意の方位軸において傾いているか否かを決定する。ユーザ誘導モジュール２０７は、ユーザインタフェースモジュール２１１に、クライアント装置１１５が方位軸のうちの１又は複数において傾いていることに応答して、クライアント装置１１５のユーザインタフェース上で傾きの視覚的区別指示子を生成するよう指示する。ユーザインタフェース上の傾きの視覚的区別指示子の位置及び／又は外観は、クライアント装置１１５の傾き／方位に結合されて、３つの方位軸のうちの任意の軸においてクライアント装置１１５に関連する傾きが存在するときを瞬間的フィードバックを通じて示すことができるようにする。一例では、傾きのための視覚的区別指示子は、クライアント装置１１５のユーザインタフェースの周辺に傾きフィードバックを示すために、傾斜に基づく指示子であり得る。傾斜に基づく指示子は、色が異なっても良い。例えば、回転を示す赤色、ピッチを示す青色、及びヨーを示す白色である。別の例では、傾きのための視覚的区別指示子は、クライアント装置１１５のユーザインタフェースの中心に表示された水平線であり得る。別の例では、傾きの視覚的区別指示子は、クライアント装置１１５のユーザインタフェースにおける方位のＸ軸、Ｙ軸、及びＺ軸の周りの回転角を示す角度オフセット指示子であり得る。別の例では、傾きのための視覚的区別指示子は、クライアント装置１１５に表示されるユーザインタフェースの向かい合う側にある２つの矢印点を結ぶ線であり得る。ユーザインタフェースを横切る２つの矢印点を結ぶ線の動きは、ユーザインタフェース上で傾きフィードバックを示すよう構成されても良い。さらに別の例では、傾きの視覚的区別指示子は、傾斜に基づく指示子、水平線、及び２つの矢印点を結ぶ線の組合せであり得る。幾つかの実施形態では、ユーザ誘導モジュール２０７は、ユーザインタフェースモジュール２１１に、関心オブジェクトの画像がキャプチャされる前に、先ず傾きが修正されなければならないことをユーザに示すために、ユーザインタフェース上に警告通知を生成するよう指示する。
【００６７】
図１２Ａ〜１２Ｃの例に示すように、グラフィカル表現は、クライアント装置１１５がＺ軸の周りを回転しているとき、傾きの視覚的区別指示子を表示するユーザインタフェースの実施形態を示す。図１２Ａで、グラフィカル表現は、回転参照矢印１２０１ａ〜１２０１ｂの対、ピッチ参照矢印１２０９ａ〜１２０９ｂの対、クライアント装置１１５に表示される棚の現在のプレビュー画像１２０５上の水平線、を含むユーザインタフェース１２００を示す。回転参照矢印１２０１ａ〜１２０１ｂは、ユーザインタフェース１２００の上及び下の周辺部分に位置付けられる。それらは、細い直線１２０７により結ばれ、回転のための視覚的区別指示子として機能しても良い。ピッチ参照矢印１２０９ａ〜１２０９ｂは、ユーザインタフェース１２００の左及び右の周辺部分に位置付けられる。それらは、細い直線１２１１により結ばれ、ピッチのための視覚的区別指示子として機能しても良い。図１２Ａでは、細い直線１２０７により結ばれた回転参照矢印１２０１ａ〜１２０１ｂ、細い直線１２１１により結ばれたピッチ参照矢印１２０９ａ〜１２０９ｂ、及び水平線１２０３は、クライアント装置１１５が棚に向けて傾いていないので、中立の回転位置にある。図１２Ｂでは、グラフィカル表現は、クライアント装置１１５が棚に対して平行でありながら左に回転しているとき、更新されたユーザインタフェース１２３０を示す。細い直線１２０７により結ばれた回転参照矢印１２０１ａ〜１２０１ｂは、クライアント装置１１５が棚を向いていることに関連して回転の程度を示すために、ユーザインタフェース１２３０の左へ移動する。細い直線１２１１により結ばれたピッチ参照矢印１２０９ａ〜１２０９ｂは、クライアント装置１１５が揺れていないので、位置を変化しない。回転参照矢印１２０１ａ〜１２０１ｂに加えて、ユーザインタフェース１２３０は、回転の視覚的区別指示子として機能するために、ユーザインタフェース１２３０の周辺に回転傾斜１２１３ａ及び１２１３ｂも有する。回転傾斜１２１３ａ及び１２１３ｂは、左への回転のために傾きがどれ位中心からずれているかを示す。水平線１２０３は、クライアント装置１１５が中立回転位置からどれ位離れているかについての追加情報を提供する。図１２Ｃでは、グラフィカル表現は、クライアント装置１１５が棚に対して平行でありながら右に回転しているとき、別の更新されたユーザインタフェース１２６０を示す。細い直線１２０７により結ばれた回転参照矢印１２０１ａ〜１２０１ｂは、クライアント装置１１５が棚を向いていることに関連して回転の程度を示すために、ユーザインタフェース１２６０の右へ移動する。回転傾斜１２１３ａ〜１２１３ｂは、ここでも、右への回転のために傾きがどれ位中心からずれているかを示し、水平線１２０３は、クライアント装置１１５が中立回転位置からどれ位離れているかを示す。幾つかの実施形態では、図１２Ｂ及び１２Ｃのボール１２１５は、クライアント装置１１５が左へ又は右へ回転していることを示すために、異なる色である黄色に変わっても良い。幾つかの実施形態では、ボール１２１５は、前にキャプチャした画像との適正な重なり合いが存在するとき、内側目標アウトライン１２１７の範囲内に中心がきても良い。ユーザ誘導モジュール２０７は、ユーザインタフェースモジュール２１１に、画像がキャプチャできる前に、先ず傾きが修正されなければならないことをユーザに示すために、ユーザインタフェース上に警告通知を生成するよう指示する。幾つかの実施形態では、回転参照矢印１２０１ａ〜１２０１ｂは、ユーザインタフェースの中に存在しなくても良い。図１２Ａのグラフィカル表現に示すユーザインタフェース１２００は、回転参照矢印１２０１ａ〜１２０１ｂの代わりに水平グリッド線（図示しない）を表示するよう更新されても良い。水平グリッド線は、現在のプレビュー画像１２０５の上に視覚的に表示されても良い。クライアント装置１１５がＺ軸の周りに回転しているときに傾きが生じる場合、ユーザインタフェースの中の現在のプレビュー画像１２０５の上に表示された水平線１２０３は、中立回転位置から外れて、キャプチャ装置が左に回転している又は右に回転しているかに依存して時計回り又は反時計回りに中心の周りに回転しても良い。ユーザインタフェース上の回転傾きについての水平線１２０３の位置は、クライアント装置１１５の動きに結合されても良い。ユーザの目的は、クライアント装置１１５を動かすことにより、水平線１２０３をグリッド線に平行に揃え位置決めすることである。これは、画像がキャプチャできる前に、回転傾きを修正するために行われても良い。
【００６８】
図１３Ａ〜１３Ｃの例に示すように、グラフィカル表現は、クライアント装置１１５がＸ軸の周りで揺れているとき、傾きの視覚的区別指示子を表示するユーザインタフェースの実施形態を示す。図１３Ａで、グラフィカル表現は、クライアント装置１１５に表示される棚の現在のプレビュー画像１３０５上のピッチ参照矢印１３０１ａ〜１３０１ｂの対と回転参照矢印１３０３ａ〜１３０３ｂの対とを含むユーザインタフェース１３００を示す。ピッチ参照矢印１３０１ａ〜１３０１ｂは、ユーザインタフェース１３００の左及び右の周辺部分に位置付けられる。ピッチ参照矢印１３０１ａ〜１３０１ｂは、細い直線１３０７により結ばれ、ピッチのための視覚的区別指示子として機能しても良い。図１３Ａで、ピッチ参照矢印１３０１ａ〜１３０１ｂは、クライアント装置１１５が棚に向けて傾いていないので、中立ピッチ位置にある。図１３Ｂで、グラフィカル表現は、クライアント装置１１５が前方に揺れているとき、更新されたユーザインタフェース１３３０を示す。クライアント装置１１５の上部は、棚の上部に近くなり、棚の上部にある商品ほど現在のプレビュー画像１２０５で大きく見える。細い直線１３０７により結ばれたピッチ参照矢印１３０１ａ〜１３０１ｂは、クライアント装置１１５が棚を向いていることに関連してピッチの程度を示すために、ユーザインタフェース１３３０の上部へ移動する。細い直線１３０９により結ばれた回転参照矢印１３０３ａ〜１３０３ｂは、クライアント装置１１５が回転していないので、位置を変化しない。ピッチ参照矢印１３０１ａ〜１３０１ｂに加えて、ユーザインタフェース１３３０は、ピッチの視覚的区別指示子として機能するために、ユーザインタフェースの周辺にピッチ傾斜１３１１ａ及び１３１１ｂも有する。ピッチ傾斜１３１１ａ及び１３１１ｂは、クライアント装置１１５によりどれ位のピッチが検知されているかを示す。図１３Ｃで、グラフィカル表現は、クライアント装置１１５が後方に揺れているとき、別の更新されたユーザインタフェース１３６０を示す。クライアント装置１１５の下部は、棚の下部に近くなり、棚の下部にある商品ほど現在のプレビュー画像１３０５で大きく見える。細い直線１３０７により結ばれたピッチ参照矢印１３０１ａ〜１３０１ｂは、クライアント装置１１５が棚を向いていることに関連してピッチの程度を示すために、ユーザインタフェース１３６０の下部へ移動する。ピッチ傾斜１３１１ａ及び１３１１ｂは、ここでも、クライアント装置１１５が後方に揺れているとき、クライアント装置１１５によりどれ位のピッチが検知されているかを示す。幾つかの実施形態では、図１３Ｂ及び１３Ｃのボール１３１３は、クライアント装置１１５が前へ又は後ろに揺れていることを示すために、異なる色に変わっても良い。
【００６９】
図１４Ａ〜１４Ｂの例に示すように、グラフィカル表現は、クライアント装置１１５がＸ軸とＺ軸の両方で傾いているとき、傾きの視覚的区別指示子を表示するユーザインタフェースの実施形態を示す。図１４Ａでは、グラフィカル表現は、クライアント装置１１５が棚に向けられていながら前方に揺れ且つ左に回転しているとき、ユーザインタフェース１４００を示す。回転参照矢印１４０７ａ〜１４０７ｂを結ぶ細い直線１４１５及びピッチ参照矢印１４１１ａ〜１４１１ｂを結ぶ細い直線１４１７は、内側目標アウトライン１４０３の外側で互いに交差して、交点１４０１を形成する。内側目標アウトライン１４０３の外側にある交点１４０１の位置は、クライアント装置１１５がＸ軸において又はＺ軸において又はＸ及びＺ軸の両方において傾いていることを、ユーザに視覚的に示しても良い。図１４Ｂでは、グラフィカル表現は、クライアント装置１１５が棚に向けられていながら後方に揺れ且つ右に回転しているとき、別のユーザインタフェース１４５０を示す。ここでも、交点１４０１は、目標アウトライン１４０３の外側にあり、クライアント装置１１５がＸ軸において又はＺ軸において又はＸ及びＺ軸の両方において傾いていることを、ユーザに視覚的に示す。図１４Ａ及び１４Ｂで、傾斜に基づく指示子（例えば、回転傾斜１４０９ａ〜１４０９ｂ、ピッチ傾斜１４１３ａ〜１４１３ｂ、等）を含むユーザインタフェース１４００及び１４５０の周辺位置は、クライアント装置１１５が１又は複数の軸において傾き過ぎていることをユーザに視覚的に示すために、色を変化しても良い。対応する回転（Ｚ）軸の回転傾斜１４０９ａ〜１４０９ｂ及びピッチ（Ｘ）軸のピッチ傾斜１４１３ａ〜１４１３ｂと連動して、ユーザインタフェース１４００及び１４５０の周辺で、直線１４１５により結ばれた回転参照矢印１４０７ａ〜１４０７ｂは左右に滑るように動き、直線１４１７により結ばれたピッチ参照矢印１４１１ａ〜１４１１ｂは上下に滑るように動き、傾きに関する瞬間的フィードバックをユーザに提供する。
【００７０】
幾つかの実施形態では、調整モジュール２０５は、画像シーケンスキャプチャパターンにおける中断の後に、クライアント装置１１５により表示される関心オブジェクトの現在のプレビュー画像を前にキャプチャした視点に揃えるための要求をユーザから受信する。例えば、ユーザは、関心オブジェクトの一部の画像をキャプチャする間、割り込まれても良く、時間期間の間、シーンを去る必要があっても良い。ユーザは、次に、関心オブジェクトの後続の画像のキャプチャを続けるために戻ってくることを望み得る。幾つかの例では、ユーザは、彼らが画像キャプチャ処理中に中断された場所を覚えていなくても良い。通路にある棚ユニットの画像をキャプチャする例では、中断の前に最後の画像がキャプチャされた場所と事実上同じ位置から画像キャプチャ処理を再開することが重要である。幾つかの実施形態では、重なり合い及び／又は方向の視覚的区別指示子は、ユーザが前にキャプチャした画像と良好に重なり合う位置から画像キャプチャ処理を再開しない限り、機能しなくても良い。画像キャプチャ処理を再開する前に、関心オブジェクトの前の画像がクライアント装置１１５によりキャプチャされた通常の領域を見付けることは重要である。
【００７１】
幾つかの実施形態では、特徴抽出モジュール２０３は、前にキャプチャした画像をゴースト画像として識別し、ゴースト画像とプレビュー画像との再調整が望ましく、ゴースト画像を調整モジュール２０５へ送信する。調整モジュール２０５は、ユーザインタフェースモジュール２１１に、クライアント装置１１５により表示されている現在のプレビュー画像の上に、前にキャプチャされた画像をゴースト画像として配置するユーザインタフェースを生成するよう指示する。例えば、ユーザは、関心オブジェクトに沿った位置を通り越して歩く。そこで、彼らは、最後の画像が前にキャプチャされたことを理解し、再調整処理を開始するために、現在のプレビュー画像の上のゴースト画像のオーバレイを用いる。ゴースト画像は、プレビュー画像にオーバレイされた半透明マスクとして現れても良い。調整モジュール２０５は、ユーザインタフェースモジュール２１１に、所望の再調整を生成するために、クライアント装置１１５の動きを誘導する視覚的区別指示子によりユーザインタフェースを更新するよう指示する。調整のための視覚的区別指示子は、形状、大きさ、色、位置、方位、及び陰影のグループのうちの１又は複数により視覚的に区別できる。特徴抽出モジュール２０３は、クライアント装置１１５が関心オブジェクトに沿って移動するとき、カメラプレビューの中のプレビュー画像について画像特徴を決定し、該画像特徴を調整モジュール２０５へ送信する。調整モジュール２０５は、ユーザインタフェースに再調整の視覚的区別指示子の位置をクライアント装置１１５の動きと結合する。調整モジュール２０５は、クライアント装置１１５の動きの方向において、関心オブジェクトの前にキャプチャされた画像の識別された特徴を現在のプレビュー画像の特徴と動的に比較する。例えば、前にキャプチャした画像の画像特徴セットは、Ｆ０として表すことができる。プレビュー画像フレームについて決定された画像特徴セットは、Ｆｉにより表すことができる。前にキャプチャした画像との再調整のために、クライアント装置１１５が関心オブジェクトに沿って移動するにつれ、特徴抽出モジュール２０３は、各々のプレビュー画像フレームについて画像特徴を生成する。Ｆｉの変数「ｉ」が５に等しい場合（つまり、前にキャプチャした画像を数えないで５個のプレビュー画像フレームがキャプチャされている、５番目のプレビュー画像フレームはＦ５である）、調整モジュール２０５は、前にキャプチャした画像Ｆ０を現在のプレビュー画像Ｆ５と比較して類似指標Ｓ５を生成するために、類似関数を決定する。例えば、類似関数は、ｓｉｍ（Ｆ０，Ｆ５）＝Ｓ５と表せる。この値Ｓ５は、２つの画像が互いにどれだけ類似しているかを表し、前にキャプチャした画像と再調整するためにユーザが関心オブジェクトに沿ってどれだけ移動しなければならないかを示す。類似指標Ｓ５は、画像特徴セットＦ５に先行する最後の画像特徴セットＦ４とではなく、参照画像として機能する前にキャプチャした画像Ｆ０との比較を示す。調整モジュール２０５は、動きの方向の動的比較（つまり、類似関数）を、ユーザインタフェース上の視覚的区別指示子の位置の変化に変換する。これは、前にキャプチャした画像との適正な再調整を達成するために、クライアント装置１１５をどのように動かすかに関するフィードバックをユーザに提供する。幾つかの実施形態では、調整モジュール２０５は、再調整が成功したことの確認を調整モジュール２０５から受信する。幾つかの実施形態では、調整モジュール２０５は、次に、ユーザインタフェースモジュール２１１に、再調整が成功したことを示すためにユーザインタフェースを更新し、ユ―ザインタフェースを再調整モードから、画像シリーズの次の画像をどのようにキャプチャするかをユーザに案内できるキャプチャモードに戻すよう指示する。
【００７２】
図１５の例に示すように、グラフィカル表現１５００は、再調整の視覚的区別指示子を生成する再調整処理の一実施形態を示す。図１５で、グラフィカル表現１５００は、ユーザがクライアント装置１１５を関心オブジェクトに沿って移動することに基づき画像フレームを変化する（Ｆ１からＦ４）カメラプレビューフレーム１５０４を有する。グラフィカル表現１５００は、各々のプレビュー画像フレーム１５０４の特徴と前にキャプチャした画像１５０２の特徴との間で計算される類似指標関数１５０６も有する。上述のように、類似指標関数１５０６は、各々のプレビュー画像フレーム１５０４が前にキャプチャした画像１５０２とどれだけ類似するかを表し、プレビュー画像を前にキャプチャした画像１５０２に再調整するために、ユーザが関心オブジェクトに沿ってクライアント装置１１５をどれだけ移動しなければならないかを示す。
【００７３】
図１６Ａ〜１６Ｄの例に示すように、グラフィカル表現は、前にキャプチャした画像にクライアント装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態を示す。図１６Ａで、グラフィカル表現は、ボール１６０１、クライアント装置１１５に表示される棚の現在のプレビュー画像１６０７の上部に現れるゴースト画像１６０５の上の同心円の目標アウトライン１６０３と１６０４との対、を含むユーザインタフェース１６００を示す。ボール１６０１は、再調整のための視覚的区別指示子として機能する。内側目標アウトライン１６０３は、ユーザインタフェースが再調整モードであることを示すために、「Ｘ」十字で変形されて現れても良い。内側目標アウトライン１６０３は、クライアント装置１１５のユーザが調整を開始するために選択する調整ボタン１６０９と同じ外観であると仮定する。内側目標アウトライン１６０３は、再調整のための視覚的区別指示子を位置決めする目標境界領域として機能する。ユーザの狙いは、ゴースト画像１６０５との再調整を達成するために、クライアント装置１１５を移動することにより、ユーザインタフェース１６００上で目標アウトライン１６０３の範囲内でボール１６０１を揃え位置決めすることである。図１６Ｂで、グラフィカル表現は、プレビュー画像１６０７がゴースト画像１６０５に再調整するよう現れているとき、内側目標アウトライン１６０３に近付くボール１６０１を表示する更新されたユーザインタフェース１６３０を示す。図１６Ｃで、グラフィカル表現は、再調整がほぼ完了しボール１６０１が内側目標アウトライン１６０３のほぼ内側にあることを示すために更新された内側目標アウトライン１６０３を表示する別のユーザインタフェース１６６０を示す。内側目標アウトライン１６０３は、通常の十字に戻される。図１６Ｄで、グラフィカル表現は、再調整の後に現在のプレビュー画像１６０７を表示するために更新されたユーザインタフェース１６９０を示す。再調整が成功したので、図１６Ｃからのゴースト画像１６０５は、もはやプレビュー画像１６０７にオーバレイされていない。これは、ユーザインタフェース１６９０が再調整モードからキャプチャモードに切り替えられ、関心オブジェクトの次の画像をキャプチャする準備ができていることをユーザに示す。
【００７４】
図１７Ａ〜１７Ｆの例に示すように、グラフィカル表現は、前にキャプチャした画像にクライアント装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態の別のセットを示す。図１７Ａで、グラフィカル表現は、ボール１７１２が内側目標アウトライン１７１４の内側にあるときクライアント装置１１５によりキャプチャされている棚の画像ｚ１７０２を含むユーザインタフェース１７００を示す。ユーザインタフェース１７００は、クライアント装置１１５によりそれまでにキャプチャされた棚の画像のモザイクプレビュー１７０６を表示する領域１７０４を有する。モザイクプレビュー１７０６は、モザイクプレビュー１７０６に加えられるべき画像１７０２のサムネイル表現のためのプレースホルダとして機能する空のサムネイルスロット１７０８を有する。画像１７０２がクライアント装置１１５によりキャプチャされるべき棚の４番目の画像なので、空のサムネイル表現１７０８は「４」とラベル付けされる。ユーザインタフェース１７００は、３つの画像のキャプチャを示すテキスト１７１０により、それまでにキャプチャされている棚の画像の数も示す。モザイクプレビューを参照する例示的な実施形態及びその構成は、図２０Ａ〜２０Ｉに詳細に記載される。図１７Ａで、ユーザがキャプチャ処理を休むために一時停止ボタン１７１２を選択すると、ユーザインタフェース１７００は、アクティブキャプチャモードから再調整モードに入る。図１７Ｂで、グラフィカル表現は、前にキャプチャした画像（つまり、図１７Ａからの画像１７０２）のゴースト画像１７１９（半透明画像マスク）にオーバレイされた再調整のための変更済み内側目標アウトライン１７１７を含むユーザインタフェース１７１５を示す。ユーザが休止の後に画像キャプチャ処理を続けるために再調整ボタン１７２１を叩くと、ゴースト画像１７１９は、クライアント装置１１５に表示される。ユーザインタフェース１７１５は、再調整が達成され棚の画像がキャプチャされると棚の５番目の画像が配置され得る場所を示すために「５」とラベル付けされた空のサムネイルスロット１７２３を含むようモザイクプレビュー１７０６を更新する。幾つかの実施形態では、モザイクプレビュー１７０６は、棚のどこから再調整を開始すべきかについて、クライアント装置１１５のユーザに視覚的合図も提供しても良い。図１７Ｃで、グラフィカル表現は、前にキャプチャした画像のゴースト画像１７１９にプレビュー画像１７３２を再調整するようクライアント装置１１５の動きを誘導するユーザインタフェース１７３０を示す。ユーザインタフェース１７３０は、クライアント装置１１５が前方に揺れていること、及びプレビュー画像１７３２が前にキャプチャした画像のゴースト画像１７１９に外見上近くにないことを示す。ユーザインタフェース１７３０は、クライアント装置１１５の動きを視覚的に誘導するために、ゴースト画像１７１９を現在のプレビュー画像１７３２の上にオーバレイする。クライアント装置１１５が揺れているので、ボールのような視覚的区別指示子は未だ現れていない。ボールは、プレビュー画像１７３２及びゴースト画像１７１９が互いに幾らか合い始めるときに、現れる。図２２Ｄで、グラフィカル表現は、変更済み目標アウトライン１７１７の外側に姿を表すボール１７４７を表示する更新済みユーザインタフェース１７４５を示す。ボール１７４７の出現は、クライアント装置１１５が棚にある前にキャプチャした画像の位置の近くに移動されたために、現在のプレビュー画像１７３２と前にキャプチャした画像のゴースト画像１７１９との間の重なり合い／再調整が検出されていることを示す。図１７Ｅで、グラフィカル表現は、プレビュー画像１７３２とゴースト画像１７１９との間の良好な重なり合いの進行に起因して再調整がほぼ完了したことを示すために目標アウトライン１７１７の近くにあるボール１７４７の更新済み位置を表示する別のユーザインタフェース１７６０を示す。図１７Ｆで、グラフィカル表現は、再調整が達成された後に現在のプレビュー画像１７３２を表示するために更新されたユーザインタフェース１７７５を示す。再調整が成功したので、更新済みユーザインタフェース１７７５の中に、図１７Ｅからのゴースト画像１７１９のオーバレイは存在しない。これは、図１７Ｅの内側目標アウトライン１７１７の内側にボール１７４７が存在するのに十分なほどユーザがクライアント装置１１５を近くに移動したことを、ユーザに示す。再調整が完了したので、ユーザインタフェース１７７５は、キャプチャモードに変更されて、図１７Ａからの内側目標アウトライン１７１４に戻され、関心オブジェクトの次の画像をキャプチャする準備ができている。
【００７５】
小売設定では、棚の状態をキャプチャする処理は、適切な量の重なり合いを有する多くの画像のスナップ写真を撮る必要があり得る。例えば、最低で１８乃至２４枚の画像が、１６フィートｘ８フィートの直線棚ユニットにつちえキャプチャされる場合がある。線形パノラマ画像を生成するために画像シリーズをキャプチャする処理では、ユーザは、後続の画像をキャプチャするためにクライアント装置１１５を移動すべき方向（例えば、北、南、東、又は西）を忘れてしまう場合がある。幾つかの例では、ユーザは、結局完全に間違った方向に又は画像が既にキャプチャされた方向にクライアント装置１１５を移動してしまう可能性がある。例えば、ユーザが始めにクライアント装置１１５を関心オブジェクトに沿って南へ移動しなければならないとき、ユーザは、クライアント装置１１５を関心オブジェクトに沿って東へ移動し得る。このような誤りは、関心オブジェクトの高解像度線形パノラマ画像を生成することにつながらず、関心オブジェクトの画像をキャプチャするのに費やす時間を過度に増大してしまう可能性がある。幾つかの実施形態では、ユーザ誘導モジュール２０７は、ユーザインタフェースモジュール２１１に、画像シリーズをキャプチャする適切な方向にユーザを誘導できるユーザインタフェース要素を生成するよう指示する。
【００７６】
幾つかの実施形態では、ユーザ誘導モジュール２０７は、ユーザインタフェースモジュール２１１に、画像シリーズの後続の画像をキャプチャするための特定方向にクライアント装置１１５を移動するようユーザに指示するために、方向の視覚的区別指示子を提供するユーザインタフェースを生成するよう指示する。幾つかの実施形態では、ユーザ誘導モジュール２０７は、動的特徴比較に基づき関心オブジェクトの前にキャプチャした画像とクライアント装置１１５により表示される現在のプレビュー画像との間に重なり合いが生じているか否かの決定を、調整モジュール２０５から受信する。ユーザ誘導モジュール２０７は、重なり合いの発生に基づき、クライアント装置１１５の動きの方向を決定する。ユーザ誘導モジュール２０７は、ユーザインタフェースモジュール２１１に、ユーザインタフェース上で動きの方向に方向の視覚的区別指示子を生成するよう指示する。方向の視覚的区別指示子は、形状、大きさ、色、位置、方位、及び陰影のグループのうちの１又は複数により視覚的に区別できる。
【００７７】
幾つかの実施形態では、ユーザ誘導モジュール２０７は、画像シリーズをキャプチャするために画像キャプチャのパターンのユーザ選択を受信する。例えば、選択された画像キャプチャパターンは、蛇行スキャンパターン、ラスタスキャンパターン、及びオーバアンドバックスキャンパターンのグループからの１つであっても良い。図１８の例に示すように、グラフィック表現は、蛇行スキャン画像キャプチャパターンの一実施形態を示す。グラフィカル表現１８００は、関心オブジェクトを直線的に横切って画像をキャプチャする左から右への蛇行パターン１８０２及び右から左への蛇行パターン１８０４を含む。左から右への蛇行パターン１８０２及び右から左への蛇行パターン１８０４は、それぞれ最も左上の位置及び最も右上の位置から開始するよう示される。他の実施形態では、左から右への蛇行パターン１８０２及び右から左への蛇行パターン１８０４は、それぞれ最も左下の位置及び最も右下の位置から開始しても良い。蛇行画像キャプチャパターンは、蛇行パターンの中のクライアント装置１１５の動きが画像シリーズの中で関心オブジェクトを完全にキャプチャできるように、関心オブジェクトの高さ及び幅を考慮しても良い。クライアント装置１１５は、蛇行画像キャプチャパターンに従うとき、関心オブジェクトに平行であり及びそれに向かい合い得る。例えば右から左への蛇行パターン１８０４の中の円１８０６の中の数字は、画像シリーズをキャプチャするために従うべきシーケンスを示す。矢印１８０８は、画像シリーズをキャプチャするための右から左への蛇行パターン１８０４の中のクライアント装置１１５の動きの方向を示す。幾つかの実施形態では、ユーザ誘導モジュール２０７は、ユーザの選択した画像キャプチャパターンに基づき、画像シリーズをキャプチャするためのクライアント装置１１５の動きの方向を決定する。ユーザ誘導モジュール２０７は、ユーザインタフェースモジュール２１１に、ユーザの選択した画像キャプチャパターンにより指定されるキャプチャフローに基づき、ユーザインタフェース上で方向の視覚的区別指示子を生成するよう指示する。例えば、ユーザインタフェースモジュール２１１は、関心オブジェクトを直線的に横切って画像をキャプチャするジグザグの動きを示すために、ユーザインタフェースの中央に方向の視覚的区別指示子を生成しても良い。方向の視覚的区別指示子は、ユーザインタフェースの中央で３６０度の任意の方向を自由に指しても良い。方向の視覚的区別指示子は、ユーザインタフェース上で関心オブジェクトの現在のプレビュー画像の上にオーバレイされても良い。例示的な実施形態は、図２０Ａ〜２０Ｉを参照して以下に詳述される。
【００７８】
幾つかの実施形態では、ユーザ誘導モジュール２０７は、ユーザインタフェースモジュ―ル２１１に、それまでにキャプチャした画像のモザイクプレビューを生成するよう指示する。したがって、ユーザインタフェースの側では、画像キャプチャ進捗情報がユーザに示される。例えば、モザイクプレビューは、関心オブジェクトに関して何がそれまでにキャプチャされたかの進捗の概略を表示しても良い。幾つかの実施形態では、ユーザ誘導モジュール２０７は、ユーザインタフェースモジュール２１１に、モザイクプレビュー上でアウトラインにより位置又は場所を強調表示するよう指示しても良い。アウトラインは、関心オブジェクトのキャプチャされるべき次の画像が配置され得る場所を示す。アウトラインは、画像がクライアント装置１１５によりキャプチャされた後に、関心オブジェクトのサムネイル画像表現により置換されても良い。モザイクプレビューは、キャプチャした画像の数に基づき次第に増大するモザイクプレビューであっても良い。例えば、モザイクプレビューは、各々のキャプチャした画像の番号付けされたサムネイル画像、及び次にキャプチャされる画像がモザイクプレビューの中で配置され得る場所にある空のサムネイルスロットの番号付けされたアウトラインを有しても良い。各々のサムネイル画像は、モザイクプレビューにあるサムネイルの場所に対応する関心オブジェクトの画像がキャプチャされた後に、モザイクプレビュー上に現れる。ユーザは、モザイクプレビューでキャプチャした画像をプレビューでき、それまでにキャプチャした画像が所与の小売カテゴリにとって適切か否かを識別できる。
【００７９】
図１９の例に示すように、グラフィック表現１９００は、棚ユニットの画像を用いてモザイクプレビューを構築する一実施形態を示す。グラフィック表現１９００は、棚ユニット１９０４のキャプチャされた６枚の画像（１〜６で番号付けされる）のアウトライン表現１９０２を有する。グラフィカル表現１９００は、６枚の画像（１〜６で番号付けされる）が適切な重なり合い（例えば、約６０％）を有しキャプチャされていることを示す。グラフィカル表現１９００は、モザイクプレビュー１９０６の形式でキャプチャした画像の再構成も有する。
【００８０】
幾つかの実施形態では、ユーザ誘導モジュール２０７は、ユーザの選択した画像キャプチャパターンの下で、関心オブジェクトに沿って画像をキャプチャするためのクライアント装置１１５の動きの方向を決定しても良い。例えば、ユーザは、最も左上の位置（又は最も左下の位置）から通路内の棚ユニットの画像をキャプチャするキャプチャセッションを開始し、画像シリーズの残りをキャプチャするためにクライアント装置１１５を棚ユニットに沿って直線的に右へ移動しても良い。別の例では、ユーザは、最も右上の位置（又は最も右下の位置）から通路内の棚ユニットの画像をキャプチャするキャプチャセッションを開始し、次に、画像シリーズの残りをキャプチャするためにクライアント装置１１５を棚ユニットに沿って直線的に左へ移動しても良い。上述の例では、ユーザにより選択された画像キャプチャパターンは、図１８に示すような蛇行画像キャプチャパターンであっても良い。幾つかの実施形態では、ユーザ誘導モジュール２０７は、関心オブジェクトに沿ってクライアント装置１１５を移動するパターンとしてユーザが選択した蛇行画像キャプチャパターンの横方向を決定しても良い。幾つかの実施形態では、ユーザ誘導モジュール２０７は、後続の画像が蛇行画像キャプチャパターンのシーケンスの中の前の画像の横でキャプチャされたか否かを識別し、蛇行画像キャプチャパターンの方向を決定しても良い。例えば、ユーザは、上から棚ユニットの第１の画像をキャプチャし、棚の第２の画像をキャプチャするためにクライアント装置１１５を棚ユニットの下へ移動しても良い。このとき、ユーザは、シリーズの中の第３の画像をキャプチャするために、クライアント装置１１５を左へ又は右へ横方向に移動しても良い。ユーザ誘導モジュール２０７は、第３の画像が棚の第２の画像の左又は右の横方向でキャプチャされたか否かを識別し、通路内の棚に沿ってクライアント装置１１５の動きの方向を決定する。例えば、第３の画像がキャプチャした第２の画像の左でキャプチャされた場合、ユーザ誘導モジュール２０７は、方向が棚ユニットを直線的に横切って画像をキャプチャする右から左への蛇行パターンであると決定する。別の例では、キャプチャした第３の画像がキャプチャした第２の画像の右であった場合、ユーザ誘導モジュール２０７は、方向が画像をキャプチャする右から左への蛇行パターンであると決定する。したがって、幾つかの実施形態では、ユーザ誘導モジュール２０７は、ユーザインタフェースモジュール２１１に、蛇行画像キャプチャパターンの識別された横方向に基づき関心オブジェクトの後続の画像をキャプチャするためにユーザインタフェース上の方向の視覚的区別指示子を生成するよう又は更新するよう指示する。
【００８１】
幾つかの実施形態では、ユーザ誘導モジュール２０７は、ユーザインタフェースモジュ―ル２１１に、関心オブジェクトに沿ってクライアント装置１１５の動きの方向を示すために、キャプチャした画像のモザイクプレビューを更新するよう指示する。例えば、クライアント装置１１５が左から右への蛇行画像キャプチャパターンに従っていることを示すために、モザイクプレビューは、ユーザインタフェースの左へ押しやられても良い。別の例では、クライアント装置１１５が右から左への蛇行画像キャプチャパターンに従っていることを示すために、モザイクプレビューは、ユーザインタフェースの右へ押しやられても良い。
【００８２】
図２０Ａ〜２０Ｉの例に示すように、グラフィカル表現は、クライアント装置１１５の動きの方向の視覚的区別指示子を表示するユーザインタフェースの実施形態を示す。
【００８３】
図２０Ａで、グラフィカル表現は、クライアント装置１１５に表示される棚の現在のプレビュー画像２００６の上にオーバレイされる同心円の目標アウトライン２００２と２００４との対を含むユーザインタフェース２０００を示す。ユーザインタフェース２０００は、現在のプレビュー画像２００６の下にキャプチャした画像のモザイクプレビュー２０１０を表示する領域２００８も有する。モザイクプレビュー２０１０は、棚ユニットのキャプチャした画像が追加されていることに基づき次第に増大しても良い。領域２００８に含まれるモザイクプレビュー２０１０は、棚ユニットに沿ったクライアント装置１１５の動きが右から左へ又は左から右へに依存して、領域２００８の右へ又は領域２００８の左へ押しやられ得る。領域２００８の中のモザイクプレビュー２０１０（空で示す）は、「１」とラベル付けされた空のサムネイル画像スロットのアウトラインを有する。この空のサムネイル画像スロットは、クライアント装置１１５が棚ユニットの第１の画像をキャプチャすると、棚ユニットの第１の画像で置換され得る。図２０Ｂで、グラフィカル表現は、方向の視覚的区別指示子として機能するために内側目標アウトライン２００２のちょっと外側に垂れ下がっている矢印２０１７を有する更新済みユーザインタフェース２０１５を示す。矢印２０１７は、内側目標アウトライン２００２の周りを旋回し、３６０度の任意の方向を指すことができる。矢印２０１７は、任意の色、形状、陰影、大きさ、シンボル、等になるようカスタマイズできる。ユーザインタフェース２０１５は、重なり合いの視覚的区別指示子として機能するボール２０１９も有する。矢印２０１７は、棚ユニットの次の画像をキャプチャするためにクライアント装置１１５を下へ移動するようユーザに指示するために、ユーザインタフェース２０１５上で下を指している。領域２００８に含まれるモザイクプレビュー２０１０は、アウトライン２０２１により示される位置でモザイクプレビュー２０１０の中に適合すべき第２の画像のための「２」とラベル付けされたアウトライン２０２１を有する。棚ユニットの第１の画像のサムネイル表現がモザイクプレビュー２０１０の中の「１」とラベル付けされたアウトラインを置換したので、図２０Ａからのモザイクプレビュー２０１０の「１」とラベル付けされたアウトラインは、図２０Ｂではもう見えない。矢印２０１７と関連して、モザイクプレビュー２０１０上のアウトライン２０２１の位置も、第２の画像をキャプチャするために、棚に沿ってクライアント装置をどこに移動すべきかを視覚的に示すよう機能する。第２の画像は、第１の画像と適正な重なり合いを生成するようクライアント装置１１５を下方向に移動することによりキャプチャできる。ボール２０１９が外側目標アウトライン２００４を通過すると、もはや方向を示す必要がないので、矢印２０１７は消える。ボール２０１９が内側目標アウトライン２００２の内側に揃えられ位置付けられると、第２の画像がキャプチャされても良い。キャプチャした第２の画像のサムネイルは、領域２００８に含まれるモザイクプレビュー２０１０の中の「２」とラベル付けされたアウトライン２０２１を置換しても良い。取り消しボタン２０２３は、ユーザにより押されると、必要に応じてユーザに棚のバックアップをとり第２の画像を取り直させても良い。図２０Ｃで、グラフィカル表現は、シリーズの中の次の画像をキャプチャするためにユーザが取り得る２つの可能な経路を示す一例として２つの矢印：右矢印２０３２及び左矢印２０３４を含む更新済みユーザインタフェース２０３０を示す。幾つかの実施形態では、ユーザインタフェース２０３０は、右矢印２０３２又は左矢印２０３４を一度に表示しても良い。ユーザインタフェース２０３０の中の領域２００８に含まれるモザイクプレビュー２０１０は、前の画像の左又は右にあり得る次の画像をキャプチャするようユーザに指示する２つのアウトライン：「３ａ」とラベル付けされた左アウトライン２０３６及び「３ｂ」とラベル付けされた右アウトライン２０３８を有する。ユーザが右へ移動しようとすると仮定すると、ユーザが右へクライアント装置１１５を移動し始めると、ユーザインタフェース２０３０は、ユーザインタフェースの右側に右矢印２０３２及びボール２０１９を表示するよう更新されても良い。ボール２０１９が内側目標アウトライン２００２の内側に揃えられ位置付けられると、第３の画像がキャプチャされても良い。キャプチャした第３の画像のサムネイルは、領域２００８に含まれるモザイクプレビュー２０１０の中の「３ｂ」とラベル付けされたアウトライン２０３８を置換しても良い。幾つかの実施形態では、ユーザ誘導モジュール２０７は、第３の画像が第２の画像の横でキャプチャされていることに応答して、通路内の棚に沿ってクライアント装置１１５の動きの方向を決定する。例えば、キャプチャした第３の画像がキャプチャした第２の画像の右であった場合、ユーザ誘導モジュール２０７は、クライアント装置１１５の動きの方向が画像をキャプチャする左から右への蛇行パターンであると決定する。幾つかの実施形態では、ユーザ誘導モジュール２０７は、ユーザインタフェースモジュール２１１に、ユーザにユーザインタフェースを提示し、関心オブジェクトのどちらの側（例えば、通路側）から画像キャプチャ処理を開始すべきかを示すようユーザに要求するよう、指示しても良い。ユーザ誘導モジュール２０７は、ユーザ入力に基づき、クライアント装置１１５の動きの方向を決定する。
【００８４】
図２０Ｄで、グラフィカル表現は、棚ユニットの次の画像をキャプチャするためにクライアント装置１１５を上に移動するようユーザに示すために上矢印２０４７を有する更新済みユーザインタフェース２０４５を示す。ユーザインタフェース２０４５は、上部に現れるボール２０１９を有する。領域２００８に含まれるモザイクプレビュー２０１０は、アウトライン２０４９の位置により示されるモザイクプレビュー２０１０の中に適合すべき第４の画像のための「４」とラベル付けされたアウトライン２０４９を有する。第４の画像は、クライアント装置１１５を上方向に移動することにより、ボール２０１９が内側目標アウトライン２００２の内側に揃えられ位置付けられると、キャプチャできる。領域２００８の中のモザイクプレビュー２０１０は、クライアント装置１１５の動きの方向が棚ユニットの左から右であることを視覚的に示すために、領域２００８の左へ最後まで押しやられる。図２０Ｅで、グラフィカル表現は、棚ユニットの第５の画像をキャプチャするためにクライアント装置１１５を右へ移動するようユーザに示すために右矢印２０６２を有する更新済みユーザインタフェース２０６０を示す。同様に、図２０Ｆで、グラフィカル表現は、棚ユニットの第６の画像をキャプチャするためにクライアント装置１１５を下に移動するようユーザに示すために下矢印２０７７を有する更新済みユーザインタフェース２０７５を示す。図２０Ｇ〜２０Ｉで、グラフィカル表現は、図２０Ｃでユーザがクライアント装置１１５を左に移動することを選択することに基づき、ユーザインタフェースを変更する実施形態を示す。図２０Ｇ〜２０Ｉで、領域２００８の中のモザイクプレビュー２０１０は、クライアント装置１１５の動きの方向が棚ユニットの右から左であることを視覚的に示すために、領域２００８の右へ最後まで押しやられる。
【００８５】
図２１の例に示すように、グラフィカル表現は、キャプチャ装置の動きの方向の視覚的区別指示子を表示するユーザインタフェース２１００の別の実施形態を示す。図２１で、グラフィカル表現は、方向の視覚的区別指示子として機能するために外側目標アウトライン２１０２の周辺の外側に矢印２１０４を有するユーザインタフェース２１００を示す。矢印２１０４は、外側目標アウトライン２１０２の周りを旋回し、３６０度の任意の方向を指すことができる。
【００８６】
幾つかの実施形態では、連結モジュール２０９は、特徴抽出モジュール２０３から画像を受信し、単一の線形パノラマ画像を繋ぎ合わせるためにクライアント装置１１５からの重なり合い情報と一緒にキャプチャされた画像のセットを認識サーバ１０１へ送信する。幾つかの実施形態では、連結モジュール２０９は、キャプチャした画像セットの各々の個々の画像の抽出された特徴を、認識のためにデータ記憶装置２４３に格納された特徴と比較する。連結モジュール２０９は、例えば、個々の画像の中の商品を識別し、キャプチャした画像セットを単一の線形パノラマ画像に一緒に繋ぎ合わせるために、重なり合い情報と組み合わせてこのような情報を用いる。図２２Ａ〜２２Ｂの例に示すように、グラフィック表現は、キャプチャした画像セットをモザイクでプレビューするユーザインタフェースの一実施形態を示す。図２２Ａでは、グラフィカル表現は、それまでにキャプチャされ、画像がキャプチャされたときに得られた重なり合い情報及び画像特徴を用いて単一の線形パノラマ画像に一緒に繋ぎ合わせられた棚の全部の画像のセットをプレビューするモザイク２２０１を表示するユーザインタフェース２２００を示す。例えば、ユーザインタフェース２２００に示す画像の重なり合いは、６０％の重なり合い閾パラメータとほぼ同じであっても良い。ユーザインタフェース２２００は、ユーザが個々にキャプチャした画像の各々のサムネイル画像の強調表示を閲覧するためにスライドできるタブ２２０３も有する。図２２Ｂで、グラフィカル表現は、ユーザがタブ２２０３をスライドすることに応答して、個々のキャプチャした画像の各々のサムネイル画像を強調表示するユーザインタフェース２２５０を示す。例えば、ユーザは、より大きなプレビューユーザインタフェースで画像を閲覧するために、強調表示された画像２２０５をタップしても良い。幾つかの実施形態では、連結モジュール２０９は、線形パノラマ画像から棚の状態に関する情報を含む関連分析データを決定する。例えば、連結モジュール２０９は、在庫切れ商品、不明商品、等を線形パノラマ画像から識別しても良い。別の例では、連結モジュール２０９は、線形パノラマ画像を用いてプラノグラム順守を決定しても良い。連結モジュール２０９は、パノラマ画像及び関連するメタデータをデータ記憶装置２４３に格納しても良い。連結モジュール２０９は、ユーザインタフェースモジュール２１１に、ユーザに店舗内で修正動作を取ることを要求する命令をクライアント装置１１５のディスプレイ上で提供するよう指示しても良い。例えば、修正動作は、プラノグラムに従って棚に商品を配置することであっても良い。
【００８７】
線形パノラマ画像を生成するために画像シリーズをキャプチャするシステム及び方法が記載された。以上の説明では、説明を目的として、上述の技術の完全な理解を提供するために、多くの詳細事項が説明された。しかしながら、当業者は、実施技術がそのような特定の詳細にかかわらず実施できることを理解するだろう。他の例では、説明を不明瞭にしないために及び理解を容易にするために、構造及び装置がブロック図で示される。例えば、技術は上述の一実施形態では主にソフトウェア及び特定のハードウェアを参照して記載される。しかしながら、本発明は、サービスを提供する任意の周辺装置の部分としてデータ及びコマンドを受信し及び情報を提示できる任意の種類のコンピューティングシステムに適用される。
【００８８】
本願明細書において「一実施形態」又は「ある実施形態」等のような表現は、実施形態と関連して記載された特定の機能、構造又は特徴が少なくとも１つの実施形態に含まれることを意味する。明細所内の種々の文の中の「一実施形態では」という表現の出現は、必ずしも全て同じ実施形態を参照していない。
【００８９】
上述の詳細な説明の幾つかの部分は、コンピュータメモリ内のデータビットに対する動作のアルゴリズム及び象徴的表現の観点で提示される。これらのアルゴリズムの説明及び表現は、幾つかの環境では、データ処理技術の当業者により、業務内容を最も効率的に他の当業者に伝えるために用いられる手段である。アルゴリズムは、ここでは及び概して、所望の結果を生じる自己矛盾のないステップシーケンスであると考えられる。ステップは、物理量の物理的操作を必要とするステップである。通常、必ずしも必要ではないが、これらの量は、格納され、転送され、結合され、比較され及びその他の場合には操作され得る電気信号又は磁気信号の形式を取る。基本的に一般的に用いられるという理由で、これらの信号をビット、値、要素、シンボル、文字、語、数値、等として表すことが便利であることが分かっている。
【００９０】
しかしながら、これらの及び類似の語の全ては、適切な物理量に関連付けられ、これらの量に適用される便宜的ラベルに過ぎない。特に断りのない限り、以下の議論から明らかなように、以下の説明を通じて、「処理」、「計算」、「演算」、「決定」、「表示」、等の語を用いた議論は、コンピュータシステム又は同様の電子コンピューティング装置の動作及び処理を表す。コンピュータシステム又は同様の電子コンピューティング装置は、コンピュータシステムのレジスタ及びメモリ内にある物理（電子）量として表されたデータを操作し、コンピュータシステムのメモリ若しくはレジスタ又は情報記憶、送信又は表示装置等の中の物理量として同様に表される他のデータに変換する。
【００９１】
本発明は、本願明細書の動作を実行する装置にも関する。この装置は、所要の目的のために特に構成されても良く、又はコンピュータに格納されたコンピュータプログラムにより選択的に起動され又は再構成される汎用目的コンピュータを有しても良い。このようなコンピュータプログラムは、フロッピディスク、光ディスク、ＣＤ−ＲＯＭ及び磁気ディスクを含む任意の種類のディスク、ＲＯＭ（read−only  memory）、ＲＡＭ（random  access  memory）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光カード、不揮発性メモリを有するＵＳＢキーを含むフラッシュメモリ、又は電子命令を格納するのに適する任意の種類の媒体のような、各々がコンピュータシステムバスに結合された、しかしこれらに限定されない非一時的コンピュータ可読記憶媒体に格納されても良い。
【００９２】
幾つかの実施形態は、完全なハードウェアの実施形態、完全なソフトウェアの実施形態又はハードウェアとソフトウェア要素の両方を含む実施形態の形式を取り得る。一実施形態は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むがこれらに限定されないソフトウェアで実装されても良い。
【００９３】
さらに、幾つかの実施形態は、コンピュータ又は任意の命令実行システムにより又はそれと関連して使用するためのプログラムコードを提供するコンピュータにより使用可能な又はコンピュータにより読み取り可能な媒体からアクセス可能なコンピュータプログラムプロダクトの形式を取り得る。この説明の目的のために、コンピュータにより使用可能な又はコンピュータにより読み取り可能な媒体は、命令実行システム、機器又は装置により若しくはそれらと関連して使用するためのプログラムを有し、格納し、通信し、伝達し又は転送することが可能な任意の機器であっても良い。
【００９４】
プログラムコードを格納し及び／又は実行するのに適するデータ処理システムは、システムバスを通じてメモリ要素に直接又は間接に結合される少なくとも１つのプロセッサを有し得る。メモリ要素は、プログラムコードの実際の実行中に用いられるローカルメモリ、大容量記憶装置、及び実行中にコードが大容量記憶装置から読み出されなければならない回数を低減するために少なくとも特定のプログラムコードの一時的記憶を提供するキャッシュメモリを含み得る。
【００９５】
入力／出力又はＩ／Ｏ装置（キーボード、ディスプレイ、ポインティングデバイス等を含むがこれらに限定されない）は、直接に又は介入するＩ／Ｏ制御部を通じてシステムに結合され得る。
【００９６】
ネットワークアダプタも、介入する私設若しくは公衆ネットワークを通じてデータ処理システムを他のデータ処理システムに又は遠隔プリンタ若しくは記憶装置に結合するために、システムに結合されても良い。モデム、ケーブルモデム及びEthernet（登録商標）カードは、現在利用可能な種類のネットワークアダプタのうちの少数の例に過ぎない。
【００９７】
最後に、本願明細書で提示されるアルゴリズム及びディスプレイは、本質的に、任意の特定のコンピュータ又は他の機器にも関連しない。種々の汎用システムが、本願明細書の教示に従ってプログラムと共に用いられても良く、所要の方法ステップを実行するために更に特定の装置を構成することが都合が良いことがあり得る。種々のこれらのシステムの所要の構造は、上述の説明から明らかである。さらに、技術は、任意の特定のプログラミング言語を参照して記載されない。理解されるべきことに、種々のプログラミング言語が、本願明細書に記載された種々の実施形態の教示を実施するために用いられても良い。
【００９８】
以上の実施形態の説明は、説明及び開設を目的としている。上述の記載は、網羅的であること又は本願明細書を開示の特定の形式に限定することを意図しない。上述の教示に照らして多くの修正及び変形が可能である。実施形態の範囲はこの詳細な説明に限定されず、本願の特許請求の範囲により定められる。当業者により理解されるように、種々の例が、本発明の精神又は基本的特徴から逸脱することなく他の特定の形式で実施できる。同様に、モジュール、ルーチン、特徴、属性、方法及び他の態様の特定の名称及び区分は、必須でも重要でもなく、明細書及びその特徴を実施するメカニズムは、異なる名称、区分及び／又はフォーマットを有しても良い。さらに、当業者に明らかなように、本願明細書のモジュール、ルーチン、特徴、属性、方法は、ソフトウェア、ファームウェア、又それらの任意の組合せで実装できる。また、本願明細書の例えばモジュールであるコンポーネントがソフトウェアとして実装されるときは、コンポーネントは、スタンドアロンプログラム、大規模プログラムの一部、複数の別個のプログラム、静的又は動的リンクライブラリ、カーネルローダブルモジュール、デバイスドライバとして、及び／又はコンピュータプログラミングの当業者に現在知られている若しくは将来知られる如何なる他の方法でも実装され得る。さらに、本願明細書は、特定プログラミング言語、又は特定のオペレーティングシステム若しくは環境での実施形態に限定されない。したがって、本開示は、限定ではなく、本願明細書の範囲の説明を目的とする。
【符号の説明】
【００９９】
１０１  認識サーバ
１０３  画像認識アプリケーション
１０５  ネットワーク
１１５  クライアント装置
２０１  制御部
２０３  特徴抽出モジュール
２０５  調整モジュール
２０７  ユーザ誘導モジュール
２０９  連結モジュール
２１１  ユーザインタフェースモジュール
２３５  プロセッサ
２３７  メモリ
２３９  ディスプレイ装置
２４１  通信ユニット
２４３  データ記憶装置
２４５  方位センサ
２４７  キャプチャ装置
【図１】
0006674922.tif 000002
【図２】
0006674922.tif 000003
【図３】
0006674922.tif 000004
【図４Ａ】
0006674922.tif 000005
【図４Ｂ】
0006674922.tif 000006
【図５Ａ】
0006674922.tif 000007
【図５Ｂ】
0006674922.tif 000008
【図６Ａ】
0006674922.tif 000009
【図６Ｂ】
0006674922.tif 000010
【図７Ａ】
0006674922.tif 000011
【図７Ｂ】
0006674922.tif 000012
【図８】
0006674922.tif 000013
【図９】
0006674922.tif 000014
【図１０Ａ】
0006674922.tif 000015
【図１０Ｂ】
0006674922.tif 000016
【図１０Ｃ】
0006674922.tif 000017
【図１０Ｄ】
0006674922.tif 000018
【図１１Ａ】
0006674922.tif 000019
【図１１Ｂ】
0006674922.tif 000020
【図１１Ｃ】
0006674922.tif 000021
【図１１Ｄ】
0006674922.tif 000022
【図１２Ａ】
0006674922.tif 000023
【図１２Ｂ】
0006674922.tif 000024
【図１２Ｃ】
0006674922.tif 000025
【図１３Ａ】
0006674922.tif 000026
【図１３Ｂ】
0006674922.tif 000027
【図１３Ｃ】
0006674922.tif 000028
【図１４Ａ】
0006674922.tif 000029
【図１４Ｂ】
0006674922.tif 000030
【図１５】
0006674922.tif 000031
【図１６Ａ】
0006674922.tif 000032
【図１６Ｂ】
0006674922.tif 000033
【図１６Ｃ】
0006674922.tif 000034
【図１６Ｄ】
0006674922.tif 000035
【図１７Ａ】
0006674922.tif 000036
【図１７Ｂ】
0006674922.tif 000037
【図１７Ｃ】
0006674922.tif 000038
【図１７Ｄ】
0006674922.tif 000039
【図１７Ｅ】
0006674922.tif 000040
【図１７Ｆ】
0006674922.tif 000041
【図１８】
0006674922.tif 000042
【図１９】
0006674922.tif 000043
【図２０Ａ】
0006674922.tif 000044
【図２０Ｂ】
0006674922.tif 000045
【図２０Ｃ】
0006674922.tif 000046
【図２０Ｄ】
0006674922.tif 000047
【図２０Ｅ】
0006674922.tif 000048
【図２０Ｆ】
0006674922.tif 000049
【図２０Ｇ】
0006674922.tif 000050
【図２０Ｈ】
0006674922.tif 000051
【図２０Ｉ】
0006674922.tif 000052
【図２１】
0006674922.tif 000053
【図２２Ａ】
0006674922.tif 000054
【図２２Ｂ】
0006674922.tif 000055