Helse

AI-poseestimering i fitnessapplikasjoner

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

Av Maksym Tatariants, Data Science Engineer i MobiDev.

Menneskeposeestimering refererer til en teknologi – ganske ny, men raskt utviklingsmessig – som spiller en betydelig rolle i fitness- og danseapplikasjoner, og lar oss plassere digitalt innhold over den virkelige verden.

I korte trekk handler menneskeposeestimering om en datadrevet teknologi som kan detektere og prosessere menneskelig holdning. Den viktigste og sentrale delen av denne teknologien er menneskekroppsmodellering. Tre kroppsmodeller er mest fremtredende i nåværende menneskeposeestimeringssystemer – skjelettbasert, konturbasert og volumbasert.

Skjelettbasert modell

Denne modellen består av en samling ledd (nøkkelområder), som knær, anklene, handleder, albuer, skuldre og orienteringen av kroppens lemmer. Denne modellen er kjent for sin fleksibilitet og er derfor egnet for både tredimensjonal og todimensjonal menneskeposeestimering. Med tredimensjonal modellering bruker løsningen en RGB-bilde og finner leddets X, Y og Z-koordinater. Med todimensjonal modellering er det samme analysen av et RGB-bilde, men med X- og Y-koordinater.

Konturbasert modell

Denne modellen bruker konturene av torsoen og lemmer av kroppen, samt deres omtrentlige bredde. Her tar løsningen kroppens silhuett og gjengir kroppsdeler som rektangler og grenser innenfor denne rammen.

Volumbasert modell

Denne modellen bruker vanligvis en serie 3D-skanninger for å fange kroppens form og konverterer den til et rammeverk av former og geometriske gitter. Disse formene skaper en 3D-serie av posisjoner og kropprepresentasjoner.

Hvordan 3D menneskeposeestimering fungerer

Fitnessapplikasjoner tenderer til å avhenge av tredimensjonal menneskeposeestimering. For disse appene er det mer informasjon om menneskeposen, jo bedre. Med denne teknikken vil appens bruker spille inn seg selv mens de utfører en øvelse eller trening. Appen vil deretter analysere brukerens bevegelser og tilby korreksjoner for feil eller uakkurater.

Denne type apps flowchart følger vanligvis dette mønsteret:

  • Først, samle inn data om brukerens bevegelser mens de utfører øvelsen.
  • Neste, bestemme hvor korrekt eller inkorrekt brukerens bevegelser var.
  • Til slutt, vis brukeren via grensesnittet hva feil de kan ha gjort.

For tiden er standarden i menneskepose-teknologi COCO-topologi. COCO-topologi består av 17 landemerker over hele kroppen, fra ansiktet til armene til benene. Merk at COCO ikke er den eneste menneskekroppsposen, bare den mest vanlig brukte.

Denne type prosess bruker vanligvis dyp maskinlæringsteknologi for å trekke ut ledd i poseestimering. Den bruker deretter geometri-baserte algoritmer for å forstå hva den har funnet (analyserer relative posisjoner av detekterte ledd). Mens den bruker en dynamisk video som kilde, kan systemet bruke en serie rammeverk, ikke bare ett enkelt bilde, for å fange nøkkelområdene. Resultatet er en langt mer nøyaktig gjengivelse av brukerens faktiske bevegelser, siden systemet kan bruke informasjon fra de tilstøtende rammene for å løse eventuelle usikkerheter med hensyn til menneskekroppens posisjon i den aktuelle rammeverket.

Av de nåværende teknikkene for å bruke 3D-poseestimering i fitnessapplikasjoner, er den mest nøyaktige tilnærmingen å først bruke en modell for å detektere 2D-nøkkelområder og deretter prosessere 2D-dettekteringen med en annen modell for å konvertere dem til 3D-nøkkelområdene. 

I forskningen vi publiserte nylig, ble en enkelt video-kilde brukt, med konvolusjonelle nevrale nettverk med utvidede tidskonvolusjoner brukt for å utføre 2D -> 3D-nøkkelområdene.

Etter å ha analysert modellene som finnes ute, bestemte vi at VideoPose3D er løsningen som best er tilpasset behovene til de fleste AI-drevne fitnessapplikasjoner. Inndata ved hjelp av dette systemet bør tillate en 2D-samling av nøkkelområder å bli detektert, hvor en modell, forhånds-trent på COCO 2017-datasettet, brukes som en 2D-detektor. 

For den mest nøyaktige prediksjonen av posisjonen til et nåværende ledd eller nøkkelområde, kan VideoPose3D bruke flere rammeverk over en kort sekvens av tid til å generere 2D-poseinformasjon. 

For å ytterligere forbedre nøyaktigheten av 3D-poseestimering, kan mer enn en kamera samle inn alternative visninger av brukeren som utfører samme øvelse eller rutine. Merk imidlertid at det krever større prosesseringskraft samt spesialisert modellarkitektur for å håndtere flere videostrøm-inndata.

Nylig avdekket Google (GOOGL ) sitt BlazePose-system, en modell for å estimere menneskeposen på en mobil enhet, ved å øke antallet nøkkelområder som analyseres til 33, en superset av COCO-nøkkelområdet og to andre topologier – BlazePalm og BlazeFace. Som et resultat kan BlazePose-modellen produsere pose-prediksjonsresultater som er konsistente med håndmodeller og ansiktsmodeller ved å artikulere kroppssammenheng.

Hver komponent i et maskinlæring-basert menneskeposeestimeringssystem må være rask, og tar maksimalt noen millisekunder per rammeverk for pose-dettektering og -sporing. 

På grunn av at BlazePose-pipeline (som inkluderer pose-estimering og -sporing komponenter) må operere på en rekke mobile enheter i sanntid, er hver enkelt del av pipeline designet for å være svært komputasjonseffektiv og kjøre på 200-1000 FPS.

Pose-estimering og -sporing i video hvor det ikke er kjent om personen er til stede eller ikke, gjøres vanligvis i to stadier. 

I det første stadiet kjøres et objekt-dettektionsmodell for å lokalisere tilstedeværelsen av en person eller å identifisere deres fravær. Etter at personen er detektert, kan pose-estimeringsmodulen prosessere det lokale området som inneholder personen og forutsi posisjonen til nøkkelområdene.

En ulempe med denne oppsettet er at det krever både objekt-dettektering og pose-estimeringsmoduler å kjøre for hver rammeverk, noe som forbruker ekstra komputasjonsressurser. Forfatterne av BlazePose har imidlertid funnet en smart måte å komme rundt dette problemet og effektivt utnytte det i andre nøkkelområdedettekteringsmoduler som FaceMesh og MediaPipe Hand.

Idéen er at et objekt-dettektingsmodell (ansikt-dettektor i tilfelle BlazePose) kan brukes bare for å starte pose-sporet i det første rammeverket, mens påfølgende sporing av personen kan gjøres ved å bruke eksklusivt pose-prediksjonene etter noen pose-justering, parametre for hvilke er predikert ved hjelp av pose-estimeringsmodellen.

Ansiktet produserer det sterkeste signalet om torsoens posisjon for neuralt nettverk, som et resultat av den relativt små variasjonen i utseende og høy kontrast i dens egenskaper. Derfor er det mulig å skape et raskt, lavt-overhead-system for pose-dettektering gjennom en serie berettigede antagelser som er grunnlagt i idéen om at menneskehodet vil være lokalisert i hver personlig brukssak.

Overvinning av utfordringer med menneskeposeestimering

Bruken av pose-estimering i fitnessapplikasjoner møter utfordringen med det enorme volumet av menneskeposer, for eksempel de hundrevis av asaner i de fleste yogaprogrammer. 

Videre vil kroppen noen ganger blokkere visse lemmer som fanget av en gitt kamera, brukerne kan bære forskjellige antrekk som skjuler kroppens trekk og personlige utseende.

Når man bruker forhånds-trente modeller, merk at uvanlige kroppbevegelser eller rare kamera-vinkler kan føre til feil i menneskeposeestimering. Vi kan mildne dette problemet til en viss grad ved å bruke syntetisk data fra en 3D-menneskekroppsmodell-gjengivelse, eller ved å finjustere med data spesifikt for domenet i question.

Det gode nyheten er at vi kan unngå eller mildne de fleste svakheter. Nøkkelen til å gjøre dette er å plukke ut riktig treningdata og modellarkitektur. Videre tyder tendensen i utviklingen av menneskeposeestimeringsteknologien på at noen av problemene vi møter nå vil være mindre relevante i årene som kommer.

Sluttordet

Menneskeposeestimering har en rekke potensielle fremtidige bruksområder utenfor området for fitnessapplikasjoner og sporingsmenneskebevegelser, fra spill til animasjon til Augmented Reality til robotikk. Dette representerer ikke en fullstendig liste over mulighetene, men høydepunkter noen av de mest sannsynlige områdene hvor menneskeposeestimering vil bidra til vår digitale landskap.

Maksym er ivrig etter å tilegne seg nye innsikter og erfaringer innen Data Science og Machine Learning. Han er spesielt interessert i Deep Learning-baserte teknologier og deres anvendelse i forretningsrelaterte brukstilfeller.