JP6152032B2 - ハッシュ関数生成方法、ハッシュ値生成方法、ハッシュ関数生成装置、ハッシュ値生成装置、ハッシュ関数生成プログラム及びハッシュ値生成プログラム - Google Patents

ハッシュ関数生成方法、ハッシュ値生成方法、ハッシュ関数生成装置、ハッシュ値生成装置、ハッシュ関数生成プログラム及びハッシュ値生成プログラム Download PDF

Info

Publication number
JP6152032B2
JP6152032B2 JP2013215724A JP2013215724A JP6152032B2 JP 6152032 B2 JP6152032 B2 JP 6152032B2 JP 2013215724 A JP2013215724 A JP 2013215724A JP 2013215724 A JP2013215724 A JP 2013215724A JP 6152032 B2 JP6152032 B2 JP 6152032B2
Authority
JP
Japan
Prior art keywords
hash function
hash
feature
content data
feature amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013215724A
Other languages
English (en)
Other versions
JP2015079102A (ja
Inventor
豪 入江
豪 入江
新井 啓之
啓之 新井
行信 谷口
行信 谷口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013215724A priority Critical patent/JP6152032B2/ja
Publication of JP2015079102A publication Critical patent/JP2015079102A/ja
Application granted granted Critical
Publication of JP6152032B2 publication Critical patent/JP6152032B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、大量のメディアコンテンツの中から、類似コンテンツを発見するためのハッシュ関数生成方法、ハッシュ値生成方法、ハッシュ関数生成装置、ハッシュ値生成装置、ハッシュ関数生成プログラム及びハッシュ値生成プログラムに関する。
通信環境やコンピュータ、分散処理基盤技術の高度・高品質化により、ネットワークに流通するメディアコンテンツ(画像・映像・音声・文書等)の数は膨大なものとなっている。例えば、ある検索エンジンがインデクシングしているウェブページの数は数兆にのぼるといわれている。また、あるサイトでは、日々3.5億の画像がアップロードされていると報告されており、また、あるサイトでは、1分当たり64時間分の映像が新規に公開されているとの報告もある。
このような膨大な量のメディアコンテンツは、利用者にとっては豊富な情報源となる一方で、閲覧したいコンテンツに素早くアクセスすることがますます困難になっているという課題ももたらしている。このような流れの中、閲覧・視聴したいコンテンツを効率的に探し出すためのメディア解析技術への要望がますます高まってきている。
コンテンツの解析においては、類似したコンテンツの発見が重要な役割を果たす。例えば、コンテンツを分類する場合は、同じようなコンテンツは同じカテゴリに分類する。あるいは検索の場合、あるコンテンツをクエリとして与えたとき、このコンテンツに類似したコンテンツを検索することが基本的な要件となる。そのほか、コンテンツ推薦においても利用者がこれまでに閲覧した/閲覧しているコンテンツと類似したコンテンツを発見してこれを推薦するし、コンテンツ要約の場合においても、類似したコンテンツを提示することは冗長であるため、これを発見して省くような処理が必要となる。
ここで、類似コンテンツを発見する典型的な手続きについて説明する。まず、コンテンツをある特徴量によって表現する。次に、特徴量同士の近さを測ることで類似度を計算し、この類似度に基づいて類似コンテンツを発見する。単純な例を挙げれば、コンテンツが画像や映像であれば、画像(映像フレーム)の色ヒストグラムを特徴量としてその類似度を測ることができる。コンテンツが文書であれば、単語の出現頻度をヒストグラム化したもの(Bag−of−Wordsヒストグラムなどと呼ぶ)を特徴量として類似度を測ることができる。いうまでもなく、仮にコンテンツの数が1000あれば、1000のコンテンツそれぞれに対して類似度を計算し、結果類似度の高いコンテンツを類似コンテンツとして拾い上げる必要がある。
しかしながら、前述のように、膨大な量のコンテンツを対象にした場合、下記2つの重要な課題がある。第1の課題は、計算時間とメモリを大量に消費することである。第2の課題は、同一種別の類似コンテンツのみが発見対象である。
通常、コンテンツの特徴量(ベクトル)の次元は高次元になることが多く、その類似度の計算には膨大な時間を要する。一般に、文書のBag−of−Wordsヒストグラムの次元は、単語の種類(語彙)と同次元になる。画像の色ヒストグラムのような単純な特徴量であっても、一般に数百〜数千次元の実数値ベクトルとなるし、最近用いられるスパース表現やフィッシャーカーネルに基づく特徴表現では、数十万〜数百万次元のベクトルとなることもあり得る。さらに、全てのコンテンツの組に対してその類似度を計算する必要があるため、どのような類似度計算手段を用いようとも、特徴量の次元がD、コンテンツがN個あったとするとO(DN)の計算量を要する。また、即時検索を実行するためには、特徴量あるいはその類似度をメモリに蓄積しておくことが好ましいが、これを行うためにはO(N)のメモリが必要となる。このように、億を超えるオーダのコンテンツを扱う必要がある昨今においては、非現実的な時間とメモリを要するのである。
さらに、昨今のメディアコンテンツは、単一種別のみで流通することは稀である。例えば、通常ウェブページには文書や画像が混在しているし、映像や音声が付加されていることも少なくない。これらのコンテンツは、メディアの種別こそ異なるものの、あるコンテキストに即しながら相互に関連した内容を持つことが多い。然るに、例えば文書に類似した文書だけでなく、関連する画像や映像、音声に至るまで、メディアの隔たり無く類似したコンテンツを発見できることが好ましい。
しかしながら、これは上記通常のやり方では不可能である。コンテンツの類似度を測るためには、コンテンツを表現する特徴量が同一である必要があるが、メディアの種別が異なる以上、同一の特徴量で記述することが不可能であるためである。検索エンジンなどにおいては、キーワード検索によって画像や映像などを検索することができるが、これは「同一ウェブページに共起している単語と画像なら類似している」といったごく単純な仮定に基づくものであって、文書の内容と画像の内容を評価しているわけではない。
このような問題を解決するために、従来からいくつかの発明がなされている。特許文献1に開示されている技術では、コンテンツの特徴量と、異なる2つのコンテンツを関連付けるべきか否かを示す関連情報(正解データ)に基づいてハッシュ関数を求め、このハッシュ関数を基に特徴量を低ビットなハッシュ値に変換する。
また、非特許文献1に開示されている技術では、近接する任意の2つのコンテンツ(特徴量)において、元の特徴量の類似度と衝突確率が等しくなるようなハッシュ関数群を生成する。典型的な類似度としてコサイン類似度を考えており、その場合のハッシュ関数生成の基本的な手続きは、特徴量空間にランダムな超平面を複数生成することによる(random projectionと呼ばれる)。各超平面のどちら側に特徴量が存在するかによって特徴量をハッシュ化し、全てのコンテンツ間で類似度を求めることなく、近似的に類似コンテンツを発見することができる。
また、非特許文献2に開示されている技術は、特徴量の分布を捉え、その分布に対して最適なハッシュ値を構成する。具体的には、特徴量空間における多様体構造を捉え、その多様体構造を最適に保存するバイナリ空間(ハッシュ空間)への非線形な埋め込みを求めることで、元の高次元な特徴量を、低ビットなハッシュ値に変換する。そのハッシュ値の類似性を評価することで、高速な類似コンテンツ発見を実現することができる。
特開2013−68884号公報
M. Datar, N. Immorlica, P. Indyk, V.S. Mirrokni, "Locality-Sensitive Hashing Scheme based on p-Stable Distributions", In Proceedings of the Twentieth Annual Symposium on Computational Geometry, 2004, p.253-262 入江 豪、Zhenguo Li、Shih−Fu Chang,"構造を保存するハッシング"、画像の認識・理解シンポジウム、2013.
特許文献1及び非特許文献1、2に開示されている技術では、元のコンテンツをコンパクトなハッシュ値に変換することで、非常に高精度かつ高速な類似コンテンツの発見を可能にしていた。しかしながら、いずれの技術も異なるメディアの類似コンテンツを相互に発見することのできるものではない。現在に至るまで、いずれの技術によっても、高精度でありながら、高速かつ省メモリであり、かつ異なるメディアの類似コンテンツを相互に発見することはできないという問題がある。
本発明は、このような事情に鑑みてなされたもので、画像から文書、画像から音声などのように、関連する異なる種別のメディアコンテンツ同士を、高速かつ省メモリでありながらも高精度に発見するためのハッシュ関数の生成及びハッシュ値の生成を行うことができるハッシュ関数生成方法、ハッシュ値生成方法、ハッシュ関数生成装置、ハッシュ値生成装置、ハッシュ関数生成プログラム及びハッシュ値生成プログラムの提供を目的とする。
本発明は、コンテンツデータをバイナリ値に変換するハッシュ関数生成装置が実行するハッシュ関数生成方法であって、前記ハッシュ関数生成装置の特徴量抽出手段が、コンテンツデータ及び該コンテンツデータのメディア種別から、該コンテンツデータをD(D>0、Dはメディア種別により定まる)次元実数値ベクトルとして表現する特徴量を抽出する特徴量抽出ステップと、前記ハッシュ関数生成装置の幾何関係算出手段が、前記メディア種別ごとに特徴量空間において異なる多様体それぞれを形成する前記特徴量の集合を求め、前記集合に含まれる前記特徴量の各々について、前記集合に含まれる特徴量であって当該特徴量以外の特徴量の線形結合で表した際の結合重みである相対的幾何関係を求める幾何関係算出ステップと、前記ハッシュ関数生成装置の関数生成手段が、前記メディア種別が異なる複数のコンテンツデータの内容の関係性を示す関係指示子と前記相対的幾何関係とに基づいて、ハッシュ関数を表現するパラメータを決定して前記ハッシュ関数を生成し、生成した前記ハッシュ関数をハッシュ関数記憶部に記憶する関数生成ステップとを有することを特徴とする。
本発明は、前記ハッシュ関数は、前記特徴量と前記パラメータとの内積によって規定されることを特徴とする。
本発明は、ハッシュ値生成装置が実行するハッシュ値生成方法であって、前記ハッシュ値生成装置の特徴量抽出手段が、コンテンツデータ及び該コンテンツデータのメディア種別から、該コンテンツデータをD(D>0、Dはメディア種別により定まる)次元実数値ベクトルとして表現する特徴量を抽出する特徴量抽出ステップと、前記ハッシュ値生成装置の変換手段が、前記ハッシュ関数生成方法により生成され、ハッシュ関数記憶部に格納された1つ以上のハッシュ関数を用いて、前記特徴量を1つ以上のバイナリ値に変換する変換ステップとを有することを特徴とする。
本発明は、コンテンツデータをバイナリ値に変換するハッシュ関数生成装置であって、コンテンツデータ及び該コンテンツデータのメディア種別から、該コンテンツデータをD(D>0、Dはメディア種別により定まる)次元実数値ベクトルとして表現する特徴量を抽出する特徴量抽出手段と、前記メディア種別ごとに特徴量空間において異なる多様体それぞれを形成する前記特徴量の集合を求め、前記集合に含まれる前記特徴量の各々について、前記集合に含まれる特徴量であって当該特徴量以外の特徴量の線形結合で表した際の結合重みである相対的幾何関係を求める幾何関係算出手段と、前記メディア種別が異なる複数のコンテンツデータの内容の関係性を示す関係指示子と前記相対的幾何関係とに基づいて、ハッシュ関数を表現するパラメータを決定して前記ハッシュ関数を生成する関数生成手段とを備えることを特徴とする。
本発明は、前記ハッシュ関数は、前記特徴量と前記パラメータとの内積によって規定されることを特徴とする。
本発明は、コンテンツデータ及び該コンテンツデータのメディア種別から、該コンテンツデータをD(D>0、Dはメディア種別により定まる)次元実数値ベクトルとして表現する特徴量を抽出する特徴量抽出手段と、前記ハッシュ関数生成装置により生成された1つ以上のハッシュ関数を用いて、前記特徴量を1つ以上のバイナリ値に変換する変換手段とを備えることを特徴とする。
本発明は、コンピュータに、前記ハッシュ関数生成方法の各ステップを実行させるためのハッシュ関数生成プログラムである。
本発明は、コンピュータに、前記ハッシュ値生成方法の各ステップを実行させるためのハッシュ値生成プログラムである。
本発明によれば、関連する異なる種別のメディアコンテンツ同士を、高速かつ省メモリでありながらも高精度に発見することができるという効果が得られる。
本発明の一実施形態の構成を示すブロック図である。 ハッシュ関数生成処理の動作を示すフローチャートである。 ハッシュ値生成処理の動作を示すフローチャートである。 類似する2群を分割するハッシュ関数を示す説明図である。 特徴量空間に見られる滑らかな多様体構造を示す説明図である。 多様体構造を捉えたハッシュ関数を示す説明図である。 2つの異なるメディア種別とハッシュ関数、ハッシュ値の関係を示す説明図である。 ハッシュ値によるハッシュテーブルを示す説明図である。 類似コンテンツ検索を実施する場合において、その一例の装置構成を示すブロック図である。
以下、図面を参照して、本発明の一実施形態によるハッシュ関数生成装置及びハッシュ値生成装置を実現するための情報処理装置を説明する。図1は同実施形態の構成を示すブロック図である。同図に示す情報処理装置1は、入力部11、特徴抽出部12、ハッシュ関数生成部13、ハッシュ関数記憶部14、ハッシュ値生成部15及び出力部16を備える。このうち、本発明の主たる機能を備える構成要素はハッシュ関数生成部13及びハッシュ値生成部15である。
情報処理装置1は、コンテンツデータベース2と通信手段を介して接続され、入力部11、出力部16を介して相互に情報通信し、コンテンツデータベース2に登録されたコンテンツに基づいてハッシュ関数を生成するハッシュ関数生成処理と、生成したハッシュ関数を用いてコンテンツを複数のバイナリ値に変換するハッシュ値生成処理を行う。
コンテンツデータベース2は、情報処理装置1の内部にあっても外部にあっても構わず、通信手段は任意の公知ものを用いることができるが、本実施形態においては、外部にあるものとして、通信手段は、インターネット、TCP/IPにより通信するよう接続されているものとする。コンテンツデータベース2は、いわゆるRDBMS(Relational Database Management System)などで構成されているものとしてもよい。
コンテンツデータベース2には、少なくともコンテンツ自体、あるいは、当該データの所在を一意に示すアドレスが格納されている。コンテンツは、例えば、文書であれば文書ファイル、画像であれば画像ファイル、音であれば音ファイル、映像であれば映像ファイルなどであり、好ましくは、コンテンツデータベース2には、各コンテンツのメディア種別とそれ自体を一意に識別可能な識別子が含まれているものとする。
さらに、コンテンツデータベース2には、複数種別のメディアが含まれているものとし(例えば、画像と文書等)、相互の関係を示す関係指示子が対応づけられているものとする。関係指示子は、異種メディアコンテンツ間の内容の関係性を表すものであり、最も単純には関係がある2つのコンテンツの識別子を記述したものでよい。内容の関連性を決定する手段は問わず、人手によって与えるもの、機械的に与えられるもの、あるいはその双方によるもの、いずれでもよい。
例えば、人手により与える場合には、例えば、“画像3”の識別子を持つ3番目の画像と、“文書8”の識別子を持つ8番目の文書の内容が、人手で見て相互に関連している場合には、関係指示子として{“画像3”、“文書8”}のペアを指し示す情報をコンテンツデータベース2に格納しておけばよい。
また、機械的に与えられる場合の例として、例えばWebページから画像を収集するような場合があげられる。最も単純には、同一Webページ内にある画像と文書は関連していると見做し、人手の場合と同様の関係指示子を与えてもよい。あるいは、Webページ上周辺にある画像と文書同士は関連していると見做し、関係指示子を与えてもよい。機械的に与えられる場合、人手をかけることなく関係指示子が得られるというメリットがある。
ここで、関係指示子は、必ずしもコンテンツデータベース2に格納されている全てのコンテンツに対して与えられている必要はなく、その一部でよい。その他、メタデータとして、例えばコンテンツの内容を表現するもの(コンテンツのタイトル、概要文、キーワード)、コンテンツのフォーマットに関するもの(コンテンツのデータ量、サムネイル等のサイズ)などを含んでいてもよい。
情報処理装置1が備える各部およびコンテンツデータベース2は、演算処理装置、記憶装置等を備えたコンピュータやサーバ等により構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは情報処理装置1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。もちろん、その他いかなる構成要素についても、単一のコンピュータやサーバによって実現しなければならないものではなく、ネットワークによって接続された複数のコンピュータに分散して実現してもよい。
次に、図1に示す情報処理装置1の構成について説明する。入力部11は、コンテンツデータベース2から各コンテンツのコンテンツデータ、メディア種別を入力し特徴抽出部12に出力するとともに、関係識別子を入力しハッシュ関数生成部13に対して出力する。特徴抽出部12は、入力部11から入力したコンテンツデータを解析し、メディア種別ごとにコンテンツを特徴的に表す特徴量を抽出する。特徴量は、ハッシュ値生成処理時にはハッシュ値生成部15に、ハッシュ関数生成処理時にはハッシュ関数生成部13に対して出力する。
ハッシュ関数生成部13は、特徴抽出部12から出力された特徴量とメディア種別、入力部11から入力した関係指示子に基づいて、各メディア種別ごとに1つ以上のハッシュ関数を生成してハッシュ関数記憶部14に記憶する。ハッシュ関数記憶部14は、ハッシュ関数生成部13が生成した1つ以上のハッシュ関数を、そのメディア種別ごとに記憶する。
ハッシュ値生成部15は、特徴抽出部12から出力された特徴量を、ハッシュ関数記憶部14に格納されたそのメディア種別に対応する1つ以上のハッシュ関数に基づいて、複数のバイナリ値であるハッシュ値に変換し、出力部16に出力する。出力部16は、ハッシュ値生成部15で求めたハッシュ値をコンテンツデータベース2に出力して記憶する。
次に、図1に示す情報処理装置1の処理動作を説明する。図1に示す情報処理装置1は、ハッシュ関数を生成するハッシュ関数生成処理と、特徴量をハッシュ化するハッシュ値生成処理を実行する。以下、これら2つの処理について説明する。
最初に、図2を参照して、ハッシュ関数生成処理について説明する。図2は、ハッシュ関数生成処理の動作を示すフローチャートである。ハッシュ関数生成処理は、実際にコンテンツデータをハッシュ化する前に、少なくとも1度実施しておく処理である。
まず、入力部11は、コンテンツデータベース2からコンテンツデータ、メディア種別を入力し特徴抽出部12に出力し、また、関係指示子を入力してハッシュ関数生成部13に対して出力する(ステップS201)。続いて、特徴抽出部12は、コンテンツデータに対して、そのメディア種別に即した特徴量を抽出してハッシュ関数生成部13に出力する(ステップS202)。
次に、ハッシュ関数生成部13は、特徴量とメディア種別、および関係指示子に基づいて1つ以上のハッシュ関数を生成し、ハッシュ関数記憶部14に記憶する(ステップS203)。
以上の処理により、コンテンツデータベース2に格納されたコンテンツデータと関係指示子からハッシュ関数を生成することができる。なお、特徴量の抽出、ハッシュ関数の生成の詳細については後述する。
次に、図3を参照して、ハッシュ値生成処理の動作を説明する。図3は、ハッシュ値生成処理の動作を示すフローチャートである。ハッシュ値生成処理は、ハッシュ関数記憶部14に格納されたハッシュ関数を用いてコンテンツの特徴量をハッシュ化する処理である。
まず、入力部11は、コンテンツデータベース2あるいは外部から直接コンテンツデータおよびメディア種別を入力し特徴抽出部12に対して出力する(ステップS301)。続いて、特徴抽出部12は、コンテンツデータに対して、そのメディア種別に即した特徴量を抽出してハッシュ値生成部15に出力する(ステップS302)。
次に、ハッシュ値生成部15は、ハッシュ関数記憶部14に記憶されたそのコンテンツのメディア種別に対応する1つ以上のハッシュ関数を用いて、特徴量をハッシュ値に変換し、出力部16に出力する(ステップS303)。本実施形態の一例においては、メディアの種別によらず、1つのハッシュ関数につき、特徴量は1ビットに変換されるので、ハッシュ関数記憶部14にB個のハッシュ関数が格納されている場合は、特徴量はBビットのハッシュ値に変換される。
最後に、出力部16は、ハッシュ値をコンテンツデータベース2に記憶する(ステップS304)。
以上の処理により、入力したコンテンツに対して、メディアの種別によらずハッシュ値を求めることができる。
次に、各処理の詳細を説明する。始めに、特徴量の抽出について説明する。特徴量を抽出する処理は、コンテンツのメディア種別に依存する。例えば、コンテンツが文書であるか、画像であるか、音であるか、映像であるかによって、抽出するまたは抽出できる特徴量は変化する。ここで、各メディア種別に対してどのような特徴量を抽出するかは、本発明の要件として重要ではなく、一般に知られた公知の特徴抽出処理を用いてよい。具体的には、あるコンテンツから抽出された次元を持つ数値データ(スカラー又はベクトル)であれば、あらゆる特徴量に対して有効である。したがって、ここでは、本実施形態の一例に適する、各種コンテンツに対する特徴抽出処理の一例を説明する。
コンテンツが文書である場合には、文書中に出現する単語の出現頻度を用いることができる。例えば、公知の形態素解析を用いて、名詞、形容詞等に相当する単語ごとに、その出現頻度を計数すればよい。この場合、各文書は単語種別と同じだけの次元を持つベクトルとして表現される。
コンテンツが画像である場合には、例えば、明るさ特徴、色特徴、テクスチャ特徴、コンセプト特徴、景観特徴などを抽出する。明るさ特徴は、HSV色空間におけるV値を数え上げることで、ヒストグラムとして抽出することができる。この場合、各画像はV値の量子化数(例えば、16ビット量子化であれば256諧調)と同数の次元を持つベクトルとして表現される。
色特徴は、L*a*b*色空間における各軸(L*、a*、b*)の値を数え上げることで、ヒストグラムとして抽出することができる。各軸のヒストグラムのビンの数は、例えば、L*に対して4、a*に対して14、b*に対して14などとすればよく、この場合、3軸の合計ビン数は、4×14×14=784、すなわち784次元のベクトルとなる。
テクスチャ特徴としては、濃淡ヒストグラムの統計量(コントラスト)やパワースペクトルなどを求めればよい。あるいは、局所特徴量を用いると、色や動きなどと同様、ヒストグラムの形式で抽出することができるようになるため好適である。局所特徴としては、例えば下記の参考文献1に記載されるSIFT(Scale Invariant Feature Transform)や、下記の参考文献2に記載されるSURF(Speeded Up Robust Features)などを用いることができる。
[参考文献1]D.G. Lowe, “Distinctive Image Features from Scale-Invariant Keypoints ", International Journal of Computer Vision, pp.91-110, 2004
[参考文献2]H. Bay, T. Tuytelaars, and L.V. Gool, “SURF: Speeded Up Robust Features", Lecture Notes in Computer Science, vol. 3951, pp.404-417, 2006
これらによって抽出される局所特徴は、例えば128次元の実数値ベクトルとなる。このベクトルを、予め学習して生成しておいた符号長を参照して、符号に変換し、その符号の数を数え上げることでヒストグラムを生成することができる。この場合、ヒストグラムのビンの数は、符号長の符号数と一致する。又は、参考文献3に記載のスパース表現や、参考文献4、5に記載のフィッシャーカーネルに基づく特徴表現などを利用してもよい。
[参考文献3] Jinjun Wang, Jianchao Yang, Kai Yu, Fengjun Lv, Thomas Huang, and Yihong Gong, “Locality-constrained Linear Coding for Image Classification", IEEE Conference on Computer Vision and Pattern Recognition, pp. 3360-3367, 2010.
[参考文献4] Florent Perronnin, Jorge Sanchez, Thomas Mensink, “Improving the Fisher Kernel for Large-Scale Image Classification", European Conference on Computer Vision, pp. 143-156, 2010.
[参考文献5] Herve Jegou, Florent Perronnin, Matthijs Douze, Jorge Sanchez, Patrick Perez, Cordelia Schmid, “Aggregating Local Image Descriptors into Compact Codes", IEEE Trans. Pattern Recognition and Machine Intelligence, Vol. 34, No. 9, pp. 1704-1716, 2012.
結果として生成される特徴量は、いずれの場合にも、符号長の符号数に依存した長さを持つ実数値ベクトルになる。
コンセプト特徴とは、画像中に含まれる物体や、画像が捉えているイベントのことである。任意のものを用いてよいが、例を挙げれば、「海」、「山」、「ボール」などのようなものである。もし、ある画像に「海」が映っていた場合、その画像は「海」コンセプトに帰属する画像であるという。その画像が、各コンセプトに帰属するか否かは、コンセプト識別器を用いて判断することができる。通常、コンセプト識別器はコンセプト毎に一つ用意され、画像の特徴量を入力として、その画像があるコンセプトに帰属しているか否かを帰属レベルとして出力する。コンセプト識別器は、予め学習して獲得しておくものであり、決められた画像特徴、例えば先に述べた局所特徴と、予め人手によって、その画像がどのコンセプトに帰属しているかを表した正解ラベルとの関係を学習することによって獲得する。学習器としては、例えばサポートベクターマシンなどを用いればよい。コンセプト特徴は、各コンセプトへの帰属レベルをまとめてベクトルとして表現することで得ることができる。この場合、生成される特徴量はコンセプトの数と同数の次元を持つベクトルとなる。
景観特徴は、画像の風景や場面を表現した特徴量である。例えば参考文献6に記載のGIST記述子を用いることができる。GIST記述子は画像を領域分割し、各領域に対して一定のオリエンテーションを持つフィルタを掛けたときの係数によって表現されるが、この場合、生成される特徴量は、フィルタの種類(分割する領域の数とオリエンテーションの数)に依存した長さのベクトルとなる。
[参考文献6]A. Oliva and A. Torralba, “Building the gist of a scene: the role of global image features in recognition", Progress in Brain Research, 155, pp.23-36, 2006
コンテンツが音である場合には、音高特徴、音圧特徴、スペクトル特徴、リズム特徴、発話特徴、音楽特徴、音イベント特徴などを抽出する。音高特徴は、例えばピッチを取るものとすればよく、下記の参考文献7に記載される方法などを用いて抽出することができる。この場合、ピッチを1次元ベクトル(スカラー)として表現するか、あるいはこれをいくつかの次元に量子化しておいてもいい。
[参考文献7]古井貞熙,“ディジタル音声処理,4.9ピッチ抽出”,pp.57−59,1985
音圧特徴としては、音声波形データの振幅値を用いるものとしてもよいし、短時間パワースペクトルを求め、任意の帯域の平均パワーを計算して用いるものとしてもよい。いずれにしても、音圧を計算するバンドの数に依存した長さのベクトルとなる。
スペクトル特徴としては、例えばメル尺度ケプストラム係数(MFCC:Mel-Frequency Cepstral Coefficients)を用いることができる。
リズム特徴としては、例えばテンポを抽出すればよい。テンポを抽出するには、例えば下記の参考文献8に記載される方法などを用いることができる。
[参考文献8]E.D. Scheirer, “Tempo and Beat Analysis of Acoustic Musical Signals ", Journal of Acoustic Society America, Vol. 103, Issue 1, pp.588-601, 1998
発話特徴、音楽特徴は、それぞれ、発話の有無、音楽の有無を表す。発話・音楽の存在する区間を発見するには、例えば下記の参考文献9に記載される方法などを用いればよい。
[参考文献9]K. Minami, A. Akutsu, H. Hamada, and Y. Tonomura, “Video Handling with Music and Speech Detection", IEEE Multimedia, vol. 5, no. 3, pp.17-25, 1998
音イベント特徴としては、例えば、笑い声や大声などの感情的な音声、あるいは、銃声や爆発音などの環境音の生起などを用いるものとすればよい。このような音イベントを検出するには、例えば下記の参考文献10に記載される方法などを用いればよい。
[参考文献10]国際公開第2008/032787号
コンテンツが映像である場合、映像は、一般に画像と音のストリームであるから、上記説明した画像特徴と音特徴を用いることができる。映像中のどの画像、音情報を分析するかについては、例えば、予め映像をいくつかの区間に分割し、その区間ごとに1つの画像、音から特徴抽出を実施する。
映像を区間に分割するには、予め決定しておいた一定の間隔で分割するものとしてもよいし、例えば下記の参考文献11に記載される方法などを用いて、映像が不連続に切れる点であるカット点によって分割するものとしてもよい。
[参考文献11]Y. Tonomura, A. Akutsu, Y. Taniguchi, and G. Suzuki, “Structured Video Computing", IEEE Multimedia, pp.34-43, 1994
望ましくは、後者の方法を採用する。映像区間分割処理の結果として、区間の開始点(開始時刻)と終了点(終了時刻)が得られるが、この時刻毎に別々の特徴量として扱えばよい。
以上のように抽出した特徴量は、一つあるいは複数を利用してもよいし、その他の公知の特徴量を用いるものとしてもよい。
次に、ハッシュ関数の生成について説明する。あるメディア種別mのコンテンツiから抽出された特徴量をx∈RDmと表す。メディア種別mのコンテンツの特徴量次元はDである。このとき、図2に示すステップS103では、メディア種別mに対して、h:RDm→{−1,1}となるハッシュ関数の集合を求める。{−1,1}と{0,1}は情報量という観点で本質的に差異がないことに注意すれば、各hによって、特徴量x∈RDmは0または1を取るバイナリ値に写像されるから、メディア種別mの特徴量xは、ハッシュ関数集合H={h、h、・・・、h}によってB個のバイナリ値、すなわち、Bビットのハッシュ値に変換されることになる。
本発明の目的は、このハッシュ値によって、異なるメディア種別であっても類似度の計測を可能にしたうえ、さらに時間のかかる類似度計算を省略することである。したがって、ここで生成するハッシュ関数と、それにより生成されるハッシュ値は、次の2つの性質を持つ。
(A)元のメディア種別mにおいて、元の空間RDmでの類似度を表すハッシュ値へと変換する。すなわち、高い類似度を持つコンテンツほど、ハッシュ値の距離(ハミング距離)が近くなること。
(B)異なるメディア種別の特徴量のうち、関係指示子が関連性を示すペアについては、ハッシュ値の距離が近くなること。
本実施形態の一例では、ハッシュ関数として(1)式で示す線形関数に基づくハッシュ関数を適用する。
Figure 0006152032
ここで、sign(x)は符号関数であり、x≧0のとき1、x<0のとき−1をとる関数である。また、w∈RDk、b∈Rのパラメータである。このハッシュ関数において、未知のパラメータはwとbの二つだけである。
ここで、仮にx(i=1,2,・・・,N)が平均0に正規化されているとき、b=0としても一般性を失わない。xを0に正規化するには、xの平均を、各xから減算すればよいのであり、これはx∈RDkにおいて常に可能であることから、b=0と決定できる。したがって、以降、xの平均は0に正規化されているとし、(1)式を(2)式のように定義しなおして説明する。
Figure 0006152032
このハッシュ関数の定義によれば、関数φ内にあるパラメータwを定めることで、ハッシュ関数を一意に定めることができる。したがって、本ハッシュ関数生成処理の目的は、このw(k= 1,2,…,B)を求めることである。
ここで、(2)式のように規定されるハッシュ関数の意味は、幾何的には図4を用いて説明できる。図4には、特徴量空間RDm上に、メディア種別mの各コンテンツ(i=1,2,・・・,N)から抽出された特徴量x(i=1,2,・・・,N)が分布している。図4では、便宜上2次元のように図示しているが、実際にはD次元の空間である。ここでハッシュ関数を構成するφ(x)は、この特徴量空間上の原点を通る直線(実際はD−1次元の超平面)を表す。h(x)は、本質的には符号関数であるから、その値は、特徴量の点がこの直線φ(x)のどちら側にあるかによって、1または0をとる。すなわち、(2)式によって定義されるハッシュ関数41は、特徴量空間を直線によって1と0の2つの領域に分割する関数である。ここで、wはこの直線の傾きに対応し、wが変化すれば、分割する角度が変化することになる。
前述した2つの性質、すなわち、
(A)元のメディア種別mにおいて、元の空間RDmでの類似度を表すハッシュ値へと変換する。すなわち、高い類似度を持つコンテンツほど、ハッシュ値の距離(ハミング距離)が近くなること。
(B)異なるメディア種別の特徴量のうち、関係指示子が関連性を示すペアについては、ハッシュ値の距離が近くなること。
に合うハッシュ関数となるように、wを求めるには、
(A)各メディア種別において、類似したコンテンツ群が、先の図4の例における直線の片側に集まるように直線を引き(すなわち、wを決める)、
(B)なおかつ、異種メディア種別において、関係指示子が示す関連するコンテンツ同士が、ハッシュ値の空間において近い値を持つようすればよい。
まず、(A)の性質を満たすための方法を説明する。メディアコンテンツにおいては、前述した特徴量の種別によらず、類似したコンテンツ同士の特徴量の分布は滑らかな多様体構造を形成することがよく知られている。多様体構造とは、簡単に言えば滑らかな変化である。分かりやすく図5を用いて説明すると、各特徴量は大まかに、曲線51と曲線52の滑らかに変化する2本の曲線上に分布しており、同じ曲線上の点同士は互いに類似していることが多い。この図でいうところの、白丸(○)と黒丸(●)で表されている特徴量は、同色であれば互いに類似したコンテンツの特徴量となる。
この知見に基づけば、これらの類似したコンテンツ群が直線の片側に集まるように直線を引けばよい。この観点に基づけば、図6に示す直線の内、直線61のような直線は好ましくなく、2群の間を通る直線62のような直線を規定するハッシュ関数のパラメータwを求めればよいことになる。
続いて、(B)の性質を満たすための方法を説明する。例えば、メディア種別が画像と文書である場合について、図7を用いて説明する。図7の例では、画像特徴量を丸、文書特徴量を三角で表している。仮に、それぞれの画像と文書の特徴量空間において、性質(A)を満たすように、すなわち、多様体構造を分離するような直線71、72がそれぞれ得られているとし、さらに、関係指示子によって破線73〜76で示す関係が得られているとする。このとき、直線71、72によって分離されている画像および文書特徴量のうち、関係指示子によって示される関係のある画像/文書特徴量同士が、互いに同じハッシュ値を持つようにハッシュ関数のパラメータwを求めればよいことになる。例えば、図7の例では白丸と白三角(△)、黒丸と黒三角(▲)がそれぞれ同じハッシュ値を持てばよい。
以上示した2つの方法に基づき、本実施形態の一例では、前述の(A)と(B)の2つの性質を満たすパラメータwを求める。本実施形態の一例では、次の2つの手続きによってwを求める。第1の手続きは、メディア種別mごとに、その特徴量空間における多様体構造を捉える。第2の手続きは、各メディア種別の多様体構造、および、関係指示子が示す異種メディア種別間の関係に基づいて、wを求める。
以下、それぞれの手続きについて詳述する。第1の手続きは、メディア種別によらず同じであり、各メディア種別に対してそれぞれ同じ処理を適用すればよい。例えば、非特許文献3に記載の公知の方法を用いることができる。以下、非特許文献3に記載の方法を説明する。
多様体とは、大まかに言えば滑らかな図形であり、言い換えれば局所的に見ればユークリッドな空間とみなせる。例えば、図5に示すような曲線のように、いくつかの直線の集まりとして近似されるようなものであると解釈してもよい。このことは、多様体とは局所的に見れば線形で近似される構造を持つことを表しているのであり、言い換えれば、多様体上任意の点は、同じ多様体上にあるいくつかの近傍点に基づく、近傍の相対的幾何関係によって表現できることを意味している。
非特許文献3では、次の問題を解くことによって多様体を発見する。
Figure 0006152032
ここで、第一項は特徴量xを、そのユークリッド空間上での近傍集合ε(x)に含まれる特徴量インデクスに対応する特徴量の集合{x|j∈ε(x)}によって線形結合で表したときの誤差であり、sijはその際の結合重みである。第二項は、結合重みのベクトルs={si1,・・・,siN}に対して、その要素がスパースであることを要請する、すなわち、ベクトル中のいくつかの限られた要素にのみ非ゼロの値を持つように正則化するスパース項であり、vはxに近いほど小さな値を持つような定数を要素として持つベクトルである。例えば、(4)式のようにしてもよい。
Figure 0006152032
つまるところ、この問題を解くことによってある特徴量xをできる限り少数の近傍点の線形結合として表した場合の結合重みsを求めることができるが、これは多様体を表現するいくつかの近傍点と、その相対的幾何関係(結合重み)を表しているに他ならない。この問題は、公知のスパース問題ソルバによって解決することができる。例えば、SPAMSなどのオープンソースソフトウェアを用いてもよい。
なお、近傍集合ε(x)は、いかなる方法を用いて求めてもよい。最も単純な方法は、各特徴量xに対して、その他全ての点xj≠iとのユークリッド距離を求め、近いものからt個を近傍集合とするものである。tは任意の正の整数でよく、例えばt=10などとしてもよい。
しかし、この方法では1つの特徴量に対してその他全ての特徴量との距離を求める必要があるため、未知の特徴量xに対して近傍集合を求めようとすると、O(N)の計算時間が掛かるという問題がある。したがって、高速に計算できる手法を用いることが好ましい。例えば、クラスタリングやハッシュによる方法を用いることができる。
クラスタリングを用いる場合、例えばk−means法などにより全N個の特徴量をクラスタリングし、L個のクラスタ(L<<N)と、各クラスタを代表するL個の代表特徴量(クラスタ中心)を求めておく。Lの値は任意の正の整数としてよいが、例えば、L=128などとすればよい。この結果、各特徴量がどのクラスタに属するか、および、当該クラスタの代表特徴量を得ることができる。この前提のもと、下記の手続きによって、未知の特徴量xに対する近傍集合を得ることができる。まず、特徴量xに対して、L個の代表特徴量との距離を計算し、最も近いクラスタを特定する;次に、当該クラスタに属する全ての特徴量を、近傍集合ε(x)として得る。この処理に必要な計算時間はO(L)であり、L<<Nであることから、単純な方法に比べて高速に近傍集合を得ることができる。
また、ハッシュを用いる場合、例えば非特許文献1などの方法によって、全N個の特徴量に対するハッシュ値を求めておく。この前提のもと、未知の特徴量xのハッシュ値を求め、これと同一またはハミング距離上近い値を持つハッシュ値を持つ(すなわち、同一あるいはそれに近接するバケットに属する)全ての特徴量を、近傍集合ε(x)として得ればよい。この処理に必要な計算時間は参照するバケットの数に依存するが、一般に参照バケット数はNよりも小さいことから、こちらも高速に近傍集合を得ることができる。なお、非特許文献1の方法によるハッシュ値は、ユークリッド空間上のコサイン類似度を保存するようなハッシュ関数であり、ユークリッド空間上の角度が近ければ近いほどハッシュ値が衝突する確率が高くなる。一方で、本実施形態により生成されるハッシュ値は、ユークリッド空間上ではなく、多様体上の近さ(測地線距離に基づく近さ)を保存するようなハッシュ関数であり、特徴量の分布をより正確に捉えたハッシュ値を生成できることに注意されたい。以上の手続きを、対象とするすべてのメディア種別に対して適用すればよい。
次に、第2の手続きについて説明する。手続き1によって得た各メディア種別のs(i=1,2,・・・,N)と同様の近傍の相対的幾何関係を持つハッシュ空間(埋め込み)を求めることによって、wを求める。
簡単のため、メディア種別は2つ、例えば画像と文書とし、m=1のとき画像、m=2のとき文書を表すものとする。もちろん、いかに説明する実施形態の一例は、その他のメディア種別、あるいは、メディア種別が3以上の場合に対しても同様に適用できるものである。
具体的には、下記の問題を解決する。便宜上、画像特徴量x(i=1,2,・・・,N)および文書特徴量x(i=1,2,・・・,N)を並べた行列X={x,・・・,xN1}、X={x,・・・,xN2}を定義する。さらに、画像特徴量のためのハッシュ関数のパラメータw(k= 1,2,…,B)および文書特徴量のためのハッシュ関数のパラメータw(k= 1,2,…,B)を並べた行列W={w,・・・,w}、W={w,・・・,w}を定義する。
具体的には、以下の問題を解く。
Figure 0006152032
ここで、Sはそれぞれsijを要素に持つ行列、Rmlはメディア種別mとメディア種別lとの関係指示子により指示される関係を示す行列である。例えば、RmlをN×Nの行列とし、関係指示子により関係があるとされている要素のみ1、そうでないところを0とすればよい。
(W;X,S)は、それぞれメディア種別mにおける特徴量空間の多様体構造を保存するための関数であり、例えば、(6)式のように定義することができる。
Figure 0006152032
この式は、元々の特徴量空間における多様体構造、すなわち、sijとその線形結合を、ハッシュ関数
Figure 0006152032
によって変換された先においてもそのまま再構築することを要請するものであり、(3)式とも相似性を持つものである。すなわち、(5)式に代入されたとき、ハッシュ値に変換された先でも元の空間と同様の多様体構造を持つようにWを決定することができる。
また、Jml(W、W;X,X,Rml)は、メディア種別mとlの間の関係指示子が示す関係を保存するための関数であり、例えば、(8)式のように定義することができる。
Figure 0006152032
この式では、関係指示子によって関係があるとされた特徴量ペアを、変換先で同一の値にするよう要請するものである。上記式は、Rmlのij要素が1であった場合、メディア種別mのi番目の特徴量xとメディア種別lのj番目の特徴量xのペアについて、それぞれ(7)式によって与えられるハッシュ関数により変換された値の距離を表している。したがって、これを(5)式に代入することで、できる限りその距離を小さくするようにWを決定することができる。
以上のように定義された(6)式および(8)式を、(5)式に代入し、代数変形を適用すると、次の(9)式の問題が得られる。
Figure 0006152032
ここで、
Figure 0006152032
である。上記(9)式は、WおよびW、すなわちPについて凸であるので、Wについて微分して極値を取ることで、次の一般化固有値問題に帰着される。
Figure 0006152032
このような一般化固有値問題の解は、反復法などの公知の方法によって求めることができる。
このようにして求めたWおよびWは、元の空間における多様体構造を最適に保存し、かつ、関係指示子によって関係があるとされる異種メディアを可能な限り同じハッシュ値に変換するものである。したがって、目的としていた2つの性質(A)、(B)を最適に満たすようなWおよびWを得ることができる。
新たなハッシュ値を生成する際には、(7)式を計算した後、その符号を調べればよいだけである。この計算に必要となるメモリ量は、wとxそれぞれを格納するに必要なメモリ量のみであり、仮に、特徴量が浮動小数点表示であり、次元Dが100の場合800B程度、仮に次元Dが100000程度になったとしても高々800KBと、現存する一般的なコンピュータにおいても極めて容易に蓄積できるメモリ量に抑えることができる。したがって、この方法によって、多様体の構造を捉えることによる高い精度でありながら、高速かつ省メモリなハッシュ値生成が可能である。
上記の処理詳細によって生成されたハッシュ関数、すなわち、具体的には、全てのメディア種別における{W}は、ハッシュ関数記憶部14に記憶される。
次に、第2の手続きの変形例を説明する。前述した第2の手続きでは、(2)式の形をとるハッシュ関数の場合において、そのパラメータw (k=1,2,…,B)を求める方法について述べたが、本発明で扱えるハッシュ関数は、何もこの形に限るものではなく、別の形式をとるハッシュ関数であっても、同様にそのパラメータを決定することができる。
例えば、次のようなハッシュ関数も扱うことができる。
Figure 0006152032
ここで、αはパラメータ、κ(x,x)はカーネル関数である。カーネル関数は、
Figure 0006152032
のような関数であり、さらにN個の特徴量{x,・・・,xNm}に対して、
Figure 0006152032
および、任意の実数α、αに対して
Figure 0006152032
を満たすような任意の関数である。このような関数は無数に存在するが、例を挙げれば、
Figure 0006152032
Figure 0006152032
Figure 0006152032
などが存在する。ただし、β、γは正の実数値パラメータ、pは整数パラメータであり、適宜決定してよい。
(12)式において、b
Figure 0006152032
すなわち平均値で定められる定数なので、(12)式は、
Figure 0006152032
と、内積の形に変換できる。ただし、
Figure 0006152032
である。ここで、Tはハッシュ関数を定める定数である。上記ハッシュ関数、具体的にはカーネルベクトル写像κ(x)は、T個の特徴量によって定められるが、TはT<Nの範囲で任意の値に決めてよい。例えば、T=300等として、全特徴量{x,・・・,xNm}の中からランダムにT個選んでもよいし、あるいはK−meansなどのクラスタリング法を用いて選ばれた代表ベクトルとしてもよい。
このように定義されたハッシュ関数は、カーネル関数の形で定義された非線形写像を扱うことができる。したがって、非線形な関数、すなわち、直線だけでなく、曲線も扱える点で、(6)式によるハッシュ関数よりも柔軟な表現が可能であるという利点を持つ。
以下、(20)式の形式をとるハッシュ関数において、そのパラメータαを決定する方法を説明する。ここでも、画像特徴量(m=1)と文書特徴量(m=2)の場合を考え、便宜上、κ(x)(i= 1,2,…,N)およびκ(x)(i= 1,2,…,N)を並べた行列Κ={κ(x),・・・,κ(x)}、Κ={κ(x),・・・,κ(x)}を定義する。さらに、画像特徴量のためのハッシュ関数のパラメータα(k= 1,2,…,B)および文書特徴量のためのハッシュ関数のパラメータα(k= 1,2,…,B)を並べた行列Α={α,・・・,α}、Α={α,・・・,α}を定義する。
具体的には、(2)式で定義されるハッシュ関数で言うところの(5)式に相当する、以下の問題を解く。
Figure 0006152032
(Α;Κ,S)およびJml(Α、Α;Κ,Κ,Rml)は、(6)式、(8)式と同様の理由で、例えば、下記のように定義することができる。
Figure 0006152032
(22)式を、(5)式に代入し、代数変形を適用すると、次の(24)式の問題が得られる。
Figure 0006152032
ここで、
Figure 0006152032
である。この問題は、(9)式の問題と等価であるため、全く同様の手続きで解くことができる。
上記の処理詳細によって生成されたハッシュ関数、すなわち、具体的には、全てのメディア種別における{Α}およびカーネル関数κ(x)は、ハッシュ関数記憶部14に記憶される。
次に、ハッシュ値生成処理について説明する。前述のハッシュ関数生成処理が済んでいれば、ハッシュ関数記憶部14には、メディア種別ごとにB組のハッシュ関数が格納されている。これを用いれば、(2)式にしたがって、特徴量で表現された任意のコンテンツを、Bビット以下のハッシュ値で表現することができる。
次に、前述の処理により生成したハッシュ関数によって、類似コンテンツを高速かつ省メモリに検索する実施形態の一例について説明する。例えば、コンテンツデータベース2に、N個の画像特徴量X={x,・・・,xN1}とN個の文書特徴量X={x,・・・,xN2}とが格納されているとし、これらの特徴量は全て(2)式に基づいてハッシュ値Y={y,・・・,yN1}およびY={y,・・・,yN2}に変換されているものとする。このとき、目的はX、Xいずれにも含まれない特徴量xあるいはxに対して類似するコンテンツをXおよびXの中から発見することである。
まず、(2)式に基づいて、特徴量xあるいはxをハッシュ値yあるいはyに変換しておく。最も単純には、図8に示すハッシュテーブルを用いる方法がある。まず、コンテンツデータベース2に登録されているハッシュ値YおよびYによって、図8に示すようなハッシュテーブルを構成する。このテーブルでは、あるハッシュ値と、そのハッシュ値に変換された特徴量(コンテンツ識別子)を対応づけて格納しており、ハッシュ値が与えられた際に、それと同一のハッシュ値を取るコンテンツを即時発見することができる。ここで、本発明により生成されるハッシュ値においては、メディア種別に寄らず、関連するもの、類似するものを同一のハッシュ値に変換できることが特徴である。すなわち、例えば、ハッシュ値「0000」を指定した場合、それに対応づけられた画像と文書(画像1、文書3・・・)を、メディア種別に寄らずに直ちに発見できるのである。同様に、このハッシュテーブルを利用すれば、ハッシュ値yあるいはyに対応したコンテンツを即座に発見することが可能となる。
この方法によれば、コンテンツデータベース2に登録された画像、文書の数N、Nに寄らず、ほぼ一定の時間で高速に、かつ、元の特徴量をメモリに保持する必要がないため、省メモリに類似コンテンツを発見できるという利点がある。
また、別の方法として、ハミング距離による距離計算を利用することができる。すなわち、ハッシュ値yあるいはyと、YおよびYに含まれるN+N個のハッシュ値との距離を計算し、距離の小さいものを類似コンテンツとして得るものである。ハッシュ値はバイナリであるため、距離計算は例えばハミング距離で計算することができるが、ハミング距離はXOR(排他的論理和)とpopcnt演算(すなわち、バイナリ列のうち、1となっているビットの数を数える演算)のみで計算できること、および、ハッシュ値は通常少数のバイナリ値で表現できることから、元の特徴量で距離計算する場合に比べ、遥かに高速に演算できる。
以上説明したように、本実施形態によれば、メディア種別ごとの特徴量空間の多様体構造を捉え、かつ異種メディア種別間の関係指示子により指示された関係を保存するようにパラメトリックなハッシュ関数を生成することによって、相互に異なる種別でありながら、関連するコンテンツ同士を、高速かつ省メモリでありながらも高精度に発見することができる。
なお、本実施形態の主要な特徴を満たす範囲内において、任意の用途と構成を取ることができることは言うまでもない。例えば、ハッシュ関数生成部とハッシュ値生成部は分離可能であり、例えば、上記例における装置構成図1以外にも、サーバ―クライアント装置構成を取ることもできる。図9に、類似コンテンツ検索を実施する場合について、その一例を示す。
同図に示すサーバ装置8は、入力部81、特徴抽出部82、ハッシュ関数生成部83、ハッシュ関数記憶部84、ハッシュ値生成部85、および出力部86を備える。また、同図に示すクライアント装置10は、入力部101、特徴抽出部102、ハッシュ値生成部103、ハッシュ関数記憶部104、および出力部105を備える。
ここで、サーバ装置8とクライアント装置10において、共通する構成要素(入力部、特徴抽出部、ハッシュ関数記憶部、ハッシュ値生成部)はそれぞれ同一の機能を有するように構成し、また、図1に記載した各構成要素と同一名称のものは、図1の場合と同一の機能を有するものとしてよい。さらに、ハッシュ値生成部の内容は、それぞれ何らかの通信手段で適宜同期されているものとする。
図9に示す装置構成における処理動作は下記の通りである。まずサーバ装置8は、上記説明した処理と同様の処理を以って、適宜ハッシュ関数を生成、クライアント装置のそれと同期する。さらに、コンテンツデータベース9中のコンテンツに対して、やはり上記説明した処理と同様の処理を以って、ハッシュ値を生成、コンテンツデータベース9に格納しておく。
一方、クライアント装置10は、利用者からの検索要求、すなわち、新規コンテンツの入力部101への入力を受け付けたら、当該コンテンツに対してハッシュ値を生成クライアント装置で生成された新たなコンテンツに対するハッシュ値を生成し、出力部105からサーバ装置8の入力部81へと当該ハッシュ値を出力する。
クライアント装置10からハッシュ値を受けた場合、サーバ装置8は、当該ハッシュ値を用いて、コンテンツデータベース9へと検索を掛け、ハッシュ値に基づいて類似コンテンツを発見し、その結果をクライアント装置10へと出力する。
最後に、クライアント装置10は、サーバ装置8より受け取った検索結果を利用者に出力する。
このように構成することで、サーバ装置8でハッシュ関数生成処理を実施し、クライアント装置ではハッシュ値生成処理のみを実施するように構成することができる。
この構成を取るメリットを説明する。一般に、クライアント装置(PC,携帯端末等)は、サーバ装置と比較して演算能力に乏しいため、ハッシュ関数生成のように演算量が比較的多い処理には適さない場合がある。この構成にすれば、ハッシュ関数生成処理は演算能力の高いサーバ装置で適宜実施し、クライアント装置では演算量の少ないハッシュ値生成処理だけを実施することができる。さらに、通常、ネットワークを介した通信によってデータ容量の多い情報を伝送する場合、伝送時間が掛かるという問題があるが、当該構成によって、伝送するのは情報量の小さいハッシュ値のみでよくなり、検索に対する即応性を高めることができる。
以上説明したように、前述したハッシュ関数とハッシュ値を用いることにより、画像同士、文書同士などといった、同一のメディア種別のコンテンツのみならず、画像から文書、画像から音声などのように、関連する異なる種別のメディアコンテンツ同士を、高速かつ省メモリでありながらも高精度に発見することが可能になる。この構成により、省メモリであることから、例えば、メモリ量の小さいモバイル端末(スマートフォンやタブレット)での利用も可能となる。また、高速であることから、実時間性の要求される利用に対しても対応可能である。これらの効果を活用した具体的な利用シーンとして、街中を歩いているときに気になる場所や商品をモバイル端末で写真撮影し、類似した場所・商品を検索することが可能になる。
前述した実施形態におけるハッシュ関数生成部、ハッシュ値生成部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、PLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されるものであってもよい。
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
画像から文書、画像から音声などのように、関連する異なる種別のメディアコンテンツ同士を、高速かつ省メモリでありながらも高精度に発見するためのハッシュ関数の生成及びハッシュ値の生成を行うことが不可欠な用途に適用できる。
1・・・情報処理装置、11、81、101・・・入力部、12、82、102・・・特徴抽出部、13、83・・・ハッシュ関数生成部、14、84、104・・・ハッシュ関数記憶部、15、85、103・・・ハッシュ値生成部、16、86、105・・・出力部、2・・・コンテンツデータベース、8・・・サーバ装置、9・・・コンテンツデータベース

Claims (8)

  1. コンテンツデータをバイナリ値に変換するハッシュ関数生成装置が実行するハッシュ関数生成方法であって、
    前記ハッシュ関数生成装置の特徴量抽出手段が、コンテンツデータ及び該コンテンツデータのメディア種別から、該コンテンツデータをD(D>0、Dはメディア種別により定まる)次元実数値ベクトルとして表現する特徴量を抽出する特徴量抽出ステップと、
    前記ハッシュ関数生成装置の幾何関係算出手段が、前記メディア種別ごとに特徴量空間において異なる多様体それぞれを形成する前記特徴量の集合を求め、前記集合に含まれる前記特徴量の各々について、前記集合に含まれる特徴量であって当該特徴量以外の特徴量の線形結合で表した際の結合重みである相対的幾何関係を求める幾何関係算出ステップと、
    前記ハッシュ関数生成装置の関数生成手段が、前記メディア種別が異なる複数のコンテンツデータの内容の関係性を示す関係指示子と前記相対的幾何関係とに基づいて、ハッシュ関数を表現するパラメータを決定して前記ハッシュ関数を生成し、生成した前記ハッシュ関数をハッシュ関数記憶部に記憶する関数生成ステップと
    を有することを特徴とするハッシュ関数生成方法。
  2. 前記ハッシュ関数は、前記特徴量と前記パラメータとの内積によって規定されることを特徴とする請求項1に記載のハッシュ関数生成方法。
  3. ハッシュ値生成装置が実行するハッシュ値生成方法であって、
    前記ハッシュ値生成装置の特徴量抽出手段が、コンテンツデータ及び該コンテンツデータのメディア種別から、該コンテンツデータをD(D>0、Dはメディア種別により定まる)次元実数値ベクトルとして表現する特徴量を抽出する特徴量抽出ステップと、
    前記ハッシュ値生成装置の変換手段が、請求項1または2に記載のハッシュ関数生成方法により生成され、ハッシュ関数記憶部に格納された1つ以上のハッシュ関数を用いて、前記特徴量を1つ以上のバイナリ値に変換する変換ステップと
    を有することを特徴とするハッシュ値生成方法。
  4. コンテンツデータをバイナリ値に変換するハッシュ関数生成装置であって、
    コンテンツデータ及び該コンテンツデータのメディア種別から、該コンテンツデータをD(D>0、Dはメディア種別により定まる)次元実数値ベクトルとして表現する特徴量を抽出する特徴量抽出手段と、
    前記メディア種別ごとに特徴量空間において異なる多様体それぞれを形成する前記特徴量の集合を求め、前記集合に含まれる前記特徴量の各々について、前記集合に含まれる特徴量であって当該特徴量以外の特徴量の線形結合で表した際の結合重みである相対的幾何関係を求める幾何関係算出手段と、
    前記メディア種別が異なる複数のコンテンツデータの内容の関係性を示す関係指示子と前記相対的幾何関係とに基づいて、ハッシュ関数を表現するパラメータを決定して前記ハッシュ関数を生成する関数生成手段と
    を備えることを特徴とするハッシュ関数生成装置。
  5. 前記ハッシュ関数は、前記特徴量と前記パラメータとの内積によって規定されることを特徴とする請求項4に記載のハッシュ関数生成装置。
  6. コンテンツデータ及び該コンテンツデータのメディア種別から、該コンテンツデータをD(D>0、Dはメディア種別により定まる)次元実数値ベクトルとして表現する特徴量を抽出する特徴量抽出手段と、
    請求項4または5に記載のハッシュ関数生成装置により生成された1つ以上のハッシュ関数を用いて、前記特徴量を1つ以上のバイナリ値に変換する変換手段と
    を備えることを特徴とするハッシュ値生成装置。
  7. コンピュータに、請求項1または2記載のハッシュ関数生成方法の各ステップを実行させるためのハッシュ関数生成プログラム。
  8. コンピュータに、請求項3記載のハッシュ値生成方法の各ステップを実行させるためのハッシュ値生成プログラム。
JP2013215724A 2013-10-16 2013-10-16 ハッシュ関数生成方法、ハッシュ値生成方法、ハッシュ関数生成装置、ハッシュ値生成装置、ハッシュ関数生成プログラム及びハッシュ値生成プログラム Expired - Fee Related JP6152032B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013215724A JP6152032B2 (ja) 2013-10-16 2013-10-16 ハッシュ関数生成方法、ハッシュ値生成方法、ハッシュ関数生成装置、ハッシュ値生成装置、ハッシュ関数生成プログラム及びハッシュ値生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013215724A JP6152032B2 (ja) 2013-10-16 2013-10-16 ハッシュ関数生成方法、ハッシュ値生成方法、ハッシュ関数生成装置、ハッシュ値生成装置、ハッシュ関数生成プログラム及びハッシュ値生成プログラム

Publications (2)

Publication Number Publication Date
JP2015079102A JP2015079102A (ja) 2015-04-23
JP6152032B2 true JP6152032B2 (ja) 2017-06-21

Family

ID=53010565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013215724A Expired - Fee Related JP6152032B2 (ja) 2013-10-16 2013-10-16 ハッシュ関数生成方法、ハッシュ値生成方法、ハッシュ関数生成装置、ハッシュ値生成装置、ハッシュ関数生成プログラム及びハッシュ値生成プログラム

Country Status (1)

Country Link
JP (1) JP6152032B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6482505B2 (ja) * 2016-08-04 2019-03-13 日本電信電話株式会社 検証装置、方法、及びプログラム
CN110769276A (zh) * 2019-11-07 2020-02-07 成都国腾实业集团有限公司 基于md5的帧提取切片视频检测方法
CN114329029B (zh) * 2021-10-28 2024-05-14 腾讯科技(深圳)有限公司 对象检索方法、装置、设备及计算机存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3500097B2 (ja) * 1999-08-26 2004-02-23 日本電信電話株式会社 複合メディア検索方法および複合メディア検索用プログラム記録媒体
US20100299303A1 (en) * 2009-05-21 2010-11-25 Yahoo! Inc. Automatically Ranking Multimedia Objects Identified in Response to Search Queries
JP5596648B2 (ja) * 2011-09-26 2014-09-24 日本電信電話株式会社 ハッシュ関数生成方法、ハッシュ関数生成装置、ハッシュ関数生成プログラム
JP5592337B2 (ja) * 2011-11-18 2014-09-17 日本電信電話株式会社 コンテンツ変換方法、コンテンツ変換装置及びコンテンツ変換プログラム

Also Published As

Publication number Publication date
JP2015079102A (ja) 2015-04-23

Similar Documents

Publication Publication Date Title
JP6104209B2 (ja) ハッシュ関数生成方法、ハッシュ値生成方法、装置、及びプログラム
CN106202256B (zh) 基于语义传播及混合多示例学习的Web图像检索方法
JP5926291B2 (ja) 類似画像を識別する方法および装置
EP2657884B1 (en) Identifying multimedia objects based on multimedia fingerprint
WO2020114100A1 (zh) 一种信息处理方法、装置和计算机存储介质
Chen et al. Discriminative soft bag-of-visual phrase for mobile landmark recognition
JP6397378B2 (ja) 特徴量生成方法、特徴量生成装置、及び特徴量生成プログラム
JP5592337B2 (ja) コンテンツ変換方法、コンテンツ変換装置及びコンテンツ変換プログラム
JP6368677B2 (ja) 写像学習方法、情報圧縮方法、装置、及びプログラム
Zhou et al. Multiple distance-based coding: toward scalable feature matching for large-scale web image search
JP5596648B2 (ja) ハッシュ関数生成方法、ハッシュ関数生成装置、ハッシュ関数生成プログラム
Wang et al. Statistical quantization for similarity search
US11615132B2 (en) Feature amount generation method, feature amount generation device, and feature amount generation program
JP2016066012A (ja) ハッシュ関数生成方法、ハッシュ値生成方法、装置、及びプログラム
JP6152032B2 (ja) ハッシュ関数生成方法、ハッシュ値生成方法、ハッシュ関数生成装置、ハッシュ値生成装置、ハッシュ関数生成プログラム及びハッシュ値生成プログラム
Raju et al. Content-based image retrieval using local texture features in distributed environment
JP6373292B2 (ja) 特徴量生成装置、方法、及びプログラム
JP6134246B2 (ja) ハッシュ関数生成方法、ハッシュ値生成方法、ハッシュ関数生成装置、ハッシュ値生成装置、ハッシュ関数生成プログラム及びハッシュ値生成プログラム
Hong et al. Content-based video-music retrieval using soft intra-modal structure constraint
JP6461773B2 (ja) ベクトル量子化器生成方法、ベクトル量子化方法、装置、及びプログラム
JP6364387B2 (ja) 特徴量生成装置、方法、及びプログラム
JP5833499B2 (ja) 高次元の特徴ベクトル集合で表現されるコンテンツを高精度で検索する検索装置及びプログラム
Liu et al. Video copy detection by conducting fast searching of inverted files
Lu et al. Content-oriented multimedia document understanding through cross-media correlation
JP2015201041A (ja) ハッシュ関数生成方法、ハッシュ値生成方法、装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170321

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170508

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170526

R150 Certificate of patent or registration of utility model

Ref document number: 6152032

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees