Découvre comment les cartes de caractéristiques alimentent les modèles Ultralytics YOLO , permettant une détection précise des objets et des applications d'IA avancées comme la conduite autonome.
Les cartes de caractéristiques sont des sorties fondamentales générées par les couches d'un réseau neuronal convolutif (CNN), en particulier les couches convolutives. Elles représentent des caractéristiques apprises ou des modèles détectés dans les données d'entrée, telles qu'une image. Considère-les comme des versions filtrées des données d'entrée, où chaque carte met en évidence la présence et l'emplacement spatial d'une caractéristique spécifique - comme des bords, des coins, des textures ou des formes plus complexes - que le réseau juge importante pour la tâche à accomplir, comme la détection d'objets, la segmentation d'images ou la classification d'images. Ces cartes sont des éléments cruciaux dans la façon dont les modèles d'apprentissage profond (DL) interprètent les informations visuelles.
Dans une architecture CNN typique, l'image d'entrée passe par une série de couches. Les premières couches, plus proches de l'entrée, ont tendance à produire des cartes de caractéristiques qui capturent des caractéristiques simples et de bas niveau (par exemple, des lignes horizontales, des contrastes de couleurs simples, des textures de base). Au fur et à mesure que les données pénètrent dans le réseau neuronal (RN), les couches suivantes combinent ces caractéristiques simples pour construire des représentations plus complexes et plus abstraites. Les cartes de caractéristiques des couches plus profondes peuvent mettre en évidence des parties d'objets (comme les roues d'une voiture ou les yeux d'un visage) ou même des objets entiers. Cet apprentissage hiérarchique des caractéristiques permet au réseau d'apprendre progressivement des schémas complexes, en passant de schémas généraux à des détails spécifiques pertinents pour la tâche. Tu peux explorer les concepts fondamentaux dans des ressources telles que les notes de cours CS231n de Stanford sur les CNN.
Les cartes de caractéristiques sont la pierre angulaire de la façon dont les CNN effectuent l'extraction automatique des caractéristiques, éliminant ainsi le besoin d'ingénierie manuelle des caractéristiques qui était courant dans la vision par ordinateur (VPI) traditionnelle. La qualité et la pertinence des caractéristiques capturées dans ces cartes ont un impact direct sur les performances du modèle, mesurées par des paramètres tels que l'exactitude et la précision moyenne (mAP). Dans les modèles de détection d'objets comme Ultralytics YOLOd'Ultralytics, et plus particulièrement des versions comme YOLOv8 et YOLO11Les cartes de caractéristiques générées par l'épine dorsale sont souvent traitées par une structure de "cou" (comme FPN ou PAN) avant d'être transmises à la tête de détection. La tête de détection utilise ensuite ces cartes de caractéristiques affinées pour prédire les résultats finaux : les boîtes de délimitation indiquant l'emplacement des objets et les probabilités de classe identifiant les objets trouvés dans des ensembles de données tels que COCO ou ImageNet.
Les cartes de caractéristiques font partie intégrante d'innombrables applications d'intelligence artificielle (IA) et d'apprentissage automatique (ML):
La visualisation des cartes de caractéristiques peut donner un aperçu de ce qu'un CNN a appris et de la façon dont il prend ses décisions. En examinant quelles parties d'une image activent des cartes de caractéristiques spécifiques, les développeurs peuvent comprendre si le modèle se concentre sur des caractéristiques pertinentes. Il s'agit d'une composante de l'IA explicable (XAI) qui peut être réalisée à l'aide d'outils tels que TensorBoard ou d'autres techniques de visualisation. Comprendre les cartes de caractéristiques aide à déboguer les modèles et à améliorer leur robustesse et leur fiabilité, qui peuvent être gérées et suivies à l'aide de plateformes comme Ultralytics HUB.
Comment les cartes d'entités sont-elles créées ?
Les cartes de caractéristiques sont générées par l'opération mathématique appelée convolution. Au cours de ce processus, une petite matrice appelée filtre (ou noyau) glisse sur les données d'entrée (ou la carte des caractéristiques de la couche précédente). À chaque position, le filtre effectue une multiplication par élément avec la partie de l'entrée qui se chevauche et additionne les résultats pour produire une valeur unique dans la carte des caractéristiques de sortie. Chaque filtre est conçu ou appris au cours de la formation pour détecter un modèle spécifique. Une couche convolutive utilise généralement plusieurs filtres, chacun produisant sa propre carte de caractéristiques, ce qui permet de capturer un ensemble varié de caractéristiques à partir de l'entrée. La colonne vertébrale du réseau, souvent construite à l'aide d'outils tels que PyTorch ou TensorFlowest principalement responsable de la génération de ces riches cartes de caractéristiques à partir des données d'entrée, souvent visualisées à l'aide d'outils comme OpenCV.