๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ› Research/Detection & Segmentation

[Object Detection] ๊ฐ์ฒด ๊ฒ€์ถœ ๋ชจ๋ธ (1) : RCNN, SPPNet

by ๋ญ…์ฆค 2024. 8. 11.
๋ฐ˜์‘ํ˜•

๊ฐ์ฒด ๊ฒ€์ถœ(Object Detection)์€ ์ปดํ“จํ„ฐ ๋น„์ „ ๋ถ„์•ผ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ค‘์š”ํ•œ ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜์˜ˆ์š”. ์ด๋ฏธ์ง€๋ฅผ ๋ถ„์„ํ•ด ๊ทธ ์•ˆ์— ์–ด๋–ค ๊ฐ์ฒด๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ์•„๋‚ด๊ณ , ๊ทธ ์œ„์น˜๊นŒ์ง€ ์ •ํ™•ํžˆ ์ฐพ์•„๋‚ด๋Š” ๊ณผ์ •์ด์ฃ . ์ด ๊ธฐ์ˆ ์€ ์ž์œจ์ฃผํ–‰์ฐจ, ์Šค๋งˆํŠธ ์‹œํ‹ฐ, ๋ณด์•ˆ ์‹œ์Šคํ…œ, ์‹ฌ์ง€์–ด๋Š” ์šฐ๋ฆฌ์˜ ์Šค๋งˆํŠธํฐ ์นด๋ฉ”๋ผ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ๊ณณ์—์„œ ํ™œ์šฉ๋˜๊ณ  ์žˆ์–ด์š”.

 

์˜ค๋Š˜์€ ๊ฐ์ฒด ๊ฒ€์ถœ์˜ ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ ํฐ ์—ญํ• ์„ ํ–ˆ๋˜ ๋‘ ๊ฐ€์ง€ ๋ชจ๋ธ์ธ RCNN๊ณผ SPPNet์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ด์š”. ์ด ๋ชจ๋ธ๋“ค์€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€, ์–ด๋–ค ์žฅ๋‹จ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ค‘์š”ํ•œ ์šฉ์–ด๋“ค์€ ๋ฌด์—‡์ธ์ง€ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณผ ๊ฑฐ์˜ˆ์š”. ๊ฐ์ฒด ๊ฒ€์ถœ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ณ , ๊ธฐ์ˆ ์ด ์–ด๋–ป๊ฒŒ ๋ฐœ์ „ํ•ด์™”๋Š”์ง€ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ์ด๋ฒˆ ํฌ์ŠคํŒ…์ด ํฐ ๋„์›€์ด ๋  ๊ฑฐ์˜ˆ์š”! ๐Ÿ˜Š

 

 

๐Ÿ“Œ ๊ฐ์ฒด ๊ฒ€์ถœ ๋ชจ๋ธ ์ „์ฒด ํฌ์ŠคํŒ…


1. RCNN (Region-based Convolutional Neural Networks)

 

RCNN์€ ๊ฐ์ฒด ๊ฒ€์ถœ(Object Detection) ๋ถ„์•ผ์—์„œ ์ตœ์ดˆ๋กœ ์ œ์•ˆ๋œ ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜ ๋ชจ๋ธ ์ค‘ ํ•˜๋‚˜๋กœ, 2014๋…„ Ross Girshick์— ์˜ํ•ด ์†Œ๊ฐœ๋˜์—ˆ์–ด์š”. RCNN์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ž‘์€ ์˜์—ญ(Region)์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ๊ทธ ์˜์—ญ๋งˆ๋‹ค ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•  ๊ฐ€๋Šฅ์„ฑ์„ ํ‰๊ฐ€ํ•˜๋Š” ๊ฑฐ์˜ˆ์š”.

 

RCNN ์ž‘๋™ ๋ฐฉ์‹

  • Selective Search
    • ๋จผ์ €, ์ด๋ฏธ์ง€์—์„œ ๊ฐ์ฒด๊ฐ€ ์žˆ์„ ๋ฒ•ํ•œ ์œ„์น˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด Selective Search๋ผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์š”.
    • ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ด๋ฏธ์ง€์˜ ์ƒ‰์ƒ, ์งˆ๊ฐ, ํฌ๊ธฐ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์œ ์‚ฌํ•œ ์˜์—ญ์„ ๋ฌถ์–ด ํ›„๋ณด ๋ฐ•์Šค(Region Proposal)๋ฅผ ์ƒ์„ฑํ•ด์š”.
    • ์ด ๊ณผ์ •์—์„œ ์•ฝ 2,000๊ฐœ์˜ ํ›„๋ณด ๋ฐ•์Šค๊ฐ€ ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค.
  • Feature Extraction
    • ๊ฐ ํ›„๋ณด ๋ฐ•์Šค๋Š” ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์—, ๊ณ ์ •๋œ ํฌ๊ธฐ(227x227)๋กœ resizeํ•œ ํ›„, Pre-trained CNN์„ ํ†ตํ•ด feature๋ฅผ ์ถ”์ถœํ•ด์š”.
    • ์—ฌ๊ธฐ์„œ Pre-trained๋ผ๋Š” ๊ฒƒ์€, ์ด๋ฏธ ํ•™์Šต๋œ CNN ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ด์š”.
    • ์ด CNN์€ ๋ณดํ†ต ImageNet ๊ฐ™์€ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์—์„œ ๋ฏธ๋ฆฌ ํ•™์Šต๋œ ๋„คํŠธ์›Œํฌ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.
  • Classification
    • ์ถ”์ถœ๋œ feature๋Š” Support Vector Machine (SVM)์„ ์‚ฌ์šฉํ•ด ๊ฐ์ฒด์˜ ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฅ˜ํ•ด์š”.
    • SVM์€ ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ, ์—ฌ๊ธฐ์„œ๋Š” ํ›„๋ณด ๋ฐ•์Šค๊ฐ€ ํŠน์ • ํด๋ž˜์Šค(์˜ˆ: ์ž๋™์ฐจ, ์‚ฌ๋žŒ, ๊ณ ์–‘์ด ๋“ฑ)์— ์†ํ•˜๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • Bounding Box Regression
    • ๋งˆ์ง€๋ง‰์œผ๋กœ, ํ›„๋ณด ๋ฐ•์Šค์˜ ์œ„์น˜๋ฅผ ๋” ์ •ํ™•ํ•˜๊ฒŒ ์กฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด Bounding Box Regression์„ ์ˆ˜ํ–‰ํ•ด์š”.
    • ์ด ๋‹จ๊ณ„์—์„œ๋Š” ๋ฐ•์Šค๊ฐ€ ๊ฐ์ฒด๋ฅผ ์ •ํ™•ํžˆ ํฌํ•จํ•˜๋„๋ก ์œ„์น˜์™€ ํฌ๊ธฐ๋ฅผ ๋ฏธ์„ธ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

 

RCNN์˜ ๋‹จ์ 

RCNN์€ ๊ฐ์ฒด ๊ฒ€์ถœ์— ์žˆ์–ด ํ˜์‹ ์ ์ธ ์ ‘๊ทผ์ด์—ˆ์ง€๋งŒ, ๋ช‡ ๊ฐ€์ง€ ๋‹จ์ ๋„ ์žˆ์—ˆ์–ด์š”:

  • ๋Š๋ฆฐ ์†๋„: RCNN์€ ๊ฐ ํ›„๋ณด ๋ฐ•์Šค๋ฅผ CNN์— ํ†ต๊ณผ์‹œํ‚ค๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ์‚ฐ ์†๋„๊ฐ€ ๋งค์šฐ ๋Š๋ฆฝ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ํ•œ ์žฅ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์ˆ˜ ๋ถ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์–ด์š”.
  • ๊ฐ์ฒด ๋น„์œจ ์™œ๊ณก: ๋ชจ๋“  ํ›„๋ณด ๋ฐ•์Šค๋ฅผ ๋™์ผํ•œ ํฌ๊ธฐ๋กœ resizeํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์›๋ณธ ๊ฐ์ฒด์˜ ๋น„์œจ์ด ์™œ๊ณก๋  ์ˆ˜ ์žˆ์–ด์š”. ์ด๋กœ ์ธํ•ด ์ •ํ™•๋„๊ฐ€ ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

2. SPPNet (Spatial Pyramid Pooling Network)

 

 

SPPNet์€ RCNN์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์ œ์•ˆ๋œ ๋ชจ๋ธ์ด์—์š”. 2014๋…„ Kaiming He์™€ ๊ทธ์˜ ๋™๋ฃŒ๋“ค์— ์˜ํ•ด ๊ฐœ๋ฐœ๋œ SPPNet์€ RCNN๋ณด๋‹ค ๋” ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ๊ฐ์ฒด ๊ฒ€์ถœ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ–ˆ์–ด์š”.

 

SPPNet ์ž‘๋™ ๋ฐฉ์‹

  • ์ด๋ฏธ์ง€ Feature Extraction
    • SPPNet์—์„œ๋Š” ๋จผ์ € ์ด๋ฏธ์ง€๋ฅผ CNN์— ์ž…๋ ฅํ•ด ์ „์ฒด ์ด๋ฏธ์ง€์—์„œ feature map์„ ์ถ”์ถœํ•ด์š”. ์—ฌ
    • ์—ฌ๊ธฐ์„œ CNN์„ ๋‹จ ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— RCNN์— ๋น„ํ•ด ์ค‘๋ณต ๊ณ„์‚ฐ์ด ์—†์–ด์š”. ์ด๋กœ ์ธํ•ด ์—ฐ์‚ฐ ์†๋„๊ฐ€ ํฌ๊ฒŒ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.
  • Selective Search & RoI Extraction
    • RCNN๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Selective Search๋ฅผ ํ†ตํ•ด Region of Interest (RoI), ์ฆ‰ ๊ด€์‹ฌ ์˜์—ญ์„ ์ถ”์ถœํ•ด์š”.
    • ํ•˜์ง€๋งŒ, RCNN๊ณผ ๋‹ฌ๋ฆฌ SPPNet์—์„œ๋Š” RoI์˜ ํฌ๊ธฐ์™€ ๋น„์œจ์ด ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.
  • Spatial Pyramid Pooling (SPP)
    • ๊ฐ RoI๋Š” ํฌ๊ธฐ์™€ ๋น„์œจ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋ฅผ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ feature๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด Spatial Pyramid Pooling (SPP)์ด๋ผ๋Š” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด์š”.
    • SPP๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํฌ๊ธฐ์˜ ์œˆ๋„์šฐ๋ฅผ ์‚ฌ์šฉํ•ด feature map์—์„œ ๋‹ค์–‘ํ•œ ์Šค์ผ€์ผ์˜ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๊ณ , ์ด๋ฅผ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
    • ์ด ๊ณผ์ •์„ ํ†ตํ•ด RoI์˜ ํฌ๊ธฐ์™€ ๋น„์œจ์ด ๋‹ฌ๋ผ๋„ ๋™์ผํ•œ ํฌ๊ธฐ์˜ feature๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.
  • Classification & Bounding Box Regression
    • ๋งˆ์ง€๋ง‰์œผ๋กœ, ์ด ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ feature๋“ค์€ FC layer๋ฅผ ๊ฑฐ์ณ SVM์œผ๋กœ ๋ถ„๋ฅ˜๋˜๊ณ , Bounding Box Regression์„ ํ†ตํ•ด ๋ฐ•์Šค์˜ ์œ„์น˜๋„ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค.

 

SPPNet์˜ ๋‹จ์ 

SPPNet์€ RCNN๋ณด๋‹ค ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ด์ง€๋งŒ, ์—ฌ์ „ํžˆ ๋ช‡ ๊ฐ€์ง€ ํ•œ๊ณ„๊ฐ€ ์žˆ์–ด์š”:

  • ์—ฌ์ „ํžˆ End-to-End ๋ฐฉ์‹์ด ์•„๋‹˜: SPPNet๋„ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ํ•™์Šต์ด ์ง„ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ชจ๋ธ ํ•™์Šต์ด ๋ณต์žกํ•˜๊ณ  ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.
  • ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ์–ด๋ ค์›€: ์ „์ฒด ์ด๋ฏธ์ง€์—์„œ feature๋ฅผ ์ถ”์ถœํ•œ ํ›„์—๋„ ์—ฌ์ „ํžˆ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์˜ ์ฒ˜๋ฆฌ ๊ณผ์ •์ด ํ•„์š”ํ•˜๋ฏ€๋กœ, ์‹ค์‹œ๊ฐ„ ๊ฐ์ฒด ๊ฒ€์ถœ์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์•„์š”.

 

์ฃผ์š” ์šฉ์–ด ์„ค๋ช…

  • Selective Search: ์ด๋ฏธ์ง€์—์„œ ๊ฐ์ฒด๊ฐ€ ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ํ›„๋ณด ์˜์—ญ(Region Proposal)์„ ์ฐพ๊ธฐ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€์˜ ๋‹ค์–‘ํ•œ ํŠน์ง•์„ ๋ถ„์„ํ•ด ์œ ์‚ฌํ•œ ์˜์—ญ์„ ๋ฌถ์–ด๋ƒ…๋‹ˆ๋‹ค.
  • Pre-trained CNN: ์ด๋ฏธ ๋‹ค๋ฅธ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์—์„œ ํ•™์Šต๋œ CNN ๋ชจ๋ธ์„ ์˜๋ฏธํ•ด์š”. ๊ฐ์ฒด ๊ฒ€์ถœ์—์„œ feature๋ฅผ ์ถ”์ถœํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • Feature Map: CNN์„ ํ†ตํ•ด ์ถ”์ถœ๋œ ์ด๋ฏธ์ง€์˜ ํŠน์„ฑ ๋งต์ด์—์š”. ์ž…๋ ฅ ์ด๋ฏธ์ง€์˜ ์‹œ๊ฐ์  ํŠน์ง•๋“ค์ด ์••์ถ•๋œ ํ˜•ํƒœ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค.
  • SVM (Support Vector Machine): ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. RCNN๊ณผ SPPNet์—์„œ ์ถ”์ถœ๋œ feature๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐ์ฒด์˜ ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ผ์š”.
  • Bounding Box Regression: ๊ฐ์ฒด๋ฅผ ์ •ํ™•ํžˆ ๋‘˜๋Ÿฌ์‹ธ๋Š” ๋ฐ•์Šค๋ฅผ ๋” ์ •ํ™•ํ•˜๊ฒŒ ์กฐ์ •ํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์„ ํ†ตํ•ด ๊ฒ€์ถœ๋œ ๊ฐ์ฒด์˜ ์œ„์น˜์™€ ํฌ๊ธฐ๊ฐ€ ๋” ์ •ํ™•ํ•ด์ ธ์š”.
  • Region of Interest (RoI): ์ด๋ฏธ์ง€์—์„œ ๊ด€์‹ฌ ์žˆ๋Š” ์˜์—ญ์„ ๋งํ•ด์š”. ๊ฐ์ฒด๊ฐ€ ํฌํ•จ๋œ ๋ถ€๋ถ„์„ ์˜๋ฏธํ•˜๋ฉฐ, RoI๋Š” Selective Search ๋“ฑ์œผ๋กœ ์ถ”์ถœ๋ฉ๋‹ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ RCNN๊ณผ SPPNet์— ๋Œ€ํ•ด ์ƒ์„ธํžˆ ์•Œ์•„๋ดค์–ด์š”. ์ด ๋‘ ๋ชจ๋ธ์€ ๊ฐ์ฒด ๊ฒ€์ถœ ๊ธฐ์ˆ ์˜ ์ดˆ์„์„ ๋‹ค์กŒ์ง€๋งŒ, ํ•œ๊ณ„๋„ ๋ถ„๋ช…ํ–ˆ์–ด์š”. ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ด๋Ÿฌํ•œ ํ•œ๊ณ„๋ฅผ ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ–ˆ๋Š”์ง€ ์‚ดํŽด๋ณผ ๊ฑฐ์˜ˆ์š”! ๐Ÿ˜Š

๋ฐ˜์‘ํ˜•