欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

三维重建基础 - 1.2.1 被动三维重建技术

最编程 2024-04-30 22:30:36
...

被动式一般利用周围环境如自然光的反射,使用相机获取图像,然后通过特定算法计算得到物体的立体空间信息。主要有以下三种方法:

1.纹理恢复形状法

各种物体表面具有不同的纹理信息,这种信息由纹理元组成,根据纹理元可以确定表面方向,从而恢复出相应的三维表面。这种方法称为纹理恢复形状法[6] (Shape From Texture,SFT)。
纹理法的基本理论为:作为图像视野中不断重复的视觉基元,纹理元覆盖在各个位置和方向上。当某个布满纹理元的物体被投射在平面上时,其相应的纹理元也会发生弯折与变化。例如透视收缩变形使与图像平面夹角越小的纹理元越长,投影变形会使离图像平面越近的纹理元越大。通过对图像的测量来获取变形,进而根据变形后的纹理元,逆向计算出深度数据。SFT对物体表面纹理信息的要求严苛,需要了解成像投影中纹理元的畸变信息,应用范围较窄,只适合纹理特性确定等某些特殊情形。所有在实际使用中较为少见。

2.阴影恢复形状法

SFS[7] (Shape From Shading,从阴影恢复形状)法也是一种较为常用的方法。考虑到图像的阴影边界包含了图像的轮廓特征信息,因此能够利用不同光照条件下的图像的明暗程度与阴影来计算物体表面的深度信息,并以反射光照模型进行三维重建。需要注意的是,像素点的亮度受到包括光源指标、摄像机参数、目标表面材质等的制约。
阴影恢复形状法的应用范围比较广泛,可以恢复除镜面外的各种物体的三维模型。缺点体现在过程多为数学计算、重建结果不够精细,另外不能忽视的是,SFS法需要准确的光源参数,包括位置与方向信息。这就导致其无法应用于诸如露天场景等具有复杂光线的情形中。

3.立体视觉法

立体视觉法[8](Multi-View Stereo,MVS)是另外一种常用的三维重建方法。主要包括直接利用测距器获取程距信息、通过一幅图像推测三维信息和利用不同视点上的两幅或多幅图像恢复三维信息等三种方式。通过模拟人类视觉系统,基于视差原理获取图像对应点之间的位置偏差,恢复出三维信息。S.T.Barnard[9]等人对20世纪70年代到80年代之间出现的三维重建的算法和评价体系做了概述。到了80年代中后期,出现了更多、更深层次的视觉原理,包括立体测量方法和深度传感器等,极大的促进了相关学科的发展。新兴方法可以直接获取景物的三维信息,极大的节省了物力与人力成本。U.R.Dhond[10]等人提出了基于层次处理的三目立体约束方法。二十世纪90年代末,涌现出诸如图像匹配的前沿算法、遮挡处理算法等。M.Z.Brown[11]等人总结了2000年到2010年间的三维视觉发展的总体概况,包括遮挡、配准和效率等的相关分析。
双目立体视觉重建,在实际应用情况优于其他基于视觉的三维重建方法,也逐渐出现在一部分商业化产品上; 不足的是运算量仍然偏大,而且在基线距离较大的情况下重建效果明显降低 。
代表文章:AKIMOIO T Automatic creation of 3D facial models 1993
CHEN C L Visual binocular vison systems to solid model reconstruction2007
作为计算机视觉的关键技术之一,立体视觉法也其弊端。例如,立体视觉需要假设空间的平面是正平面,而实际情况却与此相差甚远。除此之外,匹配还存在歧义性:对于一幅图像上的某些特征点,另外的图像可能存在若干个与之相似的特征点。那么如何选取最适配的匹配点,显得较为棘手。如图1-2所示,展示了Middlebury[16]数据集中Teddy和Cones场景的基准彩色图像、标准视差以及通过Graph Cuts[17]算法获取的立体匹配视差估计结果。虽然视差结果体现出了景物的三维位置关系,但是某些像素点的视差与标准值仍有细微的差距。除此之外,对于如相机运动参数的确定、大型场景重建需要获取多帧图像等问题,也极大的影响了立体视觉的深层次应用。
这里写图片描述
图1-2(a) 基准彩色图像
这里写图片描述
图1-2(b) 标准视差
参考:立体匹配导论

推荐阅读