2
参考書(1)
● 中村,山本,吉田:「ウェーブレットによる信号処理と画像処理」,共立出版
● 応用の紹介とプログラムリストが中心,理論的背景はほとんどなし
● 意味不明の比喩を多用「各時代・各国別に美女を探すのが窓フーリエ変換である」
● 応用テーマ:不連続信号検出,相関の検出,ノイズ除去,画像データ圧縮,劣化画像復元
● 芦野,山本:「ウェーブレット解析-誕生・発展・応用」,共立出版
● 理論編と応用編に分かれている.比較的わかりやすい
● Daubechiesと Meyerのウェーブレットが中心,その他の紹介はあまりない
● 応用テーマ:不連続信号検出,相関の検出,データ操作
3
参考書(2)
● 新井:「ウェーブレット解析の基礎理論」森北出版
● 前半が理論,後半が応用だが理論的背景は薄い
● 理論を飛ばして読む目的には良いが,理論をこれだけで理解するのは難しい
● 対象ウェーブレットを幅広く扱っている
● 応用編はプログラムリストつき
● 応用テーマ:エッジ抽出,データ圧縮,積分方程式の数値解法
● C.K.Chui,桜井・新井訳:「ウェーブレット入門」,東京電機大学出版局
● 理論のみ,応用事例なし
● 理論を概観する章がある.証明抜きで全体像をつかむには良い
● 扱うのはほとんどスプラインウェーブレット.
4
参考書(3)
● 前田,佐野,貴家,原:「ウェーブレット変換とその応用」,朝倉書店
● 前半が理論,後半が応用
● 厳密な理論展開は省略,最小限の証明
● 積分Wavelet変換についてちょっと詳しい
● 扱うWaveletは Haar, MexicanHat,Poissonなど
● 応用テーマ:レーダー,システム同定,雑音抑圧
● B.B.Hubbard, 山田・西野訳:「ウェーブレット入門」,朝倉書店
● インタビューにもとづくウェーブレット発見の物語
● 誰がどういう経緯で何を発見したのかが書いてある
● 著者は数学者ではない
● 数学的記述を全く見ないで読むことも可能
5
Waveletの仲間たち
Fourier変換
窓Fourier変換
窓関数
窓関数の一般化時間-周波数依存性
連続Wavelet変換
関数展開
Fourier展開
関数展開
離散Wavelet変換
多重解像度解析
スケーリング関数
高速Wavelet変換(Mallat アルゴリズム)
ツースケール関係
Gabor Wavelet
DaubechiesWavelet
共役ミラーフィルタ(QMF)
離散入力
z変換
離散入力
11
窓関数
● 信号を時間的に切り取る関数– 時間 tが大きいところ、小さいところでは0になるのが望ましい(コンパクト台)
w x =e−t2
2
w x ={1 −1t10 otherwise
w x ={12 1cos t −1t1
0 otherwise
w x ={0.540.46cos t −1t10 otherwise
12
窓関数
● 窓関数の条件
● 窓関数の中心と幅
∫ −∞
∞
∣x w x∣dx∞
∣∣w∣∣2=∫−∞
∞∣w x∣2dx
x∗= 1∣∣w∣∣2
∫−∞
∞x∣w x∣2dx
1∣∣w∣∣2
∫−∞
∞x−x∗2llinew x
w=¿2dx ¿
13
窓フーリエ変換の不確定性
● 窓が長いほうがスペクトルの解像度が上がる– 接近した 2つの周波数成分の区別が可能に
● 窓が短いほうが時間の解像度が上がる– 周波数の細かい時間変化を捉えることができる
● 窓関数の時間幅×周波数幅<定数
(デモプログラム)
14
窓関数で信号を解析する
● 窓関数ψを使った解析をしているとみなせる● ガウス窓+指数関数→ガボール (Gabor)変換
F t ,=∫−∞
∞f x w x−t e−i x dx
=∫−∞
∞f x ,t x dx
15
連続Wavelet変換
● 窓関数(Wavelet)を使った変換
– a:周波数の逆数に相当(ダイレーション)
– b:時間に相当(シフト)
– p:アナライジングウェーブレット
W f b ,a =1a∫−∞
∞f x x−ba dx
17
連続Wavelet逆変換
● 次の式により逆変換が可能
– ただしf(x)は次の条件を満たす
f x = 2C∫
0
∞ [∫−∞
∞
W f b ,a1a
x−ba db]daa2
f x ∈L R2 すなわち ∫−∞
∞∣ f x ∣2dx∞
18
アナライジングウェーブレットの例
● Haar wavelet
● Mexican hat wavelet
x={ 0 x01 0≤ x0.5−1 0.5≤ x10 1x
x=1− x2e− x
2
2
20
連続Wavelet変換の特徴
● 低い周波数では窓幅が広く、高い周波数では窓幅が狭い
– 低い周波数に対しては高い周波数分解能
– 高い周波数に対しては高い時間分解能(対数周波数領域での分解能が一定)
21
離散 Wavelet変換
● 連続Wavelet変換 :1変数→ 2変数
● 離散点の係数の総和で元の関数を表現→離散 Wavelet変換( Wavelet展開)
W f b ,a =1a∫−∞
∞f x x−ba dx
f x =∑j=−∞
∞
∑k=−∞
∞
W f k2 j ,12 j 2 j/22 j x−k
=∑j=−∞
∞
∑k=−∞
∞
W f k2 j ,12 j jk x
ここは定数
22
Wavelet展開係数
● 前式の定数の部分
● 係数は連続Wavelet変換の離散点での値
c jk=W f k2 j ,12 j
f x =∑j=−∞
∞
∑k=−∞
∞
c jk jk x
とおくとWavelet展開係数
23
Wavelet展開係数について注意
● aは周波数の逆数に比例– aと bでのサンプル点
– 周波数f=1/aと bでのサンプル点
低周波では時間方向に粗く周波数方向に細かい
高周波では時間方向に細かく周波数方向に粗い
24
Wavelet基底関数(1)
● Wavelet展開は2次元の関数展開
● 参考:– Taylor-McLaurin展開
– Fourier展開
● は、 Wavelet展開の基底関数
f x =∑j=−∞
∞
∑k=−∞
∞
c jk jk x
f x =∑k=−∞
∞
ak xk
f x =∑k=−∞
∞
ak e−ikx
jk x
25
Wavelet基底関数(2)
● 基底関数– 「基底関数の無限和で(ある条件下の)任意の関数が表せる」
– これだけでは係数の一意性は保証されない
● 正規直交基底
– 正規直交基底を使うと関数を一意に展開できる
– Haar関数に基づくψjkは最も簡単な正規直交基底
– 演習:上のことを証明せよ。
∫−∞
∞ jk x j ' k ' x dx= jj 'kk '
∫−∞
∞2 j /2H 2
j x−k 2 j ' /2H 2j ' x−k dx= jj 'kk '
27
多重解像度解析
● 各帯域幅で表される関数の集合間の関係
● V0の正規直交基底 :スケーリング関数
● 最も簡単なスケーリング関数
– 演習:上記のスケーリング関数が正規直交基底であることを示せ。
⊂V−2⊂V−1⊂V 0⊂V 1⊂V 2⊂
f ∈V 0 f x =∑k=−∞
∞
ckx−k
H x={1 0≤x10 otherwise
O
1
1
29
注意
● しばらくは、このスケーリング関数(Haarのスケーリング関数)を使って話を進める– 簡単だから
– ほかにもスケーリング関数はある
– Waveletとの関係は?
Wavelet関数
多重解像度解析
スケーリング関数
高速Wavelet変換=特殊な条件での離散Wavelet変換
ツースケール関係
離散入力
30
スケーリング関数による関数の分解
● この関数をスケーリング関数により分解
●各時間の値だけを持つ関数の重ねあわせで関数を表現する
●もっと細かい関数を表現したい場合は?
c−6H x6
c−5H x5
c−4H x4
c−3H x3
⋮
32
スケーリング関数の合成
● 細かいスケーリング関数から粗いスケーリング関数を作ることができる
● Haarのスケーリング関数の場合
x=∑k=−∞
∞
pk2x−k
H x=H 2x H 2x−1
O
1
1=
O
1
1 O
1
1+
p0=1, p1=1 pk=0 k≠0, k≠1
33
スケーリング関数の分解(1)
● と を合わせて を表現できる
は作れるか?
x x 2x x∈V 1−V 0
x=∑−∞
∞
qk2x−k
V 1V 0
W 0
基底関数 2x−k
基底関数 x−k
基底関数 x−k
34
スケーリング関数の分解(2)
● の関係式x , x , 2x
x=∑−∞
∞
qk2x−k
x=∑−∞
∞
pk2x−k ツースケール関係(two-scale relation)
Haarのスケーリング関数の場合x =2x2x−1 x=2x −2x−1
xはHaar ウェーブレット関数
qk=−1k p1−kただしこれでいい事を証明してみよう
35
スケーリング関数の分解(3)
● スケーリング関数 をで表す
● Haarのスケーリング関数の場合
2x x , x
2x−l =12 {∑k=−∞
∞
g 2k−lx−k h2k−lx−k }g−k= pk h−k=qk
H 2x = 12 {H x H x}
H 2x−1 = 12 {H x −H x}
36
注意点
● W0の正規直交基底だけではWaveletとは言えな
い– Waveletになるためには他の条件も必要,例えば
– スケーリング関数の分解・合成は離散 wavelet変換と深い関係がある!
– これからスケーリング関数を使った信号の分解・合成について説明する
∫−∞
∞ ∣ x ∣2
∣x∣dx=1
2C∞
37
信号の分解と再構成 (1)
● 信号(関数) f N x∈V N
f N x=∑k=−∞
∞
ckN2N x−k
これを次のように分解する
f N−1 x=∑k=−∞
∞
ckN−12N−1 x−k
g N−1x =∑k=−∞
∞
d kN−12N−1 x−k
f N x= f N−1x g N−1x
38
信号の分解と再構成 (2)
● の関係– 分解
– 再合成
c N , cN−1 , d N−1
ckN−1=1
2∑l c lN g 2k−l
d kN−1=1
2∑l c lN h2k−l
ckN=∑
l{clN−1 pk−2ld l
N−1qk−2l}
演習 :上記の関係を導出せよ.
39
信号の分解と再構成 (3)
● Haarのスケーリング関数の場合– 分解
– 再構成
ckN−1=1
2c2k
Nc2k1N d k
N−1=12c2k
N−c2k1N
c2kN−1=ck
N−1d kN−1 c2k1
N−1=ckN−1−d k
N−1
f N x=∑kckN H 2
N x−k
連続する 2点の平均
連続する 2点の差の半分
f N−1 x=∑kckN−1H 2
N−1 x−k f N−1 x=∑kd kN−1H 2
N−1 x−k
40
離散 Wavelet変換との関係 (1)
● 信号の分解を繰り返すと...
f N x=g N−1 x f N−1x=g N−1x g N−2x f N−2x =g N−1x g N−2x g N−3x f N−3 x
...=g N−1x g N−2x ⋯g N−M x f N−M x
fNがバイアス(直流成分)を含まなければ
f N x=∑j=−∞
N−1
g jx =∑j=−∞
N−1
∑kd kj2 j x−k
41
離散 Wavelet変換との関係 (2)
信号の分解
離散Wavelet変換
f N x=∑j=−∞
N−1
∑kd kj2 j x−k
f N x=∑j=−∞
N−1
∑kW f N k2 j ,
12 j 2 j /22 j x−k
正規直交Waveletによる展開係数は一意に決まるので
d kj=W f N k2 j ,
12 j 2 j /2
つまり fNに対しては
スケーリング関数による分解=離散Wavelet変換
42
高速 Wavelet変換
● fNについての離散 Wavelet変換
...fNって?
– Haarのスケーリング関数の場合:「整数の2-N倍の区間で定常な関数」
● 離散点でサンプリングされた信号の場合:その点をf
Nとみなすことで分解が可能
⇒高速 Wavelet変換 (Mallatアルゴリズム)
(本当はそれではマズイ場合もあることには注意しておこう )
43
周波数領域で見た Wavelet
● ツースケール関係:時間領域● 周波数領域で見ると ?
– 高次の φN:広い周波数帯域⇔狭い台
– 低次の φN:狭い周波数帯域⇔広い台
– ψN: φ
Nを補完する周波数特性
φN
φN+1 ψ
N
44
準備
● ツースケール関係
● これらをフーリエ変換すると
x=∑−∞
∞
qk2x−k x=∑−∞
∞
pk2x−k
=∑k=−∞
∞ 12pk e
−i k2 2
=m02 2 =∑
k=−∞
∞ 12qk e
−i k2 2
=m12 2 m0=∑
k=−∞
∞ 12pk e
−i k m1=∑k=−∞
∞ 12qk e
−ik
45
Waveletの周波数特性 (1)
=m02 2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
1
-15 -10 -5 0 5 10 15
∣ H2 ∣2
=∣1−e−i/2i/2 ∣2
47
Waveletの周波数特性 (3)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
1
-15 -10 -5 0 5 10 15
∣ H ∣2
=m02 2
∣ H2 ∣2
48
Waveletの周波数特性 (4)
=m12 2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
1
-15 -10 -5 0 5 10 15
m12 =1−e−i/2
2
49
Waveletの周波数特性 (5)
=m12 2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
1
-15 -10 -5 0 5 10 15
∣ H ∣2
∣ H2 ∣2
50
フィルタとしてのWavelet
● m0はローパスフィルタ, m
1はハイパスフィルタ
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3
m1m0 共役ミラーフィルタ(QMF)
51
Haar以外のWavelet
● Wavelet解析ではHaar以外にもさまざまなWaveletが用いられる– 連続Wavelet変換では Gabor, Maxican hat, ...
– 離散 Wavelet変換では Spline, Daubechies, Meyer,...
● 工学的に重要なDaubechiesの Waveletについて解説する
52
Daubechiesの Wavelet(2次)
● ツースケール関係
● φと ϕは既存の関数では表せない
x =138 2x33
8 2x−1 3−38 2x−21−3
8 2x−3
x=1−38 2x−3−3
8 2x−1338 2x−2−13
8 2x−3
x x
53
Daubechiesの Waveletの周波数特性
● 周波数領域での表現
m0 =13
8 338 e−i3−3
8 e−2i1−38 e−3i
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3
Haar Daubechies(2)Daubechiesは Haarよりも急峻なフィルタ特性
54
Waveletの応用(1)
● いくつかのWaveletの応用について見てみよう– 波形中の不連続点の検出
● 機械の破壊による振動の検知など
– ノイズ除去● ノイズについての知識を使わずにノイズを除去する● 信号圧縮にも有効
– 画像処理● 画像を細かい部分と大まかな部分に分ける● ピラミッドアルゴリズム