(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）を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、連結モジュール２１１は、ハードウェアとプロセッサ２３５により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、連結モジュール２１１は、プロセッサ２３５により実行可能な命令セットである。幾つかの実施形態では、連結モジュール２１１は、メモリ２３７に格納され、プロセッサ２３５によりアクセス可能且つ実行可能である。幾つかの実装では、連結モジュール２１１は、プロセッサ２３５、メモリ２３７及び画像認識アプリケーション１０３の他のコンポーネントとバス２２０を介して協働し通信するために適応される。
【００４２】
幾つかの実施形態では、連結モジュール２１１は、特徴抽出モジュール２０３から、関心オブジェクトの参照画像を受信する。幾つかの実施形態では、連結モジュール２１１は、特徴比較モジュール２０７により処理されている画像同士の重なり合い情報を受信する。幾つかの実施形態では、コンピューティング装置２００がクライアント装置１１５である場合、画像認識アプリケーション１０３の連結モジュール２１１は、単一の線形パノラマ画像を生成する認識サーバ１０１へ、関心オブジェクトの参照画像、重なり合い情報及び他のメタデータ情報を送信する。幾つかの実施形態では、コンピューティング装置２００が認識サーバ１０１である場合、画像認識アプリケーション１０３の連結モジュール２１１は、関心オブジェクトの参照画像、重なり合い情報、及び他のメタデータ情報を用いて、単一の線形パノラマ画像を生成する。他の実施形態では、連結モジュール２１１は、線形パノラマ画像を受信し、データ記憶装置２４３に線形パノラマ画像を格納し、線形パノラマ画像を表示するユーザインタフェースを生成するようユーザインタフェースモジュール２１３に指示する。
【００４３】
ユーザインタフェースエンジン２１３は、ユーザインタフェースをユーザに提供するためのソフトウェア及び／又はロジックを有しても良い。幾つかの実施形態では、ユーザインタフェースモジュール２１３は、ＦＰＧＡ（field−programmable  gate  array）又はＡＳＩＣ（application−specific  integrated  circuit）を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、ユーザインタフェースモジュール２１３は、ハードウェアとプロセッサ２３５により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、ユーザインタフェースモジュール２１３は、プロセッサ２３５により実行可能な命令セットである。幾つかの実装では、ユーザインタフェースモジュール２１３は、メモリ２３７に格納され、プロセッサ２３５によりアクセス可能且つ実行可能である。幾つかの実装では、ユーザインタフェースモジュール２１３は、プロセッサ２３５、メモリ２３７及び画像認識アプリケーション１０３の他のコンポーネントとバス２２０を介して協働し通信するために適応される。
【００４４】
幾つかの実施形態では、ユーザインタフェースモジュール２１３は、前にキャプチャされた画像と良好な重なり合いを有する次の画像をキャプチャするためにクライアント装置１１５をどれ位移動するかについてユーザに指示するグラフィカルユーザインタフェースを生成する命令を、プレビュー生成モジュール２０５及び特徴比較モジュール２０７から受信する。幾つかの実施形態では、ユーザインタフェースモジュール２１３は、任意の方位軸（例えば、Ｘ、Ｙ、又はＺ軸）において僅かな傾きしかない又は全く傾きを有しない重なり合い画像をキャプチャするようユーザを誘導するグラフィカルユーザインタフェースを生成する命令を、プレビュー生成モジュール２０５及び方位検出モジュール２０９から受信する。他の実施形態では、ユーザインタフェースモジュール２１３は、アプリケーションにグラフィカルユーザインタフェースとしてデータを表示させるグラフィカルユーザインタフェースデータを通信ユニット２４１を介してクライアント装置１１５の中のアプリケーション（例えば、ブラウザ）へ送信する。
【００４５】
＜方法＞
図３は、単一の線形パノラマ画像のために関心オブジェクトの画像シリーズをキャプチャする方法３００の一実施形態を示すフロー図である。３０２で、特徴抽出モジュール２０３は、クライアント装置１１５から関心オブジェクトの一部の画像を受信し、参照画像として画像を識別する。例えば、画像は、棚、領域、芸術品、目印、景色のいい場所、他の空間、等の画像であり得る。画像は処理され、単一の線形パノラマ画像を形成するために必要な画像シリーズの中の第１の画像であるための基準（場所、方位、及び配置）を満たす場合、参照画像として識別される。３０４で、特徴抽出モジュール２０３は、参照画像の特徴を決定する。特徴抽出モジュール２０３は、参照画像の中で識別された各々の特徴について、位置、方位、及び画像記述子を決定する。例えば、特徴抽出モジュール２０３は、特徴位置を決定するために、Shi−Tomasiコーナ検出アルゴリズムのようなコーナ検出アルゴリズムを用いる。別の例では、特徴抽出モジュール２０３は、効率的な画像特徴記述子を決定するＢＲＩＥＦ（Binary  Robust  Independent  Elementary  Features）記述子アプローチを用いる。３０６で、プレビュー生成モジュール２０５は、クライアント装置１１５によりサンプリングされているプレビュー画像が存在するか否かを決定する。プレビュー画像がサンプリングされている場合、３０８で、プレビュー生成モジュール２０５は、クライアント装置１１５から関心オブジェクトの別の部分のプレビュー画像を受信する。３１０で、ユーザインタフェースモジュール２１３は、クライアント装置１１５のディスプレイに、プレビュー画像を含むユーザインタフェースを生成する。３１２で、特徴比較モジュール２０７は、重なり合いを決定するために、参照画像の特徴をプレビュー画像と動的に比較する。３１４で、ユーザインタフェースモジュール２１３は、所望の重なり合いを生成するために、クライアント装置１１５の動きを誘導する視覚的区別指示子をユーザインタフェースに追加する。３１６で、比較モジュール２０７は、参照画像とプレビュー画像との間の重なり合いが所定の重なり合い閾を満たすか否かを決定する。所定の重なり合い閾は、例えば約６０％満たされても良い。３１８で、特徴比較モジュール２０７は、重なり合い閾が満たされるか否かを調べる。重なり合い閾が満たされる場合、３２０で、特徴抽出モジュール２０３は、プレビュー画像を参照画像であると設定し、方法３００はステップ３０４から処理を繰り返す。例えば、特徴抽出モジュール２０３は、参照画像とプレビュー画像との間の重なり合いが例えば約６０％であるとき、クライアント装置から関心オブジェクトの部分の次の画像を受信しても良い。特徴抽出モジュール２０３は、次に、この新しい画像を参照画像として識別する。重なり合い閾が満たされない場合、方法３００は、ステップ３０６から処理を繰り返す。より多くの画像が、クライアント装置１１５のディスプレイ上のプレビュー画像として受信され、ユーザインタフェースは、参照画像との十分な重なり合いを有するプレビュー画像が決定されるまで、連続的に更新される。プレビュー画像がクライアント装置１１５によりサンプリングされていない場合、３２２で、連結モジュ��ル２１１は、単一の線形パノラマ画像を生成するために関心オブジェクトの部分の画像を送信する。
【００４６】
図４Ａ〜４Ｂは、単一の線形パノラマ画像のために関心オブジェクトの画像シリーズをキャプチャする方法４００の別の実施形態を示すフロー図である。４０２で、特徴抽出モジュール２０３は、クライアント装置１１５から関心オブジェクトの一部の画像を受信し、参照画像として画像を識別する。４０４で、特徴抽出モジュール２０３は、参照画像の特徴を決定する。例えば、特徴抽出モジュール２０３は、参照画像について識別された各々の特徴の画像記述子を決定する。特徴抽出モジュール２０３は、効率的な画像特徴記述子を決定するＢＲＩＥＦ（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（登録商標）カードは、現在利用可能な種類のネットワークアダプタのうちの少数の例に過ぎない。
【００８５】
最後に、本願明細書で提示されるアルゴリズム及びディスプレイは、本質的に、任意の特定のコンピュータ又は他の機器にも関連しない。種々の汎用システムが、本願明細書の教示に従ってプログラムと共に用いられても良く、所要の方法ステップを実行するために更に特定の装置を構成することが都合が良いことがあり得る。種々のこれらのシステムの所要の構造は、上述の説明から明らかである。さらに、技術は、任意の特定のプログラミング言語を参照して記載されない。理解されるべきことに、種々のプログラミング言語が、本願明細書に記載された種々の実施形態の教示を実施するために用いられても良い。
【００８６】
以上の実施形態の説明は、説明及び開設を目的としている。上述の記載は、網羅的であること又は本願明細書を開示の特定の形式に限定することを意図しない。上述の教示に照らして多くの修正及び変形が可能である。実施形態の範囲はこの詳細な説明に限定されず、本願の特許請求の範囲により定められる。当業者により理解されるように、種々の例が、本発明の精神又は基本的特徴から逸脱することなく他の特定の形式で実施できる。同様に、モジュール、ルーチン、特徴、属性、方法及び他の態様の特定の名称及び区分は、必須でも重要でもなく、明細書及びその特徴を実施するメカニズムは、異なる名称、区分及び／又はフォーマットを有しても良い。さらに、当業者に明らかなように、本願明細書のモジュール、ルーチン、特徴、属性、方法は、ソフトウェア、ファームウェア、又それらの任意の組合せで実装できる。また、本願明細書の例えばモジュールであるコンポーネントがソフトウェアとして実装されるときは、コンポーネントは、スタンドアロンプログラム、大規模プログラムの一部、複数の別個のプログラム、静的又は動的リンクライブラリ、カーネルローダブルモジュール、デバイスドライバとして、及び／又はコンピュータプログラミングの当業者に現在知られている若しくは将来知られる如何なる他の方法でも実装され得る。さらに、本願明細書は、特定プログラミング言語、又は特定のオペレーティングシステム若しくは環境での実施形態に限定されない。したがって、本開示は、限定ではなく、本願明細書の範囲の説明を目的とする。
【符号の説明】
【００８７】
１０１  認識サーバ
１０３  画像認識アプリケーション
１０５  ネットワーク
１１５  クライアント装置
２０１  制御部
２０３  特徴抽出モジュール
２０５  プレビュー生成モジュール
２０７  特徴比較モジュール
２０９  方位検出モジュール
２１１  連結モジュール
２１３  ユーザインタフェース
２３５  プロセッサ
２３７  メモリ
２３９  ディスプレイ装置
２４１  通信ユニット
２４３  データ記憶装置
２４５  方位センサ
２４７  キャプチャ装置
【図１】
0006361778.tif 000002
【図２】
0006361778.tif 000003
【図３】
0006361778.tif 000004
【図４Ａ】
0006361778.tif 000005
【図４Ｂ】
0006361778.tif 000006
【図５Ａ】
0006361778.tif 000007
【図５Ｂ】
0006361778.tif 000008
【図６Ａ】
0006361778.tif 000009
【図６Ｂ】
0006361778.tif 000010
【図７Ａ】
0006361778.tif 000011
【図７Ｂ】
0006361778.tif 000012
【図８】
0006361778.tif 000013
【図９】
0006361778.tif 000014
【図１０Ａ】
0006361778.tif 000015
【図１０Ｂ】
0006361778.tif 000016
【図１０Ｃ】
0006361778.tif 000017
【図１０Ｄ】
0006361778.tif 000018
【図１１Ａ】
0006361778.tif 000019
【図１１Ｂ】
0006361778.tif 000020
【図１１Ｃ】
0006361778.tif 000021
【図１１Ｄ】
0006361778.tif 000022
【図１２Ａ】
0006361778.tif 000023
【図１２Ｂ】
0006361778.tif 000024
【図１２Ｃ】
0006361778.tif 000025
【図１３Ａ】
0006361778.tif 000026
【図１３Ｂ】
0006361778.tif 000027
【図１３Ｃ】
0006361778.tif 000028
【図１４Ａ】
0006361778.tif 000029
【図１４Ｂ】
0006361778.tif 000030
【図１５】
0006361778.tif 000031
【図１６Ａ】
0006361778.tif 000032
【図１６Ｂ】
0006361778.tif 000033
【図１６Ｃ】
0006361778.tif 000034
【図１６Ｄ】
0006361778.tif 000035
【図１７Ａ】
0006361778.tif 000036
【図１７Ｂ】
0006361778.tif 000037