【论文复现】 | 改善抑郁估计从面部对齐,训练优化和调度

news2024/11/13 9:25:07

文章目录

    • 1、Introduction
    • 2、Related work
    • 3、 Proposed methodology
      • 3.1. Preprocessing and face alignment
      • 3.2 Architecture
      • 3.3 Data Augmentation
      • 3.4 Training
    • 4、Experimental analysis and results
      • 4.1 Datasets
      • 4.2 Experimental setup
      • 4.3 Protocol and Performance metrices
      • 4.4 Experimental results
    • 5、 Error Distribution
      • 5.1. Comparison with State-of-the-Art
    • 6、Conclusion
      • 6.1 brief summary
    • 7、 Bug solved and Knowledge review
      • 7.1 MTCNN Problems
      • 7.2 Sequential‘ object has no attribute ‘predict_classes
      • 7.3 cannot import name 'load_img' from 'keras.preprocessing.image'
      • 7.4 Knowledge Review MLP

在这里插入图片描述

IMPROVING DEPRESSIONESTIMATION FROM FACIAL VIDEO SWITH FACE
ALIGNMENT TRAINING OPTIMIZATION AND SCHEDULING
标题: 改善抑郁估计从面部对齐,训练优化和调度
数据集:AVEC2013/14/19
实验环境:NVIDIA GeForce RTX 4090 D
文章链接: https://arxiv.org/pdf/2212.06400

在这里插入图片描述

  • 深度学习模型在使用基于视频的面部表达来识别抑郁状态方面显示出有希望的结果。虽然成功的模型通常利用 3D CNN 或视频蒸馏技术,但实验中预训练、数据增强、预处理和优化技术的不同使用使得很难进行公平的架构比较。相反,我们建议采用两种基于ResNet-50的简单模型,这些模型仅使用静态空间信息,通过使用两种特定的人脸对齐方法和改进的数据增强、优化和调度技术。我们在基准数据集上的广泛实验获得了与单一流的复杂时空模型相似的结果,而两个不同流的分数级融合优于最先进的方法。我们的研究结果表明,预处理和训练过程中的特定修改会导致模型性能的明显差异,并可能隐藏最初归因于使用不同神经网络架构的实际结果

视频蒸馏技术在广义上可以理解为一种从视频数据中提取关键信息、压缩数据或进行知识迁移的技术

  • 技术原理 : 视频蒸馏技术可能借鉴了机器学习中的“知识蒸馏”(Knowledge Distillation)概念,即将一个复杂模型(教师模型)的知识迁移到一个更简单、更高效的模型(学生模型)中。在视频处理领域,这可以理解为从原始视频数据中提取出关键帧、特征表示或压缩后的视频流,以便于存储、传输或进一步分析。
  1. 关键帧提取:从视频中自动提取出最具代表性的帧,这些帧能够概括视频的主要内容。
  2. 特征压缩:利用深度学习等方法,将视频中的高维特征压缩为低维表示,同时保留足够的信息以用于后续任务。
  3. 知识迁移:在视频分析、识别等任务中,将复杂模型学习到的知识迁移到轻量级模型中,以提高处理速度和效率。

1、Introduction

  • 抑郁症是一种常见的心理健康障碍,会对个人的幸福感产生负面影响 。长期的医学抑郁症会导致严重的并发症,无论是在心理上还是在生理层面上。
  • 一些研究表明,抑郁症是其他疾病的诱因,如心血管疾病、骨质疏松症、衰老、病理性认知改变、阿尔茨海默病和其他痴呆症,甚至会增加早期死亡的风险。自动识别抑郁症的系统是可取的,因为它们具有潜在的客观性、速度和可靠性,可以避免对患者的健康和福祉产生这种影响。在过去的十年中,已经提出了许多基于经典统计机器学习算法的方法,用于从面部视频、语音和文本数据中识别抑郁症的迹象,以帮助医生做出决策。虽然最新颖的架构在抑郁识别模型的准确性方面显示出明显的提高,但大多数以前的工作都没有讨论或试验机器学习管道的重要组成部分,例如预处理或优化。基于这些缺点,在本文中,我们建议仅使用从面部视频帧中提取的静态纹理特征来创建用于自动抑郁筛查的深度学习模型。在这种情况下,我们建议进行一组更改,以使用这种架构来改善结果。我们的主要贡献可以总结如下:
  • 介绍了一组基于 ResNet-50 架构 的 2D-CNN 模型,该模型仅使用来自视频帧的静态纹理信息进行训练,通过应用两种不同的人脸对齐技术,并评估它们在最终结果中的影响。
  • 探索了新的训练优化和调度方案,以进一步改进以前基于空间信息的类似方法的结果。
  • 建议使用融合评分方法使用不同的基于纹理的模型来回归抑郁水平,这些模型显示是互补的,具体取决于面部对齐。
  • 在AVEC2013数据库和AVEC2014数据库上对模型进行微训练和验证,结果表明,该方法可以获得与复杂时空模型相当的结果,而两种流模型的分数级融合性能优于文献中最先进的方法
  • 最后,发现仅使用基于纹理的模型表明,预处理和训练过程中的微小变化可能会导致模型性能的显着差异,这可能隐藏了归因于神经网络架构差异的真实贡献。

2、Related work

  • 在过去的几年里,计算机视觉已被提议作为诊断临床抑郁症的有效工具,因为它在识别和分析面部症状方面显示出良好的性能,众所周知,这一特征与抑郁密切相关。几项研究表明,抑郁症通过以下方式影响面部表情:抑郁症患者通常表现出积极情绪的强度降低,微笑次数减少,负面情绪强度增加,眼球接触次数减少,眨眼次数减少, 减少转头次数,增加点头次数。
  • 计算机视觉领域的许多研究都提出了基于面部表情分析(FEA)的静态和视频场景下的自动抑郁检测(ADD)方法
  • 特别是,为了识别静态图像中的抑郁表情,提出了基于深度学习模型的方法,从人脸中提取嵌入的情绪,并将图像分为抑郁类或控制类。其他研究提出了一种类似的静态图像方法,但关注的是面部多区域而不是整个面部。
  • 最近,大多数研究都集中在通过利用视频中的面部帧间信息来利用时空信息。一些研究提出了3D-CNN架构,用于从短视频片段中提取时空特征,而另一些研究则提出了时间池化技术,用于捕获视频片段的动态信息并将其编码到图像图中并训练2D-CNN

3、 Proposed methodology

  • 在本文中,建议使用预处理的RGB图像来学习判别表示,以确定一个人的抑郁程度。与文献中的大多数工作相比,我们的工作侧重于输入数据的预处理和数据增强技术,并保持相同的骨干网络,即预训练的 ResNet-50 架构

3.1. Preprocessing and face alignment

  • 预处理和人脸对齐:方法的第一步包括从每个视频帧中分割和对齐面部区域。使用最先进的人脸检测器,即基于深度学习的多任务级联卷积网络(MTCNN,它还通过检测眼睛、鼻子和嘴巴中的五个基准点来提供人脸对齐。从相关文献中可以看出,典型的人脸预处理是基于裁剪、对齐和重新缩放图像。但是,裁剪和对齐面部的顺序对最终结果图像有直接影响。在旋转和对齐之前裁剪面部区域会删除边界处的纹理区域
  • 这可以描述为黑色三角形,如下图所示
    在这里插入图片描述
    废弃的面部对齐。由于我们的模型仅基于形态中的纹理,因此我们应用了一种预处理方案,该方案在面部边界内提供所有纹理信息。在这种情况下,我们以两种不同的方式对齐和重新缩放图像,即姿势独立姿势依赖,如下所示。

在这里插入图片描述

  • 姿势相关人脸对齐根据水平对齐的眼睛的位置旋转人脸,然后应用新的人脸检测,从那里对齐的人脸被裁剪和缩放,提供一个输入,随着面部表情改变纹理。
  • 姿势独立凹痕面部对齐只是根据 MTCNN 提供的面部边界裁剪面部,然后缩放图像,提供一个输入,该输入会随着不同的头部姿势而改变纹理。这两种类型的对齐可以提供面部纹理的互补信息。

3.2 Architecture

  • 使用 ResNet-50 架构 作为主干网,通过另外两个由 512 个神经元组成的全连接 (FC) 层和一个由 128 个神经元组成的回归层来估计抑郁水平,如下图所示。

在这里插入图片描述
为了利用预学习特征和迁移学习,我们使用 InsightFace 框架工作的预训练权重初始化网络工作。为了有利于从我们的特定数据中学习到新的低级纹理特性,我们保持对架构的所有层进行解冻。然后,将视频计算为所有单个图像的预测的平均值

在这里插入图片描述

3.3 Data Augmentation

  • 由于我们提出的方法基于姿势依赖和姿势独立人脸的信息互补性,因此我们没有添加任何人脸旋转来增强数据。相反,我们建议对每张脸进行随机水平翻转,并改变亮度、对比度和饱和度。与文献中的其他工作相比,我们不包括垂直翻转,也没有向数据集添加额外的图像。我们将这些数据增强技术添加到我们之前的姿势依赖和姿势无关的流中。

3.4 Training

  • 在 AVEC2014 数据库上,我们处理每个视频的每一帧,总共有 304929 个面部帧。由于AVEC2013数据库比AVEC2014大 9 倍,为了保持相似的数据量,并且与之前的工作类似,我们决定每 9 帧处理 1 帧。此回归模型的成本计算为 L1 范数,即平均误差函数 (MAE),旨在最小化每个单独帧预测的误差。与之前的其他出版物相比,我们包含了一个最先进的优化器RAdam,并通过Lookahead优化的实现进行了增强。我们使用 ReduceLROnPlateau 优化器,当学习停止改进时,它会降低我们的初始学习率 3.10-10

4、Experimental analysis and results

4.1 Datasets

  • 我们提出的方法已经在两个公开可用的数据库上进行了评估:视听/视觉情绪挑战 AVEC2013 和 AVEC2014抑郁子挑战数据集。它们都源自视听抑郁语言语料库 (AViD-Corpus) 的一个子集。

  • AVEC2013由一个任务组成,而AVEC2014被分配到两个不同的子集:Northwind 和 Freeform,其中同一主题执行两个任务。每个任务都分为三个部分:训练、开发和测试,所有部分都有 50 个视频。每个视频都包含一个主题在镜头前说话的记录。这些视频标有 表示贝克-抑郁症量表 BD-II
    分数。

  • 抑郁水平介于 0 到 63 之间。根据 BD-II 评分,抑郁症的严重程度可分为四个级别:轻度 (0-13)、轻度 (14-19)、中度 (20-28) 和重度 (29-63)

4.2 Experimental setup

  • 所提出的方法仅使用从两个基准数据集视频中提取的静态纹理特征进行评估。将不同模型的结果与其他基于视觉信息匹配的最先进模型(包括静态和时空模型)进行了比较。我们为单个流提供结果,并为它们的互补分数级融合提供结果。这些实验是使用集成了AMD Ryzen 7 5800 8核处理器和在Linux上运行的NVIDIA GeForce RTX 3060的计算机形成的。我们使用 Python 3.8 作为编程语言,并使用 PyTorch 1.11.0 框架。

4.3 Protocol and Performance metrices

  • 为了评估这些模型的性能并与最先进的方法进行公平的比较,我们提供了自动抑郁文献中最常见的两个指标,即平均绝对误差(MAE)和均方根误差(RMSE)。每个输入视频的总体预测 depres sion 分数是通过对其所有帧的估计分数求平均值获得的

4.4 Experimental results

  • 通过在基准数据库中进行的一系列实验,评估了所提出的模式的性能和有效性。表 1 显示了姿势依赖性姿势独立流的结果以及它们的融合,AVEC2013。在表 2 中,我们提供了 AVEC2014 的结果,以及两种不同的性能衡量方法:SEPA 额定任务和联合任务。分离任务评估将每个视频视为一个独立的任务。MAE 是根据 100 个预测的平均值计算的,每个视频一个预测。联合任务评估通过对两个任务的预测进行平均,将同一主题完成的每个 Northwind 和 Freeform 视频融合在一起。然后获得 MAE 作为对应于每个主题的 50 个谓词的平均值。对于这两个表,可以看出,平均误差(以 MAE 表示)在流融合时误差较小。这些结果表明,姿态依赖流和姿态独立流中包含的信息可能具有互补性。因此,对不同预处理的空间流进行爆炸是利用静态信息的有效途径。

在这里插入图片描述

5、 Error Distribution

  • 为了进一步分析我们最佳模型的性能,我们在基准测试中展示了误差分布AVEC2014以及如下图 所示。该图显示了 100 个测试视频中每个视频的绝对误差,从小到大排序。我们可以观察到,我们方法的误差分布显示出相对较小的总体误差。我们的纹理模型显示了更高比例的视频,但错误非常小(这不会导致误分类)。然而,一小部分视频仍然显示出非常高的错误。

在这里插入图片描述

5.1. Comparison with State-of-the-Art

  • 表 3 和表 4 显示了使用不同对齐方法和 改进验证的预训练、优化和调度技术对所提方法的性能评估,这些技术应用于面部视频的 AVEC2013 和 AVEC2014。
  • 我们将结果与通过融合流获得的结果进行比较。该比较表明,仅使用纹理信息和众所周知的深度学习架构,就可以获得与利用时空信息的最复杂的新型架构相媲美的最新结果。尽管我们的结果仅基于静态信息,但它们在MAE方面获得了最佳结果,并且在RMSE方面获得了非常有竞争力的结果。但是,由于我们使用非常简单的架构,因此可以争辩说相似性应用于更复杂的时空模型的预处理和优化技术将带来更好的性能。

在这里插入图片描述


  • 基于上述,实现结果如下:平均绝对误差MAE为8.8均方根误差RMSE 为10.5

在这里插入图片描述


在这里插入图片描述

6、Conclusion

  • 本文介绍了一种简单的抑郁检测方法,该方法利用两种互补的人脸对齐技术来推导一组基于纹理静态信息的深度模型。此外,通过数据增强和新颖的优化和调度方案,改进了模型的训练过程。在AVEC2013和AVEC2014基准数据集上的广泛实验表明,以这种方式训练的单个模型与复杂的时空模型具有可比的结果,而多个流的分数级融合优于基于视觉信息的更复杂的最新方法。

6.1 brief summary

  • 我们认为,至少对于AVEC2013和AVEC2014来说,使用新颖的架构从视频进行抑郁估计的必然性,不能与其他处理组件产生的影响清楚地区分开来,应该以更系统的方式进行研究.。

7、 Bug solved and Knowledge review

  • 由于实例过期销毁,开始重新配置环境。头大

7.1 MTCNN Problems

  • MTCNN,通过检测眼睛、鼻子和嘴巴中的五个基准点来提供人脸对齐。
    在这里插入图片描述
  • Bug原因及解决方案 如下操作即可
    在这里插入图片描述

7.2 Sequential‘ object has no attribute ‘predict_classes

在这里插入图片描述

  • Bug原因及解决方案 在Tensorflow2.6之前的版本中拥有predict_class属性,之后版本已经取消 。如下操作即可。
result = model.predict_classes(x_test[0].reshape(1,784)) 

======>

result = model.predict(x_test[0].reshape(1,784))
result = np.argmax(result, axis=1)

=======>

result =  (model.predict(X_train) > 0.5).astype("int32")

7.3 cannot import name ‘load_img’ from ‘keras.preprocessing.image’

在这里插入图片描述

  • Bug原因及解决方案 原因在于 keras 2.6 版本之后就发生了变化,类中的有些方法被迁移到其它地方或者被删除了。

  • from keras.preprocessing.image import img_to_array 改为 from keras.utils import image_utils

  • 使用 image_utils 的 load_img(), img_to_array() 两个方法即可。

在这里插入图片描述

7.4 Knowledge Review MLP

  • 逻辑回归不适用用图像分狂务的原因是什么?

  • 逻辑回归主要用于二分类问题,它基于线性回归,通过逻辑函数(如Sigmoid函数)将线性回归的输出映射到0和1之间,从而表示概率。1. 特征提取能力有限 2. 非线性问题处理能力不足 3. 高维数据处理挑战

逻辑回归模型与神经网络模型之间的关系主要体现在以下几点:

  1. 基础构件:逻辑回归可以作为神经网络中的一个基本构件,即神经元。神经网络中的每个神经元都可以看作是一个逻辑回归模型,它们通过激活函数(如Sigmoid函数)对输入进行非线性变换。
  2. 模型复杂度:逻辑回归是一个相对简单的模型,而神经网络通过组合多个神经元形成复杂的网络结构,能够处理更复杂的非线性问题。
  • Tensorflow是一个采用数据流图,用于数值计算的开源软件库)可自动计算模型相关的微分导数:非常适合用于神经网络模型的求解。
  • Keras可看作为tensorflow封装后的一个接口(Keras作为前端,TensorFlow作为后端) ,是一个用Python编写的用于神经网络开发应用接口。
    在这里插入图片描述
from keras.models import Sequential
from keras.layers import Dense, Activation

mlp = Sequential()
mlp.add(Dense(units=20, input_dim=2, activation='sigmoid'))
mlp.add(Dense(units=1,activation='sigmoid'))
mlp.summary()

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


在这里插入图片描述

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

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

相关文章

JS面试题3

1、使用递归完成1~100的累加 // 1~100累加function addRes(x,y){if(x y){return x}else{return y addRes(x,y-1) // 第一次:3 addRes(1,2) > 往后依次递减,到达目标值位置后依次计算累加值}}console.log(addRes(1,3))// 斐波那契数列(兔子数列) &…

【HTML5+JavaScript+CSS3】3D空间环绕旋转特效(效果+源码+可理解的注释)

失去一个人,只是生命中的一段过程,天空不会永远都下雨,我们总会在最深的绝望里,看见最美的风景。 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌿[2] 2023年城市之星领跑者TOP1(哈尔滨)🌿 🌟[3] 2022年度博客之星人…

案例研究|JumpServer堡垒机为金山办公信息安全保驾护航

金山办公(KINGSOFT OFFICE)是中国办公软件的领航者,其产品体系以旗舰产品WPS Office为核心,辅以金山文档、金山协作及金山词霸等产品,形成了全方位、高效能的办公生态系统,在中国乃至全球范围内拥有庞大的用…

项目问题 | CentOS 7停止维护导致yum失效的解决办法

目录 centos停止维护意味着yum相关源伴随失效。 报错: 解决方案:将图中四个文件替换掉/etc/yum.repos.d/目录下同名文件 资源提交在博客头部,博客结尾也提供文件源码内容 CentOS-Base.repo CentOS-SCLo-scl.repo CentOS-SCLo-scl-rh.rep…

云计算实训30——自动化运维(ansible)

自动化运维 ansible----自动化运维工具 特点: 部署简单,使用ssh管理 管理端与被管理端不需要启动服务 配置简单、功能强大,扩展性强 一、ansible环境搭建 准备四台机器 安装步骤 mo服务器: #下载epel [rootmo ~]# yum -y i…

mysql数据库连接时区设置UTC的坑?serverTimezone=UTC是什么意思?

Mysql数据库连接,设置时区为UTC的坑: UTC是世界统一时间,也就是世界协调时间(UTC)/格林尼治时间。比北京时间快8小时。 导致的问题:数据库连接时区设置为UTC之后,数据库里面的数据和系统里面的时…

计算机毕业设计PyHive+PySpark深圳共享单车预测系统 共享单车数据分析可视化大屏 共享单车爬虫 共享单车数据仓库 机器学习 深度学习 Hadoop

题目: 基于hadoop的共享单车布局规划 1. 论文选题的意义 共享单车是一个近年来很热门的新兴事物, 共享经济在我国发展迅速,收到了政府和广大民众的重大关注,而出现的很多问题也引起了众多学者的注意,关于共享单车的研…

【题解】—— LeetCode一周小结32

🌟欢迎来到 我的博客 —— 探索技术的无限可能! 🌟博客的简介(文章目录) 【题解】—— 每日一道题目栏 上接:【题解】—— LeetCode一周小结31 5.不含连续1的非负整数 题目链接:600. 不含连续…

Idea2024创建Meavn项目

因为现在Idea创建Meavn项目,文件夹下面是光秃秃的,没有默认文件,这里笔者用简单易懂的方式给大家创建一个带文件夹的项目 1. new -> project | 填写基本信息 2. 设置maven坐标 点击Add > Create 创建的文件没有任何结构 src.main.java…

一个集成物联网、机器学习和大数据实践平台在电气工程课程中的应用

整理自《A Platform for Integrating Internet of Things, Machine Learning, and Big Data Practicum in Electrical Engineering Curricula》,由Nandana Jayachandran、Atef Abdrabou、Naod Yamane和Anwer Al-Dulaimi共同撰写,发表于2024年的《Compute…

【python数据分析05】——matplotlib绘图基础语法

matplotlib绘图基础语法 前言1 pyplot基础语法1.1 创建画布与创建子图1.2 添加画布内容1.3 保存与显示图形1.4 设置pyplot的动态rc参数 前言 matplotlib中应用最广的是matplotlib.pyplot模块,这个模块是一个命令风格函数的集合。 1 pyplot基础语法 大部分pyplot图…

Python文件管理器:一个基于wxPython的桌面应用

在当今的软件开发世界中,管理大量的源代码文件变得越来越重要。无论是个人项目还是大型团队协作,有一个强大而灵活的文件管理工具都可以大大提高工作效率。今天,我们要介绍一个基于Python和wxPython构建的文件管理器,它专门用于管…

GNS3 IOU: License section not found in iourc file /tmp/tmpj54abrhf/iourc

现象: License section not found in iourc file /tmp/tmpj54abrhf/iourc 解决方案: IOU 证书:(直接复制进去即可) [license] gns3-iouvm cd11acbc599f2364; gns3vm 73635fd3b0a13ad0;

记一个坑android Studio:Can‘t bind to local -1 for debugger

AndroidStudio 可编译,安装,设置管理 现象: 唯独 attach 或者调试时报错 Cant bind to local -1 for debugger 控制台日志: 2024-08-15 10:41:59,645 [ 9927] WARN - #com.android.ddmlib - * daemon not running; starting now at tcp:5037 2024-08-15 10:…

DRISSIONPAGE获取图书的封面并保存到本地

一、页面自动截图 二、最终结果 三、代码实现 from DrissionPage import ChromiumPage,ChromiumOptions co =ChromiumOptions().set_paths(browser_path=r"C:\Users\lenovo\AppData\Local\Google\Chrome\Application\chrome.exe") #这里指定浏览器 注意ChromiumOp…

【Oracle篇】统计信息和动态采样的深度剖析(第一篇,总共六篇)

💫《博主介绍》:✨又是一天没白过,我是奈斯,DBA一名✨ 💫《擅长领域》:✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌️…

广州南沙某工厂电力运维系统案例

一、引言 深圳拓扑未来基于物联网的电力运维系统将云计算、大数据与人工智能对采集的数据进行挖掘整合、共享交换,并以数字全息投影的信息技术手段将数据立体化呈现。满足用户监测众多电力回路运行状态和参数、配电室内环境温湿度、电缆及母线运行温度、现场设备或…

配置静态ip地址,也叫网络地址,linux安装tomcat,mysql,java的jdk,如何把java项目部署到linux上

3、linux 所需软件压缩包 4、防火墙的操作 5、Linux网络配置 接下来需要配置Linux系统的网络,这样才能保证软件能够正常安装上去 5.1 配置连接外网 进入etc/sysconfig/network-scripts目录,使用vi打开 ifcfg-ensXXX文件,进行编辑 cd /etc…

快速体验Ollama安装部署并支持AMD ROCm推理加速

序言 Ollama 是一个专注于本地运行大型语言模型(LLM)的框架,它使得用户能够在自己的计算机上轻松地部署和使用大型语言模型,而无需依赖昂贵的GPU资源。Ollama 提供了一系列的工具和服务,旨在简化大型语言模型的安装、…

阵列信号处理1_相控阵天线(CSDN_20240818)

与传统天线相比,相控阵天线的阵面是由许多阵元组成的,在这些阵元的基础上,相控阵天线可以利用一些精妙的算法在天线不旋转的条件下,自动形成波束并对准目标。通常,由相控阵天线形成的波束的质量要比普通天线波束的质量…