APP下载

基于ResNet18的减速带识别及其环境影响研究*

2021-03-20管淑贤葛万成

通信技术 2021年3期
关键词:减速带雨量残差

管淑贤,葛万成

(同济大学,上海 200092)

0 引言

近年来,关于自动驾驶的研究正在如火如荼的开展中。自动驾驶意在减少人力劳动,增加车辆驾驶的安全性和可靠性。传统的自动驾驶决策算法需要人类设定许多繁复的规则,系统效率低,而基于深度学习的自动驾驶是让汽车通过与环境交互便可以做出正确的判断与决策[1],具有巨大的优势。其中,用来获取自动驾驶汽车视野中信息的是系统中的视觉感知模块,可以通过摄像机获取丰富的图像信息,对行车视野中出现的目标进行识别[2]。

对目标进行识别是后期对目标进行定位、检测以及分割的基础。通过查阅相关资料尚未看到对减速带这一场景的研究,甚至没有找到关于减速带的公开数据集。本文研究自动驾驶中的减速带分类,使得车辆在即将遇到减速带时正确识别并及时减速。

本文基于ResNet18 训练出一个网络,可以获得较好的减速带识别准确率,并比较了不同的光照、雨雪量等影响下的识别准确率。可以看出,ResNet18 在训练不太大数据集时具备优越性,以及利用OpenCV 合成不同的模拟现实环境能够影响减速带识别的准确率,为自动驾驶技术的进一步发展奠定了基础。

1 减速带分类系统层次化框架结构

卷积神经网络(Convolutional Neural Networks,CNN)在计算机视觉和自动驾驶等领域受到了广泛应用。传统的前馈神经网络只有全连接层,而卷积神经网络主要采用卷积层和池化层作为其核心层,因而相较传统神经网络其在特征提取和泛化方面能力更强,也具备更好的识别和预测性能[3]。理论上随着网络深度的增加,网络的学习能力应该同步增加,训练结果越来越好。但是,实际结果并非如此。简单的堆叠层数不仅没有提高模型训练能力,反而出现了模型退化,使梯度爆炸或消失。

基于这种情况,深度残差网络ResNet 被提出。这种网络大大提高了模型层数,也提高了模型准确率,主要通过在一个准确率很高的浅层网络后面加入一个输入和输出相等的恒等映射[4],提高模型准确率的同时,再次将模型转化为一个浅层网络。

1.1 ResNets 残差网络构成

如果可以完全拟合恒等映射函数H(x)=X,那么自然无需考虑网络叠加所导致的退化问题,但是现有的网络无法做到这一点。如果可以将网络设计为H(x)=F(x)+x,其中恒等映射是网络的一部分,那该问题需从得出恒等映射转化为了研究残差函数F(x)=H(x)-x。从该等式很容易看出,当F(x)=0,恒等映射H(x)=x成立[5],由此产生了残差块(Residual Block)结构,残差块结构图如图1 所示。图1 中右侧曲线即为“跳远连接”(Shortcut Connection),指的是跳过一层或者多层的连接,将信息送往神经网络的更深层,通过“跳远连接”的方式使得残差块可以训练到更深层次的神经网络。

图1 残差块结构原理

ResNets 网络由许许多多的残差块构成。构建一个ResNets 网络即将很多残差块堆叠在一起而形成的一个深度学习神经网络。

1.2 ResNets 网络的优越性

假设现有一个大型神经网络,当逐渐增加神经网络的深度时,网络难以学习恒等函数的参数,导致最后的训练效果往往达不到预期,也会影响网络性能。残差网络学习恒等函数比较容易,可将添加的网络层看成一个个残差块。例如,一个20 层的普通网络,每两层之间通过跳远连接构成一个残差块,那么这个普通网络就成为一个由10 个残差块构成的残差网络。网络性能不仅没有下降,而且甚至有所提提高。普通网络转化为残差网络也比较容易,只需要加入残差块即可。残差网络大大提高了网络层数,通过残差映射的方式进行拟合,简单易操作,同时提高了准确率。

1.3 ResNet18

ResNets 网络的变形有很多,如表1 所示,是一个常见的不同层数的ResNets 网络的简介。

表1 ResNets 结构

其中,ResNet18 和ResNet34 采用包括两个3×3 卷积操作的Basic Block(图2)作为基本单元,而ResNet50、ResNet101 和ResNet152 则采用包含两个1×1 卷积操作的Bottlenet Block(图3)作为基本单元,目的是减少参数。

图2 Basic Block

图3 Bottlenet Block

本文采用的网络是ResNet18,由17 个卷积层(conv)+1 个全连接层(fc)构成。因为本文研究的减速带数据集并不大,所以不需要过多层次的残差网络,否则容易出现过拟合现象。

2 基于外部环境因素的图像预处理设计

2.1 数据集的采集

因为并未在网上找到任何关于减速带的数据集,所以本次实验的原始数据集由自己采集。采用1 200 万像素的双目摄像头拍摄原始数据集共1 093张,其中随机挑选875 张作为训练集,218 张作为测试集。原始数据集像素大小为3 024×3 024。

2.2 数据集预处理

本文采用的实验平台:Ubuntu18.04.5 LTS(操作系统),32 GB(CPU),GeForce RTX 2080 super 8 GB(GPU),Python3.6,Pytorch1.6.0(深度学习框架)。在处理图片时,首先将图片大小由3 024×3 024 转变为256×256。

本次实验的主要目的是研究系统是否能够正确分类减速带,即向图像传感器中输入一张图片时系统是否可以正确识别减速带,同时研究在不同的外部环境下如黑夜、下雨以及下雪等情况下系统识别的准确率是否会有影响,且哪种外部环境所导致的准确率影响最大。

为了达到这些目的,使用仿真技术处理数据集,模拟不同外部环境可能造成的准确率变化。本文使用开源计算机视觉图书馆(Open Source Computer Vision Library,OpenCV)处理数据集,目的是合成模拟真实世界的仿真图。OpenCV 是一个在计算机领域极其常见的数据库,主要功能是处理视觉图像[6]。而本文的图像处理主要涉及亮度的调整以及雨雪效果的增加,其中亮度调整主要通过对图片像素值调参实现,而雨雪效果则主要通过使用不同效果的卷积核对图片像素进行卷积运算达成。图4 是部分图像进行预处理后的展示。

图4 opencv 处理出来的不同场景

3 实验结果及其分析

3.1 不同场景下减速带分类准确度的对比

对比不同雨量下减速带分类的准确度,如图5所示。其中,横坐标是逐渐增大的雨量,纵坐标是减速带分类的准确率。从图5 可以看出:在雨量大小为0~600 时,准确率下降不明显;当雨量大小超过600 时,准确率下降明显;在雨量大小到达1 000 时,在测试集上准确率只有74.31%。

图5 不同雨量下减速带的识别准确率

对比不同雪量下减速带分类的准确度,结果如图6 所示。其中,纵坐标依然是目标识别的准确率,横坐标是不同雪量。如图6所示,随着降雪量的增加,减速带识别准确率基本呈下降趋势,但是下降并不是特别明显。当降雪量到达1 000 时,该网络在测试集上的准确率仍然有91.28%。

在光线不好的时候行车或者是夜间行车都是比较常见的驾驶场景,因此研究不同亮度下目标识别的准确率格外重要。本次试验中对比了不同亮度值下减速带分类的准确率,结果如图7 所示,可以非常直观地看到亮度值对减速带识别准确率的影响。当量度比低于0.6 时,准确率已经很低。在傍晚(即亮度比为0.5)时,在测试集上的准确率只有30.28%。

实验横向对比了不同环境下目标识别的准确率,其中雨雪的准确率都是选择了最大雨雪量时的情况,即雨雪量为1 000 下的准确率,将其和原图识别情况做对比。如表2 所示,下雪对准确率的影响最小,即使是在降雪量为1 000 的情况下,仍有91.28%的准确率。此外,降雨使得准确率下降不少,但是仍然是可接受的状态。相比较雨雪场景,傍晚的准确率最低,只有30.28%,已经影响到安全驾驶。由于傍晚的模型分类效果最差,所以又做了两组对比实验,分别是傍晚加不同雨量和傍晚加不同雪量的准确率对比。

图6 不同雪量下减速带识别准确率

图7 不同亮度下减速带识别准确率

表2 不同场景下减速带的识别准确率

傍晚加不同雨量下减速带识别准确率的折线图如图8 所示。在傍晚的情况下雨量加到100 时,在测试集上的准确率仅有27.06%,有了断崖式下跌。

傍晚不同雪量下减速带识别准确率的折线图如图9 所示,与傍晚不同雨量场景的准确率测试结果相似,准确率下降明显。在雪量为100 时,识别准确率仅仅只有28.44%。

图8 傍晚不同雨量中减速带识别准确率

图9 傍晚不同雪量下减速带识别准确率

从对比试验中可以看出,在傍晚且有雨的情况下,目标识别的准确率最低,识别效果最差。为提升准确率,决定对原数据集加入傍晚加不同雨量产生的新数据集进行重新训练,然后测试不同雨量和傍晚加不同雨量下减速带识别的准确率,观察其准确率是否有上升,结果如图10、图11 所示。可见,混合训练下目标识别准确率有了较大提升,两者测试集的准确率都在97.2%以上。

图10 经混合训练后不同雨量下减速带的识别准确率

图11 经混合训练后傍晚不同雨量下减速带的识别准确率

3.2 实验结果分析

实验主要对比了不同雨量、雪量、亮度下减速带识别准确率的不同,可以看出,随着雨雪量的增大和亮度的减少,准确率呈下降趋势。然后,定量地将傍晚、下雨以及下雪3 种情况与原图作比较,可以发现,在傍晚目标识别准确率最低,仅有30.28%。基于傍晚分类效果差的现象,又多做了两组对比实验,分别是在傍晚下雨和在傍晚下雪的准确率测试,显而易见,准确率大幅度下降。可以看出,这些外部场景都可以影响目标分类的准确性,其中傍晚下雨的环境下,网络识别效果最差。基于这个现象,在原数据集中加入傍晚加雨后生成的图像构成新数据集进行重新训练,混合训练后不同雨量下识别的准确率和傍晚不同雨量下识别的准确率都有了较大提升,证明混合训练后的这个网络具备良好的减速带识别性能。

4 结语

本文基于ResNet18 训练出了一种可以较为准确的识别减速带的网络,主要通过识别准确率来判定网络的性能,同时实验验证了通过OpenCV 生成的模拟现实场景是可以影响目标识别的准确率的。基于结果,后续继续对自动驾驶场景进行研究时,可以更多考虑这些环境影响,尽可能消除或减少不良影响。

猜你喜欢

减速带雨量残差
宁夏红柳沟流域水沙变化及产沙分析
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
对2021年全国高考甲卷物理卷第11题的深入思考
智能现代化减速带高度调节对车辆安全性的影响*
一种防止汽车逆行减速带的设计
基于残差学习的自适应无人机目标跟踪算法
雷州市早稻稻纵卷叶螟迁入发生情况
基于深度卷积的残差三生网络研究与应用
农业气象谚语在汛期降水气候预测的应用