SiamRPN++閱讀筆記

向AI轉(zhuǎn)型的程序員都關(guān)注了這個(gè)號(hào)??????
人工智能大數(shù)據(jù)與深度學(xué)習(xí) 公眾號(hào):datayx
論文地址:https://arxiv.org/pdf/1812.11703.pdf
代碼地址:https://github.com/STVIR/pysot
前言
在所有效果較好的算法中,網(wǎng)絡(luò)結(jié)構(gòu)基本是基于AlexNet和VGG,深度學(xué)習(xí)作為當(dāng)今潮流,人們喜歡將熱門(mén)網(wǎng)絡(luò)結(jié)構(gòu)與自己領(lǐng)域相結(jié)合,但是為什么在前幾年ResNet熱度高居不下的情況下,依然沒(méi)有人將ResNet應(yīng)用到目標(biāo)檢測(cè)中。這便是這篇論文解決的問(wèn)題,雖然在CIR算法中也提到這個(gè)問(wèn)題,但是Siamese-RPN++明顯各方面表現(xiàn)都要好一點(diǎn)。
在論文中提到,由于目標(biāo)可能出現(xiàn)在搜索區(qū)域的任何位置,因此目標(biāo)模板的學(xué)習(xí)特征表示應(yīng)保持空間不變,而ResNet網(wǎng)絡(luò)中都會(huì)有Padding操作,而這個(gè)操作會(huì)影響算法的平移不變性,使得網(wǎng)絡(luò)更加關(guān)注圖像中心。我們進(jìn)一步發(fā)現(xiàn),在現(xiàn)代深層體系結(jié)構(gòu)中,只有AlexNet的零填充變體滿足此空間不變性的限制。所以該論文的工作便是將ResNet運(yùn)用于Siamese-RPN,代替常規(guī)的AlexNet,并且性能提升。
論文行文思路如下:

圖1 解決問(wèn)題思路
總體設(shè)計(jì):
經(jīng)過(guò)詳細(xì)分析,論文中發(fā)現(xiàn)使用深層網(wǎng)絡(luò)防止連體跟蹤器的核心原因與這兩個(gè)方面有關(guān),一個(gè)原因是深層網(wǎng)絡(luò)中的填充將破壞嚴(yán)格的平移不變性,另一個(gè)是RPN需要不對(duì)稱(chēng)的特征來(lái)進(jìn)行分類(lèi)和回歸。
1)引入空間感知采樣策略來(lái)克服第一個(gè)問(wèn)題。
2)第二個(gè)問(wèn)題引導(dǎo)了Depthwise Cross Correlation模塊的產(chǎn)生,這樣第二個(gè)問(wèn)題可以迎刃而解。
在本文中一共有以下四個(gè)創(chuàng)新:
1)使用空間感知采樣策略處理數(shù)據(jù)。
2)將ResNet或MobileNet這樣的深層網(wǎng)絡(luò)引入孿生網(wǎng)絡(luò)。
3)逐層聚合,選擇了三個(gè)殘差塊的輸出到RPN中。
4)深度交叉相關(guān)(Depthwise Cross Correlation)。
基于這些創(chuàng)新點(diǎn),本論文提出的方法主要流程為,首先將目標(biāo)圖像和搜索圖像分別輸入孿生網(wǎng)絡(luò)的兩端,經(jīng)過(guò)50層的ResNet網(wǎng)絡(luò)分別對(duì)他們進(jìn)行特征提取,并且在conv3、conv4和conv5輸入到RPN網(wǎng)絡(luò)中,進(jìn)行目標(biāo)檢測(cè),然后三個(gè)結(jié)果進(jìn)行融合,輸出目標(biāo)被框出來(lái)的搜索圖像。論文中提出的框架圖如圖3所示,我們根據(jù)流程繪制的大致流程圖如圖2所示。

圖 2 SiamRPN++框架圖
詳細(xì)設(shè)計(jì):
1、空間感知采樣策略
經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,正樣本放在圖像中心會(huì)使網(wǎng)絡(luò)只對(duì)中心產(chǎn)生響應(yīng),不利于移動(dòng)目標(biāo)檢測(cè),因此,在訓(xùn)練過(guò)程中,不再把正樣本塊放在圖像正中心,而是按照均勻分布的采樣方式讓目標(biāo)在中心點(diǎn)附近進(jìn)行偏移。這樣就可以解決數(shù)據(jù)集的問(wèn)題,便可以使用深層網(wǎng)絡(luò)了。
文章中設(shè)計(jì)了一個(gè)模擬實(shí)驗(yàn)來(lái)驗(yàn)證resnet加入padding后帶來(lái)平移不變性被破壞的影響。
把正樣本均勻分布到某個(gè)范圍內(nèi),而不是一直在中心時(shí)(所謂的范圍即是指距離中心點(diǎn)一定距離,該距離為shift;正樣本在這個(gè)范圍內(nèi)是均勻分布的),隨著shift的不斷增大,這種現(xiàn)象能夠逐漸得到緩解。當(dāng)shift從0變化到64的時(shí)候,跟蹤算法在VOT16和VOT18數(shù)據(jù)集上面的效果都有了顯著的性能提升,當(dāng)shift超過(guò)64之后,提升的性能并不大,這可以從一方面說(shuō)明該操作可以在一定程度上緩解上述這個(gè)問(wèn)題。

圖3 平移效果圖
所以,通過(guò)均勻分布的采樣方式讓目標(biāo)在中心點(diǎn)附近進(jìn)行偏移,可以緩解網(wǎng)絡(luò)因?yàn)槠茐牧藝?yán)格平移不變性帶來(lái)的影響,即消除了位置偏見(jiàn),讓有padding的更深層網(wǎng)絡(luò)可以應(yīng)用于跟蹤算法中。
2、將ResNet或MobileNet這樣的深層網(wǎng)絡(luò)引入孿生網(wǎng)絡(luò)
本文實(shí)驗(yàn)使用ResNet-50,現(xiàn)代化網(wǎng)絡(luò)一般都是stride32,但跟蹤為了定位的準(zhǔn)確性,一般stride都比較小(Siamese系列一般都為8),所以我們把ResNet最后兩個(gè)block的stride去掉了,同時(shí)增加了膨脹卷積,一是為了增加感受野,二是為了能利用上預(yù)訓(xùn)練參數(shù)。
3、逐層聚合

圖4 RPN塊
分別將conv3、conv4和conv5層的特征圖輸入到RPN網(wǎng)絡(luò)中,然后利用圖5所示RPN塊對(duì)特征圖進(jìn)行目標(biāo)檢測(cè),對(duì)每一張圖片進(jìn)行分類(lèi)檢測(cè)和定位框位置。在深層網(wǎng)絡(luò)結(jié)構(gòu)中,早期圖層的特征主要集中在顏色,形狀等低級(jí)信息上,對(duì)于本地化至關(guān)重要,因此才使用將前面的卷積特征圖輸出。
使用三個(gè)RPN塊的好處主要有兩點(diǎn):
1)可以通過(guò)多個(gè)SiamRPN來(lái)選擇出多樣化的樣本或者具有判別性的樣本塊,第一個(gè)SiamRPN可以去除掉一些特別簡(jiǎn)單的樣本塊,而后面的網(wǎng)絡(luò)進(jìn)一步進(jìn)行濾除,最終剩余一些復(fù)雜的負(fù)樣本,這樣其實(shí)有利于提升網(wǎng)絡(luò)的判別能力。
2)由于使用了多級(jí)回歸操作,因此可以獲得一個(gè)更加準(zhǔn)確的BBox。

圖5 多層融合計(jì)算公式
其中所需要的超參數(shù)是預(yù)訓(xùn)練時(shí)學(xué)習(xí)到的。
4、深度交叉相關(guān)(Depthwise Cross Correlation)
具體結(jié)構(gòu)如圖4所示,和SiamRPN中的UpChannel一樣,在做correlation操作以前,模版和搜索分支會(huì)分別通過(guò)一個(gè)卷積層,但并不需要進(jìn)行維度提升,這里只是為了提供一個(gè)非孿生的特征。在這之后,通過(guò)類(lèi)似depthwise卷積的方法,逐通道計(jì)算correlation結(jié)果,這樣的好處是可以得到一個(gè)通道數(shù)非1的輸出,可以在后面添加一個(gè)普通的 1x1卷積就可以得到分類(lèi)和回歸的結(jié)果。整個(gè)過(guò)程類(lèi)似于構(gòu)造檢測(cè)網(wǎng)絡(luò)的頭網(wǎng)絡(luò)。
它的參數(shù)比SiamRPN中的UpChannel少10倍,然而性能卻沒(méi)有下降,因此SiamRPN++性能得到了巨大的提升。
這里的想法我覺(jué)得借鑒于MobileNet v1,模型壓縮的一種有效方法。

圖6 DW-Corr結(jié)構(gòu)
實(shí)驗(yàn)效果:

圖7 在VOT-2018上跟蹤器指標(biāo)

圖8 成功率圖

圖9 精確度圖
總結(jié)
從這篇論文之后,特征提取的主網(wǎng)絡(luò)使用ResNet-50這樣的復(fù)雜網(wǎng)絡(luò)代替之前的AlexNet應(yīng)該是主流了,同樣作者的空間采樣策略在訓(xùn)練時(shí)很有借鑒的意義,而后面參數(shù)量增加帶來(lái)的速率的問(wèn)題,通過(guò)模型壓縮進(jìn)行解決而本論文之采用了MobileNet v1的深度可分離卷積,現(xiàn)在MobileNet已經(jīng)出到了v3,后面可能會(huì)跟著對(duì)應(yīng)被更新替換。而三個(gè)通道出來(lái)的融合,更像一個(gè)不同卷積層不同感知特征的一個(gè)融合,是一個(gè)低層顏色形狀輪廓跟后期特征的一個(gè)共同作用。
機(jī)器學(xué)習(xí)算法AI大數(shù)據(jù)技術(shù)
搜索公眾號(hào)添加: datanlp
長(zhǎng)按圖片,識(shí)別二維碼
閱讀過(guò)本文的人還看了以下文章:
TensorFlow 2.0深度學(xué)習(xí)案例實(shí)戰(zhàn)
基于40萬(wàn)表格數(shù)據(jù)集TableBank,用MaskRCNN做表格檢測(cè)
《基于深度學(xué)習(xí)的自然語(yǔ)言處理》中/英PDF
Deep Learning 中文版初版-周志華團(tuán)隊(duì)
【全套視頻課】最全的目標(biāo)檢測(cè)算法系列講解,通俗易懂!
《美團(tuán)機(jī)器學(xué)習(xí)實(shí)踐》_美團(tuán)算法團(tuán)隊(duì).pdf
《深度學(xué)習(xí)入門(mén):基于Python的理論與實(shí)現(xiàn)》高清中文PDF+源碼
python就業(yè)班學(xué)習(xí)視頻,從入門(mén)到實(shí)戰(zhàn)項(xiàng)目
2019最新《PyTorch自然語(yǔ)言處理》英、中文版PDF+源碼
《21個(gè)項(xiàng)目玩轉(zhuǎn)深度學(xué)習(xí):基于TensorFlow的實(shí)踐詳解》完整版PDF+附書(shū)代碼
《深度學(xué)習(xí)之pytorch》pdf+附書(shū)源碼
PyTorch深度學(xué)習(xí)快速實(shí)戰(zhàn)入門(mén)《pytorch-handbook》
【下載】豆瓣評(píng)分8.1,《機(jī)器學(xué)習(xí)實(shí)戰(zhàn):基于Scikit-Learn和TensorFlow》
《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》PDF+完整源碼
汽車(chē)行業(yè)完整知識(shí)圖譜項(xiàng)目實(shí)戰(zhàn)視頻(全23課)
李沐大神開(kāi)源《動(dòng)手學(xué)深度學(xué)習(xí)》,加州伯克利深度學(xué)習(xí)(2019春)教材
筆記、代碼清晰易懂!李航《統(tǒng)計(jì)學(xué)習(xí)方法》最新資源全套!
《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》最新2018版中英PDF+源碼
將機(jī)器學(xué)習(xí)模型部署為REST API
FashionAI服裝屬性標(biāo)簽圖像識(shí)別Top1-5方案分享
重要開(kāi)源!CNN-RNN-CTC 實(shí)現(xiàn)手寫(xiě)漢字識(shí)別
同樣是機(jī)器學(xué)習(xí)算法工程師,你的面試為什么過(guò)不了?
前海征信大數(shù)據(jù)算法:風(fēng)險(xiǎn)概率預(yù)測(cè)
【Keras】完整實(shí)現(xiàn)‘交通標(biāo)志’分類(lèi)、‘票據(jù)’分類(lèi)兩個(gè)項(xiàng)目,讓你掌握深度學(xué)習(xí)圖像分類(lèi)
VGG16遷移學(xué)習(xí),實(shí)現(xiàn)醫(yī)學(xué)圖像識(shí)別分類(lèi)工程項(xiàng)目
特征工程(二) :文本數(shù)據(jù)的展開(kāi)、過(guò)濾和分塊
如何利用全新的決策樹(shù)集成級(jí)聯(lián)結(jié)構(gòu)gcForest做特征工程并打分?
Machine Learning Yearning 中文翻譯稿
全球AI挑戰(zhàn)-場(chǎng)景分類(lèi)的比賽源碼(多模型融合)
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
python+flask搭建CNN在線識(shí)別手寫(xiě)中文網(wǎng)站
中科院Kaggle全球文本匹配競(jìng)賽華人第1名團(tuán)隊(duì)-深度學(xué)習(xí)與特征工程
不斷更新資源
深度學(xué)習(xí)、機(jī)器學(xué)習(xí)、數(shù)據(jù)分析、python
搜索公眾號(hào)添加: datayx
