掌桥专利:专业的专利平台
掌桥专利
首页

三维定位方法、系统、装置及存储介质

文献发布时间:2023-06-19 19:30:30


三维定位方法、系统、装置及存储介质

技术领域

本公开涉及三维定位技术领域,尤其涉及三维定位方法、系统、装置及存储介质。

背景技术

基于视觉的同时定位和建图(VSLAM,英文全称:Simultaneous Localization andMapping)有多种模式,譬如基于单目,双目以及RGB-D(RGB单目摄像头及深度图)的方案。在双目方案中,有的输入摄像头是鱼眼,从而可以获得更大的视野,进而能够生成更多的特征点,使得VSLAM系统的精度得到更大的提高。

但是由于双目视觉大多数是基于特征点,需要在左右图像间进行特征点匹配,从而产生三维地图点,这个过程比较耗费时间。

发明内容

鉴于以上相关技术的缺点,本公开的目的在于提供三维定位方法、系统、装置及存储介质,以解决相关技术中三维定位时长过长的技术问题。

本公开第一方面提供一种三维定位方法,其包括:

采集双目图像并获得双目图像的深度图,双目图像包括第一图像和第二图像;

将深度图与第一图像对齐以得到第一图像与深度图的对齐区域,并根据深度图获得对齐区域中的特征点的深度值;

确定第一图像与深度图的非对齐区域,将非对齐区域与第二图像进行特征点匹配,并根据匹配到的特征点确定非对齐区域中相应特征点的深度值;

根据第一图像中特征点的深度值进行三维定位。

可选地,将非对齐区域与第二图像进行特征点匹配,包括:

对非对齐区域及第二图像中的特征点各自提取特征描述子;

使用非对齐区域中特征点的特征描述子在第二图像中进行特征描述子匹配,以得到匹配特征点。

可选地,根据匹配到的特征点确定非对齐区域中相应特征点的深度值,包括:

计算非对齐区域中相应特征点与匹配特征点之间的视差信息;

根据视差信息确定匹配特征点的深度值。

可选地,根据第一图像中特征点的深度值进行三维定位,包括:

根据第一图像中特征点的深度值对相应特征点进行反投影变换,得到相应特征点的三维坐标。

可选地,三维定位方法还包括:

根据第一图像中相应特征点的三维定位信息构建网格地图。

可选地,根据第一图像中相应特征点的三维定位信息构建网格地图,包括:

根据第一图像中相应特征点的三维定位信息以及当前图像采集设备的坐标,确定相应特征点对应的非地面点及非地面点与图像采集设备之间的可通行点;

利用非地面点和可通行点构建网格地图。

可选地,根据第一图像中相应特征点的三维定位信息构建网格地图,包括:

在采集到多对双目图像帧和对应的深度图的情况下,对每一对双目图像帧和对应的深度图使用三维定位方法得到三维定位信息,并使用三维定位信息构建网格地图。

本公开第二方面还提供一种三维定位系统,其包括:

采集模块,采集双目图像并获得双目图像的深度图,双目图像包括第一图像和第二图像;

对齐模块,将深度图与第一图像对齐以得到第一图像与深度图的对齐区域,并根据深度图获得对齐区域中的特征点的深度值;

匹配模块,确定第一图像与深度图的非对齐区域,将非对齐区域与第二图像进行特征点匹配,并根据匹配到的特征点确定非对齐区域中相应特征点的深度值;

定位模块,根据第一图像中特征点的深度值进行三维定位。

本公开第三方面提供一种计算机装置,包括:通信器、存储器及处理器;通信器用于与外部通信;存储器存储有程序指令;处理器用于运行程序指令以执行如第一方面任一项的三维定位方法。

本公开第四方面提供一种计算机可读存储介质,存储有程序指令,程序指令被运行以执行如第一方面任一项的三维定位方法。

如上,本公开实施例中提供三维定位方法、系统、装置及存储介质,通过采集双目图像并获得双目图像的深度图,双目图像包括第一图像和第二图像,将深度图与第一图像对齐以得到第一图像与深度图的对齐区域,并根据深度图获得对齐区域中的特征点的深度值,确定第一图像与深度图的非对齐区域,将非对齐区域与第二图像进行特征点匹配,并根据匹配到的特征点确定非对齐区域中相应特征点的深度值,根据第一图像中特征点的深度值进行三维定位。本实施例结合双目图像及其中一幅图像对齐的深度图,由于深度图的视野相对于双目图像要小,因此对第一图像与深度图的对齐区域,第一图像中特征点的深度值可直接从深度图获取,对该对齐区域的特征点无需与第二图像进行特征点匹配,而只需要对剩余非对齐区域进行特征点匹配,这大大减少了特征点匹配的消耗时间,缩短三维定位时长,提升三维定位及时性。

附图说明

图1展示本公开一实施例的三维定位方法的流程图。

图2展示本公开一种实施例的第一图像与深度图之间的对齐示意图。

图3展示本公开实施例中根据视差确定深度值的原理示意图。

图4展示本公开一种实施例的三维定位方法的流程图。

图5展示本公开一种具体实施例的三维定位方法的流程图。

图6展示本公开实施例的三维定位系统的模块示意图。

图7展示本公开一实施例中计算机装置的结构示意图。

具体实施方式

以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本公开所揭露的消息轻易地了解本公开的其他优点与功效。本公开还可以通过另外不同的具体实施方式加以实施或应用系统,本公开中的各项细节也可以根据不同观点与应用系统,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。

下面以附图为参考,针对本公开的实施例进行详细说明,以便本公开所属技术领域的技术人员能够容易地实施。本公开可以以多种不同形态体现,并不限定于此处说明的实施例。

在本公开的表示中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的表示意指结合该实施例或示例表示的具体特征、结构、材料或者特点包括于本公开的至少一个实施例或示例中。而且,表示的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本公开中表示的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于表示目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本公开的表示中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

图1展示本公开实施例提供的三维定位方法的流程图,本方法的执行主体可以为三维定位系统,具体对应于服务器或三维定位终端,如图1所示,本方法包括如下步骤:

步骤110:采集双目图像并获得双目图像的深度图,双目图像包括第一图像和第二图像;

步骤120:将深度图与第一图像对齐以得到第一图像与深度图的对齐区域,并根据深度图获得对齐区域中的特征点的深度值;

步骤130:确定第一图像与深度图的非对齐区域,将非对齐区域与第二图像进行特征点匹配,并根据匹配到的特征点确定非对齐区域中相应特征点的深度值;

步骤140:根据第一图像中特征点的深度值进行三维定位。

本实施例的输入是双目图像及其中一幅图像对齐的深度图,由于深度图的视野相对于双目图像要小,结合图2所示,虚拟框区域为深度图,深度图之外的区域为双目图像的视野范围,因此对第一图像与深度图的对齐区域,第一图像中特征点的深度值可直接从深度图获取,对该对齐区域的特征点无需与第二图像进行特征点匹配,而只需要对剩余非对齐区域进行特征点匹配,这大大减少了特征点匹配的消耗时间,缩短三维定位时长,提升三维定位及时性。

本公开实施例的方法可以应用摄像设备或者图像处理设备中,通过上述设备可以采集双目图像,例如通过摄像设备采集,或者通过其他设备传输双目图像。

其中,根据摄像设备的结构情况的不同,双目图像中第一图像和第二图像可以分别构造为左侧图像和右侧图像,或者,也可以构造为上侧视图和下侧视图,具体可以根据采集双目图像的摄像设备的摄像镜头的位置而确定,本公开实施例对此不进行具体限定。

在本公开实施例中,将深度图与第一图像对齐,具体是,将深度图对齐到第一图像的坐标系下,进而可以直接在深度图中获取对齐区域中相应特征点的深度值。

在本公开实施例中,将非对齐区域与第二图像进行特征点匹配,可以得到相互匹配的特征点。具体地,将非对齐区域与第二图像进行特征点匹配,包括:

对非对齐区域及第二图像中的特征点各自提取特征描述子;

使用非对齐区域中特征点的特征描述子在第二图像中进行特征描述子匹配,以得到匹配特征点。

其中,特征描述子是特征点的定量描述,其表现形式为特征向量。这样,特征点匹配是将两图像中特征点的特征描述子进行比较,以根据比较结果确定相匹配的特征点。具体地,基于FAST特征算法计算出的特征点的特征描述子brief,通过比较两张图像的各个像素的brief的相似程度,获取彼此关联匹配的特征点。匹配特征点包括待测物体上某一个被测点分别在两张双目图像上的特征点。

在本公开实施例中,根据匹配到的特征点确定非对齐区域中相应特征点的深度值,包括:

计算非对齐区域中相应特征点与匹配特征点之间的视差信息;

根据视差信息确定匹配特征点的深度值。

具体地,可以根据三角原理计算出彼此匹配的特征点之间的视差信息,而后可以基于视差信息确定用于表征在应用场景中的物体的深度值。

结合图3所示,两个相机O

d=|X

两个成像点P

根据相似三角形理论可以得出:

则可以得到点P到投影中心平面的距离Z:

当点P在三维空间上移动时,点P在左右相机上的成像位置也会改变,从而视差也会发生相应变化,由上式可知,视差与三维空间上的点到投影中心平面的距离成反比。因而,只要知道某点的视差,就可以知道该点的深度信息。

在本公开实施中,当获得第一图像中各特征点的深度值时,就可以对该特征点所对应物体上待测点进行三维定位。具体地,根据第一图像中特征点的深度值对相应特征点进行反投影变换,得到相应特征点的三维坐标,进而对第一图像中所有具有深度值的特征点均根据各自的深度值进行反投影变换,可以得到待测物体的整体三维坐标。

第一图像中各特征点的深度值表征其到图像采集设备的距离,反投影是指将第一图像中的特征点投影到三维空间,从而得到相应特征点在世界坐标系中的三维坐标。

图4展示本公开实施例的三维定位方法的流程图,如图4所示,该方法包括但不限于如下步骤:

步骤410:采集双目图像并获得双目图像的深度图,双目图像包括第一图像和第二图像;

步骤420:将深度图与第一图像对齐以得到第一图像与深度图的对齐区域,并根据深度图获得对齐区域中的特征点的深度值;

步骤430:对第一图像与深度图的非对齐区域,将非对齐区域与第二图像进行特征点匹配,并根据匹配到的特征点确定非对齐区域中相应特征点的深度值;

步骤440:根据第一图像中特征点的深度值进行三维定位;

步骤450:根据第一图像中相应特征点的三维定位信息构建网格地图。

在本公开实施例中,网格地图可用于导航。

在本公开实施例中,根据第一图像中相应特征点的三维定位信息构建网格地图,包括:

根据第一图像中相应特征点的三维定位信息以及当前图像采集设备的坐标,确定相应特征点对应的非地面点及非地面点与图像采集设备之间的可通行点;

利用非地面点和可通行点构建网格地图。

当前图像采集设备用于采集双目图像,非地面点被认为是低于当前图像采集设备的点,因此根据相应特征点的三维定位信息可以得到该相应特征点所对应待测点的高度,将其与当前图像采集设备的高度进行比较,以确定地面点和非地面点,非地面点视为障碍点。此时,非地面点到图像采集设备之间的所有点均视为可通行点。

在本公开实施例中,在采集到多对双目图像帧和对应的深度图的情况下,对每一对双目图像帧和对应的深度图使用三维定位方法得到三维定位信息,并使用三维定位信息构建网格地图。

图5展示本公开一实施例的三维定位方法的流程图,本方法具体包括如下步骤:

步骤510:输入双目图像的左图、右图以及对齐到左图的深度图;

步骤520:对双目左右图分别提取特征点位置。

步骤530:对左图中一个特征点如果在深度图中有对应深度值,则直接取其深度值作为相应特征点的深度值;

步骤540:如果左图中某一个特征点没有对应的深度值,则对该特征点提取描述子以基于特征描述子在右图中进行匹配,如果匹配到满足相应条件的特征点,则计算视差(例如横坐标的差值),从而得到深度值。如果没有满足相应条件的特征点,则放弃。

步骤550:对有深度值的特征点,通过反投影变换,计算其三维坐标。

步骤560:根据三维坐标得到相应特征点所对应的三维点,判断该三维点是否高于双目相机,即判断该三维点是否为地面点,如果是地面点则放弃;

步骤570:将三维点和双目相机当前坐标点形成一条直线,并将直线投影到地平面,其中三维点所在位置为障碍点,直线连线之间的所有点为可通行点。

对依时序采集的每个图像帧均进行上述操作,从而可以得到用于导航的网格地图。

如图6所示,展示本公开一实施例的三维定位系统的模块示意图。需说明的是,三维定位系统的原理可以参考之前实施例中的三维定位方法,故此处不对相同技术内容执行重复赘述。

三维定位系统600可以包括:

采集模块610,采集双目图像并获得双目图像的深度图,双目图像包括第一图像和第二图像;

对齐模块620,将深度图与第一图像对齐以得到第一图像与深度图的对齐区域,并根据深度图获得对齐区域中的特征点的深度值;

匹配模块630,确定第一图像与深度图的非对齐区域,将非对齐区域与第二图像进行特征点匹配,并根据匹配到的特征点确定非对齐区域中相应特征点的深度值;

定位模块640,根据第一图像中特征点的深度值进行三维定位。

在一些实施例中,匹配模块630具体用于:

对非对齐区域及第二图像中的特征点各自提取特征描述子;

使用非对齐区域中特征点的特征描述子在第二图像中进行特征描述子匹配,以得到匹配特征点。

在一些实施例中,匹配模块630具体用于:

计算非对齐区域中相应特征点与匹配特征点之间的视差信息;

根据视差信息确定匹配特征点的深度值。

在一些实施例中,定位模块640具体还用于:

根据第一图像中特征点的深度值对相应特征点进行反投影变换,得到相应特征点的三维坐标。

在一些实施例中,定位模块640具体还用于:

根据第一图像中相应特征点的三维定位信息构建网格地图。

在一些实施例中,定位模块640具体用于:

根据第一图像中相应特征点的三维定位信息以及当前图像采集设备的坐标,确定相应特征点对应的非地面点及非地面点与图像采集设备之间的可通行点;

利用非地面点和可通行点构建网格地图。

在一些实施例中,定位模块640具体用于:

在采集到多对双目图像帧和对应的深度图的情况下,对每一对双目图像帧和对应的深度图使用三维定位方法得到三维定位信息,并使用三维定位信息构建网格地图。

需特别说明的是,在图6实施例中的各个功能模块,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以程序指令产品的形式实现。程序指令产品包括一个或多个程序指令。在计算机上加载和执行程序指令指令时,全部或部分地产生按照本公开的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。程序指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。

并且,图6实施例所揭露的系统,可通过其它的模块划分方式实现。以上所表示的系统实施例仅仅是示意性的,例如模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或模块可以结合或者可以动态到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接于可以是通过一些接口,装置或模块的间接耦合或通信连接于,可以是电性或其它的形式。

另外,图6实施例中的各功能模块及子模块可以动态在一个处理部件中,也可以是各个模块单独物理存在,也可以两个或两个以上模块动态在一个部件中。上述动态的部件既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述动态的部件如果以软件功能模块的形式实现并执行为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。

本公开实施例中还可以提供一种计算机可读存储介质,存储有程序指令,程序指令被运行时执行之前图1实施例中的方法步骤。

上述实施例中的方法步骤被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此表示的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。

需特别说明的是,本公开上述实施例的流程图表示的流程或方法表示可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。

例如,图1所示实施例中的各个步骤的顺序可能可以在具体场景中加以变化,并非以上述表示为限。

如图7所示,展示本公开一实施例中计算机装置的结构示意图。

在一些实施例中,计算机装置用于装载实现三维定位方法的程序指令。计算机装置具体可实现为例如服务器、台式机、笔记本电脑、移动终端等,而可能被基于开发、测试等商业目的而存储和/或运行此程序指令的实施者所使用。

图7展示的计算机装置700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图7所示,计算机装置700以通用计算设备的形式表现。计算机装置700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730。

其中,存储单元存储有程序代码,程序代码可以被处理单元710执行,使得计算机装置用于实现本公开上述实施例(例如图2实施例)中描述方法步骤。

在一些实施例中,存储单元720可以包括易失性存储单元,例如随机存取存储单元(RAM)721和/或高速缓存存储单元722,还可以进一步包括只读存储单元(ROM)723。

在一些实施例中,存储单元720还可以包括具有一组(至少一个)程序模块725的程序/实用工具724,这样的程序模块725包括但不限于:操执行系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

在一些实施例中,总线730可以包括数据总线、地址总线和控制总线。

在一些实施例中,计算机装置700也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/O)接口750进行。可选的,计算机装置700还包括显示单元740,其连接到输入/输出(I/O)接口750,用于进行显式。并且,计算机装置700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与计算机装置700的其它模块通信。应当明白,尽管图中未示出,可以结合计算机装置700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

综上,本公开实施例中提供三维定位方法、系统、装置及存储介质,通过采集双目图像并获得双目图像的深度图,双目图像包括第一图像和第二图像,将深度图与第一图像对齐以得到第一图像与深度图的对齐区域,并根据深度图获得对齐区域中的特征点的深度值,确定第一图像与深度图的非对齐区域,将非对齐区域与第二图像进行特征点匹配,并根据匹配到的特征点确定非对齐区域中相应特征点的深度值,根据第一图像中特征点的深度值进行三维定位。本实施例结合双目图像及其中一幅图像对齐的深度图,由于深度图的视野相对于双目图像要小,因此对第一图像与深度图的对齐区域,第一图像中特征点的深度值可直接从深度图获取,对该对齐区域的特征点无需与第二图像进行特征点匹配,而只需要对剩余非对齐区域进行特征点匹配,这大大减少了特征点匹配的消耗时间,缩短三维定位时长,提升三维定位及时性。

上述实施例仅例示性说明本公开的原理及其功效,而非用于限制本公开。任何熟悉此技术的人士皆可在不违背本公开的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本公开所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本公开的权利要求所涵盖。

相关技术
  • 定位方法、装置和系统、定位系统布设方法、存储介质
  • 构件三维工艺图的形成方法、装置、系统及可读存储介质
  • 一种数据采集系统定位方法、装置和计算机可读存储介质
  • 一种定位方法、装置、设备、系统及存储介质
  • 一种目标定位方法、装置、系统及计算机可读存储介质
  • 一种基于三维地图辅助GNSS的协同定位方法及系统、定位设备、存储介质
  • 一种三维空间定位方法、系统、装置与存储介质
技术分类

06120115931079