Multi-Task Temporal Shift Attention Networks for On-Device Contactless Vitals Measurement

前言

        计算机视觉用于远程心肺测量是一个新兴的领域,然而现有的方法仍有改进的空间:1)测量的准确性对于避免误报或误诊至关重要。美国联邦药品管理局(FDA)规定,心脏监测新设备的测试应与即接触传感器的准确性“实质性等效”。2)设计可在设备上运行的模型有助于减少对高带宽互联网连接的需求,使远程医疗更加实用和方便。3)基于摄像头的心肺测量是一种高度隐私敏感的应用。这些数据是个人可识别的,结合了患者面部视频和敏感的生理信号。因此,将数据流和上传到云中进行分析并不理想。4)在高帧率下运行的能力可以实现机会感应(例如,每次查看手机时获取测量值),并帮助捕捉波形动态,有助于检测动脉纤颤和高血压。

        我们提出了一种新的多任务时间移位卷积注意网络(MTTS-CAN),以解决非接触式心肺测量中隐私、便携性和精度方面的挑战。我们的端到端MTTS-CAN利用 (1)时间移位模块进行有效的时间建模,以抵消各种运动噪声,而没有任何额外的计算开销;(2)注意力模块,以改善噪声源分离;(3)以及一种多任务机制,用于共享脉冲和呼吸之间的中间表示并同时联合估计两者。通过结合这三种技术,我们提出的网络可以在ARM CPU上运行,在超过150帧每秒的运行速度下实现了最先进的精度,从而实现了实时应用。在大型基准数据集上进行的系统实验表明,我们的方法大大减少了(20%-50%)的误差,并能很好地跨数据集进行泛化。

光学模型

       是由摄像机捕捉到的RGB值。 其中,是由镜面反射和漫反射调制的光强度水平,是摄像机捕捉到的噪声。其中都可以分为定常部分和时变部分:  

        其中,是皮肤组织的单位颜色向量,是静止反射强度,是由血红蛋白和黑色素吸收引起的相对搏动强度,表示生理变化。

        其中,表示光源光谱的单位颜色向量,分别表示镜面反射的静态部分和变化部分,表示所有非生理变化,如光源闪烁、头部旋转、面部表情等。

         其中,表示光照强度的静态部分,表示亮度变化的部分。

         将镜面反射和漫反射中的静态部分组合在一起,用单一分量表示静态皮肤反射,如下:

         其中,表示皮肤反射的单位颜色向量,为反射强度。

         将以上公式代换,同时忽略时变变量的乘积,得到:

         其中,表示生理变化的p(t)可以看做血容量脉冲b(t)和呼吸波r(t)的复杂组合,因此可将p(t)表示为,最终得到公式: 

         我们知道b(t)和r(t)之间联系紧密,所以用时间多任务模型处理是非常有效的,这种处理至少可以利用两信号之间的冗余。

架构

高效的时空模型

        为了实现实验目的,模型需要拥有的能力有:1)有效地学习空间特征,将原始RGB值映射到与脉冲和呼吸信号相对应的潜在表示,以及抵消了各种噪声信号(如,头部运动、环境光照、肤色等)的时间特征;2)学习相关生理过程之间的关系;3)可以实时工作,以支持各种远程医疗部署。

        如上图,我们的解决方案是一种新颖的时间转移卷积注意力架构(图D),我们系统地将其与其变体(图A-C)进行比较,以说明其优点。

        我们的架构利用了一个带有空间注意力模块的双分支结构(图A),其中一个分支用于运动建模,另一个分支用于提取有意义的空间特征(如人脸)。然而,它不能捕捉连续帧之间的时间依赖性,因此仍然容易受到噪声源的影响。也许引入强时间依赖性的最简单的方法是利用3D卷积来建模时间关系的3D-CAN(图B)。然而,由于与2D卷积相比,3D卷积会产生二次计算成本,因而无法实现实时性能。因此,我们提出了一种Hybrid-CAN结构,它比纯3D模型的计算效率更高。Hybrid-CAN结合了2D-CAN和3D-CAN来维持时间建模,同时尽可能高效地利用2D卷积。由于相邻帧之间的空间位置变化很细微,所以在外观分支中使用3D卷积是不必要的。如图C所示,外观分支的输入是通过相邻的平均N(窗口大小)帧生成的单一帧。尽管Hybrid-CAN显著降低了计算成本,但如果我们想在低端移动平台上实现实时推理(在理想状态下至少60fps),那么在运动分支中来自3D卷积的计算开销仍然是无法忍受的。

        因此,我们引入TS-CAN,在保持时空建模的同时,将三维卷积运算完全从架构中移除。TS-CAN有两个主要的附加组件:时间转移模块(TSM)和注意力模块。TSM在将张量送入卷积层之前进行张量移位,如上图所示。更具体地说,TSM将输入张量分成三个跨越通道维度的块。然后,它将第一个数据块向左移动一个位置(将时间提前一帧),并将第二个数据块向右移动一个位置(将时间延迟一帧)。两个移位操作都是沿着时间轴进行的,第三个块保持不变。值得注意的是,张量移位并不会给网络增加任何额外的参数,但却能交换相邻帧之间的信息。我们在运动分支中使用TSM来模拟3D卷积的效果,而TS-CAN中的外观分支与Hybrid-CAN相同,只取单个平均帧。通过这种方法,该模型仅计算一次注意掩码,大大减少了计算时间,并且捕获了大部分包含皮肤的像素,减少了相机量化误差。

时间上的注意力转移

        如上节描述的,在时间上移动一个输入张量将向我们的表示中引入额外的信息,因此我们要注意图像像素是携带生理信号还是有放大噪声的风险。我们建议在TSM中插入一个注意模块,以最小化张量移位带来的负面影响,使网络能够聚焦于目标信号。生理信号在人体皮肤上的时空分布并不均匀。软注意掩码可以赋予某些移位像素更高的权重,这些像素在卷积运算的中间表示上具有更强的信号。更具体地说,我们的注意模块是外观分支和运动分支之间的桥梁(见上图)。Softmax注意掩码在池化层之前通过1×1卷积生成。注意掩模的计算方法如下式所示,其中k是层的索引,是1×1卷积,然后是sigmoid激活函数σ(·)。通过归一化软化掩码中的极值,以避免网络中的像素异常。最后,我们对来自运动分支的对应表示执行一个基于元素的乘积。

多任务TS-CAN

        此时,我们有了一个有效的实时预测生理信号的架构,但它依然是两个独立的网络,一个用于估计血容量脉搏,另一个用于估计呼吸信号。由于我们知道脉搏和呼吸是相互联系的,所以我们提出了一种多任务的网络变体(见上图),估计BVP和呼吸的任务可以共享一个中间表示,这将大大减少计算预算。多任务TS-CAN (即MTTS-CAN)的损失函数在下式中描述,其中是标准BVP波形,是标准呼吸波形,分别为模型的预测值。

 

实验        

        论文将该方法与四种脉搏测量方法(POS,CHROM,ICA,2D-CAN)和两种呼吸测量方法(2D-CAN、ARM)进行比较,并使用AFRL和MMSE-HR两个数据集进行实验。

实验细节

  1. 我们提议的网络都使用类似的双分支结构。如图2,每个分支都有四个卷积层,在第二层和第四层卷积层之后分别放置了平均池化层和dropout层。   
  2. 在预处理外观分支的输入时,我们将每个帧(t)下采样到36×36,在保持空间分辨率质量的同时抑制相机噪声。
  3. 对于运动分支,我们使用下式计算每两个相邻帧的归一化帧。与原始帧(t)相比,归一化帧更不容易受到亮度和皮肤外观变化的影响,并减少了对数据集过拟合的机会。

  4. 我们的系统使用Tensorflow实现,使用Adadelta优化器训练我们提出的MTTS-CAN架构,学习速率为1.0,批处理大小为32,内核大小为3×3,池化大小为2×2,丢弃率(dropout rate)为0.25和0.5。对于3D和混合模型,训练模式类似于TS-CAN,但使用的内核大小为3×3×3,池大小为2×2×2。最后的模型是在训练合并后选择的(呼吸任务12个epoch、脉冲任务24个epoch)。在所有时间模型中都使用10帧的窗口大小以实现公平的比较。
  5. 为多任务损失函数设置α= 0.5,以使脉冲和呼吸信号的估计得到同等处理(脉冲和呼吸信号都在振幅上归一化)。
  6. 为了计算性能指标,我们使用二阶巴特沃斯滤波器( 2nd-order Butterworth filter)以相同的方式对所有方法的输出进行后处理(HR的截止频率为0.75和2.5 Hz, BR的截止频率为0.08和0.5 Hz)。
  7. 对AFRL,我们将数据集划分为30秒的窗口,窗口之间没有重叠。对MMSE-HR,我们使用的窗口大小等于每个视频中的帧数。
  8. 为每个窗口计算四个标准度量:心脏/呼吸频率估计中的平均绝对误差(MAE)、均方根误差(RMSE)和相关性(ρ)以及相应的BVP/呼吸信噪比(SNR)。

On-device

        我们提出的架构部署在一个叫做Firefly-RK33994的开源嵌入式系统上,用于评估延迟。该嵌入式系统有两个大的Cortex-A72核和四个小的Cortex-A53核。虽然RK3399也有一个mobile Mali GPU,但我们的评估集中在CPU上,这样我们提出的端到端架构可以集成到到任何基于ARM的移动平台和物联网设备。在这项工作中,我们扩展了一个深度学习 compiler stack-TVM来支持TS-CAN所需的时间移位操作。TVM接受函数的高级描述,并为目标设备生成高度优化的低级代码。更具体地说,我们的基于TVM的on-device系统首先将TensorFlow图转换为中继图,并使用LLVM编译 Firefly-RK3399的代码。我们利用TVM的调度原语来生成高效的低层次LLVM代码,加速昂贵的操作,如2D和3D卷积。

结果和讨论

与先进技术的比较

        对于AFRL数据集,25名参与者被随机分为5份,每份5个参与者,使用5份数据进行五倍交叉验证,对学习模型进行训练和测试。下表1中为五份数据的结果取平均。由表1可知,我们提出的所有模型都优于2D-CAN和其他基准,而Hybrid-CAN和3D-CAN实现了与本模型类似的精度,在脉冲和呼吸测量上降低了50%的MAE和20%的MAE。TS-CAN也比2D-CAN在脉搏测量上高出43%,在呼吸测量上高出20%。我们还评估了TS-CAN和Hybrid-CAN的多任务版本,并将它们分别称为MTTS-CAN和MT-Hybrid-CAN。我们观察到,与单任务版本相比,多任务模型的不同版本并没有提高准确度,因为网络必须对两个任务使用几乎相同的参数。然而,MT模型需要的计算量和参数分别是运行脉冲和呼吸模型的一半,这是一个相当大的优势。

跨数据集的泛化

        为了测试我们的模型是否可以推广到具有不同分辨率、背景和光照的视频,我们在AFRL上训练我们提出的模型,并在MMSE-HR数据集上进行测试。与2D-CAN相比,我们提出的TS-CAN、Hybrid-CAN和3D-CAN可以减少25-50%的误差(见表1)。此外,MTTS-CAN和MT-Hybrid-CAN都表现得相当强,这表明在脉冲和呼吸之间共享表示是可能的。

计算成本和延迟

        推理速度对我们的实验非常重要。从下图A和表1最后一列可以看出,MTTS-CAN和TS-CAN是被评估的架构中速度最快的,每帧推理时间分别为6ms和12ms。值得注意的是,TS-CAN比2D-CAN快40%,这是因为其外观分支的独特设计,只执行一次就为运动分支中的所有帧提供生成的注意力掩码。MT-Hybrid-CAN和Hybrid-CAN也分别实现了13ms和26ms的推理时间,这大约是基于ts方法的两倍。与TS-CAN相比,2D-CAN不仅具有更高的延迟,而且精度明显较低。而3D-CAN获得了最慢的推理速度,因为它的两个分支都有昂贵的3D卷积。

(A)六种模型的on-device延迟评估;  (B)运动分支上规范化帧的TSM可视化

时间建模

        捕捉波形动态需要良好的时间建模。我们提出的MTTS-CAN、TS-CAN、MT-Hybrid-CAN、Hybrid-CAN和3D-CAN均优于2D-CAN和其他基线方法。而不带注意力机制的3D-CNN优于不带注意力机制的2D-CNN。我们预测,对生理波形的时间方面的建模将得到更大的抗噪能力。我们对含不同旋转速度的头部运动视频进行系统地评估,结果如下表2所示。正如预期的那样,所有提出的时间模型在头部运动速度较大的任务上表现得特别好,将最具挑战性的任务(6)的误差减少75%以上。此外,如上图B所示,张量移位虽然提供了重要的时间信息,但也引入了额外的噪声。表1中的结果表明,我们的注意模块能够有效地将信号从添加的噪声中分离出来。

多任务学习

        对比我们的MT模型和非MT模型,我们发现MT模型并没有减少脉冲和呼吸速率估计的误差。但它们确实显著提高了如上图A所示的推理效率,这在资源受限的移动平台中至关重要。此外,为了从视频中估算心跳和呼吸速率,管道中还包括一些强制性的预处理和后处理步骤,如降采样图像、计算平均帧数、计算峰值数等。由于MTTS-CAN单帧推理只需要6ms,即使加上预处理开销,实时推理仍然是可行的。另外,内存是边缘设备的宝贵资源,MTTS-CAN只需要一半的内存就可以存储TS-CAN的参数。因此我们相信MTTS-CAN可以在资源受限的环境中部署,并特别有用。

MTTS-CAN的应用

        我们系统的低延迟和高准确性为许多其他应用打开了大门。例如,可以使用它来改进心率变异性的测量,心率变异性是对每次心跳之间时间变化的测量。跟踪连续心跳之间的细微变化需要像MTTS-CAN那样的低延迟。非接触和设备上的HRV跟踪将为心理健康和个性化健康提供许多新的应用。除了健康应用,MTTS-CAN还可能应用于各种需要设备上计算的计算机视觉任务,如活动识别和视频理解。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值