Object Detection ์ YOLO ๊ฐ ์๋ค๋ฉด Segmentation ๋ถ์ผ์์ DeepLab ์ด ์ ๋ง ์ ๋ช ํ ๊ฒ ๊ฐ์ต๋๋ค. ๋ณธ ๋ ผ๋ฌธ์ ECCV 2018 ์ ๋ฐํ๋์ด DeepLabV3+ ๋ฅผ ์ ์ํฉ๋๋ค. Segmentation์์์ ์ค์ํ ์์๋ค์ ๋ฐฐ์ธ ์ ์๊ณ , base ์คํ ์ ์์ง๋ ๋ง์ด ์ฌ์ฉํ๊ธฐ๋ ํ๊ณ ์ ๋ ์ฐ๊ตฌํ๋ฉฐ ์ผ๋ ๋คํธ์ํฌ๋ผ ์ ๋ฆฌํด๋๋ ค ํฉ๋๋ค.
Abstract
Spatial Pyramid pooling module ๋๋ encoder-decoder ๊ตฌ์กฐ๋ semantic segmentation ์์ ์ ์ํด deep neural network์ ์ฌ์ฉ๋ฉ๋๋ค. ์ ์๋ multiple effective FoV ์์ filter ๋๋ pooling ์ผ๋ก ๋ค์ด์ค๋ feature์ multi-scale contextual ์ ๋ณด๋ฅผ ์ธ์ฝ๋ฉํ ์ ์๊ณ , ํ์๋ ๊ณต๊ฐ์ ๋ณด๋ฅผ ์ ์ง์ ์ผ๋ก ๋ณต๊ตฌํ์ฌ ๋ ์ ๋ช ํ ๊ฐ์ฒด ๊ฒฝ๊ณ๋ฅผ ์บก์ฒํ ์ ์๊ฒ ํฉ๋๋ค. ๋ณธ ๋ ผ๋ฌธ์์๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฅ์ ์ ๊ฒฐํฉํ๋ ๊ฒ์ ์ ์ํ๊ณ , ์ ์๋ ๋ชจ๋ธ์ธ DeepLabv3+ ๋ ํนํ ๊ฐ์ฒด ๊ฒจ์๋ฅผ ๋ฐ๋ผ segmentation ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ๊ฐ๋จํ๊ณ ํจ๊ณผ์ ์ธ decoder ๋ชจ๋์ ์ถ๊ฐํ์ฌ DeepLabv3 ๋ฅผ ํ์ฅํฉ๋๋ค. ๋ํ Xception ๋ชจ๋ธ์ ์ถ๊ฐ๋ก ๋ถ์ํ๊ณ Atrous Spatial Pyramid Pooling๊ณผ decoder ๋ชจ๋์ Depth-wise separable convolution์ ์ ์ฉํ์ฌ ๋ ๋น ๋ฅด๊ณ ๊ฐ๋ ฅํ encoder-decoder network๋ฅผ ๋ง๋ญ๋๋ค. ์ ์ํ๋ ๊ตฌ์กฐ๋ PASCAL VOC 2012 ๋ฐ Cityspaces ๋ฐ์ดํฐ์ ์์ SoTA ์ฑ๋ฅ์ ๋ฌ์ฑํฉ๋๋ค.
DeepLab V1 ๋ถํฐ V3+ ๊น์ง Atrous convolution, Atrous Spatial Pyramid Pooling, Depthwise Separable Convolution ๋ฑ์ ์ ์ฉํ๋๋ฐ ํ๋ ํ๋์ฉ ์ ๋ฆฌํ๊ฒ ์ต๋๋ค.
Atrous Convolution
Atrous Convolution์ ํํฐ ๋ด๋ถ์ convolution ์ฐ์ฐ์ ์ฌ์ฉ๋๋ ์์ ์ฌ์ด ๊ฑฐ๋ฆฌ๋ฅผ ๋์ฐ๋ convolution ๋ฐฉ๋ฒ์ ๋๋ค. Kernel size๋ 3x3 ์ผ๋ก ๋์ผํ๋๋ผ๋ ์ ๊ทธ๋ฆผ์ฒ๋ผ rate ๊ฐ 1์ธ ๊ฒฝ์ฐ์๋ ์ผ๋ฐ์ ์ธ convolution์ด๊ณ rate๊ฐ 6์ด ๋๋ฉด ๋นจ๊ฐ์ ํฝ์ ๊ฐ์ ๊ฑฐ๋ฆฌ๊ฐ 6์ด ๋๋ ๊ฒ์ ๋๋ค. ์ฆ rate๊ฐ ์ปค์ง์๋ก convolution filter ๋ด๋ถ์ ๋น๊ณต๊ฐ์ด ์ปค์ง๊ณ ๋ ๋์ ์์ญ์ correltation์ ์ถ์ถํ์ง๋ง ์ธ๋ฐํ ๋ํ ์ผ๋ณด๋จ ํฐ ์์ญ์ ๋ฌํํ correlation์ ์ถ์ถํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค. ์ฆ, Atrous convolution์ ์ฌ์ฉํ๋ฉด trainable parameter ์ ์๋ ์ ์งํ์ฑ receptive field๋ฅผ ํฌ๊ฒ ์ฌ์ฉํ ์ ์๋ ์ฅ์ ์ด ์๊ฒจ segmentation task์์ ์ค์ผ์ผ์ด ํฐ ๊ฐ์ฒด๋ฅผ ๋์ฑ ์ ๊ฒ์ถํ ์ ์๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ฉด์ ๋ํ ์ผํ ์ ๋ณด๋ ์ค์ด๋ ๋ค๋ ๋จ์ ์ด ์๊น๋๋ค.
Atrous Spatial Pyramid Pooling
DeepLabv3+ ๊ตฌ์กฐ๋ Encoder ๋๋จ์์ Decoder๋ก ์ ๋ณด๋ฅผ ๋๊ฒจ์ฃผ๊ธฐ ์ ์ Atrous Spatial Pyramid Pooling (ASPP)๋ฅผ ์ํํ๋๋ฐ, Spatial Pyramid Pooling ์์ Atrous ๋ฐฉ์์ด ์ถ๊ฐ๋ ๊ตฌ์กฐ์ ๋๋ค. Feature map์ ์๋ก ๋ค๋ฅธ rate๋ฅผ ๊ฐ์ง๋ Atrous convolution์ ๋ณ๋ ฌ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์ถ์ถ๋ feature map ๋ค์ 1x1 conv ์ฐ์ฐ์ ์ํํ ๋ค ํฉ์น๋ ๋ฐฉ์์ ๋๋ค.
์ด๋ฌํ ๋ฐฉ์์ ์ด๋ฏธ์ง์์ ์๋ก ๋ค๋ฅธ ์ค์ผ์ผ์ ๊ฐ์ง ๊ฐ์ฒด๋ฅผ ๋์ฑ ์ ๊ฒ์ถํด๋ผ ์ ์๋๋ก ํฉ๋๋ค. Object detection ์ด๋ Segmentation ๋ถ์ผ์์ ์ฌ๋งํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ๋ ์คํ์ผ์ ๋๋ค.
Depthwise Separable Convolution
Depthwise Separable Convolution์ standard convolution์ 2 ๊ฐ์ง ์คํ (Depthwise → Pointwise)์ผ๋ก ๋๋์ด ์ํํ๋ ๋ฐฉ์์ธ๋ฐ, ํ๋ผ๋ฏธํฐ ์๋ฅผ ๋ง์ด ์ค์ผ ์ ์์ด์ ๋คํธ์ํฌ ๊ฒฝ๋ํ๋ฅผ ์ํด ๋ง์ด ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ ๋๋ค.
์๋ฅผ ๋ค์ด, standard convolution ์์๋ 64*32*32(C*H*W)์ channel size๋ฅผ 64→128 ๋ก ์๋ฒ ๋ฉํด์ฃผ๋ 3x3 conv. ๋ฅผ ์ ์ฉํ๋ฉด convolution filter size๋ 3*3*64*128์ด ๋ฉ๋๋ค.
ํ์ง๋ง, Depthwise Separable Convolution ์ conv ์ฐ์ฐ์ ๊ณต๊ฐ์ถ๊ณผ ์ฑ๋์ถ์ผ๋ก ๋๋์ด์ ์งํํ๊ธฐ ๋๋ฌธ์ 3*3*64 + 64*128 ์ด ๋๊ธฐ ๋๋ฌธ์ standard convolution ๋๋น ํ๋ผ๋ฏธํฐ์๊ฐ ๋ง์ด ์ค์ด๋ญ๋๋ค.
์ด๋ฌํ ์ฐ์ฐ ๋ฐฉ๋ฒ์ ๋คํธ์ํฌ๋ฅผ ๋ง์ด ๊ฒฝ๋ํ ์์ผ์ฃผ์ง๋ง, feature map์ spatial ํ ์ ๋ณด์ channel ์ ๋ณด์ correltation์ ํ๋ฒ์ ์ถ์ถํ์ง ์๊ธฐ ๋๋ฌธ์ ์๋ฒ ๋ฉ ์ฑ๋ฅ์ standard convolution ๋ณด๋ค ๋จ์ด์ง๊ฒ ๋ฉ๋๋ค.
์ ์๊ฐ์ผ๋ก๋, ์ด๋ ํ ์ ๋ณด(feature)์ด๋์ง ์ถฉ๋ถํ ์๋ฒ ๋ฉ์ด ๋๋ ์ด๋ค saturation์ด ์์ต๋๋ค. ๊ทผ๋ฐ, ์ฌ์ค ์ด ์๊ณ์ ์ ์ฐพ๋ ๊ฒ์ด ์ฝ์ง ์์ต๋๋ค. ์ถฉ๋ถํ ์๋ฒ ๋ฉ๋ feature๋ ์ถ๊ฐ์ ์ธ conv ์ฐ์ฐ์ ํ๋๋ผ๋ ๋ถํ์ํ ๊ณผ์ ์ผ ์ ์๊ณ ์คํ๋ ค ๋ ธ์ด์ฆ๋ฅผ ๊ฐํ๋ ํํ๊ฐ ๋ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋์ ๋ ์๋ฒ ๋ฉ์ด ๋ feature์ธ ๊ฒฝ์ฐ์๋ Depthwise Separable Convolution ๊ฐ์ ๊ฒฝ๋ํ convolution ๊ตฌ์กฐ๋ฅผ ์ฐ๋ ๊ฒ์ด ํจ์จ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ฌ์ค ์ด๋ฐ ๊ฐ๋ ์ ๋คํธ์ํฌ๋ง ๋ด์ ํด๊ฒฐ๋๋๊ฒ ์๋๊ณ ๋คํธ์ํฌ ๋๋น ํ๋ ค๊ณ ํ๋ task์ ๋ณต์ก๋๋ฅผ ๋ด์ผํ๊ธฐ ๋๋ฌธ์ ๋ฑ ์ด๋ ๋ถ๋ถ์ ๊ฒฝ๋ํ ๋คํธ์ํฌ๊ฐ ํ์ํ๋ค๊ณ ๋ณด๊ธฐ๋ ์ด๋ ต๊ณ ์ฑ๋ฅ๊ณผ ๊ณ์ฐ๋๊ณผ์ trade-off ๋ฅผ ์๊ฐํด์ ๋ฐฐ์นํ๋ ๊ฒ์ด ์ค์ํ ๊ฒ ๊ฐ์ต๋๋ค.
DeepLabv3+
DeepLabv3+ ๊ตฌ์กฐ๋ ์์์ ์ค๋ช ํ Atrous Convolution, Atrous Spatial Pyramid Pooling, Depth-wise Separable Convolution์ Encoder-Decoder ๊ตฌ์กฐ์ ์ ์ฉํ ๊ตฌ์กฐ์ ๋๋ค. ๋ํ ๋ค๋ฅธ segmentation network ์ ์ ์ฌํ๊ฒ encoder layer ์ค๊ฐ ์ค๊ฐ์ feature๋ฅผ decoder ๋จ์ ๋ํด์ฃผ๋ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ High encoding๋ low resolution์ feature์ high resolution ์ ๋ณด๋ฅผ ์ถ๊ฐํ์ฌ boundary ์์ธก ์ฑ๋ฅ์ ๋์ฌ์ฃผ๋ ์ญํ ์ ์ํํฉ๋๋ค. V3์์ decoder ๊ณผ์ ์์ bilinear upsampling ํ ๋ํด์ฃผ๋ ๋ฐฉ์์ ์ฌ์ฉํ์ผ๋, V3+ ์์๋ encoder output feature์ 1x1 conv ๋ก channel ์๋ฅผ ์ค์ด๊ณ concat ํ๋ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค(U-Net ๋ฐฉ์๊ณผ ์ ์ฌ).
๋ํ V3+ ์์๋ Encoder์ ์ฝ๊ฐ ์์ ํ Xception module์ ์ฌ์ฉํ๋๋ฐ ์ด๋ feature map์ ์ฌ๋ฌ size์ conv filter ๋ฅผ ๋ณ๋ ฌ์ ์ผ๋ก ์ ์ฉํ๊ณ ๋ค์ ํฉ์น๋ ๋ฐฉ์์ธ inception module ์ ๊ธฐ์ดํ ๋ฐฉ์์ convolution์ point-wise conv. → depth-wise conv.(Depth-wise saparable conv ๋ฐฉ์์ ๋ฐ๋) ๋ฐฉ์์ ๋์ ํ module์ ๋๋ค. ์ฌ๊ธฐ์ V3+ ๋ ๋ชจ๋ pooling layer๋ฅผ Depth-wise saparable convolution์ผ๋ก ๋์ฒดํ๊ณ BN๊ณผ ReLU๋ฅผ ์ผ๋ถ ์ถ๊ฐํ์ฌ ์ฌ์ฉํ์ต๋๋ค.
Modified Xception์ encoder๋ก ์ฌ์ฉํ ๊ฒฝ์ฐ 2% ๊ฐ๋์ด๋ ์ฑ๋ฅ ํฅ์์ด ์์์ต๋๋ค.
๋ด ์๊ฐ
์ ์ฒด์ ์ผ๋ก ๊ฐ์ฒด์ ๋ค์ํ scale์ robust ํ๊ฒ ์ฑ๋ฅ์ ๋ด๊ธฐ ์ํ ๋ฐฉ๋ฒ๊ณผ ๋ชจ๋ธ์ ๊ฒฝ๋ํํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ์ ์กฐํฉํ์ฌ ์ข์ ์ฑ๋ฅ์ ๋ด๋ ๋คํธ์ํฌ ์ ๋๋ค. Segmentation ์ ์ค์ํ ํฌ์ธํธ๋ค์ ์ ์ง์ด์ฃผ๊ณ ์์ด์ ๋ง์ ๋์์ด ๋๋ ๋ ผ๋ฌธ์ด์์ต๋๋ค.