引言
随着人脸识别技术在各种场景的应用,相信大家已经对“刷脸”并不陌生,日常生活中,健康码、门禁、支付等场景都是刷脸的典型场景。但是目前通过对抗攻击手段,在帽子上贴一块补丁,就可以让人脸识别算法识别不出你的身份,并巧妙地躲开人脸识别系统。这是一种基于物理世界的对抗攻击,对抗样本从虚拟的数字世界延伸到现实世界,通过对抗攻击,可以用于评估现实中部署的人脸识别系统的安全性。本文主要介绍来自华为莫斯科研究院在2019年发表的论文《ADVHAT: Real-world adversarial attack on ArcFace Face ID system》[1]算法思路、实验结果以及其改进思路。
+ + + +
物理世界的对抗攻击
对抗攻击(adversarial attacks)是指利用深度学习内在特性破坏识别系统的方法,即针对识别对象做出特殊改动,人的肉眼可能看不出来任何异样,但是会导致识别模型失灵。传统的对抗攻击主要是基于数字世界的,思路是对数字图像的像素加上扰动,从而使目标神经网络模型失效。这种方式实现起来相对简单,但难以复制到现实世界中,因为现实中,神经网络得到的数据源往往从物理设备(例如摄像机)中得到,这些设备在采样过程中会经历失真,这会使得扰动在现实世界中自然而然的被“屏蔽”,从而攻击失败。然而,物理世界的攻击的攻击显然具有更高的现实意义,所以近年来对物理世界的对抗攻击成为学术界、工业界的研究热点。
针对物理世界的特点,学者们往往采用通过贴纸、补丁等方式对神经网络进行攻击,补丁与贴纸的颜色并不要求与背景类似,但是贴纸的面积不宜过大,这种扰动的特点是“范围窄、扰动大”。而在数字领域,对抗攻击生成的样本与原始图像在像素级别上与原图差别不大,但是扰动的范围大,特点则是“范围广、扰动小”。来自卡内基梅隆大学的Mahmood Sharif等[2]人制作了对抗性眼镜实现攻击,攻击者只需戴上眼镜即可实现攻击——让人脸识别系统Face++认不出戴上眼镜的攻击者,如下图1所示,这篇文章开创性引入了NPS(non-printability score)正则项来中和打印的误差,在后续同领域的文章中这种正则项被广泛使用。

图1 通过对抗眼镜将左图女性识别为右图男性
而University of Michigan来自密歇根大学的Kevin Eykholt等人[3]则对路标进行攻击,如图2所示,通过在指定位置粘贴贴纸攻击目标检测系统,旨在攻击自动驾驶系统,使自动驾驶系统将“停车”标志识别为“限速”。作者通过对不同光照、不用视角的的真实路况进行实验,取得了很好的效果。

图2 通过在路标上粘贴贴纸攻击目标检测系统
ADVHAT
华为莫斯科研究院通过在帽子上粘贴贴纸对目前的最先进(SOTA)的开源人脸识别网络Arcface进行攻击,其攻击结构大致如下图3所示:

图3 Advhat攻击流程图
首先,模拟现实世界中补丁在额头上粘贴的情况,将补丁进行仿射变换,变换为弧形,并利用STN(Spatial Transformer Networks)来获得对于常见仿射变换的不变性结果,得到数字世界中模拟贴上贴纸的样子。这里,为了在现实世界中更具有鲁棒性,需要在每次训练过程中对生成的位置进行小幅度的扰动,确保在差不多的位置都可以进行攻击。
然后,同时将原始人脸与模拟贴纸的人脸分别传入人脸识别模型中,得到他们的嵌入(embedding),此时,问题则转化成了一个优化问题:究竟什么样的贴纸能够使得原始人脸的嵌入和模拟贴纸的人脸嵌入的差异能够达到最大?论文作者利用梯度法进行迭代反向传播,不断对贴纸的颜色与形状进行优化,直到攻击完成。
为了使得贴纸的颜色具有现实世界鲁棒性,作者对生成的贴纸计算其TV(Total Variation) Loss,这是一种判断色彩变化幅度的正则项,色彩变化越大,TV Loss越大,这意味着在现实中越缺乏鲁棒性,这是因为在物理设备中是采样后的结果,过大的变化很难捕捉。
以上便是ADVHAT生成的主要思路,这也是目前很多基于物理世界的对抗攻击思路:在数字世界尽可能的模拟物理世界的攻击,并考虑到其转换到物理世界后的差异,之后进行修正,直到攻击达成。
实验结果
论文作者公布了一段真实世界的演示视频(如图4所示),在实验人员未佩戴对抗贴纸时,我们可以看出人脸识别模型将作者成功识别(person_1),而在贴上对抗性贴纸后,人脸识别模型则失效无法辨认。

图4 论文演示视频
笔者也正在尝试复现该实验,目前实验结果可以将准确率从锚定人脸的0.87相似度偏移至0.52。目前从实验上结果上看,效果不如论文中展示的那样鲁棒,笔者猜测可能是由于贴纸打印色彩失真的原因。

图5 笔者实验结果
改进方案与创新
笔者思考大致有两种改进的思路:首先,是对打印机失真效果进行考虑,加入NPS正则项,但是作者在论文中称加入NPS对于作者的实验并没有帮助;其次,作者是基于梯度对图像进行修正,本质上来说是基于BIM(BASIC ITERATIVE METHOD)算法实现,可以利用PGD(Projected Gradient Descent)算法思想,修改投影算子,并加入一定具有先验的随机值,对贴纸进行更有效的修正。
目前,网络上Billy[4]基于ADVHAT的思路尝试了对活体检测模型进行攻击:通过在假人额头贴上贴纸让活体检测模型认为是真人,总体思路与ADVHAT类似,但是根据具体的业务场景去除了仿射变换的步骤,也取得了较好的效果。
总结
目前,物理世界的对抗攻击对神经网络展现出了巨大的威胁,给人脸识别、自动驾驶等应用带来了安全隐患。在人脸识别应用中,物理世界的对抗攻击可以实现身份的匿名和盗用;在自动驾驶领域,该类攻击可实现辅助驾驶系统的决策失误。
因此,目前学术界、工业界都非常关注对抗攻击技术的发展,并研发对抗防御的方法,旨在让人工智能应用变得更加安全可靠。
参考文献
[1]Komkov, S., Petiushko, A.: Advhat: Real-world adversarial attack on arcface face id system. arXiv preprint arXiv:1908.08705 (2019)
[2]M. Sharif, S. Bhagavatula, L. Bauer, and M. K. Reiter. Accessorize to a crime: Real and stealthy attacks on state-ofthe-art face recognition. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, pages 1528-1540. ACM, 2016.
[3]K. Eykholt, I. Evtimov, E. Fernandes, B. Li, A. Rahmati, C. W. Xiao, A. Prakash, T. Kohno, D. Song. Robust physical-world attacks on deep learning models. ArXiv: 1707.08945, 2017.
[4]https://zhengtq.github.io/2020/01/17/advAS/
人工智能对抗攻击测评业务
上海计算机软件测评重点实验室(SSTL)自研了对抗样本生成工具,该工具集成了多种对抗样本生成算法,可对常见数据集利用不同算法进行对抗攻击并对模型鲁棒性进行量化评估。该工具还集成了基于现实世界的对抗攻击,目前应用场景为基于深度学习的开源人脸识别模型。


上海市计算机软件测评重点实验室(简称SSTL),由上海市科委批准成立于1997年,是全国最早开展信息系统质量与安全测评的第三方专业机构之一,隶属于上海计算机软件技术开发中心。





