Glossaire

Convolution

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

La convolution est une opération mathématique fondamentale largement utilisée en intelligence artificielle, en particulier dans le domaine de la vision artificielle (CV). 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 (tels que des bords, des textures ou des formes) que le noyau est conçu pour détecter.

Comment fonctionne la convolution

Le processus de convolution est comparable au glissement d'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 zone de l'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 résultante. 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 convolutive, un CNN peut extraire simultanément un ensemble varié de caractéristiques de l'entrée. Des explications visuelles, telles que celles trouvées 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. Un pas plus grand 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 plus efficacement les pixels de bordure.
  • 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), afin d'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 une fonction distincte :

  • 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 en termes de calcul et plus résistant aux variations de l'emplacement des caractéristiques. Contrairement à la convolution qui extrait les caractéristiques, le pooling résume les caractéristiques au sein d'une région. Pour plus de détails, vous pouvez consulter une vue d'ensemble des méthodes de regroupement.
  • 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 d'intelligence artificielle :

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. Les modèles de pointe comme Ultralytics YOLO, y compris des versions comme YOLO11, dépendent fortement des convolutions pour analyser les caractéristiques à différentes échelles pour une détection efficace et précise. Cela est essentiel pour les applications de l 'IA dans l'automobile, notamment pour permettre aux voitures autonomes(voir la technologie de Waymo) de percevoir les piétons, les véhicules et les panneaux de signalisation afin de naviguer en toute sécurité, 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 scanners 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. En savoir plus sur 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 de l'apprentissage profond

La convolution est une pierre angulaire de l'apprentissage profond 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 pour l'apprentissage des hiérarchies visuelles par rapport aux réseaux traditionnels entièrement connectés.

Outils et formation

L'implémentation et l'entraînement de modèles utilisant la convolution sont facilités par divers frameworks d'apprentissage profond. Des bibliothèques comme PyTorch(site officiel de PyTorch) et TensorFlow(site officiel de TensorFlow) fournissent des outils robustes pour construire des CNN. Des plateformes comme Ultralytics HUB rationalisent le processus d'apprentissage des modèles, permettant aux utilisateurs d'exploiter des architectures préconstruites intégrant des convolutions ou d'apprendre des modèles personnalisés pour des applications spécifiques. Des API de haut niveau comme Keras simplifient encore le développement.

Rejoindre la communauté Ultralytics

Rejoignez l'avenir de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

S'inscrire
Lien copié dans le presse-papiers