Ultralytics YOLO27:

Domande frequenti su Ultralytics YOLO (FAQ)#

Questa sezione delle FAQ affronta le domande e i problemi comuni che potresti incontrare mentre lavori con i repository di Ultralytics YOLO.

FAQ#

  • Ultralytics è un'azienda di AI specializzata nella computer vision e nei modelli all'avanguardia per il rilevamento degli oggetti e la segmentazione delle immagini, con particolare attenzione alla famiglia YOLO (rilevamento in un solo passaggio). Le sue offerte includono:

  • No. YOLO27 è in fase di ricerca e sviluppo finale in vista di un lancio previsto per la fine di quest'anno, senza una data di lancio stabilita. La documentazione ne anticipa le funzioni, i benchmark preliminari e gli esempi per l'uso dopo il rilascio. Continua a usare YOLO26 per i progetti attuali.

  • Installare il pacchetto Ultralytics è semplice usando pip:

    pip install ultralytics

    Per installare l'ultima versione di sviluppo, esegui l'installazione direttamente dal repository GitHub:

    pip install git+https://github.com/ultralytics/ultralytics.git

    Puoi trovare istruzioni dettagliate per l'installazione nella guida rapida.

  • 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+
    • 8 GB+ di RAM
    • 50 GB+ di spazio libero su disco (per archiviare i dataset e addestrare i modelli)

    Per risolvere i problemi comuni, visita la pagina Problemi comuni di YOLO.

  • Per addestrare un modello YOLO personalizzato:

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

    2. Crea un file YAML che descriva la struttura e le classi del tuo dataset (vedi l'esempio di YAML per il dataset).

    3. 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 le opzioni avanzate di addestramento, consulta la guida completa all'addestramento.

  • Ultralytics offre una vasta gamma di modelli preaddestrati per diverse attività:

    • Rilevamento degli oggetti: YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x
    • Segmentazione delle istanze: YOLO26n-seg, YOLO26s-seg, YOLO26m-seg, YOLO26l-seg, YOLO26x-seg
    • Segmentazione semantica: YOLO26n-sem, YOLO26s-sem, YOLO26m-sem, YOLO26l-sem, YOLO26x-sem
    • Stima della profondità: YOLO26n-depth, YOLO26s-depth, YOLO26m-depth, YOLO26l-depth, YOLO26x-depth
    • Classificazione: YOLO26n-cls, YOLO26s-cls, YOLO26m-cls, YOLO26l-cls, YOLO26x-cls
    • Stima della posa: YOLO26n-pose, YOLO26s-pose, YOLO26m-pose, YOLO26l-pose, YOLO26x-pose
    • Rilevamento orientato (OBB): YOLO26n-obb, YOLO26s-obb, YOLO26m-obb, YOLO26l-obb, YOLO26x-obb

    Questi modelli variano per dimensioni e complessità, offrendo diversi compromessi tra velocità e accuratezza. Esplora l'intera gamma di modelli preaddestrati per trovare quello più adatto 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 probabilities

    Per le opzioni avanzate di inferenza, tra cui l'elaborazione batch e l'inferenza sui video, consulta la guida dettagliata alla predizione.

  • Certamente! I modelli Ultralytics sono progettati per una distribuzione flessibile su diverse piattaforme:

    • Dispositivi edge: ottimizza l'inferenza su dispositivi come NVIDIA Jetson o Raspberry Pi utilizzando TensorRT, ONNX o OpenVINO.
    • Mobile: distribuisci i modelli su dispositivi Android o iOS convertendoli in LiteRT o Core ML.
    • Cloud: sfrutta framework come TensorFlow Serving o TorchServe per distribuzioni cloud scalabili.
    • Web: implementa l'inferenza direttamente nel browser utilizzando ONNX Runtime Web.

    Ultralytics fornisce funzioni di esportazione per convertire i modelli in diversi formati per la distribuzione. Esplora l'ampia gamma di opzioni di distribuzione per trovare la soluzione più adatta al tuo caso d'uso.

  • Le principali differenze includono:

    • Inference End-to-End Senza NMS: YOLO26 offre un'inferenza senza NMS con nms=False. Il suo percorso predefinito uno-a-molti utilizza NMS per garantire l'accuratezza.
    • 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: una combinazione ibrida di SGD e Muon (ispirata a Kimi K2 di Moonshot AI) per un addestramento più stabile e una convergenza più rapida.
    • Prestazioni sulla CPU: YOLO26n è fino al 43% più veloce di YOLO11n nell'inferenza ONNX su CPU (Intel Xeon CPU @ 2.00 GHz), il che lo rende ideale per i dispositivi privi di GPU.
    • Ottimizzazioni specifiche per attività: segmentazione migliorata con loss semantica e prototipi multi-scala, RLE per una stima precisa della posa e decodifica OBB migliorata con loss dell'angolo.
    • Attività: entrambi i modelli supportano il rilevamento degli oggetti e la segmentazione delle istanze, mentre YOLO26 aggiunge la segmentazione semantica per predizioni dense a livello di pixel e la stima monoculare della profondità per la profondità di ogni pixel. Entrambi i modelli supportano inoltre la classificazione, la stima della posa e il rilevamento di oggetti orientati (OBB) in un framework unificato.

    Per un confronto approfondito delle funzionalità e delle metriche delle prestazioni, visita la pagina della documentazione di YOLO26.

  • Contribuire a Ultralytics è un ottimo modo per migliorare il progetto e ampliare le tue competenze. Ecco come puoi partecipare:

    1. Crea un fork del repository Ultralytics su GitHub.
    2. Crea un nuovo branch per la tua funzionalità o correzione di bug.
    3. Apporta le modifiche e assicurati che tutti i test vengano superati.
    4. Invia una pull request con una descrizione chiara delle modifiche.
    5. Partecipa al processo di revisione del codice.

    Puoi contribuire anche segnalando bug, suggerendo funzionalità o migliorando la documentazione. Per linee guida dettagliate e best practice, consulta la guida alla contribuzione.

  • Ultralytics YOLO offre un ricco insieme 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-attività: esegui il rilevamento degli oggetti, la segmentazione delle istanze, la segmentazione semantica, la stima monoculare della profondità, la classificazione, la stima della posa e il rilevamento di oggetti orientati (OBB) 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: esegui facilmente il fine-tuning dei modelli su dataset personalizzati con la pipeline di addestramento flessibile.
    • Ampie opzioni di distribuzione: esporta i modelli in diversi formati, come TensorRT, ONNX e CoreML, per distribuirli su varie piattaforme.
    • Documentazione completa: usufruisci di una documentazione completa e di una community di supporto per i tuoi flussi di lavoro di computer vision.
  • Puoi migliorare le prestazioni del tuo modello YOLO con diverse tecniche:

    1. Ottimizzazione degli iperparametri: sperimenta diversi iperparametri usando la Guida all'ottimizzazione degli iperparametri per ottimizzare le prestazioni del modello.
    2. Data augmentation: implementa tecniche come ribaltamento, ridimensionamento, rotazione e regolazione del colore per arricchire il dataset di addestramento e migliorare la capacità di generalizzazione del modello.
    3. Transfer learning: sfrutta i modelli preaddestrati ed esegui il fine-tuning sul tuo dataset specifico usando la guida all'addestramento.
    4. Esporta in formati efficienti: converti il modello in formati ottimizzati come TensorRT o ONNX per un'inferenza più rapida usando la guida all'esportazione.
    5. Benchmark: usa la modalità Benchmark per misurare e migliorare sistematicamente la velocità e l'accuratezza dell'inferenza.
  • Ultralytics mette a disposizione numerose risorse per aiutarti a iniziare e a padroneggiare i suoi strumenti:

    Queste risorse forniscono esempi di codice, casi d'uso reali e guide dettagliate per varie attività utilizzando i modelli Ultralytics.

    Se hai bisogno di ulteriore assistenza, consulta la documentazione di Ultralytics o contatta la community tramite le Issue di GitHub o il forum ufficiale di discussione.

Commenti