文章信息
- 刘全海, 邓非, 李楼, 冉慧敏
- LIU Quanhai, DENG Fei, LI Lou, RAN Huiming
- 面向规划的建筑物屋顶精细纹理快速生成方法
- A Method on a Rapid Generation of Exquisite Textures of Building's Roof Towards Planning
- 武汉大学学报·信息科学版, 2015, 40(8): 1054-1060
- Geomatics and Information Science of Wuhan University, 2015, 40(8): 1054-1060
- http://dx.doi.org/10.13203/j.whugis20140771
-
文章历史
- 收稿日期: 2014-10-20
2. 常州市测绘院, 江苏 常州, 213002
2. Changzhou Surveying and Mapping Institute, Changzhou 213002, China
面向规划的三维城市对建筑物和周边环境进行三维重建时,需满足准确的空间关系和逼真的三维可视化效果,并使二者融合统一。目前,基于多细节层次的三维空间数据建模方式呈多样发展,可充分利用多种数据,实现房屋几何建模的半自动化[1],如LiDAR数据、矢量地图数据、航摄立体测图、卫星影像、地面影像等。当前主流的三维建模方法主要分为4类:(1)基于设计软件的矢量数据拉伸方式,利用已有二维数据及相应的屋顶类型和楼层高度信息,批量生成相应的三维模型;(2)LiDAR与航空影像结合的三维重建[2, 3, 4, 5],通过对点云数据处理与航空影像配准等操作,进行三维重建;(3)基于影像建模[6, 7],快速生成带有纹理的三维模型;(4)精细建模(手工建模)[8],主要通过人机交互方式,应用专业建模软件进行三维建模,如3Ds Max、Multigen Creator等。
三维模型在城市规划和管理工作中具有重要的空间格局和视觉作用[9]。规划业务需要精细的三维重建。通过三维仿真系统集成规划方案三维模型后,可以从各个角度查看设计成果的高度、色彩、体量、天际轮廓线等是否符合要求[10]。尽管国家发布的《城市三维建模技术规范》(CJJ/T 157—2010)、《基础地理信息三维模型产品规范》(CH-T9015-2012)等规范中,均仅对色彩做出了相应规定,对于纹理的分辨率并未明确量化指标。但在部分地方相关标准中已有部分做出相应的细化要求,如常州市城市三维建模要求超精细模型的纹理分辨率优于1 cm,精细模型的纹理分辨率优于2 cm,普通模型的纹理分辨率优于10 cm。
纹理数据的来源主要有三个途径:已建立的纹理数据库,地面近景影像以及卫星遥感和航空影像等。用摄影测量的方法从大比例尺的航空影像获取建筑物表面的纹理,具有便捷、高效和高信息容纳性,是实现三维建筑物纹理重建的重要途径[11]。目前,三维模型数据多是通过航空摄影测量(含倾斜摄影测量)方式生成的,除几何细节不足外,有些模型纹理的分辨率也达不到规划要求。因此,有必要对这类三维模型数据进行质量提升,对模型的纹理进行替换。孙春生[12]、康志忠[13]等在建筑物立面的高分辨率纹理重建方面做了相关研究,提出了建筑立面高分辨率纹理重建的解决方案,但针对屋顶的高分辨率纹理重建的研究较少。基于此,本文对目前三维数字城市建模的相关技术标准以及生产流程进行了研究,建立了两套建筑物模型屋顶纹理生成方案。首先,利用航空影像的纹理真实性和获取手段的便捷性,基于摄影测量的方法从影像中获取建筑物屋顶纹理坐标,选取最优纹理进行自动的纹理映射。然后,针对低分辨率的模型纹理,建立相应的屋顶纹理库,根据已有的贴图数据和纹理库贴图数据进行匹配,快速对模型屋顶贴图进行替换,提升模型效果。
1 方法与原理本文实现屋顶纹理快速生成主要包括两套方案,一套是基于摄影测量方法的影像真实纹理映射;另一套是针对低分辨率纹理模型,利用已有合成纹理库,快速进行屋顶纹理替换。两套方案的整体流程图如图 1所示。
1.1 基于三维拓扑的连续三角面编组由于三维模型数据已建,在处理之前,三维模 型中三角面的拓扑关系未知,而实现真实纹理映 射或者合成纹理的自动替换都是在连续的屋顶面上进行。因此需要对构成三维模型的三角形进行“分类”,找出哪些三角形共同构成屋顶部分或者墙体立面部分。根据面的法线方向,对所有三角面进行聚类分析,对属于同一连续面的三角形进行相同的区域编号。如图 2所示,最终构成三维模型的所有三角面均完成了编组,编号相同的三角面属于同一区域。
1.2 真实纹理映射方案 1.2.1 纹理映射原理纹理映射的本质是对三维物体进行二维参数化,即用某种方法建立二维纹理空间点(u,v) 到三维物体表面点(X,Y,Z) 之间一一对应的关系。本文提出的真实纹理映射方案基于摄影测量原理,利用原始影像数据,获取其真实屋顶纹理坐标并映射到相应的模型,得到建筑物屋顶的真三维模型。其自动纹理映射原理过程如图 3所示。
对于某一目标建筑物,利用多角度相机,在不同的位置获取建筑物目标模型多个角度的倾斜影像。图 3(a)中,影像1~4分别为建筑物在不同视角下的影像,S1、S2、S3、S4分别为影像的摄影中心,面ABCD,AED,ABFE,BCF分别为建筑物屋顶不同方向的屋顶面。航空摄影测量的投影方式为中心投影。在理想情况下,摄影瞬间像点、投影中心、物点位于同一条直线上。根据共线方程(1),利用建筑物物方坐标与影像的内、外方位元素,可以得到建筑物屋顶面在不同视角影像中的纹理坐标。图 3(b)表示建筑物屋顶面在纹理空间中的 uv坐标,不同的颜色代表不同视角下屋顶面的最优纹理,abcd为面ABCD在影像4中的纹理,aed为面AED在影像3中的纹理,abfe为面ABFE在影像2中的纹理,bcf为面BCF 在影像1中的纹理。
1.2.2 影像处理及纹理uv图生成屋顶上不同的三维面对应不同视角影像的纹理坐标,在纹理空间中,需要对这些纹理进行融合,得到整体uv图。不同视角拍摄的影像,由于拍摄时间、角度不同,其影像之间存在辐射差异,在进行纹理映射之前,需要对这些影像进行匀光操作。本文利用Wallis滤波器,在多视角影像之间进行匀光处理,实现影像间的色彩平衡。在对建筑物展uv时,建筑物的各个面不可能都连续展在uv图中,不同面的纹理之间可能存在无纹理区域,这些区域的像素值就会被赋值为黑色,因此在自动纹理映射时,不同建筑物三维面之间会存在黑缝。如图 3(b)中的墙面与墙面之间存在无纹理区域。本文采用边界邻域扩散方法,即对每个无纹理区域中的像素,查询其所有8邻域点,当出现其中像素己被填充后,将这些像素的色彩取平均赋给该像素,否则不进行处理。这样,每遍历一次影像,可以将有效纹理区域的边界扩展一个像素宽。经过多次循环遍历,边界扩展达到一定程度(例如本文取64个像素),就能很好地保证最终显示效果不受影响。
对最优纹理进行合成得到建筑物的最终纹理uv图,将纹理uv图中的uv坐标及其对应的颜色自动映射到相应的三维屋顶的表面上,从而得到带有真实纹理的物体表面,如图 3(c)所示。
1.2.3 真实纹理优选由于航空影像的覆盖范围较大,一张影像会包含多栋建筑物;同样地,一栋建筑物也有可能出现在多张影像上。考虑到遮挡和变形的因素,必须对纹理进行优选。本文提出了一种纹理优化算法,如图 4(a)所示,主要考虑以下三个因素:(1) 摄影中心与贴图面 a中心的相对位置,贴图面a的中心O到摄影中心S构成的向量与面a法线的夹角α;(2) 照片拍摄角度,摄影光轴SC 与面法线的夹角β;(3) 纹理遮挡面积。
遮挡纹理的判断是真实建筑物纹理映射中的一个重要内容,对于纹理遮挡判断,本文提出了一种基于矢量计算的遮挡判断算法。如图 4(b)所示,三角面 ABC和DEF分别为物方空间的屋顶面,S为摄影中心。本文利用多面体相交来判断三角面i是否被三角面k遮挡,建立摄影中心S到三角面i的多面体S-ABC。同理,建立S到三角面k的多面体S-DEF,利用矢量计算,判断这两个多面体是否相交;如果相交,则表明三角面i被三角面k遮挡。根据摄影测量原理,分别投影三角面到影像上,在影像空间中利用式(2)计算最终的纹理遮挡面积,Ai表示面i在影像上的遮挡面积,k1~kn为与面i有遮挡的面的序号。由式(2)可知,不断遍历其他三角面,得到所有对面i有遮挡的面k1~kn,分别计算面k1~kn与面i的相交面积,得到所有相交面积的并集为最终的纹理遮挡面积Ai。
式中,facei表示面i;facek1表示面ki。
针对上述三个因素,对这三个量设置权值,构造目标函数y=f(a,b,c)。其中,a表示为夹角α的余弦值cosα;b表示为夹角β的余弦值cosβ;c为贴图面a的遮挡面积。根据y的极大或极小值来得到a、b、c的最佳组合,此时所对应的影像纹理为最接近于真实的纹理。本算法构造目标函数为:
式中,P1、P2、P3为对应的权值,取线性最优,选择y最小所对应的影像为最终纹理。其算法流程图如图 5所示。
1.3 合成纹理映射方案 1.3.1 平屋顶、坡屋顶、墙面的分类实际应用时,需将平屋顶、坡屋顶所采用的材质进行分类,并分类建立相应的屋顶纹理库。连续编组后的三角面也需按照坡屋顶、平屋顶与墙面进行分类,以保证屋顶纹理匹配与替换时,具有较高搜索效率与准确度。
对屋顶分类,本文选用判断方法如下。
求出属于同一屋顶面的所有三角形的平均法向量,计算该法向量与水平面之间夹角的绝对值φ,按式(4)判断:
按照式(4),即可对所有的连续三角面进行分类,以便在纹理自动替换时不同类型面能够匹配到对应的纹理库。
1.3.2 屋顶面与纹理库的自动匹配本文通过提取原始屋顶面对应航空影像所在区域的颜色信息,再与屋顶纹理库中对应贴图进行比较,从中选择最接近航空影像的贴图来替换。在进行色彩匹配时,由于传统的直方图匹配方式[14, 15]进行颜色相似度计算时,耗时较多,不适合大批量任务处理。而Smith[16]提出的HSV颜色空间是基于人眼对颜色的主观感知,因此,在HSV颜色空间进行屋顶贴图自动匹配能取得良好的视觉效果。针对本文任务情形,在谢君廷[17]等提出的一种基于HSV空间的颜色相似度计算方法的基础上,对具体算法做了相应改进,使其能应用到屋顶纹理的自动匹配中。
实现纹理自动匹配的关键在于颜色相似度的计算,在HSV颜色空间中,两个像素 Pi和Pj的颜色欧氏距离如下:
两个像素颜色相似度如下:
式中,d为像素Pi和Pj的颜色欧氏距离;T、L为大于零的常数,本文算法默认取d<L。当两个像素值相同时,其相似度为S′(pi,pj)=1。
两幅图像IA和IB的颜色相似度定义如下:
式中,NA为图像IA像素总数;(pA,pB) 为图像IA和IB在匹配时的像素对。
逐像素进行图像色彩匹配时,计算复杂度和空间复杂度不宜过高。为了提高匹配的速度,谢君廷[17]利用聚类方法分别将图像IA和IB中的所有颜色相似的像素归为一类,然后进行类与类之间的匹配计算,从而降低计算复杂度与空间复杂度。考虑到屋顶纹理自动匹配时纹理数据量大,而屋顶纹理的色彩相对单一,本文对纹理库图像进行了预处理,求出了各幅图像的H、S、V分量的平均值,将单张图像所有像素作为一个聚类参与匹配,替代了多个类别的匹配方式,从而得到更高的处理效率。即目标影像像素在与纹理库进行相似度计算时,各像素均与H、S、V分量平均值pi(h,s,v)进行颜色欧氏距离计算。设IA为待匹配图像,IB为纹理库中图像,对于纹理库中每幅图像,各个像素pB(h,s,v)固定取值为pB(h,s,v)。计算屋顶面对应图像与纹理各图像间的颜色相似度,取相似度最大的纹理为屋顶面的纹理。
1.3.3 合成纹理坐标获取快速合成纹理映射的前提是建立完善的标准纹理库,纹理库的建设可以根据地域特色,如瓦的形状、材质等分类建设,方便建模人员查看使用。标准纹理库建设后,还应当将纹理的信息(对应实际瓦的大小、长宽比例)记录下来,以作为纹理坐标计算依据。为了保证纹理的方向正确(比如瓦片的方向与屋檐或屋脊边垂直),还必须将屋顶多边形面旋转到与纹理坐标轴平行,转换过程如图 6所示。
考虑到纹理库中图像都是沿着实际屋顶的屋脊或者屋檐的边线方向修理过的,因此,三维空间对应模型面通过旋转等操作变换到与XOY面平行后,尚需要将其旋转到一边(通常是屋檐边或屋脊边,如图 6中AB边)与相应坐标轴平行。根据建筑物的结构特点,对齐边选取准则为:(1)选择与水平面平行的边作为对齐边,即边的两端点Z坐标相等;(2)选择高度较低的边作为对齐边。以图 6(a)为例,则AC、BD边被排除,根据第二条,则图 6(a)中AB边最符合条件。同时,为了计算方便还需将旋转后的四边形最左下角(如图 6(d)中虚线框的左下角点)移至坐标原点。变换完成后,即可根据纹理图像的长宽比例,进行纹理坐标的计算,从而使合成纹理正确映射到三维模型表面,实现了屋顶合成纹理的自动替换。
2 实验结果与分析按照本文提出的方法,从常州市已有的利用航空影像制作的三维模型数据中,选取了两个实验区场景的三维模型数据,分别用真实纹理自动映射和合成纹理自动替换方式进行屋顶纹理生成实验。实验区选择了建筑物相对集中的城镇区域。其中,实验区一大小约0.1 km2,实验区二大小约1 km2,实验区建筑模型结构均类似。
2.1 场景效果对比图 7(a)是使用航空影像作为真实纹理的某区域三维建模结果,图 7(b)是利用合成纹理,进行屋顶纹理自动替换后的结果。图 8、图 9分别是图 7中区域1和区域2的平屋顶和坡屋顶两种纹理映射的细节对比。从图 7(b)可以看出,利用航空影像生成的屋顶纹理具有真实性,利用合成纹理替换后的屋顶纹理具有规则性,整体色彩跟真实纹理接近。两种方案生成的纹理都能完成模型的纹理重建,根据不同的生产要求,可选择不同的纹理生成方案。
2.2 相对手工建模效率对比图 10与表 1统计了实验区一、二进行人工屋顶贴图和使用本文提出的自动纹理生成的工作量情况。根据实验结果分析可知,利用自动屋顶纹理生成可以节省约80%的人工作业量,整体效率约为纯人工修改贴图的5倍以上。自动屋顶纹理生成后的场景只需要少量的人工修改后就可以满足使用需求,大大减轻了人工作业量。
按照本文方法,常州市测绘院对市区范围内已有的200 km2范围内的三维模型数据进行了两套屋顶纹理生成方案的实验。两套方案的纹理映射结果都大幅改善了三维数据的视觉效果,使之达到规划业务对三维模型精细程度的要求,节省了大量的人力,证明了本文方法的有效性。
当然,本文方法还可以进一步提升和改进:(1)衍生到建筑立面贴图处理中,以交互方式半自动替换建筑立面贴图,进一步减少人工作业量;(2)改进图像色彩匹配算法,提高贴图挑选的准确率,减少后期人工修改工作量;(3)将该算法与航测法自动模型生成生产流程结合,提高数字城市三维模型的生产效率。这些都是后续研究的方向。
[1] | Zhang Zuxun, Zhang Jianqing. The Approaches and Key Technologies of Urban Modeling[J]. World Sci-tech R & D, 2003,3:15-21(张祖勋,张剑清. 城市建模的途径与关键技术[J]. 世界科技研究与发展,2003,3:15-21) |
[2] | Zhang Yongjun, Zhang Zuxun, Zhang Jianqing, et al. 3D Building Modelling With Digital Map, LiDAR Data and Video Image Sequences[J]. The Photogrammetric Record, 2005, 20(111):285-302 |
[3] | Tong Lihua, Li Manchun, Chen Yanming,et al. A Research on 3D Reconstrution of Building Rooftop Models from LiDAR Data and Orthophoto[C]. The 20th International Conference on Geoinformatics, Hongkong, China, 2012 |
[4] | Deng Fei, Xu Guojie, Feng Chen, et al. Building Reconstruction Using LiDAR Data and Airborne Images[J]. Journal of Geomatics, 2010,1:35-37(邓非,徐国杰,冯晨,等. LiDAR数据与航空影像结合建筑物重建[J]. 测绘信息与工程, 2010,1:35-37) |
[5] | Zhao Xu, Zhou Keqin, Yan Li, et al. 3D Reconstrution Method for Large Scale Relic Landscape from Laser Point Cloud[J]. Gematics and Information Science of Wuhan University, 2008, 33(7): 684-687(赵煦,周克勤,闫利,等. 基于激光点云的大型文物景观三维重建方法[J]. 武汉大学学报·信息科学版, 2008, 33(7): 684-687) |
[6] | Jing Xiao, Gerke M, Vosselman G. Building Extraction from Oblique Airborne Imagery Based on Robust Facade Detection[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2012,68: 56-68 |
[7] | Fruh C, Zakhor A. Constructing 3D City Models by Merging Ground-based and Airborne Views[C]. Confcrence Computer Vision and Pattern Recognition, Madison, USA, 2003 |
[8] | Quan Wei, Hao Guiju. Method for Establishing Three-dimension Model of Urban House with 3Ds Max[J]. Geomatics & Spatial Information Technology, 2011,34(6):194-195,200(全威,郝桂菊.用3ds Max建立城市房屋3维模型的方法[J].测绘与空间地理信息,2011,34(6):194-195,200) |
[9] | Zhu Qing, Gao Yurong, Wei Yongjun, et al. Design of 3D Models for 3D GIS[J]. Gematics and Information Science of Wuhan University, 2003,28(3):283-287(朱庆,高玉荣,危拥军,等. GIS中三维模型的设计[J]. 武汉大学学报·信息科学版,2003,28(3):283-287) |
[10] | Li Deren, Zhao Zhongyuan, Zhao Ping, et al. Design and Implementation of 3D Decision Support System for Urban Planning[J]. Gematics and Information Science of Wuhan University, 2011,36(5):505-510(李德仁,赵中元,赵萍,等. 城市规划三维决策支持系统设计与实现[J]. 武汉大学学报·信息科学版,2011,36(5):505-510) |
[11] | Fan Chong, Wang Xue. Texture Mapping in 3D City Building[J]. Geomatics & Spatial Information Technology, 2014, 7:1-4(范冲, 王学. 三维城市建筑物的纹理映射综述[J]. 测绘与空间地理信息, 2014, 7:1-4) |
[12] | Sun Chunsheng, Wu Jun, Chen Danqing. Rapid Texture Retrivement for Building-Wall in 3D City Model[J]. Gematics and Information Science of Wuhan University, 2005,30(9): 766-770(孙春生,吴军,陈丹清. 三维城市建模中的建筑墙面纹理快速获取[J]. 武汉大学学报·信息科学版, 2005,30(9): 766-770) |
[13] | Kang Zhizhong, Zhang Zuxun, Zhang Jianqing. The Rapidlly Reconstructing Texture for Building Facades from Vehicle-based Image Sequence[J]. Gematics and Information Science of Wuhan University, 2005, 30(11): 960-964(康志忠,张祖勋,张剑清. 基于车载序列影像的建筑立面纹理的快速重建[J]. 武汉大学学报·信息科学版,2005, 30(11): 960-964) |
[14] | Jain A K, Vailaya A. Image Retrieval Using Color and Shape[J]. Pattern Recognition,1997,29(8):1 233-1 244 |
[15] | Swain M J, Ballard D H. Color Indexing[J]. International Journal Computer Vision, 1991,7(1):11-32 |
[16] | Smith A R. Color Gamut Transformation Pairs[J]. Computer Graphics,1978,12(3):12-19 |
[17] | Xie Junting, Wang Xiaohua. A Measurement of Color Similarity Based on HSV Color System[J]. Journal of Hangzhou Dianzi University, 2008,2:60-63(谢君廷,王小华. 一种基于HSV空间的颜色相似度计算方法[J]. 杭州电子科技大学学报, 2008, 2:60-63) |