Rilevamento della posa

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

L'API ML Kit Pose Detection è una soluzione leggera e versatile che consente agli sviluppatori di app di rilevare la posa del corpo di un soggetto in tempo reale da un video continuo o da un'immagine statica. La posa descrive la posizione del corpo in un dato momento con una serie di punti di riferimento scheletrici. I punti di riferimento corrispondono a parti del corpo diverse, come le spalle e i fianchi. Le posizioni relative dei punti di riferimento possono essere utilizzate per distinguere una posa dall'altra.

iOS Android

ML Kit Pose Detection produce una corrispondenza scheletrica a 33 punti del corpo che include punti di riferimento del viso (orecchie, occhi, bocca e naso) e punti di mani e piedi. La figura 1 mostra i punti di riferimento che osservano la videocamera attraverso l'utente, pertanto si tratta di un'immagine speculare. Il lato destro dell'utente viene visualizzato sulla sinistra dell'immagine:

Figura 1. Punto di riferimento

ML Kit Pose Detection non richiede attrezzature specializzate o competenze nel machine learning per ottenere ottimi risultati. Con questa tecnologia gli sviluppatori possono creare esperienze uniche per i propri utenti con solo poche righe di codice.

Per rilevare la posa, il volto dell'utente deve essere presente. Il rilevamento della posizione funziona meglio quando l'intero corpo del soggetto è visibile nell'inquadratura, ma rileva anche una posa parziale del corpo. In questo caso, ai punti di riferimento che non vengono riconosciuti vengono assegnate coordinate al di fuori dell'immagine.

Funzionalità chiave

  • Supporto multipiattaforma Usufruisci della stessa esperienza sia su Android che su iOS.
  • Monitoraggio corporeo: il modello restituisce 33 punti chiave dello scheletro, incluse le posizioni di mani e piedi.
  • Punteggio InFrameLikelihood per ogni punto di riferimento, una misura che indica la probabilità che il punto di riferimento si trovi all'interno del frame dell'immagine. Il punteggio ha un intervallo da 0,0 a 1,0, dove 1,0 indica un'alta confidenza.
  • Due SDK ottimizzati: l'SDK di base viene eseguito in tempo reale su telefoni moderni come Pixel 4 e iPhone X. Restituisce i risultati con una frequenza rispettivamente di ~30 e ~45 f/s. Tuttavia, le precisione delle coordinate dei punti di riferimento possono variare. L'SDK preciso restituisce risultati a una frequenza fotogrammi più lenta, ma produce valori di coordinata più precisi.
  • Coordinata Z per l'analisi della profondità Questo valore può aiutare a determinare se parti del corpo dell'utente sono davanti o dietro i fianchi. Per ulteriori informazioni, consulta la sezione Coordinata Z di seguito.

L'API Pose Detection è simile all'API Facial Recognition, in quanto restituisce un set di punti di riferimento e la loro posizione. Tuttavia, anche se il riconoscimento facciale cerca di riconoscere funzionalità quali la bocca sorridente o gli occhi aperti, il rilevamento posa non associa alcun significato ai punti di riferimento in una posa o nella posa stessa. Puoi creare i tuoi algoritmi per interpretare una posa. Consulta alcuni suggerimenti per la classificazione delle posizioni per alcuni esempi.

Il rilevamento della posizione può rilevare una sola persona in un'immagine. Se sono presenti due persone nell'immagine, il modello assegnerà i punti di riferimento alla persona rilevata con la massima affidabilità.

Coordinata Z

La coordinata Z è un valore sperimentale calcolato per ogni punto di riferimento. Viene misurato in "pixel immagine" come le coordinate X e Y, ma non è un valore 3D reale. L'asse Z è perpendicolare alla fotocamera e passa tra i fianchi di un soggetto. L'origine dell'asse Z è circa il punto centrale tra i fianchi (sinistra/destra e anteriore/Indietro rispetto alla fotocamera). I valori Z negativi si trovano verso la fotocamera; non sono presenti valori positivi. La coordinata Z non ha un limite superiore o inferiore.

Risultati di esempio

La tabella seguente mostra le coordinate e l'elemento InFramelikelihood per alcuni punti di riferimento nella posa a destra. Tieni presente che le coordinate Z della mano sinistra dell'utente sono negative, perché si trovano di fronte al centro del soggetto e verso la fotocamera.

Punto di riferimentoTipoPosizioneProbabilità di creazione inframe
11SPAZIO_SINISTRA(734.9671, 550.7924, -118.11934)0,9999038
12 SPAZIO_DI_DESTRA (391.27032, 583.2485, -321.15836) 0,9999894
13 BOZZA_SINISTRA (903.83704, 754.676, -219.67009) 0,9836427
14 TITOLO DESTRO (322.18152, 842.5973, -179.28519) 0,99970156
15 SINISTRA_SCRITTA (1073.8956, 654.9725, -820.93463) 0,9737737
16 POLSO_DESTRO (218.27956, 1015.70435, -683.6567) 0,995568
17 SINISTRA_PINKY (1146.1635, 609.6432, -956.9976) 0,95273364
18 DESTRA_PINKY (176.17755, 1065.838, -776.5006) 0,9785348

Funzioni avanzate

Per maggiori dettagli sull'implementazione dei modelli di machine learning sottostanti per questa API, leggi il post del blog Google AI.

Per ulteriori informazioni sulle nostre pratiche di equità nel machine learning e su come sono stati addestrati i modelli, consulta la nostra scheda dei modelli.