System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及移动机器人同步定位与建图的,具体涉及一种基于改进yolov7的视觉slam方法及系统。
技术介绍
1、同步定位与地图构建(simultaneous localization and mapping,slam)是搭载激光雷达、imu、相机等传感器的移动载体在未知环境下同步进行定位与地图构建的过程。目前,对于绝大多数的slam系统,都存在非动态环境假设,即假定移动载体所处环境内的物体均为静态,不存在动态物体。然而,这种假设在真实场景中往往很难成立,当场景中存在人、猫、畜禽动物、汽车等动态物体时,由于提取了分布在动态物体上的特征点,使得slam系统在进行位姿估计时会产生较大的轨迹偏差,甚至导致slam系统崩溃。因此对于视觉slam系统来说,如何在动态场景中实现实时精准的位姿估计依旧是一个极具挑战的问题。
2、为了解决slam系统在动态场景中实现实时精准的位姿估计,有学者提出了面向动态环境的slam方法。根据场景中动态特征的检测方法可以将其分成两大类:一类是传统的基于几何的方法,该类方法的计算量大、实时性低。另一类则是通过深度学习的方法,利用目标检测网络,从输入图像中提取物体的语义信息,利用语义信息剔除动态物体上的特征点,但是现有方法的精度低、实时性差。
技术实现思路
1、本公开旨在至少解决现有技术中存在的技术问题之一。
2、为此,本公开第一方面提供的一种基于改进yolov7的视觉slam方法,可在动态场景中实现实时精准定位。
3、为达到上述目
4、本公开第一方面提供的一种基于改进yolov7的视觉slam方法,包括:搭建视觉slam框架,所述视觉slam框架包括并行的语义线程、跟踪线程、局部建图线程和回环检测线程,所述语义线程采用改进的yolov7网络,所述改进的yolov7网络是通过使用ghostnet网络替换yolov7的主干特征提取网络得到;
5、对移动机器人上的相机进行标定和去畸变,通过相机获取场景图像并将其同时送入所述语义线程和所述跟踪线程;
6、在所述语义线程中,通过所述改进的yolov7网络逐帧识别所述场景图像中物体的语义和坐标信息,并将得到的语义和坐标信息输入所述跟踪线程;
7、在所述跟踪线程中,先提取输入的所述场景图像的所有orb特征点,再结合语义线程得到的所述语义和坐标信息将所有orb特征点中的动态特征点剔除,由剩余的orb特征点构成当前静态特征点集合;
8、对相机进行初始化,并在上一帧场景图像的基础上对当前帧场景图像进行位姿估计及位姿优化,然后利用优化的位姿跟踪局部地图,根据当前帧场景图像的质量筛选出若干关键帧;
9、在局部建图线程中,根据筛选的关键帧获得稀疏点云地图;
10、在闭环检测线程中,对关键帧进行闭环校正,并更正稀疏点云地图的漂移误差。
11、本公开第二方面提供的一种基于改进yolov7的视觉slam系统,包括:
12、相机,用于获取场景图像;
13、语义线程,用于通过改进的yolov7网络逐帧识别所述场景图像中物体的语义和坐标信息,所述改进的yolov7网络是通过使用ghostnet网络替换yolov7的主干特征提取网络得到;
14、跟踪线程,用于先提取输入的场景图像所有orb特征点,再结合语义线程得到的语义和坐标信息将所有orb特征点中的动态特征点剔除,由剩余的orb特征点构成当前静态特征点集合;
15、初始化线程,用于对相机进行初始化,并在上一帧场景图像的基础上对当前帧场景图像进行位姿估计,然后利用优化的位姿跟踪局部地图,根据当前帧场景图像的质量筛选出若干关键帧;
16、局部建图线程,用于根据筛选的关键帧获得稀疏点云地图;
17、闭环检测线程,用于对关键帧进行闭环校正,并更正稀疏点云地图的漂移误差。
18、在一些实施例中,所述场景图像中物体的语义和坐标信息通过物体锚框的形式表征,在所述跟踪线程中,将所有orb特征点中的动态特征点剔除,具体步骤包括:
19、依据场景中物体可能发生运动概率的高低将物体所属类别分为三类:高动态物体、中动态物体和低动态物体;
20、对物体锚框内所有orb特征点进行如下逻辑判断:有且仅当高动态物体锚框内的orb特征点不属于其他物体锚框时,将该高动态物体锚框内的orb特征点识别为动态特征点,将其从识别的orb特征点中剔除。
21、在一些实施例中,所述ghostnet网络包括依次连接的卷积结构cbr、2个主干子网络、第一瓶颈结构和第一卷积模块cbr6,各主干子网络均分别包括依次连接的第二瓶颈结构、第二卷积模块和膨胀瓶颈残差层,各瓶颈结构均采用ghostbottleneck,各卷积模块cbr6均包含若干卷积结构,所述膨胀瓶颈残差层采用特征金字塔结构,第一主干子网络的第二瓶颈结构还与第二主干子网络的第二瓶颈结构连接,第二主干子网络的第二瓶颈结构还与第一瓶颈结构连接。
22、在一些实施例中,所述改进的yolov7网络的检测头包括融合模块sppcspc,池化层mp-d以及若干膨胀瓶颈残差层dbrc、拼接层concat、上采样层upsample、改进的残差块elan-d、卷积模块repconv和卷积层conv;所述ghostnet网络中第一卷积模块cbr6的输出端与融合模块sppcspc的输入端连接,融合模块sppcspc的输出端依次通过第一膨胀瓶颈残差层dbrc和第一上采样上采样层upsample与第一拼接层concat的输入端连接,第一拼接层concat的输入端还与所述第二主干子网络中膨胀瓶颈残差层的输出端连接,第一拼接层concat的输出端依次通过第一改进的残差块elan-d、第二膨胀瓶颈残差层dbrc和第二上采样上采样层upsample与第二拼接层concat的输入端连接,第二拼接层concat的输入端还与所述第一主干子网络中膨胀瓶颈残差层的输出端连接,第二拼接层concat的输出端和第二改进的残差块elan-d的输入端连接,第二改进的残差块elan-d的输出端同时与第一卷积模块repconv和第三改进的残差块elan-d的输入端连接,第一卷积模块repconv的输出端与第一卷积层conv连接,由第一卷积层conv输出第一检测结果,第三改进的残差块elan-d的输出端和第一改进的残差块elan-d的输出端同时与第三拼接层concat的输入端连接,第三拼接层concat的输出端与第四改进的残差块elan-d的输入端连接,第四改进的残差块elan-d的输出端同时与第二卷积模块repconv和池化层mp-d的输入端连接,第二卷积模块repconv的输出端与第二卷积层conv连接,由第二卷积层conv输出第二检测结果,池化层mp-d的输出端和融合模块sppcspc的输出端同时与第四拼接层concat的输入端连接,第四拼接层concat的输出端依次通过第五改进的残差块ela本文档来自技高网...
【技术保护点】
1.一种基于改进YOLOv7的视觉SLAM方法,其特征在于,包括:
2.根据权利要求1所述的视觉SLAM方法,其特征在于,所述场景图像中物体的语义和坐标信息通过物体锚框的形式表征,在所述跟踪线程中,将所有ORB特征点中的动态特征点剔除,具体步骤包括:
3.根据权利要求1所述的视觉SLAM方法,其特征在于,所述GhostNet网络包括依次连接的卷积结构CBR、2个主干子网络、第一瓶颈结构和第一卷积模块CBR6,各主干子网络均分别包括依次连接的第二瓶颈结构、第二卷积模块和膨胀瓶颈残差层,各瓶颈结构均采用GhostBottleneck,各卷积模块CBR6均包含若干卷积结构,所述膨胀瓶颈残差层采用特征金字塔结构,第一主干子网络的第二瓶颈结构还与第二主干子网络的第二瓶颈结构连接,第二主干子网络的第二瓶颈结构还与第一瓶颈结构连接。
4.根据权利要求3所述的视觉SLAM方法,其特征在于,所述改进的YOLOv7网络的检测头包括融合模块SPPCSPC,池化层MP-D以及若干膨胀瓶颈残差层DBRC、拼接层Concat、上采样层Upsample、改进的残差块ELAN
5.根据权利要求1所述的视觉SLAM方法,其特征在于,所述局部建图线程中,将来自于跟踪线程的关键帧放进一个队列中,处理关键帧列表中的第一个关键帧,剔除掉关键帧中质量不符合要求的地图点,并在共视的关键帧之间生成新的地图点,在处理完队列中的所有关键帧后,融合当前帧与相邻帧中重复的地图点,再对局部地图进行BA优化,剔除掉冗余关键帧,获得所述稀疏点云地图,最后将关键帧加入到闭环检测线程中。
6.根据权利要求1所述的视觉SLAM方法,其特征在于,所述闭环检测线程中,通过特征描述子Bag ofWords进行检测,并进行Sim3相似变换,最后对关键帧进行闭环校正,更正所述稀疏点云地图的漂移误差。
7.一种基于改进YOLOv7的视觉SLAM系统,其特征在于,包括:
8.根据权利要求7所述的视觉SLAM系统,其特征在于,所述场景图像中物体的语义和坐标信息通过物体锚框的形式表征,在所述跟踪线程中,将所有ORB特征点中的动态特征点剔除,具体步骤包括:
9.根据权利要求7所述的视觉SLAM系统,其特征在于,所述GhostNet网络包括依次连接的卷积结构CBR、2个主干子网络、第一瓶颈结构和第一卷积模块CBR6,各主干子网络均分别包括依次连接的第二瓶颈结构、第二卷积模块和膨胀瓶颈残差层,各瓶颈结构均采用GhostBottleneck,各卷积模块CBR6均包含若干卷积结构,所述膨胀瓶颈残差层采用特征金字塔结构,第一主干子网络的第二瓶颈结构还与第二主干子网络的第二瓶颈结构连接,第二主干子网络的第二瓶颈结构还与第一瓶颈结构连接。
10.根据权利要求9所述的视觉SLAM系统,其特征在于,所述改进的YOLO...
【技术特征摘要】
1.一种基于改进yolov7的视觉slam方法,其特征在于,包括:
2.根据权利要求1所述的视觉slam方法,其特征在于,所述场景图像中物体的语义和坐标信息通过物体锚框的形式表征,在所述跟踪线程中,将所有orb特征点中的动态特征点剔除,具体步骤包括:
3.根据权利要求1所述的视觉slam方法,其特征在于,所述ghostnet网络包括依次连接的卷积结构cbr、2个主干子网络、第一瓶颈结构和第一卷积模块cbr6,各主干子网络均分别包括依次连接的第二瓶颈结构、第二卷积模块和膨胀瓶颈残差层,各瓶颈结构均采用ghostbottleneck,各卷积模块cbr6均包含若干卷积结构,所述膨胀瓶颈残差层采用特征金字塔结构,第一主干子网络的第二瓶颈结构还与第二主干子网络的第二瓶颈结构连接,第二主干子网络的第二瓶颈结构还与第一瓶颈结构连接。
4.根据权利要求3所述的视觉slam方法,其特征在于,所述改进的yolov7网络的检测头包括融合模块sppcspc,池化层mp-d以及若干膨胀瓶颈残差层dbrc、拼接层concat、上采样层upsample、改进的残差块elan-d、卷积模块repconv和卷积层conv;所述ghostnet网络中第一卷积模块cbr6的输出端与融合模块sppcspc的输入端连接,融合模块sppcspc的输出端依次通过第一膨胀瓶颈残差层dbrc和第一上采样上采样层upsample与第一拼接层concat的输入端连接,第一拼接层concat的输入端还与所述第二主干子网络中膨胀瓶颈残差层的输出端连接,第一拼接层concat的输出端依次通过第一改进的残差块elan-d、第二膨胀瓶颈残差层dbrc和第二上采样上采样层upsample与第二拼接层concat的输入端连接,第二拼接层concat的输入端还与所述第一主干子网络中膨胀瓶颈残差层的输出端连接,第二拼接层concat的输出端和第二改进的残差块elan-d的输入端连接,第二改进的残差块elan-d的输出端同时与第一卷积模块repconv和第三改进的残差块elan-d的输入端连接,第一卷积模块repconv的输出端与第一卷积层conv连接,由第一卷积层conv输出第一检测结果,第三改进的残差块elan-d的输出端和第一改进的残差块elan-d的输出端同时与第三拼接层concat的输入端连接,第三拼接层concat的输出端与第四改进的残差块elan-d的输入端连接,第四改进的残差块elan-d的输出端同时与第二卷积模块repconv和池化层mp-d的输入端连接,第二卷积模块repconv的输出端与第二卷积层conv连接,由第二卷积层conv输出第二检测结果,池化层mp-d的输出端和融合模块sppcspc的输出端同时与第四拼接层concat的输入端连接,第四拼接层concat的输出端依次通过第五改进的残差块elan-d和第三卷积模块repconv与第三卷积层conv连接,由第三卷积层conv输出第三检测结果。
5.根据权利要求1所述的视觉slam方法,其特征在于,所述局部建图线程中,将来自于跟踪线程的关键帧放进一个队列中,处理关键帧列表中的第一个关键帧,剔除掉关键帧中质量不符合要求的地图点,并在共视的关键帧之间生成新的地图点,在处理完队列中的所有关键帧后,融合当前帧与相邻帧中重复的地图点,再对局部地图进行b...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。