官术网_书友最值得收藏!

第1章 雙階段檢測

1.1.4 訓練數據準備

1.SVM分類器的數據準備

標簽:由于SVM只能做二分類,因此在N類分類任務中,R-CNN使用了N個SVM分類器。對于第K類物體,與該類物體的真值框的IoU大于0.3的視為正樣本,其余視為負樣本。R-CNN論文中指出,0.3是通過柵格搜索(grid search)得到的最優閾值。

特征:在決定使用哪一層的特征作為SVM的輸入時,R-CNN通過對比AlexNet網絡中的最后一個池化層Pool5以及兩個全連接層FC6和FC7的特征在PASCAL VOC 2007數據集上的表現,發現Pool5層得到的錯誤率更低,得出結論——Pool5更能表達輸入數據的特征。因此,SVM使用的是從Pool5層提取的特征,原因是全連接會破壞圖像的位置信息。

2.嶺回歸位置精校器的數據準備

特征:位置精校和分類的思路類似,不同之處是它們一個是分類任務,一個是回歸任務。同SVM一樣,嶺回歸位置精校器使用的也是從Pool5層提取的特征。候選區域選取的是和真值框的IoU大于0.6的樣本。

標簽:嶺回歸位置精校器使用的是相對位置,這有助于降低模型學習的難度,提升對不同尺寸的目標的檢測能力。在這里,G = {Gx, Gy, Gw, Gh}表示真值框的坐標和長寬,P = {Px, Py, Pw, Ph}表示候選區域的大小和長寬。相對位置的回歸目標為T = {tx, ty, tw, th},它的計算方式為:

(1.1)

3.任務訓練細節

CNN預訓練。出于當時硬件資源的限制,R-CNN并沒有選擇容量更大的VGG-16,而是選擇了速度更快的AlexNet。預訓練指的是在ILSVRC 2013上訓練分類網絡,微調訓練使用了小批次的SGD進行優化,批次大小是128,其中32個正樣本,96個負樣本。因為預訓練是分類任務,所以CNN使用的損失函數是交叉熵損失函數。

SVM分類器訓練。SVM的訓練使用了難負樣本挖掘(hard negative mining,HNM)。對于目標檢測我們會事先標記出真值框,然后在算法中生成一系列候選區域,這些候選區域有和標記的真值框重合的,也有沒重合的,那么IoU超過一定閾值(通常設置為0.5)的則認定為正樣本,閾值之下的則認定為負樣本。然后將這些樣本放入SVM分類器中訓練。然而,這也許會出現一個問題,那就是正樣本的數量遠遠小于負樣本,這樣訓練出來的分類器的效果總是有限的,會出現許多假陽性樣本。把其中得分較高的假陽性樣本當作所謂的難負樣本,既然挖掘出了這些難負樣本,就把它們放入SVM分類器中再訓練一次,從而加強分類器判別假陽性的能力。

嶺回歸位置精校器訓練。精校器的作用是找到一組映射,使候選區域的位置信息P通過某種映射,能夠轉化為G。這也可以理解為根據Pool5層的圖像特征,學習GP的相對位置關系(1.1.4節中的t),然后根據相對位置關系,將候選區域對應成檢測框,所以目標函數可以為:

(1.2)

其中,表示候選區域Pi對應的Pool5層特征向量,是可訓練的網絡參數,λ是正則化系數。

主站蜘蛛池模板: 长阳| 北碚区| 湟中县| 韩城市| 北辰区| 聊城市| 谢通门县| 屏东县| 印江| 中西区| 乌审旗| 宁河县| 辽宁省| 饶阳县| 铁岭市| 揭西县| 襄城县| 阿克苏市| 安平县| 华宁县| 华容县| 武平县| 营口市| 温宿县| 苍梧县| 塔河县| 高雄县| 武义县| 商洛市| 金坛市| 资兴市| 远安县| 馆陶县| 平塘县| 稷山县| 淮滨县| 晋中市| 广水市| 桑日县| 元朗区| 海林市|