一种基于光谱角原理的多光谱遥感图像云检测算法
一种基于光谱角原理的多光谱遥感图像云检测算法
为了满足遥感卫星实时云检测要求,提出了一种基于光谱角的云检测算法。首先在多光谱谱段构成的欧式空间
中构造参考云矢量;然后计算图像中各像元矢量与参考云矢量的光谱角,对光谱角进行高斯滤波生成云掩膜;
最后计算得到图像中云量百分比。利用该算法对156景人工标注过的LandSat 7有云图像进行云检测,结果表明
本文算法云检测整体精度能到达83.6%,平均执行速度为360 ms。本文算法原理简单,执行速度快,检测效果
好,具有星上实时应用潜力。
孙舜蓉
(工业和信息化部电信设备认证中心,北京 100088)
摘要摘要:为了满足遥感卫星实时云检测要求,提出了一种基于光谱角的云检测算法。首先在多光谱谱段构成的欧式空间中
构造参考云矢量;然后计算图像中各像元矢量与参考云矢量的光谱角,对光谱角进行高斯滤波生成云掩膜;最后计算得到图像
中云量百分比。利用该算法对156景人工标注过的LandSat 7有云图像进行云检测,结果表明本文算法云检测整体精度能到达
83.6%,平均执行速度为360 ms。本文算法原理简单,执行速度快,检测效果好,具有星上实时应用潜力。
关键词
关键词:云污染;多光谱遥感;光谱角;云检测
中图分类号:P407.8文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.06.006
中图分类号
引用格式:孙舜蓉. 一种基于光谱角原理的多光谱遥感图像云检测算法[J].微型机与应用,2017,36(6):16-18,21.
0引言
未来的遥感卫星将向着更高空间分辨率、更高时间分辨率、更高光谱分辨率以及更高辐射分辨率的方向发展,这将导致图
像数据量的成倍增长,给星上硬件资源带来巨大压力。中国科学院地理空间数据云系统[1]对2014年1月1日到2015年1月1
日的Landsat 7 ETM+ 湖北省的135景图像进行云量统计,结果见表1所示。若定义云量小于5%的图像为干净图像,则该比例
仅为20%,即80%的图像都或多或少地被云图污染。云量在80%以上的图像55景,占总图像的40.78%,这部分图像属于云图
严重污染图像,基本上没有应用价值,因此可以不需要从卫星下传到地面。同样的结论可以从CNES(法国空间研究中心)对
SPOT5图像的统计中得到。地面神经网络分类器对SPOT5图像分类结果表明80%以上为“有云”。
除气象卫星外,云图在高分辨率遥感图像中有害无益,一是污染图像,对地物识别造成困难;二是占用了大量宝贵的运算
和存储资源;三是占用有限的传输带宽。这三方面使得相机有效成像时间缩短,极大地限制了卫星的成像能力。因此,开发星
上实时高效的云检测算法势在必行。星上可根据云量的检测结果对原始图像进行针对性的处理,可以有效改善卫星成像效率,
然而星上云检测远不如地面云检测成熟。
云检测算法在文献[2]、[3]中得到很好的归纳总结。总之,现有算法具有以下特点:
(1)云判算法多为地面应用,发展比较成熟,但星上实时云判研究较少。
(2)单谱段云图检测基于图像阈值、图像纹理进行云判别。由于云千变万化,云检测分类器往往难以区分与云具有相似纹
理的冰雪下垫面。
(3)云检测算法针对特定的传感器进行量身定制,还没有一种云检测算法能适应所有类型的传感器。
(4)地面算法较为复杂,不适合直接移植到星上应用,基于光谱和纹理的分类思想具有借鉴意义。
本文在分析云和典型地物的光谱反射率特性的基础上,给出利用光谱角进行云检测的算法原理和步骤,然后对比自动云覆
盖评估算法,给出云检测结果以及代码执行效率,最后给出分析结论。
1算法原理及实现流程
算法原理及实现流程
不同地物由于物理特征的不同,各自具有独特的光谱反射特性。图1为云和典型地物的光谱反射率曲线。由图1可见,在
0.4μm ~0.9μm可见光区域,云具有相对高的反射率,但是比冰雪低;在1.4μm以上的短波红外谱段,云的反射率比冰雪、土
壤和植被的反射率都高。多光谱探测器的光谱响应在其谱段范围内响应是近似线性的,那么,典型地物反射率曲线等价于探测
器对地物的光谱响应曲线,也就是说地物反射率越高,表现为图像的量化值越大。而且,谱段越多,光谱分辨率越高,描绘的
光谱曲线越完整,利用发射率信息对地物的区分度就越高。本文提出一种利用光谱矢量表征地物,进而利用光谱矢量与标准地
物参考矢量之间的相似性,即光谱角的大小和矢量长度来对地物进行分类的方法,原理描述如下。
对于具有n个谱段的多光谱图像,图像像元可用n维矢量来表示,例如图2中的Pi。假设Pr为某地物参考矢量,若Pi与Pr的
指向相近,且长度也相近,则可以认为Pi与Pr相似。Pi的长度可以通过对Pi的求模操作即|Pi|来得到,而Pi与Pr间的光谱角可用
如下数学表达式得到:
αi=arccos(Pi·Pr/|Pi|·|Pr|)(1)
式中:αi为图像像元矢量与参考像元矢量之间的夹角,即光谱角,代表了光谱响应的相似性,其变化范围是[0,π/2]。
Pi·Pr为矢量点乘操作,|Pi|表示Pi的长度,|Pr|表示Pr的长度。光谱角度越小,同时矢量长度越接近,则被估计像元的光谱响应
与参考像元的光谱响应就越相似,参考物与被估计像元为同一类型的概率就越高。如图2所示,假设图像有3个谱段,分别用
i,j,k表示,αi就是像元Pi与参考像元Pr之间的光谱角。
基于光谱角的云检测流程如图3所示。
基于以上分析,提出基于光谱角的云检测算法如下:
(1)计算遥感图像某像元Pi与云参考像元Pr的之间的光谱角,见式(1)。
(2)为了利用矢量的长度信息,构造一个包含像元Pi矢量与云参考像元Pr矢量长度的高斯滤波器,对αi进行滤波,即乘以一
个高斯权重系数GsCoef,该权重系数由式(2)得到,范围是(0,1 ]。高斯系数的作用是给那些矢量长度与参考像元矢量长
度接近的像元赋予较大的权重,直观解释就是矢量长度相近的像元更有可能是同一类地物。滤波结果为Cgsi,其范围是
(0,1]。
GsCoef=e-((|Pi|-|Pr|)2/(0.35·|Pr|2))(2)
Cgsi=GsCoef*(π-αi)/π(3)
(3)取适当的阈值对Cgsi进行二值化,即当minThresholdminThreshold && Cgsi<=maxThreshold)
Ci=1;//该像元判断为云
else
Ci=0;//该像元判断为非云
(4)重复步骤(1)~(3),依次完成所有像元检测,生成云掩膜。统计云像元所占比例,为后续处理做好准备。
2实验结果
实验结果
为了便于比较,本文利用开源遥感图像处理软件Grass7.0提供的自动云评估ACCA算法C++代码,与文中的光谱角云检测
算法C++代码,从整体检测精度(Cloud Overall Accuracy, COA)以及执行速度上进行比较。计算平台为:Lenovo Windows
7 64 bit PC; Intel Core i5 2520 @2.5 GHz CPU; 4.00 GB RAM。
从美国地质调查局网站得到156景经过人工标注的Landsat 7图像,作为本文云检测精度评价的标准图像。此156景数据分
布在9个不同的纬度区域,对不同地域的云分布有一定统计意义,同时它们是文献[3]中所采用的212幅人工标注图像的子
集。在这156景8 bit量化的遥感图像中,图像专业分析人员利用Photoshop中的图像套索工具一点点地分离云和非云像元。
综合考虑检测精度和运算速度,本文取Landsat 7中的Band1(450~515 nm),Band3(630~690 nm),Band4(750~900
nm),Band5(1 550~1 750 nm)作为试验对象,利用这四个谱段构造光谱角进行云检测。同时,为了更好地模拟在轨实时处理
过程,利用从原始图像截取的1 024像元×1 024像元大小的含不同云量的图像进行试验。云参考矢量Pr取
(225,215,182,168),minThreshold取0.6,maxThreshold取1,比较结果如图4~6所示。
对于参考图像,ACCA算法耗时较长,平均耗时为2 299.6 ms。耗时曲线中显示对不同的图像,耗时相差较大,这是因为
ACCA算法针对不同的地物采用不同的算法分支,而某些分支中包含有循环处理。SA执行速度很快,平均耗时仅为361.1
ms。
图7是带云的原始图像,图8是人工标注的云图像,图中,云标注为全白,非云地物为全黑。典型的ACCA云检测结果如图
9所示,SA检测结果如图10所示。整体检测精度分布如表2所示,可知ACCA的整体检测精度达到89.05%,高于SA算法的
83.6%。对检测误差较大的图像进行分析发现,高纬度地区覆盖的冰和雪常被误检为云,因为冰雪反射率与云接近,且具有较
高亮度;对薄云的漏检在两种算法中均存在,SA算法相对较严重。
3结论结论
分析可知,SA的检测精度略低于ACCA,但是仍然高于83%。最为关键的是,SA算法执行时间仅为ACCA算法执行时间
的1/6,这在实时图像处理中尤为重要。对于高纬度地区SA算法的过检问题,可以针对高纬度地区的冰雪特点,适当调高阈
值,提高检测精度。在轨应用时,一些实际问题例如图像的辐射校正、几何校正、图像匹配等问题需要加以考虑。
参考文献
参考文献
[1] 侯舒维, 孙文方, 郑小松. 遥感图像云检测方法综述[J]. 空间电子技术, 2014, 11(3).68 77.
[2] TAPAKIS R, CHARALAMBIDES A G. Equipment and methodologies for cloud detection and classification: a
review[J]. Solar Energy, 2013,95(5): 392 430.