Come addestrare in modo personalizzato Ultralytics YOLO26 per l'instance segmentation
Scopri come addestrare in modo personalizzato Ultralytics YOLO26 per l'instance segmentation, in cui il modello identifica e separa ogni singolo oggetto utilizzando maschere a livello di pixel.

Grazie ai recenti progressi tecnologici, molti sistemi intelligenti che svolgono un ruolo silenzioso ma significativo nelle nostre vite sono alimentati dall'IA. Ad esempio, quando un'auto passa col rosso e una telecamera registra automaticamente l'infrazione, o quando un sistema di ispezione qualità automatizzato individua un difetto di fabbricazione su una linea di produzione, l'IA sta lavorando dietro le quinte.
In particolare, una branca dell'IA nota come computer vision consente alle macchine di interpretare e comprendere immagini e video. La computer vision consente ai sistemi di riconoscere oggetti, tracciare il movimento e analizzare i dettagli visivi in tempo reale, rendendola essenziale per applicazioni come il monitoraggio del traffico, l'ispezione industriale e la robotica.
Queste capacità sono rese possibili da computer vision models come Ultralytics YOLO26, che supporta una varietà di attività di visione, tra cui il rilevamento di oggetti e la segmentazione d'istanza. Mentre il rilevamento di oggetti identifica gli oggetti utilizzando semplici bounding box, la segmentazione d'istanza va oltre delineando ciascun oggetto a livello di pixel, consentendo risultati più accurati e affidabili in scenari del mondo reale.

Fig. 1. Segmentazione di oggetti in un'immagine tramite Ultralytics YOLO26
Modelli come Ultralytics YOLO26 sono preaddestrati e possono segmentare oggetti di tutti i giorni come persone, auto e animali fin da subito. Tuttavia, per applicazioni più specifiche, possono anche essere addestrati su misura. In altre parole, i modelli possono imparare a capire che aspetto hanno gli oggetti e come delinearli con precisione.
In questo articolo, vedremo come addestrare in modo personalizzato Ultralytics YOLO26 per la instance segmentation. Iniziamo!
Cos'è l'instance segmentation?#
Prima di immergerci nell'addestramento dei modelli, facciamo un passo indietro e comprendiamo cosa significhi realmente instance segmentation.
La instance segmentation è un task di computer vision che permette a un modello di trovare ogni singolo oggetto in un'immagine e delinearne la forma esatta. Invece di limitarsi a identificare che un oggetto esiste, il modello esamina ogni pixel dell'immagine e decide se appartiene a uno specifico oggetto.
Ciò significa che può separare oggetti anche quando si sovrappongono o sono molto vicini. Un concetto chiave che rende facile visualizzare la instance segmentation è una maschera.
Una maschera è un contorno a livello di pixel che copre solo l'area di un oggetto. Puoi pensarla come colorare l'oggetto con un evidenziatore lasciando tutto il resto intatto.
Ogni oggetto ottiene la sua maschera, il che permette al modello di distinguere un oggetto dall'altro, anche se sono dello stesso tipo, come due auto o due persone in piedi una accanto all'altra.

Fig 2. Uno sguardo alla instance segmentation
Per farti un'idea migliore di cosa sia la segmentazione d'istanza, possiamo confrontarla con altri comuni computer vision tasks. Il rilevamento di oggetti utilizza i bounding box, che sono semplici rettangoli tracciati attorno agli oggetti. I bounding box sono veloci e utili, ma non catturano la forma esatta di un oggetto.
Nel frattempo, la semantic segmentation etichetta ogni pixel nell'immagine per categoria, ma non distingue tra singoli oggetti della stessa classe. La instance segmentation combina il meglio di entrambi gli approcci identificando le categorie di oggetti e assegnando una maschera separata a ogni singolo oggetto.
Poiché la instance segmentation fornisce informazioni così dettagliate, è particolarmente utile in applicazioni reali come l'ispezione qualità automatizzata, l'imaging medico e la robotica. I task che richiedono misurazioni precise, confini accurati o separazione degli oggetti possono beneficiare di questa comprensione a livello di pixel.
Ultralytics YOLO26 supporta la instance segmentation#
Ultralytics YOLO26 è un modello di computer vision all'avanguardia, end-to-end e privo di NMS, progettato per gestire task di visione reali in modo rapido ed efficiente. Appartiene alla famiglia di modelli di detection Ultralytics YOLO, che possono elaborare immagini e video in tempo reale fornendo risultati accurati.
Ultralytics YOLO26 supporta molteplici attività di visione all'interno di un unico framework, tra cui rilevamento di oggetti, stima della posta, classificazione delle immagini, rilevamento di bounding box orientati (rilevamento obb) e segmentazione delle istanze.
Fin da subito, Ultralytics YOLO26 viene fornito preaddestrato, il che significa che ha già imparato a riconoscere oggetti comuni come persone, veicoli e articoli di uso quotidiano da set di dati ampi e ampiamente utilizzati come il dataset COCO e il dataset ImageNet. Puoi iniziare a utilizzare il modello immediatamente senza alcun addestramento aggiuntivo.
Tuttavia, quando la tua applicazione coinvolge oggetti unici, ambienti specifici o condizioni di luce insolite, custom model training può migliorare significativamente i risultati. Addestrando Ultralytics YOLO26 sulle tue immagini etichettate, puoi insegnare al modello esattamente cosa cercare e come delineare gli oggetti con maggiore precisione per il tuo caso d'uso specifico.
Questo processo viene anche definito fine-tuning. Invece di addestrare un modello da zero, il fine-tuning parte da un modello Ultralytics YOLO26 preaddestrato e lo adatta delicatamente utilizzando i tuoi dati. Poiché il modello comprende già modelli visivi generali come bordi, forme e texture, richiede molte meno immagini etichettate e molto meno tempo per imparare i tuoi oggetti specifici.
In parole semplici, il fine-tuning è più veloce, più efficiente e più accessibile rispetto all'addestramento di un modello da zero. L'addestramento personalizzato di Ultralytics YOLO26 è un'opzione pratica anche per i principianti o per i team che lavorano con dati e risorse di calcolo limitate.
Esplorazione delle applicazioni di segmentazione d'istanza con Ultralytics YOLO26#
Quindi, dove può essere d'impatto la instance segmentation? In situazioni in cui è importante distinguere gli oggetti e comprenderne le forme esatte, specialmente quando le cose diventano affollate o si sovrappongono.
Ecco alcuni flussi di lavoro comuni in cui la instance segmentation fa una reale differenza:
- Aerial and drone imaging: Questa attività consente ai droni di separare oggetti come edifici, veicoli e vegetazione nelle immagini aeree per la mappatura, l'ispezione e il rilevamento.
- Sports analytics: La instance segmentation aiuta ad analizzare il movimento e le interazioni dei giocatori separando i singoli atleti dallo sfondo durante partite o sessioni di allenamento.
- Construction and infrastructure monitoring: Aiuta a identificare elementi strutturali, crepe o aree danneggiate in edifici, ponti e strade per la pianificazione della manutenzione.
- Healthcare and medical imaging: La instance segmentation rende possibile delineare con precisione cellule, tessuti o strumenti medici, supportando analisi e diagnosi più accurate.
- Agriculture and environmental monitoring: Può identificare e separare colture, frutti o malattie delle piante, facilitando la stima dei raccolti e l'applicazione di trattamenti mirati.

Fig 3. Un esempio di segmentazione delle malerbe tramite YOLO26 (Source)
Come funziona l'addestramento personalizzato di Ultralytics YOLO26 per la segmentazione d'istanza#
Successivamente, discutiamo di come funziona l'addestramento personalizzato. Anche se addestrare un modello potrebbe sembrare tecnico, il processo complessivo è semplice.
Puoi preparare le tue immagini, etichettare gli oggetti che desideri che il modello apprenda, configurare un piccolo file di impostazioni e quindi addestrare YOLO26 utilizzando il Ultralytics Python package. Il pacchetto Python di Ultralytics è una libreria software che fornisce strumenti pronti all'uso per l'addestramento, il test e il deployment dei modelli YOLO senza dover costruire tutto da zero.
Passaggio 1: Prepara il tuo dataset personalizzato#
Il primo passo è preparare il tuo segmentation dataset personalizzato. Un dataset è semplicemente una raccolta di immagini che mostrano gli oggetti che desideri che il modello apprenda.
Cerca di includere immagini che riflettano condizioni reali, come angolazioni, illuminazione, sfondi e dimensioni degli oggetti diverse. Più varie saranno le tue immagini, migliore sarà la performance del tuo modello.
Per la instance segmentation, le tue immagini hanno bisogno anche di annotazioni. L'annotazione comporta l'etichettatura degli oggetti in ogni immagine in modo che il modello sappia cosa imparare. Invece di disegnare semplici riquadri, disegnerai contorni dettagliati (poligoni) attorno a ogni oggetto per contrassegnarne la forma esatta. Questi contorni diventano le maschere che il modello impara a prevedere.
Esistono diversi strumenti di annotazione open-source che puoi usare per creare queste etichette. Molti di questi strumenti offrono interfacce user-friendly dove puoi caricare immagini e disegnare i contorni degli oggetti direttamente su di esse.
Una volta che le tue immagini e le annotazioni sono pronte, puoi organizzarle in cartelle di training e validation. Una suddivisione tipica è l'80% delle immagini per il training e il 20% per la validation, sebbene anche il 70% per il training e il 30% per la validation sia comune, a seconda della dimensione del tuo dataset. Il set di training insegna al modello, mentre il set di validation viene usato per misurare quanto bene performa su immagini che non ha mai visto prima.
Mantenere questa suddivisione bilanciata e assicurarsi che entrambe le cartelle contengano una varietà di esempi è importante. Un dataset pulito e ben etichettato con una corretta suddivisione tra training e validation costituisce la base di un solido modello di instance segmentation.
Passaggio 2: Crea un file YAML del dataset#
Dopo aver preparato le tue immagini e le annotazioni, il passaggio successivo è creare un file YAML del dataset. Questo file evidenzia dove si trova il tuo dataset e quali classi di oggetti il modello dovrebbe imparare durante l'addestramento.
In questo file, puoi definire la directory principale del dataset, i percorsi alle tue cartelle di immagini di training e validation, e l'elenco dei nomi delle classi. I nomi delle classi devono essere elencati nello stesso ordine dei numeri di classe usati nei tuoi file di annotazione, in modo che tutto corrisponda correttamente.
Se hai domande sul formato esatto, puoi fare riferimento alla official Ultralytics documentation per maggiori dettagli.
Passaggio 3: Installa il pacchetto Python di Ultralytics#
Ora che il tuo dataset e il file YAML sono pronti, il passaggio successivo è installare il pacchetto Python di Ultralytics.
Questo pacchetto include gli strumenti necessari per addestrare, convalidare, eseguire l'inferenza ed esportare i modelli Ultralytics YOLO26. Offre un modo semplificato per lavorare con i modelli YOLO senza costruire pipeline di addestramento complesse da zero.
Prima di installare il pacchetto Python di Ultralytics, è anche importante scegliere dove vuoi eseguire il tuo codice. Puoi lavorare con il pacchetto Ultralytics in diversi ambienti di sviluppo, come:
- Command line interface (CLI): È un ambiente basato su testo dove interagisci con il tuo computer digitando comandi. Invece di cliccare su pulsanti o navigare tra i menu come faresti in un'interfaccia grafica, inserisci istruzioni scritte per eseguire programmi ed eseguire task direttamente.
- Jupyter Notebooks: Un ambiente interattivo dove scrivi ed esegui codice in piccole sezioni e vedi immediatamente l'output. Questo è utile per la sperimentazione e l'apprendimento.
- Google Colab: Una piattaforma notebook basata su cloud che non richiede installazione locale e fornisce accesso opzionale alle GPU. Questa è spesso l'opzione più semplice per i principianti.
Una volta scelto il tuo ambiente, puoi installare il pacchetto Python di Ultralytics. Per installarlo, esegui il seguente comando:
pip install ultralytics
Se stai utilizzando un ambiente basato su notebook come Google Colab o Jupyter Notebook, aggiungi un punto esclamativo all'inizio del comando. Se riscontri problemi di installazione, puoi fare riferimento alla documentazione di Ultralytics o alla troubleshooting guide per correzioni comuni e suggerimenti sulla configurazione dell'ambiente.
Dopo l'installazione, sarai pronto a caricare un modello di segmentazione Ultralytics YOLO26 preaddestrato e a iniziare l'addestramento.
Passaggio 4: Addestra Ultralytics YOLO26 per la segmentazione d'istanza#
Prima di iniziare l'addestramento, dovrai scegliere una dimensione del modello. I modelli Ultralytics YOLO26 sono disponibili in diverse dimensioni: Nano (n), Small (s), Medium (m), Large (l) ed Extra Large (x).
I modelli più piccoli si addestrano più velocemente ed eseguono in modo più efficiente su CPU o dispositivi edge, mentre i modelli più grandi solitamente offrono una maggiore precisione ma richiedono più memoria e beneficiano dell'accelerazione GPU. Se sei appena agli inizi o lavori con hardware limitato, la versione Nano (YOLO26n) è una scelta pratica.
Una volta selezionata una dimensione del modello, il passaggio successivo è caricare un modello di segmentazione preaddestrato e iniziare ad addestrarlo sul tuo dataset personalizzato. Per farlo, dovrai specificare il file del modello preaddestrato, il percorso al tuo file YAML del dataset, il numero di epoche e la dimensione dell'immagine come mostrato di seguito.
from ultralytics import YOLO
model = YOLO("yolo26n-seg.pt")
results = model.train(data="path/to/file.yaml", epochs=100, imgsz=640)Il numero di epoche determina quante volte il modello attraversa l'intero dataset di training. Con ogni epoca, il modello effettua previsioni, le confronta con le annotazioni corrette, calcola gli errori e aggiorna i suoi parametri interni per migliorare le prestazioni.
Se l'addestramento inizia correttamente, vedrai la configurazione del modello, la scansione del dataset e il progresso dell'addestramento visualizzati nel tuo terminale o notebook. Man mano che l'addestramento continua, i valori di perdita e le metriche di valutazione si aggiorneranno dopo ogni epoca, mostrando come il modello sta migliorando nel tempo.
Passaggio 5: Valuta le prestazioni del modello addestrato in modo personalizzato#
Dopo che il processo di addestramento è completo, puoi rivedere e validare le metriche di performance del modello. In Google Colab, puoi navigare alla cartella “runs”, poi alla cartella “segment” e infine alla cartella “train”, dove troverai i log che visualizzano gli indicatori chiave di prestazione.
Per gli utenti che lavorano in un ambiente Python, i risultati dell'addestramento vengono salvati di default nella directory “runs/train/” all'interno della tua directory di lavoro corrente. Ogni run di addestramento crea una nuova sottocartella, come runs/train/exp o runs/train/exp2, dove puoi trovare log, pesi salvati e altri output relativi a quell'esperimento.
Se stai usando la CLI, puoi accedere e gestire questi risultati usando il comando “yolo settings”. Questo comando ti permette di visualizzare o modificare i percorsi e le configurazioni relative ai log di addestramento e ai dettagli dell'esperimento.
Tra gli output salvati, troverai anche grafici generati durante l'addestramento. Questi grafici mostrano come il modello è migliorato nel tempo. Ad esempio, mostrano come la perdita è diminuita man mano che il modello imparava e come le metriche di valutazione come precision, recall e mAP sono aumentate nel corso delle epoche.

Fig 4. Il tipo di grafici che puoi analizzare per valutare il tuo modello (Source)
Questi trend visivi possono aiutarti a capire se il modello è stato addestrato con successo e quanto è migliorato dall'inizio alla fine dell'addestramento. Rivedere sia le metriche numeriche che i grafici ti dà un quadro più chiaro di quanto bene sta performando il tuo modello di instance segmentation prima di passare al test con nuove immagini.
Passaggio 6: Testa il tuo modello ed esegui l'inferenza#
Dopo aver validato il tuo modello, il passaggio finale è testarlo su nuove immagini. Questo processo è chiamato inferenza, che significa semplicemente usare il tuo modello addestrato per effettuare previsioni su dati non visti.
Puoi eseguire l'inferenza in Python come segue:
results = model.predict("path/to/image.jpg", save=True, conf=0.3)In questo esempio, "path/to/image.jpg" può essere sostituito con il percorso all'immagine che vuoi testare.
L'impostazione “save=True” dice al modello di generare e memorizzare una nuova immagine che include le maschere di segmentazione previste disegnate sopra l'immagine originale.
L'impostazione “conf=0.3” controlla la soglia di confidenza, il che significa che il modello mostrerà solo le previsioni che è sicuro almeno al 30% che siano corrette. Abbassare questo valore potrebbe mostrare più rilevazioni, mentre aumentarlo renderà il modello più selettivo.
Dopo aver eseguito il comando, il modello crea una nuova cartella all'interno della directory runs dove salva l'immagine di output. Puoi aprire quell'immagine salvata per controllare visivamente quanto bene le maschere di segmentazione seguono i confini dell'oggetto e se gli oggetti sovrapposti sono separati correttamente.
Testare il modello su immagini, sfondi e condizioni di illuminazione diversi può darti una comprensione più chiara di come performa al di fuori del dataset di addestramento. Una volta che i risultati sembrano coerenti e accurati, il modello è pronto per essere esportato e distribuito.
Passaggio 7: Esporta e distribuisci il tuo modello#
Dopo aver testato il tuo modello e confermato che funziona bene, il passaggio finale è esportarlo e distribuirlo. L'esportazione converte il tuo modello Ultralytics YOLO26 addestrato in un formato in grado di essere eseguito in diversi ambienti, come server di produzione, dispositivi edge o applicazioni mobili.
Ultralytics supporta molteplici export formats, permettendoti di scegliere quello che meglio si adatta alla tua configurazione di deployment. Ad esempio, puoi esportare in ONNX per un'ampia compatibilità tra piattaforme, TensorRT per prestazioni GPU ottimizzate su hardware NVIDIA o OpenVINO per un efficiente deployment basato su CPU su dispositivi Intel. Queste integrazioni rendono più semplice eseguire il tuo modello al di fuori dell'ambiente di addestramento e ottenere solide prestazioni in tempo reale.
Puoi esportare il tuo modello in Python usando il seguente comando:
model.export(format="onnx")Questo comando converte il tuo modello addestrato in formato ONNX. Puoi sostituire "onnx" con altri formati supportati a seconda delle tue esigenze di distribuzione.
Una volta esportato, il tuo modello può essere integrato in applicazioni come servizi Web, sistemi di visione integrati, piattaforme di robotica o sistemi di ispezione industriale. A questo punto, il tuo modello di segmentazione di istanze Ultralytics YOLO26 addestrato su misura può passare dalla fase di sperimentazione a quella di distribuzione nel mondo reale.
Punti chiave#
Addestrare in modo personalizzato Ultralytics YOLO26 per la instance segmentation ti offre la flessibilità di costruire un modello che si adatta veramente al tuo caso d'uso specifico. Preparando un dataset chiaro, configurando il tuo file YAML, addestrando con pesi di segmentazione preaddestrati e rivedendo i risultati, puoi insegnare al modello a delineare accuratamente ogni oggetto a livello di pixel. Una volta testato ed esportato, il tuo modello YOLO26 può passare dallo sviluppo ad applicazioni reali su più scale.
Unisciti alla our community e dai un'occhiata al nostro GitHub repository per scoprire di più sull'IA. Se desideri costruire il tuo progetto di visione IA, dai un'occhiata alle nostre licensing options. Scopri di più su applicazioni come AI in healthcare e vision AI in retail visitando le nostre pagine delle soluzioni.






