CN114603555B - 移动机器人初始位姿估计方法、系统、计算机及机器人 - Google Patents
移动机器人初始位姿估计方法、系统、计算机及机器人 Download PDFInfo
- Publication number
- CN114603555B CN114603555B CN202210177620.7A CN202210177620A CN114603555B CN 114603555 B CN114603555 B CN 114603555B CN 202210177620 A CN202210177620 A CN 202210177620A CN 114603555 B CN114603555 B CN 114603555B
- Authority
- CN
- China
- Prior art keywords
- image
- mobile robot
- feature
- calculating
- dictionary
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 239000013598 vector Substances 0.000 claims abstract description 80
- 239000011159 matrix material Substances 0.000 claims abstract description 67
- 238000004364 calculation method Methods 0.000 claims abstract description 39
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 23
- 238000013519 translation Methods 0.000 claims abstract description 23
- 230000009466 transformation Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 7
- 230000003287 optical effect Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims description 4
- 239000002245 particle Substances 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- 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
-
- 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/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Robotics (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Remote Sensing (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mechanical Engineering (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Probability & Statistics with Applications (AREA)
- Life Sciences & Earth Sciences (AREA)
- Algebra (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明提供了一种移动机器人初始位姿估计方法、系统、计算机及机器人,该方法包括启用相机并通过相机发布RGB图像流话题节点;获取话题节点中的图像,并计算出图像中的ORB特征的第一关键点与第一描述子;读取模板图像集并加载出实验区图像词典;计算出关键点集与描述子集;根据实验区图像词典将第一描述子和第二描述子均转换成对应的特征向量,并计算出相似度得分;从模板图像集中提取出匹配度最高的图像及对应的位姿,并计算出匹配度最高的图像的旋转矩阵与平移矩阵;根据匹配度最高的位姿计算出当前位置的空间姿态。本申请能够较短时间在已知占用地图区域内有效估计移动机器人位姿,并且对算法的算力要求低。
Description
技术领域
本发明涉及移动机器人技术领域,特别涉及一种移动机器人初始位姿估计方法、系统、计算机及机器人。
背景技术
现有的基于ROS navigation功能包来实现导航的移动机器人大多数使用AMCL(Adaptive Monte Carlo Localization)算法进行粒子滤波,从而对自身在已知的地图中进行概率定位。现有的移动机器人在首次启动时,通常要求用户手动输入当前机器人的初始化位姿,然而,用户手动输入的初始化位姿不够准确,且机器人不移动时也不会自动更新初始化位姿。
现有技术大部分通过将上述AMCL粒子分布至整张地图、以及强制粒子更新等手段来对移动机器人的初始姿态进行估计,然而,通过将AMCL粒子分布至整张地图得出的移动机器人的初始位姿的精度较差,并且强制粒子更新会降低当前移动机器人后续定位的精度。
因此,针对现有技术的不足,提供一种能够提升移动机器人初始位姿估计精度的方法很有必要。
发明内容
基于此,本发明的目的是提供一种移动机器人初始位姿估计方法、系统、计算机及机器人,以实现移动机器人初始位姿估计。
本发明实施例第一方面提出了一种移动机器人初始位姿估计方法,所述方法包括:
当初始化ROS完成时,启用相机并通过所述相机发布RGB图像流话题节点;
获取所述RGB图像流话题节点中的图像,并计算出所述图像中的ORB特征的第一关键点与第一描述子;
读取模板图像集并加载出实验区图像词典;
计算出所述模板图像集中的ORB特征的关键点集与描述子集,所述描述子集包括若干第二描述子,所述关键点集包括若干第二关键点;
根据所述实验区图像词典将所述第一描述子和所述第二描述子均转换成对应的特征向量,并计算出所述特征向量之间的相似度得分;
从所述模板图像集中提取出匹配度最高的图像及对应的位姿,并计算出所述相机获取的图像与所述模板图像集中的匹配度最高的图像的旋转矩阵与平移矩阵;
根据匹配度最高的图像对应的位姿计算出当前位置的空间姿态,并发布ROS初始化位置消息。
本发明的有益效果是:本申请首次提出使用视觉图像信息来辅助移动机器人开展初始位姿估计,具体的,通过视觉SLAM技术获取先验关键帧及其姿态信息,基于视觉词典的回环检测技术匹配相似度最高模板图像,根据对极约束使用八点法求解当前帧与模板帧变换矩阵,与先验姿态处理后得移动机器人位姿估计。算法能够在较短时间内部署在基于ROS控制的移动机器人上,于已知占用地图区域内可有效估计移动机器人位姿,并且对算法的算力要求低,适用于大范围的推广与使用。
优选的,所述获取所述RGB图像流话题节点中的图像,并计算出所述图像中的ORB特征的第一关键点与第一描述子的步骤包括:
基于linux/ubuntu操作系统环境,通过cv::bridge在所述RGB图像流话题节点中获取到移动机器人当前位置的正方向;
按照sensor_msgs::Image格式二进制图像转化成常用的cv::Mat类型的图像数据,并使用OpenCV内嵌的图像ORB特征提取算法计算出所述图像数据对应的所述第一描述子与所述第一关键点。
优选的,所述模板图像集包括基于ORB-SLAM3算法生成的当前移动机器人运行区域的关键帧图像集,以及相对于当前移动机器人地图原点的空间姿态,所述空间姿态由坐标x、y、z与四元数wx、wy、wz、z表示;
所述实验区图像词典由所述关键帧图像集利用DBoW3库以k叉树、L层深度、TF_IDF权重计算方式、L1范数评分方式并使用kmeans++聚类生成;
其中,所述TF_IDF权重计算方式具体包括:
TF_IDF权重计算方式使用的公式如下:
;
其中,TFi是指某个特征在单幅图像中出现的频率,ni是指某个特征在图像中出现的次数,n是指图像中的总特征数,IDFi是指出现某个特征的图像数量占图像总数的比例,N表示图像词典中的总图像数,Ni表示出现某个特征的图像数,ηi表示某一特征在所述实验区图像词典中的权重;
其中,所述L1范数评分方式具体包括:
使用L1范数计算特征向量之间的匹配程度;
;
其中,v1表示第一张图像的特征向量,v2表示第二张图像的特征向量,s表示两个向量之间的匹配度得分。
优选的,所述根据所述实验区图像词典将所述第一描述子和所述第二描述子均转换成对应的特征向量,并计算出所述特征向量之间的相似度得分的步骤包括:
对所述模板图像集中的全部图像提取出ORB特征并获取到对应的关键点集与描述子集;
将所述第一描述子以及所述描述子集中的各个第二描述子均通过所述实验区图像词典转化为对应的特征向量;
根据所述L1范数计算特征向量间的匹配程度计算出对应的匹配得分;
其中,描述子到特征向量的转换过程通过查询所述实验区图像词典完成,且特征向量描述式如下:
;
其中,v表示图像在所述实验区图像词典空间下的特征向量描述形式,ni表示所述实验区图像词典空间下的某一特征,向量维数由词典分叉数k与层数L的积决定,当描述子中存在所述实验区图像词典中的某个特征ni时,记录对应维度下的特征出现频数,否则当前维度为0。
优选的,所述从所述模板图像集中提取出匹配度最高的图像及对应的位姿,并计算出所述相机获取的图像与所述模板图像集中的匹配度最高的图像的旋转矩阵与平移矩阵的步骤包括:
根据相似度得分的高低确定出匹配度最高的图像,并分别获取到匹配得分最高、次高对应的图像在所述模板图像集中的位置以及/>;
通过判断的结果来对匹配进行时间一致性约束,以消除误匹配对移动机器人带来的风险;
在确定出匹配度最高的图像有效之后,读取当前匹配度最高的图像的图像数据,并进行ORB特征提取,以获取到第二关键点;
基于所述第一关键点以及所述相机的相机焦距、相机光心,根据对极几何约束出本质矩阵/>,并根据所述本质矩阵/>恢复出两个视角的旋转矩阵/>与平移矩阵/>。
优选的,所述根据匹配度最高的图像对应的位姿计算出当前位置的空间姿态,并发布ROS初始化位置消息的步骤包括:
基于所述旋转矩阵以及所述平移矩阵/>构造出变换矩阵/>;
读取出匹配度最高的图像空间的坐标及四元数,并将所述坐标和所述四元数转换成对应的变换矩阵;
将两变换矩阵做矩阵乘法得到当前位置图像对应的地图坐标原点变换矩阵;
将所述转换成四元数,构造geometry_msgs::PoseWithCovarianceStamped格式、名为initialpose的ROS初始化位置消息。
优选的,所述当初始化ROS完成时,启用相机并通过所述相机发布RGB图像流话题节点的步骤包括:
将摄像头布置于移动机器人的前部,并朝所述移动机器人的正方向呈平视状态;
通过USB Type-C接口将所述摄像头与所述移动机器人的主控制器电性连接;
将所述移动机器人的主控制器在linux/ubuntu操作系统环境下开启ROS系统,并打开所述相机的ROS节点,以发布名为/camera/color/image_raw的RGB图像流。
本发明实施例第二方面提出了一种移动机器人初始位姿估计系统,所述系统包括:
启动模块,用于当初始化ROS完成时,启用相机并通过所述相机发布RGB图像流话题节点;
第一计算模块,用于获取所述RGB图像流话题节点中的图像,并计算出所述图像中的ORB特征的第一关键点与第一描述子;
读取模块,用于读取模板图像集并加载出实验区图像词典;
第二计算模块,用于计算出所述模板图像集中的ORB特征的关键点集与描述子集,所述描述子集包括若干第二描述子,所述关键点集包括若干第二关键点;
转换模块,用于根据所述实验区图像词典将所述第一描述子和所述第二描述子均转换成对应的特征向量,并计算出所述特征向量之间的相似度得分;
匹配模块,用于从所述模板图像集中提取出匹配度最高的图像及对应的位姿,并计算出所述相机获取的图像与所述模板图像集中的匹配度最高的图像的旋转矩阵与平移矩阵;
第三计算模块,用于根据匹配度最高的图像对应的位姿计算出当前位置的空间姿态,并发布ROS初始化位置消息。
其中,上述移动机器人初始位姿估计系统中,所述第一计算模块具体用于:
基于linux/ubuntu操作系统环境,通过cv::bridge在所述RGB图像流话题节点中获取到移动机器人当前位置的正方向;
按照sensor_msgs::Image格式二进制图像转化成常用的cv::Mat类型的图像数据,并使用OpenCV内嵌的图像ORB特征提取算法计算出所述图像数据对应的所述第一描述子与所述第一关键点。
其中,上述移动机器人初始位姿估计系统中,所述模板图像集包括基于ORB-SLAM3算法生成的当前移动机器人运行区域的关键帧图像集,以及相对于当前移动机器人地图原点的空间姿态,所述空间姿态由坐标x、y、z与四元数wx、wy、wz、z表示;
所述实验区图像词典由所述关键帧图像集利用DBoW3库以k叉树、L层深度、TF_IDF权重计算方式、L1范数评分方式并使用kmeans++聚类生成;
其中,所述TF_IDF权重计算方式具体包括:
TF_IDF权重计算方式使用的公式如下:
;
其中,TFi是指某个特征在单幅图像中出现的频率,ni是指某个特征在图像中出现的次数,n是指图像中的总特征数,IDFi是指出现某个特征的图像数量占图像总数的比例,N表示图像词典中的总图像数,Ni表示出现某个特征的图像数,ηi表示某一特征在所述实验区图像词典中的权重;
其中,所述L1范数评分方式具体包括:
使用L1范数计算特征向量之间的匹配程度;
;
其中,v1表示第一张图像的特征向量,v2表示第二张图像的特征向量,s表示两个向量之间的匹配度得分。
其中,上述移动机器人初始位姿估计系统中,所述转换模块具体用于:
对所述模板图像集中的全部图像提取出ORB特征并获取到对应的关键点集与描述子集;
将所述第一描述子以及所述描述子集中的各个第二描述子均通过所述实验区图像词典转化为对应的特征向量;
根据所述L1范数计算特征向量间的匹配程度计算出对应的匹配得分;
其中,描述子到特征向量的转换过程通过查询所述实验区图像词典完成,且特征向量描述式如下:
;
其中,v表示图像在所述实验区图像词典空间下的特征向量描述形式,ni表示所述实验区图像词典空间下的某一特征,向量维数由词典分叉数k与层数L的积决定,当描述子中存在所述实验区图像词典中的某个特征ni时,记录对应维度下的特征出现频数,否则当前维度为0。
其中,上述移动机器人初始位姿估计系统中,所述匹配模块具体用于:
根据相似度得分的高低确定出匹配度最高的图像,并分别获取到匹配得分最高、次高对应的图像在所述模板图像集中的位置以及/>;
通过判断的结果来对匹配进行时间一致性约束,以消除误匹配对移动机器人带来的风险;
在确定出匹配度最高的图像有效之后,读取当前匹配度最高的图像的图像数据,并进行ORB特征提取,以获取到第二关键点;
基于所述第一关键点以及所述相机的相机焦距、相机光心,根据对极几何约束出本质矩阵/>,并根据所述本质矩阵/>恢复出两个视角的旋转矩阵/>与平移矩阵/>。
其中,上述移动机器人初始位姿估计系统中,所述第三计算模块具体用于:
基于所述旋转矩阵以及所述平移矩阵/>构造出变换矩阵/>;
读取出匹配度最高的图像空间的坐标及四元数,并将所述坐标和所述四元数转换成对应的变换矩阵;
将两变换矩阵做矩阵乘法得到当前位置图像对应的地图坐标原点变换矩阵;
将所述转换成四元数,构造geometry_msgs::PoseWithCovarianceStamped格式、名为initialpose的ROS初始化位置消息。
其中,上述移动机器人初始位姿估计系统中,所述启动模块具体用于:
将摄像头布置于移动机器人的前部,并朝所述移动机器人的正方向呈平视状态;
通过USB Type-C接口将所述摄像头与所述移动机器人的主控制器电性连接;
将所述移动机器人的主控制器在linux/ubuntu操作系统环境下开启ROS系统,并打开所述相机的ROS节点,以发布名为/camera/color/image_raw的RGB图像流。
本发明实施例第三方面提出了一种计算机,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上面所述的汽车负载模拟测试方法。
本发明实施例第四方面提出了一种机器人,包括上面所述的移动机器人初始位姿估计系统。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为本发明第一实施例提供的移动机器人初始位姿估计方法的流程图;
图2为本发明第三实施例提供的移动机器人初始位姿估计系统的结构框图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
请参阅图1,所示为本发明第一实施例提供的移动机器人初始位姿估计方法,本实施例提供的移动机器人初始位姿估计方法能够在较短时间内部署在基于ROS控制的移动机器人上,于已知占用地图区域内可有效估计移动机器人位姿,并且对算法的算力要求低,适用于大范围的推广与使用。
具体的,本实施例提供的移动机器人初始位姿估计方法具体包括以下步骤:
步骤S10,当初始化ROS完成时,启用相机并通过所述相机发布RGB图像流话题节点;
在本实施例中,首先需要说明的是,本实施例提供的移动机器人初始位姿估计方法具体应用在基于ROS系统驱动的移动机器人上。并且会预先在该移动机器人上安装有适用于ROS驱动的相机,该相机设置在当前移动机器人的前端,用于获取当前移动机器人前方的图像。
因此,在本步骤中,当移动机器人启动时,需要首先完成对当前移动机器人内部有的ROS的初始化操作,并且当初始化ROS完成时,再启用相机并通过当前相机实时采集图像并发布RGB图像流话题节点。
步骤S20,获取所述RGB图像流话题节点中的图像,并计算出所述图像中的ORB特征的第一关键点与第一描述子;
进一步的,在本步骤中,当通过相机获取到当前移动机器人前方的图像时,当前移动机器人内部的控制器能够识别出当前图像对应的RGB图像流话题节点,并进一步获取到当前RGB图像流话题节点中的图像,并通过预设程序计算出当前图像中的ORB特征的第一关键点与第一描述子,并执行步骤S30。
步骤S30,读取模板图像集并加载出实验区图像词典;
进一步的,在本步骤中,当控制器获取到当前图像中的ORB特征对应的第一关键点以及第一描述子时,该控制器会立即读取当前移动机器人内部预存好的模板图像集,并对应加载出实验区图像词典。
步骤S40,计算出所述模板图像集中的ORB特征的关键点集与描述子集,所述描述子集包括若干第二描述子,所述关键点集包括若干第二关键点;
进一步的,在本步骤中,控制器会基于上述步骤S30读取出的模板图像集对应计算出当前模板图像集中的ORB特征的关键点集与描述子集,具体的,上述描述子集包括若干第二描述子,上述关键点集包括若干第二关键点。
步骤S50,根据所述实验区图像词典将所述第一描述子和所述第二描述子均转换成对应的特征向量,并计算出所述特征向量之间的相似度得分;
更进一步的,在本步骤中,控制器会基于上述步骤S30读取出的实验区图像词典将上述第一描述子与第二描述子均转换成对应的特征向量,并对应计算出各个特征向量之间的相似度得分。
步骤S60,从所述模板图像集中提取出匹配度最高的图像及对应的位姿,并计算出所述相机获取的图像与所述模板图像集中的匹配度最高的图像的旋转矩阵与平移矩阵;
在本步骤中,需要说明的是,控制器会对上述步骤S30获取到的模板图像集以及实验区图像词典进行二次处理,具体的,控制器从当前模板图像集中提取出匹配度最高的图像及对应的位姿,并计算出上述相机获取的图像与当前模板图像集中的匹配度最高的图像的旋转矩阵与平移矩阵。
步骤S70,根据匹配度最高的图像对应的位姿计算出当前位置的空间姿态,并发布ROS初始化位置消息。
最后,在本步骤中,当通过上述步骤S60在当前模板图像集中提取出匹配度最高的图像及对应的位姿时,本步骤会立即根据匹配度最高的图像对应的位姿计算出当前移动机器人的当前位置的空间姿态,并发布对应的ROS初始化位置消息,从而能够在较短时间内部署在基于ROS控制的移动机器人上,于已知占用地图区域内可有效估计移动机器人位姿,并且对算法的算力要求低,适用于大范围的推广与使用。
使用时,通过视觉SLAM技术获取先验关键帧及其姿态信息,基于视觉词典的回环检测技术匹配相似度最高模板图像,根据对极约束使用八点法求解当前帧与模板帧变换矩阵,与先验姿态处理后得移动机器人位姿估计。算法能够在较短时间内部署在基于ROS控制的移动机器人上,于已知占用地图区域内可有效估计移动机器人位姿,并且对算法的算力要求低,适用于大范围的推广与使用。
需要说明的是,上述的实施过程只是为了说明本申请的可实施性,但这并不代表本申请的移动机器人初始位姿估计方法只有上述唯一一种实施流程,相反的,只要能够将本申请的移动机器人初始位姿估计方法实施起来,都可以被纳入本申请的可行实施方案。
综上,本发明上述实施例当中的移动机器人初始位姿估计方法能够在较短时间内部署在基于ROS控制的移动机器人上,于已知占用地图区域内可有效估计移动机器人位姿,并且对算法的算力要求低,适用于大范围的推广与使用。
另外,本发明第二实施例也提供了一种移动机器人初始位姿估计方法,本实施例提供的移动机器人初始位姿估计方法具体包括以下步骤:
本实施例提供的移动机器人初始位姿估计方法同样运用在基于ROS系统驱动的移动机器人上。
步骤S11,将摄像头布置于移动机器人的前部,并朝所述移动机器人的正方向呈平视状态;通过USB Type-C接口将所述摄像头与所述移动机器人的主控制器电性连接;将所述移动机器人的主控制器在linux/ubuntu操作系统环境下开启ROS系统,并打开所述相机的ROS节点,以发布名为/camera/color/image_raw的RGB图像流。
具体的,在本实施例中,首先需要说明的是,本实施例会首先将相机布置于移动机器人的前部,并朝当前移动机器人的正方向呈平视状态。进一步的,通过USB Type-C接口将当前相机中的摄像头与当前移动机器人的主控制器电性连接,以使当前相机接入当前移动机器人的ROS系统中。
进一步的,将当前移动机器人的主控制器在linux/ubuntu操作系统环境下开启ROS系统,并打开所述相机的ROS节点,以发布名为/camera/color/image_raw的RGB图像流,该RGB图像流包括若干RGB图像流话题节点。
步骤S21,基于linux/ubuntu操作系统环境,通过cv::bridge在所述RGB图像流话题节点中获取到移动机器人当前位置的正方向;按照sensor_msgs::Image格式二进制图像转化成常用的cv::Mat类型的图像数据,并使用OpenCV内嵌的图像ORB特征提取算法计算出所述图像数据对应的所述第一描述子与所述第一关键点。
进一步的,在本步骤中,会基于linux/ubuntu操作系统环境对获取到的RGB图像流中的若干RGB图像流话题节点进行处理,即控制器会通过cv::bridge在当前RGB图像流话题节点中获取到移动机器人当前位置的正方向,并按照sensor_msgs::Image格式二进制图像转化成常用的cv::Mat类型的图像数据,并使用OpenCV内嵌的图像ORB特征提取算法计算出当前图像数据对应的第一描述子与第一关键点。
具体的,在本实施例中,需要说明的是,模板图像集包括基于ORB-SLAM3算法生成的当前移动机器人运行区域的关键帧图像集,以及相对于当前移动机器人地图原点的空间姿态,所述空间姿态由坐标x、y、z与四元数wx、wy、wz、z表示;
所述实验区图像词典由所述关键帧图像集利用DBoW3库以k叉树、L层深度、TF_IDF权重计算方式、L1范数评分方式并使用kmeans++聚类生成;
其中,所述TF_IDF权重计算方式具体包括:
TF_IDF权重计算方式使用的公式如下:
;
其中,TFi是指某个特征在单幅图像中出现的频率,ni是指某个特征在图像中出现的次数,n是指图像中的总特征数,IDFi是指出现某个特征的图像数量占图像总数的比例,N表示图像词典中的总图像数,Ni表示出现某个特征的图像数,ηi表示某一特征在所述实验区图像词典中的权重;
其中,所述L1范数评分方式具体包括:
使用L1范数计算特征向量之间的匹配程度;
;
其中,v1表示第一张图像的特征向量,v2表示第二张图像的特征向量,s表示两个向量之间的匹配度得分。
步骤S31,读取模板图像集并加载出实验区图像词典;
具体的,在本步骤中,当控制器获取到当前图像中的ORB特征对应的第一关键点以及第一描述子时,该控制器会立即读取当前移动机器人内部预存好的模板图像集,并对应加载出实验区图像词典,其中,模板图像集和实验区图像词典都是在当前移动机器人中已经预设好的程序,控制器可以直接调出并使用,以执行步骤S41。
步骤S41,计算出所述模板图像集中的ORB特征的关键点集与描述子集,所述描述子集包括若干第二描述子,所述关键点集包括若干第二关键点;
进一步的,在本步骤中,控制器会基于上述步骤S31读取出的模板图像集对应计算出当前模板图像集中的ORB特征的关键点集与描述子集,具体的,上述描述子集包括若干第二描述子,上述关键点集包括若干第二关键点。
步骤S51,对所述模板图像集中的全部图像提取出ORB特征并获取到对应的关键点集与描述子集;将所述第一描述子以及所述描述子集中的各个第二描述子均通过所述实验区图像词典转化为对应的特征向量;根据所述L1范数计算特征向量间的匹配程度计算出对应的匹配得分;
其中,描述子到特征向量的转换过程通过查询所述实验区图像词典完成,且特征向量描述式如下:
;
其中,v表示图像在所述实验区图像词典空间下的特征向量描述形式,ni表示所述实验区图像词典空间下的某一特征,向量维数由词典分叉数k与层数L的积决定,当描述子中存在所述实验区图像词典中的某个特征ni时,记录对应维度下的特征出现频数,否则当前维度为0。
具体的,在本步骤中,通过对上述模板图像集中的全部图像提取出ORB特征并获取到对应的关键点集与描述子集,进一步的,将上述第一描述子以及上述描述子集中的各个第二描述子均通过上述实验区图像词典转化为对应的特征向量,最后根据上述L1范数计算特征向量间的匹配程度即可有效的计算出对应的匹配得分。
步骤S61,根据相似度得分的高低确定出匹配度最高的图像,并分别获取到匹配得分最高、次高对应的图像在所述模板图像集中的位置以及/>;
通过判断的结果来对匹配进行时间一致性约束,以消除误匹配对移动机器人带来的风险;
在确定出匹配度最高的图像有效之后,读取当前匹配度最高的图像的图像数据,并进行ORB特征提取,以获取到第二关键点;
基于所述第一关键点以及所述相机的相机焦距、相机光心,根据对极几何约束出本质矩阵/>,并根据所述本质矩阵/>恢复出两个视角的旋转矩阵/>与平移矩阵/>。
具体的,在本步骤中,会进一步对获取到的图像进行处理,具体的,在本步骤中,会根据上述步骤S51计算出的相似度得分的高低确定出匹配度最高的图像,并对应分别获取到匹配得分最高、次高对应的图像在所述模板图像集中的位置,并且在确定出匹配度最高的图像有效之后,读取当前匹配度最高的图像的图像数据,并进行ORB特征提取,以获取到第二关键点;
基于所述第一关键点以及所述相机的相机焦距、相机光心,根据对极几何约束出本质矩阵/>,并根据所述本质矩阵/>恢复出两个视角的旋转矩阵/>与平移矩阵/>,从而能够有效的获取到旋转矩阵/>与平移矩阵/>。
步骤S71,基于所述旋转矩阵以及所述平移矩阵/>构造出变换矩阵/>;读取出匹配度最高的图像空间的坐标及四元数,并将所述坐标和所述四元数转换成对应的变换矩阵;将两变换矩阵/>做矩阵乘法得到当前位置图像对应的地图坐标原点变换矩阵/>;将所述/>转换成四元数,构造geometry_msgs::PoseWithCovarianceStamped格式、名为initialpose的ROS初始化位置消息。
最后,在本步骤中,通过计算出的旋转矩阵与平移矩阵/>,再通过矩阵乘法可以有效的将当前移动机器人的当前位置转换至当前移动机器人的占用地图原点,以准确的发布ROS初始化位置消息,进而可以快速、精准地估计移动机器人初始位姿。
需要指出的是,本发明第二实施例所提供的方法,其实现原理及产生的一些技术效果和第一实施例相同,为简要描述,本实施例未提及之处,可参考第一实施例中相应内容。
综上,本发明上述实施例当中的移动机器人初始位姿估计方法能够在较短时间内部署在基于ROS控制的移动机器人上,于已知占用地图区域内可有效估计移动机器人位姿,并且对算法的算力要求低,适用于大范围的推广与使用。
请参阅图2,所示为本发明第三实施例提供的移动机器人初始位姿估计系统,该移动机器人初始位姿估计系统具体包括:
启动模块12,用于当初始化ROS完成时,启用相机并通过所述相机发布RGB图像流话题节点;
第一计算模块22,用于获取所述RGB图像流话题节点中的图像,并计算出所述图像中的ORB特征的第一关键点与第一描述子;
读取模块32,用于读取模板图像集并加载出实验区图像词典;
第二计算模块42,用于计算出所述模板图像集中的ORB特征的关键点集与描述子集,所述描述子集包括若干第二描述子,所述关键点集包括若干第二关键点;
转换模块52,用于根据所述实验区图像词典将所述第一描述子和所述第二描述子均转换成对应的特征向量,并计算出所述特征向量之间的相似度得分;
匹配模块62,用于从所述模板图像集中提取出匹配度最高的图像及对应的位姿,并计算出所述相机获取的图像与所述模板图像集中的匹配度最高的图像的旋转矩阵与平移矩阵;
第三计算模块72,用于根据匹配度最高的图像对应的位姿计算出当前位置的空间姿态,并发布ROS初始化位置消息。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
其中,上述移动机器人初始位姿估计系统中,所述第一计算模块22具体用于:
基于linux/ubuntu操作系统环境,通过cv::bridge在所述RGB图像流话题节点中获取到移动机器人当前位置的正方向;
按照sensor_msgs::Image格式二进制图像转化成常用的cv::Mat类型的图像数据,并使用OpenCV内嵌的图像ORB特征提取算法计算出所述图像数据对应的所述第一描述子与所述第一关键点。
其中,上述移动机器人初始位姿估计系统中,所述模板图像集包括基于ORB-SLAM3算法生成的当前移动机器人运行区域的关键帧图像集,以及相对于当前移动机器人地图原点的空间姿态,所述空间姿态由坐标x、y、z与四元数wx、wy、wz、z表示;
所述实验区图像词典由所述关键帧图像集利用DBoW3库以k叉树、L层深度、TF_IDF权重计算方式、L1范数评分方式并使用kmeans++聚类生成;
其中,所述TF_IDF权重计算方式具体包括:
TF_IDF权重计算方式使用的公式如下:
;
其中,TFi是指某个特征在单幅图像中出现的频率,ni是指某个特征在图像中出现的次数,n是指图像中的总特征数,IDFi是指出现某个特征的图像数量占图像总数的比例,N表示图像词典中的总图像数,Ni表示出现某个特征的图像数,ηi表示某一特征在所述实验区图像词典中的权重;
其中,所述L1范数评分方式具体包括:
使用L1范数计算特征向量之间的匹配程度;
;
其中,v1表示第一张图像的特征向量,v2表示第二张图像的特征向量,s表示两个向量之间的匹配度得分。
其中,上述移动机器人初始位姿估计系统中,所述转换模块52具体用于:
对所述模板图像集中的全部图像提取出ORB特征并获取到对应的关键点集与描述子集;
将所述第一描述子以及所述描述子集中的各个第二描述子均通过所述实验区图像词典转化为对应的特征向量;
根据所述L1范数计算特征向量间的匹配程度计算出对应的匹配得分;
其中,描述子到特征向量的转换过程通过查询所述实验区图像词典完成,且特征向量描述式如下:
;
其中,v表示图像在所述实验区图像词典空间下的特征向量描述形式,ni表示所述实验区图像词典空间下的某一特征,向量维数由词典分叉数k与层数L的积决定,当描述子中存在所述实验区图像词典中的某个特征ni时,记录对应维度下的特征出现频数,否则当前维度为0。
其中,上述移动机器人初始位姿估计系统中,所述匹配模块62具体用于:
根据相似度得分的高低确定出匹配度最高的图像,并分别获取到匹配得分最高、次高对应的图像在所述模板图像集中的位置以及/>;
通过判断的结果来对匹配进行时间一致性约束,以消除误匹配对移动机器人带来的风险;
在确定出匹配度最高的图像有效之后,读取当前匹配度最高的图像的图像数据,并进行ORB特征提取,以获取到第二关键点;
基于所述第一关键点以及所述相机的相机焦距、相机光心,根据对极几何约束出本质矩阵/>,并根据所述本质矩阵/>恢复出两个视角的旋转矩阵/>与平移矩阵/>。
其中,上述移动机器人初始位姿估计系统中,所述第三计算模块72具体用于:
基于所述旋转矩阵以及所述平移矩阵/>构造出变换矩阵/>;
读取出匹配度最高的图像空间的坐标及四元数,并将所述坐标和所述四元数转换成对应的变换矩阵;
将两变换矩阵做矩阵乘法得到当前位置图像对应的地图坐标原点变换矩阵;
将所述转换成四元数,构造geometry_msgs::PoseWithCovarianceStamped格式、名为initialpose的ROS初始化位置消息。
其中,上述移动机器人初始位姿估计系统中,所述启动模块12具体用于:
将摄像头布置于移动机器人的前部,并朝所述移动机器人的正方向呈平视状态;
通过USB Type-C接口将所述摄像头与所述移动机器人的主控制器电性连接;
将所述移动机器人的主控制器在linux/ubuntu操作系统环境下开启ROS系统,并打开所述相机的ROS节点,以发布名为/camera/color/image_raw的RGB图像流。
本发明第四实施例提供了一种计算机,其包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一实施例或者第二实施例提供的汽车负载模拟测试方法。
本发明第五实施例提供了一种机器人,其包括上述第三实施例提供的移动机器人初始位姿估计系统。
综上所述,本发明上述实施例当中的移动机器人初始位姿估计方法、系统、计算机及机器人能够在较短时间内部署在基于ROS控制的移动机器人上,于已知占用地图区域内可有效估计移动机器人位姿,并且对算法的算力要求低,适用于大范围的推广与使用。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种移动机器人初始位姿估计方法,其特征在于,所述方法包括:
当初始化ROS完成时,启用相机并通过所述相机发布RGB图像流话题节点;
获取所述RGB图像流话题节点中的图像,并计算出所述图像中的ORB特征的第一关键点与第一描述子;
读取模板图像集并加载出实验区图像词典;
计算出所述模板图像集中的ORB特征的关键点集与描述子集,所述描述子集包括若干第二描述子,所述关键点集包括若干第二关键点;
根据所述实验区图像词典将所述第一描述子和所述第二描述子均转换成对应的特征向量,并计算出所述特征向量之间的相似度得分;
从所述模板图像集中提取出匹配度最高的图像及对应的位姿,并计算出所述相机获取的图像与所述模板图像集中的匹配度最高的图像的旋转矩阵与平移矩阵;
根据匹配度最高的图像对应的位姿计算出当前位置的空间姿态,并发布ROS初始化位置消息;
所述模板图像集包括基于ORB-SLAM3算法生成的当前移动机器人运行区域的关键帧图像集,以及相对于当前移动机器人地图原点的空间姿态,所述空间姿态由坐标x、y、z与四元数wx、wy、wz、z表示;
所述实验区图像词典由所述关键帧图像集利用DBoW3库以k叉树、L层深度、TF_IDF权重计算方式、L1范数评分方式并使用kmeans++聚类生成;
其中,所述TF_IDF权重计算方式具体包括:
TF_IDF权重计算方式使用的公式如下:
;
其中,TFi是指某个特征在单幅图像中出现的频率,ni是指某个特征在图像中出现的次数,n是指图像中的总特征数,IDFi是指出现某个特征的图像数量占图像总数的比例,N表示图像词典中的总图像数,Ni表示出现某个特征的图像数,ηi表示某一特征在所述实验区图像词典中的权重;
其中,所述L1范数评分方式具体包括:
使用L1范数计算特征向量之间的匹配程度;
;
其中,v1表示第一张图像的特征向量,v2表示第二张图像的特征向量,s表示两个向量之间的匹配度得分;
所述根据所述实验区图像词典将所述第一描述子和所述第二描述子均转换成对应的特征向量,并计算出所述特征向量之间的相似度得分的步骤包括:
对所述模板图像集中的全部图像提取出ORB特征并获取到对应的关键点集与描述子集;
将所述第一描述子以及所述描述子集中的各个第二描述子均通过所述实验区图像词典转化为对应的特征向量;
根据所述L1范数计算特征向量间的匹配程度计算出对应的匹配得分,以能够得到有效的所述对应的匹配得分;
其中,描述子到特征向量的转换过程通过查询所述实验区图像词典完成,且特征向量描述式如下:
;
其中,v表示图像在所述实验区图像词典空间下的特征向量描述形式,ni表示所述实验区图像词典空间下的某一特征,向量维数由词典分叉数k与层数L的积决定,当描述子中存在所述实验区图像词典中的某个特征ni时,记录对应维度下的特征出现频数,否则当前维度为0。
2.根据权利要求1所述的移动机器人初始位姿估计方法,其特征在于:所述获取所述RGB图像流话题节点中的图像,并计算出所述图像中的ORB特征的第一关键点与第一描述子的步骤包括:
基于linux/ubuntu操作系统环境,通过cv::bridge在所述RGB图像流话题节点中获取到移动机器人当前位置正方向图像;
按照sensor_msgs::Image格式二进制图像转化成常用的cv::Mat类型的图像数据,并使用OpenCV内嵌的图像ORB特征提取算法计算出所述图像数据对应的所述第一描述子与所述第一关键点。
3.根据权利要求1所述的移动机器人初始位姿估计方法,其特征在于:所述从所述模板图像集中提取出匹配度最高的图像及对应的位姿,并计算出所述相机获取的图像与所述模板图像集中的匹配度最高的图像的旋转矩阵与平移矩阵的步骤包括:
根据相似度得分的高低确定出匹配度最高的图像,并分别获取到匹配得分最高、次高对应的图像在所述模板图像集中的位置以及/>;
通过判断的结果来对匹配进行时间一致性约束,以消除误匹配对移动机器人带来的风险;
在确定出匹配度最高的图像有效之后,读取当前匹配度最高的图像的图像数据,并进行ORB特征提取,以获取到第二关键点;
基于所述第一关键点以及所述相机的相机焦距、相机光心,根据对极几何约束出本质矩阵/>,并根据所述本质矩阵/>恢复出两个视角的旋转矩阵/>与平移矩阵/>。
4.根据权利要求3所述的移动机器人初始位姿估计方法,其特征在于:所述根据匹配度最高的图像对应的位姿计算出当前位置的空间姿态,并发布ROS初始化位置消息的步骤包括:
基于所述旋转矩阵以及所述平移矩阵/>构造出变换矩阵/>;
读取出匹配度最高的图像空间的坐标及四元数,并将所述坐标和所述四元数转换成对应的变换矩阵;
将两变换矩阵做矩阵乘法得到当前位置图像对应的地图坐标原点变换矩阵/>;
将所述转换成四元数,构造geometry_msgs::PoseWithCovarianceStamped格式、名为initialpose的ROS初始化位置消息。
5.根据权利要求1所述的移动机器人初始位姿估计方法,其特征在于:所述当初始化ROS完成时,启用相机并通过所述相机发布RGB图像流话题节点的步骤包括:
将摄像头布置于移动机器人的前部,并朝所述移动机器人的正方向呈平视状态;
通过USB Type-C接口将所述摄像头与所述移动机器人的主控制器电性连接;
将所述移动机器人的主控制器在linux/ubuntu操作系统环境下开启ROS系统,并打开所述相机的ROS节点,以发布名为/camera/color/image_raw的RGB图像流。
6.一种移动机器人初始位姿估计系统,其特征在于,所述系统包括:
启动模块,用于当初始化ROS完成时,启用相机并通过所述相机发布RGB图像流话题节点;
第一计算模块,用于获取所述RGB图像流话题节点中的图像,并计算出所述图像中的ORB特征的第一关键点与第一描述子;
读取模块,用于读取模板图像集并加载出实验区图像词典;
第二计算模块,用于计算出所述模板图像集中的ORB特征的关键点集与描述子集,所述描述子集包括若干第二描述子,所述关键点集包括若干第二关键点;
转换模块,用于根据所述实验区图像词典将所述第一描述子和所述第二描述子均转换成对应的特征向量,并计算出所述特征向量之间的相似度得分;
匹配模块,用于从所述模板图像集中提取出匹配度最高的图像及对应的位姿,并计算出所述相机获取的图像与所述模板图像集中的匹配度最高的图像的旋转矩阵与平移矩阵;
第三计算模块,用于根据匹配度最高的图像对应的位姿计算出当前位置的空间姿态,并发布ROS初始化位置消息;
其中,所述所述模板图像集包括基于ORB-SLAM3算法生成的当前移动机器人运行区域的关键帧图像集,以及相对于当前移动机器人地图原点的空间姿态,所述空间姿态由坐标x、y、z与四元数wx、wy、wz、z表示;
所述实验区图像词典由所述关键帧图像集利用DBoW3库以k叉树、L层深度、TF_IDF权重计算方式、L1范数评分方式并使用kmeans++聚类生成;
其中,所述TF_IDF权重计算方式具体包括:
TF_IDF权重计算方式使用的公式如下:
;
其中,TFi是指某个特征在单幅图像中出现的频率,ni是指某个特征在图像中出现的次数,n是指图像中的总特征数,IDFi是指出现某个特征的图像数量占图像总数的比例,N表示图像词典中的总图像数,Ni表示出现某个特征的图像数,ηi表示某一特征在所述实验区图像词典中的权重;
其中,所述L1范数评分方式具体包括:
使用L1范数计算特征向量之间的匹配程度;
;
其中,v1表示第一张图像的特征向量,v2表示第二张图像的特征向量,s表示两个向量之间的匹配度得分,以能够得到有效的所述对应的匹配得分;
所述转换模块还用于对所述模板图像集中的全部图像提取出ORB特征并获取到对应的关键点集与描述子集;将所述第一描述子以及所述描述子集中的各个第二描述子均通过所述实验区图像词典转化为对应的特征向量;根据所述L1范数计算特征向量间的匹配程度计算出对应的匹配得分;其中,描述子到特征向量的转换过程通过查询所述实验区图像词典完成,且特征向量描述式如下:
;
其中,v表示图像在所述实验区图像词典空间下的特征向量描述形式,ni表示所述实验区图像词典空间下的某一特征,向量维数由词典分叉数k与层数L的积决定,当描述子中存在所述实验区图像词典中的某个特征ni时,记录对应维度下的特征出现频数,否则当前维度为0。
7.一种计算机,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述的移动机器人初始位姿估计方法。
8.一种机器人,其特征在于:包括如权利要求6所述的移动机器人初始位姿估计系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210177620.7A CN114603555B (zh) | 2022-02-24 | 2022-02-24 | 移动机器人初始位姿估计方法、系统、计算机及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210177620.7A CN114603555B (zh) | 2022-02-24 | 2022-02-24 | 移动机器人初始位姿估计方法、系统、计算机及机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114603555A CN114603555A (zh) | 2022-06-10 |
CN114603555B true CN114603555B (zh) | 2023-12-08 |
Family
ID=81859813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210177620.7A Active CN114603555B (zh) | 2022-02-24 | 2022-02-24 | 移动机器人初始位姿估计方法、系统、计算机及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114603555B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117495970B (zh) * | 2024-01-03 | 2024-05-14 | 中国科学技术大学 | 基于模板多级匹配的化学仪器位姿估计方法、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105856230A (zh) * | 2016-05-06 | 2016-08-17 | 简燕梅 | 一种可提高机器人位姿一致性的orb关键帧闭环检测slam方法 |
CN107680133A (zh) * | 2017-09-15 | 2018-02-09 | 重庆邮电大学 | 一种基于改进闭环检测算法的移动机器人视觉slam方法 |
CN110533722A (zh) * | 2019-08-30 | 2019-12-03 | 的卢技术有限公司 | 一种基于视觉词典的机器人快速重定位方法及系统 |
CN113223077A (zh) * | 2021-05-21 | 2021-08-06 | 广州高新兴机器人有限公司 | 基于视觉辅助激光自动初始定位的方法及装置 |
CN113537208A (zh) * | 2021-05-18 | 2021-10-22 | 杭州电子科技大学 | 一种基于语义orb-slam技术的视觉定位方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10782137B2 (en) * | 2019-01-28 | 2020-09-22 | Qfeeltech (Beijing) Co., Ltd. | Methods, apparatus, and systems for localization and mapping |
KR102212825B1 (ko) * | 2019-04-08 | 2021-02-08 | 네이버랩스 주식회사 | 이미지를 기반으로 포즈 계산을 위한 지도의 최신성을 유지하는 방법 및 시스템 |
-
2022
- 2022-02-24 CN CN202210177620.7A patent/CN114603555B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105856230A (zh) * | 2016-05-06 | 2016-08-17 | 简燕梅 | 一种可提高机器人位姿一致性的orb关键帧闭环检测slam方法 |
CN107680133A (zh) * | 2017-09-15 | 2018-02-09 | 重庆邮电大学 | 一种基于改进闭环检测算法的移动机器人视觉slam方法 |
CN110533722A (zh) * | 2019-08-30 | 2019-12-03 | 的卢技术有限公司 | 一种基于视觉词典的机器人快速重定位方法及系统 |
CN113537208A (zh) * | 2021-05-18 | 2021-10-22 | 杭州电子科技大学 | 一种基于语义orb-slam技术的视觉定位方法及系统 |
CN113223077A (zh) * | 2021-05-21 | 2021-08-06 | 广州高新兴机器人有限公司 | 基于视觉辅助激光自动初始定位的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114603555A (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109343061B (zh) | 传感器标定方法、装置、计算机设备、介质和车辆 | |
US10445602B2 (en) | Apparatus and method for recognizing traffic signs | |
US20130335318A1 (en) | Method and apparatus for doing hand and face gesture recognition using 3d sensors and hardware non-linear classifiers | |
CN110363817B (zh) | 目标位姿估计方法、电子设备和介质 | |
TWI506563B (zh) | A method and apparatus for enhancing reality of two - dimensional code | |
CN108073851B (zh) | 一种抓取手势识别的方法、装置及电子设备 | |
KR102108951B1 (ko) | 영상의 전역 문맥 정보를 활용하는 딥러닝 기반 물체 검출 방법 및 시스템 | |
CN103530619A (zh) | 基于rgb-d数据构成的少量训练样本的手势识别方法 | |
CN108256454B (zh) | 一种基于cnn模型的训练方法、人脸姿态估测方法及装置 | |
CN114603555B (zh) | 移动机器人初始位姿估计方法、系统、计算机及机器人 | |
AG | Development of portable automatic number plate recognition (ANPR) system on Raspberry Pi | |
Sethi et al. | Signpro-An application suite for deaf and dumb | |
CN115496923A (zh) | 一种基于不确定性感知的多模态融合目标检测方法及装置 | |
CN112861776A (zh) | 一种基于密集关键点的人体姿态分析方法和系统 | |
CN112907583B (zh) | 目标对象姿态选择方法、图像评分方法及模型训练方法 | |
CN111914841B (zh) | 一种ct图像处理方法和装置 | |
WO2018035849A1 (en) | A method, apparatus and computer program product for removing weather elements from images | |
CN115239776B (zh) | 点云的配准方法、装置、设备和介质 | |
CN116245915A (zh) | 一种基于视频的目标跟踪方法 | |
CN115993927A (zh) | 基于手势识别的屏幕显示方法、装置、设备及存储介质 | |
CN113298044B (zh) | 基于定位补偿的障碍物检测方法、系统、设备及存储介质 | |
CN111860084A (zh) | 图像特征的匹配、定位方法及装置、定位系统 | |
CN116524207A (zh) | 基于边缘检测辅助的弱监督rgbd图像显著性检测方法 | |
CN115115699A (zh) | 姿态估计方法、装置、相关设备和计算机产品 | |
Desai | Segmentation and recognition of fingers using Microsoft Kinect |
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 |