专利名称:一种在人脸的三维扫描数据中自动定位鼻尖点的方法
技术领域:
本发明涉及一种在人脸的三维扫描数据中自动定位鼻尖点的方法,尤其涉及一种 以双模板匹配为基础的,非正侧人脸的三维扫描数据中自动定位鼻尖点的方法。
背景技术:
近年来,随着三维扫描技术的逐渐成熟,三维人脸的识别、三维表情判定与模拟以 及三维人脸超分辨率等领域得到了长足的发展。鼻尖点是三维人脸数据中最为重要的特征 点之一,该点的精确定位在三维人脸识别的相关领域,尤其在预处理阶段以及模型对齐阶 段具有非常重要的作用。尽管近些年来国内外学者对自动定位三维人脸鼻尖点提出了不少算法,但对非正 侧朝向人脸的三维扫描数据中鼻尖点的快速、精确定位仍然是一个难点。然而在三维设备 采集人脸过程中,并不能确保总采集出正侧朝向的人脸的三维扫描数据,因为有的时候是 在被采集人员不知情的情况下采集,即使被采集人员非常配合也无法保证采集出完全正侧 的人脸的三维扫描数据,因此研究三维非正侧朝向人脸的三维扫描数据的鼻尖点的精确定 位有着重要的意义和实用价值。
发明内容
本发明提供一种基于双模板匹配的在人脸的三维扫描数据中自动定位鼻尖点的 方法,主要解决的是非正侧人脸的三维扫描数据中鼻尖点的自动定位问题。一种在人脸的三维扫描数据中自动定位鼻尖点的方法,其步骤如下(1)、双模板提取从正侧姿态的人脸的三维扫描数据的侧影线中,挑选满足一定 条件的侧影线,按一定规则从中提取两个点集作为模板ι和模板2,合称为双模板。(2)、侧影线簇的提取对每个 α e {-90,-85, -80,...... 85,90}、
β e {-60,-55,-50,...... 55,60},将待定位鼻尖点的人脸的三维扫描数据绕y轴旋转α
度,然后绕χ轴旋转β度,然后提取旋转之后的人脸的三维扫描数据的侧影线。得到37X25 =925条侧影线组成的侧影线簇。(3)、侧影线重构对第(2)步得到的人脸的三维扫描数据的侧影线簇中的每条侧 影线,计算侧影线上每个点的导数,根据一定规则删除侧影线中点和在侧影线中插入新的
点ο(4)、双模板匹配按一定规则对第(3)步中重构过的侧影线簇中每条侧影线进行 双模板匹配,根据匹配结果,按一定规则定位三维人脸扫描数据中的鼻尖点。步骤(1)中正侧姿态的人脸,是人脸朝向与三维扫描设备的ζ轴平行,且双眼连线 与三维扫描设备y轴垂直的人脸。步骤⑴中三维扫描数据的侧影线,是如下二维数据点的集合{(x, i) Subi(S)不为空集,且 χ 等于 Hiaxi(S). ζ}其中S是三维扫描数据中所有点的集合,
5
Subi(Sp)是如下点集合{(χ, y, z) I (X,y, z) G Sp,且 y e [i, i+1)}Iiiaxi(S) (χ, y, ζ)是如下点Iiiaxi (S) (x, y, ζ) e Subi (S)且VjA G Sttfei(S), Hiaxi (S) · ζ 彡 Α· ζ步骤⑴中满足一定条件的侧影线是侧影线P,3t0i,i) e p,b(x, i) e p,满足ti=[Tf.y\, Tf_y是提取此侧影线的人脸的三维扫描数据的鼻尖点的y坐标b.i=l~.yj,Bf.y是提取此侧影线的人脸的三维扫描数据的鼻基点的y坐标且0. 55 彡 I (t. i-b. i) / (t. x-b. χ) | ^ 0. 65,55 < -b.i)χ (t.i - b.i) - (t.x -b.x)χ (t.x -b.x) < 65 ,步骤(1)中按一定规则选择两个点集作为模板1和模板2,模板1是如下点集合{m(x, i) |m(x,i) e P,0 ^ m. i-t. i 彡 30 或者 0 < t. i-m. i 彡 9}模板2是如下点集合{m(x, i) |m(x,i) e P,0 ^ m. i-b. i 彡 6 或者 0 < t. i-b. i 彡 31}tl=[7>. jj, Tf.y是提取此侧影线的人脸的三维扫描数据的鼻尖点的y坐标是提取此侧影线的人脸的三维扫描数据的鼻基点的y坐标步骤(3)中导数定义如下,a' = b. x-a. χa'为点a(x,i)处的导数,b(x,i)是满足如下条件的点b(x,i) e P 且 b. i = a. i-1如果b不存在,则a'不存在步骤(3)中所述根据一定规则删除侧影线中点和在侧影线中插入新的点,删除或 插入点规则是将P中点(χ,i)按i坐标值从大到小排序,并从序列第20个点,即纵坐标第20大 的点,按纵坐标从大到小开始遍历,如果某点a导数a'大于3,则删除点a和离点a最近且 i坐标大于a的i_2 X afj个点,但最多不超过15个,记删除点之前序列中a的下一个遍历点 为b,在b及删除点之后序列中b上一点之间插入新点。然后再从b开始遍历,直到倒数第 二个点,如果遇到导数大于3的点重复上述插入新点操作。第一次遍历后,再从新序列第1个点,开始遍历,如果某点a的导数a'小于_3,记 序列中a的下一点遍历点为b,在序列a,b之间插入新的点。然后再从b开始遍历,直到倒 数第2个点,如果遇到导数小于_3的点重复上述插入新点操作。步骤(4)所述按一定规则对第(3)步中重构过的侧影线簇中每条侧影线进行双模 板匹配,规则是将模板1,2和侧影线按i坐标从大到小排序,首先使用模板1进行匹配,找到最佳 匹配位置(模板与侧影线对应点误差平方和最小),再使用模板2进行匹配,从侧影线第一 点到模板1的最佳匹配位置之间找到模板2的最佳匹配位置。匹配结果是模板1的最小误 差平方和加上模板2的最小误差平方和。
6
步骤(4)所述按一定规则定位人脸的三维扫描数据中的鼻尖点,规则如下S是等定位鼻尖点的人脸的三维扫描数据中所有点的集合P是S的侧影线簇中匹配结果最小的侧影线,Sp是提取出侧影线P的人脸的三维扫描数据中所有点的集合(由S或者S经过旋 转得到)t' (1,1)£ ,且1 (x,i)是模板1与P最佳匹配时t(x,i)对应匹配的点,其 中 t(x,i) e IIi1,且ti=[7).yj,Tf.y是提取出的侧影线Pml的人脸的三维扫描数据的鼻尖点的y坐标Pffll是提取出模板1的侧影线Subi(Sp)是如下点集合{(χ, y, ζ) I (X,y, z) G Sp,且 y e [i, i+1)}Hiaxi(Sp)是如下点Iiiaxi (Sp) e Subi (S)且VJ € Slifoi(Sp), Α· ζ 彡 Hiaxi (Sp). ζT(x,y, ζ) e Subt, . i (Sp),且¥
权利要求
一种在人脸的三维扫描数据中自动定位鼻尖点的方法,其步骤如下(1)双模板提取从正侧姿态的人脸的三维扫描数据的侧影线中,挑选满足一定条件的侧影线,按一定规则从中提取两个点集作为模板1和模板2,合称为双模板;(2)侧影线簇的提取对每个α∈{ 90, 85, 80,......85,90}、β∈{ 60, 55, 50,......55,60},将待定位鼻尖点的人脸的三维扫描数据绕y轴旋转α度,然后绕x轴旋转β度,然后提取旋转之后的人脸的三维扫描数据的侧影线,得到37×25=925条侧影线组成的侧影线簇;(3)侧影线重构对第(2)步得到的人脸的三维扫描数据的侧影线簇中的每条侧影线,计算侧影线上每个点的导数,根据一定规则删除侧影线中点和在侧影线中插入新的点;(4)双模板匹配按一定规则对第(3)步中重构过的侧影线簇中每条侧影线进行双模板匹配,根据匹配结果,按一定规则定位三维人脸扫描数据中的鼻尖点。
2.根据权利要求1所述的一种在人脸的三维扫描数据中自动定位鼻尖点的方法,其特 征是步骤(1)中正侧姿态的人脸,是人脸朝向与三维扫描设备的ζ轴平行,且双眼连线与 三维扫描设备y轴垂直的人脸。
3.根据权利要求1所述的一种在人脸的三维扫描数据中自动定位鼻尖点的方法,其特 征是步骤(1)中三维扫描数据的侧影线,是如下二维数据点的集合{(X,i) I Subi (S)不为空集,且 χ 等于 Hiaxi (S) · ζ} 其中S是三维扫描数据中所有点的集合, Subi(S)是如下点集合 {(x,y, z) I (x,y, ζ) G S,且 ye [i, i+1)} Iiiaxi (S) (χ, y, ζ)是如下点Hiaxi (S) (χ, y, ζ) e Subi (S)且VA E Stt^(S)j Iiiaxi (S) · ζ 彡 Α· ζ。
4.根据权利要求1所述的一种在人脸的三维扫描数据中自动定位鼻尖点的方法,其特 征是步骤(1)中满足一定条件的侧影线是侧影线 P,3tOU) G P,:b(x, i) e P,满足ti=ll>.3^|, Tf.y是提取此侧影线的人脸的三维扫描数据的鼻尖点的y坐标,bi=l%.yj,Bf.y是提取此侧影线的人脸的三维扫描数据的鼻基点的y坐标,且 0. 55 彡 I (t. i-b. i)/(t. x-b. χ) | ( 0. 65,55 < yj[t.i -b.i)χ (t.i -b.i) - {t.x -b.x)χ (广χ — b.x) <65 ο
5.根据权利要求1所述的一种在人脸的三维扫描数据中自动定位鼻尖点的方法,其特 征是步骤(1)中按一定规则选择两个点集做为模板1和模板2,模板1是如下点集合{m(x, i) |m(x,i) e P,0 ^ m. i-t. i 彡 30 或者 0 < t. i-m. i 彡 9} 模板2是如下点集合{m(x, i) |m(x,i) e P,0 ^ m. i-b. i 彡 6 或者 0 < t. i-b. i 彡 31} ti=ll}.yj,Tf.y是提取此侧影线的人脸的三维扫描数据的鼻尖点的y坐标, b.i^^.yj, Bf.y是提取此侧影线的人脸的三维扫描数据的鼻基点的y坐标。
6.根据权利要求1所述的一种在人脸的三维扫描数据中自动定位鼻尖点的方法,其特征是步骤(3)中导数定义如下, a' = b. χ-a. χa'点a(x,i)处的导数,b(x,i)是满足如下条件的点 b(x, i) e P 且 b. i = a. i-1 如果b不存在,则a'不存在。
7.根据权利要求1所述的一种在人脸的三维扫描数据中自动定位鼻尖点的方法,其特 征是步骤(3)中所述根据一定规则删除侧影线中点和在侧影线中插入新的点,删除或插 入点规则是将P中点(χ,i)按i坐标值从大到小排序,并从序列第20个点,即纵坐标第20大的 点,按纵坐标从大到小开始遍历,如果某点a导数a'大于3,则删除点a和离点a最近且i 坐标大于a的12 X Yj个点,但最多不超过15个,记删除点之前序列中a的下一个遍历点 为b,在b及删除点之后序列中b上一点之间插入新点。然后再从b开始遍历,直到倒数第 二个点,如果遇到导数大于3的点重复上述插入新点操作;第一次遍历后,再从新序列第1个点,开始遍历,如果某点a的导数a'小于_3,记序列 中a的下一点遍历点为b,在序列a,b之间插入新的点。然后再从b开始遍历,直到倒数第 2个点,如果遇到导数小于_3的点重复上述插入新点操作。
8.根据权利要求1所述的一种在人脸的三维扫描数据中自动定位鼻尖点的方法,其特 征是步骤(4)所述按一定规则对第(3)步中重构过的侧影线簇中每条侧影线进行双模板 匹配,规则是将模板1,2和侧影线按i坐标从大到小排序,首先使用模板1进行匹配,找到最佳匹配 位置,即模板与侧影线对应点误差平方和最小的位置,再使用模板2进行匹配,从侧影线第 一点到模板1的最佳匹配位置之间找到模板2的最佳匹配位置,匹配结果是模板1的最小 误差平方和加上模板2的最小误差平方和。
9.根据权利要求1所述的一种在人脸的三维扫描数据中自动定位鼻尖点的方法,其特 征是步骤(4)所述按一定规则定位人脸的三维扫描数据中的鼻尖点,规则如下S是等定位鼻尖点的人脸的三维扫描数据中所有点的集合, P是S的侧影线簇中匹配结果最小的侧影线,Sp是提取出侧影线P的人脸的三维扫描数据中所有点的集合,该集合由S或者S经过 旋转得到;t' (1,1)£ ,且1 (X,i)是模板1与P最佳匹配时t(x,i)对应匹配的点,其中t(x,i) e Hi1,且Ii=I1T^yj,Tf.y是提取出的侧影线Pml的人脸的三维扫描数据的鼻尖点的y坐标,Pffll是提取出模板1的侧影线,Subi(Sp)是如下点集合{(X,y,z) I (x,y,z) e Sp,且 y e [i,i+1)}Hiaxi(Sp)是如下点Hiaxi (Sp) e Subi (S)且€ Sttfci(Sp), Hiaxi (Sp). ζ T (χ, y, ζ) e Subt,」(Sp),且 VT'E Sulvii(Sp)J. ζ ^ T' .ζ如果Sp就是S,那么T (x, y,ζ)就是鼻尖点,如果Sp同S旋转得到,则,S中一点Ts旋转 得到1~0^,7,2),那么Ts就是鼻尖。
全文摘要
本发明公开了一种在人脸的三维扫描数据中定位鼻尖点的方法,其步骤如下(1)双模板提取;(2)侧影线簇的提取;(3)侧影线重构;(4)双模板匹配;(5)定位鼻尖点。本发明的有益的效果是可以在人脸的三维扫描数据中自动、准确地定位鼻尖点。
文档编号G06K9/64GK101976355SQ20101029677
公开日2011年2月16日 申请日期2010年9月26日 优先权日2010年9月26日
发明者傅俊康, 潘纲, 韩松 申请人:浙江大学