CN113112547A - 机器人及其重定位方法、定位装置及存储介质 - Google Patents
机器人及其重定位方法、定位装置及存储介质 Download PDFInfo
- Publication number
- CN113112547A CN113112547A CN202110439700.0A CN202110439700A CN113112547A CN 113112547 A CN113112547 A CN 113112547A CN 202110439700 A CN202110439700 A CN 202110439700A CN 113112547 A CN113112547 A CN 113112547A
- Authority
- CN
- China
- Prior art keywords
- feature
- frame image
- robot
- descriptors
- historical
- 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 64
- 238000000605 extraction Methods 0.000 claims abstract description 53
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 51
- 238000010586 diagram Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 15
- 230000004888 barrier function Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 abstract description 8
- 238000005286 illumination Methods 0.000 abstract description 7
- 239000011159 matrix material Substances 0.000 description 32
- 230000008901 benefit Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种机器人的重定位方法:获取包括机器人的每一帧历史帧图像的特征点、特征描述子和历史位姿的特征地图;在机器人定位失败时,获取机器人所处环境的当前帧图像;将当前帧图像输入卷积神经网络模型进行特征提取,获得当前帧图像的特征点、特征描述子;根据每一帧历史帧图像和当前帧图像的特征点、特征描述子,确定与当前帧图像匹配的目标历史帧图像的特征点、特征描述子;根据目标历史帧图像与当前帧图像的特征点、特征描述子进行特征点匹配,获得特征点对应关系;根据特征点对应关系和机器人在目标历史帧图像的历史位姿,确定机器人的实际位姿;上述方法能够提高机器人在存在光照变化的环境下的重定位精度。
Description
技术领域
本申请涉及机器人技术领域,尤其涉及一种机器人及其重定位方法、定位装置及存储介质。
背景技术
目前,机器人在室外通常通过GPS定位,而在室内通常采用激光SLAM(Simultaneous Localization and Mapping,即时定位与建图技术)或者视觉SLAM进行构建地图与定位,机器人在定位成功后才能准确行走,若定位失败则机器人不能正常运行。激光SLAM技术较为成熟,依靠其可高精度的障碍物探测能力,成为目前最主流、最稳定的定位导航方法,但是其成本比较高,获取环境的信息只是单纯的距离信息,依靠粒子滤波的概率分布进行定位,容易在一些特殊环境中出现定位失败。随着计算机视觉技术的迅速发展,视觉SLAM依靠图像信息量大,成本低,使用范围广等优点受到广泛关注,根据摄像头种类的不同,包括深度摄像头、单目、双目,可以采用不同的技术方案获取环境信息,例如单目,利用多帧图像来估计自身的位姿变化,再通过累计位姿变化来计算距离物体的距离,并进行定位与地图构建。然而,视觉SLAM对光的依赖程度高,在光线变化后,机器人也不能准确的进行重定位。
发明内容
本发明提供了一种机器人及其重定位方法、定位装置及存储介质,以解决或者部分解决机器人在定位失败时,如何在存在光照变化的环境下提高机器人重定位精度的技术问题。
为解决上述技术问题,根据本发明一个可选的实施例,提供了一种机器人的重定位方法,包括:
获取特征地图;所述特征地图包括机器人运行环境的每一帧历史帧图像对应的特征点和特征描述子,以及所述机器人在所述每一帧历史帧图像对应的历史位姿;
在所述机器人定位失败时,获取所述机器人所处环境的当前帧图像;
将所述当前帧图像输入卷积神经网络模型进行特征提取,获得所述当前帧图像的特征点、特征描述子;
根据所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子进行特征匹配,确定与所述当前帧图像匹配的目标历史帧图像的特征点、特征描述子;
根据所述目标历史帧图像的特征点、特征描述子与所述当前帧图像的特征点、特征描述子进行特征点匹配,获得所述当前帧图像与目标历史帧图像的特征点对应关系;
根据所述特征点对应关系和所述机器人在所述目标历史帧图像对应的历史位姿,确定所述机器人的实际位姿;
根据所述实际位姿,对所述机器人进行重定位。
可选的,所述将所述当前帧图像输入卷积神经网络模型进行特征提取,获得所述当前帧图像的特征点、特征描述子,包括:
将所述当前帧图像输入基于第一卷积神经网络构建的编码器,获得特征热力图;
将所述特征热力图输入基于第二卷积神经网络构建的特征点提取模型,获得所述特征点;
将所述特征热力图输入基于第三卷积神经网络构建的特征描述子提取模型,获得所述特征描述子。
可选的,所述根据所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子进行特征匹配,确定与所述当前帧图像匹配的目标历史帧图像的特征点、特征描述子,包括:
将所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子输入预设的特征匹配模型,获得所述当前帧图像与所述每一帧历史帧图像之间的相似度;
将所述相似度满足预设条件的历史帧图像的特征点、特征描述子确定为所述目标历史帧图像的特征点、特征描述子。
进一步的,所述根据所述特征点对应关系和所述机器人在所述目标历史帧图像对应的历史位姿,确定所述机器人的实际位姿,包括:
根据所述特征点对应关系和所述机器人在所述目标历史帧图像对应的历史位姿,使用对极几何方法或PnP方法计算所述当前帧图像的实际位姿。
如上述的技术方案,在所述获取特征地图之后,所述重定位方法还包括:
获取所述机器人当前所处环境的障碍物信息;
根据所述机器人当前所处环境的障碍物信息和所述特征地图中所述当前所处环境的对应环境的障碍物信息,计算障碍物相似度;
在所述障碍物相似度小于定位阈值时,确定所述机器人定位失败。
根据本发明又一个可选的实施例,提供了一种机器人的重定位装置,包括:
获取模块,用于获取特征地图,以及在所述机器人定位失败时,获取所述机器人所处环境的当前帧图像;所述特征地图包括机器人运行环境的每一帧历史帧图像对应的特征点和特征描述子,以及所述机器人在所述每一帧历史帧图像对应的历史位姿;
特征提取模块,用于将所述当前帧图像输入卷积神经网络模型进行特征提取,获得所述当前帧图像的特征点、特征描述子;
特征匹配模块,用于根据所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子进行特征匹配,确定与所述当前帧图像匹配的目标历史帧图像的特征点、特征描述子;
特征点匹配模块,用于根据所述目标历史帧图像的特征点、特征描述子与所述当前帧图像的特征点、特征描述子进行特征点匹配,获得所述当前帧图像与目标历史帧图像的特征点对应关系;
位姿确定模块,用于根据所述特征点对应关系和所述机器人在所述目标历史帧图像对应的历史位姿,确定所述机器人的实际位姿;
定位模块,用于根据所述实际位姿,对所述机器人进行重定位。
可选的,所述特征提取模块用于:
将所述当前帧图像输入基于第一卷积神经网络构建的编码器,获得特征热力图;
将所述特征热力图输入基于第二卷积神经网络构建的特征点提取模型,获得所述特征点;
将所述特征热力图输入基于第三卷积神经网络构建的特征描述子提取模型,获得所述特征描述子。
根据本发明又一个可选的实施例,提供了一种机器人,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前述技术方案中的任一项所述的重定位方法的步骤。
根据本发明又一个可选的实施例,提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下的步骤:
获取特征地图;所述特征地图包括机器人运行环境的每一帧历史帧图像对应的特征点和特征描述子,以及所述机器人在所述每一帧历史帧图像对应的历史位姿;
在所述机器人定位失败时,接收所述机器人所处环境的当前帧图像;
将所述当前帧图像输入卷积神经网络模型进行特征提取,获得所述当前帧图像的特征点、特征描述子;
根据所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子进行特征匹配,确定与所述当前帧图像匹配的目标历史帧图像的特征点、特征描述子;
根据所述目标历史帧图像的特征点、特征描述子与所述当前帧图像的特征点、特征描述子进行特征点匹配,获得所述当前帧图像与目标历史帧图像的特征点对应关系;
根据所述特征点对应关系和所述机器人在所述目标历史帧图像对应的历史位姿,确定所述机器人的实际位姿;
将所述实际位姿发送至所述机器人,以使所述机器人根据所述实际位姿进行重定位。
根据本发明又一个可选的实施例,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述技术方案中的任一权项所述的重定位方法。
通过本发明的一个或者多个技术方案,本发明具有以下有益效果或者优点:
本发明提供了一种机器人重定位方法,通过在机器人定位失败时,获取当前帧图像并输入深度学习模型:卷积神经网络提取特征点和特征描述子,实现了端到端提取特征点和描述子,对于存在光照变化、无纹理等环境的局部特征提取,卷积神经网络方法与传统的基于图像角点为关键点提取描述子的SIFT、BRIEF、ORB等方法相比,资源占用更少,运算速度更快,特征提取精度更高;然后将通过卷积神经网络输出的当前帧图像的特征点和特征描述子与特征地图中每一帧历史帧图像的特征点和特征描述子进行特征匹配,能够提高图像匹配精度,获得与当前帧图像匹配的目标历史帧图像对应的特征点和特征描述子;再基于当前帧图像和目标历史帧图像的特征点和特征描述子进行特征点匹配,得到两者之间的特征点对应关系或匹配关系,如此可以基于特征点对应关系和目标历史帧图像的位姿,提高机器人在当前帧实际位姿的计算精度,从而根据实际位姿实现更为精确的对机器人进行重定位。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的机器人的重定位方法的流程示意图;
图2示出了根据本发明一个实施例的特征点和特征描述子提取的框架示意图;
图3示出了根据本发明一个实施例的机器人的重定位装置示意图。
具体实施方式
为了使本申请所属技术领域中的技术人员更清楚地理解本申请,下面结合附图,通过具体实施例对本申请技术方案作详细描述。在整个说明书中,除非另有特别说明,本文使用的术语应理解为如本领域中通常所使用的含义。因此,除非另有定义,本文使用的所有技术和科学术语具有与本发明所属领域技术人员的一般理解相同的含义。若存在矛盾,本说明书优先。除非另有特别说明,本发明中用到的各种设备等,均可通过市场购买得到或者可通过现有方法制备得到。
通过进一步的研究发现,激光SLAM定位失败容易出现在长走廊、车库、餐厅等场景,激光扫描的几何特征单一重复,导致不能定位自身位置,单纯靠轮子编码器输出里程信息进行累积自己的位置,一旦出现轮子打滑、过坎等情况,机器人在地图中定位的位置就会偏离真实值,进而导致以后的运行失败。而视觉SLAM虽然依靠图像丰富的特征点信息能够适应复杂的场景,但是当光线变化,导致当前检测到的特征点与之前建图时的特征点不能匹配的时候,就会丢失特征点跟踪,失去定位信息;因此,光线暗和曝光都会影响其正常工作,在一些无纹理的区域,也无法准确获取环境的有用信息。
基于上述研究结论,为了解决机器人因为定位失败而迷路的问题,本发明提供了一种机器人的重定位方法,其整体思路如下:
获取特征地图;所述特征地图包括机器人运行环境的每一帧历史帧图像对应的特征点和特征描述子,以及所述机器人在所述每一帧历史帧图像对应的历史位姿;在所述机器人定位失败时,获取所述机器人所处环境的当前帧图像;将所述当前帧图像输入卷积神经网络模型进行特征提取,获得所述当前帧图像的特征点、特征描述子;根据所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子进行特征匹配,确定与所述当前帧图像匹配的目标历史帧图像的特征点、特征描述子;根据所述目标历史帧图像的特征点、特征描述子与所述当前帧图像的特征点、特征描述子进行特征点匹配,获得所述当前帧图像与目标历史帧图像的特征点对应关系;根据所述特征点对应关系和所述机器人在所述目标历史帧图像对应的历史位姿,确定所述机器人的实际位姿;根据所述实际位姿,对所述机器人进行重定位。
上述方法在机器人定位失败时,获取当前帧图像并输入深度学习模型:卷积神经网络提取特征点和特征描述子,实现了端到端提取特征点和描述子,对于存在光照变化、无纹理等环境的局部特征提取,卷积神经网络方法与传统的基于图像角点为关键点提取描述子的SIFT、BRIEF、ORB等方法相比,资源占用更少,运算速度更快,特征提取精度更高;然后将通过卷积神经网络输出的当前帧图像的特征点和特征描述子与特征地图中每一帧历史帧图像的特征点和特征描述子进行特征匹配,能够提高图像匹配精度,获得与当前帧图像匹配的目标历史帧图像对应的特征点和特征描述子;再基于当前帧图像和目标历史帧图像的特征点和特征描述子进行特征点匹配,得到两者之间的特征点对应关系,就可以基于特征点对应关系和目标历史帧图像的位姿,计算机器人当前的实际位姿;通过将当前帧图像与最匹配的目标历史帧图像进行特征点匹配,并基于目标历史帧图像的位姿计算机器人在当前帧的实际位姿,能够提高当前帧实际位姿的计算精度,从而根据实际位姿实现更为精确的机器人重定位。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
本发明提供的方法既可以应用在机器人上,也可以应用在服务器上,在一个可选的实施例中,如图1所示,提供了一种机器人重定位方法,应用于机器人端,所述重定位方法具体包括:
S1:获取特征地图;所述特征地图包括机器人运行环境的每一帧历史帧图像对应的特征点和特征描述子,以及所述机器人在所述每一帧历史帧图像对应的历史位姿;
具体的,特征地图是在机器人部署时,构建机器人自身导航所需的栅格地图(采用激光SLAM方法获得)或者点云地图(视觉SLAM)的同时,获取机器人在运行环境里的多个历史帧图像,以及机器人在每帧历史帧图像对应的位姿信息。然后使用预设的卷积神经网络模型对历史帧图像进行局部特征提取,获得每帧历史图像的特征点矩阵和特征描述子矩阵。此处对历史帧图像的特征提取所使用的卷积神经网络模型方法与模型与当前帧图像的特征提取所使用的方法相同,在步骤S3中再详细说明。再获得每一帧历史帧图像的特征点矩阵、特征描述子矩阵、历史位姿后,将其组成全局特征索引页表,与栅格地图或者点云地图一起形成离线的语义特征地图后存储至机器人的存储器,供将来机器人在实际运行时,出现定位失败或迷路后调用。
S2:在所述机器人定位失败时,获取所述机器人所处环境的当前帧图像;
每个机器人都配备有摄像机,在机器人定位失败或机器人迷路时,可通过相机或摄像机采集机器人当前所处环境的图像。
具体的,判断机器人是否定位失败或是否迷路的方法可以是:
S21:获取所述机器人当前所处环境的障碍物信息;
具体的,可通过机器人配备的激光传感器扫描当前环境中的障碍物信息,或者通过摄像机拍照获取当前环境中的障碍物信息。
S22:根据所述机器人当前所处环境的障碍物信息和所述特征地图中所述当前所处环境的对应环境的障碍物信息,计算障碍物相似度;
具体的,可通过对获取到的障碍物信息与特征地图中的栅格地图或点云地图的对应静态障碍物做匹配计算,输出匹配度概率值或相似度概率值。
S23:在所述障碍物相似度小于定位阈值时,确定所述机器人定位失败。
在确定机器人定位失败或迷路后,开始获取当前帧图像并进行如下的处理:
S3:将所述当前帧图像输入卷积神经网络模型进行特征提取,获得所述当前帧图像的特征点、特征描述子;
目前相关的卷积神经网络(Convolutional Neural Networks,CNN)为了解决图像识别、目标检测或语义分割等工作,是以图像的三维像素矩阵为输入,通过卷积运算得到图像的深层特征,在卷积后通过非线性运算,输出特征矩阵。
本方案采用的方法具体如下:
S31:将所述当前帧图像输入基于第一卷积神经网络构建的编码器,获得特征热力图;
具体的,特征热力图(heatmap)是用是用来标记场景图像中对特征点提取有用的区域。为了区分不同区域的作用和权重,可以在不同的特征点区域使用不同的颜色进行突出显示。
编码器可使用预先训练好的卷积神经网络模型,如VGG型的编码器来降低当前帧图像的维度,编码器包括卷积层、空间下采样池化层和非线性激活函数。编码器用于将输入的当前帧图像映射到一个具有较小空间维数和较大通道深度的中间张量,基于此生成特征热力图。
S32:将所述特征热力图输入基于第二卷积神经网络构建的特征点提取模型,获得所述特征点;
特征点通常又叫做感兴趣点或关键点,在图像识别中,特征点指的是能够稳定且可重复检测的2D图像位置点。
本步骤的具体过程为:
S321:对所述特征热力图进行第一卷积运算,获得预设大小的特征矩阵;
S322:将所述预设大小的特征矩阵输入softmax概率模型,获得特征点概率值;
S323:对所述特征点概率值进行升采样运算,获得所述特征点矩阵。
具体的,以特征热力图为输入,使用预先训练的第二卷积神经网络作为特征点解码器;第二卷积神经网络包括卷积层和概率模型,先通过第一卷积运算对特征热力图进行特征降维,输出预设大小的特征矩阵;接下来,使用基于softmax函数的概率模型输出每个像素与特征点之间的“点性”概率,得到像素级的特征点概率值,特征点概率值表示该像素为特征点的概率;接下来通过升采样操运算输出特征点矩阵。
S33:将所述特征热力图输入基于第三卷积神经网络构建的特征描述子提取模型,获得所述特征描述子。
本步骤的具体过程如下:
S331:对所述特征热力图进行第二卷积运算,获得半稠密描述子矩阵;
S332:对所述半稠密描述子矩阵进行插值运算,获得稠密描述子矩阵。
与特征点提取的方案类似,以特征热力图为输入,使用预先训练的第三卷积神经网络作为描述子解码器;第二卷积神经网络包括卷积层和差值模型,先通过第二卷积运算得到半稠密描述子矩阵,半稠密描述子矩阵是描述子的半密集网格,然后对半密集的描述子进行插值运算,如双三次差值,再正则化后获得稠密描述子矩阵。
总的来说,如图2所示,上述方法构建了一种全卷积神经网络架构,它可以在全尺寸图像上运行,并在一次向前传播的过程中同时进行特征点提取和描述子确定。模型有一个共享的编码器来处理和降低当前帧图像的维度,获得特征热力图,以特征热力图为特征点和描述子提取的输入,相对于传统的基于特征点周围的梯度分布的描述子,其鲁棒性更好;接下来分成两支:一支用于特征点检测,另一支用于确定特征描述子;在这个过程中,卷积神经网络的部分参数可以在特征点提取任务和特征描述子提取之间共享,与传统的先检测特征点,然后再计算描述子的卷积神经网络相比,本方案实现了特征点、特征描述子提取任务之间共享计算和表示,提高了特征点和描述子的提取精度,尤其是在光照变化、无纹理等环境的局部特征提取更为精确;另一方面,之所以要在编码器中通过卷积、池化对输入图像帧降维,然后在提取特征点、描述子后进行的升采样运算还原,是为了在不影响特征点、描述子提取精度的同时,提高计算速度。
在获得特征点和特征描述子之后,接下来进行当前帧图像与历史帧图像的匹配:
S4:根据所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子进行特征匹配,确定与所述当前帧图像匹配的目标历史帧图像的特征点、特征描述子;
在相关技术中,通常只使用特征描述子进行特征匹配,而在本实施例中,同时使用特征点和特征描述子进行匹配,如此能提高匹配效率,尤其是存在光照变化、无纹理等环境的图片匹配效率。匹配方法具体如下:
S41:将所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子输入预设的特征匹配模型,获得所述当前帧图像与所述每一帧历史帧图像之间的相似度;
上述方法是预先构建用于图像匹配的特征匹配模型,特征匹配模型可以是基于神经网络的特征匹配网络模型,特征匹配模型包括线下的“训练过程”和机器人正常运行时的“推断过程”。
其中,“训练过程”是先组建训练数据集,从训练数据集中输入两帧图像,通过上述的特征点提取模型和特征描述子提取模型,得到两帧图像的特征点矩阵和特征描述子矩阵,然后将两帧图像的特征点矩阵和特征描述子矩阵输入到特征匹配模型进行训练,结合预先确定的两帧图像的特征描述子的匹配结果,设计特征匹配模型的特征匹配损失函数,并通过反向传播更新特征匹配模型。
而机器人运行时根据当前帧图像的特征点和特征描述子,确定与之匹配的目标历史帧的“推断过程”如下:分别将当前帧图像、每一帧历史帧图像的特征点矩阵和特征描述子矩阵输入训练好的特征匹配模型,输出当前帧图像与每一帧历史帧图像的相似度。在进行特征匹配运算时,特征匹配模型根据所述当前帧图像的特征点与所述历史帧图像的特征点,计算所述当前帧图像与历史帧图像之间的特征点损失,根据所述当前帧图像的特征描述子与所述历史帧图像的特征描述子,计算所述当前帧图像与所述历史帧图像之间的特征描述子损失,然后再根据模型中预设的特征匹配损失函数,输出当前帧图像与历史帧图像之间的相似度。
可选的,特征点损失,即feature loss的计算方法可以是计算特征点矩阵之间的欧式距离,汉明距离或余弦相似度。在本实施例中,由于特征点矩阵中的元素浮点型数据,因此可计算当前帧图像与所述每一帧历史帧图像之间的欧式距离;特征描述子损失description loss的计算方式同上;计算完成后再将loss值L2正则化。
S42:将所述相似度满足预设条件的历史帧图像的特征点、特征描述子确定为所述目标历史帧图像的特征点、特征描述子。
其中,预设条件可以是:将所述相似度最高的历史帧图像的特征点、特征描述子确定为所述目标历史帧图像的特征点、特征描述子。
除了相似度最高,预设条件还可以是:将相似度排名靠前的预设数量的历史帧图像特征点、特征描述子确定为所述目标历史帧图像的特征点、特征描述子。例如,若预设数量为10,则是相似度排名前10的历史帧都是目标历史帧。
在从特征地图中确定了与当前帧相匹配的目标历史帧后,接下来需要进行当前帧与目标历史帧的特征匹配。
S5:根据所述目标历史帧图像的特征点、特征描述子与所述当前帧图像的特征点、特征描述子进行特征点匹配,获得所述当前帧图像与目标历史帧图像的特征点对应关系;
在进行特征点匹配时,通过特征点矩阵,确定与特征点对应的特征描述子矩阵,然后再根据当前帧和目标历史帧的特征描述子矩阵,可通过计算欧式距离,汉明距离,马氏距离,归一化互相关等任一种方法,确定特征点是否匹配,确定匹配后建立特征点对应关系。
S6:根据所述特征点对应关系和所述机器人在所述目标历史帧图像对应的历史位姿,确定所述机器人的实际位姿;
具体的,在得到当前帧与目标历史帧的特征点对应关系或匹配关系后,即可结合特征点的空间坐标,求解相机位姿,进而得到机器人的全局位姿。
若S4步骤中是以相似度最高的历史帧为目标历史帧,则此处通过目标历史帧图像的特征点矩阵、特征描述子矩阵与当前图像帧的特征点矩阵、特征描述子矩阵,计算目标历史帧图像特征点与当前帧图像特征点之间的2D-2D匹配关系,然后根据特征点的2D-2D匹配关系和所述机器人在所述目标历史帧图像对应的历史位姿,使用使用对极几何方法计算机器人在所述当前帧图像的实际位姿。
若S4步骤中是以相似度排名靠前预设数量的历史帧作为目标历史帧,则此处通过预设数量历史帧图像的特征点矩阵、特征描述子矩阵与当前图像帧的特征点矩阵、特征描述子矩阵,计算目标历史帧图像特征点与当前帧图像特征点之间的3D-2D匹配关系,然后再根据所述特征点的3D-2D匹配关系和所述机器人在所述目标历史帧图像对应的历史位姿,使用PnP(Pespective-n-Point)算法计算机器人在所述当前帧图像的实际位姿。
S7:根据所述实际位姿,对所述机器人进行重定位。
基于前述实施例相同的发明构思,在又一个可选的实施例中,如图3所示,提供了一种机器人的重定位装置,包括:
获取模块10,用于获取特征地图,以及在所述机器人定位失败时,获取所述机器人所处环境的当前帧图像;所述特征地图包括机器人运行环境的每一帧历史帧图像对应的特征点和特征描述子,以及所述机器人在所述每一帧历史帧图像对应的历史位姿;
特征提取模块20,用于将所述当前帧图像输入卷积神经网络模型进行特征提取,获得所述当前帧图像的特征点、特征描述子;
特征匹配模块30,用于根据所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子进行特征匹配,确定与所述当前帧图像匹配的目标历史帧图像的特征点、特征描述子;
特征点匹配模块40,用于根据所述目标历史帧图像的特征点、特征描述子与所述当前帧图像的特征点、特征描述子进行特征点匹配,获得所述当前帧图像与目标历史帧图像的特征点对应关系;
位姿确定模块50,用于根据所述特征点对应关系和所述机器人在所述目标历史帧图像对应的历史位姿,确定所述机器人的实际位姿;
定位模块60,用于根据所述实际位姿,对所述机器人进行重定位。
可选的,特征提取模块20用于:
将所述当前帧图像输入基于第一卷积神经网络构建的编码器,获得特征热力图;
将所述特征热力图输入基于第二卷积神经网络构建的特征点提取模型,获得所述特征点;
将所述特征热力图输入基于第三卷积神经网络构建的特征描述子提取模型,获得所述特征描述子。
可选的,特征匹配模块30用于:
将所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子输入预设的特征匹配模型,获得所述当前帧图像与所述每一帧历史帧图像之间的相似度;
将所述相似度满足预设条件的历史帧图像的特征点、特征描述子确定为所述目标历史帧图像的特征点、特征描述子。
进一步的,位姿确定模块50用于:
根据所述特征点对应关系和所述机器人在所述目标历史帧图像对应的历史位姿,使用对极几何方法或PnP方法计算所述当前帧图像的实际位姿。
可选的,在所述获取特征地图之后,所述定位模块60还用于:
获取所述机器人当前所处环境的障碍物信息;
根据所述机器人当前所处环境的障碍物信息和所述特征地图中所述当前所处环境的对应环境的障碍物信息,计算障碍物相似度;
在所述障碍物相似度小于定位阈值时,确定所述机器人定位失败。
基于前述实施例相同的发明构思,在又一个可选的实施例中,提供了一种机器人,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述实施例中的任一项重定位方法的步骤。
基于前述实施例相同的发明构思,在又一个可选的实施例中,提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下的步骤:
获取特征地图;所述特征地图包括机器人运行环境的每一帧历史帧图像对应的特征点和特征描述子,以及所述机器人在所述每一帧历史帧图像对应的历史位姿;
在所述机器人定位失败时,接收所述机器人所处环境的当前帧图像;
将所述当前帧图像输入卷积神经网络模型进行特征提取,获得所述当前帧图像的特征点、特征描述子;
根据所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子进行特征匹配,确定与所述当前帧图像匹配的目标历史帧图像的特征点、特征描述子;
根据所述目标历史帧图像的特征点、特征描述子与所述当前帧图像的特征点、特征描述子进行特征点匹配,获得所述当前帧图像与目标历史帧图像的特征点对应关系;
根据所述特征点对应关系和所述机器人在所述目标历史帧图像对应的历史位姿,确定所述机器人的实际位姿;
将所述实际位姿发送至所述机器人,以使所述机器人根据所述实际位姿进行重定位。
上述方法中的特征提取、目标历史帧的匹配,特征匹配,位姿的具体确定方法与机器人端的实施例的方法相同,故而在此不做进一步的赘述。
基于前述实施例相同的发明构思,在又一个可选的实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述实施例中的任一项的重定位方法。
通过本发明的一个或者多个实施例,本发明具有以下有益效果或者优点:
本发明提供了一种机器人重定位方法,通过在机器人定位失败时,获取当前帧图像并输入深度学习模型:卷积神经网络提取特征点和特征描述子,实现了端到端提取特征点和描述子,对于存在光照变化、无纹理等环境的局部特征提取,卷积神经网络方法与传统的基于图像角点为关键点提取描述子的SIFT、BRIEF、ORB等方法相比,资源占用更少,运算速度更快,特征提取精度更高;然后将通过卷积神经网络输出的当前帧图像的特征点和特征描述子与特征地图中每一帧历史帧图像的特征点和特征描述子进行特征匹配,能够提高图像匹配精度,获得与当前帧图像匹配的目标历史帧图像对应的特征点和特征描述子;再基于当前帧图像和目标历史帧图像的特征点和特征描述子进行特征点匹配,得到两者之间的特征点对应关系或匹配关系,如此可以基于特征点对应关系和目标历史帧图像的位姿,提高机器人在当前帧实际位姿的计算精度,从而根据实际位姿实现更为精确的对机器人进行重定位。
尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种机器人的重定位方法,其特征在于,所述重定位方法包括:
获取特征地图;所述特征地图包括机器人运行环境的每一帧历史帧图像对应的特征点和特征描述子,以及所述机器人在所述每一帧历史帧图像对应的历史位姿;
在所述机器人定位失败时,获取所述机器人所处环境的当前帧图像;
将所述当前帧图像输入卷积神经网络模型进行特征提取,获得所述当前帧图像的特征点、特征描述子;
根据所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子进行特征匹配,确定与所述当前帧图像匹配的目标历史帧图像的特征点、特征描述子;
根据所述目标历史帧图像的特征点、特征描述子与所述当前帧图像的特征点、特征描述子进行特征点匹配,获得所述当前帧图像与目标历史帧图像的特征点对应关系;
根据所述特征点对应关系和所述机器人在所述目标历史帧图像对应的历史位姿,确定所述机器人的实际位姿;
根据所述实际位姿,对所述机器人进行重定位。
2.如权利要求1所述的重定位方法,其特征在于,所述将所述当前帧图像输入卷积神经网络模型进行特征提取,获得所述当前帧图像的特征点、特征描述子,包括:
将所述当前帧图像输入基于第一卷积神经网络构建的编码器,获得特征热力图;
将所述特征热力图输入基于第二卷积神经网络构建的特征点提取模型,获得所述特征点;
将所述特征热力图输入基于第三卷积神经网络构建的特征描述子提取模型,获得所述特征描述子。
3.如权利要求1所述的重定位方法,其特征在于,所述根据所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子进行特征匹配,确定与所述当前帧图像匹配的目标历史帧图像的特征点、特征描述子,包括:
将所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子输入预设的特征匹配模型,获得所述当前帧图像与所述每一帧历史帧图像之间的相似度;
将所述相似度满足预设条件的历史帧图像的特征点、特征描述子确定为所述目标历史帧图像的特征点、特征描述子。
4.如权利要求3所述的重定位方法,其特征在于,所述根据所述特征点对应关系和所述机器人在所述目标历史帧图像对应的历史位姿,确定所述机器人的实际位姿,包括:
根据所述特征点对应关系和所述机器人在所述目标历史帧图像对应的历史位姿,使用对极几何方法或PnP方法计算所述当前帧图像的实际位姿。
5.如权利要求1所述的重定位方法,其特征在于,在所述获取特征地图之后,所述重定位方法还包括:
获取所述机器人当前所处环境的障碍物信息;
根据所述机器人当前所处环境的障碍物信息和所述特征地图中所述当前所处环境的对应环境的障碍物信息,计算障碍物相似度;
在所述障碍物相似度小于定位阈值时,确定所述机器人定位失败。
6.一种机器人的重定位装置,其特征在于,所述重定位装置包括:
获取模块,用于获取特征地图,以及在所述机器人定位失败时,获取所述机器人所处环境的当前帧图像;所述特征地图包括机器人运行环境的每一帧历史帧图像对应的特征点和特征描述子,以及所述机器人在所述每一帧历史帧图像对应的历史位姿;
特征提取模块,用于将所述当前帧图像输入卷积神经网络模型进行特征提取,获得所述当前帧图像的特征点、特征描述子;
特征匹配模块,用于根据所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子进行特征匹配,确定与所述当前帧图像匹配的目标历史帧图像的特征点、特征描述子;
特征点匹配模块,用于根据所述目标历史帧图像的特征点、特征描述子与所述当前帧图像的特征点、特征描述子进行特征点匹配,获得所述当前帧图像与目标历史帧图像的特征点对应关系;
位姿确定模块,用于根据所述特征点对应关系和所述机器人在所述目标历史帧图像对应的历史位姿,确定所述机器人的实际位姿;
定位模块,用于根据所述实际位姿,对所述机器人进行重定位。
7.如权利要求6所述的重定位装置,其特征在于,所述特征提取模块用于:
将所述当前帧图像输入基于第一卷积神经网络构建的编码器,获得特征热力图;
将所述特征热力图输入基于第二卷积神经网络构建的特征点提取模型,获得所述特征点;
将所述特征热力图输入基于第三卷积神经网络构建的特征描述子提取模型,获得所述特征描述子。
8.一种机器人,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的重定位方法的步骤。
9.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下的步骤:
获取特征地图;所述特征地图包括机器人运行环境的每一帧历史帧图像对应的特征点和特征描述子,以及所述机器人在所述每一帧历史帧图像对应的历史位姿;
在所述机器人定位失败时,接收所述机器人所处环境的当前帧图像;
将所述当前帧图像输入卷积神经网络模型进行特征提取,获得所述当前帧图像的特征点、特征描述子;
根据所述每一帧历史帧图像的特征点、特征描述子和所述当前帧图像的特征点、特征描述子进行特征匹配,确定与所述当前帧图像匹配的目标历史帧图像的特征点、特征描述子;
根据所述目标历史帧图像的特征点、特征描述子与所述当前帧图像的特征点、特征描述子进行特征点匹配,获得所述当前帧图像与目标历史帧图像的特征点对应关系;
根据所述特征点对应关系和所述机器人在所述目标历史帧图像对应的历史位姿,确定所述机器人的实际位姿;
将所述实际位姿发送至所述机器人,以使所述机器人根据所述实际位姿进行重定位。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一权项所述的重定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110439700.0A CN113112547A (zh) | 2021-04-23 | 2021-04-23 | 机器人及其重定位方法、定位装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110439700.0A CN113112547A (zh) | 2021-04-23 | 2021-04-23 | 机器人及其重定位方法、定位装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113112547A true CN113112547A (zh) | 2021-07-13 |
Family
ID=76719556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110439700.0A Pending CN113112547A (zh) | 2021-04-23 | 2021-04-23 | 机器人及其重定位方法、定位装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113112547A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113688842A (zh) * | 2021-08-05 | 2021-11-23 | 北京科技大学 | 一种基于解耦合的局部图像特征提取方法 |
CN113947635A (zh) * | 2021-10-15 | 2022-01-18 | 北京百度网讯科技有限公司 | 图像定位方法、装置、电子设备以及存储介质 |
CN114742886A (zh) * | 2022-02-28 | 2022-07-12 | 北京易航远智科技有限公司 | 一种重定位的方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780484A (zh) * | 2017-01-11 | 2017-05-31 | 山东大学 | 基于卷积神经网络特征描述子的机器人帧间位姿估计方法 |
WO2018028649A1 (zh) * | 2016-08-10 | 2018-02-15 | 纳恩博(北京)科技有限公司 | 一种移动装置及其定位方法、计算机存储介质 |
CN111583340A (zh) * | 2020-04-28 | 2020-08-25 | 西安交通大学 | 基于卷积神经网络降低单目相机位姿估计误差率的方法 |
CN111627065A (zh) * | 2020-05-15 | 2020-09-04 | Oppo广东移动通信有限公司 | 一种视觉定位方法及装置、存储介质 |
-
2021
- 2021-04-23 CN CN202110439700.0A patent/CN113112547A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018028649A1 (zh) * | 2016-08-10 | 2018-02-15 | 纳恩博(北京)科技有限公司 | 一种移动装置及其定位方法、计算机存储介质 |
CN106780484A (zh) * | 2017-01-11 | 2017-05-31 | 山东大学 | 基于卷积神经网络特征描述子的机器人帧间位姿估计方法 |
CN111583340A (zh) * | 2020-04-28 | 2020-08-25 | 西安交通大学 | 基于卷积神经网络降低单目相机位姿估计误差率的方法 |
CN111627065A (zh) * | 2020-05-15 | 2020-09-04 | Oppo广东移动通信有限公司 | 一种视觉定位方法及装置、存储介质 |
Non-Patent Citations (1)
Title |
---|
康融: "面向视觉SLAM的图像特征描述方法研究", 自然科学与工程技术类专辑-信息科技辑, 31 August 2019 (2019-08-31), pages 18 - 21 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113688842A (zh) * | 2021-08-05 | 2021-11-23 | 北京科技大学 | 一种基于解耦合的局部图像特征提取方法 |
CN113947635A (zh) * | 2021-10-15 | 2022-01-18 | 北京百度网讯科技有限公司 | 图像定位方法、装置、电子设备以及存储介质 |
CN114742886A (zh) * | 2022-02-28 | 2022-07-12 | 北京易航远智科技有限公司 | 一种重定位的方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021233029A1 (en) | Simultaneous localization and mapping method, device, system and storage medium | |
CN109934121B (zh) | 一种基于YOLOv3算法的果园行人检测方法 | |
CN112270249A (zh) | 一种融合rgb-d视觉特征的目标位姿估计方法 | |
CN113112547A (zh) | 机器人及其重定位方法、定位装置及存储介质 | |
CN113313763B (zh) | 一种基于神经网络的单目相机位姿优化方法及装置 | |
KR102219561B1 (ko) | 대응점 일관성에 기반한 비지도 학습 방식의 스테레오 매칭 장치 및 방법 | |
CN113298934B (zh) | 一种基于双向匹配的单目视觉图像三维重建方法及系统 | |
CN113963117B (zh) | 一种基于可变卷积深度网络的多视图三维重建方法及装置 | |
CN102236794A (zh) | 3d场景中3d对象的识别和姿态确定 | |
CN110992424B (zh) | 基于双目视觉的定位方法和系统 | |
CN113724379B (zh) | 融合图像与激光点云的三维重建方法及装置 | |
GB2612029A (en) | Lifted semantic graph embedding for omnidirectional place recognition | |
CN113674400A (zh) | 基于重定位技术的光谱三维重建方法、系统及存储介质 | |
CN116222577B (zh) | 闭环检测方法、训练方法、系统、电子设备及存储介质 | |
Shi et al. | An improved lightweight deep neural network with knowledge distillation for local feature extraction and visual localization using images and LiDAR point clouds | |
CN116246119A (zh) | 3d目标检测方法、电子设备及存储介质 | |
CN115147709A (zh) | 一种基于深度学习的水下目标三维重建方法 | |
CN116152334A (zh) | 图像处理方法及相关设备 | |
CN115527050A (zh) | 图像特征匹配方法、计算机设备和可读存储介质 | |
CN116703996A (zh) | 基于实例级自适应深度估计的单目三维目标检测算法 | |
CN117132649A (zh) | 人工智能融合北斗卫星导航的船舶视频定位方法及装置 | |
Hirner et al. | FC-DCNN: A densely connected neural network for stereo estimation | |
CN117078753A (zh) | 基于相机的渐进式特征分布采样6d位姿估计方法及系统 | |
CN117576665B (zh) | 一种面向自动驾驶的单摄像头三维目标检测方法及系统 | |
CN114155406A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 702, 7th floor, NO.67, Beisihuan West Road, Haidian District, Beijing 100089 Applicant after: Beijing Yunji Technology Co.,Ltd. Address before: Room 702, 7 / F, 67 North Fourth Ring Road West, Haidian District, Beijing Applicant before: BEIJING YUNJI TECHNOLOGY Co.,Ltd. |