Domande frequenti (FAQ) su Ultralytics YOLO
Questa sezione FAQ affronta le domande e i problemi comuni che potresti incontrare lavorando con le repository Ultralytics YOLO.
FAQ
Cos'è Ultralytics e cosa offre?
Ultralytics è un'azienda di intelligenza artificiale specializzata in computer vision che si concentra su modelli all'avanguardia di rilevamento oggetti e image segmentation, con un focus sulla famiglia YOLO (You Only Look Once). Le loro offerte includono:
- Implementazioni open-source di YOLO26 (l'ultima versione) e YOLO11 (la generazione precedente)
- Un'ampia gamma di pretrained models per diverse attività di computer vision
- Un Python package completo per un'integrazione fluida dei modelli YOLO nei tuoi progetti
- tools versatili per addestrare, testare e distribuire modelli
- Extensive documentation e una community di supporto
Come installo il pacchetto Ultralytics?
Installare il pacchetto Ultralytics è semplice usando pip:
pip install ultralyticsPer la versione di sviluppo più recente, installa direttamente dalla repository GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitIstruzioni dettagliate per l'installazione si trovano nella quickstart guide.
Quali sono i requisiti di sistema per eseguire i modelli Ultralytics?
Requisiti minimi:
- Python 3.8+
- PyTorch 1.8+
- GPU compatibile con CUDA (per l'accelerazione GPU)
Configurazione raccomandata:
- Python 3.8+
- PyTorch 1.10+
- GPU NVIDIA con CUDA 11.2+
- 8GB+ di RAM
- 50GB+ di spazio libero su disco (per l'archiviazione dei dataset e l'addestramento dei modelli)
Per la risoluzione di problemi comuni, visita la pagina YOLO Common Issues.
Come posso addestrare un modello YOLO personalizzato sul mio dataset?
Per addestrare un modello YOLO personalizzato:
-
Prepara il tuo dataset in YOLO format (immagini e relativi file txt di etichettatura).
-
Crea un file YAML che descriva la struttura del tuo dataset e le classi (vedi dataset YAML example).
-
Usa il seguente codice Python per avviare l'addestramento:
from ultralytics import YOLO # Load a model model = YOLO("yolo26n.yaml") # build a new model from scratch model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training) # Train the model results = model.train(data="path/to/your/data.yaml", epochs=100, imgsz=640)
Per una guida più approfondita, che includa la preparazione dei dati e opzioni di addestramento avanzate, fai riferimento alla training guide completa.
Quali modelli preaddestrati sono disponibili in Ultralytics?
Ultralytics offre una vasta gamma di modelli preaddestrati per diverse attività:
- Object Detection: YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x
- Instance Segmentation: YOLO26n-seg, YOLO26s-seg, YOLO26m-seg, YOLO26l-seg, YOLO26x-seg
- Semantic Segmentation: YOLO26n-sem, YOLO26s-sem, YOLO26m-sem, YOLO26l-sem, YOLO26x-sem
- Classification: YOLO26n-cls, YOLO26s-cls, YOLO26m-cls, YOLO26l-cls, YOLO26x-cls
- Pose Estimation: YOLO26n-pose, YOLO26s-pose, YOLO26m-pose, YOLO26l-pose, YOLO26x-pose
- Oriented Detection (OBB): YOLO26n-obb, YOLO26s-obb, YOLO26m-obb, YOLO26l-obb, YOLO26x-obb
Questi modelli variano in dimensioni e complessità, offrendo diversi compromessi tra velocità e accuracy. Esplora la gamma completa di pretrained models per trovare quello più adatto al tuo progetto.
Come eseguo l'inferenza utilizzando un modello Ultralytics addestrato?
Per eseguire l'inferenza con un modello addestrato:
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/your/model.pt")
# Perform inference
results = model("path/to/image.jpg")
# Process results
for r in results:
print(r.boxes) # print bbox predictions
print(r.masks) # print mask predictions
print(r.probs) # print class probabilitiesPer opzioni di inferenza avanzate, incluse l'elaborazione in batch e l'inferenza video, consulta la dettagliata prediction guide.
I modelli Ultralytics possono essere distribuiti su dispositivi edge o in ambienti di produzione?
Certamente! I modelli Ultralytics sono progettati per una distribuzione versatile su varie piattaforme:
- Dispositivi edge: Ottimizza l'inferenza su dispositivi come NVIDIA Jetson o Intel Neural Compute Stick usando TensorRT, ONNX o OpenVINO.
- Mobile: Distribuisci su dispositivi Android o iOS convertendo i modelli in TFLite o Core ML.
- Cloud: Sfrutta framework come TensorFlow Serving o PyTorch Serve per distribuzioni cloud scalabili.
- Web: Implementa l'inferenza nel browser usando ONNX.js o TensorFlow.js.
Ultralytics fornisce funzioni di esportazione per convertire i modelli in vari formati per la distribuzione. Esplora l'ampia gamma di deployment options per trovare la soluzione migliore per il tuo caso d'uso.
Qual è la differenza tra YOLO11 e YOLO26?
Le distinzioni principali includono:
- End-to-End NMS-Free Inference: YOLO26 è nativamente end-to-end, producendo previsioni direttamente senza non-maximum suppression (NMS), riducendo la latenza e semplificando la distribuzione.
- Rimozione DFL: YOLO26 rimuove il modulo Distribution Focal Loss, semplificando l'esportazione e migliorando la compatibilità con 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: YOLO26 offre un'inferenza su CPU fino al 43% più veloce, rendendolo ideale per dispositivi senza GPU.
- Ottimizzazioni specifiche per attività: Segmentazione migliorata con semantic loss e protos multi-scala, RLE per una stima precisa della posa e decodifica OBB migliorata con angle loss.
- Attività: Entrambi i modelli supportano object detection, instance segmentation, classificazione, stima della posa e rilevamento orientato degli oggetti (OBB) in un framework unificato. YOLO26 aggiunge anche la semantic segmentation per una previsione densa a livello di pixel.
Per un confronto approfondito delle funzionalità e delle metriche di prestazione, visita la YOLO26 documentation page.
Come posso contribuire al progetto open-source di Ultralytics?
Contribuire a Ultralytics è un ottimo modo per migliorare il progetto ed espandere le tue competenze. Ecco come puoi partecipare:
- Fai un fork della repository di Ultralytics su GitHub.
- Crea un nuovo branch per la tua funzionalità o correzione di bug.
- Apporta le tue modifiche e assicurati che tutti i test vengano superati.
- Invia una pull request con una chiara descrizione delle tue modifiche.
- Partecipa al processo di revisione del codice.
Puoi anche contribuire segnalando bug, suggerendo funzionalità o migliorando la documentazione. Per linee guida dettagliate e migliori pratiche, fai riferimento alla contributing guide.
Come installo il pacchetto Ultralytics in Python?
Installare il pacchetto Ultralytics in Python è semplice. Usa pip eseguendo il seguente comando nel tuo terminale o prompt dei comandi:
pip install ultralyticsPer la versione di sviluppo all'avanguardia, installa direttamente dalla repository GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitPer istruzioni di installazione specifiche per l'ambiente e suggerimenti per la risoluzione dei problemi, consulta la quickstart guide completa.
Quali sono le caratteristiche principali di Ultralytics YOLO?
Ultralytics YOLO vanta un ricco set di funzionalità per attività avanzate di computer vision:
- Rilevamento in tempo reale: Rileva e classifica oggetti in modo efficiente in scenari in tempo reale.
- Capacità multi-attività: Esegui object detection, instance segmentation, semantic segmentation, classificazione, stima della posa e rilevamento orientato degli oggetti (OBB) con un framework unificato.
- Modelli preaddestrati: Accedi a una varietà di pretrained models che bilanciano velocità e precisione per diversi casi d'uso.
- Addestramento personalizzato: Affina facilmente i modelli su dataset personalizzati con la flessibile training pipeline.
- Ampie Deployment Options: Esporta i modelli in vari formati come TensorRT, ONNX e CoreML per la distribuzione su diverse piattaforme.
- Documentazione estesa: Beneficia di una documentation completa e di una community di supporto per i tuoi flussi di lavoro di computer vision.
Come posso migliorare le prestazioni del mio modello YOLO?
Migliorare le prestazioni del tuo modello YOLO può essere ottenuto attraverso diverse tecniche:
- Hyperparameter Tuning: Sperimenta con diversi iperparametri usando la Hyperparameter Tuning Guide per ottimizzare le prestazioni del modello.
- Data Augmentation: Implementa tecniche come capovolgimento, ridimensionamento, rotazione e regolazioni del colore per migliorare il tuo dataset di addestramento e migliorare la generalizzazione del modello.
- Transfer Learning: Sfrutta i modelli preaddestrati e affinali sul tuo specifico dataset usando la Train guide.
- Esportazione in formati efficienti: Converti il tuo modello in formati ottimizzati come TensorRT o ONNX per un'inferenza più rapida usando la Export guide.
- Benchmarking: Utilizza la Benchmark Mode per misurare e migliorare sistematicamente la velocità e la precisione dell'inferenza.
Posso distribuire i modelli Ultralytics YOLO su dispositivi mobile ed edge?
Sì, i modelli Ultralytics YOLO sono progettati per una distribuzione versatile, inclusi dispositivi mobile ed edge:
- Mobile: Converti i modelli in TFLite o CoreML per un'integrazione fluida in app Android o iOS. Fai riferimento alla TFLite Integration Guide e alla CoreML Integration Guide per istruzioni specifiche per la piattaforma.
- Dispositivi edge: Ottimizza l'inferenza su dispositivi come NVIDIA Jetson o altri hardware edge usando TensorRT o ONNX. La Edge TPU Integration Guide fornisce passaggi dettagliati per la distribuzione edge.
Per una panoramica completa delle strategie di distribuzione su varie piattaforme, consulta la deployment options guide.
Come posso eseguire l'inferenza utilizzando un modello Ultralytics YOLO addestrato?
Eseguire l'inferenza con un modello Ultralytics YOLO addestrato è semplice:
-
Carica il modello:
from ultralytics import YOLO model = YOLO("path/to/your/model.pt") -
Esegui l'inferenza:
results = model("path/to/image.jpg") for r in results: print(r.boxes) # print bounding box predictions print(r.masks) # print mask predictions print(r.probs) # print class probabilities
Per tecniche di inferenza avanzate, incluse l'elaborazione in batch, l'inferenza video e la pre-elaborazione personalizzata, fai riferimento alla dettagliata prediction guide.
Dove posso trovare esempi e tutorial per utilizzare Ultralytics?
Ultralytics fornisce una ricchezza di risorse per aiutarti a iniziare e padroneggiare i loro strumenti:
- 📚 Official documentation: Guide complete, riferimenti API e migliori pratiche.
- 💻 GitHub repository: Codice sorgente, script di esempio e contributi della community.
- ✍️ Ultralytics blog: Articoli approfonditi, casi d'uso e approfondimenti tecnici.
- 💬 Forum della community: Connettiti con altri utenti, fai domande e condividi le tue esperienze.
- 🎥 Canale YouTube: Video tutorial, demo e webinar su vari argomenti Ultralytics.
Queste risorse forniscono esempi di codice, casi d'uso reali e guide passo-passo per diverse attività utilizzando 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.