三维重建的步骤
(1) 图像获取:在进行图像处理之前,先要用摄像机获取三维物体的二维图像。光照条件、相机的几何特性等对后续的图像处理造成很大的影响。
(2)摄像机标定:通过摄像机标定来建立有效的成像模型,求解出摄像机的内外参数,这样就可以结合图像的匹配结果得到空间中的三维点坐标,从而达到进行三维重建的目的。
(3)特征提取:特征主要包括特征点、特征线和区域。大多数情况下都是以特征点为匹配基元,特征点以何种形式提取与用何种匹配策略紧密联系。因此在进行特征点的提取时需要先确定用哪种匹配方法。
特征点提取算法可以总结为:基于方向导数的方法,基于图像亮度对比关系的方法,基于数学形态学的方法三种。
(4)立体匹配:立体匹配是指根据所提取的特征来建立图像对之间的一种对应关系,也就是将同一物理空间点在两幅不同图像中的成像点进行一一对应起来。在进行匹配时要注意场景中一些因素的干扰,比如光照条件、噪声干扰、景物几何形状畸变、表面物理特性以及摄像机机特性等诸多变化因素。
(5)三维重建:有了比较精确的匹配结果,结合摄像机标定的内外参数,就可以恢复出三维场景信息。由于三维重建精度受匹配精度,摄像机的内外参数误差等因素的影响,因此首先需要做好前面几个步骤的工作,使得各个环节的精度高,误差小,这样才能设计出一个比较精确的立体视觉系统。
三维重建的英文术语名称是3D Reconstruction.
三维重建是指对三维物体建立适合计算机表示和处理的数学模型,是在计算机环境下对其进行处理、操作和分析其性质的基础,也是在计算机中建立表达客观世界的虚拟现实的关键技术。
在计算机视觉中, 三维重建是指根据单视图或者多视图的图像重建三维信息的过程. 由于单视频的信息不完全,因此三维重建需要利用经验知识. 而多视图的三维重建(类似人的双目定位)相对比较容易, 其方法是先对摄像机进行标定, 即计算出摄像机的图象坐标系与世界坐标系的关系.然后利用多个二维图象中的信息重建出三维信息。
物体三维重建是计算机辅助几何设计(CAGD)、计算机图形学(CG)、计算机动画、计算机视觉、医学图像处理、科学计算和虚拟现实、数字媒体创作等领域的共性科学问题和核心技术。在计算机内生成物体三维表示主要有两类方法。一类是使用几何建模软件通过人机交互生成人为控制下的物体三维几何模型,另一类是通过一定的手段获取真实物体的几何形状。前者实现技术已经十分成熟,现有若干软件支持,比如:3DMAX、Maya、AutoCAD、UG等等,它们一般使用具有数学表达式的曲线曲面表示几何形状。后者一般称为三维重建过程,三维重建是指利用二维投影恢复物体三维信息(形状等)的数学过程和计算机技术,包括数据获取、预处理、点云拼接和特征分析等步骤。
三维重构算法得看你用什么传感器了,如果是双目相机,那一般都是极线几何加视觉特征配准的算法了,优化就用bundle
adjustment。如果是单目,较早的有PTAM,DTAM,近几年struct from
motion比较火。如果是用Kinect之类的RGBD相机,比较好的有微软的KinectFusion,PCL的开源KinFu,以及MIT的加强版
Kintinuous。如果用激光,那一般都是当SLAM做了,前端嘛就各种ICP配准算法了,后端的话,三维中主要还是用图优化来做。
三维重建一般用的是matlab或者c++库opencv实现,另外三维重建重要的是算法流程,跟数学、光学等关系比较,只是实现部分跟计算机程序有关,跟it关系并不大,当然,刚开始学的时候是要会写代码实现前人已有的算法的,熟了之后再慢慢改进医学上的三维重建原理也类似,只是处理对象不一样,处理方法会有不同,这些方面的知识一般的书上是没有的,有也不够,要多下载一些相关的论文下来看,百度文库和万方里面有很多,不过说实话,国产论文看起来很郁闷,当然了,看多了还是很有收获的,我做双目视觉三维重建断断续续三个月了,差不多快完了,感觉还是做纯粹的软件项目比较痛快。
顺便说一下,这个主要是基于图像处理,图形学只是最后显示重建结果的时候用到,例如用opengl显示重建的三维物体,图形学和图像处理是不同的的。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:2.690秒