РОЗРОБКА СИСТЕМИ КОМП‘ЮТЕРНОГО МОДЕЛЮВАННЯ ТА АНАЛІЗУ РУХІВ ЛЮДИНИ У ЦЕНТРАХ РЕАБІЛІТАЦІЇ
06.02.2023 12:15
[1. Інформаційні системи і технології]
Автор: Горбунов Олег Андрійович, кандидат біологічних наук, факультет комп’ютерних наук та кібернетики, Київський національний університет імені Тараса Шевченка, м. Київ; Щербина Павло Андрійович, бакалавр, факультет комп’ютерних наук та кібернетики, Київський національний університет імені Тараса Шевченка, м. Київ
З початком великомасштабних військових дій на території України група пацієнтів у Центрі медичної реабілітації та санаторного лікування «Пуща-Водиця» суттєво змінилася, 90 відсотків пацієнтів становлять пацієнти, які перебувають після ампутацій кінцівок. Реабілітація таких пацієнтів має низку своїх особливостей, які спричиняють особливі вимоги до СВКМ.
Перша група, яку обрали для досліджень – група військовослужбовців з ампутацією нижніх кінцівок, осколковими та кульовими пораненнями. На перших етапах спільним для них є обмеження у пересуванні, вправи переважно виконується у положенні лежачи, перебуваючи в палаті.
Ампутація – серйозне випробування для організму, серцево-судинної, імунної, опорно-рухової системих. А постільний режим, якого необхідно дотримуватись після ампутації, зовсім не додає здоров'я.
Фізіотерапія, основу якої складає комплекс вправ лікувальної гімнастики, дозволяє поліпшити кровообіг, відновити рухливість суглобів, зняти набряклість і помірно збільшити силові показники частини кукси, що збереглася.
Заняття повинні чергуватись з періодами відпочинку приблизно в рівних проміжках, завдяки чому досягається максимальна ефективність.
Загальна вимога. Важливо підтримувати більш-менш однакове адекватне навантаження на здорову кінцівку та куксу, щоб забезпечити правильну ходу.
Дозоване фізичне навантаження дозволяє вирішити такі завдання: покращити психоемоційний стан, активізувати різні ланки імунної системи, посилити функціональні можливості серцево-судинної та дихальної систем, забезпечити збільшення загальної кількості імунних клітин у кров'яному руслі за рахунок виходу їх з депо та активізації крово- та лімфообігу. Показники імунологічної реактивності за даними досліджень залежать від обсягу та інтенсивності фізичних навантажень. При помірному фізичному навантаженні показники загального та місцевого імунітету підвищуються, і навпаки, чим більша інтенсивність та обсяг фізичних вправ, тим нижча імунологічна реактивність організму людини.
Таким чином, важливим показником виконання вправи є темп і навантаження, що виражаються в параметрах часу виконання та швидкості руху. Для виявлення цих параметрів, в систему будується на алгоритмах аналізу зміни положення опорних точок пацієнтів у просторі.
Рисунок 1 – Представлення скелетону людини
Сукупність виділиних опорних точок на кожному кадрі утворюють склетон пацієнта(Рис.1). Далі на основі їх координатів ми можемо проводити аналіз виконання фізичних вправ та обраховувати параметри швидкості та часу.
Для того, щоб виділити опорні точки за допомогою звичаної RGB камери ми використовуємо інструмент OpenPose [1], який швидко обробляє кадри та видає точні координати скелетону людини. Система є досить гнучка, вхідні дані можуть бути з камери в реальному часі чи відеозапису.
Розглянемо аналіз вправи скручування на біцепс [2]– це вправа, яка ізолює біцепс, великий м’яз у верхній частині руки, що відповідає за згинання та скручування в лікті. При скручуванні на біцепс гантель піднімається вгору, обертаючись навколо ліктя з положення спокою, при цьому інші частини тіла залишаються нерухомими. Ця вправа спрямована на укріплення двоголового м’язу плеча або біцепсу. Поширені помилки під час виконання скручування на біцепс включають використання плеча, щоб допомогти підняти вагу вгору, а також підйом ваги не повністю.
Рисунок 2 – Вправа: скручування на біцепс
У нашому евристичному алгоритмі ми враховуємо діапазон кута між плечем і тулубом, на рисунку 2 позначено як кут ψ (вимірювання відбувається коли користувач крутить плечем при виконанні вправи), та мінімальний кут між плечем та передпліччям, на рисунку 2.8 позначено як кут φ (означає висоту, на яку користувач піднімає вагу). Кути обраховуються шляхом побудови векторів на точках (x1, y1), (x2, y2), (x3, y3), (x4, y4) (x1, y1), (x2, y2), (x3, y3), (x4, y4).
Якщо діапазон між плечем і тулубом виходить за 35°, ми визначаємо це як значне обертання плеча. На рисунку 3 продемонстрована зміна кута ψ при правильному та не правильному виконанні вправи (зліва на право).
Рисунок 3 – Зміна кута ψ між плечем та тулубом
Якщо мінімальний кут між плечем та передпліччям більше за 70°, це означає не виконання вправи до кінця. Якщо мінімальний кут між плечем та передпліччям більше за 70°, це означає не виконання вправи до кінця. На рисунку 4 продемонстрована зміна кута φ при правильному та не правильному виконанні вправи (зліва на право).
Рисунок 4 – Зміна кута φ між плечем та перепліччям
Підйом гантелей спереду [2] — це вправа з вільною вагою, спрямована на плечі, зокрема на передню частину дельтоподібних м’язів. Користувач спочатку тримає гантелі на боці, а потім піднімає їх перед собою, переважно з прямими руками. Виконавець повинен тримати тіло нерухомим, щоб ізолювати навантаження на плечі, також піднімати гантелі слід трішки вище плечей, щоб виконати повний цикл вправи. Поширені помилки включають черезмірне напруження та використання рухів тулуба для полегшення навантаження, а також не піднімання вище плеч.
Рисунок 5 – Вправа: підйом гантелей спереду
Геометричний алгоритм фронтального підйому вимірює горизонтальний діапазон руху спини, а також максимальний кут між тулубом і рукою на рисунку 5 кут ψ. Рух спини вимірюється шляхом обчислення найбільшої зміни вектора опорних точок спини протягом усього відеозапису, щоб визначити чи полегшує користувач піднімання ваги шляхом розхитування тулуба. Кут нахилу рук відносно тулуба, для того, щоб визначити чи повністю користувач виконує вправу.
Важливо, що наша система побудована на обрахунку кутів між векторами частин тіла пацієнта є досить гнучка в її налаштуваннях, адже кожен пацієнт є унікальним і набір патології у кожного різний. В деяких випадках пацієнт, фізично або через сильний біль, не зможе підняти руку на певну висоту, а гнучке налаштування дозволить під лаштуватися під кожного і працювати в його робочому діапазоні.
Такій аналіз дає змогу досить точно підрахувати кількість виконаних циклів вправи та швидкість виконання. На перших етапах реабілітації, коли вправа виконується без додаткової ваги, дуже важливо, щоб пацієнт не робив повторення занадто швидко. Система має повідомити йому про це, підрахувавши кількість виконаних повторень за хвилину.
Далі результати кожного сета (кількість повторень у вправі) з самопочуттям пацієнтів після виконання вправи зберігаються в базу даних для подальшого їх аналізу. Це дасть змогу спостерігати динаміку реабілітації, з визначенням подальших планів тренувань.
На відміну від геометричного аналізу кутів між частинами скелетона, є підхід з використанням машинного навчання. Оскільки записані відео можуть мати довільну довжину, це призводить до зміни довжини векторів опорних точок в кожному прикладі. Класифікація з різною довжиною вектора ознак є складною задачею для машинного навчання. Ми розв’язуємо цю проблему за допомогою DTW[3] з класифікатором найближчого сусіда [4].
DTW – це показник, якій використовується для вимірювання нелінійної подібності між двома часовими рядами. Коли дві подібні послідовності зміщені по фазі (тобто зміщені у часовому вимірі), такі показники, як Евклідова відстань не можуть бути обчисленими, тому що це пряме порівняння двох точок в один момент часу, рисунок6. З DTW ми намагаємося динамічно ідентифікувати опорну точку другої послідовності рухів, що відповідає заданій послідовності у першій.
Рисунок 6 Порівняння Евклідової відстані та алгоритму динамічного викривлення часу
Маємо дві послідовності опорних точок
, будуємо матрицю відстаней
це Евклідова відстань між точками P
iP
i та q
jq
j . Перебираємо усі точки матриці за допомогою динамічного програмування, знаходимо оптимальний збіг точок у кожній послідовності і обчислюємо відстань між відповідними точками. Недоліком DTW є те, що він не стійкий до шуму. Коли OpenPose генерує шумні опорні точки, це впливає на продуктивність DTW. Щоб покращити результати ми двічі застосовуємо медіанний фільтр на послідовність опорних точок перед обчисленням мір. Потім беремо послідовність опорних точок і обчислюємо DTW відстань на усіх навчальних послідовностях. Врешті решт створюємо двійковий класифікатор найближчого сусіда, який прогнозує «правильна» чи «неправильна» форма на основі відстані DTW.
Точність DTW класифікатора представлена в таблиці 2.3. У таблиці представлені 3 метрики 0 [6]: Precision, Recall та F1.
Precision – рахує яка частина наших передбачень “правильно” дійсно збулася.
Recall – коли в прикладах було “правильно”, рахуємо яку частку із цих випадків модель передбачила правильно.
F1 – це комбінація Recall i Precision:
Таблиця 1 – Точність розпізнавання коректного виконання вправи
Література
1. OpenPose: Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields. Zhe Cao; Gines Hidalgo; Tomas Simon; Shih-En Wei; Yaser Sheikh
2. THERAPEUTIC EXERCISE for Physical Therapist Assistants WILLIAM D. BANDY, BARBARA SANDERS
3. Gold, Omer; Sharir, Micha (2018). "Dynamic Time Warping and Geometric Edit Distance: Breaking the Quadratic Barrier"
4. Bishop: Pattern Recognition and Machine Learning
5. An introduction to Dynamic Time Warping. Romain Tavenard
6. Powers, David M W (2011). "Evaluation: From Precision, Recall and F-Measure to ROC, Informedness, Markedness & Correlation"
7. Горбунов О.А., Щербина П.А. Алгоритми побудови скелетону для системиреабілітації,«Інформаційні Техтології і Автоматизація – 2021»