当前位置: 首页 > 专利查询>中北大学专利>正文

一种基于准共形映射的三维模型变形算法制造技术

技术编号:21972864 阅读:46 留言:0更新日期:2019-08-28 01:46
本发明专利技术属于计算机视觉领域,公开了一种基于准共形映射的三维模型变形算法。首先,利用准共形映射将三维模型参数化到二维平面圆盘;其次,采用准共性迭代算法计算两个平面之间的映射,得到变形后的二维模型;最后,采用2D→3D模型恢复算法将变形后的二维模型还原出尽可能满足约束条件的三维模型。本发明专利技术解决了现有模型利用率低,变形算法需要操作的控制点多、对骨骼不明显的模型处理效果差以及微分坐标变形技术对旋转敏感,以及直接在三维模型上变形较难的问题。比传统的映射方法简单而且保持了源模型的更多的局部细节。本发明专利技术适用于基于单幅图像的三维模型变形,适用于具有任何边界的模型的变形。可应用于动画、整容手术、医学以及几何建模等领域。

A Quasi-conformal Mapping Based Deformation Algorithm for Three-Dimensional Models

【技术实现步骤摘要】
一种基于准共形映射的三维模型变形算法
本专利技术属于计算机视觉
,具体涉及一种基于准共形映射的三维模型变形算法。
技术介绍
视觉是人类感知和认识世界的重要手段。计算机视觉技术通过模拟人类的视觉让计算机对图像进行获取、处理、分析和识别以实现对现实世界的认识。三维模型的变形一直是计算机视觉领域的研究热点之一,可广泛应用于影视、动画、虚拟试衣、虚拟现实、电子游戏、医学以及三维模型的快速构建等领域。通过三维模型变形可以得到目标图像的三维模型,其次还可以对模型进行编辑得到其他的效果,快速构建完整的三维模型,使其可以更有效,应用于更广泛的领域。目前,三维模型的变形方法主要有自由曲面变形技术、基于骨架的变形技术和基于微分坐标的变形技术。基于自由曲面变形技术需要将变形部分嵌入到一个平行六面体中,通过大量的移动控制点来实现变形,现在的模型通常有几百甚至几万个顶点,通过移动顶点即耗时又耗力且效果不好。基于骨架的变形技术需设置骨架模型并且需要选择相应的带势函数,这两点就是困难的,生活中像人脸这些模型不明显的模型,此方法效率更低。基于微分坐标的变形技术可以保持模型的局部特征,但是微分坐标对旋转敏感,使得网格的局部信息会发生旋转扭曲,特别是对于大尺度变形时,其扭曲更为严重。利用现有的算法很难既保持模型的局部特征又使得模型失真扭曲达到最小且效率高。
技术实现思路
针对上述现有三维模型变形算法存在的问题,以及为了解决现有模型利用率,现有变形算法需要操作更多的控制点、对于骨骼不明显的模型处理效果差以及微分坐标变形技术对旋转敏感,以及直接在三维模型上变形较难的问题,本专利技术提出一种基于准共形映射的三维模型变形算法,本专利技术适用于基于单幅图像的三维模型变形,适用于具有任何边界的模型的变形。为解决上述技术问题,本专利技术采用了以下技术方案:一种基于拟共形映射的三维模型变形算法,其包括以下步骤:步骤1,对输入的目标二维图像进行预处理,提取图像中物体的轮廓线以及特征点点集{t:};步骤2,在三维模型库中检索到与目标图像上物体相似度最高的模型作为变形的三维源模型,获取三维源模型的顶点数与面片数信息,提取其特征点点集{t1:};步骤3,对所述提取了轮廓线和特征点点集的目标二维图像进行网格化,得到与所述源模型具有相同顶点数和面片数的目标二维网格模型,并提取其特征点点集{t2:};步骤4,将所述三维源模型和三角网格化的目标二维网格模型通过准共形映射参数化到二维平面圆盘中,作为二维变形的依据;步骤5,对所述源模型的特征点点集{t1:}和目标二维网格模型的特征点点集{t2:}建立映射关系;步骤6,在所述源模型中选取部分特征点作为变形的控制点,控制点的集合表示为{s:},利用准共形迭代算法计算在控制点集合作为约束的条件下其余顶点所做的变化,即得到在控制点集合作为约束的条件下所有顶点的坐标,得到与目标模型误差最小的变形后的二维模型;步骤7,对所述变形后的二维模型,求其对应的余切拉普拉斯矩阵,选取部分控制点集合{s1:}作为恢复三维曲面的已知点,并将这些已知点作为线性系统中的约束条件,通过最小二乘法来得到满足约束条件的三维模型顶点的信息,完成对三维模型变形,得到变形后的三维模型。进一步地,所述步骤2中的三维源模型是利用三维模型检索方法在MeshDGP三维模型库中检索得到,所述三维源模型的顶点数和面片数信息分别记为Vn={v1,v2,v3,...,vn}和fm={f1,f2,f3,...,fm}。再进一步地,所述步骤3的网格化为三角网格化,是根据步骤2中三维源模型的顶点数与面片数信息,将提取了轮廓和特征点的二维图像三角网格化,将二维图像三角网格化为和三维模型具有相同顶点数与面片数的二维网格模型,并获取其特征点点集{t2:}。更进一步地,所述步骤4将所述三维源模型和三角网格化的目标二维网格模型通过准共形映射参数化到二维平面圆盘中,其参数化的原则为:首先,需要确定模型的边界和到平面上的边界的映射,即找到模型的边界点,计算边界点所在边的长度,计算边界边在其所属三角形中边对应的角度,用边的长度将模型的边界参数化到二维平面圆盘;其次,在边界顶点位置固定的约束下,确定除边界点之外的其余点在平面圆盘中的位置,即根据模型点与面的信息计算模型的余切拉普拉斯矩阵,将其参数化到二维平面圆盘中。更进一步地,所述步骤4中准共形映射的参数化过程包括如下步骤:步骤4.1,根据源模型面片的信息计算每个面的边的信息,即halfedge信息,以halfedge信息记录边的顶点和方向的信息,内部边缘边halfedge信息将出现两次,边界边缘边halfedge信息将出现一次,将halfedge信息出现一次的边的两个顶点信息存储,将此记录为边界顶点bd;步骤4.2,计算边界顶点所在边的长度,记为b1,根据b1在总长度的比例来计算参数化到二维平面圆盘中各边界点所在的位置,即将边界点参数化到二维平面,得到边界点的二维坐标;步骤4.3,根据需要参数化模型的面片的信息,计算得到每个三角形三个边的信息,edge中存储每条无向边得两个顶点信息,ef存储每条边所属的面片信息记录每个边所在的面索引值,边界边的另一面用∞,通过ef值计算出网格内部所有面片数所在三角形的角度值,计算出余切拉普拉斯矩阵(laplace-Beltrami),使其在边界点固定的约束条件下,将内部所有顶点参数化到二维平面圆盘,得到最终所有顶点的二维坐标uv。更进一步地,所述步骤5对源模型的特征点点集{t1:}和目标图像的特征点点集{t2:}建立映射关系;具体是指对步骤4中三维源模型参数化后得到的所有顶点的二维坐标uv和目标图像参数化后的所有顶点的二维坐标uv1建立映射关系。更进一步地,所述步骤6中利用准共形迭代算法计算两个二维平面之间的映射关系,是使用贝尔特拉米系数BC代表一组微分同胚,并在目标平面中寻找最佳的贝尔特拉米系数BC系数,从最佳的贝尔特拉米系数BC中有效地重建关联的差分,最终利用线性Beltrami求解器LBS从最优贝尔特拉米系数BC中计算相关联的准共形映射。更进一步地,所述步骤6的准共形迭代算法的计算包括如下步骤:步骤6.1,根据参数化后模型的面片信息和uv坐标计算得到广义拉普拉斯矩阵A,将控制点集合{s:}的坐标和其在目标二维模型中对应顶点的坐标建立稀疏矩阵,并将其加入到A中,得到在控制点作为约束的条件下,最初的映射函数f0和此时所有顶点的坐标uv_new;步骤6.2,根据参数化后模型的面片信息、uv坐标以及步骤6.1中求出的uv_new坐标,计算得到在控制点作为约束条件的情况下,目标二维模型的贝尔特拉米系数BC,即根据源模型网格结构中顶点的信息vn计算μn+1,fn+1,vn+1;其中,μ表示贝尔特拉米系数,f表示每一次计算后的映射函数,v表示每次迭代后计算出的顶点坐标;步骤6.3,当||vn+1-vn||≥ε时,重复步骤6.1和步骤6.2,否则,结束迭代算法的计算。更进一步地,所述步骤6中的ε取值为:0<ε<0.01。更进一步地,所述步骤7中,求变形后二维模型的余切拉普拉斯矩阵,选取部分控制点集合{s1:}作为恢复三维曲面的已知点,并将这些顶点作为线性系统中的约束条件,最终通过最小二乘法来得尽可能满足约束条件的三维模型顶点的本文档来自技高网...

【技术保护点】
1.一种基于拟共形映射的三维模型变形算法,其特征在于:所述三维模型的变形包括以下步骤:步骤1,对输入的目标二维图像进行预处理,提取图像中物体的轮廓线以及特征点点集{t:};步骤2,在三维模型库中检索到与目标图像上物体相似度最高的模型作为变形的三维源模型,获取三维源模型的顶点数与面片数信息,提取其特征点点集{t1:};步骤3,对所述提取了轮廓线和特征点点集的目标二维图像进行网格化,得到与所述源模型具有相同顶点数和面片数的目标二维网格模型,并提取其特征点点集{t2:};步骤4,将所述三维源模型和三角网格化的目标二维网格模型通过准共形映射参数化到二维平面圆盘中,作为二维变形的依据;步骤5,对所述源模型的特征点点集{t1:}和目标二维网格模型的特征点点集{t2:}建立映射关系;步骤6,在所述源模型中选取部分特征点作为变形的控制点,控制点的集合表示为{s:},利用准共形迭代算法计算在控制点集合作为约束的条件下其余顶点所做的变化,即得到在控制点集合作为约束的条件下所有顶点的坐标,得到与目标模型误差最小的变形后的二维模型;步骤7,对所述变形后的二维模型,求其对应的余切拉普拉斯矩阵,选取部分控制点集合{s1:}作为恢复三维曲面的已知点,并将这些已知点作为线性系统中的约束条件,通过最小二乘法来得到满足约束条件的三维模型顶点的信息,完成对三维模型变形,得到变形后的三维模型。...

【技术特征摘要】
1.一种基于拟共形映射的三维模型变形算法,其特征在于:所述三维模型的变形包括以下步骤:步骤1,对输入的目标二维图像进行预处理,提取图像中物体的轮廓线以及特征点点集{t:};步骤2,在三维模型库中检索到与目标图像上物体相似度最高的模型作为变形的三维源模型,获取三维源模型的顶点数与面片数信息,提取其特征点点集{t1:};步骤3,对所述提取了轮廓线和特征点点集的目标二维图像进行网格化,得到与所述源模型具有相同顶点数和面片数的目标二维网格模型,并提取其特征点点集{t2:};步骤4,将所述三维源模型和三角网格化的目标二维网格模型通过准共形映射参数化到二维平面圆盘中,作为二维变形的依据;步骤5,对所述源模型的特征点点集{t1:}和目标二维网格模型的特征点点集{t2:}建立映射关系;步骤6,在所述源模型中选取部分特征点作为变形的控制点,控制点的集合表示为{s:},利用准共形迭代算法计算在控制点集合作为约束的条件下其余顶点所做的变化,即得到在控制点集合作为约束的条件下所有顶点的坐标,得到与目标模型误差最小的变形后的二维模型;步骤7,对所述变形后的二维模型,求其对应的余切拉普拉斯矩阵,选取部分控制点集合{s1:}作为恢复三维曲面的已知点,并将这些已知点作为线性系统中的约束条件,通过最小二乘法来得到满足约束条件的三维模型顶点的信息,完成对三维模型变形,得到变形后的三维模型。2.根据权利要求1所述的一种基于拟共形映射的三维模型变形算法,其特征在于:所述步骤2中的三维源模型是利用三维模型检索方法在MeshDGP三维模型库中检索得到,所述三维源模型的顶点数和面片数信息分别记为Vn={v1,v2,v3,…,vn}和fm={f1,f2,f3,…,fm}。3.根据权利要求2所述的一种基于拟共形映射的三维模型变形算法,其特征在于:所述步骤3的网格化为三角网格化,是根据步骤2中三维源模型的顶点数与面片数信息,将提取了轮廓和特征点的二维图像三角网格化,将二维图像三角网格化为和三维模型具有相同顶点数与面片数的二维网格模型,并获取其特征点点集{t2:}。4.根据权利要求3所述的一种基于拟共形映射的三维模型变形算法,其特征在于:所述步骤4将所述三维源模型和三角网格化的目标二维网格模型通过准共形映射参数化到二维平面圆盘中,其参数化的原则为:首先,需要确定模型的边界和到平面上的边界的映射,即找到模型的边界点,计算边界点所在边的长度,计算边界边在其所属三角形中边对应的角度,用边的长度将模型的边界参数化到二维平面圆盘;其次,在边界顶点位置固定的约束下,确定除边界点之外的其余点在平面圆盘中的位置,即根据模型点与面的信息计算模型的余切拉普拉斯矩阵,将其参数化到二维平面圆盘中。5.根据权利要求4所述的一种基于拟共形映射的三维模型变形算法,其特征在于:所述步骤4中准共形映射的参数化过程包括如下步骤:步骤4.1,根据源模型面片的信息计算每个面的边的信息,即halfedge信息,以halfedge信息记录边的顶点和方向的信息,内部边缘边halfedge信息将出现两次,边界边缘边halfedge信息将出现一次,将halfedge信息出现一次的边的两个顶点信息存储,将此记录为边界顶点bd;步骤4.2,计算边界顶点所在边的长度,记为bl,根据bl在总长度的比例来计算参数化到二维平面圆盘中各边界点所在的位置,即将边界点参数化到二维平面,得到边界点的二维坐标;步骤4.3,根据需要参数化模型的面片的信息,计算得到每个三角形三个边的信息,edge中存储每条无向边得两个顶点信息,ef存储每条边所属的面片信息记录每个边所在的面索引值,边界边的另一面用∞,...

【专利技术属性】
技术研发人员:常敏况立群常伟候瑞环牛昊杰常婷
申请(专利权)人:中北大学
类型:发明
国别省市:山西,14

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1