单目视觉城市建筑物参数化三维建模
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 国内外研究现状

1.2.1 基于图像的三维重建方法研究现状

以三维重建为研究目标的视觉研究方法,在三十多年的发展中,逐渐形成了各具特色的方法和理论[4]。例如根据视点数目的不同,可分为单目视觉、双目视觉、三目视觉或多目视觉。根据获取数据的方式可分为主动获取方式和被动获取方式。前者需要人为地在物体表面做某种记号,例如条纹或者阴影,并且根据这些信息建模或由传感器获得三维信息。而后者是指利用场景中物体本身所具有的一些特征进行建模,如某些几何特征和纹理特征。被动获取的建模方式有效利用了图像中物体本身的特征信息,从而减少了获取图像前的准备工作,因此基于图像的建模通常采用被动建模的方法。

1.2.1.1 单目视觉

一般来说,用单个像机的单目视觉,即从单一图像中不可能直接得到三维信息,但是,如果已知对象的形状和性质,或作某些假设,便能够从图像的二维特征推导出三维信息。作为图像的二维特征(统称为X),如利用明暗度(Shading)[5]、纹理(Texture)、调焦法(focusing)、梯度法(gradient)、轮廓法、阴影[6,7]等特征提取三维信息的有关理论方法,称之为由X恢复形状(Shape From X),基于单幅图像的重建方法都不能测定绝对距离。这些由X恢复形状的方法所得到的模型都存在一定的不足,而且很多方法都要求知道场景中物体的一些信息,实现起来难度较大。近几年国内外一些学者使用射影几何学进行单幅图像重建的研究,利用图像的透视变形等信息,从存在这种变形的像中得到物体模型。这种方法处理图像中的点、线、面之间的几何关系,在标定中使用几何约束,增加了结果的稳定性,具有较强的实用性。

还有一些其他的单目视觉重建方法,如基于建筑物阴影长度的重建方法,是一种通过测量建筑物阴影长度来计算建筑物高程信息的方法[8],并由此生成研究区建筑物的高度图像。这种方法主要应用于高分辨率卫星影像中的地震灾害识别与评估,对高层建筑物的识别精度较好,对于低层建筑物识别较差,原因在于:一是建筑物阴影影响;二是高程信息插值处理过程中产生的误差影响[9]。还有基于图像灰度恢复物体形状的重建方法,假设只有一个已知方向的点光源,只有一幅由该光源照射下得到的图像。由单幅图像上每一点灰度值可得到一个约束条件。由灰度恢复三维物体形状的方法与其他方法比较,局限性较大:一般都需要假设光源方向已知的单个点光源,不考虑物体间的互反射,而且已知物体的反射系数等,另外,相比图像其他特性(如边缘与角点),图像灰度受噪声影响更大。

1.2.1.2 立体视觉

立体视觉也称双目视觉(Stereo Vision),是计算机被动测距方法中最为重要的距离感知方法之一。它模拟人类视觉处理景物的方式,可以在多种条件下灵活地测量景物的立体信息。立体视觉三维重建方法的一般过程为使用两个或单个摄像机对同一目标拍摄两幅或多幅图像组成立体像对,根据三角测量原理利用对应点的视差(disparity)来计算视野范围内的立体信息。主要步骤包括:图像获取、摄像机标定、特征提取、图像匹配和三维重建。适用于移动不大的相机拍摄的两幅图像建模。受匹配算法影响,对有重复纹理的模型不合适。

1.2.1.3 运动视觉

运动视觉[10]研究的是如何从变化场景的一系列不同时刻的图像中提取出有关场景中的物体的形状位置和运动信息,在计算机视觉中,运动视觉也是受到特别重视的一部分,研究运动视觉的方法大体上可以分为两大类,一类是基于特征的方法[11,12];另一类是基于光流场的方法[13]。基于特征的方法与立体视觉方法有许多相似之处,它也包括两个主要的步骤:一是从相继两幅或多幅不同时刻的图像,相当于立体视觉中的左右图像中抽取特征如点、线、面等,并建立起对应;二是依据这些特征之间的对应来计算物体的结构、形状、位置等和运动。基于光流场的方法不需要对图像进行处理抽取特征,而是直接对图像本身进行处理,这种方法的优点是它可以求得稠密像素处所对应物体的运动信息,而在基于特征的方法中仅能求得特征的运动信息,其他部分的运动信息要根据这些特征的信息经过一定的插值外推来求得。

1.2.1.4 基于图像序列的三维重建

基于图像序列的三维重建技术也称为多视点三维重建[14](Multi-view reconstruction)。同立体视觉也称双目重建(Two-view reconstruction)相比较由于利用了多幅图像的信息一方面降低了特征匹配难度,另一方面提高了重建精度。尽管多视点重建可以利用立体视觉中的一些技术[15],但更多的是建立新的理论并采用新的解决方法,其中两个比较关键的内容是图像特征对应的获取以及物体形状和运动估计,比如利用三焦点张量约束下的直线匹配完成相机的标定等,但是随着图像序列的增加会导致漂移和误差的传递积累等问题。

1.2.2 建筑物建模方法研究现状

根据文献[16]的总结,三维建筑物建模的国内外研究综合了地理信息系统、摄影测量学与计算机科学的计算机视觉和计算机图形学三个方面的共同发展。

1.2.2.1 数字摄影测量的典型研究

(1)从城市航空影像中自动提取建筑物,如检测二维建筑物和数字高程模型(DEM,Digital Elevation Model)数据[17]、知觉组合[18]、线条分析[19]、使用阴影、透视几何等辅助信息[20]、直接对建筑物或表面进行建模[21]、基于知识的系统[22],以及通过影像测量并结合物体的几何知识构建出多面体对象模型的方法[23]等。

(2)结合二维地图矢量数据利用航空激光扫描[24,25]或激光高度计数据的方法[26-28]

(3)利用三维深度传感器[29]、多CCD相机和彩色高分辨率数字相机获取的数据实现建筑物建模。

(4)利用虚拟现实技术实现三维GIS数据的可视化[30]

(5)其他方法如人机交互下的半自动三维建筑物建模等[31]

1.2.2.2 方法分类

在计算机视觉和计算机图形学中,目前方法分为三类:基于几何造型(MBR)、基于图像绘制(IBR)以及几何、图像混合的方法(IMBR)。

(1)基于几何造型的方法通常利用成熟的造型软件手工搭建模型,比如一种是基于CAD建模,其结果不够精确而且绘制效果也不够逼真。生成复杂的几何模型需要付出巨大的工作量,并且需要使用很多技巧。为了绘制出较好的光照效果,往往需要很昂贵的硬件开销,计算量庞大,难以在普通计算平台上实时处理,图像的真实感也没有保证。

(2)基于图像绘制的方法,是通过一个来自多视点的原始的或合成的图片库来产生任意视点的新的虚拟图片。对于大规模场景则需要很多图像,使存储和空间深度信息的表达成为瓶颈。另外,系统能提供的场景交互手段有限,对于很多应用领域不能满足要求。

(3)把几何造型和基于图像绘制结合起来是一种非常有效的方法,具有造型过程简便、绘制速度快的优点,最常见的例子是在几何建模的基础上,进行纹理映射。

Pollefeys和Koch等人提出了由图像序列完成的自动三维重建方法[32],该系统输入相机拍摄角度之间间隔不超过5°~10°的序列图像,首先由Harris角点检测,角点匹配,对极几何约束等预处理确定图像之间的关联,然后由初始的两幅视图完成初步射影重建,逐渐加入一幅幅图像优化并完成射影重建,根据基于绝对二次曲线的方法进行相机自标定,建立深度密集匹配,到最终的3D重建结果。该方法可完成自动的3D重建,但需要一系列高重叠度的图像,最终恢复的3D场景效果并不是具有独立意义的3D模型。

Ildiko Suveg和George Vosselman提出了基于知识系统的由航拍图像序列完成的自动3D重建系统[33],将立体像对与大尺度2DGIS地图提供的平面信息相结合,将建筑物的重建过程分为假设模型的生成和验证过程,根据2DGIS信息生成建筑物模型库中的各种建筑物模型分解假设,根据模型中线段与图像中线段的对应程序设计评价函数,用以排序各种假设的模型,按照评价函数值的高低从最高的假设开始根据提取的3D角点和线段进行匹配和重建对分解计划中的各个模型参数进行初始估计,由线框模型重投影拟合、精炼参数,模型的验证由重投影信息的匹配程度来最终确定。

Berkeley大学的Debevoc、Taylor、Malik等完成了著名的建筑物重建系统Façade系统[34],可以由构造一系列简单多面体类型从图像序列中恢复目标的3D模型,但是,Façade系统是一个人工交互系统,而且建筑物的几何结构不能太复杂,需要人工选择参数化模型,并指出图像中的特征与模型中特征的对应关系,然后由系统计算模型的相关参数以便最符合图像中标记的特征。

Dick和Torr等人继Façade系统之后提出了一种由图像序列进行模型建模的方法[35],文中针对一些经典的建筑物类型,结合了某一样式建筑物的建筑形状规范和纹理先验知识,比如文艺复兴时期的建筑物如果柱子高15ft,则底部一定分6.5层,顶部为5.5层;某类型窗户的长宽比;通过学习获得的属于基元的纹理和墙面纹理先验等等。首先由角点、直线特征检测,建立几幅场景视图之间的匹配,完成相机自标定获得场景的稀疏度量重建,通过递归分割估计基本的平面,在此基础之上用每个模型外观的统计数据来决定最佳的模型和模型的参数。

Franck Taillandier提出了一种适用于大的密集城市区域的由2D平面地籍图和航拍图像完成的建筑物自动3D重建方法[36],对每个地籍图分割得到的建筑物区域轮廓,推断可能存在的假设平面,由平面求交获得可能的3D模型,经过修剪,用极大系技术确定最佳的3D模型,根据航拍图像确定的DEM的中心相关决定倾斜和屋脊高度两个参数。该方法可对满足对称性结构屋顶的密集城区建筑物进行简单的3D重建。

Haala和Hahn(University of Stuttgart)[37]研究了对影像中含有建筑物的区域,通过在与其对应的高程图(激光扫描数据)中选取得到,高程图虽然分辨率较低但是具有很高的可靠性。在这些区域内检测直线段,进行匹配和分组以得到矩形形状,然后建筑物模型便应用于这些形状。该方法对于孤立的建筑物和树木很少的区域有很好的实验结果。最近,Haala设计了一个针对影像数据、高程数据的半自动城市建筑物建模系统[38]。建筑物被分为多个矩形形状,针对每一个矩形,多种三维模型被测试。从而建筑物被描述为更为精确的三维盒子的组合。最后还可加入一些细小的纠正和超级结构元素以得到建筑物的表达。

Forstner,Weidner,和Lang(University of Bonn)开发了多个半自动建筑物提取系统[39,40]。在最初的方法中,两种参变量建筑物模型应用于由立体视觉计算或激光扫描得到的三维数据,模型参数由DEM数据的拟合得到。棱镜模型应用于具有复杂屋顶或相连接的建筑物。在最近的研究方法中,建筑物模型同时应用于两幅或多幅影像,人工选一个模型并应用于影像中的一个建筑物区域。如果被选取的是正确的建筑物模型,则系统会自动计算它的相关参数(建筑物的尺寸、屋檐和屋脊高度等)。实验结果表明该系统可以很好的集成于半自动摄影测量生产链中,但是建筑物的形态降低了该技术应用于不同景观的能力。

Fuageras等利用分层重建、自标定等经典方法从图像序列中重建出建筑物。该系统考虑了建筑物的特殊性,利用建筑物上的三维坐标已知点(Anchor points)、已知角度或平行线等物理信息标定摄影机,并将待重建场景用多面体来表示。该系统主要用于为CAD-CMA等提供原始的几何模型。

上述的这些研究主要是以DEM数据或由空中的航拍图像序列来进行建筑物、屋顶的3D建模,从空中观测到的密集城区环境,具有急剧的地貌变化,大量的纹理贫乏区域以及各种不同形状、大小、外貌的建筑物,不易很好的提取地面三维对象(对于树木密集的环境更是如此),难以对地表单个三维对象进行建模。而利用2DGIS系统(平面图,建筑立面图及平面设计图等)实现的三维城市场景建模,在2DGIS基础之上由另外添加信息(如房屋高度、墙面纹理、规则屋顶等)来构建三维城市模型[41],这种方法需要2DGIS信息并仅能表达相对规则的建筑物,难以重构复杂的城市景观实体,同时由于缺乏纹理和准确的第三维数据以及空间关系的表达,所构建的模型真实感少且对景观信息表达不足。

目前对基于图像的建筑物三维重建的研究[42]大多数仍集中于恢复各个点的三维坐标或由单应矩阵恢复各个平面内的度量为手段进行重建,需要大量的人工交互,对于实现参数化的3D模型建模并不多见。而且关于重建过程中所涉及的各步骤中的具体算法也各有不同,缺乏应用于自动建筑物参数化建模的适用性算法。比如在实现建筑物轮廓提取的各种方法中更多的是针对航拍、遥感图像进行处理,利用边缘检测和Hough变换后经过复杂的后处理和各种判断的建筑物轮廓提取,缺少结合目标几何信息的可实现地面图像建筑物轮廓自动提取同时确定相机方向的算法。

而且,多数建筑物三维建模软件中建筑物的数据采集和三维模型的建立是在两个独立的系统中完成,往往在最后模型浏览的环境下才能显示出错误之处。人工建模的方法需要凭经验建模,然后在影像的辅助下重建拓扑关系,重构建筑物模型。可想而知,正确模型与仅凭经验建立的模型存在很大的差别,只凭借经验建立模型是不可靠的,并且繁琐的检查工作造成建模效率不高。另外,人工采集加上人工建立拓扑关系、人工编辑的建模思路,使得整个建模过程费时费力,效率低下。如果对有着严密几何形状的三维实体建筑物进行科学的分类,对结构简单的建筑物进行自动提取,对复杂建筑物通过引入相关的结构信息,建立一个集数据采集和三维建模为一体的拓扑数据模型,将会使建筑物建模环节大大简化。