Intelligenza Artificiale

Ego4D, dataset video in soggettiva

Chi studia le applicazioni di intelligenza artificiale, e più in particolare di computer vision, sa bene che uno dei limiti più importanti nella definizione e apprendimento dei modelli è la disponibilità di dataset normalizzati su cui effettuare la fase di apprendimento e testing.<!–more–>

Per questa ragione, in questo ultimo periodo, molti enti di ricerca si stanno adoperando per realizzare e mettere a disposizione del mondo scientifico tali raccolte, organizzandole su base tematica o disciplinare.

In questo contesto, è stato presentato Ego4D (Egocentric 4D Live Perception), un progetto sviluppato da Facebook insieme ad un consorzio di università internazionali, nato dalla volontà di raccogliere registrazioni video in soggettiva durante le comuni attività giornaliere.

Cosa rende originale Ego4D ?

La scelta di questo POV (point of view) nasce dal fatto che attualmente gran parte dei dataset disponibili è composto da fotografie o video riprese da punti di vista esterni al soggetto che compie l’azione, offrendo agli algoritmi la possibilità di distinguere con maggiore facilità gli elementi costituivi ed il tracking dei soggetti coinvolti.
Nei video in soggettiva, invece, la descrizione visiva di una scena o di una azione cambia totalmente, portando limitazioni e problematiche che attualmente non possono essere affrontate a causa proprio della scarsità di dataset di training.

Una delle novità di questo progetto è proprio la scelta del punto di ripresa.
Infatti, a differenza di quanto avviene normalmente con altre tipologie di raccolte video, in questo caso le registrazioni sono avvenute mediante camere indossabili, posizionate in modo da registrare secondo il punto di vista del soggetto, permettendo così di addestrare futuri modelli AI che possono coadiuvare attività umane mediante sensori “egocentrici”, capaci cioè di percepire la scena dal punto di vista dell’operatore.

Il progetto ha coinvolto oltre 850 partecipanti distribuiti in nove paesi, tra cui l’Italia ,con l’Università di Catania, preservando una eterogeneità di scenari e attività, oltre ovviamente garantendo la privacy dei soggetti ripresi.

I contesti registrati, come detto in precedenza, riguardano attività quotidiane personali (ad esempio cucinare, fare shopping, disegnare, ecc.) e professionali (es. elettricisti, muratori, cuochi, ecc.).

Tale scelta è stata motivata dalla volontà di rendere eterogeneo l’ambiente in cui si svolgono tali azioni, consentendo così che future applicazioni possano essere facilmente predisposte indipendentemente dal contesto in cui si svolgono.

 Raccolta video eterogenea. Sono stati coinvolti 855 partecipanti da 74 location in 9 nazioni differenti.

A partire dal mese di novembre 2021, il database contenente oltre 3.000 ore di video sarà reso disponibile alla comunità scientifica.

I benchmark di Ego4D

Oltre alla creazione della raccolta video, il progetto Ego4D si pone l’obiettivo di verificare 5 benchmark applicativi riguardanti i temi: interazione sociale, interazione mano-oggetto, diarizzazione audiovisiva, memoria episodica e previsione.
Questi obiettivi, rappresentano in modo chiaro la direzione della ricerca applicativa:

  • la possibilità di riconoscere un’azione svolta nel passato, in modo da riconoscere e “ricordare” avvenimenti e azioni svolte
  • comprendere comportamenti e abitudini, in modo da simulare previsioni sociali o sistemiche;
  • apprendere i movimenti e i meccanismi che l’uomo usa per interagire con gli oggetti, in modo da interpretare gesture da integrare nei vari algoritmi;
  • consentire l’utilizzo del suono in soggettiva per migliorare l’apprendimento dell’ambiente e delle azioni che si svolgono;
  • studiare e comprendere l’interazione interpersonale.

L’obiettivo ultimo che si pone il progetto è quello di integrare e migliorare le potenzialità e l’integrazione della computer vision all’interno dei sistemi di automazione

Per approfondire:

Articolo

Facebook AI Research

Pagina web del progetto Ego4D

HuMoR: 3D Human Motion Model for Robust Pose Estimation

In questo periodo così florido per il settore dell’intelligenza artificiale, e più in particolare per la computer vision, si susseguono giornalmente pubblicazioni in cui si sperimentano applicazioni di modelli per la stima delle pose umane. Questo tema, sebbene possa sembrare apparentemente ristretto a specifici ambiti applicativi, in realtà trova applicazioni in svariati settori disciplinari: dalla guida autonoma al gaming, dai sistemi di sicurezza ad applicazioni sul tracciamento automatizzato del comportamento umano.

Oggi voglio descrivervi una pubblicazione che utilizza un metodo alternativo per svolgere questo tipo di identificazione.

Pubblicata da Rempe, Davis and Birdal, Tolga and Hertzmann, Aaron and Yang, Jimei and Sridhar, Srinath and Guibas, Leonidas J. all’ International Conference on Computer Vision (ICCV) di quest’anno, la ricerca illustra un approccio metodologico innovativo per la stima di pose umane con un approccio generativo espressivo basato su un conditional variational autoencoder.
Il progetto risulta supportato dal Toyota Research Institute (“TRI”) tramite il programma di finanziamento University 2.0 program, dal programma Samsung GRO, Ford-Stanford Alliance e da altre fonti universitarie.

HuMoR: come funziona

Iniziamo col dire che l’individuazione di una posa umana parte da processi prioritari di individuazione di una persona, individuazione della forma di questa persona ed individuazione di un contesto ambientale che eventualmente può occludere il soggetto in movimento.

Queste procedure possono essere affrontate con metodi differenti, anche in base al tipo di input su cui stiamo lavorando (ad esempio una nuvola di punti, keypoint mocap, un semplice video, ecc.) ma conservano delle difficoltà computazionali legate alla variazione della forma umana del soggetto coinvolto e alla variabilità che questa forma umana compie durante i suoi movimenti.

L’approccio utilizzato dai ricercatori prova a risolvere queste problematiche tramite un approccio statistico, che modella una distribuzione di probabilità delle possibili transizioni di posa.

Volendo azzardare una semplificazione, si potrebbe immaginare questo approccio come un tentativo di “prevedere” le possibili pose che il soggetto potrà compiere nei fotogrammi successivi tramite l’analisi della posa attuale utilizzata da un modello predisposto in fase di training da opportuni dataset (tra cui AMASS)

I risultati presentati dal gruppo di ricerca mostrano l’utilizzo di questo algoritmo nell’individuazione di movimenti umani in video RGB-D (RGB+Depth) con parziale occlusione, riuscendo a identificare correttamente i movimenti e l’interazione tra soggetto e oggetti.

Inoltre, il modello può essere utilizzato per generare plausibili transizioni di movimenti, partendo da una pose iniziale e generando automaticamente le restanti.

La ricerca dimostra un’ottima applicabilità ed una robustezza applicativa anche in caso di zone parzialmente occluse, lasciando ottime aspettative a future implementazioni strutturate all’interno di applicativi appositi.

Per approfondire:

Pagina GitHub del progetto

Articolo pubblicato

Super-resolution e machine learning

Quante volte ho sorriso durante la visione di alcuni film nel vedere esperti tecnologi al fianco di detective che riuscivano con pochi click a generare, partendo da un semplice fotogramma di una camera piazzata in un vicolo, un ingrandimento che trasformava magicamente un ammasso di pixel sfocati in una immagina nitida, svelando così il volto dell’assassino o la targa di un veicolo.
Se fino a poco tempo fa potevano essere considerate libertà cinematografiche che rendevano più avvincente la sceneggiatura aggiungendo quel pizzico di fantasy-hi-tech che piace tanto al pubblico, oggi possiamo affermare che è diventata una applicazione possibile.

Tralasciando le applicazioni specifiche in ambito automobilistico (in cui modelli e algoritmi sono calibrati sul riconoscimento specifico di targhe di autoveicoli), uno degli approcci più condivisi fra i ricercatori si chiama Super-resolution e la troviamo, in alcune sue applicazioni primordiali, già utilizzabile all’interno di alcuni prodotti Adobe (es. Photoshop dalla versione 13.2) o di software specifici (oltre ad alcune implementazioni hardware all’interno delle GPU).La sua genesi affonda le radici in sperimentazioni e algoritmi differenti, utilizzati in ambito grafico per assolvere a esigenze differenze.
All’interno dei prodotti Adobe, ad esempio, già da qualche anno troviamo la tecnologia Enhance Details (in cui l’immagine veniva migliorata nella nitidezza e nell’aspetto cromatico, senza alterare la sua risoluzione).

Gli algoritmi di super-resolution che troviamo all’interno dei software Adobe, invece, consentono generalmente un ricampionamento lineare 2x per lato (andando così a raddoppiare la risoluzione totale per un massimo di 4x) mantenendo una migliore qualità dell’immagine rispetto all’utilizzo dei consueti algoritmi di interpolazione (es. linear, nearest-neighbor, bilinear e bicubic).

Super-resolution

La tecnologia super-resolution si basa su algoritmi di machine-learning addestrati opportunamente per interpolare i pixel aggiunti sulla base della tipologia delle forme e dell’immagine su cui viene applicata. Questo consente di evitare i consueti problemi di aliasing generati dai metodi precedenti.

Esempio di ingrandimento classico con l’utilizzo di filtri bicubico.
Si noti sulla destra la presenza di aliasing che fa perdere nitidezza ai contorni.
 Image Credit: Masa Ushioda/Seapics/Solent News

Un esempio di sperimentazione ci viene offerta da alcuni ricercatori di Google che nel 2016 hanno messo a punto un’applicazione di un modello di machine-learning chimato RAISR: Rapid and Accurate Image Super Resolution, che ha consentito di ottenere immagini ingrandite con una ottima resa qualitativa.
Questo approccio ha visto la creazione di un dataset composto da 10.000 coppie di immagini (a bassa e alta risoluzione) utilizzato come training per la calibrazione del modello di machine-learning.

L’ applicazione ha permesso l’affinamento di filtri adattivi non-lineari che, applicati ad una immagine ingrandita con uno dei metodi classici di interpolazione (es. bilinear), consentono un miglioramento dei risultati rappresentativi andando ad diminuire la presenza di artefatti.

I filtri così generati, che basano la loro matematica su alcune peculiarità delle immagini (contorni, gradienti, direzione, forza, coerenza, ecc.), vengono associati tramite funzioni hash alle caratteristiche dell’immagine oggetto di ingrandimento, così da essere utilizzati nei punti e nei modi opportuni.
L’immagine così elaborata viene, infine, “unita” a quella interpolata linearmente in partenza, utilizzando una funzione di media pesata, abbattendo i possibili artefatti generati dai filtri.

Workflow dell’applicazione. A sinistra l’immagine di partenza. Al centro l’immagine ingrandita con un filtro bicubico, a destra l’immagine in output dall’algoritmo RAISR.
Top: Original, Bottom: RAISR super-resolved 2x. Original image from Andrzej Dragan

Super-Resolution via Repeated Refinements

Ma come dicevano all’inizio, i progressi nel campo dell’elaborazione di immagini sintetiche sta facendo passi da gigante, grazie anche all’integrazione di modelli sempre più complessi di machine learning all’interno dei laboratori di ricerca.

Un esempio che oggi voglio descrivere è rappresentato dal Super-Resolution via Repeated Refinements (SR3), un algoritmo sviluppato all’interno dei laboratori Google, che basa la propria funzionalità sul processo di denoising stocastico applicato al resample di un’immagine.

L’ approccio al problema è innovativo. Pur basandosi sempre su modelli di machine-learning, questo algoritmo applica il training su immagini sottoposte a noising progressivo. In questo modo il modello viene calibrato per poter essere successivamente utilizzato in modo inverso, partendo da un noising completo fino all’immagine scalata.

Esempio di Image Super-Resolution via Iterative Refinement
by Chitwan Saharia Jonathan Ho,  William Chan,  Tim Salimans,  David Fleet,  Mohammad Norouzi)
Super Resolution results: (Sopra) 64×64 → 512×512 face super-resolution, (Sotto) 64×64 -> 256×256 natural image super-resolution.

Questo approccio ha dimostrato ottimi risultati di benchmark nella scalatura 4x-8x soprattutto per immagini ritraenti visi umani e immagini naturali. Nell’articolo (che si può leggere tramite i riferimenti in basso), si ipotizza anche la possibilità di superare il confine degli 8x applicando più volte in cascata l’algoritmo stesso, arrivando a raggiungere fattori moltiplicativi più elevati.

E’ facile immaginare che tali applicazioni di sintesi digitale porteranno sempre più applicazioni in ambiti differenti, da quello fotografico a quello medico, consentendo magari anche il riutilizzo di video e foto registrate con apparecchiature hardware con caratteristiche e ottiche obsolete.

Per approfondire:

RAIY. Romano, J. Isidoro and P. Milanfar, “RAISR: Rapid and Accurate Image Super Resolution,” in IEEE Transactions on Computational Imaging, vol. 3, no. 1, pp. 110-125, March 2017, doi: 10.1109/TCI.2016.2629284.

Image Super-Resolution via Iterative Refinement – 2021 – Image and Video Processing (eess.IV); Computer Vision and Pattern Recognition (cs.CV); Machine Learning (cs.LG) – Chitwan Saharia, Jonathan Ho, William Chan, Tim Salimans, David J. Fleet, Mohammad Norouzi

Yulun Zhang, Kunpeng Li, Kai Li, Lichen Wang, Bineng, Zhong, and Yun Fu. Image super-resolution using very deep residual channel attention networks. In Proceedings of the European conference on computer vision (ECCV).

NVIDIA DLSS 2.0

Con l’architettura Turing, NVIDIA ha iniziato ad implementare dal 2018 nuove tecnologie che sfruttano algoritmi di Intelligenza Artificiale per ottimizzare la resa qualitativa delle applicazioni e dei giochi.
Una fra queste è la tecnologia DLSS, acronimo di Deep Learning Super Sampling.

Si tratta di un algoritmo implementato nel chipset NVIDIA che permette di effettuare dei calcoli di rendering con un subsampling dell’immagine, quindi ad una risoluzione inferiore, per poi rielaborarla automaticamente tramite un super-sampling effettuato internamente dai Tensor core presenti nel chip, per ottenere un’immagine ad una risoluzione maggiore, conservando una qualità ottimale ed un alto frame rate.

Ciò che differenzia questa tecnologia rispetto ai più consueti algoritmi di up-scaling, è la rete neurale profonda utilizzata internamente che, istruita dalle immagini del gioco stesso, permette una migliore calibrazione e di conseguenza una resa grafica più efficiente, specificatamente sulle features del gioco stesso.

Architettura DLSS v.2.0

In definitiva, questa strategia consente di diminuire i tempi di calcolo conservando ottime qualità visive anche alle più alte risoluzioni, con il limite, ovviamente, di richiedere alle case produttrici l’integrazione di questa funzionalità all’interno del proprio workflow (quindi solo alcuni titoli sono compatibili con il DLSS).

Nel 2020, con l’implementazione dei nuovi chipset, NVIDIA ha portato degli aggiornamenti anche a questa tecnologia (DLSS v.2.0) portando nuovi vantaggi in termini prestazionali ed implementativi.

Deliver Us the Moon – DLSS 2.0


In particolare, la fase di training della rete neurale viene in parte generalizzata sui componenti grafici più comuni all’interno dei giochi (come i sistemi particellari di fumo, fuoco, ecc.) senza la necessità quindi di ricevere un dataset di immagini specifico da ciascun produttori.

Inoltre, per i titoli che supportano questa tecnologia, è possibile impostare tre livelli di qualità computazionale: qualità, bilanciato, performance, in modo da poter impostare, sulla base delle caratteristiche hardware in possesso, un setup funzionale.

Ovviamente anche AMD è impegnata nella ricerca ed implementazione tecnologica nella pipeline di rendering dei propri chipset e al Computex 2021 ha presentato FidelityFX Super Resolution, la sua risposta al DLSS di NVIDIA (per approfondire visita il link)

Per approfondire DLSS 2.0: visita il link

Costruzioni Lego e Intelligenza artificiale

Si chiama BrickIt l’app basata su algoritmi di Intelligenza artificiale che permette di fotografare i pezzi Lego a nostra disposizione e proporci delle originali idee progettuali.

Ok, so bene che in questo caso siamo ai limiti di un articolo “acchiappa click”, come quelli che si trovano spesso nelle riviste generaliste con lo scopo di incuriosire e attirare l’attenzione di un pubblico non specialista utilizzando termini iper-tecnologici per descrivere applicazioni banali.
Ma, sarà forse il mood estivo o la ricerca di nuovi stimoli da parte dei piccoli di casa, ho voluto sperimentare questa nuova App che promette di automatizzare la progettazione di costruzioni Lego sulla base dei pezzi a nostra disposizione.

L’ App in questione si chiama BrickIt (brickit.app) ed è disponibile al momento solo per piattaforma iOs (iPhone) in forma gratuita.
Il funzionamento è davvero semplice ed immediato: si dispongono i pezzi lego su una superficie piana (possibilmente a tinta unita), facendo attenzione a non occludere i pezzi più piccoli sotto quelli più grandi; si fotografa questa disposizione e l’app fa tutto il resto, costruendo dei veri e propri libretti di costruzione che ci guidano nella realizzazione di oggetti alternativi, tutti realizzabili con i pezzi che abbiamo fotografato.


Ma non finisce qui! Infatti durante gli step di costruzione, possiamo chiedere all’App di mostrarci l’area della fotografia in cui è presente il pezzo di cui necessitiamo, facendoci risparmiare lunghi tempi di ricerca.
Tale funzionalità consente anche di scegliere, fra i pezzi presenti, delle alternative cromatiche che possiamo integrare nel progetto.

Sono consapevole che qualcuno potrebbe non apprezzare tale funzionalità, affermando che la ricerca e l’identificazione dei pezzi (come avviene per alcune tipologie di gioco, come i puzzle) rientra proprio nelle fasi creative del gioco e che quindi eliminarle altera la dinamica ludica (basti pensare quando, seguendo un libretto delle istruzioni per il montaggio e dopo una disperata ricerca di pezzi all’interno del nostro contenitore, siamo portati all’adozione di varianti , rendendo di fatto originale e unica la nostra costruzione).

Ma in questo testo vorrei soffermarmi principalmente sugli aspetti tecnologici e implementativi di questa App che dimostra come “semplici” algoritmi di matching fotografico affiancati ad un sistema di proposta progettuale possano essere coniugati in un’applicazione semplice e utile, davvero alla portata di chiunque.
Il riconoscimento fotografico si basa su estrazioni di features (forma e contrasto), identificando attraverso un dizionario di immagini le varie tipologie di pezzo Lego (al momento in questo database non sono inclusi la serie Lego Technic e Lego Duplo).

Dopodiché, un modello di pattern recognition cerca in un catalogo già predisposto le occorrenze presenti, proponendoci delle alternative di costruzione, con le relative istruzioni di montaggio. Queste istruzioni si basano presumibilmente su un prontuario già presente, essendo le immagini della guida non correlate ai colori dei pezzi in nostro possesso.

Fase di sperimentazione e costruzione. 🙂

L’idea progettuale è molto simpatica ed apre ad una integrazione ludica e tecnologica comunque basata sulla socializzazione e sulle capacità di personalizzazione progettuale.

Da un punto di vista funzionale l’app si è rivelata abbastanza stabile.
Durante la “sperimentazione” (con il supporto di un esperto in costruzioni ;)) l’App ha commesso pochi errori di identificazione, principalmente a causa di parziali occlusioni dei pezzi sotto altri. Tale evenienza però ha permesso piccole reinterpretazioni pesonali che hanno reso ancora più originali le nostre creazioni.

P.S.: Citazione doverosa in tale ambito è il software di progettazione sviluppato da Lego Digital Designer (https://www.lego.com/it-it/ldd) per la creazione di nuovi progetti di costruzione, con relativa elaborazione automatica di istruzioni di montaggio. In questo caso ovviamente si tratta di una semplice applicazione per la progettazione 3D senza alcun supporto di AI.

https://www.youtube.com/watch?v=z5U_BqJcQ3Y

Deep Nostalgia, riporta in vita foto d’epoca

Riportare in vita foto d’epoca. Questo è il nuovo servizio pubblicato da MyHeritage che sicuramente troverà eco nei social e che susciterà la curiosità di molti appassionati.
Andando sul sito https://www.myheritage.it/deep-nostalgia è possibile, dopo una registrazione gratuita, caricare una qualsiasi immagine di un volto umano (anche di nostri cari defunti…) per vederne una piccola animazione online.

Il servizio Deep Nostalgia di myheritage.it

Se tale funzionalità ha ovviamente l’obiettivo di attirare clienti al sito che riunisce appassionati di genealogia (oltre a possibili altre finalità di data recording di immagini caricate) in realtà porta alla luce del pubblico generalista una importante start-up che in questi ultimi anni ha studiato e implementato importanti algoritmi basati sul face-recognition.

Prima di introdurla, cercherò di fare una breve sintesi su un argomento sicuramente molto vasto (sia tecnicamente che eticamente) a cui però dobbiamo in qualche modo approcciarci anche per raggiungere una certa consapevolezza dei sistemi che usiamo quotidianamente.

Face recognition e privacy

Con la diffusione sempre più capillare delle tecniche di face recognition applicate nei settori più disparati, si sta portando alla luce una problematica legata alla conservazione e all’utilizzo di questi dati biometrici conservati dalle società fornitrici di servizi che, se non utilizzati in modo appropriato, possono diventare materiale utile per il tracciamento e il furto della nostra identità.
Per sottolineare l’importanza della conservazione di tali dati, basti immaginare che, a differenza di altri sistemi di controllo di accesso, in caso di violazione e compromissione dei nostri dati biometrici, questi non non possono essere modificati o azzerati, come avverrebbe in caso di semplici password.

Ma pensiamo anche i servizi non prettamente legati all’autenticazione, come ad esempio le applicazioni di smart-cities, traffic monitoring, telecamere di video-sorveglianza, ecc.
Tutte queste fonti di registrazione riversano il loro flusso dati in archivi digitali che, giorno per giorno, conterranno migliaia, anzi milioni, di dati biometrici di persone che sono state – a volte addirittura a loro insaputa – registrate (e quindi potenzialmente identificabili).
Considerato questo contesto, le varie policy internazionali (fra cui il nostro GDPR) stanno includendo maggiore tutela e consapevolezza per questa tipologia di dati, classificandoli in sezioni specifiche all’interno dei propri regolamenti, cercando di dare massima tutela proprio a causa della natura fortemente personale di tali informazioni.

Tra le varie società che operano in questo contesto, troviamo una società israeliana chiamata D-ID che ha concentrato il suo core-business proprio sullo studio di algoritmi di anonimizzazione biometrica e in particolare implementando tecniche di de-Identification basate sul face-recognition.

Le due foto, pur sembrando del tutto identiche, vengono riconosciute dagli algoritmi di face-recognition come differenti

A differenza delle altre tecniche generalmente utilizzate in tal senso, che vanno ad operare una vera e propria alterazione o cancellazione dei volti registrati (utilizzando le tecniche di blurring, pixelation, face swapping, deterioration, quality reduction and K-SAME), la società D-ID ha concepito un algoritmo che consente di mantenere intatta la riconoscibilità e l’espressività dei volti andando, al tempo stesso, a modificare solo quelle specifiche features che vengono utilizzate dagli algoritmi di face-recognition per distinguere le immagini e ricondurle alla nostra identità, producendo di fatto un’anonimizzazione digitale.

Questo approccio può essere utilizzato anche per generare degli avatar che, pur garantendo una verosimiglianza con il nostro volto originale, non consentono ai software di dedurre le nostre informazioni biometriche, la nostra etnia, provenienza o qualsiasi altra informazione riconducibile alla nostra identità (personally identifiable information).
D-ID è una delle realtà che è sotto i riflettori sia perché conta al proprio interno un advisory board di nomi illustri che possono indirizzare opportunità verso lo sviluppo di nuovi algoritmi, sia perché tali applicazioni troveranno sempre più integrazione all’interno della nostra quotidianità digitale e reale.

Per approfondire: https://www.deidentification.co/

Esempio di utilizzo della tecnologia Reenactment per animare fotografie
Esempio di utilizzo della tecnologia Reenactment per creare brevi animazioni