楊賽烽,高 彬,馮仕民*,丁恩杰,陳慶峰
(1.中國(guó)礦業(yè)大學(xué)物聯(lián)網(wǎng)(感知礦山)研究中心,江蘇 徐州 221116;2.中國(guó)礦業(yè)大學(xué)信息與控制工程學(xué)院,江蘇 徐州 221116)
人體行為識(shí)別是目前計(jì)算機(jī)視覺與模式識(shí)別領(lǐng)域的一個(gè)熱門研究方向,其廣泛應(yīng)用于智能視頻監(jiān)控、運(yùn)動(dòng)行為分析、人機(jī)智能交互、虛擬現(xiàn)實(shí)等領(lǐng)域[1-3]。利用傳統(tǒng)的視頻序列、二維圖像信息進(jìn)行人體行為識(shí)別容易受到光照、陰影的影響,識(shí)別準(zhǔn)確率普遍較低的劣勢(shì)越加明顯。由微軟推出的Kinect體感設(shè)備可以有效的避免受到光照、環(huán)境等因素的影響,其卓越的深度感知能力和人體三維關(guān)節(jié)點(diǎn)識(shí)別能力使得基于關(guān)節(jié)點(diǎn)信息的人體行為識(shí)別成為了熱門研究方向[4]。同時(shí)傳統(tǒng)的行為識(shí)別算法著重于行為模型的深度調(diào)優(yōu),但是在當(dāng)前大數(shù)據(jù)及人工智能的背景下,隨著數(shù)據(jù)的急速增長(zhǎng),目前來看存在數(shù)據(jù)存儲(chǔ)空間不足、識(shí)別效率不高及擴(kuò)展性不強(qiáng)等問題[5]。
Hadoop是由阿帕奇軟件基金會(huì)開源的一個(gè)分布式系統(tǒng)基礎(chǔ)架構(gòu),該架構(gòu)中實(shí)現(xiàn)了一個(gè)分布式文件存儲(chǔ)系統(tǒng),又稱HDFS。HDFS可以通過擴(kuò)展節(jié)點(diǎn)的方式增加數(shù)據(jù)存儲(chǔ)容量,不僅可以自動(dòng)保存數(shù)據(jù)的多個(gè)副本,自動(dòng)將失敗的任務(wù)重新分配,還可以動(dòng)態(tài)的在節(jié)點(diǎn)之間通過網(wǎng)絡(luò)傳輸?shù)姆绞酱_保不同節(jié)點(diǎn)間數(shù)據(jù)的動(dòng)態(tài)平衡。
Spark是加州大學(xué)伯克利分校AMP實(shí)驗(yàn)室所開源的基于內(nèi)存的并行計(jì)算框架,其基于內(nèi)存的彈性分布式數(shù)據(jù)集模型大大提高了分布式計(jì)算的效率,對(duì)數(shù)據(jù)密集型的算法迭代計(jì)算具有非常大的優(yōu)勢(shì)。
因此本文在研究行為識(shí)別表示方法的基礎(chǔ)上,出于對(duì)行為識(shí)別方法實(shí)用性及擴(kuò)展性的考慮,將行為識(shí)別方法與Spark計(jì)算框架結(jié)合進(jìn)行人體行為識(shí)別的探索。
為了方便后續(xù)實(shí)驗(yàn),本文實(shí)現(xiàn)了一個(gè)完整的人體行為識(shí)別實(shí)驗(yàn)平臺(tái)。
圖1 行為識(shí)別實(shí)驗(yàn)系統(tǒng)總體架構(gòu)圖
首先通過Kinect獲取人體關(guān)節(jié)點(diǎn)數(shù)據(jù),在PC端將采集的數(shù)據(jù)寫入本地,并根據(jù)行為類別進(jìn)行分類標(biāo)注,處理完成之后將數(shù)據(jù)上傳到HDFS文件系統(tǒng)中以備訓(xùn)練輸入和識(shí)別輸入。
HDFS作為識(shí)別系統(tǒng)的文件存儲(chǔ)模塊,存儲(chǔ)著關(guān)節(jié)點(diǎn)數(shù)據(jù)、數(shù)據(jù)預(yù)處理的特征數(shù)據(jù)以及最終的行為分類結(jié)果,方便PC端調(diào)用的同時(shí)為上層Spark計(jì)算框架提供數(shù)據(jù)支撐。
Spark作為整個(gè)系統(tǒng)最上層部分,同時(shí)也是最重要的部分,主要包括了對(duì)數(shù)據(jù)預(yù)處理、特征轉(zhuǎn)換與特征提取、行為分類模型訓(xùn)練和最終的結(jié)果預(yù)測(cè)。其中數(shù)據(jù)預(yù)處理會(huì)通過相似度判別過濾失真數(shù)據(jù),接著根據(jù)行為表示的定義方法對(duì)關(guān)節(jié)點(diǎn)數(shù)據(jù)進(jìn)行特征轉(zhuǎn)換與特征提取并寫入到RDD中。在以上基礎(chǔ)上,利用行為分類器對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練。當(dāng)需要對(duì)未知行為進(jìn)行預(yù)測(cè)時(shí),從HDFS中提取已有持久化的分類器模型完成行為數(shù)據(jù)的最終分類并將結(jié)果持久化到HDFS中。
對(duì)Kinect采集到的20個(gè)三維關(guān)節(jié)點(diǎn)坐標(biāo)進(jìn)行行為特征提取時(shí)選擇的特征量應(yīng)滿足平移不變性及縮放不變性,角度特征很好的滿足了以上兩個(gè)條件。為了方便計(jì)算角度將20個(gè)關(guān)節(jié)點(diǎn)分別用“A”-“O”進(jìn)行標(biāo)記,對(duì)應(yīng)關(guān)系見圖2,其中A(Head),T(HandLeft),P(HandRight),L(FootLeft),H(FootRight)5個(gè)關(guān)節(jié)點(diǎn)由于會(huì)發(fā)生抖動(dòng)現(xiàn)象[6],所以并未使用。
圖2 關(guān)節(jié)點(diǎn)標(biāo)記圖
從其他15個(gè)行為關(guān)聯(lián)度較大的關(guān)節(jié)點(diǎn)中提取14個(gè)角度值,包括上肢角度特征和下肢角度特征,在此基礎(chǔ)上增加了部分關(guān)節(jié)點(diǎn)向量與x,y軸所成的11個(gè)角度特征[6-7]。上肢角度主要表示手臂的行為,下肢角度特征主要表示腿部的行為。對(duì)于部分關(guān)節(jié)向量與x,y軸夾角表示人體在可視距離內(nèi)與Kinect的偏離程度,比如左臀部與右臀部向量與y軸所成的夾角定義為αID_Y。本文一共提取了25個(gè)這樣的角度特征,所有關(guān)節(jié)角度如表1所示。
表1 25個(gè)角度特征
2.2.1 關(guān)節(jié)點(diǎn)角度特征變化序列
一個(gè)完整的動(dòng)作包含了若干個(gè)靜態(tài)幀,一個(gè)運(yùn)動(dòng)序列的每一個(gè)靜態(tài)幀角度特征變化容易表達(dá)出人體運(yùn)動(dòng)行為的變化趨勢(shì)[8]。在跳躍過程中,可以將關(guān)節(jié)角度特征隨時(shí)間的連續(xù)性而產(chǎn)生的變化轉(zhuǎn)化為一個(gè)變化序列。比如定義一個(gè)跳躍序列中每一幀的左膝關(guān)節(jié)角度特征集合為:
S=(αJK_JI1,αJK_JI2,αJK_JI3,…,αJK_JI25)
(1)
則角度特征變化序列可以理解成集合中前后兩幀角度特征的差值,如式(2)所示:
V=(αJK_JI2-αJK_JI1,αJK_JI3-αJK_JI2,…,αJK_JI25-αJK_JI24)
(2)
2.2.2 基于余弦相似度的關(guān)鍵幀提取方法
在連續(xù)時(shí)間內(nèi)提取足夠表示人體行為的關(guān)鍵靜態(tài)幀序列用以構(gòu)建動(dòng)態(tài)行為是常用方法。韓旭[9]使用直方圖相似度的方式遍歷整段數(shù)據(jù)幀得到關(guān)鍵幀的集合,金澤豪[10]分析了人體運(yùn)動(dòng)過程中角度和距離變化的總差異提出基于結(jié)構(gòu)相似度的關(guān)鍵幀搜索方法,減少了搜索時(shí)的計(jì)算量,提高了搜索效率。
本文在上述基礎(chǔ)上提出了一種基于余弦相似度的關(guān)鍵幀提取方法。余弦相似度作為一種計(jì)算個(gè)體間相似度方法,對(duì)低維和高維數(shù)據(jù)都有很好的相似性度量效果,被廣泛應(yīng)用于機(jī)器學(xué)習(xí),圖像識(shí)別等領(lǐng)域[11]。使用余弦相似度差異作為關(guān)鍵幀搜索策略,將人體關(guān)鍵幀視為空間中的向量,通過計(jì)算向量間的余弦相似度,提取動(dòng)態(tài)行為過程中的關(guān)鍵幀。計(jì)算過程如下:
對(duì)于空間中n維向量a,b,假設(shè)a(x1,x2,x3,…,xn),b(y1,y2,y3,…,yn),則多維向量a,b之間夾角的余弦如下:
(3)
本文以每一幀的25個(gè)角度特征作為空間中一組向量,計(jì)算了站立與坐、蹲、躺三者余弦相似度,結(jié)果如表2所示。對(duì)比實(shí)驗(yàn)結(jié)果表明,通過控制相似度閾值可以對(duì)動(dòng)態(tài)行為關(guān)鍵序列進(jìn)行有效的提取。
表2 4種行為幀余弦相似度對(duì)比表
2.2.3 基于余弦相似度的關(guān)鍵幀提取方法實(shí)現(xiàn)
首先將動(dòng)態(tài)行為的首幀關(guān)節(jié)點(diǎn)數(shù)據(jù)作為第1個(gè)關(guān)鍵幀數(shù)據(jù),提取的25個(gè)角度特征組成的多維向量即可當(dāng)作第1個(gè)關(guān)鍵幀向量,此關(guān)鍵幀向量與后面的幀數(shù)據(jù)轉(zhuǎn)成的角度特征向量進(jìn)行對(duì)比,將相似度小于給定閾值大小的幀向量設(shè)置為新關(guān)鍵幀向量,繼續(xù)作為樣本與后面幀數(shù)據(jù)進(jìn)行對(duì)比。具體步驟如下:
①設(shè)置相似度閾值T,記錄關(guān)鍵幀的數(shù)組為keyFrame[n],其中n為動(dòng)態(tài)行為關(guān)鍵幀數(shù)。初始化循環(huán)變量i=0,將起始幀作為關(guān)鍵幀保存到keyFrame[0],并將第2幀記為當(dāng)前幀;
③如果兩幀相似度S大于閾值T,移動(dòng)到下一幀,標(biāo)記為當(dāng)前幀,判斷是否到達(dá)幀尾,到達(dá)幀尾轉(zhuǎn)向步驟④,未到達(dá)幀尾繼續(xù)步驟②。
④結(jié)束流程,提取keyFrame[n]作為動(dòng)態(tài)性關(guān)鍵幀序列。
方法流程圖如圖3所示。
圖3 關(guān)鍵幀提取流程圖
2.2.4 行為表示方法的構(gòu)建
結(jié)合上述分析,本文使用基于余弦相似度提取的動(dòng)態(tài)行為關(guān)鍵幀角度特征變化序列構(gòu)建動(dòng)態(tài)行為表示方法,定義如下:
若一組動(dòng)態(tài)行為關(guān)鍵幀的角度特征為:
G=(M1,M2,Mi,Mi+1,…,Mn)T
(4)
式中:Mi=(αi1,αi2,αi3,…,αi25),Mi+1=(αi+11,αi+12,αi+13,…,αi+125)。
則對(duì)于動(dòng)態(tài)行為的表示序列有:
筆者通過百度、搜狗、豆瓣網(wǎng),在各大報(bào)刊上發(fā)布的《2011年網(wǎng)絡(luò)十大流行語》以及《2011年十大網(wǎng)絡(luò)新詞》的基礎(chǔ)上進(jìn)行進(jìn)一步的統(tǒng)計(jì),發(fā)現(xiàn)2011年的網(wǎng)絡(luò)流行語主要有以下詞匯:
F=(P1,P2,Pi,Pi+1,…,Pn-1)
(5)
式中:Pi=(αi+11-αi1,αi+12-αi2,αi+13-αi3,…,αi+125-αi25)。
3.1.1 自建人體關(guān)節(jié)點(diǎn)實(shí)驗(yàn)數(shù)據(jù)集
目前比較流行的MSR Daily 3D、MSR Action 3D和MSRC-12數(shù)據(jù)集運(yùn)動(dòng)幀數(shù)較少,不滿足某些模型訓(xùn)練需要的數(shù)據(jù)多樣性,數(shù)據(jù)集中行為幀的數(shù)量不等,不利于觀察運(yùn)動(dòng)歷史圖像的動(dòng)作變化細(xì)節(jié)[12]。所以本文花費(fèi)了大量時(shí)間自建行為數(shù)據(jù)集,并用該數(shù)據(jù)集完成實(shí)驗(yàn)。
本論文采集了8個(gè)男生,7個(gè)女生共15人進(jìn)行的10種人體常見行為關(guān)節(jié)點(diǎn)數(shù)據(jù),如打電話、鼓掌、喝水、跨越障礙物、拋物、伸懶腰、原地跳躍、坐下、站起、坐下-站起。每人每種行為依次在實(shí)驗(yàn)環(huán)境下各采集5~10次,所有動(dòng)作都是站立時(shí)完成,喝水、打電話、拋物等動(dòng)作根據(jù)被測(cè)者習(xí)慣隨機(jī)使用左手或者右手進(jìn)行。
3.1.2 基于隨機(jī)森林的人體行為識(shí)別建模與實(shí)驗(yàn)結(jié)果分析
本文用于行為識(shí)別的隨機(jī)森林算法建立在基于Spark運(yùn)行的分布式機(jī)器學(xué)習(xí)算法庫MLlib上,所有的示例及算法程序均采用scala語言進(jìn)行開發(fā)。進(jìn)行人體行為識(shí)別建模時(shí),首先要手動(dòng)確定隨機(jī)森林中幾個(gè)重要參數(shù):①numTrees:隨機(jī)森林中決策樹的個(gè)數(shù),需要手動(dòng)調(diào)試;②maxDepth:隨機(jī)森林中決策樹的深度,需要手動(dòng)調(diào)試;③maxBins:可以將連續(xù)的特征離散化的最大分箱數(shù),使用默認(rèn)值32;④Impurity:節(jié)點(diǎn)分裂的方法,回歸情況下使用方差,分類情況下使用信息熵或者基尼指數(shù)。
一般來說,隨機(jī)森林在不考慮其他影響條件下樹的數(shù)目越多,分類效果越好。我們首先在樹的個(gè)數(shù)為200時(shí)計(jì)算行為分類準(zhǔn)確率隨樹的深度變化。如圖4所示。
通過實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)隨機(jī)森林中樹的個(gè)數(shù)為200時(shí),每棵樹的深度在10之后分類準(zhǔn)確率會(huì)趨于穩(wěn)定,對(duì)于行為數(shù)據(jù)集分類準(zhǔn)確率達(dá)到很好的效果。
確定好深度之后,我們需要再比較下隨機(jī)森林中樹的個(gè)數(shù)對(duì)行為模型精度的影響,圖5為決策樹深度為10時(shí),樹的數(shù)目對(duì)模型分類準(zhǔn)確率的變化過程。由圖可發(fā)現(xiàn),隨著隨機(jī)森林中樹的個(gè)數(shù)增加,分類準(zhǔn)確率會(huì)逐漸平穩(wěn)并在一定的誤差范圍內(nèi)波動(dòng)。分析波動(dòng)原因是隨機(jī)森林在進(jìn)行建模時(shí)樣本及特征隨機(jī)選擇造成了一定誤差。
圖4 動(dòng)態(tài)行為分類準(zhǔn)確率隨深度變化值
圖5 動(dòng)態(tài)行為分類準(zhǔn)確率隨樹的個(gè)數(shù)變化圖
本文在相對(duì)穩(wěn)定的區(qū)間進(jìn)行參數(shù)選取,同時(shí)考慮到分類模型的復(fù)雜程度與運(yùn)算時(shí)間,最終采用100棵決策樹,最大深度為10進(jìn)行建模。向集群提交程序并運(yùn)行。動(dòng)態(tài)行為識(shí)別結(jié)果百分比混淆矩陣如圖6所示。
圖6 隨機(jī)森林對(duì)動(dòng)態(tài)行為識(shí)別結(jié)果混淆矩陣
雖然平均識(shí)別準(zhǔn)確率達(dá)到了91.8%,但是在相似動(dòng)作上如喝水與打電話、坐下-站起與原地跳躍誤判較多。提取誤判最多的原地跳躍與坐下-站起動(dòng)作的關(guān)鍵幀進(jìn)行觀察,發(fā)現(xiàn)兩種動(dòng)作關(guān)鍵幀的變化過程非常相似。說明本文中的關(guān)鍵幀提取方式在對(duì)相似度極高的兩種行為進(jìn)行關(guān)鍵幀提取時(shí)存在一定的局限性。
圖7 坐下-站起關(guān)鍵幀建模圖
為了提升動(dòng)態(tài)行為分類模型泛化能力,進(jìn)一步提高行為識(shí)別的準(zhǔn)確率,本文借鑒隨機(jī)森林的集成學(xué)習(xí)思想,利用基于內(nèi)存計(jì)算的Spark平臺(tái)及該平臺(tái)下算法并行且快速迭代的特點(diǎn),提出了一種多重隨機(jī)森林的加權(quán)大數(shù)投票算法用于人體行為識(shí)別。該算法核心思想是以多個(gè)優(yōu)秀的隨機(jī)森林模型為基分類器組合而成的多重隨機(jī)森林來達(dá)到提升隨機(jī)森林模型泛化能力的目的。
將根據(jù)不同優(yōu)秀參數(shù)組合(本文中以樹的個(gè)數(shù)和樹的深度為參數(shù)組合)訓(xùn)練好的若干隨機(jī)森林模型按照線性排列組成多重隨機(jī)森林模型持久化到HDFS后,即可進(jìn)行多重隨機(jī)森林加權(quán)大數(shù)投票。
算法的具體步驟如下:
①?gòu)腍DFS中讀入已經(jīng)訓(xùn)練好的多重隨機(jī)森林模型,測(cè)試數(shù)據(jù)集D,并轉(zhuǎn)換成RDD;
②獲得多重隨機(jī)森林中每一個(gè)子隨機(jī)森林模型對(duì)測(cè)試數(shù)據(jù)集D的預(yù)測(cè)率,將所有預(yù)測(cè)結(jié)果放入以整型數(shù)為K值,以預(yù)測(cè)率為V的Map集合中,如下所示:
P_Map=[[x1,p1],[x1,p1],[x2,p2], [x3,p3],…,[xi,pi]]
(6)
式中:pi為第xi個(gè)隨機(jī)森林對(duì)于測(cè)試數(shù)據(jù)集D的準(zhǔn)確率,并作為權(quán)重值使用;
③將P_Map作為廣播變量廣播到各個(gè)計(jì)算節(jié)點(diǎn);
④取出測(cè)試數(shù)據(jù)集D中的一個(gè)表示人體行為的特征向量M;
⑤創(chuàng)建一個(gè)所有數(shù)據(jù)均為0的數(shù)組,該數(shù)組長(zhǎng)度由行為類別總數(shù)決定。假設(shè)分類數(shù)為n種,則創(chuàng)建一個(gè)長(zhǎng)度為n,數(shù)據(jù)全為0的定長(zhǎng)數(shù)組Array。將特征向量M通過第i個(gè)隨機(jī)森林模型,判斷模型對(duì)M的預(yù)測(cè)值。如果第i個(gè)隨機(jī)森林模型預(yù)測(cè)特征M表征第n種人體行為,則對(duì)數(shù)組Array進(jìn)行更新,將下標(biāo)為n-1的數(shù)據(jù)值加上pi。依次將特征向量M通過每一個(gè)隨機(jī)森林模型,進(jìn)行判斷所表示行為類別,并更新數(shù)組Array所在下標(biāo)數(shù)據(jù)加上該隨機(jī)森林預(yù)測(cè)權(quán)重值。具體過程如圖9所示。
圖8 原地跳躍關(guān)鍵幀建模圖
圖9 多重隨機(jī)森林加權(quán)投票過程
⑥取出數(shù)組Array最大數(shù)所對(duì)應(yīng)的下標(biāo)值,即為特征向量M在多重隨機(jī)森林加權(quán)大數(shù)投票算法中的最終分類標(biāo)簽;
⑦重復(fù)步驟④~步驟⑥,直至測(cè)試數(shù)據(jù)集D中所有特征向量識(shí)別完畢。
為了獲取最佳的模型組合,通過設(shè)定隨機(jī)森林中樹的個(gè)數(shù)以及樹的深度的雙層循環(huán)來訓(xùn)練數(shù)據(jù),根據(jù)總體準(zhǔn)確率進(jìn)行倒序排列選擇優(yōu)秀參數(shù)組合。循環(huán)參數(shù)范圍選擇規(guī)則如下:①對(duì)于樹的深度我們選取結(jié)果比較穩(wěn)定的(10,20)這個(gè)區(qū)間;②隨機(jī)森林中樹的個(gè)數(shù)太少,會(huì)使結(jié)果不具代表性,樹的個(gè)數(shù)太大又會(huì)使模型太過逼近訓(xùn)練數(shù)據(jù)的分布,反而喪失了在預(yù)測(cè)時(shí)的準(zhǔn)確率。文獻(xiàn)[13]建議,隨機(jī)森林分類性能最接近最優(yōu)時(shí)樹的數(shù)量為100左右,同時(shí)考慮模型的復(fù)雜程度與運(yùn)算時(shí)間,我們將樹的個(gè)數(shù)選擇在了(80,120)之間。
確定好參數(shù)范圍,對(duì)數(shù)據(jù)集的訓(xùn)練可以得出多個(gè)優(yōu)秀的參數(shù)組合。本文根據(jù)準(zhǔn)確率取最高的前30個(gè)優(yōu)秀參數(shù)組合作為多重隨機(jī)森林加權(quán)大數(shù)投票算法的基分類器進(jìn)行觀察。圖10為隨著基分類器個(gè)數(shù)的增加動(dòng)態(tài)行為的識(shí)別準(zhǔn)確率。
圖10 基分類器個(gè)數(shù)的增加動(dòng)態(tài)行為的識(shí)別準(zhǔn)確率
圖11 多重隨機(jī)森林加權(quán)大數(shù)投票算法對(duì)行為 識(shí)別結(jié)果混淆矩陣
可以看到隨著基分類器個(gè)數(shù)的增加,行為分類準(zhǔn)確率顯著增高,基分類器個(gè)數(shù)在5個(gè)以后識(shí)別準(zhǔn)確率趨于穩(wěn)定,行為識(shí)別準(zhǔn)確率高達(dá)95%以上,但是依然存在微小波動(dòng),分析波動(dòng)原因是對(duì)于某些難以辨別的行為進(jìn)行識(shí)別時(shí),引入的新基分類器對(duì)其識(shí)別權(quán)重較大,造成最終的行為識(shí)別準(zhǔn)確率波動(dòng)。
實(shí)驗(yàn)中采用前5個(gè)優(yōu)秀參數(shù)組合訓(xùn)練出的模型作為基分類器,得到如圖11混淆矩陣。
觀察圖12發(fā)現(xiàn),多重隨機(jī)森林加權(quán)大數(shù)投票模型對(duì)各個(gè)動(dòng)態(tài)行為分類的判別方面優(yōu)于單一隨機(jī)森林模型。尤其是對(duì)誤判較為嚴(yán)重的坐下-站起動(dòng)作識(shí)別率遠(yuǎn)高于單一隨機(jī)森林模型。同時(shí)發(fā)現(xiàn)投票模型在對(duì)原地跳躍動(dòng)作識(shí)別率略低于單一隨機(jī)森林模型。分析原因是引入某個(gè)新分類器時(shí),該分類器對(duì)原地跳躍動(dòng)作誤判權(quán)重較大引起投票模型誤判。
圖12 兩種算法對(duì)動(dòng)態(tài)行為識(shí)別準(zhǔn)確率對(duì)比圖
總體來講,多重隨機(jī)森林加權(quán)大數(shù)投票對(duì)于動(dòng)態(tài)行為分類效果較好,分析原因是使用多組最佳參數(shù)組合使波動(dòng)誤差縮小,同時(shí)加權(quán)投票機(jī)制使最終決策更加穩(wěn)定。但是在實(shí)際的應(yīng)用中,隨著基分類器個(gè)數(shù)增多,模型訓(xùn)練及行為識(shí)別過程中時(shí)間消耗也會(huì)越多,應(yīng)當(dāng)根據(jù)實(shí)際場(chǎng)景去選擇基分類器的個(gè)數(shù)。
由于MSR Daily 3D數(shù)據(jù)集中運(yùn)動(dòng)幀數(shù)較少,不滿足隨機(jī)森林模型訓(xùn)練需要的數(shù)據(jù)多樣性。因此將本文建立的數(shù)據(jù)集全部作為訓(xùn)練數(shù)據(jù),選取了MSR Daily 3D數(shù)據(jù)集中與本文數(shù)據(jù)集中共有的站立時(shí)喝水、打電話、拋物、坐下、站起等行為使用本文行為表示方法,利用本文提出多重隨機(jī)森林加權(quán)大數(shù)投票算法在5個(gè)基分類基礎(chǔ)上進(jìn)行加權(quán)投票識(shí)別。
最終的識(shí)別準(zhǔn)確率如下表3所示,動(dòng)態(tài)行為平均識(shí)別率達(dá)到了82%。對(duì)比同樣在基于Kinect采集的MSR Daily 3D數(shù)據(jù)集上進(jìn)行的相關(guān)研究,文獻(xiàn)[14]采用K-均值聚類算法提取運(yùn)動(dòng)過程的關(guān)鍵幀,將關(guān)鍵幀關(guān)節(jié)點(diǎn)位置與人體剛體部分之間的骨架角度兩種特征作為行為的表達(dá),利用支持向量機(jī)進(jìn)行分類識(shí)別,最終的平均識(shí)別率只有62%。文獻(xiàn)[10]分析了人體運(yùn)動(dòng)過程中角度和距離變化的總差異提出基于結(jié)構(gòu)相似度的關(guān)鍵幀搜索方法,采用并行化神經(jīng)網(wǎng)絡(luò)算法進(jìn)行行為識(shí)別,動(dòng)態(tài)行為平均識(shí)別率只有77.69%。
實(shí)驗(yàn)結(jié)果中打電話和拋物識(shí)別率較低,分別只有60%和70%。觀察MSR Daily 3D數(shù)據(jù)集中打電話和拋物行為視頻圖像及行為關(guān)節(jié)點(diǎn)數(shù)據(jù)建模的運(yùn)動(dòng)軌跡發(fā)現(xiàn),該數(shù)據(jù)集中部分行為隨機(jī)性較大,且沒有體現(xiàn)出行為運(yùn)動(dòng)歷史圖像的變化細(xì)節(jié)。例如部分被測(cè)對(duì)象進(jìn)行打電話時(shí)伴隨著轉(zhuǎn)身和走動(dòng),且起始幀時(shí)手部已經(jīng)貼在耳旁,導(dǎo)致行為表示階段提取到的用于識(shí)別的關(guān)鍵幀與本文數(shù)據(jù)集用于訓(xùn)練的行為關(guān)鍵幀差別較大,造成了識(shí)別誤差。而對(duì)于該數(shù)據(jù)集中體現(xiàn)了完整運(yùn)動(dòng)歷史圖像的行為如喝水、坐下、站起等具有較佳的識(shí)別能力。
為了進(jìn)一步證明本文提出的行為識(shí)別方法的可行性,本文還在MSRC-12數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),動(dòng)態(tài)行為最終平均識(shí)別準(zhǔn)確率為78%。文獻(xiàn)[15]采用隨機(jī)森林算法進(jìn)行動(dòng)作分類,同樣在MSRC-12數(shù)據(jù)集上進(jìn)行測(cè)試,平均識(shí)別準(zhǔn)確率為67.3%,對(duì)比可知本文方法識(shí)別準(zhǔn)確率更高。
表3 MSR Daily 3D數(shù)據(jù)集行為識(shí)別準(zhǔn)確率
本論文對(duì)Kinect獲取的空間關(guān)節(jié)點(diǎn)數(shù)據(jù)進(jìn)行分析,構(gòu)建了基于關(guān)節(jié)點(diǎn)信息的人體行為表示方法,結(jié)合SparkMLlib實(shí)現(xiàn)的隨機(jī)森林進(jìn)行了人體行為識(shí)別的研究。實(shí)驗(yàn)結(jié)果表明本文提出的關(guān)鍵幀提取方法與基于多重隨機(jī)森林加權(quán)大數(shù)投票算法對(duì)人體行為識(shí)別具有較佳的效果。