一种动态环境下基于YOLO与点线面特征的视觉SLAM方法

文档序号:36506160发布日期:2023-12-28 15:52阅读:48来源:国知局
一种动态环境下基于

本发明属于深度学习动态环境下视觉slam相关,尤其涉及一种动态环境下基于yolo与点线面特征的视觉slam方法。


背景技术:

1、在人工智能高速发展的这几年,移动机器人与自动驾驶技术取得了重大进展。同时定位和建图(slam)作为许多机器人应用的先决技术,也在该领域引起了广泛的关注。slam技术在机器人的定位估计和地图绘制中发挥着重要作用,它可以帮助机器人在没有任何先验信息的情况下在未知环境中根据传感器数据定位自己,并同时创建周围环境的地图。位置的相关信息可以帮助机器人知道它在移动过程当中的位置,甚至是机器人未曾扫描探索过的地方。创建的地图可以使机器人还原重要的环境信息,当机器人回到同一地点时,这些信息可以用于重定位过程。

2、在大方面上,从获取数据的传感器分类,slam可细分为激光slam和视觉vslam。视觉slam的主要传感器是相机,一般包括单目相机、立体相机和rgb-d相机等。相比于激光slam,视觉中的图像可以存储比激光传感器更广泛的场景信息,应用场景更加广泛。经过数据挖掘,获得的信息可以应用于目标检测、语义分割等。视觉slam已经发展了三十多年,在某些特定场景下已经相当成熟。比如现今的特斯拉汽车,车身上用摄像头取代部分雷达进行周围信息的感知。一些先进的视觉slam系统已经取得了相当不错的性能,如orb-slam2、lsd-slam、rgbd-slam-v2。

3、然而,在面对一些极端环境(如动态环境或恶劣环境)时,传统的slam系统大多是脆弱的。动态环境从字面意思就能理解,是指出现物体运动的场景。目前,大多数基于静态环境假设的slam算法只允许少量的动态点出现。当动态目标占据图像的很大一部分或者持续进行干扰时,传统slam系统的精度和鲁棒性会面临很大的挑战。系统不稳定的主因是图像中动态点导致了错误的数据关联,并且在跟踪过程中极大地干扰了位置定位。已经许多研究这做了不少的尝试消除这些不匹配点所带来的不必要的约束。因此,为了提高slam系统的稳定性和准确性,找到一种有效的方法从所有去除动态点的影响是至关重要的。

4、目标检测作为计算机视觉领域的核心问题,其主要任务是从图片或视频中找出目标并识别类别。目前该算法主要为两类:双阶网络与单阶网络。双阶是先提取出物体的特征,然后生成可能含有待测目标的位置的区域,后再通过卷积对物体进行分类;单阶则是图像通过网络直接预测出图中物体的位置和分类。其中yolo(you only look once)属于典型的单阶网络,它优势在于识别速度快,但是精度欠佳;mask r-cnn这类属于双阶网络,在精度上要超过单阶,但是训练和识别速度就不如了。dynaslam是采用多视几何和mask rcnn相结合来对动态目标进行检测与滤除,虽然提升了slam系统的精度,但是实时性差。相比之下应用于slam的动态环境中,yolo是综合评价比较高的目标检测模型了,同时yolo系列算法经过几个版本的更迭,解决了很多低版本的问题,目前在物体目标检测领域占据了主导地位

5、本文提出了一种动态环境下基于yolo与点线面特征的视觉slam方法称为yolo-plpslam,来减少动态环境中运动物体的造成影响。为了有效地识别动态特征点,既利用了深度学习在场景理解中的优势,又利用了特征点固有的几何深度信息。这两部分结合可以更好帮助slam系统从语义和几何两个层面感知环境。在slam系统中设计一个轻量级的yolov5目标检测网络,该网络能够检测动态信息并在另一个线程中通过检测到的信息剔除动态特征点,在去除了动态检测框内的特征点的同时,补充了点特征和面特征来提高鲁棒性。在几何方面结合了一种结构化的slam方法,在位姿估计模块中使用了曼哈顿关系进行额外的位姿优化的方法。


技术实现思路

1、本发明的目的是提供一种动态环境下基于yolo与点线面特征的视觉slam方法,以解决传统的slam系统依赖于静态环境假设,对于动态环境性能不稳定等问题。

2、一种动态环境下基于yolo与点线面特征的视觉slam方法,包括以下步骤:

3、步骤a,使用深度学习中图像检测yolo方法对数据集上的动态对象进行识别,然后去除动态检测框中的特征点来降低动态点对位姿估计的影响;

4、步骤b,加入结构化基于点线面融合的方法补充线特征和面特征以降低步骤a中会剔除有用特征点降低精度的影响,提高跟踪和建图的精度;

5、步骤c,对于跟踪线程部分,基于曼哈顿世界的假设,利用一种基于点、线和平面的解耦优化方法包括平移估计和旋转估计,并在附加的优化位姿模块中使用曼哈顿关系进行位姿优化;

6、步骤d,对相机轨迹的跟踪和稠密建图;

7、步骤e,确定验证指标;

8、步骤f,使用测试集来测试效果。

9、优选的,所述步骤a中,首先在orb特征点提取模块加入了动态特征点剔除线程进行判断剔除工作,通过yolo对数据集中动态目标(室内的主体行走的人)进行识别标定,删除相应的特征点,使得最后得到不再包含动态特征点的匹配。其中采用yolov5的版本进行优化工作,利用输入端对图像自适应放缩和锚框自适应的处理,中间/隐藏层激活函数使用leakyrelu,最后的检测层激活函数为sigmoid,用ms coco数据集训练达到实验的要求。

10、优选的,所述步骤b中,结合了一种专为结构化环境设计的rgb-d slam系统,依靠从环境中提取的几何特征来提高跟踪和映射精度。点方面使用orb特征点法,在点线提取环节,由于rgb-d相机得到的深度图在物体边界处会出现深度不连续的先天性弱势存在由于深度错误导致投影的不准确情况,为克服这种影响,加入了对3d线进行滤波处理,即通过ransac方法对线段上的外点进行剔除;在低纹理环境中,难提取足够的点来进行鲁棒姿态估计,因此使用直线扩展特征集,用lsd方法提取直线;此外,在室内环境中经常会发现非纹理平面区域,可以从深度图中提取的平面来扩展点和线。采用连通区域分析法进行平面检测。用hessian法线形式表示平面方程,其中是平面的法线,表示平面的方向,d是相机原点到平面的距离。具体是取一个10×10大小的patch法向量的平均值来对当前法向量进行平滑处理,而后将提取的平面与已有平面进行匹配。

11、优选的,所述步骤c中,包含相机的旋转、平移的估计以及最后的位姿优化过程。通过在曼哈顿坐标系下求得了当前帧与曼哈顿坐标系的旋转矩阵pk+1,m与rm,w,其中pm,w表示由mw初始化步骤得到的世界到mw的关系,rk+1,m是mw到第(k+1)帧的关系。基于此就可以求得当前帧到世界坐标系下的旋转矩阵:rk+1,w=rk+1,mrm,w,它能防止由于相邻帧之间的位姿估计所导致的误差累计。平移向量的估计则是通过构建残差方程和最小二乘的方法来完成求解,根据点、线、面的约束构建了三个子残差方程,将上一帧的3d点重投影到当前帧中,根据特征点的重投影误差所构建的残差方程为:对于线特征,先使用线特征的归一化函数来进行表征:l=[pstart×pend]/[‖pstart‖‖pend‖],pstart和pend分别表示直线二维端点,后根据l与关键帧中匹配的3d直线投影的3d端点pstart和pend之间的点线距离,对于每个端点px建立残差方程:最优化平面π的参数,将其表示为其中和ψ是法线的方位角和仰角,d是hessian形式的距离。其中为世界坐标到相机坐标的变换。因此,观测平面πk与对应映射平面πx之间面特征的残差方程为:假设观测量服从高斯分布,那最终的非线性最小二乘可以写为:其中和是点、线和平面的逆协方差矩阵,ρp,ρl和ρπ分别是鲁棒的huber代价函数。

12、优选的,所述步骤e中,评价slam系统精确度的性能一般是将相机运动估计轨迹与真实轨迹比较。绝对轨迹误差(ate)和相对姿态误差(rpe)经常被用作误差度量。ate通常同来测量轨迹的全局一致性,而rpe则是测量平移和旋转漂移。通过对有真实数据的数据集的动态序列分组在yolo-orbslam和orb-slam2分别运行得到的轨迹等相关数据,使用测评工具为evo测出ate和rpe的均方根误差(rmse)和标准差(s.d.)表明精度。

13、有益效果:本发明提出一种动态环境下基于yolo与点线面特征的视觉slam方法,该方法具有如下优点:

14、(1)在slam系统中设计一个轻量级的yolov5目标检测网络,该网络能够检测动态信息并在另一个线程中通过检测到的信息剔除动态特征点,来减少误差,同时该方法可移植到许多以特征点为基础的slam方法中,同时可以训练更佳优秀的网络,继续提升性能。

15、(2)补充了点特征和面特征来提高鲁棒性。在几何方面结合了一种结构化的slam方法,在位姿估计模块中使用了曼哈顿关系进行额外的位姿优化,整个yolo-plpslam方法相比传统orb-slam特征点法在处理动态环境时,性能大幅提高,相比于几何与深度学习结合的优秀方法,比如ds-slam和rds-slam,其精确度和鲁棒性也有所提升。该发明方法可以鲁棒性好、模型简单可解释性强易于操作人员理解及推广使用。

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