找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于IBR的三维重建新方法

[复制链接]
admin 发表于 2013-3-24 17:05:53 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 在研究普通的平面图像的基础上,基于图像渲染(IBR)提出了一种新的建立立体模型的方式。能对普通的平面单幅图像进行特征点提取,从而半自动地生成所需要的立体效果。该方法直接从图像中提取信息,渲染出具有照片真实感的模型。实验结果表明,利用该系统渲染的三维模型准确真实,能够满足虚拟现实等应用的需要。
关键词: 基于图像的渲染; 特征点; 三维重建; 相机标定
       基于图像的渲染IBR(Image-Based Rendering)是计算机视觉领域一直备受关注的课题之一。其目的是从普通的平面图像中提取出必要的信息,通过一些方式得到具有照片真实感的立体渲染效果。目前,虚拟场景或者商品的建造主要使用基于几何建模的方法、基于图像绘制的方法和将两者结合应用的方法[1]。
    基于几何建模的方法目前应用比较广泛,有很多比较成熟的建模软件工具。这种传统的方法制造的虚拟场景具有良好的交互性,选取的视点自由,但是也有一些明显的缺陷,主要是针对于大规模的场景重建计算量太大,而且真实感并不如图像绘制得到的效果那么好[2]。而基于图像的绘制一般使用一些实景照片,根据所拍的视角方向来确定最终绘制的效果。这种方法由于使用了真实场景的照片,因此具有比较好的沉浸感。此外,由于重建的工作大部分由计算机自动完成,因此可以大大减少传统手工建模的工作量,从而为大型场景的重建提供了一种比较高效的绘制方式[3]。
     现在的基于IBR的图像渲染技术一般分为基于单幅图像的渲染和基于多幅图像的渲染。针对多幅图像的渲染方法都有一个很难回避的问题,即特征点的匹配,至今没有特别有效的解决方法[4]。
     本文提出一种方法,绕过平常的二维到三维的转换算法,在直观的规则几何体上进行图像的绘制和纹理的映射,从而减少了计算量,实现了简便快捷的模型渲染。该方法对于相机内部参数没有要求,只需要拍摄的角度在一定的范围内,就可以得到真实感很强的渲染效果。
1 相机标定
     传统意义的渲染过程首先要做的就是相机的标定。一般拍照得到的相片都是实物在相机成像平面上的透视投影,照片上的点的位置和渲染的空间模型表面上的点有对应的几何关系。这是一种二维图像上的对应点与三维图像特征点之间的非线性关系,而这种关系就是由相机自身的成像几何模型决定的,拍照时的几何参数即为相机参数,这些参数可以由实验或者计算得到,这个过程就是平时所说的相机标定[5]。
     传统的相机标定方法是找一个高精度的标定基准体,用其本身的精确数据和所获得的图像数据进行匹配,进而求出相机的内部参数。这个过程主要有两方面的问题,首先,标定基准体不好找;其次,匹配过程太复杂,不容易实时掌控[6-7]。
     而在某些项目要求中,并不一定需要对这个过程进行严格的标定。在本方法中,只需适当考虑相机的定位就可以了,主要指相机拍摄的角度以及离目标商品的距离。项目的目的是得到规则商品的渲染模型,那么很多因素(诸如物体摆放的实际位置以及大小)就可以忽略不计了。
2 物品取景以及特征点标定
     图片的取景应尽量做到一次能够拍到物品的3个面,即前、侧、上3个面或者后、侧、下3个面,如图1(a)以及图1(b)所示。
    20121107050717457364078.gif
       由于此商品的边沿都是直线,因此其特征点很好把握,通过一个指定的MFC程序找到这些特征点的具体坐标位置。如图2(a)所示,在一张照片里面拍摄取景得到了前、侧、上3个面,这3个面上一共有7个特征点。给这7个特征点分别编号,按照拟定的顺序进行人工标定,然后将标定的坐标数据存储在一个特定位置,以方便下一步工作进行提取。同样地,把这个盒子的后3个面拍在另外一张照片上面,如图2(b)所示,把剩余的特征点也提取出来。
    20121107050717504234079.gif
       拟定的特征点顺序如表1所示。根据表1中的特征点顺序,可以把两幅图中的物品顶点位置完美对照起来。
    20121107050717551114080.gif
   3 渲染重建三维模型
     利用所得的特征点定义普通照片中的一些面片,然后计算纹理映射。由于这里应用的物品基本是形状规则的长方体,故得到的面片应该是四边形,本文的目标是把这种非规则的四边形映射成原来的矩形纹理贴图。可以采用线性插值的方法来解决这个问题。但是如果特征点的连线沿某个方向变形的比例很大,那么就需要使用一个滤波器来改变其原有的比例,变换完成以后再变换回去得到比较合理的纹理映射。如果面片是非规则的形状,也可以采用将其变形为矩形区域的方法进行处理,然后再用相应的图像处理软件将一些区域透明化,这样就得到原来物品的真实效果。
     实验得到的渲染效果真实感和原物体几乎完全相符,效果如图3所示。
    20121107050717582364081.gif
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-26 11:27 , Processed in 0.058154 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表