Volver al inicio
Nuevo · InsightFace Server

Aloje el reconocimiento facial dentro de su propia red.

Convierta un único contenedor Linux en un backend completo de reconocimiento facial: detecte, compare, registre, ejecute búsquedas exactas 1:N y monitorice cámaras RTSP/RTSPS mediante una Web UI, una API REST y un SDK Python.

Listo
Panel de InsightFace Server que muestra un despliegue local de reconocimiento facial CUDA listo
58.9M
Vectores de imagen INT8 en una RTX 5090
3.84 ms
Latencia Top-5 sobre 10M vectores (p50)
3.35×
Rendimiento INT8 frente a FP32
Cuantización INT8 de características
Sin pérdida significativa de precisión

Elija su modelo

De la evaluación a la producción sin rehacer la integración.

Utilice el mismo Server autohospedado mientras evolucionan los derechos del modelo y sus requisitos de reconocimiento.

Empiece aquí

Evaluación para investigación

Valide localmente el flujo del Server con un paquete de modelo público conforme a sus condiciones aplicables de investigación no comercial.

Iniciar una evaluación local

Derechos de producción

Licencia comercial de modelo público

Mantenga un modelo público preentrenado conocido y obtenga una autorización independiente para un despliegue comercial aprobado.

Solicitar autorización

Mayor precisión

Modelo privado de reconocimiento

Evalúe un modelo privado de mayor precisión con datos representativos para galerías 1:N exigentes de millones o decenas de millones de identidades.

Evaluar con sus datos

Lleve un modelo autorizado a producción

El código del Server y del SDK Python tiene licencia MIT. Para producción, obtenga una licencia para un modelo público o evalúe un modelo privado de mayor precisión para galerías 1:N de millones o decenas de millones de identidades, sin cambiar la integración con el Server.

Solicitar autorización
Mantenga la misma Web UI, API REST y SDK Python.
Utilice el mismo manifiesto de modelo y flujo de instalación.
Admita autorización mediante MODEL.LICENSE firmado y sin conexión.
Mantenga el arranque normal del Server sin conexión tras preparar la imagen y el modelo.

Un servicio autohospedado

Privado por arquitectura, práctico por diseño.

Imágenes, embeddings, modelos e índices pueden permanecer dentro de la infraestructura que controla. La consola multilingüe utiliza la misma API pública que sus aplicaciones, sin CDN, analítica, fuentes remotas ni JavaScript de terceros.

Detectar

Devuelve bounding boxes, cinco landmarks, confianza del detector y señales locales de calidad para imágenes JPEG, PNG y WebP.

Comparar

Compara un rostro seleccionado de cada una de dos imágenes con un umbral explícito y la similitud coseno original, no una probabilidad.

Registrar

Organiza identidades como Collections, People y FaceSamples, con registro de varias imágenes, modos de revisión y motivos explícitos de rechazo.

Buscar

Ejecuta una búsqueda exhaustiva 1:N de personas. Cada Person se ordena según el FaceSample coincidente más fuerte por encima del umbral de la Collection.

Monitorizar

Ejecuta tareas persistentes de reconocimiento RTSP con eventos recientes de entrada, salida, error y recuperación, además de una vista previa opcional para el operador.

Integrar

Utilice la Web UI, 29 operaciones REST, la referencia OpenAPI interactiva o el cliente Python ligero y tipado.

Inicio rápido

Del repositorio a la primera búsqueda exacta.

Elija CPU o CUDA, instale un paquete de modelo, compruebe que todo esté listo y utilice el SDK Python para crear una Collection, registrar una persona y buscarla.

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

Clone InsightFace e instale un paquete de modelo por separado de la imagen del Server.

02

Iniciar un runtime

Utilice el stack de CPU para evaluación o CUDA 12 para búsqueda e inferencia en GPU.

03

Confirmar que está listo

Compruebe /v1/health y confirme que la base de datos, el modelo y el proveedor de ejecución estén listos.

04

Ejecutar la primera búsqueda

Cree una Collection, registre una persona y consulte con una imagen diferente mediante Python.

CPU

Linux x86_64 con Docker Engine y Docker Compose. Una opción práctica para evaluación y cargas moderadas.

http://SERVER:18097

NVIDIA CUDA 12

Añada una GPU NVIDIA compatible, su driver y NVIDIA Container Toolkit. El inicio falla en lugar de hacer fallback silencioso a CPU.

http://SERVER:18098

Límite del despliegue

Instale y verifique buffalo_l, buffalo_m, buffalo_sc, antelopev2 o un paquete privado autorizado.
Monte /models como solo lectura y haga persistente /data para SQLite, secretos cifrados y recortes opcionales.
Use docker compose down sin -v para conservar el volumen de datos con nombre.
Detenga las escrituras para hacer el backup o utilice un snapshot seguro para SQLite antes de actualizar.

Pipeline de reconocimiento

De la imagen a la coincidencia ordenada.

El mismo contrato de procesamiento explícito sustenta la consola, la REST API, el SDK Python y los monitores RTSP.

01

Imagen o frame RTSP

JPEG, PNG, WebP o el frame más reciente de la cámara en directo.

02

SCRFD multirresolución

Detectar rostros, combinar candidatos y aplicar un único NMS global.

03

Alinear y generar embeddings

Alineación de cinco puntos, embedding ArcFace y normalización L2.

04

Collection vinculada al modelo

Fijar modelo, preprocesamiento, detector, umbral y capacidad.

05

Búsqueda exacta CPU/GPU

Puntuar exhaustivamente cada FaceSample activo del perfil seleccionado.

06

Coincidencias de personas

Devolver personas ordenadas con puntuaciones coseno originales e IDs de petición.

SQLite sigue siendo la fuente autoritativa

La base de datos persistente es la fuente de verdad; los índices exactos en memoria son proyecciones reconstruibles. Los registros aceptados se añaden al índice antes de devolver una respuesta correcta y los borrados se eliminan de ambos almacenes.

Consola de Collections de InsightFace Server con una Collection de identidades vinculada al modelo
Las Collections aíslan espacios de identidad y fijan modelo, preprocesamiento, detector, umbral, perfil de búsqueda y capacidad.

Contratos de identidad explícitos

Las Collections mantienen claros los modelos, las políticas y los límites de datos.

Cada Collection fija la identidad del modelo, la versión de preprocesamiento, la dimensión del embedding, la política del detector, el perfil de búsqueda, la capacidad y el umbral de coincidencia. Este contrato evita mezclar datos silenciosamente cuando cambia un modelo o runtime.

  • Añada varios FaceSamples por Person e inspeccione los resultados parciales del registro en lugar de perder todo un lote.
  • Elija off, standard o strict para aplicar comprobaciones de cantidad, tamaño, nitidez, brillo y pose del rostro, además de verificaciones dentro de una misma Person.
  • Conecte un pipeline de embeddings upstream de confianza mediante el contrato de embeddings de la Collection; las imágenes siguen pasando por detección y revisión.
  • Guarde opcionalmente un recorte de bounding box de 112×112 por cada rostro aceptado. Los originales y las entradas alineadas de reconocimiento no se conservan.

Prueba de búsqueda medida

Búsqueda exacta a escala de una sola GPU.

Los perfiles nativos de búsqueda exhaustiva permiten intercambiar precisión vectorial por capacidad y rendimiento sin cambiar a un índice aproximado de vecinos más cercanos.

58.9M
Vectores de imagen INT8

Máximo medido para vectores de 512 dimensiones en una RTX 5090.

3.84 ms
Top-5 p50

Medido con exactamente 10M vectores y una consulta en curso.

260.81
QPS serial

Rendimiento medido de búsqueda exhaustiva Top-5 con 10M vectores.

3.35×
Rendimiento frente a FP32

Multiplicador medido del rendimiento Top-5 de INT8 en la misma GPU.

Tipo de datos GPUMáximo de vectores10M Top-5 p5010M QPS serial
FP3215.8M12.84 ms77.85
FP1630.7M6.83 ms146.32
BF1630.7M6.83 ms146.33
INT858.9M3.84 ms260.81

Cuantización INT8 de características

No se observó una pérdida significativa de precisión en el benchmark MR-ALL publicado.

Mediciones realizadas en una NVIDIA GeForce RTX 5090. La capacidad es el límite aislado del índice nativo, sin modelos ONNX cargados ni carga del Server. La velocidad utiliza exactamente 10M vectores de imagen de 512 dimensiones, búsqueda exhaustiva Top-5 residente en GPU, una consulta en curso, 10 calentamientos y 100 consultas medidas. Los despliegues de producción deben reservar VRAM para modelos, peticiones, concurrencia, reconstrucciones del índice y margen del allocator. La búsqueda es exacta dentro de cada representación almacenada; el almacenamiento de menor precisión aún puede cambiar puntuaciones y posiciones respecto a FP32.

Modelos privados

Las galerías grandes necesitan más que un índice rápido.

La capacidad del índice resuelve la escala de búsqueda. La calidad de reconocimiento en puntos operativos exigentes determina si una galería 1:N de gran tamaño es realmente utilizable. Los equipos que cumplan los requisitos pueden comparar un modelo privado con la referencia de un modelo público antes de adquirir la licencia.

Utilice datos de validación representativos y obtenidos legalmente. El acceso y el alcance de la evaluación se confirman con los equipos que cumplan los requisitos.

Mayor calidad de reconocimiento

Evalúe condiciones de imagen difíciles y objetivos estrictos de falsas coincidencias con datos representativos.

El mismo Server y la misma API

Cambie el paquete de modelo autorizado sin rehacer su integración REST o Python.

Autorización firmada sin conexión

Los paquetes privados pueden utilizar el mismo manifiesto y formato de licencia firmada sin conexión.

Derechos de despliegue comercial

Defina los derechos del modelo para el producto, el entorno y el caso de uso de producción aprobados.

Monitores RTSP persistentes

Monitorización de cámaras que funciona sin el navegador.

Cree Monitores en el servidor para fuentes RTSP o RTSPS, ajuste la cadencia de inferencia y la confirmación de eventos, y permita que clientes independientes consulten el estado actual y los eventos recientes. Cerrar la consola no detiene el reconocimiento y los Monitores activados se reanudan tras reiniciar el Server. Los frames nunca se graban; los eventos recientes están acotados y no son persistentes, y la vista previa está desactivada por defecto.

Utilice el reconocimiento como ayuda para el operador, no como único control de una decisión de alto impacto. Defina políticas de consentimiento, retención, borrado, revisión y respuesta a incidentes para cada despliegue.

Consola de monitorización de cámaras de InsightFace Server con un Monitor RTSP persistente y la dirección privada ocultada
La configuración del Monitor persiste en SQLite. Las credenciales RTSP se cifran y ocultan; los frames no se almacenan y los eventos recientes solo permanecen en memoria.

Operación y seguridad

Un límite claro que puede reforzar.

El Server expone el estado necesario para operar un despliegue privado, manteniendo secretos, imágenes, embeddings y credenciales fuera de los diagnósticos.

Incluido en InsightFace Server

Estado y diagnóstico

Compruebe servicio, base de datos, modelo, proveedor, capacidad y resúmenes seguros de errores recientes.

CUDA fail-fast

Valide al inicio el proveedor real, las sesiones, las librerías, la compatibilidad de GPU y la inferencia de calentamiento.

Límite de datos persistente

Mantenga los modelos en solo lectura, haga persistente /data y reconstruya desde SQLite los índices exactos desechables.

Credenciales protegidas

Aplique hash a la API Key, cifre las credenciales RTSP en /data y oculte las fuentes en las respuestas.

Modo solo API

Desactive la consola y las guías manteniendo /v1 y /openapi.json para servicios privados.

Complete el perímetro de producción

Los archivos Compose incluidos están diseñados para evaluaciones aisladas. Antes de exponer un servicio de producción, añada los controles requeridos por su red y su modelo de gobernanza.

Active la autenticación de la API y gestione la rotación de claves.
Termine HTTPS en un proxy inverso de confianza.
Restrinja el acceso de red y CORS a los clientes aprobados.
Aplique en el perímetro límites de frecuencia, tamaño del cuerpo y tiempo de espera.
Proteja /data, las copias de seguridad y el acceso operativo como infraestructura biométrica.

Preguntas frecuentes

Planifique su despliegue y la licencia del modelo.

Respuestas prácticas para los equipos antes de la evaluación y la producción.

¿InsightFace Server es de uso gratuito?+

El código fuente del Server y el SDK Python tienen licencia MIT. Los archivos de modelo se rigen por condiciones independientes, por lo que la disponibilidad del código no concede derechos comerciales sobre los modelos.

¿Los modelos de reconocimiento están incluidos en el contenedor?+

No. Los paquetes de modelo se instalan y verifican por separado para que la identidad, la versión y la autorización del modelo sean explícitas.

¿Se pueden utilizar comercialmente los modelos públicos preentrenados de InsightFace?+

Los paquetes de modelos públicos preentrenados se limitan generalmente a la investigación académica no comercial, salvo que InsightFace conceda una autorización comercial independiente.

¿Un modelo privado o con licencia comercial requiere una nueva integración?+

No. Los paquetes de modelos autorizados utilizan el mismo Server, Web UI, API REST, SDK Python, manifiesto y flujo de instalación.

¿InsightFace Server puede funcionar sin conexión?+

Sí. Una vez instalados la imagen del contenedor y el paquete de modelo, el Server puede arrancar y funcionar normalmente sin conexión dentro de su infraestructura.

¿Qué significa la cifra de capacidad de 58.9M?+

Es el límite medido del índice nativo para vectores de imagen INT8 de 512 dimensiones en una RTX 5090. No representa el número de personas ni la capacidad integral de la API.

¿La búsqueda 1:N es exacta o aproximada?+

La búsqueda es plana, exhaustiva y exacta dentro de la representación almacenada seleccionada; no utiliza un índice aproximado de vecinos más cercanos.

¿Qué hardware de despliegue es compatible?+

El despliegue suministrado está dirigido a Linux x86_64 con inferencia en CPU local o con una GPU NVIDIA compatible mediante el stack CUDA 12.

Valide el flujo y elija después el modelo adecuado.

Ejecute localmente su primera búsqueda exacta. Cuando esté listo para producción, autorice un modelo público o evalúe un modelo privado de mayor precisión sin rehacer la integración.

El código del Server y del SDK tiene licencia MIT. Los derechos de los modelos para producción se conceden por separado.