在这篇博文中,我们将以简单明了的方式介绍计算机识别人脸的原理和过程。
人脸识别的基本原理是什么?
你小时候可能至少玩过一次拼脸游戏。在这个游戏中,你首先选择一个脸型,然后依次选择发型、眼睛、鼻子和嘴巴,并将它们拼到脸上。通过不断更换不同的发型、眼睛、鼻子和嘴巴,你可以拼出自己想要的脸。计算机识别和比较人脸的方式与此类似。计算机识别并存储面部特征;当输入一张新的照片时,它会将照片与已存储的特征进行比较,从而确定照片中的人是谁。
近期一个易于使用的面部识别技术实例是面部识别应用程序(App)。这些应用程序会预先从名人照片中提取并存储关键特征,例如面部轮廓、眼睛、鼻子和嘴巴。之后,当摄像头拍摄到人脸时,该应用程序会以相同的方式提取面部特征,并将其与存储的名人面部特征进行比较,从而识别并显示最匹配的人脸。
计算机如何识别人脸?
现在,我们来考察一下计算机的人脸识别过程。人脸识别主要包括四个阶段:输入、人脸检测、特征提取和比对。
在输入阶段,照片或视频中的单帧图像通过输入设备传输到计算机。通常,输入设备的分辨率越高,帧速率(FPS)越高,人脸识别的准确度就越高。这个原理类似于视力好的人能够更准确地识别远处的人脸。
在人脸检测阶段,系统首先检查输入的照片或视频中是否存在人脸。为此,它会识别人脸的轮廓和关键特征,例如眼睛、鼻子和嘴巴。虽然目前有多种人脸检测技术被使用,但本文将重点介绍具有代表性的类哈尔检测方法。
类哈尔检测方法利用哈尔小波。小波是一种由黑白区域组成的简单矩形图案。这些黑白区域用于识别图像中亮度差异显著的区域。通过在整个输入图像或视频上应用不同大小和形状的小波,并仅保留黑白区域亮度差异显著的区域,该系统可以有效地检测人脸轮廓和关键面部特征,例如眼睛、鼻子、嘴巴和眉毛。此外,该过程还可以提取面部特征的位置信息。
例如,在提取眼睛信息时,小波的黑色区域对应于相对较暗的区域(例如瞳孔),而白色区域对应于较亮的区域(例如皮肤)。通过利用这些亮度差异,可以有效地检测眼睛的位置和形状。
如何提取面部特征?
人脸检测阶段完成后,系统会决定是否进入特征提取阶段。
在特征提取阶段,提取面部特征是为了充分利用人脸检测阶段识别出的面部组件。与人脸检测阶段不同,此过程包含一个预处理步骤。由于每张照片或视频中人脸的旋转角度、大小和光照强度各不相同,因此需要进行归一化处理,尽可能地使其标准化。此外,彩色照片或视频还可以根据需要转换为黑白图像。
例如,首先将原始照片转换为灰度图,然后仅裁剪人脸区域并将其调整为统一大小,并进行直方图均衡化以校正亮度。利用在人脸检测阶段获得的面部组件位置信息,从经过此预处理的照片或视频中提取人脸特征。
提取出的面部特征是如何使用的?
在比较阶段,提取出的这些面部成分的信息要么存储在数据库(DB)中,要么与现有的面部数据进行比较,以确定最佳匹配。
我们已经了解了计算机人脸识别的流程。就在几十年前,计算机能够区分人脸的想法似乎还遥不可及。然而,随着计算机硬件、软件和人工智能技术的飞速发展,人脸识别技术如今已广泛应用于各个领域,包括智能手机、笔记本电脑、门禁系统、金融服务和机场安检等。如今,计算机识别人脸的技术不再是遥不可及的未来,而是已经自然而然地融入了我们的日常生活。