Il campo creativo, in particolare, quello del cinema e dell’intrattenimento, è oggi uno degli ambiti in cui l’utilizzo dell’intelligenza artificiale e del machine learning, largamente adoperati per diversi scopi in ogni settore di business, si muove a piccoli passi, ma il cui potenziale risulta essere elevato per molteplici applicazioni. L’AI può avere un ruolo molto importante, quindi, nella produzione dei film.
Le interazioni tra l’industria cinematografica e il mondo dell’informatica, tra cinema e AI, attraverso le diverse metodologie di apprendimento automatico disponibili, possono garantire una sensibile ottimizzazione di alcune attività di backstage facenti parte dell’universo “sommerso” della movie industry (e.g. il video editing, trailer making).
L’applicazione a tale contesto di algoritmi addestrati a svolgere classificazioni e previsioni in modo automatico (tramite fasi di training su set di dati da cui immagazzinano conoscenze e informazioni utili a effettuare il riconoscimento dei pattern) consente non solo la semplificazione delle attività degli addetti ai lavori, ma comporta altresì la possibilità di implementare, in modo efficiente e robusto, processi di “riconoscimento intelligente” (e.g. contenuto, genere, autore, …) utili al miglioramento dell’esperienza di intrattenimento vissuta dallo spettatore (e.g. indicizzazioni contenuti streaming on demand e smart recommendation).
Possibili interazioni fra il machine learning dell’AI e i film
Video editing
Le potenzialità dell’adozione di tecniche di machine learning, e più precisamente di deep learning e computer vision[1], derivano dalla considerevole mole di dati non strutturati[2] (video, immagini, note audio ecc.) generata durante le riprese di un film che ad oggi risultano non organizzati[3] . Questa disorganizzazione, che si ripercuote sull’intera filiera di produzione, deriva dalle modalità con cui vengono svolte le riprese video, solitamente prive di un ordine che segua la cronologia delle scene e dell’editing. Ciò accade perché sul set, durante la produzione di un film, vengono coinvolti molti individui con ruoli differenti, tra cui attori con agende fitte di impegni; pertanto, in fase di inizio riprese, viene data la precedenza alle scene in cui è prevista la partecipazione di più ruoli (ad esempio scene di gruppo in cui sono coinvolti diversi attori, macchinisti e tecnici) così da poter liberare alcuni lavoratori nel momento in cui il loro ruolo non è più necessario al proseguimento delle riprese.
L’editor – che non conosce il contenuto di ogni ripresa – in assenza di una corretta classificazione dei file video, non avrà altra scelta che quella di utilizzarli in modo disorganizzato e di ricercarli a uno a uno per sistemarli in maniera cronologicamente corretta. Tale operazione implica uno sforzo umano considerevole laddove i file non siano molto numerosi (e.g. riprese di scene di lunga durata o con tecnica di piano-sequenza[4]), mentre, nel caso in cui ci si trovi in presenza di un copioso numero di video, il montaggio finale delle sequenze secondo la struttura del film diviene un’operazione pressoché ineseguibile.
L’utilizzo di algoritmi di deep learning (e.g. reti neurali artificiali e reti neurali convoluzionali[5]) consentirebbe invece, mediante l’acquisizione di conoscenze e informazioni dalla enorme quantità di dati generati, di procedere con diverse tipologie di classificazione automatica dei file disorganizzati (generazione di un set di metadati dipendenti dal tipo di classificazione e riconoscimento automatico implementato, i quali caratterizzano i file multimediali e permettono una rapida riorganizzazione) semplificando considerevolmente l’attività dell’editor e rendendo l’attività di montaggio più celere, efficace e funzionale nell’organizzazione.
Trailer making
Il deep learning e le classificazioni automatiche possono essere utilizzati anche per analizzare modelli di trailer di film nei componenti audio e visivi di cui sono composti, con l’obiettivo di individuare le qualità che rendono un trailer attrattivo per lo spettatore attraverso la selezione le migliori tipologie di scene da inserire nei promo. Combinando l’analisi di trailer di successo per ogni genere con altri dati (ad esempio le informazioni storiche sulle preferenze dei clienti che il produttore ha a disposizione) è possibile produrre trailer attrattivi in tempo record. Gli algoritmi di deep learning verrebbero usati per effettuare diverse classificazioni intelligenti (video, immagini, note audio/colonne sonore, palette di colori, illuminazione…) e così imparare a gestire tutte le informazioni acquisite per giungere a determinare le scene più suggestive di diversi trailer, quelle che hanno maggiormente catturato l’attenzione dello spettatore e generato emozioni positive.
L’algoritmo sarà addestrato su trailer di ottima fattura relativi a film famosi e imparerà a riconoscere le immagini, i video e le tipologie di colonne sonore più utilizzate dai montatori, in modo che riescano a estrarre le sequenze video maggiormente efficaci e di impatto di nuovi film, basandosi su vecchi trailer di successo.
Un esperimento simile è stato condotto da IBM per la creazione del trailer del thriller “Morgan”. Il colosso informatico, con il supercomputer Watson, ha esaminato centinaia di trailer di film horror e ne ha ricavato un elenco di dieci scene, per un totale di sei minuti, ritenendole le migliori per un trailer. Il video editor ha impiegato solo 24 ore per dare vita al trailer del film, a fronte dei dieci/trenta giorni di regola necessari.
Smart Recommendation
L’utilizzo di tali tecniche consentirebbe anche il riconoscimento del genere di un film, del suo contenuto o anche dell’autore tramite l’individuazione, da parte degli algoritmi adoperati, di tratti distintivi di un genere cinematografico o dello stile di un determinato regista (es. immagini specifiche tipiche di un genere, colonne sonore caratteristiche o persino un set di colori), in modo da poter riconoscere e identificare l’impronta del direttore di regia e quindi la paternità della pellicola.
Il riconoscimento automatico del genere, del contenuto e dell’autore, guidate dalle classificazioni operate dagli algoritmi di deep learning, hanno una grande valenza e risultano essere particolarmente efficaci nel campo dell’entertainment cinematografico e della riproduzione in streaming, al fine di implementare un’indicizzazione intelligente dei contenuti multimediali che permetta la generazione di una “smart recommendation” per lo spettatore.
È ciò a cui puntano le piattaforme on demand streaming (e.g. Netflix, Amazon Prime Video ecc.), dove la raccomandazione personalizzata, creata ad hoc per lo spettatore, costituisce un elemento fondamentale per l’esperienza di intrattenimento. Le attuali tecniche di smart recommendation utilizzano la cronologia di visualizzazione del cliente e il rating fornito da altri clienti o da esperti del settore, questo però porta a risultati poco personalizzati perché la raccomandazione più probabile sarà quella del film o della serie tv più vista e famosa e non il contenuto digitale più adatto al cliente.
L’estrazione, attraverso deep learning, di informazioni e caratteristiche delle scene come alcune tipologie di immagini, colori e colonne sonore presenti e i successivi procedimenti di riconoscimento del genere, del contenuto e dell’autore permettono di superare gli attuali problemi di raccomandazione personalizzata creando un’indicizzazione perfetta e a tutto tondo delle pellicole. L’indicizzazione permetterà poi al cliente di effettuare ricerche video efficienti (e.g. il cliente sarà in grado di trovare film anche solo fornendo al dispositivo parole come “Nolan – thriller- confusione” per trovare la famosa pellicola distopica “Inception” o l’altrettanto noto film del regista, “Memento” ) e i dati generati da queste ricerche e dalle visualizzazioni dello spettatore (informazioni dettagliate sui film, ambientazione, autore, tipo di riprese video) renderanno semplice la creazione di un sistema di suggestion ad hoc. Le potenzialità derivanti dalla raccomandazione personalizzata basata sul riconoscimento degli autori, dei generi e del contenuto dei film sono enormi e avranno un grande impatto sull’esperienza di ricerca della pellicola perfetta per il cliente e quindi sulla entertainment experience degli utenti[6].
L’uso dell’AI nelle operazioni di classificazione delle immagini dei film
A valle di questa introduzione generale, risulta chiaro che il primo passo per una efficace applicazione dell’AI all’industria cinematografica è costituito dalle operazioni di classificazione. Analizziamo, pertanto, più approfonditamente una delle principali classificazioni intelligenti di deep learning attuabile sulla grande mole di dati non strutturati caratterizzanti una pellicola: la classificazione delle tipologie di inquadrature cinematografiche.
Nella movie industry, le inquadrature cinematografiche (o scatti cinematografici) rappresentano quella porzione di spazio fisico inquadrato dall’obbiettivo della cinepresa, il quale consente di delimitare con precisione ciò che sarà ripreso e allo stesso tempo di escludere lo spazio restante (“fuori campo”, esterno al campo visivo dello spettatore), in modo da impartire un taglio differente ad ogni scena e originare un effetto, un sentimento diverso nell’osservatore.
Una classificazione automatica delle tipologie di inquadrature adoperate nel mondo del cinema risulta essere tassello fondamentale per lo sfruttamento dell’intelligenza artificiale all’interno del campo cinematografico. Le motivazioni sono estremamente semplici e si basano sul concetto tecnico di video che altro non è che un insieme di frame, di immagini e quindi di inquadrature girate dal regista. Pertanto, addestrando un modello di deep learning a classificare queste tipologie di immagini attinenti alle pellicole, è possibile classificare l’intero video.
La prima ripartizione degli scatti cinematografici annoverabile in letteratura è a livello spaziale: si parla di “piano” quando la macchina da presa si concentra su una figura umana, mentre nel caso in cui l’ambiente o il paesaggio costituiscono la dimensione predominante dell’inquadratura, si ricorre alla denominazione di “campo”. La categorizzazione più granulare dei cinematographic shot invece si differenzia dalla metodologia utilizzata per suddividerli (distanza obiettivo-soggetto o dimensione del campo) ed è anche molto radicata nella cultura cinematografica del luogo di provenienza della pellicola. Per tale motivo non esiste uno standard a livello globale ma molte tipologie di scatto sono comunemente annoverate dalla letteratura internazionale, essendo le principali all’interno del bagaglio artistico di un regista.
Figura 1: Otto tipologie di inquadrature cinematografiche elementari presenti nella letteratura internazionale: Campo lungo [7] (lunga distanza, prevalenza del background, figura assente o molto in lontananza), campo medio (distanza media, l’ambiente prevale, figura più ravvicinata, azioni riconoscibili), mezza figura (figura umana dalla vita in su, focus sia sul viso che sui gesti), mezzo busto (figura tagliata all’altezza del petto, volto posto più in risalto), figura intera (personaggio inquadrato per intero sulla verticale dell’immagine, focus sulle azioni compiute), piano americano (figura tagliata alle ginocchia, denota dinamicità, molto usata nei film western per mostrare l’estrazione della pistola), primo piano (inquadratura della testa e delle spalle, focus su mimica facciale e le espressioni,) e primissimo piano (focus sul volto tra attaccatura capelli e mento), queste le otto[8] classi di inquadrature più utilizzate dai direttori di scena.
In letteratura è possibile individuare diversi approcci di classificazione di queste categorie di inquadrature, che sfruttano tecniche di deep learning sempre differenti, dataset di cardinalità variante, tipologie diverse di immagini in scala di grigi o a colori secondo il modello additivo RGB e prendono in considerazione un numero variabile di tipologie di scatti in base al tipo di sperimentazione.
AI e i problemi di accuracy nell’image processing
In Fig. 2, gli approcci sono elencati in modo incrementale rispetto al risultato di accuratezza ottenuto sul set di dati di test[9] e quindi in base alle performance del modello nella classificazione delle tipologie di inquadrature. Questa misura di bontà dell’algoritmo di apprendimento profondo va da un valore del 50% per la sperimentazione più basilare (rete neurale feed forward Multilayer Perceptron -o MLP-[10] costituita da soli livelli fully connected) passando per una rete neurale convoluzionale semplice (o CNN con due livelli convoluzionali[11] seguiti da un livello di max pooling[12] e un blocco di strati fully connected) che raggiunge un valore poco superiore al 60% di accuratezza, fino ad arrivare ad una VGG16[13] che tramite la tecnica di transfer learning[14] (processo che permette di evitare il dispendioso allenamento di una rete da zero, riutilizzando alcuni parametri di un modello performante già pre-addestrato su un problema affine all’obiettivo) ottiene un risultato del 75% di accuracy in classificazione del test set.
Figura 2: Primi approcci presenti in letteratura
È pertanto evidente come tutti questi approcci elencati, sulla base dei risultati raggiunti, non permettono di sviluppare un tool che effettui la classificazione automatica delle inquadrature in modo efficiente e utilizzabile in ambito professionale.
Le performance ridotte hanno diverse cause, alcune comuni come la cardinalità insufficiente dei dataset che non permette un addestramento robusto degli algoritmi, altre dipendenti dal modello in questione. Ad esempio la grande dimensionalità[15] dei dati (un’immagine contenente un’inquadratura, anche ridotta a una risoluzione relativamente bassa come 160×90[16], costituisce un valore di 43200 feature/dimensioni) non permette alla rete MLP (Multilayer Perceptron) una corretta gestione dell’enorme carico computazionale dovuto alla grande mole di valori sinaptici (pesi e bias che caratterizzano un neurone di una rete) e collegamenti creati, in quanto il numero neuroni del livello di entrata di una MLP è uguale al numero di feature dei dati in input e questa cardinalità condiziona l’intera rete e i collegamenti tra i vari layer.
Altra problematica, molto comune per questi utilizzi dell’intelligenza artificiale (classificazione di immagini o image processing), è quella derivante dalle difficoltà dei modelli di generalizzare l’addestramento ricevuto in fase di training su campioni mai analizzati (Overfitting/Underfitting[17]). Le prestazioni dei modelli affetti da questo fenomeno sono ottime sui dati che compongono il training set, ma di gran lunga inferiori, se non pessime, per quanto riguarda campioni di dati esterni al set di addestramento (e.g. test set), rendendoli inutilizzabili a livello operativo.
La frequenza di questo fenomeno di scarsa accuracy, che si traduce in una “test set accuracy” limitata rispetto a una “training set accuracy” vicina al 100%, è il fattore principale di scarsa applicabilità di queste tecniche in campo cinematografico.
L’utilizzo dell’AI nella produzione cinematografica non si esaurisce qui. Esiste infatti una nuova metodologia di deep learning applicato all’image processing che verrà esaminata nella seconda parte di questo articolo.
Note
- La Computer Vision è definita in letteratura come: “il fenomeno che rende le macchine come computer o telefoni cellulari in grado di vedere l’ambiente come l’uomo”. ↑
- Dati conservati senza alcuno schema tabellare ↑
- ↑
- “Il piano sequenza è una lunga inquadratura, quindi senza stacchi, che riprende una o più scene che normalmente sarebbero raccontate con più inquadrature. Si distingue dal long take che invece è una inquadratura della durata inusuale, ma non l’unica all’interno di una determinata scena”. (https://www.cinescuola.it/pianosequenza/) ↑
- Le reti neurali convoluzionali (Convolutional Neural Networks), denominate anche CNN o ConvNet sono modelli feed-forward con architettura neurale ispirata alla corteccia cerebrale visiva animale e che devono la loro fama all’abilità nel riconoscere i pattern e nel classificare dati multidimensionali rappresentabili graficamente e disposti su uno spazio visivo (immagini, video e audio). Queste reti sono molto adatte all’image processing grazie ai processi di convoluzione e pooling (riduzione dimensione dati) effettuati nei loro layer ↑
- Svanera, Michele et al. “Who Is the Film’s Director? Authorship Recognition Based on Shot Features.” IEEE MultiMedia 26.4 (2019): 43–54. Crossref. Web ↑
- I termini anglosassoni sono i seguenti: “Long shot”, “medium long shot”, “half figure”, “half torso”, “full shot”, “American shot/cowboy shot”, “close up”, “extreme close up” ↑
- A. Giaime Alonge, “Il cinema. Tecnica e linguaggio. Un’introduzione”, Torino, Kaplan, 2011 ↑
- Il test set è una porzione di dati appartenente al dataset totale ma mai processata dal modello e utilizzato quindi per testare le capacità di predizione/classificazione, tramite la metrica denominata accuracy, di un algoritmo a valle dell’addestramento su un campione di dati di training (training set). La test set accuracy differisce come metrica dalla training accuracy (misura di accuratezza di classificazione su dati usati in fase di addestramento e processati un numero n di epoch dall’algoritmo al fine di apprendere i pattern e poter poi svolgere la task assegnata) perché mette la prima mette in evidenza la bontà del modello a livello pratico e per utilizzi futuri differentemente dalla seconda che mostra solo la capacità di apprendimento “mnemonico” del modello. Per questo motivo, la test set accuracy viene spesso utilizzata come misura di confronto performance tra algoritmi. ↑
- La rete Multilayer Perceptron, evoluzione del percettrone, è la prima rete profonda multistrato ed è quindi stata la più utilizzata e studiata negli anni. Queste reti possiedono una serie di layer nascosti (hidden layer) tra quello d’entrata e quello di uscita. Ogni strato è connesso a quello precedente e a quello successivo e il segnale viaggia in avanti senza connessioni trasversali o cicliche all’interno della rete. La struttura di questa rete permette interazioni tra neuroni a livello globale. Essendo ampiamente adoperata per le classificazioni essa si avvale di un apprendimento supervisionato (training tramite classificazione di elementi precedentemente etichettati) ↑
- Cuore delle reti convoluzionali rappresenta il prodotto scalare tra una matrice filtro (kernel) r×c e una serie di campi ricettivi (sottoinsieme dell’immagine avente dimensione r×c) che si avvicenda secondo un valore di traslazione (stride). L’esito di ogni operazione denoterà il valore più alto in corrispondenza della caratteristica ricercata con il filtro all’interno dell’immagine e porterà alla definizione di una mappa delle caratteristiche (feature map) e alla riduzione del rumore di fondo (caratteristiche di poco valore). ↑
- Il pooling ha come obiettivo quello di ridimensionare il volume delle immagini conservando però le features principali di queste. Utilizza una matrice di pooling nxm che trasla sull’immagine con lo stesso criterio della convoluzione e in base al tipo di operazione individua un certo valore da conservare (il max pooling salva il valore massimo di ogni matrice di pooling) ↑
- La rete VGG16 è una famosa CNN introdotta da K.Simonyan e A.Zisserman dell’università di Oxford all’interno dell’articolo scientifico “Very Deep Convolutional Networks for Large-Scale Image Recognition”. Questa rete deve il suo successo al traguardo raggiunto nei test di accuratezza di classificazione del dataset “ImageNet” composto da più di 15 milioni di immagini ad alta risoluzione reperite su internet e suddivise in più di 1000 classi. (https://neurohive.io/en/popular-networks/vgg16/) ↑
- Il transfer learning consente di affinare un modello già addestrato come una rete preesistente in cui si inseriscono nuovi dati (di ridotta entità rispetto a quelli necessari ad un addestramento “from scratch”) che contengono classi in precedenza sconosciute allo scopo di poter svolgere una nuova attività. Ciò comporta alcuni vantaggi rispetto all’addestramento da zero, ossia la possibilità di riutilizzare il comportamento di una rete neurale esistente, pre-addestrata e performante andando a ridefinire solo gli ultimi strati di classificazione, nonché di limitare l’elaborazione ad un numero notevolmente inferiore di parametri con conseguente riduzione dei tempi per il raggiungimento del risultato (https://www.developersmaggioli.it/blog/il-transfer-learning/) ↑
- Per high dimensional si intendono dati influenzati da molte variabili e che quindi possiedono un alto numero di dimensioni ↑
- La risoluzione 160×90 è stata utilizzata come esempio perchè permette di etichettare le immagini manualmente in modo ancora semplice nonostante la piccola dimensione riducendo però di molto il carico computazionale per il modello rispetto ad un’immagine in alta qualità ↑
- L’Overfitting o overtraining è un effetto dovuto al sovra-addestramento di una rete che tende a memorizzare i dati forniti durante la fase di training e smarrisce l’abilità di generalizzazione e quindi di classificazione ottimale su set di dati mai processati in fase di training. L’Underfitting corrisponde all’esatto opposto del fenomeno appena descritto e porta a problemi anche di addestramento del modello oltre che di performance su altri campioni di dati. ↑