(57)【特許請求の範囲】
【請求項１】
コンピューティングデバイスにおいて実施される方法であって、
画像キャプチャデバイスから1つまたは複数の画像を受け取るステップであって、前記1つまたは複数の画像は、環境と、前記環境内の関心対象の1つまたは複数の潜在的なオブジェクトの少なくとも一部分とを含むステップと、
前記コンピューティングデバイスで前記1つまたは複数の画像を記憶するステップと、
前記1つまたは複数の画像の中に含まれる前記環境の少なくとも部分的3次元形状モデルを構築するステップであって、前記少なくとも部分的3D形状モデルは、前記環境内の関心対象の前記1つまたは複数の潜在的なオブジェクトの少なくとも前記一部分を含み、前記少なくとも部分的3D形状モデルは、前記1つまたは複数の画像のうちの少なくとも1つの画像を使用して構築されるステップと、
前記少なくとも部分的3D形状モデルを使用して、ビジュアル検索のために関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を自動的に作成するステップであって、前記少なくとも1つの修正された画像は、前記1つまたは複数の画像の中の関心対象の前記少なくとも1つの潜在的なオブジェクトのビューに対して、関心対象の前記少なくとも1つの潜在的なオブジェクトの変更された透視投影ビューを含むステップとを備える方法。
【請求項２】
前記少なくとも1つの修正された画像を、前記ビジュアル検索のためにサーバに自動的にアップロードするステップをさらに備える請求項1に記載の方法。
【請求項３】
前記少なくとも1つの修正された画像を、前記ビジュアル検索のためにサーバにアップロードするステップをさらに備える請求項1に記載の方法。
【請求項４】
前記1つまたは複数の画像は、前記コンピューティングデバイスに関連付けられた画像キャプチャデバイスでキャプチャされ、前記ビジュアル検索のために関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を自動的に作成するステップは、ユーザ入力を受け取ることなしに行われる請求項1に記載の方法。
【請求項５】
前記1つまたは複数の画像は、ユーザ入力を受け取ることなしに背景動作中に、前記コンピューティングデバイスに関連付けられた画像キャプチャデバイスで自動的にキャプチャされる請求項1に記載の方法。
【請求項６】
前記1つまたは複数の画像は、或る期間中に、前記期間の少なくとも一部にわたって画像キャプチャデバイスが移動している状態で、前記コンピューティングデバイスに関連付けられた前記画像キャプチャデバイスでキャプチャされる請求項1に記載の方法。
【請求項７】
前記1つまたは複数の画像は、前記コンピューティングデバイスに関連付けられた画像キャプチャデバイスでキャプチャされ、前記画像キャプチャデバイスは、関心対象の前記少なくとも1つの潜在的なオブジェクトに関する奥行き情報をもたらすことができ、前記画像キャプチャデバイスが移動することを要求されないで、前記1つまたは複数の画像をキャプチャする請求項1に記載の方法。
【請求項８】
前記環境内の関心対象の前記1つまたは複数の潜在的なオブジェクトに関連する少なくとも1つの平面構造を求めて前記環境の前記少なくとも部分的3D形状モデルを検索するステップをさらに備える請求項1に記載の方法。
【請求項９】
前記少なくとも部分的3D形状モデルは、structure-from-motionシステムを使用して構築される請求項1に記載の方法。
【請求項１０】
前記環境内の関心対象の前記1つまたは複数の潜在的なオブジェクトの少なくとも前記一部分に関連する少なくとも2つの平面構造を求めて前記環境の前記少なくとも部分的3D形状モデルを検索するステップをさらに備える請求項1に記載の方法。
【請求項１１】
前記ビジュアル検索のために関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を自動的に作成するステップは、各修正された画像につき1つの平面構造のゆがみを解消して正面ビューにするステップを備える請求項1に記載の方法。
【請求項１２】
関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を自動的に作成するステップは、複数の入力画像から関心対象の前記少なくとも1つの潜在的なオブジェクトの部分を修正して、前記少なくとも1つの修正された画像を作成するステップを備える請求項1に記載の方法。
【請求項１３】
請求項1乃至12の何れか1項に記載の方法を実施するためのコードを含む、コンピュータ可読記憶媒体。
【請求項１４】
1つまたは複数の受け取られた画像を記憶するための手段であって、前記1つまたは複数の画像は、環境と、前記環境内の関心対象の1つまたは複数の潜在的なオブジェクトの少なくとも一部分とを含む手段と、
前記1つまたは複数の画像の中に含まれる前記環境の少なくとも部分的3次元形状モデルを構築するための手段であって、前記少なくとも部分的3D形状モデルは、前記環境内の関心対象の前記1つまたは複数の潜在的なオブジェクトの少なくとも前記一部分を含み、前記少なくとも部分的3D形状モデルは、前記1つまたは複数の画像のうちの少なくとも1つの画像を使用して構築される手段と、
前記少なくとも部分的3D形状モデルを使用して、ビジュアル検索のために関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を自動的に作成するための手段であって、前記少なくとも1つの修正された画像は、前記1つまたは複数の画像の中の関心対象の前記少なくとも1つの潜在的なオブジェクトのビューに対して、関心対象の前記少なくとも1つの潜在的なオブジェクトの変更された透視投影ビューを含む手段とを備える装置。
【請求項１５】
前記少なくとも1つの修正された画像を、前記ビジュアル検索のためにサーバに自動的にアップロードするための手段をさらに備える請求項14に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ビジュアル検索のための自動画像修正が可能なコンピューティングデバイスに関する。
【背景技術】
【０００２】
ユーザは、多種多様なコンピューティングデバイス(たとえば、モバイルデバイスと非モバイルデバイスの両方)からビジュアル検索サービスなどの様々なサービスにアクセスしている。たとえば、これらの様々なコンピューティングデバイスには、自宅コンピュータ、職場コンピュータ、モバイル電話機、モバイルデバイス、タブレットなどが含まれる。ビジュアル検索は、人気のあるサービスとなっている。ユーザが、画像をサーバにアップロードし、サーバは、それらの画像を、サーバのデータベースの中に記憶された他の画像と照合して、最終的に、それらのアップロードされた画像についての情報を戻す。クエリ画像をデータベース画像と照合するアルゴリズムは、通常、或る程度のゆがみ(すなわち、平行移動、スケール、回転、および透視投影効果)を扱うことができるように設計される。また、これらの方法は、さらなる、関係のない詳細(すなわち、クラッタ)を包含するピクチャの中のオブジェクトを検出することもできる。しかし、これらのアルゴリズムは、これらの困難に対処することができるものの、これらのアルゴリズムは、これらの困難に対処するためにより多くの時間および処理リソースを必要とする。カメラ画像の中の関係のないクラッタは、サーバが関心対象のオブジェクトを見出すのを、より困難にするだけでなく、サーバに送信される画像のサイズを増大させもする。
【発明の概要】
【課題を解決するための手段】
【０００３】
本発明の態様は、ビジュアル検索のための自動画像修正を実行することができるコンピューティングデバイスに関することが可能である。このコンピューティングデバイスは、1つまたは複数の画像を記憶する記憶媒体と、その1つまたは複数の画像のうちの少なくとも1つの画像に基づいて、環境内の関心対象の1つまたは複数の潜在的なオブジェクトのための3次元(3D)形状モデルを構築する命令を実行するように構成された処理回路とを含み得る。処理回路は、ビジュアル検索のために関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を自動的に作成する命令を実行するようにも構成される。
【０００４】
また、本発明の態様は、コンピューティングデバイスにおいて実施される方法にも関することが可能である。この方法は、画像キャプチャデバイスから1つまたは複数の画像を受け取ること、その1つまたは複数の画像のうちの少なくとも1つの画像に基づいて、環境内の関心対象の1つまたは複数の潜在的なオブジェクトのための3次元(3D)形状モデルを構築すること、およびビジュアル検索のために関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を自動的に作成することを含む。
【０００５】
また、本発明の態様は、コンピューティングデバイスにおいて実行されるコンピュータプログラム製品にも関することが可能である。このコンピュータプログラム製品は、コンピューティングデバイスで1つまたは複数の画像を記憶するためのコードと、その1つまたは複数の画像のうちの少なくとも1つの画像に基づいて、環境内の関心対象の1つまたは複数の潜在的なオブジェクトのための3次元(3D)形状モデルをコンピューティングデバイスで構築するためのコードと、ビジュアル検索のために関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を自動的に作成するためのコードとを含むコンピュータ可読媒体を含む。
【０００６】
また、本発明の態様は、1つまたは複数の受け取られた画像を記憶するための手段と、その1つまたは複数の記憶された画像のうちの少なくとも1つの画像に基づいて、環境内の関心対象の1つまたは複数の潜在的なオブジェクトのための3次元(3D)形状モデルを構築するための手段と、ビジュアル検索のために関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を自動的に作成するための手段とを含む装置にも関することが可能である。
【０００７】
また、本発明の態様は、ビジュアル検索を実行するためのサーバに関することも可能である。このサーバは、画像を記憶する記憶媒体と、ビジュアル検索のためにコンピューティングデバイスから関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を受け取る命令、およびその少なくとも1つの修正された画像の特徴を表す記述子を抽出する命令を実行するように構成された処理回路とを含み得る。その少なくとも1つの修正された画像の抽出された記述子は、必ずしも透視投影歪みまたはアフィン歪みに対して不変であることなしに、回転、スケール、および照明に対して不変であるように設計され得る。処理回路は、その少なくとも1つの修正された画像の抽出された記述子を、データベースの中に記憶された画像の記述子と照合する命令を実行するようにさらに構成され得る。
【０００８】
また、本発明の態様は、サーバにおいて実施される方法に関することも可能である。この方法は、サーバで複数の画像を記憶すること、ビジュアル検索のためにコンピューティングデバイスから関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を受け取ること、およびその少なくとも1つの修正された画像の特徴を表す記述子を抽出することを含む。その少なくとも1つの修正された画像の抽出された記述子は、必ずしも透視投影歪みまたはアフィン歪みに対して不変であることなしに、回転、スケール、および照明に対して不変であるように設計され得る。
【０００９】
また、本発明の態様は、サーバにおいて実行されるコンピュータプログラム製品にも関することが可能である。このコンピュータプログラム製品は、複数の画像を記憶するためのコードと、ビジュアル検索のためにコンピューティングデバイスから関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を受け取るためのコードと、その少なくとも1つの修正された画像の特徴を表す記述子を抽出するためのコードとを含むコンピュータ可読媒体を含む。その少なくとも1つの修正された画像の抽出された記述子は、必ずしも透視投影歪みまたはアフィン歪みに対して不変であることなしに、回転、スケール、および照明に対して不変であるように設計され得る。
【図面の簡単な説明】
【００１０】
【図１】少なくとも1つの修正された画像を自動的に作成するためのコンピューティングデバイスを有するシステムを示すブロック図である。
【図２】コンピューティングデバイスによってキャプチャされた画像を自動的に修正するためのプロセスを示す流れ図である。
【図３】コンピューティングデバイスによってキャプチャされたビルボード広告の画像を示す図である。
【図４】その画像が修正された後のビルボード広告の画像を示す正面ビューである。
【図５】ビジュアル検索を実行するためのサーバを示す図である。
【図６】ビジュアル検索を実行するためのサーバにおいて実施されるプロセスを示す流れ図である。
【発明を実施するための形態】
【００１１】
本明細書で説明される「例示的」または「例」という語は、「例、実例、または例示の役割をすること」を意味するものとして使用される。本明細書で「例示的」または「例」として説明されるいずれの態様または実施形態も、必ずしも、他の態様または実施形態よりも好ましい、または有利であるものと解釈されるべきではない。
【００１２】
図1は、少なくとも1つの修正された画像を自動的に作成するためのコンピューティングデバイスを有するシステムのブロック図である。詳細には、システム100が、ビジュアル検索サービスが、ユーザに関心対象の1つまたは複数のオブジェクトを正しく検出するより高い可能性を有するように、少なくとも1つの修正された画像を自動的に作成するコンピューティングデバイス101を例示する。コンピューティングデバイス101は、処理回路110、命令120および画像122を記憶する記憶媒体112、電源デバイス114、ディスプレイデバイス116、ユーザインターフェース118、トランシーバ119、および画像(たとえば、デジタル静止画像、ビデオを形成する画像の系列)をキャプチャするための画像キャプチャデバイス144(たとえば、カメラ、ビデオカメラなど)を含み得る。別の実施形態において、画像キャプチャデバイスは、コンピューティングデバイスの外部に配置される。画像キャプチャデバイスは、コンピューティングデバイスに関連付けられて、コンピューティングデバイスに通信可能に結合されてもよい。たとえば、コンピューティングデバイス(たとえば、モバイルデバイス)がユーザのポケットの中に入っており、ユーザの眼鏡上に装着された画像キャプチャデバイス(たとえば、カメラ)にワイヤレスに接続されることも可能である。例示的な記憶媒体(たとえば、コンピュータ可読媒体)が、プロセッサが、その記憶媒体から情報を読み取ること、およびその記憶媒体に情報を書き込むことができるように処理回路に結合される。代替として、記憶媒体は、処理回路と一体化していてもよい。ディスプレイデバイス116は、モバイルデバイス、セルラー電話機、携帯情報端末、モバイルコンピュータ、タブレットなどのコンピューティングデバイス101上の通常のディスプレイデバイスであってもよいことを理解されたい。ユーザインターフェース118は、キーボード、タッチスクリーン、または別のタイプのユーザインターフェース入力デバイスであることが可能である。さらに、電源デバイス114は、コンピューティングデバイス101に電力を供給するバッテリデバイスであってもよい。トランシーバ119は、ワイヤレスリンク130を介してワイヤレスネットワーク131に/から呼およびデータを送受信するのに使用され得る。
【００１３】
詳細には、コンピューティングデバイス101は、1つまたは複数のキャプチャされた画像のうちの少なくとも1つの画像に基づいて、環境内の関心対象の1つまたは複数の潜在的なオブジェクトのための3次元(3D)形状モデルを構築する命令120、およびビジュアル検索のために関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を自動的に作成する命令120を実行するように構成された処理回路110を含み得る。処理回路110は、少なくとも1つの修正された画像を、ビジュアル検索のためにサーバに自動的にアップロードする命令を実行するようにさらに構成され得る。たとえば、コンピューティングデバイスのユーザが、修正された画像をサーバにアップロードするためのユーザ入力を与えないことが可能である。代替として、ユーザは、修正された画像がサーバにアップロードされていることを認識していてもよく、ユーザは、修正された画像を、ビジュアル検索のためにサーバにアップロードするオプションを手動で選択してもよい。
【００１４】
一実施形態において、画像キャプチャデバイスは、背景動作中に画像をキャプチャし、それらのキャプチャされた画像の中に位置する関心対象の潜在的なオブジェクトの少なくとも1つの修正された画像が、ユーザ入力を受け取ることなしにビジュアル検索のために自動的に作成される。画像キャプチャデバイスは、画像をキャプチャするためにユーザから入力を受け取ることなしに、背景動作中に画像をキャプチャすることが可能である。
【００１５】
一部の態様において、画像キャプチャデバイスは、或る期間中に、その期間の少なくとも一部にわたってコンピューティングデバイスが移動している状態で、画像をキャプチャする。他の態様において、画像キャプチャデバイスは、関心対象の少なくとも1つの潜在的なオブジェクトに関する奥行き情報をもたらすことができ、この奥行き情報のため、コンピューティングデバイスが移動することを要求されないで、画像をキャプチャする。代替として、コンピューティングデバイスの外部に配置された画像キャプチャデバイスの場合、画像キャプチャデバイスは、或る期間中に、その期間の少なくとも一部にわたって画像キャプチャデバイスが移動している状態で、画像をキャプチャする。他の代替の態様において、画像キャプチャデバイスは、関心対象の少なくとも1つの潜在的なオブジェクトに関する奥行き情報をもたらし、この奥行き情報のため、画像キャプチャデバイスが移動することを要求されないで、画像をキャプチャする。
【００１６】
以下に説明される本発明の態様は、コンピューティングデバイス101の処理回路110、ならびに/またはコンピューティングデバイス101および/または他のデバイスの他の回路による命令の実行に関連して実施され得ることを理解されたい。特に、処理回路110を含むが、処理回路110には限定されないコンピューティングデバイス101の回路が、プログラム、ルーチン、または命令の実行の下で動作して、本発明の実施形態による方法またはプロセスを実行することが可能である。たとえば、そのようなプログラムは、ファームウェアまたはソフトウェア(たとえば、記憶媒体112および/または他のロケーションに記憶された)として実装されることが可能であり、コンピューティングデバイス101の処理回路110および/または他の回路などのプロセッサによって実施されることが可能である。さらに、処理回路、プロセッサ、マイクロプロセッサ、回路、コントローラなどの用語は、ロジック、コマンド、命令、ソフトウェア、ファームウェア、機能などを実行することができる任意のタイプのロジックまたは回路を指すことを理解されたい。
【００１７】
さらに、コンピューティングデバイス101は、1つまたは複数のワイヤレス通信リンク130経由で、任意の適切なワイヤレス通信技術に基づく、またはそのような技術をサポートするワイヤレスネットワーク131を介して通信することが可能である。たとえば、一部の態様において、コンピューティングデバイス101は、ワイヤレスネットワーク131を含むネットワークに関連付けられることが可能である。一部の態様において、ネットワークは、ボディエリアネットワークまたはパーソナルエリアネットワーク(たとえば、超広帯域ネットワーク)を備え得る。一部の態様において、ネットワークは、ローカルエリアネットワークまたはワイドエリアネットワークを備え得る。ワイヤレスデバイスは、たとえば、CDMA、TDMA、OFDM、OFDMA、WiMAX、およびWi-Fiなどの様々なワイヤレス通信技術、ワイヤレス通信プロトコル、またはワイヤレス通信標準のうちの1つまたは複数をサポートする、またはそれ以外で使用することが可能である。同様に、ワイヤレスデバイスは、様々な対応する変調スキームまたは多重化スキームのうちの1つまたは複数をサポートする、またはそれ以外で使用することが可能である。このため、ワイヤレスデバイスは、前述の、または他のワイヤレス通信技術を使用して1つまたは複数のワイヤレス通信リンクを確立し、そのようなリンク経由で通信する適切な構成要素(たとえば、無線インターフェース)を含み得る。たとえば、デバイスは、ワイヤレス媒体を介した通信を円滑にする様々な構成要素(たとえば、信号ジェネレータおよび信号プロセッサ)を含み得る、関連する送信構成要素および受信構成要素(たとえば、送信機および受信機)を有するワイヤレストランシーバを含み得る。したがって、よく知られているように、コンピューティングデバイス101は、他のモバイルデバイス、セル電話機、他の有線コンピュータおよびワイヤレスコンピュータ、インターネットウェブサイトなどとワイヤレスで通信することが可能である。
【００１８】
図2をさらに参照すると、修正された画像を自動的に作成するためのプロセス200を例示する流れ図が示されている。一実施形態において、このプロセスは、正面ビューになるように修正された画像を自動的に作成して、ビジュアル検索サービスが関心対象のオブジェクトを正しく検出するより高い可能性を有するようにすることによって、ビジュアル検索照合結果を改良する。さらに、このプロセスは、複数のピクチャからのオブジェクトの部分を自動的に組み合わせて、単一の画像にすることができる。これらの改良の基礎が、ピクチャに関する光度測定を単に使用することに加えて、シーンについての3D形状知識を収集するシステムである。このシステムは、環境の3D形状モデル(たとえば、環境の高密度の3D点群マップ)を構築する。
【００１９】
ブロック202で、コンピューティングデバイスに関連付けられた画像キャプチャデバイスが、1つまたは複数の画像をキャプチャする。画像キャプチャデバイスは、コンピューティングデバイスに組み込まれても、コンピューティングデバイスの外部に配置されてもよい。ブロック204で、コンピューティングデバイスが、その1つまたは複数のキャプチャされた画像を記憶する(たとえば、それらの画像を記憶媒体の中に記憶する)。ブロック206で、プロセスが、その1つまたは複数のキャプチャされた画像のうちの少なくとも1つに基づいて、環境内の関心対象の1つまたは複数の潜在的なオブジェクトのための3D形状モデルを構築する。単眼カメラの場合、structure-from-motionシステムが、3D形状モデルのそのような形状情報をもたらす。一部の実例において、コンピューティングデバイスが、或る期間中に、その期間の少なくとも一部にわたってコンピューティングデバイスが移動して、画像をキャプチャする。たとえば、ユーザが、環境内でコンピューティングデバイスをパンして、環境の画像をキャプチャすることが可能である。デプスカメラ(たとえば、RGB-Dカメラ)上に見られ得る他のセンサが、移動を要求することなしに、奥行きを直接にもたらすのに使用され得る。これらの実例において、コンピューティングデバイスは、コンピューティングデバイスが移動することを要求されないで、関心対象の少なくとも1つの潜在的なオブジェクトに関する奥行き情報をもたらし、画像をキャプチャする。デプスカメラは、キャプチャされたピクセルに関する奥行き情報をもたらす。デプスカメラは、各オブジェクトの表面からの反射された光を感知することが可能である。実用的な目的で、シーンの形状をリアルタイムで(たとえば、瞬時に、ほぼ瞬時に)再構築するリアルタイムシステムが必要とされる。最近、Simultaneous Localization and Mapping(SLAM)システムが、モバイル電話機を含むコンピューティングデバイス上で実際に使用されるのに十分なだけ効率的で、堅牢になっている。SLAMシステムでは、ユーザが、関心対象のオブジェクトにカメラを向け、移動することを始める。カメラを有するユーザが移動している間、SLAMシステムは、カメラ画像の中の詳細を追跡し、環境の形状モデルを構築する。RGB-Dカメラを備えたデバイスの事例において、単一の画像で、初期の形状モデルを構築するのに十分であり、そのモデルが、移動によって拡張され得る。関心対象のオブジェクトは、完全に可視である必要はなく、ユーザがそのようなオブジェクトの真正面にいる必要もない。オブジェクトの大部分が、カメラ画像のある点において可視であれば十分である。SLAMシステムは、SLAMシステムが、環境の形状モデルを構築している間、SLAMシステムの内部目的で必要とするピクチャ(たとえば、キーフレーム)も撮影する。それらのキーフレームは、環境におけるカメラ位置を特定するように周期的に(たとえば、2〜5秒ごとに)撮影されることが可能である。
【００２０】
一実施形態において、コンピューティングデバイスが、1つまたは複数の画像をキャプチャし、ユーザ入力を受け取ることなしに、ビジュアル検索のために、その1つまたは複数のキャプチャされた画像の中に位置する関心対象の潜在的なオブジェクトの少なくとも1つの修正された画像を自動的に作成する。たとえば、ユーザが、カメラを、関心対象のオブジェクトに狙いを定めるように向け、カメラが、関心対象のオブジェクトの画像、および関心対象の他の潜在的なオブジェクトの画像をキャプチャする。次に、コンピューティングデバイスが、関心対象のオブジェクト、および関心対象の他の潜在的なオブジェクトを自動的に修正し、それらの修正された画像が、ビジュアル検索のために使用され得る。コンピューティングデバイスのユーザインターフェースは、自動的に修正された画像がビジュアル検索のために使用されることを示さなくてもよい。
【００２１】
一部の実例において、コンピューティングデバイスが、画像をキャプチャするためにユーザ入力を受け取ることなしに、背景動作中に画像をキャプチャする。背景動作中、コンピューティングデバイスのユーザインターフェースは、画像がキャプチャされていること、または修正された画像が、ビジュアル検索のために使用されることを示さなくてもよい。ブロック208で、短い期間(たとえば、数秒までの)内に行われ得る、3D形状モデルに基づく環境の再構築が少なくとも部分的に終了すると、プロセスが、環境内の関心対象の1つまたは複数の潜在的なオブジェクトに関連する少なくとも1つの平面構造(たとえば、支配的な平面構造)を求めて3D形状モデルを検索する。関心対象のこれらの潜在的なオブジェクトは、ユーザが、カメラを、オブジェクトに向けて狙いを定めることに基づいてキャプチャされたオブジェクトとともに、環境内に位置する他のオブジェクトも含むことが可能である。このようにして、プロセスは、ユーザによって意図されていた、または完全に見られていた可能性があるよりも広範な数の関心対象の潜在的なオブジェクトを、平面構造を求めて検索する。部分的に終わった再構築は、検索するために十分である可能性があり、次いで、後の検索が、その後に終わった環境の他の部分を検索することが可能である。コンピューティングデバイスは、各平面構造に関する信頼度メトリックを有することが可能である。ブロック210で、プロセスは、ビジュアル検索のために正面ビューまたは直交ビュー(orthogonal view)において関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を作成する(たとえば、自動的に作成する)。修正された出力画像を作成することは、平面構造の修正されたビューを作成するために、SLAMシステムによって前に撮影されたピクチャからの平面構造の入力画像のゆがみを解消することを含み得る。ユーザは、修正された出力画像のうちのいくつかをキャプチャすることを意図していた可能性がある一方で、他の修正された出力画像は、キャプチャされることが意図されていなかった可能性がある。ユーザは、修正された出力画像のうちのいずれか、またはいくつかがビジュアル検索のために使用されることを知らない可能性があり、またはコンピューティングデバイスが、ビジュアル検索に関するユーザ入力を受け取らない可能性がある。
【００２２】
修正された画像が作成された後、ブロック212で、システムは、修正された画像を、確認のためにユーザに提示すること、または即時にビジュアル検索サーバにアップロードすることができる。モバイル電話機に今日、通常、利用可能である帯域幅では、画像をアップロードすること、および検索結果を受信することは、通常、数秒しかかからない。このため、自動的方法が、通常、好ましい。修正された画像を使用することは、図5および図6に関連して説明される、サーバ側で要求される記述子抽出および記述子照合を潜在的にスピードアップすることが可能である。
【００２３】
図3および図4は、入力画像300を修正して出力画像400を作成することを例示する。図3は、コンピューティングデバイスによってキャプチャされたビルボード広告302の画像300である。コンピューティングデバイスは、画像300のキャプチャ中、ビルボード広告302に対して直交でも、垂直でもない。そうではなく、コンピューティングデバイスは、画像300をキャプチャするために或る角度で上方に傾いている。図4は、コンピューティングデバイスが画像300を修正した後のビルボード広告402の画像400の正面ビューである。このタスクのため、ビルボード広告の平面が、単一の画像において完全に可視であるか、またはその平面が複数の画像にわたるかは関係がない。コンピューティングデバイスは、画像400を、ビジュアル検索のためにサーバに送信することができる。
【００２４】
或る実施形態において、ユーザが、或る部屋全体の3D形状モデルを構築する。たとえば、その部屋が、多くの小さい平面オブジェクト(たとえば、ピクチャ、ポスター、製品箱、雑誌など)を含むことが可能である。3D形状モデルを構築するコンピューティングデバイスは、これらの小さい平面オブジェクトの平面構造を、ユーザが、これらのオブジェクトを識別して、選択することを必要とせずに、探し出し、これらの平面構造を修正し、それらの修正された平面構造を、ビジュアル検索のためにサーバに送信することもする。
【００２５】
別の実施形態において、ユーザは、関心対象のオブジェクトの十分に大きい部分を範囲に含む単一のピクチャを撮影することができない。このことは、カメラが広い視野を有さず(モバイル電話機カメラの場合に該当するように)、オブジェクトがカメラ画像の中で完全に可視となるようにオブジェクトから十分に離れるように移動するのに十分なスペースが存在しない場合に生じる。たとえば、コンピューティングデバイスは、コンピューティングデバイス(たとえば、モバイル電話機)のカメラが、単一のカメラショットの中に絵画全体をキャプチャすることができない(急すぎる角度を有することなしには)ように大きい絵画を有する狭い廊下を含む環境を再構築することが可能である。コンピューティングデバイスは、その絵画全体を範囲に含む大きい平面を検出し、多くのキャプチャされた入力画像からその絵画を1つの修正された画像に修正し、その修正された画像を、ビジュアル検索のためにサーバに送信する。
【００２６】
一実施形態において、ビジュアル検索のために関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を自動的に作成することは、各出力画像につき1つの平面構造のゆがみを解消して正面ビューにすることを含む。別の実施形態において、関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を自動的に作成することは、複数の入力画像から関心対象の少なくとも1つの潜在的なオブジェクトの部分を修正して、少なくとも1つの出力画像を作成することを含む。
【００２７】
図5は、ビジュアル検索を実行するためのサーバ500を例示する。サーバ500は、画像を記憶するデータベース512を有する記憶媒体510と、ネットワークインターフェース540を介して少なくとも1つの修正された画像を受け取る命令522を実行するように構成された処理回路520とを含む。ネットワークインターフェースは、ローカルエリアネットワークまたはワイドエリアネットワークに対する有線リンクまたはワイヤレスリンクに結合され得る。少なくとも1つの修正された画像は、ビジュアル検索のためにコンピューティングデバイスによってキャプチャされた関心対象の少なくとも1つの潜在的なオブジェクトを含む。処理回路520は、少なくとも1つの修正された画像の特徴(たとえば、高いコントラストの領域)を表す記述子を抽出する命令を実行するように構成される。数字の系列(たとえば、128の数字)が特徴を表すことが可能である。その少なくとも1つの修正された画像の抽出された記述子は、必ずしも透視投影歪みまたはアフィン歪みに対して不変であることなしに、回転、スケール、および照明に対して不変であるように設計される。処理回路520は、その少なくとも1つの修正された画像の抽出された記述子を、データベースの中に記憶された画像のうちの任意の画像の記述子と照合する命令522を実行するようにさらに構成される。処理回路520は、抽出された記述子と合致する記述子を有するデータベースの中に記憶された少なくとも1つの画像に関連する情報を送信する命令522を実行するようにさらに構成される。一実施形態において、少なくとも1つの修正された画像の抽出された記述子は、透視投影歪みまたはアフィン歪みに対して不変ではない。例示的な記憶媒体(たとえば、ソフトウェアコードまたは命令を有するコンピュータ可読媒体)が、処理回路がその記憶媒体から情報を読み取ること、およびその記憶媒体に情報を書き込むことができるように処理回路に結合される。代替として、記憶媒体は、処理回路と一体化していてもよい。
【００２８】
図6をさらに参照すると、ビジュアル検索のためにサーバにおいて実施されるプロセス600を例示する流れ図が示されている。プロセス600は、ブロック602で、サーバの記憶媒体の中に複数の画像を記憶することを含む。その記憶媒体は、画像を記憶するためのデータベースを含み得る。プロセス600は、ブロック604で、ビジュアル検索のためにコンピューティングデバイスから関心対象の少なくとも1つの潜在的なオブジェクトを有する少なくとも1つの修正された画像を受け取ることを含む。プロセスは、ブロック606で、少なくとも1つの修正された画像の特徴を表す記述子を抽出する。その少なくとも1つの修正された画像の抽出された記述子は、必ずしも透視投影歪みまたはアフィン歪みに対して不変であることなしに、回転、スケール、および照明に対して不変であるように設計される。プロセスは、ブロック608で、その少なくとも1つの修正された画像の抽出された記述子を、データベースの中に記憶された画像の記述子と照合する。プロセスは、ブロック610で、抽出された記述子と合致する、または実質的に合致する記述子を有するデータベースの中に記憶された少なくとも1つの画像に関連する情報を送信する。
【００２９】
画像上の特徴を表す記述子は、通常、回転、スケール、照明、および或る程度の透視投影歪みに対して不変であるように設計される。この不変性は、定義からして、これらの変数の変化が、計算された記述子にほとんど影響を及ぼすべきではないので、弁別力を失うという犠牲を払う。修正された画像を使用することは、不変性はより低いが、より弁別的な記述子を使用することを潜在的に可能にし、そのような記述子は、抽出し、照合するのがより速く、より安価である可能性もある。記述子は、それでも、回転不変、スケール不変、および照明不変である必要があるが、扱うのが最も困難な不変性、つまり、透視投影歪みに対する不変性は、もはや要件ではない。より弁別的な記述子は、たとえば、スケール不変変換(SIFT)を使用して、さもなければ同様である可能性がある記述子の曖昧性解消を可能にすることによって、より多くのオブジェクトが検出されることを可能にする。一実施形態において、少なくとも1つの修正された画像の抽出された記述子は、透視投影歪みまたはアフィン歪みに対して不変ではない。
【００３０】
コンピューティングデバイスまたはサーバが、モバイルデバイスまたはワイヤレスデバイスである場合、コンピューティングデバイスまたはサーバは、1つまたは複数のワイヤレス通信リンク経由で、任意の適切なワイヤレス通信技術に基づく、またはそのような技術をサポートするワイヤレスネットワークを介して通信することが可能であることを理解されたい。たとえば、一部の態様において、コンピューティングデバイスまたはサーバは、ワイヤレスネットワークを含むネットワークに関連付けられることが可能である。一部の態様において、そのネットワークは、ボディエリアネットワークまたはパーソナルエリアネットワーク(たとえば、超広帯域ネットワーク)を備え得る。一部の態様において、ネットワークは、ローカルエリアネットワークまたはワイドエリアネットワークを備え得る。ワイヤレスデバイスは、たとえば、CDMA、TDMA、OFDM、OFDMA、WiMAX、およびWi-Fiなどの様々なワイヤレス通信技術、ワイヤレス通信プロトコル、またはワイヤレス通信標準のうちの1つまたは複数をサポートする、またはそれ以外で使用することが可能である。同様に、ワイヤレスデバイスは、様々な対応する変調スキームまたは多重化スキームのうちの1つまたは複数をサポートする、またはそれ以外で使用することが可能である。このため、ワイヤレスデバイスは、前述の、または他のワイヤレス通信技術を使用して1つまたは複数のワイヤレス通信リンクを確立し、そのようなリンク経由で通信する適切な構成要素(たとえば、無線インターフェース)を含み得る。たとえば、デバイスは、ワイヤレス媒体を介した通信を円滑にする様々な構成要素(たとえば、信号ジェネレータおよび信号プロセッサ)を含み得る、関連する送信構成要素および受信構成要素(たとえば、送信機および受信機)を有するワイヤレストランシーバを含み得る。したがって、よく知られているように、モバイルワイヤレスデバイスは、他のモバイルデバイス、セル電話機、他の有線コンピュータおよびワイヤレスコンピュータ、インターネットウェブサイトなどとワイヤレスで通信することが可能である。
【００３１】
本明細書で説明される技法は、符号分割多元接続(CDMA)システム、時分割多元接続(TDMA)システム、周波数分割多元接続(FDMA)システム、直交周波数分割多元接続(OFDMA)システム、シングルキャリアFDMA(SC-FDMA)システム、および他のシステムなどの様々なワイヤレス通信システムに関して使用され得る。「システム」という用語と「ネットワーク」という用語は、しばしば、互換的に使用される。CDMAシステムは、ユニバーサル地上無線アクセス(Universal Terrestrial Radio Access)(UTRA)、CDMA2000などの無線技術を実施することが可能である。UTRAは、広帯域CDMA(W-CDMA)および他の種類のCDMAを含む。CDMA2000は、暫定標準(IS)-2000標準、IS-95標準、およびIS-856標準を範囲に含む。TDMAシステムは、グローバルシステムフォーモバイルコミュニケーションズ(Global System for Mobile Communications)(GSM（登録商標）)などの無線技術を実施することが可能である。OFDMAシステムは、進化型ユニバーサル地上無線アクセス(Evolved UTRAまたはE-UTRA)、ウルトラモバイルブロードバンド(UMB)、米国電気電子学会(IEEE)802.11(Wi-Fi)、IEEE802.16(WiMAX)、IEEE802.20、フラッシュOFDM.RTMなどの無線技術を実施することが可能である。ユニバーサル地上無線アクセス(UTRA)およびE-UTRAは、ユニバーサルモバイルテレコミュニケーションシステム(Universal Mobile Telecommunication System)(UMTS)の一部である。3GPPロングタームエボリューション(Long Term Evolution)(LTE)が、ダウンリンクでOFDMAを使用し、アップリンクでSC-FDMAを使用する、E-UTRAを使用するUMTSの来たるべきリリースである。UTRA、E-UTRA、UMTS、LTE、およびGSM（登録商標）は、「第3世代パートナーシッププロジェクト」(3GPP)という名称の組織からの文書において説明される。CDMA2000およびUMBは、「第3世代パートナーシッププロジェクト2」(3GPP2)という名称の組織からの文書において説明される。
【００３２】
本明細書の教示は、様々な装置(たとえば、デバイス)に組み込まれる(たとえば、そのような装置内で実施される、またはそのような装置によって実行される)ことが可能である。たとえば、本明細書で教示される1つまたは複数の態様は、電話機(たとえば、セルラー電話機)、携帯情報端末(「PDA」)、タブレット、モバイルコンピュータ、ラップトップコンピュータ、タブレット、エンターテイメントデバイス(たとえば、音楽デバイスもしくはビデオデバイス)、ヘッドセット(たとえば、ヘッドホン、イヤホンなど)、医療デバイス(たとえば、バイオメトリックセンサ、心拍数モニタ、歩数計、EKGデバイスなど)、ユーザ入出力デバイス、コンピュータ、サーバ、販売時点(point-of-sale)デバイス、エンターテイメントデバイス、セットトップボックス、または他の任意の適切なデバイスに組み込まれることが可能である。これらのデバイスは、様々な電力要件およびデータ要件を有し得る。
【００３３】
一部の態様において、ワイヤレスデバイスが、通信システムのためのアクセスデバイス(たとえば、Wi-Fiアクセスポイント)を備えることが可能である。そのようなアクセスデバイスは、たとえば、有線リンクまたはワイヤレスリンク経由で別のネットワーク(たとえば、インターネットまたはセルラーネットワークなどのワイドエリアネットワーク)に対する接続をもたらすことが可能である。したがって、アクセスデバイスは、別のデバイス(たとえば、Wi-Fi局)が、他方のネットワークまたは他の何らかの機能にアクセスすることを可能にし得る。さらに、それらのデバイスの一方または両方が、ポータブルであることが可能であり、または、一部の事例において、比較的ポータブルでないことが可能であることを理解されたい。
【００３４】
情報および信号は、様々な異なる技術および技法のいずれを使用して表されてもよいことが当業者には理解されよう。たとえば、以上の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界もしくは磁性粒子、光場もしくは光学粒子、または以上の任意の組合せによって表され得る。
【００３５】
本明細書で開示される実施形態に関連して説明される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェアとして実装されても、コンピュータソフトウェアとして実装されても、電子ハードウェアとコンピュータソフトウェアの組合せとして実装されてもよいことが、当業者にはさらに認識されよう。ハードウェアとソフトウェアのこの互換性を明確に示すのに、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップは、前段において、一般に機能の点で説明されてきた。そのような機能が、ハードウェアとして実装されるか、ソフトウェアとして実装されるかは、全体的なシステムに課される特定の応用上および設計上の制約に依存する。当業者は、説明される機能を、それぞれの特定の応用のために様々な様態で実装することができるが、そのような実装上の決定は、本発明の範囲からの逸脱を生じさせるものと解釈されるべきではない。
【００３６】
本明細書で開示される実施形態に関連して説明される様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、ディスクリートのゲートもしくはトランジスタロジック、ディスクリートのハードウェア構成要素、または本明細書で説明される機能を実行するように設計された、以上の任意の組合せで実装される、または実行されることが可能である。汎用プロセッサは、マイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態マシンであってもよい。また、プロセッサは、コンピューティングデバイスの組合せとして、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、または他の任意のそのような構成として実装されることも可能である。
【００３７】
本明細書で開示される実施形態に関連して説明される方法またはアルゴリズムのステップは、ハードウェアとして直接に、プロセッサによって実行されるソフトウェアモジュールとして、またはその2つの組合せとして実現され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている他の任意の形態の記憶媒体の中に存在することが可能である。例示的な記憶媒体が、プロセッサが、その記憶媒体から情報を読み取ること、およびその記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体は、プロセッサと一体化していてもよい。プロセッサと記憶媒体は、ASICの中に存在することが可能である。このASICが、ユーザ端末装置の中に存在することが可能である。代替として、プロセッサと記憶媒体は、ユーザ端末装置の中にディスクリートの構成要素として存在してもよい。
【００３８】
1つまたは複数の例示的な実施形態において、説明される機能は、ハードウェアとして、ソフトウェアとして、ファームウェアとして、または以上の任意の組合せとして実施され得る。コンピュータプログラム製品としてのソフトウェアとして実施される場合、機能は、1つまたは複数の命令、またはコードとしてコンピュータ可読媒体上に記憶される、またはコンピュータ可読媒体を介して伝送されることが可能である。コンピュータ可読媒体には、1つの場所から別の場所にコンピュータプログラムを移すことを円滑にする任意の媒体を含め、コンピュータ記憶媒体と通信媒体がともに含まれる。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であることが可能である。例として、限定としてではなく、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形態で所望されるプログラムコードを担持する、もしくは記憶するのに使用されることが可能であり、コンピュータによってアクセスされることが可能である他の任意の媒体を備えることが可能である。また、任意の接続が、コンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他の遠隔ソースから伝送される場合、その同軸ケーブル、光ファイバケーブル、より対線、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術が、媒体の定義に含められる。本明細書で使用されるディスク(disk)およびディスク(disc)には、コンパクトディスク(disc) (CD)、レーザーディスク（登録商標）(disc)、光ディスク(disc)、デジタルバーサタイルディスク(disc)(DVD)、フロッピー（登録商標）ディスク(disk)、およびブルーレイディスク(disc)が含まれ、ただし、ディスク(disk)は、通常、データを磁気的に再現するのに対して、ディスク(disc)は、レーザを用いてデータを光学的に再現する。また、以上の媒体の組合せも、コンピュータ可読媒体の範囲に含められなければならない。
【００３９】
開示される実施形態の前の説明は、当業者が、本発明を作成すること、または使用することができるようにするように与えられる。これらの実施形態の様々な変形が、当業者には容易に明白となり、本明細書で定義される一般的な原理は、本発明の趣旨も範囲も逸脱することなく、他の実施形態に適用されることが可能である。このため、本発明は、本明細書で示される実施形態に限定されることを意図しているのではなく、本明細書で開示される原理および新奇な特徴と合致する最も広い範囲を与えられるべきである。
【符号の説明】
【００４０】
100  システム
101  コンピューティングデバイス
110  処理回路
112  記憶媒体
114  電源デバイス
116  ディスプレイデバイス
118  ユーザインターフェース
119  トランシーバ
131  ワイヤレスネットワーク
144  画像キャプチャデバイス
510  記憶媒体
512  データベース
520  処理回路
540  ネットワークインターフェース
【図１】
0006345191.tif 000002
【図２】
0006345191.tif 000003
【図３】
0006345191.tif 000004
【図４】
0006345191.tif 000005
【図５】
0006345191.tif 000006
【図６】
0006345191.tif 000007