Guida al rilevamento dei punti di riferimento della mano

Una mano che tiene un uovo. La forma della mano è contrassegnata da un wireframe che indica la struttura identificata

L'attività MediaPipe Hand Landmarker consente di rilevare i punti di riferimento delle mani in un'immagine. Puoi utilizzare questa operazione per individuare i punti chiave delle mani e applicare effetti visivi. Questa attività opera sui dati delle immagini con un modello di machine learning (ML) come dati statici o uno stream continuo e genera punti di riferimento della mano nelle coordinate dell'immagine, punti di riferimento della mano nelle coordinate del mondo e dominanza della mano(mano sinistra/destra) di più mani rilevate.

Prova!

Inizia

Per iniziare a utilizzare questa attività, segui una di queste guide all'implementazione per la tua piattaforma di destinazione. Queste guide specifiche per la piattaforma illustrano un'implementazione di base di questa attività, incluso un modello consigliato e un esempio di codice con le opzioni di configurazione consigliate:

Dettagli attività

Questa sezione descrive le funzionalità, gli input, gli output e le opzioni di configurazione di questa attività.

Funzionalità

  • Elaborazione delle immagini di input: l'elaborazione include la rotazione, il ridimensionamento, la normalizzazione e la conversione dello spazio colore delle immagini.
  • Soglia di punteggio: filtra i risultati in base ai punteggi di previsione.
Input delle attività Output delle attività
Il rilevamento di punti di riferimento della mano accetta uno dei seguenti tipi di dati:
  • Immagini statiche
  • Fotogrammi video decodificati
  • Feed video in diretta
Il rilevamento di punti di riferimento della mano genera i seguenti risultati:
  • Mano dominante delle mani rilevate
  • Punti di riferimento delle mani rilevate nelle coordinate dell'immagine
  • Punti di riferimento delle mani rilevate in coordinate mondiali

Opzioni di configurazione

Questa attività ha le seguenti opzioni di configurazione:

Nome opzione Descrizione Intervallo di valori Valore predefinito
running_mode Imposta la modalità di esecuzione dell'attività. Esistono tre modalità:

IMMAGINE: la modalità per l'inserimento 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 ascoltatore per ricevere i risultati in modo asincrono.
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
num_hands Il numero massimo di mani rilevate dal Rilevamento di punti di riferimento della mano. Any integer > 0 1
min_hand_detection_confidence Il punteggio di attendibilità minimo per il rilevamento della mano deve essere considerato positivo nel modello di rilevamento del palmo. 0.0 - 1.0 0.5
min_hand_presence_confidence Il punteggio di attendibilità minimo per il punteggio di presenza della mano nel modello di rilevamento dei punti di riferimento della mano. In modalità Video e Live streaming, se il punteggio di confidenza della presenza della mano del modello di landmark della mano è inferiore a questa soglia, il rilevamento dei landmark della mano attiva il modello di rilevamento del palmo. In caso contrario, un algoritmo di monitoraggio delle mani leggero determina la posizione delle mani per i rilevamenti successivi dei punti di riferimento. 0.0 - 1.0 0.5
min_tracking_confidence Il punteggio di attendibilità minimo per il rilevamento delle mani deve essere considerato positivo. Questa è la soglia IoU del riquadro di delimitazione tra le mani nel frame corrente e nell'ultimo frame. In modalità Video e Stream di Hand Landmarker, se il monitoraggio non va a buon fine, Hand Landmarker attiva il rilevamento della mano. In caso contrario, salta il rilevamento della mano. 0.0 - 1.0 0.5
result_callback Imposta l'ascoltatore dei risultati in modo da ricevere i risultati del rilevamento in modo asincrono quando il rilevamento di punti di riferimento della mano è in modalità live streaming. Applicabile solo quando la modalità di esecuzione è impostata su LIVE_STREAM N/D N/D

Modelli

Il rilevamento di punti di riferimento della mano utilizza un bundle di modelli con due modelli pacchettizzati: un modello di rilevamento del palmo e un modello di rilevamento dei punti di riferimento della mano. Per eseguire questa attività, è necessario un bundle di modelli che contenga entrambi questi modelli.

Nome modello Forma di input Tipo di quantizzazione Scheda del modello Versioni
Segnaletica manuale (completa) 192 x 192, 224 x 224 float 16 informazioni Ultime notizie

Il bundle del modello di punti di riferimento della mano rileva la localizzazione dei punti chiave di 21 coordinate delle nocche delle mani all'interno delle regioni delle mani rilevate. Il modello è stato addestrato su circa 30.000 immagini del mondo reale, nonché su diversi modelli di mani sintetiche resi su vari sfondi.

Il bundle di modelli di indicatori della mano contiene un modello di rilevamento del palmo e un modello di rilevamento degli indicatori della mano. Il modello di rilevamento della mano individua le mani all'interno dell'immagine di input, mentre il modello di rilevamento dei punti di riferimento della mano identifica punti di riferimento specifici della mano nell'immagine della mano ritagliata definita dal modello di rilevamento della mano.

Poiché l'esecuzione del modello di rilevamento del palmo è un processo che richiede tempo, in modalità di esecuzione di video o live streaming, il rilevamento dei punti di riferimento della mano utilizza la casella delimitante definita dal modello dei punti di riferimento della mano in un fotogramma per localizzare la regione delle mani per i fotogrammi successivi. Il rilevamento dei punti di riferimento della mano riattiva il modello di rilevamento del palmo solo se il modello dei punti di riferimento della mano non identifica più la presenza delle mani o non riesce a monitorarle all'interno dell'inquadratura. In questo modo si riduce il numero di volte in cui il rilevamento dei punti di riferimento della mano attiva il modello di rilevamento del palmo.

Benchmark delle attività

Ecco i benchmark delle attività per l'intera pipeline in base ai modelli preaddestrati sopra indicati. Il risultato della latenza è la latenza media su Pixel 6 che utilizza CPU / GPU.

Nome modello Latenza della CPU Latenza GPU
Segnaletica stradale (completa) 17,12 ms 12,27 ms