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 fondamentale dans l'apprentissage profond (DL), en particulier dans le domaine de la vision par ordinateur (CV). Elle constitue le principal élément constitutif des réseaux neuronaux convolutifs (CNN), permettant aux modèles d'apprendre automatiquement et efficacement des caractéristiques hiérarchiques à partir de données sous forme de grille, telles que des images. Le processus consiste à faire glisser un petit filtre, appelé noyau, sur une image d'entrée pour produire des cartes de caractéristiques qui mettent en évidence des motifs spécifiques tels que les bords, les textures ou les formes. Cette méthode s'inspire de l'organisation du cortex visuel animal et est très efficace pour les tâches où les relations spatiales entre les points de données sont importantes.
La convolution est la pierre angulaire de la vision par ordinateur moderne. Des modèles comme Ultralytics YOLO utilisent largement les couches convolutives dans leurs architectures de base pour une extraction puissante des caractéristiques. Cela permet un large éventail d'applications, de la détection d'objets et de la segmentation d'images à des tâches plus complexes. L'efficacité et l'efficience de la convolution en ont fait la méthode de référence pour le traitement des images et d'autres données spatiales, formant la base de nombreuses architectures de pointe détaillées dans des ressources telles que l'histoire des modèles de vision.
Il est utile de distinguer la convolution des autres opérations des réseaux neuronaux :
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 API de haut niveau telles que Keras simplifient encore le développement.
Pour une expérience simplifiée, des plateformes comme Ultralytics HUB permettent aux utilisateurs de gérer des ensembles de données, d'effectuer l'entraînement de modèles et de déployer des modèles puissants comme YOLO11 en toute simplicité. La compréhension des concepts fondamentaux tels que la convolution, la taille du noyau, l'enjambement, le remplissage et le champ réceptif qui en résulte est cruciale pour un apprentissage efficace du modèle et la conception de l'architecture.
Comment fonctionne la convolution
À la base, une convolution est une opération mathématique qui fusionne deux ensembles d'informations. Dans le contexte d'un CNN, elle combine les données d'entrée (les valeurs des pixels d'une image) avec un noyau. Le noyau est une petite matrice de poids qui agit comme un détecteur de caractéristiques. Ce noyau glisse sur la hauteur et la largeur de l'image d'entrée et, à chaque position, il effectue une multiplication par élément avec la partie de l'image qui se chevauche. Les résultats sont additionnés pour créer un seul pixel dans la carte de caractéristiques de sortie. Ce processus de glissement est répété sur l'ensemble de l'image.
En utilisant différents noyaux, un CNN peut apprendre à détecter un large éventail de caractéristiques. Les premières couches peuvent apprendre à reconnaître des motifs simples tels que les bords et les couleurs, tandis que les couches plus profondes peuvent combiner ces caractéristiques de base pour identifier des structures plus complexes telles que des yeux, des roues ou du texte. C'est cette capacité à construire une hiérarchie de caractéristiques visuelles qui confère aux CNN leur puissance dans les tâches de vision. Ce processus est rendu efficace sur le plan informatique grâce à deux principes clés :