[ECCV18-行為識別論文筆記] 多纖維網路
行為識別/視訊分類 是視訊理解領域的重要方向。之前該方向的深度學習方法大致可以分為兩個大類:一類是雙流網路,即以rgb影象和光流影象作為2D網路兩個分支的輸入,再在網路的某處進行融合,典型的如TSN;另一類則是將多幀RGB影象看做是3D輸入,然後使用3D卷積網路進行處理,典型的如C3D,I3D,ARTNet等(當然也可以將光流作為3D網路的輸入從而進一步提高效果的)。雙流類方法的問題主要在於要提取光流,耗時比較多,在實際的場景中很難應用起來。所以近兩年的論文更多集中在3D網路的研究上,3D類方法此前的問題主要有兩方面,一是3D卷積核的計算開銷比較大,二是在效果上還是距離雙流類方法還是有一定的距離。
ECCV-2018上,新加坡國立大學,FAIR 和 360AI 實驗室合作發表了“Multi-Fiber Networks for Video Recognition”[1], 程式碼見 PyTorch-MFNet" target="_blank" rel="nofollow,noindex">PyTorch-MFNet . 這篇論文主要針對3D網路的第一個問題進行了研究,具體而言,這篇論文的目的是要在保持網路效果的同時(主要對標I3D-RGBmodel),大幅度降低網路的FLOPs,從而提高網路的效率,使3D網路能夠獲得更多的應用場景。這篇文章提出的網路結構有點像不帶channel shuffle 模組的ShuffleNet,其核心思想還是利用Group Conv來降低網路的計算開銷。之前似乎沒啥參考 mobile類模型思路來做video classification的工作,而計算量對於3D類網路又是比較重要的核心的瓶頸,所以這篇工作還是很有參考價值的。下面開始介紹文章內容,如有不足煩請指正。
Motivation
這篇文章的核心motivation就是認為目前的sota的3D網路(比如I3D以及R(2+1)D-34網路)的計算量FLOPs都太高了。常用的2D 卷積網路如resnet-152或是vgg-16網路大概是10+ 的GFLOPs,而剛剛提到的兩種3D卷積網路則達到了100+ GFLOPs。作者認為,當計算量相近的時候,由於3D網路模型能額外的學習到時空資訊,clip-based 的模型(即指3D網路)應該要能比frame-based的模型(即指2D網路)有更好的效果。所以,這篇文章的目標就是在保持現有sota的3D模型的效果的同時,大大提高其網路效率。
多纖維網路
在方法部分,作者首先介紹了多纖維模組(Multi-Fiber Unit)的原理,然後在2D網路上實驗了多纖維結構的有效性,最後將其推廣到了3D網路上去。
多纖維模組

這張圖介紹了從resnet到多纖維模組的變化過程。(a) 中的結構即是一個簡單的殘差模組;(b) 中的則為Multi-Path型別的bottleneck模組,比如ResNeXt就採用了該結構。在該結構中,前後均為一個1x1的卷積進行降維和升維,中間則將通道進行分組,分別用幾個3x3卷積核進行處理。這樣的處理可以大大降低中間層的計算量,但是1x1卷積層依舊有很大的計算量。所以這篇文章提出進行更加徹底的分組,即將整個殘差模組按照通道切片成多個平行且獨立的分支(稱為fiber,纖維),如(c)所示。c中的結構在輸入和輸出通道數量一致的情況下,可以將理論計算量降低到N分之一,此處N為分支或者說是纖維的數量。這種更加徹底分組的加速思路和去年的ShuffleNet其實也有些像,區別在於ShuffleNet中還提出了channel shuffle的模組,且在中間層採用了depth-wise conv。
如(c)所示的結構雖然效率提高了很多,但通道間缺乏資訊交換,可能會損害效果。所以該文進一步提出了一個Multiplexer模組用來以殘差連線的形式結合纖維之間的資訊。該模組實際上是一個兩層的1x1卷積,第一個卷積會將通道數量降低到k分之一,第二個卷積再升維,因此該模組的計算量是一層1x1卷積的k/2分之一。不過,在文章中好像沒看到作者具體設定的k值。
多纖維結構有效性的驗證
接下來,作者通過在ImageNet-1k資料集上的圖片分類實驗來驗證所提出的多纖維結構的有效性。這裡主要有兩種形式,一是基於ResNet-18和MobileNet-v2的baseline,將其中的模組替換為多纖維模組(這裡具體的實現細節不是很確定);二是重新設計了一個2D MF-Net,具體網路結構可以見論文。實驗結果如下所示。

通過這個表格裡面的實驗結果可以看出。多纖維結構在MobileNet-v2和ResNet-18上可以在少量降低計算量和引數量的情況下,提高一定的效果,表明了多纖維模組的有效性。而MF-Net也在引數和計算量較低的情況下達到了不錯的效果。最後一欄實驗則表明了Multiplexer模組大概會佔據30%的計算量,但對效果的提升也是比較明顯的。
3D-多纖維網路
在確認了提出的多纖維模組的有效性後,本文就將多纖維結構推廣到了3D網路上,並提出了3D MF-Net。3D MF-Net的模組結構和網路結構如下圖所示:

可以看出,3D和2D的多纖維模組結構基本一致,只是將卷積的維度升到了三維。為了降低計算量,兩層卷積只有一層進行了時序上的卷積。
實驗內容
在實驗部分,本文主要做了trained from scratch以及fine tuned兩類實驗,分別對應Kinetics以及 UCF101,HMDB51資料集。
視訊分類-Trained from Scratch

在Kinetics資料集上,MF-Net以比之前3D模型低非常多的FLOPs達到了更好的效果。
視訊分類-Fine-tuned Models

在這部分實驗中,先將模型在大資料集(Kinetics)上訓練,再在小資料集( UCF-101, HMDB51)上進行finetune。從實驗結果可以看出,MF-Net以較小的計算量達到或超過了目前sota的效果。題圖則更加視覺化的展現了計算量和效果的關係圖,可以看出MF-Net較好的佔據了左上角的位置,即以較小的計算量達到sota的效果。
論文小結
這篇文章主要是進一步優化了Multi-Path模組的結構,並將其用於了3D卷積網路,從而大大提高3D卷積網路的效率。在效率大大提高後,其實也更有利於我們繼續將網路做的更復雜更有效,像之前的I3D的效率實在太差了,很難進一步增加複雜度(當然另外一方面也給大家提供了很多優化空間和寫論文空間...)。一方面通過引入網路加速技巧對模型速度進行優化,一方面通過增加網路對時序建模的能力來對模型效果進行提高 應該是未來3D網路研究更平衡的一種發展道路吧。
本文投稿於AI科技評論公眾號, 未經許可請勿轉載。
參考文獻
[1]Chen Y, Kalantidis Y, Li J, et al. Multi-Fiber Networks for Video Recognition[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 352-367.
[2] Xie S, Girshick R, Dollár P, et al. Aggregated residual transformations for deep neural networks[C]//Computer Vision and Pattern Recognition (CVPR), 2017 IEEE Conference on. IEEE, 2017: 5987-5995.
[3] Carreira J, Zisserman A. Quo vadis, action recognition? a new model and the kinetics dataset[C]//Computer Vision and Pattern Recognition (CVPR), 2017 IEEE Conference on. IEEE, 2017: 4724-4733.