热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AI视觉对抗之隐身T恤「AI前沿」

关注:决策智能与机器学习,深耕AI脱水干货作者|许凯第来源|ECCV2020报道|机器之心基于AI目标检测系统生成的对抗样本可以使穿戴者面对摄像头「隐身

关注:决策智能与机器学习,深耕AI脱水干货

作者 | 许凯第

源 |  ECCV 2020 

报道 | 机器之心

基于 AI 目标检测系统生成的对抗样本可以使穿戴者面对摄像头「隐身」。

由美国东北大学林雪研究组,MIT-IBM Watson AI Lab 和 MIT 联合研发的这款基于对抗样本设计的 T-shirt (adversarial T-shirt),让大家对当下深度神经网络的现实安全意义引发更深入的探讨。目前该文章已经被 ECCV 2020 会议收录为 spotlight paper(焦点文章)。

论文链接:https://arxiv.org/pdf/1910.11099.pdf

在人脸识别和目标检测越来越普及的今天,如果说有一件衣服能让你在 AI 检测系统中「消失无形」,请不要感到惊讶。

   

熟悉 Adversarial Machine Learning(对抗性机器学习)的朋友可能不会觉得陌生,早在 2013 年由 Christian Szegedy 等人就在论文 Intriguing properties of neural networks 中首次提出了 Adversarial Examples(对抗样本)的概念。而下面这张将大熊猫变成长臂猿的示例图也多次出现在多种深度学习课程中。

很显然,人眼一般无法感知到对抗样本的存在,但是对于基于深度学习的 AI 系统而言,这些微小的扰动却是致命的。

随着科研人员对神经网络的研究,针对神经网络的 Adversarial Attack(对抗攻击)也越来越强大,然而大多数的研究还停留在数字领域层面。Jiajun Lu 等人也在 2017 年认为:现实世界中不需要担心对抗样本(NO Need to Worry about Adversarial Examples in Object Detection in Autonomous Vehicles)。

他们通过大量实验证明,单纯地将在数字世界里生成的对抗样本通过打印再通过相机的捕捉,是无法对 AI 检测系统造成影响的。这也证明了现实世界中的对抗样本生成是较为困难的,主要原因归于以下几点:

像素变化过于细微,无法通过打印机表现出来:我们熟知的对抗样本,通常对图像修改的规模有一定的限制,例如限制修改像素的个数,或总体像素修改大小。而打印的过程往往无法对极小的像素值的改变做出响应,这使得很多对于对抗样本非常有用的信息通过打印机的打印损失掉了。

通过相机的捕捉会再次改变对抗样本:这也很好理解,因为相机自身成像的原理,以及对目标捕捉能力的限制,相机无法将数字领域通过打印得到的结果再次完美地还原回数字领域。

环境和目标本身发生变化:这一点是至关重要的。对抗样本在生成阶段可能只考虑了十分有限的环境及目标的多样性,从而该样本在现实中效果会大大降低。

近年来,Mahmood Sharif 等人(Accessorize to a crime: Real and stealthy attacks on state-of-the-art face recognition.)首次在现实世界中,通过一个精心设计的眼镜框,可以人脸检测系统对佩戴者做出错误的判断。但这项研究对佩戴者的角度和离摄像头的距离都有严格的要求。之后 Kevin Eykholt 等人(Robust Physical-World Attacks on Deep Learning Visual Classification)对 stop sign(交通停止符号)进行了攻击。通过给 stop sign 上面贴上生成的对抗样本,可以使得 stop sign 被目标检测或分类系统识别成限速 80 的标志!这也使得社会和媒体对神经网络的安全性引发了很大的探讨。

然而,这些研究都还没有触及到柔性物体的对抗样本生成。可以很容易地想象到,镜框或者 stop sign 都是典型的刚性物体,不易发生形变且这个类别本身没有很大的变化性,但是 T 恤不同,人类自身的姿态,动作都会影响它的形态,这对攻击目标检测系统的人类类别产生了很大的困扰。

最近的一些工作例如 Simen Thys 等人(Fooling automated surveillance cameras: adversarial patches to attack person detection)通过将对抗样本打印到一个纸板上挂在人身前也可以成功在特定环境下攻击目标检测器,但是却没有 T 恤上的图案显得自然且对对抗样本的形变和运动中的目标没有进行研究。

来自美国东北大学,MIT-IBM Watson AI Lab 和 MIT 联合研发的这款 Adversarial T-shirt 试图解决上述问题,并在对抗 YOLOV2 和 Faster R-CNN(两种非常普及的目标检测系统)中取得了较好的效果。通过采集实验者穿上这件 Adversarial T-shirt 进行多个场景和姿态的视频采集,在 YOLOV2 中,可以达到 57% 的攻击成功率,相较而言,YOLOV2 对没有穿 Adversarial T-shirt 的人类目标的检测成功率为 97%。

设计原理

从多个已有的成功的攻击算法中得到启发,研究者们通过一种叫 EOT (Expectation over Transformation) 的算法,将可能发生在现实世界中的多种 Transformation(转换)通过模拟和求期望来拟合现实。这些转换一般包括:缩放、旋转、模糊、光线变化和随机噪声等。利用 EOT,我们可以对刚性物体进行对抗样本的生成。

但是当研究者们仅仅使用 EOT,将得到的对抗样本打印到一件 T 恤上时,仅仅只能达到 19% 的攻击成功率。这其中的主要原因就是文章上述提到的,人类的姿态会使对抗样本产生褶皱,而这种褶皱是无法通过已有的 EOT 进行模拟的。而对抗样本自身也是非常脆弱的,一旦部分信息丢失往往会导致整个样本失去效力。

基于以上观察,研究者们利用一种叫做 thin plate spline (TPS) 的变化来模拟衣服的褶皱规律。这种变化需要记录一些 anchor points(锚点)数据来拟合变化。于是研究者将一个棋盘格样式的图案打印到 T 恤上来记录棋盘格中的每个方块角的坐标信息,如下图所示:

这些锚点的坐标可以通过特定的算法自动得到无需手动标记。这样一个人工构建的 TPS 变化被加入了传统的 EOT 算法。这使得生成的对抗样本具备抗褶皱扰动的能力。

除此之外,研究者们还针对光线和摄像头可能引起的潜在变化利用一种色谱图进行的模拟,如下图所示:(a)数字领域中的色谱图;(b)该图通过打印机打印到 T 恤只会在通过相机捕捉到的结果;(c)通过映射 a-b 学到的一种色彩变换。

基于学习出的色彩变化系统,使得生成的对抗样本能最大限度的接近现实。最终该方法的整体框架如下:

通过增强的 EOT 和颜色转换系统,最小化 YOLOV2 的检测置信度,最终得到一个对抗样本。

除此之外,研究者们也第一次尝试了 ensemble attack (多模型攻击)。利用一张对抗样本同时攻击两个目标检测系统 YOLOV2 和 Faster R-CNN。结果显示不同于传统的加权平均的攻击方,利用鲁棒优化技术可以提高对两个目标检测系统的平均攻击成功率。

实验结果

首先,研究者们在数字领域做了基础的比较试验,结果发现相较于非刚性变化—仿射变换,TPS 变化可以将攻击成功率在 YOLOV2 上从 48% 提升到 74%,在 Faster R-CNN 上由 34% 提升到 61%!这证明了对于柔性物体,加入 TPS 变化的必要性。

之后研究人员将这些对抗样本打印到白色 T 恤上,让穿戴者在不同场合以各种姿态移动并对其录制视频。最后将采集到的所有视频送入目标检测系统进行检测,统计攻击成功率。

如下面的动图所示:

最终,在现实世界中,该方法利用 TPS 生成的样本对抗 YOLOV2 可以达到 57% 的攻击成功率,相较而言,仅使用仿射变换只能达到 37% 攻击成功率。

除此之外,研究者们还做了非常详尽的 ablation study:针对不同场景,距离,角度,穿戴者姿势进行研究。

结果显示,提出的方法对距离的远近和角度变化较为敏感,对不同的穿戴者和背景环境变化表现出的差异不大。

关于 AI 安全的更多讨论

生成对抗样本其实和深度神经网络的训练是同根同源的。通过大量样本学习得到的深度神经网络几乎是必然的存在大量的对抗样本。就像无数从事 Adversarial Machine Learning(对抗性机器学习)的研究者一样,大家充分意识到了神经网络的脆弱性和易攻击性。但是这并没有阻碍我们对深度学习的进一步研究和思考,因为这种特殊且奇妙的现象来源于神经网络本身,且形成原因至今没有明确的定论。而如何构建更加鲁棒的神经网络也是目前该领域的 open issue。

该研究旨在通过指出这种特性,以及它有可能造成的社会潜在危害从而让更多的人意识到神经网络的安全问题,最终目的是帮助 AI 领域构建更加鲁棒的神经网络从而可以对这些对抗样本不再如此敏感。

第一作者介绍

许凯第:美国东北大学 ECE 系 PhD 三年级学生,主要研究领域为 Adversarial Machine Learning,研究内容已经在发表在 NeurIPS、ICML、ICCV、ECCV、CVPR、ICLR 等众多机器学习和计算机视觉会议。

交流合作

请加微信号:yan_kylin_phenix,注明姓名+单位+从业方向+地点,非诚勿扰。


推荐阅读
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 数字账号安全与数据资产问题的研究及解决方案
    本文研究了数字账号安全与数据资产问题,并提出了解决方案。近期,大量QQ账号被盗事件引起了广泛关注。欺诈者对数字账号的价值认识超过了账号主人,因此他们不断攻击和盗用账号。然而,平台和账号主人对账号安全问题的态度不正确,只有用户自身意识到问题的严重性并采取行动,才能推动平台优先解决这些问题。本文旨在提醒用户关注账号安全,并呼吁平台承担起更多的责任。令牌云团队对此进行了长期深入的研究,并提出了相应的解决方案。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • 本文分享了一位Android开发者多年来对于Android开发所需掌握的技能的笔记,包括架构师基础、高级UI开源框架、Android Framework开发、性能优化、音视频精编源码解析、Flutter学习进阶、微信小程序开发以及百大框架源码解读等方面的知识。文章强调了技术栈和布局的重要性,鼓励开发者做好学习规划和技术布局,以提升自己的竞争力和市场价值。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 我一直都有记录信息的习惯,不知是从什么时候开始,大约是在工作后不久。如今还真有点庆幸从那时开始记了点东西,当然是电子版的,写 ... [详细]
  • FIN7后门工具伪装成白帽工具进行传播
    fin7,后门,工具,伪装,成,白, ... [详细]
  • 本文研究了使用条件对抗网络进行图片到图片翻译的方法,并提出了一种通用的解决方案。通过学习输入图像到输出图像的映射和训练相应的损失函数,我们可以解决需要不同损失函数公式的问题。实验证明该方法在合成图片、重构目标和给图片着色等多个问题上都很有效。这项工作的重要发现是不再需要人为构建映射函数和损失函数,同时能够得出合理的结果。本文的研究对于图片处理、计算机图片合成和计算机视觉等领域具有重要意义。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • Carve库在Visual Studio2015中的编译方法及注意事项
    本文介绍了在Visual Studio2015中编译Carve库的方法及注意事项。首先下载Carve库,并使用Visual Studio2015打开,生成后在bin目录下会生成.lib文件。同时,本文还指出了之前在Visual Studio2017中编译的问题,并提醒需要根据对应的平台进行编译,否则会出现报错。详细的步骤和注意事项请参考原文链接。 ... [详细]
  • 本文记录了作者对x265开源代码的实现与框架进行学习与探索的过程,包括x265的下载地址与参考资料,以及在Win7 32 bit PC、VS2010平台上的安装与配置步骤。 ... [详细]
  • VSCode快速查看函数定义和代码追踪方法详解
    本文详细介绍了在VSCode中快速查看函数定义和代码追踪的方法,包括跳转到定义位置的三种方式和返回跳转前的位置的快捷键。同时,还介绍了代码追踪插件的使用以及对符号跳转的不足之处。文章指出,直接跳转到定义和实现的位置对于程序员来说非常重要,但需要语言本身的支持。以TypeScript为例,按下F12即可跳转到函数的定义处。 ... [详细]
  • 本文介绍了使用Rust语言编写、保存和编译程序的简单步骤。首先,打开记事本文件并编写程序代码,然后将代码保存到一个以.rs为扩展名的文件中。接下来,使用rustc命令来编译运行程序。最后,通过命令行运行编译后的程序,得到输出结果。如果遇到编译错误,可以下载Build Tools for Visual Studio 2017来解决。 ... [详细]
author-avatar
滞留童年车
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有