[Computer Vision] Image Restoration - Bilateral Filter(Adaptive Filtering)

2023. 5. 25. 16:13
๐Ÿง‘๐Ÿป‍๐Ÿ’ป์šฉ์–ด ์ •๋ฆฌ

Computer vision
Image Restoration
noise
Gaussian Noise
Bilateral Filter
Weight
Adaptive Filtering
Nonlocal Means

 

 

 

์ด์ „ ์‹œ๊ฐ„์—๋Š” Adaptive filtering ์ค‘์—์„œ๋„ wiener filtering์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

 

์ด๊ฒƒ์€ denoising์ด๋ผ๋Š” ๊ถ๊ทน์ ์ธ ๋ชฉํ‘œ์— ๋งŒ์กฑํ• ๋งŒํ•œ ์„ฑ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ค์ง„ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  salt and pepper noise, gaussian noise ๋“ฑ

 

์ด๊ฒƒ์— ํŠนํ™”๋œ ๋ฐฉ๋ฒ•์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€ denosing method๋ฅผ ์ ์šฉํ•ด์•ผํ•จ์„ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋ง์”€๋“œ๋ฆฌ๊ณ  ๋“ค์–ด๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ƒˆ๋กœ์šด filter์ž…๋‹ˆ๋‹ค.

 

์ด Bilateral Filter๋Š” Gaussian Filter์—์„œ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

Bilateral Filter

 

 

์œ„ ์ˆ˜์‹์€ Gaussian filter ์ˆ˜์‹์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€ ์ต์ˆ™ํ•˜๊ฒŒ ์•Œ๊ณ  ์žˆ๋Š” ์ˆ˜์‹์ด์ฃ ?

 

gaussian filter์™€ average filter๋Š” ๋น„์Šทํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.

 

๋‹ค๋งŒ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๋ฉด filter์˜ ์œ„์น˜์— ๋”ฐ๋ผ weight๊ฐ€ ๋‹ฌ๋ž์Šต๋‹ˆ๋‹ค.

 

Gaussian filter๋Š” ๊ฐ€์šด๋ฐ์ผ์ˆ˜๋ก ๋” ํฐ weight, ๋ฉ€์–ด์งˆ์ˆ˜๋ก ์ž‘์€ weight๊ฐ€ ์ทจํ•ด์กŒ์Šต๋‹ˆ๋‹ค.

 

 

์šฐ๋ฆฌ๊ฐ€ ์•„๋ž˜์™€ ๊ฐ™์ด image์—์„œ ๋”ฐ์˜จ 5 x 5 patch๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  gaussian filter๋กœ filtering์„ ํ–ˆ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค.

 

์ด๊ฒƒ์€ ๊ฐ€์šด๋ฐ ๋ถ€๋ถ„์— ๊ฐ€์žฅ ๋†’์€ ๊ฐ’์˜ ๋น„์ค‘์„ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๊ฒฐ๊ตญ filtering ์ค‘ ๋ฐ”๋€Œ๋Š” ๊ฐ’์€ ๊ฐ€์šด๋ฐ ๊ฐ’์ž…๋‹ˆ๋‹ค.

 

๊ทธ๋ ‡๊ธฐ์— ๊ฐ€์šด๋ฐ ๊ฐ’์„ ๊ฐ€์žฅ ๋งŽ์ด ๋ฐ˜์˜ํ•ด์ฃผ๋Š” ๊ฒƒ์ด์ฃ .

 

 

๊ฒฐ๊ตญ 25๊ฐœ์˜ pixel ๊ฐ’ ์ค‘ ๊ฐ€์žฅ ์ค‘์š”ํ•œ pixel์€ ๊ฐ€์šด๋ฐ pixel์ž…๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๊ฐ€์šด๋ฐ์—์„œ ๋ฉ€์–ด์ง€๋ฉด ๋ฉ€์–ด์งˆ์ˆ˜๋ก ๋‚ฎ์€ weight๋ฅผ ์คฌ์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

๊ทธ๋Ÿฐ๋ฐ, ์ด bilateral filter๋Š” ์œ„์น˜์— ๋Œ€ํ•œ ๊ฒƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ•˜๋‚˜๋ฅผ ๋” ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

์šฐ๋ฆฌ๋Š” ๊ฑฐ๋ฆฌ ๋ง๊ณ ๋„ pixel ๊ฐ’์— ๋Œ€ํ•œ ์ •๋ณด๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ฑฐ๋ฆฌ๋Š” ๋ฉ€์ง€๋งŒ ๋น„์Šทํ•œ pixel ๊ฐ’์„ ๊ฐ€์ง„๋‹ค๋ฉด, ์ด ๋น„์Šทํ•œ pixel ๊ฐ’์„ ๋” ์ž˜ ํ™œ์šฉํ•ด๋ณผ ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ Bilateral filter๋Š” Gaussian filter์ฒ˜๋Ÿผ ์œ„์น˜์— ๋”ฐ๋ฅธ weight๋ฅผ ๋ถ€์—ฌํ•˜์ง€๋งŒ,

 

์ถ”๊ฐ€์ ์œผ๋กœ pixel ๊ฐ’์˜ ์ฐจ์ด์— ๋”ฐ๋ผ weight๋ฅผ ๋” ๋ฐ˜์˜ํ•ด์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๋งŒ์ผ, ๊ฑฐ๋ฆฌ๋Š” ๊ฐ€๊น์ง€๋งŒ pixel ๊ฐ’์˜ ์ฐจ์ด๊ฐ€ ํฌ๋‹ค๋ฉด ๊ทธ๊ฒƒ์„ ๋” ๋‚ฎ์€ weight๋ฅผ ๋ถ€์—ฌํ•  ์ˆ˜๋„ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ์œ„์น˜๋งˆ๋‹ค ๋งค๋ฒˆ ๋‹ค๋ฅธ filter๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ฒ ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

์‹์ด๋ž‘ ๊ฐ™์ด ๋ด…์‹œ๋‹ค.

 

๊ฒฐ๊ตญ,

 

๊ฐ€์šด๋ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœํ•ด์„œ ๊ทธ pixel ๊ฐ’๊ณผ ์–ผ๋งˆ๋‚˜ ์œ ์‚ฌํ•œ๊ฐ€๋ฅผ ๋ณด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

์ขŒํ‘œ๊ฐ€ 2๊ฐœ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

 

๊ฐ€์šด๋ฐ ํ•ด๋‹น๋˜๋Š” ์ขŒํ‘œ์™€ ๋น„๊ต ์œ„์น˜์˜ ์ขŒํ‘œ๋กœ 2๊ฐœ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

 

image์— ๋Œ€ํ•ด์„œ 3 x3 filter ๋ฅผ ๋งŒ๋“ ๋‹ค๊ณ  ํ•˜๋ฉด, (i, j) ์ขŒํ‘œ๋Š” ๊ฐ€์šด๋ฐ ์ง€์ ์˜ pixel ์ขŒํ‘œ์ด๊ณ   (k, l) ์ขŒํ‘œ๋Š” ๋น„๊ตํ•˜๋Š” ์ž„์˜์˜ ์ง€์ ์˜ pixel ์ขŒํ‘œ์ž…๋‹ˆ๋‹ค.

 

์ด ๋‘ ์ขŒํ‘œ๊ฐ„์˜ ์ฐจ์ด์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•˜๋Š” weight๋ฅผ ๋‹ค๋ฅด๊ฒŒ ํ•˜๊ฒ ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

์ˆ˜์‹์—์„œ i - k์˜ ์ œ๊ณฑ์€ x์ขŒํ‘œ ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , j - l์˜ ์ œ๊ณฑ์€ y์ขŒํ‘œ ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ๋‚˜ํƒ€๋‚ด์–ด, ๊ฐ€์šด๋ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์–ผ๋งˆ๋‚˜ ๋–จ์–ด์กŒ๋Š”์ง€๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  exp.๊ฐ€ ์ง€๊ธˆ 2๊ฐœ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์™ผ์ชฝ์€ ๊ฐ€์šด๋ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์–ผ๋งˆ๋‚˜ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ์žˆ๋Š”์ง€๋กœ Gaussian๊ณผ ๋˜‘๊ฐ™์Šต๋‹ˆ๋‹ค.

 

๋งŽ์ด ๋–จ์–ด์ ธ์žˆ๋‹ค๋ฉด, ์ฐจ์ด๊ฐ€ ์ปค์ง€๊ณ , ๊ทธ๋ ‡๋‹ค๋ฉด exp.์˜ ํฌ๊ธฐ๋Š” ์ž‘์•„์ง‘๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ๊ฐ€๊นŒ์šธ์ˆ˜๋ก weight๊ฐ€ ์ปค์ง€๊ณ , ๋ฉ€์ˆ˜๋ก weight๊ฐ€ ์ž‘์•„์ง‘๋‹ˆ๋‹ค.

 

 

๊ทธ๋ฆฌ๊ณ  ์šฐ์ธก exp.๋Š” pixel ๊ฐ’ ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

 

๋ณด์ด๋Š” ์ˆ˜์‹๊ณผ ๊ฐ™์ด pixel ๊ฐ’ ์ฐจ์ด์˜ ์ œ๊ณฑ์œผ๋กœ ์ˆ˜์‹์ด ์ด๋ฃจ์–ด์ ธ์žˆ์Šต๋‹ˆ๋‹ค.

 

pixel ๊ฐ’์ด ๋น„์Šทํ•˜๋‹ค๋ฉด ๋” ๋†’์€ ๊ฐ€์ค‘์น˜๋ฅผ, pixel ๊ฐ’์ด ๋‹ค๋ฅด๋‹ค๋ฉด ๋” ๋‚ฎ์€ ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

 

์ฐจ์ด๊ฐ€ ํฌ๋ฉด exp. ๊ฐ’์ด ์ž‘์•„์ง€๋ฏ€๋กœ weight๊ฐ€ ์ž‘์•„์ง€๊ณ , ์ฐจ์ด๊ฐ€ ์ž‘์œผ๋ฉด exp. ๊ฐ’์ด ์ปค์ง€๋ฏ€๋กœ weight๊ฐ€ ์ปค์ง‘๋‹ˆ๋‹ค.

 

 

๊ทธ๋ž˜์„œ ์™ผ์ชฝ exp.๋Š” ๊ฑฐ๋ฆฌ๋ฅผ ๋ฐ˜์˜ํ•œ weight, ๊ทธ๋ฆฌ๊ณ  ๊ณฑํ•˜๊ธฐ ์˜ค๋ฅธ์ชฝ exp.๋Š” pixel ๊ฐ’ ์ฐจ์ด๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” weight๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€๊น๋‹ค๋ฉด weight๊ฐ€ ๋†’์•„์งˆ ํ…๋ฐ, pixel ๊ฐ’ ์ฐจ์ด๊ฐ€ ๋งŽ์ด ๋‚œ๋‹ค๋ฉด weight๊ฐ€ 0์— ๊ฐ€๊นŒ์›Œ์งˆ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํ˜น์€ ์กฐ๊ธˆ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ ์žˆ๋”๋ผ๋„ pixel ๊ฐ’ ์ฐจ์ด๊ฐ€ 1์— ๊ฐ€๊น๋‹ค๋ฉด weight๊ฐ€ ๋ฉ€์–ด๋„ ๋†’์•„์งˆ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

๊ทธ๋ ‡๋‹ค๋ฉด,

 

3 x 3์˜ filter๋ฅผ ์ฑ„์šฐ๋Š” ๊ฒƒ์„ ํ•ด๋ด…์‹œ๋‹ค.

 

bilateral filter๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

3 x 3์— ๋Œ€ํ•ด์„œ ํ•˜๋‹ˆ 9๊ฐœ ์œ„์น˜์— ๋Œ€ํ•œ filter๋ฅผ ๋‹ค ์ฑ„์›Œ์•ผํ•ฉ๋‹ˆ๋‹ค.

 

๊ฐ€์šด๋ฐ ๋จผ์ € ํ•ด๋ณด๋ฉด,

 

๋ณธ์ธ๊ณผ ๋ณธ์ธ๊ณผ์˜ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ k ์ž๋ฆฌ์— i, l ์ž๋ฆฌ์— j๊ฐ€ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ 1 / N ๋งŒ ๋‚จ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ, ์—ฌ๊ธฐ์„œ ์‹์„ ๋ชจ๋‘ ์•ˆ ์“ฐ๊ณ  N๋งŒ ๋‚จ๊ธด ์ด์œ ๋Š” ๋ณ„๋กœ ์ค‘์š”ํ•œ ๊ฐ’์ด ์•„๋‹ˆ๋ผ์„œ์ž…๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  k, l์— ๋Œ€ํ•ด์„œ๋„ ํ•ด๋ณด๋ฉด,

 

k์— i + 1, l์€ j + 1 ์˜ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ์ด ์‹์„ ๋Œ€์ž…ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

 

๊ทธ๋ž˜์„œ ์ด๋ ‡๊ฒŒ filter๋กœ ์“ธ ๊ฐ’์„ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ์ด 3 x 3 image patch์™€ bilateral filter 3 x 3 ๊ฐ„์˜ filter, ์ฆ‰ convolution์„ ํ•ด์ฃผ๋ฉด ๊ฐ’ ํ•˜๋‚˜๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๊ทธ ๊ฐ’์„ ๊ฐ€์šด๋ฐ ๊ฐ’์— ๋„ฃ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

์ด๊ฒƒ์€ ์›๋ž˜ filtering๊ณผ ๊ฐ™์ฃ .

 

๊ทธ๋Ÿฐ๋ฐ, ์ค‘์š”ํ•œ ๊ฒƒ์€ pixel ์œ„์น˜๋งˆ๋‹ค ์‚ฌ์šฉํ•˜๋Š” filter๊ฐ€ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

 

๊ฑฐ๋ฆฌ๋งŒ ๋”ฐ์ง€๋Š” ๊ฒƒ์ด ์•„๋‹Œ, pixel ๊ฐ’ ์ฐจ์ด๋ฅผ ๋”ฐ์ง€๊ฒŒ ๋˜์–ด i , j ์ธ ๊ฐ€์šด๋ฐ pixel ์— ๋Œ€ํ•ด ๋‹ค๋ฅธ ์ž„์˜์˜ ๊ฐ’์— ๋”ฐ๋ผ ์ˆ˜์‹์˜ output์ด ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์ด์ฃ .

 

 

bilateral filter๊ฐ€ ๋ณด์ž…๋‹ˆ๋‹ค.

 

์œ„ bilateral filter๋Š” patch์— ๋”ฐ๋ผ ๋ฐ”๋€Œ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

bilateral filter ๋ฅผ ๊ตฌํ•  ๋•Œ ๊ฐ€์šด๋ฐ ์œ„์น˜ํ•œ pixel ๊ฐ’๊ณผ ๋น„์Šทํ•œ ๊ฐ’์„ ๊ฐ€์ง€๋Š” uniformํ•œ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ๊ฑฐ์˜ 0๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ gaussian filter์™€ ๊ฑฐ์˜ ์œ ์‚ฌํ•˜๊ฒŒ ์ขŒํ‘œ ๊ฐ’์œผ๋กœ๋งŒ ๊ฐ€์ค‘์น˜๋ฅผ ์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ uniformํ•œ ๋ถ€๋ถ„์€ noise ์—†์•จ ๋•Œ gaussian filter๋‚˜ average filter๋„ noise๋ฅผ ์ž˜ ์—†์•จ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

๊ทธ๋Ÿฐ๋ฐ, edge๊ฐ€ ์žˆ๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„  ๊ทธ๋ƒฅ gaussian filter๋‚˜ average filter๋ฅผ ํ•˜๋ฉด ์†์ƒ์ด ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ํ–ˆ์ฃ .

 

์ง€๊ธˆ ๋ณด๋ฉด, ๊ฐ€์šด๋ฐ ๋ถ€๋ถ„์ด ๋ฐ์€ pixel ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

 

์ด bilateral filter๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์˜ค๋ฅธ์ชฝ์ฒ˜๋Ÿผ ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๊ฐ€์šด๋ฐ๊ฐ€ ๋ฐ์€ ๋ถ€๋ถ„์ด๋‹ค๋ณด๋‹ˆ, ๋ฐ์€ ๋ถ€๋ถ„๋ผ๋ฆฌ๋Š” ๊ฑฐ๋ฆฌ์— ๋Œ€ํ•œ weight๋งŒ ์ ์šฉ๋˜๊ณ  pixel ๊ฐ’์— ๋Œ€ํ•œ weight๋Š” gaussian filter์™€ ์ฐจ์ด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฅธ์ชฝ์˜ ์–ด๋‘์šด ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ๊ฐ€์šด๋ฐ pixel ๊ฐ’ ๊ธฐ์ค€์œผ๋กœ pixel ๊ฐ’ ์ฐจ์ด๊ฐ€ ๋งŽ์ด ๋‚ฉ๋‹ˆ๋‹ค.

 

์ด pixel ๊ฐ’์— ๋Œ€ํ•œ ๊ฐ€์ค‘์น˜๊ฐ€ ์—„์ฒญ๋‚˜๊ฒŒ ์ปค์ง€๋ฉฐ,

 

exp. ๊ฐ’์ด ์ž‘์•„์ง€๊ฒŒ ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ๊ฐ’์ด ๊ฑฐ์˜ 0์— ๊ฐ€๊น๊ฒŒ ๋œ ๊ฒƒ์ด์ฃ .

 

๊ทธ๋ž˜์„œ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€๊นŒ์›Œ๋„ pixel ๊ฐ’ ์ฐจ์ด๊ฐ€ ๋งŽ์ด ๋‚˜๊ฒŒ ๋˜๋ฉด ๊ทธ weight์— ์˜ํ•ด ๊ฐ’์ด ๋งŽ์ด ๋ฐ”๋€” ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ patch ์ƒ์—์„œ ์™ผ์ชฝ์ด ๋ฐ๊ณ  ์˜ค๋ฅธ์ชฝ์ด ์–ด๋‘ก๋‹ค๊ณ  ํ•˜๋ฉด, ์–ด๋‘์šด ๋ถ€๋ถ„์ด ๋ฐ์€ ๋ถ€๋ถ„์— ์•ˆ ์„ž์ด๊ณ  ๋ฌด์‹œ๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ๋ฟŒ์˜‡๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด ์ข€ ๋œํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ ‡๊ฒŒ noise๋ฅผ ์ž˜ ์ง€์šฐ๋ฉด์„œ edge๋Š” ์‚ด๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์–ด๋– ํ•œ ์ฐจ์ด๋ฅผ ์ˆ˜์‹์— ์ถ”๊ฐ€ํ•˜์—ฌ ๊ฐ€์ค‘์น˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์ž๊ธฐ๋งŒ์˜ filter๋ฅผ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

๊ฒฐ๊ตญ pixel๊ฐ’ ์ฐจ์ด์™€ ์ขŒํ‘œ ๊ฑฐ๋ฆฌ ์ฐจ์ด๋ฅผ ์ด์šฉํ•œ ๊ฒƒ์ด Bilateral filter์ž…๋‹ˆ๋‹ค.

 

 

Nonlocal Means (NLM) Filtering

 

์šฐ๋ฆฌ๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ filtering์„ ํ•˜๋Š” ๋ฐ ์žˆ์–ด Localํ•œ ๋ถ€๋ถ„์„ ๋ฝ‘์•„๋‚ด์–ด,

 

noise๋ฅผ ๋ชจ์„ ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

 

denoising์„ ์œ„ํ•ด์„œ๋Š” noise๋‘˜์„ ๋งŽ์ด ๋ชจ์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

 

patch ํฌ๊ธฐ๋ฅผ ํ‚ค์šฐ๋ฉด ๋งŽ์ด ๋ชจ์„ ์ˆ˜ ์žˆ์ง€๋งŒ blur๊ฐ€ ์‹ฌํ•ด์ง€๋Š” ๋‹จ์ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์ง€์—ญ์ ์œผ๋กœ ๊ณ„์†ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ์žˆ์–ด์„œ ๋ชจ์„ ์ˆ˜ ์žˆ๋Š” noise์˜ ๊ฐœ์ˆ˜๊ฐ€ ํ•œ์ •๋˜์–ด ์žˆ์ฃ .

 

 

์ด์ œ localํ•˜๊ฒŒ ํ•˜์ง€ ์•Š๊ณ ,

 

noise๊ฐ€ ์žˆ๋˜ image๋“ค์„ ๋ชจ์•„ ํ‰๊ท ํ•ด๋ณด๋ฉด,

๋Š˜๋ฆฌ๋ฉด ๋Š˜๋ฆด์ˆ˜๋ก ๋” ์ง€์›Œ์ง€๋Š” ๊ทธ๋Ÿฐ ํšจ๊ณผ๊ฐ€ ๋‚ฉ๋‹ˆ๋‹ค.

 

 

๋Š˜๋ฆฌ๋ฉด ๋Š˜๋ฆด์ˆ˜๋ก noise๋ฅผ ์ž˜ ์ง€์šธ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ Gaussian noise์˜ ํŠน์„ฑ์ž…๋‹ˆ๋‹ค.

 

์ด๊ฒƒ์„ ์—ฌ๊ธฐ์„œ localํ•˜๊ฒŒ ๋ณด๋Š” ๊ฒƒ์—์„œ ๋ฒ—์–ด๋‚˜,

 

ํ•˜๋‚˜์˜ patch ์•ˆ์—์„œ๋งŒ ๋ณผ ํ•„์š”๋Š” ์—†๋‹ค๋Š” ๊ฒƒ์ด์ฃ .

 

 

์œ„ ๊ทธ๋ฆผ์—์„œ patch๋ผ๋ฆฌ ๋น„์Šทํ•œ ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด ์œ„ ๋น„์Šทํ•œ 3๊ฐœ๋ฅผ ๋‹ค ์“ฐ๋ฉด, ํ•˜๋‚˜๋งŒ ์ผ์„ ๋•Œ๋ณด๋‹ค noise๋ฅผ ๋ชจ์„ ์ˆ˜ ์žˆ๋Š” ์–‘์ด 3๋ฐฐ๊ฐ€ ๋˜์ฃ .

 

๋น„์Šทํ•˜๋‹ˆ ์„ž์–ด์„œ ํ–ˆ์„ ๋•Œ ์ด์ƒํ•œ ๊ฐ’์ด ๋‚˜์˜ฌ ํ™•๋ฅ ์ด ์ ์Šต๋‹ˆ๋‹ค.

 

 

๋น„์Šทํ•œ ๊ฒƒ๋“ค ๋ผ๋ฆฌ ๋ชจ์œผ๊ณ  ์ž˜ ์„ž์–ด์ค€๋‹ค๋ฉด, ์šฐ๋ฆฌ๊ฐ€ noise๋ฅผ ๋งŽ์ด ๋ชจ์œผ๋ฉฐ,

 

์›๋ž˜ ์žˆ๋˜ pixel ๊ฐ’์„ ๋งŽ์ด ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

 

image๊ฐ€ ์›Œ๋‚™ ํฌ๊ณ  localํ•˜๊ฒŒ ๋ณด๋ฉด image ์ „์ฒด์ ์œผ๋กœ ๋ณด๋ฉด image ์ „์ฒด์ ์œผ๋กœ๋Š” ๋งŽ์ด ์žˆ์„ ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ ์ „์ฒด์ ์œผ๋กœ ๋น„์Šทํ•œ ์• ๋“ค์„ ์ž˜ ์ฐพ์•„์„œ ๋ชจ์•„์„œ ํ‰๊ท ์„ ์ž˜ ๋‚ด์ค€๋‹ค๋ฉด, ๋ชจ์œผ๋Š” noise์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ช‡ ๋ฐฐ๋กœ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์ฃ .

 

์ „์ฒด์—์„œ ๋น„์Šทํ•œ ๊ฒƒ๋“ค์„ ์ฐพ์•„์„œ ํ•˜๊ฒ ๋‹ค๋Š” ๊ฒƒ์ด์ฃ .

 

๊ทธ๋Ÿฐ๋ฐ ์œ„ ์˜ˆ์ œ ๋ง๊ณ  ๋‹ค๋ฅธ ๊ทธ๋ฆผ์—์„œ ๋ด…์‹œ๋‹ค.

 

์œ„์™€ ๊ฐ™์ด ํ•ญ์ƒ ๊ฐ™์€ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

 

์œ„์™€ ๊ฐ™์€ ๊ฒฝ์šฐ๋„ ์žˆ๊ธฐ์— ๋‹จ์ˆœํ•œ ํ‰๊ท ์„ ํ•˜๋Š” ๊ฒƒ์€ ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๊ฐ’์— ๋Œ€ํ•ด์„œ ๋ฐฐ์ œํ•˜์—ฌ ํ‰๊ท ์„ ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ด์ง‘๋‹ˆ๋‹ค.

 

์œ„ x ๋ถ€๋ถ„์— ๋Œ€ํ•œ noise๋ฅผ ์—†์• ๊ณ  ์‹ถ๋‹ค๊ณ  ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๋น„์Šทํ•œ ๊ฒƒ์„ ์ฐพ๋Š” ๊ณผ์ •์„ ์ƒ๋žตํ•˜๊ณ , ์ฐพ์•˜๋‹ค๊ณ  ํ•  ๋•Œ,

 

u1, u2, u3๊ฐ€ ๋ฝ‘ํ˜”๋‹ค๋ฉด, (์‹ค์ œ๋ก  ์ด๋ ‡๊ฒŒ ์•ˆ ๋ฝ‘ํž ๊ฒƒ์ž„) u1, u2๊ฐ€ x์™€ ๋น„์Šทํ•˜์ฃ .

 

๊ทธ๋Ÿฐ๋ฐ u3์™€๋Š” ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ x๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ u1 + u2 + u3๋ฅผ 3์œผ๋กœ ๋‚˜๋ˆ„์–ด ํ‰๊ท ์„ ๋‚ด์ฃผ๋ฉด, u3 ๋•Œ๋ฌธ์— ๊ฐ’์ด ์ด์ƒํ•˜๊ฒŒ ๋‚˜์˜ค๋Š” ์†์ƒ์ด ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ weight๋ฅผ ์ž˜ ๊ณ„์‚ฐํ•ด์„œ ๊ณฑํ•ด์ฃผ๊ฒ ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

 

์œ„ ์ˆ˜์‹์œผ๋กœ ๋ณด๋ฉด, w3๋ฅผ ์ž‘๊ฒŒ ํ•ด์ฃผ์–ด์•ผ๊ฒ ์ฃ .

 

๋น„์Šทํ•˜๊ณ  ๋‹ค๋ฅธ ์ •๋„๋ฅผ weight๋ฅผ ํ†ตํ•ด ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋น„์Šทํ•˜๊ณ  ๋‹ค๋ฆ„์˜ ์ •๋„๋ฅผ ์œ„ ๊ทธ๋ฆผ์œผ๋กœ ๋ด…๋‹ˆ๋‹ค.

 

๋นจ๊ฐ„์ƒ‰์„ u1, u2, u3 ์ค‘ ํ•˜๋‚˜, ๋…น์ƒ‰์„ x๋ผ๊ณ  ๋ด…๋‹ˆ๋‹ค.

 

๋‘˜์ด ์–ผ๋งˆ๋‚˜ ๋น„์Šทํ•œ์ง€ ๋ณด๊ธฐ ์œ„ํ•ด ์ฐจ์ด๋ฅผ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ๋‘˜์€ ๊ฐ™์€ ํฌ๊ธฐ์˜ patch์ด์ฃ .

 

๊ทธ๋ฆฌ๊ณ , ๋™์ผํ•œ ์œ„์น˜ ๋ผ๋ฆฌ ๋นผ๊ณ ,25๊ฐœ์˜ ์ฐจ์ด๊ฐ€ ์ƒ๊น๋‹ˆ๋‹ค.

 

๋‘ ๊ฐœ์˜ ์ฐจ์ด๋ฅผ ์ œ๊ณฑํ•˜๊ณ  ์–ผ๋งˆ๋‚˜ ๋‹ค๋ฅธ์ง€ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•ฉ๋‹ˆ๋‹ค.

 

(.-๋Š” ๋™์ผํ•œ ์œ„์น˜๋ผ๋ฆฌ ๋นผ์ค€๋‹ค๋Š” ์ฝ”๋“œ์ƒ์˜ ์šฉ์–ด์ž…๋‹ˆ๋‹ค. ์ˆ˜ํ•™์  ๊ธฐํ˜ธ๋Š” ์•„๋‹™๋‹ˆ๋‹ค.)

 

๊ทธ๋ž˜์„œ ๊ฐ๊ฐ์ด ์–ผ๋งˆ๋‚˜ ๋‹ค๋ฅธ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด distance d๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

์ด๊ฒƒ์€ pixel ๊ฐ’์˜ distance์ž…๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ์œ„ ๊ทธ๋ฆผ์—์„œ u1, u2์™€ x๋Š” d๊ฐ€ ๋‚ฎ๊ฒŒ ๋‚˜์˜ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ u3์™€ x๋Š” d๊ฐ€ ๋†’๊ฒŒ ๋‚˜์˜ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

 

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๊ฐ€ ์ด ๊ฑฐ๋ฆฌ๋ฅผ ์œ ์‚ฌ๋„๋กœ ๋ฐ”๊ฟ”์ค„ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ฑฐ๋ฆฌ๊ฐ€ ๋ฉ€๋ฉด ์œ ์‚ฌ๋„๊ฐ€ ๋‚ฎ๊ณ , ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€๊นŒ์šฐ๋ฉด ์œ ์‚ฌ๋„๊ฐ€ ๋†’์ฃ .

 

๋‘˜์€ ์„œ๋กœ ๋ฐ˜๋น„๋ก€ ๊ด€๊ณ„์ž…๋‹ˆ๋‹ค.

 

๊ทธ๊ฒƒ์„ ์œ„์™€ ๊ฐ™์ด exp. ์— ๋„ฃ์–ด d๋ฅผ ์Œ์ˆ˜๋กœ ์ฒ˜๋ฆฌํ•ด์ฃผ๋ฉด ์œ„ ์‹์€ ์œ ์‚ฌ๋„๋ฅผ ์˜๋ฏธํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ weight๋ฅผ ๊ตฌํ•˜๋ฉด w1, w2, w3๋ฅผ ๋‹ค ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

์ด ๊ฑฐ๋ฆฌ๋ฅผ ์œ ์‚ฌ๋„๋กœ ๋ฐ”๊ฟ€ weight๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ X๋ฅผ ๊ตฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๋ถ„๋ชจ๋„ w1 + w2 + w3๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ด์•ผ๊ฒ ์ฃ . ๊ทธ๋ž˜์•ผ ๋ฐ๊ธฐ ๋ณ€ํ™”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

 

weight ํ•ฉ์„ 1๋กœ ๋งž์ถฐ์ฃผ์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ๊ณ„์† ๊ธฐ์–ตํ•ด์ฃผ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

 

 

 

์›๋ž˜๋Š” x ๊ธฐ์ค€์œผ๋กœ ๋น„์Šทํ•œ ์• ๋“ค์„ ์ฐพ์•„์„œ ๋” ๋งŽ์€ ๊ฒƒ๋“ค๊ณผ ๋น„๊ต๋ฅผ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ๋“ค์„ sortingํ•˜์—ฌ ์ถ”๋ ค์•ผ๊ฒ ์ฃ .

 

์ฆ‰, ๊ทธ๊ฒƒ ์ค‘์— ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์† ์žฌ๋ฉด์„œ ๋น„์Šทํ•œ ์• ๋“ค์„ samplingํ•˜์—ฌ ์ถ”๋ ค์˜ต๋‹ˆ๋‹ค.

 

๊ทธ ์•ˆ์—์„œ๋„ ์„œ๋กœ ์–ผ๋งˆ๋‚˜ ๋น„์Šทํ•œ์ง€ ์ถ”๋ ค์˜ต๋‹ˆ๋‹ค.

 

BELATED ARTICLES

more