一种基于卷积神经网络的遥感图像云检测方法
【专利摘要】一种基于卷积神经网络的遥感图像云检测方法,它包括以下步骤:一、训练样本集建立;二、卷积神经网络分类模型生成;三、超像素子区提取;四、云概率图生成;五、云区粗检测;六、云区精检测;通过以上步骤,我们可以比较正确地检测出遥感图像中的云区域,并且对于具有复杂背景或者含有半透明云的遥感图像,也能取得较好的检测结果,从而可以解决云可能给分析人员造成的错误判断和分析等问题,为其后续的处理及分析带来了便利。本发明能使最终的云检测结果中云区域有较好的边缘,对复杂场景也有着较好的鲁棒性,从而能得到更好的检测结果。
【专利说明】
一种基于卷积神经网络的遥感图像云检测方法
技术领域
[0001] 本发明提供一种基于卷积神经网络的遥感图像云检测方法,属于光学遥感图像处 理领域。
【背景技术】
[0002] 随着遥感技术的高速发展,遥感图像已经广泛地应用到了勘察测量、地理制图以 及资源监控等众多领域。然而通常情况下,遥感图像中都会有云的存在,这不但会造成采集 信息的丢失,还会给目标探测或目标识别等后续处理带来困难,以至于使分析人员得到错 误的分析结果。因此,云检测和云去除已成为遥感图像处理过程中需首要解决的问题之一。
[0003] 目前,遥感图像云检测方法主要包括:基于物理阈值的分割法和基于特征提取的 模式识别法。阈值分割法利用的是云的高反射率和低温特性,其算法简单,检测效果较好, 缺点是当地面覆盖了冰、雪、沙漠或云为薄卷云、层云和小积云时,很难将云和地面区分开 来,因为大部分光谱方法只适用于特定的场景或是识别不同的云。模式识别法利用云的形 状、灰度、纹理信息,提取云的空间域特征和频率域特征,再根据这些特征采用分类器进行 云检测。该方法的性能要优于阈值分割方法,但它依赖于训练数据的正确性和不同类特征 的合适组合。
[0004] 在遥感图像中,地面覆盖物、云的厚度以及形状都是多种多样的。然而现存的大部 分云检测算法都只用到了图像的低维特征,它们很难适应具有复杂背景的遥感图像,尤其 是当图像中有和背景对比度较低的薄云时。
【发明内容】
[0005] 目的:
[0006] 本发明的目的在于提供一种基于卷积神经网络的遥感图像云检测方法,它可以提 取遥感图像中云的高维特征,使得其对具有复杂背景的遥感图像有较好的鲁棒性,从而得 到更准确的检测结果。
[0007] 技术方案:
[0008] 本发明基于卷积神经网络对遥感图像中的云区进行检测,首先将原始遥感图像分 成若干子区域,对每个子区采用卷积神经网络计算云的概率,进而得到云的概率图,最后将 概率图求精得到云检测结果。具体技术方案如下:
[0009] 本发明一种基于卷积神经网络的遥感图像云检测方法,它包括以下步骤:
[0010]步骤一:训练样本集建立
[0011] 首先为选定的样本图像人工标注真值,将云区域标注出来,然后从云区选取N个大 小为K X K的子块作为正样本,从非云区选取6*N个大小为K X K的子块作为负样本,其中N大 于10000,K为35-75;
[0012] 步骤二:卷积神经网络分类模型生成
[0013] 建立一个具有6层的卷积神经网络,其中前4层为卷积层,后2层为全连接层;网络 的输入是大小为KXK的RGB三通道遥感图像子块,网络的输出是两个数值,分别表示是云的 概率和非云的概率;将步骤一中选取的所有样本作为该卷积神经网络的输入,对该网络进 行训练,得到网络所需的所有参数;
[0014] 步骤三:超像素子区提取
[0015] 通过简单的线性迭代聚类算法(SLIC)对测试图像进行超像素聚类分割;聚类算法 在一个5维空间进行,这5个维度分别为CIELab颜色空间的L,a,b值,以及像素的X,y坐标值, 然后在这个5维空间中构造距离度量标准,如下式所示:
[0016]
[0017]
[0018]
[0019]其中Ds表示第i个像素和第j个像素的距离,α表示控制颜色重要性和坐标重要性 的权值,Size表示一个超像素中像素的个数;
[0020] 然后利用队对图像像素进行局部聚类,将图像划分为若干个超像素子区;
[0021] 步骤四:云概率图生成
[0022] 对每个超像素子区,随机选取5个像素点,然后以这5个像素点为中心提取5个大小 为K X K的块,分别将这5个块作为卷积神经网络的输入进行计算,得到这5个块是云的概率, 取这5个概率的平均值作为该超像素最终的云概率值;对每个超像素进行该操作,即可得到 原图像的云概率图;
[0023] 步骤五:云区粗检测
[0024]云概率图中,云区的值是比较大的,尤其在厚云区以及云区的中心位置,其值是接 近于1的;而非云区的概率值则是比较小的,甚至接近于〇;我们用阈值0.5对云概率图进行 初步分割,即可得到云区的粗检测结果;
[0025] 步骤六:云区精检测
[0026] 云区边界处的对比度比较弱,其对应的云概率值也介于云和非云的概率值之间, 因此,在步骤五中采用0.5作为阈值会出现云区边界位置误检的情况;为了得到更精确的云 区边界,我们对步骤五中得到的云区域进行进一步求精;考虑到两个相邻超像素的云概率 是有联系的,且概率值是从云的中心向四周递减的,因此我们定义云区的概率梯度,并通过 概率梯度的变化对云区进行精确检测;
[0027]对于云概率值大于0.5的超像素a,设pro为其云概率值,统计a的邻域中云概率值 大于pro的超像素个数,记为m,且用pr〇i( i = 1,2,…,m)代表这m个邻域的云概率值,则超像 素a的概率梯度pr〇new定义为下式:
[0029] --「姐'咏系H、JT5C牛1木反口、J ?呎,抓叨匕[1、」寸丨)切姐'咏系牛弓吆/mi象素是相近的,这时就可以把它当作云,否则为非云;因此,我们可以设定一个阈值t来对云区域
[0028] 的边界进行精化;若一个超像素的概率梯度Pronew小于t,则其有可能是云区中的噪声或者 是非云区,因此将其判定为非云,否则判定为云;因为精化后的云概率将变大,所以t应该大 于 0.5;
[0030]通过以上步骤,我们可以比较正确地检测出遥感图像中的云区域。并且对于具有 复杂背景或者含有半透明云的遥感图像,也能取得较好的检测结果。从而可以解决云可能 给分析人员造成的错误判断和分析等问题,为其后续的处理及分析带来了便利。
[0031] 本发明的有益效果在于:
[0032] (1)本发明通过SLIC算法对原始遥感图像进行超像素聚类分割,能得到紧凑的,近 似均匀的超像素,使物体轮廓保持得较好,这样能使最终的云检测结果中云区域有较好的 边缘
[0033] (2)本发明通过卷积神经网络可以提取到云的高层特征,使得本检测算法对复杂 场景也有着较好的鲁棒性,从而能得到更好的检测结果。
[0034] (3)本发明通过求超像素的概率梯度,能精化云区域的边缘,使边缘区域的半透明 云也得到较好的检测结果,从而得到更准备的云区域边缘。
【附图说明】
[0035]图1为本发明的实现流程图。
[0036]图2(a)为简单背景的原始遥感图像。
[0037]图2(b)为利用SLIC算法得到的超像素聚类分割结果。
[0038]图2(c)为通过卷积神经网络生成的云概率图。
[0039]图2(d)为对云概率图求精后的云检测结果图。
[0040] 图3(a)为复杂背景的原始遥感图像。
[0041] 图3(b)为利用SLIC算法得到的超像素聚类分割结果。
[0042]图3(c)为通过卷积神经网络生成的云概率图。
[0043]图3(d)为对云概率图求精后的云检测结果图。
【具体实施方式】
[0044] 为了更好地理解本发明的技术方案,下面结合附图及【具体实施方式】详细介绍本发 明。
[0045] 实施例1:简单背景的遥感图像云检测实例
[0046] 步骤1:训练样本集建立
[0047]首先为选定的样本图像人工标注真值,将云区域标注出来。然后从云区选取N个大 小为K X K的子块作为正样本,从非云区选取6*N个大小为K X K的子块作为负样本。本实验 中,N取42000,K取55。
[0048] 步骤2:卷积神经网络分类模型生成
[0049] 建立一个具有6层的卷积神经网络,其中前4层为卷积层,后2层为全连接层。网络 的输入是大小为55X55的RGB三通道遥感图像子块,网络的输出是两个数值,分别表示是云 的概率和非云的概率。对卷积层来说,特征图的尺寸可以用width X height X depth表示,前 两个值表示空间尺寸,最后一个值表示通道数量。用C0NV#代表卷积层,LRN#代表局部响应 归一化层,MAXP#代表最大池化层,FC#代表全连接层,则该网络的结构可以表示为:CONVl (55 X 55 X 48) -LRN1-MAXP1-C0NV2 (27 X 27 X 64) -LRN2-MAXP2-C0NV3 (13 X 13 X 128) -C0NV4(6 X 6 X 256) -MAXP4-FC1 (128) -FC2 (2)。
[0050] 将步骤1中得到的所有样本作为该卷积神经网络的输入,对该网络进行训练,得到 网络所需的所有参数。
[0051] 步骤3:超像素子区提取
[0052]通过简单的线性迭代聚类算法(SLIC)对测试图像进行超像素聚类分割。聚类算法 在一个5维空间进行,这5个维度分别为CIELab颜色空间的L,a,b值,以及像素的X,y坐标值。 然后在这个5维空间中构造距离度量标准,如下式所示:
[0053]
[0054]
[0055]
[0056]其中Ds表示第i个像素和第j个像素的距离,α表示控制颜色重要性和坐标重要性 的权值,Size表示一个超像素中像素的个数。本实验中,α取5000,Size取400。
[0057]然后利用08对图像像素进行局部聚类,将图像划分为若干个超像素子区。如图2 (b)所示。
[0058] 步骤4:云概率图生成
[0059] 对每个超像素子区,随机选取5个像素点,然后以这5个像素点为中心提取5个大小 为K X K的块,分别将这5个块作为卷积神经网络的输入进行计算,得到这5个块是云的概率, 取这5个概率的平均值作为该超像素最终的云概率值。对每个超像素进行该操作,即可得到 原图像的云概率图。如图2(c)所示。
[0060] 步骤5:云区粗检测
[0061]云概率图中,云区的值是比较大的,尤其在厚云区以及云区的中心位置,其值是接 近于1的。而非云区的概率值则是比较小的,甚至接近于0。我们用阈值0.5对云概率图进行 初步分割,即可得到云区的粗检测结果。
[0062] 步骤6:云区精检测
[0063] 云区边界处的对比度比较弱,其对应的云概率值也介于云和非云的概率值之间, 因此,在步骤5中采用0.5作为阈值会出现云区边界位置误检的情况。为了得到更精确的云 区边界,我们对步骤五中得到的云区域进行进一步求精。考虑到两个相邻超像素的云概率 是有联系的,且概率值是从云的中心向四周递减的,因此我们定义云区的概率梯度,并通过 概率梯度的变化对云区进行精确检测。
[0064]对于云概率值大于0.5的超像素a,设pro为其云概率值,统计a的邻域中云概率值 大于pro的超像素个数,记为m,且用pr〇i( i = 1,2,…,m)代表这m个邻域的云概率值,则超像 素a的概率梯度pr〇new定义为下式:
[0065]
[0066] 当一个超像素的概率梯度很大的时候,说明它的邻域超像素的云概率与该超像素 是相近的,这时就可以把它当作云,否则为非云。因此,我们可以设定一个阈值t来对云区域 的边界进行精化。若一个超像素的概率梯度Pro new小于t,则其有可能是云区中的噪声或者 是非云区,因此将其判定为非云,否则判定为云。因为精化后的云概率将变大,所以t应该大 于0.5。这里,我们设t = 0.7。检测结果如图2(d)所示。
[0067]实施例2:复杂背景的遥感图像云检测实例
[0068] 此时,不需要再进行实施例1中的步骤1和步骤2,直接进行实施例1中的步骤3-步 骤6就可以得到检测结果。图3(a)为复杂背景的原始遥感图像;图3(b)为利用SLIC算法得到 的超像素聚类分割结果;图3(c)为通过卷积神经网络生成的云概率图;图3(d)为对云概率 图求精后的云检测结果图。
【主权项】
1. 一种基于卷积神经网络的遥感图像云检测方法,其特征在于:它包括W下步骤: 步骤一:训练样本集建立 首先为选定的样本图像人工标注真值,将云区域标注出来,然后从云区选取N个大小为 KXK的子块作为正样本,从非云区选取6*N个大小为KXK的子块作为负样本,其中N大于 10000,Κ为35-75; 步骤二:卷积神经网络分类模型生成 建立一个具有6层的卷积神经网络,其中前4层为卷积层,后2层为全连接层;网络的输 入是大小为ΚΧΚ的RGB^通道遥感图像子块,网络的输出是两个数值,分别表示是云的概率 和非云的概率;将步骤一中选取的所有样本作为该卷积神经网络的输入,对该网络进行训 练,得到网络所需的所有参数; 步骤Ξ:超像素子区提取 通过简单的线性迭代聚类算法即化1C对测试图像进行超像素聚类分割;聚类算法在一 个5维空间进行,运5个维度分别为CIELab颜色空间的L,a,b值,W及像素的x,y坐标值,然后 在运个5维空间中构造距离度量标准,如下式所示:其中Ds表示第i个像素和第j个像素的距离,α表示控制颜色重要性和坐标重要性的权 值,Size表示一个超像素中像素的个数; 然后利用Ds对图像像素进行局部聚类,将图像划分为若干个超像素子区; 步骤四:云概率图生成 对每个超像素子区,随机选取5个像素点,然后W运5个像素点为中屯、提取5个大小为K XK的块,分别将运5个块作为卷积神经网络的输入进行计算,得到运5个块是云的概率,取 运5个概率的平均值作为该超像素最终的云概率值;对每个超像素进行该操作,即得到原图 像的云概率图; 步骤五:云区粗检测 云概率图中,云区的概率值接近于1;而非云区的概率值接近于0;用阔值0.5对云概率 图进行初步分割,即得到云区的粗检测结果; 步骤六:云区精检测 云区边界处的对比度比较弱,其对应的云概率值也介于云和非云的概率值之间,因此, 在步骤五中采用0.5作为阔值会出现云区边界位置误检的情况;为了得到更精确的云区边 界,对步骤五中得到的云区域进行进一步求精;考虑到两个相邻超像素的云概率是有联系 的,且概率值是从云的中屯、向四周递减的,因此定义云区的概率梯度,并通过概率梯度的变 化对75Γ区进行精确检测; 对于云概率值大于0.5的超像素曰,设pro为其云概率值,统计a的邻域中云概率值大于 pro的超像素个数,记为m,且用9的1。= 1,2,-',111)代表运111个邻域的云概率值,则超像素曰 的概率梯度pronew定义为下式:当一个超像素的概率梯度很大的时候,说明它的邻域超像素的云概率与该超像素是相 近的,运时就把它当作云,否则为非云;因此,设定一个阔值t来对云区域的边界进行精化; 若一个超像素的概率梯度prOnew小于t,则其有可能是云区中的噪声或者是非云区,因此将 其判定为非云,否则判定为云;因为精化后的云概率将变大,所Wt应该大于0.5 ; 通过W上步骤,能正确地检测出遥感图像中的云区域,并且对于具有复杂背景及含有 半透明云的遥感图像,也能取得好的检测结果,从而解决云可能给分析人员造成的错误判 断和分析问题,为其后续的处理及分析带来了便利。
【文档编号】G06K9/62GK105844228SQ201610160929
【公开日】2016年8月10日
【申请日】2016年3月21日
【发明人】谢凤英, 资粤, 史蒙云, 姜志国, 尹继豪, 史振威, 张浩鹏
【申请人】北京航空航天大学