L'attività Punto di riferimento per la posa di MediaPipe consente di rilevare i punti di riferimento di corpi umani in un'immagine o in un video. Puoi utilizzare questa attività per identificare le posizioni chiave del corpo, analizzare la postura e classificare i movimenti. Questa attività usa modelli di machine learning (ML) che funzionano con singole immagini o video. L'attività restituisce i punti di riferimento nelle coordinate dell'immagine e nelle coordinate tridimensionali.
Inizia
Inizia a utilizzare questa attività seguendo la guida all'implementazione per la tua piattaforma di destinazione. Queste guide specifiche per piattaforma illustrano un'implementazione di base di questa attività, inclusi un modello consigliato ed un esempio di codice con le opzioni di configurazione consigliate:
- Android - Esempio di codice - Guida
- Python - Esempio di codice - Guida
- Web - Esempio di codice - Guida
Dettagli attività
Questa sezione descrive le funzionalità, gli input, gli output e le opzioni di configurazione di questa attività.
Funzionalità
- Elaborazione dell'immagine in ingresso: l'elaborazione include la rotazione, il ridimensionamento, la normalizzazione e la conversione dello spazio colore dell'immagine.
- Soglia punteggio: filtra i risultati in base ai punteggi delle previsioni.
Input attività | Output attività |
---|---|
Il punto di riferimento per la posa accetta l'input di uno dei seguenti tipi di dati:
|
Il punto di riferimento per la posa restituisce i seguenti risultati:
|
Opzioni di configurazione
Questa attività prevede le seguenti opzioni di configurazione:
Nome opzione | Descrizione | Intervallo di valori | Valore predefinito |
---|---|---|---|
running_mode |
Imposta la modalità di esecuzione per l'attività. Esistono tre
modalità: IMAGE: la modalità per gli input di singole immagini. VIDEO: la modalità per i fotogrammi decodificati di un video. LIVE_STREAM: la modalità per un live streaming di dati di input, ad esempio da una videocamera. In questa modalità, resultListener deve essere chiamato per configurare un listener per ricevere i risultati in modo asincrono. |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
num_poses |
Il numero massimo di pose che possono essere rilevate dall'elemento di riferimento per le pose. | Integer > 0 |
1 |
min_pose_detection_confidence |
Il punteggio di affidabilità minimo affinché il rilevamento della posa venga considerato riuscito. | Float [0.0,1.0] |
0.5 |
min_pose_presence_confidence |
Il punteggio di affidabilità minimo del punteggio di presenza della posa nel rilevamento dei punti di riferimento della posa. | Float [0.0,1.0] |
0.5 |
min_tracking_confidence |
Il punteggio di affidabilità minimo affinché il monitoraggio della posa venga considerato riuscito. | Float [0.0,1.0] |
0.5 |
output_segmentation_masks |
Indica se il punto di riferimento per la posa restituisce una maschera di segmentazione per la posa rilevata. | Boolean |
False |
result_callback |
Imposta il listener dei risultati per ricevere i risultati del punto di riferimento in modo asincrono quando il punto di riferimento per la posa è in modalità live streaming.
Può essere utilizzato solo quando la modalità di esecuzione è impostata su LIVE_STREAM |
ResultListener |
N/A |
ottimizzabili
L'indicatore di riferimento per le posizioni utilizza una serie di modelli per prevedere i punti di riferimento per le pose. Il primo modello rileva la presenza di corpi umani all'interno di una cornice di immagine, mentre il secondo individua i punti di riferimento sui corpi.
I seguenti modelli vengono pacchettizzati in un pacchetto di modelli scaricabile:
- Modello di rilevamento delle posizioni: rileva la presenza di corpi con alcuni punti di riferimento principali.
- Modello di punto di riferimento in posa: aggiunge una mappatura completa della posa. Il modello restituisce una stima di 33 punti di riferimento per le pose 3 dimensioni.
Questo bundle utilizza una rete neurale convoluzionale simile a MobileNetV2 ed è ottimizzato per le applicazioni di fitness in tempo reale sul dispositivo. Questa variante del modello BlazePose utilizza GHUM, una pipeline di modellazione di forme umane 3D, per stimare la posa del corpo in 3D di una persona nelle immagini o nei video.
Pacchetto di modelli | Forma di input | Tipo di dati | Schede dei modelli | Versions |
---|---|---|---|---|
Punto di riferimento per la posa (lite) | Rilevatore di posizioni: 224 x 224 x 3 Punto di riferimento: 256 x 256 x 3 |
numero in virgola mobile 16 | informazioni | Più recente |
Punto di riferimento per la posa (completa) | Rilevatore di posizioni: 224 x 224 x 3 Punto di riferimento: 256 x 256 x 3 |
numero in virgola mobile 16 | informazioni | Più recente |
Punto di riferimento per la posa (intenso) | Rilevatore di posizioni: 224 x 224 x 3 Punto di riferimento: 256 x 256 x 3 |
numero in virgola mobile 16 | informazioni | Più recente |
Modello del punto di riferimento per le posizioni
Il modello di riferimento per la posa traccia 33 punti di riferimento del corpo, che rappresentano la posizione approssimativa delle seguenti parti del corpo:
0 - nose
1 - left eye (inner)
2 - left eye
3 - left eye (outer)
4 - right eye (inner)
5 - right eye
6 - right eye (outer)
7 - left ear
8 - right ear
9 - mouth (left)
10 - mouth (right)
11 - left shoulder
12 - right shoulder
13 - left elbow
14 - right elbow
15 - left wrist
16 - right wrist
17 - left pinky
18 - right pinky
19 - left index
20 - right index
21 - left thumb
22 - right thumb
23 - left hip
24 - right hip
25 - left knee
26 - right knee
27 - left ankle
28 - right ankle
29 - left heel
30 - right heel
31 - left foot index
32 - right foot index
L'output del modello contiene sia coordinate normalizzate (Landmarks
) sia coordinate
mondiali (WorldLandmarks
) per ogni punto di riferimento.