반응형

0. Abstract

  • 단일 심층 신경망을 사용하여 이미지에서 객체를 탐지하는 방법을 제시.
  • SSD의 접근 방식은 bbox의 출력 공간을 다양한 종횡비 및 feature map 위치별 크기에 대한 default box 세트로 분리.
  • 예측 시 네트워크는 각 default box에 있는 각 class score를 생성하고 객체 모양에 더 일치하도록 조정.
  • network는 다양한 해상도의 여러 feature map의 예측을 결합하여 다양한 크기의 객체를 자연스럽게 처리.
  • SSD는 모든 계산을 단일 네트워크에 캡슐화하기 때문에 object proposal이 요구되는 방법에 비해 간단하다.

 

1. Introduction

  • 기존 Faster R-CNN을 기반의 접근 방식은 정확하기는 하지만 너무 느려 실시간 애플리케이션에 적합하지 않다.
  • 속도의 근본적인 개선은 bbox proposal과 후속 pixel 또는 feature 리샘플링 단계를 제거함으로써 이루어진다.
  • bbox 위치에서 object categories 및 offset을 예측하기 위한 작은 convolution 필터 사용.
  • 다양한 종횡비 감지를 위한 별도의 predictor(필터) 사용.
  • 이러한 필터를 네트워크 후반 단계에서 여러 feature map에 적용하는 것이 포함된다.
  • 특히 다양한 스케일에서 예측을 위해 여러 layer를 사용해 높은 정확도와 검출 속도를 더욱 높였다.

 

2. The Single Shot Detector (SSD)

제안된 SSD 프레임워크와 Training 방법에 대해 설명.

(a) SSD에는 학습 중 입력 이미지와 GT boxes만 필요하다. Convolution 방식으로 서로 다른 스케일(예시:(b) 8x8, (c) 4x4)을 가진 여러 feature map의 각 위치에서 서로다른 종횡비의 기본 상자의 작은 세트를 평가한다.

 

2.1 Model

SSD, YOLO Model 비교

 

  • SSD feed-forward convolution network를 기반으로 한다.
  • 초기 network layer는 고품질 이미지 분류에 사용되는 표준 architecture(VGG-16)를 기반으로 하며, 이를 기본 네트워크(base network)라고 한다.
  • 그런 다음 네트워크에 보조 구조를 추가하여 다음과 같은 주요 기능을 갖춘 탐지를 생성한다.

 

Multi-sacle feature maps for detection

  • 기본 네트워크(base network) 끝에 convolutional feature layer를 추가한다.
  • 이러한 레이어의 크기는 점진적으로 감소하며 다양한 규모의 탐지 예측이 가능하다.

base network 끝에 여러 크기의 conv layer를 추가여 다양한 크기의 객체 탐지가 가능하다

 

 

Convolutional predictors for detection 

  • 추가된 각 feature layer는 일련의 convolutional 필터들을 사용하여 검출 예측들의 고정 세트를 생성한다.
  • p개의 채널이 있는 m x n 크기의 feature layer의 경우, 잠재적 검출의 파라미터를 예측하기 위한 기본 요소는 카테고리에 대한 점수 또는 defualt box에 대한 모양 offset을 생성하는 3 x 3 x p 작은 커널이다.
  • 커널이 적용된 m x n 위치 각각에서 출력값을 생성.
  • bbox offset 출력 값은 각 feature map 위치에 대한 defualt box 위치를 기준으로 측정된다.

각 feature layer에서 convolutional filter(커널)를 거쳐 객체를 예측하게 된다.

 

 

Default boxes and aspect ratios

  • network 상단의 여러 feature map에 대해 default box 세트를 각 feature map cell과 연결.
  • defualt box는 feature map을 나선형 방식으로 타일링하므로 해당 cell을 기준으로 각 box의 위치가 고정된다.
  • 각 feature map cell에서 cell의 defualt box 모양을 기준으로 한 offset과 각 box에 class 인스턴스가 있음을 나타내는 class별 점수를 예측한다.
  • 구체적으로, 주어진 위치에 있는 k개 중 각 box에 대해 c 클래스 점수와 원래 default box 모양을 기준으로 4개의 offset을 계산.
  • 결과적으로 feature map의 각 위치 주위에 총 (c+4)k 필터가 적용되어 m x n feature map에 대한 (c+4)kmn 출력이 생성. (즉, [{class + (x, y, w, h)} * k개의 default box] * m * n 이 된다)

feature map 중 하나인 conv9_2를 예시로 feature map이 convolutional filter를 거치게 되면 6x(class+4)의 채널을 output하게 된다.

 

각 cell 마다 default box를 k개(위 예시에선 6개) 가지게 되고 default box는 box offset과 classes score를 가지고 있다.

 

 

  • default box는 Faster R-CNN에서 사용된 anchor box와 유사하지만 이를 다른 해상도의 여러 feature map에 적용한다는 점에서 차이가 있다.

 

2.2 Training

  • SSD와 region proposal을 사용하는 다른 모델들의 Training에 있어 주요 차이점은 고정된 detector output 세트의 특정 출력에 ground truth를 할당해야 한다는 것이다.
  • Training에는 탐지를 위한 default box 및 scale 세트 선택을 물론, hard negative mining 및 data augumentation 전략도 포함된다.

 

Matching strategy

  • 훈련 중에 어떤 default box가 ground truth detection에 해당하는지 결정해야 한다.
  • default box에서  ground truth box을 선택한다.
  • 각 groung truth box를 jaccard overlap(IoU와 같은 것)을 이용하여 최상의 default box와 일치시킨다.
  • 이때 jaccard overlap의 임계값은 0.5. (0.5보다 높은 default box를 모두 일치시킴)
  • 이는 학습 문제를 단순화하여 네트워크가 최대로 겹치는 default box만 선택하도록 하는 작업이다.

 

Training objective

SSD 훈련 목표는 MultiBox 목표에서 파생되어 여러 개체 범주를 처리하도록 확장되었다.

 

  • (x_ij)^p  : 클래스 p에 대해, i번째 default box와 j번째 ground truth box의 매칭 지표.

 

  • 위 Matching strategy 내용을 바탕으로 모든 (x_ij)^p의 합이 1보다 크다.

 

  • 전체 objective 손실 함수는 localization loss(loc)와 confidence loss(conf)의 가중 합계.
  • N은 일치하는 default box의 개수. (N=0인 경우 손실을 0으로 설정)

 

  • localization loss는 predict box(l)와 ground truth box(g) 사이의 Smooth L1 손실이다.
  • cx, cy : default box 중심.
  • w, y : default box 너비 및 높이.

 

  • confidence loss는 여러 class confidence에 대한 softmax loss이다.
  • 가중치 α는 교차 검증을 통해 1로 설정.

 

Choosing scales and aspect ratios for default boxes

 

  • SSD의 다양한 크기의 feature map은 서로 다른 receptive field를 가지고 있다.
  • 위 그림의 8x8 feature map과 4x4 feature map에서 같은 크기의 커널이 감싸는 영역은 scale 면에서 차이가 나기 때문에 서로 다른 크기의 객체 탐지를 용이하게끔 학습한다.
  • 특정 크기의 feature map이 객체의 특정 scale에 반응하는 방법을 학습할 수 있도록 default box의 타일링을 설계한다.

 

 

  • 예측을 위해 m개의 feature map을 사용한다고 가정했을때, 각 feature map의 default box 크기는 위와 같이 계산된다.
  • S_min는 0.2이고 S_max는 0.9이다. 즉 가장 낮은 layer의 scale은 0.2이고 가장 높은 layer의 scale은 0.9.
  • 본 논문에서 m=6이므로, S_k = [0.2, 0.34, 0.48, 0.62, 0.76, 0.9]가 된다.

 

  • default box에 대해서 서로 다른 종횡비를 적용하고 이를 a_r ∈ {1, 2, 3, 1/2 , 1/3 }로 표시한다.
  • 각 default box의 너비((w_k)^a)와 높이((h_k)^a)를 계산할 수 있다.
  • a_r 값대로 default box들의 종횡비를 결정 했다고 보면 될 듯...

 

Hard negative mining

  • matching step 이후에는 대부분의 default box가 negative(객체가 아님)이다. (-> 이미지 대부분이 배경이기 때문)
  • 이로 인해 training 시, positive example과 negative example 사이에 심각한 불균형이 발생.
  • 모든 negative default box를 사용하지 않고, 그중 가장 confidence loss가 높은 negative default box를 positive default box와 비율이 최대 3:1이 되도록 추려서 학습한다.
  • 본 논문에선 이런 작업이 더 빠른 최적화와 안정적인 학습으로 이어진다는 것을 발견했다.

 

 

반응형
woongs_93