基于标定物的相机标定及三维重建.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于标定物的相机标定及三维重建   摘要:针对传统三维建模的局限性,讨论了一种基于图像建模的技术,提出了利用普通相机和标定物对物体进行三维建模的方法,该方法利用一个在左右图像都存在的物体,对相机进行标定[1]。然后利用左右相机的相机矩阵,反算空间中的对应点和需要求取的关键点。最后利用这些点计算出来的空间位置[2],对物体进行重建,并用OpenGL进行漫游显示。实验表明,该算法计算准确,鲁棒性很高,能够满足于虚拟现实的需要。   关键词:标定;标定物;三维重建;OpenGL   中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2008)11-20356-03      1 引言      三维建模的需求越来越多,通过建模软件如AutoCAD,3Dmax等建模有时难以满足现实需要。本文讨论了一种基于图像的建模。基于图像建模,有很多方法,文献[3-5]提出基于基本矩阵的方法进行分析。通过用普通数码相机拍照,本文使用基于标定的方法,首先都左右相机进行标定,然后依据标定的相机,基于双目计算空间点的位置,最后在OpenGL[6,7,8]中进行显示,试验表明本方法是切实有效的。      2 计算相机矩阵      若想由图像像素位置计算出空间点的3D世界坐标,必须要知道摄像机矩阵。求摄像机矩阵的过程就是摄像机的标定过程,也就是建立图像像素点位置与空间点位置之间的关系。这里,仅对线性模型摄像机标定做介绍。   由一对对应点能得到两个线性方程,即由一个空间点位置和它相应的图像像素位置可以建立两个方程。而摄像机矩阵中包含有11个未知数,为了求出这11个未知数,必须至少有11个方程才能解出。因此,就需要至少6个已知的空间点。这些点叫做标定点,它们的特点是:其相对于世界坐标系的位置在标定时应精确测定;随后用摄像机获取这些点的图像,得到标定点在图像上的像素位置;最后通过解方程组,计算出摄像机矩阵,也就完成了摄像机的标定。在有些研究中可能需要知道摄像机的内外部参数,那么就可以通过分析摄像机矩阵,进一步得到这些内外部参数。在本文的实验中,目的是计算空间点的世界坐标,只需要摄像机矩阵就足够了,因此这里对于进一步分解摄像机矩阵不在做介绍。   设共有n个标定点,每个标定点的世界坐标为(xi,yi,zi),图像坐标为(ui,vi),i∈[1,n]。由于一个标定点就对应两个方程,因此最终有2n个线性方程,所得的方程组用矩阵形式表示为:      如果将上式左边的2n×11矩阵设为K,c为未知的11维向量,U为上式右边的2n维向量,K和U都是已知向量,那么上式就可以简化成:   Kc=U   因为在上面已经提到本文实验应用的是线性模型,所以也是用线性最小二乘法来求解。在标定过程中,标定点的个数越多,使得方程的个数大大超过未知数的个数,从而用最小二乘法求解以降低误差造成的影响。当2n11时,用最小二乘法求得的解为:      注:实际中可以在场景中放置一个盒子等物体,利用盒子边界定点进行标定。如:利用图像中左边的烟盒对左右相机进行标定,就可以对场景中的其他物体(如右边的鼠标盒子)进行计算边界点的位置。      通过上面的步骤,已经对摄像机进行了标定,并得出了世界坐标系和实际长度之间的缩放比例,      3 计算空间点位置      已知了两台摄像机的摄像机矩阵,那么就可以由此光斑的像素点计算出对应的空间点3D世界坐标。设左右摄像机图像上的像点坐标分别为[r1,c1]和[r2,c2],待求光斑的空间点3D世界坐标为[x,y,z]。由可得:      由上面两个公式,去掉齐次坐标s和t,就能得到下面的4个线性方程,其中包含有3个未知数x、y和z,也就是所要求的空间点3D世界坐标。显然这个方程组是可以解出的。从光学的角度来说,就是两条投影线空间相交,从而找到相交点的三维空间坐标。      通过求解上面的方程求解出世界坐标点[x,y,z]位置。      4 精度比较与分析      这种方法精度较高,适用面比较广泛。拿盒子程序为例:   左边是我们在标定相机过程中给出的真实位置点,右边是利用上面的方法反算出标定物的位置点。      我们可以看出误差比较大的点如划线部分标出,误差为0.568938/45≈1.2%,其他点的误差基本上都在1.0%以下。由此可以看出此种方法精度还是相当高的。      5 OpenGL中的显示      我们对首先利用一个箱子标定左右相机,然后跟据标定的相机,计算烟盒以及旁边鼠标盒的坐标,最后进行的显示,试验截图如下:      6 结论      随着三维技术的发展,三维模型在各个领域中特别是虚拟现实[9,10]的应用越来越广

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档