1. Introduction
1.1. Related work
第一篇使用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。
請注意,現有文獻中沒有一個依賴於類似原始LeNet的“straight forward”的卷積網絡。在本文中我們將重新審視這一點。
Object detection:
Detection proposal:
和有效的方法。對於行人檢測,DBN-Isol和DBN-Mut使用DPM [15]作爲提案方法。 JointDeep,MultiSDP和SDN使用HOG + CSS +線性SVM檢測器(類似[43])的提案方法。只有ConvNet [37]以滑動的方式應用convnet。
Decision forests:
使用HOG + LUV。在Caltech benchmark中,最佳convnet(SDN)的表現優於上述所有方法。
Input to convnets:
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
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幀。
3. From decision forests to neural networks
SquaresChnFtrs [4,5]是一個決策樹,其中每個樹節點從幾個特徵通道中的一個池化和閾值信息。如第1.1節所述,通常的做法是在hand-crafted特徵上學習行人檢測convnet,因此特徵通道不一定是轉換的一部分。在這種情況下,可以使用(i)具有與原始池化區域相對應的具有恆定非零權重的完全連接層和其他地方的零權重來實現決策節點,(ii)應用於閾值的偏差項,(iii)和一個sigmoid非線性函數產生一個決策。一個雙層網絡足以模擬一個層次結構,給出了三個模擬節點輸出的決策樹。最後,樹決策的加權和可以用另一個完全連接層來建模。
從SquaresChnFtrs到深層神經網絡的映射是明確的:評估相同的輸入,將返回完全相同的輸出。結果網絡的特殊處是沒有通過反向傳播訓練,但是通過Adaboost [6]。該網絡在Caltech上已經比最知名的convnet(SDN)表現更好。不幸的是,軟化非線性和使用反向傳播來微調模型參數的實驗沒有顯示出顯着的改進。
4. Vanilla convolutional networks
在本節中,我們首先考慮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輸入。
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註釋作爲正例是有益的(即不應用顯着的抖動)。
在補充材料中,我們詳細介紹了所有其他訓練參數。