Problemas del Enfoque Píxel a Píxel
El procesamiento píxel a píxel presenta desafíos significativos en la visión artificial:
- Falta de Contexto Global: El clasificador no puede ver el objeto completo ni su entorno.
- Solución (Enfoque de Objeto): Clasificaría la forma del objeto, no solo el color de un píxel individual.
- Ruido y Variación de Color: Este enfoque es muy sensible al ruido de adquisición.
- Solución: El uso de descriptores invariantes de forma y textura (como Hu o GLCM) resulta mucho más robusto ante estas variaciones locales.
- El Costo Computacional: Clasificar una imagen de 1000 x 1000 requiere realizar un millón de predicciones. Algoritmos como K-Means o SVM sobre estas características no escalan bien para imágenes grandes si se ejecutan píxel por píxel.
El principal problema de trabajar en este espacio tan grande es la maldición de la dimensionalidad: el proceso es lento y requiere muchísimos datos de entrenamiento, ya que la densidad de los datos disminuye drásticamente a medida que aumenta la dimensionalidad.
Extracción de Características
Clasificar por píxeles es muy sensible a variaciones que no afectan la identidad del objeto, como la traslación, que supone un cambio completo en el vector de entrada.
Solución (Extracción de características): En lugar de usar N píxeles, buscamos k descriptores (donde k << N) que sean informativos, discriminativos y robustos.
Metodologías de Extracción
La extracción transforma la imagen en un vector numérico compacto y significativo:
1. Descriptores de Forma y Geometría
Cuantifican la silueta, el contorno y la estructura geométrica del objeto, basándose en que la identidad del objeto depende de su forma.
- Momentos de Imagen: Describen la forma de una región binaria.
- Momentos Centrales: Aseguran la invarianza a la traslación.
- Momentos de Hu: Son 7 combinaciones no lineales e invariantes de estos momentos centrales normalizados que formarán el vector de características de forma.
2. Descriptores de Textura y Contenido Local
Cuantifican la variación de intensidad y color dentro del objeto segmentado, definiendo la identidad del objeto por su superficie.
- GLCM (Gray-Level Co-occurrence Matrix): P(k,l) almacena la frecuencia con la que aparece un par de píxeles con valores de intensidad específicos, separados por un vector de desplazamiento. Sus métricas principales son el contraste y la homogeneidad.
Limitaciones de las Características Manuales
El uso de características manuales conlleva varios problemas:
- Sesgo humano y escala fija: Si el fenómeno ocurre a una escala menor, se diluye; si es a una escala mayor, no se capta.
- Desacoplamiento: La extracción no se optimiza junto con el clasificador, creando un cuello de botella clásico. Las características no saben para qué clasificador se usarán ni se ajustan a la frontera de decisión final.
Redes Neuronales Convolucionales (CNN)
Las CNN aprenden automáticamente las características óptimas de los datos y se enfocan en propiedades específicas. Son modelos jerárquicos que abarcan desde bordes simples (capas iniciales) hasta representaciones complejas (capas finales).
Todo se entrena de forma conjunta. Si el error final es alto, el gradiente se propaga hacia atrás (backpropagation) y modifica los filtros de las capas iniciales. Así, las características se adaptan explícitamente a la tarea.
Transfer Learning
Con el Transfer Learning no es necesario entrenar una CNN desde cero. Se toma una red ya entrenada con millones de imágenes para una tarea general, se elimina la capa final de clasificación y se utiliza la capa anterior (capa de vector de características) como extractor. El vector de salida es un embedding de alta dimensión que contiene las representaciones semánticas del objeto.
Clasificación de Imágenes con Machine Learning Clásico
- Definición de la unidad a clasificar: Píxel (rara vez), parche, superpíxel o parcela/región.
- Extracción de características: Color (medias, varianzas), textura (GLCM, momentos), forma (área, compacidad) y contexto (opcional). Es preciso establecer una agregación espacial.
- Construcción del dataset: Cada fila representa una región, las columnas son las características y la etiqueta es la clase.
- Entrenamiento del clasificador: SVM, Random Forest o Regresión Logística.
- Evaluación: Matriz de confusión, precisión, recall (sensibilidad), F1-score y validación cruzada.
- Proyección al dominio de la imagen: Mapear las predicciones a píxeles o regiones para la visualización del resultado.
Detección y Etiquetado Avanzado
Etiquetado Semi-automático: Se utilizan reglas que facilitan y agilizan enormemente el proceso de etiquetado.
Proceso de Detección
- Deslizamiento de ventanas por región.
- Clasificación de ventanas.
- Fusión de la clasificación (evita duplicidad en la detección).
El IoU (Intersection over Union) cuantifica el grado de superposición entre dos cajas, mientras que el Non-Maxima Suppression elimina detecciones duplicadas.
Active Learning
Es el arte de etiquetar solo las muestras más inciertas:
- Entrenamos un clasificador con pocas etiquetas.
- Aplicamos el modelo a las regiones sin etiquetar.
- Pedimos al “humano” (oráculo) que etiquete solo las regiones más dudosas.
- Reentrenamos la red con las nuevas etiquetas (más difíciles, donde se aprende más).
- Repetir el proceso hasta optimizar el rendimiento.
Arquitectura de Redes Neuronales
Las Redes Neuronales son modelos computacionales compuestos por “neuronas” artificiales interconectadas. Las salidas se combinan en capas sucesivas para formar modelos complejos que generalizan a partir de los datos mediante el ajuste iterativo de pesos con algoritmos como el descenso de gradiente.
Funciones de Activación
- Identidad: f(x) = x. Útil en la capa de salida para predecir valores continuos.
- Sigmoide (Logística): Transforma la entrada a un rango entre 0 y 1. Ideal para clasificación binaria.
- ReLU: Mapea valores negativos a cero y mantiene los positivos. Muy usada en capas ocultas por su eficiencia.
- Tangente Hiperbólica (Tanh): Rango entre -1 y 1. Útil en capas ocultas con datos normalizados.
- Softmax: Produce un vector de probabilidades que suma 1. Utilizada en clasificación multiclase.
Redes Densas y Forward Propagation
En las redes densas, cada neurona está conectada a todas las de la capa siguiente. El Forward Propagation es el proceso de realizar inferencias:
- Entrada de datos (vector, imagen, audio).
- Cálculo de activaciones (con pesos y sesgos inicializados aleatoriamente).
- Propagación por capas ocultas.
- Cálculo de la salida (yˆ).
- Obtención de la predicción.
El «milagro» de las redes neuronales reside en intercalar transformaciones lineales con funciones no lineales.
Entrenamiento y Optimización
El objetivo es encontrar los parámetros θ que minimicen una función de pérdida (riesgo empírico):
- MSE (Error Cuadrático Medio): Para regresión.
- Entropía Cruzada: Para clasificación.
Se utiliza Backpropagation para calcular el gradiente mediante la regla de la cadena y un optimizador como el SGD (Descenso de Gradiente Estocástico). El proceso se repite por épocas (epochs). Un max_iter muy bajo impide el aprendizaje; uno muy alto provoca sobreajuste.
Regularización y Capacidad
- Regularización L1/L2: Reduce la magnitud de los parámetros.
- Dropout: Apaga aleatoriamente un porcentaje de neuronas para evitar la codependencia.
- Early Stopping: Detiene el entrenamiento cuando el error de validación empieza a subir.
- Data Augmentation: Genera muestras artificiales (rotación, zoom, volteo) para mejorar la invarianza.
Estructura de las Redes Convolucionales
Las CNN superan el límite de las MLP (pérdida de estructura espacial y explosión de parámetros) mediante:
- Capas de Convolución: Filtros (kernels) que buscan patrones locales. Generan mapas de características y mantienen la profundidad.
- Compartición de Pesos: El mismo filtro se aplica a toda la imagen, permitiendo detectar un rasgo en cualquier posición.
- Capas de Pooling: Reducen la resolución espacial.
- Max-Pooling: Selecciona el valor máximo (el más fuerte).
- Average-Pooling: Calcula la media (suaviza la imagen).
A diferencia del procesamiento tradicional donde los filtros son fijos (Sobel, Gauss), en las CNN los filtros se aprenden automáticamente.
Modelos Pre-entrenados Comunes
- VGG16/19: Sencilla y lineal.
- ResNet: Introduce conexiones residuales para redes muy profundas.
- Inception: Filtros en paralelo de distintos tamaños.
- MobileNet: Optimizada para dispositivos móviles.
El Fine-Tuning consiste en reentrenar parcialmente estos modelos para adaptarlos a una nueva tarea.
Análisis de Vídeo
El vídeo añade la dimensión temporal (H x W x C x T). Debido a la redundancia temporal, procesar cada frame de forma aislada es ineficiente.
- Contenedores (MP4, AVI): Guardan vídeo, audio y metadatos.
- Codecs (H.264, H.265): Algoritmos de compresión que usan compensación de movimiento.
Flujo Óptico y Fondo
El Flujo Óptico es el patrón de movimiento aparente. Se basa en la hipótesis de constancia de brillo.
- Método Lucas-Kanade: Asume movimiento uniforme en vecindarios pequeños.
- Flujo Ralo (Sparse): Solo en puntos de interés. Rápido para tracking.
- Flujo Denso (Dense): En cada píxel (ej. Farneback). Útil para segmentación.
- Background Subtraction (MOG2): Modela el fondo como una mezcla de Gaussianas para separar objetos en movimiento.
Deep Learning para Vídeo
- 3D CNN: Filtros con profundidad temporal (computacionalmente costosos).
- Arquitecturas Híbridas (CNN + RNN/LSTM): La CNN extrae características y la LSTM gestiona la secuencia temporal.
- Two-Stream Networks: Una rama para apariencia (RGB) y otra para movimiento (Flujo Óptico).
Glosario de Parámetros y Funciones
- StandardScaler(): Normaliza variables (media 0, varianza 1).
- train_test_split: Separa datos en entrenamiento y test.
- random_state=42: Asegura la reproducibilidad.
- Conv2D(32, (3,3)): 32 filtros de 3×3.
- Flatten(): Convierte la imagen en un vector.
- Adam: Optimizador eficiente.
- Learning Rate: Controla el tamaño del paso de actualización.
- Batch Size: Muestras antes de actualizar pesos.
- Weights=’imagenet’: Carga pesos pre-entrenados.
- Include_top=False: Elimina la capa de clasificación original.
- Accuracy: Porcentaje de aciertos totales.
- Precision: Calidad de las predicciones positivas.
- Recall: Capacidad de detectar todos los positivos.
- F1-score: Equilibrio entre precisión y recall.
Notas finales sobre ajuste: Subir el dropout aumenta la regularización (riesgo de underfitting); subir las neuronas aumenta la capacidad (riesgo de overfitting); un learning rate excesivo genera inestabilidad.
