一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于实时定位与建图算法的三维重建方法以及装置与流程

2022-02-19 00:48:37 来源:中国专利 TAG:


1.本发明涉及计算机立体视觉技术领域,特别地涉及一种基于实时定位与建图(simultaneous localization and mapping,slam)算法的三维重建方法以及装置。


背景技术:

2.三维重建技术在计算机图形学和计算机视觉技术领域中一直是热点话题。随着计算机硬件与软件的长足发展,凭借着中央处理器(cpu)和图形处理器(gpu)的卓越计算能力,三维重建技术的精度与逼真度也得到了极大地提升。同时,机器人、矿区以及建筑等领域也在三维重建的应用有了更加迫切的需求。三维重建技术以rgb图像作为输入,通过计算机图形学和计算机视觉技术计算出rgb图像在三维空间内的位姿并恢复出三维模型。三维重建技术的一个重点在于如何获取场景或者物体的深度信息。然而,传统基于图像的三维重建算法存在着可提取信息有限和计算复杂度过大的弊端,因而很难胜任结构复杂的地形或者是高精度的大范围三维重建。
3.针对三维重建,目前工业中多采取单目视觉方法,多目视觉方法以及基于深度相机的方法。单目视觉方法是指一种使用一台摄像机进行三维重建的方法。所使用的图片可为单视角的单幅或者多幅图像,也可为多视角的多幅图像。这种方式对设备要求简单可以满足大范围三维重建,但是存在图像的资源要求高,易受复杂环境干扰,运算量很大,三维重建的耗时较长的弊端。多目视觉方法原理上类似与单目视觉方法,但同样无法克服运算量大,重建运行时间长的问题。基于深度相机的方法可同时获取到rgb图像信息和深度信息,减少了纯视觉模型的深度估计时间,但仍存在数据量庞大导致的运行时间缓慢,深度数据存在误差导致的模型精度不高的问题。因此,亟需开发出高处理速度、高鲁棒性、高精度的三维重建方法和装置。


技术实现要素:

4.有鉴于此,本发明提出高处理速度、高鲁棒性、高精度的基于实时定位与建图算法的三维重建方法和装置。
5.本发明第一方面提出基于实时定位与建图算法的三维重建方法,包括:
6.步骤a:使用实时定位与建图算法获取三维点云地图及每时刻的位姿,同时在运行算法过程中采集渲染图片集并通过时间戳同步获得每张图像的位姿,最后通过标定算法得到相机内参;
7.步骤b:使用patchmatch算法将所述渲染图片集稠密化,得到稠密化结果;
8.步骤c:使用泊松表面重建技术将所述稠密化结果网格化,得到网格化结果;
9.步骤d:根据所述网格化结果、所述相机内参以及位姿,生成纹理图。
10.可选地,所述步骤a包括:
11.获取所述实时定位与建图算法生成的三维点云地图、相机内参k和位姿h,
12.通过统计滤波器去除所述三维点云地图中的飞点;
13.根据所述相机内参k、位姿h以及投影矩阵projection,通过计算式(1)为去除飞点后的所述三维点云地图中的每一个点p
i
分配对应可观测到该点的图像编号,以得到所述渲染图片集,其中投影矩阵projection为
[0014][0015]
计算式(1)为:
[0016]
p
i
=k
·
projection
·
h
·
p
i
[0017]
p
i
为相机中的像素点坐标,p
i
为世界坐标系中三维点的坐标,k为相机内参。
[0018]
可选地,所述步骤b包括:
[0019]
从所述渲染图片集依次取出连续两帧图像i
a
和i
b
,其图像的中心为c
a
和c
b
,对于两帧图像中的每一个像素点p
i
,在该点的视线viewray(c
a
,p
i
)上,根据计算式(2)找到一个平面f
pi
使得与领域帧的聚合代价最小,在遍历图像内所有像素点后,得到每一帧图像中每一个像素点的深度并通过深度图融合,得到所述稠密化结果,
[0020]
计算式(2)为:
[0021][0022]
其中f
p
i为最优平面,p
i
为图像内像素点,为视线viewray(c
a
,p
i
)上所有有限大小平面的集合,argmin
x∈χ
f(x)表示在x的取值集合χ中使得函数f(x)值最小的x的值,m(
·
)为聚合代价函数,其对应的计算式(3)为:
[0023][0024]
其中,为一个以p
i
为中心的正方形窗口,w(p
i
,q)为权重函数,ρ(
·
)为相似性计算方程,和为构成平面的三个参数。
[0025]
可选地,所述步骤c包括:
[0026]
对所述稠密化结果中的每一个点p
i
及其法向量n
i
采用自适应的空间网格划分方法,根据点集的位置定义八叉树,然后细分八叉树使得每一个采样点都在深度为d的叶节点;接着设置函数空间,对八叉树的每个节点设置空间函数f,f采用了盒滤波n维卷积;然后创建向量场,通过向量场v逼近指示函数的梯度;最后采用拉普拉斯矩阵迭代求解泊松方程,估计采样点的位置,然后用采样点的平均值进行等值面提取,然后用marching cubes算法得到等值面,以得到所述网格化结果,所述网格化结果中包括顶点v与面片face,每一个顶点v
i
由一组三维坐标确定,每一个面片face
i
由三个顶点v
i,j,k
的索引号组成。
[0027]
可选地,所述步骤d包括:
[0028]
根据所述网格化结果,根据渲染图片集中图像i,相机内参k及位姿h,生成每一个顶点v
i
所对应的纹理坐标texcoord
i
以及该坐标所对应的纹理图,然后进行渲染,在渲染过程中每一个面片face
i
通过视角选择来决定该面片由哪个特定的视角图像i
best
中的彩色信息作为显示,并将这一区域放入纹理图中,并记录该面片每个顶点对应的纹理坐标。
[0029]
本发明第二方面提出基于实时定位与建图算法的三维重建装置,包括:
[0030]
实时定位与建图模块,用于使用实时定位与建图算法获取高精度的三维点云文
件,所述三维点云文件包括三维点云地图、相机内参以及位姿,然后根据所述三维点云文件得到渲染图片集;
[0031]
稠密化处理模块,用于使用patchmatch算法将所述渲染图片集稠密化,得到稠密化结果;
[0032]
网络化处理模块,用于使用泊松表面重建技术将所述稠密化结果网格化,得到网格化结果;
[0033]
纹理图生成模块,用于根据所述网格化结果、所述相机内参以及位姿,生成纹理图。
[0034]
可选地,所述实时定位与建图模块还用于:
[0035]
获取所述实时定位与建图算法生成的三维点云地图、相机内参k和位姿h,
[0036]
通过统计滤波器去除所述三维点云地图中的飞点;
[0037]
根据所述相机内参k、位姿h以及投影矩阵projection,通过计算式(1)为去除飞点后的所述三维点云地图中的每一个点p
i
分配对应可观测到该点的图像编号,以得到所述渲染图片集,其中投影矩阵projection为
[0038][0039]
计算式(1)为:
[0040]
p
i
=k
·
projection
·
h
·
p
i
[0041]
p
i
为相机中的像素点坐标,p
i
为世界坐标系中三维点的坐标,k为相机内参。
[0042]
可选地,所述稠密化处理模块还用于:
[0043]
从所述渲染图片集依次取出连续两帧图像i
a
和i
b
,其图像的中心为c
a
和c
b
,对于两帧图像中的每一个像素点p
i
,在该点的视线viewray(c
a
,p
i
)上,根据计算式(2)找到一个平面使得与领域帧的聚合代价最小,在遍历图像内所有像素点后,得到每一帧图像中每一个像素点的深度并通过深度图融合,得到所述稠密化结果,
[0044]
计算式(2)为:
[0045][0046]
其中f
pi
为最优平面,p
i
为图像内像素点,为视线viewray(c
a
,p
i
)上所有有限大小平面的集合,argmin
x∈x
f(x)表示在x的取值集合x中使得函数f(x)值最小的x的值,m(
·
)为聚合代价函数,其对应的计算式(3)为:
[0047][0048]
其中,为一个以p
i
为中心的正方形窗口,w(p
i
,q)为权重函数,ρ(
·
)为相似性计算方程,和为构成平面的三个参数。
[0049]
可选地,所述网络化处理模块还用于:对所述稠密化结果中的每一个点p
i
及其法向量n
i
构建八叉树,采用自适应的空间网格划分方法,根据点集的位置定义八叉树,然后细分八叉树使得每一个采样点都在深度为d的叶节点;接着设置函数空间,对八叉树的每个节点设置空间函数f,所有的节点函数f,基函数f采用了盒滤波n维卷积;然后创建向量场,通
过向量场v逼近指示函数的梯度;最后采用拉普拉斯矩阵迭代求解泊松方程,估计采样点的位置,然后用采样点的平均值进行等值面提取,然后用marching cubes算法得到等值面,以得到所述网格化结果,所述网格化结果中包括顶点v与面片face,每一个顶点v
i
由一组三维坐标确定,每一个面片face
i
由三个顶点v
i,j,k
的索引号组成。
[0050]
可选地,所述纹理图生成模块还用于:根据所述网格化结果,根据用于重建的图像i,相机内参k及位姿h,生成每一个顶点v
i
所对应的纹理坐标texcoord
i
以及该坐标所对应的纹理图,然后进行渲染,在渲染过程中,每一个面片face
i
通过视角选择来决定该面片由哪个特定的视角图像i
best
中的彩色信息作为显示,并将这一区域放入纹理图中,并记录该面片每个顶点对应的纹理坐标。
[0051]
本发明的基于实时定位与建图算法的三维重建方法和装置,可以有效解决大范围三维重建精度不高,运算时间缓慢等问题;同时可以有效地减轻复杂环境对三维重建效果的影响,具有高效、高鲁棒性的特点。
附图说明
[0052]
为了说明而非限制的目的,现在将根据本发明的优选实施例、特别是参考附图来描述本发明,其中:
[0053]
图1是本发明实施方式的基于实时定位与建图算法的三维重建方法的流程示意图;以及
[0054]
图2是本发明实施方式的基于实时定位与建图算法的三维重建装置的结构示意图。
具体实施方式
[0055]
本发明实施方式中,可以选用velodyne公司生产的vlp16线激光雷达,相机为单目相机,采用filr公司的ffy

u3

16s2

dl相机,分辨率为1200*800,最高为20fps,惯性测量单元为xsense公司生产的mti

300。
[0056]
图1是本发明实施方式的基于实时定位与建图算法的三维重建方法的流程示意图,主要包括步骤a至步骤d。
[0057]
步骤a:使用实时定位与建图算法获取三维点云地图及每时刻的位姿,同时在运行算法过程中采集渲染图片集并通过时间戳同步获得每张图像的位姿,最后通过标定算法得到相机内参。该步骤a的目的是利用实时定位与建图生成高精度点云地图与图片及其位姿。具体过程如下。
[0058]
将实时定位与建图(slam)生成的三维点云文件导入,再通过统计滤波器去除点云地图的飞点,然后根据相机的内参投影矩阵projection为
[0059]
[0060]
位姿通过计算式(1)为点云地图中的每一个点p
i
分配对应可观测到该点的图像编号;
[0061]
p
i
=k
·
projection
·
h
·
p
i
[0062]
计算式(1)
[0063]
其中,p
i
为相机中的像素点坐标,p
i
为世界坐标系中三维点的坐标,projection为投影矩阵,h为相机在世界坐标系中的位姿,k为相机内参。
[0064]
步骤b:使用patchmatch算法将渲染图片集稠密化,得到稠密化结果。
[0065]
将上一步得到的图片集依次取出连续两帧图像i
a
和i
b
,其图像的中心为c
a
和c
b
,对于两帧图像中的每一个像素点p
i
,在该点的视线viewray(c
a
,p
i
)上根据计算式(2)找到一个平面使得与领域帧的聚合代价最小。在遍历图像内所有像素点后,便可以得到每一帧图像中每一个像素点的深度并通过深度图融合稠密化三维点云;
[0066][0067]
计算式(2)
[0068]
其中,为最优平面,p
i
为图像内像素点,为视线viewray(c
a
,p
i
)上所有有限大小平面的集合,argmin
x∈x
f(x)表示在x的取值集合x中使得函数f(x)值最小的x的值,m(
·
)为聚合代价函数;
[0069][0070]
计算式(3)
[0071]
其中,为一个以p
i
为中心的正方形窗口,w(p
i
,q)为权重函数用于克服边界区域代价取值过大的问题,ρ(
·
)为相似性计算方程,和为构成平面的三个参数。
[0072]
步骤c:使用泊松表面重建技术将稠密化结果网格化,得到网格化结果。
[0073]
首先对得到的稠密点云中的每一个点p
i
及其法向量n
i
构建八叉树,采用自适应的空间网格划分方法,根据点集的位置定义八叉树,然后细分八叉树使得每一个采样点都在深度为d的叶节点;接着设置函数空间,对八叉树的每个节点设置空间函数f,所有的节点函数f,基函数f采用了盒滤波n维卷积;然后创建向量场,通过向量场v逼近指示函数的梯度;最后采用拉普拉斯矩阵迭代求解泊松方程,估计采样点的位置,然后用采样点的平均值进行等值面提取,然后用marching cubes算法得到等值面。
[0074]
步骤d:根据网格化结果、相机内参以及位姿,生成纹理图。
[0075]
将上一步重建得到的三维网格,其中包括顶点v与面片face,每一个顶点v
i
由一组三维坐标确定,每一个面片face
i
由三个顶点v
i,j,k
的索引号组成,根据用于重建的图像i,相机内参k及其三维坐标h,生成每一个顶点v
i
所对应的纹理坐标texcoord
i
以及该坐标所对应的纹理图。然后进行渲染,在渲染过程中,每一个面片face
i
通过视角选择来决定该面片由
哪个特定的视角图像i
best
中的彩色信息作为显示,并将这一区域放入纹理图中,并记录该面片每个顶点对应的纹理坐标。
[0076]
图2是本发明实施方式的基于实时定位与建图算法的三维重建装置的结构示意图。如图2所示,该装置10包括实时定位与建图模块100、稠密化处理模块200、网络化处理模块300以及纹理图生成模块400。
[0077]
实时定位与建图模块100,用于使用实时定位与建图算法获取高精度的三维点云文件,三维点云文件包括三维点云地图、相机内参以及位姿,然后根据三维点云文件得到渲染图片集。稠密化处理模块200用于使用patchmatch算法将渲染图片集稠密化,得到稠密化结果。网络化处理模块300用于使用泊松表面重建技术将稠密化结果网格化,得到网格化结果。纹理图生成模块400用于根据网格化结果、相机内参以及位姿,生成纹理图。
[0078]
本发明的基于实时定位与建图算法的三维重建方法和装置,可以有效解决大范围三维重建精度不高,运算时间缓慢等问题;同时可以有效地减轻复杂环境对三维重建效果的影响,具有高效、高鲁棒性的特点。
[0079]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献