Voltar ao início
Novo · InsightFace Server

Aloje o reconhecimento facial na sua própria rede.

Transforme um único contentor Linux num backend completo de reconhecimento facial: deteção, comparação, registo, pesquisa 1:N exata e monitorização de câmaras RTSP/RTSPS através de Web UI, REST API e SDK Python.

Pronto
Dashboard do InsightFace Server com uma implantação local CUDA de reconhecimento facial pronta
58.9M
Vetores de imagem INT8 numa RTX 5090
3.84 ms
Latência Top-5 com 10M vetores (p50)
3.35×
Throughput INT8 face a FP32
Quantização INT8 de características
Sem perda material de precisão

Escolha o percurso do seu modelo

Da avaliação à produção sem refazer a integração.

Use sempre o mesmo Server auto-hospedado à medida que evoluem os direitos do modelo e os requisitos de reconhecimento.

Comece aqui

Avaliação para investigação

Valide localmente o fluxo do Server com um pacote de modelo público ao abrigo dos termos aplicáveis à investigação não comercial.

Iniciar avaliação local

Direitos de produção

Licença comercial de modelo público

Continue a utilizar um modelo público pré-treinado conhecido e obtenha autorização separada para uma implantação comercial aprovada.

Solicitar autorização

Maior precisão

Modelo privado de reconhecimento

Avalie um modelo privado de maior precisão com dados representativos para galerias 1:N exigentes à escala de milhões e dezenas de milhões.

Avaliar com os seus dados

Leve um modelo autorizado para produção

O código do Server e do SDK Python usa a licença MIT. Para produção, licencie um modelo público ou avalie um modelo privado de maior precisão para galerias 1:N à escala de milhões e dezenas de milhões — sem alterar a integração com o Server.

Solicitar autorização
Mantenha a mesma Web UI, REST API e SDK Python.
Use o mesmo manifesto de modelo e fluxo de instalação.
Suporte autorização offline com MODEL.LICENSE assinado.
Mantenha o arranque normal do Server offline após preparar a imagem e o modelo.

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.

Início rápido

Do repositório à primeira pesquisa exata.

Escolha CPU ou CUDA, instale um pacote de modelo, confirme o estado e use o SDK Python para criar uma Collection, registar uma pessoa e pesquisar.

git clone https://github.com/deepinsight/insightface.git
cd insightface

mkdir -p server/.models
export INSIGHTFACE_MODELS_UID="$(id -u)"
export INSIGHTFACE_MODELS_GID="$(id -g)"

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 \
  run --rm models verify buffalo_l

docker compose -f server/deploy/compose.cpu.yml \
  up -d --wait --wait-timeout 180

curl -fsS http://127.0.0.1:18097/v1/health
01

Clonar e instalar

Obtenha o código do InsightFace e instale um pacote de modelo separadamente da imagem do Server.

02

Iniciar um runtime

Use a stack CPU para avaliação ou CUDA 12 para pesquisa e inferência em GPU.

03

Confirmar o estado

Consulte /v1/health e confirme que a base de dados, o modelo e o Provider de execução estão prontos.

04

Executar a primeira pesquisa

Crie uma Collection, registe uma pessoa e pesquise com uma imagem diferente através de Python.

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.

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.35×
Throughput face a FP32

Multiplicador medido de throughput Top-5 INT8 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

Quantização INT8 de características

Não se observou perda material de precisão no benchmark MR-ALL publicado.

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.

Modelos privados

Grandes galerias exigem mais do que um índice mais rápido.

A capacidade do índice resolve a escala da pesquisa. A qualidade do reconhecimento em pontos operacionais exigentes determina se uma grande galeria 1:N é realmente utilizável. As equipas elegíveis podem comparar um modelo privado com uma referência de modelo público antes do licenciamento.

Use dados de validação representativos e obtidos legalmente. O acesso à avaliação e o respetivo âmbito são confirmados com as equipas elegíveis.

Maior qualidade de reconhecimento

Avalie condições de imagem difíceis e metas rigorosas de falsas correspondências com dados representativos.

O mesmo Server e a mesma API

Mude o pacote de modelo autorizado sem refazer a integração REST ou Python.

Autorização offline assinada

Os pacotes privados podem usar o mesmo manifesto e formato de licença offline assinada.

Direitos de implantação comercial

Defina os direitos do modelo para o produto, ambiente e caso de utilização em produção aprovados.

Monitores RTSP persistentes

Monitorização de câmaras que funciona sem o browser.

Crie Monitors no servidor para fontes RTSP ou RTSPS, 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.

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.

Incluído no InsightFace Server

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.

Complete o limite de produção

Os ficheiros Compose fornecidos destinam-se a avaliação em ambiente isolado. Antes de expor um serviço de produção, adicione os controlos exigidos pela sua rede e pelo seu modelo de governação.

Ative a autenticação da API e faça a rotação das chaves.
Termine HTTPS num reverse proxy fidedigno.
Restrinja o acesso à rede e CORS a clientes aprovados.
Aplique no perímetro limites de frequência, tamanho do corpo e timeout dos pedidos.
Proteja /data, backups e o acesso operacional como infraestrutura biométrica.

Perguntas frequentes

Planeie a implantação e a licença do modelo.

As respostas práticas de que as equipas precisam antes da avaliação e da produção.

O InsightFace Server é gratuito?+

O código-fonte do Server e o SDK Python usam a licença MIT. Os ficheiros de modelos têm termos separados, pelo que a disponibilidade do código não concede direitos comerciais sobre os modelos.

Os modelos de reconhecimento estão incluídos no contentor?+

Não. Os pacotes de modelos são instalados e verificados separadamente, mantendo explícitas a identidade, a versão e a autorização do modelo.

Os modelos públicos pré-treinados do InsightFace podem ser usados comercialmente?+

Os pacotes de modelos públicos pré-treinados estão geralmente limitados à investigação académica não comercial, salvo autorização comercial separada concedida pela InsightFace.

Um modelo privado ou licenciado comercialmente exige uma nova integração?+

Não. Os pacotes de modelos autorizados usam o mesmo Server, Web UI, REST API, SDK Python, manifesto e fluxo de instalação.

O InsightFace Server pode funcionar offline?+

Sim. Depois de instalar a imagem do contentor e o pacote de modelo, o arranque e funcionamento normais do Server podem permanecer offline dentro da sua infraestrutura.

O que significa a capacidade de 58.9M?+

É o limite medido do índice nativo para vetores de imagem INT8 de 512 dimensões numa RTX 5090. Não é uma contagem de pessoas nem a capacidade ponta a ponta da API.

A pesquisa 1:N é exata ou aproximada?+

A pesquisa é plana, exaustiva e exata na representação armazenada selecionada, não utiliza um índice aproximado de vizinhos mais próximos.

Que hardware de implantação é suportado?+

A implantação fornecida destina-se a Linux x86_64 com inferência em CPU local ou numa GPU NVIDIA compatível através da stack CUDA 12.

Valide o fluxo e escolha o modelo certo.

Execute localmente a primeira pesquisa exata. Quando estiver pronto para produção, autorize um modelo público ou avalie um modelo privado de maior precisão sem refazer a integração.

O código do Server e do SDK usa a licença MIT. Os direitos dos modelos para produção são licenciados separadamente.