Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Feature Pyramid Network (FPN)

Un réseau pyramidal de caractéristiques (FPN) fusionne des caractéristiques sémantiques profondes avec des caractéristiques fines à haute résolution afin que les détecteurs repèrent les objets petits comme grands.

Un réseau pyramidal de caractéristiques (FPN) est une architecture de neck qui transforme les cartes de caractéristiques multirésolution d’un backbone en une pyramide où chaque niveau porte une forte information sémantique et correspond à une plage de tailles d’objets. Présenté par Facebook AI Research dans Feature Pyramid Networks for Object Detection (CVPR 2017), il ajoute un chemin descendant et des connexions latérales à un réseau neuronal convolutif (CNN) standard, afin que les petits objets puissent être détectés sur des niveaux à haute résolution qui conservent les connaissances des couches profondes sur l’apparence des objets. Les FPN et leurs successeurs se placent entre le backbone et la tête de détection dans la plupart des architectures modernes de détection d’objets et des modèles de segmentation d’instances.

Pourquoi les détecteurs ont besoin de caractéristiques multi-échelles#

Un backbone CNN réduit la résolution à mesure qu’il s’approfondit ; sa dernière carte de caractéristiques a donc une forte sémantique et une résolution grossière : avec un pas de 32, un objet de 20 pixels couvre moins d’une cellule de la grille. Ses premières cartes de caractéristiques conservent les détails spatiaux fins et réagissent principalement aux contours et aux textures. Avant FPN, les détecteurs avaient trois options, chacune avec un coût. Exécuter le réseau sur une pyramide d’images à plusieurs échelles est précis, mais plusieurs fois plus lent. Prédire uniquement à partir de la dernière carte, comme le faisait le Faster R-CNN original, est rapide, mais peu performant sur les petits objets. Prédire à partir de plusieurs étapes du backbone, comme le fait SSD, commence haut dans le réseau pour éviter les caractéristiques de bas niveau peu fiables et passe donc à côté des cartes haute résolution nécessaires aux petits objets. FPN offre la couverture multi-échelle d’une pyramide d’images en une seule passe avant ; Faster R-CNN avec FPN a établi un nouvel état de l’art pour un modèle unique en détection sur COCO, tout en atteignant 5 images par seconde sur un GPU.

Fonctionnement d’un FPN#

Un FPN construit sa pyramide en trois étapes :

  1. Chemin ascendant : la passe avant habituelle du backbone. FPN récupère la dernière carte de caractéristiques de chaque étape, désignées de C2 à C5 aux pas de 4, 8, 16 et 32 dans un ResNet.
  2. Chemin descendant : en partant du niveau le plus grossier, chaque carte est suréchantillonnée d’un facteur 2 par interpolation au plus proche voisin, ce qui propage la sémantique de haut niveau vers les niveaux plus fins.
  3. Connexions latérales : une convolution 1×1 ramène chaque carte du backbone à une largeur commune de 256 canaux ; le résultat est ajouté élément par élément à la carte suréchantillonnée du niveau supérieur, puis une convolution 3×3 lisse la somme pour réduire les artefacts de suréchantillonnage. Les sorties, de P2 à P5, ont toutes 256 canaux, ce qui permet à une seule tête de prédiction aux poids partagés de s’exécuter à chaque niveau.

Torchvision fournit un module FeaturePyramidNetwork prêt à l’emploi, qui prend les cartes du backbone sous forme de dictionnaire ordonné.

from collections import OrderedDict

import torch
from torchvision.ops import FeaturePyramidNetwork

# Sorties du backbone pour une image de 640x640 aux pas de 8, 16 et 32 (nombres de canaux de ResNet-50)
features = OrderedDict(
    c3=torch.randn(1, 512, 80, 80),
    c4=torch.randn(1, 1024, 40, 40),
    c5=torch.randn(1, 2048, 20, 20),
)

# Les convolutions latérales 1x1 et le chemin descendant donnent 256 canaux à chaque niveau
fpn = FeaturePyramidNetwork(in_channels_list=[512, 1024, 2048], out_channels=256)
pyramid = fpn(features)

for name, level in pyramid.items():
    print(name, tuple(level.shape))

Le code affiche c3 (1, 256, 80, 80), c4 (1, 256, 40, 40) et c5 (1, 256, 20, 20) : chaque niveau conserve sa taille spatiale et les trois partagent désormais la même largeur de canaux, ce qui permet à une seule tête de traiter toutes les échelles.

Applications#

  • Imagerie aérienne et satellite : les véhicules, les personnes et les bâtiments dans l’analyse d’images satellite et les séquences de drones ne couvrent souvent que quelques pixels ; les détecteurs s’appuient donc sur les niveaux de pas 4 et 8 de la pyramide.
  • Segmentation d’instances : Mask R-CNN, disponible dans Detectron2, attribue chaque région à un niveau de la pyramide en fonction de sa taille avant de prédire sa boîte et son masque.
  • Segmentation panoptique : Panoptic FPN ajoute à la même pyramide une branche de segmentation sémantique, qui étiquette des éléments non dénombrables comme la route et le ciel, en plus des objets dénombrables.
  • Véhicules autonomes : une seule image de caméra peut contenir des camions proches qui occupent la moitié de l’image, ainsi que des piétons et des feux de circulation éloignés, hauts de quelques pixels.

FPN face à PANet, BiFPN et aux autres necks#

Le chemin descendant de FPN a donné naissance à une famille de necks qui modifient la circulation de l’information entre les niveaux :

  • PANet : ajoute un chemin ascendant après le chemin descendant de FPN, ce qui raccourcit le parcours entre les caractéristiques fines et bien localisées et les niveaux supérieurs. PANet a remporté la première place du défi de segmentation d’instances COCO 2017.
  • BiFPN : le neck d’EfficientDet répète plusieurs fois la fusion descendante et ascendante, supprime les nœuds qui n’ont qu’une seule entrée et apprend un poids pour chaque entrée fusionnée.
  • NAS-FPN : une disposition de pyramide trouvée par recherche d’architecture neuronale et empilée plusieurs fois.
  • U-Net : fusionne également les caractéristiques grossières et fines au moyen de connexions de saut, puis effectue une seule prédiction à pleine résolution, ce qui convient davantage à la segmentation par pixel qu’à la détection multi-échelle.

YOLO26 utilise un neck FPN-plus-PAN qui fusionne les niveaux par concaténation : deux étapes de suréchantillonnage transmettent le contexte du pas 32 au niveau de pas 8, deux convolutions à pas ramènent les détails vers le haut, et la tête prédit à partir de P3, P4 et P5 aux pas de 8, 16 et 32. Sa variante yolo26-p2.yaml étend la pyramide avec un niveau P2 de pas 4 pour les très petits objets, ce qui fait passer le calcul non fusionné de YOLO26n de 6.1 à 9.5 GFLOPs.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique