Resnet50网络的应用—抑郁症诊断

2023-12-29 06:50

本文主要是介绍Resnet50网络的应用—抑郁症诊断,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在前边

本人研究生阶段的研究内容为抑郁症诊断,最近一直在想搭建件简单有效的网络,提升自己编码能力的同时,推动科研的进展。本文是总结了最近两周学习的论文中,应用到Resnet_50网络的,在此进行整理和总结。欢迎相同方向的同学交流学习。

正文

相比于之前的思路,本部分选择的是三个论文,都是借助Resnet_50网络作为核心网路的,我觉得这个方向是可以进行相应的学习和研究的。


论文名称:DEPRESSION DETECTION BASED ON DEEP DISTRIBUTION LEARNING

数据集:AVEC2013、AVEC2014

创新点:本文的出发角度是很好的,解决现在部分模型中,损失函数是基于标记的面部图像,没有明确地探讨所有面部图像与抑郁水平之间的序数关系。通过对整个个体图片的完全整理,实现对所有图对相应的抑郁分数的对应,从而降低误差。

整体结构:

整体模型图如下图:

本文将抑郁症诊断问题作为分类问题处理的,整体以一个样本的所有图片作为一个样本,对应一个label。

本文提出  expectation loss 来描述抑郁分数的分布,首先针对输入的 i 个图片Xi,Yi为对应所以的label,Zi表示系统的输出抑郁症分数,计算获取概率,

为了求得分布,先计算下期望值,其中j表示label:

 

期望损失函数就可以表示为,其中M为bath_size:

实验部分:

 预处理:1>采样,AVEC2013每100帧取一帧,AVEC2014每10帧取一帧;2>人脸对齐裁剪MTCNN工具

 模型:在VGG FACE 上训练过的Resnet_50 

 评价标准 : MSE和RMS

结果:结果效果相比于之前的模型还是有很大的进步的,这也鼓励大家从整体的角度来考虑诊断的问题。

 现阶段思路的问题:实验中,作者是将一个vedio裁剪的图片一次送入到网络中吗?图片特别多,硬件不支持的问题是怎么处理的那?


论文名称:Learning content-adaptive feature pooling for facial depression recognition in videos

数据集:AVEC2014

创新点:作者发现,针对每个图片,模型认定其对最终结果的影响权重都是一样的。显然,这样是存在问题的,因为有的帧图片中的姿势、角度并不适合系统进行相应分数诊断。所以,作者借助memory attention mechanism 来对帧图片进行权重的分配,以使得效果较好的图片对结果起到主导作用。

整体结构:

从整体来看,网络是分为两部分:Resnet_50网络提取图片特征,级联的两层attention网络进行权重分配,最后的全连层输出抑郁诊断结果,网络整体结构如下图:

通过Resnet_50网络的到的特征,然后希望通过attention机制得到聚合向量h,其中\alpha表示的是权重

       \alpha的计算如下,首先通过一纬卷积核\theta ^T的卷积计算得到重要性系数c^{_{k}}将结果输入到softmax中得到相应的权重其实仔细的考虑,这获取权重的方式正是最正经的attention的应用。

由于是级联attention机制,所以两者的关系为:

最后的损失函数可以定义为:

实验结果:相比来看,结果没有一个论文的结果好。其实在再次思考论文的时候,我意识到,在之前attention机制是对一张图使用,抓住图种表达信息的关键信息,比如常见的输出人脸的哪个表达信息的图。在本文中,是将多个图看作是主体,使用attention机制选择出贡献较好的图片


论文名称:ENCODING TEMPORAL INFORMATION FOR AUTOMATIC DEPRESSION RECOGNITION

FROM FACIAL ANALYSIS

数据集:AVEC2013、AVEC2014

创新点:在传统双流的基础上,对时间特征的预处理做了新的处理,使用的提取高级语义特征的网络为Resnet_50网络

整体结构:

从时间和空间两个角度进行抑郁症诊断的模型从2015年首次使用抑郁症诊断就开始 了,通过看这个模型图可以感受到依旧是从双流的角度出发的,不同的是主体的网络已经不再是之前的CNN网络。本文的主要创新点在于这个时间流的特征。


其实,本文考虑的问题也是各种抑郁症诊断过程中不可避免的问题-----过拟合。 文中提出了一种新的时间池方法来捕获和编码视频剪辑的时空动态到图像地图。其实在早期的文章中,也是会通过光流图实现时间特征的提取。其实现过程如下所示:

实验:

 预处理:1>采样,AVEC2013每100帧取一帧,AVEC2014每10帧取一帧;2>人脸对齐裁剪MTCNN工具

 模型:在VGG FACE 上训练过的Resnet_50 

 评价标准 : MSE和RMS

结果:这个结果如果是真实的,那么他就是我见过的最好的结果。


总结:

这是一部分我对论文的总结,其中还是有很多自己不理解的地方。由于这些论文作者都没公开代码,所以还有一些理解上的问题。现阶段,我选择使用Resnet_50网络开始搭建网路。

这篇关于Resnet50网络的应用—抑郁症诊断的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/548676

相关文章

Java中的Lambda表达式及其应用小结

《Java中的Lambda表达式及其应用小结》Java中的Lambda表达式是一项极具创新性的特性,它使得Java代码更加简洁和高效,尤其是在集合操作和并行处理方面,:本文主要介绍Java中的La... 目录前言1. 什么是Lambda表达式?2. Lambda表达式的基本语法例子1:最简单的Lambda表

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

SpringShell命令行之交互式Shell应用开发方式

《SpringShell命令行之交互式Shell应用开发方式》本文将深入探讨SpringShell的核心特性、实现方式及应用场景,帮助开发者掌握这一强大工具,具有很好的参考价值,希望对大家有所帮助,如... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

MySQL 分区与分库分表策略应用小结

《MySQL分区与分库分表策略应用小结》在大数据量、复杂查询和高并发的应用场景下,单一数据库往往难以满足性能和扩展性的要求,本文将详细介绍这两种策略的基本概念、实现方法及优缺点,并通过实际案例展示如... 目录mysql 分区与分库分表策略1. 数据库水平拆分的背景2. MySQL 分区策略2.1 分区概念

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.