Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Rete piramidale di caratteristiche (FPN)

Scopri come le reti Feature Pyramid Networks (FPN) migliorano il rilevamento di oggetti su più scale. Scopri come Ultralytics utilizza FPN avanzate per detect oggetti detect e grandi.

Una Feature Pyramid Network (FPN) è un componente architettonico specializzato utilizzato nella moderna sistemi di visione artificiale (CV) per migliorare il rilevamento di oggetti su varie scale. Risolve efficacemente una sfida di lunga data nell'analisi delle immagini: riconoscere sia strutture grandi e prominenti che dettagli minuscoli e distanti all'interno della stessa immagine. Generando una rappresentazione multiscala dell'input, concettualmente simile a una piramide, le FPN consentono alle reti neurali di estrarre ricche informazioni semantiche a ogni livello di risoluzione. Questa architettura si trova tipicamente tra la backbone, che estrae le caratteristiche grezze, e la testa di rilevamento, che prevede le classi di oggetti e i riquadri di delimitazione.

Come funzionano le reti piramidali di funzionalità

L'innovazione principale della FPN risiede nel modo in cui elabora le informazioni. Le tradizionali reti neurali convoluzionali (CNN) creano naturalmente una gerarchia di caratteristiche in cui l'immagine in ingresso viene progressivamente sottoposta a downsampling. Sebbene ciò approfondisca la comprensione semantica (sapere cosa c'è nell'immagine), spesso degrada la risoluzione spaziale (sapere esattamente dove si trova), facendo scomparire i piccoli oggetti.

Gli FPN affrontano questo problema attraverso un processo in tre fasi:

  1. Percorso bottom-up: si tratta del passaggio feed-forward standard della rete, come ad esempio una rete residuale (ResNet). Man mano che la rete elabora l'immagine, crea mappe di caratteristiche che diminuiscono di dimensioni ma aumentano di valore semantico.
  2. Percorso top-down: la rete costruisce una piramide ad alta risoluzione mediante il campionamento delle caratteristiche semanticamente ricche provenienti dagli strati più profondi. Questo passaggio "allucina" un contesto forte in mappe spaziali più grandi .
  3. Connessioni laterali: per recuperare i dettagli nitidi persi durante il downsampling, le FPN fondono le caratteristiche sottoposte a upsampling con le mappe originali ad alta risoluzione dal percorso bottom-up tramite connessioni laterali.

Questa combinazione dà vita a una piramide in cui ogni livello ha una forte semantica e una buona localizzazione, aumentando significativamente la precisione e il richiamo per tutte le dimensioni degli oggetti.

Importanza nelle architetture di rilevamento degli oggetti

Gli FPN sono una pietra miliare delle moderne architetture di rilevamento degli oggetti. Prima della loro introduzione, i modelli dovevano scegliere tra velocità (utilizzando solo il livello finale) o accuratezza (elaborando una piramide di immagini, che è molto lenta). Gli FPN forniscono una soluzione che offre il meglio di entrambi i mondi, consentendo inferenza in tempo reale senza sacrificare le capacità di rilevamento di piccoli oggetti.

Questa efficienza è fondamentale per modelli avanzati come YOLO26, che utilizza sofisticate reti di aggregazione ispirate ai principi FPN (come PANet) per ottenere prestazioni all'avanguardia. L'architettura garantisce che, indipendentemente dal fatto che il modello sia implementato su dispositivi edge o su potenti server tramite la Ultralytics , mantenga un'elevata precisione su diversi set di dati.

Applicazioni nel mondo reale

La capacità multiscala delle FPN le rende indispensabili nei settori in cui la sicurezza e la precisione sono fondamentali.

  • L'intelligenza artificiale nel settore automobilistico: i veicoli autonomi devono track contemporaneamente sia i track camion nelle vicinanze che i piccoli semafori o i pedoni in lontananza. Gli FPN consentono allo stack di percezione di elaborare queste scale disparate in un unico passaggio, garantendo un processo decisionale tempestivo. Set di dati come nuScenes sono spesso utilizzati per valutare queste capacità.
  • Analisi delle immagini mediche: nell'imaging diagnostico, l'individuazione delle patologie richiede il rilevamento di anomalie che variano notevolmente in termini di dimensioni. Un modello dotato di FPN è in grado di identificare sia le grandi strutture degli organi che i tumori minuscoli in fase iniziale nelle scansioni MRI, aiutando i radiologi a formulare diagnosi accurate.
  • L'intelligenza artificiale in agricoltura: l'agricoltura di precisione si basa sul rilevamento delle colture e dei parassiti tramite immagini riprese dai droni. Poiché l'altitudine del drone può variare, le dimensioni delle piante nell'immagine cambiano. Gli FPN aiutano i modelli a generalizzare bene, eseguendo con precisione il il conteggio degli oggetti indipendentemente dall' altezza della telecamera.

FPN rispetto ad altri aggregatori di funzionalità

È utile distinguere l'FPN standard dalle sue varianti evolute presenti nelle architetture più recenti.

  • FPN vs. PANet: mentre FPN aggiunge un percorso top-down per arricchire le caratteristiche, Path Aggregation Network (PANet) aggiunge un ulteriore percorso bottom-up al FPN. Questo accorcia il percorso delle informazioni per le caratteristiche di basso livello, migliorando ulteriormente la localizzazione, una tecnica spesso adattata nei YOLO .
  • FPN vs. BiFPN: presente in EfficientDet, la Bi-directional Feature Pyramid Network (BiFPN) introduce pesi apprendibili per caratteristiche diverse e rimuove i nodi con un solo input, ottimizzando la rete in termini di efficienza.

Esempio pratico

Librerie avanzate come ultralytics gestire internamente la complessità della costruzione FPN. Quando si carica un modello come YOLO26, l'architettura include automaticamente questi livelli di aggregazione delle caratteristiche per massimizzare le prestazioni.

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()

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora