๐ง๐ปโ๐ป์ฉ์ด ์ ๋ฆฌ
Computer vision
Edge
Detection
Sobel filter
filtering
burring
Edge Detection
Goal : Identify sudden changes (discontinuities) in an image
Edge๋ ์ฝ๊ฒ ๋ณด๋ฉด ๋ณํ๊ฐ ์๋ ๋ถ๋ถ, ๊ฒฝ๊ณ์ ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.

๊ฒฐ๊ตญ, ๋ณํ๊ฐ ์ผ์ด๋๋ ๊ฒฝ๊ณ์ ์ ์ฐพ๋ ๊ฒ์ด์ฃ .

์ด๋ฌํ ๋ถ๋ถ์์๋ ์ฐ๋ฆฌ๊ฐ edges๋ฅผ ์ฐพ์๋ณผ ์ ์์ต๋๋ค.

์์ ๊ฐ์ ์์๋ฅผ ์ดํด๋ด ์๋ค.
ํ Image์ ๋ํด์ ์ฐ๋ฆฌ๋ ๋นจ๊ฐ ์ ์ ๋ฐ๋ผ pixel ๊ฐ์ ๋ํ intensity function์ ๊ทธ๋ฆด ์ ์์ต๋๋ค.
1์ฐจ๋ก ํํํ ๊ฒ์ ๋๋ค.
2์ฐจ๋ก ํ๋ ค๋ฉด 3D๊ฐ ํ์ํ์ฃ .
๊ทธ๋ ๋ค๋ฉด, edges๋ฅผ ์ฐพ๊ธฐ ์ํด์ ๋งจ ์ค๋ฅธ์ชฝ ์ฌ์ง๊ณผ ๊ฐ์ด, ๋ฏธ๋ถ์ ์ทจํด์ ํ๋ ๋ถ๋ถ์ด ์์ต๋๋ค.
์ด๊ฒ์ extrema ํน์ Local maximum ํน์ Local minimum์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
๊ทธ๊ฒ๋ค์ ์ฐพ์ผ๋ฉด ์ด๊ฒ์ด egde๊ตฌ๋๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
์ฆ, egdes correspond to extrema of derivative์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด, 1์ฐจ ๋ฏธ๋ถ์ด edge๋ฅผ ์ฐพ๋ ๋ฐ ์์ด ์ ์ฉํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ์์๋์ต๋๋ค.
๊ทธ๋ผ ์ฐ๋ฆฌ๊ฐ edge๋ฅผ ์ฐพ์๋ผ ์ ์๋ค๊ณ ์๊ฐ์ด ๋ค์ฃ !
๊ทธ๋ฌ๋,
์ฐ๋ฆฌ๋ Image์ ๋ฐ๋ก ๋ฏธ๋ถ์ ์ ์ฉํ ์๋ ์์ต๋๋ค.
๊ทธ๋ฌ๋ฉด ์ด๋ ํ ๋ฐฉ๋ฒ์ด ์์๊น์?
์ผ๋จ ์ฐ๋ฆฌ๊ฐ 1์ฐจ ์ ํธ์์์ ๋ฏธ๋ถ ์์ ๊ฐ์ ํด ๋ด ์๋ค.
x๊ฐ continuous ํ ์ฐ์ํจ์๋ผ๊ณ ์๊ฐํ๊ณ ์์ ์ธ์๋๋ค.
๊ทธ๋ฐ๋ฐ, ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ Image๋ ์ ์ ์์น์์๋ง pixel๊ฐ์ ๊ฐ๋ ๊ฒ์ผ๋ก discrete ํฉ๋๋ค.

๊ทธ๋ฐ๋ฐ, h๋ผ๋ ๊ฒ์ด ๋ฏธ๋ถํ ๋, 0์ผ๋ก, ๊ฐ์ฅ ์ข์ ๋ฒ์ ์์์์ ๋ณํ๋์ ์ธก์ ํ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ฐ๋ฐ, image๋ ๊ฐ์ฅ ๊ฐ๊น์ด Pixel๋ก ์๊ฐํ๋ฉด 1์ด๋ผ๊ณ ๋ณผ ์ ์์ฃ .
๊ทธ๋ ๋ค๋ฉด, ์์ ์๋์ ๊ฐ์ด ๋ฐ๊ฟ ์ ์์ต๋๋ค.

f(x)์ ์ด๋ค filter๋ฅผ ๊ฐ์ง๊ณ filtering์ ํด์ผ ์์ ๊ฐ์ ์์์ด ๋์ฌ๊น ์๊ฐํด ๋ด ๋๋ค.

๊ฐ ์์น์์,
x, x+1์ ์์น์์์ ๊ฐ์ ์ฐ์์ ์ธ ๊ฒ์ด ์๋๋ฏ๋ก ๊ฐ filter์ ๊ฐ๊ณผ ๊ณฑํ๊ธฐ๋ฅผ ํ๋ฉด ์์ ๊ฐ์ต๋๋ค.
๋ฏธ๋ถ ๋์์ด ๋ถ์ฐ์์ ์ด๊ณ , image๋ผ๊ณ ์๊ฐํด ๋ดค์ ๋, h=1์ ๋์ ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํด ๋ณผ ์ ์์ต๋๋ค.
์ ๋ฏธ๋ถ ๊ณผ์ ์ filtering์ผ๋ก ํํ์ ํด๋ณด๋ฉด, f๋ผ๋ ์ ํธ์ ์ด filter ๊ฐ์ง๊ณ Filtering ํ ๊ฒ๊ณผ ๋์ผํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
์์ง Y์ถ์ ์๊ฐํ์ง ๋ชปํ์ง๋ง, ์ filter๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉด ๋ฏธ๋ถ์ ๊ตฌํํ ์ ์๊ฒ ๋ค๊ณ ์๊ฐํด ๋ณผ ์ ์์ต๋๋ค.
์ผ๋จ ์ ๋ฏธ๋ถ์๊ณผ ๋๊ฐ์ด ๋์ค๋๋ก x, x+1, ๊ทธ๋ฆฌ๊ณ filter๋ฅผ ์ค์ ํ์ง๋ง,
๊ฐ์ด๋ฐ๋ฅผ ์ค์ฌ์ผ๋ก ๋์นญ์ด ๋๋ ์ฑํฅ์ ๊ฐ๋๋ก ๋ณํ์ ์์ผ์ผ ํฉ๋๋ค.
๊ทธ ๊ณผ์ ์ ์๋์ ๊ฐ์ต๋๋ค.

์ด ๋ง์ง๋ง ์ค ์๋, f(x)์ ์ด๋ค filter ๊ฐ์ convolution ์ฐ์ฐ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ด x-1, x, x+1๋ก -1, 0, 1์ ์์ผ๋ก ๋ํ๋ผ ์ ์์ต๋๋ค.

์๋๋ 1/2์ด ์๋ ๊ฒ ๋ง์ง๋ง, ๋ณํ๋์ ์ธก์ ํ๊ธฐ ๋๋ฌธ์, 1/2์ด ๊ณฑํด์ ธ๋ local maximun, local minimun์ ์ฐ์๊ด๊ณ๋ ๋ณํํ์ง ์์ต๋๋ค.
๊ฐ์ด๋ฐ ๋์นญ์ ๋ง๋ค๊ธฐ ์ํด ์์ ๊ฐ์ด ์์ ๋ณํํด์ ๋ํ๋์ต๋๋ค.
๊ฒฐ๊ตญ, ์ฃผ๋ณ์ ์ฐจ์ด๋ฅผ ๊ตฌํ๋ค๋ ์ ์ฅ์์๋ ๊ฐ์ต๋๋ค.
๊ทธ๊ฒ์ด ๊ณง ๋ฏธ๋ถ์ด์ฃ .
์ฐ๋ฆฌ๊ฐ ๊ทธ๋์ 1์ฐจ์์์์ filter๋ฅผ ๊ตฌํ๋ ๋ฐ ์ฑ๊ณตํ์ต๋๋ค.
1D derivative filter๋ผ๊ณ ํ์ฃ .
์ด๊ฒ์ image์ ์ ์ฉํ๊ธฐ ์ํด์ 2์ฐจ์ ๊ตฌ์กฐ๋ก ๋ฐ๊ฟ์ฃผ์ด์ผ ํฉ๋๋ค.
Sobel filter
๊ทธ๋ฐ๋ฐ ์ฌ๊ธฐ์ ์ถ๊ฐ๋ก ์กฐํฉํด ์ฃผ๋ filter๊ฐ ์์ต๋๋ค.
์๋์ ๊ฐ์ ์ด ๊ฐ์ค average filter๋ 1/4์ ๊ฐ์ด ๋น ์ ธ์์ต๋๋ค.

๊ทธ๋ฌ๋, ์ฐ๋ฆฌ๊ฐ ์ง๊ธ ์ํ๋ ๊ฒ์ ์ฃผ๋ณ์ ๋นํด ์๋์ ๋๋ฎ์ด๋ฅผ ๋ณด๋ ค๊ณ ํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์, 1/4์ด ์๋ค๊ณ ๋ด๋ ๋ฉ๋๋ค.
์ด ์ถ๊ฐ์ ์ธ filter๋ ๊ทธ์ blur๋ฅผ ์ฃผ๋ bluring filter๋ผ๊ณ ๋ณด๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ฒฐ๊ตญ bluring filter์ ๋ณํ๋ฅผ ์ฃผ๋ 1D derivative filter์ ์กฐํฉ์ผ๋ก sobel filter๋ฅผ ์์ฑํฉ๋๋ค.
์ด bluring filter๋ฅผ ํตํด noise๊ฐ edge๋ก ์๋ชป ๋์ค๊ฒ ๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฐจ๋จํฉ๋๋ค.
์ด๋ฌํ average filter๊ฐ noise๋ฅผ ์ก์์ค๋ค๋ ์ญํ ์ ๊ธฐ์ตํ๊ณ ๋์ด๊ฐ์๋ค.
๊ทธ๋ฐ๋ฐ, filter์ ํฌ๊ธฐ๊ฐ ์ข ๋ ์ปค์ผ bluring ํจ๊ณผ๊ฐ ๋ ๋ฉ๋๋ค.
๊ทผ๋ฐ ์ sobel filter๋ 3 x 3์ size์ด๋ฏ๋ก bluring ํจ๊ณผ๊ฐ ๊ทธ๋ ๊ฒ ํฌ์ง๋ ์์ต๋๋ค.
๊ทธ๋๋ ๋ญ ์๋ ๊ฒ๋ณด๋จ ๋ซ์ต๋๋ค.
์ ๋ฆฌํ์๋ฉด,
Sobel filter๋ 1D derivative filter์์ 3 x 3์ผ๋ก ๋ง๋ค์ด์ฃผ๊ธฐ ์ํด์ ์กฐํฉํ Blurring filter๊ฐ ์๋ค๋ ๊ฒ์ ๋๋ค.
์ด Blurring filter๋ noise์ ๋์ฒํ๊ธฐ ์ํจ์ด์ง๋ง, size ์์ฒด๊ฐ ์๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ๊ฒ ํจ๊ณผ์ ์ผ๋ก ๋์ฒํ์ง๋ ์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ป๊ฒ ์ด sobel filter๊ฐ edge๋ฅผ ์ฐพ์ผ๋ฉฐ, ์ด๋ค ์ข ๋ฅ์ ์ ์ ๋ ๋ฐ์๋๊ฐ ๋์์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋ํ์ ์ผ๋ก ์ํ์ ๊ณผ ์์ง์ ์ ์ค์ ์ผ๋ก ๋ณด๊ฒ ์ต๋๋ค.


์ ์์์ ๋ํด sobel filter๋ฅผ ์์๋ด ์๋ค.
์๋ vertical line case์ ๋๋ค.
์ผ์ชฝ์ ์์๊ฐ ๋ค์ด๊ฐ๊ณ , ์ค๋ฅธ์ชฝ์ ์์๊ฐ ๋ค์ด๊ฐ๋๋ค.
์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ pixel ๊ฐ๋ค์ ์ฐจ์ด๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ค๋ฅธ์ชฝ์ ๊ฐ์ด ๊ฑฐ์ ๋น์ทํ๊ฒ ์ด๋์ ๋ณด์ด๋ฏ๋ก, ๋ฎ์ ๊ฐ์ด ์์๋๊ณ ,
๊ฐ์ด๋ฐ edge๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ณธ ์ ์ sobel filter๋ฅผ ์ ์ฉํด ๋ณธ๋ค๋ฉด, ๋ฐ์ ๋ฐ๋ค๊ฐ ์์, ์ด๋์ด ๋ฐ ์์ ์ ์ฉํ๋,
๊ฒฐ๊ณผ ๊ฐ์ด ์์๊ฐ ๋์ฌ ๊ฒ์ด๋ผ๊ณ ์์ธกํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ ๋๊ฐ๋ง ์๊ฐํ๋ฉด ๋๋ ๊ฒ์ด๋ฏ๋ก,
local maximum, local minimun์ ์ ๋๊ฐ์ด ํฌ๋ฉด ํด์๋ก edge์ผ ํ๋ฅ ์ด ๋๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
๊ฒฐ๊ตญ filter๋ฅผ ์ ์ฉํ๊ณ ์ ๋๊ฐ์ ์์ ๋ค๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค.
๊ทธ๋์ ์ ์์์์ vertical line์์ ๋์ ๊ฐ์ด ๋์ฌ ๊ฒ์ด๋ผ๊ณ ์์๋ฉ๋๋ค.

๊ฒฐ๊ตญ ์์ง์ ์ ์ฐพ์ ์ ์๋ ์ด์ ๋ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ ๊ฐ์ ์ฐจ์ด๋ฅผ ์ด ์ ์๊ธฐ ๋๋ฌธ์ธ ๊ฒ์ ๋๋ค.
๊ทธ๋ฐ ์๋ฏธ์์ x ๋ฐฉํฅ, ์ฆ, ์ํ ๋ฐฉํฅ ๋ณํ๋์ ์ด ์๊ฐ ์๋ filter์ ๋๋ค. ๊ทธ๋์ ์์ง์ ์ ์ฐพ์ ์ ์์ต๋๋ค.
๋ณํ๋๊ณผ ์ ์ ์๋ก ์ง๊ตํ๋ ๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ฆ, x-direction์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ํ์ ๋ ์ธก์ ํ ์ ์๋๋ก y์ถ ๋ฐฉํฅ์ ๋ณํ๋์ ์ธก์ ํ ์ ์๋ filter๋ ์๊ฐํ ์ ์์ต๋๋ค.
๊ทธ๋์ ๊ฐ sobel filter๋ ๋ค์ ๋ ๊ฐ์ง๊ฐ ์กด์ฌํฉ๋๋ค.

vertical line์ ์ฐพ์์ฃผ๋, vertical sobel filter,
horizontal line์ ์ฐพ์์ฃผ๋, horizontal sobel filter.
๋ผ๊ณ ์๊ฐํ๊ณ ๋์ด๊ฐ์๋ค.
์ด ์๋ช ์ ๊ธฐ์ค์ด ๋ชจํธํด์ ์ด ํฌ์คํ ์๋ ์์ ๊ฐ์ด ๋ณด๊ฒ ์ต๋๋ค.
๊ฒฐ๊ตญ, ์ฐ๋ฆฌ๋ 1์ฐจ ๋ฏธ๋ถ์ ์ด์ฉํด์ edge๋ฅผ ์ฐพ๊ธฐ ์ํด์ x ๋ฐฉํฅ ๋ณํ๋, y ๋ฐฉํฅ ๋ณํ๋ ๋ ๋ฐฉํฅ ๋ ๋ค ํ์ํฉ๋๋ค.
์ด ์์๋ฅผ ๋ด ์๋ค.
๋ฐฐ๊ฒฝ์ ๊ฑฐ์ ์ฐจ์ด๊ฐ ์์ผ๋ฏ๋ก 0์ ๊ฐ๊น๊ณ ,
๊ฐ์ด๋ฐ ๊ทธ๋ฆผ์ ์์ง์ , ์ฆ x ๋ฐฉํฅ ๋ณํ๋์ ๋ณธ ๊ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ , ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ ์ํ์ ์ ๋์ ๋ฐ์๊ฐ์ด ๋์ค๋ฏ๋ก y ๋ฐฉํฅ ๋ณํ๋์ ๋ณธ ๊ฒ์ ๋๋ค.

์ด์ ๋ณํ๋์ ๋ณผ ์ ์๋ ๊ฒ์ด sobel filter๋ง ์๋ ๊ฒ์ ์๋๋๋ค.
๋ค์๊ณผ ๊ฐ์ ์ข ๋ฅ๋ ์กด์ฌํฉ๋๋ค.

- prewitt
- prewitt๋ sobel๊ณผ blurring์ ๋ํ ์ฐจ์ด์ ๋๋ค.
- ๊ทธ๋ฐ๋ฐ sobel์ Blurring์ ๋ ๊ฐ์ ์ด ์์ต๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ๊ฐ๊น์ด ๊ฒ์ ๋ ํฐ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํฉ๋๋ค.
- Scharr
- Scharr๋ ๊ฐ๊น์ด ๊ฒ์ ๋ ํฐ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ ๊ฒ์ ๋๋ค.
- ๊ฐ๊น์ด ๊ฒ์ 10/3๋ฐฐ.
- Roberts
- 2 x 2 filter๋ฅผ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค.
'Artificial Intelligence > Computer Vision' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Computer Vision] Canny edge detector (0) | 2023.04.23 |
---|---|
[Computer Vision] Image Gradient (0) | 2023.04.16 |
[Computer Vision] Image upsampling (0) | 2023.04.09 |
[Computer Vision] Image pyramids (0) | 2023.04.05 |
[Computer Vision] Image Filtering - Gaussian filter (0) | 2023.04.02 |