# 人脸识别全攻略:主流SDK · 阈值标准 · 摄像头选型

2 阅读14分钟

人脸识别全攻略:主流SDK · 阈值标准 · 摄像头选型

起因:客户问"你们阈值写了多少?微信/支付宝用多少?我说0.85,他让我试试0.9,效果还行。" 但0.9真的是最优解吗?不同SDK、不同场景、不同摄像头,阈值到底该设多少? 这篇文章一次讲透。


一、主流人脸识别 SDK 全景图

中国市场可商用的离线人脸识别SDK主要有以下几家:

1.1 百度 AI 人脸识别

维度详情
类型离线 SDK + 云端 API
授权方式按设备授权,需联网激活
支持平台Android、iOS、Windows、Linux
核心能力人脸检测、1:1比对、1:N搜索、活体检测(RGB+IR)、属性识别
收费模式付费授权(约299元/设备起)
推荐阈值80分(万分之一误识率),高安全场景 90分
适用场景人脸登录、考勤、门禁、支付

官方文档:建议阈值80分,对应万分之一误识率。安全级别高的建议90分。

1.2 虹软 ArcFace SDK

维度详情
类型离线 SDK
授权方式免费商用,按年续期(重新下载引擎即可)
支持平台Android、Windows、Linux、iOS
核心能力人脸检测/跟踪、特征提取、1:1比对、1:N搜索、RGB活体、IR活体、年龄/性别
收费模式完全免费(需在产品标注"人脸识别技术由虹软提供")
推荐阈值0.80(相似度),RGB活体 0.75
人脸库规模未限制人数,但1000人内最优
识别速度RK3399平台1000人全流程500ms以内

官方文档:阈值为0.8左右,需根据实际场景调整。ArcFace 2.x版本推荐0.8。

1.3 旷视 Face++ / Megvii

维度详情
类型离线 SDK + 云端 API
授权方式联网授权(¥20,000起/年/1000设备)或离线授权(¥300,000起/年/不限)
支持平台Android、iOS、Windows、Mac
核心能力人脸检测、1:1比对、1:N搜索、活体检测(静默/动作/视频)
收费模式按设备授权数收费
推荐阈值(1:1比对)FPR=0.01%→76.5,FPR=0.001%→80.9(分数范围0-100)
识别速度200ms特征提取+比对
准确率实际应用中超过99%

旷视同时是支付宝刷脸支付的核心算法供应商,其FaceID平台支持百万分之一误识率阈值。

1.4 商汤 SenseTime(星云系列)

维度详情
类型硬件模组 + SDK
授权方式硬件绑定
支持平台Android、Windows、Linux(USB/UART接口)
核心能力特征值识别、活体检测(防3D头模攻击≥99.9%)、口罩识别
收费模式硬件模组采购 + 授权
推荐阈值(默认)验证阈值 0.90、活体阈值 0.995、注册阈值 0.60
人脸库容量本地2万
识别速度0.1s无感识别 / 0.3s快速识别
误识率≤0.01%
摄像头双目200万像素 + 4颗红外补光灯
识别距离0.3m ~ 0.3m(可调)

官方API show 默认 verify_threshold = 0.90liveness_threshold = 0.995。这是目前唯一一家公开默认阈值设为0.90的主流厂商。

1.5 海康威视 Hikvision

维度详情
类型硬件一体机(嵌入式Linux)
授权方式硬件内置
核心能力人脸识别、活体检测(照片/视频防假)、口罩检测、多人识别
人脸库容量1500 ~ 50,000 张(不同型号)
识别速度< 0.2s/人
准确率≥ 99%
摄像头200万CMOS双目摄像头(星光级图像传感器)
识别距离0.3m ~ 3.0m
人脸质量阈值特征点置信度 ≥ 0.85,总评分 ≥ 0.6
适用场景门禁、闸机、考勤

海康云平台 API:pointsQuality >= 0.85f(特征点置信度),totalQuality >= 0.6f(总评分)。它没有直接公开1:N的比对阈值,但在人脸注册质量环节有明确的0.85门槛。

1.6 大华 Dahua

维度详情
类型硬件一体机
核心能力人脸认证、活体检测、口罩/安全帽检测、多人识别(最多6人同时)
人脸库容量3000 ~ 10,000 张
识别速度< 0.2s/人
准确率99.9%
摄像头200万CMOS双目摄像头
识别距离0.3m ~ 3.0m
适用场景写字楼、学校、园区、工厂

1.7 腾讯云人脸识别

维度详情
类型云端 API
推荐阈值≥ 70(千分之一误识率)、≥ 80(万分之一误识率)
金融核身≥ 90+
适用场景在线身份验证、人脸登录

1.8 云从科技

维度详情
定位金融级人脸识别
误识率低于十万分之一
特殊优势跨镜追踪、国有银行核心供应商
适用场景银行、机场安检、公安

二、各 SDK 推荐阈值速查表

SDK / 厂商分数范围通用推荐阈值高安全推荐活体检测阈值人均比对速度
百度 AI0~10080(万分之一FAR)90SDK内置200ms
虹软 ArcFace0~10.80RGB: 0.75500ms@1000人
旷视 Face++0~10076(万分之一FAR)81(十万分之一)云端判定200ms
商汤 SenseTime0~10.90(默认)0.950.995100~300ms
海康威视内置质量评分 ≥ 0.85硬件内置<200ms
大华内置内置系统判定硬件内置<200ms
腾讯云0~10080(万分之一FAR)90+云端判定云端延迟
云从金融级<十万分之一FAR云端判定
Amazon Rekognition0~10099(身份验证)云端延迟
Azure Face0~1无统一推荐按场景定制云端延迟

注:分数范围01和0100本质相同,只是精度差异。0.80 = 80分,0.90 = 90分。


三、关键概念:FAR / FRR,阈值降不下来的根本原因

3.1 FAR(False Accept Rate,误识率)

"别人刷脸,系统当成你通过了"

FAR = 错误接受次数 / 所有非本人的比对次数
FAR 值含义举例(500人食堂)
0.1%(千分之一)每1000次非本人比对,误通过1次
0.01%(万分之一)每10000次非本人比对,误通过1次约等于几乎不误识
0.001%(十万分之一)金融核身要求
0.0001%(百万分之一)支付级要求

3.2 FRR(False Reject Rate,拒真率)

"你自己刷脸,系统不让你过"

FRR = 错误拒绝次数 / 所有本人的比对次数

FRR 越高 → 员工越骂人。食堂场景 FRR 超过 1%,每天早上排队排到门外。

3.3 零和博弈:为什么不存在"完美阈值"

FAR ↓ = 阈值 ↑ = FRR ↑   (更安全,但自己人更难通过)
FRR ↓ = 阈值 ↓ = FAR ↑   (自己人容易过,但别人也能通过)

两个错误率是跷跷板的两端,不存在"FAR 和 FRR 都低"的魔法阈值,只能根据业务风险偏好取舍:

  • 支付场景:宁可 FRR 高,不可 FAR 高。刷不过可以重试或换支付方式,刷错一笔就是事故。
  • 食堂场景:偏重 FRR 低。刷不过员工骂人,刷错最多帮他付顿饭(还有订单确认+密码兜底)。

四、为什么支付场景能做到又快又准?

直觉上矛盾的命题:

阈值 0.95 那么高 → 自己人应该很难通过 → 为什么微信/支付宝识别快通过率还高?

核心答案:靠的是硬件碾压,不是算法调参。

4.1 摄像头的信息量天壤之别

普通单目 RGB:     拍一张 2D 照片
                   信息量 = 200万个像素的颜色值

双目 RGB+IR:      多了红外通道
                   能区分真人皮肤和照片反射

3D 结构光:        投射 30000 个光点,构建深度点云
                   → 鼻子多高、眼窝多深,毫米级精度

3D 结构光给同一个人打的天然相似度就在 0.95+,因为输入的是一张深度图而不只是二维颜色——信息量多了一个维度。

打个比方:

  • 2D 人脸比对:像凭一张证件照认人,0.80 就差不多了
  • 双目 + IR:像看半身照+身高信息,0.85 有把握
  • 3D 结构光:像看一个石膏面模认人,0.95 起步

4.2 "快"的核心:硬件代替算法

环节普通单目/双目3D 结构光
活体检测RGB 静默活体,CPU 算 150msIR 深度图直接判,30ms
特征提取2D 128/512 维特征3D 特征 + 硬件加速
总体时延500ms~1000ms< 1s(微信刷脸官方标称)

活体检测省了大头:RGB 静默活体需要分析皮肤纹理、微表情来判断是不是照片,计算量大。3D 结构光直接看深度——照片是平的,真人有鼻子——瞬间判定。

4.3 "高频人脸库"降低二次确认

微信刷脸在同一个门店有本地高频缓存

第一次刷脸:全量检索 → 匹配 → 二次确认(输手机后四位)
之后同门店:高频库 500 人搜索 → 匹配 → 无需二次确认,秒过

搜索范围从 50000 人缩小到 500 人,压力降到 1/100,速度快 + 误识概率也降低。

4.4 一句话总结

普通考勤/食堂支付金融
摄像头单目/双目3D 结构光
信息维度2D3D 深度
活体检测软件算硬件直接判
同一个人天然相似度0.75~0.850.95+
阈值设置0.800.95

支付场景阈值 0.95 不是因为冒险硬扛,而是 3D 摄像头给同一个人打的分数天然就高。别人刷不上去,自己人怎么刷都稳稳过——这才同时做到"又快 + 又准 + 又安全"。


五、不同应用场景的阈值推荐

阈值 ↑
0.95 ─ ┬── 支付/金融核身(微信/支付宝/银行)
       │    需要3D结构光或双目+IR活体
       │    FAR要求 < 0.0001%(百万分之一)
       │
0.90 ─ ┼── 商汤默认 / 高安全考勤门禁
       │    双目摄像头 + 活体检测
       │
0.85 ─ ┼── 食堂点餐/身份确认(本项目当前值)
       │    双目摄像头,建议配合活体
       │
0.80 ─ ┼── 百度推荐 / 虹软推荐 / 普通考勤门禁 ★ 最常见基准
       │    单目或双目摄像头
       │
0.75 ─ ┼── 安防搜索 / 黑名单初筛
       │    抓拍摄像头,人工复核
       │
0.70 ─ ┴── 腾讯云最低推荐 / 非关键场景过滤
          识别距离远、角度大、光线差

四、摄像头选型:不同场景该用什么摄像头?

4.1 摄像头分类

类型说明代表硬件适用场景活体能力
单目 RGB普通USB/内置摄像头,只有可见光USB摄像头、手机前置考勤打卡(配合动作活体)★☆☆(易被照片攻击)
双目 RGB+IR一个RGB镜头 + 一个红外镜头,带IR补光灯海康/大华门禁机、虹软推荐模组门禁、食堂★★★(IR活体+RGB活体)
3D 结构光投射数万光点构建深度图iPhone FaceID、奥比中光模组支付、金融核身★★★(防3D头模)
TOF 深度发射光脉冲测量飞行时间部分高端模组远距离通行★★★(但精度不如结构光)

4.2 各 SDK 推荐/适配的摄像头

SDK单目RGB双目RGB+IR3D结构光推荐品牌/型号
百度通用于主流USB摄像头
虹软 ArcFace无特定品牌限制,支持RGB+IR
旷视 Face++支付宝蜻蜓(奥比中光3D模组)
商汤SenseTime自研AIM M30双目模组(200万+IR补光灯)
海康自研200万CMOS双目(星光级)
大华自研200万CMOS双目

4.3 摄像头技术参数建议

参数最低要求推荐值说明
分辨率1280×7201920×1080(2MP)人脸区域≥120px宽度,瞳距≥40px
帧率15fps30fps过低会导致运动模糊
宽动态(WDR)可选96dB+逆光场景必备
最低照度≤0.01 lux暗光环境(食堂/楼道常见)
镜头焦距按距离选择2.8mm~6mm0.3m~3m识别范围
接口USB 2.0USB 2.0/UARTUVC免驱兼容性更好
红外补光双目建议配850nm IR LED暗光下IR活体检测

五、影响阈值选择的关键因素

5.1 人脸库规模

人脸库 100    阈值 0.80 足够(FAR 万分之一,几乎不误识)
人脸库 500    阈值 0.85 保险
人脸库 1000   可维持 0.85,视实测调整
人脸库 5000   建议 0.85+,因误识概率累积
人脸库 50000 人→ 建议 0.90+,否则每天都有误识案例

5.2 是否有活体检测

活体检测阈值可适当原因
无活体偏严(0.85+)照片攻击风险,阈值太高也挡不住但能减少
RGB静默活体适中(0.80~0.85)有一定防护,但不能完全依赖
双目IR活体可偏松(0.80)IR活体比RGB活体可靠得多
3D结构光可偏松(0.80)最可靠,几乎不存在假体攻击

5.3 是否有二次确认机制

食堂点餐场景:人脸识别 → 查询余额 → 展示订单确认 → 输入密码支付

因为有订单确认 + 支付密码二次确认,人脸识别的容错空间较大。即使偶有误识,也不会造成资金损失。

这是我们把阈值从 0.90 调回 0.85 的核心原因——后面有防线兜底

5.4 硬件环境

环境阈值建议原因
室内固定光0.85稳定
室内强逆光0.82逆光拉低相似度
半户外0.80光线变化大
完全户外0.78角度/距离/光照变化剧烈
抓拍场景0.75非配合,角度差

六、我们的实战经验(双屏柜台点餐机)

项目实际值
SDK百度离线人脸识别 SDK
摄像头双目 RGB+IR(支持活体检测)
场景食堂点餐身份确认 → 查余额 → 扣款
人脸库约 200~500 人
当前阈值0.85(线上运行中)
候选阈值0.90(客户建议,测试效果良好)
活体检测原生 Dialog 内置,无需额外配置
二次兜底订单确认 + 支付密码

阈值演进记录

阶段阈值效果
初版0.80偶有误识,客户反馈"识别错了"
优化0.85误识明显减少,日常运行良好
客户建议0.90误识几乎为0,偶需重试,客户满意
最终0.85考虑到有订单确认+支付密码两道防线,平衡体验

七、总结:一分钟决策指南

┌─────────────────────────────────────────────────────┐
│                                                      │
│  你的场景是?                                         │
│                                                      │
│  支付/银行 ──→ 阈值 0.90~0.95 + 3D结构光 + 活体       │
│  门禁闸机 ──→ 阈值 0.80~0.90 + 双目 + 活体            │
│  食堂点餐 ──→ 阈值 0.85 + 双目 + 活体 + 订单二次确认   │
│  考勤打卡 ──→ 阈值 0.80 + 单目/双目即可               │
│  安防搜索 ──→ 阈值 0.70~0.75 + 抓拍摄像头 + 人工复核   │
│                                                      │
│  SDK 选型:                                           │
│    预算充足 → 海康/大华一体机(开箱即用)               │
│    免费方案 → 虹软ArcFace(免费商用)                   │
│    稳定可靠 → 百度离线SDK(付费但文档完善)             │
│    支付级 → 商汤模组(默认0.90阈值)                   │
│    云端方案 → 腾讯云/旷视Face++ API                    │
│                                                      │
│  摄像头选型:                                         │
│    够用就行 → 单目RGB USB摄像头(200万+30fps)          │
│    安全要求 → 双目RGB+IR + IR补光灯(防照片攻击)        │
│    支付级别 → 3D结构光(奥比中光/商汤模组)              │
│                                                      │
└─────────────────────────────────────────────────────┘
一句话阈值
行业基准线0.80
安全与体验平衡点0.85
商汤/支付级门槛0.90
微信/支付宝推测值0.95±

0.80是起点,0.85是平衡,0.90是安全线,0.95是支付级。 你的场景在哪里,阈值就设在哪里。

最重要的一条:部署后持续观察FRR,如果员工天天骂刷不过,阈值该降就降。 人脸识别是服务用户的工具,不是考核用户的考官。


本文写于 2026 年 6 月,数据来源包括各厂商官方文档、公开API参数、行业报告及双屏柜台点餐机项目实际部署经验。

参考资料: