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

์ž…๋ ฅ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋‚˜ ๋น„์œจ์— ๊ด€๊ณ„์—†์ด CNN ํ•™์Šต์€ ๋ถˆ๊ฐ€ํ•œ๊ฐ€?

Fast R-CNN์œผ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ์ „ ์ƒ๋‹นํžˆ ๋งŽ์€ ์•„์ด๋””์–ด๋ฅผ ๊ฐ€์ ธ์˜จ ๋…ผ๋ฌธ์ด๋‹ค. ์ด์ „์˜ R-CNN์„ ๋ณด๊ฒŒ๋˜๋ฉด, proposal roi๊ฐ€ CNN์— ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ•˜๋Š” ํ•œ๊ณ„๊ฐ€ ์กด์žฌํ–ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ €์ž๋“ค์€ ์˜๋ฌธ์„ ๊ฐ–๋Š”๋‹ค. ์ด ์ œํ•œ ์š”์†Œ๋ฅผ ์—†์•ค ์ƒํƒœ๋กœ CNN์„ ํ•™์Šต์‹œํ‚ค๋Š” ๊ฒƒ์ด๋‹ค.

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

์‚ฌ์‹ค CNN์˜ ์ž…๋ ฅ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋Š” ๊ณ ์ •๋  ํ•„์š”๊ฐ€ ์—†๋‹ค. CNN์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด๋Š” filter๋ฅผ ๊ฐ€์ง€๊ณ  ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๊ณ , ์ด๊ฒƒ์˜ ์—ฐ์‚ฐ ๋ฐฉ์‹์€ sliding window ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค. ํ•˜์ง€๋งŒ, ์ด ์ž…๋ ฅ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •์ด์–ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š”, ๋งˆ์ง€๋ง‰์— ๋„์ถœ๋˜๋Š” fully connected layer์˜ ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •์ ์œผ๋กœ ๋‚˜์™€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด ๋ฌธ์ œ์ ์œผ๋กœ ๋ถ€ํ„ฐ SPPNet๊ฐ€ ์ œ์•ˆ๋œ๋‹ค.

์ž…๋ ฅ ์ด๋ฏธ์ง€ ์ƒ๊ด€ ์—†์ด ํ†ต๊ณผ์‹œํ‚ค๊ณ , FC ์ „์— polling์„ ํ†ตํ•ด์„œ ๋™์ผํ•œ ํฌ๊ธฐ๋กœ ๋งŒ๋“ค์ž!

๊ต‰์žฅํžˆ ๋‹จ์ˆœํ•œ ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•˜์˜€๋‹ค. (โ€ฆ) ์ด๋Ÿฐ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, ์›๋ณธ ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ๊ณ ์Šค๋ž€ํžˆ ๊ฐ„์งํ•œ feature map์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ์ถ”๊ฐ€์ ์œผ๋กœ ๋น„์œจ๋„ ์กฐ์ ˆํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ์‚ฌ๋ฌผ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ฅธ ๋ณ€ํ™”๋„ ๊ฐ์ง€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

์œ„์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด Crop ํ›„ conv์— ๋„ฃ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ , feature map์„ ๋งŒ๋“  ํ›„, ์ด๋ฅผ SSPNet์— ๋„ฃ์–ด ๋ชจ์–‘์„ ๋งž์ถ˜ ํ›„์— output์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜

  1. ์ „์ฒด ์ด๋ฏธ์ง€๋ฅผ pretrained model์„ ํ†ต๊ณผ์‹œ์ผœ feature map์„ ์ถ”์ถœํ•œ๋‹ค.
  2. ํ•ด๋‹น feature map์œผ๋กœ ๋ถ€ํ„ฐ selective search๋ฅผ ํ†ตํ•ด ROI๋ฅผ ๋ฝ‘์•„๋‚ธ๋‹ค. ์ด ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ROI๋Š” ๋ชจ๋‘ ํฌ๊ธฐ์™€ ๋น„์œจ์ด ๋‹ค๋ฅด๋‹ค. ์—ฌ๊ธฐ์„œ **SSPNet**์„ ์ ์šฉํ•˜์—ฌ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ feature vector๋ฅผ ์ถ”์ถœํ•œ๋‹ค.
  3. FC layer๋ฅผ ํ†ต๊ณผ์‹œํ‚จ๋‹ค.
  4. ์•ž์„œ ์ถ”์ถœํ•œ ๋ฒกํ„ฐ๋กœ ๊ฐ ์ด๋ฏธ์ง€ ํด๋ž˜์Šค ๋ณ„๋กœ SVM์„ ํ•™์Šต์‹œํ‚จ๋‹ค.
  5. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ•ด๋‹น ๋ฒกํ„ฐ๋กœ bounding box regressor๋ฅผ ํ•™์Šต์‹œํ‚จ๋‹ค.

Spatial Pyramid Pooling

๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ SPP๊ฐ€ ๋Œ์•„๊ฐ€๋Š”์ง€ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค. ๋จผ์ € CNN์„ ๊ฑฐ์นœ feature map์„ input์œผ๋กœ ๋ฐ›๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์„ ๋ฏธ๋ฆฌ ์ •ํ•ด์ ธ ์žˆ๋Š” ์˜์—ฌ๊ธ๋กœ ๋‚˜๋ˆ„์–ด ์ค€๋‹ค. ์œ„์˜ ์˜ˆ์‹œ์—์„œ๋Š” 4x4, 2x2, 1x1 3๊ฐœ์˜ ์˜์—ญ์ด ์ ์šฉ๋˜์–ด ์žˆ๊ณ , ์ด ๊ฐ๊ฐ์„ ํ•˜๋‚˜์˜ ํ”ผ๋ผ๋ฏธ๋“œ๋ผ ๋ถ€๋ฅธ๋‹ค. ์ฆ‰, 3๊ฐœ์˜ ํ”ผ๋ผ๋ฏธ๋“œ๋ฅผ ์„ค์ •ํ•œ ๊ฒƒ.

์ด ํ”ผ๋ผ๋ฏธ๋“œ๋Š” 4x4 ์งœ๋ฆฌ ๊ณ ์ •๋œ CNN ํ•„ํ„ฐ ๊ฐ™์€ ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ์–ด๋– ํ•œ input์ด ๋“ค์–ด์˜ค๋”๋ผ๋„ 4x4 ๊ฒฉ์ž๋กœ ๋งŒ๋“ ๋‹ค๋Š” ํ‘œํ˜„์ด ๋” ๋งž๋Š” ํ‘œํ˜„์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ž…๋ ฅ์ด 64 x 64 x 256 ํฌ๊ธฐ์˜ ํ”ผ์ณ ๋งต์ด ๋“ค์–ด์˜จ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, 4x4์˜ ํ”ผ๋ผ๋ฏธ๋“œ์˜ bin์˜ ํฌ๊ธฐ๋Š” 16x16์ด ๋œ๋‹ค.

์ด์ œ ์ด ๊ฐ๊ฐ์˜ bin์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’๋งŒ ์ถ”์ถœํ•˜๋Š” max pooling์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ญ‰ ์ด์–ด ๋ถ™์ธ๋‹ค. ์ž…๋ ฅ feature map์˜ ์ฑ„๋„ ํฌ๊ธฐ๊ฐ€ k, bin์˜ ๊ฐœ์ˆ˜๋ฅผ M์ด๋ผ ํ•œ๋‹ค๋ฉด, ํ•ด๋‹น SSP์˜ output์€ k x M์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„ 1์ฐจ์›์˜ ๋ฒกํ„ฐ๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.

ํ•œ๊ณ„

  1. ์—ฌ์ „ํžˆ multi stage model์ด๋‹ค.
  2. ์—ฌ์ „ํžˆ SVM, selective search๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  3. feature map์„ ๋งŒ๋“ค์–ด๋‚ด๋Š” network๋ฅผ ํ•™์Šต์‹œํ‚ค์ง€ ๋ชปํ•œ๋‹ค.

Reference