吳建美
(福州軟件職業(yè)技術學院 游戲產業(yè)學院,福建 福州 350005)
隨著虛擬現實技術的飛速發(fā)展,虛擬數字人物的運動捕捉逐漸成為近年來的研究熱點。目前,在三維空間中捕捉虛擬數字角色的動作被廣泛應用于醫(yī)學、游戲、體育和電影等領域。在傳統的方法中,主要采用三維動態(tài)流體技術進行運動人物動作的捕捉,但存在捕捉數據精度低的缺陷。因此,越來越多的智能方法被融入虛擬數字人物的運動捕捉中。
田青等[1]采用改進Slow-Only網絡通過實時跟蹤人物動作與姿態(tài)變化,結合自適應角點檢測方法進行人物動態(tài)特性分析,進而實現動作捕捉。雖然該方法已取得了較為滿意的動作捕捉效果,但捕捉速度慢且運算量較大;趙博等[2]采用機器視覺圖像對采集的動作圖像進行邊緣檢測,結合不規(guī)則模型實現機器視覺分塊模板匹配處理,完成動作捕捉優(yōu)化。但該方法的自適應捕捉能力較差,面向包含復雜背景的數據集則具有較大的局限性。
針對以上分析,本文依托于多特征融合算法,對虛擬數字人物動作捕捉方法展開研究,以彌補以上方法存在的不足,同時進一步提高動作捕捉性能。
在虛擬數字角色的運動捕捉之前,需要先檢測和確定人物的姿態(tài)變化,并描述運動姿勢。由于通過運動檢測獲得的人體運動圖像是高維信號,因此在該高維空間中直接進行運動捕捉并不容易[3]。所以,本文使用前景圖像的最小邊界矩形將高維圖像信號轉換為人體姿態(tài)的低維信號,并使用統一的數據格式來描述載體的姿態(tài)信息。
定義人物動作的變化矩形框寬為W,高為H,通過構造姿態(tài)評價函數來確定人物動作前景圖像的面積為:
(1)
式(1)中,F0表示人物的旋轉角度;f(t)表示姿態(tài)評價函數。
在進行動作信號獲取時,由于人體從中間狀態(tài)轉換到穩(wěn)定狀態(tài)的工程并不是真實的信號值,因此定義:
(2)
式(2)中,n0表示采樣點個數;i表示采樣通道編號;f0(t)表示換階函數。
將人體姿態(tài)幀間的變化率作為人物兩個動作之間切換的判定指標[4],計算公式為:
(3)
式(3)中,K0表示尺度因子;T0表示上一個動作的起始時間;k(t)表示偏差函數。
由于人體各部分肢體相對于地理坐標系之間不會發(fā)生位置變化[5],因此則有:
(4)
式(4)中,qi表示人體肢體四元數,可反映姿態(tài)相對于基準坐標系的變化情況;s0表示位移函數;p0表示位移函數對應權重。
通過將人體軀干節(jié)點與坐標系節(jié)點的粗略配準,促使人物動作節(jié)點的大致重合[6],之后構造最小化函數提升姿態(tài)原始數據的準確度為:
(5)
式(5)中,R0表示轉置矩陣;H0表示隨機矢量;N0表示數據點個數;Pj表示數據點中距離目標數據點最近的點。
引入尺度空間向量,結合近似矩陣檢測人體姿態(tài)的特征點[7],計算公式為:
(6)
式(6)中,Lxx、Lyy分別表示人體在水平方向和豎直方向上的歐拉角;x表示人體水平運動距離;σ表示動作與水平坐標系的夾角。
計算人物從高維空間轉換到低維空間的映射系數為:
A0=ΔHs×D0×L0
(7)
式(7)中,A0表示映射系數;D0表示內部參數;L0表示外部參數。
由此可得到人體動作姿態(tài)的目標空間點的表達式為:
(8)
式(8)中,g(t)表示線性函數;v(x)表示粗糙度函數。
以軀干為基準坐標系進行人體動作姿態(tài)解算為:
B0=Pb×E1×q-1
(9)
式(9)中,B0表示人物動作相對于軀干的四元數姿態(tài)表示;E1表示姿態(tài)采樣預備點;q-1表示動作分割終止點。
根據虛擬人物在前景矩形框中的運動范圍,計算動作姿態(tài)變化率,并通過配準人體軀干節(jié)點與基準坐標系節(jié)點,檢測動作姿態(tài)特征點,由此完成對人物動作姿態(tài)的解算,為后續(xù)人物動作跟蹤奠定基礎。
根據人物動作和姿勢的計算結果,分析人體結構,以確?;谡_的姿勢信息進行動作識別[8]。由于人體中的許多骨骼點是相互連接的,而不是獨立移動的,因此只需要提取一些關鍵的骨骼點就可以獲得包含運動姿勢的信息[9]。同時,為了降低人體骨骼的復雜性,模擬人體動作的真實情況,本文使用10個骨骼點建立人體的層次數據庫模型,具體如圖1所示。
圖1 人體重點骨骼結構
計算人物特征動作與基準動作的匹配適應值為:
mt=a0K1+B0Ct
(10)
式(10)中,a0表示目標圖像特征量;K1表示動作數據節(jié)點;Ct表示相似度閾值;mt表示相似度匹配函數。
對動作信號進行重構計算[10]公式為:
(11)
式(11)中,xR表示信號離散點的幅值;j(t)表示轉換函數。
當信號能量較大時,eR的數值也較大[11],通過下式對其進行歸一化處理得:
(12)
式(12)中,ms表示信號頻帶個數;Ea表示高頻次能量;Eb表示低頻次能量。
在全局形狀模型中,結合邊緣輪廓特征分解方法[12],得到人體模型與動作姿態(tài)的分層匹配模型為:
(13)
式(13)中,u(x,y)表示動作姿態(tài)定位的關鍵點;j(x,y)表示比較特征點;η(x,y)表示仿射不變矩陣。
對原始目標圖像進行層次分解,得到檢測系數為:
(14)
式(14)中,V(r/2)表示調整分解函數;r表示分解層數。
由此得到動作圖像的邊緣輪廓分量為:
(15)
式(15)中,H0(r)表示動作相關性變量;α0表示動作紋理特征匹配值。
隨機初始化動作子空間中的姿態(tài)預測點元素,根據映射變換關系預測某個特定動作在低維空間中的投影向量為:
(16)
式(16)中,Yi表示系數矩陣;Ni表示單位矩陣;β0表示變換衰減常數。
對所有動作像素點進行預測并計算預測誤差,求和后得到所有點的總體預測誤差[13],計算公式為:
U0=χtMk
(17)
式(17)中,χt表示擬合函數。
在人物動態(tài)變化下,在投影不變區(qū)域內,根據動作特征進行動態(tài)圖像的分解,以此得到人物動態(tài)動作跟蹤識別的動態(tài)特征函數為:
I(t)=U0×ω1×2φ0
(18)
式(18)中,ω1表示動作訓練集的樣本塊;φ0表示動作銜接動態(tài)特征;I(t)表示動作跟蹤函數。
基于人物動作姿態(tài)解算,對人體骨骼結構進行分析,構建人體動作模型,結合動作向量量化解析函數,得到動作邊緣輪廓分量,并通過引入運算誤差,計算人物動態(tài)動作跟蹤函數,以此實現人物動作跟蹤,便于后續(xù)人物動作捕捉的實現。
本文采用多特征融合算法將所有識別出的特征數據融合為一組數據,并將所有特征數據放置在同一空間坐標系中,以獲得最終的動作特征[14]。引入多核學習算法構建動作分類器,為最終運動捕捉的實現提供數據基礎?;诙嗵卣魅诤系娜宋飫幼鞑蹲綄崿F流程如圖2所示。
圖2 基于多特征融合的人物動作捕捉實現流程
通過梯度下降方法將動作特征目標函數進行最小化處理。由此得到多核學習的最佳參數為:
(19)
式(19)中,I(t)表示動作跟蹤函數;βj表示權值參數。
將上述動作特征進行核函數線性組合融合,計算公式為:
(20)
式(20)中,mb=[1,2,…,l…,mb]表示動作特征數量;kf表示融合函數權重。
基于逆矩陣,可將多特征融合的核函數表示為:
Ω=λk(Km×Kj)+bs
(21)
式(21)中,Km表示特征簽名向量;Kj表示累加邊緣特征;bs表示經驗常數。
通過圖像增強原理提高人物動作捕捉的分辨能力與自適應性[15],由此得到的動作紋理分布函數為:
(22)
式(22)中,ρj表示梯度像素分布集;ε表示振蕩因子。
則可利用下式提取人物動作捕捉特征量為:
ξ=f(gi)×wk/Cj
(23)
式(23)中,wk表示動作姿態(tài)幀序列估計值[16-17];Cj表示動作軌跡模板匹配系數。
將待捕捉的人物動態(tài)圖像分割為M×N個子塊,分別計算每個子塊的動作捕捉特征量,并將計算結果與動作軌跡模板進行匹配,實現虛擬數字人物動作的實時捕捉。至此,完成基于多特征融合的虛擬數字人物動作捕捉方法的設計。
為驗證本文提出的方法在虛擬數字人物動作捕捉實際應用中的綜合有效性,以公開動作數據集為測試對象,對本文方法展開性能測試,并根據實驗結果分析本文方法的應用效果。
實驗選取KTH虛擬數字人物動作作為數據集進行測試。該數據包含大約10萬張?zhí)摂M數字人物動作,且圖像背景復雜程度不一,光照強度也不盡相同。其中部分數據集如圖3所示。
圖3 測試對象
本文中的實驗數據是一個復雜環(huán)境中的監(jiān)控視頻,其中人物行為、服裝和姿態(tài)都具有顯著差異,圖像每幀尺寸為120*220。首先,根據運動的人物動態(tài),利用前景圖像的最小邊界矩形將高維圖像信號降為二維,為了保證檢測精度,匹配前景圖像的最小像素為500;然后,基于姿勢比率來確定人體姿勢,并且通過組合姿勢變化信息與姿勢比率的幀間變化率以及位置變化特性來跟蹤人物動作;最后,對兩幀進行均值濾波,去除“奇異噪聲點”。
實驗中使用手臂關節(jié)角度描述人物具體動作姿態(tài)的重要特征,并將人體運動模型簡化為一個七自由度的運動模型,其關節(jié)自由度如表1所示。
表1 人體關節(jié)自由度
其中,采用專業(yè)的運動捕捉設備PERCEPTION NEURON STUDIO對數據集進行動作捕捉,并將此數據作為基準數據。該設備可以導出人體各部位相對于基準坐標系的姿態(tài)數據,這與本文設計的運動捕捉數據的邏輯一致。因此,只需將其轉換為直觀的歐拉角數據,即可進行合理的數據比較。
以圖3(a)為例,得到的人物動態(tài)姿態(tài)解算結果如圖4所示。
圖4 人物動態(tài)狀態(tài)解算
以人物動態(tài)姿態(tài)解算結果與人體特征點檢測結果為數據基礎,利用邊緣輪廓特征分解方法進行人物動作跟蹤識別,并采用文中所述方法構建人體運動模型,最后通過多特征融合算法實現人物動作捕捉。
以人物大臂運動作為測試數據,以虛擬數字人物動作捕捉系統獲取的數據為參考值,利用本文設計的方法對實驗數據集進行測試,將得到的人物動作捕捉數據與動捕系統數據相比較,以判斷本文方法的動作捕捉效果,對比結果如圖5所示。
圖5 動作捕捉結果
由圖5可知,利用本文方法對虛擬數字人物進行動作捕捉,得到的動捕歐拉角數據與專業(yè)動捕系統數據趨勢基本一致。相對于動捕系統數據,本文測得的動捕歐拉角數據的平均誤差在1.3°~2.2°之間,動捕的相對誤差較小。由此可以說明,本文設計的方法能夠較為準確地捕捉虛擬數字人物動作,動捕精度較高。
為進一步驗證本文方法在人體動作捕捉方面的精度,本實驗引入改進Slow-Only網絡(方法1)[1]、機器視覺圖像(方法2)[2]作為本文方法的對比方法,并以平均絕對百分比誤差表征捕捉數據的準確性,測量誤差越小,說明方法的捕捉結果越準確,動捕精度越高,對比結果如表2所示。
表2 動作捕捉誤差值結果
由表2中的實驗結果可以看出,本文方法相對于對比方法,動作捕捉準確度分別提高了約7%與5%,對于人體四肢運動的不同類型,人物動作捕捉的平均百分比誤差均在6%以下。方法1與方法2采用的是運動力學鏈式模型,因而父節(jié)點的捕捉誤差會累積疊加到子節(jié)點上,故捕捉誤差較大。通過實驗數據對比結果可以說明,本文方法對于虛擬數字人物動作捕捉具有較高的捕捉精度。
針對當前現有方法對于虛擬數字人物動作捕捉存在捕捉精度低的問題,本文基于多特征融合算法,通過解算人物動態(tài)姿態(tài)與跟蹤識別人物動作特征,并通過模板匹配,進而實現人物動作捕捉。并通過對比實驗驗證了本文方法的可行性。在未來研究中,將結合圖像增強技術提高所提方法的自適應能力,以進一步優(yōu)化算法。