基於 Deep Learning 的視頻識別方法概覽

深度學習在最近十來年特別火,幾乎是帶動AI浪潮的最大貢獻者。互聯網視頻在最近幾年也特別火,短視頻、視頻直播等各類新型UGC模式緊緊抓住了用戶的消費內心,成爲互聯網吸金的又一利器。當這兩個火碰在一塊兒,會產生什麼樣的化學反應呢?安全

不說具體的技術,先上一張福利圖,該圖展現了機器對一個視頻的認知效果。其總紅色的字表示objects, 藍色的字表示scenes,綠色的字表示activities。網絡

圖片描述
圖1架構

人工智能在視頻上的應用主要一個課題是視頻理解,努力解決「語義鴻溝」的問題,其中包括了:框架

  • 視頻結構化分析:便是對視頻進行幀、超幀、鏡頭、場景、故事等分割,從而在多個層次上進行處理和表達。ide

  • 目標檢測和跟蹤:如車輛跟蹤,可能是應用在安防領域。 人物識別:識別出視頻中出現的人物。性能

  • 動做識別:Activity Recognition,識別出視頻中人物的動做。學習

  • 情感語義分析:即觀衆在觀賞某段視頻時會產生什麼樣的心理體驗。測試

短視頻、直播視頻中大部分承載的是人物+場景+動做+語音的內容信息,如圖1所示,如何用有效的特徵對其內容進行表達是進行該類視頻理解的關鍵。傳統的手工特徵有一大堆,目前效果較好的是iDT(Improved Dense Trajectories) ,在這裏就不加討論了。深度學習對圖像內容的表達能力十分不錯,在視頻的內容表達上也有相應的方法。下面介紹最近幾年主流的幾種技術方法。人工智能

一、基於單幀的識別方法

一種最直接的方法就是將視頻進行截幀,而後基於圖像粒度(單幀)的進行deep learninig 表達, 如圖2所示,視頻的某一幀經過網絡得到一個識別結果。圖2爲一個典型的CNN網絡,紅色矩形是卷積層,綠色是歸一化層,藍色是池化層 ,黃色是全鏈接層。然而一張圖相對整個視頻是很小的一部分,特別當這幀圖沒有那麼的具備區分度,或是一些和視頻主題無關的圖像,則會讓分類器摸不着頭腦。所以,學習視頻時間域上的表達是提升視頻識別的主要因素。固然,這在運動性強的視頻上纔有區分度,在較靜止的視頻上只能靠圖像的特徵了。spa

圖片描述
圖2

二、基於CNN擴展網絡的識別方法

它的整體思路是在CNN框架中尋找時間域上的某個模式來表達局部運動信息,從而得到整體識別性能的提高。圖3是網絡結構,它總共有三層,在第一層對10幀 (大概三分之一秒)圖像序列進行MxNx3xT的卷積(其中 MxN是圖像的分辨率,3是圖像的3個顏色通道,T取4,是參與計算的幀數,從而造成在時間軸上4個響應),在第二、3層上進行T=2的時間卷積,那麼在第3層包含了這10幀圖片的全部的時空信息。該網絡在不一樣時間上的同一層網絡參數是共享參數的。

它的整體精度在相對單幀提升了2%左右,特別在運動豐富的視頻,如摔角、爬杆等強運動視頻類型中有較大幅度的提高,這從而也證實了特徵中運動信息對識別是有貢獻的。在實現時,這個網絡架構能夠加入多分辨的處理方法,能夠提升速度。

圖片描述
圖3

三、雙路CNN的識別方法

這個其實就是兩個獨立的神經網絡了,最後再把兩個模型的結果平均一下。上面一個就是普通的單幀的CNN,並且文章當中提到了,這個CNN是在ImageNet的數據上pre-train,而後在視頻數據上對最後一層進行調參。下面的一個CNN網絡,就是把連續幾幀的光流疊起來做爲CNN的輸入。 另外,它利用multi-task learning來克服數據量不足的問題。其實就是CNN的最後一層連到多個softmax的層上,對應不一樣的數據集,這樣就能夠在多個數據集上進行multi-task learning。網絡結構如圖4所示。

圖片描述
圖4

四、基於LSTM的識別方法

它的基本思想是用LSTM對幀的CNN最後一層的激活在時間軸上進行整合。 這裏,它沒有用CNN全鏈接層後的最後特徵進行融合,是由於全鏈接層後的高層特徵進行池化已經丟失了空間特徵在時間軸上的信息。相對於方法2,一方面,它能夠對CNN特徵進行更長時間的融合,不對處理的幀數加以上限,從而能對更長時長的視頻進行表達;另外一方面,方法2沒有考慮同一次進網絡的幀的先後順序,而本網絡經過LSTM引入的記憶單元,能夠有效地表達幀的前後順序。網絡結構如圖5所示。

圖片描述
圖5

圖5中紅色是卷積網絡,灰色是LSTM單元,黃色是softmax分類器。LSTM把每一個連續幀的CNN最後一層卷積特徵做爲輸入,從左向右推動時間,從下到上經過5層LSTM,最上的softmax層會每一個時間點給出分類結果。一樣,該網絡在不一樣時間上的同一層網絡參數是共享參數的。在訓練時,視頻的分類結果在每幀都進行BP(back Propagation),而不是每一個clip進行BP。在BP時,後來的幀的梯度的權重會增大,由於在越日後,LSTM的內部狀態會含有更多的信息。

在實現時,這個網絡架構能夠加入光流特徵,可讓處理過程容忍對幀進行採樣,由於如每秒一幀的採樣已經丟失了幀間所隱含的運動信息,光流能夠做爲補償。

五、3維卷積核(3D CNN)法

3D CNN 應用於一個視頻幀序列圖像集合,並非簡單地把圖像集合做爲多通道來看待輸出多個圖像(這種方式在卷積和池化後就丟失了時間域的信息,如圖6上), 而是讓卷積核擴展到時域,卷積在空域和時域同時進行,輸出仍然是有機的圖像集合(如圖6下)。

圖片描述
圖片描述
圖6

實現時,將視頻分紅多個包含16幀的片斷做爲網絡的輸入(維數爲3 × 16 × 128 × 171)。池化層的卷積核的尺寸是d x k x k, 第一個池化層d=1,是爲了保證時間域的信息不要過早地被融合,接下來的池化層的d=2。有所卷積層的卷積核大小爲3x3x3,相對其餘尺寸的卷積核,達到了精度最優,計算性能最佳。 網絡結構如圖7所示。這個是學習長度爲16幀(採樣後)視頻片斷的基礎網絡結構。對於一個完整的視頻,會被分割成互相覆蓋8幀的多個16幀的片斷,分別提取他們的fc6特徵,而後進行一個簡單平均得到一個4096維的向量做爲整個視頻的特徵。

圖片描述
圖7

經過可視化最後一個卷積層對一個連續幀序列的特徵表達,能夠發現,在特徵開始着重表達了畫面的信息,在特徵的後面着重表達的是運動信息,即在運動處有相對顯著的特徵。如圖8。

圖片描述
圖8

和單幀圖特徵在視頻測試集上進行對比,3D CNN有更強的區分度,如圖9。

圖片描述
圖9

六、阿里聚安全內容安全(阿里綠網)

阿里聚安全內容安全(阿里綠網)基於深度學習技術及阿里巴巴多年的海量數據支撐, 提供多樣化的內容識別服務,能有效幫助用戶下降違規風險。其產品包括:ECS站點檢測服務、OSS圖片鑑黃服務、內容檢測API服務。針對多媒體內容中的違規視頻內容,綠網致力於提供一整套內容安全的垂直視頻解決方案。如下是一些諸如圖像識別,視頻識別(人物動做識別)公開的訓練、評測數據集。

UCF-101
一共13320個視頻, 共101個類別。

圖片描述

HMDB51
一共7000個視頻片斷,共51個類別。

圖片描述

activity-net
200類,10,024個訓練視頻,4,926個交叉驗證視頻,5,044 個測試視頻。

圖片描述

1M sport
1.2 million個體育視頻,有487個已標記的類,每類有1000到3000個視頻。

圖片描述

七、參考資料

[1] Large-scale Video Classification with Convolutional Neural Networks
[2] Two-stream convolutional networks for action recognition in videos
[3] Beyond Short Snippets: Deep Networks for Video Classification
[4] Learning Spatiotemporal Features with 3D Convolutional Networks
[5] https://clarifai.com/

做者:析策@阿里安全,更多技術文章,請訪問阿里聚安全博客

相關文章
相關標籤/搜索