基于局部地图共视窗口优化算法的DSO算法的制作方法

专利2023-09-29  81


基于局部地图共视窗口优化算法的dso算法
技术领域
1.本发明涉及计算机技术领域,尤其涉及基于局部地图共视窗口优化算法的dso算法。


背景技术:

2.dso是一种单目稀疏直接法视觉里程计,视觉slam中的直接的代表性算法,也称为直接法,主要由关键帧提取的前端线程优化生成地图的后端线程组成,不包含回环检测、地图复用的功能。从后端来看,dso使用一个由若干个关键帧组成的滑动窗口作为它的后端。滑动窗口在整个vo过程中一直存在,前端会通过一定的条件限制(如相机移动距离过大),来判断新来的帧是否可作为新的关键帧插入后端;后端会通过一定的条件限制,来去除(利用schur complement边缘化掉)多出来的帧。dso试图将每个旧的关键帧中的地图点投影到新来的关键帧中,形成残差项。同时,会在新来的关键帧中提取未成熟点,并希望它们演变成正常地图点。
3.在直接法视觉里程计中,其优化目标是最小化光度误差(photometric error),因为直接法不是基于特征点匹配的更传统的几何重投影误差,而是直接处理图像像素值并最小化重投影点的强度差异。因此在直接法中,ba也叫做pba(photometric bundleadjustment)。然而目前基于pba的方法只能做视觉里程(vo),因为它是使用滑动窗口的方法只选择时间接近的几个关键帧来精确估计相机位姿,边缘化离开视野的地图点。这种情况导致vo只构建一个临时的地图并维护局部的状态,不会构建和维护一个持久和全局一致的地图,因此,如果相机重新访问已经建图的区域,pba将无法重用已经被边缘化去除的地图点,只能重新创建它们。这是一个严重的限制:系统无法利用和维护已有地图点的信息,这会导致运动漂移和全局地图不一致。


技术实现要素:

4.为了解决上述技术问题,本发明提出基于局部地图共视窗口优化算法的dso算法。本发明能够利用动态窗口优化的方式,在选择关键帧构建局部地图时,不仅会选择接近当前时间的几个关键帧,还会选择和当前关键帧具有高共视点和相同语义信息的的其他几个关键帧,最终建立一张持久和全局一致的地图。
5.为了达到上述目的,本发明的技术方案如下:
6.基于局部地图共视窗口优化算法的dso算法,包括如下步骤:
7.步骤s1,获取初始滑动窗口,根据所述初始滑动窗口确定视频的图像帧序列上连续的n个图像帧;
8.步骤s2,基于时间间隔、共可见性标准以及语义信息逐帧对所述初始滑动窗口内的图像帧进行计算;
9.步骤s3,判断初始滑动窗口内的图像帧的计算结果是否满足第一预设条件,若是,则确定当前图像帧为关键帧,将当前图像帧在滑动窗口中保留,并转至步骤s4;否则,确定
当前图像帧不是关键帧,将当前图像帧从滑动窗口中删除,并转至步骤s5;
10.步骤s4,判断当前图像帧是否为初始滑动窗口中最旧的图像帧,若是,则转至步骤s8,否则,转至步骤s2,继续计算初始滑动窗口内当前图像帧相邻的下一图像帧;
11.步骤s5,提取关联帧集,所述关联帧集包括m个在所述初始滑动窗口前和/或后的连续的图像帧;
12.步骤s6,基于时间间隔、共可见性标准以及语义信息逐帧对所述关联帧集内的图像帧进行计算;
13.步骤s7,判断关联帧中图像帧的计算结果是否满足第二预设条件,若是,则确定关联帧集中当前图像帧为关键帧,将关联帧集中当前图像帧替代滑动窗口中删除的当前图像帧,并转至步骤s4;否则转至步骤s6,继续计算关联帧集中当前图像帧相邻的下一图像帧;
14.步骤s8,基于当前滑动窗口中的关键帧进行pba优化,构建地图。
15.优选地,所述步骤s2和步骤s6中的计算公式,如下所示:
[0016][0017]
式中s(ii)代表是的关键帧集合,δt(ii,i0)、α1分别代表的是选择帧与跟踪帧的时间差值及权重;δs(ii,i0)、α2分别代表的是选择帧与跟踪帧的共视点差值及权重;o(ii,i0)、α3代表的是选择帧与跟踪帧的共同语义观测对象及权重,n1、n2分别代表了进行关键帧选择时的总的帧数与设定的共同语义观测对象的数量,α1+α2+α3=1。
[0018]
优选地,所述跟踪帧为初始滑动窗口内的第一帧或已经选择的关键帧。
[0019]
优选地,所述共视点由地图点的可视率su进行测量,所述可视率su计算公式如下:
[0020]
su=∑min(pz/p
′z,1)n
[0021]
式中n代表选择帧可见点总数,pz,p
′z分别是选择帧和跟踪帧的点逆深度。
[0022]
优选地,所述时间差值是根据帧自带的时间戳进行计算。
[0023]
优选地,所述语义对象的检测结果由深度学习算法deeplabv3+算法输出检测结果。
[0024]
优选地,所述共同语义观测对象和权重的设定是根据不同场景的差异动态调整。
[0025]
优选地,所述滑动窗口中包含5~7个关键帧。
[0026]
基于上述技术方案,本发明的有益效果是:
[0027]
1.本发明提出的根据时间间隔、共可见性标准和语义信息的组合来选择滑动窗口中关键帧的局部地图共视性滑动窗口方法,即local map covisibility window(lmcw),能够利用动态窗口优化的方式,在选择关键帧构建局部地图时,不仅会选择接近当前时间的几个关键帧,还会选择和当前关键帧具有高共视点和相同语义信息的的其他几个关键帧,最终建立一张持久和全局一致的地图;
[0028]
2.本发明可以根据不同场景的差异动态调整共同语义观测对象和不同权重,使得本发明在场景差异较大时具备可编辑性从而提高构建地图的成功率。
附图说明
[0029]
图1是一个实施例中基于局部地图共视窗口优化算法的dso算法流程图;
[0030]
图2是一个实施例中滑动窗口中关键帧选取示意图;
[0031]
图3是一个实施例中语义分割后的结果图;
[0032]
图4是一个实施例中基于局部地图共视窗口优化算法的dso算法的实验结果图。
具体实施方式
[0033]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0034]
如图1所示,本实施例提供一种基于局部地图共视窗口优化算法的dso算法,包括如下步骤:
[0035]
步骤s1,获取初始滑动窗口,根据所述初始滑动窗口确定视频的图像帧序列上连续的6个图像帧即[i0,i1,i2,i3,i4,i5];
[0036]
步骤s2,基于时间间隔、共可见性标准以及语义信息逐帧对所述初始滑动窗口内的图像帧进行计算;
[0037]
步骤s3,判断初始滑动窗口内的图像帧的计算结果是否满足第一预设条件,若是,则确定当前图像帧为关键帧,将当前图像帧在滑动窗口中保留,并转至步骤s4;否则,确定当前图像帧不是关键帧,将当前图像帧从滑动窗口中删除,并转至步骤s5;
[0038]
步骤s4,判断当前图像帧是否为初始滑动窗口中最旧的图像帧,若是,则转至步骤s8,否则,转至步骤s2,继续计算初始滑动窗口内当前图像帧相邻的下一图像帧;
[0039]
步骤s5,提取关联帧集,所述关联帧集包括m个在所述初始滑动窗口前和/或后的连续的图像帧;
[0040]
步骤s6,基于时间间隔、共可见性标准以及语义信息逐帧对所述关联帧集内的图像帧进行计算;
[0041]
步骤s7,判断关联帧中图像帧的计算结果是否满足第二预设条件,若是,则确定关联帧集中当前图像帧为关键帧,将关联帧集中当前图像帧替代滑动窗口中删除的当前图像帧,并转至步骤s4;否则转至步骤s6,继续计算关联帧集中当前图像帧相邻的下一图像帧;
[0042]
步骤s8,基于当前滑动窗口中的关键帧进行pba优化,构建地图。
[0043]
本实施例中,传统dso算法的pba方案在使用滑动窗口法时,将选择连续的图像帧即[i0,i1,i2,i3,i4,i5]作为滑动窗口内的帧进行优化,然而此时六帧中存在两帧(图像帧i4和图像帧i5)属于无效帧,通过此时的滑动窗口甚至会对优化造成不良影响。使用本算法后,可以看到时间上相对比图像帧[i7,i10,i11,i12,i13]跟接近图像帧[i10]的图像帧[i4,i5,i6,i8,i9],虽然图像帧[i4,i5,i6,i8,i9]时间占优势,但是共视点比例和相同语义信息比例比较少,因此图像帧[i4,i5,i6,i8,i9]将不会被纳入滑动窗口。如图2所示。
[0044]
基于时间间隔、共可见性标准以及语义信息三个方面进行重新选择关键帧加入滑动窗口中,使pba在选择关键帧构建局部地图时,不仅会选择接近当前时间的几个关键帧,还会选择和当前关键帧具有高共视点和语义信息的其他几个关键帧,即使它们在时间上很远,如帧[i7,i10],此时的滑动窗口帧将会成为[i0,i1,i2,i3,i7,i10]。pba就可以重用现有地图点的信息,同时优化时间上临近的和遥远的地图点和关键帧,进而降低位姿估计漂移,并建立一张持久和全局一致的地图。
[0045]
在一个实施例的基于局部地图共视窗口优化算法的dso算法中,关键帧计算公式,如下所示:
[0046][0047]
式中s(ii)代表是的关键帧集合,δt(ii,i0)、α1分别代表的是选择帧与跟踪帧的时间差值及权重;δs(ii,i0)、α2分别代表的是选择帧与跟踪帧的共视点差值及权重;o(ii,i0)、α3代表的是选择帧与跟踪帧的共同语义观测对象及权重,n1、n2分别代表了进行关键帧选择时的总的帧数与设定的共同语义观测对象的数量,α1+α2+α3=1。其中,跟踪帧为初始滑动窗口内的第一帧或已经选择的关键帧。
[0048]
本实施例中,所述共视点由地图点的可视率su进行测量,所述可视率su计算公式如下:
[0049]
su=∑min(pz/p
′z,1)/n
[0050]
式中n代表最新关键帧可见点总数,pz,p
′z分别是最新关键帧和跟踪帧的点逆深度。
[0051]
第一预设条件和第二预设条件的预设阈值均是根据实际应用时预先设置,由关键帧计算公式可知,第一预设条件中预设的阈值范围在实际应用时应小于1;第二预设条件是为了降低关键帧的选择条件,因此是第一预设条件中的阈值乘以权重系数,该权重系数因小于等于1。
[0052]
本实施例中,所述语义对象的检测结果由深度学习算法deeplabv3+算法输出检测结果。
[0053]
基于本算法融合中deeplabv3+语义分割算法进行了测试,首先,采用rgb-d相机围绕会议室匀速运动一周,如图3所示,可以看到已经采集到语义分割后的结果图。本次实验中语义分割的物体,如表1所示。
[0054]
表1实验结果表
[0055][0056]
然后,考虑到室内测试场景属于狭长型,设置权重α1=0.3,α2=0.4,α3=0.3,语义信息设置“门”、“盒子”作为关键帧的共同语义观测对象。但不仅限于此,可以根据不同场景的差异动态调整共同语义观测对象与权重的设定,使得在不同场景构建全局地图时能够具有更好的场景适应性。
[0057]
最后,将上述输入到dso算法中进行地图构建,如图4所示,其中的两根标识线明显跨越了较长的时间间距,实现了基于共视点和语义信息的关键帧选择。
[0058]
以上所述仅为本发明所公开的基于局部地图共视窗口优化算法的dso算法的优选实施方式,并非用于限定本说明书实施例的保护范围。凡在本说明书实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的保护范围之内。

技术特征:
1.基于局部地图共视窗口优化算法的dso算法,其特征在于,包括如下步骤:步骤s1,获取初始滑动窗口,根据所述初始滑动窗口确定视频的图像帧序列上连续的n个图像帧;步骤s2,基于时间间隔、共可见性标准以及语义信息逐帧对所述初始滑动窗口内的图像帧进行计算;步骤s3,判断初始滑动窗口内的图像帧的计算结果是否满足第一预设条件,若是,则确定当前图像帧为关键帧,将当前图像帧在滑动窗口中保留,并转至步骤s4;否则,确定当前图像帧不是关键帧,将当前图像帧从滑动窗口中删除,并转至步骤s5;步骤s4,判断当前图像帧是否为初始滑动窗口中最旧的图像帧,若是,则转至步骤s8,否则,转至步骤s2,继续计算初始滑动窗口内当前图像帧相邻的下一图像帧;步骤s5,提取关联帧集,所述关联帧集包括m个在所述初始滑动窗口前和/或后的连续的图像帧;步骤s6,基于时间间隔、共可见性标准以及语义信息逐帧对所述关联帧集内的图像帧进行计算;步骤s7,判断关联帧中图像帧的计算结果是否满足第二预设条件,若是,则确定关联帧集中当前图像帧为关键帧,将关联帧集中当前图像帧替代滑动窗口中删除的当前图像帧,并转至步骤s4;否则转至步骤s6,继续计算关联帧集中当前图像帧相邻的下一图像帧;步骤s8,基于当前滑动窗口中的关键帧进行pba优化,构建地图。2.根据权利要求1所述的基于局部地图共视窗口优化算法的dso算法,其特征在于,所述步骤s2和步骤s6中的计算公式,如下所示:式中s(i
i
)代表是的关键帧集合,δt(i
i
,i0)、α1分别代表的是选择帧与跟踪帧的时间差值及权重;δs(i
i
,i0)、α2分别代表的是选择帧与跟踪帧的共视点差值及权重;o(i
i
,i0)、α3代表的是选择帧与跟踪帧的共同语义观测对象及权重,n1、n2分别代表了进行关键帧选择时的总的帧数与设定的共同语义观测对象的数量,α1+α2+α3=1。3.根据权利要求2所述的基于局部地图共视窗口优化算法的dso算法,其特征在于,所述跟踪帧为初始滑动窗口内的第一帧或已经选择的关键帧。4.根据权利要求3所述的基于局部地图共视窗口优化算法的dso算法,其特征在于,所述共视点由地图点的可视率s
u
进行测量,所述可视率s
u
计算公式如下:式中n代表选择帧可见点总数,p
z
,p

z
分别是选择帧和跟踪帧的点逆深度。5.根据权利要求2所述的基于局部地图共视窗口优化算法的dso算法,其特征在于,所述时间差值是根据帧自带的时间戳进行计算。6.根据权利要求2所述的基于局部地图共视窗口优化算法的dso算法,其特征在于,所述语义对象的检测结果由深度学习算法deeplabv3+算法输出检测结果。
7.根据权利要求2所述的基于局部地图共视窗口优化算法的dso算法,其特征在于,所述共同语义观测对象和权重的设定是根据不同场景的差异动态调整。8.根据权利要求1所述的基于局部地图共视窗口优化算法的dso算法,其特征在于,所述滑动窗口中包含5~7个关键帧。

技术总结
本发明公开基于局部地图共视窗口优化算法的DSO算法,包括如下步骤:获取初始滑动窗口;基于时间间隔、共可见性标准以及语义信息逐帧对所述初始滑动窗口内的图像帧进行计算;将初始滑动窗口内的图像帧的计算结果不满足第一预设条件删除,并根据时间间隔、共可见性标准和语义信息的组合来重新选择滑动窗口中关键帧用于替换删除的图像帧;基于更新后的滑动窗口中的关键帧进行PBA优化,构建地图。本发明能够利用动态窗口优化的方式,在选择关键帧构建局部地图时,不仅会选择接近当前时间的几个关键帧,还会选择和当前关键帧具有高共视点和相同语义信息的的其他几个关键帧,最终建立一张持久和全局一致的地图。一张持久和全局一致的地图。一张持久和全局一致的地图。


技术研发人员:靳兴来 祝勇义 纪书保 朱世强 廖俊
受保护的技术使用者:杭州国辰机器人科技有限公司
技术研发日:2022.05.20
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-5383.html

最新回复(0)