-SOTA 모델은 region proposal 알고리즘을 사용해왔으며 이렇게 구현한 SPP와 Fast R-CNN은 객체 탐지 시간을 크게 줄였다. 다만 region proposal 과정에서 bottleneck 현상이 발생한다는 단점이 있으며 본 논문은 Region Proposal Network (RPN)을 제공함으로써 cost free region proposals를 가능하게 한다(e.g., 10ms per image). RPN은 object bounds와 각 위치에서의 objectness(객체 존재 여부)를 동시에 예측하는 합성곱 네트워크이며 end to end 훈련을 통해 품질 좋은 region proposal을 가능케 한다.
본 연구팀은 fast R-CNN처럼 region based detectors로 사용되는 convolutional feature maps가 generating region proposals 에도 사용될 수 있다는 사실이다. FCN처럼 작동하는 RPN을 구축함으로써 generating detection proposals을 수행하는 end to end 훈련을 할 수 있다는 것이다.
RPN은 효과적으로 다양한 범위의 region proposals를 예측하기 위해 고안이 되었다. anchor boxes를 사용함으로써 다양한 scale의 이미지나 필터를 사용하지 않아도 되기 때문에 속도가 빨라지게 된다. Fast R-CNN과 RPN을 통합하기 위해 region proposal과 object detection을 위한 fine tuning을 번갈아가며 수행한다. 이러한 training으로 영역 추정과 객체 탐지 작업끼리 convolution features를 공유할 수 있게 되며 속도도 빨라지게 되었다. PASCAL VOC 데이터셋에서 실험해봤을 때, RPN을 적용한 Fast R-CNN(=Faster R-CNN)이 selective search을 적용한 Fast R-CNN보다 정확도가 높았다.
-다양한 methods가 존재하며 grouping super-pixels를 베이스로 하는 방법과 sliding widows를 하는 방법이 존재한다.하지만 기존의 method는 객체 탐지 모델과 독립적으로 사용되었다.
R-CNN은 CNN을 end-to-end 방식으로 학습한다. 이것은 classifier로 작동하며 object bounds를 예측하지는 않는다. 그렇기 때문에 맨 처음 region proposal를 하게 되고 이것은 CPU로 진행하며 결국 selective search가 전체적인 성능을 결정한다. 딥러닝을 사용해 bounding box를 예측하는 OverFeat, Multibox기법도 있지만 MultiBox 기법은 '영역 추정 모듈과 객체 탐지 네트워크'가 합성곱 피처를 공유하지 않는다는 단점이 있다. 반면, Fast R-CNN은 합성곱 피처를 공유하기 때문에 end-to-end 훈련이 가능하며, 속도와 정확도가 좋았다.
- input : image, output : 직사각형의 object proposal set
- 반환값을 도출하기 위해 sliding window방식을 적용한다. 각 sliding window의 중심 위치마다 여러 bounding box를 예측하며 RPN에서 사용하는 bounding box를 anchor box라고 한다.
Translation-Invariant Anchors
Faster R-CNN의 중요 특성은 위치 불변성으로 이것은 이미지 안에서 객체 위치가 변하더라도 같은 객체로 인식한다는 것이다. RPN은 sliding window 방식으로 이미지의 전체 영역을 살피기 때문에 위치가 변해도 같은 객체로 잘 인식하게 되는 것이다. 이것은 모델의 크기 또한 줄여주며 파라미터 개수가 적어지게 되어 데이터셋이 작을 때 overfit의 위험이 적다.
Multi-Scale Anchors as Regression References
anchors의 디자인은 다양한 scale을 나타내며 multi-scale prediction을 진행한다. 이것의 대표적인 두가지 방법 image pyramids를 사용하는 방법과 multiple scale의 sliding window를 이용하는 방식과 다르게 anchor-based 방법은 pyramids of anchors로 이루어져 있어 훨씬 더 cost efficient 하다. 이것은 single scale의 이미지와 feature에만 의존하기 때문에 single size의 filters만 사용한다.
Loss fuction
RPN을 훈련하는 과정에서 각 앵커박스마다 이진 분류를 수행하였다. 분류를 하려면 앵커 박스에 positive label이 있어야 합니다. (i) 실제 경계 박스(ground-truth box)와 IoU가 가장 큰 앵커, 또는 (ii) 실제 경계 박스(ground-truth box)와 IoU가 0.7이 넘는 앵커 두 가지를 positive label로 감안했다.
앞 수식에서 i는 앵커 박스 인덱스를 뜻한다. ① p_i는 i번째 앵커 박스가 객체일 확률을 말한다. ground-truth label인 ② p*_i는 앵커가 positive이면 1, negative이면 0. ③ t_i는 예측 경계 박스의 4가지 좌표값이고, ④ t*_i는 실제 경계 박스의 4가지 좌표값이다. 분류 손실을 나타내는 ⑤ L_cls는 두 가지 클래스(객체 vs. 객체가 아님)에 대한 로그 손실이다. ⑥ L_reg는 경계 박스 회귀 손실을 뜻다. 참고로 회귀 손실값은 positive 앵커 박스일 때만(객체 일 때만) 활성화된다. negative일 때, 곧 배경일 때는 경계 박스를 구할 필요 없기 때문이다.. 회귀 손실에 p*_i x L_reg가 포함되므로, 앵커 박스가 negative일 때는 이 값이 0이 된다(p*_i = 앵커가 positive이면 1, negative이면 0). 다음으로 분류 손실과 회귀 손실 모두 ⑦ N_cls와 ⑧ N_reg로 나눠서 정규화했습다. 분류 손실, 회귀 손실 간 균형을 맞추기 위해 ⑨ λ 파라미터도 두었다.
Training RPNs
RPN을 훈련하기 위해 역전파와 SGD에 의한 end to end 방식으로 학습하였다.
detection을 위해 본 연구진은 Fast R-CNN을 수용했다. RPN과 Fast R-CNN은 독립적으로 train되므로 이들 사이에 convolutional layers를 공유하는 기술을 개발했다. (i) Alternating training. (ii) Approximate joint training. (iii) Non-approximate joint training. 세가지 방법 중 본 논문은 (i) 방식을 채택하고 있다. Alternating training은 먼저 RPN을 훈련하고, 이어서 영역 추정 경계 박스를 사용해 Fast R-CNN을 훈련한다. Fast R-CNN으로 튜닝된 네트워크는 다시 RPN을 초기화하는 데 사용되며 이런 절차를 반복함으로써 RPN과 Faster R-CNN이 피처를 공유하면서도 독립적인 방법으로 훈련할 수 있게 된다. 본 논문은 4-step alternating training을 채택하고 있다.
PASCAL VOC 2007에서 Faster R-CNN의 성능을 평가했을 때 SS(selecive search), EB(edge box)기법에 비해 성능이 좋좋다는 결과를 확인할 수 있었다.
RPN을 ZF-net으로 훈련하는 대신 VGG-16으로 훈련해 성능을 측정했을 때 mAP가 올랐으며 데이터를 추가할수록 mAP가 올랐다.
one stage인 OverFeat과 two stage인 Faster R-CNN을 비교했을 때 one stage 보다 2 stage 의 mAP가 더 좋다는 사실이 확인 가능하다.
MS COCO 데이터셋을 사용해도 Faster R-CNN이 Fast R-CNN보다 더 높은 성능을 보였다. 실제로 Faster R-CNN은 2015년에 열린 ILSVRC와 COCO 대회에서 여러 분야 1등을 차지하기도 했다.
본 논문에서는 빠르고 정확한 영역 추정을 하기 위해 RPN을 제안했습니다. RPN과 detection network가 합성곱 피처를 공유함으로써 영역 추정 비용을 크게 줄이기도 했다. Faster R-CNN은 통합된 딥러닝 기반 객체 탐지 시스템으로, 실시간 객체 탐지가 가능할 정도로 빠른 시스템을 구축하였고 전체적인 정확도도 기존 모델들보다 뛰어난 특징을 가진다.
https://arxiv.org/pdf/1506.01497.pdf
[6주차/강민채/논문리뷰] M2Det (0) | 2023.08.09 |
---|---|
[6주차/김희준/논문리뷰]Single-Shot Refinement Neural Network for Object Detection(RefineDet) (0) | 2023.08.09 |
[4주차/김희준/논문리뷰]Generative Adversarial Nets (1) | 2023.08.05 |
[5주차/강민채/논문 리뷰] YOLOv7 (0) | 2023.08.04 |
[5주차/이서연/논문리뷰] YOLOv5 (0) | 2023.08.03 |
댓글 영역