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:

Come installo il pacchetto Ultralytics?

Installare il pacchetto Ultralytics è semplice usando pip:

pip install ultralytics

Per l'ultima versione di sviluppo, installa 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 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:

  1. Prepara il tuo dataset nel formato YOLO (immagini e relativi file txt di etichetta).

  2. Crea un file YAML che descrive la struttura del tuo dataset e le classi (vedi esempio di dataset YAML).

  3. 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 probabilities

Per 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:

  1. Fai il fork del repository Ultralytics su GitHub.
  2. Crea un nuovo branch per la tua funzionalità o correzione di bug.
  3. Apporta le tue modifiche e assicurati che tutti i test vengano superati.
  4. Invia una pull request con una descrizione chiara delle tue modifiche.
  5. 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 ultralytics

Per la versione di sviluppo all'avanguardia, installa 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, 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:

  1. Ottimizzazione degli iperparametri: Sperimenta con diversi iperparametri usando la Guida all'ottimizzazione degli iperparametri per ottimizzare le prestazioni del modello.
  2. 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.
  3. Transfer Learning: Sfrutta i modelli preaddestrati ed effettua il fine-tuning sul tuo dataset specifico usando la guida all'addestramento.
  4. 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.
  5. 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:

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:

  1. Carica il modello:

    from ultralytics import YOLO
    
    model = YOLO("path/to/your/model.pt")
  2. 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:

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.

Commenti