具备高度几何细节的建模技术会成为未来三维领域的主流吗?

近些年基于点云技术的应用越来越普遍,构建具有高度几何细节的模型如文物复原,建筑重建,越来越多。相较图形学领域的贴图技术,如置换贴图,视差贴图等一些渲染…
关注者
28
被浏览
3,069
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

转一下专栏文章:

1 建筑物特征基元提取

计算机视觉、人工智能等技术的蓬勃发展,推动着遥感大数据解译向自动化和智能化方向发展。在模型重建方面,新的研究热潮涌向多源数据结合方向,旨在弥补单一数据源模型表达能力不足的缺陷,提高模型重建完整度和精度。激光雷达(Light Detection and Ranging, LiDAR)与摄影测量是获取地物三维空间几何信息与纹理信息的主要手段,也是目前建筑物模型重建的主要数据源。激光雷达通过激光测距系统向探测目标发射高频率的激光脉冲,生成高精度点云,并可以获取目标表面的坡度、粗糙度和反射率等信息。其具有一定的穿透性,受天气影响较小。航空影像包含丰富的光谱信息,是纹理贴图、语义提取重要的数据来源,特别是利用倾斜摄影平台可以低成本、高效率地拍摄多视影像,获取更完整的地物侧面信息。相比机载LiDAR点云数据,航空影像的获取更为灵活,方便进行数据更新,在城市人工地物快速更迭的应用场景中尤为重要。如何实现异源数据之间的高精度融合和优势互补,是提高模型重建自动化程度与模型精度的关键。建筑物模型重建的前提是准确提取构成模型的几何特征基元,典型特征以平面特征与直线为主,按照数据源可分为:

➢基于点云的特征基元提取

点云特征的描述除其颜色、强度等单点属性以外,各点在空间中与邻域内点的特征可通过自旋影像(Spin Image)、快速点特征直方图(Fast Point Feature Histogram,FPFH)、二进制形状上下文等描述子进行表达,且可通过构建空间索引(如八叉树、Kd树等)、超体素等空间组织增强点云空间表达能力,以此为基础从海量点云中提取特定几何基元。

点云平面提取。典型算法包括基于RANSAC(RANdom Sample Consensus)的三维形状检测算法、基于超体素的平面提取、基于法向量区域增长等。影响点云平面提取精度和尺度的主要参数包括:平面点集到平面的最大距离、邻域点搜索的最大范围、相邻点簇的最大变化曲率、平面点集最小数量等。对于数据驱动的建筑物模型重建算法,点云平面分割结果很大程度上决定了模型重建的正确率。通过对MVS(Multi-View Stereo)密集匹配点云与LiDAR点云进行平整度对比可知(如图1所示,红色代表更优的平整度),密集匹配点云与LiDAR点云相比噪声更大,更难提取到精确的平面基元。

图1 MVS点云(左) 与 LiDAR 点云(右) 平面平整度对比

点云直线提取。 一方面, 基于二维或三维点集直接拟合直线可以从离散点中检测条状点集,包括 RANSAC、 Hough 变换等算法; 另一方面, 针对点云中具有边缘属性的点可进行轮廓提取,核心在于边界点的判定与轮廓的跟踪或拟合, 其提取精度依赖于点云的平均点间距及边界完整程度。

➢基于影像的特征基元提取

影像特征可概括为微小邻域内灰度的变化情况, 可通过点特征描述子、 线特征描述子等表达局部特征,超像素分割等表达区域性特征。

(1) 影像平面提取。 建筑物中的平面基元, 墙面、 门、 窗灯单元在影像上表现为分段连续的纹理一致区域集,由于影像缺乏结构性几何描述,基于影像的平面提取通常借助多视影像恢复深度信息或 RGB-D 影像提取三维平面结构。仅从单张 RGB 影像上提取平面特征理论上并不是一个充分可行的手段, 依据纹理连续性进行超像素分割的结果无法提供结构信息, 但也有前沿的研究如 PlaneNet 采用基于深度神经网络的方法从单张 RGB 图像中解译分段平面并预测非平面表面的深度图。

(2) 影像直线提取。基于影像的二维线特征提取算法,从早期 Canny 算子到近年来热门的 LSD 算法已发展成熟。在此基础上,三维直线的重建一直以来也备受关注,较成熟方案包括从多视影像匹配同名直线段进而恢复直线三维坐标,Hofer 等学者 (2017) 提出的 Line3D++算法以三维直线描述城区建筑物场景;此外还有基于灭点和正交结构从单张影像提取三维 Manhattan 直线等解决方案。

总的来说,点云是空间三维组织,而影像是二维栅格数据。一般可以认为,精度有保证的自动化特征基元提取方法包括从点云中提取平面等三维结构信息,而从影像上提取角点、直线或曲线等特征。鉴于此,近年来将点云平面特征与影像线特征结合进行建筑物建模的策略层出不穷。当然,这对影像与点云间的配准精度要求较高,也有学者为了简化影像与点云的配准步骤转而采用正射影像,对 LiDAR点云进行超分辨率重建后与正射影像融合,再基于多层前馈神经网络进行建筑物提取。

2 建筑物模型表达方法

按照国际开放地理空间信息联盟技术委员会在 2012 年公布的城市三维模型CityGML 2.0 标准, 建筑物模型按照拓扑及语义复杂程度分为 LoD (Level of Details) 0-4 五个等级: LoD0 为地域模型,即平面足迹轮廓;LoD1 为具有建筑物高程信息的建筑体块模型, 无屋顶结构;LoD2 为包含屋顶结构的建筑物粗模; LoD3 进一步包含了立面细节及精细纹理贴图; LoD4 为室内模型, 主要针对室内导航等应用构建。 在 2019 年公布的新版 CityGML 3.0 中, 将2.0 中 LoD 4 室内模型标准统一至前面各等级中。 在此基础之上, 各国学者不断改进模型表达方法, 旨在提高语义与几何表达的一致性,使通用模型结构能灵活表达各等级建筑物模型。

区别于工业界手动逆向工程建模,模型可由二次曲面或自由曲面构成, 自动化建筑物模型重建需基于一种或多种模型先验假设。以图2所示的建筑物为例,依据不同的先验假设表达形式, 模型重建结果会有不同的结构缺失。目前常见的表达方式包括:三角网表面模型 (Triangle Mesh),即三角形网格模型,以点线面索引维护模型拓扑;分层截棱柱模型, 可描述 LoD2 屋顶模型, 立面由屋顶多边形向下拉伸得到; 分层平顶棱柱模型, LoD1 或简化 LoD2 模型,假设建筑物屋顶为多层次平顶构成;多面体模型,二维流形的多边形网格模型,可表达 LoD3 等级的模型, 但会过滤掉屋檐、 女儿墙等薄片结构; Manhattan 假设模型,建筑物各平面法向为三个相互正交的主方向,仅重建水平或垂直于水平面的建筑物平面;分段平面模型,规则化分段平面多边形,表达屋檐、女儿墙等薄片结构。

图2 常见建筑物模型结构术语示意图

针对不同地区、 不同结构特点的建筑物, 可选择不同的假设以提高模型重建整体精度。以 LoD2 屋顶模型重建为例, 欧洲居民区多以独栋、 低矮、 坡顶的建筑物为主,适合通过平面之间的相交关系构建准确的屋顶平面拓扑;而国内居民区多为高层平顶建筑,屋顶平面多为水平且每个屋顶面片面积相对较小,面片边界多为较短的折线段组合而难以提取高精度规则化边界,更适合以分层平顶模型拟合点云,得到的模型更为规整。

3 建筑物矢量模型重建

基于点云的模型重建方法通常可分为数据驱动、 模型驱动和数据与模型混合驱动三类,也有学者将建筑物模型重建方法归纳为边界表达、 先验假设、 降维、 分治策略、 非线性建模五类。 考虑到建筑物矢量模型重建的实质是用一系列几何特征基元以一定拓扑关系组织起来,本文按照拓扑组织策略将数据驱动的建筑物矢量模型重建主流方法分为以下三类:

(1) 局部拓扑求解。 由于建筑物侧面点云受遮挡、 视角等因素的限制而导致漏块严重,局部拓扑的求解多以屋顶模型重建为主, 即分割建筑物屋顶平面基元, 判断平面点集之间的拓扑关系,构成屋顶拓扑图 (Roof Topology Graph, RTG),进而确定各平面具有拓扑结构信息的边界,并优化平面参数以保证模型与RTG 匹配。这类方法可看作是数据与模型混合驱动方式,对已有先验结构的屋顶模型有效,可获得规则的语义模型,大量学者基于此思想 构建了一系列标准屋顶原型,但在较复杂的场景中极易因为局部拓扑错误导致与之相关(拓扑连通)的屋顶模型整体重建失败。

(2) 空间划分方法。 避免严格解算特征基元之间的局部拓扑关系, 而将模型重建问题转换为对模型子单元进行“模型内”、 “模型外” 二值标号判定。此类方法较为明显的问题在于空间划分的过程不能处理局部拓扑关系,要求模型符合二维流形几何条件。多为忽略立面几何的屋顶模型二维数据空间划分,如二维三角网平面标号;或要求模型有较完整的立面覆盖以进行三维空间划分,如平面基元划分的 PolyFit 算法、考虑可视性的空间四面体划分、针对 mesh 的平面空间切分等。

(3) 非线性参数模型。 通过非线性自由曲面表达模型, 如 Zhou and Neumann提出的 2.5D Contouring 算法,利用四叉树空间索引提取网格最优采样点,适合重建曲面屋顶且算法较为鲁棒。 另一研究热点直接对 mesh 进行基于边折叠算法的表面简化,针对人造物体模型需要结构或线特征约束的策略使模型简化过程中尽可能保留边界,这要求 mesh 中的尖锐边界能提前检测并突出表达。此外,也有诸多学者通过 mesh 和几何基元参数混合表达的方式以尽可能完整表达模型而又保留主要的规则几何部件。总的来说, 这类算法虽对模型表达方式灵活, 但在保证模型完整性的同时一定程度上降低了模型表达的紧凑性。

针对点云数据不完整造成的模型拓扑错误, 学者们的解决思路大致可分为三类:(1) 补充原始数据或特征基元,在平面分割后检测开放区域, 也有学者引入地面LiDAR 点云等其他数据源以获得更完整的立面信息; (2) 修复拓扑关系, 典型策略如 Xiong et al. (2014a) 设计的图编辑字典, 以图到图匹配的方式修正不完整的 RTG; (3) 模型结果补洞, 即直接对最终的表面模型修复, 多用在三角网模型的局部空洞修补,而在以大面积平面基元为主的建筑物模型场景较难适用。

此外,针对结构复杂的建筑物重建,学者们通过简单的几何基元与原始点云局部单元相匹配,通过模型驱动的方式避免直接从点云恢复拓扑。例如, 文献(Lafarge et al., 2010) 基于可逆跳转蒙特卡罗采样法 (RJMCMC) 用简单的三维基元拟合原始点云。 Nan et al. (2010) 用立方体拟合建筑物局部构件,是一种有效的半自动建模策略。相比以数据驱动的方式严格拟合点云, 这类策略反过来让点云拟合目标模型, 可得到较好的视觉效果, 但在模型匹配中较少关注各子单元之间的拓扑关系, 模型结果几何精度较低。

4 城市三维模型纹理映射

纹理映射是影响城市三维模型可视化效果、 语义表达的重要因素, 直接决定了其在查询、量测、 环境模拟等应用中的适用能力。 除了地物遮挡、 视角覆盖不全、 光照变化差异等原始数据存在的干扰因素, 当前影响建筑物矢量模型纹理贴图效果的核心问题在于建筑物模型重建和纹理映射两个步骤是独立进行的,即先进行建筑物矢量模型重建, 再对矢量模型表面单元选择最优影像源进行纹理映射。由于建筑物矢量模型通常由平面或分段平面表达, 在矢量化过程中涉及到线框模型的规则化、简化等操作, 模型精度与复杂度之间存在一定的取舍, 导致矢量模型与建筑物点云的实际位置之间存在明显差异 , 影像结构特征与真实模型无法完全对应。

构建纹理影像到目标模型之间的UV 映射关系是纹理重建的主要手段, 为了得到目 视效果较好的纹理贴图, 目 前方法主要从最佳视角影像选择、 匀光匀色、 拼接缝消除等方面优化纹理映射的目视效果。针对实景三维模型, Waechter 提出基于图割优化的方法为三角网模型选择最佳纹理影像, 保证对单个三角形面片影像视角尽可能最优而面片之间影像源又尽可能相同。对于城市三角网表面模型, 每一个表面平面单元较小,模型几何差异较小, 可获得较好纹理映射效果(如图3)。 然而专门针对建筑物 LoD 模型的纹理映射研究尚未完善, 如图4 为芬兰赫尔辛基城市建筑物LoD2 纹理模型,墙面纹理较模糊,且在边界有较大偏差。

图3 Context Capture 软件生成的实景三维模型
​图4 芬兰赫尔辛基城市 LoD2 模型及纹理映射效果