CN111998862B - 一种基于bnn的稠密双目slam方法 - Google Patents

一种基于bnn的稠密双目slam方法 Download PDF

Info

Publication number
CN111998862B
CN111998862B CN202010627927.3A CN202010627927A CN111998862B CN 111998862 B CN111998862 B CN 111998862B CN 202010627927 A CN202010627927 A CN 202010627927A CN 111998862 B CN111998862 B CN 111998862B
Authority
CN
China
Prior art keywords
map
binocular
depth
camera
bnn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010627927.3A
Other languages
English (en)
Other versions
CN111998862A (zh
Inventor
陈刚
吴志慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN202010627927.3A priority Critical patent/CN111998862B/zh
Publication of CN111998862A publication Critical patent/CN111998862A/zh
Application granted granted Critical
Publication of CN111998862B publication Critical patent/CN111998862B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及一种基于BNN的稠密双目SLAM方法,包括如下步骤:步骤一:对经过矫正后输入的左图,提取ORB特征;步骤二:获取左图深度图;步骤三:获取左图ORB特征点深度;步骤四:估计当前相机运动姿态;步骤五:生成关键帧,并通过关键帧进行局部建图;步骤六:建立稠密地图;步骤七:回环检测与回环矫正。本发明使用BNN实现双目匹配,提高了匹配精度和匹配速度,从而提高定位精度和建图的速度,不但克服了特征法视觉SLAM不能建立稠密地图的问题,还实现了稠密地图的实时建图,使得特征法视觉SLAM能够实际应用。

Description

一种基于BNN的稠密双目SLAM方法
技术领域
本发明涉及机器人同时定位与地图创建领域,更具体地,涉及一种基于BNN的稠密双目SLAM方法。
背景技术
同时定位与地图创建(Simultaneous Localization and Mapping,SLAM)是指移动机器人在未知环境中,通过所搭载的传感器,在运动中估计自身的运动,同时建立环境地图。
视觉SLAM可以分为两种:特征法和直接法。特征法的视觉SLAM方法需要提取图像特征点,可以创建稀疏地图;特征法视觉SLAM对光照、剧烈运动的鲁棒性较好,但是在无纹理的场景中表现较差,且建立的稀疏地图基本不能进一步用来如避障、运动规划等任务。
对于双目特征法视觉SLAM,一般包含双目匹配的过程。传统双目匹配方法计算量大,且准确度低。申请号为“CN201811416964.9”专利公布文件中公开了一种基于双目视觉和卷积神经网络的机器人定位***及方法,其中公开了采用卷积神经网络提高双目匹配的精度,从而更好地获取更准确的数据建立稠密地图,但是采用卷积神经网络仍然导致双目匹配的计算量大,实时性较差,不能实时建立稠密地图,导致其难以在实际中应用。
发明内容
本发明为克服上述现有技术中双目特征法视觉SLAM方法双目匹配精度低、难以实时建立稠密地图的问题,提供一种基于BNN的稠密双目SLAM方法,实现高精度定位的同时降低计算量,能够实时建立稠密地图。
为解决上述技术问题,本发明采用的技术方案是:一种基于BNN的稠密双目SLAM方法,采用了一个包括BNN(二值神经网络)模块、ORB-SLAM2框架和稠密建图模块的***;BNN模块:接收双目相机的左右图像,通过已经训练好的二值神经网络,实时计算左图对应的视差图;ORB-SLAM2框架:ORB-SLAM2是一种开源的基于特征的SLAM方法,支持单目、双目和RGB-D相机,通过BNN模块与ORB-SLAM2框架的融合来提供高精度的定位;稠密建图模块:稠密建图模块根据双目相机输入的图片和BNN模块得到的视差图,以及ORB-SLAM2框架得到的定位结果,实时建立稠密的三维环境地图。
其中,BNN模块包括特征提取单元、匹配代价计算单元、视差图优化单元;
所述特征提取单元,通过孪生二值网络,对左右目图像提取二进制图像块特征
Figure BDA0002567230350000021
每个图像块特征对应权重
Figure BDA0002567230350000022
得到带权二进制描述子,其中权重由网络学习得来;
所述匹配代价计算单元,通过计算所述带权二进制描述子的带权汉明距离,来度量图像块间的相似性,计算公式:
Figure BDA0002567230350000023
式中,
Figure BDA0002567230350000024
表示网络学习到的权重向量;
Figure BDA0002567230350000025
表示网络学习得到的权重向量的第j个元素;H()函数表示求汉明距离。
所述视差图优化单元,通过半全局匹配SGM来优化所述匹配代价,得到最终的视差图。
ORB-SLAM2框架包括相机运动跟踪模块、局部建图模块、回环检测模块;
所述相机运动跟踪模块用于估计相机的运动姿态;
所述局部建图模块用于建立稀疏环境地图;
所述回环检测模块用于检测回环,判断相机是否回到之前到过的场景,检测到回环后,进行回环矫正,矫正相关相机位姿和地图点位置;
所述相机运动跟踪模块,所述局部建图模块,所述回环检测模块,并行运行在三个CPU线程上。
上述***实时运行在四个CPU线程上,并使用GPU进行加速,所述BNN模块包含在所述ORB-SLAM2框架的相机运动跟踪模块中,其运行在GPU中,所述ORB-SLAM2框架的相机运动跟踪模块、局部建图模块、回环检测模块运行在三个CPU线程上,所述稠密建图模块运行在一个CPU线程上。
一种基于BNN的稠密双目SLAM方法,具体的步骤如下:
步骤一:对经过矫正后输入的左图,提取ORB特征;ORB特征由旋转多尺度FAST角点和角点对应的256位BRIEF(Binary Robust Independent Elementary Features)描述子组成;
步骤二:获取左图深度图;对输入左右目图像,使用二值神经网络计算出左图的视差图,由得到的左图的视差图,根据双目测距原理,得到左图的深度图;
步骤三:获取左图ORB(Oriented FAST and Rotated BRIEF)特征点深度;在深度图可信区域定位ORB特征点的位置,获取对应ORB特征点的深度;
步骤四:估计当前相机运动姿态;
步骤五:生成关键帧,并通过关键帧进行局部建图;
步骤六:建立稠密地图;
步骤七:回环检测与回环矫正。
优选的,在所述步骤二中,二值神经网络共有四层并经过双目图像库训练,通过二值神经网络获取左图的深度图是通过使用带权汉明距离度量图像块的相似性,得到匹配代价,最后通过半全局匹配(Semi-Global Matching,SGM)来优化所述匹配代价,得到视差图,再根据双目测距原理,得到左图的深度图。
优选的,对于提取的图像块特征
Figure BDA0002567230350000031
其余弦相似性为:
Figure BDA0002567230350000032
式中,
Figure BDA0002567230350000033
表示左图第i块图像块的特征向量;
Figure BDA0002567230350000034
表示右图第i块图像块的特征向量;
Figure BDA0002567230350000035
表示计算两个特征向量的余弦相似性;
Figure BDA0002567230350000036
表示左图第i块图像块的特征向量的第j个元素;
Figure BDA0002567230350000037
表示右图第i块图像块的特征向量的第j个元素;sign()函数表示二值化;
用加权汉明距离表示余弦相似性:
Figure BDA0002567230350000041
式中,
Figure BDA0002567230350000042
表示网络学习到的权重向量;
Figure BDA0002567230350000043
表示网络学习得到的权重向量的第j个元素;H()函数表示求汉明距离;
其中加权汉明距离最优权重的求解步骤如下:
Figure BDA0002567230350000044
Figure BDA0002567230350000045
式中,
Figure BDA0002567230350000046
表示第i个权重向量的第j个元素;
Figure BDA0002567230350000047
表示网络学习到的权重向量;
Figure BDA0002567230350000048
表示网络学习得到的权重向量的第j个元素;
Figure BDA0002567230350000049
表示最优权重;H()函数表示求汉明距离;J()表示构建最小二乘优化问题;
Figure BDA00025672303500000410
关于
Figure BDA00025672303500000411
求导,并令其为0,可得权重最优解:
Figure BDA00025672303500000412
式中,
Figure BDA00025672303500000413
表示第i个权重向量的第j个元素;
Figure BDA00025672303500000414
表示网络学习得到的权重向量的第j个元素。
优选的,所述步骤三的具体流程为:选择左图深度图可信区域,令可信区域长宽相对于原深度图长宽比例分别为a和b,参数a和b的设定可根据双目相机的参数确定,当双目相机基线较短时,选择较小的a和较小的b;不可靠深度剔除,深度过大或深度过小视为不可靠深度,设定深度上下阈值,阈值范围外的深度进行剔除,可以用双目相机的基线长度乘以某一常数的值来设定深度阈值;在深度图可信区域定位ORB特征点的位置,获取对应ORB特征点的深度。
优选的,所述步骤四的具体流程为:
S4.1:若相机匀速运动,则根据匀速运动模型,根据上一帧的运动姿态估计当前帧的运动姿态;若相机非匀速运动,则将当前帧与当前帧的参考关键帧进行特征匹配,利用BoW(Bag-of-Words,词袋模型)词典加速匹配过程,根据匹配结果,优化当前帧的运动姿态;优化方法是g2o里面的Levenberg-Marquardt方法,该优化方法还可应用于本方案的其他优化当中。
S4.2:将当前帧与局部地图进行特征匹配,匹配结果用于优化步骤4.1的相机运动位姿估计,得到最终的相机运动姿态估计。该局部地图由一系列关键帧的地图点组成,这些关键帧与当前帧拥有部分相同的地图点,或者是在共视图中,是与当前帧有部分相同地图点的关键帧的邻居。共视图是由一系列关键帧组成,它们之间的连接权重表示拥有相同地图点的数目。
优选的,所述步骤五建立局部地图的具体步骤如下:
S5.1:建立共视图、生成树;共视图由关键帧组成,若两关键帧之间有至少15个相同的地图点,则存在一条边,边的权重为两者拥有相同地图点的个数;生成树是共视图的子图,生成树的边权重要求至少是100;
S5.2:***关键帧;将相机运动跟踪线程送入的关键帧进行处理,更新共视图和生成树;
S5.3:更新地图点;包括地图点裁剪和生成,地图点的生成利用三角化原理,从共视图的关键帧中的ORB特征点生成;地图点的裁剪为对观察次数少的地图点进行剔除;
S5.4:局部BA优化;优化当前帧和与当前帧在共视图中有关联的所有关键帧的运动姿态,以及这些关键帧对应的地图点的空间位置;
S5.5:局部关键帧裁剪。删除90%的地图点都能被其他关键帧观察到的关键帧,以控制局部地图的规模不至于过大。
优选的,在所述步骤六中,稠密地图建立的具体步骤为:
S6.1:对输入的关键帧,由关键帧的视差图和相机内参,根据双目测距原理,计算出关键帧的深度图;
S6.2:根据关键帧的深度图、关键帧的相机运动姿态、相机内参,将关键帧中图像像素坐标映射到三维世界点坐标;
S6.3:使用RGB点云表示和存储三维世界点,增量式构建三维环境地图;
S6.4:使用体素滤波对三维环境地图进行滤波优化,得到优化的三维环境地图。
优选的,所述步骤七中的具体流程为:使用算法框架的闭环关键帧选择策略,若形成闭环,则对相应的地图点和关键帧运动位姿进行矫正;然后开启一个新的线程进行全局优化,全局优化完成后,将优化后的关键帧运动位姿和地图点与初始的关键帧运动位姿和地图点进行融合。
优选的,在所述步骤一中:为了实现描述子的尺度不变性,对左图进行高斯模糊和下采样,形成8层高斯金字塔;具体的方法为对金字塔每一层图像,进行网格划分,在网格中进行FAST角点提取;每个网格提取不少于5个角点;对每个角点,计算对应的描述子。在角点附近的图像块中,按照高斯分布,进行256次的随机选择两个像素,比较灰度值,若第一个大,则计1,最后得到256位的描述子;为了实现描述子的方向不变性,使用灰度质心法计算角点的方向,并更新描述子的方向。
与现有技术相比,本发明的有益效果是:本发明使用BNN实现双目匹配,提高了匹配精度和匹配速度,从而提高定位精度和建图的速度,不但克服了特征法视觉SLAM不能建立稠密地图的问题,还实现了稠密地图的实时建图,使得特征法视觉SLAM能够实际应用。本发明具备SLAM的完整功能,提供高精度定位和稠密建图功能,适用范围广,鲁棒性好。
附图说明
图1是本发明的一种基于BNN的稠密双目SLAM方法的整体流程示意图;
图2是本发明的一种基于BNN的稠密双目SLAM方法的二值神经网络的运算流程图;
图3是本发明在EuRoC数据集上的定位精度对比示意图;
图4是本发明在EuRoC数据集上的建立稠密地图的效果。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本专利的限制。
下面通过具体实施例,并结合附图,对本发明的技术方案作进一步的具体描述:
实施例1
如图1-2所示为一种基于BNN的稠密双目SLAM方法的实施例,包括如下步骤:
步骤一:对经过矫正后输入的左图,提取ORB特征;ORB特征由旋转多尺度FAST角点和角点对应的256位BRIEF描述子组成;为了实现描述子的尺度不变性,对左图进行高斯模糊和下采样,形成8层高斯金字塔;具体的方法为对金字塔每一层图像,进行网格划分,在网格中进行FAST角点提取;每个网格提取不少于5个角点;对每个角点,计算对应的描述子。在角点附近的图像块中,按照高斯分布,进行256次的随机选择两个像素,比较灰度值,若第一个大,则计1,最后得到256位的描述子;为了实现描述子的方向不变性,使用灰度质心法计算角点的方向,并更新描述子的方向。
步骤二:获取左图深度图;对输入左右目图像,使用二值神经网络计算出左图的视差图,由得到的左图的视差图,根据双目测距原理,得到左图的深度图;具体的,二值神经网络共有四层并经过双目图像库训练,通过二值神经网络获取左图的深度图是通过使用带权汉明距离度量图像块的相似性,得到匹配代价,最后通过半全局匹配SGM来优化所述匹配代价,得到视差图,再根据双目测距原理,得到左图的深度图。
对于提取的图像特征
Figure BDA0002567230350000071
其余弦相似性为:
Figure BDA0002567230350000072
式中,
Figure BDA0002567230350000073
表示左图第i块图像块的特征向量;
Figure BDA0002567230350000074
表示右图第i块图像块的特征向量;
Figure BDA0002567230350000075
表示计算两个特征向量的余弦相似性;
Figure BDA0002567230350000076
表示左图第i块图像块的特征向量的第j个元素;
Figure BDA0002567230350000081
表示右图第i块图像块的特征向量的第j个元素;sign()函数表示二值化;
用加权汉明距离表示余弦相似性:
Figure BDA0002567230350000082
式中,
Figure BDA0002567230350000083
表示网络学习到的权重向量;
Figure BDA0002567230350000084
表示网络学习得到的权重向量的第j个元素;H()函数表示求汉明距离;
其中加权汉明距离最优权重的求解步骤如下:
Figure BDA0002567230350000085
Figure BDA0002567230350000086
式中,
Figure BDA0002567230350000087
表示第i个权重向量的第j个元素;
Figure BDA0002567230350000088
表示网络学习到的权重向量;
Figure BDA0002567230350000089
表示网络学习得到的权重向量的第j个元素;
Figure BDA00025672303500000810
表示最优权重;H()函数表示求汉明距离;J()表示构建最小二乘优化问题;
Figure BDA00025672303500000811
关于
Figure BDA00025672303500000812
求导,并令其为0,可得权重最优解:
Figure BDA00025672303500000813
式中,
Figure BDA00025672303500000814
表示第i个权重向量的第j个元素;
Figure BDA00025672303500000815
表示网络学习得到的权重向量的第j个元素。
步骤三:获取左图ORB特征点深度;选择左图深度图可信区域,令可信区域长宽相对于原深度图长宽比例分别为a和b,参数a和b的设定可根据双目相机的参数确定,当双目相机基线较短时,选择较小的a和较小的b;不可靠深度剔除,深度过大或深度过小视为不可靠深度,设定深度上下阈值,阈值范围外的深度进行剔除,可以用双目相机的基线长度乘以某一常数的值来设定深度阈值;在深度图可信区域定位ORB特征点的位置,获取对应ORB特征点的深度。
步骤四:估计当前相机运动姿态;
S4.1:若相机匀速运动,则根据匀速运动模型,根据上一帧的运动姿态估计当前帧的运动姿态;若相机非匀速运动,则将当前帧与当前帧的参考关键帧进行特征匹配,利用BoW词典加速匹配过程,根据匹配结果,优化当前帧的运动姿态;优化方法是g2o里面的Levenberg-Marquardt方法,该优化方法还可应用于本方案的其他优化当中。
S4.2:将当前帧与局部地图进行特征匹配,匹配结果用于优化步骤4.1的相机运动位姿估计,得到最终的相机运动姿态估计。该局部地图由一系列关键帧的地图点组成,这些关键帧与当前帧拥有部分相同的地图点,或者是在共视图中,是与当前帧有部分相同地图点的关键帧的邻居。共视图是由一系列关键帧组成,它们之间的连接权重表示拥有相同地图点的数目。
步骤五:生成关键帧,并通过关键帧进行局部建图;具体的步骤如下:
S5.1:建立共视图、生成树;共视图由关键帧组成,若两关键帧之间有至少15个相同的地图点,则存在一条边,边的权重为两者拥有相同地图点的个数;生成树是共视图的子图,生成树的边权重要求至少是100;
S5.2:***关键帧;将相机运动跟踪线程送入的关键帧进行处理,更新共视图和生成树;
S5.3:更新地图点;包括地图点裁剪和生成,地图点的生成利用三角化原理,从共视图的关键帧中的ORB特征点生成;地图点的裁剪为对观察次数少的地图点进行剔除;
S5.4:局部BA优化;优化当前帧和与当前帧在共视图中有关联的所有关键帧的运动姿态,以及这些关键帧对应的地图点的空间位置;
S5.5:局部关键帧裁剪。删除90%的地图点都能被其他关键帧观察到的关键帧,以控制局部地图的规模不至于过大。
步骤六:建立稠密地图,具体的步骤如下:
S6.1:对输入的关键帧,由关键帧的视差图和相机内参,根据双目测距原理,计算出关键帧的深度图;
S6.2:根据关键帧的深度图、关键帧的相机运动姿态、相机内参,将关键帧中图像像素坐标映射到三维世界点坐标;
S6.3:使用RGB点云表示和存储三维世界点,增量式构建三维环境地图;
S6.4:使用体素滤波对三维环境地图进行滤波优化,得到优化的三维环境地图。
步骤七:回环检测与回环矫正。使用ORB-SLAM2框架的闭环关键帧选择策略,若形成闭环,则对相应的地图点和关键帧运动位姿进行矫正;然后开启一个新的线程进行全局优化,全局优化完成后,将优化后的关键帧运动位姿和地图点与初始的关键帧运动位姿和地图点进行融合。
为进一步说明本实施例提出方法的效果,在EuRoC数据集的V101序列上测试本实施例提出的方法。EuRoC数据集是用无人机搭载双目摄像机所拍摄的一系列图像,是评价双目视觉SLAM的常用数据集。图3是本实施例的方法与开源ORB-SLAM2方法的定位精度对比(选取了相机运动较为剧烈,定位难度高的序列片段),可以看到,本实施例提出的方法和ORB-SLAM2都达到了很高的定位精度,本实施例的定位精度稍好于ORB-SLAM2。图4是本实施例提出的方法所建立的稠密三维点云地图,可以看到物体的轮廓清晰,对场景重建效果较好。
本实施例的有益效果:本发明使用BNN实现双目匹配,提高了匹配精度和匹配速度,从而提高定位精度和建图的速度,不但克服了特征法视觉SLAM不能建立稠密地图的问题,还实现了稠密地图的实时建图,使得特征法视觉SLAM能够实际应用。本发明具备SLAM的完整功能,提供高精度定位和稠密建图功能,适用范围广,鲁棒性好。
实施例2
一种基于BNN的稠密双目SLAM方法的另一实施例,该实施例中的方法采用了一个包括BNN(二值神经网络)模块、ORB-SLAM2框架和稠密建图模块的***;BNN模块:接收双目相机的左右图像,通过已经训练好的二值神经网络,实时计算左图对应的视差图;ORB-SLAM2框架:ORB-SLAM2是一种开源的基于特征的SLAM方法,支持单目、双目和RGB-D相机,通过BNN模块与ORB-SLAM2框架的融合来提供高精度的定位;稠密建图模块:稠密建图模块根据双目相机输入的图片和BNN模块得到的视差图,以及ORB-SLAM2框架得到的定位结果,实时建立稠密的三维环境地图。
其中,BNN模块包括特征提取单元、匹配代价计算单元、视差图优化单元;
所述特征提取单元,通过孪生二值网络,对左右目图像提取二进制图像块特征
Figure BDA0002567230350000111
每个图像块特征对应权重
Figure BDA0002567230350000112
得到带权二进制描述子,其中权重由网络学习得来;
所述匹配代价计算单元,通过计算所述带权二进制描述子的带权汉明距离,来度量图像块间的相似性,计算公式:
Figure BDA0002567230350000113
所述视差图优化单元,通过半全局匹配SGM来优化所述匹配代价,得到最终的视差图。
ORB-SLAM2框架包括相机运动跟踪模块、局部建图模块、回环检测模块;
所述相机运动跟踪模块用于估计相机的运动姿态;
所述局部建图模块用于建立稀疏环境地图;
所述回环检测模块用于检测回环,判断相机是否回到之前到过的场景,检测到回环后,进行回环矫正,矫正相关相机位姿和地图点位置;
所述相机运动跟踪模块,所述局部建图模块,所述回环检测模块,并行运行在三个CPU线程上。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (8)

1.一种基于BNN的稠密双目SLAM方法,其特征在于,包括如下步骤:
步骤一:对经过矫正后输入的左图,提取ORB特征;ORB特征由旋转多尺度FAST角点和角点对应的256位BRIEF描述子组成;
步骤二:获取左图深度图;对输入左右目图像,使用二值神经网络计算出左图的视差图,由得到的左图的视差图,根据双目测距原理,得到左图的深度图;二值神经网络共有四层并经过双目图像库训练,通过二值神经网络获取左图的深度图是通过使用带权汉明距离度量图像块的相似性,得到匹配代价,最后通过半全局匹配SGM来优化所述匹配代价,得到视差图,再根据双目测距原理,得到左图的深度图;
对于网络提取的图像块的特征
Figure FDA0004152783320000011
其余弦相似性为:
Figure FDA0004152783320000012
式中,
Figure FDA0004152783320000013
表示左图第i块图像块的特征向量;
Figure FDA0004152783320000014
表示右图第i块图像块的特征向量;
Figure FDA0004152783320000015
表示计算两个特征向量的余弦相似性;
Figure FDA0004152783320000016
表示左图第i块图像块的特征向量的第j个元素;
Figure FDA0004152783320000017
表示右图第i块图像块的特征向量的第j个元素;sign()函数表示二值化;
用加权汉明距离表示余弦相似性:
Figure FDA0004152783320000018
式中,
Figure FDA0004152783320000019
表示网络学习到的权重向量;
Figure FDA00041527833200000110
表示网络学习得到的权重向量的第j个元素;H()函数表示求汉明距离;
其中加权汉明距离最优权重的求解步骤如下:
Figure FDA0004152783320000021
Figure FDA0004152783320000022
式中,
Figure FDA0004152783320000023
表示第i个权重向量的第j个元素;
Figure FDA0004152783320000024
表示网络学习到的权重向量;
Figure FDA0004152783320000025
表示网络学习得到的权重向量的第j个元素;
Figure FDA0004152783320000026
表示最优权重;H()函数表示求汉明距离;J()表示构建最小二乘优化问题;
Figure FDA0004152783320000027
关于
Figure FDA0004152783320000028
求导,并令其为0,可得权重最优解:
Figure FDA0004152783320000029
式中,
Figure FDA00041527833200000210
表示第i个权重向量的第j个元素;
Figure FDA00041527833200000211
表示网络学习得到的权重向量的第j个元素;
步骤三:获取左图ORB特征点深度;在深度图可信区域定位ORB特征点的位置,获取对应ORB特征点的深度;
步骤四:估计当前相机运动姿态;
步骤五:生成关键帧,并通过关键帧进行局部建图;
步骤六:建立稠密地图;
步骤七:回环检测与回环矫正。
2.根据权利要求1所述的一种基于BNN的稠密双目SLAM方法,,其特征在于,所述步骤三的具体流程为:选择左图深度图可信区域,令可信区域长宽相对于原深度图长宽比例分别为a和b,参数a和b的设定可根据双目相机的参数确定,当双目相机基线较短时,选择较小的a和较小的b;不可靠深度剔除,深度过大或深度过小视为不可靠深度,设定深度上下阈值,阈值范围外的深度进行剔除,可以用双目相机的基线长度乘以某一常数的值来设定深度阈值;在深度图可信区域定位ORB特征点的位置,获取对应ORB特征点的深度。
3.根据权利要求2所述的一种基于BNN的稠密双目SLAM方法,,其特征在于,所述步骤四的具体流程为:
S4.1:若相机匀速运动,则根据匀速运动模型,根据上一帧的运动姿态估计当前帧的运动姿态;若相机非匀速运动,则将当前帧与当前帧的参考关键帧进行特征匹配,利用BoW词典加速匹配过程,根据匹配结果,优化当前帧的运动姿态;
S4.2:将当前帧与局部地图进行特征匹配,匹配结果用于优化步骤4.1的相机运动位姿估计,得到最终的相机运动姿态估计。
4.根据权利要求3所述的一种基于BNN的稠密双目SLAM方法,,其特征在于,所述步骤五建立局部地图的具体步骤如下:
S5.1:建立共视图和生成树;共视图由关键帧组成,若两关键帧之间有至少15个相同的地图点,则存在一条边,边的权重为两者拥有相同地图点的个数;生成树是共视图的子图,生成树的边权重要求至少是100;
S5.2:***关键帧;将相机运动跟踪线程送入的关键帧进行处理,更新共视图和生成树;
S5.3:更新地图点;包括地图点裁剪和生成,地图点的生成利用三角化原理,从共视图的关键帧中的ORB特征点生成;地图点的裁剪为对观察次数少的地图点进行剔除;
S5.4:局部BA优化;优化当前帧和与当前帧在共视图中有关联的所有关键帧的运动姿态,以及这些关键帧对应的地图点的空间位置;
S5.5:局部关键帧裁剪;删除90%的地图点都能被其他关键帧观察到的关键帧,以控制局部地图的规模不至于过大。
5.根据权利要求4所述的一种基于BNN的稠密双目SLAM方法,其特征在于,在所述步骤六中,稠密地图建立的具体步骤为:
S6.1:对输入的关键帧,由关键帧的视差图和相机内参,根据双目测距原理,计算出关键帧的深度图;
S6.2:根据关键帧的深度图、关键帧的相机运动姿态、相机内参,将关键帧中图像像素坐标映射到三维世界点坐标;
S6.3:使用RGB点云表示和存储三维世界点,增量式构建三维环境地图;
S6.4:使用体素滤波对三维环境地图进行滤波优化,得到优化的三维环境地图。
6.根据权利要求1-5任一所述的一种基于BNN的稠密双目SLAM方法,其特征在于,采用了一个包括BNN模块、ORB-SLAM2框架和稠密建图模块的***;BNN模块:接收双目相机的左右图像,通过已经训练好的二值神经网络,实时计算左图对应的视差图;ORB-SLAM2框架:ORB-SLAM2是一种开源的基于特征的SLAM方法,支持单目、双目和RGB-D相机,通过BNN模块与ORB-SLAM2框架的融合来提供高精度的定位;稠密建图模块:稠密建图模块根据双目相机输入的图片和BNN模块得到的视差图,以及ORB-SLAM2框架得到的定位结果,实时建立稠密的三维环境地图。
7.根据权利要求6所述的一种基于BNN的稠密双目SLAM方法,其特征在于,BNN模块包括特征提取单元、匹配代价计算单元和视差图优化单元。
8.根据权利要求6所述的一种基于BNN的稠密双目SLAM方法,其特征在于,ORB-SLAM2框架包括相机运动跟踪模块、局部建图模块、回环检测模块;
所述相机运动跟踪模块用于估计相机的运动姿态;所述局部建图模块用于建立稀疏环境地图;所述回环检测模块用于检测回环,判断相机是否回到之前到过的场景,检测到回环后,进行回环矫正,矫正相关相机位姿和地图点位置。
CN202010627927.3A 2020-07-02 2020-07-02 一种基于bnn的稠密双目slam方法 Active CN111998862B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010627927.3A CN111998862B (zh) 2020-07-02 2020-07-02 一种基于bnn的稠密双目slam方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010627927.3A CN111998862B (zh) 2020-07-02 2020-07-02 一种基于bnn的稠密双目slam方法

Publications (2)

Publication Number Publication Date
CN111998862A CN111998862A (zh) 2020-11-27
CN111998862B true CN111998862B (zh) 2023-05-16

Family

ID=73467329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010627927.3A Active CN111998862B (zh) 2020-07-02 2020-07-02 一种基于bnn的稠密双目slam方法

Country Status (1)

Country Link
CN (1) CN111998862B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112904901B (zh) * 2021-01-14 2022-01-21 吉林大学 一种基于双目视觉slam与融合算法的路径规划方法
CN112862959B (zh) * 2021-03-23 2022-07-12 清华大学 基于语义先验的实时概率单目稠密重建方法及***
CN114359388A (zh) * 2022-01-06 2022-04-15 闽都创新实验室 一种基于dnn立体匹配模块的双目视觉slam稠密建图方法
CN115619740B (zh) * 2022-10-19 2023-08-08 广西交科集团有限公司 一种高精度视频测速方法、***、电子设备及存储介质
CN117456124B (zh) * 2023-12-26 2024-03-26 浙江大学 一种基于背靠背双目鱼眼相机的稠密slam的方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107808407A (zh) * 2017-10-16 2018-03-16 亿航智能设备(广州)有限公司 基于双目相机的无人机视觉slam方法、无人机及存储介质
CN108416840A (zh) * 2018-03-14 2018-08-17 大连理工大学 一种基于单目相机的三维场景稠密重建方法
CN108520554A (zh) * 2018-04-12 2018-09-11 无锡信捷电气股份有限公司 一种基于orb-slam2的双目三维稠密建图方法
CN109583457A (zh) * 2018-12-03 2019-04-05 荆门博谦信息科技有限公司 一种机器人定位与地图构建的方法及机器人
CN109631855A (zh) * 2019-01-25 2019-04-16 西安电子科技大学 基于orb-slam的高精度车辆定位方法
CN110050243A (zh) * 2016-12-21 2019-07-23 英特尔公司 通过使用自主机器中的中间层特征的增强神经回归进行相机重新定位
WO2019169540A1 (zh) * 2018-03-06 2019-09-12 斯坦德机器人(深圳)有限公司 紧耦合视觉slam的方法、终端及计算机可读存储介质
CN110599545A (zh) * 2019-09-06 2019-12-20 电子科技大学中山学院 一种基于特征的构建稠密地图的***
CN110738241A (zh) * 2019-09-24 2020-01-31 中山大学 一种基于神经网络的双目立体视觉匹配方法及其运算框架

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110050243A (zh) * 2016-12-21 2019-07-23 英特尔公司 通过使用自主机器中的中间层特征的增强神经回归进行相机重新定位
CN107808407A (zh) * 2017-10-16 2018-03-16 亿航智能设备(广州)有限公司 基于双目相机的无人机视觉slam方法、无人机及存储介质
WO2019169540A1 (zh) * 2018-03-06 2019-09-12 斯坦德机器人(深圳)有限公司 紧耦合视觉slam的方法、终端及计算机可读存储介质
CN108416840A (zh) * 2018-03-14 2018-08-17 大连理工大学 一种基于单目相机的三维场景稠密重建方法
CN108520554A (zh) * 2018-04-12 2018-09-11 无锡信捷电气股份有限公司 一种基于orb-slam2的双目三维稠密建图方法
CN109583457A (zh) * 2018-12-03 2019-04-05 荆门博谦信息科技有限公司 一种机器人定位与地图构建的方法及机器人
CN109631855A (zh) * 2019-01-25 2019-04-16 西安电子科技大学 基于orb-slam的高精度车辆定位方法
CN110599545A (zh) * 2019-09-06 2019-12-20 电子科技大学中山学院 一种基于特征的构建稠密地图的***
CN110738241A (zh) * 2019-09-24 2020-01-31 中山大学 一种基于神经网络的双目立体视觉匹配方法及其运算框架

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
3D Semantic Mapping Based on Convolutional Neural Networks;Jing Li等;《2018 37th Chinese Control Conference (CCC)》;第9303-9308页 *
Relative Pose Estimation of Visual SLAM Based on Convolutional Neural Networks;Xiaogang Ruan等;《2019 Chinese Control Conference (CCC)》;第8827-8832页 *
基于卷积神经网络的语义同时定位以及地图构建方法;刘智杰等;《科学技术与工程》;第19卷(第9期);第148-153页 *

Also Published As

Publication number Publication date
CN111998862A (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
CN112258618B (zh) 基于先验激光点云与深度图融合的语义建图与定位方法
CN111998862B (zh) 一种基于bnn的稠密双目slam方法
CN110097553B (zh) 基于即时定位建图与三维语义分割的语义建图***
CN111462135B (zh) 基于视觉slam与二维语义分割的语义建图方法
CN112132972B (zh) 一种激光与图像数据融合的三维重建方法及***
US20210390329A1 (en) Image processing method, device, movable platform, unmanned aerial vehicle, and storage medium
CN106940704B (zh) 一种基于栅格地图的定位方法及装置
CN111563415B (zh) 一种基于双目视觉的三维目标检测***及方法
CN110176032B (zh) 一种三维重建方法及装置
CN109102547A (zh) 基于物体识别深度学习模型的机器人抓取位姿估计方法
CN110334701B (zh) 数字孪生环境下基于深度学习和多目视觉的数据采集方法
CN110853075A (zh) 一种基于稠密点云与合成视图的视觉跟踪定位方法
CN111897349A (zh) 一种基于双目视觉的水下机器人自主避障方法
CN111768449B (zh) 一种双目视觉结合深度学习的物体抓取方法
CN113744315B (zh) 一种基于双目视觉的半直接视觉里程计
CN110570474B (zh) 一种深度相机的位姿估计方法及***
CN113393524B (zh) 一种结合深度学习和轮廓点云重建的目标位姿估计方法
Ma et al. Crlf: Automatic calibration and refinement based on line feature for lidar and camera in road scenes
CN115032648B (zh) 一种基于激光雷达密集点云的三维目标识别与定位方法
CN116128966A (zh) 一种基于环境物体的语义定位方法
CN114494644A (zh) 一种基于双目立体匹配的空间非合作目标位姿估计与三维重建方法及***
Yong-guo et al. The navigation of mobile robot based on stereo vision
CN111198563B (zh) 一种用于足式机器人动态运动的地形识别方法及***
CN117197333A (zh) 基于多目视觉的空间目标重构与位姿估计方法及***
WO2023030062A1 (zh) 一种无人机的飞行控制方法、装置、设备、介质及程序

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant