ML Dietro i tuoi sfondi preferiti di Google Meet

La pandemia ha costretto il mondo aziendale ad abbandonare i propri uffici e lavorare da casa. In effetti, gli incontri di persona sono stati sostituiti da meetup virtuali. Grazie a questa nuova tradizione, le società di videoconferenza come Zoom ne hanno beneficiato enormemente. L’improvvisa corsa ad abbracciare i mondi virtuali ha portato a varie sfide. Gli utenti erano infastiditi da interruzioni, rumore, pareti monotone e altro. Pertanto, le aziende che offrono servizi di videochiamata hanno permesso agli utenti di cambiare il loro background e hanno apportato modifiche in modo da ridurre il rumore nell’audio.

Queste modifiche sono generalmente il risultato di modelli di machine learning in esecuzione in background. Il caricamento di questi modelli e la loro esecuzione per inferenza può essere lento. Quindi, i modelli devono essere piccoli insieme alle immagini. Inoltre, se stai avviando questi servizi sul tuo browser. Google Workspace (ex G-Suite) ha fatto bene in questo senso rendendo le chiamate vocali più chiare e gli sfondi più estetici per i suoi utenti. In un recente post sul blog, Google ha discusso di come hanno ottenuto una qualità così elevata per i loro servizi video.

Gli ingegneri di Google hanno creato con diligenza una pipeline che sfrutta molte innovazioni ML sviluppate da Google nel corso degli anni. Uno di questi è MediaPipe, un framework open source e multipiattaforma per la creazione di pipeline per elaborare i dati percettivi di diverse modalità. Maggiori informazioni nella prossima sezione.

La maggior parte del rilevamento di oggetti di solito si rivolge a oggetti bidimensionali o 2D. I riquadri di delimitazione sono sempre rettangoli e quadrati ma mai un cubo. Estendendo la previsione al 3D, è possibile acquisire le dimensioni, la posizione e l’orientamento di un oggetto nel mondo, portando a una varietà di applicazioni nella robotica, nei veicoli a guida autonoma, nel recupero delle immagini e nella realtà aumentata.

Google AI ha rilasciato MediaPipe Objectron, una pipeline mobile per il rilevamento di oggetti 3D in tempo reale per oggetti di uso quotidiano. Questa pipeline rileva gli oggetti nelle immagini 2D e stima le loro pose e dimensioni tramite un modello di machine learning (ML), addestrato su un set di dati 3D di nuova creazione. Objectron calcola riquadri di delimitazione 3D orientati di oggetti in tempo reale su dispositivi mobili.

Utilizzando MediaPipe, Google ha introdotto una nuova soluzione ML nel browser per la sfocatura e la sostituzione dello sfondo in Google Meet. Con l’aiuto di MediaPipe, i modelli ML e gli shader OpenGL vengono eseguiti in modo efficiente sul browser. Google afferma di aver raggiunto prestazioni in tempo reale con un basso consumo energetico, anche su dispositivi a bassa potenza.

In che modo Google ha “incontrato” la sfida


“… altre soluzioni richiedono l’installazione di software aggiuntivo, le funzionalità di Meet sono supportate da tecnologie di web ML all’avanguardia realizzate con MediaPipe che funzionano direttamente nel tuo browser, senza passaggi aggiuntivi.”

Per fornire prestazioni in-browser in tempo reale, Google ha combinato efficienti modelli ML su dispositivo, rendering basato su WebGL e inferenza ML basata sul Web tramite XNNPACK e TensorFlow Lite.

MediaPipe sfrutta WebAssembly, un formato di codice binario di basso livello progettato specificamente per i browser web. Questo aiuta a migliorare la velocità per le attività pesanti di calcolo. Durante una videochiamata, il browser converte le istruzioni WebAssembly in codice macchina nativo che viene eseguito molto più velocemente del codice JavaScript tradizionale.

La procedura può essere riassunta come segue:

Ogni fotogramma video viene elaborato segmentando un utente dal suo sfondo.
L’inferenza ML viene utilizzata per calcolare una maschera a bassa risoluzione.
La maschera viene ulteriormente rifinita per allinearla ai confini dell’immagine.
Questa maschera viene quindi utilizzata per rendere l’uscita video tramite WebGL2 , con lo sfondo sfocato o sostituito.
Il team di Google Meet ha creato un modello di segmentazione per il corretto funzionamento dei modelli ML sul dispositivo. Questi modelli devono essere ultraleggeri per inferenze rapide, basso consumo energetico e dimensioni di download ridotte. Montare questi modelli su un browser e la risoluzione incide sul numero di FLOP necessari per elaborare ogni frame. Quindi, le immagini più piccole sono obbligatorie per una migliore esperienza.

Quindi, le immagini vengono sottocampionate a una dimensione inferiore prima di essere inviate al modello. Il team ha ridotto la dimensione del modello dell’encoder-decoder a 400 KB modificando l’esportazione del modello in TensorFlow Lite utilizzando la quantizzazione float16. Ciò, ha affermato Google, ha comportato una leggera perdita di precisione del peso senza alcun calo di qualità. Il modello risultante ha 193.000 parametri e una dimensione di soli 400 KB. Per il modello di codificatore, hanno utilizzato MobileNetV3-small.

Per la sostituzione dello sfondo, il team ha adottato una tecnica di compositing, nota come avvolgimento leggero . La disposizione leggera ammorbidisce i bordi della segmentazione consentendo alla luce di sfondo di riversarsi sugli elementi in primo piano e consentirà agli utenti di fondersi bene con i loro sfondi. Rimuove anche gli effetti alone.

Di ihal