[CV] RCNN, Fast R-CNN, Faster R-CNN
2021๋ ๋จธ์ ๋ฌ๋ ์คํฐ๋์์ ์งํํ์๋ 'R-CNN, Fast R-CNN, Faster R-CNN' ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ๋ฅผ ์ฌ๊ตฌ์ฑํ ํฌ์คํ ์์ ๋ฏธ๋ฆฌ ์๋ ค๋๋ฆฝ๋๋ค.
introduction
์ ๋ ผ๋ฌธ์ CV(Computer Vision), ์ฆ ์ด๋ฏธ์น ์ฒ๋ฆฌ์ ์์ด ๊ธฐ๋ฐ์ด ๋๋ ๋ ผ๋ฌธ์ ๋๋ค.
์ค๋์ R-CNN, Fast R-CNN, Faster R-CNN์ ๋ํด ์ด์ผ๊ธฐํด๋ณด๊ณ ์ ํฉ๋๋ค.
์ฐ์ ์ด ๊ธฐ๋ฒ๋ค์ด ๋ฌด์์ธ๊ฐ์ ๋ํด ์์๋ณผ ํ์๊ฐ ์์ต๋๋ค. ์ 3๊ฐ์ง ๊ธฐ์ ๋ค์ Object Detection, ์ฆ ์ฌ๋ฌผ์ ์ธ์ํ๋ ๋ฐฉ๋ฒ์ ๋ค์ด๊ฐ๋ ํ๋์ ๊ธฐ๋ฒ์
๋๋ค.
๊ทธ๋ ๋ค๋ฉด Object Detection์ ๋ฌด์์ผ๊น์?
Object Detection (์ฌ๋ฌผ์ ์ธ์ํ๋ ๋ฐฉ๋ฒ)
์ด๋ฏธ์ง ๋ด์์ ์ฌ๋ฌผ์ ์ธ์ํ๋ ๋ฐฉ๋ฒ์๋ ๋ค์ํ ์ ํ์ด ์กด์ฌํฉ๋๋ค. ์ฌ๋ฌ ๋ฌผ์ฒด์ ๋ํด ์ด๋ค ๋ฌผ์ฒด์ธ์ง ๋ถ๋ฅํ๋ ๊ฒ์ Classification์ด๋ผ ํฉ๋๋ค.
๋ํ ๊ทธ ๋ฌผ์ฒด๊ฐ ์ด๋ ์๋์ง ๋ฐ์ค๋ฅผ ํตํด ์์น ์ ๋ณด๋ฅผ ๋ํ๋ด๋ ๊ฒ์ Localization์ด๋ผ ํฉ๋๋ค.
Object Detection์ด๋, ๋ค์์ ์ฌ๋ฌผ์ด ์กด์ฌํ๋ ์ํฉ์์ ๊ฐ ์ฌ๋ฌผ์ ์์น์ ํด๋์ค๋ฅผ ์ฐพ๋ ์์
์ ๋งํฉ๋๋ค.
1-Stage Detector vs 2-Stage Detector
Deep Learning์ ์ด์ฉํ object detection์ ํฌ๊ฒ 1-stage detector์ 2-stage detector๋ก ๋๋ ์ ์์ต๋๋ค. ์๋ ๊ทธ๋ฆผ์ ํตํด ์ค๋ช ์ ์ด์ด ์งํํ๊ฒ ์ต๋๋ค.
๊ฐ์ด๋ฐ ์ํ ํ์ดํ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ์ชฝ์ ์์นํ ๋
ผ๋ฌธ๋ค์ด 2-stage detector ๋
ผ๋ฌธ๋ค์ด๊ณ , ์๋ ์ชฝ์ ์์นํ ๋
ผ๋ฌธ๋ค์ด 1-stage detector ๋
ผ๋ฌธ๋ค ์
๋๋ค. ์ด๋ฒ ์๊ฐ์๋ ์ ์ชฝ์ ์์นํ 2-stage detector ๋
ผ๋ฌธ๋ค์ ๋ํด ๊ณต๋ถํด๋ณผ ์์ ์
๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ฌ๊ธฐ์ ๊ณ์ ๋์ค๋ ๋ง, stage detector๋ ๋ฌด์์ด๊ณ , 1, 2 stage detector์ ์ฐจ์ด๋ ๋ฌด์์ผ๊น์??
Object Detection ๋ฌธ์ ๋ ์์์ ์ด์ผ๊ธฐํ์๋ฏ์ด ๋ฌผ์ฒด์ ์์น๋ฅผ ์ฐพ๋ localization ๋ฌธ์ ์, ๋ฌผ์ฒด๋ฅผ ์๋ณํ๋ classification ๋ฌธ์ ๋ฅผ ํฉํ ๊ฒ์
๋๋ค.
1-stage detector๋ ์ด ๋ ๋ฌธ์ ๋ฅผ ๋์์ ํํ๋ ๋ฐฉ๋ฒ์ด๊ณ , 2-stage detector๋ ์ด ๋ ๋ฌธ์ ๋ฅผ ์์ฐจ์ ์ผ๋ก ํํ๋ ๋ฐฉ๋ฒ์
๋๋ค.
๋ฐ๋ผ์ 1-stage detector๊ฐ ๋น๊ต์ ๋น ๋ฅด์ง๋ง ์ ํ๋๊ฐ ๋ฎ๊ณ , ๋ฐ๋๋ก 2-stage detector๊ฐ ๋น๊ต์ ๋๋ฆฌ์ง๋ง ์ ํ๋๊ฐ ๋์ต๋๋ค.
์ค๋ ์ฐ๋ฆฌ๊ฐ ์ค์ ์ ์ผ๋ก ๋ค๋ฃฐ R-CNN, Fast R-CNN, Faster R-CNN์ 2-stage detector์ ๋ํ์ ์ธ ๊ธฐ๋ฒ์
๋๋ค. (์ฐธ๊ณ ๋ก 1-stage์๋ YOLO ๊ณ์ด๊ณผ SSD ๊ณ์ด์ด ํฌํจ๋ฉ๋๋ค.)
R-CNN: Regions with CNN features
Object Detection ๋ถ์ผ์์ ์ต์ด๋ก ๋ฅ๋ฌ๋(CNN)์ ์ ์ฉ์ํจ ๊ฒ์ด R-CNN์ ๋๋ค. ๋ ผ๋ฌธ์์ ์๊ฐํ๋ R-CNN์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Selective search๋ฅผ ์ด์ฉํด 2,000๊ฐ์ ROI(Region of Interest)๋ฅผ ์ถ์ถ.
- ๊ฐ ROI์ ๋ํ์ฌ wraping์ ์ํํ์ฌ ๋์ผํ ํฌ๊ธฐ์ ์ ๋ ฅ ์ด๋ฏธ์ง๋ก ๋ณ๊ฒฝ.
- Warped image๋ฅผ CNN์ ๋ฃ์ด์(forward) ์ด๋ฏธ์ง feature๋ฅผ ์ถ์ถ.
- ํด๋น feature๋ฅผ SVM์ ๋ฃ์ด ํด๋์ค(class) ๋ถ๋ฅ ๊ฒฐ๊ณผ๋ฅผ ์ป์.
- ์ด๋ ๊ฐ ํด๋์ค์ ๋ ๋ฆฝ์ ์ผ๋ก ํ๋ จ๋ ์ด์ง(binary) SVM์ ์ฌ์ฉ.
- ํด๋น feature๋ฅผ regressor์ ๋ฃ์ด ์์น(bounding box)๋ฅผ ์์ธก.
R-CNN์ 2-stage detector๋ก์ ์ ์ฒด task๋ฅผ ๋ ๊ฐ์ง ๋จ๊ณ๋ก ๋๋์ด ์งํํฉ๋๋ค.
์ฒซ๋ฒ์งธ ๋จ๊ณ๋ Region Proposal๋ก ๋ฌผ์ฒด์ ์์น๋ฅผ ์ฐพ๋ ์ผ์ด๊ณ , ๋๋ฒ์งธ ๋จ๊ณ๋ Region Classification์ผ๋ก ๋ฌผ์ฒด๋ฅผ ๋ถ๋ฅํ๋ ์ผ์
๋๋ค.
์ด ๋ ผ๋ฌธ์์๋ ์ ๋ task๋ฅผ ํํ๊ธฐ ์ํด ๊ตฌ์กฐ๋ฅผ ์๋์ 3๊ฐ์ง ๋ชจ๋๋ก ๋๋์ด ๋์์ต๋๋ค.
- ์นดํ ๊ณ ๋ฆฌ์ ๋ฌด๊ดํ๊ฒ ๋ฌผ์ฒด์ ์์ญ์ ์ฐพ๋ ๋ชจ๋์ธ Region Proposal
- ๊ฐ๊ฐ์ ์์ญ์ผ๋ก๋ถํฐ ๊ณ ์ ๋ ํฌ๊ธฐ์ Feature Vector๋ฅผ ๋ฝ์๋ด๋ Large Convolutional Neural Network์ธ CNN
- Classification์ ์ํ ์ ํ ์ง๋ํ์ต ๋ชจ๋ธ์ธ Support Vector Machine์ธ SVM
CNN์ ๊ฒฝ์ฐ, ์ด์ ๋
ผ๋ฌธ์ธ ImageNet Classification with Deep Convolutional Neural Networks์์ ์ด์ผ๊ธฐ ํ๊ธฐ์ ์๋ตํ๊ณ ,
Region proposal๊ณผ SVM์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
Region Proposal (์์ญ ์ฐพ๊ธฐ)
R-CNN์ ๊ตฌ์กฐ๋ฅผ ์กฐ๊ธ ๋ ์์ธํ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. R-CNN์ Region Proposal ๋จ๊ณ์์ Selective Search๋ผ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์์ต๋๋ค.
Selective Search ์๊ณ ๋ฆฌ์ฆ์ Segmentation ๋ถ์ผ์ ๋ง์ด ์ฐ์ด๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ฉฐ, ๊ฐ์ฒด์ค ์ฃผ๋ณ ๊ฐ์ ์๊ฐ(Color), ์ง๊ฐ(Texture) ์ฐจ์ด, ๋ค๋ฅธ ๋ฌผ์ฒด์ ๋๋ฌ ์ธ์ฌ ์๋์ง(Enclosed) ์ฌ๋ถ ๋ฑ์ ํ์
ํด์ ๋ค์ํ ์ ๋ต์ผ๋ก ๋ฌผ์ฒด์ ์์น๋ฅผ ํ์
ํ ์ ์๋๋ก ํ๋ ์๊ณ ๋ฆฌ์ฆ ์
๋๋ค.
์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด Bounding box๋ค์ Randomํ๊ฒ ๋ง์ด ์์ฑ์ ํ๊ณ , ์ด๋ค์ ์กฐ๊ธ์ฉ Mergeํด ๋๊ฐ๋ฉด์ ๋ฌผ์ฒด๋ฅผ ์ธ์ํด ๋๊ฐ๋ ๋ฐฉ์์ผ๋ก ๋์ด์์ต๋๋ค.
์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ํด์๋ "๋ฌผ์ฒด์ ์์น๋ฅผ ํ์
ํ๊ธฐ ์ํ ์๊ณ ๋ฆฌ์ฆ์ด๊ตฌ๋" ์ ๋๋ก ์ดํดํ๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด์ ๊ด๋ จํ ๋
ผ๋ฌธ๋ Selective Search๋
ผ๋ฌธ์ด ์์ต๋๋ค.
R-CNN์์๋ Selective Search ์๊ณ ๋ฆฌ์ฆ์ ํตํด ํ ์ด๋ฏธ์ง์์ 2,000๊ฐ์ Region์ ๋ฝ์๋ด๊ณ , ์ด๋ค์ ๋ชจ๋ CNN์ ๋ฃ๊ธฐ ์ํด ๊ฐ์ ์ฌ์ด์ฆ(224*224)๋ก ์์ถํ์ฌ ํต์ผ์ํค๋ ์์ (Wraping)์ ๊ฑฐ์นฉ๋๋ค.
SVM (Support Vector Machine)
CNN ๋ชจ๋ธ๋ก๋ถํฐ Feature๊ฐ ์ถ์ถ์ด ๋๊ณ Training Label์ด ์ ์ฉ๋๊ณ ๋๋ฉด, Linear SVM์ ์ด์ฉํ์ฌ classification์ ์งํํฉ๋๋ค.(Category-Specific Linear SVMs)
์ฌ๊ธฐ์ ์๋ฌธ์ ์ด ๋๋ ๋ถ๋ถ๋ค์ด ์์ต๋๋ค. ๋ถ๋ช
CNN์์ Classifier๋ก softmax๋ฅผ ์ฌ์ฉํ ๊ฒ ๊ฐ์๋ฐ R-CNN์์๋ ์ SVM์ ์ฌ์ฉํ์์๊น? ๋ผ๋ ์๋ฌธ์ ๋ง์
๋๋ค.
์ด ๋
ผ๋ฌธ์์๋ CNN์ fine-tunningํ ๋, ์ด๋ฏธ์ง์ positive/negative examples์ SVM์ ํ์ตํ ๋์ ์ด๋ฏธ์ง์ positive/negative examples๋ฅผ ๋ฐ๋ก ์ ์ํ์ต๋๋ค.
CNN fine-tunning์์๋ IoU๊ฐ 0.5๊ฐ ๋์ผ๋ฉด positive๋ก ๋์๊ณ , ์ด์ธ์๋ "background"๋ก labeledํด ๋์์ต๋๋ค.
์ฌ๊ธฐ์ IoU๋, Intersection ove Union์ ์ค์๋ง๋ก, ๋ ๋ฐ์ด๋ฉ ๋ฐ์ค๊ฐ ๊ฒน์น๋ ๋น์จ์ ์๋ฏธํฉ๋๋ค.
์ฑ๋ฅ ํ๊ฐ๋ฅผ ์์๋ก ๋ค์๋ฉด, mAP@0.5๋ ์ ๋ต๊ณผ ์์ธก์ IoU๊ฐ 50% ์ด์์ผ ๋ ์ ๋ต์ผ๋ก ํ์ ํ๊ฒ ๋ค๋ ์๋ฏธ๋ฅผ ๋งํ๋ฉฐ, NMS ๊ณ์ฐ์ ์์๋ก ๋ค์๋ฉด, ๊ฐ์ ํด๋์ค(class)๋ผ๋ฆฌ IoU๊ฐ 50% ์ด์์ผ ๋ ๋ฎ์ confidence์ box๋ฅผ ์ ๊ฑฐํ๋ค๋ ์๋ฏธ์
๋๋ค.
์ด๋, mAP๋ mean Average Precision์ ์๋ฏธํฉ๋๋ค. ์ด๋ฌํ ์ ๋ณด๋ Computer Vision ๋ถ์ผ์์ ์ฑ๋ฅํ๊ฐ ์งํ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
๋ฐ๋ฉด์ SVM์ ํ์ตํ ๋์ ground-truth boxes๋ง positive example๋ก ๋๊ณ , IoU๊ฐ 0.3 ๋ฏธ๋ง์ ๋ชจ๋ negative, ๋๋จธ์ง๋ ์ ๋ถ ๋ฌด์ํ๊ฒ ๋ฉ๋๋ค.
SVM์ CNN fine-tunning๊ณผ ๊ฐ์ ๊ฐ์ ๋๊ณ ํ์ตํ์ ๋ ํจ์ฌ ์ฑ๋ฅ์ด ์ ์ข๊ฒ ๋์๋ค๊ณ ํฉ๋๋ค.
์๊ธฐ์์ผ๋ก fine-tunning ํ์ต ๋ฐ์ดํฐ๊ฐ ๋ง์ง ์์๊ธฐ ๋๋ฌธ์ IoU๊ฐ 0.5~1 ์ฌ์ด์ positive ์์ญ๋ค์ด ๋ค์ ์ ํํ์ง ์์๊ณ , ๋๋ฌธ์ ๋ฐ๋ก softmax classifier๋ฅผ ์ ์ฉ์์ผฐ์ ๋ ์ฑ๋ฅ์ด ์ข์ง ์์์ ์์ ๊ฐ์ด SVM์ ํ์ตํ๋ ๊ณผ์ ์ด ํ์ํ๋ค๊ณ ๋ณด์ฌ์ง๋๋ค.
์ด์ฐ๋๋ SVM์ CNN์ผ๋ก๋ถํฐ ์ถ์ถ๋ ๊ฐ๊ฐ์ feature vector๋ค์ ์ ์๋ฅผ class ๋ณ๋ก ๋งค๊ธฐ๊ณ , ๊ฐ์ฒด์ธ์ง ์๋์ง, ๊ฐ์ฒด๋ผ๋ฉด ์ด๋ค ๊ฐ์ฒด์ธ์ง ๋ฑ์ ํ๋ณํ๋ classifier์
๋๋ค.
R-CNN ๋
ผ๋ฌธ์์๋ ์ด์ ๋ํ ์ค๋ช
์ ๊ธฐ์ฌํด ๋์์ต๋๋ค.
VOC2007 ๋ฐ์ดํฐ์
๊ธฐ์ค์ผ๋ก Softmax๋ฅผ ์ฌ์ฉํ์์ ๋ mAP๊ฐ์ด 54.2%์์ 50.9%๋ก ๋จ์ด์ก๋ค๊ณ ํฉ๋๋ค.
R-CNN: Bounding Box Regression
Selective Search๋ก ๋ง๋ค์ด๋ธ Bounding Box๋ ์๋ฌด๋๋ ์์ ํ ์ ํํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ฌผ์ฒด๋ฅผ ์ ํํ ๊ฐ์ธ๋๋ก ์กฐ์ ํด์ฃผ๋ ์ ํํ๊ท ๋ชจ๋ธ(Bounding Box Regression) ์ ๋ฃ์์ต๋๋ค. ์ค๋ช
์ ๊ฐํธํ๋ฅผ ์ํด bounding box๋ฅผ bBox๋ก ๋ช
์ํ๊ฒ ์ต๋๋ค.
bBox์ input ๊ฐ์ N๊ฐ์ Training Pairs๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
x, y, w, h๋ ๊ฐ๊ฐ bBox์ x, y์ขํ(์์น), width(๋๋น), height(๋์ด) ๋ฅผ ๋ป ํฉ๋๋ค.
P๋ ์ ํ๋ bBox์ด๊ณ G๋ Ground Truth(์ค์ ๊ฐ) bBox์
๋๋ค.
์ ํ๋ P๋ฅผ G์ ๋ง์ถ๋๋ก transform ํ๋ ๊ฒ์ ํ์ตํ๋ ๊ฒ์ด Bounding Box Regression์ ๋ชฉํ์
๋๋ค.
R-CNN์ ํ๊ณ์
R-CNN์ ์ด์ Object Detection ๋ฐฉ๋ฒ๋ค์ ๋นํด ๊ต์ฅํ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์๋ค๋ ๊ฒ์ ๋ถ๋ช ํ์ง๋ง ๋ช ํํ ๋ช๋ช ๋จ์ ๋ค์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- ์ ๋ ฅ ์ด๋ฏธ์ง์ ๋ํ์ฌ CPU ๊ธฐ๋ฐ์ Selective Search๋ฅผ ์งํํด์ผ ํ๋ฏ๋ก ๋ง์ ์๊ฐ์ด ์์๋ฉ๋๋ค.
- ๋ชจ๋ RoI๋ฅผ CNN์ ๋ฃ์ด์ผ ํ๊ธฐ ๋๋ฌธ์ 2,000๋ฒ์ CNN ์ฐ์ฐ์ด ํ์ํฉ๋๋ค.
- ํ์ต(training)๊ณผ ํ๊ฐ(testing) ๊ณผ์ ์์ ๋ง์ ์๊ฐ์ด ํ์ํฉ๋๋ค.
- ์ ์ฒด ์ํคํ
์ฒ์์ SVM, Regressor ๋ชจ๋์ด CNN๊ณผ ๋ถ๋ฆฌ๋์ด ์์ต๋๋ค.
- CNN์ ๊ณ ์ ๋๋ฏ๋ก, SVM๊ณผ Bounding Box Regression ๊ฒฐ๊ณผ๋ก CNN์ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
- ๋ค์ ๋งํด end-to-end ๋ฐฉ์์ผ๋ก ํ์ตํ ์ ์์ต๋๋ค.
๋ง์ง๋ง ์ค์ ์ ๋ฆฌํ์๋ฉด Back Propagation์ด ์๋๋ค ๊ณ ๋ณผ ์ ์์ต๋๋ค. R-CNN์ Multi-stage Trainig์ ์ํํ๋ฉฐ, SVM, Bounding Box Regression์์ ํ์ตํ ๊ฒฐ๊ณผ๊ฐ CNN์ ์ ๋ฐ์ดํธ ์ํค์ง ๋ชปํ๋ ๊ฒ์ ๋๋ค.
์ด๋ฌํ ํ๊ณ๊ฐ ์กด์ฌํ์ง๋ง, R-CNN์ ์ต์ด๋ก Object Detection์ ๋ฅ๋ฌ๋ ๋ฐฉ๋ฒ์ธ CNN์ ์ ์ฉ์์ผฐ๋ค๋ ์ ๊ณผ ์ดํ 2-Stage detector๋ค์ ๊ตฌ์กฐ์ ๋ง๋ํ ์ํฅ์ ๋ฏธ์ณค๋ค๋ ์ ์์ ์๋ฏธ๊ฐ ํฐ ๋ ผ๋ฌธ์ ๋๋ค.
๋ค์์ผ๋ก ๋ฑ์ฅํ Fast R-CNN์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
Fast R-CNN
**Fast R-CNN*๋ R-CNN๊ณผ ๋๊ฐ์ด ์ฒ์์ Selective Search๋ฅผ ํตํด Region Proposal์ ๋ฝ์๋ด๊ธด ํฉ๋๋ค.
ํ์ง๋ง R-CNN๊ณผ ๋ค๋ฅด๊ฒ ๋ฝ์๋ธ ์์ญ์ Cropํ์ง ์๊ณ ๊ทธ๋๋ก ๊ฐ์ง๊ณ ์๊ณ , ์ ์ฒด ์ด๋ฏธ์ง๋ฅผ CNN Model์ ์ง์ด ๋ฃ์ ํ CNN์ผ๋ก๋ถํฐ ๋์จ Feature Map์ RoI Projection์ ํ๋ ๋ฐฉ์์ ํํ์ต๋๋ค.
์ฆ, input image 1์ฅ์ผ๋ก๋ถํฐ CNN Model์ ๋ค์ด๊ฐ๋ ์ด๋ฏธ์ง๋ 2,000์ฅ โ 1์ฅ์ด ๋์์ต๋๋ค.
์ด Projection ํ bBox๋ค์ RoI Pooling ํ๋ ๊ฒ์ด Fast R-CNN์ ํต์ฌ์
๋๋ค.
Projection์ํจ RoI๋ฅผ **FCs(Fully Connected Layer)**์ ๋ฃ๊ธฐ ์ํด์๋ ๊ฐ์ Resolution์ Feature map์ด ํ์ํฉ๋๋ค.
ํ์ง๋ง Selective Search๋ฅผ ํตํด ๊ตฌํด์ก๋ RoI ์์ญ์ ๊ฐ๊ฐ ๋ค๋ฅธ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๋ฐ๋ผ์ ์ด Resolution์ ํฌํค๋ฅผ ๋ง์ถ๊ธฐ ์ํด RoI Pooling์ ์ํํฉ๋๋ค.
RoI Pooling์ ๊ฐ๋จํ ๋งํด์ ํฌ๊ธฐ๊ฐ ๋ค๋ฅธ Feature Map์ Region๋ง๋ค Stride๋ฅผ ๋ค๋ฅด๊ฒ Max Pooling์ ์งํํ์ฌ ๊ฒฐ๊ณผ๊ฐ์ ๋ง์ถ๋ ๋ฐฉ๋ฒ์
๋๋ค.
๋ง์ง๋ง์ผ๋ก Fixed Length Feature Vector๋ฅผ FCs์ ์ง์ด๋ฃ์ ํ ๋ ์์ layer์ธ output layer๋ก ๋ป์ด ๋๊ฐ Classification๊ณผ bBOx Regression์ ์งํํฉ๋๋ค.
์ด๋ R-CNN๊ณผ ๋น์ทํ๊ฒ ์งํ๋์ง๋ง Fast R-CNN์ Softmax๋ฅผ ์ฌ์ฉํ์ฌ Classification์ ์งํํ์๋ค๋ ์ ์์ ์ฐจ์ด๋ฅผ ๋ณด์
๋๋ค.
์ดํ ๋ฑ์ฅํ Faster R-CNN์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
Faster R-CNN
Faster R-CNN์ ๋
ผ๋ฌธ์์๋, Region Proposal ๋ฐฉ๋ฒ์ GPU๋ฅผ ํตํ ํ์ต์ผ๋ก ์งํํ๋ฉด ํ์คํ ์ฑ๋ฅ์ด ์ฆ๊ฐํ ๊ฒ์ด๋ผ๊ณ ๋งํ๊ณ ์์ต๋๋ค.
๋ฐ๋ผ์ Faster R-CNN์ Deep Network๋ฅผ ์ฌ์ฉํ์ฌ Region Proposal๋ฅผ ์งํํ๋ **RPN (Region Proposal Networks)**๋ฅผ ์๊ฐํฉ๋๋ค.
Faster R-CNN: Region Proposal Network(RPN)
RPN์ input์ image์ Feature Map์ด๊ณ , output์ Object proposal๋ค์ Sample์
๋๋ค.
์ด Sample๋ค์ Fast R-CNN๊ณผ ๋์ผํ๊ฒ RoI Pooling์ ํ ํ, Classification, bBox Regression์ ์งํํฉ๋๋ค.
Pretrained๋ CNN์ ๊ฑฐ์ณ์ ๋์จ Feature Map์ ZFNet ๊ธฐ์ค์ผ๋ก 256-d, VGG-16 ๊ธฐ์ค์ผ๋ก 512-d๋ฅผ ๊ฐ๊ฒ๋ฉ๋๋ค.(์ฌ๊ธฐ์ d๋ ์ฐจ์์ผ๋ก ์ดํดํ์์ต๋๋ค.)
์ด๋ ZFNet์ ILSVRC 2013์์ ์ฐ์นํ CNN๊ตฌ์กฐ์ด๊ณ , VGG-16์ ์ฅ์คํผ๋ ๋ํ์ ์ฐ๊ตฌํ VGG์ ์ํด ๊ฐ๋ฐ๋ VGGNet์ ๋ชจ๋ธ ์ค ํ๋๋ก 16๊ฐ ์ธต์ผ๋ก ๊ตฌ์ฑ๋ ๋ชจ๋ธ์ด๋ฉฐ, 2014๋
์ด๋ฏธ์ง๋ท ์ธ์๋ํ์์ ์ค์ฐ์นํ ๋ชจ๋ธ์ ์๋ฏธํฉ๋๋ค.
์ด Feature Map์ k๊ฐ์ Anchor box๋ฅผ ํตํด ์์ญ์ ์ ํ๊ณ Classification Layer์ bBox Regression์ ๊ฑฐ์ณ์ ๋ฌผ์ฒด๊ฐ ์์นํ ๊ณณ์ ํ์ตํ๊ฒ ๋ฉ๋๋ค.
์ฌ๊ธฐ์ Classification Layer๊ฐ ๋ฌผ์ฒด๊ฐ ์๋์ง ์๋์ง๋ง ํ์ธํ๋ฏ๋ก, Class์ ์๋ 2์
๋๋ค.
์์ฝํ์๋ฉด...
3๊ฐ์ง ๋ชจ๋ธ๋ค์ ์ ๋ฆฌํด๋ณด์๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
๋ฐ์ ๋ฐฉํฅ์ ์์๋๋ก ๊ฐ ๋ชจ๋ธ์ ์ฅ๋จ์ ์ ๋ํด ์ ๋ฆฌํ์์ต๋๋ค. ํ์คํ faster R-CNN์ผ๋ก ๊ฐ์๋ก ์ฌ์ง๋น ์๋๊ฐ ๋น ๋ฅด๊ฒ ์ฆ๊ฐํ์์์ ํ์ธํ ์ ์์ผ๋ฉฐ, ๋์์ ์ ํ๋๋ก ๋ณผ ์ ์๋ mAP์ ๊ฐ ๋ํ ๋ฏธ๋นํ์ง๋ง ์ฆ๊ฐํ์์ ํ์ธํ ์ ์์ต๋๋ค.
PS. ์ถ๊ฐ ๋ฌธ์์ฌํญ ๋ฐ ์ง๋ฌธ์ ํ์ํฉ๋๋ค. ๊ทธ๋ฅผ ํตํด ์ ๋ ๋ ์ฑ์ฅํ ์ ์์ํ ๋๊น์. ๊ธด ๊ธ ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
