Biometric Engine
O Biometric Engine é o motor responsável por validar fotos, impressões digitais e assinaturas capturadas nos postos. Ele utiliza o SDK Neurotec e expõe APIs REST/SOAP consumidas pela R-Collector API.
Funções
- Calcular métricas ICAO e conformidade facial (posição, iluminação, foco, óculos, sombras).
- Avaliar qualidade de digitais (NFIQ 2.0) e detectar dedos trocados/invertidos.
- Realizar matching 1:1 com templates armazenados no banco estadual.
- Executar anti-spoofing básico (detecção de frames repetidos, manipulações).
- Gerar laudos assinados para anexar em auditorias.
Arquitetura
| Camada | Descrição |
|---|---|
| API REST/SOAP | .NET 6, roda em Linux containers ou Windows Server. Endpoints POST /face/match, POST /finger/quality, POST /signature/validate. |
| Engenharia Biométrica | SDK Neurotec + modelos treinados com base no perfil dos equipamentos licenciados. |
| Banco de Templates | SQL Server + armazenamento de templates em varbinary, segregados por posto. |
| Observabilidade | Application Insights + dashboards dedicados para taxas de aprovação. |
Fluxo de Validação
- R-Collector API envia payload com imagens (base64 ou referência no Blob).
- Engine normaliza (crop, rotação, ajuste de contraste) e executa análises.
- Resultados retornam com notas, flags de não conformidade e recomendações.
- API registra e, se necessário, solicita justificativa do operador.
Exemplo de Resposta
{
"renach": "PA123456789",
"face": {
"icaoScore": 0.83,
"matchScore": 0.91,
"spoofingIndicators": [],
"recommendation": "APROVADO"
},
"fingerprints": [
{ "finger": "R1", "nfiq": 2, "matchScore": 0.88 },
{ "finger": "R2", "nfiq": 4, "matchScore": 0.70, "alerts": ["QUALIDADE BAIXA"] }
],
"signature": {
"strokeCount": 32,
"matchScore": 0.76
}
}
Performance & Escalabilidade
- Processamento médio por coleta: 3–5 segundos.
- Auto-scale configurado para manter CPU < 70%.
- Jobs assíncronos validam novamente amostras reprovadas para reduzir falsos negativos.
Segurança
- Imagens trafegam apenas via HTTPS e podem ser ofuscadas usando SAS de leitura única.
- Templates armazenados com criptografia transparente e segregação lógica por posto.
- Logs mascaram dados biométricos, mantendo apenas hashes e notas.
Troubleshooting
| Sintoma | Ação |
|---|---|
| Tempo de resposta alto | Checar fila de requisições, CPU e GPU (quando habilitada). Usar endpoint /health para diagnóstico. |
| Alto índice de reprovação | Validar dispositivos nos postos, revisar calibragem de câmera/biometria, atualizar modelos do Neurotec. |
Erro TemplateNotFound |
Confirmar se usuário possui cadastro ativo e se o template foi sincronizado anteriormente. |
O Biometric Engine garante que apenas dados de qualidade e verdadeiramente pertencentes ao candidato avancem no processo da CNH.