WilliamGaggiotti / Data-augmentation-using-GANs

Data augmentation using GANs
GNU General Public License v3.0
0 stars 0 forks source link
deep-learning gans generative-adversarial-network pytorch

GANs como técnica de data augmentation para el reconocimiento de lengua de señas.

Introducción

Con el fin de Estudiar las Redes Generativas Adversarias, se utilizaron las mismas con el fin de generar imágenes sintéticas de la lengua de señas Argentina (LSA) y Estadounidense (ASL), para posteriormente utilizar las mismas como técnica de data augmentation.

Datasets

Para mas informacion sobre los dataset https://github.com/midusi/handshape_datasets

Métricas de evaluación

Se usó la Distancia Inception de Fréchet (FID). La misma compara realmente las estadísticas de las muestras generadas con las muestras reales. Para esto se utiliza un modelo Inception previamente entrenado (o cualquier otra CNN) para obtener un vector de características o codificación de las muestras reales y falsas. En base a estos vectores se estima la media y covarianza de cada uno, lo que permite formar dos distribuciones Gaussianas, donde una representa la distribución de probabilidad de las imágenes reales, mientras que la otra representa a las falsas. Finalmente se calcula la distancia Fréchet entre estas dos distribuciones, donde un valor bajo significa que las distribuciones están próximas, es decir, el generador está generando imágenes con alta fidelidad y diversidad.

Para el cálculo se utilizó el siguiente libreria https://github.com/mseitzer/pytorch-fid

Modelos

GAN Básica

Es el primer modelo GAN que se planteó en 2014 por Ian Goodfellow.

Resultados:

En este caso no se calculó el FID de las muestras generadas debido a que la fidelidad y diversidad de las imágenes generadas eran evidentemente muy pobres a simple vista. El colapso de moda se puede apreciar fácilmente.

WCGAN

Esta GAN es una combinación de Wasserstein GAN, cumpliendo la restricción 1-Lipschitz mediante la normalización espectral y Conditional GAN, usando la concatenación como método de condicionamiento.

Resultados:

Para el cálculo se utilizaron lotes de 6400 imágenes.

BigGAN

Este es uno de los modelos más robustos de GANs que existen en la actualidad. Combina lo mejor de varios modelos. Concretamente, utiliza la distancia Wasserstein y la normalización espectral de WGAN, el módulo de atención de SAGAN para modelar dependencias de largo alcance, y el acondicionamiento de CGAN para controlar la generación de las imágenes. Para G se utilizó normalización por lotes condicional, mientras que para D se utilizó la técnica de proyección. Como es un modelo tan robusto se tuvieron que hacer recortes en su arquitectura en base al hardware disponible.

Resultados:

Para el cálculo se utilizaron lotes de 6400 imágenes.

Data Augmentation

Para la tarea de data augmentation se usaron distintas proporciones de aumento. La siguiente es una tabla resumen con los accuracys finales alcanzados por un clasificador en ambos datasets.

Dataset LSA16
Proporciones
Base WCGAN BigGAN
% 25
∼86.48 ∼86.09 ~87.12
% 50
∼86.48 ∼87.18 ~86.5
% 100
∼86.48 ∼85.39 ~88.1
% 200
∼86.48 ∼84.85 ~86.71
Dataset ASL
Proporciones
Base WCGAN BigGAN
% 25
∼57.46 ∼58.90 ~59.50
% 50
∼57.46 ∼56.94 ~60.10
% 100
∼57.46 ∼58.10 ~61.36
% 200
∼57.46 ∼58.46 ~61.27

Información adicional

En el siguiente documento se encuentra en más detalle el contenido de este proyecto: https://drive.google.com/file/d/1hS1yjneqg7BKQsgQqbdgBM73EY_d6J6g/view?usp=sharing.