新式隐身术:在肚子上贴一张图片 AI就当你不存在



有没有过一个瞬间,你恨不得自己变成一团空气?

物理上做不到,真是遗憾。

但现在,你可以在AI面前练成“隐身术”,只要在肚子上贴一张图片。

虽然肉眼看得到你在挥手,目标检测算法已经当你不存在了:


YOLOv2被骗了



划重点,是隐身不是变身,AI没有把你识别成其他物件,是全然忽视你的存在,只看到旁边的兄弟。

如果,你想把隐身术传给小伙伴,把“隐身衣”递给他就好了:



这下,AI终于看出了你的身型,小伙伴就成了空气。

被骗的这只AI是目标检测界的翘楚YOLOv2。骗它的两位少年,来自比利时鲁汶大学。

如此一来,是不是就能逃过智能监控系统,潜入某个空间,做奇怪的事情也不被察觉……人类真危险。

谷歌大脑的科学家David Ha安利了这篇研究,已有4,200多人类盛情点赞,大胆的想法也接二连三。



未来,是赛博朋克的未来

“什么时候印成T恤啊?”

“对啊对啊,卫衣更好。”

不过,在图片变成衣服的印花之前,还是先来看看图上有什么玄机。


这不是“乌龟变步枪”



大家可能早就听过,乌龟变步枪的故事。



悄悄改动乌龟身上的纹路,人类看起来依然是乌龟,AI却认成了步枪:






这样的欺骗,就是著名的对抗攻击 (Adversarial Attacks) 。

比利时少年的隐身术,也是一种对抗攻击,但和前辈们非常不同。

最主要的差别在于,人类和从前那些加了纹理的物体 (比如停车标志) 不一样:虽然每个人都是人,但个体之间差异很大。


停车标的个体差异,很小很小



在这样多变的情况下,少年们依然成功生产出了通用的对抗图像,并非针对某个人类而设计,穿在谁身上都有隐身功效,YOLOv2看不到。

他们用了三步的优化 (Optimization) ,来解决这个问题:

·首先要保证,定制的纹理图打印出来还能被AI捕捉到。如果纹理用到了许多打印不出的颜色,就不太乐观了。所以,要测量一个“不可打印”的分值。

·第二要保证,定制纹理图上的颜色过度平滑,避免噪点过多。所以,需要测量一张图像的总变化值 (Total Variation) ,任意两个像素的色彩越相近,这个值就越小。

·第三最重要,就是让YOLOv2看不出人来。也就是让AI给出的分类结果,分值降低,变成不太确定的分类。

那么问题来了,怎么才能让AI的检测便得不自信呢?

这和YOLOv2的工作原理有关:它会输出一个目标存在感 (Objectness) 的分值,和一个类别 (Class) 的分值。







而团队的目标,一是要降低“人类”这个类别的分值,二是不能让其他类别的分值超过“人类”。

比如,一个数据集里有“泰迪熊”这个类别,而另一个数据集里没有。如果是“泰迪熊”的分值超过“人类”,就没办法推广到另外的数据集里去了。

最终,团队没有选择降低“人类”的分值,而是直接降低了目标的存在感 (Objectness) 。这样,就不会有其他类别取代“人类”了。

你看,如果想屏蔽街上的情侣:






炫彩的对抗贴纸,就是直接降低存在感的结果,从几种方式中脱颖而出,把识别人类的准确率降到了26%。

开头展示的,把隐身衣直接穿在身上,比贴在视频里的隐身难度更大,但依然成功了:






隐身T恤虽好,但以后可能就不用穿衣服,有全息投影的服装了哟,谷歌大脑的研究员说。

如果你还有什么伟大的想法,有开源代码在这里,自己生成对抗图像:

https://gitlab.com/EAVISE/adversarial-yolo


论文传送门:



https://arxiv.org/abs/1904.08653

推荐阅读