基于轻量化神经网络的公路监控场景天气识别研究
2022-04-29符锌砂曾彦杰马丽胡弘毅胡嘉诚唐峰
符锌砂 曾彦杰 马丽 胡弘毅 胡嘉诚 唐峰
(1.华南理工大学 土木与交通学院,广东 广州 510640;2.广东省交通运输规划研究中心,广东 广州 510101; 3.鄂尔多斯应用技术学院 数学与计算机工程系,内蒙古 鄂尔多斯 017000; 4.中交第四航务工程勘察设计院有限公司,广东 广州 510000)
基于监控视频的公路环境感知技术是智慧交通领域的研究热点,同时也是实现车路协同的重要手段。其中,基于人工智能算法实现对雨、雾等不良天气的实时准确识别,有利于相关管理部门作出相应的应急决策方案,提高交通管制效率并将行车安全隐患降到最低,保证交通行驶的安全。因此,基于监控视频实现道路环境天气状况的实时准确识别,具有非常重要的意义。
早期的研究多是基于手工特征建立模型,实现天气的识别。Song等[1]通过提取目标图像的亮度及其灰度共生矩阵的能量、对比度、熵等特征,分析其统计规律,以此进行天气识别。Chen等[2]首先对图像天空区域进行语义分割,然后通过多核学习策略对相关特征进行加权组合,最后采用SVM分类器完成天气识别。Lu等[3]从人类观察天气的直觉出发,将图像中阴影、反射亮度、明暗对比度、雾霾等视觉信息进行特征提取,并采用加权投票的协同学习机制对天气进行识别。文献[4]中通过对海量天气传感器数据进行挖掘分析,建立了天气识别与预测模型。类似地,杨小兵等[5]提出了基于“能见度前期振荡”和“大气温度回温波动”特性的浓雾短临预测模型。然而上述方法的特征表征能力均有限,导致模型的鲁棒性不佳。
近年来,卷积神经网络(CNN)成为了计算机视觉领域最为流行的模型,特别是在图像分类[6]、目标检测[7]、人脸识别[8]等方面有着广泛的应用。卷积神经网络的优势在于其通过多层线性与非线性映射,从数据中自动学习表征能力更强的特征,弥补了传统手工特征的表征能力有限的劣势。随着卷积神经网络的不断发展,其被应用于天气识别任务。Guerra等[9]比较了VGG[10]、ResNet等[11]卷积神经网络模型对雨、雪等天气类型的识别精度。Lin等[12]将天气图像分割成若干个区域,提取各区域的CNN特征以进行天气识别。Zhao等[13]采用循环神经网络对天气进行多标签分类。施雨舟[14]提出了一种基于边缘退化的卷积神经网络算法进行天气识别。此外,王兴等[15]以雷达回波图像和表征回波移动路径的光流图像作为输入,提出一种基于深度神经网络的强对流天气智能识别模型。与传统方法相比,基于卷积神经网络的天气识别算法有效提升了识别精度,但由于其参数量大,计算复杂度较高,同时对计算资源的要求高,而实际的工程应用中对模型的存储空间和计算速度均会提出相应的限制,导致上述深度卷积神经网络模型在边缘端难以很好部署。
针对这一问题,本文对目前主流的轻量化深度模型MobileNet[16- 18]进行了研究,旨在满足模型精度要求的基础上尽量达到轻量化,使其更好地部署到边缘端完成基于监控视频的天气识别任务。
考虑到缺乏公路监控场景下的天气识别数据集,本文首先从数据出发,收集并标注了一个基于高速公路监控图像的天气识别数据集。此后,针对该数据集,本文从模型的识别精度与计算效率的角度出发,选取了多种卷积神经网络进行对比,包括较为经典的VGG模型以及轻量化的SqueezeNet[19]和MobileNet系列模型。由实验结果可知,相较于VGG和SqueezeNet,MobileNet系列模型在识别精度以及计算效率等方面综合表现更优。同时,通过类别响应分析和特征分布可视化也定性地验证了其在天气识别任务上的可行性。
1 MobileNet
近年来,VGG等深度网络被普遍应用于各种场景,并取得了非常出色的效果。然而,当算法需要被部署到边缘端时,VGG、ResNet等大而复杂的模型却难以被应用。因为模型参数过于庞大,对硬件算力和存储要求较高,直接导致计算成本的大幅增加。因此,本文针对监控视频天气识别任务研究轻量化的模型,旨在保证模型精度的前提下降低模型大小,同时提升模型速度。
作为轻量化深度网络的代表作MobileNet,其得益于将标准卷积换成了深度可分离卷积(Depthwise Separable Convolution),并引入注意力机制模块(SE)[20],该模型被广泛部署于边缘设备完成各类型任务。本文就这两大模块的细节进行介绍。
1.1 深度可分离卷积
深度可分离卷积最早来源于可分离卷积[21],此后由Sifre等[22]将可分离卷积拓展为深度可分离卷积。所谓深度可分离卷积,即将标准卷积操作拆分为一个深度卷积和一个逐点卷积,其与标准卷积对比如下:
标准卷积操作如图1所示,例如输入一个20×20×3的特征层,经过7×7×3的卷积核卷积得到一个14×14×1的特征层,如果此时有256组上述卷积核,将会得到一个14×14×256的输出特征图。其参数量为7×7×3×256,內积运算量为7×7×3×256×14×14。
图1 标准卷积过程
而深度可分离卷积包含两个过程,第1步是深度卷积,其过程如图2所示。
图2 深度可分离卷积中的深度卷积过程
不同于标准卷积操作,深度卷积将卷积核拆分成单通道形式,在不改变输入特征层的深度的情况下,对每一通道进行卷积操作,得到和输入特征图通道数一致的输出特征层。例如输入一个20×20×3的特征层,经7×7×1×3的卷积核卷积得到一个14×14×3的特征层,输入和输出的深度都是3。其参数量为7×7×3,內积运算量为7×7×3×14×14。
第2步是逐点卷积,逐点卷积即1×1卷积,其过程如图3所示。
图3 深度可分离卷积中的逐点卷积过程
经过深度卷积得到了一个14×14×3的特征层,在逐点卷积中采用256个1×1×3的卷积核对上述输出特征层进行卷积操作。这样,经逐点卷积后输出的特征层和标准卷积的维度一致,都是14×14×256。其参数量为3×256,內积运算量为3×256×14×14。
表1 深度可分离卷积与标准卷积对比
1.2 注意力模块
此外,MobileNet的最新版本MobileNetV3引入了注意力模块(Squeeze-and-Excitation Networks)。由于特征层不同通道的特征响应类型不同,其对最终识别结果的影响也不同,而注意力模块的作用是把重要的特征响应增强,不重要的特征响应减弱,从而让提取的特征指向性更强。
如图4所示,U是维度为C×H×W的特征层,也是注意力模块的输入。注意力模块的实现细节包含Squeeze和Excitation两个部分。在Squeeze部分,对U的各个通道的所有特征值取平均值,见式(1),得到维度为1×1×C的特征向量,对应图中的模块Fsq(·)。
(1)
式中:zc指特征向量中第c个通道的特征值;uc(i,j)表示特征层第i行第j列的特征值;W、H分别是特征层的宽度、高度。
图4 注意力模块
在Excitation部分,维度为1×1×C的特征向量连接两个全连接层(FcLayers),旨在利用通道间的相关性来训练出符合通道增强、减弱规律的权重向量,再由Sigmoid函数将各维度的取值映射到(0,1)的范围,并将其与原输入特征层U相乘,对应图中的模块Fscale(·),实现特征层各通道的注意力机制。
MobileNetV3的两个版本MobileNetV3-L和MobileNetV3-S均引入上述深度可分离卷积和注意力模块,网络结构分别如表2、表3所示。
表2和表3中,conv2d为标准卷积,bneck为包含深度可分离卷积的模块,pool为池化层,NBN表示未加批标准化层,SE为注意力模块,HS和RE分别代表h-swish函数和ReLU函数。
本文下一节实验分析部分,将MobileNet系列模型与其他经典深度神经网络模型进行对比,验证其对天气识别任务的性能。
2 实验过程及分析结果
2.1 实验数据集
本次实验搜集了多条高速公路100个高清卡口共5550幅图片作为实验的数据集。该天气数据集共包含4个类型,分别为晴天、雾天、雨天和镜头水滴。按照7:1:2的比例划分为训练集、验证集和测试集。表4是各天气类别样本的统计情况,图5 是部分样本实例。
表2 MobileNetV3-L网络结构
表3 MobileNetV3-S网络结构
表4 天气数据集中各类型样本数量
图5 天气数据集部分实例
2.2 实验设置
本实验的机器配置如下:一张NVIDIA GTX- 3070的图形处理器(GPU)和一张Intel Core i7- 6700的中央处理器(CPU),并基于深度学习框架Pytorch搭建VGG- 16、SequeezeNet、MobileNet系列等多个算法模型。针对上述数据集,在训练阶段利用大型数据集ImageNet[6]的预训练模型初始化模型参数,采用随机梯度下降的优化方式,学习率设置为0.000 1,每批次数量为32,动量为0.9,训练得到用于实现天气识别的模型,测试结果见表5。
2.3 实验结果分析
本节将MobileNetV3的两个版本和MobileNetV2、轻量化模型SqueezeNet以及经典的VGG16模型进行对比,具体结果如表5所示。
表5 各模型的实验结果对比
就模型参数量来说,MobileNet系列的3个模型的参数量均只有10 MB左右,SqueezeNet模型更是只有不到5 MB,属于可部署于边缘端的轻量化模型(参数量小于30 MB),而经典卷积神经网络模型VGG16的大小达到1 000 MB,不属于轻量化模型的范畴。
从识别精度上看,5个模型对于晴天的识别精度均达到95%,对于雾天样本的识别精度也在90%左右,对于雨天和镜头雨滴的情况,识别精度稍有下降,除SqueezeNet以外,识别也达到85%以上。就综合精度而言,MobileNetV3- L的精度略高于MobileNetV2和MobileNetV3- S,比SqueezeNet更是高了10个百分点,这也符合卷积神经网络一般性的结论:相对来说,结构更深,参数量更多的模型,特征表征能力更强,识别精度更优。同时,模型参数量越少,其计算速度更快。上述四个轻量化模型的识别速度均大于每秒30帧,满足实时性的要求。
综上所述,MobileNet系列中的3个模型在识别精度、速度以及模型参数量等指标上,达到较为均衡程度,可满足对公路监控视频进行天气识别的工程需求。
2.4 类别响应热力图分析
上一节中将识别精度、识别速度以及模型参数量作为评价指标,将各模型进行对比。在本节中,将对模型提取的特征的语义判别性进行分析。
天气识别任务一般会包含部分显著区域,例如雾天图像中的雾气,镜头雨滴图像中的雨滴等。而对于模型提取的特征,如果对应显著区域的特征响应格外强烈,可以说明该模型提取的特征的语义判别性较强,进而定性地说明模型的有效性。
为分析上述轻量化模型提取的特征的语义判别性,文中利用文献[23]的方法,将模型提取的特征和其对应的类别信息进行可视化,并生成热力图。具体来说,对于输入图片,用fx(x,y)表示第k个特征层上坐标(x,y)处的激活值,表示特征k对应类别c的权重参数,其由全局池化层(GAP)得到。相应的类别响应特征图则是将各权重参数与其对应的k个特征层进行加权总和,即
(2)
式(2)中,Mc(x,y)表示点(x,y)对类别c的特征响应程度,将生成的Mc(x,y)放大到原图尺寸,即可得到对应于某个类别c的特征响应热力图。
文中选取MobileNetV3-L和SqueezeNet这两模型关于镜头雨滴和雾天的特征响应热力图,如图6所示。热力图越暖表示该区域对识别该类别的贡献度越高。
对比图6中MobileNetV3-L和SqueezeNet模型的类别响应热力图可发现,关于镜头雨滴这一类型的特征响应,MobileNetV3-L的类别响应区域能准确地定位到图像上的所有雨滴部分,而SqueezeNet的类别响应区域除了包含雨滴部分以外,还存在部分噪声响应。同样,在雾天的响应上,MobileNetV3-L类别响应区域主要集中在天空部分,比SqueezeNet的响应更符合逻辑。由此可得,MobileNetV3-L模型对于雨滴及浓雾的响应比SqueezeNet模型更准确,其特征的语义判别性更强。
2.5 特征分布图分析
一般而言,好的模型提取的特征在分布上往往具备类间可分性和类内可聚性。本节利用t-SNE[24]对模型提取的特征进行可视化,将高维特征映射至二维空间,通过分析各类别特征分布的类间可分性和类内可聚性,定性地说明模型的性能。MobileNetV3-L,MobileNetV3-S,MobileNetV2及SqueezeNet这4个模型的特征分布图如图7所示。
首先对MobileNet同一系列进行比较。MobileNetV3-L与MobileNetV3-S有相似的结构,不同在于MobileNetV3-L的深度比MobileNetV3-S深,模型参数更多。根据图7可以观察到MobileNetV3-L各类别均有明显的类中心,同类别特征聚集性较为明显;同时,不同类别之间有较大间隔,具有很强的类间可分性。相较而言,MobileNetV3-S和MobileNetV2模型,其同一类别特征点间距离方差过大,尤其是镜头雨滴与雨天类型的特征之间的可分性较差,甚至无法解缠,这无疑增加了分类难度。另外,SqueezeNet的雨天及镜头雨滴的特征类中心也不明显,表明其类内可聚性不佳。这点在该模型的识别精度上也得到体现。
(a) SqueezeNet对雾天的响应热力图
(b) MobileNetV3-L对雾天的响应热力图
(c) SqueezeNet对镜头雨滴的响应热力图
(d) MobileNetV3-L对镜头雨滴的响应热力图
图7 特征分布可视化
基于以上观察,结合表5的识别精度,可以得到以下结论:相似的结构下,深度更深的模型提取到的特征在分布上呈现更强的类间可分性和类内可聚性,进而具备更好的分类性能。因此,在算力允许的情况下,适当增加轻量化模型的深度,对提升模型分类精度有帮助。
3 结语
本文收集并标注了全新的基于公路监控图像的天气识别数据集,同时搭建并训练包含主流轻量化神经网络模型在内的多个卷积神经网络进行对比实验,实验结果表明MobileNet系列模型在识别精度、速度以及模型参数量等指标上,达到较为均衡的程度,可满足对公路监控视频进行天气识别的工程需求。同时,通过对特定类别的特征响应以及特征分布进行可视化,从语义判别性、类间可分性以及类内可聚性的角度进行分析,进一步验证了上述结论。同时,也验证了在算力允许的情况下,适当增加轻量化模型的深度,对提升模型分类精度有帮助这一结论,对后续进行轻量化模型的优化工作有指导性影响。
此外,受深度可分离卷积模块的启发,在今后的研究中将从降低参数量与计算量的角度进一步深入模型轻量化这一研究主题,使深度学习模型能更好的在边缘端得以应用。同时,为使识别的天气类型更为全面,将增加风沙、降雪等类型,进一步完善公路监控场景天气识别研究工作。