丁洪金,宮法明
(中國石油大學(華東) 計算機與通信工程學院,山東 青島 266580)
檢測人類行為活動對視頻的理解是至關重要的。檢測人類行為活動一直是計算機視覺領域的一個重要研究課題[1]。近年來由于視頻數據的爆炸式增長和實際生產生活等各方面對視頻智能化處理的急切需要,基于時序行為檢測的方法受到越來越多的關注。時序行為檢測現存很多難題:在目標檢測中,物體目標的邊界通常都是非常明確的,所以可以標注出較為明確的邊界框。但時序行為的邊界很多時候并不是很明確,如何定義一個行為的開始和結束,無法給出一個準確的邊界,也就是精確的第幾幀;雖然結合時序信息的行為識別效果會更好一些,但是只使用靜態(tài)圖像的信息,而不結合時序信息在行為識別中是可以的。然而,在時序行為檢測中,無法只使用靜態(tài)圖像信息,它必須結合時序的信息,比如使用RNN讀入每幀圖像上用CNN提取的特征[2]或用時序卷積[3]等;時序行為片段的時間跨度變化可能非常大。例如海上平臺監(jiān)控系統(tǒng)的視頻數據集,也是從幾秒到幾千秒。
文中提出一種精確時序行為檢測方法,在未修剪長視頻中識別并定位出靜止,跌倒及其時間節(jié)點。此任務的關鍵主要在于兩點:第一,高質量的時序片段。時序片段質量的高低,直接影響行為的時序邊界的精確度。很多方法都是使用產生候選區(qū)域(proposal)后,對候選進行分類的方法,重要的是較高的候選質量。也就是說在保證平均召回率的情況下,盡可能減少候選的數量。對于所有方法,獲取準確的時序行為邊界都是非常重要的;第二,準確的分類,即能準確得到時序行為片段的類別信息。為使分類準確,采用細化的時序動作性分組網絡(refined temporal actionness grouping,RTAG),通過設定動作性得分的閾值,來細化動作分類。
輸入為未處理的石油采油廠海上平臺監(jiān)控視頻,進入深度CNN網絡[4]訓練成的動作性分類器,輸出動作性得分。動作性得分形成的波形進入細化的時序動作性分組網絡形成候選區(qū)域,再送入動作分類器得出檢測結果。采用先產生候選,再對候選進行分類的方法?;跁r序分析的人體活動狀態(tài)識別與定位在實際應用中有重大的意義。例如,海上石油平臺具有遠離陸地、海況復雜、救逃難度大等特點,在海上平臺進行石油鉆采生產作業(yè)的工作人員面臨著各種危險因素,如跌倒、墜海等。此外,如果有非法人員入侵等情況,極易出現安全問題和經濟損失。想要了解事件發(fā)生的全部過程,并預防危險事件的發(fā)生,靠人工快速定位某一事件發(fā)生的時間段并進行預警是很困難的。但是,用時序人體活動狀態(tài)定位卻可以快速定位到想要查找的片段并且通過對人的狀態(tài)分析判斷此時工人行為是否異常。
文中主要貢獻:復雜的場景應用,在海上石油平臺場景下監(jiān)控視頻的人體活動狀態(tài)識別與定位;采用RTAG網絡多閾值細化動作分類邊界以滿足不同精度的要求。采用深度學習網絡框架提高精準率。
為了快速定位某一非正常事件發(fā)生的時間段,及時了解多個海上采油平臺工人操作的情況,系統(tǒng)主要涉及到行為識別、目標檢測、時序動作檢測這三方面的工作。
近年來行為檢測的研究取得了重大進展。早期的方法一般是基于手工設計特征[5]。隨著對行為檢測的進一步研究與發(fā)展,基于深度學習的行為檢測方法在檢測性能上效果顯著。卷積神經網絡(CNN)[4],雙流體系結構,3D-CNN網絡[6]的應用對視頻的時間特征和動作特征進行結合,從多個維度對視頻進行特征提取與分類[7],實現了很好的效果。但是,這些方法基本上是處理短視頻或者是視頻的小片段,而對于未修剪長視頻的一些方法探索,主要有分段網絡結構[3]等其他一些相互結合的方法。自從深度學習被應用在行為檢測上,已經實現了無監(jiān)督[8]地從數據中學習到視頻的時空動作性特征,并且以級聯(lián)的方式實現端到端的訓練。
目前,物體識別方法可以歸為兩類:一類是基于模型的或者基于上下文識別的方法,另一類是二維物體識別或者三維物體識別方法。早期,目標檢測的主流方法[9-11]是通過自下而上的系統(tǒng)方法產生候選,有些是用滑動窗口的方法產生候選[12],然后對候選進行分類。目前,基于深度學習方法[13]所產生的候選區(qū)域在候選數量較少的情況下,也會有比較好的平均召回率。深度模型還引入了捕獲對象外觀的強大建模能力??臻g結構建模具有很強的視覺特征,仍然是檢測的關鍵所在。特別的,引入ROI池[10,14],以最小的額外成本對目標的空間立體結構進行建模,這一想法在R-FCN[6.14]中得到了進一步的體現。
時序動作檢測發(fā)展到今天,已經取得了不少成果。以往關于行為檢測的工作主要是使用滑動窗口[5]作為產生候選區(qū)的方法,并專注于設計手工構造的特征表示及分類[15-17]。最近的工作將深度網絡[3]納入檢測框架,并獲得了更好的性能。但是,時序動作定位這一研究方向的性能指標依舊很低。將數百或數千個候選分類,仍然需要監(jiān)督。由于監(jiān)督成本的原因,所有這些方法都被限制在相對較小的數據集中,不能簡單地推廣到更多的類型。初始時序動作定位是基于滑動窗口方案上,首先對視頻進行特征提取,通過滑動窗口產生不同長度的候選,然后對候選進行分類;最近的方法是基于行動區(qū)域[18],以減少搜索的復雜性。首先,從視頻中提取目標區(qū)域,進行特征提取,然后選擇目標區(qū)域進行分類[15,18]。這些方法需要對每幀圖片進行標注然后進行視頻訓練,這對于大規(guī)模的數據集來說,標注工作是不可能及時實現的。因此,基于無監(jiān)督的時序動作定位是此研究方向需要急切解決的問題。由于時序動作定位和目標檢測之間存在一定的相似性,所以很多時序動作定位方法都采用了與一些目標檢測方法相似的框架[19]。
基于海上采油平臺的實際情況和快速定位視頻中行為片段的目的,采用圖1所示流程進行人體活動狀態(tài)識別與定位。輸入為未處理的視頻進入一個自下而上的深度網絡處理結構[19],提取特征后產生時序區(qū)域候選,然后對區(qū)域候選進行抽樣。抽取的樣本進入CNN網絡訓練成的動作性分類器,動作性分類器對區(qū)域候選與標準動作相似度進行打分,產生一維的動作性得分波形。分數波形送入RTAG網絡,設置不同的RTAG網絡閾值來實現不同定位精度的要求。由RTAG網絡產生不同精度的候選建議(proposal),將產生的所有候選建議輸入動作分類器進行動作類別和邊界的檢測,最后得出檢測結果。方法框架分為兩個階段:產生動作候選和候選的分類。由于影響時序動作檢測精度的主要因素是候選的質量,所以文中技術重點放在生成高質量的候選上。考慮到實際需要的是能快速定位某一行為片段,這就要求該網絡框架能夠有較高的檢測效率。
圖1 時序動作精確檢測流程
視頻幀經過動作性分類器后,會產生一個一維的波形,這個波形便是區(qū)域候選與標準動作相似度的得分。文中的目的是根據這個相似度波形來定義視頻幀是否為此種標準的動作。
由低上升的波形是一維信號序列的動作概率p波形,由高降低的波形是動作概率的互補波形,定義為1-p,中間是動作性概率按閾值為0.4時,判為標準動作幀的候選區(qū)域。由此,可以看出,選擇不同的閾值和進行不同數量的抽樣,都會影響時序的判定精度。中間每個“盆地”越低,則對應的是一個動作性概率越高的時間區(qū)域提案。根據設置的不同閾值來產生候選提案。該方案首先通過閾值獲得若干動作幀,這里的片段是一個連續(xù)的片段子序列,其動作分數超過一定的閾值。為了產生一個區(qū)域提案,選擇一個片段作為起點,然后通過合并后續(xù)片段來重新擴展動作性分數高的區(qū)域時間。
卷積神經網絡作為深度學習模型的一種,能從數據中自動學習并提取特征[20]。由于一層卷積學到的特征往往是局部的,層數越高,學到的特征就越全面,越全局化。文中采用多層卷積網絡訓練模型[20],進行特征提取,動作性得分,動作分類的分類器模型的訓練。
池化操作的優(yōu)點是降低特征維數,同時保留了大部分有用的特征,減小了計算量。在池化操作之后,Feature Map個數和上一層一樣,但是大小便為原來的1/n,計算公式如下:
其中,down表示池化函數。
CNN同一特征映射面上的神經元權值相等,可以進行網絡的并行學習。權值共享可以減少網絡的訓練參數,降低了網絡的復雜性,特別是多維輸入向量可以直接輸入網絡,避免了特征提取和分類過程中數據重建的復雜度。CNN主要用來識別位移、縮放及其他形式扭曲不變性的二維圖形。由于CNN的特征檢測層通過訓練數據進行學習,所以在使用CNN時,避免了顯式的特征抽取,而隱式地從訓練數據中進行學習;再者由于同一特征映射面上的神經元權值相同,所以網絡可以并行學習,這也是卷積網絡相對于神經元彼此相連網絡的一大優(yōu)勢。卷積神經網絡以其局部權值共享的特殊結構在語音識別和圖像處理方面有著獨特的優(yōu)越性,其布局更接近于實際的生物神經網絡。流的分類方式幾乎都是基于統(tǒng)計特征的,這就意味著在進行分辨前必須提取某些特征。然而,顯式的特征提取并不容易,在一些應用中也并非總是可靠的。卷積神經網絡明顯有別于其他基于神經網絡的分類器,通過結構重組和減少權值將特征提取功能融合進多層感知器。它可以直接處理灰度圖片,能夠直接用于處理基于圖像的分類。
候選建議的生成是文中實現時序行為精確檢測的第一階段,也是實現精確邊界定位的關鍵。未修剪視頻輸入到一個自下而上的深度CNN網絡,這個網絡的任務是提取片段、評估片段動作性、生成區(qū)域候選。每個片段結合了視頻幀和由此導出的光流場,它不僅傳遞了特定時刻的場景外觀,而且還傳遞了當前的運動信息。給定一個視頻,將有規(guī)律地對產生的片段序列進行間隔提取。為了得到高質量的候選,引入動作性(actionness)[21]這一概念。
無分類片段在任意活動中屬于此行為的概率得分。因此,活動實例很可能出現在包含具有相對較高活動性的片段的視頻部分中,即得分高的候選。為了評估動作性,學習了一個基于時間段網絡的二進制分類器。在設定的閾值之下二進制分類器輸出為0,大于等于閾值,分類器輸出為1。為了處理長的時序動作,用整個視頻來訓練一個雙流的CNN網絡。在實際應用時,將視頻中的區(qū)域片段作為輸入。訓練分類器時,將所有帶注釋的動作實例作為正區(qū)域樣本,隨機抽取視頻中沒有任何動作的實例作為負區(qū)域樣本。利用從視頻中提取的一系列片段,使用上面所學習的分類器來評估每個片段的行為得分。分數的范圍是0到1,因此可以理解為片段在行動中的概率。為了產生時態(tài)區(qū)域候選,基本思想是將連續(xù)的片段分組,并取得高的動作分數。由于目標是針對海上采油平臺這一特定場景,對噪聲的魯棒性和處理長度大幅度變化的能力是兩個要求。考慮到這些目標,設計了一種穩(wěn)健的分組方案,該方案允許偶然的異常值。
動作性分類器是可以由視頻片段訓練而成的二進制分類器,用它來計算單個片段的動作性概率。基本思想是找出動作性概率高的連續(xù)區(qū)域。
產生一系列的候選區(qū)之后,就是將它們分為特定的行動類別。如前所述,這是由一個級聯(lián)管完成的。移除屬于背景的內容之后,采用基于TSN的活動分類器對其余的候選區(qū)域進行分類。學習到的分類器將以固定的幀速率應用于視頻,為每個采樣片段產生分類分數。對于每個區(qū)域支持的片段分類分數,被聚合成區(qū)域級別的分數,以便將候選分類到其活動類或背景中。具體來說,活動分類器A將輸入建議分類為k+1類。活動類(帶有標簽1,2,…,k)和附加的“背景”類(帶有標簽0)。該分類器將其范圍限制在過程階段,并根據相應的特征進行預測。在高級特征的基礎上被實現為線性分類器。給定建議,活動分類器將通過Softmax層生成標準化響應向量。
對人體的動作進行分析時更多關注的是局部細節(jié)動作,但在視頻監(jiān)控中細節(jié)動作特征往往表現得并不明顯。通過RTAG網絡,在此基礎上完成動作分類任務,這種方式也具有較好的識別能力。
在本節(jié),評估了文中方法的有效性和實際應用的可行性。首先介紹了評估數據集和該方法實施細節(jié),然后探討了各部分組件在框架中的效果。將數據集按2∶1∶1的比例分成訓練集、驗證集和測試集。原始數據來自于海洋采油廠的流媒體服務器。各個海洋平臺上的監(jiān)控設備保持固定不動,以海洋工作平臺作為監(jiān)控場景,并通過微波的方式將實時的監(jiān)控視頻傳輸并存儲到流媒體服務器中。
針對海洋平臺這個特殊場景,從安保工作的角度預置了包括站立、行走、跌倒三種動作,共采集1 000組動作序列作為人體動作模型庫標準。每種動作類型具體的數據分布如表1所示。
表1 不同動作類型的數據分布
以端到端方式訓練結構化的分段網絡,以原始視頻幀和產生的候選作為輸入。用SGDR來學習CNN參數。RGB網絡的初始學習速率設置為0.1,光流網絡的初始學習速率設置為0.5。利用建立的訓練集上訓練的動作分類器來生成候選。分類器的識別率與圖像訓練集數量的關系如圖2所示。
圖2 海洋平臺場景下的目標檢測 識別率與訓練集數據的關系
圖2顯示了分類器的識別率與訓練集數量的變化趨勢,隨著訓練集的不斷增加,目標的識別率并不是呈線性增長,而是達到峰值后又呈降低的趨勢。這可能是因為針對同一場景,隨著訓練集的增多,提取到的特征過于單一,如果訓練集和測試集的特征分布不一致,則易于出現過擬合的現象。文中選取峰值處的模型定為目標分類器,結合目標檢測模型,得到的檢測結果如圖3所示。
圖3 海洋平臺場景下與分類器結合的目標檢測
圖3(a)是海洋平臺攝像頭所拍攝的原始圖像,場景較為復雜,人員目標檢測時易受柱形管道的干擾;如圖3(b)所示,誤將柱形管道識別成人員目標;圖3(c)是目標檢測輸出的最終結果,去除了管道目標等負樣本。
在視頻測試集中選取一段視頻,輸入到訓練完成的模型中,得到的檢測結果如圖4所示。
圖4 模型輸入測試集的檢測結果
圖4為文中方法動作實例輸出結果,未處理的長視頻進入網絡框架之后,快速定位出視頻中存在目標的片段,并對定位的片段中人的活動狀態(tài)進行判斷。圖4精確地檢測出人的站立狀態(tài)。根據上述實驗結果,有以下結論:
(1)基于類無關的行為,RTAG標記候選方法擅長于生成時間候選,并且可以很好地推廣到未見的活動。RTAG產生的稀疏方案有利于檢測性能;
(2)分類模塊的兩階段級聯(lián)設計對于高時間精度的動作檢測至關重要,它也是一種通用設計,很好地適應了具有不同時間結構的活動;
(3)該方法可以直接預測未修剪視頻中的動作實例,將特征提取過程和CNN網絡相結合,形成一個端到端的框架,從而直接從原始視頻中訓練出整個框架。
運用時序動作檢測等技術,實現了復雜場景下人體的動作識別與時序定位。將一種用于時序動作檢測任務的通用框架放置到一個具體的實際應用場景中,細化了產生候選方式,簡化了后續(xù)分類網絡。建立在先產生候選后分類模式的基礎上,通過引入動作候選的時態(tài)分組和候選分類器的級聯(lián)設計,較好地滿足了識別的活動要求。此外,證明了該方法是準確和通用的,能夠精確地定位時間邊界,并且能夠很好地處理具有不同時間結構的活動類別。對于少量誤報的情況,可以通過進一步調節(jié)閾值來改進。
在多種傳統(tǒng)人體動作識別算法的基礎上進行有效融合,使之適用于遠離陸地的海洋平臺環(huán)境,從而保證工作人員的安全以及平臺工作的順利開展。盡管該方法在目標檢測方面取得了較好結果,但對局部細微動作的識別以及時序的定位精度還有待提高。因數據集規(guī)模有限,未能更多地考慮復雜動作等潛在問題。如何解決這些復雜動作的識別和準確定位問題將是下一步的主要研究工作。