基于LBF的人脸视频心率测量
2020-12-25李伟,杨庚
李 伟,杨 庚
(1.南京邮电大学 计算机学院、网络空间安全学院,江苏 南京 210023;2.江苏省大数据安全与智能处理重点实验室,江苏 南京 210023)
0 引 言
心率即心脏每分钟的跳数。在医疗应用中,心率是衡量人体健康和心理状况的重要指标。伴随着社会的发展,人们饮食和作息上的不规律导致心血管疾病的出现愈发频繁[1]。作为检验心血管疾病的重要参考,日常心率的测量对人体心血管疾病的预测和预防具有重要意义[2]。
从目前来看,在医疗卫生领域之中,心电图(electrocardiogram,ECG)仍然是心率测量的首要选择。虽然心电图测量具有很高的准确性,但是它需要在人体的特定部位放置电极,测量时会给人体带来不适,并且还需要专业医疗人士的参与才能完成测量操作。非接触的心率测量方法不仅可以减少上述问题,还可以应对更加复杂的工作和生活场景。光电容积描记技术(photoplethysmography,PPG)是一种利用光学技术检测血液容积变化从而实现非接触测量心率的方法[3],由于血液相较于周围组织更容易吸收光,所以可以通过光强的变化来检测血液容积的变化。Verkruysse等人[4]验证了在环境光下可以通过数码相机根据人脸视频提取PPG脉搏信号,Poh等人[5-6]利用普通摄像头实现了PPG脉搏信号的分离,Kwon等人[7]成功将人脸视频心率测量应用于智能手机上,开拓了非接触心率测量的新的可能性。
文献[8-10]回顾了非接触视频心率测量的一般框架。首先是对视频进行人脸检测,其次是感兴趣皮肤区域(region of interest,ROI)的选取,再通过颜色通道值形成脉搏信号,最后对信号过滤和分析来提取心率。
其中感兴趣区域的提取结果将直接影响脉搏信号的获取,从而影响心率测量的准确性。Li等人[11]比较了各种感兴趣区域提取的方法,不过这些比较都是基于整张人脸提取ROI,而脸部区域中眼睛的眨动和嘴巴的肌肉运动会对脉搏信号的提取产生明显的干扰。Cai等人[12]选择眼睛和鼻子之间的区域作为ROI,但是在光照变化明显的情况下,鼻子会在该区域形成阴影。Verkruysse等人[4]曾指出尽管在人体的各个部位都能检测出脉搏信号,但是在人脸区域特别是额头区域会更加明显,这主要是由于在人脸区域中,额头是毛细血管分布最密集的。Juan等人[13]提出了一种简化的人脸视频测量心率的框架,选择额头和两颊作为ROI,并证实比使用整张人脸作为ROI具有更高的准确性和稳定性。
不过以上对ROI的提取都是在人脸检测之后直接根据得到的人脸框来标注ROI,对于人脸倾斜、人脸晃动及视频拍摄角度倾斜等更加复杂的情况,ROI的选择将出现明显偏差,从而影响后续脉搏信号的提取,导致心率估计的准确性和稳定性降低。戚刚等人[14]提出了一种非合作情况下抗干扰心率检测方法,一定程度上,能够抵抗人脸晃动,但由于运用了大量目标检测和跟踪算法,时间复杂度较高。
针对上述问题,该文提出了一种基于局部二值特征(local binary features,LBF)[15]稳定提取ROI的心率测量新方法。该方法主要在人脸检测之后,使用局部二值特征的模型进行人脸对齐,再对矫正后的人脸进行ROI的准确选取,然后根据所选ROI的颜色信息提取脉搏信号,从而实现非接触的心率测量。
1 测量原理
1.1 人脸视频测量心率的原理
人体心脏的跳动会引起血液容积的变化,心脏收缩,血液由心脏流入身体的血管,血管中的血液容积增大;心脏舒张,血液由血管流入心脏,血管中的血液容积减少。血液中的氧合血红蛋白对光有一定的吸收作用,使得血液相较于周围的皮肤、肌肉等组织对光的吸收量更多。而血液容积的变化会直接导致血液中的氧合血红蛋白数量的变化,从而使得对光的反射量发生改变[16]。PPG技术便是利用这一点,测量皮肤组织对光反射强度的变化周期,提取出血管中血液容积周期性变化的信息,从而估算出人体心率。
人脸是最经常暴露在空气中的皮肤区域,拥有丰富且稳定的特征信息,并且易于被摄像头等仪器捕捉[17]。根据人脸视频测量心率是以PPG原理为基础,利用人脸特定的皮肤区域提取血液对光反射强度的微小变化。虽然这些微小变化人眼难以察觉,但是可以通过摄像头的色彩传感器进行捕捉。因此,从特定皮肤区域的颜色变化中便可分析得到人体的心率信息。
考虑到根据人脸视频进行人体心率特征的提取易受ROI选取的影响,该文提出了一种基于LBF的心率测量方法,主要流程如图1所示,具体的测量过程为:利用普通摄像头采集人脸视频;通过人脸检测的方法提取出视频图像中的人脸框,根据LBF模型检测出人脸的68个特征关键点,利用关键点进行人脸对齐,提取ROI,以减少人体头部运动和倾斜的影响;对ROI进行皮肤分割,结合皮肤区域的红、绿、蓝通道的通道值,使用色度模型进一步抵抗运动干扰,通过带通滤波处理减少噪声影响,计算分析形成脉搏信号;对脉搏信号进行时频分析,实现对心率的估计。
图1 心率测量流程
1.2 LBF原理
为了实现人脸对齐,该文采用LBF模型来提取人脸的68个关键特征点,包括眉毛、眼睛、鼻子、嘴巴以及脸庞的轮廓点等,根据这些人脸特征点的坐标信息,将人脸视频图像进行旋转,进而实现准确截取用于提取脉搏信号的感兴趣区域。
LBF提取人脸特征点采用形状回归的方法通过不断级联预测人脸形状S。对于初始形状S0,通过逐级估算形状增量ΔS,逐渐修正S,预测得到第t级迭代的形状增量ΔSt为:
ΔSt=Wtφt(I,St-1)
(1)
式中,I为输入图像,St-1为前一级得到的人脸形状,φt为特征映射函数,Wt为线性回归矩阵,φt由I和St-1决定,则第t级的人脸形状为:
St=St-1+ΔSt
(2)
每一个局部特征映射函数都可以根据特征点独立学习得到,从而提取LBF,然后联合所有的局部特征获取全局特征映射函数φt,最后通过线性回归学习得到Wt,实现对于人脸特征点的准确定位。
1.2.1 LBF的提取
(3)
1.2.2 全局线性回归特征模型
全局线性回归能够完成全局形状约束,从而降低因模糊或遮挡引起的局部误差。算法采用先局部后整体的思想,对于输入图像I,先通过训练好的随机森林实现LBF的提取,从而得到特征映射函数φt,再利用全局线性回归矩阵Wt回归得到中间形状,并不断迭代获得稳定的人脸68个特征关键点的提取模型。
2 测量方法
2.1 人脸对齐及皮肤区域的提取
2.1.1 人脸对齐及感兴趣区域的定位
对于人脸视频,该文采用Viola-Jones人脸检测器[20]检测视频图像中的人脸矩形框。该算法是最为成功的可实用的人脸检测算法之一,不仅具有较高的人脸检测精度,还具有较快的检测速度,能够适用于实时检测。2015年,贾海鹏等人[21]提出了在GPU上进一步优化该算法性能的方法。
在检测出人脸矩形框之后,通过LBF模型提取人脸的68个特征关键点。该方法采用简单的线性回归构建层级式回归模型,利用以像素差为核心的图像特征进行特征提取,由于模型和特征上追求快速高效,能够达到每秒3 000帧的图像处理速度,实时性好[22]。在检测得到的68个人脸特征关键点中,第36和第45个特征点的位置分别对应人脸左右眼角的位置。图2为人脸倾斜的几何示意图,点P、Q分别为由LBF模型检测得到的左右眼角的关键点,点O为人脸矩形框的中心点,可以计算得到人脸的倾斜角度θ。
θ=arctan[(yq-yp)/(xq-xp)]
(5)
式中,xp、yp分别为P点的横纵坐标,xq、yq分别为Q点的横纵坐标。
图2 人脸倾斜的几何示意图
将整张人脸视频图像的像素点按式(6)以点O为旋转中心旋转θ角度。
(6)
式中,xsrc,ysrc为原像素点的横纵坐标,xdst,ydst为旋转变换后像素点的目标横纵坐标,xo,yo为旋转中心点O的横纵坐标。
重新确定人脸矩形框的尺寸,新的人脸矩形框的长与宽的长度都为原人脸矩形框的ε倍,ε的值由式(7)确定。经过上述旋转变换,得到的结果如图3(a)所示,其中倾斜的矩形框为人脸检测得到的结果,竖直的矩形框为重新标注的人脸框。
ε=d/(xq-xp)
(7)
式中,d为原人脸框中左右眼角关键点P、Q的距离。
经过人脸对齐,提取出端正的人脸区域,即可准确定位用于提取脉搏信号的感兴趣区域。为了实现感兴趣区域的快速定位,该文参考文献[13]的方法,选择额头和两颊共计三块区域作为提取皮肤像素的候选区域,图3(c)为人脸对齐之后所得到的人脸区域,图中标注的三块矩形区域为提取的感兴趣区域。
图3 人脸对齐
2.1.2 皮肤分割
经过人脸对齐可以实现感兴趣区域的精确提取,但是在现实生活中,不可避免地会出现光照不均匀、头发和眼镜遮挡感兴趣区域等问题,这些情况都会对后续脉搏信号的提取产生干扰。因此,对三块感兴趣区域进行皮肤分割,提取肤色区域,可以有效减少以上干扰所带来的影响,使后续脉搏信号的信噪比得到提高。
为了对感兴趣区域进行肤色区域的提取,该文将图像颜色空间由RGB转到HSL。在HSL颜色空间中,对于皮肤像素的检测不易受到光源和肤色范围之外异常值的影响,能够使检测结果更加可靠。该文参考文献[23]的方法,对于符合式(8)的像素点则认为属于皮肤像素,感兴趣区域皮肤分割结果的二值图像如图3(d)所示。
(8)
式中,Hue、Saturation、Lightness为在HSL颜色空间下像素点色相、饱和度和亮度的属性值。
2.2 脉搏信号的生成
2.2.1 色度模型
经过肤色提取,便可得到感兴趣区域中的所有肤色区域。脸部的运动会导致入射光源与脸部间的角度发生改变,从而对脸部皮肤反射光产生影响。因此,该文采用由Haan提出的色度模型[24]提取脉搏信号以减少脸部运动的影响,该方法应用了RGB图像各通道值的线性组合,具有较低的计算复杂度。
对于每一帧人脸图像提取的三块肤色区域,需要对RGB三个颜色分量取平均值。
(9)
式中各颜色通道的平均值C∈{R,G,B},R,G,B分别表示红色、绿色和蓝色通道的均值,M表示肤色区域像素点的总数,Cm表示第m个像素点的各颜色通道值。
图4 一段视频各通道的平均值
经过对一段视频进行上述处理后,可得到一段时间视频流每一帧图像各颜色通道的平均值,结果如图4所示。随后对上述得到的序列进行标准化处理,有:
(10)
最后,色度信号Xs和Ys可由标准化后信号序列经过式(11)计算得到。
(11)
2.2.2 带通滤波
计算得到的色度信号需要进行滤波去噪,才能够通过计算得到用于心率估计的信号序列。该文采用巴特沃斯带通滤波器对色度信号进行滤波处理,去除皮肤表面反射光中由心跳引起的频带之外的部分,以减小由呼吸作用或光照变化引起的低频噪声和由人脸剧烈晃动引起的高频噪声。
通常人的心率范围在30到200 bpm,静息状态下在60到130 bpm,所以所设计的滤波器对应的通带频率范围为1.00到2.16 Hz,通带衰减为3 dB,阻带宽度为0.50到3.33 Hz,阻带衰减为10 dB。经过对色度信号的滤波处理,脉搏信号U可由以下公式计算得到:
U=Xf-αYf
(12)
(13)
式中,σ( )表示信号的标准差,Xf,Yf是由色度信号Xs和Ys分别经过带通滤波器处理后得到的信号。
将图4中各颜色通道值形成的序列经过色度模型和巴特沃斯带通滤波器的处理,得到的脉搏信号如图5(a)所示。
图5 信号处理
2.3 心率估计
经过上述处理,所得到的脉搏信号可近似地被看成一个周期信号。为了提取脉搏信号的周期性特征,将其进行离散傅里叶变换转至频域。在频域中,能量谱峰值所对应的频率作为心率频率fh,则心率值HR为:
HR=fh×60
(14)
将图5(a)中的脉搏信号进行离散傅里叶变换,得到的能量谱结果如图5(b)所示,峰值能量对应的心率频率fh=1.1 Hz,则心率HR=1.1×60=66 bpm。
3 实验分析
3.1 实验设备和视频采集
该实验采用普通USB摄像头采集人脸视频,采集过程中,要求被测者坐在距离摄像头约0.6 m的位置,避免大幅度运动,同时佩戴指尖式脉搏血氧仪进行同步心率测量,将脉搏血氧仪的测量值作为真实心率参考值。视频的录制时长为10 s,分辨率为960×540,存储的格式为MP4,帧率为15帧/秒。实验对12个被测者分别在人脸端正和人脸倾斜两种情况下各采集5段视频,以证实该方案的可行性和有效性。
3.2 实验结果
为了衡量提出的心率测量方案的性能,将文中方案与Juan的方案[13]进行对比实验,分别将两种方案的心率测量值和真实心率参考值进行比较,从平均绝对误差、均方根误差、相关性和一致性的角度对实验结果进行分析。采用皮尔森相关性分析法来分析心率测量值和真实参考值之间的相关性,其相关系数的值越接近于1,表明正相关性越强;采用Bland-Altman法对心率测量值和真实参考值进行一致性评估。
3.2.1 人脸端正情况下的心率测量
本次实验要求被测者在人脸视频采集过程中尽可能地保持脸部端正,即人脸的倾斜角度小于10度,实验的测量结果以及真实心率参考值的折线对比图如图6(a)所示。对于实验测量数据的分析结果如表1所示,相对于Juan的测量方法,文中方案的平均绝对误差、均方根误差上均较小,相关性上也有所提升,说明文中方案在人脸端正的情况下的心率测量误差更小。
文中方案的测量值与真实心率参考值的Bland-Altman一致性分析结果如图7(a)所示,误差的均值为0.064 1,标准差为2.126 3,因此,95%的置信区间为-4.103 5到4.231 7。从图中可以看出,98%以上的数据均处于95%的置信区间内,说明在人脸端正的情况下文中方案的测量结果与真实参考值具有很好的一致性。
表1 人脸端正情况下测量结果对比
图6 心率测量结果对比
3.2.2 人脸倾斜情况下的心率测量
本次实验所采集的视频中,人脸的倾斜角度均在15度到30度之间,图6(b)为两种测量方法在人脸倾斜状态下的测量值和真实心率参考值的对比图,对测量结果的分析如表2所示。从表2可以看出,文中方案的平均绝对误差为2.205 0 bpm,均方根误差为2.623 1 bpm,较于Juan的方案平均绝对误差和标准方差分别下降了64.98%和63.81%。另外,文中方案的测量结果与真实心率参考值的相关系数为0.906,而Juan方法的相关系数仅为0.567,说明文中方案即使在人脸倾斜的情况下,仍然具有较小的心率测量误差,与真实心率参考值具有较强的相关性。
表2 人脸倾斜情况下测量结果对比
人脸倾斜情况下对文中方案的测量值和真实心率参考值进行Bland-Altman一致性分析,结果如图7(b)所示,二者的误差均值为-0.448 1,标准差为2.623 1,因此95%的置信区间为-5.589 4到4.693 2。从Bland-Altman散点图中可以看出,大部分的实验数据均在95%的置信区间内,说明在人脸倾斜的情况下,文中的心率测量方案与脉搏血氧仪的心率测量方法仍具有很好的一致性。
图7 两种测量方法结果的Bland-Altman一致性分析
4 结束语
针对接触式心率测量给人体所带来的不便,以及非接触式心率测量易受到人脸倾斜的影响,无法应对更加复杂的生活场景,提出了一种基于LBF的人脸视频心率测量方法。实验结果证明,该方案在人脸倾斜的情况下的测量结果仍有较高的准确性,与指尖脉搏血氧仪测量法具有很好的一致性,满足了日常家庭生活中的心率测量需求,在远程医疗和家日常生活中具有广阔的应用前景。值得注意的是,实验没有考虑光照因素所带来的影响,环境光照条件的剧烈变化将对测量结果产生较大干扰,如何排除光照的影响,进一步提高心率测量结果的准确性和稳定性,将是未来工作的关键。