Hälso- och sjukvård
AI-baserad posestimering i fitnessapplikationer

Av Maksym Tatariants, Data Science Engineer på MobiDev.
Mänsklig posestimering refererar till en teknik – ganska ny, men som utvecklas snabbt – som spelar en betydande roll i fitness- och dansapplikationer, vilket möjliggör för oss att placera digitalt innehåll över den verkliga världen.
Sammanfattningsvis är konceptet med mänsklig posestimering en datorseende-baserad teknik som kan upptäcka och bearbeta mänsklig hållning. Den viktigaste och centrala delen av denna teknik är mänsklig kroppsmodellering. Tre kroppsmodeller är mest framträdande inom nuvarande system för mänsklig posestimering – skelettbaserad, konturbaserad och volymbaserad.
Skelettbaserad modell
Denna modell består av en uppsättning leder (nyckelpunkter), såsom knän, anklar, handleder, armbågar, axlar och kroppens lemmaryckning. Denna modell är känd för sin flexibilitet och är därför lämplig för både tredimensionell och tvådimensionell mänsklig posestimering. Med tredimensionell modellering använder lösningen en RGB-bild och hittar ledernas X, Y och Z-koordinater. Med tvådimensionell modellering är det samma analys av en RGB-bild, men med X- och Y-koordinater.
Konturbaserad modell
Denna modell använder konturerna av torso och lem och deras ungefärliga bredd. Här tar lösningen kroppens silhuett och återger kroppsdelar som rektanglar och gränser inom ramen.
Volymbaserad modell
Denna modell använder vanligtvis en serie tredimensionella skannrar för att fånga kroppens form och omvandlar den till en ram av former och geometriska nät. Dessa former skapar en tredimensionell serie av poser och kroppspresentationer.
Hur 3D-mänsklig posestimering fungerar
Fitnessapplikationer tenderar att förlita sig på tredimensionell mänsklig posestimering. För dessa appar är mer information om den mänskliga posestimeringen desto bättre. Med denna teknik kommer appens användare att spela in sig själv medan de deltar i en övning eller träningsrutin. Appen kommer sedan att analysera användarens kroppsrörelser och erbjuda korrigeringar för fel eller inkonsekvenser.
Denna typ av apps flödesdiagram följer vanligtvis följande mönster:
- Först, samla in data om användarens rörelser medan de utför övningen.
- Sedan, bestäm hur korrekt eller inkorrekt användarens rörelser var.
- Slutligen, visa användaren via gränssnittet vilka fel de kan ha gjort.
Just nu är standarden inom mänsklig posestimeringsteknologi COCO-topologi. COCO-topologin består av 17 landmärken över hela kroppen, från ansiktet till armarna till benen. Observera att COCO inte är den enda mänskliga kroppsställningsramen, utan den som vanligtvis används.
Denna typ av process använder vanligtvis djup maskinlärningsteknologi för att extrahera leder vid posestimering. Den använder sedan geometri-baserade algoritmer för att förstå vad den har funnit (analysera relativa positioner för de upptäckta lederna). När den använder en dynamisk video som källdata kan systemet använda en serie ramar, inte bara en enda bild, för att fånga sina nyckelpunkter. Resultatet är en långt mer exakt återgivning av användarens riktiga rörelser eftersom systemet kan använda information från angränsande ramar för att lösa eventuella osäkerheter om den mänskliga kroppens position i den aktuella ramen.
Av de nuvarande teknikerna för att använda 3D-posestimering i fitnessapplikationer är den mest exakta metoden att först tillämpa en modell för att upptäcka 2D-nyckelpunkter och sedan bearbeta 2D-upptäckten med en annan modell för att omvandla dem till 3D-nyckelpunktsförutsägelser.
I forskningen vi publicerade nyligen, användes en enda video som källa, med konvolutionsneurala nätverk med dilaterade tidskonvolutioner tillämpade för att utföra 2D- till 3D-nyckelpunktsomvandling.
Efter att ha analyserat de modeller som för närvarande finns ute, kom vi fram till att VideoPose3D är den lösning som är bäst anpassad till de flesta AI-drivna fitnessapplikationers behov. Inmatningen med detta system bör tillåta en 2D-uppsättning nyckelpunkter att upptäckas, där en modell, förutbildad på COCO 2017-dataset, används som en 2D-detektor.
För den mest precisa förutsägelsen av en nuvarande led eller nyckelpunkts position, kan VideoPose3D använda flera ramar under en kort sekvens för att generera 2D-poseinformation.
För att ytterligare förbättra noggrannheten för 3D-posestimering, kan mer än en kamera samla in alternativa vyer av användaren som utför samma övning eller rutin. Observera dock att det kräver större bearbetningskraft samt specialiserad modellarkitektur för att hantera flera videoinmatningar.
Nyligen avslöjade Google (GOOGL ) sin BlazePose-system, en modell för mobila enheter för att uppskatta mänsklig pose genom att öka antalet analyserade nyckelpunkter till 33, en superset av COCO-nyckelpunktsuppsättningen och två andra topologier – BlazePalm och BlazeFace. Som ett resultat kan BlazePose-modellen producera poseförutsägelsesignaler som är konsekventa med handmodeller och ansiktsmodeller genom att artikulera kroppssémantik.
Varje komponent inom ett maskinlärningsbaserat mänskligt posestimeringssystem behöver vara snabb, med en maximal tid på några millisekunder per ram för posestimerings- och spårningsmodeller.
På grund av att BlazePose-pipelinen (som inkluderar posestimerings- och spårningskomponenter) måste fungera på en mängd olika mobila enheter i realtid, är varje enskild del av pipelinen utformad för att vara mycket beräkningseffektiv och köras vid 200-1000 FPS.
Posestimering och spårning i videor där det inte är känt om och var personen är närvarande, görs vanligtvis i två steg.
I det första steget körs en objektupptäcktsmodell för att lokalisera närvaron av en människa eller för att identifiera deras frånvaro. När personen har upptäckts kan posestimeringsmodulen bearbeta den lokala området som innehåller personen och förutsäga positionen för nyckelpunkterna.
En nackdel med denna inställning är att det kräver både objektupptäckts- och posestimeringsmoduler för att köras för varje ram, vilket konsumerar extra beräkningsresurser. Författarna till BlazePose, men, utformade en smart metod för att komma runt detta problem och effektivt utnyttja det i andra nyckelpunktsupptäcktsmoduler, såsom FaceMesh och MediaPipe Hand.
Idén är att en objektupptäcktsmodul (ansiktsdetektor i fallet med BlazePose) kan användas endast för att starta posestimeringen i den första ramen, medan den efterföljande spårningen av personen kan göras med hjälp av endast poseförutsägelserna efter viss posejustering, parametrar för vilka förutsägs med hjälp av posestimeringsmodellen.
Ansiktet producerar den starkaste signalen för torsoens position för neuronnätverket, som ett resultat av den relativt små variationen i utseende och hög kontrast i dess funktioner. Följaktligen är det möjligt att skapa ett snabbt, lågkostnads system för posestimering genom en serie berättigade antaganden som grundar sig i idén att den mänskliga huvudet kommer att vara lokalisbart i varje personligt användningsfall.
Att övervinna utmaningar med mänsklig posestimering
Att använda posestimering i fitnessapplikationer möter utmaningen med den enorma mängden mänskliga poser, till exempel de hundratals asanas i de flesta yogarutiner.
Dessutom kan kroppen ibland blockera vissa lemmar som fångas av någon given kamera, användare kan ha varierande utrustning som döljer kroppens funktioner och personliga utseende.
När du använder förutbildade modeller, observera att ovanliga kroppsrörelser eller konstiga kameravinklar kan leda till fel i mänsklig posestimering. Vi kan mildra detta problem till viss del genom att använda syntetisk data från en 3D-mänsklig kroppmodellrendering eller genom att finjustera med data som är specifika för den aktuella domänen.
Den goda nyheten är att vi kan undvika eller mildra de flesta svagheter. Nyckeln till att göra detta är att välja ut rätt träningsdata och modellarkitektur. Dessutom tyder utvecklingstendensen inom området för mänsklig posestimeringsteknologi på att vissa av de problem vi står inför nu kommer att vara mindre relevanta i framtiden.
Det sista ordet
Mänsklig posestimering har en mängd potentiella framtida användningsområden utanför området för fitnessapplikationer och spårning av mänskliga rörelser, från spel till animation till förstärkt verklighet till robotik. Detta representerar inte en fullständig lista över möjligheterna, men lyfter fram några av de mest sannolika områdena där mänsklig posestimering kommer att bidra till vår digitala landskap.
















