CN116630575A - 重拓扑方法、装置、设备及存储介质 - Google Patents
重拓扑方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116630575A CN116630575A CN202310648338.7A CN202310648338A CN116630575A CN 116630575 A CN116630575 A CN 116630575A CN 202310648338 A CN202310648338 A CN 202310648338A CN 116630575 A CN116630575 A CN 116630575A
- Authority
- CN
- China
- Prior art keywords
- topology
- target
- model
- heavy
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 100
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 238000010586 diagram Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 description 23
- 230000008439 repair process Effects 0.000 description 20
- 210000001508 eye Anatomy 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 10
- 238000005457 optimization Methods 0.000 description 10
- 230000007547 defect Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 210000001331 nose Anatomy 0.000 description 5
- 238000012800 visualization Methods 0.000 description 5
- 239000003086 colorant Substances 0.000 description 4
- 210000004709 eyebrow Anatomy 0.000 description 4
- 230000001815 facial effect Effects 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 230000005012 migration Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 210000000214 mouth Anatomy 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 208000003464 asthenopia Diseases 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000010171 animal model Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种重拓扑方法、装置、设备及存储介质,其中,该方法包括:获取第一对象的源网格模型和第二对象的目标网格模型;在源网格模型和目标网格模型上确定至少一对匹配点对;基于匹配点对和预设的重拓扑范围值确定重拓扑范围,并在重拓扑范围内,将源网格模型的形状贴合目标网格模型的形状,得到重拓扑后的网格模型;其中,重拓扑范围值用于表征每一对所述匹配点对分别对应的重拓扑区域范围。本申请实施例基于至少一对匹配点对和预设的重拓扑范围值,使源网格模型的形状尽量局部贴合目标网格模型的形状,以实现局部地重拓扑,解决了现有技术中不是针对性地源网格模型进行调整以及计算量大的问题。
Description
技术领域
本申请涉及但不限于计算机视觉技术领域,尤其涉及一种重拓扑方法、装置、设备及存储介质。
背景技术
重拓扑是三维模型处理过程中非常重要的一个步骤,一般可以理解为使用更好的拓扑结构,即更合理的网格面分布,去重新构建和表现同一个模型。一般重拓扑的流程是,以在源网格模型和目标网格模型上的匹配点对作为锚点,将源网格模型整体形变为目标网格模型的形状,从而实现重拓扑。也就是说,相关技术中是利用目标网格模型对整个源网格模型中的所有点进行优化。这样存在的问题是,第一,目前的重拓扑并不是针对性的源网格模型进行调整;第二,重拓扑后的网格模型往往存在一些缺陷,整体形变导致计算量大。
发明内容
有鉴于此,本申请实施例至少提供一种重拓扑方法、装置、设备及存储介质。
本申请实施例的技术方案是这样实现的:
一方面,本申请实施例提供一种重拓扑方法,所述方法包括:获取第一对象的源网格模型和第二对象的目标网格模型;在所述源网格模型和所述目标网格模型上确定至少一对匹配点对;基于所述匹配点对和预设的重拓扑范围值确定重拓扑范围,并在所述重拓扑范围内,将所述源网格模型的形状贴合所述目标网格模型的形状,得到重拓扑后的网格模型;其中,所述重拓扑范围值用于表征每一对所述匹配点对分别对应的重拓扑区域范围。
另一方面,本申请实施例提供一种重拓扑装置,所述装置包括:获取模块,用于获取第一对象的源网格模型和第二对象的目标网格模型;第一确定模块,用于在所述源网格模型和目标网格模型上确定至少一对匹配点对;重拓扑模块,用于基于所述匹配点对和预设的重拓扑范围值确定重拓扑范围,并在所述重拓扑范围内,将所述源网格模型的形状形变为所述目标网格模型的形状,得到重拓扑模型;其中,所述重拓扑范围值用于表征每一对所述匹配点分别对应的重拓扑区域范围。
再一方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
又一方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。
相比于现有技术中对源网格模型中的所有的顶点尽量贴合目标网格模型(即整体上重拓扑),可以看出:本申请实施例中,将用户选取的匹配点作为重拓扑的锚点,通过至少一对匹配点对和预设的重拓扑范围值确定锚点附近的区域,而锚点附近的区域(即重拓扑范围)就是用户想让源网格模型与目标网格模型尽量贴合的区域,由此,对锚点附近的区域进行拓扑,相比对整个网格模型的所有顶点进行优化,局部区域的顶点具有很好的针对性,在降低计算量的同时,用户通过调整局部区域就能提高重拓扑的精度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1为相关技术中的重拓扑的流程示意图;
图2为本申请实施例提供的一种重拓扑方法的实现流程示意图;
图3为在源网格模型和目标网格模型上匹配点的示意图;
图4为本申请实施例提供的另一种重拓扑方法的实现流程示意图;
图5为本申请实施例提供的又一种重拓扑方法的实现流程示意图;
图6为本申请实施例提供一种交互式三维人脸重拓扑系统的组成结构示意图;
图7为本申请实施例提供的一种重拓扑装置的组成结构示意图;
图8为本申请实施例提供的一种计算机设备的硬件实体示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和实施例对本申请的技术方案进一步详细阐述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
所涉及的术语“第一/第二/第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二/第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请的目的,不是旨在限制本申请。
下面先介绍一下重拓扑流程,参见1的步骤S101至步骤S103,该流程包括:步骤S101,手工标注关键点,即:分别对目标网格模型(target mesh)11和源网格模型(sourcemesh)12进行对应位置的人脸关键点标注。步骤S102,重拓扑,即使用重拓扑算法将源网格模型形变为目标网格模型的形状,从而实现重拓扑。步骤S103,输出结果,即输出重拓扑后的网格模型与目标网格模型之间整体上的差异。可见相关技术中,是基于匹配点对对整个源网格模型中的所有的顶点尽量贴合目标网格模型,即整体上进行重拓扑。这样存在的问题是,第一,目前的重拓扑并不是针对性的源网格模型进行调整;第二,重拓扑后的网格模型往往存在一些缺陷,整体形变导致计算量大。
相关技术中,修复重拓扑后的网格模型所存在的缺陷依赖于人工修复。人工修复的过程是,继续参见图1,步骤S104,通过人眼观察重拓扑后的网格模型的呈现效果,进行针对性修复。显然,该方法需要耗费较高的人力成本和时间成本,效率低下;而依赖于人眼的观察,往往由于经验或者人眼观察的局限性(通过人眼观察重拓扑后的效果,对于一些细节人眼不容易直接看出来),由此不能发现精细粒度的误差,从而不能对有缺陷的区域进行精细调整,导致修复效果不能达到预期效果。
针对上述整体上进行重拓扑所存在的问题,本申请实施例提供一种重拓扑方法,该方法可以由计算机设备的处理器执行。其中,计算机设备指的可以是服务器、笔记本电脑、平板电脑、台式计算机、移动设备(例如移动电话、个人数字助理、便携式游戏设备)等具备数据处理能力的设备。
图2为本申请实施例提供的一种重拓扑方法的实现流程示意图,如图2所示,该方法包括如下步骤S201至步骤S203:
步骤S201,获取第一对象的源网格模型和第二对象的目标网格模型;
这里,重拓扑,可以理解为使用更好的拓扑结构,即更合理的网格面分布,去重新构建和表现同一个模型。在对模型进行重拓扑时,一般会更注重使用合适的面数和面片大小来表示模型。
这里,源网格模型和目标网格模型都属于三维网格模型,可以是多种实物或者场景,如人物动物模型、服装布料模型、人体器官模型、家具模型、工业产品模型、影视特效模型、雕塑建筑模型、室内场景模型等。
这里,第一对象和第二对象不同。一种实施方式是:第一对象和第二对象属于不同类,例如第一对象和第二对象属于不同种类的动物。第二种实施方式是,第一对象和第二对象属于同一类,但是二者不属于同一对象子类,例如第一对象和第二对象都是人,但是第一对象是北欧人种,第二对象属于亚洲人种。第三种实施方式是,第一对象和第二对象属于同一对象子类,但是对象不是同一个,例如第一对象和第二对象都属于亚洲人种,但是,第一对象和第二对象不是同一个人。第四种实施方式是,第一对象和第二对象是同一个人,但是具有不同的外观,例如第一对象和第二对象属于同一个人的不同的时期,第一对象是50岁的人,第二对象是7岁的人。
一般来说,网格模型的获取方式包括:第一种是人工手动建模的方式,利用三维建模软件进行建模;第二种是主动式建模,通过红外深度相机、结构光或者激光等形式对物体进行扫描后得到的,一般是通过将光线主动投影到物体上,通过计算光的反射光线的形变或者飞行时间来确定物体离相机的距离,然后生成三维模型。第三种是基于计算机视觉的被动式的三维重建系统,通过计算不同视角拍摄物体图像的三维控件位置来重新恢复物体的深度,可以直接获取到物体的纹理。
本实施例中,源网格模型可以采用上述任一方式来获取,以第三种方式为例,源网格模型可以是对第一对象进行重建后得到的三维模型,也可以是对该重建后的三维模型进行预先的重拓扑处理(可以理解为预处理,第一重拓扑)后得到模型。第一重拓扑可以是重新改变网格拓扑的过程,可以是简化网格拓扑的过程,例如将高模简化为低模的过程;第一重拓扑还可以是复杂化网格拓扑的过程,例如将低模转化为高模的过程。一般较为常见的是简化网格拓扑的过程,使源网格模型更简洁,更易于使用。一般来说,雕刻或生成拓扑(例如通过三维扫描)产生的混乱拓扑存在重拓扑的需要。如果网格将用于某种形式的形变,则网格通常需要重新拓扑。
网格模型通常可以用网格面片数量的多少来衡量网格的质量的一个因素,网格面片数量多(即网格密集)的一般称为高模,而网格数量少(即网格稀疏)的一般称为低模。本实施例中,源网格模型和目标网格模型可以是高模模型也可以是低模模型。
三维网格模型中的网格面片(或简称为网格)都是由顶点、边和面三个基本结构组成,表示由多边形面片组成,网格按照每个面包括的顶点数目来区分,可以分为三角面片(三角网格,tirs)、四边面片(四边网格,quads)和更多(n-边面,n-gons)。一般情况下,较为常用的网格一般是利于计算的三角网格或者利于形变的四边网格。本申请实施例对于局部面片的形状、大小等不做限定。
步骤S202,在所述源网格模型和目标网格模型上确定至少一对匹配点对;
这里,匹配点可以是网格面片的顶点,一般不会是顶点以外的边或者面上的点;所述匹配点对包括在所述源网格模型上的第一匹配点和在所述目标网格模型上的第二匹配点。
在一些实施例中,用户在所述源网格模型和所述目标网格模型上进行点的选取操作,响应于该选取操作对应的选取指令,在所述源网格模型和目标网格模型上确定作为锚点的至少一对匹配点对,例如多对匹配点对。
参见图3,图3中左边的三维模型301为源网格模型,右边的三维模型302为目标网格模型,用户依次交替在源网格模型301和目标网格模型302进行点的选取操作,例如第一次选取源网格模型的点1,第二次选取在目标网格模型的点1,这样源网格模型上的点1和目标网格模型上的点1就组成一对匹配点对;第三次选取源网格模型的点2,第四次选取在目标网格模型的点2,这样源网格模型上的点2和目标网格模型上的点2就组成第二对匹配点对;如此,第2M-1次选取源网格模型的点M(M为大于2的整数),第2M次选取在目标网格模型的点M,这样源网格模型上的点M和目标网格模型上的点M就组成第M对匹配点对,如此就可以在源网格模型和目标网格模型上形成M对的匹配点对。在后续的重拓扑过程中,需要以这些选取的匹配点作为锚点进行重拓扑。
人脸模型(人头模型)常常应用于影视、游戏、动画等领域,通过对人脸模型的控制,可以呈现拟真的人脸动作或表情。换句话说,人脸模型是可参数化、可操纵的脸部模型。本申请实施例中的人脸为广义上的概念,除了人的脸部以外,还可以包括拟人化的动物、卡通形象等的脸部,例如可用于创建逼真的数字人面部动画。
在实施的过程中,源网格模型和目标网格模型均为人脸模型时,该匹配点可以为人脸关键点,如眼睛、嘴、鼻、耳、脸部轮廓等部位的关键点。本申请实施例对于如何选取关键点、以及关键点的数量、类型等不做限定。后面为了便于理解,在一些实施例中,将以人脸关键点作为匹配点进行描述。
步骤S203,基于所述匹配点对和预设的重拓扑范围值确定重拓扑范围,并在所述重拓扑范围内,将所述源网格模型的形状贴合所述目标网格模型的形状,得到重拓扑后的网格模型;
其中,重拓扑范围值用于表征每一对所述匹配点对分别对应的重拓扑区域范围。重拓扑范围值用来表征重拓扑区域的范围大小,是以至少一对匹配点对作为参考点来进行确定的。
在一些实施例中,用户进行重拓扑操作,该重拓扑操作是基于所述目标网格模型对所述源网格模型进行的,响应于重拓扑操作对应的重拓扑指令,基于所述匹配点对和预设的重拓扑范围值确定重拓扑范围,并在所述重拓扑范围内,将所述源网格模型的形状贴合所述目标网格模型的形状,得到重拓扑后的网格模型,以实现重拓扑。
在实施的过程中,可以针对不同的匹配点对设置同一个重拓扑范围值(即多对一的映射关系),也可以针对不同的匹配点对设置多个重拓扑范围值(即多对多的映射关系)。重拓扑范围值在实现时可以以邻接关系表征,也可以以空间距离来表征。步骤S203中的重拓扑可以是简化拓扑或者复杂化拓扑的过程。
在实施步骤S203的过程中,基于所述匹配点对和预设的重拓扑范围值,在所述源网格模型上确定至少一处待形变的局部区域(即重拓扑范围);例如,以源网格模型上的每一第一匹配点和对应的重拓扑范围值确定该第一匹配点对应的一个待形变的局部区域,然后将所有待形变的局部区域中相同的进行合并,得到至少一处待形变的局部区域。在至少一处待形变的局部区域内,将所述源网格模型的形状形变为所述目标网格模型的形状,即使得所述源网格模型的形状尽量贴合所述目标网格模型的形状,以实现重拓扑。
下面以数字人具备微表情进行举例来说明,源网格模型是数字人,目标网格模型具有例如眉毛、嘴角、眼睛等微表情。假设想让数字人做出眉毛飞扬的微表情,现有技术中,是将数字人与目标网格模型进行整体上的重拓扑,即将数字人的眉毛、眼睛、脸部、下巴、鼻子等区域都与目标网格模型进行贴合。而本申请实施例中,用户选择的作为锚点的匹配点对是在眉毛处的关键点,那么在重拓扑时,会针对眉毛处的关键点的附近区域进行重拓扑,而如果对于下巴、脸部和鼻子等区域不在确定的重拓扑范围内,将不会对下巴、脸部和鼻子这些区域进行重拓扑。
也就是说,本申请实施例提供的方案仅对选取的匹配点对所在一定范围内的顶点进行优化。相比于现有技术中对源网格模型中的所有的顶点尽量贴合目标网格模型(即整体上重拓扑),本申请实施例提供的技术方案具有如下优势:
用户选取的匹配点是重拓扑的锚点,通过至少一对匹配点对和预设的重拓扑范围值确定锚点附近的区域,而锚点附近的区域(即至少一处待形变的局部区域)就是用户想让源网格模型与目标网格模型尽量贴合的重点区域,由此,对锚点附近的区域进行拓扑,相比对整个网格模型的所有顶点进行优化,局部区域的顶点具有很好的针对性,在降低计算量的同时,用户通过调整局部区域就能提高重拓扑的精度。
在一些实施例中,按照重拓扑范围值和选定的关键点来选取目标顶点,用这些目标顶点组成目标顶点集合,也就是说,重拓扑范围包括目标顶点集合;参见图4,步骤S203,基于所述匹配点对和预设的重拓扑范围值确定重拓扑范围,并在所述重拓扑范围内,将所述源网格模型的形状贴合所述目标网格模型的形状,得到重拓扑后的网格模型,包括:
步骤S2031,基于所述匹配点对和预设的重拓扑范围值,在所述源网格模型上确定目标顶点集合;
这里,重拓扑范围值可以有多种表征方式。例如可以以邻接关系表征,也可以以空间距离来表征,这样所述重拓扑范围值所对应目标顶点集合包括以下至少之一:
邻接关系所对应的目标顶点集合:沿着第一网格面片的边向外延伸所选取的顶点集合,例如与每一第一网格面片上的顶点满足所述邻接关系的顶点集合;所述第一网格面片为至少一对所述匹配点对所在的网格面片;
空间距离值所对应的目标顶点集合:以至少一对所述匹配点对作为起始点且空间距离在所述空间距离值内的顶点集合。
这里,基于至少一对匹配点对和预设的重拓扑范围值,可以在源网格模型上确定至少一处待形变的局部区域,该局部区域可以对应目标顶点集合所组成的区域,也可以对应目标网格面片集合所组成的区域。在实施时,采用空间距离值的方式时,是先确定局部区域,再确定区域内的目标顶点集合或目标网格面片集合;采用邻接关系的方式时,是不需要确定局部区域,而直接确定目标顶点集合或目标网格面片集合。
在实施的过程中,可以针对不同的匹配点对设置同一个重拓扑范围值(例如同一个邻接关系或同一个空间距离值);当然可以针对性的设置,不同的顶点对设置不同的重拓扑范围值。以邻接关系为例进行说明,例如假设源网格模型上的第一匹配点的数量为18个,针对这18个第一匹配点都设置为二级邻居;再如其中3个匹配点设置的邻接关系为一级邻居,8个匹配点设置二级邻居,5个匹配点设置为三级邻居等等。
步骤S2032,基于所述目标顶点集合,将所述源网格模型的形状贴合所述目标网格模型的形状,得到重拓扑后的网格模型。
以人脸模型为例进行说明,目标顶点集合的确定方式可以是,根据选择的关键点对(作为匹配点对)和设置的重拓扑范围值,在人脸模型上选取第一匹配点所在的局部区域(重拓扑范围)中的所有顶点,即作为目标顶点集合。
在一些实施例中,步骤S2031,所述基于所述匹配点对和预设的重拓扑范围值,在所述源网格模型上确定目标顶点集合,包括:
步骤2311,确定每一所述匹配点对中在所述源网格模型上第一匹配点;
其中,确定每一所述匹配点对中在所述源网格模型上第一匹配点,包括:确定在所述源网格模型上选取的点,例如用户在源网格模型进行点的选取操作,响应于该选取操作对应的选取指令,在源网格模型上确定所选取的点;如果所述点不为网格面片的顶点,将所述点所在的网格面片上的顶点,确定为第一匹配点。如果所述点为网格面片的顶点,将该网格面片上的顶点,确定为第一匹配点。也就是说,本申请实施例中选取的匹配点是网格面片的顶点,如果用户选取的点是顶点以外的边或者面上的点,就会将选取的点所在的网格面片的顶点作为第一匹配点。
步骤2312,基于所述第一匹配点,利用所述重拓扑范围值,在所述源网格模型上确定重拓扑范围,并将所述重拓扑范围内的顶点确定为所述目标定点集合中的目标顶点。
相关技术中,基于匹配点对将整个源网格模型中所有的顶点尽量贴合目标网格模型,而本实施例中,提供了两种方式来确定局部区域的顶点集合(即目标顶点集合),即基于邻接关系确定所对应的目标顶点集合,以及基于空间距离值所对应的目标顶点集合;然后将源网格模型中局部区域的顶点集合尽量贴合目标网格模型。
邻接关系与空间距离值相比,邻接关系是一个相对值概念,而空间距离值是一个绝对值的概念。在邻接关系为定值的情况下,网格模型为高模时,通过设置的邻接关系确定的局部区域比较小,而网格模型为低模时,通过设置的邻接关系确定的局部区域比较大,因此用户需要根据网格数量的多少来设置邻接关系。在网格模型的大小是确定的情况下,也可以采用空间距离值来确定目标顶点集合,这样是先确定局部区域,然后将局部区域内的顶点确定为目标顶点集合。针对不同位置的匹配点,可以设置不同的空间距离值,通过一次设置空间距离值,即使在网格数量发生变化的情况下,也不会改变该匹配点所影响的区域范围。
以顶点为例进行说明,可以以以下三种任一来进行该目标顶点集合的选择:
1)根据邻接关系进行选择,例如邻接关系为二级邻居,那么确定目标顶点集合包括:确定与选取的每一第一匹配点满足一级邻居对应的顶点和满足二级邻居对应的顶点,即一级邻居对应的顶点包括每一第一匹配点通过一条边连接的顶点,以及满足二级邻居对应的顶点包括每一第一匹配点通过两条边连接的顶点;那么目标顶点集合包括每一选取的每一第一匹配点、一级邻居对应的顶点和二级邻居对应的顶点。
2)根据邻接关系进行选择,例如邻接关系为二级邻居,那么确定目标顶点集合包括:确定选取的每一第一匹配点所在的网格面片为第一网格面片,一级邻居对应的顶点包括与每一第一网格面片直接相连的顶点,二级邻居对应的顶点包括与一级邻居对应的每一顶点直接相连接的顶点,那么目标顶点集合包括每一第一网格面片的顶点、一级邻居对应的顶点和二级邻居对应的顶点。
3)根据空间距离值进行选择,如空间距离的阈值为半径0.1个距离单位,在实施时可以以每一匹配点为圆心(作为参考点),选取半径在0.1m内的所有顶点;将所有匹配点所对应的所有顶点确定为目标顶点集合。
在一些实施例中,目标顶点集合的另一种替换还可以是目标网格面片集合,即可以选取第一匹配点所映射的所有网格面片(即目标网格面片集合)。以三角面片为例进行说明,可以以以下两种标准任一来进行该目标三角面片集合的选择:
1)选取的每一关键点所在的网格面片为第一网格面片,形成第一网格面片集合;根据邻接关系进行选择,如一级邻居对应的三角面片为与每一第一网格面片直接相连的三角面片,二级邻居对应的三角面片为与一级邻居对应的每一三角面片直接相连接的三角面片,那么目标网格面片集合包括第一网格面片集合、一级邻居对应的三角面片所组成的集合和二级邻居对应的三角面片所组成的集合。
2)根据空间距离值进行选择,如空间距离的阈值为半径0.1个距离单位内的所有三角面片。在实施时可以以每一匹配点为圆心(作为参考点),选取半径在0.1距离单位内的所有三角面片;将所有匹配点所对应的所有三角面片确定为目标三角面片集合。
在以空间距离值来表征重拓扑范围值时,网格面片可能不能完全落在该空间距离值所对应的局部区域内,比如网格面片的75%部分在在局部区域内,可以将这种网格面片都作为目标网格面片,也可以将这种网格面都不作为目标网格面片,还可以将面积大于某一阈值的网格面片作为目标网格面片。
在对重拓扑后的网格模型进行调整时,即使确定的是目标网格面片集合,也是通过调整目标网格面片集合中目标网格面片的顶点来实现优化重拓扑后的网格模型。换句话说,目标顶点集合和目标网格面片集合在实际操作中,可以是等价的。
上述实施例提供了一种局部重拓扑方法,然而重拓扑后的网格模型仍然存在很多缺陷,以人脸模型为例会存在诸如结构线(比如眼眶、嘴唇线、肌肉线条等)不够光滑,卡线不准确(比如眼眶线偏移),某些区域在重拓扑过程中退化(比如虚拟人模型的颈部通常不完整,导致网格上面颈部的很多线几乎重叠在一起)等等。针对这些缺陷的修复依赖于人工修复。人工修复的过程是,通过人眼观察重拓扑后的网格模型的呈现效果,进行针对性修复。从人工修复过程可以看出,首先,人工修复中的人眼观察严重依赖于用户的从业经验;其次,技术美工在修复过程中需要特别仔细,否则容易发生错漏,例如对于一些细节人眼不容易直接看出来,导致对这些缺失错误的细节没能完成修复;最后,人眼观察这种容易导致技术美工的眼部疲劳,且人工修复的方式效率低且修复效果差容易返工。
基于此,本申请实施例再提供一种优化重拓扑后的网格模型方法,参见图5,该方法在步骤S203之后,还包括:
步骤S204,基于所述目标顶点集合对所述重拓扑后的网格模型进行优化。
在实施时,步骤S204可以包括:步骤241,从所述目标顶点集合中,确定待优化的顶点集合;步骤242,基于所述待优化的顶点集合对所述重拓扑后的网格模型进行优化。
在实施步骤241时,可以采用方式一或二:方式一:可以将目标顶点集合都确定为待优化的顶点集合;方式二:也可以对目标顶点集合进行筛选,得到待优化的顶点集合。针对方式二,筛选的方式可以是,针对所述目标顶点集合中的顶点(可以是针对每一顶点),确定所述重拓扑后的网格模型与所述目标网格模型之间的误差值,将误差值大于预设阈值的所有目标顶点作为待优化的顶点集合。这里,阈值可以根据实际需求进行设置,例如当需要进行较为精细粒度的修复调整时,可以将预设阈值设置的小一点,这样可以发现一些人眼不容易看出来的需要优化的顶点。当可以进行较为粗粒度的修复调整时,可以将预设阈值设置的大一点,这样可以先忽略那些误差小的点,而先调整那些误差较大的顶点,由此可以提高修复的效率。
在实施步骤242时,可以显示待优化的顶点集合,例如以某种高亮颜色来显示待优化的顶点集合,这样用户可以针对性地选取最终需要优化的顶点集合(最终需要优化的区域),进行更精细化地调整。也就是说,步骤241相当于初次筛选,而在高亮显示后,步骤242用户基于高亮显示的顶点再进行优化,如此可以提高优化重拓扑后的网格模型的效率。
本申请实施例中,首先对源网格模型的重拓扑是基于至少一对匹配点对和预设的重拓扑范围值来实现局部拓扑;在对重拓扑后的网格模型进行优化时,也是基于待优化的顶点集合(即基于至少一对匹配点对和预设的重拓扑范围值确定),用户只需要调整匹配点附近的区域,对于距离匹配点较远的区域,可以不用进行调整优化,从而实现用户把主要精力集中在迫切需要优化的区域内,从而提高优化重拓扑后的网格模型的效率。
在一些实施例中,步骤S204,所述基于所述目标顶点集合对所述重拓扑后的网格模型进行优化,包括:
步骤2041,针对所述目标顶点集合中的顶点,确定所述重拓扑后的网格模型与所述目标网格模型之间的误差值;
步骤2042,在所述重拓扑后的网格模型上,可视化展示所述目标顶点集合中的顶点对应的误差值。
这里,可视化显示时,热力图是一种较为直观的表现形式。热力图是一种通过对色块着色来显示数据的统计图表。绘图时,需指定颜色映射的规则。例如,较大的值由较深的颜色表示,较小的值由较浅的颜色表示;较大的值由偏暖的颜色表示,较小的值由较冷的颜色表示,等等。
以热力图来说明步骤2042,在所述重拓扑后的网格模型上,可视化展示所述目标顶点集合中的顶点对应的误差值,包括:
在所述重拓扑后的网格模型上,以热力图展示所述目标顶点集合中的顶点对应的误差值,其中,所述热力图显示的颜色深度与误差值大小相关,例如热力图显示的颜色越深表征所述误差值越大,所述热力图显示的颜色越浅表征所述误差值越小。实现时,例如误差值较大的位置用深红色展示,误差值小的区域用白色展示,用户可根据热力图的引导在误差较大的区域选择增加关键点,并进行特定区域的优化。
在一些实施例中,步骤2041,针对所述目标顶点集合中的顶点,确定所述重拓扑后的网格模型与所述目标网格模型之间的误差值,包括以下至少之一:
方式一:确定所述目标顶点集合的顶点与所述目标网格模型的表面之间的距离;
方式二:确定所述目标顶点集合的顶点与所述目标网格模型中最接近的顶点之间的距离;
方式三:确定所述目标顶点集合的顶点所在的网格面片与所述目标网格模型中最接近的网格面片之间的角度;
方式四:确定所述目标顶点集合的顶点所在的网格面片的法线,与目标网格模型中最近的网格面片的法线之间的角度。
方式一和方式二中是以距离来表征误差值,方式三和方式四中是以角度来表征误差值。一般来说,网格模型的表面是网格面片,那么方式一大多数情况下可以理解为点到平面之间的之间。而方式二中是点到点之间的距离。方式三是两个平面之间的角度;方式四是两条线之间的角度,其中几何学中的法向是指垂直于某种元素(通常是一个三角面片或一个曲面)的方向或直线,但也可以是相对于一条直线、曲线上一点的切线或曲面上一点的相切面。简单来说,方式一和二用于观察距离之间的误差;方式三和方式四用于观察网格面片之间的倾斜角度的差异。
在实现时,用户可以根据需求选择一种或多种方式,然后设备根据用户选择的方式进行计算然后呈现。
下面以数字人领域为例来说明,数字人,又称虚拟人或虚拟数字人,是一种通过计算机图形学、图形渲染、动作捕捉、深度学习、语音合成等数字技术所创造出的、与人类形象接近的、被赋予特定人物身份的、在视觉上拉近和人的心理距离并为人类带来更加真实的情感互动的数字化形象。
基于面部重建技术和拓扑(Topology)迁移技术,可以生成虚拟形象。例如,可以从一个拓扑模型(网格模型)中确定一些关键点,也可以从另一个拓扑模型中确定一些关键点,将这些关键点对齐,可以实现拓扑迁移。基于稀疏的关键点对齐技术,可以利用较少数量的关键点(例如几百个关键点)进行拓扑迁移。例如,为了使得数字人做一些表情(例如大笑或生气),那么就需要以数字人作为源网格模型,以具有目标表情的网格模型作为目标网格模型,在对数字人和目标网格模型进行关键点对标注之后,就可以基于目标网格模型对数字人进行重拓扑(拓扑迁移)。
然而,重拓扑后的数字人的面部轮廓可能会与目标网格模型的面部轮廓差别较大。重拓扑的人脸模型存在的缺陷,例如结构线不够光滑,卡线不准确等等。针对这些缺陷的修复依赖于人工修复。人工修复的过程是,通过人眼观察重拓扑后的网格模型的呈现效果,进行针对性修复。
从人工修复过程可以看出,首先,人工修复中的人眼观察严重依赖于技术美工的从业经验;其次,技术美工在修复过程中需要特别仔细,否则容易发生错漏,例如对于一些细节人眼不容易直接看出来,导致对这些缺失错误的细节没能完成修复;最后,人眼观察这种容易导致技术美工的眼部疲劳,且人工修复的方式效率低且修复效果差容易返工。
本申请实施例提出一种交互式三维人脸重拓扑方法,用于提高重拓扑的准确度。在该重拓扑方法中加入了误差可视化模块,方便观察重拓扑后的网格模型所存在的缺陷;在该方法中还提供了一种局部区域的匹配算法,用于对重拓扑后存在缺陷的部分区域进行快速修正。
本申请实施例提出的方法在形式上,区别于传统方法的点在于:本申请实施例提供给了一种根据可视化误差,有针对性地选取需要优化的区域,进行更精细化地调整:1)设计了误差可视化模块,对误差较大的区域进行热力图颜色标注,方便用户观察和选取;2)不同于传统的重拓扑整体优化算法,设计了一个根据用户标注的关键点,进行目标区域优化的算法。
下面以数字人领域的三维网格模型为人脸模型,网格面片为三角面片、匹配点为人脸关键点进行说明,本申请实施例提供一种交互式三维人脸重拓扑系统,参见图6,该系统包括:
手工选取关键点模块61:用于在输入的两个网格模型中语义相同的对应人脸关键点进行选取,如鼻尖,嘴角等,形成关键点对。
关键点选取的作用在于引导重拓扑算法的优化,起到锚点的作用。源网格模型上的对应关键点在优化后,应该尽量接近目标网格模型中的对应关键点。未被标注为关键点的顶点和三角面片,通过参考已标注的关键点进行变换。
区域重拓扑算法模块62:用于通过对应关键点的引导,该算法旨在对关键点所在的局部区域进行优化,使得源网格模型的该局部区域尽量贴近目标网格模型的对应区域。
该算法是重拓扑方法的核心,区别于传统方案的地方在于,本实施例提供的方法仅对选取的关键点所在一定范围内的顶点进行优化。而传统方法是对整个源网格模型中的所有点进行优化。
误差计算模块63:用于计算重拓扑后的人脸模型与目标网格模型之间的误差。
误差可视化模块64:用于根据误差值,对重拓扑后的网格模型进行热力图展示。如误差较大的位置用深红色展示,误差小的区域用白色展示,用户可根据热力图的引导在误差较大的区域选择增加关键点,并进行特定区域的优化。
区域重拓扑算法模块执行如下两个步骤:
步骤1,根据选择的关键点和设置的邻接关系的半径阈值,选取关键点所在的目标区域中的所有顶点和三角面片;该区域半径阈值内选择标准1)或标准2):1)根据邻接关系的距离选择,如一级邻居为与目标三角面片直接相连的顶点,二级为与一级顶点直接相连接的顶点。2)根据空间距离进行选择,如选取半径在0.1m内的所有顶点。
步骤2,针对步骤1中选择得到的区域进行非刚性形变优化。
误差计算可选择多种不同的距离计算方式,以对误差进行分析和观察:1)计算形变后的网格模型中每个顶点距离目标网格模型表面之间的距离;2)计算形变后的网格模型中每个顶点距离目标网格模型中最接近的顶点之间的距离;3)计算形变后的网格模型的三角面片的法线,与目标网格模型中最近的三角面片法线之间的角度。其中,1)和2)用于直接观察距离之间的误差;3)可观察三角面片之间的倾斜角度的差异。
本申请实施例提供的方法可以作为后处理方法对传统方法的结果尽心精细化修正;也可抛弃传统方法,直接使用本发明中的方法进行重拓扑。本申请实施例的有益效果在于:1)通过调整局部区域,提高重拓扑的精度;2)通过引入局部区域重拓扑算法,用户在对错误区域进行调整时,不需要重复对整个Mesh进行重拓扑优化处理,从而减小了重拓扑过程中用户的整体时间花费。
基于前述的实施例,本申请实施例提供一种重拓扑装置,该装置包括所包括的各模块、以及各模块所包括的各单元等,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(Central ProcessingUnit,CPU)、微处理器(Microprocessor Unit,MPU)、数字信号处理器(Digital SignalProcessor,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等。
图7为本申请实施例提供的一种重拓扑装置的组成结构示意图,如图7所示,重拓扑装置700包括:获取模块710、第一确定模块720和重拓扑模块730,其中:
获取模块710,用于获取第一对象的源网格模型和第二对象的目标网格模型;
第一确定模块720,用于在所述源网格模型和目标网格模型上确定至少一对匹配点对;
重拓扑模块730,用于基于所述匹配点对和预设的重拓扑范围值确定重拓扑范围,并在所述重拓扑范围内,将所述源网格模型的形状贴合所述目标网格模型的形状,得到重拓扑后的网格模型;其中,重拓扑范围值用于表征每一对所述匹配点对分别对应的重拓扑区域范围。
在一些实施例中,所述重拓扑范围包括目标顶点集合;重拓扑模块包括:
第一确定单元,用于基于所述匹配点对和预设的重拓扑范围值,在所述源网格模型上确定目标顶点集合;
重拓扑单元,用于基于所述目标顶点集合,将所述源网格模型的形状贴合所述目标网格模型的形状,得到重拓扑后的网格模型。
在一些实施例中,该装置还包括:优化模块,用于基于所述目标顶点集合对所述重拓扑后的网格模型进行优化。
在一些实施例中,所述第一确定单元,包括:
第一确定子单元,用于确定每一所述匹配点对中在所述源网格模型上第一匹配点;
第二确定子单元,用于基于所述第一匹配点,利用所述重拓扑范围值,在所述源网格模型上确定重拓扑范围,并将所述重拓扑范围内的顶点确定为所述目标定点集合中的目标顶点。
在一些实施例中,第一确定子单元,还用于确定在所述源网格模型上选取的点;如果所述点不为顶点,将所述点所在的网格面片上的顶点,确定为第一匹配点。
在一些实施例中,所述重拓扑范围值所对应的目标顶点集合包括:
邻接关系所对应的目标顶点集合:沿着第一网格面片的边向外延伸所选取的顶点集合;所述第一网格面片为至少一对所述匹配点对所在的网格面片;
和/或,
空间距离值所对应的目标顶点集合:以至少一对所述匹配点对作为起始点且空间距离在所述空间距离值内的顶点集合。
在一些实施例中,所述优化模块,包括:
第二确定单元,用于针对所述目标顶点集合中的顶点,确定所述重拓扑后的网格模型与所述目标网格模型之间的误差值;
可视化单元,用于在所述重拓扑后的网格模型上,可视化展示所述目标顶点集合中的顶点对应的误差值。
在一些实施例中,可视化单元,用于在所述重拓扑后的网格模型上,以热力图的形式展示所述目标顶点集合中的顶点对应的误差值;其中,其中,所述热力图显示的颜色深度与误差值大小相关。
在一些实施例中,第二确定单元,用于确定所述目标顶点集合的顶点与所述目标网格模型的表面之间的距离;
或者,第二确定单元,用于确定所述目标顶点集合的顶点与所述目标网格模型中最接近的顶点之间的距离;
或者,第二确定单元,用于确定所述目标顶点集合的顶点所在的网格面片与所述目标网格模型中最接近的网格面片之间的角度;
或者,第二确定单元,用于确定所述目标顶点集合的顶点所在的网格面片的法线,与目标网格模型中最近的网格面片的法线之间的角度。
在一些实施例中,所述源网格模型和所述目标网格模型均为人头模型,所述匹配点对为人脸关键点对。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上述方法实施例描述的方法,对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的重拓扑方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件、软件或固件,或者硬件、软件、固件三者之间的任意结合。
本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。所述计算机可读存储介质可以是瞬时性的,也可以是非瞬时性的。
本申请实施例提供一种计算机程序,包括计算机可读代码,在所述计算机可读代码在计算机设备中运行的情况下,所述计算机设备中的处理器执行用于实现上述方法中的部分或全部步骤。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述方法中的部分或全部步骤。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一些实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一些实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
需要指出的是:上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考。以上设备、存储介质、计算机程序及计算机程序产品实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请设备、存储介质、计算机程序及计算机程序产品实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,图8为本申请实施例提供的一种计算机设备的硬件实体示意图,如图8所示,该计算机设备800的硬件实体包括:处理器801、通信接口802和存储器803,其中:
处理器801通常控制计算机设备800的总体操作。
通信接口802可以使计算机设备通过网络与其他终端或服务器通信。
存储器803配置为存储由处理器801可执行的指令和应用,还可以缓存待处理器801以及计算机设备800中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。处理器801、通信接口802和存储器803之间可以通过总线804进行数据传输。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各步骤/过程的序号的大小并不意味着执行顺序的先后,各步骤/过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (12)
1.一种重拓扑方法,其特征在于,所述方法包括:
获取第一对象的源网格模型和第二对象的目标网格模型;
在所述源网格模型和所述目标网格模型上确定至少一对匹配点对;
基于所述匹配点对和预设的重拓扑范围值确定重拓扑范围,并在所述重拓扑范围内,将所述源网格模型的形状贴合所述目标网格模型的形状,得到重拓扑后的网格模型;
其中,所述重拓扑范围值用于表征每一对所述匹配点对分别对应的重拓扑区域范围。
2.根据权利要求1所述的方法,其特征在于,所述重拓扑范围包括目标顶点集合;
所述基于所述匹配点对和预设的重拓扑范围值确定重拓扑范围,并在所述重拓扑范围内,将所述源网格模型的形状贴合所述目标网格模型的形状,得到重拓扑后的网格模型,包括:
基于所述匹配点对和预设的重拓扑范围值,在所述源网格模型上确定目标顶点集合;
基于所述目标顶点集合,将所述源网格模型的形状贴合所述目标网格模型的形状,得到重拓扑后的网格模型。
3.根据权利要求2所述的方法,其特征在于,所述基于所述匹配点对和预设的重拓扑范围值,在所述源网格模型上确定目标顶点集合,包括:
确定每一所述匹配点对中在所述源网格模型上第一匹配点;
基于所述第一匹配点,利用所述重拓扑范围值,在所述源网格模型上确定重拓扑范围,并将所述重拓扑范围内的顶点确定为所述目标定点集合中的目标顶点。
4.根据权利要求3所述的方法,其特征在于,所述确定每一所述匹配点对中在所述源网格模型上第一匹配点,包括:
确定在所述源网格模型上选取的点;
如果所述点不为顶点,将所述点所在的网格面片上的顶点,确定为第一匹配点。
5.根据权利要求2所述的方法,其特征在于,所述重拓扑范围值所对应的目标顶点集合包括:
邻接关系所对应的目标顶点集合:沿着第一网格面片的边向外延伸所选取的顶点集合;所述第一网格面片为至少一对所述匹配点对所在的网格面片;
和/或,
空间距离值所对应的目标顶点集合:以至少一对所述匹配点对作为起始点且空间距离在所述空间距离值内的顶点集合。
6.根据权利要求2至5任一项所述的方法,其特征在于,所述方法还包括:
基于所述目标顶点集合对所述重拓扑后的网格模型进行优化。
7.根据权利要求6所述的方法,其特征在于,所述基于所述目标顶点集合对所述重拓扑后的网格模型进行优化,包括:
针对所述目标顶点集合中的顶点,确定所述重拓扑后的网格模型与所述目标网格模型之间的误差值;
在所述重拓扑后的网格模型上,可视化展示所述目标顶点集合中的顶点对应的误差值。
8.根据权利要求7所述的方法,其特征在于,所述在所述重拓扑后的网格模型上,可视化展示所述目标顶点集合中的顶点对应的误差值,包括:
在所述重拓扑后的网格模型上,以热力图的形式展示所述目标顶点集合中的顶点对应的误差值;
其中,所述热力图显示的颜色深度与误差值大小相关。
9.根据权利要求7所述的方法,其特征在于,针对所述目标顶点集合中的顶点,确定所述重拓扑后的网格模型与所述目标网格模型之间的误差值,包括以下至少之一:
确定所述目标顶点集合的顶点与所述目标网格模型的表面之间的距离;
确定所述目标顶点集合的顶点与所述目标网格模型中最接近的顶点之间的距离;
确定所述目标顶点集合的顶点所在的网格面片与所述目标网格模型中最接近的网格面片之间的角度;
确定所述目标顶点集合的顶点所在的网格面片的法线,与目标网格模型中最近的网格面片的法线之间的角度。
10.一种重拓扑装置,其特征在于,包括:
获取模块,用于获取第一对象的源网格模型和第二对象的目标网格模型;
第一确定模块,用于在所述源网格模型和目标网格模型上确定至少一对匹配点对;
重拓扑模块,用于基于所述匹配点对和预设的重拓扑范围值确定重拓扑范围,并在所述重拓扑范围内,将所述源网格模型的形状形变为所述目标网格模型的形状,得到重拓扑模型;
其中,所述重拓扑范围值用于表征每一对所述匹配点分别对应的重拓扑区域范围。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至9任一项所述方法中的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至9任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310648338.7A CN116630575A (zh) | 2023-06-02 | 2023-06-02 | 重拓扑方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310648338.7A CN116630575A (zh) | 2023-06-02 | 2023-06-02 | 重拓扑方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116630575A true CN116630575A (zh) | 2023-08-22 |
Family
ID=87621073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310648338.7A Pending CN116630575A (zh) | 2023-06-02 | 2023-06-02 | 重拓扑方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116630575A (zh) |
-
2023
- 2023-06-02 CN CN202310648338.7A patent/CN116630575A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110807836B (zh) | 三维人脸模型的生成方法、装置、设备及介质 | |
US7804997B2 (en) | Method and system for a three dimensional facial recognition system | |
JP7526412B2 (ja) | パラメータ推定モデルの訓練方法、パラメータ推定モデルの訓練装置、デバイスおよび記憶媒体 | |
US11562536B2 (en) | Methods and systems for personalized 3D head model deformation | |
CN113628327B (zh) | 一种头部三维重建方法及设备 | |
US11587288B2 (en) | Methods and systems for constructing facial position map | |
KR20120047616A (ko) | 얼굴 아바타 생성 장치 및 방법 | |
KR20160041570A (ko) | 몽타주 생성 장치 및 방법, 그 방법을 수행하기 위한 기록 매체 | |
CN111652123B (zh) | 图像处理和图像合成方法、装置和存储介质 | |
CN110458924B (zh) | 一种三维脸部模型建立方法、装置和电子设备 | |
KR102353556B1 (ko) | 사용자 얼굴기반 표정 및 포즈 재현 아바타 생성장치 | |
US20240029345A1 (en) | Methods and system for generating 3d virtual objects | |
US11461970B1 (en) | Methods and systems for extracting color from facial image | |
WO2023066120A1 (zh) | 图像处理方法、装置、电子设备及存储介质 | |
US10789784B2 (en) | Image display method, electronic device, and non-transitory computer readable recording medium for quickly providing simulated two-dimensional head portrait as reference after plastic operation | |
KR20230110787A (ko) | 개인화된 3d 머리 및 얼굴 모델들을 형성하기 위한 방법들 및 시스템들 | |
CN110533761B (zh) | 影像显示方法、电子装置及非瞬时电脑可读取记录媒体 | |
CN114612614A (zh) | 人体模型的重建方法、装置、计算机设备及存储介质 | |
Yu et al. | A framework for automatic and perceptually valid facial expression generation | |
WO2020129660A1 (ja) | 3次元モデル編集装置および3次元モデル編集方法、並びにプログラム | |
CN116630575A (zh) | 重拓扑方法、装置、设备及存储介质 | |
CN114820894A (zh) | 一种虚拟角色的生成方法及系统 | |
US10878610B1 (en) | Generating an animation feature from line deformations | |
Hou et al. | Real-time markerless facial motion capture of personalized 3D real human research | |
CN115023742A (zh) | 具有详细褶皱的面部网格变形 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |