PulseGAN

研究背景

远程光电容积描记术 (rPPG) 是一种非接触式技术,用于测量面部视频中的心脏信号。健康监测和情绪识别等许多领域都迫切需要高质量的 rPPG 脉冲信号。然而,由于脉搏信号不准确的限制,现有的大多数rPPG方法只能用于获取平均心率(HR)值。

问题

基于深度学习的 rPPG 方法通常可以分为两种类型:端到端类型和特征解码器类型。前者直接建立视频帧到目标心率值或脉冲信号的映射关系,后者通过解码视频帧预处理后的潜在信息得到心率目标。自 2014 年生成对抗网络 (GAN) 提出,由于其最先进的性能,在图像处理和计算机视觉领域已成为主流的生成方法。 因此 rPPG 脉冲波形的提取也可以考虑从生成模型的角度来看。

方法

本文中提出了一个名为 PulseGAN 的新框架,以使用条件 GAN (cGAN) 提取 rPPG 脉冲信号。
整体架构

将 CHROM(CHROM 的原理基于皮肤光学反射模型,选择 CHROM 方法是因为它对运动伪影快速且稳定)导出的脉冲信号作为生成器 G 的输入,以脉搏血氧仪同步记录的 PPG 信号作为参考。判别器 D 从参考信号中判断生成的信号,其中 G 的脉冲信号输入作为条件。考虑到脉冲信号的明显特性,除了对抗性损失之外,并且本文还结合了时域中的波形误差损失和频域中的频谱误差损失,以强制生成波形与其参考之间的匹配。通过 G 和 D 之间的对抗训练,生成器学习构建一个接近真实心率的 rPPG 脉冲。

Acquisition of rough rPPG pulses

作者在论文中使用了第二类的深度学习方法,通过解码视频帧预处理后的潜在信息得到心率目标。于是在输入 PulseGAN 之前,使用一些常规方法获得粗略的 rPPG 脉冲信号。如果粗糙的 rPPG 脉冲与其参考脉冲足够接近,就可以显着简化 PulseGAN 的训练难度。

The PulseGAN framework

PulseGAN 由生成器 G 和判别器 D 组成。生成器 G 用于将粗略的 CHROM 信号 X 映射到接近参考 PPG 信号 Xc 的目标 rPPG 信号 G(X)。判别器 D 用于区分地面实况 Xc 和信号 G(X)。

GAN 的架构图

为了更好地配对输入和输出,作者参考条件 GAN 的方法,将其中输入 X 设置为判别器中的条件。因此,判别器的输入由 (G(X), X) 和 (Xc,X) 两个通道组成,判别器 D 对于输入 (G(X),X) 的情况下输出较低的分数,而输入为 (Xc,X) 则提供较高的分数。通过生成器和判别器之间的对抗学习不断学习PPG信号的特征,使得输出信号具有与参考PPG信号的分布一样接近的分布。

Loss function

由于脉冲信号具有清晰的时域和频域特征,作者定义了两个域的误差损失,以更好地指导发生器学习参考信号的特征。
生成器 G 的损失函数:
L G = 1 2 ( D ( G ( X ) , X ) − 1 ) 2 + λ ∣ ∣ X c − G ( X ) ∣ ∣ 1 + β ∣ ∣ X c f − G f ( X ) ∣ ∣ 1 L_G = \frac{1}{2}{(D(G(X),X)-1)^2+\lambda||X_c-G(X)||_1 + \beta||X_{cf}-G_f(X)||_1} LG=21(D(G(X),X)1)2+λ∣∣XcG(X)1+β∣∣XcfGf(X)1
判别器 D 的损失函数:
L D = 1 2 ( D ( G ( X ) , X ) ) 2 + 1 2 ( D ( X c , X ) − 1 ) 2 L_D = \frac{1}{2}{(D(G(X),X))^2+\frac{1}{2}{(D(X_c,X)-1)^2}} LD=21(D(G(X),X))2+21(D(Xc,X)1)2
L G L_G LG 的第一项是类似于最小二乘 GAN(LSGAN)的对抗性损失,第二项和第三项分别是在时域和频域中定义的波形损失和频谱损失。判别器的损失函数与 LSGAN 相同,它强制 D 区分生成信号和参考信号。
频谱损失中的 G f ( X ) G_f (X ) Gf(X) X c f X_{cf} Xcf 分别通过对 G ( X ) G(X) G(X) X c X_c Xc 的 1024 点快速傅里叶变换 (FFT) 计算得出。 ∣ ∣ ⋅ ∣ ∣ 1 ||·||_1 ∣∣1 表示 L1 范数。 λ 和 β 分别是波形损失和频谱损失的权重。生成器被强制通过最小化误差损失来学习时频特性。因此最终可以有效提高生成波形的质量。

总结

PulseGAN 是基于生成对抗网络框架设计的,在时间和频谱域中都定义了 Loss 损失。它以 CHROM 信号为输入,通过深度生成模型输出一个 rPPG 脉冲。并且作者表示这种架构也很容易与现有的基于深度学习的 rPPG 方法集成,并进一步提高它们的性能。

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

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

相关文章

算法训练营Day26

#Java #全排列 #回溯 开源学习资料 Feeling and experiences: 递增子序列:力扣题目链接 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组…

Java学习:多线程编程

一、概念 进程:它是运行中的程序。有的程序启动后可能有多个进程。Java程序的执行时,首先启动一个独立的JVM进程。该进程任务是解析并执行Java字节码。进程各有独立地址空间,JVM进程间不能访问对方所拥有内存空间。 线程:一个进程…

安装ps提示msvcr71.dll丢失的解决方法,全面解析dll问题

当您在安装PS软件时遇到msvcr71.dll丢失的问题,这是因为该文件是某些程序运行必需的。msvcr71.dll主要包含了C运行时库的函数,这些函数主要用于处理字符串、数学运算、内存管理等基本操作。例如,我们在编写程序时,需要对字符串进行…

【PyQt】(自定义类)QIcon派生,更易用的纯色Icon

嫌Qt自带的icon太丑,自己写了一个,主要用于纯色图标的自由改色。 当然,图标素材得网上找。 Qt原生图标与现代图标对比: 没有对比就没有伤害 Qt图标 网络素材图标 自定义类XJQ_Icon: from PyQt5.QtGui import QIc…

《企业数据资源相关会计处理暂行规定》学习笔记

附:2023年数据资源入表白皮书下载: 关注WX公众号: commindtech77, 获得数据资产相关白皮书下载地址 1. 回复关键字:数据资源入表白皮书 下载 《2023数据资源入表白皮书》 2. 回复关键字:光大银行 下载 光…

【Spring实战】12 Thymeleaf

文章目录 1. 定义2. 设计目标3. 官网4. Spring 集成 Thymeleaf1)添加依赖2)创建模版3)创建Controller4)启动程序5)执行验证 5. 代码详细总结 1. 定义 Thymeleaf 是一个用于在 Web 应用程序中进行服务器端 Java 模板渲…

《A++ 敏捷开发》-2 改进从团队开始

上一章介绍了丰田方式水面下的七个习惯,但公司应如何有效开展与推行?有哪些误区要注意?我们先看美国东岸某家小印刷公司的故事。 美国费城Weisbord故事 60年代复印机还未普及,很昂贵,所以有不少公司专门为各类公司客…

Oracle 19c OCP 1z0 082考场真题解析第17题

考试科目:1Z0-082 考试题量:90 通过分数:60% 考试时间:150min 本文为云贝教育郭一军guoyJoe原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。 17. Which three …

AtCoder Beginner Contest 334 G

G.Christmas Color Grid 2(枚举,Tarjan) 题意: 本题与问题 E E E类似。有一个 H H H行和 W W W列的网格,每个单元格都被涂成红色或绿色。用 ( i , j ) (i,j) (i,j)表示从上到下第 i i i行、从左到右第 j j j列的单元…

51单片机的中断相关知识

51单片机的中断相关知识点 一、中断概念和功能 概念 程序执行过程中CPU会遇到一些特殊情况,是正在执行的程序被“中断”,cpu中止原来正在执行的程序,转到处理异常情况或特殊事件的程序去执行,结束后再返回到原被中止的程序处(断…

Linux报错:audit: backlog limit exceeded

今天,一台虚拟机上操作昨天打开的连接一直没响应,新打开连接连接不上。SSH校验不通过。 通过IT的后台,可以看到满屏的audit: backlog limit exceeded。 问题原因:audit服务记录的审计事件超出默认(或设置)数量 ,达到或…

git回滚操作,常用场景

文章目录 git回滚操作1.git reset --hard 【版本号】2.回滚后的版本v2又想回到之前的版本v32.1 git reflog 3.git checkout -- 文件名4.git reset HEAD 文件名 git回滚操作 假设我们现在有三个版本 现在回滚一个版本 1.git reset --hard 【版本号】 发现只剩下两个版本了 2.…

Java关键字(1)

Java中的关键字是指被编程语言保留用于特定用途的单词。这些关键字不能用作变量名或标识符。以下是Java中的一些关键字: public:表示公共的,可以被任何类访问。 private:表示私有的,只能被定义该关键字的类访问。 cl…

【Linux】chage命令使用

chage命令 chage用来更改linux用户密码到期信息,包括密码修改间隔最短、最长日期、密码失效时间等。 语法 chage [参数] 用户名 chage命令 -Linux手册页 选项及作用 执行令 : chage --help 执行命令结果 参数 -d, --lastday 最近日期 …

基于NXP I.MX8 + Codesys的工业软PLC解决方案

全新i.MX 8M Plus是一个混合人工智能SoC,将先进的嵌入式SoC与最新的人工智能/机器学习硬件NPU技术相结合,通过神经网络加速器,为边缘计算提供强大的机器学习能力,是i.MX 8M Plus一个最为突出的优势。WEC-IMX8P核心板特别适合在机器…

Elasticsearch 8.X进阶搜索之“图搜图”实战

Elasticsearch 8.X “图搜图”实战 1、什么是图搜图? "图搜图"指的是通过图像搜索的一种方法,用户可以通过上传一张图片,搜索引擎会返回类似或者相关的图片结果。这种搜索方式不需要用户输入文字,而是通过比较图片的视…

智慧园区物联综合管理平台感知对象管理能力简述

物联感知对象管理, 不局限于物理传感设备, 还包括物联业务对象, 平台提供标准的设备建模能力以及标准的物联设备、 第三方物联系统SDK接入方案等; 实现对感知对象运行、 报警、 故障状态的反馈以及物联感知对象全生命周期信息管理。 基础定义配置 平台提供物联网目感知对…

【C/C++笔试练习】sort排序、STL容器、vector的特性、一级容器、迭代器失效、异常捕获、动态转换、统计每个月兔子的总数、字符串通配符

文章目录 C/C笔试练习选择部分(1)sort是不稳定排序(2)存放即有序的STL容器(3)连续储存的STL容器(4)vector的特性(5)一级容器(6)unorde…

DES加密算法优缺点大揭秘:为何它逐渐被取代?

一、引言 DES(Data Encryption Standard)加密算法作为一种历史悠久的对称加密算法,自1972年由美国国家标准局(NBS)发布以来,广泛应用于各种数据安全场景。本文将从算法原理、优缺点及替代方案等方面&#…