CN116051636A - 位姿计算方法、装置和设备 - Google Patents
位姿计算方法、装置和设备 Download PDFInfo
- Publication number
- CN116051636A CN116051636A CN202211723460.8A CN202211723460A CN116051636A CN 116051636 A CN116051636 A CN 116051636A CN 202211723460 A CN202211723460 A CN 202211723460A CN 116051636 A CN116051636 A CN 116051636A
- Authority
- CN
- China
- Prior art keywords
- vector
- key frame
- frame image
- feature point
- calculating
- 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
Images
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/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
-
- 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/10016—Video; Image sequence
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种位姿计算方法、装置和设备,方法包括:获取第一关键帧图像和第二关键帧图像;提取第一关键帧图像的第一特征点和第二关键帧图像的第二特征点;计算第一特征点以及第二特征点的特异性向量;使用图注意力网络计算每个第二特征点与其他第二特征点之间的第一匹配描述子向量,以及每个第二特征点与每个第一特征点之间的第二匹配描述子向量;根据第一匹配描述子向量和第二匹配描述子向量确定匹配特征点对;匹配特征点对中包括第一特征点和第二特征点;根据第一关键帧图像对应的第一位姿以及匹配特征点对计算第二关键帧图像对应的第二位姿。本申请能够提高使用视觉SLAM的智能机器人设备的定位精度。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种位姿计算方法、装置和设备。
背景技术
智能机器人设备的应用场景越来越广泛。在智能机器人设备研究中一个最关键的技术就是定位和地图构建,也就是SLAM技术。视觉SLAM是用摄像头作为智能机器人设备的外部传感器来完成智能机器人设备的定位和地图构建。但是,使用视觉SLAM的智能机器人设备存在定位精度低的问题。
发明内容
本申请提供了一种位姿计算方法、装置和设备,能够提高使用视觉SLAM的智能机器人设备的定位精度。
第一方面,本申请实施例提供一种位姿计算方法,包括:
获取第一关键帧图像和第二关键帧图像;所述第一关键帧图像是所述第二关键帧图像的前一个关键帧图像;分别提取所述第一关键帧图像的第一特征点和所述第二关键帧图像的第二特征点;计算所述第一特征点的特异性向量以及所述第二特征点的特异性向量;使用预设的图注意力网络计算每个第二特征点与其他第二特征点之间的第一匹配描述子向量,以及每个第二特征点与每个第一特征点之间的第二匹配描述子向量;根据所述第一匹配描述子向量和所述第二匹配描述子向量确定所述第二关键帧图像与所述第一关键帧图像之间的匹配特征点对;所述匹配特征点对中包括第一特征点和第二特征点;根据所述第一关键帧图像对应的第一位姿以及所述匹配特征点对计算所述第二关键帧图像对应的第二位姿。该方法中,使用图注意力网络计算特征点之间的匹配描述子向量,进而计算得到匹配特征点对,根据匹配特征点对计算第二位姿,由于使用图注意力网络计算特征点之间的匹配描述子向量,从而使得特征点之间匹配描述子向量的计算结果更为准确,相应的,匹配特征点对的计算结果更为准确,进而使得第二位姿的计算结果更为准确,从而提高了智能机器人设备的实时定位精度。
在一种可能的实现方式中,所述提取所述第一关键帧图像的第一特征点,包括:使用基于FAST改进的ORB特征提取算法提取所述第一关键帧图像的第一特征点;
和/或,提取所述第二关键帧图像的第二特征点,包括:使用基于FAST改进的ORB特征提取算法提取所述第二关键帧图像的第二特征点。
在一种可能的实现方式中,所述计算所述第一特征点的特异性向量,包括:计算所述第一特征点的位置向量以及第一描述子向量,所述第一特征点的位置向量用于描述所述第一特征点周围像素点的明暗程度,所述第一特征点的第一描述子向量用于描述所述第一特征点周围像素点对的像素差;根据所述第一特征点的位置向量以及第一描述子向量计算所述第一特征点的特异性向量。
在一种可能的实现方式中,所述根据所述第一特征点的位置向量以及第一描述子向量计算所述第一特征点的特异性向量,包括:将所述第一特征点的位置向量与所述第一描述子向量求和,得到所述第一特征点的特异性向量。
在一种可能的实现方式中,所述根据所述第一匹配描述子向量和所述第二匹配描述子向量确定所述第二关键帧图像与所述第一关键帧图像之间的匹配特征点对,包括:将所述第一匹配描述子向量和所述第二匹配描述子向量做内积,得到分配矩阵;使用最优传输算法求解分配矩阵,得到所述匹配特征点对。
在一种可能的实现方式中,所述计算所述第二特征点的特异性向量,包括:计算所述第二特征点的位置向量以及第二描述子向量,所述第二特征点的位置向量用于描述所述第二特征点周围像素点的明暗程度,所述第二特征点的第二描述子向量用于描述所述第二特征点周围像素点对的像素差;根据所述第二特征点的位置向量以及第二描述子向量计算所述第一特征点的特异性向量。
在一种可能的实现方式中,还包括:将每个所述第二特征点的特异性向量作为一个单词,从预设词典中搜索得到所述单词的词袋向量;所述预设词典是将位于所述第二关键帧图像之前的多个关键帧图像的特征点的特异性向量作为单词构建得到;根据所述单词和所述单词的词袋向量计算所述第二关键帧图像与第三关键帧图像之间的相似度评分,所述第三关键帧图像是所述词袋向量所在的关键帧图像;根据所述相似度评分确定所述第二关键帧图像相对于所述第三关键帧图像是否产生回环,得到回环检测结果。
在一种可能的实现方式中,还包括:根据所述回环检测结果和所述第二位姿进行后端优化。
第二方面,本申请实施例提供一种位姿计算装置,包括:
获取模块,用于获取第一关键帧图像和第二关键帧图像;所述第一关键帧图像是所述第二关键帧图像的前一个关键帧图像;
提取模块,用于分别提取所述第一关键帧图像的第一特征点和所述第二关键帧图像的第二特征点;
向量计算模块,用于计算所述第一特征点的特异性向量以及所述第二特征点的特异性向量;
子向量计算模块,用于使用预设的图注意力网络计算每个第二特征点与其他第二特征点之间的第一匹配描述子向量,以及每个第二特征点与每个第一特征点之间的第二匹配描述子向量;
确定模块,用于根据所述第一匹配描述子向量和所述第二匹配描述子向量确定所述第二关键帧图像与所述第一关键帧图像之间的匹配特征点对;所述匹配特征点对中包括第一特征点和第二特征点;
位姿计算模块,用于根据所述第一关键帧图像对应的第一位姿以及所述匹配特征点对计算所述第二关键帧图像对应的第二位姿。
第三方面,本申请实施例提供一种芯片模组,包括第二方面所述的位姿计算装置。
第四方面,本申请实施例提供一种智能机器人设备,包括:处理器;存储器;其中,计算机程序被存储在所述存储器中,所述计算机程序被所述处理器执行时,使得所述智能机器人设备执行第一方面任一项所述的方法。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行第一方面任一项所述的方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的位姿计算方法使用场景的一种结构示意图;
图2为本申请实施例提供的智能机器人设备的一种结构示意图;
图3为本申请实施例提供的位姿计算方法的一种流程示意图;
图4为本申请实施例提供的智能机器人设备的另一种结构示意图;
图5为本申请实施例提供的位姿计算方法的另一个流程示意图;
图6为本申请实施例提供的位姿计算方法的又一个流程示意图;
图7A~图7C为本申请实施例位姿计算方法的界面示意图;
图8为本申请实施例提供的位姿计算装置的一种结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
首先对本申请实施例中涉及的名词进行示例性而非限定性的说明。
SLAM:智能机器人设备在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上构建增量式地图。
视觉SLAM:使用摄像头作为智能机器人设备的外部传感器完成智能机器人设备的定位和地图构建。
智能机器人设备的位姿:智能机器人设备在所处环境中的位置和朝向。摄像头的位姿是摄像头在所处环境中的位置和朝向。对于设置有摄像头的智能机器人设备,智能机器人设备的位姿可以通过摄像头的位姿来表示。
本申请实施例提供了一种位姿计算方法、装置和设备,能够提高使用视觉SLAM的智能机器人设备的定位精度。
图1是本申请实施例提供的图像处理方法适用系统结构图,如图1所示,该系统可以包括:智能机器人设备100和电子设备101;其中,
智能机器人设备101例如可以是扫地机器人;
电子设备102例如可以是手机、平板电脑(PAD)、个人电脑(PC)等。
智能机器人设备101与电子设备102之间可以进行通信,具体的通信方式本申请实施例不作限定,例如可以是WIFI,蓝牙等。
以下对本申请实施例智能机器人设备的结构进行示例性说明。
如图2所示,智能机器人设备100可以包括:处理器110、存储器120、摄像头模组130、运动机构140以及通信模块150;其中,处理器110、存储器120、摄像头模组130、运动机构140以及通信模块150之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器120用于存储计算机程序,该处理器110用于从该存储器120中调用并运行该计算机程序。
上述存储器120可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质等。
上述处理器110可以和存储器120可以合成一个处理装置,更常见的是彼此独立的部件,处理器110用于执行存储器120中存储的程序代码来实现上述功能。具体实现时,该存储器120也可以集成在处理器110中,或者,独立于处理器110。
摄像头模组130,用于采集图像或者视频,获得智能机器人设备所处场景的场景图像,将上述图像数据发送至处理器110。本申请实施例中的摄像头模组130可以包括单目相机。
运动机构140,用于在处理器110的控制下,通过自身的运动使得智能机器人设备发生移动。
通信模块150,用于支持智能机器人设备与其他设备进行通信。通信模块150使用的通信方式本申请实施例不作限定,例如可以是WIFI,蓝牙等。
以下实施例中,将结合上述电子设备的上述结构对本申请实施例图像处理方法进行详细说明。
图3为本申请实施例位姿计算方法的一种流程示意图,该方法可以由智能机器人设备执行,具体可以由智能机器人设备的处理器执行。如图3所示,该方法可以包括:
步骤301:获取第一关键帧图像和第二关键帧图像;第一关键帧图像是第二关键帧图像的前一个关键帧图像;
步骤302:分别提取第一关键帧图像的第一特征点和第二关键帧图像的第二特征点;
步骤303:计算第一特征点的特异性向量以及第二特征点的特异性向量;
步骤304:使用预设的图注意力网络计算每个第二特征点与其他第二特征点之间的第一匹配描述子向量,以及每个第二特征点与每个第一特征点之间的第二匹配描述子向量;
步骤305:根据第一匹配描述子向量和第二匹配描述子向量确定第二关键帧图像与第一关键帧图像之间的匹配特征点对;匹配特征点对中包括第一特征点和第二特征点;
步骤306:根据第一关键帧图像对应的第一位姿以及匹配特征点对计算第二关键帧图像对应的第二位姿。
该方法中,使用图注意力网络计算特征点之间的匹配描述子向量,进而计算得到匹配特征点对,根据匹配特征点对计算第二位姿,由于使用图注意力网络计算特征点之间的匹配描述子向量,从而使得特征点之间匹配描述子向量的计算结果更为准确,相应的,匹配特征点对的计算结果更为准确,进而使得第二位姿的计算结果更为准确,从而提高了智能机器人的实时定位精度。
图4是本申请实施例智能机器人设备的另一种结构示意图,如图4所示,包括:通信模块驱动、摄像头模组驱动、视觉里程计、回环检测模块、后端优化模块以及地图及轨迹构建模块;其中,
通信模块驱动用于:驱动通信模块。
摄像头模组驱动用于:驱动摄像头模组。
视觉里程计用于:计算智能机器人设备的位姿。
回环检测模块用于:检测智能机器人设备是否产生回环,也即检测智能机器人设备是否来到曾经到过的位置。
后端优化模块用于:根据智能机器人设备的位姿以及回环检测信息进行优化处理。
地图及轨迹构建模块用于:构建智能机器人设备的运动轨迹和地图。
以下,将结合图4所示智能机器人设备的结构,对本申请实施例位姿计算方法的实现进行更为详细的说明。
图5是本申请实施例位姿计算方法的另一种流程示意图。如图5所示,该方法可以包括:
步骤501:拍摄多帧图像。
可选地,智能机器人设备中摄像头模组驱动可以驱动摄像头模组在智能机器人设备工作过程中拍摄图像,以支持智能机器人设备进行位姿的计算、轨迹及地图的构建等。
可选地,摄像头模组中可以包括单目相机,摄像头模组可以使用单目相机完成上述图像的拍摄。
步骤502:从多帧图像中选择多帧关键帧图像。
本步骤中从多帧图像中选择关键帧图像可以使用相关关键帧图像选择方法实现,本申请实施例不作限定。
以上步骤501和步骤502是顺序不断执行的过程,也即摄像头模组驱动可以驱动摄像头模组不断拍摄图像,相应的,本步骤中可以从拍摄得到的图像中不断选择关键帧图像。
可选地,摄像头模组驱动可以将拍摄得到的多帧图像发送至视觉里程计,由视觉里程计从接收到的多帧图像中选择多帧关键帧图像。
以下步骤503~步骤505是针对每一帧关键帧图像的处理步骤。
步骤503:对于每一帧关键帧图像,提取关键帧图像的特征点,计算每个特征点的位置向量。
本步骤中特征点的位置向量用于描述特征点周围像素点的明暗程度。
可选地,本步骤中可以使用基于FAST改进的定向FAST和旋转BRIEF(OrientedFAST and Rotated BRIEF,ORB)特征提取算法提取关键帧图像的特征点。
以下对基于FAST改进的的ORB特征提取算法提取关键帧图像的特征点的方法进行说明。
步骤S1:将关键帧图像转换为第一灰度图像,用高斯滤波对第一灰度图像进行加权平均处理,得到第二灰度图像。
步骤S2:将第二灰度图像平均分为若干子块,并确定每个子块的中心点。
为了便于说明,以下步骤中以将第二灰度图像平均分为四个子块为例,将第二灰度图像平均分为其他块数的处理可以参考上述分为四个子块的处理,这里不赘述。。
步骤S3:针对每个子块的中心点,计算与该中心点在水平及垂直方向上相距r的四个像素点与该中心点之间的灰度方差的和,以下步骤中简称为灰度方差和。
其中,上述r是预设阈值,具体取值本申请实施例不作限定。
通过本步骤的处理,可以得到每个中心点对应的一个灰度方差和。
步骤S4:对步骤S3中计算出的四个中心点的灰度方差和进行大小排序,选出灰度方差和的最大值和最小值。
步骤S5:将四个子块中灰度方差和最小的子块剔除,并将灰度方差和最大的子块作为处理对象重复执行上述步骤S2~S4,剔除灰度方差和最大的子块划分得到的次子块中灰度方差和最小的次子块。
需要说明的是,在计算子块中心点的灰度方差时使用的r与计算次子块中心点的灰度方差时使用的r可以相同或者不同,本申请实施例不作限定。
步骤S6:将第二灰度图像在剔除了上述灰度方差和最小的子块和次子块后的区域确定为有效区域。
举例来说,假设第二灰度图像划分为4个子块,分别为子块1、子块2、子块3和子块4,假设子块1的灰度方差和最大,子块4的灰度方差和最小,再对子块1重复执行步骤S2~步骤S4,将子块1划分为4个次子块,分别为次子块1、次子块2、次子块3和次子块4,假设次子块2的灰度方差和最小,则第二灰度图像中剔除了子块4和次子块2,第二灰度图像的有效区域包括:子块1中的次子块1、次子块3和次子块4,子块2,子块4。
步骤S7:对有效区域进行FAST特征点提取,得到关键帧图像的特征点。
对有效区域进行FAST特征点提取的实现可以参考相关FAST特征点提取方法实现,本申请实施例不作限定。
通过使用基于FAST改进的ORB特征提取算法提取关键帧图像的特征点,可以剔除掉关键帧图像中明暗变化不明显的区域,从而缩小关键帧图像中有效区域的范围,提高特征点的提取速度。
本步骤中计算特征点的位置向量可以使用相关位置向量计算方法实现,本申请实施例不作限定。
可选地,本步骤中可以利用基于FAST改进的ORB特征提取算法对关键帧图像进行特征点的位置向量提取,为了最大化减小提取特征点错误的情况,可以采用动态局部阈值法,即用自适应阈值分割的思想,将关键帧图像中每个像素设置为不同的阈值,并且为了减少计算量,筛选候选特征点的方式可以包括:直接检测圆周上指定位置像素点的亮度,例如第1,5,9,13个像素点的亮度,也即像素点之间间隔3个像素点,当有3个像素点同时属于暗(dark)类或亮(bright)类,即将该像素点选为特征点。
步骤504:计算每个特征点的描述子向量。
本步骤中特征点的描述子向量用于描述特征点周围的像素点对的像素差。
本步骤中计算每个特征点的描述子向量可以通过相关描述子向量的计算方法实现,例如可以使用多层感知机计算每个特征点的描述子向量,本申请实施例不作限定。
可选地,计算每个特征点的描述子向量之前,可以对关键帧图像进行方向和尺度上的转换,使得各帧关键帧图像都变换到同一方向和尺度上,也即进行旋转不变性和尺度不变形处理,从而使得针对于各帧关键帧图像,可以按照统一标准来计算特征点的描述子向量,提高特征点的描述子向量的计算精度,进而提高后续步骤的处理精度。
步骤505:根据每个特征点的位置向量和描述子向量计算每个特征点的特异性向量。
可选地,可以将特征点的位置向量与描述子向量求和,得到特征点的特异性向量。
通过以上步骤503~步骤505的处理,可以得到每个关键帧图像中每个特征点的特异性向量。
以下步骤506~步骤508针对于相邻的两帧关键帧图像进行处理,本申请实施例中分别称为第一关键帧图像和第二关键帧图像,第一关键帧图像是第二关键帧图像的前一帧关键帧图像,将第一关键帧图像的特征点称为第一特征点,第一特征点的特异性向量称为第一特异性向量,第二关键帧图像的特征点称为第二特征点,第二特征点的特异性向量称为第二特异性向量。
可选地,第二关键帧图像可以是智能机器人设备当前得到的最新一帧关键帧图像。
步骤506:使用预设的图注意力网络(graph attention networks,GAT)计算每个第二特征点与其他第二特征点之间的第一匹配描述子向量,以及每个第二特征点与每个第一特征点之间的第二匹配描述子向量。
第二特征点与其他第二特征点之间的第一匹配描述子向量用于描述两个第二特征点之间的匹配程度;
第二特征点与第一特征点之间的第二匹配描述子向量用于描述第二特征点与第一特征点之间的匹配程度。
GAT是一种基于图结构数据的新型神经网络架构可以计算某个节点相对于邻接节点的注意力,在本步骤中,可以使用GAT计算每个第二特征点与其他第二特征点之间的注意力数据,得到上述第一匹配描述子向量,计算每个第二特征点与每个第一特征点之间的注意力数据,得到上述第二匹配描述子向量。
步骤507:根据匹配描述子向量和所述第二匹配描述子向量确定第二关键帧图像与第一关键帧图像之间的匹配特征点对;匹配特征点对中包括第一特征点和第二特征点。
可选地,本步骤可以包括:
将第一匹配描述子向量和第二匹配描述子向量做内积,得到分配矩阵;
使用最优传输算法求解分配矩阵,得到上述匹配特征点对。
步骤508:根据第一关键帧图像对应的第一位姿以及匹配特征点对计算第二关键帧图像对应的第二位姿。
位姿包括:旋转矩阵和平移矩阵。
本步骤的具体实现可以使用相关位姿计算方法实现,本申请实施例不作限定。
以上的步骤503~步骤508可以由视觉里程计执行,实现第二关键帧图像对应的第二位姿的计算。
可选地,如图5所示,步骤502之后还可以包括:步骤509~步骤514;其中,
步骤509~步骤511与步骤503~步骤505相同,区别在于步骤509~步骤511可以由回环检测模块执行。
在另一个实施例中,回环检测模块也可以不执行步骤509~步骤511,而是由回环检测模块从视觉里程计获得每个关键帧图像的特征点的特异性向量,从而降低回环检测模块的数据处理量。
以下步骤512~步骤514以第二关键帧图像为例,说明回环检测模块中回环检测的实现。
步骤512:将第二关键帧图像中每个第二特征点的特异性向量作为一个单词,从预设词典中搜索得到该单词的词袋向量。
其中,预设词典是将位于第二关键帧图像之前的多个关键帧图像的特征点的特异性向量作为单词构建得到,以下示例性说明预设词典的构建方法。
首先,将第二关键帧图像之前的多个关键帧图像的特征点的特异性向量分别作为一个单词;上述第二关键帧图像之前的多个关键帧图像可以包括上述第一关键帧图像。
之后,可以使用例如K-means聚类算法(k-means clustering algorithm)进行词典的构建。
可选地,从预设词典中搜索单词的词袋向量时可以使用K叉树算法完成。
步骤513:根据单词和单词的词袋向量计算第二关键帧图像与第三关键帧图像之间的相似度评分。
其中,第三关键帧图像是单词的词袋向量所在的关键帧图像。
可选地,可以在回环检测模块中预设单词与词袋向量之间相似度评分的计算规则,相应的,本步骤中可以根据该计算规则使用单词和单词的词袋向量计算第二关键帧图像与第三关键帧图像之间的相似度评分。
上述计算规则的具体实现可以使用相关技术完成,这里不赘述。
步骤514:根据相似度评分确定第二关键帧图像相对于第三关键帧图像是否产生回环,得到回环检测结果。
可选地,可以在回环检测模块中预设评分阈值,在评分阈值超过评分阈值时,判断发生回环,在评分阈值未超过评分阈值时,判断未发生回环。
可选地,回环检测模块还可以在确定产生回环的条件下,计算智能机器人设备是否发生了位置漂移,将漂移的为坐标反馈至后端优化模块,从而提高后端优化的精确度。
在上述处理中,回环检测模块也使用图注意力网络来计算特征点的特异性向量,从而能够更准确的判断曾经到过的位置是否发生了位置漂移,若发生漂移的情况则会将漂移的位置坐标反馈至后端优化模块进行优化,从而提高后端优化的精确度,进而地图及轨迹构建模块输出最终构建的地图,才能够使智能机器人设备自主按照准确的轨迹运动并完成相应的工作,也让使用者能无需时刻看着智能机器人设备。
在步骤508中计算得到第二关键帧图像的第二位姿,且得到第二关键帧图像的回环检测结果后,可以执行以下的步骤515~步骤516。
步骤515:根据第二位姿和回环检测结果进行后端优化处理。
本步骤可以由后端优化模块实现,后端优化可以包括局部光束平差法(BundleAdjustment,BA)优化和全局BA优化,局部BA优化是在局部建图线程中优化一个局部窗口内的关键帧图像和地图点,全局BA优化是在回环校正后优化所有关键帧图像和地图点。具体优化方法本申请实施例不作限定。
步骤516:根据后端优化结果构建智能机器人设备的运动轨迹和地图。
可选地,本步骤可以由地图及轨迹构建模块执行,具体实现本申请实施例不作限定。
可选地,智能机器人设备可以将智能机器人设备的运动轨迹发送至电子设备,供用户进行查看。
本申请实施例位姿计算方法中,采用基于图注意力网络的视觉SLAM技术,通过采集连续多帧图像,经过视觉里程计、回环检测、后端优化地图构建四个模块,最终能够构建精度更高的智能机器人设备的运动轨迹,以便于用户自定义选择智能机器人设备的工作区域。具体的,将图注意力网络应用于视觉里程计的特征点提取与匹配阶段,进行智能机器人设备的位姿的计算,并在回环检测中也结合了图注意力网络检测是否产生回环,从而判断是否需要重定位,并将数据传入后端进行误差优化,最终输出连续的运动轨迹;而且,摄像头模组可以使用单目摄像头采集图像,成本较低,但定位精度较高,以扫地机器人为例,非常适合扫地机器人在室内环境中应用。
在本申请提供的另一个实施例中,在步骤501之前还可以由用户为智能机器人设备指示工作区域,以智能机器人设备是扫地机器人为例,可以为扫地机器人设置扫地区域。此时,如图6所示,在步骤501之前可以包括以下的步骤601~步骤610。
步骤601:电子设备与智能机器人设备建立连接。
电子设备与智能机器人设备可以通过蓝牙、WIFI等方式建立连接,本申请实施例不作限定。
步骤602:电子设备显示第一设置界面,第一设置界面中可以包括工作区域设置控件。
第一设置界面例如图7A所示,工作区域设置控件例如图7A中控件701所示。
上述工作区域设置控件用于用户触发设置智能机器人设备的工作区域。
步骤603:电子设备检测到用户针对于工作区域设置控件的选择操作,显示工作区域设置界面。
用户通过点击等方式选择上述工作区域设置控件,相应的,电子设备可以检测到用户针对于工作区域设置控件的选择操作。
上述工作区域设置界面例如图7B所示,界面中可以为用户显示可能的工作区域设置选项,例如图7B中设置有全部区域、自定义区域等选项对应的控件。可选地,还可以有客厅、厨房、我是等其他选项,本申请实施例不作限定。
步骤604:电子设备接收到用户对于自定义区域控件的选择操作,向智能机器人设备发送实时图像数据请求消息。
可选地,该请求消息中可以携带电子设备的设备标识。
步骤605:智能机器人设备判断电子设备是否具有摄像头访问权限,如果具有摄像头访问权限,执行步骤608,如果不具有摄像头访问权限,执行步骤606。
可选地,智能机器人设备中可以存储有具有摄像头访问权限的电子设备的设备标识,本步骤中可以从上述请求消息中获取电子设备的设备标识,判断存储的设备标识中是否包括请求消息中携带的设备标识,如果存在,则电子设备具有摄像头访问权限,否则,不具有摄像头访问权限。
步骤606:智能机器人设备向电子设备请求授权信息,电子设备向用户显示权限设置界面,权限设置界面用于用户为电子设备赋予访问智能机器人设备的摄像头的权限。
权限设置界面例如图7C所示,界面中可以设置有取消控件和确定控件。
步骤607:电子设备接收到用户的授权操作,将授权信息发送给智能机器人设备,执行步骤608。
用户在上述权限设置界面中通过点击等操作选择确定控件,相应的,电子设备接收到用户的授权操作,否则,未接收到用户的授权操作。
电子设备如果未接收到用户的授权操作,则自定义区域的操作流程结束,电子设备可以返回显示工作区域设置界面等,本申请实施例不作限定。
可选地,上述授权信息中可以携带电子设备的设备标识。
步骤608:智能机器人设备接收到授权信息,将摄像头模组拍摄的实时图像数据发送给电子设备。
可选地,智能机器人设备可以存储授权信息中携带的电子设备的设备标识,则,下一次用户使用该电子设备进行自定义区域设置时智能机器人设备无需重新要求用户对于摄像头访问权限进行授权。
步骤609:电子设备将实时图像数据显示给用户。
步骤610:电子设备接收到用户的确定操作,将确定操作对应的一帧图像数据发送给智能机器人设备,作为用户指示的工作区域图像。
通过上述处理,用户可以在电子设备上实现对于智能机器人设备工作区域的设置。
智能机器人设备可以在工作中根据工作区域图像确定智能机器人设备的工作轨迹等信息。
图8为本申请实施例提供的位姿计算装置的一种结构示意图,该装置可以设置于智能机器人设备中。如图8所示,该装置800可以包括:
获取模块810,用于获取第一关键帧图像和第二关键帧图像;所述第一关键帧图像是所述第二关键帧图像的前一个关键帧图像;
提取模块820,用于分别提取所述第一关键帧图像的第一特征点和所述第二关键帧图像的第二特征点;
向量计算模块830,用于计算所述第一特征点的特异性向量以及所述第二特征点的特异性向量;
子向量计算模块840,用于使用预设的图注意力网络计算每个第二特征点与其他第二特征点之间的第一匹配描述子向量,以及每个第二特征点与每个第一特征点之间的第二匹配描述子向量;
确定模块850,用于根据所述第一匹配描述子向量和所述第二匹配描述子向量确定所述第二关键帧图像与所述第一关键帧图像之间的匹配特征点对;所述匹配特征点对中包括第一特征点和第二特征点;
位姿计算模块860,用于根据所述第一关键帧图像对应的第一位姿以及所述匹配特征点对计算所述第二关键帧图像对应的第二位姿。
其中,上述模块所对应的实体设备均可以是前述的处理器。上述模块的具体功能实现可参考本申请实施例图像处理方法中的相应描述,不多赘述。
应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,确定模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。例如,上述图像处理装置可以是芯片或者芯片模组,或者,上述快捷开关推荐装置可以是芯片或者芯片模组的一部分。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
本申请实施例提供一种芯片模组,包括上述位姿计算装置。
本申请实施例还提供一种智能机器人设备,包括处理器和存储器,处理器用于执行本申请任一实施例提供的方法。
本申请实施例还提供一种智能机器人设备,所述设备包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现本申请任一实施例提供的方法。
本申请实施例还提供一种智能机器人系统,包括本申请任一实施例提供的电子设备和智能机器人设备。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请任一实施例提供的方法。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请任一实施例提供的方法。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种位姿计算方法,其特征在于,包括:
获取第一关键帧图像和第二关键帧图像;所述第一关键帧图像是所述第二关键帧图像的前一个关键帧图像;
分别提取所述第一关键帧图像的第一特征点和所述第二关键帧图像的第二特征点;
计算所述第一特征点的特异性向量以及所述第二特征点的特异性向量;
使用预设的图注意力网络计算每个第二特征点与其他第二特征点之间的第一匹配描述子向量,以及每个第二特征点与每个第一特征点之间的第二匹配描述子向量;
根据所述第一匹配描述子向量和所述第二匹配描述子向量确定所述第二关键帧图像与所述第一关键帧图像之间的匹配特征点对;所述匹配特征点对中包括第一特征点和第二特征点;
根据所述第一关键帧图像对应的第一位姿以及所述匹配特征点对计算所述第二关键帧图像对应的第二位姿。
2.根据权利要求1所述的方法,其特征在于,所述提取所述第一关键帧图像的第一特征点,包括:
使用基于FAST改进的ORB特征提取算法提取所述第一关键帧图像的第一特征点;
和/或,提取所述第二关键帧图像的第二特征点,包括:
使用基于FAST改进的ORB特征提取算法提取所述第二关键帧图像的第二特征点。
3.根据权利要求1或2所述的方法,其特征在于,所述计算所述第一特征点的特异性向量,包括:
计算所述第一特征点的位置向量以及第一描述子向量,所述第一特征点的位置向量用于描述所述第一特征点周围像素点的明暗程度,所述第一特征点的第一描述子向量用于描述所述第一特征点周围像素点对的像素差;
根据所述第一特征点的位置向量以及第一描述子向量计算所述第一特征点的特异性向量。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一特征点的位置向量以及第一描述子向量计算所述第一特征点的特异性向量,包括:
将所述第一特征点的位置向量与所述第一描述子向量求和,得到所述第一特征点的特异性向量。
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一匹配描述子向量和所述第二匹配描述子向量确定所述第二关键帧图像与所述第一关键帧图像之间的匹配特征点对,包括:
将所述第一匹配描述子向量和所述第二匹配描述子向量做内积,得到分配矩阵;
使用最优传输算法求解分配矩阵,得到所述匹配特征点对。
6.根据权利要求1或2所述的方法,其特征在于,所述计算所述第二特征点的特异性向量,包括:
计算所述第二特征点的位置向量以及第二描述子向量,所述第二特征点的位置向量用于描述所述第二特征点周围像素点的明暗程度,所述第二特征点的第二描述子向量用于描述所述第二特征点周围像素点对的像素差;
根据所述第二特征点的位置向量以及第二描述子向量计算所述第一特征点的特异性向量。
7.根据权利要求1或2所述的方法,其特征在于,还包括:
将每个所述第二特征点的特异性向量作为一个单词,从预设词典中搜索得到所述单词的词袋向量;所述预设词典是将位于所述第二关键帧图像之前的多个关键帧图像的特征点的特异性向量作为单词构建得到;
根据所述单词和所述单词的词袋向量计算所述第二关键帧图像与第三关键帧图像之间的相似度评分,所述第三关键帧图像是所述词袋向量所在的关键帧图像;
根据所述相似度评分确定所述第二关键帧图像相对于所述第三关键帧图像是否产生回环,得到回环检测结果。
8.根据权利要求7所述的方法,其特征在于,还包括:
根据所述回环检测结果和所述第二位姿进行后端优化。
9.一种位姿计算装置,其特征在于,包括:
获取模块,用于获取第一关键帧图像和第二关键帧图像;所述第一关键帧图像是所述第二关键帧图像的前一个关键帧图像;
提取模块,用于分别提取所述第一关键帧图像的第一特征点和所述第二关键帧图像的第二特征点;
向量计算模块,用于计算所述第一特征点的特异性向量以及所述第二特征点的特异性向量;
子向量计算模块,用于使用预设的图注意力网络计算每个第二特征点与其他第二特征点之间的第一匹配描述子向量,以及每个第二特征点与每个第一特征点之间的第二匹配描述子向量;
确定模块,用于根据所述第一匹配描述子向量和所述第二匹配描述子向量确定所述第二关键帧图像与所述第一关键帧图像之间的匹配特征点对;所述匹配特征点对中包括第一特征点和第二特征点;
位姿计算模块,用于根据所述第一关键帧图像对应的第一位姿以及所述匹配特征点对计算所述第二关键帧图像对应的第二位姿。
10.一种芯片模组,其特征在于,包括权利要求9所述的位姿计算装置。
11.一种智能机器人设备,其特征在于,包括:
处理器;存储器;其中,计算机程序被存储在所述存储器中,所述计算机程序被所述处理器执行时,使得所述智能机器人设备执行权利要求1至8任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211723460.8A CN116051636A (zh) | 2022-12-30 | 2022-12-30 | 位姿计算方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211723460.8A CN116051636A (zh) | 2022-12-30 | 2022-12-30 | 位姿计算方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116051636A true CN116051636A (zh) | 2023-05-02 |
Family
ID=86128944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211723460.8A Pending CN116051636A (zh) | 2022-12-30 | 2022-12-30 | 位姿计算方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116051636A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648889A (zh) * | 2024-01-30 | 2024-03-05 | 中国石油集团川庆钻探工程有限公司 | 一种基于帧间差法的井喷流体测速方法 |
-
2022
- 2022-12-30 CN CN202211723460.8A patent/CN116051636A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648889A (zh) * | 2024-01-30 | 2024-03-05 | 中国石油集团川庆钻探工程有限公司 | 一种基于帧间差法的井喷流体测速方法 |
CN117648889B (zh) * | 2024-01-30 | 2024-04-26 | 中国石油集团川庆钻探工程有限公司 | 一种基于帧间差法的井喷流体测速方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4672175B2 (ja) | 位置検出装置、位置検出方法、及び位置検出プログラム | |
EP3186780B1 (en) | System and method for image scanning | |
JP5148669B2 (ja) | 位置検出装置、位置検出方法、及び位置検出プログラム | |
CN102473033B (zh) | 一种注视点检测方法及其装置 | |
JP4575829B2 (ja) | 表示画面上位置解析装置及び表示画面上位置解析プログラム | |
CN111814752B (zh) | 室内定位实现方法、服务器、智能移动设备、存储介质 | |
CN112119627A (zh) | 基于云台的目标跟随方法、装置、云台和计算机存储介质 | |
CN110072078A (zh) | 监控摄像机、监控摄像机的控制方法和存储介质 | |
CN110610150A (zh) | 一种目标运动物体的跟踪方法、装置、计算设备和介质 | |
CN116051636A (zh) | 位姿计算方法、装置和设备 | |
CN113362441A (zh) | 三维重建方法、装置、计算机设备和存储介质 | |
CN114581678A (zh) | 一种模板特征匹配的自动跟踪与重识别方法 | |
US9317770B2 (en) | Method, apparatus and terminal for detecting image stability | |
CN112087728B (zh) | 获取Wi-Fi指纹空间分布的方法、装置和电子设备 | |
CN111652907B (zh) | 一种基于数据关联的多目标跟踪方法、装置及电子设备 | |
US11774983B1 (en) | Autonomous platform guidance systems with unknown environment mapping | |
CN107665495B (zh) | 对象跟踪方法及对象跟踪装置 | |
CN115965653A (zh) | 一种光斑追踪方法、装置、电子设备及存储介质 | |
Zhang et al. | Reidentification-based automated matching for 3D localization of workers in construction sites | |
US9842402B1 (en) | Detecting foreground regions in panoramic video frames | |
US9824455B1 (en) | Detecting foreground regions in video frames | |
CN114004891A (zh) | 一种基于目标追踪的配网线路巡检方法及相关装置 | |
CN111723610B (zh) | 图像识别方法、装置及设备 | |
CN112614181B (zh) | 一种基于高亮目标的机器人定位方法及装置 | |
CN113916223B (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 |