經典網路結構梳理 SSD目標檢測演算法。

2021-08-22 08:44:24 字數 2486 閱讀 6328

****:

ssd全稱:single shot multibox detector  是2023年iccv的一篇**。是目前為止主要的目標檢測演算法。

演算法的主要優點:

1. 速度比faster-rcnn快,精度比yolo高。(在兼顧速度的同時,精度也很高。在不同的測試集下面結果都很不錯)。

2.為提高準確率在不同的特徵圖下面(不同的尺度下面)進行結果的**特徵金字塔**方式。

3.採用了end-to-end的訓練方式,即使解析度比較小的,分類結果也很準確。

ssd網路結構:

ssd 是基於乙個前向傳播 cnn 網路,產生一系列 固定大小(fixed-size) 的 bounding boxes,以及每乙個 box 中包含物體例項的可能性,即 score。之後,進行乙個 非極大值抑制(non-maximum suppression) 得到最終的 predictions。ssd網路結構從圖中可以看出來分為兩部分 基礎網路 + 金字塔網路。基礎網路是vgg-16的前4層網路。金字塔網路是特徵圖逐漸變小的簡單卷積網路由5部分構成。

1.mult-scale feature map for detection

就是特徵金字塔檢測方式。從不同尺度的特徵圖下面來**目標分類與位置。

2.convolutional predictors for detection

在金字塔結構中每一部分都有3*3的卷積來進行**,在某個位置上得到乙個**值,這個**值可能是乙個分類的得分,也可能是現對於預設框的的位置偏差。從圖3可以看出來conv6-2,conv7-2,conv8-2,conv9-2,fc7,conv4-2。

3.default boxes and aspect ratio

在特徵圖的每個位置**k個box,每個box**c個分類得分,和4個現對於預設框的位置偏移量。那麼在m*n的特徵圖中就可以得到(c+4)*n*m個**值。**中的prior box 類似於faster-rcnn中的anchor。如下圖4所示。

圖2,ssd網路結構:

圖3,金字塔結構:

ssd網路訓練:

ssd 訓練影象中的 groundtruth 需要賦予到那些固定輸出的 boxes 上。ssd 輸出的是事先定義好的,一系列固定大小的 bounding boxes。

1.matching strategy:主要介紹的是如何將gt與預設框組成label。

在開始的時候,用 multibox 中的 best jaccard overlap 來匹配每乙個 ground truth box 與 default box,這樣就能保證每乙個 groundtruth box 與唯一的乙個 default box 對應起來。但是又不同於 multibox ,本文之後又將 default box 與任何的 groundtruth box 配對,只要兩者之間的jaccard overlap 大於乙個閾值,這裡本文的閾值為 0.5。 

2.training objective:

總的目標損失函式(objective loss function)就由 

localization loss(loc)

與 confidence loss(conf)

的加權求和:

其中:

3.choosing scales and aspect ratios for default boxes:

大部分 cnn 網路在越深的層,feature map 的尺寸(size)會越來越小。這樣做不僅僅是為了減少計算與記憶體的需求,還有個好處就是,最後提取的 feature map 就會有某種程度上的平移與尺度不變性。

4.hard negative mining:

在生成一系列的 predictions 之後,會產生很多個符合 ground truth box 的 predictions boxes,但同時,不符合 ground truth boxes 也很多,而且這個 negative boxes,遠多於 positive boxes。這會造成 negative boxes、positive boxes 之間的不均衡。訓練時難以收斂。

因此,本文採取,先將每乙個物體位置上對應 predictions(default boxes)是 negative 的 boxes 進行排序,按照 default boxes 的 confidence 的大小。 選擇最高的幾個,保證最後 negatives、positives 的比例在 1:3。

本文通過實驗發現,這樣的比例可以更快的優化,訓練也更穩定。 

3.data augmentation:

ssd存在的缺點:

1.需要手動設定引數prior box,無法通過訓練得到,依賴經驗。

2.存在著對小目標檢測效果不好的現象。

目標檢測演算法(五) SSD

ssd,全稱single shot multibox detector,是wei liu在eccv 2016上提出的一種目標檢測演算法,截至目前是主要的檢測框架之一,相比faster r cnn有明顯的速度優勢,相比yolo又有明顯的map優勢 不過已經被cvpr 2017的yolo9000超越 在...

目標檢測演算法之SSD

昨天介紹了特徵金字塔網路用於目標檢測,提公升了多尺度目標檢測的魯棒性,今天開始講講one stage目標檢測演算法中ssd演算法。這個演算法是我平時做工程中最常用到的,嚴格來說平時最常用的mobilenet做backbone的ssd演算法,因為要考慮到實際部署的時候的速度要求。本文提出了僅需要單個卷...

目標檢測演算法之SSD系列

ssd可以看成乙個有特定類別 class specific 的rpn網路 一 ssd ssd和yolov3的區別 1.ssd在不同尺度的特徵圖上分別 yolov3則是將不同尺度的特徵圖進行特徵融合再分別 2.損失函式不同 ssd有loss loc loss cof損失,yolov3有loss xy ...