1. 程式人生 > >論文閱讀筆記:SSD: Single Shot MultiBox Detector

論文閱讀筆記:SSD: Single Shot MultiBox Detector

1 介紹

當前目標檢測系統都是下列方法的變體:假定邊界框(hypothesizebounding boxes),對每個方框進行重取樣畫素或者特徵,應用一個高質量的分類器。這種流程在檢測基準(detectionbenchmarks)上盛行,因為選擇性搜尋在PASCAL VOC,COCO和ILSVRC檢測上的效果最好,這些都是基於Faster R-CNN的。這些方法在embedded系統中是高密集型的計算,甚至要有高階硬體支援,對於實時應用來說太慢了。這些方法的常用檢測速度是每幀多少秒(seconds per frame,SPF),甚至是最快的檢測器,faster R-CNN,也只能達到每秒7幀(frames per second,FPS).很多人在改進檢測速度上做了很多嘗試,但是增加速度大都以損失檢測精度為代價。

這篇文章首先提出了基於目標檢測器的網路(object detector),它不用為邊界框假設進行重取樣畫素或特徵,但是精度同樣和其他方法一樣。這個方法提高了高精度檢測的速度,在VOC2007測試集上為59FPS,mAP為74.3%,而faster R-CNN是7FPS,mAP是73.2%,YOLO為45FPS,mAP為63.4%。這些基本的改進是來自消除邊界框提議和與之相關的畫素或特徵重取樣階段。我們改進的地方是使用一個小卷積濾波器(small convolutional filter)去預測目標分類和邊界框的位置的偏移,使用分開的濾波器去處理不同縱橫比的檢測(aspect ratio detections),把這些濾波器應用到後面網路階段的特徵圖中(feature maps),這是為了把檢測器用來檢測不同比例的圖片。修改這些以後,尤其是在使用不同層預測不同比例的刻度,我們可以得到一個在相對低解析度輸入下的高精度輸出,還增加了檢測的速度。這些貢獻可能單個看的話貢獻很小,但是我們注意到實時目標檢測的精度從YOLO的 64.3%的mAP到SSD的74.3%mAP.這是相對於殘差網路的一個在精度上的較大的改進。另外,還大大提高了高質量檢測的速度,這可以拓寬應用的環境,在這個環境中計算機視覺是有用的。


貢獻

1.     我們提出了SSD,一個多分類單杆檢測器(single-shot detector),比現在的單杆檢測器(YOLO)更快,和那些較慢技術精度一樣,並且超過了區域提議(region proposals)和池化(pooling)的方法,包括faster R-CNN.

2.     SSD的核心部分是預測分類得分和一個固定集合的預設邊界框的框偏移,這些是通過使用卷積濾波器到特徵圖上實現的。

3.     為了獲得高檢測精度,我們會從不同比例的特徵圖來產生不用比例的預測,通過縱橫比來分開預測。

4.     這些設計特徵可以進行端到端訓練,精度還很高,在輸入圖片解析度很低的情況下精度也能保持高精度。改進了速度和進度折中均衡的局面。

5.     實驗包含模型之間速度和精度的分析,用了不同輸入大小,資料集為PASCALVOC,COCO和ILSVRC,比較了最近的最新的方法。


2 The Single Shot Detector (SSD)

2.1模型

SSD基於前饋卷積網路,針對那些方框裡的目標類別例項,產生一個固定大小的邊界框的集合和分數,緊接著一個非最大抑制(non-maximum suppression)步驟去產生最後的檢測。早期的網路是一個標準的結構,用於對高質量圖片進行分類,捨棄了最後的分類層,我們叫做基網路。我們然後對網路增加放大結構去產生有下面主要特徵的檢測。

1.     多比例特徵圖檢測(Multi-scale featuremaps for detection),我們在基網路最後增增加了卷積特徵層。這些層按照大小減少的次序連線,能夠進行多尺度預測。

2.     卷積檢測預測器(Convolutionalpredictors for detection)每個新增的特徵層或者現存的來自基網路的特徵層,在使用一個卷積濾波器(convolutional filters)集合的情況下,可以產生一個固定集合的檢測預測(detection predictions)。特徵層的大小為m*n,有p個channels.預測引數的可能的基本單元是一個3*3的小核(small kernel),它要麼產生一個類別的分數,要麼一個相對預設方框座標的形狀偏移(shape offset)。每一個m*n的運用核的位置中,會產生一個輸出值。邊界框的偏移輸出值是相對於預設的位置的,它使用一箇中間全連線層,而不是一個卷積濾波器。



上圖是兩個single shot detection模型的比較:SSD和YOLO.我們的SSD模型在基網路的末端增加了一些特徵層,用來預測預設不同比例方框的偏移(offsets),縱橫比和與之相關的置信度(confidences)。SSD的輸入是300*300,在VOC2007測試集上,其效能超過了448*448輸入大小的YOLO。輸入變小也提高了網路的速度。

1.     預設方框和縱橫比(Default boxes andaspect ratios),我們設定了預設邊界框的集合和每個特徵圖單元(cell)關聯,這是對於網路頂層的多特徵圖來說的。預設的方框(default boxes)以卷積的方式覆蓋了卷積圖,因此每一個方框對應的cell是固定的,在每個特徵對映單元上,我們預測相對預設方框形狀的偏移,和每一類的分數,這表明每一個方框中一個類的出現。特別的,對於給定位置的每一個方框(for each box out of k at a given location,根據我的理解翻譯,智慧做參考,英文原文已經貼出),我們計算c類別的分數,和4個相對於原來預設方框形狀的偏移。結果總共有(c+4)個濾波器應用到卷積圖的每個位置,產生了來自m*n的卷積圖的(c+4)kmn個輸出。預設方框的解釋如下,他和Faster R-CNN的anchor方框相似,但是,我們把他們應用到不同解析度的特徵圖上的時候,由於我們在一些特徵圖上面有不同的預設方框形狀,這使得我們能高效的計算出離散化可能輸出方框形狀的空間。



這是SSD框架,(a)SSD在訓練期間僅需要一張輸入圖片和每個目標的ground truth的方框。在卷積操作中,我們評估評估一個預設方框的集合,這些方框在每一個位置又不同的縱橫比,在一些特徵圖中有不同的比例(如(b)中的8*8和4*4),對每一個預設的方框,我們預測形狀的偏移和所有物體分類的置信度((c1,c2,…,cp ))。在訓練時間,我們首先把預設的方框和groundtruth的方框對應上。例如,我們已經把兩個預設方框分別對應到貓和狗了,他們當成正量,剩下的當成負量。模型損失是一個位置權重損失之和(Smooth L1)置信損失(softmax).


2.2 訓練


訓練SSD和訓練一個典型的使用區域提議(region proposals)檢測器的主要區別,ground truth資訊在固定檢測器輸出的情況下需要指定到特定的輸出。SSD的某個版本也需要在YOLO上訓練,和Faster R-CNN以及multibox的區域提議階段,一旦這些指派決定了,損失函式和反向傳播就可以端到端,訓練包括選擇預設盒子的集合,檢測比例,Hard negative mining(對於目標檢測問題就是影象中不存在目標的樣本集合,具體解釋見下面的參考文獻),資料增強(data augmentation)策略等。

匹配策略

訓練期間,我們需要決定那個預設盒子匹配一個ground truth,並且網路也相應的進行訓練,對於每個我們從預設盒子中選擇的ground truth盒子,在位置,縱橫比,和比例上不同,我們用bestjaccard overlap 方法匹配ground truth的盒子和預設盒子。不像MultiBox, jaccard overlap的值高於一個閾值(0.5),我們就將二者匹配,這簡化了學習問題,使得網路可以對多覆蓋(multiple overlapping)預設盒子預測得到高分,而不是選出最大覆蓋的那個覆蓋。

訓練目標

SSD訓練目標是有MultiBox目標推匯出來的,但是我們把它拓展成可以處理多目標分類問題,令x^pi,j={1,0}為一個指示器,代表匹配第i個預設盒子和第j個ground truth盒子的分類p。在以上匹配策略中,我們有Σix^pi,j>=1,整體的目標函式損失就是位置損失(localization loss,loc)和置信度損失(confidence loss,conf)的權重和:

其中N是匹配預設盒子的數量,如果N=0,我們設定損失為0.位置損失是一個Smooth L1損失,代表預測的box(l)和ground truth的box(g)引數。和Faster R-CNN相似。我們對下面引數盡心迴歸補償,中心為(cx, cy)的預設包圍盒子(d),以及預設包圍盒子的寬(w)和高(h).



置信損失是softmax多分類置信度(c)損失,



權重項α在交叉驗證的時候設定為1。

為預設盒子選擇不同比例和縱橫比

為了解決不同目標的比例,一些方法是把圖片處理成不同的大小,然後結果不同大小圖片的結果。可是,通過利用一個網路的不同層的特徵圖,我們可以模仿達到相同的效果,所有比例的目標還可以共享引數。前面的研究表明使用底層的特徵圖可以提升語義分割的質量,因為低層捕獲了輸入目標更多的細節資訊,這些資訊可以幫助平滑語義結果。受這些方法的啟發,我們使用特徵圖的高層和低層特徵,最開始的樣例特徵圖)(8*8,4*4)被應用到了這個框架,我們在一個小的計算負載下可以使用得更多。

特徵圖一個網路不通等級下有不同的接受域大小(receptive field sizes),幸運的是,在SSD框架之內,預設的盒子沒必要匹配每層的真正接受域(receptive fields),我們設計了預設盒子的tiling(查了一下中文意思,覺得翻譯不過來,就直接上中文意思了:蓋瓦; 貼瓷磚; (總稱)瓦; 瓦工;),這使得特定特徵圖學習對特定比例的目標進行響應。假設我們使用m特徵圖進行預測,每一個特徵圖的預設盒子的比例計算如下:


Smin是0.2,Smax是0.9,意思是最小層的比例是0.2,最高層的比例是0.9.所有層都在這兩值之間,以固定間隔分隔開。我們對預設盒子加上不同的縱橫比,即ar屬於{1,2,3,1/2,1/3}.我們可以計算每個預設盒子(default box)寬和高:


對於縱橫比為1,我們也加了一個預設盒子,比例(scale)為


每個特徵圖位置產生6個預設盒子,我們把預設盒子的的中心為:



|fk|是第k個正方形特徵圖的大小,I,j屬於[0,fk)。

通過結合不同比例和縱橫比預測所有的預設盒子,我們有一個離散的預測集合,覆蓋不同輸入目標大小和形狀。例如,上面的那幅圖,狗在4*4得特徵圖中匹配了一個預設盒子,但是沒有匹配到8*8的特徵盒子,這是因為這些盒子有不同的比例,不匹配夠的盒子,因此被認為是訓練期間的負樣本。

Hard negative mining

匹配完之後,大多數的預設盒子是負值,特別是當預設盒子的數量很大的時候,這導致了正負訓練樣例不均衡的的情況。因此我們把訓練樣本進行分類,我們使用對每個預設盒子有最高置信損失的的負樣本,取出排在前面的負樣本,使得負正樣本的比率最多3:1.使用了之後,網路優化更快和訓練更穩定了。

資料增強(Data augmentation

為了識模型對不同輸入目標大小,形狀,表現得更加健壯,每個訓練樣例隨機的按照下面進行取樣:

l  使用完整的原圖片輸入

l  取樣一個小塊,使得目標的最小jaccard overlap是0.1,0.3,0.5,0.7,0.9.

l  隨機取樣一個小塊

每個樣本塊的大小是原圖片大小的[0.1,1],縱橫比在1/2到2之間。如果ground truth的中心在樣本塊裡,我們保留那個重疊部分的ground truth盒子,在完成前面的取樣之後,我們把樣本塊重新調整成固定大小,以0.5的概率進行翻轉。

3實驗結果

Base network

我們的實驗都是基於VGG16的,VGG16在ILSVRC CLS-LOC資料集上進行了預訓練。和DeepLab-LargeFOV相似,我們把fc6和fc7轉換成了卷積層,從fc6和fc7進行下采樣,把pool5從2*2-s2變為3*3-s1.我們使用`a trous algorithm去填充“holes”。我們移除了所有的dropout層和fc8層。我們fine-tune模型,學習率為0.001,momentum為0.9,權重衰減為0.0005,batch size為32。衰減策略的學習率在每個資料集上稍有不同,稍後我們會詳細描述,其caffe模型的訓練和測試程式碼開源地址為:https://github.com/weiliu89/caffe/tree/ssd

3.1  PASCAL VOC2007

在這個資料集上,我們用VOCtest(4592)來和fast R-CNN和FasterR-CNN做對比。所有的方法都是用的同一個預訓練的vgg16網路進行fine tune的。


上圖顯示的是SSD300模型的結構,我們使用conv4_3, conv7(fc7), conv(8_2), conv(9_2), conv(10_2)和conv(11_2)來預測位置和置信度,設定conv4上的預設框的比例為0.1,我們對新加進來的卷積層使用“xavier”方法進行初始化。對於conv4_3,conv 10_2和conv11_2,我們在每個特徵圖位置上只關聯4個預設框,省略的縱橫比為1/3和3.對於所有其它的層,我們放置了6個預設框,conv4_3有一個不同於其它層的特徵尺度,我們使用L規範技術,把特徵圖上每個位置的特徵規範到20的比例,然後在反向傳播期間來學習這個比例。我們使用0.001的學習率來做了40 000次迭代,只有用了0.0001和0.00001的學習率做了10000次迭代。,


如上圖,當在VOCtrainval上訓練的時候,低解析度SSD300模型比FastR-CNN更準確,當用SSD在512*512輸入的圖片上的時候,更精確了,比Faster R-CNN的mAP多了1.7%,如果我們用更多的資料(例如,07+12)訓練,SSD300比Faster R-CNN精度高了1.1%,比SSD512的精度高了3.6%。如果我們用COCO trainval35k資料集進行訓練,在07+12資料集上做fine-tuning,模型用得是SSD512,我們得到了最佳的結果:81.6%.

       為了更細節的理解我們的兩個SSD模型的效能,我們使用了分析工具。


上圖顯示的是SSD可以高質量的檢測不同目標的類別(大白色區域),它的置信度檢測的大多數是正確的,recall是85%-90%,比“weak”(0.1 jaccard overlap)標準更高一點。和R-CNN相比,SSD有著很少的定位錯誤,意味著SSD在定位上更好,因為它直接學習物體形狀的迴歸,並且分類目標類別,而不是使用兩個分離的步驟。可是,SSD對相似的目標類別(特別是對動物)有著困惑,部分是因為我們對多個類別共享位置。


圖4顯示的是SSD對邊界框的大小非常敏感,換句話說,它在小目標上比大目標的表現更差。這不驚訝,因為那些小目標可能在頂層沒有任何資訊。增加輸入的大小(例如,從300*300到500*500)可以提升檢測小目標的效能,但是仍然有很多的空間去改進。積極的一面是,我們很明顯可以看到SSD在大目標上表現很好,並且對不同比例的目標是非常魯棒的,因為我們對每個特徵圖位置使用不同比例的預設框。

3.2模型分析

為了更好的理解SSD,我們做了控制實驗,檢測每個部分對效能的影響。對於所有的實驗,我們使用相同的設定,輸入的大小是300*300,當然除了對設定或者元件的特別改變的除外。

資料增強是關鍵

Fast 和Faster R-CNN使用原始圖片,並且水平翻轉來訓練。我們使用了一個拓展的取樣策略,和YOLO相似。


上表結果表明,用了這個取樣策略mAP提升了8.8%。我們不知道我們的取樣策略會對Fast和Faster R-CNN產生多大的影響,但是他們可能受益很小,因為它們在分類期間做了一個特徵池化操作,這對於設計的目標翻譯(object translation)是相對魯棒的。

預設框的形狀越多越好

我們對每個特徵圖用了6個預設框,如果我們移除了1/3和3比例的方框,效能下降了0.6%。通過進一步移除比例為1/2和2的方框,效能又一次下降了2.1%,使用多樣的預設框的形狀會使得網路很容易做預測方框的任務。

Atrous 更快

我們使用的是VGG16子取樣的atrous版本,跟DeepLab-LargeFOV差不多。如果我們使用完全的VGG16, 保留pool5的2*2-s2,不從fc6和fc7中下采樣引數,增加conv5_3用於預測,結果是一樣的,而速度滿了20%。

不同解析度的的多輸出層更好

SSD的主要貢獻是在不同的輸出層上使用不同比例的預設框,為了衡量其優點,我們進一步移除了層數並且比較結果。為了公平比較,每次我們移除一層,我們調整預設框,進行平鋪,使得方框的總數和原來的方框數目(8732)一樣。我們通過在剩下的層上堆疊更多比例的方框,如果有必要,還會調整方框的比例,我們對每個設定沒有詳盡的進行平鋪。


上圖顯示的是隻有少數幾層的時候精度下降得很快,從74.3%下降到62.4%。當在一層上堆疊不同比例的的方框時,許多方框在圖片邊界,需要小心的處理。我們使用了Faster R-CNN的策略,忽略了邊界上的方框。我們觀察到了一些有趣的趨勢,例如,如果我們使用特別粗糙的特徵圖(例如,conv11_2(1*1)或者conv10_2(3*3)),它會很明顯影響到效能,理由可能是我們沒有足夠的大方框來覆蓋剪枝後的大目標。當我們使用更精細的分辨圖時,效能再次提升了,因為即使在修剪足夠數量的大方框以後,也會保留。如果我們僅使用conv7做預測,效能表現更差,加強資訊,在不同的層上傳播不同比例的方框是至關重要的。此外還有,我們的預測不依賴於ROI pooling,因此就沒有在低解析度特徵圖上的collapsing bins問題,SSD結構結合來自不同解析度的特徵圖的預測,可以取得比Faster R-CNN更好的效果,並且使用了低解析度的輸入。

3.3PASCAL VOC2012

我們使用了相同的設定作為那些用於我們的基本的VOC2007的實驗,此外,我們使用了VOC2012 trainval和VOC2007 trainval和test(21503張圖片)用於訓練,在VOC2012 test(10991張圖片)上進行測試。我們用學習率0.001迭代了60 000次,隨後用0.0001的學習率迭代了20 000次,


上表顯示的是我們的SSD300和SSD512的模型,我們觀察到了這和VOC2007 test上的效能表現趨勢一樣,我們的SSD300與Fast/Faster R-CNN相比提升了精度,通過增加訓練和測試圖片大小到512*512,相比Faster R-CNN,精度提升了4.5%,和YOLO相比,SSD精度高多了,這可能是由於是使用了多種特徵圖的卷積預設框,訓練期間的對應的策略。當我們fine-tune從COCO上訓練的模型,我們的SSD 512取得了80%的mAP,比Faster R-CNN高了4.1%.

3.4COCO

為了進一步驗證SSD框架,我們在COCO資料集上訓練了我們的SSD300和SSD512結構,因為SSD上的目標比PASCAL VOC上的小,我們對所有的層使用了更小的預設框,我們用了2.2部分的策略,但是現在我們的最小預設框的比例是0.15,而不是0.2. conv4_3上的預設框的比例是0.07(例如對於300*300的圖片,畫素為21)。

       我們使用trainval35k來進行訓練,我們開始用學習率為0.001訓練160 000次,繼續用0.0001的學習率訓練40 000次,最後用0.000 01的學習率迭代40 000次。


表5顯示的是test-dev2015的結果,和我們在PASCAL VOC dataset上觀察到的一樣,SSD300在[email protected][email protected][0.5:0.95]上比Fast R-CNN更好,SSD300在[email protected]和Faster R-CNN以及ION相似,但是在[email protected]上表現比較差。通過把圖片的大小增加到512*512,SSD512比Faster R-CNN更好,有趣的是,我們觀察到SSD512在[email protected]上比faster R-CNN高5.3%, 而在[email protected]上只高了1.2%。我們也觀察到它對大目標有更好的AP(4.8%)和AR(4.6%),但是對小目標的改進很小,AP(1.3%),AR(2.0%)。和ION相比,對於大目標和小目標在AR上的提升是更相似的(5.4% vs 3.9%)。我們推測Faster R-CNN比SSD在小目標上跟強,因為它有兩個步驟的方框改良,在RPN部分和Fast R-CNN 兩部分。


圖5顯示的是用SSD512在COCO-dev上的檢測樣例.

3.5Preliminary ILSVRC results

我們把相同的用於COCO的網路結構應用到ILSVRC DET dataset上,我們訓練了一個SSD300的模型,資料集為ILSVRC2014 DET train和val1.我們首先用學習率為0.001來迭代320 000次,繼續以學習率0.000 1來迭代80 000次,最後以學習率0.000 01來迭代40 000次。我們在val2上得到了43.4 mAP。再次,它驗證了SSD是一個有著高質量實時檢測的一般框架。

3.6Data Augmentation for Small Object Accuracy

在沒有像Faster R-CNN的follow-up的resampling步驟,對於小目標的分類任務,SSD相對比較艱難,資料增強策略對效能的提升很大,特別是對小資料集,例如PASCALVOC,通過策略產生的隨機分割可以被認為是一種放大操作,可以產生更大的訓練樣例,為了實現縮小操作,產生更多小的訓練樣本,在做隨機分割操作之前,我們開始隨機的把一幅圖片放置在16x的原圖大小的的畫布上,用均值來填充。通過引入了這些資料放大的技巧,我們有更多的訓練圖片,我們得迭代兩倍的次數,我們得到了在多種資料集上的2%-3%mAP的增加,如下表所示。



上圖顯示新的放大技巧可以提升對小目標的精度,結果強調了資料增強策略對最終模型精度的重要性。

  一個可以改進SSD的方式是設計一個更好的預設框的平鋪,使得位置和比例可以更好的和每個位置和特徵圖的接受域對齊,我們把這個作為future work。

3.7Inference time

考慮到從我們的方法中產生大量的方框,運用non-maximum suppression在推測階段是必須的,通過使用置信度閾值為0.01,我們可以過濾掉大多數方框。我們之後應用nms,每個類別的jaccard overlap為0.45,保留每張圖片的前200個檢測。對於SSD300和20VOC類別,這個步驟對每張圖片會花費1.7秒,這接近所有新加的層的總時間(2.4秒),我們用batch size為8, 使用TitanX,cuDNN v4,Intel Xeon [email protected]


上表顯示SSD,YOLO,Faster R-CNN的比較,SSD300和SSD512方法在精度和時間上超過了Faster R-CNN,即使YOLO可以執行155fps,但是精度下降了幾乎22%mAP。據我們所知,SSD是第一個取得mAP超過70%的實時方法。注意到80%的前向時間都是花在了基網路。因此,使用一個更快的基網路可以進一步提升速度,可能會使得SSD512也達到實時。

單詞

Pipeline  管道; 輸油管道; 渠道,傳遞途徑;

Scales  刻度( scale的名詞複數 ); 水垢; 比例(尺); 魚鱗;

相關推薦

論文閱讀筆記SSD: Single Shot MultiBox Detector

1 介紹當前目標檢測系統都是下列方法的變體:假定邊界框(hypothesizebounding boxes),對每個方框進行重取樣畫素或者特徵,應用一個高質量的分類器。這種流程在檢測基準(detectionbenchmarks)上盛行,因為選擇性搜尋在PASCAL VOC,COCO和ILSVRC檢測上的效果最

論文閱讀SSD: Single Shot MultiBox Detector

Preface 有幾點更新: 1. 看到一篇 blog 對檢測做了一個總結、收集,強烈推薦: Object Detection 2. 還有,今天在微博上看到 VOC2012 的榜單又被重新整理了,微博原地址為:這裡,如下圖: 3. 目前 voc

深度學習【50】物體檢測SSD: Single Shot MultiBox Detector論文翻譯

SSD在眾多的物體檢測方法中算是比較重要的。之前學習過,但是沒過多久就忘了,因此決定將該論文翻譯一下,以加深印象。 Abstract 我們提出了用單個深度神經網路進行物體檢測的方法,稱為SSD。在每個特徵圖中的每個位置,SSD將bbox(bounding

【深度學習目標檢測】RCNN學習筆記(10)SSD:Single Shot MultiBox Detector

之前一直想總結下SSD,奈何時間緣故一直沒有整理,在我的認知當中,SSD是對Faster RCNN RPN這一獨特步驟的延伸與整合。總而言之,在思考於RPN進行2-class分類的時候,能否借鑑YOLO並簡化faster rcnn在21分類同時整合faster rcnn中anchor boxes實現m

SSD: Single Shot MultiBox Detector論文筆記

1. 論文思想 SSD從網路中直接預測目標的類別與不同長寬比例的邊界框。在這篇論文中提出的方法(SSD)並沒有為邊界框假設重取樣畫素或是特徵,但是卻達到了使用這種方案檢測模型的精度。在VOC 2007的測試集上跑到了mAP74.3% 59 FPS(在後來改進資料增廣的方法,在VOC

[論文閱讀]SSD Single Shot Multibox Detector

SSD Single Shot Multibox Detector Code: https://github.com/balancap/SSD-Tensorflow SSD 是ECCV 2016的文章,文章主要提出了一種新的framework來完成object detec

SSD:Single Shot MultiBox Detector 論文筆記

資料增廣(Data augmentation)對於結果的提升非常明顯  Fast R-CNN 與 Faster R-CNN 使用原始影象,以及 0.5 的概率對原始影象進行水平翻轉(horizontal flip),進行訓練。如上面寫的,本文還使用了額外的 sampling 策略,YOLO 中還使用了 亮度

論文筆記 | SSD: Single Shot MultiBox Detector

Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg Wei Liu Abstract

論文筆記 SSD: Single Shot MultiBox Detector

話不多說開始總結,作為新一個快速高效的目標檢測演算法,SSD結合了Faster RCNN和YOLO 演算法。 本文主要提出的貢獻有以下幾點: (1)提出SSD演算法,比YOLO演算法更加迅速,同時和速度較慢的執行region proposal與pooli

SSD: Single Shot MultiBox Detector 深度學習筆記SSD物體檢測模型

演算法概述 本文提出的SSD演算法是一種直接預測目標類別和bounding box的多目標檢測演算法。 與faster rcnn相比,該演算法沒有生成 proposal 的過程,這就極大提高了檢

目標檢測之SSD(single shot multibox detector)的pytorch程式碼閱讀總結

confidence:文章中說 根據highest confidence loss,選擇3倍於正樣本數目的負樣本,正樣本根據重合度已經選擇出來了,選擇負樣本先計算這個confidence loss,首先求取預測confidence的log_sum_exp值,再減去其中對應groundtruth的confide

[論文理解]SSD:Single Shot MultiBox Detector

導致 目標檢測 alt sam 實驗 detection 置疑 增強 不同 SSD:Single Shot MultiBox Detector Intro SSD是一套one-stage算法實現目標檢測的框架,速度很快,在當時速度超過了yolo,精度也可以達到two-sta

SSD(Single Shot MultiBox Detector):create_list.sh io.cpp:187 Could not open or find file

今天在為SSD訓練自己的資料時執行caff/data/VOC0712/create_list.sh時報了好多這個錯誤: E0412 16:28:31.653440 5008 io.cpp:187] Could not open or find file

SSD(Single Shot MultiBox Detector)的solver引數 test_initialization的說明塈解決訓練時一直停在Iteration 0的問題

前陣子訓練過一次SSD模型,訓練後發現數據集有問題,修改了資料集後,今天準備再做一次SSD訓練時,如下執行訓練程式碼: python ./examples/ssd/ssd_pascal.py 到了開始迭代時,一直停在Iteration 0,進行不下去。

SSD: Single Shot MultiBox Detector翻譯(包括正式版和預印版)(對原文作部分理解性修改)

預印版表7 表7:Pascal VOC2007 test上的結果。SSD300是唯一的可以實現超過70%mAP的實時檢測方法。通過使用大輸入影象,在保持接近實時速度的同時,SSD512在精度上優於所有方法。 4、相關工作         目前有兩種已建立的用於影象中物件檢測的方法,一種基於

SSD( Single Shot MultiBox Detector)關鍵原始碼解析

SSD(SSD: Single Shot MultiBox Detector)是採用單個深度神經網路模型實現目標檢測和識別的方法。如圖0-1所示,該方法是綜合了Faster R-CNN的anchor box和YOLO單個神經網路檢測思路(YOLOv2也採用了類似的思路,詳見YOLO升級版:YOLOv2和YO

SSD:(Single Shot MultiBox Detector)

這兩天把SSD論文讀了一下,SSD也是一個端到端的目標檢測模型,SSD在檢測的準確率和速度上相對於YOLO有了很大的提高,並且在檢測小目標上也有不俗的效果。 特點 1. 使用多尺度特徵圖進行預測     大多數目標檢測演算法都是使用最後一層特徵圖進行目標位置和類

深度學習系列之SSD(Single Shot MultiBox Detector) 個人總結

Introduction SSD模型在保證精度的前提下,速度還特別快,可以做到real time。其中原因在於ssd消除了object proposal這個環節。Faster R-CNN是先利用RPN產生object proposal,然後對proposa

SSD: Single Shot MultiBox Detector in TensorFlow(翻譯)

一、環境配置 基本環境:Windows 10 + GTX950M 1、安裝Anaconda3() 注意:必須下載Anaconda3,因為Anaconda3對應Python3.x,而Windows下Tensorflow只支援Pyt

基於 SSD: Single Shot MultiBox Detector 的人體上下半身檢測

基於 SSD 的人體上下半身檢測 這裡主要是通過將訓練資料轉換成 Pascal VOC 資料集格式來實現 SSD 檢測人體上下半身. 由於沒有對人體上下半身進行標註的資料集, 這裡利用 MPII Human Pose Dataset 來將 Pose 資料轉