ECG 项目预研
1. 数据的采集
智能安全帽,流数据,鉴于数据量大,应该是采集到云平台上,然后在云平台上对数据处理,是一种典型的物联网+大数据应用场景,考虑使用AWS或者阿里云,然后搭建Hadoop/Spark 环境,数据流可以用Kafka 来采集,也可以研究云提供商是否提供了类似的现成的环境
2. 数据的预处理
智能安全帽,这个东西本身就是在工地现场使用,而工地是一个存在各种干扰的环境,所以要对数据做预处理,具体看网上有提到下面几点:
工频干扰:常见的工频干扰有:无线电,灯管放电,电刷火花,雷电,手术电刀 等等
基线漂移:这也是一种噪声干扰,频率在0.05-2HZ之间。在心电检测里面,它可以由电极和人体体表接触不良引起,病人的呼吸和活动也会引起基线漂移。发生基线漂移的时候,我们会看到心电图的基线上下波动,而不是水平线。
肌电干扰: 肌电干扰相对于心电信号而言是一种高频噪声,频率为5-2HZ,是由于病人紧张等刺激导致肌肉收缩或自身疾病如甲状腺疾病等引起的,表现为快速变化的不规则波形,导致心电图细小部分本掩盖,使其模糊不清或产生失真等
人体运动也会产生噪声
3. 模型训练和预测
由于对医学知识相对欠缺,可以考虑主要用深度学习的方法来做,通过学习大量数据。由于没有大量对应的标注数据,可以考虑使用transfer learning.
在没有足够的数据的情况下,这部分工作可以现在公开的数据集上做
目前国际上有三个公认的标准心电数据库:美国心脏学会的AHA数据库,欧洲AT-T数据库以及美国麻省理工学院提供的MIT-BIH数据库。其中MIT-BIH数据库应用的比较广泛
在公开数据集上学习到心电图对应的各种疾病后,就可以用来实时的检测
初步试了一下,可以预测 正常心跳 (N), 房性早搏 (A), 心室早发性收缩 (V), 左束支传导阻滞 (L), 右束支传导阻滞 (R), 精度在测试集上可以达到~94%. 具体代码在这里 https://github.com/mashuai191/machine_learning/blob/master/ECG%20study%20on%20MIT%20dataset.ipynb
4. 模型部署在云上
这部分应该只是工作量的问题,部署方法可以参考网上的一般方法
5. 其他功能
后续可以考虑online learning,
预测情绪异常等
遇到灾难后的定位功能
6. 可能面临的一些挑战
1. 所采集数据的精确程度,是否噪声太多
2. 所采集数据和公开数据集的差异太大,造成transfer learning 的效果不好
3. 如果不用公开数据集,而是直接在自己的数据集上做,面临没有标注数据的问题,就需要考虑使用加强学习的算法,学习曲线会比较平缓
参考资料:
https://blog.csdn.net/qq_15746879/article/details/80329711
https://blog.csdn.net/Candle_light/article/details/84527273
还需要看一些国外论文