《人脸识别原理及算法——动态人脸识别系统研究》—第3章3.2节参数化模型法

简介:

本节书摘来自异步社区《人脸识别原理及算法——动态人脸识别系统研究》一书中的第3章3.2节参数化模型法,作者 沈理 , 刘翼光 , 熊志勇,更多章节内容可以访问云栖社区“异步社区”公众号查看。

3.2 参数化模型法
人脸识别原理及算法——动态人脸识别系统研究
此方法最早由Yuille、Hallinan、Cohen等人提出[44],英国British Telecom的Shackleton、Welsh 以及Huang、Chen等人又对其进行了发展[89, 90]。该方法的原理为:首先对人脸特征如眼睛、鼻子、嘴巴等建立相应的数学模型,得到眼睛模型、鼻子模型及嘴巴模型等,模型由各特征的位置、大小、长度等参数控制,并可进行相应的调整;然后对应图像的4种表示(见下节),定义图像的4种能量函数;将上述的几种特征模型与图像相互作用,动态地调整模型参数,使得能量函数取得最小值,此时得到的模型参数值就是特征参数值。

3.2.1 图像的各种表示
使用各种形态算子如扩张算子(dilate operator)、蚀化算子(erode operator)、开算子(open operator)及闭算子(close operator)等对图像进行处理,可得到图像的谷表示(valley representation)、峰表示(peak representation)以及边缘表示(edge representation)等,加上图像自身共有4种表示。使用这些表示的优点在于可以更好地表征人脸特征模型,如瞳孔模型对应图像中的谷域。

Yuille等人用Psi _e (x,y)、Psi _v (x,y)及Psi _p (x,y)表示边缘、谷及峰域,并相应地进行模糊化处理,得到Phi _e (x,y)、Phi _v (x,y)及Phi _p (x,y)等域表示。所用公式如下:
screenshot
3.2.2 眼睛模型表示
对人的眼睛部位进行模型表示首先要建立人眼模型,得到眼睛模型的关键特征;针对眼睛模型可以构建相应的能量函数,通过将眼睛特征值输入给相应的能量函数,可以实现眼睛的模型匹配。

1.建立模型
如图3-1所示,眼睛模型应包含如下特征参数。

① 以点x_c 为中心、以r为半径的圆对应眼睛的瞳孔。

② 以点x_e为中心,宽度为2b、上边缘的最大高度为a、下边缘的最大高度为c的两条抛物曲线分别对应上、下眼睛轮廓,并设眼睛与水平线间的倾斜角度为θ,图3-1中倾斜角度θ为零。


a4f1d6c4a63d116b7e8779e34537e63ee8150386

③ 设眼白区域的两个中心点为p_1及p_2。

从而,眼睛模型应由9个参数表示,为g = (x_c ,x_e ,p_1 ,p_2,r,a,b,c,theta )。

2.能量函数
对应眼睛模型可以定义一个能量函数,用于度量模型匹配的好坏程度。完全能量函数由谷域、边缘、峰域、图像及内部势能组成,表示为
screenshot

(3-2)

其中

① 谷域对应的能量由Phi _v (x,y)对圆内部区域积分得到,表示为
screenshot

(3-3)

② 边缘对应的能量函数由Phi _e (x,y)对圆边缘积分以及对抛物线边缘积分得到,表示为
screenshot
(3-4)

③ 图像对应的能量函数是为了减小圆内部的图像亮度,并使得圆与抛物线间的明亮度最大,具体表示为
screenshot
(3-5)


screenshot
(3-6)

④ 峰域对应的能量函数在两个峰点测得,表示为
screenshot
(3-7)

⑤ 内部固有的能量函数表示为
screenshot
(3-8)

式中,left{ {c_i } right}及left{ {k_i } right}通常为常系数,但在模型匹配过程中将会改变。另外,公式中的R_b R_w partial R_b 及partial R_w 分别对应瞳孔、眼白以及相应的边缘区域;面积或长度为left| {R_w } right|left| {R_b } right|left| {partial R_w } right|left| {partial R_b } right|;A、s分别表示面积及弧长。

3.算法实现
模型匹配算法使用基于深度下降法的搜索策略,寻找眼睛模型的特殊点。搜索过程分成若干阶段,每一阶段使用不同的系数值left{ {c_i } right} 及left{ {k_i } right},且将各能量函数式用具体的模型参数来表示,例如式(3-4)中,

screenshot
(3-9)

这里s对应抛物曲线的弧,L(a,b)及L(c,b)为其总长度。从而能量函数就表示为模型参数x_e ,a,b,c,theta的积分函数,求其最小值就转化为在模型参数空间的最小值,此时对应的参数值就为相应的人脸特征。

例如,对于模型参数r,其求解公式为
screenshot

(3-10)

类似地,对于其他的模型参数都可解出。当所有参数模型的值都确定后,眼睛模型也就确定了。

3.2.3 嘴巴模型和鼻子模型
类似地,可以对人脸上的其他关键部位进行处理,如构建嘴巴模型、鼻子模型等。其中对于嘴巴模型特征参数的提取,主要是先确立嘴唇的中心点,然后根据嘴唇的中心点,提取上、下嘴唇的厚度值,可以间隔性地提取3组值;同时,根据中心点,提取嘴唇的宽度值,只需提取1组即可,根据这些参数可以构建嘴巴模型。

对于鼻子模型,可提取鼻尖到鼻根的长度值以及3~5组鼻尖到鼻翼的宽度值,作为鼻子模型的参数,构建鼻子模型。

对应嘴巴模型,可以构建嘴巴模型的能量函数,用于度量所提取的嘴巴样本与嘴巴模型之间的匹配程度,然后使用匹配算法,将样本与嘴巴模型进行匹配,得到最佳匹配结果。鼻子模型的处理是类似的,关键是参数的提取以及能量函数的构建。通过多样本测试,可以逐步得到好的参数模型以及能量函数。

3.2.4 方法的优缺点
使用人脸关键特征,如眼睛、嘴巴、鼻子等进行模型匹配,具有如下优点。

匹配准确。因为这些关键特征的变形不会太大,受形变的影响很小,因此提取的特征比较准确,能够较准确地反映模型的特征。而且,为了精确匹配可以通过多采样特征实现。
通用性强,不受光照、尺度及旋转等因素影响。通过能量函数的使用以及对匹配特征的标准化处理能够最大限度的减少光照、尺度以及旋转等因素对匹配的影响。
但该方法也有如下不足。

需要先验知识。模型的建立、特征的提取、标准化处理对模型匹配的准确性有很大影响,需要建模者具有较好的建模经验以及丰富的人脸结构知识。
手工建模、眼睛模型、嘴巴模型以及鼻子模型的建立以及参数的提取需要手工进行,目前还不具有自动化处理的能力,因此,对于多个样本的处理比较费时,而且个性化差异较大,有一定的主观性。
局部匹配,需要确定模型初始位置。为了避免能量函数找不到最优匹配结果,需要在匹配时设定模型的初始位置。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关文章
|
25天前
|
机器学习/深度学习 算法 计算机视觉
YOLOv3的算法原理是怎么样的
YOLOv3的算法原理是怎么样的
|
1天前
|
机器学习/深度学习 数据采集 监控
算法金 | 选择最佳机器学习模型的 10 步指南
许多刚入门的学习者也面临着相似的挑战,特别是在项目启动初期的方向确定和结构规划上。本文意在提供一份全面指南,助你以正确的方法开展项目。 遵循本文提供的每一步至关重要(虽有少数例外)。就像不做饭或点餐就无法享用美食一样,不亲自动手构建模型,就无法实现模型部署。
23 7
算法金 | 选择最佳机器学习模型的 10 步指南
|
2天前
|
机器学习/深度学习 存储 算法
【机器学习】深入探索机器学习:线性回归算法的原理与应用
【机器学习】深入探索机器学习:线性回归算法的原理与应用
|
2天前
|
搜索推荐 算法 前端开发
计算机Java项目|基于协同过滤算法的体育商品推荐系统
计算机Java项目|基于协同过滤算法的体育商品推荐系统
|
2天前
|
存储 缓存 算法
LRU(Least Recently Used)算法原理
LRU(Least Recently Used)算法原理
4 0
|
3天前
|
机器学习/深度学习 存储 人工智能
算法金 | 一个强大的算法模型,GP !!
高斯过程是一种非参数机器学习方法,利用高斯分布描述数据,并通过核函数衡量相似性。它在小样本和不确定性估计上有优势,常用于回归、分类和优化。高斯过程基于函数分布,通过核函数(如线性、RBF、多项式)捕捉数据关系。与传统方法相比,它在处理不确定性和非线性问题时更具灵活性。虽然计算复杂度高、内存需求大,但通过稀疏高斯过程等方法可改善。高斯过程还可扩展到非平稳和多任务场景。本文通过代码示例展示了高斯过程在战斗胜率预测中的应用。
29 11
算法金 | 一个强大的算法模型,GP !!
|
3天前
|
机器学习/深度学习 传感器 算法
基于Mediapipe深度学习算法的手势识别系统【含python源码+PyqtUI界面+原理详解】-python手势识别 深度学习实战项目
基于Mediapipe深度学习算法的手势识别系统【含python源码+PyqtUI界面+原理详解】-python手势识别 深度学习实战项目
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
让非算法同学也能了解 ChatGPT 等相关大模型
让非算法同学也能了解 ChatGPT 等相关大模型
|
4天前
|
数据采集 机器学习/深度学习 人工智能
算法金 | 一个强大的算法模型,多项式回归!!
```markdown # 多项式回归简述 - 多项式回归是线性回归扩展,用于处理非线性关系。 - 通过添加高次项来拟合复杂模式,但可能引发过拟合。 - 示例中展示了如何用Python创建模拟数据,使用`PolynomialFeatures`生成多项式特征,训练线性回归模型并可视化结果。 - 优点:灵活捕捉非线性关系,易于理解。 - 缺点:易过拟合,计算复杂度高。 - 相关概念:正则化(岭回归、Lasso回归)及其他非线性模型(如支持向量回归)。 - 注意事项:选择合适阶数,避免过拟合,重视数据预处理和模型评估。 ```
16 0
算法金 | 一个强大的算法模型,多项式回归!!
|
5天前
|
算法
使用k-近邻算法构建手写识别系统(kNN)
使用k-近邻算法构建手写识别系统(kNN)
18 9