一种基于生物特征的人身立体重建方法和系统与流程

文档序号:17332589发布日期:2019-04-05 22:11阅读:308来源:国知局

本发明涉及三维模型重建领域,尤其涉及一种基于生物特征的人身立体重建方法和系统。



背景技术:

三维模型是物体的三维多边形表示,通常用计算机或者其他视频设备进行显示。随着三维技术的发展,三维模型逐步被应用到医学、电影、工业、游戏中,在现代科技中扮演极其重要的角色。三维重建作为获取三维信息的有效手段已经成为计算机图形学和计算机视觉领域的一个研究热点。

根据人体的生物信息对人体进行三维表示,这里的表示方式包括静态与动态两种,静态是正常站立时人体的三维模型,动态是正常行走过程中某时刻的人体三维模型,一段时间的动态人体三维模型为三维动画。目前尚没有针对不同条件下对超低维数据到高维数据的无穷解问题和三维数据的动态重构问题的较佳方案。



技术实现要素:

为了解决超低维数据到高维数据的无穷解问题和三维数据的动态重构问题,本发明提供一种基于生物特征的人身立体重建方法和系统。技术方案如下:

一种基于生物特征的人身立体重建方法,包括:

基于先验知识的差异性三维模型重建步骤;

基于部分超高维模式识别的三维模型重建步骤;

基于超高维模式识别的三维模型重建步骤。

进一步的,所述基于先验知识的差异性三维模型重建包括静态模型构建和动态模型构建;

所述静态模型构建包括以下步骤:

a1、对所得信息做离散化分类;

a2、构建基础的三维人体模型;

a3、对构建完成的三维人体模型做特化;

a4、针对其他不同的信息,对三维模型做调整参考;

所述动态模型构建包括以下步骤:

b1、依据先验知识,定义人体在动态过程中的几个关键特征;

b2、构建基础三维动作作为基准三维动作;

b3、按照提供信息做统一化处理;

b4、按照不同的类别形成多种排列组合的三维动画形式,当获取信息后,按照产生动画的条件进行动画检索,完成三维静态模型到动态模型的转变。

进一步的,步骤a4中调整方法包括以下步骤:

c1、将调整对象分为11类;

c2、对每类的三维点云数据做划分归类;

c3、计算每类三维数据的平均点位置作为调整对象的原点o;

c4、以过o点与人体三维模型脚底平面平行的平面作为xoy平面,ox方向平行于人的视线方向,oy方向垂直与人的视线方向,以过o点、垂直于xoy且正方向朝向向头部的轴定义为oz轴;

c5、规定调整度w,取值范围是[-1,1],代表不同信息值对应不同部位的变化剧烈程度;规定调整单位n,代表不同调整度对应的单位距离变化;

c6、对于调整宽窄的,假定要调整的点为p(xp,yp,zp),脚最低点与头部最高点的棋盘距离为d,将该类所有点云数据按照如下方式调整:计算p点到脚底的距离dp,将调整度更新为dp/d×w,即离脚越远,则调整度越高,反之越低,此时,以zp为参考原点op,p点在xoyp平面上沿方向(xp,yp)向外移动dp/d×w×n个单位;

c7、对于调整长短的,对某个部位来讲,假定原始长度为l,则调整后的长度为l2=l+w×n,将该部位的原始三维点最低点与最高点分别沿op轴的负、正方向,调整w/2n个单位,然后,将从o点出发,分别向正、负方向按照步长为n/δ取均匀分布的多个基准点,以每个基准点做平行于xoy平面的基准平面,采用插值的方式,获取过每个基准平面的三维数据点,将得到的三维数据点代替该部位原来的三维数据点;

c8、对于调整弯曲度的,假定要调整的点为p(xp,yp,zp),计算调整部位在yoz坐标轴上,与y=z最近的点s(xs,ys,zs),计算整体部位点与s最远点的距离d,计算p与s的几何距离dps,沿yoz平面的y=z方向,将调整度更新为dp/d×w,以o为原点,p点在要求方向向外移动dp/d×w×n个单位;

c9、对模型分区临界点群做突变评估,计算调整前与调整后的点间距离q,q大于0,则认为出现突变,按照顶部为准的准则,对调整部位的三维点,按照与连接处越远调整越小的准则进行调整,具体方式是:以优先部位的点集为初始点集,找到调整部位与优先部位点集的同名点集,从而找到同名点集相关的三角网格顶点,按照原始的三角网络的边长等量,对以初始点集为新顶点的三角网格做调整,每个顶点沿三角网格的法线方向做移动,直至新的三角网格边长与之前的边长平均变化满足误差要求,这里变化delta=新边长r/旧边长w,误差阈值t=a/(exp(-q)),a为常量系数。

进一步的,步骤b3中按照提供信息做统一化处理包括:

a.脚部动作,定量步角与起脚类别、行走方式落脚状态描述信息,均转换为固定的类别,类别标号与定义包括:

1.严重内起:明显内八,大于θ1,小于θ2;

2.略微内起:内八,步角大于θ2,小于θ3;

3.正常;

4.略微外起:外八,步角大于θ4,小于θ5;

5.严重外起:明显外八,步角小于θ6,大于θ5;

b.腿部动作,定量的步宽信息、行走方式描述信息转换为固定的类别,类别标号与定义包括:

1.x型腿:步宽在λ1与λ2之间;

2.严重x型腿:步宽在λ2与λ3之间;

3.正常行走;

4.o型腿:步宽在λ3与λ4之间;

5.严重o型腿:步宽在λ4与λ5之间;

c.摆臂情况,依据量化的摆臂夹角或者主观摆臂状态,做摆臂情况的分类,类别标号与定义包括:

1.小摆臂:行走过程两臂角度小于ψ1;

2.正常摆臂:角度在ψ1到ψ2之间;

3.大摆臂:角度在ψ2以上。

进一步的,所述基于部分超高维模式识别的三维模型重建步骤如下:

d1、对三维点信息的状态进行人工判断,从而对这些数据做类别的人工标记;

d2、对关键三维点信息做参考模型;

d3、部分特征状态关联的自动学习,采用聚类的方式做相关性挖掘;

d4、根据学习到的信息与调整因子、步长的关系进行静态模型调整;

d5、对动态模型而言,利用人工对同人多帧三维信息的标记,通过挖掘的方法来对腿部、摆臂的类别做重新定义。

进一步的,所述基于超高维模式识别的三维模型重建步骤如下:

对于静态模型构建与调整:

e1、采集标准男、女三维点模型;

e2、计算所有采集到的男、女三维点模型的平均点,作为中心原点o,以过o点与人体三维模型脚底平面平行的平面作为xoy平面,ox方向平行于人的视线方向,oy方向垂直与人的视线方向,以过o点、垂直于xoy且正方向朝向向头部的轴定义为oz轴;

e3、计算所有男、女三维点到原点的距离、方向,在同方向但不同原点的条件下,计算距离每个方向最近的点,作为与平均模型三维点的同名点,计算点之间的差异;

e4、在给定的信息条件下,认为点差异是造成信息差异的主要原因,假定年龄、身高为向量v,点的距离差异为向量d,则可以认为v是d在某个平面的投影,即认为v=md,m是投影矩阵,在数据量足够的条件下,通过矩阵学习的方法来求得m的估计值,构建的目标函数采用贪婪法或者松弛法,或者采用非线性的神经网络做学习,求解的方法是最小二乘法,或者梯度下降,具体步骤如下:

(1)构建目标函数:||m-mt||<e,mt是估计矩阵,对目标函数求导,可以通过泰勒级数展开,求出m与其增量之间的关系,对于给定的v和d,通过迭代可以减小误差,直至满足误差要求;

(2)神经网络方法,结合vgg网络的思想,将d设为输入与输出层,经过卷积后的层级给定为v,然后通过反卷积得到d,通过训练,可以将反卷积层作为m的估计,即可用来求取m;

e5、在任何信息向量v给定的条件下,依据m求解d,然后对平均三维模型进行调整得到非先验知识的静态三维数据。

对于动态三维动画:

f1、对同一个人的动态三维数据做捕捉,形成三维模型序列;

f2、定义每个人具体部位的三维数据模型,包括:头、颈、胸、腹部、胳膊与手、腿与脚、臀部,以腹部三维数据计算平均值,做当前三维数据的原点o,以过o点与人体三维模型脚底平面平行的平面作为xoy平面,ox方向平行于人的视线方向,oy方向垂直与人的视线方向,以过o点、垂直于xoy且正方向朝向向头部的轴定义为oz轴;

f3、计算动态模型每个点与原点的距离与方向,然后计算在不同模型下,每个点与同名点距离与方向变化;

f4、在给定信息量与方向变化的基础上,按照与静态模型训练相同的方式,求出动态变化与信息描述的关系;

f5、在信息量与动态变化关联性学习完毕后,对静态三维模型进行动态变化,获取动态三维动画。

本发明还包括一种基于生物特征的人身立体重建系统,包括:

基于先验知识的差异性三维模型重建模块:对仅能提供客观存在的信息,包括体态、年龄、性别,并且不能提供相关信息下的关键三维数据特征进行重建;

基于部分超高维模式识别的三维模型重建模块:通过所述基于先验知识的差异性三维模型重建模块对静态模型的构建,对可以提供客观数据以外的关键部分三维点信息,包括kinect骨架数据的三维数据特征进行重建;

基于超高维模式识别的三维模型重建模块:对包括特征描述性信息和全三维点信息的的三维数据特征进行重建。

进一步的,所述基于先验知识的差异性三维模型重建模块包括静态模型构建模块和动态模型构建模块,

所述静态模型构建模块:对所得信息做离散化分类,构建基础的三维人体模型,对构建完成的三维人体模型做特化,针对其他不同的信息,对三维模型做调整参考。

所述动态模型构建模块:依据先验知识,定义人体在动态过程中的几个关键特征,构建基础三维动作作为基准三维动作,按照提供信息做统一化处理,按照不同的类别形成多种排列组合的三维动画形式,当获取信息后,按照产生动画的条件进行动画检索,完成三维静态模型到动态模型的转变。

进一步的,所述基于部分超高维模式识别的三维模型重建模块包括判断模块、参考模型模块、学习模块、静态模型调整模块和动态模型调整模块,

判断模块:对三维点信息的状态进行人工判断,从而对这些数据做类别的人工标记;

参考模型模块:对关键三维点信息做参考模型;

学习模块:部分特征状态关联的自动学习,采用聚类的方式做相关性挖掘;

静态模型调整模块:根据学习到的信息与调整因子、步长的关系进行静态模型调整;

动态模型调整模块:利用人工对同人多帧三维信息的标记,通过挖掘的方法来对腿部、摆臂的类别做重新定义。

进一步的,所述基于超高维模式识别的三维模型重建模块包括静态模型构建与调整模块和动态模型构建与调整模块,

静态模型构建与调整模块:

采集标准男、女三维点模型;计算所有采集到的男、女三维点模型的平均点,作为中心原点o,以过o点与人体三维模型脚底平面平行的平面作为xoy平面,ox方向平行于人的视线方向,oy方向垂直与人的视线方向,以过o点、垂直于xoy且正方向朝向向头部的轴定义为oz轴;计算所有男、女三维点到原点的距离、方向,在同方向但不同原点的条件下,计算距离每个方向最近的点,作为与平均模型三维点的同名点,计算点之间的差异;在给定的信息条件下,认为点差异是造成信息差异的主要原因,假定年龄、身高为向量v,点的距离差异为向量d,则可以认为v是d在某个平面的投影,即认为v=md,m是投影矩阵,在数据量足够的条件下,通过矩阵学习的方法来求得m的估计值,构建的目标函数采用贪婪法或者松弛法,或者采用非线性的神经网络做学习,求解的方法是最小二乘法,或者梯度下降,具体步骤如下:

(1)构建目标函数:||m-mt||<e,mt是估计矩阵,对目标函数求导,可以通过泰勒级数展开,求出m与其增量之间的关系,对于给定的v和d,通过迭代可以减小误差,直至满足误差要求;

(2)神经网络方法,结合vgg网络的思想,将d设为输入与输出层,经过卷积后的层级给定为v,然后通过反卷积得到d,通过训练,可以将反卷积层作为m的估计,即可用来求取m;

在任何信息向量v给定的条件下,依据m求解d,然后对平均三维模型进行调整得到非先验知识的静态三维数据。

动态模型构建与调整模块:对同一个人的动态三维数据做捕捉,形成三维模型序列;定义每个人具体部位的三维数据模型,包括:头、颈、胸、腹部、胳膊与手、腿与脚、臀部,以腹部三维数据计算平均值,做当前三维数据的原点o,以过o点与人体三维模型脚底平面平行的平面作为xoy平面,ox方向平行于人的视线方向,oy方向垂直与人的视线方向,以过o点、垂直于xoy且正方向朝向向头部的轴定义为oz轴;计算动态模型每个点与原点的距离与方向,然后计算在不同模型下,每个点与同名点距离与方向变化;在给定信息量与方向变化的基础上,按照与静态模型训练相同的方式,求出动态变化与信息描述的关系;在信息量与动态变化关联性学习完毕后,对静态三维模型进行动态变化,获取动态三维动画。

本发明的有益效果是:

本发明所述的基于生物特征的人身立体重建方法和系统解决了超低维数据到高维数据的无穷解问题和三维数据的动态重构问题,能分别在不同条件下进行人身立体重建,包括:

(1)对仅能提供客观存在的信息,包括体态、年龄、性别,并且不能提供相关信息下的关键三维数据特征进行重建;

(2)对可以提供客观数据以外的关键部分三维点信息,包括kinect骨架数据的三维数据特征进行重建;

(3)对包括特征描述性信息和全三维点信息的的三维数据特征进行重建。

重建范围更广,更具有普遍性。

具体实施方式

实施例1

一种基于生物特征的人身立体重建方法,包括:

基于先验知识的差异性三维模型重建步骤;

基于部分超高维模式识别的三维模型重建步骤;

基于超高维模式识别的三维模型重建步骤。

进一步的,所述基于先验知识的差异性三维模型重建包括静态模型构建和动态模型构建;

所述静态模型构建包括以下步骤:

a1、对所得信息做离散化分类;

a2、构建基础的三维人体模型;

a3、对构建完成的三维人体模型做特化;

a4、针对其他不同的信息,对三维模型做调整参考;

所述动态模型构建包括以下步骤:

b1、依据先验知识,定义人体在动态过程中的几个关键特征;

b2、构建基础三维动作作为基准三维动作;

b3、按照提供信息做统一化处理;

b4、按照不同的类别形成多种排列组合的三维动画形式,当获取信息后,按照产生动画的条件进行动画检索,完成三维静态模型到动态模型的转变。

进一步的,步骤a4中调整方法包括以下步骤:

c1、将调整对象分为11类;

c2、对每类的三维点云数据做划分归类;

c3、计算每类三维数据的平均点位置作为调整对象的原点o;

c4、以过o点与人体三维模型脚底平面平行的平面作为xoy平面,ox方向平行于人的视线方向,oy方向垂直与人的视线方向,以过o点、垂直于xoy且正方向朝向向头部的轴定义为oz轴;

c5、规定调整度w,取值范围是[-1,1],代表不同信息值对应不同部位的变化剧烈程度;规定调整单位n,代表不同调整度对应的单位距离变化;

c6、对于调整宽窄的,假定要调整的点为p(xp,yp,zp),脚最低点与头部最高点的棋盘距离为d,将该类所有点云数据按照如下方式调整:计算p点到脚底的距离dp,将调整度更新为dp/d×w,即离脚越远,则调整度越高,反之越低,此时,以zp为参考原点op,p点在xoyp平面上沿方向(xp,yp)向外移动dp/d×w×n个单位;

c7、对于调整长短的,对某个部位来讲,假定原始长度为l,则调整后的长度为l2=l+w×n,将该部位的原始三维点最低点与最高点分别沿op轴的负、正方向,调整w/2n个单位,然后,将从o点出发,分别向正、负方向按照步长为n/δ取均匀分布的多个基准点,以每个基准点做平行于xoy平面的基准平面,采用插值的方式,获取过每个基准平面的三维数据点,将得到的三维数据点代替该部位原来的三维数据点;

c8、对于调整弯曲度的,假定要调整的点为p(xp,yp,zp),计算调整部位在yoz坐标轴上,与y=z最近的点s(xs,ys,zs),计算整体部位点与s最远点的距离d,计算p与s的几何距离dps,沿yoz平面的y=z方向,将调整度更新为dp/d×w,以o为原点,p点在要求方向向外移动dp/d×w×n个单位;

c9、对模型分区临界点群做突变评估,计算调整前与调整后的点间距离q,q大于0,则认为出现突变,按照顶部为准的准则,对调整部位的三维点,按照与连接处越远调整越小的准则进行调整,具体方式是:以优先部位的点集为初始点集,找到调整部位与优先部位点集的同名点集,从而找到同名点集相关的三角网格顶点,按照原始的三角网络的边长等量,对以初始点集为新顶点的三角网格做调整,每个顶点沿三角网格的法线方向做移动,直至新的三角网格边长与之前的边长平均变化满足误差要求,这里变化delta=新边长r/旧边长w,误差阈值t=a/(exp(-q)),a为常量系数。

进一步的,步骤b3中按照提供信息做统一化处理包括:

a.脚部动作,定量步角与起脚类别、行走方式落脚状态描述信息,均转换为固定的类别,类别标号与定义包括:

1.严重内起:明显内八,大于θ1,小于θ2;

2.略微内起:内八,步角大于θ2,小于θ3;

3.正常;

4.略微外起:外八,步角大于θ4,小于θ5;

5.严重外起:明显外八,步角小于θ6,大于θ5;

b.腿部动作,定量的步宽信息、行走方式描述信息转换为固定的类别,类别标号与定义包括:

1.x型腿:步宽在λ1与λ2之间;

2.严重x型腿:步宽在λ2与λ3之间;

3.正常行走;

4.o型腿:步宽在λ3与λ4之间;

5.严重o型腿:步宽在λ4与λ5之间;

c.摆臂情况,依据量化的摆臂夹角或者主观摆臂状态,做摆臂情况的分类,类别标号与定义包括:

1.小摆臂:行走过程两臂角度小于ψ1;

2.正常摆臂:角度在ψ1到ψ2之间;

3.大摆臂:角度在ψ2以上。

进一步的,所述基于部分超高维模式识别的三维模型重建步骤如下:

d1、对三维点信息的状态进行人工判断,从而对这些数据做类别的人工标记;

d2、对关键三维点信息做参考模型;

d3、部分特征状态关联的自动学习,采用聚类的方式做相关性挖掘;

d4、根据学习到的信息与调整因子、步长的关系进行静态模型调整;

d5、对动态模型而言,利用人工对同人多帧三维信息的标记,通过挖掘的方法来对腿部、摆臂的类别做重新定义。

进一步的,所述基于超高维模式识别的三维模型重建步骤如下:

对于静态模型构建与调整:

e1、采集标准男、女三维点模型;

e2、计算所有采集到的男、女三维点模型的平均点,作为中心原点o,以过o点与人体三维模型脚底平面平行的平面作为xoy平面,ox方向平行于人的视线方向,oy方向垂直与人的视线方向,以过o点、垂直于xoy且正方向朝向向头部的轴定义为oz轴;

e3、计算所有男、女三维点到原点的距离、方向,在同方向但不同原点的条件下,计算距离每个方向最近的点,作为与平均模型三维点的同名点,计算点之间的差异;

e4、在给定的信息条件下,认为点差异是造成信息差异的主要原因,假定年龄、身高为向量v,点的距离差异为向量d,则可以认为v是d在某个平面的投影,即认为v=md,m是投影矩阵,在数据量足够的条件下,通过矩阵学习的方法来求得m的估计值,构建的目标函数采用贪婪法或者松弛法,或者采用非线性的神经网络做学习,求解的方法是最小二乘法,或者梯度下降,具体步骤如下:

(1)构建目标函数:||m-mt||<e,mt是估计矩阵,对目标函数求导,可以通过泰勒级数展开,求出m与其增量之间的关系,对于给定的v和d,通过迭代可以减小误差,直至满足误差要求;

(2)神经网络方法,结合vgg网络的思想,将d设为输入与输出层,经过卷积后的层级给定为v,然后通过反卷积得到d,通过训练,可以将反卷积层作为m的估计,即可用来求取m;

e5、在任何信息向量v给定的条件下,依据m求解d,然后对平均三维模型进行调整得到非先验知识的静态三维数据。

对于动态三维动画:

f1、对同一个人的动态三维数据做捕捉,形成三维模型序列;

f2、定义每个人具体部位的三维数据模型,包括:头、颈、胸、腹部、胳膊与手、腿与脚、臀部,以腹部三维数据计算平均值,做当前三维数据的原点o,以过o点与人体三维模型脚底平面平行的平面作为xoy平面,ox方向平行于人的视线方向,oy方向垂直与人的视线方向,以过o点、垂直于xoy且正方向朝向向头部的轴定义为oz轴;

f3、计算动态模型每个点与原点的距离与方向,然后计算在不同模型下,每个点与同名点距离与方向变化;

f4、在给定信息量与方向变化的基础上,按照与静态模型训练相同的方式,求出动态变化与信息描述的关系;

f5、在信息量与动态变化关联性学习完毕后,对静态三维模型进行动态变化,获取动态三维动画。

实施例2:

一种基于生物特征的人身立体重建系统,包括:

基于先验知识的差异性三维模型重建模块:对仅能提供客观存在的信息,包括体态、年龄、性别,并且不能提供相关信息下的关键三维数据特征进行重建;

基于部分超高维模式识别的三维模型重建模块:通过所述基于先验知识的差异性三维模型重建模块对静态模型的构建,对可以提供客观数据以外的关键部分三维点信息,包括kinect骨架数据的三维数据特征进行重建;

基于超高维模式识别的三维模型重建模块:对包括特征描述性信息和全三维点信息的的三维数据特征进行重建。

进一步的,所述基于先验知识的差异性三维模型重建模块包括静态模型构建模块和动态模型构建模块,

所述静态模型构建模块:对所得信息做离散化分类,构建基础的三维人体模型,对构建完成的三维人体模型做特化,针对其他不同的信息,对三维模型做调整参考。

所述动态模型构建模块:依据先验知识,定义人体在动态过程中的几个关键特征,构建基础三维动作作为基准三维动作,按照提供信息做统一化处理,按照不同的类别形成多种排列组合的三维动画形式,当获取信息后,按照产生动画的条件进行动画检索,完成三维静态模型到动态模型的转变。

进一步的,所述基于部分超高维模式识别的三维模型重建模块包括判断模块、参考模型模块、学习模块、静态模型调整模块和动态模型调整模块,

判断模块:对三维点信息的状态进行人工判断,从而对这些数据做类别的人工标记;

参考模型模块:对关键三维点信息做参考模型;

学习模块:部分特征状态关联的自动学习,采用聚类的方式做相关性挖掘;

静态模型调整模块:根据学习到的信息与调整因子、步长的关系进行静态模型调整;

动态模型调整模块:利用人工对同人多帧三维信息的标记,通过挖掘的方法来对腿部、摆臂的类别做重新定义。

进一步的,所述基于超高维模式识别的三维模型重建模块包括静态模型构建与调整模块和动态模型构建与调整模块,

静态模型构建与调整模块:

采集标准男、女三维点模型;计算所有采集到的男、女三维点模型的平均点,作为中心原点o,以过o点与人体三维模型脚底平面平行的平面作为xoy平面,ox方向平行于人的视线方向,oy方向垂直与人的视线方向,以过o点、垂直于xoy且正方向朝向向头部的轴定义为oz轴;计算所有男、女三维点到原点的距离、方向,在同方向但不同原点的条件下,计算距离每个方向最近的点,作为与平均模型三维点的同名点,计算点之间的差异;在给定的信息条件下,认为点差异是造成信息差异的主要原因,假定年龄、身高为向量v,点的距离差异为向量d,则可以认为v是d在某个平面的投影,即认为v=md,m是投影矩阵,在数据量足够的条件下,通过矩阵学习的方法来求得m的估计值,构建的目标函数采用贪婪法或者松弛法,或者采用非线性的神经网络做学习,求解的方法是最小二乘法,或者梯度下降,具体步骤如下:

(1)构建目标函数:||m-mt||<e,mt是估计矩阵,对目标函数求导,可以通过泰勒级数展开,求出m与其增量之间的关系,对于给定的v和d,通过迭代可以减小误差,直至满足误差要求;

(2)神经网络方法,结合vgg网络的思想,将d设为输入与输出层,经过卷积后的层级给定为v,然后通过反卷积得到d,通过训练,可以将反卷积层作为m的估计,即可用来求取m;

在任何信息向量v给定的条件下,依据m求解d,然后对平均三维模型进行调整得到非先验知识的静态三维数据。

动态模型构建与调整模块:对同一个人的动态三维数据做捕捉,形成三维模型序列;定义每个人具体部位的三维数据模型,包括:头、颈、胸、腹部、胳膊与手、腿与脚、臀部,以腹部三维数据计算平均值,做当前三维数据的原点o,以过o点与人体三维模型脚底平面平行的平面作为xoy平面,ox方向平行于人的视线方向,oy方向垂直与人的视线方向,以过o点、垂直于xoy且正方向朝向向头部的轴定义为oz轴;计算动态模型每个点与原点的距离与方向,然后计算在不同模型下,每个点与同名点距离与方向变化;在给定信息量与方向变化的基础上,按照与静态模型训练相同的方式,求出动态变化与信息描述的关系;在信息量与动态变化关联性学习完毕后,对静态三维模型进行动态变化,获取动态三维动画。

实施例3

作为一种新的实施例或者实施例1的补充。

一种基于生物特征的人身立体重建方法,方案如下:

1.要求:

1)提供的生物特征信息是量化的,准确的,数据量化精度依据不同的特征有不同的要求,但最基础要保证人判定不会有歧义;

2)建立静态模型至少提供性别、年龄、身高、体重信息;

3)建立动态模型至少提供步长、步宽、步角(左右脚)信息;

4)提供平均男性与女性的三维身体模型。

2.重建方法:

1)解决问题:

超低维数据到高维数据的无穷解问题;

三维数据的动态重构。

2)针对提供数据类型的多少与多样性可以分为以下几个层次的重建:

(1)基于先验知识(常识)的差异性三维模型重建:

假如仅能提供体态(身高与体重)、年龄、性别等客观存在的信息,并不能提供相关信息下的关键三维数据特征,则采用差异性三维模型重建方法。

这种方法采用的是先验知识的模拟化方法,所谓先验知识,是指人在先天学习过程中,已经学习到的或者推断出的知识体系。比如在介绍某人特征时,往往会有包含三维模型特征的描述信息:男性、体态偏瘦,有点驼背(年龄或者职业),这些描述信息已经可以让信息接收方在脑中形成概要式的三维模型。该过程的数字化方法即是该方法。

这种方法主要包括两个大步骤:

a.静态模型构建,满足信息要求条件下,构建出符合提供信息描述的静态三维模型,分为以下几个步骤:

i.根据可以得到的信息,对信息做离散化分类,比如:

a.男性、女性分成两类;

b.身高,每1cm分一类;

c.体重,每5kg分一类;

d.年龄,每1岁分一类;

e.其他信息,离散量直接按照离散后的种类多少来规定类别多少,非离散量可以按照量化单位来做离散化。

ii.构建基础的三维人体模型,采用任何工具、软件均可,三维数据需要提供默认贴图纹理,点数据量要求至少可以分辨出人物模型的手指;

iii.对构建完成的三维人体模型做特化,男性、女性分别完成两种平均模型,并规定两种模型对应的身高、体重、年龄等信息,作为标准模型,例如:男性的平均模型代表身高为175cm,体重为70kg,年龄为25周岁,职业为白领,民族为汉族,出生地为内蒙古;

iv.针对其他不同的信息,对三维模型做调整参考,调整对象包括:

a.脚部三维数据的宽窄;

b.腿部弯曲度

c.腿部长度;

d.胯部宽窄;

e.身体长度;

f.腰部宽窄;

g.胸部宽窄;

h.背部弯曲度;

i.肩宽;

j.脖长;

k.头部大小。

v.调整的方法:

a.将调整对象分为11类;

b.对每类的三维点云数据做划分归类(调整宽窄、长短、弯曲度等);

c.计算每类三维数据的平均点位置作为调整对象的原点o;

d.以过o点与人体三维模型脚底平面平行的平面作为xoy平面,ox方向平行于人的视线方向,oy方向垂直与人的视线方向,以过o点、垂直于xoy且正方向朝向向头部的轴定义为oz轴;

e.规定调整度w,取值范围是[-1,1],代表的是不同信息值对应不同部位的变化剧烈程度,规定调整单位n,代表的是不同调整度对应的单位距离变化,这些均需要先验知识做提前规定;

f.对于调整宽窄的,假定要调整的点为p(xp,yp,zp),脚最低点与头部最高点的棋盘距离为d,将该类所有点云数据按照如下方式调整:计算p点到脚底的距离dp,将调整度更新为dp/d×w,即离脚越远,则调整度越高,反之越低,此时,以zp为参考原点op,p点在xoyp平面上沿方向(xp,yp)向外移动dp/d×w×n个单位;

g.对于调整长短的,对某个部位来讲,假定原始长度(长度=oz轴最低点与最高点差的绝对值)为l,则调整后的长度为l2=l+w×n,将该部位的原始三维点最低点与最高点分别沿op轴的负、正方向,调整w/2n个单位,然后,将从o点出发,分别向正、负方向按照步长为n/10取均匀分布的多个基准点,以每个基准点做平行于xoy平面的基准平面,采用插值的方式,获取过每个基准平面的三维数据点,将得到的三维数据点代替该部位原来的三维数据点即可;

h.对于调整弯曲度的,假定要调整的点为p(xp,yp,zp),计算调整部位在yoz坐标轴上,与y=z最近的点s(xs,ys,zs),计算整体部位点与s最远点的距离d,计算p与s的几何距离dps,沿yoz平面的y=z方向,将调整度更新为dp/d×w,以o为原点,p点在要求方向向外移动dp/d×w×n个单位;

i.部分调整会引起整体三维模型的变化,比如脚部变宽后,腿部也要做相应变宽,但按照给定参数调整后,并不能保证前后变化会完全一致,这会会降低未调整时的部位连接光滑度,使模型有明显的突变区域,因此,为了改善这种情况,在完成局部调整后,需要对模型分区临界点群做突变评估,计算调整前与调整后的点间距离q,q大于0,则认为出现突变,按照顶部为准的准则(哪个部位的平均点靠近脚部,哪个部位做调整),对调整部位的三维点,按照与连接处越远调整越小的准则进行调整,具体方式是:以优先部位的点集为初始点集,找到调整部位与优先部位点集的同名点集,从而找到同名点集相关的三角网格顶点,按照原始的三角网络的边长等量,对以初始点集为新顶点的三角网格做调整,每个顶点(除了初始点)沿三角网格的法线方向做移动,直至新的三角网格边长与之前的边长平均变化满足误差要求,这里变化delta=新边长r/旧边长w,误差阈值t=1/(exp(-q))。

b.动态模型构建,满足信息要求条件下,静态三维模型的动态化,动态模型

构建可分为以下几个步骤:

i.依据先验知识,定义人体在动态过程中的几个关键特征,这里将动态特征分为以下几类(实际过程中先验知识越多,特征越多,动态模型呈现出的类别状态也越多):

a.脚部动作;

b.腿部动作;

c.摆臂情况。

ii.构建基础三维动作,作为基准三维动作,一般可以将人正常走路时的状态作为基准三维动作;

iii.按照提供信息做统一化处理,这处理对象包括量化特征与非量化的描述特征,目的是将特征转换为不同的动作类别,这里提供的信息包括但不限于步长、步宽、步角等定量信息,也可以是行走时直接状态描述,比如外八字、内八字、甩臂是否明显等,对于不同的特征类别,不同的信息做统一化处理,对于:

a.脚部动作,全部转换为起脚类别、行走方式类别与落脚类别,起脚类别包括:严重内起:明显内八,大于θ1,小于θ2;略微内起:内八,步角大于θ2,小于θ3;正常;略微外起:外八,步角大于θ4,小于θ5;严重外起:明显外八,步角小于θ6,大于θ5;

b.腿部动作,定义行走方式为x型腿:步宽在λ1与λ2之间;严重x型腿:步宽在λ2与λ3之间;正常行走;o型腿:步宽在λ3与λ4之间;严重o型腿:步宽在λ4与λ5之间;

c.摆臂情况,小摆臂:行走过程两臂角度小于ψ1;正常摆臂:角度在ψ1到ψ2之间;大摆臂:角度在ψ2以上;

iv.按照不同的类别形成多种排列组合的三维动画形式,当获取信息后,按照产生动画的条件(脚部、腿部、摆臂)来进行动画检索,完成三维静态模型到动态模型的产生。

(2)基于部分超高维模式识别的三维模型重建:

假定可以提供客观数据以外的关键部分三维点信息,包括但不限于kinect骨架数据,则可以通过(1)中对静态模型的构建,进行:

i.对三维点信息的状态进行人工判断,从而对这些数据做类别的人工标记,比如:腿部弯曲度、腿长、胯部宽度、躯干长度、肩宽、头部大小等;

ii.对关键三维点信息做参考模型,并不是之前的人模型,而是简化后的参考模型,不同之处在于,这个三维点模型可以通过直接采集满足信息要求的人获得,但点数远远少于全三维点模型;

iii.部分特征状态关联的自动学习,学习的目的是找到输入信息不同与关键点模型差异的相关性,一般可以采用聚类的方式做相关性挖掘,典型的聚类方法是k-means,此外,也可以通过参数估计得方式来估计w与n,这样可以减小基于先验知识的静态模型构建误差;

iv.根据学习到的信息与调整因子、步长的关系进行静态模型调整。

对动态模型而言,利用人工对同人多帧三维信息(动画)的标记,可以通过挖掘(聚类)的方法来对腿部、摆臂的类别做重新定义,减小先验知识误差。

(3)基于超高维模式识别的三维模型重建:

假定提供的信息不但包括特征描述性信息,还包括全三维点信息(假定存在相关设备进行三维模型采集),则,

a.对于静态模型构建与调整而言:

i.采集标准男、女三维点模型;

ii.计算所有采集到的男、女三维点模型的平均点,作为中心原点o,以过o点与人体三维模型脚底平面平行的平面作为xoy平面,ox方向平行于人的视线方向,oy方向垂直与人的视线方向,以过o点、垂直于xoy且正方向朝向向头部的轴定义为oz轴;

iii.计算所有男、女三维点到原点的距离、方向,在同方向但不同原点(模型不同)的条件下,计算距离每个方向最近的点(也可以计算与三角网格的交点),作为与平均模型三维点的同名点,计算点之间的差异;

iv.在给定的信息条件下,认为点差异是造成信息差异的主要原因,假定年龄、身高等客观描述信息为向量v,点的距离差异为向量d,则可以认为v是d在某个平面的投影,即认为v=md,这里的m即是投影矩阵,在数据量足够的条件下,可以通过矩阵学习的方法来求得m的估计,构建的目标函数可以是采用贪婪法、松弛法等,也可以采用非线性的神经网络做学习,求解的方法可以是最小二乘法,也可以是梯度下降,这里给出典型的两种方法:

a.构建目标函数:||m-mt||<e,mt是估计矩阵,对目标函数求导,可以通过泰勒级数展开,求出m与其增量之间的关系,对于给定的v和d,通过迭代可以减小误差,直至满足误差要求;

b.神经网络方法,结合vgg网络的思想,将d设为输入与输出层,经过卷积后的层级给定为v,然后通过反卷积得到d,通过训练,可以将反卷积层作为m的估计,即可用来求取m。

v.在任何信息向量v给定的条件下,依据m求解d,然后对平均三维模型进行调整即可得到非先验知识的静态三维数据。

b.对于动态三维动画而言:

i.对同一个人的动态三维数据做捕捉,形成三维模型序列;

ii.定义每个人具体部位的三维数据模型,包括:头、颈、胸、腹部、胳膊与手、腿与脚、臀部,以腹部三维数据计算平均值,做当前三维数据的原点o,以过o点与人体三维模型脚底平面平行的平面作为xoy平面,ox方向平行于人的视线方向,oy方向垂直与人的视线方向,以过o点、垂直于xoy且正方向朝向向头部的轴定义为oz轴;

iii.计算动态模型每个点与原点的距离与方向,然后计算在不同模型下,每个点与同名点距离与方向变化;

iv.在给定信息量与方向变化的基础上,按照与静态模型训练相同的方式,可以求出动态变化与信息描述的关系,假如:学习过程不收敛,或者学习效果不理想,增加描述信息维度(增加描述特征种类),或者将量化后的信息改为连续量;

v.在信息量与动态变化关联性学习完毕后,可以对静态三维模型进行动态变化,以此获取动态三维动画。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1