一种三维模型重建方法

文档序号:6482088阅读:464来源:国知局
专利名称:一种三维模型重建方法
技术领域
本发明涉及计算机视觉领域,具体涉及物体的三维计算机模型获取方法。
背景技术
三维模型重建方法是计算机视觉领域研究的热点问题之一。所谓三维 重建是从图像出发恢复出空间点三维坐标的过程。随着近二三十年的研 究,许多三维模型重建方法被应用于数字行销、虚拟导游、数字教育、艺 术产品展示、医学模拟、大型展示系统、教学影片等各类虚拟现实技术领 域。这类方法主要对实际物体的平面图像中收集二维数据,通过一定的三 维数据重构计算获取三维数据从而重建三维计算机模型。但由于这类方法 目前没有形成完整的工作流程,现有三维重建技术对操作人员的技术要求 较高,不利于普通用户的实际应用。发明内容本发明的目的在于提供一种基于二维图像序列的三维模型重建方法。 它使用数码相机拍摄所得二维图像序列,抽取图像中的二维信息,结合相 机标定算法与三维重构算法,计算二维数据所对应的实际三维数据,最后 使用模型构建技术将三维数据重建为三维计算机模型。为了达到上述发明目的,本发明提供一种基于二维图像的三维模型重 建系统及方法,所述方法使用一台数码相机作为设备基础,对所需重建的 实际物体进行图像采集最终计算生成三维模型,具体包括以下步骤一种三维模型重建方法,其特征在于,步骤如下 Sl-l:使用数码相机从不同角度对标定模板图像进行拍摄,取得标定 图像;S卜2:从S1 —l步骤中拍摄的每张图像中选取4个关键点,并取得关 键点的二维数据;51- 3:采用相机标定算法Jean-YvesBouguet的棋盘标定算法输入关键 点二维数据,计算出S1 —l步骤中相机拍摄图像的f参数;52- l:使用Sl所述相机,并用固定的焦距对实际三维物体拍摄系列图像;S2-2:从S2-1步骤拍摄的系列图像中提取物体的特征点二维数据;52- 3:采用8点重构算法计算出特征点三维数据;S3-l:根据S2 — 3步骤计算出的系列图像中实际三维图像特征点的三 维数据,使用三维数据构建法构建三维模型的基本面;53- 2:将三维模型基本面合并、加工成为完整的三维模型,即重建三 维模型。本发明所述的三维模型重建方法,其中所述Sl — l步骤中至少从5个不同角度对模板进行拍摄,所述的模板 是14*13黑白相间图样的方格模板;所述Sl-2步骤从每张图像中选取的关键点为4个,并且每个关键点在 每张图像中的位置的相同的;所述Sl-3步骤采用相机标定算法是Jean-Yves Bouguet的棋盘标定算法;所述S2-l步骤拍摄实际三维物体图像是从至少3个不同角度对实际 三维物体拍摄;每角度拍摄一张图像;所述S2-2步骤提取系列图像中物体的特征点二维数据,是从每张图像 中提取可构成需要几何图形的特征点。本发明方法主要具有以下特点和作用(1)形成一个具体完善的基于 二维图像序列的三维模型重建流程;(2)提高三维模型构建的效率;本发 明适用于对普通数码相机拍摄的二维图像还原图像中的实际物体的三维 计算机模型。普通技术人员只需要普通的数码相机及其所拍摄的图像,釆 用本方法,就能将所拍摄的二维模型构建成三维模型。4本发明方法解决了现有技术中在存的重建工作流程不完整、重建技术 慢、使用成本高、要求技术人员技术水平高的问题。下面对本发明作进一步的详述三维模型重建的整体流程大致为三个主要过程:相机^^定——三维数 据重构一一三维模型重建。根据算法流程的详细步骤,可以将这三个主要 过程细分为以下几部分-(1) 相机标定可分为三个子过程拍摄标定图片——提取标定图片关键 点二维数据——使用标定算法计算相机内部参数;(2) 三维数据重构可分为三个子过程拍摄三维物体图像——提取图像 上特征点二维数据——使用三维重构算法计算三维坐标数据;(3) 三维模型重建可分为三个子过程使用三维坐标数据构建三维物体 的基本三维形状——整合各面块模型形成整体模型——对整体模型加工。一个完善的三维计算机视觉系统应能从相机(摄像机)获取的影像信 息出发,计算三维环境物体的、形状等几何信息,并由此识别环境中的物 体。影像上每一点的亮度反映了空间物体表面某点反射光的强度,而该点 在影像上的位置则与空间物体表面相应点的几何位置有关,这些位置的相 互关系,由相机(摄像机)成像几何模型所决定,该几何模型的参数称为 相机(摄像机)参数(在摄影测量学中称作相机内方位元素),这些参数 必须同实验与计算来确定,实验与计算的过程称为相机标定(camera calibration,或定标)。关于相机标定的理论研究已经有许多优秀的理论 成果,本发明直接使用Jean-Yves Bouguet a.V.布吉特)所提供的相机棋盘标定算法-Camera Calibration Toolbox for MATLAB。关于三维重构算法,马毅在《An Invitation to 3-D Vision》 (http:〃vision.ucla. edu/MASKS/) —书中,从线性代数与矩阵理论的 基础上,对基于二维图像序列的三维重建的理论进行了详细叙述,提出 Eight-point algorithm with ref inement (完善的8点算法),本发明方法使用该算法作为算法基础。维坐标的点(二维像素点),经过重构算法的矩阵计算,计算出三维坐标。 由于该算法所应用的基础是已标定的相机模型,即已知相机内部参数矩阵K=A 烏 A 0 0 1,其中 称为扭曲常数(skew factor),是一个与coW成常数比例的数值,P即像素平面的两个坐标轴之前的夹角,由于这个夹 角一般为垂直,因此,^一般为0。、和、分别为横向和纵向的縮放比例, 也就是像素平面的长宽像素值。向量(^,o,)表示成像平面坐标系原点对于像素坐标系原点的平移向量。而本发明方法的应用范围为用户使用的一般 普通数码相机,对于其中^,我们使用0值,^和^值可由图像文件的像 素大小确定,^和^则分别是l/2的、和 。因此,最后需要确定的参数 为相机焦距f。本发明采用Jean-Yves Bouguet博士 ( J.V.布吉特博士 ) (http:〃www.vision.caltech.edu/bouguetj/index.html )提出棋盘禾示定算法为 求取相机内部参数/。即使用他的Camera Calibration Toolbox for MATLAB (http:〃www.vision.caltech.edu/bouguetj/calib_doc/ )来直接求得 /。关于算法的包装,本发明使用MATLAB提供的与高级语言(JAVA) 交互方法,将以上两种算法打包成为JAVA程序可以调用的库函数,从而 完成关于矩阵计算的任务。


图1是本发明三维模型重建方法的整体流程图; 图2是本发明相机标定模板及相机标定关键点示意图。 图中1、 2、 3、 4为从14*13黑白相间的方格模板图像中选取的4个关 键点。
具体实施例方式
下面结合实施例对本发明方法的具体内容进行详述
数码相机能够拍摄现实三维物体的二维图像,这些二维图像满足透视 成像原理的图像序列。在现实应用中,人们通过观察这些二维图像来理解 实际三维物体的结构,本发明能够将图像序列中的二维数据还原成直观的 三维计算机模型。
本实例所使用的二维图像序列为使用canon型号为Ixus 65的数码相 机采用其一固定焦距对某一建筑物拍摄所采集的二维图像序列。
运行本发明方法的设备为普通个人计算机,其具体配置为 Pentiun(R)4, 3. 00GHz, 1G内存,80G硬盘。软件平台为Windows XP以及 部署MATLAB R2008a及以上版本的科学计算引擎系统。
图1所示为一个三维模型重建的整体流程,其具体实施情况如下 Sl:对该数码相机进行标定,求取相机内部参数
(1) 将该数码相机调节到某一拍摄焦距并固定不变,使用该相机对
标定模板在不同角度进行拍摄。作为一个具体实施例,这里采用14*13 黑白相间的方格模板图样作为模板。并将所采集的标定图像输入计算机, 作为一个具体实施例,这里选取5张在不同角度所拍摄的标定图像。
理论上,图像越多,精度将越高,但是,如果图像数量越多,用户的 工作量将很大,作为精度与复杂度的折中考虑,本实施例将图像数量定为 5张,如果用户比较仔细的点击20个关键点,就能达到可以接受的精度要求。
(2) 选取上述步骤所采集的5张标定图像中的关键点二维像素坐标 数据,作为一个具体实施例,这里的关键点为图像中所显示的模板图像四 个角落上的第一个黑白格的交叉点,如说明书附图2中所示的关键点 1,2,3,4;选取关键点越多,焦距越准确。
(3) 将关键点二维像素坐标数据作为相机标定算法的输入,调用 MATLAB计算引擎运行相机标定算法计算该相机采用上述固定焦距时的相 机内部参数,并保存参数文件。
S2:提取二维图像中的特征点数据,对每个特征点进行三维数据重建:使用si所述相机及固定的焦距,对某一实际建筑物或三维物体拍摄系列
图像。作为一个具体实施例,本发明拍摄该建筑物大致为东南西北四个侧
面,对每一侧面拍摄三张不同角度的图像,形成一个包含12张图像的图 像序列。原则上拍摄两张以上即可,这是算法的要求。三张及以上,是为 了拥有足够的精度。当然拍摄张数越多,计算的精度将越高,但计算量将 越大。
从某一侧面的三张不同角度的图像序列中提取特征点二维像素坐标 数据,最好选取特征点为图像中所体现建筑物棱角的点;8点算法的基 本要求是至少选取不在同一物理平面的上的8个点作为重构关键点。8 点以上即可,具体选择多少个点,由用户自己决定。
调用MATLAB计算引擎运行8点重构算法计算上述步骤的特征点三维 坐标数据,并保存数据文件。
S3:根据所得三维数据重建三维模型
(1) 根据该建筑物某一侧面图像序列中所示三维特征,使用特征点 的三维数据构建基本三维模型。空间中的物体都是由 一些基本三维形状组 合而成,而这些基本的三维形状,又是由它们的基本点的三维坐标所确定, 例如一个球体,它的空间位置及形状,就由它的中心点坐标及半径长度确 定,如果我们知道它的中心点坐标及一个表面点的坐标,进一步就可以得 到它的半径,从而确定这样一个球体。发明人使用三维重构算法已经计算 出一些关键点坐标,因此,可以由这些关键点重建出一些具体的三维形状
(计算机图形学中的三维模型),称之为简单模型。最后将这些简单模型 组合成为一个大的模型,即重构完成图像中的实际三维物体的三维模型。
(2) 将基本三维模型合并与加工成为整体建筑物模型。由于利用三 维重构算法制作的模型只是三维物体其中某一个侧面的模型,即侧面模 型,侧面模型进行适当的比例縮放,然后将各个侧面模型合并形成整体三 维模型,这就是模型整合。此外,对于三维重构生成的毛坯模型,需要进 行材质与渲染等加工,使模型在视觉上更真实。并且,对于不同的应用, 模型加工完成后可能被用于不同场合。
权利要求
1.一种三维模型重建方法,其特征在于,步骤如下S1-1使用数码相机从不同角度对标定模板图像进行拍摄,取得标定图像;S1-2从S1-1步骤中拍摄的每张图像中选取至少4个关键点,并取得关键点的二维数据;S1-3采用相机标定算法的Jean-Yves Bouguet棋盘算法标定输入关键点二维数据,计算出S1-1步骤中相机拍摄的图像的f参数;S2-1使用S1所述相机,并用固定的焦距对实际三维物体拍摄系列图像;S2-2从S2-1步骤拍摄的系列图像中提取物体的特征点二维数据;S2-3采用8点重构算法计算出S2-2步骤选取的特征点三维数据;S3-1根据S2-3步骤计算出的系列图像中实际三维图像特征点的三维数据,使用三维数据构建法构建三维模型的基本面;S3-2将三维模型基本面合并、加工成为完整的三维模型,即重建三维模型。
2.根据权利要求1所述的三维模型重建方法,其特征是所述S1 —1步骤中至少从5个不同角度对相机标定模板进行拍摄,所 述的模板是14*13黑白相间图样的方格模板;所述Sl-2步骤从每张图像中选取的关键点为4个,并且每个关键点 在每张图像中的位置的相同的;所述S2-l步骤拍摄实际三维物体图像是从至少3个不同角度对实际 三维物体拍摄,每角度拍摄一张图像;所述S2-2步骤提取系列图像中物体的特征点二维数据,是从每张图像 中提取可构成需要几何图形的特征点。
全文摘要
本发明涉及一种三维模型重建方法,用于计算机视觉技术领域。步骤如下对数码相机进行标定,求取相机内部参数;提取二维图像序列中的特征点数据,对每个特征点进行三维数据重建;根据所得三维数据重建三维模型。本发明能够实现一个完整的基于二维图像序列的三维计算机模型重建流程,提高三维模型重建的效率。
文档编号G06T17/00GK101593358SQ200910040579
公开日2009年12月2日 申请日期2009年6月25日 优先权日2009年6月25日
发明者晓 李, 嬿 胡, 谷德权 申请人:汕头大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1