本发明属于机器人视觉slam(visual simultaneous localization andmapping)领域。提出了一种基于实例分割网络的室内动态环境下的rgb-d slam,通过结合最新的实例分割算法solov2,设计一个结合目标检测和实例分割的动态区域掩码模块,对视觉相机拍摄的rgb图像进行像素级的动态区域分割,结合深度图与聚类算法将图像中的动态特征点剔除。
背景技术:
1、即时定位与地图构建(slam)一直是许多机器人应用中最重要的能力之一。机器人要想实现真正意义上的自主移动,就必须具备相应的环境感知和理解能力。这就要求机器人能够自主地完成对周围环境的感知和构建,并且在自建的地图中辨别自身的相对位置。当我们强调环境感知时,至关重要的则是优先考虑传感器技术。由于传感器类型和安装方式的不同,slam的实现方式也会有所不同。根据传感器的类型,slam系统主要分为激光slam和视觉slam两个大类。其中,激光slam起步早于视觉slam,在理论、技术和产品落地方面都比较成熟。然而,激光slam的成本却是视觉slam的几十倍甚至几百倍。此外,激光雷达的重量和体积非常大,这使得它在诸如无人机(uavs)、增强现实(ar)、虚拟现实(vr)和其他相关领域的应用十分具有挑战性。总而言之,视觉slam逐渐成为机器人领域研究的重点。
2、在视觉slam的背景下,图像处理在前端任务中起着至关重要的作用。虽然深度学习领域的进步促进了基于2d图像的实例分割网络多样性的发展。现有的一些语义slam利用深度学习驱动图像分割,例如ds-slam。然而,在动态环境下分割结果并不理想。在2d实例分割的过程中,我们会遇到各种各样的问题,其中包括遮挡和运动模糊的物体,甚至是漏检。这些问题都给实例分割带来了很大的麻烦,降低了定位的准确性和建图的可靠性。
技术实现思路
1、本发明的目的是针对现有技术的不足,提供了一种基于实例分割网络的室内动态环境下的rgb-d slam。利用solov2算法结合先验语义信息获取环境中的物体的像素坐标及分类标签,并筛选出其中的动态特征点,然后将其剔除,提取环境中的静态特征点。
2、为了实现上述目的,本发明的解决方案如下:
3、一种基于实例分割网络的室内动态环境下rgb-d的slam方法,包括以下步骤:
4、(1)通过视觉相机采集rgb图像和深度图像;
5、(2)在采集到rgb图像的同时,通过solov2实例分割算法对采集到的室内动态环境下的rgb图像进行处理,提取图像中的实例并进行分割,最后对每个实例覆盖上颜色不同的掩码,其分割过程如下:
6、步骤21,设输入的室内动态场景rgb图像为图像i,将其划分为g×g个网格,并输入到一个实例分割网络中,以预测单幅图像中的第i个实例的对象类别oci和二值掩码bmi。
7、步骤22,如果一个对象的中心落入到一个网格单元中,则该网格单元就负责预测该对象的对象类别ocxy和掩码类别bmxy。
8、步骤23,ocxy属于类别容器cc,bmxy属于掩码容器cm。
9、步骤24,ocxy的每个元素表示每个对象在网格单元(x,y)处的类别概率,每个网格单元(x,y)将在第k个元素处生成对应的掩码kth,其中kth=x·g+y。
10、(3)结合先验语义,对solov2处理后的图像再处理,将掩码图中的动态物体使用显著颜色进行覆盖,所述显著颜色为白色,像素值为(255,255,255);
11、(4)使用图像处理方法对solov2算法处理后的掩码图中的动态物体进行形态学膨胀;
12、(5)将rgb图像,深度图像和掩码图像输入到slam系统中;
13、(6)进行图像预处理,其中包括对室内动态环境下的rgb图像灰度化,校正图像中的镜头畸变,构建图像金字塔;
14、(7)使用fast算法在rgb图像预处理后的灰度图像中检测关键点,然后使用非极大值抑制来剔除不够显著或者冗余的关键点;
15、(8)使用brief算法计算其对应的orb描述子;
16、(9)对形态学膨胀后的动态物体提取特征点,设为伪动态特征点;
17、(10)结合深度图,对伪动态特征点的深度值进行聚类并分为动态特征点和静态特征点;
18、(11)将图像中的所有动态特征点剔除;
19、(12)将所有的静态特征点输入到追踪线程(track),并进行后续的局部建图线程(local mapping)及局部回环检测线程(local closing)。
20、具体地,对solov2处理后的掩码图像中的动态物体进行形态学膨胀,该操作的原理是利用一个结构元,将其滑动到图像上,并将覆盖区域内的像素值分配到一个最大值。设实例分割图像为iseg,结构元为s,形态学膨胀的数学表示如下:
21、
22、其中,是形态学膨胀的结果,(x,y)是图像中的像素坐标,(i,j)是结构元的像素坐标。∪是指对s中的所有元素(i,j)执行并集操作。
23、更进一步地,在已经灰度化,去畸变的图像上构建图像金字塔,其中原始图像就是金字塔底层,通过对图像进行固定倍率的缩放以获取不同分辨率的图像;
24、更进一步地,在图像金字塔的每一层上提取fast角点,其判断原理是如果一个像素与邻域的像素差别较大,则更可能是角点。
25、更进一步地,对于第一遍检测后得到的关键点需要使用非极大值抑制来在一定区域内保留响应极大值的关键点,避免关键点集中的问题。
26、更进一步地,使用brief算法计算关键点对应的描述子。
27、更进一步地,对rgb图像提取特征点后,判断位于掩码图像中经过形态学膨胀的动态物体上的特征点为伪动态特征点。
28、更进一步地,结合深度图对所有的伪动态特征点的深度值进行聚类,令深度值为其中m=1,2,...,n。定义聚类算法的代价函数为深度值与随机中心的误差平方和,假设动态物体的个数为k-1,则聚类的簇数即总共的实例个数为k,默认其余的实例都是静态背景,算作同一类实例。
29、更进一步地,在中随机选取k个中心,记为μ1,μ2,...μk。定义代价函数如下:
30、
31、其中,dm表示第m个深度值,km表示dm所在的簇(实例类别)。
32、更进一步地,对于每个深度值dm,将其赋给距离它最近的中心:
33、dm<-argmin|dm-μk||2 (7)
34、更进一步地,对于每个聚类中心μk,重新计算这个簇(实例类别)的聚类中心并迭代上述过程:
35、
36、更进一步地,通过聚类过程可以将提取到的特征点分为动态特征点和静态特征点,然后剔除掉提取到的动态特征点。
37、更进一步地,剔除掉提取到的动态特征点后,通过获取到的深度图像赋予每个静态点深度值,并根据这个深度值计算其右图中匹配的特征点的视差。
38、更进一步地,将所有静态特征点传回到追踪线程(track),并进行后续的局部建图线程(local mapping)及局部回环检测线程(local closing)。
39、与现有技术相比,本发明的有益效果是:
40、本发明是一种基于实例分割网络的室内动态环境下的rgb-d slam,用来解决复杂动态环境下的slam问题。实例分割神经网络方法被用作预处理阶段,以过滤与动态物体相关的数据
41、本发明提出了一种提高slam精度和效率的前端优化方法。该方法对图像中的动态物体进行形态学膨胀,并提取其伪动态特征点,然后通过对深度图像中动态物体的深度值进行k-means聚类,提取出真正的动态特征点并将其剔除。
42、本发明对所提出的方法进行了全面的评估。结果表明,本发明实现了可靠和准确的定位与建图。
43、综上所述,本发明提高了视觉slam算法在动态场景下的定位精度和鲁棒性,消除了动态物体对整个slam系统的影响,从而保证了slam系统整体的稳定性。
1.一种基于实例分割网络的室内动态环境下rgb-d的slam方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于实例分割网络的室内动态环境下rgb-d的slam方法,其特征在于,对solov2处理后的掩码图像中的动态物体进行形态学膨胀,利用一个结构元,将其滑动到图像上,并将覆盖区域内的像素值分配到一个最大值;设实例分割图像为iseg,结构元为s,形态学膨胀的数学表示如下:
3.根据权利要求2所述的一种基于实例分割网络的室内动态环境下rgb-d的slam方法,其特征在于,在已经灰度化,去畸变的图像上构建图像金字塔,其中原始图像就是金字塔底层,通过对图像进行固定倍率的缩放以获取不同分辨率的图像。
4.根据权利要求3所述的一种基于实例分割网络的室内动态环境下rgb-d的slam方法,其特征在于,在图像金字塔的每一层上提取fast角点,其判断原理是如果一个像素与邻域的像素差别较大,则更可能是角点。
5.根据权利要求4所述的一种基于实例分割网络的室内动态环境下rgb-d的slam方法,其特征在于,对于第一遍检测后得到的关键点使用非极大值抑制来在一定区域内保留响应极大值的关键点,避免关键点集中。
6.根据权利要求5所述的一种基于实例分割网络的室内动态环境下rgb-d的slam方法,其特征在于,使用brief算法计算关键点对应的描述子。
7.根据权利要求6所述的一种基于实例分割网络的室内动态环境下rgb-d的slam方法,其特征在于,对rgb图像提取特征点后,判断位于掩码图像中经过形态学膨胀的动态物体上的特征点为伪动态特征点。
8.根据权利要求7所述的一种基于实例分割网络的室内动态环境下rgb-d的slam方法,其特征在于,结合深度图对所有的伪动态特征点的深度值进行聚类,令深度值为其中m=1,2,...,n;定义聚类算法的代价函数为深度值与随机中心的误差平方和,假设动态物体的个数为k-1,则聚类的簇数即总共的实例个数为k,默认其余的实例都是静态背景,算作同一类实例。
9.根据权利要求8所述的一种基于实例分割网络的室内动态环境下rgb-d的slam方法,其特征在于,在中随机选取k个中心,记为μ1,μ2,...μk;定义代价函数如下:
10.根据权利要求1所述的一种基于实例分割网络的室内动态环境下rgb-d的slam方法,其特征在于,通过聚类过程将提取到的特征点分为动态特征点和静态特征点,然后剔除掉提取到的动态特征点;剔除掉提取到的动态特征点后,通过获取到的深度图像赋予每个静态点深度值,并根据这个深度值计算其右图中匹配的特征点的视差;将所有静态特征点传回到追踪线程,并进行后续的局部建图线程及局部回环检测线程。