stub AI Pose Estimation i Fitness Application - Unite.AI
Følg os

Medicinal

AI Pose Estimation i Fitness Application

mm

Udgivet

 on

Af Maksym Tatariants, Data Science Engineer ved MobiDev.

Estimering af menneskelig positur refererer til en teknologi – ret ny, men udvikler sig hurtigt – som spiller en væsentlig rolle i fitness- og danseapplikationer, hvilket giver os mulighed for at placere digitalt indhold over den virkelige verden.

Kort sagt er begrebet menneskelig stillingsvurdering en computervisionsbaseret teknologi, der er i stand til at detektere og behandle menneskelig kropsholdning. Den vigtigste og mest centrale del af denne teknologi er modellering af menneskekroppen. Tre kropsmodeller er mest fremtrædende inden for nuværende menneskelige positur-estimeringssystemer - skeletbaseret, konturbaseret og volumenbaseret.

Skelet-baseret model

Denne model er opbygget af et sæt led (nøglepunkter), såsom knæ, ankler, håndled, albuer, skuldre og orienteringen af ​​kroppens lemmer. Denne model er bemærkelsesværdig for sin fleksibilitet og er som sådan velegnet til både 3-dimensionel og 2-dimensionel menneskelig stillingsvurdering. Med 3-dimensionel modellering bruger løsningen et RGB-billede og finder leddenes X-, Y- og Z-koordinater. Med 2-dimensionel modellering er det den samme analyse af et RGB-billede, men ved at bruge X- og Y-koordinaterne.

Konturbaseret model

Denne model gør brug af konturerne af kroppens torso og lemmer samt deres ru bredde. Her tager løsningen kropsrammens silhuet og gengiver kropsdele som rektangler og grænser inden for den ramme.

Volumenbaseret model

Denne model bruger generelt en række 3-dimensionelle scanninger til at fange kroppens form og konvertere den til en ramme af former og geometriske masker. Disse former skaber en 3D-serie af positurer og kropsrepræsentationer.

Hvordan 3D Human Pose Estimation fungerer

Fitness-applikationer har en tendens til at stole på 3-dimensionel estimering af menneskelig positur. For disse apps gælder det, at jo mere information om den menneskelige positur, jo bedre. Med denne teknik vil brugeren af ​​appen registrere sig selv, når han deltager i en trænings- eller træningsrutine. Appen vil derefter analysere brugerens kropsbevægelser og tilbyde rettelser for fejl eller unøjagtigheder.

Denne type apps rutediagram følger typisk dette mønster:

  • Indsaml først data om brugerens bevægelser, mens de udfører øvelsen.
  • Bestem derefter, hvor korrekte eller forkerte brugerens bevægelser var.
  • Vis til sidst brugeren via interfacet, hvilke fejl de måtte have begået.

Lige nu er standarden inden for human pose-teknologi COCO topologi. COCO-topologi består af 17 vartegn på tværs af kroppen, lige fra ansigtet til armene til benene. Bemærk, at COCO ikke er den eneste menneskelige kropsstillingsramme, blot den mest almindeligt anvendte.

Denne type proces gør typisk brug af dyb maskinlæringsteknologi til udtrækning af led ved estimering af brugerens positur. Den anvender derefter geometribaserede algoritmer til at give mening om, hvad den er fundet (analysere relative positioner af de detekterede led). Mens du bruger en dynamisk video som kildedata, kan systemet bruge en række billeder, ikke kun et enkelt billede, til at fange dens nøglepunkter. Resultatet er en langt mere nøjagtig gengivelse af brugerens reelle bevægelser, da systemet kan bruge information fra de tilstødende frames til at løse eventuelle usikkerheder vedrørende den menneskelige krops position i den aktuelle frame.

Ud af de nuværende teknikker til brug af 3D-positurestimering i fitnessapplikationer er den mest nøjagtige tilgang først at anvende en model til at detektere 2D-nøglepunkter og efterfølgende behandle 2D-detektionen med en anden model for at konvertere dem til 3D-nøglepunktsforudsigelser. 

I forskning vi postede for nylig, en enkelt videokilde blev brugt, med foldede neurale netværk med dilaterede tidsmæssige foldninger anvendt til at udføre 2D -> 3D nøglepunktskonvertering.

Efter at have analyseret de modeller, der i øjeblikket er derude, fandt vi ud af, at VideoPose3D er den løsning, der er bedst skræddersyet til behovene i de fleste AI-drevne fitnessapplikationer. Indgangen, der bruger dette system, skal gøre det muligt at detektere et 2D-sæt af nøglepunkter, hvor en model, præ-trænet på COCO 2017 datasæt, anvendes som en 2D detektor. 

For den mest præcise forudsigelse af positionen af ​​et aktuelt led eller nøglepunkt kan VideoPose3D bruge flere frames over en kort sekvens af tid til at generere 2D-poseringsinformation. 

For yderligere at øge nøjagtigheden af ​​3D-poseestimering kan mere end ét kamera samle alternative synspunkter på brugeren, der udfører den samme øvelse eller rutine. Bemærk dog, at det kræver større processorkraft samt specialiseret modelarkitektur at håndtere flere videostream-input.

For nylig, Google afsløret deres BlazePose-system, en mobil enhedsorienteret model til estimering af menneskelig positur ved at øge antallet af analyserede nøglepunkter til 33, et supersæt af COCO-nøglepunktssættet og to andre topologier – BlazePalm og BlazeFace. Som et resultat heraf kan BlazePose-modellen producere positurforudsigelsesresultater i overensstemmelse med håndmodeller og ansigtsmodeller ved at artikulere kropssemantik.

Hver komponent i et maskinlæringsbaseret menneskelig poseestimeringssystem skal være hurtig og tage maksimalt et par millisekunder pr. frame for positionsdetektering og sporingsmodeller. 

På grund af det faktum, at BlazePose-pipeline (som inkluderer poseringsestimering og sporingskomponenter) skal fungere på en række mobile enheder i realtid, er hver enkelt del af pipelinen designet til at være meget beregningseffektiv og køre ved 200-1000 FPS .

Posevurdering og sporing i videoen, hvor det ikke vides, om og hvor personen er til stede, sker typisk i to trin. 

På det første trin køres en objektdetektionsmodel for at lokalisere tilstedeværelsen af ​​et menneske eller for at identificere deres fravær. Efter at personen er blevet detekteret, kan poseringsestimeringsmodulet behandle det lokaliserede område, der indeholder personen, og forudsige nøglepunkternes position.

En ulempe ved denne opsætning er, at den kræver både objektdetektering og positur-estimeringsmoduler for at køre for hver frame, som bruger ekstra beregningsressourcer. Forfatterne af BlazePose udtænkte imidlertid en smart måde at omgå dette problem på og effektivt bruge det i andre nøglepunktsdetektionsmoduler som f.eks. FaceMesh , MediaPipe Hånd.

Ideen er, at et objektdetektionsmodul (ansigtsdetektor i tilfælde af BlazePose) kun kan bruges til at kickstarte positursporingen i det første billede, mens den efterfølgende sporing af personen kan udføres udelukkende ved at bruge positurforudsigelserne efter en positurjustering, parametre, som forudsiges ved hjælp af poseestimeringsmodellen.

Ansigtet producerer det stærkeste signal med hensyn til torsoens position for det neurale netværk, som et resultat af den relativt lille varians i udseende og høj kontrast i dens funktioner. Som følge heraf er det muligt at skabe et hurtigt system med lavt overhead til positionsdetektion gennem en række berettigede antagelser baseret på ideen om, at det menneskelige hoved vil kunne lokaliseres i enhver personlig brug.

Overvindelse af udfordringer ved vurdering af menneskelig stilling

At gøre brug af estimering af stilling i fitness-apps står over for udfordringen med den store mængde af menneskelige positurer, for eksempel de hundredvis af asanas i de fleste yoga-kure. 

Derudover vil kroppen nogle gange blokere visse lemmer som fanget af et givet kamera, brugere kan bære varieret tøj, der skjuler kropstræk og personligt udseende.

Mens du gør brug af alle forudtrænede modeller, skal du være opmærksom på, at usædvanlige kropsbevægelser eller mærkelige kameravinkler kan føre til fejl i menneskelig stillingsvurdering. Vi kan afhjælpe dette problem til en vis grad ved at bruge syntetiske data fra en 3D-gengivelse af en menneskelig kropsmodel eller ved at finjustere med data, der er specifikke for det pågældende domæne.

Den gode nyhed er, at vi kan undgå eller afbøde de fleste svagheder. Nøglen til at gøre det er at udvælge de rigtige træningsdata og modelarkitektur. Ydermere antyder tendensen til udvikling inden for teknologi til estimering af menneskelig stilling, at nogle af de problemer, vi står over for nu, vil være mindre relevante i de kommende år.

Det sidste ord

Estimering af menneskelig positur rummer en række potentielle fremtidige anvendelser uden for området fitness-apps og sporing af menneskelige bevægelser, fra spil til animation til Augmented Reality til robotteknologi. Det repræsenterer ikke en komplet liste over mulighederne, men fremhæver nogle af de mest sandsynlige områder, hvor menneskelig positur-estimering vil bidrage til vores digitale landskab.

Maksym er opsat på at få ny indsigt og erfaring inden for Data Science og Machine Learning. Han er især interesseret i Deep Learning-baserede teknologier og deres anvendelse på business use cases.