このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
シングルショットマルチボックス検出器(SSD)は単一ステージのオブジェクト検出ネットワークを使用して,マルチスケールの特徴から予測した検出結果をマージします。SSDは更快R-CNN検出器のような2段階の検出器よりも高速です。また,YOLO v2意思検出器のような単一スケールの特徴検出器よりも正確にオブジェクトの位置推定ができます。
SSDは入力イメージに対して深層学習CNNを実行し,複数の特徴マップからネットワーク予測を生成します。このオブジェクト検出器は予測結果を収集して復号化し,境界ボックスを生成します。
SSDは,アンカーボックスを使用してイメージ内のオブジェクトのクラスを検出します。詳細は,アンカーボックスによるオブジェクトの検出を参照してください。SSDは,各アンカーボックスの次の2つの属性を予測します。
アンカーボックスのオフセット——アンカーボックスの位置を調整します。
クラス確率——各アンカーボックスに割り当てられるクラスラベルを予測します。
次の図は,特徴マップ内の各位置の事前定義されたアンカーボックス(破線)と,オフセットの適用後の調整された位置を示します。クラスと一致したボックスは青色とオレンジ色で表示されます。
転移学習を使用すると,SSD検出ネットワークで事前学習済みのCNNを特徴抽出器として使用できます。関数ssdLayers
を使用して,たとえばMobileNet v2
などの事前学習済みのCNNからSSD検出ネットワークを作成します。事前学習済みのCNNの一覧については,事前学習済みの深層ニューラルネットワーク(深度学习工具箱)を参照してください。
事前学習済みイメージ分類CNNに基づいてカスタムモデルを設計することもできます。詳細は,SSD検出ネットワークの設計を参照してください。
プログラム的にカスタムSSDモデルを設計することも,ディープネットワークデザイナー(深度学习工具箱)アプリを使用して手動でネットワークを作成することもできます。このアプリには,计算机视觉工具箱™のSSD機能が組み込まれています。
SSDマルチボックス検出ネットワークを設計するには,次の手順に従います。
事前学習済みのCNNを初期化するか,ゼロから学習させることができる特徴抽出ネットワークから,モデルを開始します。
特徴抽出ネットワークから予測層を選択します。特徴抽出ネットワークの層はどれでも,予測層として使用できます。ただし,オブジェクト検出にマルチスケールの特徴を使用する利点を活かすためには,サイズの異なる特徴マップを選択してください。
anchorBoxLayer
を各層に付加することで,予測層のアンカーボックスを指定します。
anchorBoxLayer
オブジェクトの出力を分類分岐と回帰分岐に接続します。分類分岐には、タイル配置された各アンカーのクラスを予測する畳み込み層が少なくとも 1 つあります。回帰分岐には、アンカー ボックスのオフセットを予測する畳み込み層が少なくとも 1 つあります。分類分岐と回帰分岐には層を追加できますが、最終畳み込み層 (マージ層の前) には次の表に示す数のフィルターがなければなりません。
分岐 | フィルターの数 |
---|---|
分類 | アンカーボックスの数+ 1(背景クラス用) |
回帰 | アンカーボックスの数の4倍 |
すべての予測層について,ssdMergeLayer
オブジェクトを使用して分類分岐の出力を統合します。ssdMergeLayer
オブジェクトをsoftmaxLayer
(深度学习工具箱)オブジェクトに接続し,その次にfocalLossLayer
オブジェクトを接続します。再度ssdMergeLayer
オブジェクトを使用して,回帰分岐のすべての出力を収集します。ssdMergeLayer
の出力をrcnnBoxRegressionLayer
オブジェクトに接続します。
このタイプのネットワークの作成の詳細については,SSDオブジェクト検出ネットワークの作成を参照してください。
SSD深層学習手法を使用したオブジェクト検出器の学習方法の詳細については,SSD深層学習を使用したオブジェクト検出の例を参照してください。
SSDオブジェクト検出器(ssdObjectDetector
オブジェクトを使用して作成)を使用したCUDA®コードの生成方法の詳細については,シングルショットマルチボックス検出器を使用したオブジェクト検出のコードの生成を参照してください。
イメージラベラー、ビデオラベラー,またはグラウンドトゥルースラベラー(自动驾驶工具箱)(自动驾驶工具箱™で利用可能)アプリを使用して,対話形式でピクセルにラベル付けし,ラベルデータを学習用にエクスポートできます。アプリは、オブジェクト検出用の四角形の関心領域 (ROI)、イメージ分類用のシーン ラベル、セマンティック セグメンテーション用のピクセルにラベルを付けるためにも使用できます。
[1] Liu, Wei, Dragomir angelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg。“SSD: Single Shot MultiBox Detector”。在计算机视觉- ECCV 2016, Bastian Leibe, Jiri Matas, Nicu Sebe和Max Welling编辑,9905:21-37。Cham:施普林格International Publishing, 2016。https://doi.org/10.1007/978 - 3 - 319 - 46448 - 0 - _2。