Pull to refresh
72.24
Skillfactory
Онлайн-школа IT-профессий

ExperienceTech: студенты SkillFactory создали ИИ для бионического протеза

Reading time 8 min
Views 1.5K


Хакатоны в начале IT-карьеры — это шанс решить проблемы, которые нужно решать прямо сейчас, а ещё — реальный опыт командной работы. Будушие заказчики проектов на хакатонах могут проверить свои идеи. И самое главное: хакатоны помогают сделать жизнь людей лучше. Cтуденты SkillFactory на хакатоне прокачивали прототип бионического протеза на оптических датчиках «Моторики» — российского разработчика современных протезов рук. Подробности — к старту флагманского курса по Data Science.


  1. ИИ в протезировании.
  2. Хакатон: как это было?
  3. А что в итоге?


ИИ в протезировании


Протезы «Моторики» компенсируют утраченную подвижность рук на уровне предплечья и кисти.



Вот что рассказывают о «Моторике» изнутри:


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

Бионические протезы бывают однохватными, которые сжимают и разжимают кисть, и многохватными, то есть способными на запрограммированные движения, когда пальцы двигаются независимо от других. Так, например, работает бионический протез Manifesto, не уступающий последним моделям Boston Dynamics.



Обычно бионический протез считывает электромиографический потенциал, то есть мышечное напряжение. В гильзе, куда помещают оставшуюся у владельца протеза часть руки, располагается два датчика. Первый считывает закрытие кисти, второй — её открытие. Человек напрягает мышцу — и [запрограммированный] жест срабатывает.


Жест программируется на 3D-модели бионической руки перетаскиванием пальцев, вот так:




Конкретный жест можно сохранить и переключиться на него.



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


Решение — искусственный интеллект. С его помощью жесты можно делать без подготовки. Конечно же, модели ИИ обучаются под конкретного человека именно на его данных. А чтобы модель работала хорошо, этих данных у неё должно быть много. Поэтому «Моторика» разработала оптомиографические датчики (оптические датчики для записи всего, что происходит с мышцами).





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


Команды хакатона, собранные из 44 студентов флагманского курса SkillFactory по Data Science, дорабатывали прототип модели ИИ для системы управления протезом руки Manifesto. Этот протез определяет жест по показаниям датчиков.



Хакатон: как это было?


Cтуденты SkillFactory самостоятельно поделились на 8 команд по 3–6 человек: на разработчиков, тимлидов и менеджеров проекта. 


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


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


  • открытая ладонь: .
  • полный хват: .
  • жест «пистолет» .
  • жест «ОК»: и другие.

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


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


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

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


Хакатон прошёл на Kaggle — платформе соревнований в области ИИ. Идеальным решением считалось такое, где отношение полноты и точности модели (F1-score) предельно близко к 1. У большинства команд по первым двум задачам метрика была именно такой, но в третьей потолком метрики стало число 0,7: 


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


В оценке решений менторами учитывались:


  • подход в целом;
  • степень отличия от алгоритма в базовой модели;
  • новые интересные закономерности;
  • универсальность в смысле ресурсов, например, потребление памяти;
  • культура кодирования;
  • вычислительная мощность.

Мощность важна особенно: ждать жеста несколько минут совсем не удобно. Протез должен откликаться буквально в реальном времени, с задержкой не более 100 мс, это один из порогов восприятия скорости человеком. Отклик в менее чем 100 мс даёт ощущение мгновенного жеста.


Команды приблизили свой результат к базовой модели разработчиков «Моторики» и предложили интересные подходы. Разработанные на хакатоне модели будут проверяться в реальных условиях. Если испытания пройдут успешно, результаты работы команд будут учитываться в дальнейшей работе разработчика протезов.



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


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


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


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


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


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


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


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


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



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


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


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


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


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


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


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


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


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


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


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


Игорь N


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


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


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


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


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


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


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


Проведённый хакатон — отличный пример движения онлайн-школы от EdTech к ExperienceTech: теория обязательно дополняется практикой от игроков рынка. Вы приобретаете опыт в IT, который нужен компаниям сегодня, становитесь востребованным специалистом, поэтому имеет смысл начать учиться уже сейчас:




Tags:
Hubs:
+1
Comments 0
Comments Leave a comment

Articles

Information

Website
www.skillfactory.ru
Registered
Founded
Employees
501–1,000 employees
Location
Россия
Representative
Skillfactory School