基于rPPG的心率测量方法研究
2023-06-27邵天浩王众鑫郭紫阳
邵天浩,王众鑫,郭紫阳,曹 玥
(1.华北理工大学人工智能学院,唐山 063200;2. 华北理工大学基础医学院,唐山 063200)
0 引言
在临床诊断中,心脏的各项指标对判断病情一直起着关键的作用。例如:心率、呼吸率、血氧浓度等。其中,心率则在各项诊断时被放在首要位置。如今,全球心血管疾病负担增加,因心血管疾病造成死亡的约占死亡人数的三分之一。中国的心血管死亡率占据全球第一,而心率对监控心血管疾病和治疗慢性疾病至关重要。此外,大多数心血管疾病都是可预防、可监控的。现如今主流心率检测方式,都需要同患者近距离接触,但面对一些特殊人群,如早产儿、具有皮肤病史、大面积烧伤等患者,接触式检测很可能导致患者感染。并且,如今新冠疫情形势仍然严峻,接触式检测可能会造成交叉感染。故现需要一种可以远程测量心率的检测形式。远程光电容积描记法(remote photoplethysmo graphy,rPPG)技术,是在PPG 的基础上进行发展研究,仍然适用比尔-朗伯定律。rPPG 检测心率的原理基于以下事实:心脏的跳动,导致毛细血管内的血红蛋白含量发生细微变化。同时,光线在照射人体皮肤时,血管内血红蛋白含量的多少决定光吸收量,因此,反射光的强度也会发生细微变化[1]。基于这一事实,rPPG可以从皮肤中提取脉搏波信号[2]。
1 算法原理及实现
1.1 rPPG原理
基于传统接触式检测原理出发,rPPG 是由PPG 发展而来,同PPG 不同,rPPG 利用成像设备代替传感器,突破了同皮肤接触的传统测量方法,并且不需要外加特殊光源,但其原理与PPG相同。
比尔-朗伯定律是PPG 的理论基础,rPPG同样适用该定律。比尔-朗伯定律:当一束均匀的特定波长的光透过性质均一且非散射的溶液后,吸光度与溶液液层厚度和溶液吸光物质的浓度的乘积成正比。根据此定律,可推出下式:
式中:I为光的透射强度;I0为发射光的强度。ε(λ)为物质的吸光系数,其中,λ为光的波长,吸光系数表示物质吸光的能力,数值越大,吸光能力越强。C和L分别表示溶液中吸光物质的浓度与溶液液层的厚度。
在人体血管中,虽然存在各种各样的物质,但是物质之间不相互影响,所以比尔-朗伯定律仍然适用。
1.2 ROI选取
在rPPG 原理中,身体上任何暴露的皮肤都可作为ROI。但是考虑到远程检测的便捷性以及毛细血管在人体皮肤的分布,选择面部作为感兴趣区域。而面部也存在着一些不适合的区域,如眼睛、嘴巴等,这些区域对于心率检测存在一定的感染。并且由于远程检测的适应性,面对人群存在头发遮盖额头的情况,重新选择ROI 区域。ROI 选取包括手动选取和自动选取。因在心率检测过程中,被检测人的头部可能出现轻微晃动,手动选取存在两次选取无法完全一致的情况,故选择自动选取。基于dlib 库的人脸68 关键点检测,选取11 个点组成ROI 区域。但此ROI 区域仍会出现非皮肤区域选取,所以对该ROI 区域除第27 点外的10 个关键点进行坐标修正,利用公式(2)、(3)和(4)计算,形成新的ROI区域[3]。
上式中v和r是校正前后的坐标。| |· 是绝对值运算符。
1.3 滤波
ROI 选取完成后对其进行保存,作为后续检测的数据。在检测过程中,被检测人的呼吸起伏、头部运动、外界噪声等都会作为噪声影响后续检测结果,所以滤波对于检测心率十分重要。本实验选取巴特沃斯带通滤波器作为滤波工具。因心脏跳动为每分钟40 次至240次[4-6],其频率范围大致为0.7~4 Hz。因此,为了去除因呼吸起伏造成的低频信号以及因噪声引起的高频信号对后续检测结果的影响,使用6阶巴特沃斯带通滤波器对[0.7, 4]Hz 进行滤波,用来降低噪声对结果的干扰。
1.4 独立成分分析
图1 ROI的选取
独立成分分析又称作盲源分离,是在生理信号处理中较为常见的用来去除噪声的技术手段。独立成分分析是指在信号叠加过程信息未知的情况下,对一组混合信号进行信号分离的方法[7-8]。最典型的例子为对一组传感器的叠加信号进行处理,获得各个传感器的不同信号。独立成分分析法是指从一组由原始信号进行线性组合分离得出独立源信号的技术手段。该技术在医学中被广泛应用,例如,心电图和脑电图的记录中去除噪声,分离孕妇和胎儿的心电图[9]。
由于毛细血管中的血红蛋白对不同波长的光线吸收率不同,所以可对原始信号进行分解,分为RGB 三个独立通道。每个通道分别观察到各自信号。在独立成分分析法中,源信号数量不能超过观测信号数量,此处的观测信号为RGB 三个不同通道的信号,故假设存在三个基础源信号[5]。
图2 独立成分分析流程
1.5 功率谱
独立成分分析法对信号进行处理,最终得到三个基础源信号,其中只有一个信号包含脉搏波信号,而且分解出的源信号是不存在顺序的,随机出现。故选择对三个基础源信号进行功率谱处理,比较三个信号的功率谱幅值,将具有最大功率谱幅值的源信号作为脉搏源信号[10]。
2 实验设计和结果分析
本实验采用电脑笔记本自带摄像头进行图像采集,该摄像头分辨率为1280×720。在图像采集过程中需要被测者正对摄像头,该实验初始采集270 组数据进行分析,后续数据分析进行60 组数据对前者更换,保证每次分析数据都在270 组。如此减少瞬时噪声对结果的干扰,也减少后期检测所需等待时间。
在图像采集过程中,原相机所显示图像将以窗口形式展现,随之进行的还有人脸关键点检测,以及ROI自动选取。将选取的ROI图像以另一个窗口的方式进行展示。在ROI 选取过程中,人脸关键点的检测有时不满足所取区域皆是皮肤组织,故需对原关键点的坐标进行修正。
图3 rPPG算法流程
图4 ROI区域选取
在ROI 选取结束后,此时保存该时刻ROI区域的图像,对该图像进行RGB 三通道分离,并对三通道进行像素值平均处理,使之成为一组数据。但此时数据包含许多干扰信息,如外界噪声、头部运动等,故需对数据进行滤波处理。
本实验使用6 阶巴特沃斯带通滤波器对数据进行带通滤波,从而消除一部分噪声信号,进而增加检测结果的准确性。下一步进行数据储存,270组数据作为一组进行后续独立成分分析。
独立成分分析将数据进行分解还原,本实验采用的独立成分分析迭代次数为200次,可以满足大部分的检测要求。该方法从数据中提取出三组新数据,其中一项包含脉搏波信号。通过对三组信号进行功率谱处理,按照上文中提到的方法选择最佳独立信号,并对最佳独立信号进行傅里叶变换,最后利用公式(5)求解心率。
其中:HR为人体心率,fAmax为最佳独立信号功率谱最大幅值所对应的频率。
3 结语
本文主要介绍了基于远程非接触式心率测量的原理和方法。通过对被检测者的人脸关键点定位、处理检测出ROI 区域,记录ROI 区域内RGB 三个通道的平均像素强度,并使用滤波器滤波,最后使用独立成分分析对数据进行处理,根据算法计算得出心率。该方法便于操作、重复性高,并且可应用于日常的心率检测,在未来医疗行业中有着较大的发展前景。