时间:2024-05-04
刘奥强,张 旭
(上海工程技术大学 机械与汽车工程学院,上海 201620)
机器视觉在恶劣的天气条件,特别是在雾、雪和雨天,大大降低了能见度,从而常常影响了图像和视频的清晰度。迄今为止,对智能交通管理与天气识别的关系的研究仍然比较少见,因此,恶劣天气分类识别值得学界去研究并应用。机器视觉有助于更好地了解天气。
近年来,对自动驾驶的研究已经逐步展开,但在恶劣天气下仍然没法安全驾驶。对恶劣天气进行实时的检测,并及时反馈给驾驶员,则可以进一步提高驾驶安全性。本研究旨在针对单幅图像(如雨、雾、雪、雷)进行恶劣天气识别,鉴于此拟将建立一个更好、更准确的模型。
分析可知,从单一的图像中理解天气的研究仍亟待完善。虽然文献[2-3]提出了车辆的天气识别,但却依赖于车辆的特定先验。场景理解方法依赖于结构信息将场景分为不同的类别。结构信息基于光照不变的特征,如SIFT或HOG。天气线索更加复杂,而且不是特定场景的,使得传统的天气分类方法不适用。由于缺乏天气预报,无监督的视觉学习方法也不适合这项任务。近年来,有许多人关注与提取天气特征的分类研究,如Roser等人基于灰度图片提取了图像特定区域的颜色及饱和度等表面特征来进行分类;Zhang等人利用相似的框架针对不同天气下的特定区域来构建天气特征,例如天空、阴影、雨条纹和雪花区域等,来实现4类天气分类;如Elhoseiny等人使用AlexNet解决晴天和多云分类问题;Zhu等人使用GoogleNet进行恶劣天气识别。
在现如今的天气分类中,大部分学者还是通过利用人工设计特征去识别天气数据集。本次研究将在卷积神经网络中加入HDA分层深度聚合。HDA聚合了不同层级特征信息,不仅仅在轴方向上从浅到深聚合特征,还增加了轴方向的层级聚合。因此本文提出一种卷积神经网络模型,并在自建的恶劣天气数据集上进行实验研究。结果表明,本文提出的模型进一步提高了识别精度。
本文的研究工作是受到这些年来深度学习在图像分类领域不断成功的启发,采用了ResNet50来解决恶劣天气分类识别任务,如图1所示。由图1可知,模型中主要包括卷积层、池化层、全连接层。其中,输入尺寸是224×224,输出层是4个类别,包括雨天、雾天、雪天、雷电。
图1 ResNet50天气分类模型的基础示意图Fig.1 Schematic of the basis of the ResNet50 model for weather classification
本文的损失函数选用的是交叉熵(),这是从KL散度中引出,用于衡量2个分布之间差异的大小,其值总是大于等于0。2个分布越相似,其值越接近于0,与函数结合用于此天气分类模型,此处需用到如下数学公式:
其中,[,,…,p]是一个概率分布,每个元素p表示样本属于第类的概率,而[,,…,y]是样本标签的one-hot表示,当样本属于第类别时y=1,否则y=0,是样本标签。
图像分类的常用数据增强方法是人工设计的,然而最好的增强方法是根据任务数据集特定的。研究中常见的模型使用旋转、缩放、平移、随机裁剪、图像镜像和色彩漂移/白化,由于这些方法是手动设计的,因此需要专业知识和时间。本文中采取了数据自动增强方法,该方法创建一个数据增强策略的搜索空间,每一个策略都是为数据集中的单一图像随机选择的,表示一些可能的增强运算选择和顺序。每个运算都是前文提到的图像增强方法,还有使用该方法的概率。此后将利用搜索算法选取适合多类天气数据集的最佳策略,使模型有很好的准确率,同时又使用了强化学习作为搜索策略。最后,文中还使用了正则化,这有助于提升训练效果。
即使在卷积网络中有深度的特征,一个孤立的层也是不够的,分层深度聚合(Hierarchical Deep Aggregation,HDA)这些表示可以改进对内容和位置的推断。聚合,就像深度和宽度一样,是架构的一个关键维度。在该项工作中,本文研究了如何聚合层来更好地融合语义和空间信息以进行识别和定位。扩展当前方法的“浅层”跳过连接,文中得到的聚合体系结构为分层深度聚合(HDA),如图2所示。这些结构通过独立于主干框架表示,以与当前ResNet50网络模型兼容。HDA组装自己的树结构连接层次结构,这些树结构连接跨越和合并阶段,以聚合不同级别的表示。
图2 聚合体系结构Fig.2 Aggregation architecture
分层深度聚合将块和阶段合并到树中,用来保留和组合特征通道。通过HDA,可以将较浅和较深的层结合起来,以了解跨越更多特征层次,创建更丰富的组合。建立了HDA的总体结构后,就可以提高其深度和效率。这将传播所有先前块的聚合,而不是仅传播前一个块,从而能更好地保留特征。深度为的分层深度聚合函数T表示如下:
其中,是聚合节点,和定义如下:
其中,表示卷积块。
本文是在Windows 7(x64)操作系统下进行仿真实验,仿真开发软件平台为Python 3.6.3,Pytorch 1.1.0,采取了一些训练技巧,恶劣天气数据集的特征学习较高,达到了不错的准确率。
实验的流程图如图3所示,本文天气状态数据采用自建的恶劣天气数据集,按天气状态分类为雾天、雨天、雪天、雷电共4个种类,每类均为1 000张,天气状态分类如图4所示。经过图像预处理后,文中提供10次随机训练/测试。在每次实验中,将从每个天气类别中随机选择80%的数据用于训练,其余的用于测试,与此同时记录了仿真得到的分类准确率和方差。
图3 提出的天气状况分类系统的流程图Fig.3 Flow chart of the proposed weather condition classification system
图4 数据集中每类的例子Fig.4 Examples of each class in the dataset
4种天气类型不同学习模型的实验精度比较如图5所示。各模型实验平均准确度分类结果详见表1。实验中,主要与其他广泛使用的分类方法AlexNet、VGG16、ResNet50进行比较。同时也注意到,基于ResNet的网络模型在图像分类上具有不错的识别效果,本文的方法比原先的基础网络提高了识别结果,因为本文的方法利用了预先训练好的神经网络模型的优势。
图5 4种天气类型不同学习模型的实验精度比较Fig.5 Comparison of the experimental accuracies of different learning models for the four weather types
表1 各模型实验平均准确度分类结果Tab.1 Classification results of average accuracy of each experimental model %
深度学习在解决各类图像问题上都有不错的表现。本文选用深度学习的方法,结合HDA分层深度聚合,对常见的4类天气状态进行分类识别。结果显示:HDA分层深度聚合模型与调整的ResNet50结合具有较高的识别准确率,在本文的数据集中平均识别准确率达到95.1%,且该模型具有较好的泛化能力。通过实验发现,提出的深度学习模型在参数和架构上仍然具有提升的空间,所以将来在提高识别准确率的图像识别处理工作中,完善天气状态数据集、改善网络结构和参数,提高计算效率是下一个研究目标。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!