S121:采用Kintinuous框架,进行视觉里程计估计,得到每帧深度图像下的相机位姿信息。
S122:根据相机位姿信息,将由每帧深度图像对应的点云数据反投影到初始坐标系下,用投影后得到的深度图像与初始帧的深度图像进行相似度比较,并当相似度低于相似度阈值时,初始化相机位姿,进行分段。
S123:提取每一分段点云数据中的PFFH几何描述子,并在每两段之间进行粗配准,以及采用GICP算法进行精配准,得到段与段之间的匹配关系。
本步骤对段与段之间做闭环检测。
S124:利用每一分段的位姿信息以及段与段之间的匹配关系,构建图并采用G2O框架进行图优化,得到优化后的相机轨迹信息,从而实现全局优化。
本步骤在优化时应用(Simultaneous Localization and Calibration,SLAC)模式改善非刚性畸变,引入line processes约束删除错误的闭环匹配。
上述步骤S122还可以具体包括:
S1221:计算每帧深度图像与第一帧深度图像的相似度。
S1222:判断该相似度是否低于相似度阈值,若是,则执行步骤S1223;否则,执行步骤S1224。
S1223:对深度图像序列进行分段。
本步骤基于视觉内容对深度图像序列进行分段处理。这样既可以有效地解决视觉里程计估计产生的累积误差问题,又可以将相似的内容融合在一起,从而提高配准精度。
S1224:对深度图像序列不进行分段。
S1225:将下一帧深度图像作为下一分段的起始帧深度图像,并重复执行步骤S1221和步骤S1222,直至处理完所有帧深度图像。
在上述实施例中,计算每帧深度图像与第一帧深度图像的相似度的步骤具体可以包括:
S12211:根据投影关系和任一帧深度图像的深度值,并利用下式计算深度图像上每个像素所对应的第一空间三维点:
p=π-1(up,Z(up))
其中,up是深度图像上的任一像素;Z(up)和p分别表示up对应的深度值和第一空间三维点;π表示投影关系,即每帧深度图像对应的点云数据反投影到初始坐标系下的2D-3D投影变换关系。
S12212:根据下式将第一空间三维点旋转平移变换到世界坐标系下,得到第二空间三维点:
q=Tip
其中,Ti表示第i帧深度图对应空间三维点到世界坐标系下的旋转平移矩阵,其可以通过视觉里程计估计得到;i取正整数;p表示第一空间三维点,q表示第二空间三维点,p和q的坐标分别为:
p=(xp,yp,zp),q=(xq,yq,zq)。
S12213:根据下式将第二空间三维点反投影到二维图像平面,得到投影后的深度图像:
其中,uq是q对应的投影后深度图像上的像素;fx、fy、cx和cy表示深度相机的内参;xq、yq、zq表示q的坐标;T表示矩阵的转置。
S12214:分别计算起始帧深度图像和任一帧投影后的深度图像上的有效像素个数,并将两者比值作为相似度。
举例来说,根据下式来计算相似度:
其中,n0和ni分别表示起始帧深度图像和任一帧投影后的深度图像上的有效像素个数;ρ表示相似度。
图3示例性地示出了基于视觉内容分段融合、配准的流程示意图。
本发明实施例采用基于视觉内容自动分段算法,能有效降低视觉里程计估计中的累积误差,提高了配准精度。
S130:根据处理结果,进行加权体数据融合,从而重建室内完整场景三维模型。
具体地,本步骤可以包括:根据基于视觉内容的分块融合和配准处理结果,利用截断符号距离函数(TSDF)网格模型融合各帧的深度图像,并使用体素网格来表示三维空间,从而得到室内完整场景三维模型。
本步骤还可以进一步包括:
S131:基于噪声特点与兴趣区域,利用Volumetric method框架进行截断符号距离函数数据加权融合。
S132:采用Marching cubes算法进行Mesh模型提取。
在实际应用中,可以根据视觉里程计的估计结果,利用TSDF网格模型融合各帧的深度图像使用分辨率为m的体素网格来表示三维空间,即每个三维空间被分为m块,每个网格v存储两个值:截断符号距离函数fi(v)及其权重wi(v)。
其中,可以根据下式来确定截断符号距离函数:
fi(v)=[K-1zi(u)[uT,1]T]z-[vi]z
其中,fi(v)表示截断符号距离函数,也即网格到物体模型表面的距离,正负表示该网格是在表面被遮挡一侧还是在可见一侧,而过零点就是表面上的点;K表示相机的内参数矩阵;u表示像素;zi(u)表示像素u对应的深度值;vi表示体素。其中,该相机可以为深度相机或深度摄像机。
其中,可以根据下式进行数据加权融合:
其中,fi(v)和wi(v)分别表示体素v对应的截断符号距离函数(TSDF)及其权值函数;n取正整数;F(v)表示融合后体素v所对应的截断符号距离函数值;W(v)表示融合后体素v所对应的截断符号距离函数值的权重。
在上述实施例中,权值函数可以根据深度数据的噪声特点以及兴趣区域来确定,其值是不固定的。为了保持物体表面的几何细节,将噪声小的区域以及感兴趣区域的权值设置得大,将噪声大的区域或不感兴趣区域的权值设置得小。
具体地,权值函数可以根据下式来确定:
其中,di表示兴趣区域的半径,半径越小表示越感兴趣,权值越大;δs是深度数据中的噪声方差,其取值与自适应双边滤波算法空间域核函数的方差一致;w为常数,优选地,其可以取值为1或0。
图4示例性地示出了加权体数据融合过程示意图。
本发明实施例采用加权体数据融合算法可以有效保持物体表面的几何细节,能够得到完整、准确、精细化的室内场景模型,具有良好的鲁棒性和扩展性。