张智安,赵燕,颜秉军,吴萱桥
(1.山东省遥感技术应用中心,山东 济南 250013 ;2.龙口矿业集团有限公司,山东 龙口 265701;3.龙口市国土资源局,山东 龙口 265701;4.山东黄金金创集团有限公司大柳行金矿,山东 烟台 265615)
基于数字摄影测量的城市建筑三维快速建模方法
张智安1,赵燕2,颜秉军3,吴萱桥4
(1.山东省遥感技术应用中心,山东 济南 250013 ;2.龙口矿业集团有限公司,山东 龙口 265701;3.龙口市国土资源局,山东 龙口 265701;4.山东黄金金创集团有限公司大柳行金矿,山东 烟台 265615)
数字城市的基础地理数据库正在由传统的二维形式向三维形式转变,建设城市三维模型已成为数字城市工程的重要基础工作。作为城市三维模型的核心构成部分,建筑模型的数量巨大,生产成本高。数字摄影测量技术为建筑矢量数据的采集提供了有效途径,但要进一步缩减三维建模的工作量,需要对基于矢量线条的建筑结构识别、建筑体面构造以及各种复杂建筑构型等方法和算法进行研究,并开发辅助人工的建筑三维建模软件系统。该文以数字城市测量提取的建筑结构线为基础,对计算机三维建模中涉及的关键算法进行研究,提出了一种城市建筑三维快速建模的方法。
快速建模;三维模型;测绘技术;数字城市
当前,数字城市工程建设正在我国各地、各级城市大量展开,城市真实三维场景的搭建是这一工程的重要基础和主要工作内容,建筑三维模型又是城市三维场景的核心构成部分。因此,城市建筑的三维建模工作便成为当前数字城市建设中最主要的内容,各地的测绘数据生产部门均投入了较大的人力和精力来构建城市建筑的三维模型。
在建筑三维建模工作中,首先是根据建筑表面或内部的几何形体信息,构建出表达建筑外观或内部结构的三维模型。由于模型表面完全由统一的颜色填充或叠加一致的纹理图案,与真实建筑在外观上不一致,因此,创建的模型被称为“白模”,即不包含真实建筑纹理的建筑三维模型。然后将获得的建筑现场照片通过裁剪、校正和纹理映射等步骤,使其叠加到建筑“白模”上,获得与真实建筑非常相似的三维模型。建筑体“白模”的构建是三维建筑建模的基础,也是最复杂的核心步骤,是建筑三维建模的核心。
不论是采用精细建模还是粗建模,目前的方法决定了建筑三维建模成为一项“劳动密集型”工作。从建筑“白模”的构建,到建模表面纹理的获取与贴图,都需要大量的人力参与,并耗费大量的时间。对于结构稍微复杂的一栋建筑而言,构建精细模型经常需要一个熟练建模人员数天的时间才能完成,而即使是建立粗模型,也需要近一天时间。这种方式使得建筑模型构建的经济成本变得较高,数字城市工程的建设费用也因此被抬升。更为重要的是,这种繁琐的工作其生产效率并不高,因为大量的人工操作都在完成重复性劳动。而如果要提升建模的效率,引入计算机系统并由程序来完成重复的建模工作将是必然之路。
目前,国内外对于建筑三维建模的自动构建都处于探索阶段,每项研究均有各自的侧重点,采用的方法也有所不同。例如,利用激光雷达(Light Detection And Ranging, LIDAR)点云数据来提取建筑轮廓信息并构建线框模型[1],使用形态学尺度空间的图像处理方法来从影像中提取建筑参数化信息进而构建模型[2],以及利用倾斜影像来快速提取建筑4个方向纹理特征的方法[3]。综上采用的自动建模方法对比,激光雷达点云建模可批量进行大范围扫描建模,但是只能构建建筑的表面模型,无法对复杂结构体进行细化;基于倾斜摄影的快速提取建筑结构体方法即拥有大规模建模的优点,另外也增加了对复杂建筑体精细建模的能力。该文以利用数字城市测量技术提取的建筑结构矢量线为基础,对计算机三维“白模”构建中涉及的关键算法进行了研究,系统提出了一种基于倾斜摄影测量的城市建筑三维快速建模方法。
1.1 方法设计
在数字摄影测量系统的辅助下,利用立体像对技术和人工交互,可以提取建筑顶部的轮廓线,再由人工依据影像和实景照片,创建出建筑的三维模型。与传统依据城市地形图的“自底向上”的建模方式相比,这种方式是一种“自顶向下”的方法,而且可以不依赖城市地形图,建模周期极大缩短,因此成为一种重要的城市建筑快速建模方法。
现有的一些数字摄影测量工作站已经具有了根据建筑顶部矢量线和地面DEM自动生成建筑体模型的功能,例如适普公司的VirtuoZo数字摄影测量系统。这些系统的实现中,用户需要对建筑顶部的每个面分别进行采集,系统将多边形垂直投影到地面DEM上,并从投影覆盖范围内提取DEM最高点或最低点作为建筑底面的高程,再利用三维体造型方法创建出建筑三维模型。这个过程存在的一个问题是过多依赖人工操作,包括当建筑顶面由相邻多个面构成时,每个平面都要独立采集,这样面间的分割线将被多次重复采集。另外,当多次采集的边界线不能准确吻合时,每个创建的体模型间或存在夹缝或存在交叠。这不仅使人工数据采集的工作量增大,而且为后期模型修饰和纹理映射带来了麻烦。
为解决以上问题,对现有工作流程进行了重新设计,增加了建筑结构的跟踪与识别功能,以及针对各种复杂建筑的体模型合并等算法。新的流程要求用户可以以线段形式采集建筑顶部的结构线,避免了分割线被多次采集,创建的体模型也不会有缝隙等问题。图1给出了新的建筑快速建模流程,包括识别建筑结构面、创建建筑体模型和重构建筑体模型3个主要步骤,屋顶结构线为输入,建筑体为输出,顶部结构面和独立体模型为中间结果。
图1 建筑快速建模流程
1.2 识别建筑结构面
根据数字摄影测量提取的表示建筑屋顶结构的矢量线,通过线段间的相互连接关系,设计算法对可构成建筑屋顶面的线段进行跟踪和识别,生成建筑的各个顶面。每个顶部结构面是一个闭合且共面的三维多边形,屋顶结构线可以是三维的线段、多段线或者多边形。这一过程又划分成以下3个步骤。
(1)提取相关线
相关线指在三维空间中彼此相互接触或相交的线段或多边形,提取过程是以随机获取的种子线开始,使用深度优先的递归搜索算法实现。种子线是指在所有结构线中还未被纳入相关线集合的线段或多边形。提取算法的过程如下所示:
QRL (种子线e, 相关线集合A)
e加入A
选择e的相交线构成集合T
For i = 1 to T的元素数
QRL (T[i], A )
EndFor
图2显示了使用以上算法提取一个种子线的所有相关线的过程,红色为输入的种子线,每个递归依次获取一条相关线,待递归结束时所有相关线被提取。
图2 相关线的提取图
(2)重构相关线
相关线集合构成了一个建筑顶部的结构面。由于算法的输入可以为线段、多段线和多边形,因此,集合中也会包含以上类型的矢量线。为方便识别处理,需要对相关线进行重构。
首先,相关线可以根据是否可直接参与构面而划分为3类:确定的、参与的和未确定的相关线。确定的相关线指自身已经满足构面条件(三维空间中闭合且共面),且不参与其他线的构面过程的线。参与的相关线指自身可构面并且可能还会参与到其他线的构面过程中(与其他相关线相交)。未定的相关线指自身不能构面,但可能会与其他线共同构面。图3a中红色线指示了3种类型的相关线。
其次,对于确定的相关线直接提取用于构面,而其他两类相关线则构成了待构面线的集合。为便于后续构面算法的处理,将待构面线在每个结点和交点处进行打断,形成只包含首尾结点的简单线段。图3b给出了打断待构面线的结果。
(3)识别顶部结构面
为识别出顶部的结构面,将重构后的线依据连接拓扑关系创建为一个有向图。其中,线段表示为图的边,线段的首尾结点表示为图的顶点,每个顶点保存一个链集合来记录与该顶点相连的所有边。图4给出了有向图的一个例子。
依据有向图,设计了一个提取面边界线和创建多边形的深度优先递归搜索算法。算法以任意一条边为起始,沿线段某一方向进行搜索,不断将可共面的边加入集合,当加入边与起始边形成闭合多边形时,记录该集合并继续搜索其他路径。当所有边均被作为起始边完成搜索后,所有的多边形均已找到。
最后,对于找到的多边形,对其顶点进行重新排序,使其按照逆时针排列。对于可能搜索出的竖直多边形(图4a),在拉伸生成建筑体模型时是无用的,因此需要进行剔除。判断竖直面可以求取多边形的法向量,如果法向量处在[-□,□]内(□为设定的接近0的一个值),则多边形为竖直,否则不为竖直。
1.3 创建建筑体模型
利用提取出的结构面,通过三维构型中的拉伸方法可以创建出建筑体模型。这主要由2个步骤构成。
(1)查询建筑基底面高程。 垂直投影每个结构面到地面的DEM上,从其覆盖范围内查询出基底面的高程值。在此,采用该范围内的最低高程作为基底面的高程。
(2)拉伸创建体模型。 根据基底面高程,对结构面向下拉伸,创建建筑体模型。此时,得到的体模型是独立构成的,因此,需要进行进一步合并和加工来获取最终复合要求的体模型。图5a是一个通过拉伸创建体模型的例子。
a—创建的独立体模型;b—体模型的重构 图5 建筑体模型的创建和重构图
1.4 重构建筑体模型
重构体模型将独立的体模型通过加工形成完整的体模型。由于现实中存在很多复杂的建筑形式,重构时并不能简单使用体的合并操作。通过对多种类型建筑样式的分析,设计了以下的体重构方法:
首先,对于独立的建筑体集合,按照体的顶部最大高程进行排序,合并时按照由高到低的顺序进行两两处理。其次,当处理2个体模型时,依据体间的干涉(相交)和包含关系,采用以下规则将体合并为一个整体:①干涉但不包含的进行并操作。②干涉且包含的进行差操作。
图5b中有5个独立的体模型a~e,干涉但不包含的共有3对:(a,c)(a,d)和(a,e),干涉且包含的共有2对:(a,c)和(a,e)。依据以上结果重构后的体模型如图5b所示,其中c和e均在a的内部形成未贯穿的空洞。
通过以上重构操作,建筑体模型被完整创建出,而且对于塔式、连体、岛状等建筑都能够得到正确模型。在取得模型后,还需要进行底面的删除,因为在三维数字城市中,建筑需要坐落在由DEM和DOM共同构成的景观层上,因此建筑底面是无用的。
根据以上方法,设计并开发快速建模系统。然后,选取了多种类型的建筑物来对其进行验证。对于基于数字摄影测量的快速建模而言,所获取的建筑信息是建筑顶部的结构线。因此,当建筑立面出现凹陷等特征时,要获取建筑的精细模型,或者由人工对采集的结构线进行加工,或者对创建出的体模型进行修改。
根据“自顶向下”的特点,制定测试数据时主要考虑建筑顶部结构的差异,并对于立面存在凹陷的情况,由人工修改采集的结构线。测试选取的建筑类型包括:普通的平顶建筑、斜顶建筑、尖顶建筑,“岛状”建筑,普通的连体建筑和具有复杂连廊结构的连体建筑,以及拱形建筑。图6给出了各种类型建筑采集或加工的结构线,以及由系统自动创建出的建筑三维模型。
图6 采集的测试建筑结构线和系统创建的三维模型
通过对测试建筑的建模,证实系统可以正确创建出各种常见建筑的三维模型,用户在采集结构线时完全可以采用线段形式,对于共用边也只需采集一次,这为用户的数据采集提供了方便,使建筑三维建模的效率得以提升。该文算法的核心思想是“自上而下”的空间自动构建方法,能够对建筑体进行整体性和细节两方面兼顾,对于复杂的古建筑的三维模型也有较好的应用。
城市建筑的三维建模已成为数字城市建设的重要内容之一。较传统建模方法相比,基于数字摄影测量的方法具有周期短、投入低等优点,因此已在实际生产中被大量应用。该研究以数字摄影测量提取的建筑结构矢量线为基础,设计了一种计算机创建建筑体模型的方法,目的是解决当前现有建模系统中存在的一些局限性。
通过使用各种类型的建筑对所设计方法和系统的检验,研究成果能够实现各类建筑三维模型的自动创建,而且可以降低人工数据采集的工作量,避免因重复采集建筑边沿线而可能导致的模型夹缝等问题,对于提升建筑三维建模的工作效率具有作用。
[1] 李影,冯仲科,王海平,等.基于LIDAR点云的建筑物的三维建模[J].林业调查规划,2011,36 (6): 29 -31.
[2] 杨淼. 基于图像的城市建筑物三维自动重建参数化建模方法研究[D].青岛:中国海洋大学,2009.
[3] 桂德竹,林宗坚,张成成. 基于倾斜航空影像的城市建筑物三维模型构建研究[J].测绘科学, 2012, (4): 1-8.
[4] 马东洋,蓝朝桢,周杨,等. 一种面向对象的数字城市三维空间数据模型[J].地理空间信息,2005, 3(1):4-5.
[5] 张燕芳.基于遥感图像的大规模城市建模中的建筑物轮廓提取[D].西安:西安电子科技大学,2014.
[6] 袁红星.多视目标重构和绘制方法研究[D].合肥:中国科学技术大学, 2010.
[7] Adiv G.Determining three-dimensional motion and structure from optical flow generated by several moving objects[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1985, 7(4):384.
[8] 张龙.基于多幅图像的建筑物三维建模[D].合肥:中国科学技术大学, 2015.
[9] 张秀敏.基于轮廓匹配的单幅图像中建筑物三维重建算法研究[D].北京:北京师范大学,2012.
Three Dimensional Modeling Method ofUrban Buildings Based on Digital Photogrammetry
ZHANG Zhi'an1, ZHAO Yan2, YAN Bingjun3, WU Xuanqiao4
(1. Shandong Provincial Remote Sensing Technology Application Center, Shandong Jinan 250013,China;2. Longkou Mining Group Limited Corporation, Shandong Longkou 265701, China;3.Longkou Bureau of Land and Resource, Shandong Longkou 265701, China;4. Daliuhang Gold mine of Shandong Gold Jinchuang Limited Corporation, Shandong Yantai 265615, China)
Basic geographic database of digital city is changing from traditional two-dimensional form to three-dimensional form. Establishment of 3D model is an important basic work in urban construction. As the core part of 3D model, the quantity of building model is huge, and the production cost is high. Digital photogrammetry technology provides an effective way for collecting building vector datas. In order to reduce the workload of 3D modeling furtherly, structural identification, vector lines of building structures and decent buildings with complex configuration method and algorithm based on the auxiliary building and the development of 3D modeling software system manual should be studied. In this paper, based on the building line of digital city survey, the key algorithms involved in 3D modeling have been studied.
Rapid modeling; 3D model; surveying and mapping technology; digital city
2017-03-01;
2017-04-24;编辑:陶卫卫
张智安(1961—),男,山东泰安人,工程师,主要从事遥感与地理信息系统工程工作;E-mail:sdrs7260@126.com
P231
B
张智安,赵燕,颜秉军,等.基于数字摄影测量的城市建筑三维快速建模方法[J].山东国土资源,2017,33(8):75-79. ZHANG Zhi'an, ZHAO Yan, YAN Bingjun, etc. Three Dimensional Modeling Method of Urban Buildings Based on Digital Photogrammetry[J].Shandong Land and Resources, 2017,33(8):75-79.