CN108151728A - 一种用于双目slam的半稠密认知地图创建方法 - Google Patents
一种用于双目slam的半稠密认知地图创建方法 Download PDFInfo
- Publication number
- CN108151728A CN108151728A CN201711272696.3A CN201711272696A CN108151728A CN 108151728 A CN108151728 A CN 108151728A CN 201711272696 A CN201711272696 A CN 201711272696A CN 108151728 A CN108151728 A CN 108151728A
- Authority
- CN
- China
- Prior art keywords
- grid
- key
- key point
- depth
- point
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/005—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
Abstract
本发明公开了一种用于双目SLAM的半稠密认知地图创建方法,包括步骤:1)定位和识别关键帧中的感兴趣物体;2)网格划分关键帧,并对感兴趣物体所在的网格进一步细划分;3)为每一个网格提取网格关键点;4)使用高斯分布的深度滤波器表示网格关键点的深度估计;5)在当前帧中匹配关键帧中的网格关键点,6)计算并更新网格关键点的深度滤波器;7)当双目SLAM选择新关键帧时,使用当前关键帧的深度滤波器初始化新关键帧;8)当双目SLAM结束后,将深度估计转换为特定的地图表示。本发明可以实现移动机器人的自主导航和避障以及三维环境重建;通过对环境创建认知地图,可以实现人与移动机器人和人与环境的交互。
Description
技术领域
本发明涉及移动机器人、视觉SLAM以及地图创建领域,尤其是指一种用于双目SLAM的半稠密认知地图创建方法。
背景技术
同时定位与地图创建(Simultaneous Localization and Mapping,SLAM)是指移动机器人在一个未知环境下,通过自身携带的传感器获取环境信息,并在运动过程中不断估计自身的位姿,同时对其周围环境创建地图。SLAM主要用于解决移动机器人的“定位”和“地图创建”,移动机器人一方面需要知道自己当前在地图的什么位置(定位),另一方面又需要创建周围环境的地图(地图创建)。SLAM自提出以来,迅速得到了广大学者的关注和研究,一直是移动机器人领域的研究热点。
最近几年,基于视觉的SLAM(Visual SLAM,vSLAM)由于系统配置简单、能获取到丰富的环境信息以及技术难度较高,受到了广泛的关注和研究。vSLAM主要包括初始化、视觉里程计、地图创建、重定位、闭环检测、全局地图优化等模块。基于实现方式,vSLAM可以分为1)基于特征的vSLAM,需要提取图像的特征点,能够创建稀疏地图;2)直接vSLAM,不需要提取图像的特征,能够创建稠密或半稠密地图;3)基于RGB-D的vSLAM,直接获取到图像的深度信息,能够创建稠密或半稠密地图。
与直接vSLAM和基于RGB-D的vSLAM创建的地图不同,基于特征的vSLAM只能够创建稀疏地图。稀疏地图只能用于移动机器人的定位,而不能用于移动机器人的自主导航和避障等其它应用场景。因此,对基于特征的vSLAM进行改进和完善,使其能够创建稠密或半稠密地图是十分必要的。
本发明提供一种用于双目SLAM的半稠密认知地图创建的方法。通过对环境创建半稠密地图,可以实现移动机器人的自主导航和避障以及三维环境重建;通过对环境创建认知地图,可以实现人与移动机器人和人与环境的交互。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提出了一种准确性和实用性较强的用于双目SLAM的半稠密认知地图创建(Semi-dense Semantic Mapping for StereoSLAM,SDS-Mapping)方法,该方法结合双目SLAM的视觉里程计,实现了对周围环境的半稠密地图和认知地图的创建,能够用于实现移动机器人的定位、导航和避障以及环境的三维重建和交互等,有效扩展了基于特征的vSLAM的使用场景以及确保了环境地图创建的完整性。
为了实现上述目的,本发明所提供的技术方案为:一种用于双目SLAM的半稠密认知地图创建方法,包括以下步骤:
1)定位和识别关键帧中的感兴趣物体;
2)网格划分关键帧,并对感兴趣物体所在的网格进一步细划分;
3)为每一个网格提取网格关键点;
4)使用高斯分布的深度滤波器表示网格关键点的深度估计;
5)在当前帧中匹配关键帧中的网格关键点;
6)计算并更新网格关键点的深度滤波器;
7)当双目SLAM选择新关键帧时,使用当前关键帧的深度滤波器初始化新关键帧;
8)当双目SLAM结束后,将深度估计转换为特定的地图表示。
在步骤1)中,所述的感兴趣物体的定位与识别采用Single Shot MultiBoxDetector算法,在图像中搜索感兴趣物体的位置区域以及获得物体的类别。用户通过自定义训练数据集,可以使算法只搜索用户感兴趣的物体。进一步,可以根据图像或点云的信息,如颜色、距离、边缘、法方向、曲率等,缩小物体的区域。对于物体类别,SDS-Mapping采用索引表的方式进行存储。
在步骤2)中,根据双目视觉图像的分辨率选择合适大小的网格对关键帧进行划分,并对感兴趣的物体所在的网格进一步细划分,包括以下步骤:
2.1)根据双目视觉图像的分辨率选择合适大小的网格,如:对于1080P的图像采用10*10的网格大小,对于720P的图像采用8*8的网格大小;
2.2)计算图像中的网格数,即图像的每行和每列的网格数:
gridRows=imageHeight/HEIGHT
gridCols=imageWidth/WIDTH
式中,HEIGHT和WIDTH表示网格的大小(如10*10),imageHeight和imageWidth表示图像的分辨率(如1920*1080),gridRows和gridCols表示图像每行和每列的网格数(整数类型)。
2.3)由于步骤2.2)的除法计算可能不能整除,这会导致访问不到图像最后几行和最后几列的像素。因此,根据计算得到的网格数反向计算网格的大小,即网格的高和宽,代替原来选择的网格大小(如10*10):
cellHeight=imageHeight/gridRows
cellWidth=imageWidth/gridCols
式中,cellHeight和cellWidth表示新的网格大小(小数类型)。
2.4)为了能够获取到感兴趣物体的更多信息,进一步细划分物体所在的网格。根据物体的大小选择合适的细划分粒度,如:对于较大物体,可以将网格进一步划分为2*2的大小;对于较小物体,可以将网格进一步划分为4*4的大小。
在步骤3)中,为每一个网格提取网格关键点,每一个网格可以有多个网格关键点,网格关键点的提取策略:
3.1)若网格中存在ORB关键点,则选取所有ORB关键点作为网格的网格关键点;
3.2)若网格中不存在ORB关键点,则采取类似Fast角点提取的策略,放宽角点提取的约束,选取提取出的所有角点作为网格的关键点;
3.3)否则,选择网格的中心点作为网格的关键点。
在步骤4)中,使用高斯分布的深度滤波器表示网格关键点的深度估计,并初始化深度滤波器。假设d表示深度,invd表示逆深度,即invd=1/d,表示方差,则高斯分布表示为高斯分布的初始化策略:
4.1)若网格关键点在右图像中找到匹配点,则通过双目视觉的特性计算出网格关键点的深度,使用计算出的深度初始化高斯分布;
4.2)否则,通过随机初始化的方式初始化高斯分布。
在步骤5)中,在当前帧中匹配关键帧中的网格关键点,即在当前左图像中找出与网格关键点匹配的点,包括以下步骤:
5.1)对于每一个网格关键点,根据对极约束,计算出左图像中对应的极线;
5.2)若网格关键点为ORB关键点,则根据ORB描述子沿极线进行匹配;
5.3)否则,采用归一化积相关灰度匹配(NCC)算法沿极线进行匹配,窗口大小选择为网格的大小;若匹配结果的最优和次优相差较小,则扩大窗口的大小再次进行匹配,若第二次匹配结果的最优和次优仍相差较小,则匹配失败;否则,匹配成功。其中,NCC的计算采用去均值化的方式,NCC取值越高则表明两个图像块越相似。对于图像块A和B,它们的NCC取值为:
式中,Ai,j和Bi,j分别表示图像块A和B的第i行第j列的像素灰度值,和分别表示图像块A和B的所有像素的平均灰度值。
在步骤6)中,计算当前匹配下的网格关键点的逆深度和方差,并更新网格关键点的深度滤波器,包括以下步骤:
6.1)计算当前匹配下的逆深度,设pkey表示关键点在关键帧中的相机坐标(z=1),(uref,vref)表示关键点在当前帧中匹配成功的对应点坐标,R和t表示关键帧到当前帧的旋转矩阵和平移向量,fx、fy、cx、cy表示相机的内参数,则估计的逆深度invdkey为:
或者
其中,Ri表示R的第i行的行向量,ti表示t的第i行的值,i=0,1,2。
6.2)计算当前匹配下的方差采用LSD-SLAM中不确定估计公式:
其中,为几何差异误差的方差,为光度差异误差的方差,α为比例常数。
6.3)更新网格关键点的深度滤波器,计算更新后的逆深度invdupdate和方差
式中,invd和σ2分别为更新前的逆深度和方差,invdkey和分别为当前匹配下的逆深度和方差。
在步骤7)中,当双目SLAM选择一个新关键帧时,则需要初始化新关键帧的深度滤波器,包括以下步骤:
7.1)对于新关键帧中提取的网格关键点,其深度滤波器采用步骤4中的初始化方式进行初始化;
7.2)将当前关键帧中的网格关键点投影到新关键帧中,并将投影点作为新关键帧中的网格关键点,则投影点在新关键帧中的逆深度invdnew和方差为:
其中,(u,v)表示关键点在当前关键帧中的坐标,invd表示关键点在当前关键帧中的逆深度,σ2表示关键点在当前关键帧的方差,R和t表示当前关键帧到新关键帧的旋转矩阵和平移向量,fx、fy、cx、cy表示相机的内参数,(·)T表示向量的转置,[·]3表示取列向量的第3行的值。
在步骤8)中,在双目SLAM结束后,将所有关键帧的网格关键点的逆深度转换为关键点的相机3D坐标:
式中,(u,v)表示关键点的像素坐标,invd表示关键点的逆深度,fx、fy、cx、cy表示相机的内参数,(·)T表示向量的转置。
根据其对应的旋转矩阵和平移向量可以进一步转换为世界3D坐标。SDS-Mapping采用特定的地图表示方式:
8.1)(x,y,z)表示关键点的世界坐标;
8.2)(r,g,b)表示关键点的图像颜色;
8.3)l表示关键点所属的感兴趣物体的类别对应的索引号。
本发明相对于现有技术具有如下的优点及效果:
1、本发明是对基于特征的SLAM的补充和完善,能够用于实现移动机器人的定位、导航和避障,人与移动机器人、人与地图的交互以及环境的三维重建;
2、本发明通过网格划分关键帧和提取网格关键点的方式,既避免了估计全部像素点的深度(稠密地图),又保证了半稠密地图尽可能的均匀和完整;
3、本发明使用深度滤波器表示网格关键点的深度,充分考虑到深度估计的不确定性;通过融合和传播深度滤波器,保证了深度估计的准确性和传承性;
4、本发明能够识别用户感兴趣的物体,并对其点云进行标注,实现了语义地图的创建,有助于人与移动机器人交互、人与地图交互的实现。
5、本发明可以用于任何具有完整的视觉里程计功能的SLAM算法中,具有较强的通用性。
附图说明
图1是半稠密认知地图创建的流程图。
图2是初始化网格关键点的深度滤波器的流程图。
图3是提取Fast角点的示意图。
图4是视觉SLAM的地图种类及其适用场景。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
参见图1所示,本实施例所提供的用于双目SLAM的半稠密认知地图创建方法,包括以下步骤:
1)定位和识别关键帧中的感兴趣物体,在图像中搜索物体的位置区域以及获得物体的类别。感兴趣物体的定位和识别算法采用Single Shot MultiBox Detector算法。用户通过自定义训练数据集,实现只搜索用户感兴趣的物体。对于物体类别,SDS-Mapping采用索引表的方式进行存储。
2)根据双目视觉图像的分辨率选择合适大小的网格对关键帧进行划分,并对感兴趣的物体所在的网格进一步细划分,包括以下步骤:
2.1)根据双目视觉图像的分辨率选择合适大小的网格,如:对于1080P的图像采用10*10的网格大小,对于720P的图像采用8*8的网格大小;
2.2)计算图像中的网格数,即图像的每行和每列的网格数:
gridRows=imageHeight/HEIGHT
gridCols=imageWidth/WIDTH
式中,HEIGHT和WIDTH表示网格的大小(如10*10),imageHeight和imageWidth表示图像的分辨率(如1920*1080),gridRows和gridCols表示图像每行和每列的网格数(整数类型)。
2.3)由于步骤2.2)的除法计算可能不能整除,这会导致访问不到图像最后几行和最后几列的像素。因此,根据计算得到的网格数反向计算网格的大小,即网格的高和宽,代替原来选择的网格大小(如10*10):
cellHeight=imageHeight/gridRows
cellWidth=imageWidth/gridCols
式中,cellHeight和cellWidth表示新的网格大小(小数类型)。
2.4)为了能够获取到感兴趣的物体的更多信息,进一步细划分物体所在的网格。根据物体的大小选择合适的细划分粒度,如:对于较大物体,可以将网格进一步划分为2*2的大小;对于较小物体,可以将网格进一步划分为4*4的大小。
3)为每一个网格提取网格关键点,每一个网格可以有多个网格关键点。网格关键点的提取策略:
3.1)若网格中存在ORB关键点,则选取所有ORB关键点作为网格的网格关键点;
3.2)若网格中不存在ORB关键点,则采取类似Fast角点提取的策略。图3所示是提取Fast角点的示意图,通过放宽Fast角点提取的约束,选取提取出的所有角点作为网格的关键点;
3.3)否则,选择网格的中心点作为网格的关键点。
4)使用高斯分布的深度滤波器表示网格关键点的深度估计,并初始化深度滤波器。假设d表示深度,invd表示逆深度,即invd=1/d,表示方差,则高斯分布表示为高斯分布的初始化策略:
4.1)若网格关键点在右图像中找到匹配点,则通过双目视觉的特性计算出网格关键点的深度,使用计算出的深度初始化高斯分布;
4.2)否则,通过随机初始化的方式初始化高斯分布。
5)在当前帧中匹配关键帧中的网格关键点,即在当前左图像中找出与网格关键点匹配的点,包括以下步骤:
5.1)对于每一个网格关键点,根据对极约束,计算出左图像中对应的极线;
5.2)若网格关键点为ORB关键点,则根据ORB描述子沿极线进行匹配;
5.3)否则,采用归一化积相关灰度匹配(NCC)算法沿极线进行匹配,窗口大小选择为网格的大小;若匹配结果的最优和次优相差较小,则扩大窗口的大小再次进行匹配,若第二次匹配结果的最优和次优仍相差较小,则匹配失败;否则,匹配成功。其中,NCC的计算采用去均值化的方式,NCC取值越高则表明两个图像块越相似。对于图像块A和B,它们的NCC取值为:
式中,Ai,j和Bi,j分别表示图像块A和B的第i行第j列的像素灰度值,和分别表示图像块A和B的所有像素的平均灰度值。
6)计算当前匹配下的网格关键点的逆深度和方差,并更新网格关键点的深度滤波器,包括以下步骤:
6.1)计算当前匹配下的逆深度,设pkey表示关键点在关键帧中的相机坐标(z=1),(uref,vref)为关键点在当前帧中匹配成功的对应点坐标,R和t表示关键帧到当前帧的旋转矩阵和平移向量,fx、fy、cx、cy表示相机的内参数,则估计的逆深度invdkey为:
或者
其中,Ri表示R的第i行的行向量,ti表示t的第i行的值,i=0,1,2。
6.2)计算当前匹配下的方差采用LSD-SLAM中不确定估计公式:
其中,为几何差异误差的方差,为光度差异误差的方差,α为比例常数。
6.3)更新网格关键点的深度滤波器,计算更新后的逆深度invdupdate和方差
式中,invd和σ2分别为更新前的逆深度和方差,invdkey和分别为当前匹配下的逆深度和方差。
7)当双目SLAM选择一个新关键帧时,则需要初始化新关键帧的深度滤波器,包括以下步骤:
7.1)对于新关键帧中提取的网格关键点,其深度滤波器采用步骤4中的初始化方式进行初始化;
7.2)将当前关键帧中的网格关键点投影到新关键帧中,并将投影点作为新关键帧中的网格关键点,使用当前关键帧中的深度滤波器初始化投影到新关键帧中的关键点。
8)在双目SLAM结束后,将所有关键帧的网格关键点的逆深度转换为关键点的相机3D坐标:
式中,(u,v)表示关键点的像素坐标,invd表示关键点的逆深度,fx、fy、cx、cy表示相机的内参数,(·)T表示向量的转置。
根据其对应的旋转矩阵和平移向量可以进一步转换为世界3D坐标。SDS-Mapping采用特定的地图表示方式:
8.1)(x,y,z)表示关键点的世界坐标;
8.2)(r,g,b)表示关键点的图像颜色;
8.3)l表示关键点所属的感兴趣物体的类别对应的索引号。
参见图2所示,实施例所述的初始化网格关键点的深度滤波器的策略,其包括以下步骤:
1)双目SLAM根据其自定义的关键帧选取策略选取出新关键帧;
2)定位和识别新关键帧中的感兴趣物体,网格划分新关键帧,并对感兴趣物体所在的网格进一步细划分;
3)为每一个网格提取多个网格关键点,网格关键点的提取策略:
3.1)若网格中存在ORB关键点,则选取所有ORB关键点作为网格的网格关键点;
3.2)若网格中不存在ORB关键点,则采取类似Fast角点提取的策略,通过放宽角点提取的约束,选取提取出的所有角点作为网格的关键点;
3.3)否则,选择网格的中心点作为网格的关键点。
4)若网格关键点在右图像中找到匹配点,则通过双目视觉的特性计算出网格关键点的深度,使用计算出的深度初始化高斯分布。
5)否则,通过随机初始化的方式初始化高斯分布。
6)将当前关键帧中的网格关键点投影到新关键帧中,并将投影点作为新关键帧中的网格关键点,则投影点在新关键帧中的逆深度invdnew和方差为:
其中,(u,v)表示关键点在当前关键帧中的坐标,invd表示关键点在当前关键帧中的逆深度,σ2表示关键点在当前关键帧的方差,R和t表示当前关键帧到新关键帧的旋转矩阵和平移向量,fx、fy、cx、cy表示相机的内参数,(·)T表示向量的转置,[·]3表示取列向量的第3行的值。
综上所述,本发明补充和完善了基于特征的vSLAM,结合vSLAM已有的视觉里程计功能,实现了对周围环境的半稠密地图和认知地图的创建,能够用于实现移动机器人的定位、导航和避障以及环境的三维重建和交互等,视觉SLAM的地图种类及其适用场景如图4所示,有效扩展了基于特征的vSLAM的使用场景以及确保了周围环境地图创建的完整性,值得推广。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (8)
1.一种用于双目SLAM的半稠密认知地图创建方法,其特征在于,包括以下步骤:
1)定位和识别关键帧中的感兴趣物体;
2)网格划分关键帧,并对感兴趣物体所在的网格进一步细划分;
3)为每一个网格提取网格关键点;
4)使用高斯分布的深度滤波器表示网格关键点的深度估计;
5)在当前帧中匹配关键帧中的网格关键点;
6)计算并更新网格关键点的深度滤波器;
7)当双目SLAM选择新关键帧时,使用当前关键帧的深度滤波器初始化新关键帧;
8)当双目SLAM结束后,将深度估计转换为特定的地图表示。
2.根据权利要求1所述的一种用于双目SLAM的半稠密认知地图创建方法,其特征在于:在步骤1)中,在关键帧中搜索感兴趣物体,并获取物体在图像中的位置区域以及物体的类别,其中,物体的定位与识别采用Single Shot MultiBoxDetector算法,用户通过自定义训练数据集,并对算法进行离线训练,从而只搜索用户感兴趣的物体。
3.根据权利要求1所述的一种用于双目SLAM的半稠密认知地图创建方法,其特征在于:在步骤2)中,根据双目视觉图像的分辨率选择所需大小的网格对关键帧进行划分,并对感兴趣物体所在的网格进一步细划分,包括以下步骤:
2.1)根据双目视觉图像的分辨率选择所需大小的网格;
2.2)计算图像中的网格数,即图像的每行和每列的网格数:
gridRows=imageHeight/HEIGHT
gridCols=imageWidth/WIDTH
式中,HEIGHT和WIDTH表示网格的大小,imageHeight和imageWidth表示图像的分辨率,gridRows和gridCols表示图像每行和每列的网格数,为整数类型;
2.3)由于步骤2.2)的除法计算可能不能整除,这会导致访问不到图像最后几行和最后几列的像素,因此,根据计算得到的网格数反向计算网格的大小,即网格的高和宽,代替原来选择的网格大小:
cellHeight=imageHeight/gridRows
cellWidth=imageWidth/gridCols
式中,cellHeight和cellWidth表示新的网格大小,为小数类型;
2.4)为了能够获取到感兴趣物体的更多信息,进一步细划分物体所在的网格,根据物体的大小选择所需大小的细划分粒度。
4.根据权利要求1所述的一种用于双目SLAM的半稠密认知地图创建方法,其特征在于:在步骤3)中,为每一个网格提取网格关键点,每一个网格能够有多个网格关键点,网格关键点的提取策略如下:
3.1)若网格中存在ORB关键点,则选取所有ORB关键点作为网格关键点;
3.2)若网格中不存在ORB关键点,则采取类似Fast角点提取的策略,放宽角点提取的约束,选取提取出的所有角点作为网格关键点;否则,选择网格的中心点作为网格关键点。
5.根据权利要求1所述的一种用于双目SLAM的半稠密认知地图创建方法,其特征在于:在步骤4)中,使用高斯分布的深度滤波器表示网格关键点的深度估计,并初始化深度滤波器,假设d表示深度,invd表示逆深度,即invd=1/d,表示方差,则高斯分布表示为高斯分布的初始化策略如下:
若网格关键点在右图像中找到匹配点,则通过双目视觉的特性计算出网格关键点的深度,使用计算出的深度初始化高斯分布;否则,使用随机初始化的方式初始化高斯分布;
在步骤7)中,当双目SLAM选择一个新关键帧时,需要初始化新关键帧的深度滤波器,包括以下步骤:
7.1)对于新关键帧中提取的网格关键点,其深度滤波器采用步骤4)中的初始化方式进行初始化;
7.2)将当前关键帧中的网格关键点投影到新关键帧中,并将投影点也作为新关键帧中的网格关键点,则投影点在新关键帧中的逆深度invdnew和方差为:
其中,(u,v)表示关键点在当前关键帧中的坐标,invd表示关键点在当前关键帧中的逆深度,σ2表示关键点在当前关键帧的方差,R和t表示当前关键帧到新关键帧的旋转矩阵和平移向量,fx、fy、cx、cy表示相机的内参数,(·)T表示向量的转置,[·]3表示取列向量的第3行的值。
6.根据权利要求1所述的一种用于双目SLAM的半稠密认知地图创建方法,其特征在于:在步骤5)中,在当前帧中匹配关键帧中的网格关键点,即在当前左图像中找出与网格关键点匹配的点,包括以下步骤:
5.1)对于每一个网格关键点,根据对极约束,计算出左图像中对应的极线;
5.2)若网格关键点为ORB关键点,则根据ORB描述子沿极线进行匹配;
5.3)否则,采用归一化积相关灰度匹配算法即NCC算法沿极线进行匹配,窗口大小选择为网格的大小;若匹配结果的最优和次优相差不符合要求,则扩大窗口的大小再次进行匹配,若第二次匹配结果的最优和次优仍相差不符合要求,则匹配失败;否则,匹配成功;其中,NCC算法的计算采用去均值化的方式,NCC取值越高则表明两个图像块越相似;对于图像块A和B,它们的NCC取值为:
式中,Ai,j和Bi,j分别表示图像块A和B的第i行第j列的像素灰度值,和分别表示图像块A和B的所有像素的平均灰度值。
7.根据权利要求1所述的一种用于双目SLAM的半稠密认知地图创建方法,其特征在于:在步骤6)中,计算当前匹配下的网格关键点的逆深度和方差,并更新网格关键点的深度滤波器,包括以下步骤:
6.1)计算当前匹配下的逆深度,设pkey表示关键点在关键帧中的相机坐标(z=1),(uref,vref)表示关键点在当前帧中匹配成功的对应点坐标,R和t表示关键帧到当前帧的旋转矩阵和平移向量,fx、fy、cx、cy表示相机的内参数,则估计的逆深度invdkey为:
或者
其中,Ri表示R的第i行的行向量,ti表示t的第i行的值,i=0,1,2;
6.2)计算当前匹配下的方差采用LSD-SLAM中不确定估计公式:
其中,为几何差异误差的方差,为光度差异误差的方差,α为比例常数;
6.3)更新网格关键点的深度滤波器,计算更新后的逆深度invdupdate和方差
式中,invd和σ2分别为更新前的逆深度和方差,invdkey和分别为当前匹配下的逆深度和方差。
8.根据权利要求1所述的一种用于双目SLAM的半稠密认知地图创建方法,其特征在于:在步骤8)中,在双目SLAM结束后,将所有关键帧的网格关键点的逆深度转换为关键点的相机3D坐标:
式中,(u,v)表示关键点的像素坐标,invd表示关键点的逆深度,fx、fy、cx、cy表示相机的内参数,(·)T表示向量的转置;
根据其对应的旋转矩阵和平移向量能够进一步转换为世界3D坐标,SDS-Mapping采用特定的地图表示方式:
8.1)(x,y,z)表示关键点的世界坐标;
8.2)(r,g,b)表示关键点的图像颜色;
8.3)l表示关键点所属的感兴趣物体的类别对应的索引号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711272696.3A CN108151728A (zh) | 2017-12-06 | 2017-12-06 | 一种用于双目slam的半稠密认知地图创建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711272696.3A CN108151728A (zh) | 2017-12-06 | 2017-12-06 | 一种用于双目slam的半稠密认知地图创建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108151728A true CN108151728A (zh) | 2018-06-12 |
Family
ID=62466057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711272696.3A Pending CN108151728A (zh) | 2017-12-06 | 2017-12-06 | 一种用于双目slam的半稠密认知地图创建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108151728A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109765901A (zh) * | 2019-02-18 | 2019-05-17 | 华南理工大学 | 基于线激光与双目视觉的动态代价地图导航方法 |
CN109816726A (zh) * | 2019-01-29 | 2019-05-28 | 京东方科技集团股份有限公司 | 一种基于深度滤波器的视觉里程计地图更新方法和系统 |
CN110634150A (zh) * | 2018-06-25 | 2019-12-31 | 上海汽车集团股份有限公司 | 一种即时定位与地图构建的生成方法、系统及装置 |
CN111238465A (zh) * | 2018-11-28 | 2020-06-05 | 台达电子工业股份有限公司 | 地图建置设备及其地图建置方法 |
CN111829522A (zh) * | 2020-07-02 | 2020-10-27 | 浙江大华技术股份有限公司 | 即时定位与地图构建方法、计算机设备以及装置 |
CN111860651A (zh) * | 2020-07-22 | 2020-10-30 | 河海大学常州校区 | 一种基于单目视觉的移动机器人半稠密地图构建方法 |
CN113284181A (zh) * | 2021-04-27 | 2021-08-20 | 贵州大学 | 一种在环境建模中场景地图点与图像帧的匹配方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8649565B1 (en) * | 2009-06-18 | 2014-02-11 | Hrl Laboratories, Llc | System for automatic object localization based on visual simultaneous localization and mapping (SLAM) and cognitive swarm recognition |
CN105809687A (zh) * | 2016-03-08 | 2016-07-27 | 清华大学 | 一种基于图像中边沿点信息的单目视觉测程方法 |
CN105825520A (zh) * | 2015-01-08 | 2016-08-03 | 北京雷动云合智能技术有限公司 | 一种可创建大规模地图的单眼slam方法 |
CN106595659A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 城市复杂环境下多无人机视觉slam的地图融合方法 |
CN106780592A (zh) * | 2016-06-30 | 2017-05-31 | 华南理工大学 | 基于相机运动和图像明暗的Kinect深度重建算法 |
CN107300917A (zh) * | 2017-05-23 | 2017-10-27 | 北京理工大学 | 一种基于分层架构的视觉slam后端优化方法 |
-
2017
- 2017-12-06 CN CN201711272696.3A patent/CN108151728A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8649565B1 (en) * | 2009-06-18 | 2014-02-11 | Hrl Laboratories, Llc | System for automatic object localization based on visual simultaneous localization and mapping (SLAM) and cognitive swarm recognition |
CN105825520A (zh) * | 2015-01-08 | 2016-08-03 | 北京雷动云合智能技术有限公司 | 一种可创建大规模地图的单眼slam方法 |
CN105809687A (zh) * | 2016-03-08 | 2016-07-27 | 清华大学 | 一种基于图像中边沿点信息的单目视觉测程方法 |
CN106780592A (zh) * | 2016-06-30 | 2017-05-31 | 华南理工大学 | 基于相机运动和图像明暗的Kinect深度重建算法 |
CN106595659A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 城市复杂环境下多无人机视觉slam的地图融合方法 |
CN107300917A (zh) * | 2017-05-23 | 2017-10-27 | 北京理工大学 | 一种基于分层架构的视觉slam后端优化方法 |
Non-Patent Citations (3)
Title |
---|
JAKOB ENGEL等: "Semi-Dense Visual Odometry for a Monocular Camera", 《2013 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION》 * |
R·西格沃特等: "《自主移动机器人导论》", 30 December 2013, 西安交通大学出版社 * |
WEI LIU等: "SSD:Single Shot MultiBox Detector", 《 LECTURE NOTES IN COMPUTER SCIENCE》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110634150A (zh) * | 2018-06-25 | 2019-12-31 | 上海汽车集团股份有限公司 | 一种即时定位与地图构建的生成方法、系统及装置 |
CN110634150B (zh) * | 2018-06-25 | 2023-08-11 | 上海汽车集团股份有限公司 | 一种即时定位与地图构建的生成方法、系统及装置 |
CN111238465A (zh) * | 2018-11-28 | 2020-06-05 | 台达电子工业股份有限公司 | 地图建置设备及其地图建置方法 |
CN111238465B (zh) * | 2018-11-28 | 2022-02-18 | 台达电子工业股份有限公司 | 地图建置设备及其地图建置方法 |
CN109816726A (zh) * | 2019-01-29 | 2019-05-28 | 京东方科技集团股份有限公司 | 一种基于深度滤波器的视觉里程计地图更新方法和系统 |
CN109816726B (zh) * | 2019-01-29 | 2021-10-01 | 京东方科技集团股份有限公司 | 一种基于深度滤波器的视觉里程计地图更新方法和系统 |
CN109765901A (zh) * | 2019-02-18 | 2019-05-17 | 华南理工大学 | 基于线激光与双目视觉的动态代价地图导航方法 |
CN111829522A (zh) * | 2020-07-02 | 2020-10-27 | 浙江大华技术股份有限公司 | 即时定位与地图构建方法、计算机设备以及装置 |
CN111860651A (zh) * | 2020-07-22 | 2020-10-30 | 河海大学常州校区 | 一种基于单目视觉的移动机器人半稠密地图构建方法 |
CN111860651B (zh) * | 2020-07-22 | 2022-09-13 | 河海大学常州校区 | 一种基于单目视觉的移动机器人半稠密地图构建方法 |
CN113284181A (zh) * | 2021-04-27 | 2021-08-20 | 贵州大学 | 一种在环境建模中场景地图点与图像帧的匹配方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108151728A (zh) | 一种用于双目slam的半稠密认知地图创建方法 | |
EP3182373B1 (en) | Improvements in determination of an ego-motion of a video apparatus in a slam type algorithm | |
CN105631861B (zh) | 结合高度图从无标记单目图像中恢复三维人体姿态的方法 | |
US8933966B2 (en) | Image processing device, image processing method and program | |
Hofmann et al. | Multi-view 3D human pose estimation in complex environment | |
US20150243031A1 (en) | Method and device for determining at least one object feature of an object comprised in an image | |
Kehl et al. | Markerless tracking of complex human motions from multiple views | |
Vieira et al. | On the improvement of human action recognition from depth map sequences using space–time occupancy patterns | |
US20150243035A1 (en) | Method and device for determining a transformation between an image coordinate system and an object coordinate system associated with an object of interest | |
CN103177269B (zh) | 用于估计对象姿态的设备和方法 | |
CN109307508A (zh) | 一种基于多关键帧的全景惯导slam方法 | |
Li et al. | Object detection in the context of mobile augmented reality | |
EP3182371A1 (en) | Threshold determination in for example a type ransac algorithm | |
US10636190B2 (en) | Methods and systems for exploiting per-pixel motion conflicts to extract primary and secondary motions in augmented reality systems | |
CN102999942A (zh) | 三维人脸重建方法 | |
CN105719352B (zh) | 人脸三维点云超分辨率融合方法及应用其的数据处理装置 | |
Tulyakov et al. | Robust real-time extreme head pose estimation | |
Ulusoy et al. | Image-based 4-d reconstruction using 3-d change detection | |
Nguyen et al. | Static hand gesture recognition using artificial neural network | |
Rogez et al. | Image-based synthesis for deep 3D human pose estimation | |
CN113421328B (zh) | 一种三维人体虚拟化重建方法及装置 | |
EP3185212B1 (en) | Dynamic particle filter parameterization | |
Ari et al. | Facial feature tracking and expression recognition for sign language | |
Mishra et al. | Active segmentation for robotics | |
Wang et al. | Unsupervised learning of 3d scene flow from monocular camera |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180612 |
|
WD01 | Invention patent application deemed withdrawn after publication |