[DLCV] Fast R-CNN

Deep Learning, Computer Vision

Posted by dongjune on October 21, 2020

Fast R-CNN의 주요 특징

1 위의 그림은 SPP의 구조이다.

  1. SPP Layer를 ROI Pooling 으로 변경
    • SPP는 L0, L1, L2 의 layer를 만들어 합치지만, ROI Pooling은 오직 하나의 7x7 layer를 만든다.
  2. End-to-End Network Learning (ROI Proposal은 제외)
    • SVM을 Softmax로 변환하여 regression과 classification의 backpropagation이 함께 된다.
    • Multi-task loss 함수로 classification과 regression을 함께 최적화

3

  • Regression Loss 함수는 smooth L1 규제를 적용한다.
  • smooth L1 규제는 오차값이 1보다 작을 경우에는 L2규제를 적용하고, 그 이외에는 L1규제를 적용하는 방법이다.

    Fast R-CNN의 구조

    2 SPP layer에서 ROI Pooling으로 변경됐다.

Fast R-CNN 성능 비교

4 위 그림은 Pascal Voc 2012 데이터에 대한 알고리즘의 수행 시간 비교이다. 그림처럼 Fast R-CNN -> SPP-Net -> R-CNN 순으로 높은 성능을 보여주는 것을 확인할 수 있다.

하지만 Fast R-CNN은 ROI Proposal에 Cpu를 사용하는 selective search를 사용하기 때문에 초 단위의 느린 속도를 보인다. 이로 인해 Fast R-CNN도 여전히 real time 영상의 detection에는 사용할 수 없다.
이러한 문제점을 해결한 것이 Faster R-CNN인데 ROI Proposal을 딥러닝 네트워크에 포함시켜 GPU를 사용할 수 있게 만들어 수행속도를 향상시켰다.
다음 포스팅에서 Faster R-CNN에 대해 알아보자.