1 votos

Archivos de audio y sus correspondientes espectrogramas para el proceso de clasificación de imágenes

Supongamos que tengo un conjunto de datos de archivos de audio que debo utilizar para clasificar el sonido de las ballenas. Elijo la estrategia de tratarlo como un problema de clasificación de imágenes utilizando sus correspondientes imágenes de espectrograma (gráfico de frecuencia frente a tiempo). La siguiente imagen muestra un ejemplo del aspecto de las llamadas de ballenas en la etiqueta B (B es una especie de ballena y C representa muestras negativas) del espectrograma.

orca detection

Dado que los archivos de audio tendrán una longitud variable, el paso de preprocesamiento consistiría en rellenar con cero todas las muestras de longitud más corta para tener una longitud fija para todos los archivos. Así, las imágenes de espectrograma de todas esas muestras más cortas tendrán la llamada de la ballena al principio (o en algún lugar) con la mayor parte del área de frecuencia-tiempo como mero ruido del relleno. (El ejemplo anterior dividió la muestra de audio en algunos fotogramas (para dividirlos en clases positivas y negativas) y los etiquetó como B,C).

Si utilizáramos las imágenes del espectrograma como tales, esto dificultaría en gran medida la generalización de nuestro modelo CNN.

O si guardamos la salida del preprocesado en formato .npy (forma binaria), supongo que esto podría pasar desapercibido (¿o no?). ¿Cuáles serán las consecuencias de guardar las imágenes en formato .npy y luego utilizarlas en nuestro modelo

No estoy seguro de si mi razonamiento es correcto o no. ¿Alguien puede ayudarme?

1voto

user3780835 Puntos 11

Un clasificador bien entrenado debería ser capaz de aprender que no hay información en el relleno. Así que puede que no sea tan perjudicial como esperas.

Para manejar las distintas longitudes de los clips de audio y reducir la complejidad del modelo, la entrada suele ser dividir en ventanas de análisis . Estos tienen una duración fija, digamos de alrededor de 1 segundo. Sólo la última ventana necesita algo de relleno, sin importar si el clip de audio dura 2 segundos o 20. Las predicciones para un clip completo se calculan de la siguiente manera votación sobre las predicciones de las ventanas de análisis .

1voto

Björn Puntos 457

En primer lugar, puedes ver este preprocesamiento como una bendición. Como se puede elegir entre mucho relleno antes y después, etc., se puede utilizar como método de aumento de datos.

Si lo hace, es muy posible que su planteamiento funcione.

En segundo lugar, deberías considerar el uso de un espectrograma (Mel). Puede que haya una buena razón para que sea el método estándar que utiliza la mayoría de la gente para el audio. En ese caso, podrías crear tus características utilizando el preentrenamiento de Modelo VGGish por Google. Esa red neuronal utiliza el espetrograma como entrada a convoluciones 1-D (a lo largo del eje temporal) con el valor siendo la intensidad en la banda de frecuencia y las diferentes bandas de frecuencia como canales. A continuación, construir una red neuronal con Google VGGish como las primeras capas (sólo una opción si se utiliza tensorflow o convertir su red a otra cosa) o construir una nueva NN con la salida de su modelo como su entrada. También podrías utilizar la salida de su modelo como entrada en diferentes pasos de tiempo para, por ejemplo, una RNN (LSTM) o algún tipo de modelo transformador con atención.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X