Zadanie MediaPipe Audio Classifier umożliwia klasyfikowanie klipów audio w określonej kategorii, np. muzyka gitarowa, gwizdek kolejowy lub ptaka piosenka. Kategorie są definiowane podczas trenowania modelu. To zadanie działa na danych audio z modelem systemów uczących się (ML) jako niezależne klipy audio lub ciągły strumień i generuje listę potencjalnych kategorii uporządkowaną według malejącego wyniku prawdopodobieństwa.
Rozpocznij
Zacznij od wykonania tego zadania, postępując zgodnie z instrukcjami podanymi w jednym z przewodników po implementacji dla platformy docelowej. Przewodniki dotyczące poszczególnych platform przeprowadzą Cię przez podstawowe wdrożenie tego zadania, w tym zalecany model i przykładowy kod z zalecanymi opcjami konfiguracji:
- Android – przykładowy kod – Przewodnik
- Python – Przykładowy kod Przewodnik
- Sieć – przykładowy kod – Przewodnik
Z tych przewodników dla poszczególnych platform dowiesz się, jak wykonać podstawowe zadania opisane w tym zadaniu. Znajdziesz w nich zalecany model i przykładowy kod z zalecanymi opcjami konfiguracji.
Szczegóły działania
W tej sekcji opisujemy możliwości, dane wejściowe, dane wyjściowe i opcje konfiguracji tego zadania.
Funkcje
- Przetwarzanie dźwięku wejściowego – przetwarzanie obejmuje ponowne próbkowanie, buforowanie, kadrowanie i przekształcanie czterokanałowe.
- Język mapy etykiety – ustaw język wyświetlanych nazw.
- Próg wyniku – filtrowanie wyników na podstawie wyników prognozy.
- Wykrywanie Top-K – filtruje wyniki wykrywania liczb.
- Lista dozwolonych i odrzuconych etykiet – pozwala określić wykryte kategorie.
Dane wejściowe zadań | Wyniki działania |
---|---|
Dane wejściowe mogą być jednym z tych typów:
|
Klasyfikator dźwięku generuje 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 uruchamiania zadania dotyczącego dźwięku w niezależnych klipach audio. AUDIO_STREAM: tryb uruchamiania zadania audio w strumieniu audio, np. z mikrofonu. W tym trybie należy wywołać funkcję resultListener, aby skonfigurować detektor umożliwiający asynchroniczne otrzymywanie wyników klasyfikacji. |
{AUDIO_CLIPS, AUDIO_STREAM } |
AUDIO_CLIPS |
display_names_locale |
Ustawia język etykiet, które mają być używane w przypadku nazw wyświetlanych w metadanych modelu zadania (jeśli są dostępne). Wartość domyślna w języku angielskim to en . Za pomocą TensorFlow Lite MetadataWriter API możesz dodawać zlokalizowane etykiety do metadanych modelu niestandardowego.
| Kod języka | en |
max_results |
Określa opcjonalną maksymalną liczbę zwracanych wyników klasyfikacji o najwyższych wynikach. Jeśli wartość jest mniejsza niż 0, zostaną zwrócone 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 istnieją). Wyniki poniżej tej wartości zostały odrzucone. | [0,0; 1,0] | Nie ustawiono |
category_allowlist |
Ustawia opcjonalną listę dozwolonych nazw kategorii. Jeśli nie będzie pusty, wyniki klasyfikacji, których nazwy kategorii nie ma w tym zbiorze, zostaną odfiltrowane. Zduplikowane i nieznane nazwy kategorii są ignorowane.
Ta opcja wzajemnie się wyklucza, category_denylist i ich użycie kończy się błędem. |
Dowolne ciągi | Nie ustawiono |
category_denylist |
Ustawia opcjonalną listę niedozwolonych nazw kategorii. Jeśli pole nie jest puste, wyniki klasyfikacji, których nazwa kategorii znajduje się w tym zbiorze, zostaną odfiltrowane. Zduplikowane i nieznane nazwy kategorii są ignorowane. Ta opcja wzajemnie się wyklucza z category_allowlist , a korzystanie z obu daje błąd. |
Dowolne ciągi | Nie ustawiono |
result_callback |
Ustawia detektor wyników, aby asynchronicznie otrzymywać wyniki klasyfikacji, gdy Klasyfikator dźwięku działa w trybie strumienia audio. Tego ustawienia można używać tylko wtedy, gdy tryb biegowy jest ustawiony na AUDIO_STREAM |
Nie dotyczy | Nie ustawiono |
Modele
Klasyfikator dźwięku wymaga pobrania modelu klasyfikacji audio i zapisania go w katalogu projektu. Gdy zaczniesz tworzyć aplikacje z tym zadaniem, zacznij od domyślnego, zalecanego modelu dla platformy docelowej. Inne dostępne modele zwykle kompensują wymagania dotyczące wydajności, dokładności, rozdzielczości i zasobów, a w niektórych przypadkach zawierają dodatkowe funkcje.
Model Yamnet (zalecany)
Model Yamnet to klasyfikator zdarzeń audio wytrenowany na zbiorze danych AudioSet do przewidywania zdarzeń dźwiękowych zdefiniowanych w danych AudioSet. Informacje o zdarzeniach audio rozpoznawanych przez ten model znajdziesz na liście etykiet modelu.
Nazwa modelu | Wprowadź kształt | Typ kwantyzacji | Wersje |
---|---|---|---|
YamNet | 1 × 15600 | Brak (float32) | Najnowsze |
Testy porównawcze działań
Oto porównania zadań dla całego potoku na podstawie powyższych wytrenowanych modeli. Wynik opóźnienia to średnie opóźnienie na Pixelu 6 korzystającym z procesora / GPU.
Nazwa modelu | Czas oczekiwania procesora | Opóźnienie GPU |
---|---|---|
YamNet | 12,29 ms | - |