DevelopHyun

Data Science & Algorith with Computer Science

SSD[1] SSD: Single Shot MultiBox Detector(2015) - Review

27 Sep 2018 » deeplearning, cnn, image-detection, ssd, paperreview

1. Abstract

  • region proposal대신 anchor box(default box) 사용
    • 각 anchor box(default box)의 class와 offset 정보를 예측
  • 해상도가 다른 feature map들을 묶어서 다양한 크기의 object를 예측

2. Introduction

  • anchor box 사용
  • CNN을 통한 anchor box의 class와 offset 정보 예측
  • 다양한 크기의 filter 사용하여 다양한 비율의 object 예측
  • 다양한 feature map을 사용하여 multi-scaling

3. The Single Shot Detector (SSD)

fig2

3.1 Model

  • CNN을 통해 bounding box의 정보와 class 정보를 예측
    • base network(backbone network)와 auxiliary structure로 구성
  • NMS를 통해 최종적인 bounding box를 선택

3.1.1 Multi-scale feature maps for detection

  • feature map의 크기를 점점 줄이는 방식으로 multi-scale에 대하여 학습
  • 각 크기의 feature layer마다 다른 filter를 사용

3.1.2 Convolutional predictors for detection

  • 3x3 filter 사용
    • 각 크기의 feature map마다 다른 filter 사용
    • 각각의 cell마다 anchor box의 class score와 offset 정보를 예측

3.1.3 Default boxes and aspect ratios

  • 각각의 cell마다 anchor box의 class score와 offset 정보를 예측
    • input size:
    • output size:
    • = anchor box의 개수
    • = class의 개수
    • = offset의 개수
  • 각 크기의 feature map마다 적용
    • feature map 크기에 따라서 적용하는 anchor box의 크기가 다름

3.2 Training

  • ground truth bounding box가 각 크기의 feature map에 맞게 변환되어 적용되어야 함

3.2.1 Matching strategy

  • ground truth bounding box와 IoU가 0.5보다 높은 모든 anchor box에 대하여 학습진행
    • ground truth bounding box마다 하나의 box를 학습시키는게 아니라, 여러 개의 anchor를 학습시키므로 다양한 anchor에 대하여 학습이 가능

3.2.2 Training objective

  • =
    • = indicator for matching gound truth box and predicted box
    • = predicted box(anchor box에 offset이 적용된 box)
    • = ground truth box
    • = offset of anchor box
    • = anchor box
    • = the number of matched box
    • = -th anchor box, = -th ground truth box, = category
  • =
    • =
    • positive box(object가 존재)의 category에 대한 loss와 negative box(배경)에 대한 loss의 합
    • ground truth category에 대해서만 loss 계산
  • =
    • =
    • =
    • =
    • =
    • IoU가 0.5 이상인 predicted box와 ground truth box의 offset 정보에 관한 loss

3.2.3 Choosing scales and aspect ratios for default boxes

fig1

  • 다양한 크기의 object를 학습하기 위하여 image 자체를 사용하는 것이 아니라, 다양한 크기의 feature map 사용
  • 각각의 feature map마다 다른 anchor box를 사용하여 object의 다양한 scale들을 학습하도록 함
    • 즉, 각각의 feature map에서 찾아내는 scale이 다름

3.2.4 Hard negative mining

  • predicted box의 대부분은 background이므로 positive와 negative간의 불균형이 심해짐
  • 따라서, negative 중에서 confidence가 높은 것들만 사용
    • positive : negative = 1 : 3

3.2.5 Data augmentation

  • 다양한 object size와 ratio에 robust하기 위하여 각각의 image는 random하게 sampling
    • original image
    • random sampling
    • 최소 IoU가 0.1, 0.3, 0.5, 0.7, 0.9 인 patch를 임의로 추출
  • random sampling
    • size는 원본에 대해 [1/10, 2] 사이의 비율 적용
    • ratio는 {1/2, 2}에서 결정
    • 1/2의 확률로 horizontal flip
    • sampling된 image는 고정된 size로 변환되어 input으로 사용

4. Experimental Results

  • Base network
    • pre-trained VGG16 사용
    • fc layer를 conv layer로 바꾸고, 마지막 pooling layer의 크기와 stride 조절
    • fine-tuning

4.1 PASCAL VOC2007

fig

  • localization error가 낮음
    • offset과 class를 직접적으로 학습하기 때문
  • bounding box의 크기에 민감
  • 작은 object를 예측하는 성능이 부족
  • 다양한 비율의 object를 잘 예측
    • 각각의 feature map마다 다양한 anchor box를 사용하기 때문

4.2 Model analysis

4.2.1 Data augmentation is crucial

table2

4.2.2 More default box shapes is better

  • 다양한 anchor box를 사용하는 것이 성능에 더 좋음

4.2.3 Atrous is faster

  • base network를 수정하여 사용하는 것이 성능과 속도면에서 더 좋음

4.2.4 Multiple output layers at different resolutions is better

table3

  • 다양한 feature map을 사용하는 것이 성능에 좋음
    • 총 anchor box의 개수는 비슷하도록 조절을 해줘도 사용되는 feature map의 크기가 더 많은 것이 좋은 성능
  • feature map이 많을 경우, boundary에 존재하는 anchor box를 버리는 것이 성능에 좋지만, 사용되는 feature map이 적은 경우에는 성능에 안좋은 영향을 미침

4.3 PASCAL VOC2012

table4

4.4 COCO

talbe5

4.5 Preliminary ILSVRC results

  • SSD는 high quality real-time detectir

4.6 Data Augmentation for Small Object Accuracy

table6

4.7 Inference time

table7


  • DPM(Deformable Part Model)
  • SS(Selective Search)
  • R-CNN, Fast R-CNN, Faster R-CNN
  • SPPnet
  • MultiBox
  • YOLO

6. Conclusion

  • 다양한 크기의 feature map을 사용하여 multi-scale convolutional bounding box을 만들어낸 것이 핵심

7. Reference