Domande frequenti (FAQ) su Ultralytics YOLO
Questa sezione FAQ risponde a domande e problemi comuni che potresti incontrare lavorando con i repository Ultralytics YOLO.
FAQ
Cos'è Ultralytics e cosa offre?
Ultralytics è un'azienda di intelligenza artificiale specializzata in computer vision, focalizzata su modelli all'avanguardia di rilevamento oggetti e segmentazione di immagini, con un'attenzione particolare alla famiglia YOLO (You Only Look Once). Le loro offerte includono:
- Implementazioni open-source di YOLO26 (l'ultima versione) e YOLO11 (generazione precedente)
- Un'ampia gamma di modelli preaddestrati per varie attività di computer vision
- Un pacchetto Python completo per l'integrazione perfetta dei modelli YOLO nei tuoi progetti
- Strumenti versatili per l'addestramento, il test e il deploy dei modelli
- Documentazione estesa e una community di supporto
Come installo il pacchetto Ultralytics?
Installare il pacchetto Ultralytics è semplice usando pip:
pip install ultralyticsPer l'ultima versione di sviluppo, installa direttamente dal repository GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitIstruzioni dettagliate per l'installazione sono disponibili nella guida rapida.
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 consigliata:
- Python 3.8+
- PyTorch 1.10+
- GPU NVIDIA con CUDA 11.2+
- 8GB+ di RAM
- 50GB+ di spazio libero su disco (per l'archiviazione del dataset e l'addestramento del modello)
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 nel formato YOLO (immagini e relativi file txt di etichetta).
-
Crea un file YAML che descrive la struttura del tuo dataset e le classi (vedi esempio di dataset YAML).
-
Usa il seguente codice Python per iniziare 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, consulta la guida all'addestramento completa.
Quali modelli preaddestrati sono disponibili in Ultralytics?
Ultralytics offre una gamma diversificata di modelli preaddestrati per varie attività:
- Object Detection: YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x
- Instance Segmentation: YOLO26n-seg, YOLO26s-seg, YOLO26m-seg, YOLO26l-seg, YOLO26x-seg
- 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 accuratezza. Esplora la gamma completa di modelli preaddestrati per trovare quello più adatto al tuo progetto.
Come posso eseguire l'inferenza usando 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, dai un'occhiata alla guida alla predizione dettagliata.
I modelli Ultralytics possono essere distribuiti su dispositivi edge o in ambienti di produzione?
Assolutamente! 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 opzioni di distribuzione per trovare la soluzione migliore per il tuo caso d'uso.
Qual è la differenza tra YOLO11 e YOLO26?
Le distinzioni principali includono:
- Inferenza End-to-End NMS-Free: YOLO26 è nativamente end-to-end, producendo previsioni direttamente senza non-maximum suppression (NMS), riducendo la latenza e semplificando la distribuzione.
- Rimozione di 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 della 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 loss semantica e protos multi-scala, RLE per una stima della posa precisa e decodifica OBB migliorata con loss angolare.
- Attività: Entrambi i modelli supportano object detection, instance segmentation, classification, pose estimation e oriented object detection (OBB) in un framework unificato.
Per un confronto approfondito di caratteristiche e metriche di prestazioni, visita la pagina di documentazione di YOLO26.
Come posso contribuire al progetto open-source Ultralytics?
Contribuire a Ultralytics è un ottimo modo per migliorare il progetto ed espandere le tue competenze. Ecco come puoi essere coinvolto:
- Fai il fork del repository 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 descrizione chiara 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 best practice, fai riferimento alla guida al contributo.
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 dal 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 guida rapida 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, classification e pose estimation con un framework unificato.
- Modelli preaddestrati: Accedi a una varietà di modelli preaddestrati che bilanciano velocità e accuratezza per diversi casi d'uso.
- Addestramento personalizzato: Effettua facilmente il fine-tuning dei modelli su dataset personalizzati con la pipeline di addestramento flessibile.
- Ampie opzioni di distribuzione: Esporta modelli in vari formati come TensorRT, ONNX e CoreML per la distribuzione su diverse piattaforme.
- Documentazione estesa: Beneficia di una documentazione 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:
- Ottimizzazione degli iperparametri: Sperimenta con diversi iperparametri usando la Guida all'ottimizzazione degli iperparametri per ottimizzare le prestazioni del modello.
- Data Augmentation: Implementa tecniche come flip, scala, rotazione e regolazioni del colore per migliorare il tuo dataset di addestramento e aumentare la generalizzazione del modello.
- Transfer Learning: Sfrutta i modelli preaddestrati ed effettua il fine-tuning 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 un'inferenza più rapida usando la guida all'esportazione.
- Benchmarking: Utilizza la Benchmark Mode per misurare e migliorare sistematicamente la velocità e l'accuratezza dell'inferenza.
Posso distribuire i modelli Ultralytics YOLO su dispositivi mobili ed edge?
Sì, i modelli Ultralytics YOLO sono progettati per una distribuzione versatile, inclusi dispositivi mobili ed edge:
- Mobile: Converti i modelli in TFLite o CoreML per un'integrazione fluida in app Android o iOS. Consulta la Guida all'integrazione di TFLite e la Guida all'integrazione di CoreML per istruzioni specifiche per piattaforma.
- Dispositivi Edge: Ottimizza l'inferenza su dispositivi come NVIDIA Jetson o altro hardware edge usando TensorRT o ONNX. La Guida all'integrazione di Edge TPU fornisce passaggi dettagliati per la distribuzione edge.
Per una panoramica completa delle strategie di distribuzione su varie piattaforme, consulta la guida alle opzioni di distribuzione.
Come posso eseguire l'inferenza usando 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, inclusi l'elaborazione in batch, l'inferenza video e il pre-processing personalizzato, fai riferimento alla guida alla predizione dettagliata.
Dove posso trovare esempi e tutorial per utilizzare Ultralytics?
Ultralytics fornisce una vasta gamma di risorse per aiutarti a iniziare e padroneggiare i loro strumenti:
- 📚 Documentazione ufficiale: Guide complete, riferimenti API e best practice.
- 💻 Repository GitHub: Codice sorgente, script di esempio e contributi della community.
- ✍️ Blog di Ultralytics: 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à che utilizzano 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.