[arXiv 2015] Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

안녕하세요 제가 이번에 리뷰할 논문은 Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 입니다.

Object Detection 모델은 Object 위치를 추정하기 위해 영역 추정(region proposal)을 알고리즘을 사용해왔습니다. SPP-net과 R-CNN 및 Fast R-CNN은 Object 탐지 시간을 크게 줄인 모델입니다. 하지만 SPP-net 같은 경우 고정된 크기의 피라미드 풀링 , 연산 복잡성의 한계점을, Fast R-CNN 같은 경우 RoI 풀링의 한계, RoI 풀링 연산 복잡성 등의 한계점을 가지고 있습니다.

Faster R-CNN은 SPP-net 및 Fast R-CNN 모델에서의 한계를 극복하고자 제안되었으며, 특히 엔드 투 엔드(End-to-End) 학습 방식을 통해 Object 검출 과정을 효율적으로 통합합니다.

1. Introduaction

객체 탐지의 테스크에서 영역 추정(region proposal) 기법과 R-CNN 덕분에 객체 탐지의 성능은 크게 좋아졌습니다. 이후 R-CNN의 속도가 느리다는 단점은 Fast R-CNN에서 피처 맵을 공유해서 어느정도 개선하였습니다. 하지만 Fast R-CNN도 여전히 region proposal 단계에서는 병목 현상이 있기 때문에 속도가 느리다는 단점이 있습니다.

Selective Search는 당시 Region proposal 중 가장 인기 있는 방법 중 하나였습니다. 그러나 효율적인 감지 네트워크 와 비교할 때 Selective Search는 CPU에서 이미지당 2초가 걸릴 정도로 느린 속도를 가지고 있습니다. 이후에 나온 EdgeBoxes는 이미지 당 0.2초가 걸리지만 여전히 Region proposal 단계는 detection network 와 같은 실행 시간을 소비합니다. Fast R-CNN은 기본적으로 GPU를 이용하지만 Region proposal 단계에서는 CPU로 수행하기 때문에 병목 현상이 발생하게 됩니다. 따라서 이를 해결하기 위해 Region proposal 단계에서도 연산을 GPU로 수행해야 합니다. 따라서 GPU상에서 연산을 하기 위해 Region Proposal Network(RPN)을 제안합니다. 이는 Feature map을 보고 어느 곳에 물체가 있을지 예측합니다. 이를 통해 Selective Search의 시간적인 단점을 해결하였다고 합니다.

2. Faster R-CNN

Faster R-CNN은 두 가지 모듈로 구성되어 있습니다. 첫번째 모듈은 region proposal을 하는 FCN 입니다. 그리고 두번째 모듈은 이를 이용하는 Fast R-CNN 탐지기 입니다. 전체 네트워크는 객체를 탐지하기 위해 병함된 하나의 시스템 구조를 이용합니다.이 방식은 어텐션 메커니즘과 유사하며 RPN는 탐지기(detector)가 어디에 주목해야 하는지를 알려줍니다.

2.1 Region Proposal Networks

RPN은 임의의 크기 이미지를 입력으로 받아 각 객체에 대한 점수 및 객체 제안의 사각형 형태를 출력하는데 사용됩니다. 이과정에서 저자는 Fully Convolutional Network(FCN)을 활용했습니다. RPN 목표는 Fast R-CNN과 계산을 공유하는 것이므로 두 신경망은 공통의 컨볼루션 레이어 세트를 공유한다고 가정합니다. 실험에서는 ZF 모델과 VGG-16 모델을 사용하여 각각 5개와 13개의 공유 합성곱층을 조사했습니다. RPN과 Fast R-CNN이 피처를 어떻게 공유하는지 아래에서 더 자세히 살펴보겠습니다.

Region Proposal Networks를 생성하기 위해, 저자는 마지막 공유 합성곱층의 출력 위로 작은 신경망을 슬라이딩시킵니다. 이 작은 신경망은 입력된 합성곱층의 n x n 크기의 창을 받아들입니다. 각 창은 낮은 차원의 특성으로 매핑됩니다(ZF 모델은 256차원, VGG 모델은 512차원). 이러한 특성은 ‘box-regression’ 계층(reg)과 ‘box-classification’ 계층(cls)이라고 하는 두 개의 유사한 전역 합성곱 계층으로 입력됩니다. 본 논문에서는 입력 이미지의 크기가 크다는 특성에 주목하여 n = 3을 사용했습니다(ZF, VGG 각각 171, 228픽셀). 이 작은 신경망은 Figure 3(왼쪽)에 설명된 구조를 따르며, 슬라이딩 윈도우 방식으로 작동하여 완전 연결 계층이 모든 위치에서 공유되도록 합니다. 이 구조는 n × n 합성곱층 뒤에 두 개의 1 × 1 합성곱층(reg와 cls)으로 구현됩니다

2.1.1 Anchors

각 슬라이딩 창은 동시에 여러 개의 region proposal을 만들고 각 위치에서의 최대 proposal은 k로 표시됩니다. “reg”는 각 상자의 좌표를 나타내는 4k의 출력을 가지며 “cls”는 각 proposal이 물체인지 여부를 추정하는 2k의 점수를 출력합니다. k개의 proposal은 k 상자를 기준으로 매개변수화되며 이를 “앵커(anchor)”라고 합니다. anchor box는 슬라이딩 창의 중심에 위치하고 비율은 1×1, 1×2,2×1 등으로 구성됩니다. 논문에서 각 슬라이딩 위치에서 k=9로 설정을 하여 비율이 1×1, 1×2,2×1인 박스의 크기를 3가지씩 만들어 총 9개의 anchor box가 만들어 집니다 . 따라서 W x H 크기의 합성곱 맵에서 WHk개의 anchor box가 생성됩니다.

2.1.2 Translation-Invariant Anchors

Faster R-CNN은 위치 불변성(Translation-Invariance)이라는 중요한 특성을 가지고 있습니다. RPN은 이미지의 전체 영역을 슬라이딩 윈도우 방식으로 훑기 때문에 위치가 변경되더라도 정확한 객체 인식이 가능합니다. 반면에 MultiBox 기법은 위치 불변성이 없어 객체의 위치가 변하면 동일한 객체로 인식하지 못합니다.

또한, 위치 불변성은 모델의 크기를 줄이는 데 기여합니다. MultiBox는 K-means를 사용하여 800개의 앵커를 생성하기에 (4 + 1) x 800차원의 완전연결 계층을 사용하지만 Faster R-CNN은 (4 + 2) x 9차원의 FC layer를 사용합니다. 따라서 VGG16 백본 모델에서 총 출력 계층의 파라미터 개수는 2.8 x 10⁴개(= 512 x (4+2) x 9)로, MultiBox의 출력 계층보다 훨씬 적습니다. 파라미터의 적음으로 인해 Faster R-CNN은 작은 데이터셋인 PASCAL VOC에서도 과대적합 위험이 줄어듭니다.

2.1.3 Multi-Scale Anchors as Regression References

Multi-Scale 예측에는 두 가지 방법이 있습니다. 첫 번째 방법은 이미지 및 특성 피라미드를 사용하는 것입니다. Figure 1(a) 에서처럼 이미지는 여러 크기에 따라 feature map으로 추출됩니다. 하지만 이 방법은 시간이 많이 소요되는 단점이 있습니다. 두 번째 방법은 Figure 1(b)처럼 feature map에 다양한 크기의 슬라이딩 윈도우를 사용하는 것입니다. 일반적으로 (b)의 방식은 (a)의 방식을 결합하여 사용됩니다.

논문에서는 더 효율적인 대안으로 ‘pyramid of anchors’를 제안합니다. 다양한 크기와 비율의 앵커 박스를 참조하여 경계 박스를 분류합니다. 이 방법은 단일 비율의 이미지와 feature map에만 의존하며 단일 크기의 필터(슬라이딩 윈도우)를 사용합니다. . 다중 크기 기반의 앵커 덕분에 Fast R-CNN과 같이 단일 이미지에서 얻은 합성곱 특성을 쉽게 활용할 수 있고 이러한 앵커는 추가 비용 없이 feature를 공유할 수 있기 떄문에 계산 효율성을 제공합니다.

2.1.4 Loss Function

RPN의 훈련은 각 앵커 박스에 대해 이진 분류를 통해 수행됩니다. 이진 분류는 주어진 앵커 박스에 대해 해당 위치에 객체가 있는지 여부를 판단하는 것입니다. 분류를 하기 위해서는 각 앵커 박스에 positive label이 지정되어야 하는데, 이를 위해 두 가지 조건을 고려합니다. 첫 번째는 ground-truth box와 IoU가 가장 큰 anchor box를 positive label로 지정합니다. 두 번째는 ground-truth box와 IoU가 0.7을 넘는 앵커도 positive label로 지정합니다. 일반적으로는 두 번째 조건을 기준으로 positive label을 부여하지만, 이 조건을 만족하는 앵커 박스가 없으면 첫 번째 조건을 기준으로 positive label 앵커 박스를 찾습니다. 또한, IoU가 0.3보다 작은 앵커 박스는 negative label로 간주합니다. positive도 negative도 아닌 anchor box는 훈련에서 제외됩니다.

loss 함수를 살펴보면 다음과 같습니다.

위의 수식에서 p_i는 i번째 anchor box가 객체일 확률을 의미합니다 . 해당 값은 모델이 예측한 앵커의 객체 여부를 나타내고 anchor box가 positive이면 1, negative이면 0(배경)으로 표시됩니다. t_i는 predicted bounding box의 4가지 좌표값이고 총 4가지 좌표값을 갖습니다. L_cls는 분류 손실을 나타내며, 두 클래스(객체 vs. 배경) 간의 로그 손실을 의미합니다. L_reg는 경계 박스 회귀 손실을 나타냅니다. L_reg의 식을 살펴보면 p_i*가 곱해져 있습니다. 이는 L_reg이 positive 앵커 박스일 때만 활성화되고 배경인 경우에는 비활성화 됨을 의미합니다.

L_cls과 L_reg은 각각 N_cls와 N_reg로 나눠서 정규화합니다. 그리고 λ 파라미터가 사용하여 L_reg에 어느정도의 가중치를 줄지 결정합니다. 논문에서는 N_cls를 256, N_reg를 2,400으로 설정하고,λ를 10으로 지정하였습니다.

predicted bounding box 좌표는 위 그림과 같고 x, y, w, h는 각각 (x, y)좌표와 너비(w), 높이(h)를 뜻합니다.

2.2.1 Sharing Features for RPN and Fast R-CNN

Faster R-CNN에서 RPN과 Fast R-CNN이 어떻게 피처를 공유하고 있는지 살펴보겠습니다. convolutional layers를 공유하여 네트워크를 훈련시키는 방식에는 총 세 가지 방법이 있습니다.

1 . Alternation training : 먼저 RPN을 훈련시키고, proposal을 사용하여 Fast R-CNN을 훈련시킵니다. 그런 다음 Fast R-CNN에 의해 튜닝된 네트워크는 RPN을 초기화하는 데 사용되며, 이 프로세스를 반복합니다.

  1. Approximate joint training: 이 방법에서 RPN과 Fast R-CNN 네트워크는 하나의 네트워크로 통합되어 훈련됩니다. 그런데 이 통합된 구조에서는 제안 상자의 좌표에 대한 도함수가 적절하게 처리되지 않아 해당 도함수를 무시하게 됩니다. 따라서 이 방법은 상자의 위치에 대한 정확성이 떨어질 수 있다는 한계를 갖습니다.
  2. Non-approximate joint training : Approximate joint training은 제안 상자의 좌표에 대한 도함수가 적절하게 처리되지 않기 때문에 Non-approximate joint training을 통해 도함수름 고려하고자 합니다. 이 방식에는 경계 상자 좌표에 대한 미분 가능한 RoI 풀링 레이어가 필요합니다. 이를 위해 “RoI warping” 층을 사용하여 경계 상자 좌표에 대한 미분 가능하도록 처리합니다.

2와 3의 방식은 사용하기에 어려워서 논문에서는 1의 방식을 사용합니다.

2.2.2 4-Step Alternating Training

공유된 특징을 학습하기 위한 실용적인 4단계 훈련 알고리즘을 도입하고 있습니다.

첫 번째로, RPN을 훈련시킵니다. 두 번째 단계에서는 1단계에서 생성된 RPN을 사용하여 Fast R-CNN에 대한 탐지 네트워크를 훈련시킵니다. 이때 두 네트워크는 아직 컨볼루션 레이어를 공유하지 않습니다.

세 번째로, RPN 훈련을 초기화하면서 공유 컨볼루션 레이어를 고정하고 RPN에만 미세 조정을 수행합니다. 이제 두 네트워크는 컨볼루션 레이어를 공유합니다.

마지막으로, Fast R-CNN의 고유한 레이어를 미세 조정하기 위해 공유 컨볼루션 레이어를 고정합니다. 이러한 알고리즘을 통해두 네트워크는 동일한 컨볼루션 레이어를 공유하며 통합된 네트워크를 형성합니다.

2.3 Implementation Details

Faster R-CNN는 단일 크기의 이미지로 region proposal 및 객체 감지 네트워크를 훈련하고 테스트합니다. 다중 스케일 특징 추출을 통해서 정확도를 향상시킬 수 있지만 속도-정확성 측면에서 효율적이지 않습니다. 그렇기 때문에 앞에서 소개한 것처럼 앵커 박스를 사용하게 됩니다.

Table 1은 ZF net을 사용하여 각 앵커에 대해 학습된 평균 proposal 크기를 보여줍니다. 이 결과는 receptive field보다 더 큰 예측을 할 수 있다는 것을 보여주고 예측을 물체의 가운데만 보이는 경우에도 물체의 범위를 추론하여 영역을 추정할 수 있다는 것을 보여줍니다.

이미지 경계를 가로지르는 앵커 상자는 훈련에 부정적인 영향을 끼칠 수 있기 때문에 훈련 중에 이미지 경계를 넘어가는 앵커 상자들을 무시하여 이들이 손실 함수에 영향을 미치지 않도록 합니다. 일반적으로 1000 × 600 이미지의 경우 총 20000(60 x 40 x 9)개의 앵커가 있을 것이며 교차 경계 앵커가 무시되면 이미지당 약 6000개의 앵커가 훈련에 사용됩니다.

RPN을 통해 proposal된 상자들은 서로 겹칩는 경우가 많습니다. 따라서 중복을 줄이기 위해서 cls 점수를 기반으로 proposal 영역에 non-maximum suppression(NMS)를 채택합니다. NMS에 대한 IoU 임계값을 0.7로 고정하여 이미지당 약 2000개의 제안 영역을 남깁니다. NMS는 detection 정확도를 해치지 않지만 proposal 수를 상당히 줄입니다. NMS 이후, 상위 N 순위의 proposal 영역을 사용하여 Fast R-CNN을 훈련시키지만, 시험 시에는 다른 수의 proposal도 평가합니다.

3. Experiments

다음은 실험 결과 입니다. 논문에서는 PASCAL VOC 2007 데이터셋을 기반으로 종합적인 평가를 하였습니다. PASCAL VOC 2007 데이터셋은 5,000개의 훈련 이미지와 5,000개의 테스트 이미지로 구성되어 있으며, 20개의 class를 다룹니다. 또한 몇 가지 모델에 대한 PASCAL VOC 2012 benchmark 결과도 제시했습니다. ImageNet으로 사전 훈련된 네트워크에는 ZF net의 ‘fast’ 버전과 VGG-16 모델 을 사용했습니다. detection 평가에서는 mean Average Precision(mAP)를 사용했습니다.

Table 2는 다양한 region proposal 방법을 사용하여 Fast R-CNN 결과를 훈련 및 테스트한 결과를 보여줍니다. 표를 통해 알 수 있듯이 ZF에 RPN을 사용한 것이 Selective Search나 EdgeBoxes보다 Proposal 수도 적었지만 mAP는 높음을 확인할 수 있습니다.

또한 Ablation Experiments 실험을 통해 RPN의 효과를 조사합니다. 이 실험 방식에는 총 3가지 실험 요소를 평가하는데 첫 번째로 RPN과 Fast R-CNN 간에 컨볼루션 레이어를 공유하는 효과를 확인하는 실험 두 번째로, RPN을 훈련에서 제거하고 Fast R-CNN 탐지 네트워크만 사용한 실험, 세 번째는 테스트 시 RPN의 CLS 및 REG 출력 중 하나를 해제하여 RPN의 CLS 및 REG 출력의 역할을 별도로 조사했습니다. 마지막으로 RPN을 훈련하기 위해 ZF-net을 사용하는 대신 VGG-16을 사용해서 성능을 측정합니다.

RPN의 훈련을 ZF-net 대신 VGG-16을 사용한 결과를 더 자세히 살펴보면 다음과 같습니다.

각각 data열에 있는 데이터 셋으로 훈련을 마치고 PASCAL VOC 2007 test set과 n PASCAL VOC 2012 test set으로 성능을 측정한 결과입니다. 결과표를 통해 알 수 있듯이 VGG-16으로 훈련을 하니 mAP가 올랐고 데이터를 더 많이 사용할수록 mAP가 더 오름을 확인할 수 있습니다.

하지만 VGG-16으로 훈련을 한 모델이 ZF-net으로 훈련시킨 모델보다 map는 높지만 속도 측면에서는 낮음을 확인할 수 있습니다.

3.1 Sensitive to Hyper-parameters

논문에서는 몇 가지 하이퍼파라미터에 따른 차이를 분석해서 최적의 하이퍼파라미터에 값을 제시합니다.

먼저 Anchor Setting의 경우 스케일과 가로세로 비율이 각 3개씩일 때 69.9% 성능이 가장 좋다는 것을 확인할 수 있습니다.

다음은 λ에 따른 mAP 차이를 조사합니다. λ=10일 때 성능이 가장 좋지만 λ=1, λ=100 경우와 별 차이가 없기 때문에 λ는 상대적으로 덜 민감한 하이퍼파라미터임을 확인할 수 있습니다.

3.2 One-Stage Detection vs. Two-Stage Proposal + Detection.

마지막으로 One-Stage Detection과 Two-Stage Proposal + Detection을 비교한 실험입니다. One-Stage Detection의 파이프라인으로는 OverFeat을 사용합니다. OverFeat은 End-to-End 구조를 가지고 있어서 입력 이미지로부터 분류 및 객체 감지를 한 번에 처리할 수 있는 구조를 가지고 있습니다. 반면 Faster R-CNN의 경우 2-Stage의 구조를 가지고 RPN을 통해 후보 영역(ROI)를 제안합니다. 두 번째 단계에서는 RPN에 의해 제안된 후보 영역들은 Fast R-CNN으로 전달합니다. 두 모델을 비교하기 위해 OverFeat을 모방해서 one-stage Fast R-CNN을 만들었습니다.

ZF모델의 One-Stage System이 2-Stage보다 낮은 성능을 보였고 이를 통해 2-Stage가 성능이 더 좋은 것을 확인할 수 있습니다.

4. Conclusion

Faster R-CNN은 RPN을 도입하여 효과적이고 정확한 Region Proposal 생성 방법을 제시하였습니다.

이 모델은 Convolution Layer를 공유함으로써 Region Proposal을 추출하는 과정에서 비용을 감소시켰고 이로써 Faster R-CNN은 당시에 실시간에 근접한 속도로 동작하며, Region Proposal의 품질을 향상시키면서 Object Detection Task의 성능도 향상시켰습니다.

Reference

https://bkshin.tistory.com/

deep-math.tistory.com

Author: 정 의철

6 thoughts on “[arXiv 2015] Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

  1. 안녕하세요. 정의철 연구원님.

    Faster R-CNN을 읽은지 오랜 시간이 지나서, 다시 읽어보니 정말 새롭네요.
    몇가지 질문 드리겠습니다.

    1. Selective Search 방식을 소개할 때 EdgeBoxes라는 모델을 언급하셨는데, 이 모델은 언제 나온 모델이며 어떤 모델인가요?
    2. Approximate Joint Training과 Non-approximate Joint Training이 어려워서 논문에서 사용하지 않으셨다고 했는데, 혹시 구체적인 이유가 무엇일까요? 논문 작성 시에는 보통 가능한 모든 방법을 동원해 성능을 늘리는데, 그러지 않을 만큼 큰 제한 사항이 있었을까요?

    감사합니다.

    1. 안녕하세요 지오님 질문 감사드립니다~
      1. EdgeBoxes는 2014년 ECCV에 기재된 “EdgeBoxes: Locating Object Proposals from Edges”라는 논문에 제안된 방법론 입니다. EdgeBoxes 이미지의 edge 정보를 활용하여 객체의 경계 상자를 찾아냅니다.
      EdgeBoxes의 간략한 메커니즘은

      1. 입력 이미지에서 엣지(edge) 정보를 추출 → Edge 맵 생성
      2. Edge 맵을 사용하여 각 위치에서 bounding box를 생성 → bounding box의 스코어를 계산하여 물체가 존재할 가능성을 계산
      3. NMS 적용
      4. 결과 출력

      으로 정리할 수 있을 것 같습니다.

      2. Approximate Joint Training의 경우 제안 상자의 좌표에 대한 도함수가 적절하게 처리되지 않아 해당 도함수를 무시하게 되기 때문에 상자의 위치에 대한 정확성이 떨어질 수 있다는 한계를 갖습니다.
      그리고 Non-approximate Joint Training의 경우 RPN이 예측한 bounding box 또한 function의 input이기 때문에 bounding box가 back propagation을 통해 학습되려면 gradients가 필요합니다. 이는 논문에 ROI-warping을 통해 해결 될 수 있다고 합니다. ROI-warping은 풀링 작업 자체는 일반적으로 미분 불가능한 연산이기 때문에 미분 가능한 형태를 유도하기 위해서 미분 가능한 ROI-warping layer를 통해 구현하지만 추가적인 계산 비용이 발생할 수 있고 이로 인해 모델의 훈련 및 추론 속도가 느려질 수 있어서 첫 번째 방식(Alternation training)을 사용하는 것 같습니다.

      감사합니다!!

  2. 안녕하세요 정의철 연구원님 좋은 리뷰 감사합니다.
    첫 질문은 Faster R-CNN은 1-stage detector인지 2-stage detector인지와 그 이유가 궁금합니다.
    또, positive도 negative도 아닌 anchor box는 훈련에서 제외되는 이유가 궁금합니다. 감사합니다.

    1. 안녕하세요 성준님 질문 감사드립니다~
      1. Faster R-CNN은 2-stage detector입니다. Faster R-CNN이 2-stage detector을 사용한 이유는 기존 Fast R-CNN모델의 단점을 보완한 모델을 소개하고자 2-stage detector 형식을 유지한걸로 생각합니다.

      2. Anchor box 중에서 positive나 negative로 레이블링되지 않는 중립한 anchor를 훈련에서 제외하는 이유는 이러한 중립한 anchor는 학습의 명확성을 떨어트릴 수 있기 때문에 훈련에서 제외를 하고 불필요한 계산을 최소화해서 학습의 효율을 높이기 위함으로 생각합니다.

      감사합니다~

  3. 안녕하세요, 좋은 리뷰 감사합니다.

    직접 Faster R-CNN 리뷰를 읽는 건 처음입니다. 어려운 내용임에도 불구하고 꼼꼼한 리뷰 감사합니다. 사실 2-stage에서 가장 time consume이 발생하는 구간은 RoI 파트입니다. Selective search를 수행하기 위해서는 grid 전체를 훑어야 하기 때문에 오래 걸릴 수 밖에 없지만 이러한 RoI로부터 파생되는 효과가 많기 때문에 제가 연구하고 있는 6D애서도 종종 백본으로 사용합니다.

    간단한 질문이 있는데, ZF 모델은 어떤건지 궁금하네요.
    그리고 translation-invariant를 설명하는 RPN은 이미지 내에서 객체가 존재할 것으로 예상되는 candidate 영역을 제안하는 것으로 알고 있습니다. 설명해주신 내용은 RPN이 마치 convolution에 대한 장점이었던 translation-invariant한 상황을 설명하는 것과 유사해보이는데 객체가 있을 확률을 다루는 것으로 알고 있는데 위치가 바뀐다면 RPN도 동일한 객체에 대해서는 정확하게 인식을 못할 것 같은데, 정확한 객체 인식을 할 수 있는 이유를 좀 더 설명해주실 수 있나요?

    감사합니다.

    1. 안녕하세요 희진님 좋은 질문 감사드립니다~
      1. ZF 모델은 AlexNet의 변형으로 CNN을 기반으로 한 모델입니다. ZF 모델의 구조는 AlexNet에서 2개의 gpu를 사용해 병렬처리하는 대신 한 개의 gpu만 사용하고 convolution layer에서 커널 사이즈와 stride를 다르게 설정하여 구성됩니다. ZFNet 논문의 핵심은 convolution network를 시각화하여 중간 과정을 직접 확인하고 개선 방향을 파악할 방법을 만들었다는 것입니다. 이 논문을 기반으로 발전된 논문에는 ‘Visualizing Convolutional Neural Networks for Image Classification, Danel Brukner, 2015’ , ‘Delving Deep into Convolutional Nets, Ken Chatfield, 2014’ 이 있다고 합니다.

      2. RPN이 어떻게 영역을 제안하는지 살펴보면 먼저 윈도우 접근 방식을 사용하여 특징 맵의 각 위치 마다 k개의 영역을 생성합니다. 이때 k개의 영역을 앵커 박스라 부르며 앵커 박스는 슬라이딩 윈도우의 중심에 위치하여 다양한 스케일을 탐지할 수 있도록 서로 다른 가로 세로 비율로 만들어 사용합니다. 논문에서는 k=9로 설정을 하여 비율이 1×1, 1×2,2×1인 박스의 크기를 3가지씩 만들어 총 9개의 앵커 박스를 사용합니다. 이처럼 RPN은 윈도우 접근 방식을 사용하기 때문에 객체의 위치가 바뀌어도 영역을 제안할 수 있는 것입니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다