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 的方法,将其中输入 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+λ∣∣Xc??G(X)∣∣1?+β∣∣Xcf??Gf?(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 方法集成,并进一步提高它们的性能。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!