CN108648274B - 一种视觉slam的认知点云地图创建系统 - Google Patents
一种视觉slam的认知点云地图创建系统 Download PDFInfo
- Publication number
- CN108648274B CN108648274B CN201810441007.5A CN201810441007A CN108648274B CN 108648274 B CN108648274 B CN 108648274B CN 201810441007 A CN201810441007 A CN 201810441007A CN 108648274 B CN108648274 B CN 108648274B
- Authority
- CN
- China
- Prior art keywords
- map
- key frame
- inverse depth
- point
- image
- 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.)
- Expired - Fee Related
Links
- 230000001149 cognitive effect Effects 0.000 title claims abstract description 40
- 230000000007 visual effect Effects 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 claims description 26
- 238000013519 translation Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 10
- 230000009466 transformation Effects 0.000 claims description 9
- 150000001875 compounds Chemical class 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- YREOLPGEVLLKMB-UHFFFAOYSA-N 3-methylpyridin-1-ium-2-amine bromide hydrate Chemical compound O.[Br-].Cc1ccc[nH+]c1N YREOLPGEVLLKMB-UHFFFAOYSA-N 0.000 claims description 3
- 230000005856 abnormality Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000003287 optical effect Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims 2
- 241000282414 Homo sapiens Species 0.000 abstract description 5
- 230000003993 interaction Effects 0.000 abstract description 5
- 230000004807 localization Effects 0.000 abstract description 2
- 238000013507 mapping Methods 0.000 abstract description 2
- 239000000047 product Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003930 cognitive ability Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明公开了一种视觉SLAM的认知点云地图创建系统,利用视觉SLAM获取的图像位姿信息,不仅能估计出环境的较稠密的逆深度信息,而且能识别出环境中的感兴趣物体,创建出环境的认知点云地图。包括三个模块:系统启动模块,负责选取第一个关键帧;逆深度图估计模块,负责估计关键帧的逆深度图以及选取新的关键帧;地图模块,负责维护创建的认知点云地图,并在新关键帧加入地图中时识别关键帧中的感兴趣物体,同时负责地图创建的可视化显示。本发明利用图像信息创建环境的较稠密的认知点云地图,该地图可以实现移动机器人的定位、避障、自主导航以及三维环境重建,地图中的认知信息甚至可以用于实现移动机器人与人、移动机器人与环境的交互。
Description
技术领域
本发明涉及视觉SLAM、逆深度估计、物体识别以及地图创建领域,尤其是指一种视觉SLAM的认知点云地图创建系统。
背景技术
同时定位与地图创建(Simultaneous Localization and Mapping,SLAM)是实现机器人智能感知的一种重要方式,1986年在IEEE机器人和自动化会议上被首次提出。在未知环境中,移动机器人通过自身搭载的传感器获取环境信息,并在运动过程中不断估计自身的位姿,同时对其周围环境创建地图。SLAM主要用于解决移动机器人的“定位”和“地图创建”,移动机器人一方面需要知道自己当前在地图的什么位置(定位),另一方面又需要创建周围环境的地图(地图创建)。只通过相机获取环境信息的SLAM被称为视觉SLAM。由于相机价格低、功耗低、重量轻、体积小、图像信息丰富、存在于很多手持设备中,且技术难点大,所以视觉SLAM受到了国内外广大学者和专家的研究。
三维地图创建是视觉SLAM中的一个研究重点,地图能帮助移动机器人理解环境和执行任务,甚至能提供给人类,帮助人类认识和理解未知环境,这对视觉SLAM创建的地图提出了更高的要求。视觉SLAM主要包括定位和地图创建两部分,当前研究主要集中在如何提高定位准确度。当前视觉SLAM创建的地图还不能很好地用于移动机器人理解环境和执行任务,更不用说帮助人类理解未知环境。视觉SLAM创建的三维地图的最基本的功能应该是机器人的导航以及在机器人执行任务时用于路径规划和障碍躲避;其次,三维地图应该更进一步描述环境,具备一定的认知能力,用于提高机器人的智能化水平,如倒水、取物体以及更高水平的自主导航,认知地图在一定程度上也能帮助人类理解环境。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提出了一种准确性和实用性较强的视觉SLAM的认知点云地图创建系统,利用视觉SLAM获取的图像的位姿信息,实现环境的认知点云地图的创建,能够用于实现移动机器人的定位、避障、自主导航以及三维重建和人机交互等。
为了实现上述目的,本发明所提供的技术方案为:一种视觉SLAM的认知点云地图创建系统,包括模块:
系统启动模块,负责选取第一个关键帧。
逆深度图估计模块,负责估计关键帧的逆深度图以及选取新的关键帧;
地图模块,负责维护创建的认知点云地图,并在新关键帧中识别感兴趣物体,同时负责地图创建的可视化显示。
在系统启动模块中,根据相机的运动幅度选取第一个关键帧,相机的运动幅度使用李代数se(3)表示的两帧图像之间的位姿变换来描述,包括以下步骤:
1.1)读取第一帧图像,将其作为第一个关键帧候选,只有当其满足一定的条件时才能真正地成为第一个关键帧;
1.2)读取下一帧图像,判断其与关键帧候选之间的运动幅度是否较小,具体操作如下:
设ξ∈se(3)表示位姿变换,其中ξ的前三维表示平移,记为ρ=(ρ1,ρ2,ρ3)T,后三维表示旋转,记为φ=(φ1,φ2,φ3)T。相机的运动幅度包括旋转幅度和平移幅度,计算公式如下:
式中,rot表示相机的旋转幅度,trans表示相机的平移幅度。
相机的运动幅度过大可能是旋转幅度过大也可能是平移幅度过大,只有当旋转幅度和平移幅度都较小时才认为相机的运动幅度较小。
1.3)如果运动幅度较小,则将候选关键帧选取为第一个关键帧;否则,将当前帧作为第一个关键帧候选,并重复步骤1.2)直到选取到第一个关键帧。
在逆深度图估计模块中,根据读入的图像估计关键帧的逆深度图,主要包括逆深度图更新和逆深度图传递,包括以下步骤:
2.1)将关键帧中的像素的逆深度估计表示为一种高斯分布假设下的深度滤波器:
id~N(μ,σ2)
式中,id表示像素的逆深度,μ表示当前像素逆深度的估计值,σ2表示当前逆深度估计值的误差方差。
2.2)读取下一帧图像及其对应的位姿,将其作为参考帧。
2.3)生成参考帧的图像金字塔,对于关键帧的图像金字塔的每一层并行地执行步骤2.4)-2.6);图像金字塔使用降采样的方式生成,下层图像中每个2×2的正方形中的4个像素合并为上层图像中的一个像素,最终生成一个三层图像金字塔:
2.4)根据地图点提取策略,在关键帧图像金字塔每一层图像上提取地图点。
地图点的提取策略为:
2.4.1)地图点必须具有较明显的梯度:
2.4.2)极线和梯度的夹角的余弦值平方不能太小,或者梯度在极线上的投影模长不能太短:
式中,θ表示梯度与极线的夹角,len表示梯度在极线上的投影模长,(u,v)表示地图点的像素坐标,(gxuv,gyuv)表示地图点的梯度,(epxuv,epyuv)表示地图点的极线。
2.4.3)地图点与关键帧的极点需要保持一定的距离,即关键帧极线的长度不能太短:
上述3个地图点提取策略必须同时满足才能表明当前像素是一个好的地图点,它们之间是一种“且”的关系。
2.5)对于每一个地图点,在参考帧图像金字塔对应层搜索最佳匹配点,并计算地图点逆深度和误差方差的观测值,包括以下步骤:
2.5.1)以单位长度为步长遍历参考帧极线,以误差平方和作为匹配标准。选取参考帧极线上的5个等距离像素以及关键帧上对应的5个等距离像素,计算它们的误差平方和,选择遍历过程中误差平方和最小的像素作为当前最佳匹配点,同时记录前一次遍历和后一次遍历的误差平方和。
2.5.2)对当前最佳匹配点的误差平方和以及其前一次遍历和后一次遍历的误差平方和进行抛物线插值,获得一个误差平方和更小的像素,将该像素作为当前最佳匹配点。
2.5.3)在当前最佳匹配点周围选取一个固定大小的窗口作为最佳匹配的搜索范围,遍历窗口内的每一个像素,以归一化积相关作为匹配标准。在地图点和当前遍历的像素周围选取相同固定大小的窗口内的所有像素,计算它们的归一化积相关,选择遍历过程中归一化积相关最大的像素作为最终的最佳匹配点。
地图点的逆深度观测为:
式中,idobs表示地图点的逆深度观测值,R0为R的第一行,R1为R的第二行,R2为R的第三行,t0为t的第一维,t1为t的第二维行,t2为t的第三维。
地图点的误差方差的观测值采用LSD-SLAM中的计算方法:
2.6)判断地图点是否存在先验逆深度和误差方差,如果存在,则使用观测值更新先验逆深度和误差方差:
否则,使用本次更新的观测值初始化地图点的逆深度和误差方差:
地图点更新或初始化得到的逆深度和误差方差作为下一次更新时该地图点的先验逆深度和误差方差。
2.7)将关键帧图像金字塔的每一层的逆深度图自上而下传递到金字塔最底层的原始关键帧图像,包括以下步骤:
2.7.1)对于上层逆深度图中的每一个地图点,遍历其在下层图像中对应的四个像素。
2.7.2)判断下层图像中对应的像素是否存在逆深度估计,如果对应像素不存在逆深度估计,则使用地图点的逆深度和误差方差初始化对应像素的逆深度和误差方差。
2.7.3)如果对应像素存在逆深度估计,则判断地图点的误差方差是否小于对应像素的误差方差,即地图点的逆深度估计是否比对应像素的逆深度估计准确。
2.7.4)如果地图点的误差方差小于对应像素的误差方差,则判断地图点与对应像素的逆深度估计是否相似:
|id1-id2|<σ1+σ2
式中,id1和id2分别表示两个逆深度估计的逆深度,σ1和σ2分别是它们对应的误差方差开根号。
2.7.5)如果地图点和对应像素的逆深度估计相似,则使用地图点的逆深度估计更新对应像素的逆深度估计。
2.7.6)如果地图点的误差方差大于对应像素的误差方差或者地图点和对应像素的逆深度估计不相似,则跳过该像素,遍历下一个对应像素。
2.8)根据关键帧选取策略,判断是否需要将参考帧选取为新的关键帧,如果不需要,则跳转到步骤2.2);否则,将当前关键帧的逆深度图传递给新关键帧,并跳转到步骤2.2),读取下一帧图像用于更新新关键帧的逆深度图。关键帧选取策略为:
2.8.1)如果关键帧的平均逆深度误差没有降低到τ,但相机的旋转幅度大于α1或者平移幅度大于β1,那么选取新的关键帧。
2.8.2)如果关键帧的平均逆深度误差降低到τ,且相机的旋转幅度大于α2或者平移幅度大于β2,那么选取新的关键帧。
其中,τ、α1、β1、α2、β2均为设定的阈值,α1大于α2,β1大于β2。关键帧的平均逆深度误差为:
式中,mean表示关键帧的平均逆深度误差,n表示所有逆深度估计的像素个数,σi表示逆深度估计的误差方差开根号。
上述2个关键帧选取策略,只要满足其中一个就表明需要选取新的关键帧,它们之间是一种“或”的关系。
在地图模块中,维护关键帧的认知点云地图,并识别关键帧中的感兴趣物体作为环境的认知信息,包括以下内容:
3.1)使用一种新颖的地图表示方法描述所有关键帧,主要包括关键帧的位姿信息、图像信息、逆深度信息、误差方差信息和物体识别信息,其中位姿信息使用位姿变换矩阵表示,图像信息是对相机拍摄到的图像矫正后的图像,逆深度信息、误差方差信息和物体识别信息分别被表示为一种与关键帧图像大小相同且像素一一对应的图像形式。
3.2)使用MS COCO数据集训练得到的Mask R-CNN模型对关键帧中的感兴趣物体进行识别,识别出感兴趣物体的类别并分割出感兴趣物体在图像中的区域,将识别结果转换为一种特定形式的图像作为环境的认知信息。识别结果的转换方法如下:
对于MS COCO中的80种不同的物体类别,使用数字1到80进行编号,并使用数字0表示背景类型,使用一个3位的五进制数表示0到80的所有数字。设0到80的任意一个整数n的五进制表示形式为xyz,则有:
n=25·x+5·y+z
根据整数n的五进制表示形式,计算其对应的物体类别在转换得到的特定形式的图像中的颜色:
式中,R、G和B分别表示红色(red)、绿色(green)和蓝色(blue)三通道的数值,通过RGB三通道的数值可以得到最终的颜色。
3.3)可视化显示地图创建的过程,一方面显示当前关键帧图像金字塔每一层的逆深度图的更新状态,另一方面将已加入地图中的关键帧转换为认知点云,方便用户查看地图创建的好坏,及时地发现地图创建过程中的异常。
本发明相对于现有技术具有如下的优点及效果:
1、本发明是对视觉SLAM的补充和完善,能够创建出环境的认知点云地图,可以用于实现移动机器人的定位、避障、自主导航以及三维重建和人机交互。
2、本发明使用一种关键帧选取策略,保证关键帧的选取能够提高逆深度估计的准确度和三维物体识别的完整度。
3、本发明使用一种地图点立体匹配方式,在保证地图点立体匹配效率的同时能够达到较准确的匹配效果。
4、本发明使用一种图像金字塔传递的方式估计关键帧的逆深度图,能够提高关键帧逆深度图的稠密度并加快逆深度图的收敛速度。
5、本发明能够识别环境中的感兴趣物体,并在点云地图中进行标识,实现认知点云地图的创建,有助于实现移动机器人与人、移动机器人与环境的交互。
附图说明
图1是认知点云地图创建的流程图。
图2是基于图像金字塔的逆深度图估计的流程图。
图3是图像金字塔传递的流程图。
图4是图像金字塔的示意图。
图5是地图种类及其适用场景。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
参见图1所示,本实施例所提供的视觉SLAM的认知点云地图创建系统,包括模块:
系统启动模块,根据相机的运动幅度选取第一个关键帧,相机的运动幅度使用李代数se(3)表示的两帧图像之间的位姿变换来描述,包括以下步骤:
1.1)读取第一帧图像,将其作为第一个关键帧候选,只有当其满足一定的条件时才能真正地成为第一个关键帧;
1.2)读取下一帧图像,判断其与关键帧候选之间的运动幅度是否较小,具体操作如下:
设ξ∈se(3)表示位姿变换,其中ξ的前三维表示平移,记为ρ=(ρ1,ρ2,ρ3)T,后三维表示旋转,记为φ=(φ1,φ2,φ3)T。相机的运动幅度包括旋转幅度和平移幅度,计算公式如下:
式中,rot表示相机的旋转幅度,trans表示相机的平移幅度。
相机的运动幅度过大可能是旋转幅度过大也可能是平移幅度过大,只有当旋转幅度和平移幅度都较小时才认为相机的运动幅度较小。
1.3)如果运动幅度较小,则将候选关键帧选取为第一个关键帧;否则,将当前帧作为第一个关键帧候选,并重复步骤1.2直到选取到第一个关键帧。
逆深度图估计模块,根据读入的图像估计关键帧的逆深度图,主要包括逆深度图更新和逆深度图传递,包括以下步骤:
2.1)将关键帧中的像素的逆深度估计表示为一种高斯分布假设下的深度滤波器:
id~N(μ,σ2)
式中,id表示像素的逆深度,μ表示当前像素逆深度的估计值,σ2表示当前逆深度估计值的误差方差。
2.2)读取下一帧图像及其对应的位姿,将其作为参考帧。
2.3)生成参考帧的图像金字塔,对于关键帧的图像金字塔的每一层并行地执行步骤2.4)-2.6);图像金字塔使用降采样的方式生成,下层图像中每个2×2的正方形中的4个像素合并为上层图像中的一个像素,最终生成一个三层图像金字塔(如图4所示):
2.4)根据地图点提取策略,在关键帧图像金字塔每一层图像上提取地图点。
地图点的提取策略为:
2.4.1)地图点必须具有较明显的梯度:
2.4.2)极线和梯度的夹角的余弦值平方不能太小,或者梯度在极线上的投影模长不能太短:
式中,θ表示梯度与极线的夹角,len表示梯度在极线上的投影模长,(u,v)表示地图点的像素坐标,(gxuv,gyuv)表示地图点的梯度,(epxuv,epyuv)表示地图点的极线。
2.4.3)地图点与关键帧的极点需要保持一定的距离,即关键帧极线的长度不能太短:
上述3个地图点提取策略必须同时满足才能表明当前像素是一个好的地图点,它们之间是一种“且”的关系。
2.5)对于每一个地图点,在参考帧图像金字塔对应层搜索最佳匹配点,并计算地图点逆深度和误差方差的观测值,包括以下步骤:
2.5.1)以单位长度为步长遍历参考帧极线,以误差平方和作为匹配标准。选取参考帧极线上的5个等距离像素以及关键帧上对应的5个等距离像素,计算它们的误差平方和,选择遍历过程中误差平方和最小的像素作为当前最佳匹配点,同时记录前一次遍历和后一次遍历的误差平方和。
2.5.2)对当前最佳匹配点的误差平方和以及其前一次遍历和后一次遍历的误差平方和进行抛物线插值,获得一个误差平方和更小的像素,将该像素作为当前最佳匹配点。
2.5.3)在当前最佳匹配点周围选取一个固定大小的窗口作为最佳匹配的搜索范围,遍历窗口内的每一个像素,以归一化积相关作为匹配标准。在地图点和当前遍历的像素周围选取相同固定大小的窗口内的所有像素,计算它们的归一化积相关,选择遍历过程中归一化积相关最大的像素作为最终的最佳匹配点。
地图点的逆深度观测为:
式中,idobs表示地图点的逆深度观测值,R0为R的第一行,R1为R的第二行,R2为R的第三行,t0为t的第一维,t1为t的第二维行,t2为t的第三维。
地图点的误差方差的观测值采用LSD-SLAM中的计算方法:
2.6)判断地图点是否存在先验逆深度和误差方差,如果存在,则使用观测值更新先验逆深度和误差方差:
否则,使用本次更新的观测值初始化地图点的逆深度和误差方差:
地图点更新或初始化得到的逆深度和误差方差作为下一次更新时该地图点的先验逆深度和误差方差。
2.7)将关键帧图像金字塔的每一层的逆深度图自上而下传递到金字塔最底层的原始关键帧图像。
2.8)根据关键帧选取策略,判断是否需要将参考帧选取为新的关键帧,如果不需要,则跳转到步骤2.2);否则,将当前关键帧的逆深度图传递给新关键帧,并跳转到步骤2.2),读取下一帧图像用于更新新关键帧的逆深度图。关键帧选取策略为:
2.8.1)如果关键帧的平均逆深度误差没有降低到τ,但相机的旋转幅度大于α1或者平移幅度大于β1,那么选取新的关键帧。
2.8.2)如果关键帧的平均逆深度误差降低到τ,且相机的旋转幅度大于α2或者平移幅度大于β2,那么选取新的关键帧。
其中,τ、α1、β1、α2、β2均为设定的阈值,α1大于α2,β1大于β2。关键帧的平均逆深度误差为:
式中,mean表示关键帧的平均逆深度误差,n表示所有逆深度估计的像素个数,σi表示逆深度估计的误差方差开根号。
上述2个关键帧选取策略,只要满足其中一个就表明需要选取新的关键帧,它们之间是一种“或”的关系。
地图模块,维护关键帧的认知点云地图,并识别关键帧中的感兴趣物体作为环境的认知信息,包括以下内容:
3.1)使用一种新颖的地图表示方法描述所有关键帧,主要包括关键帧的位姿信息、图像信息、逆深度信息、误差方差信息和物体识别信息,其中位姿信息使用位姿变换矩阵表示,图像信息是对相机拍摄到的图像矫正后的图像,逆深度信息、误差方差信息和物体识别信息分别被表示为一种与关键帧图像大小相同且像素一一对应的图像形式。
3.2)使用MS COCO数据集训练得到的Mask R-CNN模型对关键帧中的感兴趣物体进行识别,识别出感兴趣物体的类别并分割出感兴趣物体在图像中的区域,将识别结果转换为一种特定形式的图像作为环境的认知信息。识别结果的转换方法如下:
对于MS COCO中的80种不同的物体类别,使用数字1到80进行编号,并使用数字0表示背景类型,使用一个3位的五进制数表示0到80的所有数字。设0到80的任意一个整数n的五进制表示形式为xyz,则有:
n=25·x+5·y+z
根据整数n的五进制表示形式,计算其对应的物体类别在转换得到的特定形式的图像中的颜色:
式中,R、G和B分别表示红色(red)、绿色(green)和蓝色(blue)三通道的数值,通过RGB三通道的数值可以得到最终的颜色。
3.3)可视化显示地图创建的过程,一方面显示当前关键帧图像金字塔每一层的逆深度图的更新状态,另一方面将已加入地图中的关键帧转换为认知点云,方便用户查看地图创建的好坏,及时地发现地图创建过程中的异常。
其中,地图种类及其适用场景如图5所示。
参见图2所示,本实施例所述的基于图像金字塔的逆深度图估计方法,包括以下步骤:
1)读取下一帧图像及其对应的位姿,将其作为参考帧。
2)生成参考帧的图像金字塔,对于关键帧的图像金字塔的每一层并行地执行步骤3)-5)。
3)根据地图点提取策略,在关键帧图像金字塔每一层图像上提取地图点。
4)对于每一个地图点,在参考帧图像金字塔对应层搜索最佳匹配点,并计算地图点逆深度和误差方差的观测值。
5)判断地图点是否存在先验逆深度和误差方差,如果存在,则使用观测值更新先验逆深度和误差方差;否则,使用本次更新的观测值初始化地图点的逆深度和误差方差。地图点更新或初始化得到的逆深度和误差方差作为下一次更新时该地图点的先验逆深度和误差方差。
6)将关键帧图像金字塔的每一层的逆深度图自上而下传递到金字塔最底层的原始关键帧图像。
7)根据关键帧选取策略,判断是否需要将参考帧选取为新的关键帧,如果不需要,则跳转到步骤1);否则,将当前关键帧的逆深度图传递给新关键帧,并跳转到步骤1),读取下一帧图像用于更新新关键帧的逆深度图。
参见图3所示,本实施例所述的图像金字塔传递方法,包括以下步骤:
1)对于上层逆深度图中的每一个地图点,遍历其在下层图像中对应的四个像素。
2)判断下层图像中对应的像素是否存在逆深度估计,如果对应像素不存在逆深度估计,则使用地图点的逆深度和误差方差初始化对应像素的逆深度和误差方差。
3)如果对应像素存在逆深度估计,则判断地图点的误差方差是否小于对应像素的误差方差,即地图点的逆深度估计是否比对应像素的逆深度估计准确。
4)如果地图点的误差方差小于对应像素的误差方差,则判断地图点与对应像素的逆深度估计是否相似:
|id1-id2|<σ1+σ2
式中,id1和id2分别表示两个逆深度估计的逆深度,σ1和σ2分别是它们对应的误差方差开根号。
5)如果地图点和对应像素的逆深度估计相似,则使用地图点的逆深度估计更新对应像素的逆深度估计。
6)如果地图点的误差方差大于对应像素的误差方差或者地图点和对应像素的逆深度估计不相似,则跳过该像素,遍历下一个对应像素。
综上所述,本发明补充和完善了视觉SLAM,利用视觉SLAM获得的图像位姿信息,不仅能估计出环境的较稠密的逆深度信息,而且能识别出环境中的感兴趣物体,创建得到的认知点云地图能够用于实现移动机器人的定位、避障、自主导航以及三维重建和人机交互等,扩展了视觉SLAM的使用场景。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (7)
1.一种视觉SLAM的认知点云地图创建系统,其特征在于,包括:
系统启动模块,负责选取第一个关键帧;
逆深度图估计模块,负责估计关键帧的逆深度图以及选取新的关键帧;
地图模块,负责维护创建的认知点云地图,并在新关键帧中识别感兴趣物体,同时负责地图创建的可视化显示;
其中,在逆深度图估计模块中,估计关键帧的逆深度图,包括逆深度图更新和逆深度图传递,包括以下步骤:
2.1)将关键帧中的像素的逆深度估计表示为一种高斯分布假设下的深度滤波器:
id~N(μ,σ2)
式中,id表示像素的逆深度,μ表示当前像素逆深度的估计值,σ2表示当前逆深度估计值的误差方差;
2.2)读取下一帧图像及其对应的位姿,将其作为参考帧;
2.3)生成参考帧的图像金字塔,对于关键帧的图像金字塔的每一层并行地执行步骤2.4)-2.6);图像金字塔使用降采样的方式生成,下层图像中每个2×2的正方形中的4个像素合并为上层图像中的一个像素,最终生成一个三层图像金字塔:
2.4)根据地图点提取策略,在关键帧图像金字塔每一层图像上提取地图点;
2.5)对于每一个地图点,在参考帧图像金字塔对应层搜索最佳匹配点,并计算地图点逆深度和误差方差的观测值;
2.6)判断地图点是否存在先验逆深度和误差方差,如果存在,则使用观测值更新先验逆深度和误差方差:
否则,使用本次更新的观测值初始化地图点的逆深度和误差方差:
地图点更新或初始化得到的逆深度和误差方差作为下一次更新时该地图点的先验逆深度和误差方差;
2.7)将关键帧图像金字塔的每一层的逆深度图自上而下传递到金字塔最底层的原始关键帧图像;
2.8)根据关键帧选取策略,判断是否需要将参考帧选取为新的关键帧,如果不需要,则跳转到步骤2.2);否则,将当前关键帧的逆深度图传递给新关键帧,并跳转到步骤2.2),读取下一帧图像用于更新新关键帧的逆深度图。
2.根据权利要求1所述的一种视觉SLAM的认知点云地图创建系统,其特征在于:在系统启动模块中,根据相机的运动幅度选取第一个关键帧,相机的运动幅度使用李代数se(3)表示的两帧图像之间的位姿变换来描述,包括以下步骤:
1.1)读取第一帧图像,将其作为第一个关键帧候选,只有当其满足一定的条件时才能真正地成为第一个关键帧;
1.2)读取下一帧图像,判断其与关键帧候选之间的运动幅度是否较小,具体操作如下:
设ξ∈se(3)表示位姿变换,其中ξ的前三维表示平移,记为ρ=(ρ1,ρ2,ρ3)T,后三维表示旋转,记为φ=(φ1,φ2,φ3)T,相机的运动幅度包括旋转幅度和平移幅度:
式中,rot表示相机的旋转幅度,trans表示相机的平移幅度;
相机的运动幅度大可能是旋转幅度大也可能是平移幅度大,只有当旋转幅度和平移幅度都小于设定值时才认为相机的运动幅度小;
1.3)如果运动幅度小,则将候选关键帧选取为第一个关键帧;否则,将当前帧作为第一个关键帧候选,并重复步骤1.2)直到选取到第一个关键帧。
3.根据权利要求1所述的一种视觉SLAM的认知点云地图创建系统,其特征在于:在步骤2.4)中,地图点的提取策略为:
2.4.1)地图点必须具有相应的梯度:
2.4.2)极线和梯度的夹角的余弦值平方不能小于设定值,或者梯度在极线上的投影模长不能短于设定值:
式中,θ表示梯度与极线的夹角,len表示梯度在极线上的投影模长,(u,v)表示地图点的像素坐标,(gxuv,gyuv)表示地图点的梯度,(epxuv,epyuv)表示地图点的极线;
2.4.3)地图点与关键帧的极点需要保持设定的距离,即关键帧极线的长度不能短于设定值:
上述3个地图点提取策略必须同时满足才能表明当前像素是一个好的地图点,它们之间是一种“且”的关系。
4.根据权利要求1所述的一种视觉SLAM的认知点云地图创建系统,其特征在于:在步骤2.5)中,对于关键帧图像金字塔每一层图像中的地图点,在参考帧图像金字塔对应层图像中搜索地图点的最佳匹配点,同时根据最佳匹配点计算该地图点的逆深度和误差方差的观测值,包括以下步骤:
2.5.1)以单位长度为步长遍历参考帧极线,以误差平方和作为匹配标准;选取参考帧极线上的5个等距离像素以及关键帧上对应的5个等距离像素,计算它们的误差平方和,选择遍历过程中误差平方和最小的像素作为当前最佳匹配点,同时记录前一次遍历和后一次遍历的误差平方和;
2.5.2)对当前最佳匹配点的误差平方和以及其前一次遍历和后一次遍历的误差平方和进行抛物线插值,获得一个误差平方和最小的像素,将该像素作为当前最佳匹配点;
2.5.3)在当前最佳匹配点周围选取一个固定大小的窗口作为最佳匹配的搜索范围,遍历窗口内的每一个像素,以归一化积相关作为匹配标准;在地图点和当前遍历的像素周围选取相同固定大小的窗口内的所有像素,计算它们的归一化积相关,选择遍历过程中归一化积相关最大的像素作为最终的最佳匹配点;
地图点的逆深度观测为:
式中,idobs表示地图点的逆深度观测值,R0为R的第一行,R1为R的第二行,R2为R的第三行,t0为t的第一维,t1为t的第二维行,t2为t的第三维;
地图点的误差方差的观测值采用LSD-SLAM中的计算方法:
5.根据权利要求1所述的一种视觉SLAM的认知点云地图创建系统,其特征在于:在步骤2.7)中,经过一次更新后,得到关键帧图像金字塔每一层的逆深度图,将图像金字塔的每一层的逆深度图自上而下传递到金字塔最底层的原始关键帧图像,包括以下步骤:
2.7.1)对于上层逆深度图中的每一个地图点,遍历其在下层图像中对应的四个像素;
2.7.2)判断下层图像中对应的像素是否存在逆深度估计,如果对应像素不存在逆深度估计,则使用地图点的逆深度和误差方差初始化对应像素的逆深度和误差方差;
2.7.3)如果对应像素存在逆深度估计,则判断地图点的误差方差是否小于对应像素的误差方差,即地图点的逆深度估计是否比对应像素的逆深度估计准确;
2.7.4)如果地图点的误差方差小于对应像素的误差方差,则判断地图点与对应像素的逆深度估计是否相似:
|id1-id2|<σ1+σ2
式中,id1和id2分别表示两个逆深度估计的逆深度,σ1和σ2分别是它们对应的误差方差开根号;
2.7.5)如果地图点和对应像素的逆深度估计相似,则使用地图点的逆深度估计更新对应像素的逆深度估计;
2.7.6)如果地图点的误差方差大于对应像素的误差方差或者地图点和对应像素的逆深度估计不相似,则跳过该像素,遍历下一个对应像素。
6.根据权利要求1所述的一种视觉SLAM的认知点云地图创建系统,其特征在于:在步骤2.8)中,关键帧的选取策略为:
2.8.1)如果关键帧的平均逆深度误差没有降低到τ,但相机的旋转幅度大于α1或者平移幅度大于β1,那么选取新的关键帧;
2.8.2)如果关键帧的平均逆深度误差降低到τ,且相机的旋转幅度大于α2或者平移幅度大于β2,那么选取新的关键帧;
其中,τ、α1、β1、α2、β2均为设定的阈值,且α1大于α2、β1大于β2;关键帧的平均逆深度误差为:
式中,mean表示关键帧的平均逆深度误差,n表示所有逆深度估计的像素个数,σi表示逆深度估计的误差方差开根号;
上述2个关键帧选取策略,只要满足其中一个就表明需要选取新的关键帧,它们之间是一种“或”的关系。
7.根据权利要求1所述的一种视觉SLAM的认知点云地图创建系统,其特征在于:在地图模块中,维护关键帧的认知点云地图,并识别关键帧中的感兴趣物体作为环境的认知信息,包括以下内容:
3.1)用地图表示方法描述所有关键帧,包括关键帧的位姿信息、图像信息、逆深度信息、误差方差信息和物体识别信息,其中位姿信息使用位姿变换矩阵表示,图像信息是相机拍摄到的且经过矫正的图像,逆深度信息、误差方差信息和物体识别信息分别被表示为一种与关键帧图像大小相同且像素一一对应的图像形式;
3.2)使用MS COCO数据集训练得到的Mask R-CNN模型对关键帧中的感兴趣物体进行识别,识别出感兴趣物体的类别并分割出感兴趣物体在图像中的区域,将识别结果转换为一种特定形式的图像作为环境的认知信息,识别结果的转换方法如下:
对于MS COCO中的80种不同的物体类别,使用数字1到80进行编号,并使用数字0表示背景类型,使用一个3位的五进制数表示0到80的所有数字;设0到80的任意一个整数n的五进制表示形式为xyz,则有:
n=25·x+5·y+z
根据整数n的五进制表示形式,计算其对应的物体类别在转换得到的特定形式的图像中的颜色:
式中,R、G和B分别表示红色、绿色和蓝色三通道的数值,通过RGB三通道的数值能够得到最终的颜色;
3.3)可视化显示地图创建的过程,一方面显示当前关键帧图像金字塔每一层的逆深度图的更新状态,另一方面将已加入地图中的关键帧转换为认知点云,方便用户查看地图创建的好坏,及时地发现地图创建过程中的异常。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810441007.5A CN108648274B (zh) | 2018-05-10 | 2018-05-10 | 一种视觉slam的认知点云地图创建系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810441007.5A CN108648274B (zh) | 2018-05-10 | 2018-05-10 | 一种视觉slam的认知点云地图创建系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108648274A CN108648274A (zh) | 2018-10-12 |
CN108648274B true CN108648274B (zh) | 2020-05-22 |
Family
ID=63753942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810441007.5A Expired - Fee Related CN108648274B (zh) | 2018-05-10 | 2018-05-10 | 一种视觉slam的认知点云地图创建系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108648274B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111046698B (zh) * | 2018-10-12 | 2023-06-20 | 锥能机器人(上海)有限公司 | 可视化编辑的视觉定位方法和系统 |
CN109816686A (zh) * | 2019-01-15 | 2019-05-28 | 山东大学 | 基于物体实例匹配的机器人语义slam方法、处理器及机器人 |
CN111489393B (zh) * | 2019-01-28 | 2023-06-02 | 速感科技(北京)有限公司 | Vslam方法、控制器和可移动设备 |
CN112215880B (zh) * | 2019-07-10 | 2022-05-06 | 浙江商汤科技开发有限公司 | 一种图像深度估计方法及装置、电子设备、存储介质 |
CN110764504A (zh) * | 2019-10-25 | 2020-02-07 | 国网陕西省电力公司电力科学研究院 | 一种用于变电站电缆沟道巡检的机器人导航方法及系统 |
CN111325796B (zh) * | 2020-02-28 | 2023-08-18 | 北京百度网讯科技有限公司 | 用于确定视觉设备的位姿的方法和装置 |
CN111667545B (zh) * | 2020-05-07 | 2024-02-27 | 东软睿驰汽车技术(沈阳)有限公司 | 高精度地图生成方法、装置、电子设备及存储介质 |
CN111596665B (zh) * | 2020-05-29 | 2021-06-22 | 浙江大学 | 一种适用于腿足机器人规划的稠密高度地图构建方法 |
CN111890358B (zh) * | 2020-07-01 | 2022-06-14 | 浙江大华技术股份有限公司 | 双目避障方法、装置、存储介质及电子装置 |
US20240029300A1 (en) * | 2020-12-25 | 2024-01-25 | Intel Corporation | Re-localization of robot |
CN113284181A (zh) * | 2021-04-27 | 2021-08-20 | 贵州大学 | 一种在环境建模中场景地图点与图像帧的匹配方法 |
CN116071711B (zh) * | 2023-03-20 | 2023-08-01 | 广东致盛技术有限公司 | 一种交通拥堵状况检测方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9443350B2 (en) * | 2013-01-30 | 2016-09-13 | Qualcomm Incorporated | Real-time 3D reconstruction with power efficient depth sensor usage |
CN106595659A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 城市复杂环境下多无人机视觉slam的地图融合方法 |
CN107025668A (zh) * | 2017-03-30 | 2017-08-08 | 华南理工大学 | 一种基于深度相机的视觉里程计的设计方法 |
WO2017220815A1 (en) * | 2016-06-24 | 2017-12-28 | Robert Bosch Gmbh | Rgb-d camera based tracking system and method thereof |
CN107680133A (zh) * | 2017-09-15 | 2018-02-09 | 重庆邮电大学 | 一种基于改进闭环检测算法的移动机器人视觉slam方法 |
CN107909612A (zh) * | 2017-12-01 | 2018-04-13 | 驭势科技(北京)有限公司 | 一种基于3d点云的视觉即时定位与建图的方法与系统 |
-
2018
- 2018-05-10 CN CN201810441007.5A patent/CN108648274B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9443350B2 (en) * | 2013-01-30 | 2016-09-13 | Qualcomm Incorporated | Real-time 3D reconstruction with power efficient depth sensor usage |
WO2017220815A1 (en) * | 2016-06-24 | 2017-12-28 | Robert Bosch Gmbh | Rgb-d camera based tracking system and method thereof |
CN106595659A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 城市复杂环境下多无人机视觉slam的地图融合方法 |
CN107025668A (zh) * | 2017-03-30 | 2017-08-08 | 华南理工大学 | 一种基于深度相机的视觉里程计的设计方法 |
CN107680133A (zh) * | 2017-09-15 | 2018-02-09 | 重庆邮电大学 | 一种基于改进闭环检测算法的移动机器人视觉slam方法 |
CN107909612A (zh) * | 2017-12-01 | 2018-04-13 | 驭势科技(北京)有限公司 | 一种基于3d点云的视觉即时定位与建图的方法与系统 |
Non-Patent Citations (3)
Title |
---|
"RoboEarth Semantic Mapping: A Cloud Enabled Knowledge-Based Approach";Luis Riazuelo et al.;《IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING》;20150430;第 12卷(第 2期);摘要以及第四、五章 * |
"基于RGB-D和单目视觉的同时定位与建图算法研究";李弋星;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180215;正文第三-四章 * |
"基于灭点的室内视觉SLAM位姿优化算法";鲁小虎;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170815;第三章 * |
Also Published As
Publication number | Publication date |
---|---|
CN108648274A (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108648274B (zh) | 一种视觉slam的认知点云地图创建系统 | |
CN108416840B (zh) | 一种基于单目相机的三维场景稠密重建方法 | |
CN110349250B (zh) | 一种基于rgbd相机的室内动态场景的三维重建方法 | |
CN108537848B (zh) | 一种面向室内场景重建的两级位姿优化估计方法 | |
CN108257139B (zh) | 基于深度学习的rgb-d三维物体检测方法 | |
CN106296812B (zh) | 同步定位与建图方法 | |
EP2833322B1 (en) | Stereo-motion method of three-dimensional (3-D) structure information extraction from a video for fusion with 3-D point cloud data | |
JP6976350B2 (ja) | 静的物体及び動的物体を含むシーンの位置特定及びマッピングに関するイメージングシステム | |
US20230080133A1 (en) | 6d pose and shape estimation method | |
CN102313547A (zh) | 基于手绘轮廓语义地图的移动机器人视觉导航方法 | |
Wen et al. | Hybrid semi-dense 3D semantic-topological mapping from stereo visual-inertial odometry SLAM with loop closure detection | |
CN112991534B (zh) | 一种基于多粒度物体模型的室内语义地图构建方法及系统 | |
CN108151728A (zh) | 一种用于双目slam的半稠密认知地图创建方法 | |
Alcantarilla et al. | Large-scale dense 3D reconstruction from stereo imagery | |
Zhou et al. | Cross-weather image alignment via latent generative model with intensity consistency | |
CN113920191B (zh) | 一种基于深度相机的6d数据集构建方法 | |
EP3825804A1 (en) | Map construction method, apparatus, storage medium and electronic device | |
CN113160315B (zh) | 一种基于对偶二次曲面数学模型的语义环境地图表征方法 | |
Li et al. | Multi-view keypoints for reliable 6d object pose estimation | |
CN113129370A (zh) | 结合生成数据和无标注数据的半监督物体位姿估计方法 | |
CN111198563A (zh) | 一种用于足式机器人动态运动的地形识别方法及系统 | |
Zhao et al. | A review of visual SLAM for dynamic objects | |
CN115908564A (zh) | 自动运输设备的仓储巡线方法和自动运输设备 | |
Sujiwo et al. | Robust and accurate monocular vision-based localization in outdoor environments of real-world robot challenge | |
CN115272450A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200522 |