一种基于夜间灯光数据的建成区智能化提取方法与流程

文档序号:11865276阅读:929来源:国知局
一种基于夜间灯光数据的建成区智能化提取方法与流程
本发明涉及一种提取方法,具体涉及一种基于夜间灯光数据的建成区智能化提取方法。
背景技术
:随着城市化进程的加快,在区域乃至全国尺度上,对于城市化区域的空间布局、空间扩展状态的研究越来越重要。目前城市建成区提取主要采用土地利用调查数据、TM/ETM或MODIS影像解译数据,但是处理效率慢,且提取的建成区结果与城市的真实发展水平之间存在一定差异,因此,采用夜间灯光遥感数据提取城市范围越来越受到关注,目前常用的方法集中在阈值法,然而采用阈值法从夜间灯光遥感数据提取建成区范围的精度有限,且阈值的选取受时间和地区差异的影响较大,同一阈值无法适应不同城市不同时间的建成区提取。近年来,部分研究人员结合夜间灯光数据和植被指数数据,采用自动分类算法提取城市建成区范围,但是多源数据的引入,也导致分类算法的复杂,如何综合利用夜间灯光遥感数据和其他数据的信息,构建能够根据城市自身特征和时间自适应的智能优化算法,实现城市建成区范围的智能化提取,是现有技术要解决的问题。技术实现要素:为解决上述现有技术中的不足,本发明的目的是提供一种基于夜间灯光数据的建成区智能化提取方法,本发明基于夜间灯光遥感影像和植被指数影像,采用粒子群优化算法选取城市和非城区样本,然后基于SVM分类的区域生长算法,实现城市建成区的智能化提取,本发明成果能够适应不用城市不同时期的建成区提取。本发明的目的是采用下述技术方案实现的:本发明提供一种基于夜间灯光数据的建成区智能化提取方法,所述方法包括下述步骤:步骤1:根据同一城市范围的夜间灯光遥感影像、植被指数遥感影像和高分辨率遥感影像,制作待处理区域的影像和交叉验证样本;步骤2:初始化粒子群参数,根据每个粒子的参数,从夜间灯光和植被指数遥感影像中,选取城区种子样本和非城区样本;步骤3:针对每一个粒子,采用基于支持向量机SVM分类的区域生长算法,根据城区种子领域像元的分类结果,判断是否有新增的城区像元,如果新增像元数为0,则完成支持向量机SVM模型训练;如果新增像元数大于0,则更新城区种子,继续训练支持向量机SVM模型;步骤4:根据步骤3训练完成的支持向量机SVM模型,采用交叉验证样本进行精度验证,计算每模型的分类精度;步骤5:根据粒子群最优分类精度和精度方差,判断是否满足终止条件,如果满足就输出最优参数;如果不满足,则采用自适应粒子群优化算法更新粒子群参数,返回步骤2;步骤6:根据步骤5输出的最优参数,重新确定城区种子样本和非城区样本,采用基于SVM分类的区域生长算法,提取城市建成区范围,并输出到结果影像中。进一步地,所述步骤1包括下述步骤:(1)选取某一城市范围,下载相近时间的SuomiNPP卫星的VIIRS夜间灯光遥感影像数值NTL和植被指数遥感影像数值NDVI,并采样到相同的空间分辨率,根据地理位置进行空间配准,然后裁切成相同大小的影像数据;(2)对照相近时间的高分辨率遥感影像,包括资源三号卫星、高分二号卫星、WorldView-2卫星遥感影像,随机选取城区和非城区的样本,保存到文本文件中,作为支持向量机SVM分类预测的交叉验证样本,该交叉验证样本文件中每个样本保存在一行:<label><1>:<value1><2>:<value2>(1)其中,label为样本标签,取值为0或1,0代表非城区样本,1代表城区样本,标签由高分辨率遥感影像确定;value1代表该样本的夜间灯光遥感影像数值NTL;value2代表该样本的植被指数遥感影像数值NDVI。进一步地,所述步骤2基于粒子群优化算法,采用不同的夜间灯光数据阈值,确定城区样本种子和非城区样本,包括下述步骤:(1)粒子群参数初始化:采用基于SVM分类的区域生长算法实现对城市建成区范围的提取,用于训练的城区样本和非城区样本均包含夜间灯光遥感影像数值NTL和植被指数遥感影像数值NDVI两维特征值,城区初始种子样本和非城区样本的确定受夜间灯光遥感影像NTL阈值的影响,引入粒子群优化算法PSO对城区初始种子样本和非城区样本的NTL阈值参数进行优化;在粒子群优化算法PSO中,选择城区初始种子样本和非城区样本的夜间灯光遥感影像数值NTL阈值参数作为粒子的变量参数,每个粒子位置属性X(s1,s2),s1代表城区初始种子样本的夜间灯光遥感影像数值NTL阈值,s2代表非城区样本的夜间灯光遥感影像数值NTL阈值;采用粒子群优化算法PSO在搜索空间中搜寻最优解时,每个粒子的状态由粒子的速度和位置决定,采用随机函数对每个粒子的位置和速度进行初始化处理,粒子群的初始化位置和速度分别为:Xi(s1,s2)和Vi(s1,s2),其中i代表第i个粒子;(2)根据粒子群初始化参数,提取城区种子样本和非城区样本。进一步地,所述步骤(2)中,城区种子样本提取包括:将输入影像范围划分为尺寸n×n的小块,当影像的宽高不能被整除时,影像尾端的分块尺寸小于n×n;搜寻每块范围影像的夜间灯光遥感影像数值NTL最大值,且当最大值大于s1时,即选取此位置对应夜间灯光遥感影像数值NTL和植被指数遥感影像数值NDVI为城区种子样本;非城区样本选取包括:在整个输入影像范围内进行搜索,当某个位置的植被指数遥感影像数值NDVI大于0.4且夜间灯光遥感影像数值NTL时,或者植被指数遥感影像数值NDVI小于0时,则将该位置对应的夜间灯光遥感影像数值NTL和植被指数遥感影像数值NDVI选为非城区样本。进一步地,所述步骤3包括下述步骤:(1)通过每一个粒子的参数,选取城区种子样本和非城区样本之后,采用支持向量机SVM对样本进行训练:支持向量机SVM模型采用以下核函数:1)线性核函数:K(xi,x)=(xi·x)(2)2)径向基核函数:K(xi,x)=exp(-γ||xi-x||2)(3)式中:xi为输入样本、x为输入向量、γ核函数参数;(2)采用训练后的支持向量机SVM模型,对所有城区种子周围3×3领域中的像元进行再分类,如果通过再分类没有产生新的城区样本,则完成支持向量机SVM模型训练;如果通过再分类产生新的城区样本,则将新增的城区样本加入原有的城区样本中,再采用支持向量机SVM进行训练,直至不产生新的城区样本,则完成支持向量机SVM模型训练。进一步地,所述步骤4包括:当第一个粒子训练出的支持向量机SVM模型,将该模型应用到对交叉验证样本的预测,即采用交叉验证CV方式,对支持向量机SVM模型的精度进行计算,分类精度如下式所示:f=cscs+us---(4)]]>式中:cs和us分别代表正确样本数和错分样本数;最后返回步骤2和3,训练下一个粒子的支持向量机SVM模型,计算基于该粒子参数的分类精度,直至完成每个粒子的分类精度计算。进一步地,所述步骤5包括下述步骤:(1)计算粒子群分类精度方差和最优分类精度:设粒子群的粒子数目为n,fi为第i个粒子的分类精度,favg为粒子群目前的平均精度,σ2为粒子群的群体精度方差,σ2的定义为:σ2=1n2Σi=1n[fi-favgf]---(5)]]>其中,f为归一化定标因子,f的取值采用如下公式:f=max{|fi-favg|},max{|fi-favg|}>11,others---(6)]]>群体适应度方差σ2反映的是粒子群中所有粒子的收敛程度,σ2越小,则粒子群越趋于收敛,反之,则粒子群处于随机搜索阶段;粒子群最优分类精度fG,是当前整个粒子群分类精度的极大值;(2)判断粒子群是否满足收敛条件:粒子群优化算法最终达到收敛位置时,整个粒子群处于全局最优值,利用分类精度方差和最优分类精度来判断是否收敛,收敛条件如下所示:σ2=0fG≥fT---(7)]]>式中,fT是预先设定的理论最优分类精度;当粒子群位置满足收敛条件时,则将粒子群最优分类精度fG对应的粒子参数输出,作为粒子群优化算法PSO训练出来的最优参数;否则,需要对粒子群的位置进行更新;(3)当粒子群不满足收敛条件时,对粒子群的速度和位置进行更新:根据如下公式对粒子群的速度和位置进行更新:Vidt+1=wtVidt+c1r1(Pidt-Xidt)+c2r2(PGt-Xidt)Xidt+1=Xidt+Vidt+1---(8)]]>其中,t为当前迭代次数,Xi=(Xi1,Xi2,…,Xid)为粒子群的位置,粒子群搜索空间为D维,则d=1,2,…,D;Vi=(Vi1,Vi2,…,Vid)为粒子群在空间中的飞行速度;c1和c2是两个学习因子,r1和r2是取值范围为[0,1]的随机数;wt为惯性系数,随着迭代次数而减小,公式如下:wt=w0exp(-0.5t2)(9)(4)重新计算粒子群分类精度方差和最优分类精度,并进行自适应变异处理:当完成粒子群位置更新后,重新完成步骤2、3、4中的处理,计算出粒子群的分类精度方差和最优分类精度,加入变异操作防止粒子群优化算法PSO出现过早收敛的处理,即当粒子群当前位置满足变异条件时,则进行变异处理,包括:设定一个变异算子Rm,Rm=M,σ2<σT2andfG<fT0,others---(10)]]>其次,通过随机函数产生一个取值范围在[0,1]之间的随机数r,当r<Rm时,对粒子群当前的全局最优值PGt进行如下的变异操作,PGt=PGt(1+0.5η)---(11)]]>其中,M和σT2为预先设定值,M和σT2的值越小,则变异几率越小;反之,则变异几率越大;η为服从(0,1)的高斯分布随机变量;对粒子群的位置和速度进行更新,重新计算粒子群的分类精度方差和最优分类精度,并判断是否满足收敛条件,如果满足收敛条件,则将粒子群最优分类精度fG对应的粒子参数输出,作为粒子群优化算法PSO训练出来的最优参数;否则,需要对粒子群的位置进行更新,直至满足收敛条件或达到迭代次数上限。进一步地,所述步骤6包括:通过粒子群优化算法PSO优化后的参数,重新选取城区城区种子样本和非城区样本,采用步骤3中基于支持向量机SVM分类的区域生长算法,采用支持向量机SVM对初始的城区和非城区样本进行训练,基于训练好的支持向量机SVM模型,对所有城区种子周围3×3领域中的像元进行再分类,如果通过再分类没有产生了新的城区样本,则输出分类结果;如果通过再分类产生新的城区样本,则将新增的城区样本加入原有的城区样本中,对支持向量机SVM模型进行更新,直至不产生新的城区样本,则输出分类结果;最后,将分类结果保存到城市影像中,完成城市建成区范围智能化提取。与最接近的现有技术相比,本发明提供的技术方案具有的优异效果是:本发明公开了一种基于夜间灯光数据的建成区智能化提取方法,包括:采用自适应粒子群优化算法,实现对VIIRS夜间灯光和MODIS植被指数影像样本选取参数的最优选取;基于SVM分类的区域生长算法,完成对SVM模型训练,并采用交叉验证方法对模型进行精度验证;根据优化后参数,确定城区样本和非城区样本,采用基于SVM分类的区域生长算法,提取城市建成区范围。本发明从样本选取源头着手,进行样本选取参数自适应优化,并采用SVM和区域生长算法,提高夜间灯光数据提高建成区范围的处理效率和精度。附图说明图1是本发明提供的基于夜间灯光数据的建成区智能化提取方法的流程图;图2是本发明提供的交叉验证样本实例的示意图;图3是本发明提供的城市建成区效果示意图。具体实施方式下面结合附图对本发明的具体实施方式作进一步的详细说明。以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的组件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。附图1为本发明流程图,本发明被适用于城市建成区范围自动化提取,具体包括以下步骤:1、根据同一城市范围的夜间灯光遥感影像、植被指数遥感影像和高分辨率遥感影像,制作待处理区域的影像和交叉验证样本。(1)选取某一城市范围,下载相近时间的SuomiNPP卫星的VIIRS夜间灯光(NTL)遥感影像和MODIS植被指数(NDVI)遥感影像,并采样到相同的空间分辨率,根据地理位置进行空间配准,然后裁切成相同大小的影像数据。(2)对照相近时间的高分辨率遥感影像,如资源三号卫星、高分二号卫星、WorldView-2等卫星遥感影像,随机选取城区和非城区的样本,保存到文本文件中,作为SVM分类预测的交叉验证样本。该交叉验证样本文件中每个样本保存在一行,每行的格式如下所示,实例参见图2。<label><1>:<value1><2>:<value2>(1)其中,label为样本标签,取值为0或1,0代表非城区样本,1代表城区样本,标签由高分辨率遥感影像确定;value1代表该样本的夜间灯光影像数值;value2代表该样本的NDVI影像数值。2、初始化粒子群参数,根据每个粒子的参数,从夜间灯光和植被指数遥感影像中,选取城区种子样本和非城区样本。本步骤基于粒子群优化算法(ParticleSwarmOptimization),采用不同的夜间灯光数据阈值,确定城区样本种子和非城区样本。包括以下步骤:(1)粒子群参数初始化。本发明采用基于SVM分类的区域生长算法实现对城市建成区范围的提取,用于训练的城区样本和非城区样本均包含NTL和NDVI两维特征值,而城区初始种子样本和非城区样本的确定易受NTL阈值的影响,因此本发明引入粒子群优化算法对城区初始种子样本和非城区样本的NTL阈值参数进行优化。在PSO算法中,选择城区初始种子样本和非城区样本的NTL阈值参数作为粒子的变量参数,每个粒子位置属性X(s1,s2),s1代表城区初始种子样本的NTL阈值,s2代表非城区样本的NTL阈值。采用PSO算法在搜索空间中搜寻最优解时,每个粒子的状态由粒子的速度和位置决定,本发明首先采用随机函数对每个粒子的位置和速度进行初始化处理,粒子群的初始化位置和速度分别为:Xi(s1,s2)和Vi(s1,s2),其中i代表第i个粒子。(2)根据粒子群初始化参数,提取城区种子样本和非城区样本。城区种子样本提取方法:将输入影像范围划分为尺寸(nxn)的小块,当影像的宽高不能被整除时,影像尾端的分块尺寸可能小于(nxn);搜寻每块范围影像的NTL最大值,且当最大值大于s1时,即选取此位置对应NTL和NDVI数值为城区种子样本。非城区样本选取方法:在整个输入影像范围内进行搜索,当某个位置的NDVI值大于0.4且NTL值时,或者NDVI小于0时,则将该位置对应的NTL和NDVI数值选为非城区样本。3、针对每一个粒子,采用基于SVM分类的区域生长算法,根据城区种子领域像元的分类结果,判断是否有新增的城区像元,如果新增像元数为0,则完成SVM模型训练;如果新增像元数大于0,则更新城区种子,继续训练SVM模型。(1)通过每一个粒子的参数,选取城区种子样本和非城区样本之后,采用支持向量机(SVM)方法对样本进行训练。SVM的主要思想是建立一个超平面作为决策曲面,使得正例和反例之间的隔离边缘被最大化。为了使算法模型能够适应线性和非线性两种情况,本发明中,SVM模型采用了两种常见的核函数,SVM算法编程实现采用了OpenCV3.0.0中的cv库:1)线性核函数K(xi,x)=(xi·x)(2)2)径向基核函数K(xi,x)=exp(-γ||xi-x||2)(3)式中:xi为输入样本、x为输入向量、γ核函数参数。(2)采用训练后的SVM模型,对所有城区种子周围3x3领域中的像元进行再分类,如果通过再分类没有产生了新的城区样本,则完成SVM模型训练;如果通过再分类产生了新的城区样本,则将新增的城区样本加入原有的城区样本中,再采用SVM方法进行训练,直至不产生新的城区样本,则完成SVM模型训练。4、根据步骤3训练完成的SVM模型,采用交叉验证样本进行精度验证,计算每模型的分类精度。当第一个粒子训练出的SVM模型,将该模型应用到对交叉验证样本的预测,即采用交叉验证(CV,CrossValidation)方法,对分类模型的精度进行计算,分类精度如下式所示:f=cscs+us---(4)]]>上式中,cs和us分别代表正确样本数和错分样本数。然后,返回步骤2和3,训练下一个粒子的SVM模型,计算基于该粒子参数的分类精度,直至完成每个粒子的分类精度计算。5、根据粒子群最优分类精度和精度方差,判断是否满足终止条件,如果满足就输出最优参数;如果不满足,则采用自适应粒子群优化算法更新粒子群参数,返回步骤2。(1)计算粒子群分类精度方差和最优分类精度设粒子群的粒子数目为n,fi为第i个粒子的分类精度,favg为粒子群目前的平均精度,σ2为粒子群的群体精度方差,σ2的定义为:σ2=1n2Σi=1n[fi-favgf]---(5)]]>其中,f为归一化定标因子,其作用是限制σ2的大小,f随算法的进化而变化,f的取值采用如下公式:f=max{|fi-favg|},max{|fi-favg|}>11,others---(6)]]>群体适应度方差σ2反映的是粒子群中所有粒子的收敛程度,σ2越小,则粒子群越趋于收敛,反之,则粒子群处于随机搜索阶段。此外,粒子群最优分类精度fG,是当前整个粒子群分类精度的极大值。(2)判断粒子群是否满足收敛条件粒子群优化算法最终达到收敛位置时,整个粒子群处于全局最优值,本发明利用分类精度方差和最优分类精度来判断是否收敛,收敛条件如下所示:σ2=0fG≥fT---(7)]]>式中,fT是预先设定的理论最优分类精度。当粒子群位置满足收敛条件时,则将粒子群最优分类精度fG对应的粒子参数输出,作为PSO算法训练出来的最优参数;否则,需要对粒子群的位置进行更新。(3)当粒子群不满足收敛条件时,对粒子群的速度和位置进行更新。粒子群优化算法的基本原理是将系统初始化为一组随机解,通过迭代搜寻最优值。当粒子群的初始参数不满足收敛条件时,则需根据如下公式对粒子群的速度和位置进行更新:Vidt+1=wtVidt+c1r1(Pidt-Xidt)+c2r2(PGt-Xidt)Xidt+1=Xidt+Vidt+1---(8)]]>其中,t为当前迭代次数,Xi=(Xi1,Xi2,…,Xid)为粒子群的位置,粒子群搜索空间为D维,则d=1,2,…,D;Vi=(Vi1,Vi2,…,Vid)为粒子群在空间中的飞行速度;c1和c2是两个学习因子,r1和r2是取值范围为[0,1]的随机数;wt为惯性系数,随着迭代次数而减小,公式如下:wt=w0exp(-0.5t2)(9)(4)重新计算粒子群分类精度方差和最优分类精度,并进行自适应变异处理。当完成粒子群位置更新后,重新完成步骤2、3、4中的处理,计算出粒子群的分类精度方差和最优分类精度,为了防止PSO算法出现过早收敛的现象,让粒子群跳出局部最优解,寻找全局最优解,本发明,在传统粒子群算法中,加入变异操作的处理,即当粒子群当前位置满足变异条件时,则进行变异处理,具体方法如下。首先设定一个变异算子Rm,Rm=M,σ2<σT2andfG<fT0,others---(10)]]>上式中,M和σT2为预先设定值,M和σT2的值越小,则变异几率越小;反之,则变异几率越大。其次,通过随机函数产生一个取值范围在[0,1]之间的随机数r,当r<Rm时,对粒子群当前的全局最优值PGt进行如下的变异操作,PGt=PGt(1+0.5η)---(11)]]>其中,η为服从(0,1)的高斯分布随机变量。然后,对粒子群的位置和速度进行更新,重新计算粒子群的分类精度方差和最优分类精度,并判断是否满足收敛条件,如果满足收敛条件,则将粒子群最优分类精度fG对应的粒子参数输出,作为PSO算法训练出来的最优参数;否则,需要对粒子群的位置进行更新,直至满足收敛条件或达到迭代次数上限。6、根据步骤5输出的最优参数,重新确定城区种子样本和非城区样本,采用基于SVM分类的区域生长算法,提取城市建成区范围,并输出到结果影像中。通过PSO算法优化后的参数,重新选取城区城区种子样本和非城区样本,采用步骤3中“基于SVM分类的区域生长算法”,首先,采用SVM方法对初始的城区和非城区样本进行训练,其次,基于训练好的SVM模型,对所有城区种子周围3x3领域中的像元进行再分类,如果通过再分类没有产生了新的城区样本,则输出分类结果;如果通过再分类产生了新的城区样本,则将新增的城区样本加入原有的城区样本中,对SVM模型进行更新,直至不产生新的城区样本,则输出分类结果。最后,将分类结果保存到影像中,完成城市建成区范围智能化提取。实施例以某一城市的NPP/VIIRS夜间灯光遥感数据和MODISNDVI数据为例,采用本发明中的算法对城市空间进行自动提取,原始遥感数据与处理结果之间的对比效果如图3所示。以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1