main Paper
1. Introduction
최근, Deep ConvNets는 iamge classification와 object detection 정확도를 크게 향상시켰다. image classification에 비해 object detection는 더 어려운 작업이다. 큰 복잡성 때문에, 현재 접근 방식은 느린 multi-stage pipeline에서 모델을 훈련시킨다. detection는 object의 정확한 위치 지정을 요구하기 때문에 complexity가 발생하며, 이는 두 가지 주요 과제를 야기한다.
- 첫째, 수많은 proposal region object location를 처리해야 한다. (selective search로 거의 2000개 가량)
- 둘째, 이러한 proposal region들은 정확한 localization를 달성하기 위해 다듬어야 하는 대략적인 localization만 제공한다. 이러한 문제에 대한 해결 방법은 종종 속도, 정확성 또는 단순성을 놓친다. (proposal마다의 bounding-box가 존재하지만 이를 optimize하는데 추가 연산이 필요)
본 논문에서는 ConvNet-based object detectors에 대한 process를 간소화한다. 우리는 object proposal를 분류하고, 그들의 spatial locations를 구체화하는 방법을 공동으로 학습하는 single-stage training algorithm를 제안한다. 결과는 R-CNN 보다 9배, SPPnet보다 3배 빠른 deep detection 네트워크를 train시킬 수 있다.
1.1. R-CNN and SPPnet
drawbacks of R-CNN
: RCNN는 deep ConvNet을 이용하여 object proposal를 분류함으로써 우수한 object detection accuracy를 달성했다. 그러나 R-CNN에는 주목할 만한 단점이 있다.
- Training is a multi-stage pipeline
: R-CNN은 log loss를 이용해 ConvNet를 fine-tuning하고 SVM을 맞춘다. 이러한 SVM은 object detector 역할을 하며 fine-tuning으로 train된 softmax classifier를 대체한다. 그 후에 bounding-box regressor이 학습된다.
- Training is expensive in space and time
: SVM과 bounding-box regressor training의 경우, 각 image의 object detection에서 feature를 추출하여 disk에 기록한다. 매우 deep network를 사용하는 이 process는 5k image에 대해 2.5 GPU-days가 소요된다. 이러한 feature에는 수백 gigabytes의 storage가 필요된다.
- Object detection is slow
: 테스트 시간에 각 테스트 image의 각 object detection에서 feature를 추출한다. GPU에서 object detect하기 위해서는 47 second per image가 필요하다.
use SPPnet to improve speed at R-CNN
: R-CNN은 각 object proposal에 대해 ConvNet forward pass를 수행하기 때문에 속도가 느리다. 따라 계산을 공유하여 속도를 높이기 위해 spatial pyramid pooling networks(SPPnets)가 제안되었다. SPPnet은 전체 input image에 대한 convolution feature map을 계산한 다음 shared feature map에서 추출한 feature vector를 사용하여 object proposal를 분류한다. proposal region 내부의 feature map의 부분을 fixed-size output으로 max-pooling하여 proposal region에 대한 feature를 추출한다. multiple output sizes들을 pooling한 다음 spatial pyramid pooling에 연결시킨다. SPPnet은 테스트 시 R-CNN을 10~100배까지 가속화가 가능하다. proposal feature 추출이 빨라져 training 시간도 3배 단축된다.
drawbacks of SPPnet
: R-CNN과 마찬가지로 training은 feature 추출을 목적으로하고, log loss로 fine-tuning, SVM training, fitting bounding-box regressors를 포함하는 multi-stage pipeline이다. features는 disk에도 기록된다. 그러나 R-CNN과 다르게 fine-tuning algorithm은 spatial pyramid pooling 앞에 있는 Conv layer를 업데이트할 수 없다. 이 fixed convolutional layers는 매우 deep한 network의 정확도를 제한한다.
1.2 Contributions
속도와 정확성을 향상시키면서 R-CNN과 SPPnet의 단점을 수정하는 새로운 train algorithm을 제안한다. 이 방법을 train하고 테스트하는 것이 비교적 빠르기 때문에 Fast R-CNN이라고 부른다. Fast RCNN 방법은 다음과 같은 몇 가지 이점이 존재한다.
- R-CNN, SPPnet보다 높은 detection quality(mAP)
- training은 multi-task loss을 이용한 single-stage이다.
- training은 모든 network layer을 업데이트할 수 있습니다.
- feature caching에 disk storage가 필요하지 않음
2. Fast R-CNN architecture and training
References
jaehyeongan.github.io/2019/10/10/R-CNN/
'개인 정리 > Dissertation analysis' 카테고리의 다른 글
R-CNN (0) | 2021.04.01 |
---|---|
CNN (0) | 2021.03.30 |
Floor-SP (0) | 2021.03.29 |
댓글