DFT ๊ธฐ๋ฐ˜ Convolution

DFT ๊ธฐ๋ฐ˜ Convolution์€ ์ด๋ฏธ์ง€์—์„œ ํŠน์ • ํŒจํ„ด์„ ๊ฐ•์กฐํ•˜๊ฑฐ๋‚˜ ์–ต์ œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ํ•„ํ„ฐ์— ๋”ฐ๋ผ ์ด๋ฏธ์ง€์—์„œ ์›ํ•˜๋Š” ํŒจํ„ด์„ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


DFT Convolution๊ณผ ํŒจํ„ด ์ถ”์ถœ์˜ ๊ด€๊ณ„:

  1. ํ•„ํ„ฐ์˜ ์—ญํ• :
    • ํ•„ํ„ฐ๋Š” ์ฃผํŒŒ์ˆ˜ ์˜์—ญ์—์„œ ํŠน์ • ๋Œ€์—ญ(ํŒจํ„ด)์„ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด:
      • Low-pass filter: ์ €์ฃผํŒŒ๋ฅผ ํ†ต๊ณผ์‹œํ‚ค๊ณ  ๊ณ ์ฃผํŒŒ(๋…ธ์ด์ฆˆ๋‚˜ ๊ฒฝ๊ณ„)๋ฅผ ์ œ๊ฑฐ โ†’ ์ด๋ฏธ์ง€๊ฐ€ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋ณ€ํ•จ.
      • High-pass filter: ๊ณ ์ฃผํŒŒ๋ฅผ ํ†ต๊ณผ์‹œํ‚ค๊ณ  ์ €์ฃผํŒŒ๋ฅผ ์–ต์ œ โ†’ ๊ฒฝ๊ณ„๋‚˜ ํ…์Šค์ฒ˜ ๊ฐ•์กฐ.
      • Band-pass filter: ํŠน์ • ์ฃผํŒŒ์ˆ˜ ๋Œ€์—ญ๋งŒ ํ†ต๊ณผ โ†’ ํŠน์ • ํŒจํ„ด๋งŒ ๊ฐ•์กฐ.
  2. DFT ๊ธฐ๋ฐ˜ Convolution์˜ ํ•ต์‹ฌ:
    • ์ฃผํŒŒ์ˆ˜ ์˜์—ญ์—์„œ ์ด๋ฏธ์ง€์™€ ํ•„ํ„ฐ๋ฅผ ๊ณฑํ•˜๋ฉด, ํ•„ํ„ฐ๊ฐ€ ์ •์˜ํ•œ ์ฃผํŒŒ์ˆ˜ ๋Œ€์—ญ์— ํ•ด๋‹นํ•˜๋Š” ์ •๋ณด๋งŒ ๋‚จ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
    • ์—ญํ‘ธ๋ฆฌ์— ๋ณ€ํ™˜(IFT)์„ ํ†ตํ•ด ์ด ์ •๋ณด๋ฅผ ๋‹ค์‹œ ๊ณต๊ฐ„ ์˜์—ญ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด, ํ•„ํ„ฐ๋ง๋œ ํŒจํ„ด์ด ๊ฒฐ๊ณผ ์ด๋ฏธ์ง€๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  3. ํŒจํ„ด ์ถ”์ถœ์˜ ๊ฒฐ๊ณผ:
    • ์ด๋ฏธ์ง€์˜ ํŠน์ • ์ฃผํŒŒ์ˆ˜ ๋Œ€์—ญ(ํŒจํ„ด, ํ…์Šค์ฒ˜)๋งŒ ๋‚จ๊ธฐ๊ฑฐ๋‚˜, ํ•„์š” ์—†๋Š” ๋Œ€์—ญ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
    • ์ฃผํŒŒ์ˆ˜ ํ•„ํ„ฐ๋ง์„ ํ†ตํ•ด ์ถ”์ถœํ•œ ํŒจํ„ด์€ ์›๋ณธ ์ด๋ฏธ์ง€์˜ ํŠน์ • ๊ตฌ์กฐ์  ํŠน์ง•์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.

DFT Convolution์€ โ€œํŒจํ„ด์„ ๋งŒ๋“ ๋‹คโ€ ๋ผ๋Š” ๊ด€์ ์—์„œ ์ดํ•ดํ•˜๊ธฐ:

ํŒจํ„ด ์ƒ์„ฑ์˜ ๊ณผ์ •:

  • ์›๋ณธ ์ด๋ฏธ์ง€: ์ฃผํŒŒ์ˆ˜ ๊ณต๊ฐ„์—์„œ ๋‹ค์–‘ํ•œ ์ฃผํŒŒ์ˆ˜ ์„ฑ๋ถ„์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Œ.
  • ํ•„ํ„ฐ๋ง: ํ•„ํ„ฐ๊ฐ€ ํŠน์ • ์ฃผํŒŒ์ˆ˜๋ฅผ ์„ ํƒ(๊ฐ•์กฐ)ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐ(์–ต์ œ)ํ•จ.
  • ๊ฒฐ๊ณผ ์ด๋ฏธ์ง€: ํ•„ํ„ฐ๊ฐ€ ํ†ต๊ณผ์‹œํ‚จ ์ฃผํŒŒ์ˆ˜ ๋Œ€์—ญ์— ํ•ด๋‹นํ•˜๋Š” ํŒจํ„ด๋งŒ ๋‚จ๊ฒŒ ๋จ.

Figure 1์€ ๋…ธ์ด์ฆˆ ์ƒํƒœ์˜ ์›๋ณธ ์ด๋ฏธ์ง€์ด๊ณ , Figure 2๋Š” ํ•ด๋‹น ์ด๋ฏธ์ง€์— DFT ๊ธฐ๋ฐ˜ Convolution์„ ์ ์šฉํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด, ์ฃผํŒŒ์ˆ˜ ์˜์—ญ์—์„œ ํ•„ํ„ฐ๋ง ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜์—ˆ์Œ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.


์ฃผ์š” ์ž‘์—… ์š”์•ฝ:

  1. ์›๋ณธ ์ด๋ฏธ์ง€ (Figure 1):
    • rand(256, 256)์œผ๋กœ ์ƒ์„ฑ๋œ ๋žœ๋ค ๋…ธ์ด์ฆˆ ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค.
    • ์ด๋Š” ๋‹จ์ˆœํžˆ ์˜ˆ์ œ์šฉ์œผ๋กœ ์ƒ์„ฑํ•œ ๋ฐ์ดํ„ฐ์ด๋ฉฐ, ์‹ค์ œ๋กœ๋Š” ์›๋ณธ ์ด๋ฏธ์ง€ ๋Œ€์‹  ์นด๋ฉ”๋ผ ๋ฐ์ดํ„ฐ๋‚˜ ๋‹ค๋ฅธ ํ˜•ํƒœ์˜ ์ด๋ฏธ์ง€๊ฐ€ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. DFT ๊ธฐ๋ฐ˜ Convolution ์ ์šฉ (Figure 2):
    • Figure 2๋Š” ์›๋ณธ ๋…ธ์ด์ฆˆ ์ด๋ฏธ์ง€์— ํ•„ํ„ฐ๋ง ์ž‘์—…์ด ์ˆ˜ํ–‰๋œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.
    • ์ด ์ž‘์—…์€ ์ฃผํŒŒ์ˆ˜ ์˜์—ญ์—์„œ ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค:
      1. ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ DFT(์ด์‚ฐ ํ‘ธ๋ฆฌ์— ๋ณ€ํ™˜) ํ•˜์—ฌ ์ฃผํŒŒ์ˆ˜ ์˜์—ญ์œผ๋กœ ๋ณ€ํ™˜.
      2. ํ•„ํ„ฐ๋ฅผ ๋™์ผํ•œ ํฌ๊ธฐ๋กœ ์ œ๋กœ ํŒจ๋”ฉํ•œ ํ›„ ์ฃผํŒŒ์ˆ˜ ์˜์—ญ์œผ๋กœ ๋ณ€ํ™˜.
      3. ๋‘ ์ฃผํŒŒ์ˆ˜ ์˜์—ญ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณฑํ•จ (์ฃผํŒŒ์ˆ˜ ์˜์—ญ์—์„œ ํ•ฉ์„ฑ๊ณฑ์€ ๊ณฑ์…ˆ์œผ๋กœ ํ‘œํ˜„๋จ).
      4. ์ตœ์ข…์ ์œผ๋กœ ์—ญํ‘ธ๋ฆฌ์— ๋ณ€ํ™˜(IFFT) ํ•˜์—ฌ ๊ณต๊ฐ„ ์˜์—ญ์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ณต์›.
  3. ๊ฒฐ๊ณผ (Figure 2):
    • ์ฃผํŒŒ์ˆ˜ ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง์ด ์ ์šฉ๋˜์–ด ๋…ธ์ด์ฆˆ ์ด๋ฏธ์ง€๊ฐ€ ๋ณ€ํ˜•๋œ ์ƒํƒœ.
    • ํ•„ํ„ฐ๊ฐ€ ์–ด๋–ค ์—ญํ• ์„ ํ–ˆ๋Š”์ง€์— ๋”ฐ๋ผ ์ด๋ฏธ์ง€๊ฐ€ ํ๋ ค์ง€๊ฑฐ๋‚˜(๋ธ”๋Ÿฌ๋ง), ํŠน์ • ํŒจํ„ด์ด ๊ฐ•์กฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DFT ๊ธฐ๋ฐ˜ Convolution์˜ ์˜๋ฏธ:

  • ๊ณต๊ฐ„ ์˜์—ญ ํ•„ํ„ฐ๋ง ๋Œ€์‹  ์ฃผํŒŒ์ˆ˜ ์˜์—ญ ํ•„ํ„ฐ๋ง์„ ์‚ฌ์šฉํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • Figure 2๋Š” ํ•„ํ„ฐ(S)๊ฐ€ ๋…ธ์ด์ฆˆ ์ด๋ฏธ์ง€์— ์ ์šฉ๋œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.
  • ํ•„ํ„ฐ๊ฐ€ ์–ด๋–ค ํŠน์„ฑ์„ ๊ฐ–๋Š”์ง€์— ๋”ฐ๋ผ, ๋…ธ์ด์ฆˆ๋ฅผ ์–ต์ œํ•˜๊ฑฐ๋‚˜ ํŠน์ • ์ฃผํŒŒ์ˆ˜ ๋Œ€์—ญ์„ ๊ฐ•์กฐํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ž‘์—…์˜ ๋ชฉ์ :

  • Figure 1์˜ ์›๋ณธ ๋…ธ์ด์ฆˆ ๋ฐ์ดํ„ฐ๋Š” ์•„๋ฌด๋Ÿฐ ํ•„ํ„ฐ๋ง์ด ์—†๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค.
  • Figure 2์—์„œ๋Š” ํ•„ํ„ฐ๋ฅผ ํ†ตํ•ด ํŠน์ • ์ฃผํŒŒ์ˆ˜ ๋Œ€์—ญ์„ ๊ฐ•์กฐํ•˜๊ฑฐ๋‚˜ ์–ต์ œํ•˜์—ฌ ๋…ธ์ด์ฆˆ๋ฅผ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ์›ํ•˜๋Š” ํŒจํ„ด์„ ์ถ”์ถœํ•˜๋Š” ๋ฐ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ์ด๋Š” ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž‘์—…์— ์‘์šฉ๋ฉ๋‹ˆ๋‹ค:
    • ๋…ธ์ด์ฆˆ ์ œ๊ฑฐ (Low-pass filter).
    • ๊ฒฝ๊ณ„ ๊ฐ•์กฐ (High-pass filter).
    • ์ฃผํŒŒ์ˆ˜ ๋Œ€์—ญ ์ œํ•œ ๋“ฑ.