高姿态下的面部表情识别系统

news2024/9/21 4:25:56

效果展示:

python表情、性别识别

面部表情识别 (FER) 在计算机安全、神经科学、心理学和工程学方面有大量应用。由于其非侵入性,它被认为是打击犯罪的有用技术。然而,FER 面临着几个挑战,其中最严重的是它在严重的头部姿势下的预测准确性差。因此,本研究的目的是通过提出一种基于椭圆模型、AdaBoost 高级集成和饱和向量机 (SVM) 的鲁棒 3D 头部跟踪算法来提高严重头部姿势的识别精度。使用椭圆跟踪模型从一帧到下一帧跟踪 FER 特征,并使用 Gabor 滤波器提取可见的表情面部关键点。然后使用集成算法 (Ada-AdaSVM) 进行特征选择和分类。使用博斯普鲁斯海峡、BU-3DFE、MMI、CK + 和 BP4D-自发面部表情数据库对所提出的技术进行评估。整体表现出色。

介绍

应用

面部表情识别 (FER) 是使用基于计算机的技术自动检测人脸的情绪状态。该研究领域是目前的研究热点,因为它在心理学、社会学、健康科学、交通、游戏、通信、安全和商业等多个领域的应用越来越多。根据 Panksepp [ 1 ] 的说法,面部表情和情绪以多种方式指导人们的生活,情绪是启发我们应该如何行动的关键方面,从基本过程到最复杂的行为 [2 , 3 ]。

在神经精神并发症中使用面部表情的零星进展已经显示出更多积极的结果 [ 4 ],目前的研究主要集中在人类行为和精神疾病的检测上 [ 5 , 6 ]。

FER 还会影响特定研究项目中的数据收集。例如,Shergill 等人。[ 7 ] 提出了一种可以在电子商务中实现的智能助手 FER 框架,以确定客户的产品偏好。当他们浏览电子商店以获取要购买的产品时,系统会捕获面部数据。基于面部表情,系统可以自动推荐更多可能感兴趣的产品。

人们的某些生理特征已被发现可用作搜索罪犯的智能数据 [ 8、9 ]。该理论基于具有自我意识的人犯下高调犯罪(例如恐怖主义)的倾向,表现出特定的情绪,例如愤怒和恐惧。因此,准确识别这些表达方式可能会导致采取进一步的安全措施来逮捕罪犯。

FER 在视频游戏的测试阶段也很有价值。经常邀请目标群体在一定时间内玩游戏,并在玩游戏时观察他们的行为和情绪。游戏开发者可以使用 FER 技术获得更多关于游戏过程中记录的情绪的洞察和有价值的推论,并将反馈纳入生产。

使用二维人脸数据的技术问题

二维 (2D) FER 系统对头部方向极其敏感。因此,要获得良好的效果,主体必须始终处于正面平行方向。由此产生的问题是大多数站点访问系统的吞吐量显着降低。这意味着受试者经常需要进行多次验证才能获得理想的面部方向。因此,监视系统靠运气运行,希望对象面对摄像机。

使用 2D 技术产生的另一个问题是周围环境的照明条件。如果对象处于光照条件不断变化的环境中,则 FER 的准确性会降低,因为 FER 过程对光照方向和随后的阴影模式很敏感。因此,投射阴影可能会通过隐藏信息特征来阻碍识别。

三维 (3D) FER 系统具有比 2D 系统更高的检测率,因为它们具有更高的强度模态,并且它们还具有更多的对象描述几何信息[ 10、11 ]。这证明了将 FER 推向更高的面部方向以提高其真实性和实用性的重要性。

方法

我们使用 3D 面部数据从一帧到下一帧稳健地跟踪面部特征。使用 3D 数据,可以在每一帧中正确估计对象的大小和形状等信息,而无需事先假设。

首要任务是检测每一帧中的焦点。下一步是在所有帧中搜索匹配的特征或对象。此方法解决了移动对象的变化行为和场景的先前注释。在这种方法中,通过从先前帧 [ 22、23 ] 迭代更新对象位置来投影对象的位置。

架构框架

图 1显示了本研究的框架。

图。1

 

本研究的架构框架

此过程使用建议的椭圆体模型上传图像并跨帧稳健地跟踪特征。随后,使用了 Gabor 特征提取方法。特征点提取 部分解释了在本研究中使用 Gabor 特征的原因。使用 Ada-AdaSVM 执行特征选择和分类。

椭球特征跟踪法

从前额到左脸颊、下巴、右脸颊,再回到前额上跟踪开始的同一点,准确地跟踪人脸,可以准确无误地证明人脸的形状最好是椭圆形。因此,考虑到图2中具有跨帧跟踪N 个特征点的3D 面部表示 ,我们表示:

这是一个多视图系统,其假设是摄像机位于主体周围以捕捉各种旋转运动。因此,可以在任何方向上以高精度捕获面部图像。我们以与 2D 图像相同的方式提取特征。左右眼、嘴唇和脸颊周围的肌肉是需要考虑的重要面部部位。轻微的破坏主要会严重扭曲这些地方的肌肉。然后使用 Gabor 技术提取捕获的人脸的特征。

该算法对一个过程建模,该过程选择一组特征并从一帧到下一帧稳健地跟踪它们,同时丢弃不再需要跟踪的所有其他特征。如图3所示,椭圆体3D人脸被建模 。

该算法使用亮度变化约束 [ 24 ]跟踪从一帧到下一帧的轻微变形更明显的面部特征。这些肌肉通常靠近眼睛、嘴巴、脸颊和边缘,如图 4 和图 3中的轮廓 τ 所示。 

其中I是表情脸的子图像;和分别是每个 Gabor 核的实部和虚部;星号 (*) 是卷积运算符。表示特征向量的最终幅度响应是通过确定G 12的平方和的平方根来计算的。图 5显示了模板图像的幅度响应。
 

表情面部图像的 Gabor 幅度响应:示例图像(左),40 个 Gabor 滤波器的整个 Gabor 滤波器组的幅度响应图像(右)

面部表情数据集

该算法在五个流行的数据集上进行了训练和测试:Bosphorus、BU-3DFE、MMI、CK + 和 BP4D-Spontaneous,并在(4 个 CPU)、大约 2.2 GHz 处理器和 8192 MB RAM 的内存容量上执行。

结果与讨论

数据库实验

博斯普鲁斯海峡包含 105 名受试者的 4666 张图像 [ 26 ],其中包括 60 名男性和 5 名女性,其中大多数是高加索人;其中 27 位是专业演员,姿势、表情和遮挡条件各不相同。除了 6 种基本的情绪表达外,还出现了各种系统的头部姿势(13 种偏航和俯仰旋转)。纹理图像的分辨率为 1600 × 1200 像素,而 3D 人脸包含大约 35,000 个顶点 [ 27 ]。图 6展示博斯普鲁斯海峡的示例数据集。遮挡图像被丢弃,因为它们不是本研究的重点。使用的数据集包括 6 个姿势和 7 个表情。使用传统的 LOSOCV 方法将图像划分为训练集和测试集。在每次训练运行期间,将来自 6 组表情中每组的一个样本用作测试数据集,而其余样本用作测试集。表1总结了博斯普鲁斯海峡的 FER。 

BU-3DFE 数据库是在宾厄姆顿大学创建的 [ 28 ]。有 100 名受访者,年龄从 18 岁到 70 岁不等。白人、黑人、东亚人、中东亚人、印度人和西班牙裔都属于这些族群。每个参与者展示 4 个强度级别的 7 个表情,包括中性和 6 个原型面部表情。图 7显示了数据库中的样本数据集。使用与博斯普鲁斯海峡数据集相同的 LOSOCV 方法将图像分为训练集和测试集,平均识别准确率为 94.56%。

图 7

 

CK+数据库是210成人CK数据库的一个版本。参与者年龄在 18 至 50 岁之间,女性占 69%,欧美裔占 81%,非裔美国人占 13%,其他种族占 6%。这些表情包括愤怒、蔑视、厌恶、恐惧、快乐、悲伤和惊讶。图 9显示了示例数据集。使用十倍交叉验证程序将数据集划分为训练集和测试集。平均识别准确率为99.48%。

图 9

CK+数据库中的样本图像

最后,BP4D-Spontaneous 数据集是年轻人自发面部表情的 3D 视频集合。该数据库包含 41 名受试者(23 名女性和 18 名男性),年龄从 18 岁到 29 岁不等,其中包括 11 名亚洲人、6 名非洲裔美国人、4 名西班牙裔美国人和 20 名欧洲裔美国人。图 10显示了示例图像。我们提取了愤怒、厌恶、恐惧、痛苦、快乐、悲伤和惊讶的表情。使用十倍交叉验证将数据集划分为训练集和测试集。平均识别准确率为97.2%。

 

 

 

BU3DFE 数据集示例

MMI 数据库包含 20 多名学生和研究人员提交的 2900 多个高分辨率视频,其中 44% 是女性,年龄从 19 岁到 62 岁不等。总共包括 75 个受试者,图 8显示了样本。使用 LOSOCV 技术将数据集划分为训练集和测试集。在每次训练运行期间,将来自 7 种表达式中的每一种的一个样本用作测试数据集。其余样本用作训练集。对于每个训练周期,用新的测试样本重复样本。这些表情包括愤怒、厌恶、恐惧、快乐、中性、悲伤和惊讶。平均识别准确率为97.2%。图 11和12分别展示了博斯普鲁斯海峡数据库中面部表情和姿势预测的混淆矩阵。图 13、14、15和16分别显示了BU3DFE 、 MMI 、CK + 和BP4D -Spontaneous 中 FER的其余混淆矩阵。

方法比较

在表2中,将所提出的方法与一些最新技术进行了比较。这些结果清楚地表明所提出的方法是有前途的。图 17、18和19显示了7 种面部表情中每一种的表现。在 BU3DFE 数据库中,许多作者未能报告中性表达的表现;因此,使用其他 6 个进行比较。图17中显示的性能 令人鼓舞。图 18显示了 CK+ 数据库的性能。尽管如图18所示的结果 描绘了三种当前方法之间的激烈竞争[ 29、30、31],总体平均识别表明所提出的技术是有前途的。在博斯普鲁斯海峡数据库中,所提出的方法优于最新的方法(图 19)。无法对 MMI 和 BP4D-Spontaneous 数据库中各个 FER 原型的性能进行比较,因为在编译时没有用于比较的报告数据。使用 ANOVA 的统计分析显示以下性能结果:

结论

这项研究提高了更高姿势的 FER 性能。已经建立了 2D 姿态转换方案,以在小尺度姿态变化中成功处理姿态不变的 FER 问题。然而,由于图像的不连贯性,它们经常无法获得大规模、深度的面部变化。人脸几何形状是椭圆形;因此,使用椭圆模型从一帧到下一帧稳健地跟踪特征点。我们使用 Gabor 特征提取技术来提取显着的可见特征,主要是在脸颊、眼睛、嘴巴和鼻梁周围。Gabor 特征提取算法对本研究很有用,因为它对方向、定位和频率具有选择性。然后,我们使用结合了 SVM 和 AdaBoost 的集成分类技术进行特征选择和分类。所提出的技术优于最新和流行的方法。将来,我们打算使用其他特征提取方法(例如 LBP 和 LBP + HOG)来研究这个问题。

 

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅谈二维数组元素的地址

一维数组元素的地址大家都比较容易理解,但对于二维数组,就很容易搞混了.今天我又被这个问题给弄糊涂了,翻了翻老谭的书本,对这个问题有了更深的认识. 首先给出一个二维数组a,它的定义为: int a[3][4] {{1,3,5,7}, {9,…

同花顺2023届春招内推

同花顺2023届春招开始啦! 同花顺是国内首家上市的互联网金融信息服务平台,如果你对互联网金融感兴趣,如果你有志向在人工智能方向发挥所长,如果你也是一个激情澎湃的小伙伴,欢迎加入我们!岗位类别&#xf…

企业级信息系统开发学习笔记1.1 初探Spring——采用Spring配置文件管理Bean

文章目录零、本讲学习目标一、Web开发技术二、Spring框架(一)Spring官网(二)Spring框架优点(三)为什么要选择Spring?(四) Spring框架因何而来(五)…

寒假学习内容总结

1.html看视频过了一遍,没什么要学的。 2.CSS系统学习完了 全程做了详细的笔记 并复刻了几个网页页面 规范了自己的css代码书写方式 http://t.csdn.cn/VxOih css引入方式,字体, 文本水平对齐方式,选择器,快捷语法&…

解决Idea启动项目失败,提示Error running ‘XXXApplication‘: Command line is too long

IDEA版本为:IntelliJ IDEA 2018.2 (Ultimate Edition)一、问题描述有时当我们使用IDEA,Run/Debug一个SpringBoot项目时,可能会启动失败,并提示以下错误。Error running XXXApplication: Command line is too long. Shorten comman…

Transformer简介

Transformer: 总体架构 Transformer是“编码器—解码器”架构,由编码器(encoder)和解码器(decoder)组成,其都是多头自注意力模块的叠加。其中,input sequence分成两部分,分别为源(input)输入序列和目标(output)输出序列。前者输入…

包管理工具-npm-npx-yarn-cnpm

代码共享方案 在我们通过模块化的方式将代码划分成一个个小的结构后,在以后的开发中我们就可以通过模块化的方式来封装自己的代码,并且封装成一个工具,这个工具我们可以让同事通过导入的方式来使用,甚至你可以分享给世界各地的程…

数字货币的路在哪里?

在人工智能、分布式数据、边缘计算等核心技术不断发展和普及的过程中,Web3 以其对传统互联网的惊人重塑展现出无穷的发展潜力。在最初的构想中,数字货币是方便用户在 Web3 世界自由交互的通行证。但随着加密货币市场刚刚从长期的动荡中缓慢复苏&#xff…

4个月的测试经验,来面试就开口要17K,面试完,我连5K都不想给他.....

2021年8月份我入职了深圳某家创业公司,刚入职还是很兴奋的,到公司一看我傻了,公司除了我一个测试,公司的开发人员就只有3个前端2个后端还有2个UI,在粗略了解公司的业务后才发现是一个从零开始的项目,目前啥…

系统应用 odex 转 dex

说下为什会有这个需求,以某系统应用为例,我们通过 adb 获取到的 apk 反编译查看只有少部分代码和资源,关键代码看不到。 经过一系列操作,把 odex 转换为 dex 可以看到源码。 工具下载 Smali 下载 1、使用 adb shell pm list pa…

SpringBoot框架SpEL表达式注入漏洞复现与原理分析

前言 这是2016年的一个洞,利用条件是至少知道一个触发 springboot 默认错误页面的接口及参数名。 影响版本:1.1.0-1.1.12 1.2.0-1.2.7 1.3.0 修复方案:升级版本 环境搭建 下载链接:https://github.com/LandGrey/SpringBootVu…

asyncexcel按类型分sheet导出相同数据

需求背景 看标题又是一个变态的需求,但是实际业务场景中确实存在。 既然有需求那我们就得支持。 那么这种场景下如何使用asyncexcel进行异步导出呢? 在之前的文章中我们已经实现了分sheet导出不同业务的数据了 那么此时的场景似乎也差不多&#xff0c…

Python open()函数详解:打开指定文件

在 Python 中,如果想要操作文件,首先需要创建或者打开指定的文件,并创建一个文件对象,而这些工作可以通过内置的 open() 函数实现。open() 函数用于创建或打开指定文件,该函数的常用语法格式如下:file ope…

git日常使用命令

实习这段时间使用了很多git指令来提交代码,简单记录一下日常使用的指令: 提交代码通常顺序: 1.git status 查看本地修改项 2.git add . 提交全部文件 (这个 .是全部文件)到暂存区 3.git commit -m ‘本次提交的说明’…

HTTPS基础原理和配置 - 1

近期又碰到了SSL相关的事情, 就心血来潮开个新专题 - 《HTTPS基础原理和配置》 本文是第一篇文章, 主要介绍SSL TLS加密协议的相关内容。 加密协议历史概要 SSL TLS加密协议其实并没有很长的历史,1995年网景发布了SSL v2.0,这也是web加密的开…

2023年,游戏行业将迎来两大重磅级盛会,释放哪些信号?

随着全球大流行的转变,各行业对于未来的预测也在不断调整,以便快速跟进,抢占先机,游戏行业也是如此。 2023年2月,将有两个重磅级的游戏产业盛会召开。 据中国音数协游戏工委官微消息,由中国音像与数字出版…

使用Autowired为什么会被IDEA警告,应该怎么修改最佳

问题原因 关于这个问题,其实答案相对统一,实际上用大白话说起来也容易理解。 初始化问题 先看一下Java初始化类的顺序:父类的静态字段 > 父类静态代码块 > 子类静态字段 > 子类静态代码块 > 父类成员变量 > 父类构造代码块 &…

python基于django+vue偏远地区教师支教系统

角色:老师、学校、管理员 前台应包括:首页、支教岗位、志愿老师、老师分享、公告信息、平台简介、个人中心 1、首页:把导航条上的支教岗位、志愿老师、老师分享、公告信息显示并能点击查看。 2、支教岗位,根据不同类别岗位需求选择…

网络安全-PHPstudy环境搭建

网络安全-PHPstudy环境搭建 网络搭建我是专家,安全我懂的不多,所以可能很基础。。因为我自己都不懂,都是跟着课程学的 PHPstudy 这个东东是一个在windwos下可以快速部署的web开发环境,安装了就能用,也支持iis和ngin…

MySQL入门篇-MySQL表连接小结

备注:测试数据库版本为MySQL 8.0 这个blog我们来聊聊常见的表连接的方法 测试数据: create table t1(id int); create table t2(id int);insert into t1 values(1); insert into t1 values(2);insert into t2 values(2); insert into t2 values(3); commit;内连接 --求交集 …