Ren, Shaoqing, et al. "Faster r-cnn: Towards real-time object detection with region proposal networks." Advances in neural information processing systems 28 (2015): 91-99.
Abstract
Object detection은 object가 존재하는 bounding box를 예측하고, 그 object를 classification하는 문제.
Fast R-CNN과 같은 object detection 네트워크는 bounding box의 후보들이 될만한 region들을 제안하는 region proposal 알고리즘을 활용하게 되고, 이는 학습의 bottleneck.
본 논문에서는 이를 개선하기 위해 end-to-end로 학습되는 Region Proposal Network(RPN)의 도입.
Introduction
- Selective Search와 같은 region proposal 알고리즘은 학습에 여전히 bottleneck.
- 본 논문에서는 object detection 네트워크와 convolutional layer를 공유하는 Region Proposal Networks(RPN)을 제안.
. RPN은 feature를 추출하는 convolution layer들의 꼭대기에 추가된 몇몇의 convolutional layer들.
. 이들은 object가 있는 region을 찾고 region bound를 regression하는데 활용.
. RPN에서는 region들을 다양한 scale과 aspect 비율로 추출.
- Region proposal task과 object detection task를 번갈아가며 네트워크를 학습 시키는 훈련 방식을 제안
-> 학습 속도가 개선되고 효과적으로 두 task를 모두 수행할 수 있는 통합된 네트워크를 만들 수 있음.
Faster R-CNN Architecture
- Faster R-CNN은 RPN과 Fast R-CNN detector로 구성.
- Feature map을 추출하는 단계까지는 두 네트워크가 공유됨.
- RPN 모듈은 Fast R-CNN 모듈이 feature map의 어디에 'attention'해야 하는지 말해줌.
- Fast R-CNN에서 각각 크기가 다른 RoI들을 같은 크기로 맞춰주는 RoI pooling 을 그대로 차용.
Faster R-CNN Architecture: Region Proposal Networks
- RPN은 이미지를 입력으로 받고 classification score를 가지는 사격형의 region들을 출력.
- Conv feature map을 n x n window로 sliding해가며 k개의 anchor boxes(region 후보들)들을 생성.
- Anchor boxes들은 각 sliding window를 여러 scale과 aspect ratio로 변경하며 생성.
- 본 논문에서는 n을 3, k를 9로 실험.
- cls layer는 two-class softmax layer (class 1: object가 있음. class 0: object가 없음).
- reg layer는 anchor를 실제 bounding box에 맞게 정교하게 조절(regression)하는 용도.
- FC layer들이 sliding window 방식으로 동작하기 때문에, n x n convolutional layer와 두 1 x 1 convolutional layer들(for cls and reg)로 구현.
- End-to-end로 region을 추출하기 때문에, 이미지가 translation 되면 region들도 따라서 translation해줘야 하는 기존 region proposal 알고리즘의 문제점이 없음.
Faster R-CNN Architecture: Loss Function in Region Proposal Networks
- 각 anchor가 positive(object가 있음)로 분류되는 조건은 다음과 같음 (or 조건):
1. 하나의 ground-truth box과 IoU(Intersection-overUnion)이 가장 큰(가장 크게 겹치는) anchor에 대하여.
2. grund-truth box와 > 0.7 IoU인 모든 anchor에 대하여.
. 따라서 하나의 ground-truth box에는 positive로 label된 anchor들이 여러개 있을 수 있음.
. 위 조건 중 2를 만족하지 못하는 특이한 경우들을 발견하여 or 조건임.
- 각 anchor가 negative로 분류되는 조건은 모든 ground-truth box와의 IoU가 0.3 보다 작은 경우.
- negative와 positive 둘 중 하나로 분류되지 못하는 anchor들은 학습 목적 함수에 영향을 주지 않음.
- 위와 같은 조건 하에, 다음과 같은 목적 함수를 최소화:
- Log loss는 다음과 같은 cross entropy:
- Anchor와 GT간 교집합이 커지도록 regression term을 출력하는 reg network를 학습. x,y는 원래 anchor의 x,y에 각각 width,height에 비례한 값이 더해지는 식으로 regression. w,h는 원래 anchor의 w,h에 지수함수가 곱해지도록 regression.
- t는 reg layer의 출력. L_reg는 t가 실제 GT box로 계산된 t*에 가까워지도록 구성.
- Loss function은 smooth l1 loss 활용.
Faster R-CNN Architecture: Non-Maximum Suppression
- 하나의 이미지에 겹쳐지는 proposal들이 많이 나오는 경우가 있음.
- 이런 중복을 해결하기 위하여, Non-Maximum Suppresion을 도입.
- 알고리즘:
1. 제안된 proposal들을 cls score가 높은 순서대로 정렬.
2. 정렬된 순서대로 다른 proposal들과의 IoU가 0.7 이상인 것들을 삭제한다.
Faster R-CNN Architecture: Training steps
Results