如何理解目標檢測中的SSD

2021-08-29 10:12:27 字數 1332 閱讀 1048

好記性不如爛筆頭。

下面的第乙個4表示的是4個default box(與faster r-cnn 和yolo不同,這裡是中心座標加上寬高),

其中: classifer是通過3 * 3 * (4 * (classes + 4))的卷積實現的,得到結果即是檢測的結果,然後將不同feature map的檢測結果放在一起。先過濾掉confidence很低的檢測結果,如可以過濾掉confidence 小於0.01。然後對每一類通過nms。(然後一般保留前200個選擇後的檢測結果)

圖中ssd300的boxes數目計算方法:

ssd(300*300)中38 * 38 有4個default box, 19 * 19 有6個 defaule box, 10 * 10 有6 個default box, 5 * 5有6個default box, 3 * 3和 1 * 1有4個default box。所以共有: 38 * 38 * 4 + 19 * 19 * 6 + 10 * 10 * 6 + 5 * 5 * 6 + 3 *3 *4 +1*1*4 = 8732個**結果。

yolo(vgg16)的boxes數目計算方法(此處為yolov1):

yolo採用的是7 * 7的feature map和 2個,因此 7 * 7 * 2 = 98個boxes。

由於ssd**的時候在,class中包含了background類別,因此在訓練的時候需要對background類別進行取樣。當iou>0.5的時候為正樣本,否則為負樣本。但是由於負樣本遠遠多於正樣本,如果不採取措施的話,會導致訓練不穩定,因此ssd中取樣,負樣本為正樣本的3倍。(注:yolo中不存在選擇背景,faster r-cnn也需要選擇background)

如何選擇負樣本呢?

通過選擇loss最高的top負樣本。

如對於需要**6個結果的cell,選擇長寬比為,然後通過下面公式計算得到w, h。

其中對於長寬比為1時,多選擇一次scale。

[2] 理解ssd 英文版: 

[3] 理解ssd 英文版:

[4] 理解ssd 英文版: 

目標檢測之SSD

ssd single shot multibox detector 翻譯 詳解 圖1 圖2 演算法步驟 1 輸入一幅 300x300 將其輸入到預訓練好的分類網路中來獲得不同大小的特徵對映,修改了傳統的vgg16網路 2 抽取conv4 3 conv7 conv8 2 conv9 2 conv10 ...

SSD目標檢測系統

首發於個人部落格 ssd識別系統也是一種單步物體識別系統,即將提取物體位置和判斷物體類別融合在一起進行,其最主要的特點是識別器用於判斷物體的特徵不僅僅來自於神經網路的輸出,還來自於神經網路的中間結果。該系統分為以下幾個部分 該系統的網路結構如上圖所示基本網路為vgg 16網路,vgg 16網路由一系...

目標檢測之 SSD

ssd300 網路結構圖 ssd單階段目標檢測,候選框密集抽樣。作為單階段的目標檢測,其速度還是比faster快很多的,但是精度還是差點。ssd300共用了6層特徵,進行目標檢測,ssd512用了7層特徵,每一層的default box數量不同如上圖分別為 4,6,6,6,4,4,4為設定的乙個大正...