Przewodnik po klasyfikacji audio

Sygnał dźwiękowy odgłosu ptaka nałożony na zdjęcie ptaka, którego odgłos jest zgodny z sygnałem.

Zadanie MediaPipe Audio Classifier umożliwia klasyfikowanie klipów audio według zestawu zdefiniowanych kategorii, takich jak muzyka gitarowa, gwizd pociągu czy śpiew ptaków. Kategorie są definiowane podczas trenowania modelu. To zadanie działa na danych audio z modelem uczenia maszynowego (ML) jako niezależne klipy audio lub ciągły strumień i wypisuje listę potencjalnych kategorii uporządkowanych według malejącego wyniku prawdopodobieństwa.

Wypróbuj to!

Rozpocznij

Aby zacząć korzystać z tego zadania, postępuj zgodnie z jednym z tych przewodników dotyczących wdrażania na platformie docelowej. Te przewodniki dotyczące poszczególnych platform zawierają podstawowe informacje o wdrażaniu tego zadania, w tym zalecany model i przykład kodu z zalecanymi opcjami konfiguracji:

Te przewodniki dotyczące poszczególnych platform zawierają podstawowe informacje o wdrażaniu tej funkcji, w tym zalecany model i przykład kodu z zalecanymi opcjami konfiguracji.

Szczegóły działania

W tej sekcji opisano możliwości, dane wejściowe, dane wyjściowe i opcje konfiguracji tego zadania.

Funkcje

  • Przetwarzanie wejściowego dźwięku – przetwarzanie obejmuje próbkowanie dźwięku, buforowanie, kadrowanie i transformację Fouriera.
  • Etykieta mapy – lokalizacja – ustaw język używany do wyświetlania nazw.
  • Progień wyniku – filtrowanie wyników według progu wyniku prognozy.
  • Wykrywanie top-k – filtrowanie wyników wykrywania liczby.
  • Lista dozwolonych i odrzuconych etykiet – określ wykrywane kategorie.
Dane wejściowe zadania Dane wyjściowe
Dane wejściowe mogą być jednym z tych typów danych:
  • Klipy audio
  • Strumień audio
Klasyfikator dźwięku zwraca listę kategorii zawierającą:
  • Indeks kategorii: indeks kategorii w danych wyjściowych modelu.
  • Wynik: wynik ufności dla tej kategorii, zwykle prawdopodobieństwo w zakresie [0,1]
  • Nazwa kategorii (opcjonalnie): nazwa kategorii określona w metadanych modelu TFLite (jeśli są dostępne).
  • Wyświetlana nazwa kategorii (opcjonalnie): wyświetlana nazwa kategorii zgodnie z danymi metadanych modelu TFLite w języku określonym w opcjach języka wyświetlanych nazw (jeśli są dostępne).

Opcje konfiguracji

To zadanie ma te opcje konfiguracji:

Nazwa opcji Opis Zakres wartości Wartość domyślna
running_mode Ustawia tryb działania zadania. Klasyfikator dźwięku ma 2 tryby:

AUDIO_CLIPS: tryb wykonywania zadania związanego z dźwiękiem na niezależnych klipach audio.

AUDIO_STREAM: tryb wykonywania zadania związanego z dźwiękiem na strumieniu audio, np. z mikrofonu. W tym trybie należy wywołać metodę resultListener, aby skonfigurować odbiornik, który będzie asynchronicznie odbierał wyniki klasyfikacji.
{AUDIO_CLIPS, AUDIO_STREAM} AUDIO_CLIPS
display_names_locale Określa język etykiet, których należy używać do wyświetlanych nazw podanych w metadanych modelu zadania (jeśli są dostępne). Wartość domyślna to en w przypadku języka angielskiego. Możesz dodawać zlokalizowane etykiety do metadanych modelu niestandardowego, korzystając z interfejsu TensorFlow Lite Metadata Writer API. Kod języka en
max_results Określa opcjonalną maksymalną liczbę najlepszych wyników klasyfikacji do zwrócenia. Jeśli wartość jest mniejsza od 0, zwracane są wszystkie dostępne wyniki. dowolne liczby dodatnie, -1
score_threshold Ustawia próg wyniku prognozy, który zastępuje próg podany w metadanych modelu (jeśli takie istnieją). Wyniki poniżej tej wartości są odrzucane. [0.0, 1.0] Nie ustawiono
category_allowlist Ustawia opcjonalną listę dozwolonych nazw kategorii. Jeśli wyniki klasyfikacji nie są puste, a nazwa kategorii nie znajduje się w tym zbiorze, zostaną odfiltrowane. Powtarzające się lub nieznane nazwy kategorii są ignorowane. Ta opcja jest wzajemnie wykluczająca się z opcją category_denylist. Użycie obu spowoduje błąd. dowolne ciągi znaków; Nie ustawiono
category_denylist Ustawia opcjonalną listę nazw kategorii, które są niedozwolone. Jeśli nie jest pusty, wyniki klasyfikacji, których nazwa kategorii znajduje się w tym zbiorze, zostaną odfiltrowane. Powtarzające się lub nieznane nazwy kategorii są ignorowane. Ta opcja jest wzajemnie wykluczająca się z opcją category_allowlist, a użycie obu spowoduje błąd. dowolne ciągi znaków; Nie ustawiono
result_callback Spowoduje, że odbiorca wyników będzie otrzymywać wyniki klasyfikacji asynchronicznie, gdy klasyfikator dźwięku będzie w trybie strumienia audio. Można go używać tylko wtedy, gdy tryb działania ma wartość AUDIO_STREAM. Nie dotyczy Nie ustawiono

Modele

Klasyfikator dźwięku wymaga pobrania i zapisania w katalogu projektu modelu klasyfikacji dźwięku. Gdy zaczniesz tworzyć modele, zacznij od domyślnego, zalecanego modelu dla platformy docelowej. Inne dostępne modele zwykle stanowią kompromis między wydajnością, dokładnością, rozdzielczością i wymaganiami dotyczącymi zasobów, a w niektórych przypadkach obejmują dodatkowe funkcje.

Model Yamnet to klasyfikator zdarzeń audio wytrenowany na podstawie zbioru danych AudioSet w celu przewidywania zdarzeń audio zdefiniowanych w danych AudioSet. Informacje o zdarzeniach audio rozpoznawanych przez ten model znajdziesz na liście etykiet.

Nazwa modelu Kształt wejściowy Typ kwantowania Wersje
YamNet 1 x 15600 Brak (float32) Najnowsze

Porównania zadań

Poniżej znajdziesz punkty odniesienia zadań dla całego potoku na podstawie wymienionych powyżej wstępnie wytrenowanych modeli. Wynik opóźnienia to średnie opóźnienie na Pixelu 6 z wykorzystaniem procesora CPU lub GPU.

Nazwa modelu Czas oczekiwania procesora Opóźnienie GPU
YamNet 12,29 ms -