温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
深度
学习
危险
天气
自动识别
中的
应用
研究
夏景明
文章编号:1009-6094(2023)03-0774-09深度学习在危险天气自动识别中的应用研究*夏景明1,麻学岚1,谈玲2,宣大伟1(1 南京信息工程大学人工智能学院,南京 210044;2 南京信息工程大学计算机学院,网络空间安全学院,南京 210044)摘要:基于机器视觉的危险天气自动识别技术近年来已成为研究热点,但模型识别准确率不高和模型不够轻量化是该项技术面临的主要问题。针对上述问题,提出了一种利用CycleGAN 网络自动扩展危险天气数据集的方法,有效解决了数据集数据量不足、数据类型不平衡的问题。同时,还提出了一种三通道融合卷积神经网络(3-Channel ConvolutionalNeural Network,3C CNN),该网络主干分支采用迁移学习的技术方案,并利用多分支结构提取并融合天气图像中的整体与局 部 特 征。结 果 表 明,利 用 CycleGAN 网 络 扩 充 的WeatherDataset 6Plus 数据集能够有效改善深度学习模型的训练性能,3C CNN 模型的6 类天气现象综合识别准确率达到了 98.99%,识别速度达到 220 帧/s。该方法在保证准确率的同时实现了模型的轻量化,有利于其在嵌入式设备中部署。关键词:安全工程;危险天气;自动驾驶;CycleGAN;迁移学习;轻量化中图分类号:X951文献标志码:ADOI:10.13637/j issn 1009-6094.2022.2202*收稿日期:2022 10 20作者简介:夏景明,副教授,博士,从事模式识别在安全工程中的应用研究,xiajingming nuist edu cn;谈玲(通信作者),教授,博士,从事人工智能及其应用研究,001071 nuist edu cn。基金项目:国家重点研发计划项目(2021YFB2901900);江苏省产学研基金项目(BY2022459)0引言在自动驾驶系统中,车辆周围的危险天气环境对驾驶系统做出决策有很大影响,决策系统需要实时获取车辆周围的天气信息来辅助汽车自动驾驶,如在恶劣天气条件下设置限速、保持车距并开启必要的灯光1 3。因此,基于机器视觉的危险天气现象自动识别技术具有广阔的研究价值和应用前景。天气现象识别的本质是天气图像的分类问题。不同的天气条件会导致物体表面和场景的光照反射呈现不同的状态,天气现象识别需要分析的是不同气象条件下场景的变化,而不是场景本身的结构4。传统的尺度不变特征变换(Scale-Invariant FeatureTransform,SIFT)5、方向梯度直方图(Histogram ofOriented Gradient,HOG)6 等方法在提取该类特征方面存在困难。文献 7 13 提出采用机器学习方法进行危险天气现象识别的技术方案,但机器学习的方法大多需要构建复杂的特征工程,并且需要手动提取各种天气特征,过程过于繁琐,划分类型不够细致,普适性和泛化能力较弱。卷积神经网络(Convolutional Neural Network,CNN)使人们能够获取曾经难以获取的图像深层语义信息,大幅提高了图像分类的准确率。利用卷积神经网络构建可见光天气图像的分类模型,由于其具有参数共享和局部感知的特性,识别速度较快14。2015 年,Elhoseiny等15 首次通过两类天气分类数据集9 对预训练的AlexNet 网络模型进行了微调,识别精度达到了82.2%,取得了较好的效果。Lu 等9 将手工提取的天气特征与 CNN 提取的特征相结合,进一步提高了分类性能,识别精度可达 91.4%。Zhu 等16 收集了一个大规模的极端天气数据集,首先在 ILSVC 2012 数据集上对 GoogLeNet 网络进行预训练,再通过极端天气数据集对 GoogLeNet 模型进一步微调,获得了一个更精确的极端天气识别模型,识别精度达到了 94.5%。在此基础上,2017 年,Zhu 等17 又建立了一种新的双微调策略模型来训练 GoogLeNet模型,并且对原始 GoogLeNet 网络进行了优化,模型大小 仅 为 原 模 型 的 1/3,识 别 精 度 提 高 到 了95.46%。2017 年,Li 等18 最先认为天气现象识别不同于传统的图像分类,由于在一张天气图像中有可能同时出现多种天气特征,因此将天气现象识别作为一种按天气线索的语义分割任务,并且在两类天气数据集(Types of Weather Image data sets,TWI)上手动生成了分割掩码,提出了一种基于完全卷积神经网络(Fully Convolutional Networks,FCN)的多任务框架,将每张天气图像按像素分为蓝色天空、灰色天空、白云、乌云等,识别准确率达到了 90.2%。2017 年,Lin 等4 首次发现了区域选择及天气特征的高并发性对天气现象识别的重要影响,提出了一种基于区域选择与并发模型(egion Selection andConcurrency Model,SCM)的深度学习框架用于天气分类和属性识别。该方法从不同的区域集群中选择有助于天气识别的区域特征,同时发现了户外图像中常见的可用于识别天气状况的特征组合及其并发性。Zhao 等19 通过分析单一天气标签图像分类的缺点和不同天气条件之间的共现关系,提出将天气识别作为一个多标签分类任务,提出了一种基于CNN 循环神经网络(ecurrent Neural Network,NN)的多标签分类方法。477第 23 卷第 3 期2023 年 3 月安全 与 环 境 学 报Journal of Safety and EnvironmentVol 23No 3Mar,2023以上文献提出的方法基本明确了基于机器视觉的危险天气识别的技术框架,但依然存在 3 个问题:一是现有数据集的规模都相对较小,类型不够细分,数据种类不平衡,特定危险天气图像数据量的不足导致训练后的模型泛化能力较差;二是模型对于危险天气现象识别的准确率还有待提高,模型结构和数据预处理环节需要进一步优化;三是模型不够轻量化,复杂网络可以在一定程度上提高识别准确率,但过大的参数量会导致计算复杂度升高,不利于在嵌入式车载设备中部署。基于上述问题,本文提出系统解决方案。首先,提出了一种基于 CycleGAN 网络的天气图像数据集扩展方法,利用该方法扩充危险天气类别图像的样本,改善模型的训练效果和泛化能力。其次,提出了一种轻量化的三通道卷积神经网络(Three Channel Convolutional Neural Network,3C CNN)模型用于天气现象识别,该模型的主干网络为迁移学习的 CNN 网络,采用多分支结构提取图像不同区域的天气特征,这些结构的优化使模型同时具有很高的识别准确率和较快的识别速度。1数据集扩展在构建数据集的过程中发现,晴天、阴天等普通天气图像数据相对容易获取,而雨天、雾天、雪天和沙尘等灾害性天气图像获取相对困难。数据集中数据类型的不平衡易导致其训练的模型识别准确率降低,模型的普适性和泛化能力均不理想。本文提出一种利用循环一致生成对抗网络(CycleGAN)对天气图像数据集进行扩展的方法。CycleGAN 由两个生成器和两个判别器构成,分别是生成器 G、生成器 F、判别器 DX和判别器 DY,结构见图 1。以由晴天图像生成雨天图像为例,图中 G是根据 X 域(晴天)样本生成 Y 域(雨天)样本的生成器,F 是根据 Y 域(雨天)样本生成 X 域(晴天)样本的生成器,DX和 DY分别用于判定 X 域、Y 域样本的真伪。从图 1 可以看出,X 域的样本 x 通过生成器 G 得到生成样本类似于 Y 域样本的 G(x),使用判别器 D 对其进行判别,再将 G(x)输入生成器 F 得到类 似 于 X 域 样 本 的 F(G(x),同 理 可 得G(F(y),使 F(G(x)趋近于 x,G(F(y)趋近于 y。文献 20 构建了晴天、雨天、雾天、雪天 4 类天气现象数据集,本文在此基础上扩展成 6 类天气图像集 WeatherDataset 6,6 类天气现象分别是晴天、阴天、雨天、雾天、雪天和沙尘。由于天空区域对天气现象识别具有至关重要的影响,只选取了含有天空区域的天气图像,并且天空区域不小于整个图像的 1/5,最终保留了 6 185 张室外天气图像,其中4 800 张用于训练,1 385 张用于测试。采用 Adam 优化算法对 CycleGAN 模型进行训练,得到 WeatherDataset 6Plus。灾害性天气图像的自动生成主要包含 4 种类型转化,分别是晴天 雨天、晴天 雾天、晴天 雪天和晴天 沙尘。将WeatherDataset 6 中的 1 021 张晴天图像作为 X 域训练集,将其中需要扩展的雨天、雾天、雪天、沙尘天气图像分别作为 Y 域训练集,所有图像统一裁剪为256 256 像素。基础学习率 base_lr 设置为0.000 2,指数衰减 设置为0.5,总体损失函数中循环一致损失比重 设置为10,图像批量 batch 设置为1。分别对两张图像进行 G 变换和 F 变换,并分别求出两种生成器和判别器的对抗损失及循环一致损失,同时进行梯度反向传播以优化生成器和判别器的模型参数。训练次数 epoch 设置为 200,对于 X 域、Y 域两个类别图像数量不同的数据集,每个 epoch 迭代次数为 X 域和 Y 域文件夹下图像数量较少的一个。对于上述 4 种转化类型,每个 epoch 迭代 1 021 次,总耗时约 14 h。随着迭代次数的增加,总体目标函数loss 波动式减小,天气类别转化效果也越来越逼真。最终,CycleGAN 模型分别生成 2 000 张雨天、雾天、雪天和沙尘天气图像,见表 1。图 1CycleGAN 模型结构Fig 1CycleGAN model structure表 1天气类别转化Table 1Weather category conversion类别X 域Y 域晴天雨天雾天雪天沙尘训练集数量1 0211 0551 0211 0431 028测试集数量2 0002 0002 0002 0002 0005772023 年 3 月夏景明,等:深度学习在危险天气自动识别中的应用研究Mar,20232方法2.1主分支网络的选择2.1.1试验方案与评价指标在文献 20中,esNet50、VGG16、GoogLeNet、AlexNet、MobileNet 等多种模型均可用于危险天气现象识别。3C CNN 模型采用多分支的结构,需要在这些成熟模型中选择最优的方案作为模型主分支。同时,为了解决训练数据不足、模型准确率不高、泛化能力弱的问题,主分支拟采用迁移学习的技术方案21。迁移学习的具体方案是:首先采用 ImageNet 公开数据集对以上 5 个经典 CNN 模型进行预训练,将训练后的参数模型作为后续训练的初始化参数;然后将经预训练得到的模型全连接层之前的网络全部冻结;最后利用 WeatherDataset 6Plus 数据集对网络参数进行微调,得到结果。本 试 验 采 用 esNet50、VGG16、GoogLeNet、AlexNet、MobileNet 等 5 个经典 CNN 模型作为主分支的备选基线网络,模型具体结构和参数见 https:/github com/nanjingItm/test git。将 WeatherDataset 6Plus 的训练集分别输入 5 个模型,图像大小设置为224 像素 224 像素,图像标签为天气类别的 one-hot编码,训练批量(batch_size)设置为 48,训练次数(epoch)设置为 100。损失函数均采用多分类交叉熵损失函数(categorical_crossentropy),并利用随机梯度下降法(Stochastic Gradient Descent,SGD)优化器更新网络模型的权重。初始学习率(lr)为 0.001,动量(momentum)为 0.9,权值衰减(weight dec