夏嘉欣 陳曦 林金星 李偉鵬 吳奇
人體姿態(tài)估計是利用圖像特征來估計各個人體部位在圖像中的具體位置的研究過程[1],是一種應(yīng)用廣泛的結(jié)構(gòu)化預(yù)測問題.由于人體姿態(tài)估計在視覺跟蹤、計算機動畫[2]以及智能監(jiān)控、虛擬現(xiàn)實[3]等領(lǐng)域均有廣泛的應(yīng)用,因此,在過去幾十年中,關(guān)于人體姿態(tài)估計問題的解決方法層出不窮.
高斯過程(Gaussian process,GP)[2?5]及其變體[6]是一種典型且有效的人體姿態(tài)估計方法.作為一種常見的基于貝葉斯概率論進行預(yù)測的回歸方法,高斯過程因其對非線性、高維、復(fù)雜和小樣本問題的靈活性、有效性[4]及泛化能力強,被廣泛應(yīng)用于各個領(lǐng)域.然而,人體姿態(tài)估計本身通常需要較大的樣本集,所以簡單地將高斯過程的基本模型應(yīng)用于此類問題會耗費大量的運行時間與運算空間.同時,由于高斯模型本身對于噪聲影響缺乏較高的魯棒性,而人體姿態(tài)估計等高維預(yù)測問題在實際應(yīng)用中本身就將受到大量的噪聲干擾,傳統(tǒng)高斯模型的預(yù)測準(zhǔn)確性也將受到影響.因此,對于大樣本問題預(yù)測的計算復(fù)雜度和對于噪聲輸入的預(yù)測準(zhǔn)確性,成為制約高斯過程應(yīng)用于人體姿態(tài)估計問題的重要因素.但是,人體姿態(tài)估計作為一種非線性多元輸入輸出的擬合問題,由于其輸入輸出變量的高維性,該問題的預(yù)測模型本身就需要解決模型較為復(fù)雜、模型參數(shù)較多、超參數(shù)難以確定等種種問題.而與當(dāng)前更為主流的預(yù)測算法相比,高斯過程具有模型容易實現(xiàn),參數(shù)復(fù)雜性低,超參數(shù)自適應(yīng)獲取,無需海量訓(xùn)練數(shù)據(jù),以及輸出具有物理意義等突出優(yōu)點,這些優(yōu)點注定了高斯過程在解決非線性高維預(yù)測問題方面的巨大優(yōu)勢與潛力.因此,若能同時改善計算復(fù)雜度與噪聲魯棒性這兩項缺陷,那么高斯過程將在解決人體姿勢估計,乃至所有多元輸入輸出問題方面,發(fā)揮更加重要的作用,產(chǎn)生更加深遠(yuǎn)的影響.
基于上述原因,計算復(fù)雜度是高斯過程應(yīng)用于人類姿態(tài)估計的一個重要的考慮因素.稀疏高斯過程、混合專家模型[7?8]、增量式學(xué)習(xí)[9?10]方法等均是有效降低高斯過程計算復(fù)雜度的方法.其中,稀疏高斯過程最為常用.該方法的本質(zhì)為使用一組誘發(fā)輸入(Inducing input)部分替代原輸入進行假設(shè)[11]與訓(xùn)練.應(yīng)用常規(guī)的高斯過程回歸(Gaussian process regression,GPR)需要O(n2)的存儲空間和O(n3)的運行時間,其中n是訓(xùn)練點的數(shù)量.由于人體姿態(tài)模型包含了數(shù)以千計的高維數(shù)據(jù)點,因此其計算復(fù)雜度超乎想象.然而,如果運用稀疏高斯過程解決問題,則存儲空間將減少到O(nm),而運行時間則將減少到O(nm2),其中m是誘發(fā)輸入點的個數(shù).由于m?n,空間和時間成本得以顯著降低.本文將采用稀疏算法中的一種較為優(yōu)秀的算法:完全獨立訓(xùn)練條件(Fully independent training conditional,FITC)[12]法,來降低人類姿態(tài)估計問題中高斯回歸的計算復(fù)雜度.
輸入輸出噪聲是高斯算法的另一個重要考慮因素.對于高斯回歸的噪聲研究始于很早之前,但在大約十年前,噪聲才被擴展到應(yīng)用于解決大規(guī)模和高維輸入輸出[13]的問題.對于測試輸入樣本的噪聲,可通過矩匹配的方法進行解決,而對于訓(xùn)練輸入樣本的噪聲,先前的方法具有較高的計算復(fù)雜度.為了解決這一問題,McHutchon等[14]在2011年提出了一種全新的算法,本文將應(yīng)用該方法來處理人體姿態(tài)估計問題中的輸入噪聲.
早在1975年,人體關(guān)節(jié)模型就已經(jīng)被證明包含有豐富的信息,并可用于行為識別.此后的幾十年,眾多研究人員均致力于三維人類姿態(tài)的重建[15?16]與信息提取[17?19],幾乎所有的經(jīng)典模型如高斯過程、支持向量機、人工神經(jīng)網(wǎng)絡(luò)等,都已經(jīng)被成功且成熟地應(yīng)用于人體姿態(tài)估計問題.因此,在近幾年有關(guān)該問題的研究中,更多的人著眼于通過提出更加新穎而復(fù)雜預(yù)測模型來提高人體姿態(tài)估計的預(yù)測精度[3,20?21],或通過在現(xiàn)有算法中加入新的優(yōu)化模型形成混合模型來提升算法性能[1,22],但著眼于從單個已成熟模型本身的數(shù)學(xué)機理出發(fā),通過改進其數(shù)學(xué)模型來提高人體姿態(tài)估計算法性能的研究則少之又少.模型的數(shù)學(xué)原理是預(yù)測模型的根基,從經(jīng)典模型的數(shù)學(xué)原理角度對模型進行優(yōu)化,不但保證了模型的穩(wěn)定性與可推廣性,還可以達(dá)到比參數(shù)優(yōu)化更好更徹底的優(yōu)化效果.因此,本文從高斯過程本身的數(shù)學(xué)原理出發(fā),利用稀疏算法與帶有噪聲輸入的算法這兩種優(yōu)化方法進行模型改進,并將改進后的模型應(yīng)用于三維人體姿態(tài)估計問題,在降低計算復(fù)雜性的同時,也使得算法在輸入噪聲的影響下獲得更好的預(yù)測精度.相較于現(xiàn)有算法而言,本文算法具有更強大的數(shù)學(xué)基礎(chǔ)與泛化能力,可以推廣應(yīng)用于多種結(jié)構(gòu)化預(yù)測問題.
本文結(jié)構(gòu)安排如下:第1節(jié)對人體姿態(tài)估計問題進行描述;第2節(jié)介紹了高斯過程的模型,包括標(biāo)準(zhǔn)高斯過程;第3節(jié)介紹帶噪聲輸入的稀疏高斯算法,同時對該算法的合理性和優(yōu)越性進行簡單驗證.第4節(jié)將本文算法與其他預(yù)測效果較好的人體姿態(tài)估計算法應(yīng)用于HoG樣本集[17],并對預(yù)測結(jié)果進行比較與評估.第5節(jié)為結(jié)論.
人體姿態(tài)估計是人體動作與行為的識別與分析的一個基礎(chǔ)問題[22].由于其在人機交互[23]、人體活動分析和視頻監(jiān)控等領(lǐng)域都有著廣泛的應(yīng)用前景[20],因此關(guān)于人體姿態(tài)估計的方法也層出不窮.在現(xiàn)有的人體姿態(tài)估計的算法中,基于模型的方法更被研究者關(guān)注.該方法的主要思路是通過建立數(shù)學(xué)模型來描述人體特征與空間位置,并度量人體部位可能定位區(qū)域與真實人體部位外觀的相似程度,從而獲得標(biāo)準(zhǔn)的輸入輸出集,然后設(shè)計推理算法來確定相似度較高且符合人體模型約束的各部位定位區(qū)域[1].
在實際問題中,實驗個體所處環(huán)境往往比較復(fù)雜,會很大程度上增加外觀模型的建立難度,因此,選取適當(dāng)且有效的圖像特征來簡化模型建立過程十分重要.本文考慮選取比較典型的方向梯度直方圖特征(Histogram of oriented gradients,HoG).HoG特征計算的主要過程為:1)計算圖像每個像素的梯度大小和方向,劃分圖像;2)將若干像素組成一個單元(Cell),統(tǒng)計每個單元的梯度直方圖,形成每個單元的特征描述;3)將若干單元組成一個塊(Block),將每個塊內(nèi)所有單元的特征描述串聯(lián),得到每個塊的HoG特征描述;4)將圖像內(nèi)的所有塊的HoG特征描述串聯(lián),得到整個圖像的HoG特征.HoG不是考察圖像的單個像素的特征,而是通過計算局部區(qū)域中的定向梯度直方圖以形成圖像特征,因此對光線和小幅度的位置偏移并不敏感.
由于HoG特征在人體姿態(tài)估計領(lǐng)域具有十分優(yōu)秀的特征描述能力,近年來使用HOG特征實現(xiàn)人體檢測與估計系統(tǒng)成為研究熱點[24].本文的研究重點在于預(yù)測算法的提出與優(yōu)化,而非特征模型的建立,因此,本文借用Poppe[17]基于Sigal等提出的HumanEva-I[16]數(shù)據(jù)庫建立的人體姿態(tài)HoG特征樣本集進行仿真實驗與分析.
HumanEva-I是一個由視頻序列組成的數(shù)據(jù)庫,該數(shù)據(jù)庫中的視頻序列由3個不同視角下的攝相機獲取,包含4名受試者的6種常見的行為.
在本文算法中,定義輸入變量X=(x1, X2,···,xN)T,輸出變量Y=(y1,y2,···,yN)T,輸入輸出均為高維變量,其中,N為樣本個數(shù),X為D維向量,y為E維向量.HoG特征輸入樣本集X的建立過程如下:以單個攝相機獲取的單幀圖片為例,1)將圖片進行背景刪除、二值化、提取興趣區(qū)域(Region of interest,ROI)等預(yù)處理操作;2)將ROI區(qū)域劃分為5行6列的30個網(wǎng)格,每個網(wǎng)格統(tǒng)計出9個HoG特征,并將30個網(wǎng)格的HoG特征串聯(lián),得到單一視角下的270維HoG特征;3)將3個視角下的特征串聯(lián),形成810維HoG特征描述,該特征即為輸入集X下的單個樣本x.輸出變量樣本集Y下的單個樣本y是由20個三維身體關(guān)節(jié)位置坐標(biāo)組合成的60維向量,代表在x描述下的人體姿態(tài)模型.
高斯過程是一種基于貝葉斯線性回歸產(chǎn)生的一種回歸模型.與其他常用的預(yù)測算法相比,高斯過程具有容易實現(xiàn),超參數(shù)自適應(yīng)獲取等優(yōu)點.
回歸過程,簡單來說就是根據(jù)訓(xùn)練集Xm與Ym之間的映射關(guān)系,預(yù)測新的測試點X?最有可能的對應(yīng)輸出值Y?的過程.高斯回歸是在貝葉斯線性回歸的基礎(chǔ)上,把自變量空間通過核函數(shù)映射到高維空間,從而得到更好的預(yù)測結(jié)果的過程.
在高斯過程回歸中,時間域上所有隨機變量均服從高斯聯(lián)合分布,其性質(zhì)完全由均值函數(shù)和協(xié)方差函數(shù)確定.在實際觀測中,觀測值可能會受到噪聲污染,假設(shè)噪聲變量服從,輸出樣本集Y的先驗分布可以表示為
因此,已知的訓(xùn)練輸出值Ym與未知的測試輸出值Y?的關(guān)系可以表示為
其中,Xm表示訓(xùn)練輸入值,X?表示測試輸入值,m(X)表示X的均值函數(shù),k(X,X')表示X與X'協(xié)方差函數(shù),K??,K?m,Km?,Kmm分別是K(X?,X?),K(X?,Xm),K(Xm,X?),K(Xm,Xm)的簡寫形式.
由于變量Ym已知,因此由貝葉斯公式可知,后驗傳遞函數(shù)p(Y?|Ym)為
其中,p(Ym,Y?)為先驗傳遞函數(shù),p(Y?|Ym)為高斯函數(shù).
由式(3)~(5)可知,由于時間域上所有隨機變量均服從聯(lián)合高斯分布,因此該高斯過程可以被均值函數(shù)m(X)和協(xié)方差函數(shù)k(X,X')共同唯一決定.同時,k(X,X')被稱為從低維空間到高維空間映射的核函數(shù).在高斯過程中,常用的核函數(shù)有常數(shù)核(Constant function)、線性核(Linear function)、徑向基核(Radial basis function)等,本文采用的協(xié)方差函數(shù)為平方指數(shù)協(xié)方差函數(shù)(Squared exponential correlation function),即
1)建立訓(xùn)練樣本條件概率的負(fù)對數(shù)似然函數(shù)及其關(guān)于θ的偏導(dǎo)數(shù).
其中,Ym為訓(xùn)練樣本集,Kmm為訓(xùn)練樣本協(xié)方差函數(shù),N為訓(xùn)練樣本數(shù),i為超參數(shù)集的第i個元素.
2)采用梯度下降法對偏導(dǎo)數(shù)進行優(yōu)化,通過規(guī)定的迭代次數(shù),得到超參數(shù)的最優(yōu)解.
稀疏高斯過程是通過選取一定數(shù)目的誘發(fā)輸入點來部分代替原輸入點進行訓(xùn)練,從而降低運算復(fù)雜度的方法.
在本文實驗中,由于輸出變量yi(1≤i≤N)彼此之間相互獨立,符合完全獨立訓(xùn)練條件(FITC),因此,在各種變量假設(shè)均與前文相同的基礎(chǔ)上,同時假設(shè)Y變量彼此之間相互獨立,即
其中,,且與Yu是誘發(fā)輸入與輸出.該條件即為完全獨立條件.在該條件下,先驗傳遞函數(shù)可表示為
其中,對于每個1≤i≤N而言,,.
在此處,定義Qac為
其中,
證明.首先,考慮c在給定的xb下的條件分布函數(shù).以xa為例:
由于均值向量與協(xié)方差矩陣均已知,因此可以得到xa與Xb的聯(lián)合概率分布.同時,通過積分求得邊緣分布.因此,變量Xa在給定的xb下的條件概率的協(xié)方差為
同理,變量Xc在給定的xb下的條件概率的協(xié)方差為
求Xa與xc在Xb條件下的聯(lián)合概率分布,可得其協(xié)方差矩陣為
因為xa與xc關(guān)于給定的Xb條件獨立,所以,即,.
□
通過上述證明過程,可以將式(10)改寫為
則Yu的后驗傳遞函數(shù)可以表示為
所以,Y?的后驗傳遞函數(shù)為
從上述等式可以看出,我們需要計算一個n×n的矩陣Λmm與幾個m×m矩陣的逆矩陣.由于m?n,并且Λmm為對角陣,因此算法的計算復(fù)雜度得到了明顯的改善.
如果假設(shè)輸入變量X服從零期望值的高斯分布,則其后驗分布函數(shù)可以表示為
在標(biāo)準(zhǔn)的高斯過程中,常常存在兩個假設(shè):其一是訓(xùn)練和用于測試的輸入值Xm和X?均為無噪聲的;其二是觀測輸出值Ym受到一個均值為零,協(xié)方差為常數(shù)的高斯噪聲ε的干擾.但是在實際測量中,Xm和X?卻并非是無噪聲的.也就是說,輸入值X并非某個確定的值,而是一個隨機變量.
2.3.1 測試輸入點為隨機變量
由前文可知,當(dāng)測試輸入點X?為確定值時,后驗傳遞函數(shù)p(Y?|Ym)表達(dá)式如式(3)~(5)所示.
但現(xiàn)在假設(shè)X?并非確定值,而是一個服從高斯分布的隨機變量,即
若在此條件下得到Y(jié)?的后驗分布,最直觀的方法是運用邊緣概率密度與積分進行計算.但是,在這一過程中,不但需要計算帶有逆矩陣的指數(shù)的積分,同時以上計算過程的結(jié)果還由一個非線性的隨機變量X?決定,因此計算過程太過復(fù)雜,無法直接計算出積分結(jié)果.
為了解決積分計算過于復(fù)雜的問題,本文采用矩匹配(Moment matching)的方法,規(guī)定p(Y?)服從高斯分布,通過求取其均值與方差來確定預(yù)測點Y?的值.
為簡化上式,定義
則式(30)可以改寫為
若假設(shè)m(X)=0,且協(xié)方差函數(shù)K為式(6)形式的平方指數(shù)協(xié)方差函數(shù),則可以表示為
觀察上式可以發(fā)現(xiàn),若X?為確定值,即且,則,此時式 (31)與式(4)相等.
2.3.2 訓(xùn)練輸入點為隨機變量
同第2.3.1節(jié),假設(shè)Xm并非確定值,而是一個服從高斯分布的隨機變量,即
若在此條件下運用邊緣概率密度與積分計算Y?的后驗分布,則會遇到與第2.3.1節(jié)相同的問題,計算過程太過復(fù)雜,無法直接計算出積分結(jié)果.假如將第2.3.1節(jié)中的矩匹配方法應(yīng)用于此處,可以得到
為了解決訓(xùn)練集的噪聲輸入問題,采用一種全新的方法進行計算,該算法稱為帶有噪聲輸入的高斯過程(Noisy input Gaussian process,NIGP),主要思想是將訓(xùn)練集的輸入噪聲轉(zhuǎn)化為輸出噪聲,運用常規(guī)的高斯過程回歸解決問題.
首先做如下假設(shè):對于輸入樣本集Xm與輸出樣本集Ym,假設(shè)其中的單個樣本x與y分別為真值在噪聲影響下的測量值,由此可得
其中,εy~N(0,Σy),εx~N(0,Σx). 不難看出,式(35)與式(1)假設(shè)的條件相同,式(36)擴大到整個樣本集即為式(33).
隨后,將f(X?εx) 在x附近進行Taylor展開,并只取到一階導(dǎo)數(shù),即可得到關(guān)于噪聲的一階模型:
將式(39)與先驗傳遞函數(shù)進行聯(lián)立,并且擴展到整個樣本集,由此得到后驗函數(shù)的均值和協(xié)方差為
本文第2.2節(jié)介紹了稀疏高斯過程,第2.3節(jié)介紹了帶有噪聲輸入的高斯過程.兩種算法均具有不同的原理與推導(dǎo)過程,本節(jié)要在驗證其合理性的基礎(chǔ)上,將兩種算法進行結(jié)合,得到更為廣泛的適用范圍及更好的預(yù)測結(jié)果.
由第2.3節(jié)的推導(dǎo)過程可知,在稀疏高斯過程中,Y?的后驗分布的均值與協(xié)方差如式(24)和式(25)所示.通過觀察可以發(fā)現(xiàn),式(24)與式(4)的表達(dá)形式相同,由此可以推斷式(24)可直接運用式(4)的運算過程.論證如下:
根據(jù)矩匹配算法原理,將式(24)代入式(30),得
對于訓(xùn)練樣本集Xm在噪聲影響下的結(jié)果應(yīng)用于稀疏高斯過程,原理與測試樣本在噪聲影響下的原理相同.因此,可由式(40)和式(42),得到帶有噪聲輸入的稀疏高斯過程(Sparse Gaussian process with input noise,SGPIN)的預(yù)測輸出值Y?的后驗分布的均值.
其中,
如果假設(shè)輸入變量X服從零期望值的高斯分布,則μ?可以改寫為
其中,
而對于Y?的后驗分布的方差,由于其推導(dǎo)過程過于復(fù)雜且占用較大篇幅,同時對預(yù)測結(jié)果沒有實質(zhì)性影響,因此只列出推導(dǎo)結(jié)果:
其中,
本文將稀疏高斯過程和有噪聲輸入的高斯模型相融合,提出了一種全新的SGPIN算法.在將該算法應(yīng)用于人體姿態(tài)估計問題之前,為了進一步驗證該種融合的必要性與合理性,采用一些簡單的數(shù)據(jù)對SGPIN算法、稀疏高斯算法(FITC)、有噪聲輸入的高斯算法(NIGP)和常規(guī)高斯算法(GP)進行測試與評估.
如圖1所示,在定義域為[?5,5]、值域為[0,2.5]內(nèi)隨機生成一條輸入輸出曲線,并將該曲線設(shè)定為待預(yù)測的理想目標(biāo)曲線.在曲線上均勻選取若干個點,并人為添加高斯噪聲,組成帶有噪聲輸入的訓(xùn)練集.隨后分別運用GP,FITC,NIGP和SGPIN四種算法進行預(yù)測,得到預(yù)測曲線,同時對每種算法的均方誤差(Mean squared error,MSE)和預(yù)測時間進行比較與評估,評估結(jié)果(10次重復(fù)實驗取平均值)如表1所示.
結(jié)合圖1與表1中的信息可知,SGPIN算法在預(yù)測準(zhǔn)確度與運行時間方面均明顯優(yōu)于其他三種基礎(chǔ)算法,可見稀疏算法與去噪算法的結(jié)合確實可以大幅度提高高斯過程算法的性能,達(dá)到更好更徹底的優(yōu)化效果.
圖1 GP,FITC,NIGP和SGPIN算法預(yù)測結(jié)果Fig.1 Predicting results of GP,FITC,NIGP and SGPIN
表1 GP,FITC,NIGP和SGPIN算法比較Table 1 Comparison of GP,FITC,NIGP and SGPIN
本節(jié)主要對帶有噪聲輸入的稀疏高斯(SGPIN)算法與雙高斯過程算法(Twin Gaussian processes,TGP)、K–近鄰算法(K-nearest neighbor,KNN)等預(yù)測算法進行比較與評估.其中,TGP算法是由Bo等[25]提出的一種基于輸入與輸入兩種聯(lián)合概率分布的高斯過程,在解決人體姿態(tài)估計問題時,具有比K–近鄰算法、嶺回歸算法以及傳統(tǒng)高斯過程等算法更高的預(yù)測準(zhǔn)確度.
實驗的數(shù)據(jù)集來自基于HumanEva-I數(shù)據(jù)庫[16]的人體姿態(tài)HoG特征集[17],包括3位測試對象的行走、慢跑、投擲捕捉,做手勢與拳擊5個動作.更多細(xì)節(jié)可以參考文獻(xiàn)[17].
1)表2為實驗的數(shù)據(jù)集,包含不用姿勢和不同研究對象的樣本個數(shù)(每個視角下的單幀圖片數(shù)).對每個樣本使用由Poppe計算的810維HoG特征描述[17],同時,這個數(shù)據(jù)也用于評估雙高斯過程和KNN等算法的性能[25].
表2 實驗數(shù)據(jù)集Table 2 Experimental set
2)輸出變量是人體姿態(tài),表示為20個三維身體關(guān)節(jié)位置組合成的60維向量,并且每個姿勢都需要進行預(yù)處理,即將根關(guān)節(jié)位置設(shè)為原點,其他關(guān)節(jié)的位置表示為與根關(guān)節(jié)的位置差.這種標(biāo)準(zhǔn)化處理可以減少因研究對象的不同產(chǎn)生的不確定性.
3)借用文獻(xiàn)[16]提出的誤差度量,對于每一個輸出向量,誤差公式可以表示為
其中,y是60維的估計輸出,是與之對應(yīng)的真實輸出,M=20是每一個姿態(tài)中關(guān)節(jié)位置的個數(shù),pi的輸出值是第i個關(guān)節(jié)位置的三維向量.k·k表示歐氏距離.而對于整個輸出序列,平均誤差可以表示為
其中,N表示輸出向量的個數(shù).
1)對于每一個數(shù)據(jù)集,將其分成測試、誘發(fā)和訓(xùn)練三部分.在SGPIN算法中,通過迭代的梯度下降法確定超參數(shù)值,這種方法會適當(dāng)增加運行時間,但是卻可以得到更好的精度.對于其他算法,忽略誘發(fā)部分?jǐn)?shù)據(jù),參考文獻(xiàn)[25]進行參數(shù)值設(shè)定.另外,對于每種算法,都會人為地在測試輸入中添加高斯噪聲,同時添加一個極小的噪聲矩陣來增加逆矩陣運算的穩(wěn)定性.
2)選取高斯過程(GP)、雙高斯過程(TGP)、帶有噪聲輸入的稀疏高斯過程(SGPIN)、帶有KNN算法的雙高斯過程(TGPKNN)、最優(yōu)雙核復(fù)合分類算法(Kernel target alignment,KTA)[26]和希爾伯特施密特的獨立性準(zhǔn)則(Hilbert-Schmidt independence criterion,HSIC)[27]下的KNN算法進行預(yù)測準(zhǔn)確度和運行時間的評估.在準(zhǔn)確度方面,比較每一個姿勢的每一個輸出向量的估計誤差和不同姿勢的平均估計誤差.同時,為了保證評估的客觀性,每種算法都進行5次仿真運算,取其平均值作為最終的運算結(jié)果.
表3列出了不同姿勢的平均誤差,表4是每一種算法的運行時間.這兩個指標(biāo)是評價算法綜合能力的重要依據(jù).
在表3和表4中,所有模型均來自于3個研究對象的5個動作.表中列出了樣品數(shù)量,最小誤差和最短運行時間用粗體字顯示,“/”表示無數(shù)據(jù)集進行評估或樣本集過小致使KNN算法無法在與其他樣本相同K值下運行,所有模型的誘發(fā)點個數(shù)均為nu=20.
表3 基于HumanEva-I數(shù)據(jù)集HoG特征的不同算法的平均誤差Table 3 Evaluation of average error of different algorithms based on HoG feature of HumanEva-I
表4 基于HumanEva-I數(shù)據(jù)集HoG特征的不同算法的運行時間Table 4 Evaluation of runtime of different algorithms based on HoG feature of HumanEva-I
從表3可以看出所有算法的準(zhǔn)確性.其中,SGPIN算法最為準(zhǔn)確,因為其具有比其他模型更小的平均誤差.TGP和TGPKNN的誤差在所有的運動中都是相似的,因為這兩種方法具有相同的核心算法.KTA和HSICKNN算法與TGP算法的表現(xiàn)比較相似,但KTA算法的預(yù)測準(zhǔn)確性略優(yōu)于HSICKNN算法.常規(guī)GP模型與其他模型相比具有較大的誤差,因為它更受輸入噪聲的影響與干擾.
同時,從表3可以看出,在預(yù)測不同的姿態(tài)時,SGPIN算法的優(yōu)越性不盡相同.在預(yù)測Throw/Catch和Gestures等變化比較強烈的姿態(tài)時,SGPIN算法的預(yù)測準(zhǔn)確度格外高,在預(yù)測Walking和Jogging這類變化比較平緩的姿態(tài)時,則表現(xiàn)了與其他算法相近的預(yù)測精度.SGPIN算法的這種表現(xiàn)將在之后的算法穩(wěn)定性分析中具體討論.
表4的數(shù)據(jù)反映了所有算法的運行時間.常規(guī)GP算法因為其模型的簡單性,比其他算法具有更少的運行時間.另外5種算法在運行時間上沒有較大的差別,屬于同一數(shù)量級.觀察表4中的每一列,可以分析出樣本數(shù)量對運行時間的影響.具體表現(xiàn)為:樣品數(shù)量對TGP,TGPKNN,KTA以及HSICKNN算法具有很大的影響,對GP的影響較小.在大多數(shù)情況下,樣本數(shù)越小,平均誤差也越小.但是,SGPIN算法幾乎不受樣本大小的影響,因為在SGPIN算法中,承擔(dān)了主要運算量的誘發(fā)點數(shù)量不隨樣本數(shù)的變化而變化,其取值均為20.
接下來討論SGPIN算法的穩(wěn)定性.圖2和圖3列舉了在同一姿態(tài)中每一個輸出向量的誤差.由于樣本數(shù)量過大,且預(yù)測誤差在各樣本子集的分布基本相同,因此只截取每個樣本集的100個樣本進行描述.圖2給出了SGPIN算法與TGP和TGPKNN算法的對比結(jié)果,圖3給出了SGPIN算法與GP,KTA和HSICKNN算法的對比結(jié)果.
從圖2可以看出,在很多樣本中,TGP和TGPKNN的預(yù)測誤差會隨輸出向量的不同產(chǎn)生很大的變化,而SGPIN受到的影響較小.此外,若調(diào)細(xì)圖2中的曲線,可以發(fā)現(xiàn)TGP曲線存在大量毛刺,而TGPKNN和SGPIN的曲線則更為平滑.原因是TGP算法利用了所有輸入點的信息,而TGPKNN和SGPIN算法為了簡化計算過程而忽略了一部分輸入點.
從圖3可以看出,GP幾乎不隨輸出向量的不同而產(chǎn)生變化,原因是GP算法的原理比較簡單,注重的是整個樣本集的總體信息.SGPIN算法因為稀疏過程的存在,輸出向量對測量誤差的影響也較小.而KTA和HSICKNN算法與SGPIN算法相比則極不穩(wěn)定,預(yù)測準(zhǔn)確度會隨樣本的不同產(chǎn)生巨大的波動,而預(yù)測誤差的離散程度也會隨樣本集的不同而有所不同.
圖2 TGP,TGPKNN與SGPIN算法的誤差比較Fig.2 Error comparison of TGP,TGPKNN and SGPIN
結(jié)合圖2和圖3可以發(fā)現(xiàn),在預(yù)測Walking和Jogging這類變化比較平緩的姿態(tài)時,SGPIN算法的穩(wěn)定性與TGP和TGPKNN算法基本相同,且都弱于GP算法,具體表現(xiàn)為預(yù)測曲線的波動程度相似.在預(yù)測Throw/Catch和Gestures等變化比較強烈的姿態(tài)時,TGP,TGPKNN,KTA和HSICKNN算法的不穩(wěn)定性使得算法產(chǎn)生了許多預(yù)測誤差較大的樣本,極大影響預(yù)測精度,這也是表3中SGPIN算法在預(yù)測變化比較強烈的姿態(tài)時準(zhǔn)確度遠(yuǎn)遠(yuǎn)超過其他算法的原因.
另外,在預(yù)測同一實驗個體的同一種姿態(tài)時,預(yù)測誤差值的離散程度也反映了算法的穩(wěn)定性.由于在行走姿態(tài)的預(yù)測中SGPIN算法與其他算法的預(yù)測結(jié)果最為相似,因此選取個體3的行走姿態(tài),重復(fù)進行5次仿真運算,結(jié)果如表5所示.
圖3 GP,KTA,HSICKNN與SGPIN算法的誤差比較Fig.3 Error comparison of GP,KTA,HSICKNN and SGPIN
表5 個體3行走姿態(tài)的預(yù)測誤差Table 5 Predicting errors of subject 3 walking
表5最后一行的方差反映了預(yù)測誤差值的離散程度.方差越大,算法的穩(wěn)定性越低,方差越小,算法的穩(wěn)定性越高.
結(jié)合圖2、圖3和表5可以分析出6種算法的穩(wěn)定性.HSICKNN和KTA算法極不穩(wěn)定,TGP和TGPKNN算法穩(wěn)定性一般,GP算法和SGPIN算法穩(wěn)定性最好.其中,SGPIN算法無論在預(yù)測變化較大的姿態(tài)方面,還是在重復(fù)運行同一樣本集時,都能達(dá)到十分穩(wěn)定的預(yù)測精度,這兩種性質(zhì)也充分反映了SGPIN算法是一種能夠推廣到實際工程應(yīng)用領(lǐng)域的人體姿態(tài)估計算法.
本文提出了一種從經(jīng)典高斯過程模型的數(shù)學(xué)原理角度對模型進行優(yōu)化來解決人體姿態(tài)估計問題的新思路.算法的評估實驗是基于HumanEva-I數(shù)據(jù)庫的HoG特征集的三維人體姿態(tài)估計問題,包括3個研究對象與5個人體姿態(tài).將本文算法與GP算法、TGP算法、TGPKNN算法、HSICKNN算法和KTA算法在預(yù)測準(zhǔn)確度、運行時間和算法穩(wěn)定性方面進行比較,本文算法具有較為優(yōu)秀的評估結(jié)果.在算法準(zhǔn)確度方面,SGPIN算法與其他算法相比,具有較低的平均誤差和較高的穩(wěn)定性(較小的誤差方差和較平滑的誤差曲線),TGP和TGPKNN算法在穩(wěn)定性方面表現(xiàn)一般,KTA算法和HSICKNN算法表現(xiàn)較差.在運行時間方面,SGPIN算法并沒有過于優(yōu)異,但是與其他算法相比其結(jié)果依舊是可以接受的.同時考慮預(yù)測準(zhǔn)確度、算法穩(wěn)定性與運行時間三項因素,SGPIN算法是一種應(yīng)用于人體姿態(tài)估計問題的更為有效的算法.
未來的工作首先是對于求解超參數(shù)的梯度下降算法的改進,因為運用此種方法得到參數(shù)需要較長的運行時間,且并未對輸入信息進行充分利用.此外,需要更好地利用輸入變量之間與輸出變量之間的關(guān)系,因為高維輸入輸出變量的各維度之間本身具有復(fù)雜的關(guān)聯(lián)性.同時,將算法的應(yīng)用領(lǐng)域進行拓展,使其不僅局限于HoG這一特征,甚至不僅局限于人體姿態(tài)估計這一問題,而是用于解決更多的結(jié)構(gòu)化預(yù)測問題.