作者:金剑超 来源:https://www.51cto.com/article/759265.html
近年来,随着人工智能技术的高速发展,人脸识别正在融入人们的日常生活,悄然改变人们的生活习惯,例如刷脸支付、刷脸开手机、刷脸通行等。那么机器是如何识别这是一个人?它又是怎么辨别是谁的呢?接下来让我们共同探秘,揭开这“黑科技”背后的面纱。
Part 01 脸识别技术概述
人脸识别技术属于生物特征识别技术,是一种依据人人脸的若干特征(如眼睛、鼻子、嘴巴、眉毛等)自动进行身份识别的技术,又被称为面像识别、人像识别、相貌识别、面孔识别、面部识别等。其主要利用摄像机或摄像头采集含有人脸的图像或视频流,通过人脸检测技术分析其是否存在人脸,存在则给出人脸所在位置、大小和面部关键器官的位置信息;再根据这些信息提取所蕴涵的身份特征,并将其与已知的人脸特征进行对比,从而识别每个人脸的身份。
Part 02 人脸检测
人脸检测是人脸识别和人脸分析系统的关键第一步,主要用于解决“人脸在哪里”的问题,在图像中准确标定出人脸的位置和大小,并提供给后续的人脸特征分析和识别。早期的人脸检测工作主要基于人工精心设计的局部描述子进行特征提取,主要可分为4类基于知识的人脸检测方法、基于模型的人脸检测方法、基于特征的人脸检测方法、基于外观的人脸检测方法,其中比较比较经典的作品有haar cascades分类器、HOG(Histogram of Oriented Gridients)特征检测算法。但传统的检测对于多种变异因素的具有挑战性的图像,人脸检测精度有限。
随着深度学习的蓬勃发展,逐渐演变出许多基于不同深度学习架构的人脸检测方法,主要有基于级联cnn模型、基于R-CNN模型、单发探测器模型、基于特征金字塔网络模型、基于变形金刚模型等,极大的改善了传统人脸检测、识别在特征提取、精确度、可扩展性方面均有诸多不足。MTCNN是其中一个比较优秀的人脸检测模型,该模型通过三个阶段的深度卷积网络,以粗到细的方式预测人脸和地标位置,具体步骤为:第一阶段:通过浅层CNN快速生成候选窗口;第二阶段:通过更复杂的CNN拒绝大量非面部窗口来细化窗口;第三阶段:使用更强大的CNN再次细化结果并输出五个面部标志位置。
Part 03 人脸特征
人脸特征也称人脸表征,是人脸的某些特征,比如脸的长度、脸的宽度、唇部宽度、鼻子长度等,人脸特征提取就是对人脸进行特征建模得到向量化人脸特征的过程。人脸特征提取按照技术特点大致可分为三类:基于全局信息的Holistic方法、基于局部信息的Local特征方法、基于深度学习的方法。基于深度学习的人脸特征可以从数据集中自动学习特征,如果数据集能够覆盖足够的鲁棒性数据(如光照、姿态、表情等),则算法能适应各种挑战,也是当前的主流人脸特征提取方法。
Part 04 人脸识别
人脸识别是人脸比对的过程,通过比对提取的人脸特征获两个人脸的相似度,判断方法为比较两个特征间的欧式距离(L2距离)或者余弦距离(cosine距离):L2距离越小,相似度越高;cos距离夹角越小,cos距离越大相似度越高。根据比对的数量不同,又可分为1:1和1:N。1:1最常见的场景就是人证比对,比如我们在乘高铁时所遇到的这种设备。1:N是1张人脸和底库中的N张人脸进行比对,比如在考勤机中,我们的人脸底库中包含全公司的所有人脸照片。