当前位置: 首页 > news >正文

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

效果展示:

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)来研究这个问题。

 

 

 

 

 

相关文章:

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

效果展示: python表情、性别识别面部表情识别 (FER) 在计算机安全、神经科学、心理学和工程学方面有大量应用。由于其非侵入性,它被认为是打击犯罪的有用技术。然而,FER 面临着几个挑战,其中最严重的是它在严重的头部姿势下的预测…...

English Learning - Day59 作业打卡 2023.2.13 周一

English Learning - Day59 作业打卡 2023.2.13 周一引言1. 我有一些急事要处理。2. 这个孩子无忧无虑。3. 那个骑在白马上的姑娘是我姐姐。4. 对方正在给我们公司施加压力迫使我们降价。5. 我的医生告诉我要少吃垃圾食品。6. 我从来不熬夜。7.我早就想跟你聊一聊了。8.我一定不…...

图机器学习

图机器学习1、图机器学习导论1.1图神经网络与普通神经网络的异同2、图的基本表示和特征工程2.1 图的基本表示2.1.1 图的本体设计2.1.2 图的种类2.1.3节点连接数(度)2.1.4图的基本表示(邻接矩阵)节点数量少使用2.1.5图的基本表示&a…...

ArcGIS中ArcMap创建渔网Create Fishnet:生成指定大小的格网矢量文件

本文介绍在ArcMap软件中,通过“Create Fishnet”工具创建渔网,从而获得指定大小的矢量格网数据的方法。 首先,我们在创建渔网前,需要指定渔网覆盖的范围。这里我们就以四川省为例,在这一范围内创建渔网;其中…...

TensorRT中的自定义层

TensorRT中的自定义层 文章目录TensorRT中的自定义层9.1. Adding Custom Layers Using The C API9.1.1. Example: Adding A Custom Layer With Dynamic Shape Support Using C重要提示:覆盖检查索引小于pos的连接的格式/类型,但绝不能检查索引大于pos的连…...

部署智能合约到公链

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 🏅阿里云ACE认证高级工程师 🏅阿里云开发者社区专…...

Windows server——部署DNS服务(3)

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.管理DNS服务 1.子域 案例 2. 委派 案例 1)添加主机记录 …...

9. QML_OpenGL--2. 在QQuick中搭建加载OpenGL框架

1. 说明: OPenGL一般在 QtWidget 中使用,但目前使用 QML 做界面开发是一种趋势,同时在QML中使用OPenGL进行渲染也是十分必要,文章简单介绍如何在QML中使用 OPenGL,搭建了一种基本的框架。整体思路和在 QtWidget 中类似…...

亚马逊云科技携手滴普科技,打造数据智能新标杆

随着企业数字化转型的不断深入,数据对于业务的价值和重要性也逐渐凸显。越来越多企业意识到,只有不断提升底层数据基础平台的性能和能力,才能构建数据驱动的业务,增强企业核心竞争力。作为湖仓一体数据智能基础软件独角兽企业&…...

CGO 跨平台静态编译

什么是跨平台编译? 跨平台编译:即交叉编译,是在一个平台上生成另一个平台上的可执行文件。所谓平台,实际上包含两个概念:体系架构(Architecture)、操作系统 (Operating System)。同一个体系架构可以运行不同…...

股票买卖接口怎么来的?

现在股票买卖接口主要是在线上研发,有专业的开发团队进行源码开发和完善,但是,常常会在开发过程中出现问题,也就是遇到一些特殊的情况需要及时处理,那么股票买卖接口怎么开发实现出来的?一、股票买卖接口开…...

【Python学习笔记】29.Python3 面向对象

前言 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。 Python3 面向对象 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面…...

MySQL 索引

索引 索引是一种用于快速查询和检查数据的数据结构,其本质可以看成是一种排好序的数据结构。理解:索引的作用就相当于书的目录📚,可以根据目录快速定位到想要查看的位置。常见的索引结构:B Tree、B Tree、Hash、红黑树…...

学会使用LoadRunner录制脚本

1.LoadRunner安装 https://blog.csdn.net/weixin_48584088/article/details/129012469 2.Loadrunner的基本概念 LoadRunner是一种适用于许多软件体系架构的自动负载测试工具,从用户关注的响应时间、吞吐量, 并发用户和性能计数器等方面来衡量系统的性…...

产品经理必看的高效产品文档撰写指南

对于企业来说,如何推广自己的产品是一个非常重要的话题,而其中必要的就是创建企业产品宣传册,这对于产品宣传非常重要,尤其是一些大公司,非常重视这种产品展示方式。因为它可以更完整地展现产品,撰写一份合…...

Prometheus 的介绍和安装

介绍 Prometheus 是一个开源的监控和报警系统,最初由SoundCloud于2012年创建,随着越来越多的公司采用Prometheus以及非常活跃的社区,Prometheus于2016年加入云原生基金会,成为Kubernetes之后的第二个托管项目,并于2018年毕业。 特点 通过PromQL来对基于指标名称和键值对…...

ViewModel快速上手1-原生kotlin

ViewModel 原生支持 kotlin 案例 基本案例 viewmodel 是为了保存当当前 activity 切出或者销毁时,如何保存数据,以便下一次创建新的 activity 时进行调用 首先引入 lifecycle 依赖 implementation androidx.lifecycle:lifecycle-extensions:2.2.0 之后…...

Flutter(一)介绍、Dart语言简介

Flutter介绍 纯原生开发主要面临动态化更新和开发成本两个问题,而针对这两个问题,诞生了一些跨平台的动态化框架 跨平台技术简介 Flutter 是 Google 推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过 Dart 语言开…...

【数据结构】---顺序表的实现

最近学校开始学习数据结构了,没事就手搓一个顺序表。🌈线性表线性表是n个具有相同特性的数据元素的有限序列,是一种实际中广泛使用的数据结构,常见的线性表有顺序表、链表、栈、队列、字符串。线性表在逻辑上是线性结构&#xff0…...

JavaScript刷LeetCode拿offer-经典高频40题vaScript刷LeetCode拿offer-经典高频40题

工作太忙没有时间刷算法题,面试的时候好心虚。这里双手奉上40道LeetCode上经典面试算法题,整理的内容有点长,建议先收藏,慢慢消化,在来年顺利拿到满意的offer。 1、[LeetCode] 两数之和 给定一个整数数组和一个目标值…...

动态规划,这将是你见过最详细的讲解

文章目录一、为什么要讲动态规划呢?二、什么是动态规划三、感受一下递归算法、备忘录算法、动态规划递归算法带备忘录的递归解法(自定向下)自底向上的动态规划四、动态规划的解题套路1. 穷举分析2. 确定边界3. 确定最优子结构4. 写出状态转移…...

【服务器数据恢复】FreeNAS层UFS2文件系统数据恢复案例

服务器数据恢复环境: Dell存储服务器,采用esxi虚拟化系统,esxi虚拟化系统里有3台虚拟机;上层iSCSI使用FreeNAS构建,通过iSCSI方式实现FCSAN功能;FreeNAS层采用UFS2文件系统。 esxi虚拟化系统里有3台虚拟机中…...

Zookeeper安装和基本使用

目录标题一、下载二、安装三、启动客户端测试四、使用zk一、下载 注意:自zk3.5.5版本以后,已编译的jar包,尾部有bin,应该使用的是apache-zookeeper-3.8.0-bin.tar.gz。,因此在下载高版本时,因该下载后缀带b…...

字节面试惨败,闭关修炼再战美团(Android 面经~)

作者:王旭 前言 本人从事Android 开发已经有5年了,受末日寒气影响,被迫在家休整,事后第一家选择字节跳动面试,无奈的被面试官虐得“体无完肤”,好在自己并未气馁,于是回家开始回家进行闭关修炼…...

【机器学习实战】七、梯度下降

梯度下降 一、线性回归 线性回归算法推导过程可以基于最小二乘法直接求解,但这并不是机器学习的思想,由此引入了梯度下降方法。本文讲解其中每一步流程与实验对比分析。 1.初始化 import numpy as np import os %matplotlib inline import matplotli…...

什么是极速文件传输,极速文件传输如何进行大文件传输

当谈到大文件传输时,人们总是担心大数据文件的大小以及将它们从一个位置交换到另一个位置需要多长时间。由于数据捕获高分辨率视频和图像的日益复杂,文件的大小不断增加。数据工作流在地理上变得越来越分散。在一个位置生成的文件在其他位置处理或使用。…...

Spring Boot 日志

目录 1.概述 2.切换日志实现 3.使用 3.1.日志级别 3.3.日志离线 3.4.详细定制 1.概述 由一些历史原因,JAVA领域存在有很多日志框架,如Log4j、Logback、log4j2。 log4j是Java日志框架的元老,在log4j被Apache Foundation收入门下之后&a…...

好用的研发管理看板工具有哪些?10款主流看板管理软件盘点

10大企业看板工具软件:1.软件开发项目看板 PingCode;2.通用看板软件 Worktile;3.开源看板软件 Wekan;4.免费看板软件 Trello;5.个人和小团队的看板软件 Todoist ;6.开源免费看 Kanboard;7.面向个…...

【软考系统架构设计师】2022下案例分析历年真题

【软考系统架构设计师】2022下案例分析历年真题 【软考系统架构设计师】2022下案例分析历年真题【软考系统架构设计师】2022下案例分析历年真题2022下案例分析历年真题第一题(25分)2022下案例分析历年真题第二题(25分)2022下案例分…...

Java skill - @JsonAlias 和 @JsonProperty

Java skill - JsonAlias 和 JsonPropertyJava skill系列目录:JsonAlias 和 JsonProperty使用 JsonProperty 的麻烦场景:使用 JsonAlias 应对麻烦场景:Java skill系列目录: 【Java skill - 统计耗时用StopWatch】 【Java skill - …...