본문 바로가기

논문 리뷰

Faster R-CNN 논문 번역/리뷰 - 2016

 

 

APA

Ren, Shaoqing, et al. "Faster r-cnn: Towards real-time object detection with region proposal networks." Advances in neural information processing systems 28 (2015).
 

논문 원문 : https://arxiv.org/pdf/1506.01497.pdf 

 

region proposals : 객체가 있을만한 곳을 선별하는 것

super pixels : 여러개의 작은 픽셀들 중 비슷한 feature(밝기, 색)등을 그룹화 하여 하나의 큰 픽셀로 만든것

end-to-end : 입력~출력 까지 신경망으로 한번에 처리한다.

translation-invariant(번역 불변) : image classification에서 객체의 위치가 변하여도 output이 바뀌지 않는 것

Abstract

최신 객체탐지 신경망은 객체의 위치를 가정하기위해 region proposal 알고리즘에 의존한다. SPPnet, Fast R-CNN과 같은 발전은 region proposal 계산 때문에 일어나는 병목현상에 노출되는 것을 줄여주었다. 이 연구에서는 탐지 네트워크와 Region Proposal Network(RPN)이 전체이미지의 합성곱특성을 공유하여 region proposal에서의 비용을 줄여준다. RPN은 fully-convolutional network 로써 각 위치에서 객체점수와 object bounds를 동시에 예측한다. Fast R-CNN의 탐지에서 사용되는 RPN은 고품질의 region proposal 생성을 위해 end-to-end 의 방식으로 훈련된다. 또한 RPN과 Fast R-CNN을 합성곱 특성을 공유함으로써 단일 네트워크로 병합한다.이것에 의해, RPN은 「어텐션」이라 불리는 최신기술을 사용해 통합 네트워크에 주목해야 할 장소를 지시합니다. 매우깊은 VGG-16 모델의 경우 우리 시스템의 frame rate는 5fps였지만 PASCAL VOC 2007, 2012, MS COCO 데이터셋에서 이미지당 300의 proposals만으로 SOTA를 달성하였다. ISLVRC, COCO2015 대회에서 또한 Faster R-CNN과 RPN이 여러 부문에서 1위를 하였고 코드 또한 공개되어 있다.

 

 

1. Indroduction

최신의 객체탐지 기술은 region proposal 과 region-based CNN 기술의 성공으로 발전하였다. region-based CNN은 원래 [5]에서 개발된것 과 같이 계산비용이 높았지만, proposals 간의 합성곱을 공유함으로써 값이 감소하였다. 최신의 Fast R-CNN은 region proposals에 사용되는 시간을 무시하면, 매우 깊은 신경망을 사용해도 거의 실시간에 가깝다. 제안서는 최신 탐지시스템의 병목현상에 대한 test-time 계산이다. region proposal은 일반적으로 저렴한 feature와 경제적인 추론기법에 의존한다. Selective search 라는 유명한 기술은 저수준으로 처리된 superpixels를 greedily 하게 병합한다. 그러나 효율적인 탐지 네트워크[2]에 비해 Selective search는 CPU에서 이미지당 2초가 걸려 훨씬 느리다. EdgeBoxes[6]은 proposal 품질과 속도에서 최고의 균형을 맞추며 이미지당 0.2초가 걸린다. 그럼에도 불구하고 region proposal은 탐지에 비해 매우 많은 시간을 소비한다.

 

한가지 알아둬야 할 것은 region proposal에 관한 연구는 CPU에서, fast region-based CNN은 GPU에서 구현되었기 때문에 동등한 비교대상이 아니다. proposal의 계산을 빠르게 하기 위한 확실한 방법은 GPU로 구현하는 것이다. 이것은 효과적인 기술적 솔루션일 수 있지만, 재구현시 탐지 네트워크의 흐름이 무시되기 때문에 계산을 공유할 수 있는 중요한 기회를 놓친다.

 

이 논문에서 우리는 알고리즘의 변화(deep CNN 을 이용한 proposal의 계산)를 통해 proposal 계산비용이 거의 들지 않는 것을 보여준다. 이를 위해 객체탐지 네트워크와 합성곱 계층을 공유하는 새로운 Region Proposal Network(RPN)을 소개한다. 테스트시의 합성곱 공유는 매우 작은 proposal 비용이 든다. 우리는 Fast R-CNN과 같은 region-based 검출기에서 사용되는 합성곱 특성맵이 region proposal 에도 사용될 수 있다는 것을 발견했다. 이런 합성곱 특성 위에 일반적인 그리드의 각 region bound와 objectness scores를 동시에 회귀시키는 몇개의 합성곱계층을 추가하여 RPN을 구성한다. 결국 RPN은 fully convolutional network(FCN)의 한 종류이고 특히 탐지 proposal을 위해 end-to-end 훈련이 가능하다.

RPN은 광범위한 크기와 영상비에서도 region proposal을 효율적으로 예측하도록 설계되어 있다.

 

Figure 1: 다양한 크기와 사이즈에서 선택하는 다양한 방법들. (a) 이미지 및 특성맵의 피라미드가 구축되어 모든 크기에서 분류기가 실행됨. (b) 여러크기의 필터 피라미드가 특성맵에서 실행됨. (c) 우리는 회귀함수를 이용해 추론박스의 피라미드를 이용했다.

이미지 피라미드(그림 1, a) 또는 필터 피라미드(그림 1, b)를 사용하는 일반적인 방법과 달리, 우리는 여러 척도와 종횡비에서 추론되는 새로운 "앵커" 박스를 도입한다. 우리의 방법은 여러 척도의 이미지나 필터 또는 가로 세로 비율의 열거를 피하는 회귀 추론 피라미드(그림 1, c)로 생각할 수 있다. 이 모델은 단일 크기의 이미지에서 훈련 및 테스트 했을때 속도가 빠르며 좋은 성능을 냈다.

 

RPN과 Fast R-CNN을 통합하기 위해 region proposal 작업을 위한 fine-tuning, 객체탐지를 위한 fine-tuning을 번걸아 수행하는 훈련방법을 제안한다. 이 방법은 빠르게 수렴되어 두 작업간에 공유되는 합성곱 특성을 갖춘 통합 네트워크를 생성한다.

 

Fast R-CNN + RPN이 Fast R-CNN + Selective search 보다 더 나은 정확도를 보이는 PASCAL VOC 탐지 벤치마크에 대해 우리의 방법을 종합적으로 평가한다. 한편 우리의 방법은 테스트시의 Selective search에서 보이는 거의 모든 계산량이 줄어든다.(proposal에 걸리는 시간이 10ms 이다). [3]과 같은 비싸고 깊은 모델에서는 GPU가 5fps를 유지하고 있기 때문에 우리의 객체탐지 시스템은 속도와 정확도 측면에서 더 효율적이다. 또한 MS COCO 데이터셋에 대한 결과와 COCO데이터를 이용하여 PASCAL VOC의 개선점을 조사했다. 코드는 공식적으로 확인 가능하다.(https://github.com/shaoqingren/faster_rcnn), (https://github.com/ rbgirshick/py-faster-rcnn)

 

이 논문은 이전에 출판되었고 그 이후로 RPN + Fast R-CNN은 3D 객체탐지, part-based detection, instance segmentation, image captioning등에서 사용이 일반화되었다. 또한 빠르고 효과적인 객체탐지시스템은 Pinterests와 같은 상업용 시스템에도 구축되었으며 사용자의 참여 개선사항도 보고되었다.

 

ILSVRC 및 COCO 2015 대회에서 Faster R-CNN 과 RPN은 ImageNet 탐지, ImageNet localization, COCO 탐지 및 COCO segmentation 등의 여러 항목에서 1위의 기반이 된다. RPN은 데이터로부터 region proposal을 완전히 학습하기 때문에 깊고 좋은 특성들로부터([18]에서 채택된 101-layers residual net과 같은) 이익을 얻는다. Faster R-CNN과 RPN은 이러한 대회에서 주로 상위권을 차지한다. 이는 우리의 방법이 단순히 실용화를 위한 효율적인 비용이 들 뿐만 아니라 객체탐지에서의 정확도도 높혀주는 효과적인 방법이다.

 

 

2. Related Work

Object Proposals.

object proposal 기술에 관한 문헌들은 매우 많이 있다. object proposal에 대한 비교자료는 [19], [20], [21]에서 확인 가능하다. 가장 널리 쓰이는 object proposal은 super-pixels의 그룹화, sliding windows등의 기술에 기반한다. object proposal은 detector와는 독립적인 외부모듈로 채택되었다.

 

Deep Networks for Object Detection.

R-CNN은 region proposal을 객체의 카테고리 또는 배경으로 분류하기 위해 CNN을 ent-to-end으로 훈련시킨다. R-CNN은 object bounds를 예측하는 것이 아닌 주로 분류기로써 작동한다. 또한 region proposal 모듈의 성능에따라 정확도가 다르다. 몇몇의 문서에서는 deep network를 이용하여 객체 바운딩 박스를 예측하기를 제안한다. OverFeat[9] 방법은 단일 객체를 추정하는 localization task를 위해 박스위 좌표를 예측하는 완전연결계층이다. 완전연결계층은 객체를 분류하기위해 합성곱계층으로 이어진다.

Figure 2: Faster R-CNN은 객체 탐지를 위한 단일 병합 신경망이다. RPN은 'attention'의 형태로 존재한다.

MultiBox 방법은 마지막 완전연결계층이 여러 (클래스가 불확실한) 박스들을 예측하는 네트워크에서 region proposal을 생성하여 OverFeat의 "Single-box" 와 같은 것을 생성한다. 이 불확실 박스들은 R-CNN의 proposal로써 사용된다. MultiBox는 우리의 fully-convolutional 방법과는 달리 단일 이미지 크롭 또는 여러 대형 이미지 크롭(224 x 224)에 적용된다. MultiBox는 proposal과 detection 사이에서 특성을 공유하지 않는다. OverFeat 과 MultiBox는 이후에 자세히 설명한다. 우리의 연구와 동시에 DeepMask는 segmentation proposal을 학습하기 위해 개발되었다.

 

합성곱의 공유연산을 통해 효율적이고 정확도 있는 visual recognition에 대한 관심이 높아지고 있다. OverFeat는 분류, localization, 탐지를 위해 이미지 피라미드에서 합성곱 특성을 연산한다. 합성곱 특성에서 공유되는 Adaptively-sized pooling(SPP)는 효율적인 region-based 객체 탐지, semantic segmentation을 위해 개발된다. Fast R-CNN은 공유된 합성곱 특성에 대해 end-to-end detector 훈련을 가능하게 하며 좋은 정확도와 속도를 보여준다.

 

 

3. Faster R-CNN

Faster R-CNN이라 불리는 우리 모델은 2개의 모듈로 구성되어있다. 첫번째 모듈은 region proposal을 하는 FCN과 두번째 모듈은 이를 이용하는 Fast R-CNN 탐지기 이다. 객체를 탐지하기 위해 병함된 하나의 시스템과 같다.(Figure 2). 최신의 가장 유명한 '어텐션' 메커니즘을 빌려 말하면, RPN은 Fast R-CNN이 어디를 봐야하는지 알려준다. 3.1에서 region proposal에 대해 더 자세히 설명하겠다. 3.2에서는 우리가 개발한 두 모듈의 속성 공유를 통해 훈련시키는 알고리즘을 소개한다.

 

3.1 Region Proposal Networks

RPN은 아무 크기의 이미지를 입력하면 각 객체에 대한 점수와 함께 사각형의 객체 proposal을 출력한다. 우리는 이 과정을 FCN을 이용하였다. 우리의 최종 목표는 Fast R-CNN과 계산을 공유하는 것이기 때문에, 두 신경망 모두 공통의 컨볼루션 레이어 세트를 공유한다고 가정한다. 우리의 실험에서 우리는 5개의 공유 합성곱층을 가진 ZF모델과 13개의 공유 합성곱층을 가진 VGG-16모델을 조사한다.

 

region proposal을 생성하기위해 우리는 마지막 공유 합성곱층의 출력 위로 작은 신경망을 슬라이딩한다. 이 작은 신경망은 입력된 합성곱층의 n x n 크기의 창을 입력으로 받아들인다. 각각의 창은 저차원의 특성으로 맵핑된다.(ZF모델은 256차원, VGG모델은 512차원). 이 특성들은 2개의 비슷한 전역합성곱 계층으로 입력된다.- box-regression 계층(reg), box-classification 계층(cls). 본 논문에서는 입력 이미지의 수용 크기가 크다는 점에 주목하여 n = 3을 사용한다.(ZF, VGG각각 171, 228픽셀). 이 작은 신경망은 Figure 3(왼쪽)에 묘사되어 있다. 작은 신경망은 슬라이딩 윈도우 방식으로 작동하기 때문에 완전연결계층은 모든 위치에서 공유된다. 이 구조는 자연스럽게 n×n 합성곱층에 이어 두 개의 형제 1×1 합성곱층(각각 reg와 cls)으로 구현된다.

 

 

Figure 3: 좌측 : RPN, 우측 : PASCAL 2007 test에 대한 RPN의 탐지 예시. 우리의 방법은 넓은 범위와 비율에서 객체를 탐지한다.

3.2 Anchors

각 슬라이딩 윈도우는 동시에 여러 region proposal을 하며 각위치에서의 최대 proposal은 k로 표시한다. reg는 k개의 상자의 좌표를 표시할 4k의 출력을, cls는 각 proposal에 대해 객체인지 아닌지의 확률을 추정하는 2k 점수를 출력한다. k개의 proposal은 k 참조 박스를 기준으로 매개변수화 되며 이를 우리는 앵커(anchor)라고 부른다. 앵커는 슬라이딩 윈도우의 중앙에 위치하며 크기와 가로세로 비율과 연관되어 있다. (Figure3 좌측). 우리는 3개의 크기와 3개의 비율을 디폴트로 사용하였고 각 슬라이딩 위치에서 k=9로 지정하였다. W x H 크기의 합성곱맵에서 WHk개의 앵커가 나온다.

 

Translation-Invariant Anchors

우리의 접근 방식의 중요한 특성은 앵커와 앵커에 관련된 proposal을 계산하는 함수의 측면에서 모두 '이동 불변'이라는 것이다. 이미지에서 객체가 이동할 경우 proposal은 이동되어야 하며 이는 같은 방법으로 각 위치에서 proposal을 예측할 수 있어야 한다. 이러한 이동불변 특성은 우리 방법에서 증명된다. 이에 비해 MultiBos [27] 방법은 K-means를 사용하여 800개의 앵커를 생성하는데 이는 이동불변이 아니다. MultiBox는 객체가 이동하여도 동일한 proposal이 생성된다고 보장하지 못한다.

 

이동불변은 모델의 크기 또한 줄여준다. MultiBox는 (4 + 1) x 800차원의 완전연결계층으로 출력하는데 우리는 k=9일경우 (4 + 2) x 9차원의 합성곱층에서 출력한다. 결과적으로 우리의 출력계층은 2.8 x \(10^4\)개의 파라미터를 가진다.(VGG16은 512 x (4 + 2) x 9), 6.1 x \(10^6\) 개인 MultiBox의 출력계층보다 2차수 더 적다. 특성 투영 계층을 고려해도 proposal 계층은 여전히 MultiBox보다 훨씬 적은 매개 변수를 가지고 있다. 우리의 방법은 PASCAL VOC같은 작은 데이터셋에서도 과적합의 위험이 적을것으로 예상한다

 

Multi-Scale Anchors as Regression References

우리의 앵커는 다양한 크기(와 가로세로 비율)를 해결하기 위한 새로운 방법을 제시하기위해 만들었다. Figure 1에서 봤듯이, 다중 크기 예측에는 2가지 방법이 있다. 첫번째 방법은 이미지/특성 피라미드에 기반한다. 이미지는 여러 크기로 변형되고 이에 따라 특성맵도 각 크기에 맞게 계산된다(Figure 1(a)). 이 방법은 유용하지만 시간이 소비된다. 두번째 방법은 특성맵에 다양한 크기의 슬라이딩 윈도우를 사용하는 것이다. 예를들어 DPM에서는 다양한 비율에 대해 다양한 크기의 필터가 훈련된다(5x7 혹은 7x5와 같은). 이 방법이 다양한 크기에 사용된다면 '필터 피라미드'로 생각할 수 있다(FIgure 1(b)). 두번째 방법은 보통 첫번째 방법과 같이 사용된다.

 

이에 비해 우리는 더욱 효율적인 '앵커 피라미드'를 만들었다. 다양한 크기와 비율의 앵커박스를 참조하여 경계박스를 분류한다. 단일 비율의 이미지와 특성맵에만 의존하며 단일 크기의 필터(슬라이딩 윈도우)를 사용한다. 우리는 다양한 규모와 크기를 실험하여 이 방법에 대한 효과를 보여준다.(Table 8)

 

다중 크기 기반의 앵커 덕분에 우리는 Fast R-CNN에 의해 수행되는 것처럼 단일 이미지에서 계산된 합성곱 특성을 쉽게 사용할 수 있다. 이 앵커는 추가적인 비용 없이 특성을 공유하기 위한 중요 요소이다.

 

3.1.2 Loss Function

RPN을 훈련하기 위해 각 앵커에 이진 클래스 레이블(객체인지 아닌지)을 할당한다. 우리는 positive 레이블에 2 종류의 앵커를 할당했다. 1) 실측 박스와 가장 높은 IoU를 기록한 앵커, 2) 어떤 박스든 0.7이상의 IoU가 나오는 앵커. 하나의 실측 박스는 여러 앵커에 positive 레이블을 지정할 수 있다. 일반적으로 두 번째 조건은 positive 샘플을 결정하기에 충분하지만, 일부 드문 경우에서 두 번째 조건은 양성 샘플을 찾을 수 없다는 이유로 여전히 첫 번째 조건을 채택합니다. 모든 실측박스에 대해 IoU비율이 0.3보다 낮으면 non-positive 앵커에 negative 레이블을 할당한다. Positive 또는 Negative를 모두 갖지 않는 앵커는 훈련객체에 포함되지 않는다. 이러한 정의를 통해, 우리는 Fast R-CNN의 multi-task loss [2]에 따른 object function을 최소화한다. 이미지에 대한 손실함수는 다음과 같이 정의한다.

공식 설명 생략

 

Bounding box의 회귀에서는 4개의 좌표 파라미터에 대해 다음 식을 적용한다.

 

3.1.3 Training RPNs

RPN은 역전파와 확률적 경사하강법을 이용하여 ent-to-end으로 훈련될 수 있다. 우리는 이 네트워크를 훈련시키기 위해 [2]의 "이미지 중심" 샘플링 전략을 따른다. 각 미니 배치는 단일 이미지에서 발생하는 많은 양의 예제(positive 앵커와 음의 앵커를 포함하는)로 이루어진다. 모든 앵커의 손실 함수에 대해 최적화할 수 있지만, 이것은 negative가 많을때 이로 편향될 것이다. 대신, 우리는 미니 배치의 손실 함수를 계산하기 위해 이미지에서 256개의 앵커를 무작위로 샘플링한다. 여기서 샘플링된 양의 앵커와 음의 앵커의 비율은 최대 1:1이다. 이미지에 양성 샘플이 128개 미만인 경우 미니 배치를 음의 샘플로 패딩한다.

 

우리는 평균이 0이고 표준편차가 0.01인 가우시안 분포를 만족하는 랜덤한 가중치로 모든 계층을 초기화 시켰다. 다른 모든 계층(즉, 공유 컨볼루션 계층)은 표준 관행[5]과 같이 ImageNet 분류를 위한 모델을 사전 훈련함으로써 초기화된다. 우리는 메모리를 절약하기 위해 ZF net의 모든 레이어와 VGG net의 conv3_1 계층 이상을 조정한다[2]. 우리는 PASCAL VOC 데이터 세트에서 60k 미니 배치에 0.001의 학습률을 사용하고, 다음 20k 미니 배치에 0.0001의 학습률을 사용한다. 0.9의 momentum과 0.0005[37]의 weight decay를 사용한다. 우리의 구현은 카페[38]를 사용한다.

 

3.2 Sharing Features for RPN and Fast R-CNN

지금까지 우리는 이러한 region proposal 기반 객체 감지 CNN을 고려하지 않고 region proposal 생성을 위한 네트워크를 훈련하는 방법을 설명하였다. 탐지 네트워크를 위해, 우리는 Fast R-CNN[2]을 채택한다. 다음으로 공유 컨볼루션 레이어를 가진 RPN과 Fast R-CNN으로 구성된 통합 네트워크를 학습하는 알고리듬을 설명한다(Figure 2).

 

독립적으로 훈련된 RPN과 Fast R-CNN은 모두 다른 방식으로 컨볼루션 레이어를 수정할 것이다.
따라서 우리는 두 개의 별도 네트워크를 학습하기 보다는 두 네트워크 간에 컨볼루션 레이어를 공유할 수 있는 기술을 개발할 필요가 있다. 우리는 공유된 기능을 사용하여 네트워크를 훈련시키는 세 가지 방법에 대해 논의한다

 

1) Alternation training : 이 솔루션에서, 우리는 먼저 RPN을 훈련시키고, proposal을 사용하여 Fast R-CNN을 훈련시킨다. 그런 다음 Fast R-CNN에 의해 튜닝된 네트워크는 RPN을 초기화하는 데 사용되며, 이 프로세스는 반복된다. 이것은 이 논문의 모든 실험에 사용되는 솔루션이다.

 

2) Approximate joint training : 이 솔루션에서 RPN 및 Fast R-CNN 네트워크는 그림 2와 같이 훈련 중에 하나의 네트워크로 병합된다. 각 SGD 반복에서 순전파는 Fast R-CNN detector를 훈련할 때 고정적이고 사전 계산된 proposal과 동일하게 처리되는 region proposal을 생성한다. 역전파는 평상시와 같이 이루어지며, 공유 레이어 역전파의 경우 RPN 손실과 Fast R-CNN 손실이 결합된다. 이 솔루션은 구현하기 쉽다. 그러나 이 솔루션은 네트워크 응답이기도 한 proposal 상자의 좌표에 관한 파생물을 무시하므로 근사치도 마찬가지다. 우리의 실험에서, 우리는 경험적으로 이 방법이 근접한 결과를 내고 다른 훈련방법에 비해 훈련 시간을 약 25-50% 단축한다는 것을 발견했다. 이 방법은 우리가 공개한 파이썬 코드에 포함되어 있다.

 

3) Non-approximate joint training : 위에서 논의한 바와 같이, RPN에 의해 예측된 경계 상자도 입력값이다. Fast R-CNN의 RoI 풀링 레이어 [2]는 컨볼루션 기능과 예측된 경계 상자도 입력으로 받아들이기 때문에 이론적으로 유효한 역전파 해결사는 상자 좌표를 사용하는 그레이디언트도 포함해야 한다. 이러한 그레이디언트는 위의 Approximate joint training에서 무시된다. Non-approximate joint training에서 박스 좌표에 대해 미분 가능한 RoI 풀링 레이어가 필요하다. 이는 사소한 문제이며, 본 논문의 범위를 벗어난 [15]에서 개발된 "RoI warping" 층에 의해 해결책이 제시될 수 있다.

 

4-Step Alternation Training. 본 논문에서는 교대 최적화를 통해 shared feature를 학습하기 위해 실용적인 4단계 훈련 알고리듬을 채택한다. 첫 번째 단계에서, 우리는 3.1.3절에 설명된 대로 RPN을 훈련시킨다. 이 네트워크는 ImageNet 사전 훈련된 모델과 region proposal 작업을 위해 end-to-end 미세 조정으로 초기화된다. 두 번째 단계에서는 1단계 RPN에서 생성된 proposal을 사용하여 Fast R-CNN에 의한 별도의 탐지 네트워크를 훈련시킨다. 이 탐지 네트워크 역시 ImageNet 사전 훈련된 모델에 의해 초기화된다. 이 시점에서 두 네트워크는 컨볼루션 레이어를 공유하지 않는다. 세 번째 단계에서는 검출기 네트워크를 사용하여 RPN 훈련을 초기화하지만, 공유 컨볼루션 레이어를 고정하고 RPN에 고유한 레이어만 미세 조정한다. 이제 두 네트워크는 컨볼루션 레이어를 공유한다. 마지막으로, 공유 컨볼루션 레이어를 고정하여 Fast R-CNN의 고유한 레이어를 미세 조정한다. 따라서 두 네트워크는 동일한 컨볼루션 레이어를 공유하고 통합 네트워크를 형성한다. 비슷한 다른 훈련을 더 반복할 수 있지만, 우리는 무시해도 될 정도의 개선을 관찰했다.

 

3.3 Implementation Details

단일 크기 [1], [2]의 이미지에서 region proposal 및 객체 감지 네트워크를 훈련하고 테스트한다. 더 짧은 면이 s = 600픽셀이 되도록 이미지의 크기를 조정한다[2]. (이미지 피라미드를 사용한) 다중 스케일 특징 추출은 정확도를 향상시킬 수 있지만 속도-정확성 측면에서 비효율 적으로 보인다[2]. 재스케일링된 이미지에서 마지막 컨볼루션 레이어의 ZF와 VGG넷 에 대한 총 stride는 16픽셀이므로 크기를 조정하기 전에 일반적인 PASCAL 이미지는 최대 10픽셀이다.(~500×375). 물론 큰 stride로도 좋은 결과를 얻을 수 있지만, 작은 stride로 정확도가 더욱 향상될 수 있다.

앵커의 경우 면적이 \(128^2, 256^2, 512^2\)픽셀인 3가지의 박스와 가로 세로 비율이 1:1, 1:2, 2:1 3가지를 사용한다. 이러한 하이퍼 파라미터는 특정 데이터 세트에 대해 세심하게 선택되지 않으며, 다음 섹션에서 그 영향에 대한 실험을 제공한다. 논의된 바와 같이, 우리의 솔루션은 여러 크기의 영역을 예측하기 위해 이미지 피라미드나 필터 피라미드가 필요하지 않아 실행 시간을 상당히 절약한다. Figure 3(오른쪽)은 광범위한 척도 및 가로 세로 비율에 대한 우리 방법의 가용성을 보여줍니다. Table 1은 ZF net을 사용하여 각 앵커에 대해 학습된 평균 proposal 크기를 보여준다. 우리는 우리의 알고리듬이 밑에 나오는 수용 필드보다 더 큰 예측을 허용한다는 점에 주목한다. 몇몇 예측은 불가능하지 않다. 즉, 물체의 가운데만 보이는 경우에도 물체의 범위를 대략적으로 추론할 수 있다.

Table 1

이미지 경계를 가로지르는 앵커 상자는 주의하여 취급해야 한다. 훈련 중에 우리는 모든 교차 경계 앵커를 무시하기 때문에 손실에 포함되지 않는다. 일반적인 1000 × 600 이미지의 경우, 총 약 20000(60 x 40 x 9)개의 앵커가 있을 것이다. 교차 경계 앵커가 무시되면 이미지당 약 6000개의 앵커가 훈련에 사용된다. 경계 교차 특이치가 훈련에서 무시되지 않으면 객체에 크고 수정하기 어려운 error가 적용되고 훈련은 수렴되지 않는다. 그러나 테스트하는 동안 우리는 여전히 전체 이미지에 완전한 컨볼루션 RPN을 적용한다. 이것은 우리가 이미지 경계에 위에 교차 경계 proposal 상자를 생성할 수 있다.

 

일부 RPN proposal들은 서로 매우 겹친다. 중복을 줄이기 위해, 우리는 cls 점수를 기반으로 proposal 영역에 non-maximum suppression(NMS)를 채택한다. 우리는 NMS에 대한 IoU 임계값을 0.7로 고정하여 이미지당 약 2000개의 제안 영역을 남긴다. NMS는 궁극적인 탐지 정확도를 해치지 않지만 proposal 수를 상당히 줄인다. NMS 이후, 우리는 탐지를 위해 상위 N 순위 proposal 영역을 사용한다. 다음으로 우리는 2000개의 RPN proposal을 사용하여 Fast R-CNN을 훈련시키지만, 시험 시 다른 수의 proposal도 평가한다.

 

4 Experiments

4.1 Experiments on PASCAL VOC

우리는 PASCAL VOC 2007와 비교하여 우리의 방법을 종합적으로 평가한다[11]. 이 데이터 세트는 20개의 객체 범주에 걸쳐 약 5k개의 훈련 이미지와 5k개의 테스트 이미지로 구성된다. 또한 일부 모델의 PASCAL VOC 2012 벤치마크에 대한 결과를 제공한다. ImageNet 사전 훈련된 네트워크의 경우, 5개의 컨볼루션 레이어와 3개의 완전 연결 레이어를 가진 ZF net [32]의 "fast" 버전과 13개의 컨볼루션 레이어와 3개의 완전 연결 레이어를 가진 공개 VGG-16 모델 7 [3]을 사용한다. 우리는 주로 detection mean Average Precision(mAP)를 평가한다. 이는 object proposal에 초점을 맞추는 것이 아니라 개체 탐지를 위한 실제 수치이기 때문이다.

 

Table 2: PASCAL VOC 2007 테스트셋에 대한 탐지 결과 (2007 훈련 데이터를 이용하여 훈련됨). 탐지기는 훈련, 테스트에 대해 다양한 proposal방법을 적용한 ZF + Fast R-CNN이다.

 

Table2는 다양한 region proposal 방법을 사용하여 훈련 및 테스트했을 때 Fast R-CNN 결과를 보여준다. 이 결과는 ZF net을 사용한다. Selective Search(SS) [4]의 경우, 우리는 "fast" 모드로 약 2000개의 proposal을 생성한다. EdgeBox(EB)[6]의 경우 0.7 IoU로 조정된 기본 EB 설정으로 proposal을 생성한다.  Fast R-CNN 프레임워크에서 SS의 mAP는 58.7%, EB의 mAP는 58.6%이다. Fast R-CNN을 사용한 RPN은 최대 300개의 proposal을 사용하면서 mAP 59.9%로 경쟁력 있는 결과를 달성한다. RPN을 사용하면 공유 컨볼루션 계산으로 인해 SS 또는 EB를 사용하는 것보다 훨씬 빠른 탐지 시스템이 생성된다. proposal 수가 적을수록 지역별로 완전 연결 계층의 비용도 감소한다(Table 5).

 

Ablation Experiments on RPN. proposal 방법으로서의 RPN의 행동을 조사하기 위해, 우리는 몇 가지 Ablation 연구를 수행했다. 먼저, 우리는 RPN과 Fast R-CNN 탐지 네트워크 간에 컨볼루션 레이어를 공유한 효과를 보여준다. 이를 위해 4개의 과정 중 2번째 단계이후에 중지한다. 별도의 네트워크를 사용하면 결과가 58.7%로 약간 감소합니다(RPN+ZF, 비공유, 표 2). 우리는 이것이 탐지기에 의해 조정된 feature를 RPN을 미세 조정하는 데 사용할 때 세 번째 단계에서 proposal 품질이 향상되기 때문이라고 관찰한다.

 

다음으로, 우리는 Fast R-CNN 탐지 네트워크 훈련에서 RPN을 제거한다. 이를 위해 2000 SS proposal과 ZFnet을 사용하여 Fast R-CNN 모델을 훈련한다. 우리는 이 탐지기를 고정(freezing)하고 테스트 시 사용된 proposal 영역을 변경하여 mAP를 평가한다. 이러한 Ablation 실험에서 RPN은 디텍터와 feature를 공유하지 않는다.

시험 시 SS를 300 RPN proposal로 대체하면 mAP가 56.8%에 이른다. mAP의 하락은 훈련/테스트 proposal 간의 불일치 때문이다. 이 결과는 다음 비교의 기준이 됩니다.

 

다소 놀랍게도, RPN은 여전히 test에서 상위 100개의 proposal을 사용할 때 경쟁적인 결과(55.1%)로 이어지며, 이는 상위 RPN proposal이 정확하다는 것을 보여준다. 반면, 최상위 6000 RPN proposal(NMS 제외)을 사용하면 mAP(55.2%)가 비슷해 NMS가 검출 mAP를 해치지 않고 틀린 정보를 줄일 수 있음을 시사한다.

 

그런 다음, 우리는 테스트 시 RPN의 CLS 및 REG 출력 중 하나를 해제하여 RPN의 CLS 및 REG 출력의 역할을 별도로 조사한다. 테스트 시 CLS 레이어가 제거되면(따라서 NMS/순위 지정이 사용되지 않음), 점수가 매겨지지 않은 영역에서 N개의 proposal을 무작위로 샘플링한다. mAP는 N = 1000 (55.8%)과 거의 변하지 않지만, N = 100일 때 44.6%로 상당히 저하된다. 이것은 CLS 점수가 가장 높은 순위에 있는 proposal의 정확성을 설명한다는 것을 보여준다.

 

반면, 테스트 시 REG 레이어를 제거하면(proposal이 앵커 박스가 됨), mAP는 52.1%로 떨어진다. 이는 고품질 proposal이 주로 경계박스의 회귀에 의한 것이란걸 시사한다. 앵커 박스는 여러 스케일 및 가로 세로 비율을 갖지만 정확한 검출에는 충분하지 않다.