(57)【要約】【課題】グラフ構造を持つデータに対して、性能、演算量、および汎用性を同時に満たすようなデータの調和解析方法及びデータ解析装置を提供する。【解決手段】解析対象とする複数のデータを取得し、該取得した複数のデータのそれぞれのデータ値の発生源である複数のデータ源の間の類似度を求め、前記取得した複数のデータを表すグラフ構造として前記複数のデータに対応する複数の子ノードの層を下層としてデータを有さない親ノードの層を上層とする階層グラフを生成し、該生成した前記階層グラフにおいて前記求めた類似度の情報を用いて前記複数の子ノードのそれぞれに対し前記親ノードとの結合率を計算し、前記生成した前記階層グラフに基づいて前記グラフのデータ値に対する調和解析を行ってデータ解析を行うデータの調和解析方法及びデータ解析装置であって、前記データ解析を行うときに、前記計算した前記子ノードと前記親ノードとの結合率に応じて前記調和解析を行うことを特徴とする。【選択図】  図１
2014048786.tif 000002
【特許請求の範囲】
【請求項１】
データの調和解析方法であって、
解析対象とする複数のデータを取得するデータ取得ステップと、
該データ取得ステップで取得した複数のデータのそれぞれのデータ値の発生源である複数のデータ源の間の類似度を求める類似度算出ステップと、
前記データ取得ステップで取得した複数のデータを表すグラフ構造として前記複数のデータに対応する複数の子ノードの層を下層とし、データを有さない親ノードの層を上層とする階層グラフを生成する階層グラフ生成ステップと、
該階層グラフ生成ステップで生成した前記階層グラフにおいて前記類似度算出ステップで求めた類似度の情報を用いて前記複数の子ノードのそれぞれに対し前記親ノードとの結合率を計算する結合率計算ステップと、
前記階層グラフ生成ステップで生成した前記階層グラフに基づいて前記グラフのデータ値に対する調和解析を行ってデータ解析を行う調和解析ステップとを有し、
前記解析ステップにおいて、前記結合率計算ステップで計算した前記子ノードと前記親ノードとの結合率に応じて前記調和解析を行うことを特徴とするデータの調和解析方法。
【請求項２】
データの調和解析方法であって、
解析対象とする複数のデータを取得するデータ取得ステップと、
該データ取得ステップで取得した複数のデータのそれぞれのデータ値の発生源である複数のデータ源の間の類似度を求める類似度算出ステップと、
前記データ取得ステップで取得した複数のデータを表すグラフ構造として前記複数のデータに対応する複数の子ノードの層を最下層として該最下層の上に配置するデータを有さない親ノードの一つ以上の層のうちの最上位層のノード数を指定するノード数指定ステップと、
該ノード数指定ステップで指定された最上位層のノード数の条件を受けて前記最下層から前記最上層までを含む階層グラフを生成する階層グラフ生成ステップと、
該階層グラフ生成ステップで生成した前記階層グラフにおいて前記最下層の複数の子ノードのそれぞれに対し前記最下層の一つ上の層の親ノードと結合させるための類似度の下限の情報を入力する類似度下限情報入力ステップと、
前記類似度算出ステップで求めた類似度の情報と前記類似度下限情報入力ステップで入力した類似度の下限の情報とを用いて前記複数の子ノードのそれぞれに対し前記親ノードとの結合率を計算する結合率計算ステップと、
前記階層グラフ生成ステップで生成した前記階層グラフに基づいて前記グラフのデータ値に対して前記結合率計算ステップで計算した結合率に応じて調和解析を行ってデータ解析を行う調和解析ステップと
を有することを特徴とするデータの調和解析方法。
【請求項３】
前記結合率計算ステップにおいて、前記類似度算出ステップで求めた類似度が高いほど前記結合率を高く設定することを特徴とする請求項１又は２に記載のデータの調和解析方法。
【請求項４】
前記階層グラフ生成ステップにおいて、前記データを有さない親ノードの層を複数層形成することを特徴とする請求項１又は２に記載のデータの調和解析方法。
【請求項５】
前記調和解析ステップにおいて、前記親ノード層の各親ノードについて、前記親ノード層の下層の前記子ノード層の各子ノードとの結合率に基づいて求めた値を前記親ノードのデータ値として前記データ解析を行うことを特徴とする請求項１又は２に記載のデータの調和解析方法。
【請求項６】
前記階層グラフ生成ステップにおいて前記データを有さない親ノードの層を複数層形成し、前記結合率算出ステップにおいて前記子ノード層を含む前記親ノードの複数層の各層間における各ノードの結合率を求め、前記調和解析ステップにおいて、前記子ノード層の一つ上の親ノード層の各親ノードについて前記子ノード層の各子ノードとの結合率に基づいて求めた値を前記親ノードのデータ値として設定し、該データを設定した親ノード層と該親ノード層の一つ上の親ノード層との結合率を求めることを順次前記複数層のうちの最上層の親ノード層まで行うことを特徴とする請求項１又は２に記載のデータの調和解析方法。
【請求項７】
データを解析する装置であって、
解析対象とする複数のデータを取得するデータ取得部と、
該データ取得部で取得した複数のデータのそれぞれのデータ値の発生源である複数のデータ源の間の類似度を求める類似度算出部と、
前記データ取得部で取得した複数のデータを表すグラフ構造として前記複数のデータに対応する複数の子ノードの層を下層とし、データを有さない親ノードの層を上層とする階層グラフを生成する階層グラフ生成部と、
該階層グラフ生成部で生成した前記階層グラフにおいて前記類似度算出部で求めた類似度の情報を用いて前記複数の子ノードのそれぞれに対し前記親ノードとの結合率を計算する結合率計算部と、
前記階層グラフ生成部で生成した前記階層グラフに基づいて前記グラフのデータ値に対する調和解析を行ってデータ解析を行う調和解析部とを備え、
前記調和解析部において、前記結合率計算部で計算した前記子ノードと前記親ノードとの結合率に応じて前記調和解析を行うことを特徴とするデータ解析装置。
【請求項８】
データの解析装置であって、
解析対象とする複数のデータを取得するデータ取得部と、
該データ取得部で取得した複数のデータのそれぞれのデータ値の発生源である複数のデータ源の間の類似度を求める類似度算出部と、
前記データ取得部で取得した複数のデータを表すグラフ構造として前記複数のデータに対応する複数の子ノードの層を最下層として該最下層の上に配置するデータを有さない親ノードの一つ以上の層のうちの最上位層のノード数を指定するノード数指定部と、
該ノード数指定部で指定された最上位層のノード数の条件を受けて前記最下層から前記最上層までを含む階層グラフを生成する階層グラフ生成部と、
該階層グラフ生成部で生成した前記階層グラフにおいて前記最下層の複数の子ノードのそれぞれに対し前記最下層の一つ上の層の親ノードと結合させるための類似度の下限の情報を入力する類似度下限情報入力部と、
前記類似度算出部で求めた類似度の情報と前記類似度下限情報入力部から入力された類似度の下限の情報とを用いて前記複数の子ノードのそれぞれに対し前記親ノードとの結合率を計算する結合率計算部と、
前記階層グラフ生成部で生成した前記階層グラフに基づいて前記グラフのデータ値に対して前記結合率計算部で計算した結合率に応じて調和解析を行ってデータ解析を行う調和解析部と
を備えたことを特徴とするデータ解析装置。
【請求項９】
前記結合率計算部は、前記類似度算出部で求めた類似度が高いほど前記結合率を高く設定することを特徴とする請求項７又は８に記載のデータ解析装置。
【請求項１０】
前記階層グラフ生成部において、前記データを有さない親ノードの層を複数層形成することを特徴とする請求項７又は８に記載のデータ解析装置。
【請求項１１】
前記調和解析部において、前記親ノード層の各親ノードについて、前記親ノード層の下層の前記子ノード層の各子ノードとの結合率に基づいて求めた値を前記親ノードのデータ値として前記データ解析を行うことを特徴とする請求項７又は８に記載のデータ解析装置。
【請求項１２】
前記階層グラフ生成部において前記データを有さない親ノードの層を複数層形成し、前記結合率算出部において前記子ノード層を含む前記親ノードの複数層の各層間における各ノードの結合率を求め、前記調和解析部において、前記子ノード層の一つ上の親ノード層の各親ノードについて前記子ノード層の各子ノードとの結合率に基づいて求めた値を前記親ノードのデータ値として設定し、該データを設定した親ノード層と該親ノード層の一つ上の親ノード層との結合率を求めることを順次最上層の親ノード層まで行うことを特徴とする請求項７又は８に記載のデータ解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを解析する方法及びその装置に関し、特に複雑データを解析するのに適したデータの調和解析方法及びそれに用いるデータ解析装置に関する。
【背景技術】
【０００２】
フーリエ解析やウェーブレット解析に代表される調和解析技術は、格子状に並んだ１次元や２次元のデータに対する実用的な解析手法として、多くの分野で用いられている。ここで、格子状に並んだデータとは、隣り合ったデータの間の距離が均一なデータのことである。調和解析技術を用いると、データの推定、予測、データ圧縮、データに重畳したノイズの除去、データの分類等、多様なデータ解析が行える（例えば、非特許文献１）。近年では、２次元データに対する解析手法として、ウェッジレット、カーブレット等のより高度な技術も提案されている（例えば、非特許文献２、３）。
【０００３】
一方、格子状に並んだ２次元以下のデータではないデータ、すなわち３次元以上のデータや格子状に並んでいないデータ（以下、複雑データと呼ぶ）にも適用可能な解析手法の重要性が高まっている。複雑データに対する高精度な解析技術を確立できれば、例えばセンサネットから得られるデータの解析や、複雑な（例えば非ユークリッド空間上の）特徴量空間で表現されたデータの分類等に適用できるほか、従来の格子状に並んだ２次元以下のデータに対する処理の高度化も期待できる。しかし、格子状に並んだ２次元以下のデータの解析を目的として開発された従来の手法を、複雑データにそのまま適用することは困難である。
【０００４】
格子状に並んだ２次元以下のデータや複雑データは、グラフ構造を持つデータと解釈できる。ここで、グラフ構造とは、ノード（頂点）の集合と、ノード間を結合するエッジの集合により構成される構造である。二つのノードが一つのエッジで繋がっているとき、それらのノードは結合していると呼ぶ。格子状に並んだ２次元以下のデータは、２次元以下の格子状のグラフ構造を持つデータとみなせる。複雑データに対応するためには、２次元以下の格子状のグラフ構造のみでなく、より一般的なグラフ構造を持つデータに適用可能な調和解析技術の開発が必要となる。これらのグラフ構造を持つデータに適用可能な調和解析手法はこれまでにも幾つか提案されてはいるものの、十分な性能は得られていない（例えば、特許文献１、非特許文献４）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２００６／０００４７５３号明細書
【非特許文献】
【０００６】
【非特許文献１】S. G. Mallat、IEEE Trans. Pattern Anal. Machine Intell.、vol.11、 no.7、pp. 674−693、1989.
【非特許文献２】R. L. Claypoole and R. G. Baraniｕk、Proc. SPIE、vol. 4119、pp. 253−262、 2000.
【非特許文献３】E. J. Candes、D. L. Donoho、IEEE Trans. Image Proc.、vol. 11、  pp. 670−684、 2002.
【非特許文献４】M. Gavish 、 B. Nadler 、 R. R. Coifman、 International Conference  on Machine Learning、pp. 367−374、2010.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
グラフ構造を持つデータに対する調和解析技術の主な課題は、性能、演算量、および汎用性の両立である。適用対象を単純なグラフ構造に限定すれば、そのグラフ構造を持つデータに対しては高い性能が得られ、かつ演算量も少ない調和解析手法が存在する場合もある。例えば、先述のウェッジレットやカーブレットは、２次元の格子状のグラフ構造を持つデータに対して高性能かつ高速な調和解析が行える手法である。しかし、そのままではこれらの調和解析手法をより一般的なグラフ構造に適用することは困難である。グラフ構造を２次元の格子状のグラフ構造に近似すれば適用はできるが、性能劣化を招く。また、より一般的なグラフ構造に適用できる手法として、木構造を持つデータに対する調和解析技術が提案されている（非特許文献４）。しかし、木構造は、最上層ノードと呼ばれる親ノードを持たないノードが一つしか存在せず、かつそれ以外のノードは親ノードを一つのみ持つという、非常に制約の強いグラフ構造であり、やはり一般的な複雑データに適用することは困難である。
【０００８】
一方、任意のグラフ構造を対象とした汎用的な技術が提案されている（特許文献１）。しかし、汎用的である反面、演算量が多く、一般にノード数Ｎｖに対してＮｖの２乗からＮｖの３乗のオーダの演算が必要となる。また特定のグラフ構造を持つデータに対しては十分な性能が出せない場合がある。例えば、階層グラフ構造（すなわち、ノード間に親子関係のあるグラフ）を持つデータについては、階層構造であるという情報を活用した解析を行うことは困難である。
【０００９】
本発明は、従来技術の課題を解決して、グラフ構造を持つデータに対して、性能、演算量、および汎用性を同時に満たすようなデータの調和解析方法及びデータ解析装置を提供するものである。
【課題を解決するための手段】
【００１０】
本発明では、任意のグラフ構造には適用できないが、十分に広いクラスのグラフ構造に適用可能であり、かつ高性能、高速な技術として、以下のデータの調和解析方法およびデータ解析装置により前記課題を解決する。
【００１１】
(1)本発明では、解析対象とする複数のデータを取得するデータ取得ステップと、該データ取得ステップで取得した複数のデータのそれぞれのデータ値の発生源である複数のデータ源の間の類似度を求める類似度算出ステップと、前記データ取得ステップで取得した複数のデータを表すグラフ構造として前記複数のデータに対応する複数の子ノードの層を下層とし、データを有さない親ノードの層を上層とする階層グラフを生成する階層グラフ生成ステップと、該階層グラフ生成ステップで生成した前記階層グラフにおいて前記類似度算出ステップで求めた類似度の情報を用いて前記複数の子ノードのそれぞれに対し前記親ノードとの結合率を計算する結合率計算ステップと、前記階層グラフ生成ステップで生成した前記階層グラフに基づいて前記グラフのデータ値に対する調和解析を行ってデータ解析を行う調和解析ステップとを有するデータの調和解析方法であって、前記解析ステップにおいて、前記結合率計算ステップで計算した前記子ノードと前記親ノードとの結合率に応じて前記調和解析を行うようにした。
【００１２】
本発明は、階層構造を持つグラフを持つデータに適した調和解析を行うことができる。木構造も階層グラフ構造の一種であるが、本発明が対象とする階層グラフ構造は、木構造に限定されない。すなわち、最上層ノードは二つ以上あっても良いし、最上層以外のノードが複数の親ノードを持っていても良い。階層グラフ構造は、木構造を含む広いクラスのグラフ構造である。このため、多様なデータを的確に表現することが可能となる。木構造を持つグラフに対しては、直交変換と呼ばれる処理により調和解析を行えるが、木構造ではない階層グラフでは非直交変換が必要となるため、非特許文献４のような木構造向けの手法が適用できない。また、親ノードを複数持つため、それぞれの親ノードとの結合の強さを加味して調和解析を行う必要がある。本発明では、非直交変換を用いた調和解析を適用する。また、各子ノードに対し、親ノードとの結合率を計算し、結合率に応じて調和解析方法を変える。一方、任意のグラフ構造に適用可能な汎用的な手法とは異なり、グラフの階層構造に関する情報を積極的に活用して調和解析を行うことにより、性能と演算量の両立を行える。演算量に関しては、最下層ノードから順に上の階層のノードに対して処理を行う多重解像度的な処理を行うことにより、高速演算を可能とする。
【００１３】
(2)また、本発明は、階層グラフ生成ステップにおいて、前記類似度に基づいて各エッジに対する結合率を計算し、前記結合率に基づいて調和解析を行うことを特徴とする。
【００１４】
多くの階層グラフでは、各エッジに結合率が付与された重み付きグラフを考えると、データ構造をより適切に表現できる。類似度が高いほど結合率を高くすることにより、類似度の高いデータ値の間に強い関連性を持たせることができる。
【００１５】
(3)また、本発明は、階層グラフ生成ステップにおいて、前記階層グラフを生成した後、全ての最下層ノードがデータ値を持ち、最下層ノード以外の全てのノードがデータ値を持たず、かつ最上層ノードを除く全てのノードは階層が一つだけ上の親ノードを持つ階層グラフに変更することを特徴とする。
【００１６】
階層グラフ構造を持つデータにおいて、データ値を持つノードと持たないノードが存在する。また、子ノードから階層が二つ以上上の親ノードとエッジで結ばれているグラフも考えられる。このように階層グラフには多くのバリエーションがあるため、統一的に調和解析を行うことは容易ではない。そこで、調和解析を行うための前処理として処理が容易な階層グラフに変更することによって、比較的単純な処理で任意の階層グラフに対して調和解析を行うことが可能となる。
【００１７】
(4)また、本発明は、調和解析ステップにおいて、前記階層グラフにおける下層からｎ段目のノードと、下層からｎ＋１段目のノードを用いて処理を行う際、高解像度変換係数の2乗和と下層からｎ＋１段目のノードの2乗和の和を、下層からｎ段目のノードのデータ値の2乗和に等しくする処理を行うことを特徴とする。
【００１８】
多重解像度的な処理の各々において、出力の2乗和（すなわち高解像度変換係数の2乗和と下層からｎ＋１段目のノードの2乗和の和）を、入力の2乗和（すなわち下層からｎ段目のノードのデータ値の2乗和）に等しくする。これにより、調和解析の出力である、解像度変換係数と最上層ノードのデータ値の2乗和を、調和解析の入力である、各ノードのデータ値の2乗和に等しくすることができる。調和解析の前後でデータ値の2乗和が保存されるという性質はパーセバルの等式と呼ばれ、本性質を満たす調和解析はデータ処理の際に有用である。例えば、入力であるデータ値に含まれるノイズの2乗和と、ノイズ以外の成分（以下、信号成分）の2乗和の比率は、調和解析後でも保存されるため、調和解析後の値を用いてノイズ量を推定することが容易にできる。直交変換では、パーセバルの等式を満たすことが保証されるが、非直交変換では一般に本等式は満たさない。しかし、本発明では、多重解像度的な処理の各々において入出力の2乗和を等しくする処理を行うことで、非直交変換においてもパーセバルの等式を満たす処理を可能とする。
【００１９】
(5)また、本発明は、調和解析ステップにおいて、前記階層グラフのエッジ数と、データ値を持つノードの個数の和から、全ノードの個数を減算した値に等しい個数の高解像度変換係数を計算することを特徴とする。
【００２０】
木構造の場合には、全ノードの個数は、エッジ数に１を加えた値に等しい。このため、調和解析の出力である高解像度変換係数と最上位ノードのデータ値の個数（後者は１に等しい）の和は、調和解析の入力であるデータ値を持つノードの個数に等しい。すなわち、出力値の個数と入力値の個数は一致する。一方、本発明では、各ノードが複数の親ノードと結合するグラフ構造も表現できる。この際、(4)の特徴を有する調和解析を用いることで、自然で演算量の少ない処理が可能となる。
【００２１】
(6)また、本発明は、データの調和解析方法において、解析対象とする複数のデータを取得し、該取得した複数のデータのそれぞれのデータ値の発生源である複数のデータ源の間の類似度を求め、前記取得した複数のデータを表すグラフ構造として前記複数のデータに対応する複数の子ノードの層を最下層として該最下層の上に配置するデータを有さない親ノードの一つ以上の層のうちの最上位層のノード数を指定し、該指定された最上位層のノード数の条件を受けて前記最下層から前記最上層までを含む階層グラフを生成し、該生成した前記階層グラフにおいて前記最下層の複数の子ノードのそれぞれに対し前記最下層の一つ上の層の親ノードと結合させるための類似度の下限の情報を入力し、前記求めた類似度の情報と前記入力した類似度の下限の情報とを用いて前記複数の子ノードのそれぞれに対し前記親ノードとの結合率を計算し、前記生成した前記階層グラフに基づいて前記グラフのデータ値に対して前記計算した結合率に応じて調和解析を行ってデータ解析を行うようにした。
【００２２】
このように、階層グラフに適用可能な調和解析手法を利用することにより、複雑データに対するデータ値の圧縮、推定、ノイズ除去、データの分類をより高性能に行うことができる。
【発明の効果】
【００２３】
本発明によれば、複数・異種センサで取得したデータや多次元データ等の複雑データを階層グラフ構造を持つデータと捉えて調和解析を行うことにより、データ解析を高性能かつ高速に行うことができる。
【図面の簡単な説明】
【００２４】
【図１】複雑データに対する調和解析を行う方法の処理フロー図である。
【図２Ａ】複雑データの例で、複数の画像を取得して画像分類を行う場合を表す画像の図である。
【図２Ｂ】画像に対してノイズ除去処理を行う例を示す画像の図である。
【図２Ｃ】センサネットの例を示すネット構成図である。
【図３】複雑データに対する調和解析を行う解析装置の構成を示すブロック図である。
【図４Ａ】データ源の間の類似度を計算する処理の処理フローで、データ源が画像の場合であって、二つの画像のうちの一方の画像に対してシフト量、回転量、伸縮量の異なる多くの画像からなる画像群を作成し、この画像群の各画像と他方の画像との差分をとってその最小値から類似度を求める処理の流れを示すフロー図である。
【図４Ｂ】データ源の間の類似度を計算する処理の処理フローで、データ源が画像の場合であって、二つの画像のそれぞれの特徴量を計算し、その計算して求めた特徴量から類似度を求める処理の流れを示すフロー図である。
【図５Ａ】データ源の間の類似度を計算する処理の処理フローで、データ源が画像内の画素の場合であって、画像の内部の二つの画素のそれぞれの画素を含む局所領域を抽出し、この抽出した局所領域間の差の絶対値のｐ乗和を計算して類似度を求める処理の流れを示すフロー図である。
【図５Ｂ】データ源の間の類似度を計算する処理の処理フローで、データ源が画像内の画素の場合であって、画像の内部の二つの画素のそれぞれの画素を含む局所領域を抽出し、この抽出したそれぞれの局所領域の微分を計算してその差分を求め、一方抽出したそれぞれの局所領域の特徴量を求め、計算して求めた微分値の差分と特徴量とから類似度を求める処理の流れを示すフロー図である。
【図６】データ源の間の類似度を計算する処理の流れを示すフロー図である。
【図７】階層グラフの例を表す図である。
【図８】データ源が画像の場合における階層グラフの例を表す図である。
【図９Ａ】データ源が画素の場合における階層グラフの例を表す図で、２段目の層には最下層の１段目の層のノード数に対してｘ方向のみ１/２間引きしてノードを配置し、最上層の３段目には２段目に対してｘ方向のみ１/２間引きしてノードを配置した状態で、上下層間のそれぞれのノード間の類似度に基づいて結合の仕方を決定した例を示す階層グラフのイメージ図である。
【図９Ｂ】データ源が画素の場合における階層グラフの例を表す図で、２段目の層には最下層の１段目の層のノード数に対してｘ、ｙ方向にそれぞれ１/２ずつ間引きしてノードを配置し、最上層の３段目には２段目に対してｘ、ｙ方向にそれぞれ１/２ずつ間引きしてノードを配置した状態で、上下層間のそれぞれのノード間の類似度に基づいて結合の仕方を決定した例を示す階層グラフのイメージ図である。
【図９Ｃ】データ源が画素の場合における階層グラフの例を表す図で、最下層の１段目に２枚の画像を配置し、２段目及び３段目にも二つのノード群を配置して上下層間のそれぞれのノード間の類似度に基づいて結合の仕方を決定した例を示す階層グラフのイメージ図である。
【図１０】データ源がセンサネットのセンサデバイスの場合における階層グラフの例を表す図である。
【図１１】全ての最下層ノードはデータ値を持ち、逆に最下層以外のノードはデータ値を持っていないという条件、又は、最上層を除く全てのノードは一つだけ階層が上の親ノードを持っているという条件を満たしていない場合に階層グラフを整形する例を表す図である。
【図１２】全ての最下層ノードはデータ値を持ち、逆に最下層以外のノードはデータ値を持っていないという条件、又は、最上層を除く全てのノードは一つだけ階層が上の親ノードを持っているという条件を満たしていない場合に階層グラフを生成する処理の流れを示すフロー図である。
【図１３Ａ】各子ノードにおいて親ノードとの結合率の和が１になる場合における親ノードとの結合率の計算方法の例を表す図である。
【図１３Ｂ】各子ノードにおいて親ノードとの結合率の和が１になるという制約が無い場合における親ノードとの結合の状態の例を表す図である。
【図１４】多重解像度的に調和解析を行う方法の処理の流れを示すフロー図である。
【図１５】多重解像度的に調和解析の逆変換を行う方法の処理の流れを示すフロー図である。
【図１６】高解像度変換係数の2乗和と、最上層ノードのデータ値の2乗和の和が、前記調和解析ステップを実施する前での各ノードのデータ値の2乗和に等しくなるように調和解析を行う例を表す図である。
【図１７】調和解析ステップにおいて、前記階層グラフのエッジ数と、データ値を持つノードの個数の和から、全ノードの個数を減算した値に等しい個数の高解像度変換係数を計算する例を表す図である。
【図１８】複雑データに対する調和解析を用いたノイズ除去の処理の流れを示すフロー図である。
【図１９】図１８のフロー図のＳ１８１０における縮退処理の処理方法を表す図である。
【図２０】複雑データに対する調和解析を用いたデータ推定の処理の流れを示すフロー図である。
【図２１】データを逐次取得しながら動的に半教示型のデータ分類を行う処理の流れを示すフロー図である。
【図２２】複雑データに対する調和解析を行う際のユーザインターフェイス画面である。
【発明を実施するための形態】
【００２５】
本発明は、複数・異種センサで取得したデータや多次元データ等の複雑データの解析方法に係り、特にデータを階層構造を持つデータと捉えて調和解析を行う方法およびその装置を提供するものである。以下、本発明に係る実施の形態について図面を用いて説明する。
【００２６】
図１は、複雑データに対する調和解析を行う方法の処理フローを示す一実施例図である。本フローでは、データを取得するステップＳ１０１と、取得したデータに基づいてデータ源の間の類似度を取得または計算するステップＳ１０２と、階層グラフを生成するステップＳ１０３と、生成した階層グラフを用いてデータ値の調和解析を行うステップＳ１０４からなる。データとは、調和解析により解析したい値（以下、データ値）と、データ値を発生する源（以下、データ源）に関する情報を含む、処理対象とする各種の情報のことを表す。データは、直接観測できないような情報を含んでいても良い。ステップＳ１０３では、木構造でない階層グラフを生成し、ステップＳ１０４では、その階層グラフを用いて調和解析を行う。具体的な調和解析方法は後述する。
【００２７】
このように、木構造ではない階層グラフを生成し、階層グラフ上のデータに適した調和解析を行うことにより、階層グラフで表現できる各種のデータに対して高性能な解析を行うことが可能となる。また、最下層ノードから順に上の階層のノードに対する処理を行うことにより、多重解像度的な処理を行うことができ、これにより演算量を削減することができる。
【００２８】
以下、具体例を示しながら、各ステップの詳細を説明する。  
まず、データの例を図２Ａ〜Ｃを用いて説明する。図２Ａは、複数の画像を取得して画像分類を行う例である。画像１では、２本の直線状の構造２０１と、円状の構造２０２が画像内に映っている。画像３も同様である。画像２では、直線状の構造２０３のみが映っているが、そのトポロジーは画像１のものとは異なり、２本の直線状の構造が連結している。画像４に映っている直線状の構造は、構造２０３と同じトポロジーを持っている。これらの画像を、例えば円状の構造を持つ画像（画像１、画像３等）をクラスＡ、構造２０３と同じトポロジーの構造を持つ画像（画像２、画像４等）をクラスＢ、のように分類したい。一部の画像は、どのクラスに属するかが予めわかっているが、残りの画像はどのクラスに属するかは未知とする。この例では、画像と、各画像が属するクラスに関する情報がデータとなる。
【００２９】
また、クラスを表す値に対して調和解析を行うことにより、画像分類を行うことができる。例えば、クラスＡである度合いを０〜１の実数値で表現したものをデータ値とすることを考える。各画像がデータ源である。この例では、画像１および画像３のデータ値は１、画像２のデータ値は０である。画像４はどのクラスに属するかが未知であるため、データ値は０と１の中間である０．５とする。画像分類は、クラスが未知の画像のデータ値を推定する問題と捉えることができる。データ値はスカラーである必要はなくベクトルであっても良い。例えば、各画像をクラスＡ、Ｂ、Ｃの３個のクラスに分類したいとする。この場合、データ値を、クラスＡ、Ｂ、Ｃの各々である度合いを表す３個の実数からなるベクトル値として表現することができる。また、データ値は実数のスカラーまたはベクトルではなく複素数や四元数等のスカラーまたはベクトルであっても良い。
【００３０】
図２Ｂは、１枚以上の画像２１０に対してノイズ除去を行う例である。画像は、２１１のように多数の画素から構成されている。この例では、画像がデータであり、各画素がデータ源、各画素の輝度値がデータ値であるとみなせる。カラー画像の場合には輝度値はベクトルとして表せる。輝度値はベクトルとして表せる。図２Ｃは、センサネット２２０の構成の例を示すネット構成図である。センサデバイスを白丸で表現している。また、破線で結んだセンサデバイス間が互いに通信可能であることを表している。各センサデバイスの出力に対して解析を行いたい場合、各センサデバイス２２１がデータ源、各センサデバイスの出力（例えば温度）データ値であり、データ値およびセンサデバイスに関する各種情報（例えばセンサデバイスの位置や状態）がデータである。
【００３１】
図３は、複雑データに対する調和解析を行う解析装置の一実施例を示すブロック図である。本装置は、解析対象とするデータを取得するデータ取得部３０１と、データ源の間の類似度を取得または計算する類似度取得部３０２と、データを表すグラフ構造として、複数の親ノードを持つノードが少なくとも一つ存在するような階層グラフを類似度に基づいて生成する階層グラフ生成部３０６と、階層グラフにおいて各子ノードに対し親ノードとの結合率を計算する結合率計算部３０７と、前記階層グラフに基づいて前記グラフのデータ値に対する調和解析を行う調和解析部３０８から構成される。また、データを保存するためのデータベース３０３、データおよび解析時における各種パラメータの入出力を行う入出力部３０４、各処理の制御を行う制御部３０５、データの推定、予測、データ圧縮、データに重畳したノイズの除去、データの分類等を行うデータ処理部３０９を備えている。
【００３２】
この装置により、木構造ではない階層グラフを生成して、階層グラフ上のデータに適した調和解析を行うことにより、複雑データに対する高性能な解析を行うことが可能となる。
【００３３】
次に、図４〜６を用いて、データ源の間の類似度を計算する方法について説明する。図４は、データ源の間の類似度を計算する処理の処理フローを示す一実施例図である。図４Ａ、図４Ｂともに、データ源が画像の場合の例を示す。図４Ａでは、二つの画像の間の類似度を計算するために、まず４１０の画像ＡについてステップＳ４０１により縦方向のシフト、横方向のシフト、回転、伸縮の処理を行い、シフト量・回転量・伸縮量の異なる多くの画像からなる画像群４１１を作成する。次に、ステップＳ４０２により、画像群４１１と、４１２の画像Ｂの差分を計算する。この差分は、例えば同一位置における画素の、輝度値の絶対値の和により計算できるが、他の計算方法であっても良い（例えば単純な和ではなく、ある規準で重みを付加した重み付き和であっても良いし、2乗和であっても良い）。
【００３４】
最後に、ステップＳ４０３により、画像群４１１の各画像に対して求めた差分の最小値から、類似度４１３を求める。差分の最小値をｄｍｉｎとおくと、類似度sは、例えばｓ＝ｅｘｐ（−ｋ×ｄｍｉｎ）のように求められるが、これに限らない（ｋは定数）。この方法により、画像Ａが画像Ｂに対してシフト・回転・伸縮していた場合でもそれに影響を受けずに類似度合いを求めることができる。任意の二つの画像の間の類似度を、この方法により計算する。
【００３５】
図４Ｂでは、図４Ａとは異なる方法により類似度を計算する。この例では、図２Ａの画像を用いて説明している。まずステップＳ４２０、Ｓ４２１により、４３０、４３２の二つの画像Ａ、Ｂの特徴量を計算する。特徴量４３１は、例えば、画像内に含まれる直線状の構造の本数、円状の構造の個数、直線状の構造の間の最短距離、直線状の構造と円状の構造との最短距離など、画像と特徴付ける値の組からなる。次にステップＳ４２２にて、特徴量を用いて類似度４３３を計算する。類似度の計算では、例えば各項目の差分の絶対値の重み付き和を計算して、その和から類似度を計算する方法が利用できるし、他の方法であっても良い。図４Ｂで述べた計算方法では、画像を特徴付ける重要な項目を特徴量として計算することにより、類似しているか否かを判断する上では重要ではない項目（例えば円状の構造の大きさなど）の影響を受けにくくすることが可能である。
【００３６】
図５は、データ源の間の類似度を計算する処理の処理フローを示す、図４とは別の一実施例図である。図５Ａ、図５Ｂともに、データ源が画像内の画素の場合の例を示す。図５Ａでは、画像５０１の内部にある二つの画素５０２と５０３の類似度を計算する。まず、ステップＳ５００で画素５０２を中心とする局所領域５０４を抽出する。同様に、画素５０３を中心とする局所領域５０５を抽出する。次に、ステップＳ５０６により、二つの局所領域５０４と５０５における差分の絶対値のp乗和を計算する（ｐは定数）。ステップＳ５０７により、ステップＳ５０６の出力ｄを用いて５０８の類似度ｓを計算する。類似度ｓは、例えばｓ＝ｋ／（ｄ＋１）のように求められるが、これに限らない（ｋは定数）。このような処理により、各画素の間の類似度を、その近傍の情報を用いて計算することができる。このため、例えば画像が人の顔写真であった場合、顔の内部である肌色で平坦な領域にある画素の間の類似度を互いに高くし、同領域と髪の領域にある画素の間の類似度を低くするといった計算を行うことができる。
【００３７】
図５Ｂは、図５Ａより複雑な計算方法により類似度を計算する。この例では、画像５２１の内部にある二つの画素５２２と５２３の類似度を計算する。まず、ステップＳ５２０において画素５２２および５２３のそれぞれについて、その画素を中心とする局所領域５２４および５２５を抽出する。これらの領域には円５２６の一部が含まれている。領域５２４に含まれている円の色と、領域５２５に含まれている円の輝度は異なっているが、類似度の計算にはこの円の輝度の影響は考慮したくないものとする。ステップＳ５２７およびＳ５２８により、局所領域５２４および５２５の微分を計算する。その後、ステップＳ５３１により、ステップＳ５２７およびＳ５２８の出力である画像５２９および５３０の差分を計算する。微分に対する差分を計算することにより、円の輝度の影響を緩和することができる。また、ステップＳ５３２およびＳ５３３により、局所領域５２４および５２５に対して特徴量を計算する。特徴量とは図４で述べたように画像を特徴付ける値の組のことである。
【００３８】
最後に、ステップＳ５３１で計算した差分や、ステップＳ５３２、Ｓ５３３で計算した特徴量を用いて、ステップＳ５３４により類似度５３５を計算する。この例では、微分の差分と特徴量のみを用いて類似度を計算したが、より多くの情報を用いても良い（例えば２階微分の差分など）。図４Ｂの場合と同様に、類似しているか否かの判断基準として、重要な基準ほど強く考慮して類似度を計算できるように、類似度の計算方法として適宜適切な方法を選択すれば良い。図５では、２次元画像を用いた例を示したが、１次元データ列や３次元以上のデータ列を構成する各点がデータ源である場合にも、同様の方法により類似度を計算できる。
【００３９】
図６は、データ源の間の類似度を計算する処理の処理フローを示す、図４および図５とは別の一実施例図である。この例は、センサネットから取得したデータを解析する例であり、データ源はセンサデバイスである。この例では、センサネット６０１に含まれる二つのセンサデバイス６０２および６０３の間の類似度を計算する。まず、ステップＳ６０５により、センサデバイス間の距離を計算する。この距離は、センサデバイス間の空間的なユークリッド距離であっても良いし、他の規準として、例えば、センサデバイス間が通信できる場合（図では破線で結ばれている場合に対応）には距離を０、通信できない場合には距離を１とするなどの計算方法であっても良い。数学的な距離の公理を満たしている必要はない。また、ステップＳ６０６により、各センサデバイスから得られるデータ値の差分を計算する。一定のサンプリング時間毎にデータ値が得られる場合には、データ値の平均値の差分を計算しても良い。続いて、ステップＳ６０７により、距離とデータ値の差分から類似度６０８を計算する。これによりセンサデバイス間の類似度を計算することができる。
【００４０】
図４〜６では類似度の計算方法の一例を示したが、これらの計算方法に限らない。また、アプリケーションや類似度の定義によっては、データの他の情報と共に類似度を取得できる場合もある。その場合は、取得した類似度を用いれば良く、類似度を計算しなくても良い。
【００４１】
次に、図７〜１０を用いて、階層グラフを生成する方法について説明する。まず、図７を用いて階層グラフについて説明する。グラフ７０１は、階層グラフの一種である、木と呼ばれるグラフである。白丸はデータ値を持つノードであり、一つのノードがデータ源に対応する。黒丸はデータ値を持たないノードである。図の上にあるノードほど上の階層にあることを表す。二つのノードがエッジで結ばれているとき、片方のノードは、もう一方のノードと同一の階層であることはなく、必ず上の階層または下の階層にある。例えばノード７１０は、その上の階層のノード７１１とエッジで結ばれている。このとき、ノード７１１をノード７１０の親ノードと呼び、ノード７１０をノード７１１の子ノードと呼ぶ。ノード７１２は最上位ノードである。木とは、最上位ノードを一つだけ持ち、かつ最上位ノード以外の全ノードが一つの親ノードを持つ階層グラフのことである。木構造を持つデータに対しては、前述の通り調和解析手法が提案されている。
【００４２】
グラフ７０２および７０３は、木ではない階層グラフの例である。グラフ７０２では、ノード７２０は二つの親ノード７２１および７２２を持っている。ノード７２３も同様である。グラフ７０３では、二つ以上の親ノードを持つノードが存在する上に、さらに二つの最上位ノード７３０および７３１を持っている。このように、階層グラフ７０２、７０３は木の要件を満たしていない。木に限定されない階層グラフを考えることにより、複雑なデータ構造を表現することが可能となる。
【００４３】
次に、生成する階層グラフの例を示す。図８は、データ源が画像の場合における階層グラフの一実施例図である。データ８０１は、図２Ａで説明した画像分類のためのデータである。このデータに対して階層グラフを作成した例を８０２に示す。最下層ノードの各々が、データ源である画像に対応している。したがって、各最下層ノードはデータ値を持つ。このとき、類似度が高い画像ほど近くに配置されるようなグラフを作成する。ここで、近くに配置されるとは、親ノードを辿っていった際、できるだけ下の階層において共通の親ノードを持つことを表す。例えば、画像１と画像３の類似度は、画像１と画像２の類似度よりも高いとする。グラフでは、画像１と画像３は下から２段目のノード８１０が共通の親ノードであり、画像１と画像２は、下から３段目のノード８１１が共通の親ノードであるため、画像１と画像２のほうが、画像１と画像３に比べると、近くに配置されている。
【００４４】
なお、この例は、半教示型の画像分類を行う例であり、各画像はクラスＡまたはクラスＢの何れかに属するとし、画像１はクラスＡ、画像２はクラスＢであることが教示されているが、画像３と画像４は未教示である。クラスＡらしさを表すデータ値を定義し、画像１および画像２のデータ値をそれぞれ１および０とする。このデータ値に対して後述する調和解析を行うことにより、画像３および４のデータ値を推定する。８０３のように、画像３および４のデータ値の推定結果が、それぞれ０．７および０．１であるとする。データ値がある値（例えば０．５）以上の場合にはクラスＡ、そうでなければクラスＢに分類する。この例では、画像３はクラスＡ、画像４はクラスＢに分類されることになる。
【００４５】
図９は、データ源が画素の場合における階層グラフの一実施例図である。図９Ａおよび図９Ｂでは、ともに１６個の画素からなる画像の例であり、各画素を最下層ノードとする異なる階層グラフを生成している。立体的に描画しており、層９０１、９０２、９０３が、それぞれ下から１、２、３段目の層を表す。最下層９０１に１６個のノードがある。図９Ａでは、下から２段目の層９０２には４個のノードがあり、画像のｘ、ｙ方向がともに１／２ずつ間引きされている。最上層９０３には１個のノードがあり、画像のｘ、ｙ方向がさらに１／２ずつ間引きされている。エッジは、親ノードから子ノードに向けた矢印で記している。下から２段目のノードには、同位置にある最下層のノードを対応付け、それらのノードとの類似度に基づいて結合の仕方を決定する。類似度の高い画素同士が下から２段目の層において共通の親ノードを持つように階層グラフを生成する。
【００４６】
親ノードのうち、類似度が高いノードが複数ある場合には、複数の親ノードを持つようにすれば良い。例えばノード９０４は、３個の親ノードを持つ。図９Ｂでは、下から２段目の層９０２では８個のノードからなり、画像のｘ方向のみが１／２に間引きされている。最上層９０３では４個のノードからなり、画像のｘ方向のみがさらに１／２に間引きされている。図９Ａでは、ｘ、ｙ方向で等方的な処理が行えるという利点があるが、解像度は上の層ほどｘ、ｙ方向ともに低下していく。図９Ｂでは、ｙ方向の解像度は低下しにくいという利点を持つ。目的に応じて生成するグラフを変えれば良い。
【００４７】
図９Ｃでは、１６個の画素からなる画像２枚の例であり、各画素を最下層ノードとする異なる階層グラフを生成している。層９２１、９２２、９２３が、それぞれ下から１、２、３段目の層を表す。層９２１には、片方の画像の画素に対応するノード群９１０と、他方の画像の画素に対応するノード群９１１がある。２枚の画像の各々に対して図９Ａまたは図９Ｂに示したようなグラフを生成する方法に比べ、図９Ｃに示した例では画像間に関連性がある場合により適切な解析が期待できる。この例では、片方の画像の画素に対応するノード群９１０が、その上層のノードとしてノード群９１２やノード群９１４に結合しており、ノード群９１１が、その上層のノードとしてノード群９１３やノード群９１５に結合している。さらに、ノード群９１０、９１１のうち、もう片方の画像と強い関連性を持つノードに対しては、それぞれノード群９１３、９１２と結合している。同様に、９１２、９１３のノードのうち、それぞれ９１５、９１４のノードと結合しているものもある。グラフは画像に対して対称である必要はなく、例えば９１２のノード群と９１３のノード群のように、ノード数が異なっていても良い。例えば、ノード群９１０で示す画像が、ノード群９１１で示す画像と比べて解像度が低い場合に、９１４のノード群の個数を相対的に少なくすることで、解析性能を落とさずに解析に要する演算量を少なくすることができる。
【００４８】
図１０は、センサネットの例であり、データ源がセンサデバイスの場合における階層グラフの一実施例図である。図９と同様に立体的に描画しており、層１００１、１００２、１００３が、それぞれ下から１、２、３段目の層を表す。最下層１００１に、全てのセンサデバイスに対応した最下層ノードがある。下から２段目の層１００２では、データ値を持たない４個のノードがあり、最上層１００３では、データ値を持たない１個のノードがある。類似度の高いセンサデバイスが下から２段目の層において共通の親ノードを持つように階層グラフを生成する。親ノードのうち、類似度が高いノードが複数ある場合には、複数の親ノードを持つようにすれば良い。
【００４９】
図８〜１０に示したように、各種のデータに対して、木ではないような階層グラフを生成することにより、データ源の間の関係を的確に表現することができる。このような階層グラフを用いてデータ解析を行うことで、解析性能の向上が期待できる。例えば、図１０では、ノード１０１０とノード１０１１は類似しており、ノード１０１１とノード１０１２は類似しているが、ノード１０１０とノード１０１２はそれほど類似していないとする。このため、ノード１０１０とノード１０１１、およびノード１０１１とノード１０１２が共通の親ノードを持ち、ノード１０１０とノード１０１２は共通の親ノードを持たないようなグラフを生成したい。本実施例では、図１０で示すグラフのように、このような階層グラフを生成することができる。一方、階層グラフを木に限定すると、このようなグラフを生成することはできない。
【００５０】
図８〜１０で示した全てのグラフにおいて、全ての最下層ノードはデータ値を持ち、逆に最下層以外のノードはデータ値を持っていない。また、最上層ノードを除く全てのノードは一つだけ階層が上の親ノードを持っている。後述する階層グラフに対する調和解析では、調和解析を行う前の時点においては、これらの条件を満たしていると仮定する。ここでは、これらの条件を満たさない階層グラフから、これらの条件を満たすグラフに変更できることを図１１を用いて説明する。
【００５１】
グラフ１１０１では、ノード１１１４と１１１５が最下層ノードであるが、ノード１１１５はデータ値を持たない。また、最下層ではないノード１１１１〜１１１３はデータ値を持っている。さらに、ノード１１１２はノード１１１４および１１１５の親ノードであることから下から２段目の層にあると捉えられ、ノード１１１１はノード１１１２の親ノードであることから下から３段目の層にあると捉えられる。すると、ノード１１１４は二つ階層が上の親ノード１１１１を持つことになる。
【００５２】
グラフ１１０２は、グラフ１１０１を階層がわかりやすくなるように整理して、かつノード１１２１を追加し、さらにデータ値を持たない最下層ノード１１１５を削除したものである。ノード値を持たないノード１１２１を追加することにより、最上層ノードを除く全てのノードは一つだけ階層が上の親ノードを持つという条件を満たすようになったことがわかる。また、データ値を持たない最下層ノードは、データ値の解析の際には何の影響も及ぼさないため、削除しても差し支えない。
【００５３】
グラフ１１０３は、最下層以外のノードのうちデータ値を持つノード１１１１〜１１１３に対し、そのノードをデータ値を持たないノードに置き換える代わりに、同じデータ値を持つ最下層ノードを新たに追加し、そのノードとエッジで結んだものである。ノード１１１１’〜１１１３’が、それぞれノード１１１１〜１１１３の代わりに追加された最下層ノードである。ノード１１１１および１１１３は下から３段目のノードであるため、それぞれ下から２段目のノード１１３１および１１３２を追加している。後述する調和解析手法を用いる場合には、このようなデータ値の移動を行なっても影響はないと考えられる。このような変更により、先述の条件を満たすようなグラフに変換することが可能である。なお、このようなグラフ構造を持つデータに対して調和解析を行うと、後述のように最下層以外のノードもデータ値を持つようになる。
【００５４】
階層グラフ構造を持つデータにおいて、データ値を持つノードと持たないノードが存在する。また、子ノードから階層が二つ以上上の親ノードとエッジで結ばれているグラフも考えられる。このように階層グラフには多くのバリエーションがあるため、統一的に調和解析を行うことは容易ではない。そこで、調和解析を行うための前処理として処理が容易な階層グラフに変更することによって、比較的単純な処理で任意の階層グラフに対して調和解析を行えるようになる。
【００５５】
図１２は、階層グラフを生成する処理のフローを示す一実施例図である。
まず、ステップＳ１２０１にて、全データ源を最下層ノードに設定する。次に、ステップＳ１２０２にて、ｎに１を代入する。次に、下層からｎ段目の層にあるノードの数がＴ以上である限り、ステップＳ１２０３からステップＳ１２０８を実行する。下層からｎ段目の層にあるノードの数がＴ未満であれば処理を終了する。ステップＳ１２０４では、下層からｎ＋１段目のノード数Ｍｎ＋１を決定する。ステップＳ１２０５では、下層からｎ段目の層にあるノードの中からＭｎ＋１個のノードを選択し、下層からｎ＋１段目のノードの代表ノードとする。また、選択されたＭｎ＋１個のノードの各々について、対応する下層からｎ＋１段目のノードを親ノードとする。ステップＳ１２０６では、下層からｎ段目の層にある各ノードに対し、下層からｎ＋１段目の層にある各ノードとの類似度に基づいて親ノードとその結合率を決定する。ステップＳ１２０７では、ｎの値を１増やす。
【００５６】
ステップＳ１２０４では、ノードの数Ｍｎ＋１は予め固定しておいても良いし、データに応じて変えられるようにしても良い。例えば、図９ではノードの数は予め固定されているが、固定する必要はない。Ｍｎ＋１は、例えば下層からｎ段目の層のノード数Ｍｎから求めても良いし、下層からｎ段目の層のノード間の類似度や、他の情報を用いて求めても良い。
【００５７】
また、ステップＳ１２０５において、Ｍｎ＋１個のノードを選択して下層からｎ＋１段目のノードの代表ノードとする際、代表ノードに偏りがないほうが望ましい。例えば画像認識のためのデータに対して階層グラフを生成する際、代表ノードが少数種類の特定のクラスのみで占められると、それらのクラスに属さないノードは類似度の高いノードと結合できなくなってしまうため、代表ノードは多数種類のクラスで占められたほうが望ましい。そこで、下層からｎ段目の層にあるノードの中から、互いに類似度が低くなるようにＭｎ＋１個のノードを選択する。これにより、代表ノードが偏らないようにすることができる。
【００５８】
また、ステップＳ１２０５において代表ノードを選ぶ際、下層からｎ段目の層にある１個のノードを下層からｎ＋１段目の層にある１個のノードの代表ノードに対応付ける代わりに、下層からｎ段目の層にある複数のノード（例えばノードｖ１とｖ２）を、下層からｎ＋１段目の層にある１個のノードの代表ノード（例えばノードｕ）に対応させても良い。この場合、下層からｎ段目の層にあるノードｖと代表ノードｕとの類似度は、ｖとｖ１の類似度およびｖとｖ２の類似度を用いて定義することができる。
【００５９】
図１２では階層グラフを生成する方法の一実施列を説明したが、他の方法を用いて階層グラフを生成しても良い。また、データが時間毎に変わる際（すなわち時系列データを扱う際）、階層グラフは時間毎に変更しても良い。同様に、例えばデータ源が３種類のセンサに対応している場合には、各々のセンサから得られる情報毎に３個の階層グラフを生成するなど、複数種類の階層グラフを生成しても良い。
【００６０】
図１３Ａは、親ノードとの結合率の計算方法を示す一実施例図である。この図では、グラフ１３０１を生成する処理において、最下層のノードｖ１〜ｖ５について、下から２段目のノードｕ１、ｕ２との結合率を計算する例を示している。この例では、ｖ１およびｖ４を、それぞれｕ１およびｕ２の代表ノードとする。表１３０２に、ｖ１〜ｖ５と、ｖ１、ｖ４との類似度を示す。ｖ１およびｖ４との類似度に基づいて、それぞれｕ１およびｕ２との結合率を計算する。類似度がある閾値以下であれば結合しない（すなわち結合率を０とする）。この例では、その閾値を０．３としており、表１３０２では閾値以下の値を持つセルを斜線で表している。また、類似度が高いほど結合率が高くなるようにする。
【００６１】
ｖとｕとの結合率ｗ（ｖ、ｕ）は、例えば次式のように求められるが、これに限らない。
【００６２】
【数１】
2014048786.tif 000003
【００６３】
Ａ（ｖ、ｖ‘）はノードｖとｖ’の類似度、Ｒ（ｕ）はノードｕに対応する代表ノード、Ｖｎは下層からｎ段目の層のノード全体からなる集合である。
【００６４】
（数１）で定義された結合率は、任意のｖ∈Ｖ１について次式を満たす。
【００６５】
【数２】
2014048786.tif 000004
【００６６】
親を一つしか持たない子ノードについては、その親ノードとの結合率は1であるとする。計算により求めた結合率の例を１３０３に示す。
【００６７】
このように、親ノードとの結合率を求め、本結合率に基づいて調和解析を行うことにより、強く結合した親ノードに属するデータ源同士がより強い関連性をもつような解析を行うことが可能となり、高性能なデータ解析が可能となる。
【００６８】
図１３Ａの例では、類似度に対して一定の閾値を設定して、閾値以下であれば結合しないとしたが、閾値は親ノード毎または子ノード毎に変えても良い。また、類似度に対して閾値を設定する代わりに、結合する親ノードの数を固定として、類似度の高い順に結合しても良い。また、結合する親ノードの数は親ノード毎または子ノード毎に変えても良い。
【００６９】
図１３Ｂは、（数２）を満たさない、すなわち、各子ノードにおいて親ノードとの結合率の和が1であるという制約がないグラフの例を示す。各エッジの傍に記載された数字が、そのエッジの結合率を表す。結合率を重みと解釈することにより、重み付きグラフと呼ばれる、エッジに対して値を持つようなグラフを表現することができる。本実施例では、このような重み付きの階層グラフに対して、その重みの情報を活用した調和解析を行うことができる。後述する調和解析の実施例では、（数２）を満たす場合と満たさない場合のそれぞれにおける例を示す。階層グラフにおいて、各エッジに結合率が付与された重み付きグラフを考えると、データ構造をより適切に表現できる場合もある。このような場合に、エッジの結合率を考慮した調和解析を行うことで、解析性能の向上を実現できる。
【００７０】
次に、図１４、１５を用いて、多重解像度的に調和解析およびその逆変換を行う方法について説明する。図１４は、多重解像度的に調和解析を行う方法の処理フローを示す一実施例図である。まず、ステップＳ１４０１にて、各子ノードについて親ノードとの結合率を計算する。次に、ステップＳ１４０２からステップＳ１４０７の間を、ｎ＝１、２、…、Ｎ−１のＮ−１回ループさせる。また、ステップＳ１４０３からステップＳ１４０６の間を、下層からｎ番目の層にある全ノードに対してループさせる（対象とするノードをｖとする）。ステップＳ１４０４では、ノードｖに対して親ノードとの結合率に基づいて高解像度係数と低解像度係数を計算する。続くステップＳ１４０５では、ノードｖの各親ノードのデータ値に低解像度係数を代入する。
【００７１】
図１５は、多重解像度的に調和解析の逆変換を行う方法の処理フローを示す一実施例図である。本処理フローでは、図１４で示したフローの逆の処理を行う。まず、ステップＳ１５０１からステップＳ１５０５の間を、ｎ＝Ｎ−１、Ｎ−２、…、１のＮ−１回ループさせる。また、ステップＳ１５０２からステップＳ１５０４の間を、下層からｎ段目の層にある全ノードに対してループさせる（対象とするノードをｖとする）。ステップＳ１５０３では、ノードｖに対して親ノードとの結合率に基づいてそのデータ値を計算し、かつ親ノードのデータ値を更新する。
【００７２】
図１４のステップＳ１４０４、Ｓ１４０５および図１５のステップＳ１５０３について詳細を説明する。ノードｖのデータ値をｘｖとおく。ｖの親ノードがＫ個存在するとし、ｖ１、ｖ２、…、ｖｋとおく。また、そのデータ値をｘ１（ｖ）、ｘ２（ｖ）、…、ｘｋ（ｖ）とおく。データ値を持っていないノード、すなわち最下層以外のノードについても、調和解析の際にはデータ値を計算する。最下層以外のノードのデータ値は適切な値に初期化しておく。
【００７３】
ステップＳ１４０４では、ノードｖとその親ノードのデータ値から、次式のように高解像度変換係数ｄ１（ｖ）、ｄ２（ｖ）、…、ｄｋ（ｖ）と低解像度変換係数ａ１、ａ２、…、ａｋを求める。
【００７４】
【数３】
2014048786.tif 000005
【００７５】
ここでｆはある関数である。
【００７６】
調和解析の逆変換を行えるよう、ｆは逆関数が存在するような関数でなければならない。ｗ１（ｖ）、ｗ２（ｖ）、…、ｗｋ（ｖ）はそれぞれノードｖとその親ノードｖ１、ｖ２、…、ｖｋとの結合率である。ステップＳ１４０５では、次式のようにｘｋ（ｖ）にａｋを代入する。
【００７７】
【数４】
2014048786.tif 000006
【００７８】
ステップＳ１５０３では、（数３）の逆変換として次式の計算を行う。
【００７９】
【数５】
2014048786.tif 000007
【００８０】
特にステップＳ１４０４を、ｄｋ（ｖ）、ａｋがｘｖ、ｘｋ（ｖ）、ｗｋ（ｖ）から求められるような線形変換により実現することを考えると、（数３）は次式のように積和の形で表される。
【００８１】
【数６】
2014048786.tif 000008
【００８２】
【数７】
2014048786.tif 000009
【００８３】
ｐｋ（ｖ）、ｑｋ（ｖ）、ｐ’ｋ（ｖ）、ｑ’ｋ（ｖ）はｗｋ（ｖ）の関数である。（数６）、（数７）の計算を、ｋ＝１、…、Ｋに対して行う。
【００８４】
以下では、（数６）、（数７）の特別な例を示す。次の例では、ｗ１（ｖ）、ｗ２（ｖ）、…、ｗｋ（ｖ）の和が1であるとする。
【００８５】
【数８】
2014048786.tif 000010
【００８６】
【数９】
2014048786.tif 000011
【００８７】
ここで、最下層以外のノードのデータ値は、全てゼロに初期化しておく。ｓｖ、ｋ＝ｗｋ（ｖ）ｓｖであり、ｓｖおよびｓ１（ｖ）、ｓ２（ｖ）、…、ｓｋ（ｖ）は、それぞれノードｖおよびその親ノードｖ１、ｖ２、…、ｖｋが持つ値（以下、質量と呼ぶ）である。最下層ノードの質量は１、最下層以外のノードの質量はゼロに初期化しておく。
【００８８】
（数８）、（数９）の計算を行った後、ノードｖｋの質量ｓｋ（ｖ）を次式のように更新する。
【００８９】
【数１０】
2014048786.tif 000012
【００９０】
（数８）、（数９）は、それぞれ（数６）、（数７）において、
【００９１】
【数１１】
2014048786.tif 000013
【００９２】
とおいた特別な場合であることがわかる。
【００９３】
（数８）、（数９）による調和解析に対応する逆変換は、次式により実現できる。
【００９４】
【数１２】
2014048786.tif 000014
【００９５】
【数１３】
2014048786.tif 000015
【００９６】
（数１２）、（数１３）の計算を行った後、ノードｖｋの質量ｓｋ（ｖ）を次式のように更新する。
【００９７】
【数１４】
2014048786.tif 000016
【００９８】
本実施例は、階層構造を持つグラフを持つデータに適した調和解析を行うことができる。木構造も階層グラフ構造の一種であるが、本実施例が対象とする階層グラフ構造は、木構造に限定されない。すなわち、最上層ノードは二つ以上あっても良いし、最上層以外のノードが複数の親ノードを持っていても良い。階層グラフ構造は、広いクラスのグラフ構造であるため、多様なデータを的確に表現することが可能となる。木構造を持つグラフに対しては、直交変換と呼ばれる処理により調和解析を行えるが、木構造ではない階層グラフでは非直交変換が必要となるため、木構造向けの手法が適用できない。
【００９９】
また、親ノードを複数持つため、それぞれの親ノードとの結合の強さを加味して調和解析を行う必要がある。本実施例では、非直交変換を用いた調和解析を適用する。また、各子ノードに対し、親ノードとの結合率を計算し、結合率に応じて調和解析方法を変える。一方、任意のグラフ構造に適用可能な汎用的な手法では考慮されないグラフの階層構造に関する情報を活用して調和解析を行うことにより、性能と演算量の両立を行える。演算量に関しては、最下層ノードから順に上の階層のノードに対して処理を行う多重解像度的な処理を行うことにより、高速演算を可能とする。
【０１００】
グラフ構造が木構造の場合、（数８）、（数９）で表される調和解析は直交変換と呼ばれる処理となり、非特許文献４に記載されている変換と同等の結果が得られる。しかし、木構造でない階層グラフの場合には直交変換による調和解析を行うことは非常に困難であり、非特許文献４の手法から（数８）、（数９）を導出することは容易ではない。本実施例では、グラフ構造が木構造でない場合には非直交変換となる。
【０１０１】
本調和解析および逆変換の演算量は、ノード数Ｎｖに比例または、Ｎｖ×ｌｏｇＮｖに比例する。調和解析には、一般に少なくともノード数Ｎｖに比例する演算量が必要であるため、本実施例における処理は十分に演算量が少ないといえる。
【０１０２】
（数６）、（数７）の例をもう一つ示す。次の例では、ｗ１（ｖ）、ｗ２（ｖ）、…、ｗｋ（ｖ）の和は１でなくとも良い。
【０１０３】
【数１５】
2014048786.tif 000017
【０１０４】
【数１６】
2014048786.tif 000018
【０１０５】
ここで、最下層以外のノードのデータ値は、全てゼロに初期化しておく。ｓｖ、ｋ＝ｗｋ（ｖ）ｓｖであり、ｓｖおよびｓ１（ｖ）、ｓ２（ｖ）、…、ｓｋ（ｖ）は、それぞれノードｖおよびその親ノードｖ１、ｖ２、…、ｖｋの質量である。最下層ノードの質量は１、最下層以外のノードの質量はゼロに初期化しておく。
【０１０６】
また、
【０１０７】
【数１７】
2014048786.tif 000019
【０１０８】
であり、ｔｖおよびｔ１（ｖ）、ｔ２（ｖ）、…、ｔｋ（ｖ）は、それぞれノードｖおよびその親ノードｖ１、ｖ２、…、ｖｋが持つ値（以下、第二質量と呼ぶ）である。最下層ノードの第二質量は１、最下層以外のノードの第二質量はゼロに初期化しておく。
【０１０９】
（数１５）、（数１６）の計算を行った後、ノードｖｋの質量ｓｋ（ｖ）は（数１０）により更新する。また、ノードｖｋの第二質量ｔｋ（ｖ）は次式のように更新する。
【０１１０】
【数１８】
2014048786.tif 000020
【０１１１】
（数１５）、（数１６）による調和解析に対応する逆変換は、次式により実現できる。
【０１１２】
【数１９】
2014048786.tif 000021
【０１１３】
【数２０】
2014048786.tif 000022
【０１１４】
（数１９）、（数２０）の計算を行った後、ノードｖｋの質量ｓｋ（ｖ）を（数１４）のように更新し、第二質量ｔｋ（ｖ）を次式のように更新する。
【０１１５】
【数２１】
2014048786.tif 000023
【０１１６】
これらの例もまた（数６）、（数７）の特別な場合であることは明らかである。（数１５）、（数１６）の調和解析を行うと、親ノードのデータ値において結合率が強い子ノードほど強く影響するような値とすることができ、重み付きグラフに適した調和解析を行うことができる。
【０１１７】
図１６は、調和解析において、高解像度変換係数の2乗和と、最上層ノードのデータ値の2乗和の和が、前記調和解析ステップを実施する前での各ノードのデータ値の2乗和に等しくなるように調和解析を行う例について述べた図である。この図では、ある一つのノードｖと、その親ノードのみを記載している。この例ではノードｖの親ノードはｖ１、ｖ２の二つである。図中の大括弧［ ］内の変数は、データ値または変換係数を表す。低解像度変換係数はノードに対して付与されているが、高解像度変換係数はノードではなくエッジに対して付与されている。
【０１１８】
グラフ１６０１およびグラフ１６０２は、それぞれ、ノードｖに対して図１４のステップＳ１４０４を実施する前および後の状態を表す。グラフ１６０２において、高解像度変換係数の2乗和は（ｄ１（ｖ））２＋（ｄ２（ｖ））２、低解像度変換係数の2乗和は（ａ１）２＋（ａ２）２である。これらの和が、グラフ１６０１におけるノードｖおよびｖ１、ｖ２のデータ値の2乗和（ｘｖ）２＋（ｘ１（ｖ））２＋（ｘ２（ｖ））２に等しくなるような変換を考える。例として、（数８）、（数９）で示した線形変換は、この要件を満たしている。ステップＳ１４０４において、入力である各ノードのデータ値の2乗和と、出力である変換係数（高解像度変換係数および低解像度変換係数）の2乗和が等しくなるように処理を行えば、図１４のフローで示した調和解析において、高解像度変換係数の2乗和と、最上層ノードのデータ値の2乗和の和は、前記調和解析ステップを実施する前での各ノードのデータ値の2乗和に等しくなる。
【０１１９】
多重解像度的な処理の各々において、出力の2乗和（すなわち高解像度変換係数の2乗和と下層からｎ＋１段目のノードの2乗和の和）を、入力の2乗和（すなわち下層からｎ段目のノードのデータ値の2乗和）に等しくする。これにより、調和解析の出力である、解像度変換係数と最上層ノードのデータ値の2乗和を、調和解析の入力である、各ノードのデータ値の2乗和に等しくすることができる。調和解析の前後でデータ値の2乗和が保存されるという性質はパーセバルの等式と呼ばれ、本性質を満たす調和解析はデータ処理の際に有用である。例えば、入力であるデータ値に含まれるノイズの2乗和と、ノイズ以外の成分（以下、信号成分）の2乗和の比率は、調和解析後でも保存されるため、調和解析後の値を用いてノイズ量を推定することが容易にできる。また、この性質は高性能なノイズ除去を行う際に重要な性質の一つである。直交変換では、パーセバルの等式を満たすことが保証されるが、非直交変換では一般に本等式は満たさない。しかし、本実施例のように多重解像度的な処理の各々において入出力の2乗和を等しくする処理を行うことで、非直交変換においてもパーセバルの等式を満たす処理が可能となる。
【０１２０】
図１７は、調和解析ステップにおいて、前記階層グラフのエッジ数と、データ値を持つノードの個数の和から、全ノードの個数を減算した値に等しい個数の高解像度変換係数を計算する例について示した一実施例図である。図１６と同様に、大括弧［ ］内の変数は、データ値または変換係数を表す。
【０１２１】
グラフ１７０１は、調和解析を行う前の階層グラフの例である。また、グラフ１７０２は、グラフ１７０１に対して調和解析を行った後の階層グラフである。ノードｖｊとその親ノードｖｋを結ぶエッジに対する高解像度変換係数をｄｊ（ｋ）と表記している。グラフ１７０１において、調和解析前におけるノードｖ５、ｖ６、ｖ７はデータ値を持っていない。このため、ステップＳ１４０４においてノードｖ５、ｖ６、ｖ７を親ノードとして変換係数を計算する際、ノードｖ５、ｖ６、ｖ７のデータ値が初期化された状態である場合には、高解像度変換係数として自明な値が計算される。（数８）の例では、ノードｖ５、ｖ６、ｖ７の質量の初期値はゼロであるため、高解像度変換係数は必ずゼロになる。自明な値になる高解像度変換係数は、調和解析後に削除するものとする（このような高解像度変換係数には何も情報が含まれていないため、削除しても差し支えない）。
【０１２２】
グラフ１７０２では、ｄ１（５）、ｄ４（６）、ｄ５（７）が自明な値になる高解像度変換係数であり、図からは削除している。各親ノードに対し、その何れか一つの子ノードとのエッジに対応する高解像度展開係数が自明な値になる。表１７０３は、グラフ１７０１およびグラフ１７０２における、エッジ数、データ数（データ値を持つノードの数、すなわち本実施例では最下層ノードの数）、ノード数、および高解像度変換係数の総数を示している。表１７０３からわかるように、エッジ数とデータ数の和が、ノード数と高解像度変換係数の総数の和に等しくなる。
【０１２３】
木構造の場合には、全ノードの個数は、エッジ数に１を加えた値に等しい。このため、調和解析の出力である高解像度変換係数と最上位ノードのデータ値の個数（後者は１に等しい）の和は、調和解析の入力であるデータ値を持つノードの個数に等しい。すなわち、出力値の個数と入力値の個数は一致する。一方、本実施例では、各ノードが複数の親ノードと結合するようなグラフ構造も表現できる。この際、図１７で説明したように、前記階層グラフのエッジ数と、データ値を持つノードの個数の和から、全ノードの個数を減算した値に等しい個数の高解像度変換係数を計算するような調和解析を用いることで、階層グラフ構造を自然な形で表現した、高性能で演算量の少ない処理が可能となる。
【０１２４】
図１８は、複雑データに対する調和解析を行った後、変換係数に対して縮退処理を行うことにより、ノイズ除去後のデータを出力する、またはデータの圧縮を行う方法を示す一実施例図である。図１８では、画像に対するノイズ除去の例を示しているが、これに限らない。ステップＳ１０１〜Ｓ１０４は、図１のステップＳ１０１〜Ｓ１０４と同じである。
【０１２５】
ステップＳ１８１０では、ステップＳ１０４で計算された高解像度変換係数に対して後述する縮退処理を行う。高解像度変換係数のみでなく最上層ノードのデータ値に対して縮退処理を行っても良い。縮退処理の後で、ステップＳ１８１１で逆変換を行うことにより、画像１８０１に示すノイズ除去前のデータから、画像１８０２に示すノイズ除去後のデータを得る。画像は、１８０３のように複数枚あっても良い。この場合、各画素をデータ源として複数枚の画像を表す一つのグラフ構造を生成して調和解析および縮退処理を行う。画像間に強い関連性があるほど、画像毎にノイズ除去を行う場合に比べて良好な結果が期待できる。
【０１２６】
画像１８０４は、画像１８０３に対するノイズ除去後の画像の例である。また、縮退処理により変換係数の情報量を落とし、少ない情報量で信号成分を効率良く表現することができるため、同様のフローはデータ圧縮に用いることもできる。
【０１２７】
ステップＳ１８１１の逆変換の処理は、図１５のフローにより実現できる。ウェーブレット変換を行なった後に縮退処理を行い、最後に逆変換を行う手法などが広く知られているが、本実施例のように一般的なウェーブレット変換の代わりに複雑データに対する調和解析を行うことにより、高性能なノイズ除去処理を行うことができる。
【０１２８】
図１９は、縮退処理の方法を表す一実施例図である。グラフ１９０１〜１９０３において、横軸は縮退処理前の変換係数（ｘとする）、縦軸は縮退処理後の変換係数（ｙとする）であり、縮退処理後の変換係数を、縮退処理前の変換係数の関数として表している。関数１９１０では、縮退処理前の展開係数がある閾値Ｔより小さいときは値をゼロに変換し（すなわちｙ＝０）、Ｔ以上のときは縮退処理後の展開係数を縮退処理前の展開係数に等しくなるようにする（すなわちｙ＝ｘ）。関数１９１０は、関数の形状が単純なためノイズ除去性能の理論解析等を比較的容易に行いやすいという利点はあるが、閾値Ｔにおいて関数１９１０が不連続となるため、縮退処理後の展開係数にアーチファクトと呼ばれる擬似模様が発生しやすい。関数１９１１は、閾値Ｔにおいて連続となるように、閾値Ｔ以上において縮退処理後の展開係数を縮退処理前の展開係数からＴを減算した値となるようにしている（ｙ＝ｘ−Ｔ）。さらに、関数１９１２のように、微分可能な関数を用いて縮退処理を行なっても良い。
【０１２９】
図２０は、複雑データに対する調和解析を反復して行うことにより、複雑データにおける未知のデータ値を推定する方法を示す一実施例図である。この方法は、欠損したデータ値の推定に用いることができる。また、この方法は、半教示型のデータ分類に用いることもできる。半教示型データ分類では、図８で説明したように、未教示のデータに対応するデータ値を推定する問題と捉えることができる。
【０１３０】
ステップＳ１０１〜Ｓ１０４は、図１のステップＳ１０１〜Ｓ１０４と同じである。ステップＳ１０４の後、ステップＳ２００１〜Ｓ２００６の間を反復処理する。まず、ステップＳ２００１では逆変換を行う。次に、ステップＳ２００２では、既知のデータ値と、逆変換により得られたデータ値との差分を求める。この際、データ値が未知のデータ源における差分はゼロとする。ステップＳ２００３では、求めた差分に対して調和解析を行う。この調和解析では、ステップＳ１０４の調和解析において生成したグラフ構造と同じものを用いる。ステップＳ２００４では、ステップＳ２００１で逆変換を行う直前の変換係数と、ステップＳ２００３で得られた変換係数との和を計算する。その後、ステップＳ２００５で縮退処理を行う。ステップＳ２００６で終了判定を行い、終了条件を満たすまでステップＳ２００１〜Ｓ２００６を繰り返す。終了条件は、例えば反復回数に対して設定しても良いし、ステップＳ２００２で計算した差分に対して設定しても良いし、ステップＳ２００５の縮退処理を行った後の変換係数に対して設定しても良い。最後にステップＳ２００７で逆変換を行い、各データ源のデータ値の推定結果を得る。
【０１３１】
このように、複雑データを用いた調和解析により、欠損したデータ値の推定や半教示型のデータ分類を行うことにより、従来手法より性能が向上することが期待できる。
【０１３２】
図２１は、全てのデータを取得してから一括でデータ分類を行うのではなく、データを逐次取得しながら、動的に半教示型のデータ分類を行う方法を示す一実施例図である。ステップＳ１０１〜Ｓ１０３は、図１のステップＳ１０１〜Ｓ１０３と同じである。ただし、データ数が少なすぎるとデータ分類の性能が出ないので、ある程度の数のデータを取得できるまでステップＳ１０１より先に進まないようにしておく。
【０１３３】
ステップＳ２１０１では、ステップＳ１０１で取得されたデータに対するデータ分類を行う。次に、新たなデータ源を取得する度に、ステップＳ２１０２〜Ｓ２１０６を繰り返す。ステップＳ２１０２では、次の新たなデータ源を取得する。ステップＳ２１０３では、新たなデータ源と他のデータ源の間の類似度を取得する。ステップＳ２１０４では、ステップＳ２１０３で取得した類似度に基づいて階層グラフを更新する。具体的には、新たなデータ源に対応するノードを階層グラフに追加する。ステップＳ２１０５では、更新された階層グラフを用いて、データ分類を行う。この際、新たなデータ源のみに対してデータ分類を行なっても良いし、他のデータ源に対して改めてデータ分類を行なっても良い。ステップＳ２１０６では終了判定を行う。
【０１３４】
このように、動的に半教示型のデータ分類を行うことにより、全てのデータを取得する前に処理を行うことができるため、高速に分類を行うことができる。本実施例は、短い分類時間が要求されている場合に適している。
【０１３５】
図２２は、複雑データに対する調和解析を行う際のユーザインターフェイス画面２２００を示す一実施例図である。このユーザインターフェイス画面２２００は、入出力部３０４に備えられている。領域２２４０は、階層グラフを生成するためのパラメータを設定するための表示領域である。領域２２４０には、階層グラフのノード数を設定する領域２２４１を備えている。この領域は、最上位のノード数を設定する欄２２０１や、各子ノードが持つ親ノード数の平均値および最大値を設定する欄２２０２および２２０３を持つ。
【０１３６】
また、領域２２４０には、類似度に関する値を設定する領域２２４２を備えている。この領域は、結合する類似度の下限を設定する欄２２１１を持つ。欄２２１１で指定された値より低い類似度を持つ場合には、対応するノード間を結合しないよう設定することができる。また、領域２２４２は、類似度と結合率との関係を設定する欄２２１２を持つ。欄２２１２では、グラフを用いて視覚的に値を調整することができるようなインターフェイスや、関係式を直接記述するようなインターフェイスを用いることができる。なお、全てのパラメータは必ずしも独立ではなく、互いに関連性を持っている場合もある。独立でないパラメータを連動させ、ある値を設定したら、必要に応じて他の値を自動的に更新するような機能を備えていても良い。
【０１３７】
領域２２４３は、グラフに対して調和解析を行った後、ノイズ除去を行う際の処理条件を設定する領域である。領域２２４３においては、ノイズ除去処理に関するパラメータを設定する。この領域２２４３には、ノイズ除去強度を設定する欄２２２１や、反復方式によるノイズ除去を行う場合にその反復回数を設定する欄２２２２を持つ。
【０１３８】
また、ユーザインターフェイス画面２２００上には、決定ボタン２２３３やクリアボタン２２３４が表示され、ノード設定領域２２４１、類似度設定領域２２４２、ノイズ除去処理条件設定領域２２４３で各条件の設定が終わった場合に決定ボタン２２３３をクリックすることで設定された条件のもとで複数データに対する調和解析を行い、その結果に対してノイズ除去処理を実行する。一方、ノード設定領域２２４１、類似度設定領域２２４２、ノイズ除去処理条件設定領域２２４３で設定した各条件を変更する場合には、クリアボタン２２４３をクリックすることにより、個別の条件またはすべての条件を一括して消去することができる。
【０１３９】
また、ノイズ除去処理を必要としない場合には、領域２２４０における各データの設定を行った後に決定ボタン２２３３をクリックすることで、データの処理が実行される。
【０１４０】
ユーザインターフェイス画面２２００の領域２２５０は画像表示領域であり、ノイズ除去後の画像が表示される。図２２に示した例では、画像表示領域２２５０には、前回ノイズ除去パラメータ設定領域２２４３で設定した条件でノイズ除去処理を行った画像（前回ノイズ処理後画像）２２５１と、今回新たにノイズ除去パラメータ設定領域２２４３で設定した条件でノイズ除去処理を行った画像（今回ノイズ処理後画像）２２５２とが並べて表示される。ノイズ除去パラメータ設定領域２２４３で設定するノイズ除去パラメータの最適化を行えるようになっている。  これらのインターフェイスを通してユーザにグラフ生成方法や、調和解析方法、調和解析後の処理について設定を促すことにより、より適切な処理を行うことが可能となる。
【０１４１】
以上、本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【符号の説明】
【０１４２】
２０１…直線状の構造物、２０２…円状の構造物、２１０…ノイズ除去対象とする画像、２２０…センサネット、２２１…センサデバイス、３０１…データ取得部、３０２…類似度取得部、３０３…データベース、３０４…入出力部、３０５…制御部、３０６…階層グラフ生成部、３０７…結合率計算部、３０８…調和解析部、３０９…データ処理部。
【図１】
2014048786.tif 000024
【図２Ａ】
2014048786.tif 000025
【図２Ｂ】
2014048786.tif 000026
【図２Ｃ】
2014048786.tif 000027
【図３】
2014048786.tif 000028
【図４Ａ】
2014048786.tif 000029
【図４Ｂ】
2014048786.tif 000030
【図５Ａ】
2014048786.tif 000031
【図５Ｂ】
2014048786.tif 000032
【図６】
2014048786.tif 000033
【図７】
2014048786.tif 000034
【図８】
2014048786.tif 000035
【図９Ａ】
2014048786.tif 000036
【図９Ｂ】
2014048786.tif 000037
【図９Ｃ】
2014048786.tif 000038
【図１０】
2014048786.tif 000039
【図１１】
2014048786.tif 000040
【図１２】
2014048786.tif 000041
【図１３Ａ】
2014048786.tif 000042
【図１３Ｂ】
2014048786.tif 000043
【図１４】
2014048786.tif 000044
【図１５】
2014048786.tif 000045
【図１６】
2014048786.tif 000046
【図１７】
2014048786.tif 000047
【図１８】
2014048786.tif 000048
【図１９】
2014048786.tif 000049
【図２０】
2014048786.tif 000050
【図２１】
2014048786.tif 000051
【図２２】
2014048786.tif 000052