首页> 中国专利> 一种基于深度学习的同步定位与地图构建方法

一种基于深度学习的同步定位与地图构建方法

摘要

本发明公开了一种基于深度学习的同步定位与地图构建方法,依据移动机器人的视觉SLAM原理,搭建移动机器人软硬件平台。采用针孔成像原理,求解相机内外参数,完成相机标定,该算法过程简洁易懂。给出了一种基于深度学习的闭环检测方法,通过判断关键帧,利用YOLO模型对场景图像进行特征向量提取,将最后一层的输出作为图像的特征向量提取出来,与上一时刻的特征向量通过余弦相似度判断两幅图像的相似程度,从而判断闭环。将闭环的结果通过粒子滤波算法用于修正地图中的误差,从而减少地图误差,构建精确地图。本发明一种基于深度学习的同步定位与地图构建方法能够应用视觉快速、准确地构建地图,使得移动机器人的自主导航更加精确。

著录项

  • 公开/公告号CN110146099A

    专利类型发明专利

  • 公开/公告日2019-08-20

    原文格式PDF

  • 申请/专利权人 西安工程大学;

    申请/专利号CN201910467708.0

  • 申请日2019-05-31

  • 分类号

  • 代理机构西安弘理专利事务所;

  • 代理人涂秀清

  • 地址 710048 陕西省西安市碑林区金花南路19号

  • 入库时间 2024-02-19 12:40:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-10

    未缴年费专利权终止 IPC(主分类):G01C21/32 专利号:ZL2019104677080 申请日:20190531 授权公告日:20200811

    专利权的终止

  • 2020-08-11

    授权

    授权

  • 2019-09-13

    实质审查的生效 IPC(主分类):G01C21/32 申请日:20190531

    实质审查的生效

  • 2019-08-20

    公开

    公开

说明书

技术领域

本发明属于人工智能技术领域,具体涉及一种基于深度学习的同步定位与地图构建方法。

背景技术

随着机器人、计算机、传感器、自动化控制、人工智能等技术的高速发展,自主移动机器人技术已经成为科技发展最前沿的领域之一。

传统SLAM技术使用激光雷达、声纳等价格昂贵、信息量少的传感器,制约了自主移动机器人的发展。视觉传感器因成本低廉,安装位置不受机械结构的制约,更重要的是可以感知复杂环境信息而应用于自主移动机器人的导航作业中,也可以为目标识别、行为规划等更高层次的应用提供依据。

但随着运动估计的增大,视觉定位方法累积的误差会逐步增加。闭环检测可以实现建图和定位中累积误差的校正,从而达到精准定位,同时,深度学习的出现为图像的描述提供了新的思路,应用深度学习对闭环检测算法进行研究,能够提高SLAM的鲁棒性。目前,国内在这方面尚无成熟技术。

发明内容

本发明的目的是提供一种基于深度学习同步定位与地图构建方法,解决了现有技术中视觉定位方法误差大的问题。

本发明所采用的技术方案是,一种基于深度学习的同步定位与地图构建方法,具体包括如下步骤:

步骤1:对安装在机器人上方的视觉传感器进行标定;

步骤2:视觉传感器实时采集周围环境图像信息,构建地图;

步骤3:通过卷积神经网络对视觉传感器实时采集周围环境图像信息进行特征提取;

步骤4:将当前时刻图像和前一个关键帧的特征进行匹配,判断当前时刻图像是否为关键帧;

假设不是关键帧,则查找新的图片,确定新的关键帧;

假设是关键帧,则将关键帧送入YOLO模型中提取特征向量进行闭环检测,得到闭环结果;

步骤5:将步骤4中闭环结果作为输入,通过粒子滤波算法,修正地图误差。

本发明的特点还在于:

步骤1中标定的具体过程为:

步骤1.1:将场景空间中的点被投影到图像平面上的点;

步骤1.2:将场景物体的空间坐标变换到摄像机坐标系中;

步骤1.3:将图像平面上的点转换到三维场景空间中。

步骤1.1中空间点和图像投影点的关系如下:

式中,x,y,z是场景空间坐标系中的一点P距x,y,z轴的距离;p点是场景空间中的点P(x,y,z)T投影到图像平面上的点;fx=f/px和fy=f/py分别表示水平像素焦距和垂直像素焦距;px和py分别表示图像像素宽度和高度;分别表示图像平面上p点的图像横纵坐标。

步骤1.2中投影中心设置在摄像机坐标系的原点,这是一种理想情况,但实际上由于受相机生产时的精度影响,投影中心往往会偏移图像平面中心几个像素,设(u0,v0)T为主点的图像坐标,公式(1)可以改写为:

其中,令即式中K表示摄像机标定矩阵。

步骤1.3中场景点空间坐标定义在世界坐标系上,此时,场景物体的空间坐标需要经过一个旋转R和平移t变换才能表示在摄像机坐标系中,公式(2)可以改写为:

式中,fx,fy,u0,v0表示摄像机内部参数;R,t表示摄像机外部参数;s是比例系数;

每给定RGB图内的一个像素点(u.v),都可以从对应深度图中得到像素点对应的深度值d,对应的空间三维坐标可由公式(4)求解出。

式中,fx,fy分别代表水平和垂直方向上的像素焦距;s指缩放系数。

步骤4的具体过程为:

步骤4.1:摄像机所捕捉到的第i帧图像作为关键帧m,i的初始值为1;

步骤4.2:对机器人移动过程中获得的第i+1帧图像进行特征提取,并与关键帧m进行特征匹配,具体方法为:

提取两帧图像的局部特征,在尺度空间寻找极值点,并提取出其位置、尺度、方向信息通过计算两组特征点的关键点的欧式距离实现,当欧式距离小于0.67的阈值时,判定匹配成功,则第i+1帧图像成为关键帧n;

若大于0.67的阈值时,则舍弃第i+1帧图像,直到找到第t帧图像符合条件为止;

步骤4.3:将关键帧m、n送入YOLO模型中,提取关键帧m、n的特征向量,通过余弦相似度判断闭环的正确性,余弦相似度公式为:

式中:a,b分别为关键帧m和关键帧n的特征向量,θ为特征向量a,b的夹角,如果相似度cosθ大于0.81的阈值,则关键帧m和关键帧n为闭环;反之,则为非闭环;

步骤4.4:假设非闭环,重复步骤4.2和4.3,直到判断关键帧m和关键帧n是闭环为止;假设为闭环,则进行下一步骤。

步骤5中粒子滤波算法的具体过程为:

步骤5.1:初始化:当t=0s时,根据机器人运动模型先验概率p(x0)选取N个粒子,记为每个粒子对应的权值为计算公式为:

根据目标状态先验概率得到

步骤5.2:采样:根据提议分布π采样,从粒子集合中产生下一代粒子集合通常将里程计运动模型作为提议分布π;

步骤5.3:重要性权重计算:根据重要性采样原则,计算每个粒子的重要性权重为:

步骤5.4:重采样:当有效粒子数小于预先设定的阈值Nth时,进行重采样;重采样后,所有粒子具有相同权重;

步骤5.5:更新地图:根据粒子的位姿和历史观测信息z1:t来更新对应的地图

步骤5.6:将关键帧n赋给关键帧m固定,求取关键帧n,返回步骤4.2,将循环中的i+1变为t+1,直到机器人绕地图循环一圈即停止。

本发明的有益效果是,本发明一种基于深度学习的同步定位与地图构建方法,能够准确快速判断闭环,提高了闭环检测的效率与准确率,提高了地图精度,实现精确定位,提高SLAM的鲁棒性。

附图说明

图1是本发明一种基于深度学习的同步定位与地图构建方法的流程图;

图2是本发明一种基于深度学习的同步定位与地图构建方法中视觉传感器物点和像点的关系图;

图3是本发明一种基于深度学习的同步定位与地图构建方法中视觉传感器世界坐标系与摄像机坐标系的变换原理图;

图4是本发明一种基于深度学习的同步定位与地图构建方法中解决闭环检测的原理图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明一种基于深度学习的同步定位与地图构建方法如图1所示,具体包括如下步骤:

步骤1:对安装在机器人上方的视觉传感器进行标定,标定的具体过程如下:

步骤1.1:将场景空间中的点被投影到图像平面上的点;

步骤1.2:将场景物体的空间坐标变换到摄像机坐标系中;

步骤1.3:将图像平面上的点转换到三维场景空间中;

步骤2:视觉传感器实时采集周围环境图像信息,构建地图;

步骤3:通过卷积神经网络对视觉传感器实时采集周围环境图像信息进行特征提取;

步骤4:将当前时刻图像和前一个关键帧的特征进行匹配,判断当前时刻图像是否为关键帧;

假设不是关键帧,则查找新的图片,确定新的关键帧;

假设是关键帧,则将关键帧送入YOLO模型中提取特征向量进行闭环检测,得到闭环结果;

步骤5:将步骤4中闭环结果作为输入,通过粒子滤波算法,修正地图误差。

如图2所示,空间点和图像投影点的关系如下:

式中,x,y,z是场景空间坐标系中的一点P距x,y,z轴的距离;p点是场景空间中的点P(x,y,z)T投影到图像平面上的点;fx=f/px和fy=f/py分别表示水平像素焦距和垂直像素焦距;px和py分别表示图像像素宽度和高度;分别表示图像平面上p点的图像横纵坐标。

投影中心设置在摄像机坐标系的原点,这是一种理想情况,但实际上由于受相机生产时的精度影响,投影中心往往会偏移图像平面中心几个像素。设(u0,v0)T为主点的图像坐标,公式(1)可以改写为:

其中,令即式中K表示摄像机标定矩阵。

如图3所示,场景中的物体空间坐标被定义在摄像机坐标系上,但是实际使用中,摄像机一直在移动,因此场景点空间坐标往往需要定义在的世界坐标系上。此时,场景物体的空间坐标需要经过一个旋转R和平移t变换才能表示在摄像机坐标系中,公式(2)可以改写为:

式中,fx,fy,u0,v0表示摄像机内部参数;R,t表示摄像机外部参数;s是比例系数。

每给定RGB图内的一个像素点(u.v),都可以从对应深度图中得到像素点对应的深度值d,对应的空间三维坐标可由公式(4)求解出。

式中,fx,fy分别代表水平和垂直方向上的像素焦距;s是指缩放系数。

Kinect的内部参数进行标定通过将棋盘格标定板放置在摄像机视场中一个固定位置,记录下标定板上棋盘格各个角点的世界坐标;在获取的棋盘格标定板图像中计算棋盘格标定板中各角点的图像坐标;用公式(3)的标定方法求解摄像机的内部参数。由于Kinect视角比较窄,RGB图像变形较小,因此忽略透镜引发的图像畸变,即不考虑外部参数。

如图4所示,利用深度学习完成闭环检测,主要步骤如下:

步骤4.1:摄像机所捕捉到的第i帧图像作为关键帧m,i的初始值为1;

步骤4.2:对机器人移动过程中获得的第i+1帧图像进行特征提取,并与关键帧m进行特征匹配,具体方法为:

提取两帧图像的局部特征,在尺度空间寻找极值点,并提取出其位置、尺度、方向信息通过计算两组特征点的关键点的欧式距离实现,当欧式距离小于0.67的阈值时,判定匹配成功,则第i+1帧图像成为关键帧n;

若大于0.67的阈值时,则舍弃第i+1帧图像,直到找到第t帧图像符合条件为止;

步骤4.3:将关键帧m、n送入YOLO模型中,提取关键帧m、n的特征向量,通过余弦相似度判断闭环的正确性,余弦相似度公式为:

式中:a,b分别为关键帧m和关键帧n的特征向量,θ为特征向量a,b的夹角,如果相似度cosθ大于0.81的阈值,则关键帧m和关键帧n为闭环;反之,则为非闭环;

步骤4.4:假设非闭环,重复步骤4.2和4.3,直到判断关键帧m和关键帧n是闭环为止;假设为闭环,则进行下一步骤。

步骤5中粒子滤波算法的具体过程为:

步骤5.1:初始化:当t=0s时,根据机器人运动模型先验概率p(x0)选取N个粒子,记为每个粒子对应的权值为计算公式为:

根据目标状态先验概率得到

步骤5.2:采样:根据提议分布π采样,从粒子集合中产生下一代粒子集合通常将里程计运动模型作为提议分布π;

步骤5.3:重要性权重计算:根据重要性采样原则,计算每个粒子的重要性权重为:

步骤5.4:重采样:当有效粒子数小于预先设定的阈值Nth时,进行重采样;重采样后,所有粒子具有相同权重;

步骤5.5:更新地图:根据粒子的位姿和历史观测信息z1:t来更新对应的地图

步骤5.6:将关键帧n赋给关键帧m固定,求取关键帧n,返回步骤4.2,将循环中的i+1变为t+1,直到机器人绕地图循环一圈即停止。

本发明一种基于深度学习的同步定位与地图构建方法依据移动机器人的视觉SLAM原理,搭建移动机器人软硬件平台,采用针孔成像原理,求解相机内外参数,完成相机标定,该算法过程简洁易懂,通过判断关键帧,利用YOLO模型对场景图像进行特征向量提取,将最后一层的输出作为图像的特征向量提取出来,与上一时刻的特征向量通过余弦相似度判断两幅图像的相似程度,从而判断闭环。将闭环的结果通过粒子滤波算法用于修正地图中的误差,从而减少地图误差,构建精确地图。本发明一种基于深度学习的同步定位与地图构建方法能够应用视觉快速、准确地构建地图,使得移动机器人的自主导航更加精确。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号