SSD (G検定)

SSD

1. 定義と概要

SSD(Single Shot MultiBox Detector)とは、2016年にLiu氏らが発表した物体検出モデルです。候補領域(画像の中で物体が写っていそうな範囲)を提案する工程を経ずに、1回のネットワーク処理で物体の位置とクラスを同時に予測する1段階検出器(One-Stage Detector)を指します。名称に含まれる「MultiBox」という部分は、あらかじめサイズと縦横比を決めておいた複数の基準となる枠(デフォルトボックス)をもとに検出する仕組みに由来します。

用途としては、監視カメラ映像や工場ラインでのリアルタイム物体検出など、速度が求められる場面で活用されています。記憶装置のSSD(ソリッドステートドライブ)とは名前が同じだけで、まったく別の技術です。

SSDが登場する以前の1段階検出器であるYOLO(v1、最初期のバージョン)は、CNN(畳み込みニューラルネットワーク、画像の特徴を段階的に抽出する深層学習モデル)が出力する特徴マップ上のグリッドで検出を行います。この特徴マップ(物体の特徴を数値として圧縮したデータ)は単一の解像度しか持たないため、小さな物体や密集した物体の検出に弱いという課題を抱えていました。

SSDはこの課題に対し、CNNの浅い層から深い層まで複数の解像度の特徴マップそれぞれにデフォルトボックスを畳み込みの要領で敷き詰めて検出する設計を採用しています。浅い層の高解像度な特徴マップで小さな物体を、深い層の低解像度な特徴マップで大きな物体を検出する役割分担を持たせたことが特徴です。解像度の異なる特徴マップに検出の担当を割り振る発想が、SSDの設計を支えています。

この設計がどれだけの性能につながったのかは、原論文の実測値から確認できます。原論文では、入力画像サイズ300×300でPASCAL VOC2007データセットを使って評価しています。指標はmAP(mean Average Precision、物体検出モデルの精度を測る代表的な指標)とFPS(1秒あたりに処理できる画像の枚数)で、同時期の代表的なモデルと比べた報告値は次のとおりです。

モデル mAP FPS
SSD(入力300×300) 74.3% 59
Faster R-CNN 73.2% 7
YOLO(v1) 63.4% 45

FPSの計測にはNvidia Titan Xが使われています。この数値からは、SSDが同時期のFaster R-CNNとYOLOを速度と精度の両面で上回ったと報告されている点が読み取れます。

2. 試験対策ポイント

SSDの中核的な仕組みは、CNNのネットワーク内にある複数の解像度の特徴マップ(浅い層の高解像度な特徴マップと深い層の低解像度な特徴マップ)それぞれに、デフォルトボックスを畳み込みの要領で敷き詰める点にあります。各デフォルトボックスのサイズと縦横比はあらかじめ決めておき、物体クラスの確信度スコア(その枠に特定の物体が写っている確からしさを表す数値)と位置の補正量を同時に予測します。

この複数解像度の特徴マップを使い分ける設計はマルチスケール検出(大きさの異なる複数の特徴マップを使い分けて、小さい物体から大きい物体まで検出する工夫)と呼ばれ、SSDを特徴づける仕組みとして重要なテーマです。

同じ1段階検出器のYOLO(v1)が単一スケールのグリッドで検出するのに対し、SSDは複数スケールの特徴マップで検出するため、小さな物体の検出に強いとされます。この違いは、同じ1段階検出器同士でもマルチスケール特徴の扱いという設計次第で得意・不得意が分かれる点です。

SSDは候補領域の提案工程を経ない1段階検出器です。そのため、候補領域の提案と分類・位置調整を別工程で行う2段階検出器(候補領域の提案と、その領域の分類・位置調整を別々の工程で行う物体検出の方式)のFaster R-CNNに比べて処理速度で優位に立ちます。論文報告値の全体的なmAPでは、SSDはFaster R-CNNをわずかに上回りました。

ただし小さな物体の検出については、候補領域を絞り込む工程を持たない分、Faster R-CNNに劣る傾向があるとされ、速度と精度のトレードオフの一例にあたります。全体の精度で上回っていても、特定の条件では逆転しうるという関係です。

SSDで使われる「デフォルトボックス」は、Faster R-CNNのRPN(Region Proposal Network。物体がありそうな候補領域をニューラルネットワークで提案する仕組み)で使われる「アンカーボックス(Faster R-CNNで使われる、デフォルトボックスと同様の役割を持つあらかじめ用意した基準の枠)」と同様の概念です。どちらも、あらかじめ用意した基準となる枠を指します。手法によって呼び方が異なる点は、用語の取り違えに注意が必要です。

3. 関連概念との比較・相違点

SSDとYOLOとの最大の違いは、同じ1段階検出器同士でありながら、マルチスケール特徴の扱い方が異なる点にあります。YOLO(v1)は単一の解像度の特徴マップ上のグリッドで検出するのに対し、SSDは複数の解像度の特徴マップそれぞれにデフォルトボックスを敷いて検出するため、小さな物体の検出に強いとされます。単一スケールか複数スケールかという設計の違いが、そのまま検出できる物体の大きさの幅につながっている関係です。

SSDとFaster R-CNNとの最大の違いは、1段階検出器か2段階検出器かという設計に基づく速度と精度のトレードオフです。SSDは候補領域の提案工程を経ずに1回の処理で検出を完了する1段階検出器で、速度を優先した設計になっています。

一方のFaster R-CNNは、候補領域の提案とその分類・位置調整を別工程で行う2段階検出器で、精度を優先した設計になっています。原論文の数値でもSSDはFaster R-CNNより高いFPSを示しており、この速度差は設計の違いに由来するものです。

3つのモデルの設計の違いを、同じ観点で並べると次のように整理できます。

観点 SSD YOLO(v1) Faster R-CNN
検出の段階 1段階 1段階 2段階
検出に使う特徴マップ 複数の解像度 単一の解像度 提案した候補領域
優先する性質 速度 速度 精度

このように、検出の段階と特徴マップの使い方という2つの軸を押さえておくと、3つのモデルの位置関係を取り違えにくくなります。

4. ビジネス・実務での活用シナリオ

自動運転の分野では、車載カメラ映像から歩行者・対向車・標識など大小さまざまな物体をリアルタイムに検出する用途にSSDが使われます。複数の解像度の特徴マップによって検出できる物体の大きさの幅が広いという特性が、多様な物体が同時に映り込む走行環境で活きます。

小売・在庫管理の分野では、店舗棚を撮影した画像から陳列された商品を検出し、欠品や陳列崩れを把握する棚割り管理にSSDが用いられます。大小さまざまな商品パッケージを一度に検出できる特性が、細かな商品が密集して並ぶ棚の画像解析で効果を発揮します。

製造業の外観検査では、ライン上の製品をカメラで撮影し、大きさの異なる複数の欠陥候補を同時に検出してリアルタイムで良否判定に反映する用途にSSDが活用されます。検出の速さが、生産ラインを止めずに検査を続けられる体制につながります。

5. 要点まとめ

  • SSDは、複数の解像度の特徴マップそれぞれにデフォルトボックスを敷いて検出する1段階検出器で、2016年にLiu氏らが発表しました。
  • 浅い層の特徴マップで小さな物体を、深い層の特徴マップで大きな物体を検出する役割分担を持ち、単一スケールで検出するYOLO(v1)より小さな物体の検出に強いとされます。
  • 候補領域の提案を経ない1段階検出器である点で速度を優先し、2段階検出器のFaster R-CNNとは速度と精度のトレードオフの関係にあります。

6. 確認問題

問1SSDは、ネットワーク内の複数の解像度の特徴マップそれぞれにデフォルトボックスを敷き詰めて検出する1段階検出器である。

解答・解説をみる

○ 正しい

浅い層から深い層まで複数の解像度の特徴マップを使い分けてデフォルトボックスを配置する仕組みがSSDの中核であり、この設計により1回の処理で物体の位置とクラスを同時に予測します。

問2SSDは単一の解像度の特徴マップ上のグリッドのみで検出を行うため、小さな物体の検出はYOLO(v1)より苦手とされる。

解答・解説をみる

× 誤り

正しくは、SSDは複数の解像度の特徴マップを使い分けて検出するため、単一スケールのグリッドで検出するYOLO(v1)より小さな物体の検出に強いとされます。単一スケールと複数スケールを取り違える記述には注意が必要です。

問3SSDは候補領域の提案工程を経ずに1回の処理で検出を完了する1段階検出器であり、候補領域の提案と分類・位置調整を別工程で行うFaster R-CNNより処理速度で優位に立つ。

解答・解説をみる

○ 正しい

SSDは1段階検出器のため候補領域の提案工程を持たず、2段階検出器のFaster R-CNNに比べて高速に処理できる設計です。原論文でもFaster R-CNNより高いFPSが報告されています。