SSD目標檢測系統

2021-09-21 05:57:43 字數 2940 閱讀 4598

首發於個人部落格

ssd識別系統也是一種單步物體識別系統,即將提取物體位置和判斷物體類別融合在一起進行,其最主要的特點是識別器用於判斷物體的特徵不僅僅來自於神經網路的輸出,還來自於神經網路的中間結果。該系統分為以下幾個部分:

該系統的網路結構如上圖所示基本網路為vgg-16網路,vgg-16網路由一系列3x3卷積順序連線構成,在conv5_3層卷積之前,共有4個stride=2的最大值池化,因此該層的輸出的長和寬比原始輸入縮小16倍,在ssd300網路中輸入影象的尺寸被歸一化到300x300,因此該層的輸出長和寬為,channel為512,即基礎網路vgg-16的輸出尺寸為512x19x19。

在基礎網路之後,還有如下的網路結構:

名稱輸入

kernel尺寸

stride

padding

輸出是否輸出

conv6

512x19x19

1024x512x3x311

1024x19x19

nconv7

1024x19x19

1024x1024x1x110

1024x19x19

yconv8_1

1024x10x10

256x1024x1x110

256x10x10

nconv8_2

256x10x10

512x256x3x321

512x10x10

yconv9_1

512x10x10

128x512x1x110

128x10x10

nconv9_2

128x10x10

256x128x3x321

256x5x5

yconv10_1

256x5x5

128x256x1x110

128x5x5

nconv10_2

128x5x5

256x128x3x310

256x3x3

yconv11_1

256x3x3

128x256x1x110

128x3x3

nconv11_2

128x3x3

256x128x3x310

256x1x1

y 其中,是否輸出一欄標為y的均將其輸出送到識別器,即最終識別器接受不同大小的feature map共(5+1)=6個(5個額外的輸出層和1個基礎網路輸出),分別為10x10,5x5,3x3,1x1和兩個19x19,

圖中是乙個4x4的feature map,共個格點,每個格點上有3個候選框,即box_num=3,類別資訊中共有p個資料,即共有p類物品以供判斷(p中含有背景類),class_num=p。另外的4個資料為loc後的位置微調資訊。乙個的feature map經過識別器處理後,變為的tensor,共包含個候選框。

第一步後處理是解析候選框中的資料,每乙個候選框由4+class_num個資料構成:4個位置資訊x,y,w,h和class_num個類別資訊。解析方式與anchor box幾乎相同,如下所示:

其中,分別是識別出的物品的中心點的寬度座標,高度座標和物品的高度和寬度。分別是輸入影象的寬度和高度,為候選框所在格點的座標,取值範圍分別為0~和0~,如上圖中有。為候選框所在的feature map的寬度和高度,如上圖有。分別是對應default box的預設歸一化寬高。對於類別資訊,取其中最大的即可:

第二步後處理是使用nms(非極大值抑制)對候選框進行篩選:當兩個候選框的iou超過乙個閾值時,丟棄置信度conf低的候選框。

網路訓練分為了兩個部分:

在每個feature map的格點上,default box的面積是乙個定值,長寬比為幾種可選的值,如下所示:

其中,為第k個feature map的歸一化尺寸引數(實際尺寸與尺寸的比),,即k=1時(最大的feature map),尺寸引數為尺寸的0.2倍,k=m時(最小的feature map),尺寸引數為尺寸的0.9倍。分別為第k個feature map下不同長寬比的default box的預設歸一化寬和高。除了以上所述4個default box之外,每個feature map的格點default box還有兩個長寬比為1的框,其尺寸係數分別是:

綜上所述,每個feature map的格點共對應6個default box

對乙個default box進行label匹配時,遍歷這張輸入的物體資訊label,若該物品和這個default box的iou超過某個閾值時,認定這個default box用於識別這個物體,按如下建立label:

按以上方法遍歷所有default box,即生成了對於一張輸入資料的label

代價函式由兩個部分構成,分別對於定位準度和分類精度:

其中x為標記資訊,,當第i個default box被標記為屬於類別p的第j個物體時,,否則該標記為0。代價函式分為兩個部分,第乙個部分是分類精度,使用softmax損失函式,如下所示。指該default box的在label中不屬於背景(p>0),反之。c為網路輸出中置信度有關的向量,為ssd輸出的第i個default box中屬於類別p的置信度。

第二個部分為定位準確度,使用l1下的smooth函式作為代價函式:

保證正例:反例=1:3,由於一般正例遠遠少於反例,所以保留所有正例,並根據正例三倍的數量選擇反例,選擇的標準為置信度:即選擇高的反例。

進行完以上隨機選擇後,隨機對處理後的做翻轉處理

目標檢測之SSD

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

目標檢測之 SSD

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

目標檢測之SSD

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