Início tecnologia

UniFace junta reconhecimento, rastreamento e privacidade facial

O UniFace reúne reconhecimento, rastreamento e privacidade facial em uma biblioteca open source para Python. O projeto foi criado para concentrar em uma única API etapas que normalmente exigem vários repositórios, formatos de modelo e padrões de integração diferentes.

Robô acenando para uma câmera de segurança em ambiente tecnológico
Imagem gerada usando o Magnific

A proposta não é oferecer apenas um detector de rostos. O pacote organiza um fluxo completo de análise facial, com execução em CPU, Apple Silicon e GPUs NVIDIA. Os modelos são baixados no primeiro uso, ficam armazenados em cache e passam por verificação de hash SHA-256.

O que é o UniFace

O UniFace funciona como uma camada modular para aplicações de visão computacional. A biblioteca pode localizar rostos, gerar pontos de referência, extrair características para reconhecimento e acompanhar pessoas ao longo de uma sequência de vídeo. Também há módulos para estimativa de olhar, posição da cabeça, segmentação e recorte de regiões do rosto.

Na detecção, o projeto oferece opções como RetinaFace, SCRFD, CenterFace, YOLOv5-Face, YOLOv8-Face e BlazeFace. A escolha depende do cenário. Modelos menores fazem sentido em dispositivos com poucos recursos ou em aplicações que precisam responder rapidamente. Outros priorizam precisão em imagens mais difíceis ou com rostos menores.

O reconhecimento usa modelos como ArcFace, AdaFace, EdgeFace, MobileFace e SphereFace. Eles transformam um rosto em um vetor numérico, chamado embedding, que pode ser comparado com outros vetores para verificação de identidade ou busca em uma base. A documentação alerta que limiares de similaridade são apenas uma referência e precisam ser calibrados para cada conjunto de imagens.

Uma API para análise e privacidade

O FaceAnalyzer funciona como ponto de entrada para combinar detecção, reconhecimento e atributos. A aplicação pode acrescentar estimativas de idade, sexo, emoção ou características do rosto conforme os preditores escolhidos. O pacote também inclui rastreamento com BYTETracker, que mantém identificadores persistentes entre os quadros de um vídeo.

A parte de privacidade segue o caminho inverso do reconhecimento. Em vez de identificar alguém, o UniFace pode anonimizar rostos com desfoque gaussiano, desfoque mediano, pixelização, bloqueio ou máscaras elípticas. O recurso é útil em imagens de multidões, demonstrações públicas e bases que precisam reduzir a exposição de dados pessoais.

O projeto usa ONNX Runtime na maior parte da inferência, com seleção de provedores de execução conforme o hardware disponível. Essa escolha facilita levar o mesmo código para Linux, Windows e macOS. Componentes opcionais podem usar PyTorch, especialmente em tarefas de atributos e emoção.

No Brasil, uma biblioteca desse tipo interessa a projetos de câmeras, controle de acesso, análise de vídeo e proteção de identidade. O uso, porém, não elimina responsabilidades legais. Sistemas biométricos precisam considerar consentimento, finalidade, segurança, retenção de dados e transparência, especialmente quando processam imagens de pessoas em ambientes públicos.

O UniFace ainda é um projeto em evolução. O autor cita como próximos passos a ampliação dos benchmarks, exemplos para processamento em lote e vídeo, novos modelos e padrões de implantação. Para quem acompanha a evolução da visão computacional, ele oferece uma forma mais organizada de testar diferentes componentes sem montar toda a cadeia do zero.

Para entender outro conceito usado por aplicações de inteligência artificial, veja também o que é inferência em inteligência artificial.

Fonte: GitHub do UniFace | Documentação oficial | DEV Community