基于光学运动捕捉的虚拟人体标定技术
2013-03-16侯永隆
侯永隆, 宁 涛, 王 可
(1. 北京航空航天大学机械工程及自动化学院,北京 100191;2. 北京瑞风协同科技股份有限公司,北京 100098)
基于光学运动捕捉的虚拟人体标定技术
侯永隆1, 宁 涛1, 王 可2
(1. 北京航空航天大学机械工程及自动化学院,北京 100191;2. 北京瑞风协同科技股份有限公司,北京 100098)
分析关节对骨骼段运动的约束,基于光学运动捕捉设备给出两种关节中心参数估计模型——双骨骼段模型和球模型。对两种模型分别给出最小二乘解法,通过求解线性方程组得到关节中心位置。利用虚拟铰链测试了两种解法的精度,选取精度较高的双骨骼段模型,结合虚拟人的关节结构提出一种虚拟人体标定技术。比较某表演者四肢的测量值和标定值,得出标定误差在 4.3%以内。对标定后的虚拟人进行驱动,标定后的虚拟人逼真地复制了表演者的动作,并减少了肢体交叉。
光学运动捕捉;关节中心参数估计;最小二乘法;虚拟人体标定
在传统的制造业中产品的可维修性验证评估依赖于物理样机,设计和制造中的缺陷在后期的装配和维修中才能发现,影响了效率,增加了产品成本。随着数字样机技术和虚拟现实技术的发展,虚拟维修技术和虚拟装配技术逐渐应用于制造业等工业领域。
虚拟维修作为一门新兴的科学技术,刚出现就引起了国内外研究者的广泛关注[1]。宾夕法尼亚大学人体建模和仿真中心开发了Jack软件,可以根据人体尺寸进行动态缩放,可对虚拟产品设计通过虚拟人进行测试,还可通过动作参数化描述(Parameterized Action Representation, PAR)将自然语言转化为虚拟人可执行的基本动素(Basic Motion)[2,3]。法国Dassault公司开发的Delmia已经实现虚拟人的行走、攀爬、使用简单工具进行维修仿真。蒋科艺等人基于Jack系统建立了沉浸式虚拟维修仿真原型系统,并以某机构的拆装为例对其进行了初步的应用验证[4]。北京航空航天大学陈善敏等将光学捕捉设备、数据手套、陀螺仪引入虚拟维修系统,提出了一种虚拟人驱动算法,建立了沉浸式的虚拟维修场景[5]。
虚拟人是模拟和仿真的核心,虚拟人与表演者的匹配程度决定了虚拟人复制表演者动作的精确度。如果虚拟人的尺寸大于表演者的尺寸则在仿真时容易发生肢体交叉,如图1所示;在沉浸式维修仿真中表演者实际未和物体接触,虚拟人却已经与物理样机发生碰撞,影响了沉浸感。同样若虚拟人尺寸小于表演者尺寸,表演者和物体接触,虚拟人却仍未与物理样机发生碰撞,同样会影响沉浸感。
图1 虚拟人肢体交叉
Jack和Delmia虽然提供了驱动虚拟人的接口,可以建立沉浸式的虚拟维修系统,然而它们的虚拟人体模型库都是基于国外人体测量学数据库建立的,无法做到表演者和虚拟人的匹配。文献[6]基于国标人体测量学通过三次样条插值在Jack软件中建立了人体模型库,然而在虚拟人建模中,我们关心的是旋转关节中心之间的距离而非人体测量学意义上的关节长度。
用手动测量的方式获取表演者的重要人体尺寸不仅操作繁琐且无法准确测量旋转关节中心的距离。本文首先结合我国成年人人体尺寸标准建立了虚拟人体模型;其次分析关节对骨骼段的运动约束给出两种关节中心参数估计模型;最后利用光学运动捕捉设备,如图2所示,左图为表演者和测量标记点;右图为光学相机获取表演者的运动数据计算主要关节的关节中心,提出一种快速自动虚拟人标定技术并给出了标定精度。
图2 光学运动捕捉设备
1 虚拟人体建模
为了能在网络中表述虚拟人,两个重要的国际标准VRML和MPEG-4都提供了虚拟人的描述标准。参考VRML标准和MPEG-4标准,考虑人体各关节的自由度及仿真和模拟的真实性,在我国成年人人体尺寸标准—GB10000—88的基础上基于VS2008、OpenGL开发了58个骨骼段,46个关节,177个自由度的虚拟人体模型,界面如图3所示。
图3 虚拟人体模型界面
图4(a)为虚拟人的所有骨骼段,共有58段;图4(b)标识了骨骼段和关节序号,其中手部(包含38个骨骼段)未绘出。如图4(b)所示,虚拟人为树形结构。根关节为0号关节,有3个平移自由度和3个旋转自由度,控制整个虚拟人的位置和朝向。每个段有3个自由度控制着各骨骼段的朝向。
图4 虚拟人骨骼段及关节
2 关节中心参数估计
光学式运动捕捉设备因其表演者活动范围大,无电缆、机械装置的限制,而被广泛应用。我们的系统中采用光学捕捉设备来获取人体运动数据,并将3个标记点固定到一个板上构成标记点组(Trackables),从而保证了标记点组的刚体特性,如图5所示。
图5 标记点组
虚拟人体标定的目的是获取表演者主要骨骼段长度并将这些尺寸赋予虚拟人,而表演者骨骼段长度的获取可通过求解关节中心的距离获得,因此关节中心的参数估计成为虚拟人体标定的核心。分析关节对骨骼段运动的约束结合光学捕捉设备的特点得出两种关节中心参数估计模型。
双骨骼段模型:如图6所示,如果骨骼段i和j上都至少有3个标记点,则对于每一个骨骼段可以分别建立一个局部坐标系。将连接两骨骼段的关节i在它们的局部坐标系中的局部坐标变换到世界坐标系中,两者应相等[7,8]。
图6 双骨骼段模型
球模型:如图7所示,根据骨骼段s1上的3个标记点 A、B、C的坐标建立一个局部坐标系f1,将段s2上的3个标记点M、N、P的坐标变换到f1中,3个标记点M、N、P的运动轨迹为以关节J的中心为球心,以各点到关节中心的距离为半径的球面[9-12]。
图7 球模型
针对每种模型本文分别提出了一种最小二乘算法,均能快速得到解析解。
2.1 双骨骼段模型最小二乘法求解
用光学捕捉设备获得N帧标记点(Marker)在世界坐标系中的坐标,将第i帧同一关节的两相邻骨骼段 s1和 s2上的标记点组构成的局部坐标系分别记为。关节中心在中的坐标分别为。记R1、t1分别为将(a, b, c)变换到世界坐标系的旋转矩阵和平移向量, R2、 t2分别为将(d, e, f)变换到世界坐标系的旋转矩阵和平移向量。则有记则有一帧捕捉数据可以得到3个等式,N帧共得到3N个等式。第 i个等式的形式为:由此得优化目标函数
对式(1)求偏导,整理得
2.2 球模型最小二乘法求解
同样通过光学捕捉设备获得 N帧标记点在世界坐标系中的坐标,对于第i帧可以通过骨骼段 s1上标记点 A、B、C的坐标建立局部坐标系,将骨骼段 s2上标记点 M在世界坐标系中的坐标变换到局部坐标系中,变换后坐标为,设关节中心在局部坐标系中的坐标为CM=(a, b, c),M到关节中心的距离为r。由此可得:
展开得:
整理式(4)得:
其中,
以肘关节为例,如图8所示,记录1000帧小臂上的标记点变换到由大臂标记点组构建的局部坐标系中的坐标,使用OpenGL将其绘制出来,从不同的视角我们看出坐标变换后小臂上的标记点的运动轨迹的确为一球。
图8 小臂标记点运动轨迹
2.3 两种模型的精度
为了测试两种模型的精度,本文用虚拟铰链和虚拟标记点来模拟关节。对于虚拟标记点加入随机误差,精确关节中心坐标为(0, 50, 200),利用两种模型分别对关节中心求解三次,球模型平均误差为 6.21mm,双骨骼段模型的平均误差为4.50mm。这是由于对于球模型不仅需要用标记点建立局部坐标系,还需要将相邻骨骼段的标记点变换到该坐标系中,误差会产生累积,而双骨骼段模型仅需建立坐标系即可,没有标记点坐标误差的二次累积。
3 虚拟人体标定
被标定的表演者充分运动各关节,光学运动捕捉设备捕捉表演者的运动数据,利用关节中心参数估计算法可以求解关节中心的位置。计算相邻关节的距离即可得到表演者主要骨骼段的尺寸。
3.1 虚拟人主要骨骼段标定
由于实际标定中标记点组并不是牢固地绑定在骨骼上,皮肤、肌肉和衣服的滑动影响了标记点组的刚体特性,同时光学捕捉设备存在识别错误和噪声,这些都会影响标定的精度。利用关节中心参数估计算法可得各关节在其相关联的骨骼段上的标记点组所构成的局部坐标系中的坐标,将该局部坐标变换到世界坐标系中,计算相邻关节的距离即可得到表演者主要骨骼段的尺寸。在实际标定时选取精度更高的双骨骼段最小二乘算法进行求解。记录1000帧各标记点组的世界坐标。当两帧捕捉数据时间间隔较短时,捕获的运动数据会比较接近,为此每隔0.2s记录一次捕捉数据,用标记点组的3个点构建一个局部坐标系,当1000帧数据记录完毕时可由1000帧数据建立各关节的约束方程,求解方程可得各关节在局部坐标系中的坐标,将局部坐标变换到世界坐标系中可得一些标定约束如肩高,脚踝高等。
记得到的初始标定数据为:大臂长:Lua;小臂长:Lfa;大腿长:Lth;小腿长:Lsh;肩宽:Wsld;肩高:Hsld;脚踝高:Hank。这几个参数是标定的关键,其它主要骨骼段或包含在躯干内或可移动范围较小可以通过对原始尺寸的缩放得到(主要骨骼段参看图4(b))。
LIniSegi为骨骼段i的标定前长度,cos(i, Z)为骨骼段i和世界坐标系Z轴的夹角余弦。将骨骼段12、0、1、4按系数 ScaleCoe1缩放得到标定后的长度 LCalSegi。
Stature为表演者的身高,其实际尺寸可由测量获得。利用 ScaleCoe2缩放得到段2、3标定后的长度。
根据 ScaleCoe3得段5标定后的尺寸,至此虚拟人的各骨骼段的尺寸(手、足骨骼段除外)标定完成。整个虚拟人的标定流程如图 9所示。
图9 虚拟人体标定流程图
3.2 标定精度
因标记点到关节中心的距离为定值,故距离的变化可衡量标定的精度。现以肘关节和小臂上标记点组重心的距离为例测试标定精度。左肘关节与左臂标记点的距离记为 DistL,右肘关节与右臂标记点的距离记为DistR。
表1 肘关节与小臂标记点距离
由表 1得左臂标记点与肘关节最大距离出现在6000帧,最小距离出现在3000帧,两者差值为 7.69mm;右臂标记点与肘关节最大距离出现在5000帧,最小距离出现在1000帧,两者差值为5.65mm。
表 1的数据间接反映了标定具有较高的精度,然而却不够直观。为了给出衡量标定精度的基准,我们测量了身高为1740mm的表演者的四肢长度。在标定中我们求得的是关节中心到关节中心的距离,用测量工具测量时很难精确确定关节中心,因此,测量值可能会带有较大误差,然而却仍能为我们提供一个合理的估计。在测量时由于髋关节的位置较难确定,故没有测量大腿的长度。各骨骼段的测量值分别为:左大臂—298mm,左小臂—257mm,右大臂—295mm,右小臂—255mm,左小腿—394mm,右小腿—397mm。利用4组捕捉数据对表演者进行了标定,四肢的标定长度如表2所示。
表2 四肢标定值
由表2数据求得各骨骼段的平均标定误差:左大臂:6mm;左小臂:2.5mm;右大臂:12.75mm;右小臂:2mm;左小腿:13mm;右小腿:10.5mm。由此计算得到各骨骼段的标定误差在 4.3%之内。由生物力学文献[13]可知人体关节并不是精确的旋转关节,在一个正常的行走循环中膝关节中心上下平均移动7mm、前后14.3mm、侧向5.6mm,因此标定误差在13mm以内达到了较高精度。
虚拟人标定完成后,利用本课题组开发的驱动算法对虚拟人进行驱动,图 10为虚拟人与表演者的动作对比,可以看出虚拟人较为逼真地复制了表演者的动作且在表演者肢体接近时未出现肢体干涉现象。
4 结 论
本文分析关节对骨骼段的约束建立了关节参数估计模型,并分别给出了最小二乘解法,两种模型均可通过解线性方程组得到关节中心位置。利用光学运动捕捉设备捕获多帧表演者的运动数据,基于双骨骼段模型最小二乘算法,提出一种虚拟人体标定技术,实现了虚拟人的精确标定。以某表演者四肢的测量长度为基准得出标定误差在4.3%之内。对标定后的虚拟人进行驱动,虚拟人较为逼真地复制了表演者的动作,减少了肢体交叉。
图10 虚拟人与表演者动作对比
在后续工作中可用本文提出的虚拟人体标定技术标定不同身高百分位的表演者,建立符合我国人口数据的本土化的虚拟人体模型库。
[1] 刘 佳, 刘 毅. 虚拟维修技术发展综述[J]. 计算机辅助设计与图形学学报, 2009, 21(11): 1519-1534.
[2] Badler N, Bindiganavale R N, Allbeck J, et al. Parameterized action representation and natural language instructions for dynamic behavior modification of embodied agents [R]. SS-00-02,2000.
[3] Bindiganavale R N. Building parameterized action representations from observation [D]. Philadelphia, USA: University of Pennsylvania, 2000.
[4] 蒋科艺, 郝建平. 沉浸式虚拟维修仿真系统及其实现[J]. 计算机辅助设计与图形学学报, 2005, 17(15): 1120-1123.
[5] Chen Shanmin, Ning Tao, Wang Ke. Motion control of virtual human based on optical motion capture in immersive virtual maintenance system [C]// Proceedings-2011 International Conference on Virtual Reality and Visualization(ICVRV'11). Piscataway: IEEE Computer Society, 2011: 52-56.
[6] 王 维, 李 焱, 贺汉根. 基于国标人体测量学数据的虚拟人缩放方法 [J]. 计算机仿真, 2006, 23(7): 219-222.
[7] O’Brien J F, Bodenheimer Jr R E, Brostow G J, et al. Automatic joint parameter estimation from magnetic motion capture data [C]//Michael M, Torsten M. Proceedings of Graphics Interface 2000. Montreal, Canada: Taylor & Francis, 2000,53-60.
[8] Ringer M, Lasenby J. A procedure for automatically estimating model parameters in optical motion capture [J]. Image and Vision Computing, 2004, 22: 843-850.
[9] Silaghi M C, Plankers R, Boulic R, et al. Local and global skeleton fitting techniques for optical motion capture [J]. Modeling and Motion Capture Techniques for Virtual Environments, 1998, 1537: 26-40.
[10] Kirk A G, O’Brien J F, Forsyth D A. Skeletal parameter estimation from optical motion capture data [C]//Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE Computer Society, 2005: 782-788.
[11] Gamage S S H U, Lasenby J. New least squares solutions for estimating the average center of rotation and the axis of rotation [J]. Journal of Biomechanics, 2002, 35: 87-93.
[12] Chang L Y, Pollard N S. Constrained least-squares optimization for robust estimation of center of rotation [J]. Journal of Biomechanics, 2007, 40: 1392-1400.
[13] Lafortune M A, Cavanagh P R, Sommer H J, et al. Three-dimensional kinematics of the human knee during walking [J]. Journal of Biomechanics, 1992, 25(4): 347-357.
A Technique for Virtual Human Calibration Based on Optical Motion Capture
Hou Yonglong1, Ning Tao1, Wang Ke2
(1. School of Mechanical Engineering and Automation, Beijing University of Aeronautics and Astronautics, Beijing 100191, China; 2. Beijing Rainfe Technology Co., Ltd, Beijing 100098, China )
Based on optical motion capture, two joint center estimation models: Bi-segment Model and Sphere Model are given by analyzing the motion of segments constrained by joints. For each model a least squares solution is presented respectively and the joint center location could be acquired by solving a linear equation. A virtual linkage is used to test the accuracy of the two least squares solutions. Using the Bi-segment Model which is more accurate, a technique for virtual human calibration is proposed based on the topology of the virtual human. The comparison of measured values and calibrated values of a performer demonstrates errors for limbs are less than 4.3%. Finally, the calibrated virtual human is driven. The result shows the virtual human can mimic the performer vividly and limbs intersection cases are reduced.
optical motion capture; joint center estimation; least squares solution; virtual human calibration
A
2095-302X (2013)05-0126-06
2013-02-04;定稿日期:2013-04-07
国家自然科学基金资助项目(51075021)
侯永隆(1989-),男,山东潍坊人,硕士研究生,主要研究方向为CAD/CAM、虚拟现实。E-mail:houylong@126.com
TP 391.9