LSTM For classification of EMG sequences

14 views (last 30 days)
hello,
I am trying to classify EMG signals with the movement that generated the original signal
I have tried using a patternnet but this gives very bad generalization (I think is due to my lack of knowledge in creating the ANN structure and input format) so I have been investigating LSTM networks using matlab,
am i right in following the sequence to label classification example that is provided in the documentation?
Thanks
  2 Comments
bavi
bavi on 9 Feb 2023
Hey ,@CHRISTOPHER MILLAR I am curious about your project.
I am also trying to classify the hand movement of data from semg sensor data.
I used the classification learer app whuch was failure.
Can you explain your approach?
CHRISTOPHER MILLAR
CHRISTOPHER MILLAR on 11 Feb 2023
In the end i followed 1 of the examples in the documentation to develop a script and used the Experiment Manager App to do the all parameter tuning
at the beginning it was difficult to figure out but i got there in the end. Getting the data in the correct format is VIP then just follow the structure for the networks in the samples.
For Example an LSTM is created like this
layers = [
sequenceInputLayer(numFeatures,'Name','sequence')
lstmLayer(1500,'OutputMode','last','Name','lstm')
dropoutLayer(0.5,'Name','drop')
fullyConnectedLayer(numClasses,'Name','fc')
softmaxLayer('Name','softmax')
classificationLayer('Name','classification')];
you just need to amend the parameters to match your requirements
Hope this helps
Chris

Sign in to comment.

Accepted Answer

Raunak Gupta
Raunak Gupta on 2 Dec 2019
Hi,
For using the example that is mentioned I assume you have several features from the EMG Signal and each EMG signal is a sequence of those features. Since EMG Signal is kind of signal that has temporal relationship between time frames, LSTMs will perform good in capturing the pattern across the data. The preparation of data according to the problem statement is the only concern while using LSTMs. So, I suggest setting up the data such that each datapoint corresponds to a sequence of features and its class.
  9 Comments
Raunak Gupta
Raunak Gupta on 4 Dec 2019
Hi,
From the error message I can see that this issue was there with R2018a and R2018b release and is fixed in R2019a and later release. So, I suggest installing the latest release.
CHRISTOPHER MILLAR
CHRISTOPHER MILLAR on 5 Dec 2019
Raunak,
I downloaded the newest version of Matlab and this code now works
Thank you very much for all your help with this
Regards
Chris

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!