deeplens-asl
Spunti di riflessione
Tastiere e mouse non rappresentano il futuro. Ciascuno di noi concorda sul fatto che, nei prossimi anni, l’interazione con i computer si baserà sull’uso della voce. Siri, Cortana, Google Home e, ovviamente, Alexa (e Alexa for Business) sono tutti esempi di come potrebbe essere il futuro. Persino Werner Vogels pensa che l'interazione vocale sarà la nuova interazione tradizionale (novembre 2017).
Grazie alla lingua dei segni americana (o ad alcune varianti), il kit di strumenti DeepLens può aiutare nella comprensione coloro che non sanno o possono comunicare vocalmente. L'elaborazione del flusso video e di un modello di apprendimento approfondito consentono di sfruttare gli strumenti di Deeplens come una nuova interfaccia che traduce la lingua dei segni americana (ASL) all’inglese scritto e parlato in tempo reale, in modo da permettere l’interazione con i computer.
Cosa fa
La nostra partecipazione alla sfida AWS DeepLens Challenge dimostra che è possibile comprendere l'alfabeto della lingua dei segni americana (ASL). La nostra scelta nasce dal fatto che l'alfabeto è composto principalmente da posizioni statiche delle mani. Il nostro modello, realizzato durante la sfida, è artigianale, basato su un modello di visione SageMaker e ben addestrato su un set di dati specifico. Abbiamo optato per la rimozione delle lettere 'j' e 'z', in quanto richiedono movimento, e aggiunto segni speciali, che toccherà a te scoprire ;)
Creato da: Benjamin Meudre
Come l’ho realizzato
Il set di dati è stato creato con una funzione Lambda specifica che viene eseguita su DeepLens (consulta il "Sottoprogetto Snapshot" di seguito, per ulteriori informazioni).
Abbiamo scattato più foto che ritraevano diverse persone per ogni lettera dell'alfabeto (ad eccezione della "j" e "z") e dei segni speciali.
L’addestramento è stato realizzato con Amazon SageMaker, e ha previsto il trasferimento dell’apprendimento su una rete Squeezenet di 18 strati. Per un risultato soddisfacente, la convergenza avviene in 4 epoche.
Come usarlo:
Distribuzione: il modello è situato nella cartella del modello e il gestore della funzione Lambda si trova nella relativa cartella. Per iniziare a usarlo, è necessario semplicemente seguire gli stessi passaggi descritti nella documentazione di AWS che cominciano dalla fase 4.
Una volta che la distribuzione su DeepLens è avvenuta, sarà necessario aprire il Project Stream per visualizzare i risultati di inferenza e provare a creare frasi!
Interfaccia: la lettera effettiva rilevata viene visualizzata nell'angolo in alto a sinistra (lettera e confidenza). Nel caso in cui non si visualizzasse nessun risultato, questo significherebbe che nessuna lettera è stata riconosciuta con più del 40% di confidenza.
Nella parte inferiore dell'immagine si visualizza il tuo messaggio così com'è scritto. La visualizzazione di ogni lettera dipende da se essa viene riconosciuta in un tempo sufficiente.
Per creare uno spazio bianco: attendi qualche secondo senza il riconoscimento di alcun elemento. Per ripristinare il messaggio: attendi più a lungo;)
Attenzione:
- La qualità dei risultati è più attendibile se lo sfondo è sui toni del bianco e se il campo visivo DeepLens è vuoto.
- Prova a fare i segni solo all’interno del campo (senza utilizzare il volto, il corpo...).
- Tra il tuo movimento e il risultato della fotocamera potrebbe verificarsi un leggero ritardo.
Il sottoprogetto Snapshot:
Questo progetto consiste nell’utilizzo degli strumenti DeepLens per generare il set di dati. La fotocamera risponde all'utente che fa clic su un pulsante per scattare un'istantanea e classificare l'immagine in modo immediato.
Si ricorre a un front-end ospitato su S3 che si autentica con Cognito e comunica con DeepLens tramite gli argomenti IoT. Quando le immagini arrivano nel bucket S3, vengono automaticamente ottimizzate per operazioni di addestramento SageMaker.
Creato con
Python
Amazon-Web-Services