陳 朋,王 順,黨源杰,宦若虹
1(浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,杭州 310023)
2(浙江工業(yè)大學(xué) 信息工程學(xué)院,杭州 310023)
E-mail:huanrh@zjut.edu.cn
近年來,人體行為檢測(cè)技術(shù)已經(jīng)成為計(jì)算機(jī)視頻理解方向的一個(gè)重要研究?jī)?nèi)容,在機(jī)器視覺、人工智能、監(jiān)控安防等領(lǐng)域有著廣泛的應(yīng)用[1].相比于行為分類,行為檢測(cè)難度更高,它不僅需要將行為分類,還需要定位視頻中可能存在行為的視頻段.定位存在人體動(dòng)作的視頻段是一個(gè)更加艱巨的任務(wù),行為檢測(cè)所用的未剪輯視頻包含大量與目標(biāo)動(dòng)作無關(guān)的幀,這些技術(shù)在提取視頻信息方面存在困難[2].其主要難點(diǎn)有:1)界限不明確.視頻中動(dòng)作的確切范圍沒有明確的定義,所有動(dòng)作的開始和結(jié)束時(shí)間常常無法給出一個(gè)準(zhǔn)確的邊界;2)時(shí)間信息.在視頻行為檢測(cè)中,是無法只使用靜態(tài)圖像信息的,必須結(jié)合時(shí)序的信息;3)大時(shí)間跨度.視頻行為片段的時(shí)間可以從幾秒到數(shù)十分鐘,巨大的時(shí)間跨度,也使得檢測(cè)時(shí)序動(dòng)作非常難.
視頻人體行為檢測(cè)的方法主要有傳統(tǒng)方法和深度學(xué)習(xí)的方法.在傳統(tǒng)方法中,所用特征都是基于人工定義的.有幾種方法可以提取包含靜態(tài)圖像特征和時(shí)序視覺的視頻特征.靜態(tài)圖像特征有SIFT(Scalelnvariant Feature Transform)[3]和HOG(Histogram of Oriented gradient)[4]等,而時(shí)序視覺特征是靜態(tài)圖像特征與時(shí)間信息的組合,通過這些特征,可以獲得視頻的時(shí)序信息.基于特征點(diǎn)追蹤的一些特征提取方法中,經(jīng)典的方法是稠密軌跡(Dense Trajectories,DT)[5].考慮到攝像機(jī)的運(yùn)動(dòng)導(dǎo)致網(wǎng)絡(luò)提取了與人類行為無關(guān)的DT特征,隨后提出改進(jìn)型的稠密軌跡(Improved Dense Trajectories,iDT)[6]方法.現(xiàn)在,深度學(xué)習(xí)方法已經(jīng)日漸流行,但傳統(tǒng)特征提取方法的研究過程和思路都是非常有用的,因?yàn)檫@些方法具有很強(qiáng)的可解釋性.它們?yōu)樵O(shè)計(jì)解決這類問題的深度學(xué)習(xí)方法提供了啟發(fā)和類比的思路.
基于深度學(xué)習(xí)的行為檢測(cè)方法大致可以分為two-stage和one-stage兩種.two-stage模型首先提取時(shí)間間隔,然后進(jìn)行分類和回歸操作,檢測(cè)速度比one-stage方法慢但準(zhǔn)確率高.這種方法是主流方法,所以大多數(shù)論文都采用這種方法.2016年,S-CNN[7]是第一個(gè)通過固定一定大小的滑動(dòng)窗口來生成不同大小的視頻片段,然后通過多級(jí)網(wǎng)絡(luò)(Segment CNN)進(jìn)行處理的方法,但該方法過于冗余.Yuan等人提出的PDSF(Pyramid of Score Distribution Features)[8]首先使用分?jǐn)?shù)分布特征金字塔,在以每個(gè)檢測(cè)窗口為中心的多種分辨率下捕獲運(yùn)動(dòng)信息,其次,通過將PSDF集成到最新的遞歸神經(jīng)網(wǎng)絡(luò)中來進(jìn)一步探索幀間一致性.Singh等人[9]的算法將幀級(jí)別的二進(jìn)制分類與動(dòng)態(tài)編碼結(jié)合起來,以生成時(shí)間精簡(jiǎn)的動(dòng)作建議,在2016年的ActivtiyNet檢測(cè)挑戰(zhàn)賽中獲得ActivtiyNet檢測(cè)挑戰(zhàn)賽亞軍.Xiong等人[10]提出一個(gè)通用框架,可以有效地生成具有準(zhǔn)確時(shí)間邊界的候選對(duì)象,其級(jí)聯(lián)的分類管道可以明確地區(qū)分候選動(dòng)作實(shí)例的相關(guān)性和完整性.Xu等人[11]2017年提出一個(gè)新的框架(R-C3D)來對(duì)于任意的輸入視頻,先進(jìn)行時(shí)序片段的提取,然后使用3D-pooling,最后進(jìn)行分類和回歸操作.2018年Lin等人[12]提出BSN(Boundary Sensitive Network)網(wǎng)絡(luò),BSN首先局部定位具有高概率的時(shí)間邊界,然后將這些邊界直接合并為片段.在全局范圍內(nèi),BSN可通過評(píng)估片段是否在其區(qū)域內(nèi)包含某個(gè)動(dòng)作的置信度來檢索片段.另一種是one-stage框架,可以同時(shí)解決分類和定位問題,檢測(cè)速度較快但準(zhǔn)確率比two-stage方法低.例如,2017年Lin等人[13]提出了SSAD(single shot temporal action detection).
為了提取更有效的特征,研究人員結(jié)合骨骼信息進(jìn)行行為識(shí)別與檢測(cè)[14].Li等人[15]提出了一種端到端卷積共現(xiàn)特征學(xué)習(xí)框架.共現(xiàn)特征是通過分層方法學(xué)習(xí)的,在該方法中,逐漸匯總了不同級(jí)別的上下文信息.首先,每個(gè)關(guān)節(jié)的點(diǎn)級(jí)信息被獨(dú)立編碼,然后將它們組合成時(shí)空域中的語義表示.Feng等人[16]提出了垂直與RNN(Recurrent Neural Network)[17]模型增強(qiáng)的通用框架.對(duì)于行為檢測(cè)還有其他一些相關(guān)方法或應(yīng)用,如許等人[18]將深度圖與骨骼數(shù)據(jù)結(jié)合進(jìn)行行為識(shí)別;華等人[19]提出一種基于骨骼數(shù)據(jù)的多流卷積行為識(shí)別方法;秦等人[20]進(jìn)行時(shí)序行為檢測(cè)算法研究,提出端到端和非端到端兩種行為檢測(cè)框架.
上述方法均為有監(jiān)督的學(xué)習(xí)方法,通常不僅需要對(duì)視頻中動(dòng)作類別進(jìn)行標(biāo)注,還需要對(duì)動(dòng)作區(qū)間進(jìn)行時(shí)間注釋,這在大規(guī)模操作中是非常昂貴和費(fèi)時(shí)的.在數(shù)據(jù)爆炸的當(dāng)下,數(shù)據(jù)標(biāo)注的成本越來越高,為了減少人工標(biāo)注工作量,弱監(jiān)督的行為檢測(cè)的方法逐漸成為研究熱點(diǎn).弱監(jiān)督方法中只需要對(duì)視頻進(jìn)行類別標(biāo)注而不需要進(jìn)行時(shí)間標(biāo)注,這大大減小了數(shù)據(jù)標(biāo)注成本.在弱監(jiān)督時(shí)序行為檢測(cè)方面,Wang等人[21]提出的UntrimmedNet網(wǎng)絡(luò)比較正式地提出“弱監(jiān)督的動(dòng)作識(shí)別與時(shí)序檢測(cè)”這兩個(gè)任務(wù),引領(lǐng)了后來基于這兩個(gè)任務(wù)的一系列工作.Nguyen等人[22]提出STPN(Sparse Temporal Pooling Network)網(wǎng)絡(luò),首次提出了時(shí)序類別激活圖(Temporal Class Activation Map,T-CAM)進(jìn)行動(dòng)作定位.Xu等人[23]把弱監(jiān)督的視頻時(shí)序檢測(cè)視為一個(gè)“多實(shí)例多標(biāo)簽(multi-instance multi-label,MIML)問題”,用循環(huán)神經(jīng)網(wǎng)絡(luò)來建模.這些弱監(jiān)督方法大多直接檢測(cè)視頻或?qū)⒁曨l轉(zhuǎn)為RGB與光流圖進(jìn)行檢測(cè),而光流數(shù)據(jù)易受背景,光照等影響,不能提取較好的視頻特征來進(jìn)行動(dòng)作表示,在以行人為主的實(shí)際場(chǎng)景下很難發(fā)揮較好的效果.
為了提取更有效的視頻特征,受骨骼數(shù)據(jù)的啟發(fā),本文提出一種基于改進(jìn)STPN算法的弱監(jiān)督行為檢測(cè)的方法(S-STPN).該方法用OpenPose[24]提取視頻中的骨骼數(shù)據(jù),并將其融入弱監(jiān)督行為檢測(cè)框架STPN中,利用循環(huán)神經(jīng)網(wǎng)絡(luò)RNN提取骨骼的時(shí)序信息,得到更有效的人體運(yùn)動(dòng)特征,同時(shí)克服了環(huán)境變化對(duì)目標(biāo)運(yùn)動(dòng)特征的影響.實(shí)驗(yàn)結(jié)果表明,本文將骨骼數(shù)據(jù)與RGB數(shù)據(jù)結(jié)合進(jìn)行行為檢測(cè)的方法能有效提升準(zhǔn)確率,并減少數(shù)據(jù)標(biāo)注.
STPN算法提出了一種使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)視頻進(jìn)行弱監(jiān)督的動(dòng)作定位算法.該算法通過學(xué)習(xí)視頻級(jí)別的類別標(biāo)簽,預(yù)測(cè)人類動(dòng)作的時(shí)間間隔,而不需要時(shí)間定位標(biāo)注.STPN將視頻分別提取RGB與光流數(shù)據(jù),并將其各自均分為T個(gè)片段,使用UntrimmedNet或I3D[25]網(wǎng)絡(luò)提取特征,然后提取的特征經(jīng)過注意力模塊(Attention module)來識(shí)別視頻中與目標(biāo)動(dòng)作相關(guān)的關(guān)鍵片段的稀疏子集,最后能夠得出每個(gè)片段在預(yù)測(cè)分類標(biāo)簽過程中的權(quán)重.在定位時(shí),從兩個(gè)輸入數(shù)據(jù)流分別計(jì)算時(shí)序類別激活圖(T-CAM)并加權(quán)和為一個(gè)T-CAM的值,使用它們來生成一維的時(shí)間動(dòng)作間隔.從該間隔中目標(biāo)動(dòng)作被定位到時(shí)間域從而實(shí)現(xiàn)目標(biāo)動(dòng)作的定位.該算法使用了稀疏損失函數(shù)和分類損失函數(shù)進(jìn)行更新.
本文在STPN的基礎(chǔ)上,以人體骨骼數(shù)據(jù)和RGB圖像數(shù)據(jù)作為網(wǎng)絡(luò)輸入.將視頻經(jīng)過OpenPose算法提取相應(yīng)的人體骨骼信息,骨骼數(shù)據(jù)使用循環(huán)神經(jīng)網(wǎng)絡(luò)RNN提取人體行為的時(shí)域特征,RNN后加入FC全連接層,用來輸出網(wǎng)絡(luò)所需的特征向量,以此實(shí)現(xiàn)在STPN的基礎(chǔ)上提取更有效的特征信息.RGB圖像特征和人體骨骼特征獨(dú)立地構(gòu)成了兩種定位模型被同時(shí)用于人體動(dòng)作的識(shí)別,從而進(jìn)一步提取更有效的特征信息.具體算法框架如圖1所示.S-STPN算法主要分為4個(gè)部分,第1部分,數(shù)據(jù)采集,包括RGB與骨骼數(shù)據(jù),骨骼數(shù)據(jù)使用OpenPose算法提取;第2部分,特征提取網(wǎng)絡(luò),兩類數(shù)據(jù)的特征提取,骨骼數(shù)據(jù)使用循環(huán)神經(jīng)網(wǎng)絡(luò)RNN提取骨骼的時(shí)域特征,RGB圖使用I3D提取特征;第3部分,動(dòng)作分類,兩類數(shù)據(jù)分別進(jìn)行行為分類再結(jié)合在一起形成類別標(biāo)簽;第4部分,動(dòng)作定位,計(jì)算RGB與骨骼的T-CAM值,最后生成加權(quán)和T- CAM值,生成一維的動(dòng)作時(shí)間間隔.圖1中的局部網(wǎng)絡(luò)如圖2所示,兩類數(shù)據(jù)的特征提取后送入局部網(wǎng)絡(luò)進(jìn)行相應(yīng)處理.
OpenPose是美國(guó)卡耐基梅隆大學(xué)(CMU)基于卷積神經(jīng)網(wǎng)絡(luò)開發(fā)的開源庫.其可以實(shí)現(xiàn)人體動(dòng)作、手指運(yùn)動(dòng)等姿態(tài)估計(jì),適用于單人和多人,具有極好的魯棒性,是首個(gè)基于深度學(xué)習(xí)的實(shí)時(shí)多人二維姿態(tài)估計(jì)應(yīng)用,能對(duì)二維多關(guān)鍵點(diǎn)與三維單關(guān)鍵點(diǎn)實(shí)時(shí)識(shí)別.本文使用18個(gè)身體/腳部的關(guān)鍵點(diǎn)識(shí)別,模型如圖3所示.對(duì)于骨骼數(shù)據(jù),本文使用OpenPose提取視頻中的骨骼,其作為網(wǎng)絡(luò)框架的單獨(dú)模塊使用,只是用來提取視頻中的骨骼信息.OpenPose是在COCO、MPII,、COCO+foot 這3個(gè)數(shù)據(jù)集上訓(xùn)練好的模型,用來提取骨骼時(shí)不需要對(duì)視頻進(jìn)行額外標(biāo)注.提取時(shí)保存每個(gè)視頻的每幀骨骼信息,每個(gè)關(guān)鍵點(diǎn)信息格式為(x,y,s),其中x、y為關(guān)鍵點(diǎn)的二維坐標(biāo),s為關(guān)鍵點(diǎn)的置信度得分.
圖1 基于骨骼信息的弱監(jiān)督行為檢測(cè)系統(tǒng)框架Fig.1 Framework of weakly supervised action detection system based on skeleton
圖2 弱監(jiān)督行為檢測(cè)系統(tǒng)局部化模型的網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of the localized model of the weakly supervised action detection system
圖3 18個(gè)身體關(guān)鍵點(diǎn)模型Fig.3 Model of 18 key points of the body
整個(gè)視頻中只保留下行人的骨骼信息,所有的背景、光照變化都消除,對(duì)后續(xù)的特征提取更加有利.對(duì)于RGB圖,以每秒10幀的采樣率對(duì)視頻進(jìn)行二次采樣,在對(duì)視頻進(jìn)行采樣之后,將其重新縮放使幀的最小尺寸等于256,同時(shí)保留寬高比,然后提取RGB圖像,對(duì)224×224區(qū)域進(jìn)行中心裁剪.
骨骼提取時(shí)的具體效果如圖4所示.對(duì)于低速、距離較近、無遮擋的人體行為骨骼提取的較為完整.OpenPose具有良好魯棒性,對(duì)遮擋視頻仍能檢測(cè)出相應(yīng)的骨骼,但仍有少數(shù)快速且距離較遠(yuǎn)、身體折疊的行為提取骨骼時(shí)效果不是很理想.
循環(huán)神經(jīng)網(wǎng)絡(luò)RNN是一類具有短期記憶能力的神經(jīng)網(wǎng)絡(luò),適合用于處理視頻、語音、文本等與時(shí)序相關(guān)的問題.RNN通過使用帶有自反饋的神經(jīng)元,使得網(wǎng)絡(luò)的輸出不僅和當(dāng)前的輸入有關(guān),還和上一時(shí)刻的輸出相關(guān).于是在處理任意長(zhǎng)度的時(shí)序數(shù)據(jù)時(shí),RNN就具有短期記憶能力.用公式來描述RNN隱狀態(tài)的計(jì)算過程,假設(shè)在時(shí)刻t,網(wǎng)絡(luò)的輸入為xt,隱狀態(tài)(即隱藏層神經(jīng)元活性值)ht不僅和當(dāng)前時(shí)刻的輸入xt相關(guān),也和上一個(gè)時(shí)刻的隱狀態(tài)ht-1相關(guān),進(jìn)而與全部過去的輸入序列(x1,x2,…,xt-1,xt)相關(guān),具體如公式(1)和公式(2)所示.
Zt=Uht-1+Wxt+b
(1)
ht=f(Zt)
(2)
其中Zt是隱藏層的凈輸入;f(·)是非線性激活函數(shù),通常為Sigmoid函數(shù)或Tanh函數(shù);U是狀態(tài)-狀態(tài)權(quán)重矩陣,W是狀態(tài)-輸入權(quán)重矩陣,b為偏置.
在RGB流中,STPN網(wǎng)絡(luò)使用I3D對(duì)RGB數(shù)據(jù)進(jìn)行特征提取.I3D網(wǎng)絡(luò)在kinetic數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練后作為特征提取器,其輸入是16幀的堆棧,最終輸出1024維的特征向量.本文設(shè)定與RGB圖對(duì)應(yīng)的16幀的人體骨骼信息作為一個(gè)片段輸入到RNN中進(jìn)行特征提取.骨骼序列輸入到RNN后,經(jīng)過處理保存RNN中最后一層隱藏層ht的信息,將其送入全連接層FC中.后續(xù)網(wǎng)絡(luò)中所需的特征大小為1024,為了與后續(xù)網(wǎng)絡(luò)保持一致,F(xiàn)C設(shè)置為1024個(gè)節(jié)點(diǎn),輸出網(wǎng)絡(luò)所需大小的特征向量.
如圖2中所示,RGB與人體骨骼數(shù)據(jù)提取的若干片段的特征向量,分別輸入到注意力模塊計(jì)算每個(gè)片段的注意力權(quán)重(λ1,…,λt)T,(t是采樣視頻片段的總數(shù).注意力權(quán)重向量λ以一種與類別無關(guān)的方式定義,這有助于識(shí)別與所有感興趣的動(dòng)作相關(guān)的片段,并估計(jì)檢測(cè)到的動(dòng)作的時(shí)間間隔),并將每個(gè)片段的注意力權(quán)重λ與原片段特征向量相乘后再相加形成最后的加權(quán)和特征向量,以此創(chuàng)建視頻級(jí)表示,如公式(3)所示.
=∑T1λtXt
(3)
圖4 骨骼提取實(shí)際效果Fig.4 Actual effect of skeleton extraction
網(wǎng)絡(luò)的損失函數(shù)由分類損失和稀疏損失兩部分組成.如公式(4)所示,Lc表示在視頻級(jí)分類標(biāo)簽上計(jì)算的分類損失,Ls表示注意力權(quán)重的稀疏損失,β是控制兩個(gè)損失函數(shù)之間的權(quán)衡的常數(shù).
L=Lc+β·Ls
(4)
STPN為了識(shí)別與目標(biāo)動(dòng)作相對(duì)應(yīng)的時(shí)間間隔,在時(shí)間域中導(dǎo)出了一維特定類的激活圖,稱為時(shí)序類別激活圖(T-CAM).設(shè)wc(k)表示最終全連接層的權(quán)重參數(shù)wc中的第k個(gè)元素,其中上標(biāo)c表示特定類別的索引.類c的最終Sigmoid層的輸入如公式(5)所示.
Sigc=∑mk=1wc(k)X-(k)
=∑mk=1wc(k)∑Tt=1λtxt(k)
(5)
=∑Tt=1λt∑mk=1wc(k)xt(k)
T-CAM,定義為at=(a1t,a2t,…,aCt)T, 表示在時(shí)間步長(zhǎng)t處的表示與每個(gè)類別的相關(guān)性,其中每個(gè)元素act對(duì)應(yīng)于類別c(c=1,…,C),如公式(6)所示.
act=∑mk=1wc(k)xt(k)
(6)
對(duì)于輸入視頻,根據(jù)視頻級(jí)分類分?jǐn)?shù)識(shí)別相關(guān)的類別標(biāo)簽(2.3節(jié)).對(duì)于每個(gè)相關(guān)的動(dòng)作,生成時(shí)間間隔,即一維時(shí)間間隔,以及它們的特定類的置信度分?jǐn)?shù),對(duì)應(yīng)于可能包含目標(biāo)動(dòng)作的片段.為了生成時(shí)間間隔,基于公式(6)分別計(jì)算由act,RGB、act,Ske表示的RGB流與骨骼流的T-CAM,并使用它們導(dǎo)出加權(quán)T-CAM,φct,RGB和φct,Ske,如公式(7)和公式(8)所示.
φct,RGB=λt,RGB·sigmoid(act,RGB)
(7)
φct,Ske=λt,ske·sigmoid(act,Ske)
(8)
其中λt是稀疏向量λ的元素,并且乘以λt可以被解釋為選擇來自注意力模塊的Sigmoid函數(shù)的值.對(duì)加權(quán)的T-CAM,φc(t,RGB)和φC(t,Ske)進(jìn)行閾值處理,以分割這些信號(hào),時(shí)間間隔是從每個(gè)數(shù)據(jù)流中提取的一維連接分量.使用加權(quán)的T-CAM而不是直接從注意力權(quán)重生成動(dòng)作間隔,因?yàn)槊總€(gè)間隔都應(yīng)該包含單一類型的動(dòng)作.在進(jìn)行閾值操作前可對(duì)采樣段之間的加權(quán)T-CAM信號(hào)進(jìn)行線性內(nèi)插,以最小的計(jì)算量提高時(shí)間間隔的分辨率.
保留所有通過預(yù)定義閾值的連接分量,為每個(gè)間隔[tstart,tend]分配每個(gè)類別c的分?jǐn)?shù),該分?jǐn)?shù)由間隔內(nèi)所有幀的加權(quán)平均T-CAM給出,如公式(9)所示.
∑tendtstartλt,*α·act,RGB+1-α·act,Sketend-tstart+1
(9)
其中*∈{RGB,Ske},α是控制兩個(gè)模態(tài)信號(hào)幅度的參數(shù).最后,在每個(gè)類別的時(shí)間間隔之間獨(dú)立地執(zhí)行非最大值抑制,以去除高度重疊的檢測(cè).
本文在THUMOS14(1)https://www.crcv.ucf.edu/THUMOS14/download.html和ActivityNet 1.3[26]數(shù)據(jù)集上對(duì)S-STPN進(jìn)行了評(píng)估.這兩個(gè)數(shù)據(jù)集都是未剪輯的,這意味著視頻包括不包含動(dòng)作的幀.THUMOS14數(shù)據(jù)集在其訓(xùn)練、驗(yàn)證和測(cè)試集中共有101個(gè)動(dòng)作類的視頻級(jí)標(biāo)注,在其中20個(gè)類的驗(yàn)證集與測(cè)試集中有一個(gè)帶有時(shí)間標(biāo)注的視頻子集.本文使用這20個(gè)類視頻子集中的驗(yàn)證子集來訓(xùn)練模型且不使用時(shí)間標(biāo)注,該子集由200個(gè)未裁剪的視頻組成的.使用這20個(gè)類視頻子集中的測(cè)試子集對(duì)本文的算法進(jìn)行了評(píng)估,測(cè)試集含有212個(gè)帶有時(shí)間標(biāo)注的視頻.這個(gè)數(shù)據(jù)集具有挑戰(zhàn)性,因?yàn)橐曨l的長(zhǎng)度變化很大(幾秒至26分鐘不等).其中編號(hào)為270與1496的視頻帶有錯(cuò)誤標(biāo)注,本文給予排除.
ActivityNet1.3是目前視頻行為檢測(cè)方向較大的數(shù)據(jù)集,包含分類和檢測(cè)兩個(gè)任務(wù).ActivityNet1.3涵蓋了200種不同的日?;顒?dòng),ActivityNet1.3包含20000個(gè)未修剪的Youtube視頻(訓(xùn)練集包含約10000個(gè)視頻,驗(yàn)證集和測(cè)試集各包含約5000個(gè)視頻),共計(jì)約648小時(shí)的視頻,平均每個(gè)視頻上有1.5個(gè)動(dòng)作實(shí)例(action instance).本文使用ActivityNet1.3數(shù)據(jù)集中的測(cè)試集.
給定測(cè)試視頻,系統(tǒng)輸出動(dòng)作片段預(yù)測(cè),每個(gè)預(yù)測(cè)都包含動(dòng)作類、開始時(shí)間和結(jié)束時(shí)間以及置信度分?jǐn)?shù).在0.1~0.9不同的IoU閾值下使用mAP值來評(píng)估算法.只有當(dāng)預(yù)測(cè)的類正確且超過IoU評(píng)價(jià)閾值時(shí),每次預(yù)測(cè)才被認(rèn)為是正確的.
為了對(duì)不同研究方法進(jìn)行比較,本文與STPN采用相同的視頻預(yù)處理過程.對(duì)于RGB流,本文對(duì)I3D網(wǎng)絡(luò)在Kinetic數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練處理,將幀的最小維度重新縮放為256,并執(zhí)行大小為224×224的中心裁剪.對(duì)于骨骼流,本文采用OpenPose算法提取骨骼信息.RGB流中,I3D模型的輸入設(shè)置為/以每秒10幀的速度采樣的16幀的堆棧;因此骨骼流中,本文設(shè)置每16幀的骨骼信息作為一個(gè)片段輸入RNN中進(jìn)行特征提取(RNN設(shè)置為3個(gè)隱藏層).本文從每個(gè)視頻中均勻采樣400個(gè)片段進(jìn)行特征提取.整個(gè)網(wǎng)絡(luò)使用ADAM(Adaptive moment estimation)優(yōu)化器進(jìn)行訓(xùn)練,兩個(gè)流的學(xué)習(xí)率均為10-4.本文實(shí)驗(yàn)環(huán)境為TITAN Xp GPU(12G)的服務(wù)器、Tensorflow框架.
為了驗(yàn)證提出的網(wǎng)絡(luò)框架的有效性與合理性,本文在THUMOS14數(shù)據(jù)集上與其他一些先進(jìn)的行為檢測(cè)方法進(jìn)行了對(duì)比實(shí)驗(yàn),結(jié)果如表1所列,表中既包含了有監(jiān)督方法,也包括了弱監(jiān)督的方法.弱監(jiān)督方法中,UntrimmedNet直接使用視頻片段作為輸入,使用分類模塊和選擇模塊來分別學(xué)習(xí)動(dòng)作模型和有關(guān)動(dòng)作實(shí)例持續(xù)時(shí)間.表1中可以看到本文算法的mAP比UntrimmedNet提高近6.8%,證明本文采用的RGB與骨骼數(shù)據(jù)結(jié)合的雙流法比UntrimmedNet具有更高的準(zhǔn)確率.與STPN算法相比,提高了0.9%左右的精度,由此證明了本文將人體骨骼信息與RGB圖結(jié)合的方式能夠提高準(zhǔn)確率,與STPN中光流數(shù)據(jù)與RGB圖結(jié)合的方式相比取得了更好的結(jié)果.
表1 在不同IoU閾值下本文的算法與其他算法在THUMOS14測(cè)試集上的比較Table 1 Comparison of the algorithm in this paper with other algorithms on the THUMOS14 test set under different IoU thresholds
在一些有監(jiān)督方法中雖然表現(xiàn)的差異性很大,但是本文的算法也表現(xiàn)出與幾種有監(jiān)督的方法相當(dāng)?shù)男阅?實(shí)驗(yàn)結(jié)果表明,本文算法精度比S-CNN高0.89%,比PSDF高近1.36%.雖然低于SSAD、R-C3D、BSN算法的精度,但是本文算法少使用了視頻的時(shí)間標(biāo)注,節(jié)約了數(shù)據(jù)標(biāo)注成本.表中的加粗?jǐn)?shù)字代表了弱監(jiān)督及有監(jiān)督方法中的最優(yōu)值.
如表2所列,我們將本文算法與STPN以及其他有監(jiān)督算法在ActivityNet1.3測(cè)試數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn).結(jié)果顯示本文算法的mAP比STPN提高了1.05%,取得了更好的精確度.有監(jiān)督算法中,本文算法比Singh等人的算法提高3.5%的精確度.雖然低于其他幾個(gè)有監(jiān)督算法的精度,但同樣減少了數(shù)據(jù)的標(biāo)注成本.
如表3所列,本文算法與一些有監(jiān)督算法以及STPN在ActivityNet1.3驗(yàn)證數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn).結(jié)果顯示本文算法的mAP比STPN提高了0.96%,取得了更好的精確度.有監(jiān)督算法中,本文算法在IoU為0.5較R-C3D時(shí)提高3.9%的精確度,低于其他兩個(gè)有監(jiān)督算法,但同樣減少了數(shù)據(jù)標(biāo)注.
S-STPN算法在THUMOS14和ActivityNet1.3數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果均驗(yàn)證了本文網(wǎng)絡(luò)具有比STPN更好的檢測(cè)性能.在ActivityNet1.3數(shù)據(jù)集上訓(xùn)練實(shí)驗(yàn)效果優(yōu)于THUMOS14數(shù)據(jù)集上的實(shí)驗(yàn)效果.其原因可能是ActivityNet1.3中的樣本數(shù)據(jù)量比THUMOS14的更大,能夠更充分的訓(xùn)練網(wǎng)絡(luò)模型.ActivityNet1.3中平均每個(gè)視頻只有1.5個(gè)動(dòng)作示例,因此提取的人體骨骼信息與RGB信息更加完整,S-STPN可以提取更有區(qū)分度的特征,從而提升網(wǎng)絡(luò)的檢測(cè)性能.
表2 本文算法與不同算法在ActivityNet1.3測(cè)試數(shù)據(jù)集上的實(shí)驗(yàn)對(duì)比Table 2 Experimental comparison of the algorithm in this paper and different algorithms on the ActivityNet1.3 test data set
表3 在不同IoU閾值下本文算法與不同算法在ActivityNet1.3驗(yàn)證數(shù)據(jù)集上的實(shí)驗(yàn)對(duì)比Table 3 Experimental comparison of the algorithm in this paper and different algorithms on the ActivityNet1.3 validation data set under different IoU thresholds
同時(shí),本文還驗(yàn)證了RGB模塊與骨骼模塊對(duì)網(wǎng)絡(luò)的影響,消融實(shí)驗(yàn)在THUMOS14數(shù)據(jù)集上進(jìn)行.本文使用特征提取網(wǎng)絡(luò)來生成動(dòng)作時(shí)間間隔和計(jì)算注意力權(quán)重,還結(jié)合這兩種方式來評(píng)價(jià)這些間隔.如圖5所示,在不同IoU閾值下分別說明了RGB模塊與骨骼模塊的作用以及它們組合的效果.以IoU閾值為0.5為例,當(dāng)僅使用RGB數(shù)據(jù)進(jìn)行行為檢測(cè)時(shí)AP為10.8,而僅使用骨骼數(shù)據(jù)時(shí)AP達(dá)到15.3,骨骼數(shù)據(jù)相較于RGB數(shù)據(jù)可以提供更多用于行為檢測(cè)的信息,來提升行為檢測(cè)的精度.當(dāng)兩種模塊結(jié)合到一起時(shí),AP達(dá)到了18.5,精確度得到了明顯提升.
圖5 不同數(shù)據(jù)流在網(wǎng)絡(luò)中的表現(xiàn)Fig.5 Performance of different data streams in this network
本文首次嘗試將骨骼信息融入弱監(jiān)督行為檢測(cè)框架,雖取得了良好的效果但仍存在如下局限性:1)本文使用OpenPose提取骨骼數(shù)據(jù),由于少量視頻的骨骼提取的不夠理想,這可能影響檢測(cè)精度;2)骨骼數(shù)據(jù)使用RNN進(jìn)行時(shí)序特征提取,若使用更先進(jìn)的特征提取網(wǎng)絡(luò)則可能得到更好的特征表示,檢測(cè)精度將進(jìn)一步提升;3)在定位方面,本文存在著與多數(shù)論文共有的不足,定位動(dòng)作時(shí)會(huì)將不是動(dòng)作但和動(dòng)作相關(guān)的幀一起定位出來,稱為動(dòng)作-上下文混淆(action-context confusion).這些局限性應(yīng)為日后進(jìn)一步研究的重點(diǎn).
為了提取更有效的視頻特征,本文提出一種基于人體骨骼數(shù)據(jù)的弱監(jiān)督行為檢測(cè)算法S-STPN.S-STPN用OpenPose算法將視頻中的人體行為提取相應(yīng)的骨骼信息,并使用循環(huán)神經(jīng)網(wǎng)絡(luò)RNN提取人體運(yùn)動(dòng)的時(shí)域特征,而后將提取的特征輸入到全連接層中輸出人體運(yùn)動(dòng)特征向量.人體骨骼運(yùn)動(dòng)特征和使用I3D網(wǎng)絡(luò)提取的RGB圖像特征共同輸入動(dòng)作檢測(cè)和動(dòng)作定位網(wǎng)絡(luò),生成加權(quán)特征和加權(quán)時(shí)序類別激活圖(T-CAM)值后輸出最終的動(dòng)作分類和時(shí)域定位結(jié)果.實(shí)驗(yàn)結(jié)果表明,本文算法在THUMOS14數(shù)據(jù)集和ActivityNet測(cè)試數(shù)據(jù)集中比STPN算法分別提升了0.9%和1.05%的檢測(cè)準(zhǔn)確率,說明將RGB數(shù)據(jù)與骨骼數(shù)據(jù)相結(jié)合的方式能夠改進(jìn)算法性能.同時(shí),S-STPN算法比有監(jiān)督算法少使用了數(shù)據(jù)的時(shí)間標(biāo)注,節(jié)約了數(shù)據(jù)標(biāo)注成本.