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

Region Proposal๋„ Network์•ˆ์— ํฌํ•จ์‹œํ‚ค์ž!

Faster R-CNN์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด๋Š” Resion Proposal Network(์ดํ•˜ RPN)์ด๋‹ค. ๊ธฐ์กด Fast R-CNN๊ตฌ์กฐ๋ฅผ ๊ณ„์Šนํ•˜๋ฉด์„œ selective search๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  RPN์„ ํ†ตํ•ด์„œ Roi๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด์„œ GPU๋ฅผ ํ†ตํ•ด Roi๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ณ , ์ด RoI๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ฒƒ ์—ญ์‹œ ํ•™์Šต์‹œ์ผœ ์ •ํ™•๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ selective search๊ฐ€ 2000๊ฐœ RoI๋ฅผ ๊ณ„์‚ฐํ•˜๋Š”๋ฐ ๋ฐ˜ํ•ด, 800๊ฐœ ์ •๋„๋กœ ๋” ๋†’์€ ์ •ํ™•๋„๋ฅผ ๊ฐ€์ง„๋‹ค.

๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์•Œ๊ฒ ์ง€๋งŒ, feature map์œผ๋กœ ๋ถ€ํ„ฐ selective search๋ฅผ ๊ฑฐ์น˜์น˜ ์•Š๊ณ  ์ด๋ฅผ RPN์— ์ „๋‹ฌํ•˜์—ฌ ๊ณ„์‚ฐ์„ ์ง„ํ–‰ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์–ป์€ RoI๋กœ RoI Pooling์„ ์ง„ํ–‰ํ•œ ๋‹ค์Œ object detection์„ ์ง„ํ–‰ํ•œ๋‹ค.

Region Proposal Network

์ด ๊ทธ๋ฆผ๋ณด๋‹ค๋Š” ์ˆœ์ฐจ์ ์œผ๋กœ ๋œ ๊ทธ๋ฆผ์œผ๋กœ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์‰ฝ๋‹ค.

CNN์„ ํ†ตํ•ด ๋ฝ‘์•„๋‚ธ feature map์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๋Š”๋‹ค. ์–ด๋–ค pretrained model์„ ์‚ฌ์šฉํ•  ์ง€ ๋ชจ๋ฅด๋ฏ€๋กœ ์ด๋ฅผ HxWxC๋กœ ๋‘”๋‹ค.

feature map์— (3x3)x256 ๋˜๋Š” (3x3)x512 conv ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์—„๋ฐ€ํžˆ ๋งํ•˜๋ฉด C์™€ 256, 512๋Š” ๊ฐ™์•„์•ผ ํ•œ๋‹ค. ์ผ๋‹จ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ์ด ๋•Œ, HxW๊ฐ€ ๋ณด์กด๋  ์ˆ˜ ์žˆ๊ฒŒ padding์„ 1๋กœ ์„ค์ •ํ•œ๋‹ค.

์ „ ๊ณผ์ •์—์„œ ๋‚˜์˜จ feature map์„ ๊ฐ€์ง€๊ณ  classification์„ ์œ„ํ•œ ํ™•๋ฅ ๊ฐ’๊ณผ, bounding box regression ๊ฐ’์„ ๋ฝ‘์•„๋‚ธ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋„ˆ๋ฌด ๋งŽ์€ ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด ๋ชจ๋ธ์ด ์ง€๋‚˜์น˜๊ฒŒ ๋ฌด๊ฑฐ์›Œ ์ง„๋‹ค. ์ €์ž๋“ค์€ 1 x 1 conv๋งŒ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์˜ˆ์ธก๊ฐ’์„ ๋ฝ‘์•„๋‚ด๊ณ ์ž ํ•˜์˜€๋‹ค.

๋จผ์ € Classification์˜ ๊ฒฝ์šฐ, ๋”์šฑ ๊ฐ€๋ณ๊ฒŒ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ฌผ์ฒด์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” binary classification์„ ์ง„ํ–‰ํ•˜๊ณ ์ž ํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฌธ์ œ๋Š” bounding box์™€ ์—ฎ์–ด์„œ ์ด๋ฅผ ์ƒ๊ฐํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ €์ž๋“ค์€ ์ด ๋‹จ๊ณ„์—์„œ Anchor๋ผ๋Š” ๊ฐœ๋…์„ ๋„์ž…ํ•˜์—ฌ ์ด๋ฅผ ์ง„ํ–‰ํ•˜์˜€๋‹ค. Anchor๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์ „์— ์ •์˜ํ•ด ๋‘” Box๋“ค์ด๋‹ค. ์ด 9๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

์ด ๋ชจ๋“  ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๋ฉด, classification์˜ ๊ฒฐ๊ณผ๋Š” ์ด (HxW)์˜ ๊ฐ๊ฐ์˜ ์œ„์น˜์— ์ œ์•ˆ๋œ Anchor(9๊ฐœ)์— ๋Œ€ํ•ด ๋ฌผ์ฒด์˜ ์—ฌ๋ถ€(2)๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ด 18๊ฐœ์˜ Node๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด (1x1)x(2x9)์˜ conv ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ (HxW)x(2x9)์˜ Feature map์ด ๋‚˜์˜ค๊ณ , ๊ฐ๊ฐ์˜ ๋…ธ๋“œ๋Š” ์ˆœ์„œ๋Œ€๋กœ (h, w) ์œ„์น˜์— ์žˆ๋Š” 1๋ฒˆ anchor๊ฐ€ ๋ฌผ์ฒด์ผ logit, (h, w) ์œ„์น˜์— ์žˆ๋Š” 1๋ฒˆ anchor๊ฐ€ ๋ฌผ์ฒด๊ฐ€ ์•„๋‹ logit โ€ฆ ๋กœ ์ •์˜๋œ๋‹ค. ์ตœ์ข…์ ์œผ๋กœ ์ด๋ฅผ ํ™•๋ฅ  ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ๊ธฐ ์œ„ํ•ด ์ ์ ˆํžˆ reshape ํ•ด์ค€ ๋‹ค์Œ Softmax๋ฅผ ์ ์šฉํ•œ๋‹ค.

๋‘๋ฒˆ์งธ๋กœ Bounding Box Regression์„ ์ง„ํ–‰ํ•œ๋‹ค. ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋ฒˆ์—๋Š” 9๊ฐœ anchor์— ๋Œ€ํ•ด ์ด 4๊ฐœ์˜ ์ขŒํ‘œ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•œ ์กฐ์ ˆ๊ฐ’์„ ์˜ˆ์ธกํ•ด์•ผ ํ•˜๋ฏ€๋กœ (H W)x(4x9)์˜ ๊ฒฐ๊ณผ๋ฅผ ์–ป์–ด์•ผ ํ•œ๋‹ค. ์ด๋ฒˆ์—๋Š” regression์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋Œ€๋กœ ๊ฒฐ๊ณผ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

์•ž์„  ๊ณผ์ •์€ ์ˆœ์ฐจ์ ์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค. ์ฆ‰, classification์„ ๋จผ์ € ์ง„ํ–‰ํ•˜๊ณ , ์ด ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฌผ์ฒด์ผ ํ™•๋ฅ ์„ sortingํ•œ๋‹ค. ์ด ์ค‘ ๋†’์€ ์ˆœ์œผ๋กœ K๊ฐœ์˜ anchor๋ฅผ ํ›„๋ณด๊ตฐ์œผ๋กœ ์„ ์ •ํ•œ๋‹ค. ์ด ํ›„๋ณด๊ตฐ์— ๊ฐ๊ฐ bounding Box Regression์„ ์ง„ํ–‰ํ•œ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ Non-Maximum-Suppression์„ ์ ์šฉํ•˜๊ณ , ์ด๊ฒƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ RoI๋ฅผ ์ œ์•ˆํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด์„œ RoI๋ฅผ ์ œ์•ˆํ•˜๋Š” Network๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ์ด ํ›„ ๊ณผ์ •์€, ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ RoI๋ฅผ ์ฒซ๋ฒˆ์งธ Feature map (HxWxC) ์— ํˆฌ์˜ํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค. ์ด ๋ถ€๋ถ„์€ Fast R-CNN ๊ตฌ์กฐ์™€ ๊ฐ™๋‹ค.

RPNโ€™s Loss function

RPN์€ ์•ž์„œ์„œ Classification๊ณผ Bouding Box Regression์„ ์ˆ˜ํ–‰ํ–ˆ๋‹ค. ๋กœ์Šค ํŽ‘์…˜์€ ์ด ๋‘ ๊ฐ€์ง€ ํ…Œ์Šคํฌ์—์„œ ์–ป์€ ๋กœ์Šค๋ฅผ ์—ฎ์€ ํ˜•ํƒœ๋ฅผ ์ทจํ•˜๊ณ  ์žˆ๋‹ค.

์—ฌ๊ธฐ์„œ i๋Š” ํ•˜๋‚˜์˜ anchor๋ฅผ ๋งํ•œ๋‹ค. ๋Š” classification์„ ํ†ตํ•ด์„œ ์–ป์€ ํ•ด๋‹น anchor๊ฐ€ object์ผ ํ™•๋ฅ ์„ ์˜๋ฏธํ•œ๋‹ค. ๋Š” bounding box regression์„ ํ†ตํ•ด์„œ ์–ป์€ ๋ฐ•์Šค ์กฐ์ • ๊ฐ’ ๋ฒกํ„ฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. *์ด ๋ถ™์€ ๋ณ€์ˆ˜๋Š” ground truth label์— ํ•ด๋‹น๋œ๋‹ค.

classification์€ binary cross entropy, regression์€ smooth L1 loss๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

์ฃผ๋ชฉํ•ด์•ผ ํ•  ์ ์€ ๊ฐ๊ฐ ์™€ ๋ฅผ ๊ฐ€์ง„๋‹ค๋Š” ์ ์ด๋‹ค. ๋Š” minibatch ์‚ฌ์ด์ฆˆ์ด๋ฉฐ ๋…ผ๋ฌธ์—์„œ๋Š” 256์ž…๋‹ˆ๋‹ค. ๋Š” ์—ฅ์ปค ๊ฐœ์ˆ˜์— ํ•ด๋‹นํ•˜๋ฉฐ ์•ฝ 2400๊ฐœ (256 x 9)์— ํ•ด๋‹นํ•œ๋‹ค. ์‹ค์ œ ์‹คํ—˜์„ ์ง„ํ–‰ํ–ˆ์„ ๋–„ ์ด๋ถ€๋ถ„์ด ํฐ ๋ถ€๋ถ„์„ ๋‹ด๋‹นํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค๊ณ  ๋งํ•œ๋‹ค. ๋Š” Classifiaction Loss์™€ Regression Loss ์‚ฌ์ด์— ๊ฐ€์ค‘์น˜๋ฅผ ์กฐ์ ˆํ•ด์ฃผ๋Š” ๋ถ€๋ถ„์ธ๋ฐ ๋…ผ๋ฌธ์—์„œ๋Š” 10์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์–ด, ์‚ฌ์‹ค์ƒ ๋‘ ๋กœ์Šค๋Š” ๋™์ผํ•˜๊ฒŒ ๊ฐ€์ค‘์น˜๊ฐ€ ๋งค๊ฒจ์ง„๋‹ค. ์ดํ›„๋Š” Fast R-CNN ๊ตฌ์กฐ์™€ ๊ฐ™๋‹ค. ์ด์ œ ๋‚จ์€ ๊ฒƒ์€ ์–ด๋–ป๊ฒŒ ์ด ๋‘ ๋„คํŠธ์›Œํฌ๋ฅผ ํ•™์Šต์‹œํ‚ค๋Š๋ƒ์— ๋Œ€ํ•œ ๊ฒƒ์ด๋‹ค.

Training Method

ํ•˜์ง€๋งŒ ์ „์ฒด ๋ชจ๋ธ์„ ํ•œ๋ฒˆ์— ํ•™์Šต์‹œํ‚ค๊ธฐ๋ž€ ๋งค์šฐ ์–ด๋ ค์šด ์ž‘์—…์ด๋‹ค. RPN์ด ์ œ๋Œ€๋กœ RoI๋ฅผ ๊ณ„์‚ฐํ•ด๋‚ด์ง€ ๋ชปํ•˜๋Š”๋ฐ ๋’ท ๋‹จ์˜ Classification ๋ ˆ์ด์–ด๊ฐ€ ํ•™์Šต๋  ๋ฆฌ๊ฐ€ ์—†๋‹ค. ์—ฌ๊ธฐ์„œ ์ €์ž๋“ค์€ 4๋‹จ๊ณ„์— ๊ฑธ์ณ์„œ ๋ชจ๋ธ์„ ๋ฒˆ๊ฐˆ์•„์„œ ํ•™์Šต์‹œํ‚ค๋Š” Alternating Training ๊ธฐ๋ฒ•์„ ์ทจํ•œ๋‹ค. ๋ง์ด ์–ด๋ ต์ง€ ๊ทธ๋ƒฅ ๋”ฐ๋กœ ํ•˜๊ณ  ์ง€์ง€๊ณ  ๋ณถ์œผ๋ฉด์„œ ํ•™์Šต์‹œํ‚จ๊ฑฐ๋‹ค.

  1. ImageNet pretrained ๋ชจ๋ธ์„ ๋ถˆ๋Ÿฌ์˜จ ๋‹ค์Œ, RPN์„ ํ•™์Šต์‹œํ‚จ๋‹ค.
  2. 1 ๋‹จ๊ณ„์—์„œ ํ•™์Šต์‹œํ‚จ RPN์—์„œ ๊ธฐ๋ณธ CNN์„ ์ œ์™ธํ•œ Region Proposal ๋ ˆ์ด์–ด๋งŒ ๊ฐ€์ ธ์˜จ๋‹ค. ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ Fast RCNN์„ ํ•™์Šต์‹œํ‚จ๋‹ค. ์ด ๋•Œ , ์ฒ˜์Œ ํ”ผ์ณ๋งต์„ ์ถ”์ถœํ•˜๋Š” CNN๊นŒ์ง€ fine tune ์‹œํ‚จ๋‹ค.
  3. ์•ž์„œ ํ•™์Šต์‹œํ‚จ Fast RCNN๊ณผ RPN์„ ๋ถˆ๋Ÿฌ์˜จ ๋‹ค์Œ, ๋‹ค๋ฅธ ์›จ์ดํŠธ๋“ค์€ ๊ณ ์ •ํ•˜๊ณ  RPN์— ํ•ด๋‹นํ•˜๋Š” ๋ ˆ์ด์–ด๋“ค๋งŒ fine tune ์‹œํ‚จ๋‹ค. ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ RPN๊ณผ Fast RCNN์ด ์ปจ๋ณผ๋ฃจ์…˜ ์›จ์ดํŠธ๋ฅผ ๊ณต์œ ํ•˜๊ฒŒ ๋œ๋‹ค.
  4. ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ณต์œ ํ•˜๋Š” CNN๊ณผ RPN์€ ๊ณ ์ •์‹œํ‚จ ์ฑ„, Fast R-CNN์— ํ•ด๋‹นํ•˜๋Š” ๋ ˆ์ด์–ด๋งŒ fine tune ์‹œํ‚จ๋‹ค.

์˜์˜

  1. region proposal์„ ํ•œ๋ฒˆ์— ์ˆ˜ํ–‰

ํ•œ๊ณ„

  1. ์—ฌ์ „ํžˆ real time์ด๋ผ๊ณ  ํ•˜๊ธฐ์—๋Š” ๋ฌด๋ฆฌ๊ฐ€ ์žˆ์Œ
  2. ์—ฌ์ „ํžˆ ํ•™์Šต๊ณผ์ •์ด ๋ณต์žกํ•˜๊ณ  2step ์ž„

Reference