首页 / 专利库 / 视听技术与设备 / 帧间位移误差 / 基于环境理解的语义ORB-SLAM感知方法及装置

基于环境理解的语义ORB-SLAM感知方法及装置

阅读:955发布:2020-05-12

专利汇可以提供基于环境理解的语义ORB-SLAM感知方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于环境理解的语义ORB-SLAM 感知 方法及装置,其中,所述方法包括:将序列 帧 输入ORB-SLAM前端Tracking线程中进行关键帧提取处理,获取关键帧数据;将所述关键帧数据输入相邻关键帧图优化线程进行关键帧数据优化处理,获取图优化后的关键帧数据;计算所述图优化后的关键帧数据之间的误差值,基于所述误差值生成候选集;基于全局地图优化和回环融合对所述候选集进行闭环纠正处理,并基于纠正结果进行同步 定位 与地图构建。在本发明 实施例 中,提高 机器人 对环境感知具有显著效果,同时可使机器得到对场景的更高层认知信息,为包括机器人导航、 增强现实 和自动驾驶在内的应用邻域提供更加自然的应用方式。,下面是基于环境理解的语义ORB-SLAM感知方法及装置专利的具体信息内容。

1.一种基于环境理解的语义ORB-SLAM感知方法,其特征在于,所述方法包括:
将序列输入ORB-SLAM前端Tracking线程中进行关键帧提取处理,获取关键帧数据;
将所述关键帧数据输入相邻关键帧图优化线程进行关键帧数据优化处理,获取图优化后的关键帧数据;
计算所述图优化后的关键帧数据之间的误差值,基于所述误差值生成候选集;
基于全局地图优化和回环融合对所述候选集进行闭环纠正处理,并基于纠正结果进行同步定位与地图构建。
2.根据权利要求1所述的语义ORB-SLAM感知方法,其特征在于,所述将序列帧输入ORB-SLAM前端Tracking线程中进行关键帧提取处理,获取关键帧数据,包括:
ORB-SLAM前端Tracking线程采用帧间差分法对输入的序列帧进行动态背景去除处理,获取去除动态背景的序列帧;
将所述去除动态背景的序列帧与物体特征点之间建立映射关系,获取与物体特征点映射关系的序列帧;
对与物体特征点映射关系的序列帧进行ORB特征提取处理,获取序列帧ORB特征;
将当前帧的序列帧ORB特征与上一帧的序列帧ORB特征进行匹配,获得匹配特征点对;
基于所述匹配特征点对进行位姿估计和重定位处理,获取位姿估计和重定位结果;
根据相匹配的邻近序列帧进行位姿估计和重定位结果进行优化处理,获得相邻帧的位姿优化,基于所述相邻帧的位姿优化获取关键帧序列。
3.根据权利要求2所述的语义ORB-SLAM感知方法,其特征在于,所述ORB-SLAM前端Tracking线程采用帧间差分法对输入的序列帧进行动态背景去除处理,获取去除动态背景的序列帧,包括:
在所述序列帧中连续时间间隔内的相邻帧做差分运算,并利用所述序列帧中相邻帧的强相关性做变化检测,获得运动目标;
基于选取阈值剔除序列帧中的运动目标的动态背景,获取去除动态背景的序列帧。
4.根据权利要求2所述的语义ORB-SLAM感知方法,其特征在于,所述将所述去除动态背景的序列帧与物体特征点之间建立映射关系,获取与物体特征点映射关系的序列帧,包括:
根据当前帧的去除动态背景的序列帧观察到的图点,并基于所述图点观察下一帧的去除动态背景的序列帧,作为当前帧的去除动态背景的序列帧的相邻序列帧;
以当前帧的去除动态背景的序列帧作为根节点,以相邻序列帧作为子节点生成节点树;
基于所述节点树构建所述去除动态背景的序列帧与物体特征点之间建立映射关系,获取与物体特征点映射关系的序列帧。
5.根据权利要求2所述的语义ORB-SLAM感知方法,其特征在于,所述基于所述匹配特征点对进行位姿估计和重定位处理,包括:
根据所述匹配特征点对利用最小化重投影误差计算当前帧的序列帧与上一帧的序列帧的相对位移。
6.根据权利要求2所述的语义ORB-SLAM感知方法,其特征在于,所述方法还包括:
当基于所述匹配特征点对进行位姿估计和重定位处理失败之后,基于与物体特征点映射关系获得当前帧的序列帧之间最相近的序列帧;
获得最相近的序列帧ORB特征,利用将当前帧的序列帧ORB特征与最相近的序列帧ORB特征进行匹配,获得第一匹配特征点对;
利用第一匹配特征点对重新进行位姿估计和重定位计算,获得位姿估计和重定位结果。
7.根据权利要求2所述的语义ORB-SLAM感知方法,其特征在于,所述基于所述相邻帧的位姿优化获取关键帧序列,包括:
计算所述相邻帧之间的最小重投影误差,并基于最小重投影误差建立共视图;
提取所述共视图内的序列帧为关键序列帧。
8.根据权利要求1所述的语义ORB-SLAM感知方法,其特征在于,所述将所述关键帧数据输入相邻关键帧图优化线程进行关键帧数据优化处理,获取图优化后的关键帧数据,包括:
将所述关键帧数据输入相邻关键帧图优化线程后依次进行关键帧数据的冗余点剔除处理、语义提取处理、创建新图点处理以及邻近帧优化处理,获得图优化后的关键帧数据。
9.根据权利要求8所述的语义ORB-SLAM感知方法,其特征在于,所述冗余点剔除处理后的关键帧数据进行语义提取处理,包括:
基于YOLO-v3算法对冗余点剔除处理后的关键帧数据进行物体检测,获得物体检测结果;
利用条件随机场对所述物体检测结果进行语义关联处理,获得结合物体类别概率及场景上下文信息;
对所述结合物体类别概率及场景上下文信息进行纠正与优化处理,生成临时物体信息候选集;
判断所述临时物体信息候选集内的临时物体信息是新物体还是已存在的物体,并对所述临时物体信息候选集内每个临时物体信息的每个点信息在其对应的邻域内进行搜索,获取该点最近的一个三维点;
计算该点与所述三维点之间的欧拉距离,若所述欧拉距离小于预设阈值,则认为该点与所述三维点为同一个点。
10.一种基于环境理解的语义ORB-SLAM感知装置,其特征在于,所述装置包括:
关键帧提取模:用于将序列帧输入ORB-SLAM前端Tracking线程中进行关键帧提取处理,获取关键帧数据;
关键帧优化模块:用于将所述关键帧数据输入相邻关键帧图优化线程进行关键帧数据优化处理,获取图优化后的关键帧数据;
误差计算模块:用于计算所述图优化后的关键帧数据之间的误差值,基于所述误差值生成候选集;
同步定位与地图构建模块:用于基于全局地图优化和回环融合对所述候选集进行闭环纠正处理,并基于纠正结果进行同步定位与地图构建。

说明书全文

基于环境理解的语义ORB-SLAM感知方法及装置

技术领域

[0001] 本发明涉及智能机器人感知技术领域,尤其涉及一种基于环境理解的语义ORB-SLAM感知方法及装置。

背景技术

[0002] 同步定位与地图构建(Simultaneous Localization and Mapping,SLAM)是移动机器人实现未知环境中自主导航的基础,也是其实现自主化和智能化的前提条件之一;当前,视觉SLAM已经可以在一定范围内的静态环境下做到实时定位和三维地图的构建,然而,传统视觉SLAM生成的地图仅仅包含简单的几何信息(点、线等)或低层次的像素级别信息(颜色亮度等),而不包含语义信息。虽然这些简单的几何信息和像素级别信息可以满足机器人在某种单一环境下进行自主导航,但不能满足移动机器人完成更高级别的任务需求。
[0003] 专利CN201811514700公布了一种基于ORB特征的视觉SLAM方法,该方法在前端环节仅采用基于ORB特征替代传统SIFT特征提取,利用汉明距离进行特征匹配判断,在一定程度上可以减少计算量,提高了视觉SLAM的实时性;在后端模,采用图优化思想,基于局部回环和全局回环相结合的点融合优化思想,能够很好提高回环检测的精确性。
[0004] 但是基于ORB特征的视觉SLAM方法,虽然用ORB特征替代传统SIFT特征提取,有效提高计算速度,但其还只能在一个静态或者在一个拥有少量动态物体的场景下工作,如果有大量的特征点落在动态物体上,SLAM跟踪定位的结果会随着动态物体的移动而发生偏移,极大影响机器人建图与定位精确性,甚至会出现计算位姿失败;基于ORB特征的视觉SLAM方法特征点的生成过程会丢弃原始图片中大部分像素信息,并缺少有效的语义信息,严重影响机器人对环境感知的进一步理解。

发明内容

[0005] 本发明的目的在于克服现有技术的不足,本发明提供了一种基于环境理解的语义ORB-SLAM感知方法及装置,提高机器人对环境感知具有显著效果,同时可使机器得到对场景的更高层认知信息,为包括机器人导航、增强现实和自动驾驶在内的应用领域提供更加自然的应用方式。
[0006] 为了解决上述技术问题,本发明实施例提供了一种基于环境理解的语义ORB-SLAM感知方法,所述方法包括:
[0007] 将序列输入ORB-SLAM前端Tracking线程中进行关键帧提取处理,获取关键帧数据;
[0008] 将所述关键帧数据输入相邻关键帧图优化线程进行关键帧数据优化处理,获取图优化后的关键帧数据;
[0009] 计算所述图优化后的关键帧数据之间的误差值,基于所述误差值生成候选集;
[0010] 基于全局地图优化和回环融合对所述候选集进行闭环纠正处理,并基于纠正结果进行同步定位与地图构建
[0011] 可选的,所述将序列帧输入ORB-SLAM前端Tracking线程中进行关键帧提取处理,获取关键帧数据,包括:
[0012] ORB-SLAM前端Tracking线程采用帧间差分法对输入的序列帧进行动态背景去除处理,获取去除动态背景的序列帧;
[0013] 将所述去除动态背景的序列帧与物体特征点之间建立映射关系,获取与物体特征点映射关系的序列帧;
[0014] 对与物体特征点映射关系的序列帧进行ORB特征提取处理,获取序列帧ORB特征;
[0015] 将当前帧的序列帧ORB特征与上一帧的序列帧ORB特征进行匹配,获得匹配特征点对;
[0016] 基于所述匹配特征点对进行位姿估计和重定位处理,获取位姿估计和重定位结果;
[0017] 根据相匹配的邻近序列帧进行位姿估计和重定位结果进行优化处理,获得相邻帧的位姿优化,基于所述相邻帧的位姿优化获取关键帧序列。
[0018] 可选的,所述ORB-SLAM前端Tracking线程采用帧间差分法对输入的序列帧进行动态背景去除处理,获取去除动态背景的序列帧,包括:
[0019] 在所述序列帧中连续时间间隔内的相邻帧做差分运算,并利用所述序列帧中相邻帧的强相关性做变化检测,获得运动目标;
[0020] 基于选取阈值剔除序列帧中的运动目标的动态背景,获取去除动态背景的序列帧。
[0021] 可选的,所述将所述去除动态背景的序列帧与物体特征点之间建立映射关系,获取与物体特征点映射关系的序列帧,包括:
[0022] 根据当前帧的去除动态背景的序列帧观察到的图点,并基于所述图点观察下一帧的去除动态背景的序列帧,作为当前帧的去除动态背景的序列帧的相邻序列帧;
[0023] 以当前帧的去除动态背景的序列帧作为根节点,以相邻序列帧作为子节点生成节点树;
[0024] 基于所述节点树构建所述去除动态背景的序列帧与物体特征点之间建立映射关系,获取与物体特征点映射关系的序列帧。
[0025] 可选的,所述基于所述匹配特征点对进行位姿估计和重定位处理,包括:
[0026] 根据所述匹配特征点对利用最小化重投影误差计算当前帧的序列帧与上一帧的序列帧的相对位移。
[0027] 可选的,所述方法还包括:
[0028] 当基于所述匹配特征点对进行位姿估计和重定位处理失败之后,基于与物体特征点映射关系获得当前帧的序列帧之间最相近的序列帧;
[0029] 获得最相近的序列帧ORB特征,利用将当前帧的序列帧ORB特征与最相近的序列帧ORB特征进行匹配,获得第一匹配特征点对;
[0030] 利用第一匹配特征点对重新进行位姿估计和重定位计算,获得位姿估计和重定位结果。
[0031] 可选的,所述基于所述相邻帧的位姿优化获取关键帧序列,包括:
[0032] 计算所述相邻帧之间的最小重投影误差,并基于最小重投影误差建立共视图;
[0033] 提取所述共视图内的序列帧为关键序列帧。
[0034] 可选的,所述将所述关键帧数据输入相邻关键帧图优化线程进行关键帧数据优化处理,获取图优化后的关键帧数据,包括:
[0035] 将所述关键帧数据输入相邻关键帧图优化线程后依次进行关键帧数据的冗余点剔除处理、语义提取处理、创建新图点处理以及邻近帧优化处理,获得图优化后的关键帧数据。
[0036] 可选的,所述冗余点剔除处理后的关键帧数据进行语义提取处理,包括:
[0037] 基于YOLO-v3算法对冗余点剔除处理后的关键帧数据进行物体检测,获得物体检测结果;
[0038] 利用条件随机场对所述物体检测结果进行语义关联处理,获得结合物体类别概率及场景上下文信息;
[0039] 对所述结合物体类别概率及场景上下文信息进行纠正与优化处理,生成临时物体信息候选集;
[0040] 判断所述临时物体信息候选集内的临时物体信息是新物体还是已存在的物体,并对所述临时物体信息候选集内每个临时物体信息的每个点信息在其对应的邻域内进行搜索,获取该点最近的一个三维点;
[0041] 计算该点与所述三维点之间的欧拉距离,若所述欧拉距离小于预设阈值,则认为该点与所述三维点为同一个点。
[0042] 另外,本发明实施例还提供了一种基于环境理解的语义ORB-SLAM感知装置,所述装置包括:
[0043] 关键帧提取模块:用于将序列帧输入ORB-SLAM前端Tracking线程中进行关键帧提取处理,获取关键帧数据;
[0044] 关键帧优化模块:用于将所述关键帧数据输入相邻关键帧图优化线程进行关键帧数据优化处理,获取图优化后的关键帧数据;
[0045] 误差计算模块:用于计算所述图优化后的关键帧数据之间的误差值,基于所述误差值生成候选集;
[0046] 同步定位与地图构建模块:用于基于全局地图优化和回环融合对所述候选集进行闭环纠正处理,并基于纠正结果进行同步定位与地图构建。
[0047] 在本发明实施例中,针对传统视觉ORB-SLAM在特征提取过程中易受动态目标干扰,提取特征点仅包含色彩亮度、几何信息,缺少物体环境语义信息的缺点,在ORB-SLAM前端Tracking线程中,先利用帧间差分法序列帧中相邻帧做差分运算,设置阈值,剔除动态物体,再构建序列帧和物体特征点之间的映射关系,进行ORB特征提取,实现将基于深度学习语义提取的物体环境信息融入到ORB-SLAM系统中,实现对环境“理解”的语义ORB-SLAM感知方法,具有性能稳定、不易受环境干扰、匹配准确、对环境理解更深层次的优势;提高机器人对环境感知具有显著效果,同时可使机器得到对场景的更高层认知信息,为包括机器人导航、增强现实和自动驾驶在内的应用领域提供更加自然的应用方式。附图说明
[0048] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0049] 图1是本发明实施例中的基于环境理解的语义ORB-SLAM感知方法的流程示意图;
[0050] 图2是本发明实施例中的基于环境理解的语义ORB-SLAM感知装置的结构组成示意图。

具体实施方式

[0051] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0052] 实施例
[0053] 请参阅图1,图1是本发明实施例中的基于环境理解的语义ORB-SLAM感知方法的流程示意图。
[0054] 如图1所示,一种基于环境理解的语义ORB-SLAM感知方法,所述方法包括:
[0055] S11将序列帧输入ORB-SLAM前端Tracking线程中进行关键帧提取处理,获取关键帧数据;
[0056] 在本发明具体实施过程中,所述将序列帧输入ORB-SLAM前端Tracking线程中进行关键帧提取处理,获取关键帧数据,包括:ORB-SLAM前端Tracking线程采用帧间差分法对输入的序列帧进行动态背景去除处理,获取去除动态背景的序列帧;将所述去除动态背景的序列帧与物体特征点之间建立映射关系,获取与物体特征点映射关系的序列帧;对与物体特征点映射关系的序列帧进行ORB特征提取处理,获取序列帧ORB特征;将当前帧的序列帧ORB特征与上一帧的序列帧ORB特征进行匹配,获得匹配特征点对;基于所述匹配特征点对进行位姿估计和重定位处理,获取位姿估计和重定位结果;根据相匹配的邻近序列帧进行位姿估计和重定位结果进行优化处理,获得相邻帧的位姿优化,基于所述相邻帧的位姿优化获取关键帧序列。
[0057] 进一步的,所述ORB-SLAM前端Tracking线程采用帧间差分法对输入的序列帧进行动态背景去除处理,获取去除动态背景的序列帧,包括:在所述序列帧中连续时间间隔内的相邻帧做差分运算,并利用所述序列帧中相邻帧的强相关性做变化检测,获得运动目标;基于选取阈值剔除序列帧中的运动目标的动态背景,获取去除动态背景的序列帧。
[0058] 进一步的,所述将所述去除动态背景的序列帧与物体特征点之间建立映射关系,获取与物体特征点映射关系的序列帧,包括:根据当前帧的去除动态背景的序列帧观察到的图点,并基于所述图点观察下一帧的去除动态背景的序列帧,作为当前帧的去除动态背景的序列帧的相邻序列帧;以当前帧的去除动态背景的序列帧作为根节点,以相邻序列帧作为子节点生成节点树;基于所述节点树构建所述去除动态背景的序列帧与物体特征点之间建立映射关系,获取与物体特征点映射关系的序列帧。
[0059] 进一步的,所述基于所述匹配特征点对进行位姿估计和重定位处理,包括:根据所述匹配特征点对利用最小化重投影误差计算当前帧的序列帧与上一帧的序列帧的相对位移。
[0060] 进一步的,所述方法还包括:当基于所述匹配特征点对进行位姿估计和重定位处理失败之后,基于与物体特征点映射关系获得当前帧的序列帧之间最相近的序列帧;获得最相近的序列帧ORB特征,利用将当前帧的序列帧ORB特征与最相近的序列帧ORB特征进行匹配,获得第一匹配特征点对;利用第一匹配特征点对重新进行位姿估计和重定位计算,获得位姿估计和重定位结果。
[0061] 进一步的,所述基于所述相邻帧的位姿优化获取关键帧序列,包括:计算所述相邻帧之间的最小重投影误差,并基于最小重投影误差建立共视图;提取所述共视图内的序列帧最为关键序列帧。
[0062] 具体的,在ORB-SLAM前端Tracking线程,通过将序列帧输入ORB-SLAM前端Tracking线程中,首先做动态背景去除,消除动态物体对后续特征点提取与匹配过程中的噪声干扰和影响,在这里采用帧间差分法,提取序列帧中连续时间间隔内的相邻帧做差分运算,利用序列帧中相邻帧的强相关性做变化检测,从而检测运动目标,然后通过选取阈值来剔除序列帧中的运动区域;在序列帧中,第k帧fk(x,y)和k+1帧fk+1(x,y)之间的变化可以用二值化差分值D(x,y)表示,如下:
[0063]
[0064] 其中,T为设定的二值差分阈值;二值差分中“1”的部分由前后两帧对应像素灰度值发生变化的部分组成,通常包含运动目标和噪声;为“0”的部分由前后两帧对应像素灰度值不发生变化的部分组成。
[0065] 在前端Tracking线程中,为了将提取的语义信息融入到ORB-SLAM框架中,需要建立去除动态背景的序列帧与物体特征点之间的映射关系;在ORB-SLAM中,每个去除动态背景的序列帧均存储有该帧观察到的图点,同时,每个图点也存储着观察到该图点的去除动态背景的序列帧;根据去除动态背景的序列帧和图点之间的关系,建立ORB-SLAM的生成树;为了构建生成树,首先根据当前的去除动态背景的序列帧观察到的图点,找到观察该图点的去除动态背景的序列帧,这些去除动态背景的序列帧就是当前的去除动态背景的序列帧的相邻序列帧,其与当前的去除动态背景的序列帧拥有大量相同图点;同时这些当前的去除动态背景的序列帧之间的图点,每个图点有相关联的去除动态背景的序列帧;由此,可以生成一个以当前的去除动态背景的序列帧为根节点,相邻序列帧为子节点的生成树;在生成树中,子节点与父节点的关系是由其共同图点的数量所决定的;根据该生成树可以方便当前的去除动态背景的序列帧找其相邻序列帧,从而找到更多的相关联的图点;去除动态背景的序列帧和物体的映射关系按以下方式建立:
[0066] 每一个物体Oi包含:
[0067] 世界坐标系下物体所包含的根据相机投影计算得到的点云数据;物体类别的数量和对应物体类别的概率,该概率通过迭代的贝叶斯过程迭代更新;观察到该物体的关键帧集合;该物体所属的类别,对应概率最高的物体类别;该物体被观察的次数。
[0068] 该去除动态背景的序列帧对应的彩色图像,用于物体检测;该去除动态背景的序列帧对应的深度图像,用于生成物体点云数据;该去除动态背景的序列帧观察到是物体信息。基于图点和去除动态背景的序列帧的映射,完成物体和去除动态背景的序列帧之间的关系构建操作之后,去除动态背景的序列帧即可根据找到其相关联的物体,物体也可以找到相关联的去除动态背景的序列帧。
[0069] 对于与物体特征点映射关系的序列帧进行ORB特征提取,提取ORB特征点,替代SIFT特征点,这样可以有效的检索运算量,加快运算效率。
[0070] 在ORB-SLAM前端Tracking线程中,根据上一帧去除动态背景的序列帧进行位姿估计和重定位,是将当前帧的序列帧ORB特征与上一帧的序列帧ORB特征进行匹配得到匹配特征点对,然后将当前匹配的特征点对,利用最小化重投影误差去计算当前帧与上一帧的相对位移;如果其跟踪定位失败,则会利用场景失败模式找到与当前帧最相近的序列帧,并将当前帧与其匹配得到匹配的图点,利用匹配的图点去重新计算当前帧的位姿。
[0071] 一般两个相邻帧都能够同时观测到一部分相同的图点,通过计算两个相邻帧之间的最小重投影误差,在重投影误差越小,则这两个相邻序列帧之间的相关性越大,因此设置相应的预设阈值,利用投影误差与预设阈值相比较,需要投影误差小于或者等于预设阈值,不然去除相应的相邻序列帧,这样的前提下就可以建立一个共视图,形成邻近帧间的位姿优化,获得共视图内的序列帧最为关键序列帧。
[0072] S12:将所述关键帧数据输入相邻关键帧图优化线程进行关键帧数据优化处理,获取图优化后的关键帧数据;
[0073] 在本发明具体实施过程中,所述将所述关键帧数据输入相邻关键帧图优化线程进行关键帧数据优化处理,获取图优化后的关键帧数据,包括:将所述关键帧数据输入相邻关键帧图优化线程后依次进行关键帧数据的冗余点剔除处理、语义提取处理、创建新图点处理以及邻近帧优化处理,获得图优化后的关键帧数据。
[0074] 进一步的,所述冗余点剔除处理后的关键帧数据进行语义提取处理,包括:基于YOLO-v3算法对冗余点剔除处理后的关键帧数据进行物体检测,获得物体检测结果;利用条件随机场对所述物体检测结果进行语义关联处理,获得结合物体类别概率及场景上下文信息;对所述结合物体类别概率及场景上下文信息进行纠正与优化处理,生成临时物体信息候选集;判断所述临时物体信息候选集内的临时物体信息时新物体还是已存在的物体,并对所述临时物体信息候选集内每个临时物体信息的每个点信息在其对应的邻域内进行搜索,获取该点最近的一个三维点;计算该点与所述三维点之间的欧拉距离,若所述欧拉距离小于预设阈值,则认为该点与所述三维点为同一个点。
[0075] 具体的,在获得关键帧之后,将关键帧输入相邻关键帧图优化线程中,剔除冗余点,设计语义提取算法,实现关键帧之间相邻帧的图优化过程,设计的创建语义提取算法,该算法包括物体检测、物体语义关联、临时物体生成、物体关联和物体模型更新等功能,物体检测负责使用深度学习网络对图片进行物体信息的提取,并将提取的物体信息,进行语义关联,经过语义关联进行纠正和优化后使提取出的检测物体更加准确可靠,并存储到临时物体信息集中;物体关联和更新负责根据关键帧、物体信息和图点的映射关系,关联临时物体信息和物体数据库中已经存在的物体信息,并将临时物体信息更新融合到对应的物体信息。
[0076] 在此,采用基于YOLO-v3算法用于物体检测,其将每个图片分成N*N个方格,然后对每个方格只进行一次物体检测操作,最后将检测结果融合一起。
[0077] 利用YOLO-v3算法对关键帧进行语义检测,更进一步使用条件随机场对经过深度学习检测提取出的物体进行语义关联,结合物体类别概率及场景上下文信息,提高检测分类精确度,其中设计的结合物体类别概率和上下文信息的条件随机场对应的能量方程如下所示:
[0078]
[0079] E(x)=∑iψμ(xi)+∑i
[0080] 其中x代表的是物体类别的随机变量,i,j的范围是从1到k,其中k为图像中检测出来的物体数量,Z是归一化因子,确保计算结果为概率,E(x)是条件随机场的能量函数,一元势函数ψu刻画随机场图节点标注类别的概率,二元势函数ψP是刻画随机场图节点之间的相关性。
[0081] 一元势函数ψu如下所示:
[0082] ψμ=-log p(xi);
[0083] 二元势函数ψP如下所示:
[0084]
[0085] 其中,p(xi)表示YOLO-v3模型给出的第i个物体所属类别的概率分布,ωm是线性组合权重,μ是标记兼容性函数,表示邻域内不同类别同时出现的可能性。
[0086] 通过条件随机场对检测物体语义关联,实现对检测结果进行纠正和优化,生成临时物体信息候选集,对临时物体进行判断,决定其是新物体还是候选集中已存在物体;针对每个候选物体的数据,临时物体的每个点信息在其邻域内进行搜索,从候选物体的点云数据中找出距离该点最近的一个三维点,计算两点之间的欧拉距离,如果两点之间的欧拉距离小于设定的阈值,则认为这两个点是同一个点。
[0087] S13:计算所述图优化后的关键帧数据之间的误差值,基于所述误差值生成候选集;
[0088] 在本发明具体实施过程中,通过计算图优化后的关键帧数据之间的误差值,并根据误差值即可生成候选集。
[0089] S14:基于全局地图优化和回环融合对所述候选集进行闭环纠正处理,并基于纠正结果进行同步定位与地图构建。
[0090] 在本发明具体实施过程中,通过全局地图优化和回环融合对候选集进行闭环纠正处理;实现闭环检测,提高定位精度,减少误差;并基于纠正结果进行同步定位与地图构建。
[0091] 在本发明实施例中,针对传统视觉ORB-SLAM在特征提取过程中易受动态目标干扰,提取特征点仅包含色彩亮度、几何信息,缺少物体环境语义信息的缺点,在ORB-SLAM前端Tracking线程中,先利用帧间差分法序列帧中相邻帧做差分运算,设置阈值,剔除动态物体,再构建序列帧和物体特征点之间的映射关系,进行ORB特征提取,实现将基于深度学习语义提取的物体环境信息融入到ORB-SLAM系统中,实现对环境“理解”的语义ORB-SLAM感知方法,具有性能稳定、不易受环境干扰、匹配准确、对环境理解更深层次的优势;提高机器人对环境感知具有显著效果,同时可使机器得到对场景的更高层认知信息,为包括机器人导航、增强现实和自动驾驶在内的应用领域提供更加自然的应用方式。
[0092] 实施例
[0093] 请参阅图2,图2是本发明实施例中的基于环境理解的语义ORB-SLAM感知装置的结构组成示意图。
[0094] 如图2所示,一种基于环境理解的语义ORB-SLAM感知装置,所述装置包括:
[0095] 关键帧提取模块21:用于将序列帧输入ORB-SLAM前端Tracking线程中进行关键帧提取处理,获取关键帧数据;
[0096] 在本发明具体实施过程中,所述将序列帧输入ORB-SLAM前端Tracking线程中进行关键帧提取处理,获取关键帧数据,包括:ORB-SLAM前端Tracking线程采用帧间差分法对输入的序列帧进行动态背景去除处理,获取去除动态背景的序列帧;将所述去除动态背景的序列帧与物体特征点之间建立映射关系,获取与物体特征点映射关系的序列帧;对与物体特征点映射关系的序列帧进行ORB特征提取处理,获取序列帧ORB特征;将当前帧的序列帧ORB特征与上一帧的序列帧ORB特征进行匹配,获得匹配特征点对;基于所述匹配特征点对进行位姿估计和重定位处理,获取位姿估计和重定位结果;根据相匹配的邻近序列帧进行位姿估计和重定位结果进行优化处理,获得相邻帧的位姿优化,基于所述相邻帧的位姿优化获取关键帧序列。
[0097] 进一步的,所述ORB-SLAM前端Tracking线程采用帧间差分法对输入的序列帧进行动态背景去除处理,获取去除动态背景的序列帧,包括:在所述序列帧中连续时间间隔内的相邻帧做差分运算,并利用所述序列帧中相邻帧的强相关性做变化检测,获得运动目标;基于选取阈值剔除序列帧中的运动目标的动态背景,获取去除动态背景的序列帧。
[0098] 进一步的,所述将所述去除动态背景的序列帧与物体特征点之间建立映射关系,获取与物体特征点映射关系的序列帧,包括:根据当前帧的去除动态背景的序列帧观察到的图点,并基于所述图点观察下一帧的去除动态背景的序列帧,作为当前帧的去除动态背景的序列帧的相邻序列帧;以当前帧的去除动态背景的序列帧作为根节点,以相邻序列帧作为子节点生成节点树;基于所述节点树构建所述去除动态背景的序列帧与物体特征点之间建立映射关系,获取与物体特征点映射关系的序列帧。
[0099] 进一步的,所述基于所述匹配特征点对进行位姿估计和重定位处理,包括:根据所述匹配特征点对利用最小化重投影误差计算当前帧的序列帧与上一帧的序列帧的相对位移。
[0100] 进一步的,所述方法还包括:当基于所述匹配特征点对进行位姿估计和重定位处理失败之后,基于与物体特征点映射关系获得前帧的序列帧之间最相近的序列帧;获得最相近的序列帧ORB特征,利用将当前帧的序列帧ORB特征与最相近的序列帧ORB特征进行匹配,获得第一匹配特征点对;利用第一匹配特征点对重新进行位姿估计和重定位计算,获得位姿估计和重定位结果。
[0101] 进一步的,所述基于所述相邻帧的位姿优化获取关键帧序列,包括:计算所述相邻帧之间的最小重投影误差,并基于最小重投影误差建立共视图;提取所述共视图内的序列帧最为关键序列帧。
[0102] 具体的,在ORB-SLAM前端Tracking线程,通过将序列帧输入ORB-SLAM前端Tracking线程中,首先做动态背景去除,消除动态物体对后续特征点提取与匹配过程中的噪声干扰和影响,在这里采用帧间差分法,提取序列帧中连续时间间隔内的相邻帧做差分运算,利用序列帧中相邻帧的强相关性做变化检测,从而检测运动目标,然后通过选取阈值来剔除序列帧中的运动区域;在序列帧中,第k帧fk(x,y)和k+1帧fk+1(x,y)之间的变化可以用二值化差分值D(x,y)表示,如下:
[0103]
[0104] 其中,T为设定的二值差分阈值;二值差分中“1”的部分由前后两帧对应像素灰度值发生变化的部分组成,通常包含运动目标和噪声;为“0”的部分由前后两帧对应像素灰度值不发生变化的部分组成。
[0105] 在前端Tracking线程中,为了将提取的语义信息融入到ORB-SLAM框架中,需要建立去除动态背景的序列帧与物体特征点之间的映射关系;在ORB-SLAM中,每个去除动态背景的序列帧均存储有该帧观察到的图点,同时,每个图点也存储着观察到该图点的去除动态背景的序列帧;根据去除动态背景的序列帧和图点之间的关系,建立ORB-SLAM的生成树;为了构建生成树,首先根据当前的去除动态背景的序列帧观察到的图点,找到观察该图点的去除动态背景的序列帧,这些去除动态背景的序列帧就是当前的去除动态背景的序列帧的相邻序列帧,其与当前的去除动态背景的序列帧拥有大量相同图点;同时这些当前的去除动态背景的序列帧又有之间的图点,每个图点有有相关联的去除动态背景的序列帧;由此,可以生成一个以当前的去除动态背景的序列帧为根节点,相邻序列帧为子节点的生成树;在生成树中,子节点与父节点的关系是由其共同图点的数量所决定的;根据该生成树可以方便当前的去除动态背景的序列帧找其相邻序列帧,从而找到更多的相关联的图点;去除动态背景的序列帧和物体的映射关系按一下方式建立:
[0106] 每一个物体Oi包含:
[0107] 世界坐标系下物体所包含的根据相机投影计算得到的点云数据;物体类别的数量和对应物体类别的概率,该概率通过迭代的贝叶斯过程迭代更新;观察到该物体的关键帧集合;该物体所属的类别,对应概率最高的物体类别;该物体被观察的次数。
[0108] 该去除动态背景的序列帧对应的彩色图像,用于物体检测;该去除动态背景的序列帧对应的深度图像,用于生成物体点云数据;该去除动态背景的序列帧观察到是物体信息。基于图点和去除动态背景的序列帧的映射,完成物体和去除动态背景的序列帧之间的关系构建操作之后,去除动态背景的序列帧即可根据找到其相关联的物体,物体也可以找到相关联的去除动态背景的序列帧。
[0109] 对于与物体特征点映射关系的序列帧进行ORB特征提取,提取ORB特征点,替代SIFT特征点,这样可以有效的检索运算量,加快运算效率。
[0110] 在ORB-SLAM前端Tracking线程中,根据上一帧去除动态背景的序列帧进行位姿估计和重定位,是将当前帧的序列帧ORB特征与上一帧的序列帧ORB特征进行匹配得到匹配特征点对,然后感觉当前匹配的特征点对,利用最小化重投影误差去计算当前帧与上一帧的相对位移;如果其跟踪定位失败,则会利用场景失败模式找到与当前帧最相近的序列帧,并将当前帧与其匹配得到匹配的图点,利用匹配的土地去重新计算当前帧的位姿。
[0111] 一般两个相邻帧都能够同时观测到一部分相同的图点,通过计算两个相邻帧之间的最小重投影误差,在重投影误差越小,则这两个相邻序列帧之间的相关性越大,因此设置相应的预设阈值,利用投影误差与预设阈值相比较,需要投影误差小于或者等于预设阈值,不然去除相应的相邻序列帧,这样的前提下就可以建立一个共视图,形成邻近帧间的位姿优化,获得共视图内的序列帧最为关键序列帧。
[0112] 关键帧优化模块22:用于将所述关键帧数据输入相邻关键帧图优化线程进行关键帧数据优化处理,获取图优化后的关键帧数据;
[0113] 在本发明具体实施过程中,所述将所述关键帧数据输入相邻关键帧图优化线程进行关键帧数据优化处理,获取图优化后的关键帧数据,包括:将所述关键帧数据输入相邻关键帧图优化线程后依次进行关键帧数据的冗余点剔除处理、语义提取处理、创建新图点处理意见邻近帧优化处理,获得图优化后的关键帧数据。
[0114] 进一步的,所述冗余点剔除处理后的关键帧数据进行语义提取处理,包括:基于YOLO-v3算法对冗余点剔除处理后的关键帧数据进行物体检测,获得物体检测结果;利用条件随机场对所述物体检测结果进行语义关联处理,获得结合物体类别概率及场景上下文信息;对所述结合物体类别概率及场景上下文信息进行纠正与优化处理,生成临时物体信息候选集;判断所述临时物体信息候选集内的临时物体信息是新物体还是已存在的物体,并对所述临时物体信息候选集内每个临时物体信息的每个点信息在其对应的邻域内进行搜索,获取该点最近的一个三维点;计算该点与所述三维点之间的欧拉距离,若所述欧拉距离小于预设阈值,则认为该点与所述三维点为同一个点。
[0115] 具体的,在获得关键帧之后,将关键帧输入相邻关键帧图优化线程中,剔除冗余点,设计语义提取算法,实现关键帧之间相邻帧的图优化过程,设计的创建语义提取算法,该算法包括物体检测、物体语义关联、临时物体生成、物体关联和物体模型更新等功能,物体检测负责使用深度学习网络对图片进行物体信息的提取,并将提取的物体信息,进行语义标签进行物体与对应语义进行关联,然后经过语义关联进行纠正和优化,使提取出的检测物体更加准确可靠,并存储到临时物体信息集中;物体关联和更新负责根据关键帧、物体信息和图点的映射关系,关联临时物体信息和物体数据库中已经存在的物体信息,并将临时物体信息更新融合到对应的物体信息。
[0116] 在此,采用基于YOLO算法用于物体检测,其将每个图片分成N*N个方格,然后对每个方格只进行一次物体检测操作,最后将检测结果融合一起;YOLO的设计解决了重复检测的问题。
[0117] 利用YOLO算法对关键帧进行语义检测,更进一步使用条件随机场对经过深度学习检测提取出的物体进行语义关联,结合物体类别概率及场景上下文信息,提高检测分类精确度,其中设计的结合物体类别概率和上下文信息的条件随机场对应的能量方程如下所示:
[0118]
[0119] E(x)=∑iψμ(xi)+∑i
[0120] 其中x代表的是物体类别的随机变量,i,j的范围是从1到k,其中k为图像中检测出来的物体数量,Z是归一化因子,确保计算结果为概率,E(x)是条件随机场的能量函数,一元势函数ψu刻画随机场图节点标注类别的概率,二元势函数ψP是刻画随机场图节点之间的相关性。
[0121] 一元势函数ψu如下所示:
[0122] ψμ=-log p(xi);
[0123] 二元势函数ψP如下所示:
[0124]
[0125] 其中,p(xi)表示YOLO模型给出的第i个物体所属类别的概率分布,ωm是线性组合权重,μ是标记兼容性函数,表示邻域内不同类别同时出现的可能性。
[0126] 通过条件随机场对检测物体语义关联,实现对检测结果进行纠正和优化,生成临时物体信息候选集,对临时物体进行判断,决定其是新物体还是候选集中已存在物体;针对每个候选物体的数据,临时物体的每个点信息在其邻域内进行搜索,从候选物体的点云数据中找出距离该点最近的一个三维点,计算两点之间的欧拉距离,如果两点之间的欧拉距离小于设定的阈值,则认为这两个点是同一个点。
[0127] 误差计算模块23:用于计算所述图优化后的关键帧数据之间的误差值,基于所述误差值生成候选集;
[0128] 在本发明具体实施过程中,通过计算图优化后的关键帧数据之间的误差值,并根据误差值即可生成候选集。
[0129] 同步定位与地图构建模块24:用于基于全局地图优化和回环融合对所述候选集进行闭环纠正处理,并基于纠正结果进行同步定位与地图构建。
[0130] 在本发明具体实施过程中,通过全局地图优化和回环融合对候选集进行闭环纠正处理;实现闭环检测,提高定位精度,减少误差;并基于纠正结果进行同步定位与地图构建。
[0131] 在本发明实施例中,针对传统视觉ORB-SLAM在特征提取过程中易受动态目标干扰,提取特征点仅包含色彩亮度、几何信息,缺少物体环境语义信息的缺点,在ORB-SLAM前端Tracking线程中,先利用帧间差分法序列帧中相邻帧做差分运算,设置阈值,剔除动态物体,再构建序列帧和物体特征点之间的映射关系,进行ORB特征提取,实现将基于深度学习语义提取的物体环境信息融入到ORB-SLAM系统中,实现对环境“理解”的语义ORB-SLAM感知方法,具有性能稳定、不易受环境干扰、匹配准确、对环境理解更深层次的优势;提高机器人对环境感知具有显著效果,同时可使机器得到对场景的更高层认知信息,为包括机器人导航、增强现实和自动驾驶在内的应用领域提供更加自然的应用方式。
[0132] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
[0133] 另外,以上对本发明实施例所提供的基于环境理解的语义ORB-SLAM感知方法及装置进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈