Guía de clasificación de audio

La tarea del clasificador de audio MediaPipe te permite clasificar clips de audio en un conjunto de categorías definidas, como música de guitarra, silbato de tren o el canto de un ave. Las categorías se definen durante el entrenamiento del modelo. Esta tarea opera en datos de audio con un modelo de aprendizaje automático (AA) como clips de audio independientes o en una transmisión continua y genera una lista de categorías potenciales clasificadas por puntuación de probabilidad descendente.

Probar

Comenzar

Comienza a utilizar esta tarea siguiendo una de estas guías de implementación para la plataforma de destino. En estas guías específicas de la plataforma, se explica la implementación básica de esta tarea, incluidos un modelo recomendado y un ejemplo de código con las opciones de configuración recomendadas:

En estas guías específicas de la plataforma, se explica la implementación básica de esta tarea, incluidos un modelo recomendado y un ejemplo de código con opciones de configuración recomendadas.

Detalles de la tarea

En esta sección, se describen las capacidades, entradas, salidas y opciones de configuración de esta tarea.

Funciones

  • Procesamiento de audio de entrada: El procesamiento incluye remuestreo de audio, almacenamiento en búfer, encuadre y transformación Fourier.
  • Configuración regional del mapa de etiquetas: Establece el idioma que se usa para los nombres visibles.
  • Umbral de puntuación: Filtra los resultados en función de las puntuaciones de predicción.
  • Detección de k superior: filtra los resultados de la detección de números.
  • Lista de entidades permitidas y listas de bloqueo: Especifica las categorías detectadas.
Entradas de tareas Resultados de la tarea
La entrada puede ser uno de los siguientes tipos de datos:
  • Clips de audio
  • Transmisión de audio
El clasificador de audio genera una lista de categorías que contiene lo siguiente:
  • Índice de categoría: el índice de la categoría en los resultados del modelo
  • Puntuación: La puntuación de confianza para esta categoría, por lo general, una probabilidad en [0,1]
  • Nombre de la categoría (opcional): Es el nombre de la categoría como se especifica en los metadatos del modelo de TFLite, si está disponible.
  • Nombre visible de la categoría (opcional): Un nombre visible de la categoría como se especifica en los metadatos del modelo de TFLite, en el idioma especificado a través de las opciones de configuración regional de los nombres visibles, si están disponibles

Opciones de configuración

Esta tarea incluye las siguientes opciones de configuración:

Nombre de la opción Descripción Rango de valores Valor predeterminado
running_mode Establece el modo de ejecución para la tarea. El clasificador de audio tiene dos modos:

AUDIO_CLIPS: Es el modo que permite ejecutar la tarea de audio en clips de audio independientes.

AUDIO_STREAM: Es el modo para ejecutar la tarea de audio en una transmisión de audio, como desde un micrófono. En este modo, se debe llamar a resultListener para configurar un objeto de escucha a fin de recibir los resultados de clasificación de forma asíncrona.
{AUDIO_CLIPS, AUDIO_STREAM} AUDIO_CLIPS
display_names_locale Configura el idioma de las etiquetas que se usarán para los nombres visibles proporcionados en los metadatos del modelo de la tarea, si están disponibles. El valor predeterminado es en para inglés. Puedes agregar etiquetas localizadas a los metadatos de un modelo personalizado con la API de Metadata Writer de TensorFlow Lite Código de configuración regional en
max_results Configura la cantidad máxima opcional de resultados de clasificación con puntuación más alta que se mostrarán. Si es inferior a 0, se devolverán todos los resultados disponibles. Cualquier número positivo -1
score_threshold Establece el umbral de puntuación de predicción que anula el proporcionado en los metadatos del modelo (si corresponde). Se rechazarán los resultados inferiores a este valor. [0.0, 1.0] No establecida
category_allowlist Establece la lista opcional de nombres de categorías permitidas. Si no está vacío, se filtrarán los resultados de clasificación cuyo nombre de categoría no esté en este conjunto. Los nombres de categorías duplicados o desconocidos se ignoran. Esta opción es mutuamente excluyente con category_denylist, y el uso de ambos da como resultado un error. Cualquier cadena No establecida
category_denylist Establece la lista opcional de nombres de categorías que no están permitidas. Si no está vacío, se filtrarán los resultados de clasificación cuyo nombre de categoría se encuentre en este conjunto. Los nombres de categorías duplicados o desconocidos se ignoran. Esta opción es mutuamente exclusiva con category_allowlist, y el uso de ambas da como resultado un error. Cualquier cadena No establecida
result_callback Configura el objeto de escucha de resultados para recibir los resultados de clasificación de forma asíncrona cuando el clasificador de audio está en el modo de transmisión de audio. Solo se puede usar cuando el modo de ejecución está configurado en AUDIO_STREAM N/A No establecida

ajustables

El clasificador de audio requiere que se descargue y almacene un modelo de clasificación de audio en el directorio del proyecto. Comienza con el modelo predeterminado y recomendado para la plataforma de destino cuando comiences a desarrollar con esta tarea. Por lo general, los otros modelos disponibles ofrecen compensaciones entre el rendimiento, la precisión, la resolución y los requisitos de recursos y, en algunos casos, incluyen características adicionales.

El modelo Yamnet es un clasificador de eventos de audio entrenado en el conjunto de datos AudioSet para predecir eventos de audio definidos en los datos de AudioSet. Para obtener información sobre los eventos de audio reconocidos por este modelo, consulta la lista de etiquetas del modelo.

Nombre del modelo Forma de entrada Tipo de cuantización Versiones
YamNet 1 × 15,600 Ninguna (float32) Más reciente

Comparativas de tareas

Estas son las comparativas de tareas para toda la canalización basadas en los modelos previamente entrenados anteriores. El resultado de latencia es la latencia promedio en el Pixel 6 usando CPU / GPU.

Nombre del modelo Latencia de la CPU Latencia de GPU
YamNet 12.29ms -