刘海洋
(渭南师范学院数学与信息科学学院,陕西渭南714000)
在现今这个科学技术飞速发展的时代,古文化遗址保护已经受到社会各界的广泛关注.随着时光的洗礼,这些古建筑正在经受着不同程度的损坏,古建筑的三维重建和保护工作迫在眉睫.传统技术方法都是通过三维激光扫描仪来直接获取古建筑的空间信息,但三维激光扫描仪存在各种不便.随着数码相机的普及,基于二维照片来实现三维文化遗址重建的技术得到了社会各界的认可,它成本较低,而且在实地操作方面效率较高.本文介绍开展此项研究的背景和研究现状.通过对二维照片实现三维建模技术的研究说明,运用特征点检验算法提取数据进行立体匹配,实现三维空间重建,借助唐小雁塔的相关空间数据信息,进一步说明此项技术在古文化遗址研究方面的优越性和可行性.
文化遗址的三维场景建模是文化遗产数字化保护领域一项新的研究内容,涉及到计算机图形学、虚拟现实、时空数据库等多个领域的理论和方法.在文化遗址的数字化保护和虚拟展示技术研究方面,美国、日本、意大利等国家处于领先的位置,并且都成功开发出了比较实用的应用系统.与发达国家相比,我国的虚拟展示技术研究及应用还有很大差距,但也有一定的进展.如清华大学国家光盘工程研究中心采用Quicklime技术实现了“虚拟布达拉宫”;西北大学开发了一个用于文物虚拟展示的数字博物馆等[1].为开展秦东地区大型文化遗址数字信息化保护工作,本文提出基于二维照片的三维重建技术.
它要运用数码摄像机对建筑物进行全方位的扫描,再通过特征提取、立体匹配等主要技术手段对相应古建筑的三维空间数据信息进行处理,最终实现对古建筑的三维建模.下面主要介绍这种技术的理论方法和相关实验验证.
2.1.1 建筑物的特征提取
(1)Sift算法又称尺度不变特征变换算法,它是一种提取局部特征的算法,在尺度空间寻找极值点,再进行过滤找出稳定的特征点,在每个稳定的特征点周围提取图像的局部特性.由于Sift特征是图像的局部特征,所以其对平移、旋转、尺度缩放等变化保持不变性.
(2)Sift特征点检测方法的步骤
a)检测尺度空间的极值点,精确定位极值点,基本确定关键点的位置和所处的尺度.如图1所示,途中叉号的像素要跟包括同一尺度的周围邻域8个像素和相邻尺度对应位置的周围邻域9×2个像素总共26个像素进行比较,确保在尺度空间与二位图像空间都检测到该局部极值,确定此局部极值就是初始的特征点.
b)特征点亚像素级定位.利用拟合三维二次函数的方式来精确确定关键点位置和尺度,去除低对比度的关键点和不稳定的边缘响应,从而增强点特征的匹配稳定性.
2.1.2 立体特征匹配
要实现准确匹配必须要遵循一定的匹配约束.常见的约束有几何相似性约束、极限性约束、视差光滑性约束等.立体匹配算法就是以最小的代价在两幅图像上精确地寻找相同的像素点,常用的主要有区域匹配算法和特征匹配算法.
标定摄像机的过程实质上是确定图像坐标系与建筑物空间坐标系之间的映射过程.传统的标定由于拥有定标参照物,所以定标精度比较高.目前,比较流行的传统标定是张氏模板标定法.这种主要是在不同角度拍摄多幅(至少需要三幅)平面模板的图像,通过计算图像上的点与模板上的特征点之间的对应关系来计算摄像机的参数[2].
首先根据匹配映射关系的基础矩阵进而求解出本质矩阵E,接着对E进行奇异值分解产生R和t的候选值,然后判断R和t符合的条件,确定唯一的一组解,最后计算出特征点对应的空间的三维点,实现三维重建.
2.3.1 获取本质矩阵
在2个相对近的不同位置用一个普通的数码相机对塔体进行拍照,定义这两个位置为位置A和位置B,将位置A的摄像机坐标系认为世界坐标系,这样[I|0]就是摄像机在A位置的外参数矩阵,则有PA=K[I|0]为摄像机在位置A的投影矩阵.利用PB'=RPA+t变换得摄像机在位置B的投影矩阵PB=K[R|t],其中:I是3×3的单位矩阵,K是摄像机的内参数矩阵,R和t分别是摄像机在B位置相对世界坐标系的旋转矩阵和平移向量,由于K已经求出,PA已知,只需要求出R和t,就能够求出PB,这样根据三角原理就可以计算出空间点的三维坐标.
对于任意的匹配点对 m ,m',m∈I1,m'∈I2,齐次坐标有 m=(x1,y1,1)T,m'=(x2,y2,1)T,则有:
其中:s1和s2是常量因子,m是特征点对应的物体的点的齐次坐标,F是基础矩阵,则有(m')Fm=0,求出 F=K-T[t]XRK-1,向量[t]X是向量 t=(tx,ty,tz)T的反对称矩阵.本质矩阵 E= [t]xR 由摄像机的运动参数R和t确定.
2.3.2 摄像机外参数的获取和符号的判断
对本质矩阵E进行奇异值分解可以得到摄像机的运动参数R,t:E=UAVT.其中:A=diag(r,s,t),(r,s,t)为SVD分解得到的特征值,在实际中由于噪声的存在,所以得到r>s>t,因此就必须对它进行修正.令k=(r+s)/2,得到修正的对角矩阵A'=diag(k,k,0),用A'代替A修正的本质矩阵E',然后对E'进行奇异值分解,E'=UDVT.通过分解可以得到一个三阶的对角矩阵s.
设,可以表示R=UWVT或R=UWTVT,t=u3或t=-u3.其中:u3是U的最后一列.所以PB就会有四种情况,根据物体的三维点在两幅图像中的景深为正来判断哪一组值满足匹配点对应的三维坐标.求出正确的R和t,这样两幅图像对应的投影矩阵为:
设PA1,PA2,PA3为投影矩阵PA对应的行向量,设s为常量因子,(ui,vi,1)T为在位置A拍摄的图像上的第i个匹配点的齐次坐标,Xi为与第i个匹配点对应的空间点的齐次坐标,则有,消去常量因子得:
2.3.3 空间点的三角化
计算出来的三维点是一些离散的点,用OpenGL可以显示出来.简单的文物由于重建出来的点比较少,为达到照片级别具有真实感的模型,就要进行三角剖分.三角剖分的方法主要是把空间中的点映射到平面中,对二维的点进行三角剖分,再反映到三维空间中.图2是得到的部分关于唐小雁塔的图像模型.
图2 唐小雁塔的部分图像模型
2.3.4 三角化的纹理映射
由于在进行三角剖分时塔体的图像被分成了一些三角化的纹理,把这些三角化的纹理再映射到空间网格中,就得到了具有纹理的塔体三维模型[3](如图3).然后再通过后期的渲染、烘焙就得到了具有真实感的三维模型(如图4).
图3 小雁塔遗址场景模型
图4 烘焙后的小雁塔遗址场景
从客观条件上看,传统方法用的三维激光扫描仪价格昂贵,需要大量的人力物力,不便于现场进行快速空间数据采集,且可能对文物造成损伤[4].而此项技术成本低廉,采集效率也比较高.在方法技术方面,基于二维照片的三维重建分为:基于单幅图像重建几何模型、采用立体视觉方法重建几何模型、基于深度图像重建几何模型和未定标图像恢复场景的几何等.从数据的采集、处理到图像的整合都比较完整细致,而且在数据的处理过程中确保了数据的保真度和精确度,不必担心重建的图像会失真.
本文从基于照片的三维重建技术理论依据入手,通过对唐小雁塔的实验分析,可以看出利用二维的照片图像来实现三维重建具有很大的可操作性.它基本上实现了这一古代文化遗址的三维重建,但在部分细节上还存在相关的不足,以后会进一步讨论、完善.始建于西晋永嘉四年(公元310年)的司马迁祠距今已有近1700年,作为秦东地区的代表性古遗址建筑物之一,其在建筑风格等方面与唐小雁塔都具有空间狭窄特点,要用大场景技术进行完整扫描非常困难,本文介绍的重建技术同样适合司马迁祠的三维重建.
(指导教师:刘 军)
[1]刘军,耿国华.文化遗址的三维真实感建模与虚拟展示技术[J].计算机工程,2010,36(20):286-290.
[2]刘刚,郑新.敦煌石窟壁画大型数字展示技术选择[J].敦煌研究,2005,23(5):107-111.
[3]朱涛,罗仕鉴.大规模地貌场景的实时纹理合成[J].计算机工程,2009,35(10):264-266.
[4]朱晓东,周明全,耿国华.虚拟博物馆开发模式研究[J].计算机应用与软件,2005,22(6):34-35.