TuringEmmy
人的一生举指十载,和来得失,生不带来死不带去,在生做自己喜欢的事,想自己所想,有什么放不下的,短短几十年开心,快乐!就好。
2018 · 12 · 北京
深度学习
人脸识别
一、人脸识别发展介绍——从?非深度到深度 传统的?人脸
检测器?:Viola和Jones于CVPR2001发表的《Robust Real-time Object Detection》
TuringEmmy_2018-12-05_20-05-20
?非深度?方法的检测效果
优点:简单,快速。
缺点:?人脸检测效果不不好。如图所示,正 ?面/垂直/光线较好的?人脸,该?方法可以检 测出来,?而侧?面/歪斜/光线不不好的?人脸, ?无法检测。因此,该?方法不不适合现场应 ?用。
face++(0.9950)
参考?文献:Naive-Deep face Recognition: Touching the Limit of LFW Benchmark or Not?
face++从?网络上搜集了了5million张?人脸图?片?用于训练深度卷积神经?网络模型,在 LFW数据集上准确率?非常?高。该篇?文章的?网路路模型很常规(常规深度卷积神经?网络模型)
DeepFace(0.9735 )
参考?文献:Deepface: Closing thegap to humal-level performance in face verification
常规?人脸识别流程是:?人脸检测-对?齐-表达-分类。本?文中,我们通过额外的3d模型 改进了了?人脸对?齐的?方法。然后,通过基于4million?人脸图像(4000个个体)训练的?一个9层的?人?工神经?网络来进?行行?人脸特征表达。我们的模型在LFW数据集上取得了了0.9735的准确率。该?文章的亮点有以下?几点:?一,基于3d模型的?人脸对?齐?方法;?二,?大数据训练的?人?工神经?网络。
FR+FCN(0.9645 )
参考?文献:Recover Canonical-View Faces in the Wildwith Deep NeuralNetworks
?自然条件下,因为?角度,光线,occlusions(咬合/张?口闭?口),低分辨率等原因,使?人脸图像在个体之间有很?大的差异,影响到?人脸识别的?广泛应?用。本?文提出了了?一种新的深度学习模型,可以学习?人脸图像看不不?见的?一?面。因此,模型可以在保持个体之间的差异的同时,极?大的减少单个个体?人脸图像(同?一?人,不不同图?片)之间的差异。与当前使?用2d环境或者3d信息来进?行行?人脸重建的?方法不不同,该?方法直 接从?人脸图像之中学习到图像中的规则观察体(canonical view,标准正?面?人脸图像)。作者开发了了?一种从个体照?片中?自动选择/合成canonical-view的?方法。在应?用?方?面,该?人脸恢复?方法已经应?用于?人 脸核实。同时,该?方法在LFW数据集上获得了了当前最好成绩。该?文章的亮点在于:?一,新的检测/选择 canonical-view的?方法;?二,训练深度神经?网络来重建?人脸正?面标准图?片(canonical-view)。
DeepID(0.9745 )
参考?文献:DeepID3: Face Recognition with Very Deep NeuralNetworks
深度学习在?人脸识别领域的应?用提?高了了?人脸识别准确率。本?文中,我们使?用了了两种 深度神经?网络框架(VGG net和GoogleLeNet)来进?行行?人脸识别。两种框架 ensemble结果在LFW数据集上可以达到0.9745的准确率。?文章获得?高准确率主要归功于?大量量的训练数据,?文章的亮点仅在于测试了了两种深度卷积神经?网络框架。
FaceNet(0.9963)
参考?文献:FaceNet: A UnifiedEmbedding for Face Recognition and Clustering
作者开发了了?一个新的?人脸识别系统:FaceNet,可以直接将?人脸图像映射到欧?几?里里 得空间,空间的距离代表了了?人脸图像的相似性。只要该映射空间?生成,?人脸识别,验证和聚类等任务就可以轻松完成。该?方法是基于深度卷积神经?网络,在LFW数据集上,准确率为0.9963,在YouTube Faces DB数据集上,准确率为0.9512。 FaceNet的核?心是百万级的训练数据以及 triplet loss。
baidu的?方法
参考?文献:Targeting UltimateAccuracy : Face Recognition via Deep Embedding
本?文中,作者提出了了?一种两步学习?方法,结合mutil-patchdeep CNN和deep metric learning,实现脸部特征提取和识别。通过1.2million(18000个个体)的训练集训练,该?方法在LFW数据集上取得了了0.9977的成绩。
pose shape expression augmentation(0.9807)
参考?文章:Do We ReallyNeed to CollectMillions of Faces forEffective Face Recognition
该?文章的主要思路路是对数据集进?行行扩增(data augmentation)。CNN深度学习模型,?比如 face++,DeepID,FaceNet等需要基于百万级?人脸图像的训练才能达到?高精度。?而搜集百万级?人脸数据所耗费的?人?力力,物?力力,财?力力是很?大的,所以商业公司使?用的图像数据库是不不 公开的。本?文中,采?用了了新的?人脸数据扩增?方法。对现有公共数据库?人脸图像,从pose,shape和expression三个?方?面合成新的?人脸图像,极?大的扩增数据量量。在LFW和IJB-A数据 集上取得了了和百万级?人脸数据训练?一样好的结果。该?文章的思路路很好,很适合普通研究者。
CNN-3DMM estimation(0.9235)
参考?文献:Regressing Robust andDiscriminative 3D Morphable Models with a very Deep Neural Network
当在真实场景中应?用3d模拟来增加?人脸识别精度,存在两类问题:要么3d模拟不不稳定,导致 同?一个个体的3d模拟差异较?大;要么过于泛化,导致?大部分合成的图?片都类似。因此,作者研究了了?一种鲁棒的三维可变?人脸模型(3D morphable face models (3DMM))?生成?方法。他们 采?用了了卷积神经?网络(CNN)来根据输?入照?片来调节三维?人脸模型的脸型和纹理理参数。该?方法 可以?用来?生成?大量量的标记样本。该?方法在MICC数据集上进?行行了了测试,精确度为state of the art 。与3d-3d?人脸?比对流程相结合,作者在LFW,YTF和IJB-A数据集上与当前最好成绩持 平。?文章的关键点有两个:?一,3D重建模型训练数据获取;?二,3D重建模型训练 。
DenseBox做?人脸检测
参考?文献:DenseBox: Unifying Landmark Localization withEnd to EndObject Detection
DenseBox是?一个典型的基于全卷积?网络的?目标检测器?,其通过 FCN得到待检测?目 标的热度图,然后根据热度图来获得?目标的位置和?大?小,这给?目标检测?又提供了了?一种新的问题解决思路路。
基于CNN的?人脸检测器? —— FacenessNet
参考?文献:Faceness-Net: Face Detection throughDeep Facial Part Responses
FacenessNet是专?门针对?人脸设计的?一个检测器?,其考虑了了头发、眼睛、?鼻?子、嘴 巴和胡?子这五个脸部特征,简单地说,对于?一个候选窗?口,FacenessNet 先分析这五个部分是否存在,然后再进?一步判断是不不是?一张?人脸。
二、 人脸识别的难点
?用户配合度
现有的?人脸识别系统在?用户配合、采集条件?比较理理想的情况下可以取得令?人满意的 结果。但是,在?用户不不配合、采集条件不不理理想的情况下,现有系统的识别率将陡然下降。?比如,?人脸?比对时,与系统中存储的?人脸有出?入,例例如剃了了胡?子、换了了发型、多了了眼镜、变了了表情都有可能引起?比对失败。也就是说,?人如果发?生较?大变化,系 统可能就会认证失败。光照、姿态、装饰等,对机器?识别?人脸都有影响
2.相似性
不不同个体之间的区别不不?大,所有的?人脸的结构都相似,甚?至?人脸器?官的结构外形都 很相似。这样的特点对于利利?用?人脸进?行行定位是有利利的,但是对于利利?用?人脸区分?人类 个体是不不利利的。
3.易易变性
?人脸的外形很不不稳定,?人可以通过脸部的变化产?生很多表情,?而在不不同观察?角度,?人脸的视觉图像也相差很?大,另外,?人脸识别还受光照条件(例例如?白天和夜晚,室内和室外等)、?人脸的很多遮盖物(例例如?口罩、墨?镜、头发、胡须等)、年年龄等多?方?面因素的影响。在?人脸识别中,第?一类的变化是应该放?大?而作为区分个体的标准 的,?而第?二类的变化应该消除,因为它们可以代表同?一个个体。通常称第?一类变化 为类间变化(inter-class difference),?而称第?二类变化为类内变化(intra-class difference)。对于?人脸,类内变化往往?大于类间变化,从?而使在受类内变化?干扰 的。
三、 人脸识别的评测?方法
LFW数据集(LabeledFaces in the Wild)
?目前?用得最多的?人脸图像数据库。该数据库共13,233幅图像,其中5749个?人, 其中1680?人有两幅及以上的图像,4069?人只有?一幅图像。图像为250*250?大?小的 JPEG格式。绝?大多数为彩?色图,少数为灰度图。该数据库采集的是?自然条件下?人
脸图?片,?目的是提?高?自然条件下?人脸识别的精度。
LFW6种评价标准:
Unsupervised;
Image-restricted with no outside data;
Unrestricted with no outside data;
Image-restricted with label-freeoutside data;
Unrestricted with label-free outside data;
Unrestricted with labeled outside data.
?目前,?人?工在LFW数据集上的准确率在0.9427~0.9920。在该数据集的第六种评价 标准下(?无限制,可以使?用外部标注的数据),许多?方法已经赶上(超过)?人?工识别精度,?比如face++,DeepID3,FaceNet等。
当前?大部分模型的准确度表:http://vis-www.cs.umass.edu/lfw/results.html
四、 重点?几种模型的原理理讲解(MTCNN/FaceNet(OpenFace))
MTCNN
参考?文献:Joint Face Detection and Alignment usingMulti-task Cascaded Convolutional Networks
TuringEmmy_2018-12-05_20-12-44
**stage1: **在构建图像?金金字塔的基础上,利利?用fully convolutional network来进?行行检测,同时利利?用 boundingbox regression 和 NMS来进?行行修正。
? **stage2: **将通过stage1的所有窗?口输?入作进?一步 判断,同时也要做boundingboxregression 和 NMS。
? **stage3: **和stage2相似,只不不过增加了了更更强的约 束:5个?人脸关键点。
TuringEmmy_2018-12-05_20-13-22
TuringEmmy_2018-12-05_20-13-50
FACENET
FaceNet是?一个通?用的系统,可以?用于?人脸验证(是否是同?一?人?),识别(这个
?人是谁?)和聚类(寻找类似的?人?)。FaceNet采?用的?方法是通过卷积神经?网络
学习将图像映射到欧?几?里里得空间。空间距离直接和图?片相似度相关:同?一个?人的不不 同图像在空间距离很?小,不不同?人的图像在空间中有较?大的距离。只要该映射确定下 来,相关的?人脸识别任务就变得很简单。
模型结构
TuringEmmy_2018-12-05_20-15-01
FACENET
TuringEmmy_2018-12-05_20-15-44
五、 TensorFlow实现的MTCNN+FaceNet的?人脸检测
1.采?用opencv2读取图?片;
? 2.对图?片采?用mtcnn?方法,检测?人脸;
? 3. 采?用预训练的facenet对检测的?人脸进?行行embedding,embedding成128维度的特征;
? 4. 对?人脸embedding特征采?用knn进?行行分类,实现?人脸识别;
TuringEmmy_2018-12-05_20-16-22
六、 推荐的开源的?人脸检测项?目
中科院?山世光?老老师的SeetaFaceEngine https://github.com/seetaface/ SeetaFaceEngine
CMU的OpenFace http://cmusatyalab.github.io/openface/
注:部分内容来源于本人自学人脸识别网络资料搜集整理而来,个人项目源码已上传至GitHub
完
码龙社
一个有趣,有料,专注于技术交流的公众号
领取专属 10元无门槛券
私享最新 技术干货