(57)【要約】【課題】画像に付与する注釈を適切に決定する。【解決手段】複数の画像と特徴量とを記憶するインデックス記憶部１５１と、画像と複数の注釈とを記憶する対応記憶部１５２と、対象画像を複数の分割画像に分割する分割部１１１と、分割画像の特徴量を抽出する特徴抽出部１１２と、対応する特徴量と抽出された特徴量との類似度が大きい所定数の画像をインデックス記憶部１５１から検索する検索部１１３と、検索された画像に対応づけられた注釈について、出現頻度が小さく、対応する画像の類似度が大きく、対応する複数の画像の特徴量が相互に類似するほど大きい値となるスコアを算出する算出部１１４と、スコアが大きい注釈を優先して対象画像に付与する注釈を決定する第１決定部１１５と、を備える。【選択図】図１
2011086113.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた複数の画像と前記画像の特徴量とを対応づけたインデックスを記憶するインデックス記憶部と、
前記画像と予め定められた複数の注釈とを対応づけて記憶する対応記憶部と、
注釈を付与する対象画像を複数の分割画像に分割する分割部と、
前記分割画像を解析し、前記分割画像の特徴量を抽出する特徴抽出部と、
対応する前記特徴量と抽出された前記特徴量との類似度が大きい予め定められた個数の前記画像を前記インデックス記憶部から検索する検索部と、
検索された前記画像に対応づけられた前記注釈それぞれについて、前記対応記憶部内での前記注釈の出現頻度が小さいほど大きく、かつ、対応する前記画像の前記類似度が大きいほど大きく、かつ、対応づけられた複数の前記画像の特徴量が相互に類似するほど大きい値となる前記注釈のスコアを算出する算出部と、
前記スコアが大きい前記注釈を優先して前記対象画像に付与する前記注釈を決定する第１決定部と、
を備えることを特徴とする注釈付与装置。
【請求項２】
前記算出部は、前記出現頻度が小さいほど大きい逆出現頻度と、対応する前記画像の前記類似度が大きいほど大きい第１要素値と、対応づけられた複数の前記画像の特徴量が相互に類似するほど大きい第２要素値とを算出し、前記第１要素値と前記逆出現頻度との積と、前記第２要素値との線形和である前記スコアを算出すること、
を特徴とする請求項１に記載の注釈付与装置。
【請求項３】
前記算出部は、さらに、対応する前記画像の前記類似度が大きい順を表すランクが大きいほど大きい前記スコアを算出すること、
を特徴とする請求項１に記載の注釈付与装置。
【請求項４】
画像の特徴量に応じて、注釈が対応づけられた複数のクラスのいずれかに画像を分類するための規則を記憶する規則記憶部と、
前記特徴抽出部によって抽出された前記特徴量を前記規則に適用して前記分割画像を前記クラスのいずれかに分類する分類部と、
前記対象画像に付与する注釈として、分類された前記クラスに対応づけられた前記注釈を決定する第２決定部と、をさらに備えること、
を特徴とする請求項１に記載の注釈付与装置。
【請求項５】
前記対象画像から予め定められた画像パターンを検出するパターン検出部と、
前記画像パターンに予め対応づけられた注釈を、前記対象画像に付与する注釈として決定する第３決定部と、をさらに備えること、
を特徴とする請求項１に記載の注釈付与装置。
【請求項６】
分割部が、注釈を付与する対象画像を複数の分割画像に分割する分割ステップと、
特徴抽出部が、前記分割画像を解析し、前記分割画像の特徴量を抽出する特徴抽出ステップと、
検索部が、予め定められた複数の画像と前記画像の特徴量とを対応づけたインデックスを記憶するインデックス記憶部から、対応する前記特徴量と抽出された前記特徴量との類似度が大きい予め定められた個数の前記画像を検索する検索ステップと、
算出部が、前記画像と予め定められた複数の注釈とを対応づけて記憶する対応記憶部内で検索された前記画像に対応づけられた前記注釈それぞれについて、前記対応記憶部内での前記注釈の出現頻度が小さいほど大きく、かつ、対応する前記画像の前記類似度が大きいほど大きく、かつ、対応づけられた複数の前記画像の特徴量が相互に類似するほど大きい値となる前記注釈のスコアを算出する算出ステップと、
第１決定部が、前記スコアが大きい前記注釈を優先して前記対象画像に付与する前記注釈を決定する第１決定ステップと、
を含むことを特徴とする注釈付与方法。
【請求項７】
予め定められた複数の画像と前記画像の特徴量とを対応づけたインデックスを記憶するインデックス記憶部と、前記画像と予め定められた複数の注釈とを対応づけて記憶する対応記憶部と、を備えるコンピュータを、
注釈を付与する対象画像を複数の分割画像に分割する分割部と、
前記分割画像を解析し、前記分割画像の特徴量を抽出する特徴抽出部と、
対応する前記特徴量と抽出された前記特徴量との類似度が大きい予め定められた個数の前記画像を前記インデックス記憶部から検索する検索部と、
検索された前記画像に対応づけられた前記注釈それぞれについて、前記対応記憶部内での前記注釈の出現頻度が小さいほど大きく、かつ、対応する前記画像の前記類似度が大きいほど大きく、かつ、対応づけられた複数の前記画像の特徴量が相互に類似するほど大きい値となる前記注釈のスコアを算出する算出部と、
前記スコアが大きい前記注釈を優先して前記対象画像に付与する前記注釈を決定する第１決定部と、
して機能させるための注釈付与プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の特徴を解析して注釈を付与する注釈付与装置、方法およびプログラムに関する。
【背景技術】
【０００２】
画像に対して画像の内容などを表す情報（注釈（アノテーション）、タグ、ラベル）を付与する画像アノテーションは、一般に手作業で行われるため負荷が大きく、時間を浪費し、高コストであった。このような問題を解消するため、画像アノテーションを自動で実行させるための研究が行われてきた。自動画像アノテーションシステムでは、単一の学習器を用いて意味範疇（注釈）を学習するため、さまざまな画像特徴量を１つの特徴ベクトルに結合する（例えば、非特許文献１）。そして、注釈が付与された学習画像を用いて、学習画像の特徴量を含む特徴ベクトルと学習画像に付与された注釈との関係を学習器により学習する。この学習結果を参照することにより、注釈付与の対象となる画像に対する適切な注釈を決定可能となる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、このような方法では、画像の特徴量と特定の注釈との関係が弱いため、与えられた画像に対して適切な注釈を付与できない場合があるという問題があった。
【０００４】
本発明は、上記に鑑みてなされたものであって、画像に付与する注釈をより適切に決定することができる注釈付与装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、予め定められた複数の画像と前記画像の特徴量とを対応づけたインデックスを記憶するインデックス記憶部と、前記画像と予め定められた複数の注釈とを対応づけて記憶する対応記憶部と、注釈を付与する対象画像を複数の分割画像に分割する分割部と、前記分割画像を解析し、前記分割画像の特徴量を抽出する特徴抽出部と、対応する前記特徴量と抽出された前記特徴量との類似度が大きい予め定められた個数の前記画像を前記インデックス記憶部から検索する検索部と、検索された前記画像に対応づけられた前記注釈それぞれについて、前記対応記憶部内での前記注釈の出現頻度が小さいほど大きく、かつ、対応する前記画像の前記類似度が大きいほど大きく、かつ、対応づけられた複数の前記画像の特徴量が相互に類似するほど大きい値となる前記注釈のスコアを算出する算出部と、前記スコアが大きい前記注釈を優先して前記対象画像に付与する前記注釈を決定する第１決定部と、を備えることを特徴とする注釈付与装置である。
【０００６】
また、本発明は、上記装置で実行することができる方法およびプログラムである。
【発明の効果】
【０００７】
本発明によれば、画像に付与する注釈をより適切に決定することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施の形態にかかる注釈付与装置を含む情報処理システムの構成例を示すブロック図である。
【図２】図２は、検索される複数の画像から分類コードを決定する機能の概要を説明するための図である。
【図３】図３は、本実施の形態における注釈決定処理の全体の流れを示すフローチャートである。
【図４】図４は、スコア算出処理の全体の流れを示すフローチャートである。
【図５】図５は、要素ａ算出処理の全体の流れを示すフローチャートである。
【図６】図６は、要素ｂ算出処理の全体の流れを示すフローチャートである。
【図７】図７は、画像パターン検出処理の一例を示す説明図である。
【図８】図８は、信用テーブルのデータ構造の一例を示す図である。
【図９】図９は、学習画像ごとのランク、類似度、対応づけられた分類コードの例を示す図である。
【図１０】図１０は、学習画像間の相互類似度の算出例を示す図である。
【図１１】図１１は、本実施の形態にかかる注釈付与装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この発明にかかる注釈付与装置、方法およびプログラムの一実施の形態を詳細に説明する。
【００１０】
本実施の形態の注釈付与装置は、学習画像と複数の注釈とを対応づけた学習データを用いた学習により得られる学習結果を参照して、注釈付与の対象となる対象画像に対する注釈を決定する。本実施の形態の注釈付与装置は、例えば、商標を表す対象画像に対して、標章の図形要素を分類するために定められている「ウイーン分類」に対応する注釈を付与する装置に適用できる。
【００１１】
ウイーン分類は、すべての図形要素を大分類、中分類、小分類に分けた階層構成となっている。そして、大分類、中分類、小分類それぞれに所定の符号体系に従った番号（以下、分類コードという）が付与されている。例えば分類コード＝「１．１」は、「星、彗星」を表すことが定められている。
【００１２】
以下では、本実施の形態の注釈付与装置を、対象画像に付与するウイーン分類の分類コードを決定するように構成した例について説明する。分類コードを決定すれば、分類コードに対応する内容（注釈）が決定できる。なお、適用可能な注釈はウイーン分類の分類コードに対応する注釈に限られるものではない。学習画像に付与しうるものであればよいため、任意の注釈を適用することができる。
【００１３】
本実施の形態の注釈付与装置は、まず、対象画像を複数の分割画像に分割する。次に、分割画像と特徴量が類似する上位ｋ個の学習画像を求め、学習画像に対応する分類コードを取得する。次に、取得された分類コードに対して、学習データ内での分類コードの出現頻度、および、分割画像と検索した画像との類似度等に応じて分類コードの優先度を表すスコアを算出する。そして、スコアが上位である所定数の分類コードを、付与すべき分類コードとして決定する。これにより、画像の特徴量との関係が強い分類コードを適切に決定することができる。
【００１４】
図１は、本実施の形態にかかる注釈付与装置を含む情報処理システムの構成例を示すブロック図である。図１に示すように情報処理システムは、注釈付与装置１００と、複数のユーザ端末２００ａ、２００ｂとが、ネットワーク３００を介して接続された構成となっている。ネットワーク３００は、ＬＡＮ（Loacal Area Network）およびインターネットなどのあらゆるネットワーク構成を適用できる。ユーザ端末２００ａ、２００ｂは、例えばＰＣ（パーソナルコンピュータ）などのユーザにより利用される端末装置である。なお、ユーザ端末２００ａ、２００ｂは同様の構成を備えるため、以下では単にユーザ端末２００という場合がある。また、ユーザ端末２００の個数は２に限られるものではない。
【００１５】
ユーザ端末２００は、分類コードを付与する対象となる画像を表す対象画像を注釈付与装置１００に送信する。また、ユーザ端末２００は、対象画像に対して注釈付与装置１００が付与した分類コードを注釈付与装置１００から受信し、ディスプレイなどの表示部（図示せず）に表示する。
【００１６】
注釈付与装置１００は、指定された対象画像に対して付与する分類コードを決定し、決定した分類コードをユーザ端末２００等に出力する。分類コードの決定方法の詳細については後述する。
【００１７】
なお、システム構成は図１の構成に限られるものではない。例えば、注釈付与装置１００内で対象画像の指定を受付け、この対象画像に対して決定された分類コードを注釈付与装置１００に備えられる表示部（図示せず）等に出力するように構成してもよい。
【００１８】
次に、注釈付与装置１００の機能構成について説明する。図１に示すように、注釈付与装置１００は、インデックス記憶部１５１と、対応記憶部１５２と、規則記憶部１５３と、画像受付部１０１と、分割部１１１と、特徴抽出部１１２と、検索部１１３と、算出部１１４と、第１決定部１１５と、分類部１１６と、第２決定部１１７と、パターン検出部１１８と、第３決定部１１９と、出力部１２１と、通信部１２２と、を備えている。
【００１９】
インデックス記憶部１５１は、複数の学習画像と、学習画像それぞれの特徴量とを対応づけたインデックスを記憶する。インデックス記憶部１５１に記憶されるインデックスは、検索部１１３が対象画像に類似する学習画像を検索するときに参照される。インデックスは、学習画像と複数の分類コードとを対応づけた学習データを用いた学習により、与えられた画像と特徴量が類似する複数の学習画像を検索できるように構成される。
【００２０】
なお、インデックスの学習は例えば以下のように実行される。まず、学習データに含まれる学習画像から、特徴抽出部１１２と同様の方法により学習画像の特徴量を抽出する。そして、分割画像と特徴量が類似する学習画像を検索するためのインデックスを、例えばｋ近傍（ＫＮＮ：K Nearest Neighbors）法により学習する。この場合、インデックス記憶部１５１は、例えばＫＮＮ法で利用可能なｋｄ（k-dimensional）木で表されたインデックスを記憶するように構成することができる。
【００２１】
なお、インデックスの学習方法およびデータ構造は、ＫＮＮ法およびｋｄ木に限られるものではない。特徴量が類似する学習画像を検索可能なものであればあらゆる学習方法および対応するデータ構造を適用できる。
【００２２】
対応記憶部１５２は、インデックス記憶部１５１に記憶される学習画像と当該学習画像に予め付与された複数の分類コードとを対応づけて記憶する。対応記憶部１５２は、検索された学習画像に対応する分類コードを取得するときに参照される。
【００２３】
規則記憶部１５３は、分割画像の特徴量に応じて、各分類コードに対応する複数のクラスのいずれかに分割画像を分類するための規則を記憶する。例えば、規則記憶部１５３は、学習画像と当該学習画像に対する１つの分類コードとを対応づけた学習データを用いてランダム・フォレスト法により学習された規則を記憶する。
【００２４】
なお、規則の学習は例えば以下のように実行される。まず、学習データに含まれる学習画像から、特徴抽出部１１２と同様の方法により学習画像の特徴量を抽出する。そして、分割画像と特徴量が類似する学習画像を検索するための規則を、ランダム・フォレスト法により学習する。この場合、規則記憶部１５３は、特徴量に応じて分岐していくことにより分類するクラスを決定する複数の決定木で表された規則を記憶する。
【００２５】
なお、規則の学習方法は、ランダム・フォレスト法に限られるものではない。ランダム・フォレスト法を用いれば、多数の特徴量をベクトル化した高次元の特徴ベクトルを用いることによる、いわゆる次元の呪いの問題を解消可能となる。すなわち、ランダム・フォレスト法では、特徴ベクトルに含まれる特徴量のうち一部がランダムに選択され、選択された特徴量に応じて分割画像が分類される。また、このような分類が複数の決定木それぞれに対して行われ、各決定木による結果の投票（多数決）により、最終的に分類するクラスが決定される。したがって、より客観的に分類するクラス（分類コード）を決定することができる。
【００２６】
なお、規則記憶部１５３では１つのクラスに対して１つの分類コードが対応づけられる。したがって、分類部１１６によって分類された分割画像に対しては、分類されたクラスに対応する１つの分類コードが得られる。これに対し、上述の対応記憶部１５２では１つの学習画像に対して複数の分類コードが対応づけられている。また、検索部１１３は分割画像に対して複数の類似する学習画像を検索する。したがって、検索部１１３によって検索された分割画像に付与すべき分類コードとして、複数の分類コードが得られる。
【００２７】
通信部１２２は、ユーザ端末２００などの外部装置との間で各種情報を送受信する。例えば、通信部１２２は、ユーザ端末２００から、対象画像または対象画像を識別する情報を受信する。また、通信部１２２は、対象画像に対して決定された分類コードをユーザ端末２００に送信する。
【００２８】
画像受付部１０１は、対象画像の指定を受付ける。例えば、画像受付部１０１は、ユーザ端末２００から通信部１２２を介して受信した対象画像を受付ける。なお、対象画像の受付け方法はこれに限られるものではない。例えば、対象画像を識別する情報を受付け、この情報を元に注釈付与装置１００内部または外部装置から対象画像を取得するように構成してもよい。
【００２９】
分割部１１１は、対象画像を複数の分割画像に分割する。分割部１１１は、例えば、対象画像に含まれる図形領域と文字領域とを認識し、各領域に対応する複数の分割画像に分割する。なお、分割方法はこれに限られるものではなく、任意の分割方法を適用できる。
【００３０】
特徴抽出部１１２は、各分割画像を解析し、分割画像の特徴量を抽出する。特徴量としては、例えば、色ヒストグラム、配色、エッジ、テクスチャ、構図などの従来から用いられているあらゆる指標を適用できる。
【００３１】
検索部１１３は、各分割画像について、抽出された特徴量と類似する特徴量に対応する複数の学習画像をインデックス記憶部１５１から検索する。検索部１１３は、例えばＫＮＮ法によって、分割画像から抽出された特徴量と類似するｋ個の学習画像をインデックス記憶部１５１から検索する。なお、適用可能な検索方法はＫＮＮ法に限られず、例えば、近似最近傍探索（ＡＮＮ：Approximate Nearest Neighbor）法を適用してもよい。
【００３２】
算出部１１４は、検索部１１３によって検索された学習画像に対応づけられた各分類コードについて、分類コードのスコアを算出する。具体的には、算出部１１４は、インデックス記憶部１５１のインデックスの学習に用いた学習データ内での分類コードの出現頻度が小さく、分割画像と学習画像との類似度が大きく、かつ、対応づけられた複数の学習画像の特徴量が相互に類似するほど大きい値となるスコアを算出する。スコアの算出方法の詳細については後述する。
【００３３】
第１決定部１１５は、算出されたスコアが大きい分類コードを優先して、対象画像に付与する分類コードとして決定する。例えば、第１決定部１１５は、スコアが上位の所定数の分類コードを対象画像に付与する分類コードとして決定する。なお、後述するように第２決定部１１７および第３決定部１１９によっても付与する分類コードが決定される。そして、出力部１２１が、決定された分類コードから、信用値（後述）が高い分類コードを、最終的に対象画像に付与する分類コードとして決定して出力する。
【００３４】
分類部１１６は、特徴抽出部１１２によって抽出された特徴量と、規則記憶部１５３に記憶された規則とを用いて、分割部１１１によって分割された各分割画像をいずれかのクラスに分類する。例えば、分類部１１６は、ランダム・フォレスト法により、学習された規則を用いて、分割画像を特徴量に応じたクラスに分類する。
【００３５】
第２決定部１１７は、分類されたクラスに対応づけられた分類コードを、対象画像に付与する分類コードとして決定する。
【００３６】
パターン検出部１１８は、対象画像から予め定められた画像パターンを検出する。画像パターンとしては、例えば円、楕円（ウイーン分類では２６．１）、四角形（ウイーン分類では２６．４）などの容易に特定可能な幾何学的パターンを適用できる。
【００３７】
第３決定部１１９は、検出された画像パターンに予め対応づけられた分類コードを、対象画像に付与する分類コードとして決定する。例えば、正方形が検出された場合、第３決定部１１９は、ウイーンコードの「正方形」に対応する分類コードである「２６．４．１」を付与する分類コードとして決定する。
【００３８】
出力部１２１は、決定された分類コードを出力する。本実施の形態では、出力部１２１が、第１決定部１１５、第２決定部１１７、および第３決定部１１９で決定された各分類コードを統合し、すべての分類コードの中から信用値が高い所定数の分類コードを選択して最終的な分類コードとして出力する。信用値とは、分類コードの確からしさを表す値である。信用値は、例えば学習データによる学習を行ったときに事前に算出し、分類コードと信用値とを対応づけたテーブル（以下、信用テーブルという）として所定の記憶部（図示せず）に記憶しておく。信用テーブルの詳細については後述する。
【００３９】
以上のように、本実施の形態では、Ａ．ＫＮＮ法などにより検索される複数の画像から分類コードを決定する機能（以下、機能Ａという）、Ｂ．ランダム・フォレスト法などにより分類されるクラスに応じた分類コードを決定する機能（以下、機能Ｂという）、Ｃ．対象画像から検出される画像パターンに対応する分類コードを決定する機能（以下、機能Ｃという）、の３つの機能により分類コードが決定される。
【００４０】
本実施の形態の注釈付与装置１００は、少なくとも機能Ａを備えていればよい。機能Ａにより、学習データ内での分類コードの出現頻度等に応じて算出した分類コードのスコアが上位である所定数の分類コードを、付与すべき分類コードとして決定することができる。すなわち、画像の特徴量との関係が強い分類コードを適切に決定することができる。機能Ｂをさらに備えれば、上述のように次元の呪いの問題を解消し、より客観的に分類コードを決定可能となる。
【００４１】
さらに機能Ｃを備えれば、分類コードが不均衡となる問題を解消可能となる。分類コードが不均衡となる問題とは、例えば、円または四角形などのような単純な画像パターンは、多くの学習データに含まれる可能性が高いため、このような画像パターンに対応する分類コードが学習結果に多く含まれることになるという問題である。
【００４２】
機能Ｃによれば、多くの画像に含まれうる画像パターンに対応する分類コードを容易に決定することができる。また、この機能Ｃで決定できる分類コードを除外した分類コードを、機能ＡおよびＢにより決定するように構成すれば、一部の分類コードが多数の学習結果に含まれることを回避可能となる。
【００４３】
なお、機能ＡおよびＢを共に備える場合に、それぞれが決定する分類コードを重複しないように分けてもよい。例えば、機能Ｂでは、データ量が小さい学習データにより学習可能な分類コードを選択して学習し、それ以外の分類コードを機能Ａで決定するように構成してもよい。
【００４４】
次に、機能Ａの概要について説明する。図２は、ＫＮＮ法などにより検索される複数の画像から分類コードを決定する機能の概要を説明するための図である。
【００４５】
図２に示すように、入力された対象画像２１は、複数の分割画像２２ａ〜２２ｃに分割される。なお、分割数は３に限られるものではない。また、図２では省略しているが、各分割画像に対して、特徴抽出部１１２によって特徴量が抽出される。
【００４６】
検索部１１３は、各分割画像について、インデックス記憶部１５１を参照してＫＮＮ法により抽出した特徴量が類似する学習画像を検索する。これにより、各分割画像に対する検索結果２３が得られる。なお、検索結果２３は、分割画像ごとにｋ／ｎ個（ｎは分割数）の類似する学習画像を含んでいる。得られたｋ／ｎ個の学習画像は、それぞれ分割画像に対する類似度が対応づけられている。この結果、対象画像に対しては、ｋ個の学習画像が得られる。図２では、得られたｋ個の学習画像を、類似度が高い順にＩｍｇ１〜Ｉｍｇｋのように並べた例が示されている。また、図２では、画像群２４が、得られたｋ個の学習画像を表している。
【００４７】
算出部１１４は、このようにして得られた分割画像ごとの学習画像に対応づけられた分類コードを対応記憶部１５２から取得する。そして、算出部１１４は、得られた分類コードに対して、出現頻度、類似度、類似度の大きい順を表すランク、および、対応づけられた学習画像の特徴量の相互類似度（後述）を用いて、分類コードのスコアを算出する。これにより、スコア付分類コードリスト２５が得られる。
【００４８】
次に、このように構成された本実施の形態にかかる注釈付与装置１００による注釈決定処理について説明する。図３は、本実施の形態における注釈決定処理の全体の流れを示すフローチャートである。
【００４９】
まず、画像受付部１０１が、指定された対象画像を受付ける（ステップＳ３０１）。以下、機能Ａ（ステップＳ３０２〜ステップＳ３０７）、機能Ｂ（ステップＳ３０２〜ステップＳ３０９）、および機能Ｃ（ステップＳ３１０、ステップＳ３１１）がそれぞれ実行される。なお、各機能は任意の順序で実行できる。また、各機能を並列に実行するように構成してもよい。
【００５０】
機能Ａおよび機能Ｂに共通する処理として、まず、分割部１１１が、対象画像を複数の分割画像に分割する（ステップＳ３０２）。また、特徴抽出部１１２が、各分割画像から、分割画像の特徴量を抽出する（ステップＳ３０３）。
【００５１】
次に、機能Ａに固有の処理として、検索部１１３は、抽出された特徴量と類似する特徴量に対応するｋ個の学習画像を、インデックス記憶部１５１から検索する（ステップＳ３０４）。検索部１１３は、検索した学習画像に対応する分類コードを対応記憶部１５２から取得する（ステップＳ３０５）。
【００５２】
次に、算出部１１４が、取得された分類コードのスコアを算出するスコア算出処理を実行する（ステップＳ３０６）。スコア算出処理の詳細については後述する。次に、第１決定部１１５が、算出されたスコアが上位の所定数の分類コードを、対象画像に付与する分類コードとして決定する（ステップＳ３０７）。
【００５３】
機能Ｂに固有の処理としては、分類部１１６が、規則記憶部１５３を参照してランダム・フォレスト法により各分割画像をいずれかのクラスに分類する（ステップＳ３０８）。次に、第２決定部１１７が、分類されたクラスに対応する分類コードを、対象画像に付与する分類コードとして決定する（ステップＳ３０９）。
【００５４】
機能Ｃに固有の処理としては、パターン検出部１１８が、対象画像から予め定められた画像パターンを検出する（ステップＳ３１０）。画像パターン検出処理の詳細については後述する。次に、第３決定部１１９が、検出された画像パターンに対して予め定められた分類コードを、対象画像に付与する分類コードとして決定する（ステップＳ３１１）。
【００５５】
各機能により分類コードが決定された後（ステップＳ３０７、ステップＳ３０９、ステップＳ３１１）、出力部１２１が、決定された分類コードの中から、最適な分類コードを選択し、最終的に出力する分類コードとして決定する（ステップＳ３１２）。出力部１２１は、決定された分類コードを例えば通信部１２２を介してユーザ端末２００に出力し（ステップＳ３１２）、注釈決定処理を終了する。
【００５６】
次に、ステップＳ３０６のスコア算出処理の詳細について説明する。図４は、スコア算出処理の全体の流れを示すフローチャートである。
【００５７】
まず、算出部１１４は、図３のステップＳ３０５で取得された分類コードから未処理の分類コードを取得する（ステップＳ４０１）。なお、算出部１１４は、各分割画像に対して取得された分類コードをすべて含む分類コード群から、未処理であるいずれかの分類コードを１つ取得する。
【００５８】
次に、算出部１１４は、スコアを算出するために用いられる値（第１要素値）である要素ａ（ｆａｃｔｏｒ＿ａ）を算出する要素ａ算出処理を実行する（ステップＳ４０２）。要素ａは、分割画像に対する類似度が大きく、かつ、類似度を大きい順に並べたときの順序が小さいほど大きくなるような値である。要素ａ算出処理の詳細については後述する。なお、要素ａの算出式は以下の（１）式で表される。
【数１】
2011086113.tif 000003
【００５９】
ここで、ｃｏｄｅｒは、取得された分類コードのうちｒ番目（１≦ｒ≦分類コード数）の分類コードを表す。ｆａｃｔｏｒ＿ａ（ｃｏｄｅｒ）は、ｃｏｄｅｒに対するスコアを算出するための要素ａの値を表す。ＳｉｍＳｃｏｒｅ（Ｉｍｇｉ）は、検索時にＩｍｇｉに対して求められた分割画像に対する類似度を表す。Ｉｍｇｉは、ｃｏｄｅｒが対応づけられた学習画像の集合であるＩＭ（ｃｏｄｅｒ）に含まれる学習画像を表す。ｂａｓｅは、予め定められた基数である。ｒａｎｋ（Ｉｍｇｉ）は、ｋ個の検索結果内での学習画像Ｉｍｇｉの類似度の大きさの順序（ランク）を表す。ランクは、１〜ｋの整数値であり、類似度が大きいほど値は小さくなる。
【００６０】
ｂａｓｅは、１未満の値（例えば０．９５）を設定する。これにより、ｒａｎｋ（Ｉｍｇｉ）を指数とするｂａｓｅのべき乗が、ｒａｎｋ（Ｉｍｇｉ）が大きいほど小さくなるようにできる。なお、ｒａｎｋ（Ｉｍｇｉ）−１を指数とするように構成してもよい。
【００６１】
要素ａを算出した後、算出部１１４は、スコアを算出するために用いられる別の値（第２要素値）である要素ｂ（ｆａｃｔｏｒ＿ｂ）を算出する要素ｂ算出処理を実行する（ステップＳ４０３）。要素ｂは、分類コードに複数の学習画像が対応づけられているときに、各学習画像の特徴量が相互に類似するほど大きくなるような値である。３つ以上の学習画像が分類コードに対応づけられているときは、すべての２つの学習画像の組み合わせに対して特徴量間が相互に類似する度合いを表す相互類似度が算出され、要素ｂに加算される。要素ｂ算出処理の詳細については後述する。なお、要素ｂの算出式は以下の（２）式〜（５）式で表される。
【数２】
2011086113.tif 000004
【００６２】
ｆａｃｔｏｒ＿ｂ（ｃｏｄｅｒ）は、ｃｏｄｅｒに対するスコアを算出するための要素ｂの値を表す。（４）式のｗ（Ｉｍｇｓ，Ｉｍｇｔ）は、ＩｍｇｓとＩｍｇｔとの相互類似度を表す。（４）式に含まれるｄｉｓｔ（Ｉｍｇｓ，Ｉｍｇｔ）は、特徴ベクトル空間内でのＩｍｇｓの特徴量を含む特徴ベクトルとＩｍｇｔの特徴量を含む特徴ベクトルとの間のユークリッド距離を表す。また、（４）式に含まれるＣは、予め定められる定数であり、例えばＣ＝１００を用いる。
【００６３】
要素ｂを算出した後、算出部１１４は、分類コード（ｃｏｄｅｒ）のＩＤＦ（Inverse Document Frequency）を算出する（ステップＳ４０４）。ｃｏｄｅｒのＩＤＦは、以下の（６）式により算出される。
ｉｄｆ（ｃｏｄｅｒ）＝ｌｏｇ（Ｎ／ｄｆ（ｃｏｄｅｒ））  ・・・（６）
【００６４】
Ｎは、インデックス記憶部１５１に記憶されている学習画像の総数を表す。ｄｆ（ｃｏｄｅｒ）は、インデックス記憶部１５１に記憶されている学習画像のうち、ｃｏｄｅｒが対応づけられている学習画像の個数を表す。
【００６５】
次に、算出部１１４は、算出したＩＤＦ、要素ａ、および要素ｂを用いて、以下の（７）式により、分類コード（ｃｏｄｅｒ）のスコアを表すｓｃｏｒｅ（ｃｏｄｅｒ）を算出する（ステップＳ４０５）。
ｓｃｏｒｅ（ｃｏｄｅｒ）＝α×ｉｄｆ（ｃｏｄｅｒ）×ｆａｃｔｏｒ＿ａ（ｃｏｄｅｒ）
＋β×ｆａｃｔｏｒ＿ｂ（ｃｏｄｅｒ）  ・・・（７）
【００６６】
αおよびβは予め定められた定数を表す。このように、算出部１１４は、ＩＤＦと要素ａとの積と、要素ｂとの線形和をスコアとして算出する。
【００６７】
次に、算出部１１４は、すべての分類コードを処理したか否かを判断し（ステップＳ４０６）、処理していない場合は（ステップＳ４０６：Ｎｏ）、次の未処理の分類コードを取得して処理を繰り返す（ステップＳ４０１）。すべての分類コードを処理した場合は（ステップＳ４０６：Ｙｅｓ）、スコア算出処理を終了する。
【００６８】
次に、ステップＳ４０２の要素ａ算出処理の詳細について説明する。図５は、要素ａ算出処理の全体の流れを示すフローチャートである。
【００６９】
まず、算出部１１４は、現在処理している分類コード（ｃｏｄｅｒ）に対応する要素ａ（ｆａｃｔｏｒ＿ａ（ｃｏｄｅｒ））の値を０に初期化する（ステップＳ５０１）。次に、算出部１１４は、検索された学習画像のうち未処理の学習画像（以下、Ｉｍｇｉとする）を取得する（ステップＳ５０２）。次に、算出部１１４は、分類コードｃｏｄｅｒが、学習画像Ｉｍｇｉに対応づけられているか否かを判断する（ステップＳ５０３）。算出部１１４は、例えば対応記憶部１５２を参照することにより、学習画像Ｉｍｇｉに所望の分類コードが対応づけられているかを判断する。
【００７０】
分類コードｃｏｄｅｒが、学習画像Ｉｍｇｉに対応づけられている場合（ステップＳ５０３：Ｙｅｓ）、算出部１１４は、ｂａｓｅのｒａｎｋ（Ｉｍｇｉ）乗を算出し、得られた値と学習画像Ｉｍｇｉに対して得られた類似度（ＳｉｍＳｃｏｒｅ（Ｉｍｇｉ））との積を、ｆａｃｔｏｒ＿ａ（ｃｏｄｅｒ）に加算する（ステップＳ５０４）。
【００７１】
分類コードｃｏｄｅｒが、学習画像Ｉｍｇｉに対応づけられていない場合（ステップＳ５０３：Ｎｏ）、および、ステップＳ５０４の後、算出部１１４は、すべての学習画像を処理したか否かを判断する（ステップＳ５０５）。
【００７２】
すべての学習画像を処理していない場合（ステップＳ５０５：Ｎｏ）、算出部１１４は、次の未処理の学習画像を取得して処理を繰り返す（ステップＳ５０２）。すべての学習画像を処理した場合（ステップＳ５０５：Ｙｅｓ）、要素ａ算出処理を終了する。
【００７３】
次に、ステップＳ４０３の要素ｂ算出処理の詳細について説明する。図６は、要素ｂ算出処理の全体の流れを示すフローチャートである。
【００７４】
まず、算出部１１４は、現在処理している分類コード（ｃｏｄｅｒ）に対応する要素ｂ（ｆａｃｔｏｒ＿ｂ（ｃｏｄｅｒ））の値、および、カウンタｉを０に初期化する（ステップＳ６０１）。また、算出部１１４は、カウンタｊをｉ＋１に初期化する（ステップＳ６０２）。
【００７５】
次に、算出部１１４は、ｒａｎｋがｉ番目となる学習画像（Ｉｍｉとする）を取得する（ステップＳ６０３）。また、算出部１１４は、ｒａｎｋがｊ番目となる学習画像（Ｉｍｊとする）を取得する（ステップＳ６０４）。次に、算出部１１４は、分類コードｃｏｄｅｒが、取得したＩｍｉおよびＩｍｊの両方に対応づけられているか否かを判断する（ステップＳ６０５）。
【００７６】
両方に対応づけられている場合（ステップＳ６０５：Ｙｅｓ）、算出部１１４は、ＩｍｉおよびＩｍｊとの相互類似度を算出し、ｆａｃｔｏｒ＿ｂ（ｃｏｄｅｒ）に加算する（ステップＳ６０６）。相互類似度は、上記（４）式のように特徴ベクトル空間でのユークリッド距離が小さいほど大きくなるように算出される。
【００７７】
分類コードｃｏｄｅｒがＩｍｉおよびＩｍｊの両方に対応づけられていない場合（ステップＳ６０５：Ｎｏ）、および、ステップＳ６０６の後、算出部１１４は、ｊの値に１を加算する（ステップＳ６０７）。次に、算出部１１４は、ｊがｋより小さいか否かを判断し（ステップＳ６０８）、小さい場合は（ステップＳ６０８：Ｙｅｓ）、ステップＳ６０４に戻り処理を繰り返す。ｊがｋ以上となった場合は（ステップＳ６０８：Ｎｏ）、算出部１１４は、ｉの値に１を加算する（ステップＳ６０９）。次に、算出部１１４は、ｉがｋ−１より小さいか否かを判断し（ステップＳ６１０）、小さい場合は（ステップＳ６１０：Ｙｅｓ）、ステップＳ６０３に戻り処理を繰り返す。ｉがｋ−１以上となった場合は（ステップＳ６１０：Ｎｏ）、要素ｂ算出処理を終了する。
【００７８】
次に、ステップＳ３１０の画像パターン検出処理の詳細について説明する。図７は、画像パターン検出処理の一例を示す説明図である。図７は、１つ以上の四角形を含む画像パターンを検出する場合の例を表している。
【００７９】
パターン検出部１１８は、対象画像のノイズを除去し（ステップＳ７０１）、輪郭を検出する（ステップＳ７０２）。次に、パターン検出部１１８は、検出した各輪郭の頂点を算出し（ステップＳ７０３）、頂点が４つである輪郭を取得する（ステップＳ７０４）。次に、パターン検出部１１８は、輪郭の各辺の長さ、角の大きさを算出する（ステップＳ７０５）。パターン検出部１１８は、辺の長さ、角の大きさの算出結果から、輪郭が長方形（ウイーン分類の２６．４．２）、正方形（ウイーン分類の２６．４．１）、またはそれ以外の四角形であるかを判定できる。すなわち、パターン検出部１１８は、長方形および正方形である画像パターンを検出できる。
【００８０】
複数の輪郭が検出された場合は、パターン検出部１１８は、さらに輪郭間の位置関係を検出する（ステップＳ７０６）。例えば、パターン検出部１１８は、各四角形の４つの頂点の座標の大小関係を比較することにより、２つの四角形が重なっていることを検出する。この場合、例えば「並置・結合又は交差する複数の四角形（ウイーン分類の２６．４．９）」である画像パターンが検出される。同様にして、ウイーン分類のその他の分類コード（図７では２６．４．４、２６．４．７、２６．４．８）に対応する画像パターンを検出することができる。
【００８１】
次に、出力部１２１が最適な分類コードを決定するときに参照する信用テーブルについて説明する。図８は、信用テーブルのデータ構造の一例を示す図である。図８に示すように、信用テーブルは、分類コードごとに、機能Ａ（ＫＮＮ）、機能Ｂ（ランダムフォレスト）、および機能Ｃ（パターン検出）のそれぞれで検出したときの分類コードの信用値を記憶する。
【００８２】
信用値は、例えば学習データに対して各機能で分類コードを検出したときに事前に算出し、信用テーブルに保存しておく。信用値としては、例えば、再現率と適合率との調和平均であるＦ値を用いることができる。なお、信用値はこれに限られるものではなく、分類コードの確からしさを表すものであればあらゆる指標を適用できる。例えば、再現率または適合率のいずれかを信用値として利用してもよい。
【００８３】
出力部１２１は、このような信用テーブルを参照し、第１決定部１１５、第２決定部１１７、および第３決定部１１９で決定された各分類コードに対応する信用値を取得する。そして、信用値が高い所定数の分類コードを選択して最終的な分類コードとして出力する。なお、出力部１２１は、上記各決定部（第１決定部１１５、第２決定部１１７、第３決定部１１９）のうち、分類コードを決定した決定部に対応する信用テーブルの列から、信用値を取得する。例えば、分類コード「２６．１．１」が第１決定部１１５により得られた場合は、「ＫＮＮ」の列に対応する信用値「０．４１」を信用テーブルから取得する。また、複数の決定部が同一の分類コードが決定された場合は、対応する信用値のうち最大の信用値を取得する。
【００８４】
次に、機能Ａにより分類コードのスコアを算出する処理の具体例について説明する。以下では、対象画像を分割した分割画像に類似する学習画像として、Ｉｍｇ１〜Ｉｍｇ５の５つの学習画像が得られた場合を例に説明する。図９は、学習画像ごとに求められるランク、類似度、対応づけられた分類コード（関連分類コード）の例を示す図である。
【００８５】
図９に示すように、この例では、各学習画像に対応する分類コードとして、｛１．１、２．３、４．２、３．５、５．１｝が得られる。したがって、ステップＳ３０６のスコア算出処理は、この５つの分類コードを対象として実行される。
【００８６】
分類コードは、複数の学習画像に対応づけられている場合がある。図９の例では、例えば分類コード「１．１」がＩｍｇ１およびＩｍｇ３の２つの学習画像に対応づけられている。したがって、例えば分類コード「１．１」が対応づけられた学習画像の集合ＩＭ（１．１）は、ＩＭ（１．１）＝｛Ｉｍｇ１、Ｉｍｇ３｝となる。同様に、ＩＭ（２．３）＝｛Ｉｍｇ１、Ｉｍｇ２｝、ＩＭ（４．２）＝｛Ｉｍｇ１、Ｉｍｇ４｝、ＩＭ（３．５）＝｛Ｉｍｇ２、Ｉｍｇ４、Ｉｍｇ５｝、およびＩＭ（５．１）＝｛Ｉｍｇ２、Ｉｍｇ３、Ｉｍｇ５｝となる。
【００８７】
分類コード「１．１」の要素ａ（ｆａｃｔｏｒ＿ａ（１．１））は、以下のように算出される。
ｆａｃｔｏｒ＿ａ（１．１）＝０．５７×ｐｏｗｅｒ（０．９５、０）
＋０．４８×ｐｏｗｅｒ（０．９５、２）＝１．００３２
【００８８】
ｐｏｗｅｒ（ａ，ｂ）は、ａを基数、ｂを指数とするべき乗を算出する関数を表す。なお、ここでは、ｒａｎｋ（Ｉｍｇｉ）−１を指数として用いている。
【００８９】
同様に、その他の分類コードの要素ａは、以下のように算出される。
ｆａｃｔｏｒ＿ａ（２．３）＝０．５７×ｐｏｗｅｒ（０．９５、０）
＋０．５２×ｐｏｗｅｒ（０．９５、１）＝１．０６４
ｆａｃｔｏｒ＿ａ（４．２）＝０．５７×ｐｏｗｅｒ（０．９５、０）
＋０．４６×ｐｏｗｅｒ（０．９５、３）≒０．９６４
ｆａｃｔｏｒ＿ａ（３．５）＝０．５２×ｐｏｗｅｒ（０．９５、１）
＋０．４６×ｐｏｗｅｒ（０．９５、３）
＋０．３２×ｐｏｗｅｒ（０．９５、４）≒１．１４９
ｆａｃｔｏｒ＿ａ（５．１）＝０．５２×ｐｏｗｅｒ（０．９５、１）
＋０．４８×ｐｏｗｅｒ（０．９５、２）
＋０．３２×ｐｏｗｅｒ（０．９５、４）≒１．１８８
【００９０】
この例では、分類コード「５．１」に対する要素ａの値が最も大きい。したがって、分類コード「５．１」に対するスコアがより大きい値となることが予想される。
【００９１】
図１０は、学習画像間の相互類似度の算出例を示す図である。図１０は、上記（４）式により算出される値の一例を示している。図１０の値を用いると、上記（２）式により、分類コードの要素ｂが以下のように算出される。
ｆａｃｔｏｒ＿ｂ（１．１）＝０．４１
ｆａｃｔｏｒ＿ｂ（２．３）＝０．４３
ｆａｃｔｏｒ＿ｂ（４．２）＝０．３５
ｆａｃｔｏｒ＿ｂ（３．５）＝０．４０＋０．３８＋０．１５＝０．９３
ｆａｃｔｏｒ＿ｂ（５．１）＝０．５３＋０．３８＋０．５６＝１．４７
【００９２】
この例では、分類コード「５．１」に対する要素ｂの値が最も大きい。したがって、分類コード「５．１」に対するスコアがより大きい値となることが予想される。実際に算出されるスコアは、上記（２）式に示すように、各分類コードのＩＤＦ、α、およびβの値によって変わる。しかし、上記例の要素ａおよび要素ｂの算出結果からは、分類コード「５．１」に対するスコアが最大となる可能性が高いと言える。
【００９３】
図９に示すように、この分類コード「５．１」は、検索された５つの画像のうち、３つの画像（Ｉｍｇ２、Ｉｍｇ３、Ｉｍｇ５）に対応づけられている。また、図１０に示すように、分類コード「５．１」は、相互類似度が最も大きい２つの画像であるＩｍｇ３およびＩｍｇ５に共に含まれている。このように、本実施の形態によれば、より多くの画像に対応づけられており、かつ、対応づけられた複数の画像間の相互類似度が大きい分類コードに対して、より大きい値のスコアを算出できる。したがって、画像に付与する注釈をより適切に決定することが可能となる。
【００９４】
次に、本実施の形態にかかる注釈付与装置のハードウェア構成について図１１を用いて説明する。図１１は、本実施の形態にかかる注釈付与装置のハードウェア構成の一例を示す図である。
【００９５】
本実施の形態の注釈付与装置は、ＣＰＵ５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ５３などの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス６１を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００９６】
本実施の形態の注釈付与装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
【００９７】
また、本実施の形態の注釈付与装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の注釈付与装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００９８】
また、本実施の形態のプログラムを、ＲＯＭ５２等に予め組み込んで提供するように構成してもよい。
【００９９】
本実施の形態の注釈付与装置で実行されるプログラムは、上述した各部（画像受付部、分割部、特徴抽出部、検索部、算出部、第１決定部、分類部、第２決定部、パターン検出部、第３決定部、出力部、通信部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）５１が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。
【符号の説明】
【０１００】
１００  注釈付与装置
１０１  画像受付部
１１１  分割部
１１２  特徴抽出部
１１３  検索部
１１４  算出部
１１５  第１決定部
１１６  分類部
１１７  第２決定部
１１８  パターン検出部
１１９  第３決定部
１２１  出力部
１２２  通信部
１５１  インデックス記憶部
１５２  対応記憶部
１５３  規則記憶部
２００ａ、２００ｂ  ユーザ端末
３００  ネットワーク
【先行技術文献】
【非特許文献】
【０１０１】
【非特許文献１】Jia-Yu Pan et al., "Cross-Modal Correlation Mining Using Graph Algorithms"（Knowledge Discovery and Data Mining: Challenges and Realities with Real-word Data, Chapter IV）, Information Science Reference, June 2006.
【図１】
2011086113.tif 000005
【図２】
2011086113.tif 000006
【図３】
2011086113.tif 000007
【図４】
2011086113.tif 000008
【図５】
2011086113.tif 000009
【図６】
2011086113.tif 000010
【図７】
2011086113.tif 000011
【図８】
2011086113.tif 000012
【図９】
2011086113.tif 000013
【図１０】
2011086113.tif 000014
【図１１】
2011086113.tif 000015