Domande frequenti (FAQ) su Ultralytics YOLO#
Questa sezione delle FAQ affronta domande comuni e problemi che gli utenti potrebbero riscontrare lavorando con i repository di Ultralytics YOLO.
FAQ#
Ultralytics è un'azienda di intelligenza artificiale per la computer vision specializzata in modelli all'avanguardia di object detection e image segmentation, con un focus sulla famiglia YOLO (You Only Look Once). Le offerte includono:
- Implementazioni open source di YOLO26 (ultima) e YOLO11 (generazione precedente)
- Un'ampia gamma di pretrained models per varie attività di computer vision
- Un Python package completo per l'integrazione trasparente dei modelli YOLO nei progetti
- Tools versatili per l'addestramento, il test e il deployment dei modelli
- Extensive documentation e una community di supporto
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.gitLe istruzioni di installazione dettagliate sono reperibili nella quickstart guide.
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 dei dataset e l'addestramento dei modelli)
Per la risoluzione dei problemi comuni, visita la pagina YOLO Common Issues.
Per addestrare un modello YOLO personalizzato:
-
Prepara il tuo dataset in YOLO format (immagini e file di etichette txt corrispondenti).
-
Crea un file YAML che descriva la struttura e le classi del dataset (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 include la preparazione dei dati e opzioni di training avanzate, fai riferimento alla completa training guide.
-
Ultralytics offre una gamma diversificata di modelli preaddestrati per vari compiti:
- 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
- Depth Estimation: YOLO26n-depth, YOLO26s-depth, YOLO26m-depth, YOLO26l-depth, YOLO26x-depth
- 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 per dimensioni e complessità, offrendo diversi compromessi tra velocità e accuracy. Esplora l'intera gamma di pretrained models per trovare la soluzione più adatta al tuo progetto.
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, inclusi l'elaborazione in batch e l'inferenza video, consulta la dettagliata prediction guide.
Assolutamente sì! 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: Esegui il deployment su dispositivi Android o iOS convertendo i modelli in LiteRT o Core ML.
- Cloud: Sfrutta framework come TensorFlow Serving o PyTorch Serve per deployment cloud scalabili.
- Web: Implementa l'inferenza nel browser utilizzando LiteRT.js o ONNX.js.
Ultralytics fornisce funzioni di esportazione per convertire i modelli in vari formati per il deployment. Esplora l'ampia gamma di deployment options per trovare la soluzione migliore per il tuo caso d'uso.
Le distinzioni principali includono:
- End-to-End NMS-Free Inference: YOLO26 è nativamente end-to-end e produce predizioni direttamente senza non-maximum suppression (NMS), riducendo la latenza e semplificando il deployment.
- 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 tra SGD e Muon (ispirato al Kimi K2 di Moonshot AI) per un addestramento più stabile e una convergenza più rapida.
- Prestazioni su CPU: YOLO26 offre un'inferenza su CPU fino al 43% più veloce, rendendolo ideale per dispositivi senza GPU.
- Ottimizzazioni specifiche per le attività: Segmentazione migliorata con loss semantica e proto multi-scala, RLE per una stima precisa della posa e decodifica OBB migliorata con loss angolare.
- Tasks: Entrambi i modelli supportano l'object detection e l'instance segmentation, mentre YOLO26 aggiunge anche la semantic segmentation per la predizione densa a livello di pixel e la monocular depth estimation per la profondità per pixel. Entrambi i modelli supportano inoltre classification, pose estimation e oriented object detection (OBB) in un framework unificato.
Per un confronto approfondito di funzionalità e metriche di performance, visita la YOLO26 documentation page.
Contribuire a Ultralytics è un ottimo modo per migliorare il progetto ed espandere le tue competenze. Ecco come puoi partecipare:
- Fai il fork del 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 superino la verifica.
- Invia una pull request con una descrizione chiara delle tue modifiche.
- Partecipa al processo di code review.
Puoi anche contribuire segnalando bug, suggerendo funzionalità o migliorando la documentazione. Per linee guida dettagliate e best practices, fai riferimento alla contributing guide.
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 di troubleshooting, consulta la completa quickstart guide.
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.
- Multi-Task Capabilities: Esegui object detection, instance segmentation, semantic segmentation, monocular depth estimation, classification, pose estimation e oriented object detection (OBB) con un framework unificato.
- Pretrained Models: Accedi a una varietà di pretrained models che bilanciano velocità e accuratezza per diversi casi d'uso.
- Custom Training: Effettua facilmente il fine-tuning dei modelli su dataset personalizzati con la flessibile training pipeline.
- Wide Deployment Options: Esporta i modelli in vari formati come TensorRT, ONNX e CoreML per il deployment su diverse piattaforme.
- Extensive Documentation: Approfitta della documentation completa e di una community di supporto per i tuoi flussi di lavoro di computer vision.
Migliorare le prestazioni del tuo modello YOLO può essere ottenuto attraverso diverse tecniche:
- Hyperparameter Tuning: Sperimenta con diversi iperparametri utilizzando la Hyperparameter Tuning Guide per ottimizzare le performance del modello.
- Data Augmentation: Implementa tecniche come flip, scale, rotate e regolazioni del colore per arricchire il tuo dataset di training e migliorare la generalizzazione del modello.
- Transfer Learning: Sfrutta i pretrained models ed effettua il fine-tuning sul tuo dataset specifico utilizzando la Train guide.
- Export to Efficient Formats: Converti il tuo modello in formati ottimizzati come TensorRT o ONNX per un'inferenza più rapida utilizzando la Export guide.
- Benchmarking: Utilizza la Benchmark Mode per misurare e migliorare sistematicamente la velocità e l'accuratezza dell'inferenza.
Sì, i modelli Ultralytics YOLO sono progettati per una distribuzione versatile, inclusi dispositivi mobili e edge:
- Mobile: Converti i modelli in LiteRT o CoreML per un'integrazione trasparente in app Android o iOS. Fai riferimento alla LiteRT Integration Guide e alla CoreML Integration Guide per istruzioni specifiche per piattaforma.
- Edge Devices: Ottimizza l'inferenza su dispositivi come NVIDIA Jetson o altro hardware edge usando TensorRT o ONNX. La Edge TPU Integration Guide fornisce passaggi dettagliati per il deployment edge.
Per una panoramica completa delle strategie di deployment su varie piattaforme, consulta la deployment options guide.
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, tra cui l'elaborazione in batch, l'inferenza video e il preprocessing personalizzato, fai riferimento alla dettagliata prediction guide.
-
Ultralytics fornisce una ricchezza di risorse per aiutarti a iniziare e padroneggiare i loro strumenti:
- 📚 Official documentation: Guide complete, riferimenti API e best practices.
- 💻 GitHub repository: Codice sorgente, script di esempio e contributi della community.
- ✍️ Ultralytics blog: Articoli approfonditi, casi d'uso e approfondimenti tecnici.
- 💬 Community forums: Connettiti con altri utenti, fai domande e condividi le tue esperienze.
- 🎥 YouTube channel: Video tutorial, demo e webinar su vari argomenti di Ultralytics.
Queste risorse forniscono esempi di codice, casi d'uso reali e guide passo-passo per svariate attività utilizzando i modelli Ultralytics.
Se hai bisogno di ulteriore assistenza, consulta la documentazione di Ultralytics o contatta la community tramite le GitHub Issues o il discussion forum ufficiale.