主要内容

使用深度学习分类ECG信号的仿真软件金宝app

这个例子展示了如何使用小波变换和深入学习网络模型(R)模型对ECG信号进行分类。金宝app下面的例子使用了pretrained卷积神经网络的时间序列分类使用小波分析和深度学习小波工具箱™对ECG信号进行分类的例子基于图像变换的时间序列数据。有关培训的信息,明白了时间序列分类使用小波分析和深度学习(小波工具箱)

心电图数据描述

这个示例使用心电图数据生理网数据库。它包含数据从三个群体:

  1. 人与心律失常(ARR)

  2. 人与充血性心力衰竭(CHF)

  3. 人与正常窦性节律(NSR)

它包括96录音与加勒比人,与瑞士法郎30录音人,36个录音与NSR的人。的ecg_signalsMAT-file包含测试心电图数据时间序列格式。图像分类器在这个例子中区分ARR,瑞士法郎,NSR。

算法流程

算法的框图模型的工作流模型。金宝app

心电图深度学习仿真软件模型金宝app

分类EC金宝appG信号的仿真软件模型。模型运行时,视频查看器块显示心电信号分类。

open_system (“ecg_dl_cwtMDL”);

心电图预处理子系统

心电图预处理子系统包含一个MATLAB函数获得量图块执行连续小波变换的心电信号,然后处理量图来获取图像。它还包含一个图像分类器块的深度学习工具箱™加载pretrained网络trainedNet.mat并执行对图像分类的预测基于SqueezeNet深度学习CNN。

open_system (“ecg_dl_cwtMDL /心电图预处理”);

ScalogramFromECG功能块定义了一个函数调用ecg_to_scalogram:

  • 利用65536年的双精度心电图数据样本作为输入。

  • 创建时间频率表示的心电图数据通过应用小波变换。

  • 小波系数的获得量图。

  • 量图转换为图像的大小(227 -通过- 227 - 3)。

的函数签名ecg_to_scalogram显示。

类型ecg_to_scalogram
函数ecg_image = ecg_to_scalogram (ecg_signal) %版权2020年MathWorks公司持久jetdata;如果(isempty (jetdata)) jetdata = ecgColorMap(128年,“单”);结束%获取ECG信号的小波系数cfs = cwt_ecg (ecg_signal);%获得量图的图像小波系数= ind2rgb (im2uint8(重新调节(cfs)), jetdata);ecg_image = im2uint8 (imresize(形象,[227227]));结束

心电图后处理

心电图后处理MATLAB功能块定义了label_prob_image函数,发现量图的标签图像基于成绩的得分最高输出的图像分类器。它输出量图的图像显示标签和信心。

类型label_prob_image
函数final_image = label_prob_image (ecg_image、分数、标签)% 2020 - 2021版权MathWorks, inc .)分数=双(分数);%获得最大信心(概率、索引)= max(分数);信心=概率* 100;%获得标签对应于最大信心标签=擦掉(char(标签(索引)),“_label”);文本=细胞(2,1);文本{1}=(“分类:”标签);{2}=[文本的信心:“sprintf (% 0.2 f,信心)' % ');位置= [135 20 0 0;130年40 0 0]; final_image = insertObjectAnnotation(ecg_image,'rectangle',position,... text,'TextBoxOpacity',0.9,'FontSize',9); end

运行仿真

验证算法和显示测试的标签和信心得分ECG信号加载在工作区中,仿真运行。

set_param (“ecg_dl_cwtMDL”,“SimulationMode”,“正常”);sim卡(“ecg_dl_cwtMDL”);

代码生成

与GPU编码器™,你可以在NVIDIA®GPU加速模型的执行并生成CUDA®代码模型。看到代码生成深度学习仿真软件模型对ECG信号进行分类金宝app(GPU编码器)为更多的细节。

清理

关闭仿真软件模型。金宝app

close_system (“ecg_dl_cwtMDL /心电图预处理”);close_system (“ecg_dl_cwtMDL”);