何远柏,徐 晓,徐 丽
(昆明理工大学 信息工程与自动化学院,云南 昆明 650500)
太阳黑子与太阳活动联系紧密,是太阳表面强磁场的典型表现,如日冕物质抛射和耀斑爆发[1-4]。这些太阳活动会给地球带来不利影响,如造成地面无线电短波通信中断,导致卫星发射失败等。研究表明,太阳黑子群的形态和磁场极性越复杂,在该区域发生耀斑的概率越高[5-6]。绝大多数的M 级和X 级耀斑发生在威尔逊山磁分类中的βγ、βδ和βγδ等复杂黑子群上方,尤其βγδ类黑子群发生耀斑的概率很高[7-8]。因此,研究太阳黑子群磁分类对预测太阳耀斑具有重要意义。
2016 年,Padinhatteeri 等人[9]根据太阳黑子群的形态和磁性特征,提出了一种名为SMART-DF 的算法。该算法对威尔逊山磁分类中的δ类进行了检测。2019 年,Fang 等人[10]提出了一种基于深度学习[11-12]的太阳黑子群磁分类方法,采用卷积神经网络(Convolutional Neural Networks,CNN)将黑子群分成了α、β和β-x这3 个类别,并将裁减下来的黑子群局部区域图像送入网络测试,总accuracy达到了95%,其中α类的accuracy达到了98%,β类的accuracy达到了88%,β-x类的accuracy达到了95%。但是,该方法没有对全日面图像中的黑子群进行检测,而且仅将黑子群分成3 个大的类别,没有进一步细分到小类别,尤其是对耀斑预测比较重要的βγ、βδ和βγδ等类文中没有单独区分。
近年来,深度学习被广泛应用于各个领域,如被用于解决图像检测和分类等问题[13-15]。它的核心是深度特征学习,通过分层网络获取分层次的各类特征信息,较好地解决了以往需要人为选择提取某种特征的难题。其中,CornerNet-Saccade[16]是深度学习领域一种较新的目标检测算法,基于关键点的检测方案和注意力视图机制使其在目标检测领域具有先进性。本文基于CornerNet-Saccade 设计的CNSF 网络较好地解决了太阳黑子群磁分类问题。
威尔逊山天文台根据磁场的极性将双极黑子群作为基本类型,其他类型则视为双极黑子群的变形[4,17]。按照此分类方法,极性单一的黑子群是α型,极性相反且比较明显的双极黑子群是β型,极性混杂的复杂黑子群是γ型,具有超过一条连续极性反转线的双极黑子群称为βγ型,同一个半影内具有相反极性且分离不超过2 的本影称为δ型。此外,太阳黑子群中如果包含一个或多个δ黑子,则在对应分类中加上δ,如βδ、γδ、βγδ型。它的具体分类如表1 所示。
表1 具体分类
本文使用的数据来自于太阳动力学天文台(Solar Dynamics Observatory,SDO)卫星的日震及磁场成像 仪(Helioseismic and Magnetic Imager,HMI)[18],包括连续谱图(Continuum Images)和纵向磁图(Magnetograms)。
威尔逊山磁分类需要结合黑子群的形态和极性信息,因此把连续谱图的黑子群形态信息和纵向磁图的极性信息合成在一张图上,便于输入神经网络。
具体步骤如下:
(1)读取同一时间的连续谱图和纵向磁图,进行平滑、归一化等操作;
(2)采用阈值法[9]提取连续谱图的半影边界和本影区域并分别存储在集合A 和集合B 中,提取磁图的正负极性区域并分别存储在集合C 和集合D 中;
(3)E=B ∩C,F=B ∩D,其中E 为黑子本影的正极区域,F 为黑子本影的负极区域,∩为交集运算;
(4)将连续谱图中集合A 对应区域填充成绿色,集合E 对应区域填充成红色,集合F 对应区域填充成蓝色。
预处理示例如图1 所示,这里选取2014 年5月2 日的全日面图像。
共使用2 440 张预处理后的图用于制作太阳黑子群磁分类数据集,并分为训练集D1和测试集D2。表2 列出了所有的数据集,其中训练集用于训练深度学习网络模型,有1 940 张;测试集用于检验模型的性能,有500 张。D1和D2的数据都来自HMI,采用每日08:00:00 和20:00:00 的数据。本文采用labelme[19]软件标注了数据集。D1HMI/2010.06.01—
图1 图像预处理示例
图2 CNSF 概述
表2 太阳黑子群分类数据集
表3 列出了数据集中各类型黑子群的样本数量和比例。可以看到,样本间的数量差异较大,这是因为不同类型黑子群出现的次数存在较大差异。比如,β类黑子群在太阳活动过程中出现的次数较多,而βδ类黑子群出现的次数较少。需要注意的是,从2010 年到目前,太阳活动区报告(Solar Region Summary,SRS)(https://www.swpc.noaa.gov/)文 件并未报告γ、δ和γδ类黑子群,因此本文后续内容不再涉及这些类型的黑子群。此外,太阳黑子活动具有11 年周期,一个周期中包括峰年和谷年,其中峰年的太阳黑子较多,谷年的太阳黑子较少。由于从2017 年开始到当前,太阳黑子活动处于谷年,太阳全日面图像上的黑子很少,因此本文并未采用2017 年及以后的数据。
表3 各类别样本数量及比例
本文通过CNSF 模型实现太阳黑子群磁分类,模型的工作流程如图2 所示,主要由目标定位、目标检测和目标融合3 部分组成。
方法的具体步骤如下。
(1)下采样(Downsizing)预处理后的图像。
(2)将下采样后的图像输入到骨干网Hourglass-54。Hourglass-54 网络由3 个沙漏(Hourglass)[20]模块组成,总深度为54 层。每个沙漏都是具有对称结构的模块化网络(见图3)。沙漏网络首先应用3 个阶段的卷积层和下采样层以减小输入特征图的大小,然后通过3 个阶段的卷积层和上采样层将特征上采样回到原始分辨率,并跨尺度组合特征。下采样通过步长为2 的卷积操作实现,上采样通过最近邻插值(Nearest Neighbour Interpolate)[21]实现。在每个下采样层和上采样层之后应用一个残差(Residual)[22]单元,每个残差单元由两部分组成,分别是3 个权重层(Weight Layer)和1 个映射层(Identity Mapping)。权重层由Conv-Relu 组成,主要用于获取深层信息。映射层主要用于保留原始信息,被设计为1×1 的卷积,用于将尺寸与权重层的输出进行匹配。沙漏模块中有10 个残差单元,可以更好地解决深度神经网络中的网络退化问题,提高网络性能。Hourglass-54 可以跨尺度重复进行自下而上、自上而下的推理,从而捕获和合并图像所有尺度上的信息,最终输出一组特征图。
图3 沙漏网络
(3)在每个特征图上应用一个3×3 Conv-Relu模块和一个1×1 Conv-Sigmoid 模块,以通过注意力机制预测注意力视图(Attention Maps)。总共预测了3 种大小的注意力图,分别对应于小物体、中物体和大物体。注意力视图指示目标的大概位置和粗略大小。同时,Hourglass-54 还从缩小图像中检测到的目标生成边界框(Bounding Box)。通过角池层(Corner Pooling Layer)[23]检测两个关键点即目标的左上角和右下角来确定边界框。
(4)从注意力视图和下采样后的图像上分别获得的位置,可能存在重合的情况。为了减少计算量,提高网络效率,在该部分加入过滤操作。一方面,对从注意力视图和下采样后的图像上获得的位置进行IoU(Intersection over Union)[24]计算,即两者的IoU 超过设定的阈值(本文此处设定的阈值为0.5),只保留得分高的检测框。另一方面,根据各类型黑子群的面积特征设定面积阈值,即根据边界框的面积确定是否保留该检测结果。通过过滤操作可以提前去掉一些存在偏差的检测结果,提高模型效率。
(5)对过滤后的位置进行缩放操作。对于从注意力视图获得的位置,将小目标、中目标和大目标的缩放比例分别设置为6、3 和1.5。对于从边界框获得的位置,缩小的图像根据边界框的大小进行放大。
(6)将经过放大后的图像映射回原图,以(xi,yi)为中心点裁剪区域(Cropping Regions)来提升训练效率。
(7)根据得分将这些位置进行排序,并优先考虑从边界框获得的位置。选择得分最高的k个位置,在这些位置上进行目标检测。为了提高该阶段的检测效率,设计了一个骨干网络Hourglass-36。该网络由两个Hourglass模块组成,呈对称结构,共36层。相比较于Hourglass-54,Hourglass-36 的层数只有前者的2/3,更加轻便。实验结果表明,这种精简网络结构的操作并没有造成模型的精度损失,且模型效率提升明显。
(8)检测完毕后,通过非极大值抑制(Non-Maximum Suppression,NMS)[25]算法融合检测框(Merging Detections),消除所有目标的冗余框。需要说明的是,CornerNet-Saccadec 采用的NMS 算法有效解决了太阳黑子群中同类之间的冗余框问题,但对于不同类之间的冗余框无能为力。因此,本文修改了传统的NMS 算法,使其在太阳黑子群磁分类上具有更好的性能。修改后的NMS 算法只根据检测框做非极大值抑制,脱离了类别的限制,从而同时有效解决了同类和不同类之间的冗余框问题。
本文实验在一台装有GeForce RTXTM2080 显卡的个人计算机上进行。实验使用的软件环境为python3.7、pytorch1.2、cuda10.1 和gcc7.4。网络模型的learning_rate、decay_rate 和batch_size 分别设置为0.000 025、10 和8。训练迭代了275 000 次后,模型的损失值稳定收敛,训练过程花费了大约90 h。
图4 展示了CornerNet-Saccade 和CNSF 的在全日面图像上的分类结果。
图4 太阳黑子群磁分类案例
图4(a)和图4(b)是CornerNet-Saccade 得到的分类结果,图4(c)和图4(d)是CNSF 得到的分类结果。由图4(a)和图4(c)可知,CornerNet-Saccade 和CNSF 都检测出了全日面图像上的4 个黑子群,其中3 个结果一致,但是对于标注的1 号区域,两者给出的结果存在差异。CNSF 将该黑子群分为βγ类,而CornerNet-Saccade 同时给出了两个分类结果,分别是β和βγ类。在太阳黑子群磁分类中,同一个黑子群只可能属于一个分类,显然CornerNet-Saccade分类错误。根据黑子群分类的定义不难得出,该太阳黑子群应该为βγ类,CNSF 分类正确。
由图4(b)和图4(d)可知,CornerNet-Saccade和CNSF 都检测出了全日面图像上所有的黑子群,但是CornerNet-Saccade 在2 号区域和3 号区域存在重复分类的情况。对于2 号区域,根据黑子群的定义,结合连续谱图和纵向磁图不难发现,这是两个距离比较接近但又彼此独立的黑子群,正确的分类结果应该分别是α类和β类。同理,3 号区域的黑子群分类结果应该为β类。
采用查准率(Precision)、查全率(Recall)、平均精度(Average Precision,AP)和平均精度均值(mean Average Precision,mAP)[26]指标来评估CNSF 的整体性能,定义分别如下:
式中,N是样本总数;TP表示该样本为正样本且分类正确的个数;FN表示该样本为负样本且分类错误的个数;Precision表示分类正确的样本数量与总分类数量的比值;Recall表示分类正确的样本数量占总样本量的比值;AP是将Precision与Recall相结合的综合性指标,由P(r)函数曲线(该曲线由多对Precision与Recall组成的点绘制而成)与坐标轴围成的面积得到,表示的是Recall从0 变化到1 的所有Precision的平均值;mAP是所有类的AP平均值。
表4列出了测试集中各类型黑子群的分类结果。可知,Precision、Recall和mAP(mean AP)均达到0.9以上。AP达到0.9 以上的类别有3 个,分别是β、βγ和βγδ。这几类黑子群的特征相对比较明显,因此较容易分类。此外,α和βδ的AP低于0.9。其中,α类中有一些小黑子与噪点难以区分,因此存在一定的误检测和漏检测;βδ类黑子群与β、βγ和βγδ类的部分特征有相似之处,存在误检测的情况。
表4 各类型黑子群在测试集上的结果
表5 是不同模型在太阳黑子群磁分类上的性能对比。可知,无论是检测精度还是检测效率,CNSF 都 比CornerNet-Saccade 有 优 势。CNSF 和CornerNet-Saccade 在太阳黑子群磁分类数据集上的mAP分别是0.91 和0.87,CNSF 的检测精度在CornerNet-Saccade 的基础上提升了约4%,CNSF的检测效率比CornerNet-Saccade 提升了约13%。
表5 模型性能对比
本文使用来自HMI 的连续谱图和纵向磁图进行太阳黑子群的磁分类,数据为2010 年6 月至2016 年12 月的HMI 数据。先将连续谱图的黑子形态和纵向磁图的极性信息合成在一张图上,然后制作太阳黑子群磁分类数据集,并分成训练集和测试集分别用于训练模型和检验模型。模型在一台装有GeForce RTXTM2080 显卡的个人计算机上训练网络,在迭代275 000 次后,模型的损失值稳定收敛。基于CornerNet-Saccade 的CNSF 在太阳黑子群的磁分类上取得了良好效果,在测试集上的Precision和Recall均达到了0.93,mAP达到了0.91。CNSF 从检测精度和检测效率两个维度在CornerNet-Saccade的基础上分别提升了约4%和13%。下一步的工作计划是进一步优化算法,并建立耀斑预报机制。