??什么叫特征的尺度不變性:
即圖像的尺度發(fā)生變換后(縮放),仍能得到相同的特征信息。
??使用多尺度的bin的原因


SPP-Net的提出是基于對R-CNN中在提取特征時需要相同輸入尺度及多次進行卷積層處理的改進。
Step1:原始圖片預(yù)處理階段
對圖片,利用selective search的方法選出2000個候選區(qū)
Step2:利用模型對整幅圖像提取特征(與R-CNN對每個候選區(qū)單獨提取特征不同)
首先得到一個在其他數(shù)據(jù)集(如ImageNet數(shù)據(jù)集)上訓(xùn)練好的CNN模型,將其最后的softmax層換成自身任務(wù)所需的類別數(shù)(注意加上一個背景類)。將得到的候選區(qū)根據(jù)IoU(0.5)分類為背景類及所屬類別。將原始圖像resize使得min(w,h)屬于{480,576,688,864,1200}多個尺度,這樣便可得到經(jīng)過卷積層conv5后輸出不同尺度的feature map層,然后對每一個region proposal選擇一個尺度使得region的大小接近與224*224(????這樣在進行spp時仍對其在相同尺度下進行池化),并且設(shè)置SPP中bin大小分別為(1*1,2*2,3*3,6*6),對同一feature map提取出不同尺度的特征,再將其串接成一個特征向量(見上面的SPP網(wǎng)絡(luò))作為后續(xù)fc6全連接層的輸入,用以進行后續(xù)網(wǎng)絡(luò)的訓(xùn)練,對網(wǎng)絡(luò)進行精調(diào)時,調(diào)整的是全連接層(因為此時提取到的特征時直接從feature map上得來的多尺度特征,故利用反向傳播BP不太方便對前面卷積層的參數(shù)進行更新)。方法:采用250k個mini-batchs進行梯度計算,學習率固定為e-4,之后用50k個mini-batches,將學習率調(diào)整為e-5.
Step3:對分類器進行訓(xùn)練
對fc7全連接層得到的特征進行分類訓(xùn)練,此時對正負樣本的劃分與Step2中IoU(0.5)不同,此時選擇IoU(0.3)來劃分背景樣本及所屬類別樣本。
Step4:測試階段
對于一張待檢測圖片,首先利用selective search選出2000個候選區(qū)域,然后將整張圖片輸入SPP-NET網(wǎng)絡(luò),由conv5得到整張圖片的feature maps(這些特征不僅反映物體的某一部分的語義信息,同時也反應(yīng)了這些特征在圖像中的具體位置,如下圖),再利用spp結(jié)構(gòu)對每個候選區(qū)提取得到相同長度的特征向量,再進行分類,得出該候選區(qū)所屬類別。對于同一類別的候選區(qū)采用非極大值抑制的方法進行篩選,最后以實現(xiàn)目標檢測。

Ending:相比于R-CNN結(jié)構(gòu),SPP-NET主要

a:將簡單的pool5池化層替換成了多結(jié)構(gòu)層次的金字塔池化,以此可以實現(xiàn)對輸入圖片的尺寸沒有約束(因經(jīng)過SPP池化后均會產(chǎn)生相同尺度的特征向量),正是因其支持不同尺寸的圖像輸入,使得其提取到的圖像特征有更好的尺度不變性。同時,這也更符合人眼看世界的邏輯,在觀察一幅圖像時,并不會將目標resize到同一大小再進行識別。
b:因?qū)σ环鶊D像只需進行一次前向卷積操作,而不需對每個候選區(qū)region proposals均進行一次卷積操作,此方式提升了效率,快了進24-64倍。
********************************************************************************************************************************
spp中在池化時,對于不同大小的輸入需取不同的滑動窗口以實現(xiàn)輸出相同數(shù)目的bins,作者在訓(xùn)練后面的區(qū)連接層網(wǎng)絡(luò)時分別進行了單尺度和多尺度的訓(xùn)練,如下圖
??是對整張圖做spp操作還是對每個region做spp操作??
***********************************************************************************************************************************
*spp的結(jié)構(gòu)很靈活可以應(yīng)用到很多CNN網(wǎng)絡(luò)中已解決固定尺度輸入問題
不足:網(wǎng)絡(luò)中的卷積部分,全連接部分,分類器部分需單獨訓(xùn)練,不是end-to-end的結(jié)構(gòu),比較麻煩;且區(qū)域提取selective search是事先單獨進行的,不在整個網(wǎng)絡(luò)中。且準確率仍需進一步提高。
Adding:
多模型融合:
在文中,作者提到通過利用同樣的ImageNet數(shù)據(jù)集訓(xùn)練的到兩個不同的網(wǎng)絡(luò)結(jié)構(gòu),僅對兩個結(jié)構(gòu)選用不同的初始化方法,然后對于一幅圖像分別用這兩個網(wǎng)絡(luò)進行檢測,對這兩個網(wǎng)絡(luò)檢測出的region區(qū)域進行非極大值抑制,合并得到最終的檢測結(jié)果,得到了更高的檢測精度。(原因是兩個網(wǎng)絡(luò)結(jié)構(gòu)可以學習得到互補的卷積特征)。故有時為了提高檢測精度,可以使用多模型融合的方式。