吳 爽, 陳孟輝, 徐 智, 徐健鋒
(南昌大學(xué) 軟件學(xué)院,江西 南昌 330047)
手勢識別和檢測已經(jīng)成為計算機視覺、機器人、視頻監(jiān)控、人機交互和多媒體檢索等方面重要的研究領(lǐng)域[1].步態(tài)能量圖像(gait energy image,GEI)[2]是表征人類步態(tài)性能周期的平均圖像.研究結(jié)果表明,GEI是可行的步態(tài)表示方法.在文獻[3]中提出了一個統(tǒng)一的基于樹的框架,并在Weizmann、CMU和UCF運動動作集上用于聯(lián)合動作定位、識別和基于k均值的分割,取得了令人滿意的結(jié)果.然而,對于復(fù)雜場景中的手勢識別,目前已有的方法均不能取得精確的識別結(jié)果.本文側(cè)重于復(fù)雜情形下視頻序列中的手勢識別,所提出的方法使用Jochen Triesch靜態(tài)手勢庫進行評估[4-6].通過減去連續(xù)幀獲得差分圖像,并計算n幀累積差,再通過識別感興趣區(qū)域(region of interest,ROI)來提取動作信息.提取的ROI劃分為三個塊,識別其中最大運動用于進一步分析.提取梯度方向直方圖(histograms of oriented gradient,HOG)作為特征.提取的特征被反饋到基于隨機森林(random forests,RF)的分類器以用于手勢識別.
本文提出方法的總體結(jié)構(gòu)如圖1所示.輸入以25 fps處理.將視頻序列轉(zhuǎn)換為.jpg格式的幀.首先將第一幀與連續(xù)幀進行比較以計算幀差分.然后提取n幀累積差,從視頻序列中提取ROI,并提取HOG特征.
幀差分也被廣泛稱為順序差分,即減去兩個視頻幀的方法.在該方法中,使用當(dāng)前幀和當(dāng)前幀視頻像素方差來提取運動對象[7-9].使用下式計算運動信息Tk或差分圖:
(1)
式中Dk是差分圖,計算公式如下:
Dk(x,y)=|Ik(x,y)-Ik+1(x,y)|,1≤x≤w,1≤y≤h.
(2)
式中,Ik(x,y)是第k幀像素(x,y)的強度值,t是閾值,w和h分別是圖像的寬度和高度.本文中t的值為30.
使用n幀累積差分來確定具有最大強度的區(qū)域.
Dk(x,y)=Ik(x,y)-Ik+1(x,y),1≤x≤w,1≤y≤h.
(3)
式中,Dk是減去兩個連續(xù)幀Ik和Ik+1得到的差分圖.Ik(x,y)是像素(x,y),w和h分別是圖像的寬度和高度.累積連續(xù)幀差分圖像計算如下:
Dk(x,y)=Ik(x,y)-Ik+1(x,y),Dk+1(x,y)=Ik+1(x,y)-Ik+2(x,y), …,
Dk+n(x,y)=Ik+n(x,y)-Ik+n+1(x,y).
(4)
式中,Dk是減去兩個連續(xù)幀Ik和Ik+1得到的差分圖,Dk+n是n幀累積差分.
感興趣的區(qū)域是一個圖像用于特定目的識別的圖像分割部分.一旦提取了前景圖像,下一步就是確定ROI用于進一步分析.對于ROI的提取,使用Height(t)=H(t)/H(max)來計算包圍盒H(t)的高度,其中H(t)是包圍盒在時間t視頻幀的高度,H(max)是H(t)在整個視頻序列中的最大值.包圍盒的寬度使用類似的方法來去頂,Width(t)=W(t)/W(max).最后,ROI被提取為ROI=Height(t)/Width(t).為了保持一致性,對于所有動作,ROI被認為是60×40,而沒有任何的信息損失.
提取手勢HOG特征的第一步,是確定一個窗口(block),進一步將圖像均勻劃分為各個小塊(cell).再將block內(nèi)的cell的方向梯度向量串聯(lián)起來得到block的特征向量,并對每個block的特征向量進行歸一化處理:
(5)
其中,ε表示一個正常量,V表示block的方向梯度.最后,在歸一化操作后進行排序,得到HOG特征.
本文使用隨機森林來區(qū)分手勢動作.隨機森林是由一系列樹狀分類器組成的分類器,它是一個有效的預(yù)測工具.顧名思義,隨機森林就是建立一個個決策樹,從而形成一個由決策樹組成的“森林”.每個樹依賴于獨立采樣,且森林中的所有樹均具有相同分布的隨機矢量值.森林中所有的樹均是未賦值的.RF利用兩種強大的機器學(xué)習(xí)技術(shù):bagging[16]和隨機特征選擇[10].此處選擇基尼指數(shù)對決策樹進行分裂,使用RF的訓(xùn)練步驟如下:(1) 在手勢訓(xùn)練樣本中使用bagging方法形成n個手勢特征向量子樣本,而這些手勢特征向量都是經(jīng)過HOG特征提取的.(2) 讓每個子樣本形成決策樹,具體操作可分為以下幾步:(a) 選取p個屬性作為節(jié)點分裂的候選屬性.(b) 在選取的屬性中計算基尼指數(shù),選擇基尼指數(shù)最大的屬性對決策樹進行分裂.Xi(v1,v2,…,vm)是要計算基尼指數(shù)的向量,yi表示Ai向量(特征)所屬的類.計算公式如下:
(6)
其中,p(yi)表示yi類的概率,p(vi,j)表示Xi中包含vk的概率,p(yi/vi,j)表示類yi包含特征Xi并且特征Xi包含vk的概率.(c) 繼續(xù)執(zhí)行上一步操作,直到得到一個小于某一規(guī)定閾值的基尼系數(shù).(3) 重復(fù)步驟(1)和步驟(2)操作,從而得到n棵決策樹.
RF對樣本進行分類時,其輸出即為決策樹多數(shù)投票結(jié)果.
實驗中所使用的計算機配置為英特爾CORETM I5處理器、23.0 GHz和4 GB RAMS,在操作系統(tǒng)Ubuntu12.04上調(diào)用OpenCV,且使用C++編寫代碼.LIBSVM18和WEKA19工具用于開發(fā)每個動作模型,這些模型用于測試性能和分類.
用Jochen Triesch靜態(tài)手勢庫作為提出算法的評測標(biāo)準(zhǔn).該手勢庫包含A、B、C、D、G、H、I、L、V、Y,共10種手勢動作.其中每一種手勢動作又包含24個研究人員分別在亮、暗、復(fù)雜三種不同情形下采集的樣本,去除丟失的2個樣本,共計718個手勢動作樣本.Jochen Triesch靜態(tài)手勢庫中三種不同背景下動作手勢樣本如圖2所示.表1展示了各個動作手勢類型的視頻持續(xù)時間.
表1 數(shù)據(jù)集描述
為了計算精度,定義F-Measure如下:
F-measure=2PR/(P+R),Precision(P)=TP/(TP+FP),
Recall(R)=FN/(TP+FN),Specificity=TN/(TN+FP).
式中,P和R分別是精度和召回率.F-Measure計算信息檢索精度和找回度量的一些平均值,其中TP、FN、TN和FP是真陽性、假陽性、真陰性和假陽性.分類器性能的評估有兩個標(biāo)準(zhǔn),真陽性率(TPR)和假陽性率(FPR),其定義如下:
本文提出基于n幀累積差分的梯度方向直方圖(HOG)的手勢識別框架.為了驗證提出的手勢識別框架,使用Jochen Triesch靜態(tài)手勢庫手勢動作數(shù)據(jù)集,隨機森林決策數(shù)個數(shù)為50,訓(xùn)練樣本數(shù)為300.在學(xué)習(xí)過程中,每個手勢動作都選取300個包含三種不同情形下的手勢動作圖像進行學(xué)習(xí).具體的識別包括兩個步驟,首先選取200張手勢動作圖像進行識別.第二階段,選取200張異常手勢動作與200 張正常手勢動作相混合進行識別,最終加權(quán)計算手勢識別精度.實驗的精度、準(zhǔn)確度、敏感度和特異性的加權(quán)平均結(jié)果如表2所示.
表2 基于10倍交叉驗證的隨機森林分類器的n幀累積差分的總體分類精度、準(zhǔn)確度、敏感度和特異性值
實驗過程中,研究發(fā)現(xiàn)大部分的錯誤分類存在于A、H和L,有些錯誤是由于這些動作的相似性.例如,在圖3中顯示了表演者正在演示這幾個動作.手勢信號的運勢是不相似的,手部位置的旋轉(zhuǎn)是相似的.通過對錯分樣本進行分析,一個有效的手勢識別方法能夠找出易與其他手勢相混淆的手勢,這些動作的性能低于平均水平.
本文提出一種基于n幀累積差分的梯度方向直方圖(HOG)的手勢識別框架.實驗人員執(zhí)行Jochen Triesch靜態(tài)手勢庫中10個動作進行實驗,從各種累積幀差分圖提取的ROI用于分類.這些特征評估了使用隨機森林分類器的性能.研究表明使用具有25維HOG特征的隨機森林算法時的5幀累積差分取得了較高的分類精度.
參考文獻
[1] 趙偉.基于DWT和隨機森林的運動自動分類方法[J]. 湘潭大學(xué)自然科學(xué)學(xué)報, 2018, 40(1): 107-110.
[2] 劉瓊, 王國華, 申旻旻. 基于邊緣分割的車載單目遠紅外行人檢測方法[J]. 華南理工大學(xué)學(xué)報(自然科學(xué)版), 2015, 43(1):87-91.
[3] 姚遠, 張林劍, 喬文豹. RGB-D圖像中手部樣本標(biāo)記與手勢識別[J]. 計算機輔助設(shè)計與圖形學(xué)學(xué)報, 2013, 25(12):1810-1817.
[4] 馮志全, 楊波, 徐濤,等. 基于自然手勢跟蹤的直接操作型三維人機交互范式[J]. 計算機學(xué)報, 2014, 37(6):1309-1323.
[5] QIANG W, DAN X, YEN C, et al. Dynamic gesture recognition nsing 3D trajectory[C]//. ICIST 2014: Proceedings of the 2014 4th IEEE International Conference in Information Science and Technology. Piscataway: IEEE, 2014:598-601.
[6] 馮志全, 楊波, 徐濤,等. 基于用戶行為分析的手勢跟蹤方法[J]. 軟件學(xué)報, 2013, 24(9):2101-2116.
[7] 關(guān)然, 徐向民, 羅雅愉,等. 基于計算機視覺的手勢檢測識別技術(shù)[J]. 計算機應(yīng)用于軟件, 2013, 30(1):155-164.
[8] 趙健, 張冬泉. 基于OpenCV的數(shù)字手勢識別算法[J]. 計算機應(yīng)用, 2013, 33(S2): 193-196.
[9] HASAN H, ABDULKAREEM S. Static hand gesture recognition using neural networks[J]. Artificial Intelligence Review, 2014, 41(2): 147-181.
[10] 包瑩瑩, 王華君, 徐平平. 基于關(guān)鍵幀和姿態(tài)描述語言的實時手勢識別方案[J]. 湘潭大學(xué)自然科學(xué)報, 2016, 38(3): 78-83.