一种高分辨率遥感图像的场景分类方法及系统与流程

文档序号:11251368阅读:568来源:国知局
一种高分辨率遥感图像的场景分类方法及系统与流程

本发明涉及遥感图像场景分类技术领域,尤其涉及一种基于高分辨率的遥感图像的分类方法以及分类系统。



背景技术:

同类地物在相同的条件下(光照、地形等)应该具有相同和相似的光谱信息和空间信息特征。不同类的地物之间具有差异,根据这种差异将遥感图像中的所有像素按其性质分为若干个类别的过程,称为遥感图像的分类。

近几年来,随着成像技术的进一步提高,可供使用的高分辨率遥感卫星图像日益增加,其空间分辨率可达到亚米级别。目前,随着空间分辨率的不断提升,一些人为因素影响下的复杂的多目标、多地类覆盖的场景类型(如大型工厂,飞机场,码头,停车场等)在遥感图像中能够清晰地呈现出来。在这种新形势下,利用遥感图像中所包含的场景信息进行遥感图像解译为高分辨率遥感图像分类提供了一种新的思路,基于高分辨率遥感影像的场景分类研究成为一个热门的研究方向。

近十年来,在机器视觉领域中出现的视觉词包(bag-of-visual-words,bovw)模型为高分辨率遥感影像的场景分类提供了可行的方法。视觉词包模型作为一种中层特征表达方法,是对低层特征的二次抽象,包含了语义信息,已在自然图像场景分类的研究中取得了广泛的认可。它无需分析场景图像中的具体目标组成,而是应用图像场景的整体统计信息,将量化后的图像低层特征视为视觉单词,通过图像的视觉单词分布来表达图像场景内容。视觉词包模型首先提取图像中局部图像块的低层特征,然后利用k均值聚类算法对得到的低层特征进行量化,将每一个聚类中心视为视觉单词,构建视觉词典,最后统计并计算图像中所包含的视觉单词的频率直方图,以此作为表达图像内容的特征向量。该模型在特征表达方面的优势,使其十分有利于对复杂的多目标、多地类覆盖的场景类型进行表达。

随着深度学习技术的不断发展,利用深度卷积神经网络(deepconvolutionalneuralnetwork,cnn)模型可以有效提取图像的深层语义特征,并且具有十分出色的特征表达能力。作为一种高层语义特征提取方法,其在遥感领域中的应用也越发深入。

然而,目前针对高分辨率遥感图像场景分类的方法都还只是停留在使用中层语义特征或高层语义特征中的一种来进行特征表达,缺少对二者的有机融合,对于多层级特征的综合利用度不足。



技术实现要素:

有鉴于此,本发明提供了一种高分辨率的遥感图像分类方法,包括:

对给定的遥感图像生成场景子图像集合,并建立场景分类训练集;

提取所述场景分类训练集中的每幅子图像的第一语义特征;

根据所述每幅子图像的第一语义特征建立第一场景分类模型;

基于第一场景分类模型计算第一分类结果概率向量;

提取所述场景分类训练集中的每幅子图像的第二语义特征;

根据所述每幅子图像的第二语义特征建立第二场景分类模型;

基于第二场景分类模型计算第二分类结果概率向量;

利用分数层融合方法将第一分类结果概率向量和第二分类结果概率向量进行融合,得到第三分类结果概率向量;

根据第三分类结果概率向量建立第三场景分类模型;

根据第三场景分类模型判定待分类遥感图像的场景类别。

进一步的,所述的建立场景分类训练集包括:

根据给定的遥感图像的场景类型定义若干个场景类别,并编号,对于每一个类别分别随机选取若干幅子图像作为场景分类训练集。

进一步的,所述的提取所述场景分类训练集中的每幅子图像的第一语义特征,包括:

对所述场景分类训练集中的每一幅子图像,利用bovw方法,计算其直方图特征,得到第一语义特征。

进一步的,所述的建立第一场景分类模型,包括:

将每幅子图像的第一语义特征和该子图像对应的场景类别编号作为训练数据,运用dbn算法设计dbn网络,然后训练dbn网络,训练好的dbn网络即第一场景分类模型。

进一步的,所述的计算第一分类结果概率向量,包括:

利用训练好的dbn网络对训练数据进行分类预测,将dbn网络输出层的结果作为第一分类结果概率向量。

进一步的,所述的提取所述场景分类训练集中的每幅子图像的第二语义特征,包括:

以cnn网络输出层之前的最后一个全连接层的输出作为特征提取器,对每一幅子图像提取第二语义特征。

进一步的,所述的建立第二场景分类模型,包括:

将每幅子图像的第二语义特征和该子图像对应的场景类别编号作为训练数据,运用dbn算法设计dbn网络,然后训练dbn网络,训练好的dbn网络即第二场景分类模型。

进一步的,所述的计算第二分类结果概率向量,包括:

利用训练好的dbn网络对训练数据进行分类预测,将dbn网络输出层的结果作为第二分类结果概率向量。

进一步的,所述的建立第三场景分类模型包括:

将每幅子图像的第三分类结果概率向量和该子图像对应的场景类别编号作为训练数据,运用dbn算法设计dbn网络,然后训练dbn网络,训练好的dbn网络即第三场景分类模型。

进一步的,所述的根据第三场景分类模型判定待分类遥感图像的场景类别,包括:

将待分类遥感图像生成待分类子图像集合,对每一幅子图像,利用bovw方法,计算其直方图特征,得到待分类子图像的第一语义特征;

将上述每幅待分类子图像的第一语义特征和该待分类子图像对应的场景类别编号作为训练数据,运用dbn算法设计dbn网络,然后训练dbn网络,利用训练好的dbn网络对训练数据进行分类预测,将dbn网络输出层的结果作为待分类遥感图像的第一分类结果概率向量;

以cnn网络输出层之前的最后一个全连接层的输出作为特征提取器,对上述每一幅待分类子图像提取第二语义特征;

将上述每幅待分类子图像的第二语义特征和该待分类子图像对应的场景类别编号作为训练数据,运用dbn算法设计dbn网络,然后训练dbn网络,利用训练好的dbn网络对训练数据进行分类预测,将dbn网络输出层的结果作为待分类遥感图像的第二分类结果概率向量;

利用分数层融合方法将待分类遥感图像的第一分类结果概率向量和第二分类结果概率向量进行融合,得到待分类遥感图像的第三分类结果概率向量;

利用所述第三场景分类模型对待分类遥感图像的第三分类结果概率向量进行判定,得到待分类遥感图像的场景分类结果。

本发明还提出一种实现上述方法的场景分类系统,包括:

子图像生成模块,用于对给定的遥感图像生成场景子图像集合;

场景分类训练集建立模块,用于建立场景分类训练集;

第一语义特征提取模块,用于提取所述场景分类训练集中的每幅子图像的第一语义特征;

第一场景分类模型建立模块,用于根据所述每幅子图像的第一语义特征生成第一场景分类模型;

第一计算模块,用于基于第一场景分类模型计算第一分类结果概率向量;

第二语义特征提取模块,用于提取所述场景分类训练集中的每幅子图像的第二语义特征;

第二场景分类模型建立模块,用于根据所述每幅子图像的第二语义特征生成第二场景分类模型;

第二计算模块,用于基于第二场景分类模型计算第二分类结果概率向量;

第三计算模块,用于利用分数层融合方法将第一分类结果概率向量和第二分类结果概率向量进行融合,得到第三分类结果概率向量;

第三场景分类模型建立模块,用于根据第三分类结果概率向量生成第三场景分类模型;

判定模块,用于根据第三场景分类模型判定待分类遥感图像的场景类别。

本发明采用上述技术方案,具有如下优点:

本发明所提供的遥感图像的场景分类方法及系统,能够同时利用高分辨率场景图像的中层和高层多级语义特征,使二者有机融合,提高了场景分类的准确性。

上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。

附图说明

在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。

图1为本发明实施例提供的一种遥感图像的场景分类方法的流程图。

图2为本发明实施例中的dbn网络结构图。

图3为本发明实施例中的rbm网络结构图。

图4为本发明实施例提供的一种遥感图像的场景分类系统的结构图。

具体实施方式

在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。

本实施例所使用的高分辨率遥感场景图像可以是任何一种空间分辨率小于5米的遥感数据。

如图1所示,本实施例的一种高分辨率遥感图像的场景分类方法包括:

步骤s01,对给定的遥感图像生成场景子图像集合,并建立场景分类训练集。

本实例中,场景分类训练集的建立方法为:根据给定的遥感图像的场景类型定义若干个场景类别,并编号,对于每一个类别分别随机选取若干幅子图像作为场景分类训练集。例如:给定的遥感图像的场景类型为城市,定义建筑物、道路、水体、绿地等10个场景类别,并分别编号为1,2,3,4,……,10;对每个场景类别,分别随机选择200幅子图像,将得到的这2000幅子图像作为场景分类训练样本集。

步骤s02,提取场景分类训练集中的每幅子图像的第一语义特征。

本实施例的第一语义特征可利用bovw方法,计算其直方值特征得到,是一种中层语义特征。具体方法如下:

对于场景分类训练集中的每一幅子图像,分别进行主成份分析变换(principalcomponentanalysis,pca),对pca变换后的第一主成份图像进行规则格网采样,得到均匀规格的图像块,每个图像块的大小为n×n(本实施例取n=16),图像块之间的间隔为m×m(本是实施例取n=8),n为正整数,且为2的整数次幂,m为正整数;对采样所得到的图像块,提取其尺度不变特征(scaleinvariantfeaturetransform,sift),该特征通过计算图像块整个区域上的梯度方向而得到;将场景分类训练集中的所有子图像的sift特征向量集合进行k均值聚类,将聚类得到的每一个聚类中心作为一个视觉单词,将这k(本实施例取k=250)个聚类中心的取值及其对应的视觉单词编号作为视觉词汇表,k为正整数;采用视觉单词映射方法将pca变换后的第一主成分图像中包含的图像块的sift特征映射到对应的视觉单词,计算每个图像块的sift特征与其对应的视觉词汇表中的每个视觉单词所对应特征值之间的欧式距离,找出欧式距离最小的视觉单词的编号,并将其作为相应的图像块的sift特征映射结果;统计视觉词汇表中每个视觉单词在场景图像区域中出现的次数,并以向量[f1,…,fj,…,fk]表示场景图像的视觉词包直方图特征,该特征即为第一语义特征。

步骤s03,根据每幅子图像的第一语义特征建立第一场景分类模型。

步骤s04,基于第一场景分类模型计算第一分类结果概率向量。

本实施中,第一场景分类模型采用dbn网络模型,具体来说,就是将每幅子图像的第一语义特征和该子图像对应的场景类别编号作为训练数据,运用dbn算法设计dbn网络,然后训练dbn网络,训练好的dbn网络即第一场景分类模型。

下面结合图2和图3对步骤s03和步骤04进行详细描述。

将每幅子图像的第一语义特征和该子图像对应的场景类别编号作为训练数据,设计dbn网络,dbn网络由多层无监督的受限玻尔兹曼机(restrictedboltzmanmachine,rbm)网络和一层有监督的反向传播(backpropagation,bp)网络组成,其中,rbm由一个可见层(一般用v表示)和一个隐含层(一般用h表示)组成,只有可见层节点和隐含层节点有连接权值,而每一层的节点之间没有连接;通过确定网络深度,即中间层中rbm的层数(本实施例取3)、输入层节点数(根据特征向量的维数确定,本实施例取250)、输出层节点数(根据场景类型数目确定,本实施例取10)等结构参数,可以得到初始的dbn网络结构;之后,训练dbn网络模型,训练过程分为“预训练”和“微调”两部分,预训练阶段dbn采用无监督的逐层训练方式对各层中的rbm进行训练,低一层的rbm的隐层输出作为上一层的rbm的可见层输入,确保特征向量映射达到最优,微调阶段采用监督学习方式对最后一层的bp网络进行训练,并将实际输出与预期输出的误差逐层向后传播,对整个dbn网络的权值进行微调;利用训练好的dbn网络对训练数据进行分类预测,将dbn网络输出层的结果[m1,m2,…,mm]作为第一分类结果的概率向量。

步骤s05,提取所述场景分类训练集中的每幅子图像的第二语义特征。

本实施例的第二语义特征是高层语义特征,需要通过cnn网络模型提取。将cnn网络输出层之前的最后一个全连接层的输出作为特征提取器,对所述场景分类训练集中的每一幅子图像提取第二语义特征。cnn模型是一种现有的国际公开的且已经训练好的网络模型,如alexnet和googlenet等,本实施例选用googlenet。

步骤s06,根据每幅子图像的第二语义特征建立第二场景分类模型。

步骤s07,基于第二场景分类模型计算第二分类结果概率向量。

本实施中,第二场景分类模型依然采用dbn网络模型,具体来说,就是将场景分类训练集中每幅子图像的第二语义特征和该子图像对应的场景类别编号作为训练数据,设计dbn网络结构,确定网络中间层中rbm的层数(本实施例取3)、输入层节点数(本实施例取1024)、输出层节点数(本实施例取10)等结构参数;采用步骤s03中所述的训练过程训练该dbn网络模型,利用训练好的dbn网络对训练数据进行分类预测,将dbn网络输出层的结果[h1,h2,…,hh]作为第二分类结果的概率向量。

步骤s08,利用分数层融合方法将第一分类结果概率向量和第二分类结果概率向量进行融合,得到第三分类结果概率向量。

具体地,将第一分类结果概率向量[m1,m2,…,mm]和第二分类结果概率向量[h1,h2,…,hh]直接拼接在一起,实现特征向量的分数层融合,得到第三分类结果概率向量[m1,m2,…,mm,h1,h2,…,hh]。

步骤s09,根据第三分类结果概率向量建立第三场景分类模型。

本实施中,第三场景分类模型依然采用dbn网络模型,具体来说,将每幅子图像的第三分类结果概率向量和该子图像对应的场景类别编号作为训练数据,运用dbn算法设计dbn网络(本实施例中,网络深度为3,输入层节点数为10+10=20,输出层节点数为10),采用步骤s03中所述的训练过程训练该dbn网络模型,训练好的dbn网络模型即第三场景分类模型。

步骤s10,根据第三场景分类模型判定待分类遥感图像的场景类别。

具体说来,判定方法包括:

步骤s1001,将待分类遥感图像生成待分类子图像集合,对每一幅子图像,利用bovw方法,计算其直方图特征,得到待分类子图像的第一语义特征,具体方法参见步骤s02;

步骤s1002,将上述每幅待分类子图像的第一语义特征和该待分类子图像对应的场景类别编号作为训练数据,运用dbn算法设计dbn网络,然后训练dbn网络,利用训练好的dbn网络对训练数据进行分类预测,将dbn网络输出层的结果作为待分类遥感图像的第一分类结果概率向量,具体方法参见步骤s03和步骤s04;

步骤s1003,将cnn网络输出层之前的最后一个全连接层的输出作为第二语义特征提取器,对上述每一幅待分类子图像提取第二语义特征,具体方法参见步骤s05;

步骤s1004,将上述每幅待分类子图像的第二语义特征和该待分类子图像对应的场景类别编号作为训练数据,运用dbn算法设计dbn网络,然后训练dbn网络,利用训练好的dbn网络对训练数据进行分类预测,将dbn网络输出层的结果作为待分类遥感图像的第二分类结果概率向量,具体方法参见步骤s06和步骤s07;

步骤s1005,利用分数层融合方法将待分类遥感图像的第一分类结果概率向量和第二分类结果概率向量进行融合,得到待分类遥感图像的第三分类结果概率向量,具体方法参见步骤s08;

步骤s1006,将待分类遥感图像的第三分类结果概率向量作为特征向量代入步骤s09中的第三场景分类模型对进行判定,得到待分类遥感图像的场景分类结果。

如图4所示,本发明还提供了一种可以实现上述方法的系统,包括:

子图像生成模块101,用于对给定的遥感图像生成场景子图像集合;

场景分类训练集建立模块102,用于建立场景分类训练集;

第一语义特征提取模块103,用于提取所述场景分类训练集中的每幅子图像的第一语义特征;

第一场景分类模型建立模块104,用于根据所述每幅子图像的第一语义特征生成第一场景分类模型;

第一计算模块105,用于基于第一场景分类模型计算第一分类结果概率向量;

第二语义特征提取模块106,用于提取所述场景分类训练集中的每幅子图像的第二语义特征;

第二场景分类模型建立模块107,用于根据所述每幅子图像的第二语义特征生成第二场景分类模型;

第二计算模块108,用于基于第二场景分类模型计算第二分类结果概率向量;

第三计算模块109,用于利用分数层融合方法将第一分类结果概率向量和第二分类结果概率向量进行融合,得到第三分类结果概率向量;

第三场景分类模型建立模块1010,用于根据第三分类结果概率向量生成第三场景分类模型;

判定模块1011,用于根据第三场景分类模型判定待分类遥感图像的场景类别。

进一步的,场景分类训练集建立模块102还包括:

类别定义模块,用于根据给定的遥感图像的场景类型定义若干个场景类别,并编号;以及样本获取模块,用于对于每一个场景类别分别随机选取若干幅子图像作为场景分类训练集中的样本。

进一步的,第一语义特征是指利用bovw方法得到直方图特征,是一种中层语义特征。第一场景分类模型是以每幅子图像的第一语义特征和该子图像对应的场景类别编号作为训练数据的dbn网络模型。第二语义特征是高层语义特征,是以cnn网络输出层之前的最后一个全连接层的输出作为特征提取器得到。第二场景分类模型是以每幅子图像的第二语义特征和该子图像对应的场景类别编号作为训练数据的dbn网络模型。

进一步的,判定模块1011还包括:

图像获取模块10111,用于获取待分类的遥感图像;

特征向量获取模块10112,用于将待分类的遥感图像代入所述的第一语义特征提取模块103、第一场景分类模型建立模块104、第一计算模块105、第二语义特征提取模块106、第二场景分类模型建立模块107、第二计算模块108以及第三计算模块109,得到待分类遥感图像的第三分类结果概率向量,并以此为待分类遥感图像的特征向量;

以及对比模块10113,用于将上述待分类遥感图像的特征向量代入第三场景分类模型进行对比,得到最终的场景类别。

本发明实施例所提供的遥感图像的场景分类方法及系统,能够同时利用高分辨率场景图像的中层和高层多级语义特征,使二者有机融合,提高了场景分类的准确性。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1