(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022103227
(43)【公開日】2022-07-07
(54)【発明の名称】テキストドメイン画像検索
(51)【国際特許分類】
G06T 1/00 20060101AFI20220630BHJP
G06F 16/532 20190101ALI20220630BHJP
G06F 16/56 20190101ALI20220630BHJP
G06F 16/583 20190101ALI20220630BHJP
【FI】
G06T1/00 200E
G06F16/532
G06F16/56
G06F16/583
【審査請求】有
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2022074290
(22)【出願日】2022-04-28
(62)【分割の表示】P 2019198231の分割
【原出願日】2019-10-31
(31)【優先権主張番号】16/208,077
(32)【優先日】2018-12-03
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】516172237
【氏名又は名称】アクセンチュア グローバル ソリューションズ リミテッド
(74)【代理人】
【識別番号】100102406
【弁理士】
【氏名又は名称】黒田 健二
(74)【代理人】
【識別番号】100100240
【弁理士】
【氏名又は名称】松本 孝
(72)【発明者】
【氏名】ペンタ,アントニオ
(72)【発明者】
【氏名】ザマン,エムディー ファイザル
(57)【要約】
【課題】画像データを含む画像クエリを受信し、画像データに基づいて画像記述子を決定することができる画像検索システムを提供する。
【解決手段】画像データに基づいて1つまたは複数の画像記述子を決定する。決定は、画像データの複数の特徴メトリックを導出することと、記述子リポジトリ内の記述子マッピングテーブルから、画像記述子の各々を、画像記述子の特徴メトリックと画像データの特徴メトリックとの比較に基づいて選択することを含む。記述子マッピングテーブルに基づいて、決定された画像記述子の各々にマッピングされた1つまたは複数のテキスト記述子を取得し、テキスト記述子に基づいた検索パラメータを含む文書クエリを生成する。文書クエリに基づいて文書データベース内でテキスト文書を識別する。テキスト文書は、文書識別子に関連付けられる。ファイルマッピングリポジトリから、文書識別子に関連付けられた画像識別子を取得する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
メモリおよびプロセッサ
を備える画像検索システムであって、前記メモリは、
複数の記述子マッピングを含む記述子リポジトリであって、前記複数の記述子マッピングは、画像記述子テーブル内で画像記述子を識別するための画像記述子IDと、テキスト記述子テーブル内でテキスト記述子を識別するためのテキスト記述子IDとの間のそれぞれの関連付けを含み、前記画像記述子テーブルは前記画像記述子ごとの画像の特徴と特徴メトリックを含み、前記テキスト記述子テーブルは前記テキスト記述子ごとのテキストの文字、単語、文、意味および/または言語を記述する特徴を含む、記述子リポジトリと、
ファイルマッピングを含むファイルマッピングリポジトリであって、前記ファイルマッピングのそれぞれは、対応する画像と、対応するテキスト文書との関連付けを含む、ファイルマッピングリポジトリと、
を含み、前記プロセッサは、
画像クエリを受信し、前記画像クエリは画像データを含み、
前記画像データに基づいて1つまたは複数の画像記述子を決定し、該決定は、
前記画像データの複数の特徴メトリックを導出することと、
画像記述子を識別するための画像記述子IDとテキスト記述子を識別するためのテキスト記述子IDとの間の多対多のマッピングを記憶する前記記述子リポジトリ内の記述子マッピングテーブルから、前記1つまたは複数の画像記述子の各々を、該画像記述子の特徴メトリックと前記画像データの特徴メトリックとの比較に基づいて選択することを含み、
前記記述子リポジトリ内の前記記述子マッピングテーブルに基づいて、前記決定された1つまたは複数の画像記述子の各々にマッピングされた1つまたは複数のテキスト記述子を取得し、
検索パラメータを含む文書クエリを生成し、前記検索パラメータは前記1つまたは複数のテキスト記述子に基づいており、
文書データベース内で、前記文書クエリに基づいてテキスト文書を識別し、前記テキスト文書は文書識別子に関連付けられ、
前記ファイルマッピングリポジトリ内の前記ファイルマッピングに基づいて、前記文書識別子に関連付けられた画像識別子を取得し、
前記画像識別子に基づいて画像クエリ結果を決定し、
前記画像クエリ結果をリモートデバイスに通信し、前記画像クエリ結果は前記画像識別子に対応する画像を示す、
ように構成される、画像検索システム。
【請求項2】
前記画像クエリ結果は前記画像識別子に対応する画像を含む、請求項1に記載の画像検索システム。
【請求項3】
前記プロセッサは、
前記画像をランキング順に優先順位付けし、
前記画像クエリ結果を生成し、前記画像クエリ結果は前記ランキング順に優先順位付けされた前記画像を示す、
ようにさらに構成される、請求項1に記載の画像検索システム。
【請求項4】
前記プロセッサは、前記記述子リポジトリに記憶された前記記述子マッピングを生成するようにさらに構成され、前記記述子マッピングを生成するために、前記プロセッサは、
訓練画像データおよび訓練テキストデータを受信し、
前記訓練画像データに基づいて前記画像記述子を決定し、
前記訓練テキストデータに基づいて前記テキスト記述子を決定し、
機械学習モデルに基づいて、前記テキスト記述子を前記画像記述子にマッピングする
ようにさらに構成される、請求項1に記載の画像検索システム。
【請求項5】
前記プロセッサは、
前記文書データベースのための前記テキスト文書を生成するようにさらに構成され、前記テキスト文書を生成するために、前記プロセッサは、
画像リポジトリからソース画像を取得し、
ソース画像の特徴に基づいて、前記記述子マッピングに含まれる以前に決定された画像記述子を選択し、
前記記述子リポジトリから、前記以前に決定された画像記述子に関連付けられた、以前に決定されたテキスト記述子を取得し、
前記テキスト記述子を新たなテキスト文書にまとめ、
前記新たなテキスト文書を前記文書データベースに記憶する
ようにさらに構成される、請求項1に記載の画像検索システム。
【請求項6】
前記プロセッサは、前記ファイルマッピングリポジトリに記憶された前記ファイルマッピングを生成するようにさらに構成され、前記ファイルマッピングを生成するために、前記プロセッサは、
ファイルマッピングを生成し、前記ファイルマッピングは前記ソース画像の識別子と、前記新たなテキスト文書の識別子とを含み、
前記ファイルマッピングを前記ファイルマッピングリポジトリに記憶する
ようにさらに構成される、請求項5に記載の画像検索システム。
【請求項7】
前記画像識別子を取得するために、前記プロセッサは、
前記文書識別子に基づいて、前記ファイルマッピングリポジトリから前記ファイルマッピングを選択し、
前記ファイルマッピングから前記画像識別子を抽出する
ようにさらに構成される、請求項1に記載の画像検索システム。
【請求項8】
前記ファイルマッピングリポジトリから、前記文書識別子に関連付けられた画像識別子を取得するために、前記プロセッサは、
前記ファイルマッピングリポジトリ内で、前記文書識別子のうちの少なくとも1つと、前記画像識別子のうちの少なくとも1つとを含むファイルマッピングを識別し、
前記ファイルマッピングから前記画像識別子のうちの前記少なくとも1つを抽出する
ようにさらに構成される、請求項1に記載の画像検索システム。
【請求項9】
前記記述子リポジトリ内の前記画像記述子に関連付けられた前記テキスト記述子を取得するために、前記プロセッサは、
前記記述子リポジトリ内で、前記画像記述子に関連付けられた記述子マッピングを識別し、
前記記述子マッピングから、前記テキスト記述子の識別子を抽出し、
前記テキスト記述子の前記識別子に基づいて、前記記述子リポジトリから前記テキスト記述子を受信する
ようにさらに構成される、請求項1に記載の画像検索システム。
【請求項10】
リモートデバイスによって生成された画像クエリを受信することであって、前記画像クエリは画像データを含む、受信することと、
前記画像データに基づいて1つまたは複数の画像記述子を決定することであって、該決定することは、
前記画像データの複数の特徴メトリックを導出することと、
画像記述子を識別するための画像記述子IDとテキスト記述子を識別するためのテキスト記述子IDとの間の多対多のマッピングを記憶する記述子リポジトリ内の記述子マッピングテーブルから、前記1つまたは複数の画像記述子の各々を、該画像記述子の特徴メトリックと前記画像データの特徴メトリックとの比較に基づいて選択することを含み、
前記記述子リポジトリは複数の記述子マッピングを含み、前記複数の記述子マッピングは、画像記述子テーブル内で画像記述子を識別するための画像記述子IDと、テキスト記述子テーブル内でテキスト記述子を識別するためのテキスト記述子IDとの間のそれぞれの関連付けを含み、前記画像記述子テーブルは前記画像記述子ごとの画像の特徴と特徴メトリックを含み、前記テキスト記述子テーブルは前記テキスト記述子ごとのテキストの文字、単語、文、意味および/または言語を記述する特徴を含む、決定することと、
前記記述子リポジトリ内の前記記述子マッピングテーブルに基づいて、前記決定された1つまたは複数の画像記述子の各々にマッピングされた1つまたは複数のテキスト記述子を取得することと、
検索パラメータを含む文書クエリを生成することであって、前記検索パラメータは前記1つまたは複数のテキスト記述子を含む、生成することと、
文書データベース内で、前記文書クエリに基づいてテキスト文書の文書識別子を識別することと、
ファイルマッピングリポジトリ内で、前記文書識別子にマッピングされた画像識別子を識別することと、
画像クエリ結果を前記リモートデバイスに通信することであって、前記画像クエリ結果は前記画像識別子に対応する画像を示す、通信することと、
を含む、方法。
【請求項11】
前記画像クエリ結果は、前記リモートデバイスに、画像リポジトリから、前記画像識別子に対応する前記画像のうちの少なくとも1つにアクセスさせる命令を含む、請求項10に記載の方法。
【請求項12】
前記画像をランキング順に優先順位付けすることと、
前記画像クエリ結果を生成することであって、前記画像クエリ結果は前記ランキング順に優先順位付けされた前記画像を示す、生成することと、
をさらに含む、請求項10に記載の方法。
【請求項13】
訓練画像データおよび訓練テキストデータを受信することと、
前記訓練画像データに基づいて前記画像記述子を決定することと、
前記訓練テキストデータに基づいて前記テキスト記述子を決定することと、
機械学習モデルに基づいて、前記画像記述子と前記テキスト記述子との間の記述子マッピングを生成することと、
前記記述子マッピングを前記記述子リポジトリに記憶することと、
をさらに含む、請求項10に記載の方法。
【請求項14】
画像リポジトリからソース画像を取得することと、
ソース画像の特徴に基づいて、前記記述子リポジトリに含まれる以前に決定された画像記述子を選択することと、
前記記述子リポジトリから、前記以前に決定された画像記述子に関連付けられた、以前に決定されたテキスト記述子を取得することと、
前記テキスト記述子を新たなテキスト文書にまとめることと、
前記新たなテキスト文書を前記文書データベースに記憶することと、
をさらに含む、請求項10に記載の方法。
【請求項15】
前記ソース画像の識別子と、前記新たなテキスト文書の識別子とを含むファイルマッピングを生成することと、
前記ファイルマッピングを前記ファイルマッピングリポジトリに記憶することと、
をさらに含む、請求項14に記載の方法。
【請求項16】
記述子リポジトリのための記述子マッピングを生成することであって、
訓練画像データおよび訓練テキストデータを受信し、
前記訓練画像データに基づいて1つまたは複数の画像記述子を決定し、および前記訓練テキストデータに基づいて1つまたは複数のテキスト記述子を決定し、該1つまたは複数の画像記述子の決定は、
前記画像データの複数の特徴メトリックを導出することと、
画像記述子を識別するための画像記述子IDとテキスト記述子を識別するためのテキスト記述子IDとの間の多対多のマッピングを記憶する記述子リポジトリ内の記述子マッピングテーブルから、前記1つまたは複数の画像記述子の各々を、該画像記述子の特徴メトリックと前記画像データの特徴メトリックとの比較に基づいて選択することであって、
前記記述子リポジトリは複数の記述子マッピングを含み、前記複数の記述子マッピングは、画像記述子テーブル内で画像記述子を識別するための画像記述子IDと、テキスト記述子テーブル内でテキスト記述子を識別するためのテキスト記述子IDとの間のそれぞれの関連付けを含み、前記画像記述子テーブルは前記画像記述子ごとの画像の特徴と特徴メトリックを含み、前記テキスト記述子テーブルは前記テキスト記述子ごとのテキストの文字、単語、文、意味および/または言語を記述する特徴を含む、選択することを含み、
前記決定された画像記述子を識別するための画像記述子IDと、前記決定されたテキスト記述子を識別するためのテキスト記述子IDとの関連付けを含む記述子マッピングを生成し、
前記生成した記述子マッピングを前記記述子リポジトリ内の前記記述子マッピングテーブルに記憶する
ことによって行われる、生成することと、
文書データベースのためのテキスト文書を生成することであって、
前記画像記述子がソース画像を記述していると判定し、
前記記述子マッピングに基づいて、前記画像記述子に関連付けられた前記テキスト記述子を取り出し、
前記テキスト記述子を新たなテキスト文書にまとめ、
前記新たなテキスト文書を前記文書データベースに記憶する
ことによって行われる、生成することと、
ファイルマッピングをファイルマッピングリポジトリに記憶することであって、前記ファイルマッピングは、前記ソース画像の識別子と、前記新たなテキスト文書の識別子とを含む、記憶することと、
検索画像データを含む画像クエリに応答することであって、
前記検索画像データの特徴と、前記画像記述子の特徴との比較に基づいて、前記画像記述子を選択し、
前記記述子マッピング内の前記画像記述子に関連付けられた前記テキスト記述子を含む文書クエリを生成し、
前記文書クエリに基づいて、前記文書データベースに記憶された前記新たなテキスト文書の文書識別子を受信し、
前記ファイルマッピングリポジトリ内の前記文書識別子に関連付けられた画像識別子を取得し、
画像クエリ結果をリモートデバイスに通信し、前記画像クエリ結果は前記画像識別子に対応する画像を示す、
ことによって行われる、応答することと、
を含む、方法。
【請求項17】
前記ソース画像は画像リポジトリから取得され、前記画像リポジトリは複数の画像を含み、前記画像のそれぞれは、前記ファイルマッピングリポジトリに記憶された複数のファイルマッピングに基づいて対応するテキスト文書にマッピングされる、請求項16に記載の方法。
【請求項18】
前記画像リポジトリから、前記画像識別子に対応する前記画像を取得することと、
前記画像クエリ結果を生成することであって、前記画像クエリ結果は、前記画像、前記画像の識別子、前記画像を取得する命令、またはこれらの任意の組み合わせを含む、生成することと、
をさらに含む、請求項17に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は画像処理に関し、より詳細には画像検索およびコンピュータビジョンに関する。
【背景技術】
【0002】
画像検索は、検索条件に基づいて画像を識別することを含む。一部の画像検索の手法では、画像は記述的なメタデータによって注釈付けされる。検索条件に含まれるキーワードに基づいてメタデータを検索することによって、画像を識別することができる。内容ベースの画像検索の手法では、入力画像は1つまたは複数の大規模なデータベースに記憶された過去の画像データと比較され得る。画像結果は、画素比較、特徴比較、および/または他のコンピュータビジョン技法によって形成され得る。
【発明の概要】
【課題を解決するための手段】
【0003】
一部の可能な実装形態によれば、画像検索システムは、メモリおよびプロセッサを含み得る。メモリは、複数の記述子マッピングを含む記述子リポジトリであって、記述子マッピングは、画像記述子とテキスト記述子との間のそれぞれの関連付けを含む、記述子リポジトリと、ファイルマッピングを含むファイルマッピングリポジトリであって、ファイルマッピングのそれぞれは、対応する画像と、対応するテキスト文書との関連付けを含む、ファイルマッピングリポジトリと、を含み得る。プロセッサは、画像クエリを受信し、画像クエリは画像データを含み、画像データに基づいて画像記述子を決定し、記述子リポジトリ内の記述子マッピングに基づいて、画像記述子に関連付けられたテキスト記述子を取得し、検索パラメータを含む文書クエリを生成し、検索パラメータはテキスト記述子に基づき、文書データベース内で、文書クエリに基づいてテキスト文書を識別し、テキスト文書は文書識別子に関連付けられ、ファイルマッピングリポジトリ内のファイルマッピングに基づいて、文書識別子に関連付けられた画像識別子を取得し、画像識別子に基づいて画像クエリ結果を決定し、画像クエリ結果をリモートデバイスに通信し、画像クエリ結果は画像識別子に対応する画像を示す、ように構成され得る。
【0004】
上記の画像検索システムの一部の可能な実装形態によれば、画像クエリ結果は画像識別子に対応する画像を含み得る。
【0005】
上記の画像検索システムの一部の可能な実装形態によれば、プロセッサは、画像をランキング順に優先順位付けし、画像クエリ結果を生成し、画像クエリ結果はランキング順に優先順位付けされた画像を示す、ようにさらに構成され得る。
【0006】
上記の画像検索システムの一部の可能な実装形態によれば、画像データに基づいて画像記述子を決定するために、プロセッサは、画像データの複数の特徴メトリックを導出し、画像記述子の特徴メトリックと、画像データの特徴メトリックとの比較に基づいて、記述子リポジトリから画像記述子を選択するようにさらに構成され得る。
【0007】
上記の画像検索システムの一部の可能な実装形態によれば、プロセッサは、記述子リポジトリに記憶された記述子マッピングを生成するようにさらに構成され得、記述子マッピングを生成するために、プロセッサは、訓練画像データおよび訓練テキストデータを受信し、訓練画像データに基づいて画像記述子を決定し、訓練テキストデータに基づいてテキスト記述子を決定し、機械学習モデルに基づいて、テキスト記述子を画像記述子にマッピングするようにさらに構成され得る。
【0008】
上記の画像検索システムの一部の可能な実装形態によれば、プロセッサは、文書データベースのためのテキスト文書を生成するようにさらに構成され得、テキスト文書を生成するために、プロセッサは、画像リポジトリからソース画像を取得し、ソース画像の特徴に基づいて、記述子マッピングに含まれる以前に決定された画像記述子を選択し、記述子リポジトリから、以前に決定された画像記述子に関連付けられた、以前に決定されたテキスト記述子を取得し、テキスト記述子を新たなテキスト文書にまとめ、新たなテキスト文書を文書データベースに記憶するようにさらに構成され得る。
【0009】
上記の画像検索システムの一部の可能な実装形態によれば、プロセッサは、ファイルマッピングリポジトリに記憶されたファイルマッピングを生成するようにさらに構成され得、ファイルマッピングを生成するために、プロセッサは、ファイルマッピングを生成し、ファイルマッピングはソース画像の識別子と、新たなテキスト文書の識別子とを含み、ファイルマッピングをファイルマッピングリポジトリに記憶するようにさらに構成され得る。
【0010】
上記の画像検索システムの一部の可能な実装形態によれば、テキスト記述子を取得するために、プロセッサは、画像記述子に基づいて、記述子リポジトリ内の記述子マッピングを選択し、記述子マッピングからテキスト記述子を抽出するようにさらに構成され得、画像記述子を取得するために、プロセッサは、文書識別子に基づいて、ファイルマッピングリポジトリからファイルマッピングを選択し、ファイルマッピングから画像識別子を抽出するようにさらに構成される。
【0011】
上記の画像検索システムの一部の可能な実装形態によれば、ファイルマッピングリポジトリから、文書識別子に関連付けられた画像識別子を取得するために、プロセッサは、ファイルマッピングリポジトリ内で、文書識別子のうちの少なくとも1つと、画像識別子のうちの少なくとも1つとを含むファイルマッピングを識別し、ファイルマッピングから画像識別子のうちの少なくとも1つを抽出するようにさらに構成され得る。
【0012】
上記の画像検索システムの一部の可能な実装形態によれば、記述子リポジトリ内の画像記述子に関連付けられたテキスト記述子を取得するために、プロセッサは、記述子リポジトリ内で、画像記述子に関連付けられた記述子マッピングを識別し、記述子マッピングから、テキスト記述子の識別子を抽出し、テキスト記述子の識別子に基づいて、記述子リポジトリからテキスト記述子を受信するようにさらに構成され得る。
【0013】
一部の可能な実装形態によれば、方法は、リモートデバイスによって生成された画像クエリを受信することであって、画像クエリは画像データを含む、受信することと、画像データに基づいて画像記述子を決定することであって、画像記述子は、記述子リポジトリ内でテキスト記述子にマッピングされる、決定することと、画像記述子は、記述子リポジトリ内でテキスト記述子にマッピングされることと、記述子リポジトリ内で画像記述子にマッピングされたテキスト記述子を取得することと、検索パラメータを含む文書クエリを生成することであって、検索パラメータはテキスト記述子を含む、生成することと、文書データベース内で、文書クエリに基づいてテキスト文書の文書識別子を識別することと、ファイルマッピングリポジトリ内で、文書識別子にマッピングされた画像識別子を識別することと、画像クエリ結果をリモートデバイスに通信することであって、画像クエリ結果は画像識別子に対応する画像を示す、通信することと、を含み得る。
【0014】
上記の方法の一部の可能な実装形態によれば、画像クエリ結果は、リモートデバイスに、画像リポジトリから、画像識別子に対応する画像のうちの少なくとも1つにアクセスさせる命令を含み得る。
【0015】
上記の方法の一部の可能な実装形態によれば、この方法は、画像をランキング順に優先順位付けすることと、画像クエリ結果を生成することであって、画像クエリ結果はランキング順に優先順位付けされた画像を示す、生成することと、をさらに含み得る。
【0016】
上記の方法の一部の可能な実装形態によれば、画像データに基づいて画像記述子を決定することは、画像データの複数の特徴メトリックを導出することと、画像記述子の特徴メトリックと、画像データの特徴メトリックとの比較に基づいて、記述子リポジトリから画像記述子を選択することと、をさらに含み得る。
【0017】
上記の方法の一部の可能な実装形態によれば、この方法は、訓練画像データおよび訓練テキストデータを受信することと、訓練画像データに基づいて画像記述子を決定することと、訓練テキストデータに基づいてテキスト記述子を決定することと、機械学習モデルに基づいて、画像記述子とテキスト記述子との間の記述子マッピングを生成することと、記述子マッピングを記述子リポジトリに記憶することと、をさらに含み得る。
【0018】
上記の方法の一部の可能な実装形態によれば、この方法は、画像リポジトリからソース画像を取得することと、ソース画像の特徴に基づいて、記述子リポジトリに含まれる以前に決定された画像記述子を選択することと、記述子リポジトリから、以前に決定された画像記述子に関連付けられた、以前に決定されたテキスト記述子を取得することと、テキスト記述子を新たなテキスト文書にまとめることと、新たなテキスト文書を文書データベースに記憶することと、をさらに含み得る。
【0019】
上記の方法の一部の可能な実装形態によれば、この方法は、ソース画像の識別子と、新たなテキスト文書の識別子とを含むファイルマッピングを生成することと、ファイルマッピングをファイルマッピングリポジトリに記憶することと、をさらに含み得る。
【0020】
一部の可能な実装形態によれば、方法は、記述子リポジトリのための記述子マッピングを生成することであって、訓練画像データおよび訓練テキストデータを受信し、訓練画像データに基づいて画像記述子を決定し、訓練テキストデータに基づいてテキスト記述子を決定し、画像記述子とテキスト記述子との関連付けを含む記述子マッピングを生成し、記述子マッピングを記述子リポジトリに記憶することによって行われる、生成することを含み得る。この方法は、文書データベースのためのテキスト文書を生成することであって、画像記述子がソース画像を記述していると判定し、記述子マッピングに基づいて、画像記述子に関連付けられたテキスト記述子を取り出し、テキスト記述子を新たなテキスト文書にまとめ、新たなテキスト文書を文書データベースに記憶することによって行われる、生成することを含み得る。この方法は、ファイルマッピングをファイルマッピングリポジトリに記憶することであって、ファイルマッピングは、ソース画像の識別子と、新たなテキスト文書の識別子とを含む、記憶することを含み得る。この方法は、検索画像データを含む画像クエリに応答することであって、検索画像データの特徴と、画像記述子の特徴との比較に基づいて、画像記述子を選択し、記述子マッピング内の画像記述子に関連付けられたテキスト記述子を含む文書クエリを生成し、文書クエリに基づいて、文書データベースに記憶された新たなテキスト文書の文書識別子を受信し、ファイルマッピングリポジトリ内の文書識別子に関連付けられた画像識別子を取得することによって行われる、応答することを含み得る。この方法は、画像クエリ結果をリモートデバイスに通信することであって、画像クエリ結果は画像識別子に対応する画像を示す、通信することを含み得る。
【0021】
上記の方法の一部の可能な実装形態によれば、ソース画像は画像リポジトリから取得され得、画像リポジトリは複数の画像を含み、画像のそれぞれは、ファイルマッピングリポジトリに記憶された複数のファイルマッピングに基づいて対応するテキスト文書にマッピングされる。
【0022】
上記の方法の一部の可能な実装形態によれば、この方法は、画像リポジトリから、画像識別子に対応する画像を取得することと、画像クエリ結果を生成することであって、画像クエリ結果は、画像、画像の識別子、画像を取得する命令、またはこれらの任意の組み合わせを含む、生成することと、をさらに含み得る。
【0023】
実施形態は、以下の図面および説明を参照して、より良く理解され得る。図中のコンポーネントは、必ずしも縮尺通りではない。また、図中では、異なる図全体を通して、同様の参照番号は対応する部分を指す。
【図面の簡単な説明】
【0024】
【
図1】画像検索システムの第1の例を示す図である。
【
図2】画像検索システムの第2の例を示す図である。
【
図4】システムのロジックの第2の例の流れ図である。
【
図5】システム100のロジックの第3の例の流れ図である。
【
図6】コンピュータ実行環境の一例の流れ図である。
【発明を実施するための形態】
【0025】
画像検索は、検索条件に基づいて画像を識別することを含む。一部の画像検索の手法では、画像は記述的なメタデータによって注釈付けされる。キーワードに基づいてメタデータを検索することによって、画像を識別することができる。メタデータは、大量の画像に手動で注釈を付けることによって確立され得る。多くの例では、メタデータは画像の意味的な特性を記述し得、テキスト内での画像の状況的使用を考慮していない。メタデータは固定のままであり得るが、画像が使用される状況は時間と共に変化し得る。
【0026】
内容ベースの画像検索の手法では、入力画像は1つまたは複数の大規模なデータベースに記憶された過去の画像データと比較され得る。画像結果は、画素比較、特徴比較、および/または他の内容比較技法によって形成され得る。たとえば、本明細書に引用により組み込まれている、Zhouら、Recent Advance in Content-based Image Retrieval:A Literature Survey、2018年9月2日、電気電子技術者協会発行には、画像特徴がデータベースに記憶され、インデックス付けされる様々な画像表現が説明されている。これらの手法は、画像内容の意味的な類似性以外の要因を考慮した基準に基づいて、確実な画像クエリ結果を提供することができない。
【0027】
したがって、画像空間およびテキスト空間における局所的な類似性に依存するテキストベースの画像検索のためのシステムおよび方法を開示する。導入の例として、画像検索システムは、複数の記述子マッピングを含む記述子リポジトリを含み得る。記述子マッピングは、画像記述子とテキスト記述子との間のそれぞれの関連付けを含み得る。システムは、ファイルマッピングリポジトリをさらに含み得る。ファイルマッピングリポジトリは、ファイルマッピングを含み得る。ファイルマッピングのそれぞれは、対応する画像と、対応するテキスト文書との関連付けを含み得る。
【0028】
システムは、画像クエリを受信し得る。画像クエリは、画像データを含み得る。システムは、画像データに基づいて画像記述子を決定し得る。システムは、記述子リポジトリ内の画像記述子に関連付けられたテキスト記述子を取得し得る。システムは、検索パラメータを含む文書クエリを生成し得る。検索パラメータは、テキスト記述子を含み得る。システムは、文書データベース内で、文書クエリに基づいてテキスト文書を識別し得る。テキスト文書は、文書識別子に関連付けられ得る。システムは、ファイルマッピングリポジトリから、文書識別子に関連付けられた画像識別子を取得し得る。システムは、画像クエリ結果をリモートデバイスに通信し得る。画像クエリ結果は、画像識別子に対応する画像を示し得る。
【0029】
本明細書に記載のシステムおよび方法の1つの技術的な利点は、テキストベースの文書クエリが、画像検索に関する処理時間を改善し得るということであり得る。たとえば、本明細書に記載のシステムおよび方法は、画像データとテキストデータとのマッピングに基づいて画像検索を実行し得る。入力画像は、テキスト記述子にマッピングされた画像記述子に変換され得る。テキスト記述子は、文書データベースに対する文書クエリにまとめられ得る。このように、検索はテキストドメインで実行され、画像分析が処理能力および処理時間に関して高コストであり得る画像ドメインではない。
【0030】
本明細書に記載のシステムおよび方法の他の技術的な利点は、画像の意味論的意味以外の要因に基づいて画像が検索され得るということであり得る。たとえば、画像およびテキスト記述子の間のマッピングは、類似した画像が同一のトピックの文書にマッピングされるようにして、画像検索システムが画像空間およびテキスト空間の両方における局所的な類似性を保存するようにすることにより、導出される。画像データにマッピングされたテキストデータは、画像の意味論的意味を記述しなくてもよい。テキストおよび画像記述子の間のマッピングは、局所的な類似性が保存される基準、すなわち、画像ドメインにおいて意味的に類似した画像オブジェクトが、テキストドメインにおいて意味的に類似したテキストオブジェクトにマッピングされるような基準を使用して、訓練データから高精度に学習される。
【0031】
したがって、画像検索システムは、画像の意味内容を1つの主要オブジェクトのみに削減できず、画像が複数のオブジェクトを提示するアプリケーションにおいて画像を検索し得、画像特徴のみの比較では、オブジェクトのスケールによって制限される場合があるが、本システムは画像記述子を複数のテキスト記述子にマッピングすることにより、特徴の表現性を高めることができる。市場にあるソリューションに対するさらなる利益、効率性、および改善は、本明細書に記載のシステムおよび方法において明らかにする。
【0032】
図1に、画像検索システム100の第1の例を示す。システム100は画像クエリを受信し、画像クエリ結果で応答し得る。画像クエリは、画像クエリ内で指定された1つまたは複数の検索画像に関連するまたは類似した画像を探す要求を含み得る。画像クエリは、画像データ、たとえば、画像ファイル、ビデオフレーム、RGBデータ、画像特徴データ、および/または画像を記憶、レンダリング、もしくは表現するためのプロトコルに従って構成される他の任意の情報を含み得る。代替的または追加的に、画像クエリは、画像データを受信するための場所、たとえば、ウェブアドレスまたはファイルパスを含み得る。
【0033】
画像クエリ結果は、検索画像に関連する、検索画像に類似した、および/または検索画像と類似の状況で見つかった1つまたは複数の画像を示すクエリ結果を含み得る。画像クエリ結果は、指定された画像の画像データおよび/または識別情報を含み得る。代替的または追加的に、画像クエリ結果は、1つまたは複数の画像の場所、たとえば、ウェブアドレスまたはファイルパスを含み得る。一部の例では、画像クエリ結果は、画像検索システム100または他の何らかの画像ソースから画像を取り出しまたはダウンロードさせる命令またはリンクを含み得る。
【0034】
記述子リポジトリ
画像検索システムは、記述子リポジトリ102を含み得る。記述子リポジトリ102は、画像記述子、テキスト記述子、および/または記述子マッピングを含み得る。
【0035】
画像記述子は、画像の視覚的特徴の記述を含み得る。たとえば、画像記述子は、画像の特徴を含み得る。特徴は、画像特徴メトリックを含み得る。画像特徴評価基準(measures)は、画像の基本的な特徴、たとえば、形状、色、テクスチャ、および/または実数値で定義可能な画像の他の何らかの視覚的特徴を測定し得る。たとえば、画像記述子は色空間を含み得、画像記述子の特徴は各画素のRGB値を含み得る。一部の例では、画像記述子は、エッジ、コーナー、ブロブ(blob)、リッジ(ridge)、関心領域、および/または他のタイプの視覚的特徴を定義する1つまたは複数の特徴の記述を含み得る。
【0036】
表1に、画像記述子を含むデータ構造の一例を示す。例として、表1に示す画像記述子は、画素値に重み値が割り当てられた色分布を含む。
【0037】
【0038】
表1に例示したデータ構造は非限定的な例である。記述子リポジトリ102は、表1に示すデータ構造を含み得る。他の例では、記述子リポジトリ102は、画像記述子を記憶する追加的または代替的なデータ構造を含み得る。
【0039】
テキスト記述子は、テキストの内容の記述を含み得る。たとえば、テキスト記述子は、テキストの文字、単語、文、意味および/または言語を記述する特徴を含み得る。テキスト記述子は、複数の特徴を含み得る。テキスト記述子の特徴は、テキストの特徴を実数値で測定したテキスト特徴メトリックを含み得る。たとえば、テキスト記述子は、数値のベクトルまたは行列を含み得る。一部の例では、画像記述子は単語分布を含み得、画像記述子の特徴はテキスト内の特定の単語のカウントを含み得る。テキスト記述子の他の例は、トピック、エンティティ、トリプル(triple)を含み得る。
【0040】
表2に、テキスト記述子を含むデータ構造の一例を示す。例として、表2に示すテキスト記述子は、単語カウントが正規化された単語分布を含む。
【0041】
【0042】
表2に例示したデータ構造は非限定的な例である。記述子リポジトリ102は、表2に示すデータ構造を含み得る。他の例では、記述子リポジトリ102は、テキスト記述子を記憶する追加的または代替的なデータ構造を含み得る。
【0043】
表2により説明する例では、テキスト記述子は、ダブリン旅行ガイド、アイルランド旅行ガイド、およびローマ旅行ガイドから抽出されたテキストにそれぞれ対応し得る。正規化された単語カウントは、「ダブリン」、「アイルランド」、および「ローマ」の単語カウントに割り当てられる重みを表す。予想されるように、単語「ダブリン」の正規化カウントは、ダブリン旅行ガイドのテキスト記述子に対応するテキスト記述子TXT_DUBLIN_1内で最も高い。
【0044】
記述子マッピングは、局所的な記述子の類似性を最適化することを目的とする大規模な画像およびテキストのセットから学習された関連付けを含み得る。換言すれば、画像ドメインにおいてアフィン的に類似した(affinely similar)画像記述子は、テキストドメインにおいてアフィン的に類似したテキスト記述子にマッピングされる。たとえば、画像記述子の特徴を表す実数値、および/または実数値から導出された加重値が画像特徴類似性の閾値より大きい場合、画像記述子はアフィン的に類似し得る。同様に、テキスト記述子の特徴の実数値、および/または実数値から導出された重み値がテキスト特徴類似性の閾値より大きい場合、テキスト記述子はアフィン的に類似し得る。
【0045】
類似性を成立させるための類似性閾値は許容範囲を含み得る。一部の例では、許容範囲は設定可能であり得る。許容範囲を増加させると、類似と識別される記述子の数が減少し得るが、類似度は増加し得る。許容範囲を減少させると、類似と識別される記述子の数が増加し得る(my increase)が、類似度は減少し得る。
【0046】
一例では、画像ドメインにおいて、IMG_DESC_DOGはIMAGE_DESC_CATと類似し得、その理由は、それぞれが、40%より大きい重みを有する特徴(黒)を共有しているためである。テキストドメインでは、TXT_DUBLINおよびTXT_IRELANDは類似し得、その理由は、「ダブリン」および「アイルランド」の正規化カウントが各テキスト記述子において0.5より大きいためである。以下で表1に示すように、テキスト記述子と画像記述子とのマッピングは、画像およびテキスト記述子の間の多対多のリンクから構成される。
【0047】
記述子マッピングは、画像記述子をテキスト記述子に関連づけ得る。たとえば、記述子マッピングは、テキスト記述子の識別子と、画像記述子の識別子とを含み得る。代替的または追加的に、記述子マッピングは、訓練データに基づいてマッピングの強さを測定した尤度を測定するメトリックを含み得る。
【0048】
表3に、記述子マッピングを含むデータ構造の一例を示す。たとえば、表3の各行は記述子マッピングを表し得る。
【0049】
【0050】
表3に例示したデータ構造は非限定的な例である。データ構造は、記述子リポジトリ102に含まれ得る。他の例では、記述子リポジトリ102は、記述子マッピングを記憶する追加的または代替的なデータ構造を含み得る。
【0051】
マッピングコントローラ
システムは、マッピングコントローラ104を含み得る。マッピングコントローラ104は、記述子マッピング選択器105と、クエリ生成器106とを含み得る。記述子マッピング選択器105は、検索画像を取得し得る。たとえば、記述子マッピング選択器105は、画像クエリに含まれるかまたはこれによって参照される検索画像を取得し得る。記述子マッピング選択器105は、検索画像に基づいて画像記述子を導出し得る。導出された画像記述子は、記述子リポジトリ102内の1つまたは複数の過去の画像記述子にアフィン的に類似し得る。記述子マッピング選択器105は、過去の画像記述子を、検索画像から導出された画像記述子と比較し得る。たとえば、記述子マッピング選択器105は、検索画像から導出された画像記述子に含まれる事前定義された特徴メトリックの範囲内の実数値または重みを含む過去の画像記述子を識別し得る。記述子マッピング選択器105は、識別された過去の記述子を参照する記述子マッピングを選択し得る。
【0052】
クエリ生成器106は、1つまたは複数のテキスト記述子に基づいて文書クエリを生成し得る。たとえば、クエリ生成器106は、記述子マッピング選択器105によって選択された記述子マッピングを受信し得る。クエリ生成器106は、記述子マッピングによって参照されたテキスト記述子を抽出し得る。クエリ生成器106は、テキスト記述子を文書クエリにまとめる。文書クエリは、1つまたは複数の検索パラメータを含み得る。検索パラメータは、テキスト記述子を含み得る。たとえば、「犬」の入力画像は、表3に定義されたマッピングを使用して、次のテキストクエリ「ダブリン、アイルランド」に変換される。また、テキストクエリの形成は、過去のマッピングおよびテキスト記述子の両方における重みを考慮することができる。上記の例では、クエリ・ストラテジは0より大きい重みを有する全てのマッピングを含み、最大スコアを有する単語がテキストクエリの形成において主要な単語として選択される。
【0053】
テキスト検索システム
システム100は、文書データベース108および/またはテキスト検索システム110をさらに含むかまたはこれと通信し得る。文書データベース108は、文書指向データベースを含み得る。文書データベース108は情報のセットを記憶し得、情報の各セットは異なるデータ構造に従い得る。たとえば、文書データベース108は、構造化または半構造化データをテキスト文書として記憶する非関係型データベースを含み得る。テキスト文書の内容、またはテキスト文書に関連するメタデータを検索パラメータに基づいて検索して、1つまたは複数の関連するテキスト文書を識別し得る。代替的または追加的に、文書データベース108は、テキスト文書の内容からメタデータを抽出し得る。メタデータを検索して、1つまたは複数のテキスト文書を識別し得る。実装形態に応じて、文書データベース108は、マークアッププロトコル、たとえば、XML、YAML、JSON、BSONに従って情報を記憶し得る。代替的または追加的に、文書データベース108は、文書をバイナリ形式、文字エンコード形式、および/または他の任意の適切なファイルエンコードで記憶し得る。
【0054】
テキスト検索システム110は、文書データベース108にアクセスして、検索パラメータに基づいて1つまたは複数のテキスト文書レコードを識別し得る。たとえば、テキスト検索システム110は、クエリ生成器106によって生成された文書クエリを受信し得る。文書クエリは、1つまたは複数のテキスト記述子を含むおよび/または参照し得る。テキスト検索システム110は、テキスト記述子に基づいて、文書データベース108で1つまたは複数の文書を検索し得る。テキスト検索システム110は、文書クエリ結果を生成し得る。
【0055】
文書クエリ結果は、文書データベース108に記憶され、文書クエリに基づいて識別されたテキスト文書を含むおよび/または参照し得る。たとえば、文書クエリ結果は、識別された文書のテキストデータおよび/または文書識別子を含み得る。文書識別子は、ファイル名、キー、パス、および/または特定の文書または特定の文書のメモリ内の場所を識別する他の任意の情報を含み得る。
【0056】
文書データベース108に記憶された文書は、テキスト文書を含み得る。テキスト文書は、1つまたは複数の過去のテキスト記述子を含み得る。後述のように、テキスト文書は、テキスト記述子にマッピングされた画像ファイル内の画像記述子を識別することにより、生成され得る。マッピングされたテキスト記述子は、画像データベースに記憶されたテキスト文書が画像ファイルに対応するように、テキスト文書にまとめられ得る。後述のように、テキスト文書は画像ファイルにマッピングされ得、画像ファイルはテキスト文書に基づいて識別され得る。
【0057】
ファイルマッピングリポジトリ
システムは、ファイルマッピングリポジトリ112を含み得る。ファイルマッピングリポジトリ112は、ファイルマッピングを含み得る。ファイルマッピングは、画像ファイルとテキスト文書との関連付けを含み得る。たとえば、ファイルマッピングは画像識別子および文書識別子を含み得る。画像識別子は、ファイル名、キー、パス、および/または画像のインデックス付きセット内で特定の画像を識別する他の任意の情報を含み得る。文書識別子は、文書データベース108に記憶された文書の識別子、または文書のインデックス付きセット内で文書を識別する他の何らかの情報を含み得る。
【0058】
表4に、ファイルマッピングリポジトリ112に含まれるデータ構造の一例を示す。表4の各行は、ファイルマッピングを表し得る。他の例では、ファイルマッピングは、追加的または代替的な情報、たとえば、画像データ、テキストデータ、および/またはメタデータを含み得る。画像ドメインおよびテキストドメインの間の可逆性を保証するには、画像名が1つの文書名のみに関連付けられる必要があり、逆も同様である。
【0059】
【0060】
表4に例示したデータ構造は非限定的な例である。他の例では、ファイルマッピングリポジトリ112は、1つまたは複数のファイルマッピングを記憶する追加的または代替的なデータ構造を含み得る。
【0061】
一部の例では、システム100は、画像リポジトリ113をさらに含み得る。画像リポジトリ113は、画像および/または画像識別子を含み得る。たとえば、画像リポジトリ113は、画像クエリ結果に含まれるまたは参照される画像を記憶し得る。画像リポジトリ113に記憶された画像は、文書データベース108に記憶されたテキスト文書にマッピングされ得る。システム100によって提供される画像クエリ結果は、テキスト検索システム110によって提供された文書クエリ結果に基づいて生成され得る。たとえば、文書クエリ結果に含まれる文書識別子は、ファイルマッピングリポジトリ112に記憶されたファイルマッピングに含まれ得る。画像識別子は、ファイルマッピングリポジトリに記憶されたファイルマッピングに基づいて文書識別子にマッピングされ得る。そのため、画像識別子は、ファイルマッピングデータベースから抽出され、画像クエリ結果に含められ得る。
【0062】
逆マッピングコントローラ
システム100は、逆マッピングコントローラ114を含み得る。逆マッピングコントローラ114は、ファイルマッピング選択器116および画像結果生成器118を含み得る。ファイルマッピング選択器116は、1つまたは複数の文書識別子に基づいてファイルマッピングを識別し得る。たとえば、ファイルマッピング選択器116は、文書クエリ結果に含まれる文書識別子に基づいてファイルマッピングを選択し得る。ファイルマッピング選択器116は、ファイルマッピングリポジトリ112内のファイルマッピングを選択し得る。選択されたファイルマッピングは、文書クエリ結果に含まれる文書識別子に関連付けられ得る。選択されたファイルマッピングのそれぞれは、対応する画像識別子に関連付けられ得る。
【0063】
画像結果生成器118は、画像クエリ結果を生成し得る。一部の例では、画像結果生成器118は、ファイルマッピング選択器116によって選択されたファイルマッピングに関連付けられた画像識別子を取得し得る。画像結果生成器118は、画像識別子に対応する画像を取得し得る。たとえば、画像結果生成器118は、画像リポジトリ113から画像を取得し、画像を画像クエリ結果に含め得る。
【0064】
画像を画像クエリ結果に含めることに加えて、またはその代わりに、画像クエリ結果は、1つまたは複数のリモートデバイスに画像にアクセスさせる命令を含み得る。たとえば、画像クエリ結果は、ウェブアドレス、パス、および/またはリモートデバイスに画像にアクセスさせる他の何らかの命令もしくはリンクを含み得る。代替的または追加的に、画像クエリ結果は、リモートデバイスに、画像検索システムまたは他の何らかのソースに画像を要求させ得る。たとえば、画像クエリ結果は、リモートデバイスに、画像識別子に基づいて画像検索システムに画像を要求させる命令を含み得る。画像検索システムは、画像リポジトリ113から画像を取得し、画像をリモートデバイスに送信することによって、要求に応答し得る。
【0065】
一部の例では、画像結果生成器118は、クエリ結果内の画像をランク付けし得る。画像結果のランク付けは、クエリ画像と、画像結果生成器118によって取り出された画像との視覚的類似性を使用して実行され得る。視覚的類似性は、画像特徴間の距離を使用して計算され得る。
【0066】
図2に、画像検索システム100の第2の例を示す。画像検索システムは、マッピング生成器202を含み得る。マッピング生成器202は、訓練画像および/または訓練テキストを受信し得る。たとえば、マッピング生成器202は、訓練画像リポジトリ204から訓練画像を受信し得る。マッピング生成器202は、訓練テキストリポジトリ206からテキストサンプルを受信し得る。マッピング生成器202は、訓練画像から1つまたは複数の画像記述子を生成し得る。たとえば、マッピング生成器202は、機械学習アルゴリズムを使用して視覚的パターン抽出を実行することによって、画像記述子を生成し得る。
【0067】
マッピング生成器202は、訓練テキストから1つまたは複数のテキスト記述子を生成し得る。たとえば、マッピング生成器202は、機械学習アルゴリズムによりテキストパターン抽出を実行することによって、テキスト記述子を生成し得る。
【0068】
マッピング生成器202は、アフィン的に類似した画像記述子を識別し得る。
図1を参照して前述したように、画像記述子の特徴を表す実数値、および/または実数値から導出された加重値が、画像特徴類似性の閾値より大きい場合、画像記述子はアフィン的に類似し得る。同様に、テキスト記述子の特徴の実数値、および/または実数値から導出された重み値がテキスト特徴類似性の閾値より大きい場合、テキスト記述子はアフィン的に類似し得る。
【0069】
マッピング生成器202は、アフィン的に類似したテキスト記述子を、アフィン的に類似した画像記述子にマッピングし得る。マッピングは、画像およびテキストドメインにおける局所的な類似性に関して定義されたコスト関数を最小化するマッピングを選択する最適化アルゴリズムに基づいて生成され得る。コスト関数は、画像ドメインにおいて類似した訓練画像リポジトリ204内の画像が、テキストドメインにおいて類似した訓練テキストリポジトリ206内の文書にマッピングされるようにする。
【0070】
システム100は、画像/テキスト変換器208を含み得る。画像/テキスト変換器208は、ソース画像を受信し得る。たとえば、画像/テキスト変換器208は、画像リポジトリ113から1つまたは複数の画像にアクセスし得る。画像/テキスト変換器208は、ソース画像から画像記述子を導出し得る。画像/テキスト変換器208は、導出された画像記述子を、以前に訓練画像から導出された画像記述子と比較し得る。画像/テキスト変換器208は、記述子リポジトリ102から1つまたは複数のマッピングを選択し得る。選択されたマッピングは、導出された画像記述子と同一のまたは類似した画像記述子を含み得る。画像/テキスト変換器208は、選択された記述子マッピングに関連付けられたテキスト記述子を抽出し得る。
【0071】
画像/テキスト変換器208は、文書データベース108を抽出および/または更新し得る。たとえば、画像/テキスト変換器208は、抽出されたテキスト記述子をテキスト文書にまとめ得る。一部の例では、画像/テキスト変換器208は、各画像に対して決定されたテキスト記述子に基づいてテキスト文書を生成し得る。画像/テキスト変換器208は、テキスト文書を文書データベース108に挿入し得る。代替的または追加的に、画像/テキスト変換器208は、既存のテキスト文書を更新し得る。
【0072】
図1を参照して論じたように、ファイルマッピングは、ソース画像を、ソース画像に基づいて生成されたテキスト文書に関連付け得る。画像/テキスト変換器208は、ファイルマッピングをファイル-マッピングリポジトリに挿入し得る。一部の例では、ファイルマッピングは、画像ファイルとテキスト文書との間の1対1対応を含み得る。
【0073】
図3に、システム100のロジックの一例の流れ図を示す。マッピングコントローラ104は、リモートデバイスから画像クエリを受信し得る(302)。マッピングコントローラ104は、画像クエリから1つまたは複数の検索画像を取得し得る。代替的または追加的に、マッピングコントローラ104は、画像クエリによって指定されたアドレスおよび/またはパスから画像にアクセスし得る。
【0074】
マッピングコントローラ104は、画像に基づいて画像記述子を決定し得る(304)。たとえば、マッピングコントローラ104は、検索画像の画像データに含まれる1つまたは複数の特徴を導出し得る。特徴は、画像内の画像特徴の存在を測定する1つまたは複数の特徴メトリックを含み得る。マッピングコントローラ104は、導出された特徴を、記述子リポジトリ102に記憶された1つまたは複数の過去の画像記述子の特徴と比較し得る。マッピングコントローラ104は、比較に基づいて1つまたは複数の過去の画像記述子を選択し得る。
【0075】
マッピングコントローラ104は、選択された画像記述子に関連付けられた1つまたは複数の記述子マッピングを選択し得る。選択された記述子マッピングに基づいて、マッピングコントローラ104は、1つまたは複数のテキスト記述子を選択し得る。たとえば、記述子マッピングは、画像記述子識別子およびテキスト記述子識別子を含み得る。マッピングコントローラ104は、記述子マッピングからテキスト記述子識別子を抽出し得る。代替的または追加的に、マッピングコントローラ104は、記述子リポジトリ102から、および/または記述子マッピングから直接的に、テキスト記述子を取得し得る。
【0076】
マッピングコントローラ104は、テキスト記述子を含む文書クエリを生成する(306)。たとえば、マッピングコントローラ104は、1つまたは複数の抽出されたテキスト記述子を文書クエリにまとめ得る。文書クエリは、文書データベース108に照会する命令を含み得る。
【0077】
テキスト検索システム110は、文書データベース108に記憶されたテキスト文書の文書識別子を取得する(308)。たとえば、テキスト検索システム110は、文書クエリに基づいて文書データベース108に照会し得る。文書データベース108は、文書クエリに含まれるテキスト記述子またはテキスト記述子の一部に基づいて、1つまたは複数のテキスト文書を識別し得る。テキスト検索システム110は、文書および/または文書の識別子を含む文書クエリ結果を生成し得る。
【0078】
逆マッピングコントローラ114は、以前に文書識別子に関連付けられた画像識別子を取得し得る(310)。たとえば、逆マッピングコントローラ114は、1つまたは複数のテキスト文書または文書識別子を受信し得る。逆マッピングコントローラ114は、ファイルマッピングリポジトリ112で、文書識別子に関連付けられたファイルマッピングを検索し得る。逆マッピングコントローラ114は、ファイルマッピングが文書識別子を含むことに応じて、ファイルマッピングを選択し得る。逆マッピングコントローラ114は、ファイルマッピングから画像識別子を抽出し得る。
【0079】
逆マッピングコントローラは、画像クエリ結果をソースデバイスに通信し得る(312)。たとえば、逆マッピングコントローラ114は、画像クエリ結果を生成し得る。画像クエリ結果は、文書クエリ結果に基づいて取得された1つまたは複数の画像識別子を含み得る。代替的または追加的に、画像クエリ結果は、画像識別子に対応する画像を含み得る。一部の例では、画像クエリ結果は、ソース位置から画像を取得する命令を含み得る。たとえば、画像クエリ結果は、1つまたは複数の画像識別子を含むメッセージを生成する命令を含み得る。逆マッピングコントローラ114は、ソースデバイスからメッセージを受信したことに応答して、画像リポジトリ113から画像を取得し、画像をソースデバイスに送信し得る。
【0080】
図4に、システム100のロジックの第2の例の流れ図を示す。マッピング生成器202は、訓練画像データおよび訓練テキストデータを受信し得る(402)。たとえば、マッピング生成器202は、訓練画像リポジトリ204から訓練画像データを受信し得る。代替的または追加的に、マッピング生成器202は、訓練テキストリポジトリ206から訓練テキストを受信し得る。
【0081】
マッピング生成器202は、画像記述子およびテキスト記述子を決定する(404)。記述子生成器は、記述子マッピングを生成し得る(406)。たとえば、テキスト記述子および画像記述子は、
図2を参照して論じたように決定され得る。記述子マッピングは、画像記述子の識別子と、テキスト記述子の識別子とを含み得る。記述子生成器は、記述子マッピングを記述子リポジトリ102に記憶し得る(408)。
【0082】
一部の例では、マッピング生成器202は、記述子リポジトリ102を配備し得る(410)。たとえば、マッピング生成器202は、マッピングコントローラ104を含むかまたはこれと通信するリモートサーバに配備され得る。記述子リポジトリ102は、リモートサーバに配備され得る。一部の例では、記述子リポジトリ102は、配備前に事前に入力され得る。他の例では、記述子リポジトリ102は先に配備され、その後、画像記述子、テキスト記述子、および/または記述子マッピングが入力され得る。配備は、記述子リポジトリ102をサーバに送信すること、記述子リポジトリ102をサーバ上に構成すること、および/または情報をサーバに送信して、サーバ上に構成された記述子リポジトリ102に記憶することを含み得る。
【0083】
図5に、システム100のロジックの第3の例の流れ図を示す。画像/テキスト変換器208は、ソース画像を受信し得る(502)。代替的または追加的に、画像/テキスト変換器208は、ソース画像の識別子を受信し、次いで、ソース画像にアクセスし得る。ソース画像は、画像リポジトリ113に記憶され得る。
【0084】
画像/テキスト変換器208は、ソース画像に基づいて画像記述子を決定し得る(504)。画像/テキスト変換器208は、画像記述子に関連付けられたテキスト記述子を取得し得る(506)。
【0085】
たとえば、画像/テキスト変換器208は、ソース画像に対して識別された画像記述子に関連付けられた記述子マッピングを取得し得る。記述子マッピングは、識別された画像記述子を1つまたは複数のテキスト記述子に関連付け得る。一部の例では、記述子マッピングは、画像記述子の識別子をテキスト記述子の識別子にマッピングし得る。画像/テキスト変換器208は、テキスト記述子の識別子を抽出し得る。画像/テキスト変換器208は、識別子に基づいて、記述子データベースまたは他の何らかのソース内でテキスト記述子を検索し得る。一部の例では、画像/テキスト変換器208は、ソース画像に対して識別された画像記述子および/または記述子マッピングに基づいて、複数のテキスト記述子を識別し得る。
【0086】
画像/テキスト変換器208は、テキスト記述子をテキスト文書にまとめ得る(508)。たとえば、1つまたは複数のテキスト記述子をテキスト文書に含め得る。一部の例では、画像/テキスト変換器208は、マークアップ言語もしくは文書構造、たとえば、XML、JSON、または他の何らかの適切な規格に従うようにテキスト記述子を修正し得る。
【0087】
画像/テキスト変換器208は、テキスト文書を文書データベース108に記憶し得る(510)。たとえば、画像/テキスト変換器208は、テキスト文書を文書データベース108に通信し得る。
【0088】
画像/テキスト変換器208は、ファイルマッピングをファイルマッピングリポジトリ112に記憶する(512)。たとえば、画像/テキスト変換器208は、ファイルマッピングを生成し得る。ファイルマッピングは、ソース画像の識別子と、生成された文書の識別子とを含み得る。ファイルマッピングは、ソース画像と、生成されたテキスト文書との1対1の関係を含み得る。画像/テキスト変換器208は、生成されたファイルマッピングをファイルマッピングリポジトリ112に挿入し得る。
【0089】
画像/テキスト変換器208は、ファイルマッピングリポジトリ112および/または文書データベース108を配備し得る(514)。たとえば、画像/テキストは、ファイルマッピングリポジトリ112および/または文書データベース108を、逆マッピングコントローラ114を用いて構成されるサーバに通信し得る。代替的または追加的に、画像/テキスト変換器208は、マッピングリポジトリおよび/または文書データベース108をサーバ上に構成し、次いで、マッピングリポジトリおよび/または文書データベース108にデータを入力し得る。他の例では、画像/テキスト変換器208は、新たなソース画像が決定されると、ファイルマッピングリポジトリ112および/または文書データベース108を新たなデータによって更新し得る。たとえば、画像/テキスト変換器208は、追加のソース画像を受信し得る。受信したソース画像ごとに、画像/テキスト変換器208は、対応するテキスト文書および対応するファイルマッピングを生成し得る。
【0090】
流れ図に示したロジックは、追加の、異なる、または図示よりも少ない動作を含み得る。図示した動作は、図示とは異なる順序で実行され得る。また、システム100は、追加の、異なる、または図示よりも少ないコンポーネントによって実装され得る。各コンポーネントは、追加の、異なる、またはより少ないコンポーネントを含み得る。たとえば、システム100は、マッピングコントローラ104および逆マッピングコントローラ114を含み得る。代替的または追加的に、システムは、マッピング生成器202および画像/テキスト変換器を含み得る。たとえば、システムは、記述子リポジトリ102、ファイルマッピングリポジトリ112、および/または文書データベース108を構築、配備、および/または更新する学習および構成システムを備え得る。
【0091】
図6に、システム100のコンピュータ環境600の一例を示す。コンピュータ環境600は、画像検索システム100および/またはその中の任意のサブコンポーネントのためのハードウェアプラットフォームを含み得る。コンピュータ環境600は、通信インターフェース612、入力インターフェース628、および/またはシステム回路614を含み得る。システム回路614は、プロセッサ616または複数のプロセッサを含み得る。代替的または追加的に、システム回路614は、メモリ620を含み得る。
【0092】
プロセッサ616は、メモリ620と通信し得る。一部の例では、プロセッサ616は、追加の要素、たとえば、通信インターフェース612、入力インターフェース628、および/またはユーザインターフェースとも通信し得る。プロセッサ616の例は、汎用プロセッサ、中央処理装置、論理CPU/アレイ、マイクロコントローラ、サーバ、特定用途向け集積回路(ASIC:application specific integrated circuit)、デジタルシグナルプロセッサ、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)、および/またはデジタル回路、アナログ回路、あるいはこれらの何らかの組み合わせを含み得る。
【0093】
プロセッサ616は、ロジックを実行するように動作可能な1つまたは複数のデバイスであり得る。ロジックは、プロセッサ616によって実行された場合に、マッピングコントローラ104、逆マッピングコントローラ114、テキスト検索システム110、マッピング生成器202、画像/テキスト-変換器、記述子リポジトリ102、ファイルマッピングリポジトリ112、画像リポジトリ113、文書データベース108、システム100、またはシステム100の任意のコンポーネントもしくはサブコンポーネントのロジックによって実装される機能をプロセッサ616に実行させる、メモリ620または他のメモリに記憶されたコンピュータ実行可能命令またはコンピュータコードを含み得る。コンピュータコードは、プロセッサ616によって実行可能な命令を含み得る。
【0094】
メモリ620は、データを記憶および取り出しするための任意のデバイス、またはこれらの任意の組み合わせであり得る。メモリ620は、不揮発性および/または揮発性メモリ、たとえば、ランダムアクセスメモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memory)、またはフラッシュメモリを含み得る。代替的または追加的に、メモリ620は、光学ドライブ、磁気ドライブ(ハードドライブ)、ソリッドステートドライブ、または他の任意の形式のデータ記憶デバイスを含み得る。メモリ620は、マッピングコントローラ104、逆マッピングコントローラ114、テキスト検索システム110、マッピング生成器202、画像/テキスト変換器、記述子リポジトリ102、ファイルマッピングリポジトリ112、画像リポジトリ113、文書データベース108、システム100、またはシステム100の任意のコンポーネントもしくはサブコンポーネントのうちの少なくとも1つを含み得る。
【0095】
ユーザインターフェース618は、グラフィカルな情報を表示するための任意のインターフェースを含み得る。システム回路614および/または通信インターフェース612は、ユーザインターフェースにグラフィカルな情報を表示させる信号またはコマンドをユーザインターフェース618に通信し得る。代替的または追加的に、ユーザインターフェース618はシステム100に対してリモートであり得、システム回路614および/または通信インターフェースは、ユーザインターフェースに情報コンテンツを表示、まとめ、および/またはレンダリングさせる命令、たとえばHTMLを、ユーザインターフェースに通信し得る。一部の例では、ユーザインターフェース618によって表示されるコンテンツは、ユーザ入力に対して対話型または反応型であり得る。たとえば、ユーザインターフェース618は、信号、メッセージ、および/または情報を通信インターフェース612またはシステム回路614に返し得る。
【0096】
システム100は、多くの異なる方法で実装され得る。一部の例では、システム100は、1つまたは複数の論理コンポーネントによって実装され得る。たとえば、システム100の論理コンポーネントは、ハードウェア、またはハードウェアおよびソフトウェアの組み合わせであり得る。論理コンポーネントは、マッピングコントローラ104、逆マッピングコントローラ114、テキスト検索システム110、マッピング生成器202、画像/テキスト変換器208、記述子リポジトリ102、ファイルマッピングリポジトリ112、画像リポジトリ113、文書データベース108、システム100、またはシステム100の任意のコンポーネントもしくはサブコンポーネントを含み得る。一部の例では、各ロジックコンポーネントは、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル論理回路、アナログ回路、ディスクリート回路の組み合わせ、ゲート、もしくは他の任意のタイプのハードウェア、またはこれらの組み合わせを含み得る。代替的または追加的に、各コンポーネントは、たとえば、論理コンポーネントの特徴の1つまたは複数を実装するための、プロセッサ616または他のプロセッサによって実行可能な命令を含むメモリハードウェア、たとえば、メモリ620の一部などを含み得る。論理コンポーネントのいずれか1つが、プロセッサ616によって実行可能な命令を含むメモリの一部を含む場合、そのコンポーネントはプロセッサ616を含んでも含まなくてもよい。一部の例では、各論理コンポーネントは単に、対応するコンポーネントが他のいかなるハードウェアも含むことなく、そのコンポーネントの特徴を実装するための、プロセッサ616または他のプロセッサによって実行可能な命令を含むメモリ620または他の物理メモリの一部であり得る。各コンポーネントは、含んでいるハードウェアがソフトウェアを含む場合であっても、少なくとも何らかのハードウェアを含むので、各コンポーネントは、同じ意味でハードウェアコンポーネントと呼ばれ得る。
【0097】
一部の特徴は、コンピュータ可読記憶媒体に記憶されるように(たとえば、コンピュータ実行可能命令として実装されたロジックとして、またはメモリ内のデータ構造として)図示している。システム100ならびにそのロジックおよびデータ構造の全部または一部は、1つまたは複数のタイプのコンピュータ可読記憶媒体に記憶され、分散され、またはそこから読み出され得る。コンピュータ可読記憶媒体の例は、ハードディスク、フロッピーディスク、CD-ROM、フラッシュドライブ、キャッシュ、揮発性メモリ、不揮発性メモリ、RAM、フラッシュメモリ、または他の任意のタイプの1つまたは複数のコンピュータ可読記憶媒体を含み得る。コンピュータ可読記憶媒体は、任意のタイプの非一時的コンピュータ可読媒体、たとえば、CD-ROM、揮発性メモリ、不揮発性メモリ、ROM、RAM、または他の任意の適切な記憶デバイスを含み得る。
【0098】
システム100の処理能力は、複数の分散処理システムを任意で含む複数のエンティティ間で、たとえば、複数のプロセッサおよびメモリ間で分散され得る。パラメータ、データベース、および他のデータ構造は、別々に記憶および管理され得、単一のメモリまたはデータベースに組み込まれ得、多くの異なる方法で論理的および物理的に編成され得、異なるタイプのデータ構造、たとえば、リンク付きリスト、ハッシュテーブル、または暗黙的な記憶メカニズムによって実装され得る。ロジック、たとえば、プログラムまたは回路は、複数のプログラム間で組み合わせまたは分割され、いくつかのメモリおよびプロセッサに分散され得、ライブラリ、たとえば、共有ライブラリ(たとえば、ダイナミックリンクライブラリ(DLL:dynamic link library)で実装され得る。
【0099】
説明は全て、記載した特定の実装形態にかかわらず、本質的に例示的なものであって、限定的なものではない。たとえば、実装形態の選択した態様、特徴、またはコンポーネントは、メモリに記憶されるものとして示しているが、1つまたは複数のシステムの全部または一部は、他のコンピュータ可読記憶媒体、たとえば、二次記憶デバイス、たとえば、ハードディスク、フラッシュメモリドライブ、フロッピーディスク、およびCD-ROMに記憶され、分散され、またはこれらから読み出され得る。また、様々なモジュール、回路および画面表示機能はそのような機能の一例にすぎず、同様の機能を含む他の任意の構成も可能である。
【0100】
上記の処理、方法、および/または技法を実装するためのそれぞれのロジック、ソフトウェア、または命令は、コンピュータ可読記憶媒体上に提供され得る。図示した、または本明細書で説明した機能、動作、またはタスクは、コンピュータ可読媒体の中または上に記憶されたロジックまたは命令の1つまたは複数のセットに応答して実行され得る。機能、動作、またはタスクは、特定のタイプの命令セット、記憶媒体、プロセッサ、または処理ストラテジとは独立しており、単独でまたは組み合わせて動作するソフトウェア、ハードウェア、集積回路、ファームウェア、マイクロコードなどによって実行され得る。同様に、処理ストラテジは、マルチプロセッシング、マルチタスク、並列処理などを含み得る。一例では、命令はリムーバブルメディアデバイスに記憶されて、ローカルまたはリモートシステムにより読み取られる。他の例では、ロジックまたは命令は遠隔地に記憶されて、コンピュータネットワークまたは電話回線を介して転送される。さらに他の例では、ロジックまたは命令は、所与のコンピュータ、中央処理装置(「CPU:central processing unit」)、グラフィックス処理装置(「GPU:graphics processing unit」)、またはシステムに記憶される。
【0101】
さらに、特定のコンポーネントを上記で説明しているが、本明細書に記載の方法、システム、および製造品は、追加の、より少ない、または異なるコンポーネントを含み得る。たとえば、プロセッサは、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(ASIC)、ディスクリートロジック、または他のタイプの回路もしくはロジックの組み合わせとして実装され得る。同様に、メモリは、DRAM、SRAM、フラッシュ、または他の任意のタイプのメモリであり得る。フラグ、データ、データベース、テーブル、エンティティ、および他のデータ構造は、別々に記憶および管理され得、単一のメモリもしくはデータベースに組み込まれ得、分散され得、または多くの異なる方法で論理的および物理的に編成され得る。コンポーネントは、独立して動作し得、または同一のプログラムもしくは異なるプログラムを実行する同一の装置の一部であり得る。コンポーネントは、別個のハードウェア、たとえば、別個の取り外し可能な回路基板上に存在し得、または共通のハードウェア、たとえば、同一のメモリ、およびそのメモリからの命令を実行するためのプロセッサを共有し得る。プログラムは、単一のプログラム、別個のプログラムの一部であり得、いくつかのメモリおよびプロセッサに分散され得る。
【0102】
第2のアクションが第1のアクションから直接的に生じるか間接的に生じるかにかかわらず、第2のアクションは第1のアクションに「応答する」と記述し得る。第2のアクションは第1のアクションよりかなり後に生じ得、依然として、第1のアクションに応答し得る。同様に、介在するアクションが第1のアクションと第2のアクションとの間に生じても、また、介在するアクションの1つまたは複数により第2のアクションが直接実行されても、第2のアクションは第1のアクションに応答すると記述し得る。たとえば、第1のアクションがフラグを設定し、フラグが設定されると、第3のアクションが後で第2のアクションを開始する場合に、第2のアクションは第1のアクションに応答し得る。
【0103】
用法を明確にして一般に注意を促すために、「<A>、<B>、...および<N>の少なくとも1つ」、もしくは「<A>、<B>、...<N>の少なくとも1つ、またはこれらの組み合わせ」、または「<A>、<B>、...および/または<N>」という語句は、出願人により最も広い意味で定義されており、出願人によりそうでないと明確に断言されていない限り、以前または以後の他の任意の暗黙的な定義に優先し、A、B、...およびNから構成されるグループから選択される1つまたは複数の要素を意味する。換言すれば、これらの語句は、任意の1つの要素を単独で含むか、またはその要素を、列挙していない追加の要素も組み合わせて含み得る他の要素のうちの1つまたは複数と組み合わせて含む、要素A、B、...またはNのうちの1つまたは複数の任意の組み合わせを意味する。
【0104】
様々な実施形態を説明したが、さらに多くの実施形態および実装形態が可能であることは当業者には明らかであろう。したがって、本明細書に記載の実施形態は例であり、唯一の可能な実施形態および実装形態ではない。