DeepFace ——用于高级人脸识别算法探索与应用

1. 概述


人脸识别作为人工智能和机器学习中的一个活跃领域,长期以来一直在追求模仿甚至超越人类视觉系统的能力。这项技术在安全、监控、身份验证等多个方面都有着广泛的应用,但同时也伴随着隐私、伦理和准确性等社会和文化方面的考量。

Meta(当时称为Facebook)为了缩小机器与人类在人脸识别方面的表现差距,推出了名为DeepFace的人脸识别框架。DeepFace模型通过在庞大的人脸图像数据集上进行训练,学习到复杂的特征表示,以实现高准确率的人脸识别。该框架的设计允许它在不同的数据集上进行极少的调整即可使用,并能够生成紧凑但富有表现力的人脸特征。

DeepFace框架利用了深度学习的强大能力,这种学习方式涉及使用多层神经网络来自动学习和提取数据中的特征。DeepFace网络架构的一个关键特点是它假设人脸在图像中的位置是固定的,这使得它可以直接使用原始像素值进行学习,而不需要像其他一些方法那样依赖于多层次的卷积操作来提取特征。

人脸识别的传统流程通常包括以下四个阶段:
(1). 检测:在图像或视频中定位人脸的位置。
(2). 对齐:调整人脸图像,使其眼睛、鼻子、嘴巴等特征对齐到标准位置。
(3). 表示:提取人脸的特征表示,这些特征随后用于识别。
(4). 分类:根据特征表示将人脸分类到正确的身份。

DeepFace框架的贡献在于:

  • . 开发高效的深度神经网络(DNN)架构,能够处理大规模数据集,并学习到可以泛化到其他数据集的人脸特征。
  • . 结合显式的3D人脸模型,开发出有效的人脸对齐系统,这有助于提高识别的准确性。

DeepFace的研究和开发是人脸识别技术发展史上的一个里程碑,它不仅推动了学术界和工业界在人脸识别领域的进步,也引发了关于技术应用和隐私保护之间平衡的广泛讨论。随着技术的不断进步,人脸识别的准确性和应用范围有望继续扩大,同时也需要更多的关注和措施来确保技术的正当使用。

2.模型构架

2.1 人脸对齐

人脸对齐技术是一种巧妙的方法,通过根据眼睛的位置来调整人脸图像的角度,确保了图像的标准化。这种技术在人脸识别领域的数据预处理中扮演着至关重要的角色,它通过提供一致的图像输入,极大地提升了识别算法的精确度。

尽管人脸对齐看似简单,但在实际操作中,它却是一项充满挑战的任务。人脸的表情变化、头部姿势、以及身体动态等因素,都可能对人脸对齐的准确性造成影响。为了应对这些难题,开发者们采用了一些高级技术,如利用3D人脸分析模型或在其他数据集中寻找基准点,以提高对齐的成功率。

尽管目前还没有一种完美的人脸对齐解决方案,但3D模型的使用提供了一种可能的解决路径。尽管3D模型的流行度在近年来有所下降,特别是在处理非约束性环境时,但鉴于人脸本身的三维特性,如果能够恰当应用,3D模型仍然是一个有力的工具。例如,DeepFace模型就采用了基准点来构建人脸的3D模型,并以此将人脸图像转换为标准化的正面视图。

DeepFace的对齐过程同样遵循了行业标准,使用了基准点检测器来指导对齐操作。DeepFace模型虽然采用了基础的点检测器,但它通过多次迭代应用这一技术,不断精细化最终的输出结果。模型中使用的是一个经过训练的支持向量回归器(SVR),它能够根据图像描述符在每次迭代中提取基准点。DeepFace的图像描述符主要基于局部二值模式(LBP)直方图,同时也会考虑其他特征以增强描述的准确性。

在这里插入图片描述

2.2 2D人脸对齐

DeepFace模型通过检测检测作物内的六个基准点来启动对齐过程,这些基准点以眼睛中部、嘴巴位置和鼻尖为中心。 它们用于旋​​转、缩放图像并将其平移到六个锚点位置,并对扭曲的图像进行迭代,直到没有可见的变化。 然后聚合转换生成一个 2D 对齐的公司。 该对齐方法与 LFW-a 中使用的方法非常相似,多年来一直使用该方法来尝试提高模型精度。

2.3 3D人脸对齐

为了通过平面外旋转对齐人脸,DeepFace 框架使用通用 3D 形状模型,并注册一个 3D 相机,该相机可用于将 2D 对齐的公司包装到其图像平面中的 3D 形状。 结果,模型生成了公司的 3D 对齐版本,并通过使用第二个 SVR 或支持向量回归器在 67D 对齐公司中定位额外的 2 个基准点来实现。

然后,模型手动将 67 个锚点放置在 3D 形状上,从而能够实现 3D 参考与其相应基准点之间的完全对应。 在下一步中,使用广义最小二乘解将 3D 到 2D 仿射相机添加到具有已知协方差矩阵的线性系统中,以最小化某些损失。

2.4 正面投影

由于未对非刚性变形和全透视投影进行建模,因此安装的 3D 到 2D 相机仅用作近似值。 为了减少最终扭曲中重要的身份承载因素的损坏,DeepFace 模型将相应的残差添加到每个参考基准点的 xy 分量中。 这种为了扭曲 2D 图像而减少对身份的扭曲的目的的放松是合理的,如果没有它,脸部将在 3D 中扭曲成相同的形状,并在此过程中失去重要的区分因素。

最后,该模型通过使用由 67 个基准点导出的 Delaunay 三角剖分指导的分段仿射变换来实现正面化。

(1). 检测到的人脸有 6 个基准点。
(2). 诱导二维对齐公司。
(3). 67D 对齐公司上有 2 个基准点。
(4). 参考 3D 形状转换为 2D 对齐的企业图像。
(5). 相对于 3D-2D 相机的三角形可见性。
(6). 67D 模型诱导的 3 个基准点。
(7). 最终公司的 3D 对齐版本。
(8). 3D 模型生成的新视图。

2.5 代表性

随着训练数据量的增加,事实证明,与工程特征相比,基于学习的方法更加高效和准确,主要是因为基于学习的方法可以发现和优化特定任务的特征。

3. DNN 架构和训练

DeepFace DNN 经过多类人脸识别任务的训练,对人脸图像的身份进行分类。

上图代表了DeepFace模型的整体架构。 该模型有一个卷积层 (C1),具有 32 个大小为 11x11x3 的滤波器,该层被输入大小为 3×3 像素的 152D 对齐 152 通道 RGB 图像,并生成 32 个特征图。 然后,这些特征图被馈送到最大池化层或 M2,该层在 3×3 空间邻域中取最大值,并且每个通道的步幅为 2。 接下来是另一个卷积层 (C3),它包含 16 个滤波器,每个滤波器大小为 9x9x16。 这些层的主要目的是提取低级特征,例如纹理和简单边缘。 使用最大池化层的优点在于,它使卷积层生成的输出对局部翻译更加鲁棒,并且当应用于对齐的人脸图像时,它们使网络对小规模的配准错误更加鲁棒。

多个级别的池化确实使网络在某些情况下更加稳健,但它也会导致网络丢失有关微纹理和详细人脸结构的精确位置的信息。 为了避免网络丢失信息,DeepFace 模型仅在第一个卷积层中使用最大池化层。 然后,模型将这些层解释为前端自适应预处理步骤。 尽管它们完成了大部分计算,但它们本身的参数有限,并且它们只是将输入扩展为一组局部特征。

接下来的 L4、L5 和 L6 层在本地连接,就像卷积层一样,它们应用滤波器组,其中特征图中的每个位置都学习一组独特的滤波器。 由于对齐图像中的不同区域具有不同的局部统计量,因此它不能满足空间平稳性假设。 例如,与嘴和鼻子之间的区域相比,眉毛和眼睛之间的区域具有更高的辨别能力。 忠诚层的使用会影响训练参数的数量,但不会影响特征提取期间的计算负担。

DeepFace 模型首先使用三层只是因为它拥有大量标记良好的训练数据。 局部连接层的使用可以进一步证明是合理的,因为局部连接层的每个输出单元都可能受到大量输入数据的影响。

最后,顶层完全连接,每个输出单元连接到所有输入。 这两层可以捕获人脸图像不同部分捕获的特征之间的相关性,例如嘴的位置和形状以及眼睛的位置和形状。 第一个全连接层(F7)的输出将被网络用作其原始人脸表示特征向量。 然后,该模型会将最后一个全连接层 (F8) 的输出馈送到 K 路 softmax,生成类标签上的分布。

4. 数据集

DeepFace 模型使用数据集组合,其中以社交人脸分类或 SFC 数据集为主要数据集。 此外,DeepFace模型还使用了LFW数据集和YTF数据集。

4.1 证监会数据集

SFC 数据集是从 Facebook 的图片集合中学习得到的,它由 4.4 人的 4,030 万张标记图像组成,每个人有 800 到 1200 张面孔。 SFC 数据集每个身份的最新 5% 的人脸图像被保留用于测试目的。

4.2 LFW 数据集

LFW 数据集包含超过 13,323 名名人的 6,000 张照片,然后将这些照片分为 10 个分区中的 XNUMX 对脸部。

4.3 YTF 数据集

YTF 数据集由 3,425 个主题的 1,595 个视频组成,它是 LFW 数据集中名人的子集。

5. 成果

在没有正面化且仅使用 2D 对齐的情况下,模型的准确度得分仅为 94.3% 左右。当模型使用人脸检测的center corp时,它不使用任何对齐,在这种情况下,模型返回的准确度分数为87.9%,因为人脸区域的某些部分可能会落在center corp之外。为了单独评估人脸表示的判别能力,该模型遵循无监督学习设置来比较归一化特征的内积。它将模型的平均准确率提高到 95.92%

上述模型比较了 DeepFace 模型与其他最先进的人脸识别模型的性能。

上图描绘了数据集上的 ROC 曲线。

6.总结

理想情况下,人脸分类器能够以人类的准确度识别人脸,并且无论图像质量、姿势、表情或照明如何,它都能够返回高精度。 此外,理想的人脸识别框架只需很少的修改或无需修改即可应用于各种应用。 尽管 DeepFace 是目前最先进、最高效的人脸识别框架之一,但它并不完美,在某些情况下可能无法提供准确的结果。 但是 DeepFace 框架是人脸识别行业的一个重要里程碑,它通过利用强大的度量学习技术缩小了性能差距,并且随着时间的推移,它将继续变得更加高效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/674753.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

fly-barrage 前端弹幕库(6):实现人像免遮挡

项目官网地址:https://fly-barrage.netlify.app/; 👑🐋🎉如果感觉项目还不错的话,还请点下 star 🌟🌟🌟。 Gitee:https://gitee.com/fei_fei27/fly-barrage&a…

【matlab】绘图插入并放大/缩小子图

参考链接 代码分为两个:绘图代码与magnify.m 绘图代码就是普通的绘图代码,以下为例 %https://zhuanlan.zhihu.com/p/655767542 clc clear close all x 0:pi/100:2*pi; y1 sin(x); plot(x,y1,r-o); hold on y2sin(x)-0.05; y3sin(x)0.05; xlim([0 2*…

ai写真软件有哪些?轻松创造艺术写真照

艺术写真照是艺术与日常之间的桥梁,它将艺术的边界延伸到了我们的日常生活中,让每个人都能够通过AI技术,将平凡的瞬间转化为艺术的永恒。 那AI写真怎么样呢?今天,本文将推荐几款AI写真软件,它们将帮助你轻…

CXL (1)

为什么有CXL CXL说到底 是为了打破内存墙而生的 CXL全称是Compute Express Link, 可以用来连接CPU,以及其他任何计算单元,比如GPU。 CXL和PCIe跑在一样的physical layer上,与PCIe不一样的是,CXL允许CPU和连接的设备共…

csrf漏洞与ssrf漏洞

环境:用kali搭建的pikachu靶场 一.CSRF 1.CSRF漏洞简介 跨站请求伪造(CSRF)漏洞是一种Web应用程序安全漏洞,攻击者通过伪装成受信任用户的请求来执行未经授权的操作。这可能导致用户在不知情的情况下执行某些敏感操作&#xff0…

21、matlab生成脉冲序列:pulstran()函数

1、pulstran()函数 1)语法 语法1:y pulstran(t,d,func,fs) 基于连续函数的采样产生脉冲序列。 语法2:y pulstran(t,d,p) 生成一个脉冲序列,该脉冲序列是向量p中原型脉冲的多个延迟插值的总和。 语法3:y pulstran…

echarts柱状图坐标轴的内容太长导致显示不全的两种解决办法

情况一:坐标上的内容是文字时 width: 60,//将内容的宽度固定 overflow: truncate,//超出的部分截断 truncate: ...,//截断的部分用...代替 情况二:如果纵坐标上是数字 grid: {top: "15%",left: "2%",right: "2%",bottom:…

西贝柳斯终极版2023:Mac上的简易音乐记谱神器,谱写未来

Avid Sibelius Ultimate 2023 for Mac是一款专为Mac用户设计的音乐记谱软件,它以其强大的功能和直观的操作界面,为音乐创作者们提供了一个高效、便捷的创作平台。 一、音乐创作的得力助手 Sibelius Ultimate 2023不仅适用于有抱负的作曲家和词曲作者&a…

OpenCV中的圆形标靶检测——斑点检测算法(一)

1.导读 在上一节内容中我们简要描述了OpenCV中实现圆形标靶检测的API的使用方法,其处理流程可大致分为1)斑点形状的检测,和2)基于规则的斑点形状的过滤与定位。第一步将类似圆斑形状的区域检测出来,但可能存在一些误检测的噪声,第二步则利用圆斑的分布规则(M*N排列)进行…

海外仓系统介绍:一篇文章讲清楚这是什么,怎么选,有哪些坑

所谓的海外仓系统是一种管理海外仓的综合性工具,主要功能体现在海外仓仓储管理、一件代发订单处理、快递物流跟踪、数据统计、财务统计等方面。 因为海外仓的类型比较多,有大型集团化海外仓,起步阶段海外仓和中小型海外仓,家庭仓…

短视频矩阵系统搭建开发,ai智能剪辑系统,矩阵发布,一键管理多个账户

前言: 企业短视频矩阵是企业通过搭建多个短视频平台账号,形成一个多元化的内容传播网络。它旨在通过多平台内容的同步传播,实现企业品牌价值的最大化。短视频矩阵包括抖音、快手、视频号、小红书、百家号等热门短视频平台,其核心…

UTONMOS:元宇宙游戏,散发无尽魅力与可能

在数字世界的浩瀚星海中,utonmos元宇宙游戏宛如一颗璀璨的明珠,散发着无尽的魅力与可能。 utonmos可不单单只是一款游戏,它更是一个令人惊叹的全新虚拟宇宙,急切地等待着你去深入探索和豪迈征服。 在这里,你能随心所欲…

论文写作必备工具大揭秘:提升效率的终极指南

论文写作必备工具大揭秘:提升效率的终极指南 引言 不论你是文科、理工科还是商科的学生,面对论文的压力总是无法逃避的。临近期末,论文写作是不是让你头疼不已?别担心,你既然找到了这篇文章,就说明你渴望…

详解MyBatis(一)

目录 1.JDBC操作示例回顾 2.什么是MyBatis 3.MyBatis入门 3.1准备工作 3.2配置数据库连接字符串 3.3写持久层代码 3.4单元测试 ​4.MyBatis的基本操作 4.1打印日志 4.2参数传递 1.JDBC操作示例回顾 我们学习MySQL数据库时 ,已经学习了JDBC来操作数据库, 但…

企业微信hook接口协议,ipad协议http,一个用户多个标签

一个用户多个标签 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信 请求示例 {"uuid": "168885xxx599424","userid":0,//用户id"labelid_list":[ //标签id数组0] } 返回示例 {"data…

Nvidia Jetson/Orin +FPGA+AI大算力边缘计算盒子:公路智能巡检解决方案

项目背景 中国公路网络庞大,总里程超过535万公里,高速公路里程位居世界前列。面对基础设施存量的不断增长,公路养护管理已迈入“建管养并重”的新时代。随着养护支出的逐年攀升,如何提升养护效率、降低管理成本,成为亟…

流媒体服务器SMS-语音对讲(二)

1.简介 上篇文件介绍了流媒体与设备之间可能的交互场景,本文将介绍客户端或者web端与摄像头对讲的总体流程。 老规矩,介绍一下本人的开源流媒体,点个star,有兴趣一起开发的朋友也可以联系本人:https://gitee.com/inyem…

为什么我们需要用到空号检测

为什么需要空号检测 在我们进行群发短信营销和电话营销时,如果不提前对号码库进行空号筛选,那么会影响效率、浪费成本。 SUBMAIL 的空号检测,直接调用运营商的 API 接口进行数据对照,从而让手机号码的检测结果更加可靠。 空号检测…

Vercel deploy- Nextjs project error-URL link-env variable

Vercel deploy- Nextjs project error-URL link-env variable Error Check Database URL Check next-auth URL NEXTAUTH_URLhttps://yourappname.vercel.app/ 依次排查可能性 Application error: a server-side exception has occurred (see the server logs for more in…

sonobe:针对IVC的fold arithmetic电路实例

1. 引言 近日,arnaucube发推宣称 在EVM链(Optimistic)上验证了首个NovaCycleFold proof,对应开源代码实现见: https://github.com/privacy-scaling-explorations/sonobe(Rust Solidity) son…