Stima della posa

La stima della posa è il compito di utilizzare un modello ML per stimare la posa di una persona da un'immagine o un video stimando le posizioni spaziali delle articolazioni chiave del corpo (punti chiave).

Iniziare

Se non conosci TensorFlow Lite e lavori con Android o iOS, esplora le seguenti applicazioni di esempio che possono aiutarti a iniziare.

Esempio Android Esempio iOS

Se hai familiarità con le API TensorFlow Lite , scarica il modello di stima della posa MoveNet iniziale e i file di supporto.

Scarica il modello iniziale

Se vuoi provare la stima della posa su un browser web, dai un'occhiata alla demo di TensorFlow JS .

Descrizione del Modello

Come funziona

La stima della posa si riferisce a tecniche di visione artificiale che rilevano figure umane in immagini e video, in modo da poter determinare, ad esempio, dove appare il gomito di qualcuno in un'immagine. È importante essere consapevoli del fatto che la stima della posa stima semplicemente dove si trovano le articolazioni principali del corpo e non riconosce chi si trova in un'immagine o in un video.

I modelli di stima della posa prendono l'immagine elaborata della telecamera come input e restituiscono informazioni sui punti chiave. I punti chiave rilevati vengono indicizzati in base a un ID parte, con un punteggio di confidenza compreso tra 0,0 e 1,0. Il punteggio di confidenza indica la probabilità che esista un punto chiave in quella posizione.

Forniamo l'implementazione di riferimento di due modelli di stima della posa TensorFlow Lite:

  • MoveNet: il modello di stima della posa all'avanguardia disponibile in due versioni: Illuminazione e Tuono. Vedi un confronto tra questi due nella sezione seguente.
  • PoseNet: il modello di stima della posa della generazione precedente rilasciato nel 2017.

Le varie articolazioni del corpo rilevate dal modello di stima della posa sono elencate di seguito:

Id Parte
0 naso
1 occhio sinistro
2 occhio destro
3 orecchio sinistro
4 orecchio destro
5 spalla sinistra
6 spalla destra
7 gomito sinistro
8 Gomito destro
9 polso sinistro
10 polso destro
11 anca sinistra
12 anca destra
13 ginocchio sinistro
14 ginocchio destro
15 caviglia sinistra
16 caviglia destra

Di seguito è mostrato un output di esempio:

Animazione che mostra la stima della posa

Benchmark delle prestazioni

MoveNet è disponibile in due versioni:

  • MoveNet.Lightning è più piccolo, più veloce ma meno preciso della versione Thunder. Può funzionare in tempo reale sui moderni smartphone.
  • MoveNet.Thunder è la versione più precisa ma anche più grande e più lenta di Lightning. È utile per i casi d'uso che richiedono una maggiore precisione.

MoveNet supera PoseNet su una varietà di set di dati, soprattutto nelle immagini con immagini di azioni di fitness. Pertanto, consigliamo di utilizzare MoveNet su PoseNet.

I numeri dei benchmark delle prestazioni vengono generati con lo strumento qui descritto . I numeri di precisione (mAP) vengono misurati su un sottoinsieme del set di dati COCO in cui filtriamo e ritagliamo ciascuna immagine per contenere solo una persona.

Modello Dimensioni (MB) carta geografica Latenza (ms)
Pixel 5 - CPU 4 thread Pixel 5-GPU Raspberry Pi 4 - CPU 4 thread
MoveNet.Thunder (FP16 quantizzato) 12,6 MB 72.0 155ms 45 ms 594ms
MoveNet.Thunder (INT8 quantizzato) 7,1 MB 68.9 100 ms 52 ms 251 ms
MoveNet.Lightning (FP16 quantizzato) 4,8 MB 63.0 60 ms 25 ms 186 ms
MoveNet.Lightning (INT8 quantizzato) 2,9 MB 57.4 52 ms 28 ms 95 ms
PoseNet (dorsale MobileNetV1, FP32) 13,3 MB 45.6 80 ms 40 ms 338 ms

Ulteriori letture e risorse

  • Dai un'occhiata a questo post del blog per saperne di più sulla stima della posa utilizzando MoveNet e TensorFlow Lite.
  • Dai un'occhiata a questo post del blog per saperne di più sulla stima della posa sul web.
  • Dai un'occhiata a questo tutorial per scoprire come eseguire MoveNet su Python utilizzando un modello di TensorFlow Hub.
  • Coral/EdgeTPU può rendere la stima della posa molto più veloce sui dispositivi edge. Per ulteriori dettagli, consulta i modelli ottimizzati per EdgeTPU .
  • Leggi il documento PoseNet qui

Inoltre, dai un'occhiata a questi casi d'uso della stima della posa.