李萱峰 張奇
關(guān)鍵詞:?jiǎn)螛颖拘袨樽R(shí)別;骨骼數(shù)據(jù);度量學(xué)習(xí);時(shí)空建模
0 引言
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展以及個(gè)人電子設(shè)備的普及,視頻數(shù)據(jù)的規(guī)模增長(zhǎng)迅速。如何合理利用視頻樣本理解人體行為具有重要的研究?jī)r(jià)值和廣泛的應(yīng)用需求。但是人體行為復(fù)雜多變,行為種類豐富多樣,導(dǎo)致行為數(shù)據(jù)集制作困難,采用小樣本學(xué)習(xí)方法識(shí)別不存在于訓(xùn)練數(shù)據(jù)集中的行為種類成為近期的研究熱點(diǎn)。此外,由于人體的骨骼數(shù)據(jù)不易受背景、人體外貌等干擾因素的影響,且具有數(shù)據(jù)規(guī)模小、計(jì)算效率高等優(yōu)點(diǎn),因而備受國(guó)內(nèi)外學(xué)者的關(guān)注。
本文針對(duì)人體骨骼數(shù)據(jù)的單樣本行為識(shí)別問題,提出一種基于時(shí)空深度度量學(xué)習(xí)的方法識(shí)別不存在于訓(xùn)練集的行為類別。受到度量學(xué)習(xí)方法在單樣本人臉識(shí)別、行人再識(shí)別等任務(wù)中成功應(yīng)用的啟發(fā)[1],一些用于行為識(shí)別的度量學(xué)習(xí)方法被提出[2-3]。然而,先前的方法具有許多局限性:(1) 先前的方法將骨骼數(shù)據(jù)變換成偽圖像后采用傳統(tǒng)卷積提取特征,丟失了關(guān)節(jié)點(diǎn)的空間幾何結(jié)構(gòu)信息;(2) 度量學(xué)習(xí)旨在縮小類內(nèi)距離、擴(kuò)大類間距離,但相同種類的行為實(shí)例也可能展示出不同的特征,盲目追求縮小相同種類樣本之間的距離可能導(dǎo)致模型的泛化能力不足。針對(duì)上述問題,本文提出一種全新的時(shí)空深度度量學(xué)習(xí)(Spatial-Temporal Deep Metric Learning,ST-DML) 行為識(shí)別模型。本文的主要貢獻(xiàn)有:(1) 首次將圖卷積應(yīng)用在基于深度度量學(xué)習(xí)的單樣本行為識(shí)別中,以骨骼數(shù)據(jù)的原始拓?fù)浣Y(jié)構(gòu)作為輸入,保留了人體骨骼的空間信息;(2) 行為識(shí)別是一種時(shí)空耦合問題,本文將獲取嵌入向量的過程分為空間流和時(shí)間流,設(shè)計(jì)了一種時(shí)空度量學(xué)習(xí)模型,使得模型能夠獲得包含不同特征信息的子嵌入向量,提高模型的泛化性能。
1 問題描述
與預(yù)測(cè)類別標(biāo)簽的分類方法相比,度量學(xué)習(xí)方法的目標(biāo)是學(xué)習(xí)一個(gè)嵌入函數(shù),通過該嵌入函數(shù),將輸入數(shù)據(jù)轉(zhuǎn)換到一個(gè)嵌入空間中,單樣本行為識(shí)別問題就變成了嵌入空間中的最近鄰搜索問題。單樣本行為識(shí)別的步驟為:(1) 劃分?jǐn)?shù)據(jù)集,得到訓(xùn)練集、驗(yàn)證集、參考集;(2) 使用訓(xùn)練集訓(xùn)練網(wǎng)絡(luò);(3) 通過訓(xùn)練好的模型獲得測(cè)試集和參考集的嵌入向量,計(jì)算嵌入向量之間的距離以確定測(cè)試集樣本的行為種類。
設(shè)St = {(xmt,ymt ) }表示訓(xùn)練樣本集合,其中xt 表示骨骼序列,yt 表示骨骼序列xt 對(duì)應(yīng)的標(biāo)簽,且yt ∈ Yt,m ∈ M,Yt 表示訓(xùn)練集標(biāo)簽集合,M 表示訓(xùn)練集樣本總個(gè)數(shù)。類似地,測(cè)試集定義為Se = {(xne,yne ) },ye ∈ Ye, n ∈ N,Yt ∩ Ye = ?,N 表示測(cè)試集樣本的總個(gè)數(shù)。參考集定義為Sa = {(xka,yka ) },k ∈ K,K 表示參考集樣本的總個(gè)數(shù),參考集中的樣本個(gè)數(shù)和測(cè)試集的標(biāo)簽類別個(gè)數(shù)相同,其意義為從驗(yàn)證集的每個(gè)種類中抽取一個(gè)樣本作為集合,即單樣本行為識(shí)別的由來。
2 ST-DML
本文所提出的ST-DML網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。訓(xùn)練階段,采用圖卷積網(wǎng)絡(luò)學(xué)習(xí)基本的骨骼特征表達(dá),隨后,通過空間流和時(shí)間流增強(qiáng)空間信息和時(shí)間信息。驗(yàn)證階段,通過訓(xùn)練好的模型得到空間嵌入向量和時(shí)間嵌入向量,并根據(jù)嵌入向量進(jìn)行最近鄰搜索,獲得行為種類標(biāo)簽。
2.1 特征提取網(wǎng)絡(luò)
近期的研究表明,圖卷積的方法明顯優(yōu)于卷積的方法[4],且圖卷積方法在基于骨骼的行為識(shí)別中成為主流。文獻(xiàn)[5]首次將圖卷積技術(shù)應(yīng)用在行為識(shí)別任務(wù)中,并提出一種時(shí)空?qǐng)D卷積網(wǎng)絡(luò)(ST-GCN) ,本文以此為基礎(chǔ)構(gòu)建特征提取網(wǎng)絡(luò)。ST-GCN采用一種空間建模和時(shí)間建模交替循環(huán)的方式學(xué)習(xí)骨骼數(shù)據(jù)的空間特征和時(shí)間特征??臻g建模過程是離心點(diǎn)和近心點(diǎn)向根節(jié)點(diǎn)傳遞信息,可用公式(1) 表示。
其中,γout 表示輸出特征圖,χin 表示輸入特征圖。D 表示空間卷積核的大小,且D 的大小由空間配置分區(qū)策略決定,該分區(qū)策略將關(guān)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)分為三個(gè)子集,分別是根節(jié)點(diǎn)集合、向心節(jié)點(diǎn)集合、離心節(jié)點(diǎn)集合,因此D 設(shè)置為3。Aˉd 表示鄰接矩陣Ad 的歸一化, Wd 表示可學(xué)習(xí)的權(quán)重向量,?表示Hadamard乘積,R是一個(gè)可學(xué)習(xí)的掩碼矩陣,可以給關(guān)節(jié)點(diǎn)分配不同大小的權(quán)重。時(shí)間建模是將同一關(guān)節(jié)在時(shí)間維度上進(jìn)行信息聚合,以此獲得骨骼序列的時(shí)間特征。空間建模和時(shí)間建模的過程如圖2所示。
2.2 空間流和時(shí)間流的設(shè)計(jì)
對(duì)于行為識(shí)別這類時(shí)空耦合問題,我們自然地將集成學(xué)習(xí)引入其中[6],提出一種時(shí)空集成學(xué)習(xí)方法,同時(shí)將行為特征嵌入時(shí)間域和空間域,迫使嵌入特征具有不同的特點(diǎn)。筆者在特征提取網(wǎng)絡(luò)后設(shè)計(jì)了雙流結(jié)構(gòu),空間流采用空間自注意力機(jī)制增強(qiáng)空間信息,時(shí)間流采用時(shí)間自注意力機(jī)制增強(qiáng)時(shí)間信息。
設(shè)計(jì)空間流的目的在于增強(qiáng)特征的空間表達(dá)能力,獲得骨骼序列的空間嵌入向量,具體做法為:在每一幀內(nèi)使用空間自注意力模塊來提取嵌入在身體各關(guān)節(jié)之間的底層特征,以增強(qiáng)空間信息。假設(shè)在第t幀上的關(guān)節(jié)點(diǎn)vi 表示為vti,通過對(duì)關(guān)節(jié)點(diǎn)特征vti∈ RCin進(jìn)行線性變換計(jì)算得到查詢向量qti∈ Rdq,鍵向量為kti∈ Rdk,值向量為vti∈ Rdv,Cin、dq、dk、dv 分別表示關(guān)節(jié)特征的通道維度、查詢向量的通道維度、鍵向量的通道維度、值向量的通道維度。首先,使用點(diǎn)積計(jì)算關(guān)節(jié)點(diǎn)vi 和vj 之間的權(quán)重wt ij = qt i?ktjT,該值不僅用來表示兩關(guān)節(jié)之間的關(guān)系強(qiáng)弱,而且將作為vtj 關(guān)節(jié)點(diǎn)的權(quán)重系數(shù),為關(guān)節(jié)點(diǎn)vti 重新計(jì)算一個(gè)嵌入特征穩(wěn)定性,lti將作為關(guān)節(jié)點(diǎn)vti 的新的嵌入表達(dá),該嵌入表達(dá)起到了增強(qiáng)空間信息的作用。
2.3 深度度量學(xué)習(xí)
深度度量學(xué)習(xí)的目的是學(xué)習(xí)一個(gè)函數(shù),將骨骼數(shù)據(jù)轉(zhuǎn)換到一個(gè)嵌入空間中,在這個(gè)空間中,相似樣本的嵌入向量之間的距離較近,而不相似樣本的嵌入向量之間的距離較遠(yuǎn)。在訓(xùn)練期間使用三組損失監(jiān)督學(xué)習(xí)過程,使相似樣本間的距離更近,不相似樣本的距離更遠(yuǎn)[7]。三元組損失可表示為:
其中SO 為錨樣本,S↑為正樣本,S↓為負(fù)樣本,σ 為一個(gè)額外的距離邊界。
3 實(shí)驗(yàn)
本文在大型行為識(shí)別數(shù)據(jù)集NTU-RGB+D 120 (NTU-120) 上做了充分的實(shí)驗(yàn)[8],評(píng)估了ST-DML的性能,提出的模型在PyTorch深度學(xué)習(xí)框架上實(shí)現(xiàn),且所有實(shí)驗(yàn)都在GTX 3090 上進(jìn)行,最大Epoch 設(shè)置為100,Batchsize設(shè)置為16。
3.1 數(shù)據(jù)集
NTU RGB+D 120數(shù)據(jù)集是應(yīng)用最廣泛的大型行為識(shí)別數(shù)據(jù)集之一,該數(shù)據(jù)集包括120個(gè)種類的行為,共計(jì)114480個(gè)視頻樣本。本文只采用該數(shù)據(jù)集的3D 骨架序列數(shù)據(jù)形式,該序列的每一幀由25個(gè)關(guān)節(jié)點(diǎn)的三維坐標(biāo)組成。為了便于模型的訓(xùn)練,將所有骨骼序列的長(zhǎng)度固定在300幀,序列長(zhǎng)度不足300幀的用0值填充。所有實(shí)驗(yàn)均在100/20數(shù)據(jù)集分割方式下進(jìn)行(訓(xùn)練集含100個(gè)種類,測(cè)試集含20個(gè)種類)。
3.2 實(shí)驗(yàn)分析
為了驗(yàn)證本文提出方法的有效性,筆者遵循SL- DML的參數(shù)設(shè)置,使用線性層代替圖卷積網(wǎng)絡(luò)的分類層,以獲取大小為128嵌入向量。從表1中可以看到,筆者提出的使用ST-GCN構(gòu)建特征提取網(wǎng)絡(luò)的方法準(zhǔn)確率達(dá)到53.1%,比使用傳統(tǒng)卷積的SL-DML模型高出了2.2%,這表明圖卷積方法在單樣本行為識(shí)別任務(wù)中仍具有優(yōu)越性能。此外,為了驗(yàn)證提出的雙流結(jié)構(gòu)的有效性,我們使用空間流和時(shí)間流的不同組合進(jìn)行了四次實(shí)驗(yàn)。從表1可以看出,不添加空間流和時(shí)間流的方法準(zhǔn)確率最低,當(dāng)單獨(dú)添加空間自注意力機(jī)制或時(shí)間自注意力機(jī)制時(shí)準(zhǔn)確率均有提升。同時(shí)采用空間流和時(shí)間流時(shí)準(zhǔn)確率達(dá)到了54.1%,這表明,我們提出的時(shí)空度量學(xué)習(xí)方法迫使模型學(xué)習(xí)到了辨別性的時(shí)空特征。
如表2所示,將本文提出的方法和其他方法進(jìn)行對(duì)比,可以看出,本文提出的方法ST-DML優(yōu)于現(xiàn)有的方法,比 SL-DML 高出 3.2%,這充分證明了 ST- DML具有學(xué)習(xí)人體骨骼時(shí)空信息的優(yōu)越性能,且泛化能力比以往的模型有所提升。
4 結(jié)束語
本文提出一種用于單樣本人體行為識(shí)別的時(shí)空深度度量學(xué)習(xí)模型。該模型首先采用圖卷積方法學(xué)習(xí)基本人體特征表示,隨后將圖卷積網(wǎng)絡(luò)學(xué)習(xí)到的特征分別送入空間流和時(shí)間流,以獲取豐富的時(shí)間和空間子嵌入表達(dá),提升模型的泛化能力。實(shí)驗(yàn)表明,本文提出的ST-DML優(yōu)于現(xiàn)有的方法,并取得了54.1% 的準(zhǔn)確率。