陈森路,刘育梁*,徐团伟
(1. 中国科学院 半导体研究所 光电系统实验室,北京 100083;2. 中国科学院大学 材料与光电研发中心,北京 100049)
心率是指心脏一分钟跳动的次数,是最重要的人体参数之一。心率数值是重要的生理指标,正常的心率在60~100 次/分,心率过高和过低都是异常表现[1]。实时监测心率可以应用于心血管病的预防和治疗。目前,心率测量的标准方法是心电图法,但是心电图需要使用电极接触皮肤,会对人体产生不适,并且不适合皮肤病患者和婴幼儿人群。以光电容积脉搏波(Photoplethysmo graphy,PPG)技术为基础的心率测量是合适的替代方法。PPG 是一种低成本的非侵入性技术,测量由于血管容积变化导致的透射或者反射光强度变化,实现心率监测、血氧监测和血压测量[2]。传统的接触式PPG 需要专用的光源和接触式探头,而基于人脸视频的非接触PPG 技术则仅使用数码相机来实现PPG 功能,无需接触探针和专用光源,实现舒适的心率监测,相对于接触式设备具有操作方便的优点。
Verkruysse[3]发 现 人 脸 视 频 的 像 素 变 化 可 以用于估计心率。Poh[4]研究出从人脸视频提取PPG 的通用框架,选取人脸视频的中部区域作为感兴趣区域(Region of Interest,ROI),统计该区域的像素均值得到源信号,处理源信号得到非接触PPG 信号和心率。基于ROI 的方法旨在从录制的视频中选择良好的ROI,提供更高质量的非接触PPG 信号。但是,由于头发密度,表皮厚度,毛细血管密度和面部特征等的差异,不同皮肤区域携带的PPG 信号的质量也不同。研究发现,选取额头和两侧脸颊作为ROI 的非接触PPG 信号与接触式PPG 信号的相关度更高[5-11]。许多研究以此为基础对源信号处理方法进行改进,Wei[5]使用多种盲源分离算法处理源信号提取心率,误差均值在2~3 次/分之间,Macwan[7]使用自相关系数改良独立成分分析(Independent Component Analysis,ICA)算法处理原始像素序列,心率误差均值为3.34 次/分,Tulyakov[12]使用矩阵补全的思想对脸颊ROI 的源信号处理得到心率,心率误差为(3.19±5.81)次/分。王蒙军[13]使用基于对角累积量算法处理人脸中部ROI 得到心率。此外,由于皮肤包含的信号质量高于非皮肤区域,李晓媛[14]通过皮肤检测选择所有皮肤区域作为ROI 获取源信号后处理,误差均值在1~2 次/分之间。
现有研究都集中于PPG 信号提取方法的优化上,存在心率误差相对较大、PPG 质量不高的缺点。对于ROI 选择的研究较少,缺乏一种有效的方法来定量评估不同面部区域上的非接触PPG 信号的质量,以进行ROI 选择,从提升源信号质量的角度来提高心率的准确率。不同的面部皮肤区域提供不同质量的非接触PPG 信号,通过计算非接触PPG 信号在面部上的质量分布和各区域的相关程度,从包含高质量非接触PPG 信号和内部相关性高的面部区域中提取PPG 信号,可以改善最终的非接触PPG 信号质量。
本文提出一种基于独立向量分析(Independent Vector Analysis,IVA)和归一化分割的方法(Normalized Cuts,Ncuts)实现自适应ROI 选取,提高非接触PPG 信号质量与心率的准确率。使用IVA 实现人脸的多区块盲源分离,再通过归一化分割算法根据源信号的信噪比和相关程度选定自适应ROI,进而提取心率和非接触PPG 信号,通过实验对比静止和运动状态下自适应ROI方法与其他ROI 方法的误差,结果表明自适应ROI 方法能够显著提高心率的准确率。进一步对比与接触式PPG 方法的一致程度,发现该方法与标准方法的一致性高,可用于日常和医疗场景,最后对比多种方法的非接触PPG 信号的质量,表明该方法明显提高PPG 信号的质量,可以进一步用于PPG 特征提取。
PPG 信号的原理为心脏的舒张与收缩会导致血液容积的周期性变化,皮肤反射和透射的光的强度也随之周期性变化。人体脸部皮下毛细血管丰富,通过录制视频提取面部像素的变化,经过算法处理可以得到非接触PPG 信号。
非接触心率与PPG 信号获取的方法流程如图1 所示。它包括区域划分和空间均值,独立向量分析和信号筛选,基于归一化分割算法的自适应ROI 选定和PPG 信号获取。
图1 非接触心率和PPG 信号提取的流程Fig.1 Flow chart for obtaining non-contact heart rate and PPG signal
录制人脸视频后,在每一帧图像中使用Viola-Jones 算法对人脸进行识别与跟踪,获得人脸区域后,使用开源图像处理库Opencv 和Dlib 的人脸检测记录特征点,根据特征点定位人脸的正中区域,划分为4×4 的小区块。初始ROI 区域的选取范围不小于人脸的60%。选取面积过小对实验结果有两方面的影响:(1)相邻帧之间的特征点存在偏差,ROI 位置相对人脸存在不稳定性;(2)可能缺失含有高质量PPG 信号的区域。
如图2 所示,根据68 个人脸特征点获取初始ROI。首先计算眼部基线和眉毛基线的纵坐标yeye和yeyebow,分别为:
图2 初始ROI 获取Fig.2 Obtain of initial ROI
式中p(i)x代表第i个特征点的横坐标。
通过皮肤检测得到皮肤区域的掩码,将RGB空间转换成YCbCr 空间(使用Opencv 库函数cvtcolor()),Y,Cb,和Cr 像素判断依据为:
将原始图像与皮肤掩码与值运算后,计算各小区块不为0 的像素平均值,得到初始信号。对于缺失人脸图像的帧,使用上一帧的位置信息划分。针对人脸位姿倾斜的情况,通过眼部的基线矫正位姿至水平,再进行区域划分,整个过程如图3 所示。
图3 分区域初始信号获取Fig.3 Acquisition of raw signal by divided block
2.2.1 独立向量分析
ICA 是一种利用统计原理进行信号处理的方法。通过线性变化变换把数据或信号分离成非高斯的信号组合。在单区域的PPG 提取处理中得到较好的结果[4,9,13],但对于将人脸分为多区域的源信号的场景,ICA 存在输出信号顺序不确定的缺点。为解决此问题,本文应用联合盲源分离的思想采用IVA[15]的方法处理2.1 中得到的多区块的统计信号。
假定有K个观测数据集合,x[]k∈RL×N表示第k个观测数据集合,L表示变量个数,N代表采样点数(在本文中L=3,对应RGB 的3 个通道,N对应视频的总帧数,K=16 对应16 个数据集合),IVA 可以写成多个盲源分离的组合:
通过联合盲源分离处理各区块的观测信号,保证输出的每部分信号都是按顺序对应的,从而更准确地筛选PPG 信号。如图4 所示,受篇幅所限,只画出前3 个区块经过IVA 分离后的对应结果,每列的3 个信号为同一区域的RGB 初始信号经过IVA 得到。
图4 同一区域的RGB 初始信号经过独立向量分析处理的结果Fig.4 Result for RGB initial signals in same area after independent vector analysis processing
POH[4]使 用ICA 后 的 第2 个 信 号 作 为PPG信号,这种方法具有明显缺陷,因为ICA 的结果的顺序是不固定的,本文使用信噪比来筛选出PPG 信号。
2.2.2 信号筛选
PPG 信号具有较强的周期性,频率与心率重叠,因此以心率所在频率附近的功率为有效功率[16]定义信噪比(Signal Noise Ratio,SNR),得到:
式中:S(fall)表示该信号全频率波段的功率,S(fPPG)表示PPG 信号的功率,定为0.6~3.0 Hz。经过IVA 处理后,针对每一个原信号集合sˆ[m],计算每个成分的信噪比,标记信噪比最高的信号的序号,以该序号作为PPG 在原始信号集合的序号。该方法基于这样一个事实,在计算信噪比的过程中,信噪比最高的成分在该集合的序号等于大部分原始信号集合中信噪比最高的成分的序号。
2.3.1 原理
在图论中,图的分割定义为[17]:将一个图G(V,E) 划 分 为 两 个 集 合A,B满 足A∪B=V,A∩B=∅,图分割的目标为使得两个集合的相异度cut(A,B)最小的集合解。
式中w(u,v)表示两个成员之间的权重。但是仅使用cut(A,B)作为评判标准,很容易导致局部最优而在非全局最优的解,因此在归一化图分割算法中引入新的标准归一化分割[17],即有:
衡量该部分与整个图的所有点的连接度,通过引入一个全局的度量找到全局最优解。归一化分割在满足图分割的目标的同时也要求同一子集间点的权重和最大,适用于选取多个小区域组合为自适应ROI。
2.3.2 自适应ROI 选定
使用归一化分割方法处理筛选后的PPG 信号,两个PPG 信号a(t)和b(t)的权重定义为:式中:ρa,b表示皮尔逊相关系数,SNR表示该信号的信噪比,γ为调整系数,r=1。选取信号个数最多的一组信号为输出,根据该组信号与视频对应的区域组合,作为自适应ROI。
本次处理中,输入信号的个数为16,经过归一化分割处理后得到6 个集群。其中最大的集群中含有4 个信号,图5(a)为该集群的4 个原始信号的波形,图5(b)对应每一个信号的傅里叶变换频谱图。从频谱图可以发现,除去骨骼肌肉组织对应的低频强度外,所有信号在1 Hz 左右对应于PPG 频率的频谱峰值f相等,表明该组信号之间的相关性更优。求出每个信号在0.8~3.0 Hz 的波峰频率fhr,计算心率得到:
图5 归一化分割结果Fig.5 Result of normalized cuts
式中HR表示心率。计算集群心率的平均值得到最终心率。然后,标记该组每个信号所对应的区域作为ROI,作为自适应的ROI,如图6 所示。
图6 自适应ROI 选定Fig.6 Select adaptive ROI
通过归一化分割确定最大集群后,将集群中所有信号按照对应区域的像素数量加权平均得到源PPG 信号,通过0.6~3.0 Hz 的带通滤波处理即得到非接触PPG 信号。
使用网络摄像头(480 pixel,30 frame/s)摄像头正对实验参与人员,距离镜头约25 cm,在外部光源稳定的情况下录制30 s 视频,同时使用右手的食指尖通过指尖PPG 仪器记录心率和接触式PPG 信号。实验参与人员13 名(8 名男性,5 名女性),每人录制10 次,随后参与者在头部缓慢运动情况下录制10 次视频,运动路径为在镜头内在水平和垂直方向缓慢移动,共得到130 段静止情况下的视频和130 段运动情况的视频。
使用自适应ROI、Sun[14]方法(选定人脸中部区域,通过主成分分析得到PPG 信号)和皮肤掩码 方 法[18]计 算 心 率HRcal,与PPG 仪 器 测 量 得 到的心率HRstd做对比,计算实验误差HRerr=HRstd-HRcal。计算误差的统计数据包括心率误差的均值μ,标准差SD,根均方误差(Root Means Square Error,RMSE)以及平均误差率Mr。Mr定 义 为:
实验从非接触心率测量的准确性、一致性以及非接触PPG 信号的质量三个方面分析自适应ROI 方法的表现。
表1 展示多种方法的在静坐情况下的心率误差统计结果对比,误差最小的数值用加粗表示,与固定ROI 的Sun 方法比较,自适应ROI 方法计算得到的心率的误差从4.72 次/分降低至0.52次/分,标准差从6.46 次/分降低至1.49 次/分,RMSE 从7.96 次/分降低至1.50 次/分,平均误差率从9.45% 降低至1.73%。总体上自适应ROI 方法的准确率和误差分布得到了提高。表2列出运动情况下心率误差统计,误差均值和标准差为(1.02±2.91)次/分,自适应ROI 的平均误差为2.43%,均比其他两种方法降低50%以上,其中最大误差率为7.7%,达到了中华人民共和国医药行业规定的误差标准,即单次测量误差不超过心率的±10%且最大不超过5 次/分。由此表明,自适应ROI 方法能够显著提高非接触心率测量的准确率,在人脸静止和运动情况下均降低了心率测量误差,并且达到了国家相关标准,可以在医疗和日常场景下使用。
表1 静坐条件下各方法的心率统计数据Tab. 1 Statistic result of different methods in static situation
表2 缓慢运动情况下各方法的心率数据对比Tab. 2 Statistic result of different methods in move situation
医学检测中使用Bland-Altman 图分析新的测量方法与标准测量方法的一致程度。这里使用Bland-Altman 一致性分析方法对比自适应ROI 方法与接触式PPG 方法的结果,如图7 和图8 所 示。Mean±1.96SD 代 表95% 置 信 区 间,Mean 值越接近于0,95%置信区间越小,误差位于置信区间的数量越多,说明两种测量方法结果的一致性越高。在静坐情况下,自适应ROI 方法与接触式PPG 方法测量结果差值的均值为0.52次/分,95%置信区间为-2.44~3.48 次/分,仅有两次测量误差位于置信区间以外。在运动情况下,自适应ROI 方法的置信区间为-2.76~4.79次/分,置信区间相对增大,但大多数误差位于置信区间内,该方法得到的心率与标准心率仍然表
图7 人脸静止情况下自适应ROI 方法心率与接触式PPG 心 率 比 较 的Bland-Altman 图Fig.7 Heart rate(HR)Bland-Altman plot of adaptive ROI and contact PPG in static situation
图8 人脸运动情况下自适应ROI 方法心率与接触式PPG 心 率 比 较 的Bland-Altman 图Fig.8 Heart rate(HR)Bland-Altman plot of adaptive ROI and contact PPG in move situation
最后分析自适应ROI 方法提取的非接触PPG 信号的质量。图9 展示3 种非接触式PPG现出较高的一致性。两种场景下的Bland-Altman分析表明,自适应ROI方法心率的一致性较高。信号与接触式PPG 信号的波形和波峰数量。接触式PPG 信号的波峰数量为23,与自适应ROI方法和皮肤掩码ROI 方法的波峰数量相等,而固定ROI 方法的PPG 信号质量最低,周期性不明显,无法合理地标记和计算波峰数量。与皮肤掩码ROI 方法相比,自适应ROI 方法提取的非接触PPG 信号质量最高,细节保留更完善,保留了PPG 波形的主峰以及从峰,单位周期的波形与接触式PPG 信号的相似程度更高。这是由于自适应ROI 方法通过分区域评估中PPG 信噪比与相关程度,排除信号质量低的区域后,选择信号质量最高的区域获取PPG,避免了大面积均值导致的细节丢失,保留了PPG 信号的细节,得到更高质量的PPG 信号,可以更好地做后续特征的分析。
图9 四种方法的PPG 信号对比Fig.9 Comparison of PPG signals by four methods
本文针对非接触式心率误差大和PPG 信号质量低的问题,提出一种新的提升非接触心率获取的准确率的方法,通过自适应地选取ROI,提升源信号的质量来提升非接触PPG 信号的质量与心率的准确度。将人脸分区域统计像素信号后使用IVA 处理,再使用归一化分割以信噪比和相关性为基准选取ROI,自适应地选取源信号质量最高的ROI 提取非接触PPG 信号和心率。相比于预选定ROI 的方法,自适应ROI 方法显著提高非接触心率的准确率,将心率误差的均值和标准差从(4.72±6.46)次/分降低至(0.52±1.49)次/分,根均方误差从7.96 次/分降低至1.50 次/分,平均误差率从9.45%降低至1.73%。头部运动状态下该方法的误差为(1.02±2.91)次/分,RMSE 为2.11 次/分,平均误差率为2.43%。通过对该方法与标准接触式PPG 设备得到的心率进行Bland-Altman 一致性分析,头部静止状态下95% 置 信区间为-2.44~3.48 次/分,运动时为-2.76~4.79 次/分。该方法与接触式PPG设备测量的心率有很高的一致性。通过对比非接触PPG 信号与接触式PPG 信号的波形,证明该方法提升了PPG 信号的质量,对于远程医疗和家用心率监测有着重要意义。此外,在该方法的基础上深入探索在人脸快速运动情况下的自适应ROI 选择,消除运动伪影,进一步提升非接触心率测量和PPG 信号获取的适用场景。