引言

本人所在实验室研究组是从事视频医学方向研究,目前主要针对非接触式的视频脉搏波提取技术被称作图像光电容积脉搏波描记法**(image Photoplethysmography ,iPPG)。具体为从人面部或者指尖等皮肤区域提取由于心脏跳动引起的颜色变化信号**BVP(Blood Volume Pulse,血液容积脉搏波)。


这种微弱的颜色变化虽然不能被人眼观察到,但是可以被相机采集再通过图像处理的方法进行放大得到。但是由于非接触式的相机采集会受到的环境干扰要比指夹式的PPG传感器信号质量差很多,如灯光干扰、运动干扰等,获取的信号处理难度要比普通的(Photoplethysmography,PPG信号难上许多。所以如何获取提取高质量的BVP信号的一系列去噪算法就成为了研究重点。根据获取的稳定的BVP信号就可以对许多心血管参数进行估计,如心率、血氧饱和度、心律不齐、房颤甚至是血压
由于研一主要负责组内的安卓App开发工作,虽然大致的处理流程也是了解的,但是还没有认真总结过,下面我就对相关的技术和背景进行介绍,如有疏漏还请大家批评指正。

PPG技术介绍

光电容积脉搏波描记法所使用的PPG技术是指利用光学心率传感器,通过传感器上的发光LED发射特定颜色波长的光入射进人体特定部位的表皮皮肤,再根据光敏传感器接收对应的反射光或入射光来达到检测脉搏信号的目的。

ppg传感器分类

根据接收光的方式可分为:

1.反射式光电心率传感器
2.透射式光电心率传感器

python摄像头测心率 摄像头测心率什么原理_人脸识别


python摄像头测心率 摄像头测心率什么原理_传感器_02

根据入射光线颜色可分为:

1.绿色光源

2.红色光源

3.红外光源

以及在同一块传感器上布置不同颜色的光源用以采集不同的生理信号。


例如根据相关论文测量心率时可以选择绿色光源,提取出的脉搏波信噪比时最高的,这也就是许多运动手环和智能手表在测量心率时,底部会透出绿色光的原因(但是经过我们实测至少是在指尖的iPPG信号提取时,红色通道的信噪比会比绿色通道好很多,这个我后续会做实验进行验证)。
除此以外还可以根据红色通道近红外通道提取的波形,进行血氧饱和度SpO2的计算,因为血液中的氧合血红蛋白浓度和还原血红蛋白浓度在红光和近红外段光谱有着明显不同的吸收比,因此可以直接利用两个通道采集的BVP信号差异,进行SpO2的估计。

PPG传感器原理

为什么皮肤反射的光信号变化可以进行心率的计算呢?

python摄像头测心率 摄像头测心率什么原理_传感器_03

当光照经过皮肤组织然后再反射到接收端的光敏传感器时,获得的光信号强度是会有一定变化的。除去人体肌肉、骨骼、静脉和其他组织等等对光的吸收基本恒定的区域,流经皮肤下的动脉血管对光的吸收或者衰减却是时刻变化的。由于心脏的跳动规律的将血液泵进动脉,动脉的血液容积也是随之改变的,因此会造成光敏传感器端接收的光信号变化,而这种变化就可以间接用来表示血液容积的改变。当把这种光信号的变化转化成对应电信号的改变时,那些吸收不变的区域分为直流DC信号,而由于心跳血液容积变化产生的信号称之为交流AC信号。提取光敏二极管产生的AC信号,进而就可以根据得到的BVP信号进行诸如心率等心血管参数的估计。

心率估计原理

python摄像头测心率 摄像头测心率什么原理_传感器_04

由上图可以看出原始的脉搏波信号是有很多高频噪声基线漂移情况的,所以需要先对原始脉搏进行一系列滤波和降噪处理,转换为相对标准的脉搏信号在进行心率估计的算法。

python摄像头测心率 摄像头测心率什么原理_python摄像头测心率_05

上图可以看出,滤波有点过度把原始脉搏波的重搏波特征都过滤没了如果在对脉搏波的一些细节特征进行分析时可能就会影响精度。但是在这里的心率计算并不影响,因为心率只关注特定时间段内的波形峰值个数或者频率值。

时域分析-峰值检测

时域分析故名思意就是研究脉搏波的时域特征,通过计算特定时间内的峰值个数进行心率估计。公式如下:

HeartRate =60/duration*No.of peaks //其中duration是特定时间的长度

频域分析-FFT变换

频域分析就是将获得的脉搏波波形数据进行快速傅里叶的变化,对得到的频率freq乘以60就可以得到心率数值。需要注意的是,当脉搏波数组点数长度过短,根据奈奎斯特定理可能导致频率分辨率不足进而导致心率变化区间过大问题,其可以通过在数组后端补0来提升频率分辨率。具体公式如下:

HearRate = freq*60 //freq是没秒钟变化的次数,乘以60是因为心率是每分钟跳动的次数beats per minute


iPPG技术简介

iPPG技术是基于PPG而产生的,其主要的不同是:相较于PPG技术需要的专门的采集传感器,iPPG可以直接利用现如今大量智能手机和监控设备的摄像头获取视频信息提取画面内人体表皮颜色变化(一般为面部或者指尖皮肤),而不需要专用的传感器设备,也无需始终接触才可以进行测量。但是非接触式的代价也是显而易见的,iPPG的信号质量除非视频录制环境特别完美,在真实场景下容易受到光照和用户的运动干扰等影响。因此,也有很多学者针对不同的场景下进行算法优化,提升脉搏波提取的鲁棒性。但是目前为止,真实复杂场景下的脉搏波采集还是没有达到如今商用人脸识别的效果。截至目前为止,考虑到准确性等方面iPPG技术还没有特别好的商业前景。相信等到iPPG的鲁棒性可以达到人脸识别的地步,一定会催生大量的产品形态极大的方便我们生活和健康检测。