动态环境下的视觉SLAM初始化方法、系统、装置制造方法及图纸

技术编号:23052125 阅读:16 留言:0更新日期:2020-01-07 15:05
本发明专利技术属于机器人、无人驾驶、AR视觉领域,具体涉及一种动态环境下的视觉SLAM初始化方法、系统、装置,旨在解决SLAM在动态环境下缺乏提取静态特征点的问题。本系统方法包括获取有视差的两帧图像;获取前一帧图像的匹配特征点;前一帧图像等份划分,得到多个图像块,将包含匹配特征点大于设定阈值的图像块作为格子模型,并获取格子模型的内点和质心;通过内点计算格子模型的耦合度,基于预设的耦合度阈值选取格子模型构建对应的格子模型集合;基于质心计算每一个格子模型集合的分布方差,选取值最大的集合构建静态特征集合;将静态特征集合三角化,通过非线性优化对SLAM初始化。本发明专利技术能提取足够的静态特征点。

Visual slam initialization method, system and device in dynamic environment

【技术实现步骤摘要】
动态环境下的视觉SLAM初始化方法、系统、装置
本专利技术属于机器人、无人驾驶、AR视觉领域,具体涉及一种动态环境下的视觉SLAM初始化方法、系统、装置。
技术介绍
视觉SLAM是一个系统工程,在经典的视觉SLAM框架中,往往会假设环境为静态环境,或者环境中的静态特征占据多数。尽管目前已经出现了较为成熟的视觉SLAM系统,如ORB-SLAM、DSO、LSD等,但由于SLAM系统做了静态环境的假设,导致其在运动场景中的鲁棒性极差。无论是直接法或是非直接法的视觉SLAM系统,都缺乏应对运动物体的干扰,而且在SLAM运行过程中,对于相机位姿的解算完全依赖于RANSAC方法,如果静态特征点在整个图像中未占据多数,或者占比较低,则在有限次的迭代计算中,往往得不到正确的相机运动模型。传统的因式分解法由于需要提前预知运动物体的个数,且解算数据需要批量数据,因此难以实时且鲁棒的解算运动环境下的相机位姿。建模的方法如高斯建模,混合高斯建模等对于SLAM意义不大,原因在于SLAM的真正意义在于对未知环境的探索,如果在已知环境中运动,SLAM问题可退化为定位问题,我们完全可以限定环境以各种方式获取环境的高精地图,然后利用地图匹配对相机进行定位。目前,越来越多基于深度学习的方法被应用在运动目标检测中。在某些视觉SLAM框架中,采用了对运动目标进行先识别,再对运动目标区域内的特征点进行剔除,最后利用剩余的特征点进行相机运动模型计算。基于深度学习的方法对运动目标的检测的准确率和效率有了较大的提升,但仍然具有极大的局限性,这是由于其识别信息往往依据目标的纹理、颜色、灰度等,这些信息与目标是否运动并无绝对关系。而其判别目标是否运动的依据往往是在有限的环境中找出可能运动的物体去除,这种方式的缺点非常明显,主要体现在两个方面:第一,可能会丢失大量本可以用于定位的静态特征点信息。例如,在室内环境中,由于人是具有运动属性的目标,该框架会将识别的所有的人所在区域内的特征点统统删除,而忽略了在某些情况下,人可能是静止的,当静止的人占据图像视野的大部分时,会丢失许多本可以用于定位的特征点信息。第二,在陌生环境下往往会有许多运动物体由于深度学习训练网络的训练数据的局限而无法被识别,换言之,即深度学习无法识别所有的运动物体,如此一来,深度学习神经网络的作用仅仅在于去除部分的、有限的运动物体或运动特征点,而未被识别的运动物体或运动的特征点依然会对视觉定位产生极大影响。如何有效的获得外点率低的图像中的静态特征点(不符合静态特征的模型的点),而非像深度学习利用纹理,颜色,灰度等来判定运动属性,对于解算相机位姿有着重要意义。因此,本专利技术提出了一种动态环境下的视觉SLAM初始化方法。
技术实现思路
为了解决现有技术中的上述问题,即为了解决现有视觉SLAM系统在动态环境下缺乏提取静态特征点,导致无法实时、鲁棒的解算SLAM系统中相机的位姿的问题,本专利技术第一方面,提出了一种动态环境下的视觉SLAM初始化方法,该方法包括:步骤S10,从输入视频中获取具有视差的第一图像帧、第二图像帧;步骤S20,对所述第一图像帧、所述第二图像帧,分别进行ORB特征点的提取,通过特征点匹配方法获取所述第一图像帧的匹配特征点;步骤S30,对所述第一图像帧等份划分,得到多个图像块,选取所包含的匹配特征点大于设定阈值的图像块作为格子模型,并通过RANSAC算法获取每个格子模型的内点,及内点的质心;步骤S40,对每一个格子模型,基于其内点分别计算其与其他格子模型的耦合度,并基于预设的耦合度阈值选取格子模型,构建对应的格子模型集合;步骤S50,对于每一个格子模型集合,基于其中每个格子模型内点的质心计算分布方差,并选取最大分布方差值对应的格子模型集合,并基于该集合中各格子模型的内点构建静态特征集合;步骤S60,对所述静态特征集合中的内点进行三角化,通过非线性优化方法获取SLAM的三维坐标,并基于该三维坐标对SLAM进行初始化。在一些优选的实施方式中,所述的第一图像帧为时刻在前的图像。在一些优选的实施方式中,步骤S20中“通过特征点匹配方法获取所述第一图像帧的匹配特征点”,其方法为:获取所述第一图像帧与所述第二图像帧相匹配的ORB特征点作为所述第一图像帧的匹配特征点。在一些优选的实施方式中,步骤S30中“选取所包含的匹配特征点大于设定阈值的图像块作为格子模型,并通过RANSAC算法获取每个格子模型的内点,及内点的质心”,其方法为:选取所包含的匹配特征点大于设定阈值的图像块作为格子模型,统计格子模型的数量;若所述格子模型的数量大于预设值,则通过RANSAC算法获取每个格子模型的内点,及内点的质心,执行步骤S40,否则执行步骤S10。在一些优选的实施方式中,步骤S40中“对每一个格子模型,基于其内点分别计算其与其他格子模型的耦合度”,其方法为:将每一个格子模型作为第一模型,将其他格子模型中的任一模型作为第二模型;基于所述第二模型的内点,通过RANSAC算法筛选符合所述第一模型解算的内点,并统计符合所述第一模型解算的内点的数量;将所述数量与所述第二模型的内点数量的比值作为所述第一模型与所述第二模型的耦合度。在一些优选的实施方式中,步骤S50中“对于每一个格子模型集合,基于其中每个格子模型内点的质心计算分布方差”,其计算方法为:其中,Xvariance为每个格子模型内点的质心在x方向的方差,Yvariance为每个格子模型内点的质心在y方向的方差,Fdistribution为分布方差。本专利技术的第二方面,提出了一种动态环境下的视觉SLAM初始化系统,该系统包括获取模块、特征匹配模块、筛选模块、构建集合模块、计算分布方差模块、初始化模块;所述的获取模块,配置为从输入视频中获取具有视差的第一图像帧、第二图像帧;所述的特征匹配模块,配置为对所述第一图像帧、所述第二图像帧,分别进行ORB特征点的提取,通过特征点匹配方法获取所述第一图像帧的匹配特征点;所述的筛选模块,配置为对所述第一图像帧等份划分,得到多个图像块,选取所包含的匹配特征点大于设定阈值的图像块作为格子模型,并通过RANSAC算法获取每个格子模型的内点,及内点的质心;所述的构建集合模块,配置为对每一个格子模型,基于其内点分别计算其与其他格子模型的耦合度,并基于预设的耦合度阈值选取格子模型,构建对应的格子模型集合;所述的计算分布方差模块,配置为对于每一个格子模型集合,基于其中每个格子模型内点的质心计算分布方差,并选取最大分布方差值对应的格子模型集合,并基于该集合中各格子模型的内点构建静态特征集合;所述的初始化模块,配置为对所述静态特征集合中的内点进行三角化,通过非线性优化方法获取SLAM的三维坐标,并基于该三维坐标对SLAM进行初始化。本专利技术的第三方面,提出了一种存储装置,其中存储有多条程序,所述程序应用由处理器加载并执行以实现上述的动态环境下的视觉SLAM初始化本文档来自技高网
...

【技术保护点】
1.一种动态环境下的视觉SLAM初始化方法,其特征在于,该方法包括:/n步骤S10,从输入视频中获取具有视差的第一图像帧、第二图像帧;/n步骤S20,对所述第一图像帧、所述第二图像帧,分别进行ORB特征点的提取,通过特征点匹配方法获取所述第一图像帧的匹配特征点;/n步骤S30,对所述第一图像帧等份划分,得到多个图像块,选取所包含的匹配特征点大于设定阈值的图像块作为格子模型,并通过RANSAC算法获取每个格子模型的内点,及内点的质心;/n步骤S40,对每一个格子模型,基于其内点分别计算其与其他格子模型的耦合度,并基于预设的耦合度阈值选取格子模型,构建对应的格子模型集合;/n步骤S50,对于每一个格子模型集合,基于其中每个格子模型内点的质心计算分布方差,并选取最大分布方差值对应的格子模型集合,并基于该集合中各格子模型的内点构建静态特征集合;/n步骤S60,对所述静态特征集合中的内点进行三角化,通过非线性优化方法获取SLAM的三维坐标,并基于该三维坐标对SLAM进行初始化。/n

【技术特征摘要】
1.一种动态环境下的视觉SLAM初始化方法,其特征在于,该方法包括:
步骤S10,从输入视频中获取具有视差的第一图像帧、第二图像帧;
步骤S20,对所述第一图像帧、所述第二图像帧,分别进行ORB特征点的提取,通过特征点匹配方法获取所述第一图像帧的匹配特征点;
步骤S30,对所述第一图像帧等份划分,得到多个图像块,选取所包含的匹配特征点大于设定阈值的图像块作为格子模型,并通过RANSAC算法获取每个格子模型的内点,及内点的质心;
步骤S40,对每一个格子模型,基于其内点分别计算其与其他格子模型的耦合度,并基于预设的耦合度阈值选取格子模型,构建对应的格子模型集合;
步骤S50,对于每一个格子模型集合,基于其中每个格子模型内点的质心计算分布方差,并选取最大分布方差值对应的格子模型集合,并基于该集合中各格子模型的内点构建静态特征集合;
步骤S60,对所述静态特征集合中的内点进行三角化,通过非线性优化方法获取SLAM的三维坐标,并基于该三维坐标对SLAM进行初始化。


2.根据权利要求1所述的动态环境下的视觉SLAM初始化方法,其特征在于,所述的第一图像帧为时刻在前的图像。


3.根据权利要求1所述的动态环境下的视觉SLAM初始化方法,其特征在于,步骤S20中“通过特征点匹配方法获取所述第一图像帧的匹配特征点”,其方法为:获取所述第一图像帧与所述第二图像帧相匹配的ORB特征点作为所述第一图像帧的匹配特征点。


4.根据权利要求1所述的动态环境下的视觉SLAM初始化方法,其特征在于,步骤S30中“选取所包含的匹配特征点大于设定阈值的图像块作为格子模型,并通过RANSAC算法获取每个格子模型的内点,及内点的质心”,其方法为:
选取所包含的匹配特征点大于设定阈值的图像块作为格子模型,统计格子模型的数量;
若所述格子模型的数量大于预设值,则基于每个格子模型的匹配特征点,通过RANSAC算法获取每个格子模型的内点,及内点的质心,执行步骤S40,否则执行步骤S10。


5.根据权利要求1所述的动态环境下的视觉SLAM初始化方法,其特征在于,步骤S40中“对每一个格子模型,基于其内点分别计算其与其他格子模型的耦合度”,其方法为:
将每一个格子模型作为第一模型,将其他格子模型中的任一模型作为第二模型;
基于所述第二模...

【专利技术属性】
技术研发人员:汤淑明卢晓昀顿海洋黄馨张力夫
申请(专利权)人:中国科学院自动化研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1