상세 컨텐츠

본문 제목

[2주차 / 임종우 / 논문리뷰] SSD

2023 Summer Session/CV Team 2

by imngooh 2023. 7. 19. 02:55

본문

Abstract

  • Single deep neural network를 이용하여 object detection을 하는 새로운 방법
  • ground truth bbox의 각 피쳐맵 상의 위치를 표현하기 위해 다양한 종횡비와 scale을 가진 set인 default box를 사용한다.
  • 예측시에는 각 default box에 대해 각 카테고리의 object가 있는지 없는지를 점수로 나타내고, object의 모양에 더 잘 맞아떨어지도록 조정한다.
  • 다양한 해상도를 가진 여러 feature map에서의 예측을 통해 다양한 사이즈의 물체들을 다룰 수 있도록 한다.
  • region proposal이 필요하던 다른 방법들과는 다르게 간단하다.
  • 기존의 모델(Faster R-CNN, YOLO)에 비해 훨씬 빠르고 정확하다.

Introduction

  • 기존의 모델은 여러 단계로 나누어져 있어 계산량이 상당히 많고 real time task에서는 사용하지 못할 정도로 느린 속도를 가지고 있었다.
  • Faster R-CNN의 경우에도 7 FPS밖에 안되었다.
  • box proposal 과정과 그에 이따르는 pixel, feature resampling 과정을 제거하여 속도를 높였다.
  • Faster R-CNN, YOLO에 비한 개선점은 small convolutional filter를 사용하였다는 점이다.
  • object category와 bbox location에 대한 예측을 할때 여러 종횡비를 가진 각각의 filter를 사용하고, 여러 scale을 가지는 feature map들에 적용하여 성능을 높였다.
  • 이를 통해 속도도 높이고 성능도 높일 수 있었다. (63.4 YOLO, 74.3 SSD)
  • Contribution of SSD
  • faster than YOLO, more accurate than Faster R-CNN
  • Used ‘fixed set of default bounding boxes’ using small conv filters
  • produced predictions from feature maps of different scale with different ratio filters
  • simple end to end learning, high accuracy(SOTA)

The Single Shot Detector(SSD)

Model

  • 고정된 사이즈의 bounding box들의 모음을 만들어내고 그 박스들 내에서의 object의 존재여부를 예상하는 Convolution network를 기반으로 하는 모델이다.

Multi scale feature maps for detection

  • YOLO가 하나의 scale의 feature map에 대해서 동작했던 것과 달리, SSD는 base network를 잘라 그 각각의 끝에서 동작한다. 즉, 다양한 scale의 feature map에 대해서 동작한다.

Convolutional predictors for detection

  • classifier로써 3x3 size의 convolution을 사용한다.
  • 심지어 Box offset regression에 대해서도 convolution filter를 사용하여 연산한다.
  • 다음은 SSD의 모델 구조를 나타내는 figure이다.

Default boxes and aspect ratios

  • feature map의 각 cell에 default bounding box들을 대응시켰다.
  • 각 feature map에 대하여 default box들을 통해 box offset을 계산하고, 각 class별로 box 내부에 객체가 존재하는지의 확률을 계산한다.
  • k개의 box가 있다면 (c(class의 수)만큼 + 4(bbox offset)) * k의 filter가 feature map의 각 위치에 적용되는 것이다.
  • mxn의 feature map에 대해서 따라서 (c+4)kmn개의 filter가 필요하다.
  • 이는 Faster R-CNN의 anchor box와 유사하지만, 여러 scale의 feature map에 적용된다는 차이가 있다.
  • 여러 scale의 feature map에 적용되는 default box를 통해 더욱 효과적으로 가능한 bbox의 shape를 얻어낼 수 있다.
  • 다음 Figure를 통해 default box에 대해 더 잘 이해할 수 있다.

Training

  • Region proposal을 사용하는 대다수의 2-stage detector들과 다르게, end-to-end 학습을 진행하는 SSD는 ground truth 정보를 detector output에 대응시켜 주어야 한다.
  • 그 후 loss function과 back propagation을 적용하여 end-to-end 학습을 진행할 수 있다.
  • SSD의 학습 과정에는, default boxes와 scale을 선택하는 어려운 과정도 포함된다.

Matching strategy

  • 학습 과정에서, 다양한 종횡비, 크기, 위치를 가진 default box 중 어떤 box가 ground truth에 대응되는지를 결정해야 한다.
  • 이를 위해 jaccard overlap(intersection / union)을 계산하여, ground truth 와의 jaccard overlap이 0.5가 넘는 default box를 해당 ground truth 와 매칭시킨다.
  • 가장 많이 겹치는 하나만 선택하는 것이 아니라, 0.5 이상인 모든 box를 사용하여 더 잘 예측할 수 있도록 한다.

Training objective(loss function)

  • localization loss(smooth L1 loss)와 confidence loss(softmax loss)의 가중합을 loss function으로 사용한다.
  • 위에서 한 gt box에 대해 매칭되는 default box가 여러개일 수 있다고 하였고, 이 개수를 N이라고 하였을때, loss는 다음과 같이 표현할 수 있다.

  • localization loss의 경우 predicted box와 ground truth box의 offset(cx, cy, w, h)을 regression한다고 생각할 수 있다.

Choosing scales and aspect ratios for default boxes

  • SSD에서는 여러 scale의 물체를 찾기 위해 다양한 scale의 default boxes를 feature map에 대응시킨다.
  • 이 default box들의 scale은 각 layer에서의 receptive field의 크기와 같을 필요는 없다.
  • 우리가 m개의 feature map을 예측에 사용한다면, 각 feature map에 사용하는 default box의 scale은 0.2가 최소, 0.9가 최대로 사용한다.
  • 즉, 가장 낮은 레이어는 0.2, 가장 높은 레이어는 0.9의 스케일을 가지는 default box를 사용하게 되고, 그 사이의 레이어들도 일정한 스케일을 갖게 된다.
  • 종횡비의 경우 1, 2, 3, 1/2, 1/3을 사용한다.

Hard negative mining

  • 대부분의 default box들은 negative로 판단되게 된다.
  • 이로 인해 학습 데이터에서 positive와 negative 사이의 데이터 불균형이 발생하게 되는데, 따라서 모든 negative box가 아닌 그 중 높은 confidence loss를 가진 박스들만 선택하여 사용한다.
  • 이를 통해 negative와 positive box 사이의 비율이 3:1이 되도록 한다.

Conclusions

  • SSD는 여러 category의 객체를 빠르게 탐지할 수 있는 single shot detector이다.
  • 해당 모델은 다양한 scale의 feature map에 대해 다양한 scale과 aspect ratio를 가지는 default box를 사용하였다는 특징을 가지고 있다.
  • 해당 default box의 사용은 가능한 box의 shape를 효율적으로 예측할 수 있게 하였으며, 모델의 성능을 향상시켰다.
  • 또한 confidence score와 bbox regression에 convolution filter를 사용하였다.
  • SSD는 속도와 정확도 모든 측면에서 기존 모델들에 비해 최고의 성능을 내었다.

관련글 더보기

댓글 영역