看上图是不是想到10年12月7日那次历史性的詹韦连线,时隔8年我们有一次看到,但不是那个自信张开双手抛开,而是选择回头,可能这个画面,以后再也看不到了。希望我们牢记03黄金给我们90后留下的深刻记忆,向他们salute。
从上图,还能看到现在火的无法用形容词去修辞的技术之一了,那就是人脸检测与识别。这方面的知识有得到大家的认可和对其有很大的兴趣,所以今天再一次来分享下这类知识,让已入门的你更加深入理解,让刚入门及想要入门的你有一个好的开端与认知,请你认真开始吧!
人脸检测与识别技术已经被研究很久了,除此之外还有人脸配准、对齐、搜索、比对等技术,主要我们现实生活的需求,越来越需要这样的技术。现在打开Google的学术搜索,输入“Face Detect”,估计大家都能够想到,都是五花八门的经典乃至最新文章,最近的AAAI2019也举办的非常成功,得到了更过的人的关注!
不好意思,跑偏了。。。
让我开始说说人脸这个技术,真的是未来不可估计的人工智能技术,不知道未来会有多少企业为了这个技术潜心研究,人类是多么依赖及需要它,现在就来看看最近的技术和未来的发展吧!我先大概说下该领域遇到的一些问题:
图像质量:人脸识别系统的主要要求是期望高质量的人脸图像,而质量好的图像则在期望条件下被采集,图像质量对于提取图像特征很重要,因此,即使是最好的识别算法也会受图像质量下降的影响。
照明问题:同一张脸因照明变化而出现不同,照明可以彻底改变物体的外观。
姿势变化:从正面获取,姿势变化会产生许多照片,姿态变化难以准确识别人脸。
面部形状/纹理随着时间推移的变化:有可能随着时间的推移,脸的形状和纹理可能会发生变化。
相机与人脸的距离:如果图像是从远处拍摄的,有时从较长的距离捕获的人脸将会遭遇质量低劣和噪音的影响;
遮挡:用户脸部可能会遮挡,被其他人或物体(如眼镜等)遮挡,在这种情况下很难识别这些采集的脸。
Deep Learning还没有出现之前,大家都是在用传统机器学习算法和统计学算法来对以上问题进行研究,仔细想想,真的好厉害,能想出那么多经典的算法,下面我先简单介绍几个:
基于Adaboost人脸检测
Adaboost人脸检测算法,是基于积分图、级联检测器和Adaboost算法的方法,该方法能够检测出正面人脸且检测速度快。其核心思想是自动从多个弱分类器的空间中挑选出若干个分类器,构成一个分类能力很强的强分类器。
缺点:而在复杂背景中,AdaBoost人脸检测算法容易受到复杂环境的影响,导致检测结果并不稳定,极易将类似人脸区域误检为人脸,误检率较高。
基于特征方法的人脸检测
基于特征的方法实质就是利用人脸的等先验知识导出的规则进行人脸检测。
① 边缘和形状特征:人脸及人脸器官具有典型的边缘和形状特征,如人脸轮廓、眼睑轮廓、虹膜轮廓、嘴唇轮廓等都可以近似为常见的几何单元;
② 纹理特征:人脸具有特定的纹理特征,纹理是在图上表现为灰度或颜色分布的某种规律性,这种规律性在不同类别的纹理中有其不同特点;
③ 颜色特征:人脸的皮肤颜色是人脸表面最为显著的特征之一,目前主要有RGB,HSV,YCbCr,YIQ,HIS等彩色空间模型被用来表示人脸的肤色,从而进行基于颜色信息的人脸检测方法的研究。
基于模板的方法
基于模板匹配的方法的思路就是通过计算人脸模板和待检测图像之间的相关性来实现人脸检测功能的,按照人脸模型的类型可以分为两种情况:
① 基于通用模板的方法,这种方法主要是使用人工定义的方法来给出人脸通用模板。对于待检测的人脸图像,分别计算眼睛,鼻子,嘴等特征同人脸模板的相关性,由相关性的大小来判断是否存在人脸。通用模板匹配方法的优点是算法简单,容易实现,但是它也有自身缺点,如模板的尺寸、大小、形状不能进行自适应的变化,从而导致了这种方法适用范围较窄;
② 基于可变形模板的方法,可变形模板法是对基于几何特征和通用模板匹配方法的一种改进。通过设计一个可变模型,利用监测图像的边缘、波峰和波谷值构造能量函数,当能量函数取得最小值时,此时所对应的模型的参数即为人脸面部的几何特征。这种方法存在的不足之处在于能量函数在优化时十分复杂,消耗时间较长,并且能量函数中的各个加权系数都是靠经验值确定的,在实际应用中有一定的局限性。
基于统计理论的方法
基于统计理论的方法是指利用统计分析与机器学习的方法分别寻找人脸与非人脸样本特征,利用这些特征构建分类,使用分类进行人脸检测。它主要包括神经网络方法,支持向量机方法和隐马尔可夫模型方法。基于统计理论的方法是通过样本学习而不是根据人们的直观印象得到的表象规律,因此可以减小由于人眼观测不完整和不精确带来的错误而不得不扩大检测的范围,但是这种方法需要大量的统计特性,样本训练费时费力。
现在用传统的技术已经不能再有新的突破,所以现在流行了DL架构,打破了人类的极限,又将检测,识别,跟踪等技术上升到另一个高度。
现在来简单讲讲最近几年神经网络的牛X之处。
Retinal Connected Neural Network (RCNN)
Rotation Invariant Neural Network (RINN)
Principal Component Analysis with ANN (PCA & ANN)
Evolutionary Optimization of Neural Networks
Multilayer Perceptron (MLP)
Gabor Wavelet Faces with ANN
还有好多就不一一陈述了(近几年比较主流的网络框架没有详细介绍,因为想必大家都有阅读,所以相信大家通过大量阅读一定已经有了自己的想法,赶快去实现吧!)。
在此推荐读者你阅读《Recent Advances in Face Detection》,分析的特别详细,希望对大家有帮助,谢谢!
下期我将带大家一起去回顾近几年人脸检测&识别的新框架,及创新点、优缺点,并附上开源代码,希望大家都可以动手自己去实践。
立即加星标
每天看好文
如果想加入我们“计算机视觉战队”,请扫二维码加入学习群,我们一起学习进步,探索领域中更深奥更有趣的知识!