Ultralytics YOLO27:
Get Started

Come definire gli obiettivi del tuo progetto di computer vision#

Per definire un progetto di computer vision, scrivi una descrizione del problema che indichi la questione centrale, l'ambito, le parti interessate e i vincoli; stabilisci obiettivi misurabili e con scadenze definite; quindi associa il problema all'attività di computer vision che determinerà le scelte relative a modello, dataset e implementazione. Questa guida illustra ogni passaggio con un esempio svolto.



Guarda: Come definire l'obiettivo di un progetto di visione artificiale | Collegamento tra definizione del problema e task VisionAI 🚀

Per una panoramica dell'intero flusso di lavoro, dalla raccolta dei dati all'implementazione, consulta la nostra guida sui passaggi fondamentali di un progetto di computer vision.

Come scrivere una descrizione del problema di computer vision#

Una descrizione chiara del problema è il primo passo importante per individuare la soluzione più efficace. Si compone di quattro parti:

  • Individua la questione centrale: identifica la sfida specifica che il tuo progetto di computer vision intende risolvere.
  • Definisci l'ambito: stabilisci i confini del problema.
  • Considera utenti finali e parti interessate: identifica chi subirà gli effetti della soluzione.
  • Analizza requisiti e vincoli del progetto: valuta le risorse disponibili (tempo, budget, personale) e individua eventuali vincoli tecnici o normativi.

Esempio di descrizione di un problema aziendale#

Considera un progetto di computer vision in cui vuoi stimare la velocità dei veicoli su un'autostrada. Il problema centrale è che gli attuali metodi di monitoraggio della velocità sono inefficienti e soggetti a errori a causa di sistemi radar obsoleti e processi manuali. Il progetto mira a sviluppare un sistema di computer vision in tempo reale in grado di sostituire i sistemi tradizionali di stima della velocità.

Vehicle speed estimation on a highway using Ultralytics YOLO

Gli utenti principali sono le autorità di gestione del traffico e le forze dell'ordine; tra le parti interessate secondarie figurano i progettisti di autostrade e il pubblico, che beneficia di strade più sicure. I requisiti chiave comprendono la valutazione di budget, tempi e personale, oltre alla gestione di esigenze tecniche come telecamere ad alta risoluzione ed elaborazione dei dati in tempo reale. Occorre inoltre considerare i vincoli normativi in materia di privacy e sicurezza dei dati.

Definizione di obiettivi misurabili#

Definire obiettivi misurabili è fondamentale per il successo di un progetto di computer vision. Gli obiettivi efficaci rispettano i criteri SMART:

CriterioCosa significa
SpecificoDefinisci obiettivi chiari e dettagliati.
MisurabileAssicurati che gli obiettivi siano quantificabili.
RaggiungibileFissa traguardi realistici, alla tua portata.
RilevanteAllinea gli obiettivi con quelli generali del progetto.
Con una scadenzaFissa una scadenza per ogni obiettivo.

Per l'esempio della stima della velocità in autostrada, gli obiettivi SMART potrebbero essere:

  • Raggiungere almeno il 95% di accuratezza nel rilevamento della velocità entro sei mesi, utilizzando un dataset di 10.000 immagini di veicoli.
  • Il sistema dovrebbe essere in grado di elaborare flussi video in tempo reale a 30 fotogrammi al secondo, con un ritardo minimo.

Definendo obiettivi specifici e quantificabili, puoi monitorare efficacemente i progressi, individuare gli aspetti da migliorare e assicurarti che il progetto proceda secondo i piani.

Come scegliere il task di computer vision più adatto#

La definizione del problema ti aiuta a individuare il task di computer vision in grado di risolverlo. I task più diffusi includono la classificazione delle immagini, il rilevamento degli oggetti e la segmentazione delle immagini: consulta la pagina dei task di Ultralytics per un confronto dettagliato.

Comparison of image classification, object detection, and image segmentation outputs

Ad esempio, se il tuo problema consiste nel monitorare la velocità dei veicoli in autostrada, il task è il rilevamento degli oggetti eseguito in modalità di tracciamento. Il tracciamento assegna a ogni veicolo rilevato un ID persistente attraverso i fotogrammi del video, necessario per calcolare la velocità.

In questo caso, il solo rilevamento non basta: individua i veicoli in ogni fotogramma, ma non ne mantiene l'identità da un fotogramma all'altro; senza tale identità, il sistema non può misurare il movimento nel tempo. La modalità di tracciamento aggiunge questa identità. Una volta individuato il task di computer vision appropriato, puoi usarlo per orientare diversi aspetti cruciali del progetto, come la scelta del modello, la preparazione del dataset e gli approcci di addestramento del modello.

Da dove iniziare: modello, dati o approccio di addestramento?#

L'ordine di scelta del modello, preparazione del dataset e definizione dell'approccio di addestramento dipende dalle caratteristiche specifiche del progetto:

La tua situazioneInizia daEsempio
Problema e obiettivi ben definitiScelta del modelloPer un sistema di monitoraggio del traffico che stima la velocità dei veicoli, scegli un modello di rilevamento da eseguire in modalità di tracciamento, raccogli e annota video di autostrade, quindi addestralo con tecniche per l'elaborazione video in tempo reale.
Dati unici o limitatiPreparazione del datasetPer un sistema di riconoscimento facciale con un dataset ridotto, annota prima i dati, poi scegli un modello adatto a dati limitati, ad esempio un modello preaddestrato per il transfer learning, e pianifica l'aumento dei dati per ampliare il dataset.
La sperimentazione è fondamentale (ricerca)Approccio di addestramentoIn un progetto che esplora nuovi metodi per rilevare difetti di fabbricazione, sperimenta prima su un piccolo sottoinsieme di dati. Una volta individuata una tecnica promettente, scegli un modello adatto ai risultati ottenuti e prepara un dataset completo.

Se inizi dai dati, la Ultralytics Platform semplifica l'organizzazione del dataset, l'annotazione e l'addestramento man mano che il progetto evolve.

In che modo le opzioni di deployment influenzano il tuo progetto#

Le opzioni di deployment dei modelli incidono in modo determinante sulle prestazioni del tuo progetto di computer vision, quindi considerale fin dall'inizio. L'ambiente di deployment deve essere in grado di gestire il carico computazionale del modello:

Opzione di deploymentIdeale perTecnologie di esempio
Dispositivi edgeSmartphone e dispositivi IoT con risorse computazionali limitate; modelli leggeriLiteRT, ONNX Runtime
Server cloudModelli complessi con maggiori esigenze computazionali; hardware scalabile in base alle necessità del progettoAWS, Google Cloud, Azure
Server on-premiseEsigenze elevate di privacy dei dati e sicurezza; controllo completo sui dati e sull'infrastrutturaServer GPU gestiti autonomamente
Soluzioni ibrideEquilibrio tra prestazioni, costi e latenza; elaborazione edge e analisi cloudCombinazione di runtime edge e piattaforme cloud

Ogni opzione offre vantaggi e sfide differenti; la scelta dipende dai requisiti specifici del progetto, come prestazioni, costi e sicurezza.

Conclusione#

Un progetto di computer vision efficace parte da una chiara definizione del problema, da obiettivi SMART misurabili e dal task di computer vision più adatto: queste scelte guidano tutto ciò che segue, dalla selezione del modello al deployment. Come passo successivo, scopri come raccogliere e annotare i dati oppure discuti del tuo progetto con altri sviluppatori su GitHub e sul server Discord di Ultralytics.

Domande frequenti#

  • Una chiara definizione del problema indica la questione fondamentale che il progetto intende risolvere, il suo ambito, gli utenti finali e gli stakeholder, nonché i vincoli relativi a risorse e normative. Esamina questi quattro aspetti nell'ordine indicato, poi convalida la definizione con gli stakeholder prima di prendere decisioni tecniche. Consulta Come scrivere la definizione del problema di un progetto di computer vision per una spiegazione completa e un esempio svolto.

  • Abbina l'output richiesto dal problema al task che lo produce: un'unica etichetta per immagine rimanda alla classificazione delle immagini, le posizioni degli oggetti al rilevamento degli oggetti, i contorni a livello di pixel alla segmentazione delle immagini e il mantenimento delle identità attraverso i fotogrammi video al medesimo modello di rilevamento eseguito in modalità di tracciamento. Ad esempio, per monitorare la velocità dei veicoli è necessario il tracciamento, perché la velocità si calcola in base al movimento di ciascun veicolo nel tempo. Consulta la pagina dei task di Ultralytics per vedere tutti i task supportati.

  • Usa i criteri SMART: Specifico, Misurabile, Raggiungibile, Rilevante e con una scadenza. Ad esempio: "Raggiungere il 95% di accuratezza nel rilevamento della velocità entro sei mesi, utilizzando un dataset di 10.000 immagini di veicoli." Questo approccio aiuta a monitorare i progressi e a individuare gli aspetti da migliorare. Scopri di più su come definire obiettivi misurabili.

  • No, i modelli preaddestrati non "ricordano" le classi nel senso tradizionale. Apprendono schemi da dataset di grandi dimensioni e, durante l'addestramento personalizzato (fine-tuning), questi schemi vengono adattati al task specifico. La capacità del modello è limitata e concentrarsi su nuove informazioni può sovrascrivere parte di quanto appreso in precedenza.

    Overview of transfer learning from a pretrained model to a custom model

    Se vuoi usare le classi su cui il modello è stato preaddestrato, un approccio pratico consiste nell'usare due modelli: uno mantiene le prestazioni originali, mentre l'altro viene sottoposto a fine-tuning per il task specifico. In questo modo puoi combinare gli output di entrambi i modelli. Esistono altre opzioni, come congelare i layer, usare il modello preaddestrato come estrattore di caratteristiche e ricorrere a diramazioni specifiche per il task, ma sono soluzioni più complesse che richiedono maggiore esperienza.

  • Le opzioni di deployment determinano quali dimensioni e formati dei modelli sono praticabili, quindi influenzano il progetto fin dall'inizio. I dispositivi edge richiedono modelli leggeri, distribuiti tramite formati e runtime come LiteRT o ONNX Runtime; i server cloud gestiscono modelli complessi su hardware scalabile; i server on-premise garantiscono il pieno controllo dei dati nei progetti sensibili alla privacy; le configurazioni ibride bilanciano le due opzioni. Confrontale nella tabella delle opzioni di deployment oppure consulta la guida alle opzioni di deployment dei modelli per maggiori dettagli.

  • Le sfide più comuni includono:

    • Definizioni del problema vaghe o troppo ampie.
    • Obiettivi irrealistici.
    • Mancanza di allineamento tra gli stakeholder.
    • Conoscenza insufficiente dei vincoli tecnici.
    • Sottovalutazione dei requisiti relativi ai dati.

    Affronta queste sfide con una ricerca iniziale approfondita, una comunicazione chiara con gli stakeholder e un perfezionamento iterativo della definizione del problema e degli obiettivi. Per il flusso di lavoro completo del progetto, consulta i passaggi fondamentali di un progetto di computer vision.

Commenti