1.基于深度相机的室内实时三维重建方法,其特征在于,包括以下步骤:步骤1:获取室内场景的深度图和彩色图像;
步骤2:利用基于孔洞邻域深度值与彩色信息的深度孔洞补全算法补全深度图的孔洞;
步骤3:利用棋盘格标定法求取相机内参,依据相关坐标系的转换原理,将深度图转换为点云,利用体素滤波法对点云进行降采样;
步骤4:使用改进的SURF算法进行特征点的检测与匹配,求取初值位姿参数估计;
步骤5:使用ICP point‑to‑plane算法配准点云,再使用特征点法联合直接法实现位姿追踪;
步骤6:使用词袋法完成回环检测,对检测到的闭环进行优化;
步骤7:依据TSDF阶段距离符号函数构造网状地图并利用移动立方体MC算法重建物体表面,利用通过加权融合完成纹理映射,得到室内物体的三维重建模型。
2.如权利要求1所述的基于深度相机的室内实时三维重建方法,其特征在于,所述步骤
2为:设置有效深度值,对于像素点的长度大于有效值的孔洞采用插值法进行孔洞补全,对于像素点的长度不大于有效值的孔洞,依次采用孔洞邻域深度值孔洞补全与彩色信息的深度补全方法进行孔洞补全;
其中对于像素点的长度不大于有效值的孔洞,具体操作为:
步骤2.1,根据有效深度值将孔洞类型分为两类:在有效深度值的右侧的孔洞,在有效深度值的左侧的孔洞,对于上述两类孔洞分别采用从左侧索引、从右侧索引方法来补全孔洞;
步骤2.2,经过2.1孔洞填充后采用彩色信息的深度补全方法进行进一步孔洞补全,公式如下:其中设置彩色信息的高斯权重为wRGB,在有效深度值的右侧的孔洞为第一类孔洞,权值为wRGB1,在有效深度值的左侧的孔洞为第二类孔洞,权值为wRGB2;σRGB表示高斯权重为wRGB的标准差,Jk为判断是在第一类还是第二类孔洞,v(i)为考虑邻域深度值和斜率的深度值,v(i)final增加了色彩信息的限制,Lvalid为可用深度值长度,Lmiss为孔洞长度,N为邻域的彩色信息的集合,v(i)final为i处最终补全的深度值。
3.如权利要求1所述的基于深度相机的室内实时三维重建方法,其特征在于,所述步骤
2.1中当孔洞延伸到当前对象中最右侧的像素,从左侧索引深度值向右传播,依次填补孔洞,具体计算公式为:v(i)=v(i‑1)+[v(i‑L)‑v(i‑L‑1)]×slope (1)其中i为像素点,v(i)为考虑斜率和邻域的补全处深度值,slope为斜率,L为孔洞长度:斜率slope初始化设置为1,v0(i)被初始化为零,即v0(i)=0,其中slope和v0(i)的求解公式为:v0(i)=v(i‑1)+v(i‑L)‑v(i‑L‑1) (3)所述步骤2.1中当孔洞在有效深度值的左侧时,从右侧索引深度值,向左依次进行填补,具体的采用公式(4)进行填补:v(i)=v(i‑1)+[v(i+L)‑v(i+L+1)]×slope (4)其中slope和v0(i)的求解公式为:
v0(i)=v(i+1)+v(i+L)‑v(i+L+1) (6)。
4.如权利要求1所述的基于深度相机的室内实时三维重建方法,其特征在于,所述步骤
3包括:
步骤3.1,相机内参的求取:从不同角度拍摄18张以上三维场景中的一个平面棋盘格图像;标定棋盘是特制的,通过角点的提取算法得到交点坐标;得到棋盘平面和图像平面的单应性矩阵,最终使用SVD分解求解最小二乘,得到相机的各个内参数相机x、y轴的焦距fx,fy,相机光轴在图像坐标系中的偏移量Cx,Cy;
步骤3.2:深度图转换为点云的过程,定义邻近的像素点所对应的每个光束相差,并设置六自由度,利用PCL点云库pcl::common模块中的pcl_range_image完成深度图到点云的转换,由深度图(u,v)转换为世界坐标系下的点云(xw,yw,zw)依据如下公式,其中ZC为该点深度值,f为相机焦距,式(11)描述了点(u,v)在世界坐标系下的点云坐标为(xw,yw,zw);
步骤3.3:利用统计滤波法移除离群点,再利用体素滤波法完成点云降采样;具体的为:步骤3.3.1:对于每个点,在统计滤波法中先计算它到所有相邻点的平均距离;假设得到的分布是高斯分布,计算出一个均值μ和一个标准差σ;
步骤3.3.2:计算所有平均距离的均值μ与标准差σ,则距离阈值dmax表示为dmax=μ+α×σ,α是一个常数,可称为比例系数;再次遍历点云,剔除与k个邻居点的平均距离大于dmax的点则被视为离群点,并从点云数据中去除,完成统计滤波;
步骤3.3.3:体素滤波使用AABB包围盒将点云数据体素化,通过体素网格去除噪音点及离群点。
5.如权利要求1所述的基于深度相机的室内实时三维重建方法,其特征在于,所述步骤
4包括:
步骤4.1,角点检测依据检测某个像素点与其邻域点的像素值的差别大小决定该点是否为角点,图像中任选一个像素点并设其亮度为Ia,设定阈值k,以选取的点p为中心,搜索以p为圆心,并获取亮度;若选取的点中有连续N个,其亮度I>Ia+k或I<Ia‑k,则该点可被定义为Fast特征点,N的取值为9,循坏以上步骤,直到遍历完所有像素点;在该特征点邻域范围内,若拥有足够多的灰度值变化较大的点,则该点被视为特征点;
步骤4.2,特征点筛选:将提取到的特征点利用四叉树划分,设置四叉树的划分网格数为25,所有特征点均落入25个网格内,选取每个网格中FAST特征点响应值最高的特征点作为特征点,从而实现特征点均匀化;再加入3层高斯像素金字塔与缩放因子,金字塔模板逐层递减,分别提取不同尺度下的特征,增强特征点的鲁棒性;最后加入欧氏距离,决定提取的特征点的数量,完成特征点的筛选过程;
步骤4.3,特征点描述:在关键点邻域选取边长为20s的矩形框,将其划分为16个等大的矩形,选择利用尺寸2s的harr计算求得响应,最长矢量的方向作为主方向,再统计响应值生成特征矢量∑|dy|、∑dx、∑|dx|、∑dy;
步骤4.4,特征匹配:如果欧式距离小于设定阈值,则认为特征点匹配成功;或者利用Hessian矩阵的迹作为判断依据,特征点构成的矩阵的迹的符号相同,则证明特征点间的方向相同,特征点匹配成功。
6.如权利要求1所述的基于深度相机的室内实时三维重建方法,其特征在于,所述步骤
5具体的为:
步骤5.1:输入步骤3获取的.pcd格式的点云;
步骤5.2:利用ICP point‑to‑plane算法配准点云,具体步骤如下:步骤5.2.1:计算点集的重心位置坐标,并进行点集中心化生成新的点集;
步骤5.2.2:由新的点集计算正定矩阵N,并计算N的最大特征值及其最大特征向量;
步骤5.2.3:由于最大特征向量等价于残差平方和最小时的旋转四元数,将四元数转换为旋转矩阵R;
步骤5.2.4:确定R后,平移向量t仅仅是两个点集的重心差异;
式(12)描述需最小化的误差函数J,pi为源点集,pi′为目标点集:旋转分量R的表达式,:
平移分量t的表达式:
* *
t=p‑R·p′ (14)步骤5.3,结合特征点法联合直接法获取最佳的相机位姿估计结果。
7.如权利要求1所述的基于深度相机的室内实时三维重建方法,其特征在于,所述步骤
6具体的为:
步骤6.1:实现特征字典的创建:利用SURF特征描述算法创建字典并训练,且利用kd树划分字典,其中的参数设置为:分枝数k=10,深度d=5;
步骤6.2:完成字典的构建过程:将提取到的图像特征存放至容器内,再调用DBoW字典生成接口;
步骤6.3:使用TF‑IDF的加权方法判断是否产生回环;利用L1范数表示两幅图像X,Y之间的差异;
步骤6.4:若当前帧与之前某关键帧的相似度超过当前帧与上一关键帧相似度的3倍,就认为存在回环,将信息传递给后端进行优化处理;即空间上保持一致时,则对回环检测到的两个帧进行特征匹配,再估计相机运动;回环检测产生比后端更加紧凑、准确的约束,这一约束条件可以形成一个拓扑一致的轨迹地图;如果能够检测到闭环,并对其优化,就可以消除累计误差。
8.如权利要求1所述的基于深度相机的室内实时三维重建方法,其特征在于,所述步骤
7具体的为:
步骤7.1:使用八叉树表达点云数据;
步骤7.2:使用已知的点云数据估计一个潜在曲面的隐式表达函数;利用该函数对八叉树节点的顶点进行分类,分别标记为曲面的里面和外面;
步骤7.3:采用MC移动立方体算法提取三角网格表面;
步骤7.4:按照加权方式融合网格色彩的值,得到具备彩色纹理的三维重建模型。