pytorch目標檢測ssd二 ssd的整體框架

2021-10-05 07:52:03 字數 2491 閱讀 7242

這是ssd的第二篇部落格,主要是介紹ssd的整體框架,不會涉及**。

這篇部落格,我會分析一下整體框架。

1)輸入

輸入的大小要被設定成300x300的,所以不是300x300的,輸入之前需要resize一下

2)特徵提取網路

深度神經網路可以進行特徵提取,我們的ssd採用的就是vgg深度神經網路。

但是ssd在vgg的基礎上又做了一些改變。我們來看看第一幅圖的第一部分:

除了普通的vgg之外,也就是第一和第二塊:

還增加了後面的四塊,也就是:

通過對輸入進行上述一共6個部分的卷積,那麼我們的輸入的就會被進行特徵提取,一共提取出6個特徵層(每個部分對應乙個特徵層)。比如下圖就是我們的第乙個特徵層,一共有六個:

利用這些特徵層,我們就可以進行下一步的操作了。

我們來看看每個特徵層的高和寬,分別是38x38, 19x19, 10x10, 5x5, 3x3, 1x1

看到這些數字,你想到了什麼?還記得我們在第一篇的時候說的:ssd將分成不同的大小網格嗎?

看每個特徵層的高和寬,是不是我們網格的大小?

其實就是這樣的,我們的ssd將我們的分成38x38x512, 19x19x1024, 10x10x512, 5x5x256, 3x3x256, 1x1x256這樣6個不同的特徵層,我們也會相應的劃分出38x38, 19x19, 10x10, 5x5, 3x3, 1x1這樣6種不同大小的網格,每個特徵層對應其中一種網格,比如shape為38x38x512的特徵層,對應38x38的網格。

劃分出網格之後,ssd就會進行目標檢測來檢測目標。

好了,現在劃分出了網格,那麼我們檢測目標又是怎麼一回事兒呢?這個時候,我們就需要先驗框遼。

那我們先來看下先驗框是個啥。

例如下面這幅圖,

(雖然我們沒有8x8和4x4的網格,但是我們這裡舉這個例子)

在圖b中,我們以每個網格的中心為中心,畫很多個先驗框。比如圖b藍色的先驗框,這個藍色的先驗框/就是/以他的中心網格的中心點/為中心畫出來的先驗框,然後我們要做的就是調整這個藍色的先驗框,使它和我們圖a中的藍色框幾乎重合。其他先驗框同理。

那麼我們之前畫出網格的作用就是為了得到這些先驗框,然後調整先驗框,然後得到我們的目標檢測的結果遼。

我們現在已經知道了,每乙個特徵層都會將劃分成和它高寬大小相同的網格,比如38x38的特徵層,將劃分成了38x38個網格。然後每個網格,都會有對應個數的先驗框,比如我們的38x38的網格,每個網格就對應4個先驗框,19x19的網格,每個網格對應6個先驗框。介個系後就會有同學問遼,你這個4個先驗框和6個先驗框是怎麼來的?其實我也不知道是怎麼來的,但是他就是這麼做的。?

我們以38x38的為例子來康一下

我們先來康康第一幅圖的中間部分的某一小部分,

中間部分如下圖:

中間部分的某一小部分如下圖:

看見上圖的 #def.boxes:4 了沒有,這裡就是告訴我們這個特徵層對應的網格,每個網格對應4個先驗框。下面的38x38x4表示:38x38的網格,每個網格有4個先驗框,那麼一共有38x38x4=5776個先驗框。然後我們就會對這5776個先驗框分別進行調整,然後就會判斷,調整後的5776個框,裡面是否會包含物體。其他的特徵層也同理,一共就有8732個先驗框。

也就是說,我們會對一共8732個先驗框進行調整,然後判斷裡面有沒有物體,如果有的話,我們就把他們標出來。如第一幅圖的第三部分:

但是,有時候我們的先驗框會重疊,比如我們上圖中的第四張圖,先驗框就重疊了:

但是不要慌,我們上面把先驗框畫出來了,還要進行乙個操作,如第幅圖的第四部分:

我們將標了先驗框的輸入進去之後,就會對重合的情況以及的先驗框的評分,來找到我們需要的框,並且標出他所屬的種類。

目標檢測之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為設定的乙個大正...