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 permette alle macchine di interpretare e comprendere immagini e video. La computer vision consente ai sistemi di riconoscere oggetti, tracciare il movimento e analizzare dettagli visivi in tempo reale, rendendola essenziale per applicazioni come il monitoraggio del traffico, l'ispezione industriale e la robotica.
Queste funzionalità sono rese possibili tramite computer vision models come Ultralytics YOLO26, che supporta una varietà di task di visione, tra cui object detection e instance segmentation. Mentre l'object detection identifica gli oggetti usando semplici bounding box, la instance segmentation va oltre delineando ogni oggetto a livello di pixel, consentendo risultati più accurati e affidabili in scenari reali.

Fig 1. Segmentazione degli oggetti in un'immagine usando YOLO26
Modelli come YOLO26 sono preaddestrati e possono segmentare oggetti comuni come persone, auto e animali fin da subito. Tuttavia, per applicazioni più specifiche, possono anche essere addestrati in modo personalizzato. In altre parole, i modelli possono imparare a capire che aspetto hanno gli oggetti e come delinearli accuratamente.
In questo articolo, vedremo come addestrare in modo personalizzato Ultralytics YOLO26 per la instance segmentation. Iniziamo!
Link to this sectionCos'è l'instance segmentation?#
Prima di immergerci nell'addestramento dei modelli, facciamo un passo indietro e capiamo cosa significa 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 avere un'idea migliore di cosa sia la instance segmentation, possiamo confrontarla con altri computer vision tasks comuni. L'object detection usa bounding box, che sono semplici rettangoli disegnati 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.
Link to this sectionUltralytics 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.
YOLO26 supporta molteplici task di visione all'interno di un unico framework, inclusi object detection, pose estimation, image classification, oriented bounding box detection (obb detection) e instance segmentation.
Pronto all'uso, YOLO26 arriva preaddestrato, il che significa che ha già imparato a riconoscere oggetti comuni come persone, veicoli e articoli di uso quotidiano da dataset ampi e ampiamente utilizzati come il dataset COCO e il dataset ImageNet. Puoi iniziare a usare il modello immediatamente senza alcun addestramento aggiuntivo.
Tuttavia, quando la tua applicazione coinvolge oggetti unici, ambienti specifici o condizioni di luce insolite, il custom model training può migliorare significativamente i risultati. Addestrando YOLO26 sulle tue immagini etichettate, puoi insegnare al modello esattamente cosa cercare e come delineare gli oggetti in modo più accurato per il tuo caso d'uso specifico.
Questo processo è anche definito come fine-tuning. Invece di addestrare un modello da zero, il fine-tuning inizia con un modello YOLO26 preaddestrato e lo adatta delicatamente usando i tuoi dati. Poiché il modello comprende già pattern visivi generali come bordi, forme e texture, ha bisogno di molte meno immagini etichettate e molto meno tempo per imparare i tuoi oggetti specifici.
In parole povere, il fine-tuning è più veloce, più efficiente e più accessibile rispetto all'addestramento di un modello partendo da zero. L'addestramento personalizzato di YOLO26 è un'opzione pratica anche per i principianti o per i team che lavorano con dati e risorse di calcolo limitate.
Link to this sectionEsplorare le applicazioni della instance segmentation con 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: Questo task consente ai droni di separare oggetti come edifici, veicoli e vegetazione in immagini aeree per mappatura, ispezione e rilievi.
- 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 erbe infestanti usando YOLO26 (Source)
Link to this sectionCome funziona l'addestramento personalizzato di YOLO26 per la instance segmentation#
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 vuoi che il modello impari, configurare un piccolo file di impostazioni e poi addestrare YOLO26 usando il Ultralytics Python package. Il pacchetto Python di Ultralytics è una libreria software che fornisce strumenti pronti all'uso per addestrare, testare e distribuire modelli YOLO senza dover costruire tutto da zero.
Link to this sectionPassaggio 1: Prepara il tuo dataset personalizzato#
Il primo passaggio è preparare il tuo segmentation dataset personalizzato. Un dataset è semplicemente una collezione di immagini che mostrano gli oggetti che vuoi che il modello impari.
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.
Link to this sectionPassaggio 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 consultare la official Ultralytics documentation per maggiori dettagli.
Link to this sectionPassaggio 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, validare, eseguire l'inferenza ed esportare i modelli YOLO26. Fornisce un modo semplificato per lavorare con i modelli YOLO senza costruire complessi pipeline di addestramento 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 usando 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 consultare la documentazione di Ultralytics o la troubleshooting guide per correzioni comuni e suggerimenti sulla configurazione dell'ambiente.
Dopo l'installazione, sarai pronto per caricare un modello di segmentazione YOLO26 preaddestrato e iniziare l'addestramento.
Link to this sectionPassaggio 4: Addestra YOLO26 per la instance segmentation#
Prima di iniziare l'addestramento, dovrai scegliere una dimensione del modello. I modelli YOLO26 sono disponibili in diverse dimensioni: Nano (n), Small (s), Medium (m), Large (l) e 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.
Link to this sectionPassaggio 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.
Link to this sectionPassaggio 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.
Link to this sectionPassaggio 7: Esporta e distribuisci il tuo modello#
Dopo aver testato il tuo modello e confermato che performa bene, il passaggio finale è esportarlo e distribuirlo. L'esportazione converte il tuo modello YOLO26 addestrato in un formato che può 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 distribuzione. Ad esempio, puoi esportare in ONNX per un'ampia compatibilità tra piattaforme, TensorRT per prestazioni GPU ottimizzate su hardware NVIDIA, o OpenVINO per una distribuzione efficiente basata 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 embedded, piattaforme robotiche o sistemi di ispezione industriale. In questa fase, il tuo modello di instance segmentation YOLO26 addestrato in modo personalizzato può passare dalla sperimentazione alla distribuzione nel mondo reale.
Link to this sectionPunti 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 nostra community e dai un'occhiata al nostro GitHub repository per scoprire di più sull'IA. Se stai cercando di costruire il tuo progetto di vision AI, dai un'occhiata alle nostre licensing options. Esplora di più su applicazioni come AI in healthcare e vision AI in retail visitando le nostre pagine delle soluzioni.






