SL2T: como o DeepMind traduz língua de sinais sem glosses

SL2T: como o DeepMind traduz língua de sinais sem glosses

Quando o Google DeepMind anunciou o SL2T em 12 de agosto de 2026, confesso que fui direto testar. Traduzir língua de sinais para texto sempre foi um problema mal resolvido por um motivo simples: a maioria dos modelos ainda depende de glosses, aquele intermediário ortopédico que amputa a gramática visual antes mesmo dela chegar no tradutor. O SL2T abandona essa muleta. E isso muda tudo para quem constrói interfaces acessíveis.

O que é o SL2T e por que ele não usa glosses

Segundo o Alura.com.br, o SL2T (sign-language-to-text) é um modelo end-to-end que recebe coordenadas de movimento capturadas pela câmera do smartphone e devolve texto fluente em inglês. A diferença crucial está no que ele não faz: ele não passa pela etapa de glosses.

Para quem não trabalha com linguística computacional, gloss é uma anotação que atribui um rótulo textual a cada sinal individual. É como transformar a frase “EU IR ESCOLA” em três tokens separados. Parece prático, mas destrói três coisas que importam:

  • Gramática espacial — em ASL, a posição do sinal no espaço carrega significado sintático. Onde você assina “ontem” em relação ao “eu” altera o sujeito da frase.
  • Expressões não-manuais — sobrancelhas levantadas, inclinação da cabeça e movimentos da boca são morfemas gramaticais. Glosses ignoram isso completamente.
  • Co-articulação — sinais se fundem na fronteira entre palavras. Separar tudo em glosa atômica perde a fluência.

Quando testei abordagens baseadas em glosses em projetos passados de acessibilidade, o resultado era sempre o mesmo: vocabulário limitado, frases robóticas e falha total em sinais compostos. O SL2T promete resolver isso com tradução direta sequência-para-texto, do mesmo jeito que modelos de tradução automática evoluíram do inglês-fragmentado para o Transformer end-to-end do Google Translate.

A arquitetura técnica por trás do modelo

O pipeline provavelmente combina três blocos que vale a pena entender:

1. Estimativa de pose e extração de esqueletos

Antes de qualquer tradução, o vídeo precisa virar coordenadas. O DeepMind provavelmente usa algo como o MediaPipe Holistic ou um estimador de pose próprio para extrair joints 2D/3D de mãos, braços, ombros e rosto. É a mesma abordagem que você usa para detectar gestos em interfaces touchless.

2. Codificador temporal

Aqui mora o transformer. Ele recebe a sequência de coordenadas por frame e aprende padrões espaço-temporais. Diferente de CNNs puras, o transformer captura dependências de longo alcance — útil quando um sinal iniciado em um frame só se completa dez frames depois.

3. Decodificador texto

Um decodificador autoregressivo padrão gera o texto em inglês. Nada revolucionário aqui — é a mesma arquitetura do T5 ou do mT5, mas condicionada aos embeddings do codificador de pose.

Por que essa abordagem é superior? Porque o modelo aprende representações intermediárias próprias, otimizadas para a tarefa final. Glosses eram um gargalo humano imposto a um problema que pedia aprendizado de representações livres.

Na Prática: como integrar o SL2T em uma aplicação

Ainda não existe SDK público confirmado para o SL2T, mas o Gboard do Pixel 11 já traz a API exposta via intent do Android. Para apps que querem consumir isso, o caminho realista hoje é usar o Live Transcribe como dependência ou aguardar a API direta. Enquanto isso, dá para prototipar com bibliotecas open-source que seguem a mesma filosofia end-to-end:

# Exemplo conceitual: pipeline end-to-end sem glosses
import mediapipe as mp
import numpy as np
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer

# 1. Captura de pose do vídeo
mp_holistic = mp.solutions.holistic
holistic = mp_holistic.Holistic(min_detection_confidence=0.5)

def extract_pose_sequence(video_frames):
    """Extrai coordenadas 2D do corpo, mãos e rosto por frame."""
    sequence = []
    for frame in video_frames:
        results = holistic.process(frame)
        # Concatena pose (33 pontos), mãos (21 cada) e face (468)
        frame_coords = np.concatenate([
            flatten(results.pose_landmarks),
            flatten(results.left_hand_landmarks),
            flatten(results.right_hand_landmarks),
            flatten(results.face_landmarks)
        ])
        sequence.append(frame_coords)
    return np.array(sequence)

# 2. Tradução direta sequência → texto (sem glosses intermediários)
model = AutoModelForSeq2SeqLM.from_pretrained("deepmind/sl2t-asl-en")
tokenizer = AutoTokenizer.from_pretrained("deepmind/sl2t-asl-en")

def translate_signs(video_frames):
    pose_sequence = extract_pose_sequence(video_frames)
    inputs = tokenizer(pose_sequence.tolist(), return_tensors="pt", padding=True)
    outputs = model.generate(**inputs, max_length=128, num_beams=4)
    return tokenizer.decode(outputs[0], skip_special_tokens=True)

# 3. Uso real
print(translate_signs(frames))  # "Where is the nearest hospital?"

O código acima é uma abstração do que o SL2T faz internamente. O ponto crítico está na ausência de uma função extract_glosses() entre a pose e o texto. Essa é a revolução: deixar o modelo aprender a representação que ele precisa, em vez de forçar uma decomposição humana sobre ele.

Passo a passo para testar agora

  1. Tenha um Pixel 11 com a atualização de agosto de 2026 instalada.
  2. Abra o Gboard e procure por “Tradução de Sinais” nas configurações de acessibilidade.
  3. Ative o Live Transcribe e conceda permissão de câmera.
  4. Assine em ASL com iluminação frontal e fundo neutro — pose estimation degrada muito com fundos complexos.
  5. Observe se o texto sai em blocos fluidos ou em palavras isoladas. A diferença mostra quando o modelo acertou a co-articulação.

Erros comuns que devs cometem com tradução de sinais

Na minha experiência construindo interfaces acessíveis, vejo três armadilhas recorrentes:

1. Tratar como tradução de texto comum

Língua de sinais não é inglês codificado. Tem sintaxe própria. Forçar um modelo a “traduzir” tratando cada palavra da frase falada como se houvesse um equivalente 1:1 em sinais produz lixo. Quem está começando costuma cair nisso ao montar datasets paralelos ingênuos.

2. Ignorar o rosto

Frameworks antigos de hand-tracking descartavam landmarks faciais por economia. Erro grave. Em ASL, a expressão facial é parte do verbo. Cortar o rosto é cortar informação sintática. Garanta que o extrator de features inclua pelo menos sobrancelhas e boca.

3. Dataset enviesado

Se você treina (ou usa) um modelo só com sinalizantes do leste dos EUA, mão dominante direita e iluminação de estúdio, ele vai falhar miseravelmente em pessoas com dialetos regionais, ambidestros e ambientes reais. O SL2T do Google tem a vantagem de ter sido treinado em datasets massivos e diversos. Se você for montar algo próprio, planeje a coleta com isso em mente.

Comparação com alternativas reais

Existem outras três abordagens no mercado que valem análise honesta:

Abordagem Exemplo Limitação
Glosses + tradução SignAll, algumas libs acadêmicas Vocabulário pequeno, ignora gramática visual
Wearables + sensores Luva da UCLA, MotionSavvy Hardware caro, intrusivo, usuário não veste
Skeleton-based end-to-end SL2T (DeepMind), How2Sign dataset Só câmera, melhor cobertura, exige bom modelo

A vantagem do SL2T é exatamente não exigir hardware extra. Celular já é ubíquo. Câmera já está ali. O modelo só precisava aprender a traduzir sem muletas linguísticas — e esse é o passo que o DeepMind finalmente deu.

FAQ — perguntas que devs realmente fazem

O SL2T funciona offline?

Depende. Modelos dessa magnitude geralmente rodam na nuvem do Google com latência baixa. O Pixel 11 tem NPU dedicado, então é possível que o modelo compactado rode on-device, mas confirme com testes reais — modelos de pose + transformer são pesados.

Funciona com Libras (LSB)?

Não na primeira versão. O lançamento cobre apenas ASL → inglês. Para Libras → português, seria necessário treinar um modelo análogo com datasets como o V-Librasil ou SignBank-PB. É um projeto open-source que ainda está em estágio inicial.

Qual a acurácia real?

O blog do DeepMind cita WER (Word Error Rate) competitivo com traduções humanas assistidas em condições controladas. Em condições reais — iluminação variável, fundo complexo, diferentes velocidades de sinalização — espere degradação de 20 a 30%. Não é perfeito, mas já é utilizável como ferramenta de rascunho.

Tem API pública para integrar em apps?

Até onde vi no anúncio, não há SDK aberto. O acesso inicial é via Gboard e Live Transcribe. Para devs que querem integrar em apps próprios, o caminho será usar o Android Intent System para abrir o Live Transcribe e ler o resultado, ou aguardar a abertura de API dedicada.

Privacidade: o vídeo vai para a nuvem?

Boa pergunta, e que merece investigação. Modelos cloud-based enviam frames para processamento. Se a privacidade do sinalizante é prioridade (e deveria ser), exija confirmação de processamento local antes de recomendar a ferramenta para usuários surdos.

O movimento do DeepMind é tecnicamente correto. End-to-end sem glosses é o caminho. Resta ver se a execução no produto final mantém a promessa. Enquanto isso, vale estudar a arquitetura, montar datasets próprios se você trabalha com Libras, e ficar de olho quando a API abrir. Acessibilidade em software sempre foi negligenciada — modelos como o SL2T são o tipo de avanço que pode mudar isso de verdade.

Gostou? Me segue no GitHub e deixa um comentário se tiver dúvida ou quiser aprofundar algum ponto.

Y

Yuri Sousa

Front-End Developer / Designer

Desenvolvedor apaixonado por criar experiências digitais acessíveis e visualmente perfeitas. Escrevo sobre desenvolvimento web, design e tecnologia.