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. Una posa descrive la posizione del corpo in un momento con un insieme di punti di riferimento scheletrici. I punti di riferimento corrispondono a diverse parti del corpo, come spalle e fianchi. Le posizioni relative dei punti di riferimento possono essere utilizzate per distinguere una posa da un'altra.

iOS Android

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

Figura 1. Punti 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 una posa, deve essere presente il volto dell'utente. Il rilevamento della posizione funziona meglio quando l'intero corpo del soggetto è visibile nell'inquadratura, ma rileva anche la posa parziale del corpo. In tal caso, vengono assegnate coordinate al di fuori dell'immagine ai punti di riferimento non riconosciuti.

Funzionalità chiave

  • Assistenza multipiattaforma Usufruisci della stessa esperienza sia su Android che su iOS.
  • Monitoraggio completo del corpo Il modello restituisce 33 punti di riferimento scheletrici chiave, tra cui 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 compreso tra 0,0 e 1,0, dove 1,0 indica un'elevata affidabilità.
  • Due SDK ottimizzati: l'SDK di base viene eseguito in tempo reale su telefoni moderni come Pixel 4 e iPhone X. Restituisce i risultati a una velocità di circa 30 e circa 45 f/s. Tuttavia, la precisione delle coordinate di riferimento può variare. L'SDK preciso restituisce risultati a una frequenza fotogrammi più lenta, ma produce valori di coordinate più precisi.
  • Coordinata Z per l'analisi della profondità Questo valore può aiutare a determinare se parti del corpo degli utenti si trovano davanti o dietro i fianchi. Per ulteriori informazioni, consulta la sezione Coordinata Z di seguito.

L'API Pose Detection è simile all'API Faciial Recognition in quanto restituisce un insieme di punti di riferimento e la loro posizione. Tuttavia, mentre il rilevamento dei volti cerca di riconoscere anche caratteristiche come la bocca sorridente o gli occhi aperti, la funzionalità di posa non associa alcun significato ai punti di riferimento in una posa o alla posa stessa. Puoi creare i tuoi algoritmi per interpretare una posa. Consulta i Suggerimenti per la classificazione dei articoli per alcuni esempi.

La funzionalità di rilevamento della posizione può rilevare una sola persona in un'immagine. Se nell'immagine sono presenti due persone, il modello assegnerà 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 videocamera e passa tra i fianchi di un soggetto. L'origine dell'asse Z è indicativamente del punto centrale tra i fianchi (sinistra/destra e fronte/retro rispetto alla fotocamera). I valori Z negativi si riferiscono alla fotocamera; i valori positivi non lo sono. La coordinata Z non ha un limite superiore o inferiore.

Risultati di esempio

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

Punto di riferimentoTipoPosizioneProbabilità di integrazione nei frame
11LEFT_SHOULDER(734.9671, 550.7924, -118.11934)0,9999038
12 DESTRA_SHOULDER (391.27032, 583.2485, -321.15836) 0,9999894
13 TITOLO_SINISTRA (903.83704, 754.676, -219.67009) 0,9836427
14 TITOLO_DESTRO (322.18152, 842.5973, -179.28519) 0,99970156
15 PRIMO_SCRITTO (1073.8956, 654.9725, -820.93463) 0,9737737
16 PRIMO_SCRITTO (218.27956, 1015.70435, -683.6567) 0,995568
17 LEFT_PINKY (1146.1635, 609.6432, -956.9976) 0,95273364
18 DESTRA_PINKY (176.17755, 1065.838, -776.5006) 0,9785348

Uno sguardo approfondito

Per ulteriori dettagli sull'implementazione dei modelli ML sottostanti per questa API, consulta il nostro post del blog Google AI.

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