牛 斌,吳 鵬,馬 利,劉景巍
(遼寧大學(xué) 信息學(xué)院,遼寧 沈陽 110036)
隨著信息技術(shù)的發(fā)展,深度學(xué)習(xí)和人體行為識別逐漸得到了重視,并在各個(gè)領(lǐng)域有著廣泛的應(yīng)用,如安防監(jiān)控、運(yùn)動(dòng)分析、醫(yī)學(xué)輔助診斷和智能人機(jī)交互等。如何快速準(zhǔn)確地對人體行為進(jìn)行識別已成為極具挑戰(zhàn)性的問題[1]。早期人體行為數(shù)據(jù)采集十分困難,包括傳感器性能低下,成本高昂,場景和背景的干擾等。近年來,由于高清攝像技術(shù)和傳感器技術(shù)的發(fā)展[2],使得人體行為識別更加高效準(zhǔn)確。人體行為識別技術(shù)得到了有力支撐。隨著人體行為數(shù)據(jù)提取技術(shù)的快速發(fā)展,人們依舊對行為識別的實(shí)驗(yàn)結(jié)果不滿意,難以滿足工業(yè)要求。
對行為識別的速度和準(zhǔn)確性的追求從來沒有停止過。尤其近年來,由于深度學(xué)習(xí)的飛速發(fā)展,人們開始探索通過深度學(xué)習(xí)和行為識別相結(jié)合[3-5],以不斷提高人體行為識別的準(zhǔn)確性和高效性。在2006年Hinton[6]提出了深度學(xué)習(xí)的概念,為解決深層結(jié)構(gòu)相關(guān)的優(yōu)化難題帶來希望,隨后又提出多層自動(dòng)編碼器深層結(jié)構(gòu),從此深度學(xué)習(xí)得到了迅猛發(fā)展。由于深度網(wǎng)絡(luò)可以無監(jiān)督地從數(shù)據(jù)中學(xué)習(xí)到特征,而這種學(xué)習(xí)方式也符合人類感知世界的機(jī)理,因此當(dāng)訓(xùn)練樣本足夠多時(shí),通過深度網(wǎng)絡(luò)學(xué)習(xí)到的特征往往具有一定的語義特征,并且更適合目標(biāo)和行為的識別。
深度學(xué)習(xí)的首要條件就是對于數(shù)據(jù)規(guī)模的要求。如果深度學(xué)習(xí)用于行為識別領(lǐng)域,則通常情況下需要大量的行為動(dòng)作數(shù)據(jù)序列。而對于數(shù)據(jù)集的要求,又讓深度學(xué)習(xí)框架的可信性受到了限制。在當(dāng)前“大數(shù)據(jù)”時(shí)代,大量的數(shù)據(jù)獲取相比原來更容易,計(jì)算資源和能力的大大提升,各種新模型、新理論如雨后春筍般涌現(xiàn),驗(yàn)證周期大大縮短。但是各方面的努力依舊難以滿足工業(yè)要求。
所以,數(shù)據(jù)集的可靠擴(kuò)展對于深度學(xué)習(xí)和行為識別具有重要意義。目前,使用深度學(xué)習(xí)的方法進(jìn)行行為識別依然充滿挑戰(zhàn)。行為識別的應(yīng)用[7]背景相當(dāng)廣泛,主要集中在人機(jī)交互、虛擬現(xiàn)實(shí)、自動(dòng)駕駛等應(yīng)用中,推動(dòng)著人類社會(huì)的發(fā)展。人工智能時(shí)代的開啟必然會(huì)在很大程度上改變世界,無論是交通、醫(yī)療、購物,還是軍事等方面[8]。
在行為識別研究初期,有些論文使用一些結(jié)構(gòu)簡單的行為數(shù)據(jù)庫[9-11]。行為數(shù)據(jù)庫(比如KTH和WEIZANN)的主要出發(fā)點(diǎn)是集中在一些基本簡單的行為上,比如行走、下蹲等。它們都是在可控場景(背景相對靜止)的情況下進(jìn)行拍攝,行為類別和樣本數(shù)量比較少。很多經(jīng)典行為識別算法都使用這些數(shù)據(jù)集進(jìn)行驗(yàn)證,都得到了預(yù)期的結(jié)果。
這些簡單的數(shù)據(jù)集是行為識別的起步數(shù)據(jù)集,為計(jì)算機(jī)視覺的發(fā)展做出了巨大貢獻(xiàn)。直至今天,這些數(shù)據(jù)集仍然應(yīng)用廣泛。隨著傳感器技術(shù)的發(fā)展和行為識別研究的不斷深入,數(shù)據(jù)集也在不斷發(fā)生變化,主要包括以下幾個(gè)方面:
(1)從單一視角到多視角的改變。比如,法國國家信息與自動(dòng)化研究所和中國科學(xué)院自動(dòng)化研究所等國內(nèi)外很多研究機(jī)構(gòu)都發(fā)布了多視角的行為數(shù)據(jù),如IXMAS Action[12]數(shù)據(jù)庫、CASIA行為數(shù)據(jù)庫[13]。多視角相對于單視角,優(yōu)點(diǎn)包括擁有者包含的數(shù)據(jù)量更加全面,可以從各個(gè)角度對人體進(jìn)行觀測等。但缺點(diǎn)是數(shù)據(jù)處理更加復(fù)雜,消耗時(shí)間變長等。
(2)背景和場景更加復(fù)雜。靜止背景的數(shù)據(jù)集雖然處理相對簡單,但是難以滿足實(shí)際需求。使用該數(shù)據(jù)集訓(xùn)練得到的模型識別成功率低,不具有通用性。因此,Hollywood[14],UCF YouTube[15]和UCF 101[16]數(shù)據(jù)集應(yīng)運(yùn)而成,這些數(shù)據(jù)集都是取自電影或者真實(shí)錄像,具有通用性和可信性等特點(diǎn),其場景更具有真實(shí)性和復(fù)雜性。
(3)數(shù)據(jù)規(guī)模更加龐大。雖然當(dāng)前行為識別數(shù)據(jù)庫的規(guī)模還遠(yuǎn)遠(yuǎn)不及圖像識別數(shù)據(jù)庫,但其行為類別和樣本數(shù)量也在迅速增加。當(dāng)今正處于一個(gè)“大數(shù)據(jù)”的時(shí)代,大量的數(shù)據(jù)如洪水般充斥在生活中。比如UCF 101行為識別數(shù)據(jù)庫就具有規(guī)模更大、類別更多的特點(diǎn)。
(4)形式更加多樣化。隨著人體傳感器的發(fā)展,行為識別數(shù)據(jù)集也從單一視頻的形式轉(zhuǎn)換成各種容易處理的樣式。比如2010年微軟公司推出的Kinect傳感器,用于Xbox360游戲機(jī)的輸入設(shè)備。該設(shè)備將人體骨骼抽象成三維坐標(biāo),使行為識別工作預(yù)處理部分變得簡單、容易理解。MSR Action3D和MSR Daily Activity 3D數(shù)據(jù)集都是使用該設(shè)備進(jìn)行采集。行為數(shù)據(jù)采集是行為識別工作的重要部分,對于識別工作的結(jié)果有著決定性的影響。目前人們對該工作的努力一直沒有停止,尤其是多人物的行為識別也取得了不少研究成果。
生成式對抗網(wǎng)絡(luò)[17]是一種半監(jiān)督學(xué)習(xí)算法,可以將一些隨機(jī)數(shù)據(jù)經(jīng)過神經(jīng)網(wǎng)絡(luò)的復(fù)雜運(yùn)算,生成具有和原始的骨骼數(shù)據(jù)相似的數(shù)據(jù)。一個(gè)優(yōu)秀的生成式對抗網(wǎng)絡(luò)可以很好地模仿原始的骨骼數(shù)據(jù)的特征,它的輸出的準(zhǔn)確性直接影響后續(xù)行為識別相關(guān)研究的結(jié)果,對后續(xù)工作具有巨大的意義。
生成式對抗網(wǎng)絡(luò)在各領(lǐng)域應(yīng)用廣泛[18-20],但是在行為數(shù)據(jù)集生成領(lǐng)域的應(yīng)用還是十分稀少。文中通過分析行為數(shù)據(jù)的特點(diǎn),總結(jié)出行為數(shù)據(jù)和序列數(shù)據(jù)并無太大區(qū)別,所以生成式對抗網(wǎng)絡(luò)同樣適合于對行為數(shù)據(jù)集的擴(kuò)展。對于生成行為數(shù)據(jù)集,需要一種特殊的網(wǎng)絡(luò)結(jié)構(gòu),從而可以生成令人滿意的行為數(shù)據(jù)。
經(jīng)過對生成器和鑒定器的選擇,文中提出的RGAN結(jié)構(gòu)如圖1所示。
由圖1可知,鑒定器和生成器除了采用非傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)[21](RNN)和卷積神經(jīng)網(wǎng)絡(luò)[22](CNN),還需要和全連接層(FC)相連接。其中生成器主要包括3層RNN,用于生成具有時(shí)間相關(guān)性的特征數(shù)據(jù)。每層RNN包括3n個(gè)RNN節(jié)點(diǎn),其中n代表原始數(shù)據(jù)中每一幀的骨骼點(diǎn)總數(shù)。不同的行為采集設(shè)備可能會(huì)有不同的骨骼點(diǎn)數(shù)量,所以依據(jù)不同的設(shè)備,RNN的節(jié)點(diǎn)數(shù)據(jù)隨之變化。緊接著為2層全連接層,每層全連接層依舊含有3n個(gè)節(jié)點(diǎn)。
文中使用全連接層進(jìn)一步生成動(dòng)作數(shù)據(jù),通過該全連接層,可以產(chǎn)生和原始數(shù)據(jù)同維度并具有時(shí)間相關(guān)性的數(shù)據(jù)。再通過訓(xùn)練,即可產(chǎn)生符合需求的動(dòng)作數(shù)據(jù)序列。
鑒定器主要由CNN、池化層和FC組成,每層CNN包括一個(gè)3×3卷積核,池化層采用最大池化,第一層全連接層的節(jié)點(diǎn)數(shù)量為13,第二層全連接層的節(jié)點(diǎn)數(shù)量為1。CNN的主要任務(wù)是提取矩陣的形狀特征。由于動(dòng)作序列本質(zhì)上與圖片無異,所以訓(xùn)練后的CNN可以很好地分析出生成數(shù)據(jù)和原始數(shù)據(jù)的差別。3層全連接層的任務(wù)是將提取的特征換算成鑒定值,從而分辨出數(shù)據(jù)的真實(shí)性。
在經(jīng)過對數(shù)據(jù)集的預(yù)處理之后,還需要對生成對抗網(wǎng)絡(luò)的各個(gè)參數(shù)進(jìn)行初始化,一般通過將全部參數(shù)賦值為零或者符合正態(tài)分布的參數(shù)進(jìn)行賦值。當(dāng)所有的初始化工作完成后,可以開始模型訓(xùn)練。
GAN的訓(xùn)練過程是生成器和鑒定器交替訓(xùn)練的過程[17]。在訓(xùn)練生成器的過程中,需要保證鑒定器的參數(shù)不變。在訓(xùn)練鑒定器的過程中,需要保證生成器的參數(shù)不變。以上過程為一次迭代,每一次迭代都包括兩次的正向傳播和兩次反向傳播。
在訓(xùn)練生成器的過程中:
保證鑒定器參數(shù)不變。首先從數(shù)據(jù)集中選擇一條數(shù)據(jù),即抽取一條動(dòng)作數(shù)據(jù),一般以矩陣的形式存儲,矩陣的行數(shù)為該動(dòng)作的幀數(shù),設(shè)為m,矩陣的行數(shù)為n,表示在該幀下所有骨骼點(diǎn)的三維空間坐標(biāo)維度的總數(shù),所以該數(shù)據(jù)可以表示為Em×n:
Em×n=F(U)
(1)
其中,U為原始的骨骼數(shù)據(jù)集;F為從原始的骨骼數(shù)據(jù)集中選取的某個(gè)動(dòng)作數(shù)據(jù)。
在選取某個(gè)動(dòng)作之后,一般需要獲取其幀數(shù)m和骨骼點(diǎn)的空間坐標(biāo)的數(shù)量n。為了保證生成的數(shù)據(jù)和原始的骨骼數(shù)據(jù)盡可能相似,需要設(shè)置生成的的循環(huán)迭代次數(shù)為m,即保證生成的數(shù)據(jù)矩陣的行數(shù)和列數(shù)與原始的骨骼數(shù)據(jù)相同。
之后,需要由系統(tǒng)生成一個(gè)隨機(jī)向量設(shè)為V,將隨機(jī)向量輸入到生成器,經(jīng)過m次迭代,按照前文所述的算法,生成一個(gè)和原始數(shù)據(jù)R同維度的矩陣,稱之為偽動(dòng)作序列V。
可用式2表示:
Z=G(V)
(2)
再將生成動(dòng)作序列Z送入鑒定器中,生成一個(gè)特征值設(shè)為A:
A=D(Z)
(3)
最后,依據(jù)誤差公式4,調(diào)整生成器參數(shù):
Lg(Z)=-∑log(D(G(Z)))
(4)
使用優(yōu)化器Adam對生成器的所有參數(shù)進(jìn)行優(yōu)化。在訓(xùn)練鑒定器的過程中,保證生成器參數(shù)不變,同樣在真實(shí)動(dòng)作序列中選取一條數(shù)據(jù),如式1,在選取某個(gè)動(dòng)作之后,仍然需要獲取其幀數(shù)m和骨骼點(diǎn)的空間坐標(biāo)的數(shù)量n。然后同樣設(shè)置生成的循環(huán)迭代次數(shù)為m。
按照上文所述,獲得隨機(jī)變量V,按照式2經(jīng)過生成器之后,仍然獲得偽行為數(shù)據(jù)矩陣。再輸入到鑒定器中,按照式3獲得特征值A(chǔ)1:
A1=D(Z)
(5)
與訓(xùn)練生成器不同的是,還要將原始的骨骼數(shù)據(jù)R輸入到鑒定器中,得到特征值A(chǔ)2:
A2=D(R)
(6)
最后,依據(jù)誤差公式7,調(diào)整鑒定器參數(shù):
Ld(Z,R)=-∑(logA1+log(1-A2))
(7)
最后使用優(yōu)化器Adam對鑒定器的所有參數(shù)進(jìn)行優(yōu)化。
不斷地迭代兩個(gè)過程,當(dāng)鑒定器無法對生成器產(chǎn)生的數(shù)據(jù)鑒定時(shí),說明訓(xùn)練完成。
當(dāng)訓(xùn)練完成后,需要將生成器從RGAN系統(tǒng)中提取出來,即需要的數(shù)據(jù)集擴(kuò)展工具。不斷地輸入隨機(jī)變量,即可大量產(chǎn)生數(shù)據(jù)集,從而擴(kuò)充原本數(shù)量不足的行為數(shù)據(jù)集。
本算法的偽代碼如下:
算法:train RGAN
Input:random value,real data
Output:estimation value,generator
1:while D can distinguish fade data
//保證鑒定器不能鑒定生成的數(shù)據(jù)
2:input random value to G
//訓(xùn)練鑒定器
3:G output fade data
4:input fade data and real data to D
5:D output a estimation value
6:update the parameter of D
中國經(jīng)濟(jì)在機(jī)遇與挑戰(zhàn)中即將走過坎坷而又平穩(wěn)的一年。在2018年行將結(jié)束時(shí),中央和地方機(jī)構(gòu)改革都更加強(qiáng)調(diào)“優(yōu)化協(xié)同高效”,該精簡的精簡,該加強(qiáng)的加強(qiáng),深化國家機(jī)構(gòu)改革是推進(jìn)國家治理體系和治理能力現(xiàn)代化的一場深刻變革。
7:input random value to G
//訓(xùn)練生成器
8:G output fade data
9:input fade data to D
11:D output a estimation value
12:update the parameter of G
13:end while
文中實(shí)驗(yàn)使用的計(jì)算機(jī)主要包括兩顆英特爾至強(qiáng)CPU,8 G三星DDR3內(nèi)存和8 G顯存 GTX1080顯卡加速器。
目前采用兩種評測方法:
(1)歐氏距離評測方法。
對于矩陣的相似度,可以采用歐氏距離的方法:設(shè)兩個(gè)矩陣為A和B,其中的元素分別為a和b,則歐氏距離可以表示為:
(8)
該方法的主要思想是將數(shù)值的差相加,目的是獲取數(shù)據(jù)的差異性,而忽略其他方面的影響。優(yōu)點(diǎn)是直觀、簡單;缺點(diǎn)是計(jì)算量較大,尤其是1范式計(jì)算還存在開方的計(jì)算。
(2)余弦相似度評測方法。
余弦相似度是衡量兩個(gè)向量相關(guān)性的方法,其定義為:
(9)
計(jì)算結(jié)果為-1至1的小數(shù),-1表示兩個(gè)向量方向相反,0表示兩個(gè)向量為垂直方向,1表示兩個(gè)向量方向相同。
該方法從向量的方向角度上描述了向量的相似性。如果兩個(gè)向量的方向在方向上相差較大,則通過該方法可以體現(xiàn)出來。
文中將采用兩者相結(jié)合的方法,從兩個(gè)角度來衡量RGAN產(chǎn)生的數(shù)據(jù)集,同時(shí)還要和其他半監(jiān)督算法,無監(jiān)督算法進(jìn)行比較。
總結(jié)以上公式,定義評測公式為:
(10)
對RGAN算法進(jìn)行實(shí)驗(yàn),并采用上述評價(jià)標(biāo)準(zhǔn)來衡量算法優(yōu)劣,進(jìn)行客觀分析。
3.2.1 RGAN系統(tǒng)關(guān)鍵參數(shù)變化
在理想狀態(tài)下,當(dāng)RGAN訓(xùn)練結(jié)束后,生成器和鑒定器會(huì)有很強(qiáng)的生成能力和鑒定能力。兩者形成一種對抗的狀態(tài),當(dāng)某個(gè)loss函數(shù)值上升時(shí),另一個(gè)會(huì)下降,最后趨于平衡。
文中使用tensorboard收集實(shí)驗(yàn)數(shù)據(jù)。實(shí)驗(yàn)結(jié)果如圖2所示。
圖2 鑒定器鑒定原始數(shù)據(jù)與生成數(shù)據(jù)的結(jié)果
鑒定器對于原始數(shù)據(jù)的鑒定結(jié)果如圖2所示,對應(yīng)式6,可以看出,根據(jù)迭代自出的增多,鑒定原始數(shù)據(jù)的結(jié)果收斂至1,說明它的鑒定能力在增強(qiáng)。
鑒定器對于生成器的生成結(jié)果如圖2所示,對應(yīng)式5,可以看出,鑒定器對于生成器產(chǎn)生的結(jié)果逐漸增加,接近于1,即生成器產(chǎn)生的數(shù)據(jù)和原始數(shù)據(jù)越來越相似。
鑒定器和生成器的loss函數(shù)圖如圖3所示。其中鑒定器的loss函數(shù)在訓(xùn)練過程中的變化情況對應(yīng)式7;生成器的loss函數(shù)在訓(xùn)練過程中的變化情況對應(yīng)式4。
圖3 鑒定器loss與生成器loss的計(jì)算結(jié)果
可以看出,兩者的趨勢相反,完全體現(xiàn)了一種對抗思想,并且最后分別收斂。以上參數(shù)的變化反映了RGAN的訓(xùn)練過程,在上文所述硬件條件下,整個(gè)訓(xùn)練過程總共消耗時(shí)間為6小時(shí)左右。
3.2.2 結(jié)果及分析
為了評價(jià)文中算法的優(yōu)勢,本節(jié)將使用幾種常見的半監(jiān)督學(xué)習(xí)算法與文中算法進(jìn)行比較。
傳統(tǒng)生成式對抗網(wǎng)絡(luò)(GAN),即將RNN模塊刪除后的GAN:將原始數(shù)據(jù)輸入到傳統(tǒng)GAN后,使用GAN生成一定規(guī)模的數(shù)據(jù),然后計(jì)算數(shù)據(jù)集的評價(jià)值,對應(yīng)式9。
(1)在UTKinct數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),結(jié)果如圖4所示。
圖4 UT-Kinect實(shí)驗(yàn)結(jié)果
隨機(jī)選取了若干動(dòng)作進(jìn)行實(shí)驗(yàn)。在UT-Kinect數(shù)據(jù)集的實(shí)驗(yàn)中可以得出結(jié)論,RGAN產(chǎn)生的數(shù)據(jù)和原始數(shù)據(jù)的相似度更高,也就是RNN在RGAN的系統(tǒng)中得到了預(yù)期的效果。
文中提出的RGAN算法評價(jià)值的平均值雖然較小,平均值達(dá)到2 613.355 272,但是由于相關(guān)領(lǐng)域相似實(shí)驗(yàn)和評價(jià)標(biāo)準(zhǔn)較少,RGAN生成的數(shù)據(jù)集和原始數(shù)據(jù)集相似度是否已經(jīng)具有合理性,是否已經(jīng)很好地生成數(shù)據(jù),確實(shí)還需要更多對比實(shí)驗(yàn)。但是實(shí)驗(yàn)結(jié)果比傳統(tǒng)GAN的評價(jià)值小,說明該算法在一定程度上對GAN在行為識別領(lǐng)域得到了改進(jìn)。這是由于RGAN可以學(xué)習(xí)到數(shù)據(jù)序列之間的依賴關(guān)系。實(shí)驗(yàn)結(jié)果表明,RGAN在一定程度上可以很好地生成人體行為UT-Kinect相似數(shù)據(jù)集。
(2)在MSR Action 3D數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如圖5所示。
從圖5可以看出,在使用MSR Action 3D的實(shí)驗(yàn)中,可以根據(jù)平均值進(jìn)行排序后的結(jié)果對比,RGAN表現(xiàn)良好并沒有和以上兩種算法相差太大,評價(jià)值為2 651.757 254。雖然面臨著和UT-Kinect相同的問題,但是表現(xiàn)依舊強(qiáng)于傳統(tǒng)GAN算法,所以,RGAN算法是一種相對較好的數(shù)據(jù)集生成算法。
從整體上來說,RGAN在數(shù)據(jù)集擴(kuò)展的實(shí)驗(yàn)中表現(xiàn)良好,符合最初的期望。雖然面臨著對比實(shí)驗(yàn)較少的問題,但是生成的數(shù)據(jù)集基本上符合預(yù)期用于行為識別訓(xùn)練的目標(biāo),在實(shí)驗(yàn)結(jié)果中表現(xiàn)優(yōu)于傳統(tǒng)生成對抗網(wǎng)絡(luò)。同時(shí),該算法在復(fù)雜行為的生成過程中容易產(chǎn)生對行為識別正確結(jié)果偏離的問題還需要進(jìn)一步改進(jìn)。