La tâche de classification audio MediaPipe vous permet de classer des extraits audio dans un ensemble de catégories définies, telles que la musique de guitare, le sifflement 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 fonctionne sur des données audio avec un modèle de machine learning (ML) sous forme de clips audio indépendants ou de flux continus, et renvoie une liste de catégories potentielles classées par score de probabilité décroissant.
Premiers pas
Pour commencer à utiliser cette tâche, suivez l'un de ces guides d'implémentation pour votre plate-forme cible. Ces guides spécifiques à la plate-forme vous expliquent comment implémenter de manière basique cette tâche, y compris un modèle recommandé et un exemple de code avec 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 expliquent comment implémenter de manière basique cette tâche, y compris un modèle recommandé et un exemple de code avec les options de configuration recommandées.
Détails de la tâche
Cette section décrit les fonctionnalités, les entrées, les sorties et les options de configuration de cette tâche.
Fonctionnalités
- Traitement audio de l'entrée : le traitement comprend le reéchantillonnage audio, le tamponnage, le cadrage et la transformation de Fourier.
- Label map locale (Libellé de la carte en paramètres régionaux) : définissez la langue utilisée pour les noms à afficher.
- Seuil de score : filtrez les résultats en fonction des scores de prédiction.
- Détection des k meilleurs : filtrez les résultats de détection des nombres.
- Liste d'autorisation et de refus des libellés : spécifiez les catégories détectées.
Entrées de tâche | Sorties de tâche |
---|---|
L'entrée peut être l'un des types de données suivants:
|
Le classificateur audio génère une liste de catégories contenant les éléments suivants:
|
Options de configuration
Cette tâche propose 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 propose deux modes: AUDIO_CLIPS: mode d'exécution de la tâche audio sur des extraits audio indépendants. AUDIO_STREAM: mode d'exécution de la tâche audio sur un flux audio, par exemple à partir d'un micro. Dans ce mode, resultListener doit être appelé pour configurer un écouteur afin de recevoir les résultats de 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 libellés localisés aux métadonnées d'un modèle personnalisé à l'aide de l'API TensorFlow Lite Metadata Writer.
| Code de paramètres régionaux | en |
max_results |
Définit le nombre maximal facultatif de résultats de classification les plus élevés à renvoyer. Si la valeur est inférieure à 0, tous les résultats disponibles sont renvoyés. | N'importe quel 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 rejetés. | [0.0, 1.0] | Non défini |
category_allowlist |
Définit la liste facultative des noms de catégories autorisés. Si cet ensemble n'est pas vide, les résultats de classification dont le nom de catégorie ne figure pas dans cet ensemble seront filtrés. Les noms de catégories en double ou inconnus sont ignorés.
Cette option s'exclut mutuellement avec category_denylist . L'utilisation des deux entraîne une erreur. |
N'importe quelle chaîne | Non défini |
category_denylist |
Définit la liste facultative des noms de catégories non autorisés. Si cet ensemble n'est pas vide, les résultats de classification dont le nom de catégorie figure dans cet ensemble seront filtrés. Les noms de catégories 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éfini |
result_callback |
Définit l'écouteur de résultats pour qu'il reçoive les résultats de classification de manière asynchrone lorsque le classificateur audio est en mode flux audio. Ne peut être utilisé que lorsque le mode d'exécution est défini sur AUDIO_STREAM . |
N/A | Non défini |
Modèles
Le classificateur audio nécessite que vous téléchargiez et stockiez un modèle de classification audio dans le répertoire de votre projet. Lorsque vous commencez à développer avec cette tâche, commencez par le modèle par défaut recommandé pour votre plate-forme cible. Les autres modèles disponibles font généralement des compromis entre les performances, la précision, la résolution et les exigences en termes de ressources, et incluent parfois des fonctionnalités supplémentaires.
Modèle Yamnet (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 d'entrée | Type de quantification | Versions |
---|---|---|---|
YamNet | 1 x 15 600 | Aucun (float32) | Nouveautés |
Benchmarks des tâches
Voici les benchmarks de tâche pour l'ensemble du pipeline basés sur les modèles pré-entraînés ci-dessus. Le résultat de la latence correspond à la latence moyenne sur le Pixel 6 à l'aide du processeur / GPU.
Nom du modèle | Latence du processeur | Latence du GPU |
---|---|---|
YamNet | 12,29 ms | - |