๊ฐœ์š”

Noh, H., Hong, S., and Han, B. Learning Deconvolution Network for Semantic Segmentation. ICCV, 2015.

์ด๋ฒˆ ๋…ผ๋ฌธ์€ ์•ž์„œ ๋‹ค๋ค˜๋˜ Fully Convolutional Networks์™€ ๊ฐ™์€ ๋…„๋„(2015)์— ๋‹ค๋ฅธ ํ•™ํšŒ(FCN์€ CVPR, ๋ณธ ๋…ผ๋ฌธ์€ ICCV)์— ๋ฐœํ‘œ๋œ ๋…ผ๋ฌธ์ด๋‹ค. FCN์ด๋‚˜ ์ดํ›„์— ๋‹ค๋ฃฐ UNet๋ณด๋‹ค๋Š” ๋‹ค์†Œ ์ธ๊ธฐ๊ฐ€ ์ ์—ˆ์ง€๋งŒ, FCN์ด ๊ฐ€์ง„ ํ•œ๊ณ„๋ฅผ ์ž˜ ์งš์–ด์ฃผ์…จ๋‹ค๋Š” ์ ์—์„œ ์˜์˜๊ฐ€ ์žˆ๋‹ค.

ํ•ต์‹ฌ ์•„์ด๋””์–ด

ํฌ๊ธฐ, ๋””ํ…Œ์ผ์— ์•ฝํ•ด? โ†’ layer ๋ฅผ ์ถ”๊ฐ€ํ•˜์ž. (Upconvolution)

ํฌ๊ธฐ์˜ ๋ฌธ์ œ์ 

์œ„์˜ ์˜ˆ์‹œ๋“ค์ฒ˜๋Ÿผ FCN์˜ ์ถ”๋ก  ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด, ๋Œ€์ƒ ๋ฌผ์ฒด๊ฐ€ ๋„ˆ๋ฌด ํฐ ๊ฒฝ์šฐ(a)์—๋Š” ํŒŒํŽธํ™”๋˜๊ณ , ๋„ˆ๋ฌด ์ž‘์€ ๊ฒฝ์šฐ(b)์—๋Š” ๋ฐฐ๊ฒฝ์œผ๋กœ ๋ฌด์‹œ๋˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค. FCN์—์„œ๋Š” receptive field(์ƒ์œ„ ๋ ˆ์ด์–ด์˜ ํ•œ ์ง€์ ์—์„œ ์ฐธ์กฐํ•˜๋Š” ํ•˜์œ„ ๋ ˆ์ด์–ด์˜ ์˜์—ญ)์˜ ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋˜์–ด, ๋‹จ์ผ ๋ฐฐ์œจ(scale)๋งŒ์„ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด ์ด ๋ฌธ์ œ์˜ ์›์ธ์ด๋ผ๊ณ  ๋ณธ ๋…ผ๋ฌธ์€ ์ง€์ ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๋ ˆ์ด์–ด์˜ ๊ฒฐ๊ณผ๋ฅผ ์กฐํ•ฉํ•˜๋Š” skip ๊ตฌ์กฐ๊ฐ€ ์ด๋Ÿฌํ•œ ํ˜„์ƒ์„ ์™„ํ™”์‹œ์ผœ์ฃผ๊ธฐ๋Š” ํ•˜์ง€๋งŒ, ๊ทผ๋ณธ์ ์ธ ํ•ด๋ฒ•์€ ์•„๋‹ˆ๋ผ๋Š” ์ฃผ์žฅํ•œ๋‹ค.

๋””ํ…Œ์ผ์˜ ๋ฌธ์ œ์ 

FCN์ด ๋น„๋ก ๊ธฐ์กด ๊ธฐ๋ฒ•๋“ค์— ๋น„ํ•ด ํฐ ๋ฐœ์ „์„ ์ด๋ฃจ์—ˆ์ง€๋งŒ, ์„ธ๋ถ€์ ์ธ ์˜์—ญ์„ ์ฐพ์•„๋‚ด๋Š” ๋ฐ์—์„œ๋Š” ์•„์ง ๊ฐœ์„ ์˜ ์—ฌ์ง€๊ฐ€ ์žˆ๋‹ค๊ณ  ์ด ๋…ผ๋ฌธ์€ ๋ณด๊ณ  ์žˆ๋‹ค. FCN์—์„œ๋Š” deconvolution์— ๋“ค์–ด๊ฐ€๋Š” ์ž…๋ ฅ๋ถ€ํ„ฐ ์ด๋ฏธ ์„ธ๋ถ€ ๋ฌ˜์‚ฌ๊ฐ€ ๋–จ์–ด์ง€๊ณ , deconvolution ๊ณผ์ • ์ž์ฒด๋„ ์ถฉ๋ถ„ํžˆ ๊นŠ์ง€ ์•Š๊ณ  ๋„ˆ๋ฌด ๋‹จ์ˆœํ•˜๋‹ค๊ณ  ๋งํ•œ๋‹ค.

๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ์˜ ๋ณ€๊ฒฝ

๋ถ€์กฑํ•˜๋ฉด ๋” ๋„ฃ์œผ๋ฉด ๋œ๋‹ค. FCN์—์„œ๋Š” CNN์˜ ๊ฒฐ๊ณผ๋ฅผ ์ž…๋ ฅ์ด๋ฏธ์ง€์˜ ์›๋ž˜ ์ฐจ์›์œผ๋กœ ํ™•๋Œ€(upsampling)ํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ deconvolution์„ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ, ์ด ๋…ผ๋ฌธ์—์„œ๋Š” deconvolution์‹œ ์ฐจ์›์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, CNN์˜ layer๋งŒํผ ๋ ˆ์ด์–ด ์ˆซ์ž๋ฅผ ๋Š˜๋ ธ๋‹ค. ์ฆ‰, ์™„์ „ํ•œ ๋Œ€์นญ ๋ชจ์–‘์ด๋‹ค.

uppooling

CNN์œผ๋กœ ์ธํ•ด ์›๋ž˜ ์ด๋ฏธ์ง€๋ณด๋‹ค ์ถ•์†Œ๋œ ์ฐจ์› ํฌ๊ธฐ๋Š” uppooling์œผ๋กœ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ unpooling์ด๋ž€ CNN์˜ max pooling ์‹œ์˜ ์œ„์น˜ ์ •๋ณด๋ฅผ ๊ธฐ์–ตํ–ˆ๋‹ค๊ฐ€, ์›๋ž˜ ์œ„์น˜๋กœ ๊ทธ๋Œ€๋กœ ๋ณต์›ํ•ด์ฃผ๋Š” ์ž‘์—…์ด๋‹ค.

uppooling ๊ณผ์ • (aโ†’b)

๊ทธ ํšจ๊ณผ๋Š” ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค. (b)์—์„œ (c)๋กœ ๊ฐˆ ๋•Œ์˜ unpooling์— ์˜ํ•ด, ํ•ด์ƒ๋„๊ฐ€ ์ปค์ง€๋Š” ๋Œ€์‹  ์‹ ํ˜ธ๊ฐ€ ํฉ์–ด์ ธ์„œ ํฌ์†Œ(sparse)ํ•ด์ง„๋‹ค. ์ด๊ฒƒ์„ (c)์—์„œ (d)๋กœ deconvolution์„ ๊ฑฐ์น˜๋ฉด, ๋””ํ…Œ์ผ์„ ์‚ด๋ ค๋‚ด๋ฉด์„œ ์‹ ํ˜ธ๊ฐ€ ๊ณ ๋ฅด๊ฒŒ ๋ฐ€์ง‘(dense)๋œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์ด ๋ฐ˜๋ณต๋˜์ž ๋…ธ์ด์ฆˆ๋„ ์ ์ฐจ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์‚ฌ๋ผ์ง€๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

ํ•™์Šต ๋ฐฉ๋ฒ•

edge-box

๋‹จ์ผ ๋ฐ์ดํ„ฐ์…‹์—์„œ ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ์‚ฌ๋ก€๋“ค์„ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•ด, ๋…ผ๋ฌธ์—์„œ๋Š” edge-box๋ผ๋Š” object proposal ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌด์–ธ๊ฐ€ ์žˆ์„๋งŒํ•œ ์˜์—ญ์„ ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ์ƒ์ž๋กœ ๊ณจ๋ผ๋‚ธ๋‹ค. ํ•™์Šต ์‹œ์—๋Š” ์šฐ์„  ์‹ค์ œ ์ •๋‹ต์ด ๊ฐ€์šด๋ฐ์— ๋“ค์–ด๊ฐ€๋„๋ก ์ž˜๋ผ๋‚ธ(crop) ์ด๋ฏธ์ง€๋“ค๋กœ 1์ฐจ ํ•™์Šต์„, ๊ทธ ๋‹ค์Œ edge-box์˜ ๊ฒฐ๊ณผ๋ฌผ ์ค‘ ์‹ค์ œ ์ •๋‹ต๊ณผ ์ž˜ ๊ฒน์น˜๋Š” ๊ฒƒ๋“ค์„ ํ™œ์šฉํ•˜์—ฌ ์กฐ๊ธˆ ๋” ์‹ฌ๋„์žˆ๋Š” 2์ฐจ ํ•™์Šต์„ ์ง„ํ–‰ํ•œ๋‹ค.

edge-box inference

์ด๋ ‡๊ฒŒ ํ•™์Šต์— ์‚ฌ์šฉ๋œ edge-box๋Š” ์ถ”๋ก  ์‹œ์—๋„ ์‚ฌ์šฉ๋˜๋Š”๋ฐ, ์ถ”๋ก  ์‹œ ์‚ฌ์šฉํ•˜๋Š” object proposal์˜ ์ˆ˜(์ƒ์ž ์ˆ˜)๋ฅผ ์ฆ๊ฐ€์‹œํ‚ฌ ์ˆ˜๋ก ์„ฑ๋Šฅ์€ ์ข‹์•„์ง„๋‹ค๊ณ  ํ•œ๋‹ค. ๋ฌผ๋ก  ๊ทธ๋งŒํผ ๊ณ„์‚ฐ๋Ÿ‰๊ณผ ์‹œ๊ฐ„์€ ๋Š˜์–ด๋‚œ๋‹ค.

๊ฒฐ๊ณผ

result

์ด๋ ‡๊ฒŒ ์„ธ์‹ฌํ•˜๊ฒŒ ์„ค๊ณ„๋˜๊ณ  ํ•™์Šต๋œ ๊ฒฐ๊ณผ๋Š” FCN์ด ์‹ค์ˆ˜ํ•˜๋Š” ๋ฌผ์ฒด๋“ค๋„ ๋ณด๋‹ค ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ž˜ ์ฐพ์•„๋‚ด๋Š” ๋ชจ์Šต์„ ๋ณด์ธ๋‹ค. ๋‹ค๋งŒ FCN์ด ์ž˜ ๋งž์ถ”๋Š” ๊ณณ์—์„œ ์‹ค์ˆ˜๋ฅผ ํ•  ๋•Œ๋„ ์žˆ๋Š”๋ฐ, ๊ฒฐ๊ตญ ๋‘˜์„ ์•™์ƒ๋ธ”ํ•˜์—ฌ conditional random field๋กœ ํ›„์ฒ˜๋ฆฌํ•˜๋ฉด ๋‘ ๊ฐ€์ง€ ๋ชจ๋ธ์„ ๋ชจ๋‘ ๋›ฐ์–ด๋„˜๊ฒŒ ๋˜์–ด, FCN๊ณผ ์ƒํ˜ธ ๋ณด์™„์ ์ธ ๊ด€๊ณ„์— ์žˆ๋‹ค๊ณ  ๋…ผ๋ฌธ์€ ๋งบ๋Š”๋‹ค.

Reference