Ochrona zdrowia
Estymacja Pozycji Ciała za Pomocą Sztucznej Inteligencji w Aplikacjach Fitness

Przez Maksyma Tatariantsa, Inżyniera Nauki o Danych w MobiDev.
Estymacja pozycji ciała ludzkiego odnosi się do technologii – dość nowej, a jednak szybko ewoluującej – która odgrywa znaczącą rolę w aplikacjach fitness i tanecznych, umożliwiając nam umieszczenie cyfrowej zawartości w świecie rzeczywistym.
W skrócie, pojęcie estymacji pozycji ciała ludzkiego jest technologią opartą na widzeniu komputerowym, która jest w stanie wykryć i przetworzyć postawę człowieka. Najważniejszą i centralną częścią tej technologii jest modelowanie ciała ludzkiego. Trzy modele ciała są najbardziej popularne w obecnych systemach estymacji pozycji ciała – oparte na szkielecie, konturze i objętości.
Model oparty na szkielecie
Ten model składa się z zestawu stawów (punktów kluczowych), takich jak kolana, kostki, nadgarstki, łokcie, barki i orientacja kończyn ciała. Ten model jest znany ze swojej elastyczności i nadaje się zarówno do trójwymiarowej, jak i dwuwymiarowej estymacji pozycji ciała. Przy modelowaniu trójwymiarowym rozwiązanie wykorzystuje obraz RGB i znajduje współrzędne X, Y i Z stawów. Przy modelowaniu dwuwymiarowym jest to ta sama analiza obrazu RGB, ale z wykorzystaniem współrzędnych X i Y.
Model oparty na konturze
Ten model wykorzystuje kontury tułowia i kończyn ciała, a także ich przybliżoną szerokość. Tutaj rozwiązanie pobiera sylwetkę ramy ciała i renderuje części ciała jako prostokąty i granice w ramach tego frameworku.
Model oparty na objętości
Ten model ogólnie wykorzystuje serię skanów trójwymiarowych do przechwycenia kształtu ciała i przekształca go w framework kształtów i siatek geometrycznych. Te kształty tworzą trójwymiarową serię pozycji i reprezentacji ciała.
Jak działa estymacja trójwymiarowej pozycji ciała
Aplikacje fitness często polegają na estymacji trójwymiarowej pozycji ciała. Dla tych aplikacji im więcej informacji o pozycji ciała, tym lepiej. Z tej techniki użytkownik aplikacji nagrywa się podczas wykonywania ćwiczenia lub rutyny treningowej. Aplikacja następnie analizuje ruchy ciała użytkownika, oferując poprawki dla błędów lub nieścisłości.
Typowy diagram przepływu tego typu aplikacji zazwyczaj podąża za tym wzorcem:
- Po pierwsze, zebranie danych o ruchach użytkownika podczas wykonywania ćwiczenia.
- Następnie, określenie, jak poprawne lub niepoprawne były ruchy użytkownika.
- Wreszcie, pokaż użytkownikowi za pomocą interfejsu, jakie błędy mogli popełnić.
Aktualnie standardem w technologiach estymacji pozycji ciała jest topologia COCO. Topologia COCO składa się z 17 punktów charakterystycznych na ciele, od twarzy po ramiona po nogi. Należy zauważyć, że COCO nie jest jedyną ramą pozycji ciała, a jedynie tą najczęściej używaną.
Ten typ procesu zazwyczaj wykorzystuje głęboką technologię maszynowego uczenia się do wyodrębniania stawów w estymacji pozycji użytkownika. Następnie wykorzystuje algorytmy oparte na geometrii, aby zrozumieć to, co znaleziono (analiza względnych pozycji wykrytych stawów). Podczas korzystania z dynamicznego filmu wideo jako danych wejściowych, system może wykorzystywać serię klatek, a nie tylko jeden obraz, aby przechwycić punkty charakterystyczne. Rezultatem jest znacznie bardziej dokładne odwzorowanie rzeczywistych ruchów użytkownika, ponieważ system może wykorzystywać informacje z sąsiednich klatek, aby rozwiązać niepewności dotyczące położenia ciała w bieżącej klatce.
Spośród obecnych technik stosowanych w estymacji trójwymiarowej pozycji ciała w aplikacjach fitness, najbardziej dokładnym podejściem jest zastosowanie modelu do wykrycia 2D punktów charakterystycznych, a następnie przetworzenie 2D wykrycia za pomocą innego modelu w celu przekształcenia ich w 3D punkty charakterystyczne.
W badaniu, które opublikowaliśmy niedawno, wykorzystano jeden źródłowy film wideo, z sieciami neuronowymi z rozcieńczonymi konwolucjami czasowymi, aby wykonać konwersję 2D -> 3D punktów charakterystycznych.
Po analizie modeli obecnie dostępnych stwierdziliśmy, że VideoPose3D jest rozwiązaniem najlepiej dopasowanym do potrzeb większości aplikacji fitness napędzanych przez sztuczną inteligencję. Wejście przy użyciu tego systemu powinno umożliwić wykrycie 2D punktów charakterystycznych, gdzie model, wstępnie wyuczony na zestawie danych COCO 2017, jest stosowany jako 2D wykrywacz.
Aby uzyskać najbardziej precyzyjną predykcję położenia bieżącego stawu lub punktu charakterystycznego, VideoPose3D może wykorzystywać wiele klatek w krótkiej sekwencji czasu, aby wygenerować 2D informacje o pozycji.
Aby dalej zwiększyć dokładność estymacji trójwymiarowej pozycji ciała, można wykorzystywać więcej niż jedną kamerę, aby przechwycić alternatywne punkty widzenia użytkownika wykonującego to samo ćwiczenie lub rutynę. Należy zauważyć, że wymaga to większej mocy obliczeniowej, a także specjalistycznej architektury modelu, aby poradzić sobie z wieloma strumieniami wideo.
Niedawno Google przedstawił swój system BlazePose, model zorientowany na urządzenia mobilne do estymacji pozycji ciała, zwiększając liczbę punktów charakterystycznych do 33, nadzbiór zestawu punktów charakterystycznych COCO i dwóch innych topologii – BlazePalm i BlazeFace. W rezultacie model BlazePose może generować wyniki predykcji pozycji zgodne z modelami rąk i twarzy, poprzez artykulację semantyki ciała.
Każdy komponent w systemie estymacji pozycji ciała opartym na maszynowym uczeniu się musi być szybki, zajmując maksymalnie kilka milisekund na klatkę do wykrycia i śledzenia pozycji.
Ze względu na fakt, że potok BlazePose (który obejmuje komponenty estymacji i śledzenia pozycji) musi działać na różnych urządzeniach mobilnych w czasie rzeczywistym, każda część potoku jest zaprojektowana tak, aby być bardzo wydajna obliczeniowo i działać z prędkością 200-1000 FPS.
Estymacja i śledzenie pozycji w filmie, w którym nie wiadomo, czy i gdzie jest obecna osoba, jest zazwyczaj wykonywana w dwóch etapach.
W pierwszym etapie uruchamiany jest model wykrywania obiektów w celu zlokalizowania obecności człowieka lub identyfikacji jego braku. Po wykryciu osoby moduł estymacji pozycji może przetworzyć zlokalizowany obszar zawierający osobę i przewidzieć położenie punktów charakterystycznych.
Wadą tego układu jest to, że wymaga on zarówno modelu wykrywania obiektów, jak i estymacji pozycji, aby działać dla każdej klatki, co zużywa dodatkowe zasoby obliczeniowe. Autorzy BlazePose wymyślili jednak inteligentny sposób, aby ominąć ten problem i wykorzystać go w innych modułach wykrywania punktów charakterystycznych, takich jak FaceMesh i MediaPipe Hand.
Pomysł polega na tym, że moduł wykrywania obiektów (wykrywacz twarzy w przypadku BlazePose) może być użyty tylko do zainicjowania śledzenia pozycji w pierwszej klatce, podczas gdy kolejne śledzenie osoby może być wykonywane przy użyciu wyłącznie predykcji pozycji po pewnym wyrównaniu pozycji, parametry, które są przewidywane za pomocą modelu estymacji pozycji.
Twarz wytwarza najsilniejszy sygnał dotyczący położenia tułowia dla sieci neuronowej, w wyniku względnie małej zmienności w wyglądzie i wysokiego kontrastu w jej cechach. W związku z tym możliwe jest stworzenie szybkiego, niskiego nakładu systemu do wykrywania pozycji poprzez serię uzasadnionych założeń opartych na idei, że głowa człowieka będzie zlokalizowana w każdym przypadku użycia.
Pokonywanie wyzwań estymacji pozycji ciała
Używanie estymacji pozycji ciała w aplikacjach fitness staje się wyzwaniem ze względu na ogromną ilość różnych pozycji ciała, na przykład setek asan w większości ćwiczeń jogi.
Ponadto ciało może czasem blokować pewne kończyny, jakkolwiek są one przechwytywane przez daną kamerę, użytkownicy mogą nosić różne stroje, które zasłaniają cechy ciała i wygląd.
Podczas korzystania z dowolnych wstępnie wyuczonych modeli, należy zauważyć, że niezwykłe ruchy ciała lub nietypowe kąty kamery mogą prowadzić do błędów w estymacji pozycji ciała. Możemy złagodzić ten problem do pewnego stopnia, wykorzystując dane syntetyczne z 3D modelu renderowania ciała lub poprzez dostosowanie do danych specyficznych dla danego obszaru.
Dobra wiadomość jest taka, że możemy uniknąć lub złagodzić większość słabości. Kluczem do tego jest wybranie odpowiednich danych szkoleniowych i architektury modelu. Ponadto tendencja rozwoju w dziedzinie technologi estymacji pozycji ciała sugeruje, że niektóre z problemów, z którymi mamy do czynienia obecnie, będą mniej istotne w nadchodzących latach.
Ostateczne słowo
Estymacja pozycji ciała ludzkiego ma wiele potencjalnych zastosowań w przyszłości poza obszarem aplikacji fitness i śledzenia ruchów ludzkich, od gier po animację, rzeczywistość rozszerzoną i robotykę. To nie jest pełna lista możliwości, ale podkreśla niektóre z najbardziej prawdopodobnych obszarów, w których estymacja pozycji ciała przyczyni się do naszego cyfrowego krajobrazu.
















