4 种基于rPPG 的非接触式心率估计方法的性能评估
2020-12-24张舶远于慧东徐礼胜
齐 林,张舶远,于慧东,徐礼胜,3*
(1.东北大学医学与生物信息工程学院,沈阳110819;2.中国科学院沈阳自动化研究所,沈阳110179;3.沈阳东软智能医疗科技研究院有限公司,沈阳110167)
0 引言
心率是人体每分钟的心跳次数,是评价人体健康状态的重要生理参数。目前,心电图(electrocardiogram,ECG)是心率测量的金标准,但是需要将电极片贴附于人体,实现过程较为复杂,在日常生活中不能快速、方便地进行测量。针对以上问题,2008年,Verkruysse 等[1]最先提出远程光电容积脉搏波描记术(remote photoplethysmography,rPPG),该方法是一种无创非接触式估计心率方法。该方法利用相机对人面部进行拍摄,并估计人体心率。由于人体外周组织的血容量会影响光的透射或反射,并且人体血液对光的吸收会有脉动性的变化,所以导致人面部有伴随心跳节律持续的颜色变化,因此通过相机捕捉该变化再利用信号处理的方法就可以估计人体实时心率。绝大多数基于rPPG 的心率估计方法均为先利用相机获取人面部视频,再从视频中获取包含人体心率信息的原始rPPG 信号,一般为RGB 三通道信号,最后通过各种不同的心率估计方法估计出人体心率。为了提取RGB 信号中周期性较强的脉搏波信号,研究者使用了盲源分离(blind source separation,BSS)方法,如独立成分分析(independent component analysis,ICA)和主成分分析(principal component analysis,PCA)等方法[2-4]。由于基于rPPG 的心率估计方法在准确性和实时性上仍存在缺陷,近几年Wang 等[5]提出了一种准确性较高的2SR(spatial subspace rotation)方法,该方法利用人面部颜色变化引起皮肤像素子空间变化来估计心率。随后Wang 等[6]对2SR 方法做出进一步改进,将其与皮肤反射模型相结合提出准确性更高的POS(plane-orthogonal-to-skin)方法。之后Qi 等[7]将POS 方法与ICA 相结合,提出一种改进的Project_ICA 方法用来实时估计心率。此外,为了解决拍摄人脸视频过程中背景光照变化对心率估计的影响,Cheng 等[8]提出了一种联合盲源分离与集合经验模态分解(joint blind source separation and ensemble empirical mode decomposition,JBSS_EEMD)方法。有研究表明[9],人体rPPG 信号中的脉率信息会受到人体肤色的影响,所以研究肤色对rPPG 心率估计准确性的影响是至关重要的。因为人在日常生活中会有或多或少的运动,而自身心率的变化也会影响基于rPPG 的心率估计的准确性,所以对人体进行运动恢复状态下的心率估计也有很重要的意义。
本文重点选取不同肤色人群(黄种人组与黑种人组)分别在不同的状态(静止状态和运动恢复状态)下记录并建立测试视频数据集,并对2SR、POS、Project_ICA 和JBSS_EEMD 4 种较新的rPPG 心率估计方法进行性能分析和对比。
1 方法介绍
基于rPPG 的心率估测主要包括以下过程:首先获取人面部视频并追踪检测出每一帧视频图像中的面部感兴趣区域(region of interest,ROI),然后从视频图像的面部ROI 提取出包含脉搏信息的rPPG 信号,最后通过算法提取其中的搏动信号并估计心率,整体流程图如图1 所示。脉搏波信号的提取是其中的核心步骤,本文在脉搏波信号提取阶段采取4 种不同的提取方法,并对不同的脉搏波信号提取方法进行简要介绍。
图1 基于rPPG 的心率估计流程图
1.1 原始rPPG 信号生成
1.1.1 人脸检测追踪
该过程对实验所得人面部视频的每一帧提取面部ROI,并产生一个连续的面部ROI。本文首先采用Viola-Jones 面部检测器检测输入视频的第一帧得到矩形ROI[10],再利用最小特征值算法检测该矩形区域中的面部特征点,之后利用KLT(Kanade-Lucas-Tomasi)特征跟踪器[11]生成之后每一帧图片中的ROI。该过程具体如下:假设第n 帧图片中检测到的每一个特征点的位置坐标为Pn(Pn∈R2×k),其中k 为第n帧图片中检测到的特征点数量,再通过KLT 特征跟踪器生成第n+1 帧图片中与第n 帧图片中每个特征点相对应的特征点Pn+1(Pn+1∈R2×k),如图2(a)所示,之后通过Pn与Pn+1计算出每2 帧图片之间的变换矩阵A(A∈R2×2),如公式(1)所示:
假设第n 帧图片中矩形区域的边界点为Qn(Qn∈R2×l),其中l 为第n 帧图片中矩形区域边界点的数量。则可以通过变换矩阵A 计算出第n+1 帧图片中的面部矩形区域边界点Qn+1(Qn+1∈R2×l)。再将每帧图片中的矩形ROI 从RGB 颜色空间转换到YCbCr(其中Y 表示亮度分量、Cb 表示蓝色色度分量、Cr 表示红色色度分量)颜色空间,一般人的肤色集中在CbCr 平面的椭圆区域中[12]。将矩形区域每个像素投影到CbCr 平面,其中投影在CbCr 平面上的椭圆范围内的像素为皮肤像素,从而得到皮肤区域,如图2(b)所示。
图2 特征点追踪示意图
1.1.2 提取rPPG 信号
由每一帧图片的面部ROI 生成RGB 三通道的原始rPPG 信号:首先对每一帧图片的面部ROI 进行基色分离生成RGB 三通道图片,再对每帧图片中对应的3 种颜色的面部ROI 的像素取均值,生成连续的RGB 三通道信号,即原始rPPG 信号,该信号可以表示为
式中,M(x,y,n)为第n 帧图片中像素点坐标为(x,y)的像素强度;Sskin为第n 帧图片中面部ROI 区域;K为Sskin中检测到的像素数量。
本文选取每30 s 作为一个时间窗,并且时间窗增量为1 s,每2 个时间窗重叠为29 s,对所采集的1 min 视频共生成31 个时间窗,如图3 所示。分析每个时间窗中的rPPG 信号,图3 中仅列出绿色通道情况,红色与蓝色通道同此。
图3 移动时间窗示意图
1.2 脉搏波信号提取
得到原始三通道rPPG 信号后,需从原始rPPG 信号中进一步提取出脉搏波信号,本研究分别采用4 种不同方法实现在原始rPPG 信号中提取脉搏波信号。
1.2.1 2SR 方法
为了提高脉搏波信号提取的鲁棒性,Wang 等[5]基于皮肤像素以及像素空间提出2SR 算法,并证实其在心率估测中是可行的,与早些年提出的基于ICA的CHROM[13]和PBV[14]算法相比,该方法不需要肤色或脉冲相关的先验信息。基本原理如下:2SR 方法定义了皮肤像素空间的子空间,并通过测量子空间的旋转来确定脉冲信号。该方法将每一帧图片进行空间表示,如公式(3)所示:
式中,N 为皮肤像素数量;V∈RN×3,为RGB 三通道矢量化矩阵;C∈R3×3,为元素均为非负的相关矩阵。通过分解C 可得皮肤像素子空间,如公式(4)所示:
式中,det(·)表示计算矩阵的行列式;U 为特征向量;Λ 为特征值矩阵;I 为单位矩阵。特征值分解基于QR 算法[15]。心脏每搏射血量的变化会引起面部颜色变化,从而引起皮肤像素子空间的变化,该方法通过估计皮肤像素子空间的时间旋转提取脉搏波信号。
1.2.2 POS 方法
经Wang 等[6]进一步研究发现,当皮肤表面有噪声或面部ROI 选择不充分时2SR 方法会有较大误差。随后Wang 等[6]将2SR 方法的主要特征引入到皮肤反射模型中得到POS 方法,利用皮肤反射模型将三维的原始rPPG 信号变成二维信号,从而消除光照变化对结果的影响。该方法利用的皮肤反射模型如公式(5)所示:
式中,1 为单位向量;i(t)、s(t)、p(t)为原始rPPG 信号的3 个部分,其中,i(t)为光照强度时变信号,s(t)为镜面反射分量,p(t)为脉搏波信号;Cn(t)为第n 个皮肤像素点像素值;up为光谱单位颜色向量;us为脉搏强度向量;I0代表光照强度常量;A 为用来归一化的3×3 对称矩阵。该方法通过使用在时间上归一化的RGB 空间中的肤色正交平面来进行脉搏波信号提取,肤色正交平面如公式(6)所示:
式中,Pos为投影平面;p1和p2分别为2 个投影轴。通过肤色正交平面Pos与原始三通道rPPG 信号进行乘积运算,可以消除光照强度变化i(t)对结果的影响,再对投影后得到的二维信号进行分析提取脉搏波信号。
1.2.3 Project_ICA 方法
通过对POS 方法的优化改进,Qi 等[7]提出将原始的三维rPPG 信号投影到新定义的平面上,这样可以消除光照对心率估计的影响。经大量实验测试发现,投影平面的2 个投影轴只要互相正交,无论平面在何位置,估计的心率都会保持稳定。本文经过大量实验后重新定义投影平面,如公式(7)所示:式中,D 为特定的投影平面;d1与d2为2 个可以张成D 的投影轴。投影后的信号保留有镜面反射分量信号s(t)和脉搏波信号p(t),并且彼此独立。将投影平面D 与原始rPPG 三通道信号进行乘积得到双通道信号P(t),如公式(8)所示:
式中,P(t)表示具有P1(t)和P2(t)2 个分量的投影信号。通过该投影过程,原始信号由三维减少到二维,消除了光照变化分量。再对投影后的二维信号进行ICA 处理,提取出脉搏波信号。
1.2.4 JBSS_EEMD 方法
为了降低环境光照变化对于心率估计准确性的影响,Cheng 等[8]提出JBSS_EEMD 方法。其中的JBSS可以去除掉人面部ROI 和背景中共有的被视为干扰的成分,即环境中的光照变化,从而提高心率估测的准确性。其基本原理如下:对于给定M(M≥2)个数据集(每个数据集有P 个通道和Q 个样本),第m个数据集X[m]可以被表示为,其中每一个。JBSS 过程可表示为
式中,A[m]∈RP×L,为混合矩阵;S[m]∈RL×Q,为基础源矩阵,可以表示为,其中每个也叫作基础独立源。
经过JBSS 过程后,利用独立向量高斯分析(independent vector analysis-Gaussian,IVA-G)算法[16]可以去除每个数据集之间的共有干扰信号(本文将其假定为环境中的公共照明干扰)。再利用公式(9)可以重建出新的rPPG 信号。然后,利用EEMD 将新的rPPG 信号分解为多个本征模函数(intrinsic mode function,IMF)。对每个IMF 进行快速傅里叶变换并进行滤波处理,得到每个IMF 频谱中最大幅值所对应的频率,选取其中最大值所对应的IMF 作为心率IMF,进行心率估计。
1.3 心率计算
通过提取出的脉搏波信号进行心率计算,具体过程如下:(1)使用5 点移动平均滤波器消除随机噪声,平滑脉搏波信号;(2)选取截止频率为0.7~4 Hz的基于汉明窗的带通滤波器消除与心率无关的信号;(3)通过对滤波后脉搏信号进行快速傅里叶变换,选取频谱中幅值最高的频率再乘以60 作为心率估计值。
2 实验与分析
2.1 实验设计
本文使用标准RGB 摄像头C270i(Logitech Inc,Newark,CA,USA)采集受试者面部视频,摄像头帧率为30 帧/s,分辨力为640×480。采用透射式手指脉搏血氧仪(YUWELLTMYX303)来估测受试者真实心率。使用便携式计算机进行视频的记录和实验数据的处理,并在室内自然光线的条件下进行实验,如图4 所示。选取29 名受试者(7 名女性、22 名男性),年龄22~30 岁,其中18 名黄种人、11 名黑种人,坐在摄像头前0.5 m 处,进行60 s 视频录制,同时受试者食指佩戴透射式手指脉搏血氧仪检测心率作为参考心率。受试者分别处于静止状态:受试者静止坐在摄像头前进行拍摄;运动恢复状态:受试者在120 s 内进行20 次深蹲运动再立刻坐在摄像头前进行拍摄。
图4 实验设置示意图
2.2 实验结果与分析
本文选取3 种评价指标对4 种基于rPPG 的心率估计方法的性能进行验证:将4 种方法估测的心率与参考心率分别进行对比分析,计算得到平均绝对偏差(mean absolute deviation,MAD)、均方根误差(root mean square error,RMSE)和Pearson 相关系数(r)。
(1)黄种人组和黑种人组在静止状态下的心率估测结果见表1、2。
表1 静止状态下黄种人组测试结果
表2 静止状态下黑种人组测试结果
黄种人组测试结果(见表1)的3 种评价指标表明:JBSS_EEMD 方法测得心率误差最大。由于该方法主要优势体现在去除背景的光照变化,但本实验没有添加背景光照变化,所以不能体现出该方法的优势。2SR 方法的性能相对较好。Project_ICA 方法与POS 方法的性能优于其他2 种方法,而且这2 种方法的MAD、RMSE 和r 值都很接近。黑种人组测试结果(见表2)的3 种评价指标表明:2SR 方法误差最大,而且其对于黑种人组的测试结果非常差。主要原因是2SR 方法依赖皮肤像素的空间分布,对黑种人的皮肤像素检测会有更多的误差,所以2SR 方法对黄种人组与黑种人组的测试会有很大差异,而且对于黑种人组测试误差很大。JBSS_EEMD 方法对黑种人组的心率估计误差也相对较大。POS 和Project_ICA方法仍优于前2 种方法,且POS 方法和Project_ICA方法无明显差异。
通过对黄种人组与黑种人组的测试结果进行分析可以发现,黄种人组的测试结果整体优于黑种人组的测试结果。其主要原因是由于人体皮肤上的黑色素对光会有吸收,从而影响反射到摄像机所捕捉的画面。而黑种人的皮肤中具有更多的黑色素,所以会带来更大的估测误差。
(2)黄种人组和黑种人组在运动恢复状态下的心率估测结果见表3、4。
表3 运动恢复状态下黄种人组测试结果
表4 运动恢复状态下黑种人组测试结果
由表3、4 可以看出,JBSS_EEMD 方法对于2 组人群在运动恢复状态下准确性仍然较低。2SR 方法对黄种人组测试相对准确,但对黑种人组误差很大。POS 方法和Project_ICA 方法对于黄种人组的心率估计效果仍优于2SR 和JBSS_EEMD 方法,但对于黑种人组的心率估计误差较大且结果的相关系数较低。由于在运动恢复过程中,人体心率会有从高到低的恢复变化,所以相较于静止状态,运动恢复状态会对测试结果有更大的干扰。对于黄种人组,POS 方法和Project_ICA 方法可以提供相对较好的估测结果,且Project_ICA 方法准确性更高。而对于黑种人组,运动恢复状态下4 种方法的估测误差都较大,且结果的相关系数很低。
3 结论
本文对4 种基于rPPG 的人体心率估计方法的性能进行了测试和比较,并通过实验结果对比发现:JBSS_EEMD 方法对于2 组人群在2 种状态下的测试中都没有突出的表现。2SR 方法仅对黄种人组的2 种场景的心率估计有较好的表现。而基于皮肤反射模型的POS 和Project_ICA 方法的心率估计效果在黄种人组处于静止状态和运动恢复状态以及黑种人组处于静止状态下都优于2SR 和JBSS_EEMD 方法,但这2 种方法在黑种人组处于运动恢复状态下的心率估计效果较差。总体而言,在某些场景下,利用皮肤反射模型进行投影降维后再进行信号处理,可以提高基于rPPG 的非接触式心率估计的准确性;但针对黑种人组且处于运动恢复状态的场景进行准确的心率估计仍为一个较大的挑战。