R-CNN notable drawback
1.Training is a multi-stage pipeline
2.The image was forcibly warped to a size of 224x224
3.No back propagation
4.Training is expensive in space and time(disk, 2.5 GPU-days)
- 2000๊ฐ์ Image Proposal ํ๋ณด๋ฅผ ๋ชจ๋ CNN ๋ชจ๋ธ์ ์ง์ด ๋ฃ๊ธฐ ๋๋ฌธ์, training, testing ์๊ฐ์ด ๋งค์ฐ ์ค๋ ๊ฑธ๋ฆผ.
- AlexNet์ ๊ทธ๋๋ก ์ฌ์ฉํ๊ธฐ ์ํด Image๋ฅผ 224x224 ํฌ๊ธฐ๋ก ๊ฐ์ ๋ก warping ์์ผฐ๊ธฐ ๋๋ฌธ์ ์ด๋ฏธ์ง ๋ณํ์ผ๋ก ์ธํ ์ฑ๋ฅ ์์ค์ด ์กด์ฌ
- ๋ท ๋ถ๋ถ์์ ์ํํ Computation์ Shareํ์ง ์๋๋ค. (No Back Propagation)
- Selective Search๋ SVM์ด CPU๋ฅผ ์ฌ์ฉํ์์ผ๋ฉฐ, GPU ์ฌ์ฉ์ 2.5์ผ ์ ๋ ๊ฑธ๋ฆฌ๊ณ feature map์ ๋งค๋ฒ disk์ ์ ์ฅํด์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ง์ด ์ฌ์ฉํ๋ค๋ ๋จ์ ์ด ์กด์ฌ
1. Fast R-CNN Related Work: SPPnet
SPPnet: Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition, Kaiming He et.al. ECCV 2014
Insight : CNN input is not fixed
๊ทธ๋ฆฌ๊ณ 1๋ ํ 2014๋ R-CNN์ ๋จ์ ์ ๋ณด์ํ SSP Net์ด ๋์๋ค. ํต์ฌ ์์ด๋์ด๋ Fc layer๊ฐ ๊ณ ์ ๋ ๊ฒ. CNN์ ์ ๋ ฅ์ด ๊ณ ์ ๋ ๊ฒ์ด ์๋๋ค
SPPnet: RoI pooling(๊ณ ์ ๋ ํฌ๊ธฐ์ feature map)
- Convolution ์ฐ์ฐ: 2000๋ฒ -> 1๋ฒ
- Spatial pyramid pooling- ๋ค์์ pyramid level ์ฌ์ฉ
- Training is still a multi-stage pipeline(SVM, CNN, ..)
์ด์ R-CNN๊ณผ ๋ค๋ฅด๊ฒ Selective Search๋ฅผ ํตํ ๊ฐ๊ฐ์ RoI๋ฅผ Conv์ฐ์ฐ ํ๋ ๊ฒ์ด ์๋, ์ ๋ ฅ image ์์ฒด๋ฅผ Conv์ฐ์ฐ์ ์ํํ๋ค. ๋ฐ๋ผ์ ํ๋ฒ์ Conv์ฐ์ฐ๋ง ์ํํ๊ณ , pooling ์ฐ์ฐ์ ์ํํ feature map์ ์ป๋๋ค.
์ฆ, 2000๋ฒ CNNํ์ง ์๊ณ 1๋ฒ์ CNN์ ํตํด ์๊ฐ์ ์ค์ฌ์ฃผ์์ผ๋ฉฐ, Selective Search์ ๊ฒฝ์ฐ RoI ์์ญ์ด ๊ฐ๊ฐ ๋ค๋ฅธ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ด ํฌ๊ธฐ๋ฅผ ๋ง์ถฐ์ฃผ๊ธฐ ์ํด RoI Pooling์ ์ํํ๋ค.
๊ณผ์ ์ ์ ๋ ฅ image์ ํฌ๊ธฐ๋ณด๋ค ์์์ง feature map์์ RoI์ ์์ญ์ ์๊ธฐ ์ํด projection์์ผ์ฃผ๋๋ฐ, RoI์ ์์น(์ขํ ๋ฐ ๋์ด,๋๋น)์ ์ ๋ ฅ image์ feature map์ ํฌ๊ธฐ์ ๋น์จ์ ๊ณ ๋ คํด feature map์์ RoI ์์ญ์ ์ง์ ํ๋ค.
์ด๋ ๊ฒ feature map์ ์ถ์๋ RoI์ Spatial pyramid pooling์ ์ํํ๊ฒ ๋๋ค.
์ด๋ ๊ฒ ๋ฏธ๋ฆฌ ์ง์ ํ ํฌ๊ธฐ์ sub-window์์ max pooling์ ์ํํ๋ค๋ณด๋ฉด region proposal์ ํฌ๊ธฐ๊ฐ ์๋ก ๋ฌ๋ผ๋ ๊ณ ์ ๋ ํฌ๊ธฐ์ feature map์ ์ป์ ์ ์๋ค.
๊ทธ ํ ์งํ๋ฐฉํฅ์ R-CNN๊ณผ ๋์ผํ๊ฒ ์งํ๋ฉ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ SVM, CNN, ๋ฑ ์ฌ๋ฌ ๋ชจ๋ธ์ ๊ณ์ ์ฌ์ฉํ์๊ณ , ์ด๋ R-CNN์ back propagtion์ด ์งํ๋์ง ์๋๋ค๋ ๋จ์ ์ ํด๊ฒฐํ์ง๋ ๋ชปํ์ต๋๋ค.
2. Architecture
- Approach: similar to the SPPnet algorithm
- feed the input image to the CNN to generate a convolutional feature map
์ด back propagation ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ๋ ๋น ๋ฅธ ์๋์ mAP ์ฑ๋ฅ์ ๋์ธ 2015๋ Fast R-CNN์ด ๋์ค๊ฒ ๋์๋ค.
์ ๊ทผ๋ฐฉ์์ SPPNet๊ณผ ์ ์ฌํ๋, CNN์ region proposals์ ์ ๊ณตํ์ง ์๊ณ , CNN์ input ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํ์ฌ convolution feature map์ ์์ฑํ๋ค.
๊ณผ์
1) ๋จผ์ Input Image์์ selective search๋ฅผ ํตํด 2000๊ฐ์ RoI๋ฅผ ๊ตฌํ ํ,
2) CNN์ผ๋ก ๋์จ convolution feature map์ RoI ์ขํ๊ฐ์ Projection์์ผ์ค๋ค.
3) ๊ทธ ํ์ Projection ํ Feature Map(Bounding Box)๋ค์ Fully-Connected Layer์ ๋ณด๋ด์ง ์ ์๋๋ก RoI Pooling์ ์งํํ์ฌ ๊ณ ์ ๋ ํฌ๊ธฐ์ Feature Vector๋ก ์ฌ๊ตฌ์ฑํ๋ค.
4) ๊ทธ ํ softmax classifier๋ก ํ์ต ์ํค๊ณ bounding box regressors๋ก ํ์ต์์ผ ํด๋์ค์ bounding box๋ฅผ ์์ธกํ๋ค.
3. Main method
- RoI Pooling์ ์ ์ฉํ์ฌ feature vector๋ฅผ ๊ตฌํ ๊ณผ์ ๊ณผ ๋์ผํ๊ฒ ์งํ๋๋ค.
- ์ดํ back propagation์ ํด๊ฒฐํ ๋ฐฉ๋ฒ์ธ Multi Task Loss๋ฅผ ์ฌ์ฉํ์์ต๋๋ค.
- ์ด๋ ์์ ๊ตฌํ RoI feature vector๋ก classification๊ณผ bounding box regression์ loss๋ฅผ ํฉ์น ํ, back propagationํ์ฌ ์ ์ฒด ๋ชจ๋ธ์ ํ์ต์ํค๋ ๋ฐฉ๋ฒ์ด๋ค.
- ์ด๋ ๊ฒ ROI pooling์ ํตํด์ ๊ฐ์ด ๋์ค๋ฉด ๊ฐ๊ฐ์ ๋ํ classification loss์ regression loss์ ํฉ์ณ multi-task loss๋ฅผ ํตํด์ ์ ๋ฐ์ ์ผ๋ก back propagation์ ์ํํ ์ ์๊ฒ๋๋ค.
4. Conclusion
- single-stage๋ก ์งํ๋๋ ํ์ต์ผ๋ก multi-task loss๋ฅผ ์ฌ์ฉํด ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธ ํ ์ ์์ต๋๋ค. ์ฆ, Backpropagation(์ญ์ ํ)์ด ๊ฐ๋ฅํด์ก์ต๋๋ค.
- (CPU๋ก ์ํํ๋ฉฐ ํ์ต๋์ง ์๊ธฐ ๋๋ฌธ์ 1-Stage Detector๋ ์๋)
- ์ ์ฅ ๊ณต๊ฐ์ด ํ์ํ์ง ์์
5. Discussion