Facial Recognition
O reconhecimento facial identifica ou verifica pessoas comparando embeddings faciais. Como funciona o pipeline, verificação versus identificação, viés e privacidade.
O reconhecimento facial é uma tecnologia biométrica que identifica ou verifica uma pessoa comparando uma imagem de seu rosto com rostos armazenados. Os sistemas modernos usam aprendizado profundo para converter cada rosto em um embedding, um vetor de números muitas vezes chamado de impressão facial, e decidem se dois rostos pertencem à mesma pessoa com base na semelhança entre seus embeddings. Essa tecnologia desbloqueia celulares, agiliza a passagem de passageiros pelos portões do aeroporto e verifica clientes que abrem contas bancárias online; também é um dos usos mais regulamentados da visão computacional, porque um rosto pode ser capturado sem o conhecimento da pessoa.
Como funciona o reconhecimento facial#
Um sistema de reconhecimento executa quatro etapas em cada imagem:
- Detecção: Um detector de rostos localiza cada rosto e retorna sua caixa delimitadora e alguns pontos de referência faciais.
- Alinhamento: O rosto é girado, redimensionado e recortado para que os olhos, o nariz e a boca fiquem em posições fixas, o que elimina a maior parte das variações causadas pela pose da cabeça e pela distância.
- Codificação com uma CNN: A rede mapeia o recorte alinhado para um embedding de tamanho fixo.
- Correspondência por similaridade de cosseno: O novo embedding é comparado com os embeddings cadastrados, e um limiar determina se há correspondência. Implantações de grande escala armazenam as impressões faciais cadastradas em um banco de dados vetorial para buscas rápidas.
A detecção de rostos é um problema de detecção de objetos, e um modelo YOLO26 da Ultralytics, ajustado com dados de um conjunto de rostos como o WIDER FACE, pode executá-la em tempo real em câmeras de borda e passar as caixas dos rostos para as etapas seguintes. Antes do aprendizado profundo, os sistemas dependiam de características projetadas manualmente, desde distâncias entre marcos faciais até Eigenfaces e padrões binários locais; as incorporações aprendidas as substituíram por serem muito mais estáveis diante de variações de iluminação, expressão e idade. Em 2015, o FaceNet treinou diretamente incorporações compactas de 128 dimensões com uma perda tripla, e perdas baseadas em margem, como ArcFace, agora afastam ainda mais as incorporações de pessoas diferentes. A etapa de correspondência responde a duas perguntas distintas:
A verificação (1:1) determina se um rosto pertence a uma identidade declarada, como quando um celular verifica seu proprietário. A identificação (1:N) pesquisa uma galeria inteira, como quando um sistema de controle de acesso compara um rosto com os rostos de todos os funcionários cadastrados. Os modelos do OpenCV Zoo executam todo o pipeline com poucas linhas; este código cadastra os rostos de uma imagem e, em seguida, identifica os rostos de uma cópia espelhada comparando-os com essa galeria.
import urllib.request
import cv2
# Download OpenCV Zoo's face detector (YuNet), face recognizer (SFace), and a test image
zoo = "https://github.com/opencv/opencv_zoo/raw/main/models"
urllib.request.urlretrieve(f"{zoo}/face_detection_yunet/face_detection_yunet_2023mar.onnx", "yunet.onnx")
urllib.request.urlretrieve(f"{zoo}/face_recognition_sface/face_recognition_sface_2021dec.onnx", "sface.onnx")
urllib.request.urlretrieve("https://ultralytics.com/images/bus.jpg", "bus.jpg")
img = cv2.imread("bus.jpg")
detector = cv2.FaceDetectorYN.create("yunet.onnx", "", (img.shape[1], img.shape[0]))
recognizer = cv2.FaceRecognizerSF.create("sface.onnx", "")
# Enroll each detected face as an aligned 128-D embedding
gallery = [recognizer.feature(recognizer.alignCrop(img, face)) for face in detector.detect(img)[1]]
# Identify the faces of a mirrored copy against the gallery (SFace match: cosine >= 0.363)
mirror = cv2.flip(img, 1)
for face in detector.detect(mirror)[1]:
probe = recognizer.feature(recognizer.alignCrop(mirror, face))
print([round(recognizer.match(probe, g, cv2.FaceRecognizerSF_FR_COSINE), 2) for g in gallery])Ele imprime [0.87, 0.06] e [0.09, 0.89]: cada rosto espelhado obtém uma pontuação muito acima do limiar de 0,363 em relação ao próprio embedding cadastrado e muito abaixo dele em relação ao da outra pessoa.
Reconhecimento facial versus termos relacionados#
- Detecção de rostos: identifica onde os rostos estão em uma imagem sem determinar de quem são; é a primeira etapa do reconhecimento e também controla o foco automático da câmera e o desfoque de rostos.
- Análise facial e computação afetiva: Estimam atributos como expressão, pose da cabeça ou idade sem estabelecer a identidade.
- Reidentificação de objetos (Re-ID): Faz a correspondência entre pessoas em diferentes câmeras com base em características de aparência do corpo inteiro, como as roupas; funciona quando a pessoa é vista de costas e em baixa resolução, mas apenas em intervalos curtos.
Aplicações no mundo real#
- Desbloqueio de dispositivos: Os celulares verificam seus proprietários em uma fração de segundo; o Face ID da Apple projeta mais de 30.000 pontos infravermelhos para criar um mapa de profundidade que uma foto impressa não consegue imitar.
- Viagens e controle de fronteiras: Os portões eletrônicos automatizados comparam uma foto ao vivo do viajante com a foto armazenada no chip do passaporte eletrônico.
- Verificação de identidade: Bancos e serviços online comparam uma selfie com a foto de um documento oficial durante a abertura de uma conta, em conjunto com verificações de vivacidade.
- Organização de fotos: Aplicativos de fotos agrupam rostos em uma biblioteca pessoal para que os usuários encontrem todas as imagens de um familiar.
Acurácia, viés e falsificação#
Todo sistema envolve uma troca entre dois erros: uma correspondência falsa aceita a pessoa errada, e uma não correspondência falsa rejeita a pessoa certa; o limiar de similaridade define esse equilíbrio. O NIST Face Recognition Technology Evaluation (FRTE), anteriormente chamado FRVT, compara algoritmos comerciais usando milhões de imagens; seu estudo de 2019 sobre 189 algoritmos de 99 desenvolvedores encontrou diferenças demográficas nas taxas de falsos positivos da maioria deles, um exemplo central de viés algorítmico. O reconhecimento também pode ser enganado por fotos, reproduções em telas e máscaras, por isso os sistemas de produção acrescentam a detecção de ataques de apresentação, geralmente chamada de detecção de vivacidade, usando sensores de profundidade, infravermelho ou análise de movimentos sutis.
Privacidade e regulamentação#
As impressões faciais são dados biométricos, por isso a legislação os trata como dados pessoais altamente sensíveis. Nos termos do GDPR, os dados biométricos usados para identificar uma pessoa pertencem a uma categoria especial que exige uma base legal explícita, e a Lei de Privacidade de Informações Biométricas de Illinois exige consentimento por escrito antes de uma empresa coletar uma impressão facial. O Regulamento de IA da UE vai além: desde 2 de fevereiro de 2025, proíbe a criação de bancos de dados de reconhecimento facial por meio da extração indiscriminada de imagens da internet ou de câmeras CCTV, bem como a identificação biométrica remota em tempo real em espaços públicos para fins de aplicação da lei, exceto em alguns casos estritamente definidos.










