Enhancement of SSD by concatenating feature maps for object detection(R-SSD)

github地址:https://github.com/soo89/Rainbow-SSD

摘要

我們提出了一種對象檢測方法,該方法提高了傳統SSDSingle Shot Multibox Detector)的準確性,該方法是精度和速度兩方面的頂級目標檢測算法之一。深度網絡的性能已知曉,提高了數字的性能。然而,它很難提高性能,但是會略微提高性能圖表的數量。在本文中,我們提出並分析如何有效地使用功能映射來提高傳統SSD的性能。通過改變靠近分類器網絡的結構,而不是靠近輸入數據來增加層數,例如通過用ResNet替代VGGNet,可以獲得增強的性能。所提出的網絡適用於在分類器網絡中共享權重,通過這些屬性,訓練可以更快,並具有更好的通用化功能。使用VOC2007VOC 2012訓練集進行ForthePascalVOC2007test集訓練後,輸入尺寸爲300×300的網絡在速度爲35.0FPS(幀秒)時達到78.5mAP(平均平均精度),而使用Nvidia Titan X GPU的網絡以512×512比例輸入達到80.8mAPat16.6FPS。所提出的網絡顯示了最先進的mAP,比傳統的SSDYOLOFaster-RCNNRFCN更好。而且,它比Faster-RCNNRFCN更快。

 

1、介紹

目標檢測是計算機視覺研究的主要領域之一。 近年來,卷積神經網絡(CNN)已經以各種方式應用於物體檢測算法,提高了物體檢測的準確性和速度。

在各種目標檢測方法中,SSD [11]相對較快且對尺度變化具有魯棒性,因爲它使用多個卷積層進行目標檢測。 儘管傳統的SSD在速度和檢測精度方面表現良好,但它具有雙點支持。 首先,如圖1所示,它顯示了傳統SSD的結構,各層中的每一層都獨立地用於分類器網絡。 因此,可以在多個比例中檢測相同的對象。考慮下層(如Conv4-3)中的特徵映射的某個位置被激活。 這個信息可以延續到最高層(Conv11-2),這意味着更高層的相關位置有很好的機會被激活。

 

1:傳統SSD的整體結構。 用作分類器網絡輸入的從Conv4-3Conv11-2的層被表示爲特徵金字塔。 特徵金字塔中的每個圖層都負責檢測相應大小的對象。

但是,SSD不考慮不同比例之間的關係,因爲它僅針對每個比例查看一個圖層。 例如,在圖5a)中,SSD爲一個對象尋找各種尺度框。

其次,SSD具有小型物體檢測不到的侷限性。 這不僅僅是SSD的問題,而是大多數物體檢測算法的問題。 爲了解決這個問題,已經進行了各種嘗試,例如用更強大的基礎網絡取代基礎網絡,例如用ResNet替換VGGNet [3,8]或增加一個層次中的channel數目[7]。 圖5b)顯示SSD在檢測小物體方面存在侷限性。 特別是,在這兩個圖中,船上和小牛的人分別未被檢測到。

在本文中,我們解決這些問題如下。 首先,考慮特徵金字塔中各層之間的關係來實現分類器網絡。 其次,一層中的通道(或特徵圖)的數量有效地增加了。 更具體地說,只有特徵金字塔中的圖層才允許增加特徵圖的數量,而不是增加基礎網絡中的圖層數量。 所提出的網絡適用於在不同規模的分類器網絡中共享權重,從而形成一個分類器網絡。 藉助先進的泛化性能,可以加快訓練速度。 而且,這種分類網絡的性能很少用於小型數據庫。 在傳統的SSD中,如果沒有一定大小的對象,那麼這個大小的分類器網絡就無法學習任何東西。 但是,如果使用單個分類器網絡,則可以從不同規模的訓練實例中獲取有關對象的信息。

如圖5c)所示,使用該建築結構,我們的SSD版本可以防止爲一個對象檢測多個box。 另外,如圖5d)所示,通道數量可以有效地增加以檢測小物體。 所提出的方法顯示了與傳統SSD相比稍微降低的速度的最先進的mAP(平均平均精確度)。

本文的結構如下。 在第二部分中,我們將在第三部分中介紹對象檢測領域中的相關工作,然後提出一個不同版本的SSD,在第三節中被稱爲RainbowSSD。第四部分將介紹該算法的實驗和評估。在第五部分,討論 並且提出了所提出的方法的一些示例性結果。 最後,本文在第6節中得出結論。

 

 

2:傳統的SSDvs。 (a)對於一個對象有兩個boxSSD; bSSD用於小物體; c)一個對象用一個boxR-SSD; d)小型物體的R-SSD

 

2、相關工作

使用深度學習的各種方法已應用於對象檢測問題,並繼續顯示性能改進。 在由R-CNN(基於區域的CNN)開創的早期工作中[4],候選區域是通過單獨的算法如選擇性搜索[16]或邊緣框[19]提出的,並且分類是通過深度學習來進行的。

儘管R-CNN使用快速學習提高了準確性,但速度和速度問題以及端到端的學習是不可能的。 區域提案網絡(RPN)首先在faster R-CNN中提出,它顯着提高了對象檢測器的速度,並能夠學習端到端。

YOLO(你只看一次)通過將單個圖像分成多個網格並同時在每個網格中執行定位和分類來大大提高速度[14]。 雖然YOLO通過集中速度檢測對象,但YOLO的增強版本YOLO,去除了有效的連接層和使用的anchor box,以提高速度和精度。

另一方面,SSD在給定的位置和比例上創建邊界框候選者,並獲得他們每個類的實際邊界框和得分[11]。 最近,爲了提高SSD的準確性,尤其是對於小物體,提出了使用大容量金字塔尺寸的超大規模集成文本的DSSD(反捲積SSD[3]DSSD應用匯編模塊到特徵金字塔,並使用ResNet而不是VGGNetDSSD成功地提高了速度的精度。

除了目標檢測領域之外,分割領域也深受應用深層神經網絡的開發。 他們中的許多人使用基於像素的物體分類結合上採樣或反捲積來獲得與輸入圖像相同大小的分割結果[12,18]。 此外,功能通過各種方式設計,以元素爲單位,以逐元素方式產生,以獲得改進的性能。 本文的啓發是,我們從不同尺度的特徵中提取原始圖像的抽象表示[1,5]

 

Figure 3: Proposed methods of feature concatenation: (a) concatenation through pooling (b) concatenation through deconvolution; (c) rainbow concatenation through both pooling and concatenation. (best viewed in color. See Fig. 1 for comparison.)

 

3、方法

如上所述,我們提高SSD準確性的策略是讓分類器網絡充分利用特徵金字塔中各層之間的關係,而不必改變與輸入數據緊密相關的基礎網絡。 此外,它還可以有效地增加特徵金字塔中的通道數量。

3顯示了增加不同層數的不同層數對於分類器網絡利用特徵金字塔中各層之間的關係的方法。 爲了實現這一點,在圖3a)中,較低層中的特徵映射通過pooling連接到較高層的特徵映射。 這樣,具有大接收域的分類器網絡可以豐富對象檢測的表示能力。 另一方面,圖3b)展示了通過反捲積或上採樣將上層的特徵映射圖連接到下層特徵的方法。 圖3c)示出了利用較低層合併和較高層反捲積的特徵映射連接方法。

需要注意的一點是,在連接特徵映射之前,規範化步驟是不可避免的。 這是因爲不同圖層中的特徵值在比例上有很大差異。 這裏,batch size歸一化[610]應用於每個過濾器之前的過濾器。

 

Table 1: The number of boxes for each classier network and the number of total boxes

所有上述方法都具有可以進行端到端學習的優點。 有關每個更詳細的描述如下。

3.1 Concatenation through pooling or deconvolution

SSD的結構中,一般來說,下層的通道數量要多於上層的通道數量。 爲了明確特徵金字塔之間的關係並有效地增加channel數量,我們通過pooling或者通過反捲積將較低層的特徵圖連接起來來連接上層的特徵映射。 與DSSD [3]不同,DSSD [3]使用由3卷積層,1卷積層,3卷批次歸一化層,2 Relu和元素產品組成的反捲積模塊,我們的反捲積級聯模型僅採用batch size歸一化反捲積,不需要單元乘積。

這些結構的優點是可以利用來自其他層的信息執行對象檢測。 另一方面,缺點是信息流向單向,分類網絡不能利用其他方向信息。

3.2 Rainbow concatenation

如圖3c)所示,在Rainbow pooling中,同時進行pooling和反捲積,並在不同層次之間建立關聯關係。 在將每個圖層中的要素彙集或解構爲相同大小後,我們將它們連接起來。 使用這些共同的特徵,檢測是在物體的尺寸小於或大於特定尺度的情況下進行的。 也就是說,它可以有更多關於對象的附加信息,而不是對象的對象。 因此,如圖5c)所示,預期特定大小的對象可能僅在特徵金字塔中的適當層中被檢測到。

另外,低層特徵通過高層特徵的串聯而具有限制性表現,導致像DSSD [3]中的小物體檢測的良好表示能力,而沒有太多計算開銷。

通過raindow concatenation,每個特徵金字塔層總共包含2,816個特徵映射(512,1024,512,256,256256個通道的concatenation)。 由於特徵金字塔中的每個圖層現在具有相同數量的特徵圖,因此可以爲不同圖層中的不同分類器網絡共享權重。 傳統SSD的每個分類網絡檢查4個或6default boxes,並且所提議的raindow SSD可以在不同層中統一具有權重共享的default boxes(feature map的每個小格(cell)上都有一系列固定大小的box)。如表1所示,傳統的SSD產生了8,732個盒子。 另一方面,在帶有4個默認框的共享分類器中,該數字變爲7,760,同樣,對於具有6個默認框的共享分類器,它總計爲11,640

 

 

3.3 Increasing number of channels

衆所周知,通道數越多,性能就越好。 爲了演示我們的方法是多麼有效,我們提出了一個比較模型,爲此我們只需更改原始基礎網絡中的通道數量,如表2所示。與SSD一樣,減少的VGG-16預訓練模型用作 基礎網絡。 通道數量和通道數量都是原始網絡的2倍到8倍。 從此以後,這種比較網絡將被認爲是I-SSD,這意味着增加了channel SSD

4、Experiments

爲了評估所提出的算法的性能,我們testPASCAL VOC2007數據集的各種SSD版本[2]VOC數據集由20個對象類組成,其中包含註釋的地面真實位置和每個圖像的相應類別信息。

我們用VOC2007VOC2012'訓練'數據集訓練了我們的模型。 輸入300×300SSDbatch size8,學習率從10-3降至10-6,10-1。 學習速度分別爲80K20K20K20K。 因此每個模型的迭代總次數爲140K512×512輸入模型以batch size=4進行,學習率等於300×300模型的學習率。 在速度的情況下,通過使用batch size1的網絡的正向路徑來測量。使用CAFFE時間函數,使用cuDNN v5.1完成實驗。 因此,如果從預處理(調整大小圖像等)開始測量檢測時間,則可能需要更長的時間。

 

在表中,YOLO [14]YOLOv2 [13]Faster R-CNN [15]R-FCN [8]DSSD [3]的表現從他們的主頁或各自的論文中獲得。 爲了觀察各種性能提升方法的性能,我們使用3.1節中描述的通過poolingSSD pooling)和反捲積(SSD去卷積)連接的功能進行實驗性實驗。 我們還test3.3節中描述的ISSD以進行比較。 test了三種類型的R-SSD。 第一個使用單獨的分類器網絡,用於不同的標度,以及第3.2節中描述的四個或六個默認的盒子標度。 傳統的SSD也由我們自己進行了traintest

在表中,YOLO [14]YOLOv2 [13]Faster R-CNN [15]R-FCN [8]DSSD [3]的表現從他們的主頁2或各自的論文中獲得。 爲了觀察各種性能提升方法的性能,我們使用3.1節中描述的通過池化(SSD池化)和解卷積(SSD去卷積)連接的功能進行實驗性實驗。 我們還test3.3節中描述的ISSD以進行比較。 test了三種類型的R-SSD。 第一個使用不同尺度的分類分類器網絡,其餘兩個分類器使用第3.2節描述的46default boxes分類器的通用分類器。 傳統的SSD也由我們自己進行了traintest

ISSD:對於300輸入模型,我們通過將通道數量從2倍增加到8倍,實驗了ISSD,將不同的層數作爲表3.3。 因此,與傳統SSD相比,mAP0.4%的mAP提高了準確度,78.1%的mAP。然而,由於通道數量的增加,速度降至26.9 FPS.

Concatenation through pooling or deconvolution:對於300個輸入模型,通過去卷積和通過去卷積的串聯分別爲77.1%和77.3%,這是比傳統SSD降低0.6%和0.4%的性能。 此外,二者的複雜性增加,速度分別降低到48.3 FPS39.9 FPS

R-SSD:對於300輸入模型,與傳統SSD相比,精度提高0.8%,mAP78.5%。 但是,由於計算複雜性增加,速度降至35.0 FPS。 對於512輸入模型,其結果是mAP80.8%,比傳統SSD1%。 但其速度降至16.6 FPS。 特別是,比較兩款SSD 512機型,回收率爲0.8時的精度提高2.9%,召回率爲0.9時提高8.2%。 對於具有300個輸入模型的單個分類器模型,當分別使用四個和六個默認框時,它具有76.2%和77.0%的mAP

 

5、Discussion

5.1 Newe valuation method

目標檢測最常用的評估技術是mAPAP(平均精度)是一個集成精度的概念,因爲recall01變化,並且mAP被定義爲所有對象類別的AP的平均值。

 

在圖4中,我們展示了PASCAL VOC 2007測試數據的召回率與平均精度圖。請注意,平均精度(垂直軸)是所有對象類別的平均值。在圖中,我們可以看到不同版本的SSDSSD 300SSD 512R-SSD 300R-SSD 512)對於小的(<0.5)召回值具有幾乎相同的平均精度。由於這個原因,即使大算法的精度在算法之間存在顯着差異(SSD 300R-SSD 512的差異大約爲14%),mAP的差異相對較小(對於SSD 300R-SSD 512大約爲3%)。考慮到大多數物體檢測算法(例如自主車輛)的用例,在高recall> 0.7)下測量的精度值比在小回叫值下測量的精度值更重要。因此,在表4中,我們展示了通過僅平均0.7或更高的平均值計算出的mAP。在表格中,我們可以更清楚地看到R-SSDSSD上的有效性。在召回0.9時,R-SSD512)超過SSD512)超過8%。注意事項1,所有事件都應該記錄在案。無論我們如何降低分數閾值,這些都可能導致設備無法正常工作。

 

5.2 Concatenation by pooling or deconvolution

儘管這兩種模型在多層之間建立了明確的關係,並增加了通道數量,但與傳統SSD相比,它們的準確度和速度均較差。 這兩個模型需要執行更多的操作,因此速度可能會下降。 至於準確性,可以推測出原因可以認爲與其他圖層共享相同特徵圖的圖層會受到其他圖層損失的影響,並且不能完全關注比例尺。 也就是說,他們無法在規模上正確學習。

5.3 Singleclassiervs. Multipleclassiers

與傳統的SSD不同,因爲R-SSD具有相同尺寸的不同層的相似特徵映射,因此可以共享分類器網絡。在這裏,通過統一每個特徵金字塔等級中的信道數量來實現單個分類器網絡的實驗。如表3所示,盒子數量有所不同,但速度差別不大。相比之下,性能比傳統SSD1.2%和0.7%。然而,單一分類器的優點是學習可以有效,特別是當不同尺寸的軟雨樣品之間存在顯着的不平衡時。在這種情況下,傳統的SSD無法訓練具有少量樣本的規模的分類器。但是,在R-SSD中,由於分類器網絡是共享的,因此避免了這個問題。此外,單個分類器在訓練的早期階段速度更快。因此,即使對於大型數據集,R-SSD也可以通過在早期階段訓練單個分類器來快速訓練,並且在某個時刻,分類器可以分別進行不同規模的訓練。

 

5.4 Accuracy vs. Speed

傳統SSD是精度和速度兩方面的頂級物體檢測算法之一。 對於SSD300SSD512,它分別具有77.7%的mAP79.8%的mAP,具有61.1FPS25.2FPS。 查看ISSD的結果與我們的算法進行比較,ISSD的精度增益爲0.4%,但速度降至26.9 FPS。 在我們的實驗中,R-SSD顯示速度有點慢,精度提高。 與ISSD相比,R-SSD顯示出更高的精度和更快的速度。 此外,它顯示了比傳統SSD大約1%的mAP改進。 我們的R-SSD顯示速度高達15%,mAP80.8%。 與具有相似準確度的R-FCN相比,R-SSD快三倍。

5.5 Performances for different scales

5顯示了每個對象大小的回憶[9]。 通常情況下,應該獲得APAR(平均召回),但VOC2007測試集共有12032個對象,其中567個是小對象。 在評估小對象的性能時,有幾個類沒有對象。 因此,我們整合所有對象來衡量召回。 當物體尺寸較小時,R-SSD300R-SSD512分別檢測到比SSD300SSD512更多的物體。 可以看出R-SSD沒有放入一些小物體。 在中等尺寸的情況下,R-SSD300SSD512更具召回性。 此外,當物體尺寸較大時,所有模型的召回顯示超過0.93的較高值。 R-SSD300SSD512R-SSD512的差異不到7,641箇中的10個。

6、Conclusion

在本文中,我們提出了一種可以有效解決傳統SSD問題的彩虹級聯方案。 該論文的貢獻如下。 首先,它會在每個特徵金字塔等級之間創建相互關聯的船舶,以防止不必要的檢測,例如針對一個對象的不同比例的多個箱子。 其次,通過有效地增加特徵金字塔中每個圖層的特徵圖的數量,精確度得到改善,而沒有太多時間開銷。 最後,不同層次的特徵映射的數量匹配,可以用來分配不同層次的特徵映射。 通過使用分類器,可以預期泛化性能的改進,並且可以有效地使用,並且可以使不均衡的數據集小很多。 提出的R-SSD是同時考慮精度和速度的結果,並且在速度超過15 FPS的情況下顯示出現狀態。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章