首页 / 一种建筑物地理信息数据库更新方法

一种建筑物地理信息数据库更新方法实质审查 发明

技术领域

[0001] 本发明属于遥感与地理空间信息技术领域,具体涉及一种建筑物地理信息数据库更新方法。

相关背景技术

[0002] 建筑物地理信息数据库作为城市基础地理信息数据库,其建设及维护可以为多种行业应用提供基础数据。
[0003] 建筑物数据规模庞大,且建筑物的拆除或新建速度快,传统的建筑地理信息数据库的建设和维护通常通过实地调查与测量来实现,存在过程繁琐、成本高、周期长等问题。

具体实施方式

[0050] 为了使本领域技术人员更好的理解本发明的技术方案并能予以实施,下面结合附图和具体实施例对本发明进行详细说明。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0051] 此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定或限定,术语“相连”、“连接”应作广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体式连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以是通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上,在此不再详述。
[0052] 实施例:
[0053] 本发明提供了一种建筑物地理信息数据库更新方法,具体如图1所示,包括:将建筑物遥感影像输入堆叠U‑Nets模型中,利用U‑Nets模型提取出建筑物遥感影像中的建筑物栅格数据图像;将建筑物栅格数据矢量化,将矢量化后的建筑物数据和已有的建筑物地理信息数据库进行矢量匹配,从而得到建筑物的变化情况,根据建筑物的变化情况更新现有的建筑物地理信息数据库;
[0054] 堆叠U‑Nets模型包括:步长为2的7*7卷积滤波器;残留块,其输入端与卷积滤波器输出端相连;第一U‑Net堆叠模块,其输入端与残留块输出端相连,其包括2个串联的U‑Net模块;第二U‑Net堆叠模块,与第一U‑Net堆叠模块相连,其包括7个串联的标准U‑Net模块;第三U‑Net堆叠模块,与第二U‑Net堆叠模块串联,其包括7个串联的标准U‑Net模块;第四U‑Net堆叠模块,与第三U‑Net堆叠模块串联,其包括1个只含有编码器E1和解码器D1的U‑Net模块;1*1卷积+softmax层,其输入端与第四U‑Net堆叠模块的输出端相连。
[0055] 以下为本发明具体实施例:
[0056] S1、获取高分辨率影像,对数据进行预处理操作,制作一定数量的建筑物样本,构建堆叠U‑Nets网络进行城市建筑物的提取;其中建筑物样本的标签为人工对遥感图像进行识别而得到的分类结果;
[0057] S2、采用形态学算法对提取出的建筑物栅格数据进行处理,然后进行栅格数据矢量化,得到与现有建筑物地理信息数据库相同格式的建筑物数据,便于后续建筑物对比;
[0058] S3、提取建筑物矢量特征,采用基于证据理论的矢量匹配方法将矢量化后的建筑物数据和现有建筑物地理信息库进行矢量匹配;
[0059] S4、结合辅助数据,对矢量匹配后的建筑物提取结果进行评估,进行建筑物数据库的更新;
[0060] 具体的,步骤S1的具体步骤为:
[0061] S11、获取高分辨率遥感影像,使用人工目视解译的方式对影像中的建筑物进行识别,在ArcGIS软件中进行建筑物样本的绘制,制作成Shapefile格式的标签,用于后续模型的训练;
[0062] S12、使用Python编写随机裁剪的代码将获取的高分辨率影像和建筑物标签矢量数据统一裁剪成512×512大小的图片,依次用1、2、3、4……命名;其中高分辨率遥感影像数据有R、G、B三个通道,像素值范围为0‑255;标签矢量数据需要进行栅格化处理,转换成像素值为0(背景值)和255(建筑物)的栅格二进制格式;上述裁剪后的高分辨率影像和建筑物标签分别为JPG、PNG格式;
[0063] S13、将处理好的影像样本和标签数据进行样本集和训练集的划分,本发明实施例中随机选取80%用于网络模型训练,其余的20%用于验证训练后的网络模型性能,通过多次训练与验证得到最优的网络模型,本发明实例中共使用了训练图像与对应标签图像4000张,验证图像与对应标签图像1000张。
[0064] S14、构建堆叠U‑Nets模型,将裁剪好的遥感影像图片与标签图片训练数据进行归一化处理后按批次输入到网络中进行训练,获得所述训练好的神经网络;
[0065] U‑Net架构最初是为了对生物医学图像进行分割而提出的。U‑Net通过压缩(编码器)和扩展(解码器)路径在多个尺度上捕获上下文信息,其不需要大量训练数据就可以获得较好的分割效果,在生物医学图像分割领域应用较为广泛,但当面对遥感图像中存在的复杂颜色配置文件、多个波段和遮挡时,U‑Net网络的分割性能不佳。
[0066] 本发明通过将U‑Net块堆叠到深层架构中来扩展U‑Net的能力。当数据通过多个U‑Net模块时,高分辨率特征与低分辨率上下文信息能够混合在一起,经过许多层处理后生成信息丰富的高分辨率特征。此外,与传统架构相比,堆叠U‑Nets模型每层需要的特征映射更少,因此可以用更少的参数实现更高的性能。
[0067] 具体实现中,如图2所示,用于建筑物提取的堆叠U‑Nets模型包括4块堆叠的U‑Net组成,每块分别包含2、7、7和1个标准U‑Net模块。每个U‑Net模块由10个卷积块组成,每个卷积块前面都使用了批处理归一化和ReLU激活函数。低分辨率和高分辨率的特征图分别使用跨跃卷积和反卷积生成。U‑Net各模块输入输出处的特征映射分辨率是相同的,卷积过程使用3×3的卷积核,在每个U‑Net模块的输入和输出处增加具有1×1卷积核,此外,模块内的跳跃连接有助于避免梯度消失现象。
[0068] 批处理规范化(Batch Normalization)是一种数据处理的规范手段,其实质是将网络结构输出的数据拉回到标准正态分布中,即数据的均值为0方差为1的状态。当数据分布于标准的正态分布时,其进入激活函数后所产生的非线性变换就更加灵敏,使得激活函数可以发挥出更大的非线性能力,可以有效的避免梯度消失,同时也可以加快网络收敛速度,加快训练速度。使用批处理规范化首先要对所得数据进行归一化,如下公式所示:
[0069]
[0070]
[0071]
[0072] 式中,m表示一次训练抽取的样本数量,μB表示均值, 表示方差,ε为避免分母为0而加入的接近0的极小值。之后进行尺度变换和偏移操作,如下公式所示:
[0073]
[0074] 式中,γ是尺度因子,β是平移因子。尺度变换和偏移操作是为了让由于训练所需而加入的批处理规范化步骤能够有可能还原最初的输入,从而保证整个网络的容量。其中的γ和β是在网络训练时能够学习得到的,因此在训练过程中神经网络会随着训练过程自行选择一个最适合的分布,这使得网络有更好的表现效果。
[0075] 激活函数提供了网络的非线性建模能力,定义了输入输出之间的映射关系,在很大程度上决定了神经网络的能力。本发明实例中使用的是ReLU函数,ReLU函数在x≤0时,输出的结果均为0,会导致神经元的死亡。激活函数给神经元引入非线性因素,使得神经网络可以任意逼近任何非线性函数,从而应用到众多的非线性模型中。ReLU函数计算公式如下所示:
[0076]
[0077] 输入图像通过7×7卷积滤波器(步长为2)和一个残留块,在这一阶段,传统的最大池化层被剩余块内部的跨卷积层所取代;随后,通过4块堆叠的U‑Net模块,这些模块将高分辨率捕获的细节与低分辨率捕获的长距离上下文信息结合起来,生成场景的分割图。
[0078] 使用了2个跨步卷积和2个平均池化,用于增加感受野,有助于捕获远程信息,对于512×512的输入大小,输出的映射大小是32×32。平均池化应用于第1个和第2个堆叠U‑Net块的输出。在第3块和第4块中,U‑Net模块执行扩展卷积以保持特征映射分辨率不变。第4个U‑Net模块的特征映射输入尺寸为7×7,在编码器E2的输入处进一步减少为2×2,在该分辨率下,不可能有E2和D2层,因此在第4个区块中使用了U‑Net(U‑Net+)的裁剪版本即只有编码器E1和解码器D1,如图3所示。
[0079] 在每个块的第一个U‑Net中,使用1×1的卷积实现跳跃连接。每个块中除第一个U‑Net外的所有U‑Net的剩余连接都实现为标识映射。每个块的输出特征映射的数量大致与前面所有U‑Net模块生成的特征映射的总数相同,这使得体系结构能够灵活地保留所有这些特征映射。
[0080] 使用双线性插值将输出重新缩放到原始大小。模型使用交叉熵损失函数对网络进行训练,交叉熵损失函数的公式如下所示:
[0081]
[0082] 式中,p(Xi)表示真实概率,q(Xi)表示预测概率。
[0083] 使用Adam优化器,起始学习率为1.0e‑4,权重衰减和动量值分别设为1.5e‑4和0.95,去掉了第三块和第四个块末尾的池化步骤,以16的步幅进行输出,训练和测试过程均使用PyTorch框架实现,模型在批次大小为8的RTX3060GPU上进行训练。
[0084] S15、调用训练好的模型进行某城市2018年的建筑物提取;用上述训练数据预处理的方法对该研究区域的影像进行裁剪等数据预处理操作,影像大小同样为512×512,使用OpenCV中使用cv2.imread()函数来读取图像并进行归一化操作,调用训练好的模型进行建筑物的识别,在本发明实例的研究区内共有3242个建筑物被所用的堆叠U‑Nets模型识别,如图4所示。
[0085] 本实施例中步骤S2为对提取出的建筑物栅格数据进行处理,然后将栅格矢量化,具体为:
[0086] S21、使用数学形态学中的膨胀算法和开启算法对建筑物栅格数据进行预处理,以减少栅格图像中的“椒盐噪声”,并平滑边界。膨胀运算和开运算分别使用OpenCV中的cv2.dilate()和cv2.morphologyEx()函数来实现。
[0087] S22、导入GDAL库,使用其中的gdal.Polygonize()函数进行矢量化,分别设置输入栅格图像波段、矢量化后的矢量图层、需要将DN值写入矢量字段的索引、算法选项、进度条回调函数、进度条参数六个参数进行方法的调用,获取影像中相连区域的形状和值,其中表示背景的多边形将从结果中删除。
[0088] 本实施例中步骤S3将矢量化后的建筑物数据和已有的建筑物数据库进行矢量匹配。矢量匹配是通过分析矢量要素的差异和相似性识别出不同来源图中表达现实世界同一地物的过程,匹配的依据包括距离量度、几何形状、拓扑关系、图形结构等相似度指标,因此,在匹配前需要先提取矢量特征,本实施例中使用ArcPy,借助多个函数计算建筑物数据的矢量特征,包括各建筑物矢量的面积、周长、空间位置以及偏心率、矩形度等形状特征,为后续矢量匹配工作做准备。
[0089] 其中,利用ArcPy计算建筑物数据的矢量特征为:
[0090] 计算建筑物面积、周长、空间位置、偏心率、矩形度等矢量特征作为矢量匹配的依据;其中偏心率用来反映多边形形状相对于圆形的扁平程度,形状类似的建筑物的长宽比应近似,计算公式为:
[0091]
[0092] 式中,L表示建筑物的长,W表示建筑物的宽。
[0093] 矩形度表示形状在其最小外接矩形中的填充程度,计算公式为:
[0094]
[0095] 式中,S0表示建筑物的面积,SR表示最小外接矩形的面积。使用arcpy.management.MinimumBoundingGeometry()函数生成建筑物的最小外接矩形再进行矩形度的计算。
[0096] 本发明实例中,使用基于证据理论的知识融合数据匹配方法进行矢量数据匹配,方法流程如图5所示,对于两个要匹配的向量数据集,在匹配过程中,先根据属于一个数据集1的每个特征,在另一个数据集2中寻找潜在相同的特征,然后对这些候选对象进行分析,以确定最终的匹配链接,本发明实例中使用的匹配过程遵循这种方法,包括以下五个步骤,具体为:
[0097] S31、构建待匹配矢量化建筑物数据和现有建筑物地理信息库识别框架。对于现有建筑物地理信息库中的矢量化特征集合F1,根据距离准则在待匹配矢量化建筑物数据中寻找接近的特征集合,这些特征集合是候选{Ci},i=1,…,N,使用候选特征来用于匹配F1。把用不同特征描述同一个建筑物对象的特征组合看作一个特征集合。将两个数据源中的特征集合用np.array()分别存储。通用识别框架定义如下:
[0098] Θ={matC1,matC2,…,matCi,…,matCN,NM}
[0099] 其中,matCi为与第Ci个矢量特征集合匹配的假设,NM代表“F1与待匹配矢量化建筑物数据中的任何特征不匹配”的假设。
[0100] S32、独立分析各个建筑物对象。构建以2Θ为列,以待匹配各建筑物对象的2Θ为行的欧式距离矩阵,将每一行看作一个证据源。(矩阵是特征矩阵)
[0101] S33、匹配标准的融合。匹配标准为长度2Θ的证据源。采用欧式距离准则,使用numpy库计算待匹配矢量化建筑物数据相对于现有建筑物地理信息库对象矢量化特征集合的欧式距离矩阵;根据线性归一化准则,将欧式距离矩阵的每一行都映射到[0,1]间,并确保其和为1;认为现有建筑物地理信息库各建筑为标签,在其欧式距离矩阵中表现为对角为1,其余位置为0。把两个数据源中的每一条证据源分别整理为证据数据mA(ci),A=1,…,N和mB(ci),B=1,…,N,整理过程为基本概率分配确定化,公式为:
[0102]
[0103] 式中,|zi|表示单一假设;x和zi均表示2Θ中的一个假设;某一假设zi为当前计算Θ项,x为除了zi以外2 中的所有其他假设,|zi|=1表示是单一假设。
[0104] S34、证据数据的融合。使用Dempster规则对不同数据源中同一条证据数据进行融合。Dempster规则融合公式为:
[0105]
[0106] 其中,P表示Θ个假设中的一种,m(P)表示为某一种假设分配的证据组合质量,A,B代表不同信息源。在这一步的最后,一个证据的组合质量被分配给Θ的每个假设。
[0107] S35、数据匹配的最后决策。决策使用的标准是pignistic概率的最大值。根据pignistic概率公式,计算现有建筑物地理信息库和待匹配矢量化建筑物数据的最终决策结果。在该过程中,选择置信量最高的证据。对于每个选择的假设,计算一个等于第一个最大值和第二个最大值之差的置信度,将可疑的结果(置信度小于阈值或标准之间存在冲突)进行突出显示,便于后续进行检查。
[0108] 本实施例中步骤S4对矢量匹配的结果进行评估,进而对建筑物数据库进行更新,具体为:
[0109] 将某城市2016年建筑物地理信息数据库中的建筑物视为地面真实数据,采用2018年高分辨率正射影像,如果神经网络检测到的建筑物多边形与数据库中矢量建筑物匹配,则认为其分类正确且无需更新,否则判断更新类型是新增建筑物还是已拆除建筑物,若神经网络检测出的建筑物未与数据库中的建筑物矢量匹配成功,则判定其为新增建筑物;若数据库中建筑物矢量未与神经网络检测出的建筑物矢量匹配成功,则判定其为已拆除建筑物,并对建筑物地理信息数据库进行更新。
[0110] 综合使用堆叠U‑Nets网络输出的概率平均值和标准偏差值评估建筑物检出情况,如图6所示,其中0表示检出正确,1表示检出错误。错误分类的建筑物倾向于聚集在左下角,具有较低的建筑物概率的平均值和标准偏差值。建筑物概率的平均值对区分正确和错误检测的建筑物具有更大的影响。当平均值大于0.8时,很少有不正确检测的建筑物。为了最大限度地利本发明实施例获得的结果,将平均值和标准偏差值的阈值被设置为0.7和0.1,结果保留了1471个对象,其中1139个对象(77.4%)是正确检出的待更新建筑物。
[0111] 以上所述实施例仅为本发明较佳的具体实施方式,本发明的保护范围不限于此,任何熟悉本领域的技术人员在本发明披露的技术范围内,可显而易见地得到的技术方案的简单变化或等效替换,均属于本发明的保护范围。

当前第1页 第1页 第2页 第3页
相关技术
地理信息相关技术
建筑物地理相关技术
刘兰法发明人的其他相关专利技术