著录项信息
专利名称 | 一种人脸跟踪方法 |
申请号 | CN201010237424.1 | 申请日期 | 2010-07-27 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2011-02-09 | 公开/公告号 | CN101968846A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06K9/00 | IPC分类号 | G;0;6;K;9;/;0;0;;;G;0;6;K;9;/;6;2查看分类表>
|
申请人 | 上海摩比源软件技术有限公司 | 申请人地址 | 上海市杨浦区民京路853号1幢564室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 上海影随网络科技有限公司 | 当前权利人 | 上海影随网络科技有限公司 |
发明人 | 唐霖;董初宁;姜涛 |
代理机构 | 上海君铁泰知识产权代理事务所(普通合伙) | 代理人 | 潘建玲 |
摘要
本发明公开的是一种人脸跟踪方法,包含离线训练方法和在线跟踪方法;离线训练方法包含多层结构人脸模型训练方法和人脸特征点的离线模板训练方法;多层结构人脸模型训练方法为在线跟踪方法提供人脸模型,离线模板训练方法为在线跟踪方法提供人脸特征点离线模板;多层结构人脸模型训练方法包含如下步骤:选取适当的人脸图像作为训练样本;对人脸图像的特征点进行标记;得到基准形状模型;得到全局形状模型;得到局部形状模型。本发明属于生物特征识别技术领域,广泛应用于各种人脸跟踪与比对系统。
1.一种人脸跟踪方法,其特征在于,包含:
离线训练方法和在线跟踪方法;
该离线训练方法包含多层结构人脸模型训练方法和人脸特征点的离线模板训练方法;
该多层结构人脸模型训练方法为该在线跟踪方法提供人脸模型,该离线模板训练方法为该在线跟踪方法提供人脸特征点离线模板;
该多层结构人脸模型训练方法包含如下步骤:
步骤301,选取适当的人脸图像作为训练样本;
步骤302,对人脸图像的特征点进行标记;
步骤3031-3061,得到基准形状模型;
步骤3032-3062,得到全局形状模型;
步骤3033-3063,得到局部形状模型,
所述基准形状模型、该全局形状模型与该局部形状模型的获得方法为:
用s表示一个人脸形状向量:
其中,为平均人脸形状;P为一组正交的主形状变化模式;b为形状参数向量;
T
人脸形状向量s表示为(sR,sG,sL),其中sR、sG和sL分别表示基准特征点、全局特征点和局部特征点;
基准形状模型的点分布模型
全局形状模型的点分布模型
局部形状模型的点分布模型
第i个局部形状向量为sGi,Li={sGi,sLi},其中sGi,sLi分别表示属于第i个局部形状的全局和局部特征点;
所述人脸特征点的表达方法为:
给定灰度图像 中的一个像素 其附近的局部图像 中的像素为
一系列Gabor系数 表达该点附近的局部外观,定义为:
其中Gabor核ψj为高斯包络函数限定的平面波,
其中,kv为频率, 为方向,kj为特征小波矢量,kjx为特征小波x方向矢量,kjy为特征小波y方向矢量,v=0,1,...,9,μ=0,1,...,7,j=μ+8v, 且频率波宽设为σ=2π;
Gabor核由10个频率、8个方向组成80个Gabor复系数,用以表达像素点附近的外观特征,用一个jet向量 表示这些系数,Jj=αjexp(iφj),j=0,1,...,79,其中,αj和φj分别为第j个Gabor系数的幅值和相位;
对80个Gabor复系数进行实验筛选,得到该人脸特征点表达所用的小波特征;
所述人脸特征点的离线模板训练方法如下:
步骤401,选取N张适当的人脸图像作为训练样本;
步骤402,对人脸图像的特征点进行标记;
步骤403,对图像进行归一化处理;
步骤404,计算所有样本的Gabor特征;
步骤405,获得各样本Gabor特征之间的相似度;
其中,和 为Gabor特征,α′j和 分别为Gabor系数的幅值和相位;为 和 之间的相对位移;
如果ΓxxΓyy-ΓxyΓyx≠0,其中
Φx=∑jαjα′jkjx(φj-φ′j),
Γxy=∑jαjα′jkjxkjy,
Φy,Γxx,Γyx和Γyy类似地进行定义;
对每个特征点,计算N个Gabor特征两两之间的相似度,当其相似度大于阈值ST时即认为两者相似,ST通过实验选取,选取0.85;
步骤406,计算各样本Gabor特征的相似特征数n;
步骤407,选择n最大的样本Gabor特征;
步骤408,判断n是否大于nT;
若步骤408的判断结果为否,则执行步骤411,处理下一特征点,然后返回步骤404继续执行;
若步骤408的判断结果为是,则执行步骤409,将Gabor特征加入离线模板;对每一个Gabor特征,设有ni个与其相似的Gabor特征,将ni值最大且大于阈值nT的Gabor特征加入样本特征集 nT也通过实验选取,选取nT=2;
步骤410,将该Gabor特征从样本中删除,同时将与其相似度大于阈值ST’的Gabor特征从 中删除,ST’大于ST,选取0.9;
返回步骤405,对步骤405-409作迭代计算;对 重复上述过程,直到选不出样本为止;
最终的样本特征集 即为该人脸特征点的特征样本,作为人脸特征的离线模板提供给该在线跟踪方法使用;
所述在线跟踪方法包含:
步骤501,初始化,初始化变量和参数设置,参数包含但不限于图像格式、分辨率、颜色空间,跟踪模式;
步骤502,输入一帧图像;
步骤503,图像归一化,将输入图像转换成标准尺寸的图像;
步骤504,判断是否重新检测;
若步骤504的判断结果为是,则执行步骤505,利用基准形状模型,基于ASM形状约束,对齐基准特征点;
步骤506,利用全局形状模型,基于ASM形状约束,对齐全局特征点;
步骤507,利用局部形状模型,基于ASM形状约束,对齐局部特征点;
步骤508,更新在线特征模板,根据得到的脸部特征点的位置更新其小波特征作为该人脸的在线特征模板;
步骤515,估计人脸姿态,根据六个基础点的位置估计人脸的姿态;
返回步骤502循环执行在线跟踪方法步骤502至步骤508以及步骤515并执行步骤
516,输出人脸特征点及人脸姿态信息;
若步骤504的判断结果若为否,则执行步骤509,基于在线特征模板更新眼角点;
然后执行步骤510,基于离线特征模板调整眼角点;
然后执行步骤511,更新其他特征点;
然后执行步骤512,根据前一帧的人脸姿态更新各形状模型的平均形状;
然后执行步骤513,基于形状约束更新全局特征点;
然后执行步骤514,基于形状约束更新局部特征点;
然后返回步骤508,继续执行在线跟踪方法步骤509至步骤514。
2.根据权利要求1所述的人脸跟踪方法,其特征在于,该步骤505对齐基准特征点的具体方法为:
对图像进行归一化预处理;
根据双眼的位置确定刚性基准点的位置;
刚性基准点的精度根据其Gabor特征与离线特征模板的相似度进行判断;具体判断步骤如下:
(1)对每一刚性基准点i,计算其当前位置 的Gabor特征
(2)计算 与离线特征模板 中每个Gabor特征的相似度,取相似度最大者作为 与模板的相似度Si,并获得其相对位移为
(3)当满足以下条件之一时,迭代过程结束,否则转入步骤(4):a)所有刚性基准点的平均相似度 小于上一次迭代的平均相似度 b)90%以上的点的绝对位移值足够小,即这里阈值dT根据所需保证的精度确定,选取dT=2;
(4)对相对位移值 进行限定,减少突变误差,使得|dxi|≤dxT,|dyi|≤dyT,这里阈值dxT和dyT根据所需保证的精度确定,选取dxT=dyT=10;
(5)根据 对刚性基准点坐标进行更新:
(6)根据更新的坐标 和基准形状模型更新形状参数;根据更新的形状参数获得新的刚性基准点坐标值;
(7)迭代次数t增加1次,若t超过阈值,则迭代过程结束,否则转入步骤(1)。
3.根据权利要求1所述的人脸跟踪方法,其特征在于,该步骤515估计人脸姿态的具体步骤如下:
1)基于基准特征点构建N个三角形,选择任意三个非共线性的特征点组成一个三角形Ti,对每一个Ti,构建一个局部坐标系统Ct;
2)由每个三角形获得投影矩阵M;图像坐标与局部坐标系统Ct的关系表示为其中,(c,r)表示坐标系统Ct中三维点(xt,yt,0)的投影图像,(c0,r0)是参考点(xt0,yt0,0)的投影图像,M是2×2的投影矩阵;
3)计算完全投影矩阵的投影偏差;根据完全投影矩阵Pi将特征点的三维坐标投影到图像中,进而获得其与实际特征点图像坐标的偏差derror;如果derror大于阈值d,则删除该矩
2
阵;否则保留该矩阵,并设置其权重为ωi=(d-derror) ;
4)加权得到最终结果;通过对N个三角形的检测,最终得到K个完全投影矩阵Pi,i=
1…K,及其对应的权重ωi,i=1…K。对每个Pi,可得到唯一的一组参数;最终的人脸姿态参数为:
4.如权利要求1所述的人脸跟踪方法,其特征在于,该步骤510的具体计算方法为:
根据离线特征模板对眼角特征点进行再修正:
对于眼角特征点 计算在线特征模板 与离线特征模板 的相似度S′i
和位移
眼角特征点进一步修正为 其中ε为相似度调整值,ε
=0.55。
5.如权利要求1所述的人脸跟踪方法,其特征在于,该步骤503的图像归一化的方法为:根据双眼的位置,得到双眼的中点作为基准点,双眼的连线作为图像的横轴,双眼连线的中垂线作为纵轴,对图像进行旋转,对图像进行缩放以使双眼之间的距离达到一特定值。
6.根据权利要求1所述的人脸跟踪方法,其特征在于,
该基准特征点为表情变化时不发生运动的特征点,包括:眼角、鼻端;
该全局特征点包括八个基准特征点和受表情影响较小的点,包括:嘴角、眉尖;
该局部特征点包括:左眼、右眼、嘴、鼻的轮廓点;
左眼、右眼轮廓点至少包括如下之一:眼角、上、下眼睑;
嘴轮廓点至少包括如下之一:两个嘴角、上/下唇的中点,上/下唇中点与嘴角之间的轮廓点。
一种人脸跟踪方法\n技术领域\n[0001] 本发明涉及生物特征识别技术领域,尤其涉及一种人脸跟踪方法。\n背景技术\n[0002] 人脸是人的重要信息,是区分不同的人的重要依据。人脸跟踪是在连续的视频序列中跟踪一个或多个人脸。\n[0003] 人脸跟踪在很多场合下都具有非常重要的作用,例如手机彩信中的视频彩信、人机界面、权限控制、智能监视系统等。跟踪的准确性、精度和鲁棒性问题一直是业界关心的主要问题。\n[0004] 解决人脸跟踪问题的难点很多,如人脸表情变化、人脸的姿态变化、光照变化、面部遮挡等等。其中,人脸表情与姿态变化是所有人脸跟踪技术的普遍问题。现有技术往往只能解决两者之一。\n[0005] 因此,业界急需一种能够解除人脸表情变化、姿态变化影响的人脸跟踪技术。\n发明内容\n[0006] 为弥补现有技术的不足,本发明目的是提供一种人脸跟踪方法,解决人脸表情变化和姿态变化的影响,提高人脸跟踪的准确性、精度和鲁棒性。\n[0007] 为了实现上述目的,本发明的技术方案如下:\n[0008] 一种人脸跟踪方法,其特征在于,包含:\n[0009] 离线训练方法和在线跟踪方法;\n[0010] 该离线训练方法包含多层结构人脸模型训练方法和人脸特征点的离线模板训练方法;该多层结构人脸模型训练方法为该在线跟踪方法提供人脸模型,该离线模板训练方法为该在线跟踪方法提供人脸特征点离线模板;\n[0011] 该多层结构人脸模型训练方法包含如下步骤:步骤301,选取适当的人脸图像作为训练样本;步骤302,对人脸图像的特征点进行标记;步骤3031-3061,得到基准形状模型;步骤3032-3062,得到全局形状模型;步骤3033-3063,得到局部形状模型。\n[0012] 其中,该基准形状模型、该全局形状模型与该局部形状模型的获得方法为:\n[0013] 用s表示一个人脸形状向量:\n[0014] \n[0015] 其中,为平均人脸形状;P为一组正交的主形状变化模式;b为形状参数向量;\n[0016] 人脸形状向量s表示为(sR,sG,sL)T,其中sR、sG和sL分别表示基准特征点、全局特征点和局部特征点;\n[0017] 刚性基准形状的点分布模型\n[0018] 全局基准形状的点分布模型\n[0019] 局部形状模型的点分布模型\n[0020] 第i个局部形状向量为sGi,Li={sGi,sLi},其中sGi,sLi分别表示属于第i个局部形状的全局和局部特征点;\n[0021] 该人脸特征点的表达方法为:\n[0022] 给定灰度图像 中的一个像素 其附近的局部图像 中的像素为\n一系列Gabor系数 表达该点附近的局部外观,定义为:\n[0023] \n[0024] 其中Gabor核ψj为高斯包络函数限定的平面波,\n[0025] \n[0026] \n[0027] 其中,kv为频率, 为方向,kj为特征小波矢量,kjx为特征小波x方向矢量,kjy为特征小波y方向矢量,v=0,1,...,9,μ=0,1,...,7,j=μ+8v, 且频率波宽设为σ=2π;\n[0028] Gabor核由10个频率、8个方向组成80个Gabor复系数,用以表达像素点附近的外观特征,用一个jet向量 表示这些系数,Jj=αjexp(iφj),j=0,1,...,79[0029] 其中,αj和φj分别为第j个Gabor系数的幅值和相位;\n[0030] 对80个Gabor复系数进行实验筛选,得到该人脸特征点表达所用的小波特征,[0031] 该人脸特征点的离线模板训练方法如下:\n[0032] 步骤401,选取N张适当的人脸图像作为训练样本;\n[0033] 步骤402,对人脸图像的特征点进行标记;\n[0034] 步骤403,对图像进行归一化处理;\n[0035] 步骤404,计算所有样本的Gabor特征;\n[0036] 步骤405,获得各样本Gabor特征之间的相似度;\n[0037] \n[0038] 其中,和 为Gabor特征,α′j和 分别为Gabor系数的幅值和相位;为 和之间的相对位移;\n[0039] \n[0040] 如果ΓxxΓyy-ΓxyΓyx≠0,其中\n[0041] Φx=∑jαjα′jkjx(φj-φ′j),\n[0042] Γxy=∑jαjα′jkjxkjy,\n[0043] Φy,Γxx,Γyx和Γyy类似地进行定义;\n[0044] 对每个特征点,计算N个Gabor特征两两之间的相似度,当其相似度大于阈值ST时即认为两者相似,ST通过实验选取,选取0.85;\n[0045] 步骤406,计算各样本Gabor特征的相似特征数n;\n[0046] 步骤407,选择n最大的样本Gabor特征;\n[0047] 步骤408,判断n是否大于nT;\n[0048] 若步骤408的判断结果为否,则执行步骤411,处理下一特征点,然后返回步骤404继续执行;\n[0049] 若步骤408的判断结果为是,则执行步骤409,将Gabor特征加入离线模板;对每一个Gabor特征,设有ni个与其相似的Gabor特征,将ni值最大且大于阈值nT的Gabor特征加入样本特征集 nT也通过实验选取,选取nT=2;\n[0050] 步骤410,将该Gabor特征从样本中删除,同时将与其相似度大于阈值ST’的Gabor特征从 中删除,ST’大于ST,选取0.9;\n[0051] 返回步骤405,对步骤405-409作迭代计算;对 重复上述过程,直到选不出样本为止;\n[0052] 最终的样本特征集 即为该人脸特征点的特征样本,作为人脸特征的离线模板提供给该在线跟踪方法使用;\n[0053] 该在线跟踪方法包含:\n[0054] 步骤501,初始化,初始化变量和参数设置,参数包含但不限于图像格式、分辨率、颜色空间,跟踪模式;\n[0055] 步骤502,输入一帧图像;\n[0056] 步骤503,图像归一化,将输入图像转换成标准尺寸的图像;\n[0057] 步骤504,判断是否重新检测;\n[0058] 若步骤504的判断结果为是,则执行步骤505,利用基准形状模型,基于ASM形状约束,对齐基准特征点;\n[0059] 步骤506,利用全局形状模型,基于ASM形状约束,对齐全局特征点;\n[0060] 步骤507,利用局部形状模型,基于ASM形状约束,对齐局部特征点;\n[0061] 步骤508,更新在线特征模板,根据得到的脸部特征点的位置更新其小波特征作为该人脸的在线特征模板;\n[0062] 步骤515,估计人脸姿态,根据六个基础点的位置估计人脸的姿态;\n[0063] 返回步骤502循环执行在线跟踪方法的步骤502至步骤508以及步骤515并执行步骤516,输出人脸特征点及人脸姿态信息;\n[0064] 若步骤504的判断结果若为否,则执行步骤509,基于在线特征模板更新眼角点;\n[0065] 然后执行步骤510,基于离线特征模板调整眼角点;\n[0066] 然后执行步骤511,更新其他特征点;\n[0067] 然后执行步骤512,根据前一帧的人脸姿态更新各形状模型的平均形状;\n[0068] 然后执行步骤513,基于形状约束更新全局特征点;\n[0069] 然后执行步骤514,基于形状约束更新局部特征点;\n[0070] 然后返回步骤508,继续执行在线跟踪方法的步骤509至步骤514。\n[0071] 其中,该步骤505对齐基准特征点的具体方法为:\n[0072] 对图像进行归一化预处理;\n[0073] 根据双眼的位置确定刚性基准点的位置;\n[0074] 刚性基准点的精度根据其Gabor特征与离线特征模板的相似度进行判断;具体判断步骤如下:\n[0075] (1)对每一刚性基准点i,计算其当前位置 的Gabor特征\n[0076] (2)计算 与离线特征模板 中每个Gabor特征的相似度,取相似度最大者作为与模板的相似度Si,并获得其相对位移为\n[0077] (3)当满足以下条件之一时,迭代过程结束,否则转入步骤(4):a)所有刚性基准点的平均相似度 小于上一次迭代的平均相似度 b)90%以上的点的绝对位移值足够小,即 这里阈值dT根据所需保证的精度确定,如可选dT=2;\n[0078] (4)对相对位移值 进行限定,减少突变误差,使得|dxi|≤dxT,|dyi|≤dyT,这里阈值dxT和dyT根据所需保证的精度确定,如可选dxT=dyT=10;\n[0079] (5)根据 对刚性基准点坐标进行更新:\n[0080] (6)根据更新的坐标 和基准形状模型更新形状参数;根据更新的形状参数获得新的刚性基准点坐标值;\n[0081] (7)迭代次数t增加1次,若t超过阈值,则迭代过程结束,否则转入步骤(1)。\n[0082] 其中,该步骤515估计人脸姿态的具体步骤如下:\n[0083] 1)基于基准特征点构建N个三角形。选择任意三个非共线性的特征点组成一个三角形Ti,对每一个Ti,构建一个局部坐标系统Ct;\n[0084] 2)由每个三角形获得投影矩阵M;图像坐标与局部坐标系统Ct的关系表示为[0085] \n[0086] 其中,(c,r)表示坐标系统Ct中三维点(xt,yt,0)的投影图像,(c0,r0)是参考点(xt0,yt0,0)的投影图像,M是2×2的投影矩阵;\n[0087] 3)计算完全投影矩阵的投影偏差;根据完全投影矩阵Pi将特征点的三维坐标投影到图像中,进而获得其与实际特征点图像坐标的偏差derror;如果derror大于阈值d,则删除\n2\n该矩阵;否则保留该矩阵,并设置其权重为ωi=(d-derror) ;\n[0088] 4)加权得到最终结果;通过对N个三角形的检测,最终得到K个完全投影矩阵Pi,i=1…K,及其对应的权重ωi,1=1…K。对每个Pi,可得到唯一的一组参数;最终的人脸姿态参数为:\n[0089] \n[0090] 其中,该步骤510的具体计算方法为:\n[0091] 根据离线特征模板对眼角特征点进行再修正:\n[0092] 对于眼角特征点 计算在线特征模板 与离线特征模板 的相似度\nS′i和位移\n[0093] 眼角特征点进一步修正为 其中ε为相似度调整\n值,根据精度要求进行设置,如优选可设为ε=0.55。\n[0094] 其中,该步骤503的图像归一化的方法为:根据双眼的位置,得到双眼的中点作为基准点,双眼的连线作为图像的横轴,双眼连线的中垂线作为纵轴,对图像进行旋转,对图像进行缩放以使双眼之间的距离达到一特定值。\n[0095] 其中,该基准特征点为表情变化时不发生运动的特征点,包括:眼角、鼻端;\n[0096] 该全局特征点包括八个基准特征点和受表情影响较小的点,包括:嘴角、眉尖;\n[0097] 该局部特征点包括:左眼、右眼、嘴、鼻的轮廓点;左眼、右眼轮廓点至少包括如下之一:眼角、上、下眼睑;嘴轮廓点至少包括如下之一:两个嘴角、上/下唇的中点,上/下唇中点与嘴角之间的轮廓点。\n附图说明\n[0098] 下面结合附图,通过对本发明的具体实施方式的详细描述,将使本发明的技术方案及其他有益效果显而易见。\n[0099] 图1为本发明人脸跟踪方法的组成框架图;\n[0100] 图2为本发明的人脸特征点示意图;\n[0101] 图3为本发明多层结构人脸模型训练方法的流程图;\n[0102] 图4为本发明人脸特征点的离线模板训练方法流程图;\n[0103] 图5为本发明人脸跟踪方法的流程图。\n具体实施方式\n[0104] 为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面进一步阐述本发明。\n[0105] 图1表示了本发明方法的组成框架。本发明人脸跟踪方法包含离线训练方法102和在线跟踪方法101两部分。离线训练方法102包含:多层结构人脸模型训练方法1021和人脸特征点的离线模板训练方法1022;前者为在线跟踪方法101提供人脸模型103,后者为人脸跟踪方法101提供人脸特征点离线模板104。\n[0106] 图2为本发明人脸特征点示意图。图3为本发明多层结构人脸模型训练方法的流程图。下面结合图2与图3详细说明本发明多层结构人脸模型训练方法。\n[0107] 人的面部特征具有很大的相似性,这些特征点的相对运动表达了人脸表情和人脸姿态的变化。给定这些人脸的特征点,用人脸特征点集的统计关系表示人脸模型,即可以构建出一个点分布模型(PDM)来表达人脸的可能的形状变化。\n[0108] 本发明基于ASM的原理,从一系列人脸图像训练得到多层结构人脸模型。\n[0109] 多层结构人脸模型训练方法首先执行步骤301,选取适当的人脸图像作为训练样本。然后执行步骤302,对人脸图像的特征点进行标记。\n[0110] 然后执行步骤3031-3061,得到基准形状模型。具体为:步骤3031,基于刚性基准点组成形状向量,来表示基准特征点的位置;然后执行步骤3041,根据Procrustes变换对齐所有形状向量到一个统一的坐标框架下;然后执行步骤3051,由PCA方法获得形状约束参数,步骤3061,得到基准形状模型。\n[0111] 执行步骤3032-3062,得到全局形状模型。具体为:步骤3032,基于全局基准点组成形状向量,来表示全局特征点的位置;然后执行步骤3042,根据Procrustes变换对齐所有形状向量到一个统一的坐标框架下;然后执行步骤3052,由PCA方法获得形状约束参数,步骤3062,得到全局形状模型。\n[0112] 执行步骤3033-3063,得到局部形状模型。具体为:步骤3033,基于局部基准点组成形状向量,来表示局部特征点的位置;然后执行步骤3043,根据Procrustes变换对齐所有形状向量到一个统一的坐标框架下;然后执行步骤3053,由PCA方法获得形状约束参数,步骤3063,得到局部形状模型。\n[0113] 步骤3031-3061、步骤3032-3062和步骤3033-3063的计算方法具体为:\n[0114] 用向量s表示一个人脸形状:\n[0115] \n[0116] 其中,为平均人脸形状;P为一组正交的主形状变化模式;b为形状参数向量。\n[0117] 现有的ASM方法通过迭代过程搜索人脸形状,迭代中所有的特征点位置同时更新,也就是说特征点之间的相互影响是简单的平行关系。鉴于人脸的复杂结构,以及表情丰富的特点,这种简单的平行机制并不足以描述特征点之间的相互关系。例如,假设眼角位置固定,则眼睛的开闭并不能影响口、鼻的特征点定位。\n[0118] 本发明将人脸特征点组织为多个层次,以更好地适应头部运动、表情变化等对特征点位置的不同影响,我们称为多层结构人脸模型。第一类为基准特征点,基本只受头部姿态的影响,如眼角、鼻端等。第二类为全局特征点,用来约束整个人脸的全局形状,包括基准特征点和其他关键点、如嘴角、眉端等。第三类为局部特征点,只用来约束人脸各组成部分如眼、嘴、眉的细部特征,位于其轮廓边界上,如上下嘴唇的轮廓点,上下眼睑等,主要受表情变化影响。基于此,本发明构建的多层结构人脸模型说明如下:\nT\n[0119] 如上所述,人脸形状向量s可表示为(sR,sG,sL),其中sR、sG和sL分别表示基准特征点、全局特征点和局部特征点。基于此,人脸形状模型可分为刚性基准形状、全局基准形状、以及以下局部形状:左眉、右眉、左眼、右眼、鼻、嘴等。对于刚性基准形状和全局基准形状,其点分布模型(PDM)可以从训练数据学习得到如下,\n[0120] \n[0121] \n[0122] 对于局部形状模型,第i个局部形状向量为sGi,Li={sGi,sLi},其中sGi,sLi分别表示属于第i个局部形状的全局和局部特征点。亦有,\n[0123] \n[0124] 以上(2)、(3)、(4)三式即构成了本发明的多层结构人脸模型。其中各参数均基于ASM的原理通过训练得到。图2显示了本发明优选的一组特征点,其中所有的星形点201为基准特征点,所有的星形点201和空心原点202组成全局特征点,实心原点203为局部特征点。\n[0125] 图4为本发明人脸特征点的离线模板训练方法流程图。\n[0126] 人脸特征点的特征表达有很多种,如灰度特征、边缘特征、小波特征等等。本发明采用多尺度多方向Gabor小波来建模特征点附近的局部外观,表达人脸特征点。基于Gabor小波的特征表达具有人类视觉的心理物理基础,并且对于光照变化以及外观变化下的表情识别、人脸识别和特征点表示等都具有很好的鲁棒性。\n[0127] 本发明小波特征的计算方法为:\n[0128] 给定灰度图像 中的一个像素 其附近的局部图像 中的像素为\n一系列Gabor系数 表达该点附近的局部外观,定义为:\n[0129] \n[0130] 其中Gabor核ψj为高斯包络函数限定的平面波\n[0131] \n[0132] \n[0133] 其中,kv为频率, 为方向,kj为特征小波矢量,kjx为特征小波x方向矢量,kjy为特征小波y方向矢量,v=0,1,...,9,μ=0,1,...,7,j=μ+8v, 且频率波宽设为σ=2π。\n[0134] 由此,本发明优选的Gabor核由10个频率、8个方向组成80个Gabor复系数,用以表达像素点附近的外观特征。特别地,可用一个jet向量 表示这些系数,可写成\n[0135] Jj=αjexp(iφj),j=0,1,...,79 (8)\n[0136] 其中,αj和φj分别为第j个Gabor系数的幅值和相位。\n[0137] 给定一幅图像,每个标记的人脸特征点都可以计算得到Gabor小波的jet向量,该jet向量即表达了该点的特征。然而,针对每一个人脸特征点,并非所有80个Gabor复系数均适合表达该特征。为使其能表达各种人脸的共同特征,须对80个Gabor复系数进行实验筛选。以嘴角特征点为例,本发明优选的Gabor复系数为:j=24,...,55。\n[0138] 由此,优选出的即为本发明方法中所用的小波特征。\n[0139] 本发明人脸特征点的离线模板训练方法如下:\n[0140] 首先执行步骤401,选取N张适当的人脸图像作为训练样本。\n[0141] 步骤402,对人脸图像的特征点进行标记。\n[0142] 步骤403,对图像进行归一化处理,以保证所有特征点的Gabor特征的计算条件是相近的,从而保证特征采样的精确性。根据双眼的位置,得到双眼的中点作为基准点,双眼的连线作为图像的横轴,双眼连线的中垂线作为纵轴,对图像进行旋转,同时对图像进行缩放以使双眼之间的距离(瞳距)达到一特定值。通过这种归一化处理后能保证Gabor特征表达的精度和鲁棒性。\n[0143] 然后执行步骤404,计算所有样本的Gabor特征。具体方法是:\n[0144] 将标记的特征点坐标转换至归一化图像中,对每个人脸特征点,根据式(5)-(8)计算其Gabor特征。则对每一个特征点而言,共得N个Gabor特征 i=0,...,N。\n[0145] 然后,执行步骤405,获得各样本Gabor特征之间的相似度;方法为:\n[0146] 假设Gabor特征 和 其相似度可由下式计算得到:\n[0147] \n[0148] 其中,为 和 之间的相对位移,可由下式求得\n[0149] \n[0150] 如果ΓxxΓyy-ΓxyΓyx≠0,其中\n[0151] Φx=∑jαjα′jkjx(φj-φ′j),\n[0152] Γxy=∑jαjα′jkjxkjy,\n[0153] Φy,Γxx,Γyx和Γyy类似地进行定义。\n[0154] 对每个特征点,根据式(9)、(10)计算N个Gabor特征两两之间的相似度,当其相似度大于阈值ST时即认为两者相似,ST可通过实验选取,选取0.85。\n[0155] 然后执行步骤406,计算各样本Gabor特征的相似特征数n。\n[0156] 然后执行步骤407,选择n最大的样本Gabor特征。\n[0157] 然后执行步骤408,判断n是否大于nT。\n[0158] 若步骤408的判断结果为否,则执行步骤411,处理下一特征点。然后返回步骤\n404,继续执行本发明方法。\n[0159] 若步骤408的判断结果为是,则执行步骤409,将Gabor特征加入离线模板。对每一个Gabor特征,设有ni个与其相似的Gabor特征,将ni值最大且大于阈值nT的Gabor特征加入样本特征集 nT也通过实验选取,选取nT=2。\n[0160] 然后执行步骤410,将该Gabor特征从样本中删除,同时将与其相似度大于阈值ST’的Gabor特征从 中删除,这里ST’应大于ST,选取0.9。\n[0161] 然后返回步骤405,对步骤405-409作迭代计算。对 重复上述过程,直到选不出样本为止。\n[0162] 最终的样本特征集 即为该人脸特征点的特征样本,作为人脸特征的离线模板提供给在线跟踪使用。\n[0163] 图5为本发明人脸跟踪方法的流程图。\n[0164] 本发明方法包含:\n[0165] 步骤501,初始化。本步骤主要初始化引擎,包含:初始化变量,参数设置,参数包括图像格式、分辨率、颜色空间,跟踪模式等。\n[0166] 然后执行步骤502,输入一帧图像。本步骤是根据步骤501设置好的格式输入一帧图像数据。\n[0167] 然后执行步骤503,图像归一化。本步骤是对输入图像进行归一化处理。即根据前一帧的人脸信息,主要为双眼的位置信息,将输入图像转换成标准尺寸的图像,优选的尺寸可为256×256。\n[0168] 对人脸图像进行归一化处理,是为了保证所有特征点的计算条件相近,从而保证特征采样的精确性。根据双眼的位置,得到双眼的中点作为基准点,双眼的连线作为图像的横轴,双眼连线的中垂线作为纵轴,对图像进行旋转,同时对图像进行缩放以使双眼之间的距离(瞳距)达到一特定值。通过这种归一化处理后能保证Gabor特征表达的精度和鲁棒性。\n[0169] 然后执行步骤504,判断是否重新检测。本步骤是根据前一帧的检测结果判断是否重新进行人脸特征检测,若为第一帧图像,则直接进行特征检测。\n[0170] 步骤504的判断结果若为是,则继续步骤505,基于形状约束获得基准特征点。本步骤是利用基准形状模型517,基于ASM形状约束对齐基准特征点,基准特征点不会因为表情的变化而运动,如眼角、鼻端。基准形状模型517的获得方法请参见图2和图3及其对应说明。\n[0171] 步骤505基于形状约束获得基准特征点的具体方法为:\n[0172] 首先需对图像进行归一化预处理。\n[0173] 其次,根据双眼的位置确定刚性基准点的位置。根据双眼位置和人脸模型中的刚性基准形状模型对齐刚性基准点,获得这些基准点的初始位置。然后根据式(2)迭代更新其形状参数,直到满足迭代终止条件,即获得刚性基准点的准确位置。迭代过程中,刚性基准点的精度根据其Gabor特征与离线特征模板的相似度进行判断。具体步骤如下:\n[0174] (1)对每一刚性基准点i,计算其当前位置 的Gabor特征\n[0175] (2)根据式(9)、(10)计算 与离线特征模板 中每个Gabor特征的相似度,取相似度最大者作为 与模板的相似度Si,并获得其相对位移为\n[0176] (3)当满足以下条件之一时,迭代过程结束,否则转入步骤4):a)所有刚性基准点的平均相似度 小于上一次迭代的平均相似度 b)90%以上的点的绝对位移值足够小,即 这里阈值dT根据所需保证的精度确定,如可选dT=2;\n[0177] (4)对相对位移值 进行限定,减少突变误差,使得|dxi|≤dxT,|dyi|≤dyT,这里阈值dxT和dyT根据所需保证的精度确定,如可选dxT=dyT=10;\n[0178] (5)根据 对刚性基准点坐标进行更新:\n[0179] (6)根据更新的坐标 和刚性基准形状模型及式(2)更新形状参数。根据更新的形状参数获得新的刚性基准点坐标值;\n[0180] (7)迭代次数t增加1次。若t超过阈值,则迭代过程结束,否则转入步骤(1)。\n[0181] 然后执行步骤506,基于形状约束获得全局特征点。本步骤是利用全局形状模型\n518,基于ASM形状约束,对齐全局特征点。全局特征点除包括8个基准特征点外,还包括其他受表情影响较小的点,如嘴角、眉尖等。获得全局形状模型518的具体方法请参见图2和图3及其对应说明。\n[0182] 步骤506的基于形状约束获得全局特征点的具体方法与步骤505相同,不同的是其利用刚性基准点的位置以及全局基准形状模型,并在迭代中固定刚性基准点的位置不变。\n[0183] 然后执行步骤507,基于形状约束获得局部特征点。本步骤是针对人脸的每一个局部特征,利用局部形状模型519,基于ASM形状约束对齐局部特征点。本发明人脸的局部特征点主要包括左眼、右眼、嘴、鼻的轮廓点,如左(右)眼包括眼角、上、下眼睑等,嘴部包括两个嘴角、上/下唇的中点,以及上/下唇中点与嘴角之间的轮廓点等。获得局部形状模型\n519的具体方法请参见图2和图3及其对应说明。\n[0184] 步骤507基于形状约束获得局部特征点的具体方法与步骤505相同,不同的是其利用局部形状模型,并固定全局基准点的位置不变。\n[0185] 然后执行步骤508,更新在线特征模板。本步骤是根据得到的脸部特征点计算其Gabor小波特征,作为新的在线特征模板\n[0186] 然后执行步骤515,估计人脸姿态。本步骤是根据6个基础点的位置估计人脸的姿态,6个基础点为:4个眼角点和2个鼻端点。\n[0187] 本发明既可以构建多层结构人脸模型以适应人脸表情的变化,也可以构建不同角度下的人脸形状模型以适应人脸角度的变化,不再赘述。\n[0188] 然而,构建的人脸模型毕竟只能采样有限的角度,如正面人脸,左侧面人脸45度,右侧面人脸45度,等等。为保证人脸特征跟踪的精度,需估计出人脸的角度以选取适当的人脸形状模型,并对其进行角度的补偿。本发明根据人脸的刚性基准特征点的位置即能较好地估计出人脸角度,说明如下。\n[0189] 为减少人脸表情的影响,需选取人脸的基准特征点进行人脸姿态的估计,本发明选择4个眼角点和2个鼻端点作为参考。为估计人脸的姿态,这六个点的三维坐标必须先进行初始化。一般地,特征点的三维坐标Xi=(xi,yi,zi)由通用的三维人脸模型获得,实际应用中,可要求用户面向摄像头以获得其正面人脸图像,根据检测结果,特征点的xi和yi值自动调整为该用户的值,深度值则仍采用三维模型的值进行近似。设人脸姿态参数[0190] αface=(σpan,φtilt,κswing,λ),其中(σpan,φtilt,κswing)为人脸三个方向的欧拉角,λ为人脸大小的缩放值。步骤515估计人脸姿态的具体步骤如下:\n[0191] 1)基于选择的基础点构建N个三角形。选择任意三个非共线性的特征点组成一个三角形Ti,对每一个Ti,构建一个局部坐标系统Ct。\n[0192] 2)由每个三角形获得投影矩阵M。图像坐标与局部坐标系统Ct的关系可表示为[0193] \n[0194] 其中,(c,r)表示坐标系统Ct中三维点(xt,yt,0)的投影图像,(c0,r0)是参考点(xt0,yt0,0)的投影图像,M是2×2的投影矩阵。通过限定欧拉角在 到 的范围,可以从M恢复出两组人脸姿态参数,进而生成完全投影矩阵Pi,但其中只有一个是正确的。\n[0195] 3)计算完全投影矩阵的投影偏差。根据完全投影矩阵Pi将特征点的三维坐标投影到图像中,进而获得其与实际特征点图像坐标的偏差derror。如果derror大于阈值d,则删除该矩阵;否则保留该矩阵,并设置其权重为ωi=(d-derror)2。\n[0196] 4)加权得到最终结果。通过对N个三角形的检测,最终得到K个完全投影矩阵Pi,i=1…K,及其对应的权重ωi,i=1…K。对每个Pi,可得到唯一的一组参数αi=(σpan,φtilt,κswing,λ)。最终的人脸姿态参数为:\n[0197] \n[0198] 然后返回步骤502循环执行在线跟踪方法的步骤502至步骤508以及步骤515,并执行步骤516,输出人脸特征点及人脸姿态信息。\n[0199] 步骤504的判断结果若为否,则执行步骤509,基于在线模板更新眼角点。本步骤是基于在线模板与特征点的上一帧位置的小波特征进行比较,计算4个眼角点的位移,从而得到眼角的新位置。步骤509的具体获得方法为:\n[0200] (1)根据前一帧的双眼位置对图像进行归一化预处理;\n[0201] (2)根据在线特征模板更新刚性基准点中的眼角特征点:对于眼角特征点计算其在当前图像的Gabor特征 然后根据式(10)计算 与在线特征模板\n的位移 则眼角特征点可更新为:\n[0202] 然后执行步骤510,基于离线特征模板调整眼角点。本步骤是计算离线训练的特征模板与在线特征模板的距离和相似度,根据该距离和相似度对眼角位置进行修改得到新的位置。\n[0203] 获得离线特征模板的具体方法见图4及其对应的说明。\n[0204] 步骤510的具体计算方法为:根据离线特征模板对眼角特征点进行再修正:对于眼角特征点 根据式(9)、(10)计算在线特征模板 与离线特征模板 的相似\n度S′i和位移 则眼角特征点可进一步修正为 其中ε为\n相似度调整值,根据精度要求进行设置,如优选可设为ε=0.55。\n[0205] 然后执行步骤511,更新其他特征点。首先,计算新的眼角特征点位置与上一帧位置的平均位移作为人脸刚性运动的初步估计,更新其他特征点所有特征点的坐标为:\n然后对每一特征点,重复步骤509与510,对眼角特征点以外的其他特征点的\n位置进行更新。\n[0206] 然后执行步骤512,根据前一帧的人脸姿态更新各形状模型的平均形状。本步骤是根据前一帧估计的人脸姿态进行误差补偿,对人脸的形状模型进行更新,以得到该姿态下的形状模型。\n[0207] 然后执行步骤513,基于形状约束更新全局特征点。本步骤是对全局特征点,根据补偿的全局形状模型进行形状约束,获得形状参数,根据该形状参数获得准确的全局特征点。本步骤是基于步骤512所更新的形状模型约束更新全局特征点的位置。\n[0208] 然后执行步骤514,基于形状约束更新局部特征点。本步骤是针对人脸的每一个局部特征,这一过程中,全局特征点不再更新。本步骤是基于步骤512所更新的形状模型约束更新其局部特征点的位置。\n[0209] 然后执行步骤508,对所有特征点,计算其Gabor特征作为新的在线特征模板[0210] 以上过程根据检测的人脸及人眼的位置完成了人脸特征点的检测定位。由于各个人脸的差异性,其特征点的Gabor特征与离线特征模板的相似度各不相同。为此,根据当前人脸特征点位置获得其Gabor特征作为后续帧人脸跟踪的特征模板,即在线特征模板以提高人脸特征跟踪的效率和精度。\n[0211] 本发明通过构建多层结构人脸模型,将人脸特征点表示为基准特征点、全局特征点和局部特征点,然后根据这3类特征点构建基准形状模型、全局形状模型和局部形状模型,在步骤505、506、507和509-514中使用,因此消除了人脸表情和姿态变化对人脸跟踪准确性和鲁棒性的影响,因此跟踪精度、准确性和鲁棒性更高。\n[0212] 以上说明和图示仅为了清楚说明和易于理解本发明,本领域技术人员应可以增加或者减少某个步骤,或者对某个步骤做出简单变换,所有简单的变换和增减均属于本发明的保护范围。
法律信息
- 2019-07-16
未缴年费专利权终止
IPC(主分类): G06K 9/00
专利号: ZL 201010237424.1
申请日: 2010.07.27
授权公告日: 2013.05.15
- 2015-06-17
专利权的转移
登记生效日: 2015.05.27
专利权人由上海摩比源软件技术有限公司变更为上海影随网络科技有限公司
地址由200031 上海市徐汇区肇嘉浜路288号中福商务楼409室变更为200433 上海市杨浦区民京路853号1幢564室
- 2013-05-15
- 2011-06-08
实质审查的生效
IPC(主分类): G06K 9/00
专利申请号: 201010237424.1
申请日: 2010.07.27
- 2011-02-09
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2007-03-21
|
2006-10-12
| | |
2
| |
2007-05-09
|
2005-11-03
| | |
3
| |
2007-03-07
|
2006-09-27
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |