Taking a Deeper Look at Pedestrians

1. Introduction

      近年來,計算機視覺領域涉及卷積神經網絡(convnets)的成功案例爆炸式增長。這種架構目前提供了通用物體分類[25,36],通用物體檢測[40],特徵匹配[16],立體匹配[45],場景識別[48,8],姿態估計[41,7] ,行爲識別[23,38]和許多其他任務[35,3]的最好結果。行人檢測是汽車安全,視頻監控和機器人等相關應用中物體檢測的典型案例。已經爲這個問題探索了一系列不同的想法[13,18,22,5],並建立了benchmark數據集[12,17]。我們想知道是否可以將convnets成功遷移到行人檢測任務。
        以前用於行人檢測的神經網絡的工作依賴於special-purpose design(不懂),例如,hand-crafted feature,part and occlusion 建模。雖然這些提出的方法執行得很好,但目前的最好方法都是基於通過Adaboost學習的決策樹[5,47,34,28,44]。在本文中,我們重新審視了這個問題,並表明小型和大型vanilla convnets可以在具有挑戰性的Caltech行人數據集上達到最好表現。我們還提供了關於訓練細節,網絡參數和不同的提案方法等的廣泛實驗。

1.1. Related work

       儘管行人檢測任務非常熱門,只有少數工作已經應用深層神經網絡來實現這一任務:我們只知道6個。
       第一篇使用convnets用於行人檢測的文章[37]重點介紹如何處理有限的訓練數據(他們使用INRIA數據集,其中提供614個正面圖像和1218個負面圖像進行訓練)。首先,使用卷積稀疏編碼的形式對每個層進行初始化,隨後對整個網絡進行微調,用於檢測任務。他們提出了一種使用最後一層和倒數第二層的特徵進行檢測的體系結構。該方法名爲ConvNet [37]。
       另一個工作線將可形變部件模型(DPM)[15]與訓練用於解決部件和遮擋建模(DBN-Isol)的 層疊限制玻爾茲曼機(RBM)[30]。這個模型被擴展到考慮到person-to-person relations(DBN-Mut)[32],最後共同優化所有這些方面:JointDeep [31]共同優化特徵,部件形變,遮擋和person-to-person relations
        MultiSDP [46]網絡爲每個層提供 在候選行人檢測 周圍 以不同尺度計算的上下文特徵。最後,SDN [27],目前最好的convnets行人檢測器,使用額外的“switchable layers”(RBM變體)自動學習低級特徵和高級部件(如“頭”,“腿”等)。
        請注意,現有文獻中沒有一個依賴於類似原始LeNet的“straight forward”的卷積網絡。在本文中我們將重新審視這一點。

 Object detection:

       除了行人檢測之外,相關的convents已被用於ImageNet檢測 [36,25,20,40,29,39]和Pascal VOC分類[19,2]。最成功的通用對象檢測器是基於R-CNN框架的變體[19]。給定輸入圖像,創建一組已經減少的檢測提案,然後通過一個convnet來評估它們。這實質上是一個two-stage cascade滑動窗口方法。見[21]回顧一下最近的提案方法。

Detection proposal:

       通用對象檢測最流行的提案方法是Selective Search [42]。最近的review[21]也指出EdgeBoxes [49]作爲一個快速
和有效的方法。對於行人檢測,DBN-Isol和DBN-Mut使用DPM [15]作爲提案方法。 JointDeep,MultiSDP和SDN使用HOG + CSS +線性SVM檢測器(類似[43])的提案方法。只有ConvNet [37]以滑動的方式應用convnet。

Decision forests:

     大多數提出的行人檢測方法都不使用convnets檢測方法。除了使用光流的方法,當前最好表現的方法(在Caltech和KITTI數據集)是SquaresChnFtrs [5],InformedHaar [47],SpatialPooling [34],LDCF [28]和Regionlets [44]。所有這些都是boosted decision forests,並且可以被認爲是integral channels features架構的變體[11]。 Regionlets和SpatialPooling使用大的特徵集合,包括HOG,LBP和CSS,而SquaresChnFtrs,InformedHaar和LDCF
使用HOG + LUV。在Caltech benchmark中,最佳convnet(SDN)的表現優於上述所有方法。

Input to convnets:

          重要的是要強調ConvNet [37]從YUV輸入像素進行預測,而所有其他方法使用額外的hand-crafted feature。
DBN-Isol和DBN-Mut使用HOG特徵作爲輸入。 MultiSDP使用HOG + CSS特徵作爲輸入。 JointDeep和SDN使用YUV +Gradients作爲輸入(和用於檢測提案的HOG + CSS)。我們將在實驗中顯示,僅僅使用RGB可以實現良好的性能,但是我們還表明,更復雜的輸入,系統地提高了檢測質量。我們的數據表明,“hand-crafted feature與convnets”的對抗是一種錯覺。

1.2 Contributions

      在本文中,我們提出 通過carefully exploring the design space(層數,濾波器尺寸等)和critical implementation choices(訓練數據預處理,檢測提案的影響)來重新審視卷積神經網絡的行人檢測。我們顯示,從頭開始訓練的(即使使用與以前的方法相同的數據)小的(10的5次方個參數)和大(6·10的7次方個參數)的網絡可以達到良好的性能。我們還展示了 使用擴展和外部數據的優點,這導致了在Caltech上最強的單幀檢測器。我們提出 在具有挑戰性的Caltech數據集上的最佳知名錶現(提高10%以上),第一個在KITTI數據集上convnet的結果。

2.Training data

       衆所周知,對於convnet,訓練數據的數量對於達到良好的性能是非常重要的。以下是我們在本文中考慮的數據集。
Caltech: Caltech數據集及其相關基準[12,5]是最受歡迎的行人檢測數據集之一。它包括在良好天氣條件下穿越美國街道的汽車拍攝的視頻。 “Reasonable”設置的標準訓練集包括4 250幀,〜2×10的3次方個註釋的行人,測試數據集覆蓋4 024幀,〜10的3次方的行人。
Caltech validation set:在我們的實驗中,我們還使用Caltech訓練數據進行驗證。對於這些實驗,我們使用建議的驗證劃分[12]:前五個訓練視頻用於驗證訓練,第六個訓練視頻用於驗證測試。
Caltech10x:由於Caltech數據集視頻已經完全註釋,可以通過對視頻進行重新抽樣來增加訓練數據的數量。受[28]的啓發,我們通過對三個幀中的一個進行採樣(而不是標準設置中三十幀中的一個)來增加十倍的訓練數據。這產生了〜2×10的4次方個註釋行人進行訓練,從42 782個幀中提取。
KITTI: KITTI數據集[17]由穿越德國街道的汽車捕獲的視頻,也是在良好天氣條件下。雖然與Caltech的外觀相似,但已經表明具有不同的統計情況(見[5,補充材料1])。其訓練集包含4 445名行人(4 024個大於40個像素),超過7 481幀,其測試集爲7 518幀。 
ImageNet,Place:在第5節中,我們將考慮使用  用於代替任務預訓練的大型convnet。我們考慮兩個這樣的任務(及其相關的數據集),一千個對象類別的ImageNet 2012的分類任務[25,36,19]和205個場景類別的分類任務[48]。數據集分別提供1.2×10的6次方和2.5×10的6次方個註釋的圖像進行訓練。

3. From decision forests to neural networks

       在進行實驗之前,值得注意的是,我們使用的提案方法可以轉換成一個convnet,使得整個系統可以被看作是兩個神經網絡的級聯。
       SquaresChnFtrs [4,5]是一個決策樹,其中每個樹節點從幾個特徵通道中的一個池化和閾值信息。如第1.1節所述,通常的做法是在hand-crafted特徵上學習行人檢測convnet,因此特徵通道不一定是轉換的一部分。在這種情況下,可以使用(i)具有與原始池化區域相對應的具有恆定非零權重的完全連接層和其他地方的零權重來實現決策節點,(ii)應用於閾值的偏差項,(iii)和一個sigmoid非線性函數產生一個決策。一個雙層網絡足以模擬一個層次結構,給出了三個模擬節點輸出的決策樹。最後,樹決策的加權和可以用另一個完全連接層來建模。
        從SquaresChnFtrs到深層神經網絡的映射是明確的:評估相同的輸入,將返回完全相同的輸出。結果網絡的特殊處是沒有通過反向傳播訓練,但是通過Adaboost [6]。該網絡在Caltech上已經比最知名的convnet(SDN)表現更好。不幸的是,軟化非線性和使用反向傳播來微調模型參數的實驗沒有顯示出顯着的改進。

4. Vanilla convolutional networks

       在我們的經驗中,許多convnet架構和訓練超參數並不能爲多樣化和具有挑戰性的任務提供有效的學習。因此,從已知能夠正常工作並逐漸適應當前任務的架構和參數開始探索,被認爲是最佳實踐。這是以下幾節的策略。
       在本節中,我們首先考慮CifarNet,一個小型網絡,旨在解決CIFAR-10分類問題(10個對象類別,(5 + 1)·10的5次方個32×32像素的彩色圖像)[24]。在第5節中,我們考慮了AlexNet,該網絡具有比CifarNet多600倍的參數,旨在解決ILSVRC2012分類問題(1 000個對象類別,(1.2 + 0.15)·10的6次方個彩色圖像〜VGA分辨率)。這兩個網絡都是在[25]中介紹的,並在開源Caffe項目中重新實現[22]。
      雖然行人檢測與CIFAR-10相比是一個非常不同的任務,但是我們決定從CifarNet開始我們的探索,CifarNet在CIFAR-10上提供公平的性能。其結構如圖2所示,除非另有說明,我們使用原始RGB輸入。

       我們首先討論如何使用CifarNet網絡(4.1節)。這種樸素的方法已經超過了最着名的convnet(4.2節)。第4.3節和第4.4節探討了CifarNet周圍的設計空間,進一步推動了檢測質量。本節中的所有模型僅使用Caltech數據進行訓練見第2節)。

4.1. How to use CifarNet?

         給定初始網絡結構,仍然有幾個影響最終檢測質量的設計選擇。我們在以下段落中討論一些。
Detection proposal:除非另有說明,否則我們使用SquaresChnFtrs [4,5]檢測器來生成提案,因爲在寫代碼時,它是具有可用開源代碼的性能最好的行人檢測器(在Caltech)。在圖3中,我們將SquaresChnFtrs與EdgeBoxes [49]進行比較,這是一種最新的類無關的提案方法。使用類特定的提案可以減少三個數量級的提案數量。
Thresholds for positive and negative samples:給定訓練提案和ground truth(GT)註釋,我們現在考慮爲每個提案分配哪個訓練標籤。如果與至少一個GT註釋的IoU超過了閾值,則該提案被認爲是一個正例。如果對於任何GT註釋不超過第二個IoU閾值,則被認爲是負例,否則被忽略。我們發現使用GT註釋作爲正例是有益的(即不應用顯着的抖動)。
Model window size:行人檢測器的通常選擇是128×64像素的模型窗口,其中行人佔用區域爲96×48 [9,11,4,5]。目前尚不清楚這是convnet的理想輸入大小。儘管CifarNet被設計爲運行在32×32像素以上,表2顯示,128×64像素的模型大小確實最有效。我們嘗試了其他變體(拉伸與裁剪,更大的上下文邊界),沒有明顯的改善。
Training batch:在檢測設置中,訓練樣本通常對背景類別非常不平衡。雖然在我們的驗證設置中,不平衡是有限的(見表3),但是我們發現在我們的實驗中對每批隨機梯度下降優化執行一個嚴格的正負之間的比例是有益的。只要保持一些比率(vs.無),最終性能對該參數不敏感。我們使用1:5的比例。
        在補充材料中,我們詳細介紹了所有其他訓練參數。

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