基于热成像技术的非接触式生命体征测量方法
2022-04-25田哲嘉
李 牧,吴 彤,田哲嘉
(西安理工大学 自动化与信息工程学院,陕西 西安 710048)
0 引言
心率、呼吸能够实时反映人体的生命状态及健康信息。而现代快速的生活节奏与不健康的生活习惯导致心血管疾病逐渐趋于低龄化和高发性,而一些潜在的心脏疾病无法及时被发现从而耽误了治疗的最佳时期;现在临床上通过观测患者的生命体征信息也可以为医生诊断疾病和术后监测患者身体情况提供依据。
目前市面上较为常用检测心率的设备有心率带、运动手环、手指夹等,临床上对于生命体征的获取是“电极片、袖带、指脉氧夹”与人体特定部位皮肤直接接触,这类接触式检测方法虽然可靠,但是对于有大面积皮肤损伤、过敏、术后人群、有传染病以及无法控制自己行为的婴幼儿、精神病患者等特殊人群来说无法实现,且佩戴期间只有在患者保持静止的状态下才可以获取数据,不适用于人体生命体征的长时间监测。因此实现一种非接触式的生命体征检测方式是非常有必要和迫切的。目前非接触测量生命体征的方法有基于雷达、成像式光电容积描记法以及红外热成像技术等方法,表1显示了3 种常见的非接触式检测方法的优缺点。通过对比可知红外热成像技术是一种被动式的非接触式检测方法,其优势为不伤害人体,不受背景环境中电磁波、强弱光以及雨雪、雾霾等天气的干扰,真正做到全天时、全天候的检测。
表1 检测生命体征的非接触式方法对比Table 1 Comparison of non-contact methods for vital signs detection
目前使用热成像技术测量生命体征的研究正在快速发展。S.Y.Chekmeneve 等人早在2006年通过检测面部及颈部获取脉搏波,但是其在测量过程中需要用下巴托稳定受试者并手动确定感兴趣区域会造成较大的误差,且需要直接查看原始的热像图没有进行图像增强[1]。M.Garbey 采用自适应滤波测量生命体征,该方法的精度达88.52%~90.33%,但在测量过程中要求受试者保持完全的静止,不满足实际检测环境的需求[2]。Travis R.Gault 使用血管映射和多分辨率分析的方法通过热成像技术对人体面部血管系统测量生命体征信息,但是文中使用了手动选择感兴趣的血管并实现基本跟踪,易因人为因素导致测量误差[3]。国内的学者们对此也有很多研究,其中梁智敏选用的感兴趣区域为面部下半部分,包含鼻孔与嘴巴在内会因人体呼吸等生命活动造成较大误差[4];首都医科大学的景斌等人选用太阳穴位置,文中滤除噪声仅选用了低通滤波[5];北京师范大学的王建明团队则是计算了一段视频序列的平均心率,易丢失瞬时心率异常[6]。
热像仪获取的图片具有分辨率差、细节模糊等问题,对于血管边缘分割与提取造成了难题;如何精准获取感兴趣区域并提取灰度值是最重要的一步,因人体在测量过程中的头部晃动以及面部姿势改变会丢失或变更区域信息的采集。对此本文提出了一种基于前景目标提取与面部特征点检测与人脸对齐的方法实现感兴趣区域的自动检测与追踪,同时将感兴趣区域中相对血管区域的背景像素点剔除以提高系统的准确性。通过对比实验发现提高了心率、呼吸检测的准确度的同时,实时性与鲁棒性也相对较强,取得了较好的实验成果。
1 工作原理
在人体心脏周期性的跳动过程中会不断推动血液流过全身的血管,这种周期性变化会导致血管内压、血流速度等也跟着周期变化。这种血流体现在体表皮肤上会出现温度差异,在热成像视频中可通过灰度值的周期性变化显示。中国中医研究院的张栋等学者的研究成果中指出,人体面部中含有大量的毛细血管,而脸部双侧的内眦、嘴角、鼻唇沟、额及其口唇等部位毛细血管密集[7],而选用血管较为密集的部位作为感兴趣区域进行心率分析的结果会更加的准确。综上所述充分证明了皮肤温度变化和血流之间存在对应关系。同时,人体呼吸的气流和反应心率的脉搏一样携带了与温度关联的信息特征,通过对鼻孔温度信息的计算分析可获得呼吸信息。
2 研究方法
2.1 算法整体设计
本实验通过对获取到的热红外视频进行预处理提取出前景目标,再对目标物进行快速人脸检测,根据对面部血管密集程度的分析在热像图中确定出与心率相关性较高的区域为初始的感兴趣区域(Region Of Interest,ROI),然后对热红外成像视频感兴趣区域进行追踪,进而使用形态学处理舍弃该区域背景部分灰度值,保留温度较高的动脉血管区域作为最终ROI为最新研究对象,再对这部分区域灰度均值形成时间序列作为原始心率信号。通过巴特沃斯带通滤波器以及小波阈值去噪滤除结合中值滤波多余的噪声,最终对滤波后的心率信号分解及重构,以快速傅里叶变换得到最终的心率、呼吸估值以及心率波形图。
2.2 视频预处理
本系统主要研究对象为视频帧序列中的人体面部区域,如果在序列帧的整幅图像中寻找人体面部区域会大大增加算法的搜索范围和时间,从而降低计算心率的效率,所以我们需要在预处理中进行前景人物目标提取以便进行后续步骤的处理。
目前常用的目标前景区域提取方法主要分为基于特征和基于灰度值。基于特征的方法是依据图像的特征检测运动目标,多用于目标较大、特征明显的目标。基于灰度的方法利用视频帧时域信息,主要包括帧间差分法[8]、背景减法[9]和光流法[10],帧间差分法在目标运动过慢时会造成比较多的空洞和误判,不满足要求;背景减法计算简单,能提取出完整的目标,但是在实际应用中很难建立一个理想的背景模型;光流场法则计算复杂,不适合实时处理。
通过热红外成像仪测量心率需要保证信息获取的实时性,且镜头前测量的人体目标较大会出现轻微晃动,对此本文选用了基于特征提取前景目标。首先需要对视频帧序列图片进行灰度处理、Ostu 二值化以及腐蚀膨胀、提取轮廓处理等过程提取出二值化的前景目标,再与原图进行掩膜位运算获得人脸前景目标,结果如图1所示。
图1 提取前景目标Fig.1 Extraction of prospect target
2.3 选取感兴趣区域
根据文献[4]中的人脸的毛细血管分布图,我们在提取到的人物目标上选取毛细血管较为丰富的额头作为感兴趣区域进行研究。ROI 区域的自动追踪首先需要进行人脸检测,目前人脸检测主要的算法有:基于人脸特征点的检测算法、基于整幅人脸图像的检测算法、基于模板匹配的检测算法以及基于神经网络识别的算法。本文选择的方法是基于特征点的人脸检测方法,且在前额区域中,只需选取60%的血管段作为研究对象,就可以获取85%或者更高的测量精度的心率结果[3],因此,选取前额作为感兴趣区域可获取更加精准的测量结果。
2.4 目标检测与追踪
在热红外成像仪采集面部视频过程中,测试者很难保持完全的静止使选定的ROI 区域在固定的位置,这样获取到的数据具有很多的误差和噪声甚至含有较多的无效数据,因此实现视频帧序列中目标区域的动态追踪显得尤为重要。文献[6]中采用的方法是直接选取一个正方形区域作为ROI 区域,并通过重心法获取每一帧图片的重心,然后计算重心到参考点的距离,从而组成时间序列信号;文献[4]中采用的模板匹配方法,使用归一化互相关函数比较各个候选区域与ROI模版的匹配情况决定该帧热像图是否可用,若无效帧数过多则需要重新提取敏感区域甚至需要重新选取视频;文献[5]使用的是基于经典的CamShift 算法追踪人脸。这3 种方法中前两种鲁棒性较差;第三种方法是在人脸跟踪过程中可根据目标的尺寸调节搜索窗口的大小,对有尺寸变化的目标可准确定位,这种算法在目标附近有与目标色调相近的行人时会导致跟踪窗口扩大,甚至有时扩大到整个视频框架。
本实验使用的是训练好的人脸检测模型进行人脸区域检测,使用基于脸部特征坐标点定位其面部,并在此基础上使用坐标添加上ROI 区域。这种方法易于实现且精准率高,能够满足对感兴趣区域实时追踪的需求,因此选用此方法作为本次试验目标跟踪的方法。图2是检测的人脸特征点和追踪的感兴趣区域。
图2 追踪的感兴趣区域Fig.2 The area of interest to track
2.5 血管特征提取
因为在人体面部原图像中选取的初始ROI 不仅含有血管特征,还会有相对的背景区域,而文献[11]中指出直接在血管上面的皮肤温度比与血管相邻位置的皮肤温度高。因此我们可以从额头背景图中提取出纯粹的血管特征作为最终的感兴趣区域。因为血管中的血流会使其局部温度高,这种变化被高灵敏度的热红外成像仪捕捉到即表现为高光部分,我们可利用图像中需要提取出来的血管与背景之间的灰度值差异性,将图像分割为目标区域与背景区域。本文选用各向异性扩散滤波器和高帽分割相结合的方法提取出人脸血管[12],图3显示了经过迭代20 次后的扩散滤波效果。
图3 各项扩散滤波前后效果图Fig.3 Effects of Anisotropic diffusion filtering before and after
再通过形态学处理中的高帽分割即可得到血管模型,高帽分割的数学定义式为:
式中:I为原图像;Iopen为原图像开运算后的图像。
为了更好地获得ROI 内的血管模型,仅截取该区域进行分析。图4的图(b)为二值化的血管图形与高帽分割后的图像(d)形成对比。
图4 获取ROI 区域血管模型Fig.4 Obtain vascular models in the ROI region
对所得感兴趣区域的灰度做以上处理即可获得血管区域所在区域的灰度均值变化的时间序列信号,波形如图5所示。
图5 灰度均值变化的初始时间序列图Fig.5 Initial time series of gray level mean variation
2.6 趋势消除法
所得的初始心率时间序列中包含趋势成分和周期波动成分,HP 滤波器(hodrick prescott filter)是一种有效的提取原始序列趋势项的方法,从而将初始心率时间序列中具有一定趋势变化的平滑序列分离出来[13]。假设一个时间序列Y={y1,y2,…,yT},G={g1,g2,…,gT}表示该时间序列中趋势项,C={c1,c2,…,cT}则为该时间序列中的周期项,HP 滤波可以将Y分解为:Y=G+C,记损失函数为M,则G为M最小化时的解。
式中:B(L)为延迟算子多项式,即:
将(3)式代入(2)式可得:
式中:λ为平滑参数;对波动成分度量,解释了主要趋势成分gt对原序列yt的跟踪程度;而刻画了趋势的光滑程度。
对式(4)一阶求导,并令导数为0,可得:
式中:F为一个T×T的系数矩阵。
因此可知最小化问题取值受到了λ取值的影响。其最优取值则为:
根据实验对比,λ=10 具有较好的滤波效果。通过设置参数后的HP 滤波可得到如图6的原始信号和HP 滤波的时间序列,最后可得残差信号(周期信号)c作为初级滤波的信号,即:
图6 原始心率信号及HP 滤波Fig.6 Original heart rate signal and HP filter
根据式(7)可得如图7所示的残差信号波形。
图7 残差时间序列Fig.7 Residual time series
为了判断所得残差信号的时间序列是否已经趋于平稳,可采用 ADF 单位根检验法(augmented dickey-fuller test)进行平稳性检验。其检验的原理是判断被检验数据生成的特征方程是否存在特征根,如存在特征根则表示时间序列非平稳[14]。表2展示了对获得的图7所示某一时刻的残差时间序列信号进行ADF 单位根检验的结果。
表2 残差序列ADF 检验Table 2 Residual sequence ADF test
根据所得结果可知P-value 的值均非常接近0,且t-statistic 的值均小于1%置信度值,所以有99%的把握度可拒绝原假设,可以证明所得残差时间序列是平稳的。
2.7 噪声滤除
在采集视频过程中仍不可避免地会受到各种噪声的影响,例如:设备噪声、背景噪声以及周围热场的影响等,从而造成一些视频帧序列中的灰度均值偏离实际值导致测量结果不稳定,所以我们需要对此进行一系列的去噪处理。一个正常成人平静状态下的心率范围在60~100 次/min,我们可选取上下截止频率分别为40 次/min 和200 次/min 的带通滤波器滤除掉不可能出现的随机数据。
使用小波阈值收缩法可进一步提取需要的信号,有用信息信号的幅度相关性强,而噪声却是随机且相关性较弱,反映在小波域中则是近似系数携带了有用信号的主要信息,相应的近似系数的模也会较大,细节系数为有用信号的高频部分以及噪声的主要特征,而噪声引起的细节系数模会较小。可选取合适的阈值滤除掉细节系数中绝对值较小的部分,达到去除噪声的目的。该方法对于热像图的去噪效果非常好[15]。其实现过程如图8所示。
图8 小波阈值去噪过程Fig.8 Wavelet threshold denoising process
阈值函数和阈值是小波阈值收缩法的重点,阈值λ由实际信号的噪声方差σ获得,假设对实际信号进行M层的小波分解得各层近似系数{cam(i)}和细节系数{cdm(i)},对每层cdm(i),m=1,2,…,M,i=1,2,…。按照模的大小排序,求出每一层的中值{cdm,mid},并得到各层的噪声方差σm:
则可得出通用阈值λm:
目前传统的阈值函数有硬阈值、软阈值函数。硬阈值函数具有良好的逼近性,能够最大程度抑制噪声,但是这种“一刀切”会使信号在小波域产生突变,导致最终结果产生局部抖动。而软阈值函数使其小波系数整体连续性好,但是会产生一定的偏差[16],直接影响了重构后的信号与真实信号的逼近程度。为了获得更好的去噪效果,本文采用了一种软硬阈值折衷的方法,其表达式如下:
式中:α满足0<α<1;m满足m=1,2,…,M。
最后再使用各层近似系数{cam(i)}与阈值抑噪后细节系数的{cdm,mid(i)}进行重构得到抑噪后的时域序列[17]。
2.8 心率、呼吸信号提取
降噪后的心率、呼吸信号本文使用了以时间窗口形式处理视频每一帧信息以获得测量人体心率、呼吸[18],本文通过对心率信号y、呼吸信号g进行快速傅里叶变换并获取最大幅值所对应的频率绘制动态频率变换图,如图9所示,获得最大频率可转换为心率、呼吸值,心率计算方法如式(11)、式(12)所示,呼吸计算方法如式(13)、式(14)所示:
图9 心率频域分析图Fig.9 Heart rate frequency domain analysis diagram
3 实验结果与分析
本文研究对象为10 名年龄段在20~25 岁之间的健康人群在自然状态下采集面部热红外视频,其中包括5 名男性、5 名女性。在恒温条件下的实验室中,10 名测试者分别正坐在距离视频采集设备1 m 的位置处进行不少于60 s 时长的面部数据采集,在电脑终端得到AVI 格式的视频文件。
图10为其中一个测试者测量的显示界面,下左侧部分实时显示该测试者的心率波形变化。右侧“69”为当下时刻的心率值(beats per minute,bpm),“12”为呼吸频率(breathing rate,br)。
图10 测试界面Fig.10 GUI Testing
在学校校医院老师的帮助下对测试者连接心电图机AUTOCARDINE RFCP-2155(如图11所示)与热红外成像仪,分别对序号为1~5 的5 名男性和序号为6~10 的5 名女性在相同环境下采集时长为1 min 的视频,并每隔5 s 记录两种测量设备测量出的心率,最后作比较。表3、表4分别为5 名男性受试者、女性受试者的1 分钟心率检测结果对比,其中,M为通过本方法测量的心率值,R为使用ECG 测量的参考值。
表3 男性测试者动态心率结果对比Table 3 Comparison of dynamic heart rate results in male
表4 女性测试者动态心率结果对比Table 4 Comparison of dynamic heart rate results in female
图11 心电图机Fig.11 Electrocardiogram
表5中为本文方法测量到的1 min 心率均值,为ECG 测得的真实均值,d满足式(15),则平均两组数据均值差=0.718 次/min。。
表5 对10 个测试者心率均值偏差分析Table 5 Deviation analysis of the mean heart rate of 10 testers
表6分别为10 个受试者1 min 的呼吸均值实现结果对比并对其进行误差分析,其中MBR为根据本方法测得的呼吸值由实验结果,MBR'是对根据本方法测得的呼吸值取整,RBR为参考呼吸值。结果可知基于热像图的呼吸测量方法与真实呼吸值最大误差为1 次/min,满足实际的需求。
表6 测试者呼吸平均值结果对比Table 6 Comparison of the average results of the tester's breath
上述实验结果表明,本文提出的方法能够精确地反映测试者的心率、呼吸信息以及心率波形图,心率估值与参考值的误差能够保持在3%~4%以内,满足实际的需求。相比于之前研究人员的结果误差5%~10%有了一定的降低,且稳定性得到了提高,能够基本满足复杂环境下的心率、呼吸测量要求。该实验过程充分证明了本文提出的算法可进一步减小心率估计误差,提高估计精度。同时通过对比男女两组心率数据可以发现在安静情况下女性的心率整体上比同龄男性快,而不常运动的人会比经常运动的人整体上心率快,呼吸信息因呼吸温差较大趋于稳定。
对于复杂环境下人体呼吸、心率等生命体征的检测是很有必要的,本文利用热像序列图像实现了对心率、呼吸的非接触式测量。与接触式测量方法相比,该方法不但减少了受试者在测量过程中的不适感和不方便、扩展了使用人群,而且在实际应用中也具有较高的准确性和稳定性;与普通的可见光摄像头相比,热红外成像仪包含了丰富的温度信息并不受光线的影响,所以能够实时监测感兴趣区域的温度状态,具有相当大的优势;与前人对于热红外成像仪测心率的方法相比提出了一种更好的解决方案。限于本人研究水平有限,本文方法还有很多的改善之处,接下来的工作将继续调整阈值的选择以及寻找更好的提高心率准确性方法,还可以解决体温及其血压方面的难题。
4 结语
采用热红外成像仪作为探测设备测量心率、呼吸的方法可应用于疫情等特殊情况以及特殊人群的生命参数检测,及用于术后人群长时间生命体征监测,能很好地模糊脸部及身体特征,保证了被检测人的隐私。其次使用红外成像仪测生命体征信息不仅可以使用录制好的视频片段,也可以直接连接监控显示仪器实时查看,这样的方法极大程度地扩展了该系统的使用范围,为远程医疗事业提供支持性。
在提取前景目标时使用的是较为简单的边界特征识别方法,该方法适用于背景较为简单的环境,当背景人流量较大或者背景的温度高于人体时会造成识别混乱及热像图灰度值反转的情况,引起较大的误差。针对这类问题可以根据具体的情况选择合适的方法,使用深度学习的方法分割前景、背景;针对静态背景视频可使用二帧差法提取;针对动态的背景视频可建立高斯混合模型,通过选择合适的阈值分割前景人物目标[19]。
由于疫情的影响,人们出行都带着口罩遮挡了人体面部重要特征点导致无法直接进行人脸检测,后期工作的方向则可以集中于训练口罩识别数据集的模型训练完成口罩下的人脸检测获取心率、呼吸信息;同时还可以利用热红外成像仪获得的信号获取更加丰富的生命参数,例如血脉氧、血流速度、标准体温等。通过这些生命参数不仅可以分析人体的健康情况,也可以为身份识别、移动支付等提供更有力的支持。