Voltar ao início
Novo · InsightFace Server

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
Pronto
Dashboard do InsightFace Server com uma implantação local CUDA de reconhecimento facial pronta
50M+
Vetores de imagem pesquisáveis numa única GPU
Quantização INT8 de características
Sem perda de precisão
3.84 ms
Latência Top-5 em 10M vetores (p50)
260.81 QPS
Pesquisa exaustiva em série sobre 10M vetores

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.

01

Imagem ou fotograma RTSP

JPEG, PNG, WebP ou o fotograma mais recente da câmara.

02

SCRFD multirresolução

Deteta rostos, combina candidatos e aplica um único NMS global.

03

Alinhar e criar embedding

Alinhamento por cinco pontos, embedding ArcFace e normalização L2.

04

Collection ligada ao modelo

Fixa o modelo, pré-processamento, detetor, limiar e capacidade.

05

Pesquisa exata em CPU/GPU

Avalia exaustivamente cada FaceSample ativo no perfil selecionado.

06

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.

Consola de Collections do InsightFace Server com uma coleção de identidades ligada ao modelo
As Collections isolam espaços de identidade e fixam modelo, pré-processamento, detetor, limiar, perfil de pesquisa e capacidade.

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.

58.9M
Vetores de imagem INT8

Máximo medido para vetores de 512 dimensões numa RTX 5090.

3.84 ms
Top-5 p50

Medido com exatamente 10M vetores e uma pesquisa em curso.

260.81
QPS em série

Throughput medido de pesquisa Top-5 exaustiva exata em 10M vetores.

3.73×
Capacidade face a FP32

Multiplicador de capacidade INT8 medido na mesma GPU.

Tipo de dados GPUMáximo de vetores10M Top-5 p5010M QPS em série
FP3215.8M12.84 ms77.85
FP1630.7M6.83 ms146.32
BF1630.7M6.83 ms146.33
INT858.9M3.84 ms260.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.

Consola de monitorização de câmaras do InsightFace Server com um monitor RTSP persistente e endereço privado ocultado
A configuração do Monitor persiste no SQLite. As credenciais RTSP são encriptadas e ocultadas; os fotogramas não são guardados e os eventos recentes permanecem apenas em memória.

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.

Início rápido com CPUCPU
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/health

CPU

Linux x86_64 com Docker Engine e Docker Compose. Uma opção prática para avaliação e cargas moderadas.

http://SERVER:18097

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.

http://SERVER:18098

Limites de implantação

Instale e verifique buffalo_l, buffalo_m, buffalo_sc, antelopev2 ou um pacote privado autorizado.
Monte /models só de leitura e mantenha /data persistente para SQLite, segredos encriptados e crops opcionais.
Use docker compose down sem -v para preservar o volume de dados nomeado.
Pare as escritas ou crie um snapshot seguro para SQLite antes de atualizar.

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.

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.