이전 SPP-Net 리뷰 : 2022.11.11 - [Paper Review] - [IEEE Transactions] Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
[IEEE Transactions] Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
이전 R-CNN 리뷰 : 2022.11.10 - [Paper Review] - [CVPR 2014] Rich feature hierarchies for accurate object detection and semantic segmentation [CVPR 2014] Rich feature hierarchies for accurate object detection and semantic segmentation 뜬금없이 오
josh3255.tistory.com
논문 : https://arxiv.org/pdf/1504.08083.pdf
세 번째로 리뷰할 논문은 R-CNN의 속도 문제를 개선한 Fast R-CNN입니다.
Fast R-CNN은 제목 그대로 R-CNN의 문제였던 속도를 개선하는 것이 주된 목표로 R-CNN 대비 학습에서 9배, 추론에서 213배 정도의 향상을 이뤘고, SPP-Net과 비교할 경우 학습에서 3배, 추론에서 10배 정도 빨라졌다고 합니다.
이는 object detection task를 real-time의 영역으로 나아가게 했다는 점에서 아주 큰 의미가 있습니다.
논문에서는 다음과 같은 key insights를 통해 R-CNN과 SPP-Net의 속도 문제를 해결하였다.
- Training is single-stage, using a multi-task loss
- No disk storage is required for feature caching
Archirecture
Fast R-CNN은 다음과 같은 과정을 통해 동작한다.
1. 이미지에 대해서 convolution & roi projection을 수행해 feature map을 추출한다.
2. feature map에 대해서 pooling & fc 연산을 수행하여 고정된 길이의 feature vector를 추출한다.
3. 고정된 길이의 feature vector에 대해서 fc 연산을 수행한다.
3-1. softmax를 이용해 객체의 클래스를 추정한다.
3-2. 객체의 좌표를 추정한다.
Training
논문에서는 효율적인 학습을 위해 몇 가지 방법을 제시한다.
1. 사전학습된 네트워크의 수정
- 마지막 pooling layer는 feature vector 추출을 위한 roi pooling layer로 교체
- 이미지 분류용으로 사용되던 마지막 softmax layer를 객체 클래스와 좌표 추출을 위한 softmax layer, bounding-box regressor로 교체
- 네트워크의 입력을 이미지 리스트와 RoI 리스트로 변경
2. mini-batches : fine-tuning 단계에서 각각의 mini-batch는 2장의 이미지로 구성되었고 각각의 이미지에서 64개의 RoI를 추출하여 학습을 진행하였다. 이미지당 추출한 RoI 64개 중에 25%의 이미지(단, ground-truth와의 IoU가 0.5 이상인)는 positive sample로 분류하고 나머지는 75%의 이미지는 negative sample로 분류한다.
3. Multi-task loss
Fast R-CNN은 네트워크의 학습에 multi-task loss를 사용하였다. multi-task loss는 classifier와 bounding-box regressor를 동시에 학습시켜줌으로써 기존 네트워크들의 문제였던 복잡한 학습과정을 단순하게 만들었다.
수식은 classifier의 학습을 위한 \( L_{cls}(p, u) \)와 bounding-box regressor 학습을 위한 \( \lambda[u \geq 1]L_{loc}(t^{u}, v) \)로 구성된다.
classifier의 학습을 위한 항인 \( L_{cls}(p, u) \)는 음의 로그 함수로 예측한 클래스와 실제 클래스 간에 차이가 커지면 큰 값을 출력한다.
bounding-box regressor의 학습을 위한 항인 \( \lambda[u \geq 1]L_{loc}(t^{u}, v) \)는 학습 균형을 위한 hyper parameter \( \lambda \), positive sample에 대해서만 regressor를 학습하게 해주는 \( [u \geq 1] \), 예측한 경계상자와 실제 경계상자 간의 L1 Loss를 계산해주는 \( L_{loc}(t^{u}, v) \)로 구성된다.
Results
Fast R-CNN의 Main Results는 다음과 같다.
1. VOC07, 2010, and 2012에 대해서 SOTA 달성
Fast R-CNN은 비록 사용된 데이터셋에 차이는 있지만 VOC07, 2012 데이터셋에서 우수한 성능을 보이며 SOTA를 달성하였다.
2. R-CNN과 SPP-Net 대비 빠른 학습과 추론
Fast R-CNN의 가장 큰 기여는 기존 네트워크의 큰 문제였던 복잡한 학습, 긴 실행시간 등을 해결하며 Object Detection 분야를 real-time 영역으로 이끌었다는 점이다.
다음글에서는 Faster R-CNN 논문을 리뷰하겠습니다.
'Paper Review' 카테고리의 다른 글
[Paper Review] YOLO (0) | 2022.11.22 |
---|---|
[Paper Review] Faster R-CNN (0) | 2022.11.18 |
[Paper Review] SPP-Net (0) | 2022.11.11 |
[Paper Review] R-CNN (0) | 2022.11.10 |
[Paper Review] Revisiting Skeleton-based Action Recognition (0) | 2022.11.08 |