Guide de classification audio

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.

Essayer

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:

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:
  • Clips audio
  • Flux audio
Le classificateur audio génère une liste de catégories contenant:
  • Index de catégorie: index de la catégorie dans les sorties du modèle.
  • Score: le score de confiance de cette catégorie, généralement une probabilité entre [0,1]
  • Nom de la catégorie (facultatif): nom de la catégorie, tel que spécifié dans les métadonnées du modèle TFLite, le cas échéant
  • Nom à afficher de la catégorie (facultatif): nom à afficher pour la catégorie, tel que spécifié dans les métadonnées du modèle TFLite, dans la langue spécifiée via les options régionales des noms à afficher, le cas échéant

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.

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 -