异构双目SLAM方法、装置及电子设备与流程

文档序号:20607788发布日期:2020-05-01 22:15阅读:480来源:国知局
异构双目SLAM方法、装置及电子设备与流程

本申请涉及同时定位和地图构建(slam)技术领域,且更具体地,本申请涉及一种异构双目slam方法、异构双目slam装置及电子设备。



背景技术:

目前的双目slam系统采用同构相机来拍摄图像或视频。然而,这种同构双目slam系统由于采用同构相机而使得同构双目slam系统在检测场景的深度方面受到限制。

因此,需要改进的双目slam方案。



技术实现要素:

为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种异构双目slam方法、异构双目slam装置、电子设备和非暂时性存储介质,其可以实现针对场景的不同深度进行处理。

根据本申请的一个方面,提供一种异构双目slam方法,所述异构双目slam包括:针对第一单目相机和第二单目相机分别构建第一单目slam和第二单目slam,其中所述第一单目相机和所述第二单目相机是异构相机,并且组成异构双目相机;利用位于所述第一单目相机和所述第二单目相机的共同视野内的特征点矫正所述第一单目slam和所述第二单目slam的尺度;以及对矫正后的所述第一单目slam和所述第二单目slam进行数据融合,构建双目slam。

根据本申请的另一方面,提供一种异构双目slam装置,包括:单目slam构建模块,用于对第一单目相机和第二单目相机分别构建第一单目slam和第二单目slam;单目slam矫正模块,用于利用所述第一单目相机和所述第二单目相机的共同视野内的特征点分别矫正所述第一单目slam和第二单目slam;以及双目slam构建模块,用于利用矫正后的所述第一单目slam和所述第二单目slam构建双目slam。

根据本发明的又一方面,提供一种电子设备,包括:处理器;以及存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行上述的异构双目slam方法。

根据本申请的又一方面,提供一种非暂时性存储介质,其上存储有用于执行上述的异构双目slam方法的指令。

与现有技术的同构双目slam相比,本发明的技术方案实现了诸多有益的技术效果。例如,通过采用不同构的双目相机,并利用异构双目相机中的第一单目相机和第二单目相机的共同视野内的特征点来矫正第一单目slam和第二单目slam的尺度,本发明更精确地构建双目slam,并获得更宽的视角和更深的景深,能够检测位于不同景深的物项,提高了双目slam的精确度和准确度。

附图说明

通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1图示了根据本申请一实施例的异构双目slam方法的流程图。

图2图示了双目视觉的场景示意图。

图3图示了根据本申请一实施例的异构双目slam装置的功能框图。

图4图示了根据本申请一实施例的电子设备的结构框图。

具体实施方式

下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。

申请概述

如上所述,目前的双目slam系统采用同构相机来拍摄图像或视频。但是,在机动车自动驾驶辅助系统或无人机导航系统中,常常需要对位于距相机不同距离的物项进行检测,而传统同构双目相机无法满足这一要求。因此,通过采用视角不同的异构相机,可以拍摄不同景深的图像,从而检测距相机不同距离的物项。

针对该技术问题,本申请的基本构思是提出一种异构双目slam方法、异构双目slam装置和电子设备,其可以通过采用视角不同的异构相机获取图像视频,并利用位于异构相机的共同视野内的共视点的世界坐标系三维坐标矫正针对异构相机各自构建的单目slam,从而检测位于场景的不同深度的物项。

具体而言,异构双目相机的左、右单目相机的slam,仅仅使用各自相机时序上的图像观测,即特征点之间的匹配是左目相机在时间域上若干帧图像上做的,右目相机的特征点匹配也是在右目图像的若干帧图像上做的,左右相机之间此时无交互。左、右单目slam实现各自视野场景的三维重建以及相机位姿的获取。由于单目相机存在尺度问题,即获取的地图和相机位姿可以任意缩放,可以理解为左目slam有自己的尺度系数s1,右目相机也有自己的尺度系数s2。两个尺度系数的计算需要通过匹配左、右目相机共同视野内的特征点,然后得到该类特征点在物理世界上的三维坐标,又由于该类特征点在左、右单目slam中有各自尺度下的三维坐标,那么计算该类点在物理视觉上的坐标与存在不确定尺度坐标之间的比例,可以得到左、右目相机的尺度系数。利用左、右目相机的尺度系数矫正各单目slam,并构成双目slam。

需要说明的是,本申请的上述基本构思不但可以应用于机动车自动驾驶,也可以应用于无人机导航等应用领域。

在介绍了本申请的基本原理之后,下面将参考附图来具体介绍本申请的各种非限制性实施例。

示例性方法

图1图示了根据本申请一实施例的异构双目slam方法的流程图。

如图1所示,根据本申请一实施例的异构双目slam方法100包括步骤s110,对第一单目相机和第二单目相机分别构建第一单目slam和第二单目slam,其中所述第一单目相机和所述第二单目相机是异构相机。第一单目相机和第二单目相机是视场不同的相机,或者说是视角不同或者视野景深不同的相机,二者组成异构双目相机。应理解,第一单目相机和第二单目相机也可以各自独立地布置在距离彼此合适的距离处,但不构成双目相机。

这里,相机,包括广角相机、超广角相机等视角不同的相机或者相机镜头;还包括摄像机,也包括通常所说的摄像头,其可以是应用于各种行业、领域和场景的摄像机,例如但不限于用于安防监控、互动体感游戏、自动驾驶、环境3d建模等的摄像机,例如汽车上的环视系统或自动驾驶系统的摄像机、家用扫地机器人上安装的摄像机、超市或商场中安装的监控摄像机等。这样的相机可以是单目相机,也可以是双目相机或更多目的多目相机。当相机是多目相机时,可以理解,本发明的原理可以例如单独应用于其包括的每目相机,从而构成多目slam。另一方面,从相机接收的图像可以是单幅图像,也可以是包括多帧图像的视频图像。

在对第一单目相机和第二单目相机构建单目slam时,对第一单目相机和第二单目相机各自获取的不同位置的图像进行图像特征匹配,得到所述第一单目相机和所述第二单目相机各自获取的图像的相匹配的特征点;根据所述第一单目相机和所述第二单目相机各自获取的图像的相匹配的特征点,计算得到所述第一单目相机和所述第二单目相机的各自相机位姿信息;获取所述第一单目相机和所述第二单目相机各自获取的图像的相匹配特征点的三维世界坐标系坐标;以及根据所述第一单目相机和所述第二单目相机的各自相机位姿信息和所述特征点的世界坐标系三维坐标,分别构建所述第一单目slam和所述第二单目slam,其中,所述相匹配的特征点中的至少一个特征点位于所述第一单目相机和所述第二单目相机的共同视野之内。

在本申请的该实施例中,在构建单目slam过程中,使用的特征点中至少一个特征点位于两个相机的共同视野之内,以避免在构建单目slam过程中全部使用位于两个相机的共同视野外的特征点,进而确保能够基于共同视野内的特征点重建两个相机所获取图像表示的三维世界。

在本申请的一些实施例中,在对第一单目相机和第二单目相机构建单目slam时提供了一种与上面不同的方案。具体地,对单目相机所述针对第一单目相机和第二单目相机分别构建第一单目slam和第二单目slam,包括:对所述第一单目相机和所述第二单目相机各自获取的不同位置的图像进行图像特征匹配,并将所述第一单目相机和所述第二单目相机各自获取的图像分别分割成位于所述第一单目相机和所述第二单目相机的共同视野内的图像与共同视野外的图像;提取至少一个位于所述第一单目相机和所述第二单目相机的共同视野外的特征点,并且获取其分别相对于所述第一单目相机和所述第二单目相机的相对坐标;根据所述第一单目相机和所述第二单目相机的各自相匹配的所述位于共同视野外的特征点,计算得到所述第一单目相机和所述第二单目相机的各自相机位姿信息;获取至少一个第一单目相机所获取图像的位于所述共同视野内的图像部分中的特征点和至少一个第二单目相机所获取图像的位于所述共同视野内的图像部分中的特征点的世界坐标系三维坐标;以及根据所述第一单目相机和所述第二单目相机的各自相机位姿信息,以及所述至少一个第一单目相机所获取图像的位于所述共同视野内的图像部分中的特征点和至少一个第二单目相机所获取图像的位于所述共同视野内的图像部分中的特征点的三维世界坐标系坐标,分别构建所述第一单目slam和所述第二单目slam。

在本申请的该实施例中,在构建单目slam过程中,通过将获取的图像划分为位于两个相机的共同视野内的部分图像和共同视野外的部分图像,进而提取部分位于两个相机的共同视野外的部分图像中的特征点和位于两个相机的共同视野内的部分图像中的特征点,并据此构建slam。也就是说,在本实施例中,通过划分图像来保证在计算各相机位姿信息过程中使用完全位于两个相机的共同视野之外的部分图像中的特征点,但是利用位于共同视野内的特征点及各相机的位姿信息来构建各单目slam。由此可以使用位于两个相机的共同视野之内的部分图像中的特征点来矫正两个单目slam的尺度。

进一步地,在一些实施例中,步骤s110还包括根据所述第一单目相机和所述第二单目相机各自的相机内参,确定所述第一单目相机和所述第二单目相机的共同视野。在本申请的该实施例中,通过确定两个单目相机的共同视野,以便将两个单目相机各自获取的图像划分为共同视野内的部分图像和共同视野外的部分图像。

接下来,在步骤s120中,利用位于第一单目相机和第二单目相机的共同视野内的特征点分别矫正第一单目slam和第二单目slam的尺度。具体地,获取所述不同位置的图像中位于所述第一单目相机和所述第二单目相机的共同视野内的特征点;获取所述位于共同视野内的特征点的世界坐标系三维坐标;利用所述位于共同视野内的特征点的世界坐标系三维坐标分别矫正所述第一单目slam和所述第二单目slam的尺度。

最后,在步骤s130中,对矫正后的所述第一单目slam和所述第二单目slam进行数据融合,构建双目slam。

下面结合图2进一步说明本申请的异构双目slam方法。

图2图示了双目视觉的场景图。如图2所示,本申请的异构双目slam方法使用两个单目相机,即相机a和相机b,进行构建。但应理解,在这里使用两个单目相机仅仅是为了说明而非限制性的,图2中的相机1和相机2也可以分别是两目相机或多目相机,或者一个相机是单目相机,另一个相机是两目相机或多目相机。

如图2所示,从相机a伸出两条射线a1和a2,射线a1和a2之间的区域表示相机a的视野;从相机b伸出两条射线b1和b2,射线b1和b2之间的区域表示相机b的视野。从图2可以看出,相机a和相机b是两个异构相机,二者的视野不同,相机a的视野比相机b的视野窄。还如图2所示,相机a的视野和相机b的视野之间具有重叠部分,即图2中的区域1,称为相机a和相机b的共同视野。

在步骤s110中,对相机a和相机b分别构建相机aslam和相机bslam。具体地,相机a和相机b分别在至少两个位置各拍摄至少一帧图像aimage1和aimage2、bimage1和bimage2,分别对图像aimage1和aimage2、bimage1和bimage2进行图像特征匹配,获得图像aimage1和aimage2、bimage1和bimage2的相匹配的特征点;根据相机a和相机b各自的内参,确定相机a和相机b的共同视野;根据相机a和相机b各自获取的图像的相匹配的特征点,分别计算相机a和相机b的各自相机位姿信息;获取相机a和相机b各自获取的图像的相匹配的特征点的世界坐标系三维坐标;接下来,根据相机a和相机b的各自相机位姿信息和所述相匹配的特征点的世界坐标系三维坐标,分别构建相机aslam和相机bslam,其中,所述相匹配的特征点中的至少一个特征点位于相机a和相机b的共同视野之外。由此保证针对相机a和相机b分别构建相机aslam和相机bslam时所选择的特征点不是都位于相机a和相机b的共同视野内。

单目slam的构建不限于上述方法。在某些实施例中,根据相机a和相机b的内参,确定相机a和相机b的共同视野;分别匹配相机a和相机b各自获取的不同位置的至少两帧图像,并且将相机a和相机b各自获取的图像分别分割成位于相机a和相机b的共同视野内的图像部分和共同视野外的图像部分;提取至少一个位于共同视野外的图像部分中的特征点,并且获取其分别相对于相机a和相机b的相对坐标;根据至少一个位于共同视野外的图像部分中的特征点分别相对于相机a和相机b的相对坐标,计算得到相机a和相机b的各自相机位姿信息和至少一个位于共同视野外的图像部分中的特征点的世界坐标系三维坐标;根据相机a和相机b的各自相机位姿信息和所述至少一个位于共同视野外的图像部分中的特征点的世界坐标系三维坐标,分别构建相机aslam和相机bslam。

接着,在步骤s120中,选取相机a和相机b各自获取的图像中位于相机a和相机b的共同视野内的至少一个特征点,并且获取其世界坐标系三维坐标,利用所述至少一个共视点的世界坐标系三维坐标,分别矫正相机aslam和相机bslam的尺度。

最后,在步骤s130中,对矫正后相机aslam和相机bslam的进行数据融合,构建双目slam。

因此,根据本申请实施例的异构双目slam方法,利用采用视角不同的异构相机,并对各相机分别构建单目slam,经数据融合后构建双目slam,由此利用两个异构相机的不同景深来拍摄不同景深的图像,从而实现分别检测距相机小景深和大景深内的不同物项。本申请实施例的双目异构slam方法通过使用视角不同的相机,实现了大视角相机和小视角相机相互配合,从而能够检测相机前方不同景深内的物项,更全面地观察相机前方的情景。

示例性装置

图3图示了根据本申请一实施例的异构双目slam装置的示意图。

如图3所示,根据本申请一实施例的异构双目slam200装置包括单目slam构建模块210、单目slam矫正模块220和双目slam构建模块230。

单目slam构建模块210可用于对第一单目相机和第二单目相机分别构建第一单目slam和第二单目slam。

在一些示例中,单目slam构建模块210对所述第一单目相机和所述第二单目相机各自获取的不同位置的图像分别进行图像特征匹配,分别得到所述第一单目相机获取的图像的相匹配的特征点和所述第二单目相机获取的图像的相匹配的特征点;分别计算得到所述第一单目相机和所述第二单目相机的各自相机位姿信息;获取所述第一单目相机获取的图像的相匹配的特征点的世界坐标系三维坐标、和所述第二单目相机获取的图像的相匹配的特征点的世界坐标系三维坐标;以及根据所述第一单目相机和所述第二单目相机的各自相机位姿信息、以及所述第一单目相机所获取图像的相匹配的特征点和所述第二单目相机所获取图像的相匹配的特征点的世界坐标系三维坐标,分别构建所述第一单目slam和所述第二单目slam,其中,所述第一单目相机所获取图像的相匹配的特征点和所述第二单目相机所获取图像的相匹配的特征点中的至少一个特征点位于所述第一单目相机和所述第二单目相机的共同视野之外。

在一些示例中,不同上面的示例,单目slam构建模块210对所述第一单目相机和所述第二单目相机各自获取的不同位置的图像进行图像特征匹配,并将所述第一单目相机和所述第二单目相机各自获取的图像分别分割成位于所述第一单目相机和所述第二单目相机的共同视野内的图像部分与共同视野外的图像部分;提取至少一个第一单目相机所获取图像的位于所述共同视野外的图像部分中的特征点和至少一个第二单目相机所获取图像的位于所述共同视野外的图像部分中的特征点,并且获取其相应地相对于所述第一单目相机或所述第二单目相机的相对坐标;计算得到所述第一单目相机和所述第二单目相机的各自相机位姿信息;获取至少一个第一单目相机所获取图像的位于所述共同视野外的图像部分中的特征点和至少一个第二单目相机所获取图像的位于所述共同视野外的图像部分中的特征点的世界坐标系三维坐标;以及根据所述第一单目相机和所述第二单目相机的各自相机位姿信息,以及所述至少一个第一单目相机所获取图像的位于所述共同视野外的图像部分中的特征点和至少一个第二单目相机所获取图像的位于所述共同视野外的图像部分中的特征点的三维世界坐标系坐标,分别构建所述第一单目slam和所述第二单目slam。

在一些示例中,单目slam构建模块210还根据第一单目相机和第二单目相机各自的相机内参,确定第一单目相机和第二单目相机的共同视野。

单目slam矫正模块220可用于利用所述第一单目相机和所述第二单目相机的共同视野内的特征点分别矫正所述第一单目slam和所述第二单目slam。在一些实施例中,单目slam矫正模块220包括共视点获取单元,可用于获取所述不同位置的图像中位于所述第一单目相机和所述第二单目相机的共同视野内的共视点;共视点三维坐标获取单元,可用于获取所述共视点的世界坐标系三维坐标;以及矫正单元,可用于利用所述共视点的世界坐标系三维坐标分别矫正所述第一单目slam和所述第二单目slam的尺度。在这里,共视点是指各单目相机拍摄的图像的位于两个单目相机共同视野内的图像部分中的特征点;非共视点是指各单目相机拍摄的图像的位于两个单目相机共同视野外的图像部分中的特征点。

最后,双目slam构建模块230可用于对矫正后的所述第一单目slam和所述第二单目slam进行数据融合,构建双目slam。

由于异构双目slam装置的各个单元和模块的具体功能和操作已经在上面参照图1和图2描述的异构双目slam方法中得到了详细说明,因此这里仅简要介绍,以避免重复描述。

示例性电子设备

图4示出了根据本申请一实施例的电子设备300的结构框图。如图4所示,电子设备300可包括处理器310和存储器320。

处理器310可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备300中的其他组件以执行期望的功能。

存储器320可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器310可以运行所述程序指令,以实现上文所述的本申请的各个实施例的异构双目slam方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如各个摄像机的相关信息和驱动程序等。

在一个示例中,电子设备300还可以包括接口330、输入装置340和输出装置350,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

接口330可用于连接到需要进行异构双目相机。例如,接口330可以是相机常用的usb接口,当然也可以是其他接口例如type-c接口等。电子设备300可包括一个或多个接口330,以连接到相应的相机,并且从相机接收其所拍摄的图像以用于执行上面描述的异构双目slam方法。

输入装置340可用于接收外界输入,例如接收用户输入的物理点坐标值等。在一些实施例中,输入装置340可以是例如键盘、鼠标、手写板、触摸屏等。

输出装置350可以输出所得到相机参数或slam地图。例如,输出装置350可以包括显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等。在一些实施例中,输入装置340和输出装置350可以是集成一体的触摸显示屏。

为了简化,图4中仅示出了电子设备300中与本申请有关的一些组件,而省略了一些相关外围或辅助组件。除此之外,根据具体应用情况,电子设备300还可以包括任何其他适当的组件。

示例性计算机程序产品和计算机可读存储介质

除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的异构双目slam方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的异构双目slam方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。

本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1