基于栈式稀疏自编码的农村建筑物提取方法
2022-04-27皮原征黄庆飞
钱 佩,皮原征*,雷 雳,黄庆飞
(1.广东省国土资源测绘院,广东 广州 510500)
建筑物提取的方法大致可分3类[1-5]。目前,卷积类深度神经网络在遥感影像处理方面多是监督式学习且自适应性低,但在农村建筑物提取过程中,影像的干扰性地物复杂多样,对深度神经网络的自适应性要求较高。无监督学习的神经网络以其数据降维与特征提取方面的优势[17-22],被广泛应用于高维影像数据的目标检测等领域的研究[23]。
本文采用栈式稀疏自编码神经网络的方法从遥感影像中提取农村建筑物。首先使用高分辨率遥感数据集,以无监督学习的方式对栈式稀疏自编码神经网络进行训练,提取遥感影像中农村建筑物的特征,然后利用标记数据和提取的农村建筑物特征以监督学习的方式对其分类,从而实现对建筑物的准确提取。
1 研究原理与方法
1.1 PCA白化预处理
由于遥感影像中相邻像素之间存在很强的相关性,这种强相关性信息对于深度神经网络的训练来说是冗余的,白化(Whitening)是算法为有效降低输入影像像素间的相关联度而引入的一种预处理手段。主成分分析(PCA)白化是一种能够有效提高无监督学习算法处理速度的数据降维技术。因此,本文首先采用PCA白化对数据进行预处理,以降低神经网络输入数据的冗余度。
PCA白化预处理的具体过程如下:首先,为保持样本数据特征分布不变,对样本数据的进行零均值化,得到去均值化后的矩阵X,根据X计算样本数据集各个特征的协方差矩阵如下:
式中,C是样本数据集的协方差矩阵;m是无标签样本的数目。根据公式(1)显然可得协方差矩阵C是一个实对称矩阵,其对角线分别是特征维中各个特征的方差,而第i行第j列和第j行第i列元素相同,表示i和j2个字段的协方差。
然后,根据实对称矩阵的性质,可利用奇异值分解等方法求解该协方差矩阵的特征值及对应的特征向量,之后将特征向量按对应特征值大小从上往下按行排列成特征值矩阵,根据如下的PCA误差表达式:
式中,δ表示PCA的误差大小;k表示前k维;m是样本的无标签样本的数目;P表示特征值矩阵。在保证控制在2%以内的误差的前提下,取相应的k值及前k维对应的特征值矩阵P,根据如下公式将数据降至k维:
1.2 栈式稀疏自编码器
1.2.1 自编码器
自编码(auto-encoder,AE)神经网络是一种无监督的学习算法,它使用反向传播算法(Back-Propaga⁃tion)和最优化方法(如梯度下降法、L-BFGS优化算法等),借助输出值等于或接近于输入值这一规则,来训练神经网络学习一种映射关系,这种映射关系能够自动从无标注的数据中抽离出比原始数据更好的特征描述,进而实现对原始数据的重构。如图1所示。
图1 自编码神经网络结构示意图
一个单隐藏层的自编码神经网络可分为三层,即输入层、隐藏层和输出层,其中“1”表示偏置项系数。假设表示连接第l层第j个神经元和第l+1层第i个神经元的权重系数,表示第l+1层第i个神经元的偏置项,表示第l+1层第i个神经元对输入值的加权和,sl表示第l层神经元的总数,则有:
在自编码神经网络的训练过程中,采用反向传播来训练学习权重和偏置项系数参数,使无标签输入样本xi与输出结果目标yi相等的方式来建立最小化损失函数。对于一个包含m个样本的数据集,则自编码神经网络的损失函数可表示为:
1.2.2 稀疏自编码器
当隐藏层神经元的节点个数少于输入和输出层时,自编码神经网络试图使用更小的维度数据去描述和刻画原始数据,同时又尽可能保证不损失原始的数据信息。因此,此时的自编码神经网络在训练的过程中倾向于去学习数据内部规律,如相关性等,可看作是对原始数据的降维或压缩操作。如果隐藏层维度比输入数据层维度大时,为防止网络出现过拟合现象,则通过对隐藏层施加稀疏性约束,同样也能够得到输入数据内部的结构与规律,该模型被称为稀疏自编码器(SAE)。稀疏自编码首先是学习原始数据信息的高维表达,再借助稀疏性的规则从高维表达中进行特征选择,找出大量维度中真正起重要作用的若干维,进而只让这些重要的若干隐藏层节点处于“活跃”状态,使自编码器被推动以减少编码层中活动神经元的数量,迫使自编码器将每个输入表示为少量激活的组合。
本文算法的神经元激活函数采用非线性sigmoid函数,即,神经网络中第l层第i个神经元的激活值用表示。该神经元激活函数的阈值为(0,1),当神经元的输出接近于1时则可以认为该神经元处于激活状态;当神经元的输出接近0时则可以认为该神经元处于抑制状态。因此,稀疏自编码的实质是在自编码神经网络的损失函数中添加适当的稀疏性约束,使大部分神经元处于抑制状态。假设表示第n个样本输入xn情况下第j个神经元的激活值(输出值),用神经元j对于所有样本的平均激活值,具体如公式(6)。为了使控制在一个接近于零的范围,引入相对熵概念,令为相对熵中其中一个随机变量,令P为相对熵中另外一个随机变量,这里通过给定P一个固定值(通常设置为一个较小
值,本文令P=0.05),当和P越接近时,的值越小。本文的相对熵的计算公式如公式(7):增加稀疏限制之后,以β作为稀疏约束惩罚项的系数,则稀疏自编码神经网络的代价目标函数为:
公式(8)由三部分的和构成,其中第一部分是均方差项;第二部分是正则化惩罚项;最后一部分是稀疏约束惩罚项。公式(8)是关于各个权值和偏置项的非线程函数,且整体为非凸函数,因此采用迭代法求解,本文采用的是L-BFGS优化算法。具体为:首先进行前向传播,之后依据后向传播思想、代价目标函数和优化算法优化参数;再进行前向传播,以此往复直到代价目标函数停留在一个较小值附近。
1.2.3 栈式自编码器
栈式稀疏自编码器是指多个稀疏自编码器叠加构造的网络结构,栈式自编码的结构如图2所示。
图2 栈式自编码神经网络结构
从图中可以看出,栈式自编码神经网络中其中一层提取的特征结果是下一层的输入数据。具体训练过程为:首先训练栈式中某一层,然后保持其他层的参数不变,前一层训练完成之后训练下一层,以此类推。当所有层训练完成之后,利用反向传播算法对所有参数进行微调,最终达到最优的结果。
1.3 Softmax分类器
农村房屋的真实形状各异,经过神经网络提取到的特征层所包含的特征形状也是多种多样。因此考虑到logistic回归解决的仅仅是二分类问题,本文选择可以进行多分类问题的softmax函数,该函数是logistic回归函数的一个扩展。用于softmax回归模型训练的样本集通过栈式稀疏自编码提取到的特征,采用相应的标记数据对训练过程进行监督。通过向softmax回归模型代价函数中加入正则化权重衰减项后,新的代价函数是凸函数,因此存在唯一的极小值。通过一些迭代算法优化之后可以得到全局最优解。
2 结果与分析
2.1 数据集
为了有效提取出遥感影像中的农村建筑物目标,本文在地理国情监测生产基础上,选取场景均为农村地区的影像及相应的矢量化地表覆盖分类成果,将其裁切为512×512像素大小的数据块,最终形成本次实验的数据集。该数据集中包含训练数据和测试数据。其中,训练数据是用于训练无监督特征学习网络和softmax特征提取过程,而测试数据则是用于测试本文算法对高分辨率遥感影像中农村建筑物的提取效果。
2.2 数据预处理
为降低遥感影像像素间的相关联度、进一步提高无监督学习算法的速度,在数据预处理阶段引入PCA白化处理。通过计算得到样本数据的平均值和协方差矩阵,进而求解出样本数据协方差矩阵的特征值及对应的特征向量,在保留下来的方差占比大于98%的前提下,选取前k个最大特征值所对应的特征向量,通过矩阵运算使数据的维度降至k维,实现数据维度降低。在预处理过程中,随机抽取100个数据块进行展示,原始数据块影像与预处理结果分布如图3a、b所示。
图3 数据预处理结果展示
2.3 基于Tensorflow的建筑物提取
为了有效评价栈式稀疏自编码神经网络从遥感影像中提取农村建筑的的效果,本文采用目前运用最广泛的传统BP神经网络作为本次实验的对比算法。直观实验结果如图4所示。
图4中分别给出了农村地区原始遥感影像图、对应的参考真值影像以及传统BP方法的实验结果,其中的参考真值影像是在原始影像数据上进行人工目视图解进行建筑物提取得到的。通过对比农村地区原始遥感影像图、对应的参考真值影像与传统BP方法实验结果发现,传统BP方法能够将大部分农村建筑物提取出来,但其结果也存在误提取现象,即将与建筑物结构相似或与建筑物颜色相近的非建筑物地表覆盖错误地提取为建筑物,传统BP方法提取结果影像中还存在较多误提的细小且琐碎的不规则图斑、建筑物提取边界模糊以及部分农村建筑物没有被提取出来等问题。
2.4 基于栈式稀疏自编码神经网络的建筑物提取
图5给出了农村地区原始遥感影像图、对应的参考真值影像以及本文提出的基于栈式稀疏自编码神经网络建筑物提取的实验结果。通过与对比提取结果发现,本文算法能够更加全面地将遥感影像中的建筑物提取出来,且提取图版边界较为清晰规整,但在提取结果中也存在一定程度的建筑物的漏提、误提以及存在细碎图斑等现象。与图4c中传统BP算法提取结果的目视效果相比,本文算法的提取结果中漏提、误提比例明显较低,提取结果中的破碎图斑也相对较少,提取的建筑物图斑边界更为规则清晰。
图4 传统BP方法建筑物提取结果
图5 本文方法建筑物提取结果
2.5 精度分析
为了定量评估本文算法的提取效果,采用精准率和召回率作为评价实验结果的相关评价指标。其中,精准率(Precision)又叫查准率,是相对于实验预测结果而言,表示预测为真的样本中有多少预测对,其含义是在所有被预测为真的样本中实际为真的样本的概率,即“找得对”。其公式可表示为:
式中,TP表示预测结果为真,实际也为真;FP表示预测结果为真,而实际为假。
召回率(Recall)又叫查全率,是相对于原样本真值而言的,其含义是在实际为真的样本中被预测为真的样本比例,即“找得全”。其公式如下:
式中,FN表示预测结果为假,而实际为真。
根据实际要求,需尽可能将遥感影像中农村地区的建筑物全部提取出来,即建筑物尽可能的“找全”。因此,在进行传统BP方法与本文算法的实验过程中,需尽可能地提高召回率。而在保证高召回率的同时,实验结果不可避免地错误提取了较多非建筑物的图斑和大量琐碎图斑,导致2种算法在建筑物提取过程中精准率的统计值大幅降低。具体实验结果如表1所示。
表1 不同分辨率的建筑物提取结果/%
从上表中可以看出,无论是召回率还是精准率评价指标,本文算法的统计结果均优于传统BP神经网络。其中,召回率平均提高了5.48%,精准率平均提高了5.31%。实验结果表明,本文提出的基于栈式稀疏自编码的农村建筑物提取算法能够有效提取出农村地区的建筑物,为违法占用耕地建房现象的早发现、早制止和早处理提供有力的技术支撑。
3 结语
本文提出的栈式稀疏自编码深度神经网络以无监督和有监督结合的特征学习方式,有效提高了高分辨率遥感影像中农村建筑物的提取准确率。该算法首先通过PCA白化技术进行预处理,去除了原始影像数据中的高冗余度与强相关性强,然后利用栈式稀疏自编码器构建了深度神经网络模型,通过无监督训练得到遥感影像的学习特征,最后结合有标签数据对Softmax分类器进行监督训练,实现对农村建筑物信息的有效提取。实验结果表明,与传统的BP神经网络相比,在应对计算量大、分辨率高的高分遥感影像的农村建筑物目标提取中,本文算法具有更高的提取精度。但若从农村占用耕地建房问题的需求出发,遥感影像农村建筑物的提取精度仍有待进一步提高。限制精度的原因可能是训练数据集较小等,可通过加大样本数据集、增加神经网络的层数等方式,来进一步挖掘并充分发挥出无监督特征学习潜在强大的泛化能力,并借助并行计算等策略提高处理速度,以期取得更好的农村建筑物提取效果。