図面 (/)

技術 画像検索システム、画像検索方法およびプログラム

出願人 楽天株式会社
発明者 ジェヴァヒルアリ
出願日 2017年1月20日 (2年4ヶ月経過) 出願番号 2018-518547
公開日 2019年1月24日 (3ヶ月経過) 公開番号 WO2018-134964
状態 特許登録済
技術分野 検索装置
主要キーワード 合計ベクトル 表示出力デバイス 特徴値算出 画像特徴ベクトル クエリベクトル 局所的特徴 画像検索サーバ インデックス処理
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2019年1月24日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (12)

課題・解決手段

より高い精度で類似の画像を検索すること。画像検索システムは、特徴ベクトル空間に含まれそれぞれ画像の特徴を示す複数の特徴ベクトルに基づいて生成された、複数の代表ベクトルを取得し、前記複数の特徴ベクトルのそれぞれと、当該特徴ベクトルに対応する前記代表ベクトルとの間の類似度を示すスカラー値を算出し、画像のそれぞれについて、前記スカラー値に基づき、代表ベクトルに応じた特徴を示す特徴値を代表ベクトルごとに算出し、前記算出された特徴値に関連する検索インデックスを作成する。

概要

背景

ネットワーク技術等の発達によって、膨大な量の画像ファイルが管理されるようになっている。大量の画像からクエリ画像に類似する画像を検索する技術が一般に用いられるようになっている。画像の検索のための手法として、BoVモデル(Bug of Visual wordsModel)がある。BoVモデルでは、既知の手法により、画像のデータからそれぞれが画像の局所的な特徴を示す複数の特徴ベクトルを抽出する。特徴ベクトルのデータ量が大きいため、さらにそれぞれの特徴ベクトルに最も近いベクトルを有するビジュアルワード(Visual Words)を検索に用いることでデータ量を圧縮している。

非特許文献1には、画像の特徴を示すデータの量をさらに減らすために、ビジュアルワードごとに、そのビジュアルワードに対応する特徴ベクトルと、そのビジュアルワードを代表する代表ベクトルとの差(差分ベクトル)の合計(合計ベクトル)を求め、その合計ベクトルに応じたデータを記憶部に格納する手法が開示されている。この手法では、この合計ベクトルに応じたデータと、クエリ画像から取得される合計ベクトルに応じたデータとに基づいて、クエリ画像に類似する画像が検索される。

概要

より高い精度で類似の画像を検索すること。画像検索システムは、特徴ベクトル空間に含まれそれぞれ画像の特徴を示す複数の特徴ベクトルに基づいて生成された、複数の代表ベクトルを取得し、前記複数の特徴ベクトルのそれぞれと、当該特徴ベクトルに対応する前記代表ベクトルとの間の類似度を示すスカラー値を算出し、画像のそれぞれについて、前記スカラー値に基づき、代表ベクトルに応じた特徴を示す特徴値を代表ベクトルごとに算出し、前記算出された特徴値に関連する検索インデックスを作成する。

目的

本発明は上記課題を鑑みてなされたものであって、その目的は、より精度の高い画像検索技術を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

特徴ベクトル空間に含まれそれぞれ画像の特徴を示す複数の特徴ベクトルに基づいて生成された、複数の代表ベクトルを取得する代表ベクトル取得手段と、前記複数の特徴ベクトルのそれぞれと、当該特徴ベクトルに対応する前記代表ベクトルとの間の類似度を示すスカラー値を算出するスカラー値算出手段と、画像のそれぞれについて、代表ベクトルに応じた特徴を示す特徴値を前記スカラー値に基づき、代表ベクトルごとに算出する特徴値算出手段と、前記算出された特徴値に関連する検索インデックスを作成するインデックス作成手段と、を含む画像検索システム

請求項2

請求項1に記載の画像検索システムにおいて、前記特徴値算出手段は、画像のそれぞれについて、前記代表ベクトルごとに、当該代表ベクトルと複数の前記特徴ベクトルとの間で算出された前記スカラー値の合計を特徴値として算出する、画像検索システム。

請求項3

請求項1または2に記載の画像検索システムにおいて、前記スカラー値算出手段は、前記代表ベクトルのそれぞれについて、前記代表ベクトルと、当該代表ベクトルに対応する複数の特徴ベクトルのそれぞれとの距離をスカラー値として算出する、画像検索システム。

請求項4

請求項1から3のいずれか一項に記載の画像検索システムにおいて、前記代表ベクトル生成手段は、前記複数の特徴ベクトルのそれぞれに対応する代表ベクトルを決定する、画像検索システム。

請求項5

請求項4に記載の画像検索システムにおいて、前記代表ベクトル生成手段は、複数の特徴ベクトルを複数のクラスタ分類し、それぞれ前記複数のクラスタのいずれかを代表する複数の代表ベクトルを生成する、画像検索システム。

請求項6

請求項4または5に記載の画像検索システムにおいて、前記代表ベクトルは複数の第1代表ベクトルと、複数の第2代表ベクトルとを含み、前記複数の第2代表ベクトルのそれぞれは、前記複数の第1代表ベクトルのいずれかに対応し、前記代表ベクトル生成手段は、前記複数の特徴ベクトルのそれぞれを前記複数の第2代表ベクトルのうちいずれか1つと、前記1つの第2代表ベクトルに対応する第1代表ベクトルとに対応付ける、画像検索システム。

請求項7

請求項6に記載の画像検索システムにおいて、前記インデックス作成手段は、複数の画像のそれぞれについての複数の特徴値を圧縮することにより、データ量が前記複数の特徴値より小さいインデックスを生成する、画像検索システム。

請求項8

請求項7に記載の画像検索システムにおいて、前記インデックス作成手段は、複数の画像のそれぞれについての複数の特徴値をオートエンコーダにより圧縮する、画像検索システム。

請求項9

請求項4から8のいずれか一項に記載の画像検索システムにおいて、前記代表ベクトル生成手段は、前記第1代表ベクトルに対応付けられる特徴ベクトルの数が所定数より多い場合に、当該第1代表ベクトルに対応する複数の第2代表ベクトルを生成し、前記第1代表ベクトルのうち少なくとも1つは、前記第2代表ベクトルのいずれにも対応しない、画像検索システム。

請求項10

請求項1から9のいずれか一項に記載の画像検索システムにおいて、前記検索インデックスと、クエリ画像から求められる特徴値とに基づいて、前記クエリ画像に類似する画像を検索する画像検索手段をさらに含む画像検索システム。

請求項11

特徴ベクトル空間に含まれそれぞれ画像の特徴を示す複数の特徴ベクトルに基づいて生成された、複数の代表ベクトルを取得するステップと、前記複数の特徴ベクトルのそれぞれと、当該特徴ベクトルに対応する前記代表ベクトルとの間の類似度を示すスカラー値を算出するステップと、画像のそれぞれについて、代表ベクトルに応じた特徴を示す特徴値を前記スカラー値に基づき、代表ベクトルごとに算出するステップと、前記算出された特徴値に関連する検索インデックスを作成するステップと、を含む画像検索方法

請求項12

特徴ベクトル空間に含まれそれぞれ画像の特徴を示す複数の特徴ベクトルに基づいて生成された、複数の代表ベクトルを取得する代表ベクトル取得手段、前記複数の特徴ベクトルのそれぞれと、当該特徴ベクトルに対応する前記代表ベクトルとの間の類似度を示すスカラー値を算出するスカラー値算出手段、画像のそれぞれについて、代表ベクトルに応じた特徴を示す特徴値を前記スカラー値に基づき、代表ベクトルごとに算出する特徴値算出手段、および、前記算出された特徴値に関連する検索インデックスを作成するインデックス作成手段、としてコンピュータを機能させるためのプログラム

技術分野

0001

本発明は画像検索システム画像検索方法およびプログラムに関する。

背景技術

0002

ネットワーク技術等の発達によって、膨大な量の画像ファイルが管理されるようになっている。大量の画像からクエリ画像に類似する画像を検索する技術が一般に用いられるようになっている。画像の検索のための手法として、BoVモデル(Bug of Visual wordsModel)がある。BoVモデルでは、既知の手法により、画像のデータからそれぞれが画像の局所的な特徴を示す複数の特徴ベクトルを抽出する。特徴ベクトルのデータ量が大きいため、さらにそれぞれの特徴ベクトルに最も近いベクトルを有するビジュアルワード(Visual Words)を検索に用いることでデータ量を圧縮している。

0003

非特許文献1には、画像の特徴を示すデータの量をさらに減らすために、ビジュアルワードごとに、そのビジュアルワードに対応する特徴ベクトルと、そのビジュアルワードを代表する代表ベクトルとの差(差分ベクトル)の合計(合計ベクトル)を求め、その合計ベクトルに応じたデータを記憶部に格納する手法が開示されている。この手法では、この合計ベクトルに応じたデータと、クエリ画像から取得される合計ベクトルに応じたデータとに基づいて、クエリ画像に類似する画像が検索される。

先行技術

0004

Jegou, H., Douze, M., Schmid, C., Perez, P.: Aggregating Local Descriptors into a Compact Image Representation. In:IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2010). IEEE, San Francisco, pp. 3304-3311 (2010)

発明が解決しようとする課題

0005

特徴ベクトルとビジュアルワードの代表ベクトルとの差分ベクトルの合計をとると、例えば2つの特徴ベクトルについて差分ベクトルの方向が反対の場合に、合計ベクトルの各要素の値が小さくなる。このような場合には、画像の特徴が、その画像の検索に適切に反映されなかった。

0006

本発明は上記課題を鑑みてなされたものであって、その目的は、より精度の高い画像検索技術を提供することである。

課題を解決するための手段

0007

上記課題を解決するために、本発明にかかる画像検索システムは、特徴ベクトル空間に含まれそれぞれ画像の特徴を示す複数の特徴ベクトルに基づいて生成された、複数の代表ベクトルを取得する代表ベクトル取得手段と、前記複数の特徴ベクトルのそれぞれと、当該特徴ベクトルに対応する前記代表ベクトルとの間の類似度を示すスカラー値を算出するスカラー値算出手段と、画像のそれぞれについて、代表ベクトルに応じた特徴を示す特徴値を前記スカラー値に基づき、代表ベクトルごとに算出する特徴値算出手段と、前記算出された特徴値に関連する検索インデックスを作成するインデックス作成手段と、を含む。

0008

また、本発明にかかるプログラムは、特徴ベクトル空間に含まれそれぞれ画像の特徴を示す複数の特徴ベクトルに基づいて生成された、複数の代表ベクトルを取得する代表ベクトル取得手段、前記複数の特徴ベクトルのそれぞれと、当該特徴ベクトルに対応する前記代表ベクトルとの間の類似度を示すスカラー値を算出するスカラー値算出手段、画像のそれぞれについて、代表ベクトルに応じた特徴を示す特徴値を前記スカラー値に基づき、代表ベクトルごとに算出する特徴値算出手段、および、前記算出された特徴値に関連する検索インデックスを作成するインデックス作成手段としてコンピュータを機能させる。

0009

また、本発明にかかる画像検索方法は、特徴ベクトル空間に含まれそれぞれ画像の特徴を示す複数の特徴ベクトルに基づいて生成された、複数の代表ベクトルを取得するステップと、前記複数の特徴ベクトルのそれぞれと、当該特徴ベクトルに対応する前記代表ベクトルとの間の類似度を示すスカラー値を算出するステップと、画像のそれぞれについて、代表ベクトルに応じた特徴を示す特徴値を前記スカラー値に基づき、代表ベクトルごとに算出するステップと、前記算出された特徴値に関連する検索インデックスを作成するステップと、を含む。

0010

本発明によれば、より高い精度で画像を検索することができる。

0011

本発明の一形態では、前記特徴値算出手段は、画像のそれぞれについて、前記代表ベクトルごとに、当該代表ベクトルと複数の前記特徴ベクトルとの間で算出された前記スカラー値の合計を特徴値として算出してもよい。

0012

本発明の一形態では、前記スカラー値算出手段は、前記代表ベクトルのそれぞれについて、前記代表ベクトルと、当該代表ベクトルに対応する複数の特徴ベクトルのそれぞれとの距離をスカラー値として算出してもよい。

0013

本発明の一形態では、前記代表ベクトル生成手段は、前記複数の特徴ベクトルのそれぞれに対応する代表ベクトルを決定してもよい。

0014

本発明の一形態では、前記代表ベクトル生成手段は、複数の特徴ベクトルを複数のクラスタ分類し、それぞれ前記複数のクラスタのいずれかを代表する複数の代表ベクトルを生成してもよい。

0015

本発明の一形態では、前記代表ベクトルは複数の第1代表ベクトルと、複数の第2代表ベクトルとを含み、前記複数の第2代表ベクトルのそれぞれは、前記複数の第1代表ベクトルのいずれかに対応し、前記代表ベクトル生成手段は、前記複数の特徴ベクトルのそれぞれを前記複数の第2代表ベクトルのうちいずれか1つと、前記1つの第2代表ベクトルに対応する第1代表ベクトルとに対応付けてよい。

0016

本発明の一形態では、前記インデックス作成手段は、複数の画像のそれぞれについての複数の特徴値を圧縮することにより、データ量が前記複数の特徴値より小さいインデックスを生成してもよい。

0017

本発明の一形態では、前記インデックス作成手段は、複数の画像のそれぞれについての複数の特徴値をオートエンコーダにより圧縮してもよい。

0018

本発明の一形態では、前記代表ベクトル生成手段は、前記第1代表ベクトルに対応付けられる特徴ベクトルの数が所定数より多い場合に、当該第1代表ベクトルに対応する複数の第2代表ベクトルを生成し、前記第1代表ベクトルのうち少なくとも1つは、前記第2代表ベクトルのいずれにも対応しなくてもよい。

0019

本発明の一形態では、画像検索システムは、前記検索インデックスと、クエリ画像から求められる特徴値とに基づいて、前記クエリ画像に類似する画像を検索する画像検索手段をさらに含んでもよい。

図面の簡単な説明

0020

本発明の実施形態にかかる画像検索システムの構成を概略的に説明する図である。
画像検索サーバハードウェア構成の一例を示す図である。
画像検索システムが実現する機能を説明するブロック図である。
インデックス処理部の処理の一例を示すフロー図である。
検索対象となる画像の一例を示す図である。
画像から抽出される画像特徴ベクトルを概略的に示す図である。
クラスタおよび代表ベクトルの関係を概略的に示す図である。
クラスタの階層構造の一例を説明する図である。
ある画像から抽出された特徴ベクトルと代表ベクトルとの関係を説明する図である。
ある画像について算出された複数の特徴値の一例を示す図である。
検索処理部の処理の一例を示すフロー図である。

実施例

0021

以下では、本発明の実施形態について図面に基づいて説明する。出現する構成要素のうち同一機能を有するものには同じ符号を付し、その説明を省略する。

0022

図1は、本発明の第1の実施形態にかかる画像検索システムの構成の一例を示す図である。画像検索システムは、画像検索サーバ1と、ユーザ端末2と、を含む。画像検索サーバ1は、画像検索プログラムウェブサーバプログラム(httpdなど)が動作するサーバコンピュータであり、ユーザ端末2は、例えばウェブブラウザのプログラムが動作するパーソナルコンピュータや、スマートフォンである。画像検索サーバ1とユーザ端末2とは、ネットワーク3を介して互いに通信する。ネットワーク3は、例えばローカルエリアネットワークインターネットである。

0023

画像検索システムが画像検索を行う際の動作の概要は以下の通りである。はじめに、画像検索サーバ1は、ネットワーク3を介してユーザ端末2から画像検索に用いるクエリとなる画像(以下、「クエリ画像」と記述する)を取得する。次に画像検索サーバ1は、クエリ画像に類似する1または複数の画像を検索し、その画像のデータを例えばユーザ端末2に向けて出力する。

0024

図2は、第1の実施形態にかかる画像検索サーバ1の構成の一例を示す図である。画像検索サーバ1は、プロセッサ11、記憶部12、通信部13および入出力部14を含む。

0025

プロセッサ11は、記憶部12に格納されているプログラムに従って動作する。またプロセッサ11は通信部13や入出力部14を制御する。なお、上記プログラムは、インターネット等のネットワークを介して提供されるものであってもよいし、DVD−ROMやフラッシュメモリ等のコンピュータで読み取り可能な情報記憶媒体に格納されて提供されるものであってもよい。

0026

記憶部12は、RAMやROM等のメモリ素子ハードディスクドライブ等によって構成されている。記憶部12は、上記プログラムを格納する。また、記憶部12は、各部から入力される情報や演算結果を格納する。

0027

通信部13は、ユーザ端末2等の他の装置と通信する機能を実現するものであり、例えばネットワークカードのような通信手段で構成されている。ネットワークカードは、通信用集積回路通信端子を含んでいる。通信部13は、プロセッサ11の制御に基づいて、他の装置から受信した情報をプロセッサ11や記憶部12に入力し、他の装置に情報を送信する。

0028

入出力部14は、表示出力デバイスコントロールするビデオコントローラや、入力デバイスからのデータを取得するコントローラなどにより構成される。入力デバイスとしては、キーボードマウスタッチパネルなどがある。入出力部14は、プロセッサ11の制御に基づいて、表示出力デバイスに画像を表示させるデータを出力し、入力デバイスをユーザが操作することにより入力されるデータを取得する。表示出力デバイスは例えば外部に接続されるディスプレイ装置である。

0029

ユーザ端末2は、画像検索サーバ1と同様にプロセッサ11、記憶部12、通信部13、入出力部14等を含む。ユーザ端末2は画像検索サーバ1等から受信したデータに基づいて画面提示する機能や、その画面についてユーザが入力した情報を画像検索サーバ1に送信する機能を実現する。これらの機能は、例えばユーザ端末2に含まれるプロセッサ11等がブラウザなどのプログラムを実行し、画像検索サーバ1等から受信したデータに応じた処理をすることで実現される。またブラウザではなく、ユーザ端末2にインストールされた専用のアプリケーションプログラムによりこれらの機能が実現されてもよい。

0030

図3は、画像検索システムが実現する機能を示すブロック図である。画像検索システムは、機能的に、インデックス処理部50、検索処理部60、画像データ格納部71、インデックス格納部72を含む。インデックス処理部50は、複数の画像のデータからそれらの画像の検索に用いるインデックスを生成する。検索処理部60は、検索条件となるクエリ画像と、インデックスとに基づいて、クエリ画像に類似する画像を検索する。インデックス処理部50、検索処理部60、画像データ格納部71、インデックス格納部72は、画像検索サーバ1に実装される。なお、画像データ格納部71、インデックス格納部72が別のサーバに実装されてもよいし、インデックス処理部50、検索処理部60が互いに異なるサーバに実装されてもよい。

0031

画像データ格納部71は、主に記憶部12により実現される。画像データ格納部71は、検索の対象となる複数の画像のデータを格納する。インデックス格納部72は、主に記憶部12により実現される。インデックス格納部72は、インデックス生成部55により生成された画像のインデックスを格納する。

0032

インデックス処理部50は機能的に特徴ベクトル抽出部51、クラスタリング部52、スコア値算出部53、特徴値算出部54、インデックス生成部55を含む。検索処理部60は機能的に、クエリベクトル検出部61、クエリ対応決定部62、クエリスコア値算出部63、クエリ特徴値算出部64、画像検索部65を含む。これらの機能は、プロセッサ11が記憶部12に格納されたプログラムを実行し、通信部13や入出力部14を制御することで実現される。

0033

次に、インデックス処理部50の処理について説明する。

0034

特徴ベクトル抽出部51は、主にプロセッサ11がプログラムを実行し、記憶部12を制御することにより実現される。特徴ベクトル抽出部51は、画像データ格納部71に格納される複数の画像データから、それぞれ画像の局所的な特徴を示す複数の特徴ベクトルを抽出する。また、特徴ベクトル抽出部51は1つの画像について複数の特徴ベクトルを抽出する。1つの画像から抽出される特徴ベクトルの数は、画像に応じて決まり、通常の画像では300程度である。また特徴ベクトルの次元は、たとえば128次元である。

0035

クラスタリング部52は、主にプロセッサ11がプログラムを実行し、記憶部12を制御することにより実現される。クラスタリング部52は、抽出された複数の特徴ベクトルに基づいて複数の代表ベクトルを生成する。より具体的には、クラスタリング部52は複数の特徴ベクトルを複数のクラスタに分類し、それぞれ前記複数のクラスタのいずれかを代表する複数の代表ベクトルを、特徴ベクトルに基づいて生成する。またクラスタリング部52は、複数の特徴ベクトルのそれぞれを複数の代表ベクトルのいずれかに対応づける。ここで、クラスタのそれぞれは、BoVモデルにおけるビジュアルワード(Visual Word)に対応する。

0036

スコア値算出部53は、主にプロセッサ11がプログラムを実行し、記憶部12を制御することにより実現される。スコア値算出部53は、複数の代表ベクトルのそれぞれと、複数の特徴ベクトルの少なくとも一部との類似の大きさを示すスコア値を算出する。スコア値はスカラー値である。例えば、スコア値算出部53は、代表ベクトルのそれぞれについて、前記代表ベクトルと、当該代表ベクトルに対応する複数の特徴ベクトルのそれぞれとの距離をスコア値として算出する。

0037

特徴値算出部54は、主にプロセッサ11がプログラムを実行し、記憶部12を制御することにより実現される。特徴値算出部54は、画像のそれぞれについて、代表ベクトルごとに代表ベクトルに応じた特徴を示す特徴値を算出する。特徴値算出部54が、1つの画像について算出する特徴値の数は、代表ベクトルと同じである。

0038

インデックス生成部55は、主にプロセッサ11がプログラムを実行し、記憶部12を制御することにより実現される。インデックス生成部55は、算出された特徴値を含む検索インデックスを作成する。インデックスは画像ごとに生成され、インデックス生成部55は生成されたインデックスはその画像と関連付けてインデックス格納部72に格納する。

0039

以下では、インデックス処理部50において行われる処理をより詳細に説明する。図4は、インデックス処理部50の処理の一例を示すフロー図である。

0040

画像データからインデックスを作成する処理において、はじめに、特徴ベクトル抽出部51は、画像データ格納部71に格納された画像から、特徴ベクトルを抽出する(ステップS101)。特徴ベクトルを抽出する手法の詳細については公知であるので詳細な説明は省略する。局所的な特徴を示す特徴ベクトルを抽出する手法として、例えばSIFTと呼ばれる手法が存在する。

0041

図5は、検索対象となる画像の一例を示す図である。図5の画像の例では、星条の一部が示されている。図6は、図5に示される画像から抽出された特徴ベクトル22を概略的に示す図である。画像のうち同じような特徴を有する複数の特徴点から、互いに類似する特徴ベクトルが抽出される。

0042

特徴ベクトルが抽出されると、クラスタリング部52は、複数の画像から抽出された複数の特徴ベクトルをクラスタリングする(ステップS102)。クラスタリング部52は、k−means法などの公知のアルゴリズムを用いて特徴ベクトルを複数のクラスタに分類してよい。また、本実施形態においてクラスタリング部52は、複数の階層を有するクラスタを生成する。より具体的には、クラスタリング部52は、ある階層にあるクラスタに属する特徴ベクトルの数が所定数より多い場合に、そのクラスタの下位に属する特徴ベクトルをさらに下の階層の複数のクラスタに分類する。この場合、上位の階層にあるクラスタであっても、下位の階層のクラスタが存在しない場合がある。

0043

また、クラスタリング部52は、各クラスタに属する特徴ベクトルに基づいて、各クラスタの代表ベクトルを決定する(ステップS103)。クラスタリング部52は、例えばクラスタに属する特徴ベクトルの重心を代表ベクトルとして決定する。代表ベクトルは、必ずしも重心でなくてもよく、クラスタに属する特徴ベクトルのいずれかであってもよい。またクラスタリング部52は、検索用のインデックスが適切に算出される特性を有すれば、クラスタリングを用いないなど、他の手法で代表ベクトルが生成されてもよい。

0044

図7は、クラスタC1〜C4およびクラスタC1〜C4について決定される代表ベクトル24の関係を概略的に示す図である。図7では、説明の容易のため、最上位のクラスタのみ示している。また、記載を簡潔にするため特徴ベクトル22の記載は省略されており、図7における丸などの記号が示す点23は、特徴ベクトル22が示す特徴ベクトル空間内の座標を示している。図7の例では、原点OPから点23へ向かうベクトルが特徴ベクトル22となる。クラスタリング部52は、クラスタC1〜C4ごとに代表ベクトル24を決定する。

0045

図8は、クラスタの階層構造の一例を説明する図である。すべての特徴ベクトルの集合CAは、複数のクラスタC1〜C128に分割され、それぞれのクラスタC1〜C128には、1または複数の特徴ベクトルが属している。ここで、クラスタC1に属する特徴ベクトルの数は予め定められた閾値より小さく、クラスタC2に属する特徴ベクトルの数はその閾値より大きい。したがって、クラスタC2に属する特徴ベクトルは、その下位のクラスタC2_1〜C2_128に分類されている。したがって、ある特徴ベクトルが属する最下層のクラスタの階層(例えばクラスタC1の階層)と、他の特徴ベクトルが属する最下層のクラスタの階層(例えばクラスタC2_2の階層)とが異なってよい。なお、あるクラスタの下位にクラスタが存在する場合、その下位のクラスタの数は2以上である。

0046

また、クラスタリング部52は、どの階層のクラスタについても代表ベクトルを決定する。例えばクラスタC2の代表ベクトルの下位の代表ベクトルとしてクラスタC2_1の代表ベクトルが存在する。また、代表ベクトルの関係をみると、上位のクラスタの代表ベクトルのうち1つに、その下位の複数のクラスタを代表する複数の代表ベクトルが対応している。

0047

代表ベクトルが決定されると、クラスタリング部52は、複数の特徴ベクトルのそれぞれに対応する代表ベクトルを決定する(ステップS104)。より具体的には、クラスタリング部52は、特徴ベクトルが属するクラスタの代表ベクトルを、その特徴ベクトルに対応する代表ベクトルとして決定する。なお、クラスタリング部52は、特徴ベクトルとの距離が最も近い代表ベクトルを、その特徴ベクトルに対応する代表ベクトルとして決定してもよい。なお、特徴ベクトルをクラスタに分類し、代表ベクトルを決定する処理は、画像検索サーバ1と異なるサーバにおいて予め実行されてもよい。この場合、予め生成された代表ベクトルを記憶装置に格納しておき、画像検索サーバ1は、以降の処理のために、代表ベクトルを決定する処理の代わりに、記憶装置に格納された代表ベクトルのデータを読み出してよい。

0048

次に、スコア値算出部53は、特徴ベクトルのそれぞれについてスコア値を算出する(ステップS105)。ここで、スコア値はスカラー値であり、ベクトルではない。スコア値は、特徴ベクトルと、その特徴ベクトルに対応する代表ベクトルとの類似の大きさを示す。スコア値は、特徴ベクトルとその特徴ベクトルに対応する代表ベクトルとの距離であってもよいし、コサイン類似度であってもよいし、類似度から所定の計算式により算出された値であってもよい。

0049

図9は、ある画像から抽出された特徴ベクトルと代表ベクトルとの関係を説明する図である。丸や四角の記号により表される点23は、ある画像から抽出された特徴ベクトルを示す。また点P1〜P3は、それぞれクラスタC1〜C3の代表ベクトルを示す。図9の例では、点P1が示す代表ベクトルと、その代表ベクトルに対応付けられた特徴ベクトルとの距離Lがスコア値として計算される。

0050

スコア値が計算されると、特徴値算出部54は、画像のそれぞれについて複数の特徴値を算出する(ステップS106)。特徴値算出部54は、画像のそれぞれについて、代表ベクトルごとに特徴値を算出する。特徴値は、代表ベクトルに応じた画像の特徴を示す値である。特徴値算出部54は、ある画像およびある代表ベクトルについての特徴値を、その画像から抽出された特徴ベクトルのうち、その代表ベクトルに対応する1または複数の特徴ベクトルについて求められたスコア値に基づいて算出する。

0051

例えば、特徴値算出部54は、ある画像から抽出された特徴ベクトルのうち、ある代表ベクトルに対応する1または複数の特徴ベクトルについて求められたスコア値の合計をその画像および代表ベクトルについての特徴値として算出する。ある画像についてのi番目のクラスタの代表ベクトル(以下ではi番目の代表ベクトルと記載する)についての特徴値viの算出方法を式で表すと以下のようになる。ここで、iは、1以上各階層のクラスタの数の総和以下の整数のうちいずれかである。

0052

0053

ここで、Ciはi番目のVisual Word、言い換えるとi番目の代表ベクトルを示す。ここで、i番目のクラスタは、各階層のクラスタすべてのうちいずれかであり、番号iは、すべてのクラスタに順に付与された一種シーケンス番号である。Diは、算出対象の画像から抽出された特徴ベクトルのうち、i番目の代表ベクトルに対応する特徴ベクトルの集合であり、dはその集合に含まれる特徴ベクトルである。上記の式では、特徴ベクトルと代表ベクトルとの距離の和が特徴値として計算されている。

0054

ある画像について算出された特徴値の数は代表ベクトルの数と同じであり、この複数の特徴値は一種の重み付きヒストグラムになる。図10は、ある画像について算出された複数の特徴値viの一例を示す図である。ある画像についての特徴値の集合は、一種のベクトルであり、画像の特徴を示すベクトル(以下では「画像ベクトル」と記載する)である。この画像ベクトルのデータ量は、画像から抽出される特徴ベクトルそのもののデータ量より小さい。また、画像ベクトルの次元は、画像から抽出される特徴ベクトルの数に関わらず一定となる。

0055

ここで、クラスタが階層構造を有するため、下位のクラスタ(例えばクラスタC2_1)の代表ベクトルに特徴ベクトルが対応する場合、その特徴ベクトルについてのスコア値は下位のクラスタだけでなくその上位のクラスタ(例えばクラスタC2)についても0でない値として算出される。これにより、クラスタを細分化することにより比較に用いるデータ量を確保しつつ、少し異なるだけで全く違うものとして評価される可能性を減らすことができる。

0056

画像のそれぞれについて複数の特徴値が算出されると、インデックス生成部55は、画像のそれぞれについて算出された複数の特徴値を圧縮することで、データ量が複数の特徴値より小さい検索インデックスを作成する(ステップS107)。また、作成された検索インデックスを、インデックス格納部72に格納する(ステップS108)。特徴値の圧縮は、例えば画像ベクトルの次元の圧縮であり、インデックス生成部55は次元が圧縮された画像ベクトルをその画像の検索インデックスとする。

0057

本実施形態では、画像ベクトルの次元の圧縮は、ディープオートエンコーダ(DAEs: Deep Autoencoders)により行われる。ディープオートエンコーダはいわゆるニューラルネットワークを用いた計算手法である。インデックス生成部55は、k次元の入力データから、m次元(m<k)のノードを経てk次元の出力データを出力するニューラルネットワークにおいて、入力データと出力データが極力同一になるように学習し、その学習がなされたニューラルネットワークに画像ベクトルを入力した場合のm次元のノードの値をその画像ベクトルが圧縮されたベクトルとして算出する。オートエンコーダにより、画像ベクトルの重要な要素が強く影響し、重要でない要素が影響しないようにデータの次元を圧縮することができる。オートエンコーダに対する入力データの値を0以上1以下とするため、インデックス生成部55は、学習およびデータ圧縮の際に以下の式により変換された画像ベクトルの特徴値をオートエンコーダへの入力データにしている。

0058

0059

なお、オートエンコーダの代わりに主成分分析により画像ベクトルの次元を圧縮してもよい。ただし、主成分分析よりもオートエンコーダの方がより精度の高い検索インデックスを生成できる。

0060

以下では、上記記載の手法により生成された検索インデックスを用いて画像を検索する検索処理部60の処理について説明する。

0061

クエリベクトル抽出部61は、主にプロセッサ11がプログラムを実行し、記憶部12を制御することにより実現される。クエリベクトル抽出部61は、検索条件として入力されたクエリ画像のデータから、クエリ画像の局所的な特徴を示す複数のクエリベクトルを抽出する。

0062

クエリ対応決定部62は、主にプロセッサ11がプログラムを実行し、記憶部12を制御することにより実現される。クエリ対応決定部62は、抽出された複数のクエリベクトルのそれぞれに対応する代表ベクトル(およびクラスタ)を選択する。

0063

クエリスコア値算出部63は、主にプロセッサ11がプログラムを実行し、記憶部12を制御することにより実現される。クエリスコア値算出部63は、複数の代表ベクトルのそれぞれと、複数のクエリベクトルの少なくとも一部との類似の大きさを示すスコア値を算出する。例えば、スコア値算出部53は、代表ベクトルのそれぞれについて、代表ベクトルと、その代表ベクトルに対応する複数のクエリベクトルのそれぞれとの距離をスコア値として算出する。

0064

クエリ特徴値算出部64は、主にプロセッサ11がプログラムを実行し、記憶部12を制御することにより実現される。クエリ特徴値算出部64は、クエリ画像について、代表ベクトルごとに代表ベクトルに応じた特徴を示すクエリ特徴値を算出する。

0065

画像検索部65は、主にプロセッサ11がプログラムを実行し、記憶部12を制御することにより実現される。画像検索部65は、クエリ画像についての複数のクエリ特徴値と、インデックス格納部72に格納された複数の画像の検索インデックスとに基づいて、クエリ画像に類似する画像を検索する。

0066

以下では、検索処理部60において行われる処理をより詳細に説明する。図11は、検索処理部60の処理の一例を示すフロー図である。

0067

はじめに、クエリベクトル抽出部61は、検索条件として入力されたクエリ画像から、クエリベクトルを抽出する(ステップS201)。クエリベクトル抽出部61がクエリ画像からクエリベクトルを抽出する手法は、特徴ベクトル抽出部51が特徴ベクトルを抽出する手法と同じである。

0068

つぎに、クエリ対応決定部62は、抽出された複数のクエリベクトルのそれぞれに対応する代表ベクトルを選択する(ステップS202)。より具体的には、クエリ対応決定部62は、クエリベクトルのそれぞれについて、クエリベクトルと代表ベクトルとの距離を算出し、その距離が最短となる代表ベクトルを、そのクエリベクトルに対応する代表ベクトルとして選択する。なお、クエリ対応決定部62は、距離の代わりに類似度に基づいてクエリベクトルに対応する代表ベクトルを選択してもよい。

0069

代表ベクトルが選択されると、クエリスコア値算出部63は、クエリベクトルのそれぞれについて、代表ベクトルと、その代表ベクトルに対応する複数のクエリベクトルの類似の大きさを示すスコア値を算出する(ステップS203)。代表ベクトルおよびその代表ベクトルに対応するクエリベクトルからスコア値を算出する手法は、スコア値算出部53が代表ベクトルおよびその代表ベクトルに対応する特徴ベクトルからスコア値を算出する手法と同じである。

0070

次に、クエリ特徴値算出部64は、クエリ画像のそれぞれについて、スコア値に基づいて、代表ベクトルごとに代表ベクトルに応じた特徴を示す複数のクエリ特徴値を算出する(ステップS204)。クエリ特徴値算出部64がクエリ画像について、スコア値に基づいて複数のクエリ特徴値を算出する手法は、特徴値算出部54が、ある画像についてスコア値に基づいて複数の特徴値を算出する手法と同じである。

0071

そして、画像検索部65は、算出された複数のクエリ特徴値を圧縮し、検索インデックスの検索キーを生成する(ステップS205)。画像検索部65は、インデックス生成部55が、ある画像について、複数の特徴値を圧縮して検索インデックスを作成する手法と同じ手法により、複数のクエリ特徴値を圧縮して検索キーを生成する。

0072

検索キーが生成されると、画像検索部65は、インデックス格納部72に格納された検索インデックスと、クエリ画像に基づいて生成された検索キーとに基づいて、クエリ画像に類似する画像を検索する(ステップS206)。より具体的には、画像検索部65は、検索キーのベクトルと検索インデックスのベクトルとの類似の大きさ(例えば距離)を算出し、その類似の大きさに基づいて画像を選択する。

0073

本発明の実施形態にかかる手法においては、スコア値算出部53やクエリスコア値算出部63により、スコア値がベクトルではなくスカラー値として算出される。ここで、非特許文献1に記載のようなスコア値としてベクトルが算出される発明では、ある代表ベクトルと特徴ベクトルとの差と、その代表ベクトルと他の特徴ベクトルとの差が互いに特徴を弱めあう現象が生じる。一方、本発明の実施形態にかかる手法ではこの現象は生じない。これにより、例えば、ある画像に互いに類似する数多くの局所的特徴が含まれ、ある代表ベクトルに対応する特徴ベクトルの数が多い場合などに、スコア値としてベクトルを算出する構成で生じうる精度の低下を抑えることができる。また、本発明の実施形態では、スコア値がスカラー値であるので、1つのビジュアルワードについて必要な情報量がベクトルより少なくなる。これにより、画像検索において、特徴ベクトルとビジュアルワードとの違いの存在を考慮しつつ、より多くのビジュアルワードを扱うことができる。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ