Ochrona zdrowia
Estymacja Pozycji Człowieka za Pomocą Sztucznej Inteligencji w Aplikacjach Fitness

Przez Maksyma Tatariantsa, Inżyniera Naukowego w dziedzinie Sztucznej Inteligencji w MobiDev.
Estymacja pozycji człowieka to technologia – stosunkowo nowa, ale szybko ewoluująca – odgrywająca znaczącą rolę w aplikacjach fitness i tanecznych, umożliwiająca nam umieszczanie treści cyfrowych w świecie rzeczywistym.
Estymacja pozycji człowieka to technologia oparta na sztucznej inteligencji, która pozwala wykryć i przetworzyć pozycję człowieka. Najważniejszą częścią tej technologii jest modelowanie ciała ludzkiego. Trzy modele ciała są najbardziej popularne w systemach estymacji pozycji człowieka – 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, ramiona i orientacja kończyn ciała. Ten model jest znany ze swojej elastyczności i nadaje się zarówno do estymacji pozycji człowieka w 3D, jak i 2D. W przypadku modelowania 3D rozwiązanie wykorzystuje obraz RGB i znajduje współrzędne X, Y i Z stawów. W przypadku modelowania 2D jest to analiza obrazu RGB, ale z użyciem 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ść. Rozwiązanie pobiera sylwetkę ramy ciała i renderuje części ciała jako prostokąty i granice w ramach tej ramy.
Model oparty na objętości
Ten model wykorzystuje szereg skanów 3D, aby uchwycić kształt ciała i przekonwertować go w ramy kształtów i siatek geometrycznych. Kształty te tworzą serię 3D pozycji i reprezentacji ciała.
Jak działa estymacja pozycji człowieka w 3D
Aplikacje fitness często polegają na estymacji pozycji człowieka w 3D. Dla tych aplikacji im więcej informacji o pozycji człowieka, tym lepiej. Z tej techniki użytkownik aplikacji nagrywa się podczas wykonywania ćwiczeń lub rutyny treningowej. Aplikacja następnie analizuje ruchy ciała użytkownika, oferując poprawki błędów lub nieścisłości.
Typowy diagram przepływu takiej aplikacji zazwyczaj następuje według tego wzorca:
- Po pierwsze, zebranie danych o ruchach użytkownika podczas wykonywania ćwiczenia.
- Po drugie, określenie, jak poprawne lub niepoprawne były ruchy użytkownika.
- Wreszcie, poinformowanie użytkownika za pomocą interfejsu o błędach, które mógł popełnić.
Aktualnie standardem w technologiach estymacji pozycji człowieka jest topologia COCO. Topologia COCO składa się z 17 punktów orientacyjnych na ciele, od twarzy po ramiona i nogi. Należy zauważyć, że COCO nie jest jedyną ramą pozycji ciała, ale jest najczęściej używana.
Ten proces zazwyczaj wykorzystuje głęboką technologię sztucznej inteligencji do wykrycia stawów w estymacji pozycji użytkownika. Następnie zastosowano algorytmy oparte na geometrii, aby zrozumieć, co znaleziono (analiza względnych pozycji wykrytych stawów). Podczas korzystania z dynamicznego filmu wideo jako danych wejściowych, system może wykorzystać serię klatek, a nie tylko jeden obraz, aby uzyskać informacje o punktach kluczowych. Wynikiem jest znacznie bardziej dokładne odwzorowanie 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 w bieżącej klatce.
Spośród obecnych technik wykorzystania estymacji pozycji człowieka w 3D w aplikacjach fitness, najbardziej precyzyjnym podejściem jest zastosowanie modelu do wykrycia punktów kluczowych 2D, a następnie przetworzenie wykrycia 2D za pomocą innego modelu w celu przekonwertowania ich w przewidywania punktów kluczowych 3D.
W badaniach, które opublikowaliśmy niedawno, wykorzystano pojedyncze źródło wideo, a sieci neuronowe z rozcieńczonymi konwolucjami czasowymi zastosowano do przekonwertowania punktów kluczowych 2D w 3D.
Po przeanalizowaniu obecnych modeli stwierdziliśmy, że VideoPose3D jest rozwiązaniem najlepiej dopasowanym do potrzeb większości aplikacji fitness napędzanych przez sztuczną inteligencję. Wejście do tego systemu powinno umożliwić wykrycie zestawu punktów kluczowych 2D, gdzie model wstępnie przeszkolony na danych z 2017 roku jest stosowany jako wykrywacz 2D.
Aby uzyskać najbardziej precyzyjne przewidywanie pozycji bieżącego stawu lub punktu kluczowego, VideoPose3D może wykorzystać wiele klatek w krótkiej sekwencji czasu, aby wygenerować informacje o pozycji 2D.
Aby dalej zwiększyć dokładność estymacji pozycji człowieka w 3D, można wykorzystać więcej niż jedną kamerę, aby uzyskać 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 specjalnej architektury modelu, aby poradzić sobie z wieloma strumieniami wejściowymi wideo.
Niedawno Google (GOOGL ) opublikowało swój system BlazePose, model orientowany na urządzenia przenośne do estymacji pozycji człowieka, zwiększając liczbę punktów kluczowych do 33, nadzbiór zestawu punktów kluczowych COCO i dwóch innych topologii – BlazePalm i BlazeFace. W rezultacie model BlazePose może generować wyniki przewidywania pozycji zgodne z modelami rąk i twarzy, artykułując semantykę ciała.
Każdy komponent w systemie estymacji pozycji człowieka opartym na sztucznej inteligencji musi być szybki, zajmując maksymalnie kilka milisekund na klatkę do wykrycia i śledzenia modeli.
Ponieważ potok BlazePose (który obejmuje komponenty estymacji i śledzenia pozycji) musi działać na różnych urządzeniach przenośnych w czasie rzeczywistym, każdy poszczególny element potoku jest zaprojektowany tak, aby być bardzo wydajnym obliczeniowo i działać z prędkością 200-1000 klatek na sekundę.
Estymacja i śledzenie pozycji w filmie, w którym nie wiadomo, czy i gdzie jest osoba, jest zazwyczaj wykonywane w dwóch etapach.
Na pierwszym etapie uruchamiany jest model wykrywania obiektów, aby zlokalizować obecność człowieka lub określić jego brak. Po wykryciu osoby moduł estymacji pozycji może przetworzyć zlokalizowany obszar zawierający osobę i przewidzieć pozycję punktów kluczowych.
Wadą tego rozwiązania jest to, że wymaga uruchomienia modelu wykrywania obiektów i estymacji pozycji dla każdej klatki, co zużywa dodatkowe zasoby obliczeniowe. Autorzy BlazePose jednak opracowali inteligentny sposób, aby ominąć ten problem i wykorzystać go w innych modułach wykrywania punktów kluczowych, 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 następne śledzenie osoby może być wykonane przy użyciu wyłącznie przewidywań pozycji po wstępnej orientacji, parametry które są przewidywane przy użyciu modelu estymacji pozycji.
Twarz daje najsilniejszy sygnał dotyczący pozycji 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 systemu nadzorowania pozycji poprzez serię uzasadnionych założeń opartych na idei, że głowa człowieka będzie zawsze widoczna w każdym przypadku użycia.
Pokonywanie wyzwań estymacji pozycji człowieka
Użycie estymacji pozycji w aplikacjach fitness napotyka wyzwanie ogromnej ilości różnych pozycji człowieka, na przykład setek asan w większości ćwiczeń jogi.
Ponadto ciało może czasem blokować niektóre kończyny, jak to jest widoczne na danym zdjęciu, użytkownicy mogą nosić różne stroje, które mogą przeszkadzać w rozpoznawaniu cech ciała.
Podczas korzystania z pre-trenowanych 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 człowieka. Możemy częściowo złagodzić ten problem, wykorzystując dane syntetyczne z 3D modelu ciała lub poprzez dostosowanie modelu 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 estymacji pozycji człowieka 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 człowieka ma wiele potencjalnych zastosowań w przyszłości poza obszarem aplikacji fitness i śledzenia ruchów człowieka, od gier po animację, rzeczywistość rozszerzoną i robotykę. Nie jest to pełna lista możliwości, ale podkreśla niektóre z najbardziej prawdopodobnych obszarów, w których estymacja pozycji człowieka przyczyni się do naszego cyfrowego krajobrazu.
















