龙空技术网

人脸识别知多少—人脸识别算法综述

新无止竞 770

前言:

目前看官们对“人脸算法”都比较关切,各位老铁们都想要知道一些“人脸算法”的相关文章。那么小编也在网络上收集了一些关于“人脸算法””的相关资讯,希望姐妹们能喜欢,咱们快快来了解一下吧!

本文笔者给我们分析人脸识别算法。

人脸辨认人脸识别

LFW风云录

提起人脸识别算法,首要必须说到LFW——一个人脸识别的揭露测验集。在深度学习快速开展的初期(2014年左右),LFW是国内外人脸识别算法公司的擂台,facebook、百度、face++、商汤等一系列的企业以及校园纷繁刷榜,标榜自己的人脸辨认算法天下第一。下面笔者带领我们来看一看lfw数据集到底是怎么姿态的。

LFW的测验集由6000对人脸图片组成,3000对归于同一个人,3000对归于不同人。这6000对测验对,每对核算一个得分,然后选定一个阈值,大于阈值为同一个人,小于阈值为不同人。这个阈值该如何选取呢?这里引进等错误率的概念,简略了解,选取同一个人分错的份额和不同人分错份额相等的阈值。我们平时看到的在LFW上辨认率到达99%其实指的是,对这6000对判别的准确率到达了99%(即判别正确6000*0.99=5940对)。需求注意到LFW同一个人的标注中有5对是错误的,故理论上的最高准确率为(6000-5*2)/ 6000 = 0.998333。

LFW部分成果

随着深度学习的开展,在LFW上的成果也不断更新,如上表所示。笔者以为到现阶段(在LFW都是0.99+),LFW现已不能很好的表现人脸辨认算法的能力,首要是LFW测验集本身量级太少,就6000对,0.1个百分点对应也就是6对图画;其次测验集为名人数据,有或许出现在练习数据中(爬虫处理等),例如中科院整理的练习数据集就有三个人和测验集相同;最终,关于国内的大多数厂家来说,实践使用的大多数仍是中国人,在LFW数据集上表现好,在实践使用中作用纷歧定好,即算法在不同人种上表现是不相同的。

现在人脸识别比较权威的测验集是MS-Celeb-1M和megaface,在此上刷出成果的确表现了算法能力。笔者以为,刷分是一方面,如果想实践使用,仍是需求在使用场景中获取自己的测验集来测验,究竟针对一个数据集来刷分会有许多trick,与实践使用仍是略有不同,不要过分堕入刷分怪圈。

人脸识别通用结构

人脸识别的通用结构比较简略:

人脸检测,得到人脸图画在图画中的位置;

人脸对齐,一般是根据关键点的信息,将人脸图画进行仿射改换、缩放到统一大小(简略了解,例如根据人眼位置对齐);

特征提取,传统方式或是深度学习办法,实质是用特征对人脸图画进行表达;

特征比对,常见的是核算一个间隔,例如用cos核算夹角;

人脸识别算法一览

《Blessing of Dimensionality: High-dimensional Feature and Its Efficient Compression for Face Verification》,简称high LBP(0.9517),深度学习算法前比较经典的算法。对图画分块,各种overlap,最终把LBP特征堆积起来(维度10W+),经行LDA、PCA处理,然后核算间隔。

Joint Basyesian

《 Bayesian Face Revisited: A Joint Formulation 》简称Joint Bayesian(0.9242),用的是最大化后验概率的办法,其间公式笔者记住以前推了良久,不详细介绍。现在有许多在深度学习提取特征之后持续用Joint Bayesian提高的办法。

《 Deepface: Closing the gap to humal-level performance in face verification 》,简称DeepFace(0.9735)。FaceBook基于3D人脸模型的规划,400W的人脸练习数据对其时来说也是归于海量数据了,也让业界清晰的认识到,来吧,推数据吧!

DeepID三部曲系列,重点是《DeepID3: Face Recognition with Very Deep Neural Networks》,简称DeepID3(0.9745),用到了VGG和googleNet的网络结构。

《 FaceNet: A Unified Embedding for Face Recognition and Clustering 》 简称FaceNet,FaceNet的中心思想来说就是triplet loss。

《 A Discriminative Feature Learning Approach for Deep Face Recognition 》简称Center Loss,这个也是通过许多人试验认证的确work的一种方式。

《 Large-Margin Softmax Loss for Convolutional Neural Networks 》简称L-Softmax,在softmax上进行处理,目的是让不同类分的更开。

《 SphereFace: DeepHypersphereEmbeddingforFaceRecognition 》简称A-Sodtmax,是在L-Softmax上的改进。A-softmax loss简略讲就是在large margin softmax loss的基础上添加了两个约束条件||W||=1和b=0,使得预测仅取决于W和x之间的视点。

A-Softmax

最重要的ResNet笔者没有单独列出来,究竟ResNet是通杀的,笔者就不故意介绍。介绍了这么多,其实笔者以为最重要的仍是数据。很多的数据加上ResNet加上center loss 或是 其他loss试验,作用不会差,剩余的细节就是各位在炼丹中的经验和trick了。

标签: #人脸算法