跳至正文

智能驾驶助手——基于MobileNet的交通标志提醒装置(树莓派视觉6班)

采用的训练数据集主要为德国交通标志检测识别数据集(GTSDB)和腾讯清华100K数据集(Tsinghua-Tencent 100K)。之所以采用两个数据,是因为其中在GTSDB分类基准中,交通标志占据了图像的大部分,算法必须只确定该标志属于哪个子类,而且数据集中并没有提供阴性样本干扰分类以增强数据。考虑到现实生活中的交通场景图像往往包含多个视角,很有可能需要检测和分类的普通图像中交通标志非常小甚至整体面积不到图像的1%,而且真实生活场景中往往会出出现交通标志的干扰项,如店面标志等。因此需要对数据集扩充较小交通标志对象和交通标志干扰项,同时考虑到本文主要针对国内交通场景,所以采用了清华腾讯100K数据集作为GTSDB数据集的扩展增强。清华腾讯100K是一个新的,更现实的交通标志基准,与广泛使用的检测基准GTSDB相比,其基准包含了更多场景下的图像,且单张图像分辨率也是GTSDB数据集中图片32倍,涵盖了现实世界的多种情况,在照明度和天气条件等方面有很大的变化,也包括有遮挡的例子。而且在标注方式方面,也与GTSDB数据集不同,其标注方式采用对每个交通标志的像素掩码进行注释,并给出其边界框和类。

    本文随机抽取GTSDB数据的50%和清华腾讯100K数据的10%,并进行随机打乱,做成了本文的原始数据集。同时为了增强训练得到模型的泛化能力,本文对数据集内图片进行随机的数据扩充操作,以得到更具有泛化评价标准的数据集。由于不同类别的交通标志实例数量不均匀,本文忽略实例少于100的类。这样就剩下45个类需要分类。在训练集中拥有100到1000个实例的类被增加到1000个实例。拥有超过1000个实例的其他类保持不变。为了增加数据,我们使用标准模板为每个类别的交通标志[1],随机旋转一个量的范围[−20◦,20◦],随机缩放其有大小的范围[20,200],也增加了一个随机但合理的角度失真。然后手动选择没有交通标志的图像,并将其混合到变换后的模板中,加入额外的随机噪声最后,本文取数据集的70%数据作为训练数据,20%数据作为评测数据(内测),10%数据作为测试数据(公测)。