三维重建的步骤
(1) 图像获取:在进行图像处理之前,先要用摄像机获取三维物体的二维图像。光照条件、相机的几何特性等对后续的图像处理造成很大的影响。
(2)摄像机标定:通过摄像机标定来建立有效的成像模型,求解出摄像机的内外参数,这样就可以结合图像的匹配结果得到空间中的三维点坐标,从而达到进行三维重建的目的。
(3)特征提取:特征主要包括特征点、特征线和区域。大多数情况下都是以特征点为匹配基元,特征点以何种形式提取与用何种匹配策略紧密联系。因此在进行特征点的提取时需要先确定用哪种匹配方法。
大势智慧是一家专注于真实世界三维数字化重建及三维数据服务的高新技术企业,公司在城市高精度三维建模、模型应用及语义化理解和文化遗产数字化保护领域具有***的技术优势和丰富实践经验。
PCL部分常用的算法模块:
libpcl I/O:完成数据的输入、输出过程,如点云数据的读写;
libpcl filters:完成数据采样、特征提取、参数拟合等过程;
libpcl register:完成深度图像的配准过程,例如迭代zui近点算法;
libpcl surface:完成三维模型的表面生成过程,包括三角网格化、表面平滑等。
表面生成的目的是为了构造物体的可视等值面,常用体素级方法直接处理原始灰度体数据。Lorensen提出了经典体素级重建算法:MC(Marching Cube,移动立方体)法。移动立方体法首先将数据场中八个位置相邻的数据分别存放在一个四面体体元的八个顶点处。对于一个边界体素上一条棱边的两个端点而言,当其值一个大于给定的常数T,另一个小于T时,则这条棱边上一定有等值面的一个顶点。然后计算该体元中十二条棱和等值面的交点,并构造体元中的三角面片,所有的三角面片把体元分成了等值面内与等值面外两块区域。连接此数据场中的所有体元的三角面片,构成等值面。合并所有立方体的等值面便可生成完整的三维表面。
利用相机进行三维重建已经不是一个新鲜的话题,重建的三维环境用途很广泛,
比如检测识别目标,作为深度学习的输入,视觉SLAM。
目前,比较流行的是单、双目的重建。
稀疏重建:
通常是重建一些图像特征点的深度,这个在基于特征的视觉SLAM里比较常见,得到的特征点的深度可以用来计算相机位姿。稀疏重建在实际应用,比如检测,避障,不能满足需求。
版权所有©2024 天助网