嚴(yán) 曲, 李 由*, 甘叔瑋
(1.中國(guó)航天員科研訓(xùn)練中心人因工程重點(diǎn)實(shí)驗(yàn)室, 北京 100094; 2.中山大學(xué)航空航天學(xué)院, 廣州 510275)
航天員在軌長(zhǎng)期駐留期間,除了開展航天器的日常管理外,還要完成在軌組裝、維修以及各類復(fù)雜的科學(xué)實(shí)驗(yàn)。 因此,監(jiān)測(cè)并分析其工作負(fù)荷,合理安排在軌任務(wù),對(duì)于保障航天員身心健康以及任務(wù)成功實(shí)施具有重要意義。
對(duì)航天員執(zhí)行任務(wù)期間的姿態(tài)進(jìn)行測(cè)量可以獲取其長(zhǎng)期在軌的運(yùn)動(dòng)特性,分析其任務(wù)期間的操作特點(diǎn)、工作負(fù)荷,從而為合理進(jìn)行任務(wù)規(guī)劃提供依據(jù)。 人體運(yùn)動(dòng)捕捉可分為接觸式和非接觸式2 類方法。 接觸式方法通過(guò)在人體關(guān)鍵部位(肢體、軀干)安裝慣性傳感器,實(shí)時(shí)采集佩戴部位的加速度、角速度等信息,實(shí)現(xiàn)姿態(tài)還原。 非接觸式方法主要采用光學(xué)傳感器,如紅外相機(jī)、彩色相機(jī)、深度相機(jī)等,一般采用多目配置,從各個(gè)角度獲取人體運(yùn)動(dòng)圖像并從中解算人體關(guān)節(jié)的位置和角度。 這種基于光學(xué)的方法又可分為2 類:①有標(biāo)記光學(xué)運(yùn)動(dòng)捕捉,如Vicon、OptiTrack、Qualisys 等系統(tǒng),通過(guò)對(duì)人體表面放置的光學(xué)標(biāo)記球進(jìn)行高精度定位,實(shí)現(xiàn)人體運(yùn)動(dòng)捕捉;②無(wú)標(biāo)記光學(xué)運(yùn)動(dòng)捕捉,主要基于計(jì)算機(jī)視覺人體姿態(tài)估計(jì)算法,精度稍低,但是系統(tǒng)布設(shè)簡(jiǎn)單。 隨著計(jì)算機(jī)視覺的不斷發(fā)展,無(wú)標(biāo)記光學(xué)運(yùn)動(dòng)捕捉精度不斷得到提高,便捷性的優(yōu)勢(shì)逐漸凸顯。 受在軌航天器空間狹小、上行資源受限、便捷性要求高等條件制約,無(wú)標(biāo)記光學(xué)人體運(yùn)動(dòng)捕捉系統(tǒng)是實(shí)現(xiàn)航天員運(yùn)動(dòng)數(shù)據(jù)捕獲的最佳途徑。
為了應(yīng)對(duì)復(fù)雜場(chǎng)景下肢體的遮擋和自遮擋,可以通過(guò)增加不同視角的視圖來(lái)彌補(bǔ)單視圖信息的缺失。 近年來(lái)從多視圖序列圖像估計(jì)精確的三維人體姿態(tài)取得了重大突破。
多視圖的三維人體姿態(tài)估計(jì)分為2 種。 第一種是判別類方法,基本思想是將復(fù)雜人體簡(jiǎn)化為模型(例如棍棒模型、圓柱體模型、SMPL 模型等),然后通過(guò)迭代優(yōu)化模型參數(shù),使得模型特征在各個(gè)視圖中投影與從圖像中提取出的特征逐步匹配優(yōu)化,其本質(zhì)為參數(shù)估計(jì)的最大似然概率問(wèn)題。 Gall 等針對(duì)模型參數(shù)的優(yōu)化問(wèn)題提出了一個(gè)多層次框架,融合隨機(jī)優(yōu)化、濾波算法以及局部?jī)?yōu)化,提高了參數(shù)估計(jì)精度;Liu 等提出了一種結(jié)合圖像分割和目標(biāo)跟蹤的算法,采用人體形貌模型與圖像中的對(duì)應(yīng)人體像素進(jìn)行匹配優(yōu)化,實(shí)現(xiàn)了多人交互下的人體運(yùn)動(dòng)跟蹤;趙勇等提出了一種條件先驗(yàn)人體模型,根據(jù)圖像內(nèi)容自適應(yīng)調(diào)節(jié)關(guān)節(jié)間在二維圖像上的先驗(yàn)分布,對(duì)關(guān)節(jié)定位進(jìn)行約束。 第二類是生成類方法,該方法不依賴人體模型,直接從二維圖像中獲得人體關(guān)節(jié)點(diǎn)的圖像坐標(biāo),并通過(guò)多視圖幾何重建得到三維人體姿態(tài)。 近年來(lái),卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展使得從圖像上提取二維人體關(guān)鍵點(diǎn)的精度愈來(lái)愈高,例如OpenPose,AlphaPose,HR-Net等。 生成類方法通過(guò)多視圖的優(yōu)勢(shì),融合各個(gè)視圖得到的人體關(guān)鍵點(diǎn)位置信息,是近年來(lái)三維人體姿態(tài)估計(jì)的研究熱點(diǎn)。 其中,多視圖融合主要有2 個(gè)熱點(diǎn)問(wèn)題:①多人姿態(tài)估計(jì)時(shí),需要建立跨視圖匹配關(guān)系。 Dong 等利用形貌相似性和幾何約束建立多視圖匹配矩陣,并采用凸優(yōu)化的方法對(duì)跨視圖的匹配矩陣進(jìn)行優(yōu)化,獲得準(zhǔn)確的多人在跨視圖間的關(guān)系。 ②在存在遮擋情況下,當(dāng)個(gè)別視圖存在錯(cuò)誤二維關(guān)鍵點(diǎn)檢測(cè)時(shí),如何優(yōu)化得到高精度三維人體姿態(tài)問(wèn)題。 Qiu 等通過(guò)構(gòu)建交叉視圖融合的卷積神經(jīng)網(wǎng)絡(luò),將其他視圖的信息融合到當(dāng)前視圖,從而提高了遮擋情況下二維關(guān)鍵點(diǎn)檢測(cè)的精度;Zhang 等提出了AdaFuse 方法,訓(xùn)練端到端的卷積神經(jīng)網(wǎng)絡(luò),通過(guò)自適應(yīng)多視圖融合權(quán)重,對(duì)存在遮擋的視圖中的二維關(guān)鍵點(diǎn)檢測(cè)結(jié)果的貢獻(xiàn)進(jìn)行抑制。
本文針對(duì)遮擋情況下的多視圖三維人體姿態(tài)估計(jì)問(wèn)題,利用當(dāng)前二維關(guān)鍵點(diǎn)檢測(cè)精度高的優(yōu)勢(shì),通過(guò)融合多視圖的關(guān)鍵點(diǎn)檢測(cè)結(jié)果得到三維空間的關(guān)鍵點(diǎn)概率分布圖(3D heatmap),并結(jié)合人體模型的先驗(yàn)信息,采用期望最大化(Expectation Maximization,EM)算法得到準(zhǔn)確的三維人體姿態(tài)估計(jì)結(jié)果,通過(guò)公開數(shù)據(jù)集Human3.6M測(cè)試本文算法的關(guān)節(jié)點(diǎn)估計(jì)精度,對(duì)比不同相機(jī)數(shù)量下的算法魯棒性。
本文算法框架如圖1 所示。 首先從多視圖數(shù)據(jù)提取進(jìn)行關(guān)鍵點(diǎn)檢測(cè),得到圖像中的關(guān)鍵點(diǎn)位置分布(2D heatmap),進(jìn)而通過(guò)相機(jī)標(biāo)定結(jié)果構(gòu)建關(guān)鍵點(diǎn)在三維空間中的位置分布概率(3D heatmap),最后結(jié)合人體先驗(yàn)?zāi)P停ㄟ^(guò)EM 算法迭代獲得人體三維姿態(tài)數(shù)據(jù)。
圖1 算法框架示意圖Fig.1 Schematic diagram of the algorithm
2.1.1 2D heatmap 的獲取
隨著深度學(xué)習(xí)的發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)的人體二維關(guān)鍵點(diǎn)算法精度逐漸提升。 OpenPose 是當(dāng)前使用最廣泛的開源人體姿態(tài)估計(jì)框架,支持包括人體、面部、手勢(shì)在內(nèi)的二維關(guān)鍵點(diǎn)檢測(cè),可以準(zhǔn)確描述復(fù)雜人體的運(yùn)動(dòng)。
OpenPose 采用自底向上的人體關(guān)鍵點(diǎn)檢測(cè)策略,通過(guò)對(duì)圖像中所有人的部位進(jìn)行檢測(cè),獲得2D heatmap 以及描述人體關(guān)節(jié)連接關(guān)系的部位親和場(chǎng)(Part Affinity Field,PAF),通過(guò)后處理將同一人的不同部位關(guān)聯(lián)起來(lái),實(shí)現(xiàn)多人的二維人體姿態(tài)估計(jì)。 相較于自頂向下的二維人體姿態(tài)估計(jì),自底向上的OpenPose 不需要先檢測(cè)人體框,對(duì)于圖像中存在多人的情況,運(yùn)算效率更高,可實(shí)時(shí)進(jìn)行多人姿態(tài)估計(jì)。
2.1.2 體素構(gòu)建及3D heatmap 的構(gòu)建
2D heatmap 描述了關(guān)鍵點(diǎn)在二維圖像上的分布概率,通過(guò)提取其最大值可獲得關(guān)鍵點(diǎn)圖像坐標(biāo),在已知各相機(jī)參數(shù)的情況下,通過(guò)空間點(diǎn)交會(huì)即可獲得三維人體姿態(tài)。 然而,由于2D heatmap只是關(guān)鍵點(diǎn)位置的概率性描述,所獲得的關(guān)鍵點(diǎn)坐標(biāo)存在誤差,導(dǎo)致后續(xù)的空間點(diǎn)交會(huì)得到的三維人體姿態(tài)往往存在較大偏差。
因此,如何在三維空間中保留二維關(guān)鍵點(diǎn)檢測(cè)的概率分布信息是獲得高精度三維人體姿態(tài)的關(guān)鍵。 本文采用體素的方式構(gòu)建3D heatmap,體素是對(duì)三維空間的離散化,通過(guò)××大小的體素{V} 描述人體所在的空間,其中,,為體素坐標(biāo)系下的點(diǎn)。 體素中心位于人體盆骨所在位置,該位置由多視圖下的二維盆骨關(guān)節(jié)點(diǎn)坐標(biāo)交會(huì)得到。 體素方法的精度與分辨率存在精度與運(yùn)算量的矛盾關(guān)系,本文體素坐標(biāo)建立在人體盆骨附近2 m×2 m×2 m 的空間范圍,分辨率采用128×128×128,每個(gè)體素的實(shí)際物理空間大小約為1.56 cm×1.56 cm×1.56 cm,運(yùn)算量適中且精度滿足需求。 體素中的元素描述了三維的人體關(guān)節(jié)點(diǎn)概率分布,記體素坐標(biāo)系下的點(diǎn)(,,)與世界坐標(biāo)系之間的轉(zhuǎn)換關(guān)系如式(1)所示:
如圖2 所示,對(duì)于每一個(gè)體素{V} ,將其轉(zhuǎn)換至世界坐標(biāo)系后,根據(jù)相機(jī)的外參數(shù),投影至像面,并提取對(duì)應(yīng)位置的2D heatmap 值(,),=1,2,…,,對(duì)各視圖得到的2D heatmap進(jìn)行融合,得到該體素的3D heatmap,如式(2)所示:
圖2 構(gòu)建3D heatmap 示意圖Fig.2 Construction of 3D heatmap
理論上,可以直接從3D heatmap 獲取人體姿態(tài),但是結(jié)果容易受到錯(cuò)誤二維關(guān)節(jié)點(diǎn)heatmap的影響,這是因?yàn)镺penPose 獲取的2D heatmap存在誤差。 另一方面,3D heatmap 的特性是在該視圖光軸方向上梯度較小,也就是關(guān)節(jié)在該方向上變化對(duì)關(guān)節(jié)點(diǎn)在3D heatmap 上的取值變化不大。 為克服上述不利因素,本文施加人體模型先驗(yàn)約束,通過(guò)模型本質(zhì)蘊(yùn)含的骨骼長(zhǎng)度信息,利用EM 算法對(duì)關(guān)節(jié)點(diǎn)三維坐標(biāo)進(jìn)行優(yōu)化。
2.2.1 三維人體姿態(tài)估計(jì)的概率模型
給定人體模型的參數(shù),人體的三維姿態(tài)(關(guān)節(jié)點(diǎn)位置),可通過(guò)式(3)分布概率進(jìn)行建模:
式中,={,,} 為人體參數(shù)作用下的人體姿態(tài)變形以及人體整體的旋轉(zhuǎn)矩陣、平移向量的集合,損失函數(shù)(;) 定義如式(4)所示:
‖·‖為Frobenius 范數(shù),(·) 為由人體姿態(tài)參數(shù)生成關(guān)節(jié)點(diǎn)坐標(biāo)的映射函數(shù),描述了由人體模型參數(shù)生成的三維人體姿態(tài)與實(shí)際的人體姿態(tài)之間的誤差滿足均值為的高斯分布。
在給定人體姿態(tài)的情況下,假設(shè)人體模型參數(shù)與該姿態(tài)下獲得的3D heatmap 滿足條件獨(dú)立分布。 因此,的似然函數(shù)如式(5)所示:
式中,似然函數(shù)() 描述了給定三維人體姿態(tài)后的3D heatmap 概率分布,本文通過(guò)式(2)構(gòu)建的3D heatmap 獲得該概率分布,如式(6)所示:
式中, 為關(guān)節(jié)的3D heatmap。
2.2.2 期望最大化算法
理論上,通過(guò)求解( |θ) 的最大似然估計(jì)問(wèn)題,即可獲得當(dāng)前3D heatmap 下最符合的人體姿態(tài)。 然而,由于參數(shù)維度較高,無(wú)法直接求解,因此,本文采用期望最大化算法EM 求解該最大似然估計(jì)問(wèn)題。 EM 算法分別對(duì)概率分布(|′) 和模型參數(shù)進(jìn)行最大化。 EM 算法是一種迭代算法,迭代分為兩部分,其中E 步通過(guò)固定前一次迭代的′求解,得到當(dāng)前狀態(tài)下三維人體姿態(tài)的期望[|,′] ;M 步通過(guò)最大化E 步獲得的求解得到。 EM 算法在初始化模型參數(shù)后開始迭代,迭代中E 步和M 步交替進(jìn)行。
E 步通過(guò)計(jì)算對(duì)數(shù)似然函數(shù)的期望來(lái)更新給定數(shù)據(jù)(3D heatmap)和前一步迭代的三維人體模型參數(shù)′的情況下三維人體姿態(tài)的條件分布概率,如式(7)所示:
式中,為常數(shù)項(xiàng),[|,′] 為給定3D heatmap 和前一步迭代估計(jì)的人體模型參數(shù)′的情況下三維人體姿態(tài)的期望,其表達(dá)式如式(8)所示:
式中,為概率歸一化系數(shù)。 M 步通過(guò)E 步獲得的三維人體姿態(tài)的條件分布概率來(lái)最大化似然概率,得到當(dāng)前最優(yōu)的人體模型參數(shù),如式(9)所示:
2.2.3 人體模型參數(shù)的優(yōu)化
人體姿態(tài)變形通過(guò)關(guān)節(jié)轉(zhuǎn)動(dòng)角度與人體初始模型(T-Pose)進(jìn)行表征,通過(guò)3D 掃描,可獲得包含其骨架長(zhǎng)度信息的T-Pose 人體模型。 因此,通過(guò)各個(gè)關(guān)節(jié)的角度即可描述人體的運(yùn)動(dòng)過(guò)程,且在運(yùn)動(dòng)過(guò)程中,人體的各個(gè)關(guān)節(jié)點(diǎn)之間始終滿足人體模型的骨架長(zhǎng)度約束。
式中,為權(quán)重系數(shù),M(,)為第個(gè)關(guān)節(jié)的人體關(guān)節(jié)位置, c為與同樣長(zhǎng)度的固定向量,描述了各關(guān)節(jié)的運(yùn)動(dòng)約束限制。 本文采用Levenberg-Mardqurdt 算法對(duì)該非線性優(yōu)化問(wèn)題進(jìn)行求解,得到與當(dāng)前關(guān)節(jié)點(diǎn)位置最匹配的模型參數(shù)。
為了驗(yàn)證算法的有效性,在Human3.6M 數(shù)據(jù)集上進(jìn)行算法驗(yàn)證。 Human3.6M 由360 萬(wàn)張人體活動(dòng)數(shù)據(jù)圖像組成,共有11 名實(shí)驗(yàn)者,17 個(gè)動(dòng)作場(chǎng)景,采集數(shù)據(jù)由4 臺(tái)分辨率為1002×1000的相機(jī)捕獲。 圖3 為4 個(gè)視圖下的同一時(shí)刻的原始圖像數(shù)據(jù)。
圖3 Human3.6M 數(shù)據(jù)集4 個(gè)視圖下原始圖像Fig.3 Images of 4 camera views from Human3.6M dataset
通過(guò)OpenPose 檢測(cè)獲得2D heatmap,圖4 為4 個(gè)視圖下檢測(cè)的2D heatmap 與原始圖像疊加后的效果圖。 本文采用OpenPose 的Body25 關(guān)鍵點(diǎn)檢測(cè)配置,其關(guān)鍵點(diǎn)定義如圖5 所示,共包含人體25 個(gè)關(guān)節(jié)點(diǎn)。 通過(guò)最大化期望算法迭代5 次后,得到的三維人體姿態(tài)如圖6 所示。
圖4 Human3.6M 數(shù)據(jù)集4 個(gè)視圖下的人體2D Heatmap 估計(jì)結(jié)果Fig.4 Examples of 2D Heatmap estimated from Human3.6M dataset
圖5 OpenPose Body25 模型關(guān)鍵點(diǎn)定義Fig.5 Definition of OpenPose Body25 keypoints
圖6 人體姿態(tài)估計(jì)結(jié)果Fig.6 Results of human pose estimation
為驗(yàn)證算法的有效性, 本文與基于RANSAC的多視圖人體姿態(tài)估計(jì)以及代數(shù)三角化算法進(jìn)行了對(duì)比。 算法精度評(píng)價(jià)標(biāo)準(zhǔn)采用平均關(guān)節(jié)點(diǎn)位置誤差(Mean Per Joint Position Error,MPJPE),即預(yù)測(cè)關(guān)鍵點(diǎn)和真值之間的平均歐式距離。 選擇Human3.6M 數(shù)據(jù)集中的5 個(gè)動(dòng)作集Dir.,Disc.,Eat,Sit 和Walk,對(duì)3 種算法進(jìn)行了測(cè)試,算法精度對(duì)比結(jié)果見表1。 由表1 可知,在處理由于遮擋造成的關(guān)節(jié)點(diǎn)位置信息缺失時(shí),本算法具有更好的穩(wěn)定性。 尤其是由于Sit 數(shù)據(jù)集中存在大量的人體部位間遮擋和物體遮擋,二維關(guān)鍵點(diǎn)檢測(cè)出現(xiàn)較多偏差,對(duì)后續(xù)的三維重建帶來(lái)影響。 本文所采用的算法由于采用了人體模型作為約束,數(shù)據(jù)缺失帶來(lái)的影響被降低,誤差更小。
表1 Human3.6M 數(shù)據(jù)集算法精度對(duì)比結(jié)果Table 1 Comparison of algorithm precision for Human3.6M dataset mm
為驗(yàn)證不同相機(jī)個(gè)數(shù)對(duì)實(shí)驗(yàn)結(jié)果的影響,本文對(duì)相機(jī)個(gè)數(shù)從2 ~4 變化時(shí)的人體姿態(tài)估計(jì)精度進(jìn)行了分析,處理結(jié)果見表2,可以看出,本文算法精度相較于RANSAC 方法和代數(shù)三角化方法更高,且受相機(jī)個(gè)數(shù)影響更小。
表2 相機(jī)數(shù)量分析Table 2 Analysis of camera numbers mm
1)為了有效利用二維關(guān)鍵點(diǎn)檢測(cè)結(jié)果的信息,本文采用反投影的方式在空間構(gòu)建3D heatmap,可以有效保留圖像中關(guān)鍵點(diǎn)提取的位置信息、概率分布信息。
2)提出了一種結(jié)合人體先驗(yàn)?zāi)P偷娜S人體姿態(tài)估計(jì)算法,可以有效提高部分視圖存在遮擋情況下的人體關(guān)節(jié)點(diǎn)估計(jì)精度,具有良好的魯棒性和精確性。
3)通過(guò)公開數(shù)據(jù)集Human3.6M 驗(yàn)證了算法的有效性,并對(duì)不同相機(jī)數(shù)量進(jìn)行測(cè)試,測(cè)試結(jié)果表明,本方法不依賴于大量視圖數(shù)據(jù)提供冗余信息,可以有效降低對(duì)相機(jī)配置的要求,適用于空間狹小、遮擋嚴(yán)重、相機(jī)數(shù)量有限的在軌航天員姿態(tài)估計(jì)應(yīng)用場(chǎng)景。