(57)【要約】【課題】効率的に検索精度を向上させることができる画像検索装置、画像検索方法、およびプログラムを提供することである。【解決手段】実施形態の画像検索装置は、記憶部と、受付部と、第１検索部と、第２検索部と、相互学習部とを持つ。記憶部は、複数の画像を記憶する。受付部は、検索対象画像の入力を受け付ける。第１検索部は、前記記憶部に記憶された複数の画像から、第１モデルを用いて前記受付部により受け付けられた画像に類似する画像を検索する。第２検索部は、前記記憶部に記憶された複数の画像から、第２モデルを用いて前記受付部により受け付けられた画像に類似する画像を検索する。相互学習部は、前記第１検索部により検索された第１の検索結果と、前記第２検索部により検索された第２の検索結果とに基づいて、前記第１モデルおよび前記第２モデルを相互に更新する。【選択図】図１
2019175463.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像を記憶する記憶部と、
検索対象画像の入力を受け付ける受付部と、
前記記憶部に記憶された複数の画像から、第１モデルを用いて前記受付部により受け付けられた画像に類似する画像を検索する第１検索部と、
前記記憶部に記憶された複数の画像から、第２モデルを用いて前記受付部により受け付けられた画像に類似する画像を検索する第２検索部と、
前記第１検索部により検索された第１の検索結果と、前記第２検索部により検索された第２の検索結果とに基づいて、前記第１モデルおよび前記第２モデルを相互に更新する相互学習部と、
を備える画像検索装置。
【請求項２】
前記相互学習部は、前記第１の検索結果に含まれる正解データまたは不正解データの情報と、前記第２の検索結果に含まれる正解データまたは不正解データの情報とに基づいて、前記第１モデルと前記第２モデルとを相互に更新する、
請求項１に記載の画像検索装置。
【請求項３】
画像を表示する表示部と、
前記第１の検索結果の画像と前記第２の検索結果の画像とを比較可能な態様で、前記表示部に表示させる表示制御部と、を更に備える、
請求項１または２に記載の画像検索装置。
【請求項４】
前記表示制御部は、前記第１の検索結果の画像を前記検索対象画像との類似度が高い順に前記表示部に表示させるとともに前記第２の検索結果の画像を前記検索対象画像との類似度が高い順に前記表示部に表示させる、
請求項３に記載の画像検索装置。
【請求項５】
前記表示制御部は、前記表示部に表示された前記第１の検索結果の画像および前記第２の検索結果の画像のうち、前記第１の検索結果および前記第２の検索結果の両方に含まれる画像と、一方に含まれる画像とを識別可能に表示させる、
請求項３または４に記載の画像検索装置。
【請求項６】
前記第１検索部および前記第２検索部は、前記受付部により受け付けられた画像から複数の部分画像を抽出し、抽出した部分画像と前記受付部により受け付けられた画像とに類似する画像を検索し、
前記表示制御部は、前記表示部に表示された前記第１の検索結果の画像および前記第２の検索結果の画像のうち、前記部分画像との比較に用いられた画像領域に関する情報を前記表示部に表示させる、
請求項３から５のうち何れか１項に記載の画像検索装置。
【請求項７】
前記表示制御部は、前記表示部に表示された前記第１の検索結果の画像および前記第２の検索結果の画像のうち、利用者により選択された画像に基づいて正解データまたは不正解データを特定する、
請求項３から６のうち何れか１項に記載の画像検索装置。
【請求項８】
前記相互学習部は、前記利用者による選択結果と、前記正解データまたは前記不正解データの選択に関する選択経緯とに基づいて、前記第１モデルと前記第２モデルとを相互に更新する、
請求項７に記載の画像検索装置。
【請求項９】
前記利用者により前記正解データまたは前記不正解データの選択が行われたときの前記利用者の視線情報を検出する視線検出部を更に備え、
前記相互学習部は、前記視線検出部により検出された視線情報に基づいて、前記第１モデルと前記第２モデルとを相互に更新する、
請求項７または８に記載の画像検索装置。
【請求項１０】
前記相互学習部は、前記受付部により受け付けられた画像に類似する画像のカテゴリ情報と、前記第１の検索結果の画像および前記第２の検索結果の画像のカテゴリ情報に基づいて、前記第１モデルと前記第２モデルとを相互に学習するときの学習強度を変化させる、
請求項７から９のうち何れか１項に記載の画像検索装置。
【請求項１１】
前記相互学習部は、前記利用者の特性情報を取得し、取得した特性情報に基づいて、前記第１モデルと前記第２モデルとを相互に学習するときの学習強度を変化させる、
請求項７から１０のうち何れか１項に記載の画像検索装置。
【請求項１２】
画像検索装置が、
検索対象画像の入力を受け付け、
記憶部に記憶された複数の画像から、第１モデルを用いて前記検索対象画像に類似する画像を検索し、
前記記憶部に記憶された複数の画像から、第２モデルを用いて前記検索対象画像に類似する画像を検索し、
前記第１モデルを用いて検索された第１の検索結果と、前記第２モデルを用いて検索された第２の検索結果とに基づいて、前記第１モデルおよび前記第２モデルを相互に更新する、
画像検索方法。
【請求項１３】
画像検索装置に、
検索対象画像の入力を受け付けさせ、
記憶部に記憶された複数の画像から、第１モデルを用いて前記検索対象画像に類似する画像を検索させ、
前記記憶部に記憶された複数の画像から、第２モデルを用いて前記検索対象画像に類似する画像を検索させ、
前記第１モデルを用いて検索された第１の検索結果と、前記第２モデルを用いて検索された第２の検索結果とに基づいて、前記第１モデルおよび前記第２モデルを相互に更新させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像検索装置、画像検索方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、各機器に搭載された学習装置ユニットによって機械学習した内容を、他の機器にも共有する技術が知られている。しかしながら、学習モデルの種類によっては、学習が得意なデータや不得意なデータが存在するため、同一の学習モデルの結果を共有させたとしても検索精度が向上しない場合があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５８１６７７１号公報
【特許文献２】特開２００６−０６５６５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、効率的に検索精度を向上させることができる画像検索装置、画像検索方法、およびプログラムを提供することである。
【課題を解決するための手段】
【０００５】
実施形態の画像検索装置は、記憶部と、受付部と、第１検索部と、第２検索部と、相互学習部とを持つ。記憶部は、複数の画像を記憶する。受付部は、検索対象画像の入力を受け付ける。第１検索部は、前記記憶部に記憶された複数の画像から、第１モデルを用いて前記受付部により受け付けられた画像に類似する画像を検索する。第２検索部は、前記記憶部に記憶された複数の画像から、第２モデルを用いて前記受付部により受け付けられた画像に類似する画像を検索する。相互学習部は、前記第１検索部により検索された第１の検索結果と、前記第２検索部により検索された第２の検索結果とに基づいて、前記第１モデルおよび前記第２モデルを相互に更新する。
【図面の簡単な説明】
【０００６】
【図１】実施形態の画像検索システム１の機能構成例を示す図。
【図２】実施形態の検索対象画像を入力する入力画面Ｄ１の一例を示す図。
【図３】実施形態の第１検索部２３２の処理について説明するための図。
【図４】実施形態の表示制御部２５０の処理について説明するための図。
【図５】実施形態の画像を拡大させる表示制御部２５０の処理について説明するための図。
【図６】実施形態の正解データおよび不正解データに対応するチェックボックスが表示された検索結果画面Ｄ２ａの一例を示す図。
【図７】実施形態の画像検索装置における処理内容の一例を示すフローチャート。
【発明を実施するための形態】
【０００７】
以下、実施形態の画像検索装置、画像検索方法、およびプログラムを、図面を参照して説明する。
【０００８】
図１は、実施形態の画像検索システム１の機能構成例を示す図である。画像検索システム１は、例えば、一以上の端末装置１００−１~１００−ｎ（ｎは自然数）と、画像検索装置２００とを備える。端末装置１００と、画像検索装置２００とは、インターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等を含むネットワークＮＷを介して通信する。なお、以下の説明において、端末装置１００−１〜１００−ｎは、それぞれ同様の構成とし、何れの端末装置であるかを区別しないときは、何れの端末装置であるかを示すハイフン以降の符号を省略し、「端末装置１００」と称して説明する。
【０００９】
端末装置１００は、例えば、端末装置側通信部１１０と、端末装置側表示部１２０と、検索対象画像受付部１３０と、検索指示部１４０と、選択部１５０と、撮像部１６０と、視線検出部１７０とを備える。端末装置側通信部１１０を除く各構成要素は、それぞれ、例えば、ＣＰＵ（Central Processing Unit）等のハードウェアプロセッサがプログラム（ソフトウェア）を実行することにより実現される。また、これらの構成要素のうち一部または全部は、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、ＧＰＵ（Graphics Processing Unit）等のハードウェア（回路部；circuitryを含む）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予め端末装置１００の記憶部（不図示）に格納されていてもよいし、ＤＶＤやＣＤ−ＲＯＭ等の着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることで端末装置１００のＨＤＤやフラッシュメモリにインストールされてもよい。
【００１０】
端末装置側通信部１１０は、ネットワークインタフェースである。端末装置側通信部１１０は、例えば、ネットワークＮＷを介して画像検索装置２００と通信を行う。
【００１１】
端末装置側表示部１２０は、例えば、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electro Luminescence）表示装置等である。端末装置側表示部１２０は、検索対象画像受付部１３０により受け付けられた画像に関する情報や、画像検索装置２００との通信により得られる画像やＧＵＩ（Graphical User Interface）オブジェクト等を表示する。ＧＵＩオブジェクトには、例えば、ボタンやチェックボックス、スライドバー、スイッチ、アイコン等の各種オブジェクトが含まれる。また、ＧＵＩオブジェクトは、画像や文字情報等が含まれてもよい。端末装置側表示部１２０は、例えば、タッチパネル等のように入力と出力とが一体に形成された装置でもよい。
【００１２】
検索対象画像受付部１３０は、画像検索装置２００に記憶された画像ＤＢ（Database）から類似する画像を検索する検索対象画像の入力を受け付ける。画像（検索対象画像も含む）とは、例えば、画素によって表わされるビットマップデータや、所定の数式によって記述されるベクタデータである。また、画像は、例えば、写真や図形だけでなく、漫画、線画、文字、模様等が含まれてもよい。また、図形には、企業や商品の登録商標、ロゴ、マーク、エンブレム等が含まれてよい。例えば、検索対象画像受付部１３０は、端末装置１００の記憶部（不図示）により記憶された画像のうち、利用者により選択された画像を受け付けてもよく、端末装置１００に搭載されたカメラ等の撮像部（不図示）により撮像された画像であってもよい。
【００１３】
検索指示部１４０は、検索対象画像受付部１３０により受け付けられた画像に基づく検索指示を受け付ける。また、検索対象画像受付部１３０や検索指示部１４０は、検索対象画像や検索指示を受け付ける前に、利用者を識別する識別情報である利用者ＩＤの入力を受け付けてもよい。これにより、画像検索を行う利用者を特定することができる。
【００１４】
選択部１５０は、端末装置側表示部１２０により表示された画像検索装置２００による検索結果の画像に対して、正解データまたは不正解データを選択する。選択部１５０は、例えば、端末装置側表示部１２０に表示されたチェックボックス等に対する利用者の選択を受け付けることで、検索結果の複数の画像に対して、正解データまたは不正解データを選択する。この場合、選択部１５０は、正解データまたは不正解データのうちどちらを選択したかを示すチェックボックスを選択することで、チェックしたデータが正解データであるか、または不正解データであるかを特定することができる。また、選択部１５０は、過去の選択履歴や統計情報に基づいて自動で正解データまたは不正解データを選択してもよい。
【００１５】
また、選択部１５０は、例えば、正解データまたは不正解データを少なくとも一度は選択したが、その後取り消したといった選択履歴に関する情報を取得してもよい。また、選択部１５０は、例えば、正解データを示すチェックボックスをチェックした（選択した）後に、チェックを外した、或いは不正解データを示すチェックボックスをチェックしたといった選択経緯に関する情報を取得してもよい。
【００１６】
撮像部１６０は、例えば、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）等の固体撮像素子を利用したデジタルカメラである。また、撮像部１６０は、ステレオカメラであってもよい。撮像部１６０は、端末装置１００と一体に設けられていてもよく、別体に設けられていてもよい。撮像部１６０は、端末装置１００の利用者の顔を含む領域を撮像する。例えば、周期的に繰り返し画像を撮像する。
【００１７】
視線検出部１７０は、撮像部１６０により撮像された画像（以下、撮像画像と称する）に対する解析処理を行い、利用者の視線を検出する。例えば、視線検出部１７０は、テンプレートマッチング等の手法を用いて、撮像画像から利用者の頭部と目の位置関係、目における基準点と動点との組み合わせ等を検出する。例えば、基準点が目頭である場合、動点は虹彩である。また、基準点が角膜反射領域である場合、動点は瞳孔である。そして、視線検出部１７０は、頭部に対する目の位置に基づいて顔の向きを導出する。また、視線検出部１７０は、基準点に対する動点の位置に基づいて、視線の向きを導出する。
【００１８】
また、視線検出部１７０は、検出された視線の向きに対応付けて、利用者が注視している位置や注視時間、視界領域を検出してもよい。視界領域とは、注視位置を中心とした所定の範囲内の領域である。また、視線検出部１７０は、視線の向きと、端末装置側表示部１２０に表示されている画像の情報とに基づいて、利用者が見ている画像を推定してもよい。また、視線検出部１７０は、視線の移動履歴（例えば、滞留時間や視線の往復移動回数等）を検出してもよい。以下、視線検出部１７０により検出される各情報を「視線情報」と称する。
【００１９】
また、視線検出部１７０は、利用者が着用する眼鏡に取り付けられた視線検出装置であってもよい。この場合、視線検出部１７０は、撮像部１６０の撮影画像を用いて視線の検出を行うのではなく、利用者の眼球の挙動から視線情報を取得する。
【００２０】
端末装置１００は、利用者の操作等により各構成部で取得された各種情報を、ネットワークＮＷを介して、画像検索装置２００に送信する。
【００２１】
次に、画像検索装置２００の機能について説明する。画像検索装置２００は、例えば、検索装置側通信部２１０と、画像取得部２２０と、検索部２３０と、検索装置側表示部２４０と、表示制御部２５０と、相互学習部２６０と、記憶部２７０とを備える。検索装置側通信部２１０および記憶部２７０を除く各構成要素は、それぞれ、例えば、ＣＰＵ等のハードウェアプロセッサがプログラム（ソフトウェア）を実行することにより実現される。また、これらの構成要素のうち一部または全部は、ＬＳＩやＡＳＩＣ、ＦＰＧＡ、ＧＰＵ等のハードウェア（回路部；circuitryを含む）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予め画像検索装置２００の記憶部２７０に格納されていてもよいし、ＤＶＤやＣＤ−ＲＯＭ等の着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることで画像検索装置２００のＨＤＤやフラッシュメモリにインストールされてもよい。画像取得部２２０は、「受付部」の一例である。
【００２２】
記憶部２７０は、例えば、ＨＤＤ、フラッシュメモリ、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）、ＲＯＭ（Read Only Memory）、またはＲＡＭ（Random Access Memory）等により構成される。記憶部２７０には、例えば、第１モデル２７２、第２モデル２７４、画像ＤＢ２７６、その他の情報が記憶される。第１モデル２７２は、例えば、Deep Learning等の機械学習を用いたＣＮＮ(Convolutional Neural Network）で構成されるモデルである。第２モデル２７４は、例えば、ＳＩＦＴ（Scale-Invariant Feature Transform）特徴量を用いたモデルである。第１モデル２７２および第２モデル２７４の詳細については、後述する。画像ＤＢ２７６には、例えば、画像に、画像識別番号、画像のカテゴリ、日時情報、作成者情報、書誌事項等の画像関連情報が対応付けられている。
【００２３】
検索装置側通信部２１０は、例えば、ネットワークインタフェースである。検索装置側通信部２１０は、例えば、ネットワークＮＷを介して端末装置１００と通信を行い、端末装置１００から得られる各種情報を受信したり、画像検索装置で取得された情報を端末装置１００に送信したりする。
【００２４】
画像取得部２２０は、ネットワークＮＷを介して端末装置１００により入力された検索対象画像を取得する。
【００２５】
検索部２３０は、例えば、第１検索部２３２と、第２検索部２３４とを備える。第１検索部２３２は、画像取得部２２０により検索された画像に対して、第１モデル２７２に基づき画像ＤＢ２７６に記憶された画像の検索を行い、検索対象画像に類似する画像を抽出する。第１検索部２３２の機能の詳細については、後述する。
【００２６】
第２検索部２３４は、画像取得部２２０により検索された画像に対して、第２モデル２７４に基づき画像ＤＢ２７６に記憶された画像の検索の検索を行い、類似する複数の画像を抽出する。第２検索部２３４の機能の詳細については、後述する。
【００２７】
検索装置側表示部２４０は、例えば、ＬＣＤや有機ＥＬ表示装置等である。検索装置側表示部２４０は、表示制御部２５０による制御により、画像取得部２２０により取得された画像や、第１検索部２３２または第２検索部２３４のうち一方または双方により検索された結果、相互学習部２６０による学習結果等を表示する。
【００２８】
表示制御部２５０は、端末装置１００に検索対象画像を入力させるための入力画面を生成する。また、表示制御部２５０は、第１検索部２３２または第２検索部２３４により検索された結果に関する情報を、端末装置１００に表示させる検索結果画面を生成する。生成される画像には、例えば、ＧＵＩオブジェクトやその他の情報が含まれてよい。
【００２９】
相互学習部２６０は、第１検索部２３２により検索された結果に含まれる画像および第２検索部２３４により検索された結果に含まれる画像に基づいて学習を行い、第１モデル２７２および第２モデル２７４を相互に更新する。
【００３０】
次に、画像検索装置２００における検索処理の流れについて具体的に説明する。まず、端末装置１００は、例えば、ウェブブラウザを起動し、ＵＲＬ（Uniform Resource Locator）等を入力したり、ブラウザページに記述されたリンクを選択したりすることで、画像検索装置２００にアクセスして、ＨＴＴＰリクエストを送信する。画像検索装置２００は、検索装置側通信部２１０によりＨＴＴＰリクエストを受け付けてウェブページを送信する。ウェブページには、例えば、スクリプトが埋め込まれている。スクリプトは、端末装置１００で自動的に起動し、検索対象画像受付部１３０、検索指示部１４０、および選択部１５０の機能を出現させる。なお、上述した仕組みに代えて、アプリケーションプログラムが端末装置１００で実行されることで、ブラウザよりも多くの処理を端末装置１００側で実行させてもよい。以下では、ブラウザを前提として説明する。
【００３１】
画像検索装置２００は、端末装置１００により画像検索のリクエストがあった場合に、検索対象画像を入力させるための入力画面Ｄ１を端末装置側表示部１２０に表示させる。図２は、実施形態の検索対象画像を入力する入力画面Ｄ１の一例を示す図である。入力画面Ｄ１には、例えば、画像入力領域Ａ１と、画像識別情報入力領域Ａ２と、検索ボタンＢＴ１とが含まれる。画像入力領域Ａ１は、例えば、端末装置側表示部１２０に表示された画像ファイルを示す画像アイコンが領域内に移動されることで、検索対象画像を受け付ける領域である。利用者は、検索対象画像受付部１３０により、画像入力領域Ａ１内に検索対象画像の画像アイコンを移動させる。表示制御部２５０は、画像入力領域Ａ１内に検索対象画像の画像アイコンが移動されたことを受け付けると、画像識別情報入力領域Ａ２に画像アイコンに対応する画像の識別情報を表示させる。また、利用者は、検索対象画像受付部１３０により画像識別情報入力領域Ａ２に直接検索対象画像の識別情報を入力してもよい。
【００３２】
次に、利用者が入力画面Ｄ１の検索ボタンＢＴ１を選択すると、検索指示部１４０は、検索対象画像に基づいて検索部２３０による画像検索指示を行う。
【００３３】
第１検索部２３２は、まず、画像取得部２２０により取得した検索対象画像から、一または複数のセグメント画像（部分画像の一例）を生成する。図３は、実施形態の第１検索部２３２の処理について説明するための図である。第１検索部２３２は、検索対象画像として図３に示す画像ＩＭ１を取得した場合に、取得した画像の各画素の輝度情報、色情報、および形状情報等の特徴情報と、予め設定された教師画像に対する利用者の視線情報とに基づいて、画像ＩＭ１の所定の領域で部分的に抽出したセグメント画像ＳＧ１〜ＳＧ７を取得する。視線情報とは、利用者が多数の教師画像に対して注視した部分または領域を学習した情報である。視線情報は、予め学習段階で撮像部１６０による撮像画像を用いて視線検出部１７０により利用者の視線を検出することで取得することができる。また、第１検索部２３２は、視線情報に代えて（または加えて）、所定の統計モデル（例えば、ＳＶＭ（Support Vector Machine）を用いてもよい。各セグメント画像は、他のセグメント画像の一部または全部と重複していてもよい。
【００３４】
次に、第１検索部２３２は、画像ＩＭ１とセグメント画像ＳＧ１〜ＳＧ７とを第１モデル２７２であるＣＮＮに入力する。第１モデル２７２のＣＮＮは、入力された画像に対し画像ＤＢ２７６に含まれる画像の中から類似度の高い順に所定数の画像を抽出するネットワークである。第１検索部２３２は、セグメント画像ＳＧ１〜ＳＧ７を入力データとして用いることで、部分一致に対応する画像も含めて類似度の高い順に所定数の画像を抽出する。以下、第１検索部２３２により検索された結果を第１の検索結果と称する。
【００３５】
第２検索部２３４は、ＳＩＦＴ特徴量に基づいてモデル化された第２モデル２７４を用いて画像ＤＢ２７６に含まれる画像の中から類似度の高い順に所定数の画像を抽出する。
以下、第２検索部２３４により検索された結果を第２の検索結果と称する。ＳＩＦＴ特徴量は、スケール変化、回転変化に不変な特徴量である。ＳＩＦＴ特徴量は、スケールの異なる平滑化画像の差分から画像特徴と思われる点（特徴点）を決定し、画像上の各特徴点の周りの画像の勾配情報を用いて特徴量の情報が記述される。第２モデル２７４は、例えば、ＳＩＦＴ特徴量を用いたモデルである。第２検索部２３４は、各特徴点の相対的な配置の確認をすることと、Ｋ平均法（K-means Clustering）を用いた近似最近傍検索を実施することで、より信頼性の高い部分一致を含む類似画像を抽出することができる。なお、本実施形態では、通常のＫ平均法だけではなく、データ更新時に毎回、全てのデータを対象とした統計情報に基づくクラスタリングによって学習を実施してもよい。また、第２モデル２７４は、ＳＩＦＴ特徴量に代えて、所定の特徴抽出モデルを用いてもよい。
【００３６】
表示制御部２５０は、第１検索部２３２および第２検索部２３４による検索結果を、検索を指示した端末装置１００の端末装置側表示部１２０に表示させるための画像（検索結果画像）を生成する。図４は、実施形態の表示制御部２５０の処理について説明するための図である。表示制御部２５０は、第１の検索結果と、第２の検索結果とを含む検索結果画面Ｄ２を生成する。検索結果画面Ｄ２には、例えば、検索対象画像表示領域Ａ３と、第１の検索結果表示領域Ａ４と、第２の検索結果表示領域Ａ５とが含まれる。
【００３７】
検索対象画像表示領域Ａ３は、例えば画面の上位中央に設けられ、図２に示す入力画面Ｄ１の画像入力領域Ａ１または画像識別情報入力領域Ａ２に入力された画像と、検索結果表示される。第１の検索結果表示領域Ａ４には、例えば、第１検索部２３２で検索された画像が類似度の高い順に表示される。また、第２の検索結果表示領域Ａ５には、例えば、第１検索部２３２で検索された画像が類似度の高い順に表示される。
【００３８】
また、表示制御部２５０は、第１の検索結果表示領域Ａ４および第２の検索結果表示領域Ａ５に、画像のみを表示させてもよく、画像の他に、類似度（Ｓｃｏｒｅ）や画像関連情報を、画像ＤＢ２７６から取得して表示させてもよい。なお、図４の例では、第１の検索結果および第２の検索結果のそれぞれについて、類似度の高い順に上位５件が表示されているが、表示される件数については、これに限定されるものではなく、例えば、画面を下にスクロールすることで、類似度が下位の画像を表示することができる。
【００３９】
表示制御部２５０は、第１の検索結果と第２の検索結果とを比較可能な態様で、端末装置側表示部１２０に表示させる。具体的には、表示制御部２５０は、同一画面上に、第１の検索結果と第２の検索結果とを並列に標示させる。このように表示させることで、利用者は、二つのモデルの検索結果を同時に参照することができるため、目視等により更に類似性が高い画像を絞り込む作業を効率的に行うことができる。
【００４０】
また、表示制御部２５０は、第１の検索結果表示領域Ａ４に表示された検索結果と、第２の検索結果表示領域Ａ５に表示された検索結果とを比較し、両方に含まれる検索結果と、何れか一方で含まれる検索結果とが互いに識別可能となる表示態様で表示させてもよい。図４の例では、何れか一方にしか含まれていない検索結果の表示領域に所定のパターン画像ＰＩ１、ＰＩ２が重畳表示または背景色として表示されている。これにより、利用者は、一方の検索結果にしか表示されていない画像を把握したうえで、より適切な絞り込み作業を行うことができる。
【００４１】
また、表示制御部２５０は、第１の検索結果表示領域Ａ４に表示された検索結果の画像と、第２の検索結果表示領域Ａ５に表示された検索結果の画像うち、検索対象画像のセグメント画像との比較に用いられた画像領域に関する情報を表示させてもよい。図４の例では、検索結果として抽出された全体画像のうち、セグメント画像との類似度が最も高い画像領域を囲う枠線ＰＴ１およびＰＴ２が表示されている。なお、図４の例では、第１の検索結果表示領域Ａ４のみに枠線ＰＴ１およびＰＴ２が表示されているが、第２の検索結果表示領域Ａ５の画像にも同様の表示が行われてもよい。これにより、利用者に、検索対象画像と類似している領域を把握させ易くさせることができる。したがって、利用者は、より適切な絞り込み作業を行うことができる。
【００４２】
また、表示制御部２５０は、第１の検索結果表示領域Ａ４および第２の検索結果表示領域Ａ５のそれぞれに表示された各画像に対応付けてチェックボックスＣＢを表示してもよい。例えば、図４に示す検索結果画面Ｄ２が表示されている場合、利用者は、例えば、選択部１５０により正解データであると考える画像のチェックボックスＣＢをチェックする（しおりを付ける）。これにより、表示制御部２５０は、利用者が正解データであると考える画像のみを絞り込んで表示させることができる。
【００４３】
また、表示制御部２５０は、利用者が、選択部１５０により選択した１つの画像を拡大表示してもよい。図５は、実施形態の画像を拡大させる表示制御部２５０の処理について説明するための図である。表示制御部２５０は、第１の検索結果表示領域Ａ４および第２の検索結果表示領域Ａ５のそれぞれに表示された各画像のうち、何れか１つの画像が選択された場合に、図５に示す拡大表示画像Ｄ３を表示する。拡大表示画像Ｄ３には、例えば、拡大表示領域Ａ６が含まれる。表示制御部２５０は、選択された画像を、第１の検索結果表示領域Ａ４または第２の検索結果表示領域Ａ５の表示された画像よりも所定の倍率、または利用者が指定した倍率で拡大し、拡大表示領域Ａ６に表示させる。
【００４４】
また、表示制御部２５０は、拡大表示領域Ａ６に、拡大した画像に対応する画像関連情報を表示させてもよく、チェックボックスＣＢを表示させてもよい。これにより、利用者は、画像の詳細な部分を容易に確認することができる。また、表示制御部２５０は、拡大表示画像Ｄ３が表示されてから所定時間が経過した後に、拡大表示画像Ｄ３の表示を終了してもよく、選択部１５０により拡大表示画像Ｄ３に存在する閉じるボタンＣＬの選択を受け付けることで、拡大表示画像Ｄ３の表示を終了してもよい。
【００４５】
なお、図４または図５に示す画面が表示されることで、選択部１５０は、画像ごとに、「正解データである」または「正解データではない」といった利用者の選択結果を取得することができる。また、選択部１５０は、チェックボックスＣＢに対する選択履歴に関する情報を取得してもよい。選択履歴には、例えば、最終的な選択結果に至るまでの経緯（選択経緯）に関する情報、複数の画像に対して選択した順番、選択した内容の統計結果等の情報が含まれる。選択経緯に関する情報とは、例えば、いったんは正解データとしてチェックボックスＣＢをチェックしたが、そのあとチェックを外した等の利用者による操作の経緯情報である。
【００４６】
また、表示制御部２５０は、チェックされる画像が正解データであるか、または不正解データであるかを示すチェックボックスを表示させてもよい。図６は、実施形態の正解データおよび不正解データに対応するチェックボックスが表示された検索結果画面Ｄ２ａの一例を示す図である。検索結果画面Ｄ２ａには、例えば、検索対象画像表示領域Ａ３、第１の検索結果表示領域Ａ４ａと、第２の検索結果表示領域Ａ５ａとが含まれる。検索対象画像表示領域Ａ３は、図４に示す検索対象画像表示領域Ａ３と同様の情報が表示させるため、ここでの具体的な説明は省略する。また、第１の検索結果表示領域Ａ４ａは、図４に示す第１の検索結果表示領域Ａ４と同様の情報が表示される他、チェックボックスＣＢに正解データであると考える場合にチェックするチェックボックスＣＢ１と、不正解データであると考える場合にチェックするチェックボックスＣＢ２とを有している。また、第２の検索結果表示領域Ａ５ａは、図４に示す第２の検索結果表示領域Ａ５と同様の情報が表示される他、チェックボックスＣＢとしてチェックボックスＣＢ１およびＣＢ２が表示されている。チェックボックスＣＢ１およびＣＢ２は、例えば、ラジオボタンのように、何れか一方しか選択することができない仕組みを有する。
【００４７】
図６に示す検索結果画面Ｄ２ａを表示することで、利用者は、画像が正解データであるか、または不正解データであるかを容易に特定することができる。また、選択部１５０は、画像ごとに、「正解データである」、「不正解データである」、または「どちらでもない」といった利用者の判定結果を取得することができる。つまり、図６に示す検索結果画面Ｄ２ａを表示することで、選択部１５０は、図４に示す検索結果画面Ｄ２を表示するよりも詳細な選択履歴に関する情報を取得することができる。
【００４８】
更に、表示制御部２５０は、選択部１５０により得られる選択履歴に関する情報を表示させてもよい。図６の例では、第１の検索結果表示領域Ａ４ａにおいて、正確データのチェックボックスにチェックされている二つの画像に対して、選択履歴に含まれる選択経緯に関する情報に対応付けられた枠線ＭＫ１、ＭＫ２が画像を含む領域を囲うように表示されている。なお、選択経緯に関する情報の表示態様については、これに限定されるものではなく、枠線の色や他の模様、マーク、文字情報等を異ならせて表示させてもよい。なお、図６の例において、枠線ＭＫ１は、利用者が最初から正解データのチェックボックスにチェックした選択経緯に対応付けて表示される枠線である。また、枠線ＭＫ２は、利用者が最初に不正解データのチェックボックスにチェックした後に正解データのチェックボックスにチェックした選択経緯に対応付けて表示される枠線である。また、表示制御部２５０は、その他の分類に対して枠線ＭＫ１およびＭＫ２と識別可能な枠線を表示させてもよい。このように、同じ正解データのチェックボックスにチェックされた画像であっても、選択履歴に関連する情報を表示させることで、利用者に、選択経緯等を把握させ易くすることができる。
【００４９】
相互学習部２６０は、第１検索部２３２による第１の検索結果および第２検索部２３４による第２の検索結果に基づいて、第１モデル２７２および第２モデル２７４を相互に学習して、モデルを更新する。以下、実施形態におけるモデルの更新内容等を、幾つかの更新パターンごとに説明する。
【００５０】
（第１の更新パターン）
第１の更新パターンにおいて、相互学習部２６０は、第１の検索結果に含まれる正解データの情報と、第２の検索結果に含まれる正解データの情報とに基づいて、第１モデル２７２と第２モデル２７４とを相互に学習して更新する。正解データとは、例えば、図４に示す第１の検索結果表示領域Ａ４または第２の検索結果表示領域Ａ５の表示された画像のうち、利用者によりチェックボックスＣＢで選択された画像である。また、正解データとは、図６に示す第１の検索結果表示領域Ａ４ａまたは第２の検索結果表示領域Ａ５ａの表示された画像のうち、利用者により正解データのチェックボックスＣＢで選択された画像である。また、相互に学習するとは、例えば、一方のモデルの正解データを、自己のモデルだけでなく、他方のモデルの教師データとしてモデルを再学習させることである。
【００５１】
相互学習部２６０は、例えば、図４または図６に示す第１の検索結果表示領域Ａ４、Ａ４ａ、および第２の検索結果表示領域Ａ５、Ａ５ａに表示された検索結果の画像のうち、利用者が正解データとして選択された画像の検索画像に対する類似度が高くなるように、第１モデル２７２と第２モデル２７４とを相互に学習して更新することで、一方のモデルでは不得意な画像の検索であっても、他のモデルで得意とする画像の検索結果で学習することができるため、より精度よく且つ効率的にモデルを学習することができる。
【００５２】
（第２の更新パターン）
第２の更新パターンにおいて、相互学習部２６０は、図４に示す第１の検索結果表示領域Ａ４または第２の検索結果表示領域Ａ５においてチェックボックスにチェックされていない画像（非類似画像）に基づいて、第１モデル２７２および第２モデル２７４を更新する。また、相互学習部２６０は、図６に示す第１の検索結果表示領域Ａ４ａまたは第２の検索結果表示領域Ａ５ａにおいて、不正解データのチェックボックスにチェックされた画像（不正解データ）に基づいて、第１モデル２７２および第２モデル２７４を更新する。この場合、非類似画像または不正解データとして選択された画像の検索画像に対する類似度が低くなるように、第１モデル２７２と第２モデル２７４とを相互に学習して更新する。これにより、第１の更新パターンと同様の効果を得ることができる。
【００５３】
また、相互学習部２６０は、図６に示す第１の検索結果表示領域Ａ４ａまたは第２の検索結果表示領域Ａ５ａにおいて、不正解データが選択された場合には、第１の検索結果表示領域Ａ４および第２の検索結果表示領域Ａ５の表示された画像のうち、不正解データとして選択された画像を除く画像を用いて、第１モデル２７２と第２モデル２７４とを相互に学習してもよい。不正解データは、例えば、チェックボックスＣＢによる画像の選択を受け付けることで取得される。
【００５４】
（第３の更新パターン）
第３の更新パターンにおいて、相互学習部２６０は、上述した選択経緯に基づいて、第１モデル２７２と第２モデル２７４とを相互に学習して更新する。この場合、相互学習部２６０は、例えば、図６に示す検索結果画面Ｄ２ａを用いて選択部１５０により選択された選択経緯を、以下の（１）〜（５）の項目に分類分けする。
（１）利用者が正解データ（画像が似ている）と考えた画像
（２）利用者が正解データとして選択した後、取り消した画像
（３）利用者が正解にも不正解にも属さない画像
（４）利用者が不正解データ（画像が似ていない）として選択した後、取り消した画像
（５）利用者が不正解データと考える画像
【００５５】
次に、相互学習部２６０は、検索結果の類似度において、「（１）＞（２）＞（３）＞（４）＞（５）」の関係が成立するように、第１モデル２７２および第２モデル２７４を学習させる。「Ｘ＞Ｙ」とは、Ｘの方がＹよりも検索対象画像に対する類似度が高いことを意味する。
【００５６】
例えば、画像の類似度合（似ている度合）は、最初から正解データであると判断された画像（第１画像）、いったんは正解データとして判断された画像（第２画像）、最初から正解データとして判断されていない画像（第３画像）がある場合に、第１画像、第２画像、および第３画像の順番で大きくなる。また、画像の非類似度合（似ていない度合）は、最初から不正解データであると判断された画像（第４画像）、いったんは不正解データとして判断された画像（第５画像）、最初から不正解データとして判断されていない画像（第６画像）がある場合に、第４画像、第５画像、および第６画像の順番で大きくなる。したがって、相互学習部２６０は、上述した類似度合または非類似度合の大きさの関係が成立するように、上述した画像の分類結果を用いて、第１モデル２７２と第２モデル２７４とを相互に学習させることで、より適切なモデルの更新を行うことができる。
【００５７】
なお、上述の例では（１）〜（５）に分類分けした結果に基づいて学習させたが、これに限定されるものではなく、相互学習部２６０は、例えば、図４に示す正解データのチェックボックスをチェックしたこと、またはチェックしなかったことの二つの分類結果を用いてモデルの学習および更新を行ってもよい。
【００５８】
（第４の更新パターン）
第４の更新パターンにおいて、相互学習部２６０は、上述した視線検出部１７０により検出された視線情報に基づいて、第１モデル２７２と第２モデル２７４とを相互に学習して更新する。この場合、相互学習部２６０は、視線情報に含まれる視線の移動履歴に基づいて、視線が所定時間以上滞留する画像の位置を類似領域として認識する。次に、相互学習部２６０は、利用者が検索結果からチェックボックスＣＢにチェックを行っている作業中の視線情報から、類似領域を往復している（見比べている）時間や回数、類似領域に視線が滞留している（精査している）時間や回数を検出する。そして、相互学習部２６０は、上述した時間や回数が多いほど、検索対象画像との類似度が高くなるように第１モデル２７２と第２モデル２７４とを相互に学習させる。これにより、利用者の視線情報を用いて、より適切にモデルの学習や更新を行うことができる。
【００５９】
また、相互学習部２６０は、画像を学習する場合に、類似領域等に基づいて画像全体から部分領域を抽出し、抽出した部分画像を学習データとして利用してもよい。
【００６０】
また、検索部２３０は、図３に示すように、検索対象画像から抽出したセグメント画像を用いた画像検索が可能である。そのため、相互学習部２６０は、例えば、類似度が最大となるセグメント画像を抽出し、抽出したセグメント画像を学習データとして利用してもよい。これにより、より精度のよいモデルの学習を行うことができる。
【００６１】
（第５の更新パターン）
第５の更新パターンにおいて、相互学習部２６０は、第１モデル２７２および第２モデル２７４を用いた検索結果の画像と、検索対象画像とのそれぞれのカテゴリ（カテゴリ情報の一例）に基づいて、学習強度を変化させて学習を行う。カテゴリとは、例えば、キャラクター画像、商品のロゴ、マーク、エンブレム等の画像の内容や、画像の色、形状、ジャンル（ご当地キャラクター画像、アニメ画像）等である。学習強度とは、例えば、類似度合や非類似度合等に基づく学習の仕方やその度合（学習度合）である。例えば、相互学習部２６０は、カテゴリが同一である場合には、類似度合が、より高くなる（強くなる）ように学習し、カテゴリが異なる場合には、類似度合が、より低くなる（弱くなる）ように学習する。また、相互学習部２６０は、上述とは逆に、カテゴリが同一である場合には、類似度合が、より低くなるように学習し、カテゴリが異なる場合には、類似度合が、より高くなるように学習してもよい。
【００６２】
第５の更新パターンにより、相互学習部２６０は、例えば、違うカテゴリで正解データ（似ている画像）と判定されている場合に、しおりの付与（チェックボックスのチェック）やセグメント領域の抽出が間違っている可能性があるため弱めの学習強度で学習したり、カテゴリだけ見れば似ていないが、似ていると判断されるように強めの学習強度で学習させることができる。
【００６３】
（第６の更新パターン）
第６の更新パターンにおいて、相互学習部２６０は、利用者の選択履歴を取得し、取得した選択履歴から推定される利用者の特性情報に基づいて、第１モデル２７２と第２モデル２７４とを相互に学習するときの学習強度を変化させる。例えば、利用者によっては、正解データとして選択された画像数が多い利用者や、不正解データとして選択された画像数が多い利用者、正解データまたは不正解データを選択しない画像数が多い利用者、選択内容を変更する頻度が高い利用者等が存在する。したがって、相互学習部２６０は、検索時に入力される利用者ＩＤと、利用者の選択履歴に基づいて、利用者ごとの特性情報を推定し、推定した特性情報に基づいて、選択結果を正規化して学習強度を変化させ、変化させた学習強度に基づいて第１モデル２７２と第２モデル２７４とを相互に学習して更新する。
【００６４】
例えば、相互学習部２６０は、正解データや不正解データのチェックを行う比率の少ない利用者が、正解データや不正解データのチェックを行った場合には、その画像に対する学習強度（例えば、類似度合や非類似度合）を高くする。一方、正解データや不正解データのチェックを行う比率が高い利用者が、正解データや不正解データのチェックを行った場合には、その画像に対する学習強度を低くする。これにより、利用者ごとに選択の仕方に特性がある場合であっても、より適切な学習強度で学習させることができる。
【００６５】
（第７の更新パターン）
第７の更新パターンにおいて、相互学習部２６０は、第１モデル２７２および第２モデル２７４のうち、過去に学習したデータを削除する。例えば、相互学習部２６０は、所定周期ごとに第１モデル２７２および第２モデル２７４を更新している場合には、更新ごとの世代データを記憶部２７０等に記憶させておき、次の更新のときに、所定世代前のデータを用いないようにする。これにより、流行等によって画像の類似度の判定が異なる場合であっても、より適切な検索結果を出力することができる。
【００６６】
実施形態において、上述した第１〜第７の更新パターンのそれぞれは、他の更新パターンの一部または全部を組み合わせてもよい。どのように組み合わせるかについては、例えば、画像検索装置２００が、第１モデル２７２や第２モデル２７４の種類等によって設定してもよく、画像検索装置２００の管理者等により設定されてもよい。
【００６７】
図７は、実施形態の画像検索装置における処理内容の一例を示すフローチャートである。図７の例において、画像取得部２２０は、端末装置１００から検索対象画像を取得する（ステップＳ１００）。次に、第１検索部２３２は、取得した検索対象画像に対して、第１モデル２７２に基づく画像検索を実行する（ステップＳ１０２）。次に、第２検索部２３４は、取得した検索対象画像に対して、第２モデル２７４に基づく画像検索を実行する（ステップＳ１０４）。
【００６８】
次に、表示制御部２５０は、第１モデル２７２に基づく第１の検索結果と、第２モデル２７４に基づく第２の検索結果とを、端末装置側表示部１２０に表示させる（ステップＳ１０６）。なお、ステップＳ１０６の処理において、表示制御部２５０は、例えば、第１の検索結果に含まれる画像と、第２の検索結果に含まれる画像とを、類似度の高いが画像順に、並列に並べて表示させる。
【００６９】
次に、表示制御部２５０は、端末装置１００の利用者の選択により、第１の検索結果の画像ごと、および第２の検索結果の画像ごとに、利用者の選択結果を受け付ける（ステップＳ１０８）。選択結果とは、選択部１５０により選択された正解データまたは不正解データのチェック結果である。
【００７０】
次に、相互学習部２６０は、表示制御部第１の検索結果の画像ごと、および第２の検索結果の画像ごとに、利用者の選択結果を受け付ける（ステップＳ１０８）。選択結果とは、選択部１５０により選択された正解データまたは不正解データのチェック結果である。次に、相互学習部２６０は、選択部１５０により選択された内容に基づく選択履歴や選択経緯に関する情報を取得する（ステップＳ１１０）。次に、相互学習部２６０は、視線検出部１７０により検出された視線情報を取得する（ステップＳ１１２）。次に、相互学習部２６０は、第１〜第７の更新パターンのうち、少なくとも一つを用いて、第１モデル２７２と第２モデル２７４とを相互に更新する（ステップＳ１１４）。これにより、本フローチャートの処理は、終了する。
【００７１】
また、実施形態において、上述した第１モデル２７２および第２モデルの２７４の他に、複数のモデルが記憶部２７０に記憶されていてもよい。この場合、第１検索部２３２および第２検索部２３４は、記憶部２７０に記憶される複数のモデルのうち異なる一つのモデルを選択し、選択したモデルに基づいて検索を行ってもよい。これにより、様々なモデルの組み合わせに基づいて、モデルの相互学習を行うことができる。
【００７２】
以上で説明した少なくとも一つの実施形態によれば、複数の画像を記憶する記憶部２７０と、検索対象画像の入力を受け付ける画像取得部２２０と、記憶部２７０に記憶された複数の画像から、第１モデル２７２を用いて画像取得部２２０により受け付けられた画像に類似する画像を検索する第１検索部２３２と、記憶部２７０に記憶された複数の画像から、第２モデル２７４を用いて受付部により受け付けられた画像に類似する画像を検索する第２検索部２３４と、第１検索部２３２により検索された第１の検索結果と、第２検索部２３４により検索された第２の検索結果と、に基づいて、第１モデル２７２および第２モデル２７４を相互に更新する相互学習部とを持つことにより、効率的に検索精度を向上させることができる。
【００７３】
具体的には、少なくとも一つの実施形態によれば、二つの異なるモデルを用いた画像検索を並列して行い、一方のモデルの正解データを、自己のモデルだけでなく、他方のモデルの教師データとしてモデルを再学習させることで、人手で教師データを探索する手間を低減させることができる。また、少なくとも一つの実施形態によれば、複数のモデルによる検索結果に基づいて相互学習を行うことで、モデルごとの検索精度のばらつきを低減させることができる。
【００７４】
また、相互学習部２６０では、他方のモデルで検索された正解データと、自己のモデルで検索された正解データとで、重みを変えて学習させる処理も可能となっている。更には、相互学習部２６０では、類似性があると判断され、特定がなされた複数画像に対して、それぞれセグメント処理を実施しても良い。その上で、全ての画像とセグメント処理の行なわれた画像のどこが似ているかを例えばＳＩＦＴ特徴量で特定するのである。そして、全体画像＋類似性の高いセグメント画像のみを用いて、これらを類似している画像としてトレーニングデータとする。このトレーニングデータはＣＮＮだけではなく、ＳＩＦＴ特徴量のクラスタリングを実施する際にも用いることができて、双方の学習データとなるものである。
【００７５】
なお、上述の構成以外では、ディープラーニング（Deep Learning）を用いるのはＣＮＮに限定する必要はない。例えば、ＲＮＮ（Recurrent Neural Network）でも実現は可能である。また、ＣＮＮに限定した場合であっても、VGGnet、ResNet、AlexNet、ImageNetやGoogleNet等の多種多様なアーキテクチャが存在する。本実施形態では、これらを用いた実験等を行い、その結果から検索対象に最適なものを（例えば、VGGnet）ベースとなるモデルに選定して、画像（図形等）への対応としてネットワークのカスタマイズやチューニングを実施することになる。
【００７６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００７７】
１…画像検索システム、１００…端末装置、１１０…端末装置側通信部、１２０…端末装置側表示部、１３０…検索対象画像受付部、１４０…検索指示部、１５０…選択部、１６０…撮像部、１７０…視線検出部、２００…画像検索装置、２１０…検索装置側通信部、２２０…画像取得部、２３０…検索部、２３２…第１検索部、２３４…第２検索部、２４０…検索装置側表示部、２５０…表示制御部、２６０…相互学習部、２７０…記憶部、２７２…第１モデル、２７４…第２モデル、２７６…画像ＤＢ
【図１】
2019175463.tif 000003
【図２】
2019175463.tif 000004
【図３】
2019175463.tif 000005
【図４】
2019175463.tif 000006
【図５】
2019175463.tif 000007
【図６】
2019175463.tif 000008
【図７】
2019175463.tif 000009