基于遥测光电容积脉搏波描记法的心率测量综述

2023-02-25 13:45吕相文田子吕东岳袁柳
科学技术与工程 2023年2期
关键词:脉搏心率深度

吕相文, 田子, 吕东岳, 袁柳

(中国电子科学研究院, 北京 100041)

心率、呼吸率、血氧饱和度是衡量人体生理状况的重要生理信号。当前可信的高精度心率测量途径、方法有心电图(electrocardiogram, ECG)、脉搏血氧仪、光体积描记术(photoplethysmograph,PPG)[1]等,这些测量方法都需要传感器与皮肤的直接接触获取信号数据,方法适用场景的前提是受试人员需要全程配合,无法在工程应用中广泛适用。

近年来,非接触式的生理指标测量受到学术界广泛关注。如采用超宽带雷达[2]和激光多普勒测振[3]技术进行的非接触式生理指标测量,当前采用这些技术途径的成本较高。为了高效、快捷、准确地提取出生理信号,研究者们寻求新的突破,并发现在毛细血管密布的人脸面部皮肤中颜色会随着心脏收缩舒张而发生细微的周期性变化,这一变化可以被成像设备捕捉。基于这一发现,研究者提出了一种基于视频成像的非接触式心率测量技术,也称为遥测光电容积脉搏波描记法(remote photoplethysmography, rPPG)。利用相机拍摄的视频来提取心率信息,该技术方法以其易用性、低成本、便捷性吸引了计算机视觉以及医学工程领域内众多学者关注。

Verkruysse等[4]首次提出可以通过普通相机拍摄的视频来提取心率。Poh等[5]延续这个思路,利用独立成分分析法从视频图像的信号中分离计算得到脉搏波信号。随后,Poh等[6]又通过改进原有方法,在独立成分分析(independent component analysis,ICA)的前后步骤中加入时间滤波,去除了线性分量和随机噪声,然后引入脉搏源信号选择标准。上述方法都是一系列延续的研究工作,处于理论方法的验证阶段,虽然实现了非接触的心率测量,但对受试者以及周围环境提出了一定的要求,如受试者需要静止,环境光以及受试者的常规运动都会对测量结果造成影响,还无法实现工程应用。接下来,针对工程应用中遇到的问题,诸多学者开展研究,针对周围光照对测量结果造成的影响,De Haan等[7]通过使用色度信号的线性组合来分析计算出脉搏信号。Balakrishnan等[8]在视频图像中测量每次心跳时血液流入的牛顿反应引起的细微头部运动(remote ballistocardiogram, rBCG),从而获取心率信息。紧接着,Tulyakov等[9]提出基于矩阵填充从动态选择人脸区域中的最佳区域进行心率估测。陈炎[10]提出一种基于加速度传感器的PPG信号处理方法,从加速度信号中获取运动伪迹的频率,去除原始信号中运动伪迹,重构PPG波形,该方法能够有效去除PPG信号中的噪声,提高心率检测的准确性,该方法在穿戴式设备的实时监测有一定前景。Wang等[11]使用与肤色正交的投影平面来提取脉搏信号。随后,越来越多的研究从光学模型和信号处理角度来进行远程心率测量[12-15]。2021年开始,国内学者更加关注rPPG方法应用于真实场景中,而不是受限条件较多的实验环境,谭拥等[16]针对PPG信号易受运动影响,提出利用角速度对加速度进行卡尔曼滤波修正作为输入参数,滤除信号伪影,降低测量误差。秦睿星等[17]提出一种肤色正交平面算法的改进,对信号在频率域上进行频域滤波处理,再送入算法进行时域滤波,以此减少不同噪声对信号质量的影响,实现人脸运动状态下心率的稳定检测。在2022年,学者们对rPPG的研究进入细分的阶段,Macwan等[18]提出一种基于广义特征值分解(generalized eigenvalue decompositio,GEVD)的方法来估计rPPG的空间分布,用于应对简单地从空间平均中提取面部信息所带来的重要空间信息确实。

以上这些传统的研究方法都处于相对稳定的实验环境下,如何使其在复杂的工程场景中起作用,仍然是该研究领域一个具有挑战性的问题。

近年来,一系列将深度学习的理论方法应用于心率、脉搏等生理指标的测量。Hsu等[19]尝试使用深度学习框架进行实时脉搏信号的估计,研究人员开收集整理了一套脉搏数据库,并用该库来训练神经网络。Qiu等[20]提出一种新的框架,将时空滤波和卷积神经网络相结合,通过面部视频测算心率。Spetlik等[21]提出一种卷积神经网络来测算面部图像的心率,该两阶段网络通过交替优化进行端到端训练,并在三个公开可用的数据集上进行验证。上述方法是一系列将深度学习方法应用到心率测量的理论验证,尚未考虑实际工程应中的各种环境的影响。Chen等[22]提出一种深度卷积网络不仅能对心率进行测量,同时还可以对呼吸频率测量,该方法在非均匀光照和运动下具有一定的鲁棒性。Niu等[23]提出RyhthmNet,通过组合多个兴趣区域(region of interest, ROI)数据融合成时空表示作为该网络输入进行心率测算。Yu等[24-25]提出了PhysNet和rPPGNet用于脉搏测算。Yu等[26]在普通三维卷积网络中引入时间差异信息,扩充数据集后再用自定义联合损失函数约束模型收敛。Schrumpf等[27]利用神经网络框架对连续的PPG信号分析,进而对血压预测进行系统评估。Lokendra等[28]提出一种抗信号噪声的rPPG网络模型,针对面部动作单位(action units,AUs)对信号进行去噪处理,有效地减少了由面部表情所带来的噪声。针对周围环境光线的变化,Jaiswal等[29]提出了一种融合RGB与多尺度Retinex(MSR)两种颜色空间的算法,并融合生成时空图,进而卷积神经网络(convolutional neural network,CNN)用于将时空特征映射到相应的心率值。Sun等[30]利用rPPG和深度卷积神经网络学习模型对心房颤动进行检测,显著提高区分心房颤动和非心房颤动的精度,为未来的大规模筛查或监控提供一种可行途径。

对rPPG的最新研究进展进行了系统的综述,主要贡献有4个方面:①阐述传统rPPG方法的原理;②论述目前具有代表性的rPPG方法的最新研究进展和主要技术挑战;③比较基于深度学习和传统rPPG心率测量的优缺点以及在现实环境中的适用性;④讨论rPPG心率测量未来研究方向。

1 rPPG原理

随着心脏收缩以及舒张的周期性运动会引起皮肤颜色的微小变化,原因是每次心跳过程中,皮肤下的血管会改变对光线的吸收反射特性。血液中因为含有血红蛋白,因此相较于周围其他组织如皮肤、肌肉等对光的吸收量更多。在心脏跳动期间,皮肤下的毛细血管中血容量会发生周期性变化,血红蛋白量也随之发生周期变化。因此,心脏跳动的周期可以通过测量皮肤组织对光反射强度的变化周期获得。

依据文献[40],假设光照亮度固定,则光谱组成也是确定不变,将一系列图像的处理时间定义为T(s),在图像中,兴趣区域中的像素数量为K,所以系列图像中第k个像素的光线反射定义为

Ck(t)=I(t)[vs(t)+vd(t)+vn(t)],

1≤k≤K

(1)

式(1)中:t为第t秒,且1≤t≤T;Ck(t)为兴趣区域中第k个像素的RGB平均值;I(t)为光照强度等级;vs(t)为镜面反射;vd(t)为漫反射;I(t)同时被vs(t)和vd(t)计算确定;vn(t)为视频获取时的噪声参数;vs(t)为皮肤表面镜面反射成分。

vs(t)=us[s0+s(t)]

(2)

式(2)中:us为光源的单位向量;s0和s(t)分别为镜面反射的静止和随时间的变化部分,其中变化部分主要是由运动引起的。

vd(t)为皮肤表面的漫反射,其依赖于血容量的变化,可表示为

vd(t)=udd0+upp(t)

(3)

式(3)中:ud为皮肤组织的单位颜色向量;d0为稳态漫反射强度;up为脉动强度;p(t)为真实脉搏波信号。

其物理模型抽象描述如下:①心脏周期性收缩舒张使动脉血液流向全身;②流向全身的血液造成毛细血管中的血液容量呈周期性变化;③相机成像过程中将这种变化记录下来;④分析包含较多毛细血管的视频区域可以得到心率。

2 rPPG测量心率传统方法

本节分类介绍了传统的遥测心率估计方法。传统方法的通用框架设计思路类似,个别方法主要区别在于图像的预处理、信号提取的具体算法以及信号的后处理,其中信号的提取目前主要是包括基于盲源分离和基于建立模型计算两种方法。图1展示了基于rPPG的心率估计的通用算法框架,该算法由如下步骤组成。

(1)视频采集。结合毛细血管的分布、运动干扰强度等问题,通常使用彩色摄像头采集人脸视频区域。

(2)提取RGB平均颜色通道。选取每一帧视频图像中与心跳相关的面部兴趣区域,通常为脸颊或前额区域[41]。为增强信号稳定性,计算兴趣区域平均像素值来调控最终信号计算稳定性:

(4)

式(4)中:ROI(t)为兴趣区域;(i,j)为兴趣区域中的具体位置;Ci,j(t)为时间t时(i,j)位置的颜色信号;c0(t)为RGB平均颜色信号。

(3)颜色通道预处理。一般由滤波和归一化组成,其目的是去除与脉搏信号之外的噪声信号,有去趋势滤波、移动平均滤波、带通滤波等方法,归一化是后续进行盲源分离处理的必要前提,将c0(t)经过去趋势化或滑动平均滤波后计算获得的颜色信号c(t)。

c(t)=[r(t),g(t),b(t)]T

(5)

(4)脉搏波信号提取。对于预处理后的c(t)信号采用盲源分离或基于模型的算法提取脉搏波信号,即

rPPG0(t)=wr(t)r(t)+wg(t)g(t)+

wb(t)b(t)

(6)

式(6)中:wr(t)、wg(t)、wb(t)为RGB通道的各个权重;r(t)、g(t)、b(t)分别为经过趋势化或滑动平均滤波后的RGB三通道信号。提取方法一般为独立成分分析、主成分分析、CHROM[7]、POS[11]等。

(5)后处理。该处理步骤不是必需的,如果在步骤4中以非线性方式(CHROM、POS等)提取脉搏波信号,则需要对rPPG0(t)进行后处理得到脉搏信号,主要方式有带通滤波、平均滤波、自适应平均滤波等方法。

(6)心率计算。将提取的脉搏波信号转换计算为心率,方法有心搏间隔法(interbeat intervals, IBI)、最大功率谱密度法(power spectral density, PSD)等。

图1 基于rPPG的心率估计的传统通用算法框架[4]Fig.1 General algorithm framework for rPPG-based heart rate estimation[4]

2.1 基于盲源分离的方法

在颜色信号c(t)中,携带脉搏波信号的分量是未知的,利用盲源分离法(blind source separation,BSS)[42]能够将c(t)分解成不同信号,再根据最大频谱值或最强周期性特征选出最接近脉搏波的信号。基于盲源分离的rPPG方法可表达为

Y(t)=Wc(t)

(7)

式(7)中:Y(t)为由脉冲和噪声组成的分解源信号;W为可以由主成分分析(principal component analysis,PCA)[43]或独立成分分析估算的混合矩阵,得到Y(t)信号后,取最强的周期性信号作为脉搏波信号。

此外,PCA和ICA对W都有一定的影响,PCA使用RGB通道的协方差来估计W。而ICA则假设Y(t)中的分量是相对独立的,只有当c0(t)是一个长信号时才能进行统计测量。

盲源分离的关键在于寻找更好的分离算法使心率信号从原始信号中分离出来。但如果噪声信号与心率信号频率相接近(如运动频率和心率频率相接近),这种方案可能不能表现出很好的效果。

2.2 基于模型的方法

与基于盲源分离的方法不同的是,该方法对与源信号相关的颜色不做假设,而是利用这些颜色向量来控制混合信号的分离。基于模型的方法有CHROM、PBV(pulse blood-volume)[44-47]、POS 等。这些方法有一个共同的步骤:消除c(t)对平均皮肤反射颜色的依赖,如光源颜色和人体肤色。

PBV算法限制所有的颜色向脉搏波分量方向变化,然后从脉搏波分量中提取心率,PBV也是一种基于血容量脉冲的运动鲁棒改进方法。CHROM算法为了不受光照变化的影响,假设了一个标准化的肤色向量,这个向量能够自动白平衡图像。而PBV算法使用预先定义的脉冲信号来平衡噪声。POS方法类似于CHROM,在该算法中,通过一个临时归一化的RGB信号中建立了与肤色垂直的正交平面,利用不同的先验知识来减少颜色失真的顺序。

以CHROM方法为例,该方法假定视频连续帧中的人脸存一定的运动情况,运动对RGB三通道(R、G、B代表每个通道的时序信号)中每个通道的影响是一样的,由此引出两个正交信号X、Y和S信号。

X=R-G

(8)

Y=0.5R+0.5G-B

(9)

(10)

通过计算得到的S信号即为心率信号,此方法的优势在于,能够加强原视频中的颜色信号,适用于颜色信号较为微弱的场景。

本质上,不同的光源(或其他外界干扰)使产生脉冲的RGB信号发生变化,这使得固定的先验设置不可能是最优的,基于模型的方法首先要消除脉搏信号之外对RGB信号产生影响的因素。

为了提高方法的可靠性及鲁棒性,传统方法趋向于越来越复杂的预处理步骤(人脸检测和跟踪、色彩空间转换、信号分解和滤波等)和后处理步骤(带通滤波、平均滤波、奇异值分解等)。

表1中详细梳理了典型rPPG测量方法的前后预处理步骤及主要贡献等关键信息。

表1 rPPG测量传统方法对比研究Table 1 Typical researches of traditional rPPG methods

3 基于深度学习的rPPG心率测量

3.1 非端到端与端到端测量

基于深度学习的非端到端测量方法需要采取多个特征提取的步骤,其中的特征提取可以是多个深层网络分别训练的,也可以是使用传统方法提取特征后再进行训练,每个步骤结果好坏直接影响最终的算法表现,但提高一个步骤的准确度不一定在总体上提高准确度,相对于端到端系统,它可以直接分析各步骤对算法准确率的影响,在算法提升方向性上更为明确。使用非端到端rPPG心率测量框架有[19]。端到端的好处在于不会有误差积累,仅用一个模型、一个目标函数可以规避多特征提取的固有缺陷。准备训练数据集,输入网络后,等待模型收敛,端到端的网络不需要加入其他额外的步骤,从原始数据的输入到最终需要的计算结果的输出,整个训练以及推理过程,都在网络中进行。使用基于深度学习的端到端rPPG心率测量框架有[21]。

3.2 深度学习与传统rPPG方法的比较

基于深度学习的rPPG心率测量通常需要大量训练样本,但目前还没有为非接触心率估计任务而建立的大型公共数据集。传统基于rPPG方法需要对视频进行预先定义的复杂处理(严格的预处理步骤),如感兴趣区域检测、人脸跟踪、色彩空间转换、滤波等,到目前为止,在较稳定的环境(MAHNOB-HCI数据集)中使用传统方法[9]时,MAE(平均绝对误差)能达到4.96,但涉及头部运动、面部表情变化(VIPL-HR数据集)时传统方法效果不佳,MAE最好仅有11.53,如图2所示,传统方法比基于深度学习方法普遍误差要大。理论上,当数据量足够大,深度学习所训练出的模型会有更好的鲁棒性,即能够适用于现实场景。但在实际训练中一些细微的差别(如人脸跟踪时的丢帧,视频与ECG信号未能对齐等)可能导致预测结果极大的不同。

传统rPPG方法需要严格的预处理步骤,只保留了预先定义的感兴趣区域,而感兴趣区域之外的信息丢失,还有一个缺点是,大部分传统rPPG方法无法进行实时测量,传统方法和基于深度学习方法都需要在短时间内处理多帧图像,前者由于预处理、后处理等复杂步骤只能达到“伪实时”测量,即当前时刻测量的是前几秒时的心率,但由于心率在短时间内变化不大,这种“伪实时”测量也是可接受的。后者使用已经训练好的模型处理多帧图片通常能够达到实时测量的效果。

表2、表3整理了多种深度学习方法在VIPL-HR和MAHNOB-HCI上的平均绝对误差(MAE)、标准差(Std)、均方根误差(RMSE)、错误率百分比平均值(MER)和皮尔逊相关系数(r)5种测量指标。每分钟跳动次数(beat per minute, bpm)为MAE、Std、RMSE测量结果。

图2 传统方法与深度学习方法在VIPL-HR上的比较Fig.2 Comparison of traditional methods and deep learning methods on VIPL-HR

表2 基于深度学习方法测量结果对比(VIPL-HR数据)Table 2 Comparison of deep learning based rPPG methods(VIPL-HR)

表3 基于深度学习方法测量结果对比 (MAHNOB-HCI数据)Table 3 Comparison of deep learning based rPPG methods(MAHNOB-HCI)

其中AutoHR在所有方法中结果最佳,该模型是端到端网络,使用三维原始RGB序列作为输入,输入尺寸比二维图片大得多,且使用原始图像作为输入不会丢失与心率相关的重要信息。此外,AutoHR使用时间差异网络结构、混合损失函数、时空数据增强等策略来提高测量结果的鲁棒性。RhythmNet[23]在VIPL-HR和Mahnob-HCI上都有较高的准确性(Std分别为8.88和3.97),作为非端到端网络,该模型首先构建基于物理先验的序列时空特征图,弱化与心率信号无关的空间纹理信息(背景),强化与心率信号相关的时序周期信号,然后用CNN学习心率表征,其优势在于借助先验信息来优化深度学习的训练过程。

表4列出了具有代表性的基于深度学习的rPPG心率测量研究。但目前基于深度学习的rPPG心率测量对于工程应用来说还不够成熟,存在一定的缺陷。

(1)由于深度学习的方法对数据具有一定的依赖,因此数据样本量不足导致实验结果遇到瓶颈,具有准确心率标签的视频数据量非常有限,无法像人脸识别那样训练大量的样本提高测量精度。

(2)数据样本不具有普适性,数据集中大多为正常心率,大多样本的心率为60~80 b/min,这使得以数据驱动的深度学习方法无法提取在非正常状态的心率特征。

(3)视频流与心电信号难以对齐,视频流的频率与心电信号的采样率不一致,视频流的帧率一般为25/30/60帧/s,即采样率为25/30/60 Hz,心电信号的采样率为256/512/1 000 Hz,采样过程中可能会丢失与心率相关的重要信息,需要采用帧率更高的高速摄影机来完成视频图像采集来避免与新店信号对应的视频帧丢失问题。

传统rPPG心率测量方法主要依赖手工设计的特征提取器,对每个步骤有专业知识理解,对应还有基于经验的调参过程,同时每个方法都是针对具体数据,泛化能力及鲁棒性相对较差。与之相比,基于深度学习的rPPG心率测量方法主要是由数据驱动进行特征提取,从大量样本中学习,得到深层、高阶的特征表示,其对心率的测量更高效和准确,所提取的抽象特征鲁棒性更强,泛化能力更好。以数据驱动的深度学习方法是rPPG领域的研究趋势。

4 结论

叙述了rPPG领域的多种衍生方法,同时也对该领域做了一个分类:基于光学模型和信号处理的传统方法和基于深度学习的方法。提供了两种方法的模块化框架,研究者们可以使用本文分类和框架作为改进起点或者基于此框架设计适合特定需求的rPPG算法。

rPPG的研究进展显著,从引用文献中可以看到,该方法的应用场景已经从单一、稳定的实验验证场景逐渐发展为考虑真实环境的各种复杂场景,研究方法的趋势逐渐从传统方法转为深度学习。但就本文的引用的结果来看,在动态VIPL-HR数据集中测量显示误差较大,rPPG心率测量方法仍有提升空间。

表4 有代表性的基于深度学习的rPPG心率测量研究Table 4 Representative studies of deep learning based rPPG methods

研究的难点会在于围绕rPPG心率测量方法所需要的一系列的支撑。

(1) rPPG算法需要进一步适配视频压缩的场景。未压缩的原始视频图像作为模型的输入会提高算法结果的准确度[48-49],但原始视频图像数据量较大[50],尤其是在为获取更多的细节信息,使用高速摄影机采集的视频图像数据将进一步加大模型计算的输入数据量,对计算的硬件性能将提出较高的要求,这将限制该方法的应用场景。另外,很多场景需要进行实时心率测量[51],未压缩的视频图像将很难应用于模型的实时计算。

(2) 基于深度学习的rPPG研究数据量较少,如何在现有规模数据集的情况提高算法精度将成为难点。小样本机器学习方法将有助于提高现有机器学习方法的精度。与机器学习应用的其他领域相比,数据采样难度大和限制条件多,rPPG领域的样本数据量还比较小,引入小样本机器学习方法将有助于尽快提高测量精度的方向之一。

从现有的研究进展来看,未来rPPG心率测量会研究重点方向会延伸至各潜在的应用领域,rPPG算法除了可以应用于心率测量以外,也可以应用于其他生理指标的测量,如呼吸频率[52-55]、心率变异[56-57]、血氧[58-59]、血压[60]、心血管[61]、精神疲劳检测[62]等,但是对于除心率以外的上述生理指标测量精度有待进一步提高。rPPG算法在常规的生理指标的应用将有利于该方法的研究与应用推广。

猜你喜欢
脉搏心率深度
心率多少才健康
深度理解一元一次方程
离心率
离心率相关问题
深度观察
深度观察
用心感受狗狗的脉搏
《今日评说》评今日浙江 说时代脉搏
深度观察
基于51系列单片机的穿戴式脉搏仪的设计