stub AI Pose Estimation i Fitness Application - Unite.AI
Kontakt med oss

Helsevesen

AI Pose Estimation i Fitness Application

mm

Publisert

 on

Av Maksym Tatariants, Data Science Engineer ved MobiDev.

Estimering av menneskelig positur refererer til en teknologi – ganske ny, men som utvikler seg raskt – som spiller en betydelig rolle i trenings- og danseapplikasjoner, og lar oss plassere digitalt innhold over den virkelige verden.

Kort sagt, konseptet med menneskelig positur-estimering er en datasynsbasert teknologi som er i stand til å oppdage og behandle menneskelig holdning. Den viktigste og sentrale delen av denne teknologien er modellering av menneskekroppen. Tre kroppsmodeller er mest fremtredende innenfor gjeldende menneskelige positur-estimeringssystemer - skjelettbasert, konturbasert og volumbasert.

Skjelettbasert modell

Denne modellen består av et sett med ledd (nøkkelpunkter), som knær, ankler, håndledd, albuer, skuldre og orienteringen av kroppens lemmer. Denne modellen er kjent for sin fleksibilitet, og er som sådan egnet for både 3-dimensjonal og 2-dimensjonal menneskelig positur. Med 3-dimensjonal modellering bruker løsningen et RGB-bilde og finner leddenes X-, Y- og Z-koordinater. Med 2-dimensjonal modellering er det samme analyse av et RGB-bilde, men ved å bruke X- og Y-koordinatene.

Konturbasert modell

Denne modellen bruker konturene til overkroppen og lemmer på kroppen, samt deres grove bredde. Her tar løsningen kroppsrammens silhuett og gjengir kroppsdeler som rektangler og grenser innenfor den rammen.

Volumbasert modell

Denne modellen bruker vanligvis en serie 3-dimensjonale skanninger for å fange kroppens form og konvertere den til et rammeverk av former og geometriske masker. Disse formene skaper en 3D-serie med positurer og kroppsrepresentasjoner.

Hvordan 3D-estimering av menneskelig positur fungerer

Treningsapplikasjoner har en tendens til å stole på 3-dimensjonal estimering av menneskelig positur. For disse appene, jo mer informasjon om den menneskelige posituren, jo bedre. Med denne teknikken vil brukeren av appen registrere seg selv når han deltar i en trenings- eller treningsrutine. Appen vil deretter analysere brukerens kroppsbevegelser, og tilby korrigeringer for feil eller unøyaktigheter.

Denne typen app-flytskjema følger vanligvis dette mønsteret:

  • Først samler du inn data om brukerens bevegelser mens de utfører øvelsen.
  • Deretter bestemmer du hvor korrekte eller feil brukerens bevegelser var.
  • Vis til slutt brukeren via grensesnittet hvilke feil de kan ha gjort.

Akkurat nå er standarden innen human pose-teknologi COCO topologi. COCO-topologi består av 17 landemerker på tvers av kroppen, fra ansiktet til armene til bena. Legg merke til at COCO ikke er det eneste rammeverket for menneskekroppen, bare det som er mest brukt.

Denne typen prosesser bruker vanligvis dyp maskinlæringsteknologi for å trekke ut leddene for å estimere brukerens positur. Den bruker deretter geometribaserte algoritmer for å gi mening om hva den er funnet (analysere relative posisjoner til de oppdagede leddene). Mens du bruker en dynamisk video som kildedata, kan systemet bruke en serie bilder, ikke bare et enkelt bilde, for å fange nøkkelpunktene. Resultatet er en langt mer nøyaktig gjengivelse av brukerens virkelige bevegelser siden systemet kan bruke informasjon fra de tilstøtende rammene for å løse eventuelle usikkerhetsmomenter angående posisjonen til menneskekroppen i gjeldende ramme.

Ut av de nåværende teknikkene for å bruke 3D-positurestimering i treningsapplikasjoner, er den mest nøyaktige tilnærmingen å først bruke en modell for å oppdage 2D-nøkkelpunkter og deretter behandle 2D-deteksjonen med en annen modell for å konvertere dem til 3D-nøkkelpunktspådommer. 

forskning vi postet nylig, en enkelt videokilde ble brukt, med konvolusjonelle nevrale nettverk med utvidede tidskonvolusjoner brukt for å utføre 2D -> 3D nøkkelpunktkonvertering.

Etter å ha analysert modellene for øyeblikket der ute, fant vi ut at VideoPose3D er den løsningen som er best skreddersydd for behovene til de fleste AI-drevne treningsapplikasjoner. Inndataene som bruker dette systemet skal tillate et 2D-sett med nøkkelpunkter å bli oppdaget, hvor en modell, forhåndstrent på COCO 2017 datasett, brukes som en 2D detektor. 

For den mest presise forutsigelsen av posisjonen til et gjeldende ledd eller nøkkelpunkt, kan VideoPose3D bruke flere bilder over en kort tidssekvens for å generere 2D-positurinformasjon. 

For ytterligere å øke nøyaktigheten av 3D-positurestimering, kan mer enn ett kamera samle alternative synspunkter på brukeren som utfører samme øvelse eller rutine. Vær imidlertid oppmerksom på at det krever større prosessorkraft samt spesialisert modellarkitektur for å håndtere flere videostrøminnganger.

Nylig Google avduket BlazePose-systemet deres, en mobilenhetsorientert modell for å estimere menneskelig positur ved å øke antallet nøkkelpunkter som er analysert til 33, et supersett av COCO-nøkkelpunktsettet og to andre topologier – BlazePalm og BlazeFace. Som et resultat kan BlazePose-modellen produsere positurprediksjonsresultater i samsvar med håndmodeller og ansiktsmodeller ved å artikulere kroppssemantikk.

Hver komponent i et maskinlæringsbasert menneskelig positur-estimeringssystem må være rask, og ta maksimalt et par millisekunder per bilde for posisjonsdeteksjon og sporingsmodeller. 

På grunn av det faktum at BlazePose-rørledningen (som inkluderer poseringsestimering og sporingskomponenter) må operere på en rekke mobile enheter i sanntid, er hver enkelt del av rørledningen designet for å være svært beregningsmessig effektiv og kjøre med 200-1000 FPS .

Posisjonsvurdering og sporing i videoen der det ikke er kjent om og hvor personen er til stede, gjøres vanligvis i to trinn. 

I det første trinnet kjøres en gjenstandsdeteksjonsmodell for å lokalisere tilstedeværelsen av et menneske eller for å identifisere deres fravær. Etter at personen har blitt oppdaget, kan poseringsestimeringsmodulen behandle det lokaliserte området som inneholder personen og forutsi posisjonen til nøkkelpunktene.

En ulempe med dette oppsettet er at det krever både objektdeteksjons- og poseringsestimeringsmoduler for å kjøre for hver ramme som bruker ekstra beregningsressurser. Forfatterne av BlazePose utviklet imidlertid en smart måte å omgå dette problemet på og effektivt bruke det i andre nøkkelpunktdeteksjonsmoduler som f.eks. FaceMesh og MediaPipe Hand.

Tanken er at en objektdeteksjonsmodul (ansiktsdetektor for BlazePose) kun kan brukes til å kickstarte positursporingen i den første rammen, mens den påfølgende sporingen av personen kan gjøres utelukkende ved å bruke positurforutsigelsene etter en viss positurjustering, parametere som er forutsagt ved bruk av poseestimeringsmodellen.

Ansiktet produserer det sterkeste signalet om overkroppens posisjon for det nevrale nettverket, som et resultat av den relativt lille variasjonen i utseende og høy kontrast i funksjonene. Følgelig er det mulig å lage et raskt, lavt overhead-system for poseringsdeteksjon gjennom en rekke forsvarlige antakelser basert på ideen om at menneskets hode vil være lokalisert i alle personlig brukstilfeller.

Overvinne utfordringer med å vurdere menneskelig positur

Å bruke estimering av positur i treningsapper står overfor utfordringen med den store mengden av menneskelige positurer, for eksempel de hundrevis av asanas i de fleste yoga-regimer. 

Videre vil kroppen noen ganger blokkere visse lemmer som fanget av et gitt kamera, brukere kan ha på seg varierte antrekk som skjuler kroppstrekk og personlig utseende.

Når du bruker forhåndsutdannede modeller, vær oppmerksom på at uvanlige kroppsbevegelser eller merkelige kameravinkler kan føre til feil i estimering av menneskelig positur. Vi kan dempe dette problemet til en viss grad ved å bruke syntetiske data fra en 3D-gjengivelse av menneskekroppsmodeller, eller ved å finjustere med data som er spesifikke for det aktuelle domenet.

Den gode nyheten er at vi kan unngå eller dempe de fleste svakhetene. Nøkkelen til å gjøre det er å velge de riktige treningsdataene og modellarkitekturen. Videre antyder utviklingstendensen innen teknologi for menneskelig positur-estimering at noen av problemene vi står overfor nå vil være mindre relevante i de kommende årene.

Det siste ordet

Estimering av menneskelig positur inneholder en rekke potensielle fremtidige bruksområder utenfor området treningsapper og sporing av menneskelige bevegelser, fra spill til animasjon til Augmented Reality til robotikk. Det representerer ikke en fullstendig liste over mulighetene, men fremhever noen av de mest sannsynlige områdene der estimering av menneskelig positur vil bidra til vårt digitale landskap.

Maksym er opptatt av å få ny innsikt og erfaring innen datavitenskap og maskinlæring. Han er spesielt interessert i Deep Learning-baserte teknologier og deres anvendelse på business use cases.