一种全景实景立体测量方法
技术领域
本发明涉及一种立体测量技术,具体的说是一种全景实景立体测量方法。
背景技术
地理信息是用来描述现实世界各种目标的空间位置和分布情况的信息,是人类最重要的、基础性的信息资源之一。在人类的社会实践中,人们通常采用测量方法来获取现实世界的地理信息。随着社会的发展,由于城市建设、土地规划、工程选址、甚至军事等领域的实际需求,地理信息的测绘技术也在不断进步。
早期的测绘使用的是简单工具,如绳尺、步弓等进行测量。这些测量工具都是机械式的,而且以量测距离为主,测量精度较低。17世纪望远镜的发明使得测绘工具开始进入变革阶段。1617年,荷兰的斯涅耳(W.Snell)为了进行弧度测量而首创三角测量法,开始了角度测量。1730年,英国的西森(Sisson)制成测角用的第一架经纬仪,大大促进了三角测量的发展。19世纪50年代,洛斯达首创摄影测量法。20世纪以后,随着飞机的发明,出现了航空摄影测绘地图的方法。人造卫星升空后,卫星定位技术(GPS)和遥感技术(RS)得以广泛应用,它们与地理信息系统技术(GIS)合称“3S技术”。
目前,现有的测绘技术可以实现对现实世界任意的空间位置、角度、距离等信息进行测量。在进行实地测绘时,测绘人员通常预先判断需要对哪些数据进行测量,然后进行场景实测。如果需要对一些新位置的数据进行测量,那么测量工作需要到实地进行重测,工程量较大、效率较低。因此,在测绘领域通常采用将真实的场景在三维空间中进行建模的方法将场景建模所需要的数据进行一次性采集,然后在三维空间将真实场景的地形地貌、楼宇建筑等按照现实世界的尺寸进行一定比例的缩放。当需要对该处场景进行测绘时,只需要在已经建立好的三维场景中进行模拟测量,即可以得到真实场景的实际地理数据。采用这种方法进行场景测绘或者城市规划测量,虽然很大限度的避免了重复性工作,使测绘工作的效率得到了很大的提高,然而对于场景的一些细节的建模工作仍然十分的繁琐。另外,由于在三维场景中一些地理位置的细节信息(比如城市建筑上的窗体位置、路面上斑马线位置等)没有被详细标定,人们无法精确得到这些未标定位置的地理信息。
全景实景图像(Panoramic Image)是近十几年发展起来的一种能够再现真实场景,采用基于图像绘制技术(Image-Based Rendering)合成的360°全方位广角图像。全景实景图像能够包含在拍摄视点位置场景的全部视觉信息,即场景中在整个三维空间上所有可见的细节信息。由于利用全景实景图像能够实现复杂场景的实时绘制和显示,能够将场景的几何特征建模问题转化为更直接的场景图像重建问题,使观察者能够获得更直观、更真实的现场感和更完整的环境信息细节。因此,全景实景图像通常被用来构建具有高度真实感和沉浸感的虚拟现实空间。
为了实现利用少量实际测量得到的场景地理信息再现具有完整地理信息的场景三维模型,需要将基于全景实景图像建模技术与基于场景测绘的三维建模技术相结合。这样建立起的真实场景的三维空间模型可以实现对空间中任意可见位置进行准确测量。而目前具备上述特性立体测量方法尚未报道。
发明内容
针对现有技术中无法精确得到未经实际测量位置的地理信息等不足,本发明要解决的技术问题是提供一种通过对少量现实场景地理信息的实际测量建立现实场景完整的空间三维模型的全景实景立体测量方法。
为解决上述技术问题,本发明采用的技术方案是:
本发明一种全景实景立体测量方法包括以下步骤:
采集全景实景图像并记录图像采集点的地理信息数据;
在计算机上创建全景实景立体测量平台;
测量现实场景景物的轮廓数据以及地理信息,建立场景三维模型;
将场景三维模型导入全景实景立体测量平台;
有机融合场景三维模型和全景实景图像,从而实现场景的立体测量。
所述采集全景实景图像并记录图像采集点的地理信息包括:
搭建数据采集平台,对全景实景图像数据、地理信息数据进行采集;
将每帧全景实景图像数据与该帧所对应的地理信息数据以连续方式存储于数据采集存储器并转存到数据管理器中的数据存储单元,在数据存储单元中将所存储的每帧图像数据的存盘路径与该帧对应的地理信息数据建立关系表并存储于数据库单元中。
所述在计算机上创建全景实景立体测量平台包括:
采用3D图形程序接口建立三维空间,在该三维空间中创建全景实景显示外幕;
在上述三维空间中创建虚拟地面,并标定用户视点、虚拟地面以及全景实景显示外幕之间位置关系;
标定三维空间与现实世界尺寸的转换关系。
所述在该三维空间中创建全景实景显示外幕为:
首先绘制场景显示外幕;然后将采集到的全景实景图像数据利用3D图形程序接口纹理映射到场景显示外幕,得到全景实景显示外幕。
所述标定用户视点、虚拟地面以及全景实景显示外幕之间位置关系为:
在已建好的虚拟地面上绘制平行直线,其延伸方向与全景实景显示外幕上显示的全景实景图像中景物的平行直线的延伸方向相一致;
调节虚拟地面和用户视点在三维空间中的高度,当从用户视点观测虚拟地面上的平行直线与全景实景显示外幕上显示的全景实景图像中景物的平行直线相平行时,再进一步调节虚拟地面上平行直线之间的距离;当虚拟地面上平行直线与全景实景图像中景物的平行直线完全重合时,则透视关系标定完毕,从而确定用户视点、虚拟地面以及全景实景显示外幕之间位置关系。
所述标定三维空间与现实世界尺寸的转换关系包括:
将用户视点、虚拟地面以及全景实景显示外幕在三维空间中的相对高度固定,并将用户视点在三维空间的位置与全景实景显示外幕之间的相对位置固定;
测量现实世界中某景物的实际尺寸,并利用全景实景图像与三维空间的透视关系获取该景物在三维空间中的尺寸,该景物的实际尺寸与其在三维空间中的尺寸的比例关系即为所构建的三维空间与现实世界的尺寸转换关系。
所述将场景三维模型导入全景实景立体测量平台包括:
将已经建立好的场景三维模型文件进行存储,得到场景三维模型的原始数据;将这些原始数据利用程序接口读入全景实景立体测量平台中的三维空间;将全景实景图像初始拍摄点在场景三维模型中所在的位置与三维空间中全景实景显示外幕拍摄点在虚拟地面上投影位置进行对准,并调整场景三维模型在全景实景立体测量平台三维空间中的方向,使场景三维模型与全景实景显示外幕上的图像透视关系对准,实现场景三维模型的导入。
所述有机融合场景三维模型和全景实景图像为:
将场景三维模型在全景实景立体测量平台的三维空间中进行透明化处理,使全景实景图像上的所有信息按照已经标定好的在三维空间中全景实景显示外幕上所显示图像与场景三维模型之间的透视关系,全部透射到场景三维模型的表面。
所述场景的立体测量通过以下方法实现:
在创建好的三维空间里,拾取场景中景物上的点在三维空间中的坐标;通过已经标定好的三维空间与现实世界之间地理信息的对应关系得到三维空间坐标在现实世界中的真实的地理信息数据,利用这些数据在建立好的虚拟环境中对现实世界进行模拟测绘。
所述三维空间与现实世界之间地理信息的对应关系通过以下方法得到:
将全景实景图像的初始拍摄点的实测地理信息数据作为全景实景立体测量平台三维空间显示场景中的基准点的地理信息数据;通过三维空间中其他点与该基准点之间的空间位置关系以及标定好的三维空间与现实世界尺寸转换关系求得它们在现实世界中的经度、纬度及海拔高度。
本发明具有以下有益效果及优点:
1.本发明采用现有测绘技术在现实场景中测量场景外观轮廓的地理信息并在三维空间中进行建模,将全景实景图像中的场景细节信息透射到三维模型表面,实现了全景实景图像与基于场景测绘的三维模型相结合,从而使全景实景图像数据对三维模型场景信息进行有效的补充,可以使用户实现对空间中任意可见位置进行准确测量。
2.由于本发明采用将全景实景图像与基于场景测绘的三维技术相结合的技术,既能够最大限度的减少实际测绘的工作量,又能够为需要对场景进行实际测量的使用者提供十分完备的场景地理信息,这种全景实景立体测量方法的提出为城市规划、土地测量等需要对场景进行测绘的领域提供的一种新的、高效的解决途径。
3.本发明用户界面简洁友好,易于操作,信息量大。
附图说明
图1为本发明方法的架构示意图。
图2A为全景实景图像与三维空间的透视关系标定方法示意图(一)。
图2B为全景实景图像与三维空间的透视关系标定方法示意图(二)。
图3为全景实景图像与场景三维模型透视关系对准示意图。
具体实施方式
本实施例以城市环境作为测绘场景,采用本发明全景实景立体测量方法对城市环境进行测绘。
全景实景的立体测量方法包括以下步骤:
1.采集全景实景图像并记录图像采集点的地理信息数据
如图1所示,首先搭建数据采集平台,对全景实景图像数据、地理信息数据(包括全景实景图像采集点位置的经度、纬度和海拔高度)进行采集。数据采集平台由全景图像采集器、地理信息采集器(本实施例采用GPS系统)、数据采集控制程序、数据采集存储器以及地理信息测绘仪器(用于测绘场景建筑、景物轮廓数据)组成。全景图像采集器(如全景摄像机)负责采集全景实景图像数据;地理信息采集器负责采集地理信息数据;数据采集控制程序使用两个线程分别控制全景图像采集器与地理信息采集器,并采用同一时钟频率信号对二者进行同步触发,将每帧的全景实景图像数据与该帧所对应的GPS数据以连续方式存储于数据采集存储器。将每帧全景实景图像数据进行单独保存(比如存为JPEG格式或BMP格式等,本实施例为JPEG图像格式),最后将采集到的全景实景图像数据从数据采集存储器转存于数据管理器的数据存储单元中;将数据存储单元所存储的每帧全景实景图像数据的存盘路径与该帧对应的GPS数据建立关系表,将关系表存储于数据管理器的数据库单元中。于是,在数据库单元中每帧全景实景图像的存盘路径与该帧全景实景图像数据的GPS数据一一对应,通过每帧全景实景图像的存盘路径可以获得该帧全景实景图像数据及其对应的GPS数据。
2.在计算机上创建全景实景立体测量平台
如图1所示,全景实景立体测量平台是利用OpenGL或Direct3D等3D图形程序接口(本实施例采用OpenGL图形程序接口)将三维空间在基于MFC的单文档程序界面的客户区进行显示,在三维空间中构建一个将全景实景图像与场景测绘数据相结合的全景实景立体测量平台。
(1)创建全景实景显示外幕
在已经建立好的三维空间中绘制场景显示外幕(本实施例的场景显示外幕采用球形场景显示外幕);将采集到的全景实景图像数据利用3D图形程序接口中的纹理映射方法将全景实景图像数据纹理映射到球形场景显示外幕,得到球形全景实景显示外幕;
(2)创建虚拟地面,并标定用户视点、虚拟地面、球形全景实景显示外幕之间位置关系。
a.虚拟地面的创建:
在已经构建好的三维空间中建立虚拟地面。虚拟地面为一个不可见面,在整个三维空间中作为与现实世界中相对应的地面,用于承载通过测绘构建的三维建筑物实体或其他景物实体等。即将所有需要在三维空间中显示的三维实体添加到虚拟地面上。
b.用户视点、虚拟地面以及球形全景实景显示外幕之间位置关系的标定:
为了保证从用户视点上观测到的全景实景图像上的细节信息能够与通过测绘建立好的场景三维模型完全对应,需要将用户视点、虚拟地面以及球形全景实景显示外幕之间的位置关系进行标定。标定原则是保证在球形全景实景显示外幕上显示的全景实景图像与建立的三维空间的透视关系相一致。具体做法如下:
如图2A、2B所示,在已经建立好的虚拟地面2上绘制两条平行直线6,其延伸的方向与球形全景实景显示外幕3上显示的全景实景图像4中公路5两侧直线的延伸方向相一致。设定球形全景实景显示外幕3的球心位置在三维空间原点即坐标(0,0,0)点所在的水平面上。调节虚拟地面2和用户视点1在三维空间中的高度。从用户视点1上观测虚拟地面2上的两条平行直线6与两条公路5直线相平行,再进一步调节虚拟地面2上两条平行直线6之间的距离,当其与公路5的两条直线在用户视点1位置观测结果为完全重合时,则透视关系标定完毕。虚拟地面2的位置以及用户视点1的位置由此可以确定。
(3)三维空间与现实世界尺寸转换关系的标定
如图2A、2B所示,在用户视点1、虚拟地面2以及球形全景实景显示外幕3之间位置标定完成之后,将这三者在三维空间中的相对高度固定,并将用户视点1在三维空间的位置与球形全景实景显示外幕3之间的相对位置进行固定。然后,测定用户视点1到虚拟地面2的垂直距离7。这个垂直距离7与在实际拍摄过程中全景摄像机主光轴与地面之间实际距离的比例关系即为所构建的三维空间与现实世界实际尺寸的转换关系。利用这个转换关系就可以将三维空间的场景距离转化成为现实世界的实际距离。
3.测量现实场景建筑物的轮廓数据以及现实场景建筑物的实际分布位置,建立场景三维模型
采用地理信息测绘仪器(如3D激光扫描仪或全站仪等仪器,本实施例采用激光全站仪)对所选定的城市场景进行实地测绘。主要对现实场景建筑物的外形轮廓、各现实场景建筑物之间的分布位置进行测定。并采用三维建模软件(如3Dmax、Maya等,本实施例采用3Dmax)对测得的场景数据进行建模。建模尺寸按照已经标定好的三维空间与现实世界的尺寸转换关系确定,并标定出全景实景图像初始拍摄点在场景三维模型中所在的位置,该位置用于与三维空间中球形全景实景显示外幕拍摄点即球心在虚拟地面上投影位置的对准。
4.将场景三维模型导入全景实景立体测量平台
将建立好的场景三维模型导入创建好的全景实景立体测量平台,具体导入方法如下:将已经建立好的场景三维模型文件以如3ds、max或ma等文件格式进行存储,得到场景三维模型的原始数据(这些原始数据包括场景三维模型在三维空间中的点和线的相对位置)。将这些点和线等的原始数据利用程序接口读入基于MFC单文档程序创建的三维空间,实现场景三维模型的导入;将全景实景图像初始拍摄点在场景三维模型中所在的位置与三维空间中球形全景实景显示外幕3拍摄点即球心在虚拟地面2上投影位置进行对准,并调整场景三维模型在全景实景立体测量平台三维空间中的方向,使场景三维模型与球形全景实景显示外幕3上的图像透视关系对准。
5.全景实景立体测量平台场景显示的处理与立体测量的实现
如图3所示,由于将场景三维模型9与球形全景实景显示外幕3上所显示的全景实景图像1进行了透视关系的对准,会造成在用户视点1观察方向上场景三维模型9对全景实景图像4的遮挡,而导致全景实景图像信息没有被有效的利用。因此,本发明采用将场景三维模型9全部透明化的方法,避免了对球形全景实景显示外幕3上所显示内容(如场景三维模型在全景实景图像中对应的景物8)的遮挡。按照已经标定好的在三维空间中球形全景实景显示外幕3上所显示的全景实景图像4与场景三维模型9之间的透视关系,全景实景图像4上的所有信息可以全部透射到场景三维模型9的表面,因而此时用户所见的是全景实景图像4的内容,所测量到的则是这些全景实景图像内容对应的场景三维模型所在的三维空间位置,通过三维空间与现实世界尺寸转换关系得到场景内容实际地理信息数据。
测量的具体实现方法如下:
在利用全景实景图像与场景三维模型相结合由3D图形程序接口创建的三维空间里,通过鼠标点选的方法,拾取场景中三维建筑或其他景物上的点在三维空间中的坐标(拾取方法由3D图形程序接口实现,为现有技术)。通过已经标定好的三维空间与现实世界之间地理信息的对应关系可以得到三维空间坐标在现实世界中的真实的GPS数据。因此可以在利用这些数据建立好的虚拟环境中对现实世界进行精确的模拟测绘。
三维空间与现实世界之间地理信息的对应关系具体如下:由于三维空间球形全景实景显示外幕球心位置对应了一个由GPS系统实际测得的在现实世界拍摄地点的GPS数据(即该拍摄地点的经度、纬度、海拔高度),那么将全景实景图像的初始拍摄点的实测GPS数据作为全景实景立体测量平台三维空间显示场景中的基准点的地理信息数据;通过三维空间中其他点与该基准点之间的空间位置关系以及标定好的三维空间与现实世界尺寸转换关系求得它们在现实世界中的经度、纬度及海拔高度。