Zdravotnictví
Odhad polohy těla pomocí AI v aplikacích pro fitness

Od Maksyma Tatariants, inženýra datové vědy ve společnosti MobiDev.
Odhad polohy těla je technologie – poměrně nová, ale rychle se vyvíjející – která hraje významnou roli v aplikacích pro fitness a tanec, umožňující nám umisťovat digitální obsah do skutečného světa.
Stručně řečeno, koncept odhadu polohy těla je založen na technologii počítačového vidění, která je schopná detekovat a zpracovávat polohu lidského těla. Největší a nejstřednější částí této technologie je modelování lidského těla. Tři modely těla jsou nejvýraznější v současných systémech odhadu polohy těla – založené na skeletu, konturu a objemu.
Model založený na skeletu
Tento model se skládá z množiny kloubů (klíčových bodů), jako jsou kolena, kotníky, zápěstí, lokty, ramena a orientace končetin těla. Tento model je známý svou flexibilitou a je proto vhodný pro odhad polohy těla ve 3D i 2D. Při 3D modelování se používá RGB obraz a najdou se X, Y a Z souřadnice kloubů. Při 2D modelování se používá stejná analýza RGB obrazu, ale pomocí X a Y souřadnic.
Model založený na konturu
Tento model využívá kontur trupu a končetin těla, stejně jako jejich přibližnou šířku. Zde řešení bere siluetu rámu těla a vykresluje části těla jako obdélníky a hranice uvnitř tohoto rámce.
Model založený na objemu
Tento model obecně využívá série 3D skenů k zachycení tvaru těla a převodu jej do rámce tvarů a geometrických mřížek. Tyto tvary vytvářejí 3D sérii póz a reprezentací těla.
Jak funguje 3D odhad polohy těla
Aplikace pro fitness se obvykle spoléhají na 3D odhad polohy těla. Pro tyto aplikace je čím více informací o poloze těla, tím lépe. S touto technikou uživatel aplikace nahrává sebe při cvičení nebo tréninku. Aplikace poté analyzuje pohyby těla uživatele a nabízí korekce chyb nebo nepřesností.
Tento typ aplikací obvykle následuje tento vzor:
- Nejprve shromážděte data o pohybech uživatele během cvičení.
- Dále určete, jak správně nebo nesprávně byly pohyby uživatele.
- Nakonec zobrazte uživateli prostřednictvím rozhraní, jaké chyby mohl udělat.
V současné době je standardem v technologii odhadu polohy těla COCO topologie. COCO topologie se skládá z 17 orientačních bodů po celém těle, od obličeje po ruce a nohy. Poznámka: COCO není jediný rámec pro polohu lidského těla, ale je nejčastěji používaný.
Tento typ procesu obvykle využívá hluboké technologie strojového učení pro extrakci kloubů při odhadu polohy uživatele. Poté využívá geometrické algoritmy k analýze toho, co nalezl (analýza relativních pozic detekovaných kloubů). Při použití dynamického videa jako zdrojových dat může systém použít řadu snímků, nejen jeden obraz, k zachycení svých klíčových bodů. Výsledkem je mnohem přesnější vykreslení skutečných pohybů uživatele, protože systém může využít informace z okolních snímků k vyřešení jakýchkoli nejistot týkajících se pozice lidského těla ve současnosti.
Z aktuálních technik pro použití 3D odhadu polohy těla v aplikacích pro fitness je nejpreciznější přístup aplikovat model pro detekci 2D klíčových bodů a poté zpracovat 2D detekci pomocí jiného modelu pro převod na 3D klíčové bodové předpovědi.
Ve výzkumu, který jsme nedávno zveřejnili, byl použit jeden zdrojový video, s konvolučními neuronovými sítěmi s dilatovanými časovými konvolucemi aplikovanými pro provedení 2D -> 3D klíčového bodového převodu.
Po analýze aktuálních modelů jsme zjistili, že VideoPose3D je řešení nejlépe přizpůsobené potřebám většiny aplikací pro fitness s umělou inteligencí. Vstupní data pomocí tohoto systému by měla umožnit detekci 2D množiny klíčových bodů, kde je aplikován model, který byl předem vyškolen na datové sadě COCO 2017, jako 2D detektor.
Pro nejpreciznější předpověď pozice aktuálního kloubu nebo klíčového bodu může VideoPose3D využít více snímků po krátké sekvenci času pro generování 2D informací o poloze.
Pro další zvýšení přesnosti 3D odhadu polohy těla lze použít více kamer pro zachycení alternativních pohledů na uživatele během cvičení nebo tréninku. Poznámka: to však vyžaduje větší zpracování výkonu a specializovanou architekturu modelu pro zpracování více video vstupů.
Nedávno odhalila společnost Google svůj systém BlazePose, model pro odhad polohy lidského těla na mobilních zařízeních, který zvyšuje počet analyzovaných klíčových bodů na 33, nadmnožinu sady klíčových bodů COCO a dvou dalších topologií – BlazePalm a BlazeFace. Jako výsledek může model BlazePose produkovat výsledky předpovědi polohy konzistentní s modely rukou a obličeje tím, že артиkuje tělo.
Každá součást systému odhadu polohy těla založeného na strojovém učení musí být rychlá, vyžadující maximálně několik milisekund na snímek pro detekci a sledování modelů.
Vzhledem k tomu, že potrubí BlazePose (které zahrnuje součásti odhadu a sledování polohy) musí fungovat na různých mobilních zařízeních v reálném čase, je každý jednotlivý díl potrubí navržen tak, aby byl velmi výpočetně efektivní a běžel na 200-1000 FPS.
Odhad polohy a sledování v videu, kde není známo, zda a kde je osoba přítomna, se obvykle provádí ve dvou fázích.
V první fázi se spustí model detekce objektů pro lokalizaci přítomnosti osoby nebo pro identifikaci její absence. Po detekci osoby může modul odhadu polohy zpracovat lokalizovanou oblast obsahující osobu a předpovědět pozici klíčových bodů.
Nevýhodou tohoto nastavení je, že vyžaduje běh obou modelů detekce objektů a odhadu polohy pro každý snímek, což spotřebuje další výpočetní zdroje. Autoři BlazePose však vymysleli chytrý způsob, jak tento problém obejít a efektivně využít jej v jiných modulech detekce klíčových bodů, jako je FaceMesh a MediaPipe Hand.
Nápad spočívá v tom, že modul detekce objektů (detektor obličeje v případě BlazePose) lze použít pouze pro spuštění sledování polohy v prvním snímku, zatímco následné sledování osoby lze provést pomocí výhradně předpovědí polohy po některých úpravách polohy, parametry pro které jsou předpovězeny pomocí modelu odhadu polohy.
Obličej produkuje nejsilnější signál o poloze trupu pro neuronovou síť, v důsledku relativně malé variability vzhledu a vysoké kontrastnosti jeho funkcí. V důsledku toho je možné vytvořit rychlý, nízkonákladový systém pro detekci polohy prostřednictvím série ospravedlnitelných předpokladů založených na myšlence, že lidská hlava bude lokalizovatelná v každém osobním případě.
Překonání výzev odhadu polohy těla
Využití odhadu polohy těla v aplikacích pro fitness čelí výzvě obrovského množství různých lidských póz, například stovek ásan v mnoha józových režimech.
Dále může tělo někdy blokovat určité končetiny, zachycené jakoukoli kamerou, uživatelé mohou nosit různé oblečení, které zakrývá funkce těla a osobní vzhled.
Při použití předem vyškolených modelů je třeba mít na paměti, že neobvyklé pohyby těla nebo neobvyklé úhly kamery mohou vést k chybám v odhadu polohy těla. Tento problém lze do jisté míry zmírnit pomocí syntetických dat z 3D modelu lidského těla nebo jemným laděním s daty specifickými pro danou doménu.
Dobrou zprávou je, že můžeme se většiny slabostí vyvarovat nebo je zmírnit. Klíčem k tomu je výběr správných trénovacích dat a architektury modelu. Kromě toho tendence vývoje v oblasti technologie odhadu polohy těla naznačuje, že některé z problémů, se kterými se nyní potýkáme, budou v budoucnu méně relevantní.
Poslední slovo
Odhad polohy těla skrývá řadu potenciálních budoucích použití mimo oblast aplikací pro fitness a sledování lidských pohybů, od her po animaci, až po rozšířenou realitu a robotiku. To nepředstavuje úplný seznam možností, ale zdůrazňuje některé z nejpravděpodobnějších oblastí, kde odhad polohy těla přispěje k našemu digitálnímu prostředí.
















