多源影像融合的建筑物三维模型无遮挡纹理自动贴图方法
2019-04-03李智程王伟玺李晓明卞雨凡钱建国汤圣君
李智程,王伟玺,李晓明,卞雨凡,钱建国,汤圣君
(1. 深圳市数字城市工程研究中心,广东 深圳 518034; 2. 辽宁工程技术大学,辽宁 阜新 123000;3. 深圳大学建筑与城市规划学院,广东 深圳 518060)
智慧城市[1]的建设需要对城市整体实现空间规划和三维模型建设,其中城市真三维模型的建立需要获得建筑物的空间位置信息和真实的影像纹理信息。传统三维城市模型的建立过程是将航空正射影像映射到相应的建筑模型顶面,外业人员手工拍摄建筑立面影像,结合测区平面矢量图等数据,获取建筑物的结构与纹理。这种传统的映射方法需要大量的人工处理,建模周期长、建模效率较低[2]。近年来,倾斜摄影测量技术通过从多视角获取建筑物的立面信息,使全自动、快速建立三维实景城市模型成为可能[3]。倾斜影像的分辨率通常较高,可达到厘米级分辨率,这样的影像可以很好地显现地面的纹理信息,满足一般情况下的建模精度要求。
随着城市高层建筑的增加,建筑物的高度和密集度增大,倾斜航空摄影获取建筑物结构数据和立面纹理数据的难度逐渐加大[4],而且城市建筑物底层商铺的频繁更替和植物树木的遮挡也影响着城市真三维模型的重建质量和更新速度。
针对倾斜影像技术在三维重建中出现的纹理遮挡现象,目前较为通用的方法之一是通过Photoshop等专业图像处理软件对三维模型上的纹理遮挡区域进行裁剪,从遮挡区域附近复制相似纹理进行重新覆盖[5];方法之二是人工对存在遮挡的建筑物补拍影像,对纹理遮挡区域进行替换。这些方法虽然可以消除建筑物的纹理遮挡,但是依然存在一些问题,如建筑物模型的纹理失真,无法得到高真实感的建筑物模型,人工操作复杂,无法满足大范围快速的无遮挡纹理替换。
综上所述,为了建立高精度、高真实感的建筑物三维实体化模型,本文提出一种融合多源影像数据进行影像优选并自动实现无遮挡纹理的生成、映射的方法,同时加以论证。
1 多源影像的无遮最优纹理获取
1.1 总体算法流程
通过固定翼大飞机高空倾斜影像和无人机低空倾斜摄影等方式获取的多源影像,构建基于多视影像的三维重建环境,通过数据融合克服多源影像在分辨率、摄影角度、建筑遮挡等方面的差异[6],提供用户全视角浏览的三维实景模型,并实现在三维实景环境下的建筑物实体化建模。根据多源影像与三维模型的对应关系,实现纹理影像的最优选择及无遮挡纹理判断,并完成真三维模型最优纹理的映射。
模型纹理映射如图1所示。首先需要恢复多源影像的空间姿态,根据建筑物几何模型(白模)的空间位置与影像的空间三维信息,利用后方交会[7]筛选出存在模型像方的所有影像,并根据影像法向量与建筑面法向量最小夹角的判定原则[8],进行影像初选;再结合有无遮挡的纹理判断,综合提取最优纹理部分的影像信息,完成对应建筑物模型的纹理映射工作。
1.2 多源影像获取与数据融合
多源影像融合技术是通过多种影像采集设备对目标区域进行同时段影像数据获取。按照SFM算法[9]对多源影像进行融合处理,得到空间位置精确、纹理信息完整、相机参数有效的数据信息,用于合成包含新的空间特点、纹理特征的纹理影像,以实现对目标场景的综合描述。
利用固定翼飞机高空倾斜摄影获取的影像数据与无人机中低空拍摄获取的倾斜影像,结合目标区域的卫星影像资料等,将目标场景的多源测量数据进行融合,得到更为准确、完整的地物影像信息,以实现空地一体化的场景重现。多源数据的融合可以准确地表达目标区域的地标地物结构特征与对象纹理信息,实现城市三维建筑模型的纹理获取工作,有效解决倾斜航拍所存在的高层建筑之间的纹理遮挡及建筑底层的纹理不清晰等问题。
1.3 最优影像选择
多源影像的特点是建筑物面的物方投影存在于多张影像。影像的拍摄视角是决定建筑物纹理获取的一个重要因素[10]。最理想的拍摄角度是正射角度,但在实际的拍摄过程中,由于航线的改变、搭载平台的姿态变化,相机会存在不同程度的角度倾斜,难以获得建筑物正射角度拍摄的影像。本文拟通过比较多源影像的向量角,实现最优影像的获取。具体算法如下:
(1) 建筑物与影像的索引建立。首先对目标建筑物建立包围盒,利用包围盒角点的物方坐标Xi,Yi,Zi,通过多源影像与建筑物模型的空间姿态信息,利用相机全矩阵P计算影像与包围盒的投影关系,得到角点在影像上的像方坐标xi,yi。
式中,K为相机的内参矩阵;Rt为相机的外参矩阵。内参矩阵是将三维相机坐标变换到二维齐次图像坐标。相机的外参矩阵用来描述世界坐标中相机的位置及其指向方向[11],包含旋转矩阵R和平移向量t。
如果建筑物模型的包围盒角点的物方坐标都存在于该影像的拍摄范围之内,可以保证该影像与建筑模型存在索引关系[12](如图2所示),则该影像拥有目标建筑物的纹理信息,将该影像存放到目标建筑物对应的纹理影像集合,并进行下一步判定。
(2) 筛选建筑物面对应的影像集合。根据影像的外方位元素,将影像朝向划分为下视、前视、左视、右视、后视5个朝向,对已获取影像的朝向进行判定,获得5个朝向的影像集合。其中下视影像集合采用垂直摄影技术,获取的影像大都是建筑物顶面纹理,不存在遮挡现象。因此,建筑物顶面的纹理选择只需从下视影像集合中进行筛选,通过平移、旋转、缩放等变换即可作为建筑物顶面纹理[13]。由于下视影像在建筑物侧面纹理的获取上存在变形较大、纹理缺失严重的问题,因此在建筑物侧面最优纹理的获取计算中,去除下视影像的参与,简化计算过程,提高建模速度。
(3) 建筑物侧面纹理的获取。建筑物侧面纹理的获取需要从其他4个朝向的影像集中选择,通常相机朝向角度垂直于建筑物面获取的影像变形小,相机曝光条件合适,更加容易获取最优纹理,因此通过判断影像集合与建筑物面的相对关系来进行筛选:将建筑物面的中点与影像摄影中心投影到地平面,并得到其在地平面上的向量,计算该向量与建筑物面法向量的夹角,根据夹角越小说明影像的朝向越合适的原则,得到最接近正射角度的影像集合,如图3所示。
(4) 最优影像获取。获取建筑物立面的对应影像集合之后,对所有影像进行影像与建筑物面的向量计算。当建筑物面的中心点到影像摄影中心的向量与建筑物面的法线的夹角小于90°时,说明该建筑物的面可以在影像上找到对应的投影,通常夹角越小的影像,对应的建筑物面的纹理效果越好。如果建筑物面的像方投影存在于多张影像,则按照夹角的角度从小到大进行排序,为以后的无遮挡影像的选择提供参考,如图4所示。
1.4 无遮挡纹理判断
纹理遮挡是由于航摄瞬间,目标建筑物受到其他建筑物的遮挡,造成目标建筑物面没有获取完整的纹理影像。通常情况下,影像的纹理遮挡出现在侧方影像,本文拟通过计算建筑物之间的遮挡关系,对遮挡影像进行处理,实现无遮挡纹理的获取。具体算法(如图5所示)如下:
(1) 利用本文影像优选算法,得到每一个建筑物面对应的最优向量夹角的影像,通过影像投影中心与建筑物面角点在地平面上的阴影,得到一个遮挡有效区域,根据其他建筑物是否位于该遮挡区域内,来确定影像是否存在遮挡。如果该区域内没有其他建筑,则此影像不存在遮挡,可以作为目标建筑物面的最优纹理;若其他建筑物存在于该区域内,则可能对目标建筑屋面造成纹理遮挡,需要进行下一步判定,如图6所示。
(2) 根据遮挡疑似建筑的角点物方坐标,计算其在影像上的像点坐标,判断像点坐标与目标建筑物的像方投影区域在影像上的位置关系。如果像点坐标位于投影区域之外,则不会对目标建筑物产生遮挡,该影像可以作为最优纹理。若该区域内存在其他建筑物的像方点,则可能对目标建筑物造成纹理遮挡,需要进行下一步判定。
(3) 在存在遮挡影像的纹理映射区域,根据像素坐标找到4个极点,取其平分点,并根据平分点将纹理映射区域分为4份,计算遮挡物与哪一个区域相交,若存在相交,该区域为遮挡区,没有相交的区域则可以选择为最优纹理区域。如图7所示,A、B区域可以选为最优纹理区域,C、D区域则存在遮挡。对于有遮挡的部分,根据之前的最优拍摄角度排序,选择更换下一张影像重新进行整个算法流程。通过多次计算,得到最优纹理集合。
(4) 根据多源影像的内外方位元素,计算获得全相机矩阵P,通过目标建筑物面角点的物方点坐标,解算得到对应的影像纹理坐标,实现建筑模型与纹理影像的对应关系。调用SketchUp API与OpenGL提供的纹理映射功能接口[14],完成目标建筑物面纹理映射工作,实现城市真三维模型的创建。
2 试验结果和分析
为了检验多源影像融合的影像优选算法和无遮挡纹理获取的效果,以及城市真三维模型实体化纹理贴图算法效果,本文选取深圳市龙岗区某居民小区三维场景进行试验验证。
(1) 利用大飞机及无人机等多种采集方式获取倾斜影像数据,通过Context Capture软件实现多源数据融合并进行空三计算,生成OSGB三维实景模型[15],如图8所示。
(2) 通过SketchUp进行插件式开发,在SketchUp中加载精确的空三信息和三维实景模型,并根据三维实景模型中建筑物的空间结构信息,利用SketchUp强大的模型创建功能进行建筑物的精细化建模,得到细节结构完整、准确的建筑物实体化模型,如图9所示。
(3) 利用本文影像优选功能对建筑物进行纹理最优影像选择,并且通过自动纹理贴图模块实现对建筑物单体模型纹理映射工作,如图10所示。
(4) 对试验获取的真三维模型进行质量检查,发现部分建筑物存在纹理遮挡(如图11(a)所示)。对存在纹理遮挡的建筑物,利用本文无遮挡纹理处理功能进行无遮挡纹理重新生成并进行纹理映射,得到无遮挡的建筑物模型(如图11(b)所示)。再通过Photoshop图像处理软件对建筑物模型进行整体匀光,得到最终的建筑物模型(如图11(c)所示)。
通过3次的处理结果对比发现,只通过影像优选获取的建筑物影像可以实现建筑物模型对应位置的精确映射,但存在大范围的纹理遮挡。通过无遮挡纹理处理之后的模型纹理贴合精确,有效地分辨纹理遮挡并进行无遮挡纹理获取计算,但是依然存在模型纹理的色彩融合性较差、纹理显示分层现象明显等问题,需要利用Photoshop等影像处理软件对建筑物整体的影像纹理进行色度、亮度融合处理。
3 结 语
基于多源影像融合对建筑物三维模型进行无遮挡纹理自动映射处理, 通过研究建筑物最优影像的获取及无遮挡纹理的自动生成方法,可以有效地对建筑物模型的纹理进行精确映射,提高了三维建模的效率,增强了建筑物实体模型的真实感,自动化的处理过程提高了城市真三维模型的纹理重建速度,减少了大量的人工操作,而且程序算法简单、有效,方便以后更深层次的开发工作。