Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Convolution

Découvrez les principes fondamentaux de la convolution dans la vision par ordinateur et l'apprentissage profond. Découvrez comment les noyaux et les cartes de caractéristiques alimentent Ultralytics pour les tâches en temps réel.

La convolution est une opération mathématique fondamentale qui sert de base aux systèmes modernes de vision par ordinateur (CV) et d' apprentissage profond (DL). Dans le contexte du traitement d'images, la convolution consiste à faire glisser un petit filtre, souvent appelé noyau, sur une image d'entrée afin de créer une carte des caractéristiques significatives. Ce processus permet aux modèles d'intelligence artificielle (IA) d' apprendre et d'identifier automatiquement des motifs tels que les contours, les textures et les formes sans intervention humaine. Contrairement à l' apprentissage automatique (ML) traditionnel qui nécessite souvent l' extraction manuelle des caractéristiques, la convolution permet aux réseaux de construire une compréhension hiérarchique des données visuelles, en partant de lignes simples pour progresser vers des objets complexes tels que des visages ou des véhicules.

Comment fonctionne la convolution ?

L'opération fonctionne en passant un filtre sur les données d'entrée, en effectuant une multiplication élément par élément et en additionnant les résultats pour produire une valeur unique pour chaque position. Cette sortie est connue sous le nom de carte de caractéristiques.

  • Le noyau : il s'agit d'une petite matrice de nombres (poids) qui détecte des caractéristiques spécifiques. Par exemple, un opérateur Sobel est un type spécifique de noyau utilisé pour detect les bords detect ou horizontaux.
  • Fenêtre glissante : le noyau se déplace sur l'image en utilisant une taille de pas définie appelée « stride ». Ce processus de filtrage spatial préserve la relation entre les pixels, ce qui est crucial pour comprendre les images.
  • Hiérarchie des couches : dans les architectures profondes telles que les réseaux neuronaux convolutifs (CNN), les couches initiales capturent les détails de bas niveau, tandis que les couches plus profondes les combinent en concepts de haut niveau.

Convolution vs concepts connexes

Pour bien comprendre la convolution, il est utile de la distinguer d'autres termes similaires souvent rencontrés dans la littérature sur les réseaux neuronaux (NN):

  • Corrélation croisée vs convolution : mathématiquement, la véritable convolution implique de retourner le noyau avant de l'appliquer. Cependant, la plupart des frameworks d'apprentissage profond, y compris PyTorch , implémentent la corrélation croisée (glissement sans retournement), mais la nomment « convolution » car les poids sont appris pendant l'entraînement, rendant la distinction entre retournement et non-retournement sans importance pour les performances.
  • Convolution vs attention : alors que la convolution traite les informations localement (pixels voisins), le mécanisme d'attention permet à un modèle de relier simultanément des parties éloignées d'une image. Les architectures modernes telles que YOLO26 utilisent souvent des couches convolutives hautement optimisées pour maintenir des vitesses d'inférence en temps réel, car les couches d'attention peuvent être plus lourdes en termes de calcul.

Applications concrètes

L'efficacité de la convolution a permis à l'IA de révolutionner divers secteurs en alimentant des systèmes de perception robustes :

  1. Diagnostic médical : dans le domaine de l' IA appliquée à la santé, la convolution aide à analyser les IRM haute résolution. En utilisant des noyaux spécifiques conçus pour mettre en évidence les anomalies, les modèles peuvent detect les detect signes de tumeurs ou de fractures avec une précision qui rivalise avec celle des experts humains.
  2. Navigation autonome : les véhicules autonomes s'appuient sur la convolution pour la détection d'objets en temps réel. Au fur et à mesure que la voiture se déplace, les couches convolutives traitent les flux vidéo pour identifier instantanément les piétons, les marquages au sol et les panneaux de signalisation, un composant essentiel de l'IA dans la sécurité automobile.

Python avec Ultralytics

Vous pouvez inspecter les couches convolutives dans les modèles de pointe à l'aide de Python. L'exemple suivant charge le fichier YOLO26 modèle et vérifie que sa couche initiale utilise une opération convolutive standard, qui est mise en œuvre via torch.nn.

import torch.nn as nn
from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Access the first layer of the model's backbone
first_layer = model.model.model[0]

# Verify it is a Convolutional layer
if isinstance(first_layer.conv, nn.Conv2d):
    print("Success: The first layer is a standard convolution.")
    print(f"Kernel size: {first_layer.conv.kernel_size}")

Pourquoi la convolution est importante pour l'IA en périphérie

Les opérations convolutives sont hautement optimisables, ce qui les rend idéales pour les déploiements d'IA en périphérie où les ressources informatiques sont limitées. Étant donné que le même noyau est partagé sur l'ensemble de l'image (partage de paramètres), le modèle nécessite beaucoup moins de mémoire que les anciennes architectures entièrement connectées. Cette efficacité permet aux modèles avancés de fonctionner sur des smartphones et des appareils IoT.

Pour les équipes qui souhaitent exploiter ces opérations pour des ensembles de données personnalisés, Ultralytics offre un environnement fluide pour annoter des images et former des modèles basés sur la convolution sans avoir à gérer une infrastructure complexe. En utilisant l' apprentissage par transfert, vous pouvez affiner les poids convolutifs pré-entraînés afin de reconnaître de nouveaux objets avec un minimum de données d'entraînement.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant