Como funciona o reconhecimento facial?
O reconhecimento facial converte um rosto numa lista fixa de números chamada vetor e depois mede a distância entre um vetor e outro. Rostos que produzem números próximos são reportados como a mesma pessoa. Em nenhum momento a própria imagem é armazenada ou comparada.
Última revisão
Em resumo
- Um rosto vira um vetor de números; a comparação é aritmética sobre esses números, não sobre pixels.
- Uma correspondência é uma distância abaixo de um limiar, e esse limiar é uma escolha, não um fato.
- Baixar o limiar encontra mais correspondências reais e mais erradas, sempre as duas coisas.
- Buscar numa base de milhões é uma tarefa diferente de comparar duas fotos, e é medida separadamente.
- A tecnologia lê geometria. Não conhece um nome e não pode confirmá-lo.
Como funciona o reconhecimento facial, passo a passo?
O reconhecimento facial executa os mesmos quatro passos, independentemente do sistema que o realiza. Apenas o terceiro envolve algo aprendido a partir de dados; o resto é preparação e aritmética.
- Detecção: o sistema localiza a região da imagem que contém um rosto e descarta imagens onde não encontra nenhum.
- Alinhamento: o rosto é rotacionado e redimensionado para uma posição padrão, para que duas fotos em ângulos diferentes fiquem comparáveis.
- Vetorização: um modelo treinado converte o rosto alinhado numa lista fixa de números, normalmente entre 128 e 512.
- Comparação: mede-se a distância entre dois vetores, e uma distância abaixo do limiar escolhido é reportada como correspondência.
O que é um vetor facial e o que ele contém?
Um vetor é uma lista de números que descreve a geometria que o modelo aprendeu a tratar como identificadora: as proporções e a estrutura relativas de um rosto, não os seus pixels. Não é uma fotografia comprimida, e dele não se reconstrói um rosto de forma útil. Também não é interpretável por uma pessoa: nenhum número da lista corresponde a um nariz ou a um olho. A sua utilidade está apenas nisto: duas fotos da mesma pessoa tendem a produzir vetores próximos, e duas pessoas diferentes tendem a não produzir.
O que decide que dois rostos são uma correspondência?
Um limiar decide, e ele é definido por quem opera o sistema, não descoberto nos dados. Todo limiar troca os dois tipos de erro entre si, e não existe ajuste que elimine ambos.
- Um limiar mais rígido reporta menos correspondências e perde mais reais.
- Um limiar mais frouxo captura mais correspondências reais e devolve mais desconhecidos.
- O ajuste certo depende do custo de cada erro, que difere entre desbloquear um telefone e buscar na web aberta.
Por que buscar entre milhões de rostos é mais difícil que comparar dois?
São tarefas diferentes e medidas separadamente. Comparar duas fotos é verificação, escrita 1:1. Buscar um rosto numa coleção grande é identificação, escrita 1:N, e o NIST avalia as duas em provas separadas por essa razão. Cada rosto adicional na coleção é mais uma oportunidade para um desconhecido cair dentro do limiar, então uma taxa de erro desprezível numa comparação deixa de ser desprezível quando a comparação se repete milhões de vezes.
O que o reconhecimento facial precisa de uma foto?
O modelo foi treinado com rostos que conseguia alinhar, então o sinal recuperável depende quase inteiramente da imagem de entrada. Problemas de qualidade não são uma penalidade pequena: normalmente decidem o resultado.
- O rosto deve ocupar enquadramento suficiente para que a sua estrutura sobreviva à compressão.
- Deve estar voltado aproximadamente para a câmera, porque ângulos extremos escondem a geometria de que o modelo depende.
- A iluminação deve ser uniforme, já que uma sombra dura de um lado muda o que o modelo mede.
- Qualquer coisa que cubra os olhos e o dorso do nariz remove a região mais informativa.
Qual a diferença entre busca facial e vigilância facial?
Compartilham a mesma matemática e quase mais nada. Uma busca compara uma foto que você fornece com páginas que já são públicas e devolve links para essas páginas. Sistemas de vigilância comparam rostos com uma lista cadastrada num vídeo ao vivo, de forma contínua e normalmente sem que a pessoa forneça nada. O FaceSearch faz o primeiro e não o segundo: recebe uma única imagem enviada, busca em fontes públicas e devolve as páginas onde aparece um rosto semelhante. Não está ligado a nenhuma câmera e não mantém nenhuma lista.
O que o reconhecimento facial não pode dizer?
Não pode dizer quem alguém é. Ele informa que duas imagens são geometricamente semelhantes, e tudo além disso — o nome, a conta, a afirmação de que ambas mostram a mesma pessoa real — vem da página onde a correspondência foi encontrada, não do modelo. Uma correspondência confiante numa página com legenda errada continua sendo a resposta errada, e por isso um resultado é um ponto de partida para verificar, não uma conclusão.
Fontes
- Face Recognition Vendor Test (FRVT) 1:1 Verification, National Institute of Standards and Technology
- Face Recognition Technology Evaluation (FRTE) 1:N Identification, National Institute of Standards and Technology