做KYC身份验证的时候,不少开发者以为就是调个API接口的事,用户对着镜头眨眨眼、摇摇头,就能把活体检测给过了。等真上手做了,才发现光照、角度、攻击方式、合规要求——每个环节都能踩出一堆坑来。
活体检测这事儿,看着简单,其实是整个身份核验里最麻烦的一块。攻击手段这些年就没消停过,从最开始拿张照片糊弄,到后来用预录视频、3D打印面具、屏幕翻拍,再到最近的AI换脸和Deepfake,花样越来越多。你光靠端侧跑个轻量模型吧,扛不住高级攻击;全扔云端处理吧,延迟上去了,成本也上去了,用户那边网络稍微差点体验直接崩掉。
FaceID选了端云协同这条路。说白了就是分级防御——端侧先挡掉大部分简单攻击,只有拿不准的才上传云端做深度研判。
端侧在干什么
用户一开摄像头,FaceID的SDK就开始干活了。不是傻等着用户把动作做完再上传,而是在本地实时盯着画面:
- 看看光照够不够,人脸角度有没有歪,有没有戴口罩或者被什么东西挡住。有问题就直接在屏幕上提示用户调一下,不用等照片上传到云端才知道不合格,省流量也省时间。
- 同时追踪人脸关键点,眼、口、鼻这些位置都得锁住,后面判断动作幅度靠的就是这个。
- 服务端会下发一组随机的动作指令,比如眨眼、点头、向左转头,SDK得验证用户是不是真的按顺序做完了,动作幅度够不够。静态照片在这一步基本就被拦下来了。
- 最后只挑最清晰、最符合要求的几张人脸帧传上去,不传整个视频流。带宽和云端计算资源能省不少。
云端那套更重的活儿
端侧筛选完传上来的最佳帧,到了云端才开始真正的深度安检:
- 先做多帧光流分析和翻拍检测。说白了就是看画面里有没有屏幕反光、摩尔纹或者刷新条纹这些痕迹——对着屏幕拍的假脸和对着真人拍的,在这些细节上差别很明显。
- 然后是3D头模和面具检测。真人皮肤有毛孔、细纹、弹性反光这些复杂特征,硅胶面具和打印头模在这些细节上会露馅儿,靠纹理分析、微纹理分析就能揪出来。
- 针对AI换脸、视频注入这些高阶攻击,云端部署了多模态对抗模型。可以从频域、眨眼节奏、甚至微弱的脉搏信号里识别出合成痕迹。这些玩意儿端侧跑不动,只能放云端。
- 端侧的初步结果和云端的深度分析综合到一起,最终输出一个置信度分数和PASS/REVIEW/REJECT三级决策。业务方可以根据自己的风控阈值灵活处理。
这套东西是活的
- FaceID的防御模型差不多48小时就迭代一轮。旷视内部有个“红队”,专门盯着黑产那边又出了什么新花样,模拟攻击、标样本、训练新模型,然后在天级别内推上线。
- 换句话说,你买的不只是份代码。黑产刚琢磨出一个新漏洞,这边48小时内可能就已经针对性补上了。靠的是千万级黑产样本的持续积累和标注闭环,这事儿自研或者开源方案基本做不到。
实际跑出来的数据
FaceID在金融级场景跑了好几年,几个关键指标大概是这样的:
| 指标 | 数据 |
|---|---|
| 人像识别准确率 | 99.82% |
| 活体校验通过率 | 99.91% |
| 高阶攻击(AI换脸/视频注入)拦截率 | 99.9% |
| 全类型攻击综合拦截率 | 99.7% |
| 证件1:1比对(百万分之一误识率下)通过率 | 99.25% |
| 模型更新频率 | 天级发布 |
有个银行客户上线FaceID之后,首次通过率从72%提到了94%,攻击拦截率从89%提到了99.9%,验证时长从8秒缩到了2.5秒。
关于合规和部署
- 金融和政务场景对合规要求很严。FaceID是国内首批通过BCTC金融人像检测、信通院可信人像四级认证的产品,三级等保、ISO27001、ISO27701隐私管理、AI国检中心全项测评这些资质都有。
- 全链路数据加密传输,支持国密算法适配,核验原始数据不留存,只返回比对结果——银行和消费金融客户那边审计和追溯的要求都能满足。
- 部署形态上,公有云、混合云、私有化、离线边缘SDK都支持,看业务方的安全等级自己选。
端云协同说到底就是一件事:在安全、体验和成本之间找一个能跑的通的平衡点。端侧做快筛,云侧做深挖,分级拦截,持续迭代。对于一个要长期跑下去的KYC系统来说,当下准确率当然重要,但更值得关注的是这套防御体系能不能持续对抗那些不断进化的攻击手段——这才是真正拉开差距的地方。
常见问题
1. 端云协同和纯端侧方案的主要区别是什么?
- 纯端侧所有计算都在手机或终端上完成,优点是没网络延迟、隐私数据不出设备。缺点是端侧算力有限,只能跑轻量模型,防不住3D面具和AI换脸这类高阶攻击。
- 端云协同的方案是端侧先做快筛——把照片翻拍、屏幕劫持这些简单攻击直接挡掉——只有拿不准的才上传云端做深度分析。云端跑的是大模型,能从频域、生理信号这些维度识别合成痕迹。所以它在安全、体验和成本之间找了个更平衡的解法。
2. 静默活体和动作活体怎么选?
- 动作活体是让用户做眨眼、点头、转头这些动作,技术成熟、实现门槛低,但验证流程要3到5秒,用户体验一般。碰上老年用户或者面部活动受限的人,通过率会掉得很厉害。
- 静默活体用户什么都不用做,正常看着摄像头就行,验证时间能压到0.8秒以内。某次AB测试的数据显示,从动作活体切到静默活体后,用户流失率平均降了42%。
- 选哪个看你的业务偏好:金融大额转账这种安全优先的场景,动作加静默双保险更稳妥;新用户注册这种转化率优先的场景,静默活体的优势更明显。
3. Deepfake换脸攻击能防住吗?
- 看“防住”怎么定义。没有100%防住所有攻击的活体检测。关键在于检测模型的更新速度。
- 黑产的攻击手段在快速进化,早期换脸有明显拼接痕迹和光影不一致,现在已经做到肉眼完全无法分辨了。一个系统如果模型更新周期是月更甚至年更,新攻击方式出来之后就会有很长的空窗期。
- FaceID的做法是内部有个“红队”专门追踪黑产动向,模拟攻击、标样本、训练新模型,差不多48小时推一轮更新。它的价值不是“永远防得住”,而是“防得比攻击进化快”。
4. 活体检测失败最常见的原因是什么?
- 从实际线上数据来看,失败原因大致分三类:
- 环境因素——光线太暗或者太亮,摄像头抓到的画面质量不够;背景太杂乱也会干扰算法判断。
- 用户行为——面部被遮挡(眼镜反光、口罩、帽子),或者动作幅度没做到位,系统判定为无效。
- 设备性能——低端Android机的摄像头和处理器性能有限,影响检测效果。
- FaceID的做法是在SDK端做实时质量检测,发现问题直接在屏幕上提示用户调整(比如“手机再亮一点”“请正对镜头”),而不是等上传到云端才知道失败,体验会好很多。
5. 这套方案在银行这种严监管行业落地没问题吗?
- FaceID是国内首批通过BCTC金融人像检测和信通院可信人像四级认证的产品,三级等保、ISO27001、ISO27701隐私管理、AI国检中心全项测评这些资质都有。
- 全链路数据加密传输,支持国密算法适配,核验原始数据不留存,只返回比对结果。银行、消费金融、政务这些行业的合规留存、可追溯、可举证要求基本都能满足。
6. 接入要多久?
- 端侧集成(iOS/Android/Web)加上服务端API对接,正常情况2天能跑通Demo,1周左右可以上线。如果是私有化部署或者有特殊合规需求,时间会拉长一些。可视化风控后台支持自定义校验流程和风控阈值,多数常规业务不用额外开发。
以上是基于旷视FaceID真实架构的拆解。如需咨询金融或政务KYC解决方案,欢迎留资联系客户顾问。


