人类只需要很短的时间,就可以记住一个人的样子,并在下次遇到他(她)的时候说出这个人的名字。但是对计算机来说,像人类一样识别人脸是很困难的任务。在深度学习之前,有很多技术尝试让计算机实现“识别”人脸的功能,但是效果都差强人意。现在在深度学习的支持下,人脸识别取得了巨大的成功,已经广泛应用于各类场景。例如,在金融支付领域,已经在越来越多地使用人脸识别技术,误差达到了亿分之一的水平。
那么人脸识别是如何做到的呢?人类是通过提取不同的个体所对应的人脸的特征后,根据这些特征进行识别。特征是学习过程中的重要概念,是一个对象区别于其他对象的地方,任何“识别”都需要通过找到这些“特征”才能完成。
例如,对于汽车来说,车标就是最好的特征之一,通过车标可以快速识别出它是什么品牌。进一步,如果想获得车辆的具体型号,就需要更深层的特征,例如:
①车的形状;
②车的发动机和排量;
③车的其他参数等。
一般地,用来进行识别的特征需要满足下述特点。
①能够区分不同的对象;
②容易提取;
③容易比对。
例如,区分不同的人,一个常用的方法是识别他们的指纹特征。指纹特征包括分叉数量、分叉点、指纹形状等,这些特征,用指纹采集器瞬间就可以确定。指纹能够区分不同的人,同时在采集器地支持下容易提取也容易比对。也就是说,指纹是满足上述特点的“特征”。
在人脸识别这样的任务中,人脸的特征是什么?有些非常简单的特征,例如:
①眼睛数量:2;
②鼻子数量:1;
③眼睛连线与鼻子中线垂直。
但绝大多数人的这些特征是相同的,所以此类特征并不足以区分两个人。如何挖掘更深层次的人脸特征呢?在使用深度学习之前,直方图以及基于直方图的特征使用得较为广泛,而且基于直方图的识别方法现在仍然在行业中使用。下面给出直方图的定义和说明。