心电图(ECG)是一种非侵入性、廉价且成熟的诊断工具,是初步诊断心律失常的重要依据。大多数心律失常是无害的,但有些可能危及人的生命[1]。因此,心律失常的准确检测在预防心血管疾病中发挥着至关重要的作用。
特征提取是心搏分类的关键环节。目前已有学者对心搏分类进行了研究,使用包括形态特征[2-3]、小波特征[4]、高阶统计特征[5]、Hermite函数[6]、QRS振幅矢量[7]、QRS复合波面积[8]和间期特征[3]在内的各种特征进行心搏分类。常用的用于心搏分类的算法有:线性分类器[9]、决策树[8]、支持向量机[2,10]、随机森林[11]和KNN[12]等。Ayar等[8]基于遗传算法提取特征,并使用C4.5算法进行分类。Zhu等[2]将支持向量机应用于形态特征提取并给出自动诊断结果。Qin等[4]将SVM应用于低维ECG特征以实现对心搏的分类。Barhatte等[7]提出了一种基于小波能量直方图和支持向量机的心电信号分析与分类方法。Mondéjar-guerra等[10]基于集成支持向量机进行心律失常分类。尽管以上方法可以很好地区分不同类型的心搏,但受不平衡数据的影响较大,且不适用于大样本。Lu 等[11]提取单个心搏的2D-CNN特征和传统特征,并应用随机森林分类器进行分类。Saini 等[12]提出了一种通过六级小波变换提取ECG信号特征并使用KNN分类器进行分类的方法,准确度高,对异常值不敏感。Bouaziz 等[13]使用离散的小波变换对心电图进行分割、提取特征,并采用KNN算法进行心搏分类,分类效果好、准确度高。Yuwono等[14]在小样本的数据集下采用改进的K-近邻分类器,根据RR间期、QRS间期等特征进行心电图数值评估的预定义,改进的K-近邻分类器再利用该预定义的数值进行分类。Zaorálek等[3]基于ECG形态特征和RR间期提出了一种梯度推进模型的分类方法。以上研究能较好地识别不同类型的心搏,但部分方法的分类性能有待提高。
本文选取具有重要临床意义的波形形态、间期和幅值作为心搏分类的特征参数,分析了不同特征组合对分类结果的影响,提出了一种新的心搏分类方法。
心搏的识别和分类包括:信号预处理、心搏分割、特征提取、心搏分类。本文的主要工作为特征提取及心搏分类两个部分。
ECG信号可以从体表无损伤地检测到,但具有不稳定性、非线性和微弱性等特点,振幅一般只有0.05~5 mV,频率集中在0.05~100 Hz,且信号采集极易受到外界干扰,不利于后期的特征提取,因此需要对信号进行去噪处理。主要噪声有基线漂移、工频干扰和肌电干扰。
基线漂移由呼吸引起,频率小于5 Hz,类似于正弦曲线,本文采用多项式曲线拟合法去除基线漂移。工频干扰由供电网络产生,频率为50或60 Hz,本文采用陷波滤波器去除工频干扰,效果好、速度快。肌电干扰由人体肌肉收缩产生,本文采用切比雪夫数字低通滤波器去除肌电干扰。去噪预处理前后的心电波形图如图1所示。
图1 去噪预处理前后心电波形图
Figure 1 ECG waveforms before and after denoising
一个正常心搏的波形如图2所示,通常把ECG信号分成3个主要部分:代表心房肌去极化的P波、心室肌去极化期间出现的QRS复合波、代表心室肌复极化的T波。由于U波仅出现在某些导联中,故未在图2中绘制。本文选取单个心搏形态特征,以P波、QRS间期、T波、PR间期、QT间期、ST段、RR间期和R波幅值作为心搏分类的特征参数,采样率(SR)取360 Hz。
图2 正常心搏波形
Figure 2 Normal heart beat waveform
(1)235单心搏:根据文献[15]中确定的R峰位置,从心电图记录中提取R峰前后的235个点作为单心搏形态特征。
(2)P波:反映左右心房除极过程中电位的变化,窦房结所触发的心房除极产生P波。
P波时长的计算式为
(1)
(3)QRS波群:P波后出现的一组变化复杂且波幅较大的综合波群,代表心室除极的电位变化。
QRS间期时长的计算式为
(2)
(4)T波:QRS波群后的一个波幅较大、持续时间较长的波。
T波时长的计算式为
(3)
(5)RR间期:RR间期是指相邻2个R波波峰之间的时长,为0.6~1.0 s。
(6)PR间期:从P波起始点至QRS波群起始的时间。代表心房开始除极到心室开始除极的时间。
PR间期时长的计算式为
(4)
(7)ST段:从QRS波群结束点到T波起点之间的线段,正常的ST段光滑且与波前枝融合,与基线平齐,间距一般不超过0.05 mV。
ST段时长的计算式为
(5)
(8)QT间期:QRS波群起点和T波终点之间的时长,表示心室去极化和复极化的总时间。
QT间期时长的计算式为
(6)
(9)R波幅值:R波波形高且尖,其幅值是所有波里面振幅最大的一个。
本文将特征划分为7个集合:集合A={235单心搏形态特征};集合B={P波,QRS波,T波};集合C={PR间期};集合D={QT间期};集合E={ST段};集合F={RR间期};集合G={R波幅值}。
特征融合(feature fusion,FF)是将提取的不同特征通过某种方法生成新的特征,使新特征对分类更加有效[16]。特征融合方法可以综合利用多种不同的特征,实现多特征的优势互补,从而获得更加有效的新特征。
由于心电图心搏结构复杂多样,单一的特征很难完全反映心搏的类型,因此在对心搏进行分类时,使用多特征融合往往可以取得更佳的分类效果。心电分析中通常提取的特征包括P波、QRS波群、T波、PR间期、QT间期、ST段、RR间期、R波幅值等。另外,本文选取235个采样点作为单个心搏的形态特征。对这些特征进行不同方式的组合,并将组合后的特征送入分类器中便可以使分类更加准确。本文选取了具有心电图医学意义的波形形态、间期和幅值作为特征融合的参数,这样使得融合后的特征对心搏分类更有效。
本文提出了基于KNN在心电图分类诊断中的应用,构造了基于KNN的心电图分类器。KNN作为一种高度灵活、通用性强的分类算法,具有广阔的应用前景。其精度高,对异常值不敏感,无须数据输入假定,对各种各样的样本分布都能进行分类,并且对小样本数据也有很好的分类能力。由于KNN算法主要靠周围的临近样本的类别进行分类,并不靠判别类域的方法来确定其所属类别,因此对于心搏分类这样的问题,KNN算法较其他方法更为合适。其计算式为
(7)
式中:I为指示函数,
KNN算法的输入为训练数据集T={(x1,y1),(x2,y2),…,(xm,ym)},其中,xi为x的特征向量,yi∈Y={c1,c2,…,cK}为实例的类别;然后根据给定的距离度量方式在训练集T中找出与测试样例x最近邻的k个点,得到这k个点的真实类别;最后根据式(7)中的多数投票原则确定实例x的所属类别y。
KNN算法是一种典型的惰性学习方法,其分类效果关键因素之一就是距离的度量,通常采用的距离度量方式有欧式距离和曼哈顿距离。欧式距离是解析几何里最常用的一种计算方法,在欧几里德空间中进行距离度量非常有用,但是欧式距离在计算时对于样本不同特征之间的差别等同看待,因此对于心搏中提取到的幅值、间期等特征并不能很好地将它们之间的差别区分开来。而曼哈顿距离则反映的是不同特征在对应的轴上产生投影的距离总和,可以很好地满足在计算距离时区别对待心搏不同特征的需求,因此本文使用曼哈顿距离计算测试集和训练样本之间的距离,定义为
D(x,y)=|xi-xj|+|yi-yj|。
(8)
实验数据统计如表1所示。实验在i7-7 700 K处理器和32 GB RAM的PC工作站下进行。算法在Python3.7和MATLAB@R2014b软件平台上运行。MIT-BIH心律失常数据库是研究人员用于评估心律失常检测器和分类器的常用标准测试集。该数据库包含48个双导联记录,每条记录包括0.5 h的双导联动态心电图,采样率为360 Hz。根据ANSI/AAMI EC57∶1998标准,MIT-BIH心律失常数据库的心搏被分为5个类别,即N(正常或束支传导阻滞)、S(室上性异位搏动)、V(心室异位搏动)、F(融合搏动)和Q(未指定搏动)[15]。本文实验基于MIT-BIH心律失常数据库中100 640个心搏进行分类,包括90 355个N类别的心搏、3 120个S类别的心搏和7 165个V类别的心搏。本文实验数据从数据集中随机选取心搏数据的90%作为训练集,剩余的10%作为测试集。
表1 实验数据统计
Table 1 Statistics of experimental data
类别训练集个数测试集个数N813209035S2808312V6449716
为评估心搏分类模型的性能,本文将测试结果分为4种:真阴性(TN),预测为阴性,实际上也是阴性的数量;假阴性(FN),把阳性归类为阴性的数量;真阳性(TP),预测为阳性,实际上也是阳性的数量;假阳性(FP),把阴性归类为阳性的数量。
本文使用准确率、灵敏度、特异性和阳性预测值评估心搏分类的性能。准确率(Acc)是分类器正确分类的数量占总样本数的比率,反映了测试结果与实际结果之间的一致性。灵敏度(Se)是指被判断为阳性的样本占实际为阳性的样本的比例。灵敏度越高,正确预测的比例越大。特异性(Sp)是指被判断为阴性的样本占实际为阴性的样本的比例。阳性预测值(Ppv)在文献中也称为精确度。上述4个评价指标的计算式分别为
Se=TP/(TP+FN);
(9)
Sp=TN/(TN+FP);
(10)
Ppv=TP/(TP+FP);
(11)
(12)
为更好地比较不同特征组合对心搏分类的影响,本文基于集合A~G与KNN模型进行了5组实验,实验结果见表2。
表2 基于不同集合与KNN模型的分类结果
Table 2 Classification results based on different sets and KNN models
实验组类别评估标准/%SeSpPpvAcc第1组N99.793.999.399.1S86.999.995.899.5V96.899.897.999.6第2组N98.971.196.896.1S54.299.784.598.3V76.799.287.697.6第3组N99.219.091.591.0S1.999.820.796.7V26.099.477.294.2第4组N99.793.899.399.1S86.299.995.199.4V96.799.998.099.6第5组N99.794.399.399.2S87.899.995.199.5V96.699.998.299.6
第1组实验基于集合A与KNN模型进行心搏分类。实验结果表明,基于235单心搏形态特征与KNN模型的平均分类准确率为99.1%,但仅使用单心搏形态特征不够全面,S类的灵敏度也不高。
第2组实验基于集合B、C、D、E、F与KNN模型进行了实验。实验结果表明,基于P-QRS-T波、PR间期、QT间期、ST段、RR间期与KNN模型的平均分类准确度为96.0%。该实验的不足是间期特征具有局部性,不能全面描述心搏信息。
第3组实验基于集合G与KNN模型进行了实验。实验结果表明,基于R波幅值与KNN模型的平均分类准确率为91.0%,但不足之处在于单一幅值特征不能全面描述心搏特点。
第4组实验基于集合A、B、C、D、E、F与KNN模型进行心搏分类。实验结果表明,基于235单心搏形态特征、P-QRS-T波、PR间期、QT间期、ST段、RR间期与KNN模型的平均分类准确率为99.1%,但单心搏形态和间期对室性早搏等疾病的判断具有一定的局限性。
第5组实验基于集合A、B、C、D、E、F、G与KNN模型进行心搏分类。实验结果表明,基于235单心搏形态特征、P-QRS-T波、PR间期、QT间期、ST段、RR间期和R幅值的KNN模型的平均分类准确率为99.2%。其中,S类心搏的灵敏度为87.8%,阳性预测值为95.1%;V类心搏的灵敏度为96.6%,阳性预测值为98.2%。
表3对比了本文方法与其他文献方法的分类性能,其他文献实验数据也都来自于MIT-BIH心律失常数据库。从心搏类型来看,本文提出的方法使得3种类型的心搏都获得了最高的阳性预测值。与文献[2-3,10]相比,基于本文提出的方法,3种类型心搏的各项指标都达到了最高,平均分类准确率为99.2%。文献[13-14]使用的分类算法同为KNN算法,结果表明,本文方法除S类的灵敏度与精确度略低于文献[13]的,其他的各项指标均具有明显的优势。
表3 和其他文献的对比
Table 3 Comparison with other literatures
来源特征算法性能文献[2]形态特征SVMAcc=97.8%;SeN=99.3%;PpvN=98.5%;SeS=87.5%;PpvS=95.3%;SeV=94.7%;PpvV=95.2%文献[3]RR间期特征;形态特征GBMAcc=95.3%;SeN=99.3%;PpvN=95.9%;SeS=6.2%;PpvS=33.5%;SeV=91.6%;PpvV=93.2%文献[10]RR间期特征;高阶统计量;形态特征;频率特征EnsembleSVMAcc=94.5%;SeN=95.9%;PpvN=98.2%;SeS=78.1%;PpvS=49.7%;SeV=94.7%;PpvV=93.9%文献[13]形态特征;间期特征KNNAcc=98.71%;SeN=99.4%;SpN=95.8%;PpvN=99.1%;SeS=95.2%;SpS=99.7%;PpvS=96.6%;SeV=95.1%;SpV=99.6%;PpvV=99.1%文献[14]形态特征;间期特征MKNNAcc=71.2%本文方法形态特征;间期特征;幅值特征KNNAcc=99.2%;SeN=99.7%;SpN=94.3%;PpvN=99.3%;SeS=87.8%;SpS=99.9%;PpvS=95.1%;SeV=96.6%;SpV=99.9%;PpvV=98.2%
本文提出的分类方法融合了心搏形态特征和多个具有医学意义的幅值间期特征,能更好地辨识出不同类型的心搏。而且KNN算法更加适用于心搏分类,因此本文算法能在心搏分类问题上有更好的分类效果。
本文提出了一种基于多特征融合与KNN模型的心搏智能分类方法,该方法根据心电图医学意义提取相关心搏特征,对比分析了心搏特征的不同组合对心搏分类的影响,选取最佳特征组合,并在MIT-BIH心律失常数据库上进行了测试,取得了较好的效果。结果表明,本文提取的特征在心搏分类中具有较高的准确率,能区分N、S和V这3种类型的心搏并针对识别结果可进行解释性分析,但该方法在S类心搏的灵敏度方面还有待提高。在将来的工作中,将会针对性收集更多的S类心搏数据进行预训练,以期获得更精准的心电图智能判读结果。为了确保算法的实用性及实时性能,未来的研究将侧重于云计算和并行编程技术,使该算法有效地应用于心电智能监测云平台。
[1] 逯鹏,李奇航,尚莉伽,等.基于优化极限学习机的CVD预测模型研究[J].郑州大学学报(工学版),2019,40(2):1-5.
[2] ZHU W L,CHEN X H,WANG Y,et al.Arrhythmia recognition and classification using ECG morphology and segment feature analysis[J].IEEE/ACM transactions on computational biology and bioinformatics,2019,16(1):131-138.
[3] ZAORLEK L,PLATO J,SNEL V.Patient-adapted and inter-patient ECG classification using neural network and gradient boosting[J].Neural network world,2018,28(3):241-254.
[4] QIN Q,LI J,ZHANG L,et al.Combining low-dimensional wavelet features and support vector machine for arrhythmia beat classification[J].Scientific reports,2017(7):6067-6079.
[5] KUTLU Y,KUNTALP D.Feature extraction for ECG heartbeats using higher order statistics of WPD coefficients[J].Computer methods and programs in biomedicine,2012,105(3):257-267.
[6] EBRAHIMZADEH A,AHMADI M,SAFARNEJAD M,et al.Classification of ECG signals using Hermite functions and MLP neural networks[J].Journal of artificial intelligence and data mining,2016,4(1):55-65.
[7] BARHATTE A S,GHONGADE R,THAKARE A S.QRS complex detection and arrhythmia classification using SVM[C]//2015 Communication,Control and Intelligent Systems (CCIS).Piscataway:IEEE,2015:239-243.
[8] AYAR M,SABAMONIRI S.An ECG-based feature selection and heartbeat classification model using a hybrid heuristic algorithm[J].Informatics in medicine unlocked,2018,13:167-175.
[9] MAR T,ZAUNSEDER S,MARTNEZ J P,et al.Optimization of ECG classification by means of feature selection[J].IEEE transactions on biomedical engineering,2011,58(8):2168-2177.
[10] MONDÉJAR-GUERRA V,NOVO J,ROUCO J,et al.Heartbeat classification fusing temporal and morphological information of ECGs via ensemble of classifiers[J].Biomedical signal processing and control,2019,47:41-48.
[11] LU W,HOU H H,CHU J H.Feature fusion for imbalanced ECG data analysis[J].Biomedical signal processing and control,2018,41:152-160.
[12] SAINI R,BINDAL N,BANSAL P.Classification of heart diseases from ECG signals using wavelet transform and kNN classifier[C]//International Conference on Computing,Communication &Automation.Piscataway:IEEE,2015:1208-1215.
[13] BOUAZIZ F,BOUTANA D,OULHADJ H.Diagnostic of ECG arrhythmia using wavelet analysis and K-nearest neighbor algorithm[C]//2018 International Conference on Applied Smart Systems (ICASS).Piscataway:IEEE,2018:1-6.
[14] YUWONO T,FRANZ A,MUHIMMAH I.Design of smart electrocardiography (ECG)using modified K-nearest neighbor (MKNN)[C]//2018 1st International Conference on Computer Applications &Information Security (ICCAIS).Piscataway:IEEE,2018:1-5.
[15] LI R C,ZHANG X J,DAI H H,et al.Interpretability analysis of heartbeat classification based on heartbeat activity′s global sequence features and BiLSTM-attention neural network[J].IEEE access,2019,7:109870-109883.
[16] 张艺琨,唐雁,陈强.基于多特征融合的三维模型检索[J].郑州大学学报(工学版),2019,40(1):1-6.