Zdravotnictví

Odhadování lidské pozice pomocí AI ve fitness aplikacích

mm
Přidejte Unite.AI mezi své preferované zdroje na Google

Od Maksyma Tatariants, inženýra datové vědy ve společnosti MobiDev.

Odhadování lidské pozice se týká technologie – poměrně nové, ale rychle se vyvíjející – která hraje významnou roli ve fitness a tanečních aplikacích, umožňující nám umístit digitální obsah do reálného světa.

Stručně řečeno, koncept odhadování lidské pozice je technologií založenou na počítačovém vidění, schopnou detekovat a zpracovat lidskou pozici. Nejvýznamnější a centrální částí této technologie je modelování lidského těla. Tři typy modelů lidského těla jsou nejvýraznější v současných systémech odhadování lidské pozice – model založený na skeletu, model založený na obrysu a model založený na 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 odhadování lidské pozice ve 3D i 2D. Při 3D modelování používá řešení RGB obraz a najde X, Y a Z souřadnice kloubů. Při 2D modelování je to stejná analýza RGB obrazu, ale pomocí X a Y souřadnic.

Model založený na obrysu

Tento model využívá obrysů trupu a končetin těla, jakož i jejich přibližné šířky. Zde řešení bere siluetu 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 odhadování lidské pozice

Fitness aplikace obvykle spoléhají na 3D odhadování lidské pozice. Pro tyto aplikace je čím více informací o lidské pozici, tím lépe. 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í.

Typický tok této aplikace obvykle následuje tento vzor:

  • Nejprve shromáždí data o pohybech uživatele během cvičení.
  • Dále určí, jak správně nebo nesprávně byly pohyby uživatele.
  • Nakonec zobrazí uživateli prostřednictvím rozhraní, jaké chyby mohl udělat.

V současné době je standardem v technologiích lidské pozice topologie COCO. Topologie COCO 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 lidské pozice, ale je nejčastěji používaný.

Tento typ procesu obvykle využívá hluboké technologie strojového učení pro extrakci kloubů při odhadování pozice uživatele. Poté využívá geometrické algoritmy k pochopení 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ů, ne pouze jeden obraz, k zachycení 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 ohledně pozice lidského těla v aktuálním snímku.

Z aktuálních technik pro použití 3D odhadování lidské pozice ve fitness aplikacích 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 do 3D predikcí klíčových bodů.

Ve výzkumu, který jsme nedávno zveřejnili, byl použit jeden zdrojový video soubor, s konvolučními neuronovými sítěmi s dilatovanými časovými konvolucemi aplikovanými pro provedení převodu 2D -> 3D klíčových bodů.

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 AI poháněných fitness aplikací. Vstupní data pomocí tohoto systému by měla umožnit detekci 2D množiny klíčových bodů, kde je model, předem trénovaný na datasetu COCO 2017, aplikován jako 2D detektor.

Pro nejpreciznější predikci pozice aktuálního kloubu nebo klíčového bodu může VideoPose3D využít několik snímků po krátké sekvenci času k generování 2D informací o pozici.

K dalšímu zvýšení přesnosti 3D odhadování lidské pozice lze použít více kamer pro sběr alternativních pohledů na uživatele při provádění stejného cvičení nebo tréninku. Poznámka: to však vyžaduje větší výpočetní výkon a specializovanou architekturu modelu pro zpracování více video vstupů.

Nedávno odkryla společnost Google (GOOGL ) svůj systém BlazePose, model pro odhadování lidské pozice 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 dvě další topologie – BlazePalm a BlazeFace. Jako výsledek může model BlazePose produkovat výsledky predikce pozice, které jsou konzistentní s modely rukou a obličeje tím, že артиkulují tělo.

Každá součást systému založeného na strojovém učení pro odhadování lidské pozice musí být rychlá, s maximální dobou několika milisekund na snímek pro modely detekce a sledování pozice.

Vzhledem k tomu, že potrubí BlazePose (které zahrnuje komponenty odhadování a sledování pozice) musí fungovat na různých mobilních zařízeních v reálném čase, je každý díl potrubí navržen tak, aby byl velmi výpočetně efektivní a běžel na 200-1000 FPS.

Odhadování a sledování pozice ve 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 odhadování pozice 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 modelu detekce objektů a odhadování pozice pro každý snímek, což spotřebuje další výpočetní zdroje. Autoři BlazePose však vymysleli chytrý způsob, jak obejít tento problém 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í pozice v prvním snímku, zatímco následné sledování osoby lze provést pomocí výhradně predikcí pozice po some pozici, parametry pro které jsou předpovězeny pomocí modelu odhadování pozice.

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 pozice 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 odhadování lidské pozice

Používání odhadování pozice ve fitness aplikacích čelí výzvě obrovského množství různých lidských póz, například stovek ásan v mnoha jóga režimech.

Dále tělo může někdy blokovat určité končetiny zachycené danou kamerou, uživatelé mohou nosit různé oblečení, které zakrývá tělesné rysy a osobní vzhled.

Při používání předem trénovaných modelů je třeba poznamenat, že neobvyklé pohyby těla nebo neobvyklé úhly kamery mohou vést k chybám v odhadování lidské pozice. 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 vyhnout se nebo zmírnit většinu slabých stránek. 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 technologií odhadování lidské pozice naznačuje, že některé z problémů, kterým čelíme nyní, budou méně relevantní v budoucnu.

Poslední slovo

Odhadování lidské pozice skrývá řadu potenciálních budoucích použití mimo oblast fitness aplikací a sledování lidských pohybů, od her po animaci, Augmented Reality a robotiku. To nepředstavuje úplný seznam možností, ale zdůrazňuje některé z nejpravděpodobnějších oblastí, kde odhadování lidské pozice bude přispívat k našemu digitálnímu krajinnému rázu.

Maksym je ochotný získat nové poznatky a zkušenosti v oblasti Data Science a Machine Learning. Je zvláště intéressován technologiemi založenými na Deep Learning a jejich aplikací v obchodních případech.