Guida alla classificazione dei contenuti audio

L'attività Classificatore audio MediaPipe ti consente di classificare i clip audio in un insieme di categorie definite, come la musica di una chitarra, il fischietto del treno o il canto di un uccello. Le categorie vengono definite durante l'addestramento del modello. Questa attività opera su dati audio con un modello di machine learning (ML) sotto forma di clip audio indipendenti o di uno stream continuo e genera un elenco di potenziali categorie classificate in base al punteggio di probabilità decrescente.

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:

Queste guide specifiche per piattaforma illustrano l'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'audio in input: l'elaborazione include ricampionamento dell'audio, buffering, inquadratura e trasformazione di Fourier.
  • Impostazioni internazionali mappa etichette: imposta la lingua utilizzata per i nomi visualizzati.
  • Soglia punteggio: filtra i risultati in base ai punteggi delle previsioni.
  • Rilevamento top-k: filtra i risultati del rilevamento dei numeri.
  • Lista consentita e lista bloccata: specifica le categorie rilevate.
Input attività Output attività
L'input può essere uno dei seguenti tipi di dati:
  • Clip audio
  • Stream audio
Il classificatore audio restituisce un elenco di categorie contenenti:
  • Indice di categoria: l'indice della categoria negli output del modello
  • Punteggio: il punteggio di confidenza per questa categoria, di solito una probabilità in [0,1]
  • Nome categoria (facoltativo): il nome della categoria come specificato nei metadati del modello TFLite, se disponibile
  • Nome visualizzato della categoria (facoltativo): un nome visualizzato per la categoria, come specificato nei metadati del modello TFLite, nella lingua specificata tramite le opzioni internazionali dei nomi visualizzati, se disponibili.

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à. Il classificatore audio ha due modalità:

AUDIO_CLIPS: la modalità per eseguire l'attività audio su clip audio indipendenti.

STREAM_AUDIO: la modalità per eseguire l'attività audio su uno stream audio, ad esempio dal microfono. In questa modalità, resultListener deve essere chiamato per configurare un listener che riceva i risultati della classificazione in modo asincrono.
{AUDIO_CLIPS, AUDIO_STREAM} AUDIO_CLIPS
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
max_results Imposta il numero massimo facoltativo di risultati di classificazione con il punteggio più alto da restituire. Se < 0, verranno restituiti tutti i risultati disponibili. Eventuali numeri positivi -1
score_threshold Imposta la soglia del punteggio di previsione che sostituisce quella fornita nei metadati del modello (se presenti). I risultati inferiori a questo valore vengono rifiutati. [0,0, 1,0] Non impostata
category_allowlist Consente di impostare l'elenco facoltativo di nomi di categorie consentite. Se il campo non è vuoto, i risultati della classificazione il cui nome categoria non è presente in questo set verranno filtrati. I nomi di categoria duplicati o sconosciuti vengono ignorati. Questa opzione si esclude a vicenda con category_denylist e l'utilizzo di entrambe genera un errore. Qualsiasi stringa Non impostata
category_denylist Consente di impostare l'elenco facoltativo di nomi di categorie non consentiti. Se il campo non è vuoto, i risultati di classificazione il cui nome di categoria è presente in questo set verranno filtrati. I nomi di categoria duplicati o sconosciuti vengono ignorati. Questa opzione si esclude a vicenda con category_allowlist e l'uso di entrambe genera un errore. Qualsiasi stringa Non impostata
result_callback Imposta il listener dei risultati per ricevere i risultati della classificazione in modo asincrono quando il classificatore audio è in modalità stream audio. Può essere utilizzato solo quando la modalità di esecuzione è impostata su AUDIO_STREAM N/A Non impostata

ottimizzabili

Il classificatore audio richiede il download e l'archiviazione di un modello di classificazione audio nella directory del progetto. 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.

Il modello Yamnet è un classificatore di eventi audio addestrato sul set di dati AudioSet per prevedere gli eventi audio definiti nei dati AudioSet. Per informazioni sugli eventi audio riconosciuti da questo modello, consulta l'elenco delle etichette del modello.

Nome modello Forma di input Tipo di quantizzazione Versions
YamNet 1 x 15.600 Nessuna (float32) 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
YamNet 12,29 ms -