Sănătate
Estimarea poziției umane cu ajutorul inteligenței artificiale în aplicații de fitness

De Maksym Tatariants, inginer de știință a datelor la MobiDev.
Estimarea poziției umane se referă la o tehnologie – destul de nouă, dar care evoluează rapid – care joacă un rol semnificativ în aplicațiile de fitness și dans, permițându-ne să plasăm conținut digital peste lumea reală.
În esență, conceptul de estimare a poziției umane este o tehnologie bazată pe viziunea calculatorului, capabilă să detecteze și să proceseze poziția corpului uman. Partea cea mai importantă și centrală a acestei tehnologii este modelarea corpului uman. Există trei modele de corp uman care sunt cele mai proeminente în sistemele actuale de estimare a poziției umane – bazate pe schelet, contur și volum.
Modelul bazat pe schelet
Acest model este alcătuit dintr-un set de articulații (puncte cheie), cum ar fi genunchi, glezne, încheieturi, coturi, umeri și orientarea membrelor corpului. Acest model este notabil pentru flexibilitatea sa și, prin urmare, este potrivit atât pentru estimarea poziției umane în 3D, cât și în 2D. Cu modelarea 3D, soluția utilizează o imagine RGB și găsește coordonatele X, Y și Z ale articulațiilor. Cu modelarea 2D, este aceeași analiză a unei imagini RGB, dar utilizând coordonatele X și Y.
Modelul bazat pe contur
Acest model utilizează conturul torsonului și al membrelor corpului, precum și lățimea aproximativă a acestora. Aici, soluția ia silueta cadrelor corpului și reprezintă părțile corpului sub formă de rectangulare și limite în cadrul acestei structuri.
Modelul bazat pe volum
Acest model utilizează, în general, o serie de scanări 3D pentru a captura forma corpului și o transformă într-o structură de forme și rețele geometrice. Aceste forme creează o serie 3D de poziții și reprezentări ale corpului.
Cum funcționează estimarea poziției umane în 3D
Aplicațiile de fitness tind să se bazeze pe estimarea poziției umane în 3D. Pentru aceste aplicații, cu cât mai multe informații despre poziția umană, cu atât mai bine. Cu această tehnică, utilizatorul aplicației își va înregistra propria imagine în timp ce efectuează un exercițiu sau o rutină de antrenament. Aplicația va analiza apoi mișcările corpului utilizatorului, oferind corecții pentru greșeli sau inexactități.
Diagrama de flux a acestui tip de aplicație urmează, de obicei, acest model:
- Mai întâi, se colectează date despre mișcările utilizatorului în timp ce efectuează exercițiul.
- Următorul pas constă în determinarea corectitudinii sau incorectitudinii mișcărilor utilizatorului.
- În final, se afișează utilizatorului, prin intermediul interfeței, eventualele greșeli pe care le-ar fi putut face.
În prezent, standardul în tehnologia de estimare a poziției umane este topologia COCO. Topologia COCO este alcătuită din 17 puncte de reper pe corp, de la față până la brațe și picioare. Notați că COCO nu este singurul cadru de poziție a corpului uman, ci doar cel mai utilizat.
Acest tip de proces utilizează, de obicei, tehnologia de învățare automată profundă pentru extragerea articulațiilor în estimarea poziției utilizatorului. Apoi, utilizează algoritmi bazati pe geometrie pentru a înțelege ceea ce a găsit (analizează pozițiile relative ale articulațiilor detectate). Atunci când utilizează un videoclip dinamic ca date de intrare, sistemul poate utiliza o serie de cadre, nu doar o singură imagine, pentru a captura punctele cheie. Rezultatul este o reprezentare mult mai precisă a mișcărilor reale ale utilizatorului, deoarece sistemul poate utiliza informații din cadrele adiacente pentru a rezolva orice incertitudini cu privire la poziția corpului uman în cadrul curent.
Dintre tehnicile actuale de utilizare a estimării poziției umane în 3D în aplicații de fitness, abordarea cea mai precisă constă în aplicarea unui model pentru a detecta punctele cheie 2D și, ulterior, procesarea detectării 2D cu un alt model pentru a le converti în predicții de puncte cheie 3D.
În cercetarea pe care am publicat-o recent, s-a utilizat o singură sursă de videoclip, cu rețele neuronale convoluționale cu convoluții temporale dilatate aplicate pentru a efectua conversia punctelor cheie 2D în 3D.
După analizarea modelelor actuale, am determinat că VideoPose3D este soluția cea mai potrivită pentru nevoile majorității aplicațiilor de fitness bazate pe inteligență artificială. Intrarea utilizând acest sistem ar trebui să permită detectarea unui set 2D de puncte cheie, unde un model preantrenat pe setul de date COCO 2017 este aplicat ca detector 2D.
Pentru a obține cea mai precisă predicție a poziției unei articulații sau punct cheie actuale, VideoPose3D poate utiliza multiple cadre pe o secvență scurtă de timp pentru a genera informații despre poziția 2D.
Pentru a crește și mai mult precizia estimării poziției umane în 3D, pot fi utilizate mai multe camere pentru a colecta perspective alternative ale utilizatorului care efectuează același exercițiu sau rutină. Notați, însă, că necesită o putere de procesare mai mare, precum și o arhitectură de model specializată pentru a face față intrărilor multiple de flux video.
Recent, Google (GOOGL ) a prezentat sistemul BlazePose, un model orientat către dispozitive mobile pentru estimarea poziției umane prin creșterea numărului de puncte cheie analizate la 33, un superset al setului de puncte cheie COCO și al altor două topologii – BlazePalm și BlazeFace. Ca urmare, modelul BlazePose poate produce rezultate de predicție a poziției care sunt consistente cu modelele de mână și față prin articularea semantică a corpului.
Fiecare componentă dintr-un sistem de estimare a poziției umane bazat pe învățare automată trebuie să fie rapidă, necesitând un maximum de câteva milisecunde pe cadru pentru detectarea și urmărirea poziției.
Din cauza faptului că pipeline-ul BlazePose (care include componente de estimare și urmărire a poziției) trebuie să funcționeze pe o varietate de dispozitive mobile în timp real, fiecare parte a pipeline-ului este proiectată să fie foarte eficientă din punct de vedere computațional și să ruleze la 200-1000 de cadre pe secundă.
Estimarea și urmărirea poziției în videoclip, în care nu se știe dacă și unde se află persoana, se efectuează, de obicei, în două etape.
La prima etapă, se rulează un model de detectare a obiectelor pentru a localiza prezența unei persoane sau pentru a identifica absența acesteia. După ce persoana a fost detectată, modulul de estimare a poziției poate procesa zona localizată care conține persoana și poate prezice poziția punctelor cheie.
Un dezavantaj al acestui setup este că necesită ca atât modelul de detectare a obiectelor, cât și modulul de estimare a poziției să ruleze pentru fiecare cadru, ceea ce consumă resurse computaționale suplimentare. Autorii BlazePose, însă, au conceput o modalitate de a ocoli această problemă și de a utiliza eficient aceste module de detectare a punctelor cheie, cum ar fi FaceMesh și MediaPipe Hand.
Ideea este că un modul de detectare a obiectelor (detector de față în cazul BlazePose) poate fi utilizat doar pentru a iniția urmărirea poziției în primul cadru, în timp ce urmărirea ulterioară a persoanei poate fi efectuată utilizând exclusiv predicțiile de poziție după o aliniere a parametrilor, care sunt prezise utilizând modelul de estimare a poziției.
Fața produce cel mai puternic semnal cu privire la poziția torsonului pentru rețeaua neuronală, ca urmare a varianței relativ mici a apariției și a contrastului ridicat al caracteristicilor sale. Prin urmare, este posibil să se creeze un sistem rapid și cu un consum redus de resurse pentru detectarea poziției prin intermediul unor ipoteze justificabile bazate pe ideea că capul uman va fi localizabil în fiecare caz de utilizare personală.
Depășirea provocărilor estimării poziției umane
Utilizarea estimării poziției umane în aplicații de fitness se confruntă cu provocarea volumului mare de varietăți de poziții umane, de exemplu, sutele de asane din majoritatea programelor de yoga.
Mai mult, corpul poate bloca unele membre, așa cum sunt capturate de orice cameră dată, utilizatorii pot purta ținute variate care pot ascunde caracteristici ale corpului și aspecte personale.
În timp ce se utilizează orice modele preantrenate, notați că mișcările corporale neobișnuite sau unghiurile de cameră neobișnuite pot duce la erori în estimarea poziției umane. Putem mitigă această problemă într-o oarecare măsură prin utilizarea datelor sintetice de la un model 3D de corp uman sau prin ajustarea fină a datelor specifice domeniului în cauză.
Vestea bună este că putem evita sau mitigă majoritatea slăbiciunilor. Cheia pentru a face acest lucru constă în alegerea datelor de antrenare și a arhitecturii modelului. Mai mult, tendința de dezvoltare în domeniul tehnologiei de estimare a poziției umane sugerează că unele dintre problemele pe care le întâmpinăm în prezent vor fi mai puțin relevante în anii următori.
Cuvântul final
Estimarea poziției umane deține o varietate de posibile utilizări viitoare în afara domeniului aplicațiilor de fitness și urmărirea mișcărilor umane, de la jocuri la animație, la Realitate Augmentată și robotică. Acest lucru nu reprezintă o listă completă a posibilităților, dar evidențiază unele dintre cele mai probabile domenii în care estimarea poziției umane va contribui la peisajul nostru digital.
















