CN111640056A - 一种模型自适应变形方法及系统 - Google Patents
一种模型自适应变形方法及系统 Download PDFInfo
- Publication number
- CN111640056A CN111640056A CN202010443262.0A CN202010443262A CN111640056A CN 111640056 A CN111640056 A CN 111640056A CN 202010443262 A CN202010443262 A CN 202010443262A CN 111640056 A CN111640056 A CN 111640056A
- Authority
- CN
- China
- Prior art keywords
- model
- coordinate
- topo structure
- topo
- point
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000003044 adaptive effect Effects 0.000 title claims description 20
- 238000013507 mapping Methods 0.000 claims abstract description 80
- 230000007704 transition Effects 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 claims description 13
- 238000006073 displacement reaction Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims description 6
- 230000009466 transformation Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 210000003128 head Anatomy 0.000 description 4
- 210000000697 sensory organ Anatomy 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4023—Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
本发明提供了计算机图形学领域的一种模型自适应变形方法及系统,方法包括:步骤S10、创建待变形模型的第一TOPO结构,选取第一特征点;参考变形模型预先设定第二TOPO结构、第二特征点、第二变形极值;步骤S20、对第一TOPO结构进行缩放;步骤S30、计算缩放后的坐标映射关系;步骤S40、对第二变形极值映射生成第一变形极值;基于坐标映射关系、第一变形极值、第二TOPO结构对第一TOPO结构进行变形,生成第三TOPO结构;步骤S50、对第三TOPO结构进行过渡处理,生成第四TOPO结构;步骤S60、基于第四TOPO结构、第二TOPO结构、待变形模型、参考变形模型、坐标映射关系生成变形模型。本发明的优点在于:实现不同TOPO结构模型间的相互转化映射,对模型资源进行复用。
Description
技术领域
本发明涉及计算机图形学领域,特别指一种模型自适应变形方法及系统。
背景技术
在电影制作、动画制作等领域,时常需要对模型进行变形,以达到更加的观看效果,例如对表情存在缺陷的人脸进行变形等。
针对模型的变形,传统上采用如下方法:1、通过线性插值的方式进行变化,如facegen、3DMM、iphone Arkit;2、通过深度摄像头获取点云,再利用Possion算法生成模型的TOPO结构(三角形网格),利用TOPO结构对模型进行变形。
但是,传统的方法存在如下缺点:1、通过线性插值的方式,需要有一个参考模型,并建立一个模型库存储参考模型各部位的变形极值(即各部位的变形范围参数),且参考模型与待变形模型的TOPO结构需一致,但是不同模型库中TOPO结构都不一致,相互之间识别特征点后的变形参数因为TOPO结构不一致而无法相互通用;2、通过深度摄像头获取点云,由于点云的获取受到摄像头位置,光照等的影响,使得每次获取的点云存在差异,使得最终计算生成的TOPO结构都不一样。
因此,如何提供一种模型自适应变形方法及系统,实现不同TOPO结构模型间的相互转化映射,成为一个亟待解决的问题。
发明内容
本发明要解决的技术问题,在于提供一种模型自适应变形方法及系统,实现不同TOPO结构模型间的相互转化映射。
一方面,本发明提供了一种模型自适应变形方法,包括如下步骤:
步骤S10、获取待变形模型,创建所述待变形模型的第一TOPO结构,选取若干个第一特征点;从现有的模型库获取参考变形模型,所述参考变形模型预先设定好第二TOPO结构、若干个第二特征点以及第二变形极值;
步骤S20、基于所述第一特征点以及第二特征点对第一TOPO结构进行缩放;
步骤S30、基于所述第一特征点以及第二特征点,计算缩放后的所述第一TOPO结构与第二TOPO结构的坐标映射关系;
步骤S40、基于所述坐标映射关系对第二变形极值进行映射,生成第一变形极值;基于所述坐标映射关系、第一变形极值以及第二TOPO结构对第一TOPO结构进行变形,生成第三TOPO结构;
步骤S50、创建一过渡规则,利用所述过渡规则对第三TOPO结构进行过渡处理,生成第四TOPO结构;
步骤S60、基于所述第四TOPO结构、第二TOPO结构、待变形模型、参考变形模型以及坐标映射关系,将所述待变形模型融入参考变形模型,生成变形模型。
进一步地,所述步骤S10中,所述选取若干个第一特征点具体为:
手动选取所述第一TOPO结构中网格凹凸明显的点为2D特征点uvpos(ux,uy);
设点n、a、b、c的2D坐标分别为(u_n,v_n)、(u_a,v_a)、(u_b,v_b)、(u_c,v_c),对应的3D坐标分别为(x_n,y_n,z_n)、(x_a,y_a,z_a)、(x_b,y_b,z_b)、(x_c,y_c,z_c);
若点uvpos(ux,uy)落在三角形tri(a,b,c)内部,则通过质心坐标公式计算得到u、v、w:
ux=u_a*u+u_b*v+u_c*w;
uy=v_a*u+v_b*v+v_c*w;
u+v+w=1;其中u、v、w表示计算过程变量;
进而求取点uvpos(ux,uy)对应的3D坐标(pos_x,pos_y,pos_z),即第一特征点:
进一步地,所述步骤S30具体为:
设各所述第一特征点的3D坐标为pos(px,py,pz)、各第二特征点的3D坐标为pos_f(px,py,pz)、三角形索引为tri(ta,tb,tc),计算点pos_f(px,py,pz)对应的第二TOPO结构的法线为nor_f(nx,ny,nz);
计算nor_f(nx,ny,nz)与pos(px,py,pz)的交点为pos_s(sx,sy,sz),且落在由点(px_ta,py_ta,pz_ta)、(px_tb,py_tb,pz_tb)、(px_tc,py_tc,pz_tc)组成的三角形内;
根据质心坐标公式计算得到所述第一特征点与第二特征点的坐标映射关系,即缩放后的所述第一TOPO结构与第二TOPO结构的坐标映射关系:
sx=px_ta*u+px_tb*v+px_tc*w;
sy=py_ta*u+py_tb*v+py_tc*w;
sz=pz_ta*u+pz_tb*v+pz_tc*w;
其中u、v、w表示计算过程变量,且u+v+w=1。
进一步地,所述步骤S50中,所述过渡规则具体为:
匹配所述第三TOPO结构以及第二TOPO结构,找出所述第三TOPO结构中未对应的孤立坐标点pos_n(nx,ny,nz);
以所述孤立坐标点为中心,以所述第三TOPO结构的一个三角形为半径,以一个三角形为步长,向外循环遍历查找与所述孤立坐标点相邻的对应坐标点,判断查找到所述相邻的对应坐标点的循环遍历次数是否小于十次,
若是,则对所述孤立坐标点进行位移:
pos_n(nx,ny,nz)=相邻的对应坐标点/相邻的对应坐标点的个数*权重;所述权重的初始取值为1,每循环遍历一次递减0.1;
若否,则不进行操作。
进一步地,所述步骤S60具体为:
匹配所述第四TOPO结构以及第二TOPO结构,判断所述第四TOPO结构以及第二TOPO结构的三角形的三个点是否都有对应的坐标点,若是,则利用所述第四TOPO结构以及坐标映射关系,将所述参考变形模型的三角形内的图像从待变形模型中重新采点;若否,则沿用所述参考变形模型的图像;进而生成变形模型。
另一方面,本发明提供了一种模型自适应变形系统,包括如下模块:
待变形模型设定模块,用于获取待变形模型,创建所述待变形模型的第一TOPO结构,选取若干个第一特征点;从现有的模型库获取参考变形模型,所述参考变形模型预先设定好第二TOPO结构、若干个第二特征点以及第二变形极值;
缩放模块,用于基于所述第一特征点以及第二特征点对第一TOPO结构进行缩放;
坐标映射关系计算模块,用于基于所述第一特征点以及第二特征点,计算缩放后的所述第一TOPO结构与第二TOPO结构的坐标映射关系;
TOPO结构变形模块,用于基于所述坐标映射关系对第二变形极值进行映射,生成第一变形极值;基于所述坐标映射关系、第一变形极值以及第二TOPO结构对第一TOPO结构进行变形,生成第三TOPO结构;
TOPO结构过渡处理模块,用于创建一过渡规则,利用所述过渡规则对第三TOPO结构进行过渡处理,生成第四TOPO结构;
变形模型生成模块,用于基于所述第四TOPO结构、第二TOPO结构、待变形模型、参考变形模型以及坐标映射关系,将所述待变形模型融入参考变形模型,生成变形模型。
进一步地,所述待变形模型设定模块中,所述选取若干个第一特征点具体为:
手动选取所述第一TOPO结构中网格凹凸明显的点为2D特征点uvpos(ux,uy);
设点n、a、b、c的2D坐标分别为(u_n,v_n)、(u_a,v_a)、(u_b,v_b)、(u_c,v_c),对应的3D坐标分别为(x_n,y_n,z_n)、(x_a,y_a,z_a)、(x_b,y_b,z_b)、(x_c,y_c,z_c);
若点uvpos(ux,uy)落在三角形tri(a,b,c)内部,则通过质心坐标公式计算得到u、v、w:
ux=u_a*u+u_b*v+u_c*w;
uy=v_a*u+v_b*v+v_c*w;
u+v+w=1;其中u、v、w表示计算过程变量;
进而求取点uvpos(ux,uy)对应的3D坐标(pos_x,pos_y,pos_z),即第一特征点:
进一步地,所述坐标映射关系计算模块具体为:
设各所述第一特征点的3D坐标为pos(px,py,pz)、各第二特征点的3D坐标为pos_f(px,py,pz)、三角形索引为tri(ta,tb,tc),计算点pos_f(px,py,pz)对应的第二TOPO结构的法线为nor_f(nx,ny,nz);
计算nor_f(nx,ny,nz)与pos(px,py,pz)的交点为pos_s(sx,sy,sz),且落在由点(px_ta,py_ta,pz_ta)、(px_tb,py_tb,pz_tb)、(px_tc,py_tc,pz_tc)组成的三角形内;
根据质心坐标公式计算得到所述第一特征点与第二特征点的坐标映射关系,即缩放后的所述第一TOPO结构与第二TOPO结构的坐标映射关系:
sx=px_ta*u+px_tb*v+px_tc*w;
sy=py_ta*u+py_tb*v+py_tc*w;
sz=pz_ta*u+pz_tb*v+pz_tc*w;
其中u、v、w表示计算过程变量,且u+v+w=1。
进一步地,所述TOPO结构过渡处理模块中,所述过渡规则具体为:
匹配所述第三TOPO结构以及第二TOPO结构,找出所述第三TOPO结构中未对应的孤立坐标点pos_n(nx,ny,nz);
以所述孤立坐标点为中心,以所述第三TOPO结构的一个三角形为半径,以一个三角形为步长,向外循环遍历查找与所述孤立坐标点相邻的对应坐标点,判断查找到所述相邻的对应坐标点的循环遍历次数是否小于十次,
若是,则对所述孤立坐标点进行位移:
pos_n(nx,ny,nz)=相邻的对应坐标点/相邻的对应坐标点的个数*权重;所述权重的初始取值为1,每循环遍历一次递减0.1;
若否,则不进行操作。
进一步地,所述变形模型生成模块具体为:
匹配所述第四TOPO结构以及第二TOPO结构,判断所述第四TOPO结构以及第二TOPO结构的三角形的三个点是否都有对应的坐标点,若是,则利用所述第四TOPO结构以及坐标映射关系,将所述参考变形模型的三角形内的图像从待变形模型中重新采点;若否,则沿用所述参考变形模型的图像;进而生成变形模型。
本发明的优点在于:
1、通过选取待变形模型的第一特征点,并利用参考变形模型的第二特征点以及第一特征点对待变形模型的第一TOPO结构进行缩放,并计算缩放后的第一TOPO结构与第二TOPO结构的坐标映射关系,进而利用坐标映射关系对待变形模型进行变形,实现兼容不同TOPO结构的模型变形。
2、通过计算坐标映射关系,进而利用坐标映射关系对待变形模型进行变形,极大的提升了模型变形的精确性;通过创建过渡规则对无对应映射点的坐标点进行过渡处理,使得模型变形更加平滑;通过将待变形模型融入参考变形模型,即组成TOPO结构的三角形的三个点都存在对应的映射点的三角形,从待变形模型中重新采点融入参考变形模型,使得生成的变形模型的图像过渡自然。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1是本发明一种模型自适应变形方法的流程图。
图2是本发明第一TOPO结构以及选取第一特征点的效果示意图。
图3是本发明第一TOPO结构变形的效果示意图。
图4是本发明过渡处理的效果示意图。
图5是本发明一种模型自适应变形系统的结构示意图。
具体实施方式
本申请实施例中的技术方案,总体思路如下:通过特征点对齐待变形模型以及参考变形模型的TOPO结构,通过质心坐标公式计算待变形模型以及参考变形模型的TOPO结构的坐标映射关系,通过坐标映射关系对待变形模型的TOPO结构进行变形,创建过渡规则对变形的TOPO结构进行过渡处理,再利用过渡处理的TOPO结构以及坐标映射关系将待变形模型融入参考变形模型,生成变形模型。
请参照图1至图5所示,本发明一种模型自适应变形方法的较佳实施例,包括如下步骤:
步骤S10、获取待变形模型,创建所述待变形模型的第一TOPO结构(三角形网格),选取若干个第一特征点;从现有的模型库获取参考变形模型,所述参考变形模型预先设定好第二TOPO结构(三角形网格)、若干个第二特征点以及第二变形极值;所述第一特征点以及第二特征点即坐标点,基于TOPO结构中网格凹凸明显的点进行选取,例如当所述待变形模型为人脸模型时,便基于人脸的明显特征进行选取,如脸颊边缘、眼角、鼻子、嘴巴等,用于检测人脸轮廓的变化、五官的位移和缩放;
步骤S20、基于所述第一特征点以及第二特征点对第一TOPO结构进行缩放;缩放时,基于特征点的位置关系进行,例如当所述待变形模型为人脸模型时,嘴巴以嘴唇中心为对齐点,眼睛以眼角点为对齐点,即根据所述第一特征点以及第二特征点的位置对五官进行缩放;对齐是为了让变化比较大,凹凸比较明显的位置尽量匹配上;由于所述第一TOPO结构和第二TOPO结构不同,因此缩放后二者不能完全匹配;
步骤S30、基于所述第一特征点以及第二特征点,计算缩放后的所述第一TOPO结构与第二TOPO结构的坐标映射关系;
步骤S40、基于所述坐标映射关系对第二变形极值进行映射,生成第一变形极值;基于所述坐标映射关系、第一变形极值以及第二TOPO结构对第一TOPO结构进行变形,生成第三TOPO结构;所述第一变形极值以及第二变形极值,即通过插值的形式进行变形,例如要对头进行缩放,设定一个缩放的最大值,缩放的最小值,则头在最大值与最小值之间任意变化;
步骤S50、创建一过渡规则,利用所述过渡规则对第三TOPO结构进行过渡处理,生成第四TOPO结构;由于两个TOPO结构不可能完全对应上,因此需要通过所述过渡规则对无对应映射点的坐标进行过渡处理;
步骤S60、基于所述第四TOPO结构、第二TOPO结构、待变形模型、参考变形模型以及坐标映射关系,将所述待变形模型融入参考变形模型,生成变形模型。
所述步骤S10中,所述选取若干个第一特征点具体为:
手动选取所述第一TOPO结构中网格凹凸明显的点为2D特征点uvpos(ux,uy);
设点n、a、b、c的2D坐标分别为(u_n,v_n)、(u_a,v_a)、(u_b,v_b)、(u_c,v_c),对应的3D坐标分别为(x_n,y_n,z_n)、(x_a,y_a,z_a)、(x_b,y_b,z_b)、(x_c,y_c,z_c);
若点uvpos(ux,uy)落在三角形tri(a,b,c)内部,则通过质心坐标公式计算得到u、v、w:
ux=u_a*u+u_b*v+u_c*w;
uy=v_a*u+v_b*v+v_c*w;
u+v+w=1;其中u、v、w表示计算过程变量;
进而求取点uvpos(ux,uy)对应的3D坐标(pos_x,pos_y,pos_z),即第一特征点:
所述步骤S30具体为:
设各所述第一特征点的3D坐标为pos(px,py,pz)、各第二特征点的3D坐标为pos_f(px,py,pz)、三角形索引为tri(ta,tb,tc),计算点pos_f(px,py,pz)对应的第二TOPO结构的法线为nor_f(nx,ny,nz);三角形索引即三角形三个顶点的编号,例如TOPO结构的顶点的编号为0、1、2、3……n,则TOPO结构的第一个三角形的顶点编号为0、1、2,即三角形索;
计算nor_f(nx,ny,nz)与pos(px,py,pz)的交点为pos_s(sx,sy,sz),且落在由点(px_ta,py_ta,pz_ta)、(px_tb,py_tb,pz_tb)、(px_tc,py_tc,pz_tc)组成的三角形内;
根据质心坐标公式计算得到所述第一特征点与第二特征点的坐标映射关系,即缩放后的所述第一TOPO结构与第二TOPO结构的坐标映射关系:
sx=px_ta*u+px_tb*v+px_tc*w;
sy=py_ta*u+py_tb*v+py_tc*w;
sz=pz_ta*u+pz_tb*v+pz_tc*w;
其中u、v、w表示计算过程变量,且u+v+w=1。
所述步骤S50中,所述过渡规则具体为:
匹配所述第三TOPO结构以及第二TOPO结构,找出所述第三TOPO结构中未对应的孤立坐标点pos_n(nx,ny,nz);即无对应的映射点;
以所述孤立坐标点为中心,以所述第三TOPO结构的一个三角形为半径,以一个三角形为步长,向外循环遍历查找与所述孤立坐标点相邻的对应坐标点,判断查找到所述相邻的对应坐标点的循环遍历次数是否小于十次,
若是,则对所述孤立坐标点进行位移:
pos_n(nx,ny,nz)=相邻的对应坐标点/相邻的对应坐标点的个数*权重;所述权重的初始取值为1,每循环遍历一次递减0.1;
若否,则不进行操作。
所述步骤S60具体为:
匹配所述第四TOPO结构以及第二TOPO结构,判断所述第四TOPO结构以及第二TOPO结构的三角形的三个点是否都有对应的坐标点,若是,则利用所述第四TOPO结构以及坐标映射关系,将所述参考变形模型的三角形内的图像从待变形模型中重新采点;若否,则沿用所述参考变形模型的图像;进而生成变形模型。
本发明一种模型自适应变形系统的较佳实施例,包括如下模块:
待变形模型设定模块,用于获取待变形模型,创建所述待变形模型的第一TOPO结构(三角形网格),选取若干个第一特征点;从现有的模型库获取参考变形模型,所述参考变形模型预先设定好第二TOPO结构(三角形网格)、若干个第二特征点以及第二变形极值;所述第一特征点以及第二特征点即坐标点,基于TOPO结构中网格凹凸明显的点进行选取,例如当所述待变形模型为人脸模型时,便基于人脸的明显特征进行选取,如脸颊边缘、眼角、鼻子、嘴巴等,用于检测人脸轮廓的变化、五官的位移和缩放;
缩放模块,用于基于所述第一特征点以及第二特征点对第一TOPO结构进行缩放;缩放时,基于特征点的位置关系进行,例如当所述待变形模型为人脸模型时,嘴巴以嘴唇中心为对齐点,眼睛以眼角点为对齐点,即根据所述第一特征点以及第二特征点的位置对五官进行缩放;对齐是为了让变化比较大,凹凸比较明显的位置尽量匹配上;由于所述第一TOPO结构和第二TOPO结构不同,因此缩放后二者不能完全匹配;
坐标映射关系计算模块,用于基于所述第一特征点以及第二特征点,计算缩放后的所述第一TOPO结构与第二TOPO结构的坐标映射关系;
TOPO结构变形模块,用于基于所述坐标映射关系对第二变形极值进行映射,生成第一变形极值;基于所述坐标映射关系、第一变形极值以及第二TOPO结构对第一TOPO结构进行变形,生成第三TOPO结构;所述第一变形极值以及第二变形极值,即通过插值的形式进行变形,例如要对头进行缩放,设定一个缩放的最大值,缩放的最小值,则头在最大值与最小值之间任意变化;
TOPO结构过渡处理模块,用于创建一过渡规则,利用所述过渡规则对第三TOPO结构进行过渡处理,生成第四TOPO结构;由于两个TOPO结构不可能完全对应上,因此需要通过所述过渡规则对无对应映射点的坐标进行过渡处理;
变形模型生成模块,用于基于所述第四TOPO结构、第二TOPO结构、待变形模型、参考变形模型以及坐标映射关系,将所述待变形模型融入参考变形模型,生成变形模型。
所述待变形模型设定模块中,所述选取若干个第一特征点具体为:
手动选取所述第一TOPO结构中网格凹凸明显的点为2D特征点uvpos(ux,uy);
设点n、a、b、c的2D坐标分别为(u_n,v_n)、(u_a,v_a)、(u_b,v_b)、(u_c,v_c),对应的3D坐标分别为(x_n,y_n,z_n)、(x_a,y_a,z_a)、(x_b,y_b,z_b)、(x_c,y_c,z_c);
若点uvpos(ux,uy)落在三角形tri(a,b,c)内部,则通过质心坐标公式计算得到u、v、w:
ux=u_a*u+u_b*v+u_c*w;
uy=v_a*u+v_b*v+v_c*w;
u+v+w=1;其中u、v、w表示计算过程变量;
进而求取点uvpos(ux,uy)对应的3D坐标(pos_x,pos_y,pos_z),即第一特征点:
所述坐标映射关系计算模块具体为:
设各所述第一特征点的3D坐标为pos(px,py,pz)、各第二特征点的3D坐标为pos_f(px,py,pz)、三角形索引为tri(ta,tb,tc),计算点pos_f(px,py,pz)对应的第二TOPO结构的法线为nor_f(nx,ny,nz);三角形索引即三角形三个顶点的编号,例如TOPO结构的顶点的编号为0、1、2、3……n,则TOPO结构的第一个三角形的顶点编号为0、1、2,即三角形索;
计算nor_f(nx,ny,nz)与pos(px,py,pz)的交点为pos_s(sx,sy,sz),且落在由点(px_ta,py_ta,pz_ta)、(px_tb,py_tb,pz_tb)、(px_tc,py_tc,pz_tc)组成的三角形内;
根据质心坐标公式计算得到所述第一特征点与第二特征点的坐标映射关系,即缩放后的所述第一TOPO结构与第二TOPO结构的坐标映射关系:
sx=px_ta*u+px_tb*v+px_tc*w;
sy=py_ta*u+py_tb*v+py_tc*w;
sz=pz_ta*u+pz_tb*v+pz_tc*w;
其中u、v、w表示计算过程变量,且u+v+w=1。
所述TOPO结构过渡处理模块中,所述过渡规则具体为:
匹配所述第三TOPO结构以及第二TOPO结构,找出所述第三TOPO结构中未对应的孤立坐标点pos_n(nx,ny,nz);即无对应的映射点;
以所述孤立坐标点为中心,以所述第三TOPO结构的一个三角形为半径,以一个三角形为步长,向外循环遍历查找与所述孤立坐标点相邻的对应坐标点,判断查找到所述相邻的对应坐标点的循环遍历次数是否小于十次,
若是,则对所述孤立坐标点进行位移:
pos_n(nx,ny,nz)=相邻的对应坐标点/相邻的对应坐标点的个数*权重;所述权重的初始取值为1,每循环遍历一次递减0.1;
若否,则不进行操作。
所述变形模型生成模块具体为:
匹配所述第四TOPO结构以及第二TOPO结构,判断所述第四TOPO结构以及第二TOPO结构的三角形的三个点是否都有对应的坐标点,若是,则利用所述第四TOPO结构以及坐标映射关系,将所述参考变形模型的三角形内的图像从待变形模型中重新采点;若否,则沿用所述参考变形模型的图像;进而生成变形模型。
综上所述,本发明的优点在于:
1、通过选取待变形模型的第一特征点,并利用参考变形模型的第二特征点以及第一特征点对待变形模型的第一TOPO结构进行缩放,并计算缩放后的第一TOPO结构与第二TOPO结构的坐标映射关系,进而利用坐标映射关系对待变形模型进行变形,实现兼容不同TOPO结构的模型变形。
2、通过计算坐标映射关系,进而利用坐标映射关系对待变形模型进行变形,极大的提升了模型变形的精确性;通过创建过渡规则对无对应映射点的坐标点进行过渡处理,使得模型变形更加平滑;通过将待变形模型融入参考变形模型,即组成TOPO结构的三角形的三个点都存在对应的映射点的三角形,从待变形模型中重新采点融入参考变形模型,使得生成的变形模型的图像过渡自然。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (10)
1.一种模型自适应变形方法,其特征在于:包括如下步骤:
步骤S10、获取待变形模型,创建所述待变形模型的第一TOPO结构,选取若干个第一特征点;从现有的模型库获取参考变形模型,所述参考变形模型预先设定好第二TOPO结构、若干个第二特征点以及第二变形极值;
步骤S20、基于所述第一特征点以及第二特征点对第一TOPO结构进行缩放;
步骤S30、基于所述第一特征点以及第二特征点,计算缩放后的所述第一TOPO结构与第二TOPO结构的坐标映射关系;
步骤S40、基于所述坐标映射关系对第二变形极值进行映射,生成第一变形极值;基于所述坐标映射关系、第一变形极值以及第二TOPO结构对第一TOPO结构进行变形,生成第三TOPO结构;
步骤S50、创建一过渡规则,利用所述过渡规则对第三TOPO结构进行过渡处理,生成第四TOPO结构;
步骤S60、基于所述第四TOPO结构、第二TOPO结构、待变形模型、参考变形模型以及坐标映射关系,将所述待变形模型融入参考变形模型,生成变形模型。
2.如权利要求1所述的一种模型自适应变形方法,其特征在于:所述步骤S10中,所述选取若干个第一特征点具体为:
手动选取所述第一TOPO结构中网格凹凸明显的点为2D特征点uvpos(ux,uy);
设点n、a、b、c的2D坐标分别为(u_n,v_n)、(u_a,v_a)、(u_b,v_b)、(u_c,v_c),对应的3D坐标分别为(x_n,y_n,z_n)、(x_a,y_a,z_a)、(x_b,y_b,z_b)、(x_c,y_c,z_c);
若点uvpos(ux,uy)落在三角形tri(a,b,c)内部,则通过质心坐标公式计算得到u、v、w:
ux=u_a*u+u_b*v+u_c*w;
uy=v_a*u+v_b*v+v_c*w;
u+v+w=1;其中u、v、w表示计算过程变量;
进而求取点uvpos(ux,uy)对应的3D坐标(pos_x,pos_y,pos_z),即第一特征点:
3.如权利要求1所述的一种模型自适应变形方法,其特征在于:所述步骤S30具体为:
设各所述第一特征点的3D坐标为pos(px,py,pz)、各第二特征点的3D坐标为pos_f(px,py,pz)、三角形索引为tri(ta,tb,tc),计算点pos_f(px,py,pz)对应的第二TOPO结构的法线为nor_f(nx,ny,nz);
计算nor_f(nx,ny,nz)与pos(px,py,pz)的交点为pos_s(sx,sy,sz),且落在由点(px_ta,py_ta,pz_ta)、(px_tb,py_tb,pz_tb)、(px_tc,py_tc,pz_tc)组成的三角形内;
根据质心坐标公式计算得到所述第一特征点与第二特征点的坐标映射关系,即缩放后的所述第一TOPO结构与第二TOPO结构的坐标映射关系:
sx=px_ta*u+px_tb*v+px_tc*w;
sy=py_ta*u+py_tb*v+py_tc*w;
sz=pz_ta*u+pz_tb*v+pz_tc*w;
其中u、v、w表示计算过程变量,且u+v+w=1。
4.如权利要求1所述的一种模型自适应变形方法,其特征在于:所述步骤S50中,所述过渡规则具体为:
匹配所述第三TOPO结构以及第二TOPO结构,找出所述第三TOPO结构中未对应的孤立坐标点pos_n(nx,ny,nz);
以所述孤立坐标点为中心,以所述第三TOPO结构的一个三角形为半径,以一个三角形为步长,向外循环遍历查找与所述孤立坐标点相邻的对应坐标点,判断查找到所述相邻的对应坐标点的循环遍历次数是否小于十次,
若是,则对所述孤立坐标点进行位移:
pos_n(nx,ny,nz)=相邻的对应坐标点/相邻的对应坐标点的个数*权重;所述权重的初始取值为1,每循环遍历一次递减0.1;
若否,则不进行操作。
5.如权利要求1所述的一种模型自适应变形方法,其特征在于:所述步骤S60具体为:
匹配所述第四TOPO结构以及第二TOPO结构,判断所述第四TOPO结构以及第二TOPO结构的三角形的三个点是否都有对应的坐标点,若是,则利用所述第四TOPO结构以及坐标映射关系,将所述参考变形模型的三角形内的图像从待变形模型中重新采点;若否,则沿用所述参考变形模型的图像;进而生成变形模型。
6.一种模型自适应变形系统,其特征在于:包括如下模块:
待变形模型设定模块,用于获取待变形模型,创建所述待变形模型的第一TOPO结构,选取若干个第一特征点;从现有的模型库获取参考变形模型,所述参考变形模型预先设定好第二TOPO结构、若干个第二特征点以及第二变形极值;
缩放模块,用于基于所述第一特征点以及第二特征点对第一TOPO结构进行缩放;
坐标映射关系计算模块,用于基于所述第一特征点以及第二特征点,计算缩放后的所述第一TOPO结构与第二TOPO结构的坐标映射关系;
TOPO结构变形模块,用于基于所述坐标映射关系对第二变形极值进行映射,生成第一变形极值;基于所述坐标映射关系、第一变形极值以及第二TOPO结构对第一TOPO结构进行变形,生成第三TOPO结构;
TOPO结构过渡处理模块,用于创建一过渡规则,利用所述过渡规则对第三TOPO结构进行过渡处理,生成第四TOPO结构;
变形模型生成模块,用于基于所述第四TOPO结构、第二TOPO结构、待变形模型、参考变形模型以及坐标映射关系,将所述待变形模型融入参考变形模型,生成变形模型。
7.如权利要求6所述的一种模型自适应变形系统,其特征在于:所述待变形模型设定模块中,所述选取若干个第一特征点具体为:
手动选取所述第一TOPO结构中网格凹凸明显的点为2D特征点uvpos(ux,uy);
设点n、a、b、c的2D坐标分别为(u_n,v_n)、(u_a,v_a)、(u_b,v_b)、(u_c,v_c),对应的3D坐标分别为(x_n,y_n,z_n)、(x_a,y_a,z_a)、(x_b,y_b,z_b)、(x_c,y_c,z_c);
若点uvpos(ux,uy)落在三角形tri(a,b,c)内部,则通过质心坐标公式计算得到u、v、w:
ux=u_a*u+u_b*v+u_c*w;
uy=v_a*u+v_b*v+v_c*w;
u+v+w=1;其中u、v、w表示计算过程变量;
进而求取点uvpos(ux,uy)对应的3D坐标(pos_x,pos_y,pos_z),即第一特征点:
8.如权利要求6所述的一种模型自适应变形系统,其特征在于:所述坐标映射关系计算模块具体为:
设各所述第一特征点的3D坐标为pos(px,py,pz)、各第二特征点的3D坐标为pos_f(px,py,pz)、三角形索引为tri(ta,tb,tc),计算点pos_f(px,py,pz)对应的第二TOPO结构的法线为nor_f(nx,ny,nz);
计算nor_f(nx,ny,nz)与pos(px,py,pz)的交点为pos_s(sx,sy,sz),且落在由点(px_ta,py_ta,pz_ta)、(px_tb,py_tb,pz_tb)、(px_tc,py_tc,pz_tc)组成的三角形内;
根据质心坐标公式计算得到所述第一特征点与第二特征点的坐标映射关系,即缩放后的所述第一TOPO结构与第二TOPO结构的坐标映射关系:
sx=px_ta*u+px_tb*v+px_tc*w;
sy=py_ta*u+py_tb*v+py_tc*w;
sz=pz_ta*u+pz_tb*v+pz_tc*w;
其中u、v、w表示计算过程变量,且u+v+w=1。
9.如权利要求6所述的一种模型自适应变形系统,其特征在于:所述TOPO结构过渡处理模块中,所述过渡规则具体为:
匹配所述第三TOPO结构以及第二TOPO结构,找出所述第三TOPO结构中未对应的孤立坐标点pos_n(nx,ny,nz);
以所述孤立坐标点为中心,以所述第三TOPO结构的一个三角形为半径,以一个三角形为步长,向外循环遍历查找与所述孤立坐标点相邻的对应坐标点,判断查找到所述相邻的对应坐标点的循环遍历次数是否小于十次,
若是,则对所述孤立坐标点进行位移:
pos_n(nx,ny,nz)=相邻的对应坐标点/相邻的对应坐标点的个数*权重;所述权重的初始取值为1,每循环遍历一次递减0.1;
若否,则不进行操作。
10.如权利要求6所述的一种模型自适应变形系统,其特征在于:所述变形模型生成模块具体为:
匹配所述第四TOPO结构以及第二TOPO结构,判断所述第四TOPO结构以及第二TOPO结构的三角形的三个点是否都有对应的坐标点,若是,则利用所述第四TOPO结构以及坐标映射关系,将所述参考变形模型的三角形内的图像从待变形模型中重新采点;若否,则沿用所述参考变形模型的图像;进而生成变形模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010443262.0A CN111640056B (zh) | 2020-05-22 | 2020-05-22 | 一种模型自适应变形方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010443262.0A CN111640056B (zh) | 2020-05-22 | 2020-05-22 | 一种模型自适应变形方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111640056A true CN111640056A (zh) | 2020-09-08 |
CN111640056B CN111640056B (zh) | 2023-04-11 |
Family
ID=72333262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010443262.0A Active CN111640056B (zh) | 2020-05-22 | 2020-05-22 | 一种模型自适应变形方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111640056B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104599247A (zh) * | 2015-01-04 | 2015-05-06 | 深圳市腾讯计算机系统有限公司 | 图像校正方法及装置 |
US20150371367A1 (en) * | 2014-06-24 | 2015-12-24 | Xiaomi Inc. | Method and terminal device for retargeting images |
CN105719326A (zh) * | 2016-01-19 | 2016-06-29 | 华中师范大学 | 一种基于单张照片的真实感人脸生成方法 |
CN106971424A (zh) * | 2017-03-13 | 2017-07-21 | 华侨大学 | 一种基于网格变形技术的鞋楦楦头变更方法 |
CN107924579A (zh) * | 2015-08-14 | 2018-04-17 | 麦特尔有限公司 | 生成个性化3d头部模型或3d身体模型的方法 |
CN109840889A (zh) * | 2019-01-24 | 2019-06-04 | 华东交通大学 | 基于仿生算法的高精度视觉测量方法、装置和系统 |
-
2020
- 2020-05-22 CN CN202010443262.0A patent/CN111640056B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150371367A1 (en) * | 2014-06-24 | 2015-12-24 | Xiaomi Inc. | Method and terminal device for retargeting images |
CN104599247A (zh) * | 2015-01-04 | 2015-05-06 | 深圳市腾讯计算机系统有限公司 | 图像校正方法及装置 |
CN107924579A (zh) * | 2015-08-14 | 2018-04-17 | 麦特尔有限公司 | 生成个性化3d头部模型或3d身体模型的方法 |
CN105719326A (zh) * | 2016-01-19 | 2016-06-29 | 华中师范大学 | 一种基于单张照片的真实感人脸生成方法 |
CN106971424A (zh) * | 2017-03-13 | 2017-07-21 | 华侨大学 | 一种基于网格变形技术的鞋楦楦头变更方法 |
CN109840889A (zh) * | 2019-01-24 | 2019-06-04 | 华东交通大学 | 基于仿生算法的高精度视觉测量方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111640056B (zh) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109165680B (zh) | 基于视觉slam的室内场景下单一目标物体字典模型改进方法 | |
US8089480B2 (en) | Method for meshing a curved surface | |
JP4785880B2 (ja) | 三次元オブジェクト認識のためのシステムおよび方法 | |
CN113096234B (zh) | 利用多张彩色图片生成三维网格模型的方法及装置 | |
US8624901B2 (en) | Apparatus and method for generating facial animation | |
US6307554B1 (en) | Apparatus and method for generating progressive polygon data, and apparatus and method for generating three-dimensional real-time graphics using the same | |
US8933928B2 (en) | Multiview face content creation | |
CN109035388A (zh) | 三维人脸模型重建方法及装置 | |
CN113129450B (zh) | 虚拟试衣方法、装置、电子设备和介质 | |
CN109887030A (zh) | 基于cad稀疏模板的无纹理金属零件图像位姿检测方法 | |
JP2023514289A (ja) | 3次元顔モデルの構築方法、3次元顔モデルの構築装置、コンピュータ機器、及びコンピュータプログラム | |
JPWO2006049147A1 (ja) | 三次元形状推定システム及び画像生成システム | |
CN110399809A (zh) | 多特征融合的人脸关键点检测方法及装置 | |
CN112651881B (zh) | 图像合成方法、装置、设备、存储介质以及程序产品 | |
CN107203962B (zh) | 一种利用2d图片制作伪3d图像的方法及电子设备 | |
CN113516781A (zh) | 一种三维动态跟踪方法、装置、电子设备和存储介质 | |
WO2023093739A1 (zh) | 一种多视图三维重建的方法 | |
CN114022542A (zh) | 一种基于三维重建的3d数据库制作方法 | |
CN107203961B (zh) | 一种表情迁移的方法及电子设备 | |
CN111640056B (zh) | 一种模型自适应变形方法及系统 | |
JP2001243497A (ja) | 3次元画像処理方法,3次元モデリング方法および3次元画像処理プログラムを記録した記録媒体 | |
Huang et al. | Three-dimensional face point cloud hole-filling algorithm based on binocular stereo matching and a B-spline | |
CN114742954A (zh) | 一种构建大规模多样化人脸图片和模型数据对的方法 | |
CN114049423A (zh) | 一种自动的真实感三维模型纹理映射方法 | |
Li et al. | Animating cartoon faces by multi‐view drawings |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |