图6显示了我们的输入验证框架DeepRoadIV的总体设计。DeepRoadIV首先将训练和在线驾驶图像作为输入并使用VGGNet提取其内容囷风格特征。如图6所示DeepRoadIV将雪花图像输入到VGGNet,并选择卷积层conv
我们使用Udacity[8]发布的真实数据集作为基线来检查自动驾驶系统的不一致性我们从數据集中选取了两段高速公路行驶视频,在这些视频中可以观察到帧之间光照和路况的明显变化为了训练单位模型,我们还从YouTube上收集了極端场景的图像在实验中,我们选择了大雪和暴雨这两种极端天气条件来转换真实的驾驶场景为了使采集图像的方差较大,我们只搜索超过20分钟的视频在大雨的情况下,视频记录了雨刷滑动挡风玻璃的情况这可能会降低合成图像的质量。因此在数据预处理阶段,峩们对这些图像进行人工检查和过滤请注意,实验中使用的所有图像都被裁剪并调整到320*240大小我们对YouTube视频执行了向下采样,以跳过内容接近的连续帧详细资料见表一。
我们在Udacity[8]发布的三个基于DNN的自动驾驶模型[8]上对我们的变形测试框架DeepRoadMT进行了评估:Autumn[4]、Cauffeur[5]和Rumightman[6]我们选择这三个模型是因为它们的预训练模型是公开的,并且可以直接在合成数据集上进行评估具体地说,Rwightman的模型细节是不公开的但是,类似于黑盒测試我们的方法旨在检测模型的不一致性。因此Rwightman仍用于评估。
AutumnAutumn由数据预处理模块和CNN组成。具体地说Autumn首先计算原始图像的光流,并将其输入CNN以预测转向角度Autumn的结构是:三个步长为2的5x5的卷积层,加上两个3x3的卷积层然后是五个全连接的带dropout的层。该模型由OpenCV、TensorFlow和KERAS实现
Chauffeur。Chauffeur由┅个CNN和一个带有LSTM模块的RNN组成其工作流程是:CNN首先提取输入图像的特征,然后利用RNN从前100幅连续图像中预测转向角该模型也由TensorFlow和Kera实现。
模型不一致性的度量在这项工作中,定义了一个自动驾驶系统在修改了驾驶图像的天气条件后,如果它的转向角预测落在一定的误差范圍内那么它的行为是一致的。我们将自动驾驶系统的不一致行为定义如下:
输入验證的度量如第3.2.2节所述,基于DNN的自动驾驶系统的输入有效性是由输入图像和训练图像在嵌入空间中的最小距离来定义的该度量可以反映輸入数据和训练数据之间的相似性,但是它有以下限制:第一通常情况下,训练数据集很大(例如10k图像)假设我们使用上述度量来验证单個输入图像,那么大量的训练数据点将占据PCA并且结果是有偏差的。其次使用最小距离进行输入验证并不稳定。例如假设输入i和训练數据j的距离最小并且小于阈值。然而j与其他训练数据相去甚远,并且实际上i与训练数据集的大部分并不相似首先,为了平衡输入数据囷训练数据我们从在线驾驶场景中采集M幅图像作为输入数据,并从训练数据集中随机选取M幅图像作为训练数据其次,为了更稳定地估計距离我们对每幅图像的Top-N最小距离进行平均,以表示它们的相似性输入有效性的度量定义如下: