近日,“人脸认证时千万记得穿衣服”话题冲上热搜榜,“吓坏”不少网友。许多人都说“悔不当初”:完蛋,我在被窝里/上厕所时/光膀子时认证过。
那么人脸认证的原理是什么,拍到其他部位重要吗,认证的时候闪烁着刺眼的红绿蓝光又有什么作用?
拍摄的范围不止你的脸!
人脸认证时,屏幕上所显示的“摄像头的圆”其实是起了一个“掩码”的作用,让你能对准自己的脸。实际上被拍到的画面不止于这个“圆”。
那问题来了:拍到了框以外的地方,会不会有隐私问题?

图源:社交媒体
如果从软件角度说,系统根本不关心那些。人脸识别算法可以从整张画面里精准抠出“脸部区域”进行验证。至于背景里有什么?算法直接把它们当空气忽略掉。
所以,那个“圆”既是你的取景框,也在告诉你:“我只关注你的脸”,而技术也确实做到了这一点。可以说,系统只关心你的脸,对于其他部位,根本没有兴趣。
一定要有刺眼的闪光灯吗?
人脸识别系统有个致命短板:摄像头只认脸,不认人。一张照片、一段视频,甚至一个硅胶面具,都可能蒙混过关。
对人脸识别系统攻击的方式

图源:论文
所以,必须加一道安检:活体检测。而闪光就是活体检测的“探照灯”。
闪光的真面目:炫彩活体检测
人脸认证时闪烁的红绿蓝光是活体检测技术的一部分,通过不同颜色光线的反射差异来验证操作者是否为真人,同时辅助摄像头在复杂环境下获取清晰面部特征。
屏幕会按特定时序、亮度、颜色组合,向人脸投射RGB序列光。利用不同波长光线在皮肤、眼睛等部位的反射差异,构建三维面部模型。
真实人脸是立体结构,不同位置的光线反射角度和强度不同;而照片、视频或面具等平面物体反射的光线模式单一,系统可通过分析反光差异识别伪造。
除了防伪,闪光还有两个作用:
补光与匀光:在暗光/逆光下,彩色光可均匀照亮面部,提升图像质量。
增强特征对比度:不同色光突出面部轮廓与细节,辅助人脸特征提取。
为什么假脸骗不过这道光?
首先,如果是照片和视频,它们都是平面的,无论多高清,它们都没有“深度”。
其次,虚假人脸与真实人脸的一个重要区别在于表面反射特性。真实皮肤和伪造材质的反射信号强度有明显差异。皮肤含有水分,会吸收部分红外光;而纸张和屏幕则会形成强烈的镜面反射,甚至出现摩尔纹、反光、倒影等,这些破绽在红外摄像头下一览无余。
最重要的,是活体独有的“微动”:脸部运动是一种特别的活体信号。真正的活人脸上,既有你察觉不到的脉搏微动,也有你主动完成的眨眼摇头。两者结合,正是假脸永远攻不破的防线。这也是为什么很多活体检测会让你“眨眨眼”“摇摇头”:不是为难你,而是在捕捉只有真人才有的“活证明”。
不闪光也可以认证?
如果你仔细观察过iPhone的“刘海”或安卓旗舰的前置镜头模组,会发现里面藏着好几个“小黑孔”。其中一个,就是专门负责发光的点阵投射器。当你对准屏幕的那一刻,它会向你的脸发射出超过3万个肉眼看不见的红外光点。
FaceID的3D结构光

图源:社交媒体
这3万个光点像一张无形的光网覆盖在你的脸上。它们遇到不同的面部结构——鼻梁、眼眶、脸颊——会发生细微的位移和变形。高挺的鼻子会让光点提前反射回来,深陷的眼窝则会让光点稍稍延迟。
这个过程,叫做“结构光”成像。
原理其实很简单:就像你用手在墙上玩手影——当你把手掌放平,墙上的影子就是一片平板;但当你把手握成拳头,影子就会随着手指的轮廓出现高低起伏。
而摄像头要做的,就是捕捉这些变形的细微变化,然后通过系统算法,瞬间反推出你脸部的三维立体模型。
学术界把这种利用三维信息进行防伪的技术称为“基于多光谱的活体检测”或“3D Depth(3维深度)活体检测”。研究表明,结合红外成像和3D深度信息,可以有效防御照片、视频回放、3D面具甚至特殊化妆等多种攻击手段。
内容来自:北京科学中心