Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Réseau de pyramides de caractéristiques (FPN)

Découvrez comment les Feature Pyramid Networks (FPN) permettent de détecter des objets à plusieurs échelles et d'améliorer la précision pour les objets de petite et de grande taille dans YOLO11 et les systèmes CV modernes.

Un réseau pyramidal (FPN) est une architecture spécialisée utilisée dans la vision par ordinateur (CV) pour améliorer la détection d'objets à différentes échelles. Il s'agit d'un composant essentiel dans de nombreuses architectures modernes de détection d'objets, conçues pour surmonter les limites des détecteurs traditionnels qui ont du mal à reconnaître les petits objets. En générant une pyramide de caractéristiques multi-échelles à partir d'une image d'entrée à résolution unique, les FPN permettent aux modèles de detect les grandes structures et les petits détails avec une grande précision. Cette architecture se situe généralement entre le backbone (qui extrait les caractéristiques) et la tête de détection (qui prédit les classes et les boîtes), enrichissant ainsi efficacement les informations sémantiques transmises aux couches finales.

Comprendre l'architecture FPN

L'objectif principal d'un FPN est d'exploiter la hiérarchie pyramidale multi-échelle inhérente aux réseaux neuronaux convolutifs profonds réseaux neuronaux convolutifs (CNN) tout en réduisant le coût de calcul associé au traitement séparé de plusieurs échelles d'images. L'architecture se compose de trois voies principales qui traitent les données visuelles :

  1. Voie ascendante: Il s'agit du calcul feed-forward du réseau principal, tel que réseaux résiduels (ResNet). À mesure que l'image se déplace à travers les couches, la résolution spatiale diminue (l'image devient plus petite) tandis que la valeur sémantique (le contexte de ce qui se trouve dans l'image) augmente.
  2. Voie descendante: cette étape génère des caractéristiques de plus haute résolution en suréchantillonnant des caractéristiques spatialement plus grossières, mais sémantiquement plus fortes. à partir des niveaux supérieurs de la pyramide à partir de niveaux pyramidaux supérieurs . Cela permet de récupérer les détails spatiaux perdus lors du processus ascendant.
  3. Connexions latérales: ces connexions fusionnent les cartes de caractéristiques suréchantillonnées provenant de la voie descendante avec les cartes de caractéristiques correspondantes provenant de la voie ascendante. Cette fusion combine un contexte sémantique de haut niveau avec des informations de bas niveau sur la texture et les contours, ce qui améliore considérablement la précision. Le document de recherche original sur le article de recherche sur le FPN démontre comment cette technique permet d'obtenir des résultats de pointe sur des benchmarks standard.

Importance dans l'IA moderne

Avant les FPN, les détecteurs d'objets devaient généralement choisir entre utiliser uniquement la couche supérieure (idéale pour les objets de grande taille, mais peu adaptée aux petits objets) ou traiter une pyramide d'images (lent et coûteux en termes de calcul). Les FPN offrent le « meilleur des deux mondes ». Cette capacité est essentielle pour l' l'inférence en temps réel, permettant à des modèles avancés tels que YOLO26 et YOLO11 de maintenir des fréquences d'images élevées tout en identifiant avec précision des objets qui n'occupent que quelques pixels de l'écran.

Applications concrètes

La capacité à traiter des données multi-échelles rend les FPN indispensables dans les différents secteurs d'activité qui dépendent de la technologie. l'intelligence artificielle (IA).

  • Véhicules autonomes: les systèmes de conduite autonome doivent track simultanément les track véhicules à proximité et les feux de circulation ou les piétons éloignés. Les FPN permettent à la pile de perception de traiter ces éléments au cours du même cycle d'inférence, garantissant ainsi que les décisions en matière de sécurité sont prises instantanément. Les principaux ensembles de données tels que le Waymo Open Dataset sont souvent utilisés pour former ces capacités multi-échelles .
  • Analyse d'images médicales: en imagerie diagnostique, l'identification des anomalies nécessite une précision à toutes les échelles. Une tumeur peut être une grosse masse ou un minuscule nodule à un stade précoce. Les FPN améliorent la modèles de segmentation d'images utilisés en radiologie, aidant les cliniciens detect de tailles variables sur les radiographies et les IRM, comme souvent évoqué dans les revues spécialisées en radiologie IA.

FPN vs BiFPN et PANet

Si le FPN a révolutionné l'extraction de caractéristiques, de nouvelles architectures ont affiné le concept.

  • BiFPN (réseau pyramidal bidirectionnel): utilisé dans EfficientDet, il introduit des poids apprenables pour apprendre l'importance des différentes caractéristiques d'entrée et ajoute des chemins ascendants aux chemins descendants existants.
  • PANet (Path Aggregation Network): souvent utilisé dans YOLO , PANet ajoute un chemin ascendant supplémentaire à la structure FPN afin de raccourcir le chemin d'information pour les caractéristiques de bas niveau, améliorant ainsi davantage la précision de la localisation .
  • YOLO Ultralytics : les itérations modernes telles que YOLO26 utilisent des variantes avancées de ces réseaux d'agrégation afin d'optimiser le compromis entre la vitesse et la précision moyenne (mAP).

Exemple de mise en œuvre

Les bibliothèques d'apprentissage profond et le Ultralytics gèrent en interne les complexités des FPN. L'exemple suivant montre comment charger un modèle qui utilise une structure pyramidale de caractéristiques pour detect .

from ultralytics import YOLO

# Load the YOLO26 model, which utilizes an advanced feature pyramid architecture
# The 'n' suffix stands for nano, a lightweight version of the model
model = YOLO("yolo26n.pt")

# Run inference on an image to detect objects ranging from small to large
# The model internally uses its FPN neck to aggregate features at multiple scales
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Display the resulting bounding boxes and class labels
results[0].show()

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant