Convolutional Neural Network (CNN)
Explore comment les réseaux neuronaux convolutifs (CNN) alimentent la vision par ordinateur moderne. Découvre leurs couches, leurs applications et comment exécuter Ultralytics YOLO26 pour l'IA en temps réel.
Un réseau neuronal convolutif (CNN) est une architecture spécialisée d'apprentissage profond conçue pour traiter des données dotées d'une topologie en grille, notamment les images numériques. Inspirés de la structure biologique du cortex visuel, les CNN sont particulièrement capables de préserver les relations spatiales au sein des données d'entrée. Contrairement aux réseaux neuronaux traditionnels qui aplatissent une image en une longue liste de nombres, les CNN analysent de petites régions qui se chevauchent afin d'apprendre automatiquement des hiérarchies de caractéristiques, des contours et textures simples jusqu'aux formes et objets complexes. Cette capacité en fait la technologie fondamentale des systèmes modernes de vision par ordinateur (CV).
Fonctionnement des réseaux neuronaux convolutifs#
La puissance d'un CNN réside dans sa capacité à réduire une image complexe à une forme plus facile à traiter, sans perdre les caractéristiques essentielles à l'obtention d'une bonne prédiction. Cette opération s'effectue au moyen d'un pipeline de couches distinctes qui transforment le volume d'entrée en une classe ou une valeur de sortie :
- Couche de convolution : Il s'agit du composant central. Elle utilise un ensemble de filtres apprenables (ou noyaux) qui se déplacent sur l'image d'entrée comme le faisceau d'une lampe torche. À chaque position, le filtre effectue une opération mathématique appelée convolution, créant une carte de caractéristiques qui met en évidence des motifs précis, tels que des lignes horizontales ou des dégradés de couleur.
- Fonction d'activation : Après la convolution, une fonction non linéaire est appliquée à la sortie. Le choix le plus courant est la ReLU (unité linéaire rectifiée), qui transforme les valeurs de pixel négatives en zéros. Cela introduit de la non-linéarité, permettant au réseau d'apprendre des motifs complexes au-delà des simples relations linéaires.
- Couche de pooling : Également appelée sous-échantillonnage, cette couche réduit la dimensionnalité des cartes de caractéristiques. Des techniques telles que le max pooling ne conservent que les caractéristiques les plus importantes (les valeurs les plus élevées) d'une région, ce qui réduit la charge de calcul et contribue à prévenir le surapprentissage.
- Couche entièrement connectée : Lors de l'étape finale, les caractéristiques traitées sont aplaties et transmises à un réseau neuronal (NN) standard. Cette couche utilise les caractéristiques de haut niveau identifiées par les couches précédentes pour effectuer une classification ou une prédiction finale, comme « chat » ou « chien ».
Applications concrètes#
Les CNN ont transformé les secteurs d'activité en automatisant des tâches visuelles avec une précision surhumaine.
- Diagnostic médical : Dans le domaine de la santé, les CNN aident les radiologues à identifier les anomalies sur les examens médicaux plus rapidement que l'œil humain. Par exemple, les modèles d'apprentissage profond analysent les examens IRM et scanner pour détecter les premiers signes de tumeurs ou de fractures. Les recherches sur l'IA en radiologie montrent comment ces outils améliorent la cohérence et la rapidité des diagnostics.
- Systèmes autonomes : Les voitures autonomes s'appuient largement sur les CNN pour percevoir leur environnement. Des modèles comme YOLO26 utilisent des architectures CNN efficaces comme réseaux dorsaux pour effectuer une détection d'objets en temps réel, en identifiant les piétons, les panneaux de signalisation et les autres véhicules afin de prendre des décisions de conduite en une fraction de seconde.
CNN ou Transformers de vision (ViT)#
Bien que les CNN soient depuis longtemps la référence pour les tâches de vision, une architecture plus récente appelée Transformer de vision (ViT) a fait son apparition.
- Les CNN traitent les images à l'aide de caractéristiques locales et sont très efficaces sur les jeux de données de petite taille grâce à leur « biais inductif » (ils supposent que les pixels voisins sont liés). Ils excellent dans les scénarios nécessitant une inférence en temps réel sur des appareils edge.
- Les ViT découpent les images en patchs et les traitent à l'aide de mécanismes globaux d'auto-attention. Cela leur permet de capturer les dépendances à longue portée dans une image, mais leur entraînement efficace nécessite généralement d'immenses jeux de données et davantage de puissance de calcul.
Exemple d’implémentation#
Les bibliothèques modernes facilitent l'utilisation de modèles basés sur les CNN. Le package ultralytics donne accès à des modèles de pointe tels que YOLO26, qui intègrent des architectures CNN hautement optimisées pour une inférence rapide.
L'exemple suivant montre comment charger un modèle CNN préentraîné et effectuer une prédiction :
from ultralytics import YOLO
# Load a YOLO26 model, which uses an advanced CNN architecture
model = YOLO("yolo26n.pt")
# Run inference on an image to identify objects
results = model("https://ultralytics.com/images/bus.jpg")
# Display the prediction results
results[0].show()Outils de développement#
Le développement de CNN est soutenu par un écosystème robuste d'outils open source. Les ingénieurs utilisent généralement des frameworks tels que PyTorch ou TensorFlow pour créer des architectures personnalisées. Ces bibliothèques fournissent les opérations de bas niveau sur les tenseurs nécessaires à la convolution et à la rétropropagation.
Pour les équipes qui souhaitent rationaliser le cycle de vie des projets de vision par ordinateur, de la collecte de données au déploiement, l'Ultralytics Platform offre une solution complète. Elle simplifie les workflows complexes, permettant aux développeurs de se concentrer sur l'application des CNN à la résolution de problèmes métier plutôt que sur la gestion de l'infrastructure. En outre, les modèles peuvent être exportés dans des formats tels que ONNX ou TensorRT pour un déploiement haute performance sur des appareils edge.









