情報処理装置
【課題】累積ヒストグラムによる分析結果が、直感的に理解し易い表示方法を提供する。
【解決手段】ヒストグラム情報を記憶する記憶部と、ヒストグラム情報を解析して累積ヒストグラムを演算する演算部と、累積ヒストグラムの情報を表示装置へ出力する出力部とを備える情報処理装置において、演算部は、累積ヒストグラムの階級をX軸、度数をY軸、その二つに相当する成分を有する累積ヒストグラムの数をZ軸として集計を行い、複数の累積ヒストグラムを三次元的に表示可能な情報として前記出力部へ出力し、出力部は、複数の累積ヒストグラムを三次元的に表示可能な情報を表示装置へ出力する。
【解決手段】ヒストグラム情報を記憶する記憶部と、ヒストグラム情報を解析して累積ヒストグラムを演算する演算部と、累積ヒストグラムの情報を表示装置へ出力する出力部とを備える情報処理装置において、演算部は、累積ヒストグラムの階級をX軸、度数をY軸、その二つに相当する成分を有する累積ヒストグラムの数をZ軸として集計を行い、複数の累積ヒストグラムを三次元的に表示可能な情報として前記出力部へ出力し、出力部は、複数の累積ヒストグラムを三次元的に表示可能な情報を表示装置へ出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置に関し、特に、累積ヒストグラムの情報を出力する技術に関する。
【背景技術】
【0002】
ヒストグラムの含有成分からデータを分類する方法として、個々のヒストグラムから峰の極大値を検出し、その極大値の周りにガウス分布など峰状の成分が分布しているものとして近似的にモデル化することで、多次元ベクトルに変換する手法が知られている。
【0003】
例えば、特許文献1では、ヒストグラムを複数のガウス分布の合成としてモデル化表現し、各ピークのパラメータを決定する際に、個々のヒストグラムが持つ峰の数を変数としてEMアルゴリズムなどの処理を行ってパラメータの最尤推定量を求める手法などが提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008-84035号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1記載の技術をはじめとする従来の技術では、データ分布が多次元ベクトルに変換されているため人間が直感的に理解することは困難である。
【0006】
また、複数のヒストグラムそのものを用いてデータ分布を表現する場合、図10の1000に示すように多数のヒストグラムが重なり合うため、人間が直感的にデータ分布を理解することは困難である。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明は、以下の構成を備える。即ち、ヒストグラム情報を記憶する記憶部と、ヒストグラム情報を解析して累積ヒストグラムを演算する演算部と、累積ヒストグラムの情報を表示装置へ出力する出力部と、を備える情報処理装置において、演算部は、累積ヒストグラムの階級をX軸、度数をY軸、その二つに相当する成分を有する累積ヒストグラムの数をZ軸として集計を行い、複数の累積ヒストグラムを三次元的に表示可能な情報として前記出力部へ出力し、出力部は、複数の累積ヒストグラムを三次元的に表示可能な情報を表示装置へ出力する。
【発明の効果】
【0008】
本発明によれば、人間が直感的に理解することが可能なデータ分布の表示が可能となる。
【図面の簡単な説明】
【0009】
【図1】情報処理機器の例を示す図。
【図2】第一の実施例の全体フロー図。
【図3】ヒストグラムを累積ヒストグラムに変更するルーチン処理のフロー図。
【図4】累積ヒストグラムの分布を三次元データとしてカウントする手法のフロー図。
【図5】第二の実施例の全体フロー図。
【図6】第二実施例における累積ヒストグラムの分布を三次元データとしてカウントする手法のフロー図。
【図7】三次元マップ上に分布を重畳した画像の例を示す図。
【図8】第三の実施例の全体フロー図。
【図9】ヒストグラムと累積ヒストグラムの差を示した比較図。
【図10】ヒストグラムと累積ヒストグラムにおいて複数の分布を重ねた場合の比較図。
【図11】ヒストグラムと累積ヒストグラムを保持するベクトルデータの構造を示す図。
【図12】ヒストグラムの分布を表現する二次元データを保持するデータ構造を示す図。
【発明を実施するための形態】
【0010】
以下の実施形態では、多数のヒストグラムとして表現される多次元データの分布を、累積ヒストグラムのグラフ形状を重畳させて三次元マップを構築することによってデータの分布パターンを直感的に眺望することを可能にする。このことにより、典型的なヒストグラムデータとその分布のパターンを直感的に把握し、機械的な分類結果をインタラクティブに調整する方法を提供する。
【実施例1】
【0011】
図1は、本実施例のアルゴリズムを実行する情報処理装置の例を示す図である。情報処理装置100は、中央演算装置(CPU)102と主記憶メモリ101、情報を保持するストレージ等の外部記憶装置103と、人間にデータを表示するディスプレイ110に画像を表示する映像出力装置105、人間から情報を受け取るインタフェース111を制御する入出力インタフェース104を備えた汎用計算処理装置である。外部記憶装置103に読み込まれたプログラムに従ってCPUが計算処理を行う機能を有する。
【0012】
以下で説明する各図面のフローチャートで実行される処理は、CPUが各フローチャートに対応するプログラムを実行することにより実現される。
【0013】
以下の説明では、個々の要素データを、ヒストグラムH_iと表記する。ここでiは要素データを示す番号であり、パラメータt (0<t<N)に対して、H_i(t)を値として返す関数として扱う。また、数1の条件を満たす。
【0014】
【数1】
【0015】
本実施例では、これらのデータを保持するデータ構造体(浮動小数点データのベクトルとして保持される)は、外部記憶装置103にあらかじめ保存されている。
【0016】
図2は、実施例1が行う処理を示したフロー図である。
工程201では、各ヒストグラムを、数2に従って、累積ヒストグラムC_iを生成する。図3はこの手順を示したフロー図である。
【0017】
【数2】
【0018】
数2で示される式変形と同等の処理を行うフローを図3に示す。各ヒストグラムH_iは図11の構造体1101にみられるように、浮動小数形式で描かれたN次元ベクトルで表現されており、それらの合計値は1になるように正規化されているものとする。このN次元ベクトルが複数存在し、それらの個々の要素をiの値で示す。このとき、任意のヒストグラム(N次元ベクトル)H_iを選択し、これに対応する累積ヒストグラム(N次元ベクトル)C_iの領域を確保する(工程301)。ベクトル構造体H_i(t)の要素を選択し(工程302)、C_i(t)の値にC_i(t+1)+H_i(t)の値を書き込んでいく(工程303)。上限値Nになるまでtの値を増加させながら工程303の操作を繰り返す(工程305)。出来上がったC_iをH_iの累積ヒストグラムとして定義し、この操作を全てのヒストグラムについて繰り返す(工程306)。これにより、累積ヒストグラムC_i(t)が作成される。
【0019】
図9は、ヒストグラム901と、変換されたあとの累積ヒストグラム902の例を模式図で示す。一般にヒストグラムは連続性が保障されないが、累積ヒストグラム902では元のヒストグラムに比べ、単調増加性と連続性を持つため、多くの場合グラフ上ではよりなだらかな形状を示す。
【0020】
図10は、三本のヒストグラム1001〜1003と、それらの累積ヒストグラム1011〜1013を、それぞれ一つのグラフ上に記載したものである。ヒストグラムは何度も交差するため、それぞれの線が異なっていない場合にはどの線がどの線につながっているか判別しにくい。一方、それに比べると累積ヒストグラムは交差する回数が少ないため、線の連結が目で追いやすい。
【0021】
また、ピークの距離が離れている場合には、ピークの間のデータが分離されるため、より明確にデータが分離される。
【0022】
また、二本の線が交差する場合には、二本の累積ヒストグラムそれぞれについて、その点以上の成分とその点以下の成分が一致しているという、意味のある大局的な情報を示す。
工程202では、工程201で計算したこれらの各累積ヒストグラムC_i(t)をカウントして、二次元テーブルP上にC_i(t)の度数を計算する。
【0023】
図4はこの工程202の手順を示したフロー図である。浮動小数の二次元配列P(N,I)の領域を確保し、0で初期化する(工程401)。このとき、NをヒストグラムH_iの次元数、Iは[0:1]で定義されるヒストグラムを分割する数であり、二次元テーブルはI*N個のデータで構成されるものとする。このテーブルの実装例を図12に挙げる。ヒストグラムを分割する階級値Xとその度数Yに対して、P(X,Y)が定義される。但しXはN個の階級に分割される値であり、Yは度数の上限と下限を適切な個数に分割することで量子化された値である。N次元ベクトルC_iの個々の要素をiの値で示す。工程402〜工程407はループであり、任意の累積ヒストグラム(N次元ベクトル)C_iを選択して、以下の工程403〜406の処理を行う。各ベクトルの値tについて、tと対応するC_i(t)の値に対応する二次元配列、P(t,C_i(t))の値を増加させる(工程404)。なお、P(t,C_i(t))は、二次元テーブルP上で(x,y)に相当する位置を指す記法表現とする。ただし、x,yはそれぞれfloor()を小数点以下の切り捨て処理とし、x=t, y=floor(C_i(t)*I)として作成される媒介変数である。 tの値を最大値Nまで増加させて404の作業を繰り返す(工程405,406)。工程403〜406の処理が全てのiに終わったところで、テーブルPが定義される。
【0024】
工程203では、工程202で作成された二次元テーブルPから格子メッシュを定義し、各累積ヒストグラムC_iの曲線を重畳表示させた三次元マップを作成する。この処理で作成される三次元のサーフェースデータ(x,y,P(x,y))を可視化した例が図7である。点線で表された面701を可視化して、パターンを三次元モデルの高さとして視認する。この時、同一・類似のヒストグラムが多数存在する場合、工程401によって(x,y)上の連続コースが繰り返しカウントされるため、そのようなパターンは702のように三次元マップ上の峰として視認することが出来る。この三次元マップをポリゴンメッシュとして可視化し(工程204)、作成された画像をディスプレイに表示する(工程205)。このメッシュ画像化とディスプレイ処理は、三次元CG表示の基本技法を用いて実現可能である。この技法の典型例として、たとえばOpenGLのような三次元表示用の汎用ライブラリをあげることができる。
【0025】
累積ヒストグラムを用いずに通常のヒストグラムを三次元マップにカウントして描画すると、各データが互いに煩雑に交差するようになる。そしてデータが三次元マップ上で交差してしまうと、一連のデータの流れの見分けがつかなくなる。また、通常のヒストグラムでは、極端なピークを持つとグラフとして不連続になる。図9のヒストグラムグラフ901での極端なピークの例を911に挙げる。のこのような不連続なデータは三次元マップとして表現されても、一連のデータの連続性を一つのパターンとして認識することが出来ない場合が多い。だが、本実施例で見られるように累積ヒストグラムの分布を三次元表示すると、個々の典型パターンが、連続性と単調増加性が保持されるため、峰の形状として視認できるようになる。図7、図9、図10を具体例として挙げて、この関係を説明する。901のグラフは2つのピークを成分としてもつある一つのデータを示したヒストグラムと読み取ることが出来る。このとき、2つのピーク成分を含有する比率は、たとえばSpectroscopy法のような手法において、このデータの性質を表現する重要な要素になる。一方、図10での1001,1002,1003のような、三種のデータが存在している場合を考える。このとき、それぞれのデータが持っているピークの数と大きさは異なっており、それらの特徴を適切に分類するならばこれらのデータを分けることが出来る。だが、三種のデータが大量に存在した状態で加算してしまうと、たくさんのピークが混在した一つのヒストグラムとなってしまい、それらの山の大きさも、個々のデータに属する要素の数と個々のデータ種類内の含有比率との積として得られるため、合計ヒストグラムからはデータ種類の性質や分類された要素数について目視で算出することは困難である。
【0026】
この分離の困難さは、1)ピーク成分の不連続性と2)各データの交差回数に起因すると考えることが出来る。たとえば、1000のグラフでは、点線・一点差線・実線といった線の種類を変えておかないと、どのピークラインがどのピークラインにつながっているかを辿ることも困難になる。
【0027】
ここで同じ内容を累積ヒストグラムで表現してグラフ化を行うと、1)積分処理を行うことになるため、不連続性の要素については明らかに減少し、峰は比較的滑らかな形状になる。また、2)前の例ではピークの後必ず交差していた各データの交差回数についても、減少し、ピークAとピークBの間においては、ピークA以下の成分とピークB以上の成分の比率をあらわす峰ができるため、各データの含有成分率に応じて異なるコースを辿る。この結果、含有成分が類似したデータに関しては、図7のように分離された峰が見られるようになる。
【0028】
本実施例の適用対象データとしては、音声データのスペクトルを解析した結果や、画像データの濃度パターン、脈波や呼吸波、脳波などの生体情報を周波数解析した結果や、移動体の速度を統計計算したデータなどがある。また、このような多数のヒストグラム形状データを適切に分類することで、状態の判別や予測などの用途に生かす応用は数多く存在する。たとえば生体情報の計測結果を分類することにより、生体の健康状態や内部状態の検査に用いる応用例や、画像や音声のヒストグラムを分類することで内容を機械的に推定しデータの索引情報として用いる応用例や、携帯電話のGPSなどの移動速度を分類することにより、ユーザの交通移動手段を推測してログとして記録し、ユーザの運転の性向を分類して安全管理に用いるなどの応用例を挙げることができる。
【実施例2】
【0029】
図5は実施例2の処理工程を表現したフロー図である。
【0030】
この実施例では、機械学習により複数のクラスタへの分離を行い、その分離状態を三次元マップ上の色として表現して可視化する。
【0031】
工程501では、関数ベクトルH_i(t)を表現する、k個の代表点t_kを選択する。本実施例では、0〜Nまでの値をk-1分割した値をそれぞれ用いることにする。
【0032】
工程502では、各ヒストグラムデータH_iから、H_i(t_k)をi個のk次元ベクトルとして取り出し、このクラスタリング分類処理を行う。このクラスタリング処理には、一般的な分類処理を用いる。本実施例では、k-means法でk次元ベクトルを分類するものとする。このクラスタリング処理の結果生まれたラベルをl_iとして保存する。
【0033】
工程503では、各ヒストグラムデータから累積ヒストグラムを作成する。この処理は実施例1の工程202と同じルーチンを使用することが出来るため、説明を割愛する。
【0034】
工程504では、各ヒストグラムを分類ラベル毎に三次元テーブルP上にカウントする。
【0035】
図6は、この工程504の処理をフロー図で記載したものである。浮動小数の三次元配列P(N,I,L)の領域を確保し、0で初期化する(工程401)。このとき、NをヒストグラムH_iの次元数、Iは[0:1]で定義されるヒストグラムを分割する数、Lは分類されたラベルの上限数であり、三次元テーブルはI*N*L個のデータで構成されるものとする。N次元ベクトルC_iの個々の要素をiの値で示す。工程402〜工程407はループであり、任意の累積ヒストグラム(N次元ベクトル)C_iを選択して、以下の工程403〜406の処理を行う。各ベクトルの値tについて、tと対応するC_i(t)の値に対応する二次元配列、P(t,C_i(t),L)の値を増加させる(工程404)。なお、P(t,C_i(t),L)は、三次元テーブルP上で(x,y,L)に相当する位置を指す記法表現とする。ただし、x,yはそれぞれfloor()を小数点以下の切り捨て処理とし、x=t, y=floor(C_i(t)*I)として作成される媒介変数である。 tの値を最大値Nまで増加させて404の作業を繰り返す(工程405,406)。工程403〜406の処理が全てのiに終わったところで、テーブルPが定義される。
【0036】
工程505では、三次元テーブルPを三次元メッシュに変換する。ただし、メッシュの各点(x,y)に対して、高さ情報Z(x,y)と、色情報col(x,y)を数3のように決定する。
【0037】
【数3】
【0038】
但し、basic_col(l)はラベルlに対応付けられた互いに異なる色情報でRGBで表現されているものとする。
【0039】
この数式で表される手法は、各峰の性質をラベル色の混合率で直感的に表現するためのものである。たとえば、basic_col(l)が赤いラベルと青いラベルの二種類によって構成されている場合、紫色の峰も、赤・青含有率によって二つの成分の含有比率を表現できるようになる。また、この色成分の分離率を見ることによって、ラベルが適切にデータを分離できているかどうかを直感的に提示し、人間がラベルの有効性を判断するための情報を提示できる。
【0040】
工程506では、上記手法で作られた三次元メッシュを画像として映像出力装置105のメモリ上に描画し、工程507でディスプレイ110上に提示する。
【実施例3】
【0041】
実施例2ではラベル化処理がデータを適切に分離しているかどうかを示すための表現手法が提示されたが、実施例3では、この表現処理をインタラクティブに用いて、ラベル付けのパラメータを調整する手法を示す。 図8は、第三の実施例を示すフロー図である。
【0042】
工程801では、実施例2の工程501と同様にサンプリング点t_kを選択する。
【0043】
本実施例では、工程802で利用者が入力装置111から入力操作を行った場合には、t_kの値を変更または追加または削減を行う。
【0044】
工程803から工程808までは、実施例2の工程502から工程507と同様の作業を行う。
利用者は出力された結果を見て、サンプリング点t_kのパラメータを変更して再度機械学習を行うかどうかを選択する。再度の変更を行う場合には工程802にすすみ、利用者が表示結果に満足した場合には、本パラメータでデータの分類を終了する。
【0045】
上記の処理を加えることによって、所定のラベル分類基準が目的としたデータの分離を達成しているかどうかについて人間が目視確認できる状況を構築し、その反映結果が満足した状態になるまで繰り返しパラメータを調整することが可能となる。
【0046】
以上のように本実施形態では、多数のヒストグラムとして表現される多次元データの分布を、累積ヒストグラムのグラフ形状を重畳させて三次元マップを構築することによってデータの分布パターンを直感的に眺望することを可能にする。このことにより、典型的なヒストグラムデータとその分布のパターンを直感的に把握し、機械的な分類結果をインタラクティブに調整する方法を提供する。
【符号の説明】
【0047】
901…ヒストグラムをグラフとして描画したイメージ例、902…累積ヒストグラムをグラフ
として描画したイメージ例、1000…三本のヒストグラムを同一のグラフ上に描画したイメージ例、1010…三本の累積ヒストグラムを同一のグラフ上に描画したイメージ例。
【技術分野】
【0001】
本発明は、情報処理装置に関し、特に、累積ヒストグラムの情報を出力する技術に関する。
【背景技術】
【0002】
ヒストグラムの含有成分からデータを分類する方法として、個々のヒストグラムから峰の極大値を検出し、その極大値の周りにガウス分布など峰状の成分が分布しているものとして近似的にモデル化することで、多次元ベクトルに変換する手法が知られている。
【0003】
例えば、特許文献1では、ヒストグラムを複数のガウス分布の合成としてモデル化表現し、各ピークのパラメータを決定する際に、個々のヒストグラムが持つ峰の数を変数としてEMアルゴリズムなどの処理を行ってパラメータの最尤推定量を求める手法などが提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008-84035号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1記載の技術をはじめとする従来の技術では、データ分布が多次元ベクトルに変換されているため人間が直感的に理解することは困難である。
【0006】
また、複数のヒストグラムそのものを用いてデータ分布を表現する場合、図10の1000に示すように多数のヒストグラムが重なり合うため、人間が直感的にデータ分布を理解することは困難である。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明は、以下の構成を備える。即ち、ヒストグラム情報を記憶する記憶部と、ヒストグラム情報を解析して累積ヒストグラムを演算する演算部と、累積ヒストグラムの情報を表示装置へ出力する出力部と、を備える情報処理装置において、演算部は、累積ヒストグラムの階級をX軸、度数をY軸、その二つに相当する成分を有する累積ヒストグラムの数をZ軸として集計を行い、複数の累積ヒストグラムを三次元的に表示可能な情報として前記出力部へ出力し、出力部は、複数の累積ヒストグラムを三次元的に表示可能な情報を表示装置へ出力する。
【発明の効果】
【0008】
本発明によれば、人間が直感的に理解することが可能なデータ分布の表示が可能となる。
【図面の簡単な説明】
【0009】
【図1】情報処理機器の例を示す図。
【図2】第一の実施例の全体フロー図。
【図3】ヒストグラムを累積ヒストグラムに変更するルーチン処理のフロー図。
【図4】累積ヒストグラムの分布を三次元データとしてカウントする手法のフロー図。
【図5】第二の実施例の全体フロー図。
【図6】第二実施例における累積ヒストグラムの分布を三次元データとしてカウントする手法のフロー図。
【図7】三次元マップ上に分布を重畳した画像の例を示す図。
【図8】第三の実施例の全体フロー図。
【図9】ヒストグラムと累積ヒストグラムの差を示した比較図。
【図10】ヒストグラムと累積ヒストグラムにおいて複数の分布を重ねた場合の比較図。
【図11】ヒストグラムと累積ヒストグラムを保持するベクトルデータの構造を示す図。
【図12】ヒストグラムの分布を表現する二次元データを保持するデータ構造を示す図。
【発明を実施するための形態】
【0010】
以下の実施形態では、多数のヒストグラムとして表現される多次元データの分布を、累積ヒストグラムのグラフ形状を重畳させて三次元マップを構築することによってデータの分布パターンを直感的に眺望することを可能にする。このことにより、典型的なヒストグラムデータとその分布のパターンを直感的に把握し、機械的な分類結果をインタラクティブに調整する方法を提供する。
【実施例1】
【0011】
図1は、本実施例のアルゴリズムを実行する情報処理装置の例を示す図である。情報処理装置100は、中央演算装置(CPU)102と主記憶メモリ101、情報を保持するストレージ等の外部記憶装置103と、人間にデータを表示するディスプレイ110に画像を表示する映像出力装置105、人間から情報を受け取るインタフェース111を制御する入出力インタフェース104を備えた汎用計算処理装置である。外部記憶装置103に読み込まれたプログラムに従ってCPUが計算処理を行う機能を有する。
【0012】
以下で説明する各図面のフローチャートで実行される処理は、CPUが各フローチャートに対応するプログラムを実行することにより実現される。
【0013】
以下の説明では、個々の要素データを、ヒストグラムH_iと表記する。ここでiは要素データを示す番号であり、パラメータt (0<t<N)に対して、H_i(t)を値として返す関数として扱う。また、数1の条件を満たす。
【0014】
【数1】
【0015】
本実施例では、これらのデータを保持するデータ構造体(浮動小数点データのベクトルとして保持される)は、外部記憶装置103にあらかじめ保存されている。
【0016】
図2は、実施例1が行う処理を示したフロー図である。
工程201では、各ヒストグラムを、数2に従って、累積ヒストグラムC_iを生成する。図3はこの手順を示したフロー図である。
【0017】
【数2】
【0018】
数2で示される式変形と同等の処理を行うフローを図3に示す。各ヒストグラムH_iは図11の構造体1101にみられるように、浮動小数形式で描かれたN次元ベクトルで表現されており、それらの合計値は1になるように正規化されているものとする。このN次元ベクトルが複数存在し、それらの個々の要素をiの値で示す。このとき、任意のヒストグラム(N次元ベクトル)H_iを選択し、これに対応する累積ヒストグラム(N次元ベクトル)C_iの領域を確保する(工程301)。ベクトル構造体H_i(t)の要素を選択し(工程302)、C_i(t)の値にC_i(t+1)+H_i(t)の値を書き込んでいく(工程303)。上限値Nになるまでtの値を増加させながら工程303の操作を繰り返す(工程305)。出来上がったC_iをH_iの累積ヒストグラムとして定義し、この操作を全てのヒストグラムについて繰り返す(工程306)。これにより、累積ヒストグラムC_i(t)が作成される。
【0019】
図9は、ヒストグラム901と、変換されたあとの累積ヒストグラム902の例を模式図で示す。一般にヒストグラムは連続性が保障されないが、累積ヒストグラム902では元のヒストグラムに比べ、単調増加性と連続性を持つため、多くの場合グラフ上ではよりなだらかな形状を示す。
【0020】
図10は、三本のヒストグラム1001〜1003と、それらの累積ヒストグラム1011〜1013を、それぞれ一つのグラフ上に記載したものである。ヒストグラムは何度も交差するため、それぞれの線が異なっていない場合にはどの線がどの線につながっているか判別しにくい。一方、それに比べると累積ヒストグラムは交差する回数が少ないため、線の連結が目で追いやすい。
【0021】
また、ピークの距離が離れている場合には、ピークの間のデータが分離されるため、より明確にデータが分離される。
【0022】
また、二本の線が交差する場合には、二本の累積ヒストグラムそれぞれについて、その点以上の成分とその点以下の成分が一致しているという、意味のある大局的な情報を示す。
工程202では、工程201で計算したこれらの各累積ヒストグラムC_i(t)をカウントして、二次元テーブルP上にC_i(t)の度数を計算する。
【0023】
図4はこの工程202の手順を示したフロー図である。浮動小数の二次元配列P(N,I)の領域を確保し、0で初期化する(工程401)。このとき、NをヒストグラムH_iの次元数、Iは[0:1]で定義されるヒストグラムを分割する数であり、二次元テーブルはI*N個のデータで構成されるものとする。このテーブルの実装例を図12に挙げる。ヒストグラムを分割する階級値Xとその度数Yに対して、P(X,Y)が定義される。但しXはN個の階級に分割される値であり、Yは度数の上限と下限を適切な個数に分割することで量子化された値である。N次元ベクトルC_iの個々の要素をiの値で示す。工程402〜工程407はループであり、任意の累積ヒストグラム(N次元ベクトル)C_iを選択して、以下の工程403〜406の処理を行う。各ベクトルの値tについて、tと対応するC_i(t)の値に対応する二次元配列、P(t,C_i(t))の値を増加させる(工程404)。なお、P(t,C_i(t))は、二次元テーブルP上で(x,y)に相当する位置を指す記法表現とする。ただし、x,yはそれぞれfloor()を小数点以下の切り捨て処理とし、x=t, y=floor(C_i(t)*I)として作成される媒介変数である。 tの値を最大値Nまで増加させて404の作業を繰り返す(工程405,406)。工程403〜406の処理が全てのiに終わったところで、テーブルPが定義される。
【0024】
工程203では、工程202で作成された二次元テーブルPから格子メッシュを定義し、各累積ヒストグラムC_iの曲線を重畳表示させた三次元マップを作成する。この処理で作成される三次元のサーフェースデータ(x,y,P(x,y))を可視化した例が図7である。点線で表された面701を可視化して、パターンを三次元モデルの高さとして視認する。この時、同一・類似のヒストグラムが多数存在する場合、工程401によって(x,y)上の連続コースが繰り返しカウントされるため、そのようなパターンは702のように三次元マップ上の峰として視認することが出来る。この三次元マップをポリゴンメッシュとして可視化し(工程204)、作成された画像をディスプレイに表示する(工程205)。このメッシュ画像化とディスプレイ処理は、三次元CG表示の基本技法を用いて実現可能である。この技法の典型例として、たとえばOpenGLのような三次元表示用の汎用ライブラリをあげることができる。
【0025】
累積ヒストグラムを用いずに通常のヒストグラムを三次元マップにカウントして描画すると、各データが互いに煩雑に交差するようになる。そしてデータが三次元マップ上で交差してしまうと、一連のデータの流れの見分けがつかなくなる。また、通常のヒストグラムでは、極端なピークを持つとグラフとして不連続になる。図9のヒストグラムグラフ901での極端なピークの例を911に挙げる。のこのような不連続なデータは三次元マップとして表現されても、一連のデータの連続性を一つのパターンとして認識することが出来ない場合が多い。だが、本実施例で見られるように累積ヒストグラムの分布を三次元表示すると、個々の典型パターンが、連続性と単調増加性が保持されるため、峰の形状として視認できるようになる。図7、図9、図10を具体例として挙げて、この関係を説明する。901のグラフは2つのピークを成分としてもつある一つのデータを示したヒストグラムと読み取ることが出来る。このとき、2つのピーク成分を含有する比率は、たとえばSpectroscopy法のような手法において、このデータの性質を表現する重要な要素になる。一方、図10での1001,1002,1003のような、三種のデータが存在している場合を考える。このとき、それぞれのデータが持っているピークの数と大きさは異なっており、それらの特徴を適切に分類するならばこれらのデータを分けることが出来る。だが、三種のデータが大量に存在した状態で加算してしまうと、たくさんのピークが混在した一つのヒストグラムとなってしまい、それらの山の大きさも、個々のデータに属する要素の数と個々のデータ種類内の含有比率との積として得られるため、合計ヒストグラムからはデータ種類の性質や分類された要素数について目視で算出することは困難である。
【0026】
この分離の困難さは、1)ピーク成分の不連続性と2)各データの交差回数に起因すると考えることが出来る。たとえば、1000のグラフでは、点線・一点差線・実線といった線の種類を変えておかないと、どのピークラインがどのピークラインにつながっているかを辿ることも困難になる。
【0027】
ここで同じ内容を累積ヒストグラムで表現してグラフ化を行うと、1)積分処理を行うことになるため、不連続性の要素については明らかに減少し、峰は比較的滑らかな形状になる。また、2)前の例ではピークの後必ず交差していた各データの交差回数についても、減少し、ピークAとピークBの間においては、ピークA以下の成分とピークB以上の成分の比率をあらわす峰ができるため、各データの含有成分率に応じて異なるコースを辿る。この結果、含有成分が類似したデータに関しては、図7のように分離された峰が見られるようになる。
【0028】
本実施例の適用対象データとしては、音声データのスペクトルを解析した結果や、画像データの濃度パターン、脈波や呼吸波、脳波などの生体情報を周波数解析した結果や、移動体の速度を統計計算したデータなどがある。また、このような多数のヒストグラム形状データを適切に分類することで、状態の判別や予測などの用途に生かす応用は数多く存在する。たとえば生体情報の計測結果を分類することにより、生体の健康状態や内部状態の検査に用いる応用例や、画像や音声のヒストグラムを分類することで内容を機械的に推定しデータの索引情報として用いる応用例や、携帯電話のGPSなどの移動速度を分類することにより、ユーザの交通移動手段を推測してログとして記録し、ユーザの運転の性向を分類して安全管理に用いるなどの応用例を挙げることができる。
【実施例2】
【0029】
図5は実施例2の処理工程を表現したフロー図である。
【0030】
この実施例では、機械学習により複数のクラスタへの分離を行い、その分離状態を三次元マップ上の色として表現して可視化する。
【0031】
工程501では、関数ベクトルH_i(t)を表現する、k個の代表点t_kを選択する。本実施例では、0〜Nまでの値をk-1分割した値をそれぞれ用いることにする。
【0032】
工程502では、各ヒストグラムデータH_iから、H_i(t_k)をi個のk次元ベクトルとして取り出し、このクラスタリング分類処理を行う。このクラスタリング処理には、一般的な分類処理を用いる。本実施例では、k-means法でk次元ベクトルを分類するものとする。このクラスタリング処理の結果生まれたラベルをl_iとして保存する。
【0033】
工程503では、各ヒストグラムデータから累積ヒストグラムを作成する。この処理は実施例1の工程202と同じルーチンを使用することが出来るため、説明を割愛する。
【0034】
工程504では、各ヒストグラムを分類ラベル毎に三次元テーブルP上にカウントする。
【0035】
図6は、この工程504の処理をフロー図で記載したものである。浮動小数の三次元配列P(N,I,L)の領域を確保し、0で初期化する(工程401)。このとき、NをヒストグラムH_iの次元数、Iは[0:1]で定義されるヒストグラムを分割する数、Lは分類されたラベルの上限数であり、三次元テーブルはI*N*L個のデータで構成されるものとする。N次元ベクトルC_iの個々の要素をiの値で示す。工程402〜工程407はループであり、任意の累積ヒストグラム(N次元ベクトル)C_iを選択して、以下の工程403〜406の処理を行う。各ベクトルの値tについて、tと対応するC_i(t)の値に対応する二次元配列、P(t,C_i(t),L)の値を増加させる(工程404)。なお、P(t,C_i(t),L)は、三次元テーブルP上で(x,y,L)に相当する位置を指す記法表現とする。ただし、x,yはそれぞれfloor()を小数点以下の切り捨て処理とし、x=t, y=floor(C_i(t)*I)として作成される媒介変数である。 tの値を最大値Nまで増加させて404の作業を繰り返す(工程405,406)。工程403〜406の処理が全てのiに終わったところで、テーブルPが定義される。
【0036】
工程505では、三次元テーブルPを三次元メッシュに変換する。ただし、メッシュの各点(x,y)に対して、高さ情報Z(x,y)と、色情報col(x,y)を数3のように決定する。
【0037】
【数3】
【0038】
但し、basic_col(l)はラベルlに対応付けられた互いに異なる色情報でRGBで表現されているものとする。
【0039】
この数式で表される手法は、各峰の性質をラベル色の混合率で直感的に表現するためのものである。たとえば、basic_col(l)が赤いラベルと青いラベルの二種類によって構成されている場合、紫色の峰も、赤・青含有率によって二つの成分の含有比率を表現できるようになる。また、この色成分の分離率を見ることによって、ラベルが適切にデータを分離できているかどうかを直感的に提示し、人間がラベルの有効性を判断するための情報を提示できる。
【0040】
工程506では、上記手法で作られた三次元メッシュを画像として映像出力装置105のメモリ上に描画し、工程507でディスプレイ110上に提示する。
【実施例3】
【0041】
実施例2ではラベル化処理がデータを適切に分離しているかどうかを示すための表現手法が提示されたが、実施例3では、この表現処理をインタラクティブに用いて、ラベル付けのパラメータを調整する手法を示す。 図8は、第三の実施例を示すフロー図である。
【0042】
工程801では、実施例2の工程501と同様にサンプリング点t_kを選択する。
【0043】
本実施例では、工程802で利用者が入力装置111から入力操作を行った場合には、t_kの値を変更または追加または削減を行う。
【0044】
工程803から工程808までは、実施例2の工程502から工程507と同様の作業を行う。
利用者は出力された結果を見て、サンプリング点t_kのパラメータを変更して再度機械学習を行うかどうかを選択する。再度の変更を行う場合には工程802にすすみ、利用者が表示結果に満足した場合には、本パラメータでデータの分類を終了する。
【0045】
上記の処理を加えることによって、所定のラベル分類基準が目的としたデータの分離を達成しているかどうかについて人間が目視確認できる状況を構築し、その反映結果が満足した状態になるまで繰り返しパラメータを調整することが可能となる。
【0046】
以上のように本実施形態では、多数のヒストグラムとして表現される多次元データの分布を、累積ヒストグラムのグラフ形状を重畳させて三次元マップを構築することによってデータの分布パターンを直感的に眺望することを可能にする。このことにより、典型的なヒストグラムデータとその分布のパターンを直感的に把握し、機械的な分類結果をインタラクティブに調整する方法を提供する。
【符号の説明】
【0047】
901…ヒストグラムをグラフとして描画したイメージ例、902…累積ヒストグラムをグラフ
として描画したイメージ例、1000…三本のヒストグラムを同一のグラフ上に描画したイメージ例、1010…三本の累積ヒストグラムを同一のグラフ上に描画したイメージ例。
【特許請求の範囲】
【請求項1】
ヒストグラム情報を記憶する記憶部と、
前記ヒストグラム情報を解析して累積ヒストグラムを演算する演算部と、
前記累積ヒストグラムの情報を表示装置へ出力する出力部と、を備える情報処理装置において、
前記演算部は、累積ヒストグラムの階級をX軸、度数をY軸、その二つに相当する成分を有する累積ヒストグラムの数をZ軸として集計を行い、複数の累積ヒストグラムを三次元的に表示可能な情報として前記出力部へ出力し、
前記出力部は、複数の累積ヒストグラムを三次元的に表示可能な情報を前記表示装置へ出力することを特徴とする情報処理装置。
【請求項2】
請求項1記載の情報処理装置において、
前記演算部は、前記複数の累積ヒストグラムに対して平面方向の奥行き方向にずらし、前記複数の累積ヒストグラムを三次元的に表示可能な情報として前記出力部へ出力することを特徴とする情報処理装置。
【請求項3】
請求項1または2記載の情報処理装置において、
前記演算部は、ヒストグラムを分類するための符号情報に合わせて前記複数の累積ヒストグラムの色を変えて表示可能な情報として前記出力部へ出力することを特徴とする情報処理装置。
【請求項4】
請求項3記載の情報処理装置において、
前記複数の累積ヒストグラムの符号情報は、機械学習の結果を用いて変更されることを特徴とする情報処理装置。
【請求項5】
請求項3または4記載の情報処理装置において、
前記複数の累積ヒストグラムの色は、外部からの入力を受け付ける入力部から入力された情報を用いてヒストグラムの分類基準が変更されることを特徴とする情報処理装置。
【請求項1】
ヒストグラム情報を記憶する記憶部と、
前記ヒストグラム情報を解析して累積ヒストグラムを演算する演算部と、
前記累積ヒストグラムの情報を表示装置へ出力する出力部と、を備える情報処理装置において、
前記演算部は、累積ヒストグラムの階級をX軸、度数をY軸、その二つに相当する成分を有する累積ヒストグラムの数をZ軸として集計を行い、複数の累積ヒストグラムを三次元的に表示可能な情報として前記出力部へ出力し、
前記出力部は、複数の累積ヒストグラムを三次元的に表示可能な情報を前記表示装置へ出力することを特徴とする情報処理装置。
【請求項2】
請求項1記載の情報処理装置において、
前記演算部は、前記複数の累積ヒストグラムに対して平面方向の奥行き方向にずらし、前記複数の累積ヒストグラムを三次元的に表示可能な情報として前記出力部へ出力することを特徴とする情報処理装置。
【請求項3】
請求項1または2記載の情報処理装置において、
前記演算部は、ヒストグラムを分類するための符号情報に合わせて前記複数の累積ヒストグラムの色を変えて表示可能な情報として前記出力部へ出力することを特徴とする情報処理装置。
【請求項4】
請求項3記載の情報処理装置において、
前記複数の累積ヒストグラムの符号情報は、機械学習の結果を用いて変更されることを特徴とする情報処理装置。
【請求項5】
請求項3または4記載の情報処理装置において、
前記複数の累積ヒストグラムの色は、外部からの入力を受け付ける入力部から入力された情報を用いてヒストグラムの分類基準が変更されることを特徴とする情報処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2011−8651(P2011−8651A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2009−153187(P2009−153187)
【出願日】平成21年6月29日(2009.6.29)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願日】平成21年6月29日(2009.6.29)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]