当前位置: 首页 > 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] 两数之和 给定一个整数数组和一个目标值…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...