Como funciona o reconhecimento facial
Reconhecimento facial virou um daqueles termos que todo mundo usa e quase ninguém explica. A ideia central, porém, cabe em uma frase: o sistema transforma um rosto em uma lista de números e compara listas de números. Todo o resto é detalhe de engenharia.
Passo 1 — achar o rosto
Antes de medir qualquer coisa, é preciso saber onde o rosto está. Um detector percorre a imagem procurando o padrão característico de um rosto humano: duas regiões escuras na altura dos olhos, uma faixa mais clara no nariz, uma sombra sob o lábio inferior. Nessa etapa o sistema ainda não faz ideia de quem é a pessoa — só sabe que ali tem um rosto.
É também aqui que a maioria das falhas acontece. Rosto de perfil, metade coberta por máscara, boné e óculos escuros juntos, ou uma resolução baixa demais: o detector não encontra nada e o processo para antes de começar.
Passo 2 — marcar os pontos
Encontrado o rosto, um segundo modelo marca pontos de referência sobre ele. Os sistemas modernos usam algo em torno de 468 pontos: o contorno dos olhos, o formato das sobrancelhas, as asas do nariz, o arco do lábio, a linha do maxilar, a curva das maçãs do rosto.
Esses pontos servem primeiro para alinhar o rosto. O sistema gira, inclina e redimensiona a imagem até que os olhos fiquem em uma posição padrão. É por isso que uma foto tirada de baixo e outra tirada de cima ainda podem ser comparadas: o alinhamento desfaz boa parte da diferença de ângulo.
Passo 3 — virar número
Com o rosto alinhado, uma rede neural gera o que se chama de embedding: um vetor com algumas centenas de números. Esse vetor não guarda a sua foto, nem permite reconstruí-la. Ele é mais parecido com uma coordenada — um endereço em um espaço de muitas dimensões, onde rostos parecidos ficam perto uns dos outros.
A rede aprende isso vendo milhões de pares de imagens durante o treinamento, com uma instrução simples: aproxime os vetores de fotos da mesma pessoa, afaste os vetores de pessoas diferentes. Depois de bastante treino, ela consegue fazer isso com rostos que nunca viu.
Passo 4 — comparar
Comparar dois rostos vira, então, calcular a distância entre dois vetores. Distância curta significa rostos parecidos. Como a comparação é aritmética, dá para fazê-la milhões de vezes por segundo — é por isso que uma busca em dezenas de milhões de rostos termina em segundos e não em dias.
Onde o sistema erra
Vale conhecer os limites antes de confiar demais em um resultado:
- Viés de treinamento. Um modelo treinado majoritariamente com rostos de um grupo erra mais nos outros. Auditorias públicas já mostraram diferenças grandes de precisão por tom de pele e por gênero. É um problema real e conhecido do setor.
- Idade. Rostos de crianças mudam rápido; comparar uma foto de infância com uma de adulto é o cenário mais difícil que existe.
- Gêmeos idênticos. Nenhum sistema atual separa gêmeos monozigóticos com segurança pela geometria facial.
- Qualidade. Compressão pesada, movimento e contraluz derrubam a precisão antes de qualquer outra coisa.
Reconhecer, verificar e buscar não são a mesma coisa
Três usos costumam ser confundidos. Verificação é um contra um: este rosto é o dono deste celular? Identificação é um contra muitos, geralmente com uma base fechada. Busca por semelhança é o que o Sherlock faz: um contra muitos, mas devolvendo os mais parecidos ordenados, sem afirmar que alguém “é” você.
A diferença importa na hora de julgar um resultado. Um índice alto quer dizer que duas geometrias estão próximas — nada além disso. Quem interpreta é você.