Return to site

云服务+Deep Learning识别动脉脉搏波的实践和成果

作为一支专注于检测动脉血管振动信号的技术团队,我们每天都需要从传感器采集到的动脉脉搏波中分析出人体关键信息。

在教科书和学术研究中,脉搏波的形态分析(Pulse Wave Analysis)已经有成熟的理论支持。例如下图是一部学术专著[1]中的典型脉搏波图形,其中标出了潮波点、左心室射血时间、舒张期时间、反射增强血压、平均动脉压等心血管健康关键信息。

Figure 1 标准脉搏波波形[1]

但是,在现实应用中,受到传感器工作条件(包括佩戴方式、被测者身体运动等因素)的制约,不可能每次都得到如上图这样形态清晰的信号。下图是BioRF动脉雷达传感器在用户实际佩戴中采集到的若干种典型波形。由于叠加了干扰信号,从中提取生理特征点并不容易。此问题不光在BioRF传感器存在,常见的PPG传感器采集到的信号也存在Artifact干扰问题。

Figure 2 BioRF实际应用中采集到的不同形态的脉搏波

如何解决从噪声信号中分析波形和提取特征点的问题?

在脉搏波分析领域,不同的传感器研发者采用了大量不同的信号处理和识别算法。其中既包括时域形态识别算法,也包括频域分析方法,例如傅里叶分析和小波分析,此外,信号的主成分分析(PCA),独立成分分析(ICA),自适应滤波等技术也是常用的噪声抵消和特征点定位方法。但是,这里介绍的每一种方法也有其使用限制,只有干扰信号符合方法假定的数学规律时,才能得到准确的结果。而在实际应用中,实际采集到的信号并不是每次都符合预先假定的数学规律。

进一步,算法的实现形式也值得关注。在目前业界的产品实践中,算法一般通过嵌入式程序实现和运行。用户每次测量中采集到的原始波形进入嵌入式设备中,算法程序执行信号处理并找到所有特征点。找到特征点后,原始波形通常不再保存。这种工程系统设计虽然有其优点,但是在实际使用中无法记录每一次测量的传感器原始波形,那么当信号处理算法无法正确处理采集到的信号形态时,测量设备只能得到不准确的结果。更危险的是,测量结果的“不准确”本身也无法被及时发现的,因为原始波形信号没有被保存,无从追查。

针对上述现状,我们采用了算法云+Deep Learning的识别信号的方式。

首先,针对特征点的识别,我们引入了Deep Learning。基于我们已经采集到的百万条脉搏波数据,使用卷积神经网络(CNN)、循环神经网络(RNN)等网络结构,结合有监督学习、半监督学习、主动学习等技术,我们训练得到了可以分辨噪声环境下脉搏波特征的神经网络模型。对比测试表明,深度神经网络的识别精度显著高于单一的数字信号处理方法。在遇到训练中没有见过的脉搏波形态时,深度神经网络不但能够输出基于概率的特征点位置,还能够识别出这是一条与此前形态不同的信号,进而触发增量学习过程,使得模型能够随着输入数据的多样性增加而改进。

其次,在工程体系设计上,我们使用云方案保存所有采集到的原始数据。这样不但易于和Deep Learning对接使用,而且克服了嵌入式信号处理方案中信号无法回溯的问题。每一次测量的波形原始信号都被无失真保存在数据库中。同时,波形数据均执行脱敏处理,确保信息安全。在我们的实践中,已经实现通过自动化分析程序从海量脉搏波波形中分析特征点提取结果,基于多维度判断特征点提取结果是否准确,进而发现潜在的问题和波形中潜在的规律。

图3是我们训练出的Deep Learning模型对于脉搏波的分类结果,每种颜色代表一种分类。图2中看似杂乱无章的脉搏波信号在深度神经网络中被明确的分离出若干种不同类别。

Figure 3 Deep Learning对脉搏波的分类结果

从这些不同的类别中抽取出原始信号,其中一部分靠人工观察可以找到差异,但更多的信号已经无法在人工观察层面找到差异。这体现了Deep Learning的强大之处:在数据驱动下,深度神经网络已经找到了大量人类无法发现的规律,并且利用这些规律实现了脉搏波形态的高精度识别。我们相信,随着越来越多的不同种类生物传感器采集到更多的医疗级精度数据,Deep Learning将对人体关键体征(vital signs)和健康状况有更及时准确的识别,成为数字健康领域的关键技术。

参考文献

[1] Paolo Salvi. Pulse Waves, How Vascular Hemodynamics Affects Blood Pressure. ISBN: 978-88-470-2438-0 (Print) 978-88-470-2439-7 (Online)

All Posts
×

Almost done…

We just sent you an email. Please click the link in the email to confirm your subscription!

OKSubscriptions powered by Strikingly