王新文,謝林柏,彭 力
物聯(lián)網技術應用教育部工程研究中心(江南大學 物聯(lián)網工程學院),江蘇 無錫214122
人體行為識別在智慧城市、智能交通和互聯(lián)網視頻推薦等環(huán)境下具有重要的應用前景。在基于視頻的人體行為識別研究領域中,根據(jù)視頻內容類型分為兩種研究方向:行為識別和時序行為檢測。時序行為檢測要求預測未剪輯視頻中人體行為發(fā)生的時間位置和所屬的行為類別。早期方法采用時序滑動窗口進行檢測[1-2],但是大量的滑動窗口導致計算量急劇增加。受益于圖像目標檢測技術的發(fā)展[3-4],目前行為檢測主要采用兩個關鍵步驟:時序提名和分類[5-8]。該方法第一步為時序行為提名,即精準地生成發(fā)生行為的候選時間區(qū)間(proposal)。第二步為分類,該步驟采用行為識別方法推斷出proposal內的行為類別[9-12]。因此,第一步時序提名至關重要,直接影響時序邊界的精確度[5-8]。
在早期工作中,Escorcia 等人[5]提出了深度行為提名(deep action proposals,DAPs)方法,采用單向長短期記憶網絡(long short-term memory,LSTM)構建固定大小窗口內的視頻單元之間的時序關系。Buch等人[6]提出了單流時序(single-stream temporal,SST)提名方法,該網絡在整個視頻上采用單向的門控循環(huán)單元(gated recurrent unit,GRU)輸出多尺度的proposal,削弱了網絡模型耗時問題。Guo 等人[7]在SST基礎上進行改進,采用時序卷積構建上下文關系,并采用回歸方法預測多尺度的時序區(qū)間。Gao等人[8]提出一種時序單元回歸網絡(temporal unit regression network,TURN)產生了較為精確的proposal。在以上時序行為提名方法中,DAP 和SST 均采用單向循環(huán)網絡建立視頻幀之間的時序聯(lián)系。單向循環(huán)網絡只能捕獲當前和歷史時刻的信息,無法獲得未來信息,因此難以解決序列數(shù)據(jù)的長期依賴性問題。對于雙向循環(huán)網絡,它利用前向和后向網絡運算使得在每一時刻都可以獲得歷史和未來時刻信息,從全局構建序列模型,可以較好地處理序列數(shù)據(jù)的長期依賴性問題[13]。但是當序列數(shù)據(jù)較長時,目前存在的循環(huán)網絡(如GRU)易發(fā)生梯度消失問題,一定程度上削弱了循環(huán)網絡處理長期依賴性的性能[14]。針對上述問題,通過輸入特征控制門結構和引入滑動加權均值簡化門控循環(huán)單元(simplified-GRU,S-GRU),提出一種基于雙向S-GRU循環(huán)網絡的時序行為提名方法。該方法使循環(huán)網絡削弱了梯度消失問題,增強上下文信息融合能力,從而提高時序提名召回率。不同于SST 和DAP,本文方法采用表征能力較強的I3D(inflated 3D)[10]模型提取特征和雙向循環(huán)網絡構建上下文時序關系。在預測多尺度行為提名區(qū)間階段,采用與SST相同的方法。最后在公開數(shù)據(jù)集Thumos14 和UCF101 上進行實驗驗證,結果表明該方法取得較好效果。
循環(huán)神經網絡(recurrent neural network,RNN)是深度學習中用于序列數(shù)據(jù)建立時序關系的模型,常見的循環(huán)網絡變體有LSTM[15]、GRU[16]等。該類神經網絡擅長處理變長的序列數(shù)據(jù),但當輸入的時序序列較長時,容易發(fā)生梯度消失問題,導致模型收斂效果變差。
GRU是簡化版的LSTM結構,包含兩個門:更新門和重置門。更新門控制歷史時刻的狀態(tài)信息被帶入到當前時刻狀態(tài)的程度,重置門控制前一時刻的狀態(tài)信息被忽略的程度。GRU計算公式為:
其中,Wz,Wr,Wh∈?m×(n+m)為參數(shù)矩陣,bz,br,bh∈?m為偏置項,σ為sigmoid非線性變換函數(shù)。zt,rt為重置和更新因子,是更新門和重置門的輸出狀態(tài)。-1,ht為當前時刻的候選狀態(tài)、上一時刻的隱藏狀態(tài)和當前時刻的隱藏狀態(tài),xt為特征輸入向量。由式(1)可知,一層GRU 單元的參數(shù)量為3m2+3mn+3m,與隱藏狀態(tài)維數(shù)的平方m2成比例。當m較大時,導致模型運算量大和參數(shù)訓練不充分。GRU網絡梯度隨時間反向傳播算法(back propagation through time,BPTT)如圖1所示,梯度計算公式為:
Fig.1 Schematic diagram of back propagation through time of gradient圖1 梯度隨時間反向傳播示意圖
根據(jù)式(1)和BPTT算法有:
為生成精準的時序區(qū)間,借鑒SST 方法,采用如圖2 所示的時序行為提名框架。該框架分為5 個部分:第1部分為視頻數(shù)據(jù)輸入,即輸入視頻圖像序列;第2部分為特征提取,該部分采用三維卷積編碼時空特征,即獲得視頻單元的時間和空間特征向量;第3部分為上下文信息融合,該部分采用雙向S-GRU 循環(huán)網絡構建長時間視頻序列的時序關系;第4部分為時序提名生成,該部分將循環(huán)網絡得到的上下文信息輸入到全連接層(fully collected layer,F(xiàn)C)輸出多尺度的候選時序區(qū)間;第5 部分為時序提名處理,該部分采用非極大值抑制(non-maximum suppression,NMS)[17]和置信分數(shù)閾值法去除冗余的候選時序區(qū)間。
借鑒圖像目標檢測技術[4],為平衡模型耗時和精準定位,首先將L幀圖像I構成的視頻分割成多個由δ幀組成的視頻單元ut={Ii;i=1,2,…,δ},單元總數(shù)T=L/δ。異于SST 和DAP 使用三維卷積(3D convolution,C3D)[9]模型編碼視頻單元的時空特征,選取I3D[10]的最后一層特征圖作為循環(huán)網絡的輸入數(shù)據(jù),xt=F(ut),F(xiàn)為I3D 特征編碼網絡。由于I3D 模型融合了多尺度局部特征,因此該模型對行為識別的精度比C3D高[10]。
Fig.2 Network framework of temporal action proposals圖2 時序行為提名網絡框架
2.1.1 S-GRU循環(huán)網絡
在深度學習領域中,模型參數(shù)需要通過訓練優(yōu)化或學習獲得。在進行視頻行為檢測時,若視頻序列過長,RNN易發(fā)生梯度消失問題,難以學習到較優(yōu)參數(shù)和建立視頻序列的長期依賴關系。針對GRU循環(huán)單元存在較多參數(shù)和梯度消失的問題,進行如下改進:
(1)基于簡化重置因子和更新因子的門控結構
式(1)中GRU 的更新因子zt和重置因子rt大小是由t-1 時刻的歷史信息和t時刻的當前輸入信息共同決定,有一定的信息冗余。當輸入序列較長時,該門控結構會降低并行計算能力,增加模型運行時間。為增強循環(huán)單元的并行計算能力,將GRU 的更新門和重置門進行簡化,門結構僅由當前時刻的輸入特征控制:
其中,σ為sigmoid 函數(shù);Wz,Wr∈?m×n為參數(shù)矩陣;br,bz∈?m為偏置項。
(2)基于滑動加權平均的信息融合
式(1)中GRU 的候選狀態(tài)未完全自動融合當前和歷史時刻信息,僅由rt控制歷史時刻信息的輸入。為此,類似于GRU的隱藏狀態(tài)ht的結構,引入滑動加權平均完全自動融合當前時刻信息和歷史信息:
其中,Wh∈?m×n為參數(shù)矩陣。重置因子rt用于控制歷史信息,rt越大,則保留歷史信息越多;rt越小,則丟棄歷史信息越多。式(8)中將候選狀態(tài)作為t時刻的輸入,目的是削減循環(huán)網絡中梯度消失的影響,更好地建立長期依賴關系。根據(jù)BPTT 算法式(4)有=rt,當rt→1,即保留歷史信息,反向傳播梯度接近1,表明梯度全部傳播給t-1 時刻,因此該結構削弱了梯度消失的影響。改進算法中GRU的隱藏狀態(tài)ht仍沿用原有門控形式:
其中,為t-1時刻候選狀態(tài)的輸出。沒有使用激活函數(shù)tanh,目的是使式(9)的結構為一種殘差網絡連接形式,可以削弱梯度消失問題。更新因子zt用于更新隱藏狀態(tài)ht,zt越大,信息更新越多,表明融合更多當前時刻輸入信息;反之zt越小,信息更新越少。
根據(jù)上述改進的門控結構、候選狀態(tài)和隱藏狀態(tài),形成如下新的門控循環(huán)單元(S-GRU)。該循環(huán)單元計算公式為:
其中,σ為sigmoid 函數(shù),Wz,Wr,Wh∈?m×n為參數(shù)矩陣,bz,br,bh∈?m為偏置項,輸入為xt、,輸出為、ht。GRU和S-GRU內部結構如圖3所示,一層SGRU 的參數(shù)量為3mn+2m,比GRU 減少3m2+m。例如當隱藏狀態(tài)維數(shù)m=128 時,S-GRU 比GRU 減少49 280個參數(shù)。
2.1.2 視頻上下文信息融合
Fig.3 Schematic diagram of internal structure in RNN圖3 循環(huán)網絡內部結構示意圖
在圖2 時序行為提名框架中,I3D 網絡只提取了短時動作特征,沒有獲得長時動作信息??紤]到雙向RNN 可以建立上下文依賴關系,因此該框架采用雙向S-GRU網絡編碼視頻序列的長時動作特征。定義S-GRU網絡前向輸出為:
其中,concat(?)為特征連接函數(shù),ht∈?2m。為得到多尺度的候選時序區(qū)間,將上下文融合后的特征ht作為全連接層的輸入[6]。
為優(yōu)化模型參數(shù),實驗采用監(jiān)督式學習訓練方式。圖2 中的提名網絡框架采用預訓練的I3D 模型作為特征提取網絡,因此只對循環(huán)網絡和全連接層進行訓練。將訓練視頻X輸入到提名網絡中,所有輸出的proposal 分為正負樣本,對應的樣本標簽為y={ytj;t=1,2,…,T;j=1,2,…,k},其中k為proposal尺度因子。在時刻t,全連接層輸出多尺度proposal 的置信分數(shù)ct={ctj},表示多尺度proposalPt={(bt-j,bt)}為正樣本的概率。其中,Wc∈?k×2m為全連接層參數(shù)矩陣。第jproposal 的開始時間和結束時間為bt-j=(t-j)δ和bt=tδ。根據(jù)經驗,proposal 與真實行為時間區(qū)間的交并比(temporal intersectionover-union,tIoU)大于閾值θtiou時為正樣本,對應的標簽ytj為1,否則標簽為0。定義N視頻組成的訓練集為χ={(X,y)},每個訓練視頻均采樣Lw幀,則模型訓練的損失函數(shù)為:
其中,W為模型參數(shù),Tw=Lw/δ,λ為正則化系數(shù)。α為調節(jié)正負樣本不平衡的系數(shù),由正負樣本數(shù)量決定。
(1)數(shù)據(jù)集:Thumos14[18]是用于時序行為檢測的視頻數(shù)據(jù)集,共20 種動作。該數(shù)據(jù)集包含412 個體育運動視頻,其中200 個用于訓練,其余用于測試。根據(jù)訓練需求,將用于訓練的視頻劃分為160 和40作為訓練集和驗證集。UCF101[19]是包含101 個動作類別的行為識別數(shù)據(jù)集,共有13 320 個視頻。該數(shù)據(jù)集實驗中用于評估循環(huán)單元S-GRU 的泛化能力,訓練集劃分采用官方網站所提供的訓練列表文件。
(2)超參數(shù):設置視頻單元的幀長δ=16,尺度因子k=32,訓練和驗證中的視頻序列幀長Lw=2 048,參數(shù)大小與SST中的設置相同。根據(jù)經驗,用于提供訓練樣本的交并比閾值θtIoU=0.75。實驗中模型使用1 層循環(huán)網絡,隱藏單 元數(shù)量即和的維度m=128,預訓練的I3D模型輸出維度為400。提名網絡訓練采用小批量隨機梯度下降,動量為0.9,批次大小為160,迭代次數(shù)(epoch)為200,學習速率為0.003,正則化系數(shù)為0.003。模型測試時,NMS 閾值θNMS=0.8,置信分數(shù)閾值θscore=0.15。實驗計算機配置為NVIDIA GeForce 1070Ti GPU,操作系統(tǒng)為Ubuntu16.04,網絡結構基于Tensorflow平臺設計。
(3)評估指標:AR-AN和Recall@AN-tIoU。ARAN指平均每個視頻產生的proposal中置信分數(shù)最高的前AN(average number,AN)在tIoU為[0.50:0.05:1.00]上召回率的均值(average recall,AR)。Recall@ANtIoU指AN為固定值下,每個視頻預測置信分數(shù)最高的前ANproposal 分別在tIoU 為[0.50:0.05:1.00]上的召回率,AN常取1 000。
為驗證循環(huán)單元S-GRU和時序行為提名框架的性能,進行如下實驗:(1)比較GRU 改進前后的效果及融合上下文信息的前后效果;(2)對比本文方法與現(xiàn)有的提名方法。
3.2.1 循環(huán)單元S-GRU評估
為評估改進后S-GRU的性能,在數(shù)據(jù)集Thumos14上進行時序行為提名實驗。為體現(xiàn)S-GRU的泛化能力,在數(shù)據(jù)集UCF101 上進行行為識別實驗,行為識別模型的特征提取網絡和循環(huán)網絡與時序行為提名網絡相同。實驗中,通過對比單向及雙向S-GRU、GRU和LSTM的性能差距來對S-GRU進行評估。
表1 給出了隱藏單元的數(shù)量(即輸出狀態(tài)維度)和參數(shù)數(shù)量(“bi-”表示雙向)以及在數(shù)據(jù)集上的訓練時間。S-GRU 比GRU 擁有較少的參數(shù),當隱藏單元數(shù)量增加時,參數(shù)數(shù)量差距變大。通過減少模型參數(shù)的數(shù)量,能夠降低模型運算復雜度。表1給出的訓練時間為實驗中整個網絡模型的訓練時間,結果表明基于S-GRU循環(huán)單元網絡的模型訓練時間較少。
圖4 給出了模型在數(shù)據(jù)集上的損失大小隨迭代次數(shù)變化的曲線,在模型訓練后期,基于S-GRU網絡的損失比GRU、LSTM 較小,收斂速度較快,表明該網絡的表征能力較強。對比單向(GRU、S-GRU)與雙向循環(huán)網絡(bi-GRU、bi-S-GRU),發(fā)現(xiàn)雙向循環(huán)網絡的損失值較小,表明雙向循環(huán)網絡融合上下文信息增強了模型的表征能力。
圖5 給出了S-GRU、GRU 和LSTM 循環(huán)單元內部參數(shù)梯度均值的變化曲線,可以看出S-GRU 和LSTM 參數(shù)的梯度均值屬于同一個數(shù)量級。GRU 參數(shù)的梯度均值較小,和S-GRU、LSTM 相差一個數(shù)量級,表明模型訓練期間GRU 單元存在梯度消失的風險。根據(jù)圖5 展示的實驗結果,對比S-GRU 循環(huán)單元和GRU循環(huán)單元,S-GRU有效地緩解了GRU循環(huán)網絡梯度消失問題,與2.1節(jié)理論分析一致。
在Thumos14測試集上預測proposal的平均召回率如圖6所示。從AR-AN圖形中可以看出,隨著AN的變化,基于bi-S-GRU 網絡的時序提名方法的平均召回率最高。對比bi-S-GRU 和S-GRU 以及bi-GRU和GRU,發(fā)現(xiàn)基于S-GRU 的上下文信息融合網絡取得了更好的效果,表明S-GRU 循環(huán)網絡提升了GRU捕捉上下文信息的能力。
綜合以上實驗結果與分析,表明S-GRU 緩解了GRU 單元存在梯度消失的問題。該實驗中基于SGRU 的雙向循環(huán)網絡融合了上下文信息,增強模型構建視頻長期依賴性的能力,因此提高了時序行為提名的召回率。
3.2.2 與現(xiàn)有時序提名方法對比
為客觀地評估時序行為提名框架性能,將近幾年出現(xiàn)的提名方法進行對比,例如SCNN-prop(segmentconvolutional neural network proposal)[1]、DAPs[5]、SST[6]、TURN[8]以及文獻[7]和文獻[20]中的方法。其中,SCNN-prop通過重疊采樣多尺度的視頻片段,然后采用3D卷積提取時空特征進行分類識別,進而篩選出候選時序區(qū)間;文獻[20]采用單向LSTM在整個視頻上建立時序模型,而預測時序區(qū)間時采用深度強化學習算法。一個性能好的時序行為提名框架,能夠產生高召回率和高時序重疊(tIoU)的proposal。
Table 1 The number of parameters and training time of recurrent networks表1 循環(huán)網絡的參數(shù)數(shù)量和訓練時間
Fig.4 Curve of cross entropy loss on dataset圖4 數(shù)據(jù)集上的交叉熵損失變化曲線
Fig.5 Average gradient value curve圖5 梯度均值變化曲線
Fig.6 AR-AN curve of temporal action proposals圖6 時序行為提名的AR-AN曲線
(1)AR-AN。從圖7(a)和表2 可以看出,在AN大于100時,基于雙向S-GRU的上下文信息融合方法的平均召回率最高。方法SST、DAPs以及文獻[20]采用單向LSTM或GRU網絡,沒有融合上下文信息,導致平均召回率較低。SCNN-prop和TURN采用多尺度時序窗口獲得上下文信息,當視頻序列較長時,難以構建長時依賴關系,因此平均召回率低于本文方法。在AN=50時,平均召回率低于文獻[20]。文獻[20]采用循環(huán)網絡和強化學習方法生成proposal,預測出proposal 數(shù)量最高的AN 為500,小于其他幾種方法,即文獻[20]方法篩選出了數(shù)量少且質量高的proposal,導致在AN=50時平均召回率高于其他方法。
Table 2 Comparison of average recall under different average number表2 不同均值數(shù)量AN下的平均召回率比較
Fig.7 Comparison curve of different methods under evaluation index圖7 不同方法在評估指標下的對比曲線
Table 3 Comparison of recall under different tIoU表3 不同tIoU下的召回率比較
(2)Recall@1 000-tIoU。均值數(shù)量AN為1 000和時序重疊率tIoU為[0.50:0.05:1.00]下的召回率如圖7(b)和表3所示。當tIoU>0.70時,基于雙向S-GRU的提名方法召回率最高,并且在tIoU=0.85 時與其他方法差別最大,表明該方法提高了構建視頻序列的長期依賴性的能力,使得時序定位更加準確,預測出高時序重疊率的proposal。文獻[7]采用一種時序卷積方法,增強了捕捉時序局部特征的能力,因此在tIoU為0.60 和0.70 時高于本文方法,表明該方法在低時序重疊率的要求下產生召回率高的proposal。
綜合以上實驗結果分析,可以得出:基于雙向SGRU上下文信息融合的提名方法產生高召回率和高時序重疊的proposal,與現(xiàn)有方法DAPs、SST、TURN等相比提名性能較好。
針對時序提名效果不佳的問題,提出了基于雙向S-GRU 的時序提名方法,該方法充分利用上下文信息,克服了視頻序列的長期依賴性問題。通過對GRU 的門結構進行簡化和引入滑動加權平均,提出了新的循環(huán)單元S-GRU,理論和實驗均證明該循環(huán)單元有效地緩解了梯度消失問題。在公開數(shù)據(jù)集Thumos14 和UCF101 上進行實驗驗證,結果表明該循環(huán)單元比GRU、LSTM 的模型表征能力較好,訓練收斂較快以及時序行為提名效果較優(yōu)。將本文提名方法與現(xiàn)有方法進行比較,結果表明行為提名召回率得到了提升,從而驗證了該方法的可行性。后續(xù)工作重點是優(yōu)化時序行為檢測步驟,進一步提高視頻行為的定位和識別精度。