Sanità
Stima della Posizione Umana con Intelligenza Artificiale nelle App di Fitness

Di Maksym Tatariants, Ingegnere di Scienza dei Dati presso MobiDev.
La stima della posizione umana si riferisce a una tecnologia – abbastanza nuova, ma in rapida evoluzione – che svolge un ruolo significativo nelle applicazioni di fitness e danza, consentendoci di sovrapporre contenuti digitali al mondo reale.
In sintesi, il concetto di stima della posizione umana è una tecnologia basata sulla visione artificiale in grado di rilevare e elaborare la postura umana. La parte più importante e centrale di questa tecnologia è la modellazione del corpo umano. Tre modelli di corpo sono più prominenti all’interno dei sistemi di stima della posizione umana attuali: basato su scheletro, basato su contorno e basato su volume.
Modello Basato su Scheletro
Questo modello è composto da un insieme di articolazioni (punti chiave), come ginocchia, caviglie, polsi, gomiti, spalle e orientamento degli arti del corpo. Questo modello è noto per la sua flessibilità e, pertanto, è adatto sia per la stima della posizione umana tridimensionale che bidimensionale. Con la modellazione tridimensionale, la soluzione utilizza un’immagine RGB e trova le coordinate X, Y e Z delle articolazioni. Con la modellazione bidimensionale, è la stessa analisi di un’immagine RGB, ma utilizzando le coordinate X e Y.
Modello Basato su Contorno
Questo modello utilizza i contorni del torso e degli arti del corpo, nonché la loro larghezza approssimativa. Qui, la soluzione prende il profilo del corpo e rappresenta le parti del corpo come rettangoli e confini all’interno di quel profilo.
Modello Basato su Volume
Questo modello utilizza generalmente una serie di scansioni tridimensionali per catturare la forma del corpo e la converte in una struttura di forme e mesh geometriche. Queste forme creano una serie tridimensionale di pose e rappresentazioni del corpo.
Come Funziona la Stima della Posizione Umana 3D
Le applicazioni di fitness tendono a fare affidamento sulla stima della posizione umana tridimensionale. Per queste app, più informazioni sulla posizione umana, meglio è. Con questa tecnica, l’utente dell’app registrerà se stesso mentre esegue un esercizio o una routine di allenamento. L’app analizzerà poi i movimenti del corpo dell’utente, offrendo correzioni per errori o inesattezze.
Il diagramma di flusso di questo tipo di app segue generalmente questo schema:
- Innanzitutto, raccogliere dati sui movimenti dell’utente mentre esegue l’esercizio.
- Successivamente, determinare quanto corretti o scorretti siano stati i movimenti dell’utente.
- Infine, mostrare all’utente tramite l’interfaccia quali errori potrebbe aver commesso.
Attualmente, lo standard nella tecnologia della posizione umana è la topologia COCO. La topologia COCO è composta da 17 punti di riferimento in tutto il corpo, che vanno dal viso alle braccia alle gambe. Nota che COCO non è l’unico framework di posizione del corpo umano, ma è quello più comunemente utilizzato.
Questo tipo di processo solitamente utilizza tecnologie di apprendimento automatico avanzate per l’estrazione delle articolazioni nella stima della posizione dell’utente. Utilizza poi algoritmi basati sulla geometria per analizzare le posizioni relative delle articolazioni rilevate. Utilizzando un video dinamico come dati di origine, il sistema può utilizzare una serie di frame, non solo un’immagine singola, per catturare i punti chiave. Il risultato è una rappresentazione molto più precisa dei movimenti reali dell’utente, poiché il sistema può utilizzare le informazioni dai frame adiacenti per risolvere eventuali incertezze sulla posizione del corpo umano nel frame corrente.
Tra le tecniche attuali per utilizzare la stima della posizione umana 3D nelle applicazioni di fitness, l’approccio più preciso è applicare un modello per rilevare i punti chiave 2D e successivamente elaborare la rilevazione 2D con un altro modello per convertirli in previsioni di punti chiave 3D.
Nella ricerca che abbiamo pubblicato di recente, è stata utilizzata una singola sorgente video, con reti neurali convoluzionali con convoluzioni temporali dilatate applicate per eseguire la conversione dei punti chiave 2D-3D.
Dopo aver analizzato i modelli attualmente disponibili, abbiamo determinato che VideoPose3D è la soluzione migliore per le esigenze della maggior parte delle applicazioni di fitness guidate dall’IA. L’input utilizzando questo sistema dovrebbe consentire di rilevare un insieme di punti chiave 2D, dove un modello pre-addestrato sul set di dati COCO 2017 viene applicato come rilevatore 2D.
Per la previsione più precisa della posizione di un’articolazione o punto chiave corrente, VideoPose3D può utilizzare più frame su una breve sequenza di tempo per generare informazioni sulla posizione 2D.
Per ulteriormente aumentare la precisione della stima della posizione umana 3D, più di una telecamera può raccogliere punti di vista alternativi dell’utente che esegue lo stesso esercizio o routine. Nota, tuttavia, che richiede una maggiore potenza di elaborazione nonché un’architettura di modello specializzata per gestire più input di flussi video.
Di recente, Google (GOOGL ) ha presentato il sistema BlazePose, un modello orientato ai dispositivi mobili per la stima della posizione umana aumentando il numero di punti chiave analizzati a 33, un superset del set di punti chiave COCO e di due altre topologie – BlazePalm e BlazeFace. Di conseguenza, il modello BlazePose può produrre risultati di previsione della posizione coerenti con modelli di mano e modelli di viso articolando la semantica del corpo.
Ogni componente all’interno di un sistema di stima della posizione umana basato sull’apprendimento automatico deve essere veloce, richiedendo un massimo di pochi millisecondi per frame per la rilevazione e il tracciamento della posizione.
A causa del fatto che la pipeline BlazePose (che include componenti di stima e tracciamento della posizione) deve funzionare su una varietà di dispositivi mobili in tempo reale, ogni parte della pipeline è progettata per essere molto efficiente dal punto di vista computazionale e può funzionare a 200-1000 FPS.
La stima della posizione e il tracciamento nel video in cui non si sa se e dove sia presente una persona sono solitamente eseguiti in due fasi.
Nella prima fase, viene eseguito un modello di rilevamento degli oggetti per localizzare la presenza di un essere umano o per identificare la sua assenza. Dopo che la persona è stata rilevata, il modulo di stima della posizione può elaborare l’area localizzata che contiene la persona e prevedere la posizione dei punti chiave.
Un svantaggio di questo setup è che richiede sia il modello di rilevamento degli oggetti che il modulo di stima della posizione per eseguire ogni frame, il che consuma risorse computazionali aggiuntive. Tuttavia, gli autori di BlazePose hanno escogitato un modo astuto per aggirare questo problema e utilizzarlo efficientemente anche in altri moduli di rilevamento dei punti chiave come FaceMesh e MediaPipe Hand.
L’idea è che un modulo di rilevamento degli oggetti (un rilevatore di visi nel caso di BlazePose) possa essere utilizzato solo per avviare il tracciamento della posizione nel primo frame, mentre il tracciamento successivo della persona può essere eseguito utilizzando esclusivamente le previsioni della posizione dopo alcuni allineamenti della posizione, i cui parametri sono previsti utilizzando il modello di stima della posizione.
Il viso produce il segnale più forte per la posizione del torso per la rete neurale, a causa della varianza relativamente piccola nell’aspetto e dell’alto contrasto nelle sue caratteristiche. Di conseguenza, è possibile creare un sistema di rilevamento della posizione rapido e a basso impatto attraverso una serie di ipotesi giustificabili basate sull’idea che la testa umana sia localizzabile in ogni caso d’uso personale.
Superare le Sfide della Stima della Posizione Umana
L’utilizzo della stima della posizione umana nelle applicazioni di fitness affronta la sfida del volume e della varietà di pose umane, ad esempio le centinaia di asana nella maggior parte dei regimi di yoga.
Inoltre, il corpo può talvolta bloccare alcuni arti come catturati da qualsiasi telecamera, gli utenti possono indossare abbigliamento variato che oscura le caratteristiche del corpo e l’aspetto personale.
Utilizzando modelli pre-addestrati, nota che movimenti del corpo insoliti o angolazioni della telecamera strane possono portare a errori nella stima della posizione umana. Possiamo mitigare questo problema in una certa misura utilizzando dati sintetici da un modello di corpo umano 3D o fine-tuning con dati specifici del dominio in questione.
La buona notizia è che possiamo evitare o mitigare la maggior parte delle debolezze. La chiave per farlo è scegliere i dati di addestramento e l’architettura del modello giusti. Inoltre, la tendenza dello sviluppo nel campo della tecnologia di stima della posizione umana suggerisce che alcune delle questioni che affrontiamo ora saranno meno rilevanti negli anni a venire.
La Parola Finale
La stima della posizione umana ha una varietà di potenziali utilizzi futuri al di fuori dell’area delle applicazioni di fitness e del tracciamento dei movimenti umani, dalla gestione dei giochi all’animazione alla realtà aumentata alla robotica. Ciò non rappresenta un elenco completo delle possibilità, ma evidenzia alcune delle aree più probabili in cui la stima della posizione umana contribuirà al nostro paesaggio digitale.
















