高光谱遥感影像分类算法 - SVM

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高光谱遥感影像分类算法——SVM
1高光谱遥感简介
20 世纪 80 年代以来,遥感技术的最大成就之一就是高光谱遥感技术的兴起[1]。

高光谱遥感技术又称成像光谱遥感技术,始于成像光谱仪的研究[2]。

所谓高光谱遥感(Hyperspectral Remote Sensing)通俗地说就是指利用很多很窄的电磁波波段从感兴趣的物体中获取有关数据的方法。

高光谱遥感的最大特点是,在获得目标地物二维空间影像信息的同时,还可以获得高分辨率的可表征其地物物理属性的光谱信息,即人们常说的具有“图谱合一”的特性。

可见,与全色、彩色和多光谱等图像数据相比,高光谱影像革命性地把地物的光谱反射信息、空间信息和地物间的几何关系结合在了一起[3]。

因此,可以很客观地说,高光谱遥感是代表遥感最新成就的新型技术之一,同时也是目前国内外学者,特别是遥感领域的学者的研究热点之一[4-5]。

2高光谱遥感研究背景
在以美国为代表的成像光谱仪研制成功,并获得高光谱影像数据后,高光谱遥感影像由于其蕴含了丰富的信息(包括地物的空间位置、结构以及光谱特性等信息)使得人们对地物的识别有了显著的提高,并且在许多方面和领域(比如,农业、林业、地质勘探与调查和军事等)都体现出了潜在的巨大应用价值[6]。

虽然高光谱影像数据的确为我们的提供了丰富的对地观测信息,但也正是因为高光谱庞大的数据量和高维数的问题使得我们目前对高光谱数据的处理能力显得较为低效,而这也在一定程度上制约了高光谱数据在现实生产和生活的广泛应用与推广[7-8]。

因此,为了响应人们对高光谱影像数据处理方法所提出的新的迫切要求,也为了充分利用高光谱数据所包含的丰富信息以最大程度地发挥高光谱的应用价值,我们必须针对高光谱数据的独有特点,在以往遥感图像数据处理技术的基础上,进一步改善和发展高光谱遥感影像处理分析的方法与技术。

3高光谱遥感分类研究
3.1分类的意义
分类是人类了解和认识世界的不可或缺的基本手段。

人类的日常生活和生产实践都离不开,也不可能离开分类活动。

面对海量数据,人类需要借助计算机来对自身感兴趣的数据进行自动、高效和准确地分类。

这一迫切需求已体现在各个
行业和研究领域中。

比如,互联网、金融、机器学习、模式识别、数据挖掘、GIS 和RS等行业和研究领域。

众所周知,通过遥感影像对目标地物进行分类不仅一直是高光谱遥感研究领域的研究重点和主要研究内容,同时也是高光谱遥感数据处理方式的手段之一。

其主要任务是将遥感影像中所有像元或部分像元划分为不同土地覆盖类型以产生出相应的专题地图[2]。

而这些专题图可以在不同程度上清晰地反映出某一区域范围内地物的显现和潜在的空间关系与分布及规律信息。

因此,对遥感影像数据进行分类处理是人们获取、认识和发现现实规律信息的重要而又有效的途径[6]。

同时,这也能使得高光谱遥感影像能真正有效地应用于我们的实际生产和生活中,为我们的生活提供便利。

3.2面临的问题
虽然现在已经有了许多包括监督分类和无监督聚类方法在内的多种地物分类方法被应用于解决高光谱图像分类问题当中,但在遥感影像地物分类算法不断向着更高效率、更高精度和更加实用的方向发展的背景下,这些方法中的绝大部分仍然难以满足现实的生产和科研需求。

此外,遥感影像分类作为图像分类领域中最具挑战性的工作,虽然通过多年的发展取得了长足的进步,但仍然存在着许多问题:Hughes效应(一种在训练样本数目不变的情况下,随着参与分析的波段数目的增加,分类精度会出现先增加后降低的现象)、光谱混合的影响、分类器的选择和特征选择与提取等等[9-10]。

而这些问题都会影响到影像的分类精度。

并且这些问题的存在正是制约高光谱遥感产品进一步推广与应用的瓶颈之一[3]。

当然,这也成为了促使国内外众多的研究者和研究团队长期致力于探索更为高效、准确和实用的高光谱分类算法的背后的主要推动力。

3.3常用分类方法
目前,针对高光谱遥感影像的地物分类算法可大致分为基于地物光谱特征匹配的分类算法和基于统计数据统计特征的地物分类算法。

其中,基于地物光谱特征匹配的分类算法常见的主要包括:光谱角填图法(Spectral Angle Mapper,SAM)、光谱信息散度(Spectral Information Divergence,SID)、光谱二进制编码(Binary Coding,BC)和最小距离法(Minimum Distance Classifier,MDC)等。

常见的基于数据统计特征的地物分类算法主要包括:K均值聚类(K-Means)、Isodata、最大似然法(Maximum Likelihood,ML)、决策树(Decision Tree,DT)、神经网络(Neural Network,NN)和支持向量机(Support Vector Machine,SVM)等[3]。

传统的基于地物光谱特征匹配的分类算法,以及包括Isodata聚类、K均值
算法和最大似然法在内的传统的统计分类算法是建立在经验风险最小化原则基础之上的,即这些算法只有在样本数据足够多,样本数量趋向于无穷大的情况下,其分类性能和精度才能得到有效保证[6]。

然而在大多数的实际情况中,人们所能使用的样本数目往往是很有限的,很难到理论上的要求。

此外,有些分类算法(比如,基于光谱特征匹配的SAM、SID和BC等)还需要大量的先验知识,对光谱特征数据的依赖性也较高[3]。

所以,在利用这些传统的分类方法对高光谱遥感影像进行分类时,不但算法的执行速度会很慢,而且经分类处理后得出的结果在精度方面也很难让人感到满意,有时甚至还会出现严重的Hughes现象。

因此,对于像高光谱遥感影像这种拥有较高数据维度和较少标注样本的遥感数据而言,把这些传统的分类方法直接应用到高光谱遥感数据的分类处理过程中实际上是很不合理的,也是不可行的[2]。

最近几年,基于机器学习的多种分类方法,比如决策树分类、神经网络分类、贝叶斯分类和SVM分类等等,已经在遥感领域得到了广泛的应用,并成为遥感领域中的一个新的研究热点[6,11]。

然而,从目前国内外研究者已有的在这类方法的研究上看,虽然决策树分类、神经网络分类和贝叶斯分类与上文所提到的传统的分类方法相比,在高光谱遥感影像的分类性能和分类精度方面分别有了一定程度上的提高,但由于这三种分类方法仍然是建立在经验风险最小化原则的基础之上的[6],因此这也就同样无法避免上文所述及的传统分类法所避免不了的缺陷。

而其中的神经网络往往还会陷入局部最优的问题。

与决策树分类、神经网络分类和贝叶斯分类不同的是,SVM由于是在统计学习的理论背景下产生的,并且以结构风险最小化原则为基础,所以SVM有着严格的理论基础,能够较好地解决高光谱遥感数据中的小样本、非线性和高维数等问题。

因此与上述其它方法相比,SVM在高光谱遥感影像分类方面取得了较大成功,并有着训练样本小、分类精度高、学习效率高和模型推广性好且能避免局部最优等诸多优点[6]。

故本文选取SVM分类算法作为高光谱遥感影像数据分类方法的代表,对其具体内容作一个较为详细的介绍。

4SVM分类
实际上,本文所详述的用于高光谱遥感影像数据分类的支持向量机(SVM)分类算法产生自机器学习领域。

而也正如大家所了解的那样,支持向量机(SVM)是一种广泛用于数据分类和回归的监督学习模型或算法,在众多的遥感图像分类算法中它被归于监督分类算法的一员。

本文在前文中也有提到,SVM是一种建立在统计学习理论(起源于上个世纪60年代)之上的,并采用结构风险最小化准则的机器学习算法。

这使得它能够对小样本统计进行较好的估计和预测学习,同时缩小模型泛化误差的上界,从而提高模型的泛化能力和推广性。

由于目前有关
SVM分类算法的种类和变种有很多,所以为了更好地了解SVM,掌握其核心思想与灵魂,本文只对标准的SVM算法进行详细描述,且描述内容都是在本人所收集的文献资料的基础之上的总结[2,6,9,11,12]。

其它在标准SVM分类算法基础之上进行扩展或改进的算法不在本文的描述范围之内。

4.1SVM发展历史
SVM最初是由两位俄罗斯人Vladimir N. Vapnik 和Alexey Ya. Chervonenkis在1963年提出来的。

这时的SVM算法还只能处理那些在自身空间中呈线性可分状态的数据,而对于处于非线性可分情况的数据还不能进行有效处理。

之后在1992年,Bernhard E. Boser, Isabelle M. Guyon 和Vladimir N. Vapnik三人为了解决或处理之前所涉及到的数据非线性可分问题,应用核函数在原有的SVM算法基础之上做出了相应改进。

虽然这时的SVM算法既可以对线性可分的数据进行分类,也可以对非线性可分的数据进行分类,但对于那些本身就不可分的数据还是无能为力。

针对这一问题,Corinna Cortes和Vladimir N.
(一种衡量数据被错分程度的度量)Vapnik接着于1995年通过引入松弛变量ξ
i
来选择在SVM含有错分样本时的最佳分类方案。

自此,SVM分类算法不论是在数据可分与不可分,还是在线性与非线性方面都能得到有效一个用。

因此,这也被公认为目前标准的SVM分类法。

4.2线性可分SVM
标准SVM分类法是在线性可分SVM的基础之上逐渐发展和完善起来的。

图4-2-1给出了两类数据线性可分的情况。

图中黑色实心点和白色空心点分别表示两种不同类别的数据;H1、H2和H3分别是试图用于把不同类别的数据区分开来的3条不同的直线;H3是分别离两类数据最近的点的距离最大的一条直线。

从图中我们可以很明显地看出,直线H1并不能把图中的两类数据区分开来,而H2和H3则可以把这些不同类别的数据区分开来。

而通过对该图的观察,我们也可以进一步看到,能够把从属不同类别的数据区分开来的直线可能不止一条。

因此,为了达到最优的分类效果,SVM算法必须要在这些可把原来不同类别的数据分开的各个分类超平面(在二维空间中为一条直线)中选择出一个距离不同类别数据最近点的都很远的分类平面,即最优分类超平面。

按照这种最优选择方式,图中的直线H3就成为图示数据的最优分类超平面。

图4-2-1 线性可分示意图
对于如何寻找或计算最优分类超平面,标准SVM分类法对此的解决和处理方式会随着数据的线性可分性或非线性可分性的不同而不同。

从目前的研究情况看,这些处理或解决方式不外乎是以下三种情况中的一种:
(1)对于那些在原有空间中本身就线性可分的数据而言,标准SVM分类法在寻求最优分类超平面时的方法和过程是按照以下所述内容进行的。

给定一个训练数据集D:
n
D={(x i,y i)|x i∈R d,y i∈{1,−1}}
i=1
其中,x i表示的是样本i在d维空间(R d)中的实向量,y i表示样本x i所对应的类别。

在这里训练数据集D中的y i的取值要么是1要么是-1(1和-1表示的是两种不同类别),而i则从1一直取到n(表示该训练数据集D包含总共n个样本)。

在给定上述训练数据集D之后,SVM的目标就是在这些训练样本的基础之上,找到我们想要的能够把属于y i=1这一类别的数据和属于y i=−1这一类别的数据完全分开的最优分类超平面,即距离不同类别数据最近点的间隔都达到最大的分类平面。

考虑到任何一个超平面在d维空间中所对应的一般方程都可以写成以下一般形式:
g(x)=w∙x−b=0
上式中的w表示的是超平面的法向量;x表示超平面上的任意一点;w∙x是向量w和向量x的内积(也称点积);b是任意常数。

因此,对于那些线性可分的训练数据集来说,我们总能找到这样两个超平面:这两个超平面中的任何一个都可以把训练数据集按照其所属的类别完全分开,并且在这两个超平面之间没有任何其它的数据点存在。

而这两个超平面可以用以下两个等式进行表达:
{w∙x−b=1
w∙x−b=−1
故,这两个超平面之间的距离或者说间隔即为2。

‖w‖
可以看出,向量w的模越小,这两个从上述的两个超平面之间的距离间隔2
‖w‖
超平面之间的距离就越大,那么在这样的情况下我们所选取的分类超平面w∙x−b=0对数据的分类效果也就越好。

而考虑到,对于类型y i=1的所有样本来说,它们都满足不等式:
w∙x i−b≥1,y i=1
对于类型y i=−1的所有样本来说,它们都满足不等式:
w∙x i−b≤−1,y i=−1
综合起来就是,对于所有的样本(不管它属于y i=1类,还是属于y i=−1类)它们都必须满足不等式:
y i(w∙x i−b)≥1,i=1,2,…,n
因此,寻找最优分类超平面的问题就自然而然地转化成了以下最优问题:确定w和b,使得所有的样本点在满足不等式:
y i(w∙x i−b)≥1,i=1,2,…,n
的基础上,让w的模‖w‖达到最小。

下图(图4-2-2)是一个利用SVM对线性可分数据进行分类的例子。

图中方程w∙x−b=0所对应的实线即为所求的最优分类超平面;w所指的方向即为最
表示的是最优分类超平面与原点之间的偏移优分类超平面的法向量w的方向;b
‖w‖
量2
即为分类超平面w∙x−b=1和分类超平面w∙x−b=−1之间的距离。

‖w‖
图4-2-2 SVM线性可分示意图
实际上,由于在求解‖w‖的过程中会涉及到开根号,所以为了简化运算提高精度,常常用1
2
‖w‖2来代替‖w‖(这种替换不会改变w和b的值)。

因此,先前的寻优问题就可以转化为数学上的二次规划的优化问题,即:
求目标函数:
φ(w)=1
2
‖w‖2=
1
2
(w T∙w)
在约束条件:
y i(w∙x−b)≥1,i=1,2,…,n
下的最小值。

这种求条件极值的问题,可用拉格朗日乘数法解决。

故,可首先定义一个拉格朗日函数:
L(w,b,α)=1
2
‖w‖2−∑αi
n
i=1
[y i(w∙x i−b)−1]
上式中的α是KKT乘数,故αi满足KKT条件:
即,
αi[y i(w∙x i−b)−1]=0,i=1,2,…,n
因此只有少部分αi不等于0,其对应的样本x i就是支持向量。

支持向量从数学表达式上来看,就是使不等式:y i(w∙x i−b)≥1等号成立的那些样本;从几何学上来说,就是那些通过分类超平面w∙x−b=1和分类超平面w∙x−b=−1的样本(如图所示)。

然后,分别对拉格朗日函数L(w,b,α)中的w和b求偏导数,并令其等于0后,可求得:
∑αi y i n
i=1=0;w=∑αi y i
n
i=1
x i
进而,就可以在此求得的结果的基础之上把上述优化问题进一步地转化为如下最优问题:
对αi求目标函数:
L̃(α)=∑αi−
n
i=11
2
∑αiαj y i y j(x i∙x j)
n
i,j=1
在约束条件:
∑αi y i
n
i=1
=0且αi≥0,i=1,2,…,n
下的最大值。

由于上述优化问题是从本质上看是二次函数求极值的问题,故存在最优解。

若把该解记为αi∗,则可最终求得:
w∗=∑αi∗y i
n
i=1
x i
在此基础之上,可最终解出我们所寻求的最优分类超平面所对应的最优分类函数的函数表达式:
g(x)=sgn{(w∗∙x+b∗)}=sgn{∑αi∗y i
n
i=1
(x i∙x)+b∗}
上式中,sgn()为符号函数;b∗可通过w∗和任意αi≠0所对应的支持向量x i,根据公式αi[y i(w∙x i−b)−1]=0求得。

以上就是标准SVM分类算法在处理线性可分数据的分类问题时的主要内容和过程。

4.3非线性可分SVM
当我们所面对的是非线性可分的训练数据时,标准的SVM分类算法的处理方式是这样的:首先通过非线性变换ϕ(x)把数据映射到更高维的特征空间,然后用满足Mercer条件的核函数Κ(x,x′)代替高维空间中最优分类面的内积运算,最后以求得最优分类函数。

因此,从本质上来说,SVM是将非线性可分问题转化为线性可分问题来进行具体分类的。

标准SVM分类算法在训练样本的非线性可分问题上之所以要用而且能够用核函数Κ(x,x′)来代替计算过程中的内积运算,一是因为,在通常情况下我们是很难得知ϕ(x)的具体表达式;二是因为,最优分类面的计算只涉及到样本间的内积运算(在原空间中为x i∙x j,经变换后为ϕ(x i)∙ϕ(x j));三是因为,内积运算ϕ(x i)∙ϕ(x j)可由对应的核函数Κ(x i∙x j)给出,即Κ(xi∙x j)=ϕ(x i)∙ϕ(x j);另外一个原因就是,核函数Κ(x i∙x j)可在已知的常用函数中自由选择,并且在训练数据集确定的情况下,核函数的结果可直接在原空间中计算得到。

用核函数Κ(x,x′)代替最优分类面中的内积运算,相当于把原始特征空间变换到了某一新的特征空间,这时优化函数L̃(α)变为:
L̃(α)=∑αi−
n
i=11
2
∑αiαj y i y jΚ(x i∙x j)
n
i,j=1
相应的最优分类超平面所对应的最优分类函数也变为:
n
g(x)=sgn{∑αi∗y i
Κ(x i∙x)+b∗}
i=1
算法的其它条件均不变。

下图(图4-2-3)给出的是利用SVM对非线性可分数据进行分类的一个例子。

图的左侧是训练数据集所处的原始空间(即未经过任何变换的空间);图的右侧是训练数据集经过非线性变换后所处的空间;图中的红色实线即为该训练数据集所对应的最优分类超平面。

图4-2-3 SVM非线性可分示意图
目前,常用的满足Mercer条件的核函数有:(1)线性核:K(x i,x j)=x i∙x j;
(2)多项式核:K(x i,x j)=[x i∙x j+1]d,d为自然数;(3)高斯径向基核函数:K(x i,x j)=exp(−γ‖x i−x j‖2),γ>0,常取γ=1
;(4)双曲正切核:
2σ2
K(x i,x j)=tanℎ(kx i∙x j+c),k>0,c>0等。

4.4不可分SVM
对于那些不可分的训练数据,标准SVM分类算法的处理方式是,让算法在一定程度上容许少部分数据被错分,也就是在约束条件:y i(w∙x−b)≥1,i= 1,2,…,n中引入一个衡量数据被错误分类程度的松弛变量ξi≥0,从而使原来的约束条件变为:
y i(w∙x−b)≥1−ξi,i=1,2,…,n
因此,目标优化函数φ(w)也随之演化为:
φ(w,ξ)=1
2
(w T∙w)+C∑ξi
n
i=1
上述等式中的C是对越界样本点施加的惩罚系数,体现了算法的复杂度和样本的错分率之间进行某种程度的折衷程度。

但优化函数L̃(α)不变,只是约束条件变为:
∑αi y i
n
i=1
=0且0≤αi≤C,i=1,2,…,n
其它条件均保持不变。

以上便是标准SVM分类算法在对不同类型结构的训练数据集进行分类时的核心内容与计算过程。

5SVM分类算法总结
通过对标准SVM分类算法的介绍,我们可以看出SVM的核心思想是:(1)对于线性可分的数据,无需将其变换到高位空间,可直接在原始空间中求解最优分类超平面;(2)对于非线性可分的数据,需通过非线性变换把这些数据映射到更高维的空间中,即把非线性可分问题转化为线性可分问题进行求解;(3)对于不可分的数据,针对不同的应用场景,通过容忍一定的错误而达到能够求解出最优分类超平面的目的。

根据SVM的具体分类过程,我们也可以总结出,利用SVM 对高光谱遥感影像数据进行分类的优点在于其具有严格的理论基础(以统计学习理论为基础)、能较好地解决小样本、非线性和高维数等问题、推广性较好、可避免局部最优问题等诸多优点。

虽然标准的SVM分类法有着许多优点,但它也有着一些缺点。

比如,在多类数据的分类问题上标准的SVM分类法存在较大困难,并且在分类过程中也必须要求样本数据的类别已知,此外核函数和参数的选择没有统一的规范。

而这些因素都会影响到分类的精度。

参考文献:
[1] 郑兰芬,王晋年.成像光谱遥感技术及其图像光谱信息提取分析研究[J].环
境遥感,1992(01).
[2] 郭春燕.基于支持向量机的高光谱遥感图像分类[D].哈尔滨工程大学,2007.
[3] 高恒振.高光谱遥感图像分类技术研究[D].国防科学技术大学,2011.
[4]苏令华.高光谱图像压缩技术研究[D].国防科技大学,2007.
[5] 耿修瑞.高光谱遥感图像目标探测与分类技术研究[D].中国科学院研究生院
(遥感应用研究所),2005.
[6] 谭琨.基于支持向量机的高光谱遥感影像分类研究[D].中国矿业大学,2010.
[7]杨哲海.高光谱影像分类若干关键技术的研究[D].解放军信息工程大
学,2006.
[8] 陈进.高光谱图像分类方法研究[D].国防科技大学,2010.
[9] 李海涛,顾海燕,张兵,等.基于MNF和SVM的高光谱遥感影像分类研究[J].
遥感信息.2007(05).
[10] 于君娜.基于神经网络的高光谱遥感图像分类研究[D].哈尔滨工程大
学,2007.
[11] 谭琨,杜培军.基于支持向量机的高光谱遥感图像分类[J].红外与毫米波学
报,2008(02).
[12] Wikipedia. Support vector machine [DB/OL]. https://en.wikipedia.
org/wiki/Support_vector_machine.。

相关文档
最新文档