返回首页
全新 · InsightFace Server

把人脸识别部署在自己的网络里。

一个 Linux 容器即可提供完整的人脸识别后端:检测、比对、注册、精确 1:N 搜索和 RTSP/RTSPS 摄像头监控,并内置 Web UI、REST API 与 Python SDK。

就绪
InsightFace Server 仪表盘,显示已就绪的本地 CUDA 人脸识别部署
58.9M
单张 RTX 5090 的 INT8 图片向量
3.84 ms
1000 万向量 Top-5 延迟(p50)
3.35×
INT8 相对 FP32 的检索吞吐
INT8 特征量化
实测检索精度基本无损

选择适合您的模型方案

从技术验证走向生产,无需重新集成。

随着模型权利和识别精度要求提升,始终沿用同一套自托管 Server。

从这里开始

研究与技术验证

在公开模型包适用的非商业研究条款下,本地验证 Server 的完整工作流。

开始本地体验

生产使用权

公开模型商业授权

继续使用熟悉的公开预训练模型,并为获批的生产项目取得独立商业授权。

申请商业授权

更高识别精度

高精度私有模型

使用有代表性的数据评估高精度私有模型,面向百万、千万级 1:N 大底库。

用自有数据评估

从验证到生产,无需重写集成

Server 与 Python SDK 采用 MIT License。生产环境可申请公开模型商业授权,或评估面向百万、千万级 1:N 底库的高精度私有模型,同时沿用现有 Server 集成。

申请商业授权
沿用同一套 Web UI、REST API 和 Python SDK。
沿用相同的模型 manifest 与安装流程。
支持离线签名的 MODEL.LICENSE 授权。
镜像和模型准备完成后,Server 可保持离线运行。

一个自托管服务

架构保障私有,设计兼顾实用。

图片、特征、模型和索引都可以留在您掌控的基础设施内。多语言控制台调用的公共 API 与您的应用完全相同,且不使用 CDN、分析服务、远程字体或第三方 JavaScript。

检测

为 JPEG、PNG 和 WebP 图片返回边界框、五点关键点、检测置信度和本地质量信号。

比对

从两张图片各选取一张人脸,使用明确阈值和原始 cosine 相似度进行比对;该数值不是概率。

注册

以 Collection、Person 和 FaceSample 组织身份,支持多图片注册、审查模式和明确的拒绝原因。

搜索

执行精确全量 1:N 人员搜索。每个 Person 按高于 Collection 阈值的最强 FaceSample 匹配排序。

监控

运行持久化 RTSP 识别任务,查看最近的进入、离开、错误与恢复事件,并可选开启操作员预览。

集成

使用 Web UI、29 个 REST 接口、交互式 OpenAPI 参考文档或轻量类型化 Python 客户端。

快速开始

从拉取仓库到第一次精确搜索。

选择 CPU 或 CUDA,安装模型包并确认服务就绪,再通过 Python SDK 创建 Collection、注册人员并完成搜索。

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

拉取仓库并安装模型

获取 InsightFace 代码,并在 Server 镜像之外单独安装模型包。

02

启动一种运行环境

技术验证可选择 CPU,需要 GPU 检索和推理时选择 CUDA 12。

03

确认全部就绪

检查 /v1/health,并确认数据库、模型和执行 Provider 已就绪。

04

完成第一次搜索

创建 Collection,注册一名人员,再通过另一张图片执行 Python 搜索。

CPU

需要配备 Docker Engine 和 Docker Compose 的 Linux x86_64。适合评估和中等工作负载。

http://SERVER:18097

NVIDIA CUDA 12

另需支持的 NVIDIA GPU、驱动和 NVIDIA Container Toolkit。启动失败时会直接报错,不会无提示回退到 CPU。

http://SERVER:18098

部署边界

安装并验证 buffalo_l、buffalo_m、buffalo_sc、antelopev2 或已获授权的私有模型包。
以只读方式挂载 /models,并持久化 /data 以保存 SQLite、加密密钥和可选裁剪图。
使用不带 -v 的 docker compose down,以保留命名数据卷。
升级前停止写入后进行备份,或使用符合 SQLite 安全要求的快照。

识别流水线

从图片到排序后的匹配结果。

控制台、REST API、Python SDK 和 RTSP Monitor 均遵循同一套明确的处理契约。

01

图片或 RTSP 帧

JPEG、PNG、WebP,或实时摄像头的最新一帧。

02

多分辨率 SCRFD

检测人脸、合并候选结果,并执行一次全局 NMS。

03

对齐并提取特征

五点对齐、ArcFace 特征提取和 L2 normalization。

04

绑定模型的 Collection

固定模型、预处理、检测器、阈值和容量。

05

精确 CPU/GPU 搜索

对所选 profile 中每个有效 FaceSample 进行全量打分。

06

Person 匹配

返回按原始 cosine 分数排序的人员以及请求 ID。

SQLite 始终是事实来源

持久化数据库是事实来源;内存精确索引只是可重建的投影。注册结果会在成功响应返回前加入索引,删除操作也会同时从两处存储中移除数据。

InsightFace Server Collection 控制台,其中显示绑定模型的身份人员库
Collection 隔离身份空间,并固定模型、预处理、检测器、阈值、搜索 profile 和容量。

明确的身份契约

Collection 清晰划分模型、策略与数据边界。

每个 Collection 都固定模型身份、预处理版本、特征维度、检测器策略、搜索 profile、容量和匹配阈值。该契约可防止模型或运行时变化时发生无提示混用。

  • 为每个 Person 添加多个 FaceSample,并查看部分注册结果,避免整个批次因个别失败而丢失。
  • 选择 off、standard 或 strict 审查模式,执行人脸数量、尺寸、清晰度、亮度、姿态及同一人员一致性检查。
  • 通过 Collection 的 embedding contract 连接可信上游特征流水线;图片仍需经过检测与审查。
  • 可为每张已接受的人脸选择性保存一张 112×112 边界框裁剪图。原始上传图片和用于识别的对齐输入均不会保留。

实测搜索性能

单 GPU 规模的精确搜索。

原生全量搜索 profile 让您在不切换到近似最近邻索引的情况下,权衡向量精度、容量与吞吐。

58.9M
INT8 图片向量

单张 RTX 5090 上 512 维向量的实测最大值。

3.84 ms
Top-5 p50

在恰好 10M 个向量、仅一个进行中查询的条件下测得。

260.81
串行 QPS

10M 个向量下实测的全量 Top-5 搜索吞吐。

3.35×
FP32 吞吐倍数

同一张 GPU 上实测的 INT8 Top-5 吞吐倍数。

GPU 数据类型最大向量数10M Top-5 p5010M 串行 QPS
FP3215.8M12.84 ms77.85
FP1630.7M6.83 ms146.32
BF1630.7M6.83 ms146.33
INT858.9M3.84 ms260.81

INT8 特征量化

已发布的 MR-ALL 基准测试中,INT8 检索精度基本无损。

数据在单张 NVIDIA GeForce RTX 5090 上测得。容量是未加载 ONNX 模型或 Server 工作负载时的独立原生索引上限。速度测试使用恰好 10M 个 512 维图片向量、GPU 驻留的全量 Top-5 搜索、一个进行中查询、10 次预热和 100 次测量查询。生产部署必须为模型、请求、并发、索引重建及内存分配器预留显存。搜索在各自存储表示内是精确的,但低精度存储相较 FP32 仍可能改变分数和排序。

高精度私有模型

大型底库需要的不只是更快的索引。

索引容量解决搜索规模,严格工作点下的识别质量决定大型 1:N 底库是否真正可用。符合条件的团队可在授权前,对比私有模型与公开模型基线。

请使用具有代表性且合法采集的验证数据;评估资格和范围将在沟通后确认。

更高识别质量

在有代表性的数据上评估复杂图像条件与严格误识别率目标。

同一套 Server 与 API

更换已授权模型包,无需重写 REST API 或 Python 集成。

离线签名授权

私有模型包可使用相同的 manifest 和离线签名许可格式。

商业部署权利

针对获批产品、部署环境和生产场景明确模型使用权。

持久化 RTSP Monitor

不依赖浏览器的摄像头监控。

为 RTSP 或 RTSPS 视频源创建服务端 Monitor,调整推理频率与事件确认策略,然后让不同客户端轮询当前状态和近期事件。关闭控制台不会停止识别,已启用的 Monitor 会在 Server 重启后恢复。帧永不录制;近期事件容量有限且不持久化,预览默认关闭。

请将识别结果作为操作员的辅助信息,而非高影响决策的唯一依据。为每项部署明确同意、留存、删除、复核和安全事件响应策略。

InsightFace Server 摄像头监控控制台,显示一个持久化 RTSP Monitor,私有地址已遮挡
Monitor 配置持久化到 SQLite。RTSP 凭据经过加密并脱敏;视频帧不会存储,近期事件仅保留在内存中。

运维与安全

边界清晰,便于加固。

Server 会公开私有部署运维所需的状态,同时确保密钥、图片、特征和凭据不会进入诊断信息。

InsightFace Server 已内置

就绪状态与诊断

检查服务、数据库、模型、Provider、容量和近期安全错误摘要。

CUDA 快速失败

启动时验证实际 Provider、Session、库、GPU 兼容性和预热推理。

持久化数据边界

模型保持只读,/data 持久化,并从 SQLite 重建可丢弃的精确索引。

受保护的凭据

对 API Key 进行哈希处理,在 /data 中加密 RTSP 凭据,并从响应中脱敏数据源。

仅 API 模式

关闭控制台和指南,同时为私有服务保留 /v1 与 /openapi.json。

补齐生产环境边界

随附的 Compose 配置面向隔离环境中的技术验证。对外提供生产服务前,请按网络架构与治理要求补齐部署控制。

启用 API 认证并管理密钥轮换。
通过可信反向代理终止 HTTPS。
仅允许获批客户端访问网络与 CORS。
在边缘设置请求频率、请求体大小和超时限制。
将 /data、备份和运维权限作为生物特征基础设施保护。

常见问题

规划您的部署与模型授权。

从技术验证走向生产前,团队最常关心的问题。

InsightFace Server 可以免费使用吗?+

Server 源代码和 Python SDK 采用 MIT License。模型文件具有独立条款,因此代码可用并不代表自动获得模型商业使用权。

Server 容器是否包含识别模型?+

不包含。模型包需要单独安装和验证,从而明确记录模型身份、版本与授权状态。

InsightFace 公开预训练模型可以商用吗?+

公开预训练模型包通常仅限非商业学术研究;商业使用需要 InsightFace 单独授予商业许可。

使用私有模型或商业授权模型需要重新开发吗?+

不需要。已授权模型继续使用同一套 Server、Web UI、REST API、Python SDK、manifest 和安装流程。

InsightFace Server 可以离线运行吗?+

可以。容器镜像和模型包安装完成后,Server 的正常启动与运行可以保持在您的离线基础设施内。

58.9M 容量代表什么?+

它是单张 RTX 5090 上 512 维 INT8 图片向量的原生索引实测上限,不代表 5890 万人,也不代表完整 API 的端到端容量。

1:N 搜索是精确搜索还是近似搜索?+

在所选存储表示内执行全量精确平面搜索,不使用近似最近邻索引。

支持哪些部署硬件?+

随附部署面向 Linux x86_64,可使用本地 CPU 推理,或通过 CUDA 12 运行在受支持的 NVIDIA GPU 上。

先验证工作流,再选择合适的模型。

在本地完成第一次精确搜索;准备投入生产后,可为公开模型申请授权,或评估高精度私有模型,无需重新集成。

Server 与 SDK 代码采用 MIT License;生产模型权利需要单独授权。