Leitfaden zur Audioklassifizierung

Mit der Audioklassifikator-Aufgabe „MediaPipe“ können Sie Audioclips in bestimmte Kategorien einteilen, z. B. Gitarrenmusik, Zugpfeifen oder Vogelgesang. Die Kategorien werden während des Trainings des Modells definiert. Diese Aufgabe verarbeitet Audiodaten mit einem Modell für maschinelles Lernen (ML) als unabhängige Audioclips oder einen kontinuierlichen Stream und gibt eine Liste potenzieller Kategorien aus, die nach absteigendem Wahrscheinlichkeitswert sortiert sind.

Jetzt ausprobieren

Jetzt starten

Beginnen Sie mit dieser Aufgabe, indem Sie einem dieser Implementierungsleitfäden für Ihre Zielplattform folgen. Diese plattformspezifischen Leitfäden führen Sie durch eine grundlegende Implementierung dieser Aufgabe, einschließlich eines empfohlenen Modells und eines Codebeispiels mit empfohlenen Konfigurationsoptionen:

Diese plattformspezifischen Leitfäden führen Sie durch eine grundlegende Implementierung dieser Aufgabe, einschließlich eines empfohlenen Modells und eines Codebeispiels mit empfohlenen Konfigurationsoptionen.

Taskdetails

In diesem Abschnitt werden die Funktionen, Eingaben, Ausgaben und Konfigurationsoptionen dieser Aufgabe beschrieben.

Funktionen

  • Audioeingabeverarbeitung: Die Verarbeitung umfasst Audio-Resampling, Zwischenspeicherung, Framing und Vierer-Transformation.
  • Gebietsschema für Labelkarte: die Sprache für Anzeigenamen festlegen
  • Punktzahl-Schwellenwert: Filtern Sie Ergebnisse basierend auf den Vorhersagewerten.
  • Top-K-Erkennung: Filtern Sie die Ergebnisse der Nummernerkennung.
  • Zulassungs- und Sperrliste für Labels: Geben Sie die erkannten Kategorien an.
Aufgabeneingaben Aufgabenausgaben
Folgende Datentypen können als Eingabe verwendet werden:
  • Audioclips
  • Audiostream
Der Audioklassifikator gibt eine Liste von Kategorien aus, die Folgendes enthalten:
  • Kategorieindex: Der Index der Kategorie in den Modellausgaben
  • Wert: der Konfidenzwert für diese Kategorie, normalerweise eine Wahrscheinlichkeit in [0,1]
  • Kategoriename (optional): Der Name der Kategorie, wie in den TFLite-Modellmetadaten angegeben, falls verfügbar
  • Anzeigename der Kategorie (optional): ein Anzeigename für die Kategorie, wie in den TFLite-Modellmetadaten angegeben, in der Sprache, die über die Sprachoptionen für Anzeigenamen angegeben wird (falls verfügbar)

Konfigurationsoptionen

Diese Aufgabe hat die folgenden Konfigurationsoptionen:

Option Beschreibung Wertebereich Standardwert
running_mode Legt den Ausführungsmodus für die Task fest. Der Audioklassifikator hat zwei Modi:

AUDIO_CLIPS: Der Modus zum Ausführen der Audioaufgabe für unabhängige Audioclips.

AUDIO_STREAM: Der Modus zum Ausführen der Audioaufgabe in einem Audiostream, z. B. über ein Mikrofon. In diesem Modus muss resultListener aufgerufen werden, um einen Listener einzurichten, der die Klassifizierungsergebnisse asynchron empfängt.
{AUDIO_CLIPS, AUDIO_STREAM} AUDIO_CLIPS
display_names_locale Legt die Sprache von Labels fest, die für Anzeigenamen bereitgestellt werden, die in den Metadaten des Aufgabenmodells angegeben sind, sofern verfügbar. Der Standardwert für Englisch ist en. Mit der TensorFlow Lite Metadata Writer API können Sie den Metadaten eines benutzerdefinierten Modells lokalisierte Labels hinzufügen. Sprachcode en
max_results Legt die optionale maximale Anzahl der Klassifizierungsergebnisse mit den besten Bewertungen fest, die zurückgegeben werden sollen. Wenn < 0, werden alle verfügbaren Ergebnisse zurückgegeben. Beliebige positive Zahlen -1
score_threshold Legt den Schwellenwert für den Vorhersagewert fest, der den in den Modellmetadaten angegebenen Grenzwert überschreibt (falls vorhanden). Ergebnisse unter diesem Wert werden abgelehnt. [0,0;1,0] Nicht festgelegt
category_allowlist Legt die optionale Liste der zulässigen Kategorienamen fest. Wenn das Feld nicht leer ist, werden Klassifizierungsergebnisse herausgefiltert, deren Kategoriename nicht in diesem Set enthalten ist. Doppelte oder unbekannte Kategorienamen werden ignoriert. Diese Option und category_denylist schließen sich gegenseitig aus und die Verwendung beider Werte führt zu einem Fehler. Beliebige Strings Nicht festgelegt
category_denylist Legt die optionale Liste der nicht zulässigen Kategorienamen fest. Wenn das Feld nicht leer ist, werden Klassifizierungsergebnisse herausgefiltert, deren Kategoriename in diesem Satz enthalten ist. Doppelte oder unbekannte Kategorienamen werden ignoriert. Diese Option und category_allowlist schließen sich gegenseitig aus und die Verwendung beider Optionen führt zu einem Fehler. Beliebige Strings Nicht festgelegt
result_callback Legt den Ergebnis-Listener so fest, dass er die Klassifizierungsergebnisse asynchron empfängt, wenn sich der Audioklassifikator im Audiostreammodus befindet. Kann nur verwendet werden, wenn der Laufmodus auf AUDIO_STREAM festgelegt ist Nicht festgelegt

Modelle

Der Audioklassifikator erfordert, dass ein Audioklassifizierungsmodell heruntergeladen und in Ihrem Projektverzeichnis gespeichert wird. Beginnen Sie mit dem standardmäßigen, empfohlenen Modell für Ihre Zielplattform, wenn Sie mit dieser Aufgabe beginnen. Die anderen verfügbaren Modelle machen in der Regel Kompromisse zwischen Leistung, Genauigkeit, Auflösung und Ressourcenanforderungen und beinhalten in einigen Fällen zusätzliche Funktionen.

Das Yamnet-Modell ist ein Klassifikator für Audioereignisse, der mit dem Dataset AudioSet trainiert wurde, um Audioereignisse vorherzusagen, die in den AudioSet-Daten definiert sind. Informationen zu den von diesem Modell erkannten Audioereignissen finden Sie in der Labelliste des Modells.

Modellname Form eingeben Quantisierungstyp Versionen
YamNet 1 x 15.600 Keine (float32) Neueste

Aufgaben-Benchmarks

Im Folgenden sind die Aufgaben-Benchmarks für die gesamte Pipeline basierend auf den oben vortrainierten Modellen aufgeführt. Das Latenzergebnis ist die durchschnittliche Latenz auf Pixel 6 mit CPU / GPU.

Modellname CPU-Latenz GPU-Latenz
YamNet 12,29 ms -