1.本发明涉及计算机技术领域,具体而言,涉及一种回环检测方法、装置和电子设备。
背景技术:2.目前,在需要进行视角切换的陆空两栖平台上还没有有效的回环检测方法。对陆空两栖平台而言,其观察模式在陆地上和空中来回切换的特性给视觉slam带来了很大的挑战。观察模式在陆地上和空中来回切换变化导致的视角变化会产生视角差,视角差的出现会导致现有的回环检测方法难以正确地对陆空两栖平台经过同一环境时进行回环检测。
技术实现要素:3.为解决上述问题,本发明实施例的目的在于提供一种回环检测方法、装置和电子设备。
4.第一方面,本发明实施例提供了一种回环检测方法,包括:
5.获取当前的周围环境图像,对所述当前的周围环境图像进行处理,得到所述当前的周围环境图像的关键帧、关键帧位置信息、以及所述当前的周围环境图像中特征点的位置信息;
6.对所述当前的周围环境图像进行预处理,得到所述当前的周围环境图像的灰度图像,并通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子;
7.基于所述灰度图像中各点数据为特征点的置信度、各点数据的描述子、所述当前的周围环境图像中特征点的位置信息,确定出所述当前的周围环境图像的关键帧的回环帧;
8.根据关键帧位置信息和所述当前的周围环境图像中特征点,对所述当前的周围环境图像的关键帧与所述回环帧之间的相对位姿进行计算。
9.第二方面,本发明实施例还提供了一种回环检测装置,包括:
10.获取模块,用于获取当前的周围环境图像,对所述当前的周围环境图像进行处理,得到所述当前的周围环境图像的关键帧、关键帧位置信息、以及所述当前的周围环境图像中特征点的位置信息;
11.处理模块,用于对所述当前的周围环境图像进行预处理,得到所述当前的周围环境图像的灰度图像,并通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子;
12.确定模块,用于基于所述灰度图像中各点数据为特征点的置信度、各点数据的描述子、所述当前的周围环境图像中特征点的位置信息,确定出所述当前的周围环境图像的关键帧的回环帧;
13.计算模块,用于根据关键帧位置信息和所述当前的周围环境图像中特征点,对所
述当前的周围环境图像的关键帧与所述回环帧之间的相对位姿进行计算。
14.第三方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面所述的方法的步骤。
15.第四方面,本发明实施例还提供了一种电子设备,所述电子设备包括有存储器,处理器以及一个或者一个以上的程序,其中所述一个或者一个以上程序存储于所述存储器中,且经配置以由所述处理器执行上述第一方面所述的方法的步骤。
16.本发明实施例上述第一方面至第四方面提供的方案中,对获取到的所述当前的周围环境图像进行处理,得到所述当前的周围环境图像的关键帧、关键帧位置信息、以及所述当前的周围环境图像中特征点的位置信息后,通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子;然后,基于所述灰度图像中各点数据为特征点的置信度、各点数据的描述子、所述当前的周围环境图像中特征点的位置信息,确定出所述当前的周围环境图像的关键帧的回环帧;最后,根据关键帧位置信息和所述当前的周围环境图像中特征点,对所述当前的周围环境图像的关键帧与所述回环帧之间的相对位姿进行计算,与相关技术中使用人工得到的描述子时视角切换前后出现视角差的缺陷方式相比,通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子,并利用得到的各所述点数据的描述子确定出所述当前的周围环境图像的关键帧的回环帧,从而避免视角切换前后视角差带来的回环检测失败问题,增加了视角差情况下的回环检测鲁棒性。
17.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1示出了本发明实施例1所提供的一种回环检测方法的流程图;
20.图2示出了本发明实施例2所提供的一种回环检测装置的结构示意图;
21.图3示出了本发明实施例3所提供的一种电子设备的结构示意图。
具体实施方式
22.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
23.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性
或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
24.在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
25.目前,在需要进行视角切换的陆空两栖平台上还没有有效的回环检测方法。对陆空两栖平台而言,其观察模式在陆地上和空中来回切换的特性给视觉slam带来了很大的挑战。观察模式在陆地上和空中来回切换变化导致的视角变化会产生视角差,视角差的出现会导致现有的回环检测方法难以正确地对陆空两栖平台经过同一环境时进行回环检测。
26.基于此,本技术以下各实施例提出一种回环检测方法、装置和电子设备,对获取到的所述当前的周围环境图像进行处理,得到所述当前的周围环境图像的关键帧、关键帧位置信息、以及所述当前的周围环境图像中特征点的位置信息后,通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子;然后,基于所述灰度图像中各点数据为特征点的置信度、各点数据的描述子、所述当前的周围环境图像中特征点的位置信息,确定出所述当前的周围环境图像的关键帧的回环帧;最后,根据关键帧位置信息和所述当前的周围环境图像中特征点,对所述当前的周围环境图像的关键帧与所述回环帧之间的相对位姿进行计算,通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子,并利用得到的各所述点数据的描述子确定出所述当前的周围环境图像的关键帧的回环帧,从而避免视角切换前后视角差带来的回环检测失败问题,增加了视角差情况下的回环检测鲁棒性。
27.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术做进一步详细的说明。
28.实施例1
29.本实施例提出一种回环检测方法,执行主体是陆空两栖平台上的计算设备。
30.所述计算设备与陆空两栖平台上的图像采集设备连接,并能够获取所述图像采集设备所采集到的周围环境图像。
31.参见图1所示的一种回环检测方法的流程图,本实施例提出一种回环检测方法,包括以下具体步骤:
32.步骤100、获取当前的周围环境图像,对所述当前的周围环境图像进行处理,得到所述当前的周围环境图像的关键帧、关键帧位置信息、以及所述当前的周围环境图像中特征点的位置信息。
33.在上述步骤100中,所述计算设备先获取陆空两栖平台的图像采集设备采集到的当前的周围环境图像。
34.在获取到所述当前的周围环境图像的同时,还可以获取到所述当前的周围环境图像的属性信息。
35.所述当前的周围环境图像的属性信息,包括但不限于:所述当前的周围环境图像的分辨率,所述当前的周围环境图像的拍摄时间以及所述当前的周围环境图像的图像大小。
36.所述计算设备,对获取到的所述当前的周围环境图像的属性信息进行缓存。
37.利用运行在所述计算设备中的slam框架的视觉里程计对所述当前的周围环境图像进行处理,得到所述当前的周围环境图像的关键帧、关键帧位置信息、以及所述当前的周围环境图像中特征点的位置信息。
38.其中,所述关键帧位置信息,是关键帧中展示物体的三维位置信息。
39.所述视觉里程计对所述当前的周围环境图像进行处理,得到所述当前的周围环境图像的关键帧、关键帧位置信息、以及所述当前的周围环境图像中特征点的位置信息的具体过程是现有技术,这里不再赘述。
40.步骤102、对所述当前的周围环境图像进行预处理,得到所述当前的周围环境图像的灰度图像,并通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子。
41.在上述步骤102中,对所述当前的周围环境图像进行预处理,就是对所述当前的周围环境图像进行灰度处理,并将所述当前的周围环境图像从当前的分辨率变换到预定的分辨率。
42.所述预定的分辨率,可以是但不限于:640
×
480和800
×
600。当然,所述预定的分辨率还可以设置为其他的分辨率大小,这里不再一一赘述。
43.对所述当前的周围环境图像进行灰度处理以及将所述当前的周围环境图像从当前的分辨率变换到预定的分辨率,均为现有技术,这里不再一一赘述。
44.通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子具体实现过程为现有技术,这里不再赘述。
45.所述灰度图像中的各点数据,就是所述灰度图像中的各个像素点。
46.步骤104、基于所述灰度图像中各点数据为特征点的置信度、各点数据的描述子、所述当前的周围环境图像中特征点的位置信息,确定出所述当前的周围环境图像的关键帧的回环帧。
47.在上述步骤104中,为了确定出所述当前的周围环境图像的关键帧的回环帧,可以执行以下步骤(1)至步骤(11):
48.(1)获取所述当前的周围环境图像的分辨率信息和所述灰度图像的分辨率信息;
49.(2)利用线型方法,对所述当前的周围环境图像的分辨率信息和所述灰度图像的分辨率信息进行处理,以将所述当前的周围环境图像中特征点的位置信息转换为所述灰度图像中特征点的位置信息;
50.(3)将所述灰度图像中特征点的位置信息对应位置的点数据的描述子确定为第一特征点的描述子;其中,所述第一特征点的位置信息是确定的;
51.(4)将各点数据中除位置信息确定的特征点之外的剩余点数据中置信度大于置信度阈值的点数据确定为第二特征点,并将各点数据中除位置信息确定的特征点外的剩余点数据中置信度大于置信度阈值的点数据的描述子确定为所述第二特征点的描述子;其中,
所述第二特征点的位置信息是未确定的;
52.(5)对所述第一特征点的描述子和所述第二特征点的描述子进行二值化处理,得到二值化的描述子;
53.(6)从训练好的词袋模型中确定出表征所述二值化的描述子的单词,并统计得到所述词袋模型中各单词表征所述二值化的描述子时的出现次数,并根据所述词袋模型中各单词表征所述二值化的描述子时的出现次数,得到表达所述当前的周围环境图像的特征向量[m1,m2,
……
,mi],其中,mi表示所述词袋模型中第i个单词表征所述二值化的描述子时的出现次数;
[0054]
(7)获取至少两个历史周围环境图像的特征向量,分别计算所述当前的周围环境图像的特征向量与至少两个历史周围环境图像的特征向量中各历史周围环境图像的特征向量的相似度;
[0055]
(8)将至少两个历史周围环境图像的特征向量中与所述当前的周围环境图像的特征向量相似度最大的历史周围环境图像的特征向量对应的关键帧确定为所述当前的周围环境图像的关键帧的备选回环帧;
[0056]
(9)获取所述备选回环帧的特征点描述子;
[0057]
(10)将所述备选回环帧的特征点描述子、以及所述第一特征点的描述子和所述第二特征点的描述子输入到训练好的基于图像神经网络算法的计算模型中,通过所述基于图像神经网络算法的计算模型,对所述回环帧的特征点描述子、以及所述第一特征点的描述子和所述第二特征点的描述子进行处理,确定所述备选回环帧与所述当前的周围环境图像的匹配特征点的数量;
[0058]
(11)当所述备选回环帧与所述当前的周围环境图像的匹配特征点的数量大于特征点数量阈值时,将所述备选回环帧确定为所述当前的周围环境图像的关键帧的回环帧,从而完成当前的周围环境图像的回环检测。
[0059]
在上述步骤(1)中,所述当前的周围环境图像的分辨率信息,是所述计算设备从缓存的所述当前的周围环境图像的属性信息中获取到的。
[0060]
在上述步骤(2)中,利用线型方法,对所述当前的周围环境图像的分辨率信息和所述灰度图像的分辨率信息进行处理,以将所述当前的周围环境图像中特征点的位置信息转换为所述灰度图像中特征点的位置信息的具体过程是现有技术,这里不再赘述。
[0061]
在上述步骤(4)中,所述置信度阈值,缓存在所述计算设备中。
[0062]
在一个实施方式中,所述置信度阈值,可以设置为0.5到0.8之间的任意数值,这里不再赘述。
[0063]
在上述步骤(5)中,为了得到二值化的描述子,可以通过以下公式对所述第一特征点的描述子和所述第二特征点的描述子进行二值化处理,得到二值化的描述子:
[0064][0065]
其中,cj表示所述第一特征点的描述子和所述第二特征点的描述子中任一描述子第j维二值化后的数值;vj表示所述第一特征点的描述子和所述第二特征点的描述子中任一描述子第j维二值化前的数值。
[0066]
在得到二值化的描述子后,可以得到二值化的描述子的维度。
[0067]
在上述步骤(6)中,需要先离线创建词袋模型,具体如下描述:
[0068]
离线创建基于深度学习提取的描述子的词袋模型,是将深度学习方法提取的描述子和传统的k叉树词袋模型方法相结合。传统的k叉树方法中,使用的是人工提取的描述子训练词典,其中二进制的orb和brief等描述子是当前用的最多的方法,效率高,回召率较高。而基于深度学习提取的描述子相对于二进制的人工描述子而言,区分度更高,更利于图像匹配,尤其是在有视角差情况下的图像匹配。基于深度学习提取的描述子维度更高,且数据类型为更为复杂的浮点数,相较于人工描述子而言更难于进行聚类,在基于k叉树的词袋模型中难以训练成可用的词袋模型。因此,为了能够实现聚类,本实施例提出了一种二值化处理深度学习描述子的方法。描述子是指图像中被检测到的特征点的一种向量表征方法。每一个特征点对应一个高维的向量,向量的每一个维度是一个浮点数类型的数值。本实施例提出将每一个数值都进行二值化的方法,具体公式如下:
[0069][0070]
其中,wi是指原向量第i维的数值,而b和bi分别表示二值化后的描述向量和该向量中第i维的数值。经过实验验证,经过这样二值化处理后的描述子依然具备与原描述子相当的区分度。描述子的区分度代表描述特征间的相似程度,区分度越高,更容易正确匹配相似的描述子。因此,在针对视差较大的图像进行匹配时,使用该二值化后的描述子相比于传统的orb和brief等描述子而言,具有相似的数据量,但是匹配能力远高于传统的描述子。与此同时,二值化后的描述子可以与传统的高效的基于词袋模型的图片检索方法相结合,可以创建比传统人工描述子更为有效的词袋模型。
[0071]
所述词袋模型,包括:单词与二值化的描述子的对应关系。
[0072]
那么,在创建得到词袋模型后,基于得到的词袋模型,通过在词袋模型的词典中逐层查找,每一组描述子将对应一个词典中的单词,而一张图片,则可以表示成多个单词的组合,形成一个词袋。这样则可以把一副图像转换成了一个向量的描述。最终通过训练好的词袋模型得到表达所述当前的周围环境图像的特征向量[m1,m2,
……
,mi]。
[0073]
在上述步骤(7)中,所述至少两个历史周围环境图像的特征向量,存储在历史周围环境图像数据库中。
[0074]
所述历史周围环境图像数据库中,存储有各历史周围环境图像的特征向量以及各历史周围环境图像的特征向量对应的关键帧的特征点描述子的对应关系。
[0075]
那么计算设备在获取到至少两个历史周围环境图像的特征向量的同时,也就分别获取到了至少两个历史周围环境图像的特征向量中各历史周围环境图像的特征向量对应的特征点描述子。
[0076]
所述历史周围环境图像数据库,设置在所述计算设备中。
[0077]
为了分别计算所述当前的周围环境图像的特征向量与至少两个历史周围环境图像的特征向量中各历史周围环境图像的特征向量的相似度,通过以下公式对所述当前的周围环境图像的特征向量与至少两个历史周围环境图像的特征向量中各历史周围环境图像的特征向量的相似度进行计算:
[0078][0079]
其中,s(a,b)表示所述当前的周围环境图像的特征向量与至少两个历史周围环境图像的特征向量中各历史周围环境图像的特征向量的相似度;a表示所述当前的周围环境图像的特征向量;b表示至少两个历史周围环境图像的特征向量中各历史周围环境图像的特征向量;w表示特征向量的维度;‖a-b‖1表示a与b的差值的l1范数。
[0080]
在上述步骤(10)中,训练好的基于图像神经网络算法的计算模型,运行在所述计算设备中。
[0081]
通过所述基于图像神经网络算法的计算模型,对所述回环帧的特征点描述子、以及所述第一特征点的描述子和所述第二特征点的描述子进行处理,包括:
[0082]
所述基于图像神经网络算法的计算模型对所述回环帧的特征点描述子、以及所述第一特征点的描述子和所述第二特征点的描述子进行匹配,可以得到所述备选回环帧分别与所述第一特征点和所述第二特征点中各特征点的匹配分数,对所述第一特征点和所述第二特征点中与所述备选回环帧的匹配分数高于分数阈值的特征点确定为匹配特征点,在确定出所述第一特征点和所述第二特征点中与所述备选回环帧全部的匹配特征点后,对确定出的匹配特征点的数量进行统计,得到作为所述备选回环帧与所述当前的周围环境图像的匹配特征点的数量的统计结果。
[0083]
所述分数阈值缓存在所述计算设备中。
[0084]
在上述步骤(11)中,所述特征点数量阈值,可以设置为15至25之间的任意数值。这里不再一一赘述。通过以上步骤(1)至步骤(11)描述的流程可以看出,将二值化后的描述子从训练好的词袋模型中得到表达所述当前的周围环境图像的特征向量,使得确定所述当前的周围环境图像的特征向量的过程简单方便,提高了计算效率。
[0085]
在通过上述步骤104完成当前的周围环境图像的回环检测后,可以继续执行以下步骤106,对所述当前的周围环境图像的关键帧与所述回环帧之间的相对位姿进行计算。
[0086]
步骤106、根据关键帧位置信息和所述当前的周围环境图像中特征点,对所述当前的周围环境图像的关键帧与所述回环帧之间的相对位姿进行计算。
[0087]
这里,可以利用pnp算法对所述关键帧位置信息和所述当前的周围环境图像中特征点的位置信息进行处理,计算得到所述当前的周围环境图像的关键帧与所述回环帧之间的相对位姿。
[0088]
在利用pnp算法对所述关键帧位置信息和所述当前的周围环境图像中特征点的位置信息进行处理之前,可以先选择所述第一特征点和所述第二特征点中与所述备选回环帧的匹配分数高于分数阈值的特征点作为匹配特征点,然后,利用pnp算法对所述关键帧位置信息和所述当前的周围环境图像中的匹配特征点的位置信息进行处理,对所述当前的周围环境图像的关键帧与所述回环帧之间的相对位姿进行计算、利用pnp算法对所述关键帧位置信息和所述当前的周围环境图像中所述匹配特征点的位置信息进行处理,计算得到所述当前的周围环境图像的关键帧与所述回环帧之间的相对位姿的具体过程是现有技术,这里不再赘述。
[0089]
所述pnp算法包括但不限于:直接线型变换,快速pnp和光束法平差。由于上述匹配算法精度很高,利用快速pnp即可求解得到精确的相对位姿。计算得到的相对位姿关系则作
为slam框架中后续的优化部分的约束条件。约束越多越精确,则可以更大程度上地消除累积误差。
[0090]
综上所述,本实施例提出一种回环检测方法,对获取到的所述当前的周围环境图像进行处理,得到所述当前的周围环境图像的关键帧、关键帧位置信息、以及所述当前的周围环境图像中特征点的位置信息后,通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子;然后,基于所述灰度图像中各点数据为特征点的置信度、各点数据的描述子、所述当前的周围环境图像中特征点的位置信息,确定出所述当前的周围环境图像的关键帧的回环帧;最后,根据关键帧位置信息和所述当前的周围环境图像中特征点,对所述当前的周围环境图像的关键帧与所述回环帧之间的相对位姿进行计算,与相关技术中使用人工得到的描述子时视角切换前后出现视角差的缺陷方式相比,通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子,并利用得到的各所述点数据的描述子确定出所述当前的周围环境图像的关键帧的回环帧,从而避免视角切换前后视角差带来的回环检测失败问题,增加了视角差情况下的回环检测鲁棒性。
[0091]
实施例2
[0092]
本实施例提出一种回环检测装置,用于执行上述实施例1提出的一种回环检测方法。
[0093]
参见图2所示的一种回环检测装置的结构示意图,本实施例提出一种回环检测装置,包括:
[0094]
获取模块200,用于获取当前的周围环境图像,对所述当前的周围环境图像进行处理,得到所述当前的周围环境图像的关键帧、关键帧位置信息、以及所述当前的周围环境图像中特征点的位置信息;
[0095]
处理模块202,用于对所述当前的周围环境图像进行预处理,得到所述当前的周围环境图像的灰度图像,并通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子;
[0096]
确定模块204,用于基于所述灰度图像中各点数据为特征点的置信度、各点数据的描述子、所述当前的周围环境图像中特征点的位置信息,确定出所述当前的周围环境图像的关键帧的回环帧;
[0097]
计算模块206,用于根据关键帧位置信息和所述当前的周围环境图像中特征点,对所述当前的周围环境图像的关键帧与所述回环帧之间的相对位姿进行计算。
[0098]
所述确定模块204,具体用于:
[0099]
获取所述当前的周围环境图像的分辨率信息和所述灰度图像的分辨率信息;
[0100]
利用线型方法,对所述当前的周围环境图像的分辨率信息和所述灰度图像的分辨率信息进行处理,以将所述当前的周围环境图像中特征点的位置信息转换为所述灰度图像中特征点的位置信息;
[0101]
将所述灰度图像中特征点的位置信息对应位置的点数据的描述子确定为第一特征点的描述子;其中,所述第一特征点的位置信息是确定的;
[0102]
将各点数据中除位置信息确定的特征点之外的剩余点数据中置信度大于置信度阈值的点数据确定为第二特征点,并将各点数据中除位置信息确定的特征点外的剩余点数
据中置信度大于置信度阈值的点数据的描述子确定为所述第二特征点的描述子;其中,所述第二特征点的位置信息是未确定的;
[0103]
对所述第一特征点的描述子和所述第二特征点的描述子进行二值化处理,得到二值化的描述子;
[0104]
从训练好的词袋模型中确定出表征所述二值化的描述子的单词,并统计得到所述词袋模型中各单词表征所述二值化的描述子时的出现次数,并根据所述词袋模型中各单词表征所述二值化的描述子时的出现次数,得到表达所述当前的周围环境图像的特征向量[m1,m2,
……
,mi],其中,mi表示所述词袋模型中第i个单词表征所述二值化的描述子时的出现次数;
[0105]
获取至少两个历史周围环境图像的特征向量,分别计算所述当前的周围环境图像的特征向量与至少两个历史周围环境图像的特征向量中各历史周围环境图像的特征向量的相似度;
[0106]
将至少两个历史周围环境图像的特征向量中与所述当前的周围环境图像的特征向量相似度最大的历史周围环境图像的特征向量对应的关键帧确定为所述当前的周围环境图像的关键帧的备选回环帧;
[0107]
当所述备选回环帧与所述当前的周围环境图像的匹配特征点的数量大于特征点数量阈值时,将所述备选回环帧确定为所述当前的周围环境图像的关键帧的回环帧,从而完成当前的周围环境图像的回环检测。
[0108]
综上所述,本实施例提出一种回环检测装置,对获取到的所述当前的周围环境图像进行处理,得到所述当前的周围环境图像的关键帧、关键帧位置信息、以及所述当前的周围环境图像中特征点的位置信息后,通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子;然后,基于所述灰度图像中各点数据为特征点的置信度、各点数据的描述子、所述当前的周围环境图像中特征点的位置信息,确定出所述当前的周围环境图像的关键帧的回环帧;最后,根据关键帧位置信息和所述当前的周围环境图像中特征点,对所述当前的周围环境图像的关键帧与所述回环帧之间的相对位姿进行计算,与相关技术中使用人工得到的描述子时视角切换前后出现视角差的缺陷方式相比,通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子,并利用得到的各所述点数据的描述子确定出所述当前的周围环境图像的关键帧的回环帧,从而避免视角切换前后视角差带来的回环检测失败问题,增加了视角差情况下的回环检测鲁棒性。
[0109]
实施例3
[0110]
本实施例提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述实施例1描述的回环检测方法的步骤。具体实现可参见方法实施例1,在此不再赘述。
[0111]
此外,参见图3所示的一种电子设备的结构示意图,本实施例还提出一种电子设备,上述电子设备包括总线51、处理器52、收发机53、总线接口54、存储器55和用户接口56。上述电子设备包括有存储器55。
[0112]
本实施例中,上述电子设备还包括:存储在存储器55上并可在处理器52上运行的一个或者一个以上的程序,经配置以由上述处理器执行上述一个或者一个以上程序用于进
行以下步骤(1)至步骤(4):
[0113]
(1)获取当前的周围环境图像,对所述当前的周围环境图像进行处理,得到所述当前的周围环境图像的关键帧、关键帧位置信息、以及所述当前的周围环境图像中特征点的位置信息;
[0114]
(2)对所述当前的周围环境图像进行预处理,得到所述当前的周围环境图像的灰度图像,并通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子;
[0115]
(3)基于所述灰度图像中各点数据为特征点的置信度、各点数据的描述子、所述当前的周围环境图像中特征点的位置信息,确定出所述当前的周围环境图像的关键帧的回环帧;
[0116]
(4)根据关键帧位置信息和所述当前的周围环境图像中特征点,对所述当前的周围环境图像的关键帧与所述回环帧之间的相对位姿进行计算。
[0117]
收发机53,用于在处理器52的控制下接收和发送数据。
[0118]
其中,总线架构(用总线51来代表),总线51可以包括任意数量的互联的总线和桥,总线51将包括由处理器52代表的一个或多个处理器和存储器55代表的存储器的各种电路链接在一起。总线51还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本实施例不再对其进行进一步描述。总线接口54在总线51和收发机53之间提供接口。收发机53可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发机53从其他设备接收外部数据。收发机53用于将处理器52处理后的数据发送给其他设备。取决于计算系统的性质,还可以提供用户接口56,例如小键盘、显示器、扬声器、麦克风、操纵杆。
[0119]
处理器52负责管理总线51和通常的处理,如前述上述运行通用操作系统。而存储器55可以被用于存储处理器52在执行操作时所使用的数据。
[0120]
可选的,处理器52可以是但不限于:中央处理器、单片机、微处理器或者可编程逻辑器件。
[0121]
可以理解,本发明实施例中的存储器55可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,drram)。本实施例描述的系统和方法的存储器55旨在包括但不限于这些和任意其它适合类型的存储器。
[0122]
在一些实施方式中,存储器55存储了如下的元素,可执行模块或者数据结构,或者
它们的子集,或者它们的扩展集:操作系统551和应用程序552。
[0123]
其中,操作系统551,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序552,包含各种应用程序,例如媒体播放器(media player)、浏览器(browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序552中。
[0124]
综上所述,本实施例提出一种电子设备和计算机可读存储介质,对获取到的所述当前的周围环境图像进行处理,得到所述当前的周围环境图像的关键帧、关键帧位置信息、以及所述当前的周围环境图像中特征点的位置信息后,通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子;然后,基于所述灰度图像中各点数据为特征点的置信度、各点数据的描述子、所述当前的周围环境图像中特征点的位置信息,确定出所述当前的周围环境图像的关键帧的回环帧;最后,根据关键帧位置信息和所述当前的周围环境图像中特征点,对所述当前的周围环境图像的关键帧与所述回环帧之间的相对位姿进行计算,与相关技术中使用人工得到的描述子时视角切换前后出现视角差的缺陷方式相比,通过训练好的深度学习模型对所述灰度图像进行处理,得到所述灰度图像中各点数据为特征点的置信度和各所述点数据的描述子,并利用得到的各所述点数据的描述子确定出所述当前的周围环境图像的关键帧的回环帧,从而避免视角切换前后视角差带来的回环检测失败问题,增加了视角差情况下的回环检测鲁棒性。
[0125]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。