" SSD : Single Shot MultiBox Detector " - Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg (2015)
본 논문에서는 …
single deep neural network를 사용해 다수의 클래스를 예측할 수 있는 single-shot 객체 탐지 방법을 제시함.
→ feature map 마다 다양한 크기의 합성 bounding box을 사용하여 output을 만듦.
연구 배경
최근 객체 탐지 시스템의 접근법
selective search가 나온 이후 꾸준히 다음과 같은 방법이 적용됨.
bounding box 추정, 픽셀 혹은 특징 재추출, 고성능 분류기 적용
→ 정확성이 높지만 속도가 느림.
bounding box를 위한 픽셀 혹은 특징을 재추출하지 않는 객체 탐지기 기반 deep network 제안함.
boundind box 위치, 객체의 클래스를 예측하기 위해 작은 합성곱 필터를 사용함. 이는 다양한 크기를 잘 예측함.
관련 연구
- 객체 탐지 방식
- sliding window 기준
- region proposal 기준
합성곱 neural network가 출현하기 전, DPM, Selective Search 방식이 비슷한 성능을 보임. 이후 selective search region proposal과 합성곱 network가 결합된 R-CNN이 널리 보급됨.
- 개선된 R-CNN 접근 방식
- 속도가 향상됨.
Fast R-CNN은 MultiBox에서 처음 도입된 confidence와 bounding box에 대한 손실을 최소화하여 모든 층에서 fine-tuning 할 수 있도록 SPPnet(공간 피라미드 pooling 층을 도입하여 계산된 feature map을 재사용할 수 있게 해줌.)에서 확장됨.
2. 성능을 향상시킴.
MultiBox는 저수준의 이미지 특징을 기반으로 한 Selective Search region proposal을 deep neural network로 부터 즉시 proposal되는 방식으로 대체됨.
Faster R-CNN은 selctive search propsal을 RPN, Fast R-CNN을 통합하여 공유된 합성곱으로 fine-tuning하고 예측하도록 대체함.
SSD는 default box를 사용함에 있어 Faster R-CNN의 RPN과 비슷하나 특징을 풀고, 분류기를 평가하는 대신 점수를 산출하여 RPN, Fast R-CNN의 병합의 복잡성을 막음.
propsal 단계를 건너 뛰고 bounding box, confidence를 예측하는 방식이 있음.
OverFeat은 sliding window 방식인데 confidence를 안 후 feature map의 가장 위에서 즉시 bounding box를 예측함.
YOLO는 confidence, bounding box를 예측하기 위해 전체 feature map을 사용함.
SSD는 다양한 특성을 다루는 default box를 사용하여 비교적 유연함. (1개만 사용하는 경우, OverFeat과 비슷하며 합성곱 대신 fully connected layer를 추가하고 여러 가로세로 비율을 고려하지 않는다면 YOLO와 비슷함.)
모델
SSD는 합성곱 신경망을 통해 고정된 크기의 bounding box들을 만들고, 이 box에 있는 객체 클래스의 존재를 점수화한 후, non-maximum suppression 단계에서 최종 탐지 결과를 만들어냄.
전통적인 이미지 분류 모델 구조를 사용(base network) + 다른 구조 덧붙임.
- 합성곱 feature 층을 붙임.
- 각 feature 층은 합성곱 필터를 사용해 객체 탐지함. 다양한 크기와 가로 세로 비율을 갖는 default box(Faster R-CNN의 anchor box와 비슷)의 위치, default box가 나타내는 객체의 존재 여부를 예측함.
bounding box의 output 값은 default box의 위치에 의해 측정됨.
default bounding box, feature map의 각 픽셀과 연관시켜 bounding box의 위치, 객체 클래스의 점수를 예측함.
객체 클래스가 c개 있다면, 각 deault box가 예측하는 값은 c+4(4는 bounding box의 4개 좌표)
한 픽셀마다 갖는 default box가 k개면, 한 픽셀마다 예측하는 값 k(c+4)
feature map의 크기가 mxn이면, feature map 당 예측하는 값 mnk(c+4)
Training
region proposal과 차이나는 것이 ground truth 정보가 필요함.
- Matching strategy
training은 탐지를 위한 default box, 크기를 선택하는 일, negative mining, data augmentation을 모두 포함함.
default box는 위치, 비율, 크기 모두 다양해 이를 ground truth 값과 매칭을 해야 하며, ground truth box와 IoU가 0.5 이상이 되는 모든 default box를 찾음.
Training objective
MultiBox의 objective를 가져왔으나, 여러 클래스를 다루도록 확장함.
localization loss : predicted box와 ground truth box 사이의 Smooth L1 loss
center x, y 값, 너비, 높이 예측함.
confidence loss : 다중 클래스마다의 softmax loss
- choosing scales and aspect ratios for default boxes
각 합성곱 계층의 feature map을 활용하여 다양한 크기로 이미지를 처리함.
→ 모든 객체 크기끼리 파라미터를 공유할 수 있고, 세세한 특성을 파악할 수 있음.
s_k : default box의 크기, feature map마다 일정한 크기임.
큰 feature map에서는 default box가 작은 객체를, 작은 feature map에서는 큰 객체를 탐지함.
- Hard negative mining
매칭을 한 후, 대부분의 default box는 negative임.
높은 confidence loss를 가진 box를 정렬한 후, 3:1로 비율을 맞춰줌.
- Data augmentation
랜덤하게 sampling을 한 후, 고정된 크기로 resize를 해주고 좌우 반전해줌.
실험
기본 네트워크 구조 : VGG16
- PASCAL VOC 2007
Fast R-CNN, Faster R-CNN과 비교함. VGG16 네트워크로 pre-training하고 fine-tuning함.
데이터가 많을수록, input 이미지가 클수록 성능 좋음.
- Model analysis
1. 데이터 증강은 중요함. (mAP가 8.8% 오름.)
→ Fast R-CNN, Faster R-CNN은 분류 시 feature pooling 단계를 사용하여 객체 변동에 robust함.
더 많은 default box 유형을 사용하는 것이 좋음.
2. default box 6개를 사용하였는데, 이를 제거하면 성능이 떨어짐.
3. atrous가 빠름. (커널 사이 구멍이 있는 모양)
4. 많고 다양한 output layer를 사용하는 것이 좋음.
층이 적을수록 성능이 떨어짐.
- PASCAL VOC 2012
VOC 2007과 동일한 세팅을 사용한 결과, VOC 2007과 비슷한 성능을 보임을 확인함.
- COCO
SSD 300, SSD 512 구조로 훈련함.
COCO에서의 객체들은 PASCAL보다 작은 경향이 있어 작은 default box를 전 층에 사용함.
SSD 300이 Fast R-CNN보다, SSD 512가 Faster R-CNN보다 성능이 좋음.
Faster R-CNN은 작은 객체를 탐지하는 데 있어 SSD보다 더 경쟁력 있다고 짐작함.
→ RPN, Fast R-CNN 두 파트로 구분되어 강화된 단계를 거치기 때문
- Inference time
default box의 수가 많아 non-maximum suppression(nms)가 필수적임.
confidence 값의 threshold를 0.01로 정해 필터하여 0.45를 기준으로 nms를 적용하여 200개만 남김.
'논문 리뷰' 카테고리의 다른 글
[Neural Collaborative Filtering] (1) | 2023.05.16 |
---|---|
[An Image is worth 16X16 words : transformers for image recognition at scale] (0) | 2023.04.15 |
[EfficientNet : Rethinking Model Scaling for Convolutional Neural Networks] (0) | 2023.04.09 |
[YOLO : You Only Look Once: Unified, Real-Time Object Detection] (0) | 2023.04.09 |
[ResNet : Deep Residual Learning for Image Recognition] (0) | 2023.04.02 |