一种基于两幅图像的三维重建方法
2017-06-03李晓芳路佳佳
李晓芳++路佳佳
摘 要随着计算机技术的快速发展,三维重建技术早已成为计算机视觉研究的热点和难点之一,它的目标是利用多幅二维图像来恢复空间三维场景的几何结构。本文介绍了一种基于两幅图像的三维重建方法,即在已知摄像机内参数及对应两幅图像的前提下,通过特征检测、特征提取与匹配、本质矩阵的分解,进而运用三角测量原理得到三维坐标。
【关键词】三维重建 特征检测 特征提取 特征匹配 三角化原理
计算机视觉是一门融合了数字图像处理、计算机图形学、模式识别、神经生物学等研究成果的学科,它的研究目的就是使计算机具有通过二维图像认知三维环境信息的能力。随着科学技术的快速发展,计算机视觉的应用越来越受到广泛的重视。其主要应用领域有:视觉监控;工业应用,如视觉机器人导航;航空应用,如基于视觉的遥控;虚拟现实中的基于视觉的建模;考古中的应用,如古遗址的复原;通讯中的应用,如可视电话中的建模等。
在计算机领域中,根据图像信息对物体进行三维重建一直是研究的重点和热点之一。它在视频游戏、虚拟场景漫游、物体识别等领域都有着广泛的应用。基于图像的三维重建技术所需要的成本低,具有很大的灵活性,又能达到简单的三维建模功能。依据是否已知摄像机内参数,基于二维图像的三维重建方法可划分为两类:基于标定图像的方法和基于未标定图像的方法。基于未标定图像的三维重建方法只依赖图像间的特征匹配,就可以恢复不同视图的几何约束关系。
本文研究的是第一类方法,在已知摄像机内参数及对应的两幅图像的条件下进行三维重建,得到一些稀疏点的三维坐标。主要分为七部分:
(1)摄像机内、外参数(即投影矩阵);
(2)特征提取与特征匹配;
(3)基本矩阵和本质矩阵;
(4)本质矩阵的分解;
(5)三角化测量原理;
(6)三维重建的算法流程;
(7)总结。
1 摄像机内、外参数
摄像机成像原理与小孔成像原理一样,从三维空间到二维空间的映射满足投影方程:
x=K[R|t]X (1)
其中x—圖像上的点的齐次坐标;X—空间点的齐次坐标;K—摄像机的内参数矩阵; R—摄像机坐标系相于世界坐标系的旋转矩阵;t—摄像机坐标系相于世界坐标系的平移矩阵。
1.1 摄像机内参数
摄像机内参数矩阵为
(2)
这5个参数与摄像机运动无关,其中(x0,y0)为主点坐标,s为斜性因子,αx为x轴的尺度因子,βy为y轴的尺度因子。
本文是在已知摄像机内参数的情况下进行三维重建,故这里不讨论K的求法。
1.2 摄像机外参数
(1)式中的 R和t统称为摄像机的外参数,即摄像机相对于世界坐标系的相对运动。
1.3 摄像机矩阵
令P=K[R|t] (3)
(3)式中的P称为投影矩阵或摄像机矩阵。三维重建的过程也就是求摄像机矩阵(或摄像机内、外参数)的过程。
2 特征检测与特征匹配
用同一个摄像机对同一场景从不同角度、不同位置成两幅图像,对这两幅图像进行特征提取与匹配,得到的匹配数据将作为后续空间稀疏点重建的输入,以完成三维重建。
2.1 特征检测
特征点是图像中亮度变化剧烈或图像边缘曲线上曲率的极大值点,它同周围的邻近点有着明显差异。特征检测的方法有很多:Harris角点检测,Harris-Laplace算法,Hessian-Laplace算法,Harris-Affine算法,Hessian-Affine算法,MSER算法,SIFT算法等。
本文运用SIFT算法进行特征检测,SIFT(尺度不变特征变换)是由Lowe提出的一种局部特征描述算子,具有尺度、旋转、平移的不变性,而且对光照变化、仿射变换和三维投影变换具有一定的鲁棒性。
SIFT算法的主要思想是在尺度空间寻找极值点,然后对极值点进行过滤,找出稳定的特征点。最后在每个稳定的特征点周围提取图像的局部特性,形成局部描述子并将其用在以后的匹配中。其主要步骤有:检测尺度空间的极值点;抽取稳定的关键点;为每个关键点指定一个或者多个方向;生成特征点描述子。
2.2 特征匹配
一个特征在特征数据库中匹配可以使用最近邻的方法,而最近邻定义为特征向量的欧氏距离。然而会有很多的错误匹配出现。所以没有和数据库中特征很好的匹配的特征点可以被忽略掉。考虑一种方法是对最近邻的欧氏距离设定一个全局的阈值,实验表明这种方法的效果并不是很好,因为有些特征具有很强的区分性,而另一些则要弱一些,所以全局的阈值不合适。另一种方法是利用最近邻和次最近邻的相对值。
3 基本矩阵和本质矩阵
3.1 基本矩阵
两幅图像之间的基本矩阵是极几何的代数刻画。对于两幅图像上的一对匹配点xx',满足:x'T Fx=0 (4)
式中F称为基本矩阵或基础矩阵。基本矩阵F由两幅图像的摄像机内外参数决定,一般采用八点算法或改进的RANSAC八点算法。
3.2 本质矩阵
本质矩阵E仅与摄像机的运动有关,在相差一个非零因子的意义下可以表示为:
E=[t]×R=R[RT t]× (5)
本质矩阵和基本矩阵之间满足下述关系:
E=K'T FK (6)
根据给定的摄像机内参数K和已经求出的基本矩阵F,通过式(6)即可求出本质矩阵E。
4 本质矩阵的分解
对前面求得的本质矩阵E进行SVD分解,设 E=UAVT (7)
定义一个正交矩阵W和一个反对称矩阵Z,
(8)
对E进行因式分解,即E=TRj,其中T=UZUT,而R1=UWVT或R2=UWVT。
令t为U的第三列元素组成的向量,将世界坐标系设在第一个摄像机坐标系下,即设第一幅圖像的摄像机矩阵为 P=C[I|0] (10)
此时,第二个摄像机矩阵P'则有四种可能,即
P'=[R1|t] 或P'=[R1|-t] 或P'=[R2|t] 或 P'=[R2|-t] (11)
这四个P'中只有一个使得三维重建后的点均落在两个摄像机前方,即满足
x3X4>0且x'3X4>0 (12)
满足式(12)的P'即为所求的第二个摄像机矩阵。
通过本质矩阵E的SVD分解恢复了R和t,即两个摄像机的相对位移和旋转,进而恢复了两个摄像机矩阵,即
P=K[I|0]和P'=K[R|t] (13)
5 三角化原理
根据前面求出的摄像机投影矩阵P和P',及两幅图像的对应点x和x',可以计算出空间点X的三维坐标。根据三角化原理,对应点x和x'的反投影线与摄像机之间的基线构成一个三角形,两条反射线必相交于空间中一点,该点处于两台摄像机光心和投影点的延长线上,即空间点X。
空间点X的坐标求解如下:
摄像即投影矩阵:
(14)
对应点x=[x,y,1]T,x'=[x',y',1]T (15)
根据λx=PX,得(λx)×(PX)=0,即 xP3T X-P1T X=0 (16)
yP3T X-P2T X=0 (17)
xP2T X-yP1T X=0 (18)
这样就得到一等式Ax=0,其中
(19)
然后通过最小二乘法即可解得三维坐标X。
6 三维重建的算法流程
(1)给定摄像机的内参K,并用该摄像机生成两幅同一场景不同角度的图像;
(2)利用SIFT方法对两幅图像进行特征检测,并对其特征匹配;
(3)利用匹配点,使用RANSAC的八点算法计算基本矩阵F;
(4)利用摄像机内参数K和基本矩阵F求出本质矩阵E;
(5)对E进行SVD分解,从而恢复两个摄像机矩阵P和P';
(6)依据投影矩阵,用三角化法重建出三维点。
7 总结
本文介绍了一种基于两幅图像的空间稀疏点的三维重建的原理,总结了基于两幅图像的三维重建算法流程。
参考文献
[1]Richard Hartley and Andrew Zisserman. Multiple View Geometry in Computer Vision[M].Second Edition.United Kingdom:Cambridge University Press,2003:237-408.
[2]PoLLEFEYS M,van GooL L.Visual modeling with a hand-held camera[J]. International Journal of Computer Vision,2004,59(03):207-232.
[3]FAUGERAS O,ROBERT L,LAVEAU S.3D reconstruction of urban seenes from image sequences[J].Computer Vision and Image Undersdanding,1998,69(03):292-399.
[4]朱庆生,罗大江等.基于多幅图像的三维重建[J].计算机工程与设计,2010,31(10):2351-2353.
作者简介
李晓芳(1987-),女,山西省忻州市人。山西大学研究生硕士,助教。研究方向为计算机视觉、图像处理。
作者单位
山西工商学院 山西省太原市 030006