1. 程式人生 > >Optical Flow Guided Feature: A Fast and Robust Motion Representation for Video Action Recognition 翻譯

Optical Flow Guided Feature: A Fast and Robust Motion Representation for Video Action Recognition 翻譯

                   光流引導特徵:視訊動作識別的快速魯棒運動表示

                 


專案地址:https://github.com/kevin-ssy/Optical-Flow-Guided-Feature


摘要

運動表示在視訊中的人類動作識別中起著至關重要的作用。

在本研究中,我們介紹了一種用於視訊動作識別的新穎緊湊運動表示,稱為光流引導特徵(OFF)

,它使網路能夠通過快速而穩健的方法提取時間資訊。

OFF來自光流的定義並且與光流正交

推導還為使用兩幀之間的差異提供了理論支援。

通過直接計算深度特徵對映的逐畫素時空梯度,OFF可以嵌入任何現有的基於CNN的視訊動作識別框架中,僅需要少量額外成本。

它使CNN能夠同時提取時空資訊,尤其是幀之間的時間資訊

這個簡單但強大的想法通過實驗結果得到驗證。

僅通過RGB輸入饋電的OFF網路在UCF-101上實現了93.3%的競爭準確度,這與兩個流(RGB和光流)獲得的結果相當,但速度快15倍。

實驗結果還表明,OFF與其他運動方式(如光流)互補。當所提出的方法插入到最先進的視訊動作識別框架中時,它在UCF-101和HMDB-51上的準確率分別為96.0%和74.2%。

介紹

如何設計/使用既快速又健壯的運動表示?為此,所需的計算應該是經濟的,並且表示應該由運動資訊充分指導。

考慮到上述要求,我們提出了光流導引特徵(OFF),它計算速度快,可以綜合地表示視訊片段中的運動動力學。

在本文中,我們從正交空間的光流部分在特徵級上定義了一個新的特徵表示。 這種定義將光流的引導帶到這裡的表示,因此,我們稱之為光流引導特徵(OFF)。

該特徵包括水平方向垂直方向的特徵對映的空間梯度,以及從不同幀的特徵對映之間的差異獲得的時間梯度。

由於OFF中的所有操作都是可微的,所以當OFF插入到一個CNN架構中時,整個過程是端到端可訓練的

實際上,OFF單元僅由CNN特徵的畫素化運算元組成

這些操作符應用迅速,並使得具有RGB輸入的網路能夠同時捕獲空間和時間資訊。

OFF中的一個重要組成部分是來自不同影象/片段的特徵之間的差異。

如圖1所示,來自兩個影象的特徵之間的差異提供了可以由CNN方便地使用的代表性運動資訊。

差異影象中的負值描繪了身體部位/物體消失的位置,而正值表示它們出現的位置。

這種在一個位置消失並在另一個位置出現的模式可以很容易地被視為特定的運動模式並被後來的CNN層捕獲。

時間差可以進一步與空間梯度組合,使得根據我們在後面部分中的推導,由特徵水平上的光流引導構成的OFF。


圖1 光流引導功能(OFF)

左欄輸入框架。 中間兩列:在將OFF應用到兩個幀之前的標準深度特徵右欄:OFF的時間差異。  紅色和青色分別用於正值和負值。 兩幀之間的特徵差異在表示運動資訊時是有效且全面的。

                             


此外,特徵級別的運動動態的計算更快且更穩健,因為

1)它使空間和時間網路具有權重共享的能力

2)深度學習的特徵傳達更多的語義和判別表示,可靠地消除區域性原始幀中的背景噪聲

貢獻

首先,OFF是快速且穩健的運動表示。

OFF快速啟用超過200幀/秒只有RGB作為輸入,並且來自光流並由光流引導。

僅從視訊中獲取RGB,實驗結果表明,與最先進的基於光流的演算法相比,具有OFF的CNN效能接近。

具有OFF的CNN在UCF-101上可以達到93.3%,只有RGB作為輸入,這是目前基於RGB的動作識別方法中最先進的。

當以雙流方式(RGB +光流)在最先進的動作識別方法中插入OFF時,我們的演算法的效能可以導致UCF-101的96.0%和HMDB-51的74.2%。。

其次,可以以端到端的方式訓練配備OFF的網路。

以這種方式,空間和運動表示可以通過單個網路共同學習

此屬性適用於大型資料集上的視訊任務,因為它可能不需要網路預先計算和儲存運動模式以進行訓練。  

此外,OFF可以在影象級別和特徵級別的視訊剪輯中的影象/片段之間使用。

相關工作

傳統方法提取手工製作的區域性視覺特徵,如3DHOG,運動邊界直方圖(MBH),改進的密集軌跡(iDT),然後將它們編碼為稀疏或緊湊的特徵向量分類器。

之後,又發現深度學習的特徵比手工製作的動作識別特徵更好。

基於TwoStream的框架使用深度CNN學習光學流動和iDT等手工藝動作特徵作為動作識別的重大突破。

這些嘗試在提高識別準確度方面取得了顯著進步,但仍然依賴於預先計算的光流或iDT,這限制了整個框架的速度

為了快速獲得運動模態,最近的工作僅在訓練階段使用光流,或者提出的運動向量作為光流的簡化版本。

這些嘗試產生了降低的光流結果,並且仍然沒有與使用傳統光流作為輸入流的方法相同。

許多方法學習使用3D CNN直接從輸入幀捕獲運動資訊。

通過時間卷積和池化操作,3D CNN可以提取連續幀之間的時間資訊,而無需將它們分割成短片段。  

與學習捕獲運動資訊的濾波器相比,我們的OFF是數學上從光流中得出的原理表示。

受網路設計,訓練樣本和重量衰減等引數正則化約束的3D CNN可能無法像OFF一樣學習良好的運動表示。

因此,當前最先進的基於3D CNN的演算法仍然依賴於傳統的光流來幫助網路捕獲運動模式。  

相比之下,我們的OFF:

1)捕獲運動模式,使得帶有OFF的RGB流與兩種流方法相同

2)也與光流等其他運動表示互補

為了從視訊中捕獲長期的時間資訊,一種直觀的方法是引入長短期儲存器(LSTM)模組作為編碼器,以編碼序列說明的深層特徵之間的關係。

LSTM仍然可以應用於OFF

因此,我們的OFF與這些方法是互補的。

與我們的工作同時地,另一個最新的方法應用了稱為分級池的策略,該策略生成快速視訊級別的描述符,即,動態影象。

然而,動態影象與我們的設計和實現的本質是不同的

動態影象被設計為概括一系列幀,而我們的方法被設計為捕獲與光流相關的運動資訊

光流引導特徵

我們提出的OFF受到傳統光流定義的著名亮度常數約束的啟發。 它的表述如下:

                                                                              I(x, y, t) = I(x + ∆x, y + ∆y, t + ∆t)

其中I(x, y, t) 表示a的位置(x,y)處的畫素在時間t的框架。 對於幀t和(t +Δt),Δx和Δy分別是x和y軸上的空間畫素位移。

假設對於在幀t從(x,y)移動到幀t +Δt處的(x +Δx,y +Δy)的任何點,其亮度隨時間保持不變。 當我們在特徵級別應用此約束時,我們有

                                                                     f(I; w)(x, y, t) = f(I; w)(x + ∆x, y + ∆y, t + ∆t)

其中f是用於從影象I中提取特徵的對映函式.w表示對映函式中的引數。 對映函式f可以是任何可微函式

在本文中,我們採用可訓練的CNN,包括卷積,ReLU和彙集操作。 根據光流的定義,我們假設p =(x,y,t)並得到如下等式:

                                                    

通過將上面等式兩側的除以Δt得到

                                                   

其中p =(x,y,t),(vx,vy)表示p處特徵點的二維速度

和 分別是x和y軸上∂f(I; w)(p)的空間梯度。

是沿時間軸的時間梯度。

作為特殊情況,當f(I; w)(p)= I(p)時,則f(I; w)(p)僅表示p處的畫素。 

在這種特殊情況下,(vx,vy)稱為光流。

對於每個p ,通過用上面最後一個等式中的約束求解優化問題來獲得光流。

在這種情況下,術語 表示RGB幀之間的差異。  

以前的研究表明,幀之間的時間差異在視訊相關任務中很有用,然而,沒有理論證據可以幫助解釋為什麼這個簡單的想法很有效。

在這裡,我們可以發現它與空間特徵和光流的相關性。

我們概括了從畫素I(p)到特徵f(I; w)(p)的光流表示。

在這種一般情況下,[vx,vy]稱為特徵流

從式4可以看出,與包含特徵級光流的向量正交隨著特徵級光流的變化而變化

因此,由特徵級光流引導。

我們將 稱為光流引導特徵(OFF)。

OFF對特徵級光流(vx,vy)正交且互補地編碼空間 - 時間資訊。

在卷積神經網路中使用光流引導特徵——網路架構

網路架構概述。

圖2顯示了整個網路架構的概述。

該網路包括三個用於不同目的的子網:特徵生成子網,OFF子網和分類子網。 特徵生成子網使用常見的CNN結構生成基本特徵。

在OFF子網中,使用來自特徵生成子網的特徵提取OFF特徵,然後堆疊若干殘餘塊以獲得精細特徵。

然後,分類子網使用前兩個子網的特徵來獲得動作識別結果。


圖2 網路架構概述

特徵生成子網路為從視訊取樣的每個幀提取特徵

基於由特徵生成子網路提取的兩個相鄰幀的特徵,應用OFF子網路以生成OFF以進行進一步分類。  

來自所有子網路的分數被融合以獲得最終結果。

                                           


圖3展示了具有兩個段輸入的更詳細的網路結構。

如圖3所示,我們通過將它們連線在一起並將它們饋送到一個OFF單元,從特定級別的多個層中提取具有相同解析度的特徵

整個網路有3個不同規模的OFF單元。


圖3 兩個網段的網路架構概述

輸入是藍色綠色的兩個段,分別饋入特徵生成子網以獲得基本特徵。

在我們的實驗中,每個特徵生成子網路的主幹是BN-Inception

這裡K表示選擇用於經歷OFF子網以獲得OFF特徵的方形特徵對映的最大邊長

OFF子網由幾個OFF單元組成,並且幾個殘餘塊連線在不同解析度級別的OFF單元之間。

當從整體上看時,這些殘餘塊構成ResNet-20

由不同子網路獲得的分數是獨立監督的。  

OFF單元的詳細結構如圖4所示。

                


特徵生成子網

基本特徵f(I)(相當於前一節中的表示f(I; w))是使用幾個卷積層從輸入影象中提取的,其中整流線性單元(ReLU)用於非線性函式,最大池用於下采樣。

我們選擇BN-Inception 作為網路結構來提取特徵圖。

功能生成子網可以由任何其他網路架構替換。

OFF子網

OFF子網由幾個OFF單元組成。

不同的單位使用不同深度的基本特徵f(I)。

如圖4所示,OFF單元包含OFF層以產生OFF。

每個OFF層包含用於每個特徵的1×1卷積層,以及包括用於OFF生成的sobel和元素減法的一組運算子。

在獲得OFF之後,OFF單元將它們與來自較低級別的特徵連線在一起,然後組合的特徵將輸出到以下殘餘塊。


圖4 OFF單元的詳細結構

1x1卷積層連線到輸入基本特徵以進行降維。

之後,我們利用Sobel運算元和逐元素減法分別計算空間和時間梯度。

梯度的組合構成OFF,並且Sobel運算元,減法運算子和它們之前的1×1卷積層構成OFF層。

                                                   


OFF層負責從基本特徵f(I)生成OFF。  

圖4顯示了OFF層的詳細實現。

根據等式3,OFF應包括特徵的空間和時間梯度。

將f(I,c)表示為基本特徵f(I)的第c個通道。

將Fx和Fy分別表示為x和y方向的梯度的OFF,其對應於空間梯度。

我們將Sobel運算元應用於空間梯度生成如下

                                             

其中*表示卷積運算,常數Nc表示特徵f(I)的通道數。 將Ft表示為時間方向上的梯度的OFF。

時間梯度通過元素減法獲得如下:

                                                 

通過上面獲得的Fx,Fy和Ft特徵,我們將它們與較低級別的特徵連線在一起作為OFF層的輸出。

我們在Sobel和減法運算之前使用1×1卷積層減少通道數

在我們的實驗中,無論輸入通道有多少,通道尺寸都會減小到128

然後將該特徵輸入OFF單元以計算我們在前一節中定義的OFF。  

在獲得OFF之後,幾個殘餘塊以不同的解析度水平連線在OFF單元之間作為細化。  

在OFF單元附近的殘餘塊中,OFF的維數進一步降低,以節省計算量引數數量

不同解析度級別的殘差區塊最終構成ResNet-20

請注意,在我們的殘差網路中沒有應用批量標準化操作以避免過度擬合問題

OFF單元可以應用於不同級別的CNN層。  

一個OFF單元的輸入包括兩個段的基本深度特徵,以及前一個特徵級別的OFF單元的特徵(如果存在)。

以這種方式,前一語義級別的OFF可用於在當前語義級別上細化OFF

分類子網

分類子網路從不同來源獲取特徵,並使用多個內積分類器來獲得多個分類分數。

然後,通過對每個特徵生成子網或OFF子網進行平均來組合所有采樣幀的分類分數。

語義級別的OFF可以用於在訓練階段產生分類分數,使用其相應的損失來學習

事實證明,這種策略在許多工中都很有用。 在測試階段,可以組裝來自不同子網的分數以獲得更好的效能。

網路訓練

動作識別被視為多類分類問題。

接下來是TSN中的設定,因為每個分段產生多個分類分數,我們需要將它們分別融合在每個子網中,以生成用於損失計算的視訊級分數。  

這裡,對於OFF子網,由級別1上的第t段的OFF子網的輸出產生的特徵由Ft,l表示。

使用Ft,l在級別 l 上的段t的分類得分由Gt,l表示。 級別1的聚合視訊級別得分由G1表示。

視訊級動作分類得分Gl通過以下方式獲得:

                                                                   

其中Nt表示用於提取特徵的幀數

由G表示的聚合函式用於總結從不同段沿時間預測的分數。

在TSN進行調查後,G通過平均彙集實現以獲得更好的效能。  

對於特徵生成子網,上述等式也是適用的。

雖然我們不需要對特徵生成子網路進行中間監督,但是對於段t,級別1的特徵Ft,l簡單地等同於子網路的最終特徵輸出。

為了更新整個網路的引數,將損失設定為標準分類交叉熵損失

由於每個特徵級別的子網都是獨立監督的,因此每個級別都使用一個損失函式:

                                                               

其中C動作類別的數量Gl,c是來自級別l的特徵的類c的估計分數,yc代表地面實況類別標籤

通過使用此損失函式,我們可以通過反向傳播優化網路引數

訓練的詳細實施——兩階段培訓策略

整個網路的培訓包括兩個階段。

第一階段確實是應用現有方法,例如 TSN ,用於訓練特徵生成子網。

在第二階段,我們訓練OFF分類子網路,其中特徵生成子網路中的所有權重都被凍結

從頭開始學習OFF子網和分類子網的權重。

整個網路可以以端到端的方式進一步微調,但是,我們在這個階段沒有發現顯著的收益。

為了簡化培訓過程,我們只使用前兩個階段訓練網路。

訓練的詳細實施——培訓期間的中級監督

在許多其他計算機視覺任務中,中級監督已被證明是實用的培訓策略。

由於OFF子網由中間輸入饋送,這裡我們在每個級別新增中間監督,以在每個解析度級別上獲得更好的OFF。

訓練的詳細實施——降低記憶體成本

由於我們的框架由幾個子網路組成,因此它比原始TSN框架花費更多的記憶體,TSN框架在訓練CNN之前提取和儲存運動幀,並且獨立地訓練多個網路。

為了降低計算和紀念成本,我們在訓練階段取樣的幀少於測試階段,並且仍然獲得滿意的結果。

網路測試

由於不同的子網路產生了多個分類分數,我們需要在測試階段將它們融合在一起以獲得更好的效能。  

在本研究中,我們通過簡單的求和操作來彙總特徵生成子網和最後一級OFF子網的分數。

我們選擇基於最先進的框架TSN來測試我們的模型。

TSN框架下的測試設定如下所示:

  • 在TSN的測試階段,從RGB,RGB差異和光流中取樣25個段。  
  • 但是,每個段中的幀數在這些模態中是不同的。
  • 我們使用TSN採用的原始設定分別為RGB,RGB差異和光流取樣每段1,5,5幀。  
  • 我們網路的輸入是25個段,其中第t個段被視為圖3中的幀T。
  • 在這種情況下,由我們的特徵生成子網的單獨分支提取的特徵是用於段而不是幀時使用TSN。
  • 其他設定與TSN中的設定保持一致。

測試與評估——資料集

實驗結果在兩個流行的視訊動作資料集UCF-101HMDB-51上進行了評估。

UCF-101資料集有13320個視訊,分為101個類,而HMDB51包含6766個視訊和51個類。

我們的實驗遵循官方提供的方案,該方案將資料集劃分為3個訓練測試分裂,最後計算所有3個分裂的平均準確度。

我們通過直接使用OpenCV實現的演算法在訓練之前準備幀之間的光流。

測試與評估——實施細節

我們使用4個NVIDIA TITAN X GPU訓練我們的模型,在CaffeOpenMPI上實施。

我們首先使用相應方法中提供的相同策略訓練特徵生成子網路。

然後在第二階段,我們從頭開始訓練OFF子網路,並凍結特徵生成子網路中的所有引數。

這裡採用小批量隨機梯度下降演算法來學習網路引數。

當特徵生成子網由RGB幀饋送時,OFF子網的整個訓練過程需要20000次迭代才能收斂,初始化為0.02的學習率,並在迭代10000,15000處使用多步策略降低到0.1

當輸入改變為光流等時間模態時,學習速率初始化為0.05,其他策略與RGB中提出的策略保持一致。

Batch大小設定為128,並應用前面部分中描述的所有訓練策略。

在UCF-101和HMDB-51上進行評估時,我們在OFF的空間流上添加了丟失模組。不同方式的訓練引數沒有差異。

然而,當輸入是RGB差異或光流時,隨著更多幀被讀入網路,在訓練和測試階段將花費更多時間。

先決條件

  • OpenCV 2.4.12
  • OpenMPI 1.8.5(安裝時啟用執行緒多重)
  • CUDA 7.5
  • CUDNN 5
  • Caffe依賴

模型下載

                                                                 


表1

三個分裂splits上的UCF-101上的不同實時視訊動作識別方法的準確性和效率的實驗結果。 這裡的符號流表示運動模態光流。 請注意,我們的基於OFF的演算法可以實現實時演算法中最先進的效能。

                                                      


表2

使用UCF-101 Split1上的OFF的不同模態的實驗結果。這裡Flow表示光流。 OFF(*)表示輸入*使用OFF。 例如,OFF(RGB)表示對RGB輸入使用OFF。這裡的速度說明了網路轉發的時間成本。RGB和RGB + Flow的結果來自[43]。 當與RGB融合時,OFF(RGB)可提供4.5%的強勁改善。

                                                        


表3

超級網路精度的實驗結果以及與UCF-101 Split1上的OFF的比較。 “Hyp-Net”表示超列組網路的輸出。

                                                       


表4

與UCF-101和HMDB-51上最先進的方法進行3次分割的效能比較。

                                                       


結論

在本文中,我們提出了光流引導特徵(OFF),這是一種源自光流並由光流引導的新穎運動表示。  

OFF既快又強勁。

通過將OFF插入CNN框架,在UCF-101上只有RGB作為輸入的結果甚至可以與雙流(RGB +光流)方法獲得的結果相比,同時,OFF插入的網路仍然是非常高效,速度超過每秒200幀

此外,已經證明OFF仍然是其他運動表示(如光流)的補充。

基於此表示,我們提出了一種用於視訊動作識別的新CNN架構

該架構在兩個流行的視訊資料集UCF-101和HMDB-51上優於許多其他最先進的視訊動作識別方法,並且可用於加速基於視訊的任務的速度。  

在未來的工作中,我們將在其他基於視訊的任務和資料集上驗證我們的方法。