[書籍探索装置及び方法]
以下、図面を参照して、書籍探索装置及び方法の一実施形態について説明する。書籍探索装置は、図1に示すように、第一画像特徴量抽出部1、画像特徴量記憶部2、探索部3、第二画像特徴量抽出部4、代表画像記憶部5、重み設定部6及び探索書籍表示装置である7を例えば備えている。書籍探索装置の各部が、図2の各ステップの処理を行うことにより、書籍探索方法が実現される。
<第一画像特徴量抽出部1>
第一画像特徴量抽出部1には、検索のキーとなる書籍の代表画像が入力される。この検索のキーとなる書籍のことを、「検索対象となる書籍」とも呼ぶことにする。
検索対象となる書籍の代表画像は、代表画像記憶部5に記憶されている複数の書籍のそれぞれの代表画像の中からユーザーにより例えば選択される。また、スキャナーによるスキャンやデジタルカメラによる撮影により、検索対象となる書籍の代表画像が入力されてもよい。さらに、検索対象となる書籍の代表画像がサーバー等に格納されている場合には、その検索対象となる書籍の代表画像のURL等のアドレスをユーザーが入力することにより、検索対象となる書籍の代表画像が選択されてもよい。
書籍は、絵、文章等を筆写又は印刷した紙の束を綴じ合わせた本、絵本又は雑誌等の書物であってもよいし、これらの書物を電磁的に記録した電子書籍であってもよい。
書籍の代表画像とは、その書籍を構成する複数のページの中の絵が含まれる所定の一ページの画像である。書籍の代表画像の例は、その書籍の表紙の画像である。代表画像には、絵のみならず、文字、記号が含まれていてもよい。
第一画像特徴量抽出部1は、検索対象となる書籍の代表画像から複数の画像特徴量を抽出する(ステップS1)。抽出された複数の画像特徴量は、探索部3に出力される。
第一画像特徴量抽出部1により抽出される複数の画像特徴量には、色合いを表す画像特徴量のグループ、レイアウトを表す画像特徴量のグループ、形状を表す画像特徴量のグループ及び書き込み度合いを表す画像特徴量のグループの中の少なくとも2個のグループのそれぞれに属する画像特徴量が含まれている。言い換えれば、第一画像特徴量抽出部1は、少なくとも2種類のグループに属する画像特徴量を抽出する。
抽出する複数の画像特徴量の種類については、予め設定されていてもよいし、ユーザーにより適宜選択することができるようになっていてもよい。
(色合いを表す画像特徴量のグループに属する画像特徴量)
色合いを表す画像特徴量のグループに属する画像特徴量は、例えばカラーヒストグラム(color histogram)である。カラーヒストグラムは、RGB, RGBA, sRGB, AdobeRGB等の加法混合系の色空間におけるカラーヒストグラムであってもよいし、CMYK,CMK等の減法混合系の色空間におけるカラーヒストグラムであってもよい。もちろん、カラーヒストグラムは、HSV,HLS等の他の色空間におけるカラーヒストグラムであってもよい。また、代表画像を減色加工により例えばグレースケール等の減色された色体系にした上で、その減色された色体系におけるカラーヒストグラムが用いられてもよい。
色合いを表す画像特徴量のグループに属する画像特徴量として、RGBの色空間におけるカラーヒストグラムを用いた場合の画像特徴量の計算の例について説明する。
第一画像特徴量抽出部1は、既存のカラーヒストグラム計算アルゴリズムにより、代表画像を、R(赤)、G(グリーン)、B(青)の3個の次元のそれぞれの次元において0から255までの256段階の色調の値で表す。
第一画像特徴量抽出部1は、それぞれの次元において、256段階の色調の値を64個のビンに分ける処理を行う。例えば、1個目のビンが0から3段階目の色調に対応しているとし、2個目のビンが4から7段階目の色調に対応しているとし、…、64個目のビンが252から255段階目の色調に対応しているとする。すなわち、i=1,2,…,64として、i番目のビンが(i−1)×4から(i−1)×4+3段階目の色調に対応しているとする。そして、各ビンの値を、その各ビンに対応する段階目の色調の値の総和とする。Rの次元を例に挙げて説明すると、i=1,2,…,64として、Rの次元におけるi番目のビンの値riを、(i−1)×4段階目の色調の値と、(i−1)×4+1段階目の色調のピクセルの数と、(i−1)×4+2段階目の色調の値と、(i−1)×4+3段階目の色調の値とを加算した数とする。このビンに分ける処理をR,G,Bのそれぞれの次元において行うことにより、ベクトル(r1,r2,…,r64,g1,g2,…,g64,b1,b2,…,b64)が得られる。i=1,2,…,64として、giはGの次元におけるi番目のビンの値であり、biはBの次元におけるi番目のビンの値である。
第一画像特徴量抽出部1は、ベクトル(r1,r2,…,r64,g1,g2,…,g64,b1,b2,…,b64)の要素の和が1となるように各要素を正規化したベクトルCH=(ch1, ch2,…, ch192)を求める。ここで、Σk=1 192chk=1である。正規化を行うのは、例えばべた塗の絵と滑らかに色使いが変化する絵を区別するために、頻度そのものよりも分布の形を比べたいためである。
このベクトルCHが、色合いを表す画像特徴量のグループに属する画像特徴量であるカラーヒストグラムの一例である。
色合いが徐々には変化しないべた塗の絵はカラーヒストグラムの分散が小さくなるが、色合いが徐々に変化する絵はカラーヒストグラムの分散が大きくなるという特徴がある。
色合いが徐々には変化しないべた塗の絵の例である図22の絵のカラーヒストグラムを図23に示す。また、色合いが徐々には変化するべた塗の絵の例である図24の絵のカラーヒストグラムを図25に示す。図23及び図25のそれぞれにおいて、一番上のグラフはB(青)の次元のカラーヒストグラムであり、真ん中のグラフはG(緑)の次元のカラーヒストグラムであり、一番下のグラフはR(赤)の次元のカラーヒストグラムである。各カラーヒストグラムにおいて、横軸は色調の段階を表し、縦軸は頻度を表す。
図23及び図25から、色合いが徐々には変化しないべた塗の絵の例である図22の絵のカラーヒストグラムの分散は、色合いが徐々に変化する絵の例である図24の絵のカラーヒストグラムの分散よりも小さいことがわかる。この例のように、べた塗の絵と滑らかに色使いが変化する絵では、カラーヒストグラムの分布の形が互いに異なる。べた塗の絵とは、例えば、境界がはっきりしており、境界によって区切られた各領域が同一の色で塗られた絵のことである。
このため、カラーヒストグラムは、画風が近い書籍を探索するための画像特徴量として有効である。
(レイアウトを表す画像特徴量のグループに属する画像特徴量)
レイアウトを表す画像特徴量のグループに属する画像特徴量は、例えばキャニー法等のエッジ検出により検出されたエッジピクセルの分布である。エッジピクセルを検出することができれば、例えば参考文献1に記載されたエッジ検出法等の、キャニー法以外の他の既存のエッジ検出法によりエッジ検出が行われてもよい。
〔参考文献1〕Lindeberg, Tony (2001), "Edge detection", in Hazewinkel, Michiel, Encyclopedia of Mathematics, Springer, ISBN 978-1-55608-010-4
レイアウトを表す画像特徴量のグループに属する画像特徴量として、エッジピクセルの分布を用いた場合の画像特徴量の計算の例について説明する。
第一画像特徴量抽出部1は、既存のエッジ検出法により、代表画像のエッジピクセルを検出する。
第一画像特徴量抽出部1は、代表画像のエッジピクセルの分布ベクトルを求める。代表画像のエッジピクセルの分布ベクトルは、その代表画像を複数の領域に分割したときの、各領域に含まれるエッジピクセルの数を要素とするベクトルである。例えば、図4に示すように代表画像は格子状に9個の領域(1)から(9)に分割される。以下では、代表画像はn個の領域(1)から(n)に分割されているとする。i=1,2,…,nとして、領域(i)に含まれるエッジピクセルの数をediとする。この場合、代表画像のエッジピクセルの分布ベクトルEDは、ED=(ed1,ed2,…,edn)である。なお、代表画像毎のエッジピクセル総数の異なりの影響を排除するため、分布ベクトルED=(ed1,ed2,…,edn)のノルムを一定の値に正規化したベクトルED*=(ed1 *,ed2 *,…,edn *)を、最終的な代表画像のエッジピクセルの分布ベクトルとしてもよい。ノルムとしては、例えば1に正規化されたユークリッドノルム||ED*||2=((ed1 *)2+(ed2 *)2+…+(edn *)2)1/2=1を用いることができる。
エッジピクセルの分布等の画像特徴量を求めるために行われる代表画像の複数の領域への分割は、図4に例示する分割以外の分割であってもよい。
例えば、図5に示すように、代表画像の縦横の長さが異なる場合には、長辺の分割数を短辺の分割数よりも小さくする等の方法により、縦横の分割数を異ならせてもよい。また、図6に示すように、代表画像の中心ほど領域の面積が小さくなるように代表画像を分割してもよい。これは、代表画像の中心ほど書き込みが多いことを考慮したものである。また、図7に示すように縦方向にのみ領域分割してもよいし、図8に示すように横方向のみに領域分割してもよい。さらに、図9に示すように同心円状に領域分割をしてもよい。
レイアウトを表す画像特徴量のグループに属する画像特徴量は、Scale-Invariant Feature Transform(以下、SIFTと略記する。), Oriented-BRIEF(以下、ORBと略記する。), Speeded Up Robust Features(以下、SURFと略記する。)等の処理により検出される特徴点(キーポイント)の分布であってもよい。
図26に、図22の絵についてSIFTの処理を行うことにより得られたSIFTの特徴点の例を表す。図26では、特徴点は円と線分で示されている。円の中心座標が特徴点の位置を示す。
レイアウトを表す画像特徴量のグループに属する画像特徴量として、SIFT,ORB,SURF等の処理により検出される特徴点の分布を用いた場合の画像特徴量の計算の例について説明する。
第一画像特徴量抽出部1は、SIFT,ORB,SURF等の処理により、代表画像の特徴点を検出する。
第一画像特徴量抽出部1は、代表画像の特徴点の分布ベクトルを求める。代表画像の特徴点の分布ベクトルは、その代表画像を複数の領域に分割したときの、各領域に含まれる特徴点の個数を要素とするベクトルである。例えば、図4に示すように代表画像は格子状に9個の領域(1)から(9)に分割される。図5から図9に例示するように代表画像の領域分割の方法はどのようなものであってもよい。例えば、縦長あるいは横長の代表画像を入力する場合に、代表画像のアスペクト比を考慮して、図5のように縦横の分割数を異ならせてもよい。また、代表画像の種類によってはオブジェクトや文字が画像の一部に集中することが多いことに注目して、たとえば中心部の分解能を上げられるように図6のように中心部に近いほど分割を細かくしてもよい。以下では、代表画像はn個の領域(1)から(n)に分割されているとする。i=1,2,…,nとして、領域(i)に含まれる特徴点の個数をskdiとする。この場合、代表画像の特徴点の分布ベクトルSKDは、SKD=(skd1,skd2,…,skdn)である。なお、代表画像毎の特徴点総数の異なりの影響を排除するため、分布ベクトルSKD=(skd1,skd2,…,skdn)のノルムを一定の値に正規化したベクトルSKD*=(skd1 *,skd2 *,…,skdn *)を、最終的な代表画像の特徴点の分布ベクトルとしてもよい。ノルムとしては、例えば1に正規化されたユークリッドノルム||SKD*||2=((skd1 *)2+(skd2 *)2+…+(skdn *)2)1/2=1を用いることができる。
エッジピクセル又は特徴点が多い領域ほど書き込みが多く、エッジピクセル又は特徴点が少ない領域ほど書き込みが少ない。このため、エッジピクセルの分布又は特徴点の分布は、入力代表画像中の領域毎の書き込みの多寡を比較するために用いることができる、レイアウトを表す画像特徴量と考えることができる。絵本については、キャラクターや背景、文字などの書き込みの領域毎の多少を比べることになるため、書き込み位置が類似した絵本同士、例えば上部にテキストが配され、中央部にキャラクターが描かれ、それ以外は背景色のべた塗であるような絵本同士は、類似のエッジピクセルの分布及び特徴点の分布を持つと考えられる。このため、エッジピクセルの分布又は特徴点の分布は、レイアウトの観点から画風が近い書籍を探索するための画像特徴量として有効である。
後述する書き込み度合いを表す画像特徴量のグループに属する画像特徴量は代表画像全体の粗密に注目した特徴量であるのに対して、エッジピクセルの分布又は特徴点の分布は代表画像の各領域の粗密に注目した特徴量でありレイアウトを表現した特徴と考えることができる。
(形状を表す画像特徴量のグループに属する画像特徴量)
形状を表す画像特徴量のグループに属する画像特徴量は、例えばSIFT,ORB,SURF等の処理により検出される特徴点である。
この場合、第一画像特徴量抽出部1は、SIFT,ORB,SURF等の処理により、代表画像の特徴点を検出し、検出された特徴点を画像特徴量とする。
ある代表画像の特徴点と別の代表画像の特徴点との対応が綺麗に取れるほど、言い換えればこれらの特徴点をmatch SIFT descripter関数やmatch ORB descripter関数に入力したときの出力値が小さくなるほど、そのある代表画像とその別の代表画像の有する特徴点同士の表す形状が似ているというという特徴がある。ここで、match SIFT descripter関数は2個の画像のSIFT特徴間の距離を求める関数であり、match ORB descripter関数は2個の画像のORB特徴間の距離を求める関数であるとする。特に絵本に対して適用した場合、デフォルメで表現されたキャラクターの目などのパーツ同士、あるいはタイトル中に現れる同種のひらがな同士が類似する絵本同士はmatch SIFT descripter関数やmatch ORB descripter関数に入力したときの出力値が小さくなる。このため、特徴点は、類似の形状の書き込みが存在するという観点で画風が近い書籍を探索するための画像特徴量として有効である。
図27に「ひとりでよめたよ」という絵本の表紙を正面から見たときの画像の特徴点の例を示す。また、図28に「ひとりでよめたよ」という絵本の表紙を斜めから見たときの画像の特徴点の例を示す。図27及び図28では、互いに類似する30個の特徴点が選択されている。図29に、図27の特徴点と図28の特徴点との対応関係の例を示す。図29では、文字の部分や、キャラクターの手、尾の模様、帽子等の部分で対応関係が取れている。一般に、2つの画像間の対応関係が綺麗にとれるほど、match SIFT descripter関数やmatch ORB descripter関数に入力したときの出力値が小さくなる。ここで、対応関係が綺麗にとれるとは、2つの画像中に何らかの類似度尺度で類似度の高い、あるいは何らかの距離尺度で距離が小さい、もしくは全く同一の特徴点が存在し、その個数が多いことである。
(書き込み度合いを表す画像特徴量のグループに属する画像特徴量)
書き込み度合いを表す画像特徴量のグループに属する画像特徴量は、例えばキャニー法等のエッジ検出により検出されたエッジピクセルの数を総ピクセル数で割った値である。この値のことを「エッジ率」と呼ぶことにする。エッジピクセルを検出することができれば、例えば参考文献1に記載されたエッジ検出法等の、キャニー法以外の他の既存のエッジ検出法によりエッジ検出が行われてもよい。
書き込み度合いを表す画像特徴量のグループに属する画像特徴量として、エッジ率を用いた場合の画像特徴量の計算の例について説明する。
第一画像特徴量抽出部1は、既存のエッジ検出法により、代表画像のエッジピクセルを検出する。
第一画像特徴量抽出部1は、代表画像のエッジピクセルの数をその代表画像の総ピクセル数で割り算した値を求め、求まった値を画像特徴量とする。例えば、エッジピクセルの数がeであり、代表画像の横のピクセル数がxであり、代表画像の縦のピクセル数がyである場合には、エッジ率=e/(xy)である。
代表画像全体に多くの線が描かれている場合、エッジ率は高くなるが、書き込みが少ない絵のエッジ率が低くなるという特徴がある。絵本の場合、キャラクターや背景、文字などの書き込みが多い絵のエッジ率は高くなるが、書き込みが少ない絵のエッジ率が低くなるという特徴がある。このため、エッジ率は、オブジェクトの多寡の観点で画風が近い書籍を探索するための画像特徴量として有効である。
書き込み度合いを表す画像特徴量のグループに属する画像特徴量は、SIFT,ORB,SURF等の処理により検出される特徴点の個数であってもよい。
この場合、第一画像特徴量抽出部1は、SIFT,ORB,SURF等の処理により、代表画像の特徴点を検出する。第一画像特徴量抽出部1は、検出された特徴点の個数を画像特徴量とする。
単純な絵は特徴点の数が少なくなるが、複雑な絵は特徴点の数が多くなるという特徴がある。絵本の場合、多数のキャラクターが描かれている場合や多くの文字が描かれている場合に特徴点の数が多くなる。このため、特徴点の数は、エッジ率と同様に、オブジェクトの多寡の観点で画風が近い書籍を探索するための画像特徴量として有効である。
検索対象となる書籍の代表画像の画像特徴量が既に抽出されている場合には、第一画像特徴量抽出部1の処理は行われなくてもよい。検索対象となる書籍の代表画像の画像特徴量が既に抽出されている場合とは、例えば、代表画像記憶部5に記憶されている複数の書籍のそれぞれの代表画像の画像特徴量が第二画像特徴量抽出部4により既に抽出されている場合であって、これらの代表画像記憶部5に記憶されている複数の書籍のそれぞれの代表画像の中から検索対象となる書籍が選択される場合である。
<代表画像記憶部5>
代表画像記憶部5には、複数の書籍のそれぞれの代表画像が記憶されている。これらの複数の書籍が、検索の被対象となる書籍の集合である。すなわち、これらの複数の書籍の中から、検索対象となる書籍と似ている書籍が探索される。
<第二画像特徴量抽出部4>
第二画像特徴量抽出部4は、代表画像記憶部5から読み込んだ複数の書籍のそれぞれの代表画像から複数の画像特徴量を抽出して、それらの抽出された複数の画像特徴量を複数の書籍のそれぞれの代表画像に対応する複数の画像特徴量として画像特徴量記憶部2に記憶させる(ステップS2)。
第二画像特徴量抽出部4が抽出する複数の画像特徴量の種類は、第一画像特徴量抽出部1が抽出する複数の画像特徴量の種類と同じである。第二画像特徴量抽出部4による複数の画像特徴量の抽出方法は、第一画像特徴量抽出部1による複数の画像特徴量の抽出方法と同様であるため、ここでは重複説明を省略する。
代表画像記憶部5に記憶されている複数の書籍のそれぞれの代表画像の画像特徴量が既に抽出されている場合には、第二画像特徴量抽出部4によるステップS2の処理は行われなくてもよい。代表画像記憶部5に記憶されている複数の書籍のそれぞれの代表画像の画像特徴量が既に抽出されている場合とは、例えば、ある検索対象となる書籍の代表画像類似性が高い代表画像を有する1個以上の書籍を代表画像記憶部5に記憶されている複数の書籍の中から探索するステップS1からステップS3の処理(「第1回目の処理」とする。)が一度行われている場合において、次に、別の検索対象となる書籍の代表画像類似性が高い代表画像を有する1個以上の書籍を代表画像記憶部5に記憶されている複数の書籍の中から探索する処理(「第2回目の処理」とする。)を行う場合である。この場合は、第1回目の処理の中のステップS2の処理において、代表画像記憶部5に記憶されている複数の書籍のそれぞれの代表画像の画像特徴量が既に抽出され画像特徴量記憶部2に記憶されているため、第2回目の処理では、第二画像特徴量抽出部4によるステップS2の処理は省略され、画像特徴量記憶部2に既に記憶されている複数の書籍に対応する複数の画像特徴量を用いてステップS3の探索処理が行われる。
また、第一画像特徴量抽出部1によるステップS1の処理の前に、第二画像特徴量抽出部4によるステップS2の処理が事前に行われてもよい。
<画像特徴量記憶部2>
画像特徴量記憶部2には、複数の書籍のそれぞれの代表画像に対応する複数の画像特徴量が記憶されている。
画像特徴量記憶部2に記憶されている複数の書籍のそれぞれの代表画像に対応する複数の画像特徴量は、第二画像特徴量抽出部4により抽出されたものである。
<重み設定部6>
重み設定部6には、ユーザーにより選択された複数の重みが入力される。重み設定部6により入力された複数の重みは、それぞれ複数の画像特徴量に対応付けられる。重み設定部6で設定された重みは、探索部3に出力される。
重み設定部6は、画像特徴量のグループごとに重みを設定可能であってもよい。この場合、重み設定部6により設定された画像特徴量のグループの重みは、その画像特徴量のグループに属する画像特徴量に対応付けられた重みとなる。
重み設定部6は、表示部7に表示されていてもよい。例えば、図10から図14に例示する重み設定部6が表示部7に表示される。もちろん、重み設定部6の表示は、ユーザーが重みを設定又は入力することができれば、図10から図14の例に限られない。
図10に例示するように、重み設定部6は、複数の画像特徴量のそれぞれの重みを0から10までの値に設定可能なスライドバーであってもよい。「color histogram」はカラーヒストグラムの画像特徴量であり、「edge distribution」はエッジピクセルの分布の画像特徴量であり、「edge percentage」はエッジ率の画像特徴量であり、「sift distribution」はSIFTにより検出された特徴点の分布の画像特徴量であり、「sift keypoints」はSIFTにより検出された特徴点の数の画像特徴量であり、「sift match」はSIFTにより検出された特徴点の画像特徴量であり、「orb match」はORBにより検出された特徴点の画像特徴量である。
図10に例示するように、「色合い重視」「レイアウト重視」「形状重視」という、複数の画像特徴量にそれぞれ対応付けられている複数の重みを予め定められた複数の重みに設定可能なボタンが重み設定部6に設けられていてもよい。例えば、「色合い重視」では、色合いを表す画像特徴量のグループに属する画像特徴量に対応する重みの値が大きく、他の画像特徴量の重みの値が小さくなるような所定の重みが設定される。また、「レイアウト重視」レイアウトを表す画像特徴量のグループに属する画像特徴量に対応する重みの値が大きく、他の画像特徴量の重みの値が小さくなるような所定の重みが設定される。また、「形状重視」では、形状を表す画像特徴量のグループに属する画像特徴量に対応する重みの値が大きく、他の画像特徴量の重みの値が小さくなるような所定の重みが設定される。このように、プリセットした重みに設定することができるようにすることにより、ユーザーは更に容易に画像情報に基づく探索をすることができる。
図11に例示するように、重み設定部6は、複数の画像特徴量のそれぞれの重みを入力可能な入力ボックスであってもよい。
図12に例示するように、重み設定部6は、複数の画像特徴量のそれぞれの重みをボタン操作で変更可能であってもよい。図12の例では、上矢印↑のボタンを選択すると対応する画像特徴量の重みの値が増え、下矢印↓のボタンを選択すると対応する画像特徴量の重みの値が減る。
図13,図14に例示するように、重み設定部6は、複数の画像特徴量にそれぞれ対応付けられている複数の重みの中の少なくとも2個の重みを同時に変更可能であってもよい。これにより、2個の重みの一方をより重視することができる。
図13,図14では、3個の画像特徴量のそれぞれの領域の大きさに応じた重みが対応付けられる。図13では、3個の画像特徴量のそれぞれの領域の大きさは、棒グラフで表されており、領域の境界を表す線を移動させることにより変更可能である。領域の境界を表す線を移動させることにより、その線を境界とする2個の領域の面積を変えることができるため、それらの2個の領域にそれぞれ対応する2個の重みを同時に変更可能となる。
図14では、3個の画像特徴量のそれぞれの領域の大きさは、円グラフで表されており、領域の境界を表す点を移動させることにより変更可能である。図13,図14のように、、複数の画像特徴量のそれぞれを表す領域を可変として、複数の画像特徴量のそれぞれに、そのそれぞれの画像特徴量を表す領域の大きさに応じた重みを対応付けてもよい。領域の境界を表す点を移動させることにより、その点を境界とする2個の領域の面積を変えることができるため、それらの2個の領域にそれぞれ対応する2個の重みを同時に変更可能となる。
図13,図14に例示するように、一定の領域を複数の領域に分割することにより、これらの複数の領域にそれぞれ対応する複数の重みを変更可能であってもよい。
なお、少なくとも2個の領域を入れ替え可能であることにより、少なくとも2個の重みを同時に変更可能であってもよい。例えば、図13において、「1⇔3」というボタンを選択すると、画像特徴量1の領域と画像特徴量3の領域とが入れ替わり、それらの2個の領域にそれぞれ対応する2個の重みを同時に変更可能となる。
重み設定部6により、ユーザーは重みを適宜設定又は入力することができるため、画像情報に基づく探索を容易に行うことができる。
<探索部3>
探索部3には、第一画像特徴量抽出部1で抽出された検索対象となる書籍の代表画像に対応する複数の画像特徴量と、画像特徴量記憶部2から読み込んだ複数の書籍の代表画像に対応する複数の画像特徴量とが入力される。
探索部3は、第一画像特徴量抽出部1で抽出された検索対象となる書籍の代表画像に対応する複数の画像特徴量と、画像特徴量記憶部2から読み込んだ複数の書籍の代表画像に対応する複数の画像特徴量とを用いて、検索対象となる書籍の代表画像と類似性が高い代表画像を有する1個以上の書籍を複数の書籍の中から探索する(ステップS3)。探索結果である、検索対象となる書籍の代表画像と類似性が高い代表画像を有する1個以上の書籍についての情報は、探索書籍表示装置である表示部7に出力される。
複数の画像特徴量にそれぞれ複数の重みが対応付けられている場合には、探索部3は、重みが大きいほどその重みに対応する画像特徴量の類似性に対する影響が大きい探索を行ってもよい。
なお、画像特徴量のグループごとに重みが対応付けられており、その画像特徴量のグループに属する画像特徴量にその画像特徴量のグループに対応付けられた重みと同じ重みが対応付けられている場合、探索部3は、重みが大きいほどその重みに対応する画像特徴量のグループに属する画像特徴量の類似性に対する影響が大きい探索を行うことになる。
以下、探索部3のステップS3の処理の一例について説明する。ステップS3の処理は、以下に説明するステップS31からステップS33の処理から例えば構成されている。
<<ステップS31>>
まず、探索部3は、複数の画像特徴量のそれぞれごとに、検索対象となる書籍の代表画像と類似性が高い代表画像を有する上位N個の書籍を検索する処理を行う(ステップS31)。Nは所定の正の整数である。探索部3は、例えば所定のグラフ検索アルゴリズムを用いて、複数の画像特徴量のそれぞれごとに、検索対象となる書籍の代表画像と類似性が高い代表画像を有する上位N個の書籍を表すグラフを検索結果として得る。
以下、所定のグラフ検索アルゴリズムを用いて、検索対象となる書籍の代表画像と類似性が高い代表画像を有する上位N個の書籍を表すグラフを検索結果として得る処理の例について説明する。この処理は、ステップS311からステップS313の処理により構成される。ステップS31の処理が複数の画像特徴量のそれぞれにおいて行われるため、ステップS311からステップS313の処理も複数の画像特徴量のそれぞれにおいて行われることになる。
所定のグラフ検索アルゴリズムが実行される事前準備として、探索部3は、被検索対象データである複数の書籍のそれぞれの代表画像の画像特徴量に基づいて、グラフ索引構築アルゴリズム、GRネットワーク生成アルゴリズム(例えば、参考文献2参照。)等の所定のグラフ構築アルゴリズムにより、複数の書籍についてのグラフを構築しておく(ステップS311)。構築するグラフ(「グラフ索引」とも言う。)はgreedy reachableな性質を持つグラフ構造であれば,近傍グラフでもよいし、近傍グラフの一例であるk近傍グラフでもよいし、k近傍(k-NN: k Nearest Neighbor)グラフの一例であるk-DR(Degree-Reduced k-NN)グラフでもよい(例えば、参考文献3参照。)。
〔参考文献2〕特開2008−305072号公報
〔参考文献3〕Aoyama Kazuo, 外3名, "Fast approximate similarity search based on degree-reduced neighborhood graphs", Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2011.
グラフ索引構築アルゴリズムにより例えば構築される近傍グラフは、各頂点が各書籍を表すとして、類似の頂点間に辺(エッジ)が結ばれたものである。近傍グラフが例えばk近傍グラフである場合には、k順位以内に存在する頂点間にエッジが結ばれる。kは所定の正の整数である。頂点Aと頂点Bとの類似は、書籍Aの代表画像の画像特徴量と書籍Bの代表画像の画像特徴量との類似度(あるいは距離などの非類似度)により判断される。
探索部3は、事前準備により構築されたグラフに基づいて、検索対象となる書籍の代表画像の画像特徴量に近い画像特徴量を有する上位N個の書籍を選択する(ステップS312)。言い換えれば、探索部3は、事前準備により構築されたグラフに基づいて、検索対象となる書籍の代表画像の画像特徴量と類似度が高い(あるいは距離などの非類似度が小さい)画像特徴量を有する上位N個の書籍を選択する。
そして、探索部3は、検索対象となる書籍の代表画像の画像特徴量と、上位N個の書籍のそれぞれの代表画像の画像特徴量とを用いて、k-NNグラフ構築アルゴリズム等の所定のグラフ構築アルゴリズムにより、検索対象となる書籍と上位N個の書籍とについてのグラフを構築する(ステップS313)。この構築されたグラフを「仮探索結果グラフ」と呼ぶことにする。仮探索結果グラフが、検索対象となる書籍の代表画像と類似性が高い代表画像を有する上位N個の書籍を表すグラフとなる。
仮探索結果グラフは、上位N個の書籍を表す頂点と、頂点と頂点とを結ぶエッジと、エッジに付けられた重みであるエッジウェイトとを含んでいる。互いに類似性が高い書籍に対応する頂点を結ぶエッジに付けられたエッジウェイトほど、大きな値を有するようにエッジウェイトは付けられる。エッジウェイトの計算方法の例は、例えば参考文献4を参照のこと。
〔参考文献4〕Shaoting Zhang, 外4名, "Query Specific Rank Fusion for Image Retrieval", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL.37, NO.4. APRIL 2015
仮探索結果グラフの例を図15,図16(a),図16(b)に示す。
図15では、検索対象となる書籍に対応する頂点qと、頂点2、頂点3、頂点6及び頂点7のそれぞれとがエッジで結ばれている。また、頂点6と頂点7とがエッジで結ばれており、頂点3と頂点7とがエッジで結ばれている。各エッジに付けらえたエッジウェイトは1である。
図16(a)では、検索対象となる書籍に対応する頂点qと、頂点1、頂点3及び頂点7のそれぞれとがエッジで結ばれている。また、頂点3と頂点4とがエッジで結ばれており、頂点3と頂点7とがエッジで結ばれており、頂点3と頂点8とがエッジで結ばれている。各エッジに付けらえたエッジウェイトは1である。
図16(b)では、検索対象となる書籍に対応する頂点qと、頂点1、頂点3及び頂点7のそれぞれとがエッジで結ばれている。これらのエッジに付けられたエッジウェイトは1である。また、頂点3と頂点4とがエッジで結ばれており、頂点3と頂点7とがエッジで結ばれており、頂点3と頂点8とがエッジで結ばれている。これらのエッジに付けられたエッジウェイトは0.8である。また、頂点4と頂点9とがエッジで結ばれている。このエッジに付けらえたエッジウェイトは0.64である。検索対象となる書籍とは直接類似しない書籍の影響を低下させるため、図16(b)に例示するように、検索対象となる書籍に対応する頂点qから遠いエッジほど小さなエッジウェイトが付けられてもよい。図16(b)では、頂点qから1ホップ離れるごとに減衰係数0.8を乗じたエッジウェイトが付けられている。
ステップS311からステップS313のそれぞれの処理は、上記説明したように、画像特徴量の類似度に基づいて行われる。以下、画像特徴量ごとの類似度の定義の例について説明する。
(色合いを表す画像特徴量のグループに属する画像特徴量の類似度)
色合いを表す画像特徴量のグループに属する画像特徴量であるカラーヒストグラムの類似度としては、例えばBhattacharyya coefficient,Hellinger distance, Hkullback-Leibler divergence等の距離尺度を用いることができる。もちろん、カラーヒストグラムの類似度を比較できれば類似度として他の距離尺度を用いてもよい。なお、2個のカラーヒストグラムを表すベクトルをそれぞれCHA=(cha1, cha2,…,cha192), CHB=(chb1, chb2,…,chb192)とすると、Bhattacharyya coefficient BC(CHA, CHB)は、BC(CHA, CHB)=Σk=1 192(chak×chbk)(1/2)と定義することができる。
(レイアウトを表す画像特徴量のグループに属する画像特徴量の類似度)
レイアウトを表す画像特徴量のグループに属する画像特徴量として、エッジピクセルの分布が用いられたとする。
この場合、エッジピクセルの分布の類似度としては、例えばコサイン類似度等の距離尺度を用いることができる。もちろん、エッジピクセルの分布の類似度を比較できれば他の距離尺度を用いてもよい。なお、2個のエッジピクセルの分布を表すベクトルをそれぞれEDA=(eda1,eda2,…,edan), EBD=(edb1,edb2,…,edbn)とするこれらのベクトルEDA,EDBはユークリッドノルムが1となるように正規化されているものとする。このとき、コサイン類似度cos(EDA,EDB)は、cos(EDA,EDB)=EDA・EDB=Σk=1 n(edak×edbk)と定義することができる。
レイアウトを表す画像特徴量のグループに属する画像特徴量として、SIFT,ORB,SURF等の処理により検出される特徴点の分布が用いられたとする。
この場合、特徴点の分布の類似度としては、例えばコサイン類似度等の距離尺度を用いることができる。もちろん、2個の特徴点の分布の類似度を比較できれば他の距離尺度を用いてもよい。なお、2個の特徴点の分布を表すベクトルをそれぞれSKDA=(skda1,skda2,…,skdan), SKDB=(skdb1,skdb2,…,skdbn)とするこれらのベクトルSKDA, SKDBはノルムが1となるように正規化されているものとする。このとき、コサイン類似度cos(SKDA, SKDB)は、cos(SKDA, SKDB)=SKDA・SKDB=Σk=1 n(skdak×skdbk)と定義することができる。
(書き込み度合いを表す画像特徴量のグループに属する画像特徴量の類似度)
書き込み度合いを表す画像特徴量のグループに属する画像特徴量として、エッジ率が用いられたとする。
この場合、エッジ率の類似度としては、例えば2個のエッジ率の差の絶対値等の距離尺度を用いることができる。もちろん、2個のエッジ率の類似度を比較できれば他の距離尺度を用いてもよい。
書き込み度合いを表す画像特徴量のグループに属する画像特徴量として、SIFT,ORB,SURF等の処理により検出される特徴点の個数が用いられたとする。
この場合には、特徴点の個数の類似度としては、例えば特徴点の個数の差の絶対値等の距離尺度を用いることができる。もちろん、特徴点の個数の距離を比較できれば他の距離尺度を用いてもよい。
(形状を表す画像特徴量のグループに属する画像特徴量の類似度)
形状を表す画像特徴量のグループに属する画像特徴量として、SIFT,ORB,SURF等の処理により検出される特徴点が用いられたとする。
この場合には、特徴点の類似度としては、例えばmatch SIFT descripter関数やmatch ORB descripter関数の出力値等の距離尺度を用いることができる。もちろん、特徴点の類似度を比較できれば他の距離尺度を用いてもよい。
<<ステップS32>>
探索部3は、複数の画像特徴量のそれぞれごとに得られた検索結果を、複数の画像特徴量にそれぞれ対応付けられている複数の重みを用いて統合する(ステップS32)。
ステップS31の処理の探索結果として仮探索結果グラフが得られた場合には、探索部3は例えば以下の処理の例により、複数の画像特徴量ごとに求まった仮探索結果グラフを複数の重みを用いて統合することにより、探索結果グラフを得る。
上記説明したように、仮探索結果グラフは、上位N個の書籍を表す頂点と、頂点と頂点とを結ぶエッジと、エッジに付けられた重みであるエッジウェイトとを含んでいる。第一画像特徴量抽出部1及び第二画像特徴量抽出部4により抽出される画像特徴量の種類の数をMとし、m=1,2,…,Mとして、画像特徴量mに基づいてステップS31の処理により求められた仮探索結果グラフにおける頂点iと頂点jとを結ぶのエッジのエッジウェイトをwm(i,j)と表記する。また、画像特徴量mに対応する重みをwmとする。また、F(wm, wm(i,j))を、wm及びwm(i,j)のそれぞれについての非減少関数F(wm, wm(i,j))とする。F(wm, wm(i,j))の例は、F(wm, wm(i,j))= wm×wm(i,j)である。
このとき、探索部3は、複数の画像特徴量ごとに求まった仮探索結果グラフを結合し、
結合された仮探索結果グラフの頂点iと頂点jとを結ぶエッジウェイトを例えばΣm=1 M F(wm, wm(i,j))とする。
複数の画像特徴量ごとに求まった仮探索結果グラフを結合については、例えば上記参照文献4を参照のこと。
第一画像特徴量抽出部1及び第二画像特徴量抽出部4により抽出される画像特徴量の種類は、図15の仮探索結果グラフに対応する画像特徴量と図16(a)の仮探索結果グラフに対応する画像特徴量との2種類であるとする。また、図15の仮探索結果グラフに対応する画像特徴量についての重みが2であり、図16(a)の仮探索結果グラフに対応する画像特徴量についての重みが1であり、F(wm, wm(i,j))= wm×wm(i,j)であるとする。この場合の図15の仮探索結果グラフと図16(a)の仮探索結果グラフとをこれらの重みを用いて統合する例について説明する。まず、図15のエッジウェイトに重みである2が乗算される。この結果、図17に示すエッジウェイトを有する仮探索結果グラフが得られる。この図17に示すエッジウェイトを有する仮探索結果グラフと図16(a)の仮探索結果グラフとが結合され、図18の探索結果グラフが得られる。図18の探索結果グラフのエッジウェイトは、図16(a)及び図17の対応するエッジウェイトの加算値となっている。
<<ステップS33>>
探索部3は、統合された検索結果により定まる、検索対象となる書籍の代表画像と類似性が高い代表画像を有する上位N個の書籍についての情報を出力する(ステップS33)。
ステップS32の処理により探索結果グラフが得られた場合には、探索部3は探索結果グラフに基づいて、検索対象となる書籍の代表画像と類似性が高い代表画像を有する1個以上の書籍についての情報を出力する。探索結果グラフに基づいて、検索対象となる書籍の代表画像と類似性が高い代表画像を有する1個以上の書籍を選択する方法には、RageRank法等の既存の手法を用いることができる(例えば、参考文献4及び参考文献5を参照。)。
〔参考文献5〕Amy N. Langville, 外1名, "Google's PageRank and Beyond", Princeton University Press, 2006.
なお、複数の画像特徴量にそれぞれ対応する複数の重みの組み合わせが複数あってもよい。この場合、複数の重みの異なる組み合わせのそれぞれについて探索部3は探索処理を行ってもよい。この場合、複数の重みの異なる組み合わせのそれぞれについての探索部3の探索結果が表示部7に出力される。複数の重みの異なる組み合わせには、重み設定部6によりユーザーにより設定又は入力された複数の重みの組み合わせが含まれていてもよい。また、複数の重みの異なる組み合わせには、ある画像特徴量の重みが大きく他の画像特徴量の重みが小さい複数の重みの組み合わせが含まれていてもよい。例えば、複数の重みの異なる組み合わせには、ある画像特徴量の重みが1であり他の画像特徴量の重みが0である複数の重みの組み合わせが含まれていてもよい。
例えば、複数の重みの第一の組み合わせと、複数の重みの第二の組み合わせという2個の、複数の重みの組み合わせがあるとする。この場合、探索部3は、複数の重みの第一の組み合わせについて探索処理を行いその探索結果を表示部7に出力し、複数の重みの第二の組み合わせについて探索処理を行いその探索結果を表示部7に出力する。
<表示部7>
探索書籍表示装置である表示部7は、CRT、液晶ディスプレイ、有機ELディスプレイ等の表示装置である。
探索書籍表示装置である表示部7は、探索部3により探索された、検索対象となる書籍の代表画像と類似性が高い代表画像を有する1個以上の書籍をユーザーに提示する(ステップS4)。
表示部7による、探索部3の探索結果の表示の例を図19から図21に示す。
図19では、検索対象となる書籍の代表画像と類似性が高い代表画像を有する上位15個の書籍の代表画像とタイトルが表示されている。
複数の重みの異なる組み合わせのそれぞれについて探索部3の処理が行われた場合には、表示部7は、複数の重みの異なる組み合わせのそれぞれにより探索された、検索対象となる書籍の代表画像と類似性が高い代表画像を有する1個以上の書籍を表示してもよい。図20は、そのような表示の一例である。
図20の「fused」は、ユーザーにより選択された複数の重みの組み合わせについての探索結果である。「color histogram」はカラーヒストグラムの画像特徴量の重みが1であり他の画像特徴量の重みが0である複数の重みの組み合わせについての探索結果である。「edge distribution」はエッジピクセルの分布の画像特徴量の重みが1であり他の画像特徴量の重みが0である複数の重みの組み合わせについての探索結果である。「edge percentage」はエッジ率の画像特徴量の重みが1であり他の画像特徴量の重みが0である複数の重みの組み合わせについての探索結果である。「sift distribution」はSIFTにより検出された特徴点の分布の画像特徴量の重みが1であり他の画像特徴量の重みが0である複数の重みの組み合わせについての探索結果である。「sift match」はSIFTにより検出された特徴点の画像特徴量の重みが1であり他の画像特徴量の重みが0である複数の重みの組み合わせについての探索結果である。「orb match」はORBにより検出された特徴点の画像特徴量の重みが1であり他の画像特徴量の重みが0である複数の重みの組み合わせについての探索結果である。
このように、複数の重みの異なる組み合わせのそれぞれにより探索された、検索対象となる書籍の代表画像と類似性が高い代表画像を有する1個以上の書籍を表示することにより、ユーザーは自分が意図しない様々な観点からの探索結果を見ることができ、所望の書籍を探索することができる可能性が高まる。また、ユーザーは自分の感覚に合う重みの組み合わせ、言い換えれば自分が重視している重みを知ることができる。これにより、ユーザーは探索の重み付けにフィードバックをかけることができ、言い換えればユーザーは次回の探索で自分が重視している重みの値を大きくすることができ、所望の書籍を探索することができる可能性が更に高まる。
なお、図21のように、探索された書籍の表示欄に「Similar Picture」というボタンの表示があってもよい。この「Similar Picture」のボタンを選択すると、その「Similar Picture」のボタンに対応する書籍の代表画像と類似性が高い代表画像を有する1個以上の書籍の探索及び表示が行われる。
[プログラム及び記録媒体]
書籍探索装置又は探索書籍表示装置における各処理をコンピュータによって実現する場合、書籍探索装置又は探索書籍表示装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、その各処理がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、各処理手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
[変形例]
重みを用いない場合には、重み設定部6は書籍探索装置に設けられなくてもよい。
上記のステップS31からステップS33の処理の例では、複数の画像特徴量のそれぞれで行われた探索結果を統合するときに重みが考慮されたが、重みは画像特徴量の類似度を計算する段階で考慮されてもよい。
具体的には、検索対象となる書籍をxとし、複数の書籍をy(y=1,2,…,Y)として、探索部3は、画像特徴量mに基づく書籍xと書籍yの類似度Sm(x,y)を計算する。Yは、複数の書籍の個数である。類似度Sm(x,y)の計算は、画像特徴量m(m=1,2,…,M)ごとに行われる。このとき、探索部3は、書籍xと書籍yの統合された類似度S(x,y)を、S(x,y)=G(wm, Sm(x,y))とする。G(wm, Sm(x,y))は、wm及びSm(x,y)のそれぞれについての非減少関数である。探索部3は、統合された類似度S(x,y)が大きい上位N個の書籍yを、検索対象となる書籍の代表画像と類似性が高い代表画像を有する1個以上の書籍を複数の書籍として出力する。
上記説明した処理は、記載の順にしたがって時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。