Feature Pyramid Network (FPN)
Explore comment les réseaux de pyramides de caractéristiques (FPN) améliorent la détection d'objets multi-échelle. Apprends comment Ultralytics YOLO26 utilise des FPN avancés pour détecter les petits et grands objets.
Un Feature Pyramid Network (FPN) est un composant architectural spécialisé utilisé dans les systèmes modernes de computer vision (CV) pour améliorer la détection d'objets à diverses échelles. Il résout efficacement un défi de longue date dans l'analyse d'images : reconnaître à la fois les grandes structures proéminentes et les minuscules détails distants au sein d'une même image. En générant une représentation multi-échelle de l'entrée — conceptuellement similaire à une pyramide — les FPN permettent aux réseaux de neurones d'extraire des informations sémantiques riches à chaque niveau de résolution. Cette architecture se situe généralement entre le backbone, qui extrait les caractéristiques brutes, et la detection head, qui prédit les classes d'objets et les boîtes englobantes.
Link to this sectionComment fonctionnent les Feature Pyramid Networks#
L'innovation fondamentale du FPN réside dans sa manière de traiter l'information. Les Convolutional Neural Networks (CNNs) traditionnels créent naturellement une hiérarchie de caractéristiques où l'image d'entrée est progressivement sous-échantillonnée. Bien que cela approfondisse la compréhension sémantique (savoir ce qu'il y a dans l'image), cela dégrade souvent la résolution spatiale (savoir exactement où cela se trouve), faisant disparaître les petits objets.
Les FPN traitent ce problème via un processus en trois étapes :
-
Bottom-Up Pathway : Il s'agit du passage de transmission directe standard du réseau, tel qu'un Residual Network (ResNet). À mesure que le réseau traite l'image, il crée des feature maps qui diminuent en taille mais augmentent en valeur sémantique.
-
Top-Down Pathway : Le réseau construit une pyramide à plus haute résolution en sur-échantillonnant les caractéristiques sémantiquement riches issues des couches plus profondes. Cette étape « hallucine » un contexte fort pour le réinjecter dans les cartes spatiales plus larges.
-
Lateral Connections : Pour récupérer les détails nets perdus lors du sous-échantillonnage, les FPN fusionnent les caractéristiques sur-échantillonnées avec les cartes originales à haute résolution provenant du chemin ascendant via des connexions latérales.
Cette combinaison aboutit à une pyramide où chaque niveau possède une sémantique forte et une bonne localisation, augmentant considérablement la precision et le recall pour toutes les tailles d'objets.
Link to this sectionImportance dans les architectures de détection d'objets#
Les FPN sont une pierre angulaire des object detection architectures modernes. Avant leur introduction, les modèles devaient choisir entre la vitesse (en utilisant uniquement la couche finale) ou la précision (en traitant une pyramide d'images, ce qui est très lent). Les FPN offrent une solution combinant le meilleur des deux mondes, permettant une real-time inference sans sacrifier les capacités de détection des petits objets.
Cette efficacité est cruciale pour des modèles avancés comme YOLO26, qui utilise des réseaux d'agrégation sophistiqués inspirés des principes des FPN (comme PANet) pour atteindre des performances de pointe. L'architecture garantit que, que le modèle soit déployé sur des appareils de périphérie ou des serveurs puissants via la Ultralytics Platform, il maintient une haute précision sur des jeux de données variés.
Link to this sectionApplications concrètes#
La capacité multi-échelle des FPN les rend indispensables dans les secteurs où la sécurité et la précision sont primordiales.
- AI in Automotive : Les véhicules autonomes doivent suivre simultanément les gros camions à proximité et les petits feux de circulation ou piétons au loin. Les FPN permettent à la pile de perception de traiter ces échelles disparates en une seule passe, assurant une prise de décision rapide. Des jeux de données comme nuScenes sont souvent utilisés pour évaluer ces capacités.
- Medical Image Analysis : En imagerie diagnostique, la détection des pathologies nécessite de repérer des anomalies dont la taille varie énormément. Un modèle équipé d'un FPN peut identifier à la fois les grandes structures organiques et les minuscules tumeurs au stade précoce dans des MRI scans, aidant les radiologues à établir des diagnostics précis.
- AI in Agriculture : L'agriculture de précision repose sur la détection des cultures et des nuisibles à partir d'images de drones. Comme l'altitude du drone peut varier, la taille des plantes dans l'image change. Les FPN aident les modèles à bien se généraliser, effectuant avec précision le object counting quelle que soit la hauteur de la caméra.
Link to this sectionFPN vs. Autres agrégateurs de caractéristiques#
Il est utile de distinguer le FPN standard de ses variantes évoluées présentes dans les architectures plus récentes.
- FPN vs. PANet : Alors que le FPN ajoute un chemin descendant pour enrichir les caractéristiques, le Path Aggregation Network (PANet) ajoute un chemin ascendant supplémentaire au-dessus du FPN. Cela raccourcit le chemin d'information pour les caractéristiques de bas niveau, améliorant encore la localisation, une technique souvent adaptée dans les modèles YOLO.
- FPN vs. BiFPN : Trouvé dans EfficientDet, le Bi-directional Feature Pyramid Network (BiFPN) introduit des poids apprenables aux différentes caractéristiques et supprime les nœuds avec une seule entrée, optimisant le réseau pour l'efficacité.
Link to this sectionExemple pratique#
Des bibliothèques avancées comme ultralytics gèrent la complexité de la construction des FPN en interne. Lorsque tu charges un modèle comme YOLO26, l'architecture inclut automatiquement ces couches d'agrégation de caractéristiques pour maximiser les performances.
from ultralytics import YOLO
# Load the YOLO26 model, which uses advanced feature pyramid principles internally
# The 'n' suffix indicates the nano version, optimized for speed
model = YOLO("yolo26n.pt")
# Perform inference on an image containing objects of various sizes
# The model's neck (FPN-based) aggregates features to detect small and large items
results = model("https://ultralytics.com/images/bus.jpg")
# Display results to see bounding boxes around buses (large) and people (small)
results[0].show()





