๐Ÿฆ„AI/Computer Vision

[Computer Vision/OpenCV] 10. Spatial Filtering & Convolution ๊ฐœ๋…

mingyung 2025. 3. 31. 17:10

์ง€๋‚œ์‹œ๊ฐ„์—๋Š” ์ด๋ฏธ์ง€์˜ ํžˆ์Šคํ† ๊ทธ๋žจ์„ ์ด์šฉํ•ด ํ”ฝ์…€ ๊ฐ’๋“ค์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•๋“ค์„ ์ •๋ฆฌํ–ˆ๋‹ค.

์˜ค๋Š˜๋ถ€ํ„ฐ๋Š” ์ด๋ฏธ์ง€์˜ spatial data๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ์‹๋“ค์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•œ๋‹ค.

 

์ด๋ฏธ์ง€์˜ ๊ณต๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ํ•„ํ„ฐ๋ง ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•œ๋‹ค.
๋”ฐ๋ผ์„œ ๋ณธ๊ฒฉ์ ์ธ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ธฐ ์ „์—, ๋จผ์ € ํ•„ํ„ฐ๋ง์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

 

Spatial Filtering

์˜์ƒ ์ฒ˜๋ฆฌ์—์„œ Spatial filtering์€ ์ด๋ฏธ์ง€์— ํ•„ํ„ฐ์—ฐ์‚ฐ์„ ์ ์šฉํ•ด ์ด๋ฏธ์ง€๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค.

 

ํ•„ํ„ฐ ์—ฐ์‚ฐ์€ ์˜์ƒ์˜ ๊ณต๊ฐ„์˜์—ญ์—์„œ ํŠน์ • ์˜์—ญ ๋‹จ์œ„๋กœ ํ•„ํ„ฐ๋ง ์ปค๋„ ํ•จ์ˆ˜์™€ ํ”ฝ์…€ ๊ฐ’์˜ ๊ณฑ์…ˆ ๋ฐ ํ•ฉ์‚ฐ ์—ฐ์‚ฐ(Dot Product)์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

์ˆ˜์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

์ด ์‹์„ ๊ทธ๋ฆผ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

ํ•„ํ„ฐ ์—ฐ์‚ฐ์„ ์œ„ํ•ด ๋ฏธ๋ฆฌ ์ •์˜ํ•œ ์ปค๋„์„ ๋‹ค๋ฅธ ๋ง๋กœ ๋งˆ์Šคํฌ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

์ด ๋งˆ์Šคํฌ์˜ ์ „์ฒด ํ•ฉ์€ ํ•ญ์ƒ 1์ด ๋˜์–ด์•ผ ํ•œ๋‹ค.

์ˆ˜์‹์—์„œ๋Š” w(s,t)๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์žˆ๋‹ค.

 

๊ธฐ์กด์˜ ์ด๋ฏธ์ง€์—์„œ ํ”ฝ์…€ (i,j)์˜ ๊ฐ’์„ ํ•„ํ„ฐ๋ง ์—ฐ์‚ฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ๋งˆ์Šคํฌ๋ฅผ (i,j)์˜ ์ค‘์•™์— ๋‘๊ณ  ์‹œ์ž‘ํ•œ๋‹ค.

์ด์ œ ๊ฐ ํ”ฝ์…€๊ณผ ๋งˆ์Šคํฌ๊ฐ„์˜ ๊ฒน์นœ ๋ถ€๋ถ„๋“ค ๊ฐ„ ๊ณฑ์…ˆ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ๋‚˜์˜จ ๊ฐ’๋“ค์„ ๋ชจ๋‘ ๋ง์…ˆ์—ฐ์‚ฐํ•œ๋‹ค.

์ฆ‰, Dot Production์„ ํ•œ๋‹ค๋Š” ๊ฒƒ๊ณผ ์™„์ „ํžˆ ๊ฐ™๋‹ค

 

์ด ๊ฒฐ๊ณผ๋กœ ๋‚˜์˜จ ์ƒˆ๋กœ์šด ๊ฐ’์ด ํ”ฝ์…€ (i,j)์˜ ์—ฐ์‚ฐ ์™„๋ฃŒ ํ›„ ํ”ฝ์…€๊ฐ’์ด๋‹ค.

์ด ์—ฐ์‚ฐ์„ ํ•„ํ„ฐ๋ง, ํ•„ํ„ฐ ์—ฐ์‚ฐ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

โ“ ๊ทธ๋Ÿผ ์šฐ๋ฆฌ์—๊ฒŒ ํ•„ํ„ฐ๋ง ์—ฐ์‚ฐ์ด ์™œ ํ•„์š”ํ• ๋ผ?

๋ฐ”๋กœ Spatial Aggregation ๋•Œ๋ฌธ์ด๋‹ค.

์˜์ƒ์ฒ˜๋ฆฌ์—์„œ ํ•œ ์ง€์—ญ์˜ ํŠน์„ฑ์„ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ•ด๋‹น ์ง€์—ญ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๊ทผ์ฒ˜์˜ ๋‹ค๋ฅธ ์ง€์—ญ์˜ ํ”ฝ์…€๊ฐ’๋“ค์„ ํ†ตํ•ฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

 

ํ•„ํ„ฐ๋ง์€ ๋งˆ์Šคํฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ฃผ๋ณ€ ๊ณต๊ฐ„์˜ ์ •๋ณด๋ฅผ ํ†ตํ•ฉํ•ด์„œ local ํŠน์ง•์„ ์ถ”์ถœํ•˜๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ธ”๋Ÿฌ, ์—ฃ์ง€ ๊ฒ€์ถœ, ์ƒคํ”„๋‹ ๋“ฑ์˜ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.

 

Convolution

์ด์ œ ์‹ ํ˜ธ์ฒ˜๋ฆฌ ๊ด€์ ์—์„œ ์ƒ๊ฐํ•ด๋ณด์ž.

 

์šฐ๋ฆฌ๊ฐ€ ์•ž์—์„œ ๋ณธ ํ•„ํ„ฐ๋ง ์—ฐ์‚ฐ์€ ํ•„ํ„ฐ๋ง ์ปค๋„(๋งˆ์Šคํฌ)๊ฐ€ ์™„์ „ํžˆ ๋Œ€์นญ์ผ ๊ฒฝ์šฐ ์ปจ๋ณผ๋ฃจ์…˜ ์—ฐ์‚ฐ๊ณผ ๊ฐ™๋‹ค.

1-D์—์„œ Convolution์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

์‹œ์Šคํ…œ์ด ์–ด๋–ค ์ž…๋ ฅ x๋ฅผ ๋ฐ›์•˜์„ ๋•Œ,

๊ทธ ์‹œ์Šคํ…œ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐ˜์‘ ํŠน์„ฑ, ์ฆ‰ ์ž„ํŽ„์Šค ์‘๋‹ต ํ•จ์ˆ˜ h์— ๋”ฐ๋ผ ์ถœ๋ ฅ ์‹ ํ˜ธ y๊ฐ€ ๋‹ค์Œ์ฒ˜๋Ÿผ ๊ฒฐ์ •๋œ๋‹ค.

(์ฆ‰, x์™€ h๊ฐ€ ์žˆ๋‹ค๋ฉด y๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป)

 

(์‹ ํ˜ธ์ฒ˜๋ฆฌ๋ผ๋Š” ์  ๋นผ๊ณ ๋Š” ํ•„ํ„ฐ๋ง๊ณผ ๋‹ฌ๋ผ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค...)

 

๋‹ค๋งŒ h(n)ํ•จ์ˆ˜๋ฅผ ๋’ค์ง‘์–ด์„œ ์Šฌ๋ผ์ด๋”ฉํ•˜๋ฉฐ ์—ฐ์‚ฐํ•˜๊ณ  ์žˆ๋‹ค. (ํ•„ํ„ฐ๋ง์€ ์ •๋ฐฉํ–ฅ์œผ๋กœ ์—ฐ์‚ฐํ•จ)

๋”ฐ๋ผ์„œ ํ•„ํ„ฐ๋ง์—์„œ ์ปค๋„์ด ๋Œ€์นญ์„ ๊ฒฝ์šฐ, ๋’ค์ง‘์–ด๋„ ์ปจ๋ณผ๋ฃจ์…˜ ์—ฐ์‚ฐ๊ณผ ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค์–ด ๋‚ธ๋‹ค.

 

๋‘ ์—ฐ์‚ฐ์€ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐœ๋…์ด๊ธฐ๋Š” ํ•˜๋‹ค.

Convolution์€ ๋‘ ํ•จ์ˆ˜๋ฅผ ๊ฒฐํ•ฉํ•ด์„œ ์ƒˆ๋กœ์šด ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ์ˆ˜ํ•™์ ์ธ ์—ฐ์‚ฐ์ด๊ณ ,

Filtering์€ ์˜์ƒ์— ํ•„ํ„ฐ์ปค๋„(๋งˆ์Šคํฌ)๋ฅผ ์ ์šฉํ•ด์„œ ์ด๋ฏธ์ง€์˜ ์ง€์—ญ์  ํŠน์„ฑ์„ ์ถ”์ถœํ•˜๊ฑฐ๋‚˜, ์™œ๊ณก์„ ์ œ๊ฑฐํ•˜๋Š”๋ฐ์— ์‚ฌ์šฉ๋œ๋‹ค.

๊ทธ๋Ÿฌ๋‹ˆ ์ปจ๋ณผ๋ฃจ์…˜์ด ํ•„ํ„ฐ๋ง๊ณผ ๊ฐ™๋‹ค๋Š” ๋ง ๋ณด๋‹ค๋Š” ํ•„ํ„ฐ๋ง์„ ์ปจ๋ณผ๋ฃจ์…˜์œผ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค๋Š” ๋ง์ด ๋” ์•Œ๋งž์„๊ฒƒ์ด๋‹ค.