EfficientPhys: Enabling Simple, Fast and Accurate Camera-Based Cardiac Measurement

Abstract

基于相机的生理测量是一个非常火的领域,目前有神经网络模型都达到了SOTA的效果,之前的工作探索了很多端到端的模型。然而这些方法都需要一些preprocess的步骤,并不能直接在移动端或外设上运行。这些附加的操作通常实施起来很麻烦,给复现和部署造成困难,并且还比纯网络有更高的计算负荷。本文我们为生理测量提出了两个新颖且高效的神经网络模型:EfficientPhys,它删除了面部检测、分割、归一化、色彩空间变换等preprocessing步骤。只需要raw videos的输入,我们的模型在3个公开数据集上得到了很强的精度,我们证明了不管使用transformer还是convolutional backbone都是这个结果。我们后面测评了所提出模型的latency and it shows that 我们最轻量级的模型仍然在效率上提高了33%。

Introduction

基于相机的生理测量是一种非接触式的通过身体的光反射捕获心脏信号的方法,最常见的这种信号是通过PPG技术测量的血流量脉冲blood volume pulse(BVP),从这我们可以得到心率、呼吸率以及脉冲转换频率。并且有promising evidence证明PPG信号可以用于诊断动脉疾病的信号。在这一领域目前的SOTA是神经网络模型,这些网络可以学习strong feature representation并且可以高效的判断出由于潜在生理过程比如肢体运动、光源变化等其他“noise”造成的微小变化。
之前的研究框架已经实现了端到端的方法,虽然达到了SOTA的效果但在数据输入网络前需要预处理步骤。比如,有些使用手工制作的标准化差异帧和标准化外观框架作为卷积注意力网络的输入,有些使用复杂的方法来create特征图“MSTmap”。这些步骤包含了面部坐标检测,通过这些坐标进行ROI区域的获取,然后平均化RGB和YUV颜色空间内的像素值。
这些预处理步骤有以下缺点:
1、它们对最优的标准化或表达做出假设而不是让网络以数据驱动的方式去学习这些特征
2、它们计算成本很高并且在视频处理过程中增加了大量操作。
为什么我们需要将基于摄像头的生理测量传感器运行在设备上呢?
因为需要提供privacy,分析raw video,节省数据花销与带宽
因此所有额外的计算都需要被证实能够提升模型的准确率,否则就是毫无用处的。并且,由于基于摄像头的生理测量师非常隐私的应用,所以更应该在本设备上存储数据而不是将数据上传到云端。如果我们的打算将系统部署到low-end的移动设备上,前期处理的成本费用将会高到离谱。
3、这些预处理步骤很多都执行和优化起来麻烦,这使得它们在实时系统上部署和在不同平台上复现复杂。比如,将现有模型在Android,IOS或JavaScript上部署起来需要花费很大efforts,还有一些库,比如面部坐标检测,在某些平台上是不支持的。所以这最后一步非常具有挑战性。
在理想的情况下,基于视频的生理测量方法能够在移动设备上以很高的帧率运行,能很容易的在不同的平台上部署甚至达到SOTA的表现。解决以上提到的问题有助于我们达到我们想要的性能。我们提出了一个端到端的网络,EfficientPhys,输入是未经处理的视频帧,不需要对面部进行准确的裁剪。由于近期visual transformer的发展,我们提出了一个卷积和visual transformer结构,并且对比比较了它俩的性能。

我们的主要贡献如下:

  1. 提出了两个新颖的one-stop的神经网络结构,一个是visual transformer网络,一个是卷积网络,并且不需要任何preprocessing步骤。
  2. 在三个流行的benchmark数据集上评估了我们提出的模型
  3. 通过两种最先进的基于机器学习的方法和基于信号处理的技术来评估模型在设备上的latency。就我们所知,这是第一篇探索了visual transformer在基于摄像头的生理测量方面应用的论文,并且是第一篇对比了vit和卷积神经网络模型的论文。这也是第一篇探讨移动设备上的端到端神经网络模型的论文。

Related Work

1、基于相机的生命测量

在基于相机去探测生理生命信号方面的研究有很多,之前的工作为如何通过信号源分离技术使RGB图像去extract pulse信号奠定了基础。其他方法从基于物理的模型中得到了这些参数,以实现快速的分离,eg.POS。
由于pulse何皮肤像素之间的潜在关系比较复杂,深层卷积神经网络比传统的信号源分析算法的效果更好。DeepPhys是第一篇证明了深度神经网络比所有传统的信号处理方法效果都好的文章。Liu等提出了一种叫做MTTS-CAN的在设备上运行的高校卷积神经网络,用于摄像机的胜利感知,它利用张量位移模块和二维卷积操作来执行高效的时空建模。近期,还提出了一种生成对抗网络Dual-GAN,它有两个生成对抗网络,可以促进各个对抗性网络的representation,并解开pulse与各种噪声源之间的特征。
然而DeepPhys和MTTS-CAN都需要preprocessing步骤,Dual-GAN的preprocessing步骤更加复杂并且还有图片归一化步骤,复杂的preprocessing模块不仅占用大量内存并且还给整个模型造成了巨大的计算负担,有这些额外的步骤也给安装于部署造成了很大困难。与之前的工作不同,我们提出的EfficientPhys模型的目标是创造一个不需要preprocess并且在移动设备上部署方便,在有很多noise的情况下依然准确的方法。

2、Visual Transformer

尽管卷积神经网络已经在许多计算机视觉方面的应用被广泛研究过了,visual transformer在图像分类方向表现出了非常好的效果。通过在更大的数据集上进行训练,visual transformer(ViT)获得了优异的性能,可以用于使用更少的数据量进行downsream fine-tuning。最近,最先进的transformer叫做Swin Transformer,可以通过运用分层表达和将自注意力运算限制在non-overlapping的local windows下但却允许cross-window connection,以此来建立分层特征图并且提高计算效率。然而,transformer在基于相机的生理测量领域的研究很少。最接近的工作是使用transformer检测rppg信号来进行spoofing detection。然而,这篇文章没有使用任何公共数据集来评估所提出的vision transformer,因此被认为是基于摄像机的生理测量领域的gold benchmark。就我们所知,我们提出的vision transformer是第一个使用多个公开数据集来进行基于摄像头的心率测量领域的vision transformer。

Method

1、Convolutional based EfficientPhys

为了实现简单、快速和准确的实时基于设备上摄像头的生理测量,我们提出了一种one-stop的解决方案,它将原始视频帧作为网络的输入,并输出一个first-derivative PPG信号。Convolution-based EfficientPhys是一个one-branch网络,包括自定义归一化层、自注意模块、张量迁移模块和2D卷积操作,使其能够执行高效和准确的时空建模,同时易于部署。

(1)Normalization Module

现有的神经网络都需要不同层次的预处理,然后才能向网络提供视觉表征来学习皮肤像素和心脏脉冲信号之间的潜在关系。比如,举例Dual-GAN和CVD,这些prerocessing模块不仅增加了显著的计算负担,而且还使系统在移动设备等现实生活中的计算系统上的实现和部署更困难。我们提出了一个自定义的归一化模块,它可以在每连续两帧之间进行运动建模和归一化,以减少照明和运动噪声。More specifically,所提出的归一化模块包括一个差分层difference layer和一个batchnorm layer。差分层通过减去每两个相邻帧来计算沿原始视频帧的时间轴的first forward difference。为了为我们的工作奠定基础,给出了difference frame的optical grounding。在这里插入图片描述
然而,不同的帧在尺度上可能有显著的差异,使得网络很难学习有意义的feature representations,特别是当signal of interest隐藏在时间轴的细微像素变化中时,噪声伪影会导致更大的变化。为了解决这个问题,我们在difference layer之后添加了一个batch-normalization层。添加batchnorm layer有两个好处:一是在训练中将不同的帧归一化为同样的大小。二是与之前的fixed normalization不同,
在这里插入图片描述

(2)Self-Attention-Shifted Network

为了有效地捕获丰富的时空信息,我们提出了一种Self-Attention-Shifted Network(SASN)。TS-CAN有两个卷积分支,一个用预处理后的差分帧表示,另一个用normalized appearance frame。Motion branch执行主要的时空建模和估计,appearance branch提供attention mask来指导motion branch更好地将POI(pixel of interest)(如皮肤像素)分离出来。然而,我们认为,attention mask不需要通过一个单独的appearance分支来获得,它们也可以通过一个单一的端到端网络来学习。
在这里插入图片描述
如图所示,我们提出的self-attention-shifted network以custom normalization module开始,然后执行两个tensor-shifted convolutional operations,在第二个和第四个tensor-shifted 2D convolutional layer后我们各添加了一个self-attention module来帮助网络最小化由于tensor shifting带来的negative effects(比如运动,lighting noise)。我们提出的self-attention layers是softmax attention layers和1D convolutions,后面跟着激活函数sigmoid。之后我们使用normalization来移除attention mask中的无关值,最后,normalization mask与tensor-shifted convolution的输出值相乘。
在这里插入图片描述

2、Transformer based EfficientPhys

由于近期transformer在图像和视频理解方面的成功,以及注意机制在任务中的重要性,我们也提出了一个EfficientPhys的transformer版本。对于这个任务,我们需要一个transformer来学习空间和时间表示。现有的基于视频的transformer都是基于3D-embedding tokens,并将所有帧输入到3D编码器和时空注意模块中。然而,计算的复杂性使得这不利于在移动设备上的实时高效建模。在convolutional version中,我们使用了tensor-shifted 2D convolutions,这已被证明可以实现与3Dconvolutions相当的性能。受此启发,我们提出的基于transformer的EfficientPhys基于2D transformer,Swin transformer,添加了一些components that we’ll describe below。
由于2D Swin transformer只能学习将原始RGB值映射到单个帧和目标信号(脉冲)之间的潜在表示的空间特征,并且没有能力建模连续帧之外的时间关系。Swin transformer的主要贡献之一是shifted window模块,它具有线性计算复杂度,通过shifting the window partition和将自注意计算限制在non-overlapping local windows来允许cross-window connection。受shifting of spatial window partitions的影响,我们在每个Swin Transformer之前添加一个tensor shift module(TSM),以促进在时间轴上的信息交换。TSM首先将输入张量分割成三个块,将第一个块向左移动一个地方(将时间提前一帧),然后将第二个块向右移动一个地方(将时间延迟一帧)。所有的移位操作都沿时间轴,在张量输入每个transformer之前执行。通过将TSM模块添加到Swin transformer中,新的transformer结构现在能够通过结合shifting window partitions spatially和temporally shifting frames来执行有效的时空建模和注意。
值得注意的是,TSM没有引入任何可学习的参数,因此所提出的transformer结构与原始的Swin transformer具有相同数量的参数。最后,为了实现真正的端到端的infernence和学习,我们还在该体系结构中添加了在EfficientPhys中提出的normalization模块。
总之,基于transformer的EfficientPhys是第一个用于基于摄像机的心脏脉冲测量的端到端transformer结构,它利用tensor-shift modules和window-partition shift modules来执行有效的时空建模和注意力,从皮肤像素学习潜在的生理信号。

Experiments

  1. Training Data:用了AFRL数据集以及一个人工合成的数据集,为训练集引入了让更多diversity并且可以减少由skin type的差异。
  2. Testing Data:用了UBFC、MMSE、PURE三个数据集。
  3. Fitzpatrick皮肤分型:
    在这里插入图片描述
  4. Implementation & Experiment Details:
    优化器用了AdamW
    Convolutional based EfficientPhys的学习率是0.001,损失函数是Neg-Pearson
    Transformer based EfficientPhys的学习率是0.0001,损失函数是MSELoss(L2)
    Epoch=5
    Metrics: MAE,RMSE,pearson

Results & Discussion

1. EfficientPhys与SOTA

为了研究网络的深度如何影响Transformer结构,我们创建了两个版本的基于transformer的EfficientPhys:T1和T2。T1和Swin Transformer是相同的深度[ 2, 2, 6, 2 ],数字代表图2里swin transformer的块数。T2更加轻量级并且能够支持在设备上实时推理,深度为[ 2, 1 ]。
在这里插入图片描述
表1表明EfficientPhys-C和EfficientPhys-T1表现得最好
在这里插入图片描述
表2表明所有的神经网络模型都比传统的信号处理方法的表现好,其中EfficientPhys-T1和TS-CAN比EfficientPhys-C和EfficientPhys-T2的表现更好在这里插入图片描述
为了与目前的SOTA进行公平的比较,我们还只在PURE上训练了模型并且在UBFC上进行测试,尽管Dual-GAN取得了最好的效果,但是我们认为这个差距是比较小的,因为Dual-GAN和Efficient-C的pearson系数都为0.99。

2. Computational Cost and On-Device Latency
在这里插入图片描述

3. Convolution vs. Transformer in Camera-Based Vitals Measurement
这些结果表明,一个浅层的transformer结构难以模拟视频中皮肤像素的细微变化。

4. Ablation Study
没有self-attention模块,EfficientPhys-C的MAE上升了21%
没有Normalization模块,EfficientPhys-C和EfficientPhys-T1的MAE上升了787%和420%
没有tensor shift模块(TSM),错误率也上升了300%

5. Simplifying Last-Mile ML Deployment.

6. Simplifying Last-Mile ML Deployment.

生词

trivialadj.不重要的,琐碎的
latencyn.潜伏期,Latency表示完全执行一个指令所需的时钟周期,潜伏期越短越好
orthogonaladj.直角的
arterialadj.动脉的
leveragev.利用,促使…改变 n.杠杆作用,影响,力量
disentanglev.解脱,解开
adversarialadj.对手的,敌对的
optimaladj.最优的
hierarchicaladj.分级的
bandwidthn.带宽
derivativeadj.缺乏独立性的 n.衍生物
justifyv.证明…有理
modulatev.调节调整
implementv.执行,贯彻 n.工具
specularadj.镜子的
aforementionedadj.前面提到的
specular reflection镜面反射,单向反射
addressv.解决
diffuseadj.散开的,漫射的
one-stopadj.单独一处就可以提供各种服务的
diffuse reflection漫反射
overheadadj.上面的 n.运营费用
artifactn.人工制品,加工品
propertyn.性质,性能
magnifyv.放大,夸大,赞美
demixv.分层,分开
substantialadj.坚固的,重大的
variancen.方差
qualitative analysis定性分析
outlyingadj.无关的
facilitatev.促进
chunkn.大块
partitionn.分开,分割
synchronizen.&v.同步
syntheticadj.合成的,人造的
parameterizev.确定…的参数
mimicv.模仿
disparityn.差异
empiricaladj.以经验为依据的
oximetern.血氧计
magnituden.巨大,重大
reconceptualizev.重新概念化
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值