1. 引言
心率是衡量人体身心健康的重要指标,人类的心率一般是用每分钟心跳的次数(Beats Per Minute, BPM)来衡量的,它是揭示个体健康状况的一个重要参数,主要用于心血管疾病的临床研究工作,也可以用来诊断糖尿病或高胆固醇引起的疾病,甚至动脉阻塞情况 [1] 。
传统的心率检测方法依赖于心电图(ECG)、接触式光电容积描记法(photoplethysmography, PPG)传感器。传统的心率检测方法为了得到准确的测量结果,必须要紧贴在皮肤上并且需要做很好的遮光处理,才能得到较好信噪比的脉搏信号。但是,如果出现皮肤烧伤或者肢体残缺等情况,接触式的测量就无法实现。另外,夹持式的测量,不同的夹持力度,不同的夹持角度都会影响测量的精度,而如何控制这种接触产生的压力对测量精度的影响,目前还没有很好的方法。长时间的监测,接触式的测量会给测试者带来不适感。为了解决这个问题,需要使用不那么突兀的、非接触的测量方法。随着计算机视觉算法的发展,研究人员提出了基于成像光电容积描记法(Image Photoplethysmography, IPPG)的非接触式心率检测 [2] [3] [4] [5] [6] 。
IPPG是一种利用光电技术远程检测皮肤下血管中血液容积变化的方法 [7] - [12] 。由于血液中的血红蛋白对光起主要吸收作用,所以需要成像设备的光谱范围包含血红蛋白可见光谱吸收峰的光谱,红蛋白的吸收光谱在274 nm、376 nm、414 nm、540 nm、576 nm处,414 nm处吸收峰远高于其它吸收峰 [13] [14] 。
目前IPPG大多使用的是RGB三通道相机,RGB相机光谱范围有限,只包含了血红蛋白540 nm的吸收峰,所拍摄的视频包含的心率信号较少 [15] [16] [17] 。
因此本文提出宽谱段、多通道的脉搏信息获取方式,在提高信号质量的同时,增强信号的信噪比,可有效解决RGB相机的缺点。本文所使用的多光谱相机,拥有九个光谱通道,光谱范围包含了血红蛋白的414 nm、540 nm、576 nm的吸收峰。本文将利用多光谱相机和同款CMOS的RGB相机进行非接触式心率检测,并且检测结果进行对比分析。
2. 实验方法
2.1. 实验仪器及装置
本文搭建的实验系统对志愿者进行非接触式心率检测,实验系统如图1所示。本文所使用的光源是色温灯,所使用成像设备是多光谱相机(光谱范围为350 nm~950 nm) [18] 以及同款CMOS的RGB相机(光谱范围为430 nm~470 nm,500 nm~560 nm,620 nm~780 nm)。两个相机均以30帧/秒输出灰度图片,曝光时间为30 ms,图片的分辨率为640 × 480,位深24 bit。多光谱相机的采集图片的通道数为9。测试人员心率的标准值采用鱼跃的YX306指夹式脉搏血氧仪进行检测。血氧仪脉搏的测量范围在25 bmp~250 bmp,测量误差为±1 %或者±1 bmp (取两者中较大者)。
本文实验环境为暗室,并且确保暗室内没有各种干扰因素(如风,人的走动以及其他声音的干扰)。为保持两个相机的采集环境一致性,在实验中多光谱相机和RGB相机同时进行数据采集。采集时测试人员坐在两个相机的前方,光源放置在相机上方。并且在每次测试前测试人员需要休息5分钟使心率平静下来。在测试时测试人员需要保持静止不动,每组测量时间设置为30秒,一共测试30组。
2.2. 心率检测方法
为了获得我们所需要的心率信号,首先需要对获取的原始raw图片进行通道分离,接着对每个通道的图像进行人脸识别并分割。接下来为了避免眼睛、鼻孔、额头的头发的干扰,需要对分割出的人脸进行进一步的感兴趣区域选取(ROI),本文选取的部位为鼻子上面和眼睛下方的矩形区域具体流程如图2。接着对每一帧图像的每个通道的ROI内像素值求空间平均值来获取原始信号(图3),公式如下:
(1)
其中,P(t)是不同通道的原始信号,
是在时间t时像素
在ROI内的像素值,N是ROI的像素总数。
人体正常的心率信号是具有周期性的,目前,已经得到了用于检测心率的原始数据,从图3的图像数据可以看出,数据基本上是杂乱无章的无法识别出其具有的周期性,并不能发现其中包含的心率信息,原因是上述的数据中包含大量的噪声,需要对这些数据进行滤波处理,以提高源信号的信噪比。

Figure 2. Face recognition and ROI region selection
图2. 人脸识别与ROI区域选取
首先需要对源心率信号进行去趋势、标准化处理,其次将处理完的信号进行ICA分离 [19] ,获得盲源分离完后的数据(图4)。ICA公式如下:
(2)
(3)
,
分别是输入的原始信号和待分离的真实信号,A是一个n × n的混合矩阵,一般情况下不能准确求解出s(t),所以通过混矩阵W来求解出
,
可以作为真实源信号的近似估计值。
最后使用带通滤波器进行滤波,人体的心率范围是在50 bmp至220 bmp,通过换算频率范围大概是在0.8 Hz到3.8 Hz之间,所以带通滤波器的范围设置在0.8 Hz到3.8 Hz之间。滤波后的信号如图5。

Figure 4. Signals after ICA separation
图4. ICA分离后的信号
由于ICA特性,信号是以随机的顺序输出的,因此并不总是同一个输出信号具有最强的脉搏波波形。而心率信号是一个周期性信号,所以有最高峰值的频谱对应于具有最强心率的信号,所有其他源信号具有更平坦的频谱 [20] 。通过频谱我们得到所需要的心率信号如图6。
最终为了获得心率只需要通过心率计算公式:
(4)
式中的HR为真实心率,fmax为频谱中最大峰值对应的频率。
3. 实验结果分析与讨论
通过图7可以看出多光谱相机整体的离散程度原小于RGB相机,并且在静止状态下时多光谱相机没有离群值,可以看出多光谱相机的检测效果要优于RGB相机。

Figure 7. Heart rate values of multispectral camera and RGB Camera. (a) Multispectral; (b) RGB
图7. 多光谱相机和RGB相机心率值。(a) 多光谱;(b) RGB

Table 1. Error between measured value and standard value
表1. 测量值与标准值误差
根据医药行业规定的误差标准(误差 ≤ 5 bpm)和表1,多光谱相机的误差均符合误差的标准,并且相比较于RGB相机平均误差率降低了4.2%,平绝对误差降低了2.734 bmp,均方根误差降低了3.157 bmp,标准差降低了3.131 bmp。而RGB相机的误差虽然符合误差标准,但是基本接近误差的标准值。
通过平均绝对误差可以看出多光谱相机测量的误差值基本和医用脉搏血氧仪的误差标准接近,相比较与RGB相机降低了2.734,证明多光谱相机的效果要优于RGB相机,是因为多光谱相机的光谱范围比RGB宽,涵盖了血红蛋白414 nm、540 nm、576 nm波段的吸收峰。均方根误差可以看出多光谱相机并没有明显的异常值,而RGB相机均方根误差较大,可以推断出测量结果中有较大的异常值存在。标准差则可以看出数据的离散程度,这点和图7(a)和图7(b)一致,多光谱相机的离散程度要优于RGB相机。
4. 结论
通过本文的实验结果分析我们得出结论多光谱相机在非接触式心率检测效果比RGB相机更好,这是因为多光谱相机的宽谱段(350 nm~950 nm)涵盖了血红蛋白414 nm、540 nm、576 nm波段的吸收峰,而RGB相机波段(430 nm~470 nm, 500 nm~560 nm, 620 nm~780 nm)只涵盖了血红蛋白540 nm波段的吸收峰。多光谱相机宽谱段、多通道的特点在非接触式心率检测相比较于RGB相机平均误差率降低了4.2%,平绝对误差降低了2.734 bmp,均方根误差降低了3.157 bmp,标准差降低了3.131 bmp。
本文的工作可以促进多光谱相机代替传统的RGB相机作为成像设备,通过宽谱段来获得更好地脉搏波信号,扩展非接触式心率检测的在日常生活中的应用场景,提高非接触式心率检测的精准度。
NOTES
*通讯作者。