基于显著性检测的极光弧分割算法
2018-07-12范九伦侯祥玮王伊琳
范九伦, 侯祥玮, 王 倩, 王伊琳
(西安邮电大学 通信与信息工程学院, 陕西 西安 710121)
极光由太阳风和地球磁场共同作用产生,被认为是极区日地物理过程的一种重要表现。极光弧是分立极光中一种最基本的形态,呈一种东西向延展、南北相对较窄的条带状,具有结构特征明显,持续时间长的特点,也是出现频率最高的一类极光[1]。目前,对极光弧的研究工作主要集中在其生成机制和物理特征如宽度、方向角、倾斜角等[2-3]方面。准确的分割结果能够计算极光弧的走势,进而可以揭示极光弧运动与行星际磁场等物理量之间的关系。极地科考站每年会拍摄数以百万的全天空极光图片,从这些海量极光图像中准确高效地分割出弧状极光对进一步研究其物理特征的极为重要。
最大类间方差法(Otsu)[4]常被应用于极光图像分割,该方法通过寻找使得类间方差最大的最佳阈值来分割图像,其计算简单,但易受图像本身灰度分布以及噪声的影响,最佳阈值不易寻找。区域生长法[5]被应用于单弧的分割,通过寻找选取种子点从而将具有相似性质的像素集合起来构成区域,需要人工标记种子点的位置,是一种半自动的方式,分割结果优劣对人工选取种子点准确性的依赖性很大,不适合批量处理极光数据。局部模糊C均值分割法(fuzzy local information C-means,FLICM)[6]考虑了图像的局部信息和灰度信息,可以有效的分割极光弧图片,但对于噪声较大,对比度较低的图像,分割效果也不理想,并且运行速度慢,对于海量数据的处理有缺陷[7]。整合空间模糊聚类和水平集分割法(integrating spatial fuzzy clustering with level set,FCMLSM)[8]需要手动选择感兴趣的区域进行迭代,对海量极光数据的批处理同样不合适。基于分数阶达尔文粒子群的图像分割法(fractional-order darwinian particle swarm optimization,FODPSO)是一种生物智能算法[9],常用于分割自然图像,该方法直接依赖于分数阶次,当阶次增加时,算法的收敛速度变慢,而阶次减小时,种群陷入局部最优的概率就会变高,实际应用时分割结果与阶次值的选取关系密切。
全天空极光图像具有对比度低、边缘模糊、噪声较强的特点,直接对极光图像做分割容易产生欠分割或过分割的现象,所得结果是不够理想。显著性对视觉中的对比差异十分敏感,如颜色,亮度,纹理等信息。极光弧在图像中亮度较高,轮廓较为明显,但它与余晖、灯光及其他形式的极光经常同时出现在一副图像中,这些噪声是造成不能够准确地分割极光弧的主要原因。视觉显著性检测就是忽略非显著区域,集中凸显资源显著性区域,从而减少视觉信息的一种处理方法。在全天空极光图像中,高频出现的往往是重复信息,具有较低的信息量,所以对全天空图片进行显著性检测,通过极光弧区域本身的图像属性将其从图像中提取出来,生成显著图,这样不但可以在原图的基础上优化图像,还可以合理分配计算资源,减小计算量,从而改善分割结果,降低噪声造成的干扰。目前,基于显著性区域检测的方法已被成功应用于如图像分割[10-12],目标识别[13-14],图像检索[15]等图像处理领域。模糊C均值聚类分割算法(fuzzy C-means,FCM)广泛应用于图像处理领域。FCM算法的思想能够反映事物“模糊”的真实性[16],并且在参数初始化以后,无需人工干预,适合批量处理图像。
为了提高针极光图像分割的准确率及克服人工介入的问题,本文将利用显著性区域检测的优点,将FCM法与显著性结合,给出一种针对全天空极光图像的基于显著性检测的极光弧分割算法。
1 基于显著性的极光弧分割方法
基于显著性的极光弧分割方法分为两个步骤。首先,利用显著性检测方法将极光弧图像中的目标有效地检测并凸显出来,生成对应显著图。然后,利用FCM分割算法对显著图进行分割,得到最终的极光弧分割结果。
1.1 全天空视野的显著性区域检测方法
考虑到全天空极光图像拍摄时外部环境,造成边沿形变,即边缘噪声。为了去掉图像中的边缘噪声,先要对全天空极光图像进行的预处理。其方法是用一个半径为220个像素的圆形掩膜去掉了全天空极光图像圆周上的边缘噪声,在该圆形掩膜遮盖的区域灰度值均为0[17]。之后,利用去噪后全天空极光图像的灰度信息,即对所得到圆形的全天空视野像素进行灰度统计,并计算显著性值,生成对应显著图。为了使显著性区域更加凸显,计算显著性值时,忽略掩膜遮盖区域,生成的得显著性图效果更好。具体显著性值的计算过程如下。
利用直方图统计图像灰度信息得到显著值。假设Ik是输入全天空极光图像圆形视野I中的一个像素,其显著性值定义为[18]
(1)
其中D(Ik,Ii)为像素Ik和像素Ii的欧氏距离,Ik和Ii是对应的灰度值,在[0,255]的范围内。式(1)可以展开为
S(Ik)=D(Ik,I1)+D(Ik,I2)+
…+D(Ik,IN)。
(2)
式中N是全天空视野I中的像素总数。对于全天空极光图像,具有相同灰度值的像素就具有相同的显著性值,所以,可以将式(2)重新构造。假设Ik的灰度值是am,将相同灰度值的像素归在一起,则可以得到每个灰度值的显著性值
(3)
其中fm是全天空视野I中灰度值an出现的概率,其数值可以由输入图像的直方图直接得到,其结果如图1所示。重新构造后,利用计算每个灰度值对应的显著值,替代之前每一个像素与视野内其余所有像素的距离,对于整幅图片达到相同的效果,且计算复杂度大大降低。
图1 显著值计算过程图例
为了说明所采用显著性检测方法的效果,对原始的全天空极光图像和所得显著图分别进行彩色渲染。如图2是采用中国北极黄河站2003年12月22日04点47分11秒采集的全天空极光图像,进行彩色渲染后的结果。图中灰、红、绿、蓝、黑等五种颜色对应灰度值依次降低,灰色最高,黑色最低。通过对比可明显看出,显著性图的颜色值更加分化,原本蓝色的区域变为黑色,部分绿色的区域变为蓝色,但灰色与红色的区域基本没有变化,表明有效地将显著性区域提取了出来,与其余部分做了有效地区分。
图2 全天空极光图像的原图与显著图的伪彩图
1.2 FCM算法
生成显著图后,利用FCM算法对显著图进行分割,可以得到最终的分割结果。FCM算法的可表述目标函数Jm(W,Z)为带约束条件的极值问题[19],即
其中,m是模糊加权系数,设置为2;wij表示样本xi相对于第j个聚类的隶属度,W是wij组成的隶属度矩阵,Z是zj组成的聚类中心矩阵,wij需满足
d2(xi,zj)=‖xi-zj‖2表示样本点xi到聚类中心zj的欧氏距离。
通过对目标函数迭代优化实现分类,迭代过程如下。
步骤1随机初始化隶属度矩阵W(0)。设定聚类中心个数C和迭代停止的条件ε。并随机初始化隶属度矩阵W(0),令迭代次数k=0。
步骤2计算聚类中心
步骤3计算隶属度矩阵
步骤4如果满足|W(k)-W(k+1)|<ε时,则停止迭代,得到结果;否则,令k=k+1,返回步骤2,继续迭代,直到满足|W(k)-W(k+1)|<ε时,停止迭代。
2 极光弧分割的实验结果
实验采用中国北极黄河站2003—2004年拍摄的全天空极光图像,从中随机选取2000张极光弧图片进行实验。
考虑到区域增长法和FCMLSM法需人工的介入,且区域增长法只能分割出单一连通区域,不符合后期实验要求,实验选取了FCM法、Otsu法、FLICM法和FODPSO法作为对比算法进行分割对比实验,部分分割结果如图3所示。可以看出,FLICM法对于灰度相近、对比度低的极光图像效果不佳,如图3(b)所示。Otsu方法的鲁棒性较好,在任何噪声背景下都能够将极光弧分割出来,但该方法的最佳阈值不易寻找,如图3(c),分割的图像中有亮斑和误分割的部分。图3(d)为FCM方法分割结果,可以看出通常能够分割出极光弧的区域,但是当极光弧像素强度与非极光弧像素强度相近时,其鲁棒性较差,会出现过分割现象,与FLICM类似。FODPSO法分割结果与Otsu法相近,容易将接近平均灰度值的部分误分割出来,并且该算法得到的极光弧边缘较粗糙,如图3(e)所示。图3(f)为本文算法结果,可以看出基于显著性的方法能够准确的在全天空极光图像中提取出极光弧,得到较理想的分割结果,几乎没有零散光斑,显著性区域检测有效改善了极光弧与非弧部分像素强度差异小而难以分割的情况,使该方法具有较好的鲁棒性,同时不需要人工介入,避免人工干扰。
图3 五种不同分割算法的分割结果对比
3 在极光弧走势中的应用
为了更加客观地评价分割结果,定义倾斜角为极光弧与地磁东西方向的夹角[2],利用不同分割方法得到的结果计算图像中极光弧的倾斜角与人工标注对比的准确率。全天空极光图像中位于天顶角60°以外的部分具有很大的形变率[3],为了减少形变对计算带来的影响,计算时仅考虑60°以内的弧。
实验使用的全天空极光图像分辨率为440×440,以图4为例对计算过程进行说明。图4(a)是原始全天空极光图像,拍摄于2003年12月22日4时47分,图像正上方是地磁北极,四个箭头分别指明地磁东西南北四个方向。图4(b)是利用本文算法分割后的图像,两条极光弧独立、完整地分割出来。位于图像下方的极光弧靠近图像边缘,具有很高的形变率,计算角度会有很大的误差。图4(c)是添加掩膜后的极光弧分割图。为了保留天顶角±60°内的极光弧,使用半径为147像素的圆形掩膜遮盖形变率大的区域。可以看到,靠近图像下边缘的弧已被掩膜遮盖,同时被遮挡的还有分割出的光斑,图中仅剩一条位置独立,边缘清晰的弧。图4(d)中,极光弧中圆点是极光弧的质心位置,点状虚线是与极光弧区域具有相同标准二阶中心矩的拟合椭圆,椭圆的长轴用灰色实线标记,长线段虚线是X轴,X轴与磁东西方向平行。θ角是椭圆长轴与X轴的夹角,即为极光弧与磁东西方向的夹角,可以由下式计算[20]
其中M11、M20、M02是拟合极光弧区域的椭圆的二阶矩,θ∈[-90°,90°]。多条弧同时出现的场景也十分常见,如果在添加掩膜后图像中仍有多条弧或其他形状极光的情况,通过对全天空极光图片的研究,发现在有弧的图像中,极光弧是一块连通区域,面积一般最大,而冕状极光和热点极光分割出来后多以小块区域为主,因此,在选择计算区域时,以面积最大的区域来计算倾斜角。
图4 极光弧的倾斜角计算示意图
根据文献[21]的前期工作,实验选取了2003—2004年北极黄河站越冬观测数据中弧状极光最多的一天,即2003年12月22日,对本文算法进行实验验证。该日全天共有包含极光弧的图像2053张,筛除其中无效数据后(掩膜将极光弧完全的遮盖住或无法计算的情况),共2021张图像进行实验。首先,对所选取2021张图片依照文献[2]的研究方法进行标记,如图5所示,作为极光弧走势的标准。极光弧下边缘曲线为手工标记的极光弧骨架,对于图像中有多条极光弧的图像手工标记时遵从如下规则,即处于天顶角±60°以外的极光弧不予标记,多条弧共存时,仅标记面积最大、最稳定的。然后对标记曲线进行直线拟合计算拟合的直线与磁东西方向的夹角作为倾斜角的基准值。为了证明本算法的有效性,利用FCM和Otsu作为对比分割算法。考虑到极光弧弧宽的存在和变化,对角度计算造成一定的误差,所以,采取与人工标记的角度差在10°以内即为准确。
图5 手工标记极光弧及其拟合示意图
表1给出了利用上述3种分割算法并进行椭圆拟合极光弧所得到的倾斜角,并与人工标记的基准值比对的结果。从表1可见,本文算法计算倾斜角与人工标记对比的准确率达到92.478%,为三者中的最高,证明算法可靠有效。进一步,利用计算的结果与人工标记的结果分别生成基于磁地方时(Magnetic local time,MLT)的倾斜角变化散点图,描述极光弧倾斜角随MLT的变化情况。
如图6所示,与人工标记的结果进行对比,两者分布基本一致,仅出现个别离散点的偏离,可以较准确地反映极光弧走势。
表1 3种不同算法与人工标记的对比结果
图6 极光弧倾斜角随MLT变化的散点图
4 结语
针对全天空极光图像,提出一种基于显著性检测的极光弧分割方法。该方法利用显著性检测凸显全天空图像中的极光弧区域,再利用FCM方法对显著图进行分割。实验结果表明,基于显著性检测的方法实现了自动分割极光弧图像,改善了低对比度时的分割效果,避免了人工介入对分割结果造成的误差,有效提高了分割质量。将本文算法分割结果应用于计算极光弧的走势,取得了较其它分割算法更为准确的结果。该方法可应用于研究极光弧运动变化趋势。