天天看點

R-CNN論文翻譯Rich feature hierarchies for accurate object detection and semantic segmentationAbstract-摘要1 Introduction-簡介2 Object detection with C-RNN3 可視化、分化訓練和模型誤差4 The ILSVR2013 detection dataset5 Semantic segmentation-語義分割6 Conclusion

文章目錄

  • Abstract-摘要
  • 1 Introduction-簡介
  • 2 Object detection with C-RNN
    • 2.1 模型設計
      • 區域建議 region proposals
      • feature extraction-特征提取
    • 2.2 Test-time detection
    • 2.3 Training
    • 2.4 Results on PASCAL VOC 2012
  • 3 可視化、分化訓練和模型誤差
    • 3.1 可視化學習的特征
    • 3.2 Ablation studies 分化研究
    • 3.3 網絡架構
    • 3.4 誤差分析
    • 3.5 bounding-box regression
    • 3.6 定性結果
  • 4 The ILSVR2013 detection dataset
    • 4.1 Dataset overview
    • 4.2 Region proposals
    • 4.3 Training data
    • 4.4 Validation and evaluation
    • 4.5 Ablation study 分化研究-控制變量
    • 4.6 Relationship to overfeat
  • 5 Semantic segmentation-語義分割
  • 6 Conclusion

Abstract-摘要

物體檢測在2014年前的表現停止不前,當時最好的算法是融合低級圖檔特征和進階上下文的複雜系統,本文的R-CNN作為簡潔和易擴充的檢測算法,相比于之前最好的算法mAP提升了30%,達到了53.3%。論文有兩條核心觀點:

1.為了定位和分割物體,将高能力的卷積網絡應用到自下而上的區域建議中;

2.當訓練資料較少,使用監督學習的預訓練模型作為輔助工作+特定領域的微調模型,可以很大程度提升模型表現。

研究融合了region proposals和CNNs,因而命名為R-CNN。

1 Introduction-簡介

主要講述了物體檢測在當時研究進展很小,以及CNN的相關發展,由于文章引用的之前的論文我沒有讀,是以不贅述了。這個研究表明CNN模型相比于之前的算法模型對于物體檢測表現更為出色。研究聚焦兩個問題:一是通過深層網絡定位物體(object detection);二是通過少部分資料訓練一個高能力的模型。

在以往的物體檢測研究,有将其視為回歸問題,有時建立滑動視窗檢測器(sliding-window detector)。之前的滑動視窗應用為了保持高分辨率,通常隻有兩層卷積加池化層。而本研究的卷積網絡有五層卷積。

為了解決上述挑戰。研究在定位物體的輸入做了改變,采用了區域識别‘recognition using region’。該研究将輸入圖檔生成了大約2000個獨立于類别的建議區域(将建議區域通過一種較為簡單的方法wrap為相同大小,這種轉換導緻某些圖檔變化較大,也為後續研究提供了優化空間),然後從建議區域提取了特定長度的特征向量,接着應用線性SVM分類。這種算法相比于當時最好的算法Overfeat提升很大(24.3% to 31.4%)。

第二個挑戰是标記資料較少。該研究解決的方法是使用監督的預訓練(supervised pre-training。原文為unsupervised,結合後面應該是監督的預訓練)+監督的微調(supervised fine tuning)。該研究中,fine tuning提升了mAP8%。相比于之前high-tuned的HOG模型提升了很大(33% to 54%)。同時研究鼓勵讀者探索将Krizhevsky的CNN模型作為特征提取器應用到各種識别任務(scene classification, fine-grained, sub-categorization, domain adaptation).

該研究在相比之前的研究是高效的,隻在分類計算中有小型矩陣的運算和貪心的非極大值抑制計算(greedy non-maximum suppression)。由于所有分類的特征計算是共享的,是以這個計算部分相比于之前的區域特征計算少了兩個數量級。

語義分割。由于R-CNN模型對于區域的操作,該研究将其擴充到語義分割領域,通過小的調整,在PASCAL VOC資料集具有競争力的表現(47.9%)。

R-CNN論文翻譯Rich feature hierarchies for accurate object detection and semantic segmentationAbstract-摘要1 Introduction-簡介2 Object detection with C-RNN3 可視化、分化訓練和模型誤差4 The ILSVR2013 detection dataset5 Semantic segmentation-語義分割6 Conclusion

2 Object detection with C-RNN

物體檢測系統包含三個子產品。第一個子產品生成獨立于分類的建議區域;第二個子產品從每個區域計算得到特定長度的特征向量;第三個子產品是一組基于分類的線性的SVM分類器。

2.1 模型設計

區域建議 region proposals

R-CNN論文翻譯Rich feature hierarchies for accurate object detection and semantic segmentationAbstract-摘要1 Introduction-簡介2 Object detection with C-RNN3 可視化、分化訓練和模型誤差4 The ILSVR2013 detection dataset5 Semantic segmentation-語義分割6 Conclusion

feature extraction-特征提取

通過Krizhevsky的CNN模型前向傳播計算擷取4096個特征值組成的向量,CNN的輸入是一個227x227的圖檔。該研究選擇的最簡單的圖檔轉化方法,不考慮圖檔大小和橫縱比将提取的區域轉為227x227分辨率。在wrap前,展開了緊的bouding box,使得剪切的尺寸中有16個像素臨近原始的box。關于這個細節我翻譯不好,因為還不了解這個方法,這裡我把原文貼上來。(Prior to warping, we dilate the tight bounding box so that at the warped size there are exactly p pixels of warped image context around the original box (we use p = 16).)

2.2 Test-time detection

通過選擇搜尋擷取2000個建議區域,wrap每個建議區域,然後通過CNN前向傳播計算特征,通過SVM基于每個分類為特征值打分,擷取了所有區域的分值,應用基于類别獨立的貪心的非極大值抑制,如果一個區域與一個分數更高的區域iou(intersection-over-union)重疊部分超過一個門檻值(threshold)。

Run-time analysis。檢測是高效的,一是由于不同類别的CNN參數共享,二是CNN計算的特征向量是低維的,相比于其他算法,如spatial pyamid。特征矩陣2000x4096,SVM權重矩陣是4094xN。

這意味着R-CNN能夠區分上千個物體類别而不需要調整其他合适的方法,即使10萬個類别,結果矩陣也可以通過一個多核的CPU10秒計算完成。同時,模型系數的存儲也隻需要1.5G,相比于UVA系統134G提升很大。

2.3 Training

supervised pre-training。應用輔助資料集(ILSVRC2012)進行分類預訓練(未使用bounding box)。訓練結果檢驗與Krizhevsky的相似。由于訓練過程簡化,錯誤率略高于ILSVRC2012驗證集的結果。

Domain-specific fine-tuning。為了是CNN适應轉化過的建議視窗(wraped

proposal windows),使用轉化過的視窗作為訓練資料做fine-tuning,采用SGD(learning rate=0.001)做梯度更新,将CNN的1000個類别轉化為N+1(1為背景)。将真值box作為positive,與真值box iou>=0.5和其他情況視為negative。在每個batch中,使用32個positive windows和96個background windows 組成一個大小為128的batch。

object category classfifiers。考慮一個多個分類器檢測汽車,區域包含汽車明顯是positive;如果是background region明顯是negative樣本。當一個區域部分包含一個汽車,應該如何判别呢?經過分析表明overlap 門檻值應該為0.3,則視為positive,在門檻值為0.5時發現,mAP降低了5個百分點。

特征提取後,采用線性SVM分類器。由于訓練資料很大無法存到記憶體,采用标準的hard negative mining方法,該方法會在跑完所有圖檔後迅速收斂。文章在附錄讨論了positive和negative樣本的定義為何不同以及采用SVM而不是直接fine-tuningCNN通過softmax擷取分類結果。

2.4 Results on PASCAL VOC 2012

關于R-CNN在PASCAL VOC 2012和ILSVRC2013資料集上與其他模型比較的結果如下圖

R-CNN論文翻譯Rich feature hierarchies for accurate object detection and semantic segmentationAbstract-摘要1 Introduction-簡介2 Object detection with C-RNN3 可視化、分化訓練和模型誤差4 The ILSVR2013 detection dataset5 Semantic segmentation-語義分割6 Conclusion

3 可視化、分化訓練和模型誤差

3.1 可視化學習的特征

CNN第一層過濾器可以直接可視化并且易于了解,他們捕捉定向邊緣和視覺顔色。Zeiler和Fergus呈現了一種反卷積的方法。本研究采用了一種簡單的非參數方法直接的表明網絡如何工作的。

R-CNN論文翻譯Rich feature hierarchies for accurate object detection and semantic segmentationAbstract-摘要1 Introduction-簡介2 Object detection with C-RNN3 可視化、分化訓練和模型誤差4 The ILSVR2013 detection dataset5 Semantic segmentation-語義分割6 Conclusion

方法是把一個單元作為物體檢測器來輸出特征,輸入大量建議區域來計算激活值,将激活值按高到低排列,執行非極大值抑制,顯示排在頂端的區域。讓被選擇的單元‘speak for itself’(為自己代言)通過看它激活了哪個輸入。為了了解不同的視覺模式,研究避免了平均計算。

研究激活了第5層的pool,特征圖為6x6x256維的向量,忽略邊界,輸入227x227,每個單元有一個195x195的接受域。通過下圖6個單元的pool5 unit可以看出,每個單元捕捉的特征不同,有人物、點陣、文本、房子、鏡面等,這些特征通過全連接配接層組合在一起。靠近中間的單元有幾乎全局的視野,靠近邊緣的單元有一個小的被剪切的視野。

3.2 Ablation studies 分化研究

本段探讨了CNN哪一層更适合做特征提取,基于資料集VOC2007。研究的變量包含是否fine tuning和層數pool5、fc6和fc7。具體結果如下表所示。

可以看出,fine-tuning對于fc6和fc7層提升大于pool5,說明pool5提取的特征是極限的,後續更多的提升來自于特定資料集的非線性分類器。研究也比較了其他的特征提取方法,如表所示。可以看出在多個種類表現均優于其他算法。

R-CNN論文翻譯Rich feature hierarchies for accurate object detection and semantic segmentationAbstract-摘要1 Introduction-簡介2 Object detection with C-RNN3 可視化、分化訓練和模型誤差4 The ILSVR2013 detection dataset5 Semantic segmentation-語義分割6 Conclusion

3.3 網絡架構

本文的研究都是基于Krizhevsky的CNN網絡架構(T-net),研究嘗試了vgg16,後者具有均勻的結構由13層3x3的卷積網絡和3層全連接配接層構成(O-net)。并且也将vgg16使用相同的資料集fine-tuning,結果表明O-net的mAP從58.5%提升到66%,但運作時間相比于T-net長了7倍。

R-CNN論文翻譯Rich feature hierarchies for accurate object detection and semantic segmentationAbstract-摘要1 Introduction-簡介2 Object detection with C-RNN3 可視化、分化訓練和模型誤差4 The ILSVR2013 detection dataset5 Semantic segmentation-語義分割6 Conclusion

3.4 誤差分析

為了解釋模型的錯誤模式、了解fine-tuning如何影響結果以及将錯誤類型與DPM模型作比較,雖然這已經超出了本文的範圍,有一些讨論如下:與DPM模型相比,R_CNN誤差更多來自定位不準,而不是背景與物品類别混淆;fine-tuning并不會減低模型對物體檢測的靈敏度(sensitivity to object characteristics),但大大提升了預測normalized AP的最大值和最小值,fine-tuning幾乎提高了所有特征的魯棒性。

R-CNN論文翻譯Rich feature hierarchies for accurate object detection and semantic segmentationAbstract-摘要1 Introduction-簡介2 Object detection with C-RNN3 可視化、分化訓練和模型誤差4 The ILSVR2013 detection dataset5 Semantic segmentation-語義分割6 Conclusion

3.5 bounding-box regression

通過誤差分析,研究實作了減少定位誤差的簡單方法,受DPM模型中的bounding-box regression啟發,研究訓練了一個線性回歸模型來預測一個新的檢測視窗,為pool5特征計算提供一個可選擇的搜尋區域。具體方法在附錄中。研究表明,該方法提升了mAP3到4個百分點。

R-CNN論文翻譯Rich feature hierarchies for accurate object detection and semantic segmentationAbstract-摘要1 Introduction-簡介2 Object detection with C-RNN3 可視化、分化訓練和模型誤差4 The ILSVR2013 detection dataset5 Semantic segmentation-語義分割6 Conclusion

3.6 定性結果

所有檢測的準确率超過0.5

4 The ILSVR2013 detection dataset

4.1 Dataset overview

ILSVR2013資料集該如何運用,該資料集分為train(395918)、val(20121)、test(40152)。val和test與PASCAL VOC來自相同的圖檔分布,複雜性相似。val和test資料集也都做了注釋(每個圖檔的200個類别都使用bounding-box做了标記)。train資料集更為複雜,并沒有完全注釋(數量太大)。這些資料集中,每一個類别都有一個格外的negative資料集,negative資料集是通過手工檢查來保證他們不含相關聯的圖檔。更多資訊可以檢視論文的注釋。

資料集的這些特性代表着很多訓練模型的機會,train不能用作hard negative mining,因為注釋并不完全。基于大體的經驗,我們的政策是嚴重依賴val資料集,使用train作為輔助的積極樣本。為了在training和validation使用val,将val分為val1和val2,由于有些類别執行個體很少(最小的類别僅有31張圖檔),我們需要産生類比較平衡的分割。為了達到這樣的目的,生成大量候補分割,并選擇使最大相對類不平衡最小的分割,每個候補分割通過以VAL圖像的類計數作為特征進行聚類生成的,然後進行随機局部搜尋,來提高分割平衡。分割中有大約11%的最大相對不平衡和4%的中間相對不平衡。

4.2 Region proposals

采用與PASCAL資料集相同區域方法,為了解決選擇區域并不是尺度不變的,做了一個微小的改變,在運作選擇搜尋前将圖檔resize為寬度500pixels。選擇搜尋的每張圖檔生成2403個區域建議以及91.6%的召回率,而PASCAL的召回率為98%,說明在區域建議階段還有提升空間。

4.3 Training data

訓練資料形成了一個圖檔和boxes的集合(包含選擇搜尋和真值),集合來自val1和train(每類至多N個真值boxes的類别),我們稱為val1和trainN。訓練後,在資料集val2檢測mAP。

訓練資料三個步驟:CNN fine-tuning,50k個iteration val1和trainN;SVM檢測器訓練,所有的真值boxes來自val1和trainN,被用作各自類别的積極例子,hard negative mining運作val1上的随機選擇的5000張圖檔,研究表明hard negative mining運作整個val資料集相比于5000張圖檔,mAP僅僅下降了0.5,但是運作時間卻削減了SVM一半的訓練時間;bounding-box 在val1回歸器訓練。來自train的negative資料集沒有使用,因為注釋不完全。

4.4 Validation and evaluation

我們使用上面描述的訓練資料驗證了資料使用的不同選擇以及fine-tuning和邊界框回歸對val2集的影響。所有的系統超參數如SVM C、填充、NMS門檻值、bounding-box等與PASCAL資料集相同,顯然一些超參數對于ILSVRC資料集來說是次優的。這項研究的目的也是在不進行大量調整的情況下,測試在ILSVRC上的CNN運作結果。我們送出了兩個子任務,第一個子任務沒有bounding-box回歸,第二次送出的有bounding-box回歸。對于這些送出,我們擴充了SVM和bounding-box回歸器訓練集,重新審視地使用val+train1k和val。我們使用了在val1+train1k上微調的cnn,以避免重新運作微調和特性計算。

4.5 Ablation study 分化研究-控制變量

下表表示采用不同資料的訓練資料、fine-tuning、和bounding-box回歸對結果的影響。val2的驗證結果和test資料集的結果相似,說明val2是預測測試集性能的良好名額。沒有經過fine-tuning的CNN,通路了部分val1的資料結果為20.9%,将訓練集擴充到val1+trainN發現達到24.1%(N等于500和1000差別不大)。使用val1對CNNfine-tuning,達到26.5%,可能存在過拟合。将fine-tuning擴充到val1+train1k(每個類别增加了1000個positive樣本),提升到29.7%。bounding-box回歸提升到31%,相比于PASCAL資料集有小小的提升。

R-CNN論文翻譯Rich feature hierarchies for accurate object detection and semantic segmentationAbstract-摘要1 Introduction-簡介2 Object detection with C-RNN3 可視化、分化訓練和模型誤差4 The ILSVR2013 detection dataset5 Semantic segmentation-語義分割6 Conclusion

4.6 Relationship to overfeat

R-CNN和OverFeat有着有趣的關系,OverFeat能被視為特殊情況下的R-CNN。我們将選擇搜尋區域建議替換為多尺度的規則正方形金字塔,并且改變每一類别bounding-box回歸為單一bounding-box,兩個系統就會十分相似。與R-CNN相比,OverFeat比R-CNN快了大約9倍。這是因為OverFeat的視窗沒有被轉化,因為很容易在重疊視窗共享計算,共享是以卷積方式運作整個網絡來實作的。未來加速R-CNN的工作可以通過多種方式實作。

5 Semantic segmentation-語義分割

區域分類對于語義分割來說是一項标準的技術,能讓我們應用R-CNN到PASCAL資料集上,為了與目前領先的語義分割系統O2P作比較。論文介紹了語義分割的相關算法,這裡不贅述,因為沒讀過…

CNN feature for segmentation。研究評估了三種計算CPMC區域特征的政策。,三種政策都開始于将區域周圍的矩形視窗wrap為227x227。第一個政策(fu)忽略區域的形狀直接計算CNN的特征,就像我們在物體檢測所做的一樣,然而,這些特征忽略區域的費矩形形狀。兩個區域可能有相似的bounding-boxes,但幾乎沒有重疊,是以,第二政策(fg)隻計算顯著的mask,将背景替換為平均輸入,是以背景區域轉化後是零。第三種政策(fu+fg)簡單連接配接了第一和第二種政策,我們的實驗驗證的他們的完整性。

下表表明了上述四種算法的平均準确率,在每一個算法中,fc6都略優于fc7,fg算法略優于fu算法,表明masked區域提供了更強的信号。fu和fg連接配接的算法準确率為47.9%,高于O2P算法的46.4%,這表明在給定fg特征下,fu依然提供了很高的資訊量。值得一提的是,在一個核心上訓練20SVRs的fu+fg特征花費一個小時,而O2P特征訓練花費10個小時。

R-CNN論文翻譯Rich feature hierarchies for accurate object detection and semantic segmentationAbstract-摘要1 Introduction-簡介2 Object detection with C-RNN3 可視化、分化訓練和模型誤差4 The ILSVR2013 detection dataset5 Semantic segmentation-語義分割6 Conclusion

在下表中展現了VOC 2011測試集的結果,fc6(fu+fg)與兩個baseline(R&P和O2P)相比,實作了11個類别的最高分割精度,跨類别平均為47.9%。通過fine-tuning還可能擷取更好的性能。

R-CNN論文翻譯Rich feature hierarchies for accurate object detection and semantic segmentationAbstract-摘要1 Introduction-簡介2 Object detection with C-RNN3 可視化、分化訓練和模型誤差4 The ILSVR2013 detection dataset5 Semantic segmentation-語義分割6 Conclusion

6 Conclusion

近年來,目标檢測算法停滞不前。性能最好的系統是将多個低級圖像特征與來自對象檢測器和場景分類的進階上下文結合在一起的複雜集合。本文提出了一種簡單可擴充的對象檢測算法,相比PASCAL資料集的最佳結果有30%的相對提升。

通過兩點來達到上述結果。一是将高能力的卷積網絡應用到自下而上的區域建議來定位和分割物體;二是一種在訓練資料稀缺時訓練大型CNN的模式。研究表明監督學習的預訓練十分有效,通過輔助任務訓練一個資料豐富的資料集,然後對資料稀缺的目标任務進行fine-tuning。文章推測,監督的預訓練+特定領域的fine-tuning模式對于資料稀缺的視覺問題十分有效。

總結,研究通過組合計算機視覺和深度學習(自下而上的區域建議和卷積網絡)來完成了以上結果,這兩者不是對立的科學路線,兩者是不可或缺的合作夥伴。

算是第一篇文章翻譯下來,發現更重要的操作細節都在附錄中,後面補上。

後面将有FastR-CNN FasterR-CNN MaskR-CNN。

繼續閱讀