https://mp.weixin.qq.com/s/U9CBzzOAmkC71-eLkCnc5Q
作者易苗,本文介绍了人脸识别的经典流程以及流程中涉及到的三个模块:人脸检测、人脸对齐、特征提取与比对,并以一种开源的人脸识别引擎—SeetaFace 为例,展示了人脸识别的算法原理,最后简要介绍了几个最新的基于深度学习的人脸识别算法以及人脸识别的应用场景。
一、人脸识别算法框架介绍:
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。人脸识别实现了图像或视频中人脸的检测、人脸特征点的定位、以及人脸特征提取与比对。具体地,对于一张输入图像,首先检测出图像中的人脸,然后对人脸进行面部特征点的定位,并根据定位结果对人脸进行矫正,裁剪出人脸核心区域,最后提取人脸核心区域特征,与人脸数据库中的特征进行比对,得出识别结果。
二、流程详解:
1、人脸检测(Face Detection)
人脸检测,即确定图像中人脸的位置和范围。主流的人脸检测方法有基于Haar+ Adaboost的人脸检测、基于特征的方法、基于模板的方法以及基于CNN的方法。
1) 基于Haar+Adaboost的人脸检测
基于积分图、级联检测器和Adaboost算法的方法在进行人脸检测时,首先将一张输入图片按照一定的比例连续缩小,得到一系列尺度不一的图片集,然后定义人脸窗口的大小(如20x20),并穷举每个尺度图片所有位置的20x20的子窗口,提取该窗口的Haar特征(可用积分图快速计算),然后利用Adaboost级联分类器判断是否为人脸,最后对于所有的人脸候选窗口进行后处理,得到最终的检测结果。
2