Contattaci
Lasciaci i tuoi riferimenti, saremo felici di contattarti il prima possibile e organizzare una consulenza gratuita.
Tradurre la Lingua Italiana dei Segni - il Progetto LIS2Speech
Le persone sorde e ipoudenti possono comunicare tra loro utilizzando la Lingua dei Segni, ma possono avere difficoltà a connettersi con il resto della società. Il riconoscimento della lingua dei segni (Sign Language Recognition - SLR) è un campo di studio che ha iniziato a essere analizzato già nel 1983, ma solo nell'ultimo decennio questo compito ha guadagnato maggiore attenzione. D'altra parte, il numero di studi sulla Lingua dei Segni Italiana (LIS) è ancora scarso e la maggior parte dei lavori pubblicati riguarda le lingue dei segni americane, cinesi e tedesche.
Per risolvere il problema, abbiamo sfruttato le reti neurali, il Deep Learning e la Computer Vision per creare un'applicazione, chiamata LIS2Speech (LIS2S), in grado di restituire la traduzione italiana di un segno LIS, eseguita all'interno di un video registrato. Il metodo si basa sulle caratteristiche scheletriche delle mani, del corpo e del viso estratte da video RGB senza la necessità di apparecchiature aggiuntive, come i guanti colorati.
Poiché l'obiettivo è quello di abbracciare il maggior numero possibile di persone, LIS2S è stato sviluppato come Progressive Web App, in grado di essere eseguito su qualsiasi dispositivo dotato di fotocamera, sia esso un computer o uno smartphone.
I risultati ottenuti con l'approccio descritto sono in linea con quelli ottenuti da strumenti automatici sviluppati per altre lingue dei segni, consentendo al modello di comprendere e distinguere correttamente segni appartenenti a un vocabolario di 50 parole, che è in accordo con le dimensioni di altri corpora per il riconoscimento di lingue dei segni isolate.
Inoltre, è stato creato un nuovo dataset per il riconoscimento continuo della lingua dei segni (CSLR), che viene costantemente ampliato, per creare un benchmark pubblicamente disponibile per questo tipo di attività.
La traduzione delle lingue dei segni come problema sociale
Le lingue parlate e le lingue dei segni si differenziano per alcuni aspetti importanti:
- le prime utilizzano il canale "vocale - uditivo", poiché il suono viene prodotto con la bocca e percepito con l'orecchio;
- le seconde invece utilizzano il canale "corporale - visivo", i segni vengono prodotti con il corpo (mani, braccia, espressioni facciali) e percepiti con gli occhi.
Esistono diversi tipi di lingue dei segni, perché non sono internazionali e anche all'interno di una lingua dei segni nazionale sono presenti diversi dialetti. Sono infatti lingue naturali, in quanto si sono evolute spontaneamente laddove le comunità di sordi avevano la possibilità di comunicare reciprocamente, e non sono derivate dalle lingue parlate, perché hanno un vocabolario e strutture grammaticali proprie.
L'elemento fondamentale di una lingua dei segni è la glossa, che combina caratteristiche manuali e non manuali e rappresenta il significato più prossimo di un segno. In base al contesto, una caratteristica specifica può essere il fattore più importante nell'interpretazione di una glossa: può cambiare il significato di un verbo, fornire informazioni spaziali o temporali e discriminare tra oggetti o persone.
Come è noto, esiste una difficoltà intrinseca nella comunicazione tra la comunità dei sordi e il resto della società (secondo l'ANSA, nel 2018 c'erano più di 72 milioni di persone in tutto il mondo che utilizzavano la lingua dei segni), quindi la progettazione di sistemi robusti per il riconoscimento automatico della lingua dei segni ridurrebbe ampiamente questo divario.
Sign Language Recognition e Computer Vision
La definizione di riconoscimento della lingua dei segni (Sign Language Recognition, SLR) può essere espressa come il compito di dedurre le glosse eseguite da un segnante da registrazioni video. Può essere considerato in qualche modo correlato al riconoscimento di azioni o gesti umani, ma l'SLR automatico presenta le seguenti sfide aggiuntive:
- L'interpretazione del linguaggio dei segni è fortemente influenzata dalla posizione esatta nello spazio e nel contesto circostante. Ad esempio, non esistono pronomi personali (ad esempio, "lui", "lei", ecc.), perché il segnante indica direttamente qualsiasi attore coinvolto;
- Molte glosse sono riconoscibili solo grazie alle loro caratteristiche non manuali e di solito sono difficili da individuare;
- In base alla velocità di esecuzione di una determinata glossa, essa può avere un significato diverso. Ad esempio, i segnanti non utilizzerebbero due glosse per esprimere "correre velocemente", ma semplicemente accelererebbero l'esecuzione dei segni coinvolti.
I meccanismi di Machine Learning (ML) e Deep Learning (DL) sono alla base della cosiddetta Computer Vision (CV). Si tratta di un campo scientifico interdisciplinare che si occupa di come i computer possano ottenere una comprensione di alto livello da immagini o video digitali. L'SLR è un compito estremamente correlato alla CV e sfrutta il significativo miglioramento delle prestazioni ottenuto da molti compiti legati ai video, grazie all'ascesa delle reti profonde (deep networks).
LIS2Speech ha l'obiettivo di produrre uno strumento utile a migliorare l'integrazione delle persone sorde con il resto della società; questo strumento deve essere facilmente accessibile da chiunque, ed è per questo che si è scelto di sviluppare un'applicazione in grado di essere eseguita su computer portatili o anche su smartphone.
Lo stato dell'arte
L'ultimo decennio ha visto la rapida espansione delle tecniche di Deep Learning in molte applicazioni che coinvolgono input spazio-temporali. La Computer Vision è un'area di ricerca incredibilmente promettente, con ampi margini di miglioramento; infatti, compiti legati al video come il riconoscimento di azioni umane, il riconoscimento di gesti, la cattura di movimenti ecc. hanno visto notevoli progressi nello sviluppo e nelle prestazioni. L'ambito SLR è estremamente correlato al CV, poiché richiede l'analisi e l'elaborazione di pezzi o sequenze video per estrarre informazioni significative; per questo motivo la maggior parte degli approcci che affrontano l'SLR si sono orientati in questa direzione.
Il Sign Language Recognition può svolgere un ruolo importante nell'affrontare il problema dell'integrazione delle persone sorde con il resto della società. L'attenzione della comunità internazionale per questo particolare problema è cresciuta negli ultimi anni, ed è aumentato il numero di studi pubblicati, ma anche la quantità di set di dati disponibili.
Esistono diversi compiti di SLR automatico, a seconda del livello di dettaglio della modellazione e della successiva fase di riconoscimento; questi possono essere approssimativamente suddivisi in:
- SLR isolato: in questa categoria, la maggior parte dei metodi mira ad affrontare compiti di classificazione di segmenti video, partendo dal presupposto fondamentale che sia presente un singolo gloss.
- Rilevamento di segni in flussi continui: l'obiettivo di questi approcci è riconoscere un insieme di glosse predefinite in un flusso video continuo.
- Continuous SLR (CSLR): l'obiettivo di questi metodi è identificare la sequenza di glosse presenti in una sequenza video continua o non segmentata. Le caratteristiche di questa particolare categoria di meccanismi sono più adatte ai requisiti delle applicazioni SLR reali.
Questa distinzione è necessaria per comprendere i diversi tipi di problemi presenti per ogni compito. Storicamente, prima dell'avvento dei metodi di deep learning, l'attenzione era rivolta all'identificazione di glosse isolate e all'individuazione di gesti, per questo motivo gli studi sul SLR isolato sono più comuni. Nell'immagine seguente si può osservare l'andamento degli studi sul riconoscimento isolato e continuo in blocchi di cinque anni fino al 2020; la crescita sembra esponenziale per gli studi isolati, mentre è quasi lineare per quelli continui. Ciò può riflettere la difficoltà dello scenario di riconoscimento continuo e la scarsità di set di dati di addestramento disponibili. Infatti, in media si può osservare che gli studi pubblicati utilizzando dati isolati della lingua dei segni sono almeno il doppio.
In termini di dimensione del vocabolario, la maggior parte dei lavori SLR isolati modella una quantità molto limitata di segni (al di sotto dei 50 segni), mentre questo non è il caso quando si confronta il CSLR, dove gli studi complessivi sono più o meno uniformemente distribuiti su tutti i vocabolari dei segni.
Tecnologie e architetture di LIS2Speech
L'applicazione LIS2S è composta principalmente da due parti:
- sul lato client c'è una Progressive Web Application (PWA), che sarà utilizzata dagli amministratori e dagli utenti per accedere alle funzionalità fornite dal software;
- il back-end, che sarà gestito da un processo server in costante ascolto delle richieste provenienti dall'applicazione.
Ogni volta che il server riceverà una nuova richiesta, eseguirà una nuova istanza di un container Docker: questo avrà il compito di elaborare i dati provenienti dalla richiesta e restituire la traduzione al client. Nella fase prototipale, il server è stato ospitato su una macchina proprietaria, mentre nella fase finale verrà utilizzato un cluster Lexis per fornire un servizio altamente scalabile e performante.
Passando alla sezione back-end dell'applicazione LIS2S, il cuore del meccanismo di traduzione è costituito dall'elaborazione dei video ricevuti. Questo particolare compito è stato realizzato sfruttando le potenzialità del linguaggio di programmazione Python, che offre un set completo di strumenti e librerie estremamente utili per la Computer Vision e la manipolazione dei dati. Entrando più nel dettaglio, i pacchetti OpenCV e MediaPipe sono stati utilizzati principalmente per elaborare i video del nostro set di dati ed estrarre informazioni scheletriche su mani, viso e parte superiore del corpo del soggetto.
Il cuore dell'applicazione LIS2S sta nella capacità di riconoscere il segno eseguito dall'utente nel suo video. Per raggiungere questo obiettivo non banale, è necessario utilizzare meccanismi e metodologie di Deep Learning (DL); con il passare degli anni, i miglioramenti della DL ci permettono di costruire tecnologie che prima non erano nemmeno immaginabili. Per utilizzare queste tecnologie, sono stati sviluppati diversi framework: tra questi, i più noti sono Keras, PyTorch e TensorFlow. TensorFlow è il più vecchio, mentre negli ultimi due anni le due principali librerie DL che hanno guadagnato una grande popolarità, soprattutto per la facilità di utilizzo rispetto a TensorFlow, sono Keras e Pytorch. Il framework PyTorch è stato scelto perché offre un perfetto equilibrio tra facilità d'uso e controllo sull'addestramento e sul test del modello.
Pipeline per il riconoscimento del linguaggio dei segni
Passando al riconoscimento vero e proprio del linguaggio dei segni, il nostro team di sviluppo, dopo un'accurata analisi, ha evidenziato la necessità di quattro diversi modelli. In realtà, il prototipo sviluppato si concentra solo sui primi due modelli, che si occupano dell'estrazione dei dati scheletrici e del riconoscimento dei segni isolati; gli ultimi due sono riportati per dare indicazioni su futuri miglioramenti, al fine di ampliare i casi d'uso a cui questa applicazione potrebbe essere applicata.
Nel primo modello i dati scheletrici vengono estratti dal soggetto invece di utilizzare direttamente i video: questa scelta è stata fatta per ridurre la dimensionalità dei dati da manipolare e per dimostrare che utilizzando solo dati più leggeri come quelli scheletrici è possibile ottenere risultati all'avanguardia.
Nell'architettura proposta, dopo l'estrazione delle caratteristiche è possibile individuare la rete neurale vera e propria, che ha il compito di comprendere l'informazione temporale contenuta nelle caratteristiche con cui viene alimentata, e restituire il segno previsto.
Per fare ciò, introduciamo innanzitutto le reti neurali ricorrenti (RNN - Recurrent Neural Network): si tratta di particolari reti progettate per accettare una serie di input senza limiti predeterminati di dimensione; in questo modo, l'input viene considerato come una serie di informazioni, che possono avere un significato aggiuntivo rispetto a quello su cui la rete si sta addestrando. Un singolo elemento della serie di input è correlato ad altri e probabilmente avrà un'influenza sui suoi vicini; le RNN sono in grado di catturare questa relazione tra gli input in modo significativo. Infatti, sono in grado di "ricordare" il passato e di prendere decisioni in base a ciò che hanno imparato dal passato.
Il limite maggiore di questo sistema è che l'input deve essere segmentato, poiché questo progetto si concentra sul riconoscimento isolato del linguaggio dei segni, e inoltre la traduzione non è in tempo reale. Durante lo sviluppo del progetto, è stato preso in considerazione un altro modello per passare efficacemente dal riconoscimento isolato a quello continuo del linguaggio dei segni. Questo modello è attualmente in fase di sviluppo e sarà, insieme all'implementazione in tempo reale di questa applicazione, il prossimo passo da raggiungere. In particolare, il terzo modello dovrebbe occuparsi della segmentazione delle frasi in lingua dei segni.
Infine, per rendere la traduzione più leggibile da parte di utenti non sordi, il modello pensato come finale dovrebbe eseguire un tipo di riformulazione, manipolando la traduzione grezza e convertendola in una frase italiana corretta.
Collaborazione con Lexis e IT4Innovations: il cluster Barbora
Con High Performance Computing (HPC) ci si riferisce alle tecnologie utilizzate dai cluster di computer per creare sistemi di elaborazione in grado di fornire prestazioni molto elevate dell'ordine dei PetaFLOPS, tipicamente utilizzate per il calcolo parallelo.
Il progetto LIS2Speech beneficerà di un sistema HPC che richiede investimenti significativi e la cui gestione richiede l'impiego di personale specializzato di alto livello. La complessità intrinseca e la rapida evoluzione tecnologica di questi strumenti richiede inoltre che tale personale interagisca profondamente con gli utenti finali (gli esperti dei vari settori scientifici in cui questi sistemi vengono utilizzati), per consentire loro di utilizzare gli strumenti in modo efficiente.
Il progetto LEXIS [3] (Large-scale EXecution for Industry & Society) sta realizzando una piattaforma ingegneristica avanzata alla confluenza di HPC, Cloud e Big Data, che sfrutta risorse su larga scala geograficamente distribuite dell'infrastruttura HPC esistente, impiega soluzioni di analisi dei Big Data e le integra con servizi Cloud. Ulteriori informazioni sul progetto HPC Lexis sono disponibili sul sito https://lexis-project.eu/web/.
LIS2S ha permesso una collaborazione con il Progetto Lexis - High Performance Computing (HPC) in Europa, che ha fornito al Team Orbyta l'accesso al cluster Barbora.
Barbora è un supercomputer fornito da Atos IT Solutions and Services[2]. Si tratta di un'estensione del supercomputer esistente Anselm, commissionato nel 2013. È stato ufficialmente preso in consegna dal Centro nazionale di supercalcolo IT4Innovations e messo in funzione a fine settembre 2019.
"Il nostro obiettivo è quello di rinnovare regolarmente le nostre risorse di calcolo in modo che i nostri utenti abbiano accesso a sistemi di calcolo all'avanguardia e siano in grado di soddisfare il più possibile le loro crescenti esigenze", afferma Vít Vondrák, direttore del Centro nazionale di supercalcolo IT4Innovations.
IT4Innovations è il principale centro di ricerca, sviluppo e innovazione attivo nel campo del calcolo ad alte prestazioni (HPC), dell'analisi dei dati (HPDA) e dell'intelligenza artificiale (AI). Gestisce i sistemi di supercalcolo più potenti della Repubblica Ceca, che vengono messi a disposizione di gruppi di ricerca cechi e stranieri provenienti dal mondo accademico e industriale[4].
Il cluster Barbora[1], su cui LIS2S è stato migrato grazie al team LEXIS, è composto da 201 nodi di calcolo, per un totale di 7232 core di calcolo con 44544 GB di RAM, che offrono prestazioni teoriche di picco superiori a 848 TFLOP/s.
I nodi sono interconnessi tramite una rete InfiniBand fat-tree completamente non bloccante e sono dotati di processori Intel Cascade Lake. Alcuni nodi sono dotati anche di NVIDIA Tesla V100-SXM2. Il cluster viene eseguito con un sistema operativo compatibile con la famiglia Red Hat Linux.
Il team Lexis ha installato i pacchetti Python di deep learning necessari, accessibili tramite l'ambiente dei moduli. Il gestore del carico di lavoro PBS Professional Open Source Project fornisce l'allocazione delle risorse di calcolo e l'esecuzione dei lavori.
Ulteriori informazioni sui cluster Barbora sono disponibili all'indirizzo https://docs.it4i.cz/barbora/introduction/.
In particolare, Barbora viene utilizzato da LIS2S come
- Piattaforma di calcolo dell'addestramento ML offline per addestrare tutti i modelli (sono necessari nuovi addestramenti per i miglioramenti e gli aggiornamenti e per l'ampliamento del dizionario).
- Piattaforma di elaborazione video offline per l'aumento dei dati.
- Utilizzo in tempo reale da parte degli utenti (inviare e ricevere richieste di traduzione in tempo reale da parte di più utenti e ottenere dati di feedback dagli utenti).
- Utilizzo Runtime/Offline Admin (gestione del servizio (ad esempio, interruzione temporanea), richiesta di aggiunta di video al dizionario, richiesta di ottenimento per la supervisione delle prestazioni e dell'utilizzo).
- Memorizzazione dei dati (dati alfanumerici strutturati permanenti e temporanei, video grezzi permanenti e temporanei e video elaborati).
Altre collaborazioni
Dal 2020 collaboriamo con il Dipartimento di Automazione e Informatica del Politecnico di Torino e con l'Ente Nazionale Sordi per ottenere un Dataset più ampio e testare la nostra applicazione.
L'innovazione di LIS2Speech
Allo stato attuale, LIS2S presenta già molteplici punti di innovazione rispetto all'attuale stato dell'arte:
- l'applicazione non richiede attrezzature speciali (Kinect, guanti...) ma solo una videocamera e può essere eseguita su qualsiasi dispositivo, smartphone, tablet o PC;
- l'uso di dati scheletrici invece che di video grezzi è innovativo e ci ha permesso di ottenere una rete più facile da addestrare;
- il nostro studio non si concentra solo sui dati della mano, ma anche sulla postura del corpo e sui movimenti degli occhi, delle labbra e delle sopracciglia, a differenza della maggior parte degli studi nello stesso settore;
- il numero di parole del vocabolario è maggiore rispetto ad altri studi LIS, ma le prestazioni sono quasi identiche. È stato creato un nuovo dataset LIS in cui non sono presenti solo i singoli segni, ma intere frasi con l'indicazione dei segni che le compongono;
- lo studio e il dataset sono stati costruiti in modo tale che la rete sia indipendente dal segnante, cioè da chi fa il segno e sia in grado di riconoscere il gesto nella maggior parte delle condizioni visive;
- l'applicazione può essere utilizzata anche per acquisire nuovi segni da tutti gli utenti admin, permettendo al dizionario di crescere nel tempo in modo indipendente. È incluso anche un processo di riqualificazione del modello periodico per consentire all'applicazione di apprendere questi nuovi segni;
- l'applicazione presenterà un sistema di raccolta di feedback sulla traduzione LIS;
- l'applicazione presenterà la possibilità di modificare la traduzione in base all'utilizzo da parte di destrimani o mancini.
A prescindere da quanto è stato fatto per gli altri stati, attualmente non è disponibile un'applicazione che si concentri sulla traduzione dalla LIS all'italiano, e abbiamo intenzione di restituire anche la traduzione sia scritta che parlata. Una volta in italiano possiamo quindi includere anche la traduzione dalla LIS in inglese o in altre lingue. Seguendo la stessa logica, sarebbe possibile, in un'eventuale fase successiva, tradurre dalla LIS ad altre lingue dei segni con opportune animazioni.
L'obiettivo di LIS2S è infatti quello di tradurre non un singolo segno, ma intere frasi in italiano corretto. Va infatti ricordato che la LIS ha una struttura sintattica diversa dall'italiano.
Il team Orbyta sta lavorando duramente per migliorare LIS2S nel tempo e per ampliare le sue funzionalità e condivideremo i nostri progressi con la comunità di ricerca e con i nostri follower.
Fonti
[1] https://docs.it4i.cz/barbora/introduction/, consultato il 12.05.2021
[2] https://www.vsb.cz/en/news-detail/?reportId=39124, consultato il 12.05.2021
[3] https://lexis-project.eu/web/, consultato il 10.05.2021
[4] https://www.youtube.com/watch?v=4TGjJkwAJ40&t=1s, consultato il 10.05.2021
[5] Slides: Workflow Orchestration on Tightly Federated Computing Resources: the LEXIS approach, EGI 2020 Conference, Workflow management solutions, M. Levrier and A. Scionti, 02/11/2020