天天看點

計算機也可以看“視訊”,了解“視訊”

聯合編譯: 高斐  章敏

我們将在文中介紹一種用于視訊中動作檢測的端對端方法,該方法用于學習直接預測動作的瞬時改變。我們認為,動作檢測是一個對運動目标進行觀察并細化假設的過程:觀察視訊中每一個動作變化瞬間,細化關于一個動作将何時發生的所有假設。基于該觀點,我們将提出的模型視為一個基于遞歸神經網絡結構的代理人程式,該代理人程式與視訊進行交流互動。代理人程式觀察視訊幀序列,決定下一步觀察哪裡,何時對運動目标進行動作預測。由于反向傳播算法在這種不可微的環境下不能得到充分利用,我們使用reinforce算法學習智能體的決策政策。我們的模型運用thumos’14和activitynet資料集,僅僅觀測一小部分(2%或更少)視訊幀序列就獲得了state-of-the-art結果。

在計算機視覺研究領域,要對現實世界中曆時長的視訊進行動作檢測是一個頗具挑戰性的科研難題。衆多算法必須不僅能夠推理得出一個動作是否會在視訊中發生,也要能夠預測該動作何時會發生。現有的文獻[22,39,13,46]均采用建構幀級别分類器,在多個時間标尺下,詳盡地在一個視訊中運作這些分類器,并且運用後期處理方式,如時間先驗和極大值抑制。然而,在精确度與計算效率方面,該間接動作定位模型不甚令人滿意。

我們在本文中介紹一種端對端的動作檢測方法,該方法能夠直接推理得出動作的瞬時變化。我們的主要觀點為,動作檢測是一個具有連續性和慣性的觀察細化過程。通過觀察單個或多個幀序列,能夠人為地對動作何時發生做出假設。然後,我們可以重複觀察一些幀序列證明作出的假設,快速确定動作将要發生的位置(例如,圖1所示揮動棒球棒這一動作)。我們能夠有順序地決定将目光投向哪個方向,如何采用與已有算法相比較為簡化的搜尋方法,來細化動作預測假設,獲得精确的動作位置資訊。

計算機也可以看“視訊”,了解“視訊”

圖1:動作檢測是一個觀察與細化的過程。有效地選取幀觀察序列有助于我們快速确定何時揮動棒球棒。

基于上述觀點,我們提出一個單一連續性模型,該模型需要一個曆時較長的視訊作為輸入資訊,輸出檢測所得的動作執行個體的瞬時變化。我們将提出的模型制定為一個代理人程式,該代理人程式可以學習政策,關于動作執行個體形成有序的假設,并對作出的假設進行細化。在一個遞歸神經網絡結構中運用這一觀點,我們采用反向傳播算法與reinforce算法[42]相結合的方法全面端對端訓練所提出的模型。

我們的模型是從一些研究文獻中汲取靈感的,這些文獻運用reinforce算法來學習對圖像分類與加字幕的空間觀測政策[19,1,30,43 ]。然而,動作檢測仍面臨另一個挑戰,即如何處理一個結構化檢測輸出結果的變量集合。為了解決這一難題,我們提出一個既能夠決定運用哪一個幀觀測下一個潛在動作,也能夠決定何時對動作變化作出預測。此外,我們介紹了一種獎勵機制,使得計算機能夠學習這一政策。就我們所知,這是首個學習視訊動作檢測的端對端方法。

我們認為,我們的模型具備有效推理動作瞬時變化的能力,并且能夠運用thumos’14和activityne資料集獲得state-of-the-art性能。此外,我們的模型能夠學習決定使用哪一個幀進行觀測或實時觀測,它也具備僅觀測一部分(2%或更少)幀序列,便可學習決策政策的能力。

視訊分析與活動識别領域具有悠久的研究曆史[20,449,2,31,17,8,10,112,50]。我們參考poppe[24]與weinland等人[40]的研究對該領域進行研究。這裡我們将回顧近來有關瞬時動作檢測的文獻。瞬時動作檢測 該研究方向的典型研究成果當屬ke等人[14]。rohrbach等人[27]與ni等人[21]在一個固定錄影機廚房環境下,以手和物體為特征分别檢測娴熟的烹饪動作。與我們目前研究更為相關的是無限制無修改設定的thumos’14動作資料集。oneata等[22],王等[39],karaman等[13],及yuan等[46]在滑動視窗架構中使用密集軌迹,幀級别cnn特征,和/或聲音特征檢測瞬時動作。sun等[34]基于網絡圖像提高檢測性能。pirsiacash與ramanan[23]對複雜的動作建立文法結構,并及時檢測子成分。

空間-時間動作檢測方法也得到了發展。在“無限制”的網絡視訊環境下,發展這些方法需要有大量關于空間-時間動作假說的文獻[44,16,36,9,7,45,41]。動作檢測更為寬泛的檢測場景分析也是一個活躍的研究領域。shu等[32]在人群中進行推理,loy等[18]運用多台錄影機場景進行推理,kwak等[15]遵循基于二次程式設計的執行個體化原則進行推理。這些研究存在一個共同點,即在時間次元内典型地運用基于滑動視窗的方法,在空間-時間動作假說或人類軌迹的基礎上進行推理。此外,這些研究是運用經過修剪或限制的視訊剪輯開展來的。與之形成鮮明對比,我們運用無修剪,無限制的視訊剪輯完成空間動作檢測任務,提供了一種有效的方法來确定使用那些幀序列進行觀測。

端對端檢測 我們直接推理動作的瞬時變化的研究目的與關于從整幅圖像到物體變化的物體檢測的研究工作具有相同的哲學意義[29,35,5,6,26,25]。相反,現有的動作檢測方法主要運用詳盡的滑動視窗方法和後期處理程式得出動作執行個體[22,39,13,46]。就我們所知,我們的研究工作是首個采用端對端架構學習瞬時動作檢測的。

學習特定任務政策 我們從近期使用reinforce算法來學習特定任務政策的途徑中獲得研究靈感。mnih等[19]學習圖像分類的空間注意政策,xu等[43]學習圖像字幕生成。在非視覺化任務中,zaremba等[47]學習reinforce算法神經圖靈機政策。我們采用的方法是建立在這些研究方向之上,運用強化法學習處理動作檢測任務的政策。

我們的研究目的是運用一個長的視訊序列,輸出任意一個指定動作的執行個體。圖2所示為我們的模型結構。我們将這個模型制定為一個reinforce算法代理人程式,該代理人程式與視訊在特定時間段内進行交流溝通。代理人程式接收一系列視訊幀序列v={v1,…,vt}作為輸入資訊,能夠觀測固定比例的幀序列。該模型必須能夠有效地利用這些觀測結果,或幀觀測結果,來推理動作的瞬時變化。

我們提出的模型由兩個主要成分構成:一個觀測網絡(見3.1.1),一個遞歸網絡(見3.1.2)。觀測網絡為視訊幀的視覺表征編碼。遞歸網絡有序地加工這些觀測結果,并決定運用哪一個幀序列觀測下一個動作,何時對動作變化作出預測。我們現在将更為詳細地描述這兩個組成成分。之後在3.2,我們将闡釋如何運用端對端的方法,結合反向傳播算法與強化手段訓練我們提出的模型。

如圖2所示,觀測網絡f0,用參數θ0表示,在每一個時間步長中觀察單一的視訊幀。在該觀測網絡中,用特征向量on為幀編碼,将該特征向量作為遞歸網絡的輸入資訊。

重要的是,on表示在視訊中何處進行觀測及觀測什麼的編碼資訊。因而,觀測網絡的輸入資訊由觀測的正常時間位置與相對應的視訊幀構成。

觀測網絡結構受到文獻[19]中涉及到的空間觀測網絡啟發。ln和vln被映射到一個隐蔽的空間内,然後,與一個全面的連接配接層相結合。在我們的實驗中,我們從一個經過優化的vgg-16網絡中提取得到fc7特征。

遞歸網絡fh,用參數oh表示,是學習代理人程式的核心網絡結構。正如可以在圖2中觀測到的,在每一個時間步長n中,該網絡的輸入資訊為一個觀測特征向量on。該網絡的隐蔽空間hn,on與先前隐蔽空間hn-1,為動作執行個體建構時間假說。

在代理人程式推理的過程中,每一個時間步長内輸出三種資訊:候選檢測結果dn,标志是否産出預測結果dn的二進制訓示參數pn,及确定觀測下一個動作的幀的時間位置ln+1。

計算機也可以看“視訊”,了解“視訊”

圖2:該模型的輸入資訊為一系列視訊幀序列,輸出資訊為一系列動作預測結果。

我們的最終研究目的是學習輸出一系列動作檢測結果。為了實作這一目标,我們需要在代理人程式的遞歸網絡中的每一步訓練這三種輸出資訊:候選檢測結果dn,預測訓示值pn,及下一個觀測位置ln+1。鑒于對長視訊中瞬時動作注釋的檢測,訓練這些輸出結果面臨着設計合适的損失與獎勵函數,處理不可微模型組成成分。我們運用标準的反向傳播算法來訓練dn,運用強化手段來訓練pn和ln+1。

運用反向傳播算法訓練候選檢測結果,以確定每一個候選檢測結果的正确性。由于每一個候選結果都代表代理人程式關于動作作出的假設,不論每一個候選結果最終是否得到輸出,我們都希望確定該結果最為正确。這便要求在訓練過程中将每一個候選結果與一個ground truth執行個體相比對。代理人程式應當在視訊中最接近目前位置的地方對動作執行個體作出假設。這有助于我們設計出一個簡單卻有效的比對函數。

與ground truth 相比對 如果存在一個由遞歸網絡中n個時間步長得出的候選檢測結果集合d={dn|n=1,…,n}和ground truth 動作執行個體g1,…,m,那麼每一個候選檢測結果都将于一個ground truth執行個體相比對;如果m=0,那麼沒有比對結果。

我們定義比對函數為

計算機也可以看“視訊”,了解“視訊”

換句話講,如果在時間步長n内,代理人程式的時間位置ln比任何一個ground truth執行個體都接近gm,候選結果dn與ground truth gm比對。

損失函數 一旦候選檢測結果與ground truth執行個體得以比對,我們運用集合d來優化一個多重任務分類與定位損失函數:

計算機也可以看“視訊”,了解“視訊”

公式中的分類術語    是一個關于檢測信度cn的标準交叉熵損失值,如果檢測結果dn與一個ground truth執行個體相比對,那麼信度接近1;否則,信度為0。

我們運用反向傳播算法優化該損失函數。

觀測定位與預測指數輸出結果是我們的模型中不可微的組成成分,無法用反向傳播算法訓練這些輸出結果。然而,強化手段是一種強有力的方法,能夠實作在不可微的環境下進行學習。下文我們将簡略描述這種強化手段。之後,我們介紹一種與強化手段相結合的獎勵函數,學習觀測與預測輸出序列的有效政策。

強化手段  存在Α,一個動作序列空間,和一個pθ(a),強化目标可以表示為

計算機也可以看“視訊”,了解“視訊”

在該公式中r(a)為配置設定給每一個可能動作序列的獎勵,j(θ)為每一個可能動作序列分布結果的預期獎勵。我們希望學習網絡參數θ,該參數使每一個位置序列和預期訓示輸出結果的預期獎勵實作最大值。

目标梯度為

計算機也可以看“視訊”,了解“視訊”

由于可能動作序列具有高次元空間,這将導緻一個特殊的優化問題。強化手段通過使用蒙特卡洛樣本和近似梯度方程學習網絡參數,以解決這一問題。

計算機也可以看“視訊”,了解“視訊”

由于一個代理人程式與周圍環境進行交流溝通,在我們的視訊中,πθ為代理人程式的政策。在每一個時間步長n内,an是該政策的目前動作,h1:n為包括目前狀态在内的過去狀态的曆史記錄,a1:n-1為過去動作的曆史記錄。通過在其所處環境中,經營一個代理人程式的目前政策,以獲得k互動序列,最終計算得出近似梯度。

根據該近似梯度,強化手段學習模型參數。導緻高未來獎勵的動作的機率在不斷增長,那些導緻低獎勵的機率将下降。可以運用反向傳播算法對模型參數實施實時更新。

計算機也可以看“視訊”,了解“視訊”

圖1:thymos`14上的行動檢測結果。與thumos`14挑戰榜排行前3的性能進行比較,并且展示了消融模型。map報道了不同的交叉聯合(intersection-over-union/iou)門檻值α

獎勵函數 訓練強化手段要求設計出一個合适的獎勵函數。我們的目标是學習位置與預測訓示輸出結果的政策,這些輸出結果将産生高回憶和高精确度的動作檢測結果。因而,我們介紹一種能夠使真肯定檢測結果最大化,而使假肯定檢測結果最小化的獎勵函數:

計算機也可以看“視訊”,了解“視訊”

所有的獎勵都是在nth(最後)時間步長時提供的,且n<n時為0,因為我們想找到一個可以共同産生高整體檢測性能的方法。m是正确标注(ground truth)行為執行個體的數量,并且np是代理發出預測的數量。n+是正的正樣本(positive predictions)預測數量,n-是最小正的負樣本(false positive)預測數量,并且r+和r-分别是每一個預測的正獎勵和負獎勵。如果一個預測與正确标注的重疊比門檻值大,且比其他所有的預測還高,那麼該預測就是正确的。為了鼓勵代理人不過于保守,當視訊包含正确标注執行個體(m > 0),但該模型沒有發出任何預測(np = 0)時,我們提供一個負面的獎勵rp。

我們使用有reinforace的函數訓練位置和預測名額輸出,并學習觀測和排放政策(emission policies)以優化行動檢測。

我們在thumos`14和activitynet兩個資料集評估了我們的模型。結果顯示,我們的端對端的方法確定了模型可以最大幅度的在兩個資料集産生最好的結果。此外,幀的學習政策即有效又高效;當觀測到的視訊幀隻有2%或更少的時,模型達到了這些結果。

對于每一個行動級别我們都學習了1-vs-all模型。在觀測網絡中,我們使用了vgg-16網絡優調資料集,以便從觀測的視訊幀中提取視覺特征。fc7-layer特征被提取并嵌入幀的時間位置到1024維的觀測向量。

對于遞歸網絡,我們使用了一個3層lstm網絡(在每一個層都有1024個隐藏單元)視訊在thumos`14向下采樣到5fps,在activityne向下采樣到1fps,并且在50幀的序列中進行。代理被給予了對于每個序列固定數量的觀測,我們實驗中代表性的數量是6。在視訊序列中,所有的時間位置被歸一化成[0,1]。任何預測重疊或交叉序列的邊界都會被融合到一個簡單的聯盟規則。我們學習256序列中極小的一部分,并且在優化時使用rmsprop模拟預參數學習率(the perparameter learning rate)。其它的超參數通過交叉驗證(cross-validation)來學習。序列的系數包含了每一個極小部分(mini-batch)的正執行個體,它是阻止模型過渡保守的一個非常重要的超參數。大概三分之一到一半的正執行個體被代表性的使用。

thumos`14的行動檢測任務包括20類運動,且表1顯示了在這個資料集上的結果。因為該任務隻包括資料集中101類動作的其中20類,我們第一次粗過濾了這些類測試視訊的整個集,用視訊水準的平均值池化類機率——每300幀計算一次(0.1fps)。我們報道了不同iou門檻值的αmap,并與thumos`14挑戰榜排名前3的性能進行了比較。所有這些方法計算密集的軌迹和/或時間視窗的cnn特征,并使用一個非最大抑制滑動視窗的方法獲得預測。僅使用密集的軌迹,[使用時間視窗結合密集的軌迹和cnn特征,以及使用有着視訊水準cnn分類預測的密集軌迹的時間視窗。

計算機也可以看“視訊”,了解“視訊”

圖檔3:将我們的w / odobs描述與所有的模型進行比較。參考圖5中圖形結構的說明

和配色方案。每個模型的觀測幀用綠色顯示,預測程度用紅色顯示。允許模型選擇要觀測的幀,以確定行動邊界上所需的分辨率。

我們的模型優于所有在α值處現存的方法。随着α的減少,相對利潤率增加了,這表明我們的模型更頻繁地預測接近于正确标注情況的行動,即使不精确定位的情況相。我們的模型使用它的學習觀測政策進行到視訊幀的2%時就實作了該結果。

消融(ablation)實驗.表1也顯示了消融實驗的結果,分析不同模型元件的貢獻。消融模型如下:

·我們的w/o dpred移除預測名額輸出。在每一個時間步長的候選檢測都被發出,并與非極大值抑制合并。

·我們的w/o dobs移除了位置輸出名額(下一個要觀測哪一個地方)。觀測不再是由均勻采樣相同總數的觀測決定。

·我們的w/o dobs w/o dpred移除了預測名額和位置預測輸出

·我們的 w/o loc移除位置回歸。所有發射檢測都是訓練集的中等長度,并集中在目前觀測到的幀。

·有nms的cnn移除了時間行動邊界的直接預測。我們觀測網絡中vgg-16網絡的預-幀類機率,是在多個時間尺度上密集獲得的,并且聚合了非最大抑制,類似于現有的工作。

 由于大量的正的負樣本(false positives),相比于整個模型我們的w/o dpred獲得了更低的性能。我們的w/o dobs同樣更低效,因為均勻采樣沒有提供足夠的分辨率來定位動作邊界(圖3)。有趣的是,移除dobs相比于比移除dpred對模型的損害更大,這突出了觀測政策的重要性。如想象的一樣,移除我們的w/o dobs和w/o dpred的輸出進一步降低了性能。我們的w/o loc在α=0.5時性能最差,甚至低于cnn的性能,這反映出了時間回歸的重要性。cnn減少相對差異,以及當我們減少α時的翻轉,暗示出模型仍然檢測出了行動大概的位置,但精确定位的影響。最終,有nms的cnn相比于所有的消融模型(除了我們的w/o loc模型)達到了最低的性能,量化我們對于端對端架構的貢獻。使用稠密軌迹和的imagenet 預訓練cnn特征,它的性能同樣在除了更低的範圍内。這表明,另外結合運動為基礎的特征,将進一步提高我們模型的性能。

計算機也可以看“視訊”,了解“視訊”

表2:在iou α=0.5時,thumos`14的per-class breakdown(ap)。

作為額外的基線,我們在lstm的頂部執行了nms,一個标準的時間網絡,會産生幀級别的流暢性和一緻性。盡管增加了更大的時間一緻性,有nms的lstm相比于有nms的cnn有着更低的性能。主要的原因可能是增加幀級别類機率的時間流暢性(精準定位時間邊界所需要的),對于行動情況檢測任務來說實際上是有害的,而不是有益的。

計算機也可以看“視訊”,了解“視訊”

圖4:thymos`14上的預測動作情況執行個體。每一行顯示在檢測動作的時間範圍内,或隻是在外面的采樣幀。褪色的幀顯示檢測外的位置并說明了定位能力。

計算機也可以看“視訊”,了解“視訊”

圖5:thumos`14的學習觀測政策執行個體。上面顯示了擲标槍的例子和底部顯示了潛水的例子。觀測到的幀的顔色為綠色并用幀索引标記。紅色表示預測範圍,灰色表示正确的标示。為了參考,我們還展示了使用在我們觀測網絡中來自于vggnet的幀水準的cnn機率;高強度表示更高的機率,并提供對類的幀級信号的洞察。虛線箭頭表示觀測序列,紅色箭頭訓示發出預測的幀。

最終,我們實驗了不同數量的觀測前視訊序列,如4,8和10.在該範圍中,檢測的性能沒有實質性的不同。這是與其他使用在cnns最大池化進行動作識别的工作一緻,突出學習有效幀觀測政策的重要性。

預-類分解(per-class breakdown).表2顯示了我們模型的預-類ap分解,并且與thumos`14排行榜最好的性能進行比較。我們的模型産生20個類中的12個類。值得注意的是,它顯示了一些資料集中最具挑戰性的類表現出了很大的改善,如籃球,跳水,和接住飛盤。圖4顯示我們模型預檢測的執行個體,包括這個來自挑戰性類的檢測。模型在行動程度整體合理化的能力,確定了它可以推測時間邊界(甚至在幀是具挑戰性的時候):例如,類似姿勢和環境,或在第二個潛水的例子中場景突然變化。

觀測政策分析.圖5顯示了我們模型學習的觀測執行個體,以及伴随的預測。為了參考,我們還展示用于我們觀測網絡中vggnet的幀水準的cnn機率,以提供行動幀水準信号的認知。上面是一個 擲标槍的例子,一旦人開始奔跑,該模型就開始進行更頻繁的觀測。接近行動的端邊界,它退一步以完善其假設,然後在移動之前發出一個預測。下面潛水的例子是一個具有挑戰性的情況下,其中兩個動作執行個體發生的非常快速連續。而幀水準cnn的機率的強度超過序列,使得用标準滑動視窗的方法來處理變得非常困難,我們的模型能夠分辨兩個單獨的執行個體。該模型再次采取步驟向後完善其預測,包括一次(幀93)運動非常模糊,使得它很難從其它的幀中辨識出來。然而,預測在某些方面比正确标注要長,并且向上觀測第二個情況的第一個幀(幀101),該模型立即發出的預測可媲美長于第一個幀,但持續時間稍。這表明,該模型可能學習時間的先驗,同時極大受益,在這種情況下它過于強大。

計算機也可以看“視訊”,了解“視訊”

圖6:activitynet上工作子集的學習觀測政策執行個體。行動是組織箱。參考圖5圖形結構和色彩方案的解釋。

activitynet動作檢測資料集由849小時内未修剪的68.8小時的時間注釋組成,無限制的視訊。每個視訊有1.41個動作執行個體,且每一個類有193個執行個體。表3和4分别顯示了每個類和map在activitynet的子集“運動”和“工作,主要工作”的性能。并且超參數在訓練集上進行交叉驗證。

計算機也可以看“視訊”,了解“視訊”

表3:iou α=0.5時,activitynet sports子集上的per-class breakdown和map。

我們的模型優于現存的工作,它的基礎是是通過大量的差數,結合密集軌迹,sift,和imagenet-預訓練cnn特征。它優于sports子集21類中13類,和work子集15類中10類。在工作子集上的改進是特别大的。這是部分歸因于工作活動通常是不太明确的,并有較少的歧視性運動。圖6 organizing boxes行動的訓練執行個體中,在較弱的地方這是顯而易見的——更擴散的幀水準cnn行動機率。而這給依靠後處理的方法就造成了一個挑戰,我們的模型直接推理作用程度,確定它能夠産生強烈的預測。

計算機也可以看“視訊”,了解“視訊”

表4:iou α=0.5時,activitynet work子集上的per-class breakdown和map。

總之,我們已經介紹了一個針對視訊中動作檢測的終端到終端的方法,直接學習預測動作的時間界限。我們的模型在thumos`14和activitynet行動檢測資料集上實作了最佳性能(隻看一小部分的幀)。未來的工作方向是擴充我們的架構,學習聯合時空觀測政策。

哈爾濱工業大學李衍傑副教授的點評:在計算機視覺研究領域,對曆時較長的視訊進行動作檢測是一個頗具挑戰性的研究難題。這篇論文介紹了一種端對端的動作檢測方法,該方法能夠推理出每個時刻的動作檢測的範圍。動作檢測是一個連續的反複的觀察細化過程。我們人類能夠通過觀察單個或多個幀序列,對動作何時發生做出假設,進而略過一些幀迅速地縮小行動檢測的範圍,決定應該看哪些幀以及是否要改進自己的假設來增加動作檢測的定位精度,進而避免了窮舉式搜尋。基于這種直覺思想,本文模仿人的這種能力将一些幀序列作為輸入,在觀測神經網絡和遞歸神經網絡學習訓練的基礎上,得到了每個時刻動作檢測範圍,進而有助于提高動作檢測的效率。在該方法中,将整個網絡分為觀測神經網絡和遞歸神經網絡,觀測網絡使用了已有的vgg-16網絡,而遞歸網絡則模仿人的假設預測定位過程分别使用了bp反向傳播算法和reinforce算法來進行學習訓練,最終通過實驗驗證了算法的有效性。

本文作者:高婓

繼續閱讀