A busca por rosto não compara imagens. Ela converte cada rosto numa lista fixa de números — um vetor — e compara esses vetores. Duas fotografias da mesma pessoa, tiradas com anos de diferença em ambientes distintos, produzem vetores que ficam próximos um do outro mesmo que as imagens quase não tenham pixels em comum.
Entender os quatro estágios te diz exatamente por que algumas capturas de tela funcionam de primeira e outras falham por mais vezes que você tente.
O que acontece no estágio um, a detecção?
A detecção responde a uma pergunta mais estreita do que as pessoas imaginam: em que ponto desta imagem existe um rosto, e onde estão os seus cinco pontos principais?
O detector varre a imagem e devolve, para cada rosto que encontra, uma caixa delimitadora mais cinco coordenadas de referência — olho esquerdo, olho direito, ponta do nariz, canto esquerdo da boca, canto direito da boca. Usamos o YuNet nesse estágio. Nada relacionado a identidade aconteceu ainda; isso é geometria pura.
Se a detecção falha, tudo o que vem depois falha. E a detecção falha por motivos que não têm nada a ver com qualidade de imagem no sentido comum: uma mão sobre a boca, um perfil fechado, um rosto menor que o tamanho mínimo do detector.
O que acontece no estágio dois, o alinhamento?
O alinhamento usa esses cinco pontos de referência para deformar o rosto até uma posição canônica — olhos numa linha horizontal, em coordenadas fixas, numa escala fixa.
Esse passo é o que faz uma cabeça inclinada e uma cabeça de frente virarem comparáveis. Todo rosto que entra no codificador chega na mesma pose, no mesmo tamanho, recortado na mesma região. Repare no que esse recorte descarta: quase todo o cabelo, a roupa, o fundo, o cômodo. Nada disso faz parte do sinal de identidade.
Isso também explica uma frustração comum. Se os pontos de referência estiverem um pouco errados — porque um olho está encoberto, digamos — o alinhamento deforma o rosto de forma incorreta, e o vetor resultante fica errado de um jeito que parece uma resposta confiante.
O que acontece no estágio três, a codificação?
Uma rede codificadora transforma o rosto alinhado num vetor de 512 números. Usamos o ArcFace para isso. Esse vetor é a descrição matemática do rosto.
O objetivo de treino é o que torna tudo útil: a rede é treinada para que vetores da mesma identidade se agrupem bem juntos e vetores de identidades diferentes se afastem. Ela não é treinada para descrever a aparência de um rosto; é treinada para descrever de quem ele é.
| Estágio | Entrada | Saída | Falha quando |
|---|---|---|---|
| Detecção (YuNet) | Imagem inteira | Caixa + 5 pontos de referência | Rosto encoberto, pequeno demais, ângulo extremo |
| Alinhamento | Caixa + pontos de referência | Recorte facial padronizado | Os pontos de referência estão imprecisos |
| Codificação (ArcFace) | Recorte alinhado | Vetor de 512 números | O recorte está degradado, borrado ou muito comprimido |
| Comparação | Vetor | Lista ordenada com pontuações | Nunca — ela sempre devolve alguma coisa |
A última linha é a importante, e merece uma seção só dela.
O que acontece no estágio quatro, a comparação?
A comparação mede a semelhança de cosseno entre o seu vetor e cada vetor do índice, e depois devolve os mais próximos em ordem.
A semelhança de cosseno vai de 0 a 1 e descreve o ângulo entre dois vetores. Nos nossos dados, o limiar calibrado para quadros de vídeo é 0.40. Acima dele, um par é tratado como provavelmente a mesma pessoa; abaixo, o resultado é ruído que por acaso ficou mais perto.
Esse último ponto é a coisa mais mal compreendida sobre busca vetorial: ela nunca devolve nada vazio. Peça os dez rostos mais próximos e ela te dá dez, mesmo quando a pessoa certa está completamente fora do índice. A pontuação é a única coisa que distingue uma resposta real do estranho mais próximo disponível. Uma lista ordenada sem pontuações é ilegível.
Por que é o índice que decide o que dá para achar?
Porque a comparação só consegue ordenar o que já foi codificado. Um índice não é uma busca na web; é um conjunto fixo de vetores calculados de antemão.
O nosso contém 241,792 rostos, dos quais 2,333 estão ligados a uma atriz nomeada, tirados de capas e quadros em 106 sites (nosso índice, retrato de 2026-08). Duas consequências saem daí diretamente:
- Um rosto que existe no índice mas nunca foi ligado a um nome volta como identidade sem nome. Isso é comum — só os nossos dados de semelhança já contêm 7,004 referências a identidades sem nenhum nome associado.
- Um rosto que nunca foi indexado não pode voltar com pontuação nenhuma. A ferramenta ainda assim vai te mostrar os palpites mais próximos.
Limite que vale declarar: nossas fontes são concentradas. 2,246 de 2,333 atrizes nomeadas têm sua imagem representativa vinda de um único site. A cobertura, portanto, reflete o que essas fontes publicaram, não a produção completa da indústria.
Em que isso difere da busca reversa de imagem?
A busca reversa de imagem procura cópias da sua foto inteira. A busca por rosto procura a mesma identidade em fotos diferentes. Elas falham e acertam em condições opostas.
| Busca reversa de imagem | Busca por rosto | |
|---|---|---|
| Compara | Impressão digital da imagem inteira | Vetor facial |
| Precisa que a imagem exata exista online | Sim | Não |
| Ajuda recortar no rosto | Não — piora | Sim — é essa a entrada |
| Aguenta iluminação e pose diferentes | Mal | Por projeto |
| Funciona num quadro que você mesmo capturou | Não | Sim |
Se uma ferramenta fica pior quando você recorta no rosto, ela não está fazendo busca por rosto. Esse é um diagnóstico confiável de um único teste.
Perguntas relacionadas
- Por que a busca reversa de imagem do Google não funciona para vídeos adultos
- Como achar um vídeo a partir de uma única captura de tela
- É seguro enviar uma foto para uma ferramenta de busca?
- Ferramentas de busca reversa de imagem comparadas
- Como tirar uma captura de tela que a busca por rosto consiga usar
A forma mais rápida de entender o pipeline é vê-lo rodar. Envie um quadro aqui: a detecção e o alinhamento acontecem no seu navegador, só a região recortada do rosto e seus cinco pontos de referência são enviados para comparação, e o original nunca sai do seu dispositivo.