Comment une cybermain "apprend" les gestes : des étudiants ont développé un modèle d'IA pour une prothèse bionique

Travailler sur un problème réel a permis aux étudiants d'acquérir une expérience pratique au cours de leurs études, et

"Motorics" - testez des hypothèses et de nouvelles idées.

Pourquoi nous avons décidé de relever ce défi

En moyenne, des membres sont amputés chaque année dans le monde.1 million de personnes - sans compter ceux qui sont déjà nés sans bras ni jambes. Tout le monde n'a pas accès à de bonnes prothèses, mais même avec les plus avancées d'entre elles, il est difficile d'atteindre un naturel complet du mouvement.

Comment fonctionnent les prothèses bioniques et comment l'intelligence artificielle peut-elle aider ?

Le principe de fonctionnement de base de la plupart des prothèses estil s'agit d'une lecture du potentiel électromyographique des muscles, ou plus simplement de leur tension. Dans le manchon où le moignon est inséré (la partie du membre laissée après l'amputation, ou en raison de son sous-développement (aplasie) - ndlr), deux capteurs sont installés, l'un est responsable de l'ouverture de la main, l'autre de la fermeture. L'utilisateur contracte le muscle et le geste est déclenché.

Les prothèses bioniques sont divisées en deux types :poignée unique - peut compresser / desserrer la brosse. Des multi-prises plus complexes, en plus de ce geste de base, effectuent des mouvements programmables "uniques", car chaque doigt peut bouger séparément. Ainsi, par exemple, la prothèse bionique Manifesto fonctionne, qui en termes de conception n'est pas inférieure aux derniers modèles Boston Dynamics.

Le geste est programmé sur le modèle 3D du "glisser-déposer" des doigts de la main (comme si vous faisiez tourner un personnage de jeu vidéo dans le menu). Enregistrez et changez en un clic.

Par exemple:


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

Cependant, le problème demeure :pour effectuer un geste, il faut d'abord le programmer s'il n'est pas en accès rapide, puis basculer le geste (peut se faire via l'application dans le smartphone ou maintenir longtemps la tension sur le capteur) et enfin ouvrir ou fermer le geste en tendant le muscle.

То есть, помимо самого жеста, приходится выполнять довольно много дополнительных действий. 



Prothèse bionique Manifesto - AI Learning Platform

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

Pour un fonctionnement plus efficace du réseau de neurones, vous avez besoinavoir plus d'entrée. "Motorika" a développé des capteurs optomyographiques qui, contrairement aux capteurs électromyographiques standard, distinguent les modifications non seulement des muscles, mais également des tendons, des articulations, du flux sanguin et de la peau. Une large gamme de données améliore la précision, la douceur et permet d'utiliser la prothèse pour les personnes avec peu ou pas de signal musculaire. L'IA apprend quels changements d'indicateurs sont associés à un geste particulier et le reproduit en déplaçant les micromoteurs des doigts souhaités. Une telle connexion technologique permet déjà maintenant aux prothèses d'effectuer certains gestes.

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

À quoi ressemblait le processus du hackathon ?

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

Au total, 44 participants ont été sélectionnés, qui ont été vaincuspour 8 équipes de 3 à 6 personnes : pour que chacune soit équivalente aux autres en termes d'expérience et de compétences de ses membres. Les membres de l'équipe se voient attribuer des rôles indépendants au sein de : chef d'équipe, développeur ou chef de projet.

Les étudiants de Moscou ont eu l'occasion de venirau laboratoire «Motoriki» de Skolkovo pour participer de manière indépendante au processus de collecte de données à partir d'une prothèse réelle. Cela ressemblait à ceci : des capteurs optomyographiques étaient installés sur la main du participant, dont le contrôleur était connecté à la prothèse. Puis la prothèse a effectué une série de gestes : paume ouverte ✋, prise à fond ✊, geste « pistolet » ????, geste « OK » ???? et autres (il y en avait 15 au total), et l'utilisateur les a reproduits. Les lectures des capteurs et le geste que l'utilisateur effectuait à ce moment-là ont été enregistrés pour chaque période de temps. Ils ont ensuite été numérisés en ensembles de données que les élèves ont utilisés pour résoudre le problème.

La tâche consistait à utiliser les méthodes de la science des données pour construire des modèles qui, basés sur des lectures de capteurs, détermineraient les gestes effectués par l'utilisateur.

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

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

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

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

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

Par exemple, une transition a été effectuée à partir du neutreposition (paume ouverte) à l'un des gestes et vice versa - du geste à la position neutre. Il a fallu entraîner le modèle à reconnaître quel geste était effectué : plier/détendre chaque doigt, « OK » ???????? et « pistolet » ???????? et ainsi de suite.

Fragment d'ensemble de données pour la première tâche

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

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

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

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

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

Fragment de jeu de données pour la troisième tâche

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

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

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

Les résultats ont été évalués selon la norme deapprentissage automatique pour la métrique F1-score : c'est-à-dire qu'en combinant l'exhaustivité et l'exactitude des données obtenues, pour les deuxième et troisième tâches, la métrique a été calculée pour chaque point dans le temps.

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

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

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

Quelles conclusions avons-nous tirées

Le hackathon est un excellent exemple de la façon dontl'école en ligne passe du format EdTech à ExperienceTech, où les connaissances théoriques sont nécessairement complétées par des tâches pratiques d'acteurs du marché. L'entreprise a pu déléguer ses tâches réelles aux étudiants et obtenir de nouvelles approches intéressantes qui peuvent être incluses dans la version finale. L'entreprise reçoit également des candidats potentiels qui s'immergent dans les défis de l'industrie au fur et à mesure qu'ils apprennent.

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

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

En raison de circonstances extérieures, le moment du hackathonest passée d'un à deux mois, et la motivation de certains participants a diminué, tandis que d'autres ont complètement quitté le projet. A l'avenir, nous essaierons d'optimiser le temps du hackathon et de mieux calculer sa durée afin de maintenir un haut niveau d'implication et d'être plus attentif à la motivation du participant à chaque étape.

Lire la suite:

Scientifiques de la zone de pergélisol : comment ils développent des vêtements intelligents et un vaccin contre le cancer

Les scientifiques ont « trompé » le temps et envoyé un photon dans le passé : comment cette percée va changer la physique

10 faits scientifiques qui se sont avérés faux. Cartes