基于肌肉体积不变性的人肢体三维建模方法

文档序号:6520616阅读:236来源:国知局
专利名称:基于肌肉体积不变性的人肢体三维建模方法
技术领域
本发明涉及一种基于肌肉体积不变性的人肢体三维建模方法,用于感知接口,运动分析和虚拟现实等应用领域,在医学图像、生物医学、手势识别、视频会议、视频游戏、自动新闻播放、电影制作、材料变形、图象压缩等方面都有实际应用价值。属于计算机视觉和计算机图形学领域。
背景技术
运动分析领域的研究对象主要分为刚性物体、连接刚体和非刚性物体等。计算机视觉中的运动分析研究均主要集中在对刚体运动的研究,且学者们已取得了一系列的成果,并建立了较为完善的理论框架,但是,在现实世界中大多是非刚体运动。人体属于非刚体。
在过去的十几年中,可变形的人体建模已经取得了一些成绩。Nahas等使用了B样条曲面表示人身体和脸部的柔软的运动。Petland等介绍了一种基于有限元的方法模型。Terzopoulos等介绍了表达成一个超椭球形式的全局形状参数和样条形式的局部自由度相结合的可变形的超二次曲面的模型。Min等使用三种基本软体来对各种形状的人体上肢和肩部肌肉建模,一个点基元产生一个椭圆体,一组连接的线段产生一个圆柱体,一个三角网格产生一个复杂的形状。Sminchisescu等提出了一种人体模型,它由运动骨架和肌肉构成,连接的节点构成的骨架由节点的角度参数控制,并覆盖了包含辅助锥化和弯曲参数的超二次椭圆面构成的肌肉。模型包含30个节点参数和8个内部比例参数,并且每个肢体又包含9个变形参数。Plankers等把一种称为元球或软体的隐式曲面附在人体的连接骨架上并按照解剖学的近似程度来排列这些元球。这个人体模型共使用了230个元球,并使用B样条曲面片进行蒙皮。还可以用blobby分子、软体、卷积曲面等各种隐式曲面进行人体建模。但这些方法都采用较为复杂的非刚体运动模型,控制参数较多,不能很好的满足轮廓表示的评价标准即表示的简洁性和适合于后处理阶段的计算。所以这些模型在表示人体轮廓方面缺乏实用性。

发明内容
本发明的目的在于针对现有人体三维模型代表皮肤变形的参数过多的不足,提出一种基于肌肉体积不变性的人肢体三维建模方法,简单而实现容易,建立的模型使用非常少的参数就可以代表人肢体皮肤的变形,降低运动分析的计算量,适合于各种弹性连接刚体的建模。
为实现这样的目的,本发明建立的人肢体三维模型分为两层骨架层和皮肤层。骨架层代表了人肢体的骨架结构,由关节点和连接这些关节点的线段组成。皮肤层用一种新的旋转圆锥曲面表示,每个肢体只需调整一个变形参数就能反映出皮肤的变形。首先采用双目立体视觉系统拍摄人肢体摆姿势的图像序列,从双目图像序列中提取、匹配标记点,通过双目立体视觉方法确定各个时刻左右图像标记点的空间三维坐标,再根据标记点三维坐标和先验知识求出各个时刻各个肢体骨架的空间三维位置信息。把第一帧图像上各个肢体上标记点的三维坐标值代入所属的旋转圆锥曲面方程组求出第一帧图像各个肢体的变形参数,并求出各个旋转圆锥曲面的体积。根据人体皮肤变形时每个肢体的肌肉体积基本保持不变的性质,根据第一帧图像得到的各个肢体旋转圆锥曲面体积求出之后的各帧图像各个肢体的变形参数。利用各个时刻各个肢体的变形参数得到各个时刻各个肢体的旋转圆锥曲面,最后使用圆球体和旋转圆锥曲面绘制人肢体模型。
本发明的建模方法主要包括以下几个步骤1.从图像中提取、匹配标记点,求出标记点对应的空间三维坐标。
分别在人的上肢体和下肢体上各设置三个标记点,采用双目立体视觉系统拍摄得到人肢体摆姿势的左、右两个图像序列,提取各个时刻左、右图像中这些标记点的图像平面二维坐标,其中第一帧图像上每个肢体提取三个标记点,之后的各帧图像上每个肢体只提取两端两个标记点,得出左侧摄像机图像与右侧摄像机图像上标记点之间的对应关系。通过摄像机标定技术求出左、右摄像机图像上平面二维坐标与世界坐标系空间三维坐标的对应关系,由得到的各个时刻左、右图像上标记点二维坐标求出对应的空间三维坐标。
2.提取人肢体骨架位置信息。
因为各个肢体三个标记点中两端的两个标记点处肢体半径不因为皮肤的变形而改变。所以根据各个肢体三个标记点中两端的两个标记点的三维坐标和事先测量得到的两端两个标记点处肢体半径,并根据标记点与骨架端点的位置关系求出各个时刻骨架端点的空间三维坐标,由此获得骨架的空间三维位置信息;3.求出旋转圆锥曲面对第一帧图像,在肢体的三个标记点中两端的两个标记点A、B形成的线段上方设定空间一点C,经过三点A、B、C的平面外设定一点D,四点A、B、C、D形成三个平面ACD、BCD、ABD,根据这三个平面确定经过点A、B且与直线AC、BC相切的圆锥曲面方程,此圆锥曲面与经过A、B、C三点的平面的交线形成圆锥曲线,把圆锥曲线绕骨架直线旋转形成旋转圆锥曲面,建立旋转圆锥曲面方程组,把得到的各个肢体上标记点的空间三维坐标值代入所属的旋转圆锥曲面方程组求解,得到各个肢体旋转圆锥曲面的变形参数ρ,并求出各个肢体旋转圆锥曲面的体积。
虽然各个时刻各个肢体皮肤会发生变形,但各个肢体的肌肉体积是保持不变的。因此根据得到的第一帧图像各个肢体旋转圆锥曲面体积,求出之后各帧图像上各个肢体旋转圆锥曲面的变形参数ρ。由各个时刻各个肢体变形参数ρ确定各个时刻各个肢体的旋转圆锥曲面。
4.模型绘制本发明使用OpenGL程序采用平行投影方法绘制三维人肢体模型,使用三个圆球体代表肢体的三个关节点,采用求得的旋转圆锥曲面来代表上肢体和下肢体皮肤,连接这三个圆球体和两个旋转圆锥曲面构成人肢体模型。
本发明方法简单,实现容易。建立的模型使用非常少的参数就可以代表人肢体皮肤的变形,每个肢体只需一个变形参数,具有高层次描述和预测遮挡的能力。本发明方法适合于许多弹性连接刚体的模型建立。实验采用便宜、容易安装的视频摄像头来采集数据,不需要附加设备,代表皮肤变形的旋转圆锥曲面方程组和求解算法简单,大大降低了运动分析的计算复杂性。


图1为本发明采用的圆锥曲线。
图1中,A,B,C为三个顶点,通过这三个顶点坐标确定圆锥曲线方程。
图2为人肢体的骨架结构。
图2中,j1、j2、j3是关节点,连接这些关节点的线段构成一个手臂的两个肢体上肢体和下肢体。
图3为本发明的旋转圆锥曲面结构示意图。
图3中,L是代表人肢体骨架的线段,S是圆锥曲线,S绕L旋转一周形成旋转圆锥曲面。P0是线段L上的一点,e是线段L的方向向量,P是旋转圆锥曲面上任意一点,过P点做与线段L垂直的平面,此平面与圆锥曲线S的交点为PS,此平面与线段L的交点为O,A、B是圆锥曲线S的两个端点,AL、BL是线段L的两个端点。
图4为本发明基于图像标记点建模的实验结果。
图4中,第一行是左侧摄像机拍摄的图像序列,第二行是对应于第一行图像的反映人肢体运动和皮肤变形的三维模型表达。
具体实施例方式
为了更好地理解本发明的技术方案,以下结合附图和实施例作进一步的详细描述。实施例具体针对附图4第一行第一帧和第二帧图像(左侧摄像机拍摄)上肢体进行人肢体建模过程的描述。
1.从图像中提取、匹配标记点并求出标记点对应的空间三维坐标。本发明方法在人肢体皮肤上贴了六个纸标记点,其中三个在上肢体、三个在下肢体。使用双目立体视觉系统拍摄人肢体摆姿势的图像序列。图4第一行所示各帧图像为左侧摄像机拍摄得到的图像序列。本发明在第一帧图像上每个肢体只需要3个特征点就能求出其变形参数,之后的各帧图像上每个肢体只需要2个特征点就能求出其变形参数。
在第一帧图像上提取上肢体标记点A、B、P的图像平面二维像素坐标,左侧摄像机图像上标记点的像素坐标分别为A1(365,266),B1(519,190),P1(444,218);右侧摄像机图像上标记点的像素坐标分别为A2(552,289),B2(700,209),P2(627,241)。通过摄像机标定技术求出左、右图像像素坐标与世界坐标系空间三维坐标的关系ZC1u1v11=997.95950372.727600994.4506301.477000010xyz1]]>ZC2u2v21=990.50910361.381600986.1246310.2779000100.9097-0.00530.4150-190.49810.00050.99990.01171.9943-0.4150-0.01040.909741.15330001xyz1]]>其中(u1,v1)为左侧摄像机图像上二维像素坐标,(u2,v2)为右侧摄像机图像上二维像素坐标,(x,y,z)为空间三维坐标。
把标记点A、B、P在左、右图像的像素坐标值带入上述方程求出这些标记点对应的空间三维坐标A(-6.5983,30.516,-853.52),B(115.99,86.684,-791.21),P(58.9288,67.4501,-824.7681)。
采用同样方法求出第二帧图像上肢体三个标记点中两端的两个标记点A、B对应的空间三维坐标A(1.0742,43.654,-838.63),B(119.48,92.469,-782.87)。
2.提取人肢体骨架位置信息。人肢体骨架模型包含关节点j1、j2、j3和连接这些关节点的线段(上肢体、下肢体),如图2所示。因为图4中所示上肢体三个标记点中两端的两个标记点A、B处肢体半径几乎不因为皮肤的变形而改变,由事先测量得出标记点A处肢体半径是40,标记点B处肢体半径是49,在第一帧图像上,由标记点A、B的空间三维坐标和标记点A、B处肢体半径并根据图3中标记点A、B与骨架端点AL、BL的位置关系求出骨架端点的空间三维坐标AL(xLA,yLA,zLA)=(6.3824,-6.0572,-847.1456)、BL(xLB,yLB,zLB)=(132.3959,41.6061,-782.6021)。就可得骨架的方向向量e(m,n,p),其中m=xLB-xLA=126.0135,n=yLB-yLA=47.6633,p=zLB-zLA=64.5435。
对第二帧图像采用同样的方法求出骨架端点的空间三维坐标AL(xLA,yLA,zLA)=(13.73116,6.18132,-832.70774)、BL(xLB,yLB,zLB)=(134.97276,46.5473,-775.52578)。骨架的方向向量是e(m,n,p),其中m=xLB-xLA=121.2416,n=yLB-yLA=40.3660,p=zLB-zLA=57.1820。由此获得骨架的空间三维位置信息。
3.求出旋转圆锥曲面。在第一帧图像上,在上肢体三个标记点中两端的两个标记点A、B形成的线段上方设定空间一点C(-6.5983,30.516,-853.52),如图1所示。经过三点A、B、C的平面方程为fABC(x,y,z)=-0.5937·x-0.0087·y+1.1759·z+1000=0。在平面fABC(x,y,z)外设定一点D(10,10,10),四点A、B、C、D形成三个平面ACD、BCD、ABD,这三个平面的方程分别为平面ACDa0+a1·x+a2·y+a3·z=1000-0.2333·x-91.024·y-8.7428·z=0平面BCDb0+b1·x+b2·y+b3·z=1000-9365.3·x+8874.4·y+390.9·z=0平面ABDu0+u1·x+u2·y+u3·z=1000+85.1095·x-179.2157·y-5.8939·z=0根据这三个平面确定经过点A、B且与直线AC、BC相切的圆锥曲面方程是(a0+a1·x+a2·y+a3·z)(b0+b1·x+b2·y+b3·z)-ρ(u0+u1·x+u2·y+u3·z)=(1000-0.2333·x-91.024·y-8.7428·z)·(1000-9365.3·x+8874.4·y+390.9·z)-ρ(1000+85.1095·x-179.2157·y-5.8939·z)=0建立旋转圆锥曲面方程组m(x-xS)+n(y-yS)+p(z-zS)=0(x-xL)2+(y-yL)2+(z-zL)2=(xS-xL)2+(yS-yL)2+(zS-zL)2(a0+a1xS+a2yS+a3zS)(b0+b1xS+b2yS+b3zS)=ρ(u0+u1xS+u2yS+u3zS)2fABC(xS,yS,zS)=0]]>其中xL=xLA+m·(-m(xLA-xS)+n(yLA-yS)+p(zLA-zS)m2+n2+p2)yL=yLA+n·(-m(xLA-xS)+n(yLA-yS)+p(zLA-zS)m2+n2+p2)zL=zLA+p·(-m(xLA-xS)+n(yLA-yS)+p(zLA-zS)m2+n2+p2)]]>根据此方程组的第一个方程式求出xS和xL的关系方程xS=T(xL)。
把前面求得的AL(xLA,yLA,zLA),e(m,n,p),(a0,a1,a2,a3,b0,b1,b2,b3,u0,u1,u2,u3),fABC(x,y,z)的值代入上述非线性方程组,把P(xP,yP,zP)值代入上述方程组中的(x,y,z),采用非线性最小二乘法求出未知参数PS(xS,yS,zS)和ρ=0.5463,ρ是此时刻上肢体旋转圆锥曲面的变形参数。旋转圆锥曲面体积公式为V=∫xLAxLBπ{[T(xL)-mT(xL)-n[yLA-n′xLA-yS(T(xL))]-p[zLA-p′xLA-zS(T(xL))]m+n·n′+p·p′]2+[yS(T(xL))]]>-yLA-n′[mT(xL)-n[yLA-n′xLA-yS(T(xL))]-p[zLA-p′xLA-zS(T(xL))]m+n·n′+p·p′-xLA]]2+[zS(T(xL))-zLA]]>-p′[mT(xL)-n[yLA-n′xLA-yS(T(xL))]-p[zLA-p′xLA-zS(T(xL))]m+n·n′+p·p′-xLA]]2}1+n′2+p′2dxL]]>其中y=yS(x)和z=zS(x)是旋转圆锥曲线S的参数方程形式,n′=nm,]]>,p′=pm.]]>根据旋转圆锥曲面体积公式求出上肢体旋转圆锥曲面体积为585250。采用同样的方法可求得代表下肢体皮肤的旋转圆锥曲面变形参数和体积。
虽然各个时刻各个肢体皮肤会发生变形,但各个时刻各个肢体的肌肉体积是不变的。对第二帧图像,根据肌肉体积不变性原理把第一帧图像上得到的上肢体旋转圆锥曲面体积值和AL(xLA,yLA,zLA),BL(xLA,yLA,zLA),e(m,n,p),n’,p’,(a0,a1,a2,a3,b0,b1,b2,b3,u0,u1,u2,u3),fABC(x,y,z),xS=T(xL),y=yS(x),z=zS(x)的值带入旋转圆锥曲面体积公式求出变形参数ρ=1.1281,采用同样的方法可求得代表下肢体皮肤的旋转圆锥曲面变形参数。由各个时刻各个肢体变形参数ρ确定各个时刻各个肢体旋转圆锥曲面。
4.模型绘制。如图4第2行,使用OpenGL程序采用平行投影方法绘制得到的三维右臂模型,使用三个半径分别为50、40、30的圆球体代表j1、j2、j3三个关节点,采用求得的旋转圆锥曲面来代表上肢体和下肢体皮肤,连接这三个关节点和两个曲面构成人肢体模型。
权利要求
1.一种基于肌肉体积不变性的人肢体三维建模方法,其特征在于包括如下具体步骤1)分别在人的上肢体、下肢体上各设置三个标记点,采用双目立体视觉系统拍摄得到人肢体摆姿势的左、右两个图像序列,提取各个时刻左、右图像中这些标记点的图像平面二维坐标,得出左侧摄像机图像与右侧摄像机图像上标记点之间的对应关系,通过摄像机标定技术求出左、右摄像机图像上平面二维坐标与世界坐标系空间三维坐标的对应关系,由得到的各个时刻左、右图像上标记点二维坐标求出对应的空间三维坐标;2)根据各个肢体三个标记点中两端的两个标记点的三维坐标和事先测量得到的两端两个标记点处肢体半径,并根据标记点与骨架端点的位置关系求出各个时刻骨架端点的空间三维坐标,由此获得骨架的空间三维位置信息;3)对第一帧图像,在肢体的两端两个标记点A、B形成的线段上方设定空间一点C,经过三点A、B、C的平面外设定一点D,四点A、B、C、D形成三个平面ACD、BCD、ABD,根据这三个平面确定经过点A、B且与直线AC、BC相切的圆锥曲面方程,此圆锥曲面与经过A、B、C三点的平面的交线形成圆锥曲线,把圆锥曲线绕骨架直线旋转形成旋转圆锥曲面,建立旋转圆锥曲面方程组,把得到的各个肢体上标记点的空间三维坐标值代入所属的旋转圆锥曲面方程组求解,得到各个肢体的旋转圆锥曲面的变形参数ρ,并求出各个肢体旋转圆锥曲面的体积;根据得到的第一帧图像各个肢体旋转圆锥曲面的体积,求出之后的各帧图像上各个肢体旋转圆锥曲面的变形参数ρ,由各个时刻各个肢体变形参数ρ确定各个时刻各个肢体旋转圆锥曲面;4)使用OpenGL程序采用平行投影方法绘制三维人肢体模型,使用三个圆球体代表肢体的三个关节点,采用求得的旋转圆锥曲面来代表上肢体和下肢体皮肤,连接这三个圆球体和两个旋转圆锥曲面构成人肢体模型。
全文摘要
一种基于肌肉体积不变性的人肢体三维建模方法,采用双目立体视觉系统拍摄人肢体摆姿势的图像序列并从中提取、匹配标记点,确定这些标记点对应的空间三维坐标,据此求出各个时刻各肢体骨架的空间三维位置信息,对第一帧图像,把各肢体上标记点的三维坐标值带入所属的旋转圆锥曲面方程组求出对应的变形参数和体积,根据肌肉体积不变性利用第一帧图像得到的各肢体体积求出之后的各帧图像各肢体旋转圆锥曲面的变形参数,最后使用圆球体和旋转圆锥曲面绘制人肢体模型。本发明建立的人肢体三维模型分为骨架层和皮肤层,骨架层由关节点和连接关节点的线段组成,皮肤层用旋转圆锥曲面表示,每个肢体只需调整一个变形参数就能反映出人肢体皮肤变形。
文档编号G06T17/00GK1645416SQ200510023459
公开日2005年7月27日 申请日期2005年1月20日 优先权日2005年1月20日
发明者潘海朗, 刘允才 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1