1.一种基于稀疏表示的半监督高光谱图像分类方法,包括:
(1)输入高光谱图像X=[x1,x2,...,xi,...,xN]∈RA,xi表示高光谱图像中的第i个像素点,i=1,2,3,...,N,N表示像素点总数,每一个像素点用一个特征向量表示,A表示该特征向量维数,R表示实数域;
(2)设高光谱图像含有n个无标记样本和m个有标记样本,n>m且n+m=N,用高光谱图像的无标记样本构成无标记矩阵U=[μ1,μ2,...,μj,...,μn],μj表示第j个无标记样本,j=1,2,3,...,n;用有标记样本构成有标记矩阵表示第k个有标记样本,k=1,2,...m,的类标为yk∈{1,2,...,c},c为高光谱图像的类别数;
(3)用无标记矩阵U作为字典D;
(4)对字典D和有标记样本矩阵L在稀疏表示的框架下进行更新,预处理集合表示空集:
4a)根据稀疏表示理论,对L中的每一个样本k=1,2,...,m,利用字典D中的无标记样本对其进行稀疏表示:其中:ak=[ak1,ak2,...,akj,...,akn]T是稀疏表示系数向量,akj是ak中第j个元素,误差ek是一个极小的常量,T表示向量的转置;
4b)利用正交匹配追踪算法OMP得到有标记样本在字典D上的稀疏表示系数向量:其中||·||2为l2范数,度量数据重构误差;||·||1为l1范数,用来保证向量a的稀疏度,λ是重构误差项与稀疏项的平衡因子;
4c)通过下式计算每一个无标记样本μj属于第ν类的类概率:
其中I(·)是0-1判别函数,若yk=ν,则I(yk=ν)=1,否则I(yk=ν)=0;
用计算出的类概率sjν构成类概率向量sj=[sj1,sj2,...,sjν,...sjc]T,sjν表示第j个无标记样本属于第ν类的概率,ν=1,2,...,c;
4d)选出类概率向量sj中的最大类概率,记作并赋予该无标记样本的类标为ν,选出γν≠0所对应的所有无标记样本放入预处理集合W,统计W中样本个数,记为Wnum;
4e)提取字典D中预测出类标的无标记样本并按照预测类标将这些无标记样本放入有标记样本集L对应的类中并从D中剔除,即使得有标记样本集L=L∪W,字典D=D\W,同时更新无标记样本的个数n和有标记样本的个数m,使n=n-Wnum,m=m+Wnum;
4f)如果字典D中剩余无标记样本的个数小于样本点的特征维数,执行步骤(5),否则,返回步骤(4);
(5)把数据集X中每个样本作为节点,通过高斯核函数RBF来计算不同节点之间的权重,将有标记样本的类标信息通过节点之间的权重传给无标记样本,从而对无标记样本进行类标预测,得到预测出的类标结果,完成对高光谱图像分类。
2.根据权利要求1所述的方法,其中步骤(4a)中运用正交匹配追踪OMP有标记样本在字典D上的稀疏表示系数向量ak,其步骤如下:
4b1)输入:有标记样本字典D,设定稀疏度sp=5;
4b2)初始化:残差索引集迭代次数控制变量t=1,∏t是大小为μnum×1的全零向量,μnum是字典D中无标记样本的个数;
4b3)找出第t-1次的残差rt-1和字典D中每个无标记样本μj内积中最大值所对应的脚标Δt,即Δt=argmaxj=1,2,....,n|<rt-1,μj>|;
4b4)更新索引集Λt=Λt-1∪{Δt},记录字典D中的重建原子,构成原子集合
4b5)由最小二乘得到
4b6)更新:第t次残差字典D=D\Et,∏t第Δt行值改为akt,t=t+1;
4b7)判断是否满足t>sp,若满足,则停止迭代,输出系数集合∏t;若不满足,则返回4b3)。
3.根据权利要求1所述的方法,其中步骤(5)中计算高斯核函数RBF节点之间权重,按如下公式进行:
其中xp,xq表示图像X中的两个样本点,是超参,ζpq表示xp和xq之间的权重,p=1,2,3,...,N,q=1,2,3,...,N。
4.根据权利要求1所述的方法,其中步骤(5)中对无标记样本进行类标预测,按如下步骤进行:
5a)定义一个转移概率Ppq:
其中,Ppq表示从节点xp转移到节点xq的概率,xp,xq表示图像X中的两个样本点,ζpq是p与q之间的权重,p=1,2,3,...,N,q=1,2,3,...,N;
5b)用计算出的转移概率Ppq构造节点xp的转移向量Pp=[Pp1,Pp2,...,Ppq,...,PpN]T;
5c)用转移向量Pp构造转移矩阵P=[P1,P2,...,Pp,...,PN],Pp表示第p个节点的转移向量;
5d)定义有标记样本集L的类标指示矩阵YL:如果样本的类别是ν,则该行的第ν个元素为1,其他元素为0,YL的大小为m×c;
5e)定义字典D的类标指示矩阵YD是大小为n×c的全零矩阵;
5f)合并YL和YD得到预测矩阵Fnew={YL;YD},Fnew的大小为N×c,“;”表示按行合并;
5g)使用类标传播的方法在转移矩阵P上传递有标记样本的类标信息,得到字典D中所有无标记样本的类标预测矩阵F=PFnew;
5h)如果Fnew和F之间的差异小于10-10,执行5i),否则,更新Fnew=F,执行5g);
5i)根据类标预测矩阵F确定每个无标记样本的预测类标:
其中g=1,2,...,n。