SSDとは
SSD(Single Shot MultiBox Detector)とは、2016年にWei Liuらによって提案された1段階物体検出モデルです。YOLOと同様に画像を一度の推論で処理しますが、特徴マップの複数のスケール(解像度)から同時に検出を行うマルチスケール検出が最大の特徴です。
| ひとことで言うと | 複数の解像度の特徴マップから同時に検出する、1段階の物体検出モデル。 |
|---|---|
| 何がうれしいか | 大きい物体も小さい物体も、それぞれ適した層で検出できる。 |
| 注意点 | 極端に小さい物体は依然として苦手。FPNなどの改良版が使われる。 |
SSDの仕組み
SSDはベースネットワーク(VGGNetなど)の上に、サイズが段階的に小さくなる複数の特徴マップ層を追加します。大きな特徴マップでは小さな物体を、小さな特徴マップでは大きな物体を検出します。各特徴マップの各位置にデフォルトボックス(アンカーボックス)を配置し、物体の位置オフセットとクラス確率を予測します。これにより、異なるサイズやアスペクト比の物体を効率的に検出できます。損失関数はLocalization LossとConfidence Lossの組み合わせで構成されます。
1画像を入力1回の処理で完結
▶
2浅い層で小物体解像度が高い特徴マップ
▶
3深い層で大物体解像度は低いが広範囲
▶
4各層で枠を予測全スケールから候補
▶
5統合して出力NMSで絞り込む
SSDの位置づけ
SSDは精度と速度のバランスに優れたモデルとして、特にリアルタイムアプリケーションで広く利用されてきました。当時のFaster R-CNNより高速でありながら、同等以上の精度を達成しました。マルチスケール特徴マップの概念は、後の物体検出モデル(特徴ピラミッドネットワークなど)にも大きな影響を与えました。現在ではYOLOの最新バージョンに性能で劣ることもありますが、SSDの設計思想は物体検出の基盤的な知見として重要です。