Vai al contenuto

YOLOv5 vs. EfficientDet: Valutazione delle architetture di rilevamento di oggetti in tempo reale

Quando si intraprende un nuovo progetto di visione artificiale, la scelta dell'architettura di rete neurale giusta è una delle decisioni più importanti che si possano prendere. Questa guida fornisce un confronto tecnico approfondito tra Ultralytics YOLOv5 e EfficientDet di Google. Analizzando le loro architetture, le metriche di performance e gli ecosistemi di addestramento, miriamo ad aiutare sviluppatori e ricercatori a identificare il miglior modello di rilevamento oggetti per i loro specifici ambienti di deployment.

Mentre EfficientDet ha introdotto concetti innovativi nello scaling composto e nella fusione di feature, YOLOv5 ha rivoluzionato l'industria democratizzando l'accesso all'IA ad alte prestazioni attraverso la sua implementazione PyTorch incredibilmente intuitiva, un'esperienza utente semplificata e un equilibrio ineguagliabile tra velocità e precisione.

Ultralytics YOLOv5: Lo Standard Industriale per l'Accessibilità

Rilasciato nell'estate del 2020, YOLOv5 ha segnato una svolta cruciale nel lignaggio YOLO. Passando dal framework Darknet basato su C a PyTorch nativo, è diventato l'architettura di riferimento per gli sviluppatori che desiderano costruire, addestrare e implementare modelli rapidamente.

Innovazioni Architetturali

YOLOv5 è apprezzato per la sua architettura altamente ottimizzata che privilegia un ciclo di vita del machine learning senza interruzioni. Utilizza un backbone CSPDarknet53 modificato abbinato a un neck Path Aggregation Network (PANet), che migliora drasticamente la propagazione delle feature su più scale spaziali.

I principali progressi includono:

  • Augmentazione Dati Mosaic: Questa tecnica di addestramento combina quattro immagini di addestramento distinte in un unico mosaic. Ciò forza il modello a imparare a identificare oggetti in contesti spaziali complessi e aumenta significativamente la sua capacità di detect piccoli target.
  • Apprendimento Automatico delle Anchor Box: Prima dell'inizio dell'addestramento, YOLOv5 analizza i tuoi dati di addestramento personalizzati e calcola automaticamente le dimensioni ottimali delle anchor box utilizzando il clustering k-means.
  • Efficienza della Memoria: Rispetto ai modelli pesanti basati su transformer, YOLOv5 mantiene un'impronta di memoria significativamente inferiore sia durante l'addestramento che l'inferenza, consentendone l'esecuzione fluida su hardware di fascia consumer.

Scopri di più su YOLOv5

EfficientDet: Rilevamento di oggetti scalabile

Introdotto da Google Research nel 2019, EfficientDet mirava a fornire una famiglia di rilevatori di oggetti scalabili. Si basa sul backbone di classificazione delle immagini EfficientNet e introduce un nuovo meccanismo di fusione delle caratteristiche.

Innovazioni Architetturali

La proposta fondamentale di EfficientDet risiede nel suo approccio sistematico allo scaling e all'aggregazione delle feature:

  • BiFPN (Bi-directional Feature Pyramid Network): a differenza dei tradizionali FPN che trasmettono le informazioni solo dall'alto verso il basso, BiFPN consente una fusione multi-scala delle caratteristiche in modo semplice e veloce, introducendo pesi apprendibili per apprendere l'importanza delle diverse caratteristiche di input.
  • Scaling Composto: EfficientDet scala congiuntamente risoluzione, profondità e larghezza per tutti i backbone, le reti di feature e le reti di predizione di box/classe, risultando in modelli che vanno dal leggero D0 al massiccio D7.

Scopri di più su EfficientDet

Differenze tra Framework

Mentre EfficientDet si affida pesantemente all'ecosistema TensorFlow e alle librerie AutoML, YOLOv5 opera nativamente all'interno di PyTorch, offrendo quello che molti sviluppatori trovano essere un workflow più intuitivo, pythonic e debuggabile.

Confronto delle prestazioni e delle metriche

Confrontando questi modelli, è cruciale valutarne le prestazioni su benchmark standard come il dataset COCO. La tabella seguente evidenzia i compromessi tra dimensione, richiesta computazionale (FLOPs) e velocità di inferenza.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0

Analisi Bilanciata

YOLOv5 eccelle per la sua flessibilità di deployment e la compatibilità con l'accelerazione hardware nativa. Si notino le velocità estremamente elevate di TensorRT sulla GPU T4. Questo rende YOLOv5 incredibilmente adatto per l'analisi video ad alta produttività e le pipeline di inferenza in tempo reale. Inoltre, l'ecosistema Ultralytics rende l'esportazione in formati come ONNX, CoreML e TensorRT un comando da una sola riga.

EfficientDet offre un'eccellente efficienza dei parametri. Per un dato numero di parametri, spesso estrae un'elevata mean Average Precision (mAP). Tuttavia, questa efficienza teorica non sempre si traduce in tempi di inferenza wall-clock più rapidi su GPU edge a causa del routing complesso dello strato BiFPN, che può essere limitato dalla larghezza di banda della memoria piuttosto che dal calcolo.

Ecosistema e facilità d'uso

Il vantaggio distintivo nella scelta di un modello Ultralytics risiede nell'ecosistema circostante. YOLOv5 fa parte di un repository intensamente mantenuto e attivamente sviluppato, con un massiccio supporto della comunità.

Con l'introduzione della Piattaforma Ultralytics, gli utenti possono passare senza soluzione di continuità dalla raccolta dati al deployment. Questa piattaforma supporta l'auto-annotazione, l'addestramento cloud e il monitoraggio del modello pronti all'uso. Al contrario, l'addestramento di EfficientDet spesso richiede di navigare le complessità delle API di rilevamento oggetti TensorFlow più datate, il che può presentare una curva di apprendimento ripida per la prototipazione rapida.

Inoltre, la versatilità di YOLOv5 si estende oltre le bounding box. Attraverso continui aggiornamenti, il framework Ultralytics supporta nativamente la segmentazione di istanza e la classificazione di immagini, fornendo un'API unificata per molteplici compiti di visione artificiale.

Casi d'uso ideali

  • Scegli YOLOv5 quando: hai bisogno di prototipazione rapida, un'esperienza di training senza attriti e un'implementazione edge altamente ottimizzata. È ideale per droni, retail analytics e applicazioni mobili dove la bassa latenza è critica.
  • Scegli EfficientDet quando: Stai operando rigorosamente all'interno di un ambiente Google Cloud/TensorFlow AutoML e richiedi la massima accuratezza per parametro senza rigorosi vincoli di latenza in tempo reale.

La Prossima Generazione: Abbracciare YOLO26

Mentre YOLOv5 rimane un affidabile cavallo da lavoro, il panorama della visione artificiale è avanzato. Per gli sviluppatori che cercano lo stato dell'arte assoluto nel 2026, YOLO26 rappresenta il nuovo apice della gamma Ultralytics.

Basandosi sull'eredità dei suoi predecessori (come YOLOv8 e YOLO11), YOLO26 introduce innovazioni rivoluzionarie:

  • Architettura End-to-End NMS-Free: YOLO26 elimina nativamente la necessità di post-elaborazione Non-Maximum Suppression. Ciò riduce significativamente la varianza della latenza e semplifica l'architettura di deployment.
  • Fino al 43% più veloce nell'inferenza su CPU: Fortemente ottimizzato per l' AI edge, porta velocità senza precedenti ai dispositivi edge a basso consumo e alle CPU standard senza GPU dedicate.
  • Ottimizzatore MuSGD: Ispirato alle tecniche di addestramento dei Large Language Model (LLM), questo ibrido di SGD e Muon garantisce un addestramento altamente stabile e una rapida convergenza.
  • Funzioni di Perdita Avanzate: L'integrazione di ProgLoss e STAL migliora drasticamente il riconoscimento di bersagli di piccole dimensioni, vitale per l'imaging da droni ad alta quota e la robotica.
  • Rimozione DFL: Con la rimozione della Distribution Focal Loss, il processo di esportazione del modello viene ottimizzato, migliorando ulteriormente la compatibilità tra diversi acceleratori hardware.

Gli utenti interessati a esplorare altre architetture recenti all'interno dell'ecosistema Ultralytics potrebbero anche confrontare modelli come YOLOv10 o RT-DETR.

La migrazione è semplice

L'API Python di Ultralytics è progettata per la compatibilità all'indietro e in avanti. L'aggiornamento da YOLOv5 a YOLO26 è letteralmente semplice come cambiare la stringa del peso del modello nel tuo codice!

Esempio di codice: Addestramento e Inferenza

Per dimostrare la facilità d'uso senza pari dell'ecosistema Ultralytics, ecco come puoi addestrare ed eseguire l'inferenza utilizzando un modello YOLO moderno. Questo codice è eseguibile al 100% e gestisce automaticamente il download del dataset, i cicli di addestramento e la validazione.

from ultralytics import YOLO

# Load a modern model (Swap 'yolov5s.pt' for 'yolo26n.pt' to test the newest architecture!)
model = YOLO("yolov5s.pt")

# Train the model on the COCO8 example dataset for 20 epochs
results = model.train(data="coco8.yaml", epochs=20, imgsz=640)

# Run inference on an image from the web
inference_results = model("https://ultralytics.com/images/bus.jpg")

# Display the image with bounding boxes
inference_results[0].show()

Dando priorità all'esperienza utente, mantenendo un robusto ecosistema e spingendo continuamente i confini del possibile con aggiornamenti come YOLO26, Ultralytics assicura che gli sviluppatori abbiano sempre i migliori strumenti disponibili per risolvere le sfide di intelligenza visiva nel mondo reale.


Commenti