Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Saliency Maps

Los mapas de saliencia son mapas de calor que puntúan cuánto ha influido cada píxel en la predicción de un modelo. Incluye métodos basados en gradientes, CAM y perturbaciones, así como sus límites y usos.

Un mapa de saliencia es un mapa de calor que asigna una puntuación a la influencia que ha tenido cada píxel de una imagen de entrada en la salida de una red neuronal, normalmente en la puntuación de una clase predicha. Es una de las herramientas más comunes de la IA explicable (XAI) en visión artificial: un mapa que resalta el objeto respalda la predicción, mientras que uno que resalta una marca de agua, el fondo o el borde de la imagen revela un atajo. Un mapa de saliencia relaciona la salida con los píxeles de entrada, lo que lo distingue de los mapas de características internos de la red y de los pesos de atención de un Transformer de visión, que muestran dónde recopila información una capa. En la investigación sobre percepción, el término tiene un significado relacionado: un mapa de los puntos hacia los que se dirigen los ojos humanos en una escena, como en el modelo de atención visual de Itti y Koch.

Cómo funciona la saliencia basada en gradientes#

El mapa de saliencia por gradientes de Simonyan, Vedaldi y Zisserman (2013) utiliza la retropropagación para calcular el gradiente de la puntuación de una clase con respecto a la imagen de entrada, en lugar de con respecto a los pesos del modelo. La magnitud del gradiente en un píxel indica cuánto cambiaría la puntuación ante un pequeño cambio en ese punto, y el mayor valor absoluto de los tres canales de color proporciona un valor por píxel. Para un clasificador de ImageNet, cuesta una pasada hacia delante y otra hacia atrás en PyTorch:

import urllib.request

from PIL import Image
from torchvision.models import ResNet50_Weights, resnet50
from torchvision.utils import save_image

# Load an ImageNet classifier and track gradients on the input pixels
weights = ResNet50_Weights.DEFAULT
model = resnet50(weights=weights).eval()
image = Image.open(urllib.request.urlopen("https://ultralytics.com/images/bus.jpg"))
x = weights.transforms()(image).unsqueeze(0).requires_grad_()

# Backpropagate the top class score to the pixels
scores = model(x)
top = scores.argmax().item()
scores[0, top].backward()

# Saliency: largest absolute gradient across the color channels, scaled for display
saliency = x.grad.abs().amax(dim=1)
save_image((saliency / saliency.quantile(0.99)).clamp(max=1), "saliency.png")
print(f"Explained class: {weights.meta['categories'][top]}")

Imprime Explained class: minibus y guarda un mapa granuloso de 224 × 224 del recorte central que ha procesado el clasificador: los gradientes sin procesar presentan ruido de un píxel a otro, que los métodos posteriores reducen mediante promedios o trabajando con mapas de características.

Métodos de saliencia#

  • SmoothGrad: Promediar los mapas de gradientes de muchas copias de la imagen con ruido añadido elimina gran parte del granulado.
  • Gradientes integrados: Acumular los gradientes a lo largo de un recorrido desde una referencia, como una imagen negra, hasta la entrada hace que las puntuaciones de los píxeles sumen la diferencia entre las puntuaciones de las dos clases.
  • Grad-CAM: Ponderar los mapas de características de la última capa convolucional por sus gradientes medios y ampliar el resultado produce regiones aproximadas, pero específicas de cada clase. LayerCAM (2021) pondera cada posición por separado, de modo que las capas anteriores, de mayor resolución, también producen mapas útiles.
  • Oclusión y otros métodos de perturbación: Ocultar partes de la imagen y medir cuánto baja la puntuación no requiere gradientes, pero cuesta una pasada hacia delante por cada parte.

Ultralytics YOLO calcula mapas LayerCAM para la detección de objetos y otras tareas: con visualize=True en modo de predicción, pondera cada posición de los mapas de características que entran en la cabeza de detección según su gradiente positivo respecto a la puntuación de clase de cada predicción con confianza alta, y guarda un mapa de calor combinado por imagen.

from ultralytics import YOLO

# Guarda un mapa de calor LayerCAM de las evidencias en las que se basan las detecciones de YOLO26
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg", visualize=True)

Escribe bus_cam.jpg en el directorio de guardado de la ejecución para explicar hasta las 16 predicciones sin procesar más destacadas de YOLO26 que superan el umbral de confianza, antes de que NMS elimine los duplicados; si añades classes=[0], solo genera mapas de las personas.

Limitaciones de los mapas de saliencia#

Un mapa de saliencia muestra a qué es sensible la salida, no cómo razona el modelo, que es el objetivo de la interpretabilidad mecanicista. Las pruebas de cordura de Adebayo y sus colaboradores de 2018 descubrieron que algunos métodos populares, como la retropropagación guiada, producen mapas prácticamente iguales después de aleatorizar los pesos del modelo; por tanto, esos mapas reflejan más los bordes de la imagen que el modelo entrenado. Los mapas también pueden cambiar bruscamente ante pequeñas perturbaciones de entrada que no alteran la predicción.

Aplicaciones en el mundo real#

  • Detección de atajos: Los mapas de calor mostraron que un clasificador entrenado con el conjunto de datos PASCAL VOC reconocía los caballos, en parte, por una etiqueta de derechos de autor que aparecía en muchas fotos de caballos; un comportamiento de «Clever Hans» que su precisión no revelaba.
  • Diagnóstico por imagen: Los desarrolladores de clasificadores de radiografías de tórax comprueban que las evidencias estén en los pulmones y no en el texto del escáner o en dispositivos de tratamiento, como los tubos de drenaje torácico, en los que se ha demostrado que se basan los clasificadores de neumotórax.
  • Recorte de imágenes: Twitter recortaba las vistas previas de las imágenes en torno al punto donde un modelo de saliencia basado en la atención humana predecía que mirarían primero los espectadores, y una auditoría de 2021 de los investigadores de la empresa descubrió que los recortes favorecían sistemáticamente a algunos grupos de personas frente a otros.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático