本发明涉及计算机技术领域,特别涉及一种人脸特征点的正面化方法及电子设备。
背景技术:
现有的人脸特征点正面化的方法通常不考虑人脸在各个维度上的对称性,这样在人脸具有表情时会导致正面化的特征点误差较大。
技术实现要素:
为了解决上述问题,本发明提供一种人脸特征点的正面化方法及电子设备。
所述技术方案如下:
第一方面,提供了一种人脸特征点的正面化方法,所述方法包括:
获取人脸的特征点的二维坐标;
获取预设三维人脸模型的特征点的三维坐标;
根据所述特征点的二维坐标,预设三维人脸模型的特征点的三维坐标,预设公式和预设条件,获取旋转矩阵,缩放矩阵和平移矩阵;
根据所述特征点的二维坐标和所述旋转矩阵,缩放矩阵和平移矩阵获取所述人脸的正面化后的特征点的二维坐标。
结合第一方面,在第一种可能的实现方式中,在所述根据所述特征点的二维坐标,预设三维人脸模型的特征点的三维坐标,预设公式和预设条件,获取旋转矩阵,缩放矩阵和平移矩阵之前,还包括:
通过补零的方式将所述特征点的二维坐标扩展为特征点的三维坐标。
结合第一方面,在第二种可能的实现方式中,所述三维人脸模型是正面化的三维人脸模型,所述三维人脸模型的特征点的三维坐标是正面化的特征点的三维坐标。
结合第一方面,在第三种可能的实现方式中,所述预设条件包括:
所述旋转矩阵为正交矩阵;
所述人脸的轴对称误差小于第一预设值;
所述人脸的水平误差小于第二预设值;以及,
所述人脸中相应特征点之间的高度差的极值中的至少一种。
第二方面,提供了一种电子设备,所述电子设备包括:
特征点的二维坐标获取模块,用于获取人脸的特征点的二维坐标;
预设三维人脸模型的特征点的三维坐标获取模块,用于获取预设三维人脸模型的特征点的三维坐标;
矩阵获取模块,用于根据所述特征点的二维坐标,预设三维人脸模型的特征点的三维坐标,预设公式和预设条件,获取旋转矩阵,缩放矩阵和平移矩阵;
正面化模块,用于根据所述特征点的二维坐标和所述旋转矩阵,缩放矩阵和平移矩阵获取所述人脸的正面化后的特征点的二维坐标。
结合第二方面,在第一种可能的实现方式中,所述设备还包括扩维模块,用于通过补零的方式将所述特征点的二维坐标扩展为特征点的三维坐标。
结合第二方面,在第二种可能的实现方式中,所述三维人脸模型是正面化的三维人脸模型,所述三维人脸模型的特征点的三维坐标是正面化的特征点的三维坐标。
结合第二方面,在第三种可能的实现方式中,所述预设条件包括:
所述旋转矩阵为正交矩阵;
所述人脸的轴对称误差小于第一预设值;
所述人脸的水平误差小于第二预设值;以及,
所述人脸中相应特征点之间的高度差的极值中的至少一种。
第三方面,提供了一种电子设备,所述设备包括存储器,以及与所述存储器连接的处理器,其中,所述存储器用于存储一组程序代码,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
获取人脸的特征点的二维坐标;
获取预设三维人脸模型的特征点的三维坐标;
根据所述特征点的二维坐标,预设三维人脸模型的特征点的三维坐标,预设公式和预设条件,获取旋转矩阵,缩放矩阵和平移矩阵;
根据所述特征点的二维坐标和所述旋转矩阵,缩放矩阵和平移矩阵获取所述人脸的正面化后的特征点的二维坐标。
结合第三方面,在第一种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
通过补零的方式将所述特征点的二维坐标扩展为特征点的三维坐标。
结合第三方面,在第二种可能的实现方式中,所述三维人脸模型是正面化的三维人脸模型,所述三维人脸模型的特征点的三维坐标是正面化的特征点的三维坐标。
结合第三方面,在第三种可能的实现方式中,所述预设条件包括:
所述旋转矩阵为正交矩阵;
所述人脸的轴对称误差小于第一预设值;
所述人脸的水平误差小于第二预设值;以及,
所述人脸中相应特征点之间的高度差的极值中的至少一种。
本发明实施例提供了一种人脸特征点的正面化方法及电子设备,通过加入一系列预设的条件,使得正面化的特征点受人脸表情的影响较小,具有较高的精度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种人脸特征点的正面化方法的流程图;
图2是本发明实施例提供的一种人脸特征点的正面化方法的流程图;
图3是本发明实施例提供的一种人脸特征点的正面化方法的流程图;
图4是本发明实施例提供的一种人脸特征点的正面化方法的流程图;
图5是本发明实施例提供的一种人脸特征点的正面化方法的流程图;
图6是本发明实施例提供的一种电子设备的结构示意图;
图7是本发明实施例提供的一种电子设备的结构示意图;
图8是本发明实施例提供的人脸二维坐标系示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供了一种人脸特征点的正面化方法及电子设备,通过加入一系列预设的条件,使得正面化的特征点受人脸表情的影响较小,具有较高的精度。
实施例一
本发明实施例提供了一种人脸特征点的正面化方法,参照图1所示,方法流程包括:
101、获取人脸的特征点的二维坐标。
具体的,该过程可以为:
根据主动外观模型(activeappearancemodel)获取人脸的特征点;
获取该人脸的特征点对应的二维坐标。
可选的还可以通过主动形状模型(activeshapemodel)获取人脸的特征 点;
获取该人脸的特征点对应的二维坐标。
102、获取预设三维人脸模型的特征点的三维坐标。
具体的,该过程可以为:
根据训练和回归计算得到该预设三维人脸模型的特征点;
获取该的坐标预设三维人脸模型的特征点对应的三维坐标。
103、根据所述特征点的二维坐标,预设三维人脸模型的特征点的三维坐标,预设公式和预设条件,获取旋转矩阵,缩放矩阵和平移矩阵。
具体的,该过程可以为:
通过补零的方式将该特征点的二维坐标扩展至特征点的三维坐标;
根据该扩展后的三维特征点的坐标,预设三维人脸模型的三维特征点的坐标,预设公式和预设条件获取旋转矩阵,缩放矩阵和平移矩阵。
104、根据所述特征点的二维坐标和所述旋转矩阵,缩放矩阵和平移矩阵获取所述人脸的正面化后的特征点的二维坐标。
具体的,该过程可以为:
根据获取的旋转矩阵,缩放矩阵和平移矩阵对该特征点的二维坐标进行调整,得到正面化后的特征点的二维坐标。
本发明实施例提供了一种人脸特征点的正面化方法,通过加入一系列预设的条件,使得正面化的特征点受人脸表情的影响较小,具有较高的精度。
实施例二
本发明实施例提供了一种人脸特征点的正面化方法,参照图2所示,方法流程包括:
201、获取人脸的特征点的二维坐标。
该步骤与步骤101相同,此处不再赘述。
202、获取预设三维人脸模型的特征点的三维坐标。
该步骤与步骤102相同,此处不再赘述。
203、根据所述特征点的二维坐标,预设三维人脸模型的特征点的三维坐标,预设公式和预设条件,获取旋转矩阵,缩放矩阵和平移矩阵。
具体的,该过程可以为:
通过补零的方式将该特征点的二维坐标扩展至该特征点的三维坐标;
根据该扩展后的特征点的三维坐标,预设三维人脸模型的特征点的三维坐标,预设公式和预设条件获取旋转矩阵,缩放矩阵和平移矩阵。
示例性的,预设公式为:
其中,r表示旋转矩阵,s表示缩放矩阵,t表示平移矩阵,m为三维人脸模型的特征点的三维坐标矩阵,x3为人脸特征点的二维坐标矩阵扩展后的三维坐标矩阵;
预设条件包括:
rrt=i,
其中,r表示旋转矩阵;
根据该预设公式和预设条件可以得到公式:
s.t.rrt=i
根据公式(1)和给定的m,x3可以求得对应的r,s,t。
204、根据所述特征点的二维坐标和所述旋转矩阵,缩放矩阵和平移矩阵,获取所述人脸的正面化后的特征点的二维坐标。
具体的,该过程可以为:
根据求得的r,s,t和x可以求得正面化后的人脸特征点的二维坐标矩阵x',计算公式为:
x'=srx+t
其中,x为该人脸的特征点的二维坐标矩阵。
本发明实施例提供了一种人脸特征点的正面化方法,通过加入旋转相关的 预设条件,使得正面化的特征点受人脸旋转的影响较小,具有较高的精度。
实施例三
本发明实施例提供了一种人脸特征点的正面化方法,参照图3所示,方法流程包括:
301、获取人脸的特征点的二维坐标。
该步骤与步骤101相同,此处不再赘述。
302、获取预设三维人脸模型的特征点的三维坐标。
该步骤与步骤102相同,此处不再赘述。
303、根据所述特征点的二维坐标,预设三维人脸模型的特征点的三维坐标,预设公式和预设条件,获取旋转矩阵,缩放矩阵和平移矩阵。
具体的,该过程可以为:
通过补零的方式将该特征点的二维坐标扩展至该特征点的三维坐标;
根据该扩展后的三维特征点的坐标,预设三维人脸模型的三维特征点的坐标,预设公式和预设条件获取旋转矩阵,缩放矩阵和平移矩阵。
示例性的,预设公式为:
其中,r表示旋转矩阵,s表示缩放矩阵,t表示平移矩阵,m为三维人脸模型的三维特征点的坐标矩阵,x3为人脸特征点的二维坐标矩阵扩展后的三维坐标矩阵;
预设条件包括:
预设条件一:
rrt=i,
其中,r表示旋转矩阵;
预设条件二:
||σ(xi+x′i)||2<ε1,
其中,参照图8所示的坐标系,xi∈x,x′i∈x,x为该人脸的特征点的二维坐标矩阵,xi和x′i为该人脸上左右轴对称的两点的横坐标的值,ε1为预设的第一阈值。
根据该预设公式和预设条件可以得到公式:
s.t.rrt=i,(2)
||σ(xi+x′i)||2<ε1
根据公式(2)和给定的m,x3可以求得对应的r,s,t。
304、根据所述特征点的二维坐标和所述旋转矩阵,缩放矩阵和平移矩阵获取所述人脸的正面化后的特征点的二维坐标。
具体的,该过程可以为:
根据求得的r,s,t和x可以求得正面化后的人脸特征点的二维坐标矩阵x',计算公式为:
x'=srx+t,
其中,x为该人脸的特征点的二维坐标矩阵。
本发明实施例提供了一种人脸特征点的正面化方法,通过加入旋转相关的预设条件和左右轴对称相关的预设条件,使得正面化的特征点受人脸表情的影响较小,具有较高的精度。
实施例四
本发明实施例提供了一种人脸特征点的正面化方法,参照图4所示,方法流程包括:
401、获取人脸的特征点的二维坐标。
该步骤与步骤101相同,此处不再赘述。
402、获取预设三维人脸模型的特征点的三维坐标。
该步骤与步骤102相同,此处不再赘述。
403、根据所述特征点的二维坐标,预设三维人脸模型的特征点的三维坐标, 预设公式和预设条件,获取旋转矩阵,缩放矩阵和平移矩阵。
具体的,该过程可以为:
通过补零的方式将该特征点的二维坐标扩展至该特征点的三维坐标;
根据该扩展后的三维特征点的坐标,预设三维人脸模型的三维特征点的坐标,预设公式和预设条件获取旋转矩阵,缩放矩阵和平移矩阵。
示例性的,预设公式为:
其中,r表示旋转矩阵,s表示缩放矩阵,t表示平移矩阵,m为三维人脸模型的三维特征点的坐标矩阵,x3为人脸特征点的二维坐标矩阵扩展后的三维坐标矩阵;
预设条件包括:
预设条件一:
rrt=i,
其中,r表示旋转矩阵;
预设条件二:
||σ(xi+x′i)||2<ε1,
其中,参照图8所示的坐标系,xi∈x,x′i∈x,x为该人脸的特征点的二维坐标矩阵,xi和x′i为该人脸上左右轴对称的两点的横坐标的值,ε1为预设的第一阈值;
预设条件三:
||σ(yi-y′i)||2<ε2,
其中,参照图8所示的坐标系,yi∈x,y′i∈x,x为该人脸的特征点的二维坐标矩阵,yi和y′i为该人脸上左右轴对称的两点的纵坐标的值,ε2为预设的第二阈值。
根据该预设公式和预设条件可以得到公式:
s.t.rrt=i
||σ(xi+x′i)||2<ε1,(3)
||σ(yi-y′i)||2<ε2
根据公式(3)和给定的m,x3可以求得对应的r,s,t。
404、根据所述特征点的二维坐标和所述旋转矩阵,缩放矩阵和平移矩阵获取所述人脸的正面化后的特征点的二维坐标。
具体的,该过程可以为:
根据求得的r,s,t和x可以求得正面化后的人脸特征点的二维坐标矩阵x',计算公式为:
x'=srx+t,
其中,x为该人脸的特征点的二维坐标矩阵。
本发明实施例提供了一种人脸特征点的正面化方法,通过加入旋转相关的预设条件和左右轴对称相关的预设条件,使得正面化的特征点受人脸表情的影响较小,具有较高的精度。
实施例五
本发明实施例提供了一种人脸特征点的正面化方法,参照图5所示,方法流程包括:
501、获取人脸的特征点的二维坐标。
该步骤与步骤101相同,此处不再赘述。
502、获取预设三维人脸模型的特征点的三维坐标。
该步骤与步骤102相同,此处不再赘述。
503、根据所述特征点的二维坐标,预设三维人脸模型的特征点的三维坐标,预设公式和预设条件,获取旋转矩阵,缩放矩阵和平移矩阵。
具体的,该过程可以为:
通过补零的方式将该特征点的二维坐标扩展至该特征点的三维坐标;
根据该扩展后的三维特征点的坐标,预设三维人脸模型的三维特征点的坐标,预设公式和预设条件获取旋转矩阵,缩放矩阵和平移矩阵。
示例性的,预设公式为:
其中,r表示旋转矩阵,s表示缩放矩阵,t表示平移矩阵,m为三维人脸模型的三维特征点的坐标矩阵,x3为人脸特征点的二维坐标矩阵扩展后的三维坐标矩阵;
预设条件包括:
预设条件一:
rrt=i,
其中,r表示旋转矩阵;
预设条件二:
||σ(xi+x′i)||2<ε1,
其中,参照图8所示的坐标系,xi∈x,x′i∈x,x为该人脸的特征点的二维坐标矩阵,xi和x′i为该人脸上左右轴对称的两点的横坐标的值,ε1为预设的第一阈值;
预设条件三:
||σ(yi-y′i)||2<ε2,
其中,参照图8所示的坐标系,yi∈x,y′i∈x,x为该人脸的特征点的二维坐标矩阵,yi和y′i为该人脸上左右轴对称的两点的纵坐标的值,ε2为预设的第二阈值;
预设条件四:
||ye-yn|-y|<ε3,
其中,参照图8所示的坐标系,ye为该人脸中左眼内角对应的特征点的纵坐标的值,yn为该人脸中左鼻翼外侧对应的特征点的纵坐标的值,y是预设的所 述两个特征点之间纵坐标差值的极大值。
根据该预设公式和预设条件可以得到公式:
s.t.rrt=i
||σ(xi+x′i)||2<ε1,(4)
||σ(yi-y′i)||2<ε2
||ye-yn|-y|<ε3
根据公式(4)和给定的m,x3可以求得对应的r,s,t。
504、根据所述特征点的二维坐标和所述旋转矩阵,缩放矩阵和平移矩阵获取所述人脸的正面化后的特征点的二维坐标。
具体的,该过程可以为:
根据求得的r,s,t和x可以求得正面化后的人脸特征点的二维坐标矩阵x',计算公式为:
x'=srx+t,
其中,x为该人脸的特征点的二维坐标矩阵。
本发明实施例提供了一种人脸特征点的正面化方法,通过加入旋转相关的预设条件,左右轴对称相关的预设条件以及极值条件,使得正面化的特征点受人脸表情的影响较小,具有较高的精度。
实施例六
本发明实施例提供了一种电子设备,参照图6所示,该电子设备包括:
特征点的二维坐标获取模块601,用于获取人脸的特征点的二维坐标;
预设三维人脸模型的特征点的三维坐标获取模块602,用于获取预设三维人脸模型的特征点的三维坐标;
矩阵获取模块603,用于根据所述特征点的二维坐标,预设三维人脸模型的特征点的三维坐标,预设公式和预设条件,获取旋转矩阵,缩放矩阵和平移矩阵;
正面化模块604,用于根据所述特征点的二维坐标和所述旋转矩阵,缩放矩阵和平移矩阵获取所述人脸的正面化后的特征点的二维坐标。
可选的,所述设备还包括扩维模块605,用于通过补零的方式将所述特征点的二维坐标扩展为特征点的三维坐标。
可选的,所述三维人脸模型是正面化的三维人脸模型,所述三维人脸模型的特征点的三维坐标是正面化的特征点的三维坐标。
可选的,所述预设条件包括:
所述旋转矩阵为正交矩阵;
所述人脸的轴对称误差小于第一预设值;
所述人脸的水平误差小于第二预设值;以及,
所述人脸中相应特征点之间的高度差的极值中的至少一种。
本发明实施例提供了一种电子设备,通过加入一系列预设的条件,使得正面化的特征点受人脸表情的影响较小,具有较高的精度。
实施例七
本发明实施例提供了一种电子设备,参照图7所示,所述设备包括存储器701,以及与存储器701连接的处理器702,其中,存储器701用于存储一组程序代码,处理器702调用存储器701所存储的程序代码用于执行以下操作:
获取人脸的特征点的二维坐标;
获取预设三维人脸模型的特征点的三维坐标;
根据所述特征点的二维坐标,预设三维人脸模型的特征点的三维坐标,预设公式和预设条件,获取旋转矩阵,缩放矩阵和平移矩阵;
根据所述特征点的二维坐标和所述旋转矩阵,缩放矩阵和平移矩阵获取所述人脸的正面化后的特征点的二维坐标。
可选的,处理器702调用存储器701所存储的程序代码用于执行以下操作:
通过补零的方式将所述特征点的二维坐标扩展为特征点的三维坐标。
可选的,所述三维人脸模型的特征点的三维坐标是正面化的特征点的三维 坐标。
可选的,所述预设条件包括:
所述旋转矩阵为正交矩阵;
所述人脸的轴对称误差小于第一预设值;
所述人脸的水平误差小于第二预设值;以及,
所述人脸中相应特征点之间的高度差的极值中的至少一种。
本发明实施例提供了一种电子设备,通过加入一系列预设的条件,使得正面化的特征点受人脸表情的影响较小,具有较高的精度。
以上仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,本领域普通技术人员在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。