(57)【要約】  視覚的クエリーに応答してテキスト用語を識別するための方法、システム、および、コンピュータ可読記録媒体が提供される。サーバシステムは、クライアントシステムから視覚的クエリーを受信する。視覚的クエリーは、次のように応答される。視覚的クエリーのための画像特徴値のセットが生成される。画像特徴値のセットは、複数のテキスト用語にマッピングされ、複数のテキスト用語内のテキスト用語のそれぞれのための重みを含む。テキスト用語は、テキスト用語の重みに従って、順位付けされる。次いで、テキスト用語の順位付けに従って、順位付けされたテキスト用語のうちの１又は複数が、クライアントシステムに送信される。
2015529908.tif 000002
【特許請求の範囲】
【請求項１】
視覚的クエリーに応答してテキスト用語を識別する方法であって、
１又は複数のプロセッサと、前記１又は複数のプロセッサによる実行のための１又は複数のプログラムを格納したメモリとを備えたサーバシステム上で、
クライアントシステムから視覚的クエリーを受信するステップと、
前記視覚的クエリーに、
前記視覚的クエリーの画像特徴値のセットを生成すること、
複数のテキスト用語に、前記複数のテキスト用語内の前記テキスト用語のそれぞれの重みを含む画像特徴値セットの前記セットをマッピングすること、
前記テキスト用語の前記重みに従って、前記テキスト用語を順位付けすること、および、
前記テキスト用語の前記順位付けに従って、前記クライアントシステムへ前記順位付けされたテキスト用語のうちの１又は複数を送信すること
によって応答するステップと
を含む、方法。
【請求項２】
前記マッピングすることは、画像関連性モデルのセットを利用し、各モデルはあらかじめ定義されたテキスト用語に対応する、請求項１に記載の方法。
【請求項３】
前記視覚的クエリーの画像特徴値の前記セットは、前記画像特徴値の画像特徴ベクトルを含み、かつ、
前記マッピングすることは、前記画像特徴ベクトルに画像関連性モデルの行列を乗算することを含み、前記行列の各行はあらかじめ定義されたテキスト用語に対応する、
請求項１又は２に記載の方法。
【請求項４】
画像特徴値の前記セットは、色ヒストグラム値、輝度値、エッジ統計値を含む、請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記視覚的クエリーに応答するステップは、さらに、
前記順位付けされたテキスト用語に関連付けられた１又は複数の画像を前記クライアントシステムに送信するステップ
を含む、請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記順位付けされたテキスト用語に関連付けられた前記１又は複数の画像は、前記視覚的クエリーのために識別された前記画像特徴値に類似の画像特徴値を有する、請求項５に記載の方法。
【請求項７】
前記順位付けされたテキスト用語のユーザによる用語の選択に応答して、前記選択された用語に関するテキストクエリーサーチを実行するステップをさらに含む、請求項６に記載の方法。
【請求項８】
前記視覚的クエリーの各サブ部分の１又は複数の視覚的識別子を含むインタラクティブ結果ドキュメントを前記クライアントシステムに送信するステップ
をさらに含み、かつ、少なくとも前記視覚的識別子のサブセット内の各視覚的識別子について、少なくとも１つのユーザにより選択可能なリンクが、前記順位付けされたテキスト用語のうちの各テキスト用語を含む、請求項１乃至７のいずれか１項に記載の方法。
【請求項９】
サーバシステムであって、
１又は複数のプロセッサと、
前記１又は複数のプロセッサによる実行のための１又は複数のプログラムを格納したメモリと、
前記１又は複数のプログラムであって、
クライアントシステムから視覚的クエリーを受信するステップと、
前記視覚的クエリーに、
前記視覚的クエリーの画像特徴値のセットを生成すること、
複数のテキスト用語に、前記複数のテキスト用語内の前記テキスト用語のそれぞれの重みを含む画像特徴値セットの前記セットをマッピングすること、
前記テキスト用語の前記重みに従って、前記テキスト用語を順位付けすること、および、
前記テキスト用語の前記順位付けに従って、前記クライアントシステムへ前記順位付けされたテキスト用語のうちの１又は複数を送信すること
によって応答するステップと
のための命令を含む、前記１又は複数のプログラムと
を含む、サーバシステム。
【請求項１０】
マッピングすることの命令は、画像関連性モデルのセットを利用することの命令を含み、各モデルはあらかじめ定義されたテキスト用語に対応する、請求項９に記載のサーバシステム。
【請求項１１】
前記視覚的クエリーの画像特徴値の前記セットは、前記画像特徴値の画像特徴ベクトルを含み、かつ、
前記マッピングすることの命令は、前記画像特徴ベクトルに画像関連性モデルの行列を乗算することの命令を含み、前記行列の各行はあらかじめ定義されたテキスト用語に対応する、
請求項９に記載のサーバシステム。
【請求項１２】
画像特徴値の前記セットは、色ヒストグラム値、輝度値、エッジ統計値を含む、請求項９乃至１１のいずれか１項に記載のサーバシステム。
【請求項１３】
前記視覚的クエリーに応答するステップは、さらに、
前記順位付けされたテキスト用語に関連付けられた１又は複数の画像を前記クライアントシステムに送信することの命令
を含む、請求項９乃至１２のいずれか１項に記載のサーバシステム。
【請求項１４】
前記順位付けされたテキスト用語に関連付けられた前記１又は複数の画像は、前記視覚的クエリーのために識別された前記画像特徴値に類似の画像特徴値を有する、請求項１３に記載のサーバシステム。
【請求項１５】
前記視覚的クエリーの各サブ部分の１又は複数の視覚的識別子を含むインタラクティブ結果ドキュメントを前記クライアントシステムに送信することの命令
をさらに含み、かつ、少なくとも前記視覚的識別子のサブセット内の各視覚的識別子について、少なくとも１つのユーザにより選択可能なリンクが、前記順位付けされたテキスト用語のうちの各テキスト用語を含む、請求項９乃至１４のいずれか１項に記載のサーバシステム。
【請求項１６】
コンピュータにより実行されるように構成された１又は複数のプログラムを格納した非一時的なコンピュータ可読記録媒体であって、
前記１又は複数のプログラムは、
クライアントシステムから視覚的クエリーを受信するステップと、
前記視覚的クエリーに、
前記視覚的クエリーの画像特徴値のセットを生成すること、
複数のテキスト用語に、前記複数のテキスト用語内の前記テキスト用語のそれぞれの重みを含む画像特徴値セットの前記セットをマッピングすること、
前記テキスト用語の前記重みに従って、前記テキスト用語を順位付けすること、および、
前記テキスト用語の前記順位付けに従って、前記クライアントシステムへ前記順位付けされたテキスト用語のうちの１又は複数を送信すること
によって応答するステップと
のための命令を含む、非一時的なコンピュータ可読記録媒体。
【請求項１７】
マッピングすることの命令は、画像関連性モデルのセットを利用することの命令を含み、各モデルはあらかじめ定義されたテキスト用語に対応する、請求項１６に記載の非一時的なコンピュータ可読記録媒体。
【請求項１８】
前記視覚的クエリーの画像特徴値の前記セットは、前記画像特徴値の画像特徴ベクトルを含み、かつ、
前記マッピングすることの命令は、前記画像特徴ベクトルに画像関連性モデルの行列を乗算することの命令を含み、前記行列の各行はあらかじめ定義されたテキスト用語に対応する、
請求項１６又は１７に記載の非一時的なコンピュータ可読記録媒体。
【請求項１９】
画像特徴値の前記セットは、色ヒストグラム値、輝度値、エッジ統計値を含む、請求項１６乃至１８のいずれか１項に記載の非一時的なコンピュータ可読記録媒体。
【請求項２０】
前記視覚的クエリーに応答するステップは、さらに、
前記順位付けされたテキスト用語に関連付けられた１又は複数の画像を前記クライアントシステムに送信することの命令
を含む、請求項１６乃至１９のいずれか１項に記載の非一時的なコンピュータ可読記録媒体。
【請求項２１】
前記順位付けされたテキスト用語に関連付けられた前記１又は複数の画像は、前記視覚的クエリーのために識別された前記画像特徴値に類似の画像特徴値を有する、請求項２０に記載の非一時的なコンピュータ可読記録媒体。
【請求項２２】
前記視覚的クエリーの各サブ部分の１又は複数の視覚的識別子を含むインタラクティブ結果ドキュメントを前記クライアントシステムに送信することの命令
をさらに含み、かつ、少なくとも前記視覚的識別子のサブセット内の各視覚的識別子について、少なくとも１つのユーザにより選択可能なリンクが、前記順位付けされたテキスト用語のうちの各テキスト用語を含む、請求項１６乃至２１のいずれか１項に記載の非一時的なコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
開示された態様は一般に画像処理の分野に関し、特に、視覚的クエリーに応答して１又は複数のテキスト用語(term)を決定することに関する。
【背景技術】
【０００２】
テキストベース又は用語ベースのサーチ(ユーザが、サーチエンジンに単語又はフレーズを入力し、かつさまざまな結果を受信する)は、サーチに有用なツールである。用語ベースのクエリーは、単語、フレーズ、および/又は、他の用語の形式で、サーチ用語を明確に提供することをユーザに要求する。時には、ユーザは、物理的な世界でオブジェクトを見て、オブジェクトに関連する情報を突き止めることを望み得る。しかし、サーチエンジンで用語ベースのクエリーに如何なる用語を使用するのかを知りえない。したがって、視覚的クエリー(たとえば、画像)を受信し、かつ、１又は複数の用語を決定するためにそれを使用することができるシステムが望まれている。
【発明の概要】
【課題を解決するための手段】
【０００３】
一部の態様によれば、１又は複数のプロセッサと、１又は複数のプロセッサによる実行のための１又は複数のプログラムを格納したメモリとを備えたサーバシステム上で、方法が実行される。その方法で、サーバシステムは、クライアントシステムから視覚的クエリーを受信する。サーバシステムは、視覚的クエリーの画像特徴値のセットを生成すること、画像特徴値のセット(複数のテキスト用語内のテキスト用語のそれぞれの重みを含む)を複数のテキスト用語にマッピングすること、テキスト用語の重みに従ってテキスト用語を順位付けすること、および、テキスト用語の順位付けに従って、クライアントシステムへ順位付けされたテキスト用語のうちの１又は複数を送信することによって、視覚的クエリーに応答する。
【０００４】
サーバシステムは、１又は複数のプロセッサと、１又は複数のプロセッサによる実行のための１又は複数のプログラムを格納したメモリとを含む。１又は複数のプログラムは、クライアントシステムから視覚的クエリーを受信することと、視覚的クエリーに、視覚的クエリーの画像特徴値のセットを生成すること、画像特徴値のセット(複数のテキスト用語内のテキスト用語のそれぞれの重みを含む)を複数のテキスト用語にマッピングすること、テキスト用語の重みに従ってテキスト用語を順位付けすること、および、テキスト用語の順位付けに従って、クライアントシステムへ順位付けされたテキスト用語のうちの１又は複数を送信することによって応答することとのための命令を含む。
【０００５】
非一時的なコンピュータ可読記録媒体は、コンピュータ(たとえば、プログラムを実行する１又は複数のプロセッサを含むサーバシステム)による実行用に構成された１又は複数のプログラムを格納する。１又は複数のプログラムは、クライアントシステムから視覚的クエリーを受信することと、視覚的クエリーに、視覚的クエリーの画像特徴値のセットを生成すること、画像特徴値のセット(複数のテキスト用語内のテキスト用語のそれぞれの重みを含む)を複数のテキスト用語にマッピングすること、テキスト用語の重みに従ってテキスト用語を順位付けすること、および、テキスト用語の順位付けに従って、クライアントシステムへ順位付けされたテキスト用語のうちの１又は複数を送信することによって応答することとのための命令を含む。
【図面の簡単な説明】
【０００６】
【図１】視覚的クエリーサーバシステムを含むコンピュータネットワークを図示したブロック図である。
【図２】一部の実施例によるクライアントシステムを図示したブロック図である。
【図３】一部の実施例によるフロントエンド視覚的クエリー処理サーバシステムを図示したブロック図である。
【図４】一部の実施例による視覚的クエリーを処理するのに利用される画像から用語へのサーチシステムを図示したブロック図である。
【図５】一部の実施例による画像特徴をテキスト用語にマッピングすることにより画像関連性モデルをトレーニングするプロセスを図示したフローチャートである。
【図６】一部の実施例による画像特徴をテキスト用語にマッピングすることにより画像関連性モデルをトレーニングする例のデータ構造を図示したブロック図である。
【図７】図７Aおよび図７Bは、一部の実施例による視覚的クエリーに応答して１又は複数のテキスト用語を決定するプロセスを図示したフローチャートである。
【図８】一部の実施例による例の視覚的クエリーのスクリーンショットを含むクライアントシステムである。
【図９】一部の実施例によるテキスト用語のリストと同時に表示されるインタラクティブ結果ドキュメントおよび視覚的クエリーのスクリーンショットである。
【図１０】一部の実施例による対応した画像と同時に表示されるテキスト用語のリストのスクリーンショットである。
【図１１】一部の実施例によるラベルを有するインタラクティブ結果ドキュメントのスクリーンショットを含むクライアントシステムである。
【発明を実施するための形態】
【０００７】
添付図面に図示された例は実施例を詳細に説明する。以下の詳細な説明において、多数の特定の詳細が実施例の完全な理解を提供するために述べられる。しかし、さまざまな実施例がこれらの特定の詳細なしに実施され得ることは当業者には明らかである。他の例において、周知の方法、手順、コンポーネント、回路、およびネットワークは、実施例の態様を不必要に曖昧にしないように、詳細に説明されていない。
【０００８】
また、用語(第１、第２など)はさまざまな要素を説明するために本明細書に使用され得るが、これらの要素は、これらの用語によって限定されるべきではないことが理解される。これらの用語は、ある要素を別の要素から区別するためだけに使用される。たとえば、「第１のコンタクト」のすべての出現が一貫して名称変更され、かつ、「第２のコンタクト」のすべての出現が一貫して名称変更される限りは、説明の意味を変えることなく、第１のコンタクトが第２のコンタクトと称され、同様に、第２のコンタクトが第１のコンタクトと称され得る。第１のコンタクトと第２のコンタクトとは両方ともコンタクトであるが、それらは同じコンタクトではない。
【０００９】
本明細書の実施例の説明で使用される用語は、特定の実施例を説明するためのものであり、特許請求の範囲を限定することを意図するものではない。実施例および添付の特許請求の範囲の記載において使用される場合、単数形「a」、「an」、および「the」は、文脈が明らかに別な方法を示さない限り、複数形も含むことを意図している。また、本明細書で使用される用語「および/又は」は、関連するリスト化されたアイテムのうちの１又は複数のいずれかおよびすべての可能な組合せを指し、かつ包含することが理解される。さらに、本明細書で使用される場合の「comprises」および/又は「comprising」という用語は、述べられた特徴、整数、ステップ、動作、要素、および/又は構成要素の存在を特定するが、１又は複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/又はそれらの群の存在又は付加を排除するものではないことが理解される。
【００１０】
本明細書で使用されるように、用語「場合(if)」は、文脈に応じて、「時(when)」又は「すると(upon)」又は「決定に応答して(in response to determining)」又は「検出に応答して(in response to detecting)」を意味すると解釈することができる。同様に、「決定された場合」又は「(述べられた条件又は事象が)検出された場合」という句は、文脈に応じて、「決定すると」又は「決定に応答して」又は「(述べられた条件又は事象を)検出すると」又は「(述べられた条件又は事象の)検出に応答して」を意味すると解釈することができる。
【００１１】
図１は、一部の実施例による視覚的クエリーサーバシステムを含むコンピュータネットワークを図示したブロック図である。コンピュータネットワーク100は、１又は複数のクライアントシステム102と視覚的クエリーサーバシステム106とを含む。１又は複数の通信ネットワーク104が、これらのコンポーネントを相互接続する。通信ネットワーク104は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、無線ネットワーク、有線ネットワーク、インターネット、又は、そのようなネットワークの組み合わせを含む多様なネットワークのいずれかであり得る。
【００１２】
クライアントシステム102は、視覚的クエリー(たとえば、図８の視覚的クエリー802)を受信するために、クライアントシステムによって実行されるクライアントアプリケーション108を含む。視覚的クエリーは、サーチエンジン又はサーチシステムへクエリーとして提出されている画像である。視覚的クエリーの例は、写真、スキャンしたドキュメントおよび画像、および図面を含んでいるが、これに限定されない。一部の実施例では、クライアントアプリケーション108は、サーチアプリケーション、ブラウザアプリケーションのためのサーチエンジンプラグイン、および、ブラウザアプリケーションのためのサーチエンジンエクステンションを含むセットから選択される。一部の実施例では、クライアントアプリケーション108は、ユーザが視覚的クエリーとして使用されるサーチボックスにどんなフォーマットの画像でも、ドラッグアンドドロップすることができる「雑食性(omnivorous)」サーチボックスである。
【００１３】
クライアントシステム102は、視覚的クエリーサーバシステム106へクエリーを送信し、かつ、視覚的クエリーサーバシステム106からデータを受信する。クライアントシステム102は、視覚的クエリーサーバシステム106と通信することができるコンピュータ又は他のデバイスであり得る。実施例は、デスクトップおよびノートブック型コンピュータ、メインフレームコンピュータ、サーバコンピュータ、モバイルデバイス(たとえば、携帯電話およびパーソナルデジタルアシスタント)、ネットワーク端末、およびセットトップボックスを含んでいるが、これに限定されない。
【００１４】
視覚的クエリーサーバシステム106は、フロントエンド視覚的クエリー処理サーバ110を含む。フロントエンドサーバ110は、クライアント102から視覚的クエリーを受信し、かつ、同時処理のために、複数の並列サーチシステム112へ視覚的クエリーを送信する。サーチシステム112は、それぞれ個別の視覚的クエリーサーチ処理を実現し、かつ、その個別のサーチ処理による視覚的クエリーを処理するために、必要に応じて、それらに対応するデータベース114にアクセスする。たとえば、顔認識サーチシステム112-Aは、顔画像データベース114-Aにアクセスして、画像クエリーに対する顔のマッチ(facial match)を探す。視覚的クエリーが顔を含む場合、顔認識サーチシステム112-Aは、顔画像データベース114-Aから１又は複数のサーチ結果(たとえば、名前、マッチングした顔など)をリターンする。別の例では、光学式文字認識(OCR)サーチシステム112-Bが、１又は複数のサーチ結果としてのリターンのために、視覚的クエリー内の認識可能なテキストをテキストに変換する。光学式文字認識(OCR)サーチシステム112-Bでは、OCRデータベース114-Bは、特定のフォント又はテキストパターンを認識するためにアクセスされ得る。
【００１５】
どんな数の並列サーチシステム112を使用してもよい。一部の実施例は、顔認識サーチシステム112-A、OCRサーチシステム112-B、画像から用語への(image-to-term)サーチシステム112-C(オブジェクト又はオブジェクトカテゴリを認識してもよい)、製品認識サーチシステム(ブックカバーやCDなどの2D画像を認識するように構成してもよく、かつ、家具のような3D画像を認識するように構成してもよい)、バーコード認識サーチシステム(1Dおよび2Dスタイルのバーコードを認識する)、名称付きエンティティ認識サーチシステム、ランドマーク認識(エッフェル塔のような特定の有名なランドマークを認識するように構成してもよく、かつ、ビルボードのような指定の画像のコーパスを認識するように構成してもよい)、クライアントシステム102又は携帯電話ネットワークにおけるGPS受信機によって提供される地理位置情報により支援された場所認識、色認識サーチシステム、および、類似の画像サーチシステム(視覚的クエリーに類似する画像をサーチおよび特定する)を含む。さらなるサーチシステムを、システム112-Nにより図1に示される追加の並列サーチシステムとして加えることができる。サーチシステムのすべて(OCRサーチシステムを除く)は、集合的に、画像マッチ処理を実行するサーチシステムとして本明細書に定義される。OCRサーチシステムを含むサーチシステムのすべてを総称して、画像によるクエリーのサーチシステム(query-by-image search system)と称す。一部の実施例では、視覚的クエリーサーバシステム106は、顔認識サーチシステム112-A、OCRサーチシステム112-B、画像から用語へのサーチシステム114-C、および、少なくとも１つの他の画像によるクエリーのサーチシステム112を含む。
【００１６】
並列サーチシステム112は、それぞれ個別に、視覚的サーチクエリーを処理し、かつ、フロントエンドサーバシステム110にその結果をリターンする。一部の実施例では、フロントエンドサーバ100は、サーチ結果に関する１又は複数の分析を実行してもよい(図３を関連してより詳細に説明されるように、たとえば、複合ドキュメントに結果を集約すること、表示する結果のサブセットを選択すること、および、結果を順位付けすることのうちの１又は複数)。フロントエンドサーバ110は、クライアントシステム102へサーチ結果を通信する。
【００１７】
クライアントシステム102は、ユーザに１又は複数のサーチ結果を提示する。結果は、オーディオスピーカ、又はユーザに情報を通信するために使用される他の手段により、ディスプレイ上に提示され得る。ユーザは、さまざまな方法で、サーチ結果と相互作用してもよい。一部の実施例では、ユーザの選択、注釈、および、サーチ結果との他の相互作用が、視覚的クエリーサーバシステム106に送信され、かつ、クエリーおよび注釈データベース116に視覚的クエリーとともに記録される。クエリーおよび注釈データベース内の情報を使用して、視覚的クエリーの結果を改善することができる。一部の実施例では、クエリーおよび注釈データベース116からの情報は、定期的に、並列サーチシステム112にプッシュされる(それぞれの個々のデータベース114へ情報の関連部分を組み込む)。
【００１８】
コンピュータネットワーク100は、選択的に、用語クエリーに応答してサーチを実行するための用語クエリーサーバシステム118を含んでいる。用語クエリーは、画像が含まれている視覚的クエリーとは対照的に、１又は複数の用語を含むクエリーである。用語クエリーサーバシステム118を使用して、視覚的クエリーサーバシステム106のさまざまなサーチエンジンにより生成された情報を補うサーチ結果を生成してもよい。用語クエリーサーバシステム118からリターンされた結果は、どんなフォーマットを含んでもよい。用語クエリーサーバシステム118は、テキストドキュメント、画像、ビデオなどを含んでもよい。用語クエリーサーバシステム118は、図１に別個のシステムとして示されているが、選択的に、視覚的クエリーサーバシステム106は、用語クエリーサーバシステム118を含んでもよい。
【００１９】
視覚的クエリーサーバシステム106の動作についての追加情報が、図５および図７のフローチャートに関連して以下に提供される。
【００２０】
図２は、一部の実施例によるクライアントシステム102を図示したブロック図である。一般に、クライアントシステム102は、１又は複数の処理ユニット(CPU)202と、１又は複数のネットワーク又は他の通信インターフェース204と、メモリ212と、これらのコンポーネントを相互接続する１又は複数の通信バス214とを含む。通信バス214は、選択的に、システムコンポーネント間の通信を相互接続および制御する回路(チップセットと称されるときもある)を含む。クライアントシステム102は、ユーザインターフェース205を含む。ユーザインターフェース205は、ディスプレイデバイス206を含み、かつ、選択的に、入力手段(たとえば、キーボード、マウス、又は他の入力ボタン208)を含む。代わりに、又は、加えて、ディスプレイデバイス206は、タッチセンシティブ面(touch sensitive surface)209を含み、その場合、ディスプレイ206/209は、タッチセンシティブディスプレイである。タッチセンシティブディスプレイ206/209を含むクライアントシステムで、物理キーボードはオプションである(たとえば、ソフトキーボードを、キーボードエントリが必要とされるときに表示してもよい)。さらに、一部のクライアントシステムは、マイクおよび音声認識を使用して、キーボードを補うか、又は、キーボードを置き換える。選択的に、クライアント102は、GPS(全地球測位システム)受信機(又は、クライアントシステム102の位置を決定する他の位置検出装置207)を含む。一部の実施例では、視覚的クエリーサーチサービスが設けられて、クライアントシステム102に要求して、視覚的クエリーサーバシステムを提供し、クライアントシステム102の位置を示す位置情報を受信する。
【００２１】
また、クライアントシステム102は、カメラ又はスキャナなどの画像取得デバイス210を含む。メモリ212は、DRAM、SRAM、DDR RAM又は他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリを含み、かつ、１又は複数の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリデバイス、又は他の不揮発性固体記憶装置などの不揮発性メモリを含んでもよい。メモリ212は、選択的に、CPU(複数可)202から遠隔に配置された１又は複数の記憶装置を含んでもよい。メモリ212(又は代わりに、メモリ212内の不揮発性メモリデバイス(複数可))は、非一時的なコンピュータ可読記録媒体を含む。一部の実施例では、メモリ212又はメモリ212のコンピュータ可読記録媒体は、以下のプログラム、モジュールおよびデータ構造、又はそのサブセットを格納する。
さまざまな基本システムサービスを扱うための、かつ、ハードウェア依存タスクを実行するための手順を含むオペレーティングシステム216
１又は複数の通信ネットワークインターフェース204(有線又は無線)および１又は複数の通信ネットワーク(たとえば、インターネット、他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなど)を介して、他のコンピュータへクライアントシステム102を接続するのに使用されるネットワーク通信モジュール218
画像取得デバイス/カメラ210により取得された各画像を処理する画像取得モジュール220。各画像は視覚的クエリーサーバシステムへ視覚的クエリーとして送信され得る(たとえば、クライアントアプリケーションモジュールによって)。
視覚的クエリーサーバシステムへ視覚的クエリーを提出する画像によるクエリー(query-by-image)の提出モジュール224と、選択的に、画像内の関心領域の選択(たとえば、タッチセンシティブディスプレイ206/209でのジェスチャ)を検出し、かつ、その関心領域を視覚的クエリーとして準備する関心領域選択モジュール225と、視覚的クエリーの結果を表示する結果ブラウザ226と、選択的に、書式に記入するような構造化注釈テキストエントリ230、又は、多様なフォーマットの注釈を許可することができる自由形式注釈テキストエントリ232、および、ユーザが注釈のための画像の特定のサブ部分を選択できるようにする画像領域選択モジュール234(結果選択モジュールと本明細書で称されるときもある)のためのオプションのモジュールを有する注釈モジュール228とを含んでいるが、これに限定されない画像によりクエリーを行うことのさまざまな態様を扱う１又は複数のクライアントアプリケーションモジュール222
画像取得デバイス210を介して画像を取得するだけというよりはむしろ、ユーザが画像を生成又は編集することによって視覚的クエリーを生み出すことができる選択的なコンテンツオーサリングアプリケーション(複数可)236。選択的に、そのようなアプリケーション236のうちの１つは、ユーザが、視覚的クエリーとして使用するために画像のサブ部分を選択することができる命令を含んでもよい。
視覚的クエリーサーバシステムに視覚的クエリーを送信する前に、視覚的クエリーを前処理するオプションのローカル画像分析モジュール238。ローカル画像分析は、画像の特定のタイプ(又は、画像内のサブ領域)を認識してもよい。そのようなモジュール238によって認識され得る画像タイプの例は、顔タイプ(視覚的クエリー内で認識された顔画像)、バーコードタイプ(視覚的クエリー内で認識されたバーコード)、および、テキストタイプ(視覚的クエリー内で認識されたテキスト)のうちの１又は複数を含む。
追加のオプションのクライアントアプリケーション240(たとえば、電子メールアプリケーション、電話アプリケーション、ブラウザアプリケーション、マッピングアプリケーション、インスタントメッセージングアプリケーション、ソーシャルネットワーキングアプリケーションなど)。一部の実施例では、アクショナブルサーチ結果(actionable search result)が選択されたとき、適切なアクショナブルサーチ結果に対応するアプリケーションを起動することができ、又は、それにアクセスすることができる。
【００２２】
選択的に、(ユーザは注釈のために画像の特定のサブ部分を選択することができる)画像領域選択モジュール234も、ユーザは、必ずしもさらにそれに注釈を付けることなく、「正しい」ヒットとして、サーチ結果を選択することができる。たとえば、ユーザは、上位N個の数の顔認識のマッチを提示され、かつ、その結果リストから正しい人物を選択してもよい。一部のサーチクエリーについて、１つより多くの結果のタイプが提示され、かつ、ユーザは、結果のタイプを選択する。たとえば、画像クエリーは、樹木の隣に立っている人を含んでもよいが、人に関する結果のみがユーザに関心がある。したがって、画像選択モジュール234によって、ユーザは、どの画像のタイプが「正しい」タイプ(すなわち、ユーザが受信するのに興味を持っているタイプ)であるかを示すことができる。また、ユーザは、(フォームに入力するための)注釈テキストエントリモジュール230又は自由形式の注釈テキストエントリモジュール232のいずれかを使用して、個人のコメント又は記述の単語を追加することにより、サーチ結果に注釈を付けることを望み得る。
【００２３】
一部の実施例では、オプションのローカル画像分析モジュール238は、クライアントアプリケーションの一部である(108、図１)。さらに、一部の実施例において、オプションのローカル画像分析モジュール238は、視覚的クエリー又はその一部を前処理するか、又は分類するためにローカル画像分析を実行するための１又は複数のプログラムを含む。たとえば、クライアントアプリケーション222は、サーチエンジンに視覚的クエリーを提出する前に、画像がバーコード、顔、又はテキストを含むことを認識してもよい。一部の実施例では、ローカル画像分析モジュール238が、視覚的なクエリーが画像の特定のタイプを含むことを検出したときに、モジュールは、ユーザに、サーチ結果の対応するタイプに興味があるか否かを尋ねる。たとえば、ローカル画像分析モジュール238は、(すなわち、人物の顔を判断することなく)その一般的な特性に基づいて顔を検出してもよく、かつ、視覚的クエリーサーバシステムにクエリーを送信する前に、ユーザに即座にフィードバックを提供する。それは「顔が検出されました。あなたは、この顔のために顔認識マッチを行うことに興味を持っていますか？」のような結果をリターンしてもよい。これは視覚的クエリーサーバシステムのために時間節約し得る(106、図1)。一部の視覚的クエリーについて、フロントエンド視覚的クエリー処理サーバ(110、図１)は、単に、ローカル画像分析モジュール238によって認識された画像のタイプに対応するサーチシステム112へ視覚的クエリーを送信する。他の実施例では、サーチシステム112への視覚的クエリーは、すべてのサーチシステム112A〜Nへ視覚的クエリーを送信するが、ローカル画像分析モジュール238によって認識された画像のタイプに対応するサーチシステム112からの結果に順位を付ける。一部の実施例では、ローカル画像分析が視覚的クエリーサーバシステムの動作に影響する方法は、クライアントシステムの構成、又は、ユーザ又はクライアントシステムのいずれかに関連付けられた構成又は処理パラメータに依存する。さらに、特定の視覚的クエリーおよびローカル画像分析により生成された結果の実際の内容は、異なる視覚的クエリーが、クライアントシステムおよび視覚的クエリーサーバシステムのうちのいずれか又は両方で、異なって扱われるようにし
てもよい。
【００２４】
一部の実施例では、バーコード認識は２つのステップで実行される(視覚的クエリーが、ローカル画像分析モジュール238においてクライアントシステム上で実行されるバーコードを含むか否かの分析を含む)。次いで、視覚的クエリーがバーコードを含む可能性が高いとクライアントが決定した場合のみ、視覚的クエリーはバーコードサーチシステムへ渡される。他の実施例では、バーコードサーチシステムは、すべての視覚的クエリーを処理する。
【００２５】
図３は、一部の実施例によるフロントエンド視覚的クエリー処理サーバシステム110を図示したブロック図である。一般に、フロントエンドサーバ110は、1又は複数の処理ユニット(CPU)302と、1又は複数のネットワーク又は他の通信インターフェース304と、メモリ312と、これらのコンポーネントを相互接続する1又は複数の通信バス314とを含む。選択的に、通信バス314は、システムコンポーネント間の通信を相互接続および制御する回路(チップセットと称されることがある)を含む。メモリ312は、DRAM、SRAM、DDR RAM又は他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリを含み、かつ、１又は複数の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリデバイス、又は他の不揮発性固体記憶装置などの不揮発性メモリを含んでもよい。選択的に、メモリ312は、CPU(複数可)302から遠隔に配置された１又は複数の記憶装置を含んでもよい。メモリ312(又は代わりに、メモリ312内の不揮発性メモリデバイス(複数可))は、非一時的なコンピュータ可読記録媒体を含む。一部の実施例では、メモリ312又はメモリ312のコンピュータ可読記録媒体は、次のプログラム、モジュールおよびデータ構造、又は、そのサブセットを格納する。
さまざまな基本システムサービスを扱うための、かつ、ハードウェア依存タスクを実行するための手順を含むオペレーティングシステム316
１又は複数の通信ネットワークインターフェース304(有線又は無線)および１又は複数の通信ネットワーク(たとえば、インターネット、他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなど)を介して、他のコンピュータへフロントエンドサーバシステム110を接続するのに使用されるネットワーク通信モジュール318
クライアントシステム102からの入力視覚的クエリーを扱い、かつ、２つ以上の並列サーチシステムへそれらを送信するためのクエリーマネージャ320。本明細書の他の箇所に記載されたように、一部の特別な状況では(たとえば、視覚的クエリーがクライアントにより生成された命令を含むとき(たとえば、「顔認識サーチのみ」))、視覚的クエリーは、サーチシステムのうちのただ１つに向けられる。
１又は複数の並列サーチシステムからの結果を選択的にフィルタリングし、かつ、表示のため、クライアントシステム102へ上位又は「関連」結果を送信するための結果フィルタリングモジュール322
１又は複数の並列サーチシステムからの結果を選択的に順位付けし、かつ、表示のため、結果をフォーマットするための結果順位付けおよびフォーマットモジュール324
適切な場合に使用され、インタラクティブサーチ結果ドキュメントを生成するための結果ドキュメント生成モジュール326。モジュール326は、境界ボックス生成モジュール328およびリンク生成モジュール330を含んでいるが、これに限定されないサブモジュールを含んでもよい。
視覚的クエリーの各サブ部分の視覚的識別子であるラベルを生成するためのラベル生成モジュール331
ユーザから注釈を受信し、かつ、それらを注釈データベース116へ送信するための注釈モジュール332
視覚的クエリーに応答して、クライアントサイドアクションを起動するようにそれぞれ構成された１又は複数のアクショナブルサーチ結果要素を生成するためのアクショナブルサーチ結果モジュール338。アクショナブルサーチ結果要素の例は、電話の呼び出しを開始し、電子メールメッセージを開始し、住所をマッピングし、レストランを予約し、かつ、製品を購入するための選択肢を提供するボタンである。
データベースそれ自体334およびデータベースへのインデックス336を含むクエリーおよび注釈データベース116
【００２６】
結果順位付けおよびフォーマットモジュール324は、１又は複数の並列サーチシステム(図１の112-A〜112-N)からリターンされた結果に順位を付ける。すでに述べたとおり、一部の視覚的クエリーについて、１つのサーチシステムからの結果のみが関連してもよい。そのような例では、その１つのサーチシステムからの関連サーチ結果のみが順位付けされる。一部の視覚的クエリーについて、サーチ結果のいくつかのタイプが関連してもよい。これら例では、一部の実施例では、結果順位付けおよびフォーマットモジュール324は、関連のより少ないサーチシステムに対する結果より上に、最も関連のある結果(たとえば、最も高い関連スコアを有する結果)を有するサーチシステムからの結果のすべてに順位を付ける。他の実施例では、結果順位付けおよびフォーマットモジュール324は、残りの結果より上に、各関連サーチシステムからの上位結果を順位付ける。一部の実施例では、結果順位付けおよびフォーマットモジュール324は、サーチ結果のそれぞれに対して演算される関連スコアに従って、結果に順位を付ける。一部の視覚的クエリーについて、並列視覚的サーチシステムでのサーチに加えて、拡張テキストクエリーが実行される。一部の実施例では、テキストクエリーも実行されるとき、それらの結果が、視覚的サーチシステム結果とは視覚的に区別された方法で提示される。
【００２７】
また、結果順位付けおよびフォーマットモジュール324は、結果をフォーマットする。一部の実施例では、結果はリストフォーマットで提示される。一部の実施例では、結果はインタラクティブ結果ドキュメントによって提示される。一部の実施例では、インタラクティブ結果ドキュメントおよび結果のリストの両方が提示される。一部の実施例では、クエリーのタイプは、結果が提示される方法に影響する。たとえば、１つより多くのサーチ可能なテーマが視覚的クエリー内で検出された場合、インタラクティブ結果ドキュメントが生成され、一方で、単に１つのサーチ可能なテーマが検出された場合、結果はリストフォーマットのみで表示される。
【００２８】
ラベル生成モジュールを使用して、視覚的クエリー内の１又は複数の画像に対するラベルを生成する。一部の実施例では、１又は複数のテキスト用語が視覚的クエリー内の１又は複数の画像に対応すると判断されるとき、ラベル生成モジュール331は、用語を使用して、視覚的クエリー内の画像(複数可)にラベルを付ける。一部の実施例では、ユーザがラベルをクリックしたとき、用語ベースのクエリーがその用語のために起動される。他の実施例では、ラベルは、ラベルを付けられた用語に関連付けられた用語ベースのクエリーに対する結果へのリンクである。これらの実施例では、ラベルは、以下に説明されるインタラクティブ結果ドキュメントの一部である。
【００２９】
結果ドキュメント生成モジュール326を使用して、インタラクティブサーチ結果ドキュメント(その例は図11に示されている)を生成する。インタラクティブサーチ結果ドキュメントは、１又は複数の検出およびサーチされたテーマを有してもよい。境界ボックス生成モジュール328は、サーチされるテーマのうちの１又は複数の周りに境界ボックスを生成する。境界ボックスは、矩形のボックスであってもよく、又は、テーマ(複数可)の形(複数可)の輪郭を描いてもよい。リンク生成モジュール330は、インタラクティブサーチ結果ドキュメント内の各テーマに関連付けられたサーチ結果へのリンクを生成する。一部の実施例では、サーチされるテーマは、視覚的クエリー内の画像に対応する１又は複数のテキスト用語に関連付けられている。一部の実施例では、境界ボックス領域内をクリックすることが、リンク生成モジュールによって挿入された対応するリンクをアクティブにする。
【００３０】
クエリーおよび注釈データベース116は、視覚的クエリー結果を改善するのに使用することができる情報を含む。一部の実施例では、視覚的クエリー結果が提示された後に、ユーザが画像に注釈を付けてもよい。さらに、一部の実施例では、画像を視覚的クエリーサーチシステムへ送信する前に、ユーザは画像に注釈を付けてもよい。事前の注釈は、結果に集中することによって視覚的クエリー処理を助け得る(又は、視覚的クエリーサーチと並列に注釈の付いた単語に対して、テキストベースのサーチを実行する)。一部の実施例では、潜在的な画像マッチヒットとしてリターンされるように、写真の注釈の付いたバージョンを公表することができる(たとえば、ユーザが、たとえば、画像および注釈(複数可)を公開であると指定することによって、公開に対する許可を与えているとき)。たとえば、ユーザが、花の写真を撮り、かつ、その花について詳細な属および種情報を与えることによって、画像に注釈を付ける場合、ユーザは、その花を探す視覚的クエリーサーチを実行する誰に対しても、その画像が提示されることを所望し得る。一部の実施例では、クエリーおよび注釈データベース116からの情報は、並列サーチシステムへ定期的にプッシュされ、(存在すれば)情報の関連部分をそのそれぞれの個別データベース114に組み込む。
【００３１】
図４は、一部の実施例による視覚的クエリーを処理するのに利用される画像から用語へ(image-to-term)のサーチシステム112-Cを図示したブロック図である。一部の実施例では、画像から用語へのサーチシステムは、視覚的クエリー内のオブジェクトを認識する(インスタンス認識)。他の実施例では、画像から用語へのサーチシステムは、視覚的クエリー内のオブジェクトカテゴリを認識する(タイプ認識)。一部の実施例では、画像から用語へのシステムは、オブジェクトおよびオブジェクトカテゴリの両方を認識する。画像から用語へのサーチシステムは、視覚的クエリー内の画像について、潜在的な用語マッチをリターンする。一般に、画像から用語へのサーチシステム112-Cは、１又は複数の処理ユニット(CPU)402と、１又は複数のネットワーク又は他の通信インターフェース404と、メモリ412と、これらのコンポーネントを相互接続する１又は複数の通信バス414とを含む。選択的に、通信バス414は、システムコンポーネント間の通信を相互接続および制御する回路(チップセットと称されることがある)を含む。メモリ412は、DRAM、SRAM、DDR RAM又は他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリを含み、かつ、１又は複数の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリデバイス、又は他の不揮発性固体記憶装置などの不揮発性メモリを含んでもよい。選択的に、メモリ412は、CPU(複数可)402から遠隔に配置された１又は複数の記憶装置を含んでもよい。メモリ412(又は代わりに、メモリ412内の不揮発性メモリデバイス(複数可))は、非一時的なコンピュータ可読記録媒体を含む。一部の実施例では、メモリ412又はメモリ412のコンピュータ可読記録媒体は、次のプログラム、モジュールおよびデータ構造、又は、そのサブセットを格納する。
さまざまな基本システムサービスを扱うための、かつ、ハードウェア依存タスクを実行するための手順を含むオペレーティングシステム416
１又は複数の通信ネットワークインターフェース404(有線又は無線)および１又は複数の通信ネットワーク(たとえば、インターネット、他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなど)を介して、他のコンピュータへ画像から用語へのサーチシステム112-Cを接続するのに使用されるネットワーク通信モジュール418
視覚的クエリーおよび他の画像から画像特徴値を抽出する画像特徴識別子419
画像関連性モデルデータベース442からの画像関連性モデルを使用して、１又は複数の用語へ視覚的クエリーからの画像特徴値をマッピングする画像から用語へのサーチアプリケーション420
テキストクエリーのために画像関連性モデルを格納する画像関連性モデルデータベース422(視覚的クエリーに関連する用語を見つけ出すために、画像から用語へのサーチアプリケーション420によってサーチされる)
画像から用語へのサーチアプリケーション420で識別された視覚的クエリーに関連する用語の順位を付ける結果順位付けおよびフォーマットモジュール424
テキストベースのクエリーサーチエンジン406からのテキストクエリーに応答して画像をサーチし、かつ、そのようなサーチを記録するオプションの用語から画像へのサーチアプリケーション425
注釈データベース(図１の116)から注釈情報を受信し、注釈情報のいずれかが画像から用語へのサーチシステム112-Cに関連するか否かを判断し、かつ、判断された注釈情報の関連部分を各注釈データベース428に格納する注釈モジュール426
【００３２】
図２〜４は、本明細書に記載の実施例の構造概略としてよりも、コンピュータシステムのセットに存在するさまざまな特徴の機能説明となることをより意図している。実際に、かつ当業者によって認識されるように、別々に示されるアイテムを組み合わせることができ、かつ、一部のアイテムを分離することができる。たとえば、これらの図に別々に示された一部のアイテムは、単一のサーバ上で実現することができ、かつ、単一のアイテムは、１又は複数のサーバによって実現することができる。視覚的クエリー処理を実現するのに使用されるシステムの実際の数、および、特徴がそれらの間でどのように割り当てられるかは、実施例それぞれに異なる。
【００３３】
一般に、本明細書に記載の方法のそれぞれは、非一時的なコンピュータ可読記録媒体に記憶され、１又は複数のサーバ又はクライアントの１又は複数のプロセッサによって実行される命令によって決定される。上記の識別されたモジュール又はプログラム(すなわち、命令セット)は、個別のソフトウェアプログラム、手順又はモジュールとして実現される必要はなく、したがって、これらのモジュールのさまざまなサブセットが組み合わされ、そうでなければ、様々な実施例において、再配置される。図５〜10に示す各動作は、コンピュータメモリ又は非一時的なコンピュータ可読記録媒体に格納された命令に対応してもよい。
【００３４】
図５は、一部の実施例による画像特徴をテキスト用語にマッピングすることにより画像関連性モデルをトレーニングするプロセスを図示したフローチャートである。図５に示された動作のそれぞれは、コンピュータメモリ又はコンピュータ可読記録媒体に格納された命令に対応してもよい。
【００３５】
ログ又は画像結果のテキストクエリーの記録が、アクセスされる(502)。画像から用語へのサーバ112-Cが、画像のテキストサーチのログにアクセスする(たとえば、用語から画像へのサーチアプリケーション425により生成されたログ)。ログは、画像サーチに使用されるクエリー用語に関する情報を含む(および、各クエリー用語について、サーチ結果からユーザにより選択された画像)。
【００３６】
ログ内の上位N個のクエリー用語が識別される(504)。動作502でアクセスされるログにドキュメント化されたように、画像クエリーで使用されるN個のユニークなクエリー用語(又は、N個の画像クエリー)が、識別される(Nは整数である)。一般に、Nは100より大きい。一部の実施例では、Nは5,000から30,000の範囲の整数である。一部の実施例では、N個のクエリー用語は、ログにドキュメント化されたように、ログ内の出現数に基づき識別され、識別されるN個のクエリー用語は、定義された期間の範囲(たとえば、３カ月)にわたり画像クエリーに最も頻繁に現れる用語である。
【００３７】
上位N個のクエリー用語の各クエリー用語について、代表的な画像が識別される(506)。一部の実施例では、それぞれのクエリー用語のための代表的な画像は、クエリーとしてそれぞれのクエリー用語を使用した画像のためのテキストサーチのサーチ結果において、あらかじめ定義された数の上位画像(たとえば、クエリーへの関連性に基づいた最も高く順位付けされた画像)である。たとえば、それぞれのクエリー用語を使用した画像のサーチが、用語から画像サーチへのアプリケーション425で実行され、かつ、サーチ結果の上位部分が識別される。一部の他の実施例では、動作502でアクセスされたログにドキュメント化されているように、代表的な画像は、それぞれのクエリー用語を使用した画像サーチのためのサーチ結果から、最も頻繁に、ユーザによって選択された画像である。
【００３８】
それぞれの代表画像について、関連した画像特徴値が抽出される(508)。たとえば、画像特徴識別子419は、各代表画像の画像特徴値を抽出してもよい。一部の実施例では、画像特徴値は、画像の一部の視覚特性である。画像特徴値の例には、色ヒストグラム値、輝度値、エッジ統計値、テクスチャ値などを含む。画像特徴値を抽出することに関するさらなる詳細は、2009年7月17日に出願され、発明の名称を「Image Relevance Model」とする米国特許出願番号＿に開示されており(代理人整理番号16113-1606001)、その全体が参照により本明細書に組み込まれる。
【００３９】
機械学習が、上位N個のクエリー用語のそれぞれの画像関連性モデルを生成するために適用される(510)。一部の実施例では、画像関連性モデルは、クエリー用語への対応する画像特徴の相対的な重要性を表す重みのベクトルである(512)。それぞれのクエリー用語について、機械学習は、それぞれのクエリー用語のための画像関連性モデルをトレーニング(および生成)するために、それぞれのクエリー用語のための代表画像の抽出された画像特徴値に適用される。一部の実施例では、画像関連性モデルは、画像検索のためのパッシブアグレッシブモデル(PAMIR)として実現され、その例は、「A Discriminative Kernel-Based Model to Rank Images from Text Queries」(D. GrangierおよびS. Bengio, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 30 (2008), pp. 1371-1384)に開示され、背景情報として、その全体が参照により本明細書に組み込まれる。画像関連性モデルをトレーニングおよび生成することに関するさらなる詳細は、2009年7月17日に出願され、発明の名称を「Image Relevance Model」とする米国特許出願番号＿に開示されており(代理人整理番号16113-1606001)、上記の参照により組み込まれている。
【００４０】
上位N個のクエリー用語のための画像関連性モデルが組み合わせられて、N個の(クエリー用語、スコア)ペアに、視覚的クエリーの画像特徴ベクトルをマッピングするための行列を生成する(514)。それぞれのクエリー用語の各画像関連性モデルベクトルが、N個の(クエリー用語、スコア)ペアに視覚的クエリーの画像特徴ベクトルをマッピングするためのN行の行列の行になる。
【００４１】
図６は、一部の実施例による画像特徴をテキスト用語にマッピングすることにより画像関連性モデルをトレーニングする例のデータ構造を図示したブロック図である。クエリー用語から画像結果選択のログ601は、(クエリー用語X 602について)クエリー用語Xのためのユーザにより選択された画像サーチ結果の１又は複数のレコード604を含む。レコード604は、画像の識別子および位置(たとえば、それぞれに、ファイル名および画像のユニバーサルリソースロケータ)と、選択の日付に関するデータとを含む。レコード604から、代表画像の数が、クエリー用語X 602のために識別される。
【００４２】
代表画像について(たとえば、画像1 606)、画像特徴値608が抽出又は識別され、かつ、画像特徴を表すベクトル605が生成される。
【００４３】
クエリー用語X 602について、画像特徴重み612を含む画像関連性モデルベクトル610が生成および初期化される。画像関連性モデルベクトル610は、クエリー用語X 602のための代表画像の画像特徴ベクトル605を使用して、トレーニングされる。
【００４４】
異なるクエリー用語のためのトレーニングされた画像関連性モデルベクトル610は、画像関連性モデル614の行列に組み合わせられる。後述するように、行列614を使用して、視覚的クエリーに応答して１又は複数のテキスト用語を識別する。
【００４５】
図７は、一部の実施例による視覚的クエリーに応答して１又は複数のテキスト用語を決定するプロセス700を図示したフローチャートである。一般に、図７に示す各動作は、コンピュータメモリ又は非一時的なコンピュータ可読記録媒体に格納された命令に対応している。
【００４６】
視覚的クエリーサーバシステムが、クライアントシステムから視覚的クエリーを受信する(702)。たとえば、クライアントシステムは、デスクトップコンピューティングデバイス、モバイルデバイス、又は図１を参照して説明された他の類似の装置であってもよい。例のクライアントシステム上の例の視覚的クエリーが、図８に示される。
【００４７】
視覚的クエリーは、適切なフォーマットの画像ドキュメントである。たとえば、視覚的クエリーは、写真、スクリーンショット、スキャンした画像、又はビデオの複数のフレームのうちのフレーム又はシーケンスであり得る。一部の実施例では、視覚的クエリーは、コンテンツオーサリングプログラム(図２の236)によって生成される図である。このように、一部の実施例では、ユーザは視覚的クエリーを「描く」が、他の実施例では、ユーザは視覚的クエリーをスキャン又は撮影する。一部の視覚的クエリーは、画像生成アプリケーション(たとえば、ADOBE ACROBAT、写真編集プログラム、描画プログラム、又は画像編集プログラム)を使用して作成される。たとえば、視覚的クエリーは、ユーザの携帯電話でユーザの友人の写真を撮影し、次いで、サーバシステムへの視覚的クエリーとして写真を提出するユーザから来る可能性がある。また、視覚的クエリーは、雑誌のページをスキャンするか、又は、デスクトップコンピュータ上のウェブページのスクリーンショットを取得し、次いで、サーバシステムへの視覚的クエリーとして、スキャン又はスクリーンショットを提出するユーザから来る可能性がある。一部の実施例では、視覚的クエリーは、ブラウザアプリケーションのサーチエンジンエクステンションを通じて(ブラウザアプリケーションのためのプラグインを通じて)、又は、クライアントシステム102により実行されるサーチアプリケーションによって、サーバシステム106へ提出される。また、視覚的クエリーは、クライアントシステムによって遠隔に配置されたサーバへ送信される画像をサポート又は生成する(クライアントシステムにより実行される)他のアプリケーションプログラムによって提出される。
【００４８】
視覚的クエリーは、テキスト要素と非テキスト要素との組み合わせであり得る。たとえば、クエリーは、画像およびテキストを含む雑誌のページのスキャンであり得る(たとえば、道路標識の隣に立っている人)。視覚的クエリーは、人の顔の画像を含むことができる(クライアントシステムに埋め込まれたカメラで撮影されたか、又は、クライアントシステムによりスキャンされたか、又は、他の方法で受信されたドキュメントであろうとなかろうと)。また、視覚的クエリーは、テキストのみを含むドキュメントのスキャンであり得る。また、視覚的クエリーは、多数の個別の被写体の画像であり得る(たとえば、森の中の数羽の鳥、人とオブジェクト(たとえば、自動車、公園のベンチなど)、人と動物(たとえば、ペット、家畜、蝶、など))。視覚的クエリーは、２つ以上の個別の要素を有することができる。たとえば、視覚的クエリーは、バーコードと、製品パッケージ上の製品又は製品名の画像とを含むことができる。たとえば、視覚的クエリーは、本のタイトル、カバーアート、およびバーコードを含むブックカバーの写真であり得る。以下でより詳細に説明するように一部の例では、１つの視覚的クエリーは、視覚的クエリーの異なる部分に対応する２つ以上の個別のサーチ結果を生成する。
【００４９】
視覚的クエリーサーバシステムは、視覚的クエリーのための画像特徴値のセットを生成することによって、視覚的クエリーに応答する(704)。視覚的クエリーサーバシステムは、視覚的クエリー内の画像特徴のセットを識別し、かつ、視覚的クエリー内の画像特徴のための値のセットを生成する。各画像特徴値は、視覚的クエリーの個別の画像特性を表す。画像特徴値の生成の例は、2009年7月17日に出願され、発明の名称を「Image Relevance Model」とする米国特許出願番号＿に開示されており(代理人整理番号16113-1606001)、上記の参照により組み込まれている。一部の実施例では、画像特徴値のセットは、色ヒストグラム値、輝度値、エッジ統計値を含む(706)。画像特徴値の他の例は、テクスチャおよび画像の一部の他の特性を含む。一部の実施例では、画像特徴値のセットは、より多くの特徴値を含むか、又は、上述よりもより少ない特徴値を含む。
【００５０】
視覚的クエリーサーバシステムは、複数のテキスト用語へ画像特徴値のセットをマッピングする(複数のテキストの用語内のテキスト用語のそれぞれのための重みを含む)(708)。一部の実施例では、複数のテキスト用語は、図５を参照して上述した上位N個のクエリー用語又は上位N個の画像クエリーである。各テキスト用語は、フレーズ、複数の単語、又は単一の単語である。マッピングは、視覚的クエリーに対する複数のテキストの用語のそれぞれのための重み又はスコアを与える。重み又はスコアは、それぞれのテキスト用語への視覚的クエリーの関連性尺度である。
【００５１】
一部の実施例では、マッピングは、画像関連性モデルのセットを利用し、各モデルは、あらかじめ定義されたテキスト用語に対応する(710)。テキスト用語のための画像関連性モデルは、画像がテキスト用語に関連するか否かを決定する際に使用される対応する画像特徴の相対的な重要性を表す重みのベクトルである。一部の実施例では、あらかじめ定義されたテキスト用語は、上位N個のクエリー用語であり、かつ、画像関連性モデルのセット内の各モデルは、それぞれの上位N個のクエリー用語に対応している。
【００５２】
一部の実施例では、視覚的クエリーの画像特徴値のセットは、画像特徴値の画像特徴ベクトルを含み、かつ、マッピングは、画像特徴ベクトルに画像関連性モデルの行列を乗算することを含み、行列の各行は、あらかじめ定義されたテキスト用語に対応する(712)。別の書き方をすれば、画像特徴値のセットは、値のベクトルによって表現され、かつ、画像特徴値ベクトルは、画像関連性モデルの行列と乗算され、行列の各行は、クエリー用語に対応する画像関連性モデルベクトルであり、その例は、図５，６を参照して上述されている。得られた積は、視覚的クエリーに対する複数のテキスト用語のそれぞれのための重み又はスコアのセットである。
【００５３】
視覚的クエリーサーバシステムは、テキスト用語の重みに従って、テキスト用語を順位付けする(714)。たとえば、テキスト用語は、その重みによって順序付けされる。
【００５４】
視覚的クエリーサーバシステムは、テキスト用語を順位付けすることに従って、クライアントシステムに順位付けされたテキスト用語のうちの１又は複数を送信する(716)。一部の実施例では、視覚的クエリーに対して最も高く重み付け又はスコア付けされるテキスト用語が、上述のマッピングから計算された重み又はスコアに従って、ユーザに表示するためにクライアントシステムに送信される(この例は後述される)。
【００５５】
一部の実施例では、視覚的クエリーサーバシステムは、クライアントシステムに送信される順位付けされたテキスト用語に関連付けられた１又は複数の画像を、クライアントシステムに送信する(718)。別の書き方をすれば、視覚的クエリーサーバシステムは、順位付けされた用語とともに、クライアントシステムに順位付けされた用語に関連付けられた画像を送信する。一部の実施例では、クライアントシステムで、テキスト用語が、視覚的クエリーサーバシステムから受信した関連画像をともなって表示される。クライアントシステムにおける結果となる表示の例を図10を参照して以下に説明する。
【００５６】
一部のケースでは、順位付けされたテキスト用語に関連付けられた画像のうちの１又は複数は、視覚的クエリーのために識別された画像特徴値に類似する画像特徴値を有する(720)。たとえば、順位付けされたテキスト用語に関連付けられた画像が、順位付けされたテキスト用語を使用した画像サーチから識別される(たとえば、用語から画像へのサーチアプリケーション425を使用して)。順位付けされたテキスト用語に関連付けられたベスト画像のセットが、それらの画像特徴値と視覚的クエリーの画像特徴値と間の類似度の測定基準に従って、視覚的クエリーサーバシステムによって選択される。そのような類似度の測定基準の一例は、候補画像の画像特徴値と視覚的クエリーの画像特徴値とのドット積である。各上位順位のテキスト用語について、最も高い類似度の測定基準(たとえば、ドット積)を有する１又は複数の画像が選択される。
【００５７】
一部の実施例では、順位付けされたテキスト用語のユーザによる用語の選択に応答して、選択された用語に関するテキストクエリーサーチが実行される(722)。たとえば、ユーザは、表示された順位付けされたテキスト用語うちの１つをクリックしてもよく、かつ、それに応答して、クエリー用語として選択されたテキスト用語を使用したテキストサーチが(たとえば、用語クエリーサーバシステム118によって)実行される。リターンされたサーチ結果は、テキスト用語クエリーを満たす(たとえば、マッチ、又は最大マッチする)ウェブページ、動画、ニュース記事等を含んでもよい。
【００５８】
一部の実施例では、視覚的クエリーサーバシステムは、視覚的クエリーのそれぞれのサブ部分の１又は複数の識別子を含み、また、少なくとも視覚的識別子のサブセット内の各視覚的識別子について、順位付けされたテキスト用語のうちの各テキスト用語を含む少なくとも１つのユーザが選択可能なリンクを含むインタラクティブ結果ドキュメントを、クライアントシステムへ送信する(724)。たとえば、視覚的クエリーサーバシステムは、クライアントに、視覚的クエリー画像上にオーバーラップされた特定のサブ領域の視覚的識別子を有する視覚的クエリー画像を送信する。一部の実装形態では、視覚的識別子のうちの１又は複数は、対応するテキスト用語として表示されるユーザが選択可能なリンクである。ユーザにより選択可能なリンクがユーザによって選択されると、クエリー用語として、選択されたテキスト用語を使用したテキストサーチが、応答して実行される。視覚的クエリーの各サブ部分の視覚的識別子を有するインタラクティブ結果ドキュメントの例は、図11を参照して以下に説明する。
【００５９】
図８は、一部の実施例による例の視覚的クエリー802のスクリーンショットを含むクライアントシステム102を示す。図８に示されているクライアントシステム102は、携帯電話、携帯音楽プレーヤ、又は携帯用の電子メールデバイス等のモバイルデバイスである。クライアントシステム102は、ディスプレイ206と、１又は複数の入力手段208(例えば、図に示されているボタン)とを含む。一部の実施例では、ディスプレイ206は、タッチセンシティブディスプレイ209である。タッチセンシティブディスプレイ209を有する実施例では、ディスプレイ209に表示されるソフトボタンが、選択的に、電気機械的なボタン208の一部又は全部と置換され得る。また、タッチセンシティブディスプレイは、以下に詳細に説明される視覚的クエリーの結果との相互作用に役立つ。また、クライアントシステム102は、カメラ210などの画像取得機構を含む。
【００６０】
図８は、店の棚上のパッケージの写真又はビデオフレームである視覚的クエリー802を図示している。ここで説明する実施例では、視覚的クエリーは、２次元のそれぞれのピクセルにおける視覚的クエリーのサイズに対応する解像度を有する２次元画像である。この例では、視覚的クエリー802は、３次元物体の２次元画像である。視覚的クエリー802は、背景要素、製品パッケージ804、および人物806の画像、商標808の画像、製品810の画像、多様なテキスト要素812を含むパッケージ上のエンティティの様々なタイプを含む。
【００６１】
図７を参照して説明したように、視覚的クエリー802が、フロントエンドサーバ110に送信される(複数の並列サーチシステム(112A-N)へ視覚的クエリー802を送信し、結果を受信し、かつ、インタラクティブ結果ドキュメントを作成する)。
【００６２】
図９は、一部の実施例によるテキスト用語のリストと同時に表示されたインタラクティブ結果ドキュメントおよび視覚的クエリーのスクリーンショットを図示している。図９のスクリーンショットは、視覚的クエリー結果リスト902と同時に表示されたインタラクティブ結果ドキュメント900および元の視覚的クエリー802を示す。一部の実施例では、インタラクティブ結果ドキュメント900は、それ自体で表示される。一部の他の実施例では、図９に示すように、インタラクティブ結果ドキュメント900は、元の視覚的クエリーと同時に表示される。一部の実施例では、視覚的クエリー結果のリスト902は、元の視覚的クエリー802および/又はインタラクティブ結果ドキュメント900を伴って同時に表示される。クライアントシステムのタイプおよびディスプレイ206上の余地の量が、結果902のリストが、インタラクティブ結果ドキュメント900と同時に表示されるか否かを決定してもよい。一部の実施例では、クライアントシステム102は、(視覚的クエリーサーバシステムに提出された視覚的クエリーに応答して)結果のリスト902およびインタラクティブ結果ドキュメント900の両方を受信するが、ユーザがインタラクティブ結果ドキュメント900を下にスクロールすると、結果のリスト902のみを表示する。
【００６３】
図９では、結果のリスト902は、テキスト用語のリスト903を含む。テキスト用語のリスト903は、１又は複数のテキスト用語結果905を含む。テキスト用語905は、図７Aおよび７Bを参照して上述したプロセスに従って、視覚的クエリー802のために識別された用語である。ユーザによるテキスト用語905の選択(例えば、用語をクリックすることによる)が、クエリーとして選択したテキスト用語905を使用したテキストサーチをアクティブにする。
【００６４】
一部の実施例では、結果のリスト902も、視覚的クエリーに応答して見つけられた他のサーチ結果を含む。視覚的クエリーに応答して表示されたサーチ結果の例は、2010年8月6日に出願され、発明の名称を「Identifying Matching Canonical Documents in Response to a Visual Query」とする米国特許出願番号12/852,189に開示されており、その全体は参照により組み込まれる。
【００６５】
一部の実施例では、テキスト用語リスト903内のテキスト用語905のうちの１又は複数が、図10に示すように、１又は複数の添付画像を含んで表示される。一部の実装では、画像1002は、クエリーとしてテキスト用語を使用した画像サーチに基づく、テキスト用語905に対応する最も関連性のある画像である。画像1002は、視覚的クエリー802の全体、又は、視覚的クエリー802のサブ部分に関連付けられた画像である。テキスト用語905および添付画像1002のペアリングが、テキスト用語905が視覚的クエリー802および視覚的クエリー802のサブ部分にどのように関係しているかについて、ユーザにさらなるコンテキストを提供する。
【００６６】
図11は、一部の実施例による、図８の視覚的クエリー802のそれぞれのサブ部分の視覚的識別子であるラベル1102を有するインタラクティブ結果ドキュメント1100のスクリーンショットを含むクライアントデバイス102を示す。ラベル視覚的識別子1102は、サブ部分に関連付けられたテキスト用語をそれぞれに含む。また、ラベル視覚的識別子1102は、クエリーとしてテキスト用語を使用したテキストサーチ結果へのユーザが選択可能なリンク(アンカーテキストとしてテキスト用語を含む)を含む。
【００６７】
図11で、ラベル1102は、インタラクティブ結果ドキュメントのそれぞれのサブ部分の上に配置されているテキストを有する部分的に透明な領域として表示される。一部の他の実施例では、各ラベルが、インタラクティブ結果ドキュメントのそれぞれのサブ部分の近くに配置されるが、上に配置されない。一部の実施例では、ユーザは、ラベル1102の縁部又は周縁によって輪郭を描かれた空間内のアクティブ化領域をタップすることによって、ラベル1102に対応するテキストサーチ結果の表示をアクティブにする。
【００６８】
上記の説明は、説明の目的のために、特定の実施例を参照して説明されてきた。しかし、上記の例示的な議論は、網羅的であること又は開示された正確な形態に本発明を限定することを意図したものではない。多くの改良例および変形例が上記の教示を考慮して可能となる。実施例は、本発明の原理およびその実際の応用例をもっともよく説明するために選択されて説明され、それによって、検討される特定の使用に適したものとしてさまざまな変形例を有する本発明およびさまざまな実施例をもっともよく利用することが当業者に可能である。
【符号の説明】
【００６９】
102  クライアント
108  クライアントアプリケーション
104  通信ネットワーク(複数可)
118  用語クエリーサーバシステム
106  視覚的クエリーサーバシステム
110  フロントエンド視覚的クエリー処理サーバ
116  クエリーおよび注釈データベース
112-A  顔認識サーチシステム
112-B  OCRサーチシステム
112-C  画像から用語へのサーチシステム
112-N  他のサーチシステム
114-A  顔画像データベース
114-B  OCRデータベース
114-C  画像サーチデータベース
114-N  他のデータベース
【図１】
2015529908.tif 000003
【図２】
2015529908.tif 000004
【図３】
2015529908.tif 000005
【図４】
2015529908.tif 000006
【図５】
2015529908.tif 000007
【図６】
2015529908.tif 000008
【図７Ａ】
2015529908.tif 000009
【図７Ｂ】
2015529908.tif 000010
【図８】
2015529908.tif 000011
【図９】
2015529908.tif 000012
【図１０】
2015529908.tif 000013
【図１１】
2015529908.tif 000014
【国際調査報告】
2015529908.tif 000015
2015529908.tif 000016
2015529908.tif 000017