CN109816726A - 一种基于深度滤波器的视觉里程计地图更新方法和*** - Google Patents
一种基于深度滤波器的视觉里程计地图更新方法和*** Download PDFInfo
- Publication number
- CN109816726A CN109816726A CN201910083820.4A CN201910083820A CN109816726A CN 109816726 A CN109816726 A CN 109816726A CN 201910083820 A CN201910083820 A CN 201910083820A CN 109816726 A CN109816726 A CN 109816726A
- Authority
- CN
- China
- Prior art keywords
- seed
- depth
- frame image
- depth filter
- map
- 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.)
- Granted
Links
Landscapes
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明公开了一种基于深度滤波器的视觉里程计地图更新方法、***、计算机可读存储介质和计算机设备,所述更新方法包括:根据获取的当前帧图像的第一特征点的深度信息特征值判断是否需要添加关键帧图像,若不需要添加则使用已有深度滤波器根据所述当前帧图像的第一特征点更新所述已有深度滤波器的种子;若需要添加则建立并初始化新的深度滤波器,确定关键帧图像并使用所述新的深度滤波器根据所述关键帧图像更新所述新的深度滤波器的种子;计算并更新所述种子的概率分布,当所述种子的深度估计收敛时加入所述地图以更新所述地图。本发明提供的实施例能够显著加快深度滤波器的收敛速度,有效提升视觉里程计地图更新的鲁棒性。
Description
技术领域
本发明涉及视觉里程计技术领域,特别是涉及一种基于深度滤波器的视觉里程计地图更新方法、***、计算机可读存储介质和计算机设备。
背景技术
目前,SLAM(Simultaneous localization and mapping,同时定位与地图构建)作为建立环境模型和估计自身运动的一项前沿技术,能够解决在没有环境先验的情况下,精确地定位位置、姿态和构建地图,是VR、AR以及无人驾驶等领域的重要组成部分。
当前的VR、AR产品大体上都需要能够对于自身的运动和位置进行评估,以匹配其渲染的场景内容,为用户提供良好的观看体验和交互感知。因此对于搭载传感器的相关产品进行精确的运动评估和场景模型计算对产品应用效果而言是非常重要的。视觉里程计(Visual Odometry)作为SLAM的核心模块之一,能够满足当前VR、AR产品对于定位的需求。但是目前的视觉里程计方法在深度估计时收敛速度较慢,往往在已获得大量信息后尚无法得到精确的深度估计,导致最终的定位结果抗干扰能力不强,鲁棒性不高。
发明内容
为了解决上述问题至少之一,本发明第一方面提供一种基于深度滤波器的视觉里程计地图更新方法,包括:
根据获取的当前帧图像的第一特征点的深度信息特征值判断是否需要添加关键帧图像,
若不需要添加,则使用已有深度滤波器根据所述当前帧图像的第一特征点更新所述已有深度滤波器的种子;
若需要添加,则建立并初始化新的深度滤波器,从所述当前帧图像中提取第二特征点作为所述新的深度滤波器的种子,确定关键帧图像并使用所述新的深度滤波器根据所述关键帧图像更新所述新的深度滤波器的种子;
计算并更新所述种子的概率分布,当所述种子的深度估计收敛时加入所述地图以更新所述地图。
进一步的,所述方法还包括
实时获取并存储帧图像;
提取当前帧图像的多个第一特征点、计算各第一特征点的深度信息并确定所有第一特征点深度信息的深度信息特征值。
进一步的,所述根据获取的当前帧图像的第一特征点的深度信息特征值判断是否需要添加关键帧图像进一步包括:
将所述深度信息特征值与预设置的特征值阈值进行比对,若所述深度信息特征值大于特征值阈值,则需要添加关键帧图像。
进一步的,所述若需要添加,则建立并初始化新的深度滤波器,从所述当前帧图像中提取第二特征点作为所述新的深度滤波器的种子,确定关键帧图像并使用所述新的深度滤波器根据所述关键帧图像更新所述新的深度滤波器的种子进一步包括:
建立并初始化新的深度滤波器,从所述当前帧图像中提取第二特征点作为所述新的深度滤波器的种子;
从所述存储的帧图像中根据时间选取出预设数量的帧图像作为关键帧图像;
使用所述新的深度滤波器根据所述预设数量的关键帧图像更新所述新的深度滤波器中种子的深度信息。
进一步的,所述从所述存储的帧图像中根据时间选取出预设数量的帧图像作为关键帧图像进一步包括:
从所述当前帧图像的第二特征点中选择关键点,根据时间选取多个帧图像并通过所述关键点分别判断每一个帧图像与所述当前帧图像是否存在重叠区域,若存在,则确定该帧图像为关键帧图像,否则舍弃该帧图像。
进一步的,所述若不需要添加,则使用已有深度滤波器根据所述当前帧图像的第一特征点更新所述已有深度滤波器的种子进一步包括:
将所述当前帧图像的第一特征点与所述地图中对应的地图点进行特征匹配以获得所述地图点的深度信息;
所述已有深度滤波器根据所述当前帧图像的第一特征点更新所述已有深度滤波器中对应的种子。
进一步的,所述计算并更新所述种子的概率分布,当所述种子的深度估计收敛时加入所述地图以更新所述地图进一步包括:
利用贝叶斯概率模型更新所述种子的概率分布;
当所述种子的概率大于预设置的概率阈值则确定所述种子深度估计收敛,则将其对应的图像帧的特征点转换为地图点添加至所述地图以更新所述地图。
本发明第二方面提供一种基于深度滤波器的视觉里程计地图更新***,包括:
关键帧选取装置,用于判断***是否需要添加关键帧图像;
关键帧深度更新装置,用于建立并初始化新的深度滤波器并确定种子,所述新的深度滤波器根据所述***存储的具有重叠视野的关键帧图像更新所述新的深度滤波器的种子;
深度滤波器更新装置,用于所述***已有深度滤波器根据当前帧图像更新已有深度滤波器的种子;
概率分布更新装置,用于计算并更新所述种子的概率分布,当所述种子的深度估计收敛时加入所述地图以更新所述地图。
本发明第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法。
本发明第四方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的方法。
本发明的有益效果如下:
本发明针对目前现有存在的深度滤波器收敛时间慢、地图更新慢的问题,制定一种基于深度滤波器的视觉里程计地图更新方法和***,在添加关键帧的同时提取第二特征点并进行深度更新,从而充分利用当前帧和与当前帧具有重叠视野的重叠帧、显著加快深度滤波器的收敛速度、提高深度更新的效率,从而弥补了现有技术中存在问题,有效提升视觉里程计地图更新的鲁棒性。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明。
图1示出本发明的一个实施例所述地图更新方法的流程图;
图2示出本发明的一个实施例所述需要添加关键帧的流程图;
图3示出本发明的一个实施例所述关键点的示意图;
图4示出本发明的一个实施例所述不需要添加关键帧的流程图;
图5示出本发明的一个实施例所述地图更新***的结构示意图;
图6示出本发明的一个实施例所述的一种计算机设备的结构示意图。
具体实施方式
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
在现有技术中,在实时构建地图过程中,一般采用深度滤波器通过深度更新方法对摄像头获取的图像进行处理并更新地图,具体采用现有的两分法进行更新,在添加关键帧时提取新的特征点作为种子,等到下一帧普通帧到来时进行深度更新的运算,然而此过程还包含摄像头的位姿估计和优化等处理,相对于深度更新而言时间消耗过大,容易导致追踪失败的情况,往往无法实现地图的实时构建。
基于上述情况,本发明的一个实施例提供了一种基于深度滤波器的视觉里程计地图更新方法,包括:根据获取的当前帧图像的第一特征点的深度信息特征值判断是否需要添加关键帧图像,若不需要添加,则使用已有深度滤波器根据所述当前帧图像的第一特征点更新所述已有深度滤波器的种子;若需要添加,则建立并初始化新的深度滤波器,从所述当前帧图像中提取第二特征点作为所述新的深度滤波器的种子,确定关键帧图像并使用所述新的深度滤波器根据所述关键帧图像更新所述新的深度滤波器的种子;计算并更新所述种子的概率分布,当所述种子的深度估计收敛时加入所述地图以更新所述地图。
在一个具体的示例中,如图1所示,采用单目摄像头在实际运动过程中实时采集图像并构建地图,所述单目摄像头按照预设置的时间间隔获取并存储帧图像,例如1秒钟采集30帧图像,将图像按照时间顺序处理并存储,本申请对采用单目或多目摄像头不做限制。将采集图像中时间最接近的当前帧图像进行描述:
首先,提取所述当前帧图像的第一特征点,并分别计算各特征点的深度信息,确定所有第一特征点深度信息的深度信息特征值。即从多个特征点的深度信息中确定深度信息特征值,所述特征值可以为深度信息的极值、深度信息均值,以及深度信息中值等统计特征值作为判断依据,本实施例以特征点的深度信息中值为判断依据。值得注意的是,关于特征点的提取存在多种方式,例如检测一个像素周围的16个像素的灰度差异以提取特征点,对此本申请不做限制,本领域技术人员可以根据实际分辨率和灵敏度的需求提取特征点。
其次,根据所述深度信息特征值判断是否需要添加关键帧图像。具体包括:将所述深度信息特征值与预设置的特征值阈值进行比对,若所述深度信息特征值大于特征值阈值,则需要添加关键帧图像。在本实施例中将所述深度信息中值与预设置的中值阈值进行比对,若所述深度信息中值大于中值阈值则认为需要添加关键帧图像。所述中值阈值为根据实际帧图像的采集、处理和分析确定的阈值,例如根据当前帧的第一特征点与所述地图中最新的地图点对应的图像帧的与所述第一特征点对应的特征点的距离,当所述距离的中值超过预设距离则认为摄像头已经运动较远,则需要从当前帧之前存储的帧图像中选择具有重叠区域的帧图像作为关键帧图像添加进来,在仅考虑距离特征的情况下可以根据所述距离中值确定所述中值阈值;再例如还可以在使用距离进行比较的基础上再计算存储的帧图像在相机坐标系下的坐标与所述深度中值的比值,若所述比值满足预设置的比值范围则认为不需要添加关键帧图像,否则添加关键帧图像,从而进一步提高视觉里程计地图更新的灵敏度。
若需要添加关键帧图像,则建立并初始化新的深度滤波器,从所述当前帧图像中提取第二特征点作为所述新的深度滤波器的种子,确定关键帧图像并使用所述新的深度滤波器根据所述关键帧图像更新所述新的深度滤波器的种子。如图2所示,具体包括:
建立并初始化新的深度滤波器,从所述当前帧图像中提取第二特征点作为所述新的深度滤波器的种子。重新建立一个新的深度滤波器,并对该深度滤波器进行初始化,除常规初始化以外,还包括设置所述深度滤波器中用于计算概率分布的参数;然后再次对当前帧图像进行第二特征点提取,所述第二特征点不同于第一特征点,将第二特征点作为新的深度滤波器的种子,即每个第二特征点对应新的深度滤波器的一个种子,每个种子存储尚未获得深度信息的对应特征点以用于后续进行深度估计。值得说明的是,本申请对所述参数的设置不做限制,以能够实现计算概率分布为设计准则。本实施例中设置的具体参数参见“Vogiatzis G,Hernandez C.Video-based,real-time multi-view stereo[J].”中提出的贝叶斯概率模型。
从所述存储的帧图像中根据时间选取出预设数量的帧图像作为关键帧图像。由于当前帧与所述地图中最新的地图点对应的图像帧的距离较远,即摄像头已经运动较远,因此需要从所述当前帧之前存储的帧图像中选取关键帧图像,本实施例中从存储的帧图像中选取预设数量的时间最接近的帧图像进行挑选,即从存储的帧图像中选取与当前帧具有重叠区域(即重叠视野的)的帧图像。具体包括从所述当前帧图像的特征点中选择关键点,通过所述关键点判断所述帧图像与所述当前帧图像是否存在重叠区域,若存在则确定该帧图像为关键帧图像,否则舍弃该帧图像。其中,所述预设数量可以为一个帧图像,也可以为多个帧图像,本申请对此不做限制。
如图3所示,本实施例中从当前帧提取出的特征点中选取5个点作为关键点,5个关键点由1个中心点和4个边界点组成,中心点为所有特征点中与图像中央距离最近的点,4个边界点分别为所有特征点中与图像四角距离最近的点。根据上述5个关键点能够从存储的帧图像中挑选出与当前帧图像存在重叠区域的帧图像,并将该帧图像确定为关键帧图像。由于所述关键帧图像与当前帧图像距离很近,则新的深度滤波器中的种子大概率被挑选出的关键帧图像所观测到,因此用这些关键帧图像更新种子,从而充分利用当前帧图像并加快新的深度滤波器中种子的深度估计的收敛速度,从而提高视觉里程计地图更新的鲁棒性。值得说明的是,本申请对所述关键点的选择不做限制,本领域技术人员应当根据实际需求选取关键点。
使用所述新的深度滤波器根据所述预设数量的关键帧图像更新所述新的深度滤波器中种子的深度信息。即所述新的深度滤波器直接对已存储的种子进行更新以获取所述种子的深度信息,不需要再等待一个普通帧图像到来才根据所述普通帧图像更新所述种子的深度信息,从而有效减少了种子更新所消耗的时间。
若不需要添加关键帧图像,则使用已有深度滤波器根据所述当前帧图像的第一特征点更新所述已有深度滤波器的种子。当不需要添加关键帧图像时所述当前帧图像作为普通帧图像,对已有深度滤波器中存储的种子进行更新。如图4所示,具体包括:
第一,将所述当前帧的第一特征点与所述地图中对应的地图点进行特征匹配以获得所述地图点的深度信息。具体包括:所述已有深度滤波器根据所述当前帧图像的第一特征点更新已存储在所述已有深度滤波器中种子的深度信息,即将每个种子所对应的地图点投影至当前帧上,若投影后的点位于摄像头后方或未投影到当前帧上则跳过这些种子,因为当前帧无法对这些种子的深度信息更新产生影响。计算每个种子对应的图像帧与当前帧之间的仿射变换矩阵,即存储在所述深度滤波器中每个种子的来源帧与当前帧之间的仿射变换矩阵。计算仿射变换矩阵的行列式,通过所述行列式的值在图像金字塔中寻找具有最佳匹配水平的金字塔层。
第二,所述已有深度滤波器根据所述当前帧图像的第一特征点更新所述已有深度滤波器中对应的种子。即所述已有深度滤波器利用当前帧评估已存储的所述种子的深度信息,所述已有深度滤波器使用双线性插值、所述仿射变换矩阵和金字塔层将当前帧图像的图像块变换到参考帧图像中获得变换后的图像块以得到极线,在级线上间隔采样,并计算采样结果对应的图像块和变化后的当前帧的图像块之间的差值和雅克比矩阵,从而准确地预测匹配的特征位置,利用三角测量得到较为准确的深度估计值。其中,所述参考帧图像为所述当前帧图像的前一个普通帧图像;所述图像块为特征点周围预设数量的像素,所述预设数量根据实际应用需求进行设置。然后利用三角正弦、余弦定理计算各种子的深度不确定性,本实施例中使用的方法具体参见“Pizzoli M,Forster C,Scaramuzza D.REMODE:Probablistic,Monocular dense reconstruction in real time[C]”,在此不再赘述。
最后,计算并更新所述种子的概率分布,当所述种子的深度估计收敛时加入所述地图以更新所述地图。无论是在需要添加关键帧图像时建立新的深度滤波器、并在该新的深度滤波器中增加种子并利用关键帧图像更新种子,还是使用当前帧作为普通帧更新已存储在已有深度滤波器中的种子,均在种子更新后采用贝叶斯概率模型更新各种子的概率分布。具体包括:利用贝叶斯概率模型更新各所述种子的概率分布;当各所述种子的概率大于预设置的概率阈值则确定所述种子深度估计收敛,则将其对应的图像帧的特征点转换为地图点添加至所述地图以更新所述地图。即在所述种子深度估计收敛时将其对应的世界坐标作为地图点添加至地图中以完成地图的更新。本实施例中使用的贝叶斯概率模型具体参见“Vogiatzis G,Hernandez C.Video-based,real-time multi-view stereo[J].”,具体表现为,将每一个种子的深度的一系列测量的直方图分布使用高斯分布和均匀分布来联合表示,通过引入潜变量可将种子的深度的求解转化为高斯分布和Beta分布的求解,即通过迭代公式在加入新的观测量后,更新种子的后验概率分布,当后验概率分布中的种子概率大于预设置的概率阈值时,则认为种子深度估计收敛,从而将其对应的地图点加入地图中,以实现地图信息的更新。
本实施例利用所述新的深度滤波器直接对已存储的种子进行评估获取种子的深度估计,不需要再等待一个普通帧图像到来才根据所述普通帧图像进行位姿估计,有效减少了种子深度估计所消耗的时间,从而加快种子深度估计的收敛速度,提高深度更新的效率,从而弥补了现有技术中存在的问题,有效提升视觉里程计地图更新的鲁棒性。
与上述实施例提供的地图更新方法相对应,本申请的一个实施例还提供一种基于深度滤波器的视觉里程计地图更新***,由于本申请实施例提供的地图更新***与上述几种实施例提供的地图更新方法相对应,因此在前述实施方式也适用于本实施例提供地图更新***,在本实施例中不再详细描述。
如图5所示,本申请的一个实施例还提供一种基于深度滤波器的视觉里程计地图更新***,包括:关键帧选取装置,用于判断***是否需要添加关键帧图像;关键帧深度更新装置,用于建立并初始化新的深度滤波器并确定种子,所述新的深度滤波器根据所述***存储的具有重叠视野的关键帧图像更新所述新的深度滤波器的种子;深度滤波器更新装置,用于所述***已有深度滤波器根据当前帧图像更新已有深度滤波器的种子;概率分布更新装置,用于计算并更新所述种子的概率分布,当所述种子的深度估计收敛时加入所述地图以更新所述地图。
在一个具体的示例中,关键帧选取装置根据从当前帧图像中提取的多个特征点的深度信息特征值判断是否需要添加关键帧图像,即判断所述摄像头是否已经运动较远,是否需要从当前帧图像之前存储的帧图像中挑选关键帧图像;若需要添加则使用关键帧深度更新装置建立并初始化新的深度滤波器,将当前帧图像中提取的特征点作为新的深度滤波器的种子,并使用***存储的具有重叠视野的关键帧图像更新种子;若不需要添加关键帧则使用深度滤波器更新装置,利用所述***的已有深度滤波器根据所述当前帧图像的特征点更新所述已有深度滤波器存储的种子;最后,无论是新的深度滤波器更新的种子还是已有深度滤波器更新的种子,采用概率分布更新装置计算所述种子的概率分布,当所述种子的概率分布大于概率阈值时认为种子深度估计收敛,则将所述种子加入地图,从而实现地图的更新。
所述***还包括特征点提取装置和地图点更新装置,其中特征点提取装置,用于提取当前帧图像的多个特征点;地图点更新装置,当不需要添加关键帧时,在深度滤波器更新装置使用已有深度滤波器根据当前帧图像更新存储的种子前,用于粗略估算所述地图的地图点的深度信息,即所述当前帧图像为普通帧图像时,将从所述当前帧中提取的特征点与所述地图中对应的地图点进行特征匹配以获得所述地图点的深度信息。
所述地图更新***通过从已存储的帧图像中挑选关键帧图像更新深度滤波器的种子,从而使用少量已有信息完成种子的深度估计,不需要再等待一个普通帧图像到来才根据所述普通帧图像进行位姿估计,有效减少了种子深度估计所消耗的时间,从而加快种子深度估计的收敛速度,提高深度更新的效率,从而弥补了现有技术中存在的问题,具有较强的抗干扰能力,显著提高***运行的鲁棒性,能够广泛应用于VR、AR设备的位姿计算、地图构建和场景交互。
本发明的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现:根据获取的当前帧图像的第一特征点的深度信息特征值判断是否需要添加关键帧图像,若不需要添加,则使用已有深度滤波器根据所述当前帧图像的第一特征点更新所述已有深度滤波器的种子;若需要添加,则建立并初始化新的深度滤波器,从所述当前帧图像中提取第二特征点作为所述新的深度滤波器的种子,确定关键帧图像并使用所述新的深度滤波器根据所述关键帧图像更新所述新的深度滤波器的种子;计算并更新所述种子的概率分布,当所述种子的深度估计收敛时加入所述地图以更新所述地图。
在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实时例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
如图6所示,本发明的另一个实施例提供的一种计算机设备的结构示意图。图6显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机设备12典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图6中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理器单元16通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种基于深度滤波器的视觉里程计地图更新方法。
本发明针对目前现有存在的深度滤波器收敛时间慢、地图更新慢的问题,制定一种基于深度滤波器的视觉里程计地图更新方法和***,在添加关键帧的同时提取第二特征点并进行深度更新,从而充分利用当前帧和与当前帧具有重叠视野的重叠帧、显著加快深度滤波器的收敛速度、提高深度更新的效率,从而弥补了现有技术中存在问题,有效提升视觉里程计地图更新的鲁棒性。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (10)
1.一种基于深度滤波器的视觉里程计地图更新方法,其特征在于,包括:
根据获取的当前帧图像的第一特征点的深度信息特征值判断是否需要添加关键帧图像,
若不需要添加,则使用已有深度滤波器根据所述当前帧图像的第一特征点更新所述已有深度滤波器的种子;
若需要添加,则建立并初始化新的深度滤波器,从所述当前帧图像中提取第二特征点作为所述新的深度滤波器的种子,确定关键帧图像并使用所述新的深度滤波器根据所述关键帧图像更新所述新的深度滤波器的种子;
计算并更新所述种子的概率分布,当所述种子的深度估计收敛时加入所述地图以更新所述地图。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括
实时获取并存储帧图像;
提取当前帧图像的多个第一特征点、计算各第一特征点的深度信息并确定所有第一特征点深度信息的深度信息特征值。
3.根据权利要求1或2所述的方法,其特征在于,所述根据获取的当前帧图像的第一特征点的深度信息特征值判断是否需要添加关键帧图像进一步包括:
将所述深度信息特征值与预设置的特征值阈值进行比对,若所述深度信息特征值大于特征值阈值,则需要添加关键帧图像。
4.根据权利要求2所述的方法,其特征在于,所述若需要添加,则建立并初始化新的深度滤波器,从所述当前帧图像中提取第二特征点作为所述新的深度滤波器的种子,确定关键帧图像并使用所述新的深度滤波器根据所述关键帧图像更新所述新的深度滤波器的种子进一步包括:
建立并初始化新的深度滤波器,从所述当前帧图像中提取第二特征点作为所述新的深度滤波器的种子;
从所述存储的帧图像中根据时间选取出预设数量的帧图像作为关键帧图像;
使用所述新的深度滤波器根据所述预设数量的关键帧图像更新所述新的深度滤波器中种子的深度信息。
5.根据权利要求4所述的方法,其特征在于,所述从所述存储的帧图像中根据时间选取出预设数量的帧图像作为关键帧图像进一步包括:
从所述当前帧图像的第二特征点中选择关键点,根据时间选取多个帧图像并通过所述关键点分别判断每一个帧图像与所述当前帧图像是否存在重叠区域,若存在,则确定该帧图像为关键帧图像,否则舍弃该帧图像。
6.根据权利要求1所述的方法,其特征在于,所述若不需要添加,则使用已有深度滤波器根据所述当前帧图像的第一特征点更新所述已有深度滤波器的种子进一步包括:
将所述当前帧图像的第一特征点与所述地图中对应的地图点进行特征匹配以获得所述地图点的深度信息;
所述已有深度滤波器根据所述当前帧图像的第一特征点更新所述已有深度滤波器中对应的种子。
7.根据权利要求1所述的方法,其特征在于,所述计算并更新所述种子的概率分布,当所述种子的深度估计收敛时加入所述地图以更新所述地图进一步包括:
利用贝叶斯概率模型更新所述种子的概率分布;
当所述种子的概率大于预设置的概率阈值则确定所述种子深度估计收敛,则将其对应的图像帧的特征点转换为地图点添加至所述地图以更新所述地图。
8.一种基于深度滤波器的视觉里程计地图更新***,其特征在于,包括:
关键帧选取装置,用于判断***是否需要添加关键帧图像;
关键帧深度更新装置,用于建立并初始化新的深度滤波器并确定种子,所述新的深度滤波器根据所述***存储的具有重叠视野的关键帧图像更新所述新的深度滤波器的种子;
深度滤波器更新装置,用于所述***已有深度滤波器根据当前帧图像更新已有深度滤波器的种子;
概率分布更新装置,用于计算并更新所述种子的概率分布,当所述种子的深度估计收敛时加入所述地图以更新所述地图。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910083820.4A CN109816726B (zh) | 2019-01-29 | 2019-01-29 | 一种基于深度滤波器的视觉里程计地图更新方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910083820.4A CN109816726B (zh) | 2019-01-29 | 2019-01-29 | 一种基于深度滤波器的视觉里程计地图更新方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109816726A true CN109816726A (zh) | 2019-05-28 |
CN109816726B CN109816726B (zh) | 2021-10-01 |
Family
ID=66605525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910083820.4A Active CN109816726B (zh) | 2019-01-29 | 2019-01-29 | 一种基于深度滤波器的视觉里程计地图更新方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109816726B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309330A (zh) * | 2019-07-01 | 2019-10-08 | 北京百度网讯科技有限公司 | 视觉地图的处理方法和装置 |
CN111288989A (zh) * | 2020-02-25 | 2020-06-16 | 浙江大学 | 一种小型无人机视觉定位方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107687850A (zh) * | 2017-07-26 | 2018-02-13 | 哈尔滨工业大学深圳研究生院 | 一种基于视觉和惯性测量单元的无人飞行器位姿估计方法 |
CN108151728A (zh) * | 2017-12-06 | 2018-06-12 | 华南理工大学 | 一种用于双目slam的半稠密认知地图创建方法 |
CN108615246A (zh) * | 2018-04-19 | 2018-10-02 | 浙江大承机器人科技有限公司 | 提高视觉里程计***鲁棒性和降低算法计算消耗的方法 |
CN108986037A (zh) * | 2018-05-25 | 2018-12-11 | 重庆大学 | 基于半直接法的单目视觉里程计定位方法及定位*** |
-
2019
- 2019-01-29 CN CN201910083820.4A patent/CN109816726B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107687850A (zh) * | 2017-07-26 | 2018-02-13 | 哈尔滨工业大学深圳研究生院 | 一种基于视觉和惯性测量单元的无人飞行器位姿估计方法 |
CN108151728A (zh) * | 2017-12-06 | 2018-06-12 | 华南理工大学 | 一种用于双目slam的半稠密认知地图创建方法 |
CN108615246A (zh) * | 2018-04-19 | 2018-10-02 | 浙江大承机器人科技有限公司 | 提高视觉里程计***鲁棒性和降低算法计算消耗的方法 |
CN108986037A (zh) * | 2018-05-25 | 2018-12-11 | 重庆大学 | 基于半直接法的单目视觉里程计定位方法及定位*** |
Non-Patent Citations (1)
Title |
---|
CHRISTIAN FORSTER ET AL.: "SVO: Fast Semi-Direct Monocular Visual Odometry", 《2014 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS & AUTOMATION》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309330A (zh) * | 2019-07-01 | 2019-10-08 | 北京百度网讯科技有限公司 | 视觉地图的处理方法和装置 |
CN110309330B (zh) * | 2019-07-01 | 2021-08-31 | 北京百度网讯科技有限公司 | 视觉地图的处理方法和装置 |
CN111288989A (zh) * | 2020-02-25 | 2020-06-16 | 浙江大学 | 一种小型无人机视觉定位方法 |
CN111288989B (zh) * | 2020-02-25 | 2021-11-05 | 浙江大学 | 一种小型无人机视觉定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109816726B (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11394950B2 (en) | Augmented reality-based remote guidance method and apparatus, terminal, and storage medium | |
CN109087359B (zh) | 位姿确定方法、位姿确定装置、介质和计算设备 | |
CN109003325B (zh) | 一种三维重建的方法、介质、装置和计算设备 | |
CN109887003B (zh) | 一种用于进行三维跟踪初始化的方法与设备 | |
CN108447097A (zh) | 深度相机标定方法、装置、电子设备及存储介质 | |
CN108895981B (zh) | 一种三维测量方法、装置、服务器和存储介质 | |
WO2019161813A1 (zh) | 动态场景的三维重建方法以及装置和***、服务器、介质 | |
CN109242913A (zh) | 采集器相对参数的标定方法、装置、设备和介质 | |
US20200134903A1 (en) | Smooth Draping Layer for Rendering Vector Data on Complex Three Dimensional Objects | |
CN108898676B (zh) | 一种虚实物体之间碰撞及遮挡检测方法及*** | |
EP2915140B1 (en) | Fast initialization for monocular visual slam | |
CN110246147A (zh) | 视觉惯性里程计方法、视觉惯性里程计装置及移动设备 | |
CN109084746A (zh) | 用于具有辅助传感器的自主平台引导***的单目模式 | |
SG189284A1 (en) | Rapid 3d modeling | |
CN109191554B (zh) | 一种超分辨图像重建方法、装置、终端和存储介质 | |
CN112733641B (zh) | 物体尺寸测量方法、装置、设备及存储介质 | |
CN115578433B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN114519772A (zh) | 一种基于稀疏点云和代价聚合的三维重建方法及*** | |
CN112529097A (zh) | 样本图像生成方法、装置以及电子设备 | |
CN109816726A (zh) | 一种基于深度滤波器的视觉里程计地图更新方法和*** | |
CN115578432B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN115619986B (zh) | 场景漫游方法、装置、设备和介质 | |
KR20210050997A (ko) | 포즈 추정 방법 및 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 | |
CN113643343B (zh) | 深度估计模型的训练方法、装置、电子设备及存储介质 | |
CN114266876A (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 |