于志成, 贺强民, 杨秉新, 李 涛
(北京空间机电研究所, 北京 100094)
遥感技术在国防现代化和经济建设等各个方面发挥了越来越重要的作用,带来巨大的军事效益、社会效益和经济效益。但是由于云层遮挡的影响,使得某一幅遥感影像得不到所需要使用的地表或地物等其他信息。且由于气候的原因,很难得到没有云噪声污染的遥感图像。统计表明,遥感图像中65%以上是有云或者是多云的。特别是可见光遥感卫星采集到的遥感图像都会被云层或多或少的污染,很少能够采集到干净的图像,根据资料显示,对Landsat-7 ETM+的2000—2002年采集到的全球遥感图像进行年平均云量统计,云覆盖率在33%以上,具体数据如表1所示[1]。
表1 Landsat 7 ETM+ 2000—2002年北美以及全球遥感图像云量统计
此外,自2000—2005年,即使采用天气预报以及自动云覆盖评估算法ACCA改进图像的采集效率,美国测绘局(USGS/ EROS)归档的Landsat-7遥感图像中,云量在10%以上的占了全部图像的65%以上[2];相应的,云量在50%以上的占了全部图像的28%以上。
除气象卫星外,云在遥感图像中有害无益,妨碍了图像的处理和分析。首先,云污染对地物的识别造成困难;其次,云图占用星上大量宝贵的计算和存储资源;最后,云图数据消耗有限的传输带宽[3]。这3个方面使得卫星有效成像缩短,继而限制了卫星的图像采集能力。因为云形态、亮度、纹理总是随着时间、高度、厚度、太阳高度角以及其他一些因素变化,云检测是遥感图像处理中最困难的部分之一[4]。
在没有星上云检测之前,传统做法是这样的,遥感相机拍照之后,会将该图像下传至地面接收站,由地面站对图像进行处理,交付客户,如果客户想看的是图像中的地面目标,那么,图像中的云就成了噪声,若图像被云覆盖过大,则该图像就失去了研究价值,但是大量没有研究价值的遥感图像下传到地面,对数传系统造成了负担[5]。
遥感图像中的云污染影响了遥感图像处理和分析的整个过程,因此,云检测是遥感图像地面处理的首要和重要的步骤,为了准确提取地物信息,需要在星上对遥感图像中的云进行标记,然后统计云覆盖率,对于覆盖率过大的图像直接丢弃,降低传输开销[6]。与地面处理相比,星上实时云检测的优势是显而易见的,例如节省有限的存储资源,减少占用宝贵的传输带宽,提高成像效率等。
同时,在轨图像实时处理已然发展为一种趋势,对于改善图像质量、减少图像数量,或者探测器智能化方面,成为不可或缺的手段。对于已经在轨的高分率卫星,大数据量已经严重限制了成像效率。例如GF-2相机,每天最多成像20 min,每轨最多成像12 min[7]。可以预见,在不久的将来,云检测将成为可见光遥感卫星的标配。
国内外针对遥感图像的云检测做了大量研究工作,其中主要包括阈值法、聚类、SVM等。对于星上应用,目前主要使用的是阈值法,包括基于单个谱段和多光谱数据,其中,多光谱由于含有更加丰富的地物在多光谱下的反射率信息,检测精度也更高一些,但是在某些特定的条件下,如夜间时候下垫面为沙漠、海岸线、河流和内陆湖泊时,由于云和下垫面的反射率相近,难以进行正确的辨别,因而有时会检测出错误的云[8]。同时,卫星云图千变万化,云的高度、厚度、种类以及太阳高度角等因素均会对云产生极大的影响,因此极大影响了阈值法的效果[9]。针对上述情况,本文提出了一种基于低秩及稀疏约束制图的图像分割算法。
图像分割是一种图像处理技术,是目标特征测量的基础,基于分割的目标表达、特征提取和参数测量等将原始图像转化为更抽象更紧凑的形式,使得更高层的图像分析和理解成为可能。在遥感图像处理中被广泛应用,如对不同云层和背景分布的分割[10],根据云区域的厚度可以将遥感图像分割成不同区域,进而对图像进行分析、识别,因此,分割的精度将直接影响后续处理的有效性。本文提出的图像分割方法中,低秩表示和稀疏表示是2个重要的基础理论,因此,下面对上述2项理论的原理进行简要介绍和分析。
xk=Rk(x)
(1)
式中Rk(·)是指从原始图像中提取图像块xk,其中k为xk图形块在原始图像中的第k个位置,k=1,2,…,n,n为图像块的数量。
在稀疏编码过程中,稀疏表达方式主要是借助一组给定的基元(字典)D,使得每个图像块xk均存在对应的稀疏向量αk,通过公式xk≈Dαk重建xk,且αk的大部分元素都会很小,逼近于0或者等于0,也就是通过上述方法和下面公式,可以将整幅图像进行稀疏表达[12]。
(2)
(3)
鲁棒主成分分析RPCA模型主要用于恢复数据的低秩结构,还可以去除图像中的噪声,其目标函数如下式所示[13]:
(4)
(5)
选择数据X本身作为组元(也就是字典),再结合不精确增广拉格朗日乘子法(Inextract Augmented Lagrange Multilpier, IALM)对上式进行求解。
传统的遥感图像分割技术主要是针对灰度或纹理差别较大的不同地物进行类间分割,在分割过程中容易忽略遥测图像中同类地物的类内差异或者纹理相似度较高的不同地物之间的差别。近年来,基于目标的分析方法在遥感图像处理领域得到广泛应用,特别是遥感图像的目标分割方面,通过对图像目标局部像素纹理属性进行分析,在对应的图像纹理特征空间中建立结构性关联制图,准确采集目标表面局部纹理信息的结构差异分布特征,利用基于图论的图像分割算法实现对遥感图像中云区的像素级分割,以满足遥感图像云检测的精细化要求[15]。
(6)
为了更直接的求解公式(6),通过变量松弛来进行一种近似[17],如式(7):
(7)
图1 本文提出算法流程图Fig.1 Algorithm flow chart
本文主要采用的低秩稀疏约束制图的图像分割算法。像素级遥感图像云检测算法主要流程如图1所示[20],通过统计目标图像中局部区域内目标像素的分布特性,识别图像中局部区域的纹理特征信息分布的不同,在构建的结构化差异特征空间中,通过低秩分解来去除噪声和奇异点对图像中云像元分割的影响,避免其对分割精度造成影响。建立图像中像素之间分布关系的关联矩阵,能够较好的描述遥感图像云区域纹理的相关像素级特性,再通过矩阵分解对遥感图像中的云像元进行分割。本文所提出的分割算法主要包括以下几个步骤:首先根据遮挡模型的原理将图像图像进行量化,以减少运算量,将量化后的图像按不同的量化值分层;在此基础上,利用局部直方图变换提取图像纹理信息的局部直方图统计特征集合,即通过滤波处理得到的局部直方图;其次,在得到的低秩模型中引入1/2范数的正则项,使其具备稀疏特性,即对局部直方图特征集合进行低秩稀疏化表示,构建基于低秩稀疏特性的制图项,来更好的表征遥感图像中云区域目标纹理空间分布的差异;然后,在基于制图指导的非负矩阵分解模型的目标函数中加入了低秩稀疏关联制图约束项,并结合制图约束的非负矩阵分解方法实现目标区域纹理分割,即利用非负矩阵分解法对将该直方图特征进行分解,得到一个初始的各类的权重值及各类纹理的初始直方图,然后将初始化的权重进行反卷积以得到指示函数σ,即为初步的分类结果。最后,通过反复迭代调整非负矩阵分解以及反卷积的过程,使分解后的直方图更接近真实的直方图,从而逐步得到最佳分类结果。
在实验数据方面,本文中使用的场景级含云遥感图像为卫星拍摄,每景图像的尺寸为12 280×10 000,为了便于处理,将整景图像切分为250×300像元的场景级图像块。本文所使用遥感数据的拍摄地点位于宁夏自治区,地物范围包括农田、植被、江河等典型地物类型,拍摄时间分别为2014年3月,分辨率为2米。本文选取的实验数据都有被云覆盖的情况,但云覆盖量不同,便于针对厚云覆盖和薄云覆盖分别进行处理,以便更全面的验证本文提出的分割算法。仿真环境方面,本实验使用的硬件平台为惠普工作站;软件方面使用MATLAB开发环境实现算法模型的代码编写和实验仿真验证。
本章提出的低秩稀疏约束制图分割算法的目的是利用全色遥感图像中云的纹理特性检测出云的分布,为了验证分割算法的优越性和鲁棒性,本章中利用卫星平台获取的多个不同地区的含云全色遥感图像,设计了多组对比实验进行比较分析,通过与2种常用的分割算法进行对比,来评价本文所提出算法的精度。具体用来对比的方法主要包括阈值法、ORT法。
在数据集方面,主要针对轻度薄云覆盖和重度厚云覆盖的场景级含云图像块,图像块尺寸为300×250,实验所用图像块及其真值图如图2和图3所示。
图2重度厚云覆盖的场景级含云图像块及其真值图
Fig.2Scene-Level Image Covered by Thick Clouds and the Truth Maps
图3 轻度薄云覆盖的场景级含云图像块及其真值图Fig.3 Scene-Level Image Covered by Thin Clouds and the Truth Maps
本文使用ORT方法对场景级含云遥感图像块进行像素级分割,主要涉及到3个参数,分别为聚类类别数、窗口尺寸、迭代次数和纹理类别。其中,聚类类别数主要用于降低图像块的灰度级别,降低运算量;窗口尺寸用于设定局部直方图变换时的滤波窗口,对分割结果中的区域边界进行平滑处理,使分割结果能接近于云的边界形态;迭代次数主要用于分割算法运算过程中进行的多次迭代运算,以得到最优解;纹理类别主要用于设定将输入图像块进行分割的类别数,需要根据云图像的分割需求进行设定。为了实现最佳的分割效果,算法中涉及的3个参数需要预先给定,具体分析如下:
对于纹理类别参数,本文考虑到后续有可能需要对不同云分布情况的遥感图像进行进一步分类处理(如薄云去除或厚云的云层厚度估计等),进一步提高遥感图像云检测和处理的智能化程度,因此,本文综合考虑场景级分类的结果,将ORT分割方法的分割类别数设置为不同的数值:对于薄云覆盖类的场景级遥感图像块,将分割类别数设置为2,即云像元和非云像元;对于厚云覆盖类的场景级遥感图像块,为了对其内容进行更加细致的分割,本章将这类图像块的分割类别数设置为3,即厚云像元、薄云像元和无云像元,以便于后续针对不同的分布比例情况采取不同的处理措施,增加遥感图像云处理的精细度。同时,对于上述2类图像块,本文在制作的像素级真值图中,也将一幅含云遥感图像块中的像素分为2类和3类,以便于定量化的分析本文所提出的像素级分割算法的分割精度。
对于窗口尺寸,考虑到云的渐变特性,通常不会有特别剧烈的变化,因此选择更大的窗口,可以使分割结果更平滑,这也符合云的变化特性,能够更好的保留云区主体的边界,轮廓也能更清晰,更有效的检测出厚云的主体部分,也能够在一定程度上降低漏检率,因此,本文将窗口尺寸设置为8。
迭代次数主要用于通过多次迭代运算寻找最优解,在超过一定数值后,继续增大该参数只能增加运算量,对算法的效果不会再有更大的提升,因此本文将该参数设置为20,已经足够找到最优解。
聚类类别数主要利用聚类算法降低遥感图像块的像素灰度级,从而减小算法的计算量,本文中将该参数设置为9。
本文针对不同类别的场景级遥感图像块,设计了多组不同的验证性对比实验,以检验本文所提算法的鲁棒性和分割精度。对于厚云覆盖的遥感图像块,本文提出的分割算法实验结果如图4所示。
图4 原始图像、真值图、阈值法、ORT、本文算法Fig.4 Original images, truth maps, threshold method, ORT, algorithm in this paper
从图4中可以看出,用阈值法对图像中的云进行检测的效果很不理想,主要原因是阈值法只使用到了图像的灰度信息,对于纹理等信息并没有充分利用,而遥感图像中经常过出现曝光过度的情况,严重影响阈值法的分割精度,同时该算法还涉及到阈值选取的问题,如果阈值选取不当,则会严重影响云检测的精度,此外,阈值法的自动阈值选取也比较难,因此很难使用阈值法全自动的对遥感图像中的云进行精细化分割。标准ORT分割算法主要基于局部纹理差异化统计的方法,所以针对图像中局部云块的微小纹理差异的识别,具有较好的鲁棒性,并能够更准确的区分出具有不同厚度的云块的纹理分布,但是如上图所示,这种方法对于全局的云纹理分布的统计较弱,不能够有效区分大区域的云分布差异,且噪声较大。本文所提出的算法在局部云纹理分布的基础上,结合低秩及稀疏的关联制图约束项约束,能够在纹理特征空间中,有效的捕获不同厚度云纹理的局部及全局结构化差异分布,为最终实现像素级云分割提供了可靠的指导条件,从而产生比上述2种算法更理想的分割结果,且本文提出的方法针对具有不同特点的云图像检测,可以有效的克服噪声和奇异点对云分布的影响,并取得良好的实验结果。而且在针对不同分布的云影响检测过程中,能够有效,另外,在云分布更复杂的影像中,能有效分辨出厚云、薄云,并为后续进一步对图像中云的处理提供算法支撑。
对于薄云覆盖类的含云遥感图像块,本文考虑到薄云与厚云不同,边界不是特别清晰,因此将窗口尺寸减小为7;同时薄云覆盖的场景级图像块中不含有厚云,只有薄云和无云2种像元,因此将分割类别数设置为2类;此外,轻度薄云覆盖的图像块中灰度等级数较少,因此将预处理中的聚类数量减小为6。按照上述参数设置后,继续采用本文所提出的算法进行实验,实验结果如图5所示。
从图5中可以看出,使用本文所提出的算法能够对图像块中的薄云进行比较精准的分割,虽然由于薄云本身的类地物特性,分割结果中会存在一些噪声,但总体上看,噪声不太大,对分割结果没有颠覆性影响,可以满足应用需求。
图5原始图像、真值图、本文算法
Fig.5Original images,truth maps,threshold method,ORT,algorithm in this paper
但在算法复杂度方面,本文提出算法的整个流程主要包括特征提取、约束制图、纹理分割等步骤,由于在求取低秩稀疏最优解的过程中需要多次迭代运算,同时制图的过程也需要大量的运算,算法自身的计算量以及算法运行时对硬件资源的需求都要比常规的阈值法要高,受到卫星星上硬件资源的限制,本文算法在硬件平台上的可实现性比阈值法等常规分割算法要差一些,在轨实时应用的可行性还有待进一步优化和论证。
本文所提出的遥感图像像素级云分割算法首先提取图像中纹理局部直方图的特征,对其纹理的分布差异的统计特性进行分析,进而提出一种低秩稀疏约束制图构建算法,能够准确的辨别特征空间中局部纹理差异结构化分布,可以在一定程度上消除噪声和奇异点对纹理特征空间中纹理信息结构分布的影响,进而提高目标纹理分割精度。在此基础上,本文又利用基于低秩稀疏约束制图正则化非负矩阵分解的纹理分割方法,结合制图约束的非负矩阵分解方法和前面获取的目标局部结构差异,得到针对遥感图像中云目标的纹理分割结果。
针对本文提出的上述算法,通过多组不同的实验进行验证,在实验中,针对不同算法、不同地区、不同云覆盖级别的场景级遥感图像块中的云纹理信息进行分割实验与对比分析,实验对比结果表明,本文所提出的算法在局部云纹理分布的基础上,结合低秩及稀疏的关联制图约束项约束,能够在纹理特征空间中,有效的捕获不同厚度云纹理的局部及全局结构化差异分布,为最终实现像素级云分割提供了可靠的指导条件,从而产生比上述2种算法更理想的分割结果,且本文提出的方法针对具有不同特点的云图像检测,可以有效的克服噪声和奇异点对云分布的影响,并取得良好的实验结果。而且在针对不同分布的云影响检测过程中,能够有效,另外,在云分布更复杂的影像中,能有效分辨出厚云、薄云,只是在针对星上在轨实时应用方面与常规阈值法相比略有不足,但本文算法依然可以为后续进一步对图像中云的处理提供算法支撑。