一种面向连续帧点云的三维人体标准骨架提取方法与流程

文档序号:17794129发布日期:2019-05-31 20:37阅读:445来源:国知局
一种面向连续帧点云的三维人体标准骨架提取方法与流程
本发明涉及计算机图形学领域,尤其涉及一种面向连续帧点云的三维人体标准骨架提取方法研发。
背景技术
:从三维模型中提取得到的骨骼框架可以被认为是该模型的一种非常直观且高效的表示,对于分析和操作三维模型具有很强的实用意义。尤其对于人体模型,骨骼框架可以被用于姿态估计,人体造型及操作等方面。无论是在二维的群体骨架多粒度实时提取与追踪技术中,还是在三维的kinect骨骼追踪数据的处理方法中,使用的都是比较好的反映人体实际骨骼点的具有20个点的标准骨架,如图2所示,而目前还没有一种没有人工干预的人体标准骨架提取方法。在目前已有的一些骨架提取方法中,有一些可以直接从不完整、含有噪声的点云模型中提取骨架的技术,例如基于广义旋转对称轴概念的骨架模型提取技术、点云的l1中值骨架提取技术;有一些可以从由点云模型表面重建的网格模型中提取骨架的技术,例如利用平均曲率流的骨架模型提取技术、基于拉普拉斯收缩的点云骨架提取技术。但是对于三维人体模型,上述方法提取的骨架中的骨骼点数不一致,未能实现标准化,未能更好的贴合三维人体原始模型,除此之外,提取到的三维人体骨架偶尔会出现不完全、错误分支或者部分点位置偏差的情况,如图1所示。所以本发明提取的人体标准骨架无论是在完整性,正确性还是在标准性上都有一定的优势,对后续基于骨架的动画制作、人体操作等方面具有一定的实用价值与意义。技术实现要素:本发明提出了一种面向连续帧点云的三维人体标准骨架提取方法。此方法可以在几乎没有人工干预的情况下面向连续帧点云模型提取出更符合人体实际骨架的具有20个骨骼点的三维人体标准骨架。本发明采用的技术方案为一种面向连续帧点云的三维人体标准骨架提取方法,该方法包含以下两个步骤:第一步,采集多视角运动人体的图像,使用每一帧的各视角图像重建出稠密的点云模型。针对每一帧的点云模型,进行降采样,表面重建,进而使用基于模型分割的三维人体标准骨架提取算法提取标准骨架模型;第二步,对提取的标准骨架进行帧间对齐与对应点匹配,构造连续帧标准骨架的骨骼点序列,建立连续帧骨骼点位置优化模型对上面得到的骨骼点序列进行优化,最终得到面向连续帧点云的三维人体标准骨架序列,对于上述两步骤详细介绍如下:第一步,基于模型分割三维人体标准骨架提取方法。输入模型:在光场中对做连续运动的人进行多视角拍摄,统一控制各视角摄像机,保持固定帧率。之后利用pmvs方法基于采集到的运动中人体多视角图像和sfm生成的对应的相机参数进行密集匹配,生成三维人体密集的点云模型,进行下采样减少点云数量以缩短后序算法的运算时间,进而进行泊松表面重建最终生成曲面模型,如图3所示。值得注意的是需要对所有模型进行归一化,将各帧模型尽可能地对齐。这个预处理对于本方法的结果是至关重要的,因为只有保证每一帧模型的尺寸是统一的,且中心位置和朝向是在一个完全相同的坐标系,之后在优化的过程中,才能更加便捷且准确地寻找到相邻帧标准骨架中的匹配骨骼点。s1.1利用模型分割的方法对三维人体模型进行区域分割,如图4所示。输入两个网格模型,应用扩展的mapper算法[smc07]产生它们的形状图并进一步得到两个模型分割区域之间的对应关系。首先以一组实值函数的形式计算上述每个模型的形状描述符,形状描述符应捕获模型的结构,同时对特定的几何细节保持不变,并且对噪声具有鲁棒性。在本方法的具体实现过程中中,使用hks[sog09]函数,其直观地指示每个点与模型中的末端或高曲率区域的接近程度。然后,联合聚类两个模型的形状描述符值,根据形状描述符值将每个模型联合分割成区域,并根据聚类构造一个形状图,形状图的每个节点对应于模型上的一个区域,形状图仅保留形状的结构而没有几何信息,即仅保留模型的拓扑结构信息。然后计算两个形状图之间的对应关系进而得出两个模型区域之间的对应关系。本方法中,输入的是两个相同的网格模型,最终得到模型的区域分割以及其拓扑结构信息并被后续步骤所使用。s1.2用公式(1)生成模型所有区域中心点作为骨骼点,并由区域分割时生成的模型拓扑结构连接骨骼点生成初始骨架,如图5所示。其中i表示当前模型分割区域索引即骨骼点索引,,vi表示当前骨骼点,vk表示当前骨骼点vi所在分割区域的人体点云点,k表示当前骨骼点vi所在块的人体点云点索引,n表示骨骼点vi所在的分割区域的人体点云数量。s1.3填充或者去除相关骨骼点生成标准骨架(20个点的骨架,四肢上分别有4个骨架点,胯部中间有1骨架点,腰部有1骨架点,肩部中间有1骨架点,头部有1骨架点,如图6所示,用到如下算法。a)输入上述步骤s1.2得到初始骨架。b)利用人体特有的拓扑结构,判断出两个手臂中心点所在的块以及肩部所在的块,利用肩部中与两个手臂中心点的距离对肩部进行二次分割生成三块,最后进一步计算肩部二次分割后的块的中心点作为两个肩部点以及肩部中心点。c)基于上述骨架进行标准骨架的提取。利用肩部中心点与其他骨骼点的连接数目是4以及胯部中心点与其他骨骼点的连接数目为3这个比较特殊的人体架构,将人体分为6块,利用每块中的骨骼点数以及其与末端(末端点有两手、两脚和头,末端点与其它骨骼点的连接数目为s1.1的连接关系比较容易地计算各个分支的点数,判断出各个分支,进而添加或者删除相应点使每块上的骨骼点都标准化,最终使得整个骨架标准化,具体算法如图7所示。第二步,连续帧骨骼点位置优化。第二步的优化过程分为两步,首先,将提取到的标准骨架实现帧间对齐与骨骼点帧间匹配,构建连续帧标准骨架的骨骼点序列,其次,构建连续帧骨骼点位置优化模型对连续帧骨骼点位置进行优化:s2.1连续帧骨骼点帧间的对齐与匹配。由于根据标准骨架中每块的点数以及与肩部中心点和腰部中心点的连接关系可以判断出头部和腰部,所以可以很容易地实现头部和腰部骨骼点的帧间骨骼点对应,并且能够区分两手臂与两腿,现在的问题就是实现两手臂的帧间分别对应与两腿的帧间分别对应,用到如下算法,效果如图8所示,其中图a为输入的相邻两帧骨架与其所在的初始模型,图b为图a右边模型的骨骼点与图a左边的模型骨骼点匹配后并同时逐对对应点展示在图a左边初始模型中的效果图。vi为当前帧当前块的点的位置,v′i为相邻帧的对应块的对应点的位置,n表示当前块与对应块中骨架点数量。找到所有可能对应关系中上述公式值最小的块认为是对应块,对应快中按顺序排列的点为对应点。s2.2连续帧骨骼点位置优化模型连续运动的人体模型具有很多帧间几何相关性,例如:相邻帧中位于相对静止的人体部位的骨骼点的几何位置具有局部不变性,且相邻帧反映同一动作的人体部位的骨骼点具有相同、相似的运动轨迹。因此,针对连续运动状态的三维人体模型,考虑相邻帧的点云几何相关性有助于提取更加准确的骨骼点。在表示和解决稀疏问题的时候,l0范数相对于l1、l2范数是最佳的表达形式。在计算机图形领域,l0范数已经被用于平滑和模糊图像,网格模型去噪以及点云模型去噪。但是据所知,极少使用l0范数对连续帧标准骨架的骨骼点位置优化过程进行帧间约束。除此之外,考虑到优化后的骨骼点很可能会跑到三维人体模型的外部,这样提取出的骨架就失去了意义,为避免上述情况的发生,利用lf范数对骨骼点的优化位置进行帧内约束,确保优化后的骨骼点在人体中轴线附近,最大限度地避免骨骼点在优化过程中跑出人体模型等情况的发生。因此基于l0范数建立一个帧间稀疏模型,基于lf范数建立一个帧内约束模型,通过迭代优化,来求解考虑运动关联后的骨骼点位置,使其更贴近人体实际骨骼点。利用相邻帧对应骨骼点以及帧内相邻骨骼点的位置约束对生成的标准骨架点进行修正,平滑,定义如式(3)所示的优化模型。上式中s为连续帧的骨骼点序列优化后输出的骨骼点序列矩阵,一行表示一帧,相应地,s0表示最初输入的连续帧的骨骼点序列,α||ds||0项用零范数表示帧间对应骨骼点的位置约束,使得优化后的帧间骨骼更加平滑,其中d为定义的平滑算子矩阵,其每一元素dmn表示第m帧和第n帧骨骼的关联性,α为平滑因子,控制优化后的骨骼点的帧间平滑程度,增加α使优化各帧的运动骨骼关联性更强,即骨骼序列更加平滑,但同时也可能降低各帧骨骼的运动特征。其中d定义如式(4)所示。其中m,n表示骨架所在的帧索引,上式中的n表示骨架序列的总帧数,|m-n|=1且m,n≠1,n表示第m帧与第n帧为相邻帧,且第m帧与第n帧都不是首尾帧。项表示优化后的骨骼点尽量靠近原始骨骼点。项用f范数实现对s帧内骨骼点位置约束,尽量使优化后的骨骼点位于人体中心线附近,其中a为移动幅度度量,其定义如式(5)所示。其中s″为移动范围度量,每一元素s″in表示第n帧中第i点的移动范围,其定义如式(6)所示。其中n表示所在帧索引,i表示所在帧中的当前骨骼点索引,j表示相同帧中的骨骼点索引,|j-i|=1表示i点要移动的方向的骨骼点索引为j,m为不需要移动的骨骼点索引。根据实验数据和需要动态调整这些系数。为了优化上述式(3)的模型,加入一个辅助变量δ,δ为一个矩阵,式(3)变为式(7):分两步分别对变量s和δ进行优化,首先保持s固定不变,来优化δ,该优化问题变为公式(8):在求解这个最小化问题时,在(d(i,:)为矩阵d的第p行元素,s(:,j)为矩阵s的第j列元素即骨架序列的第j个点,d(p,:)s(:,j)表示第j个骨骼点的帧间对应点关联性)的时候,让δpj=0,δpj为矩阵δ的第p行,第j列元素,否则δpj=d(p,:)s(:,j)。在求解δ完成后,下一步,固定δ不变,求解s,最小化问题变为公式(9):该最小化问题的公式(9)是二次的,因此通过求导找到最小值。在优化完s后,便完成了一次迭代,更新系数α=μα、β=μβ,重新通过上述过程优化,直到α达到阈值αmax,优化过程结束。输出:连续帧下的三维人体模型的标准骨架序列。本发明在几乎没有人工干预的前提下,提取的三维人体骨架无论是在完整性上,与原模型贴合度上,准确性上,还是在标准性上都比传统方法提取的骨架更具有优势,更具有实用价值与意义。附图说明图1为使用l1中值骨架提取方法提取的骨架。图中框内显示的是异常位置。图2为标准骨架示意图。比较好的反映人体实际骨骼点的具有20个点的标准骨架。图3为基于多视角图像生成曲面模型过程图。图中第一列为光场采集的多视角图像,第二列为基于多视角图像的稀疏点云重建,第三列为基于上述得到的相机参数与稀疏点云生成稠密点云,第四列为去掉鸟笼的人体点云模型,第五列为稠密点云的泊松表面重建生成表面模型。图4为人体模型分割。图5为初始三维人体骨架图6为三维人体标准骨架图。20个点的骨架,四肢上分别有4个骨架点,胯部中间有1骨架点,腰部有1骨架点,肩部中间有1骨架点,头部有1骨架点。图7为生成标准骨架算法图。图8为相邻两帧骨架点匹配效果图。图9为实验最初输入的光场采集的运动人体多视角图像。图10为不同数据下利用连续帧骨骼点位置优化模型优化前后对比图。图中第一行为输入模型,第二行为使用连续帧骨骼点优化模型优化前的标准骨架及其所在的模型,第三行为使用连续帧骨骼点位置优化模型优化后的标准骨架及其所在的模型。图11为与现有骨架提取方法实验结果对比图。提出的面向连续帧的三维人体标准骨架提取方法与传统经典的骨架提取方法在不同实验数据下的效果对比。图中第一行为输入的人体模型,第二行为用tagliasacchi等提出的平均曲率骨架提取方法提取的骨架效果图,第三行为用cao等的基于拉普拉斯收缩的方法提取的骨架,第四行行为用huang等的l1中值骨架提取方法提取的骨架效果图,第五行为用zhang等提出的基于l0的骨架优化实验效果图,第六行为本文的方法提取的标准骨架效果图。具体实施方式本发明通过与同类方法的对比实验,来验证本发明对提取三维人体标准骨架的有效性。实验部分共设计两大类实验,实验一旨在验证本发明所提的连续帧骨骼点位置优化模型的有效性;实验二旨在验证本发明中的骨架提取方法较传统的经典骨架提取方法的优越性。本发明所用实验数据集如下:本发明使用光场采集系统中的50个工业相机采集的运动人体的多视角的彩色图像,各相机的像素约为220万,采集的图像分辨率为2048*1088,具体采集信息如下:(1)采集对象为做走路姿势的男性,如图9-a所示,采集帧率为每秒30帧,采集时长为60秒,每个视角共采集1800张图像,采集50个不同的视角。(2)采集对象为只做手臂展开运动的男性,如图9-b所示,采集帧率为每秒30帧,采集时长为60秒,每个视角共采集1800张图像,采集50个不同的视角。(3)采集对象为手臂和腿部同时做运动的男性,如图9-c所示,采集帧率为每秒30帧,采集时长为60秒,每个视角共采集1800张图像,采集50个不同的视角。对本发明中的连续帧骨骼点位置优化模型用上述数据集进行了大量的实验。在得到各帧人体的骨架数据并做了相应的骨架标准化以及骨骼点帧间对齐匹配的处理后,使用表1中的参数进行优化,得到了较好的结果。表1.优化模型中的参数参数αβλαmaxμαμβ初始值0.0012.00.00310020.9实验一:使用连续帧骨骼点位置优化模型对上述数据集优化前后的效果对比,如图10所示。图中第一行表示输入模型,第二行表示使用连续帧骨骼点优化模型优化前的标准骨架及其所在的模型,为了展示方法提取的三维人体标准骨架更符合初始输入人体模型,将提取的标准骨架与其所对应的输入模型放在一起展示,第三行表示使用连续帧骨骼点位置优化模型优化后的标准骨架及其所在的模型。可以看到针对不同的人体、不同的运动,本发明中的优化模型优化后均得到了较好的效果。图10-a展示了优化前存在骨架不整齐,骨骼点不能更好的贴合实际人体架构等问题的帧序列的优化前后效果对比。优化结果表明通过本发明中的优化模型优化得到的骨架更整齐,更好的反应人体运动姿态,更贴合实际人体骨骼点分布,由于骨骼点优化模型会考虑相邻帧的骨骼点以及帧内骨骼点约束,所以具备修复骨骼位置异常偏差的能力,以及微调骨骼点位置使其更符合人体实际骨骼点分布的能力。在图10b-e中,增加骨骼点的帧数,对不同帧数且具有不同运动姿势的帧序列模型进行优化实验。图10-e中人体骨骼从双臂水平前伸开始,到双臂体侧展开结束,在运动过程中,手臂会出现明显弯曲。为了更加清晰地看出运动过程中的轨迹,选取了其中有代表性的8帧进行展示。从图中可以发现,通过本发明中的优化模型优化得到的所有骨骼点相对于优化前会更加整齐、平滑,且整体的运动趋势更加清晰明显。比对原始的点云模型,优化后的骨骼点更好的贴合原始模型,更好的反应原始模型运动姿势,更符合实际人体骨骼点分布。实验一旨在验证提出的优化模型的有效性,用优化模型优化后的骨架更贴近真实人体骨架,更整齐,更平滑,效果更佳。实验二:提出的面向连续帧的三维人体标准骨架提取方法与传统经典的骨架提取方法的效果对比,如图11a-c所示。旨在验证在相同的数据集下的方法在没有人工干预的情况下提取三维人体标准骨架方法较传统的经典骨架提取方法更具有一定优势。如图中所示第一行表示的是输入的人体模型,第二行为用tagliasacchi等提出的平均曲率骨架提取方法提取的骨架效果图,第三行为用cao等的基于拉普拉斯收缩的方法提取的骨架,第四行行为用huang等的l1中值骨架提取方法提取的骨架效果图,第五行为用zhang等提出的基于l0的骨架优化实验效果图,第六行为本文的方法提取的标准骨架效果图。从图中不难看出,用方法提取的骨架更完整,没有错误分支的出现,更好的反应人体姿态,骨骼点数一致更加规范,且都为更好反应人体实际骨骼点位置的具有20个骨骼点的标准骨架。这是由于本发明所提出的基于模型分割的三维人体标准骨架提取算法可以提取出具有20个点的三维人体标准化的骨架,连续帧骨骼点位置优化算法在优化骨骼点位置时有帧间骨骼点位置的约束和帧内骨骼点位置的约束使得最终的标准骨架更加准确,更加整齐,更贴合原始输入模型,更符合实际人体骨骼点分布。因此本发明所提的方法比传统的骨架提取方法效果好,更方便被后续的姿态估计,人体造型及操作等所使用。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1