CN108717730A - 一种3d人物重建的方法及终端 - Google Patents
一种3d人物重建的方法及终端 Download PDFInfo
- Publication number
- CN108717730A CN108717730A CN201810316182.1A CN201810316182A CN108717730A CN 108717730 A CN108717730 A CN 108717730A CN 201810316182 A CN201810316182 A CN 201810316182A CN 108717730 A CN108717730 A CN 108717730A
- Authority
- CN
- China
- Prior art keywords
- people
- models
- photo
- coordinate
- calibration 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
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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供的一种3D人物重建的方法及终端,通过生成人头数据库,得到第一人头3D模型,由于使用的预先生成的人头数据库,用户实际使用时,只需计算出形变系数,生成第二人头3D模型和与其匹配的纹理图,计算量小,满足实时生成,并且能够生成整个人头,一步到位,不需要二次处理,由于是根据第一人头3D模型进行形变,模型的拓扑结构完全一致,方便后期对表情、动作、妆化等进行统一处理。
Description
技术领域
本发明涉及信息数据处理技术领域,特别涉及一种3D人物重建的方法及终端。
背景技术
随着VR、AR等互联网技术的发展,3D模型领域蓬勃发展,用户日益增长的需求,对3D模型的逼真度有了一定的需求,催生了实时生成与用户照片仿真的3D人物的技术。
对于现有注册的一些专利的解决方案中,逼真3D人物重建的方法主要是:
(1)从多个角度采集多张人物图片,然后对这些人物图片进行对齐和运算,得到3D人物。
(2)基于单张的人脸重建方案。
使用多个角度采集多张人物图片重建逼真3D人物,缺点有:
1、对用于重建对象的图片有特殊要求,即图片必须仅包含重建人物对象;
2、其中的计算量较大,严重影响实时生成的效率;
3、对设备要求较高,无法在手机等移动端使用;
4、生成的模型拓扑结构不一致,后续应用较困难。
基于单张的人脸重建方案的缺点有:
1、仅有人脸部件,需要进一步二次处理生成人头;
2、仅有一张照片,无法获取人脸的深度信息,并且无法获取左右侧脸的脸颊皮肤信息。
发明内容
本发明所要解决的技术问题是:提供一种计算量小能够实时生成的3D人物重建的方法及终端。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种3D人物重建的方法,包括步骤:
S1、采集人头数据;
S2、根据所述人头数据生成人头数据库,所述人头数据库包括第一人头3D模型和相应的特征向量;
S3、获取输入照片,确定所述照片相对于所述第一人头3D模型的形变系数,并根据所述第一人头3D模型、所述特征向量和所述形变系数得到与所述照片对应的第二人头3D模型;
S4、生成与所述第二人头3D模型相匹配的纹理图;
S5、预设人物模型,将所述第二人头3D模型和所述纹理图赋值给所述人物模型,生成对应的3D人物。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种3D人物重建的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
S1、采集人头数据;
S2、根据所述人头数据生成人头数据库,所述人头数据库包括第一人头3D模型和相应的特征向量;
S3、获取输入照片,确定所述照片相对于所述第一人头3D模型的形变系数,并根据所述第一人头3D模型、所述特征向量和所述形变系数得到与所述照片对应的第二人头3D模型;
S4、生成与所述第二人头3D模型相匹配的纹理图;
S5、预设人物模型,将所述第二人头3D模型和所述纹理图赋值给所述人物模型,生成对应的3D人物。
本发明的有益效果在于:通过生成人头数据库,得到第一人头3D模型,由于使用的预先生成的人头数据库,用户实际使用时,只需计算出形变系数,生成第二人头3D模型和与其匹配的纹理图,计算量小,满足实时生成,并且能够生成整个人头,一步到位,不需要二次处理,由于是根据第一人头3D模型进行形变,模型的拓扑结构完全一致,方便后期对表情、动作、妆化等进行统一处理。
附图说明
图1为本发明实施例的3D人物重建的方法流程图;
图2为本发明实施例的3D人物重建的终端的结构示意图;
图3为本发明实施例的正脸照片的标定点示意图;
图4为本发明实施例的第一侧脸照片的标定点示意图;
图5为本发明实施例的第二侧脸照片的标定点示意图;
图6为本发明实施例的平均人头3D模型的标定点示意图;
图7为本发明实施例的侧脸标定点示意图;
标号说明:
1、3D人物重建的终端;2、存储器;3、处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:使用预先生成的人头数据库,用户实际使用时,只需计算出形变系数,生成第二人头3D模型和与其匹配的纹理图,计算量小,满足实时生成,并且能够生成整个人头,一步到位,不需要二次处理。
请参照图1,一种3D人物重建的方法,包括步骤:
S1、采集人头数据;
S2、根据所述人头数据生成人头数据库,所述人头数据库包括第一人头3D模型和相应的特征向量;
S3、获取输入照片,确定所述照片相对于所述第一人头3D模型的形变系数,并根据所述第一人头3D模型、所述特征向量和所述形变系数得到与所述照片对应的第二人头3D模型;
S4、生成与所述第二人头3D模型相匹配的纹理图;
S5、预设人物模型,将所述第二人头3D模型和所述纹理图赋值给所述人物模型,生成对应的3D人物。
从上述描述可知,本发明的有益效果在于:通过生成人头数据库,得到第一人头3D模型,由于使用的预先生成的人头数据库,用户实际使用时,只需计算出形变系数,生成第二人头3D模型和与其匹配的纹理图,计算量小,满足实时生成,并且能够生成整个人头,一步到位,不需要二次处理,由于是根据第一人头3D模型进行形变,模型的拓扑结构完全一致,方便后期对表情、动作、妆化等进行统一处理。
进一步的,步骤S2具体为:
根据所述人头数据进行主成份分析生成人头数据库,所述人头数据库包括第一人头3D模型和相应的特征向量,且所述第一人头3D模型为平均人头3D模型。
由上述描述可知,通过对人头数据进行主成份分析生成人头数据库,在保留绝大部分人头数据信息的情况下减少计算量,并得到平均人头3D模型,保证了模型的拓扑结构完全一致,方便后期统一处理
进一步的,步骤S3中确定所述照片相对于所述第一人头3D模型的形变系数具体包括步骤:
S31、获取所述照片预先标定的多个第一标定点对应的第一标定点集,所述第一标定点集包括每个第一标定点的序号及对应的坐标;
S32、获取所述第一人头3D模型预先标定的分别与所述多个第一标定点一一对应的第二标定点及对应的第二标定点集,所述第二标定点集包括与所述每个第一标定点对应的第二标定点的序号及对应的坐标;
S33、根据所述第一标定点集和第二标定点集,计算所述第一人头3D模型相对于所述照片的投影矩阵,根据所述投影矩阵分别计算每个第二标定点投影后对应的第一坐标,得到第一坐标集;
S34、分别计算所述第一坐标集中每个第一坐标和与所述第一坐标对应的第一标定点的欧式距离,得到欧式距离集,根据所述欧式距离集,得到所述照片相对于所述第一人头3D模型的形变系数。
由上述描述可知,通过预先在照片上进行标定,得到第一标定点集,在获取所述第一人头3D模型预先标定的分别与所述多个第一标定点一一对应的第二标定点及对应的第二标定点集,对所述第二标定点集进行投影得到第一坐标集,进而根据所述第一坐标集和第一标定点集得到欧式距离集,并根据所述欧式距离集,得到所述照片相对于所述第一人头3D模型的形变系数,从而简化了计算形变系数的过程,提高了计算效率。
进一步的,步骤S34具体包括:
S341、分别计算所述第一坐标集中每个第一坐标和与所述第一坐标对应的第一标定点的欧式距离,得到欧式距离集,并记录为第i次迭代,其中i的初始值为1,取值范围为[1,n];
S342、根据所述欧式距离集构建与所述第i次迭代对应的最小化代价函数,得到与所述第一标定点集对应的新的第一坐标集和新的形变系数;
S343、判断i的值是否大于等于n,若否,则执行步骤S344,否则执行步骤S345;
S344、将i的值加上1并赋值给i,将所述第一坐标集替换为新的第一坐标集,所述形变系数替换为新的形变系数,并返回步骤S341;
S345、将所述新的形变系数记录为所述照片相对于所述第一人头3D模型的形变系数。
由上述描述可知,通过多次迭代,并将最后一次迭代得到的形变系数作为所述照片相对于所述第一人头3D模型的形变系数,提高了所得到形变系数的精确度,进而保证了后续所得到的第二人头3D模型与所述照片的接近程度。
进一步的,步骤S4具体包括:
S41、根据所述投影矩阵,对所述第一人头3D模型旋转、平移修正后,进行平行投影,得到标准的2D图像;
S42、根据所述标准的2D图像和所述照片,计算得到与所述照片对应的仿射矩阵;
S43、根据所述仿射矩阵,将所述照片变换为与其对应的标准的2D图像,生成第一纹理图;
S44、通过颜色迁移将所述照片中的肤色信息迁移到所述第一纹理图上,生成与所述第一人头3D模型相匹配的纹理图。
由上述描述可知,通过仿射矩阵,对照片进行仿射变化得到与其对应的标准的2D图像,生成第一纹理图,并通过颜色迁移技术将所述照片中的肤色信息迁移到第一纹理图上,生成与所述第一人头3D模型相匹配的纹理图,确保了后续生成的3D人物的逼真度。
请参照图2,一种3D人物重建的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
S1、采集人头数据;
S2、根据所述人头数据生成人头数据库,所述人头数据库包括第一人头3D模型和相应的特征向量;
S3、获取输入照片,确定所述照片相对于所述第一人头3D模型的形变系数,并根据所述第一人头3D模型、所述特征向量和所述形变系数得到与所述照片对应的第二人头3D模型;
S4、生成与所述第二人头3D模型相匹配的纹理图;
S5、预设人物模型,将所述第二人头3D模型和所述纹理图赋值给所述人物模型,生成对应的3D人物。
从上述描述可知,本发明的有益效果在于:通过生成人头数据库,得到第一人头3D模型,由于使用的预先生成的人头数据库,用户实际使用时,只需计算出形变系数,生成第二人头3D模型和与其匹配的纹理图,计算量小,满足实时生成,并且能够生成整个人头,一步到位,不需要二次处理,由于是根据第一人头3D模型进行形变,模型的拓扑结构完全一致,方便后期对表情、动作、妆化等进行统一处理。
进一步的,步骤S2具体为:
根据所述人头数据进行主成份分析生成人头数据库,所述人头数据库包括第一人头3D模型和相应的特征向量,且所述第一人头3D模型为平均人头3D模型。
由上述描述可知,通过对人头数据进行主成份分析生成人头数据库,在保留绝大部分人头数据信息的情况下减少计算量,并得到平均人头3D模型,保证了模型的拓扑结构完全一致,方便后期统一处理
进一步的,步骤S3中确定所述照片相对于所述第一人头3D模型的形变系数具体包括步骤:
S31、获取所述照片预先标定的多个第一标定点对应的第一标定点集,所述第一标定点集包括每个第一标定点的序号及对应的坐标;
S32、获取所述第一人头3D模型预先标定的分别与所述多个第一标定点一一对应的第二标定点及对应的第二标定点集,所述第二标定点集包括与所述每个第一标定点对应的第二标定点的序号及对应的坐标;
S33、根据所述第一标定点集和第二标定点集,计算所述第一人头3D模型相对于所述照片的投影矩阵,根据所述投影矩阵分别计算每个第二标定点投影后对应的第一坐标,得到第一坐标集;
S34、分别计算所述第一坐标集中每个第一坐标和与所述第一坐标对应的第一标定点的欧式距离,得到欧式距离集,根据所述欧式距离集,得到所述照片相对于所述第一人头3D模型的形变系数。
由上述描述可知,通过预先在照片上进行标定,得到第一标定点集,在获取所述第一人头3D模型预先标定的分别与所述多个第一标定点一一对应的第二标定点及对应的第二标定点集,对所述第二标定点集进行投影得到第一坐标集,进而根据所述第一坐标集和第一标定点集得到欧式距离集,并根据所述欧式距离集,得到所述照片相对于所述第一人头3D模型的形变系数,从而简化了计算形变系数的过程,提高了计算效率。
进一步的,步骤S34具体包括:
S341、分别计算所述第一坐标集中每个第一坐标和与所述第一坐标对应的第一标定点的欧式距离,得到欧式距离集,并记录为第i次迭代,其中i的初始值为1,取值范围为[1,n];
S342、根据所述欧式距离集构建与所述第i次迭代对应的最小化代价函数,得到与所述第一标定点集对应的新的第一坐标集和新的形变系数;
S343、判断i的值是否大于等于n,若否,则执行步骤S344,否则执行步骤S345;
S344、将i的值加上1并赋值给i,将所述第一坐标集替换为新的第一坐标集,所述形变系数替换为新的形变系数,并返回步骤S341;
S345、将所述新的形变系数记录为所述照片相对于所述第一人头3D模型的形变系数。
由上述描述可知,通过多次迭代,并将最后一次迭代得到的形变系数作为所述照片相对于所述第一人头3D模型的形变系数,提高了所得到形变系数的精确度,进而保证了后续所得到的第二人头3D模型与所述照片的接近程度。
进一步的,步骤S4具体包括:
S41、根据所述投影矩阵,对所述第一人头3D模型旋转、平移修正后,进行平行投影,得到标准的2D图像;
S42、根据所述标准的2D图像和所述照片,计算得到与所述照片对应的仿射矩阵;
S43、根据所述仿射矩阵,将所述照片变换为与其对应的标准的2D图像,生成第一纹理图;
S44、通过颜色迁移将所述照片中的肤色信息迁移到所述第一纹理图上,生成与所述第一人头3D模型相匹配的纹理图。
由上述描述可知,通过仿射矩阵,对照片进行仿射变化得到与其对应的标准的2D图像,生成第一纹理图,并通过颜色迁移技术将所述照片中的肤色信息迁移到第一纹理图上,生成与所述第一人头3D模型相匹配的纹理图,确保了后续生成的3D人物的逼真度。
实施例一
一种3D人物重建的方法,包括步骤:
S1、采集人头数据;
S2、根据所述人头数据生成人头数据库,所述人头数据库包括第一人头3D模型和相应的特征向量;
步骤S2具体为:
根据所述人头数据进行主成份分析生成人头数据库,所述人头数据库包括第一人头3D模型和相应的特征向量,且所述第一人头3D模型为平均人头3D模型;
S3、获取输入照片,确定所述照片相对于所述第一人头3D模型的形变系数,并根据所述第一人头3D模型、所述特征向量和所述形变系数得到与所述照片对应的第二人头3D模型;
步骤S3中确定所述照片相对于所述第一人头3D模型的形变系数具体包括步骤:
S31、获取所述照片预先标定的多个第一标定点对应的第一标定点集,所述第一标定点集包括每个第一标定点的序号及对应的坐标;
S32、获取所述第一人头3D模型预先标定的分别与所述多个第一标定点一一对应的第二标定点及对应的第二标定点集,所述第二标定点集包括与所述每个第一标定点对应的第二标定点的序号及对应的坐标;
S33、根据所述第一标定点集和第二标定点集,计算所述第一人头3D模型相对于所述照片的投影矩阵,根据所述投影矩阵分别计算每个第二标定点投影后对应的第一坐标,得到第一坐标集;
S34、分别计算所述第一坐标集中每个第一坐标和与所述第一坐标对应的第一标定点的欧式距离,得到欧式距离集,根据所述欧式距离集,得到所述照片相对于所述第一人头3D模型的形变系数;
S4、生成与所述第二人头3D模型相匹配的纹理图;
步骤S4具体包括:
S41、根据所述投影矩阵,对所述第一人头3D模型旋转、平移修正后,进行平行投影,得到标准的2D图像;
S42、根据所述标准的2D图像和所述照片,计算得到与所述照片对应的仿射矩阵;
S43、根据所述仿射矩阵,将所述照片变换为与其对应的标准的2D图像,生成第一纹理图;
S44、通过颜色迁移将所述照片中的肤色信息迁移到所述第一纹理图上,生成与所述第一人头3D模型相匹配的纹理图;
S5、预设人物模型,将所述第二人头3D模型和所述纹理图赋值给所述人物模型,生成对应的3D人物。
实施例二
本实施例和实施例一的区别在于,计算形变系数时进行了多次迭代,具体迭代过程如下:
S341、分别计算所述第一坐标集中每个第一坐标和与所述第一坐标对应的第一标定点的欧式距离,得到欧式距离集,并记录为第i次迭代,其中i的初始值为1,取值范围为[1,n];
S342、根据所述欧式距离集构建与所述第i次迭代对应的最小化代价函数,得到与所述第二标定点集对应的新的第一坐标集和新的形变系数;
S343、判断i的值是否大于等于n,若否,则执行步骤S344,否则执行步骤S345;
S344、将i的值加上1并赋值给i,将所述第一坐标集替换为新的第一坐标集,所述形变系数替换为新的形变系数,并返回步骤S341;
S345、将所述新的形变系数记录为所述照片相对于所述第一人头3D模型的形变系数。
实施例三
本实施例结合具体的应用场景,描述本发明上述3D人物重建的方法是如何实现的:
1、采集人头数据
通过预先搭建的人像采集系统采集适量的人头数据,所述人头数据包括:人物的正脸照片,左、右侧脸照片以及人头3D模型;
可以通过性别、年龄、种族进行对所述人头数据进行分类,此处分类可以由人工参与,分类主要为了扩大样本的差异性,使得最终生成的人头数据库在统计的角度来说,具有多样性,并在各个类别中按照统计学中的随机抽样原则,随机抽取200个以上不同人的人头数据作为该类别的样本;
2、生成人头数据库
主成分分析(PCA)是多元统计分析中用来分析数据的一种方法,它是用一种较少数量的特征对样本进行描述以达到降低特征空间维数的方法;
获取所述样本中所有的人头3D模型,通过数学上的PCA算法生成平均人头3D模型(即第一人头3D模型)以及对应的特征向量与特征值,为了体现普适性,既可以把所有人头3D模型均参与PCA计算,也可以根据业务需求,如果业务仅仅面向年轻女性,则可以只用所有年轻女性的人头3D模型,参与PCA计算,本申请中并未使用该特征值,从而生成对应的所有人头3D模型的人头数据库,先通过Dlib库在正脸照片中预先标定68个第一标定点对应的第一标定点集,所述第一标定点集包括每个第一标定点的序号及对应的坐标,68个人脸标定点在人脸中的大致位置,参考图片3;
再根据所述第一标定点集获取平均人头3D模型预先标定的分别与所述多个第一标定点一一对应的第二标定点及对应的第二标定点集,所述第二标定点集包括与所述每个第一标定点对应的第二标定点的序号及对应的坐标,以软件3DS MAX为例,参见图3,正脸照片中68个第一标定点中的第30个第一标定点位于人脸的鼻尖,则在平均人头3D模型中找出鼻尖上的点及其序号,得出所述第30个第一标定点对应的平均人头3D模型中的序号为2052的点,参见图6,同理,找出所述正脸照片中所有第一标定点的序号和与其对应的所述平均人头3D模型上标定点的序号,得到第二标定点集,并将正脸照片中的第一标定点的序号和平均人头3D模型中的第二标定点的序号的映射关系记录为的映射文件(middle_mapping.config);
左右侧脸各10个标定点,参考图片3和图片4,将人头模型旋转成侧脸后,找出左右侧脸在平均人脸模型中对应的标定点的序号,左右侧脸中的第一标定点的序号和平均人头3D模型的第二标定点的序号的映射关系记录为映射文件(left_mapping.config与right_mapping.config);
3、根据输入照片生成第二人头模型
用户输入照片,输入一张正脸照片或一张正脸照片加上左、右侧脸照片,可以用手机直接拍照,照片要求为:人脸清晰可辨,面部无遮挡,光照均匀,若提供的是包含左右侧脸的照片,需要确保3张照片(正脸照、左、右侧脸照)中人脸的大小基本一致,基于Dlib库的人脸识别系统将对用户提供的正脸照片进行人脸识别,标记出68个第一标定点,若用户能再提供对应的左右侧脸照片,如图4和图5,则提示用户根据选定规则标定出10个第一标定点,选定规则为:侧脸眉毛位置、侧脸眼睛位置、侧脸鼻梁中点位置、侧脸鼻尖位置、侧脸鼻孔位置、侧脸上嘴唇位置、侧脸两唇中间位置、侧脸下嘴唇位置、侧脸下嘴唇与下巴中点位置以及侧脸下巴位置;
所述正脸照片与所述平均3D人头模型之间基于middle_mapping.config做曲线拟合,得到形变系数α,方法如下:
步骤1、通过投影矩阵P3×4对3维空间中的任意一个3维点进行投影得到可以得到一个2维点,具体变换如下:
a=P3×4A
即
可解得
x=P11X+P12Y+P13Z+P14+P21*0+P22*0+P23*0+P24*0
y=P11*0+P12*0+P13*0+P14*0+P21X+P22Y+P23Z+P24
其中,x,y分别对应二维点a的X轴坐标和Y轴坐标,X、Y、Z分别对应三维点A的X轴坐标、Y轴坐标和Z轴坐标,Pij表示位于矩阵P3×4的第i行第j列的元素,i=1,2,3,j=1,2,3,4;
根据middle_mapping.config中的68个二维的第一标定点与三维的第二标定点的映射关系,将2维数据点X轴坐标和Y轴坐标分别写成集合x={x0,x1,...,xn}和集合y={y0,y1,...,yn},及其对应的3维数据点X={X0,X1,...,Xn}、Y={Y0,Y1,...,Yn}和Z={Z0,Z1,...,Zn},其中n为67,并带入以下方程组:
使用最小二乘法cv::solve(A,b,k,cv::DECOMP_SVD)(以cv::开头的函数使用Opencv标准算法库计算,下同),其中A为上面方程左边2n×8矩阵,b为方程右边2n×1矩阵,k为最小二乘法得到的结果,即P2×4矩阵,解得矩阵的前两行,得到投影矩阵P2×4,因此,需要基于P2×4计算出P3×4,如步骤二所示;
步骤二
将三维空间中的任意一个3维点映射到空间中的2维平面时,所得到的投影矩阵P3×4可以表达为旋转矩阵R3×3和位移矩阵t的形式,如下:
P3×4=[R3×3,t]
其中,R3×3为旋转矩阵,t1,t2,t3分别表示三维点映射到空间中二维平面时沿X轴、Y轴和Z轴的位移,R=(r1r2r3),其中r1,r2,r3分别为沿X轴、Y轴和Z轴方向上的单位列向量,且相互正交即其点乘为0,构造 此处的R1,R2构造出来是用来计算r1,r2的中间变量,且矩阵中的各个元素与前面方程中Pij相一致,再分别除以R1,R2自身的二阶范数(向量元素平方和开方,记为||R1||和||R2||,向量除以自身的二阶范数,得到的是当前方向上的单位向量)得到一组r1,r2,此时r1,r2并不一定正交,通过计算两者的叉乘得到一个r3,用这个r1,r2,r3得到的R;
对R进行奇异值分解:
cv::SVDecomp(R,S,U,VT),即R=USVT
其中,R为前面构造的旋转矩阵R=(r1 r2 r3),U为奇异值分解后得到的左酉矩阵,S奇异值分解后得到的一个对角元素都接近1的奇异值矩阵,VT为奇异值分解后得到的右酉矩阵的转置,R0=UVT,其中R0为最终的旋转矩阵;
计算S=(||R1||+||R2||)/2,t1=P14/S,t2=P24/S,(其中P14与P24在步骤一中最小二乘法求得的P2×4中,t1与t2是平移矩阵t的x与y值,已知P14与P24,以及S,可以求得t1与t2),由于z平面固定,故t3不需要计算,默认为0,于是得到了正交投影变换的旋转矩阵R3×3(即R0)和平移矩阵也得到投影矩阵P3×4;
步骤三
平均人头3D模型的形变,参考3DMM是一个由形变系数α∈Rs决定的可变网格,形变由主成分分析(PCA)后的线性模型来描述:
其中,V∈R3N×S为主成分分量,S个特征向量,即前面人头数据库中得到的特征向量,为人头数据库中的平均人头3D模型,R3N空间中的数据可表达为向量[u1 v1 w1…uN vN wN]T,即平均人头3D模型中各标定点的三维坐标顺序排列,N为平均人头3D模型中网格顶点数(标定点);
迭代得到形变系数的过程就是先使用上一次迭代得到的f(α),与投影矩阵,以及middle_mapping.config中正脸照片的标定点的序号到平均人头3D模型的标定点的序号的对应关系,构建最小化代价函数来估计形变系数的最大似然解,其中为所述正脸照片中多个第一标定点的协方差cov(X,Y),ym2D,i为平均人头3D模型中的第i个3维第二标定点通过投影后得到的第一坐标,yi为所述正脸照片中与所述第i个3维第二标定点对应的第一标定点,ym2D为第一坐标集,既有
进行多次迭代,每次迭代计算满足最小化代价函数的形变系数α,迭代完成后最后代入线性模型式得到与所述正脸照片对应的迭代人头3D模型Mmiddle;
步骤四
同理,可以得到分别与左侧脸和右侧脸照片对应的迭代人头3D模型Mleft和迭代人头3D模型Mright,再通过预先定义的侧脸标定点映射关系,如图片7,以3DS MAX中的标准坐标系为例,深度对应的坐标轴为y轴,即将侧脸标定点V侧(x,y,z)的y值映射到正脸标定点V正(x,y,z)中,最终叠加形成具有正脸以及左右侧脸数据信息的迭代人头3D模型;
基于得到的迭代人头模型再重复执行步骤一到步骤四10次,得到第二人头3D模型;
4、生成与输入照片对应的纹理图
根据得到的投影矩阵P3×4,根据其中的旋转R3×3和位移矩阵t对平均人头3D模型(第一人头3D模型)进行旋转、平移修正,再对其做2D投影,使其投影成标准的2D图像,对比输入的2D照片与2D投影图像中的68个标定点,生成与所述输入照片对应的仿射矩阵,使用仿射变换将输入的2D照片变换为与其对应的标准的2D图像,生成第一纹理图;
具体方法为:
步骤一
将2D照片与2D投影图像中的68个标定点,分别按就近原则,每三个标定点构成一个三角形。2D照片生成的三角形记为Tsrc,2D投影图像中的三角形记为Tdet;
步骤二
将Tsrc与Tdet通过算法cv::getRotationMatrix2D()获取仿射矩阵。
步骤三
将2D照片根据仿射矩阵W,通过算法cv::warpAffine()进行2D仿射变换为2D投影图像;
若用户能再提供对应的左右侧脸照片,同理可以生成基于左、右侧脸的2D纹理图,将正脸纹理图与左右侧脸纹理图相融合,即可生成了与人头模型相匹配的纹理图,再通过图像处理的颜色迁移技术,将照片中人脸的肤色,迁移到生成的纹理图上,生成与所述第一人头3D模型匹配的人头纹理图。
实施例四
请参照图2,一种3D人物重建的终端1,包括存储器2、处理器3及存储在存储器2上并可在处理器3上运行的计算机程序,所述处理器3执行所述程序时实现实施例一中的各个步骤。
实施例五
请参照图2,一种3D人物重建的终端1,包括存储器2、处理器3及存储在存储器2上并可在处理器3上运行的计算机程序,所述处理器3执行所述程序时实现实施例二中的各个步骤。
综上所述,本发明提供的一种3D人物重建的方法及终端,通过生成人头数据库,得到第一人头3D模型,由于使用的预先生成的人头数据库,用户实际使用时,只需计算出形变系数,生成第二人头3D模型和与其匹配的纹理图,计算量小,满足实时生成,并且能够生成整个人头,一步到位,不需要二次处理,由于是根据第一人头3D模型进行形变,模型的拓扑结构完全一致,方便后期对表情、动作、妆化等进行统一处理,通过多次迭代,并将最后一次迭代得到的形变系数作为所述照片相对于所述第一人头3D模型的形变系数,提高了所得到形变系数的精确度,进而保证了后续所得到的第二人头3D模型与所述照片的接近程度。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种3D人物重建的方法,其特征在于,包括步骤:
S1、采集人头数据;
S2、根据所述人头数据生成人头数据库,所述人头数据库包括第一人头3D模型和相应的特征向量;
S3、获取输入照片,确定所述照片相对于所述第一人头3D模型的形变系数,并根据所述第一人头3D模型、所述特征向量和所述形变系数得到与所述照片对应的第二人头3D模型;
S4、生成与所述第二人头3D模型相匹配的纹理图;
S5、预设人物模型,将所述第二人头3D模型和所述纹理图赋值给所述人物模型,生成对应的3D人物。
2.根据权利要求1所述的3D人物重建的方法,其特征在于,步骤S2具体为:
根据所述人头数据进行主成份分析生成人头数据库,所述人头数据库包括第一人头3D模型和相应的特征向量,且所述第一人头3D模型为平均人头3D模型。
3.根据权利要求1所述的3D人物重建的方法,其特征在于,步骤S3中确定所述照片相对于所述第一人头3D模型的形变系数具体包括步骤:
S31、获取所述照片预先标定的多个第一标定点对应的第一标定点集,所述第一标定点集包括每个第一标定点的序号及对应的坐标;
S32、获取所述第一人头3D模型预先标定的分别与所述多个第一标定点一一对应的第二标定点及对应的第二标定点集,所述第二标定点集包括与所述每个第一标定点对应的第二标定点的序号及对应的坐标;
S33、根据所述第一标定点集和第二标定点集,计算所述第一人头3D模型相对于所述照片的投影矩阵,根据所述投影矩阵分别计算每个第二标定点投影后对应的第一坐标,得到第一坐标集;
S34、分别计算所述第一坐标集中每个第一坐标和与所述第一坐标对应的第一标定点的欧式距离,得到欧式距离集,根据所述欧式距离集,得到所述照片相对于所述第一人头3D模型的形变系数。
4.根据权利要求3所述的3D人物重建方法,其特征在于,步骤S34具体包括:
S341、分别计算所述第一坐标集中每个第一坐标和与所述第一坐标对应的第一标定点的欧式距离,得到欧式距离集,并记录为第i次迭代,其中i的初始值为1,取值范围为[1,n];
S342、根据所述欧式距离集构建与所述第i次迭代对应的最小化代价函数,得到与所述第一标定点集对应的新的第一坐标集和新的形变系数;
S343、判断i的值是否大于等于n,若否,则执行步骤S344,否则执行步骤S345;
S344、将i的值加上1并赋值给i,将所述第一坐标集替换为新的第一坐标集,所述形变系数替换为新的形变系数,并返回步骤S341;
S345、将所述新的形变系数记录为所述照片相对于所述第一人头3D模型的形变系数。
5.根据权利要求3所述的3D人物重建的方法,其特征在于,步骤S4具体包括:
S41、根据所述投影矩阵,对所述第一人头3D模型旋转、平移修正后,进行平行投影,得到标准的2D图像;
S42、根据所述标准的2D图像和所述照片,计算得到与所述照片对应的仿射矩阵;
S43、根据所述仿射矩阵,将所述照片变换为与其对应的标准的2D图像,生成第一纹理图;
S44、通过颜色迁移将所述照片中的肤色信息迁移到所述第一纹理图上,生成与所述第一人头3D模型相匹配的纹理图。
6.一种3D人物重建的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
S1、采集人头数据;
S2、根据所述人头数据生成人头数据库,所述人头数据库包括第一人头3D模型和相应的特征向量;
S3、获取输入照片,确定所述照片相对于所述第一人头3D模型的形变系数,并根据所述第一人头3D模型、所述特征向量和所述形变系数得到与所述照片对应的第二人头3D模型;
S4、生成与所述第二人头3D模型相匹配的纹理图;
S5、预设人物模型,将所述第二人头3D模型和所述纹理图赋值给所述人物模型,生成对应的3D人物。
7.根据权利要求6所述的3D人物重建的终端,其特征在于,步骤S2具体为:
根据所述人头数据进行主成份分析生成人头数据库,所述人头数据库包括第一人头3D模型和相应的特征向量,且所述第一人头3D模型为平均人头3D模型。
8.根据权利要求6所述的3D人物重建的终端,其特征在于,步骤S3中确定所述照片相对于所述第一人头3D模型的形变系数具体包括步骤:
S31、获取所述照片预先标定的多个第一标定点对应的第一标定点集,所述第一标定点集包括每个第一标定点的序号及对应的坐标;
S32、获取所述第一人头3D模型预先标定的分别与所述多个第一标定点一一对应的第二标定点及对应的第二标定点集,所述第二标定点集包括与所述每个第一标定点对应的第二标定点的序号及对应的坐标;
S33、根据所述第一标定点集和第二标定点集,计算所述第一人头3D模型相对于所述照片的投影矩阵,根据所述投影矩阵分别计算每个第二标定点投影后对应的第一坐标,得到第一坐标集;
S34、分别计算所述第一坐标集中每个第一坐标和与所述第一坐标对应的第一标定点的欧式距离,得到欧式距离集,根据所述欧式距离集,得到所述照片相对于所述第一人头3D模型的形变系数。
9.根据权利要求8所述的3D人物重建终端,其特征在于,步骤S34具体包括:
S341、分别计算所述第一坐标集中每个第一坐标和与所述第一坐标对应的第一标定点的欧式距离,得到欧式距离集,并记录为第i次迭代,其中i的初始值为1,取值范围为[1,n];
S342、根据所述欧式距离集构建与所述第i次迭代对应的最小化代价函数,得到与所述第一标定点集对应的新的第一坐标集和新的形变系数;
S343、判断i的值是否大于等于n,若否,则执行步骤S344,否则执行步骤S345;
S344、将i的值加上1并赋值给i,将所述第一坐标集替换为新的第一坐标集,所述形变系数替换为新的形变系数,并返回步骤S341;
S345、将所述新的形变系数记录为所述照片相对于所述第一人头3D模型的形变系数。
10.根据权利要求8所述的3D人物重建的终端,其特征在于,步骤S4具体包括:
S41、根据所述投影矩阵,对所述第一人头3D模型旋转、平移修正后,进行平行投影,得到标准的2D图像;
S42、根据所述标准的2D图像和所述照片,计算得到与所述照片对应的仿射矩阵;
S43、根据所述仿射矩阵,将所述照片变换为与其对应的标准的2D图像,生成第一纹理图;
S44、通过颜色迁移将所述照片中的肤色信息迁移到所述第一纹理图上,生成与所述第一人头3D模型相匹配的纹理图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810316182.1A CN108717730B (zh) | 2018-04-10 | 2018-04-10 | 一种3d人物重建的方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810316182.1A CN108717730B (zh) | 2018-04-10 | 2018-04-10 | 一种3d人物重建的方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108717730A true CN108717730A (zh) | 2018-10-30 |
CN108717730B CN108717730B (zh) | 2023-01-10 |
Family
ID=63898876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810316182.1A Active CN108717730B (zh) | 2018-04-10 | 2018-04-10 | 一种3d人物重建的方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108717730B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110197155A (zh) * | 2019-05-30 | 2019-09-03 | 广州英特力信息科技有限公司 | 一种在线实时试穿方法及系统 |
CN110415323A (zh) * | 2019-07-30 | 2019-11-05 | 成都数字天空科技有限公司 | 一种融合变形系数获得方法、装置及存储介质 |
CN114373043A (zh) * | 2021-12-16 | 2022-04-19 | 聚好看科技股份有限公司 | 一种头部三维重建方法及设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1482580A (zh) * | 2002-09-15 | 2004-03-17 | �����з��ѿƼ�����˾ | 利用一组二维照片与三维模型库生成新的三维模型的方法 |
CN1811793A (zh) * | 2006-03-02 | 2006-08-02 | 复旦大学 | 一种人脸特征点自动定位方法 |
US20100134487A1 (en) * | 2008-12-02 | 2010-06-03 | Shang-Hong Lai | 3d face model construction method |
CN102376100A (zh) * | 2010-08-20 | 2012-03-14 | 北京盛开互动科技有限公司 | 基于单张照片的人脸动画方法 |
CN104036546A (zh) * | 2014-06-30 | 2014-09-10 | 清华大学 | 一种基于自适应形变模型的任意视角人脸三维重构方法 |
CN104157010A (zh) * | 2014-08-29 | 2014-11-19 | 厦门幻世网络科技有限公司 | 一种3d人脸重建的方法及其装置 |
CN104268921A (zh) * | 2014-09-12 | 2015-01-07 | 上海明穆电子科技有限公司 | 3d人脸表情控制方法及系统 |
WO2016003258A1 (ko) * | 2014-07-04 | 2016-01-07 | 주식회사 인스바이오 | 치과 시술 시뮬레이션을 위한 얼굴모델 생성 방법 |
CN106780713A (zh) * | 2016-11-11 | 2017-05-31 | 吴怀宇 | 一种基于单幅照片的三维人脸建模方法及系统 |
WO2018040099A1 (zh) * | 2016-08-31 | 2018-03-08 | 深圳市唯特视科技有限公司 | 一种基于灰度和深度信息的三维人脸重建方法 |
-
2018
- 2018-04-10 CN CN201810316182.1A patent/CN108717730B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1482580A (zh) * | 2002-09-15 | 2004-03-17 | �����з��ѿƼ�����˾ | 利用一组二维照片与三维模型库生成新的三维模型的方法 |
CN1811793A (zh) * | 2006-03-02 | 2006-08-02 | 复旦大学 | 一种人脸特征点自动定位方法 |
US20100134487A1 (en) * | 2008-12-02 | 2010-06-03 | Shang-Hong Lai | 3d face model construction method |
CN102376100A (zh) * | 2010-08-20 | 2012-03-14 | 北京盛开互动科技有限公司 | 基于单张照片的人脸动画方法 |
CN104036546A (zh) * | 2014-06-30 | 2014-09-10 | 清华大学 | 一种基于自适应形变模型的任意视角人脸三维重构方法 |
WO2016003258A1 (ko) * | 2014-07-04 | 2016-01-07 | 주식회사 인스바이오 | 치과 시술 시뮬레이션을 위한 얼굴모델 생성 방법 |
CN104157010A (zh) * | 2014-08-29 | 2014-11-19 | 厦门幻世网络科技有限公司 | 一种3d人脸重建的方法及其装置 |
CN104268921A (zh) * | 2014-09-12 | 2015-01-07 | 上海明穆电子科技有限公司 | 3d人脸表情控制方法及系统 |
WO2018040099A1 (zh) * | 2016-08-31 | 2018-03-08 | 深圳市唯特视科技有限公司 | 一种基于灰度和深度信息的三维人脸重建方法 |
CN106780713A (zh) * | 2016-11-11 | 2017-05-31 | 吴怀宇 | 一种基于单幅照片的三维人脸建模方法及系统 |
Non-Patent Citations (3)
Title |
---|
VOLKER BLANZ: "A Morphable Model For The Synthesis Of 3D Faces", 《PROCEEDINGS OF THE 26TH ANNUAL CONFERENCE ON COMPUTER GRAPHICS AND INTERACTIVE TECHNIQUES》 * |
余畅: "基于左右斜侧面照片的三维人脸纹理合成方法研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
胡旺等: "一种三维人头生成方法在Second Life中的应用", 《计算机仿真》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110197155A (zh) * | 2019-05-30 | 2019-09-03 | 广州英特力信息科技有限公司 | 一种在线实时试穿方法及系统 |
CN110415323A (zh) * | 2019-07-30 | 2019-11-05 | 成都数字天空科技有限公司 | 一种融合变形系数获得方法、装置及存储介质 |
CN110415323B (zh) * | 2019-07-30 | 2023-05-26 | 成都数字天空科技有限公司 | 一种融合变形系数获得方法、装置及存储介质 |
CN114373043A (zh) * | 2021-12-16 | 2022-04-19 | 聚好看科技股份有限公司 | 一种头部三维重建方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108717730B (zh) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112418074B (zh) | 一种基于自注意力的耦合姿态人脸识别方法 | |
JP6891351B2 (ja) | 多特徴検索と変形に基づく人体髪型の生成方法 | |
CN112766160B (zh) | 基于多级属性编码器和注意力机制的人脸替换方法 | |
CN114694221B (zh) | 基于学习的面部重建方法 | |
Aldrian et al. | Inverse rendering of faces with a 3D morphable model | |
CN111819568B (zh) | 人脸旋转图像的生成方法及装置 | |
CN110348330A (zh) | 基于vae-acgan的人脸姿态虚拟视图生成方法 | |
CN101320484B (zh) | 一种人脸虚图像生成的方法及一种三维人脸识别方法 | |
Kong et al. | Head pose estimation from a 2D face image using 3D face morphing with depth parameters | |
CN107871098B (zh) | 人脸特征点的获取方法和装置 | |
CN110866864A (zh) | 人脸姿态估计/三维人脸重构方法、装置及电子设备 | |
CN113066171B (zh) | 一种基于三维人脸形变模型的人脸图像生成方法 | |
TWI699709B (zh) | 視線追蹤設備中確定參數的方法和裝置 | |
Ellingson et al. | Nonparametric estimation of means on Hilbert manifolds and extrinsic analysis of mean shapes of contours | |
CN108717730A (zh) | 一种3d人物重建的方法及终端 | |
CN113570684A (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
CN111815768B (zh) | 三维人脸重建方法和装置 | |
Zhang et al. | 3D statistical head modeling for face/head-related product design: a state-of-the-art review | |
CN116612513A (zh) | 头部姿态估计方法及系统 | |
Liang et al. | Coupled dictionary learning for the detail-enhanced synthesis of 3-D facial expressions | |
CN109934926B (zh) | 模型数据处理方法、装置、可读存储介质和设备 | |
CN115205933A (zh) | 面部表情识别方法、装置、设备及可读存储介质 | |
CN111462108A (zh) | 一种基于机器学习的头面部产品设计工效学评估操作方法 | |
Chandraker et al. | Globally optimal bilinear programming for computer vision applications | |
Pan et al. | Removal of 3D facial expressions: A learning-based approach |
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 |