The Way to my Heart is through Contrastive Learning:Remote PPG from Unlabelled Video

前言

        与PPG相比,rPPG信号非常细微,人眼难以感知。但如果知道信号活跃的区域在哪里,我们就可以在数字图像中将它们提取和放大,通过从网络摄像头拍摄的视频中发现这些信号,并使用它们来估计心脏活动。如图1所示,rPPG可以满足低成本、非接触式健康监测的需求。

图1.从一个人的脸部视频估计这个人的心脏活动。左图是心脏活动的PPG信号,右图是显著性信号,它显示了模型估计的最活跃的位置(在上图中是前额的中心)。

        本文提出对比训练的方法,它建立在三个基本假设上(有关潜在兴趣信号):1.假设兴趣信号在特定范围内。本文将这一范围设置为40-250次/min,这捕捉到了绝大多数人的心率。2.假设感兴趣的信号通常不会在短时间内迅速变化,即一个人在t时刻的心率与他在t+W时的心率相似,其中W是以秒为单位的。3.信号有一些可见的表现(即使人眼无法察觉),这是目标频率范围内的主要视觉信号。

        通过建立一个基于以上假设的对比学习框架,本文可以在没有真值训练数据的情况下,从实验者的脸部视频,训练一个深度神经网络来估计PPG信号,并以此跟踪心率。我们在监督训练和对比训练中都引入了新的损失函数,这些函数对去同步化具有更强的鲁棒性。此外,由于深度神经网络的行为可能难以理解,我们提出一个前端基于显著性采样的模块,来突出最相关的输入数据。如图1右所示,模型可以输出可解释的显著性图,为模型感兴趣的信号位置提供了一些透明度。在该图中,感兴趣的位置是受试者的前额、鼻子和脸颊的部分,这与人们传统意识里rPPG信号最强的位置相吻合。实验表明,显著性采样器可以被添加到监督模型和对比模型中,并且效果相似;对比模型也可以在没有显著性采样器的情况下学习预测PPG。

方法

图2.方法概述 

        我们首先从源视频中采样一段长度为W的视频切片x_{a}x_{a}通过显著性采样器S生成扭曲的视频切片x_{a}^{s}x_{a}^{s}被输入到PPG估计器g_{\theta }中得到y_{a}。如果使用监督训练,则在真值\tilde{y_{a}}y_{a}之间应用一个损失函数。如果使用对比训练,则从先验分布中采样随机频率比r_{f}。然后将扭曲的x_{a}^{s}输入频率重采样器R,以产生负样本x_{n}^{s}。将x_{n}^{s}输入g_{\theta },得到负样本PPGy_{n}。负样本y_{n}再次用r_{f}的逆函数采样,以产生一个正样本PPG y_{p}。最后,使用PSE MSE距离度量,将对比损失MVTL应用于PPG样本。 

1.预处理

        对于所有的数据集,我们采取简单的数据预处理过程:1.估计一个环绕面部的边缘框。2.给边缘框添加一个比例为50%的缓冲区。3.提取192×128的帧。4.如果未缓冲的新边缘框超出了范围,我们将更新缓冲的边缘框位置。这确保了视频的相对稳定性,同时允许偶尔的运动和重新排列。5.将视频裁剪并缩放到64×64的分辨率,以用于输入到模型中。这样可以以更低的成本得到更高的分辨率。

2.显著性采样器

        输入的视频序列被传递到显著性采样器模块,该模块是可选的。该模块有两个目的:1.为PPG估计器正在学习的内容提供透明度,在注释数据较少时,该功能极具意义。2.对输入图像进行变形,在空间上强调显著性区域,然后将其传递给PPG估计器。

        在实验中,我们使用一个预先训练的ResNet18网络,它在conv2_x模块之后被截断。根据经验,该网络在不需要大量计算的情况下很好地执行了任务。我们有选择地附加了两个损失项:

\pounds_ {sparsity}=-\frac{1}{ND}\sum_{i}^{D}\sum_{j}^{N}s_{i}^{j}log(s_{i}^{j})\cdots \cdots \cdots \cdots \cdots\cdots\cdots\cdots (1)

\pounds_ {temporal}=-\frac{1}{N(D-1)}\sum_{i}^{D-1}\sum_{j}^{N}(d_{i,i+1}^{j})^{2}\cdots \cdots \cdots \cdots \cdots\cdots\cdots (2)

\pounds_ {saliency}=\omega _{s}\pounds_ {sparsity}+\omega _{t}\pounds_ {temporal} \cdots \cdots \cdots \cdots \cdots\cdots\cdots\cdots (3)

         其中,s_{i}^{j}是每帧都经softmax归一化之后的显著性地图中第i帧位置在j处的值,d_{i,i+1}^{j}是帧i和帧i+1之间像素j显著性的差异,N是一帧中存在的像素个数,D是视频序列中帧的个数。sparsity损失偏向于熵更小(即空间上稀疏的解,如图1中的前额),而temporal损失偏向于从一帧到另一帧更平滑的解。

3.PPG估计器

         我们使用基于三维CNN的PhysNet架构的改进版本作为我们的PPG估计器。PhysNet的核心是一系列8个3D卷积,含有卷积核为(3,3,3)、64个通道,使用ELU激活。层之间还采用平均池化和批处理规范化。在PhysNet的论文中,使用了两个转置卷积来将编码后的表示返回到原始视频长度。然而,我们发现这在输出的PPG信号中引入了混叠。所以我们修改这部分网络,使用上采样插值(×4)和与内核为(3,1,1)的3D卷积。采样步骤重复两次,以消除输出中的混叠。接下来,我们执行自适应平均池化来降维,产生一个一维信号。最后进行一维卷积,将64个通道转换为单通道PPG输出。

4.损失函数

        我们在训练过程中使用一系列损失和度量标准,如表1所示。

表1.损失和度量标准 

 4.1 皮尔逊相关性(Pearson’s correlation, PC)

        皮尔逊相关性被用作基线监督损失和验证度量,它通常用于其他rPPG工作。虽然它尺度不变,但它假设地面真实值和观测数据之间有完美的时间同步。否则,网络必须能够学习一个时间偏移量,且假设偏移量是恒定的。

4.2 信噪比(SNR)

        信噪比被其他rPPG工作用作另一个基线,以匹配地面真实心率。该方法通过用功率谱密度(PSD)表示频域损失来松弛对准假设。它计算PSD的目标心率频率库中的功率,并将其与PPG信号中的其他总功率进行比较。因此,它假设所有其他频率都应该归零,这可能会消除有意义的谐波。

4.3 最大交叉相关(MCC)

        我们将最大交叉相关作为一种新的rPPG监督训练的损失函数和度量。不像PC假设PPG同步,MCC定义信号间理想偏移处的相关性。假设心率相对稳定(假设2),这使得损失对真值中的随机时间偏移更有鲁棒性。meta-RPPG的作者在使用顺序损失时采用了类似的方法。然而,这需要模型学习一个序数回归,而不是原始的PPG信号。在频域上可以有效地计算MCC,如下所示:

MCC=c_{pr}\times Max(\frac{F^{-1}\left \{ BPass\left ( F\left \{ y \right \} \cdot \overline{F\left \{ \hat{y} \right \}} \right )\right \}} {\sigma _{y}\times \sigma _{\hat{y}}}) \cdots \cdots \cdots \cdots \cdots (4)

         我们首先将每个信号减去平均值来简化计算——得到y\hat{y}。然后对两个信号进行快速傅里叶变换(FFT),并将其中一个结果与另一个的共轭相乘,来在频域中计算交叉相关性。这等价于时域的卷积。为了防止循环相关,我们对FFT的输入零填充至其长度的两倍。我们将预期心率(40-250bpm)范围外的所有频率归零来应用带频滤波器(假设1)。然后对滤波后的频谱进行反FFT,除以原始信号的标准差\sigma _{y}\sigma _{\hat{y}},得到交叉相关系数。这个输出的最大值是在理想偏移处的相关系数。我们用一个常数c_{pr}来调节MCC,这是相关心率频率内的能量的反比。这确保MCC不受相关范围外频率的影响。

4.4 多视角三态损失(MVTL)

         我们使用多视角三态损失(MVTL)作为对比训练的丢失函数。如图2所示,我们的自监督过程有三个输出分支——锚点(y_{a}),正分支(y_{p}),负分支(y_{n})。从这三个分支中,我们获取长度V_{L}的子集视图V_{N}。由于假设2——心率在一定的时间内是相对稳定的,每个视图中的信号应该看起来类似。然后我们计算锚点和正视图的所有组合(P_{tot})以及锚点和负视图的所有组合(N_{tot})之间的距离。我们计算P_{tot}-N_{tot}并使用总视图量V_{N}^{2}进行调节,以得到最终的损失。

4.5 功率谱密度均方误差(PSD MSE)

        在使用MVTL进行对比训练时,我们使用功率谱密度均方误差(PSD MSE)作为两个PPG信号之间的距离度量。我们首先计算每个信号的PSD,并将相关心率范围从40到250 bpm之外的所有频率归零(假设1)。然后将每个信号归一化,使其和为1,并计算它们之间的MSE值。

4.6 无关功率比(IPR)

        我们在对比训练中使用无关功率比(IPR)作为验证指标。我们首先计算PSD,并将其分为相关频率(40—250bpm)和无关频率(假设2)。然后将不相关范围内的功率除以总功率。IPR可以用作信号质量的非监督衡量方法。

5.训练

5.1 采样

        训练时,我们从一段视频X_{i}和与它相应的生理真值Y_{i}中随机采样W秒。在我们的实验中,我们设置W为10秒。我们分别将这些子集片段表示为x_{a}\tilde{y_{a}}。我们使用三线性插值法人为地将较短的视频片段拉长到W秒来随机增大我们的训练集,但在真值PPG中使用线性插值来模拟这种拉伸并恰当地调节真值HR。该方法有效地降低了HR,最多的降低了33%。如果对给定的样本PPG计算的IPR超过60%,我们将重新绘制第二个新的长W秒的子集。

5.2 心率计算

        给定一个PPG,我们通过以下步骤计算心率:(1)对PPG信号进行零填充以获得更高的频率精度(2)计算PSD(3)在相关心率范围内定位最大幅度的频率。我们使用这种方法同时计算缺失的HR真值和从预测PPG得到的HR。我们选择了一种简单的基于PSD的方法,而不是学习的方法。

5.3 显著性采样器

        如果启用显著性采样器,输入视频x_{a}首先通过显著性采样器(S),产生的空间扭曲视频表示为x_{a}^{s}。显著性采样器的输出可用于验证网络的性能。

5.4 监督训练

        当执行监督训练时,只使用了图2的顶部。输入视频的片段x_{a}^{s}被送入PPG估计器g_{\theta },以产生PPG估计值y_{a}。之后在\tilde{y_{a}}y_{a}之间应用之前选定的监督损失函数。

5.5 对比训练

        在进行对比训练时,我们随机选择一个介于66%和80%之间的重采样因子R_{f}。然后,我们将锚定视频片段x_{a}^{s}传输到三线性重采样器R,以生成负样本x_{n}^{s}。这通过一个1.25—1.5的因子有效地增加了心率频率。x_{a}^{s}x_{n}^{s}通过PPG估计器g_{\theta }传递,分别产生y_{a}y_{n}。然后,我们使用R_{f}的逆对y_{n}进行重采样,以输出正信号y_{p},其频率应与y_{a}匹配。最后,我们使用PSD MSE距离应用对比损失函数MVTL。在我们的实验中,我们将视频视图(V_{N})设置为4秒,长度(V_{L})设置为5秒。由于这种方法是无监督的,我们也使用验证集进行训练。 

5.6 学习参数

        在所有实验中,我们都使用学习率为10^{-5}的AdamW优化器,共训练100个epoch。在训练之后,我们从验证损失最小的epoch中选择模型。因为对比训练不使用标签,我们在对比训练的训练集中选择IPR最低的模型。

数据集

表2.用于rPPG分析的已发布数据集

        我们将以下四个数据集吸收到一个公共数据框架中,供其他研究人员使用。使用MR-NIRP-Car代替MR-NIRP-Indoor,因为它包含了驾驶员典型的身体运动和灯光变化,是一个更具挑战性的场景。

PURE

        PURE由10名受试者(8名男性,2名女性)组成。他们在自然光下,在摄像机前进行不同的、受控的头部运动(稳定、说话、缓慢平移、快速平移、小旋转、中等旋转),每个视频序列持续一分钟。数据集记录了头部的未压缩图像和指尖脉搏血氧仪检测到的参考PPG和心率。PPG的前两个采样被损坏,并在分析过程中被丢弃。PURE包含用于训练、验证和测试的预定义folds,我们使用这些folds与相关工作进行比较。我们每个实验用不同的随机种子运行五次,并将结果平均。

COHFACE

        COHFACE包含来自40名受试者的160个一分钟视频。视频在工作室和自然光下拍摄,并使用Logitech HD摄像头C525和接触式rPPG传感器记录。视频使用MPEG-4 Visual进行了大量压缩,可能会导致rPPG信号的损坏。与PURE类似,数据集带有预先定义的folds,为了稳定性,我们将每个实验运行五次。

MR-NIRP-Car

        MR-NIRP-Car是第一个公开可用的视频数据集,其中包含在驾驶过程中捕获的真值脉冲信号。数据是在RGB和近红外 (NIR) 中同时捕获的,并带有相关的脉搏血氧仪记录。数据集包含190个视频,包含19个在驾驶过程中以及在车库中的汽车内捕获的对象。每个受试者执行不同的运动任务(环顾汽车、看镜子、说话、大笑、坐着不动)。在实验中,我们只考虑具有最小运动的 RGB 车库记录。由于压缩文件损坏,一个样本不得不被丢弃。 此外,我们注意到 PPG 信号中有许多零值延伸,我们必须在训练期间重新采样。 由于缺少一组fold,我们将数据集按主题id分为五部分,通过每次保留不同的测试集,我们对5次结果进行平均。

UBFC-rPPG

        UBFC-rPPG包含来自42个受试者的未压缩视频,具有来自脉搏血氧仪的真实PPG和心率数据。它让参与者参与一个时间敏感的数学谜题,这会引起他们的心率变化。在本实验中,我们丢弃了被观察到具有错误 (< 5 bpm) 心率数据的受试者 11、18、20 和 24。 然而,由于只是 PPG 数据错误而不是视频被损坏,我们将这几个视频放入自我监督训练中。 由于UBFC数据集中不包含fold,我们使用与MR-NIRP-Car相同的测试策略。

共性

        在所有数据集中,视频以30Hz的频率被捕获。 必要时,我们对生理数据进行插值以使其同步,从而为每个视频帧获取一个样本。因为我们做出了心率在短时间内不会变化的关键假设(假设 2),所以我们分析了每个数据集的心率变化量。 一般而言,我们发现在10秒窗口内的大多数数据中,心率变化不超过2.5bpm。

实验

 表3.实验结果

        我们首先在表3中的四个PPG数据集上比较我们的方法,展示了我们的监督和对比系统的结果,分为使用和不使用显著性采样器两类。我们比较了一个总是预测测试数据平均值的系统、一个预测中值的系统和最新技术。我们计算预测心率与真值的均方根误差(RMSE)、平均绝对误差(MAE)和皮尔逊相关性(PC)。

1.数据集性能

PURE

        PURE在所有方法上(包括HR-CNN基线)的结果都近似,RMSE在2.37和2.59 之间。这种接近理想的性能可能是由于高质量的视频、受限的环境和较小的移动。值得注意的是,对比方法能够在不使用真值的情况下获得类似的结果。

COHFACE

        我们的对比系统在COHFACE上表现最好,RMSE为2.23。该性能类似于在PURE未压缩数据集的结果,这证明了我们的系统对视频压缩更具鲁棒性。同时,我们的监督模型的RMSE为5.95,它仍然优于现有技术水平的10.74。

MR-NIRP-Car

        基线的RMSE为2.90,已经很低 ,但我们的监督系统达到1.86。同时证明了我们的对比系统能够在没有标签的情况下提高性能。

UBFC

         在UBFC数据集中,基线的RMSE值为7.42。值得注意的是,他们使用所有样本的前两秒进行自适应,因此结果并不完全可比。我们的两种方法都获得了更好的性能,监督方法和对比方法分别得到4.98和4.35。

2.显著性采样

       我们从定量(是否改变PPG估计器在rPPG任务上的性能)和定性(是否有助于解释模型的行为)两方面来评估我们的显着性采样器。在训练监督模型和对比模型时,将显着性采样器添加到模型中的结果如表3所示。在PURE和UBFC中,采样器对性能没有显着影响,而对于COHFACE和MR-NIRP-Car,它会降低对比训练1-2分的性能,监督训练3-4分的性能。在图3中,我们展示了在训练期间改变稀疏性和时间正则化参数的定性效果。rPPG模型性能被观察到在各种正则化设置下是稳定的,尽管训练在更高的正则化水平上变得不那么稳定(如在下面一行,由于五次训练运行没有收敛)。我们在补充材料中对这些参数的灵敏度进行了详细的探讨。

图3.正则化对计算显著性估计的对比训练网络的影响。

        我们推测,虽然时间正则化器通过允许运动线索传递到 PPG 估计器,可能有助于静态视频序列上的性能,但在具有大运动的视频中可能会降低性能。另一方面,稀疏正则化器可靠地实现了不可解释的显著图,而并未明显损害性能。
        为了说明采样器的定性价值,我们进行了一个注入周期性干扰信号的实验,如图 4 所示。在对比训练下,采样器可用于确定PPG估计器网络已发现伪信号,且没有按预期工作。在监督训练下,采样器学习从输入数据中移除输入到PPG估计器的周期信号。我们向UBFC数据集添加了一个以60-180bpm的速度随机闪烁的像素块(在最上面一行突出显示),并训练了我们的对比模型和监督模型。相比之下,在不需要真值验证数据的情况下,显著性图显示模型已经学会使用噪声信号,而不是学习有关主题的感兴趣的信号。在监督设置下,显著性采样器学习去强调实验者的皮肤,重采样后完全丢弃注入的噪声信号。  

图4。一个可解释模型行为的例子。

 讨论

        在这篇论文中,我们提出了一种对比学习的方法,从一个人脸的视频估计他的心脏活动。这是深度神经网络首次以完全自我监督的方式,以零标注成本解决rPPG问题。此外,我们引入了一种新的监督训练的损失,它对去同步有更强的鲁棒性,而且相对于最先进的技术实现了性能改进。我们还将模型与显著性采样器耦合在一起,该采样器提供可解释的输出,以帮助确认系统是否实际按照预期执行。

        我们的工作为训练更大的、无标签的数据集打开了大门,比如来自互联网的数据集。在未来的工作中,我们打算进一步探索如何使用显著性学习或类似的注意力机制,更有效地指导下游PPG估计器的工作。

显著性采样器,上采样插值,自适应平均池化

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值