Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more methods to improve cross session and cross subject generalisation of models #2

Open
PerlinWarp opened this issue Nov 15, 2021 · 2 comments

Comments

@PerlinWarp
Copy link
Owner

Getting a model that can work for everyone with minimal calibration is a hard problem. It likely requires a lot of data that I do not have and would not feel ethically comfortable gathering and uploading to this public repo. I considered looking into topics like federated learning but decided my time would be better spent implementing tools that allow others to gather and explore their own data which they can use to train their own models and experiment with.

The most obvious feature that causes cross session variance is placement of the sensors. My personal belief is calibration is the easiest way to solve this for a niche open source project like this one, although more tools should be made to aid calibration, as mentioned here.

For cross subject generalisation, my initial response is to retrain your own models, especially as it removes the amount of private, likely uniquely identifiable data that needs to be uploaded, or shared. For example. finger classification and gesture models can be trained with a live classifier in less than 3 minutes, which is not too bad for the scope of this project currently.

In regards to future work, transfer learning is the most obvious method, however for privacy reasons, I initially have not gathered data on anyone else but myself and therefore do not have metrics on how my models generalise to others (I would assume badly). Adversarial Domain Adaptation (ADA) was implemented in Sosin et al.'s paper which can be found here, but due to the numerical results in the paper, I did not bother implementing it here.

@18Markus1984
Copy link

Who do you really calibarate the myo. I got my hand on one, but the calibration feels pretty hard in the hand after some time. What kind of calibration did you use?

@HyroVitalyProtago
Copy link
Collaborator

@18Markus1984 In this project, calibration is based on OpenGloves driver (so no breaking wrist move) to enable machine learning on EMG data and fingers flexion. I recommend you to firstly look at pyomyo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants