基于视觉融合地标的拓扑地图生成方法与流程

文档序号:20909509发布日期:2020-05-29 12:56阅读:485来源:国知局
基于视觉融合地标的拓扑地图生成方法与流程

本发明属于机器人技术领域,特别是一种基于视觉融合地标的拓扑地图生成方法。



背景技术:

建图技术对于智能机器人探索任务环境、自主完成各种任务来说至关重要。智能机器人在运动过程中,通过传感器收集环境信息,分析数据,感知环境,有助于根据任务的需要以及环境的当前状态自主地做出相应的决策,进而完成各项任务,实现真正意义上的智能。在机器人领域,slam(同时定位与构图)技术是机器人构建地图、感知环境的一项关键技术。机器人在行进过程中通过激光雷达、相机等传感器数据,估计此时的位置和姿态,同时构建环境的地图。

slam技术按照系统所采用的传感器大致可以分为两种,一种是使用激光雷达的slam技术,另一种是使用相机的视觉slam技术。其中,视觉slam技术通常又分为特征点法和直接法两种。传统的slam技术无论以激光雷达信息还是视觉图像信息作为系统输入,最终构建出的三维地图都只包含周围环境的几何信息,缺少语义信息。这给智能机器人根据任务自主进行推理,以及进一步实现复杂的人机交互带来了困难。

带有语义的slam(简称语义slam)技术主要涉及传统的slam技术和语义分割技术。当前,关于语义slam的研究主要聚焦于应用于室内场景的基于激光雷达的slam。尽管激光雷达适合室外场景,但是相比于相机,其成本更加昂贵,并且获取的信息远少于视觉包含的信息。而基于视觉的语义slam主要是通过rgbd相机实现,即使融入了图像的语义分割结果,但是一方面系统仍然依赖于像素级的数据,易受光照等条件的影响,另一方面,该语义与人类的语言有很大区别,不适于基于语言的人机交互系统。因此,在现有的slam系统中,融入更高层次的、适于人机交互的语义信息,实时构建出包含高层语义信息的三维地图至关重要。

在背景技术部分中公开的上述信息仅仅用于增强对本发明背景的理解,因此可能包含不构成在本国中本领域普通技术人员公知的现有技术的信息。



技术实现要素:

针对现有技术中存在的问题,本发明提出一种基于视觉融合地标的拓扑地图生成方法,能够在嵌入式机载或车载平台上运行的基于视觉的融合地标的拓扑地图构建,解决现有机器人领域构建的三维地图中不包含语义信息的问题,同时解决视觉slam系统中融合的像素级的语义信息易受光照等条件影响,且无法实现基于语言的人机交互的问题。并且使建图脱离后端服务器,使得拓扑地图能够在自主智能机器人上建立、存储并在自主智能机器人之间传输。

本发明的目的是通过以下技术方案予以实现,一种基于视觉融合地标的拓扑地图生成方法包括以下步骤:

第一步骤中,输入rgb图像,基于卷积神经网络对所述rgb图像进行语义分割,并根据语义分割中间层的特征图提取出大于预定值的输出值的点作为特征点;

第二步骤中,获取场景的深度图,基于所述深度图的深度信息和所述特征点在图像上的坐标信息,依据相机模型获取所述特征点的三维坐标和机器人的位姿信息以建立场景的三维地图,其中,三维地图以点云的形式存储,每个点云根据语义分割的结果进行了筛选与标注;

第三步骤中,对输入图像进行基于深度学习的纹理分割,获取每个像素点在纹理特征空间下的编码;

第四步骤中,根据电子地图,获取环境中的建筑物的gps信息和机器人的初始gps信息,根据机器人初始gps信息和所述位姿信息计算得到机器人在不同位姿下的gps信息和三维地图中的点云的gps信息;

第五步骤(s5)中,根据所述点云的gps信息和所述建筑物的坐标gps信息及其编码,采用基于模糊数学的地标级数据融合方法,获得点云相对于预定地标的隶属度分布函数,根据语义隶属度分布函数和所述三维点云地图,获得融合了地标的三维语义地图;

第六步骤中,基于融合地标的三维语义地图构建拓扑地图生成融合地标的语义拓扑地图。

所述的方法中,第二步骤中,通过深度预测神经网络获得所述特征点的深度信息,将图像中二维特征点从相机坐标系转换到三维点云坐标系,获得该特征点在三维空间中的对应的点云。

所述的方法中,坐标系转换过程为:

其中,(xv,yv,zv)表示点云的坐标值,tpointcloud2camera表示从三维点云坐标系到相机坐标系的转换过程,(uc,vc)表示该点云对应的像素坐标值,其中,u,v是图像中像素点的横纵坐标,w为与深度相关的比例参数。

所述的方法中,深度信息包括真实世界三维点距离相机光心的垂直距离。

所述的方法中,图像每个像素属于建筑物的概率的图像语义分割结果与点云中每个点关联,使用贝叶斯更新规则更新每个点云的语义标签的概率分布,其中,根据三维点云与二维特征点的对应关系,每个特征点的是否属于建筑物的分布如下式:lv(xv,yv,zv)=is(uc,vc),其中,is(uc,vc)表示图像语义分割的结果,lv(xv,yv,zv)表示每个点云的语义标签,贝叶斯更新规则对多观测的数据进行融合,如下式:其中,z是归一化常量,代表点云在第k帧时属于类别v,表示从第一帧到第k帧的累积概率分布,选择一个点云的概率分布中概率最大值对应的标签作为该点云的标签,如下式:lp(v)=maxp(lv|i,p),其中,lp(v)表示该点云的语义标签,在实时融合过程中,每个点云包含一个语义类别和一个语义概率分布。

所述的方法中,第三步骤中,维度为w×h×3输入图片依次通过特征提取器,编码器和解码器得到前景和背景划分,作为纹理分割结果,纹理分割网络训练完成后,采用特征提取器和编码器两部分作为图像的纹理编码模块,将编码器的输出向量作为图像的纹理编码,编码器的输出向量维度为w×h×nd,原图的每个像素点对应一个nd维的编码向量,所述编码向量为像素点在纹理特征空间中的编码。

所述的方法中,第五步骤中,采用基于模糊数学的方法进行地标和点云的融合,空间隶属度的计算方法为:假设地标的位置坐标为(xl,yl),点云的位置坐标为(x,y),所述点云隶属于该地标的空间隶属度s(x,y)基于高斯分布来表示,如下式:s(x,y)=g(x,y,xl,yl,σ),其中,g(x,y,xl,yl,σ)表示二维高斯概率密度函数,σ为二维高斯分布标准差,纹理隶属度的计算方法为:对距离地标的位置坐标为(xl,yl)最近的n个属于建筑类别的点云对应的纹理特征进行加权平均,得到该地标的纹理特征向量权重为点云隶属于该地标的空间隶属度s(x,y),如下式:依据每个点云对应的纹理特征向量td(x,y)计算其与地标的纹理特征向量之间的距离d,点云隶属于地表的纹理隶属度函数t(x,y)由一维高斯概率密度函数表示,其中,为一维高斯概率密度函数,σt为一维高斯分布的标准差,最终的隶属度函数b(x,y)为空间隶属度和纹理隶属度的乘积,b(x,y)=s(x,y)×t(x,y)。

所述的方法中,第六步骤中,根据机器人的位姿轨迹生成路径拓扑点,路径拓扑点与在该位置能观测到的路标拓扑点建立关联,最终生成可用于导航的融合地标的拓扑地图。

有益效果

本发明基于深度学习技术建立了融合语义地标的拓扑地图,解决了现有机器人领域构建的三维地图中不包含语义信息的问题,进而为下一步实现更高层次的基于语音的人机交互提供了基础。同时,在机器人定位和构图过程中,通过加入语义地标,解决了现有系统中像素级的视觉信息或语义信息易受光照等条件影响的问题,提高了系统的鲁棒性。同时,轻量化的语义拓扑地图建立耗费计算资源较少,占用的存储空间小,查询快捷,便于共享。

附图说明

通过阅读下文优选的具体实施方式中的详细描述,本发明各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。说明书附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。而且在整个附图中,用相同的附图标记表示相同的部件。

在附图中:

图1是具体实施方式所述的一种基于视觉的融合地标的拓扑地图构建方法的流程示图;

图2是融合地标的轨迹地图。

以下结合附图和实施例对本发明作进一步的解释。

具体实施方式

下面将参照附图1至图2更详细地描述本发明的具体实施例。虽然附图中显示了本发明的具体实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

需要说明的是,在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可以理解,技术人员可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名词的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”或“包括”为一开放式用语,故应解释成“包含但不限定于”。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明书的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。

为便于对本发明实施例的理解,下面将结合附图以具体实施例为例做进一步的解释说明,且各个附图并不构成对本发明实施例的限定。

为了更好地理解,图1为一个基于视觉融合地标的拓扑地图生成方法工作流程图,如图1所示,一种基于视觉融合地标的拓扑地图生成方法包括以下步骤:

第一步骤s1中,输入rgb图像,基于卷积神经网络对所述rgb图像进行语义分割,并根据语义分割中间层的特征图提取出大于预定值的输出值的点作为特征点;

第二步骤s2中,获取场景的深度图,基于所述深度图的深度信息和所述特征点在图像上的坐标信息,依据相机模型获取所述特征点的三维坐标和机器人的位姿信息以建立场景的三维地图,其中,三维地图以点云的形式存储,每个点云根据语义分割的结果进行了筛选与标注;

第三步骤s3中,对输入图像进行基于深度学习的纹理分割,获取每个像素点在纹理特征空间下的编码;

第四步骤s4中,根据电子地图,获取环境中的建筑物的gps信息和机器人的初始gps信息,根据机器人初始gps信息和所述位姿信息计算得到机器人在不同位姿下的gps信息和三维地图中的点云的gps信息;

第五步骤s5中,根据所述点云的gps信息和所述建筑物的坐标gps信息及其编码,采用基于模糊数学的地标级数据融合方法,获得点云相对于预定地标的隶属度分布函数,根据语义隶属度分布函数和所述三维点云地图,获得融合了地标的三维语义地图;

第六步骤s6中,基于融合地标的三维语义地图构建拓扑地图生成融合地标的语义拓扑地图。

所述的方法的优选实施方式中,第二步骤s2中,通过深度预测神经网络获得所述特征点的深度信息,将图像中二维特征点从相机坐标系转换到三维点云坐标系,获得该特征点在三维空间中的对应的点云。

所述的方法的优选实施方式中,坐标系转换过程为:

其中,(xv,yv,zv)表示点云的坐标值,tpointcloud2camera表示从三维点云坐标系到相机坐标系的转换过程,(uc,vc)表示该点云对应的像素坐标值,其中,u,v是图像中像素点的横纵坐标,w为与深度相关的比例参数。

所述的方法的优选实施方式中,深度信息包括真实世界三维点距离相机光心的垂直距离。

所述的方法的优选实施方式中,图像每个像素属于建筑物的概率的图像语义分割结果与点云中每个点关联,使用贝叶斯更新规则更新每个点云的语义标签的概率分布,其中,根据三维点云与二维特征点的对应关系,每个特征点的是否属于建筑物的分布如下式:lv(xv,yv,zv)=is(uc,vc),其中,is(uc,vc)表示图像语义分割的结果,lv(xv,yv,zv)表示每个点云的语义标签,贝叶斯更新规则对多观测的数据进行融合,如下式:其中,z是归一化常量,代表点云在第k帧时属于类别v,表示从第一帧到第k帧的累积概率分布,选择一个点云的概率分布中概率最大值对应的标签作为该点云的标签,如下式:lp(v)=maxp(lv|i,p),其中,lp(v)表示该点云的语义标签,在实时融合过程中,每个点云包含一个语义类别和一个语义概率分布。

所述的方法的优选实施方式中,第三步骤s3中,维度为w×h×3输入图片依次通过特征提取器,编码器和解码器得到前景和背景划分,作为纹理分割结果,纹理分割网络训练完成后,采用特征提取器和编码器两部分作为图像的纹理编码模块,将编码器的输出向量作为图像的纹理编码,编码器的输出向量维度为w×h×nd,原图的每个像素点对应一个nd维的编码向量,所述编码向量为像素点在纹理特征空间中的编码。

所述的方法的优选实施方式中,第五步骤s5中,采用基于模糊数学的方法进行地标和点云的融合,空间隶属度的计算方法为:假设地标的位置坐标为(xl,yl),点云的位置坐标为(x,y),所述点云隶属于该地标的空间隶属度s(x,y)基于高斯分布来表示,如下式:s(x,y)=g(x,y,xl,yl,σ),其中,g(x,y,xl,yl,σ)表示二维高斯概率密度函数,σ为二维高斯分布标准差,纹理隶属度的计算方法为:对距离地标的位置坐标为(xl,y1)最近的n个属于建筑类别的点云对应的纹理特征进行加权平均,得到该地标的纹理特征向量权重为点云隶属于该地标的空间隶属度s(x,y),如下式:依据每个点云对应的纹理特征向量td(x,y)计算其与地标的纹理特征向量之间的距离d,点云隶属于地表的纹理隶属度函数t(x,y)由一维高斯概率密度函数表示,其中,为一维高斯概率密度函数,σt为一维高斯分布的标准差,最终的隶属度函数b(x,y)为空间隶属度和纹理隶属度的乘积,b(x,y)=s(x,y)×t(x,y)。

所述的方法的优选实施方式中,第六步骤s6中,根据机器人的位姿轨迹生成路径拓扑点,路径拓扑点与在该位置能观测到的路标拓扑点建立关联,最终生成可用于导航的融合地标的拓扑地图

所述的方法的优选实施方式中,第六步骤s6中,根据机器人的位姿轨迹生成路径拓扑点,路径拓扑点与在该位置能观测到的路标拓扑点建立关联,最终生成可用于导航的融合地标的拓扑地图。

为了进一步理解本发明,在一个实施例中,方法包括,

步骤1,输入rgb图像,基于卷积神经网络对所述图像进行语义分割,并根据语义分割中间层的特征图提取出输出值较大的点作为特征点;

步骤2,获取场景的深度图,根据深度信息和特征点在图像上的坐标信息,依据相机模型获取特征点的三维坐标和机器人的位姿信息,进而获取场景的三维地图,其中,三维地图以点云的形式存储,每个点云根据语义分割的结果进行了筛选与标注;

步骤3,对输入图像进行基于深度学习的纹理分割,获取每个像素点在纹理特征空间下的编码。

步骤4,根据电子地图,获取环境中的建筑物的gps信息和机器人的初始gps信息,根据机器人初始gps信息和步骤二得到的位姿信息计算得到机器人在不同位姿下的gps信息和三维点云地图中的点云的gps信息;

步骤5,根据步骤4得到的三维点云地图的gps信息和步骤4得到的建筑物的gps信息,采用基于模糊数学的地标级数据融合方法,获得点云相对于某个地标的隶属度分布函数。根据语义隶属度分布函数和步骤2的三维点云地图,获得融合了地标的三维语义地图;

步骤6,根据步骤5的融合地标的三维语义地图,构建拓扑地图,生成融合地标的语义拓扑地图。

进一步的,步骤1的实现方法:

使用语义分割神经网络,如erfnet对输入图像中的左目或右目进行语义分割,并根据语义分割中间层的特征图提取出输出值较大的点作为特征点,并对网络的前推进行实时加速,并在嵌入式计算平台上部署。

进一步的,步骤2的实现方法:

步骤2.1,获取深度的方式可以是使用深度预测神经网络,如superdepth根据输入的双目图像对场景的深度进行预测,得到图像中每个像素点的深度值。深度预测网络采用前推进行实时加速,使其可在嵌入式计算平台上部署。通过深度预测神经网络获得步骤一中得到的特征点的深度信息di对应的真实世界三维点距离相机光心的垂直距离,系统将这些特征点从相机坐标系转换到三维点云坐标系,获得该特征点在三维空间中的对应的点云,具体的坐标转换过程如下所示:

其中,(xv,yv,zv)表示点云的坐标值,tpointcloud2camera表示从三维点云坐标系到相机坐标系的转换过程,(uc,vc)表示该点云对应的像素坐标值,w为与深度相关的比例参数;

步骤2.1中,获取深度的方式还可以是rgbd相机或是视觉slam,由于基于深度学习或者rgbd相机得到的深度预测有一定的测量误差,当采用这三种方法获取深度时会依据前后帧关系建立优化模型对特征点的深度值和相机的位姿信息进行优化。

步骤2.2,将步骤1中的图像语义分割结果与点云中每个点关联起来,使用贝叶斯更新规则来更新每个点云的语义标签的概率分布。首先,图像语义分割结果即图像每个像素属于建筑物的概率被发送到建图系统中。根据三维点云与二维特征点的对应关系,每个特征点的是否属于建筑物的分布如下式:

lv(xv,yv,zv)=is(uc,vc)

其中,is(uc,vc)表示图像语义分割的结果,lv(xv,yv,zv)表示每个点云的语义标签。由于每个特征点可以被不同的图像帧观测到,即每个点云会对应多个二维的特征点,会有多个概率分布。因此,需要使用贝叶斯更新规则对多观测的数据进行融合,如下式:

其中,z是归一化常量,代表点云在第k帧时属于类别v,表示从第一帧到第k帧的累积概率分布。最后,选择一个点云的概率分布中概率最大值对应的标签作为该点云的标签,如下式:

lp(v)=maxp(lv|i,p)

其中,lp(v)表示该点云的语义标签,在实时融合过程中,每个点云将包含一个语义类别和一个语义概率分布;

进一步的,步骤3的实现方法:

纹理分割采用one-shotlearning的方法来进行,网络主要分为特征提取器,编码器,解码器三个部分。维度为w×h×3输入图片依次通过特征提取器,编码器和解码器得到前景和背景划分,作为纹理分割结果。纹理分割网络训练完成后,采用特征提取器和编码器两部分作为图像的纹理编码模块,将编码器的输出向量作为图像的纹理编码。编码器的输出向量维度为w×h×nd,原图的每个像素点对应一个nd维的编码向量,该向量为像素点在纹理特征空间中的编码。

进一步的,步骤4的实现方法:

步骤4.1,通过电子地图,获得建筑物地标在wgs84坐标系下的坐标,以及初始状态下的机器人在wgs84坐标系下的坐标;

步骤4.2此步骤只是为了说明变换方法,由于此方法是文献中的公开方法,具体方案不作为权利要求,采用besl和mckay提出的方法获取笛卡尔坐标系和点云坐标系之间的转换关系。具体,每隔30帧,系统将当前帧作为样本点,将当前帧的位姿和经纬度信息加入到两个全局采样器得到两个点集。最后,利用奇异值分解来计算两个全局采样器中的两个点集之间的最佳变换矩阵。假定pa是笛卡尔坐标系下的点集,pb是位姿坐标系下的点集。ca是点集pa的形心,cb是点集pb的形心。因为两个坐标系的尺度不同,需要进行尺度变换。假定旋转矩阵为r,平移变换为t,其计算过程,如下式:

[u,s,v]=svd(h)

其中,λ是尺度因子,其计算,如下式:

步骤4.3,对笛卡尔坐标系下的建筑物的坐标点a,利用获取到的r和t计算,计算其点云坐标系下的坐标b,如下式:

b=r·a+t

进一步的,步骤5的实现方法:

采用基于模糊数学的方法进行地标和点云的融合。假设地标的位置坐标为(xl,yl),点云的位置坐标为(x,y),该点云隶属于该地标的空间隶属度s(x,y)基于高斯分布来表示,如下式:

s(x,y)=g(x,y,xl,yl,σ)

其中,g(x,y,xl,yl,σ)表示二维高斯概率密度函数,σ为二维高斯分布标准差。

进一步的,对距离地标的位置坐标为(xl,yl)最近的n个属于建筑类别的点云对应的纹理特征进行加权平均,得到该地标的纹理特征向量权重即为点云隶属于该地标的空间隶属度s(x,y),如下式:

进一步的,依据每个点云对应的纹理特征向量td(x,y)计算其与地标的纹理特征向量之间的距离,如下式:

点云隶属于地表的纹理隶属度函数t(x,y)由一维高斯概率密度函数表示,如下式:

其中,为一维高斯概率密度函数,σt为一维高斯分布的标准差。

最终的隶属度函数b(x,y)为空间隶属度和纹理隶属度的乘积

b(x,y)=s(x,y)×t(x,y)

进一步的,该分布将插入到最终的语义地图中,使得点云被标注上隶属于地标的隶属度,从而实现基于地标的定位;

进一步的,步骤6的实现方法:

根据步骤2中建图系统获得的机器人的位姿轨迹,系统自动生成路径拓扑点,除初始点和结束点作为目标点外,另保留两种类型的路径拓扑点,一是当场景的视觉描述符有较大的变化时,二是当机器人转弯时。建图系统保留路径拓扑点的位姿,以及该位姿对应的关键帧中语义标签为建筑物的特征点信息,特征点信息包括描述子和纹理特征编码。建图系统还会将路径拓扑点与在该位置能观测到的路标拓扑点建立关联,最终生成可用于导航的融合地标的拓扑地图。

本发明得到的拓扑地图所占用的存储空间相对较少,能够满足移动智能体的轻量级需求,同时又能够表示足够的信息,可用于导航。

尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1