SSD(Single Shot Detector)は、深層学習による物体検出モデルのファミリーであり、ニューラルネットワークの単一のフォワードパスで分類と位置特定を実行する。これ以前の二段階検出器がまず領域を提案してから分類するのとは異なり、SSDはバウンディングボックスの出力空間を、異なるアスペクト比とスケールを持つデフォルトボックスのセットに離散化し、各デフォルトボックスに対して物体クラスとボックスオフセットを一度に予測する。この設計により、SSDは先行モデルよりも大幅に高速でありながら競争力のある精度を維持し、ビデオ監視、自動運転、拡張現実などのリアルタイムアプリケーションで人気のある選択肢となった。
SSDアーキテクチャは、2016年の論文「SSD: Single Shot MultiBox Detector」でWei Liu、Dragomir Anguelov、Dumitru Erhan、Christian Szegedy、Scott Reed、Cheng-Yang Fu、Alexander C. Bergによって紹介された。この研究はGoogleで行われ、2016年の欧州コンピュータビジョン会議(ECCV)で発表された。このモデルは、よく知られた畳み込みニューラルネットワークアーキテクチャであるVGG-16バックボーンの上に構築され、特徴マップの空間解像度を段階的に低下させるいくつかの補助畳み込み層を追加した。これらのマルチスケール特徴マップにより、検出器はさまざまなサイズの物体を処理でき、初期の層は小さな物体の細部を捉え、後期の層は大きな物体のより意味的な情報を提供する。
アーキテクチャと設計
SSDの中心的な革新は、デフォルトボックス(アンカーボックスとも呼ばれる)の使用であり、これは各特徴マップ位置で異なるアスペクト比とスケールを持つ事前定義されたバウンディングボックスである。各デフォルトボックスについて、ネットワークはクラス確率とボックス座標に対する4つのオフセットを予測する。トレーニング中、デフォルトボックスは交差結合(IoU)閾値に基づいてグラウンドトゥルース物体にマッチングされ、損失関数は位置特定損失(平滑L1)と信頼度損失(ソフトマックスクロスエントロピー)を組み合わせる。SSDはまた、正例と負例の不均衡に対処するためにハードネガティブマイニングを採用し、約1:3の比率を維持する。
ネットワークは複数の層からの特徴マップを使用し、通常はconv4_3、conv7、conv8_2、conv9_2、conv10_2、conv11_2であり、各層は異なる数のデフォルトボックスを生成する。例えば、元のSSD300(入力サイズ300x300)では、デフォルトボックスの総数は8732である。マルチスケールアプローチは、モデルが高解像度の特徴マップを使用して小さな物体を検出し、低解像度の特徴マップを使用して大きな物体を検出できるため重要であり、明示的な領域提案段階を必要としない。
トレーニングと最適化
SSDはPASCAL VOCおよびMicrosoft COCOデータセットでトレーニングされた。PASCAL VOC 2007テストセットでは、SSD300は単一のNvidia Titan X GPUで58フレーム毎秒(FPS)で72.1%の平均適合率(mAP)を達成し、SSD512は22 FPSで76.8%のmAPを達成した。これらの結果は、当時の最先端であるFaster R-CNN(73.2% mAP、7 FPS)およびYOLO(63.4% mAP、45 FPS)を速度と精度のトレードオフの点で上回った。トレーニングプロセスでは、ランダムクロップ、色の歪み、水平反転などのデータ拡張技術を使用してロバスト性を向上させた。
著者らはまた、低レベルと高レベルの特徴マップを組み合わせて小さな物体の検出をさらに改善する、特徴融合を備えたSSDの変種を導入した。後の研究、例えばDSSD(Deconvolutional Single Shot Detector)やFSSD(Feature Fusion Single Shot Multibox Detector)は、SSDのアイデアに基づいて精度を向上させたが、しばしば速度を犠牲にした。
影響と遺産
SSDはコンピュータビジョンと物体検出の分野に永続的な影響を与えた。単一段階検出器が二段階検出器に匹敵する精度を達成しながらはるかに高速であることを実証し、RetinaNetやYOLOのバージョンなどの後続モデルに影響を与えた。デフォルトボックスとマルチスケール予測の概念は、EfficientDetやより最近のアーキテクチャのアンカーベースのブランチを含む多くの現代の検出器で広く採用されている。SSDはまた、多くの機械学習フレームワークの標準コンポーネントとなり、TensorFlow Object Detection APIに含まれ、実務者が利用できるようになった。
人工知能研究の文脈では、SSDはエッジデバイスで実行できるリアルタイムで効率的なモデルへの移行における重要なマイルストーンとしてしばしば引用される。その設計原則は物体検出以外にも、顔検出やテキスト検出などに応用されている。速度と精度のバランスを取るモデルの能力は、組み込みシステムやモバイルアプリケーションで人気のある選択肢となり、学術的なベンチマークで参照点として残っている。
関連する発展
SSDに続いて、いくつかの改善が提案された。RetinaNetモデルは、単一段階検出器のクラス不均衡問題に対処するためにフォーカル損失を導入し、COCOでSSDよりも高い精度を達成した。YOLOファミリーは、YOLO9000から始まり、SSDと同様のマルチスケール予測を組み込んだ。さらに、MobileNet-SSD変種は、軽量バックボーンとSSDを組み合わせてモバイル展開用にし、リソース制約のある環境に検出器を適応できることを実証した。
深層学習アーキテクチャのより広い風景では、SSDはFaster R-CNNのような領域ベースの方法や、手作りのアンカーを不要にするDETR(Detection Transformer)のような後のトランスフォーマーベースの検出器としばしば比較される。しかし、SSDのシンプルさと効率性は、特にレイテンシが重要なシナリオで、その継続的な関連性を保証している。
関連項目
参考文献
- Liu, W., Anguelov, D., Erhan, D., Szegedy, C., Reed, S., Fu, C.-Y., & Berg, A. C. (2016). SSD: Single Shot MultiBox Detector. ECCV.
- Lin, T.-Y., Goyal, P., Girshick, R., He, K., & Dollár, P. (2017). Focal Loss for Dense Object Detection. ICCV.
- Redmon, J., & Farhadi, A. (2017). YOLO9000: Better, Faster, Stronger. CVPR.