城市虚拟地理场景非定标三维重建算法仿真
2021-11-17杜炜,李倩
杜 炜,李 倩
(1.海南大学 美术与设计学院,海南 海口 570228;2.中国地质大学(武汉),湖北 武汉 430074)
1 引言
为方便城市规划管理,对城市虚拟地理场景进行三维重建。城市虚拟地理场景是指通过计算机虚拟技术构建一种模拟城市的操作场景,形成一个逼真感官世界。用户不但可以沉浸在虚拟城市中,还能进行评价分析与决策,沉浸感与交互感是虚拟城市场景的两个主要特征。现阶段使用计算机进行三维重建的方式包括:利用扫描仪获得三维模型法[1],该方法可以高效、方便地建立目标三维模型,在虚拟现实领域得到推广。但是扫描仪成本较高,且易受环境与被测目标性质影响。基于图像序列的三维重建方法是计算机视觉与图形学技术相结合的产物,属于新兴技术,利用图像恢复目标三维模型,是相机拍摄照片的逆过程[2]。该方法需要事先定标相机,确定相机内、外部参数,对匹配点进行逆变换处理,引入到三维空间内,完成三维重构。但是相机定标程度较为复杂,每进行一次拍摄都需要重新定标,确保参数实时变化,因此该方法实用性差,推广应用难度较大。为改善上述方法缺陷,本文利用非定标方法对城市虚拟地理场景进行三维重建。实验结果表明,该重建方法可以减少定标工作量,降低对计算性能的要求,使重建后的虚拟场景更加逼真。仿真结果表明,所提方法在非定标情况下重建的三维虚拟场景趋光性更好,数据能够有效连接提高逼真度与可靠性。
2 城市虚拟地理场景结构设计
2.1 虚拟地理场景构成
城市虚拟地理场景的基本单元是节点,任意一幅场景图均属于若干节点的有序组合,其结构与倒置的树形相似[3]。组成场景图的节点包含几何节点、灯光节点、组合节点等,简单的城市虚拟场景结构如图1所示。
图1 简单的虚拟城市场景结构图
图1中根节点是此场景入口处,是无论哪幅图都必须具备的节点。不同类型节点反映信息不同,根节点反映环境的光强信息,而组合节点中的变形节点则体现虚拟环境中目标几何信息。此种树形结构表现了空间关系与场景渲染的顺序和属性。
2.2 虚拟地理场景遍历
每个虚拟地理场景视窗都存在一个场景结构,均有一个视点在视窗中,可实现将一个场景绘制到另一个地方。根据树形结构图表示节点之间相互联系,对场景绘制和渲染,达到更新场景图目的。此过程利用的方法是从结构图根节点以深度遍历形式搜寻,深度遍历搜索过程如图2所示。
图2 遍历过程示意图
图2中,箭头两侧数字表示搜索步骤。虚拟场景结构描绘了楼房、道路等目标虚拟环境。在遍历过程中,灯光等节点根据自身所属范围对几何节点进行更新,节点具有积累与传递属性,经过遍历的节点会对后续节点产生影响。若后续节点不再需要之前节点属性时,需要将分离节点当作组节点,制约其它节点作用范围。
2.3 层次化模型
因为城市虚拟地理场景三维模型复杂度高于计算机处理能力,所以必须降低模型复杂性,减少需要处理的多边形数量。细节层次属于控制复杂度较好方法,主要思想是利用多层次结构的物体集合表示某个虚拟场景,模型之间区别依据是细节表现程度。
在实时显示时,具有简单细节的模型就可以提高显示速度。在计算机图形学中,虚拟场景目标一般利用多边形网格描绘,所以将模型自动生成转变为三维多边形网格简化问题。网格简化核心是将多边形网格构建的模型变为近似模型,而该模型基本保留初始模型特征。常用方法是将一些不重要的顶点或边移除,只要已知不同逼近精度要求,即可构造出层次化模型,增强纹理细节,改善趋光性。
3 基于非定标三维重建算法
3.1 相机模型建立
相机畸变参数有以下几种:径向畸变、切向畸变与平面畸变[4]。在实际三维重建过程中,任意一个相机都存在不同畸变模型,所以需要进行不同实验才能最终确定。
相机使用针孔成像模型,某空间中任意一点Xi在相机中的成像表达式为
λi=PiXi
(1)
式中:Pi表示投影深度,Xi表示相机内参数矩阵。
3.2 相机坐标系与世界坐标系确定
3.2.1 相机坐标系
如果相机与目标所处世界坐标系{O,Ex,Ey,Ez}和相机自身所在所标系{o,ex,ey,ez}一致。这时相机坐标系原点是相机焦心C-(0e,0e,0e)。其xy平面与相机像平面互相平行,像平面描述为ze=f。
相机坐标系中,空间内任意一点Xe=(Xe,Ye,Ze)T被映射到像平面中某点xe=(xe,ye,ze)T,此变换过程描述为
(2)
变换为齐次坐标形式后,初始映射关系即可利用线性方式表示[5],而联合三维与二维点的矩阵称作投影矩阵。
3.2.2 世界坐标系
世界坐标系{O,Ex,Ey,Ez}与相机坐标系{o,ex,ey,ez}不统一,一般情况下三维目标与相机对应位置关系是未知的,这时需要分别区分世界坐标系与相机坐标系。三维目标的坐标到相机坐标系存在一个欧式变换Xe=R(XE-t),其中R表示旋转矩阵,t表示平移向量,此时式(4)转换为下述形式
(3)
3.3 相机自定标
假设立方体透视成像后,直线a,d,h交于共同消失点vpx,直线c,i,f相交在某共同消失点vpy,直线b,e,g相交于vpz。消失点和成像平面中其余点不同,描述直线方向数据,综合分析消失点可得到三维重建结构数据。
射影几何知识显示:某组直线L1,L2,L3…Ln在无限远点处相交,假定该点成像描述为vp,若这些直线与平面存在平行关系,则vp在无限远处成像;若这些直线不与平面相互平行,则vp在有限远处成像,将这些点称作消失点。图像中经过消失点vp的直线一定与另外直线存在平移关系。
在齐次坐标描述下,空间中某点M=[X;Y;Z;l],投影在图像上一点m=[u,v;l];空间中某条直线投影在平面中记为l=m1×m2,m1与m2为直线l两侧端点。如果l1与l2表示任意一对平行直线投影,则消失点为vp=l1×l2。针对空间内一组平行直线投影li,i=1…n,则消失点可利用下述最小二乘法计算[6]
(4)
若已知空间内相互垂直的三个方向消失点vpx,vpy,vpz,它们均符合式(5)要求
(5)
将该公式变换为有关ω元素的线性方程组,对该方程求解,获取ω值,再对ω分解能够建立相机内参数矩阵,完成相机自定标。
3.4 特征点提取与匹配
3.4.1 特征点提取
提出Moravec特征点提取算子方法,遵循下述原理获取图像特征点:首先将目标图像灰度化,以重要方向上最小灰度方差表示像元灰度值变化状况,之后在图像局部区域挑选最高兴趣点当作特征点。特征点表示图像中特征非常明显的点,例如灰度极大值点与角顶点。获取的特征点叫作兴趣算子或有利算子[7]。一般来讲,兴趣点存在一种典型的局部性质,可通过某种局部检测算子对其定位。详细算法步骤如下
步骤一:若像元(u,v)的灰度值记为gu,v,要想获取像元(u,v)的兴趣值,需要在以像元(u,v)作为中心的5×5窗口中得到四个方向上邻近像元灰度差的平方和,若k=int(n/2)=2,则平方和计算公式如下
(6)
(7)
(8)
(9)
将其中最小的当作像元(u,v)的兴趣值
IVu,v=min{V1,V2,V3,V4}
(10)
步骤二:结合已知阈值,将兴趣值高于此阈值的点作为特征备选点。阈值确定需要尽量确保备选点中包含需要的特征点,且不含有太多无用点。
步骤三:在备选点中选择最大值当作需要的特征点,在固定大小窗口中,去除全部非兴趣点,仅保留最大兴趣值作为该像素唯一特征点。
3.4.2 特征点匹配
假设存在两幅待匹配数字影像A与B,如果利用GAij与GBij分别表示图像A与B中某个N×N像元阵列第i行j列的灰度值,则灰度均值与方差分别利用下述公式表示
(11)
(12)
A与B像元灰度之间的协方差计算公式为
(13)
在协方差CAB取最大值时,A与B中N×N像元阵列属于匹配的影像阵列,根据其中点完成匹配。
传统的利用图像灰度进行特征点匹配方法是检测标准图像与待匹配目标相关区域灰度特征,将待检测区域中像元灰度度量定做匹配基础。本文匹配算法以待检测区域灰度协方差最大值确定影像特征点,匹配过程利用最小二乘影像匹配方法。
3.5 去噪处理
在实际应用过程中利用上述方法重建后的三维虚拟场景会存在一些噪声,为改善重建精准度,必须对结果进行优化[8]。利用以下优化函数对其做去噪处理
(14)
式中,xij表示欧式空间中第j个点在第i个摄像机上的逆投影坐标,Angleei表示第i个相机的姿态欧拉角,tei为与第i个相机相对的平移向量,Qej属于空间中第j个三维点,D是图像畸变因子。
3.6 三维重建
计算匹配点三维坐标时,将世界坐标系放在第一个摄像机坐标系位置上,此时摄像机投影矩阵如下
(15)
(16)
式中,αu=f/dx=f/dy属于x与y轴上的比例系数,Zc可当作常数因子,将式(14)与(15)联立,则可获得
(17)
至此,实现了城市虚拟地理三维重建,获得的三维点尺寸与实际场景尺寸之间具有一个比例因子,可以在空间中设置标准杆计算出此比例因子,获取和虚拟场景相同的尺寸。
4 仿真分析
为验证本文所提的城市虚拟地理场景三维重建方法有效性,设置目标参数如下:获取的异变值X在[0.5,1.5]范围内,过程参数Y在[755.12,785.56]之间。最大保留参量Z设置为51.2,设计的三维重构坐标系如图3所示。
图3 重建坐标系示意图
实验过程中对文献[1]方法、文献[2]方法以及本文方法的实验结果进行记载,三种方法三维重建场景的趋光性如图4所示。
图4 不同方法趋光性对比图
从图4中可以看出,本文方法重建过程中趋光性较为平稳,主要因为本文在设计城市虚拟地理结构时注重层次细节纹理设计,改善趋光性能,达到最佳三维重建效果。不同方法动态光影度对比结果如图5所示。
图5 不同方法动态光影度对比图
从图5中可以看出,本文方法在重建过程中光影度呈现平稳下降趋势,确保数据有效链接,使重建场景更加逼真,而其它方法曲线起伏较大,这是因为这文献[1]方法、文献[2]方法没有去除噪声数据,导致重建数据中掺杂无用信息,降低重建精准度。
5 结论
本文利用非定标方法对城市虚拟地理场景进行重建,该方法涉及多个应用领域,例如在机器人导航过程中,采集环境图像,计算图像三维数据确定运行轨迹;在对图像测量时,通过相机对目标拍摄得到三维数据,快速测量目标三维信息,提高灵活性与准确性。与上述两种三维重建方法相比主要存在以下区别:它不是对目标直接进行欧式重建,而是通过相机自行定标实现虚拟场景重建,不需要校准点,利用两幅图像投影点匹配关系进行推导。此种方法减少定标工作量,降低对计算性能的要求,使重建后的虚拟场景更加逼真。虽然重建效果较好,但是仍有许多不完善之处,需进一步改进。因为在重建过程中,通常会出现大量相同场景图像,利用这些图像重建,会造成较大误差积累,在确保精度基础上利用少量图像完成三维重建,是今后该领域研究的重要问题,此外还需提高设备自定标速度与精度,降低对噪声敏感性,以便进一步提升重建效果。