Link to this sectionCome definire gli obiettivi per il tuo progetto di computer vision#
Per definire un progetto di computer vision, scrivi un'enunciazione del problema che identifichi la questione centrale, l'ambito, le parti interessate e i vincoli; stabilisci obiettivi misurabili e con scadenze temporali; e mappa il problema sull'attività di computer vision che determina le tue decisioni relative a modello, dataset e distribuzione. Questa guida illustra ogni passaggio con un esempio pratico.
Watch: How to define Computer Vision Project's Goal | Problem Statement and VisionAI Tasks Connection 🚀
Per una panoramica sull'intero flusso di lavoro, dalla raccolta dei dati alla distribuzione, consulta la nostra guida su i passaggi chiave in un progetto di computer vision.
Link to this sectionCome scrivere un'enunciazione del problema di computer vision#
Un'enunciazione del problema chiara è il primo grande passo verso la ricerca della soluzione più efficace. Si compone di quattro parti:
- Identifica la questione principale: Individua la sfida specifica che il tuo progetto di computer vision mira a risolvere.
- Determina l'ambito: Definisci i confini del tuo problema.
- Considera gli utenti finali e gli stakeholder: Identifica chi sarà influenzato dalla soluzione.
- Analizza i requisiti e i vincoli del progetto: Valuta le risorse disponibili (tempo, budget, personale) e identifica eventuali vincoli tecnici o normativi.
Link to this sectionEsempio di una dichiarazione di problema aziendale#
Considera un progetto di computer vision in cui vuoi stimare la velocità dei veicoli su un'autostrada. La questione principale è 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 di stima della velocità legacy.
Gli utenti principali includono le autorità di gestione del traffico e le forze dell'ordine, mentre gli stakeholder secondari sono i pianificatori autostradali e il pubblico che beneficia di strade più sicure. I requisiti chiave riguardano la valutazione di budget, tempo e personale, oltre ad affrontare esigenze tecniche come telecamere ad alta risoluzione ed elaborazione dei dati in tempo reale. Inoltre, devono essere considerati i vincoli normativi sulla privacy e sulla sicurezza dei dati.
Link to this sectionImpostazione di obiettivi misurabili#
Definire obiettivi misurabili è fondamentale per il successo di un progetto di computer vision. Gli obiettivi efficaci seguono i criteri SMART:
| Criterio | Cosa significa |
|---|---|
| Specifico | Definisci obiettivi chiari e dettagliati. |
| Misurabile | Assicurati che gli obiettivi siano quantificabili. |
| Raggiungibile | Fissa traguardi realistici basati sulle tue capacità. |
| Rilevante | Allinea gli obiettivi con le finalità generali del tuo progetto. |
| Definito nel tempo | Stabilisci scadenze 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 feed video in tempo reale a 30 fotogrammi al secondo con un ritardo minimo.
Impostando obiettivi specifici e quantificabili, puoi monitorare efficacemente i progressi, identificare le aree di miglioramento e assicurarti che il progetto rimanga sulla buona strada.
Link to this sectionCome scegliere l'attività di computer vision corretta#
L'enunciazione del problema ti aiuta a concettualizzare quale attività di computer vision può risolvere la tua questione. Le attività più popolari includono classificazione delle immagini, rilevamento di oggetti e segmentazione delle immagini: consulta la pagina delle attività di Ultralytics per un confronto dettagliato.
Ad esempio, se il tuo problema è monitorare la velocità dei veicoli in autostrada, l'attività pertinente è object tracking. Il tracking è adatto perché segue ogni veicolo tra i fotogrammi video con un ID persistente, che è ciò di cui il calcolo della velocità ha bisogno.
Altre attività sono meno adatte se prese singolarmente. Il rilevamento di oggetti, ad esempio, localizza i veicoli in ogni fotogramma ma non mantiene l'identità di ciascun veicolo tra i fotogrammi; senza tale identità, il sistema non può misurare il movimento nel tempo. Una volta identificata l'attività di computer vision appropriata, essa guiderà diversi aspetti critici del tuo progetto, come la selezione del modello, la preparazione del dataset e gli approcci di addestramento.
Link to this sectionCosa viene prima: modello, dati o approccio di addestramento?#
L'ordine tra selezione del modello, preparazione del dataset e approccio di addestramento dipende dalle specifiche del tuo progetto:
| La tua situazione | Inizia con | Esempio |
|---|---|---|
| Problema e obiettivi ben definiti | Selezione del modello | Per un sistema di monitoraggio del traffico che stima la velocità dei veicoli, scegli un modello di object tracking, raccogli e annota video autostradali, quindi addestra il modello con tecniche per l'elaborazione video in tempo reale. |
| Dati unici o limitati | Preparazione del dataset | Per un sistema di riconoscimento facciale con un dataset ridotto, annota prima i dati, quindi seleziona un modello che funzioni bene con dati limitati, come un modello pre-addestrato per il transfer learning, e pianifica l'aumento dei dati per espandere il dataset. |
| La sperimentazione è cruciale (ricerca) | Approccio di addestramento | In un progetto che esplora nuovi metodi per rilevare difetti di produzione, sperimenta prima su un piccolo sottoinsieme di dati. Una volta trovata una tecnica promettente, seleziona un modello su misura per quei risultati e prepara un dataset completo. |
Se inizi con i dati, la piattaforma Ultralytics semplifica l'organizzazione, l'annotazione e l'addestramento del dataset man mano che il tuo progetto si evolve.
Link to this sectionCome le opzioni di distribuzione influenzano il tuo progetto#
Le opzioni di distribuzione del modello influiscono in modo critico sulle prestazioni del tuo progetto di computer vision, quindi tienine conto fin dall'inizio. L'ambiente di distribuzione deve gestire il carico computazionale del tuo modello:
| Opzione di distribuzione | Ideale per | Tecnologie di esempio |
|---|---|---|
| Dispositivi Edge | Smartphone e dispositivi IoT con risorse computazionali limitate; modelli leggeri | TensorFlow Lite, ONNX Runtime |
| Server cloud | Modelli complessi con maggiori richieste computazionali; hardware che si adatta al progetto | AWS, Google Cloud, Azure |
| Server on-premise | Elevate esigenze di privacy dei dati e sicurezza; pieno controllo su dati e infrastruttura | Server GPU autogestiti |
| Soluzioni ibride | Bilanciamento di prestazioni, costi e latenza; elaborazione edge più analisi cloud | Combinazione di runtime edge e piattaforme cloud |
Ogni opzione offre vantaggi e sfide diverse, e la scelta dipende dai requisiti specifici del progetto come prestazioni, costi e sicurezza.
Link to this sectionConclusione#
Un progetto di computer vision di successo inizia con un'enunciazione del problema chiara, obiettivi misurabili SMART e l'attività di computer vision giusta per il lavoro: queste decisioni guidano tutto ciò che segue, dalla selezione del modello alla distribuzione. Come passo successivo, impara a raccogliere e annotare dati, oppure discuti il tuo progetto con altri sviluppatori su GitHub e sul server Discord di Ultralytics.
Link to this sectionFAQ#
Link to this sectionCome definisco un'enunciazione del problema chiara per il mio progetto di computer vision?#
Un'enunciazione del problema chiara nomina la questione centrale che il tuo progetto risolve, il suo ambito, gli utenti finali e le parti interessate, nonché le tue risorse e i vincoli normativi. Lavora su queste quattro parti in ordine, quindi convalida l'enunciazione con le parti interessate prima di prendere decisioni tecniche. Vedi Come scrivere un'enunciazione del problema di computer vision per la analisi completa e un esempio pratico.
Link to this sectionCome scelgo l'attività di computer vision corretta per il mio problema?#
Abbina l'output richiesto dal tuo problema all'attività che lo produce: un'unica etichetta per immagine punta alla classificazione delle immagini, le posizioni degli oggetti puntano al rilevamento di oggetti, i confini a livello di pixel puntano alla segmentazione delle immagini, e le identità mantenute tra i fotogrammi video puntano all'object tracking. Monitorare la velocità dei veicoli, ad esempio, richiede il tracking poiché la velocità viene calcolata dal movimento di ciascun veicolo nel tempo. Consulta la pagina delle attività di Ultralytics per tutte le attività supportate.
Link to this sectionCome stabilisco obiettivi misurabili efficaci per il mio progetto di computer vision?#
Usa i criteri SMART: Specifico, Misurabile, Raggiungibile, Rilevante e Definito nel tempo. Ad esempio, "Ottieni il 95% di precisione nel rilevamento della velocità entro sei mesi utilizzando un dataset di 10.000 immagini di veicoli". Questo approccio aiuta a monitorare i progressi e identifica le aree di miglioramento. Leggi di più su come impostare obiettivi misurabili.
Link to this sectionUn modello pre-addestrato può ricordare classi che conosceva prima di un addestramento personalizzato?#
No, i modelli pre-addestrati non "ricordano" le classi nel senso tradizionale. Apprendono schemi da dataset massicci e, durante il custom training (fine-tuning), questi schemi vengono adattati per il tuo task specifico. La capacità del modello è limitata e concentrarsi su nuove informazioni può sovrascrivere alcuni apprendimenti precedenti.
Se vuoi usare le classi su cui il modello è stato pre-addestrato, un approccio pratico è usare due modelli: uno mantiene le prestazioni originali e l'altro viene adattato per il tuo task specifico. In questo modo, puoi combinare gli output di entrambi i modelli. Ci sono altre opzioni come il congelamento dei layer, l'uso del modello pre-addestrato come feature extractor e il branching specifico per il task, ma queste sono soluzioni più complesse e richiedono maggiore competenza.
Link to this sectionIn che modo le opzioni di distribuzione influenzano il mio progetto di computer vision?#
Le opzioni di distribuzione determinano quali dimensioni e formati di modello sono praticabili, quindi plasmano il tuo progetto fin dall'inizio. I dispositivi Edge richiedono modelli leggeri serviti tramite formati e runtime come TensorFlow Lite o ONNX Runtime; i server cloud gestiscono modelli complessi su hardware scalabile; i server on-premise offrono il pieno controllo dei dati per progetti sensibili alla privacy; le configurazioni ibride bilanciano le due soluzioni. Confrontale nella tabella delle opzioni di distribuzione, o consulta la guida alle opzioni di distribuzione del modello per i dettagli.
Link to this sectionQuali sono le sfide più comuni nel definire un problema di computer vision?#
Le sfide comuni includono:
- Dichiarazioni del problema vaghe o troppo ampie.
- Obiettivi irrealistici.
- Mancanza di allineamento degli stakeholder.
- Comprensione insufficiente dei vincoli tecnici.
- Sottostima dei requisiti dei dati.
Affronta queste sfide attraverso una ricerca iniziale approfondita, una comunicazione chiara con le parti interessate e un affinamento iterativo dell'enunciazione del problema e degli obiettivi. Per l'intero flusso di lavoro del progetto, consulta i passaggi chiave in un progetto di computer vision.