Guida di AutoML Video per principianti

Introduzione

Immagina di essere un allenatore di una squadra di calcio. Hai una vasta raccolta di video che ti piacerebbe utilizzare per studiare i punti di forza e le debolezze del tuo team. Sarebbe incredibilmente utile compilare con un'unica azione azioni come obiettivi, falli e calci di sanzioni di molti giochi. Ci sono però centinaia di ore di video da esaminare e molte azioni da monitorare. La visione di ogni video e la correzione manuale dei segmenti con l'evidenziazione di ogni azione sono noiose e lunghe. Dovrai svolgere questa operazione per ogni stagione. Potrebbe essere più facile insegnare a un computer a identificare e segnalare automaticamente queste azioni ogni volta che appaiono in un video?

Esempi di immagini che classificano azioni di calcio

Perché il machine learning (ML) è lo strumento giusto per questo problema?

immagine della rappresentazione di programmazione La programmazione classica richiede a un programmatore di specificare istruzioni dettagliate che un computer deve seguire. Prendiamo però in considerazione il caso d'uso dell'identificazione di azioni specifiche nelle partite di calcio. La variazione di colore, angolazione, risoluzione e illuminazione è talmente elevata che richiederebbe la codifica di troppe regole per indicare a una macchina come prendere la decisione giusta. È difficile immaginare da dove iniziare. Fortunatamente, il machine learning è ben posizionato per risolvere questo problema.

Questa guida illustra come la classificazione di AutoML Video Intelligence può risolvere questo problema, il relativo flusso di lavoro e gli altri tipi di problemi progettati per essere risolti.

Come funziona la classificazione di AutoML Video Intelligence?

Rappresentazione grafica di una semplice rete neurale AutoML Video Intelligence Classificazione è un'attività di apprendimento supervisionato. Ciò significa che puoi addestrare, testare e convalidare il modello di machine learning con video di esempio già etichettati. Con un modello addestrato, puoi inserire nuovi video e il modello genererà segmenti video con etichette. Un'etichetta è una risposta "prevista" del modello. Ad esempio, un modello addestrato per il caso d'uso del calcio potrebbe consentire di inserire nuovi video di calcio e di generare segmenti di video con etichette che descrivono i momenti di azione come "obiettivo", "quot; fallo personale" e così via.

Il flusso di lavoro della classificazione di AutoML Video Intelligence

La classificazione di AutoML Video Intelligence utilizza un flusso di lavoro standard di machine learning:

  1. Raccogli i dati: determina i dati necessari per l'addestramento e il test del modello in base al risultato che vuoi raggiungere.
  2. Prepara i tuoi dati: assicurati che i dati siano formattati correttamente ed etichettati.
  3. Addestra: imposta i parametri e crea il tuo modello.
  4. Valutazione: esamina le metriche del modello.
  5. Esegui il deployment e prevedi: rendi il modello disponibile per l'uso.

Ma prima di iniziare a raccogliere i tuoi dati, dovrai pensare al problema che stai cercando di risolvere, il che determinerà i requisiti dei dati.

Considerare il caso d'uso

grafica con punto di partenza e di arrivo

Inizia con il problema: qual è il risultato che vuoi raggiungere? Quanti corsi devi prevedere? Una classe è qualcosa che vuoi che il modello impari a identificare e venga rappresentato nell'output del modello come etichetta (ad esempio, un modello di rilevamento palla ha due classi: "quot;ball" e "no ball").

A seconda delle tue risposte, la classificazione di AutoML Video Intelligence creerà il modello necessario per risolvere il tuo caso d'uso:

  • Un modello di classificazione binaria prevede un risultato binario (una di due classi). Usa questa risposta alle domande sì o no, ad esempio per identificare solo gli obiettivi di una partita di calcio (è o meno un obiettivo). In generale, un problema di classificazione binaria richiede meno dati video per l'addestramento di altri.

  • Un modello di classificazione multi-classe prevede una classe da due o più classi distinte. Utilizza questa categoria per classificare i segmenti di video. Ad esempio, classificare i segmenti di una raccolta di video sulle Olimpiadi per capire quale sport viene mostrato in un dato momento. L'output fornisce segmenti video assegnati a un'unica etichetta, come nuoto o ginnastica.

  • Un modello di classificazione multi-etichetta prevede una o più classi tra più classi possibili. Utilizza questo modello per etichettare più classi in un singolo segmento di video. Questo tipo di problema spesso richiede più dati di addestramento, perché distinguere tra più classi è più complesso.

L'esempio di calcio precedente richiedeva una modalità di classificazione con più etichette, poiché le classi (azioni come obiettivi, falli personali e così via) possono avvenire contemporaneamente, il che significa che un singolo segmento di video potrebbe richiedere più etichette.

Una nota sull'equità

L'equità è una delle pratiche responsabili dell'AI di Google. L'obiettivo dell'equità è comprendere e prevenire un trattamento ingiusto o pregiudiziale nei confronti di persone sulla base di etnia, reddito, orientamento sessuale, religione, genere e altre caratteristiche storicamente associate a discriminazione ed emarginazione nel momento in cui si manifestano in sistemi algoritmici o processi decisionali facilitati. Mentre leggi questa guida, vedrai note di tipo "Fair Awareness" che illustrano meglio come creare un modello di machine learning più equo. Scopri di più

Raccogli i tuoi dati

grafica punti dati Dopo aver stabilito il caso d'uso, dovrai raccogliere i dati video per poter creare il modello che preferisci. I dati raccolti per l'addestramento determinano il tipo di problemi che puoi risolvere. Quanti video puoi utilizzare? I video contengono esempi sufficienti per le classi che secondo le previsioni del modello? Durante la raccolta dei dati video, tieni presente le seguenti considerazioni:

Includi video sufficienti

grafica addestramento modelli In genere, maggiore è il numero di video di addestramento nel set di dati, migliore sarà il risultato. Il numero di video consigliati è adeguato anche alla complessità del problema che stai cercando di risolvere. Ad esempio, avrai bisogno di meno dati video per un problema di classificazione binaria (previsione di una classe da due) rispetto a un problema con più etichette (previsione di una o più classi da molti).

La complessità di ciò che sta cercando di classificare può anche determinare la quantità di dati video necessaria. Prendiamo in considerazione il caso d'uso del calcio, che crea un modello per distinguere i colpi di azione. Confrontalo con un modello che distingue tra colibrì. Considera la sfumatura e le somiglianze in termini di colore, dimensioni e forma: avrai bisogno di più dati di addestramento per consentire al modello di imparare a identificare con precisione ogni specie.

Utilizza queste regole come base per comprendere le tue esigenze minime in termini di dati video:

  • 200 esempi di video per classe se ne hai poche e se sono tutte diverse
  • Oltre 1000 esempi di video per corso se hai più di 50 classi o se le classi sono simili tra loro

La quantità di dati video richiesti potrebbe essere maggiore di quella attuale. Valuta la possibilità di scoprire altri video tramite un provider di terze parti. Ad esempio, potresti acquistare o ricevere altri video sul calcio se non ne hai abbastanza per il tuo modello di identificatore delle azioni di gioco.

Distribuisci lo stesso video in egual modo tra le classi

Prova a fornire un numero simile di esempi di lezioni per ogni corso. Ecco il motivo: immagina che l'80% del tuo set di dati di allenamento sia video di calcio con obiettivi, ma solo il 20% dei video mostra falli personali o punizioni. Con una distribuzione non uniforme delle classi, il modello ha più probabilità di prevedere che una determinata azione è un obiettivo. È come scrivere un test a scelta multipla in cui l'80% delle risposte corrette è:

immagine di allenamento per 4 tipi di azioni di calcio

Potrebbe non essere possibile generare lo stesso numero di video per ogni corso. Per alcuni corsi, può anche essere difficile fornire esempi di alta qualità e imparziali. Provate a seguire un rapporto 1:10: se la classe più grande ha 10.000 video, il più piccolo dovrebbe avere almeno 1000 video.

Acquisisci variante

I dati dei tuoi video dovrebbero rappresentare la diversità dello spazio problematico. Più ampio è il numero di esempi mostrati da un modello durante l'addestramento, più rapidamente può essere generiche per esempi nuovi o meno comuni. Pensa al modello di classificazione delle azioni calcistiche: deve includere video con diverse angolazioni della videocamera, ore e notti di movimento e diversi movimenti dei giocatori. L'esposizione del modello a una varietà di dati migliorerà la capacità del modello di distinguere un'azione dall'altra.

Associa i dati all'output previsto

immagine di addestramento corrispondente all'immagine di output prevista

Trova video di addestramento simili ai video che prevedi di inserire nel modello per eseguire previsioni. Ad esempio, se tutti i video di addestramento vengono realizzati in inverno o di sera, l'illuminazione e i motivi cromatici in tali ambienti incideranno sul modello. Se poi utilizzi il modello per testare i video realizzati in estate o di giorno, potresti non ricevere previsioni accurate.

Considera questi fattori aggiuntivi: * Risoluzione video * Frame video al secondo * Angolo della videocamera * Sfondo

Prepara i tuoi dati

Dopo aver raccolto i video che vuoi includere nel tuo set di dati, devi assicurarti che contengano video di delimitazione con etichette in modo che il modello sappia cosa cercare.

Perché i miei video hanno bisogno di riquadri di delimitazione ed etichette?

In che modo un modello di classificazione di AutoML Video Intelligence impara a identificare i pattern? Ecco cosa fanno i riquadri di delimitazione e le etichette durante l'addestramento. Prendiamo l'esempio di calcio: ogni video di esempio dovrà contenere riquadri di delimitazione intorno agli scatto. A queste caselle devono essere assegnate anche etichette come "Quadro", "Cultura personale", "Calcio di punizione" e loro. In caso contrario, il modello non sa cosa cercare. Disegnare riquadri e assegnare etichette ai tuoi video di esempio può richiedere tempo. Se necessario, valuta l'utilizzo di un servizio di etichettatura per esternalizzare il lavoro ad altri.

Addestra il modello

Dopo aver preparato i dati video di addestramento, puoi creare un modello di machine learning. Tieni presente che puoi utilizzare lo stesso set di dati per creare modelli di machine learning diversi, anche se presentano tipi di problemi diversi.

Uno dei vantaggi di AutoML Video Intelligence Rating è che i parametri predefiniti ti guideranno in un modello di machine learning affidabile. ma potresti dover regolare i parametri in base alla qualità dei dati e al risultato che stai cercando. Ad esempio:

  • Tipo di previsione (il livello di granularità con cui vengono elaborati i video)
  • Frequenza fotogrammi
  • Risoluzione

Valutare il modello

grafica con lente d'ingrandimento Dopo aver completato l'addestramento del modello, riceverai un riepilogo del suo rendimento. Le metriche di valutazione del modello si basano sul rendimento del modello rispetto a una porzione del tuo set di dati (il set di dati di convalida). Ci sono un paio di metriche e concetti fondamentali da considerare per determinare se il tuo modello è pronto per essere utilizzato nei dati reali.

Soglia punteggio

Come fa un modello di machine learning a sapere quando un obiettivo di calcio è un obiettivo reale? A ogni previsione viene assegnato un punteggio di affidabilità, ovvero una valutazione numerica della certezza che un determinato segmento video contenga una classe. La soglia di punteggio è il numero che determina quando un determinato punteggio viene convertito in una decisione sì o no; ovvero il valore al quale il modello indica "Sì, questo valore di affidabilità è sufficientemente elevato per concludere che questo segmento video contiene un obiettivo."

immagine della soglia alta e di alcune immagini classificate, soglia bassa e molte immagini classificate

Se la soglia di punteggio è bassa, il modello eseguirà il rischio di etichettatura errata dei segmenti video. Per questo motivo, la soglia del punteggio deve essere basata su un determinato caso d'uso. Immagina un caso d'uso medico come il rilevamento del cancro, in cui le conseguenze dell'errata etichettatura sono più elevate rispetto a quelle dell'etichettatura di video di sport. Nel rilevamento del cancro, è appropriata una soglia di punteggio più alta.

Esito della previsione

Dopo aver applicato la soglia di punteggio, le previsioni effettuate dal tuo modello rientrano in una delle quattro categorie. Per comprendere queste categorie, supponiamo che tu abbia creato un modello per rilevare se un determinato segmento contiene (o meno) un obiettivo. In questo esempio, un obiettivo è la classe positiva (quello che il modello sta tentando di prevedere).

  • Vero positivo: il modello prevede correttamente la classe positiva. Il modello ha previsto correttamente un obiettivo nel segmento video.
  • Falso positivo: il modello prevede in modo errato la classe positiva. Il modello prevedeva che un obiettivo fosse compreso nel segmento, ma non ne esisteva uno.
  • Vero negativo: il modello prevede correttamente la classe esclusa. Il modello ha previsto correttamente che non c'era un obiettivo nel segmento.
  • Falso negativo: il modello prevede in modo errato una classe esclusa. Il modello prevedeva che non esisteva un obiettivo nel segmento, ma un obiettivo.

immagine con quattro descrizioni categorie di confidenza

Precisione e richiamo

Le metriche di precisione e richiamo ti aiutano a comprendere in che misura il tuo modello acquisisce le informazioni e cosa sta omettendo. Scopri di più su precisione e richiamo

  • La accuratezza è la frazione delle previsioni positive che sono state corrette. Tra tutte le previsioni con l'etichetta "obiettivo", quale frazione conteneva effettivamente un obiettivo?
  • Il richiamo è la frazione di tutte le previsioni positive che sono state effettivamente identificate. Tra tutti gli obiettivi di calcio che potevano essere identificati, quale frazione era?

A seconda del caso d'uso, potrebbe essere necessario ottimizzare per la precisione o il richiamo. Considera i seguenti casi d'uso.

Caso d'uso: informazioni private nei video

Immagina di creare un software che rileva automaticamente le informazioni sensibili in un video e le sfoca. Le possibili implicazioni dei falsi risultati possono includere:

  • Un falso positivo identifica qualcosa che non deve essere censurato, ma viene censurato comunque. Potrebbe essere fastidioso, ma non dannoso.

grafica data sfocata

  • Un falso negativo non identifica le informazioni che devono essere censurate, come il numero di una carta di credito. Questa operazione comporta il rilascio di informazioni private ed è lo scenario peggiore.

immagine del numero di carta di credito

In questo caso d'uso, è fondamentale ottimizzare per il recall per garantire che il modello trovi tutti i casi pertinenti. Un modello ottimizzato per il richiamo ha maggiori probabilità di etichettare gli esempi poco pertinenti, ma anche di etichettare quelli errati (più sfusi).

Supponiamo che tu voglia creare un software che consenta agli utenti di effettuare ricerche in una raccolta di video in base a una parola chiave. Prendiamo in considerazione i risultati errati:

  • Un falso positivo restituisce un video non pertinente. Dal momento che il tuo sistema sta cercando di fornire solo video pertinenti, il tuo software non sta facendo davvero quello che fa.

Immagine della chitarra abbinata alla ricerca della chitarra

  • Un falso negativo non restituisce un video pertinente. Dal momento che molte parole chiave hanno centinaia di video, questo problema non è negativo come la restituzione di un video non pertinente.

immagine non pertinente associata alla ricerca di chitarra

In questo esempio, vorrai ottimizzare la precisione per assicurarti che il tuo modello fornisca risultati corretti e pertinenti. È probabile che un modello ad alta precisione etichetta solo gli esempi più pertinenti, ma potrebbe eliminarne alcuni. Scopri di più sulle metriche di valutazione del modello

Esegui il deployment del modello

immagine lampadina Quando il rendimento del tuo modello ti soddisfa, è il momento di utilizzarlo. La classificazione di AutoML Video Intelligence utilizza la previsione batch, che consente di caricare un file CSV con percorsi di file per i video ospitati su Cloud Storage. Il modello elaborerà ogni previsione di video e output in un altro file CSV. La previsione batch è asincrona, ossia il modello elaborerà tutte le richieste di previsione prima di visualizzare i risultati.