์ด๋ฏธ์ง ์์คํ ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ ๊ฒฐ๊ตญ ์ ํธ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ๊ณผ ๊ฐ๋ค.
๋ฐ๋ผ์ ์ ํธ ์ฒ๋ฆฌ์ ๊ธฐ์ด๊ฐ ๋๋
ํธ๋ฆฌ์ ๋ณํ(Fourier Transform)๊ณผ ์ญ๋ณํ(Inverse Fourier Transform)์ ์์์ผ ํ๋ค.
(์ ํธ ๋ฐ ์์คํ ๊ณผ๋ชฉ์ ์๋ง์ผ๋ก ๋ค์๋ ๋ด๊ฒ ์๋นํ ๊ณค์์ด์๋ค.)
์ํ์ ์ ๋๋ ์ฐจ์นํ๊ณ ,
๊ดํ์ ์ธ ๊ด์ ์์ ํธ๋ฆฌ์ ๋ณํ์ด ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง ์์๋ณด์.
๊ดํ ๋ถ์ผ ๋ฟ ์๋๋ผ ์ปดํจํฐ ๋น์ (Computer Vision)์์๋ ํนํ,
ํธ๋ฆฌ์ ๋ณํ์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ด
์ ํธ๋ฅผ spatial domain์์ frequency domain์ผ๋ก ๋ณํํ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
Discreteํ domain์์ ์ ํธ๋ฅผ ํธ๋ฆฌ์ ๋ณํํ ๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ณต์์ ์ฌ์ฉํ ์ ์๋ค.
์ด๋ฅผ ์ด์ฐ ํธ๋ฆฌ์ ๋ณํ(Discrete Fourier Transform, DFT)์ด๋ผ๊ณ ํ๋๋ฐ,
์ด ์ด์ฐ ํธ๋ฆฌ์ ๋ณํ๊ณผ ๊ทธ ์ญ๋ณํ์ ๋น ๋ฅด๊ฒ ์ํํ๊ฒ ํด์ฃผ๋ ์๊ณ ๋ฆฌ์ฆ์
'๊ณ ์ ํธ๋ฆฌ์ ๋ณํ(Fast Fourier Transform, FFT)' ์ด๋ผ๊ณ ํ๋ค.
ํน์ ์๊ณ ๋ฆฌ์ฆ์ ์นญํ๋ ๋ง์ ์๋๊ณ ,
DFT ์ฐ์ฐ์ ๋น ๋ฅด๊ฒ ์งํํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ๋ค์ ์ง์นญํ๋ ๋ง์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
๋ํ์ ์ธ FFT์๋ ์ฟจ๋ฆฌ-ํํค ์๊ณ ๋ฆฌ์ฆ์ด ์๋ค.
DFT ์ฐ์ฐ์๋ O(n^2)์ด๋ผ๋ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋๋ฐ,
FFT๋ฅผ ์ฌ์ฉํ๋ฉด ์ผ๋ฐ์ ์ผ๋ก ์ํ์๊ฐ์ด O(nlog(n))์ด ๋๋ค.
ํธ๋ฆฌ์ ๋ณํ์ ์์ ์ฒ๋ฆฌ์ ํํฐ๋ง์ ํ ๋ ํ์์ ์ด๋ค.
spatial domain์ ์ ํธ๋ฅผ frequency domain์ผ๋ก ๋ณํํ๋ฉด
์ ํธ์ ์ถ๊ฐ์ ์ธ ํน์ฑ๋ค์ ํ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
Matlab Code
DFT(Discrete Fourier Transform)์ ์ํํ๋ matlab ์ฝ๋๋ฅผ ์์ฑํด๋ณด์.
function G = DFT(g)
M = length(g);
W = exp(-1j*2*pi/M*(0:M-1)'*(0:M-1));
G = W*g;
end
(ํฐ์คํ ๋ฆฌ ์ฝ๋ ๋ธ๋ญ์ Matlab์ ์ง์์ด ์๋ผ์ ๋ฐ๋ก Javascript๋ฅผ ์ด์ฉํด ์ปค์คํฐ๋ง์ด์ง ํด์ค์ผ ํ๋ ๋ฏํ๋ค.)
(๊ทธ๋์ ์๋ฑํ๊ฒ ํ์ด๋ผ์ดํ ๋๋ค.. ์กฐ๋ง๊ฐ ๊ณ ์ณ๋ณผ๊ฒ์..)
์ฝ๋๋ ๋ฌด์ฒ ๊ฐ๋จํ๋ค.
M*1 ํฌ๊ธฐ์ ๋ฐฐ์ด g๋ฅผ ์ ๋ ฅ๋ฐ์ผ๋ฉด(์ด๋ type์ ์ค์๋ ๋ณต์์๋ ์๊ด์๋ค.),
์ฌ๊ธฐ์ exp ( -1i * 2 * pi / M * (0:M-1)' * (0:M-1))์ ๊ณฑํด์ค๋ค.
์ฌ๊ธฐ์ (0:M-1)' * (0:M-1)์ 0๋ถํฐ M-1๊น์ง M๊ฐ์ ์ ์๋ก ํ, ์ด์ด ์ฑ์์ง M*M ํฌ๊ธฐ์ ์ ์ ํ๋ ฌ์ด๋ค.
์ด M*M ํ๋ ฌ์ ๊ฐ ์์์ -1i * 2 * pi / M ์ ๊ณฑํ ํ exp๋ฅผ ์์ฐ๊ณ , ์ด๋ฅผ ๋ค์ g์ ๊ณฑํด Sigma๋ฅผ ๊ตฌํํ๋ค.
๊ทธ๋ฌ๋ฉด g๋ฅผ DFTํ ๊ฒฐ๊ณผ์ธ G๋ M*1 ํฌ๊ธฐ์ ๋ฐฐ์ด์ด ๋๋ค.
์ด ์ฝ๋๋ฅผ ํ ์คํธ ํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์ณค๋ค.
fft๋ฅผ ์ฌ์ฉํ์ ๋์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋์ค๋ ๊ฑธ ํ์ธํ๋ค.
๋ํ ๋ด์ฅ fft๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ๊ณผ ์๊ฐ์ด ๋ ์งง์์ง ๊ฒ์ ํ์ธํ ์ ์๋ค.
๋ฌผ๋ก ๋ด์ฅ ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ต์ ํ ๋ฑ์ ๋ฌธ์ ๋ก
์ง์ ๊ตฌํํ ํจ์๋ณด๋ค ๊ฒฝ๊ณผ ์๊ฐ์ด ๋๋ ค์ง๋ ๊ฒฝ์ฐ๋ ์๋๋ฐ,
๋ด์ฅ fft๋ ์ด๋ฆ๋๋ก ๋ด๊ฐ ๊ตฌํํ DFT๋ณด๋ค fastํ๋ค.
์์ ์ธ๊ธํ๋ฏ์ด FFT๋ ๋ค์ํ ๋ถ์ผ์์ ์ฌ์ฉ๋๋ค.
์์ผ๋ก ์ ํธ์ฒ๋ฆฌ์ ๋ํด ์ ๋ฆฌํ ์ผ์ด ์๊ธฐ๋ฉด ๋ ๊ตฌ์ฒด์ ์ผ๋ก ๋ค๋ค๋ณด๋๋ก ํ๊ฒ ๋ค.