[轉發] [ECCV18-行爲識別論文筆記] 多纖維網絡

原文:https://zhuanlan.zhihu.com/p/46804541

代碼:https://github.com/cypw/PyTorch-MFNet

行爲識別/視頻分類 是視頻理解領域的重要方向。之前該方向的深度學習方法大致可以分爲兩個大類:一類是雙流網絡,即以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. 這篇論文主要針對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.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章