IdentiFace——多模态人脸识别系统,可捕捉从情绪到性别的所有信息及其潜力

1. 概述

面部识别系统的开发极大地推动了计算机视觉领域的发展。如今,人们正在积极开发多模态系统,将多种生物识别特征高效、有效地结合起来。

本文介绍了一种名为 IdentiFace 的多模态人脸识别系统。该系统利用基于 VGG-16 架构的模型,将人脸识别与性别、脸型和情绪等重要生物特征信息结合起来,但不同子系统之间略有改动。

在从 FERET 数据库收集的数据上,性别识别准确率达到 99.2%,在作者的数据集上达到 99.4%,在公共数据集上达到 95.15%。在脸形识别方面,作者使用名人脸形数据集取得了 88.03% 的测试准确率;在情绪识别方面,作者使用 FER2013 数据集取得了 66.13% 的测试准确率。这表明性别识别任务相对容易,而面部形状和情感识别任务则容易在相似类别之间产生混淆。

IdentiFace "多模态面部识别系统可应用于安全、监控和个人身份识别领域。通过利用面部特征,可以实现更高效、更准确的生物识别。

论文地址:https://arxiv.org/ftp/arxiv/papers/2401/2401.01227.pdf
源码地址:https://github.com/MahmoudRabea13/IdentiFace

2. 数据集

本节将介绍每项任务所使用的数据集。首先,在人脸识别方面,使用了 NIST 的 "Colour FERET"数据集。该数据集包含 994 人的 11,338 张人脸图像。该数据集包含 13 种不同的人脸方向,每种方向都有指定的面部旋转度。此外,一些受试者有戴眼镜和不戴眼镜的图像,另一些受试者则有不同发型的图像。本文使用的是这些图像的压缩版本,图像大小为 256 x 484 像素。之所以选择这个数据集,是因为它的差异很大,有助于模型学习到较高的泛化性能。此外,四位作者本人也作为新对象被添加到数据库中,并在不同场景下进行了测试。

接下来,为了进行性别分类,我们从作者的教师中收集了一个数据集。起初,该数据集由 15 名男性和 8 名女性组成,每张图像都包含多种变化,以增加数据量。然而,后来受试者的数量不断增加,最终将数据量增加到总图像数(133 张男性图像/66 张女性图像),其中男性 31 张,女性 27 张。训练/验证数据没有在收集过程中进行拆分,而是在预处理阶段进行了拆分。为了便于比较,我们还使用了 Kaggle 的 “性别分类数据集”。该数据集的训练数据每类约分为 23,000 张图片,验证数据每类约分为 5,500 张图片。

由于任务的复杂性,需要人工标注,作者无法收集自己的脸型预测数据集,因此使用了脸型数据集,其中包含最受欢迎的脸型数据集–名人脸型。该数据集于 2019 年发布,只包含女性受试者,五个类别(圆形/椭圆形/方形/矩形/心形)各包含 100 张图片。

最后,在情绪识别方面,作者军团最初为这项任务收集了自己的数据集。其中包括 38 名受试者,分为 22 名男性和 16 名女性。每个受试者的每种特定情绪有 7 幅图像,每类有 38 幅图像,共计 266 幅图像。每个类别中的图像都是人工标注的。有些受试者在多个类别中都有相似的面部表情,这使得图像标注和分类过程相对具有挑战性。因此,为了收集一个合适的情感数据集。我们使用了 "FER-2013"数据集。该数据集是公开的,包含 30,000 多张图片,包含七个类别(愤怒/厌恶/恐惧/快乐/悲伤/惊讶/中立)。所有图像均转换为 48x48 灰度图像,所有类别几乎均匀分布。

4 .算法架构

本文构建了一个单一网络,通过在每个任务之间对网络进行微调,该网络可适应多个与人脸相关的任务。VGGNet 架构被用作多模态系统的主网络。本文对基本的 VGG-16 进行了试验,最终将其简化为只有三个主要区块,去掉了最后两个卷积区块。这样做主要是为了减少参数数量和模型的整体复杂性,因为该模型在各种任务中的表现已经很好。下表列出了该模型在层数、输出几何图形和参数数量方面的信息。

在最终编译模型时,采用了以稀疏分类交叉熵为损失函数的亚当优化器。此外,还引入了早期停止功能,以防止模型的过度训练。

此外,人脸识别任务的预处理如下

  • 使用 Dlib 基于 CNN 的人脸检测。
  • 对识别出的人脸进行裁剪并转换成灰度图像。
  • 调整为 128x128 像素。
  • 班级数改为 5 个(Hanya、Mahmoud、Nourhan、Sohaila 和其他人)。

除人脸识别外,所有任务都要进行以下预处理

  • 使用 Dlib 中的 68 个面部地标进行人脸检测
  • 所有检测到的人脸都会被裁剪,没有人脸的图像会被过滤。
  • 脸部尺寸调整为 128 x128,并转换为灰度

在调整大小后,每个数据集都会按以下方式进行扩展,以确保所有任务的平衡。为确保所有类别的公平分布,仅对不平衡和较小的数据集进行了扩展。

数据扩展后的数据集如下所示。在人脸识别方面,数据集最初包含了来自彩色 FERET 数据集的 11,338 张 "其他 "类图像,但为了避免过度训练,数据集减少到了 500 张。有些数据集,如情感识别和性别识别数据集,不需要进行数据扩展,因为每个类别都有很多图像,而且分布均衡。

5. 试验

对于人脸识别,数据集的训练与测试比例为 80:20,并使用以下参数训练模型

  • 学习率 (lr) = 0.0001
  • 批量大小 = 32
  • 测试规模 = 0.2
  • 历时次数 = 100

结果如下

在性别分类中,任务被视为多类分类,将女性受试者标记为 0,男性受试者标记为 1。以下参数用于训练作者数据集的模型和公共数据集的模型。

  • 学习率 (lr) = 0.0001
  • 批次大小 = 128
  • 测试规模 = 0.2

结果如下

下图是作者绘制的数据集混淆矩阵图。

下图显示了数据集与公共数据集的混淆矩阵。

在脸型预测中,我们尝试了两种不同的模型来完成这项任务:一种是针对所有类别的模型,另一种是只针对三个类别(长方形/正方形/圆形)的模型。这样做的目的是为了观察模型在类别重叠最少的情况下是如何工作的,并与其他包含所有类别的模型进行比较。

  • 学习率 (lr) = 0.0001
  • 批次大小 = 128
  • 测试规模 = 0.2

标签如下

结果如下

支持向量机(SVM)和卷积神经网络(CNN)已被用于情绪识别。支持向量机(SVM)的结果如下。

卷积神经网络(CNN)的结果如下。

为了实现结果的可视化,正在开发一种名为 "IdentiFace "的多模式面部生物识别系统,作为基于 Pyside 的桌面应用程序。它可以同时在线和离线进行面部生物识别。

在这里插入图片描述
在这里插入图片描述

6.总结

我们尝试了不同的方法,并在每项任务中使用了我们自己的数据集以及其他公开可用的数据集,包括人脸识别、性别分类、人脸形状确定和情感识别。我们还选择了 VGGNet 模型,因为它在使用这些数据集的所有任务中表现最佳。此外,我们还将所有表现最佳的模型结合起来,开发了一个名为 IdentiFace 的多模态面部生物识别系统。该系统集成了人脸识别、性别分类、面部形状确定和情感识别于一体。

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

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

相关文章

国际荐酒师(香港)协会受邀出席广州意大利国庆晚宴

2024年5月30日,意大利驻广州总领事馆举办的2024年意大利国庆招待会及晚宴,庆祝意大利共和国成立。此次晚宴旨在促进中意两国之间的文化交流与合作。国际荐酒师(香港)协会受主办方邀请参与了这一重要活动。 国际荐酒师(…

阿里云语音合成TTS直播助手软件开发

阿里云的TTS比较便宜,效果比不了开源克隆的那种,比纯机器人效果好一点点 阿里云sambert https://help.aliyun.com/zh/dashscope/developer-reference/quick-start-13 Sambert系列模型 1万字1元 ,每主账号每模型每月3万字免费 创建API-KEY htt…

SpockMockStatic方法

SpockMockStatic方法 参考: https://blog.csdn.net/knighttools/article/details/44630975 ‍ static方法 import com.meituan.mafka.client.producer.IProducerProcessor; import com.meituan.mdp.langmodel.api.message.AssistantMessage; import com.sankuai.gaigc.arrang…

CentOs-7.5 root密码忘记了,如何重置密码?

VWmare软件版本:VMware Workstation 16 Pro Centos系统版本:CentOS-7.5-x86 64-Minimal-1804 文章目录 问题描述如何解决? 问题描述 长时间没有使用Linux系统,root用户密码忘记了,登陆不上系统,如下图所示…

TOPIAM数字身份管控平台前端技术实践

一、引言 随着企业信息化程度的不断加深,内部办公系统、业务系统及三方SaaS系统的集成与整合成为企业面临的重要挑战之一。特别是如何有效管理员工账号、权限、身份认证以及应用访问,成为保障企业信息安全、提升用户体验的关键。TOPIAM数字身份管控平台…

微信小程序对接发货功能

注:微信小程序对接发货功能 文档地址:https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/order-shipping/order-shipping.html php代码 common.php use think\Config; use think\Db; use fast\Http; us…

VS2022+QT5.15.2+MySQL8.4大集合

网上的教程都建议用Qt5,不要用6,不死心的尝试了整整一天失败了,乖乖用回5,qt5需要编译一下生成mysql的动态和静态库 1. mysql8.4安装 下载社区开发版,注意要64位 https://dev.mysql.com/downloads/mysql/ 配置一下数…

nacos连接异常did not find the Leader node;

目录 问题描述解决过程持久化节点真的是存在数据库吗? 问题描述 我搭建的是nacos伪集群,然后主要想着看看集群情况下,临时节点和持久节点的区别。 如果使用临时节点项目能够正常起来,一旦添加ephemeral: false项目就起不来了。 …

R语言绘图 --- 饼状图(Biorplot 开发日志 --- 2)

「写在前面」 在科研数据分析中我们会重复地绘制一些图形,如果代码管理不当经常就会忘记之前绘图的代码。于是我计划开发一个 R 包(Biorplot),用来管理自己 R 语言绘图的代码。本系列文章用于记录 Biorplot 包开发日志。 相关链接…

时序波形数据建模处理的新方法:python开发构建时序波形数据识别分析模型,以地震、滑坡等地质灾害场景为例

地震和滑坡等地质灾害对人类社会构成的威胁不容忽视。这些灾害的突然性和不可预测性使得预防与应对变得尤为困难。传统的监测和预警方法往往依赖于人工的数据分析和专家判断,这种方法不仅效率低下,而且成本高昂,更重要的是,它可能…

什么是做到?在做到平台怎么赚钱?

外语比较好的人,也可以在网上接单赚钱,下面就给大家分享一个翻译赚钱的靠谱平台——做到!: 做到! 简介 做到! 网于2011年6月份上线,是阿里巴巴旗下阿里翻译团队打造的语言众包平台,汇聚众多语言爱好者,提…

智能售货机加盟新契机

加盟智能售货机业务,尤其是在当前技术迭代迅速与市场需求高涨的背景下,正成为众多创业者积极探索的领域。以重庆臻奶惠为代表的企业,正利用其在智能科技与支付资讯的深厚底蕴,为有意涉足该行业的加盟者铺设了一条既稳健又具前瞻性…

python编程:创建 SQLite 数据库和表的图形用户界面应用程序

在本文中,我将介绍如何使用 wxPython 模块创建一个图形用户界面(GUI)应用程序,该应用程序允许用户选择 SQLite 数据库的存放路径、数据库名称、表名称,并动态添加字段及其类型。以下是具体的实现步骤和代码示例。 C:\p…

物联边缘网关有哪些功能?物联边缘网关在工业方向的应用-天拓四方

随着物联网技术的快速发展,越来越多的设备和系统正在接入到网络中,形成了一个庞大的智能生态系统。在这个系统中,物联边缘网关扮演着至关重要的角色,它不仅是连接设备和云端的桥梁,更是推动智能应用落地的关键。在当今…

反射获取构造方法

目录 利用反射获取构造方法 代码实现 获取class对象 ​编辑获取权限修饰符 获取参数 创建对象 利用反射获取构造方法 代码实现 Student类: 获取class对象 获取权限修饰符 获取参数 创建对象 因为con4的构造方法的权限修饰符是private,不能直接在测…

特征选择概述

提示:特征选择 文章目录 1, 什么是特征选择2,特征选择的过程2.1,特征子集的产生过程2.2,特征子集的评价准则2.3,特征选择的停止准则2.4,特征子集的分类验证 3, 特征选择的方法分类参…

摸鱼大数据——Hive函数4-6

4、类型转换函数 类型转换: cast(字段名称 as 想要的数据类型) 示例: -- 数据类型转换 -- string->int select cast("123" as int),"123"; ​ -- string->float/double select cast("123.555" as float),"123.555"…

绘画智能体分享

这是您请求的故宫雪景图,角落有一只可爱的胖猫,采用了水墨画风格,类似于张大千的作品。希望您喜欢这幅画! 🎨 选项 1【转变风格】——将这幅画转变为梵高的后印象派风格,增添一些梵高特有的笔触和色彩。 &…

【算法】位运算算法——消失的两个数字(困难)

题解:消失的两个数字(位运算算法) 目录 1.题目2.题解3.示例代码如下4.总结 1.题目 题目链接:LINK 2.题解 本题要求时间复杂度O(N),空间复杂度O(1),分别否了我们 排序遍历 和 哈希数组 的想法。想要在规定时间/空间复杂度内完成本题,需要借…