现在打开谷歌*公司的搜索器,输入“face detect”,估计大家都够想到,都是五花八门的大牛文章,我是羡慕啊!(因为里面没有我的一篇,我们实验室的原因,至今没有让我发一篇有点权威的文章,我接下来会写4张4A纸的检讨,去自我检讨下为什么?----蓝菇)
原归正传,让我开始说说人脸这个技术,真的是未来不可估计的IT技术,不知道未来会有多少企业为了这个技术潜心研究,现在就来看看最近的技术和未来的发展吧!
我先大概说下遇到的一些问题:
Ø 图像质量:人脸识别系统的主要要求是期望高质量的人脸图像,而质量好的图像则在期望条件下被采集。图像质量对于提取图像特征很重要,因此,即使是最好的识别算法也会受图像质量下降的影响;
Ø 照明问题:同一张脸因照明变化而出现不同,照明可以彻底改变物体的外观;
Ø 姿势变化:从正面获取,姿势变化会产生许多照片,姿态变化难以准确识别人脸;
Ø 面部形状/纹理随着时间推移的变化:有可能随着时间的推移,脸的形状和纹理可能会发生变化;
Ø 相机与人脸的距离:如果图像是从远处拍摄的,有时从较长的距离捕获的人脸将会遭遇质量低劣和噪音的影响;
Ø 遮挡:用户脸部可能会遮挡,被其他人或物体(如眼镜等)遮挡,在这种情况下很难识别这些采集的脸。
就先说这些问题吧,还有其他问题,读者你可以自己再去总结一些,其实很easy!
在没有DL出现之前,大家都是在用传统的机器算法和统计学的算法来对以上问题进行研究,仔细想想,大牛真的好厉害,能想出那么多经典的算法,下面我先简单介绍几个:
1) 基于Adaboost人脸检测
Adaboost人脸检测算法,是基于积分图、级联检测器和Adaboost算法的方法,该方法能够检测出正面人脸且检测速度快。其核心思想是自动从多个弱分类器的空间中挑选出若干个分类器,构成一个分类能力很强的强分类器。
缺点:而在复杂背景中,AdaBoost人脸检测算法容易受到复杂环境的影响,导致检测结果并不稳定,极易将类似人脸区域误检为人脸,误检率较高。
2) 基于特征的方法(引用“Summary of face detection based on video”)
基于特征的方法实质就是利用人脸的等先验知识导出的规则进行人脸检测。
① 边缘和形状特征:人脸及人脸器官具有典型的边缘和形状特征,如人脸轮廓、眼睑轮廓、虹膜轮廓、嘴唇轮廓等都可以近似为常见的几何单元;
② 纹理特征:人脸具有特定的纹理特征,纹理是在图上表现为灰度或颜色分布的某种规律性,这种规律性在不同类别的纹理中有其不同特点;
③ 颜色特征:人脸的皮肤颜色是人脸表面最为显著的特征之一,目前主要有RGB,HSV,YCbCr,YIQ,HIS等彩色空间模型被用来表示人脸的肤色,从而进行基于颜色信息的人脸检测方法的研究。
3) 基于模板的方法
基于模板匹配的方法的思路就是通过计算人脸模板和待检测图像之间的相关性来实现人脸检测功能的,按照人脸模型的类型可以分为两种情况:
① 基于通用模板的方法,这种方法主要是使用人工定义的方法来给出人脸通用模板。对于待检测的人脸图像,分别计算眼睛,鼻子,嘴等特征同人脸模板的相关性,由相关性的大小来判断是否存在人脸。通用模板匹配方法的优点是算法简单,容易实现,但是它也有自身缺点,如模板的尺寸、大小、形状不能进行自适应的变化,从而导致了这种方法适用范围较窄;
② 基于可变形模板的方法,可变形模板法是对基于几何特征和通用模板匹配方法的一种改进。通过设计一个可变模型,利用监测图像的边缘、波峰和波谷值构造能量函数,当能量函数取得最小值时,此时所对应的模型的参数即为人脸面部的几何特征。这种方法存在的不足之处在于能量函数在优化时十分复杂,消耗时间较长,并且能量函数中的各个加权系数都是靠经验值确定的,在实际应用中有一定的局限性。
4) 基于统计理论的方法
基于统计理论的方法是指利用统计分析与机器学习的方法分别寻找人脸与非人脸样本特征,利用这些特征构建分类,使用分类进行人脸检测。它主要包括神经网络方法,支持向量机方法和隐马尔可夫模型方法。基于统计理论的方法是通过样本学习而不是根据人们的直观印象得到的表象规律,因此可以减小由于人眼观测不完整和不精确带来的错误而不得不扩大检测的范围,但是这种方法需要大量的统计特性,样本训练费时费力。
以上也都是通过快速阅读得到的一些结论,大部分都是直接引用文章作者的语句。其中在这些方法中,都有很多改进,比如PCA+Adaboost,HMM等。。。。。。
现在用传统的技术已经不能再有新的突破,所以现在流行了DL架构,打破了人类的极限,又将检测,识别,跟踪等技术上升到另一个高度。
现在来简单讲讲最近几年神经网络的牛X之处。
1)Retinal Connected Neural Network (RCNN)
2)Rotation Invariant Neural Network (RINN)
3)Principal Component Analysis with ANN (PCA & ANN)
4)Evolutionary Optimization of Neural Networks
5)Multilayer Perceptron (MLP)
6) Gabor Wavelet Faces with ANN
还有好多就不一一介绍看了(先进的没有介绍,因为想必大家都有阅读,所以。。。嘿嘿,相信大家通过大量阅读一定已经有了自己的想法,赶快去实现吧!)。在此推荐读者你阅读《Recent Advances in Face Detection》,分析的特别详细,希望对大家有帮助,谢谢!
对了,现在不是因为图像中的人脸检测,识别都已经很出色了,很多团队都做到接近满分了,所以现在来说说未来的趋势,也许这已经不算趋势,因为现在已经有很多人在这条路上摸爬打滚,而且有些团队也有一些成就,希望接下来大家在这领域都能取得好成就。加油!!!
下面我来给大家提供一些公开的数据库网址:
■Annotated Database (Hand, Meat, LV Cardiac, IMM face) (Active Appearance Models)
■BioID Face Database (BioID Face Database | facedb | BioID)
■Caltech Computational Vision Group Archive (Cars, Motorcycles, Airplanes, Faces, Leaves, Background) (Computational Vision: Archive)
■Carnegie Mellon Image Database (motion, stereo, face, car, ...) (CMU VASC Image Database)
■CAS-PEAL Face Database (The PEAL Face Database)
■CMU Cohn-Kanade AU-Coded Facial Expression Database (http://www.ri.cmu.edu/projects/project_421.html
■CMU Face Detection Databases (http://www.ri.cmu.edu/projects/project_419.html)
■CMU Face Expression Database (http://amp.ece.cmu.edu/projects/FaceAuthentication/download.htm)
■CMU Face Pose, Illumination, and Expression (PIE) Database (http://www.ri.cmu.edu/projects/project_418.html)
■CMU VASC Image Database (motion, road sequences, stereo, CIL’s stereo data with ground truth, JISCT, face, face expressions, car) (CMU VASC Image Database)
■Content-based Image Retrieval Database (Index of /groundtruth)
■Face Video Database of the Max Planck Institute for Biological Cybernetics (Welcome)
■FERET Database (frvt.org)
■FERET Color Database (The Color FERET Databasehttp://face.nist.gov/colorferet/ )
■Georgia Tech Face Database (http://www.anefian.com/face_reco.htm)
■German Fingerspelling Database (http://www.anefian.com/face_reco.htm)
■Indian Face Database (http://http://www.cs.umass.edu/~vidit/IndianFaceDatabase)
■MIT-CBCL Car Database (Pedestrian Data)
■MIT-CBCL Face Recognition Database (CBCL FACE RECOGNITION DATABASE)
■MIT-CBCL Face Databases (CBCL SOFTWARE)
■MIT-CBCL Pedestrian Database (New Page 1)
■MIT-CBCL Street Scenes Database (CBCL StreetScenes Database Download Page:)
■NIST/Equinox Visible and Infrared Face Image Database (http://www.equinoxsensors.com/products/HID.html)
■NIST Fingerprint Data at Columbia (Link)
■ORL Database of Faces (The Database of Faces)
■Rutgers Skin Texture Database (http://www.caip.rutgers.edu/rutgers_texture/)
■The Japanese Female Facial Expression (JAFFE) Database (Japanese Female Facial Expression (JAFFE) Database
■The Ohio State University SAMPL Image Database (3D, still, motion) (http://sampl.ece.ohio-state.edu/database.htm)
■The University of Oulu Physics-Based Face Database (Center for Machine Vision and Signal Analysis)
■UMIST Face Database (http://images.ee.umist.ac.uk/danny/database.html)
■USF Range Image Data (with ground truth) (USF Range Image Database)
■Usenix Face Database (hundreds of images, several formats) (Link)
■UCI Machine Learning Repository (http://www1.ics.uci.edu/~mlearn/MLSummary.html)
■USC-SIPI Image Database (collection of digitized images) (SIPI Image Database)
■UCD VALID Database (multimodal for still face, audio, and video) (VALID Database)
■UCD Color Face Image (UCFI) Database for Face Detection (http://ee.ucd.ie/~prag/)
■UCL M2VTS Multimodal Face Database (http://www.tele.ucl.ac.be/PROJECTS/M2VTS/m2fdb.html)
■Vision Image Archive at UMass (sequences, stereo, medical, indoor, outlook, road, underwater, aerial, satellite, space and more) (SIPI Image Database)
■Where can I find Lenna and other images? (comp.compression Frequently Asked Questions (part 1/3)Section - [55] Where can I find Lenna and other images?)
■Yale Face Database (http://cvc.yale.edu/projects/yalefaces/yalefaces.html)
■Yale Face Database B (http://cvc.yale.edu/projects/yalefaces/yalefaces.html)
最后我附上我近期做的效果图,是基于视频中人脸检测与识别的,因为没有标准,公共的数据集,所以我就用室内场景剧作为训练数据,最后的效果很不错,希望以后有同学做人脸的,我们可以一起讨论,共同进步,谢谢!
有兴趣的朋友,可以看我上传的视频,谢谢!(发现检测过程还是有一些问题,主要是因为训练数据集不够)
网址:http://pan.baidu.com/s/1eR6ppQy
密码:gs9g
往期经典文章回顾
高等数学、线性代数、概率论与数理统计、几何学这些知识可以用来干什么?主要应用有哪些?
线性代数的本质--对线性空间、向量和矩阵的直觉描述
理解矩阵背后的现实意义
数学系和物理系学生有什么差别?
线性代数的本质
Leibniz 如何想出微积分?(三)
PCA的数学原理
零除以零在数学中有意义吗?
算法|人人都该了解的十大算法
对傅里叶级数的理解