Glossaire

Convolution

Apprends comment la convolution alimente l'IA dans la vision par ordinateur, permettant des tâches telles que la détection d'objets, la reconnaissance d'images et l'imagerie médicale avec précision.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

La convolution est une opération mathématique fondamentale largement utilisée en intelligence artificielle, en particulier dans le domaine de la vision par ordinateur (VA). Elle constitue un élément essentiel des réseaux neuronaux convolutifs (CNN), permettant à ces réseaux d'apprendre automatiquement des modèles complexes et hiérarchiques directement à partir de données sous forme de grille, telles que des images ou des vidéos. Le processus consiste à appliquer un petit filtre, appelé noyau, à un signal d'entrée ou à une image. Cette opération génère une sortie appelée carte de caractéristiques, qui met en évidence des motifs spécifiques (comme des bords, des textures ou des formes) que le noyau est conçu pour détecter.

Comment fonctionne la convolution

Imagine que le processus de convolution consiste à faire glisser une petite loupe (le noyau ou le filtre) sur une image plus grande (les données d'entrée). À chaque position, le noyau se concentre sur une petite partie des données d'entrée. L'opération de convolution calcule ensuite une somme pondérée des valeurs des pixels à l'intérieur de cette zone, en utilisant les poids définis dans le noyau. Cette valeur calculée devient un pixel unique dans la carte de caractéristiques de sortie. Le noyau se déplace systématiquement sur l'ensemble de l'image d'entrée, étape par étape, la taille de l'étape étant déterminée par un paramètre appelé"stride". Parfois, le"padding" (ajout de pixels de bordure supplémentaires) est utilisé autour de l'image d'entrée pour contrôler la taille de la sortie. En appliquant plusieurs noyaux dans une seule couche de convolution, un CNN peut extraire simultanément un ensemble varié de caractéristiques de l'entrée. Des explications visuelles, telles que celles que l'on trouve dans les notes de cours de Stanford CS231n, peuvent fournir une intuition supplémentaire.

Composants clés de la convolution

Plusieurs paramètres définissent une opération de convolution :

  • Noyau/filtre : Une petite matrice contenant des poids(poids du filtre) qui détectent des caractéristiques spécifiques. La taille du noyau détermine la zone locale traitée à chaque étape.
  • Stride : Le nombre de pixels que le noyau déplace sur l'image d'entrée à chaque étape. Une strie plus importante se traduit par une carte de caractéristiques de sortie plus petite.
  • Remplissage : Ajout de pixels (généralement de valeur nulle) autour du bord de l'image d'entrée. Cela permet de contrôler les dimensions spatiales de la sortie et permet aux noyaux de traiter les pixels de bordure plus efficacement.
  • Fonction d'activation : Généralement, la sortie de l'opération de convolution passe par une fonction d'activation non linéaire, telle que ReLU (Rectified Linear Unit), pour introduire la non-linéarité dans le modèle, ce qui lui permet d'apprendre des modèles plus complexes.

Convolution et opérations connexes

La convolution est souvent utilisée parallèlement à d'autres opérations au sein des CNN, mais elle a un objectif distinct :

  • Mise en commun : Des opérations telles que la mise en commun maximale ou la mise en commun moyenne sont utilisées pour réduire les dimensions spatiales (largeur et hauteur) des cartes de caractéristiques, ce qui rend le modèle plus efficace sur le plan des calculs et plus robuste aux variations de l'emplacement des caractéristiques. Contrairement à la convolution qui extrait les caractéristiques, la mise en commun résume les caractéristiques au sein d'une région. Tu trouveras une vue d'ensemble des méthodes de regroupement pour plus de détails.
  • Couches entièrement connectées : Alors que les couches convolutives traitent les régions locales à l'aide de poids partagés(partage des paramètres) basés sur le champ réceptif, une couche entièrement connectée relie chaque neurone de son entrée à chaque neurone de sa sortie. Ces couches sont généralement utilisées à la fin d'un CNN dans une structure de réseau neuronal (NN) standard pour les tâches finales de classification ou de régression.

Applications de la convolution

Les couches convolutives sont indispensables dans de nombreuses applications modernes de l'IA :

1. Détection d'objets

Dans la détection d'objets, les CNN utilisent des couches convolutives pour extraire les caractéristiques des images, ce qui leur permet d'identifier les objets et de déterminer leur emplacement à l'aide de boîtes de délimitation. Des modèles de pointe comme Ultralytics YOLOd'Ultralytics, y compris des versions comme YOLO11, dépendent fortement des convolutions pour analyser les caractéristiques à différentes échelles en vue d'une détection efficace et précise. Cela est vital pour l'IA dans les applications automobiles, comme permettre aux voitures auto-conduites(voir la technologie de Waymo) de percevoir les piétons, les véhicules et les panneaux de signalisation pour une navigation sûre, ce qui nécessite souvent une inférence en temps réel.

2. Analyse d'images médicales

La convolution joue un rôle important dans l'analyse des images médicales, aidant les professionnels de la santé à interpréter les scans tels que les radiographies, les tomodensitogrammes et les IRM. Les modèles d'IA construits avec des CNN peuvent détecter des modèles subtils indiquant des maladies, comme des tumeurs ou des fractures, dépassant parfois la vitesse et la précision humaines(Radiologie : Intelligence Artificielle). Par exemple, les modèles peuvent être formés pour des tâches spécifiques, comme l'utilisation de YOLO11 pour la détection des tumeurs. Explore davantage les solutions d'IA dans le domaine de la santé.

En outre, la convolution est fondamentale pour d'autres tâches visuelles telles que la reconnaissance et la segmentation d'images.

Importance dans l'apprentissage profond

La convolution est une pierre angulaire de l'apprentissage profond (AP) moderne, en particulier pour les tâches impliquant des données en forme de grille. Sa capacité à exploiter la localité spatiale (en supposant que les pixels proches sont liés) et à partager les paramètres entre différents emplacements rend les CNN très efficaces et performants dans l'apprentissage des hiérarchies visuelles par rapport aux réseaux traditionnels entièrement connectés.

Outils et formation

La mise en œuvre et l'entraînement de modèles qui utilisent la convolution sont facilités par divers frameworks d'apprentissage profond. Des bibliothèques comme PyTorchPyTorch site officiel dePyTorch ) et TensorFlowTensorFlow site officiel deTensorFlow ) fournissent des outils robustes pour construire des CNN. Des plateformes comme Ultralytics HUB rationalisent le processus de formation des modèles, permettant aux utilisateurs d'exploiter des architectures préconstruites intégrant des convolutions ou de former des modèles personnalisés pour des applications spécifiques. Des API de haut niveau comme Keras simplifient encore davantage le développement.

Tout lire