APP下载

基于多源数据融合的农村建筑智能识别与三维建模方法研究

2023-03-15彭欣月周素红陈家亮孔宪娟卞明月林高远

热带地理 2023年2期
关键词:掩膜轮廓纹理

陈 彪,彭欣月,周素红,陈家亮,孔宪娟,卞明月,林高远

(1.奥格科技股份有限公司,广州510000;2.中山大学 地理科学与规划学院,广州510275)

中国农村地域辽阔,建筑物作为典型的地物要素,是农村生活空间的主体,同时也是乡村振兴用地的重要保障之一(徐涛 等,2022)。此外,农村建筑物的三维场景一张图是乡村信息化建设的重要数据之一,通过对农村建筑物识别可有效分析当前农村的密集程度和土地利用率(古杰 等,2013;王利忠 等,2019),同时对优化乡村发展布局、促进乡村振兴实施具有重要的现实意义。但现阶段农村房屋数据较为稀缺,如何快速、准确地构建农村三维建筑模型是乡村信息化建设的首要内容。

早期三维建筑建模依靠人机交互,在二维矢量数据的基础上,利用3dsMAX、CAD等软件手动构建建筑物三维模型(谢小魁 等,2016;单杰 等,2019)。该方式模型精度高,但存在建模成本高、耗时长、覆盖范围小、真实纹理采集困难等问题,无法满足大范围快速建模的需要(张春敏 等,2018;张俊辉 等,2020)。随着倾斜摄影技术的广泛应用,自动化三维建筑建模取得很大进展。也有研究结合航空立体像对与3dsMAX软件完成了三维建模以及纹理映射(程慧,2013;李德仁 等,2015;文雄飞 等,2016;张春敏 等,2018)。陈良超等(2018)提出一种基于底面纹理的倾斜摄影模型动态单体化方法。周晓敏等(2016)采用倾斜影像联合空中三角测量技术,通过多视影像密集匹配和自动纹理关联,实现城市高精度真三维模型的构建。倾斜摄影技术为三维模型领域带来新的方法,但该类方法计算过程复杂且对数据质量具有较高的要求,所构建的三维模型在近地面时常存在纹理模糊、丢失、扭曲形变等问题,无法还原精细、完整的真实建筑物的空间信息(王琦 等,2012;张茂正 等,2022)。此外,建筑单体化还需进行二次操作(包括建筑结构重建与纹理贴图),耗时更长。

近年来,高分辨率卫星的飞速发展,为地物识别分析提供更丰富的途径和资源(王艳阳 等,2020)。高分辨率卫星数据集空间分辨率高,地物边界、形状和纹理也更加清晰,足以支撑对目标地物的识别,且覆盖范围大、采集周期较短、成本相对较低、受气象条件影响较小,使得利用高分辨率卫星影像快速制作大范围三维建筑物模型成为现实(陈良超 等,2018)。如曹治国等(2006)利用IKONOS卫星立体像对实现城市场景的快速三维重建。龙北平等(2021)基于无人机遥感影像利用迁移学习法实现乡村建筑物的快速检测,并结合参数化建模方法完成乡村区域建筑物的三维模型重建。为了更好地满足精细化实景三维建模的需求,基于多源数据融合的三维建模成为主流研究方向。目前,常见的融合建模方法主要结合航空摄影技术与LiDAR或地面近景摄影技术(连蓉 等,2017)。如张俊辉等(2020)利用WorldView-3 卫星、Geo-Eye-1 卫星影像和互联网众源影像完成迪拜市建筑物单体化建模。孙保燕等(2019)融合航摄影像与地面照片重建桂林市靖江王陵的三维模型。Yu 等(2021)利用深度学习从航空影像中提取建筑轮廓并构建一级细节(LOD1)模型。上述研究中,最优纹理的挑选与映射仍是三维重建需攻克的关键技术。大多数研究方法均围绕城市三维建模展开,鲜少有针对农村地区三维建筑建模的一套完整方案。若直接将城市三维建模方法应用在农村地区,会存在投资成本高、维护周期长等问题。

鉴于此,本文提出一种基于多源数据融合的农村建筑智能识别与三维建模方法,基于高分遥感影像识别建筑的轮廓,形成基础白模,然后依靠现场采集人员利用手机设备完善模型细节,最后提供多端设备及三维技术展示建模成果。并以广东省云浮市新兴县河村单体建筑为建模对象,采集建立了村庄的精细化三维建筑模型,以期实现乡村精细化的管理。

1 研究方法

在农村地区,众包建模在资金投入方面显然比倾斜摄影等建模方法更具成本优势,但众包建模往往需要在操作流程上简单易用,以便公众参与。本文提出的基于多源数据融合的农村建筑智能识别与三维建模方法,分为粗模生成和深化建模2个阶段。在粗模生成阶段,基于高分辨率遥感影像利用深度学习算法初步勾勒建筑基本形态,包括位置、尺寸及方位;为解决由模型精度不高引起的建筑轮廓畸形等问题,提出建筑轮廓正则化算法和自适应的建筑校正算法;融合农村的建筑高度信息则可拉伸成基础三维白模。在深化建模阶段,现场采集人员在基础白模的基础上,通过模型替换、尺寸调整、纹理贴图等方式,逐步深化为精细化的三维建筑模型。最后,通过自动化的三维模型融合技术形成完整的农村电子沙盘,支撑智慧农村建设的各项应用。总体技术流程如图1所示。

图1 农村建筑建模总体技术流程Fig.1 Overall technical flow of rural building modeling

1.1 基于Mask R_CNN的建筑识别

基于深度学习的建筑目标提取已被证明比传统的方法更有效(Bittner et al., 2018;胡舒 等,2020),其中,Mask R_CNN 算法(He et al., 2017;陆清屿 等,2021)在建筑物识别方面表现出鲁棒性,因此,利用Mask R_CNN算法实现建筑物的自动识别,其技术路线如图2所示,主要分为模型训练和模型测试2个阶段。首先,从影像数据截取建筑物遥感影像建立样本训练集,利用LabelMe标注工具标记出遥感影像中建筑物的轮廓;然后,将训练集输入到Mask R_CNN网络架构中,经过多次迭代得到最优的建筑目标识别模型。Mask R_CNN能同时分割出建筑与背景部分,对于每一个建筑都能产生与原图相同大小的分割掩膜。

图2 建筑物目标识别技术路线Fig.2 The technology route of building object recognition

基于Mask R_CNN算法的建筑物目标识别方法步骤为:首先,将裁剪好的遥感影像输入到预训练好的神经网络(卷积层1)中进行卷积、池化,得到对应的特征图(图3);接着,对特征图的每个像素设定固定的感兴趣区域(ROI)数量,从而获得多个候选ROI;然后,将候选ROI输入至区域建议网络(RPN)进行前景(建筑物)和背景分割以及边界框优化,精炼出前景得分最高的ROI;下一步,将精炼后的ROI 进行ROI Align 操作,使得特征图像素能与原图像素完全对齐;最后对ROI通过卷积层2进行建筑分类、边框回归和建筑掩膜生成。

图3 Mask R_CNN算法的核心网络结构Fig.3 The core network structure of the Mask R_CNN algorithm

1.2 建筑轮廓提取

建筑物目标识别模型输出的结果为掩膜图像,而粗模生成需得到建筑的底部轮廓,因此需要从掩膜图像中提取建筑外轮廓,并对建筑轮廓正则化。本文结合Ostu算法(Ostu, 2007;宋森森 等,2019)对掩膜图像进行阈值分割并提取建筑外轮廓。Ostu算法原理是根据直方图确定阈值将灰度图像分割成目标和背景2部分,使得目标与背景的类间距离最大。结合k-means 聚类算法,建筑轮廓提取与正则化步骤为:

1)输入掩膜图像,利用Ostu 算法进行分割,取9×9 的内核执行2 次开运算,平滑图像边缘、消除细狭缝、截断细连通;

2)提取分割后的几何轮廓,得到多个轮廓多边形Pi(i= 1,2,...,n);

3) 计算图像中每个多边形的面积APi(i=1,2,...,n),如果APi值在十分位数以下则直接删除;利用k-means聚类算法对APi进行分类,将聚类集合中数量少且面积过小的多边形删除;

5)利用Douglas-Peucker 算法对Pi进行优化,减少建筑轮廓中重复或过于密集的点,并以最终的优化结果为建筑轮廓。

1.3 自适应的建筑校正算法

通常,由于影像分辨率、树木遮挡、算法识别精度等影响因素,识别的建筑轮廓并不能完美匹配真实情况,会出现多个建筑识别为一个建筑、建筑方位抖动、建筑边角缺失等问题。考虑到农村建筑一般具有尺寸和方位的一致性,提出自适应的模型校正方法,对建筑大小和方位施加约束。

1.3.1 建筑分割 遥感影像中的农村地区成片建筑在尺寸和风格上基本一致且布局紧密,如图4-a 所示。但受树木、地面等干扰物的影响,或因相邻建筑分布紧密、建筑物目标识别模型精度不足等,掩膜图像会存在较小或很大的建筑轮廓。通过计算掩膜面积发现:一定区域范围的建筑面积呈近似正态分布。因此,可利用正态分布阈值控制方法对识别后的建筑大小进行校正。

图4 建筑掩膜面积正态分布验证 [a.原始遥感建筑影像;b.建筑掩膜图像;c.掩膜像素面积计算;d.原始影像与掩膜像素面积叠加图;e.掩膜面积直方图及正态曲线;f.根据正态分布阈值控制删除的建筑(红色线框)]Fig.4 Verification of normal distribution of building mask area[a.Original remote sensing building image; b.building mask image;c.calculation of mask pixel area; d.overlay of original image and mask pixel area; e.mask area histogram and normal curve;f.controlled deletion of buildings according to normal distribution threshold (red frame)]

假设目标区域内有n个建筑,且所有的建筑像素面积AM={A1,A2,...,Am,...,An}可用正态分布表示:

式中:Aμ为区域内建筑像素面积的均值;Aσ为区域内建筑像素面积的标准差。

如果第m个建筑像素面积Am(m=1,2,...,n) 在 区 间(Aμ-Aσ*λ1,Aμ+Aσ*λ2)内,则不做处理;其中,λ1、λ2为正态分布阈值控制参数。如果Am<Aμ-Aσ*λ1,则将该建筑剔除;如果Am>Aμ+Aσ*λ2,则将该建筑分割为面积较小的2个建筑。

1.3.2 建筑旋转 由于建筑一般为成片修建,所以相邻的建筑朝向应该是一致的。建筑分割后,对其进行方位矫正,具体步骤如下为:

1)遍历目标区域内所有建筑,计算第j(j=1,2,...,n)个建筑的底面面积Aj;

4)比较dkj与R的大小,如果dkj≤R,则将此相邻建筑记入集合S,集合S包括第j个建筑;

5)设建筑轮廓的长底边为标准,计算集合S中所有建筑房屋朝向,并将结果记入集合ε={εj,εk,...,εn}。

6)对集合ε中的元素按一定的角度阈值进行聚类,若相近角度的建筑数量超过一定阈值,则认为该片区建筑呈现相同的建筑朝向,并对这些建筑进行旋转,使该缓冲区内的建筑旋转角度一致。

1.4 CSG表示法

构造实体几何(CSG)的基本思想是通过对基本CSG 体素如球、圆柱体、立方体等进行几何变换、局部修改和布尔运算构造空间实体(隋刚 等,2003)。该方法建模速度快,对农村地区简单型建筑模型的适配性较强,可用于本文建筑模型库的构建。

建筑物CSG 建模流程包括2 个部分:1)分析三维建筑模型的基本CSG体素;2)对基本CSG体素进行空间几何变换和布尔运算构建三维建筑模型。如图5所示,构建过程为:首先,根据测量的长宽高确定房屋最大外轮廓(M1)、阳台轮廓(M2)以及第一层平台轮廓(M3);然后,利用差运算(¬):M1¬M2¬M3,最后得到二层全敞开式阳台型房屋模型。

图5 二层全敞开式阳台型建筑构造过程Fig.5 Construction process of two-floor fully open balcony type building

同理,利用CSG 对不同的屋顶样式进行构造,如带女儿墙的平屋顶、人字形屋顶,步骤见表1。

表1 基本屋顶模型生成算法Table 1 Basic Roof Model Generation Algorithm

1.5 数据组织

分别建立建筑数据库,包括场景表(scene表)、建筑单体信息表(building 表)、建筑模型模板表(template表)和建筑纹理表(texture表),如图6所示。scene表是以村或其他区域为单元,方便数据对接和业务管理。building 表和texture 表分别存储遥感影像识别建立的建筑数据及纹理数据。template表存储CSG 三维建模模版,通过传递对应参数可生成三维模型。需要注意的是,CSG引擎生成的模型并不一定能直接用于纹理贴图,会出现错乱等问题,可通过顶点关系和参数重新计算UV 及补充顶点。

图6 建筑数据组织Fig.6 Building data organization

2 实验与分析

本文以广东省云浮市新兴县河村为研究区域,该地区建筑既保留原始农村风貌,又有不少新式建筑,单体面积小,楼高一般不超过3层。基于必应影像数据识别建筑物,并以手机摄影图像作为建筑立面纹理,采用众包的方式实现河村地区的三维建筑重建。

2.1 粗模生成

2.1.1 基于遥感影像识别建筑物 采用Mask R_CNN 建筑目标识别模型,在必应影像地图上截取大量建筑数据集,图片数据包括中国各大城乡建筑样式,具有形状、样式、光谱特征等内容多样化的特点,能满足模型训练的需要。为了更好地评估模型,将数据集按照8∶2划分训练集和验证集。训练集用于模型算法训练,共800 张。测试集共200张用于测试模型的性能。数据集的样例见图7。

图7 建筑样本示例Fig.7 Building sample example

精度分析方面,采用精度(Accuracy Precision, AP)指标及交并比(Intersection over Union,IoU)进行评估,结果表明:要求交并比为AP50时,模型精度为0.578;AP60时,模型精度为0.443;AP70时,模 型 精 度 为0.298;其 中,AP50、AP60、AP70分别表示交并比(Intersection over Union,IoU①*IoU = Area of Overlap Area of Union,表示检测结果掩膜与直值掩膜之间的重叠程度,其中Area of Overlap为检测掩膜与直值掩膜的交集,Area of Union为检测掩膜与真值掩膜的并集,通常情况下,当IoU ≥50%时即认为检测成功。)在50%、60%和70%时的识别精度。

为了展示模型的分割效果,从测试集中随机挑选4个样本图像,包括均匀分布型建筑、疏松型建筑和密集型建筑,从不同角度且密集度较高的建筑物图片展示实验结果,如图8所示。

从图8 可知,模型识别精度与建筑物的形态、布局、清晰度高度相关,当建筑物形态规则且分布整齐时,模型识别精度高,检测效果良好,如图8-c2和d2所示,而当建筑物呈密集式分布,轮廓清晰度低,人眼也难以分辨时,模型识别精度较低,检测难度也更大,如图8-a2 和b2 所示。在图8-b 中,图像背景噪音也是影响识别精度的因素之一。

图8 不同密集程度建筑物识别与轮廓提取结果Fig.8 The results of building recognition and contour extraction with different degrees of density

2.1.2 生成基础白模 建筑轮廓提取后,根据先验知识自定义建筑初始高度拉伸成基础三维白模,如河村地区的建筑多为2~3层,高度约为7~10 m,可将白模统一高度初始设置为10 m,为乡村管理和乡村规划提供基础数据。若存在无法识别或需补充的建筑,可通过手工操作补充添加。

2.2 深化建模

2.2.1 建立农村建筑模型库 上述基础白模可用于初步认识该地区的建筑分布及简单的农村信息化管理。但模型精细度不足以反映河村的真实场景,因此可在基础白模上继续深化建模。调研人员预先对河村地区建筑进行摸底调查,对该地区的建筑类型进行分析整理,利用CSG 方法构建河村建筑模型库,最大程度地还原当地建筑风格,部分模型如图9 所示,包括老式建筑、新式建筑、附属类建筑和公共设施等多套模型。

图9 河村建筑模型库Fig.9 Building model library of He Village

此外,考虑到农村地区建筑类型多样性以及屋顶样式复杂化,分别从建筑类型、楼层、屋顶和骑楼风格4个维度对建筑模型进行分类,各维度的下级内容如表2 所示,能够覆盖实验区域河村的90%建筑风格类型。用户可通过层数、屋顶样式等快速过滤筛选,定位到目标建筑模型,如图10所示。为了满足后续的纹理贴图、模型尺寸调整等建模步骤,建立CSG模型时采用按层、按模块(如屋顶模块、阳台模块等)的组合方式,并具备单面选择和参数化修改的能力。

表2 建筑库模型分类Table 2 Classification of building library models

图10 建筑库模型快速检索Fig.10 Fast retrieval of building library models

2.2.2 建筑尺寸调整 外业采集人员根据现场情况将基础白模替换为基于CSG的精细化模型,此时的模型尺寸为模板尺寸,故需根据测量结果重新生成。外业人员借助外部测量工具,如步数测量、卷尺,可得到农村建筑层长宽高尺寸,接着可在手机端上应用测量结果实现建筑模型尺寸调整,具体操作如图11所示。图11-a为原模型展示,图11-b效果图为模板模型的尺寸示意图,指明CSG构造时可调整的参数。采集人员根据现场测量结果输入对应的参数,如建筑每一层的长宽高及阳台的长宽高,最后利用CSG的参数化构造技术实时生成调整尺寸后的模型,在图11-a1展示。

图11 三层筒子楼模型尺寸调整示例Fig.11 An example of model size adjustment of a three-floor bungalow

2.2.3 建筑纹理贴图 为了进一步还原真实场景,需对建筑模型赋予纹理信息。为提升作业效率,预设样本纹理库,包括标准纹理库和样本纹理库。标准纹理库是指地面、墙、栏杆、廊檐等无明显差异特征的纹理库,用于重复铺满某个建筑表面;样本纹理库是指具备一定普适性的、多要素叠合的建筑立面,如农村房屋侧面带窗户的墙面,用于单张铺满某个建筑表面。房屋正面具备较强的识别特征,如门、窗、对联、店面等均具有区域特征,宜采用手机拍摄的方式采集补充。由于CSG建模已采用分层、分模块的方式,故手机拍摄时也应逐层、逐模块补充纹理信息,以此实现最佳的建模效果。此外,拍摄得到的照片将保存到纹理库中,方便后续纹理复用,提高效率。

利用手机拍摄时具有一定局限,如因拍摄不便造成的拍摄不正或拍摄不全。因此需通过裁剪、拼接及校正等操作形成正射立面纹理图像。图12为某个建筑第一层的立面纹理获取流程,首先,分别对3张采集照片图12-a~c裁剪出对应的纹理图像区域,裁剪范围如图12-a1~c1所示,然后,利用透视变换算法将其拉伸矫正。最后将裁剪后的纹理图像进行拼接,形成正射建筑立面纹理图像,如图12-d 所示,通过这种方式得到的建筑纹理真实感较强。纹理拼接完成后,通过纹理映射技术将图12-d所示的纹理图像赋予三维模型对应的表面,形成带丰富立面纹理风格的三维建筑模型,结果如图13所示。

图12 图像裁剪与拼接Fig.12 Image cropping and stitching

图13 纹理贴图Fig.13 Texture mapping

2.2.4 模型深化 根据上述步骤构建精细化模型后,在单独浏览的情况下比较顺畅,但在大范围模型展示时则会出现卡顿现象,不利于全场景的展示和应用。基于此,本文提出模型优化策略,利用三维轻量化技术从模型优化、纹理治理、多级LOD等方面提升渲染性能,同时结合地形高程数据进行贴地融合,最终满足在手机端顺畅浏览的需求。最终效果如图14所示。

图14 云浮市新兴县河村三维建筑模型Fig.14 3D building model of Hecun Village, Xinxing County, Yunfu City

3 结论

针对现阶段农村房屋数据较为稀缺,乡村信息化建设不足等现状,本文将高分辨率遥感影像与手机拍摄图像相结合,通过粗模生成和深化建模2个阶段实现三维建筑建模。在粗模生成过程中,利用Mask R_CNN算法基于高分辨率遥感影像识别建筑物,生成基础白模,勾勒建筑基本形态,包括位置、尺寸和方位,并提出了建筑轮廓正则化算法和自适应的建筑校正算法提高模型精度。在深化建模过程中,现场采集人员通过模型替换、尺寸调整、纹理映射等操作,逐步深化为精细化的三维建筑模型。最后,通过自动化的三维模型融合技术形成多端可访问的农村电子沙盘,支撑智慧农村建设的各项应用。并结合实地调研,实现广东省云浮市新兴县河村的三维建筑模型重建。与手工建模和倾斜摄影建模方法(谢小魁 等,2016;张春敏 等,2018;单杰 等,2019))相比,在数据获取方面更加便捷,可实现众包建模,节省了大量人力物力,具有采集成本低、更新周期短、简单易用等优点,对推进农村建筑智能化建模具有较强的实用价值及良好的应用前景。

当前本文所述农村智能建模方法还有一些需要改进和深化的地方:①对于遥感影像数据质量差和建筑分布密集的地区,模型识别精度还有待提高;②建筑的准确定位和方位比较难以把控,需补充完善策略帮助现场采集人员进行精准定位;③需建立一个能覆盖大范围地区的农村建筑模型库;④建筑立面纹理提取过程较为复杂,需要提高自动化能力。

猜你喜欢

掩膜轮廓纹理
利用掩膜和单应矩阵提高LK光流追踪效果
宽周期掩膜法HVPE侧向外延自支撑GaN的研究
OPENCV轮廓识别研究与实践
基于BM3D的复杂纹理区域图像去噪
基于实时轮廓误差估算的数控系统轮廓控制
使用纹理叠加添加艺术画特效
光纤激光掩膜微细电解复合加工装置研发
TEXTURE ON TEXTURE质地上的纹理
高速公路主动发光轮廓标应用方案设计探讨
消除凹凸纹理有妙招!