論文筆記之C3D(Learning Spatiotemporal Features with 3D Convolutional Networks)

通過構造了對稱的3×3×3卷積核來利用3D卷積學習時空特徵,計算效率高。
論文地址:http://vlg.cs.dartmouth.edu/c3d/c3d_video.pdf

1. 摘要

本文提出了一種簡單而有效的時空特徵學習方法,使用在大規模有監督視頻數據集上訓練的3D 卷積網絡。本文的發現有三個方面:
1)與2D ConvNets相比,3D ConvNets更適合於時空特徵學習
2)一個在所有層都有3 × 3 × 3卷積核的同質結構是3D ConvNets的最佳性能結構
3)學習到的特徵,即C3D(卷積3D),使用簡單的線性分類器在4個不同的基準上優於最新的方法,並且可以與其他2個基準上的當前最佳方法進行比較。
此外,它的特點是基於3D ConvNets的快速推理,計算效率非常高。而且在概念上非常簡單,易於訓練和使用。

2. 相關工作

2.1 傳統行爲識別

Laptev和Lindeberg通過將Harris角點檢測器擴展到3D,提出了時空興趣點(STIPs),SIFT和HOG也擴展到SIFT-3D和HOG3D用於動作識別。Dollar等人提出了用於行爲識別的長方體特徵。薩達南德和科爾索建立了行動識別行動庫。最近,王等人提出了改進的密集軌道(iDT)這是目前最先進的手工製作功能。iDT描述符顯示了時間信號可以不同於空間信號的處理方式。它不是將Harris角點檢測器擴展到3D,而是從視頻幀中密集採樣的特徵點開始,利用光流對其進行跟蹤。對於每個跟蹤器,沿軌跡提取不同的手工特徵。儘管該方法具有良好的性能,但計算量大,在大規模數據集上難以實現。

2.2 卷積神經網絡用於行爲識別

Le等人使用疊加ISA來學習視頻的時空特徵。雖然該方法在動作識別方面取得了很好的效果,但在訓練上仍存在計算量大、在大數據集上難以擴展的問題。3D ConvNets被提出用於人類行爲識別和醫學圖像分割。三維卷積還與受限的Boltzmann機器一起用於學習時空特徵。最近,Karpathy等人在大型視頻數據集上訓練深度網絡,用於視頻分類。Simonyan和Zisserman使用了兩個流網絡來實現動作識別的獲得了最佳結果。

在這些方法中,[3d convolutional neural networks for human action recognition.]中的3D ConvNets方法與本文的關係最爲密切。該方法利用人體檢測器和頭部跟蹤技術對視頻中的人體進行分割。將分割後的視頻卷作爲3D ConvNet的輸入對動作進行分類。相比之下,本文的方法以完整的視頻幀作爲輸入,不依賴任何預處理,因此很容易擴展到大型數據集。但本文也與Karpathy等人有一些相似之處。 西蒙尼和齊瑟曼使用全部的幀訓練ConvNet。然而,這些方法建立在僅使用2D卷積和2D池化操作的基礎上(除了[Large-scale video classification with convolutional neural networks]中的慢融合模型),而本文的模型執行3D卷積和3D池化,在網絡中的所有層傳播時間信息。另外,本文還表明,逐步彙集空間和時間信息並構建更深入的網絡可以獲得最佳結果。

3. 本文方法

3.1 2D和3D卷積對比

在這裏插入圖片描述
a) 對圖像應用二維卷積可生成圖像。b) 在視頻序列上應用二維卷積(多幀作爲多個通道)也會產生圖像。c) 在一個視頻序列上應用3D卷積會產生另一個序列,從而保留輸入信號的時間信息。

三維卷積網絡非常適合時空特徵學習。與2D-ConvNet相比,3D-ConvNet具有更好的時間信息建模能力,這得益於3D卷積和3D池化操作。在3D ConvNets中,卷積和池化操作是在時空上執行的,而在2D ConvNets中,卷積和池化操作只是在空間上執行的(如上圖)。而2D ConvNets在每次卷積運算後都會丟失輸入信號的時間信息。只有3D卷積才能保留產生輸出體積的輸入信號的時間信息。同樣的3D 池化操作也是如此。

根據2D ConvNets的研究結果,3 × 3卷積核的小感受野和較深的結構產生了最好的結果。因此本文將空間感受野固定爲3 × 3,並且僅改變3D卷積核的時間深度。

3.2 網絡結構

在這裏插入圖片描述

8 convolution layers,5 pooling layers,two fully connected layers,a softmax output layer.

所有卷積核均爲3×3×3。第一個pooling層1×2×2,Stride=1×2×2,之後都是2×2×2,stride=2×2×2

兩個全連接層都是4096。

注:爲簡單起見,假設視頻序列大小爲c × l × h × w,其中c是頻道數,l是幀的長度,h和w分別是幀的高度和寬度。三維卷積和池化的核大小爲d × k × k,其中d是核的時間深度,k是核的空間大小。

公共網絡設置:該網絡以視頻片段爲輸入,對101個不同動作的類標籤進行預測。所有視頻幀的大小都調整爲128 × 171。這大約是UCF101中視頻幀的一半分辨率。視頻被分成不重疊的16幀序列,然後作爲網絡的輸入。輸入尺寸爲3 × 16 × 128 × 171。在訓練中,還使用了大小爲3 × 16 × 112 × 112的輸入剪輯的隨機裁剪來進行抖動。該網絡有5個卷積層和5個池化層(每個卷積層後面緊跟着一個池化層)、2個全連接層和一個預測動作標籤的softmax loss層。從1到5的5個卷積層的濾波器數目分別爲64、128、256、256、256。所有卷積核都有d的大小,其中d是內核時間深度(後面將改變這些層的d值以搜索良好的3D架構)。

所有這些卷積層都採用適當的填充(空間和時間)和步長1,因此從這些卷積層的輸入到輸出的大小沒有變化。所有池化層都是最大池化,內核大小爲2 × 2 × 2(第一層除外),padding爲1,這意味着輸出信號的大小比輸入信號減小了8倍。第一池層的核大小爲1 × 2 × 2,目的是不過早地合併時間信號,並且滿足16幀的剪輯長度。

3.3 探索時間核長度(d)

**本文主要關注如何通過深度網絡聚合時間信息。**爲了尋找一個好的3D ConvNet架構,作者只改變卷積層的內核時間深度di,同時保持所有其他公共設置不變。

作者實驗了兩種類型的體系結構:

1)同質時間深度:所有卷積層具有相同的核時間深度;

2)可變時間深度:核時間深度跨層變化。

作者注意到,所有這些網絡在最後一個池化層具有相同大小的輸出信號,因此它們對於全連接層具有相同數量的參數。
由於核的時間深度不同,卷積層的參數個數也不同。與全連接層中的數百萬個參數相比,這些差異非常微小。

在這裏插入圖片描述

在UCF101上測試不同核時間深度設置下split-1的動作識別剪輯精度。2D-ConvNet性能最差,3D-ConvNet的3×3×3核性能最好。

3.4 時間空間特徵的學習

使用的數據集是UCF101,採用簡單的分類模型—簡單線性SVM。同時試驗了3個不同的網絡。和基準:IDT,ImageNet進行比較。
在這裏插入圖片描述

結果如表所示。中間部分是隻使用RGB的,下面則是所有當前最好的識別數據。結果表明,C3D不僅有最高的精度,而且能很好地提取外部特徵與時間特徵(沒有明顯提升,當同特徵數據庫結合的時候)。另一方面,C3D同IDT的結合是十分互補的。IDT是主要基於光流追蹤與低梯度的直方圖特徵,而C3D則捕捉了高度抽象綜合的信息。

在這裏插入圖片描述

使用t-SNE在UCF101數據集上嵌入Imagenet和C3D的可視化特徵。與Imagenet相比,C3D特徵在語義上是可分離的,這表明它是一個更好的視頻特徵。每個剪輯都可視爲一個點,屬於同一動作的剪輯具有相同的顏色。

4. 實驗結果

4.1 動作相似性標註

在這裏插入圖片描述
在這裏插入圖片描述

4.2 場景與目標識別

在這裏插入圖片描述

4.3 運行時分析

在這裏插入圖片描述

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