stub Szacowanie pozycji AI w aplikacji fitness - Unite.AI
Kontakt z nami

Zdrowie

Szacowanie pozycji AI w aplikacji fitness

mm

Opublikowany

 on

Autor: Maksym Tatariants, inżynier Data Science w firmie MobiDev.

Szacowanie pozycji człowieka odnosi się do technologii – dość nowej, ale szybko rozwijającej się – która odgrywa znaczącą rolę w zastosowaniach związanych z fitnessem i tańcem, umożliwiając nam umieszczanie treści cyfrowych w świecie rzeczywistym.

Krótko mówiąc, koncepcja szacowania pozycji człowieka to technologia oparta na wizji komputerowej, zdolna do wykrywania i przetwarzania ludzkiej postawy. Najważniejszą i centralną częścią tej technologii jest modelowanie ciała człowieka. W obecnych systemach szacowania pozycji człowieka najbardziej widoczne są trzy modele ciała – oparty na szkielecie, oparty na konturach i oparty na objętości.

Model oparty na szkielecie

Model ten składa się z zestawu stawów (punktów kluczowych), takich jak kolana, kostki, nadgarstki, łokcie, ramiona i orientacji kończyn ciała. Model ten wyróżnia się elastycznością i jako taki nadaje się zarówno do trójwymiarowego, jak i dwuwymiarowego szacowania pozycji człowieka. Dzięki modelowaniu trójwymiarowemu rozwiązanie wykorzystuje obraz RGB i znajduje współrzędne X, Y i Z połączeń. W przypadku modelowania dwuwymiarowego jest to ta sama analiza obrazu RGB, ale przy użyciu współrzędnych X i Y.

Model oparty na konturze

Model ten wykorzystuje kontury tułowia i kończyn oraz ich przybliżoną szerokość. W tym przypadku rozwiązanie wykorzystuje sylwetkę ramy nadwozia i renderuje części nadwozia jako prostokąty i granice w tej strukturze.

Model oparty na objętości

Model ten zazwyczaj wykorzystuje serię trójwymiarowych skanów, aby uchwycić kształt ciała i przekształcić go w strukturę kształtów i siatek geometrycznych. Kształty te tworzą trójwymiarową serię póz i reprezentacji ciała.

Jak działa szacowanie pozycji człowieka w 3D

Aplikacje fitness zwykle opierają się na trójwymiarowej ocenie pozycji człowieka. W przypadku tych aplikacji im więcej informacji na temat pozycji człowieka, tym lepiej. Dzięki tej technice użytkownik aplikacji nagrywa siebie podczas ćwiczeń lub ćwiczeń. Aplikacja przeanalizuje następnie ruchy ciała użytkownika i zaoferuje poprawki w przypadku błędów lub niedokładności.

Schemat blokowy tego typu aplikacji jest zazwyczaj zgodny z następującym wzorcem:

  • Najpierw zbierz dane na temat ruchów użytkownika podczas wykonywania ćwiczenia.
  • Następnie określ, jak prawidłowe lub nieprawidłowe były ruchy użytkownika.
  • Na koniec pokaż użytkownikowi poprzez interfejs, jakie błędy mógł popełnić.

Obecnie standardem w technologii ułożenia człowieka jest Topologia COCO. Topologia COCO składa się z 17 punktów orientacyjnych na całym ciele, od twarzy, przez ramiona, aż po nogi. Należy pamiętać, że COCO nie jest jedynym modelem ułożenia ciała człowieka, a jedynie najczęściej używanym.

W tego typu procesie zazwyczaj wykorzystuje się technologię głębokiego uczenia maszynowego do wyodrębniania stawów w celu oszacowania pozycji użytkownika. Następnie wykorzystuje algorytmy oparte na geometrii, aby zrozumieć to, co zostało znalezione (analizować względne położenie wykrytych połączeń). Używając dynamicznego wideo jako danych źródłowych, system może wykorzystać serię klatek, a nie tylko pojedynczy obraz, do uchwycenia kluczowych punktów. Rezultatem jest znacznie dokładniejsze odwzorowanie rzeczywistych ruchów użytkownika, ponieważ system może wykorzystać informacje z sąsiednich klatek, aby rozwiązać wszelkie niepewności dotyczące pozycji ciała ludzkiego w bieżącej klatce.

Spośród obecnych technik wykorzystania szacowania pozycji 3D w zastosowaniach związanych z fitnessem, najdokładniejszym podejściem jest najpierw zastosowanie modelu w celu wykrycia kluczowych punktów 2D, a następnie przetworzenie wykrycia 2D za pomocą innego modelu w celu przekształcenia ich w przewidywania punktów kluczowych 3D. 

W Badania naukowe co pisaliśmy niedawno, wykorzystano jedno źródło wideo ze splotowymi sieciami neuronowymi z rozszerzonymi splotami czasowymi zastosowanymi do konwersji punktu kluczowego 2D -> 3D.

Po przeanalizowaniu dostępnych obecnie modeli ustaliliśmy, że VideoPose3D to rozwiązanie najlepiej dostosowane do potrzeb większości aplikacji fitness opartych na sztucznej inteligencji. Dane wejściowe wykorzystujące ten system powinny umożliwiać wykrycie zestawu punktów kluczowych 2D, gdzie model wstępnie wytrenowany na zbiorze danych COCO 2017 jest stosowany jako: Detektor 2D. 

Aby jak najdokładniej przewidzieć położenie bieżącego stawu lub punktu kluczowego, VideoPose3D może wykorzystać wiele klatek w krótkiej sekwencji czasu w celu wygenerowania informacji o pozie 2D. 

Aby jeszcze bardziej zwiększyć dokładność szacowania pozycji 3D, więcej niż jedna kamera może gromadzić alternatywne punkty widzenia użytkownika wykonującego to samo ćwiczenie lub procedurę. Należy jednak pamiętać, że wymaga to większej mocy obliczeniowej, a także wyspecjalizowanej architektury modelu, aby poradzić sobie z wieloma wejściami strumieni wideo.

Ostatnio Google odsłonięty ich system BlazePose, model zorientowany na urządzenia mobilne do szacowania pozycji człowieka poprzez zwiększenie liczby analizowanych punktów kluczowych do 33, nadzbiór zestawu punktów kluczowych COCO i dwie inne topologie – BlazePalm i BlazeFace. W rezultacie model BlazePose może generować wyniki przewidywania pozycji spójne z modelami dłoni i modelami twarzy poprzez wyrażanie semantyki ciała.

Każdy element systemu szacowania pozycji człowieka opartego na uczeniu maszynowym musi działać szybko i zajmować maksymalnie kilka milisekund na klatkę w przypadku modeli wykrywania i śledzenia pozycji. 

Ze względu na fakt, że potok BlazePose (który obejmuje elementy szacowania pozycji i śledzenia) musi działać na różnych urządzeniach mobilnych w czasie rzeczywistym, każda pojedyncza część potoku została zaprojektowana tak, aby była bardzo wydajna obliczeniowo i działała z szybkością 200-1000 FPS .

Oszacowanie i śledzenie pozycji w filmie, w przypadku gdy nie wiadomo, czy i gdzie dana osoba jest obecna, zwykle odbywa się w dwóch etapach. 

W pierwszym etapie prowadzony jest model detekcji obiektu w celu zlokalizowania obecności człowieka lub zidentyfikowania jego nieobecności. Po wykryciu osoby moduł oszacowania pozycji może przetworzyć zlokalizowany obszar zawierający tę osobę i przewidzieć położenie kluczowych punktów.

Wadą tej konfiguracji jest to, że wymaga ona działania modułów wykrywania obiektów i szacowania pozycji dla każdej klatki, co zużywa dodatkowe zasoby obliczeniowe. Autorzy BlazePose obmyślili jednak sprytny sposób obejścia tego problemu i wydajnego wykorzystania go w innych modułach wykrywania kluczowych punktów, takich jak FaceMesh i Ręka MediaPipe.

Pomysł jest taki, że moduł wykrywania obiektów (detektor twarzy w przypadku BlazePose) może zostać użyty jedynie do rozpoczęcia śledzenia pozy w pierwszej klatce, podczas gdy późniejsze śledzenie osoby może odbywać się wyłącznie przy użyciu przewidywań pozy po pewnym dopasowaniu pozycji, parametry, dla których przewiduje się za pomocą modelu estymacji ułożenia.

Twarz daje najsilniejszy sygnał o położeniu tułowia dla sieci neuronowej, co wynika ze stosunkowo małej zmienności wyglądu i dużego kontrastu jej rysów. W rezultacie możliwe jest stworzenie szybkiego, niedrogiego systemu wykrywania pozycji, opierając się na szeregu uzasadnionych założeń opartych na założeniu, że ludzką głowę będzie można zlokalizować w każdym przypadku użycia osobistego.

Pokonanie wyzwań związanych z oceną pozycji człowieka

Korzystanie z szacowania pozycji w aplikacjach fitness wiąże się z wyzwaniem związanym z ogromną liczbą różnych pozycji człowieka, na przykład setkami asan w większości programów jogi. 

Co więcej, ciało czasami blokuje określone kończyny, co zostało uchwycone przez dowolną kamerę. Użytkownicy mogą nosić różne stroje zaciemniające rysy ciała i wygląd.

Korzystając z wcześniej wytrenowanych modeli, należy pamiętać, że mogą wystąpić nietypowe ruchy ciała lub dziwne kąty kamery błędy w ocenie pozycji człowieka. Możemy w pewnym stopniu złagodzić ten problem, wykorzystując syntetyczne dane z renderowania modelu ludzkiego ciała 3D lub dostrajając dane specyficzne dla danej domeny.

Dobra wiadomość jest taka, że ​​większości słabości możemy uniknąć lub złagodzić. Kluczem do tego jest wybranie odpowiednich danych szkoleniowych i architektury modelu. Co więcej, tendencja rozwoju w dziedzinie technologii szacowania pozycji człowieka sugeruje, że niektóre z problemów, przed którymi stoimy obecnie, w nadchodzących latach będą mniej istotne.

Ostatnie słowo

Oszacowanie pozycji człowieka może mieć wiele potencjalnych przyszłych zastosowań poza obszarem aplikacji fitness i śledzenia ruchów człowieka, od gier po animację, rzeczywistość rozszerzoną i robotykę. Nie stanowi to pełnej listy możliwości, ale podkreśla niektóre z najbardziej prawdopodobnych obszarów, w których oszacowanie pozycji człowieka wpłynie na nasz cyfrowy krajobraz.

Maksymowi zależy na zdobywaniu nowych spostrzeżeń i doświadczeń w obszarze Data Science i Machine Learning. Szczególnie interesuje się technologiami opartymi na głębokim uczeniu się i ich zastosowaniem w zastosowaniach biznesowych.