一种基于区块随机蕨编码的精度自监督视觉重定位方法

未命名 09-18 阅读:116 评论:0


1.本发明涉及计算机视觉领域,特别是涉及机器人、mr等设备的视觉重定位领域,提供一种大视角差下的室内实时视觉重定位方法。


背景技术:

2.视觉slam(visual simultaneous localization and mapping,即基于视觉传感器的同时定位与建图技术)是利用单目、双目或rgb-d相机拍摄到的视觉信号作为输入,帮助机器人等自主移动设备在未知环境中同时实现设备的定位与周围三维环境地图的构建。该技术现在广泛应用无人机、自动驾驶、服务机器人和增强现实(ar)等移动设备中,为这些设备提供高精度的定位和环境地图。虽然该技术已经取得了重大进展,但其定位的鲁棒性尚未达到大规模应用落地的水平,目前主要受限于当相机视野内有大量动态物体出现,或者因为rgb-d相机拍摄物体时受到物理限制(大量镜面反射或纯黑色物体等情况)得到大量错误的深度值等情况时,会导致视觉信号的匹配错误进而导致相机定位失败。当错误的定位出现时,一个能够准确识别定位错误并能够快速地在该环境中获得该设备正确位姿的视觉重定位技术能够大幅度提高视觉slam系统的鲁棒性,进而促进机器人等自主移动设备行业的实际落地应用。
3.目前的视觉重定位的技术路线可以分为四种:
4.第一种是相机位姿回归法,该方法利用深度学习的方法直接通过输入的图片回归出相机的位姿,虽然这种方法可以端到端的获得相机位姿,但是目前这类方法不仅泛化能力低,重定位精度的精度还远达不到机器人应用的要求。
5.第二种是场景坐标回归法,该方法利用深度学习回归每个像素点中物体对应的三维坐标,随后通过使用ransac等方法计算得到相机的三维位姿,这类方法今年来得到巨大进度,得到了较高的重定位精度,但是由于在面对新场景时需要很长的时间在当前场景中训练,即这些方法需要学习特定场景的先验知识,缺乏返还能力,因此该方法目前也能难在实时slam系统中得到应用。
6.第三种是稀疏特征匹配法,该方法通过提取输入图像上的稀疏特征点(如sift或orb等)与三维空间种的特征点进行匹配,获得当前时刻相机在该环境种的位姿。虽然这种方法简单有效,但是特征点的匹配计算会随着场景种特征点的数量呈指数级增长,因此该方法也很难嵌入到大规模实时slam系统种。
7.第四种是关键帧图像检索法,该方法通过匹配输入图像和历史关键帧图像的差异性,使用差异性最小的历史关键帧图像和当前帧图像估算出当前相机的三维位姿。这种方法因其较高的定位精度和实时性被广泛的应用于实时的视觉slam系统和三维重建系统中,但是这类方法最大的瓶颈是很难实现具有较大视野差新视角的重定位,既只有当相机移动到历史关键帧收集的位姿上时才能实现准确重定位,这严重了影响了使用重定位时的用户体验,限制了视觉重定位的应用。


技术实现要素:

8.为了解决大视角差下的视觉重定位问题,本发明提出了一种基于区块随机蕨编码的精度自监督视觉重定位方法。
9.本发明方法,根据当前帧输入的彩色图和深度图信息,在一个已知的三维空间中,准确地自动计算出当前输入帧相机的空间六自由度位姿。本发明首先在输入的彩色图和深度图上分别构建图像金字塔,获得该输入的多尺度信息;随后在每层图像上进行区域蕨类编码,获得该输入图像的多尺度多子区域的编码信息;将多个子区域编码的信息和历史关键帧数据库中所有子区域编码信息进行高效的二进制匹配,获得和该输入帧某子区域编码相似的关键帧候选列表;随后利用和当前帧局部区域最接近区域所在图像整体信息和其对应历史相机位姿估计出当前帧相机的六自由度位姿,通过位姿精度自识别模块检测估计出位姿的精度,对于高精度的位姿,我们直接输出其位姿,对于低精度或者完全错误的位姿,我们回环到历史关键候选列表中,选择和当前帧局部信息相匹配的次优历史关键帧进行位姿估计,直至重定位精度自检测模块识别到高精度的重定位位姿。最终通过本文方法不仅能得到精准的重定位位姿,同时通过大量的实验证明了我们的方法在大视角差下的新视点上也能够成功的实现重定位,极大的提高了重定位在使用过程中使用体验,使得用户只需大致扫描到原来历史区域,便能设备够正确的进行重定位。
10.一种基于区块随机蕨编码的精度自监督视觉重定位方法,主要包括以下两大实施阶段:
11.阶段一:区块随机蕨编码与匹配。
12.步骤1.1、图像区块的构建。
13.首先将深度图转换为表面法向量图,然后分别在输入的彩色图和法向量图上构建图像金字塔,在每层金字塔上分割区域构建区块。
14.步骤1.2、区块随机蕨的编码。
15.分别在彩色图图像金字塔和法向量图图像金字塔上不同层上进行区块随机蕨编码。
16.步骤1.3、区块编码信息的匹配。
17.在三维场景构建时,我们会进行历史关键帧的收集,首先对输入的每帧图像都进行区块随机蕨编码,通过比对当前帧全域编码信息和历史关键帧全域编码信息,判断该帧是否为新的关键帧,若为关键帧,则记录该帧的编码信息和其对应的相机位姿。当相机再次进去该场景时,我们便基于已知场景下收集的关键帧数据库(其中存储每个关键帧的编码信息和其在该场景中的六自由度位姿),通过比对当前帧的区块随机蕨编码信息和历史关键帧区块编码信息相似度匹配,将匹配最相近的区块所对应的历史关键帧编码信息和位姿暂存入关键帧候选列表中。
18.阶段二:精度自监督重定位位姿优化;
19.步骤2.1、基于历史关键帧的位姿估计。
20.从历史关键帧候选列表中,根据相似度匹配结果,选择局部区域最相近的位姿,利用该位姿、已知三维场景和当前帧输入信息,进行当前帧相机位姿的估计。
21.步骤2.2、位姿精度的自识别。
22.由于图像的匹配阶段不可避免地存在错误关键帧匹配,进而导致位姿估计的错
误。为了提高重定位的精度,本方法识别每个重定位姿态的精度,对于高精度位姿,直接输出,对于低精度甚至完全错误的位姿,在历史关键帧候选列表中寻找次优匹配,随后重复阶段二,直到获得高精度的重定位位姿。
23.本发明有益效果如下:
24.(1)提出了一种高效的区块随机蕨编码匹配方法,从而实现了大视角差下的视觉重定位。基于图像匹配的视觉重定位方法,最大的瓶颈是该方法很难扩展到新视角上实现重定位,既只有当相机位姿几乎完全和历史关键帧收集的位姿一致时才能回归出正确的位姿,这很大程度影响了使用重定位时的用户体验,限制了重定位方法的落地应用。本方法创新性的提出了一种高效的区块随觉蕨编码匹配方法,实现了大视角差下图像正确匹配,随后正确的估计出相机在该场景中的准确位姿。
25.(2)提出了一种重定位精度自检测方法。为提高重定位的准确率,我们提出了一种自监督的重定位精度检测方法,对于高精度的重定位位姿直接输出,对于低精度甚至完全错误的重定位位姿,回环到匹配阶段,寻找次优匹配结果重新计算其重定位位姿,直至输出正确的重定位位姿。
26.(3)高精度的视觉重定位。通过大量的实验证明,该方法不仅实现了大视角差下的准确重定位,同时本发明的重定位的准确率和召回率都超过其他所有视觉重定位技术路线的最佳结果,实现了最高精度的视觉重定位。
附图说明
27.图1为本发明实施例基于区块随机蕨编码的精度自监督视觉重定位流程图;
28.图2为本发明实施例区块随机蕨编码和区块编码匹配的示意流程图;
29.图3-6为本发明实施例大视角差变换下精准重定位示意图。
具体实施方式
30.下面结合本专利的附图来对发明专利的具体实施进行详细描述。
31.结合图1.基于区块随机蕨编码的精度自监督视觉重定位流程图,本发明主要包含以下两个实施阶段:
32.阶段一:区块随机蕨编码与匹配。
33.该阶段的具体流程如图2所示,主要分为3个子阶段。
34.步骤1.1图像区块的构建。
35.为扩大新视角的匹配能力,我们将刻画拍摄物体几何属性的深度图转换为表面法向量图,该法向量不会跟随相机视角的变换而变换,从而为后续增加平移、旋转、尺度等不变性做数据准备。为增加该视觉重定位方法匹配多尺度信息,增强其尺度不变性,本方法首先分别在输入的彩色图和法向量图上构建图像金字塔,随后为增强平移不变性,我们在每层金字塔上按照相同尺寸将图像分割区域构建区块。如将w*h图片均等分成n^2个,每个区块尺寸为w/n*h/n。
36.步骤1.2区块随机蕨的编码。
37.我们随后在1.1中生成的在不同尺度和区块下建立同一规律的随机蕨,在单个区块上,随机选择个m像素蕨点进行编码,将该区块上全部像素蕨点上进行二进制
码,获得该区块上的编码信息一个像素蕨包含该蕨点所在该区块上的位置信息l和该位置下每个图像通道上的阈值,在该像素位置l上,将输入图像像素上每个通道上的值和中的阈值相比较,获得二进制编码其中每个通道阈值的二进制编码值通过如下公式计算得到:
[0038][0039]
在同一个场景中,一个区块上每个蕨点信息(蕨点位置和每个通道的阈值)只随机一次,每个不同的区块上都采用同一规律构建蕨点获取编码信息。其中颜色阈值τr、τg、τb是从0到255随机生成的int类型的数字,向量阈值是从-1到1中随机生成的float类型值。
[0040]
步骤1.3区块编码信息的匹配。
[0041]
为获当前三维空间中精准的相机位姿,我们利用匹配到的历史关键帧的位姿信息和当前帧拍摄到的图像信息在该已知空间中估计当前帧相机的六自由度位姿。经过1.2中区块随机蕨编码后,通过区块(局部)汉明距离lhd来计算两帧之间不同区块之间的相似性,
[0042][0043]
其中表示第g帧上第s1区块上的编码信息即编码特征,同理,表示第k帧上第s2区块上的编码特征,当两个蕨点像素上六通道上的六位二进制编码完全相等时,运算符≡返回0,否则运算符≡返回1。
[0044]
我们通过两帧之间全局汉明距离表达两帧之前全局相似性:
[0045][0046]
其中cg表示第g帧输入上的全局编码特征,ck表示第k帧输入上的全局编码特征。
[0047]
在当前场景的重建阶段(建立已知场景阶段),计算两帧之间的全局汉明距离来判断当前帧和历史关键帧之间的全局相似度,当相似度小于一定阈值时,该帧被记录为历史关键帧,存储在历史关键帧数据库中。在需要进行视觉重定位时,通过计算输入帧每个区块编码特征和历史关键帧所有区块编码特征之间的区块汉明距离来计算两帧之间的相似性,当相似性大于设定阈值时,将匹配最相近的区块所对应的历史关键帧编码信息和位姿暂存入关键帧候选列表中。
[0048]
阶段二:精度自监督重定位位姿优化;
[0049]
步骤2.1基于历史关键帧的位姿估计。
[0050]
从历史关键帧候选列表中,根据相似度匹配结果,选择和当前帧局部区块最相近的历史关键帧局部区块所对应的位姿,利用该位姿、已知三维场景和当前帧输入信息(包括深度图和彩色图),进行当前帧相机位姿的估计。因为本方法匹配的是局部区块,所以可能输入帧和匹配到的历史关键帧之间的视角差距较大,导致直接使用最常用的icp可能很难准确计算直接计算出当前帧的位姿,所以我们采用快速三维配准方法teaser进行快速的粗
配准,随后使用icp迭代计算当前相机的位姿。
[0051]
步骤2.2位姿精度的自识别。
[0052]
据我们所知,目前还没有一种重定位方法,可以自监督检测自己重定位位姿的精度。我们使用svm设计并实现了一种重定位精度自检测模块,具体实现如下:为了实现重定位位姿精度的检测,将精度检测问题转换成重定位位姿精度区间识别问题,在本发明中,我们设计了一个多分类器θ通过输入icp算法生成的中间变量值x来分类重定位位姿的精度区间y,即y=θ(x)。本方法使用支撑向量机svm来构建该多分类器θ,为了训练多分类器,我们构建一个包含icp中间变量值x:=h,r,o和定位精度区间类别y的训练数据集,其中x包含hessian矩阵h,残差r和离群百分比o,这些变量都一定程度反应icp的收敛程度。在我们的训练数据集中,我们将精度区间y分成11个类别区间,包括类别1是位移误差在1cm以内及旋转误差在1
°
以内,类别2是位移误差在2cm以内及旋转误差在2
°
以内且不是类别一,等等依次类推,第11个类别是大于位移误差大于10cm或旋转误差大于10
°
。可以在任意的包含位姿真值的定位或重定位数据集上构建该数据集,如我们在著名的视觉重定位7-scenes数据集上构建我们重定位位姿精度检测的数据集,在每帧重定位后,保存icp中间变量x和重回定位姿,计算该位姿的真值和重定位得到位姿的差得到y。
[0053]
通过重定位位姿精度自识别后,对于高精度的重定位位姿,直接输出,对于低精度甚至完全错误的位姿,我们在历史关键帧候选列表中寻找次优匹配,随后重复阶段二,直到获得高精度的重定位位姿。所述的高精度和低精度类别要求根据实际情况进行设置且不需要重新训练,只需修改一个阈值即可,默认定位精度区间类别1到5为高精度。
[0054]
进一步的,具体类别如下:
[0055]
类别1:位移误差在1cm以内且旋转误差在1
°
以内;
[0056]
类别2:位移误差在2cm以内且旋转误差在2
°
以内,且不是类别1;
[0057]
类别3:位移误差在3cm以内且旋转误差在3
°
以内,且不是类别1-2;
[0058]
类别4:位移误差在4cm以内且旋转误差在4
°
以内,且不是类别1-3;
[0059]
类别5:位移误差在5cm以内且旋转误差在5
°
以内,且不是类别1-4;
[0060]
类别6:位移误差在6cm以内且旋转误差在6
°
以内,且不是类别1-5;
[0061]
类别7:位移误差在7cm以内且旋转误差在7
°
以内,且不是类别1-6;
[0062]
类别8:位移误差在8cm以内且旋转误差在8
°
以内,且不是类别1-7;
[0063]
类别9:位移误差在9cm以内且旋转误差在9
°
以内,且不是类别1-8;
[0064]
类别10:位移误差在10cm以内且旋转误差在10
°
以内,且不是类别1-9;
[0065]
类别11:大于位移误差大于10cm或旋转误差大于10
°

[0066]
图3平移变换下大视角差变换重定位示意图;图4旋转变换下大视角差变换重定位示意图;图5尺度变换下大视角差变换重定位示意图;图6尺度变换下大视角差变换重定位示意图,其中左上角是历史关键帧的彩色图,左下角是当前帧输入的彩色图,可以看出当前帧在四种变换下都和历史关键帧的位姿变换很大;右侧是重定位结果下的视角,其中左下角彩色部分为历史关键帧的视觉信息在该重定位位姿上能看到的信息,右上角灰度图为该重定位位姿下,当前帧的输入图片信息。
[0067]
以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员,在不
脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。
[0068]
本发明未详细说明部分属于本领域技术人员公知技术。

技术特征:
1.一种基于区块随机蕨编码的精度自监督视觉重定位方法,其特征在于,主要包括以下两大实施阶段:阶段一:区块随机蕨编码与匹配;步骤1.1、图像区块的构建;将深度图转换为表面法向量图,然后分别在输入的彩色图和法向量图上构建图像金字塔,在每层金字塔上分割区域构建区块;步骤1.2、区块随机蕨的编码;分别在彩色图图像金字塔和法向量图图像金字塔上不同层上进行区块随机蕨编码;步骤1.3、区块编码信息的匹配;已知场景下收集的关键帧数据库,通过比对当前帧的区块随机蕨编码信息和历史关键帧区块编码信息相似度匹配,将匹配最相近的区块所对应的历史关键帧编码信息和位姿暂存入关键帧候选列表中;阶段二:精度自监督重定位位姿优化;步骤2.1、基于历史关键帧的位姿估计;从历史关键帧候选列表中,根据相似度匹配结果,选择局部区域最相近的位姿,利用该位姿、已知三维场景和当前帧输入信息,进行当前帧相机位姿的估计;步骤2.2、位姿精度的自识别;为了提高重定位的精度,识别每个重定位姿态的精度,对于高精度位姿,直接输出;对于低精度甚至完全错误的位姿,在历史关键帧候选列表中寻找次优匹配,随后重复阶段二,直到获得高精度的重定位位姿。2.根据权利要求1所述的一种基于区块随机蕨编码的精度自监督视觉重定位方法,其特征在于,区块随机蕨的编码具体方法如下:在生成的在不同尺度和区块下建立同一规律的随机蕨,在单个区块上,随机选择个m像素蕨点进行编码,将该区块上全部像素蕨点上进行二进制码,获得该区块上的编码信息一个像素蕨包含该蕨点所在该区块上的位置信息l和该位置下每个图像通道上的阈值,在该像素位置l上,将输入图像像素上每个通道上的值和中的阈值相比较,获得二进制编码其中每个通道阈值的二进制编码值通过如下公式计算得到:在同一个场景中,一个区块上每个蕨点信息只随机一次,每个不同的区块上都采用同一规律构建蕨点获取编码信息;其中颜色阈值τ
r
、τ
g
、τ
b
是从0到255随机生成的int类型的数字,向量阈值字,向量阈值是从-1到1中随机生成的float类型值。3.根据权利要求2所述的一种基于区块随机蕨编码的精度自监督视觉重定位方法,其特征在于,区块编码信息的匹配具体方法如下:为获当前三维空间中精准的相机位姿,我们利用匹配到的历史关键帧的位姿信息和当
前帧拍摄到的图像信息在该已知空间中估计当前帧相机的六自由度位姿;经过步骤1.2中区块随机蕨编码后,通过区块汉明距离lhd来计算两帧之间不同区块之间的相似性,其中表示第g帧上第s1区块上的编码信息即编码特征,同理,表示第k帧上第s2区块上的编码特征,当两个蕨点像素上六通道上的六位二进制编码完全相等时,运算符≡返回0,否则运算符≡返回1;通过两帧之间全局汉明距离表达两帧之前全局相似性:其中c
g
表示第g帧输入上的全局编码特征,c
k
表示第k帧输入上的全局编码特征;在当前场景的重建阶段,计算两帧之间的全局汉明距离来判断当前帧和历史关键帧之间的全局相似度,当相似度小于一定阈值时,该帧被记录为历史关键帧,存储在历史关键帧数据库中;在需要进行视觉重定位时,通过计算输入帧每个区块编码特征和历史关键帧所有区块编码特征之间的区块汉明距离来计算两帧之间的相似性,当相似性大于设定阈值时,将匹配最相近的区块所对应的历史关键帧编码信息和位姿暂存入关键帧候选列表中。4.根据权利要求1或3所述的一种基于区块随机蕨编码的精度自监督视觉重定位方法,其特征在于,位姿精度的自识别具体方法如下:采用一个多分类器θ通过输入icp算法生成的中间变量值x来分类重定位位姿的精度区间y,即y=θ(x);精度区间y分成11个类别区间,包括类别1是位移误差在1cm以内及旋转误差在1
°
以内,类别2是位移误差在2cm以内及旋转误差在2
°
以内且不是类别一,依次类推,第11个类别是大于位移误差大于10cm或旋转误差大于10
°
;通过重定位位姿精度自识别后,对于高精度的重定位位姿,直接输出,对于低精度甚至完全错误的位姿,在历史关键帧候选列表中寻找次优匹配,随后重复阶段二,直到获得高精度的重定位位姿;所述的高精度和低精度类别要求根据实际情况进行设置。5.根据权利要求1所述的一种基于区块随机蕨编码的精度自监督视觉重定位方法,其特征在于,使用支撑向量机svm来构建多分类器θ,为了训练多分类器,在任意的包含位姿真值的定位或重定位数据集上,构建一个包含icp中间变量值x:=h,r,o和定位精度区间类别y的训练数据集,其中x包含hessian矩阵h,残差r和离群百分比o。

技术总结
本发明公开了一种基于区块随机蕨编码的精度自监督视觉重定位方法。包括阶段一,区块随机蕨编码与匹配:首先进行图像区块的构建,然后进行区块随机蕨的编码,最后完成区块编码信息的匹配,获得关键帧候选列表中。阶段二,精度自监督重定位位姿优化:首先进行基于历史关键帧的位姿估计,之后进行位姿精度的自识别,对于高精度的重定位位姿直接输出,对于低精度甚至完全错误的重定位位姿,寻找次优匹配结果重新计算其重定位位姿,直至输出正确的重定位位姿。本发明方法在大视角差下的新视点上也能够成功的实现重定位,极大的提高了重定位在使用过程中使用体验,使得用户只需大致扫描到原来历史区域,便能设备够正确的进行重定位。便能设备够正确的进行重定位。便能设备够正确的进行重定位。


技术研发人员:朱尊杰 路荣丰 郭泰佑 陈奕礽 陈泉 夏维 傅晟 宣仲玮 王磊 曾龙健 李思媛 薛安克 徐枫 颜成钢
受保护的技术使用者:杭州电子科技大学
技术研发日:2023.06.29
技术公布日:2023/9/14
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐