写在前面
这篇论文也太长了吧吧,师兄说安全方面的论文一般都是要长一些,是真的长。
摘要
车载通信系统的缺乏使得ADAS高级驾驶辅助系统,全自动驾驶车辆以及半自动驾驶车辆的自动驾驶仪不能很好的validate验证对于车辆周围的真实环境的感知结果,这个缺陷就很容易被利用从而被别人攻击。但是要应用这些攻击就会需要一些成本cost(比如攻击者的身份可能会暴露),所以现在这种类型的攻击还没有在现实生活中实现过。(这里的意思是不是通过通信电子的手段进行攻击是不行的,算是一个motivation)所以这篇论文从其他角度,发现了ADAS和自动驾驶仪的另一个感知问题,那就是容易把缺乏深度信息的物体(depthless object),也就是通常我们认为的Phantom(这里是幻影吗??)认为是真实的。这篇文章尝试利用这一个感知问题来做幻影攻击,可以在without the need to physically
approach the attack scene(这里不是很理解是什么意思,是说不需要真正的去接触到攻击场景吗,但是后面部署的时候不是还是要在被攻击车辆周围进行投射吗)打破车辆的平衡,而是通过使用装有便携式投影仪的无人机(drone equipped with a portable projector)或者是通过把一个幻影放到联网的数字广告牌上。汽车行业还没有人把这种类型的攻击应用到当今最先进的ADAS系统和自动驾驶仪上:Mobileye 630 PRO和Tesla Model X, HW 2.5(是没有人应用还是没有人提出,这个motivation还需要想一想)。实验发现,当使用不同的幻影做实验的时候,车辆的ADAS系统或者是自动驾驶仪都可以把幻影误认为是真实的物体(这里是为了说明什么,为了说明对幻影没有很高的要求??任何类型的幻影都可以攻击?),从而可以使得车辆可以按下刹车,驶入对向车道,或者是向系统误报假的道路标识牌(road sign)。为了防御这个攻击,作者还提出了一个模型可以分析被检测物体的所在情景(context),表面(surface)以及反射光(reflected light),从而可以实现0.99的AUC的检测效果,可以很好的检测到作者制造的幻影。最后作者还阐述了车载通信系统确实可以降低攻击者实施幻影攻击的可能性,但是并不会消除这种攻击。(为什么车载通信系统可以降低攻击??)
介绍
现在自动驾驶技术已经比较成熟了,但是车载通信系统(实现车辆和周边道路元件之间的信息交换的一组协议)的技术还没有跟上自动驾驶技术的发展。车载通信系统包括V2V (vehicle-to-vehicle), V2I (vehicle-toinfrastructure), V2P (vehicle-to-pedestrian), and V2X (vehicleto-everything),旨在为自动驾驶汽车提供周边车道,道路标识牌以及障碍物的信息,同时对这些信息进行validation验证。但是由于车载通信系统的技术相对滞后,使得自动驾驶汽车在很大程度上还要依赖于对于多个传感器的融合。现在的自动驾驶汽车上的传感器确实可以对车辆的周边环境有一个完整的3D感知,但是车载通信系统的缺乏使得自动驾驶汽车通过传感器感知到的周边障碍物信息不能得到很好的验证,从而使得车辆过分依赖于传感器。现在的自动驾驶车辆其实本质上是使用一个传感器来验证另一个传感器(这个算是目前存在的问题)。基于此,作者提出一个问题,为什么不能通过利用这个缺陷来对自动驾驶系统进行攻击呢。
现在已经有很多的攻击手段被提出来了,例如radio spoofing以及对抗机器学习,也已经可以获得很好的攻击效果,但是现有的很多攻击只能成熟的攻击者来实施(对技术有较高要求,并且需要做很多实验找到最佳的攻击位置等,所以这里也算是一个motivation,而且是很大的motivation)。这些攻击需要攻击者在想要攻击的场景中部署一些需要的器件例如laser/ultrasound/radio transmitter等等,或者是在攻击场景中添加patch,sticker等。这样攻击者就需要为自己实施的攻击付出很多代价(没有理解啊,作者自己部署投影仪就不算部署啦),那么攻击的机会就会变少。
相关名词
advanced driving assistance system(ADAS):高级驾驶辅助系统
autopilot:自动驾驶仪
vehicular communication system:车载通信系统:所谓车载通信系统,是在智能交通系统、传感器网络技术发展基础上,在车辆上应用先进的无线通信技术,实现交通高度信息化、智能化的手段。车载通讯系统的广泛定义是指装载在汽车上的移动通讯系统。车载通信系统通过车车、车路通信将交通参与者、交通工具及其环境有机结合,提高了交通系统的安全和效率。(来自于百度百科)
ROC:是一个很重要的评估概念,https://blog.csdn.net/yinyu19950811/article/details/81288287 这篇文章介绍的很好。
第三部分:幻影攻击和威胁模型
在这个部分,作者定义了幻影,讨论了幻影给感知带来的挑战,同时展示了一个远程的威胁模型,同时讨论了幻影攻击的重要性。作者首先把幻影定义为一个旨在使得ADAS系统和自动驾驶仪错误的感知的一个深度信息很少的物体。一个幻影物体可以通过投影仪进行投影,也可以直接呈现在屏幕上(比如数字广告牌)。这个物体可以是一个障碍物,车道线或者是道路标识牌。在这种攻击下,ADAS系统可能会产生一个驾驶的警告,而自动驾驶仪可能会突然按下一个刹车。
1 )视觉算法的问题
幻影攻击之所以可以成功,主要依赖于以下两点:
(1)如果摄像机检测到可能发生的碰撞或者是一些其他的影响道路安全的信息,自动驾驶系统会宁愿选择相信这个检测信息,尽管其他的传感器并没有检测到,因为这样才能避免发生事故。(这也是"a better safe than
sorry"这个方法。在Apollo中好像也是这样)
(2)计算机视觉算法在训练的时候就是通过看物体的几何特征来确定物体,而并不会去考虑物体的语境或者考虑物体看上去是否真实。大部分的目标检测算法是通过特征匹配,来看物体的一些部分(例如几何,边缘,质地)是否和训练样本相似,从而达到检测物体的目的。
从上面这个例子也可以看到这一点,视觉算法在检测物体的时候,主要考虑的是物体的几何特征,所以上图中的三张图片都会被赋以很高的confidence置信度,尽管后面两张从肉眼看已经不是stop标识牌了。这些算法在识别的时候,并不会考虑场景是否有用,物体在一个图片帧中的位置location和语境都不会被算法考虑在内(意思就是不会去考虑这个东西放在这里是不是符合真实情况,也不会去考虑这个东西放在这有没有可能发生)。
Fig 1举了一个例子,从b图可以看到,尽管作者是把stop标识牌投影到了树上,但是还是可以被ADAS系统检测成一个stop标识牌,因为系统中的算法在检测的时候根本不会考虑那么多语义信息。
从fig 3图也可以发现,目标检测是根本不会去关心语义信息的,就算是把限速标志牌放在天上,地上,一样的都可以被检测成限速标志牌,位置完全不会影响检测器的判断。像fig 1和fig 3这些例子,放在现实生活中,人类都是可以准确判断的,并且是毫无压力很简单,但是目标检测器没有人这么高的智能,所以并不能做出准确判断。
(这部分是不是为了说明,幻影攻击的实现很简单,随便投影一个幻影就可以实现欺骗)
2)威胁模型
假定攻击者有能力购买无人机和便携式的投影仪。攻击者可能是想是、制造恐怖袭击,通过降低速度限制从而制造交通拥堵,或者是让车辆行驶到对向车道等等。
以前别人的工作很多都是依赖于白盒的方法,所以需要对部署的模型有很多的了解,并且需要做很多前期的处理工作。并且这些攻击容易留下很多证据,受害者容易通过这些证据追踪到攻击者(不敢苟同这一点,他使用投影仪不是也留下了证据吗??)
本文提出的幻影攻击威胁模型比以往的攻击更加的轻量。幻影攻击所要求的设备都是很便宜的。幻影攻击可以通过无人机上的投影仪进行投影,投影的物体可以立刻被清除,所以不会留下证据。
这篇文章展示了两种幻影攻击的方法:一个是通过无人机上的投影机进行投影,一个是在已有的广告牌上嵌入幻影物体。
fig 4展示了威胁模型,展示了两种方法,一种是无人机,一种是嵌入到广告牌中。
第四部分:ADAS上的幻影攻击
1)对于标识牌的攻击
ADAS也就是我们通常所说的高级辅助驾驶系统,是通过提示和警告司机周边的一些情况,从而起到降低事故发生概率的作用。Mobileye
630 PRO是0-1级别的自动驾驶上的最为先进的外部ADAS高级辅助驾驶设备,所以作者使用这个ADAS进行实验。Mobileye
630 PRO就是缺乏车载通讯系统的设备,所以系统是完全依赖于摄像机的感知结果。Mobileye
630 PRO跟汽车的CAN总线是连在一起的,并且可以获得很多其他信息包括速度以及转向灯的使用等。Mobileye
630 PRO提供了如下几个特征:偏离车道警告,碰撞行人警告,碰撞车辆警告以及道路标识牌识别。Mobileye
630 PRO对于道路标识牌的识别是很准确的,就算是在极端天气环境下也可以很好的识别。正因为如此,作者才想要努力来欺骗这一个特征,从而挑战Mobileye
630 PRO中原本最鲁棒的功能(因为其他的功能,例如碰撞行人警告,在夜间是不起作用的)
2)分析
在攻击道路标识牌的时候要考虑到这两点:一是要确定幻影道路标识牌的尺寸以及直径大小,从而使得产生的幻影可以很好的覆盖到已有的攻击范围。(这里的意思是不是说,要覆盖到原有位置的东西??啥意思??)二是要确定在自然光的条件,应该要怎么投射过去才能覆盖到这个位置原有的攻击范围。
fig 5展示了攻击道路标识牌的过程,其实就是通过蓝色框出来的投影仪来投影一个道路标识牌到红色框的位置,从而可以欺骗到黄色框的车辆。
作者使用了Nebula Capsule projector这个投影仪进行投影,这个投影仪的价格为300美元。这个投影仪被放在距离车辆2.5米的位置(那这样,不是还是很容易暴露吗,不懂了??)。作者驾驶汽车以25-50km/h的速度直线行驶,发现确实可以检测到这个标识牌。
实验步骤如下:作者在实验的时候,测试了6个不同size尺寸大小的道路标识牌幻影(20km/h的限速标志),这六个尺寸都要小于白色屏幕(也就是fig 5中的白色幕板)。六个尺寸分别为0.16, 0.25, 0.42, 0.68, 1.1和
1.25米。作者在实验的时候重点关注了幻影道路标识牌可以被检测识别的最小距离和最大距离(这里的距离指的应该是幻影与车辆之间的距离)。
结果:
作者在实验的时候,记录了实验结果,fig 7展示的是作者的实验结果,实验结果中上面的黑色点表示这个幻影尺寸下,标识牌可以被车辆检测出来的最大距离,下面的黑色点表示幻影可以被检测出来的最小距离。(为什么离得很近反而又检测不出来了,不是很理解这里啊)。灰色区域表示的就是整个的检测距离范围。红色点表示的是最小和最大距离之间的中点。首先作者实验了小于0.16米的尺寸,发现这样的幻影道路标识牌完全不能被检测出来。作者推断之所以会这样是因为系统在计算车辆与道路标识牌之间的距离的时候就是需要基于道路标识牌的size大小。(难道不是因为标识牌太小所以看不到,检测不出来??)Mobileye只有在标识牌距离车辆1-5米的时候才会把检测出来的结果反馈给司机。这是因为如果太远了的话,Mobileye会认为这个障碍物离车辆还很远就先不报告给司机,太近的话Mobileye会认为此时再报告已经晚了所以也不会报告给司机(合情合理)。
公式1展示了怎么计算得到幻影的尺寸diameter。这个公式是通过fig 7这条红色曲线得到的。通过看红色曲线,我们会发现diameter和range范围的中心点之间基本是线性的关系。拟合这条曲线就可以得到上面的公式(所以公式中的range其实是range的中心,也就是红色点对应的纵坐标)。公式还是很好推的。所以我们可以根据我们想要的攻击距离来计算得到相应的幻影尺寸。
实验步骤:尺寸可以通过上面的公式得到,接下来就是确定怎么投影了,也就是确定投影强度。因为投影的时候,投射出来的光会随着距离增大而变差。一个很弱的投影可能并不能被摄像机捕捉到。作者实验了不同的 opacity level。
作者对于每一个不同的幻影,都衡量了投射强度和最大的检测距离。fig 6展示了三种不同的opacity level对应的投射幻影。
结果:
作者在实验中发现,弱的投影仪更适合在晚上攻击,强的投影仪更适合在白天攻击(这个不是本来就是这样吗,为什么还要强调这一点)结果如图fig 8.这是一条 polynomial曲线。公式如下:
所以由公式2可以看到,对应不同的距离范围r,我们依旧可以算出来我们需要的Lux也就是投射强度。
3)伪装幻影从而避免被察觉
上面说的都是怎么欺骗ADAS系统,但是没有说怎么欺骗驾驶员。这部分主要讨论这一个层面。讨论怎样可以让幻影不被驾驶员察觉到,并且仍旧可以让Mobileye错误识别。
(1)第一个实验,关于颜色
实验步骤:作者的这部分实验是要看Mobileye是否对颜色敏感(sensitive)。做这部分的motivation是因为道路标识牌的颜色时常会受自然光的影响。作者假定Mobileye内部有一个机制可以做到对不同颜色的标识牌都可以准确识别。作者使用不同颜色的幻影来做实验,看结果。fig 9就展示了几种颜色的标识牌幻影。
结果:作者发现Mobileye对于颜色是不敏感的,因为所有不同颜色的标识牌都可以被Mobileye正确的分类。作者推测,要么是因为Mobileye把所有检测到的图片 都转成灰色进行识别了,要么就是内部的识别系统忽视了颜色这一个特征。
(2)第二个实验
实验步骤:这部分的实验来确定一个最小的投影时间。通过实施一个这样的投影时间,就可以让Mobileye可以把投影的幻影识别成标识牌(也就是成功攻击)。作者使用的投影仪的帧率是25fps。通过创建25个视频帧做实验,在每一个视频中的一段连续的帧中都嵌入一个道路标识牌,来看Mobileye是否可以被成功的攻击,识别到标识牌。
结果:实验结果发现,Mobileye可以检测到持续投影125ms的幻影。(也就是说只要持续攻击125ms就可以让我们制造的虚假的标识牌被Mobileye识别成真的标识牌)。作者发现,更短的投影时间是不能欺骗到Mobileye的,作者推测这是因为它的内部有自己的机制,会对检测到的物体在125ms之后的检测结果继续进行validation验证。(所以物体必须持续被检测125ms以上,因为后面要接受验证)
4)实验评估(分为两种情况的攻击)
(1)通过使用无人机进行攻击
作者使用了一个便携式的投影仪,把它放在无人机DJI Matrice 600上。作者的汽车是装备有Mobileye辅助系统的。攻击者把无人机放置在一个建筑物的前面,这样就可以把幻影投影到墙上,并且这个幻影在车辆的Mobileye的摄像机视野内。之后把这个90km/h的限速标志持续投射125ms。(我突然想到,这个攻击好像也是可以被防御的,因为平时用高德地图会提示,前方限速多少)攻击者还可以使用更小的无人机进行攻击。
如图fig 10所示,红色框中是无人机,黄色框中是投影的90km/h的限速标志。
(2)通过使用数字广告牌进行攻击
通过劫持一个广告牌,至于怎么劫持的,下面有说明。通过在已有的广告中加入伪装的幻影来使得攻击不易被驾驶员,乘客察觉。有两种将幻影嵌入到广告牌中的方法:
1)将幻影加入到广告中让它持续125ms,但是采用的是full embedding
2)将幻影加入到广告中让它持续125ms,但是采用的是outline embedding
(不是很理解上面两种嵌入的区别??)
通过使用一些简单的视频编辑器就可以把幻影加入到视频中,所以实施起来比较简单。作者通过使用一个可口可乐的广告来说明怎么攻击。通过把90km/h的道路标识牌加入到连续的3个帧中,并且对视频进行上传,就可以进行攻击实验。
上述的两个实验都成功了,目标都成功的被检测到。
作者还上传了自己的实验过程在Youtube上,https://youtu.be/sMsaPMaHWfA?t=31。
第五部分:特斯拉的半自动驾驶车辆上的幻影攻击
Autopilot自动驾驶仪自从2015年就开始被应用到半自动驾驶车辆上,这个算是2级别的自动驾驶。特斯拉的Autopilot自动驾驶仪之前做过测试,显示它比人类驾驶员要更安全,所以作者选用它进行测试。这部分的实验室基于Tesla
Model X HW 2.5这个自动驾驶仪,这是2017年11月生产的。
作者反复提到,一个障碍物一旦被检测出来,这个障碍物之后就不会再被验证是否真正存在了。(原因上面提到了,一个是因为车载通信设备的缺乏,一个是现在的策略是这样的,以防万一的策略,感觉像宁可信其有不可信其无)。这部分作者通过投影一个人的幻影来使得车辆按下刹车,偏离原车道等。本部分采用的投影仪是(LG - CineBeam PH550
720p DLP projector,因为作者说这部分实验的地区不允许使用无人机,所以就没有使用无人机了,而是直接用投影仪进行投影。
(1)欺骗目标检测系统
Tesla
Model X HW 2.5有8个摄像头(Apollo中有几个摄像头来着,也是8个吗??后面再看一下),12个超声波传感器和前向的radar雷达。
实验步骤:投影仪被固定在道路的两侧。作者对图片进行了一个变形操作在,这样变形后的图片在特斯拉的camera中就是straight的。然后把人的图片投影到车辆前1米的位置。
结果:
实验结果如fig 12,车辆行驶到这里,真的就刹车了(如果有条件,建议看上面的Youtube视频,更直观)(我突然又想到,如果这么容易攻击,那平时我们用的人脸识别这些系统岂不是也很容易被攻击??)
这个实验结果表明,特斯拉的前向radar雷达在检测人的时候其实也不是很可靠。(但是Apollo用了激光雷达,应该会好很多吧,可以检测深度信息)。这部分实验也说明了特斯拉为什么不用雷达来验证camera的检测结果(因为雷达不可靠吧)。
2)测试目标检测系统对投影的幻影的response
(1)对于障碍物的攻击
结果:投影的车辆居然都可以被检测成是真实的车辆。这也太。。。
通过这部分的实验,作者得出一个结论,那就是特斯拉的目标检测系统应该不是使用一个传感器来验证另一个传感器的检测结果(这个推论是怎么得出来的)。作者认为这里还是better safe than sorry的策略。
结果:
由图fig 14可以发现,在location 2进行攻击,在location 3位置就按下刹车了,速度从18mpj降到14mph。作者这还只是18mph的速度,如果更高的速度,结果也更加不一样了。
(2)对于车道线
实验步骤:投影车道线,通过投影车道中的左转标志mark。
结果:把左转的标志当做是真正的车道线了。并且自动驾驶仪真的就往左边走了。
第六部分:检测幻影攻击(防御部分)
(1)考虑的五个方面
防御部分,我觉得作者的意思就是,提出一个附加的模块来验证validation摄像机的检测结果。因为前面多次提到,之所以本文的攻击可以成功就是因为,无论是自动驾驶仪还是辅助驾驶系统都过分依赖于摄像机的检测结果。而摄像机在检测的时候又会忽略掉很多的上下文信息,语义信息等(这里前面反复强调了)。而且这些算法模型可能对一个投射过来的幻影没啥概念(此处的意思是不是说因为别人在训练算法模型的时候并没有拿这些幻影的图片去训练,所以训练出来的模型其实是没有学到一些未训练样本的信息,所以来一个幻影这样的样本就很难把它判别成假的)。自然而然的,要添加的模块就是把幻影的context这些信息加进去,让模型知道。因此作者总结了以下几个要考虑的方面,算是想要加进去的特征??让机器学习到这些特征。五个方面如下:
(1)尺寸size。如果发现检测物体的大小明显要大于或者是小于正常检测的物体,那么这个物体就不应该被分类成正常检测的物体类别。意思就是说,一般的检测模型是不会去考虑尺寸是否符合正常尺寸,然后作者就把尺寸加进去。
(2)角度angle。如果物体的角度明显不符合在这个图片帧中应该有的角度,那么这个物体也应该被当成是幻影。这里的意思应该是,摄像机在检测到物体后,可以根据一些几何关系算出来物体的角度,如果这个角度不符合正常的几何关系,那就是有问题了。一个幻影可能会以一定的角度投影到地面上,或者是地面可能并不是正对着摄像机。这样的话,物体就会歪曲,会不正常。我们人眼是可以很快的看出来不对劲,但是我们得把这个特征让模型学到,模型才可以跟人类一样一眼就看出来不对。
(3)语境context。这里就是说,如果一个物体被放置在它本来不应该处的地方,那肯定就有问题。比如,一个人浮在地面上或者是一个交通标志牌下面没有一个柱来支撑。人眼也可以一眼看出来,但是模型检测的时候才不会想这么多。
(4)表面surface。一个物体的表面都变形了,不像是这个物体本来应该有的样子,它失去了它固有的一些特征特点,那这种物体可能就也是投影过来的假的。因为当一个幻影被投影到凹凸不平的地面或者是墙面的时候就可能会出现这种变形的情况。
(5)光线lighting。如果一个物体本来是处在不是很亮的灯光下,但是物体本身太亮了,那这种也可能是幻影。因为投影过来的图像就很亮。
在这一部分,作者主要考虑后面三个方面,提出了一种防御模型。作者是主要研究对于交通标志牌幻影的检测,因为有现成的8个最先进的道路标识牌的检测模型可以现用。首先作者强调了现有的这些道路标识牌检测模型确实不能抵御本文提出的幻影攻击。作者还特地强调了,虽然他们这部分只介绍了对于道路标识牌的防御,但是也是可以迁移到行人,车辆上面的。
(2)检测模块具体介绍
下面就正式进入作者添加的检测模块的实现部分。这个添加的检测模块首先接收图片,然后再通过一个模型来预测物体,识别物体是否真实等,然后再把结果返回给系统。(这个过程,好像就是一般的过程)作者在这部分使用的是CNN网络,但是考虑到如果使用CNN网络训练样本,可能会使得这个网络过分依赖于一些特定的特征,也就是说只能学习到一部分情况下的特征,因为投影类型是多种多样的,会导致学习到的模型并不能适用于所有的情况。(这个问题好像不是这里特有的问题,平时做其他目标检测啥的也会有这个问题吧)例如,一个道路标识牌的light intensity是可以很好的区分真实物体和幻影物体的。但是如果模型过分关注了这个特征而忽视了其他的诸如表面是否凹凸不平这些特征,那这个模型就不能适用于所有情况了。(感觉还是要看训练集里面有没有涵盖这些特征)
为了解决上面这个问题,作者提到通过 committee of experts
approach(这里没有看懂,是个啥方法???),作者说通过这个方法就可以考虑到很多个方面了,而不是仅仅关注一个方面,可以更好的学习到训练数据的所有特征,而不仅仅是其中的某一个特征。主要是包括了3个CNN模型,每一个模型关注的是一个方面,其实就是对应上面所说的5个考虑方面中的后三个context,surface和light。下面具体说下这三个方面:
1)context model
这个模型以context语境信息作为输入,这些语境指的就是道路标识牌周围的环境区域。这个模型是为了判断道路标识牌是否处在正常的地方(这里就是对应到上面了,其实都是一个意思)
2)surface model
这部分就是以道路标识牌作为输入,只考虑它里面的东西,比如看标识牌里面是不是平整的,如果里面有叶子或者砖头啥的,那就有问题(如果投影到树上,或者是墙上就可能会是这样的)
3)light model
这部分关注标识牌的光线问题。一个像素的light级别是像素的RGB值中的最大值(这里存疑,没看懂,原文是这样的:The light level of a pixel is the maximum value of the pixel’s RGB values)。
这部分添加的检测模型,通俗一点讲,就是把上面三个model结合在一起,来共同作用于最后的预测结果。
由上图可以看到,前面是三个模型,后面把这三个模型的结果融合在一起,从而输出最后的结果,来判断道路标识牌是不是真实的。
第七部分:实验步骤
(1)训练过程
为了评估上面提出来的检测器,作者使用了三个数据集。这三个数据集包含了一些座位的图片。fig 17图片展示了实验的过程。其中Rg是一个GTSRB德国道路标识牌的数据集,Rd是作者在晚上的时候,自己在道路上开了3个小时记录到的结果数据集,Fd是作者在一段有幻影投影(也就是执行攻击)的道路上开了一段时间的结果记录数据集,作者把40个不同的道路标识牌投影到不同的地面(surface)获得了记录结果。作者使用了8个典型的道路标识牌检测器来检测和crop(这是什么意思??)Rg,Rd,Fd数据集中的道路标识牌。之后把得到的crop图片输入到作者的模型中。
为了训练context model,作者需要使用一些不包含道路标识牌的图片(应该指的是,只是投影但是图片上并没有真正的道路标识牌)来让模型知道道路标识牌放置在图片上的哪个位置,就不能被识别成道路标识牌。作者在这里是从Rg和Rd中crop到一些不包含道路标识牌的图片(这里还是没有很理解)。
而context,surface和light model则是分别训练,并且将这些模型得到的embedding部分输入到combiner model中进行训练。这里80%数据用来训练模型,20%用于评估。为了更好的反映模型效果,评估数据集中只包含了Fd中没有被训练的图片。训练是用的英伟达的Titan X GPU,并且训练了100个epoch。
(2)实验结果
1)模型表现
fig 19中展现了ROC的结果。ROC图的横坐标是FPR,纵坐标是TPR。ROC图像上,越往左上角说明分类效果越好(左上角意味着TPR大,FPR小,这正是我们想要的)。可以看到,单独使用其中一个model都比不上combined model的效果。ROC下的面积表示的就是AUC,AUC越大也越好,combined model的AUC是最大的,甚至可以达到0.99662,已经相当高了。因为ROC中曲线上每一点对应一个阈值threshold,所以这里还要介绍一下阈值是怎么设置的。在threshold很低的时候,FPR和TPR会被同时影响,同时会被降低。因为真实标识牌的图片要远远大于非真实标识牌图片,所以就算一个特别低的FPR也会使得模型不可用(因为负样本实在太少了,可以这么理解)
table II反映的是两个阈值下的TPR和FPR结果。上面是阈值为0.5,下面是使得这些模型的FPR为0的阈值下的FPR和TPR。可以看到,combiner model效果要优于任何一个单独的model。同时看到,任何一种组合都比不上context,surface和light的组合,所以更加说明这三个,哪一个都必不可少。
2)comittee at work
3)模块表现
作者说自己的模块可以检测到由目前经典的目标检测器检测不出来的假的标识牌图片。因为不同的检测器的实现不一样,所以某一张假的标识牌图片可能可以欺骗某一个检测器,但是又可能被另一个检测器检测出来。所以为了更好的评估作者的模型,作者使用了8个典型的检测器做实验。table IV更加明显的体现了实验结果,在8个检测器上,如果不加countermeasure,这8个检测器都可以在相当比例上把fake sign检测成真实的,但是加了countermeasure后这些假的图片就不会被识别成真的了。
作者最后还提了一句,自己用的数据集小,如果在更大数据集上训练可以得到更好的检测效果。
第八部分:discussion
后续添加。。。