System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机视觉领域、机器人建图,更具体的说是涉及一种基于视觉的动态环境slam方法。
技术介绍
1、同步定位与地图构建技术(simultaneous localization and mapping,slam)广泛应用于机器人自主导航、自动驾驶及环境感知等领域,这种技术可以基于自身硬件感知周围环境,以此构建地图,并基于地图感知自身位置。slam广泛应用于自动驾驶、智能家居、工业自动化以及移动机器人等领域。视觉slam获取场景的信息丰富,且成本较低,但视觉slam大多基于外部静态环境假设,然而实际环境包含车辆、行人等动态信息,严重影响机器人定位的精度和建图的准确性。
2、为了解决此类问题,随着近些年来深度学习在图像领域的快速发展,研究者们将视觉slam算法与场景理解,语义映射,机器人导航,目标检测,卷积神经网络等算法相结合以提升算法的稳定性和准确性。
3、目前,研究人员采用几何方法、多传感器融合和深度学习方法的方案等来剔除动态区域。
4、传统多视角几何约束在低动态场景,即场景中的动态物体较少时,系统通常能获得较为精确的定位精度并构建出环境地图,但当场景中的动态物体较多占比较大时,这种系统的鲁棒性就会显著下降。
5、多传感器融合在各种的环境中效果较好,但传感器的选择直接影响到算法的效果,且传感器的成本也较高。
6、深度学习方法在slam系统中处理动态物体的研究中起着重要作用。ds-slam是一种利用语义分割网络(segnet)和极线约束方法相结合的方法,以减少动态
7、针对该缺点,专利号为cn202010978338.x,公开了一种基于深度学习之目标检测的视觉slam方法,他是首先通过视觉传感器采集图像,并对采集的图像进行特征提取和目标检测,得到提取的特征点与目标检测的边界框结果;根据提取的特征点与目标检测的边界框结果,并且通过建立动态对象概率模型,发现且剔除动态特征点,创建出初始化地图;将所述初始化地图继续依次序进行跟踪、局部建图以及回环检测过程,从而在动态场景下构建出准确的三维地图,最终实现面向动态场景的基于深度学习之目标检测的视觉slam。本专利技术提高了动态场景下视觉slam的位姿解算和轨迹评估的精度,且精度优于现有的方法,解决了传统视觉slam无法有效地应对动态场景的问题,但该方法会将特定边界框中的特征点全部剔除,对算法精度造成一定影响。
技术实现思路
1、本专利技术的目的是提供一种基于视觉的动态环境slam方法,用来解决现有技术存在的问题,将目标检测和光流信息相结合,实现动态区域和静态区域的分割,同时去除动态特征点,得出较为精确的位姿估计,有效降低动态物体对视觉slam系统地图构建的影响。
2、为了实现上述目的,本专利技术提供如下技术方案:
3、一种基于视觉的动态环境slam方法,其步骤如下:
4、步骤1、将摄像头拍摄得到的图片采用orb特征点提取,得到图像中的特征点;
5、步骤2、使用yolov5s图像检测算法,通过对图像检测得出疑似动态物体区域,并对图像中的疑似动态物体进行标注;
6、步骤3、将目标检测标注的区域输入到稠密光流算法中,经动态分布度识别器识别确定步骤2中的疑似动态物体区域中的动态区域;
7、步骤4、将动态物体区域中的特征点标注为动态特征点,剔除掉图中的动态特征点,剩下的即为静态特征点。
8、步骤5、使用步骤4中得到的静态特征点进行orb-slam3的后续运算,并构建用于导航的地图。
9、所述步骤2中使用yolov5s图像检测算法,通过对图像检测得出疑似动态物体区域,并对图像中的疑似动态物体进行标注,具体如下:
10、yolov5是一种对于目标的检测算法,用于对象的识别和定位,由输入端、backbone、neck、prediction四部分组成。
11、yolov5s是深度最小,特征图宽度最小的网络模型,该模型运行速度最快、参数最少,但能够准确的识别出图像帧中具有先验信息的动态目标和潜在动态目标,能够满足slam系统对目标检测网络的精度要求,因此选择yolov5s网络作为目标检测网络。
12、将摄像头拍摄得到的图片使用yolov5s网络进行先验目标检测;
13、使用激活函数来计算每个标签类别的概率,并计算全局的类别损失;
14、对所述检测图像进行位置损失计算,得到疑似动态区域及目标检测结果。
15、所述步骤3将目标检测标注的疑似动态区域输入到稠密光流算法中,确定疑似动态物体是否进行了移动,其方法如下:
16、步骤3.1采用稠密光流算法计算所述目标区域运动信息,并根据所述目标区域的运动信息来确定目标区域里的运动区域;
17、步骤3.2根据所述特征点和动态分布度识别器,确定动态类的特征点和静态类的特征点;
18、所述步骤3.1中稠密光流算法计算,使用farneback光流算法,这个算法输入灰度图像,可计算出每个像素点对间的光流值,得到稠密光流场。
19、所述步骤3.2中动态分布度识别器,用于对动态区域的判别使用:
20、所述farneback光流算法中,光流信息中的光流矢量由四维向量(x,y,m,n)表示,为(x,y)光流矢量的空间位置信息,m代表水平方向的光流矢量大小,n代表竖直方向的光流矢量大小,光流矢量分量(m,n),以极坐标形式表示为(r,θ),可计算出光流的大小为,方向θ=arctan(m/n)。经多次实验定义了一个移动概率选取光流阈值为:相机无运动,设置阈值为3,相机运动,设置阈值为6,超出阈值的即认为运动物体产生的光流。为加快运算速度,只需关心运动区域与非运动区域,因此,在对阈值分割后的光流进行二值化处理之后,对该二值化的光流场进行腐蚀和膨胀操作,恢复至原图像大小,最终获取动态区域。
21、所述步骤5将步骤4中得到的静态特征点进行orb-slam3的后续运算,并构建用于导航的地图,具体如下:
22、跟踪线程对可靠的特征点进行帧间特征点匹配,并通过最小化重投影误差计算相机位姿;优化模块对一定时间内相关联的地图点及进行局部ba优化。当回环线程检测到回环发生时,利用回环约束对关键帧进行融合和图优化,消除系统运行过程中累计的误差;最终构建出准确的三维场景地图。
23、本专利技术的有益技术效果:本专利技术公开提供了一种基于视觉的动态环境slam方法,将深度学习方法和slam算法相结合,将深度学习方法作为预处理步骤,利用图像检测算法进行图像的处理,并结合稠密光流本文档来自技高网...
【技术保护点】
1.一种基于视觉的动态环境SLAM方法,其特征在于:如下步骤:
2.步骤5、使用步骤4中得到的静态特征点进行ORB-SLAM3的后续运算,并构建用于导航的地图。
3.根据权利要求1所述的一种基于视觉的动态环境SLAM方法,其特征在于:上述步骤2中对采集的图像进行目标检测并对其进行标注,具体如下:
4.根据权利要求1所述的一种基于视觉的动态环境SLAM方法,其特征在于:上述所述步骤3将目标检测标注的疑似动态区域输入到稠密光流算法中,确定疑似动态物体是否进行了移动,其方法如下:
5.所述步骤3.2中动态分布度识别器,用于对动态区域的判别使用:
6.根据权利要求1所述的一种基于视觉的动态环境SLAM方法,其特征在于上述步骤所述步骤5中得到的静态特征点进行ORB-SLAM3的后续运算,并构建用于导航的地图,具体如下:
【技术特征摘要】
1.一种基于视觉的动态环境slam方法,其特征在于:如下步骤:
2.步骤5、使用步骤4中得到的静态特征点进行orb-slam3的后续运算,并构建用于导航的地图。
3.根据权利要求1所述的一种基于视觉的动态环境slam方法,其特征在于:上述步骤2中对采集的图像进行目标检测并对其进行标注,具体如下:
4.根据权利要求1所述的一种基于视觉的动态环境slam方...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。