1. 程式人生 > >深度學習在視訊行為識別中應用

深度學習在視訊行為識別中應用

深度學習在最近十來年特別火,幾乎是帶動AI浪潮的最大貢獻者。網際網路視訊在最近幾年也特別火,短視訊、視訊直播等各種新型UGC模式牢牢抓住了使用者的消費心裡,成為網際網路吸金的又一利器。當這兩個火碰在一起,會產生什麼樣的化學反應呢?

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

圖1

 

人工智慧在視訊上的應用主要一個課題是視訊理解,努力解決“語義鴻溝”的問題,其中包括了:

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

  · 目標檢測和跟蹤:如車輛跟蹤,多是應用在安防領域。

  · 人物識別:識別出視訊中出現的人物。

  · 動作識別:Activity Recognition,識別出視訊中人物的動作。

  · 情感語義分析:即觀眾在觀賞某段視訊時會產生什麼樣的心理體驗。

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

  1、基於單幀的識別方法

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

 

圖2

  2、基於CNN擴充套件網路的識別方法

  它的總體思路是在CNN框架中尋找時間域上的某個模式來表達區域性運動資訊,從而獲得總體識別效能的提升。圖3是網路結構,它總共有三層,在第一層對10幀 (大概三分之一秒)影象序列進行MxNx3xT的卷積(其中 MxN是影象的解析度,3是影象的3個顏色通道,T取4,是參與計算的幀數,從而形成在時間軸上4個響應),在第2、3層上進行T=2的時間卷積,那麼在第3層包含了這10幀圖片的所有的時空資訊。該網路在不同時間上的同一層網路引數是共享引數的。

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

 

圖3

  3、雙路CNN的識別方法

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

 

圖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的內部狀態會含有更多的資訊。

  在實現時,這個網路架構可以加入光流特徵,可以讓處理過程容忍對幀進行取樣,因為如每秒一幀的取樣已經丟失了幀間所隱含的運動資訊,光流可以作為補償。

  5、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

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

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

  · UCF-101

  一共13320個視訊, 共101個類別。

  

  · HMDB51

  一共7000個視訊片段,共51個類別。

  

 

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

  

  · 1M sport

  1.2 million個體育視訊,有487個已標記的類,每類有1000到3000個視訊。