CN114619453A - 机器人、地图构建方法及计算机可读存储介质 - Google Patents
机器人、地图构建方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114619453A CN114619453A CN202210526529.1A CN202210526529A CN114619453A CN 114619453 A CN114619453 A CN 114619453A CN 202210526529 A CN202210526529 A CN 202210526529A CN 114619453 A CN114619453 A CN 114619453A
- Authority
- CN
- China
- Prior art keywords
- frame
- key
- key frames
- frames
- map
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3841—Data obtained from two or more sources, e.g. probe vehicles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Abstract
本申请涉及一种机器人、地图构建方法及计算机可读存储介质,具体地:获取多帧关键帧中每一关键帧对应的初始位姿、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系;根据多帧关键帧中相邻帧的帧间约束关系和多帧关键帧的回环约束关系,对多帧关键帧中每一关键帧对应的初始位姿进行优化,得到多帧关键帧中每一关键帧对应的优化位姿;基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系构建机器人的视觉地图的步骤。本申请提供的地图构建方法能够避免直接进行全局优化导致的优化效果差的问题,且能够提高构建的视觉地图的质量以及地图的精度。
Description
技术领域
本申请涉及移动设备感知技术领域,特别是涉及一种机器人、地图构建方法及计算机可读存储介质。
背景技术
自主移动设备(移动机器人、自动驾驶汽车等)在移动的过程中需要基于采集的图像确定关键帧,基于关键帧建立视觉地图,视觉地图包括点云位置和关键帧位姿,而点云位置和关键帧位姿的准确性直接关系到地图的质量高低和重定位的精度。所以需要对点云和关键帧进行优化以获得质量较高的视觉地图。
目前,对点云位置和关键帧优化的思路是利用最小二乘优化方法优化点云位置和关键帧位姿,基于优化后的点云位置和关键帧位姿构建视觉地图。
但是当需要优化的点云位置和关键帧位姿越来越多时,由于点云位置与关键帧位姿相互之间的耦合观测关系也越来越多,因此,进行全局优化时会出现点云位置和关键帧位姿优化效果较差的问题,进而导致建立的地图质量较差以及重定位效果较差。
发明内容
本申请提供一种机器人、地图构建方法及计算机可读存储介质,在进行视觉地图构建时,能够对构建视觉地图所需的关键帧位姿以及地图点先分别进行优化,再进行整体优化,根据经过多重优化后的关键帧位资以及地图点构建视觉地图,能够提高视觉地图的质量。
第一方面,本申请提供了一种机器人,该机器人包括存储器和处理器,存储器中存储有可执行程序代码,处理器用于执行可执行代码时实现如下步骤:
获取多帧关键帧中每一关键帧对应的初始位姿、所述多帧关键帧中相邻关键帧的帧间约束关系和所述多帧关键帧的回环约束关系;
根据所述多帧关键帧中相邻帧的帧间约束关系和所述多帧关键帧的回环约束关系,对所述多帧关键帧中每一关键帧对应的初始位姿进行优化,得到所述多帧关键帧中每一关键帧对应的优化位姿;
基于所述多帧关键帧、所述多帧关键帧中每一关键帧对应的优化位姿、多个地图点、所述多帧关键帧中相邻关键帧的帧间约束关系和所述多帧关键帧的回环约束关系构建所述机器人的视觉地图。
第二方面,本申请还提供了一种地图构建方法,该方法包括:
获取多帧关键帧中每一关键帧对应的初始位姿、所述多帧关键帧中相邻关键帧的帧间约束关系和所述多帧关键帧的回环约束关系;
根据所述多帧关键帧中相邻帧的帧间约束关系和所述多帧关键帧的回环约束关系,对所述多帧关键帧中每一关键帧对应的初始位姿进行优化,得到所述多帧关键帧中每一关键帧对应的优化位姿;
基于所述多帧关键帧、所述多帧关键帧中每一关键帧对应的优化位姿、多个地图点、所述多帧关键帧中相邻关键帧的帧间约束关系和所述多帧关键帧的回环约束关系构建视觉地图。
第三方面,本申请还提供了一种地图构建装置,该装置包括:
获取模块,用于获取多帧关键帧中每一关键帧对应的初始位姿、所述多帧关键帧中相邻关键帧的帧间约束关系和所述多帧关键帧的回环约束关系;
根据所述多帧关键帧中相邻帧的帧间约束关系和所述多帧关键帧的回环约束关系,对所述多帧关键帧中每一关键帧对应的初始位姿进行优化,得到所述多帧关键帧中每一关键帧对应的优化位姿;
基于所述多帧关键帧、所述多帧关键帧中每一关键帧对应的优化位姿、多个地图点、所述多帧关键帧中相邻关键帧的帧间约束关系和所述多帧关键帧的回环约束关系构建视觉地图。
第四方面,本申请还提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第二方面的方法的步骤。
第五方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第二方面的方法的步骤。
第六方面,本申请还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述第二方面的方法的步骤。
本申请提供了一种机器人、地图构建方法及计算机可读存储介质,机器人包括存储器和处理器,存储器中存储有可执行程序代码,处理器用于执行可执行代码时实现:获取多帧关键帧中每一关键帧对应的初始位姿、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系;根据多帧关键帧中相邻帧的帧间约束关系和多帧关键帧的回环约束关系,对多帧关键帧中每一关键帧对应的初始位姿进行优化,得到多帧关键帧中每一关键帧对应的优化位姿;基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系构建机器人的视觉地图的步骤。本申请提供的机器人,在通过关键帧以及地图点构建视觉地图时,摈弃了直接将关键帧的位姿和地图点进行全局优化后进行进行视觉地图构建的方式来进行视觉地图构建,而是对关键帧的位姿进行单独优化后,再根据优化后的关键帧的位姿和地图点进行全局优化,最终基于经过多次优化后得到的关键帧的位姿以及地图点构建视觉地图,能够避免直接进行全局优化导致的优化效果差的问题,且能够提高构建的视觉地图的质量以及地图的精度。
附图说明
图1为一个实施例中地图构建设备构建视觉地图的应用环境图;
图2为一个实施例中机器人构建视觉地图的流程示意图;
图3为另一个实施例中机器人构建视觉地图的流程示意图;
图4为另一个实施例中机器人构建视觉地图的流程示意图;
图5为另一个实施例中机器人构建视觉地图的流程示意图;
图6为另一个实施例中机器人构建视觉地图的流程示意图;
图7为另一个实施例中机器人构建视觉地图的流程示意图;
图8为另一个实施例中机器人构建视觉地图的流程示意图;
图9为另一个实施例中机器人构建视觉地图的流程示意图;
图10为一个实施例中地图构建方法的流程示意图;
图11为一个实施例中地图构建装置的结构框图;
图12为另一个实施例中地图构建设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的地图构建方法,可以应用于如图1所示的应用环境中。其中,地图构建方法可以是应用于机器人、无人驾驶汽车等需要构建视觉地图的地图构建设备102,地图构建设备102可以是通过设置的图像采集模块采集多帧图像,以及位姿采集模块采集多帧图像中每一帧图像对应的位姿,然后对多帧关键帧中的每一个关键帧对应的初始位姿进行优化得到优化后的优化位姿,最后基于优化后的优化位姿以及多个地图点进行全局优化,并根据优化有的关键帧的位姿以及地图点构建视觉地图。从而避免直接进行全局优化导致的优化效果差的问题,且能够提高视觉地图的质量以及视觉地图的精度。
下面,本申请以将地图构建方法应用在机器人的应用场景为例,对本申请的技术方案进行解释说明。
首先对机器人构建地图进行介绍:随着机器人应用领域的不断扩展,机器人的工作环境从单纯的室内环境扩展到空间、地下、水下、野外等各种复杂的、未知的、非结构化的环境。机器人在工作的过程中需要通过地图进行导航、路径规划等。但由于机器人的工作环境大多处于未知空间环境,不可能通过人工测量等方法为机器人预先构建精确的地图以为机器人进行导航。那么机器人只能在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和设置在体内的传感器等设备采集的数据进行自定位,同时构建地图。机器人进行视觉地图构建的过程是一个感知过程,机器人一般会通过携带的内部传感器获取机器人的位姿估计,通过外部传感器感知外部环境中的地图点三维位置,再经过数据处理,得到视觉地图。
接下来,对本申请的技术方案进行具体的说明:
在一个实施例中,如图2所示,提供了机器人,该机器人包括存储器和处理器,存储器中存储有可执行程序代码,处理器用于执行可执行程序代码时实现如下步骤:
步骤S202,获取多帧关键帧中每一关键帧对应的初始位姿、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系。
其中,关键帧可以是通过机器人中的内部传感器采集的图像,关键帧对应的初始位姿同样也可以是机器人中的其它内部传感器获取的机器人的原始位姿估计。机器人在进行视觉地图构建时,需要多帧关键帧的位姿以及多个地图点,所以可以是通过机器人中的内部传感器采集多帧图像以得到多帧关键帧,并通过其它内部传感器获取多帧关键帧中每一关键帧对应的初始位姿,得到多个关键帧的对应的多个初始位姿。帧间约束关系指相邻关键帧的位姿之差,回环约束关系指多帧关键帧中的第一帧关键帧和最后一帧关键帧之间的位姿之差。内部传感器例如可以为里程计、视觉传感器、陀螺仪等;外部传感器例如可以是摄像机、激光测距仪、声纳、雷达、触觉传感器、GPS、定位传感器等。
如果多帧关键帧用于确定一个地图点的三维坐标,那么相当于多帧关键帧串在一根绳子上,多帧关键帧的位姿就相当于挂载在每一个关键帧上的挂件,因为多帧关键帧是具有回环约束关系的关键帧,所以将绳子围成一个圆,那么多帧关键帧的第一帧和最后一帧应该是重合在一起的,那么第一帧和最后一帧应该是具有这样一个约束关系的,我们将这种关系称为回环约束关系,如果第一帧和最后一帧不能重合在一起,两者之间的位姿之差就用来表示这种回环约束关系。同理,在构建地图点时机器人会通过视觉里程计和轮式里程计获取多帧关键帧的位姿,一般情况下,不同的计量设备对同一对象进行计量时,获得的数据应该是一模一样的,但是由于两个计量设备可能存在计量误差,会导致二者获得的同一关键帧的位姿不同,那么将相邻关键帧的位姿之差就表示为帧间约束关系。
步骤S204,根据多帧关键帧中相邻帧的帧间约束关系和多帧关键帧的回环约束关系,对多帧关键帧中每一关键帧对应的初始位姿进行优化,得到多帧关键帧中每一关键帧对应的优化位姿。
其中,具体的,可通过预定的优化器进行位姿优化,预定的优化器就是在深度学习反向传播过程中,指引目标函数的各个参数往正确的方向更新合适的大小,使得更新后的各个参数让目标函数的值不断逼近全局最小的工具。利用预定的优化器我们可以对多帧关键帧中的每一关键帧对应的初始位姿进行优化,由于在对多帧关键帧对应的初始位姿优化时,优化的对象仅是关键帧对应的位姿,且在对关键帧对应的位姿进行优化时受到相邻帧的帧间约束关系以及多帧关键帧的回环约束关系的双重限制,优化的状态量维度低,约束关系较强,所以能够更好的对多帧关键帧对应的初始位姿进行优化,避免出现现有技术的优化受限,优化效果不佳的问题。
步骤S206,基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系构建机器人的视觉地图。
其中,经过上述为多帧关键帧对应的初始位姿进行优化获得多帧关键帧对应的优化位姿后,结合多帧关键帧、多个地图点以及约束关系构建机器人的视觉地图进行视觉地图构建。在进行视觉地图构建的过程中还会基于现有技术的全局优化规则,对多帧关键帧、多个关键帧中每一关键帧对应的优化位姿进行全局优化,全局优化还是会受到相邻帧的帧间约束关系以及多帧关键帧的回环约束关系的双重限制,在这种强约束关系下进一步的对位姿以及地图点进行优化,基于优化后的地图点以及位姿构建视觉地图,获得的视觉地图的质量以及精度更好。
在一个实施例中,如图3所示,图3为本实施例提供的构建机器人的视觉地图的一种可选的方法实施例,该方法实施例包括如下步骤:
步骤S302,从多帧关键帧中确定与多个地图点中每个地图点具有观测关系的关联关键帧。
其中,多帧关键帧可以是由上述机器人中的内部传感器采集的多张图像,图像能够展示机器人周围的外部环境,那么图像中可以是包括多种不同的元素,多个不同的元素中可以是包括用于构建视觉地图的地图点(相当于构建地图时选择的参照物)。假如将图像里面的A树的三维坐标作为构建视觉地图的一个地图点,由于机器人在运动过程中会不断的采集图像,所以说可能存在采集到的多张图像(例如第一图像、第二图像、第三图像、第四图像、第五图像)中都存在A树这一元素,那么可以是将第一图像、第二图像、第三图像、第四图像以及第五图像称为与A树具有观测关系的关联关键帧。
步骤S304,根据关联关键帧对应的优化位姿通过三角化方法确定多个地图点中每个地图点的初始三维位置。
其中,现有技术一般仅会根据两帧关键帧的位姿进行三角化以获得地图点的初始三维位置;但是,本申请会根据与每一个地图点具有观测关系的所有关联关键帧对应的优化位姿全部作为确定地图点初始三维位置的依据,通过三角化的方法获得每一个地图点的初始三维位置。三角化是一种求解地图点的常用方法,其求解过程简单,利用的是最小二乘的思路,在计算过程中需要用到的参数是每一关联关键帧对应的优化位姿。计算地图点的参数增多,且多个参数均经过了优化,所以计算获得的地图点的初始三维位置更加的准确。
步骤S306,基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多个地图点中每个地图点的初始三维位置、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系构建机器人的视觉地图。
其中,本申请在对多帧关键帧的为位姿进行优化后,通过优化后的关键帧的位姿确定得到地图点,相当于对地图点也进行了初步的优化。最后再基于优化后的多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多个地图点中每个地图点的初始三维位置、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系构建机器人的视觉地图。由于构建视觉地图所需的参数均为经过了初步优化后的参数,进一步的再将优化的参数进行全局优化,根据多次优化后的地图点、关键帧以及关键帧位姿构建视觉地图,能够得到质量更好、精度更高的视觉地图。
在一个实施例中,如图4所示,图4为本实施例提供的另一种构建机器人的视觉地图的一种可选的方法实施例,该方法实施例包括如下步骤:
步骤S402,根据多个地图点中每个地图点的初始三维位置、多个地图点中每个地图点与相应关联关键帧中相应像素的关联关系、利用重投影方法确定多个地图点中每个地图点与相应关联关键帧中相应像素的重投影约束关系。
其中,在通过上述方法确定地图点的初始三维坐标后,地图点和与该地图点具有观测关系的关联关键帧中相应的地图点的像素的关联关系就确定了。在这里需要说明的是地图点的初始三维位置,实际为地图点在世界坐标系下的位置;因此,可以是根据世界坐标系与机器人的图像采集传感器使用的坐标的坐标转换关系、图像采集传感器的内参和地图点的初始三维位置、得到地图点在图像采集传感器坐标系的第一目标位置,然后获取该地图点在图像采集传感器坐标系下的第二目标位置,根据第一目标位置与第二目标位置坐标之间的差值确定重投影约束关系。重投影约束关系在优化地图点的三维位置时,能够对优化起到强约束作用,对地图点三维位置有较好的优化效果。
步骤S404,基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多个地图点中每个地图点的初始三维位置、多帧关键帧中相邻关键帧的帧间约束关系、多帧关键帧的回环约束关系以及重投影约束关系构建机器人的视觉地图。
其中,基于上述方法优化地图点的三维位置,能够获得优化后的地图点;结合上述优化后的多帧关键帧的位姿进行机器人的视觉地图的构建。由于本申请通过先分别进行多帧关键帧位姿的优化以及地图点的优化,然后再进行多帧关键帧的位姿以及地图点的全局优化,通过对构建机器人的视觉地图所需的参数进行多重优化的技术手段,获得优化效果好的参数,根据后话效果好的采纳数进行机器人的视觉地图构建,获得的视觉地图的质量以及精度更好。
在一个实施例中,如图5所示,图5为本实施例提供的另一种构建机器人的视觉地图的一种可选的方法实施例,该方法实施例包括如下步骤:
步骤S502,根据多帧关键帧中相邻关键帧的帧间约束关系、多帧关键帧的回环约束关系以及重投影约束关系,对多帧关键帧中每一关键帧对应的优化位姿及多个地图点中每个地图点的初始三维位置进行优化,得到多帧关键帧中每一关键帧对应的目标位姿以及多个地图点中每个地图点的目标三维位置;
步骤S504,根据多帧关键帧、多帧关键帧中每一关键帧对应的目标位姿、多个地图点以及多个地图点中每个地图点的目标三维位置构建机器人的视觉地图。
其中,基于上述所说的进行地图点优化的方式,可以是继续利用用于进行优化的优化器,具体地,将多帧关键帧中每一关键帧对应的优化位姿、多个地图点中每个地图点的初始三维位置、多帧关键帧中相邻关键帧的帧间约束关系、多帧关键帧的回环约束关系以及重投影约束关系输入至用于进行优化的优化器中,通过优化器对每一个地图点的初始三维位置进行优化,基于优化器的输出获得优化后的每一个地图点的目标三维位置。由于优化器中加入了多重强约束关系,且是根据优化后的多帧关键帧对应的优化位姿对地图点进行优化,所以具有较好的优化效果。
最后,基于机器人的视觉地图的构建方法,通过多帧关键帧、多帧关键帧中每一关键帧对应的目标位姿、多个地图点以及多个地图点中每一个地图点的目标三维位置进行机器人的视觉地图构建,这里属于常规的构建方法,在此不做赘述。
在一个实施例中,如图6所示,机器人搭载有定位传感器和视觉传感器,图6为本实施例提供的获得关键帧对应的初始位姿的一种可选的方法实施例,该方法实施例包括如下步骤:
步骤S602,通过视觉传感器采集多帧图像,和通过定位传感器采集多帧图像中每一帧图像对应的位姿;
步骤S604,从多帧图像中选择满足第一预设规则的图像作为多帧关键帧;
步骤S606,将多帧关键帧中每一关键帧对应的位姿作为多帧关键帧中每一关键帧对应的初始位姿。
其中,机器人中可以是设置有视觉传感器,通过视觉传感器来采集多帧图像;还可以是设置有定位传感器,通过定位传感器采集多帧图像中每一帧图像对应的位姿。第一预设规则可以是时间规则、距离规则、图像规则、其它规则等;时间规则例如可以是从多帧图像中选择间隔0.2秒采集的图像;距离规则例如可以是从多帧图像中选择间隔0.5m采集的图像;图像规则例如可以是从多帧图像中为每一个地图点选择具有观测关系的10张图像等,本申请对此不加以限定。
示例性的,机器人在预定时间段内通过视觉传感器获取了50帧图像,以及,通过定位传感器采集了50帧图像对应的位姿,然后根据时间规则从50帧图像中选取间隔0.5秒采集的图像,例如选取了第一帧图像、第四帧图像、第六帧图像、第九帧图像、……、第二十帧图像,一共十八帧图像,则将十八帧图像作为进行视觉地图构建的多帧关键帧,并将定位传感器采集的与多帧关键帧对应的位姿作为每一个关键帧对应的初始位姿。通过这种方法能够降低机器人图像处理的压力,提高视觉地图构建的效率。
在一个实施例中,如图7所示,图7为本实施例提供的获得关键帧的回环约束关系的一种可选的方法实施例,该方法实施例包括如下步骤:
步骤S702,对多帧关键帧进行回环检测,从多帧关键帧中得到目标关键帧,其中,目标关键帧至少包括两帧关键帧;
步骤S704,基于目标关键帧之间的关系确定多帧关键帧的回环约束关系。
其中,回环检测又称闭环检测,是指机器人识别曾到达某环境,使得地图闭环的能力;机器人获取位姿往往是一个递推的过程,即由上一帧的位姿推算当前帧的位姿;因为位姿的误差其实是多帧位姿的累计误差。所以若以及计算得到了第五帧关键帧的位姿,那么第五帧关键帧的位姿中已经累计了前面四帧关键帧的位姿的误差。但是,如果第五帧关键帧的位姿可以通过第一帧关键帧的位姿,或者第二帧关键帧的位姿推算获得,那么这样得到的第五关键帧的位姿的误差就会更小,像这样检测当前帧与之前的某一帧之间的位姿约束关系就叫做回环检测。简单的说,就是机器人左转一下后,再右转一下,进行视觉地图构建的时候能够意识到这个地方曾经来说,然后把此刻生成的视觉地图与前一时刻生成的视觉地图进行匹配的过程。当然第五帧关键帧的位姿可以是通过第一帧关键帧的位姿推算获得,也可以是通过第二帧关键帧的位姿推算获得,那么第一帧关键帧、第二帧关键帧和第五帧关键帧就是上述所说的目标关键帧。进一步的,第一帧关键帧的位姿、第二帧关键帧的位姿以及第五帧关键帧的位姿之差就可以作为多帧关键帧的回环约束关系。
在一个实施例中,如图8所示,图8为本实施例提供的获得目标关键帧的一种可选的方法实施例,该方法实施例包括如下步骤:
步骤S802,从多帧关键帧中确定参考关键帧;
步骤S804,从多帧关键帧中确定比较关键帧,其中,参考关键帧对应的第一时间早于比较关键帧对应的第二时间;
步骤S806,将参考关键帧中的第一角点信息与比较关键帧中的第二角点信息进行匹配,得到第一角点信息与第二角点信息的匹配成功率;
步骤S808,若匹配成功率大于预设阈值,则将比较关键帧的第一位移与参考关键帧的第二位移的位移差值与距离阈值进行比较;
步骤S810,若位移差值大于距离阈值,则将比较关键帧和参考关键帧作为目标关键帧。
其中,回环检测其实就是每一关键帧与每一关键帧之间的比对过程;简单来讲就是第一帧关键帧中有一栋房子,第二帧关键帧中没有这栋房子,只有一颗大树,那这两帧关键帧明显没有关系,也不可能存在回环关系。所以只有第一帧关键帧中有一栋房子,第二帧关键帧中有这栋房子的80%,第三帧关键帧中有这栋房子的60%,第四帧关键帧中有这栋房子的50%,第一帧关键帧、第二帧关键帧、第三帧关键帧与第四帧关键才有可能具有回环关系。在这里提到的房子和大树也就是描述子的进一步抽象集合。
在这里可以是通过词袋模型进行回环检测,首先需要从多帧关键帧中确定参考关键帧,例如我们要构建第一地图点,第一地图点最先出现在第一帧关键帧中,那么我们可以将第一关键帧作为参考关键帧;相应的,我们可以将多帧关键帧中除参考关键帧中的其它关键帧作为比较关键帧;然后将比较关键帧与参考关键帧进行一一的比对,比对是通过关键帧中的角点信息进行比对的。所谓的角点信息,好比参考关键帧中一栋房子的一扇窗户、一扇门、房顶的一角等,也就是比较参考关键帧与比较关键帧中有多少相同的描述子,相同的描述子越多也就表示匹配成功率越高。然后将参考关键帧与比较关键帧进行角点信息匹配后获得的匹配成功率与预设阈值进行比较,其中,预设阈值例如可以是30%。
进一步的,仅根据角点信息的匹配成功率还不能完成回环检测,为了提高回环检测的准确性,本申请还需要对满足匹配成功率大于预设阈值的比较关键帧进行第二轮的位移比对,只有角点匹配以及位移匹配全部满足条件的比较关键帧以及参考关键帧才能作为目标关键帧。在这里需要说明的是,位移比对是为了限制比较关键帧的数量,因为一般情况下,角点匹配成功率高的比较关键帧与参考关键帧之间的位移之差都不大。假如机器人的视觉传感器在距离第一帧关键帧0.1m采集获得第二关键帧,然后在距离第一帧关键帧0.5m采集获得第三关键帧,那么第二关键帧与参考关键帧的角点信息匹配成功率必然是大于第三关键帧与参考关键帧的角点信息匹配成功率(机器人不改变方向运动的情况下),所以与参考关键帧的位移差值越大,匹配成功率自然也越低。但是回环检测需要的是得到一个闭环的关系,也就是想确定一下通过第一关键帧的位姿能够确定的距离第一关键帧最远的关键帧的位姿(例如可以根据第一关键帧的位姿推算第十八关键帧的位姿,但是不能推算第十九关键帧的位姿),那么最终可以是根据第一关键帧、第十八关键帧以及两者之间的多帧关键帧形成一个回环,来确定一个地图点的三维位置。所以需要进行位移差值比较,来进行目标关键帧的限制,以更精确的进行目标关键帧的确定(目标关键帧一般为由一帧或者两帧)。
在一个实施例中,如图9所示,图9为本实施例提供的获得目标关键帧的另一种可选的方法实施例,该方法实施例包括如下步骤:
步骤S902,若匹配成功率小于等于预设阈值,则返回执行从多帧关键帧中确定比较关键帧的步骤,直至确定出匹配成功率大于预设阈值的比较关键帧;
步骤S904,根据匹配成功率大于预设阈值的比较关键帧以及参考关键帧,确定目标关键帧。
其中,基于上述角点匹配的方式进行目标关键帧的确定,比对的结果可以是匹配成功率大于预设阈值,那么还有一种比对结果只能是匹配成功率小于等于预设阈值,也就表示该比较关键帧与参考关键帧的中几乎没有相同的描述子,也就是上述列举的第一帧关键帧中有一栋房子,第二帧关键帧中没有这栋房子,只有一颗大树,那这两帧关键帧明显没有关系,也不可能存在回环关系,所以就需要重新从多帧关键帧中确定比较关键帧,然后重新执行上述进行目标关键帧确定的方法步骤,在这里不做赘述。
在一个实施例中,如图10所示,提供了一种地图构建方法,以该方法应用于除上述机器人外的其它移动设备上为例对该方法实施例进行说明,该方法实施例包括如下步骤:
步骤S1002,获取多帧关键帧中每一关键帧对应的初始位姿、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系;
步骤S1004,根据多帧关键帧中相邻帧的帧间约束关系和多帧关键帧的回环约束关系,对多帧关键帧中每一关键帧对应的初始位姿进行优化,得到多帧关键帧中每一关键帧对应的优化位姿;
步骤S1006,基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系构建视觉地图。
其中,上述构建视觉地图的方法参见上述机器人构建视觉地图的方法,不同点在于执行主体不同,例如还可以是无人驾驶汽车,那么就可以是通过无人驾驶汽车上的各个模块来执行上述方法步骤,在这里不做赘述。
在一个实施例中,其它移动设备还可以执行以下步骤:
从多帧关键帧中确定与多个地图点中每个地图点具有观测关系的关联关键帧;
根据关联关键帧对应的优化位姿通过三角化方法确定多个地图点中每个地图点的初始三维位置;
基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多个地图点中每个地图点的初始三维位置、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系构建视觉地图。
在一个实施例中,其它移动设备还可以执行以下步骤:
根据多个地图点中每个地图点的初始三维位置、多个地图点中每个地图点与相应关联关键帧中相应像素的关联关系、利用重投影方法确定多个地图点中每个地图点与相应关联关键帧中相应像素的重投影约束关系;
基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多个地图点中每个地图点的初始三维位置、多帧关键帧中相邻关键帧的帧间约束关系、多帧关键帧的回环约束关系以及重投影约束关系构建视觉地图。
在一个实施例中,其它移动设备还可以执行以下步骤:
根据多帧关键帧中相邻关键帧的帧间约束关系、多帧关键帧的回环约束关系以及重投影约束关系,对多帧关键帧中每一关键帧对应的优化位姿和多个地图点中每个地图点的初始三维位置进行优化,得到多帧关键帧中每一关键帧对应的目标位姿以及多个地图点中每个地图点的目标三维位置;
根据多帧关键帧、多帧关键帧中每一关键帧对应的目标位姿、多个地图点以及多个地图点中每个地图点的目标三维位置构建视觉地图。
在一个实施例中,其它移动设备还可以执行以下步骤:
通过视觉传感器采集多帧图像,通过定位传感器采集多帧图像中每一帧图像对应的位姿;
从多帧图像中选择满足第一预设规则的图像作为多帧关键帧;
将多帧关键帧中每一关键帧对应的位姿作为多帧关键帧中每一关键帧对应的初始位姿。
在一个实施例中,其它移动设备还可以执行以下步骤:
对多帧关键帧进行回环检测,从多帧关键帧中得到目标关键帧,其中,目标关键帧至少包括两帧关键帧;基于目标关键帧之间的关系确定多帧关键帧的回环约束关系。
在一个实施例中,其它移动设备还可以执行以下步骤:
从多帧关键帧中确定参考关键帧;从多帧关键帧中确定比较关键帧,其中,参考关键帧对应的第一时间早于比较关键帧对应的第二时间;将参考关键帧中的第一角点信息与比较关键帧中的第二角点信息进行匹配,得到第一角点信息与第二角点信息的匹配成功率;若匹配成功率大于预设阈值,则将比较关键帧的第一位移与参考关键帧的第二位移的位移差值与距离阈值进行比较;若位移差值大于距离阈值,则将比较关键帧和参考关键帧作为目标关键帧。
在一个实施例中,其它移动设备还可以执行以下步骤:
在匹配成功率小于等于预设阈值时,返回执行从多帧关键帧中确定比较关键帧的步骤,直至确定出匹配成功率大于预设阈值的比较关键帧;根据匹配成功率大于预设阈值的比较关键帧以及参考关键帧,确定目标关键帧。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的地图构建方法的地图构建装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个地图构建装置实施例中的具体限定可以参见上文中对于地图构建方法的限定,在此不再赘述。
在一个实施例中,如图11所示,提供了一种地图构建装置1100,包括:获取模块1102、第一优化模块1104以及优化构建模块1106,其中:
获取模块1102,用于获取多帧关键帧中每一关键帧对应的初始位姿、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系;
第一优化模块1104,用于根据多帧关键帧中相邻帧的帧间约束关系和多帧关键帧的回环约束关系,对多帧关键帧中每一关键帧对应的初始位姿进行优化,得到多帧关键帧中每一关键帧对应的优化位姿;
优化构建模块1106,用于基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系构建视觉地图。
在一个实施例中,优化构建模块1106,具体用于从多帧关键帧中确定与多个地图点中每个地图点具有观测关系的关联关键帧;
根据关联关键帧对应的优化位姿通过三角化方法确定多个地图点中每个地图点的初始三维位置;
基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多个地图点中每个地图点的初始三维位置、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系构建视觉地图。
在一个实施例中,优化构建模块1106,具体还用于根据多个地图点中每个地图点的初始三维位置、多个地图点中每个地图点与相应关联关键帧中相应像素的关联关系、利用重投影方法确定多个地图点中每个地图点与相应关联关键帧中相应像素的重投影约束关系;
基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多个地图点中每个地图点的初始三维位置、多帧关键帧中相邻关键帧的帧间约束关系、多帧关键帧的回环约束关系以及重投影约束关系构建视觉地图。
在一个实施例中,优化构建模块1106,具体还用于根据多帧关键帧中相邻关键帧的帧间约束关系、多帧关键帧的回环约束关系以及重投影约束关系,对多帧关键帧中每一关键帧对应的优化位姿及多个地图点中每个地图点的初始三维位置进行优化,得到多帧关键帧中每一关键帧对应的目标位姿以及多个地图点中每个地图点的目标三维位置;
根据多帧关键帧、多帧关键帧中每一关键帧对应的目标位姿、多个地图点以及多个地图点中每个地图点的目标三维位置构建视觉地图。
在一个实施例中,上述装置还包括视觉传感器、定位传感器、第一确定模块以及第二确定模块,
视觉传感器,用于采集多帧图像,定位传感器,用于采集多帧图像中每一帧图像对应的位姿;
第一确定模块,用于从多帧图像中选择满足第一预设规则的图像作为多帧关键帧;
第二确定模块,用于将多帧关键帧中每一关键帧对应的位姿作为多帧关键帧中每一关键帧对应的初始位姿。
在一个实施例中,上述装置还包括检测确定模块,
检测确定模块,用于对多帧关键帧进行回环检测,从多帧关键帧中得到目标关键帧,其中,目标关键帧至少包括两帧关键帧;基于目标关键帧之间的关系确定多帧关键帧的回环约束关系。
在一个实施例中,上述检测确定模块,还用于从多帧关键帧中确定参考关键帧;从多帧关键帧中确定比较关键帧,其中,参考关键帧对应的第一时间早于比较关键帧对应的第二时间;将参考关键帧中的第一角点信息与比较关键帧中的第二角点信息进行匹配,得到第一角点信息与第二角点信息的匹配成功率;若匹配成功率大于预设阈值,则将比较关键帧的第一位移与参考关键帧的第二位移的位移差值与距离阈值进行比较;若位移差值大于距离阈值,则将比较关键帧和参考关键帧作为目标关键帧。
在一个实施例中,上述检测确定模块,还用于在匹配成功率小于等于预设阈值时,返回执行从多帧关键帧中确定比较关键帧的步骤,直至确定出匹配成功率大于预设阈值的比较关键帧;根据匹配成功率大于预设阈值的比较关键帧以及参考关键帧,确定目标关键帧。
在一个实施例中,提供了一种地图构建设备,该地图构建设备可以是机器人、无人驾驶汽车等,其内部结构图可以如图12所示。该地图构建设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该地图构建设备的处理器用于提供计算和控制能力。该地图构建设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该地图构建设备的数据库用于存储关键帧数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种地图构建方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种地图构建设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取多帧关键帧中每一关键帧对应的初始位姿、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系;
根据多帧关键帧中相邻帧的帧间约束关系和多帧关键帧的回环约束关系,对多帧关键帧中每一关键帧对应的初始位姿进行优化,得到多帧关键帧中每一关键帧对应的优化位姿;
基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系构建视觉地图。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
从多帧关键帧中确定与多个地图点中每个地图点具有观测关系的关联关键帧;
根据关联关键帧对应的优化位姿通过三角化方法确定多个地图点中每个地图点的初始三维位置;
基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多个地图点中每个地图点的初始三维位置、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系构建视觉地图。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据多个地图点中每个地图点的初始三维位置、多个地图点中每个地图点与相应关联关键帧中相应像素的关联关系、利用重投影方法确定多个地图点中每个地图点与相应关联关键帧中相应像素的重投影约束关系;
基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多个地图点中每个地图点的初始三维位置、多帧关键帧中相邻关键帧的帧间约束关系、多帧关键帧的回环约束关系以及重投影约束关系构建视觉地图。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据多帧关键帧中相邻关键帧的帧间约束关系、多帧关键帧的回环约束关系以及重投影约束关系,对多帧关键帧中每一关键帧对应的优化位姿和多个地图点中每个地图点的初始三维位置进行优化,得到多帧关键帧中每一关键帧对应的目标位姿以及多个地图点中每个地图点的目标三维位置;
根据多帧关键帧、多帧关键帧中每一关键帧对应的目标位姿、多个地图点以及多个地图点中每个地图点的目标三维位置构建视觉地图。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
通过视觉传感器采集多帧图像,通过定位传感器采集多帧图像中每一帧图像对应的位姿;
从多帧图像中选择满足第一预设规则的图像作为多帧关键帧;
将多帧关键帧中每一关键帧对应的位姿作为多帧关键帧中每一关键帧对应的初始位姿。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对多帧关键帧进行回环检测,从多帧关键帧中得到目标关键帧,其中,目标关键帧至少包括两帧关键帧;基于目标关键帧之间的关系确定多帧关键帧的回环约束关系。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
从多帧关键帧中确定参考关键帧;从多帧关键帧中确定比较关键帧,其中,参考关键帧对应的第一时间早于比较关键帧对应的第二时间;将参考关键帧中的第一角点信息与比较关键帧中的第二角点信息进行匹配,得到第一角点信息与第二角点信息的匹配成功率;若匹配成功率大于预设阈值,则将比较关键帧的第一位移与参考关键帧的第二位移的位移差值与距离阈值进行比较;若位移差值大于距离阈值,则将比较关键帧和参考关键帧作为目标关键帧。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在匹配成功率小于等于预设阈值时,返回执行从多帧关键帧中确定比较关键帧的步骤,直至确定出匹配成功率大于预设阈值的比较关键帧;根据匹配成功率大于预设阈值的比较关键帧以及参考关键帧,确定目标关键帧。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取多帧关键帧中每一关键帧对应的初始位姿、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系;
根据多帧关键帧中相邻帧的帧间约束关系和多帧关键帧的回环约束关系,对多帧关键帧中每一关键帧对应的初始位姿进行优化,得到多帧关键帧中每一关键帧对应的优化位姿;
基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系构建视觉地图。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
从多帧关键帧中确定与多个地图点中每个地图点具有观测关系的关联关键帧;
根据关联关键帧对应的优化位姿通过三角化方法确定多个地图点中每个地图点的初始三维位置;
基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多个地图点中每个地图点的初始三维位置、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系构建视觉地图。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据多个地图点中每个地图点的初始三维位置、多个地图点中每个地图点与相应关联关键帧中相应像素的关联关系、利用重投影方法确定多个地图点中每个地图点与相应关联关键帧中相应像素的重投影约束关系;
基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多个地图点中每个地图点的初始三维位置、多帧关键帧中相邻关键帧的帧间约束关系、多帧关键帧的回环约束关系以及重投影约束关系构建视觉地图。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据多帧关键帧中相邻关键帧的帧间约束关系、多帧关键帧的回环约束关系以及重投影约束关系,对多帧关键帧中每一关键帧对应的优化位姿及多个地图点中每个地图点的初始三维位置,得到多帧关键帧中每一关键帧对应的目标位姿以及多个地图点中每个地图点的目标三维位置;
根据多帧关键帧、多帧关键帧中每一关键帧对应的目标位姿、多个地图点以及多个地图点中每个地图点的目标三维位置构建视觉地图。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过视觉传感器采集多帧图像,通过定位传感器采集多帧图像中每一帧图像对应的位姿;
从多帧图像中选择满足第一预设规则的图像作为多帧关键帧;
将多帧关键帧中每一关键帧对应的位姿作为多帧关键帧中每一关键帧对应的初始位姿。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对多帧关键帧进行回环检测,从多帧关键帧中得到目标关键帧,其中,目标关键帧至少包括两帧关键帧;基于目标关键帧之间的关系确定多帧关键帧的回环约束关系。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
从多帧关键帧中确定参考关键帧;从多帧关键帧中确定比较关键帧,其中,参考关键帧对应的第一时间早于比较关键帧对应的第二时间;将参考关键帧中的第一角点信息与比较关键帧中的第二角点信息进行匹配,得到第一角点信息与第二角点信息的匹配成功率;若匹配成功率大于预设阈值,则将比较关键帧的第一位移与参考关键帧的第二位移的位移差值与距离阈值进行比较;若位移差值大于距离阈值,则将比较关键帧和参考关键帧作为目标关键帧。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在匹配成功率小于等于预设阈值时,返回执行从多帧关键帧中确定比较关键帧的步骤,直至确定出匹配成功率大于预设阈值的比较关键帧;根据匹配成功率大于预设阈值的比较关键帧以及参考关键帧,确定目标关键帧。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取多帧关键帧中每一关键帧对应的初始位姿、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系;
根据多帧关键帧中相邻帧的帧间约束关系和多帧关键帧的回环约束关系,对多帧关键帧中每一关键帧对应的初始位姿进行优化,得到多帧关键帧中每一关键帧对应的优化位姿;
基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系构建视觉地图。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
从多帧关键帧中确定与多个地图点中每个地图点具有观测关系的关联关键帧;
根据关联关键帧对应的优化位姿通过三角化方法确定多个地图点中每个地图点的初始三维位置;
基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多个地图点中每个地图点的初始三维位置、多帧关键帧中相邻关键帧的帧间约束关系和多帧关键帧的回环约束关系构建视觉地图。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据多个地图点中每个地图点的初始三维位置、多个地图点中每个地图点与相应关联关键帧中相应像素的关联关系、利用重投影方法确定多个地图点中每个地图点与相应关联关键帧中相应像素的重投影约束关系;
基于多帧关键帧、多帧关键帧中每一关键帧对应的优化位姿、多个地图点、多个地图点中每个地图点的初始三维位置、多帧关键帧中相邻关键帧的帧间约束关系、多帧关键帧的回环约束关系以及重投影约束关系构建视觉地图。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据多帧关键帧中相邻关键帧的帧间约束关系、多帧关键帧的回环约束关系以及重投影约束关系,对多帧关键帧中每一关键帧对应的优化位姿及多个地图点中每个地图点的初始三维位置,得到多帧关键帧中每一关键帧对应的目标位姿以及多个地图点中每个地图点的目标三维位置;
根据多帧关键帧、多帧关键帧中每一关键帧对应的目标位姿、多个地图点以及多个地图点中每个地图点的目标三维位置构建视觉地图。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过视觉传感器采集多帧图像,通过定位传感器采集多帧图像中每一帧图像对应的位姿;
从多帧图像中选择满足第一预设规则的图像作为多帧关键帧;
将多帧关键帧中每一关键帧对应的位姿作为多帧关键帧中每一关键帧对应的初始位姿。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对多帧关键帧进行回环检测,从多帧关键帧中得到目标关键帧,其中,目标关键帧至少包括两帧关键帧;基于目标关键帧之间的关系确定多帧关键帧的回环约束关系。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
从多帧关键帧中确定参考关键帧;从多帧关键帧中确定比较关键帧,其中,参考关键帧对应的第一时间早于比较关键帧对应的第二时间;将参考关键帧中的第一角点信息与比较关键帧中的第二角点信息进行匹配,得到第一角点信息与第二角点信息的匹配成功率;若匹配成功率大于预设阈值,则将比较关键帧的第一位移与参考关键帧的第二位移的位移差值与距离阈值进行比较;若位移差值大于距离阈值,则将比较关键帧和参考关键帧作为目标关键帧。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在匹配成功率小于等于预设阈值时,返回执行从多帧关键帧中确定比较关键帧的步骤,直至确定出匹配成功率大于预设阈值的比较关键帧;根据匹配成功率大于预设阈值的比较关键帧以及参考关键帧,确定目标关键帧。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种机器人,其特征在于,所述机器人包括存储器和处理器,所述存储器中存储有可执行程序代码,所述处理器用于执行所述可执行程序代码时实现如下步骤:
获取多帧关键帧中每一关键帧对应的初始位姿、所述多帧关键帧中相邻关键帧的帧间约束关系和所述多帧关键帧的回环约束关系;
根据所述多帧关键帧中相邻帧的帧间约束关系和所述多帧关键帧的回环约束关系,对所述多帧关键帧中每一关键帧对应的初始位姿进行优化,得到所述多帧关键帧中每一关键帧对应的优化位姿;
基于所述多帧关键帧、所述多帧关键帧中每一关键帧对应的优化位姿、多个地图点、所述多帧关键帧中相邻关键帧的帧间约束关系和所述多帧关键帧的回环约束关系构建所述机器人的视觉地图。
2.根据权利要求1所述的机器人,其特征在于,所述基于所述多帧关键帧、所述多帧关键帧中每一关键帧对应的优化位姿、多个地图点、所述多帧关键帧中相邻关键帧的帧间约束关系和所述多帧关键帧的回环约束关系构建所述机器人的视觉地图,包括:
从所述多帧关键帧中确定与多个地图点中每个地图点具有观测关系的关联关键帧;
根据所述关联关键帧对应的优化位姿通过三角化方法确定所述多个地图点中每个地图点的初始三维位置;
基于所述多帧关键帧、所述多帧关键帧中每一关键帧对应的优化位姿、所述多个地图点、所述多个地图点中每个地图点的初始三维位置、所述多帧关键帧中相邻关键帧的帧间约束关系和所述多帧关键帧的回环约束关系构建所述机器人的视觉地图。
3.根据权利要求2所述的机器人,其特征在于,所述基于所述多帧关键帧、所述多帧关键帧中每一关键帧对应的优化位姿、所述多个地图点、所述多个地图点中每个地图点的初始三维位置、所述多帧关键帧中相邻关键帧的帧间约束关系和所述多帧关键帧的回环约束关系构建所述机器人的视觉地图,包括:
根据所述多个地图点中每个地图点的初始三维位置、所述多个地图点中每个地图点与相应关联关键帧中相应像素的关联关系、利用重投影方法确定所述多个地图点中每个地图点与相应关联关键帧中相应像素的重投影约束关系;
基于所述多帧关键帧、所述多帧关键帧中每一关键帧对应的优化位姿、所述多个地图点、所述多个地图点中每个地图点的初始三维位置、所述多帧关键帧中相邻关键帧的帧间约束关系、所述多帧关键帧的回环约束关系以及所述重投影约束关系构建所述机器人的视觉地图。
4.根据权利要求3所述的机器人,其特征在于,所述基于所述多帧关键帧、所述多帧关键帧中每一关键帧对应的优化位姿、所述多个地图点、所述多个地图点中每个地图点的初始三维位置、所述多帧关键帧中相邻关键帧的帧间约束关系、所述多帧关键帧的回环约束关系以及所述重投影约束关系构建所述机器人的视觉地图,包括:
根据所述多帧关键帧中相邻关键帧的帧间约束关系、所述多帧关键帧的回环约束关系以及所述重投影约束关系,对所述多帧关键帧中每一关键帧对应的优化位姿及所述多个地图点中每个地图点的初始三维位置进行优化,得到所述多帧关键帧中每一关键帧对应的目标位姿以及所述多个地图点中每个地图点的目标三维位置;
根据所述多帧关键帧、所述多帧关键帧中每一关键帧对应的目标位姿、所述多个地图点以及所述多个地图点中每个地图点的目标三维位置构建所述机器人的视觉地图。
5.根据权利要求1所述的机器人,其特征在于,所述机器人搭载有定位传感器和视觉传感器,所述处理器用于执行所述可执行代码时还实现如下步骤:
通过所述视觉传感器采集多帧图像,和通过所述定位传感器采集所述多帧图像中每一帧图像对应的位姿;
从所述多帧图像中选择满足第一预设规则的图像作为所述多帧关键帧;
将所述多帧关键帧中每一关键帧对应的位姿作为所述多帧关键帧中每一关键帧对应的初始位姿。
6.根据权利要求5所述的机器人,其特征在于,所述处理器用于执行所述可执行代码时还实现如下步骤:
对所述多帧关键帧进行回环检测,从所述多帧关键帧中得到目标关键帧,其中,所述目标关键帧至少包括两帧关键帧;
基于所述目标关键帧之间的关系确定所述多帧关键帧的回环约束关系。
7.根据权利要求5所述的机器人,其特征在于,所述对所述多帧关键帧进行回环检测,从所述多帧关键帧中得到目标关键帧,包括:
从所述多帧关键帧中确定参考关键帧;
从所述多帧关键帧中确定比较关键帧,其中,所述参考关键帧对应的第一时间早于所述比较关键帧对应的第二时间;
将所述参考关键帧中的第一角点信息与所述比较关键帧中的第二角点信息进行匹配,得到所述第一角点信息与所述第二角点信息的匹配成功率;
若所述匹配成功率大于预设阈值,则将所述比较关键帧的第一位移与所述参考关键帧的第二位移的位移差值与距离阈值进行比较;
若所述位移差值大于所述距离阈值,则将所述比较关键帧和所述参考关键帧作为所述目标关键帧。
8.根据权利要求7所述的机器人,其特征在于,所述处理器用于执行所述可执行代码时还实现如下步骤:
若所述匹配成功率小于等于所述预设阈值,则返回执行从所述多帧关键帧中确定比较关键帧的步骤,直至确定出匹配成功率大于所述预设阈值的比较关键帧;
根据匹配成功率大于所述预设阈值的比较关键帧以及所述参考关键帧,确定所述目标关键帧。
9.一种地图构建方法,其特征在于,包括:
获取多帧关键帧中每一关键帧对应的初始位姿、所述多帧关键帧中相邻关键帧的帧间约束关系和所述多帧关键帧的回环约束关系;
根据所述多帧关键帧中相邻帧的帧间约束关系和所述多帧关键帧的回环约束关系,对所述多帧关键帧中每一关键帧对应的初始位姿进行优化,得到所述多帧关键帧中每一关键帧对应的优化位姿;
基于所述多帧关键帧、所述多帧关键帧中每一关键帧对应的优化位姿、多个地图点、所述多帧关键帧中相邻关键帧的帧间约束关系和所述多帧关键帧的回环约束关系构建视觉地图。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求9中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210526529.1A CN114619453B (zh) | 2022-05-16 | 2022-05-16 | 机器人、地图构建方法及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210526529.1A CN114619453B (zh) | 2022-05-16 | 2022-05-16 | 机器人、地图构建方法及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114619453A true CN114619453A (zh) | 2022-06-14 |
CN114619453B CN114619453B (zh) | 2022-09-20 |
Family
ID=81906976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210526529.1A Active CN114619453B (zh) | 2022-05-16 | 2022-05-16 | 机器人、地图构建方法及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114619453B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107808407A (zh) * | 2017-10-16 | 2018-03-16 | 亿航智能设备(广州)有限公司 | 基于双目相机的无人机视觉slam方法、无人机及存储介质 |
CN107845114A (zh) * | 2017-11-10 | 2018-03-27 | 北京三快在线科技有限公司 | 地图的构建方法、装置及电子设备 |
US20200240793A1 (en) * | 2019-01-28 | 2020-07-30 | Qfeeltech (Beijing) Co., Ltd. | Methods, apparatus, and systems for localization and mapping |
CN112917467A (zh) * | 2019-12-06 | 2021-06-08 | 深圳市优必选科技股份有限公司 | 机器人的定位及地图构建方法、装置及终端设备 |
CN113160270A (zh) * | 2021-02-24 | 2021-07-23 | 广州视源电子科技股份有限公司 | 视觉地图生成方法、装置、终端及存储介质 |
CN113326769A (zh) * | 2021-05-28 | 2021-08-31 | 北京三快在线科技有限公司 | 高精地图生成方法、装置、设备及存储介质 |
CN113674424A (zh) * | 2021-08-31 | 2021-11-19 | 北京三快在线科技有限公司 | 一种电子地图绘制的方法及装置 |
-
2022
- 2022-05-16 CN CN202210526529.1A patent/CN114619453B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107808407A (zh) * | 2017-10-16 | 2018-03-16 | 亿航智能设备(广州)有限公司 | 基于双目相机的无人机视觉slam方法、无人机及存储介质 |
CN107845114A (zh) * | 2017-11-10 | 2018-03-27 | 北京三快在线科技有限公司 | 地图的构建方法、装置及电子设备 |
US20200240793A1 (en) * | 2019-01-28 | 2020-07-30 | Qfeeltech (Beijing) Co., Ltd. | Methods, apparatus, and systems for localization and mapping |
CN112917467A (zh) * | 2019-12-06 | 2021-06-08 | 深圳市优必选科技股份有限公司 | 机器人的定位及地图构建方法、装置及终端设备 |
CN113160270A (zh) * | 2021-02-24 | 2021-07-23 | 广州视源电子科技股份有限公司 | 视觉地图生成方法、装置、终端及存储介质 |
CN113326769A (zh) * | 2021-05-28 | 2021-08-31 | 北京三快在线科技有限公司 | 高精地图生成方法、装置、设备及存储介质 |
CN113674424A (zh) * | 2021-08-31 | 2021-11-19 | 北京三快在线科技有限公司 | 一种电子地图绘制的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114619453B (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109084732B (zh) | 定位与导航方法、装置及处理设备 | |
US10748061B2 (en) | Simultaneous localization and mapping with reinforcement learning | |
Davison et al. | Simultaneous localization and map-building using active vision | |
CN109186606B (zh) | 一种基于slam和图像信息的机器人构图及导航方法 | |
CN110967711A (zh) | 数据采集方法和系统 | |
CN104062973A (zh) | 一种基于图像标志物识别的移动机器人slam方法 | |
CN112734765A (zh) | 基于实例分割与多传感器融合的移动机器人定位方法、系统及介质 | |
Xie et al. | RDC-SLAM: A real-time distributed cooperative SLAM system based on 3D LiDAR | |
CN110260866A (zh) | 一种基于视觉传感器的机器人定位与避障方法 | |
Yu et al. | Evidential occupancy grid mapping with stereo-vision | |
US20170108338A1 (en) | Method for geolocating a carrier based on its environment | |
Chawla et al. | Multimodal scale consistency and awareness for monocular self-supervised depth estimation | |
Khoshelham et al. | Vehicle positioning in the absence of GNSS signals: Potential of visual-inertial odometry | |
Valente et al. | Fusing laser scanner and stereo camera in evidential grid maps | |
KR20100066952A (ko) | 스테레오 비전을 이용하여 장애물을 추적하는 장치 및 방법 | |
Valente et al. | Evidential SLAM fusing 2D laser scanner and stereo camera | |
Liu et al. | Hybrid metric-feature mapping based on camera and Lidar sensor fusion | |
Jo et al. | Mixture density-PoseNet and its application to monocular camera-based global localization | |
CN113433937A (zh) | 基于启发式探索的分层导航避障系统、分层导航避障方法 | |
CN114619453B (zh) | 机器人、地图构建方法及计算机可读存储介质 | |
Irmisch et al. | Simulation framework for a visual-inertial navigation system | |
Xiaoji et al. | A pedestrian POS for indoor Mobile Mapping System based on foot-mounted visual–inertial sensors | |
CN113379850B (zh) | 移动机器人控制方法、装置、移动机器人及存储介质 | |
Badalkhani et al. | Multi-robot SLAM in dynamic environments with parallel maps | |
CN113034538B (zh) | 一种视觉惯导设备的位姿跟踪方法、装置及视觉惯导设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |