AdrianArnaiz / TFG-Neurodegenerative-Disease-Detection

Uso de biomarcadores extraídos de la voz para la detección de la enfermedad del Parkinson
https://adrianarnaiz.github.io/TFG-Neurodegenerative-Disease-Detection/
2 stars 5 forks source link

Realizar la extracción características de los audios con Deep Learning #28

Closed AdrianArnaiz closed 5 years ago

AdrianArnaiz commented 5 years ago
AdrianArnaiz commented 5 years ago

Realizar extracción de ccas de audios con el mejor modelo (facilidad de uso, fiabilidad...) encontrado de estos candidatos:

AdrianArnaiz commented 5 years ago

Procesamiento de datos VGGish

Explicado en https://modelzoo.co/model/audioset en apartados Input: Audio features y Output: Embbeddings

Audio -->|Preprocesado|--> MFCC y espectros para cada segundo -->|VGGish|-->Embeddings-->|PCA|--> Final embeddings

AdrianArnaiz commented 5 years ago

Error al importar tensorflow, el kernel muere.

Busco image

Arreglado en vez de pip install tensorflow -> pip install --ignore-installed -upgrade tensorflow

AdrianArnaiz commented 5 years ago

Instalación de librerías

Utilizaremos el conversor de VGGish a Keras ubicado aquí https://github.com/antoinemrcr/vggish2Keras Pasos para la descarga e instalaciónde VGGish2keras:

  1. Descargar Audioset - VGGish de su página original: https://github.com/tensorflow/models/tree/master/research/audioset
  2. Instalar todas las dependencias de ese repositorio: tensorflow, numpy, scipy, resampy, six, pysoundfile.
  3. Descargar VGGish model checkpoint y Embedding PCA PArameters de https://storage.googleapis.com/audioset/vggish_model.ckpt y https://storage.googleapis.com/audioset/vggish_pca_params.npz, y añadir al mismo directorio.
  4. Clonar VGGish2keras (https://github.com/antoinemrcr/vggish2Keras/) y mover todos los archivos al mismo directorio que Audioset.
  5. Intalar Keras (y actualizar numba en mi caso, ya que daba error)
  6. Ejecutar prueba de instalación de Vggish2Keras: python convert_ckpt.py; python vggish_keras_smoke_test.py Debe poner: Looks Good To Me!

image

AdrianArnaiz commented 5 years ago

Articulos

AdrianArnaiz commented 5 years ago

Nota importante sobre VGGish

Al modelo entran ejemplos de tamaño (1,96,64). Es decir, cada 0.96 segundos de audio se consideran un ejemplo independiente. Sale una matriz 128-dimensional con los embeddings, puede utilizarse ya como vector de características.

Cabe destacar que, con el modelo VGGish solo podemos sacar características para los audios de más de 0.975 segundos. Esto está explicado en aateriores notebooks y se debe al funcionamiento de VGGish. Para VGGish un ejemplo, una instancia es un frame de 0.96s, sacando ccas para cada window de 10ms (por eso el limite de 0.975). Nosotros para convertir esa matriz de ccas en un vector, hemos hecho la media desviación por columnas, es decir, de cada característica:

Es decir, todas las palabras y muchas vocales no podrán ser procesadas por este modelo debido a su corta duración (el 99% de las palabras duran menos de un segundo y algunos audios de las vocales también).

Por tanto, realizaremos la extracción de características para read-text y para las vocales que se pueda.

AdrianArnaiz commented 5 years ago

Extraídas tanto: