티스토리 뷰

Paper Review

[논문 요약15] Fast R-CNN

Arc Lab. 2018. 7. 12. 09:27

[업데이트 2018.10.18 19:28] 


열다섯번째 요약할 논문은 "Fast R-CNN"(https://arxiv.org/pdf/1504.08083.pdf) 입니다. 본 논문은 기존의 R-CNN이 가진 Speed Bottleneck을 개선한 논문입니다. 기존 R-CNN의 경우 아래와 같이 Speed Bottleneck을 가지고 있습니다. 


<R-CNN's Speed Bottleneck>

- 모든 입력 이미지에 N개에 대해 region proposals 2000개 생성.

- 2000개의 region proposals 각각에 대해 CNN feature vector 추출 (N images * 2000)

- 다음 3가지 과정에 대해 분리되어 동작됨(without shared computation)

  . CNN을 통한 feature vector 추출

  . SVM classifier를 통한 image classification

  . Bounding box regression


- R-CNN's Speed Bottleneck (Image from: Stanford CS231n slides)


기존 R-CNN에서는 3개의 과정이 독립적으로 이루어져 shared computation을 수행하지 못했는데, Fast R-CNN에서는 이 3가지 과정을 하나로 통합하여 Speed Bottleneck을 개선합니다. 그러나 여전히 region proposals의 경우는 해당 아키텍쳐와 독립적으로 동작함으로 여전히 성능 개선의 여지가 존재합니다. 각각의 region proposals별로 CNN을 수행하여 feature 추출을 하던 것을 통합하여 one CNN forward pass로 한번에 처리하게 됩니다. 또한 이렇게 나온 feature map에 대해 RoI Pooling, FC layer를 거쳐 image classification과 bounding box regression으로 분리하여 최종 출력에 대해 multi-task loss(image classification + bounding box regresssion)를 minimize하는 end-to-end 학습을 수행하게 됩니다.


- Fast R-CNN Architecture (Image from: Stanford CS231n slides)



RoI pooling의 경우 region proposals들 각각에 대해 max-pooling을 수행하며, 그 결과들을 merge하여 FC layer를 만듭니다. RoI pooling layer의 경우 SPP Net에서 사용하는 spatial pyramid pooling layer의 single-level case입니다.




Fast R-CNN의 경우 기존 R-CNN대비 많은 성능 향상이 있었지만, region proposals의 경우는 해당 아키텍쳐와 독립적으로 동작함으로 여전히 성능 개선의 여지가 존재합니다. 다음에 요약할 Faster R-CNN에서는 region proposals를 CNN 아키텍쳐에 통합하면서 큰 성능 향상을 이루게 됩니다.


* Fast R-CNN Caffe 구현 참고 : http://tutorial.caffe.berkeleyvision.org/caffe-cvpr15-detection.pdf

* ROI Pooling 개념 참고 : https://deepsense.ai/region-of-interest-pooling-explained/

* Rbgirshick Fast R-CNN GitHub : https://github.com/rbgirshick/fast-rcnn

* Train Fast R-CNN on Another Dataset : https://github.com/zeyuanxy/fast-rcnn/tree/master/help/train

* Matlab Ubuntu 설치 : http://installfights.blogspot.com/2016/11/how-to-install-matlab-without-gui.html


* 참고 

[1] https://arxiv.org/pdf/1504.08083.pdf

[2] https://lilianweng.github.io/lil-log/2017/12/31/object-recognition-for-dummies-part-3.html

[4] http://tutorial.caffe.berkeleyvision.org/caffe-cvpr15-detection.pdf

[5] https://deepsense.ai/region-of-interest-pooling-explained/

[6] https://github.com/rbgirshick/fast-rcnn

[7] https://github.com/zeyuanxy/fast-rcnn/tree/master/help/train

[8] http://installfights.blogspot.com/2016/11/how-to-install-matlab-without-gui.html

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함