以下に添付図面を参照して、画像検索システム、画像検索装置および画像検索方法の実施形態を詳細に説明する。図1は、実施形態に適用可能な情報処理システムの一例の構成を示す図である。図1において、情報処理システム3は、それぞれネットワーク2を介して接続される、検索端末30と、実施形態に係る画像検索システム1と、を含む。
画像検索システム1は、画像検索サーバ10と、登録サーバ20と、登録端末40と、メンテナンス用端末50と、を含む。これらのうち、登録サーバ20および登録端末40は、この画像検索システム1を運営するサービス提供者と、当該サービス提供者と所定の契約を交わした者(事業者と呼ぶ)と、に限定して利用可能とされている。また、画像検索サーバ10は、一般ユーザおよび事業者が利用可能とされている。さらに、メンテナンス用端末50は、サービス提供者に限定して利用可能とされている。
画像検索サーバ10は、画像と連携情報とが関連付けられて格納される画像検索用データベース(DB)と、画像検索部とを含む。画像検索サーバ10は、ネットワーク2を介して受信した画像に基づき画像検索を行い、画像に対応する連携情報を検索結果として出力する。画像検索サーバ10は、検索結果として取得した連携情報を、当該画像の送信元に返す。
例えば、一般ユーザは、特定の画像を含む被写体31を検索端末30により撮像する。検索端末30は、被写体31を撮像した撮像画像をネットワーク2を介して画像検索システム1に送信する。当該撮像画像は、画像検索システム1において、画像検索サーバ10に渡される。画像検索サーバ10は、検索端末30から送信された撮像画像に基づき画像検索を行い、例えば被写体31に含まれる特定の画像に類似した画像を、画像検索用DBから検索する。画像検索サーバ10は、検索された画像に関連付けられた連携情報を、検索端末30に返す。
連携情報が例えばWebサイト60のURL(Uniform Resource Locator)であれば、一般ユーザは、この連携情報に基づき、Webサイト60にアクセスして、特定のコンテンツを取得することができる。例えば、コンテンツを提供するためのWebサイト60を運営する事業者を考え、当該事業者は、特定の画像を含む被写体31を用意すると共に、当該特定の画像を画像検索用DBに登録しておく。こうすることで、当該事業者は、当該被写体31を撮像させることで一般ユーザをWebサイト60にアクセスさせ、当該一般ユーザにコンテンツを提供することができる。
登録サーバ20は、画像検索サーバ10と同等の構成を含み、ネットワーク2を介して受信した画像に基づく画像検索を行い、画像に対応する連携情報を検索結果として出力する。事業者は、登録端末40を用いて登録サーバ20に画像を登録し、検索端末30から登録サーバ20にアクセスして、当該画像に係る検索をテストすることができる。例えば、サービス提供者は、事業者による登録画像のテストが完了すると、メンテナンス用端末50を用いて、登録サーバ20における画像検索用DBの内容を画像検索サーバ10における画像検索用DBに反映させる。
図2は、実施形態に係る画像検索システム1のシステム構成の例を示すブロック図である。なお、図2において、上述した図1と共通する部分には同一の符号を付して、詳細な説明を省略する。
画像検索システム1において、画像検索サーバ10は、上述したように、一般ユーザからの検索要求に応じて参照される、公開用の画像検索用DBを含む。一方、画像検索システム1において、登録サーバ20は、事業者が画像および連携情報を公開用の画像検索用DBに登録する前に、試用にて画像および連携情報を登録する、試用の画像検索用DBを含む。試用の画像検索用DBに登録された画像および連携情報は、サービス提供者により、公開用の画像検索用DBにアップロードされる。
画像検索サーバ10は、当該画像検索サーバ10で動作するモジュールとして、画像検索サービス100と、DB管理サービス101と、画像検索用DB102と、インタフェース部103と、ログ収集サービス104と、を含む。
インタフェース部103は、画像検索サーバ10の各部、および、登録サーバ20とに対するインタフェースである。インタフェース部103は、Webアプリに対するインタフェースを含み、例えば検索端末30に搭載される、この画像検索システム1による画像検索機能を利用するための、Webアプリとして構成される検索アプリと協働して、検索端末30と画像検索サービス100およびDB管理サービス101との間の通信を行う。
画像検索用DB102は、上述した公開用の画像検索用DBであって、画像と、連携情報とが関連付けられて登録される。画像検索用DB102は、画像を、例えば、画像の特徴を抽出した特徴情報として登録する。連携情報は、例えばURLである。
DB管理サービス101は、画像検索用DB102に登録される特徴情報および連携情報の管理を行う。DB管理サービス101は、例えば、後述するインタフェース部103からの要求に応じて、画像検索用DB102に登録される特徴情報および連携情報を更新する。また、DB管理サービス101は、DB管理用アプリケーションにより、後述する画像検索サービス100の要求に応じて、画像検索用DB102に登録される特徴情報を参照して、画像検索サービス100に返す。
画像検索サービス100は、検索端末30により被写体31が撮像された撮像画像と、この撮像画像に基づく画像検索を要求する検索要求とがインタフェース部103を介して渡される。画像検索サービス100は、インタフェース部103から渡された検索要求に従い、撮像画像を解析して特徴情報を抽出する。画像検索サービス100は、抽出した特徴情報に基づき、DB管理サービス101に対して画像検索用DB102に登録される特徴情報の参照を要求し、当該登録される特徴情報から、抽出した特徴情報に対する類似度が高い特徴情報を検索する。
画像検索サービス100は、DB管理サービス101に対して、検索結果の特徴情報に関連付けられて画像検索用DB102に登録される連携情報を要求する。DB管理サービス101は、この要求に応じて画像検索用DB102から連携情報を取り出し、画像検索サービス100に渡す。画像検索サービス100は、DB管理サービス101から渡された連携情報を、インタフェース部103から検索端末30に返す。
ログ収集サービス104は、例えば検索端末30からインタフェース部103へのアクセスに応じたログ情報を収集し、収集したログ情報を後述するステータスDB214に登録する。
登録サーバ20は、画像検索サービス200と、DB管理サービス201と、画像検索用DB202と、インタフェース部203と、を含む。これら画像検索サービス200、DB管理サービス201および画像検索用DB202は、画像検索サーバ10に含まれる画像検索サービス100、DB管理サービス101および画像検索用DB102と同等の機能を有する。ここで、画像検索用DB202は、上述した試用の画像検索用DBである。
例えば、DB管理サービス201は、上述したDB管理サービス101と同等の機能を有し、画像検索用DB202に登録される画像(特徴情報)および連携情報の管理を行う。
事業者は、検索端末30を用いて被写体31を撮像し、撮像画像および検索要求をインタフェース部203に送信する。これにより、事業者は、画像検索用DB202に登録された画像を撮像画像に基づき参照し、当該画像に関連付けられて画像検索用DB202に登録された連携情報を取得し、画像検索用DB202に登録された画像および連携情報を確認することができる。
登録サーバ20は、さらに、インタフェース部210と、ユーザ管理サービス211と、ユーザDB212と、ログ管理サービス213と、ステータスDB214と、を含む。ユーザ管理サービス211は、ユーザDB212に登録されるユーザ情報を管理する。ログ管理サービス213は、ステータスDB214に格納されるログ情報を管理する。
インタフェース部203および210は、Webアプリに対応するインタフェースを含む。インタフェース部203は、例えば登録端末40に搭載される、提供者が画像検索用DB202に対する画像(特徴情報)の登録、当該画像に関連付けられる連携情報の設定などを行うための、Webアプリとして構成される登録ツール41と協働して、登録端末40と画像検索サービス200およびDB管理サービス201との間の通信を行う。
インタフェース部210は、登録端末40に搭載される、提供者がユーザ管理サービス211によるユーザ情報の管理を行うための、Webアプリとして構成される管理ツールと協働して、登録端末40とユーザ管理サービス211との間の通信を行う。なお、登録端末40は、ログ管理サービス213とは、直接的に通信を行い、ステータスDB214に格納されるログ情報を閲覧することが可能である。
メンテナンス用端末50は、画像検索用DB102に登録される画像(特徴情報)および連携情報のメンテナンスを行う。また、メンテナンス用端末50は、画像検索用DB202に登録される画像(特徴情報)および連携情報を、画像検索サーバ10内の画像検索用DB102にアップロードする。この、メンテナンス用端末50による画像および連携情報のアップロードは、例えば、バッチ処理により、開始時間を夜間に指定して実行される。
[既存技術に係る画像検索]
ここで、上述した画像検索システム1における、既存技術に係る画像検索について、概略的に説明する。図3は、既存技術に係る画像検索を説明するための図である。画像検索システム1において、図3(b)に示す画像301a、301bおよび301cは、画像検索サーバ10が有する画像検索用DBに登録される、検索対象の画像である。理解を容易とするために、画像301aは、果実の「ミカン」の画像、画像301bは、果実の「オレンジ」の画像、画像301cは、果実の「オレンジ」を含む複数の果実を含んだ画像であるものとする。また、事業者は、画像301bを含む被写体31を用意し、画像301bに対して、当該事業者が運営するWebサイトのURLを連携情報として関連付けているものとする。
一般ユーザは、検索端末30を用いて被写体31を撮像し、撮像画像を、検索を行う検索画像として、検索要求と共に画像検索サーバ10に送信する。図3(a)は、この検索画像300の例を示す。検索画像300は、例えば検索端末30のカメラと被写体31との位置関係、露光や被写体31に対する外光の反射など様々な影響により、元の画像301bと完全に一致した画像とはならないことが多い。
画像検索サーバ10は、画像検索用DBに登録される画像301a、301bおよび301cと、検索画像300と、の類似度をそれぞれ求める。以下では、類似度をスコアの値で表し、検索画像と登録画像とが完全に一致した場合にスコアが値「100」、全く類似点が無い場合にスコアが値「0」とし、スコアの値が大きいほど、高い類似度を示すものとする。
検索画像300に基づく検索の結果、図3(b)に例示されるように、画像301a、301bおよび301cについて、それぞれスコアの値「70」、「60」および「30」が得られたものとする。画像検索サーバ10が、画像検索により得られた各スコア値のうち最も値の大きなスコア値に従い検索結果を採用する場合、図3(b)の例では、被写体31を用意した事業者が意図した画像301bとは異なる、画像301aが検索結果として採用され、当該画像301aに関連付けられた連携情報が、一般ユーザの検索端末30に送信される。したがって、当該事業者は、意図した結果を得られないことになる。
実施形態では、この点を解消するために、画像検索用DBにおいて、検索要求の検索結果として応答される画像301a、301bおよび301cを登録するためのDB(通常DBと呼ぶ)と、検索結果として優先して採用させたい画像301bを登録するためのDB(優先DBと呼ぶ)と、を設ける。以下、適宜、通常DBに登録される画像を通常画像(第1の画像)と呼び、優先DBに登録される画像を優先画像(第2の画像)と呼ぶ。実施形態では、通常画像に対する検索結果を、優先画像を用いて検証する。
画像検索サーバ10は、検索端末30から送信された、画像301bを含む被写体31を撮像した撮像画像を検索画像300として、先ず、通常DBおよび優先DBを対象として第1の画像検索を行う。次に、第1の画像検索の検索結果に応じて、優先DBに登録される優先画像(この例では画像301b)を検索画像300として用いて、通常DBを対象として第2の画像検索を行う。画像検索サーバ10は、第1の検索結果において最も類似度の高い画像の、第2の画像検索の検索結果における優先度の順位に基づき、検索端末30からの検索要求に応じた最終的な検索結果を決定する。
このように、実施形態では、事業者の意図する画像301bを含む被写体31を撮像した撮像画像に基づき通常DBおよび優先DBを対象として第1の画像検索を行い、優先DBに登録される優先画像に基づき第2の画像検索を行う。そして、第2の画像検索の結果に基づき第1の画像検索の検索結果を評価する。これにより、被写体31を撮像した撮像画像に基づく画像検索の検索結果を、より正確に取得することができる。
[実施形態に係る画像検索システムのより詳細な構成]
次に、実施形態に係る画像検索システム1のより詳細な構成について説明する。図4は、実施形態に係る、画像検索システム1に含まれる画像検索用DBの一例の構成を示すブロック図である。図4(a)は、画像検索サーバ10に含まれる画像検索用DB102の構成例を示し、図4(b)は、登録サーバ20に含まれる画像検索用DB202の構成例を示す。
図4(a)において、画像検索用DB102は、通常DB102aと、優先DB102bと、を含む。通常DB102aは、画像DB1020aと、連携情報DB1021aと、を含む。画像DB1020aは、上述した、検索要求に対する検索結果として応答させる画像(通常画像)が登録され、連携情報DB1021aは、画像DB1020aに登録される通常画像に関連付けられた連携情報が登録される。
優先DB102bも同様に、画像DB1020bと、連携情報DB1021bと、を含む。画像DB1020bは、検索結果として優先して採用させたい画像(優先画像)が登録され、連携情報DB1021bは、画像DB1020bに登録される優先画像に関連付けられた連携情報が登録される。
図4(b)に例示される画像検索用DB202は、図4(a)の画像検索用DB102と同等の構成を有する。すなわち、図4(b)において、通常DB202aは、図4(a)の通常DB102aと対応し、通常DB202aに含まれる画像DB2020aおよび連携情報DB2021aは、それぞれ、画像DB1020aおよび連携情報DB1021aに対応する。同様に、図4(b)において、優先DB202bは、図4(a)の優先DB102bと対応し、優先DB202bに含まれる画像DB2020bおよび連携情報DB2021bは、それぞれ、画像DB1020bおよび連携情報DB1021bに対応する。
この優先DB102bおよび202bへの優先画像および連携情報の登録は、例えば、当該画像検索システム1を利用可能な事業者のうち、この画像検索システム1のサービス提供者に対して優先画像の登録に関する特定の契約をさらに交わした者が限定的に利用できるものとし、通常DB102aおよび202aへの通常画像および連携情報の登録と区別する。
図5は、実施形態に適用可能な画像検索サーバ10の一例の構成を示すブロック図である。なお、図5の構成は、登録サーバ20にも適用可能である。
図5において、画像検索サーバ10は、それぞれバス1005に接続される、CPU(Central Processing Unit)1000と、ROM(Read Only Memory)1001と、RAM(Random Access Memory)1002と、ストレージ1003と、通信インタフェース(I/F)1004と、を含む。ストレージ1003は、不揮発にデータを記憶可能な記憶媒体であって、ハードディスクドライブや、フラッシュメモリを適用することができる。
CPU1000は、ROM1001およびストレージ1003に記憶されるプログラムに従い、RAM1002をワークメモリとして用いて、この画像検索サーバ10の全体の動作を制御する。通信I/F1004は、ネットワーク2を介した通信や、登録サーバ20との通信を制御する。
図6は、実施形態に係る画像検索サーバ10の機能を説明するための一例の機能ブロック図である。なお、図6に示される機能構成は、登録サーバ20にも同様に適用可能である。
図6において、画像検索サーバ10は、通信部1010と、制御部1011と、画像検索部1012と、登録部1013と、判定部1014と、削除部1015と、を含む。また、登録部1013は、通常DB登録部1013aと、優先DB登録部1013bと、を含む。
これら通信部1010、制御部1011、画像検索部1012、登録部1013(通常DB登録部1013aおよび優先DB登録部1013b)、判定部1014および削除部1015は、CPU1000上で実施形態に係る画像検索プログラムが動作することで実現される。これに限らず、通信部1010、制御部1011、画像検索部1012、登録部1013(通常DB登録部1013aおよび優先DB登録部1013b)、判定部1014および削除部1015の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
通信部1010は、通信I/F1004を制御して、ネットワーク2を介した通信を行う。また、通信部1010は、図6が画像検索サーバ10の機能を示す場合には、登録サーバ20との通信を行い、登録サーバ20の機能を示す場合には、画像検索サーバ10との通信を行う。制御部1011は、この画像検索サーバ10(登録サーバ20)の全体の動作を制御する。
画像検索部1012は、検索要求に応じて、画像検索用DB102に登録される画像を対象画像として、検索画像の検索を行う。すなわち、画像検索部1012は、例えば通信部1010から受け取った検索画像を解析して特徴情報を抽出し、抽出した特徴情報に基づき、画像検索用DB102に登録された各画像の、検索画像に対する類似度を求める。画像検索部1012は、求めた類似度に応じて「0」乃至「100」の値を取るスコアを出力する。
登録部1013は、画像検索用DB102に対して画像および連携情報の登録を行う。より詳細には、登録部1013において、通常DB登録部1013aは、通常DB102aに含まれる画像DB1020aおよび連携情報DB1021aに、通常画像および連携情報を登録する(第1の登録手段)。同様に、登録部1013において、優先DB登録部1013bは、優先DB102bに含まれる画像DB1020bおよび連携情報DB1021bに、優先画像および連携情報を登録する(第2の登録手段)。
判定部1014は、上述した第1の画像検索および第2の画像検索に応じた、類似画像の判定処理を行う。削除部1015は、通常DB102aおよび優先DB102bに登録される画像および連携情報を削除する。
図7は、実施形態に適用可能な登録端末40の一例のハードウェア構成を示すブロック図である。図7に示される登録端末40において、バス4010に対してCPU4000、ROM4001、RAM4002およびグラフィクスI/F4003が接続される。また、バス4010に対して、ストレージ4004、データI/F4005、入力デバイス4006、通信I/F4007が接続される。
ストレージ4004は、データを不揮発に記憶することが可能な記憶媒体であって、ハードディスクドライブやフラッシュメモリを適用することができる。ストレージ4004は、CPU4000が実行するためのプログラムや各種データが格納される。CPU4000は、ROM4001およびストレージ4004に記憶されるプログラムに従い、RAM4002をワークメモリとして用いて、この登録端末40の全体を制御する。グラフィクスI/F4003は、CPU4000により生成された表示制御信号を、ディスプレイ4008が表示可能な信号に変換して出力する。
データI/F4005は、外部機器との間でデータの入出力を行う。データI/F4005としては、例えば、USB(Universal Serial Bus)やBluetooth(登録商標)といったインタフェースを適用することができる。入力デバイス4006は、マウスやタブレットといったポインティングデバイスや、キーボードであって、ユーザ入力を受け付ける。ユーザは、例えばディスプレイ4008の表示に応じて入力デバイス4006を操作することで、登録端末40に対して指示を出すことができる。通信I/F4007は、CPU4000の制御に従いネットワーク2を介した通信を行う。
なお、図1に示したメンテナンス用端末50は、この図7と同様の構成で実現可能であるので、ここでの説明を省略する。
図8は、実施形態に適用可能な登録端末40の機能を説明するための一例の機能ブロック図である。図8において、登録端末40は、登録ツール41を含み、登録ツール41は、通信部410と、設定部411と、入力部412と、表示部413と、取得部414と、を含む。
通信部410は、通信I/F4007を制御して、ネットワーク2を介した通信を行う。入力部412は、入力デバイス4006に対する入力操作で入力された情報を受け付ける。設定部411は、登録対象の画像に対して連携情報の設定を行う。表示部413は、ディスプレイ4008に表示させるための表示情報を生成する。
取得部414は、登録端末40の外部から画像を取得する。取得部414は、他の機器からネットワーク2を介して送信された画像を取得してもよいし、CD(Compact Disk)やDVD(Digital Versatile Disk)といった記録媒体を介して画像を受け取ってもよい。さらに、取得部414は、紙などの印刷媒体から画像を取得してもよい。また、取得部414は、例えば入力部412に受け付けられた情報に従い、画像に関連付ける連携情報のための情報を取得する。
登録端末40に含まれる登録ツール41の各部(通信部410、設定部411、入力部412、表示部413および取得部414)は、Webアプリとして構成され、登録端末40が登録サーバ20とアクセスすることにより登録サーバ20から読み込まれ、CPU4000上で動作するプログラムにより実現される。
より具体的には、登録端末40は、一般的なコンピュータに搭載されるものと同等のブラウザアプリケーション(以下、ブラウザ)が搭載される。ブラウザは、CPU4000上で動作して、例えばHTML(HyperText Markup Language)に従い記述されたファイルを読み込み、所定の動作を行う。
例えば、画像検索システム1において登録サーバ20は、登録端末40において登録ツール41を構成するためのプログラムを、登録サーバ20が有するストレージなどに予め記憶しておく。登録端末40において、ブラウザを用いて登録サーバ20のインタフェース部203にアクセスし、登録サーバ20が有する当該プログラムを読み込む。ブラウザに読み込まれた当該プログラムにより、登録端末40上に、Webアプリとしての登録ツール41が形成される。これに限らず、当該プログラムを記憶するサーバを別途、設けてもよい。
図9〜図11を用いて、登録端末40において登録ツール41により表示される登録画面の例について説明する。図9〜図11に示される各画面は、登録端末40に搭載されるブラウザに例えば画像検索システム1から読み込まれたプログラムに従い、登録端末40のディスプレイ4008に表示される。
図9は、実施形態に適用可能な登録画面の例を示す図である。図9において、登録画面480は、ヘッダ領域481と、サムネイル表示領域483と、ページ編集領域484と、プレビュー領域485と、対象領域一覧領域486と、ツールバー488とを含む。
ヘッダ領域481は、この登録画面480の登録対象となるキャンペーンの名前が左端に表示され、右端には、登録端末40にログインしているユーザの権限で利用できるメニューが表示されるユーザメニュー表示部482が配置される。なお、キャンペーンは、ここでは、事業者が、画像検索システム1を利用して、自身のWebサイト(例えばWebサイト60)により一般ユーザに対してコンテンツを提供する一連の処理を含む。
サムネイル表示領域483は、キャンペーンに係る各画像を縮小したサムネイル画像48301、48302、48303、…が表示されている。なお、顧客は、キャンペーンに係る画像を、予め登録端末40に読み込ませ例えばストレージ4004に保存しておく。登録端末40に当該画像が保存されていない場合、サムネイル表示領域483は、空欄の表示となる。
ページ編集領域484は、キャンペーンに含まれる各画像のうち、編集対象となる画像4840が表示される。例えば、登録ツール41は、サムネイル表示領域483に表示される各サムネイル画像48301、48302、48303、…から選択したサムネイル画像の元画像を、画像4840としてページ編集領域484に表示させる。
登録ツール41は、ページ編集領域484に表示される画像4840に対して、例えばユーザによる入力デバイス4006の操作に応じて範囲が指定された場合、指定された範囲を対象領域として設定することができる。図9の例では、ページ編集領域484の画像4840に対して矩形の範囲により対象領域4841aおよび4841bがそれぞれ設定されている。登録ツール41は、設定された各対象領域4841aおよび4841bを識別する識別情報を生成し、各対象領域4841aおよび4841bに関連付ける。
プレビュー領域485は、ページ編集領域484において編集中の画像が検索端末30に表示される画面をエミュレートしたプレビュー画面4850を表示する。
対象領域一覧領域486は、編集対象のキャンペーンに含まれる各画像に設定された各対象領域に付加されている連携情報の一覧が、各対象領域を示すボタン4901、4902、4903、…により一覧で表示される。また、対象領域は、複数の連携情報を含むことができ、この場合、例えばボタン4903に含むアイコン491、491、…のように示される。ボタン4901、4902、…を指定することで、連携情報設定画面が表示される。
図10は、実施形態に適用可能な、ボタン4901、4902、…が指定された場合に登録ツール41により表示される連携情報設定画面の例を示す図である。図10において、連携情報設定画面4900(図ではリンク設定画面として示す)は、入力領域4901および4902と、ボタン4903および4904とを含む。入力領域4901は、この連携情報設定画面4900において設定される連携情報のタイトルを入力するための領域である。入力領域4902は、連携情報を入力するための領域である。ここでは、入力領域4902は、連携情報として、ネットワーク2上の情報資源に対するリンクを示すリンク情報である例えばURLが入力される。
ボタン4903は、入力領域4901および4902の入力内容を確定するためのボタンであって、登録ツール41は、当該ボタン4903の操作に応じて入力領域4901および4902の入力内容を記憶する。また、ボタン4904は、この連携情報設定画面4900による処理をキャンセルするためのボタンであって、登録ツール41は、当該ボタン4904の操作に応じて入力領域4901および4902の入力内容を例えば破棄する。
なお、ここでは、連携情報としてURLを設定するものとして説明しているが、連携情報として設定可能な情報は、URLに限定されない。連携情報としては、URL以外にも、電話番号、位置情報(緯度、経度)、など、検索端末30上で利用可能な他の情報を用いることができる。
説明は図9に戻り、ツールバー488には、ページ編集領域484に表示されるページ(画像)を指定するページ指定部4880と、登録ツール41が備える様々な機能を実行させるためのボタンまたはボタン群4881〜4885、4887および4889と、優先画像の設定を行うためのボタン495と、が配置される。これらのうち、ボタン4881は、登録画面480から直前の画面に戻るためのボタンである。
ボタン4882は、登録端末40から画像検索システム1に対して画像をアップロードするためのボタンである。ボタン4882が操作されると、登録ツール41は、表示部413により、ファイル選択画面の表示を行う。ファイル選択画面は、例えば登録端末40のCPU4000上で動作するOSにより提供される、標準のファイル選択画面を適用することができる。
ファイル選択画面において所望の画像のファイルを選択して所定の操作を行うことで、登録端末40は、選択された画像のファイルを登録サーバ20に送信する。登録サーバ20は、登録端末40から送信された画像のファイルを、例えば、登録サーバ20が有するストレージやメモリなどに記憶する。
ボタン群4883は、ページ編集領域484に表示される画像4840の表示サイズを調整するための2つのボタンを含む。ボタン4884は、ページ編集領域484内に領域を設定する領域設定モードを、対象領域の設定を行う対象領域設定モードに切り替えるためのボタンである。登録ツール41は、このボタン4884が操作され編集モードが対象領域設定モードに切り替えられた上で、ページ編集領域484に表示される画像4840上に領域が指定された場合に、当該領域を対象領域に設定する。
ボタン4885は、ページ編集領域484内に領域を指定する領域設定モードを、画像検索サーバ10による特徴情報の抽出の対象としないマスク領域を指定するマスク設定モードに切り替えるためのボタンである。登録ツール41は、このボタン4885が操作され編集モードがマスク設定モードに切り替えられた上で、ページ編集領域484に表示される画像4840上に領域が指定された場合に、当該領域をマスク領域に設定する。
実施形態では、指定された対象領域に含まれる画像を、優先画像に設定することができる。一例として、登録画面480おいて、優先画像に関する設定を行うためのボタン495を設けることができる。例えば、優先画像として登録したい画像を含む対象領域(例えば対象領域4841a)を指定し、ボタン495を操作することで、当該対象領域4841aに含まれる画像を優先画像に設定することができる。
また、実施形態においては、当該優先画像に期限を設けることが可能である。例えば、対象領域(例えば対象領域4841a)を指定し、ボタン495を操作することで、優先画像公開期限設定画面が表示される。図11は、実施形態に適用可能な、対象領域が指定され、ボタン495が操作された場合に登録ツール41により表示される優先画像公開期限設定画面の例を示す図である。
図11において、優先画像公開期限設定画面4950は、入力領域4951と、ボタン4953および4954と、を含む。入力領域4951は、登録画面480においてボタン495の操作に応じて設定された優先画像の、画像検索サーバ10により一般ユーザに対して公開される期限すなわち公開の終了日時を入力するための領域である。入力領域4951が空欄の場合には、優先画像の公開期限が無期限に設定される。
ボタン4953は、上述のボタン495の操作に応じて指定された対象領域に対する優先画像の設定を確定するためのボタンである。登録ツール41は、当該ボタン4953の操作に応じて、当該対象領域(例えば対象領域4841a)を優先画像として設定すると共に、入力領域4951の入力内容を記憶する。また、ボタン4954は、当該指定された対象領域に対する優先画像の設定をキャンセルするためのボタンである。登録ツール41は、当該ボタン4954の操作に応じて、対象領域に対する優先画像の指定を破棄する。
ボタン群4887は、情報のコピー、ペーストおよび削除をそれぞれ実行するための3つのボタンを含む。ボタン4889は、登録画面480において編集中のキャンペーンの保存を、登録サーバ20に指示する。このボタン4889の操作に応じて、登録端末40からアップロードされた画像と、当該画像に対応する連携情報とが関連付けられて登録サーバ20が有する画像検索用DB202に保存され、登録される。
図12は、実施形態に係る、ボタン4889の操作に応じて対象領域の画像を画像検索用DB202に登録する登録処理を示す一例のフローチャートである。図12のフローチャートによる処理は、例えば、1回のボタン4889の操作に応じて、登録画面480において対象としているキャンペーンに指定された各対象領域について実行される。
なお、図12のフローチャートによる処理は、図6に示す画像検索サーバ10における登録部1013(通常DB登録部1013aおよび優先DB登録部1013b)に対応する、登録サーバ20の機能により実行される。図12のフローチャートの説明において、登録部1013、通常DB登録部1013aおよび優先DB登録部1013bは、登録サーバ20における機能であるものとする。
ステップS200で、登録部1013は、登録ツール41により指定された対象領域の画像を取得する。次のステップS201で、登録部1013は、ステップS200で取得された対象領域の画像が、優先画像として設定された画像であるか否かを判定する。登録部1013は、当該対象領域の画像が優先画像として設定された画像であると判定した場合(ステップS201、「Yes」)、処理をステップS202に移行する。
ステップS202で、登録部1013は、優先DB登録部1013bにより、当該優先画像を、画像検索用DB202における優先DB202bの画像DB2020bに登録する。また、登録部1013は、優先DB登録部1013bにより、当該優先画像に関連付けられる公開期限と連携情報とを、画像検索用DB202における優先DB202bの連携情報DB2021bに登録する。
登録部1013は、上述したステップS201で、当該対象領域の画像が優先画像として設定されていない、すなわち、通常画像として設定されていると判定した場合(ステップS201、「No」)、処理をステップS210に移行させる。ステップS210で、登録部1013は、通常DB登録部1013aにより、当該通常画像を、画像検索用DB202における通常DB202aの画像DB2020aに登録する。また、登録部1013は、通常DB登録部1013aにより、当該通常画像に関連付けられる連携情報を、画像検索用DB202における通常DB202aの連携情報DB2021aに登録する。
ステップS203またはステップS210による登録が完了すると、図12のフローチャートによる一連の処理が終了される。
このように、登録サーバ20が有する画像検索用DB202に対して、優先画像および通常画像が登録されることで、例えば事業者は、検索端末30から登録サーバ20にアクセスして、画像検索用DB202に登録された優先画像および通常画像に基づく画像検索を実行できる。事業者は、例えば、この登録サーバ20に登録された優先画像および通常画像に基づく画像検索の結果に応じて、画像検索システム1のサービス提供者に対して、登録サーバ20に登録される優先画像および通常画像、ならびに、これらに関連付けられた連携情報を画像検索サーバ10の画像検索用DB102に反映させるよう依頼する。
サービス提供者は、例えば、メンテナンス用端末50によるバッチ処理により、登録サーバ20における画像検索用DB202の登録内容を、画像検索サーバ10における画像検索用DB102に反映させる。
バッチ処理により、例えば、画像検索用DB202における通常DB202aの画像DB2020aおよび連携情報DB2021aの登録内容が、画像検索サーバ10に送信される。画像検索サーバ10において、登録部1013は、通常DB登録部1013aにより、登録サーバ20から送信された通常DB202aの画像DB2020aおよび連携情報DB2021aの登録内容を、通常DB102aの画像DB1020aおよび連携情報DB1021aに登録する。
同様に、画像検索用DB202における優先DB202bの画像DB2020bおよび連携情報DB2021bの登録内容が、画像検索サーバ10に送信される。画像検索サーバ10において、登録部1013は、優先DB登録部1013bにより、登録サーバ20から送信された優先DB202bの画像DB2020bおよび連携情報DB2021bの登録内容を、優先DB102bの画像DB1020bおよび連携情報DB1021bに登録する。
これにより、優先画像および通常画像、ならびに、連携情報が公開され、一般ユーザによる、画像検索システム1が提供する画像検索の利用が可能となる。
[実施形態に係る検索処理の詳細]
次に、実施形態に係る検索処理について、より詳細に説明する。図13および図14は、実施形態に係る検索処理の第1の例について説明するための図である。なお、図13および図14において、上述した図3と共通する部分には同一の符号を付して、詳細な説明を省略する。また、以下では、画像検索サーバ10における処理について説明する。以下に説明する処理は、登録サーバ20に対しても同様に適用可能である。
上述したように、実施形態では、通常DB102aおよび優先DB102bを対象とする第1の画像検索と、第1の画像検索の検索結果に応じた、通常DB102aを対象とする第2の画像検索と、を実行する。
図13は、実施形態に係る、第1の検索処理を説明するための図である。図13(b)に例示されるように、通常DB102aに、通常画像として画像301a、301bおよび301cが登録されているものとする。図13(b)において、画像301bは、果実の「オレンジ」の画像を含み、画像301aは、果実の「ミカン」の画像を含み、画像301cは、果実の「オレンジ」を含む複数の果実を含んだ画像であるものとする。また、事業者は、画像301bを含む被写体31を用意する。事業者は、画像301bと同一の画像である画像302を、優先画像として優先DB102bに登録する。
検索端末30により、画像301bを含む被写体31が撮像された撮像画像が、検索画像300(図13(a)参照)として検索端末30から画像検索サーバ10に送信されるものとする。
画像検索サーバ10において、画像検索部1012は、検索画像300に基づき通常DB102aおよび優先DB102bを検索対象として検索を行う。画像検索部1012は、この検索の結果、検索画像300に対する各画像302、ならびに、画像301a、301bおよび301cの類似度を、それぞれスコアの値「60」、「70」、「60」および「30」として得ている。すなわち、画像301aの類似度が最も高く、事業者が期待する画像301bが次に類似度の高い検索結果となっている。
なお、画像検索部1012は、スコアの値に閾値を定め、画像に対して求めたスコアの値が閾値以下の場合に、当該画像は、検索画像300と類似していないと判定する。閾値を例えばスコア値「30」とした場合、図13(b)の各画像302、ならびに、画像301a、301bおよび301cは、それぞれスコアの値が「30」以上であって、検索画像と類似している画像であると判定される。
次に、画像検索部1012は、第2の画像検索を実行する。図14は、実施形態に係る第2の画像検索を説明するための図である。図14(a)に示されるように、画像検索部1012は、優先DB102bに登録される画像302を新たな検索画像として、図14(b)に示されるように、通常DB102aのみを検索対象として検索を行う。
この場合、通常DB102aに登録される画像301bは、新たな検索画像として用いられている画像302と同一の画像である。したがって、画像301bは、スコアの値が画像の一致を示す値「100」となる。一方、上述した第1の画像検索において最も類似度が高いとされた画像301aは、新たな検索画像としての画像302に対するスコアが値「50」とされ、通常DB102a内での類似度の順位が2位となっている。換言すれば、画像301aは、通常DB102aにおいてスコアが値「100」の画像301bに対して次の順位の類似度の画像となる。
なお、上述の第1の画像検索において最も類似度が低いとされた画像301cは(図13(b)参照)、第2の画像検索においてスコアが値「20」であり(図14(b)参照)最も類似度が低いままである。
この場合、実施形態に係る画像検索サーバ10において、判定部1014は、第1の画像検索において優先度が最も高い、すなわち、優先度が1位の画像301aの優先度が、第2の画像検索において2位以上となったため、優先画像である画像302を検索結果として採用することができると判定する。
すなわち、第2の画像検索の結果によれば、画像301aは、優先画像である画像302とは異なるが、画像302自身を除けば通常DB102aにおいて検索画像である画像302に対して最も類似度が高い画像であるとされる。一方、第1の画像検索の結果によれば、画像301bに基づく撮像画像による検索画像300に対して、優先DB102bおよび通常DB102aを含めて、画像301aの類似度が最も高い。
これらの結果から、画像301aは、画像301bに基づく検索画像300に対する類似度が高く、且つ、優先画像と同一の画像301bに対する類似度が高いことが分かる。したがって、優先画像である画像302(画像301b)を、検索画像300に対する検索結果として採用して良いと判定できる。判定部1014は、この画像302に対応する画像301bを、検索結果として採用する。
次に、優先画像を検索結果として判定することが好ましくない例について、図15および図16を用いて説明する。図15および図16は、実施形態に係る検索処理の第2の例について説明するための図である。なお、図15および図16において、上述した図3と共通する部分には同一の符号を付して、詳細な説明を省略する。
図15は、上述の図13と同様に、実施形態に係る第1の検索処理を説明するための図である。図13(b)と同様に、通常DB102aには、通常画像として画像301a、301bおよび301cが登録され、優先DB102bに、優先画像として、画像301bと同一の画像302が登録されているものとする。
この例では、例えば画像301bを含む被写体31が撮像された撮像画像が、検索画像303として(図15(a)参照)検索端末30から画像検索サーバ10に送信されるものとする。ここで、被写体31に含まれる画像は、例えば画像301cであって、この被写体31の一部を拡大して撮像した撮像画像が検索画像303として用いられるものとする。この場合、検索画像303は、画像301b(果実のオレンジ)を含むが、他の果実の画像も含まれた画像となっている。
画像検索サーバ10において、画像検索部1012は、第1の画像検索により、検索画像303に基づき通常DB102aおよび優先DB102bを検索対象として検索を行う。画像検索部1012は、この検索の結果、検索画像303に対する各画像302、ならびに、画像301c、301bおよび301aの類似度を、それぞれスコアの値「30」、「50」、「30」および「20」として得ている。すなわち、画像301cの類似度が最も高くなっている。また、画像301aは、スコアが値「20」とされ、閾値より低いため、類似していないと判定される。
次に、画像検索部1012は、第2の画像検索を実行する。図16は、上述の図14と同様に、実施形態に係る第2の画像検索を説明するための図である。図16(a)に示されるように、画像検索部1012は、優先DB102bに登録される画像302を新たな検索画像として、図16(b)に示されるように、通常DB102aのみを検索対象として検索を行う。
この場合、通常DB102aに登録される画像301bは、新たな検索画像として用いられている画像302と同一の画像である。したがって、画像301bは、スコアの値が画像の一致を示す値「100」となる。一方、上述した第1の画像検索において最も類似度が高いとされた画像301cは、新たな検索画像としての画像302に対するスコアが値「20」とされ、通常DB102a内での類似度の順位が3位となっている。また、第1の画像検索において最も類似度が低いとされた画像301aの画像302に対するスコアが値「50」とされ、通常DB102a内での類似度の順位が2位となっている。換言すれば、画像301cの類似度は、第1の検索結果における順位(1位)から、3位以下の順位に下がっている。これは、画像301cの順位が、通常DB102aにおいて、スコアが値「100」の画像301bに対して次の順位のさらに次の順位となったことを意味する。
この場合、実施形態に係る画像検索サーバ10において、判定部1014は、第1の画像検索において優先度が最も高い、すなわち、優先度が1位の画像301cが、第2の画像検索において優先度が3位以下となったため、優先画像である画像302を検索結果として採用することが好ましくないと判定する。
すなわち、第2の画像検索の結果によれば、画像301cは、優先画像である画像302とは異なり、且つ、通常DB102aにおいて、当該画像302自身を除き、検索画像である画像302に対する類似度が当該画像301cより高い画像(この例では画像301a)が存在するとされる。一方、第1の画像検索の結果によれば、画像301cが拡大され画像301bを一部に含む撮像画像による検索画像303に対して、優先DB102bおよび通常DB102aを含めて、画像301cの類似度が最も高い。
これらの結果から、画像301cは、画像301bを一部に含む検索画像303に対する類似度が高い一方で、優先画像と同一の画像301bに対する類似度が低い。したがって、優先画像である画像302(画像301b)を、検索画像303に対する検索結果として採用することが好ましくないと判定できる。この場合には、第1の画像検索の結果に従い、画像301cを、検索画像303に対する検索結果として採用する。
なお、通常DB102aには、検索対象となる画像が3以上、登録されていることが好ましい。
図13〜図16を用いて説明したように、実施形態では、通常DB102aおよび優先DB102bを対象とする画像検索に対して、優先画像を検索画像として用いて通常DB102aを対象として再検索を行うと、検索画像に対して類似度の低い画像は、再検索の検索結果において類似度の順位が2位以上にならないことが分かる。したがって、実施形態に係る検索方法によれば、特定の画像に対して意図しない検索結果が出力されることを抑制可能となる。
図17は、実施形態に係る検索処理を示す一例のフローチャートである。この図17のフローチャートによる各処理は、画像検索サーバ10において実行される。また、図17のフローチャートによる各処理は、登録サーバ20においても同様に実行できる。
図17において、ステップS300で、画像検索サーバ10は、検索端末30から送信された、撮像画像と、この撮像画像に基づく検索を要求する検索要求とを取得する。次のステップS301で、画像検索サーバ10は、画像検索部1012により、ステップS300で取得された撮像画像を検索画像として、通常DB102aおよび優先DB102bにそれぞれ登録される画像を検索対象として第1の画像検索を実行する。
次のステップS302で、判定部1014は、通常DB102aにおいて第1の画像検索により検索画像に対してヒットした、すなわち、検索画像に対して類似度が閾値以上の画像が存在したか否かを判定する。判定部1014は、ヒットしたと判定した場合(ステップS302、「Yes」)、処理をステップS303に移行させる。ステップS303で、判定部1014は、優先DB102bにおいて当該検索画像に対してヒットしたか否かを判定する。ヒットしたと判定した場合(ステップS303、「Yes」)、処理をステップS304に移行させる。
ステップS304で、判定部1014は、優先DB102bに登録される優先画像を検索画像として用いて、通常DB102aに登録される画像を検索対象として、第2の画像検索を実行する検索要求を、画像検索部1012に対して通知する。画像検索部1012は、この検索要求に応じて、当該第2の画像検索を実行する。
ステップS305で、判定部1014は、ステップS301およびステップS304での第2の画像検索の結果に基づき、ステップS301で実行された画像検索によりスコアが1位の画像のスコアの順位が、ステップS304の画像検索の結果、何位に変動したかを判定する。
判定部1014は、ステップS305で、第1の画像検索においてスコアの順位が1位の画像について、第2の画像検索によりスコアの順位が2位以上になったと判定した場合(ステップS305、「2位以上」)、処理をステップS306に移行させる。ステップS306で、判定部1014は、検索要求に応じた画像検索の検索結果として、優先画像を採用する。
一方、判定部1014は、ステップS305で、第1の画像検索においてスコアの順位が1位の画像について、第2の画像検索によりスコアの順位が3位以下になったと判定した場合(ステップS305、「3位以下」)、処理をステップS307に移行させる。ステップS307で、判定部1014は、ステップS304で実行された通常DB102aに対する画像検索において優先度が1位の画像を、検索要求に応じた画像検索の検索結果として採用する。
上述したステップS302で、判定部1014は、通常DB102aにおいて第1の画像検索により検索画像に対してヒットしなかったと判定した場合(ステップS302、「No」)、処理をステップS310に移行させる。ステップS310で、判定部1014は、優先DB102bにおいて当該検索画像に対してヒットしたか否かを判定する。ヒットしたと判定した場合(ステップS310、「Yes」)、判定部1014は、処理をステップS306に移行させる。ステップS306で、判定部1014は、検索要求に応じた画像検索の検索結果として、優先画像を採用する。
一方、判定部1014は、ヒットしなかったと判定した場合(ステップS310、「No」)、検索画像に対応する画像が通常DB102aおよび優先DB102bの何れにも登録されていなかったとして、図17のフローチャートによる一連の処理を終了させる。
また、判定部1014は、上述したステップS303で、優先DB102bにおいて当該検索画像に対してヒットしなかったと判定した場合(ステップS303、「No」)、処理をステップS307に移行させる。ステップS307で、判定部1014は、ステップS301で実行された通常DB102aおよび優先DB102bに対する画像検索のうち、通常DB102aにおいて優先度が1位の画像を、検索要求に応じた画像検索の検索結果として採用する。
ステップS306またはステップS307による検索結果の採用が行われると、図17のフローチャートによる一連の処理が終了される。
なお、上述したステップS302において、通常DB102aでヒットした画像が1の画像のみであった場合に、以降の処理を省略して、このヒットした1の画像を検索結果として採用することができる。
なお、上述の各実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。