以下、図面を参照して本発明の実施の形態を詳細に説明する。
<本発明の第1の実施の形態に係る画像辞書構成装置の構成>
まず、本発明の第1の実施の形態に係る画像辞書構成装置の構成について説明する。図1に示すように、本発明の第1の実施の形態に係る画像辞書構成装置100は、CPUと、RAMと、後述する画像辞書構成処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この画像辞書構成装置100は、機能的には図1に示すように画像データベース10と、演算部20と、画像辞書50とを備えている。
画像データベース10には、画像自体、あるいは、当該画像ファイルの所在を一意に示すアドレスが格納されているものとする。また、格納されている画像の内、一つ以上の画像に対応した文書データが格納されているものとする。この文書データは、画像全体に関する意味的な内容を表すものである。ここでいう意味的な内容を表す文書データは、画像に撮影された被写体やシーンを特徴づける部品や物体について記述した文書である。その形式は、例えばキーワードの形で与えられていてもよいし、文章として与えられていてもよい。前者の場合、好ましくは、当該画像の撮影された被写体やシーンの全体、又は一部を記述する単語として与えられているものとする。例えば、被写体が『犬』であれば『耳の形』(『尖った耳』、『垂れ耳』等)や『足』(『短く丸い足』、『細長い足』等)等、『海岸』であれば『ビーチ』、『海』、『船』等として与えられる。後者の場合は、その画像の被写体やシーンを記述する文書として与えられていることが好ましい。その具体性は任意であり、例えば、船の渡航する海岸に耳の尖った犬がいるような場合、『海岸に犬がいる』と記述されていてもよいし、『船の渡航する海岸に耳の尖った犬がいる』と記述されていても構わない。
以上の文書データを準備する方法は問わない。例えば、インターネット上のウェブページにある画像を用いる場合には、通常、画像の周囲にその画像と関連のある文書があるが、これを文書データとして用いてもよい。この場合、人手を介さずに文書データを得ることができる利点がある。あるいは、各画像について、人手で文書データを入力しても構わない。この場合、人の正確な判断に則った信頼性の高い文書データを構成できるという利点がある。
また、画像データベース10は、上記各画像、又はアドレス、及び、対応する文書データを関連づけて格納できるものであればよく、いわゆるRDBMS(Relational Database Management System)などで構成されているものとしてもよい。なお、画像データベース10は、画像辞書構成装置100の内部にあっても外部にあっても構わず、通信手段は任意の公知ものを用いることができる。さらに、画像辞書構成装置100が一つ以上の画像を入力として受信できる限り、必ずしもデータベースでなくとも構わない。本実施形態においては、画像データベース10が外部にあるものとして、通信手段は、インターネット、TCP/IPにより通信するよう接続されているものとする。
また、画像辞書構成装置100が備える各部及び画像データベース10は、演算処理装置、記憶装置等を備えたコンピュータやサーバ等により構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは画像辞書構成装置100が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。もちろん、その他いかなる構成要素についても、単一のコンピュータやサーバによって実現しなければならないものではなく、ネットワークによって接続された複数のコンピュータに分散して実現してもよい。
演算部20は、部分領域分割部30と、特徴量抽出部32と、分類部34と、候補領域決定部36と、識別器学習部38とを含んで構成されている。
部分領域分割部30は、画像データベース10から入力された一つ以上の画像を読み込み、各画像を一つ以上の部分領域に分割、選定してこれらを特徴量抽出部32に出力する。
以下、部分領域分割部30における部分領域抽出処理について詳述する。本処理は、画像データベース10に格納された画像全てに対して実施されるが、全ての画像に対して同じ処理が実行されるので、ここでは1枚の画像に対する処理のみについて説明する。
部分領域抽出処理では、画像全体の中から、その一部領域だけを切り出して抽出する。具体的には、部分領域数と部分領域サイズを指定し、一定間隔で部分領域を抽出していく。
例えば、元の画像サイズが縦360ピクセル×横240ピクセルであるとし、部分領域数を16×16=256個、部分領域サイズを32ピクセル×32ピクセルとした場合の一例を説明する。この場合、縦は(360−32)/16=20ピクセル(少数点以下切りすて)シフトごと、横は(240−32)/16=13ピクセルシフトごとに一つ、32ピクセル×32ピクセルの部分領域を抽出する。
部分領域数及び部分領域サイズに対しては、任意の正の整数を設定すればよい。部分領域は相互に重なりがあっても構わず、また、いくつかの設定を組み合わせて用いるものとしてもよい。
以上の処理を画像全体に対して行うことで、部分領域の集合を得ることができる。こうして得た部分領域集合を特徴量抽出部32に出力し、処理を終了する。
特徴量抽出部32は、部分領域分割部30によって分割された画像の部分領域からなる部分領域の集合に含まれる部分領域の各々について、解析をし、予め定めた特徴量を抽出する。当該特徴量は、分類部34に出力される。なお、本実施の形態では、特徴量として画像特徴ベクトルを抽出する。
以下、特徴量抽出部32における特徴量の抽出について説明する。本実施の形態では以下に挙げる全ての特徴量について抽出をするが、どのような特徴量を抽出するかは、本発明の実施の形態の要件として重要ではなく、一般に知られた公知の特徴抽出処理を用いてよい。具体的には、画像から抽出された次元を持つ数値データ(スカラー又はベクトル)であれば、あらゆる特徴量及びその組み合わせに対して有効であり、例えば、明るさ特徴、色特徴、テクスチャ特徴、景観特徴、形状特徴などを抽出すればよい。
明るさ特徴は、部分領域内のピクセルに対して、HSV色空間におけるV値のヒストグラムとして求めることができる。
色特徴は、L*a*b*色空間における各軸(L*、a*、b*)の値のヒストグラムとして求めることができる。
テクスチャ特徴としては、部分領域内から一定間隔で抽出したキーポイントごとに局所特徴量を抽出すればよい。局所特徴としては、例えば下記の参考文献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
これらによって抽出される局所特徴は、例えばキーポイント1点あたり128次元の実数値ベクトルとなるため、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に記載のHistogram of Oriented Gradient(HOG)特徴量やエッジヒストグラムを用いることができる。
[参考文献7]N. Dalal and B. Triggs, “Histograms of Oriented Gradients for Human Detection", IEEE Conference on Computer Vision and Pattern Recognition, pp.886-893, 2005
なお、これらの特徴量は、一つあるいは複数を利用してもよいし、その他の公知の特徴量を用いるものとしてもよい。
特徴量抽出部32は、上記処理によって得られた部分領域ごとの各ブロックの特徴量を、分類部34に出力し、処理を終了する。
分類部34は、特徴量抽出部32により抽出した部分領域の各々の画像特徴ベクトルに関する類似度に基づいて、部分領域集合の部分領域の各々を一つ以上のクラスタのうちいずれかのクラスタに分類し、分類結果を候補領域決定部36に出力する。
分類部34では、特徴量抽出部32の特徴量の抽出において、部分領域の各々は同一の画像特徴ベクトルとして表現されているから、分類は任意のクラスタリング手法を用いることができる。例えば、K−means法などを用いることで、任意のクラスタ数に分類すればよい。クラスタ数は、例えば部分領域の総数に対してその1/4などと設定すればよい。
ここで、場合によっては一部クラスタに非常に多数の部分領域が属する場合や、ごく少数の部分領域しか属さないような場合があり得る。こういったクラスタに属する部分領域は、極端に一般的な部分領域であるか、極端に稀な部分領域であることが多く、画像認識や検索等に対して効果が低い場合がある。したがって、クラスタ内の部分領域数が一定以上(例えば1000以上)となるようなクラスタ及び一定以下(例えば3以下)となるようなクラスタを、削除しても構わない。
そして、分類部34は、得られた分類結果(部分領域の各々と、部分領域の各々が属するクラスタ)を候補領域決定部36に出力し、処理を終了する。
候補領域決定部36は、分類部34により出力された分類結果を受け取り、クラスタの各々について、分類部34によって当該クラスタに分類された部分領域の各々に対する、当該部分領域の画像特徴ベクトルと、画像データベース10に格納された、当該部分領域を含む画像に対応した文書データとに基づいて、当該クラスタを代表する部分領域である候補領域を決定する。候補領域は、識別器学習部38の識別器の学習において正例として用いられる。
候補領域決定部36の処理は、本発明の実施の形態の目的である意味的な内容を保持した画像辞書を構成する上で、要となる処理である。具体的には、下記二つの要件を満たす部分領域を格納した画像辞書を構成することを目的とする。
要件1は、画像データベース10中にある画像内に頻出するような代表的な見た目を持つ部分領域であることである。要件2は、画像データベース10中にある画像内に表れる被写体及びシーンの意味的な内容を捉えた部分領域であることである。
このような部分領域は、画像データベース中に含まれる被写体やシーンを効率的に記述できるだけでなく(要件1)、同時にその意味的な内容を捉えることができるため(要件2)、特に高精度な画像認識、画像検索などを実現する画像辞書として好適である。
以下、候補領域決定部36における第1〜第4の処理について詳細に説明する。なお、候補領域決定部36の処理では、各クラスタについて、全く同一の処理を実施するため、ここでは単一のクラスタの中での処理のみを記載する。
候補領域決定部36は、まず、第1の処理として、部分領域と文書データとの対応を取る。先に述べたように、画像データベース10には、画像(又はその所在を一意に示すアドレス)と、当該画像全体に関する意味的な内容を表す文書データが関連づけて格納されている。従って、部分領域がどの画像から抽出されたものであるかを見ることによって、その部分領域と、それが抽出された画像に関連づけられた文書データとを対応づけることができる。この第1の処理によって、全て又は一部の部分領域に、文書データが対応づけられることとなる。
候補領域決定部36は、続いて、第2の処理として、文書データから、これを数値化した文書ベクトルを、第1の処理で文書データと対応付けられた部分領域ごとに構成する。これはいかなる公知の技術を用いても構わず、単純には単語の正規頻度によってベクトルを構成するBag−of−wordsヒストグラムを適用することができる。あるいは、単語の生起頻度で重みを付けたtf−idf法などを適用しても構わない。このような方法は、画像データベース10に登録された文書データが単語であるか、文章であるか等に依らず、一様に同一の文書ベクトルに変換し、表現することができる点で利便性が高い。
候補領域決定部36は、続いて、第3及び第4の処理を行って、部分領域の画像特徴ベクトルと、これに対応づけられた文書データの文書ベクトルから、候補領域を発見する。
第3及び第4の処理の目的は、各クラスタに属する部分領域及びこれに対応する文書ベクトルの中から、より少数の候補領域を絞り込むことである。より厳密には、あるクラスタ内にM個の部分領域の画像特徴ベクトル、及び対応する文書ベクトルが存在するとしたとき、これらからT<M個の候補領域を選び、決定する。
候補領域決定部36の第3及び第4の処理の基本的な方針は、処理対象のクラスタに属する部分領域のうち、クラスタを代表する度合いを代表度スコアとして算出し、その代表度スコアの上位T個を候補領域として選ぶことである。このような代表度スコアを求める方法はさまざまある。例えば、K−means法などでは、クラスタの中心、すなわち、クラスタに属する他の部分領域との距離の総和が最も小さい点を代表とする。この観点では、代表度スコアはその他のデータとの距離の近さで与えられるといえる。同様の考えに基づき、本実施の形態においても、他の部分領域との距離の近さによって定めるものと考え、クラスタリングを用いてこれを決定する。以下、この第3の処理におけるクラスタリングについて詳述する。
候補領域決定部36の第3の処理では、処理対象のクラスタについて、当該クラスタに属する部分領域集合について、部分領域の画像特徴ベクトル及び文書ベクトルのそれぞれに対してのクラスタリングを個別に適用し、代表度スコアを求める。なお、本処理は、画像特徴ベクトルの場合も、文書ベクトルの場合も、いずれも同一の処理を適用するため、画像特徴ベクトルの場合についてのみ述べる。
用いるクラスタリング法はいかなる公知のものを用いてよい。ただし、クラスタ内にある部分領域の特徴量のばらつきには差があることが多いこと、及び、画像特徴ベクトル(又は文書ベクトル)の種類によって、それぞれ適当な距離(ユークリッド距離、コサイン類似度、又はヒストグラムインターセクション等)は異なることに鑑み、K−means法などのように、事前にクラスタ数を指定する必要があったり、距離が特定の種類に限定されるものよりも、好ましくは、Affinity Propagationのようにクラスタ数を自動的に推定でき、かつ、任意の距離に基づいてクラスタリングできるものである方がよい。
候補領域決定部36の第3の処理におけるクラスタリングの結果、K個の画像特徴ベクトルのクラスタ中心が発見できる。候補領域決定部36は、これらのクラスタ中心を基準に、代表度スコアを求める。
候補領域決定部36の第3の処理では、例えば、クラスタ中心と当該クラスタに属する部分領域との平均(あるいは、中央値など、任意の統計量を用いてもよい)距離が最も小さいものを代表クラスタ中心として代表度スコア1.0を与え、以下、この代表クラスタ中心からの距離が近いものから順にスコアが高くなるように代表度スコアを決定すればよい。この際の代表度スコアの計算式は、代表クラスタ中心からの距離をdistとしたとき、例えば
などと求めることができる。
あるいは、K個のクラスタ中心の内、最も近いクラスタ中心からの距離をdistとして求め、同様に上記(1)式を用いて代表度スコアを求めるものとしてもよい。
ここでは画像特徴ベクトルによる代表度スコアを求めたが、同様に文書ベクトルによる代表度スコアも求める。仮に、部分領域の中に、対応付けられた文書ベクトルが存在しないものがある場合、当該文書ベクトルによる代表度スコアは、予め定めた値として定めるとしてよい。例えば一様に0とする、あるいは、得られている文書ベクトルの平均値又は中央値とする等とすればよい。
候補領域決定部36は、次に、第4の処理において、処理対象のクラスタについて先に求めた画像特徴ベクトル及び文書ベクトルによる代表度スコアに基づいて、候補領域を選定する。最終的には、画像特徴ベクトル及び文書ベクトルそれぞれから独立に求めた代表度スコアの双方に基づいて、最終的な代表度スコアを求め、これに基づいて候補領域を選択する。
最も単純には、画像特徴ベクトル及び文書ベクトルの各代表度スコアの和が大きい順に部分領域をランキングし、これが最も高いものからT個を候補領域として選定すればよい。なお、画像特徴ベクトル及び文書ベクトルの各代表度スコアの和を用いるのではなく、画像特徴ベクトル及び文書ベクトルの代表度スコアの内、大きい方、又は小さい方のいずれかを当該部分領域の代表度スコアとして採用しても構わない。
あるいは、画像特徴ベクトル及び文書ベクトルそれぞれの代表度スコアの大きい順に、それぞれをランキングして、2つの異なるランキングリストを作成したのち、これらの2つのランキングリストを一つのランキングリストに統合することによって実施してもよい。2つのランキングを統合する際には、例えば、ボルダ得点方式を用いることができる。この場合、各ランキングリスト1位〜M位にそれぞれ順にM点〜1点を与え、その合算値が大きい順にT個を候補領域として選択すればよい。このような方法は、代表度スコアにノイズが含まれているような場合でも、その順位のみによって頑健に有効な候補領域を選定することができるため、頑健で高精度である。
そして、候補領域決定部36は、第4の処理によって選定されたクラスタごとの候補領域を識別器学習部38に出力し、処理を終了する。
識別器学習部38は、第1の処理として、クラスタの各々について、候補領域決定部36により選択された候補領域の画像特徴ベクトルを正例とし、当該クラスタに分類されなかった任意の部分領域の集合に含まれる部分領域の画像特徴ベクトルを負例として、識別器を学習し、これを画像辞書50として出力する。
一般に、正例及び負例が与えられた下で識別器を学習する手法は様々な公知のものが存在する。任意のものを用いてよいが、本実施の形態ではSVMや、[参考文献8]記載のSupport vector regression(SVR)を用いることができる。
[参考文献8]A.J. Smola, B. Scholkopf “A Tutorial on Support Vector Regression", Statistics and Computing, Vol. 14, Issue 3, pp.199-222, 2004
いずれの場合にも、あるクラスタに対して、その候補領域を正例、及び、当該クラスタに属さない任意の部分領域を負例として、ある部分領域がどの程度当該クラスタに帰属するかを表す確度を求めるための識別器を得ることができる。そして、クラスタごとに得られた識別器を画像辞書50として出力し、処理を終了すればよい。
なお、識別器学習部38は、第2の処理として、一度学習した識別器を、予め用意した新たな画像データセットに適用して、当該画像データセットに含まれる部分領域がどのクラスタに属するかを判定し、各クラスタに分類した後、その分類結果を候補領域決定部36に出力しても構わない。その後、候補領域決定部36は、各クラスタに分類された新たな画像データセットについて、各クラスタの候補領域を、先に述べた候補領域決定部36の処理によって決定した後、再度、識別器学習部38に出力する。このようにすることによって、新たな画像データセットが追加された際には、その画像データセットを用いて繰り返し候補領域の決定と識別器の学習を所定の条件が満たされるまで実行し、得られた識別器を画像辞書50として出力することで、画像データセットの偏りの影響を低減し、特定の意味的な内容を持つ部分領域に対して反応する(高い正の値を出力する)ような識別器を得ることができる。
なお、本実施の形態では識別器学習部38は、第1及び第2の処理を実行するが、第1の処理のみを実行して取得した識別器を画像辞書50として出力するようにしてもよい。
以上が、画像辞書構成装置の各処理部の処理詳細の一例である。
<本発明の第1の実施の形態に係る画像表現装置の構成>
次に、本発明の第1の実施の形態に係る画像表現装置の構成について説明する。図2に示すように、本発明の第1の実施の形態に係る画像表現装置200は、CPUと、RAMと、後述する画像表現処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この画像表現装置200は、機能的には図2に示すように画像データベース210と、演算部220とを備えている。
画像データベース210には、少なくとも画像自体、あるいは、当該画像ファイルの所在を一意に示すアドレスが格納されているものとする。その他の構成は、画像辞書構成装置100の画像データベース10と同様である。
演算部220は、部分領域分割部230と、特徴量抽出部232と、表現部234と、画像辞書236とを含んで構成されている。
部分領域分割部230は、画像データベース210から入力された画像を読み込み、各画像を部分領域に分割、選定してこれを特徴量抽出部232に出力する。その他の構成は、画像辞書構成装置100の部分領域分割部30と同様である。
特徴量抽出部232は、部分領域分割部230によって分割された画像の部分領域からなる部分領域の集合に含まれる部分領域の各々について、解析をし、予め定めた特徴量を抽出する。当該特徴量は、表現部234に出力される。その他の構成は、画像辞書構成装置100の特徴量抽出部32と同様である。
表現部234は、特徴量抽出部232によって抽出された部分領域の各々の特徴量と、画像辞書構成装置100によって出力された画像辞書236とに基づいて、部分領域の各々について、当該部分領域がクラスタの各々に帰属する確度を算出し、算出された確度に基づいて、当該部分領域がクラスタのいずれかに属するか、又はクラスタのいずれにも属さないかを判定する。表現部234は、判定の結果に基づいて、クラスタの各々について当該クラスタに属すると判定された頻度を表すヒストグラムを、入力された画像の画像表現として出力する。
以下、表現部234の処理について詳細に説明する。ここで、入力された画像に対しては、部分領域、及び各部分領域に対する特徴量が抽出されている。この元で、画像辞書構成装置100により予め学習した画像辞書236を用い、この画像に対する画像表現を得る。
まず、表現部234は、画像辞書構成装置100における分類部34と同様の処理によって、それぞれの部分領域がいずれかの「クラスタに属する」、又は、「いずれのクラスタにも属さない」のいずれに相当するかを判定する。
最も単純には、クラスタの各々について、各クラスタKi(i=1、・・・、V)に属すると判定された頻度を求め、V次元のヒストグラムを構成することでこれを画像表現とすることができる。
あるいは、[参考文献9]記載のSpatial Pyramid Matching(又はSpatial Pooling)と呼ばれる処理によって、頻度を計算してもよい。
[参考文献9]S. Lazebnik, C. Schmid, J. Ponce, “Beyond Bags of Features: Spatial Pyramid Matching for Recognizing Natural Scene Categories” In Proc. IEEE Conference on Computer Vision and Pattern Recognition. Pp.2169-2178, 2006.
これ以外にも、一つ以上のクラスタと、それに属する要素の集合から求めることのできる任意の統計量によって画像表現を得ることができる。
そして、表現部234は、クラスタの各々について当該クラスタに属すると判定された頻度を表すヒストグラムを、画像表現として出力し、処理を終了する。
<本発明の第1の実施の形態に係る画像辞書構成装置の作用>
次に、本発明の第1の実施の形態に係る画像辞書構成装置100の作用について説明する。画像データベース10から一つ以上の画像及び画像の各々に対応した文書データの入力を受け付けると、画像辞書構成装置100は、図3に示す画像辞書構成処理ルーチンを実行する。
まず、ステップS100では、画像データベース10から受け付けた一つ以上の画像及び画像の各々に対応した文書データを読み込む。
ステップS102では、ステップS100で読み込まれた画像の各々を、一つ以上の部分領域の各々に分割する。
ステップS104では、ステップS102で分割された部分領域からなる部分領域集合の部分領域の各々について解析をし、部分領域ごとに特徴量として画像特徴ベクトルを抽出する。
ステップS106では、ステップS102で分割された全ての部分領域からなる部分領域集合を、ステップS104で抽出した画像特徴ベクトルに基づいて、一つ以上のクラスタのうちのいずれかに分類する。
ステップS108では、ステップS106で得られたクラスタ集合から処理対象となるクラスタを選択する。
ステップS110では、ステップS108で選択したクラスタについて、ステップS106で当該クラスタに分類された部分領域の集合に含まれる部分領域と、ステップS100で読み込んだ、当該部分領域を含む画像に対応する文書データとを対応づける。
ステップS112では、ステップS110で部分領域の各々に対応付けられた文書データに基づいて、文書ベクトルを部分領域ごとに構成する。
ステップS114では、ステップS108で選択したクラスタについて、ステップS106で当該クラスタに分類された部分領域の画像特徴ベクトルに基づいて、画像特徴ベクトルをクラスタリングすることによりクラスタ中心を求め、クラスタ中心を基準に、部分領域の各々の代表度スコアを求める。また、当該クラスタに分類された部分領域ごとにステップS112で構成された文書ベクトルに基づいて、文書ベクトルをクラスタリングすることによりクラスタ中心を求め、クラスタ中心を基準に、部分領域の各々の代表度スコアを求める。そして、当該クラスタに分類された部分領域ごとに、双方で求められた代表度スコアに基づいて、当該部分領域の代表度スコアを求める。
ステップS116では、ステップS108で選択したクラスタについて、ステップS114で求めた部分領域の各々の代表度スコアに基づいて、当該クラスタを代表する部分領域である候補領域を決定する。
ステップS118では、ステップS108で選択したクラスタについて、ステップS116で決定した候補領域を正例、当該クラスタに属さない部分領域を負例として用い、識別器を学習する。
ステップS120では、全てのクラスタについて、ステップS108〜ステップS118の処理を終了したかを判定し、終了していなければ、ステップS108へ戻ってクラスタを選択して処理を繰り返し、終了していれば、ステップS122へ移行する。
ステップS122では、ステップS118において全てのクラスタについて学習された識別器を画像辞書として出力し、処理を終了する。
<本発明の第1の実施の形態に係る画像表現装置の作用>
次に、本発明の第1の実施の形態に係る画像表現装置200の作用について説明する。画像データベース210から画像の入力を受け付けると、画像表現装置200は、図4に示す画像表現処理ルーチンを実行する。
まず、ステップS200では、画像データベース210から受け付けた画像を読み込む。
ステップS202では、ステップS200で読み込まれた画像を、一つ以上の部分領域の各々に分割する。
ステップS204では、ステップS202で分割された部分領域からなる部分領域集合の部分領域の各々について特徴量を抽出する。
ステップS206では、ステップS204で抽出された部分領域の各々の特徴量と、上記の画像辞書構成処理ルーチンによって出力された画像辞書236とに基づいて、部分領域の各々について、当該部分領域がクラスタの各々に帰属する確度を算出する。
ステップS208では、ステップS206で算出された部分領域の各々がクラスタの各々に帰属する確度に基づいて、それぞれの部分領域がクラスタのいずれかに属するか、又はクラスタのいずれにも属さないかを判定する。
ステップS210では、ステップS208の判定の結果に基づいて、クラスタの各々について当該クラスタに属すると判定された頻度を表すヒストグラムを構成する。
ステップS212では、ステップS212で構成されたヒストグラムを画像表現として出力し、処理を終了する。
以上説明したように、本発明の第1の実施の形態に係る画像辞書構成装置によれば、入力された画像を部分領域に分割し、部分領域の各々をクラスタに分類し、クラスタの各々について、部分領域の画像特徴ベクトルと、部分領域を含む画像全体に対応した文書データとに基づいて、クラスタの代表となる部分領域である候補領域を決定し、候補領域を正例として用いて識別器を学習することにより、画像中の意味のある特徴的な領域を発見することが可能な画像表現を得るための画像辞書を構成することができる。
また、本発明の第1の実施の形態に係る画像表現装置によれば、入力された画像を部分領域に分割し、部分領域の各々の特徴量と、画像辞書とに基づいて、部分領域の各々について、クラスタのいずれかに属するか、クラスタのいずれにも属さないかを判定し、判定の結果に基づいて、クラスタの各々についてクラスタに属すると判定された頻度を表すヒストグラムを、入力された画像の画像表現として出力することにより、画像中の意味のある特徴的な領域を発見することが可能な画像表現を求めることができる。
<本発明の第2の実施の形態に係る画像辞書構成装置の構成>
次に、本発明の第2の実施の形態に係る画像辞書構成装置の構成について説明する。なお、第1の実施の形態の画像辞書構成装置100と同様の構成となる部分については、同一符号を付して説明を省略する。
上記図1に示すように、本発明の第2の実施の形態に係る画像辞書構成装置100は、CPUと、RAMと、後述する画像辞書構成処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この画像辞書構成装置100は、機能的には図1に示すように画像データベース10と、演算部20と、画像辞書50とを備えている。
第2の実施の形態に係る画像データベース10には、画像自体、あるいは、当該画像ファイルの所在を一意に示すアドレスが格納されているものとする。また、格納されている画像の内、一つ以上の画像に対応した文書データが格納されているものとする。この文書データは、画像の一部領域に関する意味的な内容を表すものである。
また、文書データに記載されている画像の一部領域の内容は、その画像のどこの領域について記述したものであるのか、その位置情報と共に記述されているものとする。例えば、画像の一部の部分領域において長方形で囲まれる区間については、縦横ピクセル位置、及び、幅と高さの4点の位置が位置情報として与えられていれば十分である。この場合、画像のどこにどんな意味的な内容が含まれているかについて特定性が高まるため、より精密に意味的な内容を表す画像辞書、及び画像表現を得ることができる。
第2の実施の形態に係る演算部20は、部分領域分割部30と、特徴量抽出部32と、分類部34と、候補領域決定部36と、識別器学習部38とを含んで構成されている。
第2の実施の形態に係る候補領域決定部36は、分類部34により出力された分類結果を受け取り、クラスタの各々について、分類部34によって当該クラスタに分類された部分領域の各々に対する、当該部分領域の特徴量と、画像データベース10に格納された、当該部分領域を含む画像の一部領域に対応した文書データとに基づいて、クラスタを代表する部分領域である候補領域を決定する。
第2の実施の形態に係る候補領域決定部36は、まず、第1の処理として、部分領域と文書データの対応を取る。先に述べたように、画像データベース10には、画像(又はその所在を一意に示すアドレス)と、当該画像の一部領域に関する意味的な内容を表す文書データが関連づけて格納されている。従って、部分領域がどの画像から抽出されたものであるかを見ることによって、その部分領域と、部分領域が抽出された画像に関連づけられた文書データとを対応づけることができる。第2の実施の形態では、文書データが画像の一部領域について記述したものであり、その領域の位置情報も併せて格納されているため、これに基づいて直接部分領域と文書データの対応づけを行う。例えば、領域の重なり割合を用いて関連づけることができる。つまり、重なる領域の割合(文書データの割り当てられた領域)と(部分領域)の積により得られる領域のサイズに対する、その和により得られる領域のサイズの比率が閾値以上(例えば0.5)の割合となった場合に、当該部分領域にその文書データを対応づければよい。例えば、ある文書データが画像位置(横36ピクセル、縦56ピクセル)に、サイズ(幅18ピクセル、高さ24ピクセル)で割り当てられているとする。また、例えば、ある画像領域が(横40ピクセル、縦60ピクセル)の位置に(幅20ピクセル、高さ20ピクセル)で取られたとしよう。このとき、重なり割合は、(36+18-40)×20/(18×24+20×20-(36+18-40)×20)= 0.51である。仮に、閾値を0.5と設定していたならば、この部分領域には当該文書データを対応づけることとなる。なお、第2の実施の形態に係る候補領域決定部36における第1の処理以降の第2〜第4の処理は、第1の実施の形態に係る候補領域決定部36における第2〜第4の処理と同様である。
なお、第2の実施の形態に係る画像辞書構成装置の他の構成及び作用は、第1の実施の形態の画像辞書構成装置100と同様であるため詳細な説明を省略する。
<本発明の第2の実施の形態に係る画像表現装置の構成>
次に、本発明の第2の実施の形態に係る画像表現装置の構成について説明する。なお、第1の実施の形態の画像表現装置200と同様の構成となる部分については、同一符号を付して説明を省略する。
上記図2に示すように、本発明の第2の実施の形態に係る画像表現装置200は、CPUと、RAMと、後述する画像表現処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この画像表現装置200は、機能的には図2に示すように画像データベース210と、演算部220とを備えている。
なお、第2の実施の形態に係る画像表現装置の他の構成及び作用は、第1の実施の形態の画像表現装置200と同様であるため詳細な説明を省略する。
以上説明したように、本発明の第2の実施の形態に係る画像辞書構成装置によれば、入力された画像を部分領域に分割し、部分領域の各々をクラスタに分類し、クラスタの各々について、部分領域の画像特徴ベクトルと、部分領域を含む画像の一部領域に対応した文書データとに基づいて、クラスタの代表となる部分領域である候補領域を決定し、候補領域を正例として用いて識別器を学習することにより、画像中の意味のある特徴的な領域を発見することが可能な画像表現を得るための画像辞書を構成することができる。
また、本発明の第2の実施の形態に係る画像表現装置によれば、入力された画像を部分領域に分割し、部分領域の各々の特徴量と、画像辞書とに基づいて、部分領域の各々について、クラスタのいずれかに属するか、クラスタのいずれにも属さないかを判定し、判定の結果に基づいて、クラスタの各々についてクラスタに属すると判定された頻度を表すヒストグラムを、入力された画像の画像表現として出力することにより、画像中の意味のある特徴的な領域を発見することが可能な画像表現を求めることができる。
また、上述した実施の形態における画像辞書構成装置によれば、画像特徴のみならず、これに付随する意味的な内容を指し示す文書データを参考情報として用いることで、被写体やシーンの意味的な内容を表す部分領域を発見し、これを基に画像辞書を構成することができる。
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、上述した第1の実施の形態では、画像全体に対応する文書データを、第2の実施の形態では、画像の一部領域に対応する文書データをそれぞれ用いて、部分領域と文書データとを対応付け、文書ベクトルを構成したが、これに限定されるものではなく、画像の全体及び一部領域に対応する文書データを用いてもよい。ここで、部分領域と対応付けられる文書データとして、画像全体に対応する文書データ及び一部領域に対応する文書データの両方が存在する場合には、一部領域に対応する文書データを優先して文書ベクトルを構成してもよいし、画像全体に対応する文書データ及び一部領域に対応する文書データを合わせた文書データについて文書ベクトルを構成するようにしてもよい。