Image Processing
7. Image Transforms7. Image Transforms
Computer Engineering, Sejong Universityp g g, j g y
영상 처리( ) 분야영상 처리(Image processing) 분야
영상 처리 분야
• 공간 영역 처리(spatial domain processing)• 공간 영역 처리(spatial domain processing)− 영상 자체에 대한 처리− 히스토그램 처리(Histogram processing)히스토 램 처리(Histogram processing)− 산술/논리 연산 처리(Arithmetic/Logic operation), 등
• 주파수 영역 처리(frequency domain processing) −
− 저역 통과 필터(Low pass filter)− 고역 통과 필터(High pass filter), 등
2/60
주파수 영역 처리(Frequency Domain Processing)주파수 영역 처리(Frequency Domain Processing)
디지털 영상 신호를 주파수 영역의 신호로 변환하고 주파수 영역에서디지털 영상 신호를 주파수 영역의 신호로 변환하고 주파수 영역에서
처리를 한 후 다시 원래의 공간 영역의 디지털 신호로 복원
주파수 영역
• 수학적으로 표현되는 공간
•
주파수 영역 변환 종류주파수 영역 변환 종류
• 퓨리어(퓨리에) 변환(Fourier Transform)
이산(불연속) 퓨리어 변환(Discrete Fourier Transform)• 이산(불연속) 퓨리어 변환(Discrete Fourier Transform)
•
3/60
• 이산 여현(코사인) 변환(Discrete Cosine Transform), 등등
퓨리어 변환(Fo ie T ansfo m)퓨리어 변환(Fourier Transform)
배경
• 프랑스의 수학자 Jean Baptiste Joseph Fourier가 1807년에개념을 정립하고 1822년에 출판한 “The Analytic Theory of 개념을 정립하고 1822년에 출판한 The Analytic Theory of Heat”에서 정리한 수학 이론
• 퓨리어 급수 -• 퓨리어 급수
• Fourier series - Any function that periodically repeats itself Fourier series Any function that periodically repeats itself can be expressed as the sum of sines and/or cosines of different frequencies, each multiplied by a different
ffi i tcoefficient.• 퓨리어 변환 -
• Fourier Transform – Even functions that are not periodic (but whose area is finite) can be expressed as the integral
4/60
(but whose area is finite) can be expressed as the integral of sines and/or cosines multiplied by a weighting function
퓨리어 변환(Fo ie T ansfo m)퓨리어 변환(Fourier Transform)
5/60
퓨리어 변환(Fo ie T ansfo m)퓨리어 변환(Fourier Transform)
연속 함수 f(x)의 퓨리어 변환(Fourier Transform) F(u)를 나타내는식은
2∞
j)}({)( 2)(=ℑ= −∫∞−
dxxfuF uxjexf π
F(u)의 퓨리어 역변환(Inverse Fourier Transform) f(x)는
.1−=jwhere
F(u)의 퓨리어 역변환(Inverse Fourier Transform) f(x)는
1∞
duuFxf uxjeuF π2)()}({1)( ∫∞−
=−ℑ=
위의 두 식을 퓨리어 변환쌍(Fourier Transform Pair)라고 함
u는 주파수를 나타내는 변수
6/60
u는 주파수를 나타내는 변수
퓨리어 변환(Fo ie T ansfo m)퓨리어 변환(Fourier Transform)
오일러 공식(Euler’s formula)
θθθ ijj
x y 좌표계의 복소수 z = x + jy를 극좌표계로 변형
θθθ sincos jje +=
x,y 좌표계의 복소수 z = x + jy를 극좌표계로 변형.
θθθ jrejrjyxz =+=+= )sin(cos θθ jrejrjyxz =+=+= )sin(cos
imaginaryg y
y
r
θ
7/60
realx
θ
퓨리어 변환(Fo ie T ansfo m)퓨리어 변환(Fourier Transform)
실변수 함수(real function) f(x)의 퓨리어 변환은 일반적으로 복소수함수
)()()( ujIuRuF +=
F( ))ff i( i dF i|F( )|h
|)(|
)()()()(euF
ujIuRuFuj=
+=φ
)}()({|)(|
F(u)) offunction (magnitudespectrumFourier |F(u)| where2/122 uIuRuF +=
=
)(tan)(
F(u) of angle phase)(
1 uIu
u
⎬⎫
⎨⎧
=
−φ
φ
F(u) of spectrumpower
)(
)(tan)(
uRu
⎭⎬
⎩⎨=φ
)()(
|)(|)(
( )pp
22
2
IR
uFup
+
=
8/60
)()( 22 uIuR +=
퓨리어 변환(Fo ie T ansfo m)퓨리어 변환(Fourier Transform)
주파수 영역(Frequency domain) : 다양한 주파수 성분의 크기정보를 알 수 있게 해줌정 를 알 수 있게 해줌
Cosine wave and its Fourier transform
9/60
Cosine wave and its Fourier transform.
퓨리어 변환(Fo ie T ansfo m)퓨리어 변환(Fourier Transform)
퓨리어 변환 예
uxjf π∫∞
2)( uxj dxxfuF exf π−∫∞−
=ℑ= 2)()}({)(
uxjX
dxeA π−= ∫ 2
0
uXjXuxj euj
Ae
uj
A ππ
ππ−− −
−=
−= ]1[
2][
22
02
0
uXjuXjuXj eeeuj
A πππ
π−−−= ][
2
uXjeuXu
A πππ
−= )sin(
10/60
퓨리어 변환(Fo ie T ansfo m)퓨리어 변환(Fourier Transform)
퓨리어 스펙트럼(Fourier spectrum)
euXu
AuF uXjπ
ππ)sin()( = −
uX
uXAX
ππ )sin(
=
11/60
Fourier spectrum
퓨리어 변환(Fo ie T ansfo m)퓨리어 변환(Fourier Transform)
2-D 퓨리어 변환 쌍
∞
∫ ∫∞
+−
∞−
=ℑ= dxdyeyxfyxfvuF vyuxj )(2),()},({),( π
∫ ∫∞
+
∞−
− =ℑ= dudvevuFvuFyxf vyuxj )(21 ),()},({),( π
2/122 )]()([)( vujIvuRvuF +=Fourier Spectrum )],(),([),( vujIvuRvuF +
]),(
[tan)( 1 vuIvu −φ
Fourier Spectrum
Ph ]),(
[tan),(vuR
vu =φ
)()()()( 222IRFP +
Phase
P S t
12/60
),(),(),(),( 22 vuIvuRvuFvuP +==Power Spectrum
퓨리어 변환(Fo ie T ansfo m)퓨리어 변환(Fourier Transform)
2-D 퓨리어 변환 예
∫ ∫∞
+ vyuxj )(2π∫ ∫ +−
∞−=ℑ= dxdyeyxfyxfvuF vyuxj )(2),()},({),( π
22
0
22
0
ee
dyedxeA
uyjuxj
Y vyjuxjX
ππ
ππ
−−
−−= ∫∫
1
]2
[]2
[ 00
A
vj
e
uj
eA Y
yjX
j
ππ=
)i ()i (
]1[2
1]1[
2e
vje
uj
A
vYjuXj
vYjuXj
ππππ
ππ −− −−
−−
=
])(
)sin(][
)(
)sin([
vY
evY
uX
euXAXY
vYjuXj
ππ
ππ ππ −−
=
13/60
퓨리어 변환(Fo ie T ansfo m)퓨리어 변환(Fourier Transform)
2-D 퓨리어 스펙트럼(Fourier spectrum)
|)(
)sin(||
)(
)sin(||),(|
vY
vY
uX
uXAXYvuF
ππ
ππ
=
( Fourier spectrum ) ( spectrum as an intensity )
14/60
( Fourier spectrum ) ( spectrum as an intensity )
이산 퓨리어 변환(Discrete Fourier Transform)이산 퓨리어 변환(Discrete Fourier Transform)
이산 퓨리어 변환(Discrete Fourier Transform : DFT)
•
• 퓨리어 변환의 특별한 경우
• 대상 함수가 유한한 샘플 데이터의 주기 함수인 경우• 대상 함수가 유한한 샘플 데이터의 주기 함수인 경우
15/60
이산 퓨리어 변환(Discrete Fourier Transform)이산 퓨리어 변환(Discrete Fourier Transform)
깁스 현상(Gibb’s phenomenon)
•
• 샘플링을 늘릴 경우 ringing의 너비가 감소
• Ringing의 크기(amplitude)는 줄어들지 않음• Ringing의 크기(amplitude)는 줄어들지 않음
=> 윈도우 함수(windowing function)을 이용하여 ringing을최소화최소화
16/60
이산 퓨리어 변환(Discrete Fourier Transform)이산 퓨리어 변환(Discrete Fourier Transform)
1차원 윈도우 함수의 예1차원 윈도우 함수의 예
17/60
이산 퓨리어 변환(Discrete Fourier Transform)( )
윈도우 함수를 이용한 외곽부의 불연속성 감소
18/60
이산 퓨리어 변환(Discrete Fourier Transform)이산 퓨리어 변환(Discrete Fourier Transform)
연속함수 f(x)가 Δx 주기로 N개 샘플링 되었다고 가정하면
)}]1[()2()()({ Nffff Δ+Δ+Δ+
이를 간단히 나타내면
)}]1[(,),2(),(),({ 0000 xNxfxxfxxfxf Δ−+Δ+Δ+ L
이를 간단히 나타내면
)}1(,),2(),1(),0({ −Nffff L
f(x)
)}(,),(),(),({ ffff
( )
19/60
0 1 2 …. n-1 x
이산 퓨리어 변환(Discrete Fourier Transform)이산 퓨리어 변환(Discrete Fourier Transform)
DFT 변환 쌍
1...,,2,1,0)(1
)(1
0
/2 −== ∑−
=
− NuForexfN
uFN
x
Nuxj π
1...,,2,1,0)()(1
0
/2 −==∑−
=
NxForeuFxfN
u
Nuxj π
DFT 에서의 u = 0, 1, 2, …, N-1 값은 연속함수 퓨리어변환에서의 0, Δu, 2Δu, …, (N-1)Δu 에 해당한다.
Δu와 Δx의 관계는
Nu
Δ=Δ
1
20/60
xN Δ
이산 퓨리어 변환(Discrete Fourier Transform)이산 퓨리어 변환(Discrete Fourier Transform)
DFT 변환 예
21/60
이산 퓨리어 변환(Discrete Fourier Transform)이산 퓨리어 변환(Discrete Fourier Transform)
DFT 변환 식에 각각의 값을 대입
∑− −=1
0
/2)(1
)(N
NuxjexfN
uF π
03
)(1
)0( exfF ∑=
=0xN
0)(
4)0( exfF
x∑=
=
1
1
)]3()2()1()0([4
1+++= ffff
253
)4432(4
1+++=
22/60
25.3=
이산 퓨리어 변환(Discrete Fourier Transform)이산 퓨리어 변환(Discrete Fourier Transform)
DFT 변환 식에 각각의 값을 대입
4/23
0)(
4
1)1( uxj
xexfF π−
=∑=
0x
)4432(4
1 2/32/0 eeee jjj +++= −−− πππ
)2(4
14
j+−=4
=)2(F
=)3(
)(
F
23/60
)(
이산 퓨리어 변환(Discrete Fourier Transform)이산 퓨리어 변환(Discrete Fourier Transform)
퓨리어 스펙트럼
25.3)0( =F
4
5]
4
1
4
2[)1( 2/1
22
=⎟⎠⎞
⎜⎝⎛+⎟
⎠⎞
⎜⎝⎛=F
4
1)2( ==F
4
5)3( ==F
24/60
이산 퓨리어 변환(Discrete Fourier Transform)이산 퓨리어 변환(Discrete Fourier Transform)
1 11 M N
2-D DFT 변환 쌍
∑ ∑−
=
−
=
+−=1
0
1
0
)//(2),(1
),(M
x
N
y
NvyMuxjeyxfMN
vuF π
∑ ∑− − +=1
0
1
0
)//(2),(),(M N
NvyMuxjevuFyxf π
= =0 0u v
공간 영역에서의 Δx, Δy 와 주파수 영역에서의 Δu, Δv의 관계는
yNv
xMu
Δ=Δ
Δ=Δ
11
25/60
이산 퓨리어 변환(Discrete Fourier Transform)이산 퓨리어 변환(Discrete Fourier Transform)
1 1N N
2-D DFT 변환 쌍(if M = N)
1...,,2,1,0,),(1
),(1
0
1
0
)/)((2 −== ∑ ∑−
=
−
=
+− NyxForeyxfN
vuFN
x
N
y
Nvyuxj π
1...,,2,1,0,),(1
),(1
0
1
0
)/)((2 −== ∑ ∑−
=
−
=
+ NvuForevuFN
yxfN
u
N
v
Nvyuxj π
0 0= =u v
대칭성을 주기 위해서 F(u,v) 식에 N 항목에 곱해짐
두 개의 식이 부호만 다르기 때문에 순방향 변환과 역변환 식이
거의 유사
26/60
이산 퓨리어 변환(Discrete Fourier Transform)이산 퓨리어 변환(Discrete Fourier Transform)Display를 위한 위치의 보정•• Fourier 변환된 영상의 원점을 변경
• u = M/2• v = N/2
)2/2/(])1)(([ NMyxf +ℑ )2/,2/(])1)(,([ NvMuFyxyxf −−=+−ℑ
27/60
이산 퓨리어 변환(Discrete Fourier Transform)이산 퓨리어 변환(Discrete Fourier Transform)Display를 위한 F(u,v) 값의 보정•
• 일반적인 디스플레이 장치의 경우 디스플레이 할 수 있는 구간이1000:1 이하이므로(white 1000, black 0) 조정 필요일반적으로 사용하는 디스플레이를 위한 보정식은• 일반적으로 사용하는 디스플레이를 위한 보정식은
]),(1log[),( vuFcvuD +=
.constscalingaiscwhere
28/60General Image | F(u,v) | Log [ 1+ |F(u,v)| ]
이산 퓨리어 변환(Discrete Fourier Transform)( )
2-D DFT 변환 예
lena Lena의 DFT 결과 Center 보정 결과
29/60
lena Lena의 DFT 결과 Center 보정 결과
이산 퓨리어 변환(Discrete Fourier Transform)( )
분리성(Separability)
•
∑ ∑− − −−=1 1
/2/2 ),(1
),(N N
NvyjNuxj eyxfevuF ππ
For u, v = 0,1,2,…,N-1
∑ ∑= =0 0
),(),(x y
yfN
∑ ∑− −1 1
/2/2 )(1
)(N N
NvyjNuxj Ff ππ
F 0 1 2 N 1
∑ ∑= =
=0 0
/2/2 ),(),(u v
NvyjNuxj evuFeN
yxf ππ
For x,y = 0,1,2,…,N-1
30/60
이산 퓨리어 변환(Discrete Fourier Transform)이산 퓨리어 변환(Discrete Fourier Transform)
분리성(S bili )분리성(Separability)
Computation of 2-D Fourier transform as a series of 1-D transforms
31/60
이산 퓨리어 변환(Discrete Fourier Transform)이산 퓨리어 변환(Discrete Fourier Transform)
분리성(Separability)분리성(Separability)
• 계산 과정
∑ ∑−
=
−
=
−−⎥⎦
⎤⎢⎣
⎡=
1
0
1
0
/2/2 ),(1
),(N
x
N
y
NvyjNuxj eyxfeN
vuF ππ
⎦⎣0 0x y
• First path: ∑−
=
−=1
0
/2),(),(N
y
NvyjeyxfvxF π
y
1N• Second path: ∑
−
=
−=1
0
/2),(1
),(N
x
NuxjevxFN
vuF π
32/60
고속 퓨리어 변환(Fast Fourier Transform)고속 퓨리어 변환(Fast Fourier Transform)이산 퓨리어 변환의 연산량의 감축 기법
•• MxM의 이차원 영상의 DFT => M4의 계산 횟수 필요
• 연산 횟수의 감축 기법으로 도출
고속 퓨리어 변환
• N개의 성분의 DFT 변환은 두 개의 N/2 길이의 DFT 변환의합으로 구성 가능하다합으로 구성 가능하다.
• 이 과정을 재귀적으로 구성하여 N=2인 경우의 DFT 변환의합으로 구성 가능합으로 구성 가능
•• 표 7.1, 7.2 참고표 7.1, 7.2 참고
33/60
필터링(Filtering)필터링(Filtering)
주파수 영역에서의 필터링 개념주파수 영역에서의 필터링 개념
34/60
필터링(Filtering)필터링(Filtering)
공간 영역에서의 영상과 회선 마스크와의 회선(convolution) 공간 영역에서의 영상과 회선 마스크와의 회선(convolution) 연산은 주파수 영역에서의 곱셈 연산으로 처리됨
)( yxf )(h )( yxg),( yxf ),( yxh ),( yxg
)()()( yxfyxhyxg ∗ ),(),(),( yxfyxhyxg ∗=
),( vuF ),( vuH )( vuG),( ),( vuH ),( vuG
),(),(),( vuFvuHvuG =
35/60
),(),(),(
필터링(Filtering)필터링(Filtering)
공간 영역과 주파수 영역에서의 필터 모양공간 영역과 주파수 영역에서의 필터 모양
36/60
필터링(Filtering)필터링(Filtering)
필터 마스크의 생성필터 마스크의 생성
• 공간 영역에서 사용하는 회선 마스크를 DFT를 통해서 주파수영역의 마스크로 변환하여 사용영역의 마스크로 변환하여 사용
•
- 마스크를 위한 DFT가 필요 없다.
- 개념적으로 단순하여 많이 사용
37/60
필터링(Filtering)필터링(Filtering)
1 D 필터 마스크의 특성1-D 필터 마스크의 특성
• 저역 통과 필터 : 입력 영상에서 저주파수 성분은 통과시키고고주파수 성분은 제거시킨다고주파수 성분은 제거시킨다.
• 고역 통과 필터 :
• 대역 통과 필터 :
• 대역 제한 필터 : 입력 영상에서 특정 주파수 성분만을• 대역 제한 필터 : 입력 영상에서 특정 주파수 성분만을제거한다.
• 차단 주파수(cutoff frequency) : H(f) 값이 1에서 0으로
38/60
변하는 주파수(혹은 ½이 되는 주파수)
필터링(Filtering)필터링(Filtering)실제적인 필터
이상적인 필터와 같이 급격한 t ff는 비현실적• 이상적인 필터와 같이 급격한 cut-off는 비현실적
•
• 대부분의 필터는 앞의 4개 필터의 조합으로 구성
• 저역 통과 필터 : 잡음 제거, 영상의 축소, 영상의 압축 등에 사용
• 고역 통과 필터 : • 고역 통과 필터 :
• 대역 제한/통과 필터 : NTSC 신호의 색 신호 분리 등에 사용
• 영상 처리에서 사용하는 보편적인 필터
- Butterworth 필터
- Gaussian 필터
39/60
Gaussian 필터
필터링(Filtering)필터링(Filtering)
이상적인 필터 예이상적인 필터 예
40/60
필터링(Filtering)필터링(Filtering)
테스트 영상테스트 영상
41/60
필터링(Filtering)필터링(Filtering)필터링 된 영상
ringing이매우커서비현실적
42/60
필터링(Filtering)필터링(Filtering)
Butterworth 저역 통과 필터
nDvuDvuH
2]/)([1
1),(
+=
Where
DvuD 0 ]/),([1 +
2/122 )(),( vuvuD +=
D0 = cutoff frequency
)(),( vuvuD +
43/60
필터링(Filtering)필터링(Filtering)
Butterworth 저역 통과 필터
n 값이커짐에따라ringing이발생ringing이발생
44/59
필터링(Filtering)필터링(Filtering)
Butterworth 저역 통과 필터의 차수 증가에 따른 ringing 발생g g
45/60
필터링(Filtering)필터링(Filtering)
Gaussian 저역 통과 필터
20
2 2/),(),( DvuDevuH −=
Where 2/122 )(),( vuvuD +=
D0 = cutoff frequency
46/60
필터링(Filtering)필터링(Filtering)
Gaussian 저역 통과 필터
butterworth에비해서고역제거특성이나쁨고역제거특성이나쁨
ringing의발생이없음
47/59
필터링(Filtering)필터링(Filtering)고역 통과 필터
영상의 고주파수 부분을 유지하면서 저주파수 부분을 제거• 영상의 고주파수 부분을 유지하면서 저주파수 부분을 제거
• 에지 부분 추출
•
• 고역 통과 필터와 저역 통과 필터의 관계
),(1),( vuHvuH lphp −= ),(),( lphp
48/60
필터링(Filtering)필터링(Filtering)고역 통과 필터
이상적인고역통과필터
Butterworth 고역통과필터
Gaussian 고역통과필터
49/60
필터링(Filtering)필터링(Filtering)고역 통과 필터의 공간 영역 특성(회선 마스크 계수)
Ideal Butterworth Gaussian
50/60
필터링(Filtering)필터링(Filtering)이상적인 고역 통과 필터링 결과 : ringing 이 심함
⎨⎧ ≤
= 0
)(
),(0),(
f
DvuDifvuH
⎩⎨ > 0),(1
),(DvuDif
51/60
필터링(Filtering)필터링(Filtering)Butterworth 고역 통과 필터링 결과 : ringing 이 존재, sharp함
vuH2
1),( =
nvuDDvuH
20 )],(/[1
),(+
52/60
필터링(Filtering)필터링(Filtering)Gaussian 고역 통과 필터링 결과 : 가장 smooth 함
20
2 2/),(1),( DvuDevuH −−=
53/60
응용 사례(Application Examples)응용 사례(Application Examples)저역 통과 필터
•
• 컴퓨터 비젼의 문자 인식 문제
• 모델 사진의 인쇄 기법 등 다양한 분야에 사용
54/60
응용 사례(Application Examples)응용 사례(Application Examples)• 에지 부분은 원영상
•
• 모델의 주름 등을 없애고 깨끗한 영상 제공
55/59
응용 사례(Application Examples)응용 사례(Application Examples)고역 통과 필터
영상의 에지 부분이나 디테일을 강조• 영상의 에지 부분이나 디테일을 강조
• 디지털 TV의 화질 개선 문제
•
56/60
압축과 관련된 영상의 주파수 영역 표현압축과 관련된 영상의 주파수 영역 표현
공간 영역 : 영상 정보가 전체적으로 분포
주파수 영역 :
57/60
이산 여현 변환(Discrete Cosine Transform)이산 여현 변환(Discrete Cosine Transform)
이산 여현 변환(Discrete Cosine Transform: DCT)이산 여현 변환(Discrete Cosine Transform: DCT)
•
• 결과적으로 어떤 종류의 영상이라도 기본 함수(basis function)의 합으로 표시할 수 있다.
장점 : DFT가 복소수 출력을 가지는 반면에 DCT는 실수 출력을가져서 계산이 단순해진다.
단점 : DCT 변환 결과가 주파수의 영역이 아님, 이론적인 필터링단점 : DCT 변환 결과가 주파수의 영역이 아님, 이론적인 필터링연산이 적용이 안됨.
• JPEG
58/60
• MPEG
이산 여현 변환(Discrete Cosine Transform)이산 여현 변환(Discrete Cosine Transform)
59/60
이산 여현 변환(Discrete Cosine Transform)이산 여현 변환(Discrete Cosine Transform)
1 1N N
2-D DCT 변환 쌍
++= ∑ ∑
−
=
−
=
)()(
]2
)12(cos[]
2
)12(cos[),()()(),(
1 1
1
0
1
0 N
vy
N
uxyxfvuvuC
N N
N
x
N
y
ππαα
++= ∑ ∑
−
=
−
=
]2
)12(cos[]
2
)12(cos[),()()(),(
1
0
1
0 N
vy
N
uxvuCvuyxf
N
u
N
v
ππαα
⎪⎪⎧
= 0,1
vuforN
⎪⎪⎩
⎪⎪⎨
−=
=
1,...,2,1,2
)(),(
NvuforN
fN
vu αα
⎪⎩ N
60/60