Semantic Segmentation : Introduction
์ด ๊ธ์ ์๋น ๋ถ๋ถ์, ์๋ฒ ์ด ๋ ผ๋ฌธ์ธ Minaee, S., Boykov, Y., Porikli, F., Plaza, A., Kehtarnavaz, N., & Terzopoulos, D. (2020). Image Segmentation Using Deep Learning: A Survey. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1โ22. https://doi.org/10.1109/TPAMI.2021.3059968 ์ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค.
๋ฌธ์ ์๊ฐ
Semantic Segmentation์ด๋, Computer Vision ๋ถ์ผ์ ๋ํ์ ์ธ task์ค ํ๋๋ก, ๊ฐ๋จํ ์์ฝํ์๋ฉด
์ด๋ฏธ์ง๊ฐ ์ฃผ์ด์ก์ ๋, ๊ทธ ์ด๋ฏธ์ง๋ฅผ ํฝ์ ๋จ์๋ก ์ด๋ค ๋์์ธ์ง ๋ฅผ ๋ถ๋ฅํด๋ด๋ ๋ฌธ์ ์ ๋๋ค.
์ถ์ฒ : Stanford cs231n slides
์ด ์ฌ์ง์ ๋ํ์ ์ธ ๋ค ๊ฐ์ง์ task๋ฅผ ๋น๊ตํ ๊ฒ์ธ๋ฐ, ๊ต์ฅํ ์ง๊ด์ ์ผ๋ก ๋ฌด์จ ์๋ฏธ์ธ์ง ์ ์ ์์ต๋๋ค.
ํ์ฉ
Semantic segmentation์ ๋ฑ ๋๋์๋ ๋งค์ฐ ์ ์ฉํ ๊ฒ ๊ฐ์๋ฐ, ๋ํ์ ์ธ ํ์ฉ์ฒ ๋ช๊ฐ๋ฅผ ์๊ฐํด๋ณด๋ฉดโฆ
- ์์จ ์ฃผํ : ์์จ์ฃผํ์์ ์ง๊ธ ๋์์ ๋ณด์ด๋ ๊ฒ์ด ๋๋ก์ธ์ง, ํ๋ฐ๋ฅ์ธ์ง, ๋ฌผ์ ๋ฉ์ด์ธ์ง๋ฅผ ํ๋จํ๋ ์์ ์ ๊ต์ฅํ ์ค์ํฉ๋๋ค.
- ์๋ฃ ์ด๋ฏธ์ง : CT ์ฌ์ง์์, ๊ฐ ๊ณ ํ์ฅ๊ธฐ๋ฅผ ๋ถ๋ฅํ๋ค๊ฑฐ๋, ์ ์์กฐ์ง๊ณผ ๋น์ ์์กฐ์ง์ ๊ตฌ๋ถํ๋ ์์ ๋ ๊ฒฐ๊ตญ์ segmentation์ ๊ธฐ๋ฐํฉ๋๋ค.
๊ฐ์
์ฌ๊ธฐ์๋ ์ ๋ง ๋๋ต์ ์ธ ์์ด๋์ด๋ฅผ ํ์ค๋ก ์ ๋ฆฌํ๊ณ , ๊ฐ๋ณ ๋คํธ์ํฌ ๊ตฌ์กฐ์ ๋ํ ํฌ์คํ ์ ํตํด ์ ์ฒด ๋ด์ฉ์ ๋ถ์ฌ๋๊ฐ๋ ค๊ณ ํฉ๋๋ค.
์ด ์ด๋ฏธ์ง๊ฐ ๊ฐ์ธ์ง, ๊ณ ์์ด์ธ์ง๋ฅผ ํ๋จํ๋ Classification์ ๊ฒฝ์ฐ, ํต์์ ์ผ๋ก convolutional neural network (CNN) ์ ๊ธฐ๋ฐํ ๋ฐฉ๋ฒ๋ค์ ์ฌ์ฉํฉ๋๋ค. ์ฌ์ง ์ ์ฒด์ ์ ๋ณด๋ฅผ ์ธ์ฝ๋ฉํ $3 \times W \times H$ ํ ์๋ฅผ ๊ฐ์ง๊ณ ์์ํด์, Convolution layer๋ฅผ ๊ฑฐ์น๋ฉด์ ์ ๋ณด๋ค์ ์ถ์ถํ๊ณ , ๋ง์ง๋ง์ fully connected layer๋ฅผ ๋ถ์ฌ์ ์ค์ ๋ก ํด๋์ค๋ฅผ ๊ตฌ๋ถํด๋ด๋ ์์ผ๋ก ์งํํ๊ฒ ๋๋ ๊ฒ์ ๋๋ค.
์ด ๋ฐฉ๋ฒ์ semantic segmentation๊ฐ์ ๋ฌธ์ ์์ ์ ์ฉํ๊ธฐ ์ด๋ ค์ด ์ด์ ๋, ๋ง์ง๋ง fully connected layer๊ฐ ๊ธฐํ์ ์ธ ์์น์ ๋ณด๋ฅผ ๋ค ๋ ๋ ค๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฆ, โ๊ณ ์์ด๊ฐโ ์๋ค๋ ์ ๋ณด๋ ์ด๋ป๊ฒ ๋ถ๋ฅํด๋ณผ ์ ์์์ง๋ผ๋, ๊ณ ์์ด๊ฐ โ์ด๋์โ ์๋์ง์ ๋ํด์๋ ์ ํ ์ ์๊ฐ ์๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ fully connected layer๋ฅผ ์ธ ์ ์์ต๋๋ค.
์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ๋์จ ์์ด๋์ด๋ก, ๋ง์ง๋ง ์ ๋ณด๋ฅผ Fully connected๋ก ์ฒ๋ฆฌํ๋ ๋์ $1 \times 1$ Convolution์ ์ฐ๋ ๋ฐฉ๋ฒ์ ์๊ฐํด ๋ณผ ์ ์์ต๋๋ค. Convolution์ ์์น์ ๋ณด๋ฅผ ์ด๋์ ๋ ๋ณด์กดํ ์ ์๋ค๋ ์ ์์ ์ฐฉ์ํ ์์ด๋์ด์ธ๋ฐ, ์ด๋ 2016๋ ์ Fully Convolutional Network (FCN) ์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ฐํ๋์์ต๋๋ค. ์ฌ๊ธฐ์ ์ถ๊ฐ๋ก Conditional Random Field, Markov Random Field ๋ฑ์ ๋ชจ๋ธ๋ค์ ์ ์ฉํ๋ฉด ๋ ๋์ ์ ํ๋๋ฅผ ์ป์ ์ ์๋ค๊ณ ํฉ๋๋ค.
CNN์์๋ Convolution๊ณผ ํจ๊ป Pooling์ ๋ฐ๋ณตํ๊ธฐ ๋๋ฌธ์, ๊ฐ์๋ก feature map์ ํฌ๊ธฐ๊ฐ ์ค์ด๋ค๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ฐ๋ฆฌ๋ ๊ฐ ํฝ์ ๋จ์๋ก ์ด๋ค ํด๋์ค์ธ์ง๋ฅผ ์ฐพ์๋ด๋ ๊ฒ์ด ๋ชฉํ์ด๊ธฐ ๋๋ฌธ์, ๋ค์ feature map์ ํฌ๊ธฐ๋ฅผ ์๋ณธ ์ด๋ฏธ์ง ํฌ๊ธฐ๋งํผ ํค์์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด ๋ค์ํ ๋ฐฉ๋ฒ๋ค์ด ์๋๋ฐ, FCN์์๋ skip connection / upsampling ์ด๋ผ๊ณ ํด์, ๋คํธ์ํฌ๋ฅผ ํ๊ณ ํ๋ฅด๋ ์ค๊ฐ์ ์ ๋ณด๋ฅผ ๋ฝ์๋ค๊ฐ ์ต์ข ์ ๋ณด์ ํจ๊ป ์ฌ์ฉํ๋ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค.
CNN์์ ์ฌ์ฉํ๋ ๊ฐ๋ ์ค, feature map์ ํฌ๊ธฐ๋ฅผ ๊ฑฐ๊พธ๋ก ๋๋ฆฌ๊ฒ ๋๋ deconvolution์ด๋ผ๋ ์ฐ์ฐ์ด ์์ต๋๋ค (convolution์ ๊ณ์ฐ์ ์ธ inverse์ด๊ธด ํ๋ฐ, ์ ํํ inverse๋ ์๋๋๋ค. transposed convolution์ด ์ข๋ ์ ํํ ๋ง์ธ๋ฐ, ์ด ๋ถ๋ถ๋ ๋์ค์ ๋ค๋ฃจ๊ฒ ์ต๋๋ค). CNN์ ํ๊ณ feature map์ ๊ฐ์๊ฐ ์ค์ด๋ค์๋ค๋ ๊ฒ์ด ๋ฌธ์ ๊ฐ ๋๋ค๋ฉด, ๋ค์ deconvolution์ ๊ทธ๋งํผ ๊ฑฐ๊พธ๋ก ๋๋ ค์ feature map์ ๋์ด์ผ์ฃผ๋ฉด ๋์ง ์์๊น์? ์ด๋ฅผ Encoder-Decoder ํํ์ ๊ตฌ์กฐ๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, U-Net ์ ํ๋๋ก (์ด ์ด๋ฆ์, ๋ง๊ทธ๋๋ก convolution๊ณผ deconvolution์ U์ํ์ผ๋ก ์์์ ๋ถ์ฌ์ง ์ด๋ฆ์ ๋๋ค) ์ฌ๋ฌ ๋ชจ๋ธ๋ค์ด ์ฑ๊ณต์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ์์ต๋๋ค.
Convolution์์ pooling์ ํตํด ์ ๋ณด๋ฅผ ์๋ค๊ฐ ๋ค์ ์ด๊ฑธ ๋ง๋ค์ด์ฃผ๋ ๊ฒ ๋์ , ์ฒ์๋ถํฐ feature map์ ํฌ๊ธฐ๋ฅผ ์ค์ด์ง ์์ผ๋ฉด ์ด๋จ๊น์? ๊ทธ๋ ๋ค๊ณ pooling์ ์์ ํ์ง ์์ ์๋ ์๋๋ฐ, ํํฐ์ ํฌ๊ธฐ๊ฐ ํฌ๋ฉด ์ฐ์ฐ์ด ๋๋ฌด ๋ง์์ง๋ ๋ฐ๋ค๊ฐ learning capacity๊ฐ ๋๋ฌด ์ปค์ง๋ ํ์๋ค์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๋ฐ ๋ฌธ์ ๋ฅผ ์ด๋์ ๋ ํด๊ฒฐํ๋ Dilated convolution์ Convolution์ ํ ๋๋ถํฐ ์ ๋นํ ํํฐ์ ์ ๋ก ํจ๋ฉ์ ๋ถ์ฌ์ค์ผ๋ก์จ, ๊ณต๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ์์ง ์๊ณ feature map์ ํฌ๊ธฐ๋ฅผ ์ ์งํด ์ค๋๋ค. ์ด ์ฐ์ฐ์ ์ด์ฉํ์ฌ (์๋์ upsampling๊ณผ ํจ๊ป ์ฐ๊ธด ํฉ๋๋ค) Dilated Convolutional Model ๋ค์ด ๊ฐ๋ฐ๋์๋๋ฐ, ๋ํ์ ์ผ๋ก Google์ DeepLab ๋ฅผ ์์๋ก ๋ค ์ ์์ต๋๋ค.
์ฐ์ ์ FCN, U-Net, DeepLab์ ํ๋๋ก ์ ๋ฆฌ๋ฅผ ์์ํด ๋ณด๋ ค๊ณ ํฉ๋๋ค.