基于半监督子空间迁移的稀疏表示遥感图像场景分类方法
2021-12-02周国华蒋晖顾晓清殷新春
周国华,蒋晖,顾晓清,殷新春
(1.常州工业职业技术学院信息工程学院,江苏 常州 213164;2.常州大学计算机与人工智能学院,江苏常州 213164;3.扬州大学 信息工程学院,江苏 扬州 225127)
0 引言
随着人工智能技术的发展,基于机器学习的遥感图像场景分类能够准确、快速地识别地物的类别信息,在精准农业、地质调查、军事侦察、识别伪装等领域有重要应用[1-2]。实时遥感场景分类是对从遥感图像中提取的内容进行实时场景分类和识别的过程。提高实时场景分类的准确性有利于提高目标检测结果,更好地完成覆盖分析、利用分析、土地规划和土地资源建设等任务[3-5]。目前,常用的传统模式识别和分类方法有支持向量机、深度学习、神经网络、主动学习和稀疏表示等[6-10]。给定一个输入数据矩阵,通过稀疏表示旨在找到一组基本向量(即字典),捕获高层语义以及相对于字典的稀疏坐标,使得每个数据点均可表示为少量向量的线性组合。例如,WEI 等[11]提出了一种基于分析字典学习的遥感图像场景分类方法,该方法将频谱数据分成若干段,在学习过程中同时考虑谱内和谱间的特征;同时,为保持光谱之间的关系,将像素之间的相似性作为约束条件。HAO 等[12]开发了挖掘高光谱图像的类内和类间结构信息字典。首先,构造了2 个特殊的流形正则化器,平衡类内共享和类间竞争,将这些正则化器合并至目标函数,学习判别能力强的字典。然后,在协同表示框架下,通过学习类字典得到稀疏表示。最后,将数据的稀疏表示输入支持向量机进行训练,应用支持向量机分类器预测测试集标签。VU 等[13]开发了一种基于共享词典和特定类词典的图像分类方法。对于共享字典,提出了低秩约束,即生成的子空间是低维的,且该字典对应的系数相似。对于特定类词典,则引入Fisher 判别。
虽然这些稀疏字典学习方法在一定分类场景下是有效的,但遥感图像场景分类工作仍面临巨大挑战。原因在于:(1)数据域不一致性。遥感图像受各种因素影响,如在不同的光照和天气条件下拍摄的遥感图像会发生变化[14]。传统的分类器假设了一个固定的场景,即源域和目标域应来自同一概率分布,但当训练图像和测试图像之间存在数据集偏差时,分类器的性能将大大降低。(2)缺少标记数据。传统的遥感图像场景分类方法需要足够多的带标记的训练图像,而在实际应用中,要获得大量的图像标记几乎是不可行的,并且在新的领域,带标记的图像通常是极少的[15]。(3)普通图像的分类算法不能直接应用于遥感图像场景分类。因为遥感图像与普通图像在成像角度、成像波段上差别很大,且遥感图像具有方位敏感性[16]。
机器学习中的迁移学习能利用已有的标记样本迁移知识辅助新样本的学习,不需要数据同分布假设。从迁移场景看,根据目标域数据标记情况,可将迁移学习分为归纳式迁移学习和直推式迁移学习2 类,前者目标域数据标记,后者目标域数据不标记。机器学习中的半监督学习方法同时使用未标记数据和少量标记数据进行模式识别。即使在目标域标记数据较少的情况下,半监督方法也比无监督方法效果好[17]。目标域少量带标记样本对分类器的构建具有指导作用,同时利用未标记的目标域数据,提高分类器的性能。
一般来说,遥感图像分类任务中带标记的源域数据和不带标记的目标域数据都较充足,有标记的目标域数据则比较稀缺。基于这一场景,本文研究一种新的半监督迁移学习的遥感场景图像分类问题,即源域数据带类别标记,目标域数据仅少量带标记。进而提出一种基于半监督子空间迁移的稀疏表示(sparse representation method based on semi-supervised transfer learning subspace,SR-SSTLS)遥感图像场景分类方法。为减少在源域和目标域分布上的差异,在源域、目标域和源域-目标域数据之间建立拉普拉斯图矩阵,将不同数据域的遥感图像投影至同一子空间,同时,在投影子空间上学习共享字典,能很好地编码源域和目标域上的数据。对目标域上未标记的数据,用拉普拉斯正则化项保证其子空间内数据点的几何流形结构。
本文的主要贡献有:(1)提出了一种基于半监督和迁移学习的稀疏表示方法。该方法既属于迁移学习的范畴,又属于半监督学习的范畴,不仅能有效利用相关场景的带标记图像信息,也能有效利用目标场景带标记和未带标记的图像信息。在遥感图像分类中是一种新的尝试。(2)为有效求解子空间和稀疏表示模型的最优参数,采用交替优化方法,使得子空间和稀疏表示的参数同时达到最优。(3)在真实遥感图像场景数据集上的大量实验表明,方法有效且优于多个对比的非迁移和迁移学习算法。
1 相关知识
给定数据集X=[x1,x2,…,xN],设D=[d1,d2,…,dk]为字典矩阵,A=[a1,a2,…,aN]为稀疏编码矩阵,A中的第i行对应第i个样本的稀疏表示。也就是说,每个数据点均可表示为基向量的稀疏线性组合。用最小化经验损失函数,得到稀疏表示式[18]:
其中,正则化范数项中p=1,2 或∞,‖ ‖0表示零阶范数。用拉格朗日乘子法将式(1)转化为无约束优化问题:
其中,λ为大于0 的实数。式(2)中的2 个待优化变量常通过LASSO(least absolute shrinkage and selection operator)[19]或OMP(orthogonal matching pursuit)[20]方法求解。
对于待分类的测试样本y,分类结果可表示为
其中,Xi为第i类训练数据。式(3)也可表示为利用稀疏判别系数训练的其他形式的分类器,如支持向量机和K近邻分类器等。
2 基于半监督子空间迁移的稀疏表示方法
2.1 模型的建立
本文提出的基于半监督子空间迁移的稀疏表示方法通过投影矩阵将源域数据和目标域数据投影至同一子空间,在最优子空间令源域数据和目标域数据的分布偏移尽可能小。
设训练集数据采集自2 个不同的领域:源域大量带标记数据Xs=[xs,1,xs,2,…,xs,ns]∈Rd×ns,目标域带标记数据Xt=[xt,1,xt,2,…,xt,nt]∈Rd×nt和未带标记数据Xu=[xu,1,xu,2,…,xu,nt]∈Rd×nu。训练数据集Z可表示为
为充分利用源域和目标域的可分辨信息,在源域、目标域和源域-目标域的数据之间分别构建拉普拉斯图矩阵Ws,Wt和Wst,3 个矩阵的元素分别为Ws,ij,Wt,ij和Wst,ij:
首先,为减少不同领域分布变化的影响,使用投影矩阵将原始的高维特征空间投影至子空间,同时,在共享子空间学习字典,建立源域和目标域之间的联系,可表示为
其中,Ps,Pt和Pu分别对应源域、带标记目标域和未带标记目标域的投影矩阵;As,At和Au分别对应源域、带标记目标域和未带标记目标域的稀疏编码矩阵;D为源域和目标域学习的共享字典;β为正常数。式(7)的第4~6 项分别为源域、目标域和源域-目标域标记数据的拉普拉斯正则化项,使各自领域中同类样本字典编码尽可能相似,异类样本字典编码尽可能不同。由图的拉普拉斯矩阵性质[21],可将
其中,Ls,Lt和Lst分别为源域、目标域和源域-目标域上的图拉普拉斯矩阵。
其次,考虑目标域未标记数据信息,引入数据Xu在稀疏编码上的拉普拉斯正则化项,以保证子空间未标记数据的几何流形结构,即
其中,Wu为目标域未标记数据Xu上的近邻矩阵,Qu为对角矩阵,Lu为图拉普拉斯矩阵。为此,建立Xu数据域上的邻接矩阵Wu,其元素Wu,ij表示为
最后,考虑Xs,Xt和Xu数据上稀疏编码的正则化,即。本文方法的目标函数为
其中,λ和γ为正常数,用以调节各分项在目标函数中的占比。定义矩阵:
则式(11)可简化为
2.2 模型参数的求解
模型涉及3 个参数:字典D,投影矩阵P和稀疏编码矩阵A,采用交替优化方法求解最优参数。
首先,固定参数D和A,求解参数P。此时,式(12)可转化为
用拉格朗日对偶方法求矩阵P:
其中,δ为值很小的对角矩阵,其作用是避免求解矩阵P时XXT出现不可逆情况。
然后,固定参数P和A,求解参数D。此时,式(12)可转化为
用拉格朗日对偶方法求矩阵D:
其中,Θ与矩阵δ的功能类似,也是一个值很小的对角矩阵。
最后,固定参数P和D,求解参数A。令
则式(12)可转化为
由于式(17)的每一项都是二次的,对ai取一阶导数,可得
对测试图像z,用获得的投影矩阵P和字典D计算稀疏编码az:
于是,通过式(3)可实现对遥感场景图像的分类。算法描述如下:
算法1基于半监督子空间迁移的稀疏表示(SR-SSTLS)方法。
输入:源域数据Xs、带标记目标域数据Xt和未带标记目标域数据Xu。
输出:测试图像z的类别标签。
初始化:t=0,设置迭代最大次数T,用式(1)计算每个类别样本的字典,初始化D0。
Fort Step 1 固定参数Dt和At,用式(14)求解参数Pt; Step 2 固定参数Pt和At,用式(16)求解参数Dt; Step 3 固定参数Pt和Dt,用式(18)求解参数At; End Step 4 用式(19)计算测试样本的稀疏编码; Step 5 用式(3)计算测试样本的类别标签。 对提出的SR-SSTLS 方法在真实遥感图像数据集上进行验证。实验所用数据集为4 种公开的高光谱遥感图像数据集:RSSCN7[22]、Ucmerced Land[23]、AID[24]和Google[25],其在图像像素、场景类别和图像数量上存在差异。RSSCN7 数据集由7 个子类的2 800 幅图像组成,每个子类有400 幅图像,图像像素为400×400;Ucmerced Land 数据集由21个子类的2 100 幅航空场景图像组成,图像像素为256×256;AID 为由30 个子类的10 000 幅图像组成的大型航空场景数据集,图像像素为600×600;Google 也为航空场景数据集,由12 个子类的航空场景图像组成,每个子类包含200 幅图像,图像像素为200×200。4 种遥感场景图像数据集对应子类的部分样本图像示例如图1 所示。为有效表示遥感图像,采用文献[15]的方法,在训练集上分别用CaffeNet[26]和VGG-VD-16[24]模型提取2 种不同类型的深度特征。CaffeNet 由13 层神经网络组成,包括5 个卷积层、5 个汇集层和3 个完全连接层。VGG-VD-16 由16 层神经网络组成,包括13个卷积层和3 个完全连接层。提取得到的2 种遥感图像深度特征的维数均为2 048。 图1 4 种遥感图像数据集的部分样本图像示例Fig.1 Sample images in four remote sensing image datasets 将SR-SSTLS 算法与多个常规分类算法和迁移学习分类算法做了比较,包括稀疏表示分类器SC[18]、局部保持半监督支持向量机LPSSVM[17]、深度神经网络AlexNet[27]、适应正则化迁移学习ARTL[28]、半监督学习迁移分量分析SS-TCA[29]和联合分布分析JDA[30]。各算法的参数设置如下:SC使用K近邻分类器,K近邻参数的搜索范围为{1,2,…,9},字典的大小与每类中训练图像的数量相同。LPSSVM 的K近邻参数的搜索范围为{1,2,…,9},热核参数的搜索范围为{0.5,1.0,…,4.0},正则化参数的搜索范围为{10−3,10−2,…,103},平衡参数的搜索范围为{2−7,2−4,2−1,…,27}。ARTL 收缩参数的搜索范围为{0.01,0.05,0.1,0.2,…,1},MMD 参数的搜索范围为{0.1,0.5,1,2,…,10},流形正则化参数的搜索范围为{0.001,0.01,…,1 000},K近邻参数的搜索范围为{1,2,…,9}。SS-TCA 参数μ的搜索范围为{10−3,10−2,…,103},K近邻参数的搜索范围为{1,2,…,9}。JDA 子空间参数的搜索范围为{10,20,…,200},正则化参数的搜索范围为{10−3,10−2,…,103}。SR-SSTLS 子空间维数的搜索范围为{300,400,500},参数η的搜索范围为{0.1,0.5,2,5},参 数β和γ的搜索范围为{10−2,10−1,1,2,4,10},字典的大小与每类训练图像中的数量相同。AlexNet 网络由5 个卷积层和3 个完全连接层组成,参照文献[31]的方法,实验中同时调整源域和目标域训练数据,得到AlexNet 模型参数。 设计3 个迁移遥感图像分类场景:Ucmerced Land→RSSCN7、AID→RSSCN7 和 Google→RSSCN7,源域分别为Ucmerced Land、AID 和Google 数据集,目标域均为RSSCN7 数据集。为与RSSCN7 中的6 个子类匹配,从源域中选择相似子类,3 个迁移遥感图像分类场景及其匹配子类的详细信息如表1 所示。随机选取80%的源域图像和5%的目标域图像进行模型训练,其中一半目标域图像带类别标签,一半不带类别标签,剩余的目标域图像用于测试。此过程执行10 次,记录每次运行的分类精度。深度特征的提取工作在Titan XP GPU的Linux 平台的Pythorch 中实现,各对比算法在2.6 GHz 双 核CPU 和16 G 内 存Windows 平台的MATLAB 上实现。 表1 4 种遥感图像数据集的子类信息Table 1 The selected subclasses in four remote sensing image datasets 比较SR-SSTLS 在3 种跨领域遥感场景分类任务中的性能。各子类的实验结果见表2~表4。各算法的平均分类准确率如图2 所示。实验结果表明:(1)在所有分类子任务中,迁移学习方法(ARTL、SS-TCA、JDA 和SR-SSTLS)较非迁移学习方法(SC 和LPSSVM)表现更好。深度模型AlexNet 与ARTL 方法的分类准确率相当。在3 个场景分类任务中,源域和目标域均采集自不同的遥感数据集,因此遥感图像的类型和内容有很大不同。然而,非迁移学习方法无法处理源域和目标域之间的差异,源域的辅助知识对目标域来说是有限的,特别是在Ucmerced Land→RSSCN7 任务中,数据集的分布差异很大,迁移学习方法优势明显。(2)SR-SSTLS 在3 个跨域遥感场景分类任务中均取得了最好的识别效果。SR-SSTLS 将源域和目标域的所有图像投影至公共子空间,并在子空间学习共享的判别字典,从而从源域中提取足够准确的辅助信息。共享字典通过图的拉普拉斯正则化项挖掘几何结构信息,从而很好地利用标记图像的鉴别信息进行模型训练。此外,结合子空间和字典学习的迭代学习策略,保证所有参数最优。(3)深层特征提供了分类器高效的特征表示。因遥感场景图像中包含的信息往往与其子类密切相关,传统的特征信息,如颜色、纹理、空间和光谱信息已不能满足遥感场景分类的需要,特别是当某些子类对应的特征不显著时,分类器的分类精度降低。尽管SR-SSTLS是一种非深度学习方法,但实验用CaffeNet 和VGG-VD-16 模型获得了遥感图像的深度特征,SR-SSTLS 具有令人满意的分类结果。 图2 算法的平均分类精度Fig.2 Average classification accuracy of methods 表2 Ucmerced Land→RSSCN7 任务中每个子类的分类准确率Table 2 Classification accuracy of each subclass on the Ucmerced Land→RSSCN7 task 表3 AID→RSSCN7 任务中子类的分类准确率Table 3 Classification accuracy of each subclass on the AID→RSSCN7 task 表4 Google→RSSCN7 任务中子类的分类准确率Table 4 Classification accuracy of each subclass on the Google→RSSCN7 task 为进一步验证SR-SSTLS 方法的性能,表5~表7 分别列出了SR-SSTLS 方法在3 个迁移遥感场景分类问题中的混淆矩阵。在RSSCN7 数据集中,每个场景子类的测试数据均由380 幅图像组成。混淆矩阵中的值表示分类结果中对应子类的图像数。由表5~ 表7 的结果可知:(1)SR-SSTLS 在Ucmerced Land→RSSCN7 场景中对草、河、森林子类的分类精度均在80%以上,而对工业子类的分类精度较低。这是因为RSSCN7 数据集的草、河、森林子类和Ucmerced Land 数据集的农业、河、森林子类之间具有较高的相似性;而RSSCN7 数据集的工业子类和Ucmerced Land 数据集的建筑子类差异较大。(2)SR-SSTLS 在AID→RSSCN7 和Google→RSSCN7 场景中的分类精度与在Ucmerced Land→RSSCN7 场景中的相似,在源域和目标域中,遥感场景图像相似度高的子类(如河和森林)的分类精度比遥感场景图像相似度低的子类(如居民)的高。 表5 SR-SSTLS 方法在Ucmerced Land→RSSCN7 任务中的混淆矩阵Table 5 Confusion matrix of SR-SSTLS on Ucmerced Land→RSSCN7 task 表6 SR-SSTLS 方法在AID→RSSCN7 任务中的混淆矩阵Table 6 Confusion matrix of SR-SSTLS on AID→RSSCN7 task 表7 SR-SSTLS 方法在Google→RSSCN7 任务中的混淆矩阵Table 7 Confusion matrix of SR-SSTLS on Google→RSSCN7 task 提出了一种基于半监督子空间迁移的稀疏表示遥感图像场景分类方法。通过投影技术将源域和目标域数据投影至子空间,以减少不同领域分布间的差异,并通过学习共享字典建立源域和目标域之间的联系,使得源域数据辅助目标域模型的建立。同时,对于目标域上的未标记数据,SR-SSTLS 通过数据邻接图技术保持数据的流形结构,从而使模型表现出较高的分类能力。 本文只使用单一源域数据辅助目标域数据建立分类模型。后续工作主要包括:如何联合多个源域数据辅助模型建立;稀疏表示的另一大优点是去噪能力较强,下阶段将研究本模型对带噪遥感图像场景的分类;另外,本文用交替优化方法调整SRSSTLS 参数,参数的训练效率有待提高。3 实 验
3.1 遥感图像数据集和实验设置
3.2 性能比较
4 结语