[Computer Vision] Segmentation
๐ง๐ป๐ป์ฉ์ด ์ ๋ฆฌ
Computer vision
Edge
Segmentation
clustering
semantic segmentation
Otsu's Method
average
variance
moving average
threshold
within-class
between-class
์ด๋ฒ์๋ Segmentation์ผ๋ก ๋ grouping์ ํตํด,
clustering์ ํตํด์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๋ ์๋ฏธ์๊ฒ ๋๋ ์ ์์๊น๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
Segmentation
image์ ๋ํด์ pixel ๋ค์ ๋ญ์น๋ ๊ฒ์ ๋ํด์ clustering ๋ณด๋ค๋ Segmentation์ด๋ผ๋ ๋จ์ด๋ฅผ ๋ง์ด ์๋๋ค.
๋ ๋จ์ด๊ฐ ๋น์ทํ๋ค๊ณ ๋ณด์ ๋ ๋ฉ๋๋ค.
์๋ฏธ๊ฐ ๋ง๋ pixel ๋ผ๋ฆฌ ๊ฐ์ groupํ ํ๋ ๊ฒ๋ ๋ณด์ ๋๋ค.
๊ทธ๋์ group์ ๋น์ทํ ๊ฒ์ ํ๋ ๊ฒ์ธ๋ฐ,
์ด ๋น์ทํ๋ค๋ ๊ฒ์ ๋ชจํธํจ์ด ์์ต๋๋ค.
๊ทธ๋์ ์ ์ผ์ชฝ ์๋ ์ฌ์ง์ฒ๋ผ pixel ๋ง๋ค ์ด๋ค class์ธ๊ฐ๋ฅผ ๋ง์ถ๋ ๊ฒ์ ๋ ๋ช ํํ segmentation์ด ๋๊ฒ ์ต๋๋ค.
์ด์ธ์๋ segmentation์์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ๋ค์ด ์์ต๋๋ค.
- Segmentation method (before deep learning)
- K-meas clustering
- Mean shift
- Normalized-cut
- Graph cut
- Random-walk
- Markov ranodm field (MRF) optimization
๊ฒฐ๊ตญ Deep Learning์ด ๋์ ๋๊ธฐ ์ ์๋ ์ด๋ฌํ image segmentation์ ๋ํ ์ฐ๊ตฌ๊ฐ ์งํ์ด ๋์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ , ์ด๋ป๊ฒ ๋น์ทํ pixel๋ค๋ผ๋ฆฌ ๋ญ์น ๊น, ๋น์ทํ ์๋ฏธ์ pixel๋ค์ ์ด๋ป๊ฒ ๋ญ์น ๊น์ ๋ํ ๊ณ ๋ฏผ์ด ๊ณ์ ๋์์ฃ .
์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์์ง๋ง,
pixel์ ํ๋์ node๋ก ๋ณธ๋ค๋ฉด, 8-neighborhoods์ ๊ฐ์ ๊ฒ์ ๊ฐ๋ ์์๋ edge๋ก ์ฐ๊ฒฐํ๋ ๊ฒ์ด ์์ฃ .
edge์ node๋ง ์์ผ๋ฉด, graph๋ฅผ ๊ทธ๋ฆด ์ ์์ต๋๋ค.
edge๋ฅผ ์ฐ๊ฒฐํ๊ณ edge weight๋ฅผ ํตํด node๋ผ๋ฆฌ ๊ฐ๊น์ด์ง๋ฅผ ์ดํ ์๋ ์์ต๋๋ค.
์ด์ ๊ฐ์ด ๋น์ทํ ๊ฒ๋ผ๋ฆฌ ๋ญ์น๋ ๋ฐฉ๋ฒ๋ ์กด์ฌํ์ต๋๋ค.
๋ณด์ด์๋ ๊ฒ์ฒ๋ผ ๊ฒฐ๊ณผ๊ฐ ๊ทธ๋ ๊ฒ ์ ๋์ค์ง ์์ต๋๋ค.
์์ฆ์ ์ฒซ๋ฒ์งธ ์ฌ์ง๊ณผ ๊ฐ์ด semantic segmentation์ ํตํด ํ์ต ๊ธฐ๋ฐ์ผ๋ก class๋ฅผ ๋ฏธ๋ฆฌ ์ ์ํด๋๊ณ class์ ํด๋น๋๋ ๊ฒ์ ๋ง์ถ๊ฒ ํ๋๋ก ์ ๊ทผํฉ๋๋ค.
์๋๋ฉด ์์ ๊ฐ์ด ์ฌ๋ฌผ ๊ฐ์ฒด ์ธ์, ์๋๋ฉด instance์ ๋ํด์๋ง ๋ถํ ํ ์๋ ์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ์ฐ๋ฆฌ๋ ๊ฐ์ฅ classicํ ๋ฐฉ๋ฒ์ image thresholding์ ๋ํด ๋ฐฐ์๋ณผ ๊ฒ์ ๋๋ค.
์ด์ ๋ณธ๋ก ์ผ๋ก ๋ค์ด๊ฐ ๋ด ์๋ค.
Image thresholding
์ด์ ์๊ฐ์ ์ฐ๋ฆฌ๋ threshold์ ํตํด edge์ด๋ค ์๋๋ค๋ฅผ ๋๋์์ต๋๋ค.
์ด๋ฒ์๋ pixel ๊ฐ์ ๋ณด๊ณ ํ๋จํ๋ ๊ฒ์ ๋๋ค.
๋ฐฐ๊ฒฝ์ background, ์ ๊ฒฝ์ foreground๋ผ๊ณ ๋ณด๋ฉด ์ด ๋ ๊ฐ์ง๋ฅผ ๋ถ๋ฅํ๊ณ ์ถ๋ค๊ณ ํ๋ฉด,
์ ์ฌ์ง๊ณผ ๊ฐ์ด ์ด์ง ๋ถ๋ฅ๋ ๊ฒฐ๊ณผ, ์ฆ binary segmentation์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
์ค๋์ ๋ค์๊ณผ ๊ฐ์ด ์ด์งํํ๊ธฐ ์ข์, ๋ฐฐ๊ฒฝ - ์ ๊ฒฝ์ผ๋ก ๋ถ๋ฅํ๊ธฐ ํธํ ์ด๋ฏธ์ง๋ฅผ ๋ค๋ฃจ๊ฒ ์ต๋๋ค.
์ด threshold๋ฅผ ํตํด, threshold ๋ณด๋ค ํฌ๋ฉด 1, threshold ๋ณด๋ค ์์ผ๋ฉด 0์ผ๋ก ๋ด ๋๋ค.
์ด๋ฌํ single threshold์ ํตํด ์๋์ ๊ฐ์ด ๋ฐํ ๋ฆฌ์๋ฅผ ๋ถ๋ฅํ ์ ์์ต๋๋ค.
์์ ๊ฐ์ด threshold๋ฅผ ์ง์ ์ง์ ํด์ฃผ๋ฉฐ ๊ฒฐ๊ณผ๊ฐ ์ ๋์ค๋์ง๋ฅผ ์ดํด๋ด์ผํฉ๋๋ค.
๊ทธ๋ผ ์ฌ๋์ด ํ๋ํ๋ ๋ฃ์ด์ฃผ์ด์ผํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์๊ฒ ์ฃ .
๊ทธ๋์ ์ฐ๋ฆฌ๋ ์ด threshold๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ, ์์ธกํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋ณด๊ฒ ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ ์์๋ threshold๋ฅผ ํตํด ์ด๋ฏธ์ง ์์์ ๊ฐ๋ ค์ ธ ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ threshold ์์๋ก Double thresholding์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
Canny edge์ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ class๋ฅผ 3๊ฐ๋ก ๋ง๋ค์ด, weak edge๋ ๋๋ค๋ฅธ ํ์ฒ๋ฆฌ๋ฅผ ํตํด ๊ฒฐ์ ํ๋ ๊ทธ๋ฌํ ๊ฒ๋ ํด๋ณผ ์๊ฐ ์์ต๋๋ค.
๋๋ threshold๋ฅผ ๋ ๊ฐ ์ค์ ํ์ฌ ๊ทธ ์ฌ์ด์ ์๋ ๊ฐ๋ง ๋ฝ์์ฌ ์๋ ์๊ฒ ์ฃ .
๊ทธ๋ฌํ ๋ฐฉ๋ฒ์ด ์๋ ๊ฒ์ ์์๋์๋ฉด ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ , threshold๋ฅผ ํตํด์ noise๊ฐ ๋ฐฐ๊ฒฝ์ ๊ปด์๋ ๋ค์๊ณผ ๊ฐ์ Image์ ๋ํด์ ๋ ๋ ค๋ฒ๋ฆฌ๋ ํจ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ๋ ํฉ๋๋ค.
๊ฒฐ๊ตญ threshold๋ ์ด๋ค ๊ธฐ์ค์ ์ธ์์ ํฌ๊ณ ์์ ๊ฒ๋ค์ ๋ถ๋ฅํ๋ ๊ทธ๋ฐ ๊ฒ์ด๋ค ๋ณด๋, noise์ ๋ํด์ threshold ์ด์์ด๋ฉด ์ก์์ผ๋ก ๊ฒฐ๊ณผ์ ๋ํ๋๊ธฐ๋ ํฉ๋๋ค.
threshold๋ฅผ ์ด๋ฏธ์ง์ ๋ํด ๋ฐ๋ก ๊ฑฐ์น๋ฉด, ์ด๋ฌํ ์ก์์ด ๊ทธ๋๋ก ๋์ค๊ฒ ๋ฉ๋๋ค.
๊ทธ๋์, ์ด๋ฌํ ์ก์์ ์์ ๊ธฐ ์ํด smoothing filter๋ฅผ ๊ฑฐ์น ํ ๊ทธ๊ฒ์ threshold๋ฅผ ์ทจํ๋ ๊ฒ์ผ๋ก ์งํํ๋ ๊ฒ์ ๋๋ค.
์ด ๊ณผ์ ์์ ์ ์ฒ๋ฆฌ๋ก์ average filter๋ Gaussian filter๊ฐ ํ์ฉ๋ ์ ์์ต๋๋ค.
๊ทธ๋์ ์ด๋ป๊ฒ threshold๋ฅผ ์์ธกํ ์ ์์๊น์?
๊ทธ๋ ๋ค๋ฉด, ์์ ๊ฐ์ด foreground, background๋ฅผ ๋๋์ด์ ๋ณผ ๋,
threshold๋ฅผ ๋ฎ๊ฒ ์ก์ผ๋ฉด ๋๋ฌด ๋ง์ด ๋ ๋ผ๊ฐ ๋ฒ๋ฆฌ๊ณ , ๋ฐ๋๋ก threshold๋ฅผ ๋๊ฒ ์ก์ผ๋ฉด ๋๋ฌด ๋ง์ด ๋จ์ต๋๋ค.
์ฌ๊ธฐ์ threshold๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ์ ์ฌ๋ฌ ๋ฒ ๋ ํด์ผ ์ข ๋ ๊ด์ฐฎ์ ์ ๋ณด๋ฅผ ์ป์ ์๊ฐ ์๋๋ฐ, ์ด๊ฒ์ ์ง์ ํ๋ ๊ฒ์ ๋ฒ๊ฑฐ๋กญ์ต๋๋ค.
๊ทธ๋์ ์ด threshold๋ฅผ ์ด๋ป๊ฒ ์๋์ผ๋ก ๊ฒฐ์ ํ ์ ์์๊น์?
์๋์ ๊ฐ์ด image์ ๋ํ histogram์ ๋ด ์๋ค.
0 ~ 255์ pixel ๊ฐ์ด image ์์์ ๋ช ๋ฒ ๋ฐ์ํ๋์ง ์นด์ดํธํด์ ๋ณด์ฌ์ค๋๋ค.
y์ถ์ด pixel์ ๊ฐ์๊ฐ ๋ฉ๋๋ค.
๊ทธ๊ฒ์ ์ดํด๋ณด๋, 2๊ฐ๋ก ๋ถ๋ฅํ ์ ์๋ image์ ๋ํด์๋ dominantํ ๋ ๋ถํฌ๊ฐ ๋ณด์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด, ์ด ์ฌ์ด์ ๊ฐ์ ์ ๊ฒฐ์ ํ๋ฉด, ์ด ๋ ๊ฐ์ง๋ฅผ ์ ๊ฒฐ์ ํ ์ ์์ ๊ฒ ๊ฐ์ ๋ณด์ ๋๋ค.
๊ฒฐ๊ตญ, ์ด ๋ histogram์ ์ ๋ถ๋ฆฌํ๋ threshold ๊ฐ์ ์ฐพ๋ ๊ฒ์ ๋๋ค.
๋ค ์ชฝ์ ์๋ ๊ฒ์ด ์ด๋์ด ๊ฐ์ด๋ background์ ํด๋นํ๋ ๊ฐ์ผ ํ ๊ณ , ์ ์ชฝ์ ์๋ ๊ฐ์ด foreground์ ํด๋นํ๋ ๊ฐ์ด๊ฒ ์ฃ .
๊ทธ๋์ ํ๋์ threshold๋ฅผ ์ ๊ณจ๋ผ์ ์ข์ Segmentation ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๊ฒ ๋ค๊ณ ๊ธฐ๋ํ ์ ์์ต๋๋ค.
์ด threshold๋ ํ๋์ pixel ๊ฐ์ด๋, ์ด ๊ฐ์ ์ดํ k๋ผ๊ณ ์นญํ๊ฒ ์ต๋๋ค.
์ด๊ฒ์ k : 0 ~ 255์ ๊ฐ์ ๊ฐ์ง๊ฒ ์ต๋๋ค.
์ด k๋ฅผ 0๋ถํฐ 256๊น์ง์ ๊ฐ์ผ ๋์ ์ฐ์ฐ์ ํตํด ์ต์ ์ k์ ๊ฐ์ ์ฐพ์ต๋๋ค.
๊ทธ๊ฒ์ด ์๋์ผ๋ก k๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๊ทธ๋์, ์ด ๋ histogram์ ๋ํด์ threshold๋ฅผ ๊ณ์ฐํด์ฃผ๋ algorithm์ด ํ์ํฉ๋๋ค.
Otsu's Method
๋ histogrm ๋ถํฌ์ threshold๋ฅผ ์๋์ผ๋ก ๊ฒฐ์ ํด์ฃผ๋ ๊ธฐ๋ฒ์ ๋๋ค.
์๋์ ๊ฐ์ด group์ 2๊ฐ๋ก ๋๋๊ฒ ์ต๋๋ค.
์ด๋ k ๊ฐ์ ์ํด ๋๋์ด์ง group ๋ ๊ฐ์ ๋๋ค.
์ผ์ชฝ group1์ k ๋ณด๋ค ๊ฐ์ด ์์ ๊ฐ๋ค์ด๊ณ ์ค๋ฅธ์ชฝ group2๋ k ๋ณด๋ค ํฐ ๊ฐ๋ค์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ ๋ถ๋ฅํ๋ค๋ ๊ธฐ์ค์ ์ด๋ค ๊ฒ ์์๊น์?
๊ฐ์ group์ธ ๊ฐ๋ค๋ผ๋ฆฌ ๋น์ทํ pixel ๊ฐ๋ค์ ๊ฐ์ ธ์ผ ์ฐ๋ฆฌ๊ฐ ์ groupingํ๋ค๊ณ ๋ณผ ์ ์๊ฒ๋ฉ๋๋ค.
๊ทธ๊ฒ๋ค์ ์ดํด๋ณด๋ ์งํ์๋ ๋ถ์ฐ์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
๋ถ์ฐ ๊ณ์ฐ ์ ํ๊ท ๊ตฌํ๊ณ ๊ฐ ๊ฐ์ ํ๊ท ์ ๋นผ์ ์ ๊ณฑํ์ฌ ๊ตฌํ์์ฃ .
๊ทธ๋ ๋ค๋ฉด ๊ฐ ๊ฐ๋ค์ด ํ๊ท ๊ธฐ์ค์ผ๋ก ๋ชฐ๋ ค ์์ ์๋ก ๋ถ์ฐ ๊ฐ์ด ๋ฎ์ ๊ฒ์ ๋๋ค.
๊ทธ ๊ฐ๋ค ๋ผ๋ฆฌ ๋น์ทํด์ผํ๋ค๋ ๊ฒ์ ๋ณด๋ ค๋ฉด ๋ถ์ฐ์ด ๋ฎ์์ผํ๋ค๋ ๋ป์ ๋๋ค.
intra-class variance
์ด group, ์ฆ class ์์์ ์ด๋ฃจ์ด์ง๋ ๋ถ์ฐ์ within-class ๋๋ intra-class variance๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
์ด๊ฒ์ weighted sum of variances of the two classes์ ๋ฐฉ์์ผ๋ก ๊ตฌํฉ๋๋ค.
์์์ ๊ตฌํ ๋ ๋ถ์ฐ์ ํฉ์ด ์์์ผ ์ฐ๋ฆฌ๊ฐ ์ ์ ํ k ๊ฐ์ ๊ตฌํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
0๋ถํฐ 255๊น์ง k์ ๊ฐ์ ๊ณ์ ๋ฐ๊พธ๋ฉฐ group 1, 2๊ฐ ๊ณ์ ๋ฐ๋๊ณ ๋ถ์ฐ 1, 2๋ ๊ณ์ ๋ฐ๋๋ฉฐ ์ด ๋ถ์ฐ์ ํฉ์ด ์ต์๊ฐ์ ๊ฐ๋ k๋ฅผ ์ ํํ๊ฒ ๋ค๋ ๊ฒ์ ๋๋ค.
์๋ class ์์์ ๋ณธ ๊ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ , ์ ๋๋ group1๊ณผ group2๊ฐ ์ผ๋ง๋ ๋ค๋ฅธ์ง๋ ๋ด์ผํฉ๋๋ค.
inter-class variance
์ด์ ๋ด๋ถ์์ ์ดํผ๊ฒ ์ต๋๋ค.
group1๊ณผ group2 pixel์ ๋ถํฌ๊ฐ ์ผ๋ง๋ ๋ค๋ฅธ๊ฐ๋ฅผ ์ดํด๋ณด์์ผํฉ๋๋ค.
์ด ์๋ก ๋ค๋ฅธ class๊ฐ ๋น๊ต๋ฅผ ํ ๋ bwtween-class, ๋๋ inter-class variance๋ฅผ ๊ตฌํฉ๋๋ค.
์ด ๋ถ์ฐ์ ์ปค์ผํฉ๋๋ค.
๋ถํฌ๊ฐ ๋ค๋ฅธ์ง๋ฅผ ๋ณด๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด๊ฒ์ maximizeํด์ผํ๋ ๊ฒ์ด์ฃ .
๋ ๊ฐ๋ฅผ ๊ฐ์ด ์กฐํฉํ์ฌ ์ฌ์ฉํ๊ธฐ๋ ํ๊ณ , ๋ ์ค ํ๋๋ง ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค.
์, ๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ์๊ฒ image ํ๋๊ฐ ์ฃผ์ด์ง๋ค๊ณ ํ๊ฒ ์ต๋๋ค.
์ด image๋ ํฌ๊ธฐ๊ฐ M x N์ ๋๋ค. pixel์ ๊ฐ์๊ฐ M x N๊ฐ ์๋ ๊ฒ์ด์ฃ
๊ทธ๋ฆฌ๊ณ , pixel ๊ฐ์ด L๊ฐ์ intensity๊ฐ ์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ์ฐ๋ฆฌ๊ฐ ๋ค๋ฃจ๋ image๋ 0 ~ 255์ pixel ๊ฐ์ ๊ฐ์ง๋ฏ๋ก L์ 256์ ๋๋ค.
๊ทธ๋ฌ๋ ์ด๋์์๋ image๊ฐ 8๋นํธ์ธ ๊ฒ์ ์๋๋๋ค. 10๋นํธ 12๋นํธ ์ง๋ฆฌ๊ฐ ์๊ธฐ๋ ํฉ๋๋ค.
๋ค๋ฅธ ๋ฐ์๋ ์ด Otsu's ๋ฐฉ๋ฒ์ด ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ n i๋ pixel ๊ฐ i์ histogram ๊ฐ์ด ๋ฉ๋๋ค.
๊ทธ๋ฐ๋ฐ, ์ด ๊ฐ์ ์ ์ฒด pixel ๊ฐ์๋ก ๋๋ ์ฃผ์ด ํ๋ฅ ๊ฐ์ฒ๋ผ ๋ณด์ด๊ฒ ํฉ๋๋ค.
์ด p i๋ ๊ฐ์ ์์ฒด์ ๊ฐ์ ์๋์ง๋ง n i์ ๋น๋กํฉ๋๋ค.
์ ํํ ๊ฐ์๋ ์๋์ง๋ง ๊ฐ์๋ก ๋ฐ์๋ค์ด๊ณ ๋์ด๊ฐ์๋ค.
์ด ์์ ์ํด ์ ์ด ํฉ์ 1์ด ๋ฉ๋๋ค.
๋ค์ ๋์์ค๋ฉด,
์ด threshold k์ ์ํด class๊ฐ ๋ ๊ฐ๋ก ๋๋ฉ๋๋ค.
์ฌ๊ธฐ์ ํ๋์ ์ฝ์์ด ํ์ํฉ๋๋ค.
k๊ฐ class 1 or class 2์ ์ํ ์ง์ ๋๋ค.
์ฌ๊ธฐ์ class 1์ ๋ฃ๊ฒ ์ต๋๋ค.
์ด๋์ ๋ฃ๋ ์๊ด์ ์์ต๋๋ค.
0 ~ k์ ๊ฐ์ class 1, k+1 ~ L-1 ์ class 2๊ฐ ๋ฉ๋๋ค.
์ฐ์ , class 1์์์ ํ๊ท ๊ณผ ๋ถ์ฐ์ ๊ตฌํ๋ ๊ณผ์ ์ ์ดํด๋ด ์๋ค.
class 1์ ์ํ๋ histogram ๊ฐ๋ค์ ํฉ์ M x N์ ๋๋ ์ค ๊ฒ์ด q 1(k)์ ๋๋ค.
์ฌ๊ธฐ์ ํ๊ท ์ ๊ณ์ฐํด์ค ๊ฒ์ ๋๋ค.
i ์์ฒด๊ฐ pixel ๊ฐ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ p(i)๋ i์ ๋ํ pixel ์ ๊ฐ์๋ก ๋ณด๋ฉด ๋์ฃ .
๊ทธ๊ฒ์ ๋ํด์ ๊ฐ ๊ฐ์์ ๊ฐ ์์์ ๊ณฑ์ ํ์ฌ ๋ค ๋ํด์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ , ์ฌ๊ธฐ์ ๊ฐ์๋ก ๋๋ ์ค๋๋ค.
์ด๋ ๊ฒ ํ๊ท ์ ๊ตฌํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ถ์ฐ๋ ๊ตฌํ๋ฉด ๋ฉ๋๋ค.
๊ฐ๊ฐ์ ํ๊ท ์์ ๋นผ์ ์ ๊ณฑํ ๊ฒ์ ๊ฐ์๋ฅผ ๊ณฑํ๋ ๊ฒ์ ๋๋ค.
๋๋ ๊ฐ ์์์ ์ ๊ณฑ์ ๊ฐ์๋ฅผ ๊ณฑํ๊ณ ํ๊ท ์ ์ ๊ณฑ์ ๋นผ์ฃผ๋ ์๋ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์ฒด ๊ฐ์๋ก ๋๋ ์ค๋๋ค.
๊ทธ๋์ class 2์ ๋ํด์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํ ์ ์๊ฒ ์ต๋๋ค.
๋จ์ง sigma์ ๋ฒ์๋ง ๋ฌ๋ผ์ง๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์ฒด class๋ ๋ฐ๋ก ์ฐ์ฐ ๊ฐ๋ฅํฉ๋๋ค.
m G๋ ์ด๋ฏธ์ง ์ ์ฒด์ ํ๊ท ๊ฐ์ ๋๋ค.
sigma G๋ ์ ์ฒด์ ๋ํ ๋ถ์ฐ๊ฐ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ ์์ ๋ด ์๋ค.
์ ์์ p(i)๋ฅผ ๊ฒฐ๊ตญ ๋ค ๋ํ๋ ๊ฒ์ด๋ 1์ด ๋๊ฒ ์ฃ .
๊ฐ๊ฐ class 1, 2์ ํ๊ท ์ ๊ตฌํ์ ๋ ์ ์ฒด ํ๊ท ์ ๊ตฌํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ์์ ๋๋ค.
์ฌ๊ธฐ์ q1(x) + q2(x) = 1 ์ด๋ฏ๋ก ์๋ต ๋์์ต๋๋ค.
๊ทธ๋์ ์ด์ ์ด๊ฒ๋ค์ ๊ฐ์ง๊ณ inter-class, intra-class๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ค๋ฃจ๊ฒ ์ต๋๋ค.
Optimum Global Thresholding
intra-class๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ ์์์ within-class variance๋ฅผ ๊ตฌํ๋ ์์์ ๋๋ค.
k๋ผ๋ ์ํฉ์์ k๋ฅผ ๋ณ์๋ก์ ๊ณ์ ์๋๋ค.
์ ์์์ class 1๊ณผ class2์ ์ด ๊ฐ์๋ฅผ q1(k), q2(k)๋ก ๋ณด๋ฉด ๋ฉ๋๋ค.
pixel์ ๊ฐ์๊ฐ ๋ง์์ง๋ฉด ๊ฐ์ด ๋น๋กํด์ ์ฌ๋ผ๊ฐ๋ ๊ฒ์ด์ฃ .
์ด๊ฒ์ ์ ๊ณฑํ ๊น์?
์ด ๋๊ฐ๋ฅผ ๋จ์ํ ๋ํ๊ธฐ์๋ ๋ ๊ฐ์ ์ค์๋๊ฐ ๋ค๋ฅผ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์ ๊ธฐ์ค์ 1๋ก ๋๊ณ ๋ณด๋ฉด, ์ ์ ๊ฐ์๋ก ๊ณ์ฐํ ๋ถ์ฐ์ด ๋ง์ ๊ฒ์ผ๋ก ๊ณ์ฐํ ๋ถ์ฐ๋ณด๋ค ์ ๋ขฐ๋๊ฐ ๋ ๋๋ค๊ณ ๋ณด๊ธฐ ์ด๋ ต์ต๋๋ค.
๊ฐ์ด ์ ๋ค๋ณด๋ ๋ง์ผ 5๊ฐ์ ๊ฐ์ด ๋ชจ๋ ๊ฐ๋ค๋ฉด ๋ถ์ฐ์ด 0์ด ๋์ค๊ฒ ๋ฉ๋๋ค.
์ด ๊ฒฝ์ฐ ์ ์ฒด ํฉ์ด ๋ฎ์์ ธ์ ์ด ๋ k๊ฐ ์ ํ๋ ์๋ ์์ต๋๋ค.
์ด ์ ์ ๊ฐ ๊ฐ์ง๊ณ ๊ตฌํ ๋ถ์ฐ์ ์ฝ๊ฐ noiseํ ๋ฐ์ดํฐ์ผ ์ ์๋ ๊ฒ์ ๋๋ค.
๊ฐ์๊ฐ ๋ง์ ๋งํผ ๋ ์ค์๋๋ฅผ ๋๊ฒ ๋ค๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ด weighted sum์ ๋๋ค.
์ด weight๋ ๊ฐ class์ ์ํ๋ pixel๋ค์ ๊ฐ์๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฐ์ค์น์ ํฉ์ด 1์ด ๋์ด ๋ ์ด์์ ์ธ ๋ชจ์์๋ฅผ ์ด๋ฃน๋๋ค.
๊ทธ๋์ ์ด within-class variance๊ฐ ์ต์๊ฐ ๋๋ k๋ฅผ ๊ณ ๋ฅด๋ ๊ฒ์ ๋๋ค.
์ด optimal threshold k๋ฅผ ๊ตฌํ๋ ๊ฒ์ ๋๋ค.
์ด k๋ฅผ 0๋ถํฐ 255๊น์ง ๋ค ๊ตฌํด์ ์ต์๊ฐ ๋๋ k๋ฅผ ๊ตฌํ๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ด within-class ๋ฐฉ์์ ์ด์ฉํด์ k๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ก ๋ค๋ฅธ class ๊ฐ ์ผ๋ง๋ ๋ค๋ฅธ์ง๋ฅผ ๋ถ์ํ๋ ๊ฒ์ด between-class variance์ ๋๋ค.
๋ค๋ฅผ ์๋ก variance๊ฐ ํฝ๋๋ค.
์ด๊ฒ์ ์์ ๋ค๋ฅด๊ฒ ์ต๋ํ๋ฅผ ์์ผ์ผํฉ๋๋ค.
์ด ๋ํ ๋ง์ฐฌ๊ฐ์ง๋ก k๊ฐ 0์ผ ๋๋ถํฐ 255์ผ ๋๊น์ง ์ฐจ๊ทผ์ฐจ๊ทผ ํ๋์ฉ ๋ค ๊ตฌํ๋ฉด ๋ฉ๋๋ค.
์ด์ ๊ทธ ์ด์ผ๊ธฐ๋ฅผ ํด๋ด ์๋ค.
group 1๊ณผ group 2 ์ฌ์ด์ ์ฐจ์ด๋ฅผ ๋ค ๊ตฌํด์ ํ๊ท ์ ๊ตฌํ ์๋ ์๊ฒ ์ฃ ?
๊ทธ๋ฌ๋ ์ด๊ฒ์ ๋ง์ ์๊ฐ๊ณผ ๋น์ฉ์ด ๋ญ๋๋ค.
๊ฐ๋ฅ์ ํ ๋ฐฉ๋ฒ์ด๊ฒ ์ฃ .
์๋๋ฉด ํ๊ท ํ๋์ ๋ค๋ฅธ group๊ณผ์ ์์ ๊ฐ์ ์ฐจ์ด๊ฐ ์ปค์ผํ๋ค๋ก ๋ณผ ์๋ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ , ์ ์ฒด ํ๊ท ๊ณผ ์ m1, m2 ์์ ์ฐจ์ด๊ฐ ์ปค๋ ๋๊ฒ ์ต๋๋ค.
์ด ๋ง์ง๋ง ๋ฐฉ๋ฒ์ด ๊ณ์ฐ์ด ๊ฐ์ฅ ์ ๊ฒ ์ฃ ?
๊ทธ๋์ ์์ ๊ฐ์ด Between-class variance๋ฅผ ๊ตฌํ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋์ ์์ ๊ฐ์ด ์ฐจ์ด๋ฅผ ๊ตฌํ๊ณ ์ ๊ณฑ์ ํตํด ์์๋ก ๋ฐ๊ฟ์ค๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ์๋ก weight๋ฅผ ์ฃผ๊ฒ ๋ฉ๋๋ค.
์ ์์ ์๋์ ๊ฐ์ด ์ ๊ฐํ์ฌ ์ ๋ฆฌํ ์๊ฐ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฆ๋ช ์์ ์์ ๊ฐ์ด ์์ ์ ๊ฐํฉ๋๋ค. (k๋ ๊ณ์ฐ์ ํธ์๋ฅผ ์ํด ์๋ตํ์ต๋๋ค.)
์ฃผ์ ๊น๊ฒ ๋ณผ ๋ถ๋ถ์ ์์ ๊ฐ์ต๋๋ค.
m G ๋์ ์ q1m1 + q2m2๋ฅผ ๋์ ํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋์ ๊ฐ์ด ์ฐ์ฐ ๊ณผ์ ์ ๊ฑฐ์นฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ , q1 + q2๊ฐ 1์ธ ๊ฒ๋ ์ฐ๋ฆฌ๊ฐ ์๊ณ ์์ต๋๋ค.
๊ทธ๋์ ๊ฒฐ๊ณผ์ ์ผ๋ก ์์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์ต๋๋ค.
๊ฒฐ๊ตญ, group 1๊ณผ group 2์ ํ๊ท ์ฌ์ด์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ๊ฒ ๋ฉ๋๋ค.
๋ ๊ฐ๊ฐ ์ผ๋ง๋ ๋ค๋ฅธ์ง๋ฅผ ๊ณ์ฐํ๋ ํธํ ๋ฐฉ๋ฒ์ ๋๋ค.
๊ฒ๋ค๊ฐ ์ฐ์ฐ๋๋ ์ค์ด๋ญ๋๋ค.
๊ทธ๋ฆฌ๊ณ ํ๊ท ๋ง ๋ณด๋ ๊ฒ์ด ์๋, q1 x q2๋ ๊ฐ์ด ๋ณด๋ ๊ฒ์ ๋๋ค.
๋ q1 + q2 = 1์ธ ๊ฒ์ ์๊ณ ์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด max(q1 x q2)๊ฐ ๋๋ ค๋ฉด ์ธ์ ์ผ๊น์?
when q1 = 0.5, q2 = 0.5์ ๋๋ค.
๊ทธ๋์, ๊ฒฐ๊ตญ m1๊ณผ m2์ ์ฐจ์ด๊ฐ ์ปค์ ธ์ผ ํ์ง๋ง, q1๊ณผ q2๊ฐ ๋น์ทํด์ผํ๋ค๋ ๊ฒ์ ๋๋ค.
์ด ๋ ๊ฐ์ด ๋น์ทํด์ผ ๋ ํฐ ๊ฐ์ ๊ฐ์ง๊ฒ ๋๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ๋ ๊ฒฐ๊ตญ ์ฐจ์ด๊ฐ ์ค์ด๋ค์ด์ผํฉ๋๋ค.
์๊น ๋ณธ ๊ฒ์ฒ๋ผ ๊ฐ์๊ฐ ์ด๋์ ๋ ๋น์ทํด์ผ ์ ๋ขฐ๋๊ฐ ์ฌ๋ผ๊ฐ๋ค๋ ๊ฒ์ด ์ด๋ฌํ ์๋ฏธ์ ๋๋ค.
๊ทธ๋์ ๋ ๊ฐ์ง ์๋ฏธ๊ฐ ์์ต๋๋ค.
1. ๋ group ๊ฐ ํ๊ท ์ ์ฐจ์ด๊ฐ ๋ฌ๋ผ์ผํฉ๋๋ค.
2. ๋ group์ ๊ฐ์๊ฐ ๋น์ทํด์ผํฉ๋๋ค.
ํ๊ท ์ฐจ์ด๊ฐ ํฌ์ง ์์ผ๋ฉด, ๊ฐ์๊ฐ ๋น์ทํ ์ํฉ์์ ๋๋ ๊ฒ์ ๋๋ค.
ํน์ ํ๊ท ์ฐจ์ด๊ฐ ํฌ๋ค๊ณ ํ๋ฉด ๊ฐ์๊ฐ ๋ฌ๋ผ๋ ์ ํ์ด ๋ ์๊ฐ ์์ ๊ฒ์ ๋๋ค.
๊ฐ์๊ฐ ๋น์ทํ๋ฉด์ ํ๊ท ์ฐจ์ด๊ฐ ์ ์ ํ ๋๋ ๊ตฌ๊ฐ์ด ์ ํ๋ ์๋ ์์ต๋๋ค.
within-class์ ๋น๊ตํ์ ๋,
์ด between-class๋ ๋ถ์ฐ์ ๊ตฌํ ํ์๊ฐ ์์ต๋๋ค.
๋ถ์ฐ์ ํ๊ท ์ ๊ตฌํ๊ณ ๋ถ์ฐ์ ๊ตฌํฉ๋๋ค.
๊ทธ๋์ ๋ ์ฐ์ฐ๋์์ ์์๋ ๋ชจ์ต์ ๋ณด์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ํ๊ท ์ ๋ ํจ๊ณผ์ ์ผ๋ก ๊ตฌํ ์ ์์ต๋๋ค.
์ฐ์ k ๊ฐ 0์ผ ๋ initial ๊ฐ์ ๊ตฌํฉ๋๋ค.
0์ ์ด๋ค ๊ฐ์๋ฅผ ๊ณฑํด๋ 0์ด๋ฏ๋ก ํ๊ท ์ 0์ ๋๋ค.
์ฌ๊ธฐ์, ์ฐ๋ฆฌ๊ฐ k๊น์ง ๊ตฌํ๋ค๊ณ ํ์ ๋, k+1์ธ ๊ฒฝ์ฐ๋ฅผ ์ด๋ป๊ฒ ๊ณ์ฐํ ์ง ๋ณด๊ฒ ์ต๋๋ค.
์ฐ์ q์ ๊ฐ์ ์์ ๊ฐ์ด ์ฝ๊ฒ ๊ตฌํ ์ ์์ต๋๋ค.
์ด๋ฏธ ๊ตฌํด๋์ ๊ฒ์ ๋ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ m1(k)๋ฅผ ๊ตฌํด๋์ ๊ฒ์ ์๋ก ์ถ๊ฐ๋๋ ๊ฒ๋ง ๋ํด์ฃผ๊ณ ์ด ๊ฐ์๋ก ๋๋์ด์ค๋๋ค.
์ด ๊ฐ์๋ ๋ฌ๋ผ์ง๋ ๊ทธ q1(k+1)๋ ๋ฏธ๋ฆฌ ๊ตฌํด๋์ ๊ฒ์ด์ฃ .
์ด๋ํ๋ฉด์ ํ๊ท ์ ์ผ์ผ์ด ๋ค ๊ตฌํด์ฃผ๋ ๊ฒ์ด ์๋๋ผ ์ด์ ๋จ๊ณ์์ ๊ตฌํํด๋์ ๊ฒ์ ๊ทธ๋๋ก ์ฌ์ฉํ๋ฉด์ ์๋ก ์ถ๊ฐ๋๋ ๊ฒ๋ง ์ฐ๊ฒ ๋ค๋ ๊ฑฐ์ฃ .
์ด๋ฌํ ๊ฒ์ด moving average์ ๋๋ค.
์ง๊ธ k๊น์ง๋ ๋ค ๊ตฌํด์ ธ ์๋ค๋ ๊ฐ์ ์ ๋๋ค.
๊ทธ๋ ๊ฒ q1(k+1)์ m1(k+1)๋ฅผ ๊ตฌํด์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ , ์ด๊ฒ์ ์๋ ์ฒ์๋ถํฐ ๋ค ๋ํ๋ ๊ฒ๋ณด๋ค ์๋ ๊ตฌํด๋์ ๊ฒ์ ํ๋๋ง ๋ํ๋ ๊ฒ์ด ํจ์ฌ ๋น ๋ฅธ ๊ฒ์ด ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ m2(k+1)์ class 2์ ํด๋นํ๋ ๊ฒ์ ๋๋ค.
q2๋ 1 - q1์ผ๋ก ์นํํ์ฌ ๋ฐ๋ก ๊ตฌํ ์ ์์ต๋๋ค.
k+1 ์์๋ ๋ฉ์ด๋ฆฌ๋ ๊ทธ๋๋ก ์ ์ง๋๋๋ฐ, class 1์์๋ ํ๋ ์ถ๊ฐ๋๋ ๊ฒ์ด๊ณ class 2์์๋ ๋นผ์ค์ผํฉ๋๋ค.
์ด k+1๋ฒ์ฌ ์ ๋ค์ class 2์์๋ ๋นผ์ค์ผํ๋ ๊ฒ์ด์ฃ . ์ด ๊ฐ์๋ 1 - q1(k+1)์ด ๋ฉ๋๋ค.
์ด๋ฐ์์ผ๋ก moving average ๋ฐฉ์์ผ๋ก ๊ตฌํ ์ ์๊ณ ,
์ด๊ฒ์ ๋ถ์ฐ์ ๊ตฌํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ within-class ๋ฐฉ์๋ณด๋ค ์๋๊ฐ ๋ ๋น ๋ฆ ๋๋ค.
๊ทธ๋ฆฌ๊ณ between-class ๋ฐฉ์์์๋ ์ด๋ ๊ฒ ๋ฐ๋๋ ์ ๋ค๋ง ๋ํด์ฃผ๊ณ ๋นผ์ฃผ๋ ๊ฒ์ด ๋ ๋น ๋ฅผ ๊ฒ์ ๋๋ค.
์ด otsu ๋ฐฉ์์ผ๋ก image๋ง๋ค ์๋ก ๋ค๋ฅธ threshold๋ฅผ ๋ฝ์์ค ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ฌ๋, ๋ ๊ฐ๋ก ๋๋๊ธฐ ์ฌ์ด ๊ฒ,
๋ ๊ฐ์ ํ์คํ dominantํ distribution์ด ์๋ ์ํฉ์์๋ ์ ๋์ง๋ง,
์ง๊ธ ์์ ์ฒ๋ผ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ์๋,
pixel ๊ฐ ๊ธฐ์ค์ผ๋ก ํ์คํ ๋๋ ์ ธ ์์ง ์์ ๊ฒฝ์ฐ์๋,
Otsu ์จ๋ ์ค๋ฅธ์ชฝ ์ด์์ ๋ค ํ์์์ด ๋์๋ฒ๋ฆฝ๋๋ค.
๋ฐฐ๊ฒฝ ๋ถ๋ถ์ด ์ถฉ๋ถํ ๋ฐ๊ธฐ ๋๋ฌธ์ ๋๋ค.
pixel ๊ฐ์ 3D๋ก ๋ณด์ฌ์ค๋ค๋ฉด,
์ค๋ฅธ์ชฝ๊ณผ ๊ฐ์ด ์ ๋ฐฐ๊ฒฝ๋ ๊ฐ์ด ์ฌ๋ผ๊ฐ๊ฒ ๋๋ค๋ ๊ฒ์ ๋๋ค.
๊ทธ๋์ ์ด๋ ๊ฒ ๊ฒฝ์ฌ๋ฅผ ๊ฐ์ง๊ฒ ๋ณด์ด๊ฒ ๋ฉ๋๋ค.
์ด๋ ๊ฒ ํ๋์ pixel ๊ฐ๋ง ๊ฐ์ง๊ณ ๋, ํ๋์ threshold ๊ฐ ๊ฐ์ง๊ณ ๋ ๋ฐฐ๊ฒฝ์ด ํฌํจ๋ ์๋ฐ์ ์์ต๋๋ค.
์ฆ, ์ด๋ฌํ ๋ฐฐ๊ฒฝ์ ๋ถ๋ฆฌํด๋ผ ์ ์์ต๋๋ค.
๊ทธ๋์ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ฌ๋์ด ์ง์ ๊ด์ฌํ์ฌ image๋ฅผ 4๋ฑ๋ถํ์ฌ ๋ฑ๋ถ๋ง๋ค Otsu๋ฅผ ์ฌ์ฉํ์ฌ, ๊ฐ๊ฐ์ ๊ตฌ๊ฐ์ ๋ํด threshold๋ฅผ ๊ตฌํ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋์ ์ฌ๋์ด ๊ด์ฌํ์ฌ ์กฐ๊ธ ๋ ์ข๊ฒ image๋ฅผ ๋ฝ์๋ผ ์ ์์ต๋๋ค.
2๊ฐ ๋ฐ์ ๋๋์ง ๋ชปํ๋ ํ์ฉ๋ ๋ฉด์์ ์ข ๋จ์ด์ง๋๋ค.
์์ color image์์ ํนํ ์ฝ์ง ์์ต๋๋ค.
ํ๋ฐฑ image์์๋ ์ ํ์ด ์์ต๋๋ค.
'Artificial Intelligence > Computer Vision' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Computer Vision] Objectives - JPEG Algorithm (0) | 2023.05.10 |
---|---|
[Computer Vision] Objectives - Huffman Coding, Run-length Encoding (0) | 2023.05.10 |
[Computer Vision] Binary Image (2) | 2023.04.27 |
[Computer Vision] Canny edge detector (0) | 2023.04.23 |
[Computer Vision] Image Gradient (0) | 2023.04.16 |