-
摘要:
针对现有非接触式血氧饱和度测量方法在头部动态场景下准确性低的问题,提出一种基于改进的自适应噪声完全集合经验模态分解与小波阈值相结合的去噪方法,用于提取高信噪比的脉搏波信号。首先,为解决自适应噪声完全经验模态分解在分解重构早期产生虚假分量和模态混叠的问题,在分解过程中加入高斯白噪声,使其成为改进的自适应噪声完全集合经验模态分解(ICEEMDAN),从而减少模态分量中的残余噪声。然后,使用ICEEMDAN对红蓝色通道的脉搏波信号进行模态分解,并使用db8小波基函数对符合血氧频谱范围的分量进行3级分解和重构,将重构后的信号用于后续血氧值的计算。最后,将不同头部动态场景下测量的血氧饱和度结果进行实验对比分析。结果表明:不同头部场景下得到的血氧饱和度平均误差为0.73%,相较于其他算法平均误差降低1.93%。本文提出的去噪方法在不同头部场景下具有较好的稳定性,可满足日常血氧饱和度测量的需求。
Abstract:In dynamic head scenes, current non-contact blood oxygen saturation measurement methods have low accuracy. To solve this problem, we propose a denoising method based on improved adaptive noise complete set empirical mode decomposition and wavelet threshold. This method aims to extract pulse wave signals with a high signal-to-noise ratio. Firstly, in order to solve the problem of false components and mode aliasing in the early stage of decomposition and reconstruction, white Gaussian noise is added to the decomposition process to make it become an improved complete ensemble empirical mode decomposition with adaptive noise (ICEEMDAN), to reduce the residual noise in the modal components. Then, ICEEMDAN is used to perform mode decomposition of pulse wave signals of red and blue channels. The db8 wavelet basis function is used to perform 3-stage decomposition and reconstruction on components within the blood oxygen spectrum range. The reconstructed signals are used for subsequent calculation of blood oxygen value. Finally, the experimental comparison and analysis of the blood oxygen saturation results measured in different dynamic head scenes show that the average error of blood oxygen saturation obtained in different head scenes is 0.73%, which is 1.93% lower than the average error of other algorithms. The denoising method proposed in this paper has good stability in different head scenes and can meet the needs of daily blood oxygen saturation measurement.
-
Key words:
- non-contact /
- oxygen saturation /
- head movement /
- wavelet threshold /
- decomposition and reconstruction
-
1. 引 言
每年11月份为呼吸系统疾病高发季节,新冠、流感、肺炎支原体感染等多种呼吸系统疾病叠加流行,持续的高烧和咳嗽是混合感染最常见的症状,而这些症状又是肺部感染的典型表现。肺部感染会导致肺泡充满炎症性渗出物,阻碍氧气有效进入血液中,从而引起血氧饱和度(Oxygen saturation,SpO2)下降[1-2]。在这种情况下,及时监测血氧水平的变化对于确保患者的生命安全至关重要。传统血氧测量方法包括采血检测和接触式脉搏血氧仪检测[3]。尽管这些方法能够提供准确的测量结果,但在日常使用中存在一些不便,在面对传染性疾病时存在交叉感染和二次感染的风险[4]。为降低感染风险并能更安全、更便捷地测量患者的SpO2参数,一种基于成像式光电容积描记技术(imaging Photo plethysmography,IPPG)的非接触式生理参数测量方法逐渐得到发展和应用。
2015年,Bal Ufuk[5]等学者使用双树复小波变换算法对面部视频中获取的蓝色通道和红色通道的信号进行去噪,获取到受试者的心率和SpO2参数值。2018年,荣猛[6]等人借助相机在环境光下拍摄受试者的面部视频,通过对视频信号进行一系列滤波处理从而计算出心率、呼吸率及SpO2参数值。2021年,Al-Naji A[7]等学者通过变分模态分解和独立成分分析联合方法对面部视频中得到的红色通道和绿色通道进行去噪,成功捕捉到符合SpO2频率的信号,进而计算出SpO2值。然而,以上研究主要是对相机采集的视频进行处理,存在采集设备成本高和测量误差大的问题。同年,Wei B[8]等学者采用盲源分离和独立分量分析的联合算法对交流分量进行去噪。在源信号未知的情况下,该方法根据统计特性从观测信号中恢复出了隐藏源信号,可从手机录制视频中测量出受试者的SpO2参数。2022年,嵇晓强[9]等学者提出小波变化-主成分分析-盲源分离的联合去噪方法,消除了IPPG信号中的噪声,进而从手机录制的面部视频中获取人体的心率、SpO2及呼吸率。同年,Pirzada P[10]等学者通过采用主成分分析与独立成分分析联合算法对获取的信号进行去噪,实现了对心率和SpO2的测量。以上方法虽然降低了采集视频的成本和误差,但都仅考虑静坐状态,未涉及日常生活中其他头部运动状态。2023年,Hu M[11]等学者采用基于深度学习的残差和坐标注意力的特征提取网络以及多模型融合方法,实现对SpO2的测量。虽然该方法解决了适用场景单一和误差大的问题,但其前期需要大量数据和时间进行训练,因此并不适用于实际应用。
与以往仅研究相机在静态场景下的非接触式SpO2测量方法不同,本文提出了一种利用手机摄像头在不同头部场景下均可进行SpO2测量的方法。针对头部运动会给IPPG信号带来噪声干扰的问题,本文提出一种基于改进自适应噪声完备经验模态分解(improve complete ensemble empirical mode decomposition with adaptive noise,ICEEMDAN)联合小波阈值(wavelet threshold,WT)的非接触式SpO2去噪方法。首先,使用ICEEMDAN对两个通道的信号进行模态分解,然后使用WT对符合SpO2信息频谱范围的分量进行3级分解并重构,最后得到去噪后的IPPG信号。该方法通过对IPPG信号应用ICEEMDAN-WT算法进行联合去噪,有效去除了头部运动对IPPG信号的干扰噪声,扩展了非接触式SpO2测量方法的适用场景。
2. 理论研究
2.1 血氧饱和度测量原理
由于含氧血红蛋白(
HbO2 )相对于脱氧血红蛋白(Hb )在吸收不同波长光时表现出不同的光吸收特性,进而导致捕获的反射波长照明发生变化。因此,可以通过测量两个波长下血液的吸收,计算SpO2值[12]。计算公式如式(1)所示:SpO2=HbO2Hb + HbO2×100%, (1) 根据光反射理论和朗伯-比尔定律,测量SpO2需要两个不同的波长(
λ1 和λ2 ),以确定两个波长照明的最大透射/反射强度,常见的脉搏血氧仪使用波长分别为660 nm和940 nm的光波进行测量[13]。计算公式如式(2)所示:SpO2=A−B×(IAC/IDC)λ1(IAC/IDC)λ2, (2) 式中,
A 和B 是经验系数,IAC 和IDC 分别是波长λ1 和λ2 的透射(或反射)光下的脉搏跳动交流和直流分量的振幅。为准确计算SpO2,应遵循Hb 与HbO2 的吸收系数在一个波长下显著不同而在另一个波长下大致相同的原则。Hb 与HbO2 在不同波长照射下的吸收光谱如图1(彩图见期刊电子版)所示。2.2 自适应噪声完备经验模态分解的改进
自适应噪声完备经验模态分解(complete ensemble empirical mode decomposition with adaptive noise,CEEMDAN)算法在分解模态分量时会引入一些残余噪声,并且在信号重构初期会产生虚假分量。为降低噪声干扰,本文在分解过程中加入了高斯白噪声,ICEEMDAN的分解过程如下。
EMD分解信号
x(t) 的第1个IMF分量如式(3)所示:IMF1(t)=E1(x(t))=x(t)−M(x(t)), (3) 式中,
E1(⋅) 为EMD分解的第1个IMF分量,M(⋅) 为信号的局部均值。ICEEMDAN分解信号
x(t) 的第1个IMF分量如式(4)所示:IMF1(t)=⟨E1(x(t))⟩=x(t)−⟨M(x(t))⟩, (4) 式中
⟨⋅⟩ 为信号的整体平均。步骤1:将具有标准正态分布的白噪声
wi(t) 加入到原始信号x(t) 中。如式(5)所示:xi(t)=x(t)+β0wi(t), (5) 式中,
xi(t) 为第i 次加入白噪声后的信号,β0 为加入噪声的幅度系数,wi(t) 为第i 次加入的白噪声(0<i⩽I) ,I 为加入高斯白噪声的次数。对信号
xi(t) 进行分解,计算出第1阶残余分量和IMF分量。如式(6)、式(7)所示:r1(t)=⟨M(xi(t))⟩. (6) IMF1(t)=x(t)−r1(t). (7) 步骤2:计算第
k 阶残余分量rk(t) 。如式(8)所示:rk(t)=⟨M(rk−1(t)+βk−1Ek(wi(t)))⟩k=2,3,4,⋯,N, (8) 式中,
βk−1 为第k 次分解加入噪声的幅度系数,通常设为0.1∼0.3 ,Ek(⋅) 为EMD分解的第k 阶IMF分量。步骤3:计算第
k 阶IMF分量。如式(9)所示:IMFk(t)=rk−1(t)−rk(t). (9) 步骤4:重复步骤2和3得到所有的
N 阶IMF分量。则原始信号x(t) 如式(10)所示:Ix(t)=N∑k=1IMFk(t)+rN(t). (10) 2.3 小波阈值分析
小波阈值对信号进行降噪的过程如下:首先选择适当的小波基函数和分解层数对含噪信号进行分解,得到一系列高频分量和低频分量以及相应的小波分解系数,然后利用阈值处理函数对高频分量的小波分解系数进行处理使其适当减小,最后对低频分量及修正过的高频分量进行小波重构,得到降噪后的信号。
本文选用软阈值函数对经过ICEEMDAN分解后符合的SpO2频谱模态分量进行分解并重构,软阈值函数如式(11)所示:
ˆωj,k={sgn(|ωj,k|−μ),|ωj,k|⩾μ0,|ωj,k|<μ, (11) 式中,
ωj,k 表示含噪信号原始小波,ˆωj,k 表示降噪后的小波系数,μ 为阈值。3. 基于ICEEMDAN-WT的去噪方法
基于ICEEMDAN-WT的SpO2信号去噪方法整体设计图如图2(彩图见期刊电子版)所示,其主要包括人脸检测跟踪、IPPG信号提取、IPPG信号去噪以及血氧饱和度计算4个步骤。
3.1 感兴趣区域选取
人脸面部含有丰富的毛细血管,故将整个面部作为感兴趣区域(region of interest,ROI)。选择Viola-Jones[14]人脸分类器进行人脸检测,确保人脸检测的准确性。该分类器以其高效的实时性和在各种光照条件下的良好适应性,被广泛应用于实时人脸检测。为在人脸大范围转动的情况下实现连续准确的人脸跟踪,将人脸检测算法与KLT[15]特征点人脸跟踪算法相结合。在人脸检测过程中,如果当前未检测到人脸区域,则会选择使用前一帧人脸区域,或选择与前一帧人脸区域最接近的人脸区域作为当前帧的跟踪目标,追踪检测人脸效果如图3所示。
3.2 IPPG信号提取
基于IPPG技术采集的面部视频中,不仅包含具有较强周期性的脉搏信息,还包含非皮肤区域、采集面部视频摄像头和头部运动带来的非周期性噪声信息。这些噪声信息未含有心脏跳动的脉搏波信号,而且通常无法避免地会给IPPG信号造成干扰,进而影响非接触式SpO2测量结果的准确度。为提高运动场景下非接触式SpO2测量结果的准确度,需要依次对所提取的ROI进行皮肤分割、相干平均及去直流三个步骤,目的是去除IPPG信号中非周期性的随机噪声。
非皮肤区域和背景会引入多种噪声源,为提高SpO2测量的准确性,在提取感兴趣区域后,先采用皮肤分割方法区分出皮肤区域,滤除非皮肤像素点的干扰。相较于其他皮肤检测算法,
YCbCr 颜色空间中的亮度信息和两个色度信息是相互独立的,这种分离能够更加有效地区分肤色和非肤色区域,从而提高皮肤检测的准确性。RGB 到YCbCr 的转换公式如式(12)所示:Y=0.299×R+0.587×G+0.114×BCb=(B−Y)×0.564+128Cr=(R−Y)×0.713+128, (12) 式中
Y 表示亮度分量,Cb 表示蓝色分量,Cr 表示红色分量,皮肤分割效果如图4所示。ROI的每个像素点中都包含记录心脏收缩与舒张的IPPG信号及噪声信号。其中,部分噪声信号来自于摄像头本身的量化信号,难以避免。为降低量化噪声的干扰,采用相干平均法[16]对ROI内所有像素进行空间平均。相干平均如式(13)所示:
i(t)=∑x,y∈ROIF(x,y)|ROI|, (13) 式中,
F(x,y) 表示R 和B 通道中某一位置(x,y) 的亮度像素值,|ROI| 表示整个人脸区域的像素数量。由于血红蛋白在不同波长下的吸光特性[17]不同,故选择红色和蓝色通道信号进行SpO2估算,经过相干平均后的信号如图5(彩图见期刊电子版)所示。由于头部运动引起的噪声主要体现在RGB信号的幅值上。为降低运动噪声带来的干扰,对B通道和R通道信号进行去直流,去直流后的信号如图6(彩图见期刊电子版)所示。
3.3 基于ICEEMDAN-WT算法的IPPG信号去噪
人体运动分为刚性运动和非刚性运动,刚性运动包括可控制的言语和头部运动,而非刚性运动指的是不可控制的嘴角抽动和身体的不自主晃动。为消除非刚性运动引入的噪声干扰,本文提出一种ICEEMDAN-WT的联合去噪方法。首先使用ICEEMDAN算法对去直流后的蓝色通道和红色通道信号进行分解,分解后的图及其对应的模态分量频谱图如图7~图10(彩图见期刊电子版)所示。
由于SpO2信息集中在
0.5∼2.0Hz 的频谱分量中,根据图8和图10可见,B通道和R通道的IMF2-IMF4模态分量均符合频谱范围。为进一步提取出脉搏波信号,选用db8小波基函数对符合频谱范围的IMF2-IMF4分量进行3级分解和重构,并舍弃其余的IMF分量。经过ICCEMDAN-WT重构前后的信号对比图如图11、图12(彩图见期刊电子版)所示,图中x轴为帧序列,y轴为重构信号幅值。3.4 血氧饱和度计算
根据式(2),经过多组指夹式血氧仪测量的真实值与经过本文方法计算得到的SpO2预测值的比率R来找到合适的线性方程。SpO2的计算公式如式(14)所示:
SpO2=125−25×R. (14) 4. 实验与结果分析
4.1 VIPL-HR数据集
VIPL-HR数据集[18-19]由中国科学院计算技术研究所视觉信息处理与学习组提供,共包含107个受试者在9种场景下共
2378 个可见光彩色视频。使用分辨率为1 920 pixel×1 080 pixel,帧率为30 frame/s华为手机拍摄的视频进行实验。部分头部运动的视频片段如图13所示,其标准SpO2值通过CONTECCS60C脉搏血氧仪测得。4.2 实验结果与分析
本实验的评价指标包括平均误差
ME ,如式(15)所示:ME=1NN∑i=1|Ppre−Preal|, (15) 式中,
N 表示所有数据个数,Ppre 表示通过本文算法得到的SpO2值,Preal 是指通过脉搏波检测设备测得的SpO2值,平均绝对误差MAE ,如式(16)所示。均方根误差RMSE 如式(17)所示。MAE=1NN∑i=1|ME|. (16) RMSE=√1NN∑i=1(Ppre−Preal)2. (17) 为验证本文所提方法对于存在面部表情变化以及头部运动场景下的性能,分别在静态场景、说话场景、头部左右晃动及头部上下晃动场景下进行对比实验,实验结果如表1所示。图14(彩图见期刊电子版)展示了4种场景下各评价指标的对比图。
表 1 不同运动场景之下的SpO2结果Table 1. Blood oxygen results under different exercise scenarios(%) 实验场景 ME MAE RMSE 静态场景 0.57 0.64 0.86 说话场景 0.69 0.83 1.08 左右晃动 0.89 0.89 1.26 上下晃动 0.76 1.04 1.29 由表1数据分析可知,在静态场景、说话场景、左右晃动和上下晃动4种场景下,本文方法的
ME 均小于0.89%、MAE 均小于1.04%、RMSE 均小于1.29%。由图14可知,该方法在静态场景下的误差最低。为更加充分地验证本文算法的抗运动干扰能力,将本文算法在4种不同实验场景下获得的结果与其他文献结果进行对比,实验结果如表2所示。
表 2 不同运动场景下算法性能对比Table 2. Comparison of algorithm performances in different motion scenes (Unit: %)方法 静态场景 说话场景 上下晃动场景 左右晃动场景 ME MAE RMSE ME MAE RMSE ME MAE RMSE ME MAE RMSE 文献[7] 1.55 2.27 2.74 2.23 1.82 2.88 3.28 2.81 4.32 3.56 2.6 4.41 文献[8] 0.70 1.10 1.30 1.13 1.30 1.72 1.33 1.40 1.93 1.70 1.80 2.23 文献[10] 0.51 1.12 1.23 0.63 0.93 1.12 1.11 1.36 1.75 1.27 1.44 1.92 本文方法 0.57 0.64 0.86 0.69 0.83 1.08 0.89 0.89 1.26 0.76 1.04 1.29 由表2可知,比较发现,本文算法在静态场景下的
ME 为0.57%、MAE 为0.64%、RMSE 为0.86%,在说话场景下的ME 为0.69%、MAE 为0.83%、RMSE为1.08%,在头部上下晃动场景下的ME为0.89%、MAE为0.89%、RMSE为1.26%,在头部左右晃动场景下的ME为0.76%、MAE为1.04%、RMSE为1.29%。图15(彩图见期刊电子版)是4种方法在同一实验场景下
MAE 的对比图。由图15可知,本文方法的MAE 明显优于其他算法,显示出其较强的抗干扰能力。图16为4种场景下非接触式SpO2预测结果与接触式脉搏血氧仪测量结果的Bland-Altman散点图。由图16可知,
mean 为−0.088%,95%置信区间为−2.532%~2.358%,95%的点都在一致性界限内,表明经过本文方法计算得到的SpO2结果与血氧测量仪测量结果之间具有较好的一致性。一致性程度越高则代表两种方法可相互替代性越强。5. 结 论
SpO2是呼吸系统疾病和心脑血管疾病诊断的重要指标,为实现不同头部场景下非接触式SpO2的测量,本文在人脸跟踪算法的基础上对IPPG信号进行ICEEMDAN-WT联合去噪,以获得高信噪比的脉搏波信号,进而进行SpO2值的计算。实验结果表明:SpO2的
ME 均小于0.89%、MAE 均小于1.04%、RMSE 均小于1.29%;各场景之间的相同评价指标的最大差异不超过0.44%。此外,Bland-Altman散点图显示,SD 为1.25%时,95%的点都在置信区间内,说明通过本文方法获得的非接触式SpO2测量结果同标准仪器的测量结果之间具有较好的一致性。该方法弥补了以往研究中适用场景单一的不足,为现实生活中非接触式SpO2测量提供了一种新颖的方式。本文目前尚未实现对人体多参数的测量,在未来的工作中,将进一步扩展至心率、血压等生理参数测量,以构建更为全面的非接触式生理参数测量体系。
-
表 1 不同运动场景之下的SpO2结果
Table 1. Blood oxygen results under different exercise scenarios
(%) 实验场景 ME MAE RMSE 静态场景 0.57 0.64 0.86 说话场景 0.69 0.83 1.08 左右晃动 0.89 0.89 1.26 上下晃动 0.76 1.04 1.29 表 2 不同运动场景下算法性能对比
Table 2. Comparison of algorithm performances in different motion scenes (Unit: %)
方法 静态场景 说话场景 上下晃动场景 左右晃动场景 ME MAE RMSE ME MAE RMSE ME MAE RMSE ME MAE RMSE 文献[7] 1.55 2.27 2.74 2.23 1.82 2.88 3.28 2.81 4.32 3.56 2.6 4.41 文献[8] 0.70 1.10 1.30 1.13 1.30 1.72 1.33 1.40 1.93 1.70 1.80 2.23 文献[10] 0.51 1.12 1.23 0.63 0.93 1.12 1.11 1.36 1.75 1.27 1.44 1.92 本文方法 0.57 0.64 0.86 0.69 0.83 1.08 0.89 0.89 1.26 0.76 1.04 1.29 -
[1] STRUYF T, DEEKS J J, DINNES J, et al. Signs and symptoms to determine if a patient presenting in primary care or hospital outpatient settings has COVID-19 disease[J]. Cochrane Database of Systematic Reviews, 2020, 7(7): CD013665. [2] MORO E, PRIORI A, BEGHI E, et al. The international European Academy of Neurology survey on neurological symptoms in patients with COVID-19 infection[J]. European Journal of Neurology, 2020, 27(9): 1727-1737. doi: 10.1111/ene.14407 [3] TAMURA T. Current progress of photoplethysmography and SPO2 for health monitoring[J]. Biomedical Engineering Letters, 2019, 9(1): 21-36. doi: 10.1007/s13534-019-00097-w [4] ALHARBI S, HU S, MULVANEY D, et al. Oxygen saturation measurements from green and orange illuminations of multi-wavelength optoelectronic patch sensors[J]. Sensors, 2019, 19(1): 118. [5] BAL U. Non-contact estimation of heart rate and oxygen saturation using ambient light[J]. Biomedical Optics Express, 2015, 6(1): 86-97. doi: 10.1364/BOE.6.000086 [6] 荣猛, 范强, 李凯扬. 基于IPPG非接触式生理参数测量算法的研究[J]. 生物医学工程研究,2018,37(1):27-31,35.RONG M, FAN Q, LI K Y. Study on the measurement algorithm of contactless physiological parameter based on imaging photoplenthysmography[J]. Journal of Biomedical Engineering Research, 2018, 37(1): 27-31,35. (in Chinese). [7] AL-NAJI A, KHALID G A, MAHDI J F, et al. Non-Contact SpO2 prediction system based on a digital camera[J]. Applied Sciences, 2021, 11(9): 4255. doi: 10.3390/app11094255 [8] WEI B, WU X P, ZHANG CH, et al. Analysis and improvement of non-contact SpO2 extraction using an RGB webcam[J]. Biomedical Optics Express, 2021, 12(8): 5227-5245. doi: 10.1364/BOE.423508 [9] 嵇晓强, 刘振瑶, 李炳霖, 等. 面部视频非接触式生理参数感知[J]. 中国光学,2022,15(2):276-285. doi: 10.37188/CO.2021-0157JI X Q, LIU ZH Y, LI B L, et al. Non-contact physiological parameters sensing in facial video[J]. Chinese Optics, 2022, 15(2): 276-285. doi: 10.37188/CO.2021-0157 [10] PIRZADA P, MORRISON D, DOHERTY G, et al. Automated remote pulse oximetry system (ARPOS)[J]. Sensors, 2022, 22(13): 4974. doi: 10.3390/s22134974 [11] HU M, WU X, WANG X H, et al. Contactless blood oxygen estimation from face videos: A multi-model fusion method based on deep learning[J]. Biomedical Signal Processing and Control, 2023, 81: 104487. doi: 10.1016/j.bspc.2022.104487 [12] KONG L Q, ZHAO Y J, DONG L Q, et al. Non-contact detection of oxygen saturation based on visible light imaging device using ambient light[J]. Optics Express, 2013, 21(15): 17464-17471. doi: 10.1364/OE.21.017464 [13] 吴其献, 胡玉斐, 李攻科. 可穿戴光谱传感器在医疗监测中的研究进展[J]. 分析化学,2024(4):449-459.WU Qi-Hsian, HU Yu-Fei, LI Tie-Ke. Research progress of wearable spectroscopic sensors in medical monitoring[J]. Analytical Chemistry, 2024(4): 449-459. (in Chinese). [14] VIOLA P, JONES M J, SNOW D. Detecting pedestrians using patterns of motion and appearance[J]. International Journal of Computer Vision, 2005, 63(2): 153-161. doi: 10.1007/s11263-005-6644-8 [15] MSTAFA R J, ELLEITHY K M. A video steganography algorithm based on Kanade-Lucas-Tomasi tracking algorithm and error correcting codes[J]. Multimedia Tools and Applications, 2016, 75(17): 10311-10333. doi: 10.1007/s11042-015-3060-0 [16] KHANAM F T Z, AL-NAJI A, CHAHL J. Remote monitoring of vital signs in diverse non-clinical and clinical scenarios using computer vision systems: A review[J]. Applied Sciences, 2019, 9(20): 4474. doi: 10.3390/app9204474 [17] 向宪昕, 孙华悦, 柴会宁, 等. 基于智能手机的可视化生物传感器在即时检测中的研究进展[J]. 分析化学,2024(2):145-156.XIANXIN XIANG, HUAYUE SUN, HUINING CHAI, et al. Advances in smartphone-based visual biosensors for immediate detection[J]. Analytical Chemistry, 2024(2): 145-156. (in Chinese). [18] NIU X S, HU H, SHAN SH G, et al. VIPL-HR: A multi-modal database for pulse estimation from less-constrained face video[C]. Proceedings of the 14th Asian Conference on Computer Vision, Springer, 2018: 562-576. [19] NIU X S, SHAN SH G, HAN H, et al. RhythmNet: End-to-end heart rate estimation from face via spatial-temporal representation[J]. IEEE Transactions on Image Processing, 2020, 29: 2409-2423. doi: 10.1109/TIP.2019.2947204 -