Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Saliency Maps

Les cartes de saillance sont des cartes thermiques qui indiquent dans quelle mesure chaque pixel a influencé la prédiction d’un modèle. Découvre les méthodes fondées sur les gradients, CAM et les perturbations, ainsi que leurs limites et leurs usages.

Une carte de saillance est une carte thermique qui indique dans quelle mesure chaque pixel d’une image d’entrée a influencé la sortie d’un réseau de neurones, généralement le score d’une classe prédite. C’est l’un des outils les plus courants de l’IA explicable (XAI) en vision par ordinateur : une carte qui met en évidence l’objet étaye la prédiction, tandis qu’une carte qui souligne un filigrane, l’arrière-plan ou le bord de l’image révèle un raccourci. Une carte de saillance relie la sortie aux pixels de l’entrée, ce qui la distingue des cartes de caractéristiques internes du réseau et des poids d’attention d’un transformeur de vision, qui montrent où une couche recueille des informations. En recherche sur la perception, le terme désigne une idée connexe : une carte des zones d’une scène vers lesquelles le regard humain est attiré, comme dans le modèle d’attention visuelle d’Itti-Koch.

Fonctionnement de la saillance par gradient#

La carte de saillance par gradient de Simonyan, Vedaldi et Zisserman (2013) utilise la rétropropagation pour calculer le gradient du score d’une classe par rapport à l’image d’entrée, plutôt qu’aux poids du modèle. La magnitude du gradient en un pixel indique dans quelle mesure une légère modification à cet endroit déplacerait le score ; la plus grande valeur absolue parmi les trois canaux de couleur fournit une valeur par pixel. Pour un classificateur ImageNet, cela nécessite une passe avant et une passe arrière dans 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]}")

Le code affiche Explained class: minibus et enregistre une carte granuleuse de 224 × 224 correspondant au recadrage central observé par le classificateur : les gradients bruts varient d’un pixel à l’autre, ce que les méthodes ultérieures réduisent en calculant des moyennes ou en travaillant sur des cartes de caractéristiques.

Méthodes de saillance#

  • SmoothGrad : la moyenne des cartes de gradient calculées sur de nombreuses copies de l’image auxquelles on ajoute du bruit élimine une grande partie du grain.
  • Gradients intégrés : l’accumulation des gradients le long d’un chemin allant d’une référence, comme une image noire, jusqu’à l’entrée fait en sorte que les scores des pixels totalisent la différence entre les scores des deux classes.
  • Grad-CAM : la pondération des cartes de caractéristiques de la dernière couche convolutive par leur gradient moyen, suivie d’un suréchantillonnage du résultat, donne des régions grossières mais propres à chaque classe. LayerCAM (2021) pondère séparément chaque position ; les couches antérieures à plus haute résolution fournissent ainsi elles aussi des cartes exploitables.
  • Occlusion et autres méthodes de perturbation : masquer des zones de l’image et mesurer la baisse du score ne nécessite aucun gradient, mais demande une passe avant par zone.

Ultralytics YOLO calcule des cartes LayerCAM pour la détection d’objets et d’autres tâches : avec visualize=True en mode prédiction, le modèle pondère chaque position des cartes de caractéristiques transmises à la tête de détection selon son gradient positif par rapport au score de classe de chaque prédiction fiable, puis enregistre une carte thermique combinée par image.

from ultralytics import YOLO

# Enregistrer une carte thermique LayerCAM des indices derrière les détections de YOLO26
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg", visualize=True)

Le code écrit bus_cam.jpg dans le répertoire d’enregistrement de l’exécution. Il explique jusqu’aux 16 prédictions brutes les plus fortes de YOLO26 au-dessus du seuil de confiance, avant que NMS ne supprime les doublons ; l’ajout de classes=[0] ne cartographie que les personnes.

Limites des cartes de saillance#

Une carte de saillance montre les zones auxquelles la sortie est sensible, et non la manière dont le modèle raisonne, qui est l’objectif de l’interprétabilité mécaniste. Les tests de validité de 2018 d’Adebayo et de ses collègues ont montré que certaines méthodes populaires, comme la rétropropagation guidée, produisent presque la même carte après la randomisation des poids du modèle ; ces cartes reflètent donc davantage les contours de l’image que le modèle entraîné. De petites perturbations de l’entrée peuvent également modifier fortement les cartes sans changer la prédiction.

Applications concrètes#

  • Détection des raccourcis : les cartes thermiques ont révélé qu’un classificateur entraîné sur le jeu de données PASCAL VOC reconnaissait en partie les chevaux grâce à une mention de droit d’auteur présente sur de nombreuses photos de chevaux, un comportement de « Clever Hans » invisible dans sa précision.
  • Imagerie médicale : les développeurs de classificateurs de radiographies thoraciques vérifient que les indices se trouvent dans les poumons, et non sur le texte du scanner ou sur des dispositifs médicaux tels que les drains thoraciques, dont il a été démontré que les classificateurs de pneumothorax se servent.
  • Recadrage d’images : Twitter recadrait les aperçus d’images autour du point où un modèle de saillance de l’attention humaine prédisait que les utilisateurs regarderaient en premier. Un audit réalisé en 2021 par les chercheurs de l’entreprise a révélé que les recadrages favorisaient systématiquement certains groupes de personnes au détriment d’autres.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique