1 Mellin 変換
2.1 テーラー展開
数列 {
a
n}n=0,1,... に対して,関数列としてn
次単項式t
n で和を取ると,母関数f (t) =
∑∞ n=0
a
nt
n(2)
を得る.このとき,両辺を
n
階微分して,t = 0
を代入することにより,a
n= f
(n)(0)
n! (3)
である.
逆に無限階連続微分できる関数
f(t)
に対して,係数を式(3)
で与え和(2)
を考 えたとき,条件が良ければ元の関数に戻ることが分かっている(テーラーの定理).2.2
三角級数展開関数列として,{
e
2πint}n∈Zを考えた場合が三角級数展開に相当する.数列{a
n}n∈Zに対して,和
f (t) =
∑∞ n=−∞
a
ne
2πint(4)
を考えると母関数になる.f(t) は周期
1
の周期関数になる.区間[0, 1)
で関数列{
e
2πint}n∈Z が正規直交するので,数列a
n は,a
n=
∫ 1
0
f (t) e
2πintdt =
∫ 1
0
f (t) e
−2πintdt (5)
で計算できる.三角級数展開は,
Fourier
が1807
年に熱伝導方程式を解くときに 使った方法である.周期1
の周期関数f (t)
に対して,係数を式(5)
で定め,母関 数(4)
を考えたときに,元に戻るかは,重要な問題であり,盛んに研究されてい る.1904
年にルベーグ積分が発表されて,L
2([0, 1))
に入る関数なら元に戻るとい うことが分かった.ちなみに,1845
年のリーマン積分を提案した論文のタイトル も,“ ¨Uber die Darstellbarkeit einer Function durch eine trigonometrische Reihe”
(三角級数による関数の表現可能性に関して)であった.
2.3
モーメント母関数モーメント母関数(積率母関数)については,f
(t)
のラプラス変換 L[f ](s) =
∫ ∞
0
f (t) e
−stdt
のe
−st に0
の周りのテーラー展開e
−st=
∑∞ n=0
1
n! (
−st)
n=
∑∞ n=0
(
−s)
nn! (t)
nを代入して,和と積分の順序を変えると,
∫ ∞
0
f (t) e
−stdt =
∫ ∞
0
f (t)
[ ∞∑
n=0
(
−s)
nn! (t)
n]
dt =
∑∞ n=0
[∫ ∞
0
f(t) t
ndt
]
(
−s)
nn!
になり,
n
次モーメントを(
−s)
nn!
で足し合わせる母関数である.この母関数を逆 ラプラス変換すれば,f(t)
が再構成される.3 スケール変換と Mellin 変換
スケール変換
f
α(t) = f (αt)
のMellin
変換は,M
f
α(ω) =
∫ ∞
0
f(αt) t
ωdt
=
∫ ∞
0
f(y)
(y
α
)ωdy
α
= α
−(ω+1)Mf (ω)
である.これらの式からα
を計算するには,α
ω+1=
Mf(ω)
M
f
α(ω) =
⇒α =
(M
f(ω)
Mf
α(ω)
)1/(ω+1)
.
図
1
では,一周期分のsin(t)
とsin(αt), α = 0.7
.時間幅0.2
でサンプリングして,
Mellin
変換を計算し,α
を横軸ω
で描いた推定した.0 2 4 6 8 t 10
-1 -0.5 0 0.5 1
0 1 2 3 4 5
0.7 0.702 0.704 0.706 0.708 0.71
a = 0.7 a
w
図
1:
青:sin(t)
一周期,赤:sin(αt), α = 0.7
一周期.時間幅0.2
.右:α
の推定.原点の位置
t = 0
が非常に重要で,ここがずれると全く歯が立たない.図2
参照.0 5 10 15 t 20 -1
-0.5 0 0.5 1
0 2 4 6 8 10
0.64 0.66 0.68 0.7 0.72 0.74 0.76
a = 0.7
w
0 5 10 15 t 20
-1 -0.5 0 0.5 1
0 2 4 6 8 10
0.7 0.705 0.71 0.715 0.72 0.725 0.73
a = 0.7
w a
図
2:
上:α = 0.7
で原点がずれているとき.下:原点が一致しているとき.4 フーリエ空間で Mellin 作用素
実空間での平行移動は,フーリエ変換すると,変調に変わる.フーリエ変換の絶 対値を取ると,変調部分は大きさ
1
なので考える必要がなくなる.そこで,フー リエ像の絶対値にたいして,Mellin 変換を考えると,実空間での平行移動の効果 を打ち消せる.f (t)
とf
α(t) = f(αt)
のフーリエ変換は,それぞれf(ξ) =
b∫
R
f (t) e
−iξtdt f
bα(ξ) =
∫
R
f (αt) e
−iξtdt =
∫
R
f (s) e
−iξs/αdt α = 1
α f
b (ξ
α
)である.フーリエ像の絶対値の
Mellin
変換を考えよう.ただし,パラメータp > 0
を追加するので,Mellin 作用素である.M b
f (p, ω) =
∫ ∞
0
b
f (ξ)
pξ
ωdξ
M bf
α(p, ω) =
∫ ∞
0
1 α f
b(
ξ α
)p
ξ
ωdξ
= 1 α
p∫ ∞
0
b
f (η)
p(αη)
ωα dη
= α
ω+1−pM bf (p, ω)
よって,α を求めると,α
ω+1−p=
M b
f
α(p, ω)
M bf (p, ω)
=
⇒α =
M b
f
α(p, ω)
M bf (p, ω)
1 ω + 1
−p
.
4.1 α
の推定例と数値計算上の注意4.1.1 信号とそのフーリエ変換
・ 信号については,図
3
左の2
周期分の正弦波を考える.青が元の信号で,区間[0, 2π]
内にsin(2πt) 2
周期分を少しずらしてはめ込んで,∆
1= 0.01
間隔でサン プリングした信号である.一方,赤信号はα = 1.3
としたsin(2παt) 2
周期分を 少しずらして区間[0, 3π]
にはめ込んで,∆
2= 0.007
間隔でサンプリングした信号 である.fft を使ってフーリエ変換するときに,奇数長と偶数長で目盛りの扱い が異なるから,奇数長データは最後に0
の要素を加えて各データ列は偶数長にな るようにする.・ フーリエ変換を計算するには,データの fft にサンプリング間隔をかければ,
中点則を用いた数値積分になる.ただし,
Matlab
なら fftshiftで直流成分を真 ん中にする必要がある.このとき,青信号の角周波数軸は,• 最低角周波数:−
π/∆
1• 角周波数刻み:
2π/∆
1/
青信号のデータ長• 最高角周波数:
π/∆
1−周波数刻み• 角周波数軸:最低角周波数から最高角周波数までを角周波数刻みで
0 2 4 6 8 10 -1
-0.5 0 0.5
1 a = 1.3
-100 -50 0 50 100
0 0.2 0.4 0.6 0.8 1
1.2 abs of fft
[rad]
図
3:
左:青元信号,赤:α = 1.3
で原点がずれている信号.右:それぞれのフー リエ変換の絶対値(ただし周波数軸を[
−100, 100] [rad]
で切った).である.それぞれのフーリエ変換の絶対値を描くと図
3
右になる.フーリエ変換の絶対値を
p
乗し,α
を推定すると,図4
および図5
になる.p = 3
以上に取ると,α= 1.3
と推定できる.ただし,ω= p
−1
のところで,ゼ ロ割になり計算できない.-1000 -50 0 50 100
0.2 0.4 0.6 0.8 1
1.2 p=1 power of abs of fft
[rad] 0 2 4 6
1.18 1.2 1.22 1.24 1.26 1.28 1.3
a = 1.3 :p=1
w a
-1000 -50 0 50 100
0.2 0.4 0.6 0.8 1
1.2 p=2 power of abs of fft
[rad] 0 2 4 6
1.05 1.1 1.15 1.2 1.25 1.3 1.35
a = 1.3 :p=2
w a
図
4:
左:フーリエ変換の絶対値のp = 1, 2
乗.右:α = 1.3
の推定(横軸ω
).-1000 -50 0 50 100 0.2
0.4 0.6 0.8 1
1.2 p=3 power of abs of fft
[rad] 0 2 4 6
1.05 1.1 1.15 1.2 1.25 1.3 1.35
a = 1.3 :p=3
w a
-1000 -50 0 50 100
0.2 0.4 0.6 0.8 1
1.2 p=4 power of abs of fft
[rad] 0 2 4 6
1.297 1.298 1.299 1.3 1.301 1.302
a = 1.3 :p=4
w a
図
5:
左:フーリエ変換の絶対値のp = 3, 4
乗.右:α = 1.3
の推定(横軸ω
).5 2 次元関数に対する Mellin 変換・作用素
Mellin
変換は,1
次元の区間[0,
∞)
で定義された関数に対する変換であるから,2
次元の関数・画像に対しては,(r, θ)
で極座標表示し,各θ
ごとに動径r
方向にMellin
変換を行う.ここでは,
Mellin
変換を原点からの距離t
のω
乗に関数値f (t)
をかけた積分 と考えて,そのまま2
次元に拡張したMellin
作用素も定義する.5.1
画像の極座標表示を用いたMellin
変換画像の左上を原点として,図
6
左のように極座標(r, θ)
を入れる.θ
の範囲は0
≤θ
≤90
度である.図
7
左のバーバラさんの一部とそれをα = 0.73
倍に縮小した中図でθ
を0
度 から90
度まで,0.5
度刻みで,ω
を1
から10
まで0.1
刻みで動かしてα
の値を 計算すると図8
左を得る.縦方向がθ
で上側が0
度,下側が90
度である.横方 向がω
で左端がω = 1,右端が ω = 10
である.カラーバーからα
の値は,0.71
から0.74
の間であることが分かる.図8
右には,左図のα
の値の分布状態をヒ ストグラムとして表示した.r q
r O
図
6:
左:画像の極座標表示.右:極座標表示された(r, θ)
の位置 × に一番近い 画素 ◦ の輝度を関数値とする.図
7:
左:バーバラさんの一部.中:それの0.73
倍.右:縦方向0.73
倍,横方向0.91
倍.つぎに,図
7
右図のバーバラさんの一部を縦方向にα
1= 0.73
倍,横方向にα
2= 0.91
倍した画像に対して,α
を計算する.計算結果を図9
に示す.5.2 2
次元Mellin
作用素 その1
R2 で定義された関数
f (x
1, x
2)
に対して,Mellin
作用素を M∫
2 2 ω/2
a = 0.73
1 w 10
0
45
90
0.72 0.725 0.73 0.735 0.74
q
5
図
8:
バーバラさんの一部とその0.73
倍をMellin
変換する.左:α
を角度θ
,ω
に対して計算した図.右:左図のα
の分布状態.a = 0.73, a = 0.91
0.7 0.8 0.9 0 1
45
90 q
1 5 w 10
1 2
図
9:
バーバラさんの一部とその縦0.73
倍,横0.91
倍をMellin
変換する.左:α
を角度θ
,ω
に対して計算した図.右:左図のα
の分布状態.縦方向のα
1= 0.73
倍と横方向のα
2= 0.91
倍が現れる.で定義すると,スケール変換
f
α(x
1, x
2) = f (αx
1, αx
2)
に対しては,M
f
α(ω) =
∫
R2
f (αx
1, αx
2) (x
21+ x
22)
ω/2dx
1dx
2=
∫
R2
f (y
1, y
2)
(
y
12+ y
22α
2)ω/2
dy
1α
dy
2α
= α
−(ω+2)Mf(ω)
の関係が成立する.したがって,
α
を求めると,α
ω+2=
Mf(ω)
M
f
α(ω) =
⇒α =
( M
f (ω)
Mf
α(ω)
)
1 ω + 2
である.この方法で,図
7
左と中のバーバラさんの一部とその0.73
倍に対して,α
を推定すると,図10
であり,1
から15
までのω
に対して,α = 0.73
で一定な ことが分かる.0 5 10 15
0.73014 0.73016 0.73018 0.7302 0.73022 0.73024
a = 0.73
w
図
10:
バーバラさんの一部とその0.73
倍をMellin
作用素を用いてα
を計算する.横軸
ω
に対して,ほぼα = 0.73
で一定であることが分かる.5.3 2
次元Mellin
作用素 その2
R2 で定義された関数
f (x
1, x
2)
に対して,Mellin
作用素を M2f (ω
1, ω
2) =
∫
R2
f(x
1, x
2)
|x
1|ω1|x
2|ω2dx
1dx
2で定義する
.
スケールα = (α
1, α
2)
∈ R+ をとり,スケール変換f
α(x
1, x
2) = f (α
1x
1, α
2x
2)
に対しては,M2
f
α(ω
1, ω
2) =
∫
R2
f(α
1x
1, α
2x
2)
|x
1|ω1|x
2|ω2dx
1dx
2=
∫
R2
f(y
1, y
2) y
1α
1 ω1y
2α
2ω2
dy
1α
1dy
2α
2= α
−(ω1 1+1)α
2−(ω2+1)M2f (ω
1, ω
2)
の関係が成立する.したがって,比をR
(ω , ω ) =
M2f (ω
1, ω
2)
= α
(ω1+1)α
(ω2+1)とする.両辺の対数を取ると
log (
Rα(ω
1, ω
2)) = (ω
1+ 1) log(α
1) + (ω
2+ 1) log(α
2) (6)
とω
1, ω
2 の平面の方程式である.図7
右のバーバラさんの一部を縦方向0.73
倍,横 方向0.91
倍した画像なので,α
1= 1/0.73 = 1.37, log(α
1) = 0.315, α
2= 1/0.91 = 1.10, log(α
2) = 0.0943
である.このとき,log (
Rα(ω
1, ω
2))
を描くと,図11
であ り,平面になることがわかる.log(R)
5 10 15
2 2
4 6 8 10 12 14
1
1 2 3 4 5 6
図
11: log (
Rα(ω
1, ω
2))
の3D
プロットと等高線.どちらも平面であることを示し ている.さて,式
(6)
のパラメータβ
1= log(α
1), β
2= log(α
2)
を最小二乗法で推定しよ う.n
番目のデータω
n= (ω
1n, ω
n2)
に対して,二乗誤差の総和E(β
1, β
2) =
∑n
[β
1(ω
1n+ 1) + β
2(ω
n2+ 1)
−log (
Rα(ω
1n, ω
2n))]
2(7)
に対して,停留点(β
1 偏微分とβ
2 偏微分が同時に0
になる点)を求める.すな わち,
∂E
∂β
1= 2
∑n
(ω
n1+ 1) [β
1(ω
n1+ 1) + β
2(ω
2n+ 1)
−log (
Rα(ω
1n, ω
2n))] = 0,
∂E
∂β
2= 2
∑n
(ω
n2+ 1) [β
1(ω
n1+ 1) + β
2(ω
2n+ 1)
−log (
Rα(ω
1n, ω
2n))] = 0
という,β
1, β
2 変数の連立一次方程式を解けば良い.整頓すると,
[∑
n
(ω
1n+ 1)
2 ]β
1+
[∑n
(ω
n1+ 1)(ω
n2+ 1)
]β
2=
∑n
(ω
n1+ 1) log (
Rα(ω
1n, ω
2n)) ,
[∑(ω
n+ 1)(ω
n+ 1)
]β +
[∑(ω
n+ 1)
2 ]β =
∑(ω
n+ 1) log (
R(ω
n, ω
n)) .
これを解くと,
β =
(0.3041 0.1027
)
⇒
α = e
β=
(1.36 1.11
)
⇒
1./α =
(0.738 0.902
)
と実際の拡大・縮小比に近い値が出る.
6 2 次元フーリエスペクトルの Mellin 作用素
2
変数関数f (x
1, x
2)
のフーリエ変換をf(ξ
b 1, ξ
2) =
∫
R2
f(x
1, x
2) e
−i(x1ξ1+x2ξ2)dx
1dx
2で定義すると,スケール変換
f
α(x
1, x
2) = f (αx
1, αx
2)
のフーリエ変換は,y
1= αx
1, y
2= αx
1 と変数変換すると,dy
1dy
2= α
2dx
1dx
2 なので,f
bα(ξ
1, ξ
2) =
∫
R2
f(αx
1, αx
2) e
−i(x1ξ1+x2ξ2)dx
1dx
2=
∫
R2
f(y
1, y
2) e
−i(y1ξ1+y2ξ2)/αdy
1dy
2α
2= 1 α
2f
b(
ξ
1α , ξ
2α
)である.絶対値を取って, b
f (ξ
1, ξ
2)
と bf (ξ
1, ξ
2)
のp > 0
乗のMellin
作用素を 考えると,M |
f
b|(p, ω) =
∫
R2
b
f (ξ
1, ξ
2)
p(ξ
12+ ξ
22)
ω/2dξ
1dξ
2 M |f
bα|(p, ω) =
∫
R2
b
f
α(ξ
1, ξ
2)
p(ξ
12+ ξ
22)
ω/2dξ
1dξ
2=
∫
R2
1 α
2f
b(
ξ
1α , ξ
2α
)p
(ξ
21+ ξ
22)
ω/2dξ
1dξ
2=
∫
R2
1 α
2pb
f (η
1, η
2)
p (α
2η
21+ α
2η
12)ω/2α
2dη
1dη
2= α
ω+2−2pM |f
b|(p, ω)
ただし,η1
= ξ
1/α, η
2= ξ
2/α, dη
1dη
2= dξ
1dξ
2/α
2 とおき変えた.従って,α を 求めるためには,M |f
b|(p, ω)
とM |f
bα|(p, ω)
の商を取って,α
ω+2−2p=
M |f
bα|(p, ω)
M |
f
b|(p, ω) =
⇒α =
(M |
f
bα|(p, ω)
M |f
b|(p, ω)
)