使用深度学习分类ECG信号的仿真软件金宝app
这个例子展示了如何使用小波变换和深入学习网络模型(R)模型对ECG信号进行分类。金宝app下面的例子使用了pretrained卷积神经网络的时间序列分类使用小波分析和深度学习小波工具箱™对ECG信号进行分类的例子基于图像变换的时间序列数据。有关培训的信息,明白了时间序列分类使用小波分析和深度学习(小波工具箱)。
心电图数据描述
这个示例使用心电图数据生理网数据库。它包含数据从三个群体:
人与心律失常(ARR)
人与充血性心力衰竭(CHF)
人与正常窦性节律(NSR)
它包括96录音与加勒比人,与瑞士法郎30录音人,36个录音与NSR的人。的ecg_signals
MAT-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”);