Domande frequenti (FAQ) su Ultralytics YOLO#
Questa sezione di FAQ risponde alle domande e ai problemi più comuni che gli utenti possono incontrare lavorando con i repository Ultralytics YOLO.
Domande frequenti#
Ultralytics è un'azienda di AI specializzata in computer vision e modelli all'avanguardia per il rilevamento di oggetti e la segmentazione delle immagini, con un'attenzione particolare alla famiglia YOLO (You Only Look Once). La sua offerta comprende:
- Implementazioni open source di YOLO26 (l'ultima versione) e YOLO11 (la generazione precedente)
- Un'ampia gamma di modelli preaddestrati per varie attività di computer vision
- Un pacchetto Python completo per integrare facilmente i modelli YOLO nei progetti
- Strumenti versatili per addestrare, testare e distribuire modelli
- Documentazione completa e una community disponibile
No. YOLO27 è nelle fasi finali di ricerca e sviluppo in vista del lancio previsto entro la fine dell'anno, ma non è stata fissata una data. La documentazione presenta in anteprima le funzionalità, i benchmark preliminari e gli esempi per l'utilizzo dopo il rilascio. Per i progetti attuali, continua a usare YOLO26.
Installare il pacchetto Ultralytics con pip è semplice:
pip install ultralyticsPer installare la versione di sviluppo più recente, installala direttamente dal repository GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitLe istruzioni dettagliate per l'installazione sono disponibili nella guida rapida.
Requisiti minimi:
- Python 3.8+
- PyTorch 1.8+
- GPU compatibile con CUDA (per l'accelerazione GPU)
Configurazione consigliata:
- Python 3.8+
- PyTorch 1.10+
- GPU NVIDIA con CUDA 11.2+
- 8 GB+ di RAM
- 50 GB+ di spazio libero su disco (per archiviare i dataset e addestrare i modelli)
Per risolvere i problemi più comuni, visita la pagina Problemi comuni di YOLO.
Per addestrare un modello YOLO personalizzato:
-
Prepara il dataset in formato YOLO (immagini e i corrispondenti file di etichette txt).
-
Crea un file YAML che descriva la struttura e le classi del dataset (vedi esempio di YAML per un dataset).
-
Usa il seguente codice Python per avviare l'addestramento:
from ultralytics import YOLO # Carica un modello model = YOLO("yolo26n.yaml") # crea un nuovo modello da zero model = YOLO("yolo26n.pt") # carica un modello preaddestrato (consigliato per l'addestramento) # Addestra il modello results = model.train(data="path/to/your/data.yaml", epochs=100, imgsz=640)
Per una guida più approfondita, che include la preparazione dei dati e opzioni di addestramento avanzate, consulta la guida completa all'addestramento.
-
Ultralytics offre un'ampia gamma di modelli preaddestrati per varie attività:
- Rilevamento di oggetti: YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x
- Segmentazione di istanze: YOLO26n-seg, YOLO26s-seg, YOLO26m-seg, YOLO26l-seg, YOLO26x-seg
- Segmentazione semantica: YOLO26n-sem, YOLO26s-sem, YOLO26m-sem, YOLO26l-sem, YOLO26x-sem
- Stima della profondità: YOLO26n-depth, YOLO26s-depth, YOLO26m-depth, YOLO26l-depth, YOLO26x-depth
- Classificazione: YOLO26n-cls, YOLO26s-cls, YOLO26m-cls, YOLO26l-cls, YOLO26x-cls
- Stima della posa: YOLO26n-pose, YOLO26s-pose, YOLO26m-pose, YOLO26l-pose, YOLO26x-pose
- Rilevamento orientato (OBB): YOLO26n-obb, YOLO26s-obb, YOLO26m-obb, YOLO26l-obb, YOLO26x-obb
Questi modelli variano per dimensioni e complessità, offrendo diversi compromessi tra velocità e accuratezza. Esplora l'intera gamma di modelli preaddestrati per trovare quello più adatto al tuo progetto.
Per eseguire inferenze con un modello addestrato:
from ultralytics import YOLO # Carica un modello model = YOLO("path/to/your/model.pt") # Esegui l'inferenza results = model("path/to/image.jpg") # Elabora i risultati for r in results: print(r.boxes) # stampa le predizioni dei bbox print(r.masks) # stampa le predizioni delle maschere print(r.probs) # stampa le probabilità delle classiPer le opzioni di inferenza avanzate, tra cui l'elaborazione in batch e l'inferenza su video, consulta la guida dettagliata alle predizioni.
Certamente! I modelli Ultralytics sono progettati per essere distribuiti su diverse piattaforme:
- Dispositivi edge: ottimizza l'inferenza su dispositivi come NVIDIA Jetson o Raspberry Pi usando TensorRT, ONNX o OpenVINO.
- Dispositivi mobili: distribuisci i modelli su Android o iOS convertendoli in LiteRT o CoreML.
- Cloud: sfrutta framework come TensorFlow Serving o TorchServe per distribuzioni scalabili nel cloud.
- Web: implementa l'inferenza nel browser usando ONNX Runtime Web.
Ultralytics offre funzioni di esportazione per convertire i modelli in vari formati per la distribuzione. Esplora l'ampia gamma di opzioni di distribuzione per trovare la soluzione migliore per il tuo caso d'uso.
Le principali differenze includono:
- Inferenza end-to-end senza NMS: YOLO26 offre inferenza senza NMS con
nms=False. Il percorso predefinito one-to-many usa NMS per garantire la precisione. - Rimozione di DFL: YOLO26 rimuove il modulo Distribution Focal Loss, semplificando l'esportazione e migliorando la compatibilità con i dispositivi edge e a basso consumo.
- Ottimizzatore MuSGD: un ibrido di SGD e Muon (ispirato a Kimi K2 di Moonshot AI) per un addestramento più stabile e una convergenza più rapida.
- Prestazioni CPU: YOLO26n è fino al 43% più veloce di YOLO11n nell'inferenza CPU ONNX (Intel Xeon CPU @ 2.00 GHz), ed è quindi ideale per i dispositivi senza GPU.
- Ottimizzazioni specifiche per attività: segmentazione migliorata con loss semantica e prototipi multiscala, RLE per la stima precisa della posa e decodifica OBB migliorata con loss angolare.
- Attività: entrambi i modelli supportano il rilevamento di oggetti e la segmentazione di istanze, mentre YOLO26 aggiunge anche la segmentazione semantica per la predizione densa a livello di pixel e la stima monoculare della profondità per la profondità di ogni pixel. Entrambi i modelli supportano inoltre classificazione, stima della posa e rilevamento di oggetti orientati (OBB) in un framework unificato.
Per un confronto approfondito delle funzionalità e delle metriche prestazionali, visita la pagina della documentazione di YOLO26.
- Inferenza end-to-end senza NMS: YOLO26 offre inferenza senza NMS con
Contribuire a Ultralytics è un ottimo modo per migliorare il progetto e ampliare le tue competenze. Ecco come puoi partecipare:
- Crea un fork del repository Ultralytics su GitHub.
- Crea un nuovo branch per la tua funzionalità o correzione di bug.
- Apporta le modifiche e assicurati che tutti i test vengano superati.
- Invia una pull request con una descrizione chiara delle modifiche.
- Partecipa al processo di revisione del codice.
Puoi contribuire anche segnalando bug, suggerendo funzionalità o migliorando la documentazione. Per indicazioni dettagliate e buone pratiche, consulta la guida ai contributi.
Ultralytics YOLO offre un ricco insieme di funzionalità per le attività avanzate di computer vision:
- Rilevamento in tempo reale: rileva e classifica gli oggetti in modo efficiente negli scenari in tempo reale.
- Funzionalità multitasking: esegui il rilevamento di oggetti, la segmentazione di istanze, la segmentazione semantica, la stima monoculare della profondità, la classificazione, la stima della posa e il rilevamento di oggetti orientati (OBB) con un framework unificato.
- Modelli preaddestrati: accedi a una varietà di modelli preaddestrati che bilanciano velocità e precisione per diversi casi d'uso.
- Addestramento personalizzato: ottimizza facilmente i modelli sui tuoi dataset personalizzati con la pipeline di addestramento flessibile.
- Ampie opzioni di distribuzione: esporta i modelli in vari formati, come TensorRT, ONNX e CoreML, per distribuirli su piattaforme diverse.
- Documentazione completa: approfitta della documentazione esaustiva e di una community disponibile per i tuoi flussi di lavoro di computer vision.
Puoi migliorare le prestazioni del tuo modello YOLO con diverse tecniche:
- Ottimizzazione degli iperparametri: prova diversi iperparametri usando la guida all'ottimizzazione degli iperparametri per ottimizzare le prestazioni del modello.
- Aumento dei dati: applica tecniche come ribaltamento, ridimensionamento, rotazione e regolazione dei colori per arricchire il dataset di addestramento e migliorare la generalizzazione del modello.
- Transfer learning: sfrutta i modelli preaddestrati e ottimizzali sul tuo dataset specifico usando la guida all'addestramento.
- Esportazione in formati efficienti: converti il tuo modello in formati ottimizzati come TensorRT o ONNX per velocizzare l'inferenza usando la guida all'esportazione.
- Benchmark: usa la modalità Benchmark per misurare e migliorare sistematicamente la velocità e la precisione dell'inferenza.
Ultralytics mette a disposizione numerose risorse per aiutarti a iniziare e a padroneggiare i suoi strumenti:
- 📚 Documentazione ufficiale: guide complete, riferimenti API e buone pratiche.
- 💻 Repository GitHub: codice sorgente, script di esempio e contributi della community.
- ✍️ Blog Ultralytics: articoli approfonditi, casi d'uso e approfondimenti tecnici.
- 💬 Forum della community: entra in contatto con altri utenti, fai domande e condividi le tue esperienze.
- 🎥 Canale YouTube: tutorial video, demo e webinar su vari argomenti relativi a Ultralytics.
Queste risorse offrono esempi di codice, casi d'uso reali e guide dettagliate per svolgere diverse attività usando i modelli Ultralytics.
Se hai bisogno di ulteriore assistenza, consulta la documentazione Ultralytics o contatta la community tramite GitHub Issues o il forum di discussione ufficiale.