基于ECG信号的高精度血糖监测
2021-09-25李景振马菁菁陆瑶芃洪培涛聂泽东
李 婷,叶 松,李景振,马菁菁,陆瑶芃,洪培涛,聂泽东✉
1) 桂林电子科技大学电子工程与自动化学院,桂林 541004 2) 中国科学院深圳先进技术研究院,深圳 518055 3) 深圳海关工业品检测技术中心,深圳 518067
据统计,糖尿病已成为继肿瘤、心脑血管疾病后的第3种严重危害人民健康的慢性非传染性疾病[1−2].2019年全球20~79岁的糖尿病患者总数位4.6亿,占该年龄段人口总数的9.1%,预计到2035年,上述两个数据将分别增至5.92亿和10.1%[3].目前糖尿病尚无根治的方法,连续血糖监测(Continuous glucose monitoring,CGM)系统可实时监测患者的血糖,为临床医生提供详细的血糖变化趋势,以便于调控血糖水平,减少糖尿病并发症的发生,为预后的评估提供重要依据[4].目前血糖监测的方法可分为有创、微创及无创,由于患者需要频繁测量血糖,有创及微创监测会带来身体和心理上的痛苦,故无创血糖监测具有重要的应用价值和市场前景[5]. 考虑到心电信号(Electrocardiogram,ECG)可通过可穿戴设备获取,具有无创、便捷、舒适等优势,本文提出了一种基于ECG信号的无创监测方法实现对血糖水平的实时、精准监测.
ECG信号可使用心电采集仪器记录人体心脏电位变化[6−9],相关研究表明人体血糖变化会影响心脏活动[10−13]. 人体摄入食物时,血糖水平会逐渐升高,此时交感神经系统触发肾上腺(特别是肾上腺髓质)释放肾上腺素,从而引起包括心率加快、心电传导速度加快和不应期缩短为特征的ECG变化;血糖水平较低时,也将激活交感神经系统和副交感神经系统而引起ECG的变化;血糖水平正常时,副交感神经系统会释放出乙酰胆碱激素来减慢心率[13]. 综上可知,心电变化与血糖水平存在相关性,因此通过分析ECG的变化规律有望实现血糖水平的实时监测.血糖监测技术在近年来也在不断突破中,并取得了较大的成果. Kandhasamy和Balamurali[14]分别使用卷积神经网络(Convolution neural networks,CNN)与卷积神经网络和长短期记忆网络相结合(Convolution neural networks and long short-term memory,CNN-LSTM)算法通过 5折交叉验证对从加州大学欧文分校数据库中获取的数据集进行糖尿病监测,结果显示CNN的监测正确率为93.6%,而CNN-LSTM的正确率最高为95.1%. Tafa等[15]使用包含常规饮食、身体活动和糖尿病家族史等特征构建矩阵作为数据集,提出了一种新的支持向量机(Support vector machine,SVM)和朴素贝叶斯综合改进模型来监测人体是否患有糖尿病,其二分类监测精度高达97.6%.此外,刘宇巍[16]提出了利用超极限学习、卷积神经网络以及分数阶系统算法将血糖水平分为6类,在对用户进行个性化建模且建模所用数据量较多时,监测准确率可达85%. 冯培华[17]对采集的光电容积脉搏波(PhotoPlethysmoGraphy, PPG)信号和ECG信号采用经验模态分解进行基线去除,结合弹性网络、自适应增强算法、极端梯度提升(Extreme gradient boosting,XGBoost)和基于决策树算法的分布式梯度提升 (Light gradient boosting machine,LightGBM) 4种算法建模监测,获得的克拉克错误网格图A区均能达到80%以上. 本课题组前期提出了多模型分类方法用于糖尿病前期的预测[13]并鉴别了一些重要的生理特征阻止糖尿病病情的恶化[18−19].
纵观上述研究,尽管已取得较大的进展,但上述研究中对血糖水平或糖尿病的分类较少,大多为二分类或三分类[14−15].同时,大多数血糖监测输入特征局限于部分生理特征,如:身高、体重、文化程度、是否有家族遗传等作为神经网络的输入序列[20].人体的健康监测迫切需要更为精确的血糖水平,无创的实时血糖精准监测算法有待研究.针对上述问题,本文提出了一种基于ECG的多分类的血糖监测方法. 本文研究的血糖监测算法与其他传统分析方法不同,采用CNN和LSTM相结合的深度学习网络实现血糖水平的自动监测.该方法兼顾了血糖监测的实时性与精准性,测试结果表明可精准监测血糖的实时水平,有利于推动CGM技术和糖尿病管理的发展,对进一步提高血糖监测准确度具有重要的研究意义.
1 数据采集及数据预处理
1.1 数据采集
为研究基于ECG信号的无创血糖监测方案的可行性,课题组在中国科学院健康信息重点实验室进行了在体实验研究(实验已获得中国科学院深圳先进技术研究院人体实验伦理管理委员会批准,批准号:SIAT-IRB-200815-H0525).
实验之前,课题组对招募的12名志愿者(所有志愿者都已签署志愿者知情同意书)进行了口服葡萄糖耐量试验以确认志愿者是否为糖尿病患者.在12名志愿者中,9名为健康志愿者,3名为糖尿病患者(A1,A2...A9分别对应于9名健康志愿者;B1,B2,B3分别对应于3名糖尿病志愿者).如表1所示,所招募的志愿者分布在各个不同年龄段、不同性别及不同体型. 其中,有5名男性志愿者和7名女性志愿者;4名志愿者年龄小于24岁、5名志愿者年龄在24岁到40岁之间、大于40岁的志愿者有3名. 此外,考虑到身体质量指数(Body mass index, BMI)常用来衡量人体胖瘦程度,论文中对志愿者的BMI进行了分析,其中3名志愿者体重偏低,6名志愿者体重正常,3名志愿者体重超重.
表1 12名志愿者信息分布(人数)Table 1 Quantity of volunteers with different body information
正式实验通过使用采样频率为1000 Hz、陷波滤波器开关为ON、高通滤波器为1.0 Hz、波动模式为NORM的BIOPAC系统(型号为MP150)通道2,该系统可通过电极片实现胸导联以连续获取志愿者ECG信号,该设备可以连接到装有AcqKnowledge(Acq)软件的计算机(PC)并将采集的ECG信号转换为数字信号存储在计算机中. 并在实验开始1 d前为志愿者佩戴德康G6设备以获取CGM数据,此设备可连续监测志愿者血糖水平,每5 min获得一次血糖数据. 其中,每位志愿者实验持续5 d,每天上午2.5 h. ECG数据采集实验如图1所示.本次研究使用12名志愿者共60 d 756160个ECG周期信号作为数据集.一个ECG信号周期如图2所示.
图1 ECG数据采集实验图Fig.1 ECG data acquiring experiment
图2 一个ECG信号周期示意图Fig.2 ECG signal cycle diagram
1.2 数据预处理
1.2.1 信号提取及滤波
如图3(a)所示,实验所采集到的ECG信号中存在干扰噪声,去除ECG信号噪声干扰是数据预处理的关键步骤.
综合考虑自适应滤波去噪、小波去噪[21]及递归滤波器(Infinite impulse response,IIR)等去噪方法[22],本文最终选用高通为0.2 Hz、低通为30 Hz的IIR滤波器以滤除部分噪声. 滤波前后的ECG信号对比如图3所示.滤波预处理完成后,根据Acq软件获取ECG信号中峰值点对应的时间,并利用Matlab软件分离出ECG信号的单个心跳并联接实时CGM的血糖值即完成初步的数据预处理.
图3 ECG 信号滤波前后图像. (a)未滤波的 ECG 信号;(b)IIR 滤波器去噪后的ECG信号Fig.3 Images of ECG signals before and after filtering: (a) unfiltered ECG signal; (b) ECG signal followed by IIR filter
1.2.2 数据分类
考虑到实验所采集到的CGM数据波动较大,根据CGM数据作为神经网络的标签存在数据不均衡问题,因此从提高血糖监测模型精准性出发,本次研究在血糖数据分类时通过重复采样的方法扩充数据集以提升模型泛化能力.以采集到的12名志愿者的总数据量(694413个ECG周期信号及CGM数据)作为数据集为例,其血糖分类标签及各标签的数据量如表2所示. 其中,血糖(Blood glucose,BG)大于 14.9 mmol·L−1、标签为 9的数据最多,共有75616个ECG周期信号及CGM数据,通过重复采样使每个标签的数据量扩充为75616个ECG周期信号,最终神经网络训练和测试所使用的数据集为10个标签的数据总量共计756160个ECG周期信号.
表2 群体建模血糖分类标签及数据量Table 2 Blood glucose classification labels and data volumes upon group modeling
图4显示了血糖值分别为5.9、8.1和10.5 mmol·L−1时不同志愿者的ECG波形.由图4可知,对于不同个体而言相同血糖水平下的ECG信号存在差异性,因此在建模时由于个体数据量有限可能会影响血糖监测效果.
图4 不同志愿者在相同血糖水平下的一个 ECG 信号周期波形示例. (a)BG=5.9 mmol·L−1;(b)BG=8.1 mmol·L−1;(c)BG=10.5 mmol·L−1Fig.4 ECG signal cycle waveforms at the same BG level for different subjects: (a) BG = 5.9 mmol·L−1; (b) BG = 8.1 mmol·L−1; (c) BG = 10.5 mmol·L−1
2 模型建立
在LSTM的输出端使用全连接层作为分类神经网络模型输出层. 经过预处理后的单个ECG周期及CGM数据输入到CNN-LSTM网络中,其输出为不同的血糖标签的概率.血糖监测模型性能的评估通过血糖监测精确率(Precision)、召回率(Recall)、F1值(F1-score)及混淆矩阵评估[30]. 其原理如下:
3 高精度血糖监测模型
3.1 模型建立
在本文研究的CNN-LSTM网络中,CNN是由大小卷积核相结合的一维卷积、正则化过程和最大池化层组成,最大池化输出被馈送到后续的LSTM层.由于模型的超参数直接影响算法的性能,因此需要调节学习速率、隐层数、池化层步长、卷积核大小等超参数进行不同的实验验证,以提高血糖监测模型的泛化能力[29]使其具有鲁棒性. 研究所使用的模型超参数如表3所示.
表3 CNN-LSTM模型参数设置Table 3 Parameter setting of the CNN-LSTM model
3.2 实验验证
本文使用单个Intel(R)Core(TM)i7-7700中的CPU进行训练和测试数据. 经过对比不同的损失函数和学习率,最终选择Adam优化器及交叉熵函数作为损失函数.为了达到更快的收敛速度,学习率设置为0.001,模型迭代的次数为40[24].为研究数据集对血糖监测模型分类性能的影响,研究分别选取两名健康志愿者和两名糖尿病患者志愿者进行个体建模、12名志愿者群体建模分别评估分类性能.
3.2.1 个体建模
分别以A1、A2、B1、B2作为数据集,经数据分类后输入CNN-LSTM血糖监测模型中,对神经网络进行训练和测试,其性能评估如表4所示. 神经网络对4名志愿者血糖监测的精确率分别为79%、80%、81%和86%.
表4 A1、A2、B1和B2分别进行个体建模性能评估Table 4 Individual modeling performance evaluations for A1, A2, B1,and B2
3.2.2 群体建模
使用12名志愿者共计756160个ECG周期信号,并利用CNN-LSTM模型对数据进行训练和测试. 计算得到的血糖水平10分类监测的精确率为88.4%,血糖监测模型的混淆矩阵和性能评估如表5、表6所示.
表5 群体建模下的血糖监测混淆矩阵Table 5 Confusion matrix for blood glucose prediction under group modeling
表6 血糖监测模型性能评估Table 6 Performance evaluation of the proposed glucose prediction model
3.3 结果分析及展望
本文提出了将血糖水平分为10类,利用卷积神经网络和长短期记忆网络相结合的CNNLSTM对人体血糖水平进行高精度监测.首先提取ECG信号并使用IIR滤波器滤除噪声,然后利用Acq及Matlab软件分离出完整的ECG周期信号,将ECG周期信号及CGM数据集作为输入,利用CNN-LSTM神经网络模型分别对个体模型和群体模型进行训练和测试. 研究表明,群体建模的血糖监测性能优于个体建模.
相比基于回归算法或人工神经网络模型[15−17],本文所提出的CNN-LSTM模型监测血糖可达10分类,精度更高.随着可穿戴技术的发展,实时的心电信号和血糖数据可便捷保存为数字信号,存储在计算机中,为可穿戴的无创血糖系统研究提供了条件[22−25].前人的研究大多基于人体生理特征、外界环境特征或血糖数据监测血糖[20−21],本研究使用课题组实验获得的ECG周期信号和CGM数据,为实现血糖水平的实时、精准监测提供了一种有力的理论支撑与技术指导.
本文对比了刘宇巍提出的基于PPG和ECG信号融合的无创血糖检测方法[16],发现基于ECG周期信号的群体建模方法,其精确率更高,达到88%,相比刘宇巍使用5次数据的6分类监测精确率和分类精度都有所提升,表7对比了血糖监测模型性能.实验证明本研究方法能实现基于ECG信号精准监测血糖水平.在今后的血糖水平监测研究中,将致力于规范实验流程:首先,增加志愿者数量及正式实验时长以扩大数据集;其次,提高实验设备精确性以减少ECG信号噪声.
表7 血糖监测模型对比Table 7 Comparison of glucose prediction models
课题组还将进一步探索与血糖水平密切关联的生理信号,今后的研究将考虑在数据中加入其他与人体血糖关联密切的生理数据继续优化模型,提升模型普适性,以致力于对高精度无创血糖仪的研制提供新思路.
4 结论
(1)提出了一种基于ECG的血糖水平10分类监测模型,相比于回归算法和其他人工神经网络模型,所提出的CNN-LSTM模型具有较为优越的性能,血糖监测精确率明显提升.
(2)提出了将一个完整的ECG周期信号数据作为CNN-LSTM的输入特征,经过对比实验表明,与个体建模相比,群体建模的血糖监测性能更优,扩大数据集将会在一定程度上优化血糖监测模型的性能.
(3)今后的研究可通过改进可穿戴式传感器的设计,采集多种人体生理数据(如PPG、脑电信号及血氧含量等),实现多模生理信号的融合,这对于今后无创血糖技术的发展及可穿戴的个性化健康监测设备的研制有重大的意义.