[Computer Vision] Image Filtering - Gaussian filter

2023. 4. 2. 17:09
๐Ÿง‘๐Ÿป‍๐Ÿ’ป Topic ์ •๋ฆฌ

- image filtering
- Gaussian Filter

 

 

Gaussian Filter

 

์ง€๋‚œ ์‹œ๊ฐ„์—,

 

filter์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ input image์˜ ์„ ๋ช…๋„๋‚˜ ๋ฐ๊ธฐ์— ์ฐจ์ด๋ฅผ ์ฃผ๊ณ  output image๋ฅผ ๋ฝ‘์•„๋‚ผ ์ˆ˜ ์žˆ์Œ์„ ๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

 

์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” Gaussian Filter์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 

์œ„์™€ ๊ฐ™์ด Gaussian Filter๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

 

์ˆ˜์‹๊ณผ 5 x 5์˜ filter๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์šฐ๋ฆฌ๊ฐ€ ์ด๊ฒƒ์„ ์™œ ์‚ฌ์šฉํ• ๊นŒ์š”?

 

image๋ฅผ smoothingํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ํฐ ๋ชฉ์ ์ž…๋‹ˆ๋‹ค.

 

๋‹จ์ˆœ ํ‰๊ท ์€ ์•„๋‹ˆ๊ณ , ๊ฐ€์ค‘์น˜๊ฐ€ ์ ์ ˆํžˆ ๋“ค์–ด๊ฐ„ ํ‰๊ท ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

 

์œ„ ์ˆ˜์‹์—์„œ ๋ณด์ž๋ฉด,

 

 

์—ฌ๊ธฐ์„œ ํ‰๊ท ์ธ ๋ฎค๋Š” 0์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์‹œ๊ทธ๋งˆ์— ๋”ฐ๋ผ ๋‚ด๋ถ€ ๊ฐ’ ๋˜ํ•œ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๊ณ„์‚ฐํ•ด์ฃผ๋ฉด,

 

์œ„ ์ˆ˜์‹์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

 

์ฆ‰, x์™€ y์— ๋Œ€ํ•œ ๊ฐ’์ด ์ถ”๊ฐ€๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

์•„๋ž˜์˜ ์ˆ˜์‹์— ์˜ํ•ด์„œ ๋”ํ•ด์ง„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

 

๊ทธ๋ฆฌ๊ณ , 

 

์œผ๋กœ ๋ณด๋ฉด, ์‹œ๊ทธ๋งˆ๊ฐ€ ์ž‘์„ ์ˆ˜๋ก, linear filter์™€ ๊ฐ™์ด, sharpening filter์™€ ๊ฐ™์€ ํšจ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚˜๊ณ ,

 

์‹œ๊ทธ๋งˆ์˜ ํฌ๊ธฐ๊ฐ€ ํด ์ˆ˜๋ก, ๋” filtering ์‹œ์˜ ๊ฐ’ ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ํฌ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋” bluring ๋˜๋Š” ํšจ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

 

filter์˜ ํฌ๊ธฐ๋Š” ์•„๋ฌด๋ฆฌ ์ปค๋ดค์ž ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ 20 x 20 ์ •๋„์ž…๋‹ˆ๋‹ค.

 

์ œํ•œ๋œ ํฌ๊ธฐ์˜ filter ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ, ์•„๋ฌด๋ฆฌ ๋‹ค ๋”ํ•ด๋„ 

 

 

sum์ด 1์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฏ€๋กœ smoothing์ธ ๋ชฉ์ ์ธ ์šฐ๋ฆฌ์—๊ฒŒ ์„ ๋ช…๋„ ์ด์™ธ์—๋„ ๋ฐ๊ธฐ์—๋„ ์˜ํ–ฅ์„ ๋ผ์นฉ๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฏ€๋กœ ์šฐ๋ฆฌ๋Š” ๋Œ€์ฑ…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ 5 x 5์˜ matrix์—์„œ ์ „์ฒด ๊ฐœ์ˆ˜๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ด ๊ฐ’๋“ค์˜ ๋ชจ๋“  sum์œผ๋กœ ๋‚˜๋ˆ„์–ด์•ผ ๋ฐ๊ธฐ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์ค‘์•™์—์„œ๋ถ€ํ„ฐ ๋ฉ€์–ด์งˆ ์ˆ˜๋ก ๊ฐ’์ด ์ž‘์•„์ง‘๋‹ˆ๋‹ค.

 

์ด Gaussian filter๋กœ Smoothing ํ•˜๋ฉด average filter ๋ณด๋‹ค ํ›จ์”ฌ ๋” ๋ถ€๋“œ๋Ÿฌ์šด smoothing์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

Box filter๋กœ ์ง„ํ–‰ํ•˜๋ฉด, Gaussian filter ๋ณด๋‹ค ๊ฒ€์€์ƒ‰ ๋ถ€๋ถ„์ด ๋” ๋ณด์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

 

 

 

์ž, ๊ทธ๋Ÿผ ์ •๋ฆฌํ•ด๋ด…์‹œ๋‹ค.

 

 

  • Remove "high-frequency" components from the image (low-pass filter)
    • images become more smooth
  • Separable kernel
    • Factors into product of two 1D Gaussians

 

์œ„ ๋‚ด์šฉ์™€ ๊ฐ™์ด,

 

image์˜ high-frequency๋ฅผ ์ค„์ž„์œผ๋กœ์จ ๋” smoothing์„ ๊ทน๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

  • How big should the filter be?
    • Sum of elements in filter should be 1
    • Value at edges should be near zero
    • Rule of thumb for Gaussian : set filter half-width to about 3 ∂

 

์ฆ‰, filter์˜ ๊ฒฝ๊ณ„ ๋ถ€๋ถ„, edges ๋ถ€๋ถ„์€ 0๊ณผ ๊ฐ€๊นŒ์šด ๊ฐ’์ด์–ด์•ผํ•˜๊ณ  filter ๊ฐ’์˜ ํ•ฉ์€ 1์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ , ∂๋Š” 3 ∂ ์ •๋„๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

∂๊ฐ€ ์ž‘์œผ๋ฉด, filter ํฌ๊ธฐ๊ฐ€ ์ž‘์œผ๋ฉด Gaussian filter์™€ average filter ๋‘˜ ์‚ฌ์ด์˜ ์ฐจ์ด๊ฐ€ ๊ฑฐ์˜ ์—†์–ด์„œ, filter ์ž‘๊ฒŒ ์žก์„ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ, ∂๊ฐ€ ํฌ๋ฉด, filter ํฌ๊ธฐ๊ฐ€ ํฌ๊ณ  ์ž‘์€ ๊ฒƒ์— ๋Œ€ํ•ด์„œ, 11 x 11๊ณผ 5 x 5๋Š” ์ฐจ์ด๊ฐ€ ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , 11 x 11 ์€ 5 x 5 ๋ณด๋‹ค ํ›จ์”ฌ ๋งŽ์€ cost๊ฐ€ ๋“ฆ์œผ๋กœ,

 

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” 5 x 5 ์‚ฌ์šฉ์„ ์ง€ํ–ฅํ•ด์•ผํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

∂๊ฐ€ ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด smoothing ํšจ๊ณผ๊ฐ€ ๊ฑฐ์˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

filter์˜ size๊ฐ€ ํฌ๋ฉด, ๋” ๋งŽ์€ ์กฐํ•ฉ์ด ์ƒ๊ฒจ, smoothing์˜ ํšจ๊ณผ๊ฐ€ ์ปค์ง‘๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์— ๋”ฐ๋ผ center ๊ฐ’์˜ ์˜ํ–ฅ๋ ฅ์ด ์ž‘์•„์ง‘๋‹ˆ๋‹ค.

 

 

Separability of the Gaussian filter

 

 

 

์œ„์™€ ๊ฐ™์ด 2D Gaussian ์€ ๋‘ ๊ฐ€์ง€ function์˜ ๊ณฑ์œผ๋กœ ํ‘œํ˜„๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. x์— ๋Œ€ํ•œ ์‹๊ณผ y์— ๋Œ€ํ•œ ์‹์ž…๋‹ˆ๋‹ค.

 

 ์ด ๊ฒฝ์šฐ, ๋‘ functions์€ identically 1D Gaussian์ž…๋‹ˆ๋‹ค.

 

 

์œ„์™€ ๊ฐ™์ด 2D Gaussian filter๋ฅผ 1D Gaussian filter ๋‘ ๊ฐœ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

filter ํฌ๊ธฐ์— ๋งž๋Š” ๊ฒƒ๋ผ๋ฆฌ ํฌ๊ฐœ์–ด ๊ฐ™์€ ์œ„์น˜์˜ ๊ฐ’์„ ๊ณฑํ•˜์—ฌ ๊ฐ๊ฐ ๋”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‘ ์—ฐ์‚ฐ์„ ๋น„๊ตํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

์œ„์™€ ๊ฐ™์ด ๋ชจ๋“  pixel์— ๋Œ€ํ•ด ์ˆ˜ํ–‰ํ•˜์—ฌ ์œ„์™€ ๊ฐ™์ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

 

 

์œ„์™€ ๊ฐ™์ด 1D Gaussian filter๋กœ ์—ฐ์‚ฐํ•˜์˜€์Šต๋‹ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ separability๋ฅผ ํ†ตํ•ด ์—ฐ์‚ฐ ์ธก๋ฉด์—์„œ ์šฐ์œ„๋ฅผ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ ,

 

Filtering vs. Convolution

 

 

2D filtering

 

 

 

2D Convolution

 

 

์ด๋Š” ์‹ ํ˜ธ์—ฐ์‚ฐ์œผ๋กœ ๋ณด์ธ๋‹ค.

 

 

์œ„ ๋‘ ์ˆ˜์‹์˜ ์ฐจ์ด๊ฐ€ ๋‚œ๋‹ค.

 

๋Œ€์นญ์ธก๋ฉด์—์„œ๋งŒ ์ฐจ์ด๋ฅผ ๋ณด์ด๊ณ  ๊ทธ ์™ธ์—๋Š” ์ฐจ์ด๊ฐ€ ์—†๋‹ค.

 

 

 

 

 

 

 

BELATED ARTICLES

more