如何判断人脸识别是否准确?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


本文作者:李尊


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

相关文章
|
6月前
|
人工智能 计算机视觉
HarmonyOS NEXT AI基础视觉服务-人脸识别
这是一个基于AI基础视觉服务的人脸识别案例,通过调用设备相册选择图片,利用MediaLibraryKit、ImageKit和CoreVisionKit等模块完成图像处理与人脸检测,并展示结构化结果。核心功能包括:相册访问授权、图像数据转换、人脸位置及特征点检测,最终以弹窗形式输出检测信息。代码涵盖模块导入、功能实现与UI构建,适合学习AI视觉应用开发流程。
|
3月前
|
机器学习/深度学习 人工智能 算法
ai赋能科技
本内容探讨了AI技术在教育领域的深度应用,涵盖教学设计、课堂互动、科研赋能、教学管理和伦理实践五大方面。从智能备课到动态学情分析,从跨学科创新到自动化评估,展示了AI如何优化教育全流程。同时强调数据安全与算法公平性,确保技术发展不偏离教育本质。最后指出,在AGI时代,学习AI大模型不仅是为了适应技术浪潮,更是为了填补400万人才缺口,成为高薪“AI+”岗位的抢手人才。教育的目标已转变为培养驾驭AI的思考者,而不仅仅局限于竞争者角色。
96 1
|
4月前
|
人工智能 定位技术
挑战杯丨2025年度中国青年科技创新“揭榜挂帅”擂台赛阿里云榜题发布!用AI助力乡村振兴丨云工开物
第十九届“挑战杯”竞赛2025年度中国青年科技创新“揭榜挂帅”擂台赛,由阿里巴巴公益、阿里云等主办。赛事以AI技术助力乡村振兴为主题,鼓励高校师生设计长虹乡特色文创产品、农特产品包装等。作品需紧扣开化特色。评选标准涵盖创意、文化呈现和技术应用等方面。比赛设擂主奖及多项奖项。报名截止至2025年6月30日,作品提交截止至8月15日。
|
5月前
|
存储 人工智能 监控
星云智控科技-优雅草星云物联网AI智控系统软件产品技术栈一览表-优雅草卓伊凡
星云智控科技-优雅草星云物联网AI智控系统软件产品技术栈一览表-优雅草卓伊凡
152 7
星云智控科技-优雅草星云物联网AI智控系统软件产品技术栈一览表-优雅草卓伊凡
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
科技巨头加倍押注生成式 AI
谷歌母公司 Alphabet 计划 2023 年投入约 750 亿美元用于资本支出,主要用于数据中心扩建、芯片与服务器采购,支持核心业务及 AI 服务发展。CEO 皮查伊强调,此举将提升搜索等领域的竞争力,并推动 Gemini 等生成式 AI 模型进步。尽管经济形势不明朗,谷歌仍对 AI 领域充满信心,认为其投资将惠及消费者与企业客户。同时,微软与 Meta 等巨头也在加大 AI 基础设施投入,竞争激烈。普通人可从学习 AI 技能、结合自身领域、利用工具提效等方面抓住 AI 时代的机遇。相关学习资源包括《跟老卫学 AI 大模型开发》教程及 HarmonyOS NEXT+AI 课程。
111 1
科技巨头加倍押注生成式 AI
|
6月前
|
机器学习/深度学习 人工智能 算法
从春招“AI热潮”看科技变革中的就业新趋势
随着2025年春招市场的火热,人工智能(AI)相关岗位成为求职焦点。AI技术的快速发展不仅催生了大量新兴职业,还推动了就业市场的转型。从传统岗位的自动化替代到新职业的涌现,AI正深刻改变着职业结构与就业形态。面对这一变革,求职者需主动学习AI技能、培养跨界能力并关注新兴领域。生成式人工智能认证(GAI认证)更成为提升竞争力的关键。同时,企业应加大AI技术研发投入,构建人才生态,推动技术与业务深度融合,共同开创人机协作的新未来。
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
TsingtaoAI亮相2025青岛西海岸科技成果对接会,以具身智能实训赋能AI人才培养
3月26日青岛——由青岛市科学技术局指导、青岛西海岸新区管委联合上海技术交易所等多家机构主办的“2025青岛西海岸新区科技成果对接会”在青岛金沙滩蓝海御华酒店盛大启幕。青岛市委常委,西海岸新区工委书记、区委书记孙永红,青岛市科学技术局副局长张栋华和上海技术交易所总裁颜明峰等参加会议并致辞。TsingtaoAI受邀参会并发表主题分享,公司负责人汶生以《基于DeepSeek的具身智能实训》为题,向与会嘉宾展示了AI具身智能技术如何突破传统边界,助力AI人才从实验室走向产业一线。
133 1
|
人工智能 缓存 NoSQL
【深度】企业 AI 落地实践(四):如何构建端到端的 AI 应用观测体系
本文探讨了AI应用在实际落地过程中面临的三大核心问题:如何高效使用AI模型、控制成本以及保障输出质量。文章详细分析了AI应用的典型架构,并提出通过全栈可观测体系实现从用户端到模型推理层的端到端监控与诊断。结合阿里云的实践经验,介绍了基于OpenTelemetry的Trace全链路追踪、关键性能指标(如TTFT、TPOT)采集、模型质量评估与MCP工具调用观测等技术手段,帮助企业在生产环境中实现AI应用的稳定、高效运行。同时,针对Dify等低代码平台的应用部署与优化提供了具体建议,助力企业构建可扩展、可观测的AI应用体系。
|
1月前
|
机器学习/深度学习 人工智能 PyTorch
GPT为定制AI应用工程师转型第一周学习计划
本计划帮助开发者快速入门AI领域,首周涵盖AI基础理论、Python编程及PyTorch实战。前两天学习机器学习、深度学习与Transformer核心概念,掌握LLM工作原理。第三至四天快速掌握Python语法与Jupyter使用,完成基础编程任务。第五至七天学习PyTorch,动手训练MNIST手写识别模型,理解Tensor操作与神经网络构建。
113 0
|
2月前
|
人工智能 监控 数据可视化
BISHENG下一代企业AI应用的“全能型“LLM软件
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。