文档介绍:编辑导语:当下人脸识别在生活中被应用得愈加广泛。那么,人脸识别是 如何对人脸关键特征进行识别的?在前面文章里,作者对人脸识别的图像预处 理进行了介绍。本篇文章中,作者则介绍了人脸识别的关键特征识别,让我们 一起来看一下。
在上次人脸识别之编辑导语:当下人脸识别在生活中被应用得愈加广泛。那么,人脸识别是 如何对人脸关键特征进行识别的?在前面文章里,作者对人脸识别的图像预处 理进行了介绍。本篇文章中,作者则介绍了人脸识别的关键特征识别,让我们 一起来看一下。
在上次人脸识别之图像预处理中,我们增加了预处理环节、排除环境和其 他因素的干扰,将注意力集中在人脸上,提升识别效果。
人脸比对是通过计算两张照片灰度值矩阵的距离来实现的,图像预处理通 过各种手段拉近了两个矩阵间的距离,从而让计算出来的结果更精准。
但这样就够了吗?我们的计算是基于像素点的灰度值开展的,在计算中, 各个像素点都参与运算,具有同等的重要性,对结果的贡献度也是一样的。这 种设计是否合理,计算的粒度是否太细而影响结果的可靠性?
从直觉上判断,图像中像素的重要性程度肯定不一样,比如眼睛、鼻子、 嘴巴等部位的像素重要性应该更高,对结果有更大的影响。而脸部中间部位的 像素重要性比较低,甚至都没有参与运算的必要性。
研究表明,确实有很多像素没有参与运算的必要,这些像素被去除后不影 响识别结果,还可以加快识别速度,并提升模型鲁棒性。比如,在基于像素级 别的人脸对比中,通过在图像中加入一些噪声,衍生出对抗攻击,从而让识别 出现错误。
不管是传统的机器识别,还是近几年大火的深度学****都是将人类的学****能力通过计算机的计算能力得到表达和迁移。仔细想想,当我们将注意力集中 在脸部,会怎么样描述一个人。可能的描述会是:
人天生就有很强的抽象和学****能力。当我们面对一张人脸照片时,会自动 进行特征处理和变换。当再次面对这张照片时,即使脸部特征有所变形或者缺 失,也不影响我们的识别。
人的这种抽象、变换及补全能力却是计算机所缺少的,我们可以模仿人眼 的这种识别手段,让计算机将注意力转移到鼻子、嘴巴等重要特征上,从而拥 有部分程度的智能。
在计算机存储的时候,不再是整个脸部的信息,而是眼睛、鼻子、嘴巴等 脸部部件,通过这些部件问的比对来判断是否为同一对象。这种方法叫做基于 人脸关键特征的识别技术,通常是通过边缘、轮廓检测来实现的。
什么是边缘?通俗来说就是眼睛、鼻子等外部轮廓,在灰度图像中就是一 些灰度值变化明显的点,这些变化反映了图像的重要程度或所蕴含的信息。
直观上看,图像的边缘附近的值出现明显的分割,灰度值变化较大,而图 像中比较平滑的部分,其灰度值变化较小。对于计算机来说,可以通过灰度阶 的变化来对图像信息进行边缘检测。
这背后有数学理论的支撑,我们一般用梯度来描述变化快慢。在图像中的 灰度变化既有方向也有大小,就可以使用图像梯度来描述这种变化,进而可以 检测出图像的边缘。
在数学上,梯度既有大小,又有方向,并且需要要有一定的条件,比如可 导等。在图像中一般会简化处理,使用算子进行代替。
算子其实也是一种滤波,但使用算子更强调其数学含义和特定用途。目前
常用的边缘检测算子,包括 Sobel, Laplacian算子和Canny等。我们简单描述 下 Canny 边缘检测。
Can