[摘要] 中图分类号: TB82 文献标识码: A 文章编号: 1673-1069(2016)20-119-2 1 概述 三维重建(3D Reconstruction),是
中图分类号: TB82 文献标识码: A 文章编号: 1673-1069(2016)20-119-2
1 概述
三维重建(3D Reconstruction),是建立外界物体合适的计算机数学模型,并在计算机环境中对模型进行处理、生成场景和物体的三维模型的方法[1]。目前建筑物三维重建的方法主要有三种:基于几何造型的方法、基于扫描仪器获取物体表面三维信息的方法、基于图像的三维重建方法[2,3]。基于图像的三维重建技术,采用单幅图像或多幅图像,实现对目标场景的三维重建。并紧随着摄影测量与计算机视觉等学科的发展而迅速成长[4];基于单幅图像的三维重建是利用单张图像中的二维特征,通过逆求解物理或光学成像过程解算物体可见表面的三维信息[5]。
2 基于单幅图像建筑物三维重建
本文以单张图片作为输入,照片级真实感三维模型作为输出;单张图片所能提供的信息较少,拍摄相机的内外参数未知,针对这些问题,本文先依据图像质量选取直线提取方式(手动或自动方法),保证X、Y、Z三个主方向直线数量不得少于两条。然后利用灭点几何解算相机内、外参数;接着根据平面模型解算三维点坐标;最后利用二维空间透视关系矫正纹理、渲染模型,生成照片级真实感的三维模型。
2.1 基于直线分组的灭点解算
灭点是空间平行直线在图像上的投影线段的交点[4]。理想情况下,仅需任意两条平行直线即可确定一个灭点。灭点是解算相机参数的关键,灭点解算精度将直接影响相机标定及三维重建的结果。简单规则建筑物具有直线结构化信息,方便于快速直线提取、分组和灭点解算。获取单幅图像中的灭点直线有两种方法:自动法和手动法。当图像具有较高分辨率、较强透视几何,且图像的反射强度适中、阴影和非目标景物较少时,采用自动方法,反之采用手动法。自动法的灭点解算主要步骤如下:
①利用Canny算子检测边缘,提取图像局部灰度突变的区域。
②为获取更高效、准确的直线提取结果,采用累计概率霍夫变换(Progressive Probability Houth Transform,PPHT)提取结构化场景中直线端点信息。
③为避免Z轴方向直线干扰X、Y方向,依据角度性质分离出Z轴方向灭点直线。
④采用随机抽样一致性算法(Random Sample Consecsus,RANSAC)方法构建直线模型,分离X、Y两个方向的灭点直线,同时剔除每个方向的无效直线。
⑤基于最小二乘算法确定最优灭点。由于受镜头畸变的影响,X、Y、Z方向直线簇往往不能相交于一点。当直线数量大于两条时,可采用最小二乘法确定最优灭点。假设某一方向有n条投影直线l1,…,ln,li,的端点为(xi1,yi1)、(xi2,yi2)。则的直线方程为Aix+Biy+Ci=0,其中:
2.2 相机标定
三维空间点投影到二维图像上的相对位置由摄像机成像几何模型决定,相机成像几何模型中的参数称之为相机参数,求解相机参数的过程称为相机标定。
依据文献[6],可以利用如上解算的灭点坐标解算相机参数(u0,v0,f,R,t)。像主点是透视椎体底面三角形的垂心,利用垂心定理计算u0、v0。投影中心到像主点的距离为焦距,利用勾股定理计算f。世界坐标系X、Y、Z坐标轴向量分别设定为主灭点单位向量OVX、OVY、OVZ,利用坐标系变换原理,根据任意两主灭点向量解算旋转矩阵R。任取两主灭点向量OVX、OVY,则:
2.3 平面模型重建与三维点结算
假设三维空间平面用
表示,其中P为平面位置点,n为平面法向量。本文首先定义了一个位置和法向量都已知的平面(世界坐标系XOY平面)为基平面?装0,通过交互式地确定?装0与待求平面的几何关系依次解算各个待求平面。待求平面与基平面?装0的几何关系分为两种:平行和相交。
空间直线L3⊥L,A、B是L上两点,U、A是L3上两点。U与其图像点u满足投影方程:
2.4 纹理映射
常用的纹理几何校正有多项式扭曲法和内插法,这些方法往往需要确定一系列控制点,使得方法计算烦琐。针对这一问题,结合单幅图像重建方法的特点,以计算机视觉中的线性相机模型为基础,依据透视投影关系,根据纹理图像和三维模型四对控制点,解算纹理校正的投影矩阵。
为获得真实感的三维模型,需将校正的纹理映射到三维模型上。OpenGL(Open Graphics Library)是独立于硬件设备的软件接口,可以构逼真的三维模型,渲染复杂的三维场景。其本身具有完善的纹理映射机制,能够逼真的表达物体表面信息。本文利用OpenGL将校正后的纹理映射到建筑物的三维模型上。
3 实验结果与分析
为验证上述方法的可行性,本文选取两种建筑进行实验。
实验一为牛津大学Wadham学院,位于市区的中部。图像尺寸1024×768 pixel,相机型号未知,焦距未知。该建筑为传统欧式建筑,建筑中存在大量的平行直线、垂直直线,且建筑主体结构以平面为主。
待重建建筑边线清晰选择自动法提取直线。首先利用Canny算子检测边缘,高、低阈值分别为230、200,利用累计概率霍夫变换提取目标图像中的长线段。角度间隔为1°,角度范围为180°,累加阈值为50,直线长度阈值为70,间隔阈值为10。直线检测及灭点计算结果、相机标定、平面重建、纹理矫正如图1、图2分别展示了不同视角下模型的重建效果。 实验二为福建初溪土楼群集庆楼内部建筑、该土楼为闽西典型的土楼建筑,属于现存国家重点保护物质文化遗产。重建图像由SONY DSC-HX9相机拍摄,图像尺寸3648×2736 pixel,焦距6mm,由于集庆楼建筑年代久远,建筑边缘模糊,实验采用手动法提取直线。X方向绘制5条直线、Y方向7条直线、Z方向6条直线,各个方向直线分布均匀。
本文方法可以很好地重建具有平面结构,且包含三个主灭点的已损或消失建筑的三维模型。