|人脸识别漏洞频出?这个开源静默活体检测算法,超低运算量工业可用( 二 )


图 1 现实场景中活体数据分布图
基于成像介质种类的不同 , 小视科技团队将样本分为真脸、2D 成像(打印照片 , 电子屏幕)以及 3D 人脸模具三类 , 根据上述的准则整理和收集训练数据 。 活体检测的主要流程如图 2 所示 。
|人脸识别漏洞频出?这个开源静默活体检测算法,超低运算量工业可用
本文插图

图 2 开源活体 Pipeline
开源模型技术路线
小视科技团队采用自研的剪枝轻量级网络作为 backbone 训练模型 , 使用 Softmax + CrossEntropy Loss 作为训练分类的监督 。 使用不同尺度的图片作为网络的输入训练数据 , 增加模型间的互补性 , 从而进行模型融合 。 考虑到用于真假脸判别的有效信息不一定完全分布在脸部区域 , 可能在取景画面的任何地方(如边框 , 摩尔纹等) , 小视科技团队在 backbone 中加入了 SE(Squeeze-and-Excitation)的注意力模块 , 动态适应分散的判别线索 。 同时小视科技团队也通过实验发现真假脸在频域中存在明显的差异 , 为此引入傅里叶频谱图作为模型训练的辅助监督 , 有效提升了模型精度 。
自研的轻量级剪枝网络
小视科技团队使用自研的模型剪枝方法 , 将 MoboileFaceNet 的 flops 从 0.224G 降低到了 0.081G , 剪枝的网络结构如图 3 所示 。 模型观测误检率在十万一对应的真脸通过率 , 在精度没有明显损失的情况下 , 模型前向运行的速度提升了 40% 。
|人脸识别漏洞频出?这个开源静默活体检测算法,超低运算量工业可用
本文插图

表 1 模型性能对比表
|人脸识别漏洞频出?这个开源静默活体检测算法,超低运算量工业可用
本文插图

图 3 剪枝模型通道示意图
注意力机制
考虑到用于真假脸判别的有效信息不一定完全分布在脸部区域 , 也有可能在取景画面的任何地方(如边框 , 摩尔纹等) 。 小视科技团队在 backbone 中加入了 SE(Squeeze-and-Excitation)的注意力模块 , 动态适应分散的判别线索 , 热力图如图 4 所示 。 对于假脸 , 模型更关注于边框信息和屏幕的摩尔纹信息 , 对于真脸更加关注脸部以及周围的信息 。
|人脸识别漏洞频出?这个开源静默活体检测算法,超低运算量工业可用
本文插图

图 4 活体模型热力图
数据预处理
使用人脸检测器获取图像中的人脸框坐标 , 按照一定比例 (scale) 对人脸框进行扩边 , 图 5 展示了部分 patch 的区域 , 为了保证模型的输入尺寸的一致性 , 将 patch 区域 resize 到固定尺寸 。
|人脸识别漏洞频出?这个开源静默活体检测算法,超低运算量工业可用
本文插图

图 5 Patch 示例图
傅里叶频谱图
将假脸照片与真脸照片转化生成频域图 , 对比发现假脸的高频信息分布比较单一 , 仅沿着水平和垂直方向延伸 , 而真脸的高频信息从图像的中心向外呈发散状 , 如图 6 所示 。 根据以上的实验 , 小视科技团队发现真脸和假脸的傅里叶频谱存在差异 , 从而引入了傅里叶频谱对模型训练进行辅助监督 。
|人脸识别漏洞频出?这个开源静默活体检测算法,超低运算量工业可用
本文插图

图 6 傅里叶频谱图
基于傅里叶频谱图的辅助网络监督
基于对于真脸和假脸在频域的观察分析 , 小视科技团队提出了基于傅里叶频谱图进行辅助网络监督的训练方法 , 整理架构图如图 7 所示 。 网络的主分支采用 Softmax+ CrossEntropy 作为网络的监督 , 如公式(1)所示 。 其中 ,f_j表示输出类别的第 j 个置信度 ,y_i 表示样本的真实标签 , N 为训练样本的个数 。

|人脸识别漏洞频出?这个开源静默活体检测算法,超低运算量工业可用


推荐阅读