説明

構図データ生成装置及び構図データ生成プログラム

【課題】画像の構図に基づいて効率的に高精度な構図データ生成を実現する。
【解決手段】入力画像に対する構図データを生成する構図データ生成装置であって、前記入力画像を所定のブロック数に分割し、分割された全ブロックを、各ブロックの画像特徴に基づいて複数のクラスタに分類し、分類された各クラスタに含まれる各ブロックに対して、各クラスタ単位に同一のフラグを付与するクラスタ分類手段と、前記クラスタ分類手段により分類された各クラスタの画像特徴を平均した中心特徴と、前記各ブロックの画像特徴との類似度を算出する類似度算出手段と、前記クラスタ分類手段により得られたフラグと、前記類似度算出手段により得られた類似度とに基づいて、前記各ブロックに実数値を割り当て、前記構図データを生成する構図データ生成手段とを有することにより、上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、構図データ生成装置及び構図データ生成プログラムに係り、特に画像検索等に用いられる画像の構図データを効率的かつ高精度に生成するための構図データ生成装置及び構図データ生成プログラムに関する。
【背景技術】
【0002】
従来では、マルチメディア技術の発展に伴い、画像処理に対する要求も高まっている。例えば、複数の画像から所定の画像に類似する画像を検索する場合には、大量の画像にアクセスし、類似性を判断する処理が必要になる。このため、画像検索技術においては、正確性及び高速性が重要なポイントになっている。
【0003】
このような画像検索技術としては、様々な装置及び方法が提案されている。例えば、従来では、既に格納されている複数の画像から、入力画像に類似する画像を概念的に検索する手法が提案されている(例えば、特許文献1参照)。特許文献1に示されている装置は、ベクトル作成辞書を用いて、検索対象の複数の画像から検索対象図面ベクトル群を作成すると共に、入力画像から入力図面ベクトルを作成し、検索対象図面ベクトル群と入力図面ベクトルとの間のベクトル演算値を計算し、ベクトル演算値に基づいて検索対象の複数の画像を検索し、入力画像に類似する画像を抽出する。
【0004】
また、従来では、入力画像の自己相関波形を抽出し、その自己相関波形の傾向が変化する接合点を抽出し、接合点によって分割される自己相関波形の各区分領域を関数で近似し、関数の種類を示す符号、及び区分領域の形状を示すパラメータを用いて、入力画像の特徴情報を生成し、入力画像の特徴情報、及び検索対象の画像の特徴情報に基づいて類似度を計算し、類似度に従って類似画像を抽出する装置が提案されている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2002−245087号公報
【特許文献2】特開2006−185364号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した特許文献1及び2に示す画像検索装置では、検索対象の画像と入力画像との間で、ベクトル演算値等の類似度を計算し、検索対象の画像毎の計算結果に基づいて、複数の画像から入力画像に類似する画像を抽出する。
【0007】
しかしながら、検索対象の画像は、大容量であるのが通常である。このため、上述した特許文献1及び2の画像検索装置では、大容量の画像毎に、ベクトル演算値等の類似度の計算を行う必要が生じる。そのため、従来の画像検索装置では、類似画像を検索するのに時間がかかり、計算コストが膨大になるという問題があった。
【0008】
したがって、例えば、画像検索装置等に利用される検索対象である複数の画像から、入力画像に類似する画像を検索する場合には、複数の画像に対して予め所定の条件で分類しておき、入力画像と同一又は類似(関連)する1又は複数の分類に属する画像のみを用いて検索するが好ましい。これにより、入力画像に類似する画像を検索する場合には、計算コストを削減して高速検索を実現することができるからである。
【0009】
本発明は、上述した問題点に鑑みなされたものであり、画像検索等に用いられる画像の構図データを効率的かつ高精度に生成するための構図データ生成装置及び構図データ生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本件発明は、以下の特徴を有する課題を解決するための手段を採用している。
【0011】
本発明は、入力画像に対する構図データを生成する構図データ生成装置であって、前記入力画像を所定のブロック数に分割し、分割された全ブロックを、各ブロックの画像特徴に基づいて複数のクラスタに分類し、分類された各クラスタに含まれる各ブロックに対して、各クラスタ単位に同一のフラグを付与するクラスタ分類手段と、前記クラスタ分類手段により分類された各クラスタの画像特徴を平均した中心特徴と、前記各ブロックの画像特徴との類似度を算出する類似度算出手段と、前記クラスタ分類手段により得られたフラグと、前記類似度算出手段により得られた類似度とに基づいて、前記各ブロックに実数値を割り当て、前記構図データを生成する構図データ生成手段とを有することを特徴とする。
【0012】
また本発明は、コンピュータを、上述した構図データ生成装置として機能させることを特徴とする構図データ生成プログラムである。
【発明の効果】
【0013】
本発明によれば、画像検索等に用いられる画像の構図データを効率的かつ高精度に生成することができる。
【図面の簡単な説明】
【0014】
【図1】本実施形態における構図データ生成装置の機能構成の一例を示す図である。
【図2】分類したクラスタ例を示す図である。
【図3】本実施形態における実数値の設定方法を示す図である。
【図4】構図データクラスタリングの一例を示す図である。
【図5】構図グループと、主要構図データとの関係を説明するための図である。
【図6】構図サブグループの一例を示す図である。
【図7】本実施形態における検索例を示す図である。
【図8】本実施形態における構図データ生成処理の一例を示すフローチャート(その1)である。
【図9】本実施形態における構図データ生成処理の一例を示すフローチャート(その2)である。
【図10】本実施形態における検索処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0015】
<本発明について>
本発明は、例えば予め取得した大量の画像データに対し、画像データ毎に所定のブロック領域単位で表現された構図データを抽出する。
【0016】
具体的には、本発明は、例えば1枚の画像データを所定のブロック数に分割し、画像上の全ブロックを、各ブロックの画像特徴に基づき複数のクラスタに分類し、各クラスタ単位の画像特徴と各ブロックの画像特徴との類似度等に基づいて、各ブロックに実数値を割り当て、画像の構図データを生成する。
【0017】
なお、本発明は、上述した構図データ集合をクラスタリングして構図グループを生成し、生成された構図グループから主要構図(構図テンプレート)を生成する機能を有していてもよい。更に、本発明は、構図テンプレートや構図グループを用いて検索対象画像に対する類似画像を検索する機能を有していてもよい。
【0018】
以下に、上述したような特徴を有する本発明における構図データ生成装置及び構図データ生成プログラムを好適に実施した形態について、図面を用いて詳細に説明する。
【0019】
<構図データ生成装置:機能構成例>
図1は、本実施形態における構図データ生成装置の機能構成の一例を示す図である。図1に示す構図データ生成装置10は、入力手段11と、出力手段12と、蓄積手段13と、クラスタ分類手段14と、類似度算出手段15と、構図データ生成手段16と、構図データクラスタリング手段17と、主要構図データ生成手段18と、検索手段19と、送受信手段20と、制御手段21とを有するよう構成されている。
【0020】
入力手段11は、例えばユーザ等からのクラスタ分類指示、類似度算出指示、構図データ生成指示、構図データクラスタリング指示、主要構図データ生成指示、検索指示、送受信指示等の構図データ生成における各入力を受け付ける。なお、入力手段11は、例えばキーボードや、マウス等のポインティングデバイス、マイク等の音声入力機能等を有する。
【0021】
出力手段12は、入力手段11により入力された指示内容や、各指示内容に基づいて生成された制御データや構図データ生成結果や検索結果、各種処理経過等の内容を表示したり、音声等を出力する。なお、出力手段12は、ディスプレイ等の画面表示機能やスピーカ等の音声出力機能等を有する。
【0022】
蓄積手段13は、本実施形態における構図データ生成を行うための基となる画像データや、クラスタリングされた画像データ、類似度を算出するための数式等の各種パラメータ、構図データ、構図データをクラスタリングするための各種パラメータ、構図グループ、主要構図データ(構図テンプレート)、検索対象画像、検索結果等、本実施形態における構図データ生成において必要な各種情報等を蓄積する。
【0023】
なお、蓄積手段13は、送受信手段20を介して通信ネットワーク等に接続される外部装置等から取得される本実施形態で使用可能な画像データや構図データ、各種パラメータ等を蓄積する。また、蓄積手段33は、本実施形態における構図データ生成処理等において、上述した各種データを読み出したり、書き込んだりすることができる。
【0024】
クラスタ分類手段14は、構図データ生成を行う基となる複数の画像を、所定の数又は大きさのブロック毎に分類し、その分類した領域の画像特徴から1又は複数のクラスタに分類する。また、クラスタ分類手段14は、分類された画像に対し、同一のクラスタに属するブロック領域に同一のフラグ(例えば、−1,0,1等)を付与する。
【0025】
なお、フラグは、例えば整数であることが好ましいが、自然数や小数点を含む数値等であってもよい。更にフラグは、例えば、各ブロックに含まれる各画素のRGB値に基づいて設定されてもよいが、本発明においてはこれに限定されるものではない。クラスタ分類手段14における具体的な分類手法については、後述する。
【0026】
類似度算出手段15は、各クラスタにおいて、所属するブロック領域の画像特徴を平均し、クラスタの中心特徴を求める。また、類似度算出手段15は、求めた中心特徴と、クラスタの分類結果とに基づいて、予め設定された算出手法等を用いて類似度を算出する。なお、類似度算出手段15における具体的な類似度算出手法については、後述する。
【0027】
構図データ生成手段16は、各ブロックに付与されているフラグと、類似度算出手段15において算出された類似度とに基づいて各ブロックにおけるフラグの値を実数値に変換する。なお、実数値への変換手法としては、例えば、フラグの値と類似度の値を乗算してもよく、また他の四則を用いて算出したり、所定の数式の変数部にフラグの値と類似度を代入して算出してもよく、また実数値が−1〜1の範囲内になるように値を調整してもよいが、本発明においてはこれに限定されるものではない。
【0028】
また、構図データ生成手段16は、各ブロック領域に割り当てられた実数値を含む画像の構図データを出力する。なお、構図データ生成手段16における具体的な構図データ生成例については、後述する。
【0029】
構図データクラスタリング手段17は、構図データ生成手段16により生成された構図データの各画像の集合を、構図データの類似度に基づいてクラスタリングして構図グループを生成する。なお、構図データクラスタリング手段17における具体的な構図データのクラスタリング手法については、後述する。
【0030】
主要構図データ生成手段18は、構図データクラスタリング手段17で得られたクラスタリング結果(構図グループ)のうち、要素数(例えば、画像数等)が予め設定された値以下の構図グループを切り捨てる。なお、切り捨てる条件としては、上述した要素数に限定されるものではなく、例えば構図グループの数により設定してもよい。この場合には、例えばグループ毎に含まれる要素数の多い順に構図グループを並べ、上位の所定数の構図グループ(例えば、10グループ)よりも下位の構図グループを切り捨てる等の処理を行うことができる。
【0031】
また、主要構図データ生成手段18は、切り捨てられずに残った各構図グループにおいて、所属するグループに含まれる要素(例えば、画像)の平均構図データを求める。更に、主要構図データ生成手段18は、各構図グループの平均構図データを主要構図データ(構図テンプレート)として出力する。
【0032】
検索手段19は、上述した構図テンプレートや構図グループを用いて検索対象画像に対する類似画像を検索する。具体的には、検索手段19は、入力される検索対象画像に対して、上述したようにクラスタ分類やフラグを付与し、既に生成されている各構図テンプレートと比較して、類似性の高い1又は複数の構図テンプレートを選択する。その後、検索手段19は、検索対象画像と、選択された構図テンプレートに対応する構図グループに含まれる1又は複数の画像群との比較を行い、類似性の高い1又は複数の画像を検索結果として出力する。なお、検索手段19は、構図データ生成装置10内に構成されていなくてもよく、例えば外部装置(画像検索装置)として設けられていてもよい。
【0033】
送受信手段20は、インターネット等に代表される通信ネットワークを介して構図データ生成装置10内の各種画像や主要構図データ、検索結果等を外部装置等に送信する。また、送受信手段20は、通信ネットワークに接続された外部装置等から、構図データを生成する複数の画像データは、検索対象画像、その他の各種データ等を受信する。つまり、送受信手段20は、送受信可能な各種データを、他の装置に送信したり、他の装置から各種データを受信するための通信インタフェースである。
【0034】
制御手段21は、構図データ生成装置10における各機能構成全体の制御を行う。具体的には、制御手段21は、入力手段11により入力されたユーザ等からの入力情報に基づいて、基となる複数の画像データ(原画像データ)のクラスタ分類を行ったり、類似度算出を行ったり、構図データを生成したり、構図データクラスタリングを行ったり、主要構図データを生成したり、類似画像を検索する等、本実施形態における構図データ生成において必要となる各種を制御する。
【0035】
上述したように本実施形態によれば、画像の構図に基づいて効率的に高精度な構図データ生成を実現することができる。
【0036】
<クラスタ分類手段14における具体的な分類手法>
ここで、上述したクラスタ分類手段14における具体的な分類手法について説明する。クラスタ分類手段14では、上述したように構図データ生成を行う基となる複数の画像を、所定の数又は大きさのブロック毎に分類する。
【0037】
本実施形態では、各画像に対して、例えばM×N個のブロックに分類する。なお、分類する個数については、これに限定されるものではなく、例えば画像中の解像度や画像サイズ、装置の処理性能等に応じて任意に設定することができる。
【0038】
次に、クラスタ分類手段14は、分類したブロック領域毎に画像特徴を取得する。なお、本実施形態における画像特徴の例としては、例えば、色特徴やモノクロ特徴(テクスチャ特徴)等を用いることができるが、本発明においてはこれに限定されるものではない。
【0039】
ここで、上述した色特徴の例としては、例えば各ブロックにより得られるRGB平均値ベクトル(r,g,b)や色相ヒストグラム(h1,h2,・・・,hK)(なお、Kはブロック数を示し、h1〜hKは各ブロックの色相を示す)等を用いることができる。
【0040】
また、モノクロ特徴(テクスチャ特徴)の例としては、例えば各ブロックにより得られる平均輝度値(m)やエッジ量(e)、エッジ方向ヒストグラム(d1,d2,・・・,dL)(なお、Lはブロック数を示し、d1〜dLは各ブロックのエッジ方向を示す)等を用いることができる。
【0041】
更に、本実施形態では、上述した例に限定されるものではなく、例えば複数の画像特徴を組み合わせることもできる。例えば、色特徴とテクスチャ特徴とを組み合せた場合には、例えばRGB平均値ベクトルとエッジ量とを組み合わせて(r,g,b,e)としたり、色相ヒストグラムとエッジ方向ヒストグラムとを組み合わせて(h1,h2,・・・,hK,d1,d2,・・・,dL)とし、得られた画像特徴に基づいて、1又は複数のクラスタに分類することができる。
【0042】
また、クラスタ分類手段14は、上述したように同一のクラスタに属するブロック領域に同一のフラグを付与する。ここで、図2は、分類したクラスタ例を示す図である。
【0043】
図2に示す例において、クラスタ分類手段14は、基となる画像(原画像)30を、例えば4×4(M=N=4)個のブロック31に分割する。なお、この分割数は、本実施形態において分類される複数の画像の全てにおいて同一であることが好ましいが、本発明においてはこの限りではなく、例えば、相対的に比例関係にある分割数(例えば、2×2、4×4、16×16等)であってもよい。その場合には、全てのブロックは、複数の画像のうち最も分割数の少ないブロックに分割されたブロック数(例えば、2×2、4×4、16×16の3つの画像が存在する場合には、2×2)に合わせて画像特徴を抽出する。
【0044】
図2の例では、各ブロック31に対して、色特徴を取得し、その色特徴から2つのクラスタ32−1,32−2に分類されている(なお、図2において、模様が異なるブロック領域が、それぞれ同一のクラスタを意味するものとし、以降の図についても同様とする)。
【0045】
クラスタ分類手段14では、各クラスタ(ブロック領域)に対して、それぞれ異なるフラグを付与する。なお、フラグの値として、図2の例では、クラスタ32−1の各ブロックには「1」を付与し、クラスタ32−2に各ブロックには「−1」を付与する。なお、本発明においてはこれに限定されるものではなく、例えば、上述とは逆にクラスタ32−1には「−1」、クラスタ32−2には「1」をそれぞれ付与してもよい。また、本発明におけるフラグの値については、これに限定されるものではない。つまり、クラスタ分類手段14では、同一のクラスタに属する各ブロックでは同一で、各クラスタ間では異なるフラグが付与される。
【0046】
<類似度算出手段15における具体的な類似度算出手法>
次に、上述した類似算出手段15における具体的な類似算出手法について説明する。類似度算出手段15は、上述したクラスタ分類手段14により得られる複数の画像に対する各クラスタにおいて、所属するブロック領域の画像特徴を平均し、クラスタの中心特徴を求める。なお、中心特徴とは、例えば同一のクラスタに含まれる各ブロックの色特徴等を平均したものであるが、本発明においてはこれに限定されるものではない。
【0047】
ここで、類似度算出手段15は、クラスタ分類手段14によるクラスタ分類の結果、クラスタ数が1である場合に、各ブロック領域に対して、各ブロックの画像特徴と、当該クラスタの中心特徴との距離Dを求め、例えば以下に示す式(1)で与えられる類似度Sを計算する。
S=1−(D/Dmax) ・・・(1)
なお、上述した式(1)において、DmaxはDの取り得る最大値を示す。
【0048】
また、類似度算出手段15は、クラスタ分類手段14によるクラスタ分類の結果、クラスタ数が2である場合に、各ブロック領域について、自分が属するクラスタの中心特徴との距離Dと、属さない方のクラスタの中心特徴との距離Dを計算し、例えば以下に示す式(2)で与えられる類似度Sを計算する。
S=1−(D/D) ・・・(2)
なお、上述の例では、クラスタが1又は2の場合について説明したが、本発明においてはこれに限定されるものではなく、例えばクラスタが3つ以上の場合にも上述と同様にクラスタ数に応じて予め設定された数式等を用いて類似度を計算することができる。なお上述した数式については、これに限定されるものではない。
【0049】
<構図データ生成手段16における具体的な構図データ生成例>
次に、上述した構図データ生成手段16における具体的な構図データ生成例について説明する。構図データ生成手段16は、例えば、各ブロックに付与されているフラグ(例えば、整数フラグ「1」、「−1」)に、計算済みの類似度Sを乗算して実数値に変換する。
【0050】
ここで、図3は、本実施形態における実数値の設定方法を示す図である。なお、説明の便宜上、図3に示すクラスタ構成は、上述した図2と同様のものとする。
【0051】
本実施形態では、図3(a)に示すように、クラスタ32−1及びクラスタ32−2が存在する場合、まず上述したように類似度算出手段15が、クラスタ32−1に対してフラグ「1」のブロック群の中心特徴C、及び、クラスタ32−2に対してフラグ「−1」のブロック群の中心特徴C−1を算出する。また、類似度算出手段15は、各ブロックの画像特徴Cからの距離、及びC−1からの距離に基づいて、類似度Sを算出する。
【0052】
次に、構図データ生成手段16は、フラグの数値に上述した類似度Sを乗算して、図3(b)に示すように各ブロックを実数値に変換する。構図データ生成手段16は、このようにして各ブロック領域に割り当てられた実数値を含む画像の構図データを出力する。なお、これらのデータは、蓄積手段13に蓄積されてもよく、外部装置に出力してもよい。
【0053】
<構図データクラスタリング手段17における具体的な構図データのクラスタリング手法>
次に、構図データクラスタリング手段17における具体的な構図データのクラスタリング手法について説明する。図4は、構図データクラスタリングの一例を示す図である。
【0054】
本実施形態では、蓄積手段13に蓄積されている基となる複数の画像(原画像)に上述した処理を施し、構図データを生成する。次に、構図データクラスタリング手段17は、生成した構図データの集合を構図データ毎の類似度Sの値に基づいて、類似性の高い構図データを有する画像がグループ化されるようにをクラスタリングし、1又は複数の構図グループを生成する。
【0055】
ここで、例えば、2つの構図データであるB=(b(1,1),・・・,b(M,N))と、B=(b(1,1),・・・,b(M,N))(なお、(i,j)はブロック位置を示し、各b(i,j),b(i,j)は実数値を示す)との類似度S(B,B)は、例えば以下に示す式(3)のように定義することができる。
【0056】
【数1】

ここで、構図データクラスタリング手段17は、図4に示す全体の構図データの集合40から、上述した類似度S等によりクラスタリングされた構図グループ41のうち、例えば要素数(画像数)が予め設定された値よりも少ない場合には、その構図グループを切り捨てる。また、構図データクラスタリング手段17は、切り捨てられずに残った各構図グループ41−1〜41−nにおいて、その構図グループ毎に所属する要素の平均構図データを求め、各クラスタの平均構図データを主要構図データ(構図テンプレート)42−1〜42−nとして出力する。
【0057】
ここで、図5は、構図グループと、主要構図データとの関係を説明するための図である。図5の例では、構図グループ41−1〜41−5等を有し、更に構図グループ41−1〜41−5に対応する構図テンプレート42−1〜42−5が示されているが、本発明におけるグループ数についてはこれに限定されるものではない。
【0058】
なお、図5の例において、構図テンプレート42−1は、クラスタ数が1の場合を示し、構図テンプレート42−2〜42−5は、クラスタ数が2の場合を示しているが、本発明においてはこれに限定されるものではなく、例えばクラスタ数が3つ以上存在する構図テンプレートがあってもよい。
【0059】
更に、本実施形態では、例えば1つの構図グループの中でも更に細分化した構図サブグループを生成してもよい。図6は、構図サブグループの一例を示す図である。
【0060】
図6に示すように、1つの構図グループ41の中に複数の構図サブグループ(図6の例では、構図サブグループ43−1,43−2)を形成しておく。これらの構図サブグループは、例えば、構図テンプレートに含まれるクラスタ毎の画像特徴のばらつき度合いやクラスタ同士の分離度合い等によって、構図グループを細分化して構図サブグループを生成することができる。なお、細分化される構図サブグループは、各構図サブグループ間の関連性に基づいて、ツリー状に構成されていてもよい。これにより、検索に用いられる構図グループをサブグループ単位に細分化し、更にツリーに対応させて優先度等を設定することで、より効率的な検索を実現することができる。
【0061】
上述したように、本実施形態では、構図データや構図テンプレートを生成しておくことで、実際に画像検索を行う際、画像の構図に基づいて効率的に高精度な構図データ生成を実現することができる。具体的には、本実施形態によれば、例えば、ウェブ上や画像サーバ等の大容量記憶媒体内等に存在する大量の画像データを、構図データや典型的な構図データ(構図テンプレート)に基づいて事前分類することにより、検索対象である画像の枚数を制限することができるため、検索を高速化することができる。
【0062】
また、本実施形態では、このような検索装置に適用される構図テンプレートを人手でなく、構図データ生成装置により自動でセットすることが可能となり、更に構図テンプレートに含まれる各領域(各クラスタ)の画像特徴のばらつき度合いや領域同士の分離度合いを検索等に反映させることが可能となる。
【0063】
<検索手段19における検索例>
次に、検索手段19における検索例について説明する。図7は、本実施形態における検索例を示す図である。図7に示す例において、検索手段19は、検索対象画像50を入力すると、蓄積手段13に蓄積されている複数の画像の中から、検索対象画像50に類似する画像を検索するため、まず上述したように所定の数又は大きさのブロックに分割する。なお、ブロック数は、例えば構図テンプレート42に含まれるブロック数であることが好ましい。また、検索手段19は、分割したブロックに対して所定のブロック数に基づいて、構図データを生成する。
【0064】
なお、これらの処理は、上述するクラスタ分類手段14や構図データ生成手段16における処理と同様である。そのため、検索手段19は、クラスタ分類手段14や構図データ生成手段16を用いて、検索対象画像50から構図データ51を生成してもよい。つまり、クラスタ分類手段14は、検索手段19から得られる検索対象画像に対してクラスタ分類を行う機能等を有し、構図データ生成手段16は、検索対象画像に対する構図データを生成し、検索手段19に出力する機能等を有する。
【0065】
次に、検索手段19は、検索対象画像の構図データと、各構図テンプレートとに基づいて類似度(構図類似度)を計算する。なお、ここでの類似度の計算手法については、例えば、クラスタに含まれる全てのブロックのうち、フラグ(実数値)が同じ値となるブロック領域の割合を用いて類似度を算出することができる。
【0066】
また、検索手段19は、類似度が最大になる構図テンプレートを特定する(例えば、図7の例では、構図テンプレート42−4)。なお、類似度に基づくテンプレートの特定方法については、これに限定されるものではなく、例えば計算した類似度が閾値以上となる複数の構図テンプレートを特定してもよい(例えば、図7の例では、構図テンプレート42−4,42−2等)。
【0067】
次に、検索手段19は、上述にて得られた構図テンプレートに対応する構図グループ(例えば、図7の例では、構図グループ41−4)に含まれる画像(構図データ)群を用いて、検索対象画像と色特徴等による類似度検索を行い、類似度の高い所定数の画像を検索結果として出力する。なお、構図グループに含まれる各画像との類似度検索については、例えば上述したように、画像中の各ブロックに設定した実数値等を含む構図データに基づいて類似度を判断することができる。
【0068】
つまり、本実施形態では、例えば、検索対象画像についても各ブロックに付与したフラグを実数値に変換し、変換した実数値と、構図テンプレートや構図グループに含まれる各画像に付与された各ブロックにおける実数値とを比較することで、値の近いブロックの数に応じて類似構図テンプレートや類似画像を取得することができる。これにより、構図テンプレートに含まれる各領域(各クラスタ)の画像特徴のばらつき度合いや領域同士の分離度合いを検索等に反映させることが可能となる。
【0069】
なお、上述した検索手段19は、構図データ生成装置10に設けられていなくてもよく別体に設けられていてもよい。また、上述した検索手段19における検索手法は、例えば、本出願人により出願された特願2010−183791号(出願日:平成22年8月19日)に示されている技術を用いることもできる。
【0070】
<実行プログラム>
ここで、上述した構図データ生成装置10は、例えばCPU(Central Processing Unit)、RAM(Random Access Memory)等の揮発性の記憶媒体、ROM(Read Only Memory)等の不揮発性の記憶媒体、マウスやキーボード、ポインティングデバイス等の入力装置、画像やデータを表示する表示装置、並びに外部と通信するためのインタフェース装置を備えたコンピュータによって構成することができる。
【0071】
したがって、構図データ生成装置10が有する上述した各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現可能となる。また、これらのプログラムは、磁気ディスク(フロッピィーディスク、ハードディスク等)、光ディスク(C,D−ROM、DVD等)、半導体メモリ等の記録媒体に格納して頒布することもできる。
【0072】
つまり、上述した各構成における処理をコンピュータに実行させるための実行プログラム(構図データ生成プログラム)を生成し、例えば汎用のパーソナルコンピュータやサーバ等にそのプログラムをインストールすることにより、構図データ生成処理を実現することができる。なお、本発明における実行プログラムによる処理については、例えば上述した各処理を実現することができる。
【0073】
<構図データ生成処理:構図データ生成>
次に、上述した実行プログラム(構図データ生成プログラム)により実行される構図データ生成処理の具体例についてフローチャートを用いて説明する。
【0074】
図8は、本実施形態における構図データ生成処理の一例を示すフローチャート(その1)である。なお、図8の例では、本実施形態における構図データの生成処理を示している。図8において、まず、入力される画像Iを所定数(例えば、M×N)のブロックに分割し(S01)、M×Nに分割した全ブロック領域をその領域の画像特徴の類似度に基づいて、例えば、1クラスタ又は2クラスタに分類する(S02)。
【0075】
次に、同一のクラスタに属するブロック領域に同一のフラグ(例えば、−1又は1)を設定する(S03)。なお、S02の処理において、1クラスタに分類された場合、S03の処理では後段の処理の容易性の観点から「1」を設定することが好ましい。
【0076】
次に、クラスタ毎に、自分が属するブロック領域の画像特徴を平均し、クラスタの中心特徴を求める(S04)。次に、クラスタ数が1であるか否かを判断し、(S05)、クラスタ数が1である場合(S05において、YES)、各ブロック領域に対して、その画像特徴とクラスタ中心特徴との距離Dを求め、所定の数式等により類似度Sを取得する(S06)。なお、S06の処理で取得する類似度Sは、例えば上述した式(1)を用いて算出することができる。
【0077】
また、S05の処理において、クラスタ数が1でない場合(S05において、NO)、クラスタ数が2と判断し、各ブロック領域に対して、自分が属するクラスタの中心特徴との距離D1と、属さない方のクラスタの中心特徴との距離D2とを計算し、所定の数式等により類似度Sを取得する(S07)。なお、S07の処理で取得する類似度Sは、例えば上述した式(2)を用いて算出することができる。
【0078】
S06又はS07の処理の終了後、各ブロック領域に対して、S03の処理により既に設定されているフラグ(例えば、整数フラグ「1」又は「−1」)に、S06又はS07の処理により取得済みの類似度Sを乗算して実数値に変換する(S08)。また、上述したS08の処理により得られた結果から各ブロック領域に割り当てられた実数値を含む画像の構図データを出力する(S09)。なお、この構図データは、蓄積手段13等に蓄積される。また、上述の処理は、学習データとして複数の画像に対して実施される。
【0079】
<構図データ生成処理:構図テンプレート生成処理>
図9は、本実施形態における構図データ生成処理の一例を示すフローチャート(その2)である。なお、図9の例では、上述した図9に示す処理により生成された構図データから、更に構図テンプレートを生成するまでの処理を示している。
【0080】
図9において、まず、蓄積手段13等から構図データの集合を類似度Sに基づいてクラスタリングし、構図グループを生成する(S11)。なお、S11の処理では、例えば2つの構図データであるBとBとの類似度S(B,B)について、上述した式(3)等を用いて算出され、全ての構図データにおいて、上述の手法で得られた類似度が近い構図データ同士をグループ化して構図グループを生成する。
【0081】
次に、S11で生成した構図グループのうち、要素数(例えば、画像数)の少ない設定値以下の構図グループを切り捨てる(S12)。これにより、構図テンプレートの枚数を制限することができ、検索処理における検索対象画像と構図テンプレートとの比較を迅速に行うことができる。
【0082】
また、S12の処理の後、残った構図グループに対して、自分が属する要素の平均構図データを取得し(S13)、各クラスタの平均構図データを本データベースの構図テンプレート(主要構図データ)として出力する(S14)。
【0083】
<構図データ生成処理:検索処理>
次に、検索処理について説明する。なお、検索処理は、本実施形態における構図データ生成処理に含めてもよく、また独立したシステム又はソフトウェアとして構成されていてもよい。
【0084】
図10は、本実施形態における検索処理の一例を示すフローチャートである。図10に示す例において、検索処理では、複数の構図テンプレートを読み出す(S21)。次に、検索処理では、検索対象画像である画像Qを入力し(S22)、画像QをM×Nに分割した各ブロックにフラグを付与する(S23)。
【0085】
次に、検索処理では、画像Qのフラグと、S21の処理により読み出した構図テンプレートのフラグとを用いて、画像Qと各構図テンプレートとの間の類似度(構図類似度)を算出し(S24)、例えば、類似度が予め設定された閾値以上となる構図テンプレートを特定する(S25)。
【0086】
また、検索処理では、画像Qを入力すると共に、S25の処理により特定された構図テンプレートに含まれる構図グループに属する複数の画像Iを抽出する(S26)。次に、検索処理では、画像QとS26の処理により得られた複数の画像Iとの間の類似度を計算する(S27)。このとき、検索処理では、例えば画像Q及び複数の画像Iに対し、各画像を構成する所定画素毎のRGB値に基づいて、特徴量をそれぞれ計算し、両特徴量に基づいて類似度を計算することができるが、本発明においてはこれに限定されるものではない。
【0087】
次に、検索処理では、構図グループに属する全ての画像Iについて、処理が完了したか否かを判断し(S28)、処理が完了していないと判断した場合(S28において、NO)、S27に戻り、次の画像について処理を行って、類似度を計算する。また、検索処理では、S28の処理において、処理が完了したと判断した場合(S28において、YES)、類似度が高い所定数の画像を検索結果として出力する(S29)。
【0088】
上述したように本発明によれば、画像の構図に基づいて効率的に高精度な構図データ生成を実現することができる。具体的には、本発明によれば、例えば、ウェブ上や大容量記憶媒体内等に存在する大量の画像データを、典型的な構図データ(構図テンプレート)に基づいて事前分類することにより検索を高速化することができる。また、構図テンプレートを人手でなく自動でセットすることが可能となり、更に構図テンプレートに含まれる各領域(各クラスタ)の画像特徴のばらつき度合いや領域同士の分離度合いを検索等に反映させることが可能となる。
【0089】
以上本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【0090】
10 構図データ生成装置
11 入力手段
12 出力手段
13 蓄積手段
14 クラスタ分類手段
15 類似度算出手段
16 構図データ生成手段
17 構図データクラスタリング手段
18 主要構図データ生成手段
19 検索手段
20 送受信手段
21 制御手段
30 画像(原画像)
31 ブロック
32 クラスタ
40 集合
41 構図グループ
42 主要構図データ(構図テンプレート)
50 検索対象画像
51 構図データ

【特許請求の範囲】
【請求項1】
入力画像に対する構図データを生成する構図データ生成装置であって、
前記入力画像を所定のブロック数に分割し、分割された全ブロックを、各ブロックの画像特徴に基づいて複数のクラスタに分類し、分類された各クラスタに含まれる各ブロックに対して、各クラスタ単位に同一のフラグを付与するクラスタ分類手段と、
前記クラスタ分類手段により分類された各クラスタの画像特徴を平均した中心特徴と、前記各ブロックの画像特徴との類似度を算出する類似度算出手段と、
前記クラスタ分類手段により得られたフラグと、前記類似度算出手段により得られた類似度とに基づいて、前記各ブロックに実数値を割り当て、前記構図データを生成する構図データ生成手段とを有することを特徴とする構図データ生成装置。
【請求項2】
前記構図データ生成手段により得られる構図データの集合を、前記構図データの類似度に基づいてクラスタリングする構図データクラスタリング手段と、
前記構図データクラスタリング手段により得られる構図グループに含まれる構図データに基づいて主要構図データを生成する主要構図データ生成手段とを有することを特徴とする請求項1に記載の構図データ生成装置。
【請求項3】
前記構図データクラスタリング手段は、
前記クラスタリングにより得られる複数の構図グループのうち、各構図グループに含まれる要素数が予め設定された値以下の構図グループを切り捨てることを特徴とする請求項2に記載の構図データ生成装置。
【請求項4】
前記主要構図データ生成手段により得られる複数の構図テンプレートと、検索対象画像との類似度を比較し、比較果として選択された構図テンプレートに対応する構図グループに含まれる画像データを用いて、前記検索対象画像に対応する類似画像を検索する検索手段を有することを特徴とする請求項2又は3に記載の構図データ生成装置。
【請求項5】
コンピュータを、請求項1乃至4の何れか1項に記載の構図データ生成装置として機能させることを特徴とする構図データ生成プログラム。

【図1】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図2】
image rotate

【図3】
image rotate

【図7】
image rotate