Detección de COVID-19 en imágenes de rayos X con Keras, TensorFlow y Deep Learning

Original article can be found here (source): Deep Learning on Medium

Entrenamiento del modelo

Utilicé Google Colab, debido al poder computacional que brinda en la nube.

Se utiliza la librería OpenCV, para cargar la imagen y preprocesarlo mediante la conversión a la ordenación de canales RGB y cambiar su tamaño a 224 × 224 píxeles, el cuál es el tamaño de entrada de la red neuronal convolucional. Luego se escalan al rango [0, 1] y convertimos las imágenes en una matriz NumPy. Ver Figura 4

Figura 4. Preprocesamiento de la imagen

Posteriormente se dividen el 80% de los datos para entrenamiento y 20% para validación. Se realiza One Hot Encoding de los labels de las imágenes. Se usa también por la poca cantidad de datos, data augmentation, donde se generan nuevas imágenes con ángulos de rotación de 15 grados.

Se utilizó el modelo VGG16 que incluye Keras e inicializarlo con los pesos de un modelo preentrenado de Imagenet. El top está inicializado en falso. Ver Figura 5

Figura 5. Arquitectura de VGG16

Para el entrenamiento se utiliza la técnica de transfer learning, específicamente fine-tuning, por los pocos datos de entrenamientos que se poseen. Esto consiste en no entrenar el modelo de VGG16 (colocar en False el entrenamiento) , sino entrenar las nuevas capas que se añaden de la salida del modelo de VGG16. Este nuevo modelo quedó de la siguiente manera. Ver Figura 6

Figura 6. Modelo Final a Entrenar