0%

multi-network learning rPPG

Contactless Pulse Estimation Leveraging Pseudo Labels and Self-Supervision

【rPPG】【ICCV2023】【paper】【code not available

abstract

  本文提出了一种使用伪标签监督辅助对比学习的无监督范式,使用 2SR 生成伪标签并通过课程式学习逐步平衡伪标签监督和对比学习。关于伪标签监督是多网络学习在 rPPG 的一种成功迁移。需要指出本文将视频 x 转化为了 STMap,但在之后多次用到 ϕ(x),难免造成模型直接处理视频的误会。

overview

image-20231109185005424


contribution

  • 在普通自监督的基础上使用伪标签进行额外监督
  • 使用双模型联合训练的方式对伪标签进行优化

formulation

  输入视频被转化为 STMap x;双模型 ϕ1:xy1ϕ2:xy2 均为 Dual-GAN 的 backbone(不共享参数) ;2SR 作为传统方法直接从视频中估计伪标签 yp;通过对 y 计算 PSD F(y) 获取其对应心率 h

framework

image-20231109191326777

  • 自监督学习范式

  这部分基本与之前的相关工作没有区别,本文使用时间移位来构建 pos.,即对于 anchor,将其在视频内的位置平移 ±f 帧得到正样本:Lp=d(F(ϕ(x)),F(ϕ(x±f))),也就是期望模型在 anchor 和 pos. 上获取一致的 PSD。

  本文使用频率的上采样 u 和下采样 d 获取 neg.:Ln=d(F(ϕ(x)),F(ϕ(xd)))d(F(ϕ(x)),F(ϕ(xu))),也就是期望模型对于上下采样之后的 anchor 和 neg. 获取不同的 PSD,上下采样的范围是 [0.6,1.3]。

  由于构造 neg. 时使用了上采样和下采样,因此视频对应的心率也应该呈现对应的变化,即 hu<h<hd,针对这种理应的变化设计损失函数为:Lrank=max(huh,0)+max(hhd,0)

  综合自监督部分,损失函数为:

Lselfsup=LpLn+αLrank, where α=0.01
  • 伪标签学习范式

  本文实质上是 multi-network learning 在 rPPG 上的成功应用,在两个模型上的协同优化循环优化 ϕ1ϕ2,优化 ϕ1 可以表述为:

  i ) 计算 batch 内的 ϵ1=abs(hpbh1b) for b[1,bs],其表示模型输出和伪标签直接的差值

  ii) 在 ϵ2 中选择误差最大的 λ 个下标 {bi}1λ,此时认为这些下标对应的伪标签是置信度低的,从而使用 h2bi 替换掉 hpbi 作为对 ϕ1 的监督,此时并不更新 ϕ2

  对于伪标签学习,损失函数 Lpseudo 为简单的 MSE。但考虑到前期同一个 batch 内会出现多个由于网络没有充分训练的“偏差值”,因此 λ 应当随着训练缓慢增大。具体来说,λ=etemaxλmax,其中 et 表示第 t 个 epoch,λmax=8

  综合伪标签学习和对比学习时,应该考虑到前期的对比学习相对于伪标签学习这种“伪监督学习”具备更低的置信度,因此 trade-off 应该先考虑伪标签学习,再考虑对比学习。

L=(1etemax)Lpseudo+Lselfsup

experiment

  是第一个在 VIPL 上测试的模型,分成 10s 的 clip 做 video-level 测试,intra- 和 cross- 都 OK

image-20231109204253372

image-20231109204310352

  消融实验很有说服力

image-20231109204403769

Powered By Valine
v1.5.2