SSD(Single Shot MultiBox Detector)는 딥 러닝 객체 감지 모델로, 신경망의 단일 순방향 패스에서 분류와 위치 파악을 동시에 수행한다. 먼저 영역을 제안한 후 분류하는 초기의 2단계 감지기와 달리, SSD는 경계 상자의 출력 공간을 다양한 종횡비와 스케일에 걸친 기본 상자 집합으로 이산화하고, 각 객체 범주에 대해 점수를 매긴다. 이러한 설계는 실시간 처리 속도를 유지하면서 높은 정확도를 가능하게 하여, 자율 주행, 로봇 공학, 비디오 감시 분야의 응용에서 널리 선택되는 모델이 되었다.
이 모델은 2016년 Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg가 작성한 "SSD: Single Shot MultiBox Detector"라는 논문에서 소개되었다. 이 연구는 네덜란드 암스테르담에서 열린 유럽 컴퓨터 비전 학회(ECCV)에서 발표되었다. 저자들은 노스캐롤라이나 대학교 채플힐, Zoox, Google, 미시간 대학교 출신이다.
아키텍처
SSD는 입력 이미지에서 특징 맵을 추출하는 기본 네트워크(일반적으로 잘린 VGG-16 또는 ResNet) 위에 구축된다. 이 기본 네트워크 위에 추가 합성곱 계층이 추가되어 공간 해상도를 점진적으로 줄이면서 채널 수를 늘린다. 이러한 추가 계층은 300x300 입력에 대해 38x38과 같은 큰 맵부터 1x1과 같은 작은 맵까지 다양한 스케일의 특징 맵을 생성한다.
각 특징 맵의 각 셀에 대해 SSD는 고정된 기본 경계 상자 집합(prior 또는 anchor라고도 함)을 예측한다. 이러한 기본 상자는 훈련 데이터의 객체 크기 분포와 일치하도록 선택된 다양한 종횡비(예: 1:1, 1:2, 2:1)와 스케일을 가진다. 각 기본 상자에 대해 네트워크는 기본 상자에 상대적인 네 개의 오프셋(중심 x, 중심 y, 너비, 높이)과 클래스 점수 집합(배경 클래스 포함)을 출력한다.
훈련
훈련 중에 SSD는 각 실제 상자를 가장 높은 Intersection-over-Union(IoU) 겹침을 가진 기본 상자와, IoU가 임계값(일반적으로 0.5) 이상인 모든 기본 상자에 매칭한다. 이러한 매칭 전략은 각 실제 상자가 양성 훈련을 위해 최소한 하나의 기본 상자에 할당되도록 보장한다. 손실 함수는 위치 파악 손실(상자 오프셋에 대한 smooth L1 손실)과 신뢰도 손실(클래스 점수에 대한 softmax 교차 엔트로피)의 가중 합이다.
주요 훈련 기법은 하드 네거티브 마이닝으로, 네거티브 대 포지티브 샘플 비율을 3:1로 제한한다. 이는 대부분의 기본 상자가 배경이기 때문에 필요하다. 모델은 또한 무작위 자르기, 색상 왜곡, 수평 뒤집기와 같은 데이터 증강을 사용하여 일반화를 개선한다.
다중 스케일 감지
SSD의 주요 혁신 중 하나는 감지를 위한 다중 스케일 특징 맵 사용이다. YOLO(You Only Look Once)와 같은 초기 단일 샷 감지기는 최종 특징 맵만 사용하여 작은 객체 감지 능력이 제한되었다. SSD는 서로 다른 깊이의 특징 맵을 사용함으로써 다양한 크기의 객체를 감지할 수 있다: 높은 해상도의 얕은 계층은 작은 객체를 포착하고, 낮은 해상도의 깊은 계층은 큰 객체를 포착한다.
이 접근 방식은 별도의 영역 제안 단계가 필요 없기 때문에 계산 효율적이다. 전체 감지 파이프라인은 단일 피드포워드 합성곱 네트워크로, 표준 역전파를 사용하여 종단 간 최적화할 수 있다.
변형 및 영향
소개 이후 SSD는 여러 변형에 영감을 주었다. DSSD(Deconvolutional Single Shot Detector)는 작은 객체 감지를 개선하기 위해 역합성곱 계층을 추가한다. FSSD(Feature Fusion Single Shot Multibox Detector)는 예측 전에 서로 다른 계층의 특징을 융합한다. 다른 연구는 얼굴 감지(예: SSH - Single Stage Headless) 및 텍스트 감지와 같은 특정 도메인에 SSD를 적용했다.
SSD는 산업과 학계에서 널리 채택되었다. TensorFlow(객체 감지 API를 통해) 및 PyTorch(torchvision을 통해)와 같은 주요 딥 러닝 프레임워크에 구현되어 있다. 모델의 속도-정확도 균형은 실시간 감지의 표준 벤치마크가 되었으며, 종종 YOLO 및 Faster R-CNN과 비교된다. 2020년대 중반 기준으로 EfficientDet 및 YOLOv8과 같은 최신 아키텍처가 속도와 정확도 모두에서 SSD를 능가했지만, SSD는 효율적인 객체 감지 개발에서 중요한 역사적 이정표로 남아 있다.
한계
강점에도 불구하고 SSD는 알려진 한계가 있다. 작은 객체 감지는 특히 객체가 밀집되어 있거나 높은 종횡비를 가질 때 여전히 어렵다. 고정된 기본 상자 집합은 비정상적인 객체 모양에 대해 최적이 아닐 수 있다. 또한 모델은 각 새 데이터 세트에 대해 앵커 스케일과 종횡비를 신중하게 조정해야 하며, 이는 시간이 많이 걸릴 수 있다. 이후 연구는 특징 피라미드 네트워크와 학습 가능한 앵커 생성을 통해 이러한 문제 중 일부를 해결했다.