論文地址:https://arxiv.org/abs/1812.03982
代碼地址:https://github.com/facebookresearch/SlowFast
該篇文章有Facebook提出,作者之一為何凱明,文章發(fā)表在ICCV2019,文章可以看出是一個(gè)特殊的雙流法網(wǎng)絡(luò),不同于以前的雙流法使用圖像模態(tài)和光流模態(tài)(或者其他能代替光流的模態(tài))作為輸入,slowfast網(wǎng)絡(luò)只使用圖像模態(tài)作為輸入。文章啟發(fā)于生物學(xué)中的視覺(jué)系統(tǒng)。研究表明視網(wǎng)膜神經(jīng)節(jié)細(xì)胞中有約80%的P-cells(Parvocellular)和有約20%的M-cells(Magnocellular),其中M細(xì)胞處理高時(shí)序頻率的信息,P細(xì)胞處理空間結(jié)構(gòu)和顏色信息處理的是低頻信息。
一、網(wǎng)絡(luò)結(jié)構(gòu)
同命名可以看出網(wǎng)絡(luò)有兩路,一路是slowpath,一路是fastpath。其中slowpath模擬的是P細(xì)胞,主要用于提取空間信息,所以該網(wǎng)絡(luò)模型參數(shù)量較大。而fastpath模擬的是M細(xì)胞,主要用于提取快速的時(shí)間維度信息,類(lèi)似與M細(xì)胞,該網(wǎng)絡(luò)較slowpath輕量很多。slowfast網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:


slowpath和fastpath的區(qū)別不僅僅在于參數(shù)量不同,還有一方面是slowpath的輸入會(huì)比f(wàn)astpath輸入維度要低(因?yàn)閒ast要更多的獲取時(shí)序信息,所以fast的時(shí)間維度輸入要大于slow輸入的時(shí)間維度)。所以在slowfast網(wǎng)絡(luò)里面有三個(gè)超參需要自定義,三個(gè)超參分別命名為,下面分別介紹三個(gè)超參的含義。
1.1
參數(shù)
因?yàn)榫W(wǎng)絡(luò)處理的是視頻幀序列,對(duì)于一個(gè)給定的視頻來(lái)說(shuō),要對(duì)該視頻輸入到網(wǎng)絡(luò)進(jìn)行訓(xùn)練,首先需要進(jìn)行抽幀處理(抽幀也有各種策略,這里不詳細(xì)介紹,暫且認(rèn)為每個(gè)視頻通過(guò)某種方式抽取出固定的幀來(lái)作為網(wǎng)絡(luò)的訓(xùn)練輸入)。記住抽完幀后獲取到的幀數(shù)為
。那輸入的slow-path網(wǎng)絡(luò)的幀數(shù)固定為T(mén),那么就需要從
幀按照線性采樣,抽取出T幀作為slow-path的輸入。所以參數(shù)
是用來(lái)從抽好幀的源中再抽取
幀來(lái)作為slow-path的輸入,也就是
直接控制輸入slow-path的幀數(shù)。
1.2
參數(shù)
之前提到了fast網(wǎng)絡(luò)不僅參數(shù)量比slow網(wǎng)絡(luò)少,輸入也比slow網(wǎng)絡(luò)少,假設(shè)slow-path輸入的幀數(shù)為T(mén)幀,那么fast網(wǎng)絡(luò)輸入幀數(shù)為幀。即
用來(lái)控制slow-path和fast-path輸入幀數(shù)的倍數(shù)關(guān)系。
1.3
參數(shù)
就是用來(lái)控制fast網(wǎng)絡(luò)的基礎(chǔ)通道數(shù)比slow網(wǎng)絡(luò)少多少。
舉個(gè)具體的例子,假設(shè)現(xiàn)在有一個(gè)視頻,總共有200幀圖像,通過(guò)抽幀抽取了64幀,那么輸入到slow-path的幀為
幀,
那么fast-path就需要輸入
幀圖像。如果slow網(wǎng)絡(luò)(resnet加入3D卷積的版本)的通道數(shù)為64的倍數(shù),64我們稱(chēng)為通道數(shù)基數(shù),當(dāng)
時(shí),fast網(wǎng)絡(luò)的通道數(shù)基數(shù)就為
slowfast網(wǎng)絡(luò)的核心基本原理就解釋完了,具體實(shí)驗(yàn)參數(shù)和實(shí)驗(yàn)結(jié)果可以參考論文以及官方代碼。