基于图像轮廓的人肢体三维建模方法

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

发明内容
本发明的目的在于针对现有人体三维模型代表皮肤变形的参数过多的不足,提出一种基于图像轮廓的人肢体三维建模方法,只需调整两个变形参数就能反映出人肢体皮肤变形,降低运动分析的计算量,适合于各种弹性连接刚体的建模。
为实现这样的目的,本发明的技术方案中,采用旋转圆锥曲面建立人肢体三维模型,提出的模型分为两层骨架层和皮肤层,骨架层代表了人肢体的骨架结构,由关节点和连接这些关节点的线段组成;皮肤层用一种旋转圆锥曲面表示,每个肢体只需调整两个变形参数就能反映出人肢体皮肤变形。首先使用双目立体视觉系统拍摄人肢体摆姿势的图像序列,在双目图像序列中采用图像分割技术检测出人肢体在各个图像上的轮廓信息,采用曲线拟合技术用新的二维圆锥曲线拟合各个图像上的各个肢体边缘轮廓,求出代表各个肢体轮廓的各个二维圆锥曲线方程的系数和变形参数。然后采用圆锥曲线立体视觉方法根据各个时刻左右图像平面的二维圆锥曲线方程求出对应的空间三维圆锥曲线方程,通过空间三维圆锥曲线绕各个肢体骨架直线旋转求出空间三维旋转圆锥曲面方程,最后采用三个圆球体和两个旋转圆锥曲面绘制人肢体模型。
本发明的建模方法具体包括以下几个步骤1.采用图像分割技术检测出人肢体在图像上的边缘轮廓信息采用双目立体视觉系统对人肢体所摆姿势进行拍摄,得到一个图像序列,然后采用图像分割技术检测并得到人肢体在各个时刻左右图像上的边缘轮廓信息。
2.二维圆锥曲线拟合各个图像上各个肢体的轮廓本发明采用曲线拟合技术用一种新的二维圆锥曲线拟合步骤1得到的各个时刻左右图像上各个肢体的边缘轮廓,提取各个时刻左右图像上所要拟合肢体轮廓线的两个端点A、B的像素坐标并变换成在图像上的平面坐标,在两端点形成的直线上方设定空间一点C,根据经过A、B、C三点的三个直线方程确定经过点A、B且与直线AC、BC相切的二维圆锥曲线;由此根据所要拟合轮廓线上的所有像素点坐标值求出各个时刻左右图像上代表各个肢体轮廓的二维圆锥曲线方程的变形参数ρ。
3.求出各个时刻左右图像二维圆锥曲线对应的空间三维圆锥曲线的方程通过摄像机标定技术求出左右摄像机图像上二维平面坐标与世界坐标系空间三维坐标的对应关系。根据步骤2得到的各个时刻左、右摄像机图像上拟合出的平面二维圆锥曲线方程求出对应的空间三维圆锥曲线方程。
4.提取人体骨架三维位置信息根据边缘轮廓信息采用中轴变换方法求出各个时刻左右图像平面上各个肢体的中轴线,把此中轴线作为各个图像平面上人肢体的二维骨架位置信息。并通过左右图像上二维平面坐标与空间三维坐标的对应关系求出各个时刻骨架的空间三维位置。
5.求出三维旋转圆锥曲面方程将步骤3得到的三维圆锥曲线绕步骤4得到的骨架直线旋转,得到各个时刻代表上肢体和下肢体皮肤的三维旋转圆锥曲面方程。每个旋转圆锥曲面代表一个肢体皮肤。
6.模型绘制本发明使用OpenGL程序采用平行投影方法绘制得到的三维人肢体模型,采用三个圆球体代表j1、j2、j3三个关节点,采用求得的两个旋转圆锥曲面方程绘制出的曲面来代表上肢体和下肢体皮肤,连接这三个圆球体和两个曲面构成人肢体模型。
本发明方法简单,实现容易。建立的模型使用了非常少的参数就可以代表人肢体皮肤的变形,每个肢体只需两个变形参数,具有高层次描述和预测遮挡的能力。本发明方法适合于许多弹性连接刚体的模型建立。实验采用便宜、容易安装的视频摄像头来采集数据,不需要附加设备,代表皮肤变形的旋转圆锥曲面方程和求解算法简单,大大降低了运动分析的计算复杂性。


图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第一行即为左侧摄像机拍摄的右手臂姿势图像序列。然后采用图像分割技术(如prewitt边缘算子)检测手臂在各个图像上的边缘轮廓信息,得到与第一行图像对应的边缘检测结果,如图4第2行所示。
2.采用曲线拟合技术用新的二维圆锥曲线拟合各个图像上各个肢体的边缘轮廓。如图4第2行,提取所要拟合上肢体轮廓的两个端点像素坐标A(357,248),B(485,175),通过摄像机标定技术求出图像像素坐标与平面坐标的变换公式为xy1=0.00860-3.205500.0083-2.5023001uv1]]>通过上述公式求出端点A、B在图像上的平面坐标A(-0.1353,-0.4439),B(0.9655,-1.0498)。在端点A、B形成的直线的上方设定空间一点C(0.1838,-0.9064),如图1所示。经过三点A、B、C的直线方程分别为直线ACa0+a1·x+a2·y=1+2.2645·x+1.5625·y=0直线BCb0+b1·x+b2·y=1+0.2102·x+1.1459·y=0直线ABu0+u1·x+u2·y=1+1.0618·x+1.9291·y=0根据这三个直线确定经过点A、B且与直线AC、BC相切的二维圆锥曲线隐函数表达式为C(x,y)=(a0+a1·x+a2·y)(b0+b1·x+b2·y)-ρ(u0+u1·x+u2·y)=(1+2.2645·x+1.5625·y)(1+0.2102·x+1.1459·y)-ρ(1+1.0618·x+1.9291·y)=0也可以表达为XTQX=xy1·(a1b1-ρ·u12)(a1b2+a2b1-2ρ·u1u2)/2(a0b1+a1b0-2ρ·u0u1)/2(a1b2+a2b1-2ρ·u1u2)/2(a2b2-ρ·u22)(a0b2+a2b0-2ρ·u0u2)/2(a0b1+a1b0-2ρ·u0u1)/2(a0b2+a2b0-2ρ·u0u2)/2(a0b0-ρ·u02)·xy1=0]]>提取边缘轮廓线上所有的像素(共n个点),这些像素的二维平面坐标为(xi,yi),i=1~n。把这些坐标值带入方程F=Σi=1nC2(xi,yi).]]>通过求F的最小值解出一个变形参数ρ=81.2541,把ρ带入二维圆锥曲线表达式可得出Q1=-91.1314-164.9726-85.0383-164.9726-300.5907-155.3931-85.0383-155.3931-80.2541]]>采用同样的方法可求出右侧摄像机图像平面上肢体边缘轮廓拟合出的二维圆锥曲线的系数矩阵Q2,其中包含另一个变形参数ρ2=-41.3898。求出的这两个变形参数就代表了上肢体在此时刻的皮肤的变形。
3、通过摄像机标定技术求出左右摄像机图像上二维平面坐标与世界坐标系空间三维坐标的对应关系为zC1x1y11=M1xSYSZS1=997.95950372.727600994.4506301.477000010XSYSZS1]]>ZC2x2y21=M2XSYSZS1=990.50910361.381600986.1246310.277900010XSYSZS1]]>其中(x1,y1)为左侧摄像机图像上二维平面坐标,(x2,y2)为右侧摄像机图像上二维平面坐标,(xS,yS,zS)为空间三维坐标,XS=[xS,yS,zS,1],M1、M2为变换矩阵。
采用圆锥曲线立体视觉方法求出左右图像平面上二维圆锥曲线对应的空间三维圆锥曲线方程为 4、提取人体骨架位置信息。如图2,人肢体骨架模型包含关节点j1、j2、j3和连接这些关节点的线段(上肢体、下肢体)。根据上述得到的边缘轮廓信息采用中轴变换方法求出图像平面上各个肢体的中轴线,把此中轴线作为图像平面上人肢体的二维骨架位置信息。求得左侧图像上骨架端点的二维像素坐标为AL1(373.5,291)、BL1(526.5,203.5),用同样的方法可求出右侧图像上骨架端点的二维像素坐标为AL2、BL2,根据这些骨架端点像素坐标通过左右图像上二维平面坐标与空间三维坐标的对应关系求出骨架端点的空间三维坐标AL(xLA,yLA,zLA)=(0.7068,-7.2931,851.0531),BL(xLB,yLB,zLB)=(123.4897,-73.4863,799.7127),如图3。就可得骨架的空间三维位置信息,骨架的方向向量是e(m,n,p),其中m=xLB-xLA=122.7829,n=yLB-yLA=-66.1932,p=zLB-zLA=-51.3404。
5、求出三维旋转圆锥曲面方程。如图3,通过三维圆锥曲线绕骨架直线旋转求出三维旋转圆锥曲面方程为 其中 采用同样的方法可求得代表下肢体皮肤的旋转圆锥曲面方程。
6、模型绘制。如图4第3列,使用OpenGL程序采用平行投影方法绘制得到的三维右臂模型,使用三个半径分别为45、42、30的圆球体代表j1、j2、j3三个关节点,采用求得的两个旋转圆锥曲面方程绘制出的曲面来代表上肢体和下肢体皮肤,连接这三个圆球体和两个曲面构成人肢体模型。
权利要求
1.一种基于图像轮廓的人肢体三维建模方法,其特征在于包括如下具体步骤1)采用双目立体视觉系统对人肢体所摆姿势进行拍摄,得到一个图像序列,然后采用图像分割技术检测并得到人肢体在各个时刻左右图像上的边缘轮廓信息;2)提取各个时刻左右图像上所要拟合肢体轮廓线的两个端点A、B的像素坐标并变换成在图像上的平面坐标,在两端点形成的直线上方设定空间一点C,根据经过A、B、C三点的三个直线方程确定经过点A、B且与直线AC、BC相切的二维圆锥曲线;由此根据所要拟合轮廓线上的所有像素点坐标值求出各个时刻左右图像上代表各个肢体轮廓的二维圆锥曲线方程的变形参数;3)通过摄像机标定技术求出左右摄像机图像上二维平面坐标与空间三维坐标的对应关系,根据曲线拟合得到的各个时刻左右图像平面二维圆锥曲线方程求出对应的空间三维圆锥曲线方程;4)根据边缘轮廓信息采用中轴变换方法求出各个时刻左右图像平面上各个肢体的中轴线,把此中轴线作为图像平面上人肢体的二维骨架位置信息,并通过左右图像二维平面坐标与空间三维坐标的对应关系求出各个时刻骨架的三维空间位置;5)将步骤3得到的三维圆锥曲线绕步骤4得到的骨架直线旋转,得到各个时刻代表上肢体和下肢体皮肤的三维旋转圆锥曲面方程,每个旋转圆锥曲面代表一个肢体皮肤;6)使用OpenGL程序采用平行投影方法绘制得到的三维人肢体模型,采用三个圆球体代表三个关节点,采用求得的两个旋转圆锥曲面方程绘制出的曲面来代表上肢体和下肢体皮肤,连接这三个圆球体和两个曲面构成人肢体模型。
全文摘要
一种基于图像轮廓的人肢体三维建模方法,采用旋转圆锥曲面建立人肢体三维模型,由关节点和连接关节点的线段组成骨架层代表人肢体的骨架结构,皮肤层用旋转圆锥曲面表示,每个肢体只需调整两个变形参数就能反映出人肢体皮肤变形。首先从采用双目立体视觉系统拍摄的人肢体图像序列中提取出人肢体的边缘轮廓信息,采用二维圆锥曲线拟合各个时刻左右图像上各个肢体的轮廓并求出各个二维圆锥曲线方程的变形参数,根据二维圆锥曲线方程求出对应的空间三维圆锥曲线方程,将三维圆锥曲线绕骨架直线旋转求出三维旋转圆锥曲面方程,采用三个圆球体和两个旋转圆锥曲面绘制人肢体模型。本发明方法简单、实现容易,解决了人体三维模型代表皮肤变形参数过多的问题。
文档编号G06T17/00GK1617174SQ200410089299
公开日2005年5月18日 申请日期2004年12月9日 优先权日2004年12月9日
发明者潘海朗, 刘允才 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1