机器学习之机器是如何识别人脸(Face Recognition)的?
目前,一些机器学习技术已经被广泛应用于人脸识别、人脸支付以及身份认证领域,例如支付宝的FACEID,阿里的Alipay,ETC等等。
这个领域内的算法多以传统的Eigen Face, LBP Face, Adaboost为主,面对一张人脸时,我们首先要进行的是进行人脸特征的提取,比如鼻子、眼睛等,之后对这些特征进行分析比对,确认人物基本信息。而机器主要是通过数学模型学习轮廓、纹理等细节,将机器提取出来的细节(特征提取,Feature extraction)输入到分类模型中进行分类(分类,Classification),从而识别人脸。
以卷积神经网络为例,在提取了大量的基本信息之后:
1、Input Image - > Detect
这一步我们做的主要是将原始图像输入去detect,让机器提取一些关键点。
2、Detect - > Transform - > Crop
这一步要做的事情就是要检测人脸中的关键点,然后根据这些关键点对人脸做对齐校准。比如原先人脸可能比较歪,根据关键点使用仿射变换将人脸统一“摆正”,尽量去消除姿势不同带来的误差。这一步一般叫Face Alignment。
3、Crop - > Representation
这一步就是使用深度卷积网络,将输入的人脸图像,转换成一个向量的表示。