CN117392229A - 机器人定位方法、装置、设备、机器人及存储介质 - Google Patents
机器人定位方法、装置、设备、机器人及存储介质 Download PDFInfo
- Publication number
- CN117392229A CN117392229A CN202311378463.7A CN202311378463A CN117392229A CN 117392229 A CN117392229 A CN 117392229A CN 202311378463 A CN202311378463 A CN 202311378463A CN 117392229 A CN117392229 A CN 117392229A
- Authority
- CN
- China
- Prior art keywords
- image
- robot
- feature point
- pose
- feature points
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000008859 change Effects 0.000 claims abstract description 126
- 230000003287 optical effect Effects 0.000 claims abstract description 40
- 230000001502 supplementing effect Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 16
- 238000005457 optimization Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 abstract description 20
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 206010034719 Personality change Diseases 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- 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/77—Determining position or orientation of objects or cameras using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/254—Analysis of motion involving subtraction of images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种机器人定位方法、装置、设备、机器人、及存储介质,包括:从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i‑1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;所述机器人相机包括至少两个摄像头;至少基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量;若所述位姿变化量不大于预设的位姿变化阈值,并且所述第i‑1帧图像的图像特征点是通过对所述机器人相机的各个摄像头采集的第i‑1帧图像进行特征点光流追踪匹配而确定的,则基于所述第一特征点集中的图像特征点确定所述机器人的位姿。根据本申请的技术方案,能够有效减小机器人的算力占用。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种机器人定位方法、装置、设备、机器人及存储介质。
背景技术
随着科学技术在智能机器人领域的快速发展,具有智能感知与自主移动功能的智能机器人在各行各业中发挥了重要作用。高精度的定位系统是智能感知和自主移动的基础。
基于摄像头的定位算法一般是利用相机图像追踪特征点,但是,特征点的追踪需要耗费大量的算力,而机器人还需要执行多种复杂的任务,使得机器人在定位上能使用的算力有限,难以实现及时、有效的定位。
发明内容
为了解决上述问题,本申请提出一种机器人定位方法、装置、设备、机器人及存储介质,能够减小机器人定位的算力占用,从而能够在有限算力情况下实现及时、有效的定位。
根据本申请实施例的第一方面,提供了一种机器人定位方法,包括:
从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;所述机器人相机包括至少两个摄像头;
至少基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量;所述位姿变化量表示所述机器人在采集所述第i帧图像时的位姿相对于采集所述第i-1帧图像时的位姿的变化量;
若所述位姿变化量不大于预设的位姿变化阈值,并且所述第i-1帧图像的图像特征点是通过对所述机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,则基于所述第一特征点集中的图像特征点确定所述机器人的位姿;其中,m和i均为正整数。
可选的,所述方法还包括:
若所述位姿变化量大于预设的位姿变化阈值,或者,所述位姿变化量不大于预设的位姿变化阈值且所述第i-1帧图像的图像特征点是从所述第m个摄像头采集的第i-1帧图像中,确定出的与第i-2帧图像的图像特征点相匹配的图像特征点,则基于所述第一特征点集中的图像特征点,对所述机器人相机的各个摄像头采集的第i帧图像进行特征点光流追踪匹配,得到第二特征点集;
基于所述第二特征点集中的图像特征点,确定所述机器人的位姿。
可选的,所述至少基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量,包括:
基于所述第一特征点集中的图像特征点,确定所述机器人在采集所述第i帧图像时的位置和姿态;
基于所述机器人在采集所述第i帧图像时的位置和姿态,以及预先获取的所述机器人在采集所述第i-1帧图像时的位置和姿态,确定所述机器人的位姿变化量。
可选的,在基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量之前,所述方法还包括:
判断所述第一特征点集中的图像特征点数量是否大于预设的数量阈值;
若不大于预设的数量阈值,则向所述第一特征点集补充图像特征点。
可选的,所述预设的数量阈值由预设的匹配特征点数量而确定;
所述向所述第一特征点集补充图像特征点,包括:
向所述第一特征点集补充图像特征点,以使所述第一特征点集中的图像特征点数量达到所述预设的匹配特征点数量。
可选的,基于所述第一特征点集中的图像特征点确定所述机器人的位姿,包括:
对所述第一特征点集中的图像特征点进行三维深度恢复,得到由三维特征点构成的第三特征点集;
对所述第三特征点集中的三维特征点进行滑动窗口优化处理,确定所述机器人的位姿信息。
根据本申请实施例的第二方面,提供了一种机器人定位装置,包括:
特征点匹配模块,用于从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;所述机器人相机包括至少两个摄像头;
位姿变化模块,用于至少基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量;所述位姿变化量表示所述机器人在采集所述第i帧图像时的位姿相对于采集所述第i-1帧图像时的位姿的变化量;
定位模块,用于若所述位姿变化量不大于预设的位姿变化阈值,并且所述第i-1帧图像的图像特征点是通过对所述机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,则基于所述第一特征点集中的图像特征点确定所述机器人的位姿;其中,m和i均为正整数。
根据本申请实施例的第三方面,提供了一种机器人,包括相机以及与所述相机连接的处理器,所述相机至少包括两个摄像头;
所述处理器,用于从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量;所述位姿变化量表示所述机器人在采集所述第i帧图像时的位姿相对于采集所述第i-1帧图像时的位姿的变化量;若所述位姿变化量不大于预设的位姿变化阈值,并且所述第i-1帧图像的图像特征点是通过对所述机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,则基于所述第一特征点集中的图像特征点确定所述机器人的位姿;其中,m和i均为正整数。
可选的,所述处理器还用于:若所述位姿变化量大于预设的位姿变化阈值,或者,所述位姿变化量不大于预设的位姿变化阈值且所述第i-1帧图像的图像特征点是从所述第m个摄像头采集的第i-1帧图像中,确定出的与第i-2帧图像的图像特征点相匹配的图像特征点,则基于所述第一特征点集中的图像特征点,对所述机器人相机的各个摄像头采集的第i帧图像进行特征点光流追踪匹配,得到第二特征点集;基于所述第二特征点集中的图像特征点,确定所述机器人的位姿。
可选的,所述处理器还用于:判断所述第一特征点集中的图像特征点数量是否大于预设的数量阈值;若不大于预设的数量阈值,则向所述第一特征点集补充图像特征点。
本申请第四方面提供了一种电子设备,包括:
存储器和处理器;
所述存储器与所述处理器连接,用于存储程序;
所述处理器,通过运行所述存储器中的程序,实现上述的机器人定位方法。
本申请第五方面提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现上述的机器人定位方法。
上述申请中的一个实施例具有如下优点或有益效果:
从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;至少基于第一特征点集中的图像特征点,确定机器人的位姿变化量;若位姿变化量不大于预设的位姿变化阈值,并且第i-1帧图像的图像特征点是通过对机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,则基于第一特征点集中的图像特征点确定机器人的位姿。由此可见,利用位姿变化量确定机器人相邻两帧的位姿变化情况,在机器人的位姿变化较小且第i-1帧图像的图像特征点是采用相机的各个摄像头的图像所确定的情况下,只采用第m个摄像头采集的第i帧图像对应的第一特征点集确定机器人的当前位姿,无需采用相机的其他摄像头采集的第i帧图像来确定机器人的当前位姿,这样,能够降低采用多个摄像头进行光流追踪的执行频率,从而减小机器人的算力占用,从而能够在有限算力情况下实现及时、有效的定位。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种机器人定位方法的流程示意图;
图2为本申请实施例提供的一种机器人定位系统的示意图;
图3为本申请实施例提供的一种机器人定位方法的具体流程示意图;
图4为本申请实施例提供的一种机器人定位装置的结构示意图;
图5为本申请实施例提供的一种机器人的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
本申请实施例技术方案适用于应用在各种机器人定位的场景中。采用本申请实施例技术方案,能够降低机器人定位的算力占用,从而能够在有限算力情况下实现及时、有效的机器人定位。
本申请实施例技术方案可示例性地应用于处理器、电子设备、服务器(包括云服务器)等硬件设备,或包装成软件程序被运行。上述的硬件设备,具体是指用于对机器人进行定位的硬件设备,比如可以是机器人内部的处理器、数据运算单元等,也可以是设置于机器人外部,用于基于机器人采集的数据远程对机器人进行定位的硬件设备。当硬件设备执行本申请实施例技术方案的处理过程,或上述软件程序被运行时,可以实现有选择性的使用多个摄像头进行光流追踪,实现减小机器人算力占用的目的。本申请实施例只对本申请技术方案的具体处理过程进行示例性介绍,并不对本申请技术方案的具体实现形式进行限定,任意的可以执行本申请技术方案处理过程的技术实现形式,都可以被本申请实施例所采用。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
示例性方法
图1是根据本申请一实施例的机器人定位方法的流程图。该方法应用于基于双目相机光流跟踪的机器人定位场景中,其中,基于双目相机光流跟踪的机器人定位,是指借助机器人的双目相机进行图像采集,并对采集的图像进行图像特征点的光流跟踪,进而基于特征点光流跟踪结果精准解析不同时刻采集的图像之间的变化,以及,基于机器人在不同时刻采集的图像的变化,反推确定机器人位姿。在上述过程中,对双目相机的图像特征点光流跟踪需要消耗大量算力。而本申请实施例提出的机器人定位方法,则是针对上述的机器人定位过程进行的优化方案,可以减少上述定位过程的算力消耗,从而能够通过较小的算力消耗,实现及时、准确的机器人定位。
在一示例性实施例中,提供了一种机器人定位方法,包括:
S110、从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;所述机器人相机包括至少两个摄像头;
S120、至少基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量;所述位姿变化量表示所述机器人在采集所述第i帧图像时的位姿相对于采集所述第i-1帧图像时的位姿的变化量;
S130、若所述位姿变化量不大于预设的位姿变化阈值,并且所述第i-1帧图像的图像特征点是通过对所述机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,则基于所述第一特征点集中的图像特征点确定所述机器人的位姿;其中,m和i均为正整数。
在步骤S110中,示例性地,机器人相机是由多个平行放置的摄像头组成的相机系统。例如,机器人相机可以是双目相机,双目相机的两个摄像头之间是固定的距离,而双目相机的两个摄像头之间的距离称为基线。
可选地,机器人相机的第m个摄像头可以是机器人相机中的任意一个摄像头,也可以是机器人相机中指定的某个摄像头,在此不作限定。第i-1帧图像的图像特征点可以是对第i-1帧图像进行特征点提取确定的,还可以是根据第i-2帧图像的图像特征点对第i-1帧图像进行特征点追踪确定的。
可选地,可以利用光流法对第i-1帧图像的图像特征点和第m个摄像头采集的第i帧图像进行处理,即在第m个摄像头采集的第i帧图像中找出第i-1帧图像的图像特征点在该第i帧图像中的像素位置。若第i-1帧图像中的第j个图像特征点存在于第m个摄像头采集的第i帧图像中,则说明第j个图像特征点实现了两帧图像间的追踪,将第j个图像特征点加入第一特征点集。通过上述方式对第i-1帧图像的所有图像特征点进行判断,得到针对第i帧图像的第一特征点集。需要说明的是,光流法可以是稀疏光流追踪算法,其利用依赖图像的灰度不变假设和图像小区域内像素具有相同运动的假设,通过像素梯度变化追踪图像特征角点的方法。
可选地,先提取第m个摄像头采集的第i帧图像中的备选图像特征点,再将第i-1帧图像的图像特征点与备选图像特征点进行匹配处理,将匹配的特征点加入第一特征点集。具体地,匹配处理可以是计算第i-1帧图像的图像特征点与备选图像特征点之间的距离,将距离小于预设阈值的图像特征点加入第一特征点集。其中,预设阈值是根据实际情况设置的,在此不作限定。
在步骤S120中,示例性地,位姿变化量包括位置变化量和姿态变化量。可选地,根据第一特征点集中的图像特征点确定第i帧图像对应的机器人的姿态和位置。根据第i-1帧图像的图像特征点确定第i-1帧图像对应的机器人的姿态和位置。根据第i帧图像对应的机器人的姿态和第i-1帧图像对应的机器人的姿态确定姿态变化量。根据第i帧图像对应的机器人的位置和第i-1帧图像对应的机器人的位置确定位置变化量。并根据姿态变化量和位置变化量确定位姿变化量。
其中,第i帧图像或第i-1帧图像对应的机器人的姿态或位置,具体是指基于采集到的第i帧图像或第i-1帧图像而确定的机器人的姿态或位置。
在实际的机器人定位过程中,基于采集到的每一帧图像,均可以对机器人进行定位,因此,对应于采集到的每一帧图像,均可以确定相应的机器人位置或姿态信息。基于该定位过程,当采集到第i帧图像时,可以基于第i帧图像计算得到机器人位置和姿态,以及,获取在采集到第i-1帧图像时已经计算得到的机器人位置和姿态,进而可以计算采集到第i-1帧图像时的机器人位置和姿态与采集到第i帧图像时的机器人位置和姿态之间的差值,确定机器人位姿变化量。
在步骤S130中,示例性地,若第i-1帧图像的图像特征点是通过对机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,即表示在确定第i-1帧图像的图像特征点时采用了多个摄像头的光流追踪的技术。
预设的位姿变化阈值是预先根据实际情况进行设置的。具体地,位姿变化量不大于预设的位姿变化阈值,说明机器人在采集第i-1帧图像和采集第i帧图像时的位姿变化不大。在这种情况下,理论上可以不进行多目相机的图像特征点的光流跟踪,而只基于单目摄像头采集的图像中的特征点即可确定较准确的机器人位姿。
但是为了尽量避免误差,由于长时间不进行多目相机图像的光流跟踪而造成误差急剧累积,本申请实施例在确定机器人位置变化量不大于预设位姿变化量的情况下,还进一步判断在获取第i-1帧图像的图像特征点时,是否根据相机的各个摄像头采集的第i-1帧图像确定第i-1帧图像的特征点(即,判断第i-1帧图像是否采用多个摄像头进行光流追踪),若是,则说明在基于采集的第i-1帧图像进行机器人定位时执行了多目相机图像光流跟踪处理,在基于采集的第i帧图像进行机器人定位时,可以仅采用第m个摄像头采集的第i帧图像所确定的第一特征点集确定机器人当前的位姿。无需采用多个摄像头进行光流追踪。
进一步地,基于所述第一特征点集中的图像特征点确定所述机器人的位姿,包括:
对所述第一特征点集中的图像特征点进行三维深度恢复,得到由三维特征点构成的第三特征点集;对所述第三特征点集中的三维特征点进行滑动窗口优化处理,确定所述机器人的位姿信息。
具体地,以相机包括两个摄像头为例,根据两个摄像头的双目基线距离,完成第一特征点集中的图像特征点的三维深度恢复,得到第三特征点集。将第三特征点集中的三维特征点加入滑动窗口中进行重投影优化,并利用滑动窗口优化结果,剔除误匹配的三维特征点。最后根据筛选后的三维特征点输出机器人的定位和姿态。
在本申请的技术方案中,从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;至少基于第一特征点集中的图像特征点,确定机器人的位姿变化量;若位姿变化量不大于预设的位姿变化阈值,并且第i-1帧图像的图像特征点是通过对机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,则基于第一特征点集中的图像特征点确定机器人的位姿。由此可见,利用位姿变化量确定机器人相邻两帧的位姿变化情况,在机器人的位姿变化较小且第i-1帧图像的图像特征点是采用相机的各个摄像头的图像所确定的情况下,只采用第m个摄像头采集的第i帧图像对应的第一特征点集确定机器人的当前位姿,无需采用相机的其他摄像头采集的第i帧图像来确定机器人的当前位姿,这样,能够降低采用多个摄像头进行光流追踪的执行频率,从而减小机器人的算力占用,进而形成一套轻量化的机器人定位方法。
在一种实施方式中,所述方法还包括:
若所述位姿变化量大于预设的位姿变化阈值,或者,所述位姿变化量不大于预设的位姿变化阈值且所述第i-1帧图像的图像特征点是从所述第m个摄像头采集的第i-1帧图像中,确定出的与第i-2帧图像的图像特征点相匹配的图像特征点,则基于所述第一特征点集中的图像特征点,对所述机器人相机的各个摄像头采集的第i帧图像进行特征点光流追踪匹配,得到第二特征点集;
基于所述第二特征点集中的图像特征点,确定所述机器人的位姿。
可选地,从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;至少基于第一特征点集中的图像特征点,确定机器人的位姿变化量。若位姿变化量不大于预设的位姿变化阈值,则说明机器人在第i-1帧图像和第i帧图像中的位姿变化不大。再判断在确定第i-1帧图像的图像特征点时,是否是根据相机的各个摄像头采集的第i-1帧图像确定的第i-1帧图像的特征点(即,判断第i-1帧图像是否采用多个摄像头进行光流追踪),若否,则说明第i-1帧图像的特征点未采用多个摄像头进行光流追踪。第i-1帧图像的图像特征点是根据第m个摄像头采集的第i-1帧图像与第i-2帧图像的图像特征点进行光流追踪匹配所确定的。
为了保证特征点的准确性,在第i-1帧图像没有进行多目图像光流跟踪的情况下,对第i帧图像应当进行基于多个摄像头图像的光流追踪。因此,在确定所述位姿变化量不大于预设的位姿变化阈值且所述第i-1帧图像的图像特征点是从所述第m个摄像头采集的第i-1帧图像中,确定出的与第i-2帧图像的图像特征点相匹配的图像特征点的情况下,对机器人相机的各个摄像头采集的第i帧图像进行特征点光流跟踪匹配,具体是,获取相机的各个摄像头采集的第i帧图像,在各个摄像头采集的第i帧图像确定与第一特征点集中图像特征点匹配的目标图像特征点,将目标图像特征点加入第二特征点集,并对第二特征点集中的图像特征点进行三维深度恢复,得到由三维特征点构成的第四特征点集;对第四特征点集中的三维特征点进行滑动窗口优化处理,确定机器人的位姿信息。
在另一些实施例中,从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;至少基于第一特征点集中的图像特征点,确定机器人的位姿变化量。若位姿变化量大于预设的位姿变化阈值,则说明机器人在采集第i-1帧图像和采集第i帧图像时的位姿变化较大,所以需要采用多个摄像头进行光流追踪,保证追踪到的图像特征点的准确性。
则,获取相机的各个摄像头采集的第i帧图像,在各个摄像头采集的第i帧图像中确定出与第一特征点集中图像特征点匹配的目标图像特征点,将目标图像特征点加入第二特征点集,并对第二特征点集中的图像特征点进行三维深度恢复,得到由三维特征点构成的第四特征点集;对第四特征点集中的三维特征点进行滑动窗口优化处理,确定机器人的位姿信息。
需要说明的是,由于多个摄像头进行光流追踪所确定的图像特征点准确性较高,所以在机器人的位姿变化较小且第i-1帧图像的图像特征点是采用相机的第m个摄像头的第i-1帧图像所确定的,和/或机器人的位姿变化较大的情况下,采用相机的各个摄像头采集的第i帧图像来确定机器人的当前位姿,从而实现有选择性的采用多个摄像头进行光流追踪,即保证了机器人定位的稳定性,又降低了多目相机图像的光流跟踪的执行频率,减小了机器人的算力占用,进而形成一套轻量化的机器人定位方法。
在一种实施方式中,在基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量之前,所述方法还包括:
判断所述第一特征点集中的图像特征点数量是否大于预设的数量阈值;其中,所述预设的数量阈值由预设的匹配特征点数量而确定;预设的匹配特征点数量是根据实际经验进行设置的,在此不作限定。
若不大于预设的数量阈值,则向所述第一特征点集补充图像特征点。
示例性地,从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,判断第一特征点集中的图像特征点数量是否大于预设的数量阈值。可选地,判断第一特征点集中的图像特征点数量是否大于预设的数量阈值可以是将预设的数量阈值设置为一个特征点数量的数值,直接将第一特征点集中的图像特征点数量和特征点数量的数值对比。还可以是将预设的数量阈值设置为图像特征点数量相对于预设的匹配特征点数量的占比数值,然后计算第一特征点集中的图像特征点数量与预设的匹配特征点数量的比值,将占比数值与计算出的比值进行对比。
若大于,则说明从第m个摄像头采集的第i帧图像所确定的图像特征点足够进行机器人的定位,则基于第一特征点集中的图像特征点,确定机器人的位姿变化量。
若不大于,则说明从第m个摄像头采集的第i帧图像所确定的图像特征点不足够进行机器人的定位。因此向第一特征点集补充图像特征点。如此,不对每帧图像都进行图像特征点补充,而是在图像特征点缺失数量超过阈值时进行特征点提取补充,以减少高额的特征点提取的算力开销。
优选地,所述向所述第一特征点集补充图像特征点,包括:
向所述第一特征点集补充图像特征点,以使所述第一特征点集中的图像特征点数量达到所述预设的匹配特征点数量。
具体地,计算第一特征点集中的图像特征点数量与预设的匹配特征点数量的比值,即
Sfea=Fcur/Fmax
其中,Fcur为第一特征点集中的图像特征点数量,Fmax为预设的匹配特征点数量,预设的匹配特征点数量可以是图像特征点提取的最大数量,其具体数值大小需要根据平台算力不同进行选定,典型数值可以为100。
判断第一特征点集中的图像特征点数量与预设的匹配特征点数量的比值是否小于预设的数量阈值。其中,预设的数量阈值可以设置为80%。若比值不小于预设的数量阈值,则表明有效追踪的图像特征点充足,不需要花费高昂的算力进行图像特征点补充。
若比值小于预设的数量阈值,向第一特征点集补充图像特征点,以使第一特征点集中的图像特征点数量达到预设的匹配特征点数量,从而保持机器人的定位稳定。其中,向第一特征点集补充图像特征点的方法包括:在第i帧图像中直接提取图像特征点等。
在一种实施方式中,所述至少基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量,步骤S120包括:
基于所述第一特征点集中的图像特征点,确定所述机器人在采集所述第i帧图像时的位置和姿态;
基于所述机器人在采集所述第i帧图像时的位置和姿态,以及预先获取的所述机器人在采集所述第i-1帧图像时的位置和姿态,确定所述机器人的位姿变化量。
示例性地,采集第i-1帧图像时的位置和姿态是根据第m个摄像头采集的第i-1帧图像的图像特征点所确定的或根据相机的各个摄像头采集的第i-1帧图像的图像特征点所确定的。采集第i帧图像时的位置和姿态可以是将第一特征点集中的图像特征点进行三维深度恢复,并将得到的三维特征点进行加入滑动窗口中进行重投影优化得到的。
在分别获取采集第i-1帧图像时的位置和姿态,以及采集第i帧图像时的位置和姿态后,即可计算两者的差异,从而确定机器人的位姿变化量。
在本实施例中,如图2所示,以机器人的相机包括左右两个摄像头为例进行说明,机器人的左右两个摄像头均对第i帧进行拍摄,得到第i帧左目图像和第i帧右目图像。
如图3所示,前端处理器从机器人相机的第i帧左目图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集。判断第一特征点集中的图像特征点数量与预设的匹配特征点数量的比值是否小于预设的数量阈值。若比值不小于预设的数量阈值,则表明有效追踪的图像特征点充足,不需要花费高昂的算力进行图像特征点补充。若比值小于预设的数量阈值,向第一特征点集补充图像特征点,以使第一特征点集中的图像特征点数量达到预设的匹配特征点数量。
然后,根据第i帧左目图像时的位置和姿态以及第i-1帧图像时的位置和姿态计算得到机器人的位姿变化量,具体公式如下:
Strans=||Tcur-Tlast||2+||Rcur-Rlast||2
其中,Tcur为第i帧左目图像的位置,Tlast为预先反馈的第i-1帧图像的位置,Rcur为第i帧左目图像的姿态,Rlast为预先反馈的第i-1帧图像的姿态,||g||2表示对向量进行平方求和后再开根,Strans为位姿变化量。
判断位姿变化量是否大于预设的位姿变化阈值,其中,预设的位姿变化阈值需要根据机器人的运动特性与图像输入的频率进行设定,典型值为0.2。
若大于预设的位姿变化阈值,则直接采用左右两个摄像头进行光流追踪进一步确定图像特征点。可以理解的是,当机器人的位姿变化较大,即相机前后两帧图像的变化较大时,需要及时进行双目光流追踪,找出相同特征点在左右两相机图像中的位置,进而有利于后端模块进行位姿估计与输出。否则,相差较大的前后两帧图像会导致持续追踪到的图像特征点数量急剧减少,进而会导致在估计较大位姿变化时效果较差。
若不大于预设的位姿变化阈值,再判断第i-1帧图像的特征点是否进行过双目光流追踪(即判断是否根据相机的两个摄像头采集的第i-1帧图像确定第i-1帧图像的特征点);若是,则当前帧不需要再进行冗余的双目光流追踪,结束流程。否不是,采用左右两个摄像头进行光流追踪进一步确定图像特征点。如此,降低双目光流追踪的频率,即位姿变化不剧烈时,隔一帧进行一次高开销的双目光流追踪。
最后,在进行双目光流追踪的情况下,后端处理器根据第一特征点集中的图像特征点以及第i帧左目图像和第i帧右目图像进行匹配,筛选出匹配的图像特征点。再根据两个摄像头之间的双目基线距离对匹配的图像特征点进行三维深度恢复,得到由三维特征点构成的第三特征点集。将第三特征点集中的三维特征点加入滑动窗口中进行重投影优化,并利用滑动窗口优化结果,剔除误匹配的三维特征点。最后根据筛选后的三维特征点输出机器人的定位和姿态,并将三维特征点输出机器人的定位和姿态反馈至前端处理器,用于计算第i帧图像与第i+1帧图像的位姿变化量。如此,通过上述方法降低了特征点提取与追踪的算力占用,前端处理器输出给后端处理器的图像特征点频率会根据系统状态实时调整降低,因此后端处理器也可以免除不必要的计算,进一步降低机器人定位方法的算力占用。
示例性装置
相应的,图4是根据本申请一实施例的机器人定位装置的结构示意图。在一示例性实施例中,提供了一种机器人定位装置,包括:
特征点匹配模块410,用于从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;所述机器人相机包括至少两个摄像头;
位姿变化模块420,用于至少基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量;所述位姿变化量表示所述机器人在采集所述第i帧图像时的位姿相对于采集所述第i-1帧图像时的位姿的变化量;
定位模块430,用于若所述位姿变化量不大于预设的位姿变化阈值,并且所述第i-1帧图像的图像特征点是通过对所述机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,则基于所述第一特征点集中的图像特征点确定所述机器人的位姿;其中,m和i均为正整数。
在一种实施方式中,所述方法还包括:
若所述位姿变化量大于预设的位姿变化阈值,或者,所述位姿变化量不大于预设的位姿变化阈值且所述第i-1帧图像的图像特征点是从所述第m个摄像头采集的第i-1帧图像中,确定出的与第i-2帧图像的图像特征点相匹配的图像特征点,则基于所述第一特征点集中的图像特征点,对所述机器人相机的各个摄像头采集的第i帧图像进行特征点光流追踪匹配,得到第二特征点集;
基于所述第二特征点集中的图像特征点,确定所述机器人的位姿。
在一种实施方式中,位姿变化模块420,还用于:
基于所述第一特征点集中的图像特征点,确定所述机器人在采集所述第i帧图像时的位置和姿态;
基于所述机器人在采集所述第i帧图像时的位置和姿态,以及预先获取的所述机器人在采集所述第i-1帧图像时的位置和姿态,确定所述机器人的位姿变化量。
在一种实施方式中,在基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量之前,所述方法还包括:
判断模块,用于判断所述第一特征点集中的图像特征点数量是否大于预设的数量阈值;
响应模块,用于若不大于预设的数量阈值,则向所述第一特征点集补充图像特征点。
在一种实施方式中,所述预设的数量阈值由预设的匹配特征点数量而确定;
所述向所述第一特征点集补充图像特征点,包括:
向所述第一特征点集补充图像特征点,以使所述第一特征点集中的图像特征点数量达到所述预设的匹配特征点数量。
在一种实施方式中,基于所述第一特征点集中的图像特征点确定所述机器人的位姿,包括:
对所述第一特征点集中的图像特征点进行三维深度恢复,得到由三维特征点构成的第三特征点集;
对所述第三特征点集中的三维特征点进行滑动窗口优化处理,确定所述机器人的位姿信息。
本实施例提供的机器人定位装置,与本申请上述实施例所提供的机器人定位方法属于同一申请构思,可执行本申请上述任意实施例所提供的机器人定位方法,具备执行机器人定位方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请上述实施例提供的机器人定位方法的具体处理内容,此处不再加以赘述。
图5是根据本申请一实施例的一种机器人的结构示意图。在一示例性实施例中,提供了一种机器人,包括:相机以及与所述相机连接的处理器,所述相机至少包括两个摄像头;
所述处理器,用于从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量;所述位姿变化量表示所述机器人在采集所述第i帧图像时的位姿相对于采集所述第i-1帧图像时的位姿的变化量;若所述位姿变化量不大于预设的位姿变化阈值,并且所述第i-1帧图像的图像特征点是通过对所述机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,则基于所述第一特征点集中的图像特征点确定所述机器人的位姿;其中,m和i均为正整数。
在一种实施方式中,所述处理器还用于若所述位姿变化量大于预设的位姿变化阈值,或者,所述位姿变化量不大于预设的位姿变化阈值且所述第i-1帧图像的图像特征点是从所述第m个摄像头采集的第i-1帧图像中,确定出的与第i-2帧图像的图像特征点相匹配的图像特征点,则基于所述第一特征点集中的图像特征点,对所述机器人相机的各个摄像头采集的第i帧图像进行特征点光流追踪匹配,得到第二特征点集;基于所述第二特征点集中的图像特征点,确定所述机器人的位姿。
在一种实施方式中,所述处理器还用于,判断所述第一特征点集中的图像特征点数量是否大于预设的数量阈值;若不大于预设的数量阈值,则向所述第一特征点集补充图像特征点。
本实施例提供的机器人,与本申请上述实施例所提供的机器人定位方法属于同一申请构思,可执行本申请上述任意实施例所提供的机器人定位方法,具备执行机器人定位方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请上述实施例提供的机器人定位方法的具体处理内容,此处不再加以赘述。
示例性电子设备
本申请另一实施例还提出一种电子设备,参见图6所示,该设备包括:
存储器600和处理器610;
其中,所述存储器600与所述处理器610连接,用于存储程序;
所述处理器610,用于通过运行所述存储器600中存储的程序,实现上述任一实施例公开的机器人定位方法。
具体的,上述机械臂还可以包括:总线、通信接口620、输入设备630和输出设备640。
处理器610、存储器600、通信接口620、输入设备630和输出设备640通过总线相互连接。其中:
总线可包括一通路,在计算机系统各个部件之间传送信息。
处理器610可以是通用处理器,例如通用中央处理器(CPU)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
处理器610可包括主处理器,还可包括基带芯片、调制解调器等。
存储器600中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器600可以包括只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
输入设备630可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
输出设备640可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
通信接口620可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。处理器610执行存储器600中所存放的程序,以及调用其他设备,可用于实现本申请上述实施例所提供的任意一种机器人定位方法的各个步骤。
示例性计算机程序产品和存储介质
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的机器人定位方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是存储介质,其上存储有计算机程序,计算机程序被处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的机器人定位方法中的步骤,上述的电子设备的具体工作内容,以及上述的计算机程序产品和存储介质上的计算机程序被处理器运行时的具体工作内容,均可以参见上述的方法实施例的内容,此处不再赘述。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,各实施例中记载的技术特征可以进行替换或者组合。
本申请各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种机器人定位方法,其特征在于,包括:
从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;所述机器人相机包括至少两个摄像头;
至少基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量;所述位姿变化量表示所述机器人在采集所述第i帧图像时的位姿相对于采集所述第i-1帧图像时的位姿的变化量;
若所述位姿变化量不大于预设的位姿变化阈值,并且所述第i-1帧图像的图像特征点是通过对所述机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,则基于所述第一特征点集中的图像特征点确定所述机器人的位姿;其中,m和i均为正整数。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述位姿变化量大于预设的位姿变化阈值,或者,所述位姿变化量不大于预设的位姿变化阈值且所述第i-1帧图像的图像特征点是从所述第m个摄像头采集的第i-1帧图像中,确定出的与第i-2帧图像的图像特征点相匹配的图像特征点,则基于所述第一特征点集中的图像特征点,对所述机器人相机的各个摄像头采集的第i帧图像进行特征点光流追踪匹配,得到第二特征点集;
基于所述第二特征点集中的图像特征点,确定所述机器人的位姿。
3.根据权利要求1所述的方法,其特征在于,所述至少基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量,包括:
基于所述第一特征点集中的图像特征点,确定所述机器人在采集所述第i帧图像时的位置和姿态;
基于所述机器人在采集所述第i帧图像时的位置和姿态,以及预先获取的所述机器人在采集所述第i-1帧图像时的位置和姿态,确定所述机器人的位姿变化量。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,在基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量之前,所述方法还包括:
判断所述第一特征点集中的图像特征点数量是否大于预设的数量阈值;
若不大于预设的数量阈值,则向所述第一特征点集补充图像特征点。
5.根据权利要求4所述的方法,其特征在于,所述预设的数量阈值由预设的匹配特征点数量而确定;
所述向所述第一特征点集补充图像特征点,包括:
向所述第一特征点集补充图像特征点,以使所述第一特征点集中的图像特征点数量达到所述预设的匹配特征点数量。
6.根据权利要求1至3中任意一项所述的方法,其特征在于,基于所述第一特征点集中的图像特征点确定所述机器人的位姿,包括:
对所述第一特征点集中的图像特征点进行三维深度恢复,得到由三维特征点构成的第三特征点集;
对所述第三特征点集中的三维特征点进行滑动窗口优化处理,确定所述机器人的位姿信息。
7.一种机器人定位装置,其特征在于,包括:
特征点匹配模块,用于从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;所述机器人相机包括至少两个摄像头;
位姿变化模块,用于至少基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量;所述位姿变化量表示所述机器人在采集所述第i帧图像时的位姿相对于采集所述第i-1帧图像时的位姿的变化量;
定位模块,用于若所述位姿变化量不大于预设的位姿变化阈值,并且所述第i-1帧图像的图像特征点是通过对所述机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,则基于所述第一特征点集中的图像特征点确定所述机器人的位姿;其中,m和i均为正整数。
8.一种机器人,其特征在于,包括相机以及与所述相机连接的处理器,所述相机至少包括两个摄像头;
所述处理器,用于从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量;所述位姿变化量表示所述机器人在采集所述第i帧图像时的位姿相对于采集所述第i-1帧图像时的位姿的变化量;若所述位姿变化量不大于预设的位姿变化阈值,并且所述第i-1帧图像的图像特征点是通过对所述机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,则基于所述第一特征点集中的图像特征点确定所述机器人的位姿;其中,m和i均为正整数。
9.根据权利要求8所述的机器人,其特征在于,所述处理器还用于若所述位姿变化量大于预设的位姿变化阈值,或者,所述位姿变化量不大于预设的位姿变化阈值且所述第i-1帧图像的图像特征点是从所述第m个摄像头采集的第i-1帧图像中,确定出的与第i-2帧图像的图像特征点相匹配的图像特征点,则基于所述第一特征点集中的图像特征点,对所述机器人相机的各个摄像头采集的第i帧图像进行特征点光流追踪匹配,得到第二特征点集;基于所述第二特征点集中的图像特征点,确定所述机器人的位姿。
10.根据权利要求8或9所述的机器人,其特征在于,所述处理器还用于,判断所述第一特征点集中的图像特征点数量是否大于预设的数量阈值;若不大于预设的数量阈值,则向所述第一特征点集补充图像特征点。
11.一种电子设备,其特征在于,包括:
存储器和处理器;
所述存储器与所述处理器连接,用于存储程序;
所述处理器,通过运行所述存储器中的程序,实现如权利要求1至6中任意一项机器人定位方法。
12.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如权利要求1至6中任意一项机器人定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311378463.7A CN117392229A (zh) | 2023-10-23 | 2023-10-23 | 机器人定位方法、装置、设备、机器人及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311378463.7A CN117392229A (zh) | 2023-10-23 | 2023-10-23 | 机器人定位方法、装置、设备、机器人及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117392229A true CN117392229A (zh) | 2024-01-12 |
Family
ID=89462545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311378463.7A Pending CN117392229A (zh) | 2023-10-23 | 2023-10-23 | 机器人定位方法、装置、设备、机器人及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117392229A (zh) |
-
2023
- 2023-10-23 CN CN202311378463.7A patent/CN117392229A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11285613B2 (en) | Robot vision image feature extraction method and apparatus and robot using the same | |
CN110322500B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
CN107990899B (zh) | 一种基于slam的定位方法和系统 | |
US11064178B2 (en) | Deep virtual stereo odometry | |
CN113286194A (zh) | 视频处理方法、装置、电子设备及可读存储介质 | |
CN109671105B (zh) | 一种视觉导航系统的跟踪恢复方法和装置 | |
KR20180056685A (ko) | 비 장애물 영역 검출을 위한 시스템 및 방법 | |
WO2020221307A1 (zh) | 一种运动物体的追踪方法和装置 | |
KR20170053007A (ko) | 자세 추정 방법 및 자세 추정 장치 | |
CN112561978B (zh) | 深度估计网络的训练方法、图像的深度估计方法、设备 | |
JP7369847B2 (ja) | 自動運転車両に対するデータ処理方法及び装置、電子機器、記憶媒体、コンピュータプログラム、ならびに自動運転車両 | |
CN111882602B (zh) | 基于orb特征点和gms匹配过滤器的视觉里程计实现方法 | |
CN113052907B (zh) | 一种动态环境移动机器人的定位方法 | |
CN111623773B (zh) | 一种基于鱼眼视觉和惯性测量的目标定位方法及装置 | |
JP7173471B2 (ja) | 3次元位置推定装置及びプログラム | |
CN112183506A (zh) | 一种人体姿态生成方法及其系统 | |
CN113112542A (zh) | 一种视觉定位方法、装置、电子设备及存储介质 | |
CN112967340A (zh) | 同时定位和地图构建方法、装置、电子设备及存储介质 | |
CN109948624A (zh) | 特征提取的方法、装置、电子设备和计算机存储介质 | |
CN116740126A (zh) | 目标跟踪方法、高速相机及存储介质 | |
CN117615255B (zh) | 基于云台的拍摄追踪方法、装置、设备及存储介质 | |
KR101806453B1 (ko) | 무인 비행체 충돌 회피를 위한 이동 객체 검출 장치 및 방법 | |
WO2024082602A1 (zh) | 一种端到端视觉里程计方法及装置 | |
CN117392229A (zh) | 机器人定位方法、装置、设备、机器人及存储介质 | |
CN110288633B (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 |