李 健,馬蓉蓉,韓超遠(yuǎn),齊 勇,何 斌
(1.陜西科技大學(xué) 電子信息與人工智能學(xué)院,陜西 西安 710021;2.同濟(jì)大學(xué) 電子與信息工程學(xué)院,上海 201804)
人體姿態(tài)估計(jì)從靜態(tài)圖像或視頻序列中識別不同人體部位的位置和方向,是人體動作分析與識別的基礎(chǔ),目前廣泛應(yīng)用在人機(jī)交互、醫(yī)學(xué)影像、數(shù)字娛樂和視頻監(jiān)控等眾多領(lǐng)域.參數(shù)化人體模型的姿態(tài)估計(jì)包含表示關(guān)節(jié)點(diǎn)旋轉(zhuǎn)角度和人體外觀體態(tài)表現(xiàn)的參數(shù)信息,使得人體的三維姿態(tài)更加豐富、準(zhǔn)確.
目前,大部分研究基于SMPL (Skinned Multi Person Linear model)模型[1]展開,主要依賴于根據(jù)檢測到人體二維關(guān)節(jié)點(diǎn)坐標(biāo)調(diào)整3D人體模型到2D圖像的映射關(guān)系.文獻(xiàn)[2]從圖像中提取局部特征,再通過優(yōu)化求解模型參數(shù)來擬合這些圖像特征.文獻(xiàn)[3]提出了包含面部和手部細(xì)節(jié)的SMPL-X(SMPL eXpressive)模型,并將上述算法擴(kuò)展至此模型.此類基于優(yōu)化的算法效果好,但速度慢,易于局部最優(yōu),且依賴于初始值.基于學(xué)習(xí)的方法從圖像全局特征進(jìn)行匹配分析,能有效避免基于優(yōu)化方法在復(fù)雜姿態(tài)和遮擋關(guān)系情況下出現(xiàn)的特征誤匹配問題.但由于SMPL-X是比SMPL維度高的模型且輸入不變情況下手、臉部分圖像分辨率低,將SMPL模型神經(jīng)網(wǎng)絡(luò)回歸器擴(kuò)展到SMPL-X,直接從RGB圖像中回歸參數(shù)來重建完整的3D人體,在細(xì)節(jié)上難以實(shí)現(xiàn).
為了解決上述問題,本文融合現(xiàn)有基于回歸和優(yōu)化的方法,設(shè)計(jì)了一種基于SMPL-X的人體姿態(tài)和形狀估計(jì)的方法.首先利用HMR(Human Mesh Recovery)網(wǎng)絡(luò)[4],從像素直接回歸模型參數(shù),獲取姿態(tài)更為精確的身體部分的表示作為初始值.然后利用二維人體關(guān)鍵點(diǎn)和人體輪廓的約束,構(gòu)造能量函數(shù)對參數(shù)進(jìn)行優(yōu)化求解,擬合至SMPL-X模型,重建出包含面部、手部細(xì)節(jié)更精細(xì)的模型表示.避免了二維關(guān)節(jié)映射到三維姿態(tài)時(shí)的信息缺失問題,加快迭代優(yōu)化的速度,提高了人體重建模型的準(zhǔn)確度.
對整個(gè)人體進(jìn)行捕獲建模是一個(gè)具有挑戰(zhàn)性的問題,為了使其易于處理,研究人員分而治之的進(jìn)行了身體、面部和手部重建研究.對于人臉,Blanz和Vetter引入了第一個(gè)3D可變形模型[5].對于人手,Khamis等[6]從RGB-D圖像中學(xué)習(xí)手形變化的模型,Romero等[7]通過3D手部掃描數(shù)據(jù)學(xué)習(xí)具有豐富形狀和姿勢空間的參數(shù)化手模型MANO(hand Model with Articulated and Non-rigid deformations).對于人體而言,引入CAESAR數(shù)據(jù)集后創(chuàng)建出了SCAPE[8]、SMPL等可求解形狀和姿勢的模型,然而這些模型具有中性的面容且不包含手部的細(xì)節(jié).Adam[9]和SMPL-X是最早代表身體、面部和手部的模型.Adam缺少SMPL依賴于姿勢的混合形狀,且發(fā)行版本不含面部表達(dá).SMPL-X模型將SMPL人體模型、FLAME (Faces Learned with an Articulated Model and Expressions)人頭模型[10]和MANO人手模型相結(jié)合,模塊完全鉸接,提供了一個(gè)包含臉部表情和手部動作的更加全面生動的人體模型,更能反應(yīng)人體真實(shí)的3D結(jié)構(gòu).
人體姿勢估計(jì)通常是對2D或3D關(guān)節(jié)點(diǎn)的估計(jì)[11-13],與解剖學(xué)關(guān)節(jié)相對應(yīng),僅僅使用關(guān)節(jié)點(diǎn)的相對位置關(guān)系表示人體姿態(tài)是不夠的,容易忽略人體的外觀體態(tài)表現(xiàn).最新的研究使用參數(shù)化模型或非參數(shù)化模型解決此問題.三維人體姿態(tài)估計(jì)方法可以劃分為兩大類別:(1)先通過二維圖像來估計(jì)二維人體姿態(tài),再由二維人體姿態(tài)預(yù)測三維人體姿態(tài);(2)通過二維圖像,以端到端的方式直接預(yù)測三維人體姿態(tài).
第一類方法:將問題分解為多個(gè)階段.第一階段由二維人體關(guān)節(jié)檢測器估計(jì)關(guān)節(jié)位置得到二維人體姿態(tài)估計(jì),作為中間表示.第二階段通過模型匹配[2,3]或者訓(xùn)練回歸器[4,14,15]的方式估計(jì)二維人體姿態(tài)和三維人體姿態(tài)之間的映射關(guān)系.從低維空間向高維空間求解時(shí)會產(chǎn)生深度模糊等不適定問題,上述方法通過已知的肢體長度、統(tǒng)計(jì)人體模型、關(guān)節(jié)角度限制等各種先驗(yàn)規(guī)則進(jìn)行正則化來解決.這類方法利用的是2D信息,因此很容易獲得注釋,但缺點(diǎn)是最終的回歸器無法利用原始圖像像素,造成信息缺失,并且中間任務(wù)造成的錯(cuò)誤無法克服.
第二類方法:直接根據(jù)RGB像素預(yù)測3D姿勢,避免了信息瓶頸和其他錯(cuò)誤源,但學(xué)習(xí)姿勢的映射關(guān)系更加困難.大多數(shù)方法推斷3D人體關(guān)節(jié),非參數(shù)模型的方法估計(jì)體素[16]、距離場[17]或3D網(wǎng)格深度圖[18],參數(shù)化模型的方法估計(jì)模型參數(shù)[19-21].成對的室內(nèi)圖像和MoCap數(shù)據(jù)集允許進(jìn)行有監(jiān)督的訓(xùn)練,但無法推廣到野外數(shù)據(jù).為了解決這個(gè)問題,Rogez和Schmid[22]通過合成的3D人類來擴(kuò)充這些數(shù)據(jù)集,而Kanazawa等[4]在野外數(shù)據(jù)集上應(yīng)用了重投影損失在其2D關(guān)節(jié)標(biāo)注上,實(shí)現(xiàn)了弱監(jiān)督.
基于SMPL-X模型的人體姿態(tài)估計(jì)重建中最主要的問題是如何將標(biāo)準(zhǔn)人體模板與真實(shí)數(shù)據(jù)進(jìn)行非剛體配準(zhǔn),本質(zhì)就是為標(biāo)準(zhǔn)模板尋找合適的體型、姿態(tài)以及面部參數(shù),從而使這些參數(shù)所描述的人體模型與輸入的真實(shí)數(shù)據(jù)實(shí)現(xiàn)最優(yōu)匹配.本文設(shè)計(jì)了一種基于此模型的人體姿態(tài)與形狀估計(jì)的方法,算法框架如圖1所示,使用HMR生成對抗網(wǎng)絡(luò)框架從彩色圖像中提取模型參數(shù),再利用人體關(guān)鍵點(diǎn)和輪廓的約束構(gòu)造能量函數(shù)并對參數(shù)進(jìn)行優(yōu)化求解.
圖1 算法總框架圖
BP(θ;P)
(1)
M(β,θ,φ)=W(Tp(β,θ,φ),J(β),θ,ω)
(2)
W是一個(gè)混合蒙皮線性方程,ω是各個(gè)關(guān)節(jié)的混合權(quán)重,其包含:將β體型參數(shù)對應(yīng)到骨骼關(guān)節(jié)的函數(shù)J(β),將θ姿態(tài)參數(shù)以及動作參數(shù)修正P映射到模型對應(yīng)點(diǎn)的變形函數(shù)BP(θ;P),將β體型參數(shù)及其修正數(shù)據(jù)S映射到模型對應(yīng)點(diǎn)的變形函數(shù)BS(β,S),將φ面部參數(shù)及其修正參數(shù)ε映射到模型對應(yīng)點(diǎn)的變形函數(shù)BE(φ;ε).
由于深度信息缺失,從二維圖像直接推斷人體三維姿態(tài)時(shí)容易出現(xiàn)誤差.HMR算法是目前人體姿態(tài)估計(jì)領(lǐng)域應(yīng)用較為成功的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu),可在一定程度上緩解由于人體自遮擋和二維圖像深度信息的丟失導(dǎo)致姿態(tài)不確定的問題.因此對于身體部分的姿態(tài)估計(jì),參考如圖2所示HMR網(wǎng)絡(luò)框架.
圖2 HMR網(wǎng)絡(luò)框架
網(wǎng)絡(luò)輸入單張圖片,首先經(jīng)過Resnet-50編碼層輸出卷積特征,再送入3層全連接回歸層,輸出相機(jī)參數(shù)、SMPL模型體型參數(shù)β、動作參數(shù)θ.網(wǎng)絡(luò)預(yù)測獲取到模型M(β,θ)及模型的三維關(guān)節(jié)位置X(θ,β).
(3)
(4)
(a)原始RGB (b)預(yù)測模型圖3 神經(jīng)網(wǎng)絡(luò)預(yù)測模型
從二維圖像到三維的人體模型直接求解具有挑戰(zhàn),將問題分解為兩個(gè)階段,首先從圖像中獲取二維關(guān)節(jié)信息和人體邊緣輪廓,用于后續(xù)擬合模型的姿態(tài)和體型參數(shù).
2.3.1 二維關(guān)節(jié)獲取
本文采用3D參數(shù)模型以二維觀測求解三維人體姿態(tài)及其映射關(guān)系,因此人體二維關(guān)節(jié)檢測在三維人體姿態(tài)估計(jì)中起著重要作用.OPENPOSE算法[12]利用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的人體二維關(guān)節(jié)點(diǎn)檢測.RGB圖像作為輸入,經(jīng)過10層VGG-19進(jìn)行特征提取,再將所得特征分為2個(gè)分支送入深層卷積網(wǎng)絡(luò).通過貪心推理預(yù)測身體各關(guān)節(jié)位置部分置信度圖S和部分親和字段得到一組二維矢量場L(part affinity fields),表示了身體各部分間的關(guān)聯(lián)程度.使用CMU Panoptic數(shù)據(jù)集訓(xùn)練的網(wǎng)絡(luò)模型,輸出如圖4所示,包含(身體25、手部32、面部70個(gè))關(guān)節(jié)點(diǎn)二維坐標(biāo)及置信度.
(a)原始RGB (b)關(guān)節(jié)預(yù)測結(jié)果圖4 二維關(guān)節(jié)預(yù)測結(jié)果
2.3.2 輪廓邊緣檢測
邊緣輪廓可以更加精確的定位人體位置.本文使用像素覆蓋分割算法[23]對圖像進(jìn)行人體分割以獲取輪廓,用于后續(xù)模型體型參數(shù)的求解.在RGB顏色空間,分別用一個(gè)K=5的高斯分量的全協(xié)方差混合高斯模型(GMM)來對目標(biāo)和背景進(jìn)行建模.
E(α,k,θ,z)如公式(5)所示,用于整個(gè)圖像的Gibbs能量,由區(qū)域能量項(xiàng)U與邊界能量項(xiàng)V構(gòu)成.其中,區(qū)域能量項(xiàng)表示像素被歸類為目標(biāo)或者背景的懲罰.D為混合高斯密度模型,θ模型參數(shù)(高斯分量的權(quán)重π、均值向量u和協(xié)方差矩陣∑).根據(jù)像素RGB值,代入目標(biāo)和背景GMM,得到該像素所屬目標(biāo)或背景的概率.邊界能量項(xiàng)體現(xiàn)鄰域像素m和n之間不連續(xù)的懲罰.根據(jù)兩鄰域像素差別來確定是否屬于同一類別,衡量兩像素的相似性采用顏色之間的歐式距離‖zm-zn‖2,圖像的對比度用β體現(xiàn),放大縮小差別.分割結(jié)果如圖5所示.
(5)
(a)原始RGB (b)輪廓分割結(jié)果圖5 人體邊緣輪廓分割結(jié)果
利用上述2.2節(jié)獲取的 SMPL模型及其參數(shù)表示,將姿態(tài)參數(shù)進(jìn)行SMPL到SMPL-X的轉(zhuǎn)換作為模型初始值,將模型的關(guān)節(jié)點(diǎn)和三維輪廓頂點(diǎn)重投影到二維平面上,再利用2.3節(jié)獲取二維關(guān)節(jié)信息以及人體邊緣輪廓作為約束,最小化匹配能量函數(shù).調(diào)整模型的姿態(tài)參數(shù)使之與二維關(guān)節(jié)點(diǎn)對齊,從而得到與圖像中人物姿態(tài)相似的三維姿態(tài).調(diào)整模型的體型參數(shù),使投影點(diǎn)盡可能靠近二維輪廓線,達(dá)到調(diào)整模型形狀的目的.使用的能量函數(shù)如式(6)所示.
E(β,θ,φ)=EJ+λθbEθb+λθfEθf+λmhEmh+λαEα+λβEβ+λεEε+λcEc+λshEsh(θ)
(6)
其中,β、θ、φ為了約束2D到3D的固有歧義,用了不同的先驗(yàn)進(jìn)行正則化,λθb、λθf、λmh、λα、λβ、λε、λc、λsh分別為對應(yīng)能量項(xiàng)的權(quán)重參數(shù),Eε、Eθf、Emh表示面部表情、臉部動作、手部動作的L2正則項(xiàng).Eβ表示體型先驗(yàn),通過與訓(xùn)練數(shù)據(jù)集中的形狀分布之間的馬氏距離計(jì)算.Eθb參考文獻(xiàn)[3]通過變分自編碼器(VAE)訓(xùn)練一個(gè)全身姿態(tài)先驗(yàn),來懲罰不合理的動作.
(7)
Ec表示互穿懲罰項(xiàng),懲罰身體部位相互穿透的先驗(yàn).使用BVH(Bounding volume hierarchy)檢測碰撞三角形C列表,并計(jì)算由三角形C及其法線n定義的局部圓錐3D距離場,根據(jù)距離場中位置計(jì)算入侵深度并對滲透率進(jìn)行懲罰.fs和ft是相互入侵的三角形,ft的頂點(diǎn)vt是fs的距離場Ψfs中的入侵項(xiàng),表示受到Ψfs(vt)的入侵懲罰,反之亦然.
Eα(θb)=∑i∈(elbows,knees)exp(θi)
(8)
Eα表示膝蓋和肘部彎曲的先驗(yàn),θ表示彎曲方向,為負(fù)方向時(shí)表示合理,為正時(shí)表示不合理,能量值變大,給予懲罰.
(9)
EJ表示基于關(guān)節(jié)點(diǎn)的距離約束項(xiàng),使用重投影損失來最小化估計(jì)的2D關(guān)節(jié)點(diǎn)Jext,i和SMPL-X每個(gè)3D關(guān)鍵點(diǎn)Rθ(J(β))的2D投影的加權(quán)魯棒距離,J(β)從模型表面頂點(diǎn)獲取每個(gè)關(guān)鍵點(diǎn)坐標(biāo),Rθ(J(β))根據(jù)動作參數(shù)θ給每個(gè)關(guān)節(jié)點(diǎn)做旋轉(zhuǎn),從而得到符合當(dāng)前動作的每個(gè)關(guān)鍵點(diǎn)的坐標(biāo),其中Rθ是沿著運(yùn)動學(xué)變換關(guān)節(jié)的函數(shù),表示與姿態(tài)參數(shù)有關(guān)的全局剛性變換函數(shù),使用的是羅德里格斯公式(Rodriguez formula)將每兩個(gè)關(guān)節(jié)軸角轉(zhuǎn)換為局部旋轉(zhuǎn)矩陣.Jext,i和ωi為OpenPose方法得到的第i個(gè)關(guān)節(jié)點(diǎn)的坐標(biāo)及其置信度,并使用杰曼麥克盧爾函數(shù)(Geman-McClure)ρ處理噪聲.其中∏表示具有固有攝像機(jī)參數(shù)K的3D到2D的正交投影,求解其與二維關(guān)節(jié)點(diǎn)坐標(biāo)之間的加權(quán)歐氏距離,使其最小化.計(jì)算關(guān)節(jié)重投影損失采用Adam優(yōu)化器,處理局部最優(yōu)解使用退火方案,表現(xiàn)在γ上.
(10)
在數(shù)據(jù)集EHF 和3DPW上測試所提出的基于SMPL-X模型的姿態(tài)與體型重構(gòu)算法性能.EHF由100幀RGB圖像、3D掃描及對齊的SMPL-X網(wǎng)格組成,受試者執(zhí)行各種身體姿勢、手勢和面部表情,用于來評估全身預(yù)測.3DPW包括在室外RGB視頻序列帶有SMPL三維姿態(tài)注釋,包含在室內(nèi)和室外環(huán)境中執(zhí)行各種運(yùn)動的幾個(gè)受試者,通過單一的RGB相機(jī)和IMU安裝在受試者上捕獲的,用于評估僅身體部分的重構(gòu).
為了進(jìn)一步定量評估算法的精度,與真實(shí)的3D骨架進(jìn)行比較,使用平均每關(guān)節(jié)位置誤差(Mean Per Joint Position Error ,MPJPE)和進(jìn)行剛性變換(旋轉(zhuǎn)、平移和縮放)對齊后的關(guān)節(jié)點(diǎn)誤差平均值(Procrustes Analysis-Mean Per Joint Position Error,PA-MPJPE)作為評價(jià)指標(biāo),即在預(yù)測網(wǎng)格和地面真值上應(yīng)用線性關(guān)節(jié)回歸器計(jì)算14個(gè)LSP公共關(guān)節(jié)間平均歐氏距離.為了與地面真相網(wǎng)格進(jìn)行比較,使用了網(wǎng)格頂點(diǎn)到頂點(diǎn)(V2V)誤差,即地面真值與預(yù)測的網(wǎng)格頂點(diǎn)之間的平均距離.預(yù)測網(wǎng)格和地面真值網(wǎng)格具有相同的拓?fù)鋾r(shí),為了與文獻(xiàn)[2,4,19]等預(yù)測SMPL而不是SMPL-X的方法進(jìn)行公平的比較,只在身體部分計(jì)算V2V.
為驗(yàn)證文中提出的基于形變模型的人體姿態(tài)與體型重構(gòu)算法有效性,在EHF數(shù)據(jù)上實(shí)驗(yàn),展示算法在復(fù)雜姿勢下的有效性,并將同樣利用單張RGB進(jìn)行人體姿態(tài)估計(jì)的文獻(xiàn)[3]SMPLify-X、文獻(xiàn)[4]HMR和最新基于SMPL-X模型STOA工作[9]算法作為對比算法.圖6為EHF數(shù)據(jù)集不同動作的4幀圖像的姿態(tài)估計(jì)結(jié)果,HMR算法姿態(tài)估計(jì)比較準(zhǔn)確但缺乏面部與手部的估計(jì).SMPLify-X在細(xì)節(jié)上表現(xiàn)更好,但存在細(xì)微姿勢估計(jì)以及體型不準(zhǔn)確的問題.文獻(xiàn)[9]算法不包含面部信息,且存在姿態(tài)估計(jì)不準(zhǔn)確問題.文中所提算法相較而言,姿態(tài)估計(jì)的結(jié)果更為精準(zhǔn),增加頭部特征點(diǎn),因此頭部姿態(tài)估計(jì)更為準(zhǔn)確,同時(shí)引入了二維輪廓線約束,因此重構(gòu)結(jié)果在腿部、腹部等部分體型更加準(zhǔn)確.
(a)原始圖像 (b)HMR (c)SMPLify-X (d)文獻(xiàn)[9] (e)本文圖6 EHF數(shù)據(jù)集部分人體估計(jì)結(jié)果對比展示
為了進(jìn)一步評估算法的普適性與精度,對該算法在任意獲取的RGB圖像上進(jìn)行了實(shí)驗(yàn),結(jié)果如圖7所示.對復(fù)雜姿勢且著裝情況下,其余算法姿態(tài)估計(jì)效果相對數(shù)據(jù)集上均有所下降,本文算法對于姿態(tài)和體型的估計(jì)效果仍能保持,在細(xì)微姿態(tài)估計(jì)、頭部與手部細(xì)節(jié)處表現(xiàn)良好,模型平滑流程,驗(yàn)證了該算法的普適性.
(a)原始圖像 (b)HMR (c)SMPLify-X (d)文獻(xiàn)[9] (e)本文圖7 真實(shí)數(shù)據(jù)人體估計(jì)結(jié)果對比展示
在3DPW數(shù)據(jù)集上與基于SMPL模型優(yōu)化的方法SMPLify、回歸的HMR和文獻(xiàn)[19]SPIN算法,對模型的身體部位、比較關(guān)節(jié)預(yù)測誤差與網(wǎng)格頂點(diǎn)誤差取平均值(以毫米為單位).表1顯示,本文的算法性能在不同姿態(tài)下關(guān)節(jié)預(yù)測與模型預(yù)測結(jié)果平均值相較于SMPLify、HMR,SPIN具有明細(xì)優(yōu)勢.
表1 不同算法3DPW數(shù)據(jù)集的實(shí)驗(yàn)誤差
在EHF數(shù)據(jù)集上與SMPLify-X進(jìn)行比較.使用公開訓(xùn)練的模型,與文獻(xiàn)[14]進(jìn)行比較,該算法使用不包含面部信息的SMPL-X模型.與估計(jì)SMPL模型的HMR和SPIN進(jìn)行僅身體部分的評估.表2評估結(jié)果表明,在完整的人類表達(dá)重建和身體部分重建方面,網(wǎng)格頂點(diǎn)誤差和關(guān)節(jié)位置估計(jì)準(zhǔn)確度均優(yōu)于其他基準(zhǔn),有明顯優(yōu)勢.同時(shí)在手臉細(xì)節(jié)部分,由于本算法在姿態(tài)和體型的貼合,定位更加準(zhǔn)確,與SMPLify-X相比有了細(xì)微提高.
表2 不同算法EHF數(shù)據(jù)集的實(shí)驗(yàn)誤差
本文提出了一個(gè)從二維圖像估計(jì)三維人體姿態(tài)與體型算法,并結(jié)合SMPL-X模型將估計(jì)結(jié)果以三維人體網(wǎng)格模型的形式體現(xiàn).結(jié)合回歸與優(yōu)化方法,利用GAN網(wǎng)絡(luò)獲取姿態(tài)與模型參數(shù)作為初始值,再利用關(guān)節(jié)和輪廓特征優(yōu)化擬合模型參數(shù),重建出包含更豐富的人體細(xì)節(jié)的SMPL-X人體模型.實(shí)驗(yàn)結(jié)果表明,在姿態(tài)與體型估計(jì)方面準(zhǔn)確度高,解決了重建精度有限的問題,并且使用回歸參數(shù)作為先驗(yàn)使得優(yōu)化算法速度大大提升.在今后的工作中,將進(jìn)一步研究利用視頻時(shí)序上所包含信息解決二維圖像深度信息缺少導(dǎo)致姿態(tài)估計(jì)不準(zhǔn)確的問題.