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


本文插图

小视科技团队采用在线的方式生成傅里叶频谱图 , 使用 L2 Loss 作为损失函数 。 输入图片的尺寸为 3x80x80 , 从主干网络中提取尺寸为 128x10x10 特征图 , 经过 FTGenerator 分支生成 1x10x10 的预测频谱图 F_P。 通过傅里叶变换 , 将输入图片转化成频谱图 , 再进行归一化 , 最后 resize 成 1x10x10 尺寸得到 F_G, 使用 L2 Loss 计算两特征图之间差异 , 如公式(2)所示 。

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

为了控制 L_FT在训练过程中对梯度的贡献作用 , 分别引入了
|人脸识别漏洞频出?这个开源静默活体检测算法,超低运算量工业可用
本文插图

平衡两个损失函数L_Softmax和L_FT , 如公式(3)所示 , 其中
|人脸识别漏洞频出?这个开源静默活体检测算法,超低运算量工业可用
本文插图

。 在实验中设置
|人脸识别漏洞频出?这个开源静默活体检测算法,超低运算量工业可用
本文插图


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

|人脸识别漏洞频出?这个开源静默活体检测算法,超低运算量工业可用
本文插图
图 7 傅里叶频谱辅助监督训练架构图
其他模型策略
使用大体量网络 ResNet34 蒸馏剪枝网络 MiniFASNetV1 和 MiniFASNetV2 , 精度得到提升 。
使用模型融合的机制 , 针对于不同输入尺度、不同网络结构以及不同迭代次数的模型进行融合 , 充分挖掘模型间对分类任务的互补性 , 提升模型精度 。
实验结果
测试集建立
小视科技团队基于实际的生产场景建立了 100W 量级的测试集 , 从移动设备的视频流中实时获取图像 。 真脸数据包含了强光、暗光、背光、弱光以及阴阳脸等各种复杂场景 。 基于 2D 的假脸数据使用打印纸、铜版纸、照片纸以及电脑屏幕、平板 Pad 屏幕、手机屏幕 , 在不同的距离、角度和光线下进行采集 。 基于 3D 的假脸数据则采用头模、硅胶面具和纸质照片抠洞的人脸面具进行采集 。
模型评价指标
小视科技团队采用 ROC 曲线作为模型的观测指标 , 控制十万一的误检率 , 保证模型在 97%+ 的通过率 。 与一般的分类任务不同 , 团队采用了 ROC 曲线而非分类精度作为度量指标 , 其原因是:生产落地场景对活体模型的误检控制具有很高的要求 。
为了降低活体在应用场景发生误检的概率 , 小视科技团队控制模型误检率在十万一量级的同时 , 保证了较高的真脸通过率 。 团队将活体定义为三分类任务 , 为了适应 ROC 曲线的评价指标 , 将真脸以外的类别都定义成假脸 , 从而解决了使用 ROC 曲线适应多分类的问题 。
最终的开源融合模型 , 包含了两个剪枝网络的单模型 , 在测试集上的观测指标如表 2 所示 。 开源模型误检控制在 1e-5 的情况下 , 真脸通过率能够达到 97.8% 。 未开源的高精度模型在相同的误检率下 , 真脸通过率达到 99.5% 。
|人脸识别漏洞频出?这个开源静默活体检测算法,超低运算量工业可用
本文插图

表 2 模型观测指标
速度指标
开源融合模型在不同芯片上速度指标如表 3 所示 , 在麒麟 990 5G 上仅需要 19ms 。
|人脸识别漏洞频出?这个开源静默活体检测算法,超低运算量工业可用
本文插图

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

安卓端体验 APK DEMO 演示
为了方便开发者更好地体验该项静默活体检测技术 , 小视科技团队准备了用于测试的安卓端 APK , 不仅可以直观地感受该项技术达到的效果 , 还可以实时观测速度、置信度等相关指标 。


推荐阅读