基于旋转抛物面的虚拟人肢体建模方法

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

【发明内容】

[0004]本发明的目的在于针对现有虚拟人模型代表皮肤变形参数过多的不足,提出一种基于旋转抛物面的虚拟人肢体建模方法,每个虚拟人肢体只需调整一个变形参数就能反映出人肢体皮肤变形,降低运动分析的计算量,适合于各种弹性连接刚体的建模。
[0005]为实现这样的目的,本发明的技术方案中,采用旋转抛物面建立虚拟人肢体模型,提出的模型分为两层:骨架层和皮肤层,骨架层代表人肢体的骨架结构,由关节点和连接这些关节点的线段组成;皮肤层采用一种旋转抛物面表示,每个肢体只需调整一个变形参数就能反映出人肢体皮肤变形。首先使用相机拍摄人肢体摆姿势的图像,在图像中采用图像分割技术检测出人肢体在图像上的轮廓信息,采用曲线拟合技术用抛物线拟合图像上的各个肢体边缘轮廓,求出代表各个肢体轮廓的抛物线方程的系数。然后采用根据图像平面的二维抛物线方程求出对应的旋转抛物面方程,即通过二维抛物线绕肢体骨架直线旋转求出旋转抛物面方程,最后采用三个圆球体和两个旋转抛物面绘制虚拟人肢体模型。
[0006]本发明的建模方法具体包括以下几个步骤:
1.采用图像分割技术检测出人肢体在图像上的边缘轮廓信息采用相机对人肢体所摆姿势进行拍摄,得到一幅图像,然后采用图像分割技术检测并得到人肢体在图像上的边缘轮廓信息。
[0007]2.二维抛物线拟合图像上各个肢体的轮廓
本发明采用曲线拟合技术用二维抛物线拟合步骤1得到的图像上各个肢体的边缘轮廓,提取图像上所要拟合肢体轮廓线的两个端点A、B的像素坐标并变换成在图像上的平面坐标,在两端点形成的直线上方肢体轮廓线上设定一点0,以0点为坐标系原点确定经过点A、B的二维抛物线;由此根据所要拟合轮廓线上的所有像素点坐标值求出图像上代表各个肢体轮廓的二维抛物线方程的变形参数a的值。
[0008]3.提取人体骨架位置信息
根据边缘轮廓信息采用中轴变换方法求出图像平面上各个肢体的中轴线,把此中轴线作为图像平面上各个人肢体的骨架位置信息。
[0009]4.求出旋转抛物面的方程
将步骤2得到的二维抛物线绕步骤3得到的骨架直线旋转,得到代表肢体皮肤的旋转抛物面方程。每个旋转抛物面代表一个肢体的皮肤。
[0010]5.模型绘制
本发明使用OpenGL程序采用平行投影方法绘制得到虚拟人肢体模型,采用三个圆球体代表jl、j2、j3三个关节点,采用求得的两个旋转抛物面方程绘制出的曲面来代表肢体皮肤,连接这三个圆球体和两个旋转抛物面构成人肢体模型。
[0011]本发明方法简单,实现容易。建立的模型使用了非常少的参数就可以代表人肢体皮肤的变形,每个肢体只需一个变形参数,具有高层次描述和预测遮挡的能力。本发明方法适合于许多弹性连接刚体的模型建立。实验采用便宜、容易安装的视频摄像头来采集数据,不需要附加设备,代表皮肤变形的旋转抛物面方程和求解算法简单,大大降低了运动分析的计算复杂性。
【附图说明】
[0012]图1为本发明采用的抛物线。
[0013]图1中,点0为坐标系原点,点A、B为抛物线两个顶点,通过这两个顶点坐标确定抛物线方程。
图2为手臂的骨架结构。
[0014]图2中,jl、j2、j3是关节点,连接这些关节点的线段代表手臂的两个部分:上臂和前臂。
[0015]图3为本发明的旋转抛物面构成示意图。
[0016]图3中,L是代表人肢体骨架的线段,S是抛物线,S绕L旋转一周形成旋转抛物面,点0为坐标系原点,点A、B是抛物线S的两个端点,点\、是线段L的两个端点。
[0017]图4为本发明基于图像轮廓建模的实验结果。
[0018]图4中,(a)是相机拍摄的图像,(b)、(c)是与(a)图像对应的边缘检测和曲线拟合的结果,(d)是对应于(a)、(b)、(c)的反映肢体皮肤变形的模型表达。
【具体实施方式】
[0019]为了更好地理解本发明的技术方案,以下结合附图和实施例作进一步的详细描述。实施例具体针对附图4 (a)图像(相机拍摄)进行虚拟人肢体建模过程的描述。
[0020]1.首先采用相机对人肢体所摆姿势进行拍摄,得到一幅图像,图4 (a)即为相机拍摄的右手臂姿势图像。然后采用图像分割技术(如canny边缘算子)检测手臂在图像上的边缘轮廓信息,得到与图4 (a)图像对应的边缘检测结果,如图4 (b)所示。
[0021]2.采用曲线拟合技术用二维抛物线拟合图像上各个肢体的边缘轮廓。如图4(b),提取所要拟合右手上臂轮廓的两个端点A、B的像素坐标UA,κΑ),UB,κΒ),通过相机标定技术求出图像像素坐标与平面坐标的变换公式为:
[x, 1]τ= [0.0086,0,-3.2055; 0,0.0083,-2.5023; 0,0,1;][",κ, 1]τ通过上述公式求出两个端点Α、Β在图像上的平面坐标UA,λ),(為,Λ)。在端点Α、Β形成的直线上方肢体轮廓线上设定一点0为x-j坐标系的原点,如图1所示。
[0022]确定经过点A、Β的二维抛物线方程尸-ax2,抛物线隐函数表达式为:C(x, y)=r+ax2=0。提取边缘轮廓线上所有的像素(共#点),这些像素的二维平面坐标为:(χ,,Λ),i = 1?η。把这些坐标值代入方程ΑΣ 0{Χι, λ),通过求最小值解出一个变形参数a的值,求出的这个变形参数就代表了右手上臂在此时刻皮肤的变形。
[0023]3.提取人体骨架位置信息。如图2,人肢体骨架模型包含关节点jl、j2、j3和连接这些关节点的线段(上臂、前臂)。根据上述得到的边缘轮廓信息采用中轴变换方法求出图像平面上各个肢体的中轴线,把此中轴线作为图像平面上人肢体的骨架位置信息。求得图像上两个骨架端点勺二维像素坐标为(xi,η)、Up Jk),如图3,就可得骨架的位置信息。根据点角定骨架直线离坐标系原点0的距离难]值。使X坐标轴与骨架直线行,使j坐标轴与骨架直线A山[垂直。
[0024]4.求出旋转抛物面方程。如图3,通过二维抛物线绕骨架直线旋转求出旋转抛物面方程为:_sqrt {{y~d) 2+/} =-ax2。
[0025]采用同样的方法可求得代表右手前臂皮肤的旋转抛物面方程。
[0026]5.模型绘制。如图4 (d)所示,使用OpenGL程序采用平行投影方法绘制得到右臂模型,使用三个半径分别为45、42、30的圆球体代表j 1、j2、j3三个关节点,采用求得的两个旋转抛物面方程绘制出的曲面来代表右手上臂和前臂的皮肤,连接这三个圆球体和两个旋转抛物面构成虚拟人肢体模型。
【主权项】
1.一种基于旋转抛物面的虚拟人肢体建模方法,其特征在于包括如下具体步骤: 1)采用相机对人肢体所摆姿势进行拍摄,得到一幅图像,然后采用图像分割技术检测并得到人肢体在图像上的边缘轮廓信息; 2)提取图像上所要拟合肢体轮廓线的两个端点A、B的像素坐标并变换成在图像上的平面坐标,在两端点形成的直线上方肢体轮廓线上设定一点0为坐标系原点,确定经过点A、B的二维抛物线;由此根据所要拟合轮廓线上的所有像素点坐标值求出图像上代表各个肢体轮廓的二维抛物线方程的变形参数; 3)根据边缘轮廓信息采用中轴变换方法求出图像平面上各个肢体的中轴线,把此中轴线作为图像平面上人肢体的骨架位置信息; 4)将步骤2得到的抛物线绕步骤3得到的骨架直线旋转,得到代表肢体皮肤的旋转抛物面方程,每个旋转抛物面代表一个肢体皮肤; 5)使用OpenGL程序采用平行投影方法绘制得到虚拟人肢体模型,采用三个圆球体代表三个关节点,采用求得的两个旋转抛物面方程绘制出的曲面来代表肢体皮肤,连接这三个圆球体和两个旋转抛物面构成虚拟人肢体模型。
【专利摘要】一种基于旋转抛物面的虚拟人肢体建模方法,采用旋转抛物面建立虚拟人肢体模型,由关节点和连接关节点的线段组成骨架层来代表虚拟人肢体的骨架结构,皮肤层用旋转抛物面表示,每个肢体只需调整一个变形参数就能反映出人肢体皮肤变形。首先从采用相机拍摄的人肢体图像中提取出人肢体的边缘轮廓信息,采用二维抛物线拟合图像上各个肢体的轮廓并求出各个二维抛物线方程的变形参数,将二维抛物线绕骨架直线旋转求出旋转抛物面方程,采用三个圆球体和两个旋转抛物面绘制人肢体模型。本发明方法简单、实现容易,解决了虚拟人体模型代表皮肤变形参数过多的问题。
【IPC分类】G06T17/10
【公开号】CN105303611
【申请号】CN201510893216
【发明人】康丹卉, 毛飞, 唐名洋, 潘海朗
【申请人】新疆华德软件科技有限公司
【公开日】2016年2月3日
【申请日】2015年12月8日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1