How a cyberhand "learns" gestures: students have developed an AI model for a bionic prosthesis

Working on a real problem allowed students to gain practical experience during their studies, and

"Motorics" - test hypotheses and new ideas.

Why we decided to take on this challenge

On average, limbs are amputated every year in the world.1 million people - and that's not counting those who were already born without arms or legs. Not everyone has access to good prostheses, but even with the most advanced of them it is difficult to achieve complete naturalness of movement.

How do bionic prostheses work and how can artificial intelligence help?

The basic principle of operation of most prostheses isthis is a reading of the electromyographic potential of the muscles, or, more simply, their tension. In the sleeve where the stump is inserted (the part of the limb left after amputation, or due to its underdevelopment (aplasia) - ed.), two sensors are installed, one is responsible for opening the hand, the other for closing. The user tenses the muscle and the gesture is triggered.

Bionic prostheses are divided into two types:single grip - can compress / unclench the brush. More complex multi-grip, in addition to this basic gesture, perform "unique" programmable movements, because each finger can move separately. So, for example, the Manifesto bionic prosthesis works, which in terms of design is not inferior to the latest Boston Dynamics models.

The gesture is programmed on the 3D model of the "drag and drop" of the fingers of the hand (as if you were rotating a video game character in the menu). Save and switch in one click.

For example:


                  Козу 🤟🏻            или              Сердечко ❤️ 

However, the problem remains:to perform a gesture, you must first program it if it is not in quick access, then switch the gesture (can be done through the application in the smartphone or long hold the voltage on the sensor) and finally open or close the gesture by tensing the muscle.

That is, in addition to the gesture itself, you have to perform quite a lot of additional actions.



Manifesto Bionic Prosthesis - AI Learning Platform

Therefore, to make gestures without preparation andTo immediately recognize them as accurately as possible, the researchers decided to turn to artificial intelligence, or more precisely, to AI models that are trained for each user using their personal data.

For more efficient operation of the neural network, you needhave more input. "Motorika" has developed optomyographic sensors, which, unlike standard electromyographic sensors, distinguish changes not only in muscles, but also in tendons, joints, blood flow and skin. A wide range of data improves accuracy, smoothness and makes it possible to use the prosthesis for people with little or no muscle signal at all. AI learns what changes in indicators are associated with a particular gesture, and reproduces it by moving the micromotors of the desired fingers. Such a technological connection already now allows prostheses to perform certain gestures.

Студенты, принимавшие участие в хакатоне, должны были усовершенствовать прототип ИИ-модели для системы управления протеза руки. 

What did the hackathon process look like?

Участвовать в хакатоне могли все студенты и выпускники курса Data Science, которые отправили онлайн-заявку и обладали нужными навыками: это операции над массивами данных, навыки анализа данных, разведывательного анализа, построения моделей классификации и другие. 

In total, 44 participants were selected, who were defeatedfor 8 teams of 3-6 people: so that each is equivalent to the others in terms of experience and skills of its members. Team members independently assigned roles within: team leader, developer or project manager.

Moscow students had the opportunity to cometo the “Motoriki” laboratory in Skolkovo to independently participate in the process of collecting data from a real prosthesis. It looked like this: optomyographic sensors were installed on the participant’s hand, the controller of which was connected to the prosthesis. Then the prosthesis made a series of gestures: open palm ✋, full grip ✊, “gun” gesture ????, “OK” gesture ???? and others (there were 15 in total), and the user reproduced them. The readings of the sensors and the gesture that the user was performing at that moment were recorded for each period of time. They were then digitized into datasets that the students used to solve the problem.

The task was to use Data Science methods to build models that, based on sensor readings, would determine the gestures performed by the user.

Работа велась в формате трехэтапного хакатона: от простой задачи к сложной для плавного погружения в предметную область. Мы решили, что сперва дадим студентам общую картину, а потом постепенно будем усложнять постановку задачи. Третья уже была максимально приближена к «боевой». 

После каждого этапа команды показывали свои решения, из которых мы отмечали лучшие. В процессе хакатона участники могли обращаться к нам — менторам — за консультациями. Мы также отвечали за разработку задач и критериев для оценки результатов. По окончании каждого этапа студенты получали от нас фидбэк, насколько их решение было актуальным и эффективным, а также комментарии относительно структуры кода и технических ошибок, связанных с машинным обучением. 

Три этапа хакатона 

В начале работы студенты получили данные и базовую модель как некий ориентир. Идея хакатона заключалась в том, чтобы команды улучшили результат базовой модели или приблизились к нему. Так мы хотели проверить, можно ли вообще улучшить нашу базовую модель. 

На первом этапе командам нужно было классифицировать жесты по участку данных, то есть определить, из какого жеста в какой произошел переход. 

For example, a transition was made from neutralposition (open palm) to one of the gestures and vice versa - from the gesture to the neutral position. It was necessary to train the model to recognize which gesture was performed: bend / unbend each finger, “OK” ???????? and “gun” ???????? and so on.

Dataset fragment for the first task

На втором этапе требовалось классифицировать жест и определять его начало и окончание во времени. В итоге должна была получиться модель, которая распознает, как, в какой последовательности и с каким временным интервалом рука переходит от одного жеста к другому. 

Фрагмент датасета для второй задачи 

Если в первой задаче во всем исследуемом временном промежутке случился жест, то во второй задаче мы хотели, чтобы участники в каждый момент времени определили, какой выполнялся жест. Например, большой палец сгибался в течение определенного временного отрезка, а потом произошел переход к жесту открытой ладони. 

На третьем этапе было необходимо  сегментировать непрерывную запись на отдельные жесты с определением их начала и окончания во времени. 

Задача качественно усложнилась. Теперь участники работали не с подготовленными наборами данных, а непрерывными сырыми данными. Требовалось самостоятельно разработать систему работы с ними: как их извлечь и как нарезать, чтобы потом обучать модели. 

Dataset fragment for the third task

В первой и второй задачах мы брали один участок времени, то есть переход из одного жеста в другой, не больше. Но в реальности наша рука постоянно меняет свое положение, это происходит непрерывно, а не только в определенный промежуток времени. Мы переходим из одного жеста в другой, потом из этого жеста в третий, и так далее. И третья задача состояла в том, чтобы зафиксировать момент каждого перехода из одного жеста в другой и понять, в какой жест произошел переход, при этом жестов могло быть сколько угодно много.

Какие были результаты 

Мы проводили хакатон с помощью платформы Kaggle. Решение проверялось алгоритмом, который оценивал качество построенной модели и ранжировал модели по степени точности, определяя результаты команд. 

The results were evaluated according to the standard formachine learning for the F1-score metric: that is, by combining the completeness and accuracy of the data obtained, for the second and third tasks, the metric was calculated for each point in time.

Идеальным считалось решение, качество которого по метрике F1-score было максимально приближено к 1. У большинства участников по первым двум задачам метрика была близка к 1, они строили достаточно результативные модели, однако фактический потолок в рамках третьей задачи составлял всего 0,7. 

При оценке работ мы учитывали и то, какой подход применяли студенты: насколько он отличался от базового алгоритма «Моторики», были ли найдены  какие-то интересные закономерности, было ли решение универсальным с точки зрения потребляемых ресурсов, куда относятся используемая для решения оперативная память и скорость вычислительной мощности. Можно построить такую тяжеловесную модель, которая будет предсказывать идеально, но будет делать это в течение нескольких минут. Для человека с ампутированной рукой, носящего протез, ждать несколько минут, пока у него один палец начнет двигаться, совсем не оптимально. Система должна работать буквально в режиме реального времени с задержкой не более 100 мс. 

По итогам хакатона практически все команды приблизили свой результат к базовой модели разработчиков и предложили некоторые интересные подходы. Модели, построенные участниками на первом и втором этапах, были результативными и хорошо работали в заданных условиях, помогли погрузиться в предметную область. В дальнейшем их будут тестировать в реальной ситуации. В третьей задаче участники предложили обновленные подходы к обработке данных перед тем, как отправлять их в модель, но эти гипотезы также нужно проанализировать и проверить. Если испытания пройдут успешно, полученные результаты могут быть использованы в дальнейшей работе. 

What conclusions did we draw

The hackathon is a great example of howThe online school is moving from the EdTech format to ExperienceTech, when theoretical knowledge is necessarily supplemented by practical tasks from market players. The business has been able to delegate its real tasks to students and get some new interesting approaches that can be included in the release version. The business also receives potential candidates who immerse themselves in the challenges of the industry as they learn.

Студенты отметили, что постепенное усложнение задач упростило переход от теоретической модели к реальной. Это позволило лучше погрузиться в проблему даже тем, у кого мало опыта в написании кода. Тем, кто раньше имел дело только с классическими моделями машинного обучения, было особенно интересно познакомиться с современными наработками в области глубокого обучения. 

По окончании первого этапа мы увидели, что многим участникам не хватает навыков презентации результатов. Поэтому ввели дополнительный критерий оценки работ (культура кода), который включал в себя оформление кода по стандартам, документирование, следование правилам визуализации и текстовое сопровождение хода решения. 

Due to external circumstances, the time of the hackathonincreased from one to two months, and the motivation of some participants decreased, while others left the project altogether. In the future, we will try to optimize the time of the hackathon and calculate its duration more carefully in order to maintain a high level of involvement and pay more attention to the motivation of the participant at each stage.

Read more:

Scientists from the permafrost zone: how they develop smart clothes and a cancer vaccine

Scientists "cheated" time and sent a photon into the past: how this breakthrough will change physics

10 scientific facts that turned out to be fakes. Cards