卷积神经网络地基云图识别的特征可视化方法

2022-01-06 10:39庄志豪周树道刘展华
实验室研究与探索 2021年11期
关键词:浅层云图可视化

王 敏, 王 康, 庄志豪, 周树道, 刘展华

(1.南京信息工程大学电子与信息工程学院,南京210044;2.国防科技大学气象海洋学院,南京211101;3.解放军96941部队,北京100085)

0 引 言

云是与水循环有关的重要气象现象之一,它通过与太阳和地面辐射的相互作用,在区域和全球范围内影响大气能量平衡[1-2]。地基云观测主要观测地基云的云量、云状和云底高度3种要素,根据上述3种要素将云分为3族、10属、29类[3]。

一些云自动观测和分类设备,已经实现了利用可见光、红外波段获取全天空云图的工程化目的,在自动识别过程中,采用如下流程:先进行云图预处理,对不同云进行特征提取,利用分类器进行云识别分类,这种方法提取特征的有效性会影响识别分类的效果[4-7],如何准确提取出不同类别云的有效特征是很多学者重点研究的内容。不同云的特征提取依赖于人工经验,分类器也是单独设置的环节,这种地基云图的自动识别实则是一种“浅层学习”,一般只有2层学习网络,导致适用的地基云类别范围有限。

卷积神经网络(Convolution Neural Network,CNN)对于不同类别的特征不需要人工选取,仅需设置适当的网络参数,就能达到自动学习的目的,取得较高的识别率,在图像识别分类领域的应用非常广泛,且能应用于不同类型的目标物[8]。CNN在图像分类方面取得了显著的效果,目前仍少见用于评价云分类的效率和准确性报道。由于CNN是自动学习图像的内在特征,无须人工参与选取,对自动提取的特征属性及效果研究也较少。这种自动学习的性能使得模型对黑箱网络的学习过程不够理解,影响对网络模型的有效训练。基于CNN,提出一种适用于地基云图识别分类时的网络提取特征可视化方法,形象地展现不同卷积层提取的有效特征的属性和特点,以利于对CNN识别地基云图识别准确率的提高。

1 地基云图识别网络及过程

地基云图CNN识别流程如图1所示。首先建立CNN系统CloudA[9],利用云图样本库的部分训练集云图样本[10]对初始化后的CNN系统进行训练学习,得到训练完的CNN系统,利用云图样本库的另一部分测试集云图样本对训练完的CNN系统进行测试,得到识别结果。

图1 地基云图卷积神经网络识别流程

CloudA包含4个卷积层(Conv1~Conv4)、4个池化层(Pool1~Pool4)以及3个全连接层(Fc5~Fc7),如图2所示。地基可见光云图像作为输入进入网络后,第1层是一个内核为5×5的卷积层,输出通道为32。第2层卷积核为5×5,输出通道为64,第3、4个卷积层中卷积核均为3×3,输出通道均为128,所有的卷积层都配有ReLU[10]。根据卷积数学运算需要,1、2层边缘填充为2,3、4层的边缘填充为1,同时在每一个卷积层后都有最大池化层。3层是完全连接的神经层,每层神经元个数依次为1024、512、5。根据经验,对于小规模数据集,选用支持向量机(Support Vector Machine,SVM)分类器更适合训练网络。网络参数设置为:优化器选用Adam(Adaptive Moment Estimation)[11],学习率为0.000 8,批处理大小64,100个epoch停止训练,训练正则化选用权重衰减,其中L2正则化的系数为0.000 1,前两个全连接层的正则化通过随机失活进行,其中随机失活比例默认为0.5。网络详细配置见表1。

表1 网络CloudA详细配置表

图2 CloudA网络结构图

2 卷积神经网络可视化

2.1 CNN可视化工具

CNN的第1个特点是它的多层计算网络。这些网络包括数十层和数百万个参数,编写代码十分复杂和困难。包括Tensorflow、Theano和Torch在内的现代深度学习框架都提供了高级应用程序接口(Application Programming Interface,API)来降低这些难度。使用这些API,开发者可以编写一个抽象程序来生成一个支持各种学习算法、分布式计算和不同设备类型的底层数据流图,这无疑简化了CNN的搭建。开发人员仍然必须阅读代码并手动构建模型的流程图,以理解其复杂的结构;与传统完全连接的神经网络相比,CNN不需要领域专家设计特征提取器,而是让模型学习样本特征,它们学习特殊功能的能力却很难理解和诊断,可以说CNN类似于一个黑箱学习机器。对于神经网络来说,缺乏对模型如何工作的理解常常使模型优化变得困难。对于各种模型,模型参数直接可视化可为训练提供一个很好的理解过程,用户可对算法的行为有一个大致的了解。还可以帮助识别明显的错误,验证假设的正确性。虽有不同类型的数据和算法,但可视化都可以直接提供对模型的解释,提高模型的透明度,并帮助打开这些所谓的“黑匣子”[12]。实践者和研究人员还可以使用可视化来监控学习的参数和输出指标,以帮助他们培训和优化模型。

本文利用TensorBoard对CNN结构进行可视化输出,同时对CNN的训练过程实现实时可视化监测,TensorBoard显示CNN结构样例如图3所示。

图3 TensorBoard显示CNN结构可视图

2.2 地基云图特征可视化

CNN的层结构较多,从几层到十几层甚至更多。一般将其分为浅层和深层,其中浅层获得前级卷积层传递的特征图信息,深层获得的是后级卷积层卷积得到的特征图信息。即浅层的卷积核关注图像细节纹理等特征,而深层的卷积核则关注更加抽象的语义语境信息等特征。同时,在CNN中感受野(Receptive Field)可以捕获整个空间布局信息,它通常利用网络的全连接层的输出作为特征来实现。

基于地基可见光云图分类面临的问题主要有:较之一般图像边缘纹理更加复杂,难寻规律;大量的类间变化,结构形态多样性导致几何结构更加丰富;图像视觉呈现易受光照等因素影响。而CNN在捕捉纹理、布局特征上优势明显,深度卷积特征可能是用于云图分类更好的选择。为将CNN捕获的云图特征直观地展现出来,本文使用了特征图可视化方法。

通过可视化手段可将CNN的各卷积层上学习到的特征输出形成图片,如图4所示。

图4 从不同卷积层可视化多个特征图

第1列为2张不同的云图像,后面各紧跟4张不同卷积层中不同卷积核所对应的特征图,如conv1-9可解释为第1个卷积层中的第9个卷积核所对应的特征图。通过比较各图,可以得出以下特点。

(1)对同一图像,深层、浅层卷积获得的信息不同。从外观上看,第1张图产生的4张特征图各不相同,在conv1-9这样的浅层中,云体中的纹理、明暗信息基本被保留,但是在conv4-3这样的深层中,云体中的明暗信息已经被略去,但云体和背景的划分界限更加清晰(绿色和蓝色对比更强),边缘轮廓更加突出;

(2)对同一卷积层,获取的信息因输入图像不同而不同。conv1-9和conv1-27因为输入图像不一样而产生对应的特征图,同一卷积层对不同类别的云图像的特征表现差异较大。

以上特点意味着不同层的特征映射往往对同一幅图像有不同的表征,不同的卷积核确实被训练来描述不同的模式,说明卷积核的提取特征可以用来区分不同类别的云图像。由此,可以印证CNN对图像识别时浅层、深层分别关注不同信息的理论,CNN用来对地基可见光云图像分类是适合的、可行的。

3 实验结果分析

采用Singapore Whole sky IMaging CATegories Database(SWIMCAT)[13]地基云图数据集进行实验验证。将该数据集中所有类别按照9:1的比例设置为训练集和测试集,随机选取训练集样本进行网络训练,最后采用测试集样本进行识别测试。将本文利用CloudA CNN进行地基云识别的方法与传统的人工选取特征识别云的局部二值模式(Local Binary Patterns,LBP)、Heinle feature[14]、Texton-based method[15]方法进行比较,识别的结果见表2,其中LBP方法中(P,R)=(16,2)。

表2 方法平均准确率比较

如表2所示,所提CNN算法在样本库上的表现明显优于Heinle feature和LBP算法,CNN相对于二者表现出了很大的优势,甚至比提出的Texton-based的方法表现出了近4%的优势,这表明了在云特征表示方面,基于CNN的特性与传统手工制作的特性相比有着明显优势。同时,通过可视化手段将CNN各卷积层上学习到的特征直观的展示出来,有助于理解CNN的学习过程,提高CNN的识别准确率和应用范围。

4 结 语

地基云图由于种类多、变化快、相似、易与天空背景融合等特点,使得传统人工提取特征的模式识别方法对地基云图进行分类时,准确性和稳定性还有很大的提升空间。本文提出一种CNN进行地基可见光云分类时云图特征可视化方法,从可视化云图特征验证了CNN进行地基云图识别的可行性和适用性,实验结果进一步验证了CNN进行地基云图识别的有效性。该网络的成功应用,有助于对其他类型的图像识别如自然场景识别等较为复杂的识别分类技术有借鉴参考意义。

猜你喜欢
浅层云图可视化
基于CiteSpace的足三里穴研究可视化分析
利用精密卫星星历绘制GNSS卫星云图
思维可视化
浅层换填技术在深厚软土路基中的应用
四川盆地太阳背斜浅层页岩气储层特征及试采评价
基于浅层曝气原理的好氧颗粒污泥的快速培养
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
天地云图医药信息(广州)公司
基于层次分析法的马鞍山地区浅层地热能分区评价