Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Two-Stage Object Detectors

I rilevatori di oggetti a due stadi propongono regioni candidate, quindi classificano e perfezionano ciascuna di esse. Scopri come funziona Faster R-CNN, la famiglia R-CNN e i compromessi.

I rilevatori di oggetti a due stadi sono modelli di rilevamento di oggetti che suddividono il compito in due passaggi: il primo propone regioni dell'immagine che potrebbero contenere un oggetto, mentre il secondo classifica ogni regione e perfeziona il relativo riquadro di delimitazione. La famiglia R-CNN ha definito questa architettura tra il 2014 e il 2018 e per anni ha guidato i benchmark di rilevamento e segmentazione delle istanze. I rilevatori di oggetti a uno stadio saltano il passaggio delle proposte e predicono ogni riquadro da una griglia densa in un solo passaggio, motivo per cui la maggior parte dei sistemi in tempo reale li utilizza.

Come funzionano i rilevatori a due stadi#

Una rete di base, ossia una rete neurale convoluzionale, calcola una sola volta le mappe di caratteristiche per l'intera immagine, di solito con una rete piramidale di caratteristiche (FPN) posta sopra la rete di base. Il primo stadio, una rete di proposte di regioni (RPN), assegna a un insieme di riquadri di ancoraggio in ogni posizione della mappa delle caratteristiche punteggi di confidenza relativi alla presenza di oggetti e stima per regressione gli offset che adattano i riquadri di ancoraggio; Faster R-CNN usa nove ancore per posizione, tre dimensioni per tre rapporti d'aspetto. La soppressione dei non massimi (NMS) elimina le proposte sovrapposte; le regioni con i punteggi più alti — 300 per immagine in fase di test, secondo l'articolo originale — passano al secondo stadio. Qui, RoI pooling o il suo successore più preciso, RoIAlign, ritaglia per ogni proposta una griglia di caratteristiche di dimensioni fisse; una piccola testa predice per ogni ritaglio una classe, inclusa la classe di sfondo, e gli offset dei riquadri specifici per classe.

Un forward hook sulla RPN di Faster R-CNN di torchvision mostra quanto lavoro riceve il secondo stadio:

import urllib.request

from PIL import Image
from torchvision.models.detection import FasterRCNN_ResNet50_FPN_V2_Weights, fasterrcnn_resnet50_fpn_v2

# Load Faster R-CNN with a ResNet-50 FPN backbone, pretrained on COCO
weights = FasterRCNN_ResNet50_FPN_V2_Weights.DEFAULT
model = fasterrcnn_resnet50_fpn_v2(weights=weights).eval()
image = Image.open(urllib.request.urlopen("https://ultralytics.com/images/bus.jpg"))

# Report how many regions the first stage, the region proposal network, passes on
model.rpn.register_forward_hook(lambda module, inputs, output: print(f"Stage 1: {len(output[0][0])} proposals"))

# The second stage classifies and refines every proposal
detections = model([weights.transforms()(image)])[0]
labels = detections["labels"][detections["scores"] > 0.5]
print(f"Stage 2: {len(labels)} objects {[weights.meta['categories'][i] for i in labels]}")

Stampa Stage 1: 1000 proposals e Stage 2: 6 objects ['person', 'bus', 'person', 'person', 'person', 'tie']: durante l'inferenza torchvision mantiene 1.000 proposte per immagine e il secondo stadio le trasforma in sei rilevamenti affidabili.

La famiglia R-CNN#

  • R-CNN (2014): La ricerca selettiva proponeva circa 2.000 regioni; ciascuna veniva ridimensionata a una dimensione fissa e passata separatamente alla CNN, mentre le macchine a vettori di supporto classificavano le caratteristiche. Di conseguenza, il rilevamento con backbone VGG-16 richiedeva 47 secondi per immagine su una GPU.
  • Fast R-CNN (2015): Calcolare una sola volta la mappa delle caratteristiche e ricavarne le caratteristiche di ogni proposta con RoI pooling consentiva di addestrare VGG-16 9 volte più velocemente rispetto a R-CNN e di eseguire i test 213 volte più velocemente.
  • Faster R-CNN (2015): La RPN ha sostituito la ricerca selettiva e condivide le caratteristiche del backbone, rendendo quasi nullo il costo delle proposte e consentendo al rilevatore completo di funzionare a 5 frame al secondo.
  • Mask R-CNN (2017): Un terzo ramo predice una maschera di pixel per ogni regione, trasformando il rilevatore in un modello di segmentazione delle istanze; RoIAlign campiona le caratteristiche in posizioni frazionarie esatte, che RoI pooling arrotondava.
  • Cascade R-CNN (2018): Tre teste del secondo stadio, addestrate con soglie IoU crescenti di 0.5, 0.6 e 0.7, perfezionano ciascuna i riquadri prodotti dalla testa precedente, migliorando la precisione della localizzazione.

Rilevatori a due stadi e a uno stadio a confronto#

La RPN elimina gran parte dello sfondo prima che lo veda il classificatore, quindi il secondo stadio si addestra su regioni campionate in cui gli oggetti costituiscono una quota fissa, pari al 25% in Fast R-CNN, e classifica ciascuna regione usando caratteristiche aggregate nella sua posizione esatta. I rilevatori a uno stadio assegnano un punteggio a ogni posizione di una griglia densa, circa 100.000 candidati per immagine in RetinaNet, e sono rimasti indietro in accuratezza rispetto a quelli a due stadi fino a quando la focal loss ha ridotto il peso dei candidati di sfondo più facili nel 2017. I modelli a uno stadio attuali eguagliano o superano l'accuratezza dei modelli a due stadi con una latenza molto inferiore; inoltre, una singola rete è più semplice da esportare su hardware edge, perciò oggi i modelli a due stadi si trovano soprattutto come baseline di ricerca e in librerie come Detectron2. auto_annotate di Ultralytics applica la stessa suddivisione proponi-poi-perfeziona con due modelli per l'annotazione dei dati: un rilevatore YOLO26 propone i riquadri e il Segment Anything Model (SAM) di Meta, guidato da ciascun riquadro, segmenta l'oggetto al suo interno per generare le etichette di segmentazione.

Applicazioni nel mondo reale#

  • Diagnostica per immagini: Le varianti di Mask R-CNN rilevano e contornano singole cellule, nuclei e lesioni in immagini microscopiche e scansioni TC, dove ogni istanza richiede una propria maschera per il conteggio e la misurazione.
  • Analisi del layout dei documenti: Il benchmark PubLayNet, composto da oltre 360.000 immagini di pagine, è stato usato per addestrare modelli Faster R-CNN e Mask R-CNN a individuare blocchi di testo, titoli, elenchi, tabelle e figure prima del riconoscimento del testo.
  • Immagini aeree: Oriented R-CNN estende l'RPN per proporre regioni ruotate, così il secondo stadio restituisce riquadri di delimitazione orientati per navi, aerei e veicoli nel dataset DOTA.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning