高原环境下基于IPPG的非接触血氧饱和度检测方法研究
2022-12-01王孟晋
罗 著,陈 炜,王孟晋,张 广,吴 航*,马 军*
(1.天津理工大学天津市先进机电系统设计与智能控制重点实验室,天津 300384;2.天津理工大学机电工程国家级实验教学示范中心,天津 300384;3.军事科学院系统工程研究院卫勤保障技术研究所,天津 300161;4.武警天津市总队医院,天津 300163)
0 引言
高原地区空气中氧气稀薄,导致人体血氧饱和度下降[1-2]。平原地区人体血氧饱和度正常值为98%以上,海拔3 000 m左右血氧饱和度下降至90%左右,海拔4 500 m处血氧饱和度下降至80%左右,甚至会更低。在高原地区活动容易发生高原反应,胸闷气短,需监测人体血氧饱和度,以判断是否缺氧,并应及时吸氧以避免发生危险。因此,高原地区的血氧饱和度检测技术更需要被重视。目前,血氧饱和度检测设备主要为指夹式血氧检测仪(以下简称“指夹仪”),其发展较为成熟、检测准确度高,已成为行业金标准。但由于指夹式血氧检测设备的接触式技术属性,其在应急医学救援场景中存在使用瓶颈;此外,疫情防控下继续使用接触式测量设备可能存在交叉感染的风险[3]。基于成像式光电容积描计(imaging photoplethysmography,IPPG)技术的非接触式检测可弥补接触式检测在此方面的不足。
基于IPPG检测血氧饱和度最初是由Wieringa等[4]提出的,采用CMOS相机获得3种不同波长光的单色影像,对采集到的面部图像进行分析,得出血氧饱和度值,虽然误差较大,但证明了该项技术的可行性。国内早期进行基于IPPG的非接触式检测血氧饱和度研究的是孔令琴[5],其使用2个外加窄带滤光片的CCD相机录制面部视频,采用小波分析、独立成分分析等滤波方法得到IPPG信号,通过计算得到血氧饱和度值[5]。在此基础上,王倩等[6]对采集到的图像进行欧拉视频颜色放大,将视频中的红、绿通道信号经过中值滤波处理后作为计算血氧饱和度的IPPG信号,从而得到较为准确的血氧饱和度值。
近年来,国内外基于IPPG检测血氧饱和度取得了很大进步[7-10],其分析的对象都是平原地区健康人体正常状态下的血氧饱和度(96%~99%),或者屏住呼吸使血氧饱和度略微下降(血氧饱和度仍维持90%以上),分析的血氧饱和度范围小。针对高原环境下高海拔低气压应用环境及人员血氧饱和度低的情况,本文基于IPPG技术,提出一种基于机器学习和联合滤波的血氧饱和度非接触式视觉检测方法。
1 IPPG技术原理
IPPG技术以朗伯-比尔定律为基本原理,该定律是描述物质的浓度对光吸收的强弱。心脏收缩时,血管中血量增多,对光的吸收增加;心脏舒张时,血管中血量减少,对光的吸收减少[11-13]。光照射人体时,反射光线会因为血管中血液含量的不同而发生变化,不同波长的光穿透皮肤深度不同,携带不同的生理信息。利用成像设备记录人体面部视频,通过分析视频中面部像素灰度值的变化,可以得到含有人体生理特征的IPPG信号,对IPPG信号进行滤波处理,计算得到血氧饱和度值。基于IPPG技术的生理特征参数检测流程图如图1所示。
图1 基于IPPG技术的生理特征参数检测流程图
基于IPPG检测血氧饱和度目前还处于实验室研究阶段,检测结果与指夹仪还有一定差距。基于IPPG非接触检测血氧饱和度的方法目前有以下3点不足:(1)尚无公开的数据库可供使用;(2)受光线影响较大,滤波算法选择不合适会使IPPG信号部分信息丢失,影响检测精度;(3)只通过R值(交流信号与直流信号的比值),采用一次或者二次函数计算血氧饱和度,鲁棒性不强。
针对基于IPPG检测血氧饱和度存在的不足,本文从以下3个方面进行改进:一是针对目前没有公开数据库问题,建立高原血氧数据库,血氧范围为66%~96%;二是提出巴特沃斯(Butterworth,BTW)滤波器与SG(Savitzky-Golay)滤波器联合滤波,称为BTW-SG联合滤波器;三是将R值与身高、体质量、年龄、性别作为神经网络输入,通过机器学习计算血氧饱和度。
2 高原血氧数据库建立
2.1 数据采集
2.1.1 采集环境
在海拔4 500 m处进行高原血氧饱和度视频数据采集,采集地点包括帐篷内与帐篷外,帐篷内背景为白色,头顶有LED照明灯,气温10℃,气压42 kPa;帐篷外为自然光照射,成像设备顺光拍摄,气温0℃,大风。采集装置与环境如图2(a)、(b)所示。
2.1.2 仪器设备
采集设备为便携式计算机、罗技C922PRO网络摄像头、鱼跃脉搏血氧指夹仪(检测精度±2%)。
2.1.3 采集人员
选取40名志愿者进行试验,其中男性37人、女性3人;长期生活在高海拔地区的12人,初次到高海拔地区的28人。志愿者年龄为(31±9)岁,体质量为(74±12)kg。志愿者均身体健康,无心血管疾病史。共进行为期3 d的数据采集,每日上、下午各进行1次采集。采集视频数据之前,所有志愿者均已了解数据用途并签署了知情同意书。在采集视频前30 min内,所有志愿者均未剧烈运动、吸烟、饮酒,采集视频时,志愿者先静坐休息5 min,然后进行视频采集。
2.1.4 采集方法
设置视频分辨力为1 920×1 080像素,帧率为30帧/s,志愿者距离摄像头0.5 m左右,保证面部在画面中间位置,每位志愿者采集35 s视频,采集时尽量保持头部静止,指夹仪夹在左手食指处,调整高度,使指夹仪读数也录进视频,方便后期处理时观察血氧值变化。在确保不会引发高原反应的前提下,通过适当屏住呼吸使血氧饱和度值下降到70%以下采集视频,如图2(c)所示;此外,通过不断吸氧使血氧饱和度值达到90%以上再采集视频,如图2(d)所示。帐篷内总共录制视频196段,其中自由呼吸视频176段、屏住呼吸视频10段、吸氧值视频10段;帐篷外录制视频5段。
图2 视频数据采集场景
2.2 数据库建立
建立高原血氧饱和度数据库,命名为plateau-SpO2,数据库包含40名志愿者的201段视频,数据库部分截图如图3所示。
图3 高原血氧数据库部分截图
3 高原血氧饱和度非接触检测方法
基于IPPG检测血氧饱和度,包括视频采集、信号提取、信号处理和多元融合分析的血氧饱和度计算,技术流程图如图4所示。
图4 基于IPPG检测血氧饱和度技术流程图
3.1 数据预处理
3.1.1 人脸检测算法
选择感兴趣区域(region of interest,ROI)应满足:该区域富含毛细血管、无衣物遮挡便于采集视频[14]。本文选择将面部作为ROI。采集到的视频数据包含肩部以上及背景物,采用dlib人脸检测算法检测面部68个关键点并标记,基于图像的Hog特征,结合支持向量机完成人脸检测,对不同朝向、存在遮挡的人脸都可以有效地检测出来,并能自动框选出ROI。
3.1.2 基于BTW-SG联合滤波器滤波
基于IPPG非接触检测血氧饱和度时,将含有生理特征的图像信息转化为数字信号(IPPG信号)至关重要[15]。采集到的视频图像包含红(R通道)、绿(G通道)、蓝(B通道)三通道,须对视频每帧图像的ROI进行通道分离,各通道的平均像素灰度值b通过公式(1)计算:
式中,m、n为ROI的宽和高;h(i,j)表示第i行j列像素点的灰度值。通过公式(1)即可求得ROI的平均像素灰度值。以每帧图像ROI的平均灰度值为纵坐标、帧序列为横坐标,即可得到三通道的IPPG信号,如图5所示。
图5 原始IPPG信号
采集视频时,由于被测者不经意的动作、光线的变化等,得到的IPPG信号含有许多噪声。研究表明[16-19],IPPG信号的有效频率为0.5~5 Hz。首先采用BTW滤波器(设置通带频率为0.5~5 Hz)去除信号中的低频与高频噪声,保留有效频带内的信号,再采用SG滤波器进行平滑滤波,去除信号毛刺。SG滤波器是对信号进行移动窗口的加权平均,在时域内用最小二乘法拟合窗口内多项式,滤除噪声的同时可以确保信号的形状、宽度不变,在处理非周期、非线性噪声样本时表现良好。设置滤波器的窗口长度为11、多项式的阶数为4,经过BTW-SG联合滤波器滤波后的IPPG信号满足后续计算要求。滤波后R通道、G通道和B通道IPPG信号如图6(a)、(b)、(c)所示。
图6 滤波后三通道的IPPG信号
3.1.3 计算R值
血氧饱和度检测中一个关键的参数是R值,其计算公式如下[20-21]:
式中,IAC1、IAC2为信号1、2的交流分量,其值为IPPG信号的峰值与谷值之间差值;IDC1、IDC2为信号1、2的直流分量,其值为IPPG信号谷值的平均值。血氧饱和度计算公式为:氧合血红蛋白/(氧合血红蛋白+脱氧血红蛋白)。氧合血红蛋白对红光的吸收少、红外光吸收多,脱氧血红蛋白刚好相反,对红光吸收多、红外光吸收少。根据血红蛋白的吸光特性,选取红通道和蓝通道的IPPG信号作为计算R值的信号1和信号2[22-23]。
3.2 多元融合分析的血氧饱和度计算
本文采用3种模型计算血氧饱和度,分别为数学模型、多层感知器(multi-layer perception,MLP)模型和径向基函数(radical basis function,RBF)模型。
3.2.1 数学模型
以往研究[24-25]是基于IPPG检测血氧饱和度,采用数学模型计算血氧饱和度,计算公式如下:
式中,A、B、C为拟合得到的系数。采用指夹仪测得的血氧饱和度作为真实值,采用计算出来的R值拟合数据,确定系数A、B、C的值。
将采集到的数据80%用作曲线拟合的数据,确定数学模型待定系数,最终得到血氧饱和度计算公式如下:
3.2.2 机器学习模型
王南儿[26]研究了身体质量指数(body mass index,BMI)、年龄与血氧饱和度之间的关系,结果表明BMI、年龄与血氧饱和度均呈现负相关关系。另有研究表明,性别差异对血氧饱和度也会存在影响[27]。鉴于年龄、身高、体质量等会对血氧饱和度有影响,因此本文将R值及被测者的性别、身高、体质量和年龄作为特征参数输入神经网络,血氧饱和度值作为输出。以下分别采用2种机器学习模型进行血氧饱和度检测。
3.2.2.1 MLP模型
MLP是一种可普遍适用的非线性学习机器,能够实现任意复杂的函数映射,包含输入层、隐藏层和输出层,不同层之间是全连接的。本文的输入层为5个神经元,隐藏层为1层,包含4个神经元,输出层为1个神经元,网络结构如图7所示。训练模型时,将样本的60%作为训练集、20%作为验证集、20%作为测试集,激活函数选择双曲正切(tanh)函数,输出层的激活函数选择relu函数,初始学习率为0.1,训练误差为0.001,最大训练次数2 000次,优化器选用梯度下降法。
图7 MLP模型网络结构图
3.2.2.2 RBF模型
RBF神经网络的输出是输入的RBF和神经元参数的组合,属于前向神经网络,学习收敛速度快并且可以克服局部最小值问题,可映射任意复杂的非线性关系。本文中,输入层为5个输入,隐藏层为1层,包含10个神经元,输出为血氧饱和度值,隐藏层激活函数选取高斯函数。
4 实验及分析
4.1 实验方法
采用3种模型计算血氧饱和度,分别为数学模型、MLP模型和RBF模型。采用标准差(standard deviation,STD)、平均绝对误差(mean absolute error,MAE)、平均偏差(mean bias,ME)作为评价指标,验证模型的准确性。STD指标用来评价结果的离散程度;MAE可以避免结果正负误差抵消,能够准确反映实际检测误差;ME是误差和的平均值,也是国际上检验精度的指标之一。
为了验证本文提出的模型在检测血氧饱和度时的性能,选取室内39例样本作为验证集,其中男性37例、女性2例,男性中长期生活在高海拔地区的11例。室外样本采集时,由于高原室外风大,采集设备发生晃动,采集到的视频干扰太大不能用于验证模型的性能。将指夹仪采集到的血氧饱和度值作为参考血氧饱和度值,采集过程中如果血氧饱和度值有波动,根据读数时间占比取合适的中间值作为参考血氧饱和度值。
4.2 实验结果
3种模型的检测结果如图8所示。数学模型、MLP模型和RBF模型计算血氧饱和度时间分别为2、5、6 s。
图8 3种模型检测结果
将指夹仪测得的结果作为金标准,各模型评价指标见表1。数学模型的STD、MAE和ME分别为7.14%、4.22%和0.67%,相比其他2个模型,误差较大,原因是采用二次函数计算,参数仅有R值,模型的鲁棒性不强。3个模型中,RBF模型性能适中,其ME最小且为0,但并不能说明RBF模型性能优;MLP模型性能最好,其STD与MAE值均为最小,检测误差为(0.3±4.54)%,且MLP模型MAE≤2%、≤5%和≤10%的占比分别为51%、85%和100%,均优于数学模型与RBF模型。检测值与实际值误差较大的出现在血氧饱和度值最低和最高处。这是因为我们的高原实验数据中异常血氧饱和度值所占的比例较小,导致模型对异常值的检测能力不足,此外室外采集的视频质量差,达不到检测血氧饱和度的质量要求。3种模型ME与MAE指标均相差较大,是因为出现正负误差抵消,导致ME很小。
表1 3种模型检测血氧饱和度性能指标对比
通过以上分析,可以得出多元融合计算血氧饱和度中MLP模型表现最好。以下对MLP模型进行一致性与相关性分析,以评估模型的准确性。
将指夹仪测得的结果作为参考的实际血氧饱和度值,对MLP模型与实际血氧饱和度值的结果进行Bland-Altman一致性分析[27],如图9所示,97.4%的数据落在95%一致性区间内,表明MLP模型的检测结果与指夹仪的检测结果具有较好的一致性。
图9基于IPPG检测血氧饱和度结果的Bland-Altman一致性分析
图10为MLP模型检测值与实际血氧饱和度值之间的回归散点图,可以看出,基于IPPG检测血氧饱和度值与实际血氧饱和度值之间具有较高的相关性。相关系数为0.74,基于以往研究[28-33],这一相关系数表明两者检测结果之间存在显著的相关性,说明本文提出的基于IPPG非接触检测高原地区人体血氧饱和度的方法可以达到检测要求。
图10 基于IPPG的检测值与实际值之间的回归散点图
5 结语
本文针对高原环境下高海拔、低气压应用环境建立高原血氧数据库,血氧饱和度范围为66%~96%;采用3种模型计算血氧饱和度,得出MLP模型检测结果优于数学模型与RBF模型,丰富了基于IPPG非接触检测血氧饱和度的应用环境,证明了在高原地区基于IPPG检测血氧饱和度的可行性。本文的可用视频数据是在光线充足的室内采集,未考虑天气阴晴、人脸由于妆容造成的脸色不同是否会对结果有影响,下一步应增加实验人数,并在不同光线、不同天气、是否有妆容情况下采集视频数据。目前,基于IPPG非接触检测血氧饱和度还处于实验室研究阶段,仅能检测静止状态下的血氧饱和度,未来应研究如何减少运动干扰,使此技术可以在人员运动状态下检测血氧饱和度,将此技术推向更广泛的应用领域。