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 的多模态面部生物识别系统。该系统集成了人脸识别、性别分类、面部形状确定和情感识别于一体。

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

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

相关文章

【NumPy】NumPy线性代数模块详解:掌握numpy.linalg的核心功能

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

Hexo最新实战:(一)Hexo7.0+GitHub Pages博客搭建

前言 很多平台都能写博客还有创作激励,为什么我又要搭一个?为什么这次要选择用Hexo框架? 对应的原因是流量自由和省钱,第一个,很多平台能写但不是都有收益,而且平台有自身的规则,比如会屏蔽一…

【区块链】外部应用程序与区块链进行交互

一,外部应用程序与区块链进行交互案例目标与流程 1.1案例目标 掌握FISCO BCOS应用环境的搭建 与使用(FISCO BCOSWeBASE)掌握基于Java SpringBoot的应 用程序后端项目搭建与开发。掌握应用程序后端与FISCO BCOS 链的交互。掌握应用程序前端…

WPF hc:PropertyGrid 嵌套显示

重点: 编写Edit特性即可: public class ParameterEditor : PropertyEditorBase{public override FrameworkElement CreateElement(PropertyItem propertyItem){var pg new PropertyGrid();return pg;}public override DependencyProperty GetDependen…

基于Vue+SpirngBoot的博客管理平台的设计与实现(论文+源码)_kaic

摘 要 随着当下社会的发展,互联网已经成为时代的主流,从此进入了互联网时代,对大部分人来说,互联网在日常生活中的应用是越来越频繁,大家都在互联网当中互相交流、学习、娱乐。博客正是扮演这样一个角色。博客已成为当…

实验八 单区域OSPF路由协议配置

一、实验目的 掌握 OSPF 动态路由协议的配置、诊断方法。 二、实验步骤 1、 运行Cisco Packet Tracer软件,在逻辑工作区放入三台路由器、两台工作站PC及一台笔记本,分别点击各路由器,打开其配置窗口,关闭电源,分别加…

Python装饰器的应用

Python 中的装饰器是一种语法糖,可以在运行时,动态的给函数或类添加功能。装饰器本质上是一个函数,使用 函数名就是可实现绑定给函数的第二个功能 。它的作用就是在不修改被装饰对象源代码和调用方式的前提下为被装饰对象添加额外的功能。 …

Ownips+Coze海外社媒数据分析实战指南

目录 一、引言二、ISP代理简介三、应用实践——基于Ownips和coze的社媒智能分析助手3.1、Twitter趋势数据采集3.1.1、Twitter趋势数据接口分析3.1.2、Ownips原生住宅ISP选取与配置3.1.3、数据采集 3.2、基于Ownips和Coze的社媒智能助手3.2.1、Ownips数据采集插件集成3.2.2、创建…

【Unity入门】认识Unity编辑器

Unity 是一个广泛应用于游戏开发的强大引擎,从 1.0 版本开始到现在,其编辑器的基本框架一直保持稳定。其基于组件架构的设计,使得界面使用起来直观且高效。为了更好地理解 Unity 的界面,我们可以将其比喻为搭建一个舞台。以下是对…

【AI+chat】推荐一款基于大模型的智能对话机器人,支持微信公众号、企业微信应用、飞书、钉钉接入

之前写了一篇文章, coze配置 kimichat集成到微信公众号聊天 【AIchat】手把手配置kimichat集成到微信公众号中对话聊天 。 有同学私信我有没有开源项目, 这里推荐一款chatgpt-on-wechat。 官方git地址:https://github.com/zhayujie/ch…

Yann LeCun 和 Elon Musk 就 AI 监管激烈交锋

🦉 AI新闻 🚀 Yann LeCun 和 Elon Musk 就 AI 监管激烈交锋 摘要:昨天,Yann LeCun 和Elon Musk 在社交媒体就人工智能的安全性和监管问题展开激烈辩论。LeCun 认为目前对 AI 的担忧和监管为时过早,主张开放和共享。而…

Ps:消失点滤镜 - 透视平面和网格

Ps菜单:滤镜/消失点 Filter/Vanishing Point 快捷键:Ctrl Alt V “消失点”滤镜中的透视平面 Plane和网格 Grid用于在编辑图像时保持正确的透视效果。 只有定义了与图像透视对齐的矩形平面,才能在消失点中进行编辑。平面的精确度确定了能否…

vue数字翻盘,翻转效果

数字翻转的效果 实现数字翻转的效果上面为出来的样子 下面为代码&#xff0c;使用的时候直接引入&#xff0c;还有就是把图片的路径自己换成自己或者先用颜色替代&#xff0c;传入num和numlength即可 <template><div v-for"(item, index) in processedNums&quo…

MOS管开关电路简单笔记

没错&#xff0c;这一篇还是备忘录&#xff0c;复杂的东西一律不讨论。主要讨论增强型的PMOS与NMOS。 PMOS 首先上场的是PMOS,它的导通条件&#xff1a;Vg-Vs<0且|Vg-Vs>Vgsth|&#xff0c;PMOS的电流流向是S->D,D端接负载&#xff0c;S端接受控电源。MOS管一般无法…

Java Web集成开发环境Eclipse的安装及web项目创建

第一步&#xff1a;下载安装JDK http://t.csdnimg.cn/RzTBXhttp://t.csdnimg.cn/RzTBX 第二步&#xff1a;下载安装Tomcat Tomcat下载安装以及配置_tomcat下载配置-CSDN博客文章浏览阅读2.5k次&#xff0c;点赞2次&#xff0c;收藏13次。Tomcat下载安装及其配置_tomcat下载配…

【云原生】kubernetes中的认证、权限设置--RBAC授权原理分析与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

【云原生 | 59】Docker中通过docker-compose部署ELK

目录 1、组件介绍 2 、项目环境 2.1 各个环境版本 2.2 Docker-Compose变量配置 2.3 Docker-Compose服务配置 3、在Services中声明了四个服务 3.1 ElasticSearch服务 3.2 Logstash服务 3.3 Kibana服务 3.4 Filebeat服务 4、使用方法 4.1 方法一 4.2 方法二 5、启动…

MySQL8报错Public Key Retrieval is not allowedz 怎么解决?

问题描述 当我们使用数据库管理工具连接mysql8的时候&#xff0c;可能遇到报错&#xff1a; Public Key Retrieval is not allowed 解决办法 1、在连接属性中配置allowPublicKeyRetrieval设置为true 2、在连接URL中加上配置allowPublicKeyRetrieval为true

margin-left: auto;使元素靠右

摘要&#xff1a; 今天写样式遇到一个东西&#xff0c;就是需要表单居右显示的&#xff0c;但是作用了弹性布局&#xff0c;其他的都不行的&#xff0c;一开始使用了浮动&#xff0c;但是使用了浮动后盒子就不继承父盒子的宽度了&#xff0c;移动端还行&#xff0c;自动回到100…

被追着问UUID和自增ID做主键哪个好,为什么?

之前无意间看到群友讨论到用什么做主键比较好 其实 UUID 和自增主键 ID 是常用于数据库主键的两种方式&#xff0c;各自具有独特的优缺点。 UUID UUID 是一个由 128 位组成的唯一标识符&#xff0c;通常以字符串形式表示。它可以通过不同的算法生成&#xff0c;例如基于时间…