Kako kiberruka "uči" geste: studenti su razvili AI model za bioničku protezu

Rad na stvarnom problemu omogućio je studentima stjecanje praktičnog iskustva tijekom studija, te

"Motorika" - provjera hipoteza i novih ideja.

Zašto smo se odlučili prihvatiti ovog izazova

U prosjeku se svake godine u svijetu amputiraju udovi.1 milijun ljudi - i to ne računajući one koji su već rođeni bez ruku ili nogu. Nemaju svi pristup dobrim protezama, ali čak i s najnaprednijima od njih teško je postići potpunu prirodnost pokreta.

Kako funkcioniraju bioničke proteze i kako umjetna inteligencija može pomoći?

Osnovni princip rada većine proteza jeovo je očitavanje elektromiografskog potencijala mišića ili, jednostavnije, njihove napetosti. U rukavu u koji je umetnut batrljak (dio uda koji je ostao nakon amputacije ili zbog njegove nerazvijenosti (aplazije) - ur.) ugrađena su dva senzora, jedan je odgovoran za otvaranje šake, drugi za zatvaranje. Korisnik napne mišić i gesta se pokreće.

Bioničke proteze dijele se u dvije vrste:jednostruki zahvat - može stisnuti / otpustiti četkicu. Složeniji multi-grip, osim ove osnovne geste, izvode "jedinstvene" programabilne pokrete, jer se svaki prst može pomicati zasebno. Tako, na primjer, radi bionička proteza Manifesto, koja u pogledu dizajna nije niža od najnovijih modela Boston Dynamics.

Gesta je programirana na 3D modelu "drag and drop" prstiju ruke (kao da rotirate lik iz video igre u izborniku). Spremite i prebacite jednim klikom.

Na primjer:


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

Međutim, problem ostaje:da biste izvršili gestu, morate je prvo programirati ako nije u brzom pristupu, zatim promijeniti gestu (može se učiniti kroz aplikaciju u pametnom telefonu ili dugo držati napon na senzoru) i na kraju otvoriti ili zatvoriti gestu pritiskom mišić.

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



Manifesto Bionic Prosthesis - AI platforma za učenje

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

Za učinkovitiji rad neuronske mreže potrebno jeimati više unosa. "Motorika" je razvila optomiografske senzore koji, za razliku od standardnih elektromiografskih senzora, razlikuju promjene ne samo na mišićima, već i na tetivama, zglobovima, krvotoku i koži. Široki raspon podataka poboljšava točnost, glatkoću i omogućuje korištenje proteze za osobe s malim ili nikakvim mišićnim signalom. AI uči koje su promjene u indikatorima povezane s određenom gestom i reproducira ih pomicanjem mikromotora željenih prstiju. Takva tehnološka veza već sada omogućuje protezama izvođenje određenih gesta.

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

Kako je izgledao proces hackathona?

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

Ukupno su odabrana 44 sudionika, koji su poraženiza 8 timova od 3-6 ljudi: tako da svaki bude ekvivalentan ostalima u smislu iskustva i vještina svojih članova. Članovi tima samostalno raspoređuju uloge unutar: voditelja tima, programera ili voditelja projekta.

Moskovski studenti su imali priliku doćiu laboratorij “Motoriki” u Skolkovu kako bi samostalno sudjelovali u procesu prikupljanja podataka s prave proteze. Izgledalo je ovako: optomiografski senzori instalirani su na ruku sudionika, čiji je upravljač bio povezan s protezom. Zatim je proteza napravila niz gesti: otvoren dlan ✋, puni stisak ✊, gesta "pištolj" ????, gesta "OK" ???? i druge (bilo ih je ukupno 15), a korisnik ih je reproducirao. Za svaki vremenski period zabilježena su očitanja senzora i gesta koju je korisnik izvodio u tom trenutku. Zatim su digitalizirani u skupove podataka koje su studenti koristili za rješavanje problema.

Zadatak je bio pomoću Data Science metoda izgraditi modele koji bi na temelju očitanja senzora određivali geste koje izvodi korisnik.

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

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

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

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

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

Na primjer, napravljen je prijelaz s neutralnogpoložaja (otvorenog dlana) u jednu od gesta i obrnuto - iz geste u neutralni položaj. Bilo je potrebno uvježbati model da prepozna koja se gesta izvodi: savijte/otpustite svaki prst, “OK” ???????? i “pištolj” ???????? i tako dalje.

Fragment skupa podataka za prvi zadatak

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

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

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

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

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

Fragment skupa podataka za treći zadatak

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

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

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

Rezultati su ocijenjeni prema standardu zastrojno učenje za metriku F1-boda: to jest, kombinacijom potpunosti i točnosti dobivenih podataka, za drugi i treći zadatak, metrika je izračunata za svaku točku u vremenu.

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

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

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

Kakve smo zaključke izvukli

Hackathon je sjajan primjer kakoOnline škola prelazi iz EdTech formata u ExperienceTech, kada se teoretsko znanje nužno nadopunjuje praktičnim zadacima tržišnih igrača. Tvrtka je uspjela delegirati svoje stvarne zadatke studentima i dobiti neke nove zanimljive pristupe koji se mogu uključiti u izdanje verzije. Posao također prima potencijalne kandidate koji uranjaju u izazove industrije dok uče.

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

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

Zbog vanjskih okolnosti vrijeme održavanja hackathonaporastao s jednog na dva mjeseca, a motivacija nekih sudionika je pala, dok su drugi potpuno napustili projekt. U budućnosti ćemo nastojati optimizirati vrijeme trajanja hackathona i pažljivije izračunati njegovo trajanje kako bismo održali visoku razinu uključenosti i posvetili više pažnje motivaciji sudionika u svakoj fazi.

Čitaj više:

Znanstvenici iz zone permafrosta: kako razvijaju pametnu odjeću i cjepivo protiv raka

Znanstvenici “prevarili” vrijeme i poslali foton u prošlost: kako će ovo otkriće promijeniti fiziku

10 znanstvenih činjenica za koje se pokazalo da su lažne. Kartice