CV論文筆記(一) 3D ConvNets(C3D)

參考論文

D. Tran, L. Bourdev, R. Fergus, L. Torresani, and M. Paluri, Learning Spatiotemporal Features with 3D Convolutional Networks, ICCV 2015    

source code

內容介紹

1. Abstract
主要談及Three-fold(三個方面)
1.相比2D ConvNets,3D ConvNets更適合學習時空特徵

2.在3D ConvNets中,相同架構的情況下3 × 3 × 3的小卷積核表現最優

3.作者將學習的特徵命名爲C3D,再與一個小線性分類器組合,就在四個benchmarks,得到最先進表現

2. Introduction

作者認爲一個有效的視頻解釋器要具備四個屬性:通用、緊湊、高效、簡潔

即使3D ConvNets在之前就已經被提出,但是這篇論文旨在探索3D ConvNets在大規模監督訓練數據集和現代深度架構的情況下來獲取不同類型視頻分析任務的最佳表現。

用一個簡單的線性模型所提出的特徵優於或接近4個不同任務和6個不同基準集的目前最佳方法


個人總結:這篇文章的主要工作是如何構建3D ConvNets來學習時空特徵,這一塊主要介紹了網絡架構以及參數的設定、探索核的最佳時序深度、數據集以及訓練的超參數設置。

除此之後作者還根據不同的任務,在不同測試集上進行了實驗和對比,如Action recognition、Action Similarity Labeling(行爲相似度標註)、Scene and Object Recognition。

下面對各個部分進行細節描述:

3. Learning Features with 3D ConvNets

3.1 3D convolution and pooling 
優點:對時序信息的建模能力強
與2D ConvNets的區別:2D卷積輸入圖像輸出圖像,多通道的方式輸入多幅圖像,結果仍爲一幅圖像
因此2D ConvNets的每個卷積層均丟失了輸入的時序信息


Common network settings:
作者將一個視頻剪輯的大小表示爲c × l × h × w c爲通道數,l爲幀數
卷積orpooling核表示爲d × k × k d爲核的時序深度
作者使用相同的網絡設置來訓練,如將輸入調整爲128 × 171,大致是UCF101中幀分辨率的一半
    視頻被劃分爲不重疊的16幀剪輯
網絡有5個卷積/池化層、2個全連接層、一個softmax層
所有池化層採用max pooling且核的大小爲2 × 2 × 2(第一層除外,爲了不過早的合併時間信號)

這意味着輸出信號的大小與輸入信號相比降低了8倍。

3.2 Exploring kernel temporal depth

爲了探究d取值的影響分別設置了1、3、5、7以及3-3-5-5-7(升序)和7-5-5-3-3(降序)等變種網絡
雖然由於d的取值不同,導致網絡參數數量不一,但他們具有相同的全連接層,參數數量區別比起全連接層的參數數量可以忽略不計
最終結果表明depth-3最好,increase和decrease均與其相差不大,depth-1效果最差,如圖



3.3 Spatiotemporal feature learning
Network architecture:
考慮到目前GPU顯存的限制,實驗中在設計網絡框架的時候採取了8個卷積層、5個池化層、兩個全連接層、一個softmax輸出層
作者將其命名爲C3D:所有卷積核爲 3 × 3 × 3 with stride 1 × 1 × 1. 所有pooling核爲2 × 2 × 2 with stride 2 × 2 × 2 
除pool1以外,其核的大小爲 of 1 × 2 × 2 and stride 1 × 2 × 2,全連接層有4096個輸出單元


Dataset
Sports-1M:1.1 million sports videos,487 sports categories
Training
由於有很多長視頻,作者從每個長視頻中提取5個2秒的剪輯,並將大小調整爲128 × 171。
在訓練中通過對剪輯進行時間和空間上的抖動將剪輯隨機裁剪到16×112×112大小,以50%的概率進行水平翻轉
最小batch size爲30,初始學習率爲0.003,每迭代150K除2,迭代1.9M (about 13 epochs)停止優化
Sports-1M classification results
略......
    作者使用逆卷積的方式來理解C3D內部學習了什麼 ,結論也是3D ConvNets能夠注意外觀和運動

4. Action recognition

Dataset
UCF101:13, 320 videos of 101 human action categories.
Classification model
我們提取C3D特徵,並將其輸入到一個多類別線性支持向量機中,用於訓練模型。
實驗中採取三種不同的網絡:C3D trained on I380K, C3D trained on Sports-1M, and C3D trained on I380K and fine-tuned on Sports-1M.
Baselines
目前最好的hand-crafted features, namely improved dense trajectories (iDT)等等......
Results
簡單總結:單項測試結果中等;作者認爲有部分網絡採取了long clip,因此不具備可比性;聯合Imagenet僅有很小的提升;聯合iDT結果最佳
        作者認爲C3D相比其他網絡有簡單的優點
C3D is compact
爲了估計C3D特徵的緊湊度,作者使用PCA將特徵映射到低維空間
記錄在UCF101數據集上映射特徵的分類精度,實驗得到了最佳效果,由此作者認爲C3D特徵是緊湊的並且容易區分
作者使用t-SNE將特徵映射到2維空間,定性的觀察得出C3D特徵具備較好的泛化能力



5. Action Similarity Labeling
Dataset
ASLAN:3, 631 videos,432 action classes.任務是驗證給定的視頻對是否相同
Features
將一個視頻劃分爲16幀剪輯且其中8幀是重疊的
Classification model
給定一個視頻對,我們計算[21]中的12個不同距離。加上4個特徵類別,獲取48維特徵向量
由於48個方向並非一一比較,我們分別將其標準化,得到零均值和單位方差
最終,訓練一個線性SVM在48維特徵向量上分出視頻對相同與否
Results
取得了最佳表現

6. Scene and Object Recognition
Datasets
YUPENN:420 videos of 14 scene categories  Maryland:130 videos of 13 scene categories
Classification model
對於這兩個數據集,我們使用相同的特性提取和線性支持向量機進行分類。
我們在所有視頻中滑動16幀的窗口來提取C3D特徵,選擇clip中出現頻率最高的label作爲clip的ground truth label
如果最高頻率的label出現次數少於8幀,則認爲是negative label,在訓練和測試期間均丟棄
用線性SVM來訓練和測試C3D特徵並記錄物體識別率
Results
取得了最佳表現,說明C3D泛化能力強

7. Runtime Analysis
對比了C3D 和iDT [44] 以及 Temporal stream network[36] 在UCF101數據集上的運行時間,結論是 超快!!!313幀/秒

8. Conclusions
實驗得到最佳時序核長度;相比在各類視頻分析任務中表現優異;能同時對外觀和運動信息建模
C3D和線性分類器就能在不同的視頻分析基準集上取得最優或接近最優的效果
在使用中C3D特徵高效、簡單、緊湊、

Appendix A: Effects of Input Resolution
隨着輸入分辨率的提高網絡參數以及訓練時間都會明顯增加

Appendix B: Visualization of C3D Learned Features
通過逆卷積可視化卷積過程,隨機選擇來自UCF101的20K clips
結果表明:前面的卷積層學習一些“低級”運動模式,如移動的邊緣,斑點,短的變化,邊緣方向變化,或顏色變化
更深的卷積層學習一些更大的運動模式,如轉角,紋理,身體部位和軌跡
最深的卷積層學習更復雜的運動模式,如移動的圓形物體,像自行車一樣的運動

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