1 Introducción

El presente trabajo aborda el desafío de la clasificación binaria de imágenes de rayos X de tórax para el diagnóstico asistido por computador de Neumonía versus la condición Normal. La automatización de este diagnóstico es crucial para acelerar la detección de la enfermedad, especialmente en entornos con recursos médicos limitados.

El análisis se basa en un conjunto de datos desequilibrado, lo que impone un reto significativo en el desarrollo de modelos de Inteligencia Artificial (IA), ya que el sesgo inherente en la distribución de clases puede llevar a un rendimiento discriminativo pobre.

Para mitigar este riesgo y evaluar la efectividad de distintas estrategias de representación, la metodología se centra en dos enfoques principales:

  1. La evaluación de una Red Neuronal Convolucional (CNN) personalizada entrenada directamente sobre los píxeles de las imágenes redimensionadas.
  2. La implementación y comparación de múltiples clasificadores de Machine Learning (ML) (SVM, k-NN, Random Forest) entrenados con una rica variedad de descriptores de características extraídos de las imágenes. Estos descriptores incluyen métodos de extracción profunda (ResNet50), así como descriptores clásicos de textura (LBP, GLCM, Gabor) y forma (HOG, Momentos de Hu, Descriptores de Contorno), con el objetivo de encontrar la representación más robusta y discriminativa de las anomalías radiológicas.

2 Metodología

2.1 Análisis Exploratorio de Datos (EDA) y Preprocesamiento

  • Estructura del Dataset: El conjunto de datos de 5,863 imágenes JPEG se dividió en particiones de entrenamiento, prueba y validación.
  • Desbalance de Clases: Se identificó un desbalance de clases significativo entre las categorías Neumonía y Normal, con una notoria predominancia de la clase Neumonía en los conjuntos de entrenamiento y prueba. Este factor requirió una especial atención en la interpretación de las métricas de desempeño, priorizando el Recall y el F1-Score sobre el Accuracy simple.
  • Normalización de Imágenes: Debido a las dimensiones variables de las imágenes, se estableció un paso de preprocesamiento obligatorio para redimensionar todas las imágenes a un tamaño estándar (\(512 \times 512\) o \(256 \times 256\)) para su entrada a los modelos.

2.2 Extracción de Descriptores de Características

Se emplearon múltiples técnicas para transformar los datos de píxeles en vectores de características robustas:

  • Descriptores Profundos: Se utilizó ResNet50 (50 capas residuales) como un potente extractor de características. Se eliminó la capa de clasificación final para obtener un vector descriptor de 2048 elementos, capturando características jerárquicas y abstractas de la imagen.
  • Descriptores Clásicos (Pipeline Combinado): Se implementó un pipeline integral que concatenó la salida de seis descriptores clásicos, generando un vector de alta dimensionalidad (3,812 features):
    • Forma y Geometría: HOG (Histograms of Oriented Gradients), Momentos de Hu (invariantes a traslación, escala y rotación) y Descriptores de Contorno (Área, Perímetro, Circularidad, Excentricidad).
    • Textura: Local Binary Patterns (LBP), Gray Level Co-occurrence Matrix (GLCM) (Contraste, Energía, Homogeneidad), y Filtros de Gabor (Media y Desviación Estándar de las respuestas).

2.3 Entrenamiento y Evaluación de Modelos

Se evaluaron dos grupos de modelos:

Grupo Modelos Descriptor(es) de Entrada
A Red Neuronal Personalizada (Rx_Custom_Classifier) Píxeles sin procesar (256x256 aplanados)
B Red Neuronal, SVM, k-NN, Random Forest ResNet50 y Descriptores Clásicos Combinados
  • Métricas de Desempeño: La evaluación se centró en la Accuracy general, pero con énfasis en las métricas sensibles al desbalance de clases: Precision, Recall (Sensibilidad y Especificidad) y el F1-Score para cada clase, además del Área Bajo la Curva ROC (AUC) como indicador de la capacidad discriminativa global del modelo.

3 Análisis Exploratorio

El conjunto de datos está estructurado en tres particiones principales: entrenamiento (train), prueba (test) y validación (val). Dentro de estas particiones, las imágenes se distribuyen en subcarpetas que corresponden a las dos categorías de clasificación: Neumonía y Normal.

El dataset completo comprende un total de 5,863 imágenes de rayos X en formato JPEG, distribuidas en las mencionadas dos clases de diagnóstico.

Figura 1: Rayos X Normal Figura 2: Rayos X con Neumonía
Rayos X Normal Rayos X Neumonía

La composición de las carpetas revela un desbalance de clases significativo entre las categorías de Neumonía y Normal, especialmente en los conjuntos de entrenamiento y prueba.

Mientras que el conjunto de validación (val) mantiene un balance perfecto (8 imágenes por clase), la distribución desigual en los conjuntos de entrenamiento y prueba es un factor crítico a considerar. Este desbalance de datos puede sesgar el modelo de IA, haciendo que prediga la clase mayoritaria con más frecuencia.

Figura 1: Composicion de las carpetas
Figura 1: Composicion de las carpetas

Además de la distribución de clases, se observa que las imágenes presentan dimensiones variables (diferentes alturas y anchos), lo cual se detalla en la Figura 4.El tamaño no uniforme de las imágenes requiere un paso de preprocesamiento esencial. Será necesario redimensionar (o resize) todas las imágenes a un formato y tamaño estándar(512x512) antes de que puedan ser ingresadas como input al analisis.

Figura 2: Tamaño de las imagenes por carpeta
Figura 2: Tamaño de las imagenes por carpeta

4 Descriptores

Antes de poder ultilizar un modelo predictivo que nos permita clasificar imagenes, necesitamos encasular las propiedades geométricas, texturales y de intensidad de la imagen. Para ello utilizamos varios descriptores.

4.1 ResNet50

La ResNet50 (Red Residual con 50 capas) es una arquitectura de Red Neuronal Convolucional (CNN) profunda que se utiliza no solo para la clasificación de imágenes, sino también como un potente extractor de características (feature extractor).

Cuando se emplea como detector o extractor de características, la ResNet50 transforma los datos crudos de una imagen (píxeles) en un vector numérico denso y de alta dimensión. Este vector, conocido como descriptor de características, representa una “huella digital” abstracta de la imagen que es robusta a variaciones como la escala, la rotación y la iluminación.

Funcionamiento 1. Bloques Convolucionales: Las primeras capas convolucionales detectan patrones básicos (bordes, texturas).

  1. Bloques Residuales: El núcleo de la arquitectura son los Bloques Residuales que utilizan conexiones de acceso directo (skip connections). Estas conexiones resuelven el problema del desvanecimiento del gradiente en redes profundas, permitiendo que la red aprenda características jerárquicas más complejas y abstractas a medida que la imagen avanza a través de las 50 capas.

3 Extracción del Descriptor: Para la extracción de características, se elimina la capa de clasificación final (Softmax). La salida de la capa Global Average Pooling (GAP) inmediatamente anterior se utiliza como el descriptor. En ResNet50, esto resulta típicamente en un vector de 2048 elementos, que es la representación de las características detectadas.

Figura 3: Caracteristicas con Resnet
Figura 3: Caracteristicas con Resnet

4.2 Histogram of Oriented Gradients (HOG)

El Histograma de Gradientes Orientados (HOG) es un descriptor de características local que representa la forma y apariencia de un objeto a través de la distribución de las magnitudes y orientaciones de los gradientes de intensidad en una imagen. Este enfoque es robusto a los cambios de iluminación y se utiliza para generar un vector característico que alimenta un clasificador.

Optimización y Análisis Para la implementación, es esencial la experimentación y optimización de los hiperparámetros clave, que son:

  1. Tamaño de Celda (Cell Size): Define la granularidad de la representación del borde, afectando la longitud y el detalle del descriptor.

  2. Bins de Orientación (Orientation Bins): Determina la resolución angular con la que se cuantifican los gradientes.

Finalmente, la visualización del descriptor HOG es una herramienta crucial para la validación cualitativa. Permite inspeccionar si la representación generada captura efectivamente los contornos y estructuras relevantes de las imágenes (las anomalías radiológicas en este caso), guiando así el ajuste óptimo de los parámetros.

Figura 4: Caracteristicas con Hog
Figura 4: Caracteristicas con Hog

4.3 Momentos de Hu

Los Momentos de Hu son un descriptor de forma utilizado para el reconocimiento de objetos en visión por computador. Se basan en el cálculo de siete valores invariantes que se derivan de los momentos centrales de orden hasta tres de una imagen.

Invarianzas Provistas El atributo más importante de los Momentos de Hu es su invarianza geométrica. Esto significa que los siete descriptores numéricos calculados permanecen constantes a pesar de las transformaciones comunes que pueda sufrir la imagen. Las invarianzas que proveen son:

  1. Traslación: El objeto es movido a cualquier posición de la imagen.

  2. Escala: El objeto es agrandado o reducido de tamaño.

  3. Rotación: El objeto es girado en cualquier ángulo.

Esta robustez hace que los Momentos de Hu sean ideales para la identificación y comparación de formas, contornos o regiones de interés, independientemente de cómo aparezcan en el campo de visión.

Figura 5: Caracteristicas con Hu
Figura 5: Caracteristicas con Hu

4.4 Descriptores de contorno

Los Descriptores de Contorno son un conjunto de métricas simples y efectivas utilizadas para caracterizar la forma geométrica de una región específica dentro de una imagen. Estos descriptores se basan en mediciones directas obtenidas del perímetro del objeto.

1. Parámetros Clave

Los parámetros primarios que se extraen y se utilizan como características para el análisis son:

  • Área: El número total de píxeles que componen la región de interés.
  • Perímetro: La longitud total del límite o contorno del objeto.
  • Circularidad: Una medida adimensional que cuantifica cuán similar es la forma del objeto a un círculo perfecto. Se calcula como \(4 \pi \cdot \text{Área} / \text{Perímetro}^2\). Un valor de \(1.0\) indica un círculo perfecto.
  • Excentricidad: Mide cuánto se desvía la forma del objeto de un círculo, indicando su alargamiento o elongación. Cuanto más cerca esté el objeto de una línea recta, mayor será su excentricidad.

2. Requisito de Segmentación Previa

A diferencia de los descriptores locales como HOG, los descriptores de contorno son globales y requieren una segmentación previa de la imagen. Esto significa que la anatomía o región de interés relevante (por ejemplo, el área del pulmón o una lesión específica) debe ser aislada y etiquetada de manera precisa antes de que se puedan calcular el área, el perímetro y otras métricas.

4.5 Local Binary Patterns (LBP)

Local Binary Patterns (LBP) es un descriptor de textura eficiente y potente utilizado para la clasificación y reconocimiento de imágenes. Su objetivo es caracterizar la micro-textura de una imagen mediante la comparación de la intensidad de un píxel central con la intensidad de sus vecinos.

Funcionamiento y Salida

  1. Cálculo del Patrón: Para cada píxel en la imagen, se le asigna un valor binario (0 o 1) a sus vecinos directos: si la intensidad del vecino es mayor o igual que la del píxel central, se le asigna un 1; si es menor, se le asigna un 0.

  2. Generación del Código LBP: Los valores binarios de los vecinos se concatenan en orden (por ejemplo, en sentido horario), formando un número binario que se convierte a decimal, el cual es el patrón LBP de ese píxel.

  3. Histograma de Patrones: El descriptor final de la imagen es el histograma de frecuencias de todos los patrones LBP generados en la imagen. Este histograma representa la distribución de las texturas de la imagen.

Implementación y Experimentación

La implementación puede realizarse desde cero o de manera más eficiente utilizando bibliotecas optimizadas como skimage en Python. Es crucial experimentar con dos parámetros clave para adaptar el descriptor a la textura específica de las radiografías:

  • Radio (\(R\)): Define la distancia entre el píxel central y sus vecinos.

  • Puntos (\(P\)): Determina el número de vecinos circulares muestreados en ese radio.

Ajustar estos parámetros permite capturar texturas en diferentes escalas.

Figura 6: Caracteristicas con LBP
Figura 6: Caracteristicas con LBP

4.6 Gray Level Co-occurrence Matrix (GLCM)

La Matriz de Co-ocurrencia de Nivel de Gris (GLCM) es un método estadístico de segundo orden para describir la textura de una imagen. Analiza cómo las intensidades de los píxeles (niveles de gris) se relacionan entre sí dentro de un área específica.

Funcionamiento y Propiedades

La matriz GLCM se construye registrando la frecuencia con la que un píxel de cierto nivel de gris (\(i\)) aparece en una posición específica (definida por una dirección y distancia) con respecto a otro píxel de nivel de gris (\(j\)).

A partir de esta matriz, se extraen varias propiedades estadísticas para cuantificar la textura. Las más comunes que se deben calcular son:

  • Contraste: Mide la intensidad de las variaciones locales y el contenido de rasgos. Un valor alto indica una textura áspera o de alto contraste.

  • Correlación: Mide la dependencia lineal de los niveles de gris de los píxeles vecinos. Un valor alto indica una textura suave o linealmente dependiente.

  • Energía (Uniformidad): Mide la suma de los elementos al cuadrado de la GLCM, indicando la uniformidad de la textura. Un valor alto sugiere que la textura es muy uniforme.

  • Homogeneidad (IDM): Mide la cercanía de los elementos distribuidos a la diagonal de la matriz, indicando la cercanía de los niveles de gris. Un valor alto indica una textura suave o homogénea.

Experimentación

Para obtener un descriptor robusto, es necesario experimentar con diferentes direcciones y distancias (\(\mathbf{d}\)) (por ejemplo, ángulos de \(0^\circ\), \(45^\circ\), \(90^\circ\) y distancias de 1, 2, 3 píxeles). Esto garantiza que el descriptor capture las relaciones de textura en múltiples orientaciones y escalas espaciales.

Figura 7: Caracteristicas con GLCM
Figura 7: Caracteristicas con GLCM

4.7 Filtros de Gabor

Los Filtros de Gabor son filtros lineales que se utilizan para el análisis de texturas y la extracción de características, siendo especialmente efectivos porque simulan el comportamiento de las células simples de la corteza visual de los mamíferos. Un filtro de Gabor es, esencialmente, una onda sinusoidal modulada por una función gaussiana.

Banco de Filtros y Salida

La potencia de Gabor reside en su implementación como un banco de filtros , donde cada filtro en el banco está sintonizado a una frecuencia y orientación específicas. Al aplicar este banco a una imagen, cada filtro responde de manera máxima a texturas con esa orientación y escala particular.

El descriptor final de la textura no es la imagen filtrada en sí, sino las estadísticas de respuesta de todas las imágenes filtradas. Las estadísticas más comunes utilizadas son:

  • Media (\(\mu\)): Mide el brillo promedio de la respuesta del filtro (la energía de la textura en esa frecuencia y orientación).

  • Desviación Estándar (\(\sigma\)): Mide la variación en la respuesta del filtro, indicando la complejidad o variabilidad de la textura.

La concatenación de la media y la desviación estándar de la respuesta de cada filtro en el banco crea un vector descriptor robusto y multiescala de la textura de la imagen.

5 Clasificación

5.1 Modelos

  • Red Neuronal con las imagenes sin procesar El modelo utilizado es RX_Custom_Classifier que corresponde a una arquitectura basada en capas densamente conectadas (fully-connected), diseñada para tareas de clasificación binaria. La mayor parte de su complejidad proviene de la primera capa densa, que recibe un vector de entrada de alta dimensionalidad y lo proyecta en un espacio de 512 neuronas, lo que genera más de 33 millones de parámetros entrenables. Esta característica indica que el modelo opera directamente sobre representaciones muy grandes —como imágenes aplanadas o descriptores extensos—, lo que incrementa de manera significativa el costo computacional y el riesgo de sobreajuste. Posteriormente, se emplea una capa Dropout para mejorar la generalización, seguida por una capa densa intermedia de 128 neuronas que reduce la dimensionalidad y refina las características aprendidas. Finalmente, la capa de salida con una única neurona produce la probabilidad asociada a la clase positiva. Para la implementación de este modelo se utilizo las imagenes redimencionadas de 256 x 256.

Figura 8: Matriz de confusión Como se muestra en la figura 6, la matriz de confusión evidencia el desempeño del modelo, la red neuronal, al momento de clasificar las radiografías de pacientes normales y de pacientes con neumonía.

Verdaderos Positivos (TP = 386): La red identifica correctamente la mayoría de los casos con neumonía. Esto evidencia una alta sensibilidad o capacidad para detectar anomalías, lo cual es deseable en sistemas donde es crítico no pasar por alto la enfermedad.

Falsos Negativos (FN = 4): Solo 4 casos con neumonía fueron clasificados como normales. Un número tan bajo confirma que el modelo rara vez deja pasar un caso con la enfermedad sin detectarlo, lo que es fundamental en aplicaciones médicas.

Verdaderos Negativos (TN = 42): Apenas 42 casos normales fueron correctamente clasificados. Esto muestra que el modelo tiene dificultades para reconocer el estado normal.

Falsos Positivos (FP = 192): El modelo clasifica erróneamente un número elevado de imágenes normales como casos con neumonía. Esto refleja una baja precisión para la clase normal y un posible sesgo hacia la predicción de la enfermedad. En términos prácticos, esto podría traducirse en un aumento de alarmas falsas.

Métrica Train Validation
Accuracy 0.2862 0.3798
AUC 0.4949 0.5060
Loss 0.6910 0.6904
Precision 0.7088 1.0000
Recall 0.0666 0.0077

Al observar las anteriores métricas obtenidas durante el entrenamiento y la validación del modelo, se evidencia un desempeño limitado en la tarea de clasificación. En general, los resultados indican que la red neuronal no logra aprender patrones significativos que le permitan diferenciar adecuadamente entre las clases evaluadas.

En primer lugar, la exactitud (accuracy) presenta valores bajos tanto en entrenamiento (0.2862) como en validación (0.3798), lo cual sugiere que las predicciones del modelo están próximas al comportamiento aleatorio. Este comportamiento se refuerza con los valores del área bajo la curva ROC (AUC), que se sitúan alrededor de 0.49 y 0.50 para entrenamiento y validación respectivamente, cifras prácticamente equivalentes a un clasificador sin capacidad discriminativa.

La función de pérdida (loss) muestra valores muy similares entre las dos fases (0.6910 en entrenamiento y 0.6904 en validación). Aunque esto indica que el modelo no está sobreajustando, también muestra que no se está produciendo un aprendizaje significativo, ya que el error permanece en un nivel cercano al esperado para predicciones aleatorias en un problema de clasificación binaria.

En cuanto a las métricas de precisión y sensibilidad (recall), se observa un comportamiento desequilibrado. La precisión es relativamente alta en entrenamiento (0.7088) y alcanza un valor máximo en validación (1.0000). No obstante, esta aparente fortaleza es engañosa, ya que los valores de sensibilidad son extremadamente bajos (0.0666 en entrenamiento y 0.0077 en validación). Esto significa que el modelo predice muy pocos casos positivos y, cuando lo hace, coincide de manera correcta; sin embargo, prácticamente nunca identifica la clase positiva, lo que compromete seriamente su utilidad en aplicaciones donde es fundamental detectar dicha condición.

5.2 Modelos entrenados con diferentes descriptores.

Para esta etapa se empleó la red neuronal previamente descrita junto con otros modelos de clasificación tradicionales, específicamente SVM, KNN y Random Forest. Cada modelo utiliza un enfoque particular para la toma de decisiones: SVM (Support Vector Machine) busca identificar el hiperplano óptimo que separa las clases, maximizando el margen entre ellas; KNN (K-Nearest Neighbors) asigna la clase a una nueva muestra según la mayoría de sus vecinos más cercanos en el espacio de características; y Random Forest combina múltiples árboles de decisión construidos de manera aleatoria, lo que incrementa la robustez del modelo y disminuye el riesgo de sobreajuste. Para todos los modelos, incluida la red neuronal, el entrenamiento se llevó a cabo utilizando descriptores de características extraídos mediante ResNet50, aprovechando su capacidad para generar representaciones profundas y altamente discriminativas de las imágenes.

  • ResNet50
Modelo Accuracy Precision (Normal) Recall (Normal) F1-Score (Normal) Precision (Neumonía) Recall (Neumonía) F1-Score (Neumonía) Loss AUC
Red Neuronal 0.89 0.98 0.71 0.82 0.85 0.99 0.92 - -
SVM 0.79 0.97 0.46 0.63 0.75 0.99 0.86 - -
KNN 0.82 0.97 0.54 0.69 0.78 0.99 0.87 - -
Random Forest 0.76 0.97 0.38 0.55 0.73 0.99 0.84 - -

Al comparar los modelos utilizados, se observa que que la Red Neuronal (RN) es el modelo de mejor desempeño global, superando consistentemente a los enfoques tradicionales (SVM, KNN y Random Forest). Los modelos tradicionales demuestran una alta sensibilidad con un Recall de Neumonía casi perfecto (\(\ge 0.99\)), lo que es fundamental para evitar diagnósticos omitidos (Falsos Negativos). Sin embargo, esta alta sensibilidad se logra a expensas de la especificidad, como lo evidencia su bajo Recall para la clase Normal (rangos de \(0.38\) a \(0.54\)), indicando una tendencia a sobre-detectar la Neumonía y generar una alta tasa de Falsos Positivos. En contraste, la Red Neuronal no solo iguala la alta sensibilidad para la clase Neumonía (Recall de \(0.99\)), sino que también mejora significativamente la discriminación de la clase Normal, logrando un Recall de \(0.71\) y la Precision más alta para ambas clases (Normal: \(0.98\), Neumonía: \(0.85\)). Por lo tanto, con una Accuracy del 0.89 y los mejores F1-Scores en ambas categorías (Normal: \(0.82\), Neumonía: \(0.92\)), la Red Neuronal ofrece el mejor equilibrio entre sensibilidad y especificidad, constituyéndose como el clasificador más robusto y confiable para su aplicación en un entorno de apoyo al diagnóstico médico.

Matriz de Confusión Red Neuronal
Matriz de Confusión SVM
Matriz de Confusión KNN
Matriz de Confusión Random Forest

La red neuronal predice correctamente 385 de 390 casos de Neumonía (recall muy alto para la clase positiva) y predice 171 de 234 casos de Normal, fallando en 63, lo que indica que a veces clasifica falsos positivos. La red neuronal es muy buena detectando Neumonía, pero menos precisa para la clase Normal. Tiene un alto recall y precisión para la clase positiva, lo que es importante para detección médica.

SVM clasifica 387 de 390 casos de Neumonía correctamente, similar a la red neuronal, y solo 106 de 234 casos de Normal son predichos correctamente, con 126 falsos negativos para Normal.El SVM detecta muy bien Neumonía pero falla mucho en clasificar Normal. Tiende a sobre-detectar la clase positiva.

KNN correctamente identifica 386 de 390 casos de Neumonía. E identifica 126 de 234 casos de Normal, con 108 falsos positivos para Neumonía. El desempeño intermedio; detecta bien Neumonía pero tiene falsos positivos moderados para Normal.

Random Forest detecta 387 de 390 casos de Neumonía correctamente y solo 90 de 234 casos de Normal son predichos correctamente, con 144 falsos positivos, muy sensible a Neumonía, pero clasifica pocos Normal correctamente. Esto indica un sesgo hacia la clase positiva.

En conclusión, todos los modelos demuestran una excelente capacidad para detectar Neumonía (clase positiva), manteniendo un recall consistentemente cercano a 1. Las diferencias principales se observan en la clase Normal: la Red Neuronal y KNN ofrecen un mejor desempeño en la clasificación correcta de casos Normales que SVM y Random Forest. Esto indica que los modelos tradicionales tienden a sobrerreaccionar hacia la clase positiva, mientras que la red neuronal logra un balance algo mejor. En el contexto de aplicaciones médicas, maximizar la detección de Neumonía es crítico, por lo que todos los modelos son efectivos, aunque la red neuronal se destaca al ofrecer un equilibrio más confiable entre precisión y recall.

Local Binary Patterns (LBP)

Modelo Accuracy Precision (Normal) Recall (Normal) F1-Score (Normal) Precision (Neumonía) Recall (Neumonía) F1-Score (Neumonía)
Red Neuronal 0.78 0.73 0.66 0.69 0.81 0.85 0.83
SVM 0.68 0.85 0.17 0.28 0.66 0.98 0.79
KNN 0.76 0.88 0.42 0.57 0.74 0.97 0.84
Random Forest 0.75 0.89 0.39 0.54 0.73 0.97 0.83
  • Rendimiento Global (\(\text{Accuracy}\)): La Red Neuronal es el modelo con mayor Accuracy general, lo que indica un mejor desempeño global.

*Detección de Neumonía (\(\text{Recall}\) Neumonía): Los modelos SVM, KNN y Random Forest alcanzan un Recall casi perfecto (\(\ge 0.97\)), demostrando una altísima sensibilidad para detectar la enfermedad (clase positiva).

*Identificación de Normalidad (\(\text{Recall}\) Normal): La Red Neuronal tiene el Recall más alto para la clase Normal (0.66), lo que significa que comete significativamente menos Falsos Positivos que sus contrapartes tradicionales.

Matriz de Confusión Red Neuronal
Matriz de Confusión SVM
Matriz de Confusión KNN
Matriz de Confusión Random Forest

De las matrices anteriores se muestra que:

  • Red Neuronal (RN): Es el modelo más equilibrado. Muestra una alta capacidad de detección de Neumonía (\(\text{Recall} \approx 83.8\%\)) y, crucialmente, minimiza el sobre-diagnóstico, generando solo 74 Falsos Positivos y teniendo el mejor \(\text{Recall}\) para la clase Normal (\(\approx 68.4\%\)).

  • SVM: Es el modelo con mayor sesgo hacia la clase positiva. Logra una sensibilidad casi perfecta (\(\text{Recall} \approx 98.2\%\)), pero a costa de una especificidad muy baja (\(\text{Recall}\) Normal \(\approx 16.7\%\)). Esto se traduce en un número excesivo de 195 Falsos Positivos.

  • KNN: Exhibe un rendimiento intermedio. Mantiene una alta sensibilidad (\(\text{Recall} \approx 96.7\%\)) pero su capacidad para clasificar pacientes Normales es pobre (\(\text{Recall}\) Normal \(\approx 42.3\%\)), resultando en 135 Falsos Positivos.

  • Random Forest (RF): Similar al KNN, muestra una alta sensibilidad (\(\text{Recall} \approx 97.2\%\)) pero una especificidad muy baja, con el Recall Normal más bajo de los modelos tradicionales (\(\approx 38.9\%\)). Esto genera 143 Falsos Positivos.

Implementacion pipelene con varioas descrptores

Para el entrenamiento de los modelos de machine learning tradicionales (SVM, Random Forest, y k-NN), se implementó un pipeline robusto de extracción de características clásicas que combinó seis descriptores para formar el vector de features por imagen. Para capturar la geometría, se utilizaron Descriptores de Forma, incluyendo HOG para estructuras generales, los siete Momentos de Hu (invariantes a transformaciones geométricas) y Descriptores de Contorno (Área, Perímetro, Circularidad y Excentricidad). Simultáneamente, para caracterizar la heterogeneidad del tejido pulmonar, se emplearon Descriptores de Textura: LBP para patrones locales, la GLCM para extraer propiedades estadísticas como Contraste y Energía, y Filtros de Gabor para analizar la respuesta de la imagen a diferentes orientaciones y frecuencias. La concatenación de estos seis métodos asegura una representación rica y completa de cada imagen de rayos X para la posterior clasificación.

Modelo Accuracy Precision Recall F1-Score AUC
SVM 0.7580 0.8180 0.7580 0.7218 0.9168
Random Forest 0.7452 0.7929 0.7452 0.7080 0.8242
k-NN 0.7484 0.7627 0.7484 0.7250 0.7779
Figura 9: Curva ROC SMV KNN y Random Forest
Figura 9: Curva ROC SMV KNN y Random Forest
Figura 10: Matriz de confusión ROC SMV KNN y Random Forest
Figura 10: Matriz de confusión ROC SMV KNN y Random Forest
  • El Ganador: Support Vector Machine (SVM) El SVM demostró ser el modelo más robusto, alcanzando un AUC de 0.9168.

  • Análisis: Aunque el Accuracy es similar al de los otros modelos (~75%), el AUC superior indica que el SVM tiene una capacidad mucho mayor para distinguir entre clases (“Normal” vs “Neumonía”) a través de diferentes umbrales de decisión.

  • Por qué funcionó mejor: Los SVM con kernel RBF son matemáticamente excelentes manejando espacios de alta dimensionalidad (3,812 features en este caso). El algoritmo logra encontrar el hiperplano óptimo que maximiza el margen entre las clases, siendo menos sensible al ruido que k-NN.

  • El Desafío de k-NN (La “Maldición de la Dimensionalidad”) El modelo k-Nearest Neighbors obtuvo el desempeño más bajo en AUC (0.7779).

  • Causa: k-NN basa sus decisiones en distancias euclidianas. Al tener un vector de características tan grande (3,812 dimensiones), todas las imágenes tienden a “parecerse” matemáticamente, haciendo que las distancias pierdan significado discriminatorio. Este fenómeno es conocido en literatura como la Curse of Dimensionality.

  • Random Forest El Random Forest tuvo un desempeño intermedio (AUC 0.8242).

  • Observación: Aunque es un modelo potente, es probable que la gran cantidad de características irrelevantes o redundantes (ruido) generadas por la concatenación masiva de descriptores haya dificultado que los árboles de decisión encuentren las divisiones óptimas sin una selección de características previa (Feature Selection).

6 Conclusiones

6.1 Rendimiento de la Red Neuronal sobre Píxeles Crudos

  • La Red Neuronal entrenada directamente sobre los píxeles de las imágenes redimensionadas mostró un rendimiento muy limitado (Accuracy \(\approx 0.3798\), AUC \(\approx 0.5060\)).
  • Los valores de Recall extremadamente bajos (0.0077 para validación) indicaron que el modelo no logró aprender patrones significativos, comportándose de manera equivalente a un clasificador aleatorio. Esto sugiere que la arquitectura personalizada no fue adecuada para capturar las características espaciales y texturales de las radiografías a partir de la representación plana de los píxeles.

6.2 Eficacia de la Extracción de Características Profundas (ResNet50)

  • La utilización de ResNet50 como extractor de características mejoró drásticamente el desempeño en todos los clasificadores, superando al entrenamiento directo con píxeles.
  • La Red Neuronal con descriptores ResNet50 fue el mejor modelo global (Accuracy \(\mathbf{0.89}\)), alcanzando el mejor equilibrio entre Sensibilidad (Recall Neumonía: \(\mathbf{0.99}\)) y Especificidad (Recall Normal: \(\mathbf{0.71}\)), obteniendo los F1-Scores más altos en ambas clases.
  • Modelos Tradicionales (SVM, k-NN, Random Forest) con ResNet50 lograron una Sensibilidad casi perfecta (\(\ge 0.99\)) para detectar la Neumonía, pero a expensas de la Especificidad (Recall Normal: \(0.38 - 0.54\)), lo que se traduce en una alta tasa de Falsos Positivos (sobre-detección de la enfermedad).

6.3 Desempeño con Descriptores Clásicos de Textura y Forma (LBP y Pipeline Combinado)

  • LBP: Al usarse individualmente, los modelos de ML tradicionales (SVM, k-NN, Random Forest) mostraron una tendencia extrema al sesgo hacia la clase mayoritaria (Neumonía), logrando un Recall de Neumonía muy alto (\(\ge 0.97\)) pero una Especificidad muy baja (Recall Normal \(\le 0.42\)). La Red Neuronal, en cambio, demostró ser más equilibrada (Recall Normal: 0.66) .
  • Pipeline Combinado: La concatenación masiva de seis descriptores clásicos (3,812 features) no condujo a una mejora sustancial.
    • El SVM fue el modelo más robusto, alcanzando el mejor AUC de \(\mathbf{0.9168}\), demostrando su capacidad para manejar espacios de alta dimensionalidad.
    • El k-NN tuvo el peor desempeño (AUC 0.7779), confirmando la Maldición de la Dimensionalidad, donde el exceso de características diluye la capacidad discriminativa de las distancias euclidianas.

6.4 Conclusión Final

El enfoque más efectivo para la clasificación de neumonía en este dataset fue la combinación de extracción de características profundas utilizando ResNet50 seguida por la clasificación mediante una Red Neuronal Densa (FCN). Esta arquitectura no solo maximizó la capacidad de detección de la enfermedad (Sensibilidad \(\ge 0.99\)) sino que también ofreció el mejor rendimiento en la identificación de casos normales (Especificidad \(0.71\)), proporcionando el equilibrio más confiable entre la minimización de Falsos Negativos y Falsos Positivos en un contexto de apoyo al diagnóstico médico.

7 Guía de Inserción de Referencias

7.1 Introducción (Contexto Médico)

Dónde pegar: Después de la frase: “La automatización de este diagnóstico es crucial para acelerar la detección de la enfermedad, especialmente en entornos con recursos médicos limitados.”

Dutta, P. K., Chowdhury, A., Bhattacharyya, A., Chakraborty, S., & Dey, S. (2025). Deep learning-based pneumonia detection from chest X-ray images. arXiv. https://arxiv.org/abs/2510.00035


7.2 Sección ResNet50

Dónde pegar: Al final de la sección, justo después de describir el proceso de extracción de características.

He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. En Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 770-778). IEEE.


7.3 Sección HOG (Histogram of Oriented Gradients)

Dónde pegar: Después de explicar la optimización y el análisis del algoritmo HOG.

Dalal, N., & Triggs, B. (2005). Histograms of oriented gradients for human detection. En IEEE Computer Society Conference on Computer Vision and Pattern Recognition (Vol. 1, pp. 886-893). IEEE. https://doi.org/10.1109/CVPR.2005.177


7.4 Sección Momentos de Hu

Dónde pegar: Al final de la explicación sobre las invarianzas (rotación, escala, traslación).

Hu, M. K. (1962). Visual pattern recognition by moment invariants. IRE Transactions on Information Theory, 8(2), 179-187. https://doi.org/10.1109/TIT.1962.1057692


7.5 Sección LBP (Local Binary Patterns)

Dónde pegar: Al final de la sección de implementación y experimentación de LBP.

Ojala, T., Pietikäinen, M., & Mäenpää, T. (2002). Multiresolution gray-scale and rotation invariant texture classification with local binary patterns. IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(7), 971-987. https://doi.org/10.1109/TPAMI.2002.1017623


7.6 Sección GLCM (Gray Level Co-occurrence Matrix)

Dónde pegar: Después de explicar las propiedades estadísticas (contraste, correlación, energía, etc.).

Haralick, R. M., Shanmugam, K., & Dinstein, I. (1973). Textural features for image classification. IEEE Transactions on Systems, Man, and Cybernetics, SMC-3(6), 610-621. https://doi.org/10.1109/TSMC.1973.4309314


7.7 Sección Filtros de Gabor

Dónde pegar: Al final de la descripción del banco de filtros.

Jain, A. K., & Farrokhnia, F. (1991). Unsupervised texture segmentation using Gabor filters. Pattern Recognition, 24(12), 1167-1186. https://doi.org/10.1016/0031-3203(91)90143-S


8 Bibliografía

Dalal, N., & Triggs, B. (2005). Histograms of oriented gradients for human detection. En IEEE Computer Society Conference on Computer Vision and Pattern Recognition (Vol. 1, pp. 886-893). IEEE. https://doi.org/10.1109/CVPR.2005.177

Dutta, P. K., Chowdhury, A., Bhattacharyya, A., Chakraborty, S., & Dey, S. (2025). Deep learning-based pneumonia detection from chest X-ray images. arXiv. https://arxiv.org/abs/2510.00035

Haralick, R. M., Shanmugam, K., & Dinstein, I. (1973). Textural features for image classification. IEEE Transactions on Systems, Man, and Cybernetics, SMC-3(6), 610-621. https://doi.org/10.1109/TSMC.1973.4309314

He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. En Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 770-778). IEEE.

Hu, M. K. (1962). Visual pattern recognition by moment invariants. IRE Transactions on Information Theory, 8(2), 179-187. https://doi.org/10.1109/TIT.1962.1057692

Jain, A. K., & Farrokhnia, F. (1991). Unsupervised texture segmentation using Gabor filters. Pattern Recognition, 24(12), 1167-1186. https://doi.org/10.1016/0031-3203(91)90143-S

Ojala, T., Pietikäinen, M., & Mäenpää, T. (2002). Multiresolution gray-scale and rotation invariant texture classification with local binary patterns. IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(7), 971-987. https://doi.org/10.1109/TPAMI.2002.1017623

9 Contribución

Laura Camila Agudelo Ospina: Fundamentos y EDA

Se encargaría de establecer el contexto del proyecto y analizar la base de datos. * Sección Principal: Introducción y Análisis Exploratorio. * Tareas Específicas: * Redacción de la Introducción (Contexto, Objetivo). * Análisis del conjunto de datos: estructura, particiones, desbalance de clases y el requisito de redimensionamiento de imágenes. * Generación o verificación de las figuras de composición del dataset y tamaño de imágenes.


Johan Sebastian Cano Garcia: Descriptores de Forma y Profundos (ResNet50)

Se centraría en los descriptores que capturan la geometría, la forma y las características de alto nivel. * Sección Principal: Parte de Descriptores (Métodos de Forma y Profundos). * Tareas Específicas: * Desarrollo e implementación del descriptor ResNet50 (como extractor de características). * Desarrollo e implementación de los Momentos de Hu. * Desarrollo e implementación del Histogram of Oriented Gradients (HOG). * Desarrollo e implementación de los Descriptores de Contorno.


Alejandro Esteban Munoz Osorio: Descriptores de Textura

Se enfocaría en los descriptores que miden la micro-estructura y heterogeneidad de las imágenes radiológicas. * Sección Principal: Parte de Descriptores (Métodos de Textura). * Tareas Específicas: * Desarrollo e implementación de los Local Binary Patterns (LBP), incluyendo la experimentación con parámetros (\(R, P\)). * Desarrollo e implementación de la Gray Level Co-occurrence Matrix (GLCM), incluyendo la extracción de propiedades (Contraste, Correlación, Energía, etc.). * Desarrollo e implementación de los Filtros de Gabor y el banco de filtros. * Implementación del Pipeline Combinado de descriptores (concatenación de los descriptores de P2 y P3).


Brayan Armando Cumbalaza Vallejo: Clasificación y Conclusiones

Se concentraría en la fase de modelado, la comparación de resultados y el cierre del trabajo. * Sección Principal: Clasificación, Metodología y Conclusiones. * Tareas Específicas: * Desarrollo y entrenamiento de la Red Neuronal personalizada (sobre píxeles crudos). * Entrenamiento de todos los modelos (RN, SVM, k-NN, Random Forest) utilizando los descriptores generados por P2 y P3 (ResNet50, LBP y Pipeline Combinado). * Análisis y comparación de las métricas de desempeño (Accuracy, Recall, AUC). * Redacción detallada de la Metodología (el cómo se hizo el trabajo completo). * Redacción de las Conclusiones, destacando el modelo ganador (RN con ResNet50) y los insights (Maldición de la Dimensionalidad, sesgo).