一种遥感影像的人工免疫特征选择方法

文档序号:6555110阅读:207来源:国知局
专利名称:一种遥感影像的人工免疫特征选择方法
技术领域
本发明属于遥感影像处理技术领域,尤其是一种人工免疫特征选择方法。
背景技术
遥感影像,特别是多/高光谱遥感影像,由于Hughes现象的存在,因此对影像进行特征选择或特征提取是一项必要的工作。特征选择是指通过对数据的评价,从众多特征中挑选出用于遥感分类的有限个特征。特征选择的任务是从一组数量为Y的特征中选择出数量为y(Y>y)的一组最优特征来,为此有两个问题要解决,一是选择的标准,即要选出使某一可分性达最大的特征组来。另一个问题是要找一个较好的算法,以便在允许的时间内找出最优的那一组特征,即特征选择。现有技术中前一个问题的解决方案已经比较成熟,而提出一种高效率的特征选择算法是亟待解决的重要课题。在高效率的特征选择算法基础上才能实现高效率的特征选择。
传统的特征选择算法主要包括穷举法,分支定界法,顺序前进法(SequentialForward Selection,SFS),顺序后退法(Sequential Backward Selection,SBS),增1减r法(1-r法)。采用这些传统算法的遥感影像特征选择方法得到的结果往往不是最优解,而且在算法进行前都需要人为的设定提取后的波段数,这恰恰是很难办到的。因为不同的遥感影像究竟需要多少个子集波段,根据不同的情况和所完成的分类任务不一而有所不同。例如穷举法是通过穷举搜索评价各个可能候选特征子集的性能J(S),并找出其中最优的特征子集。该方法随着波段数的增加,算法所需的时间而呈急剧上升,通常在实际中由于算法需要时间太长而难以应用。
目前本领域已出现了一些改进技术为了减少算法所需时间同时能得到最优解,提出了分支定界算法,它是一种自下而上方法,但具有回溯功能,可使所有可能的特征组合都被考虑到。由于合理地组织搜索过程,使得有可能避免计算某些特征组合而不影响结果为最优。当波段数较少时,该方法可以应用到遥感影像特征选择中,但是波段数较多时该方法所需时间还是远远超过允许范围。为了进一步减少算法时间,不得不放弃最优解而采用计算量小的次优搜索方法。其中顺序前进法SFS是最简单的自下而上搜索方法,每次从为入选的特征中选择一个特征,使得它与已入选的特征组合在一起时所得J值最大,直到特征数增加到y为止。顺序后退法SBS是一种自上而下的方法,从全体特征开始每次剔除一个,所剔除的特征应使仍然保留的特征组的J值最大。为了避免SFS和SBS方法一旦被选入或剔除就不能再剔除或选入的缺点,可在选择过程中加入局部回溯功能。例如在第k步可先用SFS法一个个加入特征到k+1个。然后再利用SBS法一个个剔去r个特征,该方法称为增1减r法。
本领域的现有技术可以参见有关文献孙家柄,舒宁,关泽群.遥感原理方法和应用[M].北京测绘出版社,1997;汤国安,张友顺,刘咏梅.遥感数字图像处理等[M].北京科学出版社,2004;赵英时.遥感应用分析原理与方法[M].北京科学出版社,2003;Campbell,J.B.,Introduction to RemoteSensing[M].LondonTaylor & Francis,2002;边肇祺张学工等.模式识别[M].北京清华大学出版社,2000。
人工免疫系统(Artificial Immune System,简称AIS),是受生物免疫系统的启发而产生的一种新型的智能计算方法。在过去的几年里,AIS的应用领域逐渐扩展到了信息安全、模式识别、机器学习、数据挖掘等诸多领域,显示出AIS强大的信息处理和问题求解能力以及广阔的研究和应用前景。可以参见有关文献D.Dasgupta,Artificial Immune Systems and Their Applications,GermanySpringer,1999;L.N.de Castro and J.Timmis,Artificial ImmunesystemsA New Computational Intelligence Approach,London,U.K.Springer-Verlag,2002;J.Timmis,M.Neal,and J.E.Hunt,“An artificialimmune system for data analysis,”Biosystem,55(1/3),2000;肖人彬,王磊.人工免疫系统原理、模型、分析及展望[J].计算机学报,2002,25(12)。
AIS是一种自适应很强的优化技术,继承了生物免疫系统的众多属性,具有自组织、自学习、自识别、自记忆的能力,因此它能快速提供达到最优解的90%的搜索范围,从而能较快较准地得到全局最优解,这是其它的优化技术所不及的。应用人工免疫算法,通过重复的优化过程,具有高度智能性,不需要人为设定输出波段数,能够自很快地自适应得到最优解。因为对于曾经出现过的抗原,免疫算法产生相应抗体的速度比以前更快。它可以提高特征选择的准确性、减少算法的运算时间。然而在遥感影像特征选择中,AIS还没有得到很好的应用,因此还没有真正意义的人工免疫特征选择方法出现。可以参见有关文献L.N.DeCastro and F.J.Von Zuben,“Learning and optimization using the clonalselection principle,”IEEE Trans.on Evolutionary Computation,Vol.6(3)2002;Atkinson P M,Lewis P.Geostatistical classification forremote sensingan introduction[J].Computers & Geosciences,26,2000;Adams D.How the immune system works and why it causes autoimmune diseases[J].Immunology Today,17(7),1996;J.H.Carter,“The immune system asa model for pattern recognition and classification,”Journal of theAmerican Medical Informatics Association,Vol.7(3),2000.

发明内容
本发明的目的是在人工免疫系统的原理基础上提供一种用于遥感影像的特征选择方法。
为实现上述目的,本发明提供遥感影像的人工免疫特征选择方法(1)通过遥感影像处理程序打开待特征选择的遥感影像;(2)根据实际地物分布和分类类别数,在遥感影像上利用样区工具选择感兴趣样区或训练样区,将感兴趣样区或训练样区中的训练样本存为样本数组,并输入算法参数;(3)编码标记特征组合,随机产生N种子集特征组合作为初始抗体种群,结果存入抗体数组,其中N值取值范围为[30,100];(4)将抗体数组中的每个抗体解码为特征组合,得到新的样本子集,计算所有抗体的亲和度;(5)从抗体数组中选择亲和度最高的n个抗体,产生一个抗体集合,并记录具有最高亲和度的抗体为最匹配抗体,其中n值为第(2)步中设定的参数,取值范围为[10,N],即n值不能超过步骤(3)中的初始抗体数N;(6)判断是否满足特征选择终止条件,若满足则确定抗体数组中的最匹配抗体作为算法最优解;(7)若步骤(6)的判断结果为不满足,对抗体集合进行克隆操作,产生克隆抗体集合;
(8)对克隆抗体集合进行变异操作,得到变异抗体集合;(9)计算变异抗体集合中所有变异抗体的亲和度,从中选出具有最高亲和度的抗体作为候选抗体;(10)如果候选抗体的亲和度大于步骤(5)中得到的最匹配抗体的亲和度,将候选抗体存入抗体数组,完成抗体种群进化;(11)返回步骤(5)继续进化抗体种群直到满足步骤(6)的特征选择终止条件。
而且,算法参数包括有初始抗体数N,最大迭代次数,选择抗体数n,克隆率,替换抗体数d,根据克隆率对抗体集合进行克隆操作。
而且,在进行步骤(9)计算变异抗体集合中所有变异抗体的亲和度后,随机产生d个新抗体替换抗体数组中亲和度最低的d个原有抗体,其中d值取值范围为

而且,采用二进制向量编码标记特征组合。
本发明通过人工免疫系统中克隆选择算法,在一定条件下能够找到特征选择子集最优解;通过二进制编码方式表达某个特征是否被选择,方便编码和解码;特征子集数可以在算法运行中自适应得到,避免了人为配置的不确定因素。本发明方法继承了生物免疫系统生物属性,具有自组织、自学习、自识别、自记忆的能力,智能性高,实际运行中执行效率高,适用于多光谱、高光谱遥感影像特征选择。


图1克隆选择原理示意图;图2二进制编码转换示意图;
图3本发明实施例的人工免疫特征选择参数设置图;图4本发明实施例的主函数程序框图;图5本发明实施例的初始化函数程序框图;图6本发明实施例的克隆特征选择函数程序框图;图7本发明实施例的抗体进化函数程序框图。
具体实施例方式
为了便于理解本发明,首先提供本发明的理论基础人体免疫系统的重要功能之一是通过产生抗体(antibody)来清除外来的异物,异物可以是微生物(细菌、病毒等)、异型血细胞、移植器官等,它们都称为抗原(antigen)。免疫系统的基本组成成份是淋巴细胞或白血球。这些特殊的细胞主要可以分为B细胞和T细胞两大类。这两种细胞都有自己独特的生态结构并且从它们的表面产生许多Y型抗体来杀死抗原。
为了解释抗体的形成机理,一些学者最早提出模板学说,后来又提出侧链理论,但它们都不能合理解释抗体形成机理。直到克隆选择理论的提出才使抗体形成机理得到满意的解释。
免疫系统在识别抗原时首先通过阴性选择来对自身的细胞(自身抗原)和那些不属于自身的元素(外来抗原)进行区分,通过区分后免疫系统消除外来的细胞或分子,而对系统本身的细胞不进行处理。在进行阴性选择后,免疫系统对于外来抗原进行克隆选择从而产生抗体。
克隆选择主要内容为当淋巴细胞实现对抗原的识别后,B细胞被激活,并增殖复制产生B细胞克隆,随后克隆细胞经历变异过程,产生对抗原具有特异性的抗体。克隆选择理论描述了获得性免疫的基本特性,并且只有成功识别抗原的免疫细胞才得以增殖,经历变异后的免疫细胞分化为浆细胞(抗体效应细胞)和记忆细胞两种。
克隆选择的主要特征是克隆选择对应着一个亲和力成熟的过程,即该过程是一个对抗原亲和力较低的个体在克隆选择机制的作用下,经历增殖复制和变异过程后,因亲和力逐步增大而慢慢变成熟的过程。从这个过程来看,克隆选择本质上是一个达尔文式的进化过程,该过程可以通过采用交叉、变异等算子和相应的群体控制机制实现。克隆选择原理示意图如附图1所示。
基于这种克隆选择理论,本发明提供遥感影像的人工免疫特征选择方法,遥感图像处理数据复杂,工作量大,普遍需要采用计算机手段实现,因此本发明技术方案采用了计算机程序和计算机术语进行描述,例如抗体数组实质上是为了表述一个内容根据进化而改变的抗体集合。本发明要求保护的技术方案不限于计算机程序流程,而应包括其他等同替换手段。本发明技术方案如下(1)通过遥感影像处理程序打开待特征选择的遥感影像;(2)根据实际地物分布和分类类别数,在遥感影像上利用样区工具选择感兴趣样区或训练样区,将感兴趣样区或训练样区中的训练样本存为样本数组,并输入算法参数;(3)编码标记特征组合,随机产生N种子集特征组合作为初始抗体种群,结果存入抗体数组,其中N值取值范围为[30,100];(4)将抗体数组中的每个抗体解码为特征组合,得到新的样本子集,计算所有抗体的亲和度;(5)从抗体数组中选择亲和度最高的n个抗体,产生一个抗体集合,并记录具有最高亲和度的抗体为最匹配抗体,其中n值为第(2)步中设定的参数,取值范围为[10,N],即n值不能超过步骤(3)中的初始抗体数N;(6)判断是否满足特征选择终止条件,若满足则确定抗体数组中的最匹配抗体作为算法最优解;(7)若步骤(6)的判断结果为不满足,对抗体集合进行克隆操作,产生克隆抗体集合;(8)对克隆抗体集合进行变异操作,得到变异抗体集合;(9)计算变异抗体集合中所有变异抗体的亲和度,从中选出具有最高亲和度的抗体作为候选抗体;(10)如果候选抗体的亲和度大于步骤(5)中得到的最匹配抗体的亲和度,将候选抗体存入抗体数组,完成抗体种群进化;(11)返回步骤(5)继续进化抗体种群直到满足步骤(6)的特征选择终止条件。
为了便于采用算法手段进行遥感影像特征选择,本发明采用二进制编码方式标记抗体,具体实施时也可选择采用实数标记和带权值标记。二进制编码方法的原理是设抗体长为特征向量长度D,编码为(a1,a2,...,aD),其中,ai为1表示相应的特征分量被选中,为0表示相应的特征分量未被选中。由这些二进制编码组成的空间成为二进制空间,该空间与特征向量的对应图如附图2所示。附图2中以一个10维原始特征空间为例,原始特征空间S={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10}该空间进入二进制空间转化为b={1,1,0,1,0,1,0,1,0,1},变为6维子集空间{x1,x2,x4,x6,x8,x10},即选择了6个子波段。
在本发明中的变异操作对二进制编码的抗体进行变异,即对选择抗体个体按给定的变异率进行变异操作,其过程如下所示 经过变异后前代A的第五位1变成了0,即得到了变异后抗体B。
本发明设计了计算机程序来辅助完成特征选择任务,采用人工免疫克隆选择方法对抗体种群进行训练,以迭代方式循环进行进化,如果到达终止条件则进行特征选择完成,否则循环进化样本直到终止条件满足。为了令程序简洁,并且方便与现有的遥感影像处理软件结合和程序实现,大量地采用了函数调用思路。
为了增加抗体的多样性,在进行步骤(9)计算变异抗体集合中所有变异抗体的亲和度后,随机产生d个新抗体替换抗体数组中亲和度最低的d个原有抗体。这种替换在满足特征选择终止条件之前随着克隆变异过程不断进行,有效地增加了抗体种群中的抗体多样性。其中d值取值一般范围为
,即d值最小值可以为0,此时这步可以省略,但最大值一般不超过初始种群数的10%。d值在该范围内即可以保证抗体种群的多样性,又不会丧失抗体种群的典型性。
以下结合实施例具体实施步骤详细说明本发明技术方案(1)采用遥感影像处理程序,在弹出影像参数对话框后,通过输入影像宽度、高度、波段数和数据类型打开输入遥感影像。本发明中遥感影像的总波段数采用Nb标记。目前,遥感领域的计算机应用已经十分普遍,采用遥感影像处理程序对遥感得到的数字图像进行处理是常用手段,具备了基本打开图像功能和采样工具的遥感影像处理程序均可以供本发明实施使用。具体实施时,可以把遥感影像处理程序的基本功能和本发明方法的其他步骤所需功能结合成一体,通过计算机编程即可实现。
(2)根据实际的地物分布和所需的分类类别数,在遥感影像上利用样区工具选择感兴趣样区作为样本数据,在计算机中开辟一个样本数组SampleArray,将训练样本存入样本数组。该数组类型为结构体ROI(感兴趣样区)类型,结构体包括样本数据和样本数据类别两个结构体变量。具体实施时可以设置由程序提供算法参数输入框,参见附图3。弹出算法参数输入框后,输入算法所需要参数,主要包括初始抗体数N,最大迭代次数nIte,选择抗体数n,克隆率Clonalrate,替换抗体数d。设置完算法参数后激活该算法的执行程序。(在迭代终止条件设置为是否达到迭代次数时需要事先设置)。设置完算法参数后激活该算法的执行程序。
(3)采用初始化程序随机产生N种特征组合作为初始抗体种群AB,存入抗体数组ABArray,每个抗体表示一种特征组合,采用二进制编码方式。抗体数组ABArray与样本数组SampleArray类似,在计算机中开辟用来存储抗体种群的数据,抗体数组ABArray内存储的抗体种群数据将随进化过程而改变。参见附图5,本发明通过调用函数来实现随机产生特征组合,初始化函数Initialization()的计算步骤为在此函数内设置变量i在本函数中标记第i个抗体abi,设置变量j标记某抗体中第j个波段;首先将i赋值为1,开始产生第1个抗体ab1;采用顺机函数random()取得随机数nrand,根据随机数nrand是否小于0.5对抗体abi的第j个波段abij进行赋值1或0;然后j值加1后继续赋值直到j>总波段Nb,即随机构造了一个初始抗体abi(一种特征组合),并将初始抗体abi存入存入记录抗体种群AB数据的抗体数组ABArray中;i值加1,重复上个步骤继续构造下一个初始抗体,直到i>初始抗体数N,即满足了操作者在步骤(2)中所设需要的初始抗体数目;最终输出初始抗体种群AB供主函数程序使用。
(4)将抗体数组ABArray中的每个抗体ab解码为对应的特征组合,得到新的样本子集和子集波段数Nm,计算所有抗体ab的亲和度F=F(abi)。其中亲和度中采用Jeffries-Matusita(JM)距离。其计算公式如下F(abi)=JMavgJMavg=2c(c-1)Σk=1c-1Σt=k+1cJMkt]]>JMkt=2(1-e-BDkt)]]>BDkt=18(Mk-Mt)T(Σk+Σt2)-1(Mk-Mt)+12ln(|Σk+Σt2||Σk||Σt|)]]>其中c表示选择的样本类别数,k和t为比较的两类。∑k和Mk分别表示第k类的协方差矩阵和均值向量,|∑k|表示协方差矩阵∑k的行列式;下标为t的符号所表达意义与之相应。T表示矩阵转置。BDkt、JMkt、JMavg是为方便计算而作出的标记,含义即其算式。
(5)从抗体数组ABArray中选择亲和度最高的n个抗体,产生一个新的抗体集合,即新抗体群AB{n},并记录其中亲和度最高的抗体为最匹配抗体C配,C配=arg maxab∈ABArrayF(ab),argmax表示取最大值。
(6)判断是否满足特征选择终止条件终止条件可设定为亲和度能达到的阈值或迭代次数,若满足则终止迭代,确定当前种群中的最佳个体作为算法最优解,否则继续进行克隆进化。通过调用克隆特征选择函数CSAFeatureSelection()开始克隆进化过程。本发明的终止条件为达到最大迭代次数nIte。
(7)对n个被选择出的抗体按一定的克隆率进行克隆操作,产生克隆抗体集合C。其中亲和度越高,克隆数目越高。所有n个被选择出的抗体克隆总数Nc为Nc=Σm=1nround(β·Nm)]]>其中β为克隆的倍数,N为抗体总数,函数round()表示取整。
(8)对克隆抗体集合C进行变异操作,产生变异抗体集合C*,其中亲和度越大,抗体变异机会越小。变异率通过以下方式决定首先对克隆抗体集合C中第i个抗体abi的第j个波段的值abij标准化F(abij)到范围F′(abij)=F(abij)-min(F(abij))max(F(abij))-min(F(abij))i=1,2,···Nc]]>则变异率为pm=exp(-5*F′(abij))]]>其中min()表示取最小值,max()表示取最大值。
本发明实施例的变异操作通过调用函数mutate()实现,该函数的具体计算流程框图参见附图6输入克隆抗体集合C;通过给变量i赋值,依次选择克隆抗体集合C中的某个抗体abi;通过给变量j赋值,依次选择抗体abi的第j个波段的值abij;按上述公式标准化F(abij)到范围
,计算变异率pm;通过随机函数random()取随机数nrad,判断随机数nrad与F′(abij)大小并据此进行变异赋值;变异后的抗体存入变异抗体集合C*;i值加1,继续构造下一个初始抗体,直到i大于抗体克隆总数NC,即克隆抗体集合C中所有抗体变异完成;最后输出变异抗体集合C*。
(9)计算变异抗体集合C*中所有变异抗体的亲和度F*,从中选出具有最高亲和度的抗体作为候选记忆抗体C候。为了增加抗体的多样性,随机产生d个新抗体替换抗体数组中亲和度最低的d个原有抗体。如果设d值为0,则省去了替换操作。
(10)判断C候和C配的刺激水平,如果亲和度F(C候)大于F(C配)则将C候存入抗体数组ABArray中。抗体进化函数DevelopABPop()的计算流程框图参见附图7将F(C候)赋值给变量CandF,将F(C配)赋值给变量MatchF,然后比较两个变量大小,若变量CandF值较大,则将C候加入记忆抗体数组MCArray,记忆库进化完成。
(11)迭代次数增加一次,返回步骤(5)重新挑选新的n个亲和度最高抗体和最匹配抗体后进行判断。这种迭代方式的实质是不断进化抗体种群直到满足特征选择终止条件。
采用函数调用思想为本发明的技术方案编程后,整体的程序实施结构为输入遥感影像;选择样本,存为样本数组SampleArray;设置算法参数;进入主函数入口;调用特征选择主函数AIFeatureSelection();进入函数AIFeatureSelection()入口;输入样本数组SampleArray;调用初始化函数Initialization();取得初始化抗体种群AB;获得n个亲和度最高抗体和最匹配抗体C配;判断是否满足终止条件,是则输出取得的最匹配抗体C配作为函数AIFeatureSelection()的执行结果;否则进行迭代,调用克隆特征选择函数CSAFeatureSelection(),接着调用抗体进化函数DevelopABPop(),然后返回获得n个亲和度最高抗体和最匹配抗体C配后进行判断;根据函数AIFeatureSelection()的执行结果取得特征选择后遥感影像。
权利要求
1.一种遥感影像的人工免疫特征选择方法,其特征是(1)通过遥感影像处理程序打开待特征选择的遥感影像;(2)根据实际地物分布和分类类别数,在遥感影像上利用样区工具选择感兴趣样区或训练样区,将感兴趣样区或训练样区中的训练样本存为样本数组,并输入算法参数;(3)编码标记特征组合,随机产生N种子集特征组合作为初始抗体种群,结果存入抗体数组,其中N值取值范围为[30,100];(4)将抗体数组中的每个抗体解码为特征组合,得到新的样本子集,计算所有抗体的亲和度;(5)从抗体数组中选择亲和度最高的n个抗体,产生一个抗体集合,并记录亲和度最高的抗体为最匹配抗体,其中n值为第(2)步中设定的参数,取值范围为[10,N],即n值不能超过步骤(3)中的初始抗体数N;(6)判断是否满足特征选择终止条件,若满足则确定抗体数组中的最匹配抗体作为算法最优解;(7)若步骤(6)的判断结果为不满足,对抗体集合进行克隆操作,产生克隆抗体集合;(8)对克隆抗体集合进行变异操作,得到变异抗体集合;(9)计算变异抗体集合中所有变异抗体的亲和度,从中选出具有最高亲和度的抗体作为候选抗体;(10)如果候选抗体的亲和度大于步骤(5)中得到的最匹配抗体的亲和度,将候选抗体存入抗体数组,完成抗体种群进化;(11)返回步骤(5)继续进化抗体种群直到满足步骤(6)的特征选择终止条件。
2.如权利要求1所述的人工免疫特征选择方法,其特征是算法参数包括有初始抗体数N,最大迭代次数,选择抗体数n,克隆率,替换抗体数d,根据克隆率对抗体集合进行克隆操作。
3.如权利要求1所述的人工免疫监督分类方法,其特征是在进行步骤(9)计算变异抗体集合中所有变异抗体的亲和度后,随机产生d个新抗体替换抗体数组中亲和度最低的d个原有抗体,其中d值取值范围为

4.如权利要求1或2或3所述的人工免疫特征选择方法,其特征是采用二进制向量编码标记特征组合。
全文摘要
一种遥感影像人工免疫特征选择方法,其特征在于(1)打开遥感影像;(2)选择样区并输入参数;(3)编码标记特征组合,产生初始抗体种群;(4)解码并得到样本子集,计算抗体亲和度;(5)从抗体数组中选择若干个抗体产生抗体集合,并记录具有最高亲和度的抗体为最匹配抗体;(6)判断是否满足终止条件,若满足则以最匹配抗体作为算法最优解;(7)若判断为不满足,克隆产生克隆抗体集合;(8)变异取得变异抗体集合;(9)计算变异抗体的亲和度,选出具有最高亲和度的抗体作为候选抗体;(10)如果候选抗体亲和度大于最匹配抗体亲和度,将候选抗体存入抗体数组;(11)返回步骤(5)继续进化抗体种群直到满足特征选择终止条件。
文档编号G06K9/46GK1873658SQ20061001950
公开日2006年12月6日 申请日期2006年6月29日 优先权日2006年6月29日
发明者钟燕飞, 张良培 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1