CN113392370B - 一种slam*** - Google Patents
一种slam*** Download PDFInfo
- Publication number
- CN113392370B CN113392370B CN202110658243.4A CN202110658243A CN113392370B CN 113392370 B CN113392370 B CN 113392370B CN 202110658243 A CN202110658243 A CN 202110658243A CN 113392370 B CN113392370 B CN 113392370B
- Authority
- CN
- China
- Prior art keywords
- information
- key frame
- level
- storage
- module
- 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.)
- Active
Links
- 238000004364 calculation method Methods 0.000 claims description 27
- 238000000605 extraction Methods 0.000 claims description 16
- 238000001514 detection method Methods 0.000 abstract description 5
- 238000010276 construction Methods 0.000 abstract description 3
- 230000007774 longterm Effects 0.000 abstract description 3
- 230000001360 synchronised effect Effects 0.000 abstract description 3
- 239000011159 matrix material Substances 0.000 description 14
- 238000000034 method Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Devices For Executing Special Programs (AREA)
- Instructional Devices (AREA)
Abstract
本发明公开了一种SLAM***;属于可移动平台同步定位与地图构建这一领域;其技术要点在于:对机器视觉所接收到的图像抽象和表达为不同层级的信息;越高层的信息单个存储量越低,越低层的信息单个存储量越高;越高层的信息编号越多;越低层的信息编号越少。采用本发明的一种SLAM***,达到长时大尺度SLAM下回环检测的性能与高效性。
Description
技术领域
本发明涉及汽车同步定位与地图构建技术领域,更具体地说,尤其涉及一种SLAM***。
背景技术
SLAM,是Simultaneous localization and Mapping的简称,其直译为:同步定位与地图构建;该技术是汽车能够实现自主导航定位、构建环境地图的核心技术(其属于智能交通领域的支撑软件)。
现有的Visual SLAM算法,面对长时(Long-term)和大尺度(large-scale)场景时,面临的主要问题是需要存储大量的历史信息以能在更大尺度和更长时间范围内进行回环检测(Loop Closure Detection)来减少累积偏差.这对终端智能设备的存储和检索计算带来巨大的性能挑战.如何能够解决更长时-更大尺度范围的visual slam的高效算法是本领域的核心问题。
例如,CN111767854A提出的结合场景文本语义信息的SLAM回环检测方法,其核心步骤在于:对于关键帧集合中的任一关键帧,计算其总信息向量与当前帧总信息向量的余弦相似度,取相似度大于一定阈值且不与当前帧直接相邻的关键帧作为回环候选帧。作为该方法而言,就会存在前述的问题,要存储每一个关键帧的信息向量。这对于硬件存储设备的压力非常大。
发明内容
本发明的目的在于提供一种SLAM***,其解决了现有技术中的不足之处。
一种SLAM***,包括:当前关键帧信息提取模块、当前关键帧信息存储重要性系数计算模块、关键帧集合层级信息存储重要性系数计算与存储模块;关键帧集合层级信息计算与存储模块;
“所述当前关键帧信息存储重要性系数计算模块”和“所述关键帧集合层级信息存储重要性系数计算与存储模块”连接;
“所述当前关键帧信息提取模块”、“所述关键帧集合层级信息存储重要性系数计算与存储模块”分别与“所述关键帧集合层级信息计算与存储模块”连接;
所述当前关键帧信息提取模块用于从当前关键帧图像中提取不同层级的信息;
所述当前关键帧信息存储重要性系数计算模块用于计算当前关键帧的不同层级信息的存储重要性系数;
所述关键帧集合层级信息存储重要性系数计算与存储模块用于存储当前关键帧集合的不同层级信息的存储重要性系数;
所述关键帧集合层级信息计算与存储模块用于决定当前关键帧信息提取模块传递来的当前关键帧图像中提取不同层级的信息的存储方式。
进一步,所述SLAM***还包括:信息层级序列建立模块、信息层级的存储量建立模块;
所述信息层级序列建立模块、所述信息层级的存储量建立模块分别与当前关键帧信息提取模块连接;所述信息层级序列建立模块、所述信息层级的存储量建立模块分别与当前关键帧信息存储重要性系数计算模块连接。
进一步,所述信息层级序列建立模块用于建立关键帧集合的信息层级序列,以及用于指导当前关键帧信息提取模块提取当前关键帧图像的信息,是步骤S100运行的载体;所述信息层级的存储量建立模块用于建立关键帧集合不同层级信息存储空间,是步骤S200运行的载体。
一种SLAM方法,其特征在于:
对机器视觉所接收到的图像抽象和表达为不同层级的信息;
越高层的信息单个存储量越低,越低层的信息单个存储量越高(也即,Xj,β单个所占用的存储空间是小于Xj+1,β单个所占用的存储空间);
越高层的信息编号越多;越低层的信息编号越少(即下述的Qj>Qj+1)。
一种SLAM方法,其包括如下步骤:
S100,建立关键帧的信息层级序列:
关键帧的信息层级序列,按照层级逐级降低的顺序,表达为:第1层级信息、第2层级信息、第j层级信息………、第k层级信息:
S200,确定关键帧的各个信息层级的存储量:
第1层级信息的存储量为Q1,第2层级信息的存储量为Q2…………第j层级信息的存储量为Qj…………第k层级信息的存储量为Qk:
对于Q1~Qk而言,有:Q1>Q2>……Qj-1>Qj>……Qk;
S300,当前关键帧为第Y个关键帧,从第Y个关键帧提取第1~k层的信息:X1,Y、X2,Y、……Xj,Y、……Xk,Y;同时计算第Y个关键帧提取第1~k层的信息的存储重要性系数:Z1,Y、Z2,Y、……Zj,Y、……Zk,Y;
X1,Y、X2,Y、……Xj,Y、……Xk,Y分别表示:第Y个关键帧的第1层级信息,第Y个关键帧的第2层级信息、……第Y个关键帧的第j层级信息、……第Y个关键帧的第k层级信息;
Z1,Y、Z2,Y、……Zj,Y、……Zk,Y分别表示:第Y个关键帧的第1层级信息的存储重要性系数,第Y个关键帧的第2层级信息的存储重要性系数、……第Y个关键帧的第j层级信息的存储重要性系数、……第Y个关键帧的第k层级信息的存储重要性系数;
S400,将当前第Y个关键帧提取的第1~k层的信息的存储重要性系数:Z1,Y、Z2,Y、……Zj,Y、……Zk,Y加入到当前的关键帧层级信息的存储重要性系数矩阵中(将第Y个关键帧的提取的第1~k层级信息的存储重要性参数全部存储进入当前的关键帧层级信息的存储重要性系数矩阵);
S500,
将当前第Y个关键帧提取的第1~k层的信息:X1,Y、X2,Y、……Xj,Y、……Xk,Y,加入到当前的关键帧层级信息矩阵中:
当0<Y≤Qk时,将第Y个关键帧的提取的第1~k层级信息全部存储进入当前关键帧集合中;
上述步骤采用下式表达为:
Xj,I表达第I个关键帧的第j层级信息;
当Qj<Y≤Qj-1时,j表示2至k的任意自然数;
将第Y个关键帧的第1~j-1层级信息全部存储进入当前关键帧集合中,上述步骤采用下式表达为:
对于第Y个关键帧的第j~k层级信息而言,逐层进行计算,决定是否存储:
对于第j~k层中的任意第β层而言:
首先,从Zβ,1,Zβ,2……Zβ,I……Zβ,Y-1,寻找取最小值,其采用Zβ,m来表示,即第m个关键帧第β层级信息存储重要性参数最小;
其次,根据Zβ,m、Zβ,Y的大小,决定是否存储第Y个关键帧的第β层级信息Xβ,Y:
当Zβ,m>Zβ,Y
则Zβ,Y赋予新的数值,使得Zβ,Y不再参与排序;
Xβ,Y赋予新的数值NULL或者0,即将第Y个关键帧的第β层级信息不存储;
当Zβ,m≤Zβ,Y
则Zβ,m赋予新的数值,使得Zβ,m不再参与排序;
Xβ,m赋予新的数值NULL或者0,即将第m个关键帧的第β层级信息删去,将第Y个关键帧的第β层级信息Xβ,Y存储,即将第m个关键帧的第β层级信息的存储空间让与第Y个关键帧的第β层级信息存储空间,即第β层级信息的存储量始终保持在Qβ;
当Q1<Y时:
对于第Y个关键帧的第1~k层级信息而言,逐层进行计算,决定是否存储:
对于第1~k层中的任意第β层而言,
首先,从Zβ,1,Zβ,2……Zβ,I……Zβ,Y-1,寻找取最小值,其采用Zβ,m来表示,即第m个关键帧第β层级信息存储重要性参数最小;
其次,根据Zβ,m、Zβ,Y的大小,决定是否存储第Y个关键帧的第β层级信息Xβ,Y:
当Zβ,m>Zβ,Y
则Zβ,Y赋予新的数值,使得Zβ,Y不再参与排序;
Xβ,Y赋予新的数值NULL或者0,即将第Y个关键帧的第β层级信息不存储;
当Zβ,m≤Zβ,Y
则Zβ,m赋予新的数值,使得Zβ,m不再参与排序;
Xβ,m赋予新的数值NULL或者0,即将第m个关键帧的第β层级信息删去,将第Y个关键帧的第β层级信息Xβ,Y存储,即将第m个关键帧的第β层级信息的存储空间让与第Y个关键帧的第β层级信息存储空间,即第β层级信息的存储量始终保持在Qβ。
进一步,步骤S500中的“当Zβ,m>Zβ,Y,Zβ,Y赋予新的数值”,赋予NULL或者+∞。
进一步,步骤S100中,4≤k。
本发明的有益效果在于:
第一,本申请的基础构思在于:对机器视觉所接收到的信息进行不同语义层级的抽象和表达,从信息层级来进行编码;越高层语义的特征存储的信息量约精简宏观,抽取的频次越高,对于SLAM***内存储的时间越久;相反,越低层的点云特征存储的数据量越大越细致,抽取的频次越低,在SLAM***内存储的时间越短。通过设置不同的存储与检索索引配置,达到可自由调配存储/检索与长时大尺度SLAM回环检测的性能与高效性。
第二,基于本申请的基础构思,提出了SLAM关键帧矩阵存储方法:通过双系数的方式来确定存储,即:存储重要性系数矩阵与当前的关键帧层级信息矩阵来共同确定新采集的第Y个关键帧的第1~k层级信息如何存储进入当前的关键帧层级信息矩阵中。
附图说明
下面结合附图中的实施例对本发明作进一步的详细说明,但并不构成对本发明的任何限制。
图1是实施例一的信息层级序列设计图。
图2是实施例一的“原图像-稠密点云特征”提取示意图。
具体实施方式
一种SLAM方法,其包括如下步骤:
S100,建立关键帧的信息层级序列:
关键帧的信息层级序列,按照层级逐级降低的顺序,表达为:第1层级信息、第2层级信息、第j层级信息………、第k层级信息:
S200,确定关键帧的各个信息层级的存储量:
第1层级信息的存储量为Q1,第2层级信息的存储量为Q2…………第j层级信息的存储量为Qj…………第k层级信息的存储量为Qk:
对于Q1~Qk而言,有:Q1>Q2>……Qj-1>Qj>……Qk;
S300,当前关键帧为第Y个关键帧,从第Y个关键帧提取第1~k层的信息:X1,Y、X2,Y、……Xj,Y、……Xk,Y;同时计算第Y个关键帧提取第1~k层的信息的存储重要性系数:Z1,Y、Z2,Y、……Zj,Y、……Zk,Y;
X1,Y、X2,Y、……Xj,Y、……Xk,Y分别表示:第Y个关键帧的第1层级信息,第Y个关键帧的第2层级信息、……第Y个关键帧的第j层级信息、……第Y个关键帧的第k层级信息;
Z1,Y、Z2,Y、……Zj,Y、……Zk,Y分别表示:第Y个关键帧的第1层级信息的存储重要性系数,第Y个关键帧的第2层级信息的存储重要性系数、……第Y个关键帧的第j层级信息的存储重要性系数、……第Y个关键帧的第k层级信息的存储重要性系数;
S400,将当前第Y个关键帧提取的第1~k层的信息的存储重要性系数:Z1,Y、Z2,Y、……Zj,Y、……Zk,Y加入到当前的关键帧(此时,对应的当前的关键帧有第1~Y-1个关键帧)存储重要性参数集合(即加入到当前的关键帧层级信息的存储重要性系数矩阵)中:
将第Y个关键帧的提取的第1~k层级信息的存储重要性参数全部存储进入当前的关键帧层级信息的存储重要性系数矩阵;
上述步骤采用下式可表达为:
S500,
将当前第Y个关键帧提取的第1~k层的信息:X1,Y、X2,Y、……Xj,Y、……Xk,Y,加入到当前的关键帧集合(即加入到当前的关键帧层级信息矩阵)中:
当0<Y≤Qk时,将第Y个关键帧的提取的第1~k层级信息全部存储进入当前关键帧集合中;
上述步骤采用下式可表达为:
Xj,I表达第I个关键帧的第j层级信息(其他的表达式的含义均能够从中知晓,例如:Xk,Y表达为第Y个关键帧的第k层级信息)。
当Qk<Y≤Qk-1时,将第Y个关键帧的第1~k-1层级信息全部存储进入当前关键帧集合中,上述步骤采用下式可表达为:
对于第Y个关键帧的第k层信息:
首先,从Zk,1,Zk,2……Zk,I……Zk,Y-1,寻找取最小值,其采用Zk,m来表示,即第m个关键帧第K层级信息存储重要性参数最小;
其次,根据Zk,m、Zk,Y的大小,决定是否存储第Y个关键帧的第k层级信息Xk,Y:
当Zk,m>Zk,Y
则Zk,Y赋予新的数值(例如:NULL或者+∞)(使得Zk,Y不再参与排序);
Xk,Y赋予新的数值NULL或者0,即将第Y个关键帧的第k层级信息不存储;
当Zk,m≤Zk,Y
则Zk,m赋予新的数值,使得Zk,m不再参与排序;
Xk,m赋予新的数值NULL或者0,即将第m个关键帧的第k层级信息删去,将第Y个关键帧的第k层级信息Xk,Y存储,即将第m个关键帧的第k层级信息的存储空间让与第Y个关键帧的第k层级信息存储空间(即第k层级信息的存储量始终保持在Qk)。
……
当Qj<Y≤Qj-1时,将第Y个关键帧的第1~j-1层级信息全部存储进入当前关键帧集合中,上述步骤采用下式可表达为:
对于第Y个关键帧的第j~k层级(需要说明的是:本申请中j表示[1,k]之间的任意自然数,而非k-1,即j,k在英文中的顺序在本申请中不代表两者之间的间距)信息而言,逐层进行计算,决定是否存储:
对于第Y个关键帧的第j层级信息而言:
首先,从Zj,1,Zj,2……Zj,I……Zj,Y-1,寻找取最小值,其采用Zj,m来表示,即第m个关键帧第j层级信息存储重要性参数最小;
其次,根据Zj,m、Zj,Y的大小,决定是否存储第Y个关键帧的第j层级信息Xj,Y:
当Zj,m>Zj,Y
则Zj,Y赋予新的数值(例如:NULL或者+∞),使得Zj,Y不再参与排序;
Xj,Y赋予新的数值NULL或者0,即将第Y个关键帧的第j层级信息不存储;
当Zj,m≤Zj,Y
则Zj,m赋予新的数值,使得Zj,m不再参与排序;
Xj,m赋予新的数值NULL或者0,即将第m个关键帧的第j层级信息删去,将第Y个关键帧的第j层级信息Xj,Y存储,即将第m个关键帧的第j层级信息的存储空间让与第Y个关键帧的第j层级信息存储空间(即第j层级信息的存储量始终保持在Qj)。
对于第Y个关键帧的第j+1层级信息而言:
首先,从Zj+1,1,Zj+1,2……Zj+1,I……Zj+1,Y-1,寻找取最小值,其采用Zj+1,m来表示,即第m个关键帧第j+1层级信息存储重要性参数最小;
其次,根据Zj+1,m、Zj+1,Y的大小,决定是否存储第Y个关键帧的第j+1层级信息Xj+1,Y:
当Zj+1,m>Zj+1,Y
则Zj+1,Y赋予新的数值(例如:NULL或者+∞),使得Zj+1,Y不再参与排序;
Xj+1,Y赋予新的数值NULL或者0,即将第Y个关键帧的第j+1层级信息不存储;
当Zj+1,m≤Zj+1,Y
则Zj+1,m赋予新的数值,使得Zj+1,m不再参与排序;
Xj+1,m赋予新的数值NULL或者0,即将第m个关键帧的第j+1层级信息删去,将第Y个关键帧的第j+1层级信息Xj+1,Y存储,即将第m个关键帧的第j+1层级信息的存储空间让与第Y个关键帧的第j+1层级信息存储空间(即第j+1层级信息的存储量始终保持在Qj+1)。
………
对于第Y个关键帧的第k层信息:
首先,从Zk,1,Zk,2……Zk,I……Zk,Y-1,寻找取最小值,其采用Zk,m来表示,即第m个关键帧第K层级信息存储重要性参数最小;
其次,根据Zk,m、Zk,Y的大小,决定是否存储第Y个关键帧的第k层级信息Xk,Y:
当Zk,m>Zk,Y
则Zk,Y赋予新的数值(例如:NULL或者+∞)(使得Zk,Y不再参与排序);
Xk,Y赋予新的数值NULL或者0,即将第Y个关键帧的第k层级信息不存储;
当Zk,m≤Zk,Y
则Zk,m赋予新的数值,使得Zk,m不再参与排序;
Xk,m赋予新的数值NULL或者0,即将第m个关键帧的第k层级信息删去,将第Y个关键帧的第k层级信息Xk,Y存储,即将第m个关键帧的第k层级信息的存储空间让与第Y个关键帧的第k层级信息存储空间(即第k层级信息的存储量始终保持在Qk)。
……
当Q2<Y≤Q1时,
将第Y个关键帧的第1层级信息全部存储进入当前关键帧集合中,上述步骤采用下式可表达为:
|X1,1X1,2......X1,I......X1,Y-1|—>|X1,1X1,2......X1,I......X1,Y-1X1,Y|
对于第Y个关键帧的第2~k层级信息而言,逐层进行计算,决定是否存储:
对于第Y个关键帧的第2层级信息而言:
首先,从Z2,1,Z2,2……Z2,I……Z2,Y-1,寻找取最小值,其采用Z2,m来表示,即第m个关键帧第2层级信息存储重要性参数最小;
其次,根据Z2,m、Z2,Y的大小,决定是否存储第Y个关键帧的第2层级信息X2,Y:
当Z2,m>Z2,Y
则Z2,Y赋予新的数值(例如:NULL或者+∞),使得Z2,Y不再参与排序;
X2,Y赋予新的数值NULL或者0,即将第Y个关键帧的第2层级信息不存储;
当Z2,m≤Z2,Y
则Z2,m赋予新的数值,使得Z2,m不再参与排序;
X2,m赋予新的数值NULL或者0,即将第m个关键帧的第2层级信息删去,将第Y个关键帧的第2层级信息X2,Y存储,即将第m个关键帧的第2层级信息的存储空间让与第Y个关键帧的第2层级信息存储空间(即第2层级信息的存储量始终保持在Q2)。
对于第Y个关键帧的第3层级信息而言:
首先,从Z3,1,Z3,2……Z3,I……Z3,Y-1,寻找取最小值,其采用Z3,m来表示,即第m个关键帧第3层级信息存储重要性参数最小;
其次,根据Z3,m、Z3,Y的大小,决定是否存储第Y个关键帧的第3层级信息X3,Y:
当Z3,m>Z3,Y
则Z3,Y赋予新的数值(例如:NULL或者+∞),使得Z3,Y不再参与排序;
X3,Y赋予新的数值NULL或者0,即将第Y个关键帧的第3层级信息不存储;
当Z3,m≤Z3,Y
则Z3,m赋予新的数值,使得Z3,m不再参与排序;
X3,m赋予新的数值NULL或者0,即将第m个关键帧的第3层级信息删去,将第Y个关键帧的第3层级信息X3,Y存储,即将第m个关键帧的第3层级信息的存储空间让与第Y个关键帧的第3层级信息存储空间(即第3层级信息的存储量始终保持在Q3)。
………
对于第Y个关键帧的第k层信息:
首先,从Zk,1,Zk,2……Zk,I……Zk,Y-1,寻找取最小值,其采用Zk,m来表示,即第m个关键帧第K层级信息存储重要性参数最小;
其次,根据Zk,m、Zk,Y的大小,决定是否存储第Y个关键帧的第k层级信息Xk,Y:
当Zk,m>Zk,Y
则Zk,Y赋予新的数值(例如:NULL或者+∞)(使得Zk,Y不再参与排序);
Xk,Y赋予新的数值NULL或者0,即将第Y个关键帧的第k层级信息不存储;
当Zk,m≤Zk,Y
则Zk,m赋予新的数值,使得Zk,m不再参与排序;
Xk,m赋予新的数值NULL或者0,即将第m个关键帧的第k层级信息删去,将第Y个关键帧的第k层级信息Xk,Y存储,即将第m个关键帧的第k层级信息的存储空间让与第Y个关键帧的第k层级信息存储空间(即第k层级信息的存储量始终保持在Qk)。
当Q1<Y时:
对于第Y个关键帧的第1~k层级信息而言,逐层进行计算,决定是否存储:
对于第Y个关键帧的第1层级信息而言:
首先,从Z1,1,Z1,2……Z1,I……Z1,Y-1,寻找取最小值,其采用Z1,m来表示,即第m个关键帧第1层级信息存储重要性参数最小;
其次,根据Z1,m、Z1,Y的大小,决定是否存储第Y个关键帧的第1层级信息X1,Y:
当Z1,m>Z1,Y
则Z1,Y赋予新的数值(例如:NULL或者+∞),使得Z1,Y不再参与排序;
X1,Y赋予新的数值NULL或者0,即将第Y个关键帧的第1层级信息不存储;
当Z1,m≤Z1,Y
则Z1,m赋予新的数值,使得Z1,m不再参与排序;
X1,m赋予新的数值NULL或者0,即将第m个关键帧的第1层级信息删去,将第Y个关键帧的第1层级信息X1,Y存储,即将第m个关键帧的第1层级信息的存储空间让与第Y个关键帧的第1层级信息存储空间(即第1层级信息的存储量始终保持在Q1)。
对于第Y个关键帧的第2层级信息而言:
首先,从Z2,1,Z2,2……Z2,I……Z2,Y-1,寻找取最小值,其采用Z2,m来表示,即第m个关键帧第2层级信息存储重要性参数最小;
其次,根据Z2,m、Z2,Y的大小,决定是否存储第Y个关键帧的第2层级信息X2,Y:
当Z2,m>Z2,Y
则Z2,Y赋予新的数值(例如:NULL或者+∞),使得Z2,Y不再参与排序;
X2,Y赋予新的数值NULL或者0,即将第Y个关键帧的第2层级信息不存储;
当Z2,m≤Z2,Y
则Z2,m赋予新的数值,使得Z2,m不再参与排序;
X2,m赋予新的数值NULL或者0,即将第m个关键帧的第2层级信息删去,将第Y个关键帧的第2层级信息X2,Y存储,即将第m个关键帧的第2层级信息的存储空间让与第Y个关键帧的第2层级信息存储空间(即第2层级信息的存储量始终保持在Q2)。
对于第Y个关键帧的第3层级信息而言:
首先,从Z3,1,Z3,2……Z3,I……Z3,Y-1,寻找取最小值,其采用Z3,m来表示,即第m个关键帧第3层级信息存储重要性参数最小;
其次,根据Z3,m、Z3,Y的大小,决定是否存储第Y个关键帧的第3层级信息X3,Y:
当Z3,m>Z3,Y
则Z3,Y赋予新的数值(例如:NULL或者+∞),使得Z3,Y不再参与排序;
X3,Y赋予新的数值NULL或者0,即将第Y个关键帧的第3层级信息不存储;
当Z3,m≤Z3,Y
则Z3,m赋予新的数值,使得Z3,m不再参与排序;
X3,m赋予新的数值NULL或者0,即将第m个关键帧的第3层级信息删去,将第Y个关键帧的第3层级信息X3,Y存储,即将第m个关键帧的第3层级信息的存储空间让与第Y个关键帧的第3层级信息存储空间(即第3层级信息的存储量始终保持在Q3)。
………
对于第Y个关键帧的第k层信息:
首先,从Zk,1,Zk,2……Zk,I……Zk,Y-1,寻找取最小值,其采用Zk,m来表示,即第m个关键帧第K层级信息存储重要性参数最小;
其次,根据Zk,m、Zk,Y的大小,决定是否存储第Y个关键帧的第k层级信息Xk,Y:
当Zk,m>Zk,Y
则Zk,Y赋予新的数值(例如:NULL或者+∞)(使得Zk,Y不再参与排序);
Xk,Y赋予新的数值NULL或者0,即将第Y个关键帧的第k层级信息不存储;
当Zk,m≤Zk,Y
则Zk,m赋予新的数值,使得Zk,m不再参与排序;
Xk,m赋予新的数值NULL或者0,即将第m个关键帧的第k层级信息删去,将第Y个关键帧的第k层级信息Xk,Y存储,即将第m个关键帧的第k层级信息的存储空间让与第Y个关键帧的第k层级信息存储空间(即第k层级信息的存储量始终保持在Qk)。
一种SLAM***,包括:信息层级序列建立模块、信息层级的存储量建立模块、当前关键帧信息提取模块、当前关键帧信息存储重要性系数计算模块、关键帧集合层级信息存储重要性系数计算与存储模块;关键帧集合层级信息计算与存储模块;
所述信息层级序列建立模块、所述信息层级的存储量建立模块分别与当前关键帧信息提取模块连接;
所述信息层级序列建立模块、所述信息层级的存储量建立模块分别与当前关键帧信息存储重要性系数计算模块连接;
“所述当前关键帧信息存储重要性系数计算模块”和“所述关键帧集合层级信息存储重要性系数计算与存储模块”连接;
所述当前关键帧信息提取模块、所述关键帧集合层级信息存储重要性系数计算与存储模块分别与所述关键帧集合层级信息计算与存储模块连接;
所述信息层级序列建立模块用于建立关键帧集合的信息层级序列,以及用于指导当前关键帧信息提取模块提取当前关键帧图像的信息,是步骤S100运行的载体;
所述信息层级的存储量建立模块用于建立关键帧集合不同层级信息存储空间,是步骤S200运行的载体;
所述当前关键帧信息提取模块用于从当前关键帧图像中提取不同层级的信息,是步骤S300运行的载体;
所述当前关键帧信息存储重要性系数计算模块用于计算当前关键帧的不同层级信息的存储重要性系数;
所述关键帧集合层级信息存储重要性系数计算与存储模块用于存储当前关键帧集合的不同层级信息的存储重要性系数;
所述关键帧集合层级信息计算与存储模块用于决定当前关键帧信息提取模块传递来的当前关键帧图像中提取不同层级的信息的存储方式(即决定其是否存储)。
需要说明的是:信息层级序列建立模块、信息层级的存储量建立模块,这两个模块并非必要技术特征,也即,S100与S200并非一定需要通过这两个模块来设定,设计人员可以直接在软件***中设定相关参数。
实施例一:如图1所示,一种SLAM方法,对关键帧集合的信息进行分层处理;包括以下步骤:
S100,建立关键帧集合的信息层级序列:
第1层级信息:场景的特征词集合(即BOW模型);
第2层级信息:空间实体的空间关系表达;
第3层级信息:点/线/面特征;
第4层级信息:稠密点云特征。
S200,根据步骤S100建立的信息层级序列建立关键帧集合的信息的存储优先级:层级高的信息级别的存储量大于层级低的信息级别的存储量,且层级高的信息级别的存储时间大于层级低的信息级别的存储时间。
具体而言,S200要确定关键帧的第1~4信息层级的存储量:
第1层级信息的存储量为Q1=50000,第2层级信息的存储量为Q2=40000,第3层级信息的存储量为Q3=10000,第4层级信息的存储量为Q4=700:
S300,当前关键帧为第Y个关键帧,如图1所示:从第Y个关键帧提取第1~4层的信息:X1,Y、X2,Y、X3,Y、Xk,Y;
同时计算第Y个关键帧提取第1~k层的信息的存储重要性系数:Z1,Y、Z2,Y、Z3,Y、Zk,Y;存储重要性系数的计算原则,***设计人员可以根据实际需求以及环境来具体确定以及调整。例如:我司在室内模拟环境中给予机器的设计为:十字路口的存储重要性系数定位1.0,丁字路口的存储重要性系数定位0.8,路中间的存储重要性系数定位0.5。
X1,Y、X2,Y、X3,Y、X4,Y分别表示:第Y个关键帧的第1层级信息,第Y个关键帧的第2层级信息、第Y个关键帧的第3层级信息、第Y个关键帧的第4层级信息;
Z1,Y、Z2,Y、Z3,Y、Z4,Y分别表示:第Y个关键帧的第1层级信息的存储重要性系数、第Y个关键帧的第2层级信息的存储重要性系数、第Y个关键帧的第3层级信息的存储重要性系数、第Y个关键帧的第4层级信息的存储重要性系数;
S400,将当前第Y个关键帧提取的第1~4层的信息的存储重要性系数:Z1,Y、Z2,Y、Z3,Y、Z4,Y加入到当前的关键帧层级信息的存储重要性系数矩阵中:
将第Y个关键帧的提取的第1~4层级信息的存储重要性参数全部存储进入当前的关键帧层级信息的存储重要性系数矩阵;
上述步骤采用下式可表达为:
S500,将当前第Y个关键帧提取的第1~4层的信息:X1,Y、X2,Y、X3,Y、X4,Y,加入当前的关键帧层级信息矩阵中:
将当前第Y个关键帧提取的第1~4层的信息:X1,Y、X2,Y、X3,Y、X4,Y,加入到当前的关键帧层级信息矩阵中:
当0<Y≤Q4时,将第Y个关键帧的提取的第1~4层级信息全部存储进入当前关键帧集合中;
上述步骤采用下式可表达为:
当Qj<Y≤Qj-1时,将第Y个关键帧的第1~j-1层级信息全部存储进入当前关键帧集合中,上述步骤采用下式可表达为:
对于第Y个关键帧的第j~4层级信息而言,逐层进行计算,决定是否存储:
对于第j~4层中的任意第β层而言,
首先,从Zβ,1,Zβ,2……Zβ,I……Zβ,Y-1,寻找取最小值,其采用Zβ,m来表示,即第m个关键帧第β层级信息存储重要性参数最小;
其次,根据Zβ,m、Zβ,Y的大小,决定是否存储第Y个关键帧的第β层级信息Xβ,Y:
当Zβ,m>Zβ,Y
则Zβ,Y赋予新的数值(例如:NULL或者+∞),使得Zβ,Y不再参与排序;
Xβ,Y赋予新的数值NULL或者0,即将第Y个关键帧的第β层级信息不存储;
当Zβ,m≤Zβ,Y
则Zβ,m赋予新的数值,使得Zβ,m不再参与排序;
Xβ,m赋予新的数值NULL或者0,即将第m个关键帧的第β层级信息删去,将第Y个关键帧的第β层级信息Xβ,Y存储,即将第m个关键帧的第β层级信息的存储空间让与第Y个关键帧的第β层级信息存储空间(即第β层级信息的存储量始终保持在Qβ)。
当Q1<Y时:
对于第Y个关键帧的第1~4层级信息而言,逐层进行计算,决定是否存储:
对于第1~4层中的任意第β层而言,
首先,从Zβ,1,Zβ,2……Zβ,I……Zβ,Y-1,寻找取最小值,其采用Zβ,m来表示,即第m个关键帧第β层级信息存储重要性参数最小;
其次,根据Zβ,m、Zβ,Y的大小,决定是否存储第Y个关键帧的第β层级信息Xβ,Y:
当Zβ,m>Zβ,Y
则Zβ,Y赋予新的数值(例如:NULL或者+∞),使得Zβ,Y不再参与排序;
Xβ,Y赋予新的数值NULL或者0,即将第Y个关键帧的第β层级信息不存储;
当Zβ,m≤Zβ,Y
则Zβ,m赋予新的数值,使得Zβ,m不再参与排序;
Xβ,m赋予新的数值NULL或者0,即将第m个关键帧的第β层级信息删去,将第Y个关键帧的第β层级信息Xβ,Y存储,即将第m个关键帧的第β层级信息的存储空间让与第Y个关键帧的第β层级信息存储空间(即第β层级信息的存储量始终保持在Qβ)。
需要说明的是,从实施例一可知知晓:对于任意一个第I个关键帧第j层信息Xj,I而言,其值并不限于一定是一个数值,也即,其可以是一个字符集合,例如实施例一的:X1,I是BOW模型数据,也可以是一个数据集,例如:实施例一的:X4,I是稠密点云数据集。
以上所举实施例为本发明的较佳实施方式,仅用来方便说明本发明,并非对本发明作任何形式上的限制,任何所属技术领域中具有通常知识者,若在不脱离本发明所提技术特征的范围内,利用本发明所揭示技术内容所作出局部更动或修饰的等效实施例,并且未脱离本发明的技术特征内容,均仍属于本发明技术特征的范围内。
Claims (3)
1.一种SLAM***,其特征在于,包括:当前关键帧信息提取模块、当前关键帧信息存储重要性系数计算模块、关键帧集合层级信息存储重要性系数计算与存储模块;关键帧集合层级信息计算与存储模块;
所述当前关键帧信息存储重要性系数计算模块和所述关键帧集合层级信息存储重要性系数计算与存储模块连接;
所述当前关键帧信息提取模块、所述关键帧集合层级信息存储重要性系数计算与存储模块分别与所述关键帧集合层级信息计算与存储模块连接;
所述当前关键帧信息提取模块用于从当前关键帧图像中提取不同层级的信息;
所述当前关键帧信息存储重要性系数计算模块用于计算当前关键帧的不同层级信息的存储重要性系数;
所述关键帧集合层级信息存储重要性系数计算与存储模块用于存储当前关键帧集合的不同层级信息的存储重要性系数;
所述关键帧集合层级信息计算与存储模块用于决定当前关键帧信息提取模块传递来的当前关键帧图像中提取不同层级的信息的存储方式。
2.根据权利要求1所述的一种SLAM***,其特征在于,所述SLAM***还包括:信息层级序列建立模块、信息层级的存储量建立模块;
所述信息层级序列建立模块、所述信息层级的存储量建立模块分别与当前关键帧信息提取模块连接;所述信息层级序列建立模块、所述信息层级的存储量建立模块分别与当前关键帧信息存储重要性系数计算模块连接。
3.根据权利要求2所述的一种SLAM***,其特征在于,所述信息层级序列建立模块用于建立关键帧集合的信息层级序列,以及用于指导当前关键帧信息提取模块提取当前关键帧图像的信息;所述信息层级的存储量建立模块用于建立关键帧集合不同层级信息存储空间。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110658243.4A CN113392370B (zh) | 2021-06-15 | 2021-06-15 | 一种slam*** |
CN202111532176.8A CN114154117B (zh) | 2021-06-15 | 2021-06-15 | 一种slam方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110658243.4A CN113392370B (zh) | 2021-06-15 | 2021-06-15 | 一种slam*** |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111532176.8A Division CN114154117B (zh) | 2021-06-15 | 2021-06-15 | 一种slam方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113392370A CN113392370A (zh) | 2021-09-14 |
CN113392370B true CN113392370B (zh) | 2022-01-04 |
Family
ID=77620882
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110658243.4A Active CN113392370B (zh) | 2021-06-15 | 2021-06-15 | 一种slam*** |
CN202111532176.8A Active CN114154117B (zh) | 2021-06-15 | 2021-06-15 | 一种slam方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111532176.8A Active CN114154117B (zh) | 2021-06-15 | 2021-06-15 | 一种slam方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113392370B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111461140A (zh) * | 2020-03-30 | 2020-07-28 | 北京航空航天大学 | 适用于slam***的直线描述子构建和匹配方法 |
CN112240768A (zh) * | 2020-09-10 | 2021-01-19 | 西安电子科技大学 | 基于Runge-Kutta4改进预积分的视觉惯导融合SLAM方法 |
CN112904901A (zh) * | 2021-01-14 | 2021-06-04 | 吉林大学 | 一种基于双目视觉slam与融合算法的路径规划方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100371513B1 (ko) * | 1999-12-06 | 2003-02-07 | 주식회사 팬택앤큐리텔 | 계층적 동영상 트리구조에서의 에지에 저장하는 키프레임의 충실도를 이용한 효율적인 동영상 요약 및 브라우징 장치 및 방법 |
US9674507B2 (en) * | 2013-04-30 | 2017-06-06 | Qualcomm Incorporated | Monocular visual SLAM with general and panorama camera movements |
US10228242B2 (en) * | 2013-07-12 | 2019-03-12 | Magic Leap, Inc. | Method and system for determining user input based on gesture |
US9355123B2 (en) * | 2013-07-19 | 2016-05-31 | Nant Holdings Ip, Llc | Fast recognition algorithm processing, systems and methods |
US10217221B2 (en) * | 2016-09-29 | 2019-02-26 | Intel Corporation | Place recognition algorithm |
US11187536B2 (en) * | 2018-01-12 | 2021-11-30 | The Trustees Of The University Of Pennsylvania | Probabilistic data association for simultaneous localization and mapping |
CN108830220B (zh) * | 2018-06-15 | 2021-01-05 | 山东大学 | 基于深度学习的视觉语义库构建及全局定位方法 |
US11307049B2 (en) * | 2018-07-19 | 2022-04-19 | Uisee Technologies (Beijing) Co., Ltd | Methods, apparatuses, systems, and storage media for storing and loading visual localization maps |
CN109671120A (zh) * | 2018-11-08 | 2019-04-23 | 南京华捷艾米软件科技有限公司 | 一种基于轮式编码器的单目slam初始化方法及*** |
CN109711365A (zh) * | 2018-12-29 | 2019-05-03 | 佛山科学技术学院 | 一种融合语义信息的视觉slam回环检测方法及装置 |
CN109903314A (zh) * | 2019-03-13 | 2019-06-18 | 腾讯科技(深圳)有限公司 | 一种图像区域定位的方法、模型训练的方法及相关装置 |
CN110533587B (zh) * | 2019-07-03 | 2023-06-13 | 浙江工业大学 | 一种基于视觉先验信息和地图恢复的slam方法 |
CN110598713B (zh) * | 2019-08-06 | 2022-05-06 | 厦门大学 | 基于深度神经网络的智能图像自动描述方法 |
CN112258600A (zh) * | 2020-10-19 | 2021-01-22 | 浙江大学 | 一种基于视觉与激光雷达的同时定位与地图构建方法 |
-
2021
- 2021-06-15 CN CN202110658243.4A patent/CN113392370B/zh active Active
- 2021-06-15 CN CN202111532176.8A patent/CN114154117B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111461140A (zh) * | 2020-03-30 | 2020-07-28 | 北京航空航天大学 | 适用于slam***的直线描述子构建和匹配方法 |
CN112240768A (zh) * | 2020-09-10 | 2021-01-19 | 西安电子科技大学 | 基于Runge-Kutta4改进预积分的视觉惯导融合SLAM方法 |
CN112904901A (zh) * | 2021-01-14 | 2021-06-04 | 吉林大学 | 一种基于双目视觉slam与融合算法的路径规划方法 |
Non-Patent Citations (2)
Title |
---|
"Efficient on-board Stereo SLAM through constrained-covisibility strategies";Castro Gastón 等;《Robotics and Autonomous Systems》;20180506;第116卷(第5期);第192-205页 * |
"基于BA优化和KL散度的RGB-D SLAM***";徐岩 等;《东北大学学报(自然科学版)》;20200715;第41卷(第7期);第933-937页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113392370A (zh) | 2021-09-14 |
CN114154117B (zh) | 2022-08-23 |
CN114154117A (zh) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109658445A (zh) | 网络训练方法、增量建图方法、定位方法、装置及设备 | |
CN111062951A (zh) | 一种基于语义分割类内特征差异性的知识蒸馏方法 | |
CN109992636A (zh) | 时空编码方法、时空索引及查询方法及装置 | |
CN109684428A (zh) | 空间数据建设方法、装置、设备及存储介质 | |
CN114283164B (zh) | 基于UNet3+的乳腺癌病理切片图像分割预测*** | |
CN113379786B (zh) | 图像抠图方法、装置、计算机设备及存储介质 | |
WO2016095068A1 (en) | Pedestrian detection apparatus and method | |
CN102810116A (zh) | 一种基于数据库连接的自动路由和负载均衡的方法及*** | |
CN113850136A (zh) | 基于yolov5与BCNN的车辆朝向识别方法及*** | |
CN110136174A (zh) | 一种目标对象跟踪方法和装置 | |
CN116402876A (zh) | 双目深度估计方法、装置、嵌入式设备和可读存储介质 | |
CN113392370B (zh) | 一种slam*** | |
CN114595302A (zh) | 空间要素的多层级空间关系构建方法、装置、介质及设备 | |
CN117034942B (zh) | 一种命名实体识别方法、装置、设备及可读存储介质 | |
CN114092651A (zh) | 用于应急管理的智能建模***及方法 | |
CN116797830A (zh) | 一种基于YOLOv7的图像风险分类方法及装置 | |
CN115577106B (zh) | 基于人工智能的文本分类方法、装置、设备和介质 | |
CN114912516B (zh) | 一种协调特征一致性和特异性的跨域目标检测方法及*** | |
CN111027551A (zh) | 图像处理方法、设备和介质 | |
CN110413716A (zh) | 数据存储和数据查询方法、装置及电子设备 | |
CN115131362A (zh) | 一种大规模点云局部区域特征编码方法 | |
CN114943766A (zh) | 重定位方法、装置、电子设备及计算机可读存储介质 | |
CN114997365A (zh) | 图像数据的知识蒸馏方法、装置、终端设备及存储介质 | |
CN114972956A (zh) | 一种目标检测模型训练方法、装置、设备及存储介质 | |
CN114937153A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240117 Address after: 1208-1211, 12th Floor, No. 51 Xueyuan Road, Haidian District, Beijing, 100080 Patentee after: METOAK TECHNOLOGY (BEIJING) CO.,LTD. Patentee after: Yuanxiang Technology (Suzhou) Co.,Ltd. Address before: 215163 floor 8, building 10, Su hi tech software park, No. 78, Keling Road, science and Technology City, high tech Zone, Suzhou, Jiangsu Patentee before: Yuanxiang Technology (Suzhou) Co.,Ltd. |