丁晓东,陈 聪,洪 静,郝一鸣,王忆勤
(上海中医药大学基础医学院 上海 201203)
脉诊在中医四诊中占有重要的地位。随着中医诊断客观化的发展,越来越多的学者基于桡动脉脉搏波开展了相关的研究,其中脉搏波的时域特征以其表达直观、获取便捷的优势得到了广泛应用。这些特征指标多由脉诊仪配套的自动算法提取而得。然而,临床实际采集到的脉搏波数据变化多样,更有难以避免的人为干扰,只有尽可能准确地提取这些特征才能为进一步的研究提供坚实的基础。
中医关于脉诊的理论与实践经验非常丰富。早在700 多年前,就不断地有医家尝试使用“脉影图”对脉搏的“体位”和“性状”进行描述。[1]1860 年,世界上出现了第一台杠杆式脉搏描记器。[2]二十世纪五十年代起,中医开始借助脉搏描记器对脉象进行研究,脉搏波正式进入了中医的研究领域。[1]此时的脉诊客观化研究主要局限于从脉图的时间、振幅、角度、形态等方面分析上升支、下降支、重搏波的高度及斜率等直观形态分析法,指标的提取则是通过将脉搏波形描记在纸上后进行测量,而计算机技术的应用局限在频域分析中。[3]由于脉搏波所反映的信息是多方面的、综合的,单靠直观形态分析法会将许多重要的信息掩盖住,因而促进了分析方法更加全面和多样。另一方面,直到今天,直观形态法由于其直观和便捷的优势,依然是脉诊客观化研究中最常见的方法,并且出现了许多与其他指标综合应用的新的尝试。[4]二十世纪九十年代起,随着计算机技术的普及和发展,研究人员开始使用计算机对脉搏波进行综合分析[5],使用计算机对脉搏波的时域特征进行提取也逐渐普及开来。
脉搏波是由心脏射血活动引起的一种血液和血管壁的振荡,其首先在主动脉近心端产生,经过动脉树传播至桡动脉,在传播过程中经过不同程度的反射和衰减,形成中医脉诊所关注的脉象。因此,脉搏波的特征与左心室的射血活动紧密相关。
典型的脉搏波为三峰波,其最主要的时域特征包括四个特征点的幅值和时值,即主波、重搏前波、降中峡和重搏波。其生理意义如图1所示。
图1 脉搏波的时域特征及其生理意义
1.2.1 主波
对应左心室快速射血期与减慢射血期的分界点,是整个脉搏波的最高点。在快速射血期内,主动脉管腔内血液容量迅速增加,血压迅速升高,管壁急剧扩张。随着左心室内血液容量的减少,其血压逐渐下降,直到左心室压低于主动脉压,血液流动的主要驱动力从左心室与主动脉之间的压力差转变为正从左心室流向主动脉的血液的惯性时,快速射血期结束,减慢射血期开始。
1.2.2 重搏前波
在减慢射血期内,主波开始沿动脉树向外传播。在传播过程中,其受到外周各种因素作用产生反射波,反射波叠加在基础脉搏波上形成重搏前波,一般认为血管顺应性越差重搏前波越明显,且出现越早;血管顺应性较好时则反之,甚至可不出现。
1.2.3 降中峡
对应主动脉瓣关闭的时刻,是心室收缩期和舒张期的分界点。随着左心室收缩期结束,左心室开始舒张,心室内血压迅速下降,血液开始从主动脉逆流回左心室,推动主动脉瓣关闭。主动脉瓣关闭的瞬间,回流向左心室的血液受到主动脉瓣阻挡,反折后重新流向主动脉方向,使主动脉压重新升高。因此,主动脉瓣关闭的时刻会在脉搏波上留下一个局部的极小值,即降中峡。
1.2.4 重搏波
对应主动脉瓣关闭阻挡血液流动,造成主动脉压短暂升高所形成的脉搏波。血管顺应性差或主动脉瓣关闭不全时重搏波不明显甚至不出现。此外,常用的时域指标还包括脉搏波上1/3 处的宽度W,脉动周期t等,其生理意义较为明确,不再赘述。
脉搏波信号是一种非平稳近似周期信号,其中混杂有由呼吸引起的基线漂移,交流电工频干扰,以及采样设备和采样环境带来的一些随机干扰,因此,首先需要对数据进行数据平滑、基线纠漂等处理,之后才能进行进一步的周期划分以及时域特征的提取。脉搏波时域特征的提取通常可以分为两个步骤:数据预处理与脉图特征提取。
数据预处理是指将临床采集到的脉搏波原始数据转化为最具代表性的单周期脉图的过程,主要包括数据平滑、基线纠漂、周期划分以及归一化等步骤。
2.1.1 数据平滑
一方面,脉搏波信号的采集过程中会受到交流电工频干扰,以及采样设备灵敏度有限等影响,导致数据不平滑,毛刺较多。另一方面,由于脉搏波信号采集过程极易受到外界干扰,可能会导致某些无规律的突变。这些都会对下一步的脉图特征提取过程造成影响,需要提前去除。数据平滑的方法以小波变换最为常见,效果也相对较好。刘兴旺等[8]对小波变换和傅里叶变换,以及小波变换的不同阈值策略在脉搏波信号消噪中的效果进行了研究,发现小波变换优于傅里叶变换,其中采用db4 小波进行5 层分解,同时,采用Rigrsure 阈值规则进行软阈值处理的效果最好。王楠[9]针对脉搏波信号的频段分布特点,利用dmey 小波变换提取其中0-7.8125 Hz 的信号,发现这一方法可以将信号中的噪声基本去除,同时有效信号的损失较为有限,可以满足进一步分析的要求。除小波变换外,也可以见到使用滑动平均方法进行脉搏波数据平滑的尝试[10],该方法较为简单快捷,同时对高频噪声也有着较好的抑制效果。
2.1.2 基线纠漂
脉搏波信号的基线漂移主要由被测者的呼吸所引起。由于被测者的姿势随呼吸发生周期性的微小变动,而采集设备的腕带长度并不会随被测者的姿势变化而变化,从而导致脉象采集压力随被测者的呼吸过程发生周期性的变化。这些变化与脉象本身无关,必须去除。此外,呈直线变化的基线也是较常见的基线漂移形态。这或许是由于采样设备老化导致无法稳定加压,或是采样位置不合理,使得采样过程中设备发生微小滑动所导致。在临床实际测得的数据中也可以见到更加不规则的基线漂移,多由某些偶发的外界干扰引起。在基线纠漂过程中需要对这些情况进行综合处理。
狄九军[10]通过将原始数据分为N 段(其中N 应尽量与数据中的总心动周期数相近),之后取每段数据的最小值作为基线的标准,基于最小二乘法将这些最小值拟合为2 次曲线,以此为基准进行基线纠漂。对于总长较短的数据,这一方法可以得到较好的效果,但对于包含多个呼吸周期的数据,单一的二次曲线不足以拟合其中的变化,需要寻找更合适的拟合方法。奚唐敏[11]考虑到正常成年人的呼吸频率一般不超过每分钟24 次,即呼吸引起的基线漂移的信号频率在0.4 Hz 一下,因此通过小波分解方法将0.4 Hz 以下的信号滤除,达到基线纠漂的目的。Xia C 等[12]将基线纠漂的步骤放在周期划分之后进行。在对原始数据进行周期划分之后,由于基线漂移,所得单周期脉图的起点和终点高度并不一致。此时通过坐标旋转将单周期脉图的起点和终点旋转到同一高度,即可达到基线纠漂的效果。该方法不仅可以处理由于呼吸干扰以及采集设备滑动带来的基线漂移,也可以处理更加复杂和少见的情况,但是旋转过程有可能使得脉搏波的特征点高度发生改变,其具体影响需要进一步的验证和评估。
2.1.3 周期划分
脉动周期的划分大致可分为基于脉搏波幅值的方法、基于脉搏波一次导数的方法以及基于其它变换的方法。
基于幅值的方法的基本思路是将脉搏波局部的极大值与整个波形的最大值相比,若其差距小于一定阈值,则将该极大值认定为h1,并据此向前寻找该周期的起点。同理,也可以通过局部极小值与整个波形的最小值比较寻找起点。这一思路在具体实施时通常会做不同程度的补充和改进。狄九军[10]认为,一个脉搏周期的起点应满足3 个条件,即该点的纵坐标小于某个阈值;该点的前两点的导数应小于0,后三点的导数应大于0;该点的导数的绝对值应小于某个阈值。Xia C 等[12]通过频域提取出脉搏波的基波频率,根据其对应的周期长度将脉搏波信号分段,之后寻找脉搏波信号中成对的极小值和极大值,若极小值与极大值之间的幅值之差大于其对应的信号段极差的1/4,且极小值与极大值之间的时间差大于基波频率对应周期的1/40,则认为该极小值就是一个脉搏波周期的起点,同时,这一对极小值和极大值可以认为对应了脉图中的主波上升支。Xu L等[13]首先找出脉搏波信号中所有的极大值点作为候选,之后使用不同的阈值对这些极大值点进行筛选,根据不同阈值所对应的极大值点的个数可以判断出该信号所包含的心动周期个数,并据此对脉搏波信号进行周期划分,同时为避免数据基线漂移的影响,可先将数据划分成小段,并在每一段上分别进行周期划分。
基于脉搏波一次导数的方法的基本思路是通过差分法或小波变换等方法求得脉搏波的一次导数,再通过设定阈值寻找主波的上升支。由于脉搏波的一次导数可表示血压的变化速度,而主波上升支对应心动周期中的快速射血期,是血压上升最快的区间,其变化速度较其他区间快得多,可以据此对脉搏波主波上升支进行定位。徐涛[14]通过计算脉搏波信号的3 点差分值,并结合前5 个周期的脉搏波数据确定相关阈值进行周期划分,当差分值大于前5 个脉搏波的最大差分平均值的60%时,则认为此处为脉搏波主波的上升支,之后向前向后分别寻找波形的拐点,便可以得到完整的主波上升支。之后再将其幅值和时长与前5个主波上升支的平均幅值和时长进行对比,若幅值大小在0.8-1.3 倍范围内,时长在0.6-1.4 倍范围内,则认为该主波上升支定位正确,并可以据此对信号进行周期划分。张亚冲等[15-16]使用高斯函数的一阶与二阶导数作为小波基,对脉搏波信号进行小波变换,得到其一阶与二阶导数,并根据导数的零点与幅值定位脉搏波的各个特征点。由于一次导数中的主波上升支比原始脉搏波中的主波波峰更加明显,同时受基线漂移等低频噪声的影响,因此可以更好地识别脉搏波周期的起点。
基于其他变换的方法即对脉搏波数据做某种变换,使得脉搏波的主波特征更加突出,在此基础上寻找脉搏波周期的起点。郭宙等[17]利用Hilbert-Huang变换对脉搏波信号进行分析,所得脉搏波信号时-频分布情况可以用于定位脉搏波的特征点,进行周期划分。胡晓娟[18]将Hilbert-Huang 变换与香农能量包络线结合使用,先利用香农能量包络线使得脉搏波主波的位置更加突出,再利用Hilbert-Huang 变换对主波进行提取,并进行周期划分。
2.1.4 归一化
由于脉搏波信号受外界干扰较大,以及不同厂家不同型号的采集设备标准不一,因此在不同被测者,甚至同一被测者同一次采集到的数据中,不同周期的脉搏波幅值差异巨大。而在利用脉图时域特征指标进行研究时,同一被测者数据仅仅被提取为一个周期的典型脉图,为了使不同周期间的数据具有可比性,有必要对数据进行归一化。归一化的方法通常采用以最小值为0,最大值为1进行线性变换的方法,即
其中x(i)为归一化前的数据,y(i)为归一化后所得的数据。
数据预处理完成之后即可对脉搏波的时域特征进行提取。时域特征提取的常用方法是通过脉搏波的一阶、二阶导数或者小波变换对脉搏波的极值和拐点进行定位,之后根据极值点和拐点的数量以及分布位置,将其与脉搏波的4 个特征点依次对应。成恳等[10,19-21]利用脉搏波一阶导数的过零点作为脉图的候选特征点,并结合区间和幅值的经验性阈值对候选特征点进行筛选和判断,确定脉图的特征点。蔡潇等[22]在提取脉图特征之前先利用三次样条曲线对单周期脉搏波进行拟合,在拟合后的曲线基础上进行一阶和二阶导数的求取,对特征点进行定位。Zhang G 等[23]利用sym4小波作为小波基对脉搏波信号进行小波变换,发现其第4 层和第5 层的细节系数d4 和d5 的频率范围与脉搏波重搏前波的能量分布相对应,可以据此对重搏前波进行识别,通过在少量数据集上进行验证,该方法对重搏前波的识别准确率可达94%。金陈玲[24]将脉搏波形态按波峰数分为3 种,对于波峰数不足3个的波形,通过脉搏波形态对缺失的特征点进行添补,该方法可以满足所有指标统一比较的要求,但所添补的特征点是否具有相同的生理意义仍待进一步验证。
此外,钱伟立等[25]和常昌远等[26]分别提出用三个和四个高斯函数对脉搏波进行拟合,通过高斯函数的参数计算时域参数。在此基础上,陈雪峰[27]利用混合遗传实现了三个高斯函数对脉搏波的拟合,孙薇等[28]应用包含三个高斯函数的脉搏波模型生成脉搏波仿真数据并用于算法验证。这些模型拟合出的波形确与真实的脉搏波相似,但其生理意义尚不明确,其相关参数是否能够真实地表达脉图中的相关信息也尚未研究透彻,而且模型中未知的参数较多,拟合算法较为复杂,因此应用较少。
针对采集质量较好且较典型的脉搏波形态,常用的时域特征提取方法均可获得较满意的结果。然而,在临床应用研究中,超出消噪算法处理能力的随机干扰以及无法归类于常见的两峰波或三峰波的非典型形态是不可避免的。这样的数据时常为特征提取带来困难。
随机干扰带来的问题首先体现在使得基于脉搏波幅值的周期划分更加困难。由于主波高度与重搏前波和重搏波的高度之间的差异可能不够显著,因此,基于脉搏波幅值的周期划分方法只能将阈值设置得较为保守,以免将重搏前波和重搏波误判为主波。在这样的情况下,一旦出现较大的脉冲波,就会使阈值偏离正常范围导致周期划分错误,因此也就对基线纠漂和消噪提出了很高的要求。而在脉搏波的一次导数中,由于其可以反映主动脉血压的变化,同时快速射血期的血压变化较其它时期剧烈得多,因此在脉搏波的一次导数中,即使不做任何数据预处理,主波的位置也十分突出(见图2),基于脉搏波一次导数的周期划分方法就可以使用更加激进的阈值设置,从而提高对随机干扰的抵抗能力。胡晓娟[18]对5 种不同的周期划分方法进行了测试,在其中未结合专家经验的4 种方法中,基于脉搏波一次导数的周期划分方法总准确率最高,达到了99.32%。
图2 受干扰严重的脉搏波及其一次导数
图3 非典型脉搏波及其一次导数
在准确地划分脉动周期之后,需要将受干扰明显的异常周期剔除,以免影响进一步的分析。由于大多数随机干扰都会使得受干扰地周期长度出现变化,因此,对周期长度进行统计或通过频域提取脉搏波基频,将长度明显偏离正常值的周期剔除即可排除大多数异常周期。对其余没有发生明显长度变化的异常周期,可以通过多个周期数据的平均降低其影响[12]。但是对于心律不齐患者的数据,这种方法便无法发挥作用,甚至会引入错误。Wang 等[29]尝试了利用k 最邻近分类算法对异常周期进行识别,并以此为基础对健康人和糖尿病患者的脉象进行分类,准确率为71.6%。陈臣臣[30]提出了一种基于Hilbert-Huang 变换和ARMA模型的脉象信号异常检测方法,对异常脉象的识别准确率为81.5%。如何更准确地剔除异常周期仍是需要进一步研究的方向。
一般认为典型的脉搏波形态表现为三峰波,滑脉等脉象亦可出现双峰波。然而,临床实际采集到的脉搏波形态变化多样,远不能用这样简单的分类概括。如图3(a),看似特征点较为明确,但正常情况下收缩期应短于舒张期,因此降中峡应为图中a 点,而不是b点或c 点。若按照普通三峰波的特征提取方法将b 点认定为降中峡,则会发生错误。又如图3(b),主波之后降中峡之前出现了多个波峰,无论从左向右或是从右向左,依次认定特征点都会带来错误。胡晓娟[18]尝试结合专家经验,将脉搏波形态分为8类,采取不同的提取方法,达到了89.03%的准确率,但仍不足以应对非典型形态。
回顾脉搏波与心脏射血活动的关系,可以发现在减慢射血期内,主动脉血压下降的过程是一个逐渐加速的过程,直至主动脉瓣关闭之前的瞬间,左心室开始舒张,血液由主动脉流向左心室,主动脉血压下降的速度也就达到了最大值,直到主动脉瓣关闭,主动脉近心端的容量和压力不再变化,主动脉血压的变化也就更加缓和。虽然脉搏波信号与主动脉血压并不完全一致,但仍能体现出主动脉血压的变化规律。从临床研究中[31]也可以看到,在弦、滑、细三种脉象中,除滑脉外,降支最大斜率均出现在重搏前波与降中峡之间,同时作者也指出,滑脉的重搏前波多不明显,甚至看不出来。因此,本课题组提出如下假说:在一个脉搏周期内,脉搏波下降最快的位置之后出现的第一个特征点即为降中峡。
为验证这一假说,本研究选取了2018 年11 月至2019年4月在上海中西医结合医院心内科住院患者中采集到的脉搏波样本289 例,采样设备的采样频率为200 Hz。对每例样本经预处理后所得的所有单周期波形进行叠加平均后[12]进行分析。排除因形态异常无法人工识别降中峡的样本4 例后,对剩余285 例样本的特征点进行人工标注,之后计算其一阶差分,取一阶差分的最小值之后出现的第一个极小值或拐点的位置,与人工标注的降中峡位置进行对比,发现两位置相符的样本为271 例,正确率为95.09%,图3 所示,非典型波形均可以此方法正确识别。可见利用脉搏波下降速度识别降中峡有一定的应用价值。
脉图的时域特征是目前应用最为广泛的脉图指标,现有指标提取算法在数据采集质量较好,干扰不大的情况下也有着足够的精度。但是,如果面向临床进行大规模应用,或者应用在面向普通消费者的移动终端上,随着数据量的扩大,处理质量较差的数据时效果不佳的缺陷将变得越来越明显。
脉搏波时域特征的自动提取是脉象客观化研究的基础,只有在复杂的场景中始终保持足够高的正确率,才能获得更广泛的应用。现有的提取方法多关注于脉搏波的直观形态,套用工程领域成熟的算法,而忽略了脉搏波的生理意义。例如,前文中所阐述的利用一次导数进行周期划分的方法,以及针对心动周期的物理过程设计的重搏前波提取标准均可获得更好的效果,而这些方法恰恰能更好地体现脉搏波的生理意义。又如现有的脉图时域指标提取算法中,并没有针对心律不齐患者的方法。从原则上说,使用单一的时域指标对心律不齐患者的脉象进行描述是不合适的。在心律不齐患者的脉搏波信号中,至少脉动周期t 将发生明显的改变,其他指标是否会相应改变也未见相关研究。而且这种改变并不是由外界干扰所产生,而是患者脉象的真实表现,此时使用单一的时域指标显然不可能精确地描述患者的脉象特征,而现有算法并没有对这一情况进行处理或甄别。可见,现有的脉图时域指标提取算法依然处于将在其他工程领域应用广泛的成熟算法直接进行应用和验证的阶段,缺乏针对脉搏波本身的生理特征的设计和改进。而当本课题组选出了效果最好的方法,或者寻求更精确的算法的时候,才发现更好的算法总是更能体现指标的生理意义的算法。因此,本研究可以将工程应用成熟的指标引入医学领域后再来寻找指标的生理意义,但也不要忘记尝试直接从本课题组所关心的生理变化出发寻找合适的实现方法。只有特征指标与生理意义,工程实践与医学知识紧密地结合起来的时候,本研究才能从工程实践的结果反推人体内部的生理变化,从而使本研究更接近问题的本质。