画 像 処 理 1 空間周波数 空間周波数(spatial frequency)とは、単位長さ当たりの正弦波 状の濃淡変化の繰り返し回数を表したもの。 正弦波:yAsin( t) 周期: 2 T 周波数: f 1/T 角周波数: 2f
周波数領域での処理
空間周波数 波形が違うと、周波数も違う画 像 処 理 3 空間周波数
周波数領域での処理
周波数は一つしかない?-ーいいえ 一つの波形に複数の周波数 成分が存在する。 任意の波形は、単純な正弦 波の和で表現できる。 これらの正弦波が各々の 周波数が異なる。画 像 処 理 5 1次元フーリエ変換 関数g(t)が実数変数tの連続関数(continuous function)とする。 フーリエ変換:
G g t e dt t g( )} (
) ( ) jt { F 逆フーリエ変換:
d e G t g G ( ) j t 2 1 ) ( )} ( { -1 F 角周波数ではなく、周波数を用いると、次のようになる。
df
e
f
G
t
g
dt
e
t
g
f
G
ft j ft j 2 2)
(
)
(
)
(
)
(
フーリエ変換
補足:オイラーの公式 オイラーの公式は、次式で表される関係式で、複素平面上では、 図に示す関係になる。x
j
x
e
jx
cos
sin
実軸 虚軸 x cos x j sin ejx 上記の複素数は、大きさ1、 偏角がxである。画 像 処 理 7 振幅特性と位相特性 フリーエ変換が一般的に複素数であるので、次のように書ける
)
(
)
(
)
(
f
R
f
jI
f
G
フーリエスペクトル(Fourier spectrum)(振幅スペクトル) ) ( ) ( ) ( 2 2 f I f R f G 位相角(phase angle)
)
(
)
(
tan
)
(
1u
R
u
I
f
フーリエ変換
エネルギーの保持 原信号とフーリエ結果との間パーセバル等式が成り立つ。 (Parseval’s theorem) トータルエネルギー(Total power)
df f G d G dt t g 2 2 2 2 ) ( ) ( 2 1 ) (
角周波数で表現 周波数で表現画 像 処 理 9 例:1次元連続関数のフーリエ変換 x
)
(x
f
A X 0 右に示す関数のフーリエ変換 uX j uX j uX j uX j uX j X ux j X e uX u A e e e u j A e u j A e u j A dx ux j A dx ux j x f u F
) sin( ] [ 2 ] 1 [ 2 ] [ 2 ] 2 exp[ ] 2 exp[ ) ( ) ( 2 0 2 0フーリエ変換
例:1次元連続関数のフーリエ変換 フーリエスペクトルは次のものである
uX uX AX e uX u A u F juX sin sin ) ( スペクトルの グラフは左に 示す。ここで A=2 X=10 とする。画 像 処 理 11 エネルギーの保持?確認 空間領域総エネルギー
X
A
dx
A
dx
x
f
X 2 0 2 2)
(
周波数領域総エネルギー X A X X A dt t t X X A uX uX d uX uX X A du uX uX X A du u F 2 2 2 0 2 2 2 2 0 2 2 2 2 2 2 2 1 2 sin 1 2 sin 2 sin ) (
エネルギーの保持が確認できた。フーリエ変換
1次元離散フーリエ変換)}
]
1
[
(
,
),
2
(
),
(
),
(
{
g
x
0g
x
0
x
g
x
0
x
g
x
0
M
x
連続関数g(x)を間隔
x
標本化した離散関数(標本数M) この離散関数を次のように書き換える)
(
)
(
x
g
x
0x
x
g
離散系列:)}
1
(
,
),
2
(
),
1
(
),
0
(
{
g
g
g
g
M
x0 x1 x2 x3 xN-1 g(x) 画像の1行または1列が このような離散系列と 考えられる画 像 処 理 13 1次元離散フーリエ変換 フーリエ変換:
j
ux
M
xp
e
x
g
M
u
G
M x/
2
)
(
1
)
(
1 0
逆フーリエ変換:]
/
2
[
)
(
1
)
(
1 0M
ux
j
xp
e
u
G
M
x
g
M u
1/M, なしの式もある。フーリエ変換
例:1次元離散フーリエ変換 具体的にフーリエ変換がどの ように働くのか、例で示す。 4 3 2 1 0 0.25 0.50 0.75 1.00 1.25 x ) (x g ) (x0 g ) (x0 x g ) 2 (x0 x g ) 3 (x0 x g x0 x1 x2 x3 連続関数g(x)を0.5,0.75,1.00, 1.25のところで標本化した。 (1次元画像として考える) 離散関数の0, 1, 2, 3のところ、 値を与えられた、フーリエ変換 G(0),G(1),G(2),G(3)を求め 標本数M=4画 像 処 理 15 例:1次元離散フーリエ変換
5 . 6 2 / ) 4 4 3 2 ( ) 3 ( ) 2 ( ) 1 ( ) 0 ( 2 1 ) 0 exp( ) ( 4 1 ) 0 ( 41 0
g g g g x g G x
2 / ) 2 ( 4 4 3 2 2 1 ] 4 / 2 exp[ ) ( 4 1 ) 1 ( 2 / 3 4 / 0 3 0 j e e e e x j x g G j j j x
同じ方法で:2
/
)
2
(
)
3
(
2
/
1
)
2
(
j
G
G
オイラー公式を利用したフーリエ変換
例:1次元離散フーリエ変換 各周波数においてフーリエスペクトル: 2 5 2 1 2 2 ) 3 ( 2 1 2 1 ) 2 ( 2 5 2 1 2 2 ) 1 ( 5 . 6 ) 0 ( 2 2 2 / 1 2 2 / 1 2 2 G G G G画 像 処 理 17 エネルギーの保持?確認 空間領域総エネルギー
45
4
4
3
2
)
(
2 2 2 2 3 0 2
ii
g
周波数領域総エネルギー 45 2 5 2 1 2 5 5 . 6 ) ( 2 2 2 2 3 0 2
u u G エネルギーの保持が確認できた。フーリエ変換
2次元フーリエ変換 1次元フーリエ変換を簡単に2次元フーリエ変換へ拡張できる。
g x y e dxdy v u G( , ) ( , ) j2(ux vy) フーリエ変換: 逆フーリエ変換:
G
u
v
e
dudv
y
x
g
(
,
)
(
,
)
j2(ux vy)画 像 処 理 19 2次元フーリエ変換 2次元フリーエ変換も一般的に複素数であるので、フーリエ スペクトルを次のもの:
2 2
1/2)
,
(
)
,
(
)
,
(
u
v
R
u
v
I
u
v
G
) , ( ) , ( tan ) , ( 1 v u R v u I v u
位相角(phase angle)フーリエ変換
例:2次元フーリエ変換 A X Y x y g(x,y) 例えば A=2 X=3 Y=5画 像 処 理 21 2次元離散フーリエ変換(DFT) フーリエ変換:
1 0 1 0 )] / / ( 2 exp[ ) , ( 1 ) , ( M x N y N vy M ux j y x g MN v u G 逆フーリエ変換:
1 0 1 0 )] / / ( 2 exp[ ) , ( 1 ) , ( M u N v N vy M ux j v u G MN y x g 画像が2次元離散関数と見なされるので、2次元離散フーリエ変換(Discrete Fourier Transform)を適用できる。
ここで、画像の横方向のサイズM, 縦方向のサイズNとする。
変換結果における周波数成分の配置
計算上、DFT結果を2次元配列に格納する。その配置は次の 図のようになる。
画 像 処 理 23 フーリエスペクトルを画像として表示する(視覚化:visualization)。 一般的にスペクトルの値をデバイス(画像)の表示能力を超える。 次のようにスケールダウン:
D
(
u
,
v
)
c
log
1
G
(
u
,
v
)
原画像 スペクトル(そのまま)変換結果をどのように表示するのか
1
(
,
)
log
600
)
,
(
u
v
G
u
v
D
直流成分が隅のところ画 像 処 理 25
1 0 1 0 ] / 2 exp[ ) , ( ] / 2 exp[ 1 ) , ( M x N y N vy j y x g M ux j MN v u G y方向に対する変換 x方向に対する変換 2次元フーリエ変換を二つの1次元フーリエ変換に分離できる。 (n次元のフーリエ変換をn回の1次元フーリエ変換に分離できる。) 例えば、先にy方向に対してフーリエ変換を行ってから続いて x方向に対してフーリエ変換を行う。 大きな利点:畳込み定理
畳込みの定義 2つの関数f(t)とg(t)を与えられるとき、畳込み積分(convolution) は次のように定義する。
f
t
g
t
f
g
t
d
t
h
(
)
(
)
(
)
(
)
(
)
h(t)のフーリエ変換をf(t)とg(t)のフーリエ変換から計算できる。)
(
)
(
)
(
F
G
H
また、h
(
t
)
F
1(
H
(
))
F
1(
F
(
)
G
(
))
結論:畳込みを空間領域と周波数領域で両方計算できる。画 像 処 理 27 フィルタとは フィルタ 入力信号 出力信号 出力信号を得るために、入力信号に施される関数である。 この関数が入力信号のある周波数成分を除去する。 ー>フィルタリング フィルタリング処理:鮮鋭化、平滑化、エッジ・線の強調など
周波数領域でのフィルタ処理
低域通過フィルタリング 原画像をf( yx, ) フーリエ変換をF( vu, )とする。 低域通過(low pass)フィルタH( vu, )を用いて高周波数を除去)
,
(
)
,
(
)
,
(
u
v
F
u
v
H
u
v
G
低域通過フィルタについては色々な形があるが、例えば、
2 2
1/2 0 0 ) , ( ) , ( 0 ) , ( 1 ) , ( v u v u D D v u D if D v u D if v u H ここで、 D0 1 H(u,v) D(u,v) D0が周波数平面上原点から点への距離画 像 処 理 29 例:低域通過フィルタリング 原画像 原画像の周波数 (スペクトル)
周波数領域でのフィルタ処理
例:低域通過フィルタリング 低域通過した周波数 D0=30の場合 低域周波数通過した 画像(高い周波数成分 なくなり、ぼける) (説明のため、Ideal filterを使った。 ただし、いいフィルタではない)画 像 処 理 31 低域通過Butterworthフィルタリング Idealフィルタの場合、結果画像にリング(ring)現象がある。 画質あまりよくない。 Butterworth filter:
2 2
1/2 2 0)
,
(
/
)
,
(
1
1
)
,
(
v
u
v
u
D
D
v
u
D
v
u
H
ここで、
D0がカットオフである。 カットオフが3の場合、低域通過 Butterworthフィルタのグラフ周波数領域でのフィルタ処理
例:低域通過Butterworthフィルタリング 低域通過butterworthフィルタを 施したあと、残った低周波数 (D0=30の場合) 低域周波数通過した 画像(高い周波数成分 なくなり、ぼける)画 像 処 理 33 高域通過フィルタリング 原画像をf( yx, ) フーリエ変換をF( vu, )とする。 高域通過(high pass)フィルタH( vu, ) を用いて低周波数を除去
)
,
(
)
,
(
)
,
(
u
v
F
u
v
H
u
v
G
高域通過フィルタについては色々な形があるが、例えば、
2 2
1/2 0 0 ) , ( ) , ( 1 ) , ( 0 ) , ( v u v u D D v u D if D v u D if v u H ここで、 D0 1 H(u,v) D(u,v) D0が周波数平面上原点から点への距離カットオフ(cut off)という。 Ideal filter
周波数領域でのフィルタ処理
例:高域通過フィルタリング 高域通過した周波数 D0=30の場合 高域周波数通過した 画像(低い周波数成分 なくなり、エッジが残る) (説明のため、Ideal filterを使った。 ただし、いいフィルタではない)画 像 処 理 35 高域通過Butterworthフィルタリング Idealフィルタの場合、結果画像にリング(ring)現象がある。 画質あまりよくない。 Butterworth filter:
2 2
1/2 2 0)
,
(
)
,
(
/
1
1
)
,
(
v
u
v
u
D
v
u
D
D
v
u
H
ここで、
D0がカットオフである。 カットオフが3の場合、高域通過 Butterworthフィルタのグラフ周波数領域でのフィルタ処理
例:高域通過Butterworthフィルタリング 高域通過butterworthフィルタを 施したあと、残った高周波数 (D0=30の場合) 高域周波数通過した 画像(低い周波数成分 なくなり、エッジが残る)画 像 処 理 37 出力 入力画像中のある広い範囲 を用いる場合を大局処理 (global operation)と呼ぶ。 出力画像中の一つのピクセル 値を得るために、入力画像中 の広範囲画素を使う。 フーリエ変換が大局処理である。