如何判断人脸识别是否准确?SeetaFace助你一臂之力|AI科技评论

简介:

对不同的人进行区分是很多智能系统的必备能力。所谓的人脸识别技术也是为了实现此目的开发出来的,通过对人脸的光学成像来感知人、识别人。经过几十年的研发积累,特别是近年来深度学习技术的涌现,人脸识别取得了长足的进步,在安防、金融、教育、社保等领域得到了越来越多的应用,也成为计算机视觉领域最为成功的分支领域之一。

然而,人脸识别并非是完全成熟的技术,离公众期望的全面应用尚有距离,仍然需要学术界、工业界的共同努力。为此,整个人脸识别社区需要有基准(Baseline)系统,而且基准系统的水平显然会极大影响着该领域的发展水平。可是令人尴尬的是,这个领域迄今尚无一套包括所有技术模块的、完全开源的基准人脸识别系统。最新开源的SeetaFace人脸识别引擎也许能改变这个现状,该引擎代码由中科院计算所山世光研究员带领的人脸识别研究组研发。代码基于C++实现,且不依赖于任何第三方的库函数,开源协议为BSD-2,可供学术界和工业界免费使用。

SeetaFace人脸识别引擎包括了搭建一套全自动人脸识别系统所需的三个核心模块,即:

  • 人脸检测模块SeetaFace Detection

  • 面部特征点定位模块SeetaFace Alignment

  • 人脸特征提取与比对模块 SeetaFace Identification

其中,人脸检测模块SeetaFace Detection采用了一种结合传统人造特征与多层感知机(MLP)的级联结构,在FDDB上达到了84.4%的召回率(100个误检时),并可在单个i7 CPU上实时处理VGA分辨率的图像。

面部特征点定位模块SeetaFace Alignment通过级联多个深度模型(栈式自编码网络)来回归5个关键特征点(两眼中心、鼻尖和两个嘴角)的位置,在AFLW数据库上达到state-of-the-art的精度,定位速度在单个i7 CPU上超过200fps。

人脸识别模块SeetaFace Identification采用一个9层的卷积神经网络(CNN)来提取人脸特征,在LFW数据库上达到97.1%的精度(注:采用SeetaFace人脸检测和SeetaFace面部特征点定位作为前端进行全自动识别的情况下),特征提取速度为每图120ms(在单个i7 CPU上)。 

下面来简要了解下上述三个核心模块,更多详细资料可以参考相关阅读中的内容。

| 对人脸进行检测SeetaFace Detection

人脸检测模块SeetaFace Detection基于一种结合经典级联结构和多层神经网络的人脸检测方法实现,其所采用的漏斗型级联结构(Funnel-Structured Cascade,FuSt)专门针对多姿态人脸检测而设计,其中引入了由粗到精的设计理念,兼顾了速度和精度的平衡。如图1所示,FuSt级联结构在顶部由多个针对不同姿态的快速LAB级联分类器构成,紧接着是若干个基于SURF特征的多层感知机(MLP)级联结构,最后由一个统一的MLP级联结构(同样基于SURF特征)来处理所有姿态的候选窗口,整体上呈现出上宽下窄的漏斗形状。从上往下,各个层次上的分类器及其所采用的特征逐步变得复杂,从而可以保留人脸窗口并排除越来越难与人脸区分的非人脸候选窗口。

如何判断人脸识别是否准确?SeetaFace助你一臂之力|AI科技评论

图1. SeetaFace人脸检测模块所采用的FuSt漏斗型级联结构

与SeetaFace Detection开源代码配套开放的是一个准正面人脸检测模型(使用了约20万人脸图像训练而来),可以实现准正面人脸的准确检测(旋转角度约45度以内,但对于姿态偏转较大的人脸也具备一定的检测能力),图2给出了一些检测结果的示例(注:测试时图像金字塔下采样比例设置为0.8,滑动步长设置为4和2,最小人脸设置为20x20)。

在人脸检测领域最重要的评测集FDDB上对SeetaFace Detector进行评测,在输出100个误检时(FPPI=0.035)召回率达到84.4%,输出1000个误检时召回率达到88.0%。图3则给出了SeetaFace Detector在FDDB上的离散型得分ROC曲线,并与其它已发表的学术界公开结果(从FDDB官网获得)进行了对比。不难看出,尽管SeetaFace人脸检测器并非目前精度最高的,但在学术界公开的结果中仍然具有很强的竞争力,而且可以完全满足多数人脸识别系统的需求。

如何判断人脸识别是否准确?SeetaFace助你一臂之力|AI科技评论

图2. SeetaFace Detection人脸检测结果的示例

如何判断人脸识别是否准确?SeetaFace助你一臂之力|AI科技评论

图3. SeetaFace Detector在FDDB上的ROC曲线

此外,与其他算法相比SeetaFace Detector在速度上有一定优势。对于640x480大小的VGA图像,检测速度的对比情况如表1所示。其中,SeetaFace的速度在单个3.40GHz的i7-3770 CPU上测得,Cascade CNN在CPU上的速度在2.0GHz的CPU上测得(引自原文)。而各方法在GPU上的速度在NVIDIA Titan Black GPU上测得。

如何判断人脸识别是否准确?SeetaFace助你一臂之力|AI科技评论

表1. SeetaFace Detector的检测速度及其与其他方法的对比情况

注:测试时SeetaFace Detector的滑动窗口步长设置为4,图像金字塔下采样步长设置为0.8。而Cascade CNN中图像金字塔下采样步长为0.7(对应的尺度因子为1.414)。

| 对特征点进行定位SeetaFace Alignment

面部特征点定位(人脸对齐)在人脸识别、表情识别、人脸动画合成等诸多人脸分析任务中扮演着非常重要的角色。由于姿态、表情、光照和遮挡等因素的影响,真实场景下的人脸对齐任务是一个非常困难的问题。形式上,该问题可以看作是从人脸表观到人脸形状的复杂非线性映射。

为此,SeetaFace Alignment采用的是我们提出的一种由粗到精的自编码器网络(Coarse-to-Fine Auto-encoder Networks, CFAN)来求解这个复杂的非线性映射过程。如图 4所示,CFAN级联了多级栈式自编码器网络,其中的每一级都刻画从人脸表观到人脸形状的部分非线性映射。具体来说,输入一个人脸区域(由人脸检测模块得到),第一级自编码器网络直接从该人脸的低分辨率版本中快速估计大致的人脸形状S0。

然后,提高输入人脸图像的分辨率,并抽取当前人脸形状S0(相应提升分辨率)各特征点位置的局部特征,输入到下一级自编码器网络来进一步优化人脸对齐结果。以此类推,通过级联多个栈式自编码器网络,在越来越高分辨率的人脸图像上逐步优化人脸对齐结果。 

如何判断人脸识别是否准确?SeetaFace助你一臂之力|AI科技评论

图4. 基于由粗到精自编码器网络(CFAN)的实时人脸对齐方法

此次开源的SeetaFace Alignment基于上述CFAN方法实现了5个面部关键特征点(两眼中心,鼻尖和两个嘴角)的精确定位,训练集包括23,000余幅人脸图像(标注了5点)。需要注意的是,为加速之目的,在基本不损失精度的情况下,开源实现中将CFAN级联的数目减少到了2级,从而可在单颗Intel i7-3770 (3.4 GHz CPU)上达到每个人脸5ms的处理速度(不包括人脸检测时间)。

图5给出了一些用SeetaFace Alignment开源引擎定位面部5点的效果示例,可见其对表情、姿态、肤色等均具有较好的鲁棒性。在AFLW数据集上的量化评价和对比情况如图6所示,其中平均定位误差根据两眼中心距离做了归一化。不难看出,SeetaFace Alignment取得了state-of-the-art的定位结果。

如何判断人脸识别是否准确?SeetaFace助你一臂之力|AI科技评论

图5. SeetaFace Alignment定位结果示例

如何判断人脸识别是否准确?SeetaFace助你一臂之力|AI科技评论

图6. SeetaFace Alignment在AFLW数据集上的定位误差及对比情况

其中LE:左眼,RE:右眼,N:鼻尖,LM:左嘴角,RM:右嘴角

| 对人脸进行特征提取与比对SeetaFace Identification

人脸识别本质上是要计算两幅图像中人脸的相似程度,大致可以分为:

  • 注册阶段(类比人的相识过程)输入系统

  • 识别阶段(即再见时的辨认过程)输入

为此,如图7所示,一套全自动的人脸识别系统在完成前述的人脸检测与人脸对齐两个步骤之后,即进入第三个核心步骤:人脸特征提取和比对。这个阶段也是深度学习风起云涌之后进步最大的模块,目前大多数优秀的人脸识别算法均采用卷积神经网络(CNN)来学习特征提取器(即图7中的函数F)。

如何判断人脸识别是否准确?SeetaFace助你一臂之力|AI科技评论

(1) 人脸检测 (2) 关键点定位与人脸对齐 (3)人脸特征提取、比对与判定

图7.人脸识别系统的核心流程

SeetaFace开源的人脸特征提取模块也是基于卷积神经网络的。具体地说,其实现的是中所描述的深度卷积神经网络VIPLFaceNet:一个包含7个卷积层与2个全连接层的DCNN。其直接修改自Hinton教授的学生Alex Krizhevsky等于2012年设计的AlexNet(即引爆CNN在视觉中广泛应用的网络)。

如表2对比所示,与AlexNet相比,VIPLFaceNet将5x5的卷积核拆分为两层3x3的卷积核,从而增加了网络深度,而并没有增加计算量;VIPLFaceNet还减少了每个卷积层的kernel数目以及FC2层的节点数。

同时,通过引入Fast Normalization Layer(FNL),加速了VIPLFaceNet的收敛速度,并在一定程度上提升了模型的泛化能力。测试表明,在相同训练集情况下,VIPLFaceNet在LFW测试集上识别错误率比AlexNet降低了40%,而训练和测试时间分别为AlexNet的20%和60%。

如何判断人脸识别是否准确?SeetaFace助你一臂之力|AI科技评论

表2. SeetaFace Identification所采用的VIPLFaceNet与AlexNet网络结构对比

与开源的SeetaFace Identification代码一起发布的人脸识别模型是使用140万人脸图像训练出来的,这些训练图像来自于约1.6万人,其中既有东方人也有西方人。人脸特征直接采用VIPLFaceNet FC2层的2048个结点的输出,特征比对可简单采用Cosine计算相似度,然后进行阈值比较(验证应用)或排序(识别应用)即可。

该引擎在多数人脸识别场景下均具有良好的性能,例如,在LFW standard Image-Restricted测试协议下,使用SeetaFace Detector与SeetaFace Alignment检测并对齐人脸,采用SeetaFace Identification进行特征提取和比对,可以达到97.1%的识别正确率(请注意:这是系统全自动运行的结果,对少量不能检到人脸的图像,截取中间区域输入人脸对齐模块即可)。速度方面,在单颗Intel i7-3770 CPU上,开源代码提取一张人脸之特征的时间约为120ms(不含人脸检测和特征点定位时间)。

| 相关阅读:

目前,SeetaFace开源人脸识别引擎已全部发布在Github上供国内外同行和工业界使用,项目网址为:http://github.com/seetaface

题图来自The Matrix


本文作者:李尊


本文转自雷锋网禁止二次转载,原文链接

相关文章
|
2月前
|
人工智能 vr&ar UED
获奖公布|第十九届"挑战杯"竞赛2025年度中国青年科技创新"揭榜挂帅"擂台赛阿里云“AI技术助力乡村振兴”专题赛拟授奖名单公示
获奖公布|第十九届"挑战杯"竞赛2025年度中国青年科技创新"揭榜挂帅"擂台赛阿里云“AI技术助力乡村振兴”专题赛拟授奖名单公示
|
2月前
|
人工智能 小程序 Java
电子班牌管理系统源代码,基于AI人脸识别技术的智能电子班牌云平台解决方案
电子班牌管理系统源码,基于AI人脸识别的智慧校园云平台,支持SaaS架构,涵盖管理端、小程序与安卓班牌端。集成考勤、课表、通知、门禁等功能,提供多模式展示与教务联动,助力校园智能化管理。
181 0
|
2月前
|
人工智能 算法 数据安全/隐私保护
拔俗AI多模态心理风险预警系统:用科技守护心理健康的第一道防线
AI多模态心理风险预警系统通过语音、文本、表情与行为数据,智能识别抑郁、焦虑等心理风险,实现早期干预。融合多源信息,提升准确率,广泛应用于校园、企业,助力心理健康服务从“被动响应”转向“主动预防”,为心灵筑起智能防线。(238字)
|
6月前
|
机器学习/深度学习 人工智能 算法
ai赋能科技
本内容探讨了AI技术在教育领域的深度应用,涵盖教学设计、课堂互动、科研赋能、教学管理和伦理实践五大方面。从智能备课到动态学情分析,从跨学科创新到自动化评估,展示了AI如何优化教育全流程。同时强调数据安全与算法公平性,确保技术发展不偏离教育本质。最后指出,在AGI时代,学习AI大模型不仅是为了适应技术浪潮,更是为了填补400万人才缺口,成为高薪“AI+”岗位的抢手人才。教育的目标已转变为培养驾驭AI的思考者,而不仅仅局限于竞争者角色。
183 1
|
8月前
|
存储 人工智能 监控
星云智控科技-优雅草星云物联网AI智控系统软件产品技术栈一览表-优雅草卓伊凡
星云智控科技-优雅草星云物联网AI智控系统软件产品技术栈一览表-优雅草卓伊凡
269 7
星云智控科技-优雅草星云物联网AI智控系统软件产品技术栈一览表-优雅草卓伊凡
|
7月前
|
人工智能 定位技术
挑战杯丨2025年度中国青年科技创新“揭榜挂帅”擂台赛阿里云榜题发布!用AI助力乡村振兴丨云工开物
第十九届“挑战杯”竞赛2025年度中国青年科技创新“揭榜挂帅”擂台赛,由阿里巴巴公益、阿里云等主办。赛事以AI技术助力乡村振兴为主题,鼓励高校师生设计长虹乡特色文创产品、农特产品包装等。作品需紧扣开化特色。评选标准涵盖创意、文化呈现和技术应用等方面。比赛设擂主奖及多项奖项。报名截止至2025年6月30日,作品提交截止至8月15日。
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
科技巨头加倍押注生成式 AI
谷歌母公司 Alphabet 计划 2023 年投入约 750 亿美元用于资本支出,主要用于数据中心扩建、芯片与服务器采购,支持核心业务及 AI 服务发展。CEO 皮查伊强调,此举将提升搜索等领域的竞争力,并推动 Gemini 等生成式 AI 模型进步。尽管经济形势不明朗,谷歌仍对 AI 领域充满信心,认为其投资将惠及消费者与企业客户。同时,微软与 Meta 等巨头也在加大 AI 基础设施投入,竞争激烈。普通人可从学习 AI 技能、结合自身领域、利用工具提效等方面抓住 AI 时代的机遇。相关学习资源包括《跟老卫学 AI 大模型开发》教程及 HarmonyOS NEXT+AI 课程。
178 1
科技巨头加倍押注生成式 AI
|
弹性计算 Java PHP
新手用户注册阿里云账号、实名认证、购买云服务器图文教程参考
对于初次购买阿里云产品的用户来说,第一步要做的是注册账号并完成实名认证,然后才是购买阿里云服务器或者其他云产品,本文为大家以图文形式展示一下新手用户从注册阿里云账号、实名认证到购买云服务器完整详细教程,以供参考。
新手用户注册阿里云账号、实名认证、购买云服务器图文教程参考
|
文字识别 算法 API
视觉智能开放平台产品使用合集之uniapp框架如何使用阿里云金融级人脸识别
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
468 0