9.深層学習の適用→画像の局在化・検知・セグメンテーション
SSD(Single Shot MultiBox Detector)は、ディープラーニングを用いた物体検出手法の一つです。SSDは、リアルタイムで高速に物体を検出することを目的として設計されています。
目次
SSDの特徴
SSDは、特徴マップの複数のスケールで物体を検出することが特徴です。入力画像を異なる解像度の特徴マップに変換し、それぞれの特徴マップ上で物体の存在を検出します。これにより、SSDは様々なサイズの物体を効果的に検出できます。
SSDは、各特徴マップピクセルを複数のアスペクト比のアンカーボックスに関連付けます。アンカーボックスは、物体の位置と形状を予測するための基準となります。SSDは、アンカーボックスに対して物体の存在の二値分類(物体あり/物体なし)と位置の回帰を同時に行います。
また、SSDでは、複数の特徴マップからの予測結果を統合し、最終的な物体検出結果を生成します。この統合には、畳み込み層と特定の位置で行われるフィーチャーマップの結合が含まれます。
SSDは、リアルタイムの物体検出に優れたパフォーマンスを発揮し、高速な処理と高い検出精度を両立させることができます。さまざまな物体検出のタスクに広く利用されています。
YOLOとSSDの違い
SSD(Single Shot MultiBox Detector)とYOLO(You Only Look Once)は、ディープラーニングを用いた物体検出手法であり、いくつかの違いがあります。
- 特徴マップのスケール:
- SSD: SSDは複数のスケールの特徴マップを使用して物体を検出します。これにより、異なるサイズの物体を検出する能力があります。
- YOLO: YOLOは単一のスケールの特徴マップを使用して物体を検出します。したがって、異なるサイズの物体の検出には制約があります。
- アンカーボックスの数:
- SSD: SSDは各特徴マップピクセルに対して複数のアンカーボックスを使用します。アンカーボックスは物体の位置と形状を予測するための基準となります。
- YOLO: YOLOはグリッドセルによって物体の位置を予測し、各セルごとに複数のアンカーボックスを使用します。
- 処理速度:
- SSD: SSDは複数のスケールの特徴マップとアンカーボックスを使用するため、処理速度がYOLOよりも低下する傾向があります。
- YOLO: YOLOは単一のスケールの特徴マップとグリッドセルに基づくアプローチを使用するため、高速な処理が可能です。
- 検出精度:
- SSD: SSDは複数のスケールの特徴マップを使用し、細かな物体の検出に向いています。一般に、小さい物体の検出に優れた精度を示します。
- YOLO: YOLOは高速な処理が可能であり、リアルタイム物体検出に適しています。一般に、大きな物体の検出に優れた精度を示します。
SSDとYOLOは、それぞれ異なるアプローチを取っているため、使用するケースや要件に応じて適切な手法を選択する必要があります。
Hard negative mining
SSD(Single Shot MultiBox Detector)は、物体検出時に背景と誤検出されたネガティブ(negative)な領域(アンカーボックス)を学習から排除するために、Hard negative mining(ハードネガティブマイニング)という手法を使用します。
Hard negative miningは、学習データセット内のアンカーボックスの中から、予測が間違っている(誤検出となる)ネガティブなサンプルを見つけ出す手法です。通常、学習データセットには背景クラス(物体が存在しない領域)が含まれますが、これらの領域は物体が存在しないため、大量に存在します。
Hard negative miningでは、この背景クラスのアンカーボックスから、予測結果が誤っているもの(False Negative)を抽出します。具体的には、予測と真のラベルとの間で閾値を設定し、誤って検出された背景領域を選択します。
この選択されたハードネガティブなアンカーボックスを、正しく検出できるように再学習に用いることで、モデルの精度を向上させることができます。ハードネガティブな領域を取り入れることにより、モデルは誤検出を減らし、より正確な物体検出を行うことができます。
Hard negative miningは、SSDの学習プロセスにおいて、背景領域のアンカーボックスを有効に活用するための手法であり、モデルの性能向上に貢献します。