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.
Le réseau Feature Pyramid Network (FPN) est une architecture fondamentale dans les systèmes modernes d'information. vision par ordinateur (VPI) moderne, conçue pour detect objets à différentes échelles avec une grande précision. Les réseaux d'apprentissage profond (DL) traditionnels ont souvent du mal à reconnaître les petits objets parce qu'ils s'appuient sur des couches profondes où la résolution spatiale est perdue. FPN résout ce problème en construisant une structure pyramidale de couches profondes. en construisant une structure pyramidale de cartes de caractéristiques qui combine des caractéristiques à faible résolution et sémantiquement fortes avec des caractéristiques à haute résolution et spatialement détaillées. Cette conception agit comme un de nombreuses cartes d'entités. architectures de détection d'objetsElle relie l'extracteur de caractéristiques initial, connu sous le nom d'extracteur d'objets, à l'extracteur d'images. colonne vertébrale-aux couches de prédiction finales, ou le tête de détection. En partageant efficacement les informations entre les différents niveaux, les FPN permettent de créer des modèles tels que YOLO11 d'identifier avec précision à la fois de minuscules détails éloignés et de grands sujets proéminents au sein d'une même image, détails minuscules et éloignés et les sujets importants et proéminents dans une seule image.
L'innovation principale d'un réseau Feature Pyramid réside dans la manière dont il traite les informations visuelles en trois étapes distinctes. distinctes. Cette structure permet au réseau de conserver une représentation riche de l'image à travers plusieurs résolutions sans engendrer de coûts de calcul importants.
Dans le monde réel, les objets apparaissent dans des tailles très différentes en fonction de leur distance par rapport à la caméra. A classificateur standard pourrait facilement repérer une voiture remplissant le cadre, mais ne pas detect un piéton à l'arrière-plan. Les FPN résolvent ce problème en assignant des tâches de prédiction à différents niveaux de la pyramide. Les objets de grande taille sont détectés sur les cartes de caractéristiques profondes à basse résolution. Les grands objets sont détectés sur les cartes de caractéristiques profondes à basse résolution, tandis que les petits objets sont détectés sur les cartes de caractéristiques fusionnées à haute résolution. Cette capacité Cette capacité est essentielle pour obtenir une précision et rappel dans divers environnements, distinguer les modèles équipés de FPN des anciens détecteurs à échelle unique.
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).
Si les FPN ont révolutionné l'extraction de caractéristiques, des architectures plus récentes ont affiné le concept. Une évolution notable est le Bi-directional Feature Pyramid Network (BiFPN), introduit par Google Research dans l'architecture EfficientDet. Contrairement au FPN standard qui circule dans un seul sens (du haut vers le bas), BiFPN ajoute des chemins du bas vers le haut et apprend des poids spécifiques pour chaque connexion, en donnant la priorité aux caractéristiques les plus importantes. pour chaque connexion, en donnant la priorité aux caractéristiques les plus importantes. Cependant, les conceptions FPN standard et leurs variantes restent la pour les modèles à haute performance tels que le YOLO11qui permettent d'équilibrer efficacement la vitesse et la précision pour la plupart des l'inférence en temps réel d'inférence en temps réel.
Les bibliothèques modernes gèrent les complexités des FPN en interne. L'exemple suivant montre l'utilisation de la bibliothèque Ultralytics YOLO d'Ultralytics, qui incorpore des structures pyramidales avancées pour detect objets de toutes tailles de manière transparente.
from ultralytics import YOLO
# Load the YOLO11 model, which utilizes a feature pyramid architecture for multi-scale detection
model = YOLO("yolo11n.pt")
# Run inference on an image to detect objects ranging from small to large
results = model.predict("path/to/street_scene.jpg")
# Display the resulting bounding boxes and class labels
results[0].show()