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.
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:
- Android – przykład kodu – przewodnik
- Python – przykład kodu przewodnik
- Web – przykład kodu – przewodnik
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:
|
Klasyfikator dźwięku zwraca listę kategorii zawierającą:
|
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 (zalecany)
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 | - |