研究背景
心率 (HR) 和脉搏率变异性 (PRV) 是允许分析心脏行为的两个生理参数。心率监测可以通过接触式和非接触式的两种方法进行。通常用于测量 HR 和 PRV 的两种接触式技术是心电图 (ECG) 和光电容积脉搏波 (PPG)。 ECG 测量由心脏活动引起的电场。另一方面,PPG 测量由于心血管系统的脉动性质和血容量的变化所导致组织中含量变化,最后引起光吸收的变化。 PPG 和 ECG 执行基于接触的 HR 测量,它们可能会导致卫生问题,甚至在脆弱的皮肤上无法实现。由于这些可能的缺点。Verkruysse 等人证明 PPG 信号可以从标准摄像机远程测量,使用环境光作为照明源。这种称为远程光电容积描记术的技术具有以完全远程方式测量与 PPG 相同参数的优势。
事实上,rPPG 是非接触式等效于 PPG 的反射模式,使用相机作为接收器,环境光作为光源。根据皮肤反射光线时相机捕捉到的细微皮肤颜色变化估计血容量变化。PPG 和 rPPG 信号允许测量多个生物医学参数,例如心率、脉搏率变异性、眼球血管闭塞、外周血管舒缩活动、脉搏传递时间和呼吸频率的血压。因此,也有多种应用可以进行运用,包括血压预测、混合现实、汽车驾驶员的生理测量、活体皮肤分割、人脸反欺骗、和控制新生儿的生命体征。与 Verkruysse 等人一样,早期方法使用绿色通道来估计 rPPG 信号。然后,提出了基于光组织相互作用模型来确定投影矢量的方法,例如 PbV、POS 和 Chrom,以及其他基于盲源分离技术的技术,例如PCA、ICA、EVM、PVM、WVM。最近,深度学习模型已开始用于视频序列的生理测量,这些方法的主要优点是它们可以实现良好的结果,而无需设计人员深入分析问题。基于手工制作的管道需要通过帧检测和跟踪感兴趣区域,组合颜色通道,过滤它们并估计呼吸频率或心脏等生理参数。或者,在基于深度学习的测量中不再需要基于管道的框架。因此,基于深度学习的方法不太容易在其管道中传播错误。然而,最近的工作集中在心率测量性能而不是理解 。消融实验对于深度学习的研究很有帮助,因为它们提供了对不同架构和正则化组件对机器学习和深度学习性能的相对贡献的洞察。例如,在 Unifying frame rate and temporal dilations for improved remote pulse detection 中,作者提出了一系列评估帧速率重要性的实验。通过对时域和频域评估表明,由于时空内核覆盖的时间长度增加,降低帧速率可能会带来更好的网络性能。在 Analysis of cnn-based remote-ppg to understand limitations and sensitivities 中,在二维神经网络(2DCNNs)中对空间上下文的重要性进行了研究。结果表明,不同的分辨率会导致网络性能的轻微波动。然而,这个结论在 3D 卷积网络中是否有效尚不清楚。并且有一些研究者建议使用红、绿和蓝 (RGB) 以外的通道,于是本文作者可以找到使用颜色通道的 rPPG 方法,例如 Lab、Luv 或 YCbCr。有趣的是,在基于深度学习的 rPPG 测量中,YUV 颜色空间已经显示出有希望的结果。
2DCNN 在测量 rPPG 信号时非常重要。它们已被用于测量 rPPG、HR、BR 和 PRV。然而,在考虑时间上下文的情况下,有必要执行一个额外的过程,这增加了计算时间并使其更难以端到端的方式实现。因此,基于 2DCNN 的 rPPG 测量方法可能不适合实时环境。请注意,实时能力通常是指模型以 30 fps (33.3 ms) 的速度比网络摄像头运行得更快。由于三维卷积神经网络 (3DCNN) 可以同时分析视频的空间和时间特征。出于这个原因,对于端到端应用程序,使用 3DCNN 可能比 2DCNN 更方便。例如,也许最具标志性的 3DCNN 之一是由 Zitong Yu 等人提出的 PhysNet。
作者使用 2DCNN+LSTM 和 3DCNN 对时空网络进行了性能比较。 3DCNN 优于 2DCNN 和循环网络的组合。使用这种方法,可以直接从视频中获取 rPPG 信号。下图描绘了基于 2D 和 3D CNN 的通用 rPPG 框架之间的差异。
问题
远程光电容积描记 (rPPG) 信号的采集在多种应用中很重要。最近,基于深度学习的方法,如 3D 卷积网络 (3DCNN),已经优于传统的手工方法。然而,尽管它们具有强大的建模能力,但众所周知,大型 3DCNN 模型具有高计算成本并且可能不适合实时应用。在本文中,作者提出了对 3DCNN 架构的研究,找到了心率测量精度和推理时间之间的最佳折衷方案。通过将信噪比分量添加到常规 Pearson 相关损失函数中,可以通过减少输入大小来获得快速推理,同时通过引入新的基于时间和频率的损失函数来获得精度性能。
方法
在这项工作中,作者使用基于 3DCNN 的编码器-解码器神经网络作为基线。并且提出对图像大小和颜色空间的消融研究,以提高推理速度,并同时保持准确性。并引入新的基于时频的损失函数。
Spatio-temporal network
系统输入是任意三维色彩空间(
[
i
1
,
i
2
,
.
.
.
,
i
T
]
[i_1, i_2, ..., i_T]
[i1,i2,...,iT])的一系列 T 帧图像。为了只使用与面部皮肤相关的信息,作者使用了一个神经网络表示为
Φ
\Phi
Φ负责提取在每一帧中找到的对象的面部。然后使用等式中表示为
Ω
\Omega
Ω 的调整大小程序。为了得到一个尺寸为 bxb 的正方形图像。整个过程如方程式所示。 (1):
[
f
1
,
f
2
,
.
.
.
,
f
T
]
=
Ω
(
Φ
(
[
i
1
,
i
2
,
.
.
.
,
i
T
]
,
φ
)
,
ω
)
[f_1, f_2, ..., f_T ] = \Omega(\Phi([i_1, i_2, ..., i_T], \varphi), \omega)
[f1,f2,...,fT]=Ω(Φ([i1,i2,...,iT],φ),ω)
受 Remote photoplethysmograph signal measurement from facial videos using spatio-temporal networks 中实现的时空网络的启发,在本文中,作者提出了一种 3DCNN-Encoder-Decoder,表示为 3DED 作为基线来查找与视频相关的 rPPG 信号。该网络分为两个主要部分。第一个是编码器 E,其中输入数据在具有更重要时空信息的潜在空间中进行转换。第二部分,接收潜在空间特征作为输入,是生成 rPPG 输出
y
=
[
y
1
,
y
2
,
.
.
.
,
y
T
]
y = [y_1 ,y_2 ,...,y_T]
y=[y1,y2,...,yT] 的解码器 D。 E 和 D 是前馈 3DCNN。由 3DED 神经网络程序进行的 rPPG 估计如下所示。
[
y
1
,
y
2
,
.
.
.
,
y
T
]
=
3
D
E
D
(
[
f
1
,
f
2
,
.
.
.
,
f
T
]
)
;
θ
)
[y_1, y_2, ..., y_T ] = 3DED([f_1, f_2, ..., f_T]); \theta)
[y1,y2,...,yT]=3DED([f1,f2,...,fT]);θ)
Time-frequency based loss function
Pearson 相关系数可以测量 rPPG 的时间特征与血容量脉搏(PPG 信号)之间的线性关系,忽略基于频率的特征。另一方面,频域包含与心率和信号质量相关的分量,所以信噪比 (SNR) 可以增强基于频率的分量。因此作者使用
ρ
\rho
ρ 和 SNR 来优化 rPPG 信号的最重要特征。在下面的公式中提出了新的基于时间频率的损失函数负皮尔逊相关性和信噪比(NPSNR),它结合了上述两个指标:
N
P
S
N
R
=
1
−
(
ρ
+
λ
S
N
R
)
NPSNR = 1 - (\rho + \lambda SNR)
NPSNR=1−(ρ+λSNR)
Ablation study
作者提出了几个实验来获得实时、信号质量和心率测量精度之间的最佳折衷。在第一种方法中,逐渐将输入帧 bxb 的空间维度减小为七个不同的输入大小 d 其中
d
c
=
b
2
c
;
c
∈
[
0
,
1
,
.
.
.
,
6
]
d_c = \frac{b}{2^c};c \in[0,1,...,6]
dc=2cb;c∈[0,1,...,6]。然后提出基于时间频率的 NPSNR 损失函数替换基于时间的负皮尔逊相关 (NP) 损失函数。最后通过将 RGB 颜色空间更改为 Lab、Luv、YUV 和 YCbCr 来评估性能。下图描述了消融研究中提出的实验。为了应对输入大小的减小,作者改变了池化层,同时应用了相同的卷积操作。这些变化只发生在 E 编码器中。最后将网络配置称为 3DEDdc-ColorChannel-Loss,例如 3DED8-RGB-NP 是输入RGB 8x8像素和NP作为损失函数的3DED网络。
Metrics
模板匹配相关 (TMC) 和信噪比 (SNR) 用于评估 rPPG 信号估计质量。另一方面,平均绝对误差(MAE)和皮尔逊相关系数 r 用于评估心率测量精度。 SNR、MAE 和 r 使用 15 秒滑动窗口计算,步长为 0.5 秒。 SNR、TMC 和 r 要最大化,而 MAE 必须最小化。 MAE 结果以每分钟节拍数 (bpm) 和 SNR 的分贝 (dB) 为单位给出。TMC 是 ECG/PPG 信号质量评估指标的系数,是通过检测全长信号的信号峰值和中位节拍间隔来实现的。然后,以各自的峰值为中心分别提取脉冲,窗口宽度等于中位心跳间隔。模板被计算为所有脉冲的平均值。最后,TMC 系数被计算为所有脉冲与模板的平均相关性。 TMC = 0 表示信号的脉冲形状不均匀,而 TMC = 1 表示完全均匀。平均绝对误差计算为使用基于接触的地面计算的心率的窗口平均值脉搏血氧仪 (hc) 获得的真值波形,以及使用 rPPG 信号计算的心率(hr)。大小为 n 的两个向量 hr 和 hc 的 MAE 如下所示:
M
A
E
=
1
n
∑
j
=
1
n
∣
h
r
j
−
h
c
j
∣
MAE=\frac{1}{n}\sum_{j=1}^n|hr_j-hc_j|
MAE=n1j=1∑n∣hrj−hcj∣
皮尔逊相关系数衡量向量 hc 和 hr 之间的线性相关性。r = -1表示负线性相关,而 r = 1 表示正总线性相关,最后,r = 0 表示估计值与参考值之间没有线性相关性。 r 如下所示:
r
=
∑
j
=
1
n
(
h
r
j
−
h
r
)
(
h
c
j
−
h
c
)
∑
j
=
1
n
(
h
r
j
−
h
r
)
2
∑
j
=
1
n
(
h
c
j
−
h
c
)
2
r = \frac{\sum_{j=1}^n(hr_j- hr)(hc_j-hc)}{\sqrt{\sum^n_{j=1}(hr_j-hr)^2}\sqrt{\sum^n_{j=1}(hc_j-hc)^2}}
r=∑j=1n(hrj−hr)2∑j=1n(hcj−hc)2∑j=1n(hrj−hr)(hcj−hc)
实验
接下来就是上面所提出的实验结果。对于每个实验,我们采用了一个独立的 5 折交叉验证评估协议。心率是通过 rPPG 信号的傅里叶变换来测量的,HR 值是对应于最大幅度峰值的频率。下图描述了所提出的实验的结果。第二列和第三列分别表示 GPU 和 CPU 上的推理时间(以毫秒为单位)。接下来的两列是与心脏测量精度相关的指标(以 bpm 为单位的 MAE 和 r),然后是另外两列与信号质量相关的指标(以 dB 为单位的 SNR 和 TMC)。最后,最后一列是每个架构的可训练参数的数量(N.T.Param)。
当减小输入图像的大小时,GPU 和 CPU 上的 3DED 推理时间会减少;这是合乎逻辑的,因为卷积的数量也减少了。当输入大小最小(3DED2-RGB-NP)时,CPU 和 GPU 上的推理时间最小,即使 MAE 在此输入设置下略有增加,低值 r=0.45,SNR=1.5,并且 TMC=0.82 表示信号质量不可靠。另一方面,3DED8-RGB-NP 提供了推理时间、心率测量精度和信号质量之间的平衡指标。然而,尽管该网络比基线和 PhysNet 更快,但 rPPG 信号采集的性能仍有提升空间。通过采用 3DED8-RGB-NP 并将其基于时间的损失函数替换为本文提出的基于时间频率的损失函数,可以看出所有指标都得到了改善,尤其是 SNR。通过评估 RGB,Lab 、Luv、YUV 和 YCbCr 颜色通道,使用 YUV 获得最佳性能。因此,3DED8-YUV-NPSNR 在实时、信号质量和心率测量性能之间具有最佳折衷,作者将此架构称为实时 rPPG (RTrPPG),并在下图中描述其完整架构。将最佳配置与基线模型进行比较时,所有指标和推理速度都有所提高。更有趣的是,当将 RTrPPG 与最先进的 PhysNet 模型进行比较时,获得了非常相似的指标,而 RTrPPG 的推理速度从 GPU 的 51.77 ms 到 2.32 ms 和从 241.57 ms 提高了大约 88%在 CPU 中达到 28.65 毫秒。上图显示了消融研究和 PhysNet 网络中最佳配置的 HR 相关图。可以看出,使用 RTrPPG 测量的 HR 值的分布与 PhysNet 相当。
总结
3DCNN 是使用端到端方法从视频中提取 rPPG 信号的绝佳选择。然而,它们复杂的结构可能会阻碍它们的实时应用。在本文中提出了一个 3DCNN 基线和一系列实验,以找到一个快速准确的网络来获取可靠的 rPPG 信号。最佳配置称为实时 rPPG:RTrPPG。作者表明,通过降低输入图像的维度,可以提高推理速度,但代价是测量 rPPG 信号的精度下降。最后提出了一个联合解决方案,表明基于时间频率的损失函数对于网络学习输入视频的基本特征是必要的。同样,还表明最好使用经验颜色通道使用 YUV 代替 RGB 进行皮肤分割。有趣的是,当将 RTrPPG 与最先进的 PhysNet 进行比较时,实现了与 rPPG 信号采集相当的精度,而提出的模型将推理速度提高了约 88%,在 GPU 中从 51.77 ms 到 2.32 ms,从 241.57 ms在 CPU 中毫秒到 28.65 毫秒。