【文献】
・小作浩美外1名、WWW検索における複数検索結果の統合処理とその評価、情報処理学会論文誌、社団法人情報処理学会、2003年6月15日、第44巻、第SIG8(TOD18)、p.78−91
【文献】
・岩崎雅二郎、大量画像データベースへの効率的アクセスを可能とする統合画像アクセスインタフェース、情報処理学会論文誌、社団法人情報処理学会、2001年1月15日、第42巻、第SIG1(TOD8)、p.32−42
【文献】
・中川純一外4名、画像検索のための高速データアクセスエンジン、マルチメディア、分散、協調とモバイルワークショップ 情報ワークショップ論文集、社団法人情報処理学会、1997年7月2日、第97巻、第2号、p.365−370
(58)【調査した分野】(Int.Cl.,DB名)
要求を分散型画像マッチングサーバーのセットの1つまたは複数の画像マッチングサーバーに送信する前に、問い合わせサーバーにおいて問い合わせ画像のサイズをあらかじめ定義されたサイズに変更することをさらに備える請求項1の方法。
要求を分散型画像マッチングサーバーのセットの1つまたは複数の画像マッチングサーバーに送信する前に、問い合わせ画像に関する特徴点のセットを問い合わせサーバーにおいて抽出する、請求項3の方法。
画像マッチングサーバーで画像検索をする前に、分散型画像マッチングサーバーのセットの1つまたは複数の画像マッチングサーバーにおいて、問い合わせ画像に関する特徴点のセットを抽出する、請求項3の方法。
画像検索が、問い合わせ画像から抽出した特徴点のセットと分散型画像マッチングサーバーのセットの1つまたは複数の画像マッチングサーバーに格納されている複数の複製画像に関する特徴点のセットとのマッチングに基づく、請求項1の方法。
1つまたは複数のマッチを特定されたマッチの一覧から選択する際にスコアの高い順に特定されたマッチの一覧を前記問い合わせサーバーにおいて並べ替える、請求項7の方法。
【発明を実施するための形態】
【0013】
本発明のさまざまな実施形態は、画像マッチングのための方法およびシステムに関する。画像マッチングは、問い合わせ画像に対する1つまたは複数のマッチを特定するために行われる。問い合わせ画像は問い合わせサーバーで受信する。問い合わせサーバーは問い合わせ画像を処理し、画像ベース検索を実施するために分散型画像マッチングサーバーのセットの1つまたは複数の画像マッチングサーバーに要求を送信する。その後、問い合わせサーバーは問い合わせイメージに対して特定されたマッチの一覧を画像マッチングサーバーから受信する。問い合わせサーバーは、次いで、特定されたマッチングの一覧にスコアを割り当て、1つまたは複数のマッチを、スコアに基づいて一覧から選択する。
【0014】
図1は本発明のさまざまな実施形態を実施できる典型的な環境100を示す。
【0015】
環境100は問い合わせ画像102、問い合わせサーバー104、および分散型画像マッチングサーバー106−1〜106−nのセットを含む。画像マッチングサーバーに使用されている変数「n」は、本発明の実施において使用される画像マッチングサーバーの数によって異なる。問い合わせ画像102はたとえばJoint Photographic Experts Group(JPEG)、Graphics interchange Format(GIF)、Bitmap(BMP)などの標準の画像形式をとることができる。さらに、問い合わせ画像102は、特定の製品の画像、新聞記事、映画のポスター、あるいはその他のカメラで撮影可能な画像や通信デバイスで受信または格納可能な画像であり得る。
【0016】
本発明の一実施形態に従うと、ユーザーは、1つまたは複数のマッチする画像を特定するために問い合わせ画像102を問い合わせサーバー104に送信するため、通信デバイスを使用できる。問い合わせ画像102の送信に使用される通信デバイスは、たとえば、携帯電話、携帯情報端末(PDA)、パーソナルコンピュータまたはノートパソコン、あるいはその他の問い合わせ画像102を問い合わせサーバー104に送信できる通信デバイスがあり得る。問い合わせ画像102を通信デバイスから受信すると、問い合わせサーバー104は問い合わせ画像102を処理し、あらかじめ定義されたサイズに変更する。
その後、サイズ変更された問い合わせ画像102は、分散型画像マッチングサーバー106−1〜106−nのセットの1つまたは複数の画像マッチングサーバーに送信される。
【0017】
問い合わせサーバー104および分散型画像マッチングサーバー106−1〜106−nのセットは、任意のネットワークデータ処理ユニットとすることができる。さらに、画像マッチングサーバー106−1〜106−nのセットの画像マッチングサーバーは、複数画像のデータベースを含む。問い合わせ画像102に対する画像ベースの検索は、画像マッチングサーバー106−1〜106−nで実行される。当業者にとっては、問い合わせ画像102に対する1つまたは複数の特定されたマッチは、問い合わせ画像102とまったく同一でなくても良いが、問い合わせ画像102に含まれている内容と同じ内容が含まれるだろうことは明らかであろう。たとえば、1つまたは複数の特定されたマッチは、サイズ変更、回転、拡大したものであっても良い。画像マッチングアルゴリズムが、画像マッチングサーバー106−1〜106−nで、問い合わせ画像102の1つまたは複数のマッチングを画像マッチングサーバー106−1〜106−nに格納されている複数画像を使用して特定するために使用される。さらに、画像マッチングサーバー106−1〜106−nからの画像ベース検索の結果は、問い合わせサーバー104に送信され、問い合わせサーバー104で1つに合わせられる。特定されたマッチの一覧のマッチは、問い合わせ画像102との幾何学的マッチングの程度に基づいてスコアが割り当てられ、スコアの高い順に並べ替えられる。最後に、問い合わせサーバー104で合わせられた一覧の並べ替え結果のうち上位3位または4位がユーザーに提供される。
【0018】
図2は画像マッチングの典型的な方法を、本発明のさまざまな実施形態に従って示した流れ図である。問い合わせ画像、たとえば問い合わせ画像102に対する1つまたは複数のマッチする画像を検索したいと思っているユーザーは、問い合わせ画像102を問い合わせサーバー104に通信デバイスを使用して送信することができる。1つまたは複数のマッチする画像が、問い合わせ画像102の内容および/または背景の観点から、問い合わせ画像102と非常に良く似ている可能性がある。また、問い合わせ画像102は、通信デバイスから問い合わせサーバー104に、たとえばハイパーテキスト転送プロトコル(HTTP)、Simple Mail Transfer Protocol(SMTP)、ファイル転送プロトコル(FTP)などの任意の標準通信プロトコルを使用して送信することができる。
【0019】
ステップ202で、問い合わせ画像102は問い合わせサーバー104により受信される。問い合わせ画像102は次いで、問い合わせサーバー104で処理され、あらかじめ定義されたサイズに変更される。一例では、あらかじめ定義されたサイズは、問い合わせ画像102のサムネールサイズとすることができる。別の例では、問い合わせ画像102は、サイズ縮小した問い合わせ102と、マッチングサーバー106−1〜106−nの画像データベースに格納されている複数のサイズ縮小した画像とをマッチングするため、あらかじめ定義されたサイズまでサイズ縮小される。ステップ204では、問い合わせサーバー104は、分散型画像マッチングサーバー106−1〜106−nのセットの1つまたは複数の画像マッチングサーバーに要求を送信して、問い合わせ画像102に対する画像検索を実施する。一実施形態では、ステップ204の実施の前に、問い合わせサーバー104は問い合わせ画像102から特徴点を抽出できる。特徴点のセットは、画像マッチングサーバー106−1〜106−nに格納されている複数の画像に関する特徴点のセットとのマッチングに使用される。特徴点は、画像を象徴する「関心を引く点」のセットである。画像の特徴点を特定するため、画像内の点の「関心の高さ」が、あらかじめ定義された方法で計算される。これらの特徴点は、画像の回転方向、サイズ、視点、照明条件が変更しても揺るがない。さらに、2つの画像に対する特徴点が、視覚的および幾何学的に十分な数だけマッチしている場合に、1つまたは複数の画像をマッチとして特定できる。この実施形態に従って、要求に問い合わせ画像102から抽出された特徴点を含めることができる。別の実施形態では、問い合わせ画像102に対する特徴点のセットが、分散型画像マッチングサーバー106−1〜106−nの1つまたは複数の画像マッチングサーバーで個別に抽出される。この実施形態に従うと、要求に問い合わせ画像102に対応するサイズ変更した画像を含めることができる。
【0020】
さらに、抽出された特徴点のセットに基づき、分散型画像マッチングサーバー106−1〜106−nのセットの画像マッチングサーバーは、データベースに格納されている複数の画像で画像検索を実施する。画像検索は、複数の画像に関する特徴点のセットと、問い合わせ画像102から抽出された特徴点のセットとのマッチングに基づく。本発明のこの態様は、
図3および4を用いて詳細を説明する。画像検索の結果として、ステップ206で、問い合わせサーバー104は分散型画像マッチングサーバー106−1〜106−nから、問い合わせ画像102に対する特定されたマッチの一覧を受信する。
【0021】
その後、問い合わせサーバー104は、問い合わせ画像102の幾何学的マッチングの程度に基づいて、分散型画像マッチングサーバー106−1〜106−nのセットから受信した、特定されたマッチの一覧にスコアを割り当てる。基本的に、スコアは、問い合わせ画像102に対する特定の画像のマッチングの程度に基づいて割り当てられる。一実施形態では、Random Sample Consensus(RANSAC)アルゴリズムを、特定されたマッチの一覧のスコア付けに使用できるが、他のRANSAC様の変形アルゴリズムまたは他の統計アルゴリズムも使用できる。一般に、特定されたマッチの一覧にスコア付けするアルゴリズムは、問い合わせ画像102および特定されたマッチの一覧に対する特徴ベクトルに基づく。特徴ベクトルは、画像から抽出された特徴点のセットから得ることができる。互いに似ているマッチングされた2つの画像に対応する特徴ベクトルは、視覚的に似ており、対応する特徴点は、推定一致または「一致」と呼ばれる。RANSACアルゴリズムに従って、推定一致のセットが少数、ランダムに抽出される。その後、これら抽出された一致を使用して、変換が生み出される。変換の生成後、抽出された一致により形成される画像マッチングモデルに適合する推定一致が決定される。画像マッチングモデルに適合する推定一致は、幾何学的に一致し、「内座層」と呼ばれる。その後、特定されたマッチの1つと、マッチングが行われた問い合わせ画像102に対応する内座層の合計数が決定される。前述のステップは、繰り返し数/試行数があらかじめ定義されたしきい値制限よりも大きくなるか、または、特定されたマッチの一覧からの1つまたは複数の画像のマッチされた内座層数が、特定されたマッチの一覧の画像と問い合わせ画像102との間のマッチングを決定できるほどに十分な数になるまで、特定されたマッチの一覧内の一連の画像に対し繰り返される。これに基づき、RANSACアルゴリズムは、特定されたマッチの一覧に対し画像マッチングモデルに対応する内座層の最高数を返す。その後、特定されたマッチの一覧は、特定されたマッチの一覧の画像に対して特定された内座層に基づいてスコア付けされる。たとえば、問い合わせ画像102に対する内座層の最大数を持つ、特定されたマッチの一覧の画像には最高スコアが割り当てられ、特定された一覧の他の画像にも同様にスコアが割り当てられる。別の実施形態では、特定されたマッチのスコア付けが、問い合わせ画像102に対してマッチングされた内座層がカバーする、特定された画像の面積に基づいて実施される。たとえば、2つの特定されたマッチは、問い合わせ画像に対して同じ数の内座層を有し得る。しかしながら、1つの特定されたマッチは、すべての内座層が画像の1隅に集中しており、もう一方の特定されたマッチの内座層が画像全体に散らばっていることがあり得る。この場合、この2つの特定されたマッチは、内座層が同じ数であっても、異なるスコアを有することになる。
【0022】
ステップ208では、特定されたマッチの一覧から1つまたは複数のマッチが、特定されたマッチに割り当てられたスコアに基づいて選択される。一実施形態では、1つまたは複数のマッチが特定されたマッチの一覧から選択される前に、特定されたマッチの一覧が、割り当てられたスコアの高いものから順に並べ替えられる。さらに、問い合わせ画像102に対する最もマッチングの可能性が高い画像が、画像検索を通じて取得され、最高のスコアを割り当てられて並べ替えた一覧の一番上に配置され、問い合わせ画像102に似ていない画像は並べ替えた一覧の下位に配置される。
【0023】
図3は、本発明のさまざまな実施形態に従って問い合わせサーバー302を図示するブロック図である。問い合わせサーバー104は構造的、機能的に問い合わせサーバー302と類似する。問い合わせサーバー302はレシーバー304、抽出モジュール306、分割モジュール308、統合モジュール310、およびスコア付けモジュール312を有する。レシーバー304は、問い合わせ画像102を受信し、あらかじめ定義したサイズに変更するために使用される。抽出モジュール306は、問い合わせ画像102に対する特徴点のセットを抽出するために使用される。さらに、分割モジュール308は、1つまたは複数の画像マッチングサーバー106−1〜106−nに要求を送信するために使用される。一実施形態では、この要求は1つまたは複数の画像マッチングサーバー106−1〜106−nに、同時に画像検索を実施するように送信できる。つまり、分散型画像マッチングサーバー106−1〜106−nの各画像マッチングサーバーが要求を同時に受信し、画像検索を開始する。
図2を用いて説明しているように、この要求には、抽出モジュール306により問い合わせ画像102から抽出された特徴点のセットまたはサイズ変更された問い合わせ画像102のいずれかを含めることができる。
【0024】
要求にサイズ変更された問い合わせ画像102が含まれている場合、画像マッチングサーバー106−1〜106−nは、画像検索を開始する前に問い合わせ画像102に対する一連の特徴点を抽出する必要がある場合がある。当業者にとっては、この場合、問い合わせサーバー302は抽出モジュール306を有しておらず、画像マッチングサーバー106−1〜106−nに存在するだろうことは明らかであろう。
【0025】
画像検索は画像マッチングサーバー106−1〜106−nの画像データベースに格納されている複数の画像内で実施される。画像マッチングサーバー106−1〜106−nのいずれかで問い合わせ画像102に対して1つまたは複数のマッチングが特定された場合、対応する画像マッチングサーバーは問い合わせサーバー302にマッチする画像の一覧を送信する。一実施形態では、画像マッチングサーバー106−1〜106−nのいずれかが問い合わせ画像102に対する1つまたは複数のマッチする画像を特定するとすぐに、すべての画像マッチングサーバー106−1〜106−nで画像検索が停止する。この実施形態に従うと、1つの画像マッチングサーバーからのマッチする画像がユーザーに提供されるため、画像マッチングアルゴリズムは、マッチする画像を特定するために許容度の非常に高いチェックを実行する。さらに、特定された結果は問い合わせサーバー302の統合モジュール310に、並べ替えのために提供される。
【0026】
特定されたマッチの一覧を、分散型画像マッチングサーバー106−1〜106−nのセットから受信すると、スコア付けモジュール312はスコアを特定されたマッチに割り当てる。特定されたマッチの一覧のスコア付けは、
図2を用いて詳細を説明済みである。さらに、特定されたマッチの一覧のスコア付けに基づいて、特定されたマッチの一覧からの1つまたは複数のマッチが、統合モジュール310により選択される。2つの画像マッチングサーバーが、同じ画像を問い合わせ画像102に対するマッチとして特定した場合、スコア付けモジュール312は同じスコアを特定されたマッチに割り当てる。さらに、あらかじめ定義されたスコア付け機能が、特定されたマッチに対してスコアを割り当てるために使用される。
【0027】
図4は、本発明のさまざまな実施形態に従った、画像マッチングシステムを説明する、簡略化された代表的なブロック図である。
図4は問い合わせサーバーを含み、それは構造的および機能的に問い合わせサーバー104と302に類似する。問い合わせサーバー402はレシーバー404、分割モジュール406、統合モジュール408、およびスコア付けモジュール409を含む。さらに、画像マッチングシステムは、画像マッチングサーバー410−1〜410−nのセットを含む。画像マッチングサーバー410−1〜410−nは構造的および機能的に画像マッチングサーバー106−1〜106−nに類似する。分散型画像マッチングサーバー410−1〜410−nのセットの1つまたは複数の画像マッチングサーバーは、抽出モジュール、画像データベース、特徴データベースを含む。すべての画像マッチングサーバー410−1〜410−nに対して、抽出モジュールはまとめて抽出モジュール412−1〜412−nとラベル付けされている。同様に、画像データベースもまとめて画像データベース414−1〜414−nとラベルが付けられており、特徴データベースもまとめて特徴データベース416−1〜416−nとラベルが付けられている。画像マッチングサーバーおよびそのコンポーネントに使用されている変数「n」は、本発明の実施において使用される画像マッチングサーバーの数によって異なる。
【0028】
図2を用いて説明しているように、抽出モジュール412−1〜412−nは、問い合わせ画像102に対する特徴点を抽出するために使用される。さらに、画像データベース414−1〜414−nは、複数の画像を含む。複数の画像を、雑誌、ポスター、新聞、インターネット、看板広告などのいくつかの収集源から選択できる。一実施形態では、複数の画像の各画像を、あらかじめ定義されたサイズに縮小してから、画像データベース414−1〜414−nに格納することができる。画像マッチングサーバー410−1〜410−nで受信した問い合わせ画像102は、対応する画像データベース414−1〜414−nに格納されている縮小画像とマッチングされる。一実施形態では、画像マッチングサーバーが1つまたは複数のマッチする画像を縮小画像内で検索できない場合、問い合わせ画像102は通常サイズの画像(縮小していない画像)とマッチングされる。
【0029】
複数の画像と複数の画像に関する一連の特徴点を格納するために使用する画像マッチングサーバーには、格納容量に限度がある。そのため、画像マッチングサーバーの画像データベースに格納できる画像および特徴点のセット数には限度がある。一実施形態では、画像データベース414−1〜414−nそれぞれに、複数の画像および分散型画像マッチングサーバー410−1〜410−nのセットに格納可能な複数の画像に関する特徴点のセットのサブセットを割り当てることができる。このサブセットは、画像データベース414−1〜414−nに格納可能な画像数および画像に関する特徴点のセット数に基づいて割り当てることができる。たとえば、容量がそれぞれ10ギガバイト(GB)、20GB、30GBのサーバーが3台ある場合、1000万画像のセットとその画像に関する特徴点のセットを、3つの画像データベースに対応する3つの画像サブセットに1:2:3の割合で分散できる。また、別の場合では、各画像データベースに同じ数の画像が格納されるように、画像を3つの画像データベースに均等に分散することもできる。当業者にとっては、画像マッチングサーバーの格納容量および/または画像データベース414−1〜414−nに格納することが必要な画像数に基づき、サブセットの構成について他の多数の組み合わせが可能であることは明らかであろう。
【0030】
別の実施形態では、画像のサブセットを、特定の画像セットに対して受信する問い合わせ画像数に基づいて、画像データベース414−1〜414−nのうち1つに格納できる。たとえば、画像データベース414−1〜414−nのうち1つは、他の格納されている画像とは別に、直近に公開された映画「X」を含む画像のセットを含むことができる。また、映画「X」に対する多くの問い合わせ画像を、問い合わせサーバー402で受信し得る。このような場合、画像データベース414−1〜414−nに格納されている、映画「X」を含む画像のセットに特定のサブセットを割り当てることができる。同様に、多くの問い合わせ画像が受信される他の画像のセットは、画像マッチングサーバーの画像データベース414−1〜414−nのうち1つに特定のサブセットを割り当てることができる。当業者にとっては、特定の画像セットに対する問い合わせ画像を受信する回数に基づいて他の多数のサブセットを画像データベースに構成することができることは明らかであろう。
【0031】
さらに別の実施形態では、このサブセットは、近い将来に特定の画像のセットに対する問い合わせ画像を大量に受信する可能性に基づいて割り当てることができる。この場合、問い合わせ画像を大量に受信することが予想される画像データベース414−1〜414−nのうち1つに格納されている画像のセットを、1つのサブセットに割り当てることができる。たとえば、特定の映画が映画館で封切られる前に、この映画のポスターや映画の俳優などに対する問い合わせ画像を受信する可能性が高い。特定の画像セット(映画のポスターや俳優)に対する問い合わせ画像を受信する可能性の高さに基づき、映画のポスターや俳優が含まれる画像のセットを、1つのサブセットに割り当てることができる。さらに、場合によっては、比較的大きな格納容量を有する画像マッチングサーバー410−1〜414−nのうち1つを、サブセットが多数の関連画像を含んでいる場合に、このような画像のサブセットを格納するために使用することができる。また、場合によっては、サブセットは特定の分野、人物、場所、動物や物などに対する問い合わせ画像の過去の受信傾向に基づいて割り当てることができる。過去の傾向により、特定の画像セットに対して受信した問い合わせ画像数が継続的に増加していることが示されている場合、この画像セットを1つのサブセットに割り当てることができる。たとえば、映画の公開の予定があるため、この映画に対する問い合わせ画像の受信数が継続的に増加している場合は、この映画に対する画像のセットを1つのサブセットに割り当てることができる。
【0032】
画像マッチングサーバー410−1〜414−nはそれぞれ、複数の画像に関する特徴点のセットを格納する特徴データベース416−1〜416−nを含む。2つの画像に対する特徴点のセットを、2つの画像が似ているか似ていないかを検証するために使用できる。さらに、分散型画像マッチングサーバー410−1〜410−nのセットの画像マッチングサーバーは、画像ベース検索を実施するための画像検索モジュール418−1〜418−nを含む。画像ベースの検索は、本分野で知られる画像マッチング技術を使用して実行することができる。一実施形態では、画像検索は、複数の画像に関する特徴点のセットと、問い合わせ画像102から抽出された特徴点のセットとのマッチングにより実行される。画像検索に基づいて、問い合わせ画像102に対するマッチする画像の一覧は、
図2を用いて説明したように、1つまたは複数の画像マッチングサーバー410−1〜410−nにより特定できる。
【0033】
場合によっては、画像検索モジュール418−1〜418−nは、画像データベース414−1〜414−nに格納されている縮小した画像での画像検索を実施している間に、問い合わせ画像102に対応する1つまたは複数のマッチする画像を見つけない場合がある。このような場合、画像検索モジュール418−1〜418−nは、複数の縮小画像に対応する複数の通常サイズの画像(縮小していない画像)でマッチする画像の検索ができる。一実施形態では、すべての通常サイズの画像を、単一の画像マッチングサーバーに格納することができる。画像データベース414−1〜414−nに格納されている縮小画像は、これらの通常サイズの画像から、複製モジュール420−1〜420−nにより複製される。複製モジュールは、単一の画像マッチングサーバーに置くことができる。さらに、当業者にとっては、単一の画像マッチングサーバーの格納容量はすべての通常サイズの画像を格納するために適切なサイズでなければならないことは明らかであろう。
【0034】
本発明の別の実施形態では、通常サイズの画像は、分散型画像マッチングサーバーのセットに格納することができる。縮小画像と同様、通常サイズの画像は、複数の画像マッチングサーバーの画像データベースに格納できる。この場合、分散型画像マッチングサーバー410−1〜410−nのセットの1つまたは複数の画像マッチングサーバーに、各通常サイズの画像を縮小した複製を作成し、画像データベース414−1〜414−nに格納するための複製モジュール420−1〜420−nが含まれることが好ましいだろう。さらに、複数の縮小画像のサブセットの構成と同様に、分散型画像マッチングサーバーのセットの画像データベースに格納されている複数の通常サイズの画像にサブセットを割り当てることができる。このサブセットは、縮小画像について前述した方法と同様の方法で割り当てることができる。当業者には、通常サイズの画像を格納するために使用される画像マッチングサーバーのセットは、画像マッチングサーバー410−1〜410−nであっても良いことは明らかであろう。
【0035】
以下の例で、本発明の1つの適用例について示す。ユーザーは、たとえば映画「X」のポスターの画像などの問い合わせ画像を、内蔵カメラ付き携帯電話などの通信デバイスを使用して、1つまたは複数のマッチする画像を検索するため問い合わせサーバー104に送信できる。問い合わせ画像を受信すると、問い合わせサーバーは問い合わせ画像を、あらかじめ定義されたサイズ、例えば150x150ピクセルに変更する。当業者にとっては、問い合わせ画像を縮小するためにあらかじめ定義したサイズは、本発明の実際の実施によって異なることは明らかであろう。さらに、この問い合わせサーバー104は、画像検索を実施するように、分散型画像マッチングサーバーのセットである1つまたは複数の画像マッチングサーバーに要求を送信する。この要求には、サイズ変更した問い合わせ画像または、問い合わせ画像から抽出した特徴点のいずれかを含めることができる。画像ベース検索が、画像データベース414−1〜414−nに格納された複数の縮小画像に対し実施される。これらの縮小画像は、1つまたは複数の画像マッチングサーバーに格納されている通常サイズの画像から複製できる。
【0036】
さらに、
図4を用いて説明したように、画像マッチングサーバー410−1〜410−nには、問い合わせ画像、つまり映画「X」のポスターに関連する縮小画像のセットを格納したあらかじめ定義したサブセットを含めることができる。この場合、映画「X」のポスターに海岸が含まれている場合は、あらかじめ定義したサブセットにインターネット、雑誌、掲示広告などのさまざまな収集源から取得したさまざまな海岸の縮小画像を含めることができる。また、問い合わせ画像に対するサブセットがない場合があっても良い。当業者にとっては、サブセットの構成は単に、内容または背景が同様な画像のセットをグループとして分類するということは明らかであろう。縮小画像のサブセットが、問い合わせ画像に対し定義された場合、画像検索がサブセット内で行われる。しかし、サブセットが定義されない場合は、画像検索は、画像データベース414−1〜414−nに格納された複数の縮小画像全体に対して行われる。
【0037】
1つまたは複数の画像マッチングサーバーによって、1つまたは複数のマッチが問い合わせ画像に対し特定された場合、特定されたマッチの一覧が問い合わせサーバー402に送信される。特定されたマッチには、映画「X」のポスターを回転または拡大したバージョンの画像が含まれている場合がある。また、特定されたマッチには、映画「X」のポスターに似た映画のポスターの画像が含まれている場合もある。たとえば、映画「X」がシュレックの場合、特定されたマッチには、シュレック、シュレック2、シュレック3のポスターの画像が含まれるだろう。さらに、スコア付けモジュール409が、特定されたマッチの一覧の特定されたマッチにスコアを割り当てる。スコア付け機能により、特定されたマッチの一覧中で最もマッチングしている可能性が高いものに最高のスコアが割り当てられるようにし、同様に、他のマッチも、問い合わせ画像に対する関連度に基づいてランク付けされる。割り当てられたスコアに基づいて、特定されたマッチが、割り当てられたスコアの高い順に並べ替えられる。映画「X」のポスターに対するマッチングの可能性が最も高い画像が、画像検索を通じて取得され、最高のスコアを割り当てられ、並べ替えた一覧の一番上に置かれ、映画「X」のポスターに似ている画像は並べ替えた一覧の下位に配置される。最後に、1つまたは複数の画像、たとえば並べ替えた一覧の上位3つまたは4つの画像を、映画「X」のポスターに対するマッチとして選択できる。
【0038】
本発明により、問い合わせ画像が分散型画像マッチングサーバーのセットの画像データベースで容易にマッチングできるようになり、これによって画像検索を実施する画像のデータベースが増加する。分散型画像マッチングサーバーのセットで画像検索を実施することによって、画像データベースを格納するサーバーの合計数が増加し、結果的に、画像検索を実施ために、より多くの参照画像を画像データベースに格納できる。したがって、問い合わせ画像に対してマッチし得る参照画像数が増加する。さらに、好ましくは、分散型画像マッチングサーバーのセットの画像マッチングサーバーはそれぞれ、要求(問い合わせ画像または問い合わせ画像から抽出した特徴点のセット)を受信し、同時に画像検索を開始する。その結果、1つまたは複数のマッチする画像を特定するために必要な時間が減少する。また、既に説明したように、画像検索は、1つまたは複数のマッチする画像を特定するためにすべての画像マッチングサーバーで実施できるようにするか、または、画像マッチングサーバーのいずれかが1つまたは複数のマッチする画像を特定した場合に画像検索がすべての画像マッチングサーバーにわたって停止できることが好ましい。さらに、問い合わせ画像に対応する特徴点が問い合わせサーバーで抽出され、これにより分散型画像マッチングサーバーのセットの画像マッチングサーバーそれぞれで特徴点を抽出する手間を減らし、画像マッチングシステム全体のスループットが増加するようになる。これに加え、問い合わせ画像は、画像データベースに格納した縮小画像とマッチングすることもでき、その結果、さまざまなユーザーから受信した問い合わせ画像を、所与の時点ででより多くマッチングすることができる。また、一実施形態では、画像マッチングサーバーが、画像データベースに格納された縮小画像でマッチングが特定されない場合にのみ、問い合わせ画像と通常サイズの画像とをマッチングするため、マッチングの特定にかかる時間が著しく減少する。縮小画像の特徴点のマッチングは、縮小画像の容量がより小さく、このため画像データベースに他の収集源からの画像を格納するために利用できる容量が増えるため、好都合である。さらに、縮小画像の特徴点のマッチングでは、マッチする画像の特定に必要な時間が減少する。最後に、あらかじめ定義したスコア付け機能により、分散型画像マッチングサーバーのセットの異なる画像マッチングサーバーで見つかった特定されたマッチの一覧からの1つまたは複数のマッチにスコアを割り当てて選択でき、これによって結果が重複する原因となる複数の似たマッチする画像が効果的に区別され、ユーザーに提供するマッチする画像の一覧から削除したり下位に配置したりできる。
【0039】
本発明は、コンピュータ画像認識、オブジェクト認識、運動追跡、3Dモデリングなどの分野で使用され得る。画像マッチングは、これらすべての分野で要求される基礎的な機能である。画像は、Joint Photographic Experts Group(JPEG)、Graphics interchange Format(GIF)、Bitmap(BMP)などの異なる形式であっても良い。これらの画像の品質と解像度は、アプリケーションによって異なり得る。さらに、画像はまったく同じではなく、互いに変形したバージョンでも良い。
【0040】
本発明で説明しているこのシステム、またはその構成要素のいずれも、コンピュータシステムの形で実施され得る。コンピュータシステムの典型例には、汎用コンピュータ、プログラムされたマイクロプロセッサ、マイクロコントローラ、周辺の集積回路要素、および他の、本発明の方法を構成するステップを実施可能なデバイスまたはデバイスの配置が含まれる。
【0041】
画像マッチングシステムで使用されるサーバーは、コンピュータ、入力デバイス、ディスプレイユニットで構成される。コンピュータはマイクロプロセッサを備えており、通信バスに接続される。また、サーバーはメモリーも含む。これには、ランダムアクセスメモリ(RAM)およびリードオンリーメモリ(ROM)が含まれていても良い。さらに、サーバーは格納デバイスを備える。これには、ハードディスクドライブまたはフロッピーディスクドライブ、光ディスクドライブなどのリムーバブル記憶機器であり得る。さらに、記憶機器は、サーバー上にコンピュータプログラムや他の命令を格納するための他の同様の手段であっても良い。
【0042】
入力データを処理するため、コンピュータシステムは、1つまたは複数の記憶要素に格納されている命令セットを実行する。記憶要素はまた、データや他の情報を必要に応じて格納でき、処理マシンが有する情報ソースまたは物理メモリー要素であっても良い。
【0043】
命令セットに、処理マシンが本発明の方法を構成するステップなどの特定のタスクを実行するためのさまざまなコマンドを含めても良い。命令セットは、ソフトウェアプログラムの形式であっても良い。ソフトウェアは、システムまたはアプリケーションソフトウェアなどのさまざまな形式をとることができる。このソフトウェアは、また、別個のプログラムの集合体、より大きなプログラムのログラムモジュール、あるいはプログラムモジュールの一部という形式でも良い。さらに、このソフトウェアは、モジュラープログラミングをオブジェクト指向プログラミングの形式で含んでいても良い。処理マシンによる入力データの処理は、ユーザーのコマンドまたは前回の処理の結果に応答して行われても良い。
【0044】
付記項1
画像マッチングの方法であって、
問い合わせサーバーにおいて問い合わせ画像を受信することと、
問い合わせ画像に対する画像検索を実施するために分散型マッチングサーバーのセットの1つまたは複数の画像マッチングサーバーに要求を送信することと、
問い合わせサーバーにおいて、1つまたは複数の画像マッチングサーバーから、問い合わせ画像に対して特定されたマッチの一覧を受信し、このマッチの一覧は1つまたは複数の画像マッチングサーバーでの画像検索に基づいて特定されることと、
特定されたマッチに対するスコアに基づいて特定されたマッチの一覧から1つまたは複数のマッチを選択すること
とを備える方法。
【0045】
付記項2
要求を分散型画像マッチングサーバーのセットの1つまたは複数の画像マッチングサーバーに送信する前に、問い合わせサーバーにおいて問い合わせ画像のサイズをあらかじめ定義されたサイズに変更することをさらに備える付記項1の方法。
【0046】
付記項3
問い合わせ画像に関する特徴点のセットを抽出することをさらに備える付記項1の方法。
【0047】
付記項4
要求を分散型画像マッチングサーバーのセットの1つまたは複数の画像マッチングサーバーに送信する前に、問い合わせ画像に関する特徴点のセットを問い合わせサーバーで抽出する付記項3の方法。
【0048】
付記項5
画像マッチングサーバーにおいて画像検索をする前に、分散型画像マッチングサーバーのセットの1つまたは複数の画像マッチングサーバーにおいて問い合わせ画像に関する特徴点のセットを抽出する付記項3の方法。
【0049】
付記項6
複数の画像を縮小した形式で複製することをさらに備える付記項1の方法。
【0050】
付記項7
複数の複製画像および複数の複製画像に関する特徴点のセットを、分散型画像マッチングサーバーのセットの1つまたは複数の画像マッチングサーバーの画像データベースおよび特徴データベースそれぞれに格納することをさらに備える付記項6の方法。
【0051】
付記項8
画像検索が、問い合わせ画像から抽出した特徴点のセットと分散型画像マッチングサーバーのセットの1つまたは複数の画像マッチングサーバーに格納されている複数の複製画像に関する特徴点のセットとのマッチングに基づく、付記項7の方法。
【0052】
付記項9
1つまたは複数の画像マッチングサーバーの画像データベースにサブセットを割り当ててることであって、このサブセットが、
(i)特定の画像のセットに対して受信した問い合わせ数、および
(ii)画像マッチングサーバーの画像データベースに格納されている画像の総数、のうちいずれかまたは複数に基づいて選択されること
とをさらに備える付記項7の方法。
【0053】
付記項10
スコア付け機能に基づいて特定されたマッチに対してスコアを割り当てることをさらに備える付記項1の方法。
【0054】
付記項11
1つまたは複数のマッチを特定されたマッチの一覧から選択する際にスコアの高い順に特定されたマッチの一覧を並べ替える、付記項10の方法。
【0055】
付記項12
要求が問い合わせ画像を含む、付記項1の方法。
【0056】
付記項13
要求が問い合わせ画像から抽出された特徴点のセットを含む、付記項1の方法。
【0057】
付記項14
サーバーであって、
問い合わせ画像を受信するためのレシーバーと、
問い合わせ画像から特徴点を抽出するための抽出モジュールと、
画像検索を実行するために分散型画像マッチングサーバーのセットの1つまたは複数の画像マッチングサーバーに要求を送信するための分割モジュール、および
(i)1つまたは複数の画像マッチングサーバーから問い合わせ画像に対する特定されたマッチの一覧を受信し、このマッチの一覧は、1つまたは複数の画像マッチングサーバーでの画像検索に基づいて特定され、
(ii)特定されたマッチに対するスコアに基づいて特定されたマッチの一覧から1つまたは複数のマッチを選択する
よう設定されている統合モジュール
とを備えたサーバー。
【0058】
付記項15
特定されたマッチそれぞれに対するスコアを割り当てるように構成されたスコア付けモジュールをさらに備える付記項14のサーバー。
【0059】
付記項16
システムであって、
(a)問い合わせ画像を受信するためのレシーバー、
(b)画像検索を実行するために、分散型画像マッチングサーバーのセットの1つ又は複数の画像マッチングサーバーに要求を送信するための分割モジュール、
(c)統合モジュールで、
(i)画像マッチングサーバーからの問い合わせ画像に対するマッチの一覧を受信し、このマッチの一覧が画像マッチングサーバーでの画像検索に基づいて特定され、
(ii)1つまたは複数のマッチを特定されたマッチに対するスコアに基づいて特定されたマッチの一覧から選択する
よう設定されたモジュール
とを備えた1つの問い合わせサーバーと、
問い合わせ画像から特徴点を抽出するための抽出モジュールを備えた分散型画像マッチングサーバーのセット
とを備えたシステム。
【0060】
付記項17
複数の画像を縮小した形式で複製するための複製モジュールをさらに備える付記項16のシステム。
【0061】
付記項18
画像マッチングサーバーに、複数の複製画像および複数の複製画像のそれぞれに関する特徴点のセットを格納するための画像データベースと特徴データベースをさらに備える、付記項17のシステム。
【0062】
付記項19
分散型画像マッチングサーバーのセットの画像マッチングサーバーに、問い合わせ画像から抽出された特徴点のセットと特徴データベースに格納された複数の複製された画像に関する特徴点のセットとをマッチングするための検索モジュールをさらに備える、付記項18のシステム。
【0063】
付記項20
コンピュータと共に使用するためのコンピュータプログラム製品であって、このコンピュータプログラム製品に画像マッチングのためのコンピュータが読み取り可能なプログラムコードがその中に組み込まれたコンピュータ使用可能な媒体に格納された命令を含み、そのコンピュータが読み取り可能なプログラムコードが、
(a)問い合わせサーバーでにおいて問い合わせ画像を受信するためのプログラム命令と、
(b)問い合わせ画像に対する画像検索を実施するために分散型マッチングサーバーのセットの1つまたは複数の画像マッチングサーバーに要求を送信するためのプログラム命令と、
(c)問い合わせサーバーにおいて、問い合わせ画像に対して1つまたは複数の画像マッチングサーバーから、特定されたマッチの一覧を受信し、ここでマッチの一覧は1つまたは複数の画像マッチングサーバーでの画像検索に基づいて特定するためのプログラム命令、および
(d)特定されたマッチに対するスコアに基づいて特定されたマッチの一覧から1つまたは複数のマッチを選択するためのプログラム命令
とを備えるコンピュータプログラム製品。
【0064】
本発明の好ましい実施形態を図示し説明してきたが、本発明はこれらの実施形態のみに限定されるものではないことは明らかであろう。さまざまな修正、変更、変形形態、代替および均等物が、本明細書で説明している本発明の精神および範囲から逸脱せずに、当業者にとっては明らかとなろう。