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
还需要看一些国外论文
ECG 项目预研的更多相关文章
- [转] 前后端分离开发模式的 mock 平台预研
引入 mock(模拟): 是在项目测试中,对项目外部或不容易获取的对象/接口,用一个虚拟的对象/接口来模拟,以便测试. 背景 前后端分离 前后端仅仅通过异步接口(AJAX/JSONP)来编程 前后端都 ...
- 预研报告——MyBatis持久层的demo
一.预研任务介绍和预研目标 任务介绍: 与 Hibernate 相比, MyBatis 是一个半自动化的持久层框架,以轻量级.效率高.原生代而好评如潮.虽然有在分享会上大致讲解,但是还是重新梳理成文字 ...
- 数据质量管理工具预研——Griffin VS Deequ VS Great expectations VS Qualitis
开源数据质量管理工具预研--Griffin VS Deequ VS Great expectations VS Qualitis. 概述 数据质量监控(DQC)是最近很火的一个话题,也是数据治理中 ...
- Blazor预研与实战
背景 最近一直在搞一件事,就是熟悉Blazor,后期需要将Blazor真正运用到项目内.前期做了一些调研,包括但不限于 Blazor知识学习 组件库生态预研 与现有SPA框架做比对 与WebForm做 ...
- Nvidia NVENC 硬编码预研总结
本篇博客记录NVENC硬编码的预研过程 github: https://github.com/MarkRepo/NvencEncoder 步骤如下: (1)环境搭建 (2)demo编译,测试,ARG ...
- web项目自动化测试方案预研
一. 网上方案整理 Watir.Watir-Webdriver.Selenium2.QTP区别 Waitr与Watir-WebDriver有什么区别? Watir是非常优秀的一款自动化测试工具.其使 ...
- 最近开发的ECG项目
最近参与公司开发了一款读取ECG心电接口程序 原理就是通过心电设备读取患者的心电数据 并生成ECG文件 然后通过ECG客户端程序读取ECG文件 并解析转换成图片 上传至服务器 下边是客户端程序截图 客 ...
- C#:通过Visual Studio项目预生成命令获取SVN版本号
之前有一个winfrom项目,想要通过获取SVN版本号作为程序的内部编译版本号.网上也有各种方法,但没有一篇行得通的方法.于是我经过一系列研究,得出了一些经验,特总结成一篇博客. 方法一:通过SVN命 ...
- android手势感应预研
1. 产品介绍 该产品可以通过传感器来侦测用户的手势变化进而执行一些操作.比如说信息预览(如短信息预览.日历预览等等),此外,还可以通过指向某一个时间点来预览视频内容.预览音乐播放器(下一首歌 ...
随机推荐
- [BZOJ3203] [SDOI2013]保护出题人(二分+凸包)
[BZOJ3203] [SDOI2013]保护出题人(二分+凸包) 题面 题面较长,略 分析 对于第i关,我们算出能够打死前k个个僵尸的最小能力值,再取最大值就可以得到\(y_i\). 前j-1个僵尸 ...
- python 重点理论知识点
Python多线程 GIL blablabla concurrent blablabla 简单地说就是作为可能是仅有的支持多线程的解释型语言(perl的多线程是残疾,PHP没有多线程),Python的 ...
- 小白学Python(9)——pyecharts 绘制漏斗图 Funnel
根据pyecharts的介绍一直没有研究明白def和return的用法,无法显示完整的漏斗图,还请各位指点. 根据上文绘制bar的方法,我更改了代码,做出了漏斗图,不过和demo不一样,而且数据也会随 ...
- 题解 P5265 【模板】多项式反三角函数
→_→ OI 生涯晚期才开始刷板子题的咱 其实这题就是道公式题,搞过多项式全家桶的同学贴贴板子照着公式码两下都能过... 至于公式的证明嘛...总之贴上公式: \[Arcsin(F)=\int{F'\ ...
- 你浏览器的书签栏还够用么? - 程序员学点xx 特辑
lluxury 运维开发时间 为什么会想到这个话题,是因为最近看到的一条广告:注册 xx 送2048GB资料.yann 暗自感慨:"都9012年了,还有人分享家里的祖传硬盘".2T ...
- Pandas 时间序列处理
目录 Pandas 时间序列处理 1 Python 的日期和时间处理 1.1 常用模块 1.2 字符串和 datetime 转换 2 Pandas 的时间处理及操作 2.1 创建与基础操作 2.2 时 ...
- ElasticSearch 7.x 默认不在支持指定索引类型
原文:ElasticSearch 7.x 默认不在支持指定索引类型 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://bl ...
- js超简单冒泡算法
点击按钮--从大到小排序,可以通过代码中大于号小于号的选择来判定从小到大或者从大到小. <!DOCTYPE html> <html> <head> <titl ...
- JavaScript、ES6中的类的继承
类的继承 extends connstructor super 例1: class Father { constructor(){} money(){ console.log("1000 ...
- [翻译]解释JavaScript中的类型转换
原文地址:JavaScript type coercion explained 类型转换是将值从一种类型转换为另一种类型的过程(比如字符串转换为数值,对象转换为布尔值,等等).任何类型,无论是原始类型 ...