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.  如果不用公开数据集,而是直接在自己的数据集上做,面临没有标注数据的问题,就需要考虑使用加强学习的算法,学习曲线会比较平缓

参考资料:

http://ecg.mit.edu/

https://blog.csdn.net/qq_15746879/article/details/80329711

https://blog.csdn.net/Candle_light/article/details/84527273

还需要看一些国外论文

ECG 项目预研的更多相关文章

  1. [转] 前后端分离开发模式的 mock 平台预研

    引入 mock(模拟): 是在项目测试中,对项目外部或不容易获取的对象/接口,用一个虚拟的对象/接口来模拟,以便测试. 背景 前后端分离 前后端仅仅通过异步接口(AJAX/JSONP)来编程 前后端都 ...

  2. 预研报告——MyBatis持久层的demo

    一.预研任务介绍和预研目标 任务介绍: 与 Hibernate 相比, MyBatis 是一个半自动化的持久层框架,以轻量级.效率高.原生代而好评如潮.虽然有在分享会上大致讲解,但是还是重新梳理成文字 ...

  3. 数据质量管理工具预研——Griffin VS Deequ VS Great expectations VS Qualitis

    开源数据质量管理工具预研--Griffin VS Deequ VS Great expectations VS Qualitis. 概述 ​ 数据质量监控(DQC)是最近很火的一个话题,也是数据治理中 ...

  4. Blazor预研与实战

    背景 最近一直在搞一件事,就是熟悉Blazor,后期需要将Blazor真正运用到项目内.前期做了一些调研,包括但不限于 Blazor知识学习 组件库生态预研 与现有SPA框架做比对 与WebForm做 ...

  5. Nvidia NVENC 硬编码预研总结

    本篇博客记录NVENC硬编码的预研过程 github:  https://github.com/MarkRepo/NvencEncoder 步骤如下: (1)环境搭建 (2)demo编译,测试,ARG ...

  6. web项目自动化测试方案预研

    一.  网上方案整理 Watir.Watir-Webdriver.Selenium2.QTP区别 Waitr与Watir-WebDriver有什么区别? Watir是非常优秀的一款自动化测试工具.其使 ...

  7. 最近开发的ECG项目

    最近参与公司开发了一款读取ECG心电接口程序 原理就是通过心电设备读取患者的心电数据 并生成ECG文件 然后通过ECG客户端程序读取ECG文件 并解析转换成图片 上传至服务器 下边是客户端程序截图 客 ...

  8. C#:通过Visual Studio项目预生成命令获取SVN版本号

    之前有一个winfrom项目,想要通过获取SVN版本号作为程序的内部编译版本号.网上也有各种方法,但没有一篇行得通的方法.于是我经过一系列研究,得出了一些经验,特总结成一篇博客. 方法一:通过SVN命 ...

  9. android手势感应预研

    1.     产品介绍 该产品可以通过传感器来侦测用户的手势变化进而执行一些操作.比如说信息预览(如短信息预览.日历预览等等),此外,还可以通过指向某一个时间点来预览视频内容.预览音乐播放器(下一首歌 ...

随机推荐

  1. LED音乐频谱之点阵

    转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/37967455 一.硬件 watermark/2/text/aHR0cDovL2 ...

  2. 固定标签(position: fixed)

    document.body.scrollTop 要改成 document.documentElement.scrollTop不然不生效 <!DOCTYPE html> <html l ...

  3. FFmpeg从入门到出家(FLV文件结构解析)

    FLV(FLASH VIDEO),是一种常用的文件封装格式,目前国内外大部分视频分享网站都是采用的这种格式.其标准定义为<Adobe Flash Video File Format Specif ...

  4. JavaScript数组增删方法总结

    数组是JavaScript中常见的一个对象,在这篇文章中主要整理数组增删改查方面的相关操作方法. 首先我们创建一个数组 添加元素: push(elment) 从后面添加元素,返回数组的长度   uns ...

  5. vue Base64图片压缩上传OSS

    this.compress(result, 800, 0.5).then(val => { //得到压缩图片 let data = val; that.file = that.dataURLto ...

  6. 2018-9-21-dot-net-core-使用-usb

    title author date CreateTime categories dot net core 使用 usb lindexi 2018-09-21 19:53:34 +0800 2018-0 ...

  7. 11JSP基础

    1.Jsp基础 1.1 简介 Jsp,全称 Java Server Page java服务页面,能提供java服务的页面 jsp vs html html: 由html标签组成的,输出静态内容. js ...

  8. 01基于python玩转人工智能最火框架之TensorFlow

    课程主要内容 人工智能理论知识 开发工具介绍和环境配置 TensorFlow基础练习和应用实战 课程能学到什么? 人工智能知识点 Python库的使用 TensorFlow 框架使用和应用开发 适合人 ...

  9. [web 安全] php随机数安全问题

    and() 和 mt_rand() 产生随机数srand() 和 mt_srand() 播种随机数种子(seed)使用: <?php srand(123);//播种随机数种子 for($i=0; ...

  10. jquery 模态对话框传值,删除,新增表格行

    个人的练习代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...