Mapas de características
Descubra cómo los mapas de características potencian los modelosYOLO Ultralytics , permitiendo la detección precisa de objetos y aplicaciones avanzadas de IA como la conducción autónoma.
Un mapa de características es la salida fundamental generada cuando un
filtro convolucional actúa sobre una imagen de entrada u
otro mapa de características dentro de una
red neuronal convolucional (CNN). En el contexto de la visión por ordenador (VC), estos
actúan como los "ojos" de una red neuronal, destacando la presencia y ubicación de características
aprendidas, como bordes, texturas, esquinas o formas geométricas complejas. Al transformar los datos de píxeles en bruto en
de píxeles en abstracciones significativas, los mapas de características permiten a los modelos
clasificación de imágenes a la detección
en tiempo real.
Cómo se crean los mapas de características
La generación de un mapa de características implica un proceso matemático conocido como
convolución. Una matriz especializada de
de pesos aprendibles, denominada núcleo o filtro, se desliza por los datos de entrada.
por los datos de entrada. En cada posición, el núcleo realiza una multiplicación por elementos y una suma, produciendo un único valor en la matriz de salida.
un único valor en la matriz de salida.
-
Activación: Los valores resultantes suelen pasar por una
función de activación como ReLU, que
introduce la no linealidad, lo que permite a la red aprender patrones complejos.
-
Preservación espacial: A diferencia de las capas totalmente conectadas, los mapas de características preservan las relaciones espaciales,
lo que significa que un valor alto en una coordenada específica corresponde a una característica detectada en esa misma ubicación relativa en la imagen original.
la imagen original.
-
Profundidad: Una sola capa convolucional suele utilizar varios filtros, apilando las matrices 2D
2D resultantes para formar un volumen 3D de mapas de características, a menudo
diagramas de arquitectura de aprendizaje profundo (AD).
Aprendizaje jerárquico de características
Las arquitecturas modernas, como la
ResNet utilizadas en muchos sistemas,
aprovechan la naturaleza jerárquica de los mapas de características. A medida que los datos avanzan por la red, el nivel de abstracción
aumenta:
-
Capas poco profundas: Los mapas de características iniciales capturan detalles de bajo nivel, como líneas verticales, gradientes de color o curvas sencillas.
gradientes de color o curvas sencillas. Constituyen la base de la
percepción visual.
-
Capas profundas: Más profundamente en la red, se combinan estos elementos básicos. Los mapas resultantes representan
conceptos semánticos de alto nivel, como la forma de la rueda de un coche o la cara de un perro. Esta jerarquía es fundamental para
el rendimiento de los modelos más avanzados, como YOLO11,
que les permite distinguir entre clases similares con
precisión.
Visualización de la inteligencia de red
Los desarrolladores suelen visualizar mapas de características para interpretar lo que ha aprendido un modelo, una práctica clave en la
IA explicable (XAI). Herramientas como
TensorBoard permiten a los ingenieros inspeccionar estos
estados internos. Si un mapa de características destinado a detect coches se activa en árboles de fondo, indica que el modelo
puede estar sobreajustándose al ruido. Esta inspección es vital para depurar y mejorar la robustez del modelo.
la robustez del modelo.
El siguiente código Python muestra cómo acceder a las dimensiones de los mapas de características mediante la función ultralytics biblioteca
registrando un gancho en una capa convolucional.
from ultralytics import YOLO
# Load the YOLO11 model (nano version)
model = YOLO("yolo11n.pt")
# Define a hook to print the shape of the feature map from the first layer
def hook_fn(module, input, output):
print(f"Feature Map Output Shape: {output.shape}")
# Register the hook to the first convolutional layer of the model
model.model.model[0].register_forward_hook(hook_fn)
# Run inference on a dummy image to trigger the hook
model("https://ultralytics.com/images/bus.jpg")
Aplicaciones en el mundo real
Los mapas de características son el motor de muchas tecnologías transformadoras:
-
Vehículos autónomos: En
sistemas de conducción autónoma, como los
desarrollados por Waymo, los mapas de características procesan las señales de las cámaras para identificar las marcas de los carriles,
peatones y señales de tráfico. La fidelidad espacial de estos mapas garantiza que el vehículo no sólo sepa
lo que hay en la carretera, sino exactamente dónde está en relación con el coche.
-
Diagnóstico médico: En
análisis de imágenes médicas, los modelos
analizan resonancias magnéticas o tomografías computarizadas. Los mapas de características de estas redes se entrenan para resaltar anomalías como tumores o
o fracturas. Investigaciones publicadas en revistas como Nature Medicine demuestran
cómo estas activaciones específicas pueden ayudar a los radiólogos marcando regiones de interés con gran precisión.
Distinguir conceptos relacionados
Para entender bien las arquitecturas de las redes neuronales, es útil diferenciar los mapas de características de los términos relacionados:
-
Mapas de características frente a extracción de características:
La extracción de características es el proceso
es el proceso general de obtención de datos informativos a partir de datos brutos. El mapa de características es la estructura
estructura de datos resultante de este proceso dentro de una capa CNN.
-
Mapas de características frente a incrustaciones: Mientras que los mapas de características conservan las dimensiones espaciales (altura y anchura),
las incrustaciones suelen ser vectores aplanados y
dimensiones. Las incrustaciones representan la esencia semántica de toda una imagen u objeto, y suelen utilizarse para
búsqueda de similitudes en
base de datos vectorial, mientras que los mapas de características
para tareas que requieren localización espacial, como
segmentación de imágenes.