Infraestrutura de reconhecimento facial que permanece na sua rede.
Controle toda a stack de reconhecimento facial num único serviço Linux auto-hospedado — deteção, comparação, registo, pesquisa 1:N exata e monitorização RTSP persistente através de Web UI, REST API e SDK Python. Nas medições INT8 realizadas numa única RTX 5090, a pesquisa escala até 58.9M vetores de imagem e atinge 3.84 ms de latência Top-5 com 10M vetores.
Licenciamento de modelos para produção
O código do Server e do SDK usa a licença MIT; os direitos dos modelos são separados. Licencie os modelos públicos para uso comercial ou solicite modelos privados de maior precisão para pesquisa 1:N à escala de milhões e dezenas de milhões de identidades.
Solicitar licenciamento de modelos
Um serviço auto-hospedado
Privado por arquitetura, prático por conceção.
Imagens, embeddings, modelos e índices podem permanecer na infraestrutura que controla. A consola multilingue usa a mesma API pública que as suas aplicações e não recorre a CDN, analytics, fontes remotas nem JavaScript de terceiros.
Detetar
Obtenha bounding boxes, cinco landmarks, confiança do detetor e sinais locais de qualidade para imagens JPEG, PNG e WebP.
Comparar
Compare um rosto selecionado de duas imagens com limiar explícito e cosine bruto (raw cosine), não uma probabilidade.
Registar
Organize identidades em Collections, People e FaceSamples, com registo de várias imagens, modos de revisão e motivos explícitos de rejeição.
Pesquisar
Execute pesquisa exaustiva 1:N exata de pessoas. Cada pessoa é ordenada pelo FaceSample com correspondência mais forte acima do limiar da Collection.
Monitorizar
Execute tarefas persistentes de reconhecimento RTSP com eventos recentes de entrada, saída, erro e recuperação, além de pré-visualização opcional para o operador.
Integrar
Use a Web UI, 29 operações REST, a referência OpenAPI interativa ou o cliente Python leve e tipado.
Pipeline de reconhecimento
Da imagem à correspondência ordenada.
O mesmo contrato de processamento explícito é usado pela consola, REST API, SDK Python e monitores RTSP.
Imagem ou fotograma RTSP
JPEG, PNG, WebP ou o fotograma mais recente da câmara.
SCRFD multirresolução
Deteta rostos, combina candidatos e aplica um único NMS global.
Alinhar e criar embedding
Alinhamento por cinco pontos, embedding ArcFace e normalização L2.
Collection ligada ao modelo
Fixa o modelo, pré-processamento, detetor, limiar e capacidade.
Pesquisa exata em CPU/GPU
Avalia exaustivamente cada FaceSample ativo no perfil selecionado.
Correspondências de pessoas
Devolve pessoas ordenadas com scores cosine brutos e IDs de pedido.
O SQLite continua a ser autoritativo
A base de dados persistente é a fonte de verdade; os índices exatos em memória são projeções reconstruíveis. Os registos aceites entram no índice antes da resposta de sucesso e as eliminações são removidas de ambos os armazenamentos.

Contratos de identidade explícitos
As Collections mantêm modelos, políticas e limites de dados claros.
Cada Collection fixa a identidade do modelo, versão de pré-processamento, dimensão do embedding, política do detetor, perfil de pesquisa, capacidade e limiar de correspondência. Este contrato evita misturas silenciosas quando o modelo ou runtime muda.
- Adicione vários FaceSamples por pessoa e inspecione resultados de registo parcialmente bem-sucedidos sem perder todo o lote.
- Escolha revisão off, standard ou strict para verificar número de rostos, tamanho, nitidez, brilho, pose e consistência dentro da pessoa.
- Ligue um pipeline externo de embeddings fidedigno através do contrato de embedding da Collection; as imagens continuam a passar por deteção e revisão.
- Opcionalmente, guarde um crop de bounding box 112×112 por rosto aceite. Os uploads originais e as entradas alinhadas de reconhecimento não são guardados.
Desempenho de pesquisa medido
Pesquisa exata à escala de uma única GPU.
Os perfis nativos de pesquisa exaustiva permitem equilibrar precisão vetorial, capacidade e throughput sem mudar para um índice aproximado de vizinhos mais próximos.
Máximo medido para vetores de 512 dimensões numa RTX 5090.
Medido com exatamente 10M vetores e uma pesquisa em curso.
Throughput medido de pesquisa Top-5 exaustiva exata em 10M vetores.
Multiplicador de capacidade INT8 medido na mesma GPU.
| Tipo de dados GPU | Máximo de vetores | 10M Top-5 p50 | 10M QPS em série |
|---|---|---|---|
| FP32 | 15.8M | 12.84 ms | 77.85 |
| FP16 | 30.7M | 6.83 ms | 146.32 |
| BF16 | 30.7M | 6.83 ms | 146.33 |
| INT8 | 58.9M | 3.84 ms | 260.81 |
91.25% para FP32 e INT8
No ICCV21-MFR MR-ALL com FAR 1e-6, ambos os perfis apresentam 91.25% com duas casas decimais. A diferença INT8 não arredondada face a FP32 foi de −0.001102 pontos percentuais.
Medido numa NVIDIA GeForce RTX 5090. A capacidade é o limite isolado do índice nativo, sem modelos ONNX carregados nem carga do Server. A velocidade usa exatamente 10M vetores de imagem de 512 dimensões, Top-5 exaustivo exato residente na GPU, uma pesquisa em curso, 10 warm-ups e 100 pesquisas medidas. Em produção, reserve VRAM para modelos, pedidos, concorrência, reconstruções do índice e margem do allocator. A pesquisa é exata dentro de cada representação armazenada; o armazenamento de menor precisão ainda pode alterar scores e ordenações face a FP32.
Monitores RTSP persistentes
Monitorização de câmaras que funciona sem o browser.
Crie RTSP Monitors no servidor, ajuste a cadência de inferência e a confirmação de eventos, e permita que clientes independentes consultem o estado atual e eventos recentes. Fechar a consola não para o reconhecimento e os Monitors ativos retomam após reiniciar o Server. Os fotogramas nunca são gravados; os eventos recentes são limitados e não persistentes, e a pré-visualização está desligada por predefinição.
Use o reconhecimento como apoio ao operador, não como único controlo para decisões de alto impacto. Defina políticas de consentimento, retenção, eliminação, revisão e resposta a incidentes para cada implantação.

Implantação Docker
Escolha CPU para começar facilmente ou CUDA 12 para escalar.
Execute a partir de um checkout completo do repositório InsightFace. O anfitrião não precisa de Python, OpenCV, ONNX Runtime, CUDA Toolkit nem cuDNN; os contentores incluem o runtime, enquanto os modelos são uma instalação licenciada separada.
mkdir -p server/.models
docker compose -f server/deploy/compose.cpu.yml pull
docker compose -f server/deploy/compose.cpu.yml \
run --rm models install buffalo_l --accept-license
docker compose -f server/deploy/compose.cpu.yml up -d
curl -fsS http://127.0.0.1:18097/v1/healthCPU
Linux x86_64 com Docker Engine e Docker Compose. Uma opção prática para avaliação e cargas moderadas.
NVIDIA CUDA 12
Adicione uma GPU NVIDIA compatível, o driver e NVIDIA Container Toolkit. O arranque falha em vez de recuar silenciosamente para CPU.
Limites de implantação
Operação e segurança
Um limite claro que pode reforçar.
O Server expõe o estado necessário para operar uma implantação privada, mantendo segredos, imagens, embeddings e credenciais fora do diagnóstico.
Estado e diagnóstico
Verifique serviço, base de dados, modelo, Provider, capacidade e resumos recentes de erros sem dados sensíveis.
Validação estrita de CUDA
Valide o Provider real, Sessions, bibliotecas, compatibilidade da GPU e inferência de warm-up ao arrancar.
Limite de dados persistente
Mantenha os modelos só de leitura, persista /data e reconstrua índices exatos descartáveis a partir do SQLite.
Credenciais protegidas
Guarde a chave API como hash, encripte credenciais RTSP em /data e oculte origens nas respostas.
Modo apenas API
Desative a consola e os guias, mantendo /v1 e /openapi.json para serviços privados.
Proteja antes de permitir acesso à rede
Os ficheiros Compose fornecidos desativam a autenticação para avaliação isolada. Esta versão fornece HTTP simples dentro do contentor, uma única chave API sem diferenciação e não inclui contas, RBAC, IAM, rate limiter, TLS nem camada de conformidade jurídica. Também não adiciona liveness, deteção de deepfakes, análise demográfica, gravação/NVR ou workers distribuídos. Ative a autenticação, termine HTTPS num reverse proxy fidedigno, restrinja CORS e acesso à rede, aplique limites de rate, body e timeout no perímetro e proteja volumes de dados e backups como dados biométricos.
Guias de implementação
Do primeiro contentor a uma integração funcional.
Use o início rápido focado para a sua primeira implantação privada e avance para o fluxo de API e SDK Python quando estiver pronto para ligar uma aplicação.
Comece com uma implantação privada.
Inicie a imagem CPU, crie uma Collection, registe uma pessoa e execute a primeira pesquisa exata. Depois de validar o fluxo, dimensione o runtime e os limites de segurança para produção.
As licenças do código-fonte do Server e do SDK não concedem direitos comerciais sobre ficheiros de modelos. Contacte a InsightFace para obter autorização comercial para os modelos.