主动式活体检测的工作原理
为什么引导式挑战胜过静态自拍,主动式和被动式活体检测实际检查什么,以及呈现攻击是什么样的。
本文为工作草稿:其中的事实均来自我们自己的研究,措辞在编辑审核中仍可能变动。本文不构成法律、财务或合规建议。
一张人脸照片加一张证件照片,并不足以确认摄像头前坐着的是一个真人。有人可能举着打印的照片、在第二块屏幕上回放视频,或者戴上面具。活体检测正是用来回答一个更具体、也更难的问题:此刻在场的是不是一个真实的活人,而不是录像或其复制品?本文将介绍主动式活体检测的工作原理、它与被动式活体检测的区别,以及它究竟在防范什么。
主动式与被动式活体检测
活体检测通常分为两种。被动式活体检测通过分析单张图像或一小段视频,查找其并非真实采集的迹象——纹理、反光、屏幕产生的摩尔纹、深度线索——而无需用户做任何动作。它速度快、阻力小,但可依据的证据也更少:只有一帧或寥寥几帧来做出判断。
主动式活体检测会要求用户做出静态图像或预先录制的视频无法按需令人信服地伪造的动作:在实时会话中按提示眨眼、转头再回正、点头或微笑。ShieldID 采用基于挑战的主动式活体检测,通过 478 点 3D 面部关键点追踪,在至少十帧画面中持续跟踪——而不是单张照片检查。系统观察的是面部在整个挑战过程中如何运动,而不只是某一张静态图像里的样子。
为什么用挑战而不是一张自拍
单张自拍只需在一帧中骗过系统一次。而引导式挑战必须在系统随机选定的一连串动作中持续不断地骗过系统,并且要在面部移动时对脸上数百个点进行跟踪。打印的照片不会眨眼或转头。回放的视频被锁定在最初录制的动作上,无法响应事后发出的挑战。静态面具在点头或微笑时,也不会像皮肤和肌肉那样运动。这并不意味着主动式活体检测无法被攻破——没有任何单一检查能做到这一点——这正是它要与其他独立检查并行运行、而不是取而代之的原因。
与活体挑战并行运行的检查
活体检测只是每次自拍时都会运行的多项信号之一——它绝不是付费升级项,也不是企业可以为了省钱而关闭的开关。防欺骗、深度伪造检测和 3D 面具检测各自作为独立的检查并分别报告,而不是被合并成一个不透明的活体分数。这在实际中很重要:如果验证失败,您可以看到是活体挑战、欺骗信号、疑似深度伪造还是面具检测触发了标记,而不是只看到一个没有任何解释的“失败”。
- 防欺骗:与向摄像头出示非真人来源(屏幕、打印件、面具)相关的信号,独立于活体挑战本身进行检查。
- 深度伪造检测:与合成生成或被篡改的人脸相关的信号,作为独立的检查运行。
- 3D 面具/打印件检测:专门针对物理呈现攻击的检查——向摄像头出示的打印照片或面具。
- 人脸比对:一个独立的步骤,将实时采集的人脸与证件肖像进行比对,并依据固定的判定线报告结果,而不是给出原始百分比。
呈现攻击是什么样子
在该领域的行话中,通过出示真人以外的东西(照片、视频回放、面具、深度伪造)来欺骗生物识别系统的企图,称为呈现攻击。主动活体检测、防欺骗、深度伪造检测和面具检测,各自防御不同类型的呈现攻击:静态挑战可以挫败静止照片;逐帧跟踪使预先录制的回放更难通过,因为它无法对实时选定的挑战作出反应;面具和深度伪造检测则针对那些试图逼真地动起来的更复杂的攻击。
坦诚面对局限
我们不公布活体检测的准确率百分比,也不声称拥有 iBeta 或 ISO/IEC 30107-3 之类的正式认证——我们目前没有获得,也不会说我们有。我们能够准确说明的是系统运行了什么、如何运行:对数百个面部特征点进行跟踪的主动式多帧挑战,并在每一次验证中都配有独立的防欺骗、深度伪造和面具检查,结果作为独立的信号单独报告,而不是混入一个您无法查验的分数。如果将来有了正式测试,我们会公布结果和日期,而不是一个没有证据支撑的徽章。