人脸识别是人工智能智能领域的一个重要分支,属于计算机视觉(Computer Vision — CV)。人脸识别技术是人工智能比较成熟的一个领域。主要的应用场景包括:安防,金融,教育等行业。
人脸识别(Face Recognition)是一种依据人的面部特征(如统计或几何特征等),自动进行身份识别的一种生物识别技术。通常我们所说的人脸识别是基于光学人脸图像的身份识别与验证的简称。人脸识别是人工智能的“眼睛”。
人脸识别利用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸图像进行一系列的相关应用操作。
人脸识别的主要流程包括五个部分:人脸图像采集,人脸检测,人脸图像预处理,人脸图像特征提取,以及人脸匹配与识别
下面对每个步骤的一些技术指标进行归纳和总结。
1. 人脸图像采集
人脸图像采集是摄像头自动识别并截图含有人脸的图片。
(1)图像体积
图像体积是指图片文件占用的存储空间的大小,对于人脸识别算法来说,图片体积越大,识别效果就越好,但是识别速度越慢,需要的成本越高,因为图片体积过大,会增大系统内存压力。因此需要找到合适的图片大小范围,来平衡准确率和效率。
(2)图像分辨率
图片分辨率是图像中存储的信息,指单位英寸内有多少个像素点。图片分辨率越高,图像越清晰,识别准确率越高,但是像素越高,图像体积越大,算法运算就越慢。
可以通过图片压缩技术进行图像处理,压缩技术分为有损(常见格式如JPEG)和无损(常见如PNG格式)两种。
(3)图像外部环境
人脸部的光照环境,模糊程度(一般是物体处于运动时,拍摄会出现模糊),遮挡程度,人脸的角度都会影响识别效率。可以通过摄像头自身的硬件进行优化处理,同时配合利用算法进行优化
2. 人脸检测
人脸检测(Face Detection),是从图像中确认人脸的位置和大小。识别人脸需要用到算法,常见的人脸检测算法包括:Viola-Jones、Haar+AdaBoost、CascadeCNN等。
评价一个人脸检测算法的好坏,一般有以下指标:
正:有人脸的图像;负:没有人脸的图像
TP:将正样本预测为正;
FN:将正样本预测为负;
FP:将负样本预测为正;
TN:将负样本预测为负;
召回率:能检测出来的人脸的图片数量越多越好,由于不是每个图像中都包含人脸,所以用检测出来的比例来衡量,这个指标就是召回率recall。
召回率(recall rate)= 预测为正实际也为正的样本数 / 所有实际为正的样本数
= TP / (TP+FN)
准确率:就是预测结果与实际样本一致的数量占整个样本的比例
准确率 = 预测为正的样本数 / 所有样本数= (TP+TN) / (TP+TN+FN+FP)
精准率:召回率是针对样本而言,预测为正实际也为正的样本数的占整个实际正样本数的比例。而精准率是针对预测结果来衡量,预测为正实际也为正的样本数占所有预测为正的样本数的比例,两者分子相同而分母不同、
精准率 = 预测为正实际也为正的样本数 / 所有预测为正的样本数= TP / (TP+FP)
误检率(false positives):不存在人脸但是检测出存在人脸称为误检样本,这种情况越少越好。
误检率= 预测为正但实际为负的样本数 / 所有实际为负的样本数= FP / (FP+TN)
漏检率:存在人脸但是没有检测出来的情况。
漏检率 = 预测为负但实际为正的样本数 / 所有实际为正的样本数= FN / (TP+FN)
这些指标也是我们产品后期验收的指标。
3. 图像预处理
图像预处理的目的是提高图像的质量,尽可能的去除或者减少光照,成像系统,外部环境等因素对图像的干扰。
常用的手段有,人脸图像的几何矫正,光照补偿,尺寸归一化,灰度变换,去噪,边界增强,提高对比度,直方图均衡化,中值滤波以及锐化等。
4. 人脸图像特征提取
传统的人脸识别模型一般都是在SVM等分类器分类后,通过CNN提取特征。
但随着深度学习的发展,人脸识别有更多端到端的框架选择,例如基于深度学习人脸识别的方法:Deep face、Deep ID、FaceNet。
每种不同的算法框架都为识别准确率带来了革命性的进步,从某种程度上讲,对框架的选择是产品成败的关键因素之一。
人工智能产品经理要了解每种核心技术框架的基本逻辑,还要明白各个框架的使用场景和优劣。
5. 人脸匹配与识别
在这里,请不要将识别和检测混淆。检测是前面的步骤,是判断一张图像里面是否存在人脸,如果存在的话,在什么位置?
而识别,是将目标图像的人脸进行特征提取,然后将该图像的人脸特征和数据库中保存的人脸特征进行比对,通过设定一定的比对阈值,当相似度超过这一阈值时,就能判定目标图像中的人脸的身份。
6. 人脸识别的场景
人脸识别现在常用的场景可以分为两类:人脸比对和人脸检索。
一、人脸比对
人脸比对,也可以简单理解为人脸1:1比对,即计算两张人脸的相似度,以判断这两张人脸是否是一个人。
一般多用于人证核验,身份验证,例如火车站的人证合一,手机的人脸识别解锁,人脸登录这些都是人脸比对的应用场景。
比于传统的账号密码和指纹验证,人脸比对的方式会更加简单,产品流程会更加简单。
二、人脸检索
人脸检索,也可以成为1:N检索,给定一张人脸照片,与指定的人脸数据库中的N张人脸进行比对,将特征值比对结果超过设定阈值的人脸结果输出,找出所有可能的身份供用户查看。
一般应用的场景包括:公安确认犯罪人员身份,查找走失人员的身份。
人脸识别在现实场景中,大家可能还见过人脸识别的过程中需要你配合眨眨眼睛,摇摇头,这其实是活体检测的手段。
因为普通的人脸识别算法无法判断检测到的人脸是来自于真人,还是来自于照片或者视频。通过机器学习识别活体的特征和差异,入屏幕反光,照片纸张边缘,判断人脸是否来源于真人。
眨眨眼和摇摇头这样的方式,是目前应用比较广泛和比较简单的检测活体的方式。