← Voltar aos projetos

Produto aplicado · Visão computacional · Em homologação

Face Clock Evoluir

Sistema de gestão de ponto desenvolvido para uma instituição de ensino, combinando biometria facial, validação de localização e classificação de documentos médicos em uma arquitetura preparada para uso real.

  • InsightFace
  • FastAPI
  • PostgreSQL + pgvector
  • EfficientNet-B0
  • scikit-learn
  • JWT + OAuth2 Bearer
  • Docker

Resumo

O essencial em cinco pontos.

  • Problema e usuário: registrar a jornada de funcionários de uma instituição de ensino sem cartão, senha ou fila — inclusive quem trabalha fora da sede.
  • Minha responsabilidade: entrega individual de ponta a ponta — modelos, backend, banco de dados, segurança, testes e implantação.
  • Arquitetura: biometria facial com busca vetorial em PostgreSQL (pgvector), geofencing por GPS, triagem de atestados com rede neural e OCR, e backend FastAPI em Docker.
  • Evidências: 142 testes automatizados em pipeline Docker; 468 documentos triados por sinais objetivos de qualidade; um bug silencioso de orientação de imagem diagnosticado por metadados EXIF; dezesseis pontos percentuais de acurácia de validação recuperados em duas causas isoladas por experimento; cinco abordagens de classificação comparadas sob o mesmo protocolo, do classificador trivial ao híbrido vencedor.
  • Status: sistema contratado, funcional e em fase final de homologação para implantação.

O problema

Registrar presença sem criar atrito.

Um sistema de ponto precisa reconhecer a pessoa certa, confirmar que ela está no local permitido e continuar simples o bastante para o uso diário.

O sistema substitui cartões e senhas por verificação biométrica contextual, atende ao registro individual e ao modo totem, e integra o ponto a turnos, banco de horas e envio de atestados.

A decisão de produto mais importante foi separar observação de punição: uma batida fora do horário previsto é registrada e sinalizada, não bloqueada.

Como funciona

Da câmera ao registro de ponto.

O reconhecimento é apenas uma etapa de um fluxo que também considera qualidade, segurança e contexto.

  1. 01 Captura

    Múltiplos quadros reduzem a dependência de uma única imagem e permitem filtrar amostras ruins.

  2. 02 Representação

    O InsightFace transforma cada rosto em um vetor normalizado de 512 dimensões.

  3. 03 Busca

    O pgvector compara embeddings por similaridade de cosseno nos modos 1:1 e 1:N.

  4. 04 Contexto

    Geofencing, vivacidade e proteção contra repetição reforçam a validade da tentativa.

  5. 05 Registro

    A batida é persistida e eventuais desvios de turno são apresentados sem impedir o ponto.

Comportamento do totem

Um fluxo controlado por máquina de estados.

A máquina de estados controla os tipos de batida e impede sequências incoerentes: cada novo registro é validado em relação ao estado anterior.

Depois da autenticação facial e da validação de localização, o PontoFSM resolve a próxima ação: dá para sair logo após entrar, fazer pausas e encerrar o expediente durante o intervalo, sem registrar um retorno que não aconteceu.

Arquitetura

Componentes separados por responsabilidade.

Interface

Web e modo totem

Captura de câmera e localização, fluxos responsivos e provisionamento seguro do dispositivo.

Aplicação

FastAPI

Autenticação, regras de negócio, turnos, banco de horas e APIs organizadas por serviços.

Dados

PostgreSQL + pgvector

Dados transacionais e busca vetorial no mesmo banco, com migrações e persistência controlada.

Machine learning

Serviço de inferência

Reconhecimento facial e classificador de atestados isolados do núcleo transacional.

Além da biometria

Triagem inteligente de atestados.

Quando alguém envia um atestado pelo sistema, um modelo de visão computacional e uma leitura automática do texto conferem se o documento é mesmo um atestado médico, antes de ele chegar à mesa de quem aprova.

A triagem não decide sozinha: organiza a fila e sinaliza o que parece fora do lugar, mas a palavra final é de uma pessoa. Em documentos que o modelo nunca viu, a versão escolhida acerta 87,5% dos casos e comete sete enganos a menos que a anterior, sem reconhecer menos atestados.

As decisões humanas podem alimentar re-treinamentos. Para evitar rótulos incorretos, documentos rejeitados só viram exemplo negativo quando pessoa e modelo concordam.

Aprofundamento

A partir daqui, o detalhe.

A página técnica documenta a comparação entre as abordagens de classificação, o diagnóstico de um bug silencioso, os experimentos que isolaram o subajuste do modelo e as camadas de segurança.

Qualidade

Validado além do ambiente de desenvolvimento.

A aplicação foi testada como uma stack de produção real, sem os atalhos de desenvolvimento que mascaram arquivos ausentes, permissões erradas ou falhas de inicialização. Testes de navegador revelaram problemas que a leitura do código não pegou.

142 testes automatizados passando no pipeline Docker
CPU/GPU inferência portátil, com aceleração opcional quando disponível
HTTPS acesso remoto seguro sem expor diretamente o backend

Status atual

Em fase final de homologação.

O sistema ainda não está concluído nem entregue: encontra-se na etapa final de validação antes da implantação definitiva na instituição.

Por ser um produto de cliente, o código é proprietário. O repositório público mostra arquitetura, tecnologias e decisões técnicas sem expor dados institucionais.

Apresentação pública

Explore a arquitetura e a documentação técnica.