【使用 k 折叠交叉验证的卷积神经网络(CNN)】基于卷积神经网络的无特征EMG模式识别研究(Matlab代码实现)

欢迎来到本博客❤️❤️

博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

本文目录如下:

目录

1 概述

2 运行结果

3 参考文献

4 Matlab代码实现


1 概述

文献来源:

 特征提取是从肌电信号中提取有用和有价值的信息的重要步骤。然而,特征提取的过程需要先前的知识和专业知识。本文提出了一种无特征EMG模式识别技术,以解决特征提取问题。首先,使用谱图将原始EMG信号转换为时频表示(TFR)。然后,将TFR或谱图图像直接输入卷积神经网络(CNN)进行分类。提出了两种CNN模型,可以从谱图图像中自动学习特征,无需手动特征提取。使用公开获取的NinaPro数据库中获取的EMG数据对所提出的CNN模型进行评估。我们的结果表明,CNN分类器可以为手部和腕部运动的识别提供最佳的平均分类准确率为88.04%。

原文摘要:

摘要:

Feature extraction is important step to extract the useful and valuable information from the electromyography (EMG) signal. However, the process of feature extraction requires prior knowledge and expertise. In this paper, a featureless EMG pattern recognition technique is proposed to tackle the feature extraction problem. Initially, spectrogram is employed to transform the raw EMG signal into time-frequency representation (TFR). The TFRs or spectrogram images are then directly fed into the convolutional neural network (CNN) for classification. Two CNN models are proposed to learn the features automatically from the spectrogram images without the need of manual feature extraction. The proposed CNN models are evaluated using the EMG data acquired from the publicly access NinaPro database. Our results show that CNN classifier can offer the best mean classification accuracy of 88.04% for the recognition of the hand and wrist movements.

2 运行结果

部分代码:

%---Input--------------------------------------------------------------
% imgs      : feature vector (height x width x channel x instances)
% label     : label vector (instances x 1)
% kfold     : Number of cross-validation
% LR        : Learning rate
% nB        : Number of mini batch
% MaxEpochs : Maximum number of Epochs
% FC        : Number of fully connect layer (number of classes)
% nC        : Number of convolutional layer (up to 3)
% nF1       : Number of filter in first convolutional layer
% sF1       : Size of filter in first convolutional layer
% nF2       : Number of filter in second convolutional layer
% sF2       : Size of filter in second convolutional layer
% nF3       : Number of filter in third convolutional layer
% sF3       : Size of filter in third convolutional layer

%---Output-------------------------------------------------------------
% A struct that contains three results as follows:
% acc       : Overall accuracy
% con       : Confusion matrix
% t         : computational time (s)
%-----------------------------------------------------------------------


%% (1) Convolutional Neural Network with one convolutional layer
clc, clear
% Benchmark dataset
[imgs,label] = digitTrain4DArrayData; 

% Parameter setting
opts.kfold     = 5;
opts.LR        = 0.01; 
opts.nB        = 100; 
opts.MaxEpochs = 20; 
opts.nC        = 1; 
opts.FC        = 10;
opts.nF1       = 16; 
opts.sF1       = [3, 3];
% Convolutional Neural Network
CNN = jCNN(imgs,label,opts);

% Accuracy
accuray = CNN.acc;
% Confusion matrix
confmat = CNN.con;


%% (2) Convolutional Neural Network with two convolutional layers
clc, clear
% Benchmark dataset
[imgs,label] = digitTrain4DArrayData; 

3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]Too, Jingwei, et al. “Featureless EMG Pattern Recognition Based on Convolutional Neural Network.” Indonesian Journal of Electrical Engineering and Computer Science, vol. 14, no. 3, Institute of Advanced Engineering and Science, June 2019, p. 1291, doi:10.11591/ijeecs.v14.i3.pp1291-1297.

4 Matlab代码实现

你可能感兴趣的:(cnn,matlab,人工智能)