Охорона здоров’я

Оцінка пози людини за допомогою штучного інтелекту у фітнес-додатках

mm
Додайте Unite.AI до бажаних джерел у Google

Від Максима Татар’янця, інженера з науки про дані у MobiDev.

Оцінка пози людини відноситься до технології, досить нової, але швидко розвивається, яка грає значну роль у фітнес- та танцювальних додатках, дозволяючи нам розміщувати цифровий контент над реальним світом.

У короткому вигляді, концепція оцінки пози людини – це технологія, заснована на комп’ютерному зорі, яка здатна виявляти та обробляти позу людини. Найважливішою та центральною частиною цієї технології є моделювання людського тіла. Три моделі тіла найвідоміші у сучасних системах оцінки пози людини – скелетна, контурна та об’ємна.

Скелетна модель

Ця модель складається з набору суглобів (ключових точок), таких як коліна, гомілки, зап’ястя, лікті, плечі та орієнтація кінцівок тіла. Ця модель відома своєю гнучкістю та підходить як для тривимірної, так і для двовимірної оцінки пози людини. При тривимірному моделюванні рішення використовує зображення RGB та знаходить координати X, Y та Z суглобів. При двовимірному моделюванні це той же аналіз зображення RGB, але з використанням координат X та Y.

Контурна модель

Ця модель використовує контури тулуба та кінцівок тіла, а також їх приблизну ширину. Тут рішення приймає силует тіла та відтворює частини тіла як прямокутники та межі всередині цього каркаса.

Об’ємна модель

Ця модель загалом використовує серію тривимірних сканів для захоплення форми тіла та перетворює її у каркас із форм та геометричних сіток. Ці форми створюють тривимірну серію поз та представлень тіла.

Як працює тривимірна оцінка пози людини

Фітнес-додатки часто покладаються на тривимірну оцінку пози людини. Для цих додатків чим більше інформації про позу людини, тим краще. За допомогою цієї техніки користувач додатка записує себе під час виконання вправи або тренування. Додаток потім аналізує рухи тіла користувача, пропонуючи виправлення помилок або неточностей.

Типовий робочий процес такого додатка зазвичай слідує такому шаблону:

  • Спочатку, збирається інформація про рухи користувача під час виконання вправи.
  • Далі, визначається, наскільки правильно або неправильно рухи користувача.
  • Нарешті, користувачеві через інтерфейс показується, які помилки він міг зробити.

Наразі стандартом у технології пози людини є топологія COCO. Топологія COCO складається з 17 орієнтирів по всьому тілу, від обличчя до рук та ніг. Зверніть увагу, що COCO не єдина рамка пози людини, а лише найчастіше використовувана.

Цей процес зазвичай використовує технологію глибокого машинного навчання для видобування суглобів при оцінці пози користувача. Потім використовуються геометричні алгоритми для розуміння того, що було знайдено (аналіз відносних позицій виявлених суглобів). Використовуючи динамічне відео як джерело даних, система може використовувати серію кадрів, а не лише один зображення, для захоплення ключових точок. Результатом є значно точніше відтворення рухів користувача, оскільки система може використовувати інформацію з сусідніх кадрів для вирішення будь-яких невизначеностей щодо позиції тіла людини у поточному кадрі.

З усіх сучасних методів використання тривимірної оцінки пози людини у фітнес-додатках найточнішим підходом є застосування моделі для виявлення двовимірних ключових точок та подальша обробка двовимірного виявлення іншою моделлю для перетворення їх у тривимірні прогнози ключових точок.

У дослідженні, яке ми опублікували недавно, використовувався єдиний джерело відео, з використанням звичайних нейронних мереж з розширеними часовими конволюціями для виконання перетворення 2D -> 3D ключових точок.

Після аналізу моделей, які зараз існують, ми визначили, що VideoPose3D – це рішення, яке найкраще відповідає потребам більшості додатків фітнесу, керованих штучним інтелектом. Вхідні дані за допомогою цієї системи повинні дозволяти виявити набір двовимірних ключових точок, де модель, попередньо натренована на наборі даних COCO 2017, застосовується як 2D-детектор.

Для найбільш точного прогнозування позиції поточної ключової точки або суглоба VideoPose3D може використовувати кілька кадрів за коротку послідовність часу для генерації 2D інформації про позу.

Щоб ще більше підвищити точність тривимірної оцінки пози, можна використовувати більше однієї камери для збору альтернативних точок зору користувача під час виконання однієї й тієї ж вправи або тренування. Зверніть увагу, однак, що це вимагає більшої обчислювальної потужності, а також спеціальної архітектури моделі для обробки кількох відеопотоків.

Недавно Google (GOOGL ) представила свою систему BlazePose, модель для мобільних пристроїв для оцінки пози людини шляхом збільшення кількості аналізованих ключових точок до 33, надмножини набору ключових точок COCO та двох інших топологій – BlazePalm і BlazeFace. В результаті модель BlazePose може генерувати результати прогнозування пози, сумісні з моделями рук та обличчя, артикулюючи семантику тіла.

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

Через те, що конвеєр BlazePose (який включає компоненти оцінки та відстеження пози) повинен працювати на різних мобільних пристроях в реальному часі, кожна окрема частина конвеєра розроблена для максимальної обчислювальної ефективності та може працювати на швидкості 200-1000 кадрів в секунду.

Оцінка пози та відстеження у відео, де невідомо, чи присутня людина, зазвичай здійснюються у два етапи.

На першому етапі виконується модель виявлення об’єктів для визначення присутності людини або її відсутності. Після виявлення людини модуль оцінки пози може обробляти локалізовану область, що містить людину, та передбачати позицію ключових точок.

Недолік цього підходу полягає в тому, що для кожного кадру необхідно запускати як модель виявлення об’єктів, так і модель оцінки пози, що споживає додаткові обчислювальні ресурси. Автори BlazePose, однак, знайшли хитрий спосіб обійти цю проблему та ефективно використовувати її в інших модулях виявлення ключових точок, таких як FaceMesh та MediaPipe Hand.

Ідея полягає в тому, що модель виявлення об’єктів (детектор обличчя у випадку BlazePose) може бути використана лише для запуску відстеження пози у першому кадрі, тоді як подальше відстежування людини можна здійснювати виключно за допомогою прогнозів пози після деякої корекції пози, параметри якої передбачаються за допомогою моделі оцінки пози.

Обличчя генерує найсильніший сигнал щодо позиції тулуба для нейронної мережі, оскільки воно має відносно невелику дисперсію у вигляді та високий контраст у своїх особливостях. Таким чином, можна створити швидку, низьку систему для виявлення пози через серію обґрунтованих припущень, заснованих на ідеї, що людська голова буде локалізована у кожному особистому випадку використання.

Переборювання викликів оцінки пози людини

Використання оцінки пози у фітнес-додатках стикається з викликом величезної кількості різноманітних людських поз, наприклад, сотень асан у більшості програм йоги.

Крім того, тіло іноді блокує певні кінцівки, захоплені будь-якою камерою, користувачі можуть носити різні костюми, що приховують особливості тіла та особистий вигляд.

При використанні будь-яких попередньо натренованих моделей зверніть увагу, що незвичайні рухи тіла або незвичайні кути камери можуть привести до помилок у оцінці пози людини. Ми можемо пом’якшити цю проблему до певної міри, використовуючи синтетичні дані з 3D-моделі людського тіла або донастраючи дані, специфічні для певної області.

Хороша новина полягає в тому, що ми можемо уникнути або пом’якшити більшість слабкостей. Ключ до цього полягає у виборі правильних навчальних даних та архітектури моделі. Крім того, тенденція розвитку у сфері технології оцінки пози людини свідчить про те, що деякі з проблем, з якими ми стикаємося зараз, будуть менш актуальними в найближчі роки.

Останнє слово

Оцінка пози людини має ряд потенційних майбутніх застосувань поза сферою фітнес-додатків та відстеження рухів людини, від ігор до анімації, доповненої реальності та робототехніки. Це не повний перелік можливостей, але підкреслює деякі з найбільш ймовірних сфер, де оцінка пози людини внесе свій внесок у наш цифровий ландшафт.

Maksym зацікавлений у здобутті нових знань та досвіду в галузі Data Science і Machine Learning. Він особливо цікавиться технологіями, заснованими на Deep Learning, та їх застосуванням у бізнес-кейсах.