高明柯 趙 卓 逄 濤 王天保 鄒一波 黃 晨 李德旭
1(中國電子科技集團(tuán)公司第三十二研究所 上海 201808)
2(上海海洋大學(xué)計(jì)算機(jī)工程與科學(xué)學(xué)院 上海 201306)
3(上海大學(xué)計(jì)算機(jī)工程與科學(xué)學(xué)院 上海 200444)
隨著人工智能、計(jì)算機(jī)視覺、虛擬現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí)等技術(shù)的飛速發(fā)展,促進(jìn)了對人機(jī)交互技術(shù)的需求?;谝曈X的手勢識別作為一種自然直觀的交互方式,成為廣大學(xué)者的研究熱點(diǎn),是繼語音識別之后,備受關(guān)注的人機(jī)交互技術(shù)之一?;谝曈X的手勢識別更符合人機(jī)交互未來的發(fā)展趨勢,具有廣泛的應(yīng)用前景,已逐步應(yīng)用于智能家居、輔助駕駛、虛擬現(xiàn)實(shí)、增強(qiáng)現(xiàn)實(shí)、輔助教育等方面,具有重要的理論研究價(jià)值和實(shí)際應(yīng)用意義。
基于視覺的手勢識別方法容易受到光照、遮擋等環(huán)境因素的影響,且單一特征包含的信息有限,無法充分表征手勢,導(dǎo)致在實(shí)際的應(yīng)用場景中,識別精度不高、魯棒性較弱。因此,為了提高手勢識別的準(zhǔn)確率,研究者們將獲取的多種手勢特征,采用特征融合的方式進(jìn)行識別,以獲得更好的預(yù)測結(jié)果[1-7]。文獻(xiàn)[1]結(jié)合圖像編碼和密度聚類從手勢視頻中提取關(guān)鍵幀,并融合手勢的表觀特征和運(yùn)動(dòng)特征提升特征表示,以兼顧手勢識別的性能和效率。文獻(xiàn)[2]在手勢圖像預(yù)處理過程中引入聚合通道特征,基于DTCWT對目標(biāo)手勢圖像進(jìn)行多尺度多方向分解,通過再融合各個(gè)方向上的高低頻特征并通過支持向量機(jī)(SVM)進(jìn)行分類識別。文獻(xiàn)[3]提出了一種混合的深度動(dòng)態(tài)網(wǎng)絡(luò)模型,該模型將傳統(tǒng)機(jī)器學(xué)習(xí)方法和深度學(xué)習(xí)方法相結(jié)合,采用3D卷積神經(jīng)網(wǎng)絡(luò)提取手勢的RGB圖像特征,采用深度置信網(wǎng)絡(luò)提取手勢的骨骼特征進(jìn)行特征融合后通過隱馬爾可夫模型進(jìn)行分類預(yù)測。文獻(xiàn)[4]將手勢的時(shí)間和空間特征采用評分的方式進(jìn)行融合,實(shí)現(xiàn)對手勢的識別。但上述的特征融合過程中,未考慮動(dòng)態(tài)手勢單個(gè)特征的時(shí)序建模,可能使重要的時(shí)序信息丟失。
基于視覺的手勢識別方法通常采用隨機(jī)采樣或者密集時(shí)間采樣的方法對視頻流進(jìn)行預(yù)處理,使其更符合模型的輸入。隨機(jī)采樣可能會(huì)造成關(guān)鍵幀信息的丟失,而密集時(shí)間采樣往往會(huì)造成數(shù)據(jù)的冗余。
人類的注意力機(jī)制能夠利用有限的視覺信息處理資源從大量信息中獲取有價(jià)值的信息,極大地提高了視覺處理的效率。而深度學(xué)習(xí)中的注意力機(jī)制受人類視覺注意力機(jī)制啟發(fā),其核心內(nèi)容也是如何從眾多信息中抽選出對當(dāng)前任務(wù)目標(biāo)更為關(guān)鍵的信息。注意力機(jī)制已經(jīng)成為很多任務(wù)中序列建模的一部分,它能解除傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)無法對較遠(yuǎn)距離的序列成分建模的限制,即對輸入輸出序列中所有時(shí)序有依賴關(guān)系,可不受其位置距離長短的限制。文獻(xiàn)[8]針對骨骼數(shù)據(jù)特性,提出了一種用于動(dòng)作識別的端到端的時(shí)空注意力模型。文獻(xiàn)[9]基于視覺刺激的原理提升注意力機(jī)制,有效解決了注意力機(jī)制在無監(jiān)督情況下,無法選擇合適的感興趣區(qū)域的問題。文獻(xiàn)[10]提出了一種獨(dú)立的注意力網(wǎng)絡(luò),相對于嵌入循環(huán)神經(jīng)網(wǎng)絡(luò)的注意力機(jī)制,能夠更好地進(jìn)行并行計(jì)算。
針對手勢識別中視頻流預(yù)處理、特征融合方面所存在的問題,鑒于深度學(xué)習(xí)中注意力機(jī)制的特點(diǎn),本文提出基于注意力機(jī)制和特征融合的手勢識別方法。一方面,通過注意力機(jī)制關(guān)注視頻流數(shù)據(jù)中的重要信息,既可避免采樣方法的隨意性,也可避免數(shù)據(jù)的冗余;另一方面,通過注意力機(jī)制對單個(gè)特征的時(shí)序信息進(jìn)行建模,然后融合抽取的RGB特征和深度圖像特征,既可增加手勢識別的準(zhǔn)確性,又可提高模型的魯棒性。
注意力機(jī)制的研究最早源于19世紀(jì)的實(shí)驗(yàn)心理學(xué)[11],20世紀(jì)中期,認(rèn)知心理學(xué)和神經(jīng)生理學(xué)的發(fā)展推動(dòng)了注意力機(jī)制研究[12-13]。但是長期以來,注意力只是被視為個(gè)人在覺察、理解外部刺激的過程中生理和心理表現(xiàn)出的一種官能,重點(diǎn)表現(xiàn)在視覺、聽覺等感官上。2014年谷歌DeepMind團(tuán)隊(duì)在文獻(xiàn)[11]中提出了注意力機(jī)制,將其用于圖像分類任務(wù)中,解決了序列到序列模型中災(zāi)難性的遺忘問題。在Bahdanau等[12]首次在機(jī)器翻譯中引入注意力機(jī)制,并取得不錯(cuò)的效果之后,其被廣泛應(yīng)用在自然語言處理[13-15]、圖像處理[16-18]、語音識別[19]、目標(biāo)識別[20]等各種不同類型的深度學(xué)習(xí)任務(wù)中,是深度學(xué)習(xí)技術(shù)中最值得關(guān)注與深入了解的核心技術(shù)之一。注意力機(jī)制是預(yù)測模型中的一部分,它可以讓預(yù)測模型有序地關(guān)注輸入中的不同部分。而這個(gè)部分的選擇主要在于系統(tǒng)的狀態(tài),即該部分對最后預(yù)測的影響程度。采用注意力機(jī)制的模型通常有兩個(gè)目的,其一是注意力機(jī)制通過對輸入的選擇,可以有效地減少高維計(jì)算;其二是注意力機(jī)制能夠使預(yù)測模型關(guān)注到輸入中的重要數(shù)據(jù),進(jìn)而使系統(tǒng)可以提取并輸出最相關(guān)的信息,所以能有效提高模型的輸出質(zhì)量。
注意力機(jī)制是編碼器與解碼器之間的接口。在使用注意力機(jī)制的序列模型中,編碼器的所有輸出均存放在一個(gè)記憶容器里。在編碼的每一個(gè)時(shí)間步里,基于該記憶容器計(jì)算對應(yīng)的概率分布,并作為解碼器的輸入。解碼器也以該分布生成的權(quán)重為基礎(chǔ),關(guān)注編碼器特征表示的不同部分。因此解碼器接收到不僅是一個(gè)統(tǒng)一的向量表征,還有來自編碼器每個(gè)時(shí)間步的向量表征。通過注意力機(jī)制,模型便能有選擇地關(guān)注輸入序列中重要的部分,從而在解碼器和編碼器之間對齊。
注意力機(jī)制可分為軟注意力、硬注意力、局部注意力、全局注意力、多維注意力和自注意力等。最常見的是軟注意力,其作為基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的編碼器-解碼器框架的一部分來編碼長的輸入語句。注意力機(jī)制可以采用任何長度的輸入表示,并將其減少到一個(gè)固定長度的內(nèi)容向量,用于解碼步驟。因此,它允許將輸入表示與輸出分離。軟注意力機(jī)制沒有采用強(qiáng)制的方式選擇輸入信息的模塊,而是對輸入的每一部分加以權(quán)重。由于對輸入的每個(gè)部分都進(jìn)行了計(jì)算,所以沒有節(jié)省計(jì)算資源。但這種方式能夠有效地采用梯度反向傳播進(jìn)行訓(xùn)練,且計(jì)算過程是可微分的,能夠方便地嵌入已知的框架中。本文利用這一特點(diǎn)將軟注意力機(jī)制引入RNN,以RNN作為編碼器,以長短期存儲(chǔ)器(LSTM)作為解碼器。
注意力機(jī)制是編碼網(wǎng)絡(luò)的一個(gè)輸出集合,包含了輸入數(shù)據(jù)具有結(jié)構(gòu)信息的特征表示,集合由一組固定長度的向量組成,數(shù)學(xué)描述如下:
c={c1,c2,…,cM}
(1)
集合中每一個(gè)向量對應(yīng)到輸入數(shù)據(jù)中某個(gè)時(shí)間步或空間位置上的信息。對于圖像而言,向量fi表示圖像中的一個(gè)局部空間;對于機(jī)器翻譯而言,它表示輸入語句中一個(gè)具體的詞和其周圍的詞所組成的短語。M是集合中向量的數(shù)量。
(2)
(3)
當(dāng)注意力權(quán)重計(jì)算完成后,將計(jì)算新的向量ct:
(4)
式中:函數(shù)φ依據(jù)注意力將所有集合中的向量合為一個(gè)向量。
通常函數(shù)φ就是向量求和函數(shù):
(5)
或者可以強(qiáng)制注意力模型從集合中依據(jù)伯努利分布采樣出一個(gè)向量作為下一時(shí)間步的輸入。
(6)
依據(jù)計(jì)算產(chǎn)生的新的向量ct,更新解碼器的隱含狀態(tài):
zt=φθ(zt-1,xt,ct)
(7)
這種在解碼器每個(gè)時(shí)間步t計(jì)算向量的方法使得編碼器不用將不同長度的輸入數(shù)據(jù)編碼成固定長度的向量。通過對輸入數(shù)據(jù)空間上或者時(shí)序上的劃分,編碼器可以將輸入數(shù)據(jù)表示成為一個(gè)向量的集合,集合中每一個(gè)向量只需要對輸入數(shù)據(jù)中特定的部分進(jìn)行編碼。也就是說,在編碼解碼網(wǎng)絡(luò)里引入注意力機(jī)制可以有效解決固定向量長度無法充分表征輸入數(shù)據(jù)結(jié)構(gòu)信息的問題。
特征融合是指將多種包含不同信息的特征融合在一起,多用于多模型的混合結(jié)構(gòu)。根據(jù)融合信息進(jìn)入模型的順序一般分為提前融合和延后融合兩種方式。提前融合是將原始數(shù)據(jù)在輸入模型之前進(jìn)行特征融合,但有些數(shù)據(jù)難以在輸入前直接進(jìn)行融合,具有一定的局限性。延后融合是指將模型學(xué)習(xí)到的高層抽象高層特征進(jìn)行融合,融合后的特征信息更豐富,模型的識別效果會(huì)更好,或?qū)⒉煌P偷念A(yù)測結(jié)果融合起來,作為最終結(jié)果,一般使用線性的方式均衡兩個(gè)模型的結(jié)果。
假設(shè)Sr和Sd為兩個(gè)不同模型的預(yù)測值,最終的預(yù)測值Sfinal為兩個(gè)分?jǐn)?shù)的線性融合,可以形式化如下:
Sfinal∝α·Sr+(1-α)·Sd
(8)
式中:α為融合權(quán)重因子。
軟注意力機(jī)制的計(jì)算過程是可微的,因此它能夠方便地嵌入在已知的框架中,可以在注意力模型里進(jìn)行梯度傳播。而硬注意力機(jī)制是一個(gè)隨機(jī)過程,即與式(6)中通過對集合中向量經(jīng)過伯努利分布采樣得到新向量的過程一樣,它不同于將所有的隱含狀態(tài)作為下一步的輸入,而是以一定的概率對隱含狀態(tài)進(jìn)行采樣,為了在這一過程中傳遞梯度,通常使用蒙特卡洛采樣來估計(jì)梯度。這使得硬注意力機(jī)制無法很好地作為模塊嵌入已知的模型中。因此,為了方便進(jìn)行模型訓(xùn)練,本文引入軟注意力機(jī)制。
注意力模型對每一時(shí)間步中的輸入向量xt進(jìn)行加權(quán)生成新的向量at,生成方式如下:
at=φ(Wxaxt+Whaht-1+ba)
(9)
式中:φ表示Sigmoid激活函數(shù);W表示權(quán)重矩陣;ba表示偏移向量。以當(dāng)前輸入xt和隱藏狀態(tài)ht-1來決定輸入向量xt中每個(gè)元素的重要性。
(10)
含注意力模塊的循環(huán)神經(jīng)網(wǎng)絡(luò)計(jì)算單元形式化如下:
(11)
(12)
(13)
(14)
ht=ot⊙Φ(ct)
(15)
式中:i、f、o、c分別為輸入門、遺忘門、輸出門和記憶單元。本文循環(huán)神經(jīng)網(wǎng)絡(luò)采用正切函數(shù)作為激活函數(shù),即Φ(x)=tanh(x)。大多數(shù)注意力機(jī)制使用Softmax來計(jì)算每個(gè)元素的權(quán)重,這樣保證權(quán)重之和為1,但是在這種情況下元素之間的注意力權(quán)重互相影響,即使兩者重要性相同也會(huì)因此變化。因此本文采用Sigmoid激活函數(shù)來計(jì)算,可以將權(quán)重歸一化到0至1之間。
為了防止過擬合,在訓(xùn)練過程中引入Dropout算法[21]。在訓(xùn)練過程中,以一定的概率p隨機(jī)采樣權(quán)重層的參數(shù),則式(15)改為如下形式:
ht=ot⊙Φ(ct°fd)
(16)
式中:fd是概率為p的伯努利分布產(chǎn)生的向量。
融合方式可分為提前融合和延后融合。兩種融合方式各有其不足之處,提前融合對于需要時(shí)序建模的任務(wù)來講無法學(xué)習(xí)到每個(gè)特征自己的時(shí)序動(dòng)態(tài)性,而延后融合可能會(huì)丟失存在于多模型特征表示中的時(shí)序信息。為解決上述問題,本文設(shè)計(jì)三層雙向長短期記憶網(wǎng)絡(luò)對特征進(jìn)行融合。
第一層使用獨(dú)立的雙向長短期記憶網(wǎng)絡(luò)層對每個(gè)特征進(jìn)行時(shí)序建模。第二層將來自RGB圖像模型的隱藏特征和來自深度圖像模型的隱藏特征使用線性函數(shù)進(jìn)行融合,使用Sigmoid函數(shù)加入非線性因素,按每個(gè)時(shí)間步生成新的特征表示。第三層使用雙向長短期記憶網(wǎng)絡(luò)對第二層的輸出進(jìn)行時(shí)序建模。
(17)
(2) 第二層:該層使用線性函數(shù)將隱含層特征融合起來,使用Sigmoid函數(shù)加非線性因素。
(18)
(3) 第三層:該層使用一層雙向長短期記憶網(wǎng)絡(luò)對融合特征ft進(jìn)行時(shí)序建模。
(19)
將最后的輸出作為全連接層的輸入,進(jìn)行最終預(yù)測。
網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)圖
實(shí)驗(yàn)采用數(shù)據(jù)集ChaLearn LAP和SKIG,設(shè)置4種實(shí)驗(yàn)方案:(1) 單特征,即僅采用RGB圖像或深度圖像;(2) 多特征提前融合,在輸入模型之前,將RGB圖像和深度圖像融合成四通道圖像作為混合網(wǎng)絡(luò)模型的輸入;(3) 采用本文的融合方法;(4) 采用本文特征融合結(jié)合注意力機(jī)制的方法。實(shí)驗(yàn)結(jié)果如表1所示。
表1 多種方案的實(shí)驗(yàn)結(jié)果
方案1的實(shí)驗(yàn)結(jié)果顯示,在同一數(shù)據(jù)集上,不同特征的準(zhǔn)確率不同;在不同數(shù)據(jù)集上,不同特征的準(zhǔn)確率也存在差異。在ChaLearn數(shù)據(jù)集上方案1(RGB)的準(zhǔn)確率優(yōu)于方案1(Depth),而在SKIG數(shù)據(jù)集卻相反,這種情況與數(shù)據(jù)集本身特性有關(guān)。一般來講,RGB圖像特征利于識別,深度圖像特征利于分割。ChaLearn數(shù)據(jù)集數(shù)據(jù)量大且在光照明亮的情況下采集的視頻,而SKIG數(shù)據(jù)集給出三種不同光照,在弱光照的情況下,手部與背景區(qū)分難度較大,RGB特征受到影響,而深度圖像特征恰好可以將手部進(jìn)行分割。
方案2和方案3的實(shí)驗(yàn)結(jié)果顯示,在兩個(gè)數(shù)據(jù)集上融合策略均能提升識別準(zhǔn)確率。與方案1和方案2相比,采用本文融合方法后,在數(shù)據(jù)集CheLearn上準(zhǔn)確率提高了4.32%和0.31%,在數(shù)據(jù)集SKIG上提升了1.35%和0.42%。實(shí)驗(yàn)結(jié)果充分表明:融合兩種包含不同信息的特征能夠有效提升識別準(zhǔn)確率;盡管兩種方案的準(zhǔn)確率相差不大,但對每個(gè)特征進(jìn)行時(shí)序建模是有必要的。
方案4的實(shí)驗(yàn)結(jié)果顯示,添加注意力機(jī)制后,與方案3相比,在數(shù)據(jù)集CheLearn上準(zhǔn)確率提升了0.35%,在數(shù)據(jù)集SKIG上提升了0.36%。盡管提升幅度甚微,但仍可驗(yàn)證注意力機(jī)制對識別準(zhǔn)確率的影響。
本文提出了基于注意力機(jī)制和特征融合的手勢識別方法。通過含注意力模塊的雙向長短期記憶網(wǎng)絡(luò)對單特征的時(shí)序信息進(jìn)行選擇性地關(guān)注,抽取重要數(shù)據(jù),有效避免了數(shù)據(jù)冗余和關(guān)鍵幀的丟失;通過融合手勢的RGB特征和深度圖像特征,提升了識別的準(zhǔn)確率,增加了算法的魯棒性。后續(xù)工作將會(huì)針對更具挑戰(zhàn)性的數(shù)據(jù)集進(jìn)行融合策略測試。