La tâche de classificateur audio MediaPipe vous permet de classer des extraits audio dans un ensemble de catégories définies, comme la guitare, le sifflet d'un train ou le chant d'un oiseau. Les catégories sont définies lors de l'entraînement du modèle. Cette tâche s'exécute sur des données audio avec un modèle de machine learning (ML) sous la forme d'extraits audio indépendants ou d'un flux continu. Elle génère une liste de catégories potentielles classées par score de probabilité décroissante.
Commencer
Commencez à utiliser cette tâche en suivant l'un de ces guides d'implémentation pour votre plate-forme cible. Ces guides spécifiques à la plate-forme vous guident tout au long d'une implémentation de base de cette tâche, y compris un modèle et un exemple de code recommandés, ainsi que les options de configuration recommandées:
- Android – Exemple de code – Guide
- Python – Guide d'exemple de code
- Web – Exemple de code – Guide
Ces guides spécifiques à la plate-forme vous guident tout au long de l'implémentation de base de cette tâche, avec un modèle et un exemple de code recommandés, ainsi que des options de configuration recommandées.
Détails de la tâche
Cette section décrit les capacités, les entrées, les sorties et les options de configuration de cette tâche.
Caractéristiques
- Traitement de l'audio d'entrée : le traitement comprend le rééchantillonnage audio, la mise en mémoire tampon, le cadrage et la transformation Quatrième.
- Paramètres régionaux de la carte des libellés : permet de définir la langue à utiliser pour les noms à afficher.
- Seuil de score : filtre les résultats en fonction des scores de prédiction.
- Top-k Detection (Détection des top-k) : filtre les résultats de la détection de numéros.
- Liste d'autorisation et liste de blocage de libellés : spécifiez les catégories détectées.
Entrées des tâches | Sorties de tâches |
---|---|
Vous pouvez saisir l'un des types de données suivants:
|
Le classificateur audio génère une liste de catégories contenant:
|
Options de configuration
Cette tâche comporte les options de configuration suivantes:
Nom de l'option | Description | Plage de valeurs | Valeur par défaut |
---|---|---|---|
running_mode |
Définit le mode d'exécution de la tâche. Le classificateur audio comporte deux modes: AUDIO_CLIPS: mode d'exécution de la tâche audio sur des clips audio indépendants. AUDIO_STREAM: mode d'exécution de la tâche audio sur un flux audio, par exemple depuis le micro. Dans ce mode, resultListener doit être appelé pour configurer un écouteur afin de recevoir les résultats de la classification de manière asynchrone. |
{AUDIO_CLIPS, AUDIO_STREAM } |
AUDIO_CLIPS |
display_names_locale |
Définit la langue des libellés à utiliser pour les noms à afficher fournis dans les métadonnées du modèle de la tâche, le cas échéant. La valeur par défaut est en pour l'anglais. Vous pouvez ajouter des thèmes localisés aux métadonnées d'un modèle personnalisé à l'aide de l'API TensorFlow Lite Metadata Writer.
| Code des paramètres régionaux | en |
max_results |
Définit le nombre maximal (facultatif) de résultats de classification les mieux notés à renvoyer. Si la valeur est inférieure à 0, tous les résultats disponibles sont renvoyés. | Tout nombre positif | -1 |
score_threshold |
Définit le seuil de score de prédiction qui remplace celui fourni dans les métadonnées du modèle (le cas échéant). Les résultats inférieurs à cette valeur sont refusés. | [0,0, 1,0] | Non définie |
category_allowlist |
Définit la liste facultative des noms de catégories autorisés. S'ils ne sont pas vides, les résultats de classification dont le nom de catégorie ne figure pas dans cet ensemble sont filtrés. Les noms de catégorie en double ou inconnus sont ignorés.
Cette option s'exclut mutuellement avec category_denylist . L'utilisation des deux résultats génère une erreur. |
N'importe quelle chaîne | Non définie |
category_denylist |
Définit la liste facultative des noms de catégorie qui ne sont pas autorisés. S'ils ne sont pas vides, les résultats de classification dont le nom de catégorie figure dans cet ensemble seront filtrés. Les noms de catégorie en double ou inconnus sont ignorés. Cette option s'exclut mutuellement avec category_allowlist . L'utilisation des deux entraîne une erreur. |
N'importe quelle chaîne | Non définie |
result_callback |
Définit l'écouteur de résultats pour qu'il reçoive les résultats de la classification de manière asynchrone lorsque le classificateur audio est en mode de flux audio. Ne peut être utilisé que lorsque le mode En cours d'exécution est défini sur AUDIO_STREAM |
N/A | Non définie |
Modèles
Le classificateur audio nécessite le téléchargement et le stockage d'un modèle de classification audio dans le répertoire de votre projet. Commencez avec le modèle par défaut recommandé pour votre plate-forme cible lorsque vous commencez à développer avec cette tâche. Les autres modèles disponibles font généralement des compromis entre les exigences en termes de performances, de précision, de résolution et de ressources, et incluent, dans certains cas, des fonctionnalités supplémentaires.
Modèle YAML (recommandé)
Le modèle Yamnet est un classificateur d'événements audio entraîné sur l'ensemble de données AudioSet pour prédire les événements audio définis dans les données AudioSet. Pour en savoir plus sur les événements audio reconnus par ce modèle, consultez la liste des libellés du modèle.
Nom du modèle | Forme de saisie | Type de quantification | Versions |
---|---|---|---|
YamNet | 1 x 15600 | Aucune (float32) | Les plus récents |
Benchmarks de tâches
Voici les benchmarks de tâches pour l'ensemble du pipeline, sur la base des modèles pré-entraînés ci-dessus. Le résultat correspond à la latence moyenne sur le Pixel 6 en utilisant le processeur / GPU.
Nom du modèle | Latence du processeur | Latence du GPU |
---|---|---|
YamNet | 12,29 ms | - |