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


本文作者:李尊


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

目录
打赏
0
0
0
0
14291
分享
相关文章
HarmonyOS NEXT AI基础视觉服务-人脸识别
这是一个基于AI基础视觉服务的人脸识别案例,通过调用设备相册选择图片,利用MediaLibraryKit、ImageKit和CoreVisionKit等模块完成图像处理与人脸检测,并展示结构化结果。核心功能包括:相册访问授权、图像数据转换、人脸位置及特征点检测,最终以弹窗形式输出检测信息。代码涵盖模块导入、功能实现与UI构建,适合学习AI视觉应用开发流程。
从春招“AI热潮”看科技变革中的就业新趋势
随着2025年春招市场的火热,人工智能(AI)相关岗位成为求职焦点。AI技术的快速发展不仅催生了大量新兴职业,还推动了就业市场的转型。从传统岗位的自动化替代到新职业的涌现,AI正深刻改变着职业结构与就业形态。面对这一变革,求职者需主动学习AI技能、培养跨界能力并关注新兴领域。生成式人工智能认证(GAI认证)更成为提升竞争力的关键。同时,企业应加大AI技术研发投入,构建人才生态,推动技术与业务深度融合,共同开创人机协作的新未来。
TsingtaoAI亮相2025青岛西海岸科技成果对接会,以具身智能实训赋能AI人才培养
3月26日青岛——由青岛市科学技术局指导、青岛西海岸新区管委联合上海技术交易所等多家机构主办的“2025青岛西海岸新区科技成果对接会”在青岛金沙滩蓝海御华酒店盛大启幕。青岛市委常委,西海岸新区工委书记、区委书记孙永红,青岛市科学技术局副局长张栋华和上海技术交易所总裁颜明峰等参加会议并致辞。TsingtaoAI受邀参会并发表主题分享,公司负责人汶生以《基于DeepSeek的具身智能实训》为题,向与会嘉宾展示了AI具身智能技术如何突破传统边界,助力AI人才从实验室走向产业一线。
25 1
中国AI崛起与生成式人工智能(GAI)认证:驱动全球科技变革的人才战略
本文探讨了中国在人工智能(AI)领域的崛起及其对全球科技和经济的影响。文章回顾了中国AI研究的发展历程,从引进吸收到自主创新,政府政策支持与企业投入推动了AI技术的突破与广泛应用。同时,生成式人工智能(GAI)认证的重要性被强调,其为AI人才培养提供了专业标准,助力行业规范化发展。未来,中国将继续深化AI研究,加强国际交流,通过技能认证项目如GAI认证,为AI领域培养更多高素质人才,推动全球AI技术的繁荣发展。
【01】人形机器人研究试验-被有些网友痛骂“工业垃圾”“人工智障”上春晚的人形AI机器人-宇树科技机器人到底怎么样??-本系列优雅草卓伊凡亲自尝试下人形机器人的制造-从0开始学习并且制作机器人-可以跟随卓伊凡
【01】人形机器人研究试验-被有些网友痛骂“工业垃圾”“人工智障”上春晚的人形AI机器人-宇树科技机器人到底怎么样??-本系列优雅草卓伊凡亲自尝试下人形机器人的制造-从0开始学习并且制作机器人-可以跟随卓伊凡
100 1
【01】人形机器人研究试验-被有些网友痛骂“工业垃圾”“人工智障”上春晚的人形AI机器人-宇树科技机器人到底怎么样??-本系列优雅草卓伊凡亲自尝试下人形机器人的制造-从0开始学习并且制作机器人-可以跟随卓伊凡
m基于深度学习网络的活体人脸和视频人脸识别系统matlab仿真,带GUI界面
m基于深度学习网络的活体人脸和视频人脸识别系统matlab仿真,带GUI界面
150 0
深入浅出:使用Python实现人脸识别系统
在当今数字化时代,人脸识别技术已成为安全验证、个性化服务等领域的关键技术。本文将引导读者从零开始,逐步探索如何利用Python和开源库OpenCV来构建一个基础的人脸识别系统。本文不仅会详细介绍环境搭建、关键算法理解,还会提供完整的代码示例,帮助读者理解人脸识别的工作原理,并在实际项目中快速应用。通过本文,您将能够掌握人脸识别的基本概念、关键技术和实现方法,为进一步深入学习和研究打下坚实的基础。

雷锋网

+ 订阅

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等