Domande frequenti (FAQ) su Ultralytics YOLO
Questa sezione FAQ affronta domande e problemi comuni che gli utenti potrebbero incontrare durante l'utilizzo dei repository Ultralytics YOLO.
FAQ
Cos'è Ultralytics e cosa offre?
Ultralytics è una società di intelligenza artificiale specializzata nella computer vision, specializzata in modelli all'avanguardia per il rilevamento di oggetti e la segmentazione delle immagini, con particolare attenzione alla famiglia YOLO (You Only Look Once). La loro offerta comprende:
- Implementazioni open-source di YOLOv8 e YOLO11
- Un'ampia gamma di modelli pre-addestrati per varie attività di computer vision
- Un pacchetto Python completo per l'integrazione perfetta dei modelli YOLO nei progetti
- Strumenti versatili per l'addestramento, il test e la distribuzione di modelli
- Documentazione estesa e una comunità di supporto
Come posso installare il pacchetto Ultralytics?
L'installazione del pacchetto Ultralytics è semplice tramite pip:
pip install ultralytics
Per l'ultima versione di sviluppo, installare direttamente dal repository GitHub:
pip install git+https://github.com/ultralytics/ultralytics.git
Istruzioni dettagliate per l'installazione sono disponibili nella guida rapida.
Quali sono i requisiti di sistema per l'esecuzione dei modelli Ultralytics?
Requisiti minimi:
- Python 3.8+
- PyTorch 1.8+
- GPU compatibile con CUDA (per accelerazione GPU)
Configurazione consigliata:
- Python 3.8+
- PyTorch 1.10+
- GPU NVIDIA con CUDA 11.2+
- 8GB+ RAM
- Più di 50 GB di spazio libero su disco (per l'archiviazione del set di dati e l'addestramento del modello)
Per la risoluzione dei problemi comuni, visitare la pagina Problemi comuni di YOLO.
Come posso addestrare un modello YOLO personalizzato sul mio dataset?
Per addestrare un modello YOLO personalizzato:
- Prepara il tuo set di dati in formato YOLO (immagini e file txt di etichette corrispondenti).
- Crea un file YAML che descriva la struttura e le classi del tuo dataset.
-
Utilizza il seguente codice Python per avviare l'addestramento:
from ultralytics import YOLO # Load a model model = YOLO("yolov8n.yaml") # build a new model from scratch model = YOLO("yolov8n.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, inclusa la preparazione dei dati e le opzioni di training avanzate, consultare la guida al training completa.
Quali modelli pre-addestrati sono disponibili in Ultralytics?
Ultralytics offre una vasta gamma di modelli pre-addestrati per varie attività:
- Rilevamento di oggetti: YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x
- Segmentazione delle istanze: YOLO11n-seg, YOLO11s-seg, YOLO11m-seg, YOLO11l-seg, YOLO11x-seg
- Classificazione: YOLO11n-cls, YOLO11s-cls, YOLO11m-cls, YOLO11l-cls, YOLO11x-cls
- Stima della Posa: YOLO11n-pose, YOLO11s-pose, YOLO11m-pose, YOLO11l-pose, YOLO11x-pose
Questi modelli variano in dimensioni e complessità, offrendo diversi compromessi tra velocità e precisione. Esplora la gamma completa di modelli pre-addestrati per trovare la soluzione migliore per il tuo progetto.
Come posso eseguire 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 probabilities
Per opzioni di inferenza avanzate, tra cui l'elaborazione batch e l'inferenza video, consultare la guida alla previsione dettagliata.
I modelli Ultralytics possono essere implementati su dispositivi edge o in ambienti di produzione?
Assolutamente! I modelli Ultralytics sono progettati per un'implementazione versatile su diverse piattaforme:
- Dispositivi edge: Ottimizza l'inferenza su dispositivi come NVIDIA Jetson o Intel Neural Compute Stick utilizzando TensorRT, ONNX o OpenVINO.
- Mobile: Esegui il deployment su dispositivi Android o iOS convertendo i modelli in TFLite o Core ML.
- Cloud: Sfrutta framework come TensorFlow Serving o PyTorch Serve per distribuzioni scalabili su cloud.
- Web: Implementa l'inferenza nel browser utilizzando ONNX.js o TensorFlow.js.
Ultralytics fornisce funzioni di esportazione per convertire i modelli in vari formati per il deployment. Esplora l'ampia gamma di opzioni di deployment per trovare la soluzione migliore per il tuo caso d'uso.
Qual è la differenza tra YOLOv8 e YOLO11?
Le principali distinzioni includono:
- Architettura: YOLO11 presenta una backbone e un design della head migliorati per prestazioni superiori.
- Performance: YOLO11 offre generalmente accuratezza e velocità superiori rispetto a YOLOv8.
- Efficienza: YOLO11m raggiunge una mean Average Precision (mAP) più elevata sul dataset COCO con il 22% di parametri in meno rispetto a YOLOv8m.
- Compiti: Entrambi i modelli supportano object detection, segmentazione delle istanze, classificazione e stima della posa in un framework unificato.
- Base di codice: YOLO11 è implementato con un'architettura più modulare ed estensibile, facilitando una personalizzazione ed estensione più semplici.
Per un confronto approfondito delle caratteristiche e delle metriche di performance, visita la pagina di documentazione di YOLO11.
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 partecipare:
- Crea un fork del repository Ultralytics su GitHub.
- Crea un nuovo branch per la tua feature 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 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, consulta la guida per i contributori.
Come posso installare 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 ultralytics
Per la versione di sviluppo più recente, installare direttamente dal repository GitHub:
pip install git+https://github.com/ultralytics/ultralytics.git
Per istruzioni di installazione specifiche per l'ambiente e suggerimenti per la risoluzione dei problemi, consultare la guida rapida completa.
Quali sono le caratteristiche principali di Ultralytics YOLO?
Ultralytics YOLO vanta una ricca serie di funzionalità per attività avanzate di computer vision:
- Rilevamento in tempo reale: Rileva e classifica in modo efficiente gli oggetti in scenari in tempo reale.
- Funzionalità multi-task: Esegui rilevamento di oggetti, segmentazione di istanze, classificazione e stima della posa con un framework unificato.
- Modelli pre-addestrati: Accedi a una varietà di modelli pre-addestrati che bilanciano velocità e precisione per diversi casi d'uso.
- Addestramento personalizzato: Ottimizza facilmente i modelli su set di dati personalizzati con la pipeline di addestramento flessibile.
- Ampie Opzioni di Distribuzione: Esporta i modelli in vari formati come TensorRT, ONNX e CoreML per la distribuzione su diverse piattaforme.
- Documentazione Approfondita: Approfitta della documentazione completa e di una comunità di supporto per guidarti nel tuo percorso nella computer vision.
Come posso migliorare le prestazioni del mio modello YOLO?
È possibile migliorare le prestazioni del tuo modello YOLO attraverso diverse tecniche:
- Hyperparameter Tuning: Sperimenta con diversi iperparametri utilizzando la Guida all'ottimizzazione degli iperparametri per ottimizzare le prestazioni del modello.
- Data Augmentation: Implementa tecniche come flip, ridimensionamento, rotazione e regolazioni del colore per migliorare il tuo dataset di addestramento e migliorare la generalizzazione del modello.
- Transfer Learning: Sfrutta i modelli pre-addestrati e mettili a punto sul tuo set di dati specifico utilizzando la guida all'addestramento.
- Esporta in formati efficienti: Converti il tuo modello in formati ottimizzati come TensorRT o ONNX per un'inferenza più rapida utilizzando la guida all'esportazione.
- Valutazione comparativa: utilizza la Modalità Benchmark per misurare e migliorare la velocità e l'accuratezza dell'inferenza in modo sistematico.
Posso distribuire modelli Ultralytics YOLO su dispositivi mobili e edge?
Sì, i modelli Ultralytics YOLO sono progettati per un'implementazione versatile, inclusi dispositivi mobili ed edge:
- Mobile: Converti i modelli in TFLite o CoreML per una perfetta integrazione in app Android o iOS. Consulta la Guida all'integrazione di TFLite e la Guida all'integrazione di CoreML per istruzioni specifiche per la piattaforma.
- Dispositivi Edge: Ottimizza l'inferenza su dispositivi come NVIDIA Jetson o altro hardware edge utilizzando TensorRT o ONNX. La Guida all'integrazione di Edge TPU fornisce istruzioni dettagliate per la distribuzione edge.
Per una panoramica completa delle strategie di deployment su varie piattaforme, consultare la guida alle opzioni di deployment.
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 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 batch, l'inferenza video e la pre-elaborazione personalizzata, consultare la guida alla previsione dettagliata.
Dove posso trovare esempi e tutorial sull'utilizzo di Ultralytics?
Ultralytics fornisce una vasta gamma di risorse per aiutarti a iniziare e a padroneggiare i suoi 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: Entra in contatto con altri utenti, fai domande e condividi le tue esperienze.
- 🎥 Canale YouTube: Tutorial video, demo e webinar su vari argomenti Ultralytics.
Queste risorse forniscono esempi di codice, casi d'uso reali e guide dettagliate per varie attività che utilizzano i modelli Ultralytics.
Se hai bisogno di ulteriore assistenza, non esitare a consultare la documentazione di Ultralytics o a contattare la community tramite GitHub Issues o il forum di discussione ufficiale.