Guida interattiva alle attività di segmentazione delle immagini

L'attività Segmenter di immagini interattive MediaPipe consente di dividere un'immagine in due regioni: un oggetto selezionato e tutto il resto. L'attività prende una posizione in un'immagine, stima i confini di un oggetto in quella posizione e restituisce i dati dell'immagine che definiscono l'area dell'oggetto. Puoi utilizzare questa attività per selezionare in modo interattivo un oggetto in un'immagine e utilizzare l'output per applicare effetti all'immagine, ad esempio overlay colorati che evidenziano l'oggetto o sfocano lo sfondo circostante. Questa attività opera sui dati di immagine con un modello di machine learning (ML) e puoi utilizzarlo su singole immagini, file video o uno stream video continuo.

Prova!

Inizia

Inizia a utilizzare questa attività seguendo una di queste guide 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:

Dettagli attività

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

Funzionalità

  • Elaborazione dell'immagine in input: l'elaborazione include la rotazione, il ridimensionamento, la normalizzazione e la conversione dello spazio colore dell'immagine.
Input attività Output attività
  • Coordinate del punto d'interesse per un oggetto in un'immagine
  • File immagine da elaborare
Il Segmentazione di immagini interattive restituisce dati di immagini segmentati, che possono includere uno dei seguenti elementi o entrambi, a seconda delle opzioni di configurazione impostate:
  • CATEGORY_MASK: un elenco contenente una maschera segmentata come immagine in formato uint8. Ogni valore di pixel indica se fa parte dell'oggetto che si trova nell'area di interesse.
  • CONFIDENCE_MASK: un elenco di canali contenenti una maschera segmentata con valori di pixel in formato float32. Ogni valore di pixel indica il livello di confidenza che fa parte dell'oggetto situato nell'area di interesse.

Opzioni di configurazione

Questa attività prevede le seguenti opzioni di configurazione:

Nome opzione Descrizione Intervallo di valori Valore predefinito
output_category_mask Se impostato su True, l'output include una maschera di segmentazione come immagine uint8, in cui ogni valore di pixel indica se il pixel fa parte dell'oggetto situato nell'area di interesse. {True, False} False
output_confidence_masks Se impostato su True, l'output include una maschera di segmentazione come immagine con valore in virgola mobile, in cui ogni valore in virgola mobile rappresenta l'affidabilità che il pixel fa parte dell'oggetto situato nell'area di interesse. {True, False} True
display_names_locale Imposta la lingua delle etichette da utilizzare per i nomi visualizzati forniti nei metadati del modello dell'attività, se disponibili. Il valore predefinito è en per l'inglese. Puoi aggiungere etichette localizzate ai metadati di un modello personalizzato utilizzando l'API Metadata Writer di TensorFlow Lite Codice impostazioni internazionali it

ottimizzabili

Il Segmenter di immagini interattivo può essere utilizzato con più modelli ML. Inizia con il modello predefinito consigliato per la tua piattaforma di destinazione quando inizi a sviluppare con questa attività. Gli altri modelli disponibili di solito fanno compromessi tra prestazioni, accuratezza, risoluzione e requisiti delle risorse e, in alcuni casi, includono funzionalità aggiuntive.

Questo modello identifica i segmenti date le coordinate dell'immagine per un'area di interesse. Il modello utilizza una rete neurale convoluzionale, simile a un'architettura MobileNetV3, con un decoder personalizzato.

Nome modello Forma di input Tipo di quantizzazione Scheda del modello Versions
MagicTouch 512 x 512 x 4 Nessuna (float32) informazioni Più recente

Benchmark attività

Ecco i benchmark delle attività per l'intera pipeline basati sui modelli preaddestrati precedenti. Il risultato della latenza è la latenza media su Pixel 6 utilizzando CPU / GPU.

Nome modello Latenza CPU Latenza GPU
MagicTouch 130,11 ms 67,25 ms