CN117763070A - 一种slam中的局部优化方法、装置、设备及存储介质 - Google Patents
一种slam中的局部优化方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117763070A CN117763070A CN202311791931.3A CN202311791931A CN117763070A CN 117763070 A CN117763070 A CN 117763070A CN 202311791931 A CN202311791931 A CN 202311791931A CN 117763070 A CN117763070 A CN 117763070A
- Authority
- CN
- China
- Prior art keywords
- optimization
- visual edge
- local
- target
- abnormal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 302
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000000007 visual effect Effects 0.000 claims abstract description 243
- 230000002159 abnormal effect Effects 0.000 claims abstract description 155
- 238000001514 detection method Methods 0.000 claims abstract description 70
- 238000007689 inspection Methods 0.000 claims abstract description 24
- 230000006870 function Effects 0.000 claims description 69
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims 2
- 238000012217 deletion Methods 0.000 abstract description 6
- 230000037430 deletion Effects 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 9
- 238000000546 chi-square test Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 101150071577 chi2 gene Proteins 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000004807 localization Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本发明涉及局部优化技术,揭露了一种SLAM中的局部优化方法、装置、设备及存储介质,所述方法包括:根据回环检测后确定的目标帧生成局部地图;其中,所述局部地图中包含目标视觉边;获取回环检测后未通过检测的第一异常视觉边;根据所述第一异常视觉边以及所述目标视觉边确定目标优化函数;将所述目标视觉边以及所述第一异常视觉边输入所述目标优化函数进行局部优化与异常检验,得到第二异常视觉边;根据所述第一异常视觉边以及所述第二异常视觉边生成优化结果。本发明可以更好地避免回环检测发生后的观测关系的异常删除,提升优化质量。
Description
技术领域
本发明涉及局部优化技术领域,尤其涉及一种SLAM中的局部优化方法、装置、设备及存储介质。
背景技术
通常的SLAM(Simultaneous Localization And Mapping,同时定位与绘图)中,每次触发回环检测后,会进行一定量的全局BA。由于优化变量是针对全局所有的关键帧和地图点,规模较大,变量较多,所以会涉及较多优化不好的关键帧和地图点,即未通过检验(卡方检验)的视觉边(由关键帧及对应的地图点构成)。通常对于未通过检验的视觉边会直接进行删除以保证优化的结果,与此同时,也可能导致在后续的局部BA或全局BA过程中,某些实际存在的视觉边可能由于未通过卡方检验而直接删除某些关键帧与地图点的观测关系,降低局部地图的连接性,影响SLAM检测过程中的追踪。
发明内容
本发明提供一种SLAM中的局部优化方法、装置、设备及存储介质,其主要目的在于解决在回环检测后异常视觉边删除所导致的地图中视觉关系大量减少的问题。
为实现上述目的,本发明提供的一种SLAM中的局部优化方法,包括:
根据回环检测后确定的目标帧生成局部地图;其中,所述局部地图中包含目标视觉边;
获取回环检测后未通过检测的第一异常视觉边;
根据所述第一异常视觉边以及所述目标视觉边确定目标优化函数;
将所述目标视觉边以及所述第一异常视觉边输入所述目标优化函数进行局部优化与异常检验,得到第二异常视觉边;
根据所述第一异常视觉边以及所述第二异常视觉边生成优化结果。
本发明一实施例中,所述根据回环检测后确定的目标帧生成局部地图,包括:
根据所述目标帧确定局部窗口;
根据所述局部窗口中地图点生成局部地图。
本发明一实施例中,所述根据所述第一异常视觉边以及所述目标视觉边确定目标优化函数,包括:
根据第一异常视觉边以及所述目标视觉边确定预构建优化函数的约束参数;
根据所述优化函数以及对应的约束参数确定目标优化函数。
本发明一实施例中,所述根据第一异常视觉边以及所述目标视觉边确定预构建优化函数的约束参数,包括:
根据所述局部地图中的局部窗口确定所述第一异常视觉边中的待检测视觉边;
根据所述待检测视觉边以及所述目标视觉边计算待检测视觉边对应的待优化比例;
根据所述待检测视觉边与所述待优化比例与预设的约束条件进行比较,根据比较的结果生成约束参数。
本发明一实施例中,所述将所述目标视觉边以及所述第一异常视觉边输入所述目标优化函数进行局部优化与异常检验,得到第二异常视觉边,包括:
将所述目标视觉边以及所述第一异常视觉边作为优化参数,将所述优化参数输入所述目标优化函数进行局部优化,得到优化位姿以及优化地图点;
根据所述优化位姿以及所述优化地图点进行重投影,得到优化视觉边;
根据所述优化视觉边以及所述目标视觉边进行卡方检验,得到第二异常视觉边。
本发明一实施例中,所述根据所述第一异常视觉边以及所述第二异常视觉边生成优化结果,包括:
根据所述第一异常视觉边以及所述第二异常视觉边确定所符合的优化条件;
若所符合的优化条件为第一优化条件,则确定优化结果为下一帧局部优化;
若所符合的优化条件为第一优化条件,则确定优化结果为当前帧再次优化。
本发明一实施例中,所述方法还包括:若优化结果为下一帧局部优化,则重新选取回环检测后的目标帧,并返回根据所述目标帧生成局部地图生成局部地图的步骤,直至选取目标帧的次数达到第一预设次数。
本发明一实施例中,所述若优化结果为下一帧局部优化,则重新选取回环检测后的目标帧之后,还包括:
确定下一帧局部优化的优化方式;
若所述优化方式为第一优化方式,则将所述第一异常视觉边中与所述第二异常视觉边相同的视觉边删除;
若所述优化方式为第二优化方式,则保持所述第一异常视觉边不变。
本发明一实施例中,若优化结果为当前帧再次优化,则更新所述目标优化函数的输入,并返回进行局部优化与检验的步骤,直至再次进行局部优化的次数达到第二预设次数。
本发明一实施例中,所述若优化结果为当前帧再次优化,则更新所述目标优化函数的输入,包括:
确定所述当前帧再次优化的优化方式;
若所述优化方式为第三优化方式,则获取目标优化函数进行局部优化的优化结果,并将所述优化结果更新至所述目标优化函数的输入中;
若所述优化方式为第四优化方式,则删除所述第一异常视觉边以及所述目标视觉边中的第二视觉边。
为了解决上述问题,本发明还提供一种SLAM中的局部优化装置,所述装置包括:
局部地图生成模块,用于根据回环检测后确定的目标帧生成局部地图;其中,所述局部地图中包含目标视觉边;
目标优化函数确定模块,用于获取回环检测后未通过检测的第一异常视觉边;根据所述第一异常视觉边以及所述目标视觉边确定目标优化函数;
局部优化模块,用于将所述目标视觉边以及所述第一异常视觉边输入所述目标优化函数进行局部优化与异常检验,得到第二异常视觉边;
优化方式确定模块,用于根据所述第一异常视觉边以及所述第二异常视觉边生成优化结果。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的SLAM中的局部优化方法的步骤。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的SLAM中的局部优化方法的步骤。
本发明通过根据回环检测后确定的目标帧生成局部地图,实现了与回环检测后定位时的帧结合,保证了回环检测后全局BA未通过检测的异常视觉边的检测范围,可以提高不处于该目标帧对应的局部地图中的第一异常视觉边参与优化计算的可能性;通过根据第一异常视觉边以及第二异常视觉再次进行优化,减少视觉边的删除,避免了地图中视觉关系的大量减少,从而提升后续定位中可利用的视觉边信息,使得定位更准确;并且本发明没有增加额外的计算量,保证了定位的实时性。因此本发明提出的SLAM中的局部优化方法、装置、设备及存储介质,可以解决在回环检测后异常视觉边删除所导致的地图中视觉关系大量减少的问题。
附图说明
图1为本发明一实施例提供的每次回环检测后全局BA检验得到异常边数量的折线图;
图2为本发明一实施例提供的前端追踪地图;
图3为本发明一实施例提供的SLAM中的局部优化方法的流程示意图;
图4为本发明一实施例提供的局部优化后异常边数量的折现图;
图5为本发明一实施例提供的局部优化后的前端追踪地图;
图6为本发明一实施例提供的SLAM中的局部优化装置的功能模块图;
图7为本发明一实施例提供的实现所述SLAM中的局部优化方法的电子设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
SLAM(Simultaneous Localization And Mapping,同时定位与绘图)是指机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征(比如,墙角,柱子等)定位自身位置和姿态,再根据自身位置增量式的构建地图,从而达到同时定位和地图构建的目的。SLAM中机器人整个运行程序为:开机之后,追踪(Track),局部BA,回环三个线程并行;对于每一帧,追踪进行初步未定位,并会判定当前帧是否是关键帧,如果是关键帧,送给局部BA线程进行一些其他操作以及局部BA,然后局部BA线程会当前将关键帧送给回环判定是否回环;若是回环,可以进行全局BA,检验回环中的异常边;其中,异常边为未通过检验视觉边,所述视觉边由某一帧及其对应的地图点构成;参阅图1、图2所示,为每次回环检测后全局BA检验得到异常边数量的折线图以及前端追踪地图;其中纵坐标为每次回环检测后进行BA优化的关键帧,横坐标为关键帧进行BA优化检验得到的异常边数量。
在运行过程中,可以选取某一帧作为当前帧,获取其上一帧的特征点对应的地图点,根据该地图点根据当前帧的位姿进行投影得到的特征点与当前帧实际的特征点会存在一定的误差,因此需要进行位姿与地图点的优化以减小误差。这一优化方法可以为BA优化(Bundle Adjustment,光束法平差),包括有局部BA以及全局BA,局部BA用于优化局部地图的相机位姿,提高跟踪的精确度;全局BA用于优化一个回环检测过程中的相机位姿,使相机经过长时间、长距离的移动之后,相机位姿还比较准确。
其中,回环检测(Loop Detection)又称闭环检测,是指机器人通过采集了相似的数据,识别曾到达过的场景的能力;能够给出一些时隔更加久远的关键帧约束,减少SLAM技术中轨迹的累计误差;回环检测中,可以调用全局BA进一步优化位姿和地图点坐标,使得投影关系更匹配。
在触发回环检测时,进行全局BA的过程中,可以通过卡方检验是通过统计样本的实际观测值(已经实际提取的特征点)与理论推断值(根据BA的结果进行投影计算得到特征点)之间的偏离程度,算出卡方值的大小;如果卡方值越大,二者偏差程度越大;反之,二者偏差越小。
通常,对于未通过卡方检验的视觉边会选择删除,以保证关键帧和地图点关系的准确性;但也存在由于未及时优化或者未通过卡方检验但实际存在的视觉边被误删的情况,降低了局部BA时局部地图中的观测关系。
本发明不直接删除未通过卡方检验的关键帧以及地图点(即视觉边),避免地图中视觉边的突然大量减少;而是将其以字典的方式保存,记为bigErrGBA;其中键表示为关键帧,值表示为投影到该关键帧且重投影误差未通过卡方检验的地图点。
在回环检测后的局部BA过程中,除了局部地图现有的视觉边,还结合bigErrGBA中和当前局部地图有关系的视觉边一起优化,利用局部的信息矫正未通过卡方检验的视觉边,进而减少视觉边的删除,从而提升后续定位中可利用的视觉边信息,使得定位更准确。
本申请实施例提供一种SLAM中的局部优化方法。所述SLAM中的局部优化方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述SLAM中的局部优化方法可以由安装在终端设备或服务端设备的软件或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参照图3所示,为本发明一实施例提供的SLAM中的局部优化方法的流程示意图。在本实施例中,所述SLAM中的局部优化方法包括:
S1、根据回环检测后确定的目标帧生成局部地图;其中,所述局部地图中包含目标视觉边。
本发明实施例中,所述目标帧为回环检测后计算出未通过检验的视觉边后所选取的帧;例如,在t=100时刻,检测到回环,可以将t=101时刻作为目标帧。
本发明实施例中,所述目标视觉边由局部地图中每一帧及其对应的地图点构成;所述目标视觉边为多个,每个目标视觉边由局部地图中的一帧以及该帧中的一个地图点构成。
进一步地,局部地图,或称局部区域,一般是由选取的当前关键帧按时间回溯一定数量的关键帧及其对应的地图点所构成。
具体地,所述根据回环检测后确定的目标帧生成局部地图,包括:
根据所述目标帧确定局部窗口;
根据所述局部窗口中地图点生成局部地图。
其中,可以根据目标帧以及所述目标帧按时间回溯一定数量的关键帧生成局部窗口;例如,将t=101时刻作为目标帧,可以回溯五帧,将t=101时刻至t=97时刻作为局部窗口,根据局部窗口以及其中每一帧对应的地图点确定局部地图。
S2、获取回环检测后未通过检测的第一异常视觉边。
本发明实施例中,该检测可以为卡方检验,所述第一异常视觉边为回环检测后未通过卡方检验的视觉边;所述第一异常视觉边由一个回环检测中的多帧及其对应的地图点构成;所述第一异常视觉边为多个,每个第一异常视觉边由回环检测多帧中的一帧以及该帧中的一个地图点构成。
一个回环检测包含有多帧,例如,t=1时刻至t=100时刻,在t=1时刻至t=100时刻中可能存在若干帧中的地图点未通过卡方检验,一帧中可能存在多个地图点未通过卡方检验。
S3、根据所述第一异常视觉边以及所述目标视觉边确定目标优化函数。
本发明实施例中,所述根据所述第一异常视觉边以及所述目标视觉边确定目标优化函数,包括:
根据第一异常视觉边以及所述目标视觉边确定预构建优化函数的约束参数;
根据所述优化函数以及对应的约束参数确定目标优化函数。
具体地,所述优化函数表示为:
其中,w表示为帧的总数,L表示为所有视觉边的集合,rpre(Xi,Xi+1,bi)表示为第i帧和i+1帧的惯性误差,bi表示为第i帧的IMU偏置,rvis(Xi,pj)表示为第j个地图点投影到第i帧的投影误差。
本发明实施例中,目标视觉边以及第一异常视觉边构成的集合即为所述优化函数中所有视觉边的集合,根据所有视觉边对应的帧确定帧的总数。
其中,根据前后两帧的位姿可以得到相对位姿,通过惯性设备IMU获取的IMU数据可以得到运动变化量,将运动变化量与相对位姿作差,可以得到惯性误差;获取上一帧的特征点对应的地图点,根据该地图点根据当前帧的位姿进行投影得到的特征点与当前帧实际的特征点所存在的误差称为投影误差。
进一步地,所述根据第一异常视觉边以及所述目标视觉边确定预构建优化函数的约束参数,包括:
根据所述局部地图中的局部窗口确定所述第一异常视觉边中的待检测视觉边;
根据所述待检测视觉边以及所述目标视觉边计算待检测视觉边对应的待优化比例;
根据所述待检测视觉边与所述待优化比例与预设的约束条件进行比较,根据比较的结果生成约束参数。
本发明一可选实施例中,局部窗口需引入的异常视觉边(即第一异常视觉边)为lcErrEdgesNum,第一异常视觉边占当前所有待优化视觉边的比例为lcErrEdgesRatio;其中,所有待优化视觉边包括待检测视觉边以及目标视觉边。
进一步地,可以预设优化函数的最大迭代次数为opt_it=4,卡方检验的阈值为chi2mono=5.991,约束条件如下所示:
lcErrEdgesNum<=30,lcErrEdgesRatio<=0.01时,保持最大迭代次数为opt_it=4,卡方检验的阈值为chi2mono=5.991;
lcErrEdgesNum<=30,lcErrEdgesRatio>0.01时,调整最大迭代次数为opt_it=10;
lcErrEdgesNum>30,lcErrEdgesRatio<0.01时,调整卡方检验的阈值为chi2mono=2*5.991;
lcErrEdgesNum>30,lcErrEdgesRatio>0.01时,调整最大迭代次数为opt_it=10,卡方检验的阈值为chi2mono=2*5.991。
以上为本发明一可选实施例,本发明不对约束条件以及具体调整内容进行限定。
本发明实施例中,根据第一异常视觉边以及目标视觉边自适应调整参数,可以提升局部地图中局部优化的质量。
S4、将所述目标视觉边以及所述第一异常视觉边输入所述目标优化函数进行局部优化与异常检验,得到第二异常视觉边。
本发明实施例中,所述将所述目标视觉边以及所述第一异常视觉边输入所述目标优化函数进行局部优化与异常检验,得到第二异常视觉边,包括:
将所述目标视觉边以及所述第一异常视觉边作为优化参数,将所述优化参数输入所述目标优化函数进行局部优化,得到优化位姿以及优化地图点;
根据所述优化位姿以及所述优化地图点进行重投影,得到优化视觉边;
根据所述优化视觉边以及所述目标视觉边进行卡方检验,得到第二异常视觉边。
其中,所述目标优化函数为非线性函数,目标优化函数根据优化参数进行局部优化的过程,为求得目标优化函数最优解的过程,最优解即为优化位姿以及优化地图点。
本发明实施例中,根据优化后的当前帧位姿和地图点再次进行投影记得,得到投影的特征点,将该特征点与实际当前帧的特征点进行卡方检验,可以得到该特征点是否符合要求,若不符合要求,则认为该特征地点为异常特征点,根据当前帧以及异常特征点得到第二异常视觉边。
通过目标优化函数根据目标视觉边以及第一异常视觉边进行局部优化即为局部BA的过程,通过局部优化可以对回环检测后全局BA检验得到的第一异常视觉边进行重新优化检测,以提升后续定位中可利用视觉边的数量。
S5、根据所述第一异常视觉边以及所述第二异常视觉边生成优化结果。
本发明实施例中,所述根据所述第一异常视觉边以及所述第二异常视觉边生成优化结果,包括:
根据所述第一异常视觉边以及所述第二异常视觉边确定所符合的优化条件;
若所符合的优化条件为第一优化条件,则确定优化结果为下一帧局部优化;
若所符合的优化条件为第一优化条件,则确定优化结果为当前帧再次优化。
其中,第一优化条件以及第二优化条件可以根据第一异常视觉边与第二异常视觉边之间的比例关系而确定。
本发明一可选实施例中,将第一异常视觉边与第二异常视觉边的交集作为重复异常视觉边,其数量记为badNumLC,将第二异常视觉边中非重复异常视觉边的部分作为新的异常视觉边,其数量即为badNumLM;
若满足第一比例关系:badNumLC<=0.2*lcErrEdgesNum,或者满足第二比例关系:0.8*lcErrEdgesNum<badNumLC<=lcErrEdgesNum,则认为符合第一优化条件,即第一优化条件由第一比例关系和第二比例关系判断所得;若满足第三比例关系:0.2*lcErrEdgesNum<badNumLC<=0.5*lcErrEdgesNum,或者满足第四比例关系:0.5*lcErrEdgesNum<badNumLC<=0.8*lcErrEdgesNum,则认为符合第一优化条件,即第二优化条件由第三比例关系和第四比例关系判断所得。
进一步地,所述下一帧局部优化为重新选取回环检测后目标帧之后的帧作为新的目标帧,确定新的局部地图,再进行局部BA;所述当前帧再次优化为在当前帧保证局部地图不变,重新进行局部BA。
S6、若优化结果为下一帧局部优化,则重新选取回环检测后的目标帧,并返回根据所述目标帧生成局部地图生成局部地图的步骤,直至选取目标帧的次数达到第一预设次数。
本发明实施例中,所述若优化结果为下一帧局部优化,则重新选取回环检测后的目标帧之后,还包括:
确定下一帧局部优化的优化方式;
若所述优化方式为第一优化方式,则将所述第一异常视觉边中与所述第二异常视觉边相同的视觉边删除;
若所述优化方式为第二优化方式,则保持所述第一异常视觉边不变。
本发明实施例中,所述第一预设次数可以为三次,即选取过三次目标帧并进行局部BA;本发明对第二预设次数不做具体限定,可以根据定位效率以及观测关系而定。
其中,可以按照预设时间间隔选取目标帧,例如,将t=101时刻作为第一次选取的目标帧,将t=102时刻作为第二次选取的目标帧,将t=103时刻作为第三次选取的目标帧;或者将t=101时刻作为第一次选取的目标帧,将t=111时刻作为第二次选取的目标帧,将t=121时刻作为第三次选取的目标帧。
具体地,通过选取多帧进行局部BA优化,可以提高不处于选取帧局部窗口的第一异常视觉边参与优化计算的可能性,提高对回环检测后全局BA未通过检测的异常视觉边的检测范围,避免了地图中视觉关系的大量减少。
本发明一可选实施例中,可以在符合第一优化条件中第一比例关系:badNumLC<=0.2*lcErrEdgesNum时,确定第一优化条件对应的优化结果的优化方式为第一优化方式;在符合第一优化条件中第二比例关系:0.8*lcErrEdgesNum<badNumLC<=lcErrEdgesNum时,确定第一优化条件对应的优化结果的优化方式为第二优化方式。
S7、若优化结果为当前帧再次优化,则更新所述目标优化函数的输入,并返回进行局部优化与检验的步骤,直至再次进行局部优化的次数达到第二预设次数。
本发明实施例中,所述若优化结果为当前帧再次优化,则更新所述目标优化函数的输入,包括:
确定所述当前帧再次优化的优化方式;
若所述优化方式为第三优化方式,则获取目标优化函数进行局部优化的优化结果,并将所述优化结果更新至所述目标优化函数的输入中;
若所述优化方式为第四优化方式,则删除所述第一异常视觉边以及所述目标视觉边中的第二视觉边。
其中,所述优化结果为优化位姿以及优化地图点,可以将优化位姿以及优化地图点作为目标优化函数的初始输入,提高目标优化函数计算的准确性。
本发明实施例中,所述第二预设次数可以为两次,即当前帧总共进行两次优化,再次进行局部优化的次数达到第二预设次数后,可以将检验得到的第二异常边与第一异常边的交集删除,确认其为异常的观测关系;本发明对第二预设次数不做具体限定,可以根据定位效率以及观测关系而定。
本发明一可选实施例中,可以在符合第二优化条件中第三比例关系:0.2*lcErrEdgesNum<badNumLC<=0.5*lcErrEdgesNum时,第二优化条件对应的优化结果的优化方式为第三优化方式;在符合第二优化条件中第四比例关系:0.5*lcErrEdgesNum<badNumLC<=0.8*lcErrEdgesNum时,第二优化条件对应的优化结果的优化方式为第四优化方式。
本发明实施例中,通过在局部BA中加入对应的优化策略,即根据优化结果进行下一帧优化或者当前帧再优化,更好地避免了回环检测发生后的观测关系异常删除,可以提升优化质量;并且只在发生回环之后的局部BA操作,并未提升计算的水平。
参阅图4、图5所示,为通过本发明的局部优化后异常边数量的折现图以及前端追踪地图;其中纵坐标为进行BA优化的关键帧,横坐标为通过本发明的局部优化后对关键帧BA优化检验得到的异常边数量;回环发生后的局部BA没有突然大量删除观测关系(异常边),前端追踪可使用的共视地图点更多,轨迹也更准确和平滑。
如图6所示,是本发明一实施例提供的SLAM中的局部优化装置600的功能模块图。根据实现的功能,所述SLAM中的局部优化装置可以包括局部地图生成模块601、目标优化函数确定模块602、局部优化模块603及优化方式确定模块604。本发明所述模块也可以称之为单元,是指一种能够被SLAM中的局部优化装置的处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在SLAM中的局部优化装置的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述局部地图生成模块601,用于根据回环检测后确定的目标帧生成局部地图;其中,所述局部地图中包含目标视觉边;
所述目标优化函数确定模块602,用于获取回环检测后未通过检测的第一异常视觉边;根据所述第一异常视觉边以及所述目标视觉边确定目标优化函数;
所述局部优化模块603,用于将所述目标视觉边以及所述第一异常视觉边输入所述目标优化函数进行局部优化与异常检验,得到第二异常视觉边;
所述优化方式确定模块604,用于根据所述第一异常视觉边以及所述第二异常视觉边生成优化结果。
详细地,本发明实施例中所述的SLAM中的局部优化装置600中所述的各模块在使用时采用与附图中所述的SLAM中的局部优化方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
如图7所示,是本发明一实施例提供的实现SLAM中的局部优化方法的电子设备的结构示意图。
所述电子设备700可以包括处理器701、存储器702、通信总线703以及通信接口704,还可以包括存储在所述存储器702中并可在所述处理器701上运行的计算机程序,如SLAM中的局部优化程序。
其中,所述处理器701是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器702内的程序或者模块(例如执行SLAM中的局部优化程序等),以及调用存储在所述存储器702内的数据,以执行电子设备的各种功能和处理数据。
所述存储器702至少包括一种类型的可读存储介质,所述可读存储介质包括卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。进一步地,所述存储器702还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器702不仅可以用于存储安装于电子设备的应用软件及各类数据,例如SLAM中的局部优化程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述通信总线703可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器702以及至少一个处理器701等之间的连接通信。
所述通信接口704用于上述电子设备与其他设备之间的通信,包括网络接口和用户接口。
图7仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图7示出的结构并不构成对所述电子设备700的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备700中的所述存储器702存储的SLAM中的局部优化程序是多个指令的组合,在所述处理器701中运行时,可以实现:
根据回环检测后确定的目标帧生成局部地图;其中,所述局部地图中包含目标视觉边;
获取回环检测后未通过检测的第一异常视觉边;
根据所述第一异常视觉边以及所述目标视觉边确定目标优化函数;
将所述目标视觉边以及所述第一异常视觉边输入所述目标优化函数进行局部优化与异常检验,得到第二异常视觉边;
根据所述第一异常视觉边以及所述第二异常视觉边生成优化结果。
具体地,所述处理器701对上述指令的具体实现方法可参考附图对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备700集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
根据回环检测后确定的目标帧生成局部地图;其中,所述局部地图中包含目标视觉边;
获取回环检测后未通过检测的第一异常视觉边;
根据所述第一异常视觉边以及所述目标视觉边确定目标优化函数;
将所述目标视觉边以及所述第一异常视觉边输入所述目标优化函数进行局部优化与异常检验,得到第二异常视觉边;
根据所述第一异常视觉边以及所述第二异常视觉边生成优化结果。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (13)
1.一种SLAM中的局部优化方法,其特征在于,所述方法包括:
根据回环检测后确定的目标帧生成局部地图;其中,所述局部地图中包含目标视觉边;
获取回环检测后未通过检测的第一异常视觉边;
根据所述第一异常视觉边以及所述目标视觉边确定目标优化函数;
将所述目标视觉边以及所述第一异常视觉边输入所述目标优化函数进行局部优化与异常检验,得到第二异常视觉边;
根据所述第一异常视觉边以及所述第二异常视觉边生成优化结果。
2.根据权利要求1所述的SLAM中的局部优化方法,其特征在于,所述根据回环检测后确定的目标帧生成局部地图,包括:
根据所述目标帧确定局部窗口;
根据所述局部窗口中地图点生成局部地图。
3.如权利要求1所述的SLAM中的局部优化方法,其特征在于,所述根据所述第一异常视觉边以及所述目标视觉边确定目标优化函数,包括:
根据第一异常视觉边以及所述目标视觉边确定预构建优化函数的约束参数;
根据所述优化函数以及对应的约束参数确定目标优化函数。
4.如权利要求3所述的SLAM中的局部优化方法,其特征在于,所述根据第一异常视觉边以及所述目标视觉边确定预构建优化函数的约束参数,包括:
根据所述局部地图中的局部窗口确定所述第一异常视觉边中的待检测视觉边;
根据所述待检测视觉边以及所述目标视觉边计算待检测视觉边对应的待优化比例;
根据所述待检测视觉边与所述待优化比例与预设的约束条件进行比较,根据比较的结果生成约束参数。
5.如权利要求1所述的SLAM中的局部优化方法,其特征在于,所述将所述目标视觉边以及所述第一异常视觉边输入所述目标优化函数进行局部优化与异常检验,得到第二异常视觉边,包括:
将所述目标视觉边以及所述第一异常视觉边作为优化参数,将所述优化参数输入所述目标优化函数进行局部优化,得到优化位姿以及优化地图点;
根据所述优化位姿以及所述优化地图点进行重投影,得到优化视觉边;
根据所述优化视觉边以及所述目标视觉边进行卡方检验,得到第二异常视觉边。
6.如权利要求1所述的SLAM中的局部优化方法,其特征在于,所述根据所述第一异常视觉边以及所述第二异常视觉边生成优化结果,包括:
根据所述第一异常视觉边以及所述第二异常视觉边确定所符合的优化条件;
若所符合的优化条件为第一优化条件,则确定优化结果为下一帧局部优化;
若所符合的优化条件为第一优化条件,则确定优化结果为当前帧再次优化。
7.如权利要求1所述的SLAM中的局部优化方法,其特征在于,所述方法还包括:若优化结果为下一帧局部优化,则重新选取回环检测后的目标帧,并返回根据所述目标帧生成局部地图生成局部地图的步骤,直至选取目标帧的次数达到第一预设次数。
8.如权利要求7所述的SLAM中的局部优化方法,其特征在于,所述若优化结果为下一帧局部优化,则重新选取回环检测后的目标帧之后,还包括:
确定下一帧局部优化的优化方式;
若所述优化方式为第一优化方式,则将所述第一异常视觉边中与所述第二异常视觉边相同的视觉边删除;
若所述优化方式为第二优化方式,则保持所述第一异常视觉边不变。
9.如权利要求1所述的SLAM中的局部优化方法,其特征在于,若优化结果为当前帧再次优化,则更新所述目标优化函数的输入,并返回进行局部优化与检验的步骤,直至再次进行局部优化的次数达到第二预设次数。
10.如权利要求9所述的SLAM中的局部优化方法,其特征在于,所述若优化结果为当前帧再次优化,则更新所述目标优化函数的输入,包括:
确定所述当前帧再次优化的优化方式;
若所述优化方式为第三优化方式,则获取目标优化函数进行局部优化的优化结果,并将所述优化结果更新至所述目标优化函数的输入中;
若所述优化方式为第四优化方式,则删除所述第一异常视觉边以及所述目标视觉边中的第二视觉边。
11.一种SLAM中的局部优化装置,其特征在于,所述装置包括:
局部地图生成模块,用于根据回环检测后确定的目标帧生成局部地图;其中,所述局部地图中包含目标视觉边;
目标优化函数确定模块,用于获取回环检测后未通过检测的第一异常视觉边;根据所述第一异常视觉边以及所述目标视觉边确定目标优化函数;
局部优化模块,用于将所述目标视觉边以及所述第一异常视觉边输入所述目标优化函数进行局部优化与异常检验,得到第二异常视觉边;
优化方式确定模块,用于根据所述第一异常视觉边以及所述第二异常视觉边生成优化结果。
12.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行根据权利要求1至10中任意一项所述的SLAM中的局部优化方法中的步骤。
13.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任意一项所述的SLAM中的局部优化方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311791931.3A CN117763070A (zh) | 2023-12-22 | 2023-12-22 | 一种slam中的局部优化方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311791931.3A CN117763070A (zh) | 2023-12-22 | 2023-12-22 | 一种slam中的局部优化方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117763070A true CN117763070A (zh) | 2024-03-26 |
Family
ID=90314155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311791931.3A Pending CN117763070A (zh) | 2023-12-22 | 2023-12-22 | 一种slam中的局部优化方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117763070A (zh) |
-
2023
- 2023-12-22 CN CN202311791931.3A patent/CN117763070A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111582021B (zh) | 场景图像中的文本检测方法、装置及计算机设备 | |
CN111709975B (zh) | 多目标跟踪方法、装置、电子设备及存储介质 | |
WO2022027913A1 (zh) | 目标检测模型生成方法、装置、设备及存储介质 | |
CN113391943B (zh) | 一种基于因果推断的微服务故障根因定位方法及装置 | |
CN109902619B (zh) | 图像闭环检测方法及系统 | |
CN112615888B (zh) | 一种网络攻击行为的威胁评估方法及装置 | |
CN111931864B (zh) | 基于顶点距离与交并比多重优化目标检测器的方法与系统 | |
CN113205138B (zh) | 人脸人体匹配方法、设备和存储介质 | |
Alevizos et al. | Complex event recognition under uncertainty: A short survey | |
WO2022127876A1 (zh) | 目标跟踪的方法、计算机可读存储介质及计算机设备 | |
CN110647447A (zh) | 用于分布式系统的异常实例检测方法、装置、设备和介质 | |
WO2022053163A1 (en) | Distributed trace anomaly detection with self-attention based deep learning | |
EP4170561A1 (en) | Method and device for improving performance of data processing model, storage medium and electronic device | |
CN115455429A (zh) | 基于大数据的漏洞分析方法及系统 | |
CN111950237B (zh) | 一种句子改写方法、句子改写装置及电子设备 | |
CN113256683A (zh) | 目标跟踪方法及相关设备 | |
CN117237678A (zh) | 用电行为异常检测方法、装置、设备及存储介质 | |
CN109255238B (zh) | 终端威胁检测与响应方法及引擎 | |
CN117763070A (zh) | 一种slam中的局部优化方法、装置、设备及存储介质 | |
CN116343007A (zh) | 目标检测方法、装置、设备和存储介质 | |
US20230401809A1 (en) | Image data augmentation device and method | |
CN114972956A (zh) | 一种目标检测模型训练方法、装置、设备及存储介质 | |
CN114723917A (zh) | 激光里程计的位姿优化方法、装置、介质及设备 | |
CN112948469A (zh) | 数据挖掘方法、装置、计算机设备及存储介质 | |
CN111310824A (zh) | 多角度稠密目标检测抑制优化方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |