乌有腾,赵海燕,姜静清,程 俊,Laruibo
(1.内蒙古民族大学 计算机科学与技术学院,内蒙古通辽028043;2.中国科学院太阳活动重点实验室,北京100101)
太阳射电爆发是一种和太阳耀斑等剧烈太阳活动有着紧密关系的射电辐射强烈增强的表现,太阳射电爆发对太阳活动现象的研究具有重要意义.20世纪50年代初WILD等首次将频谱分析仪应用到太阳射电观察和测试当中,在米波波段中察觉到有着很多种不一样的类型的射电爆发,进而开启了对太阳射电爆发频谱归类研究的篇章.伴随着仪器设备与监测技术的逐渐成熟,观察和测量的记录逐渐变多,关于太阳射电爆发的研究也逐渐深入[1-2].
依据太阳射电爆发的频谱特点,爆发可分成I、II、III、IV和V型等类型.LOBZIN等[3-4]分别提出了关于II型和III型爆发的自动检验办法,并根据日冕III型射电爆发的特点运用霍夫变换解析爆发,完成II型爆发的自动检测.SALMANE等[5]提出了一种自动监测太阳射电爆发的动态谱办法,通过解析实时记录信号的动态频谱来消掉干扰信号,进而提出一种基于统计特征的检测分类系统.由于III型和IV型太阳爆发在数据集中占比较大,并且相对于其他爆发类型来说,这两种爆发类型更加容易分辨,所以针对这两种爆发与其他类型进行的分类较多.CHEN等[6]在2015年设计了太阳光谱分类的多模态网络,并在2016年[7]通过深度信念网络(DBN)对太阳射电类型进行了分类.CHEN等[8]在2017年设计了卷积神经网络(CNN)用于太阳射电爆发类型分类,YU等[9]利用长短时记忆网络(LSTM)对太阳射电频谱数据进行分类.XU等[10-11]在卷积神经网络(CNN)的基础上,构建CNN-Capsule卷积胶囊网络和CNN-LSTM卷积长短时记忆模型进行分类.本文也将太阳射电分类问题定义为III型、IV型和其他类型三类,应用图像处理技术对频谱图像进行预处理得到灰度图像,进而通过调整卷积核、应用ELU激活函数等方法改进卷积神经网络,对太阳爆发射电图像的分类进行探讨.
在图像分类领域,深度学习中的卷积神经网络可谓大有用武之地.相较于传统的图像分类方法,卷积神经网络通过网络自主地从训练样本中学习特征,从而很好地解决了人工提取特征和分类器选择的难题.卷积神经网络主要由输入层(input),卷积层(convolution),池化层(pooling),全连接层(full-connection)以及输出层(output)等5个部分组成.CNN结构图如图1所示.
图1卷积神经网络的基本结构Fig.1 Basic structure of convolutional neural network
1.1输入层 在输入层当中处理数据的两种最常见的方法是:第一是去均值,原理就是把数据的每个维度都中心化设为0.第二是归一化即设置输入数据在同样的范围之内,进而减少因数据之间的差距很大而导致的干扰.本文选用归一化方法.
1.2卷积层 卷积层是根据输入、卷积核和激活函数来计算的.卷积层的输入通常是一幅或多幅图像.卷积核是一个矩阵又称为卷积滤波器.卷积操作如图2所示:
图2卷积操作示意图Fig.2 Schematic diagram of convolutional operation
激活函数是为解决非线性问题而使用的,它被用来有选择地对神经元节点的特征进行增强或者削弱.常用的激活函数有很多,而在卷积神经网络当中常见的是ReLU函数以及Softmax函数.本文使用的是ReLU和ELU函数.
ReLU函数如式(1)所示:
ELU函数如式(2)所示:
1.3池化层 在卷积神经网络中,下采样过程又称为池化过程.池化的原理就是计算图像一个区域上的特定特征的平均值或最大值.常用的池化方法有最大池化(max pooling)和平均池化(average pooling).本文选用最大池化方法.
1.4全连接层 全连接层在整个卷积神经网络中起到“分类器”的作用.全连接层是用来连接层和层之间全部神经元的.
1.5输出层 输出层的作用就是经过全连接层的激活函数输出每个图像类别的概率.
2.1数据来源
论文中所使用的频谱图像数据来自澳大利亚气象局的Culgoora天文台、Learmonth天文台.Culgoora天文台的图像尺寸是1 750*600,Learmonth天文台的图像尺寸是1 700*300.图3是来自Learmonth天文台的图像,其中(a)子图为III型数据,(b)子图为IV型数据.很明显III型爆发的时间非常短,且整个过程的波动性并不是很大;而IV型爆发频率并不是很高,但是其持续的时间却非常久.
图3 Culgoora天文台的III型和IV型图像数据Fig.3 III and IV type image data from Culgoora astronomical observatory
2.2相关预处理 图像预处理主要是通过利用各种数学方法和变换算法提高某灰度区域的反差、对比度与清晰度,从而提高图像显示的信息量,使图像有利于进一步分析[12].
2.2.1 图像灰度处理和裁剪本文使用加权平均法进行图像灰度化处理,其原理是将彩色图像的R、G、B三分量以不同的权值进行加权平均,从而得到比较合理的灰度图像.具体如公式(3)所示:
由于图像的边缘信息与特征值无关,这里将图像标题、时间、黑边等一些边缘进行了裁剪.两个天文台的数据最终都裁剪为1 200*200并进行灰度化.
2.2.2 通道归一化 经过转换处理后,观察到大部分图像中存在水平条纹等多种干扰信号即通道效应.因此首先通过对图像f应用信道中像素的局部平均值fLM来减轻不均匀通道增益的影响,然后通过添加全局背景即整个图像的平均值fGM来完成每个像素值的补偿.具体公式如(4)所示:
2.2.3 伽马变换 伽马变换是对输入图像的灰度值进行非线性操作,使输出图像灰度值呈指数关系.伽马变换主要用来校正灰度过高或灰度很低的图片,进而达到对比度的增强效果.其公式如(5)所示:
其中c和γ为正数,γ值的界限是1,值越小,扩展图像低灰度的作用越强;值越大,扩展图像高灰度部分的作用越强,不同的γ值可以完成增强低灰度或高灰度部分的目标.
2.2.4 高斯噪声 采用高斯噪声是为了更好地模拟未知的噪音.在真实环境中,噪音往往是很多不同来源的噪音复合体.真实噪音的分布随着噪音源的增加而趋近于高斯分布.高斯噪声的具体公式如(6)所示:
其中,u为均值,σ为 标准差,(fx,y)为输入图像,g(x,y)为输出图像.
2.2.5 灰度拉伸 灰度拉伸是一种比较简单的线性点运算,也可以称为对比度拉伸.它可以拓展图像的直方图,使其存在于所需要的特定范围内.灰度拉伸公式如(7)所示:
其中,a为最小灰度级,b为最大灰度级,(fx,y)为输入图像,g(x,y)为输出图像.
2.2.6 图像标准化 将图像矩阵输入到神经网络中时,如果图片中的特征较多时,网络很容易将像素大小相对较小的特征忽略.为了避免这种情况,同时加快模型训练收敛的速度,通过将输入数据范围缩小至0~1之间来对输入样本进行标准化操作,标准化的公式如(8)所示:
其中,m为标准化前的像素,M是标准化后的像素矩阵,D为标准化前的图像像素矩阵,max(D)为标准化前图像像素的最大值,min(D)为标准化前图像像素的最小值.
2.2.7 中值滤波 中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值,从而使得图像接近真实值,进而消去单独噪声.本文使用3*3模板进行中值滤波.
经以上预处理后来自Culgoora天文台的III、IV图像(即图3)预处理结果如图4的(a)、(b)所示.从图(a)中可以看出只保留了明显的竖线,而(b)图留下了明显的连续变化的区域.
图4预处理后的来自Culgoora天文台的III型、IV型数据Fig.4 III and IV type from Culgoora astronomical observatory after preprocessing
3.1实验设置实验是基于TensorFlow深度学习框架基础上进行的.太阳射电爆发的数据集中包含5 211张频谱图像,其中III型有1 741张,IV型有1 736张,其他类型选用了1 734张.因III和IV图像数量较少,在预处理后主要进行了如下处理以扩增图像数据:(1)对两个天文台预处理后的图像均进行亮度和色度增强、锐度减弱从而得到新图像样本.(2)对预处理后的图像进行水平垂直方式的翻转从而得到新图像样本.最终,为保持数据平衡,送入卷积神经网络的数据划分如表1所示:
表1数据集划分Tab.1 Data set partition
3.2卷积神经网络的优化设计首先通过卷积层对输入信号的特征值进行局部提取,然后经过激活函数再次导入到池化层,池化层可以有效减少特征值的分辨率,减少网络的计算量,优化网络,然后经过激活函数再次导入到卷积层,以此类推[13].
3.2.1输入、输出层的设计 在进行预处理之后,输入数据尺寸设成300*150以及120*120.输出类型为3种类型,其中,III型用3表示,IV型用4表示,其他类型用0表示.
3.2.2 隐层网络的优化设计 以预处理之后300*150的图像矩阵为例,五层卷积神经网络的最大池化层所选取卷积核均为2*2,第一层和第二层是32个3*3的卷积核组成,分别产生32*149*74和32*73*36的特征矩阵;然后第三层和第四层都经过64个3*3的卷积核分别形成64*35*17和64*16*7的特征矩阵.最后是第五层选用128个3*3卷积核.分类时激活函数分别选用ReLU和ELU.
3.3调整激活函数和网络深度进行分类比较 分别使用4、5、6层卷积神经网络,并应用ReLU和ELU函数作为卷积神经网络的激活函数对频谱数据进行分类,分类效果如表2所示.表2中的TPR和FPR是通用的评价指标.TPR为True positive rate的简称,称作真正类率,表示当前分到正样本中真实的正样本占所有正样本的比例;FPR是False positive rate的简称,称作假正类率,表示当前被错误地分到正样本类别中真实的负样本占所有负样本总数的比例.
表2 ReLU函数和ELU函数在多层CNN上的分类比较结果Tab.2 Classification comparison results of ReLU function and ELU function on multi-layer CNN
从表2可知,应用ELU函数在4层CNN上分类的精确率为96.73%,比ReLU效果稍好;5层采用ReLU函数和ELU函数的识别率基本持平,ELU函数相对还要低一些;但6层ReLU函数在III型爆发上的TPR为3.27%、FPR为94.34%较为异常,与之相比,6层ELU在3种爆发类型上的TPR和FPR都比较稳定.
本文应用灰度变换、中值滤波等图像处理方法,对太阳射电数据进行充分的预处理.并在此基础上通过应用3*3卷积核、以ReLU或ELU作为激活函数、设置不同网络深度的卷积神经网络对太阳射电数据进行训练和测试.实验结果表明,卷积神经网络在图片分类任务中表现稳定,相对于ReLU函数而言,使用ELU作为激活函数模型在多层网络深度下的分类稳定性也稍好一些.但因III型、IV型数据少,数据集是在反复扩充的基础上得到的,所以针对一些特殊类型的太阳爆发图像,仍旧不能够进行准确分类.下一步将会在卷积神经网络的基础上,尝试与其他深度学习方法结合,同时增加来自其他天文台的样本以期提高分类精确率.