[CV] Mask R-CNN & U-Net

โ€ขPaperReview

2021๋…„ ๋จธ์‹ ๋Ÿฌ๋‹ ์Šคํ„ฐ๋””์—์„œ ์ง„ํ–‰ํ•˜์˜€๋˜ 'Mask R-CNN & U-Net' ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ๋ฅผ ์žฌ๊ตฌ์„ฑํ•œ ํฌ์ŠคํŒ…์ž„์„ ๋ฏธ๋ฆฌ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

introduction

์ปดํ“จํ„ฐ ๋น„์ „(Computer Vision, CV) ๋ถ„์•ผ์˜ ์ฃผ์š” ๊ณผ์ œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ 3๊ฐ€์ง€๋กœ ๋‚˜๋‰˜์–ด์ง‘๋‹ˆ๋‹ค.

  1. Classification
  2. Object Detection
  3. Image Segmentation

์ด์ „ ํฌ์ŠคํŒ…๊นŒ์ง€ ๋‹ค๋ฃจ์—ˆ๋˜ Faster R-CNN๊นŒ์ง€๋Š” ์ด์ค‘ 2-stage์— ๊ธฐ์ดˆํ•œ Classification์˜ ๋‹ค์Œ ๋‹จ๊ณ„์ธ, (ํŠนํžˆ) 2๋ฒˆ์งธ ๋‹จ๊ณ„์ธ Object Detection์„ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ๋ชจ๋ธ๋“ค์ด์—ˆ์Šต๋‹ˆ๋‹ค.
Mask R-CNN์€ 3๋ฒˆ์งธ ๋‹จ๊ณ„์ธ Image Segmentation์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ๋ชจ๋ธ ์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ Segmentation์ด ๋ฌด์–ผ ์˜๋ฏธํ• ๊นŒ ๊ฐœ์ธ์ ์œผ๋กœ ๊ถ๊ธˆํ•ด์„œ ์šฐ์„ ์ ์œผ๋กœ ์‚ฌ์ „์  ์˜๋ฏธ๋ฅผ ์ฐพ์•„๋ดค์Šต๋‹ˆ๋‹ค. ์‚ฌ์ „์  ์˜๋ฏธ๋กœ '๋ถ„ํ• ', '๋ถ„ํ• ๋œ ๋ถ€๋ถ„'์ด๋ผ๋Š” ๋œป์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๋ง ๊ทธ๋Œ€๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋ถ„ํ• ํ•ด์„œ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค๊ณ  ๋ฏธ๋ฆฌ ์˜ˆ์ƒ์„ ํ•ด๋ณด๊ณ  ๋‚ด์šฉ์œผ๋กœ ๋“ค์–ด๊ฐ€ ๋ณด์•˜์Šต๋‹ˆ๋‹ค.
3

Mask R-CNN

๊ธฐ์กด R-CNN ๋ชจ๋ธ๋“ค๊ณผ์˜ ์ฐจ์ด์ 

Mask R-CNN์€ Faster R-CNN๊ณผ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š์€ ๊ตฌ์กฐ๋กœ, ๊ทธ ์ฐจ์ด์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๊ธฐ์กด Faster R-CNN์€ ์ด์ „ ํฌ์ŠคํŒ…์—์„œ ์„ค๋ช…ํ–ˆ๋“ฏ์ด Fast R-CNN์— RPN(Region Proposal Network) ๋ฅผ ์ถ”๊ฐ€ํ•œ ๊ตฌ์กฐ๋กœ ์ฒซ ๋ฒˆ์งธ ์‹๊ณผ ๊ฐ™๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ Mask R-CNN์ด Faster R-CNN์œผ๋กœ๋ถ€ํ„ฐ ๋‹ฌ๋ผ์ง„ ์ ์„ ๋‘ ๋ฒˆ์งธ ์‹๊ณผ ๊ฐ™์ด ๋„์‹ํ™” ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
4

  1. Fast R-CNN์˜ Classification, localization(Bounding Box Regression) Branch์— ์ƒˆ๋กญ๊ฒŒ mask branch๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  2. RPN์ „์— FPN(Feature Pyramid Network)๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  3. Image Segmentation์˜ masking์„ ์œ„ํ•ด RoI align์ด RoI Pooling์„ ๋Œ€์‹ ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์œ„ 3๊ฐ€์ง€๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ์— ์•ž์„œ Mask R-CNN์˜ ๊ตฌ์กฐ๋ฅผ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
5

Mask R-CNN์˜ ๊ตฌ์กฐ

Nร—NN \times N ์‚ฌ์ด์ฆˆ์˜ input image๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, Mask R-CNN์˜ Process๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋ณธ ์Šฌ๋ผ์ด๋“œ๋ฅผ ํ†ตํ•ด ์ „์ฒด์ ์ธ ๋งฅ๋ฝ๊ณผ ํ๋ฆ„, ๊ณผ์ •์„ ํŒŒ์•…ํ•˜๊ณ  ๋’ค์ชฝ์—์„œ step-by-step์œผ๋กœ ์„ธ๋ถ„ํ™”ํ•˜์—ฌ ์„ค๋ช…ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
6
7

Mask R-CNN: Resize Input Image

Mask R-CNN์—์„œ๋Š” backbone์œผ๋กœ ResNet-101์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ResNet ๋„คํŠธ์›Œํฌ์—์„œ๋Š” ์ด๋ฏธ์ง€ input size๊ฐ€ 800 ~ 1,024์ผ ๋•Œ ์„ฑ๋Šฅ์ด ์ข‹๋‹ค๊ณ  ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
(VGG๋Š” 224 * 224๋กœ, ์ด๋•Œ VGG๋Š” ์˜ฅ์Šคํผ๋“œ ์—ฐ๊ตฌํŒ€ VGG์—์„œ ๋งŒ๋“  VGGNet์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.)
๋”ฐ๋ผ์„œ ์ด๋ฏธ์ง€๋ฅผ 800 ~ 1,024์ •๋„์˜ size๋กœ ๋งž์ถฐ์ฃผ๋Š”๋ฐ, ์ด๋•Œ bilinear interpolation์„ ์‚ฌ์šฉํ•˜์—ฌ resize ํ•ด์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ณผ์ •์„ ๋‹ค์‹œ ์„ค๋ช…ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • 2ร—22 \times 2์˜ ์ด๋ฏธ์ง€๋ฅผ ์™ผ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด 4ร—44 \times 4๋กœ upsampling ํ•œ๋‹ค๋ฉด 2ร—22 \times 2์— ์žˆ๋˜ pixel value๊ฐ€ ๊ฐ๊ฐ P1,P2,P3,P4P_1, P_2, P_3, P_4๋กœ ๋Œ€์‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • ์ด๋•Œ ์ด 16๊ฐœ ์ค‘ 4๊ฐœ์˜ pixel๋งŒ ๊ฐ’์ด ๋Œ€์‘๋˜๊ณ  ๋‚˜๋จธ์ง€ 12๊ฐœ๋Š” ๊ฐ’์ด ์•„์ง ์ฑ„์›Œ์ง€์ง€ ์•Š๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฅผ bilinear interpolation์œผ๋กœ ๊ฐ’์„ ์ฑ„์›Œ์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • ์ด๋ ‡๊ฒŒ ๊ธฐ์กด์˜ image๋ฅผ 800 ~ 1,024 ์‚ฌ์ด๋กœ resizeํ•ด์ค€ ํ›„ ๋„คํŠธ์›Œํฌ์˜ input size์ธ 1,024ร—1,0241,024 \times 1,024๋กœ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ๋‚˜๋จธ์ง€ ๊ฐ’๋“ค์€ zero padding์œผ๋กœ ๊ฐ’์„ ์ฑ„์›Œ ์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Bilinear interpolation์€ ์—ฌ๋Ÿฌ interpolation ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ ๋™์ž‘ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ผ๋ฐ˜์ ์œผ๋กœ ๋‘ ์ง€์  p1,p2p_1, p_2์—์„œ์˜ ๋ฐ์ดํ„ฐ ๊ฐ’์ด ๊ฐ๊ฐ f(p1),f(p2)f(p_1), f(p_2)์ผ ๋•Œ, p1,p2p_1, p_2 ์‚ฌ์ด์˜ ์ž„์˜์˜ ์ง€์  pp์—์„œ์˜ ๋ฐ์ดํ„ฐ ๊ฐ’ f(p)f(p)๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

8

Mask R-CNN: Backbone-ResNet101

Mask R-CNN์„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ, ์ €์—๊ฒŒ ์žˆ์–ด ๊ฐ€์žฅ ๊นŒ๋‹ค๋กœ์šด ๋ถ€๋ถ„์€ ์ด ResNet ๋ถ€๋ถ„์ด์—ˆ์Šต๋‹ˆ๋‹ค.
Network ์ค‘ ํ•˜๋‚˜๋กœ ์ƒ๊ฐํ•˜๊ณ  ๋„˜๊ธฐ๊ธฐ์—๋Š” ๋ถ€์กฑํ•œ ์ ์ด ๋งŽ์•„์„œ ์ตœ๋Œ€ํ•œ ์ฐพ์•„๋ณด๊ณ  ์กฐ์‚ฌํ•œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์„ค๋ช…ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด์ „์˜ ์—ฐ๊ตฌ๋“ค๋กœ ๋ชจ๋ธ์˜ layer๊ฐ€ ๋„ˆ๋ฌด ๊นŠ์–ด์งˆ์ˆ˜๋ก ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•จ์„ ์ด์•ผ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Gradient vanishing/exploding ๋ฌธ์ œ ๋•Œ๋ฌธ์— ํ•™์Šต์ด ์ž˜ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
์ด๋•Œ Gradient vanishing์ด๋ž€, layer๊ฐ€ ๊นŠ์–ด์งˆ์ˆ˜๋ก ๋ฏธ๋ถ„์„ ์ ์  ๋งŽ์ด ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Back-Propagation์„ ํ•ด๋„ ์•ž์œผ๋กœ layer ์ผ์ˆ˜๋ก ๋ฏธ๋ถ„๊ฐ’์ด ์ž‘์•„์ ธ ๊ทธ๋งŒํผ output์— ์˜ํ–ฅ์„ ๋ผ์น˜๋Š” weight ์ •๋„๊ฐ€ ์ž‘์•„์ง€๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
์ด๋Š” Over-fitting๊ณผ๋Š” ๋‹ค๋ฅธ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. Over-fitting์€ ํ•™์Šต๋ฐ์ดํ„ฐ์— ์™„๋ฒฝํ•˜๊ฒŒ fitting ์‹œํ‚จ ํƒ“์— ํ…Œ์ŠคํŠธ ์„ฑ๋Šฅ์—์„œ๋Š” ์•ˆ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ž„์„ ๋œปํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์œ„์™€ ๊ฐ™์€ ๋ฌธ์ œ๋Š” Degradation ๋ฌธ์ œ๋กœ training data์—๋„ ํ•™์Šต์ด ๋˜์ง€ ์•Š์Œ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ResNet์„ ๊ณ ์•ˆํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ResNet๋Š” Skip connection์„ ์ด์šฉํ•œ Residual Learning์„ ํ†ตํ•ด layer๊ฐ€ ๊นŠ์–ด์ง์— ๋”ฐ๋ฅธ Gradient Vanishing ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค.
9

๊ธฐ์กด์˜ Neural Net์˜ ํ•™์Šต ๋ชฉ์ ์€ input(xx)์„ ํƒ€๊ฒŸ ๊ฐ’(yy)์œผ๋กœ mappingํ•˜๋Š” ํ•จ์ˆ˜ H(x)H(x)๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ H(x)โˆ’yH(x) - y๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šต์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด๋•Œ ์ด๋ฏธ์ง€ classification๊ณผ ๊ฐ™์€ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ, xx์— ๋Œ€ํ•œ ํƒ€๊ฒŸ ๊ฐ’ yy๋Š” ์‚ฌ์‹ค xx๋ฅผ ๋Œ€๋ณ€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ yy์™€ xx์˜ ์˜๋ฏธ๊ฐ€ ๊ฐ™๊ฒŒ ๋” mapping ํ•ด์•ผํ•ฉ๋‹ˆ๋‹คใ€‚
์ฆ‰, ๊ฐ•์•„์ง€ ์‚ฌ์ง„์˜ pixel ๊ฐ’์ด input(xx)๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ด๋ฅผ 2๊ฐœ์˜ label์ค‘ ๊ฐ•์•„์ง€๊ฐ€ 1์— ํ•ด๋‹นํ•œ๋‹ค๋ฉด ํƒ€๊ฒŸ ๊ฐ’(yy)๋ฅผ 1๋กœ ์ •ํ•ด์„œ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ๊ฐ•์•„์ง€ ์‚ฌ์ง„์˜ pixel ๊ฐ’(xx)๋กœ yy๋ฅผ mapping ํ•˜๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋„คํŠธ์›Œํฌ์˜ ์ถœ๋ ฅ๊ฐ’์ด $x$๊ฐ€ ๋˜๋„๋ก $H(x) - x$๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šต์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
F(x)=H(x)โˆ’xF(x) = H(x) - x๋ฅผ ์ž”์ฐจ๋ผ๊ณ  ํ•˜๋ฉฐ, ์ด ์ž”์ฐจ๋ฅผ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์€ Residual learning์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ตญ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ, ๋„คํŠธ์›Œํฌ๋Š” 0์ด ๋˜๋„๋ก ํ•™์Šต์‹œํ‚ค๊ณ  ๋งˆ์ง€๋ง‰์— xx๋ฅผ ๋”ํ•ด์„œ H(x)H(x)๊ฐ€ xx๊ฐ€ ๋˜๋กœ๋ก ํ•™์Šตํ•˜๋ฉด, ๋ฏธ๋ถ„์„ ํ•ด๋„, xx ์ž์ฒด๋Š” ๋ฏธ๋ถ„ ๊ฐ’ 1์„ ๊ฐ–๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ layer๋งˆ๋‹ค ์ตœ์†Œ gradient๋กœ 1์€ ๊ฐ–๋„๋ก ํ•œ ๊ฒƒ ์ž…๋‹ˆ๋‹ค.
10

์ด๋ ‡๊ฒŒ shortcut connection์œผ๋กœ ๋งŒ๋“  block์„ identity block์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ์š”.
๊ทธ๋ฆฌ๊ณ  ResNet์€ identity block๊ณผ convolution block์œผ๋กœ ๊ตฌ์„ฑ๋˜๋Š”๋ฐ ๊ฐ๊ฐ์€ ์•„๋ž˜ ์Šฌ๋ผ์ด๋“œ 11๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋‹จ์ˆœํžˆ identity block์€ ์ด์ „๊นŒ์ง€ ์„ค๋ช…ํ–ˆ๋“ฏ์ด ๋„คํŠธ์›Œํฌ์˜ output $F(x)$์— $x$๋ฅผ ๊ทธ๋Œ€๋กœ ๋”ํ•˜๋Š” ๊ฒƒ์ด๊ณ , Convolution block์€ $x$ ์—ญ์‹œ $1 \times 1$ convolution ์—ฐ์‚ฐ์„ ๊ฑฐ์นœ ํ›„ $F(x)$์— ๋”ํ•ด์ฃผ๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ResNet์€ ์ด ๋‘๊ฐ€์ง€ block๋ฅผ ๋‹ค์Œ ์Šฌ๋ผ์ด๋“œ 12์™€ ๊ฐ™์ด ์Œ“์•„์„œ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
11
12

Mask R-CNN: FPN(Feature Pyramid Network)

์ด์ „์˜ Faster R-CNN์—์„œ์˜ ํ•œ๊ณ„๋Š” backbone์˜ ๊ฒฐ๊ณผ๋กœ ๋‚˜์˜จ 1๊ฐœ์˜ feature map์—์„œ RoI๋ฅผ ์ƒ์„ฑํ•˜๊ณ , classification ๋ฐ bbox regression์„ ์ง„ํ–‰ํ•œ๋‹ค๋Š” ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.
ํ•ด๋‹น feature map์€ backbone ๋ชจ๋ธ ์ตœ์ข… layer์—์„œ์˜ output์ธ๋ฐ, ์ด๋ ‡๊ฒŒ layer๋ฅผ ํ†ต๊ณผํ• ์ˆ˜๋ก ์•„์ฃผ ์ค‘์š”ํ•œ feature๋งŒ ๋‚จ๊ฒŒ ๋˜๊ณ ,์ค‘๊ฐ„์ค‘๊ฐ„์˜ feature๋“ค์€ ๋ชจ๋‘ ์žƒ์–ด๋ฒ„๋ฆฌ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ตœ์ข… layer์—์„œ ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ object๋ฅผ ๊ฒ€์ถœํ•ด์•ผ ํ•˜๋ฏ€๋กœ, ์—ฌ๋Ÿฌ scale ๊ฐ’์œผ๋กœ anchor๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๋‚˜ ์ด๋Š” ๋งค์šฐ ๋น„ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

์ด๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ **FPN(์ถ•์•ฝ์„ค๋ช…)**์ž…๋‹ˆ๋‹ค.

FPN์˜ ์ž‘๋™๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋งˆ์ง€๋ง‰ layer์˜ feature map์—์„œ ์ ์  ์ด์ „์˜ ์ค‘๊ฐ„ feature map๋“ค์„ ๋”ํ•˜๋ฉด์„œ ์ด์ „ ์ •๋ณด๊นŒ์ง€ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ ๋” ์ด์ƒ ์—ฌ๋Ÿฌ scale ๊ฐ’์œผ๋กœ anchor๋ฅผ ์ƒ์„ฑํ•  ํ•„์š”๊ฐ€ ์—†๊ฒŒ ๋˜์—ˆ๊ณ , ๋ชจ๋‘ ๋™์ผํ•œ scale์˜ anchor๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ž‘์€ feature map์—์„œ๋Š” ํฐ anchor๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํฐ object๋ฅผ, ํฐ feature map์—์„œ๋Š” ๋‹ค์†Œ ์ž‘์€ anchor๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ž‘์€ object๋ฅผ detectํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰ layer์—์„œ์˜ feature map์—์„œ ์ด์ „ feature map๋ฅผ ๋”ํ•˜๋Š” ๊ฒƒ์€ upsampling์„ ํ†ตํ•˜์—ฌ ์ด๋ฃจ์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
14

์ด ๊ณผ์ •์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋ฉด,
๋จผ์ € 2๋ฐฐ๋กœ upsampling์„ ํ•œ ํ›„, ์ด์ „ layer์˜ feature map์„ 1ร—11 \times 1 Fully convolution ์—ฐ์‚ฐ์„ ํ†ตํ•ด filter ๊ฐฏ์ˆ˜๋ฅผ ๋˜‘๊ฐ™์ด ๋งž์ถฐ์ค€ ํ›„ ๋”ํ•จ์œผ๋กœ์จ ์ƒˆ๋กœ์šด feature map์„ ์ƒ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
๊ฒฐ๊ณผ์ ์œผ๋กœ ResNest์„ ํ†ตํ•ด C1, C2, C3, C4, C5 feature map์„ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, C1์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  C5๋ถ€ํ„ฐ P5, P4, P3, P2๋ฅผ ์ƒ์„ฑํ•˜๊ณ  P5์—์„œ max pooling์„ ํ†ตํ•ด P6๋ฅผ ์ถ”๊ฐ€๋กœ ์ƒ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ตœ์ข…์ ์œผ๋กœ P2, P3, P4, P5, P6 ์ด๋ ‡๊ฒŒ 5๊ฐœ์˜ feature map์ด ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ถ”๊ฐ€์ ์œผ๋กœ C1์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ํŠน๋ณ„ํ•œ ์ด์œ ๊ฐ€ ์žˆ์–ด์„œ๋ผ๊ธฐ๋ณด๋‹ค๋Š” C1์€ raw image์—์„œ conv์„ ํ•œ ๋‹จ๊ณ„๋งŒ ๊ฑฐ์นœ ์ƒํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์— ํฐ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์•„์„œ์ด์ง€ ์•Š์„๊นŒ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ญ๋‹ˆ๋‹ค.
๋˜ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐœ์ˆ˜์™€ ์„ฑ๋Šฅ ๊ฐ„์˜ trade-off๋ฅผ ์ƒ๊ฐํ–ˆ์„ ๋•Œ C1์€ ๋นผ๊ณ  ๋‚˜๋จธ์ง€๋งŒ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด ์˜คํžˆ๋ ค ๋” ์ข‹์•˜๊ธฐ ๋•Œ๋ฌธ์ผ๊ฑฐ๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์œ„์—์„œ ์„ค๋ช…ํ•œ ๋ถ€๋ถ„์„ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • P2 ~ P5์˜ ๊ฒฝ์šฐ :
    RPN์— ๋ณด๋‚ด๊ธฐ ์ „์— 3ร—33 \times 3 convolution ์—ฐ์‚ฐ์„ ๊ฑฐ์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. P2~P5๋Š” up-sampling๊ณผ ์ด์ „ feature map์„ ๋”ํ•จ์œผ๋กœ์จ feature data๊ฐ€ ์กฐ๊ธˆ ๋ง๊ฐ€์กŒ์„ ์ˆ˜ ์žˆ๊ธฐ์— 3ร—33 \times 3 ์—ฐ์‚ฐ์„ ํ•œ๋ฒˆ ๋” ์ง„ํ–‰ํ•ด์ฃผ๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค.
  • P6์˜ ๊ฒฝ์šฐ :
    P5์—์„œ max-pooling์„ ํ•œ ๊ฒฐ๊ณผ์ด๋ฏ€๋กœ 3ร—33 \times 3 ์—ฐ์‚ฐ์„ ํ•˜์ง€ ์•Š๊ณ  RPN์— ๊ทธ๋Œ€๋กœ ์ „๋‹ฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

15

Mask R-CNN: RPN

RPN์€ ์ด์ „ ํฌ์ŠคํŒ… R-CNN ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ์—์„œ ์„ค๋ช…์„ ํ–ˆ์—ˆ์ฃ ?!
์•„๋ž˜ ์Šฌ๋ผ์ด๋“œ 16์€ Faster R-CNN์˜ ์ž‘๋™๊ณผ์ •์„ ๋‚˜ํƒ€๋‚ธ ๊ทธ๋ฆผ์ž…๋‹ˆ๋‹ค.

RPN์„ Faster R-CNN๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ์ƒ์„ฑํ•˜๋Š” anchor ๊ฐœ์ˆ˜์˜ ์ฐจ์ด๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
RPN ์ž‘๋™๊ณผ์ •์€ FPN์„ ํ†ตํ•ด ์ƒ์„ฑ๋œ P2, P3, P4, P5, P6์„ ๊ฐ๊ฐ RPN ๋ชจ๋ธ์— ์ „๋‹ฌํ•˜๊ฒŒ ๋˜๊ณ , Faster R-CNN๊ณผ ๋‹ฌ๋ฆฌ ์ด์ œ ๊ฐ feature map์—์„œ 1๊ฐœ scale์˜ anchor๋ฅผ ์ƒ์„ฑํ•˜๋ฏ€๋กœ, ๊ฒฐ๊ตญ ๊ฐ pyramid feature map๋งˆ๋‹ค (scale) 1๊ฐœ x (ratio) 3๊ฐœ = 3๊ฐœ์˜ anchor๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
16

RPN์„ ํ†ตํ•ด output์œผ๋กœ classification ๊ฐ’, bbox regression ๊ฐ’์ด ๋‚˜์˜ค๋Š”๋ฐ, ์ด๋•Œ bbox regression ๊ฐ’์€ delta ๊ฐ’ ์ž…๋‹ˆ๋‹ค.
์•„๋ž˜ ์Šฌ๋ผ์ด๋“œ 17์—์„œ์˜ t๊ฐ’๋“ค, ์ฆ‰ delta๊ฐ’์„ output์œผ๋กœ ๋ฐ›๊ฒŒ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด delta ๊ฐ’์— anchor ์ •๋ณด๋ฅผ ์—ฐ์‚ฐํ•ด์„œ ์›๋ž˜ ์ด๋ฏธ์ง€์— ๋Œ€์‘ํ•˜๋Š” anchor bounding bos ์ขŒํ‘œ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๊ฒŒ ๋˜๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค.
17

Mask R-CNN: Non-max-supppression

์›๋ž˜ ์ด๋ฏธ์ง€์— anchor ์ขŒํ‘œ๋ฅผ ๋Œ€์‘์‹œํ‚จ ํ›„์—๋Š” ๊ฐ๊ฐ normalized coordinate์œผ๋กœ ๋Œ€์‘์‹œํ‚ต๋‹ˆ๋‹ค.
์ด๋Š” fpn์—์„œ ์ด๋ฏธ ๊ฐ๊ธฐ ๋‹ค๋ฅธ feature map ํฌ๊ธฐ๋ฅผ ๊ฐ–๊ณ  ์žŠ๊ธฐ์— ๋ชจ๋‘ ํ†ต์ผ๋˜๊ฒŒ ์ •๊ทœ ์ขŒํ‘œ๊ณ„๋กœ ์ด๋™์‹œํ‚ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ์ˆ˜์ฒœ ๊ฐœ์˜ anchor box๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด NMS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด anchor์˜ ๊ฐœ์ˆ˜๋ฅผ ์ค„์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์•„๋ž˜ ์žˆ๋Š” ์Šฌ๋ผ์ด๋“œ 18์„ ๋ณด๋ฉฐ ๊ฐ™์ด ๋ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
๊ฐ object๋งˆ๋‹ค ๋Œ€์‘๋˜๋Š” anchor๊ฐ€ ์ˆ˜์‹ญ ๊ฐœ ์กด์žฌํ•˜๋Š”๋ฐ ์ด๋•Œ ๊ฐ€์žฅ classification score๊ฐ€ ๋†’์€ anchor๋ฅผ ์ œ์™ธํ•˜๊ณ  ์ฃผ์œ„์— ๋‹ค๋ฅธ anchor๋“ค์€ ๋ชจ๋‘ ์ง€์šฐ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

NMS ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ anchor bbox๋“ค์„ score ์ˆœ์œผ๋กœ ์ •๋ ฌ์‹œํ‚จ ํ›„ score๊ฐ€ ๋†’์€ bbox๋ถ€ํ„ฐ ๋‹ค๋ฅธ bbox์™€ IoU๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.
์ด๋•Œ IoU๊ฐ€ ํ•ด๋‹น bbox์™€ 0.7์ด ๋„˜์–ด๊ฐ€๋ฉด ๋‘ bbox๋Š” ๋™์ผ object๋ฅผ detectํ•œ ๊ฒƒ์ด๋ผ ๊ฐ„์ฃผํ•˜์—ฌ score๊ฐ€ ๋” ๋‚ฎ์€ bbox๋Š” ์ง€์šฐ๋Š” ์‹์œผ๋กœ ๋™์ž‘์„ ํ•ฉ๋‹ˆ๋‹ค.
์ตœ์ข…์ ์œผ๋กœ ๊ฐ ๊ฐ์ฒด๋งˆ๋‹ค score๊ฐ€ ๊ฐ€์žฅ ํฐ box๋งŒ ๋‚จ๊ฒŒ ๋˜๊ณ , ๋‚˜๋จธ์ง€ box๋Š” ์ œ๊ฑฐํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
18

Mask R-CNN: RoI align

๊ธฐ์กด์˜ Faster R-CNN์—์„œ RoI pooling์€ object detection์„ ์œ„ํ•œ ๋ชจ๋ธ์ด์—ˆ๊ธฐ์— ์ •ํ™•ํ•œ ์œ„์น˜ ์ •๋ณด๋ฅผ ๋‹ด๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ์Šฌ๋ผ์ด๋“œ 20์™€ ๊ฐ™์ด ์ธ์ ‘ ํ”ฝ์…€๋กœ box๋ฅผ ์ด๋™์‹œํ‚จ ํ›„ pooling์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ RoI๊ฐ€ ์†Œ์ˆ˜์  ์ขŒํ‘œ๋ฅผ ๊ฐ€์ง€๋ฉด ์ขŒํ‘œ๋ฅผ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋Š” ์‹์œผ๋กœ ์ด๋™์‹œํ‚จ ํ›„ pooling์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ๋˜๋ฉด input image์˜ ์œ„์น˜์ •๋ณด๊ฐ€ ์™œ๊ณก๋˜๊ธฐ ๋•Œ๋ฌธ์— segmentation์—์„œ๋Š” ๋ฌธ์ œ๋กœ ์ž‘์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
20

๋”ฐ๋ผ์„œ Bilinear interpolation์„ ์ด์šฉํ•ด์„œ ์œ„์น˜์ •๋ณด๋ฅผ ๋‹ด๋Š” RoI align์„ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค.
(Bilinear interpolation์€ ์•ž์„  ์Šฌ๋ผ์ด๋“œ 8์—์„œ ์ด์•ผ๊ธฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. :) )
21

Mask R-CNN: Mask branch

Class, box branch๋Š” ๊ณต๊ฐ„ ์ •๋ณด๊ฐ€ ํ•„์š” ์—†๊ธฐ ๋•Œ๋ฌธ์— FC layer๋ฅผ ์‚ฌ์šฉํ•ด์„œ (channels 1,1) vector๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ Mask branch๋Š” ๊ณต๊ฐ„ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ convolution์„ ์‚ฌ์šฉํ•˜์—ฌ pixel-to-pixel ์ •๋ณด๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.
์—ฌ๊ธฐ์„œ pixel-to-pixel ์ •๋ณด๋ž€, class์— ๋”ฐ๋ผ ๋ถ„ํ• ๋œ ์ด๋ฏธ์ง€ ์กฐ๊ฐ์ด๋ผ ์ƒ๊ฐํ•˜๋ฉด ์ข‹์„ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค.
Mask branch๋Š” FCN์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ RoI์— ๋Œ€ํ•ด $m \times m$ ํฌ๊ธฐ์˜ $K$๊ฐœ mask๋ฅผ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.(์ด๋•Œ KK๋Š” class ์ˆ˜๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.)
FC layer๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๊ณต๊ฐ„ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ mask๋Š” ์ด๋ฏธ์ง€ ๋‚ด ๊ฐ์ฒด์— ๋Œ€ํ•œ ๊ณต๊ฐ„ ์ •๋ณด๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ encode ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
22
23

Mask R-CNN ์š”์•ฝ

Mask R-CNN์€ ์ผ๋ฐ˜์ ์œผ๋กœ detection task๋ณด๋‹ค๋Š” instance segmentation task์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
Faster R-CNN์œผ๋กœ ์ฐพ์€ RoI์—์„œ FCN์„ ์ด์šฉํ•˜์—ฌ Segmentationํ•˜์ž๋Š” ์•„์ด๋””์–ด์—์„œ ์‹œ์ž‘๋˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์ด๋ฒˆ ํฌ์ŠคํŒ…์„ ํ†ตํ•ด ๋™์ž‘ ์ˆœ์„œ์™€ ๊ตฌ์กฐ๋ฅผ ๋น„๋กฏํ•ด ์ด์ „ ๋ชจ๋ธ๊ณผ์˜ ์ฐจ์ด์ ์„ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

U-Net

U-Net์ด๋ž€?

๋‹ค์Œ ๋…ผ๋ฌธ์ธ U-Net์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
U์ž ๋ชจ์–‘์œผ๋กœ ์ƒ๊ธด U-Net์€ ์˜๋ฃŒ ์ด๋ฏธ์ง€ ํŠน์„ฑ์ƒ ์ ์€ ์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋กœ๋„ ์ •ํ™•ํ•œ Segmentation(๋ถ„ํ• )์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
U-Net์ด ๊ฐœ์„ ํ•œ ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.
  2. Context ์ธ์‹๊ณผ localization ๊ฐ„์˜ trade-off ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ context์™€ trade-off๋Š” ๊ธฐ์กด์— ์กด์žฌํ•˜๋˜ ๊ณผ์ œ์˜ ๋ฌธ์ œ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.
context๋ž€, ์„œ๋กœ ์ด์›ƒํ•œ ์ด๋ฏธ์ง€ ํ”ฝ์…€ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ด๋ฏธ์ง€์˜ ์ผ๋ถ€๋ฅผ ๋ณด๊ณ  ์ „๋ฐ˜์ ์ธ ์ด๋ฏธ์ง€์˜ context๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๋งฅ๋ฝ์œผ๋กœ ๋ณด์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ trade-off๋ž€, ์ง€๋„ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํŠธ๋ ˆ์ด๋‹ ์…‹์˜ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด ์ง€๋‚˜์น˜๊ฒŒ ์ผ๋ฐ˜ํ™”ํ•˜๋Š” ๊ฒƒ์„ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ์ข…๋ฅ˜์˜ ์˜ค์ฐจ๋ฅผ ์ตœ์†Œํ™” ํ•  ๋•Œ ๊ฒช๋Š” ๋ฌธ์ œ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.
๋„“์€ ๋ฒ”์œ„์˜ ์ด๋ฏธ์ง€๋ฅผ ํ•œ๊บผ๋ฒˆ์— ์ธ์‹ํ•˜๋ฉด ์ „๋ฐ˜์ ์ธ context๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ์— ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ localization์„ ์ œ๋Œ€๋กœ ์ˆ˜ํ–‰ํ•˜์ง€ ๋ชปํ•ด ์–ด๋–ค ํ”ฝ์…€์ด ์–ด๋–ค ๋ ˆ์ด๋ธ”์ธ์ง€ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
๋ฐ˜๋Œ€๋กœ ๋ฒ”์œ„๋ฅผ ์ขํžˆ๋ฉด ์„ธ๋ฐ€ํ•œ localization์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ context ์ธ์‹๋ฅ ์ด ์ €ํ•˜๋˜๋Š” ๋ฌธ์ œ์ ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ๋“ค์„ ๊ฐœ์„ ํ•œ ๋ชจ๋ธ์ด ๋ฐ”๋กœ U-Net์ž…๋‹ˆ๋‹ค.
24

์ด๋Ÿฌํ•œ ๋‘๊ฐ€์ง€ ๋ฌธ์ œ์ ์„ ๋‹ค์Œ์˜ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค.

  1. ์†๋„ ์ €ํ•˜์˜ ๋ฌธ์ œ: ๊ธฐ์กด์˜ sliding window ๋ฐฉ์‹์ด ์•„๋‹Œ, patch ํƒ์ƒ‰ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  2. trade-off ๋ฌธ์ œ: Contracting path์—์„œ๋Š” ์ด๋ฏธ์ง€์˜ context๋ฅผ ํฌ์ฐฉํ•˜๊ณ , Expanding path์—์„œ๋Š” feature map์„ upsamplingํ•œ ๋’ค, ์ด๋ฅผ contracting path์—์„œ ํฌ์ฐฉํ•œ (feature map์˜)context์™€ ๊ฒฐํ•ฉํ•˜์—ฌ localization์˜ ์ •ํ™•๋„๋ฅผ ๋†’์˜€์Šต๋‹ˆ๋‹ค.

25

Structure of U-Net

U๋ฅผ ๋‹ฎ์€ ๋ชจ๋ธ์˜ ๊ตฌ์กฐ๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์ˆ˜์ถ• ๊ฒฝ๋กœ(Contracting Path) : ์ ์ง„์ ์œผ๋กœ ๋„“์€ ๋ฒ”์œ„์˜ ์ด๋ฏธ์ง€ ํ”ฝ์…€์„ ๋ณด๋ฉฐ ์˜๋ฏธ์ •๋ณด(context information)์„ ์ถ”์ถœ
  2. ํ™•์žฅ ๊ฒฝ๋กœ(Expanding Path) : ์˜๋ฏธ ์ •๋ณด๋ฅผ ํ”ฝ์…€ ์œ„์น˜์ •๋ณด์™€ ๊ฒฐํ•ฉ(localization)ํ•˜์—ฌ ๊ฐ ํ”ฝ์…€๋งˆ๋‹ค ์–ด๋–ค ๊ฐ์ฒด์— ์†ํ•˜๋Š”์ง€ ๊ตฌ๋ถ„
  3. ์ „ํ™˜ ๊ตฌ๊ฐ„(Bottle Neck) : ์ˆ˜์ถ• ๊ฒฝ๋กœ์—์„œ ํ™•์žฅ ๊ฒฝ๋กœ๋กœ ์ „ํ™˜

๊ฐ„๋žตํžˆ ๋ชจ๋ธ์˜ ์ž‘๋™์„ ์‚ดํŽด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋ชจ๋ธ์˜ input์€ ์ด๋ฏธ์ง€์˜ ํ”ฝ์…€ ๋ณ„ RGB๋ฐ์ดํ„ฐ์ด๊ณ , ๋ชจ๋ธ์˜ output์€ ์ด๋ฏธ์ง€์˜ ๊ฐ ํ”ฝ์…€๋ณ„ ๊ฐ์ฒด ๊ตฌ๋ถ„ ์ •๋ณด(class)์ž…๋‹ˆ๋‹ค.
Convolution ์—ฐ์‚ฐ๊ณผ์ •์—์„œ ํŒจ๋”ฉ(padding)์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ชจ๋ธ์˜ output size๋Š” input size๋ณด๋‹ค ์ž‘์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, 572ร—572572 \times 572(RGB)ํฌ๊ธฐ์˜ ์ด๋ฏธ์ง€๋ฅผ input์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด output์œผ๋กœ 388ร—388388 \times 388(class) ์ด๋ฏธ์ง€๊ฐ€ ์ƒ์„ฑ๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
26

๋‹ค์Œ์œผ๋กœ ๊ฐ ๋‹จ๊ณ„์˜ ๊ตฌ์กฐ ๋ฐ ๊ตฌ์„ฑ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

U-Net: ์ˆ˜์ถ• ๊ฒฝ๋กœ (Contracting Path)

๋จผ์ € ์ˆ˜์ถ• ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

์ˆ˜์ถ•๊ฒฝ๋กœ์—์„œ ์•„๋ž˜ ์Šฌ๋ผ์ด๋“œ 27๊ณผ ๊ฐ™์€ Down-sampling ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜์—ฌ ํŠน์ง• ๋งต(feature map)์„ ์ƒ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ˆ˜์ถ• ๊ฒฝ๋กœ๋Š” ์ฃผ๋ณ€ ํ”ฝ์…€๋“ค์„ ์ฐธ์กฐํ•˜๋Š” ๋ฒ”์œ„๋ฅผ ๋„“ํ˜€๊ฐ€๋ฉฐ ์ด๋ฏธ์ง€๋กœ๋ถ€ํ„ฐ Contextual ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 3ร—33 \times 3 convolution์„ ์ˆ˜ํ–‰ํ•  ๋•Œ, ํŒจ๋”ฉ์„ ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ํŠน์ง•๋งต(feature map)์˜ ํฌ๊ธฐ๊ฐ€ ๊ฐ์†Œํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
๋˜ํ•œ Down-sampling ํ•  ๋•Œ๋งˆ๋‹ค ์ฑ„๋„(Channel)์˜ ์ˆ˜๋ฅผ 2๋ฐฐ์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ ์ง„ํ–‰ํ•˜๋Š”๋ฐ, ์ฒ˜์Œ input channel(1)์„ 64๊ฐœ๋กœ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๋ถ€๋ถ„์„ ์ œ์™ธํ•˜๋ฉด, ์ฑ„๋„์€ 1โ†’64โ†’128โ†’256โ†’512โ†’10241 \rightarrow 64 \rightarrow 128 \rightarrow 256 \rightarrow 512 \rightarrow 1024๋กœ Down-sampling์„ ์ง„ํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋…ผ๋ฌธ์—์„œ๋Š” batch-normalization์ด ์–ธ๊ธ‰๋˜์ง€ ์•Š์•˜์œผ๋‚˜ ๊ตฌํ˜„์ฒด ๋ฐ ๋‹ค์ˆ˜์˜ ๋ฆฌ๋ทฐ์—์„œ batch-normalization์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ์š”.
Batch-normalization์€ ๋ฐฐ์น˜ ์ •๊ตํ™”๋กœ ๊ฐ ๋ ˆ์ด์–ด๋งˆ๋‹ค ์ •๊ทœํ™”ํ•˜๋Š” ๋ ˆ์ด์–ด๋ฅผ ๋‘์–ด ๋ณ€ํ˜•๋œ ๋ถ„ํฌ๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š๋„๋ก ์กฐ์ ˆํ•˜๋Š” ๊ฒƒ์ด๋ผ๋Š”๋ฐ์š”.. ์Œ.. ์ด ์ ์€ ์ €๋„ ์กฐ๊ธˆ ๋” ์ฐพ์•„์„œ ๊ณต๋ถ€ํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
27

U-Net: ์ „ํ™˜ ๊ตฌ๊ฐ„(Bottle Neck)

๋‹ค์Œ์œผ๋กœ ์ „ํ™˜ ๊ตฌ๊ฐ„์ž…๋‹ˆ๋‹ค.
์ˆ˜์ถ• ๊ฒฝ๋กœ์—์„œ ํ™•์žฅ ๊ฒฝ๋กœ๋กœ ์ „ํ™˜๋˜๋Š” ๊ตฌ๊ฐ„์œผ๋กœ ์Šฌ๋ผ์ด๋“œ 28์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋งˆ์ง€๋ง‰์— ์ ์šฉ๋œ Dropout layer๋Š” ๋ชจ๋ธ์„ ์ผ๋ฐ˜ํ™”ํ•˜๊ณ  ๋…ธ์ด์ฆˆ๋ฅผ ๊ฒฌ๊ณ ํ•˜๊ฒŒ(robust) ๋งŒ๋“œ๋Š” ์žฅ์น˜์ž…๋‹ˆ๋‹ค.
28

U-Net: ํ™•์žฅ ๊ฒฝ๋กœ(Expanding Path)

๋งˆ์ง€๋ง‰์œผ๋กœ ํ™•์žฅ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.
ํ™•์žฅ ๊ฒฝ๋กœ๋Š” ์Šฌ๋ผ์ด๋“œ 29์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด, (2)skip connection์„ ํ†ตํ•ด ์ˆ˜์ถ• ๊ฒฝ๋กœ์—์„œ ์ƒ์„ฑ๋œ Contextual ์ •๋ณด์™€ ์œ„์น˜ ์ •๋ณด๋ฅผ ๊ฒฐํ•ฉํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
๋™์ผํ•œ level์—์„œ ์ˆ˜์ถ• ๊ฒฝ๋กœ์˜ ํŠน์ง• ๋งต๊ณผ ํ™•์žฅ ๊ฒฝ๋กœ์˜ ํŠน์ง• ๋งต์˜ ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅธ ์ด์œ ๋Š” ์ˆ˜์ถ• ๊ฒฝ๋กœ ์Šฌ๋ผ์ด๋“œ์—์„œ ์„ค๋ช…ํ–ˆ๋“ฏ์ด ์—ฌ๋Ÿฌ ๋ฒˆ์˜ ํŒจ๋”ฉ์ด ์—†๋Š” 3ร—33 \times 3 convolution layer๋ฅผ ์ง€๋‚˜๋ฉด์„œ ํŠน์ง• ๋งต์˜ ํฌ๊ธฐ๊ฐ€ ์ค„์–ด๋“ค์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
ํ™•์žฅ ๊ฒฝ๋กœ์˜ ๋งˆ์ง€๋ง‰์— class์˜ ๊ฐฏ์ˆ˜๋งŒํผ ํ•„ํ„ฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” 1ร—11 \times 1 Convolution Layer๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 1ร—11 \times 1 Convolution Layer๋ฅผ ํ†ต๊ณผํ•œ ํ›„ ๊ฐ ํ”ฝ์…€์ด ์–ด๋–ค class์— ํ•ด๋‹นํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” 3์ฐจ์›(Widthร—Heightร—Class\text{Width} \times \text{Height} \times \text{Class})๋ฒกํ„ฐ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
29

U-Net: ํ•™์Šต ๋ฐฉ๋ฒ•

๋‹ค์Œ์€ U-Net ๋ชจ๋ธ์˜ ํ•™์Šต ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์žฅ์น˜๋“ค์„ ํ†ตํ•ด ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.

  • Overlap-tile strategy : ํฐ ์ด๋ฏธ์ง€๋ฅผ ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋„๋ก ์ผ์ •ํฌ๊ธฐ๋กœ ๋‚˜๋ˆ„๊ณ  ๋ชจ๋ธ์˜ input์œผ๋กœ ํ™œ์šฉ
  • Mirroring Extrapolate : ์ด๋ฏธ์ง€์˜ ๊ฒฝ๊ณ„(Border) ๋ถ€๋ถ„์„ ๊ฑฐ์šธ์ด ๋ฐ˜์‚ฌ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ํ™•์žฅํ•˜์—ฌ input์œผ๋กœ ํ™œ์šฉ
  • Weight Loss : ๋ชจ๋ธ์ด ๊ฐ์ฒด ๊ฐ„ ๊ฒฝ๊ณ„๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋„๋ก Weight Loss๋ฅผ ๊ตฌ์„ฑ ๋ฐ ํ•™์Šต
  • Data Augmentation : ์ ์€ ๋ฐ์ดํ„ฐ๋กœ ๋ชจ๋ธ์„ ์ž˜ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐ์ดํ„ฐ ์ฆ๊ฐ• ๋ฐฉ๋ฒ• ํ™œ์šฉ

๊ฐ ํ•™์Šต ์žฅ์น˜๋“ค์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
30

Overlap-tile strategy

์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๊ฐ€ ํฐ ๊ฒฝ์šฐ, ์ด๋ฏธ์ง€๋ฅผ ์ž๋ฅธ ํ›„ ๊ฐ ์ด๋ฏธ์ง€๋ฅผ ํ•ด๋‹นํ•˜๋Š” Segmentation์„ ์ง„ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
U-Net์˜ ๊ฒฝ์šฐ, input๊ณผ output์˜ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์Šฌ๋ผ์ด๋“œ 31 ์† ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด, ํŒŒ๋ž€์ƒ‰ ์˜์—ญ์„ input์œผ๋กœ ๋„ฃ์œผ๋ฉด ๋…ธ๋ž€์ƒ‰ ์˜์—ญ์ด output์œผ๋กœ ์ถ”์ถœ๋ฉ๋‹ˆ๋‹ค.
๋™์ผํ•˜๊ฒŒ ์ดˆ๋ก์ƒ‰ ์˜์—ญ์„ Segmentationํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋นจ๊ฐ„์ƒ‰ ์˜์—ญ์„ ๋ชจ๋ธ์˜ input์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์ด ์กด์žฌํ•˜๋„๋ก ์ด๋ฏธ์ง€๋ฅผ ์ž๋ฅด๊ณ , Segmentationํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋…ผ๋ฌธ์—์„œ๋Š” Overlap-tile strategy๋ผ๊ณ  ์ง€์นญํ•˜์˜€์Šต๋‹ˆ๋‹ค.
31

Mirroring Extrapolate

์ด๋ฏธ์ง€์˜ ๊ฒฝ๊ณ„๋ถ€๋ถ„์„ ์˜ˆ์ธกํ•  ๋•Œ, Padding์„ ๋„ฃ์–ด ํ™œ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค.
๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์ด๋ฏธ์ง€ ๊ฒฝ๊ณ„์— ์œ„์น˜ํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋ณต์‚ฌํ•˜๊ณ , ์ขŒ์šฐ๋ฐ˜์ „์„ ํ†ตํ•ด Mirror ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•œ ํ›„ ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ๋ถ™์ด๋Š” ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด input์œผ๋กœ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๋ณธ ๋…ผ๋ฌธ์˜ ์‹คํ—˜ ๋ถ„์•ผ์ธ biomedical์—์„œ๋Š” ์„ธํฌ๊ฐ€ ์ฃผ๋กœ ๋“ฑ์žฅํ•˜๊ณ , ์„ธํฌ๋Š” ์ƒํ•˜ ์ขŒ์šฐ ๋Œ€์นญ ๊ตฌ๋„๋ฅผ ์ด๋ฃจ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— Mirroring ์ „๋žต์„ ์‚ฌ์šฉํ–ˆ์„ ๊ฒƒ์ด๋ผ ์ถ”์ธก๋ฉ๋‹ˆ๋‹ค.
32

Weight Loss

๋ชจ๋ธ์€ ์Šฌ๋ผ์ด๋“œ 33 ์† ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์ž‘์€ ๊ฒฝ๊ณ„๋ฅผ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•™์Šต๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ๋…ผ๋ฌธ์—์„œ๋Š” ๊ฐ ํ”ฝ์…€์ด ๊ฒฝ๊ณ„์™€ ์–ผ๋งˆ๋‚˜ ๊ฐ€๊นŒ์šด์ง€์— ๋”ฐ๋ฅธ Weight-Map์— ๋น„๋ก€ํ•˜๊ฒŒ ์ฆ๊ฐ€์‹œํ‚ด์œผ๋กœ์จ ๊ฒฝ๊ณ„๋ฅผ ์ž˜ ํ•™์Šตํ•˜๋„๋ก ์„ค๊ณ„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
33

w(x)w(x)๋Š” ํ”ฝ์…€ xx์™€ ๊ฒฝ๊ณ„์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€๊นŒ์šฐ๋ฉด ํฐ ๊ฐ’์„ ๊ฐ–๊ฒŒ ๋˜๋ฏ€๋กœ ํ•ด๋‹น ํ”ฝ์…€์˜ Loss ๋น„์ค‘์ด ์ปค์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ฆ‰, ํ•™์Šต ์‹œ ๊ฒฝ๊ณ„์— ํ•ด๋‹นํ•˜๋Š” ํ”ฝ์…€์„ ์ž˜ ํ•™์Šตํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
34

์Šฌ๋ผ์ด๋“œ 35์˜ ๊ทธ๋ฆผ์€ ์ด๋ฏธ์ง€์˜ ํ”ฝ์…€ ์œ„์น˜์— ๋”ฐ๋ฅธ Weight w(x)w(x)๋ฅผ ์‹œ๊ฐํ™”ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
w(x)w(x)๋Š” ๊ฐ์ฒด์˜ ๊ฒฝ๊ณ„ ๋ถ€๋ถ„์—์„œ ํฐ ๊ฐ’์„ ๊ฐ–๋Š” ๊ฒƒ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
๊ฐ์ฒด ๊ฐ„ ๊ฒฝ๊ณ„๊ฐ€ ์ „์ฒด ํ”ฝ์…€์— ์ฐจ์ง€ํ•˜๋Š” ๋น„์ค‘์€ ๋งค์šฐ ์ž‘์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Weight loss๋ฅผ ์ด์šฉํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๊ฒฝ๊ณ„๊ฐ€ ์ž˜ ํ•™์Šต๋˜์ง€ ์•Š์•„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ์ฒด๊ฐ€ ํ•œ ๊ฐœ์˜ ๊ฐ์ฒด๋กœ ํ‘œ์‹œ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„ ๋ณด์ž…๋‹ˆ๋‹ค.
35

Data Augmentation

๋ฐ์ดํ„ฐ์˜ ์–‘์ด ์ ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ์˜ ์ฆ๊ฐ•์„ ํ†ตํ•ด ๋ชจ๋ธ์ด Noise์— ๊ฐ•๊ฑดํ•˜๋„๋ก ํ•™์Šต์‹œํ‚ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
Data Augmentation์ด๋ž€, ์›๋ž˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ€ํ’€๋ ค์„œ ๋” ์ข‹์€ ์„ฑ๋Šฅ์„ ๋งŒ๋“ ๋‹ค๋Š” ๋œป์œผ๋กœ์จ, ๋Œ€ํ‘œ์ ์ธ ์ผ€์ด์Šค๊ฐ€ VGG Model์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ๋ฒค์น˜๋งˆํ‚น ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

Data Augmentation์ด ์ค‘์š”ํ•˜๋Š” ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. Preprocessing & Augmentation์„ ํ•˜๋ฉด ๋Œ€๋ถ€๋ถ„ ์„ฑ๋Šฅ์ด ์ข‹์•„์ง„๋‹ค.
  2. ์›๋ณธ์— ์ถ”๊ฐ€๋˜๋Š” ๊ฐœ๋…์ž„์— ๋”ฐ๋ผ, ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.
  3. ์‰ฝ๊ณ  ํŒจํ„ด์ด ์ •ํ•ด์ ธ ์žˆ๋‹ค.

๊ธฐ๋ณธ์ ์ธ ์˜ˆ

  • ์ขŒ์šฐ ๋ฐ˜์ „
  • ์ด๋ฏธ์ง€ ์ž๋ฅด๊ธฐ
  • ๋ฐ๊ธฐ ์กฐ์ ˆ

Data Augmentation์—์„œ ์ค‘์š”ํ•˜๊ฒŒ ์‚ฌ์šฉ๋œ ๊ฒƒ์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ํŒŒ์•…๋ฉ๋‹ˆ๋‹ค.

  1. Elastic Deformation
    • ์ ์€ ์ˆ˜์˜ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ง€๊ณ  ํšจ๊ณผ์ ์œผ๋กœ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•ด ์ด ๋ฐฉ์‹์„ ์‚ฌ์šฉ
    • ํ‹ฐ์Šˆ ์กฐ์ง ๋“ฑ์˜ ์‹ค์งˆ์ ์ธ ๋ณ€ํ˜•๊ณผ ์œ ์‚ฌ
  2. Weighted Cross Entropy + Data Augmentation
    • ๋งŽ์€ cell(์„ธํฌ)์„ Segmentation ํ•ด์•ผํ•˜๋Š” ๋ฌธ์ œ์—์„œ์˜ ๋„์ „ ๊ณผ์ œ๋Š” ๊ฐ™์€ ํด๋ž˜์Šค๊ฐ€ ์„œ๋กœ ์ธ์ ‘ํ•ด ์žˆ๋Š” ์ผ€์ด์Šค

์Šฌ๋ผ์ด๋“œ 38์˜ a์ฒ˜๋Ÿผ cell์ด ์ธ์ ‘ํ•ด ์žˆ์œผ๋ฉด, ๊ฐ cell๊ณผ ๋ฐฐ๊ฒฝ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์ง€๋งŒ, cell ๊ฐ๊ฐ์„ ์„œ๋กœ ๊ตฌ๋ถ„ ํ•˜๋Š” ๊ฒƒ(๋…ผ๋ฌธ์—์„œ๋Š” instance segmentation์ด๋ผ ํ‘œํ˜„)์€ ์–ด๋ ต๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ๊ฐ instance์˜ ํ…Œ๋‘๋ฆฌ์™€ ํ…Œ๋‘๋ฆฌ ์‚ฌ์ด๊ฐ€ ๋ฐ˜๋“œ์‹œ ๋ฐฐ๊ฒฝ์ด ๋˜๋„๋ก ์ฒ˜๋ฆฌํ•˜์˜€๋‹ค๊ณ  ์„œ์ˆ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
์ฆ‰, 2๊ฐœ์˜ ceel์ด ๋ถ™์–ด์žˆ๋Š” ๊ฒฝ์šฐ๋ผ๊ณ  ํ•˜๋”๋ผ๋„, ๊ทธ ๋‘˜ ์‚ฌ์ด์—๋Š” ๋ฐ˜๋“œ์‹œ ๋ฐฐ๊ฒฝ์œผ๋กœ ์ธ์‹๋˜์–ด์•ผ ํ•  ํ‹ˆ์„ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.
38

U-Net ์ •๋ฆฌ

U-Net์„ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
U-Net์€ FCNs๋ณด๋‹ค ํ™•์žฅ๋œ ๊ฐœ๋…์˜ Upsamling๊ณผ Skip Atchitecture๋ฅผ ์ ์šฉํ•œ ๋ชจ๋ธ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.
๊ฒฐ๊ณผ์ ์œผ๋กœ U-Net์˜ ๊ตฌ์กฐ๋Š” ์•„์ฃผ ์ ์€ ์–‘์˜ ํ•™์Šต ๋ฐ์ดํ„ฐ๋งŒ์œผ๋กœ Data Augmentation์„ ํ™œ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ Biomedical Image Segmentation ๋ฌธ์ œ์—์„œ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
39


PS. ์ถ”๊ฐ€ ๋ฌธ์˜์‚ฌํ•ญ ๋ฐ ์งˆ๋ฌธ์€ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฅผ ํ†ตํ•ด ์ €๋„ ๋” ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์„ํ…Œ๋‹ˆ๊นŒ์š”. ๊ธด ๊ธ€ ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

Reference

Share