首页 / 专利库 / 人工智能 / 三维形变模型 / 一种采用手绘草图的三维人体建模方法

一种采用手绘草图的三维人体建模方法

阅读:369发布:2021-01-08

专利汇可以提供一种采用手绘草图的三维人体建模方法专利检索,专利查询,专利分析的服务。并且本 发明 提出了一种采用手绘草图的三维人体建模方法,包括以下步骤:步骤一,草图解析:将人体草图分解为骨架笔画集Ss、轮廓笔画集Sp以及线索笔画集Sc;步骤二,模型特征提取:在预定义的人体 网格模型 MH上进行人体骨架结构 抽取 ;步骤三,深度恢复:在二维人体 姿态 的 基础 上,根据骨架结构识别对线索笔画集进行线索判定的结果及人体骨架结构计算三维人体姿态;步骤四, 三维重建 :根据三维形变参数对四肢及躯干网格模型的截面轮廓特征进行形变。本发明利用手绘草图绘制人体正视图骨架和轮廓,并直接生成 三维网格 模型,符合动画 角 色设计师的平面绘制习惯,简化了人体建模流程,大大减少了用户进行人体建模的时间。,下面是一种采用手绘草图的三维人体建模方法专利的具体信息内容。

1.一种采用手绘草图的三维人体建模方法,其特征在于,包括以下步骤:
步骤一,草图解析:将人体草图分解为骨架笔画集Ss、轮廓笔画集Sp以及线索笔画集Se;对骨架笔画集Ss进行骨架结构识别得到二维人体姿态,根据骨架结构识别对轮廓笔画集进行骨架-轮廓对应并提取草图轮廓特征,根据骨架结构识别对线索笔画集进行线索判定;
步骤二,模型特征提取:在预定义的人体网格模型MH上进行人体骨架结构抽取,定义标准三维人体模型标定关节点并计算深度,得到标准人体骨架结构GHS;进行截面轮廓特征抽取,对标准三维人体模型进行分割,并在标准人体骨架结构GHS的基础上分别计算人体四肢及躯干网格模型的轮廓截面特征;
步骤三,深度恢复:在二维人体姿态的基础上,根据骨架结构识别对线索笔画集进行线索判定的结果及人体骨架结构计算三维人体姿态,根据三维人体姿态进行轮廓特征对应,计算对应特征之间的差异得到轮廓形变参数,并在轮廓截面特征的基础上计算对应轮廓特征的比值得到三维形变参数;
步骤四,三维重建:根据三维形变参数对四肢及躯干网格模型的截面轮廓特征进行形变,并根据人体骨架结构将各肢体网格模型转换到世界坐标系,最后对各肢体网格模型进行模型网格混合,得到所述三维人体模型。
2.根据权利要求1所述的一种采用手绘草图的三维人体建模方法,其特征在于,步骤一中,对骨架笔画集Ss中的骨架笔画Bj进行分割,将所有笔画分为直线和椭圆两类图元,根据图元的位置关系将笔画识别为对应的骨架段,并将各骨架笔画Bj的端点进行合并得到对应的人体关节点;关节点位置与骨架段方向构成人体骨架结构GSS,作为二维人体姿态参数;
计算轮廓笔画集Sp中每一条轮廓笔画Pi的闭包矩形与人体骨架结构GSS中每一条骨架笔画Bj闭包矩形的重合程度,重合程度ηij=Aoij/Aj,其中Aoij为轮廓笔画Pi与骨架笔画Bj的闭包矩形重叠面积,Aj为骨架笔画Bj的闭包矩形面积;取重合程度ηij最大的骨架笔画Bj与轮廓笔画Pj对应,并根据骨架笔画Bj对轮廓笔画Pi进行等距离采样计算草图轮廓特征;
计算线索笔画集Sc中每一条线索笔画Ci与人体骨架结构GSS中每一条骨架笔画Bj的闭包矩形的重合程度,重合程度σij=mik/ni,其中ni为线索笔画Ci的采样点数,mik为线索笔画Ci落在骨架笔画Bj闭包矩形内的采样点数;取重合程度σij最大的骨架笔画Bj,将线索笔画Ci判定为作用于该骨架笔画Bj。
3.根据权利要求1所述的一种采用手绘草图的三维人体建模方法,步骤二中,包括以下步骤:
定义标准人体骨架结构GHS={VJ,EB},其中VJ为标准人体关节点集合,EB为标准人体骨架段集合;标准人体骨架结构GHS中共包含15个标准人体关节点以及12段标准人体骨架段;
根据标准人体关节点集合VJ,在人体网格模型MH的正视图上标定各人体关节点vi的二维位置(x,y),并计算该关节点vi处人体模型的深度均值根据标准人体骨架段集合EB将15个标准人体关节点v0,v1,…,v14进行连接,得到该人体网格模型MH的人体骨架结构GMH;
在人体网格模型MH的左右肩膀和左右大腿根处将其划分为四肢和躯干,根据人体骨架结构GMH对各骨架段Bi所对应肢体的网格模型进行采样,通过轮廓截面抽取算法计算各肢体网格模型的截面半径集合,得到各肢体的轮廓截面特征SCSD。
4.根据权利要求1所述的一种采用手绘草图的三维人体建模方法,步骤三中,包括以下步骤:
以人体骨架结构GSS中的腰部关节点C1为根节点遍历调整人体骨架结构GSS中的骨架段方向:设每条骨架段所包含的线索笔画上限为mmax条,对每条包含mk条线索线的骨架段Bk计算骨架段Bk的倾θ=mkπ/2mmax,以骨架段Bk中距根节点近的关节点为中心,按照视平面垂直方向移动距根节点远的关节点位置,并在人体骨架结构GSS所定义的关节点自由度限制下计算各关节点的深度,得到新的人体骨架结构G′SS作为三维人体姿态参数;
根据三维人体姿态参数将各骨架段的草图轮廓特征与模型截面轮廓特征进行对应,计算对应参数之间的缩放比例作为二维形变参数,并根据模型截面轮廓特征对二维形变参数进行线性插值得到三维形变参数。
5.根据权利要求1所述的一种采用手绘草图的三维人体建模方法,其特征在于,步骤四中,包括以下步骤:
在对应骨架段的局部坐标系下,通过模型轮廓截面特征,根据人体三维形变参数计算各肢体部分截面采样点的局部坐标,并根据人体骨架结构G′SS将所有截面采样点的坐标转化为世界坐标系坐标,得到人体四肢及躯干网格模型;
根据肢体之间的连接情况将肢体混合过程分为肘和膝关节混合、肩部混合、胯部混合三类,并对肘和膝关节混合以及胯部混合采用对应点插值的方法进行形变,对肩部混合采用基于特征点的形变方法进行形变,对相邻肢体网格模型进行混合,得到完整的人体网格模型。
6.根据权利要求2所述的一种采用手绘草图的三维人体建模方法,其特征在于,所述笔划分割算法基于引模型,定义任意点A和点B两点之间的引力大小为:
f(A,B)=αβDis2(A,B)
其中,α和β分别为点A和点B的转角,Dis(A,B)为点A和点B之间的距离,对于任意一个顶点,计算两个相邻点对它的吸引,如果引力值超过了阈值,将该点和相邻点合并,对任意曲线遍历其所有采样点进行合并,计算剩余的顶点数Vmin,并根据剩余的顶点数Vmin,将该曲线识别为直线或者椭圆。
7.根据权利要求3所述的一种采用手绘草图的三维人体建模方法,其特征在于,所述通过轮廓截面抽取算法计算各肢体网格模型的截面半径集合,包含以下步骤:
对人体骨架结构中的各骨架段进行等距离采样,采样点数根据标准人体骨架结构中的预设值确定;
在各采样点处作垂直于骨架段的平面,与人体网格模型相交,得到骨架段垂面;
在骨架段垂面与人体网格模型的交线上,以对应采样点为中心进行等份角度n采样,其中0°<n<360°,得到该采样点对应的360/n个截面半径长度;
所有骨架段的所有采样点对应的截面半径长度构成的集合即为模型的轮廓截面特征集合。

说明书全文

技术领域

发明涉及一种三维人体模型的生成方法,特别是一种采用手绘人体草图生成三维人体模型的方法。

背景技术

近年来,三维虚拟人物在工业、军事、生物制药以及教育领域有着广泛的应用,同时,三维人物建模技术在游戏、电影和多媒体方面起着越来越重要的作用,寻找一种简单有效地构建三维人体模型的方法,成为计算机图形学领域的重要课题。
现有的虚拟人物构建方法主要分为三个类别:创建,重构,插值。这些方法大多是从所构造的人体模型的真实性入手,以实际的人体结构为基础,按照人体的现实层次:骨架,肌肉,脂肪组织,皮肤等等,来创建符合人体生理结构的人体层次物理模型,并通过模拟身体各层次的物理性质来驱动人体模型的运动,从而达到模拟仿真人体运动的目的。典型的方法如文献1:Wilhelms J,Van Gelder A.Anatomically basedmodeling,In:Proceedings of SIGGRAPH’97,ACM SIGGRAPH;1997.p.173-80提出的一种基于解剖学的生物建模和模拟方法:首先建立一个人体关节和骨架模型,在此基础上根据解剖学知识构建单独的骨架,肌肉,并生成皮下组织结构,用这些层次表示身体形状;皮下组织体素化为三维网格,在此基础上使用等势面技术抽取皮肤层;皮肤层被建模为一层弹性网格结构。在运动模拟过程中,首先确定关节的运动,在此基础上计算骨架,皮下组织和肌肉的新位置,肌肉在保持体积不变的情况下进行形变;皮肤锚点随皮下组织进行位移,其他部分位置由弹性网格松弛得到)。上述各类方法能够建立极为逼真的人体模型,但是一般需要大量的专业技能以及特殊的设备(传统的/视频照相机,三维人体扫描仪,运动捕获系统,等等),专业软件,以及熟练的计算机技能。如果不经过专的训练,普通用户(例如平面艺术家和设计者)难以参与到创建个性化三维虚拟人物模型的过程中去。
由于现有的动画设计流程通常将人物形象设计与三维人物建模过程分离开来,一方面使设计师的创作意图难以完整而真实地体现在人体模型中,另一方面也使整个人物设计建模过程变得复杂冗长。通过将手绘草图交互方式引入到人体建模流程中,能够将上述两个过程结合起来,从而让设计师能够使用纸笔交互方式直接构造三维人体模型。基于手绘草图的三维模型生成技术的核心问题是“从图画中获取三维形状(ShapeFrom Drawings)”,即:如何从二维平面草图中恢复物体的三维信息。这个问题面临的主要困难在于:与给定二维图画相匹配的三维模型信息具有不唯一性(一对多映射)。由于图像和视频等数字媒体中对象或场景的三维信息是通过投影以二维形式呈现的,因此,“从二维平面中获得(三维)深度信息”也是计算机视觉领域的一个基本问题,这一领域解决这个问题的典型方法是:从X生成形状技术(shape from X:X代表视频、阴影、纹理、聚焦和光流等视觉特征),一些以图像导引的草绘系统采用此原理来支持用户通过在多个标准正交构造平面上的草图像轮廓来生成三维线架模型。但是,手绘草图是以粗略形状来创建三维模型,而不强调形体构成的细节信息,且多视手绘草图方式不符合用户的日常绘制习惯。
已有的采用单幅草图创建三维人体模型过程主要有以下方法:膨胀体建模方法,文献2:Igarashi T,Matsuoka S,Tanaka H.Teddy:a sketching interface for 3D freeformdesign.In:Proceedings of SIGGRAPH‘99,ACM SIGGRAPH;1999.p.409-16提出了一种通过绘制轮廓物体轮廓创建膨胀体模型的通用方法,该方法可以用来快速创建人体模型,但是其膨胀参数为固定值,并不能够表现用户绘制的人体特征;基于模板的方法,文献3:Chen Mao,Sheng Feng Qin,David Wright,ChenMao,Sheng Feng Qin andDavidWright,Asketch-based approachto human body modelling,Computers&Graphics(2009),doi:10.1016/j.cag.2009.03.028提出了一种基于手绘人体轮廓的三维人体模板形变方法,该方法允许用户绘制人体骨架线及皮肤轮廓构造简单的人体几何模型。但是,该方法所使用的模板数据来源于尸体扫描图片,一方面需要复杂的图像识别过程来构建模板,限制了模板的多样性;另一方面,对于人体模板的定义较为简单,因此仅能表现部分人体姿态。同时,该方法通过指定的人体模板进行形变,不能准确体现用户的绘制意图。
概括起来,手绘草图是三维人体模型创建的有效方式,但已有基于单幅草图的三维人体模型创建方法对于所表现的人体特征有较大限制,如:膨胀体建模方法限定了人体深度参数为固定数值,不能体现人体的胖瘦等生理特征;Chen Mao的基于模板的方法对模板定义简单,且无法自动选择合适的人体模板进行形变,因此无法表现用户夸张的绘制意图。显然,这些方式不能支持用户较自由地进行形体设计。实际应用中,用户在利用手绘草图表达三维人体时,通常按照人体骨架——皮肤/肌肉轮廓——细节线条的顺序,采用渐进式的绘制方法描述人体,因此在人体草绘建模过程中需要对骨架和皮肤分别进行建模,即要求所用模板必须为层次化模板;同时,用户绘制人体时往往会通过所绘制的人体结构体现人体的生理特征,而现有的基于草图的三维创建方法并没有充分利用这些特征,因此,如何捕捉用户绘制过程中体现的人体生理特征,并将这些特征与模板选择过程有机结合并为用户提供自由的草图绘制方式是手绘草图交互创建三维人体模型面临的重要课题。

发明内容

为了解决上述技术问题,本发明公开了一种将徒手自由绘制的人体骨架线及皮肤轮廓草图直接转换成三维数字模型的一种采用手绘草图的三维人体建模方法
本发明公开了一种采用手绘草图的三维人体建模方法,包括以下步骤:
步骤一,草图解析:将人体草图分解为骨架笔画集Ss、轮廓笔画集Sp以及线索笔画集Sc;对骨架笔画集Ss进行骨架结构识别得到二维人体姿态,根据骨架结构识别对轮廓笔画集进行骨架轮廓对应并提取草图轮廓特征,根据骨架结构识别对线索笔画集进行线索判定;
步骤二,模型特征提取:在预定义的人体网格模型MH上进行人体骨架结构抽取,定义标准三维人体模型标定关节点并计算深度,得到标准人体骨架结构GHS;进行截面轮廓特征抽取,对标准三维人体模型进行分割,并在标准人体骨架结构GHS的基础上分别计算人体四肢及躯干网格模型的轮廓截面特征;
步骤三,深度恢复:在二维人体姿态的基础上,根据骨架结构识别对线索笔画集进行线索判定的结果及人体骨架结构计算三维人体姿态,根据三维人体姿态进行轮廓特征对应,计算对应特征之间的差异得到轮廓形变参数,并在轮廓截面特征的基础上计算对应轮廓特征的比值得到三维形变参数;
步骤四,三维重建:根据三维形变参数对四肢及躯干网格模型的截面轮廓特征进行形变,并根据人体骨架结构将各肢体网格模型转换到世界坐标系,最后对各肢体网格模型进行模型网格混合,得到所述三维人体模型。
本发明中,优选地,步骤一中,对骨架笔画集Ss中的骨架笔画Bj进行分割,将所有笔画分为直线和椭圆两类图元,根据图元的位置关系将笔画识别为对应的骨架段,并将各骨架笔画Bj的端点进行合并得到对应的人体关节点;关节点位置与骨架段方向构成人体骨架结构GSS,作为二维人体姿态参数;
计算轮廓笔画集Sp中每一条轮廓笔画Pi的闭包矩形与人体骨架结构GSS中每一条骨架笔画Bj闭包矩形的重合程度,重合程度ηij=Aoij/Aj,其中Aoij为轮廓笔画Pi与骨架笔画Bj的闭包矩形重叠面积,Aj为骨架笔画Bj的闭包矩形面积;取重合程度ηij最大的骨架笔画Bj与轮廓笔画Pi对应,并根据骨架笔画Bj对轮廓笔画Pi进行等距离采样计算草图轮廓特征;
计算线索笔画集Sc中每一条线索笔画Ci与人体骨架结构GSS中每一条骨架笔画Bj的闭包矩形的重合程度,重合程度σij=mik/ni,其中ni为线索笔画Ci的采样点数,mik为线索笔画Ci落在骨架笔画Bj闭包矩形内的采样点数;取重合程度σij最大的骨架笔画Bj,将线索笔画Ci判定作用于该骨架笔画Bj。
本发明中,优选地,步骤二中,包括以下步骤:
定义标准人体骨架结构GHS={VJ,EB},其中VJ为标准人体关节点集合,EB为标准人体骨架段集合;标准人体骨架结构GHS中共包含15个标准人体关节点以及12段标准人体骨架段;
根据标准人体关节点集合VJ,在人体网格模型MH的正视图上标定各人体关节点vi的二维位置(x,y),并计算该关节点vi处人体模型的深度均值根据标准人体骨架段集合EB将15个标准人体关节点v0,v1,…,v14进行连接,得到该人体网格模型MH的人体骨架结构GMH;
在人体网格模型MH的左右肩膀和左右大腿根处将其划分为四肢和躯干,根据人体骨架结构GMH对各骨架段Bi所对应肢体的网格模型进行采样,通过轮廓截面抽取算法计算各肢体网格模型的截面半径集合,得到各肢体的轮廓截面特征SCSD;
本发明中,优选地,步骤三中,包括以下步骤:
以人体骨架结构GSS中的腰部关节点C1为根节点遍历调整人体骨架结构GSS中的骨架段方向:设每条骨架段所包含的线索笔画上限为mmax条,对每条包含mk条线索线的骨架段Bk计算骨架段Bk的倾角θ=mkπ/2mmax,以骨架段Bk中距根节点近的关节点为中心,按照视平面垂直方向移动距根节点远的关节点位置,并在人体骨架结构GSS所定义的关节点自由度限制下计算各关节点的深度,得到新的人体骨架结构G′SS作为三维人体姿态参数;
根据三维人体姿态参数将各骨架段的草图轮廓特征与模型截面轮廓特征进行对应,计算对应参数之间的缩放比例作为二维形变参数,并根据模型截面轮廓特征对二维形变参数进行线性插值得到三维形变参数。
本发明中,优选地,步骤四中,包括以下步骤:
在对应骨架段的局部坐标系下,通过模型轮廓截面特征,根据人体三维形变参数计算各肢体部分截面采样点的局部坐标,并根据人体骨架结构G′SS将所有截面采样点的坐标转化为世界坐标系坐标,得到人体四肢及躯干网格模型;
根据肢体之间的连接情况将肢体混合过程分为肘和膝关节混合、肩部混合、胯部混合三类,并对肘和膝关节混合以及胯部混合采用对应点插值的方法进行形变,对肩部混合采用基于特征点的形变方法进行形变,对相邻肢体网格模型进行混合,得到完整的人体网格模型。
本发明中,优选地,所述笔划分割算法基于引模型,定义任意点A和点B两点之间的引力大小为:
f(A,B)=αβDis2(A,B)
其中,α和β分别为点A和点B的转角,Dis(A,B)为点A和点B之间的距离,对于任意一个顶点,计算两个相邻点对它的吸引,如果引力值超过了阈值,将该点和相邻点合并,对任意曲线遍历其所有采样点进行合并,计算剩余的顶点数Vmin,并根据剩余的顶点数Vmin将该曲线识别为直线或者椭圆。
本发明中,优选地,所述通过轮廓截面抽取算法计算各肢体网格模型的截面半径集合,包含以下步骤:
对人体骨架结构中的各骨架段进行等距离采样,采样点数根据标准人体骨架结构中的预设值确定;
在各采样点处作垂直于骨架段的平面,与人体网格模型相交,得到骨架段垂面;
在骨架段垂面与人体网格模型的交线上,以对应采样点为中心进行等份角度n采样,其中0°<n<360°,得到该采样点对应的个截面半径长度;
所有骨架段的所有采样点对应的截面半径长度构成的集合即为模型的轮廓截面特征集合。
有益效果:本发明的优点在于:首先,本发明允许用户利用手绘草图绘制人体正视图骨架和轮廓,并直接生成三维网格模型,符合动画角色设计师的平面绘制习惯,简化了人体建模流程,提高了用户绘制方式的自然性,并大大减少了用户进行人体建模的时间;其次,本发明采用基于人体生理距离的特征向量选择与用户绘制特征相吻合的人体模板用于形变,增强了结果模型对于用户绘制意图的体现,能够更好地表达用户的设计创意;最后,本发明在三维重建阶段引入了模型几何混合过程,可从整体上进一步保证重建结果的有效性。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1是标准人体骨架结构及关节点标定示意图。
图2是本发明的处理流程和功能构成。
图3图4是本发明的应用实例。
具体实施方式:
本发明提出了一种采用手绘人体草图生成三维人体模型的方法,允许用户通过绘制人体骨架、轮廓及线索草图直接构建三维人体模型。其实施主要涉及草图解析、模型特征提取、深度恢复和三维重建四大关键技术,其处理流程如图2所示。用户显式切换绘制模式,分别绘制人体骨架笔画,人体轮廓笔画,以及线索笔画,在草图解析部分对这三种笔画分别进行处理:通过骨架结构识别将骨架笔画集识别为人体关节点和骨架段图元,根据骨架结构将轮廓笔画及线索笔画与骨架笔画进行对应,并根据骨架笔画对相应的轮廓笔画进行采样得到草图轮廓特征;在模型特征提取部分,根据用户在人体模型正视图上标定的关节点位置,计算各关节点深度值并连接相应关节点建立人体骨架结构,然后将人体模型手动划分为四肢和躯干,对每一部分肢体根据对应的骨骼段提取轮廓截面特征;在深度恢复部分,在线索笔画的指导下根据人体骨架结构将二维人体姿态映射为三维人体姿态,根据三维人体姿态对草图轮廓特征与轮廓截面特征之间进行对应,计算对应特征之间的差异得到轮廓形变参数,并在轮廓截面特征的基础上计算缩放比例得到三维形变参数;在三维重建部分,根据三维形变参数对各肢体网格模型进行形变,并根据人体骨架结构将各肢体网格模型转换到世界坐标系,最后对各肢体网格模型进行模型网格混合,得到三维人体网格模型。下面分别介绍各部分的主要实施方式。
1.草图解析
用户显式绘制人体骨架、人体轮廓及线索笔画,其中包括骨架笔画集Ss,轮廓笔画集Sp,以及线索笔画集Sc,在草图解析过程中,对这三种笔画集分别进行识别处理。
1.1骨架笔画集处理
本发明允许用户按照标准人体骨架结构GHS绘制二维人体骨架笔画集Ss,并根据骨架笔画之间的位置关系将骨架笔画集Ss识别为人体骨架结构GSS(人体骨架结构GSS为根据草图解析得到的平面化的人体骨架结构,与标准人体骨架结构GHS具有相同的结构,但是具有不同的关节点位置、骨架段走向等参数),骨架笔画集Ss解析过程包括如下步骤:
1)笔划分割:采用基于引力模型的笔划分割方法(孙正兴,徐晓刚等,支持方案设计的图形输入工具,《计算机辅助设计与图形学学报》,2003,15(9):1145~1152),将用户绘制的骨架笔画集Ss中的笔画识别为椭圆和直线两类图元。其基本思想为:点与点之间有相互吸引的趋势,如果这种趋势大于某一个阈值的话,就认为这两个点之间的内部能量很大而受到外部的影响较小,可以将它们合为一个点。设曲线上任一点A的相邻点为点B和点C,点A受到点B和点C的吸引。如果点B对点A的吸引力更强并且高于设置的阈值,则将点A和点B合并为一点。给定点A,点B的转角分别为α,β,Dis(A,B)是A,B两点的距离,f(A,B)是两顶点之间的引力,定义两顶点之间的吸引力为:
f(A,B)=αβDis2(A,B)
对于任意一顶点A,计算两个相邻点B和点C对它的引力f(A,B)和引力f(A,C),如果引力值超过了阈值,将该点和相邻点合并。
骨架笔画集Ss的笔划分割过程包括以下步骤:
步骤1:对每一顶点A,根据笔画线走向找到上邻点B和下邻点C,计算引力差值F(A)=f(A,B)-f(A,C)。
步骤2:选择引力差值绝对值|F(A)|最大的点A。
步骤3:如果引力差值绝对值|F(A)|小于设定的引力阈值,则停止计算,否则将点A与点B合并(如果引力差值F(A)>0)或者与C合并(如果引力差值F(A)<0);所述阈值一般可以设定为0~0.5,本实施例中设定为0.5。
步骤4:如果剩余点的数目小于4,则停止计算。
步骤5:返回步骤1,直到所有顶点遍历完毕。
步骤6:计算最后剩余顶点数Vmin,若剩余顶点数Vmin≤5,则最终形状为直线;若剩余顶点数Vmin>5,则最终识别成椭圆。
步骤7:重复步骤1~6,直到所有笔画分割完毕。
步骤8:最终,若解析得到13个图元(12个直线图元和1个椭圆图元),则认为输入的草图是有效的;否则解析失败。
2)骨架结构识别:根据图元之间的位置关系将所有图元识别为标准人体骨架结构GHS中对应的骨架段,其算法流程包括如下步骤:
步骤1:将椭圆图元识别为头部Chead。
步骤2:将距离头部Chead最近的图元识别为上身C0C1。
步骤3:将距离上身C0C1另一端点最近的图元识别为下身C1C2。
步骤4:将距离头部Chead次远的图元识别为肩膀L1R1。
步骤5:将距离肩膀L1R1的2个端点最近的图元识别为左上臂L1L2和右上臂R1R2。
步骤6:将余下未识别图元中距离左上臂L1L2最近的图元识别为左小臂L2L3,将距离右上臂R1R2最近的图元识别为右小臂R2R3。
步骤7:将余下未识别图元中距离下身C1C2最近的图元识别为髋部L4R4。
步骤8:将余下未识别图元中距离髋部L4R4的2个端点最近的图元分别识别为左大腿L4L5和右大腿R4R5。
步骤9:将余下未识别图元中距离左大腿L4L5最近的图元识别为左小腿L5L6,将距离右大腿R4R5最近的图元识别为右小腿R5R6。
3)二维姿态估计:根据图元对应骨架段的连接情况,合并相应的端点并识别为人体关节点,得到二维人体骨架结构GSS,其算法流程包括以下步骤:
步骤1:将与其他骨架段端点不相连接的所有端点直接标记为人体关节点,包括颈部C0,下腹部C2,左腕L3,右腕R3,左踝L6,右踝R6;
步骤2:将邻接骨架段的对应端点坐标进行平均,所得到的中点作为对应的人体关节点,包括腰部C1,左肩L1,左肘L2,右肩R1,右肘R2,左胯L4,左膝L5,右胯R4,右膝R5;
经过上述3个步骤,最终将用户输入的人体骨架笔画集Ss解析为人体骨架结构GSS。
1.2轮廓笔画处理
在解析得到人体二维骨架结构GSS后,将轮廓笔画集Sp中的轮廓笔画与相应的骨架段进行对应,并根据对应的骨架段对轮廓笔画进行采样,得到草图轮廓特征。轮廓笔画集Sp的解析过程包括以下步骤:
1)骨架-轮廓对应:根据骨架笔画集Ss的解析结果,首先,计算各骨架段图元的闭包矩形,作为骨架-轮廓对应的判断依据:对于四肢部分的骨骼,闭包矩形的大小为预设值(设定闭包矩形的长度为对应骨架段的长度,其宽度为对应骨架段长度的1/2);对于躯干部分的骨骼,其闭包矩形大小根据对应的连接骨骼长度确定(即上身C0C1/下身C1C2的闭包矩形大小分别根据肩膀L1R1/髋部L4R4的长度确定,闭包矩形的宽度为长度的1/2)。然后,计算各轮廓笔画的闭包矩形,对每一条轮廓笔画,计算各骨架段与其闭包矩形的重合程度,将该轮廓笔画与闭包重合度最大的骨架段相对应,其算法流程包括如下步骤:
步骤1:计算骨架笔画Bk的闭包矩形RBk,其面积为Ak;
步骤2:计算轮廓笔画Ci的闭包矩形RCi;
步骤3:对每一条骨架笔画Bk计算轮廓笔画的闭包矩形RCi与骨架笔画的闭包矩形RBk的重合面积Aik;
步骤4:计算闭包矩形重合程度ηik=Aik/Ak;
步骤5:重复步骤3~4,直到所有骨架段均被计算;
步骤6:选取闭包矩形重合程度ηik最大的骨架笔画Bk,将轮廓笔画Ci与该骨架笔画Bk判定为对应关系;
步骤7:重复步骤2~6,直到轮廓笔画集Sp中的所有笔画均已计算。
2)草图轮廓特征提取:根据骨架笔画对相应的轮廓笔画进行等距离采样,计算采样点到骨架笔画的距离集合作为草图轮廓特征,其算法流程包括如下步骤:
步骤1:根据标准人体骨架结构GHS中骨架段的预设截面数nk,将骨架笔画集Ss中的对应笔画Bk等分为nk-1段,采样得到nk个采样点p1,p2,…,pnk(包括骨架笔画的两个端点);本发明中对应不同部位的骨架段采用等分为6~16段进行等距离采样。
步骤2:在骨架笔画Bk的采样点p1,p2,…,pnk处,分别作直线l1,l2,…,lnk垂直于骨架笔画Bk;
步骤3:计算每一条垂线li与该骨架笔画Bk所对应的轮廓笔画的交点,记骨架笔画Bk顺时针方向交点为CikL,逆时针方向交点为CikR;
步骤4:计算交点CikL和交点CikR到骨架笔画Bk的距离分别为草图轮廓特征参数中的半径DikL和草图轮廓特征参数中的半径DikR;
步骤5:将骨架笔画Bk所有采样点距离DikL的集合记为SkL2d={D1kL,D2kL,…,DnkL},距离DikR的集合记为SkR2d={D1kR,D2kR,…,DnkR};
步骤6:重复步骤1~5,直到骨架笔画集Ss中所有笔画均已计算,将草图轮廓特征记为fpL2d={S1L2d,S2L2d,…,S12L2d}和fpR2d={S1R2d,S2R2d,…,S12R2d}。
1.3线索判定
本发明中采用线索笔画的数量对应骨架段的倾角大小,并以此为指导将二维人体姿态映射为三维人体姿态;在线索笔画集Sc的解析过程中,通过计算线索笔画与骨架笔画闭包的重合程度σ,将线索笔画与对应的骨架笔画进行绑定,其计算流程包括以下步骤:
步骤1:对线索笔画Ci,设其采样点总数为ni;
步骤2:对每一条骨架笔画Bk,计算线索笔画Ci的采样点中落在骨架笔画Bk的闭包矩形RBk内部的采样点数量mik;
步骤3:计算线索笔画Ci与骨架笔画Bk的重合程度σik=mik/ni;
步骤4:将线索笔画Ci与重合程度σik最大的骨架笔画Bk进行绑定,若最大重合程度σik<2/3,则放弃该线索笔画Ci;
步骤5:重复步骤1~4,直到所有的线索笔画均已绑定或放弃。
2.模型特征提取
本发明中,人体模型的特征由人体骨架结构及模型的轮廓截面特征来表示,通过在人体模型上抽取人体骨架结构来表现人体姿态,并通过抽取模型的轮廓截面特征来表现人体各肢体的形状特征。模型特征提取通过人体骨架结构抽取和轮廓截面特征提取两个步骤完成。
2.1人体骨架结构抽取
用户根据标准人体骨架结构GHS在人体网格模型MH的正视图上标定人体关节点位置,计算各关节点深度值,并连接相应关节点建立人体骨架结构GMH,人体骨架结构抽取的过程包括以下几个步骤:
1)预定义标准人体骨架结构GHS:在抽取人体截面模板前,首先定义标准人体骨架结构GHS={VJ,EB},其中VJ为人体关节点集合,包含了人体关节点的三维坐标;EB为人体骨架段集合,包含了人体骨架段的连接情况。标准人体骨架结构GHS如图1a所示,其中人体关节点集合VJ共包含了15个关节点的三维位置,包括C0(颈部),C1(腰部),C2(下腹部),L1(左肩),L2(左肘),L3(左腕),R1(右肩),R2(右肘),R3(右腕),L4(左胯),L5(左膝),L6(左踝),R4(右胯),R5(右膝),R6(右踝);人体骨架段集合EB共包含了12个骨架段的长度和方向,每一条骨架段由连接2个关节点的直线构成,包括C0C1(上身),C1C2(下身),L1R1(肩膀),L1L2(左上臂),L2L3(左下臂),R1R2(右上臂),R2R3(右下臂),L4R4(髋部),L4L5(左大腿),L5L6(左小腿),R4R5(右大腿),R5R6(右小腿)。根据是否进一步抽取横截面信息,可将所有骨骼分为普通骨骼(抽取横截面)和连接骨骼(不抽取横截面)两类。在本文方法所采用的骨架结构中,除了肩部和髋部为连接骨骼外,其余部位的骨骼均为普通骨骼。该骨架结构参照文献4 Mao C,Qin SF,WrightDK.A sketch-based gesture interface for rough 3D stick figure animation,In Proceedings ofEurographics Workshop on Sketch Based Interfaces and Modeling,2005.进行构建,能够表现人体四肢和躯干的基本结构,并且能够满足添加姿态和运动数据的要求。
2)人体骨架结构抽取:根据标准人体骨架结构GHS,用户在人体网格模型MH的正视图上标定各人体关节点的二维位置(xi,yi);对每一个关节点vi,在正视图下计算人体网格模型MH在该关节点vi的二维位置(xi,yi)坐标下的深度均值如图1b所示。其算法流程如下:
步骤1:根据标准人体骨架结构GHS,用户在人体网格模型MH的正视图上标定各人体关节点vi的二维位置;
步骤2:在关节点vi处作投影平面的垂线li,计算垂线li与人体网格模型MH的交点;
步骤3:设垂线li与人体网格模型MH有n个交点,将所有交点的深度值记为z1,z2,...,zn;
步骤4:计算深度均值为关节点vi的三维位置为
步骤5:重复步骤1~4,直到标准人体骨架结构GHS的关节点集合VJ中定义的所有关节点都被标定完毕。
步骤6:将所有关节点按照标准人体骨架结构GHS的骨架段集合EB进行连接,得到人体骨架结构GMH。
本发明中所述的人体网格模型MH可以采用通用的人体网格模型,比如采用三维扫描仪直接扫描获得的人体网格模型。
2.2轮廓截面特征抽取
本发明将人体模型与骨架结构分段绑定,根据各个骨架段和对应部分的人体网格模型计算该骨架段的轮廓截面半径集合,作为人体模型的轮廓截面特征。由于人体网格模型MH是内部连通的,人体肩部和骨盆处无法直接得到对应肢体的完整横截面数据,因此本文要求用户在模型特征提取时必须先在肩部和胯部对人体模型进行切割,将其手动划分为四肢和躯干5个部分,并将骨架模板中的各骨架段对应到划分好的人体模型区域中。然后,根据标准人体模板的预先设定对各骨架段进行等距离采样,采样点数根据标准人体骨架结构GHS中的预设值(本发明中对应不同部位的骨架段等分为6~16段进行等距离采样)确定,并于采样点处划分垂直于各骨架段的截面,计算这些截面与对应部分人体网格模型的交线,并在截面上以骨架段采样点为圆心对交线进行等角度采样(本发明中对于每一个横截面皮肤均采样12个点,即按照30°等角度采样),即可得各骨架段的轮廓截面半径参数。其算法流程包括以下步骤:
步骤1:用户正视图下采用单笔画Si划分人体网格模型MH;
步骤2:根据笔画Si作垂直于视平面的曲面PSi,该曲面PSi将人体模型分为两MH1和MH2;
步骤3:将网格模型MH1和MH2的切口截面进行三角化,使网格模型MH1和MH2分别封闭;
步骤4:重复步骤1~3,直到将人体划分为四肢和躯干5部分网格模型MH1,MH2,…,MH5;
步骤5:对骨架段Bi进行等距离采样,得到得到n个采样点P1,P2,…,Pn;
步骤6:在骨架段Bi的每一个采样点Pj处作垂直于骨架段Bi的平面A,计算平面A与骨架段Bi对应的部分人体网格模型MHk的交线作为截面曲线Csc;
步骤7:在平面A上,将采样点Pj作为中心,对截面曲线Csc进行等角度(30°)采样,得到m个采样点Pj1,Pj2,…,Pjm;
步骤8:计算所有采样点Pj1,Pj2,…,Pjm到采样点Pj的距离dj1,dj2,…,djm;
步骤9:重复步骤5~8,直到所有骨架段均已完成采样;
步骤10:所有骨架段B1,B2,…,B15的截面曲线采样点到中心点的距离d11,d12,…,d15m构成轮廓截面半径集合SCSD,即人体模型轮廓截面特征。
3.深度恢复
在对草图的基本图元和线索进行基本处理之后,系统需要将二维基本图元的笔画映射到三维空间,即发现其深度信息;
3.1三维姿态估计
在人体三维姿态估计过程中,在草图解析得到的人体骨架结构GSS的基础上根据各骨架段对应的线索笔画数对该骨架段的倾角进行调整,并在标准人体骨架结构中定义的关节点自由度限制下,计算各关节点在三维空间中的深度。其算法流程包括以下步骤:
步骤1:以腰部关节点C1为根节点,按照距离根节点由近到远的顺序遍历骨架结构中的每一条骨架段,对各骨架段绕距离根节点较近的关节点进行旋转;根据关节点与根节点C1之间骨架段的数量,将骨架段Bk两侧关节点分为与根节点距离近的端点以及与根节点距离远的端点。即所述近的端点和根节点C1之间骨架段数量,比所述远的端点和根节点C1之间骨架段数量少。
步骤2:对每一条骨架段Bk,设其距离根节点较近的关节点为P1,较远的关节点为P2,骨架段长度为L,在人体骨架结构GSS中关节点P1和关节点P2的坐标分别为(x1,y1,z1)和(x2,y2,z2);
步骤3:设骨架段Bk对应的线索笔画数为m,本文中取-20≤m≤20,其中m为正数表示骨架段向z轴正方向旋转,绘制时用左键绘制;m为负数表示骨架段向z轴负方向旋转,绘制时用右键绘制;
步骤3:对骨架段Bk,计算其倾角为θ=arcsin((z2-z1)/L);
步骤4:计算骨架段Bk的倾角变化值为θ′=m×(π/2-θ)/mmax,其中mmax为各骨架段所包含线索笔画数量的上限,本文中取mmax=20;
步骤5:计算关节点P1和关节点P2在xy平面上的投影之间的距离
步骤6:计算关节点P2在旋转后的新深度值为z2′=z1+dxy×tg(θ+θ′);
步骤7:重复步骤1~6,直到骨架结构GSS中的所有骨架段均已完成调整。
3.2轮廓特征对应
根据三维人体姿态,将草图轮廓特征参数中的两个半径数值与轮廓截面特征中的截面半径数值进行轮廓特征对应,其算法流程包括以下步骤:
步骤1:设人体骨架结构GSS中肩膀骨架段L1R1的端点坐标分别为左肩膀L1=(x1,y1,z1)和右肩膀R1=(x2,y2,z2),计算肩膀骨架段L1R1与x轴的夹角将上身的草图轮廓特征SkL2d对应到截面轮廓特征中对应骨架段C0C1的第组特征参数,将草图轮廓特征SkR2d对应到骨架段C0C1的第j=i+6组特征参数;
步骤2:设骨架结构GSS中髋部骨架段L4R4的端点坐标分别为左胯L4=(x1,y1,z1)和右胯R4=(x2,y2,z2),计算髋部骨架段L4R4与x轴的夹角将下身的草图轮廓特征SkL2d对应到截面轮廓特征中对应骨架段C1C2的第组特征参数,将草图轮廓特征SkR2d对应到骨架段C1C2的第j=i+6组特征参数;
步骤3:设骨架结构GSS中左小臂骨架段L2L3的端点坐标分别为左肘L2=(x1,y1,z1)和左腕L3=(x2,y2,z2),计算左小臂骨架段L2L3与x轴的夹角将左上臂的草图轮廓特征SkL2d对应到截面轮廓特征中对应骨架段L1L2的第组特征参数,将草图轮廓特征SkR2d对应到骨架段L1L2的第j=i+6组特征参数;
步骤4:与步骤3同理,对右上臂R1R2、左大腿L4L5、右大腿R4R5分别根据右小臂R2R3、左小腿L5L6、右小腿R5R6与x轴的夹角进行对应;
步骤5:对其余未处理骨架段将草图轮廓特征SkL2d与截面轮廓特征中第1组参数对应,草图轮廓特征SkR2d与截面轮廓特征中第7组参数对应。
3.3轮廓形变参数计算及三维形变参数计算
根据草图轮廓特征与人体模型的截面轮廓特征之间的对应关系,计算之间的缩放比例作为轮廓形变参数,并对轮廓形变参数进行插值得到三维形变参数,其算法流程包括以下步骤:
步骤1:计算草图轮廓特征参数中的半径DikL与对应截面轮廓特征djk的比值ratej,以及草图轮廓特征参数中的半径DikR与对应截面轮廓特征d(j+6)k的比值ratej+6;
步骤2:对比值ratej和比值ratej+6进行线性插值得到缩放比例序列rate1,rate2,…,rate12,并将插值结果与截面轮廓特征中的参数进行对应;
步骤3:重复步骤1~2,直到人体骨架结构GSS中的所有骨架段均已处理。
4.三维重建
在深度恢复过程中计算得到三维形变参数后,根据人体模型的骨架结构和截面轮廓特征对各肢体网格模型进行形变,并将不同肢体部分的网格模型进行混合,得到最终的三维人体网格模型。整个三维重建过程包括三维模型形变和模型网格混合两个部分。
4.1三维模型形变
在人体模型骨架结构和截面特征的指导下,根据深度恢复过程中计算得到的三维形变参数,对各肢体网格模型进行形变。其算法流程包括以下步骤:
步骤1:设骨架段Bk的两个端点坐标分别为(x1,y1,z1)和(x2,y2,z2),计算骨架段Bk与xy平面的夹角为计算骨架段Bk在xy平面的投影与x轴的夹角为
步骤2:计算骨架段Bk的局部坐标转换矩阵MLocal:

步骤3:计算骨架段Bk的轮廓截面网格点在世界坐标系中的坐标:
P′i=Pi×MLocal+P0
其中P0为骨架段Bk起始关节点在世界坐标系中的坐标。
步骤4:将骨架段Bk的轮廓截面网格点进行连接:同一截面的网格点顺次首尾相连,不同截面的对应网格点相连,最终得到该骨架段Bk的网格模型;
步骤5:重复步骤1~4,直到所有骨架段均已计算。
4.2模型网格混合
根据人体骨架结构G′SS对各骨架段的网格模型进行混合,网格模型的几何混合根据关节类型的不同分为三种类型:1)肘和膝关节混合:根据两部分肢干公共关节点,对相邻的横截面上对应的两个点取平均值用以替代原来的点。2)肩部混合:将上身网格模型的指定点位移到上臂顶端横截面网格点,并对上身网格进行形变;3)胯部混合:将人体下身最下方的横截面及2个大腿最上方的横截面寻找对应点进行插值,得到新的中间截面,然后将上下对应皮肤点连接起来,即完成胯部的混合。其计算流程包括以下步骤:
步骤1:对于骨架A和骨架B,根据骨架结构确定其位置关系。
步骤2:若骨架A和骨架B均为四肢骨骼且有公共的关节点,则进行第1种混合,转到步骤3;若为上臂和上身,则进行第2中混合,转到步骤6;若为大腿和下身,则进行第3种混合,转到步骤8;若非上述3种情况,则不需要混合。
步骤3:找到其公共的关节点,并根据该关节点找到各自对应的横截面SA和横截面SB。
步骤4:将横截面SA和横截面SB上的采样点一一对应。
步骤5:对每组对应点的坐标进行平均,将中点作为各自的新坐标。算法结束。
步骤6:根据标准人体骨架结构GHS,判断该上臂位于上身哪一侧,在上身该侧网格中找到上臂端点横截面对应的点,并用上臂端点横截面对应点的坐标替换上身网格点。
步骤7:以这些点为特征点,对上身网格模型进行拉普拉斯形变。算法结束。
步骤8:根据骨架结构,判断该大腿位于下身哪一侧,在下身该侧网格中找到大腿端点横截面对应的点。
步骤9:对每组对应点进行平均,以中点作为各自新坐标。算法结束。
经过上述步骤,即得到最终的三维人体网格模型。
图3a、图3b、图3c、图4a、图4b、图4c分别示出了2种不同的人体姿态形状从单幅手绘草图创建三维人体模型的实例效果。图3a、图3b以及图3c为绘制符合原人体模型特征的草图所生成的模型,图4a、图4b以及图4c为改变原人体模型特征绘制的人体草图(胖腰、鼓起的上臂)所生成的模型,可以看到用户的绘制意图在结果模型中得到了体现。
本发明提供了一种三维人体模型的生成方法的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈