一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

相机的位姿确定方法、装置、电子设备以及存储介质与流程

2022-06-29 22:25:15 来源:中国专利 TAG:


1.本技术涉及电子设备技术领域,更具体地,涉及一种相机的位姿确定方法、装置、电子设备以及存储介质。


背景技术:

2.如今,手机室内导航与三维重建,增强现实,移动机器人等行业正在飞速发展,在未来拥有着广阔的应用前景和商业价值,这些行业或者应用,都离不开一项关键技术——即时定位技术。目前的即时定位技术在环境纹理丰富且区分度高的环境中,可以表现出较好的跟踪效果,但是在弱纹理,无纹理,或者重复纹理环境下,其定位效果会严重下降甚至直接失效,导致定位效果不佳。


技术实现要素:

3.鉴于上述问题,本技术提出了一种相机的位姿确定方法、装置、电子设备以及存储介质,以解决上述问题。
4.第一方面,本技术实施例提供了一种相机的位姿确定方法,所述方法包括:获取通过相机拍摄环境参照物获得的多帧彩色图像和多帧深度图像;提取所述彩色图像中所述环境参照物的特征点,并对所述多帧彩色图像的所述特征点进行重投影,建立所述多帧彩色图像的重投影误差约束;提取所述深度图像中所述环境参照物的平面特征作为对应的彩色图像中所述环境参照物的平面特征,并对所述多帧彩色图像的所述平面特征进行匹配,建立所述多帧彩色图像的平面误差约束;基于所述重投影误差约束和所述平面误差约束,确定所述相机的位姿。
5.第二方面,本技术实施例提供了一种相机的位姿确定装置,所述装置包括:图像获取模块,用于获取通过相机拍摄环境参照物获得的多帧彩色图像和多帧深度图像;重投影误差约束建立模块,用于提取所述彩色图像中所述环境参照物的特征点,并对所述多帧彩色图像的所述特征点进行重投影,建立所述多帧彩色图像的重投影误差约束;平面误差约束建立模块,用于提取所述深度图像中所述环境参照物的平面特征作为对应的彩色图像中所述环境参照物的平面特征,并对所述多帧彩色图像的所述平面特征进行匹配,建立所述多帧彩色图像的平面误差约束;相机位姿确定模块,用于基于所述重投影误差约束和所述平面误差约束,确定所述相机的位姿。
6.第三方面,本技术实施例提供了一种电子设备,包括存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时所述处理器执行上述方法。
7.第四方面,本技术实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
8.本技术实施例提供的相机的位姿确定方法、装置、电子设备以及存储介质,获取通过相机拍摄环境参照物获得的多帧彩色图像和多帧深度图像,提取彩色图像中的环境参照
物的特征点,并对多帧彩色图像的特征点进行重投影,建立多帧彩色图像的重投影误差,提取深度图像中环境参照物的平面特征作为对应的彩色图像中环境参照物的平面特征,并对多帧彩色图像的平面特征进行匹配,建立多帧彩色图像的平面误差约束,基于重投影误差约束和平面误差约束,确定相机的位姿,从而通过深度图像提取平面特征,这样平面提取不会受到彩色图像成像质量的影响,在黑暗,无纹理等环境,依然能够稳定的提出有效的平面特征,定位鲁棒性更强,准确性更高。
附图说明
9.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
10.图1示出了本技术一实施例提供的相机的位姿确定方法的流程示意图;
11.图2示出了本技术一实施例提供的相机的位姿确定方法的流程示意图;
12.图3示出了本技术实施例提供的彩色图像的示意图;
13.图4示出了本技术一实施例提供的相机的位姿确定方法的流程示意图;
14.图5示出了本技术实施例提供的两帧彩色图像的对比示意图;
15.图6示出了本技术的图4所示的相机的位姿确定方法的步骤s305的流程示意图;
16.图7示出了本技术实施例提供的相机的位姿确定装置的模块框图;
17.图8示出了本技术实施例用于执行根据本技术实施例的相机的位姿确定方法的电子设备的框图;
18.图9示出了本技术实施例的用于保存或者携带实现根据本技术实施例的相机的位姿确定方法的程序代码的存储单元。
具体实施方式
19.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
20.如今,手机室内导航与三维重建,增强现实,移动机器人等行业正在飞速发展,在未来拥有着广阔的应用前景和商业价值。这些行业或者应用,都离不开一项关键技术——即时定位技术。其中,电子设备(如扫地机器人)需要厘米级的自身定位来获知自身与所处环境的位置关系,从而进行后续的任务。显然全球定位系统(global positioning system,gps)无法达到定位精度的要求。同时定位与地图构建(simultaneous localization and mapping,slam)、视觉惯导融合里程计(visual-imu odometry,vio)技术因此应运而生,这些技术是指在完全未知的环境下,通过电子设备自身传感器提供的信息,结合相应的算法来实现厘米级定位,同时slam技术还包括了在定位的同时进行环境建图。在手机或者是移动机器人等电子设备上,最普遍装配的传感器是相机传感器,通过相机采集的图像序列完成对相机本体的定位过程,称之为视觉slam技术。
21.在经典的视觉slam算法中,主要通过提取图像中的特征点,建立不同视角下图像特征点的匹配关系,再利用多视图几何约束,来求解相机之间的相对位姿。
22.2015年,有人提出了基于一种旋转不变性的视觉特征(oriented fast and rotated brief,orb)特征点的开源定位方案orb-slam,完整的给出了一套实时高精度的特征点视觉slam方案,成为slam学术界的标杆级作品。orb特征点提取速度快,同时具有尺度、旋转不变性,在整个定位体统中建立起连续图像帧之间的关联与约束。orb-slam整个系统围绕orb特征建立了一套严谨的算法流程,包括初始化,位姿预测,跟踪局部地图,关键帧筛选,局部ba优化,回环检测等多个模块。
23.2017年,又有人提出了vio定位方案vins-mono和vins-mobile,给出了一套完整的单目相机与imu紧耦合定位方案,可以在电脑端或移动端使用。在vins的视觉定位模块中依赖于视觉特征点shi-tomasi角点。先对传入系统的连续图像帧提取shi-tomasi角点,然后利用lk光流对角点进行跟踪,以实现图像帧之间的特征关联,而后建立视觉约束以计算图像帧的位姿。
24.2010年以来,随着深度相机技术的不断成熟,很多slam学者开始利用rgb相机与深度相机结合进行视觉定位,后简称rgbd-slam。2019年,有人对vins-mono系统进行了拓展,融合深度相机辅助定位,提出并开源了使用深度相机与imu进行紧耦合的定位方案。简称rgbd-vins。在定位初始化,跟踪环节,利用深度相机提供的深度信息将二维特征点恢复为三维空间点,使vins定位系统初始化速度更快,跟踪精度表现也有提升。
25.使用图像特征点进行定位可以在图像之间建立稳定的对应关系,但是其缺点也比较明显,在一些纹理较弱的场景下,如黑暗环境,白墙环境下,这些环境中采集到的图像由于缺乏灰度梯度,导致很难从中提取出特征点,继而导致后续的定位失败。在一些重复纹理环境下,如条纹墙壁环境,虽然可以提取出不少的环境特征点,但是由于提取的特征点十分相似,缺乏区分度,很容易造成特征误匹配,导致在图像之间建立了错误的匹配导致定位误差大甚至失败。
26.相对于经典的传统视觉slam算法来说,在环境纹理丰富且区分度高的环境中,可以表现出较好的跟踪效果,但是在弱纹理,无纹理,重复纹理环境下,其定位效果会严重下降甚至直接失效。这是因为在这些环境下无法提出足够的特征点,以及无法建立正确的约束关系导致的。这也成为了目前特征点法视觉slam的一个软肋。
27.针对上述问题,发明人经过长期的研究发现,并提出了本技术实施例提供的相机的位姿确定方法、装置、电子设备以及存储介质,通过深度图像提取平面特征,这样平面提取不会受到彩色图像成像质量的影响,在黑暗,无纹理等环境,依然能够稳定的提出有效的平面特征,鲁棒性更强。其中,具体的相机的位姿确定方法在后续的实施例中进行详细的说明。
28.请参阅图1,图1示出了本技术一实施例提供的相机的位姿确定方法的流程示意图。该相机的位姿确定方法用于通过深度图像提取平面特征,这样平面提取不会受到彩色图像成像质量的影响,在黑暗,无纹理等环境,依然能够稳定的提出有效的平面特征,定位鲁棒性更强,准确性更高。在具体的实施例中,该相机的位姿确定方法应用于如图7所示的相机的位姿确定装置200以及配置有相机的位姿确定装置200的电子设备100(图8)。下面将以电子设备为例,说明本实施例的具体流程,当然,可以理解的,本实施例所应用的电子设备可以包括智能手机、平板电脑、机器人等,在此不做限定。下面将针对图1所示的流程进行详细的阐述,所述相机的位姿确定方法具体可以包括以下步骤:
29.步骤s101:获取通过相机拍摄环境参照物获得的多帧彩色图像和多帧深度图像。
30.在本实施例中,环境参照物为相机拍摄方向的环境实体,如地面、墙体、家具等等,环境参照物随着相机的运动会不断发生变化,具体取决于相机的拍摄方向。本实施例中,相机可以设置于某个移动装置上,用于移动拍摄环境参照物,例如,相机可以设置于某个移动机器人(如扫地机器人、拖地机器人、上菜机器人等)上,并随着移动机器人的移动进行环境参照物的拍摄。
31.在一些实施方式中,相机可以具备深度传感器和色彩传感器(rgb传感器),深度传感器和rgb传感器拍摄的环境参照物是相同的,且深度传感器和rgb传感器对相同的环境参照物进行拍摄是同步进行的,也就是说,深度传感器和rgb传感器对环境参照物的拍摄的拍摄时间、拍摄距离、拍摄角度等拍摄参数应该相同。彩色图像为基于rgb传感器对环境参照物拍摄得到的图像数据,深度图像为基于深度传感器对环境参照物拍摄得到的图像数据。示例性的,本实施例中的相机可以采用rgb-d相机。
32.在一些实施方式中,在通过相机拍摄环境参照物的过程中,可以控制相机对环境参照物进行连续的拍摄,以获得多帧彩色图像和多帧深度图像,其中,多帧彩色图像和多帧深度图像一一对应。例如,在相机移动的过程中,可以控制相机对环境参照物进行连续的拍摄,以获得多帧彩色图像和多帧深度图像。
33.在一些实施方式中,在获得彩色图像和深度图像的情况下,可以对彩色图像和深度图像在时间和空间上是否对齐进行检测。其中,在检测到彩色图像和深度图像在时间和空间上未对齐时,则可以先对彩色图像和深度图像执行时间对齐和空间对齐,再进行后续输入至slam算法。作为一种可实施的方式,可以检测该相机是否内置对齐功能,若该相机内置有对齐功能,则可以默认该彩色图像和深度图像在时间和空间上已对齐,不再对彩色图像和深度图像在时间和空间上是否对齐进行检测;若该相机未内置有对齐功能,则可以默认需要对彩色图像和深度图像在时间和空间上是否对齐进行检测。
34.步骤s102:提取所述彩色图像中所述环境参照物的特征点,并对所述多帧彩色图像的所述特征点进行重投影,建立所述多帧彩色图像的重投影误差约束。
35.在本实施例中,在获得多帧彩色图像的情况下,则可以对多帧彩色图像中的每帧彩色图像中的环境参照物的特征点进行提取,并对多帧彩色图像的特征点进行重投影,建立多帧彩色图像的重投影误差约束。
36.在一些实施方式中,在获得多帧彩色图像的情况下,则可以对多帧彩色图像中的其中一帧彩色图像进行去畸变矫正,提取该其中一帧彩色图像中的fast角点作为特征点,而后,使用光流跟踪法对多帧彩色图像中的其他彩色图像上的fast角点进行跟踪匹配。其中,由于在获取彩色图像的同时获取了深度图像,因此,彩色图像上的每一个特征点的深度值是可以基于对应的深度图像获得的,从而可以将彩色图像中深度异常或者无深度的特征点(在深度图像上查找其深度值为0的特征点或者超出深度相机量程(大于6m)的特征点)去除,并将剩余的具有良好深度的特征点反投影到空间中,形成三维地图点,将这些三维地图点投影到其他的共视帧上,可以建立多帧彩色图像的重投影误差约束。
37.需要说明的是,在不同视角的彩色图像上,可以看到很多的特征点,这些特征点可以通过光流法匹配起来,也就是说,可以获得不同视角下2d特征点与2d特征点之间的匹配。然后,将2d特征点根据深度信息反投影成3d地图点,便可以形成当前帧的3d特征点与其他
帧的2d特征点之间的匹配。如果确定当前帧与其他帧之间的准确位姿变换关系,则在将当前帧的3d特征点投影到其他帧上时,投影出的2d特征点和匹配的2d特征点位置应该完全重合,但是,实际上由于当前帧和其他帧之间的位姿转换关系不准确,所以在将当前帧的3d特征点投影到其他帧上时,投影出的2d特征点和匹配的2d特征点位置不重合,便形成了重投影误差。其中,可以通过最小化重投影误差的方式,优化位姿变换关系使得位姿变换关系更准确。
38.在一些实施方式中,为了保证slam系统的实时性,可以限制优化规模。例如,可以从多帧彩色图像中选取关键帧彩色图像进行彩色图像之间的约束,以保证优化的速度。又例如,可以通话滑动窗口的方式,从多帧彩色图像中选取窗口内的彩色图像进行彩色图像之间的约束,以保证优化的速度,可选地,可以将滑动窗口的窗口大小设置为10帧,则可以只针对在滑动窗口内的10帧彩色图像进行约束。
39.步骤s103:提取所述深度图像中所述环境参照物的平面特征作为对应的彩色图像中环境参照物的平面特征,并对所述多帧彩色图像的所述平面特征进行匹配,建立所述多帧彩色图像的平面误差约束。
40.其中,步骤s102可以在步骤s103之前执行、可以与步骤s103同时执行、也可以在步骤s103之后执行,在此不做限定。
41.在本实施例中,在获得多帧深度图像的情况下,则可以对多帧深度图像中的每帧深度图像中的环境参照物的平面特征进行提取作为对应的彩色图像中环境参照物的平面特征,并对多帧彩色图像的平面特征进行匹配,建立多帧彩色图像的平面误差约束。其中,可以理解的是,由于存在对应关系的彩色图像和深度图像在时间和空间上是对齐的,因此,在深度图像上采集到的环境参照物的平面特征,也应该和存在对应关系的彩色图像上环境参照物的平面特征一致,即,可以将从深度图像中提取到的环境参照物的平面特征,作为对应的彩色图像中环境参照物的平面特征。
42.在一些实施方式中,在获得多帧深度图像的情况下,则可以对多帧深度图像中的每帧深度图像进行平面拟合,以通过平面拟合的方式,从每帧深度图像中提取出该环境参照物的平面特征作为对应的彩色图像中环境参照物的平面特征,然后,将多帧彩色图像的平面特征进行匹配,可以建立多帧彩色图像的平面误差约束。
43.在一些实施方式中,在获得多帧深度图像的情况下,则将多帧深度图像中的每帧深度图像划分为多个基础图像块,从多个基础图像块中选取一个基础图像块作为目标图像块,并将目标图像块和与其相邻的基础图像块进行融合,获得融合图像块,对融合图像块进行平面拟合,获得平面拟合的平均误差作为第一误差,基于第一误差和误差阈值的关系,对多个基础图像块进行处理,直到多个基础图像块均处理完成的情况下,获取处理获得的深度图像中的环境参照物的平面特征作为对应的彩色图像中环境参照物的平面特征,然后,将多帧彩色图像的平面特征进行匹配,可以建立多帧彩色图像的平面误差约束。
44.在一些实施方式中,对多帧彩色图像的平面特征进行匹配,建立多帧彩色图像的平面误差约束可以包括:对多帧彩色图像中相同的平面特征进行匹配,建立多帧彩色图像的平面误差约束;对多帧彩色图像中平行的平面特征进行匹配,建立多帧彩色图像的平面误差约束;对多帧彩色图像中垂直的平面特征进行匹配,建立多帧彩色图像的平面误差约束;对多帧彩色图像中相同的平面特征和平行的平面特征进行匹配,建立多帧彩色图像的
平面误差约束;对多帧彩色图像中相同的平面特征和垂直的平面特征进行匹配,建立多帧彩色图像的平面误差约束;对多帧彩色图像中平行的平面特征和垂直平面特征进行匹配,建立多帧彩色图像的平面误差约束;对多帧彩色图像中相同的平面特征、平行的平面特征以及垂直的平面特征进行匹配,建立多帧彩色图像的平面误差约束。
45.可以理解的,在平面特征的提取过程中本实施例使用了深度图像,而不依赖彩色图像进行平面特征的提取,这样提取到的平面特征不会受到彩色图像的成像质量的影响,在黑暗、无纹理等环境下,依然能够稳定的提取出有效的平面特征。
46.步骤s104:基于所述重投影误差约束和所述平面误差约束,确定所述相机的位姿。
47.在本实施例中,在获得多帧彩色图像对应的重投影误差约束以及多帧彩色图像对应的平面误差约束的情况下,则可以基于重投影误差约束和平面误差约束,确定该相机的位姿。
48.在一些实施方式中,在获得多帧彩色图像对应的重投影误差约束以及多帧彩色图像对应的平面误差约束的情况下,则可以基于重投影误差约束和平面误差约束,建立多约束误差紧耦合的误差函数,在构建了多约束误差紧耦合的误差函数之后,则可以使用非线性优化方法对该多约束误差紧耦合的误差函数进行优化,求解出最优的图像帧位姿,即该相机的位姿。
49.本技术一实施例提供的相机的位姿确定方法,获取通过相机拍摄环境参照物获得的多帧彩色图像和多帧深度图像,提取彩色图像中的环境参照物的特征点,并对多帧彩色图像的特征点进行重投影,建立多帧彩色图像的重投影误差,提取深度图像中环境参照物的平面特征作为对应的彩色图像中环境参照物的平面特征,并对多帧彩色图像的平面特征进行匹配,建立多帧彩色图像的平面误差约束,基于重投影误差约束和平面误差约束,确定相机的位姿,从而通过深度图像提取平面特征,这样平面提取不会受到彩色图像成像质量的影响,在黑暗,无纹理等环境,依然能够稳定的提出有效的平面特征,定位鲁棒性更强,准确性更高。
50.请参阅图2,图2示出了本技术一实施例提供的相机的位姿确定方法的流程示意图。下面将针对图2所示的流程进行详细的阐述,所述相机的位姿确定方法具体可以包括以下步骤:
51.步骤s201:获取通过相机拍摄环境参照物获得的多帧彩色图像和多帧深度图像。
52.步骤s202:提取所述彩色图像中所述环境参照物的特征点,并对所述多帧彩色图像的所述特征点进行重投影,建立所述多帧彩色图像的重投影误差约束。
53.其中,步骤s201-步骤s202的具体描述请参阅步骤s101-步骤s102,在此不再赘述。
54.步骤s203:将所述深度图像划分为多个基础图像块。
55.在本实施例中,在获得深度图像的情况下,则可以将深度图像划分为多个基础图像块。其中,针对多帧深度图像中的每帧深度图像,均可以采用上述方式将每帧深度图像划分为多个基础图像块,在此不再赘述。
56.在一些实施方式中,可以预先设置并存储有预设尺寸,则在获得深度图像的情况下,可以根据该预设尺寸,将深度图像划分为多个基础图像块。作为一种可实施的方式,该预设尺寸可以包括10*10,基于10*10的尺寸,可以平衡针对深度图像的平面拟合的速度和精度。
57.步骤s204:从所述多个基础图像块中选取一个基础图像块作为目标图像块,并将所述目标图像块和与其相邻的基础图像块进行融合,获得融合图像块。
58.在本实施例中,在将深度图像划分为多个基础图像块的情况下,则可以从多个基础图像块中选取一个基础图像块作为目标图像块,并将该目标图像块和与其相邻的基础图像块进行融合,以及将融合获得的图像块作为融合图像块。
59.在一些实施方式中,可以从多个基础图像块中随机选取一个基础图像块作为目标图像块,可以从多个基础图像块中选取位于最中间的一个基础图像块作为目标图像块,也可以从多个图像块中位于角落的基础图像块中选取一个基础图像块作为目标图像块等,在此不做限定。作为一种可实施的方式,若目标图像块与四个基础图像块相邻,则可以将该目标图像块依次与该四个基础图像块进行融合,获得融合图像块;若目标图像块与两个基础图像块相邻,则可以将该目标图像块依次与该两个基础图像块进行融合,获得融合图像块。
60.在一些实施方式中,可以预先设置并存储有第一预设条件,该第一预设条件可以用于作为基础图像块的判断依据。因此,在本实施例中,在获得多个基础图像块的情况下,则可以从多个基础图像块中过滤满足第一预设条件的基础图像块,保留多个基础图像块中剩余的基础图像块作为待处理图像块,再从多个待处理图像块中选取一个待处理图像块作为目标图像块,并将目标图像块和与其相邻的待处理图像块进行融合,以及将融合获得的图像块作为融合图像块。
61.其中,该第一预设条件可以为表征图像块为不合格的图像块的条件。因此,在基础图像块满足第一预设条件的情况下,则可以认为该基础图像块为不合格的图像块,则可以从多个基础图像块中过滤掉该基础图像块;在基础图像块不满足第一预设条件的情况下,则可以认为该基础图像块为合格的图像块,则可以从多个基础图像块中保留该基础图像块作为待处理图像块。
62.作为一种方式,该第一预设条件可以包括存在含有无效深度信息的像素点。即,在获得多个基础图像块的情况下,针对多个基础图像块中的每个基础图像块,对基础图像块中包含的每个像素点的深度信息进行检测,以判断基础图像块中是否存在含有无效深度信息的像素点。其中,在确定基础图像块中存在含有无效深度信息的像素点的情况下,则可以确定该基础图像块满足第一预设条件,则可以在多个基础图像块中过滤掉该基础图像块。其中,含有无效深度信息的像素点是指深度值为0的像素点或者超出深度相机量程的像素点。基于上述方式,可以筛选出具有良好深度信息的基础图像块参与后续的图像融合,提升图像融合的效果。
63.作为又一种方式,该第一预设条件可以包括存在深度信息突变的相邻像素点。即,在获得多个基础图像块的情况下,针对多个基础图像块中的每个基础图像块,对基础图像块中包含的每个像素点的深度信息进行检测,以判断相邻的像素点的深度信息是否存在突变。其中,在确定基础图像块中存在深度信息突变的相邻像素点的情况下,则可以确定该基础图像块满足第一预设条件,则可以在多个基础图像块中过滤掉该基础图像块。其中,深度信息突变的相邻像素点是指深度信息的差值大于预设差值。其中,可以理解的是,同一平面的像素点的深度信息一般相同或者差值很小,若基础图像块中存在深度信息突变的相邻像素点,则表征该基础图像块包含的像素点不属于同一平面,则可以将该基础图像块过滤掉,从而筛选出包含的像素点属于同一平面的基础图像块参与后续的图像融合,提升图像融合
的效果。
64.作为再一种方式,该第一预设条件可以包括平面拟合的平均误差大于误差阈值。即,在获得多个基础图像块的情况下,针对多个基础图像块中的每个基础图像块,在基础图像块的块内进行平面拟合获得该平面拟合的平均误差,然后,将该平均误差与预先设置的误差阈值进行比较,以判断该平均误差是否大于该误差阈值。其中,在确定基础图像块进行平面拟合的平均误差大于误差阈值的情况下,则可以确定该基础图像块满足第一预设条件,则可以在多个基础图像块中过滤掉该基础图像块。其中,在基础图像块的块内进行平面拟合,会拟合出代表平面模型的平面参数n(法向量)和d(距离),然后,将基础图像块中的每个像素点对应的3d空间点p带入平面模型np d=0,其结果与0的偏差程度即反应平面拟合的好坏,对所有的误差求平均,可以获得平面拟合的平均误差。其中,可以理解的是,若基础图像块上的多数像素点都属于不同平面,则该平面拟合的平均误差大于该误差阈值,则表征该基础图像块包含的像素点不属于同一平面,则可以将该基础图像块过滤掉,从而筛选出包含的像素点基本属于同一平面的基础图像块参与后续的图像融合,提升图像融合的效果。
65.在一些实施方式中,在获得多个基础图像块的情况下,则可以从多个基础图像块中选取一个基础图像块作为目标图像块,并获取该目标图像块的法向量和与其相邻的基础图像块的法向量之间的夹角,在夹角小于夹角阈值的情况下,将目标图像块和与其相邻的基础图像块进行融合,以及将融合获得的图像块作为融合图像块。从而通过二段式的平面匹配方法,先使用法向量方向对不同视角下的平面进行初步验证,再进行后续的误差验证,可以实现更加快速的平面特征的匹配。
66.作为一种可实施的方式,可以预先设置并存储夹角阈值,该夹角阈值用于作为相邻基础图像块的法向量之间的夹角的判断依据。因此,在本实施例中,在获得多个基础图像块的情况下,则可以从多个基础图像块中选取一个基础图像块作为目标图像块,以及确定和目标图像块相邻的基础图像块。然后,对目标图像块进行块内的平面拟合,以拟合出该目标图像块的法向量,以及分别对和目标图像块相邻的基础图像块进行块内的平面拟合,以分别拟合出和目标图像块相邻的基础图像块的法向量,在获得目标图像块的法向量和与目标图像块相邻的基础图像块的法向量的情况下,则可以计算目标图像块的法向量和与其相邻的基础图像块的法向量之间的夹角。之后,在该夹角与夹角阈值进行比较,以判断该夹角是否小于夹角阈值,其中,在确定该夹角小于夹角阈值的情况下,表征目标图像块的法向量和与目标图像块相邻的基础图像块的法向量相差不大,则可以将目标图像块和与其相邻的基础图像块进行融合,在确定该夹角大于或等于夹角阈值的情况下,表征目标图像块的法向量和与目标图像块相邻的基础图像块的法向量相差较大,则可以不将目标图像块和与其相邻的基础图像块进行融合。
67.步骤s205:对所述融合图像块进行平面拟合,获得平面拟合的平均误差作为第一误差。
68.在本实施例中,在获得融合图像块的情况下,则可以对该融合图像块进行平面拟合,获得平面拟合的平均误差作为第一误差。在一些实施方式中,在获得融合图像块的情况下,则可以在融合图像块内进行平面拟合,会拟合出代表平面模型的平面参数n(法向量)和d(距离),然后,将融合图像块中的每个像素点对应的3d空间点p带入平面模型np d=0,其
结果与0的偏差程度即反应平面拟合的好坏,对所有的误差求平均,可以获得平面拟合的平均误差作为第一误差。
69.步骤s206:基于所述第一误差与误差阈值的关系,对所述多个基础图像块进行处理,直到所述多个基础图像块均处理完成的情况下,获取处理获得的所述深度图像中所述环境参照物的平面特征。
70.在一些实施方式,可以预先设置并存储有误差阈值,该误差阈值用于作为融合图像块的平面拟合的平均误差的判断依据。因此,在本实施例中,在获得第一误差的情况下,可以将第一误差与误差阈值进行对比,以获得该第一误差与误差阈值之间的关系,在获得第一误差与误差阈值之间的关系的情况下,则可以基于该第一误差与误差阈值的关系,对多个基础图像块进行处理,直到该多个基础图像块均处理完成的情况下,获取处理获得的深度图像中环境参照物的平面特征。
71.作为一种可实施的方式,第一误差与误差阈值之间的关系可以包括第一误差小于误差阈值,或者,第一误差大于或等于误差阈值,对多个基础图像块进行处理可以包括第一处理方式和第二处理方式。那么,在第一误差小于误差阈值的情况下,则可以通过第一处理方式对多个基础图像块进行处理,直到该多个基础图像块均处理完成的情况下,获取处理获得的深度图像中环境参照物的平面特征。在第一误差大于或等于误差阈值的情况下,则可以通过第二处理方式对多个基础图像块进行处理,直到该多个基础图像块均处理完成的情况下,获取处理获得的深度图像中环境参照物的平面特征。
72.在一些实施方式中,在第一误差小于误差阈值的情况下,将融合图像块作为目标图像块,并重复将目标图像块和与其相邻的基础图像块进行融合的步骤,直到多个基础图像块均进行过融合时,将融合获得的图像块确定为深度图像中环境参照物的平面特征。
73.其中,在第一误差小于误差阈值的情况下,可以认为目标图像块和与其相邻的基础图像块融合成功,即融合获得的融合图像块属于一个平面特征,此时,可以将融合图像块和与其相邻的基础图像块进行融合。如果再次融合获得的图像块的平面拟合的误差小于误差阈值,表征再次融合获得的图像块属于一个平面特征,则再将再次融合获得的图像块和与其相邻的基础图像块进行融合,以此类推,直到多个基础图像块均进行过融合时,便确定完成了深度图像中的平面分割。如果再次融合获得的图像块的平面拟合的误差大于或等于误差阈值,表征再次融合获得的图像块不属于一个平面特征,则将融合图像块确定为环境参照物的一个平面特征,并从剩下的基础图像块中重新选取目标图像块,重复上述步骤,以获得环境参照物的其他平面特征,直到多个基础图像块均进行过融合时,便确定完成了深度图像中的平面分割。
74.在一些实施方式中,在第一误差大于或等于误差阈值的情况下,从多个基础图像块中重新选取一个基础图像块作为目标图像块,并重复将目标图像块和与其相邻的基础图像块进行融合的步骤,直到多个基础图像块均进行过融合时,将融合获得的图像块确定为深度图像中该环境参照物的平面特征。
75.其中,在第一误差大于或等于误差阈值的情况下,可以认为目标图像块和与其相邻的基础图像块融合不成功(失败),即融合获得的融合图像不属于一个平面特征,此时,可以将该目标图像块确定为环境参照物的一个平面特征,并从剩下的基础图像块中重新选取目标图像块,重复上述步骤,以获得环境参照物的其他平面特征,直到多个基础图像块均进
行过融合时,便确定完成了深度图像中的平面分割。
76.基于此,本实施例在平面特征提取算法中,采用了分块拟合平面,再不断向邻域进行搜索的方式,这种方式避免了很多个像素点一起拟合平面,可以提高平面拟合的速度。
77.请参阅图3,图3示出了本技术实施例提供的深度图像的示意图。如图3所示,将深度图像划分为基础图像块a1、基础图像块a2、基础图像块a3、基础图像块a4、基础图像块a5、基础图像块a6、基础图像块a7、基础图像块a8、基础图像块a9、基础图像块a10、基础图像块a11、基础图像块a12、基础图像块a13、基础图像块a14、基础图像块a15以及基础图像块a16共16个基础图像块。
78.若从基础图像块a1~a16中选取基础图像块a7作为目标图像块,则可以将基础图像块a7和与其相邻的基础图像块a3、基础图像块a6、基础图像块a8、基础图像块a11进行融合。如果融合获得的融合图像块进行平面拟合的平均误差小于误差阈值,则可以再将融合图像块和与其相邻的基础图像块a2、基础图像块a4、基础图像块a5、基础图像块a10、基础图像块a12、基础图像块a15进行融合,以此类推。如果融合获得的融合图像块进行平面拟合的平均误差大于或等于误差阈值,则可以从除基础图像块a7外的其他基础图像块中重新选取目标图像块,例如,若选取基础图像块a16作为目标图像块,则可以将基础图像块a16和与其相邻的基础图像块a12和基础图像块a15进行融合,以此类推。通过上述方式,在16个基础图像块均进行过融合的情况下,可以根据融合判断的结果完成深度图像中的平面分割。
79.其中,在完成深度图像中的平面分割后,可能会获得该深度图像中环境参照物的多个初始平面特征,则为了提升所确定的相机的位姿精度以及降低过程损耗,则可以对多个初始平面特征进行筛选,保证了筛选出的平面特征的面积较大,误差较小,最终,本实施例可以快速提取出相对精准的平面特征,以提升后续算法的处理精度。在一些实施方式中,可以获取处理获得的深度图像中环境参照物的多个初始平面特征,然后从多个初始平面特征中过滤满足第二预设条件的初始平面特征,获得更加优良的平面特征作为深度图像中环境参照物的平面特征。
80.作为一种可实施的方式,可以预先设置并存储有第二预设条件,该第二预设条件可以用于作为初始平面特征的判断依据。因此,在本实施例中,在获得该深度图像中环境参照物的多个初始平面特征的情况下,则可以从多个初始平面特征中过滤满足第二预设条件的初始平面特征,保留多个初始平面特征中剩余的初始平面特征作为深度图像中环境参照物的平面特征。
81.其中,该第二预设条件可以为表征平面特征为不合格的平面特征的条件。因此,在初始平面特征满足第二预设条件的情况下,则可以认为该初始平面特征块为不合格的平面特征,则可以从多个初始平面特征中过滤掉该初始平面特征;在初始平面特征不满足第二预设条件的情况下,则可以认为该初始平面特征为合格的平面特征,则可以从多个初始平面特征中保留该初始平面特征作为深度图像中环境参照物的平面特征。
82.作为一种方式,该第二预设条件可以包括:包含的像素点的数量小于数量阈值。即,在获得多个初始平面特征的情况下,针对多个初始平面特征的每个初始平面特征,对初始平面特征中包含的像素点的数量进行检测,以判断初始平面特征中包含的像素点的数量是否小于数量阈值。其中,在确定初始平面特征中包含的像素点的数量小于数量阈值的情况下,可以认为该初始平面特征的面积过小,不稳定,对于后续的算法没有帮助,则可以确
定该初始平面特征满足第二预设条件,则可以在多个初始平面特征中过滤掉该初始平面特征。其中,该数量阈值例如可以包括10000。
83.作为又一种方式,该第二预设条件可以包括:包含的像素点到对应的初始平面特征的平均距离大于距离阈值。即,在获得多个初始平面特征的情况下,针对多个初始平面特征的每个初始平面特征,对初始平面特征中包含的像素点各自到对应的初始平面特征的距离进行检测,在检测到初始平面特征中包含的像素点各自到对应的初始平面特征的距离的情况下,基于初始平面特征中包含的像素点各自到对应的初始平面特征的距离,计算初始平面特征中包含的像素点到对应的初始平面特征的平均距离,将该平均距离与距离阈值进行比较,以判断该平均距离是否大于距离阈值,其中,在确定平均距离大于距离阈值的情况下,可以认为这些像素点可能不属于一个平面特征,则可以确定该初始平面特征满足第二预设条件,则可以在多个初始平面特征中过滤掉该初始平面特征。其中,该距离阈值例如可以包括0.01m。
84.在一些实施方式中,可以对初始平面特征所包含的像素点进行下采样,在9*9的邻域内只保留一个像素点,以通过减少像素点的方式减少判断量然后,统计这些下采样后保留的像素点到对应的初始平面特征的平均距离,在确定平均距离大于距离阈值的情况下,可以认为这些像素点可能不属于一个平面特征,则可以确定该初始平面特征满足第二预设条件,则可以在多个初始平面特征中过滤掉该初始平面特征。其中,经过下采样后保留的像素点可以为位于中间位置的像素点。
85.基于上述方式,可以提取出满足精度条件的平面特征供slam系统优化使用,同时,平面特征检测的速度经过测算,也符合slam系统实时性的要求,可达到30帧/s。对于平面特征检测的最终结果,可以保存所检测出的平面参数,以及属于该平面特征的所有像素点集合。平面参数模型为:ax by cz d=0,其中向量(a,b,c)为平面法向量,其模长为1,d为原点到该平面的距离,向量(x,y,z)为平面上的点。
86.步骤s207:获取位于所述平面特征的边缘位置的像素点。
87.其中,在分割获得平面特征的情况下,针对获得的平面特征的边缘附近的像素点(例如边缘点的10*10邻域),不再使用图像块来进行平面融合,而是可以逐像素点验证其平面拟合误差,如果平面拟合误差小于误差阈值,则判定该像素点属于该平面特征,通过这种方式,可以实现对分割的平面特征的边缘进行细化。
88.在本实施例中,在获得平面特征的情况下,则可以获取位于该平面特征的边缘位置的像素点。例如,可以获取位于该平面特征的边缘点的10*10邻域内的像素点。
89.步骤s208:对所述像素点与平面特征进行平面拟合,获得平面拟合的误差作为第二误差。
90.在本实施例中,在获得像素点的情况下,则可以对像素点与平面特征进行平面拟合,以获得该像素点对应的平面拟合的误差,并将该像素点对应的平面拟合的误差作为第二误差。
91.步骤s209:在所述第二误差小于所述误差阈值的情况下,确定所述像素点属于所述平面特征。
92.在一些实施方式中,预先设置并存储的误差阈值还可以用于作为像素点与平面特征之间的平面拟合的误差的判断依据。因此,在本实施例中,在获得第二误差的情况下,可
以将第二误差与误差阈值进行对比,以判断该第二误差是否小于误差阈值。其中,在确定第二误差小于误差阈值的情况下,则可以确定该像素点属于该平面特征,在确定第二误差大于或等于误差阈值的情况下,则可以确定该像素点不属于该平面特征。
93.步骤s210:对所述多帧彩色图像的所述平面特征进行匹配,建立所述多帧彩色图像的平面误差约束。
94.步骤s211:基于所述重投影误差约束和所述平面误差约束,确定所述相机的位姿。
95.其中,步骤s210-步骤s211的具体描述请参阅步骤s103-步骤s104,在此不再赘述。
96.本技术一实施例提供的相机的位姿确定方法,相较于图1所示的相机的位姿确定方法,本实施例还采用分块拟合平面,再不断向领域进行搜索的方式,这种方式避免了多个像素点一起拟合平面,可以提高平面拟合的速度。同时,本实施例还设置了精细化的平面边缘细化处理,使得提取出来的平面边缘更加准确。
97.请参阅图4,图4示出了本技术一实施例提供的相机的位姿确定方法的流程示意图。下面将针对图4所示的流程进行详细的阐述,所述相机的位姿确定方法具体可以包括以下步骤:
98.步骤s301:获取通过相机拍摄环境参照物获得的多帧彩色图像和多帧深度图像。
99.步骤s302:提取所述彩色图像中所述环境参照物的特征点,并对所述多帧彩色图像的所述特征点进行重投影,建立所述多帧彩色图像的重投影误差约束。
100.步骤s303:提取所述深度图像中所述环境参照物的平面特征作为对应的彩色图像中所述环境参照物的平面特征。
101.其中,步骤s301-步骤s303的具体描述请参阅步骤s101-步骤s103,在此不再赘述。
102.步骤s304:获取所述多帧彩色图像之间相同的平面特征。
103.在本实施例中,在获得多帧彩色图像中各自包括的平面特征的情况下,则可以对多帧彩色图像中各自包括的平面特征进行匹配,以获取多帧彩色图像之间相同的平面特征。
104.在一些实施方式中,以多帧彩色图像包括第一帧彩色图像和第二帧彩色图像为例,假设第一帧彩色图像包括第一平面特征,且第二帧彩色图像包括第二平面特征。那么,可以基于第一帧彩色图像和第二针彩色图像之间的位姿转换关系,将第一平面特征的法向量从第一坐标系转换至第二坐标系,其中,该第一坐标系与第一帧彩色图像对应,第二坐标系与第二帧彩色图像对应,在第一平面特征的法向量与第二平面特征的法向量在第二坐标系下的夹角小于角度阈值的情况下,基于第一帧彩色图像和第二帧彩色图像之间的位姿转换关系,将第一平面特征的像素点从第一坐标系转换至第二坐标系,在第一平面特征的像素点和第二平面特征的像素点在第二坐标系下的平均距离小于距离误差阈值的情况下,则可以确定第一平面特征和第二平面特征为相同的平面特征。
105.请参阅图5,图5示出了本技术实施例提供的两帧彩色图像的对比示意图。如图5所示,假设两帧彩色图像包括第一帧彩色图像i1和第二帧彩色图像i2,且第一帧彩色图像i1和第二帧彩色图像i2之间的旋转变换关系为r
ji
,平移变换关系为t
ji
,第一帧彩色图像i1上包含第一平面特征pl1,其平面参数为(a1,b1,c1,d1),其中向量n1(a1,b1,c1)为第一平面特征的法向量,d1为原点到第一平面特征的距离;第二帧彩色图像i2上包含第二平面特征pl2,其平面参数为(a2,b2,c2,d2),其中向量n2(a2,b2,c2)为第二平面特征的法向量,d2为原点到第二
平面特征的距离。
106.基于此,可以将第一平面特征pl1的法向量n1通过第一帧彩色图像i1和第二帧彩色图i2之间的位姿转换关系,从第一帧彩色图像i1对应的第一坐标系转换至第二帧彩色图i2对应的第二坐标系下,记为n'2。
107.n'2=r
ji
*n1108.之后,判断n'2和n2之间的夹角是否小于角度阈值,其中,该角度阈值可以包括5
°
。其中,如果n'2和n2之间的夹角的绝对值大于或等于该角度阈值,则认为该第一平面特征pl1和第二平面特征pl2一定不属于相同的平面特征,则可以不再执行下一步操作。其中,夹角θ的计算公式如下,其中,
·
代表向量的点乘运算:
[0109][0110]
其中,如果n'2和n2之间的夹角的绝对值小于该角度阈值,进一步判断,则可以将第一平面特征pl1的像素点通过第一帧彩色图像i1和第二帧彩色图i2之间的位姿转换关系,从第一帧彩色图像i1对应的第一坐标系转换至第二帧彩色图像i2对应的第二坐标系下,并计算该第一平面特征的像素点和第二平面特征的像素点在第二坐标系下的平均距离误差,如果平均距离误差小于距离误差阈值,则可以认为该第一平面特征pl1和第二平面特征pl2为相同的平面特征。其中,该距离误差阈值例如可以包括0.01m。其中,平均误差err
ave
的表达式如下所示,其中,pi为第一平面特征pl1上的一个像素点,pi为其对应的三维空间点,s为根据深度图像查找到的像素点的深度值,k为相机的内参矩阵,
·
代表向量的点乘运算:
[0111]
pi=s*k-1
pi[0112][0113]
步骤s305:对所述多帧彩色图像之间相同的平面特征进行匹配,建立所述多帧彩色图像的同平面误差约束,作为所述多帧彩色图像的平面误差约束。
[0114]
在一些实施方式中,在获得多帧彩色图像之间相同的平面特征的情况下,则可以对多帧彩色图像之间相同的平面特征进行匹配,以建立多帧彩色图像的同平面误差约束,并将所建立的多帧彩色图像的同平面误差约束作为多帧彩色图像的平面误差约束。
[0115]
请继续参阅图5,假设两帧彩色图像包括第一帧彩色图像i1和第二帧彩色图i2,第一帧彩色图像i1上包含第一平面特征pl1,其平面参数为(a1,b1,c1,d1),其中向量n1(a1,b1,c1)为第一平面特征的法向量,d1为原点到第一平面特征的距离;第二帧彩色图像i2上包含第二平面特征pl2,其平面参数为(a2,b2,c2,d2),其中向量n2(a2,b2,c2)为第二平面特征的法向量,d2为原点到第二平面特征的距离,第一帧彩色图像i1到世界坐标系下的旋转变换为r
w1
,平移变换为t
w1
,第二帧彩色图像i2到世界坐标系下的旋转变换为r
w2
,平移变换为t
w2

[0116]
同平面误差约束是将第一帧彩色图像i1对应的第一坐标下的第一平面特征pl1的平面参数,经过位姿变换,转换至第二帧彩色图像i2对应的第二坐标下,与第二平面特征pl2的平面参数相比较,形成误差约束,以优化旋转变换r
w1
,平移变换t
w1
,旋转变换r
w2
,平移变换t
w2
。其中,误差表达式如下:
[0127]
步骤s3053:对所述多帧彩色图像之间垂直的平面特征进行匹配,建立所述多帧彩色图像的垂直平面误差约束。
[0128]
在一些实施方式中,在获得多帧彩色图像之间垂直的平面特征的情况下,则可以对多帧彩色图像之间垂直的平面特征进行匹配,以建立多帧彩色图像的垂直平面误差约束。
[0129]
请继续参阅图5,其中,垂直的平面特征相比于相同的平面特征,缺少了距原点距离的约束项,因此,可以只建立法向量之间的约束项,用于优化图像帧的旋转关系。具体过程如下,假设两帧彩色图像包括第一帧彩色图像i1和第二帧彩色图像i2,第一帧彩色图像i1上包含第一平面特征pl1,向量n1(a1,b1,c1)为第一平面特征的法向量;第二帧彩色图像i2上包含第二平面特征pl2,向量n2(a2,b2,c2)为第二平面特征的法向量,第一帧彩色图像i1到世界坐标系下的旋转变换为r
w1
,第二帧彩色图像i2到世界坐标系下的旋转变换为r
w2
。基于此,垂直的平面特征的垂直平面误差约束为将第一帧彩色图像i1对应的第一坐标下的第一平面特征pl1的法向量,经过位姿变换,转换至第二帧彩色图像i2对应的第二坐标下,与第二平面特征pl2的法向量相比较,形成误差约束,以优化旋转变换r
w1
,旋转变换r
w2
。由于第一平面特征pl1和第二平面特征pl2为垂直关系,法向量夹角理想情况应该为90
°
,cos90=0。其中,误差表达式如下:
[0130]
e3=n2·
(r
w2-1
*r
w1
)*n1[0131]
步骤s3054:基于所述多帧彩色图像的同平面误差约束,所述多帧彩色图像的平行平面误差约束,以及所述多帧彩色图像的垂直平面误差约束,获得所述多帧彩色图像的平面误差约束。
[0132]
在一些实施方式中,在获得多帧彩色图像的同平面误差约束、多帧彩色图像的平行平面误差约束,以及多帧彩色图像的垂直平面误差约束的情况下,则可以基于多帧彩色图像的同平面误差约束,多帧彩色图像的平行平面误差约束,以及多帧彩色图像的垂直平面误差约束,以获得该多帧彩色图像的平面误差约束。
[0133]
在一些实施方式中,在获得同平面误差约束平行平面误差约束平行平面误差约束垂直平面误差约束则可以获得该多帧彩色图像的平面误差约束如下:
[0134][0135]
步骤s306:基于所述重投影误差约束和所述平面误差约束,确定所述相机的位姿。
[0136]
其中,重投影误差约束可以为那么基于重投影误差约束和平面误差约束可以获得总体误差约束如下:
[0137][0138]
其中,在构建了slam系统的总体误差约束之后,便可以使用非线性优化方法对其进行优化,求解出最优的相机的位姿。
[0139]
本技术一实施例提供的相机的位姿确定方法,相较于图1所示的相机的位姿确定方法,本实施例还在平面特征匹配阶段,使用了两段式方法,先判断待匹配的特征的法向量夹角是否满足阈值要求,如果不满足,就不需要再进行后续的平均距离验证,这样通过预筛
选可以有效节省平面匹配的运算时间。另外,本实施例不仅设计了不同视角下同一平面的匹配方案,还设计了不同视角下相互平行于相互垂直皮面的匹配,充分的利用了运行环境中的几何信息。
[0140]
请参阅图7,图7示出了本技术实施例提供的相机的位姿确定装置的模块框图。下面将针对图7所示的框图进行阐述,所述相机的位姿确定装置200包括:图像获取模块210、重投影误差约束建立模块220、平面误差约束建立模块230以及相机位姿确定模块240,其中:
[0141]
图像获取模块210,用于获取通过相机拍摄环境参照物获得的多帧彩色图像和多帧深度图像。
[0142]
重投影误差约束建立模块220,用于提取所述彩色图像中所述环境参照物的特征点,并对所述多帧彩色图像的所述特征点进行重投影,建立所述多帧彩色图像的重投影误差约束。
[0143]
平面误差约束建立模块230,用于提取所述深度图像中所述环境参照物的平面特征作为对应的彩色图像中所述环境参照物的平面特征,并对所述多帧彩色图像的所述平面特征进行匹配,建立所述多帧彩色图像的平面误差约束。
[0144]
进一步地,所述平面误差约束建立模块230包括:深度图像划分子模块、图像融合子模块、第一误差获得子模块以及平面特征获取子模块,其中:
[0145]
深度图像划分子模块,用于将所述深度图像划分为多个基础图像块。
[0146]
图像融合子模块,用于从所述多个基础图像块中选取一个基础图像块作为目标图像块,并将所述目标图像块和与其相邻的基础图像块进行融合,获得融合图像块。
[0147]
进一步地,所述图像融合子模块包括:图像块过滤单元和第一图像融合单元,其中:
[0148]
图像块过滤单元,用于从所述多个基础图像块中过滤满足第一预设条件的基础图像块,获得多个待处理图像块。
[0149]
第一图像融合单元,用于从所述多个待处理图像块中选取一个待处理图像块作为目标图像块,并将所述目标图像块和与其相邻的待处理图像块进行融合,获得融合图像块。
[0150]
进一步地,所述图像融合子模块包括:夹角获取单元和第二图像融合单元,其中:
[0151]
夹角获取单元,用于从所述多个基础图像块中选取一个基础图像块作为目标图像块,并获取所述目标图像块的法向量和与其相邻的基础图像块的法向量之间的夹角。
[0152]
第二图像融合单元,用于在所述夹角小于夹角阈值的情况下,将所述目标图像块和与其相邻的基础图像块进行融合,获得融合图像块。
[0153]
第一误差获得子模块,用于对所述融合图像块进行平面拟合,获得平面拟合的平均误差作为第一误差;
[0154]
平面特征获取子模块,用于基于所述第一误差与误差阈值的关系,对所述多个基础图像块进行处理,直到所述多个基础图像块均处理完成的情况下,获取处理获得的所述深度图像中所述环境参照物的平面特征。
[0155]
进一步地,所述平面特征获取子模块包括:第一平面特征获取单元和第二平面特征获取单元,其中:
[0156]
第一平面特征获取单元,用于在所述第一误差小于误差阈值的情况下,将所述融
合图像块作为目标图像块,并重复将所述目标图像块和与其相邻的基础图像块进行融合的步骤,直到所述多个基础图像块均进行过融合时,将融合获得的图像块确定为所述深度图像中所述环境参照物的平面特征。
[0157]
第二平面特征获取单元,用于在所述第一误差大于或等于误差阈值的情况下,从所述多个基础图像块中重新选取一个基础图像块作为目标图像块,并重复将所述目标图像块和与其相邻的基础图像块进行融合的步骤,直到所述多个基础图像块均进行过融合时,将融合获得的图像块确定为所述深度图像中所述环境参照物的平面特征。
[0158]
进一步地,所述平面特征获取子模块包括:初始平面特征获取单元和第三平面特征获取单元,其中:
[0159]
初始平面特征获取单元,用于获取处理获得的所述深度图像中所述环境参照物的多个初始平面特征。
[0160]
第三平面特征获取单元,用于从所述多个初始平面特征中过滤满足第二预设条件的初始平面特征,获得所述深度图像中所述环境参照物的平面特征。
[0161]
进一步地,所述平面误差约束建立模块230包括:像素点获取子模块、第二误差获得子模块以及第一平面误差约束建立子模块,其中:
[0162]
像素点获取子模块,用于获取位于所述平面特征的边缘位置的像素点。
[0163]
第二误差获得子模块,用于对所述像素点与平面特征进行平面拟合,获得平面拟合的误差作为第二误差。
[0164]
第一平面误差约束建立子模块,用于在所述第二误差小于所述误差阈值的情况下,确定所述像素点属于所述平面特征。
[0165]
进一步地,所述平面误差约束建立模块230包括:平面特征获取子模块和第二平面误差约束建立子模块,其中:
[0166]
平面特征获取子模块,用于获取所述多帧彩色图像之间相同的平面特征。
[0167]
第二平面误差约束建立子模块,用于对所述多帧彩色图像之间相同的平面特征进行匹配,建立所述多帧彩色图像的同平面误差约束,作为所述多帧彩色图像的平面误差约束。
[0168]
进一步地,所述第二平面误差约束建立子模块包括:第四平面特征获取单元、第三平面误差约束建立单元、第四平面误差约束建立单元以及第五平面误差约束建立单元,其中:
[0169]
第四平面特征获取单元,用于获取所述多帧彩色图像之间平行的平面特征,并获取所述多帧彩色图像之间垂直的平面特征。
[0170]
第三平面误差约束建立单元,对所述多帧彩色图像之间平行的平面特征进行匹配,建立所述多帧彩色图像的平行平面误差约束。
[0171]
第四平面误差约束建立单元,对所述多帧彩色图像之间垂直的平面特征进行匹配,建立所述多帧彩色图像的垂直平面误差约束。
[0172]
第五平面误差约束建立单元,用于基于所述多帧彩色图像的同平面误差约束,所述多帧彩色图像的平行平面误差约束,以及所述多帧彩色图像的垂直平面误差约束,获得所述多帧彩色图像的平面误差约束。
[0173]
进一步地,所述多帧彩色图像包括第一帧彩色图像和第二帧彩色图像,所述第一
帧彩色图像包括第一平面特征,所述第二帧彩色图像包括第二平面特征,所述平面误差约束建立模块230包括:法向量转换子模块、像素点转换子模块以及平面特征确定子模块,其中:
[0174]
法向量转换子模块,用于基于所述第一帧彩色图像和所述第二帧彩色图像之间的位姿转换关系,将所述第一平面特征的法向量从第一坐标系转换至第二坐标系,其中,所述第一坐标系与所述第一帧彩色图像对应,所述第二坐标系与所述第二帧彩色图像对应。
[0175]
像素点转换子模块,用于在所述第一平面特征的法向量与所述第二平面特征的法向量在所述第二坐标系下的夹角小于角度阈值的情况下,基于第一帧彩色图像和所述第二帧彩色图像之间的位姿转换关系,将所述第一平面特征的像素点从所述第一坐标系转换至所述第二坐标系。
[0176]
平面特征确定子模块,用于在所述第一平面特征的像素点和所述第二平面特征的像素点在所述第二坐标系下的平均距离误差小于距离误差阈值的情况下,确定所述第一平面特征和所述第二平面特征为相同的平面特征。
[0177]
相机位姿确定模块240,用于基于所述重投影误差约束和所述平面误差约束,确定所述相机的位姿。
[0178]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0179]
在本技术所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
[0180]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0181]
请参阅图8,其示出了本技术实施例提供的一种电子设备100的结构框图。该电子设备100可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本技术中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
[0182]
其中,处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器110可集成中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责待显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
[0183]
存储器120可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存
储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
[0184]
请参阅图9,其示出了本技术实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质300中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
[0185]
计算机可读存储介质300可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质300包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质300具有执行上述方法中的任何方法步骤的程序代码310的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码310可以例如以适当形式进行压缩。
[0186]
综上所述,本技术实施例提供的相机的位姿确定方法、装置、电子设备以及存储介质,获取通过相机拍摄环境参照物获得的多帧彩色图像和多帧深度图像,提取彩色图像中的环境参照物的特征点,并对多帧彩色图像的特征点进行重投影,建立多帧彩色图像的重投影误差,提取深度图像中环境参照物的平面特征作为对应的彩色图像中环境参照物的平面特征,并对多帧深度图像的平面特征进行匹配,建立多帧彩色图像的平面误差约束,基于重投影误差约束和平面误差约束,确定相机的位姿,从而通过深度图像提取平面特征,这样平面提取不会受到彩色图像成像质量的影响,在黑暗,无纹理等环境,依然能够稳定的提出有效的平面特征,定位鲁棒性更强,准确性更高。
[0187]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献