JP4090969B2 - 信号分離方法、信号分離プログラム及びそのプログラムを記録した記録媒体 - Google Patents
信号分離方法、信号分離プログラム及びそのプログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP4090969B2 JP4090969B2 JP2003311475A JP2003311475A JP4090969B2 JP 4090969 B2 JP4090969 B2 JP 4090969B2 JP 2003311475 A JP2003311475 A JP 2003311475A JP 2003311475 A JP2003311475 A JP 2003311475A JP 4090969 B2 JP4090969 B2 JP 4090969B2
- Authority
- JP
- Japan
- Prior art keywords
- processing unit
- signal
- data
- matrix
- signals
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Complex Calculations (AREA)
Description
また、Lifting(リフティング)とはウェーブレット変換の一種であり、元々圧縮やノイズ除去などに応用されていた。ウェーブレットの中でも高速で可逆であることがLiftingの特徴である。Liftingについての詳細な説明は非特許文献3を参照。
そこで本発明は、以上の点に鑑み、Liftingと呼ばれるウェーブレット変換をFastICAに組み合わせることにより、今まで分離が困難だった信号も含めいかなる観測信号に対しても有効に高速分離を可能とした信号分離方法及びプログラム及び記録媒体を提供することを目的とする。
本発明の解決手段によると、
信号分離処理を実行するための処理部と、前記処理部と接続されて信号を入力するための入力部又は記憶部と、前記処理部と接続されて前記処理部による処理結果を出力又は表示するための出力部又は表示部とを備えた信号分離処理装置を用いた信号分離処理方法、信号分離プログラム及び該プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
処理部が、互いに独立なN種類の情報源から発生した信号が線形に重ね合わされた信号を観測した信号であるN種類の観測信号X=x n (t) (n=1,・・・,N)を、入力部又は記憶部から入力するステップと、
処理部が、N種類の観測信号Xの各データを、各観測信号の信号分布がどれだけ尖っているかを表す尖度を高めるための、ウェーブレット変換の一種で可逆なリフティング処理を実行するステップと、
処理部が、前記リフティング処理されたN種類の信号を、N種類の信号間の独立性が最大になるように、N種類の独立した成分の信号である独立成分信号に分離するFastICA(Fast Independent Component Analysis:高速独立成分分析)処理を実行するステップと、
処理部が、独立成分信号を前記リフティング処理の逆変換により、尖度を低くするように戻すことにより、重なり合った観測信号から分離抽出された信号であるN種類の分離信号Y=y n (t) (n=1,・・・,N)を求めるための逆リフティング処理を実行するステップと、
処理部が、N種類の分離信号Yを記憶部に記憶、出力部に出力、及び/又は、表示部に表示するステップと、
を含み、
前記リフティング処理を実行するステップは、
処理部が、前記観測信号のデータ列の偶数番又は奇数番の一方のデータを、その両側のデータの平均との差に置き換えるステップと、
処理部が、前記置き換えるステップにより置き換えていない部分を前半部分に、前記置き換えるステップにより置き換えた部分を後半部分にソートする、又は、前記置き換えるステップにより置き換えていない部分を後半部分に、前記置き換えるステップにより置き換えた部分を前半部分にソートするステップと、
処理部が、前記前半部分に対して前記置き換えるステップ及び前記ソートするステップを繰り返し実行し、リフティング処理された変換信号X=x n (t)に変換するステップと
を含み、
前記FastICA処理を実行するステップは、
処理部が、前記リフティング処理されたN種類の変換信号X=x n (t)の各nに対して、平均値を求めて各データx n (t)から平均値を減算することにより中心化し、中心化した行列X’=x’ n (t)を記憶部に記憶するステップと、
処理部が、中心化した行列X’を記憶部から読み出し、行列X’からつくられる共分散行列の固有値・固有ベクトルを求めて、各データをその固有ベクトルで改めて表現しなおすことにより白色化して、行列X’として記憶部に記憶するステップと、
処理部が、分離行列Wを構成するベクトルw i (i=1、・・・、N)の各成分の初期値を一様分布に従う乱数としてランダムに生成するステップと、
処理部は、各行又は列のいずれかが中心化及び白色化された行列X’を構成するベクトルx’ i (i=1、・・・、N)と、ベクトルw i (i=1、・・・、N)とを用いて、非ガウス性を最大化するための予め定められた以下に示す漸化式により、ベクトルw i を更新することにより、分離行列Wを決定し、記憶部に記憶するステップと、
処理部が、中心化及び白色化される前の行列Xと分離行列Wとの積により、前記独立成分信号Y’を求め、記憶部に記憶するステップと、
を含み、
前記逆リフティング処理を実行するステップは、
処理部が、独立成分信号Y’を記憶部から読み出し、計算範囲を2つのデータ範囲に設定するステップと、
処理部が、前半部分のデータを奇数部分に且つ後半部分のデータを偶数部分に入れ替える、又は、後半部分のデータを偶数部分に且つ前半部分のデータを奇数部分に入れ替えるステップと、
処理部が、偶数番又は奇数番のいずれかのデータに、そのデータの両側のデータの平均を加えるステップと、
処理部が、計算範囲を倍として、前記入れ替えるステップ及び平均を加えるステップを繰り返し実行し、求めたY’を分離信号Yとして記憶部に記憶するステップと、
を含み、
前記漸化式は、
w i ←E(x i (w i T x i ) 3 )−3w i
(ここで、Eは算術平均)
、又は、
w i ←E(x’ i g(w i T x’ i ))−E(g’(w i T x’ i ))w i
(ここに、関数g及びそれを微分した関数g’は、次のいずれかである。
g 1 (y)=tanh(a*y)、g’ 1 (y)=a*(1−tanh 2 (a*y))
(aは、1以上2以下の定数)
g 2 (y)=y*exp(−y 2 /2)、g’ 2 (y)=(1−y 2 )*exp(−y 2 /2)
g 3 (y)=y 3 、g’ 3 (y)=3*y 2 )
である
信号分離方法、及び、これら各ステップをコンピュータに実行させるための信号分離プログラム並びに該プログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
本実施の形態において扱う信号は、音声、画像等に関わらずあらゆる信号を用いることができる。ここでは、分離信号については、分かりやすくするために、まず、音声について説明する。
図1及び図2に、音声分離についての説明図(1)及び(2)を示す。
例えば、部屋のなかに、静かな音楽が流れており、さらに、ある人が本を朗読しているとする。そのとき、信号源は音楽と朗読の2種類である。この場合、N=2である。この部屋に録音用のマイクが2つ互いに離れた場所に設置してあり、それぞれのマイクで音を録音する。録音された音は、マイクが2つあるので、2種類ある。ここで、これら2つのマイクで録音した音から、音楽だけの音と朗読だけの音に分離抽出したいということを考える。この手法が、独立成分分析である。
ここでは、音の例を挙げたが、対象は音に限る必要はなく、画像などの他の信号でも可能である。本実施の形態では、画像での効果が大きいので、画像を例にしたサンプルが多いが、音声でも全く問題なく使える。
図3に、画像分離についての説明図を示す。
観測信号とは、上述の音声の場合では、与えられているのは、マイクで録音した音だけである。一方、画像の場合では、観測画像と書かれている画像だけである。また、分離信号とは、上述の音声の例では、独立成分解析を施した後の「音楽だけの音」と「朗読だけの音」を意味する。画像の例では、重なり合った画像(観測画像)から分離抽出された画像を分離信号と読んでいる。
独立成分解析のアルゴリズムの目的は、観測信号から分離信号を求めることだが、観測信号は分離信号が線形に重なり合って生成されていると仮定するので、通常、観測信号と分離信号の関係は行列で表現される。つまり、観測信号にある行列をかければ、分離信号が得られるはずであり、この行列さえわかれば、分離信号が得られることになる。この行列のことを分離行列と呼ぶ。オリジナルのFastICAでは、この分離行列を1行ずつ求めている。なお、一度に、この分離行列を求めるアルゴリズムも提案されている。
独立成分分析の問題は、互いに独立なN種類の情報源から発生した信号が線形に重ね合わされたN種類の観測情報を得たとき、それら観測情報から元の独立な情報を分離抽出して復元したいという問題である。
N=2のときの独立成分分析の問題を例にして説明する。(以下、一般のNについても、全く同じ議論を展開できる。)N=2のとき、観測信号を表す確率変数y1、y2に対して、独立な情報源の信号を表す確率変数x1、x2が存在して、次の関係を満たす。
y1=a*x1+b*x2
y2=c*x1+d*x2
ここで、a、b、c、dはad−bc≠0を満たす未知定数である。前述した、独立成分分析の問題は、観測信号y1、y2から独立な情報源の信号x1、x2を分離抽出して復元したいという問題である。そのためには、未知定数a、b、c、dがわかればよい。実際、上の線形な関係より、既知の観測情報で構成されるベクトル[y1 y2]の転置(この場合、2次元の縦ベクトルになる)に対して、2×2の行列[a b;c d](1行目がa b、2行目がc dの行列、混合行列と呼んでいる)の逆行列(これも、2×2の行列。この行列を分離行列という)を左からかければ、情報源の信号[x1 x2]が得られる。
FastICAのアルゴリズムでは、中心極限定理により、「一般に、いくつかの互いに独立な情報源から発生した信号を線形に重ねるとその分布はガウス分布に近づく」という事実を用いる。中心極限定理を数式を用いてより、詳細に表すと次のようになる。
確率変数x1、x2、.....が平均値0、分散1の同一分布にしたがい、独立であるとする。このとき、確率変数:
(x1+ x2+...+ xn)/√n
は、n→∞のとき、平均値0、分散1のガウス分布に収束する。
この中心極限定理において重要なのは、必ずしもガウス分布でない分布に従う確率変数(複数)も、それらの線形結合をとると、よりガウス的になる(ガウス分布に近くなる)ことを示唆している点である。先のN=2の場合の例でいえば、この中心極限定理より、観測情報y1、y2は、情報源の信号x1、x2よりも、よりガウス的であると考えられる。FastICAでは、このことを逆に考えて、独立成分分析に用いる。つまり、観測情報y1、y2から非ガウス性が最大になるようなx1、x2を求めれば、それらは、情報源であろうと考えるのである。(ただし、x1、x2のいずれも、もともとガウス分布に従わないという仮定は必要である。この仮定は実際に独立成分分析の問題に応用する場合、ほとんど問題ない仮定である。)
そこで、観測情報y1、y2からなる次の量:
w1*y1+w2*y2
を考えて、これの非ガウス性を最大化することを考える。もし、ベクトル[w1 w2]が上記の係数a、b、c、dからなる2×2の行列[a b; c d](1行目がa b、2行目がc dの行列、混合行列と呼んでいる)の逆行列(これも、2×2の行列、分離行列と呼んでいる)のある一行に等しければ、これは、x1またはx2のどちらかに等しいはずである。
ここで、はじめに、ベクトル[w1 w2]の各成分の値は、アルゴリズム上では、ランダムな値を与える。そして、独立性の指標である尖度により、ベクトル[w1 w2]を更新し、分離行列Wの各行を求めていくのである。
非ガウス性を測る基準としては尖度やネゲントロピーなどがある。
さて、上述の非ガウス性であるが、ガウス性とは、その分布がどれだけガウス分布に近いかを表し、「ガウス性=その分布とガウス分布の近さ」であり、「非ガウス性=その分布とガウス分布の遠さ」を表していると考える。その近さ・遠さの指標として、分布の尖度を使う。
尖度(kurtosis)とは、信号の分布がどれだけ尖っているかを表す。ガウス分布であれば尖度は0になる。尖度が正であればガウス分布より尖っていて(SuperGaussian)、尖度が負であればガウス分布より平坦である(SubGaussian)。信号をX={xi}、信号の数をT、標準偏差をσとすると尖度(kurt(X))は、例えば、式(1)のように表される。
情報源の各信号系列を各行に割り当てた、原信号行列をS(行の数はN)、混合行列をA(2.1のN=2の場合の例では、2×2の行列[a b; c d])とすると観測される信号行列はX=AS(各行は観測信号の各信号系列)と表せる。このXに分離行列Wをかけることで分離信号Yを得る。Aは未知であるので、Wを信号の尖度を手がかりにW=A−1となるようWを求めていく方法が基本となる。
固定小数点法と呼ばれるアルゴリズムは分離行列Wのある一行のベクトルをwとして次式(2)のように表せる。ただし、||w||=1である。
w←E(x(wTx)3)−3w (2)
式中のEは、算術平均である。Xはベクトルであるから、X=[2 4 8 10]であれば、E[X]は、(2+4+8+10)/4=6である。なお、FastICAの詳細な説明は非特許文献1を参照。
この式(2)のような漸化式は、非ガウス性を逐次的に最大化するために使用される。非ガウス性の尺度として尖度を用いた場合、式(2)は、式(1)に示したような、分布wTx’iの尖度kurt(wTx’i)の、wに関する微分から得られる。また、後述の処理フローチャートでは、式(2)の行列xには、行列xの各行を中心化及び白色化処理した後の行列x’が用いられる。なお、後述のように、非ガウス性の尺度としてネゲントロピーを用いることもできる。
Liftingとはウェーブレット変換の一種であり、元々圧縮やノイズ除去などに応用されていた。ウェーブレットの中でも高速で可逆であることがLiftingの特徴である。そのLiftingを、ここでは信号の尖度、分布の尖度を高める方法として使用する。
Liftingの原理は予測誤差に基づくものである。信号をx={xi}とするとxiをxi−1とxi+1の平均であると予測し、実際の値との誤差を求め、値を置き換える。
Liftingを使って特に有効な場合は、信号源の分布の尖度が低い場合である。画像は一般的に尖度が低い場合が多いので、Liftingを使って尖度を大きくすることが有効な場合が少なくない。LiftingのFastICAへの適用にあたって、有利に働くLiftingの性質を、以下に例示する。なお、Liftingについての詳細な説明は非特許文献2を参照。
(1)Lifting・逆Liftingともに、高速な手続きであり、FastICAの高速性を失わない。
(2)他の線形変換と可逆である。(この性質が無ければ、FastICAの直後の分離結果が、原画像にLiftingを施した画像にならない。FastICAの後、逆Liftingが必要な理由)
(3)信号源の独立性を失わない。
今回、用いた画像データは、256階調のグレースケールのデータで、画像の各ピクセルには、0(白)〜255(黒)の値が割り当てられている。画像の左上を始点として、左→右、上→下の順番でこれらのデータが並んでいる。その一例として、図示のように、1番目の101と3番目の106の平均値は、103.5である。2番目の105との差は、105−103.5=1.5であるから、2番目の105を1.5で置き換える。同様に、4番目・6番目・・・など、偶数番目のデータを置き換えていく。置き換えられた偶数番目のデータは、すべて後半に置き換え、奇数番目は、前半に移動する。
この後半に移動したデータを高周波成分と読んでいる。偶数番目のデータは、その前後の予測誤差で置き換えられているので、データ間の揺れが大きいほど、予測誤差も大きくなる。このことから、後半に移動したデータをハイパスフィルタを通して出てくる信号成分と考え、高周波成分と呼んでいる。これに対して、前半に移動した奇数番目のデータは、低周波成分と呼んでいる。
上述と同じ処理を、さらに、この前半に移動したデータについて同様に実行する。このとき、対象データは、全体の1/2になっていることに注意する。全体の1/2の対象データに上と同じ処理をすると、前半に低周波成分、後半に高周波成分になる。このとき、前半の低周波成分は、全体の1/4になっている。この処理を繰り返すと、低周波成分は無くなっていき、高周波成分だけになることがわかる。
なお、データの置き換え又は調整について、奇数番目の処理と偶数番目の処理を逆にしても良い。また、上述の説明では、奇数部分を前に偶数部分を後ろにソートしているが、これとは逆に、奇数部分を後ろに偶数部分を前にソートして、同様の処理を適宜実行してもよい。
3.1 画像に適用した例
図5に、Liftingを適用した説明図を示す。図5(A)は、左側に原画像、右側にLifting後の画像を示す。これは、8bit、256×256画素の画像にLifitngを適用した例である。また、図5(B)に、この2枚の画像の画素値分布を示す。
図示のように、Liftingを掛けると画素値の分布が非常に偏ることが見て取れる。つまり、Liftingを掛けると、原画像では低かった尖度が非常に高くなることがわかる。本実施の形態では、この性質をFastICAに応用する。
図6は、本実施の形態に関するハードウェアの構成図である。
このハードウェアは、中央処理装置(CPU)である処理部1、入力部2、出力部3、表示部4及び記憶部5を有する。また、処理部1、入力部2、出力部3、表示部4及び記憶部5は、スター又はバス等の適宜の接続手段で接続されている。
入力部2は、音声であればマイク、画像であればデジタルカメラやスキャナ等のように、処理される信号に応じて、適宜の入力手段が用いられる。記憶部5は、観測信号ファイル51、分離信号ファイル52を含む。また、記憶部5は、以下で詳述するような行列X、X’、W、W’、Y、Y’等の各行列やx、x’、w、w’、y、y’等のベクトル、各種データを記憶するための手段を、必要に応じて適宜備えるようにしてもよい。
上述したように、FastICAは尖度の高い信号に対して特に有効である。そこで、本実施の形態では、FastICAの前処理としてLiftingを施し、尖度の高い状態でFastICAをかける手法を提案する。それにより得られた分離信号はLiftingされた状態なので、逆Liftingにより元の尖度の状態に戻す。
図7に、信号分離処理についての概要フローチャートを示す。以下のように、処理部1は、処理を実行する。
ステップS10:処理部1は、入力部2又は記憶部5の観測信号ファイル51からN種類(N個)の観測信号を入力する。
ステップS20:処理部1は、入力された観測信号にLiftingをかける。
ステップS30:処理部1は、Liftingされた信号をFastICAで分離する。
ステップS40:処理部1は、分離された信号に逆Liftingをかける。
ステップS50:処理部1は、逆Liftingされた信号を原信号を表す分離信号として記憶部5の分離信号ファイル52に記憶、出力部3に出力、及び/又は、表示部4に表示する。
この手法の特徴として、
1.FastICAの高速性を失わない
2.どんな観測信号に対しても有効
といったFastICAの利点をそのままにして分離精度を大幅に向上することができる。
つぎに、図8及び図9に、信号分離の詳細な全体フローチャート(1)及び(2)を示す。処理部1は、以下のように実行する。
なお、本実施の形態では、主に、N種類の信号を行列X、X’、Y、Y’等の各行x、x’、y、y’等で表現した場合について説明するが、N種類の信号を行列X、X’、Y、Y’等の各列x、x’、y、y’等で表現してもよく、この場合も適宜同様の処理を実行することができる。
(ステップS101)
まず、処理部1は、分離したい次のようなN種類の観測信号ベクトルxを含む観測信号Xを、入力部2又は観測信号ファイル51から入力する。
X=xn(t)、n=1、・・・、N(N:信号の数(種類))
(ステップS201)
処理部1は、nを1とする。
(ステップS203)
処理部1は、入力された信号に基づき、その尖度を高める変換を行う(後述のサブルーチン1参照。)。
(ステップS205、S207)
処理部1は、nに1を加算し、nがNを超えるまで、ステップS203及びS205の処理を繰り返す。
(ステップS301)
処理部1は、変換された信号X=xn(t)の各n=1、・・・、Nに対して、xn(t)の平均が0になるように中心化の処理を行う。中心化は、データの平均値を求めて、各データから先に求めた平均値を引く操作である。この操作により、平均値は0になる。たとえば、
「6、4、8」
の3つのデータの平均値は6であるから、各データから平均値6を引くと、
「0、−2、2」
となり、これらの平均値は0になる。行列Xの各行xn(t)が中心化されたデータは行列X’として必要に応じて適宜、記憶部5に記憶される。
なお、中心化は、N種類の観測信号を行列Xの行で表現した場合は各行毎に実行し、一方、N種類の観測信号を行列Xの列で表現した場合は各列毎に実行する。
(ステップS303)
処理部1は、行列X’を必要に応じて、記憶部5から読み出し、行列X’の各行x’n(t)に対して分散を1にして独立成分分析のパラメータを減らすために白色化の処理を行う。白色化されたデータは行列X’として必要に応じて適宜、記憶部5に記憶される。白色化は、データ系列{x’n(t):n=1、・・・、N}の間の相関を無相関にするための操作である。ここでいう無相関とは、次の共分散が0になることである。たとえば、N=2の場合、データ系列x’1(t)とx’2(t)の共分散は、次の式で定義される。
cov(x’1,x’2):=E[(x’1−E(x’1))*(x’2−E(x’2))]
ここに、x’1とx’2は、それぞれあるデータ系列(又は確率変数)で、E(x’1),E(x’2)は、それぞれのデータ系列の平均値である。先の中心化の作業により、これらE(x’1),E(x’2)は0になっているはずである。したがって、このとき、上の共分散は、
cov(x’1,x’2)=E[x’1*x’2]
となり、無相関は、積x’1*x’2の平均値が0になるという意味である。これは、大数の法則により、データ系列のサイズが大きいとき、算術平均に等しくなるから、結局のところ、2つのデータ系列の内積が0という意味である。内積が0ということは、2つのデータ系列は直交しているということを意味している。
つまり、白色化とは、ある座標上に与えられているデータに対して、互いにできるだけ直交するような新たな座標を見つけ、その座標で各データを書き直すという処理である。具体的には、データからつくられる共分散行列(共分散を要素とする行列)の固有値・固有ベクトルを求めて、各データをその固有ベクトルで改めて表現しなおすという操作をしている。このような操作は、主成分分析という統計手法と同様である。
なお、白色化も、中心化と同様に、N種類の観測信号を行列Xの行で表現した場合は各行毎に実行し、一方、N種類の観測信号を行列Xの列で表現した場合は各列毎に実行する。
(ステップS305)
処理部1は、iを1とする。
(ステップS307)
処理部1は、ベクトルwiを全くランダムに発生させる。ここで、分離行列Wのある一行をベクトルwi(i=1、・・・、N)とする。なお、このベクトルの次元はNであり、Nは信号の種類の数を表す。例えば、2つの画像に分離したいのであれば、N=2である。ランダムに発生させる方法は、プログラム上で乱数を発生させる関数を使う。このような乱数としては、例えば、一様分布に従う乱数である一様乱数を使用するのが一般的である。
(ステップS309)
処理部1は、分離行列のある一行をwiとして、固定小数点アルゴリズムと呼ばれるアルゴリズム(後述のサブルーチン2参照。)によってwiを求める。
したがって、ステップS307で発生させたベクトルwiと分離したい観測信号xiは無関係である。ただし、その後のステップS309で更新されたベクトルwiは、分離したい観測信号xiと関係がある。処理部1は、後述のように、更新のときに、中心化及び白色化された観測信号x’iを使う。そして、処理部1は、例えば、式(1)で示したような尖度の微分・近似により得られた、式(2)で示したような更新のための漸化式を用いて、各信号の非ガウス性が最大となるように独立成分信号を分離抽出する。
(ステップS313、S315)
処理部1は、分離信号Wのすべての行ベクトルwiが求まるまでステップS307及びS309を繰り返し、分離行列Wを決定し、必要に応じて記憶部5に記憶する。
(ステップS317)
処理部1は、必要に応じて記憶部5から分離行列Wと中心化・白色化の処理前の観測信号Xを読み出し、または、予め得た分離行列W及び観測信号Xを用いて、観測信号Xと分離行列Wの積を計算し、独立成分信号Y’として求める。独立成分信号は行列Y’として必要に応じて適宜、記憶部5に記憶される。
なお、この積の計算は、N種類の観測信号を行列Xの行xで表現するか又は列xで表現するかにより、Y’=WX 又は Y’=XW のいずれかにより適宜計算することができる。
(ステップS401)
処理部1は、nを1とする。
(ステップS403)
処理部1は、得られた独立成分信号Y’は尖度が高められたままであるので、これを元に戻す処理を行う。ここで、yn(t)は行列Yの行成分であり、この行列Yの各行が分離信号となる。
(ステップS405、S407)
処理部1は、nを更新し、nがNを超えるまで、ステップS403、S405の処理を繰り返し、分離信号の行列Yを求める。
(ステップS501)
処理部1は、求めた分離信号の行列Yを分離信号ファイル52に記憶し、必要に応じて、表示部6に表示する。
つぎに、図10に、Liftingのサブルーチン1のフローチャートを示す。処理部1は、以下のような処理を実行する。
(ステップS251)
処理部1は、計算の範囲を設定する。例えば、1≦t≦T0(T0:入力信号のサイズ)とする。
(ステップS253)
処理部1は、例えば次式により、tが偶数のときx(t)をその両側の平均と予測してその誤差に置き換える。
x(t)←x(t)−{x(t−1)+x(t+1)}/2 高周波成分の抽出
(ステップS255)
処理部1は、例えば次式により、tが奇数のときx(t)をx(t−1)とx(t+1)によって値を調整する。
x(t)←x(t)+{x(t−1)+x(t+1)}/4
(奇数成分のみで構成しても全体の平均値が変わらない。)
(ステップS257)
処理部1は、奇数部分を前半に偶数部分を後半にソートする。
(ステップS259)
処理部1は、計算の範囲を前半のみに絞る。
(ステップS261)
処理部1は、奇数部分(前半)に対して、ステップS253〜S259のように、繰り返し変換を行い、すべてが高周波成分になったとき終了する。
なお、上述の説明では、ステップS253、S255において、データの置き換え又は調整について、奇数番目の処理と偶数番目の処理を逆にして、適宜処理を実行しても良い。また、ステップS257、S259において、奇数部分を前に偶数部分を後ろにソートしているが、これとは逆に、奇数部分を後ろに偶数部分を前にソートして、同様の処理を適宜実行してもよい。
図11に、FastICAのサブルーチン2のフローチャートを示す。
(ステップS351)
処理部1は、wiを漸化式によって更新する。上述のように、漸化式は、非ガウス性を逐次的に最大化するために使われる。この漸化式の具体例のひとつは、上述の式(2)等である。この漸化式のなかに、観測信号Xの行ベクトルxが含まれていることがわかる。処理部1は、この漸化式のxに、先に求めた中心化及び白色化した信号x’を代入してwを更新する。なお、この漸化式は、一例であり、その他にも何種類か存在し、提案されている。一般に、ICAでは、信号源の信号間の独立性を基準にして、観測信号を分離して、信号源の信号を分離抽出・復元する。この独立性の基準(ものさし)には、様々なものがあり、その多様性に応じて、提案されているアルゴリズムも様々ある。
FastICAでは、観測信号の分布の尖度を独立性の基準にしている。分布の尖度とは、上述の式(1)で定義される。
図12に、信号の度数分布の説明図を示す。図示のように正規分布(ガウス分布)の場合は、尖度は0であるが、それよりも尖る場合は正、鈍る場合は負になる。確率論の中心極限定理では、独立な信号の線形結合(重ね合わせ)は、その重ね合わせる信号の数が多いほど、よりガウス分布に近づくという主張がある。つまり、信号源の信号の線形結合は、もとの信号源の信号よりも、よりガウス分布に近づくという主張である。
このことを逆に用いて、FastICAでは、ガウス分布から離れるような分離を実現するアルゴリズムが提案されている。そこで、ガウス分布からの距離として尖度を使うことができる。このように、非ガウス性の尺度として尖度を用いた場合、例えば、尖度を測る基準(ものさし)を変数(ベクトル)wに関して微分・近似して、漸化式を得ることができる。
尖度の定義をそのまま使うこともできるが、非ガウス性を測るもう一つの基準であるネゲントロピーを使ったアルゴリズムも提案されている。このような漸化式の具体例としては、次式がある。
wi←E(x’ig(wi Tx’i))−E(g’(wi Tx’i))wi
関数gの候補としては、次の関数を使う。
g1(y)=tanh(a*y)
g2(y)=y*exp(−y2/2)
g3(y)=y3
ここで、aは、1以上2以下の定数で、a=1とすることが多い。また、g’は、関数gの微分で、上の各関数の候補に対して、次のように定まる。
g’1(y)=a*(1−tanh2(a*y))
g’2(y)=(1−y2)*exp(−y2/2)
g’3(y)=3*y2
このように非ガウス性の尺度としてを用いた場合、分布wTx’iのネゲントロピーのwに関する微分とその近似から、上記の漸化式が得られる。
なお、ネゲントロピー(negentropy)の定義は、次の通りである。
分布Zのネゲントロピー=(ガウス分布のエントロピー)−(分布Zのエントロピー)
(分布Zは、ここでは、wTx’i)
ネゲントロピーは、常に正の値をとることが知られている。ネゲントロピー=0ならば、その分布Zは、ほぼガウス分布であることがこの定義からわかる。一方、ネゲントロピーが正の、しかも大きな値であればあるほど、その分布Zは、ガウス分布から離れていること、つまり、この場合、非ガウス性が大きいことがわかる。
非ガウス性の尺度として尖度又はネゲントロピーのいずれを用いた場合も、これら漸化式を繰り返し用いることにより、ガウス分布からもっとも離れる分布(非ガウス性が最大の分布)になるようなwに収束する。
処理部1は、wiの大きさを1とする。ここで、「大きさを1とする」とは、ベクトルwの大きさを1にするという意味である。具体的には、ベクトルの大きさは、そのベクトルの各成分の2乗の総和の平方根で表される。
例えば、ベクトルw=[1 2]の大きさは、
√(12+22)=√5=2.2361...
である。ここでいうベクトルwの大きさを1にするという意味は、ベクトルwをその長さで割ることを意味する。上の例では、w=[1 2]の大きさを1にするためには、w=[1 2]をその長さ(√5)で割ればいいということである。したがって、大きさが1のベクトルはw’は、
w’=[1/√5 2/√5]=[0.4472... 0.8944...]
である。
(ステップS355)
処理部1は、wiと他のwj(j<i)が直交になるよう直交化する。「直交化」は、あるベクトルに対して、そのベクトルと直交するように、ベクトルを変更することをいう。具体的には、二次元で考えると、
w1=[1/2 (3/4)0.5]=[0.5 0.866...]
というベクトルがすでに得られていて、
w2=[3 4]
が漸化式により得られたとする。ここで、ベクトルw1の大きさが1になっていることに注意する。実際、w1の大きさを求めると、
(1/2)2+(3/4)(0.5*2)=1/4+3/4=1
となり、その大きさが1であることがわかる。
さて、ここで
w1とw2の内積=(1/2)*3+((3/4)0.5)*4
となり、0ではない。内積が0であれば、直交していると言えるが、直交していないので、w2がw1に対して直交するような操作をする。これを直交化という。具体的には、例えば、グラムシュミットの直交化法という手法を使う。上記の例では、次の計算をする。
w2−(w1とw2の内積)*w1
=[3 4]−{(1/2)*3+(3/4)0.5*4}*[1/2 (3/4)0.5]
=[0.5179 −0.2990]
先のw2に代わって、これをw2とする。これとw1の内積をとるとほぼ0になり、ほぼ直交していることがわかる。ただし、これは通常大きさが1になっていない。
なお、この場合は、2次元ベクトルを考えていたので、互いに直交するベクトルは高々2個であるが、例えば、3次元ベクトルの場合は、互いに直交するベクトルは、3個になる。このときは、w1が初め求められ、w2は、上と同様の方法で、直交化する。w3は、
w3−(w1とw3の内積)*w1−(w2とw3の内積)*w2
を計算すると、その結果をw3に代えると、w3は、w1とw2の両方に直交したベクトルが得られる。
(ステップS357)
処理部1は、ステップS353と同様に、wiの大きさを1とする。
(ステップS359)
処理部1は、更新の幅(更新前後のwiの差)Δwiが小さくなれば収束とみなし、処理を終了する。Δwiは、wiの更新の前後の差である。ただし、両方とも大きさは1に統一している。たとえば、1回目では、wi(0)はランダムに与えられ、ステップS351の更新により、wi(1)になったとする。ただし、両者とも大きさは1にしておく。この差をΔwiとおいている。ただ、差の定義は、アルゴリズムによって様々である。wi(0)−wi(1)を求めて、これはベクトルであるから、その大きさをΔwiとしてもいいし、そのベクトルの成分の絶対値の最大値をΔwとしてもいい。要は、wi(0)とwi(1)が十分近いかどうかをΔwi<e(ここで、eは予め定められた値)で判定する。もし、Δwi<eを満たさなければ、再度、ステップS351で更新して、wi(2)を求めたとすると、Δwは、2つのベクトルwi(1)とwi(2)の差である。
図13に、逆Liftingのサブルーチン3のフローチャートを示す。
サブルーチン3は、サブルーチン1の全く逆の操作を行う。
(ステップS451)
処理部1は、Tの値を2とする。
(ステップS453)
処理部1は、計算の範囲の設定を行う。(1≦t≦T)
(ステップS455)
処理部1は、求められた独立成分信号の行列Y’の行ベクトルy’n(t)を必要に応じて記憶部5から読み出し、y’n(t)について、前半を奇数部分に後半を偶数部分に入れ替える。
(ステップS457)
処理部1は、例えば次式により、tが奇数のときy’(t)をy’(t−1)とy’(t+1)によって値を調整する。
y’(t)←y’(t)−{y’(t−1)+y’(t+1)}/4
(ステップS459)
処理部1は、例えば次式により、tが偶数のときy’(t)にその両側の平均を加える。
真値=予測誤差+予測値
y’(t)←y’(t)+{y’(t−1)+y’(t+1)}/2
(ステップS461)
処理部1は、計算の範囲を倍にする。(T←2T)
(ステップS463)
処理部1は、範囲Tが信号のサイズT0より大きいか判断し、信号のサイズT0より大きくなるまで、ステップS453以降の処理を繰り返し、y’nの逆Liftingを実行して、求めた行ベクトルy’
nをynとして、ynを各行とする分離信号の行列Yを求める。
なお、上述の説明では、ステップS453、S455において、前半を奇数部分に後半を偶数部分に入れ替えているが、これとは逆に、後半を奇数部分に前半を偶数部分に入れ替えて、同様の処理を適宜実行してもよい。また、ステップS457、S459において、データの置き換え又は調整について、奇数番目の処理と偶数番目の処理を逆にして、適宜処理を実行しても良い。
図14に、シミュレーションの図を示す。
このシミュレーションは、予め2枚の画像を用意し、逆行列をもつ混合行列を用いて線形に混合する。これらの混合画像を観測画像とみなし、従来のFastICAと本発明のLiftingを組み合わせたFastICAの両方で分離し比較する。用意した画像は8bit、256×256画素の画像を使用した。図は上から原画像、混合画像、従来法の結果、提案法の結果をそれぞれ示す。図示のように、従来法では全く分離していないが、本発明では綺麗に分離することがわかった。他の画像も数十種類試してみたがどれも従来法よりも分離の精度が高くなった。
その理由としては、例えば、次の点が考えられる。すなわち、一般に画像は画素値が急激に変化することはエッジ部分以外では起こらないのでLiftingをかけると予測誤差が0に近くなり尖度が高くなる。つまり信号の分布がガウス分布より大きく外れることになりこの状態であれば独立性の基準として尖度を使うFastICAにおいて独立成分を見つけやすいと考えられる。
7.1 分離精度の評価
分離精度の定量的な評価値を考える。分離画像が原画像にどの程度近いかを分離精度の基準とする。画像をベクトルとして考え原画像をベクトルs→、分離画像をベクトルy→とする(ただし、「→」は、sやyの上に付くものであるが、出願の都合上横に記載する。以下同様。)。
そしてs→とy→の内積を考えたとき二つのベクトルのなす角θは次のように表せる。
図15は、実験結果の例を示す図である。この表図は5つの画像(図示せず)を信号源(s1,s2,s3,s4,s5)として線形に混合し、それを従来のFastICAで分離した結果と提案した精度の高いFastICAで分離した結果について類似度を計算したものである。
実験データ1の場合は従来の手法では収束しなかったが、本発明の手法では分離することができ類似度も高い値となった。以下データ2とデータ3についても本発明の方はどれも90を超える高い値であり、平均値も従来法より大幅に上回っている。
図16に、類似度と実際の分離の程度についての説明図を示し、以下に補足をする。類似度が90を超えている場合はコントラストを除いて二つの画像は見た目で完全に一致している。それに対し、90以下の場合の分離結果はどの程度の類似性があるかを調べた。
まず、lenaと呼ばれる画像(画像処理で一般的に使われる画像)を用意し、それにある一定の割合でノイズを上記実験と同様に混合する。そしてノイズの加わった画像と元の画像(lena)の類似度を計算する。ノイズを混合する割合を変化させることで類似度も変化していく。例えばlenaが72%、ノイズが28%の割合で混合した場合、元のlenaに対する類似度は80であった(表参照)。
同様に割合を変化させた場合の結果を表にまとめた。この表を目安に考えると分離結果の類似度が70であればもとの独立成分が62%程度でその他の成分が38%程度含まれているといえる。しかし元の独立成分が60%前後しか抽出されていなければ視覚的に分離が成功しているとはいえない。
図17及び図18に、実験結果をまとめたグラフを示す。横軸は原画像(s1,s2,s3,s4,s5)に対する画像であり、その順番に意味はない。縦軸はそれぞれ分離結果の類似度である。縦軸の横に類似度に対して上記のlenaとノイズの混合画像を示す。これは分離結果がどの程度なのかを類似度という数値以外に視覚的に表現するためである。
FastICAのアルゴリズムは以下のサイトにあるMATLABのコードを利用した。これはFastICAの実装として標準的に使われるコードである。
http://www.cis.hut.fi/projects/ica/fastica/
本発明の信号分離方法又は信号分離装置・システムは、その各手順をコンピュータに実行させるための信号分離プログラム、信号分離プログラムを記録したコンピュータ読み取り可能な記録媒体、信号分離プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
本発明で処理する信号は、上述のように音声、画像等の各種の様々なデータを対象とすることができ、上述の実施の形態の他に、医療、通信、画像処理等への様々な分野にも応用することができる。例えば、医療分野への応用としては、磁気共鳴機能画像(functional Magnetic Resonance Imaging)、脳の活動状況を視覚的に捉えたものとしてボジトロン断層現象法(Positron Emission computed Tomography,PET)とか脳磁図(Magnetoencephalography,MEG)、事象関連磁気共鳴機能画像法(eventrelated fMRI)、肌画像をメラニン色素分布とヘモグロビンの色素分布を分離する色素成分分離計測法等が挙げられる。
S20 Lifting
S30 FastICA
S40 逆Lifting
S50 分離信号
1 処理部1
2 入力部
3 出力部
4 表示部
5 記憶部
51 観測信号ファイル
52 分離信号ファイル
Claims (7)
- 信号分離処理を実行するための処理部と、前記処理部と接続されて信号を入力するための入力部又は記憶部と、前記処理部と接続されて前記処理部による処理結果を出力又は表示するための出力部又は表示部とを備えた信号分離処理装置を用いた信号分離方法であって、
処理部が、互いに独立なN種類の情報源から発生した信号が線形に重ね合わされた信号を観測した信号であるN種類の観測信号X=x n (t) (n=1,・・・,N)を、入力部又は記憶部から入力するステップと、
処理部が、N種類の観測信号Xの各データを、各観測信号の信号分布がどれだけ尖っているかを表す尖度を高めるための、ウェーブレット変換の一種で可逆なリフティング処理を実行するステップと、
処理部が、前記リフティング処理されたN種類の信号を、N種類の信号間の独立性が最大になるように、N種類の独立した成分の信号である独立成分信号に分離するFastICA(Fast Independent Component Analysis:高速独立成分分析)処理を実行するステップと、
処理部が、独立成分信号を前記リフティング処理の逆変換により、尖度を低くするように戻すことにより、重なり合った観測信号から分離抽出された信号であるN種類の分離信号Y=y n (t) (n=1,・・・,N)を求めるための逆リフティング処理を実行するステップと、
処理部が、N種類の分離信号Yを記憶部に記憶、出力部に出力、及び/又は、表示部に表示するステップと、
を含み、
前記リフティング処理を実行するステップは、
処理部が、前記観測信号のデータ列の偶数番又は奇数番の一方のデータを、その両側のデータの平均との差に置き換えるステップと、
処理部が、前記置き換えるステップにより置き換えていない部分を前半部分に、前記置き換えるステップにより置き換えた部分を後半部分にソートする、又は、前記置き換えるステップにより置き換えていない部分を後半部分に、前記置き換えるステップにより置き換えた部分を前半部分にソートするステップと、
処理部が、前記前半部分に対して前記置き換えるステップ及び前記ソートするステップを繰り返し実行し、リフティング処理された変換信号X=x n (t)に変換するステップと
を含み、
前記FastICA処理を実行するステップは、
処理部が、前記リフティング処理されたN種類の変換信号X=x n (t)の各nに対して、平均値を求めて各データx n (t)から平均値を減算することにより中心化し、中心化した行列X’=x’ n (t)を記憶部に記憶するステップと、
処理部が、中心化した行列X’を記憶部から読み出し、行列X’からつくられる共分散行列の固有値・固有ベクトルを求めて、各データをその固有ベクトルで改めて表現しなおすことにより白色化して、行列X’として記憶部に記憶するステップと、
処理部が、分離行列Wを構成するベクトルwi(i=1、・・・、N)の各成分の初期値を一様分布に従う乱数としてランダムに生成するステップと、
処理部は、各行又は列のいずれかが中心化及び白色化された行列X’を構成するベクトルx’i(i=1、・・・、N)と、ベクトルwi(i=1、・・・、N)とを用いて、非ガウス性を最大化するための予め定められた以下に示す漸化式により、ベクトルwiを更新することにより、分離行列Wを決定し、記憶部に記憶するステップと、
処理部が、中心化及び白色化される前の行列Xと分離行列Wとの積により、前記独立成分信号Y’を求め、記憶部に記憶するステップと、
を含み、
前記逆リフティング処理を実行するステップは、
処理部が、独立成分信号Y’を記憶部から読み出し、計算範囲を2つのデータ範囲に設定するステップと、
処理部が、前半部分のデータを奇数部分に且つ後半部分のデータを偶数部分に入れ替える、又は、後半部分のデータを偶数部分に且つ前半部分のデータを奇数部分に入れ替えるステップと、
処理部が、偶数番又は奇数番のいずれかのデータに、そのデータの両側のデータの平均を加えるステップと、
処理部が、計算範囲を倍として、前記入れ替えるステップ及び平均を加えるステップを繰り返し実行し、求めたY’を分離信号Yとして記憶部に記憶するステップと、
を含み、
前記漸化式は、
w i ←E(x i (w i T x i ) 3 )−3w i
(ここで、Eは算術平均)
、又は、
w i ←E(x’ i g(w i T x’ i ))−E(g’(w i T x’ i ))w i
(ここに、関数g及びそれを微分した関数g’は、次のいずれかである。
g 1 (y)=tanh(a*y)、g’ 1 (y)=a*(1−tanh 2 (a*y))
(aは、1以上2以下の定数)
g 2 (y)=y*exp(−y 2 /2)、g’ 2 (y)=(1−y 2 )*exp(−y 2 /2)
g 3 (y)=y 3 、g’ 3 (y)=3*y 2 )
である
信号分離方法。 - 前記分離行列Wを決定するステップは、さらに、
処理部が、分離行列Wを構成するベクトルwiの大きさを1とするステップと、
処理部が、ベクトルwiを他のベクトルwjに対して直交化するステップと、
処理部が、直交化されたベクトルwiの大きさを1とするステップと、
処理部が、更新前後のベクトルwiの距離が近くなるように収束するまで上記各ステップを繰り返しベクトルwiを求めるステップと、
を含む請求項1に記載の信号分離方法。 - 前記リフティング処理を実行するステップは、
前記置き換えるステップの後、処理部が、偶数番又は奇数番の他方のデータを両側のデータにより調整するステップと、
を含む請求項1又は2のいずれかに記載の信号分離方法。 - 前記逆リフティング処理を実行するステップは、
処理部が、奇数番のデータを両側のデータにより調整するステップを、
をさらに含む請求項1乃至3のいずれかに記載の信号分離方法。 - 信号は、音声又は画像であることを特徴とする請求項1乃至4のいずれかに記載の信号分離方法。
- 信号分離処理を実行するための処理部と、前記処理部と接続されて信号を入力するための入力部又は記憶部と、前記処理部と接続されて前記処理部による処理結果を出力又は表示するための出力部又は表示部とを備えた信号分離処理装置を用いた信号分離プログラムであって、
処理部が、互いに独立なN種類の情報源から発生した信号が線形に重ね合わされた信号を観測した信号であるN種類の観測信号X=x n (t) (n=1,・・・,N)を、入力部又は記憶部から入力するステップと、
処理部が、N種類の観測信号Xの各データを、各観測信号の信号分布がどれだけ尖っているかを表す尖度を高めるための、ウェーブレット変換の一種で可逆なリフティング処理を実行するステップと、
処理部が、前記リフティング処理されたN種類の信号を、N種類の信号間の独立性が最大になるように、N種類の独立した成分の信号である独立成分信号に分離するFastICA(Fast Independent Component Analysis:高速独立成分分析)処理を実行するステップと、
処理部が、独立成分信号を前記リフティング処理の逆変換により、尖度を低くするように戻すことにより、重なり合った観測信号から分離抽出された信号であるN種類の分離信号Y=y n (t) (n=1,・・・,N)を求めるための逆リフティング処理を実行するステップと、
処理部が、N種類の分離信号Yを記憶部に記憶、出力部に出力、及び/又は、表示部に表示するステップと、
を含み、
前記リフティング処理を実行するステップは、
処理部が、前記観測信号のデータ列の偶数番又は奇数番の一方のデータを、その両側のデータの平均との差に置き換えるステップと、
処理部が、前記置き換えるステップにより置き換えていない部分を前半部分に、前記置き換えるステップにより置き換えた部分を後半部分にソートする、又は、前記置き換えるステップにより置き換えていない部分を後半部分に、前記置き換えるステップにより置き換えた部分を前半部分にソートするステップと、
処理部が、前記前半部分に対して前記置き換えるステップ及び前記ソートするステップを繰り返し実行し、リフティング処理された変換信号X=x n (t)に変換するステップと
を含み、
前記FastICA処理を実行するステップは、
処理部が、前記リフティング処理されたN種類の変換信号X=x n (t)の各nに対して、平均値を求めて各データx n (t)から平均値を減算することにより中心化し、中心化した行列X’=x’ n (t)を記憶部に記憶するステップと、
処理部が、中心化した行列X’を記憶部から読み出し、行列X’からつくられる共分散行列の固有値・固有ベクトルを求めて、各データをその固有ベクトルで改めて表現しなおすことにより白色化して、行列X’として記憶部に記憶するステップと、
処理部が、分離行列Wを構成するベクトルwi(i=1、・・・、N)の各成分の初期値を一様分布に従う乱数としてランダムに生成するステップと、
処理部は、各行又は列のいずれかが中心化及び白色化された行列X’を構成するベクトルx’i(i=1、・・・、N)と、ベクトルwi(i=1、・・・、N)とを用いて、非ガウス性を最大化するための予め定められた以下に示す漸化式により、ベクトルwiを更新することにより、分離行列Wを決定し、記憶部に記憶するステップと、
処理部が、中心化及び白色化される前の行列Xと分離行列Wとの積により、前記独立成分信号Y’を求め、記憶部に記憶するステップと、
を含み、
前記逆リフティング処理を実行するステップは、
処理部が、独立成分信号Y’を記憶部から読み出し、計算範囲を2つのデータ範囲に設定するステップと、
処理部が、前半部分のデータを奇数部分に且つ後半部分のデータを偶数部分に入れ替える、又は、後半部分のデータを偶数部分に且つ前半部分のデータを奇数部分に入れ替えるステップと、
処理部が、偶数番又は奇数番のいずれかのデータに、そのデータの両側のデータの平均を加えるステップと、
処理部が、計算範囲を倍として、前記入れ替えるステップ及び平均を加えるステップを繰り返し実行し、求めたY’を分離信号Yとして記憶部に記憶するステップと、
を含み、
前記漸化式は、
w i ←E(x i (w i T x i ) 3 )−3w i
(ここで、Eは算術平均)
、又は、
w i ←E(x’ i g(w i T x’ i ))−E(g’(w i T x’ i ))w i
(ここに、関数g及びそれを微分した関数g’は、次のいずれかである。
g 1 (y)=tanh(a*y)、g’ 1 (y)=a*(1−tanh 2 (a*y))
(aは、1以上2以下の定数)
g 2 (y)=y*exp(−y 2 /2)、g’ 2 (y)=(1−y 2 )*exp(−y 2 /2)
g 3 (y)=y 3 、g’ 3 (y)=3*y 2 )
である、
各ステップをコンピュータに実行させるための信号分離プログラム。
- 信号分離処理を実行するための処理部と、前記処理部と接続されて信号を入力するための入力部又は記憶部と、前記処理部と接続されて前記処理部による処理結果を出力又は表示するための出力部又は表示部とを備えた信号分離処理装置を用いた信号分離プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
処理部が、互いに独立なN種類の情報源から発生した信号が線形に重ね合わされた信号を観測した信号であるN種類の観測信号X=x n (t) (n=1,・・・,N)を、入力部又は記憶部から入力するステップと、
処理部が、N種類の観測信号Xの各データを、各観測信号の信号分布がどれだけ尖っているかを表す尖度を高めるための、ウェーブレット変換の一種で可逆なリフティング処理を実行するステップと、
処理部が、前記リフティング処理されたN種類の信号を、N種類の信号間の独立性が最大になるように、N種類の独立した成分の信号である独立成分信号に分離するFastICA(Fast Independent Component Analysis:高速独立成分分析)処理を実行するステップと、
処理部が、独立成分信号を前記リフティング処理の逆変換により、尖度を低くするように戻すことにより、重なり合った観測信号から分離抽出された信号であるN種類の分離信号Y=y n (t) (n=1,・・・,N)を求めるための逆リフティング処理を実行するステップと、
処理部が、N種類の分離信号Yを記憶部に記憶、出力部に出力、及び/又は、表示部に表示するステップと、
を含み、
前記リフティング処理を実行するステップは、
処理部が、前記観測信号のデータ列の偶数番又は奇数番の一方のデータを、その両側のデータの平均との差に置き換えるステップと、
処理部が、前記置き換えるステップにより置き換えていない部分を前半部分に、前記置き換えるステップにより置き換えた部分を後半部分にソートする、又は、前記置き換えるステップにより置き換えていない部分を後半部分に、前記置き換えるステップにより置き換えた部分を前半部分にソートするステップと、
処理部が、前記前半部分に対して前記置き換えるステップ及び前記ソートするステップを繰り返し実行し、リフティング処理された変換信号X=x n (t)に変換するステップと
を含み、
前記FastICA処理を実行するステップは、
処理部が、前記リフティング処理されたN種類の変換信号X=x n (t)の各nに対して、平均値を求めて各データx n (t)から平均値を減算することにより中心化し、中心化した行列X’=x’ n (t)を記憶部に記憶するステップと、
処理部が、中心化した行列X’を記憶部から読み出し、行列X’からつくられる共分散行列の固有値・固有ベクトルを求めて、各データをその固有ベクトルで改めて表現しなおすことにより白色化して、行列X’として記憶部に記憶するステップと、
処理部が、分離行列Wを構成するベクトルwi(i=1、・・・、N)の各成分の初期値を一様分布に従う乱数としてランダムに生成するステップと、
処理部は、各行又は列のいずれかが中心化及び白色化された行列X’を構成するベクトルx’i(i=1、・・・、N)と、ベクトルwi(i=1、・・・、N)とを用いて、非ガウス性を最大化するための予め定められた以下に示す漸化式により、ベクトルwiを更新することにより、分離行列Wを決定し、記憶部に記憶するステップと、
処理部が、中心化及び白色化される前の行列Xと分離行列Wとの積により、前記独立成分信号Y’を求め、記憶部に記憶するステップと、
を含み、
前記逆リフティング処理を実行するステップは、
処理部が、独立成分信号Y’を記憶部から読み出し、計算範囲を2つのデータ範囲に設定するステップと、
処理部が、前半部分のデータを奇数部分に且つ後半部分のデータを偶数部分に入れ替える、又は、後半部分のデータを偶数部分に且つ前半部分のデータを奇数部分に入れ替えるステップと、
処理部が、偶数番又は奇数番のいずれかのデータに、そのデータの両側のデータの平均を加えるステップと、
処理部が、計算範囲を倍として、前記入れ替えるステップ及び平均を加えるステップを繰り返し実行し、求めたY’を分離信号Yとして記憶部に記憶するステップと、
を含み、
前記漸化式は、
w i ←E(x i (w i T x i ) 3 )−3w i
(ここで、Eは算術平均)
、又は、
w i ←E(x’ i g(w i T x’ i ))−E(g’(w i T x’ i ))w i
(ここに、関数g及びそれを微分した関数g’は、次のいずれかである。
g 1 (y)=tanh(a*y)、g’ 1 (y)=a*(1−tanh 2 (a*y))
(aは、1以上2以下の定数)
g 2 (y)=y*exp(−y 2 /2)、g’ 2 (y)=(1−y 2 )*exp(−y 2 /2)
g 3 (y)=y 3 、g’ 3 (y)=3*y 2 )
である、
各ステップをコンピュータに実行させるための信号分離プログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003311475A JP4090969B2 (ja) | 2003-09-03 | 2003-09-03 | 信号分離方法、信号分離プログラム及びそのプログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003311475A JP4090969B2 (ja) | 2003-09-03 | 2003-09-03 | 信号分離方法、信号分離プログラム及びそのプログラムを記録した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005078579A JP2005078579A (ja) | 2005-03-24 |
JP4090969B2 true JP4090969B2 (ja) | 2008-05-28 |
Family
ID=34413032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003311475A Expired - Fee Related JP4090969B2 (ja) | 2003-09-03 | 2003-09-03 | 信号分離方法、信号分離プログラム及びそのプログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4090969B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006131959A1 (ja) * | 2005-06-06 | 2006-12-14 | Saga University | 信号分離装置 |
CN103939325B (zh) * | 2014-05-05 | 2017-04-05 | 重庆大学 | 一种在低速运转下的消防水泵的故障诊断方法 |
CN104888396A (zh) * | 2015-05-20 | 2015-09-09 | 重庆大学 | 一种检测消防水泵在快速启动过程中瞬态故障的方法 |
CN111133511B (zh) * | 2017-07-19 | 2023-10-27 | 音智有限公司 | 声源分离系统 |
EP3931685A4 (en) | 2019-02-26 | 2022-10-12 | INTEL Corporation | CONSTANT PROPAGATION, WORKLOAD ORIENTED, FOR A COMPILER |
CN109973251A (zh) * | 2019-03-24 | 2019-07-05 | 西安航天动力测控技术研究所 | 一种用于固体火箭发动机振动信号降噪的盲源分离方法 |
-
2003
- 2003-09-03 JP JP2003311475A patent/JP4090969B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005078579A (ja) | 2005-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhu et al. | General form for obtaining discrete orthogonal moments | |
Krisshna et al. | Face recognition using transform domain feature extraction and PSO-based feature selection | |
CN106485192B (zh) | 用于图像识别的神经网络的训练方法和装置 | |
US20210089845A1 (en) | Teaching gan (generative adversarial networks) to generate per-pixel annotation | |
WO2004008391A1 (ja) | パターン特徴抽出方法及びその装置 | |
JP5051746B2 (ja) | 特徴抽出装置及び方法並びにプログラム | |
JP2011227704A (ja) | 情報処理装置および方法ならびにプログラム | |
US20230022566A1 (en) | Machine learning apparatus, abnormality detection apparatus, and abnormality detection method | |
CN110059288B (zh) | 用于获得促进机器学习任务用的最佳母小波的系统和方法 | |
JP6099032B2 (ja) | 信号処理装置、信号処理方法及びコンピュータプログラム | |
JP4090969B2 (ja) | 信号分離方法、信号分離プログラム及びそのプログラムを記録した記録媒体 | |
JP4922095B2 (ja) | 感情表現抽出処理装置及びプログラム | |
JP2019023798A (ja) | 超解像装置およびプログラム | |
Medrano et al. | Radius selection using kernel density estimation for the computation of nonlinear measures | |
US10580127B2 (en) | Model generation apparatus, evaluation apparatus, model generation method, evaluation method, and storage medium | |
Constantin et al. | Image noise detection in global illumination methods based on FRVM | |
CN110929731B (zh) | 一种基于探路者智能搜索算法的医疗影像处理方法及装置 | |
Nicholl et al. | Optimal discrete Wavelet transform (DWT) features for face recognition | |
JP6769558B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
Fan et al. | Cw-ssim kernel based random forest for image classification | |
CN114937163A (zh) | 一种基于聚类的神经网络图像分块重构方法 | |
Póczos et al. | Independent subspace analysis on innovations | |
Ting et al. | A novel approach for arbitrary-shape roi compression of medical images using principal component analysis (pca) | |
Javed et al. | A bio-inspired parallel-framework based multi-gene genetic programming approach to Denoise biomedical images | |
JPWO2009151002A1 (ja) | パターン識別方法、装置およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050907 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070612 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070720 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071225 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080128 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080227 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110307 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130307 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140307 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
LAPS | Cancellation because of no payment of annual fees |