Wie eine Cyberhand Gesten „lernt“: Studierende haben ein KI-Modell für eine bionische Prothese entwickelt

Die Bearbeitung eines realen Problems ermöglichte es den Studierenden, bereits während des Studiums praktische Erfahrungen zu sammeln

„Motorik“ – Hypothesen und neue Ideen testen.

Warum wir uns entschieden haben, diese Herausforderung anzunehmen

Im Durchschnitt werden weltweit jedes Jahr Gliedmaßen amputiert.1 Million Menschen - und das sind diejenigen nicht mitgezählt, die bereits ohne Arme oder Beine geboren wurden. Nicht jeder hat Zugang zu guten Prothesen, aber selbst mit den fortschrittlichsten von ihnen ist es schwierig, eine vollständige Natürlichkeit der Bewegung zu erreichen.

Wie funktionieren bionische Prothesen und wie kann künstliche Intelligenz helfen?

Das grundlegende Funktionsprinzip der meisten Prothesen istdies ist ein Ablesen des elektromyographischen Potentials der Muskeln, oder einfacher ihrer Spannung. In der Hülse, in der der Stumpf eingeführt wird (der Teil der Extremität, der nach der Amputation oder aufgrund seiner Unterentwicklung (Aplasie) übrig bleibt - Anm. d. Red.), sind zwei Sensoren installiert, einer ist für das Öffnen der Hand verantwortlich, der andere für das Schließen. Der Benutzer spannt den Muskel an und die Geste wird ausgelöst.

Bionische Prothesen werden in zwei Typen unterteilt:Einzelgriff - kann die Bürste komprimieren / lösen. Komplexere Multigriffe führen zusätzlich zu dieser Grundgeste "einzigartige" programmierbare Bewegungen aus, da sich jeder Finger separat bewegen kann. So funktioniert zum Beispiel die Manifesto bionische Prothese, die in puncto Design den neusten Modellen von Boston Dynamics in nichts nachsteht.

Die Geste wird auf dem 3D-Modell des „Drag and Drop“ der Finger der Hand programmiert (als ob Sie eine Videospielfigur im Menü drehen würden). Speichern und wechseln Sie mit einem Klick.

Zum Beispiel:


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

Das Problem bleibt jedoch:Um eine Geste auszuführen, müssen Sie sie zuerst programmieren, wenn sie nicht im Schnellzugriff ist, dann die Geste wechseln (kann über die Anwendung im Smartphone erfolgen oder die Spannung am Sensor lange gedrückt halten) und schließlich die Geste durch Anspannen öffnen oder schließen der Muskel.

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



Manifesto Bionic Prosthesis - KI-Lernplattform

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

Für einen effizienteren Betrieb des neuronalen Netzes benötigen Siemehr Input haben. „Motorika“ hat optomyografische Sensoren entwickelt, die im Gegensatz zu herkömmlichen elektromyografischen Sensoren nicht nur Veränderungen in Muskeln, sondern auch in Sehnen, Gelenken, Blutfluss und Haut erkennen. Ein breites Datenspektrum verbessert die Genauigkeit, Laufruhe und macht es möglich, die Prothese für Menschen mit wenig oder gar keinem Muskelsignal zu verwenden. Die KI lernt, welche Änderungen der Indikatoren mit einer bestimmten Geste verbunden sind, und reproduziert sie, indem sie die Mikromotoren der gewünschten Finger bewegt. Durch eine solche technologische Verbindung können Prothesen schon jetzt bestimmte Gesten ausführen.

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

Wie sah der Hackathon-Prozess aus?

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

Insgesamt wurden 44 Teilnehmer ausgewählt, die besiegt wurdenfür 8 Teams von 3-6 Personen: so dass jedes in Bezug auf Erfahrung und Fähigkeiten seiner Mitglieder den anderen gleichwertig ist. Teammitgliedern zugewiesene Rollen innerhalb von: Teamleiter, Entwickler oder Projektmanager.

У московских студентов была возможность приехать в лабораторию «Моторики» в Сколково, чтобы самостоятельно поучаствовать в процессе сбора данных с реального протеза. Выглядело это так: на руку участника устанавливали оптомиографические датчики, контроллер которых подключали к протезу. Затем протез делал серию жестов: открытая ладонь ✋, полный хват ✊, жест «пистолет» 👉, жест «ОК» 👌 и другие (всего их было 15), а пользователь их воспроизводил. Показания датчиков и жест, который выполнял пользователь в этот момент, фиксировались для каждого промежутка времени. Затем они оцифровывались в наборы данных, которые студенты использовали для решения задачи.

Задача заключалась в том, чтобы с использованием методов Data Science построить модели, которые по показаниям датчиков будут определять жесты, выполняемые пользователем.

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

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

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

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

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

Например, был совершен переход из нейтрального положения (открытая ладонь) в один из жестов и наоборот — из жеста в нейтральное положение. Нужно было обучить модель распознавать, какой был выполнен жест: сгиб/разгиб каждого пальца, жест «ОК» 👌🏻 и «пистолет» 👉🏻 и так далее.

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

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

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

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

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

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

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

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

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

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

Результаты оценивались по стандартной для машинного обучения метрике F1-score: то есть по сочетанию полноты и точности полученных данных, для второй и третьей задачи метрика рассчитывалась для каждого момента времени.

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

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

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

Какие выводы мы сделали

Хакатон — это отличный пример того, как онлайн-школа движется от формата EdTech к ExperienceTech, когда теоретические знания обязательно дополняются практическими задачами от игроков рынка. Бизнес смог делегировать свои реальные задачи студентам и получить несколько новых интересных подходов, которые могут войти в релизную версию. Бизнес также получает потенциальных кандидатов, которые в процессе обучения погружаются в задачи индустрии.

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

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

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

Weiter lesen:

Wissenschaftler aus der Permafrostzone: Wie sie smarte Kleidung und einen Krebsimpfstoff entwickeln

Wissenschaftler „betrügen“ die Zeit und schickten ein Photon in die Vergangenheit: Wie dieser Durchbruch die Physik verändern wird

10 wissenschaftliche Fakten, die sich als Fälschungen herausgestellt haben. Karten