李 妍,楊 碩
(沈陽(yáng)化工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧 沈陽(yáng) 110020)
近年來(lái),隨著人工智能的發(fā)展,智能家居進(jìn)入迅猛發(fā)展時(shí)期。在這樣的大環(huán)境中,使用手勢(shì)控制家電逐漸成為潮流。本文提出在手勢(shì)中取一種特殊的手勢(shì),即周期性揮手動(dòng)作來(lái)控制家電。周期性揮手相對(duì)于其他在家居環(huán)境下的手勢(shì)有如下優(yōu)勢(shì):
(1)在家居環(huán)境中,人手往往只是環(huán)境中的一小片區(qū)域,揮動(dòng)的雙手在靜態(tài)背景下更容易被攝像頭檢測(cè)到;
(2)揮手具有周期性特征,相對(duì)于其他手勢(shì)特征更為明顯,不容易產(chǎn)生歧義,不容易存在誤觸的情況;
(3)揮手作為人的常用動(dòng)作,更為方便。
周期性揮手動(dòng)作識(shí)別屬于動(dòng)態(tài)手勢(shì)識(shí)別的特殊方向。目前常見(jiàn)的基于視覺(jué)的手勢(shì)識(shí)別主要有基于手部輪廓、基于膚色模型、基于多特征融合等?;诿绹?guó)CMU Perceptual Computing Lab[1]開(kāi)源的手部關(guān)鍵點(diǎn)模型能夠快速定位手部位置;李元[2]等人通過(guò)結(jié)合關(guān)鍵點(diǎn)模型和膚色模型對(duì)手勢(shì)進(jìn)行識(shí)別;朱兆松[3]等人使用改進(jìn)的SURF(Speeded-Up Robust Features)算法對(duì)目標(biāo)區(qū)域和人手手形進(jìn)行模板匹配,從而完成對(duì)視頻的分類;Zhou K[4]等人將膚色分割法與SVM(Support Vector Machine)分類器相結(jié)合,對(duì)手勢(shì)進(jìn)行識(shí)別。但是受到背景、光照等的影響干擾較大,效果稍顯不足。隨著深度學(xué)習(xí)的發(fā)展,神經(jīng)網(wǎng)絡(luò)也被用于對(duì)手勢(shì)進(jìn)行分類。Cai[5]等人在手部姿態(tài)估計(jì)中引入了圖卷積神經(jīng)網(wǎng)絡(luò),通過(guò)學(xué)習(xí)時(shí)間及空間信息,對(duì)多個(gè)數(shù)據(jù)集進(jìn)行了較好識(shí)別。崔虎[6]等人提出了一種基于異步多時(shí)域網(wǎng)絡(luò)模型的動(dòng)態(tài)手勢(shì)識(shí)別方法。王粉花[7]等提出了一種I3D雙流三維網(wǎng)絡(luò)(Two-Stream Inflated 3D ConvNets)和CBAM(Convolutional Block Attention Module)注意力機(jī)制融合的動(dòng)態(tài)手勢(shì)識(shí)別方法CBAM-I3D,對(duì)動(dòng)態(tài)手勢(shì)識(shí)別的識(shí)別率達(dá)到了 90.76%,正確率有所提高。但以上方法均未對(duì)周期性揮手動(dòng)作進(jìn)行專門識(shí)別。
基于以上方法,本文提出了一種傳統(tǒng)方法,即背景消除建模方法與雙流卷積網(wǎng)絡(luò)相結(jié)合的周期性揮手識(shí)別算法。為減輕背景干擾,采用背景消除建模這一傳統(tǒng)方法將運(yùn)動(dòng)前景提取出來(lái)。雙流卷積網(wǎng)絡(luò)可以將空間流信息網(wǎng)絡(luò)和時(shí)間流信息網(wǎng)絡(luò)按一定的方法融合,進(jìn)行分類。本文提出使用具有更深網(wǎng)絡(luò)層次的ResNet-18來(lái)代替其主干網(wǎng)絡(luò),時(shí)間流和空間流的融合也選擇了更佳的融合方式,以求達(dá)到更高準(zhǔn)確率。算法總流程如圖1所示。
圖1 算法總流程
為降低背景的干擾,提高檢測(cè)精度,本文首先對(duì)視頻中的運(yùn)動(dòng)目標(biāo)進(jìn)行了跟蹤和檢測(cè),采用的方法是背景消除建模。背景消除建模是將視頻原來(lái)的背景與當(dāng)前視頻幀進(jìn)行比較做差值,將所獲圖像二值化,使背景變?yōu)槿?,前景為全白。由于人揮手時(shí)身體基本不動(dòng),所以身體也被視為背景,只有揮動(dòng)的雙手作為前景圖像被提取出來(lái)。
背景消除建模有兩種代表性算法,一種是圖像分割,即GMM[8]高斯混合模型,另一種是KNN-K最近鄰算法。GMM高斯混合模型將圖像分為3~5個(gè)高斯模型,計(jì)算一個(gè)像素點(diǎn)與其他任何一個(gè)高斯模型的距離,若大于其2倍的標(biāo)準(zhǔn)差,則被視為前景運(yùn)動(dòng)物體;K最近鄰分類算法是指在特征空間中,如果一個(gè)樣本的K個(gè)最相鄰樣本中的大多數(shù)屬于某一個(gè)類別,則該樣本也屬于該類別,即每個(gè)樣本可以由最接近的K個(gè)相鄰樣本代表,同時(shí)具備此類樣本的特性。由于本文所用數(shù)據(jù)集類域的重疊較多,所以使用K最近鄰分類算法。
K最近鄰分類算法計(jì)算空間中的兩點(diǎn)使用歐式距離。在二維空間,兩點(diǎn)的歐氏距離用公式表示為:
拓展到多維空間,公式變?yōu)椋?/p>
通過(guò)將預(yù)測(cè)點(diǎn)與所有點(diǎn)之間的距離進(jìn)行計(jì)算并排序,選出前K個(gè)值較多的類別,然后通過(guò)交叉驗(yàn)證選擇合適的K值,最后生成前景圖像。
單純的連續(xù)幀不能很好地判斷運(yùn)動(dòng)信息,于是將視頻轉(zhuǎn)化為光流圖像。光流圖像是由光流法提取的,光流法是目前研究物體運(yùn)動(dòng)的重要方法,它是指時(shí)變圖像中各像素點(diǎn)的瞬時(shí)運(yùn)動(dòng)速度,可以對(duì)運(yùn)動(dòng)目標(biāo)圖像進(jìn)行動(dòng)態(tài)分析。
本文使用Horn-Schunck光流算法[9]提取光流圖像,HS算法求的是稠密光流,需要對(duì)每一個(gè)像素都計(jì)算光流值。算法基于兩種假設(shè),第一是灰度不變假設(shè),即不論物體是否運(yùn)動(dòng),它在同一個(gè)點(diǎn)的圖像灰度均不會(huì)發(fā)生變化;第二是平滑光流場(chǎng)假設(shè),總體圖像的光流場(chǎng)應(yīng)該是平滑的。算法給定圖像序列I(x,y,t),u表示水平流,v表示垂流,HS光流法通過(guò)最小化能量函數(shù)求解光流場(chǎng)問(wèn)題。能量函數(shù)定義為:
式中:Ix,Iy,It為圖像對(duì)x,y,t的導(dǎo)數(shù);(Ixu+Iyv+It)是灰度變化因子;α2(‖?u‖2+‖?v‖2)是光滑因子。光流場(chǎng)問(wèn)題的求解轉(zhuǎn)化為求最小值的問(wèn)題。
圖2所示是視頻預(yù)處理后的圖像。
圖2 視頻預(yù)處理后的圖像
通過(guò)視頻進(jìn)行行為識(shí)別,需要通過(guò)靜止幀提取空間和幀間運(yùn)動(dòng)信息。雙流卷積網(wǎng)絡(luò)通過(guò)獨(dú)立使用靜態(tài)圖像幀和幀間密集光流進(jìn)行識(shí)別后的結(jié)果融合。通過(guò)多任務(wù)學(xué)習(xí),結(jié)合時(shí)空信息的同時(shí)又提高了網(wǎng)絡(luò)性能。
雙流卷積網(wǎng)絡(luò)的結(jié)構(gòu)分為時(shí)間流卷積網(wǎng)絡(luò)(Temporal Stream ConvNet)和空間流卷積網(wǎng)絡(luò)(Spatial Stream ConvNet)。空間流輸入的數(shù)據(jù)是單張靜態(tài)圖像,它表示每個(gè)幀的畫面,描述了目標(biāo)與背景的空間分布信息以及單個(gè)幀的運(yùn)動(dòng)信息。時(shí)間流輸入的數(shù)據(jù)是多幀密集光流,多幀密集光流是多個(gè)相鄰幀之間的光流位移場(chǎng),描述了幀間的運(yùn)動(dòng)信息??臻g流網(wǎng)絡(luò)和時(shí)間流網(wǎng)絡(luò)均由5個(gè)卷積層、2個(gè)全連接層和一層softmax組成,最后將2個(gè)網(wǎng)絡(luò)的softmax輸出進(jìn)行融合后分類。
為獲取更多特征信息,本文使用網(wǎng)絡(luò)層次更深的ResNet-18[10]網(wǎng)絡(luò)作為基本網(wǎng)絡(luò)。但是一味增加網(wǎng)絡(luò)層數(shù)可能會(huì)造成更高的訓(xùn)練誤差,即網(wǎng)絡(luò)退化。殘差神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì)在于引入了恒等映射,由層數(shù)過(guò)高產(chǎn)生的退化問(wèn)題通過(guò)計(jì)算殘差解決。加入殘差網(wǎng)絡(luò)能夠訓(xùn)練更深層次的網(wǎng)絡(luò)。
在殘差網(wǎng)絡(luò)中,輸入x,經(jīng)過(guò)2個(gè)卷積層后,輸出H(x)=F(x)+x,在通過(guò)捷徑連接(Shortcut Connections)和第二個(gè)ReLU激活函數(shù)后,獲得輸出:
式中:w為權(quán)重參數(shù);F(x,w)為非線性殘差映射。殘差學(xué)習(xí)模塊如圖3所示。
圖3 殘差學(xué)習(xí)模塊
將ResNet-18網(wǎng)絡(luò)與雙流卷積網(wǎng)絡(luò)結(jié)合,在提取RGB圖像和光流圖像后分別采用ResNet-18網(wǎng)絡(luò)提取空間特征和時(shí)間特征。以RGB圖像作為空間流網(wǎng)絡(luò)的輸入信息,用ResNet-18網(wǎng)絡(luò)提取人手的空間特征;同時(shí)以雙手揮舞的光流圖作為時(shí)間流網(wǎng)絡(luò)的輸入信息,用ResNet-18網(wǎng)絡(luò)提取揮手的時(shí)間特征。圖4表示融合后的雙流卷積網(wǎng)絡(luò),圖5是ResNet-18網(wǎng)絡(luò)結(jié)構(gòu)。
圖4 雙流卷積網(wǎng)絡(luò)
圖5 ResNet-18網(wǎng)絡(luò)結(jié)構(gòu)
原始的雙流卷積網(wǎng)絡(luò)在時(shí)間流和空間流融合時(shí)多采用求和融合,而本文通過(guò)對(duì)比以下幾個(gè)不同的融合方式,選擇了卷積融合方式,準(zhǔn)確率相比較其他融合方式略有提高。第一種是相加融合方式,即融合結(jié)果由通道數(shù)一致的特征圖1和特征圖2中對(duì)應(yīng)點(diǎn)的像素值相加得到,這種方法用公式表示為:
式中:y1(i,j,d)表示圖像1在i,j空間點(diǎn)的像素值;y2(i,j,d)表示圖像2在i,j空間點(diǎn)的像素值;d表示通道數(shù)。第二種方式是最大值融合方式,即融合結(jié)果取自通道數(shù)一致的特征圖1和特征圖2中對(duì)應(yīng)點(diǎn)像素值的最大值,這種方法用公式表示為:
第三種是加權(quán)平均融合方式,即融合結(jié)果由通道數(shù)一致的特征圖1和特征圖2中對(duì)應(yīng)點(diǎn)的像素值加權(quán)平均得到,這種方式用公式表示為:
式中:ω1,ω2分別表示圖像1和圖像2的加權(quán)系數(shù),當(dāng)二者均為0.5時(shí),加權(quán)平均融合就變成平均融合。最后一種方式是卷積融合方式,它是指先將通道數(shù)一致的特征圖1和特征圖2在同一位置進(jìn)行堆疊,然后使用D個(gè)維度的卷積核對(duì)堆疊結(jié)果進(jìn)行卷積,最后加上偏置,這種方式可以用公式表示為:
式中:f表示卷積核;b表示D維度的偏置;ycat表示堆疊后的結(jié)果。經(jīng)過(guò)卷積核卷積后,融合后的特征圖維度重新變?yōu)镈。
本文使用的數(shù)據(jù)集分為兩部分,一部分是完成至少一個(gè)周期的揮手動(dòng)作的數(shù)據(jù)集,來(lái)自KTH數(shù)據(jù)庫(kù),視頻FPS均為25,包含同一個(gè)人在近處、遠(yuǎn)處等4個(gè)不同環(huán)境中的揮手動(dòng)作。另一部分?jǐn)?shù)據(jù)集來(lái)自florence3d_actions數(shù)據(jù)集,本文選取了與手部抬起動(dòng)作有關(guān)的視頻作為負(fù)樣本。這些動(dòng)作由于并未完成一個(gè)周期的揮手動(dòng)作,可以與前一個(gè)數(shù)據(jù)集作對(duì)照。數(shù)據(jù)集共二百個(gè)視頻,將這些視頻先通過(guò)背景消除建模輸出前景,再生成RGB圖像與光流圖像,圖像共四千張,分辨率為1 000×750,輸入到雙流卷積網(wǎng)絡(luò)中,訓(xùn)練集從中隨機(jī)選取70%,測(cè)試集選取20%,驗(yàn)證集選取10%。
本文的實(shí)驗(yàn)環(huán)境為:Windows 10 操作系統(tǒng);CPU:AMD Ryzen 5 4600H;GPU:GTX 1650Ti Super;內(nèi)存:16 GB。
背景消除建模算法由OpenCV(3.4.11)和Visual Studio 2017完成,交叉驗(yàn)證后選取K為3。雙流卷積網(wǎng)絡(luò)使用Python語(yǔ)言完成,使用SGD優(yōu)化器。RGB圖像和光流圖像制作由MATLAB 2018a使用Image Processing Toolbox工具箱完成。初始學(xué)習(xí)率設(shè)置為0.001,動(dòng)量值設(shè)置為0.95,學(xué)習(xí)率每30輪衰減0.1,批次大小為4,epoch設(shè)置為500。損失函數(shù)為交叉熵?fù)p失函數(shù):
式中,p(x)和q(x)分別表示真實(shí)概率分布和預(yù)測(cè)概率分布。
經(jīng)過(guò)實(shí)驗(yàn),本文將用3個(gè)指標(biāo)對(duì)性能進(jìn)行評(píng)估,分別是精確率(Precision)、召回率(Recall)和準(zhǔn)確率(Accuracy)。
計(jì)算公式分別為:
式中:TP表示將周期性揮手預(yù)測(cè)為周期性揮手的數(shù)量;FN表示將周期性揮手預(yù)測(cè)為非周期性揮手的數(shù)量;FP表示將非周期性揮手預(yù)測(cè)為周期性揮手的數(shù)量;TN表示將非周期性揮手預(yù)測(cè)為非周期性揮手的數(shù)量。
3.3.1 模型性能對(duì)比
本文對(duì)比了數(shù)據(jù)集在原始雙流卷積網(wǎng)絡(luò)、結(jié)合傳統(tǒng)方法的雙流卷積網(wǎng)絡(luò)以及使用ResNet-18結(jié)構(gòu)的雙流卷積網(wǎng)絡(luò)的結(jié)果,具體對(duì)比見(jiàn)表1所列。由表1可以發(fā)現(xiàn),通過(guò)不斷改進(jìn),對(duì)周期性揮手識(shí)別的準(zhǔn)確率也在不斷提高。傳統(tǒng)方法的加入使目標(biāo)前景被提取出來(lái),ResNet-18網(wǎng)絡(luò)的加入使模型具有更深層次的網(wǎng)絡(luò)結(jié)構(gòu),恰當(dāng)?shù)臅r(shí)空雙流融合方式提高了識(shí)別準(zhǔn)確率。
表1 模型性能對(duì)比 %
3.3.2 背景消除建模算法對(duì)準(zhǔn)確率的影響
由于人所處的位置可能會(huì)受到光照條件等的影響,本文使用背景消除建模算法。背景消除建模算法將沒(méi)有發(fā)生運(yùn)動(dòng)的背景變?yōu)楹谏?,減輕了背景對(duì)識(shí)別的影響,使得空間流和時(shí)間流的識(shí)別準(zhǔn)確率有所上升。表2所列表示背景消除建模算法對(duì)結(jié)果的影響。
表2 背景消除建模算法對(duì)準(zhǔn)確率的影響 %
3.3.3 不同時(shí)空雙流融合方式對(duì)性能的影響
表3所列表示不同時(shí)空雙流融合方式對(duì)周期性揮手識(shí)別的影響。
表3 融合方式對(duì)比 %
從表3可以看出,使用卷積融合方式的效果最好,卷積融合方式將時(shí)空雙流特征融合的同時(shí)保持了圖像維度的不變性,相較于簡(jiǎn)單的加法運(yùn)算、取最大運(yùn)算以及平均運(yùn)算,能夠使圖像特征實(shí)現(xiàn)更好融合。
3.3.4 與已有算法對(duì)比
將本文使用算法與已有算法進(jìn)行對(duì)比,對(duì)于周期性揮手識(shí)別的準(zhǔn)確率見(jiàn)表4所列。
表4 與已有算法對(duì)比 %
由表4可知,本文提出的周期性揮手識(shí)別算法模型相比之前已有算法的識(shí)別準(zhǔn)確率略有提升,本算法先排除了背景的干擾,再加上使用卷積融合的時(shí)空雙流融合方式進(jìn)行分類,相比3D卷積網(wǎng)絡(luò)和傳統(tǒng)方法識(shí)別準(zhǔn)確率均有不同程度的提升。而且因?yàn)榉侵芷谛該]手?jǐn)?shù)據(jù)集的加入,使得周期性揮手和非周期性揮手的識(shí)別得以分開(kāi)。
本文構(gòu)建了一種基于傳統(tǒng)方法結(jié)合雙流卷積網(wǎng)絡(luò)的周期性揮手識(shí)別算法,該算法通過(guò)傳統(tǒng)方法提取前景,加深網(wǎng)絡(luò)層次,相較于原始的雙流卷積網(wǎng)絡(luò)識(shí)別準(zhǔn)確率略有所上升,為家居環(huán)境的周期性揮手識(shí)別提供了一種較完善的算法。但由于數(shù)據(jù)集較小,并沒(méi)有使用更深層次的ResNet-50等,相信使用更高的網(wǎng)絡(luò)層次會(huì)得到更高的精確度。