Как студенты SkillFactory разработали AI-модель для бионического протеза «Моторики»

5-9
Поездка в Сколково, первый опыт командной работы и борьба со страхами

Начинающим IT-специалистам хакатоны позволяют заняться реальной задачей и получить практический опыт, потренироваться работать в команде. А заказчикам — протестировать новые гипотезы и идеи. Но еще хакатоны могут помочь сделать жизнь других людей лучше. Рассказываем, как студенты SkillFactory «прокачивали» на хакатоне прототип бионического протеза на базе оптических датчиков «Моторики».

Как искусственный интеллект применяется в протезировании

Компания «Моторика» создает и помогает получить бионические протезы. Они могут заместить утраченные конечности на уровне предплечья и кисти и выполнять их функции. Также компания развивает цифровую экосистему реабилитации на облачной платформе «Билайн».

Большинство протезов считывают напряжение мышц. В гильзе, куда вставляется часть конечности, есть два датчика. Один отвечает за закрытие, а другой — за открытие кисти. Когда человек напрягает мышцу, срабатывает жест.

Бионические протезы бывают однохватными (сжимают/разжимают кисть) и многохватными, (могут выполнять программируемые движения, каждый палец двигается отдельно). Например, так работает бионический протез Manifesto.

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

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

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

Как проходил хакатон

В хакатоне участвовали студенты и выпускники курса Data Science. Они поделились на 8 команд по 3–6 человек. В каждой команде были роли тимлида, разработчика или проджект-менеджера. Участники распределяли их сами. 

Групповой видео-звонок команды  студентов и выпускников онлайн-курса Data Science
Команды обсуждают решения

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

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

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

После каждого этапа команды показывали решения менторам хакатона: Максиму Балашову из «Моторики» и Андрею Рысистову из SkillFactory. Они отмечали лучшие, давали обратную связь. Менторы помогали и во время хакатона. 

Хакатон прошел на платформе Kaggle. Решения проверял алгоритм. Он оценивал качество моделей и ранжировал их по степени точности. 

Оценка результатов на платформе Kaqqle
Оценка результатов

Чему научились участники

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

Марина Макеева

Мы с партнером ведем небольшое дело — организуем работу промышленных альпинистов. Я получила качественное высшее образование по специальности «Физические процессы добычи и переработки нефти и газа». И хотя я не работала по специальности, мое образование всегда со мной: оно — основа моего мировоззрения, круга общения, моих знаний и умений. Когда друзья нашли курсы с хорошей программой по интересной мне теме, я практически сразу решила, что пойду учиться.

Мне было очень интересно посмотреть, как на практике фиксируются движения человека, обрабатываются и передаются на искусственные имитаторы. Было много сомнений, т. к. на курсе я отучилась всего три месяца, но любопытство победило. У нас сложилась классная команда — всем нашлись задачи по уровню подготовки и еще немножко «на вырост».

На проекте я много работала с библиотеками NumPy и Pandas, визуализацией данных. Поняла, как важно с самого начала задать правильную архитектуру данных, которые будут собираться и обрабатываться. Для этого нужно знать требования библиотек ML к подготовке данных, владеть библиотеками, которые предоставляют инструменты для подготовки.

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

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

Фантастически интересным был визит к организаторам в Сколково. Нам показали этапы разработки и производства, мы поучаствовали в реальном процессе сбора данных и познакомились с новыми идеями, которые готовятся к внедрению. «Моторика» — один из лидеров в своей области, и мы немножко поучаствовали в научных исследованиях компании.

Лаборатория «Моторики» в Сколково

Олег Стребков 

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

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

Первое, чему мы научились, — работать в команде. Я и еще один участник прошли курс полностью, другие ребята — примерно половину или несколько первых блоков. Роли распределили во время решения первой задачи. Например, один работал с графиками, делал часть EDA и в целом оформлял проект, другой отлично использовал табличные данные и обучал модели классического ML. У меня было представление, как работать с нейросетями.

Команда сложилась: идеи возникали буквально на ходу во время общих видеовстреч. После каждой задачи мы получали обратную связь от менторов.

Мне не было сложно. Было интересно. Мы исправили ряд ошибок при обучении моделей, получили опыт командной работы, узнали больше о том, как вести проект. У меня появились новые друзья. Я стал частью команды, в составе которой надеюсь и дальше участвовать в хакатонах.

Александр Иванов 

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

Решение задач — не единственная сложность, с которой мы столкнулись. Например, было сложно координировать усилия, потому что все члены команды работали удаленно. Для этого мы устраивали регулярные созвоны в Zoom.

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

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

Игорь Абалакин

Я работаю техническим директором в одном из крупных агрохолдингов. Мой опыт так или иначе всегда был связан с инженерией. Год назад я пришел на курсы по Data Science.

Участие в таком хакатоне — мой первый опыт. Мне было интересно абсолютно все. До этого приходилось решать только учебные задачи, а сейчас я смог применить все полученные знания на конкретном проекте, поработать в команде. 

Мне тоже было непросто. Пока что я прошел только 70% курса. Самая сложная часть по построению модели машинного обучения была еще впереди. Приходилось много гуглить.

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

К сожалению, из-за внешних обстоятельств на третьем этапе мы недотянули.

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

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

(рейтинг: 5, голосов: 4)
Добавить комментарий