學界 | ECCV 2018 行爲識別論文筆記之多纖維網絡

AI 科技評論按:本文爲上海交通大學林天威爲 AI 科技評論撰寫的獨家稿件,未經許可不得轉載。

行爲識別/視頻分類是視頻理解領域的重要方向。之前該方向的深度學習方法大致可以分爲兩個大類:一類是雙流網絡,即以 RGB 圖像和光流圖像作爲 2D 網絡兩個分支的輸入,再在網絡的某處進行融合,典型的如 TSN;另一類則是將多幀 RGB 圖像看做是 3D 輸入,然後使用 3D 卷積網絡進行處理,典型的如 C3D,I3D,ARTNet 等(當然也可以將光流作爲 3D 網絡的輸入從而進一步提高效果)。

雙流類方法的問題主要在於要提取光流,耗時比較多,在實際的場景中很難應用起來。所以近兩年的論文更多集中在 3D 網絡的研究上,3D 類方法此前的問題主要有兩方面,一是 3D 卷積核的計算開銷比較大,二是在效果上還是距離雙流類方法有一定的距離。

ECCV2018 上,新加坡國立大學,FAIR 和 360AI 實驗室合作發表了「Multi-Fiber Networks for Video Recognition」[1],代碼見 PyTorch-MFNet (https://github.com/cypw/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 網絡研究更平衡的一種發展道路吧。

參考文獻

[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.

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