CN114943766A - 重定位方法、装置、电子设备及计算机可读存储介质 - Google Patents
重定位方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114943766A CN114943766A CN202210348715.0A CN202210348715A CN114943766A CN 114943766 A CN114943766 A CN 114943766A CN 202210348715 A CN202210348715 A CN 202210348715A CN 114943766 A CN114943766 A CN 114943766A
- Authority
- CN
- China
- Prior art keywords
- map
- scene
- image
- determining
- descriptor
- 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 68
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 230000006870 function Effects 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 27
- 238000012216 screening Methods 0.000 claims description 20
- 238000010606 normalization Methods 0.000 claims description 18
- 238000010586 diagram Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 2
- 238000013527 convolutional neural network Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 13
- 239000013598 vector Substances 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 9
- 238000005457 optimization Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 108010001267 Protein Subunits Proteins 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 235000012054 meals Nutrition 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- 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
- 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
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- 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/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Remote Sensing (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种重定位方法、装置、电子设备及计算机可读存储介质,涉及计算机技术领域,该方法包括:获取当前观测图像,并从当前观测图像中进行特征抽取,得到稠密特征图,然后确定稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离,并基于残差距离确定特征图C,各个聚类中心是由预创建的场景地图中各个点按照场景进行聚类后得到的,然后基于稠密特征图生成当前观测图像对应的置信度图,然后基于当前观测图像对应的置信度图以及特征图C,确定当前观测图像对应的区域描述子,然后基于当前观测图像对应的区域描述子从预创建的场景地图中确定满足第一预设条件的场景图像,然后基于满足第一预设条件的场景图像进行重定位。
Description
技术领域
本申请涉及计算机技术领域,尤其是涉及一种重定位方法、装置、电子设备及计算机可读存储介质。
背景技术
近些年,自主记忆泊车、智能物流小车、餐厅智能机器人送餐以及无人机自主巡航等应用场景的出现,如何识别出曾经到达过的场景十分重要。这些应用场景往往在第一次执行任务时(如将汽车停到自家车位中)预先人为规划一条正确的运动路径并建立场景地图,后续自主执行任务时,智能机器人或者自动驾驶汽车根据当前观测的场景,感知自身正处于场景地图的哪一个位置,然后再按照预先规划的路径自主循迹运动,或根据场景地图自主避障导航。因此重定位环节,即感知自身正处于场景地图的哪一个位置的过程,对于上述应用场景而言至关重要。
在上述应用场景中,可能执行自主导航任务与建立场景地图时,中间经过了长时间的跨度,导致场景周边环境发生了较大的变化,例如建图时在早上,自主导航时在夜晚;建图时是晴天,自主导航时为雨天、雾天或雪天,甚至可能存在跨季节的情况,导致二者观测的场景外观存在很大的变化。此外,这些应用的场景往往是十分复杂的,例如建图与自主导航时行人、车辆等动态物体的干扰,从而进一步增大两次观测场景外观的差异甚至这些动态物体还会对场景造成局部遮挡;同时一些空旷场景或同纹理物体的重复出现也是一大挑战,如空旷的停车场、不同车库的相似设计风格、道路上重复出现且几乎一样的灯杆和栅栏等。
因此,发明人在研究过程中发现:在这些场景下,直接通过场景地图进行重定位的复杂度较高,精度较差。
发明内容
本申请目的是提供一种重定位方法、装置、电子设备及计算机可读存储介质,用于解决以上至少一项技术问题。
本申请的上述发明目的是通过以下技术方案得以实现的:
第一方面,提供了一种重定位方法,包括:
获取当前观测图像,并从所述当前观测图像中进行特征抽取,得到稠密特征图;
确定所述稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离,并基于所述残差距离确定特征图C,所述各个聚类中心是由预创建的场景地图中各个点按照场景进行聚类后得到的;
基于所述稠密特征图生成所述当前观测图像对应的置信度图;
基于所述当前观测图像对应的置信度图以及所述特征图C,确定所述当前观测图像对应的区域描述子;
基于所述当前观测图像对应的区域描述子从所述预创建的场景地图中确定满足第一预设条件的场景图像;
基于所述满足第一预设条件的场景图像进行重定位。
在一种可能的实现方式中,所述确定所述稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离,包括:
基于所述稠密特征图进行卷积处理,得到特征图F;
确定所述特征图F中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离。
在一种可能的实现方式中,所述基于所述当前观测图像对应的置信度图以及所述特征图C,确定所述当前观测图像对应的区域描述子,包括:
将所述当前观测图像对应的置信度图进行区域划分;
对划分后的各个区域生成最小外包围框;
基于每个最小外包围框内中各个像素分别对应的置信度,确定各个区域分别对应的置信度;
基于各个区域分别对应的置信度并按照预设规则,确定至少一个区域;
将所述至少一个区域中每个区域的最小外包围框与所述特征图C进行匹配,得到各自对应的第二区域;
对所述特征图C中每个位置的描述子进行正则化处理;
计算各个第二区域分别对应的描述子均值,并对各个描述子均值分别进行正则化处理,得到各个第二区域分别对应的区域描述子。
在另一种可能的实现方式中,所述基于所述当前观测图像对应的区域描述子从所述预创建的场景地图中确定满足第一预设条件的场景图像,包括:
从所述预创建的场景地图中确定各个场景图像分别对应的区域描述子集合,所述区域描述子集合中包含至少一个区域描述子;
基于所述各个第二区域分别对应的区域描述子以及所述各个场景图像分别对应的区域描述子集合进行区域匹配,并按照预设规则进行区域匹配,得到区域匹配对集合;
基于所述区域匹配对集合,确定各个场景图像分别对应的空间一致性得分;
基于所述各个场景图像分别对应的空间一致性得分,从所述预创建的场景地图中确定满足第一预设条件的场景图像。
在另一种可能的实现方式中,所述基于所述区域匹配对集合,确定各个场景图像分别对应的空间一致性得分,包括:
基于所述区域匹配对集合,确定各个区域匹配对分别对应的区域中心偏移;
基于所述区域匹配对分别对应的区域中心偏移,确定平均行偏移量以及平均列偏移量;
基于所述区域匹配对集合,所述各个区域匹配对分别对应的区域中心偏移、所述平均行偏移量以及所述列偏移量,确定各个场景图像分别对应的空间一致性得分。
在另一种可能的实现方式中,所述满足第一预设条件的场景图像为至少两张;所述方法还包括:
获取各张场景图像分别对应的F描述子集合;
基于所述各张场景图像分别对应的F描述子集合以及所述特征图C,确定各张场景图像分别与当前观测图像之间的相似度;
基于所述各张场景图像分别与当前观测图像之间的相似度,从所述满足第一预设条件的场景图像中确定满足第二预设条件的场景图像。
在另一种可能的实现方式中,所述任一场景图像对应的F描述子集合包括:至少一个F描述子;
基于任一场景图像对应的F描述子集合以及所述特征图C,确定所述任一场景图像与当前观测图像之间的相似度,包括:
确定任一场景图像对应的每个F描述子分别与所述特征图C中各个像素之间的距离;
基于确定出的距离,确定所述任一场景图像对应的每个F描述子与所述特征图C之间的距离;
基于所述任一场景图像对应的每个F描述子与所述特征图C之间的距离,确定每个F描述子与所述特征图C之间的相似度;
基于所述每个F描述子与所述特征图C之间的相似度,确定所述任一场景图像与所述特征图C之间的相似度,作为所述任一场景图像与所述当前观测图像之间的相似度。
在另一种可能的实现方式中,所述基于所述满足第一预设条件的场景图像进行重定位,包括:
基于所述满足第二预设条件的场景图像进行重定位。
在另一种可能的实现方式中,所述方法还包括:
对所述特征图F中每个点描述子进行归一化处理,得到归一化结果,所述特征图F是对所述稠密特征图进行卷积后得到的;
基于所述归一化结果以及所述特征图C,确定所述当前观测图像对应的全局描述子;
基于所述当前观测图像对应的全局描述子从所述预创建的场景地图中确定满足第三预设条件的场景图像;
其中,所述基于所述当前观测图像对应的区域描述子从所述预创建的场景地图中确定满足第一预设条件的场景图像,包括:
基于所述当前观测图像对应的区域描述子从所述满足第三预设条件的场景地图中确定所述满足第一预设条件的场景图像。
在另一种可能的实现方式中,所述基于所述满足第二预设条件的场景图像进行重定位,包括:
基于场景地图的共视关系,将所述满足第二预设条件的场景图像进行聚类,得到至少两个共视簇;
基于每个共视簇中各个场景图像分别与所述当前观测图像之间的相似度,从所述至少两个共视簇中确定满足第四预设条件的共视簇;
从所述预创建的场景地图中选择所述满足第四预设条件的共视簇中的每个场景图像对应的3D地图点,每个3D地图点对应一个F描述子;
获取F描述子满足比率测试条件的3D地图点在特征图C中对应的匹配位置;
将所述匹配位置转换到当前观测图像对应的图像坐标系中,得到所述3D地图点与当前观测图像中的2D地图点之间的匹配关系;
获取参考图像的位姿,并基于所述参考图像的位姿以及所述匹配关系,确定所述当前观测图像对应的初始位姿;
基于所述当前观测图像对应的初始位姿进行重定位。
在另一种可能的实现方式中,所述基于所述当前观测图像对应的初始位姿进行重定位,包括:
投影步骤:根据所述当前观测图像对应的初始位姿,将所述满足第四预设条件的共视簇中的每个场景图像对应的3D地图点投影至所述当前观测图像对应的图像坐标系中;
筛选步骤:筛选出投影点在所述当前观测图像内的3D地图点,得到地图点集合;
坐标转换步骤:将所述地图点集合中的每个3D地图点的投影点坐标转换到当前观测图像的H特征图的坐标系中,得到每个3D地图点对应的H描述子;
获取步骤:获取所述地图点集合中每个3D地图点对应的H’描述子,所述H’描述子为创建场景地图时每个关键帧图像对应的H’特征图所对应的描述子;
残差信息确定步骤:基于所述地图点集合中每个3D地图点对应的H’描述子以及所述每个3D地图点对应的H描述子,确定所述地图点集合中每个3D地图点残差信息;
目标最小化步骤:基于所述每个3D地图点残差信息确定目标函数;
基于所述目标函数确定重定位后的位姿。
在另一种可能的实现方式中,所述基于所述目标函数确定重定位后的位姿,包括:
位姿更新步骤:对所述目标函数进行最小化处理,确定更新后的位姿;和/或,
循环执行步骤:循环执行将更新后的位姿作为所述当前观测图像对应的初始位姿的步骤,所述投影步骤、所述筛选步骤、所述坐标转换步骤、所述获取步骤、所述残差信息确定步骤、所述目标最小化步骤以及所述位姿更新步骤,直至位姿收敛,并将位姿收敛时得到的位姿,确定为重定位后的位姿。
第二方面,提供了一种重定位装置,包括:
第一获取模块,用于获取当前观测图像;
特征抽取模块,用于从所述当前观测图像中进行特征抽取,得到稠密特征图;
第一确定模块,用于确定所述稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离,并基于所述残差距离确定特征图C,所述各个聚类中心是由预创建的场景地图中各个点按照场景进行聚类后得到的;
生成模块,用于基于所述稠密特征图生成所述当前观测图像对应的置信度图;
第二确定模块,用于基于所述当前观测图像对应的置信度图以及所述特征图C,确定所述当前观测图像对应的区域描述子;
第三确定模块,用于基于所述当前观测图像对应的区域描述子从所述预创建的场景地图中确定满足第一预设条件的场景图像;
重定位模块,用于基于所述满足第一预设条件的场景图像进行重定位。
在一种可能的实现方式中,所述第一确定模块在确定所述稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离时,具体用于:
基于所述稠密特征图进行卷积处理,得到特征图F;
确定所述特征图F中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离。
在一种可能的实现方式中,所述第二确定模块在基于所述当前观测图像对应的置信度图以及所述特征图C,确定所述当前观测图像对应的区域描述子时,具体用于:
将所述当前观测图像对应的置信度图进行区域划分;
对划分后的各个区域生成最小外包围框;
基于每个最小外包围框内中各个像素分别对应的置信度,确定各个区域分别对应的置信度;
基于各个区域分别对应的置信度并按照预设规则,确定至少一个区域;
将所述至少一个区域中每个区域的最小外包围框与所述特征图C进行匹配,得到各自对应的第二区域;
对所述特征图C中每个位置的描述子进行正则化处理;
计算各个第二区域分别对应的描述子均值,并对各个描述子均值分别进行正则化处理,得到各个第二区域分别对应的区域描述子。
在另一种可能的实现方式中,所述第三确定模块在基于所述当前观测图像对应的区域描述子从所述预创建的场景地图中确定满足第一预设条件的场景图像时,具体用于:
从所述预创建的场景地图中确定各个场景图像分别对应的区域描述子集合,所述区域描述子集合中包含至少一个区域描述子;
基于所述各个第二区域分别对应的区域描述子以及所述各个场景图像分别对应的区域描述子集合进行区域匹配,并按照预设规则进行区域匹配,得到区域匹配对集合;
基于所述区域匹配对集合,确定各个场景图像分别对应的空间一致性得分;
基于所述各个场景图像分别对应的空间一致性得分,从所述预创建的场景地图中确定满足第一预设条件的场景图像。
在另一种可能的实现方式中,所述第三确定模块在基于所述区域匹配对集合,确定各个场景图像分别对应的空间一致性得分时,具体用于:
基于所述区域匹配对集合,确定各个区域匹配对分别对应的区域中心偏移;
基于所述区域匹配对分别对应的区域中心偏移,确定平均行偏移量以及平均列偏移量;
基于所述区域匹配对集合,所述各个区域匹配对分别对应的区域中心偏移、所述平均行偏移量以及所述列偏移量,确定各个场景图像分别对应的空间一致性得分。
在另一种可能的实现方式中,所述满足第一预设条件的场景图像为至少两张;所述装置还包括:第二获取模块、第四确定模块以及第五确定模块,其中,
所述第二获取模块,用于获取各张场景图像分别对应的F描述子集合;
所述第四确定模块,用于基于所述各张场景图像分别对应的F描述子集合以及所述特征图C,确定各张场景图像分别与当前观测图像之间的相似度;
所述第五确定模块,用于基于所述各张场景图像分别与当前观测图像之间的相似度,从所述满足第一预设条件的场景图像中确定满足第二预设条件的场景图像。
在另一种可能的实现方式中,所述任一场景图像对应的F描述子集合包括:至少一个F描述子;
所述第四确定模块在基于任一场景图像对应的F描述子集合以及所述特征图C,确定所述任一场景图像与当前观测图像之间的相似度时,具体用于:
确定任一场景图像对应的每个F描述子分别与所述特征图C中各个像素之间的距离;
基于确定出的距离,确定所述任一场景图像对应的每个F描述子与所述特征图C之间的距离;
基于所述任一场景图像对应的每个F描述子与所述特征图C之间的距离,确定每个F描述子与所述特征图C之间的相似度;
基于所述每个F描述子与所述特征图C之间的相似度,确定所述任一场景图像与所述特征图C之间的相似度,作为所述任一场景图像与所述当前观测图像之间的相似度。
在另一种可能的实现方式中,所述重定位模块在基于所述满足第一预设条件的场景图像进行重定位时,具体用于:
基于所述满足第二预设条件的场景图像进行重定位。
在另一种可能的实现方式中,所述装置还包括:归一化处理模块、第六确定模块、第七确定模块;其中,
所述归一化处理模块,用于对特征图F中每个点描述子进行归一化处理,得到归一化结果,所述特征图F是对所述稠密特征图进行卷积后得到的;
所述第六确定模块,用于基于所述归一化结果以及所述特征图C,确定所述当前观测图像对应的全局描述子;
所述第七确定模块,用于基于所述当前观测图像对应的全局描述子从所述预创建的场景地图中确定满足第三预设条件的场景图像;
其中,所述第三确定模块在基于所述当前观测图像对应的区域描述子从所述预创建的场景地图中确定满足第一预设条件的场景图像时,具体用于:
基于所述当前观测图像对应的区域描述子从所述满足第三预设条件的场景地图中确定所述满足第一预设条件的场景图像。
在另一种可能的实现方式中,所述重定位模块在基于所述满足第二预设条件的场景图像进行重定位时,具体用于:
基于场景地图的共视关系,将所述满足第二预设条件的场景图像进行聚类,得到至少两个共视簇;
基于每个共视簇中各个场景图像分别与所述当前观测图像之间的相似度,从所述至少两个共视簇中确定满足第四预设条件的共视簇;
从所述预创建的场景地图中选择所述满足第四预设条件的共视簇中的每个场景图像对应的3D地图点,每个3D地图点对应一个F描述子;
获取F描述子满足比率测试条件的3D地图点在特征图C中对应的匹配位置;
将所述匹配位置转换到当前观测图像对应的图像坐标系中,得到所述3D地图点与当前观测图像中的2D地图点之间的匹配关系;
获取参考图像的位姿,并基于所述参考图像的位姿以及所述匹配关系,确定所述当前观测图像对应的初始位姿;
基于所述当前观测图像对应的初始位姿进行重定位。
在另一种可能的实现方式中,所述重定位模块包括:投影单元、筛选单元、坐标转换单元、获取单元、残差信息确定单元、目标最小化单元以及确定单元,其中,
投影单元,用于根据所述当前观测图像对应的初始位姿,将所述满足第四预设条件的共视簇中的每个场景图像对应的3D地图点投影至所述当前观测图像对应的图像坐标系中;
筛选单元,用于筛选出投影点在所述当前观测图像内的3D地图点,得到地图点集合;
坐标转换单元,用于将所述地图点集合中的每个3D地图点的投影点坐标转换到当前观测图像的H特征图的坐标系中,得到每个3D地图点对应的H描述子;
获取单元:用于获取所述地图点集合中每个3D地图点对应的H’描述子,所述H’描述子为创建场景地图时每个关键帧图像对应的H’特征图所对应的描述子;
残差信息确定单元,用于基于所述地图点集合中每个3D地图点对应的H’描述子以及所述每个3D地图点对应的H描述子,确定所述地图点集合中每个3D地图点残差信息;
目标最小化单元,用于基于所述每个3D地图点残差信息确定目标函数;
确定单元,用于基于所述目标函数确定重定位后的位姿。
在另一种可能的实现方式中,所述确定单元,包括:位姿更新子单元和/或循环执行子单元,其中,
位姿更新子单元,用于对所述目标函数进行最小化处理,确定更新后的位姿;
循环执行子单元,用于循环执行将更新后的位姿作为所述当前观测图像对应的初始位姿的步骤,所述投影单元、所述筛选单元、所述坐标转换单元、所述获取单元、所述残差信息确定单元、所述目标最小化单元以及所述位姿更新单元所执行的操作,直至位姿收敛,并将位姿收敛时得到的位姿,确定为重定位后的位姿。
第三方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行根据第一方面中任一可能的实现方式所示的重定位方法对应的操作。
第四方面,提供了一种计算机可读存储介质,存储介质存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如第一方面中任一可能的实现方式所示的重定位方法。
综上所述,本申请包括以下至少一种有益技术效果:
本申请提供了一种重定位方法、装置、电子设备及计算机可读存储介质,与相关技术相比,在本申请中,通过稠密特征图生成当前观测图像对应的置信度图,然后基于稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离,并基于所述残差距离确定特征图C,并基于特征图C和置信度图可以确定出当前观测图像对应的区域描述子,也即可以通过区域描述子从预创建的场景地图中确定满足第一预设条件的场景地图,从而可以满足第一预设条件的场景地图中进行重定位,也即在本申请中可以得到当前观测图像的高级语义特征,以从预创建的场景地图中筛选出匹配度较高的场景图像,然后在基于匹配度较高的场景图像进行重定位,从而可以降低重定位的复杂度,进而可以提高重定位的精度。
附图说明
图1为本申请实施例中端对端重定位系统架构图;
图2为本申请实施例的一种重定位的方法流程示意图;
图3为本申请实施例的一种重定位的装置结构示意图;
图4为本申请实施例中一种电子设备的装置结构示意图。
具体实施方式
以下结合附图对本申请作进一步详细说明。
本具体实施例仅仅是对本申请的解释,其并不是对本申请的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
本申请实施例提供了一种重定位方法,在本申请实施例中重定位的方法可以包括:基于视觉的场景检索的过程以及基于检索后的图像进行重定位的过程,其中,基于视觉的场景检索从预创建的场景地图中的主要目的是根据当前的观测信息查找建立场景地图时同一地理位置的观测信息(图像或视频序列);基于检索后的图像进行重定位也即在检索得到的处于同一地理位置的观测信息进行重定位。
基于视觉的场景检索与一般图像检索/视频检索的区别主要有三点:
1.一般图像检索/视频检索衡量相似度的主要基准为“是否为同一物体类别”、“是否拥有相似的外观”等,而基于视觉的场景检索衡量相似度的主要基准为“是否为同一地理位置”,即使因为天气、季节等外在因素变化导致外观差异较大,只要二者位置足够近,则相似度也应较高;
2.一般图像检索/视频检索主要针对图像中的前景目标,而基于视觉的场景检索主要针对图像中的背景区域;
3.一般图像检索/视频检索可以离线进行,而基于视觉的场景检索往往应用在实时性较强的领域,如SLAM中的重定位和回环检测环节,因此除了要求场景检索算法复杂度低外,还需要对观测信息(图像或视频序列)进行高效的全局表示,使其更易于计算和存储,如将观测信息转化成一个向量或一个矩阵。
相关技术中,场景检索技术大多基于图像全局描述子进行,如局部聚合描述子网络向量 (Network Vector of Locally Aggregated Descriptors,NetVlad)、图像检索中的二阶丢失和关注(Second-Order Loss and Attention for Image Retrieval,SOLAR)等方法;利用图像全局描述子进行场景检索的方式具有检索速度快、存储效率高的优点,但是其忽略了图像中的细节信息,场景检索的召回率较低,因此在本申请实施例中使用图像全局描述子、基于置信度图的区域描述子、点描述子构建分层的场景检索架构。再者,在相关的重定位技术大多基于特征点匹配的方式进行,如SuperPoint、HF-Net(HierarchicalLocalization Network)等方式,其对于光照、视角变化的鲁棒性高,但是由于存在多阶段的误差,重定位时位姿计算的精度较低,因此本发明专利使用LM算法对图像进行直接对齐优化,将误差进行统一优化,提高了重定位时的精度。
具体地,本申请实施例旨在构建端到端的重定位系统,输入建立的场景地图和观测图像,输出观测图像6自由度(Degree Of Freedom,6DOF)位姿,即代表当前在场景地图中的所处位置。
其中,所述端到端重定位系统是一个分层的重定位系统,整体为一个统一的网络架构,但从功能上分,由场景检索和位姿优化两部分构成,所述场景检索能够根据当前的观测信息找出建立场景地图时处于同一地理位置的图像。也就是说,所述端到端重定位系统相比传统分层重定位系统而言,降低了计算复杂度,增强了场景检索与位姿优化两部分的耦合,时延更低。
具体地,所述场景检索从场景地图海量图像中得到若干帧与当前观测处于同一地理位置的参考图像,然后由本申请实施例的初始位姿生成方法快速准确地计算了一个初始位姿,最后由位姿优化分支迭代计算6DOF位姿。也就是说,所述分层场景检索是一个由粗到精的检索架构,综合考虑了图像全局信息、显著区域信息和局部点信息,不仅关注了细节纹理特征,而且关注了高级语义特征;所述位姿优化方法使用深度学习网络进行图像对齐,有利于进行更鲁棒地特征提取;这两部分这么设计主要为了解决场景外观变化时((光照变化、视角变化、季节变化、天气变化、局部遮挡等)重定位失败率较高、位姿计算不准确的问题。
具体地,在本申请实施例中,端到端重定位系统架构如图1所示,对于当前观测图像,首先通过一个卷积神经网络 (Convolutional Neural Networks,CNN)骨干网络,该CNN骨干网络包括但不限于Unet、VGG、ResNet、RegNet、MobileNet以及AlexNet等网络结构。例如,选用Unet网络作为CNN骨干网络。整体分为3个分支,第一个分支为由粗到精的场景检索分支,包括图像全局特征检索、显著区域特征重排序、点匹配结果重排序三部分组成;具体地,在通过CNN骨干网络后,通过图像全局特征检索,显著区域特征重排序以及点匹配结果进行由粗到精的检索,以得到满足第一预设条件的场景地图,其中,图像全局特征检索包括:经过1×1卷积处理,然后经过NetVLAD网络层,得到全局描述子;显著区域特征重排序包括:通过1×1卷积处理也可以得到点级别描述子;显著区域特征重排序包括:通过CNN处理得到置信度图,然后得到区域级别描述子。
进一步地,第二个分支为置信度图分支,在CNN骨干网络后附加L层卷积神经网络,所述L在[1,5]之间,得到的置信度图一方面用于显著性区域的提取(也即上文涉及到的显著区域特征重排序),另一方面用于在位姿优化模块中对投影点进行加权。第三个分支为迭代位姿优化分支,由CNN骨干网络得到稠密特征图,根据计算得到的初始位姿进行投影点特征对齐,然后使用LM算法更新位姿,重复上述步骤直到位姿收敛,最终输出6DOF位姿,即代表当前所处位置。
对于本申请实施例,由粗到精的场景检索分支中三个部分,即图像全局特征检索、显著区域特征重排序、点匹配结果重排序三部分,其计算复杂度(检索耗时)与检索精度依次增加,因此本申请实施例设计的由粗到精的场景检索策略能在保证检索精度的前提下,尽可能降低系统时延。
下面结合说明书附图对本申请实施例作进一步详细描述。
本申请实施例提供一种重定位方法,可以应用于自主记忆泊车、智能物流小车、餐厅智能机器人送餐、无人机自主巡航等场景,由电子设备执行,如图2所示,该方法可以包括:
步骤S201、获取当前观测图像,并从当前观测图像中进行特征抽取,得到稠密特征图。
对于本申请实施例,在获取到当前观测图像后,在通过CNN骨干网络后得到稠密特征图。
步骤S202、确定稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离。
其中,各个聚类中心是由预创建的场景地图中各个点按照场景进行聚类后得到的。
对于本申请实施例,在得到稠密特征图后,可以计算稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的L2距离。在本申请实施例中,稠密特征图中每个点(将其对应通道作为描述子)与K个聚类中心的距离还可以包括但不限于曼哈顿距离、欧氏距离以及闵可夫斯基距离等。
需要说明的是,预创建的场景地图包括但不限于建图时车辆运动轨迹、建图时关键帧的置信度图、场景地图点、关键帧之间的共视关系、关键帧与地图点的可视关系、关键帧的观测图像的全局描述子、区域描述子、F描述子以及H描述子等。
步骤S203、基于残差距离确定特征图C。
步骤S204、基于稠密特征图生成当前观测图像对应的置信度图。
具体地,在本申请实施例中,在通过CNN骨干网络得到特征图(稠密特征图)后,然后通过网络模型生成当前观测图像对应的置信度图。例如,将特征图(稠密特征图)通过卷积神经网络得到当前观测图像对应的置信度图。
步骤S205、基于当前观测图像对应的置信度图以及特征图C,确定当前观测图像对应的区域描述子。
步骤S206、基于当前观测图像对应的区域描述子从预创建的场景地图中确定满足第一预设条件的场景图像。
对于本申请实施例,第一预设条件可以是用户输入的还可以是预先设定的,在本申请实施例中不做限定。
步骤S207、基于满足第一预设条件的场景图像进行重定位。
进一步地,除了按照上述步骤S206中基于当前观测图像对应的区域描述子从预创建的场景地图中确定满足第一预设条件的场景图像,还可以基于当前观测图像对应的区域描述子从预创建的场景地图中按照预设规则确定目标场景图像,并基于目标场景图像进行重定位。在本申请实施例中进行重定位的方式具体详见下述实施例。
本申请实施例提供了一种重定位方法,与相关技术相比,在本申请实施例中,通过稠密特征图生成当前观测图像对应的置信度图,然后基于稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离,并基于所述残差距离确定特征图C,并基于特征图C和置信度图可以确定出当前观测图像对应的区域描述子,也即可以通过区域描述子从预创建的场景地图中确定满足第一预设条件的场景地图,从而可以满足第一预设条件的场景地图中进行重定位,也即在本申请实施例中可以得到当前观测图像的高级语义特征,以从预创建的场景地图中筛选出匹配度较高的场景图像,然后在基于匹配度较高的场景图像进行重定位,从而可以降低重定位的复杂度,进而可以提高重定位的精度。
进一步地,在本申请实施例中,步骤S201的具体实现方式详见上述实施例。
进一步地,为了更好地对特征图中每个点进行特征降维与抽取,确定稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离,具体可以包括:基于稠密特征图进行卷积处理,得到特征图F;确定特征图F中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离。也就是说,在通过骨干网络得到稠密特征图后,可以通过1×1的卷积,以得到特征图F,进一步地,对特征图F中每个点(将其对应通道作为描述子)与K个聚类中心的L2距离,得到特征图C。在本申请实施例中,将由预创建的场景地图中各个点按照场景进行聚类后得到聚类中心称为K个聚类中心。
进一步地,在本申请实施例中,步骤S203-步骤S204的具体实现方式详见上述实施例。
具体地,步骤S205中基于当前观测图像对应的置信度图以及特征图C,确定当前观测图像对应的区域描述子,具体可以包括:步骤S2051(图中未示出)、步骤S2052(图中未示出)、步骤S2053(图中未示出)、步骤S2054(图中未示出)、步骤S2055(图中未示出)、步骤S2056(图中未示出)以及步骤S2057(图中未示出),其中,
步骤S2051、将当前观测图像对应的置信度图进行区域划分。
对于本申请实施例,在得到当前观测图像对应的置信图后,可以对置信图进行连通域检验,使用漫水法进行区域生成,判定标准为:一个像素与其八邻域中的像素(也可以为四邻域中的像素),若二者置信度之差不超过图像最大置信度的10%,则这两个像素属于同一个区域,从而基于像素之间的置信度对当前观测图像对应的置信度图进行区域划分。
步骤S2052、对划分后的各个区域生成最小外包围框。
对于本申请实施例,在对当前观测图像对应的置信度图进行区域划分后,可以仅对不规则的区域生成最小的外包围框,其中,规则区域的边界即为该规则区域的最小外包围框;也可以对划分后的各个区域均生成最小的外包围框。
步骤S2053、基于每个最小外包围框内中各个像素分别对应的置信度,确定各个区域分别对应的置信度。
对于本申请实施例,在对生成的不规则区域生成最小外包围框后,对在置信度图上处于同一包围框内的像素计算平均值,作为区域的置信度。在本申请实施例中,除了将同一外包围框内的像素的平均值作为区域的置信度,还可以将区域内像素的最大置信度值或者最小置信度值等作为该区域的置信度。在本申请实施例中对区域的置信度的计算方式不做限定。
步骤S2054、基于各个区域分别对应的置信度并按照预设规则,确定至少一个区域。
对于本申请实施例,在通过上述实施例,得到各个区域分别对应的置信度后,还可以将各个区域按照置信度由高到低进行排序,得到前N1个区域,也还可以基于各个区域分别对应的置信度,获取置信度大于预设置信度阈值的区域,例如,置信度大于预设置信度阈值的区域可以为N1个区域。
其中,N1可以在[100,500]之间,在本申请实施例中,N1可以是由用户输入的,还可以为预先设定的,在本申请实施例中不做限定。
步骤S2055、将至少一个区域中每个区域的最小外包围框与特征图C进行匹配,得到各自对应的第二区域。
对于本申请实施例,在得到N1个区域后,将前N1个区域的包围框对应到特征图C上,得到特征图C上的N1个区域。在本申请实施例中,各自对应的第二区域可以表征对应到特征图C上的N1个区域。
进一步地,若本申请实施例中所涉及的CNN骨干网络为Unet网络,则置信度图与特征图C中每个像素均一一对应,因此最小包围框的坐标无需其他转换,直接进行匹配;若本申请实施例中所涉及的CNN骨干网络不为Unet网络,则需要根据网络的感受野进行坐标转换,然后再进行匹配。
步骤S2056、对特征图C中每个位置的描述子进行正则化处理。
需要说明的是,步骤S2056与步骤S2051-步骤S2055之间的执行顺序并未限定,例如,步骤S2056可以在步骤S2055之后执行,还可以在步骤S2055之前执行。
具体地,对特征图C中的每个位置的描述子进行正则化处理,具体可以包括:将特征图C中每个位置的描述子进行L2正则化。在本申请实施例中,除了将特征图C中的每个位置的描述子进行L2正则化处理,还可以进行其他正则化处理,例如L1正则化处理,在本申请实施例中不做限定。
步骤S2057、计算各个第二区域分别对应的描述子均值,并对各个描述子均值分别进行正则化处理,得到各个第二区域分别对应的区域描述子。
对于本申请实施例,在对特征图C中的每个位置的描述子进行正则化处理之后,依次对特征图C中N1个区域计算在其包围框中的描述子均值,对描述子均值再进行一次L2正则化,最后得到的一维向量作为区域描述子,同时计算每个包围框的中心点作为区域中心。在本申请实施例中,最后得到的一维向量中的各个元素分别用于表征特征图C中各个区域分别对应区域描述子。
具体地,步骤S206中基于当前观测图像对应的区域描述子从预创建的场景地图中确定满足第一预设条件的场景图像,具体可以包括:步骤S2061(图中未示出)、步骤S2062(图中未示出)、步骤S2063(图中未示出)以及步骤S2064(图中未示出),其中,
步骤S2061、从预创建的场景地图中确定各个场景图像分别对应的区域描述子集合。
其中,区域描述子集合中包含至少一个区域描述子。
对于本申请实施例,在建图过程中对关键帧图像也按上述过程(步骤S2051-步骤S2057对应的实现方式)提取区域描述子,并将区域描述子纳入场景地图数据库中进行存储。也即步骤S2061具体可以包括:从场景地图数据库中获取各个场景图像分别对应的区域描述子集合。
步骤S2062、基于各个第二区域分别对应的区域描述子以及各个场景图像分别对应的区域描述子集合进行区域匹配,并按照预设规则进行区域匹配,得到区域匹配对集合。
其中,f为区域描述子,c为当前观测图像,r为候选图像,||·||2代表L2距离,NNMin代表NN匹配中距离最小的一个,则P为区域匹配中符合交叉匹配相互最小原则的匹配对集合。
步骤S2063、基于区域匹配对集合,确定各个场景图像分别对应的空间一致性得分。
所述空间一致性得分的目的是去从区域匹配之间的空间位置关系去衡量区域匹配的质量,惩罚区域匹配对少和区域匹配杂乱无章的情况。空间一致性得分越高,代表相似度越高,则该候选图像排列顺序越靠前。
具体地,基于区域匹配对集合,确定各个场景图像分别对应的空间一致性得分,具体可以包括:基于区域匹配对集合,确定各个区域匹配对分别对应的区域中心偏移;基于区域匹配对分别对应的区域中心偏移,确定平均行偏移量以及平均列偏移量;基于区域匹配对集合,各个区域匹配对分别对应的区域中心偏移、平均行偏移量以及列偏移量,确定各个场景图像分别对应的空间一致性得分。在本申请实施例中,通过公式(2)确定各个场景图像分别对应的空间一致性得分,其中公式(2)包括:
其中,SS代表区域匹配空间一致性得分;nr为候选图像提取的区域个数;P为区域
匹配集合;i,j代表对集合P遍历时的匹配对编号;(r,c)为匹配对的区域中心偏移;和分
别代表P集合中的平均列偏移量和平均行偏移量; dist(·)函数为距离函数,包括但不限
于曼哈顿距离、欧氏距离、闵可夫斯基距离等,max(·)为最大值函数,min(·)为最小值函
数。
步骤S2064、基于各个场景图像分别对应的空间一致性得分,从预创建的场景地图中确定满足第一预设条件的场景图像。
对于本申请实施例,在得到各个场景图像分别对应的空间一致性得分后,从预创建的场景地图中确定满足第一预设条件的场景图像。具体地,在本申请实施例中,可以按照空间一致性得分由高到低重新排序,从中取出前M2个图像作为新的候选图像集合,也可以将空间一致性得分大于得分阈值的场景图像作为满足第一预设条件的场景图像。
其中,M2可以在[10,20]之间。
进一步地,满足第一预设条件的场景图像为至少两张;为了进一步地提高场景检索的召回率以及重定位的精确度,在场景检索得到满足第一预设条件的场景图像的基础上,添加细节纹理特征,以从满足第一预设条件的场景图像中筛选出满足第二预设条件的场景图像。在本申请实施例中,该方法还可以包括:步骤Sa(图中未示出)、步骤Sb(图中未示出)以及步骤Sc(图中未示出),其中,步骤Sa、步骤Sb以及步骤Sc可以在步骤S206之后执行,其中,
步骤Sa、获取各张场景图像分别对应的F描述子集合。
在通过上述实施例得到满足第一预设条件的场景图像后,分别从场景地图中取出每张候场景图像对应的F描述子集合,记做{DF ref,ref∈[1, M2]}。
步骤Sb、基于各张场景图像分别对应的F描述子集合以及特征图C,确定各张场景图像分别与当前观测图像之间的相似度。
具体地,任一场景图像对应的F描述子集合包括:至少一个F描述子;其中,基于任一场景图像对应的F描述子集合以及特征图C,确定任一场景图像与当前观测图像之间的相似度,具体可以包括:步骤Sb1(图中未示出)、步骤Sb2(图中未示出)、步骤Sb3(图中未示出)以及步骤Sb4(图中未示出),其中,
步骤Sb1、确定任一场景图像对应的每个F描述子分别与特征图C中各个像素之间的距离。
具体地,对于候选图像ref,对其F描述子集合DF ref中的一个F描述子FDi,依次计算其与当前观测图像特征图C中每个像素的距离,其中距离通过下述公式(3)确定:
其中,Fc为当前观测图像的特征图 C,pc代表该特征图上任意点,则特征图上不同通道构成了该点对应的描述子Fc(pc);||·||2代表L2距离。
步骤Sb2、基于确定出的距离,确定任一场景图像对应的每个F描述子与特征图C之间的距离。
具体地,在计算得到任一场景图像对应的每个F描述子分别与特征图C中各个像素之间的距离后,根据下述公式(4)得到任一场景图像对应的每个F描述子与特征图C之间的距离,其中,
其中,该F描述子FDi与当前观测图像C的距离为Dis(FDi,C),min2代表求解集合中
第二小的值,即得到该F描述子FDi与特征图Fc 所有像素的距离中第二小的距离值,同理min
函数得到最小的距离值, =1×10-5。
步骤Sb3、基于任一场景图像对应的每个F描述子与特征图C之间的距离,确定每个F描述子与特征图C之间的相似度。
具体地,通过下述公式(5)确定每个F描述子与特征图C之间的相似度,其中,公式(5)为:
其中,sim(FDi)为该F描述子FDi与当前观测图像C的相似度,exp(·)为指数函数,h为常数,h在[0.2,0.8]之间。
步骤Sb4、基于每个F描述子与特征图C之间的相似度,确定任一场景图像与特征图C之间的相似度,作为任一场景图像与当前观测图像之间的相似度。
具体地,基于每个F描述子与特征图C之间的相似度,并通过公式(6)确定任一场景地图与特征图C之间的相似度,其中,
其中,sim(ref,C)代表该候选图像ref与当前观测图像C的点匹配相似度,nref为该候选图像ref提取的F描述子个数。
进一步地,每张场景图像与当前观测图像之间的相似度均可以按照上述步骤Sb1-步骤Sb4来计算,以得到各张场景地图与当前观测图像之间的相似度。
步骤Sc基于各张场景图像分别与当前观测图像之间的相似度,从满足第一预设条件的场景图像中确定满足第二预设条件的场景图像。
具体地,在通过上述实施例计算得到各张场景图像分别与当前观测图像之间的相似度后,可以按照相似度由高到低进行排序,选择前M3个图像作为满足第二预设条件的场景图像,也可以基于各张场景图像分别与当前观测图像之间的相似度,选择相似度大于预设相似度阈值的场景图像作为满足第二预设条件的场景图像,例如相似度大于预设相似度阈值的场景图像可以为M3个场景图像。
其中,M3可以在[3,10]之间。
进一步地,该方法还可以包括:步骤Sd(图中未示出)、步骤Se(图中未示出)以及步骤Sf(图中未示出),其中,步骤Sd、步骤Se以及步骤Sf可以在步骤S206之前执行,其中,
步骤Sd、对特征图F中每个点描述子进行归一化处理,得到归一化结果。
具体地,在得到特征图F后,NetVLAD网络层首先使用1×1的卷积核对特征图F进行逐点卷积,并使用Softmax对结果进行指数归一化,得到结果a。
步骤Se、基于归一化结果以及特征图C,确定当前观测图像对应的全局描述子。
具体地,对于每个簇中的残差距离使用上述结果a作为权重进行加权求和,从而得到K个向量,这K个向量分别代表K个聚类簇的全局表示,然后对每个簇的向量进行L2正则化,接着将K个簇的向量拼接在一起再进行全局L2正则化,最后得到一个高维向量,即图像的全局描述子,也即得到当前观测图像对应的全局描述子,其中,K在[16,128]之间。
步骤Sf、基于当前观测图像对应的全局描述子从预创建的场景地图中确定满足第三预设条件的场景图像。
对于本申请实施例,在场景地图建立过程中需要将关键帧图像也按上述过程生成特征图F和全局描述子,并将建图时的特征点映射到特征图F上,F上的多个通道构成F描述子。将关键帧的全局描述子和F描述子纳入场景地图数据库中进行存储。也即,基于当前观测图像对应的全局描述子从预创建的场景地图中确定满足第三预设条件的场景图像,具体可以包括:从场景地图数据库中获取各个关键帧分别对应的全局描述子,将当前观测图像的全局描述子与场景地图中海量关键帧图像的全局描述子计算L2距离,并基于L2距离从预创建的场景地图中确定满足第三预设条件的场景地图。
具体地,基于L2距离,对各个场景图像按照距离由小到大进行排序,截取前M1个场景地图,距离越小则代表位于同一地理位置的可能性越大,则该关键帧排名越靠前,最终选取排名最靠前的M1个建图时关键帧作为满足第三预设条件的场景地图,M1在[20,100]之间;也可以选取L2距离小于预设L2距离阈值的场景图像作为满足第三预设条件的场景地图。
进一步地,基于图像全局特征的场景从海量的场景地图中可以快速从场景地图的海量图像中检索得到与当前观测图像处于同一地理位置的M1帧候选图像。
其中,在上述步骤Sd-步骤Sf的基础上,为了提高筛选出的场景图像的精确度,可以先从预创建的场景地图中抽取满足第三预设条件的场景图像,例如M1帧场景图像,然后在M1帧场景图像的基础上,继续筛选场景图像,具体地,步骤S206中基于当前观测图像对应的区域描述子从预创建的场景地图中确定满足第一预设条件的场景图像,具体可以包括:基于当前观测图像对应的区域描述子从满足第三预设条件的场景地图中确定满足第一预设条件的场景图像。进一步地,在得到满足第一预设条件的场景地图后,从满足第一预设条件的场景地图中筛选出满足第二预设条件的场景地图。
例如,从M1帧场景地图中基于区域描述子筛选出M2帧场景图像,然后从M2帧场景地图中筛选出M3帧场景地图。
具体地,基于上述实施例,在通过场景检索的过程得到满足第二预设条件的场景地图(M3帧场景图像)后,步骤S207中基于满足第一预设条件的场景图像进行重定位,具体可以包括:基于满足第二预设条件的场景图像进行重定位。
具体地,基于满足第二预设条件的场景图像进行重定位,具体可以包括:步骤S1(图中未示出)、步骤S2(图中未示出)、步骤S3(图中未示出)、步骤S4(图中未示出)、步骤S5(图中未示出)、步骤S6(图中未示出)以及步骤S7(图中未示出),其中,
步骤S1、基于场景地图的共视关系,将满足第二预设条件的场景图像进行聚类,得到至少两个共视簇。
具体地,对于场景检索得到的M3个图像,根据场景地图中的共视关系进行聚类,将这M3帧场景图像分为若干个共视簇。
步骤S2、基于每个共视簇中各个场景图像分别与当前观测图像之间的相似度,从至少两个共视簇中确定满足第四预设条件的共视簇。
在本申请实施例中,通过上述实施例可以得到各个场景图像分别对应当前观测图像之间的相似度,然后基于每个共视簇中各个场景图像分别与当前观测图像之间的相似度,从至少两个共视簇中确定满足第四预设条件的共视簇。
具体地,基于每个共视簇中各个场景图像分别与当前观测图像之间的相似度,从至少两个共视簇中确定满足第四预设条件的共视簇,具体可以包括:将每个簇中的图像与当前观测图像的点匹配相似度相加求和,选择求和结果最高的簇(记为共视簇A),作为满足第四预设条件的共视簇;或者,确定每个共视簇中各个场景图像分别与当前观测图像之间的最大相似度,作为每个共视簇的最大相似度,并将各个最大相似度中最大相似度确定为满足第四预设条件的共视簇,例如,将满足第二预设条件的场景图像进行聚类后得到三个共视簇,例如共视簇1、共视簇2以及共视簇3,其中,共视簇1中的最大相似度为50%,共视簇2中最大相似度为80%,共视簇3中的最大相似度为70%,则共视簇2为满足第四预设条件的共视簇;或者确定每个共视簇中相似度的平均值,选取平均值最大的共视簇作为满足第四预设条件的共视簇,视簇的最大相似度,并将各个最大相似度中最大相似度确定为满足第四预设条件的共视簇,例如,将满足第二预设条件的场景图像进行聚类后得到三个共视簇,例如共视簇1、共视簇2以及共视簇3,其中,共视簇1中的各个相似度的平均值为45%,共视簇2中各相似度的平均值为60%,共视簇3中的各个相似度的平均值为64%,则满足第四预设条件的共视簇为共视簇3。
步骤S3、从预创建的场景地图中选择满足第四预设条件的共视簇中的每个场景图像对应的3D地图点。
其中,每个3D地图点对应一个F描述子。
例如,满足第四预设条件的共视簇可以称为共视簇A,对于属于共视簇A的每一张图像,依次从场景地图中取出其对应的3D地图点,每个3D地图点对应了一个F描述子。
步骤S4、获取F描述子满足比率测试条件的3D地图点在特征图C中对应的匹配位置。
对于本申请实施例,满足比率测试条件的F描述子为该描述子与特征图C之间的距离大于比率因子δ,其中,δ在[1.25,2]之间。在本申请实施例中,获取获取F描述子满足比率测试条件的3D地图点在特征图C中对应的匹配位置(XFDi,YFDi)。
步骤S5、将匹配位置转换到当前观测图像对应的图像坐标系中,得到3D地图点与当前观测图像中的2D地图点之间的匹配关系。
具体地,在得到匹配位置(XFDi,YFDi),接着将特征图C上的匹配位置(XFDi,YFDi)转换到当前观测图像的图像坐标系上,则该F描述子对应的3D地图点与当前观测图像上的2D点也形成了匹配关系。
进一步地,在本申请实施例中使用Unet作为CNN骨干网络,因此特征图C与当前观测图像的像素一一对应,所以无需进行额外坐标转换,若使用其他CNN骨干网络,则需要根据网络感受野进行坐标转换,然后得到3D地图点与当前观测图像中的2D地图点之间的匹配关系。
步骤S6、获取参考图像的位姿,并基于参考图像的位姿以及匹配关系,确定当前观测图像对应的初始位姿。
具体地,在得到3D地图点与当前观测图像中的2D地图点之间的匹配关系后,根据所得到的3D地图点与当前观测图像中的2D地图点之间的匹配关系,并使用EPnP (EfficentPerspective-n-Point)算法计算当前观测图像的位姿。在本申请实施例中,满足第四预设条件的每张场景图像均可以通过上述方式计算得到一个位姿,然后基于各张场景计算得到的位姿,确定当前观测图像对应的初始位姿。需要说明的是,在计算当前观测图像的位姿时还可以通过PnP-DLT(Perspective-n-Point—Direct Linear Transformation)算法、奇异值分解(Singular Value Decomposition,SVD)算法、光束法平差(Bundle Adjustment,BA)算法,在本申请实施例中不做限定。
具体地,在得到通过各张场景图像计算得到的位姿之后,基于各张场景图像分别与当前观测图像之间的相似度作为权重对各个计算得到的位姿进行加权平均,以得到当前观测图像对应的初始位姿。
步骤S7、基于当前观测图像对应的初始位姿进行重定位。
对于本申请实施例,在通过上述方式快速准确地确定初始位姿后,在通过当前观测图像对应的初始位姿进行重定位时可以极大地降低迭代次数,降低系统实验,也同时可以防止陷入局部最优解。
具体地,步骤S7中基于当前观测图像对应的初始位姿进行重定位,具体可以包括:根据当前观测图像对应的初始位姿,将满足第四预设条件的共视簇中的每个场景图像对应的3D地图点投影至当前观测图像对应的图像坐标系中;筛选出投影点在当前观测图像内的3D地图点,得到地图点集合;将地图点集合中的每个3D地图点的投影点坐标转换到当前观测图像的H特征图的坐标系中,得到每个3D地图点对应的H描述子;获取地图点集合中每个3D地图点对应的H’描述子;基于地图点集合中每个3D地图点对应的H’描述子以及每个3D地图点对应的H描述子,确定地图点集合中每个3D地图点残差信息;基于每个3D地图点残差信息确定目标函数;基于目标函数确定重定位后的位姿。其中,H’描述子为创建场景地图时每个关键帧图像对应的H’特征图所对应的描述子。
具体地,满足第四预设条件的共视簇可以称为共视簇A,也即将共视簇A中的每个场景图像对应的3D地图点投影至当前观测图像对应的图像坐标系中。从场景地图中取出共视簇A中所有图像对应的3D地图点,从而构成地图点集合PM,由于地图点可能同时被共视簇A中多个关键帧图像观测到,因此地图点集合PM中每一个地图点都在场景地图中对应存在着若干个H描述子。接着,根据计算得到的当前观测图像初始位姿,将地图点集合PM中的3D地图点投影到当前观测图像的图像坐标系上,判断投影点是否位于当前观测图像内,并筛选出位于当前观测图像内的3D地图点构成可视地图点集合VM。
将可视地图点集合VM中每一个地图点对应在当前观测图像上的投影点转到为当前观测图像的H特征图坐标,从而得到对应的H描述子,同时该地图点在场景地图中也存在着若干个对应于共视簇A中关键帧图像的H’描述子。
进一步地,在得到地图点集合中每个3D地图点对应的H’描述子以及每个3D地图点对应的H描述子后,确定每个3D地图点的残差信息,具体通过下述公式(7)计算得到每个3D地图点的残差信息,然后基于每个3D地图点的残差信息并通过公式(8)确定目标函数.
其中,
其中,ri为可视地图点集合VM中第i个地图点的H描述子残差;H为该地图点对应当前观测图像H特征图的H描述子;H’k为在场景地图中该地图点对应于共视簇A中关键帧图像的第k个H’描述子;wi,k为该H描述子与H’描述子分别对应置信度图上的置信度权重之积;||·||2代表L2距离。
其中,
其中,ρ为鲁棒核函数,E(R,t)为计算的当前观测图像位姿(R,t)的目标函数。
进一步地,在通过上述实施例得到目标函数后,为了更为精确的得到重定位后的位姿,基于目标函数确定重定位后的位姿,具体可以包括:步骤S771(图中未示出),或者步骤S771以及步骤S772(图中未示出),其中,
步骤S771、对目标函数进行最小化处理,确定更新后的位姿。
具体地,可以通过LM算法、高斯牛顿算法、或者梯度下降算法等算法最小化目标函数E(R,t),以更新当前观测图像的位姿,得到更新结果作为当前观测图像重定位后的位姿。
以通过LM算法进行位姿更新为例,使用LM(Levenberg-Marquardt)算法最小化上述目标函数并如下更新观测图像的位姿,如公式(9)所示:
进一步地,为了提升重定位的准确度,在执行步骤S771之后执行步骤S772,其中,步骤S772、循环执行将更新后的位姿作为当前观测图像对应的初始位姿的步骤,根据当前观测图像对应的初始位姿,将满足第四预设条件的共视簇中的每个场景图像对应的3D地图点投影至当前观测图像对应的图像坐标系中的步骤,筛选出投影点在当前观测图像内的3D地图点,得到地图点集合的步骤,将地图点集合中的每个3D地图点的投影点坐标转换到当前观测图像的H特征图的坐标系中,得到每个3D地图点对应的H描述子的步骤,获取地图点集合中每个3D地图点对应的H’描述子的步骤,基于地图点集合中每个3D地图点对应的H’描述子以及每个3D地图点对应的H描述子,确定地图点集合中每个3D地图点残差信息的步骤,基于每个3D地图点残差信息确定目标函数的步骤以及步骤S771,直至位姿收敛,并将位姿收敛时得到的位姿,确定为重定位后的位姿。
也即,在本申请实施例中,在得到更新后的位姿后,根据更新后的位姿重新将地图
点集合PM进行投影运算,得到新的可视地图点集合VM与H描述子残差ri,从而得到更新后的
目标函数E,然后重复上述运算,迭代地进行位姿更新,直到更新量足够小,则认为位姿收
敛,最后收敛时的位姿(R,t)即作为最终当前观测图像的6DOF位姿,即重定位的结果。
在上述实施例中所涉及到端到端重定位系统可以为训练后的网络模型,所述端到端重定位系统的训练分为两个部分进行,首先进行置信度图分支与稠密特征图分支的训练,将置信度图按上述表述作为H描述子的权重进行端到端训练,损失函数设置为最终可视地图点集合VM根据当前观测图像收敛时的6DOF位姿与真实位姿二者投影时的重投影误差。然后固定CNN骨干网络的权重,训练场景检索分支,根据图像全局描述子定义图像相似度,然后构建三元损失对进行训练,使得真实场景中位于同一地理位置的图像对的图像相似度远远大于真实场景中位于不同地理位置的图像对的图像相似度。
上述实施例从方法流程的角度介绍了一种重定位方法,下述实施例从虚拟模块的角度介绍一种重定位装置,具体详见下述实施例。
本申请实施例提供了一种重定位装置,如图3所示,重定位装置30可以包括:第一获取模块31、特征抽取模块32、第一确定模块33、生成模块34、第二确定模块35、第三确定模块36以及重定位模块37,其中,
第一获取模块31,用于获取当前观测图像。
特征抽取模块32,用于从当前观测图像中进行特征抽取,得到稠密特征图。
第一确定模块33,用于确定稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离,并基于残差距离确定特征图C。
其中,各个聚类中心是由预创建的场景地图中各个点按照场景进行聚类后得到的。
生成模块34,用于基于稠密特征图生成当前观测图像对应的置信度图。
第二确定模块35,用于基于当前观测图像对应的置信度图以及特征图C,确定当前观测图像对应的区域描述子。
第三确定模块36,用于基于当前观测图像对应的区域描述子从预创建的场景地图中确定满足第一预设条件的场景图像。
重定位模块37,用于基于满足第一预设条件的场景图像进行重定位。
具体地,第一确定模块33在确定稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离时,具体用于:
基于稠密特征图进行卷积处理,得到特征图F;
确定特征图F中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离。
具体地,第二确定模块35在基于当前观测图像对应的置信度图以及特征图C,确定当前观测图像对应的区域描述子时,具体用于:
将当前观测图像对应的置信度图进行区域划分;
对划分后的各个区域生成最小外包围框;
基于每个最小外包围框内中各个像素分别对应的置信度,确定各个区域分别对应的置信度;
基于各个区域分别对应的置信度并按照预设规则,确定至少一个区域;
将至少一个区域中每个区域的最小外包围框与特征图C进行匹配,得到各自对应的第二区域;
对特征图C中每个位置的描述子进行正则化处理;
计算各个第二区域分别对应的描述子均值,并对各个描述子均值分别进行正则化处理,得到各个第二区域分别对应的区域描述子。具体地,第三确定模块36在基于当前观测图像对应的区域描述子从预创建的场景地图中确定满足第一预设条件的场景图像时,具体用于:
从预创建的场景地图中确定各个场景图像分别对应的区域描述子集合,区域描述子集合中包含至少一个区域描述子;
基于各个第二区域分别对应的区域描述子以及各个场景图像分别对应的区域描述子集合进行区域匹配,并按照预设规则进行区域匹配,得到区域匹配对集合;
基于区域匹配对集合,确定各个场景图像分别对应的空间一致性得分;
基于各个场景图像分别对应的空间一致性得分,从预创建的场景地图中确定满足第一预设条件的场景图像。
具体地,第三确定模块36在基于区域匹配对集合,确定各个场景图像分别对应的空间一致性得分时,具体用于:
基于区域匹配对集合,确定各个区域匹配对分别对应的区域中心偏移;
基于区域匹配对分别对应的区域中心偏移,确定平均行偏移量以及平均列偏移量;
基于区域匹配对集合,各个区域匹配对分别对应的区域中心偏移、平均行偏移量以及列偏移量,确定各个场景图像分别对应的空间一致性得分。
本申请实施例的另一种可能的实现方式,满足第一预设条件的场景图像为至少两张;装置30还包括:第二获取模块、第四确定模块以及第五确定模块,其中,
第二获取模块,用于获取各张场景图像分别对应的F描述子集合;
第四确定模块,用于基于各张场景图像分别对应的F描述子集合以及特征图C,确定各张场景图像分别与当前观测图像之间的相似度;
第五确定模块,用于基于各张场景图像分别与当前观测图像之间的相似度,从满足第一预设条件的场景图像中确定满足第二预设条件的场景图像。
具体地,任一场景图像对应的F描述子集合包括:至少一个F描述子;
第四确定模块在基于任一场景图像对应的F描述子集合以及特征图C,确定任一场景图像与当前观测图像之间的相似度时,具体用于:
确定任一场景图像对应的每个F描述子分别与特征图C中各个像素之间的距离;
基于确定出的距离,确定任一场景图像对应的每个F描述子与特征图C之间的距离;
基于任一场景图像对应的每个F描述子与特征图C之间的距离,确定每个F描述子与特征图C之间的相似度;
基于每个F描述子与特征图C之间的相似度,确定任一场景图像与特征图C之间的相似度,作为任一场景图像与当前观测图像之间的相似度。
具体地,重定位模块37在基于满足第一预设条件的场景图像进行重定位时,具体用于:
基于满足第二预设条件的场景图像进行重定位。
进一步地,装置30还包括:归一化处理模块、第六确定模块、第七确定模块;其中,
归一化处理模块,用于对特征图F中每个点描述子进行归一化处理,得到归一化结果,特征图F是对所述稠密特征图进行卷积后得到的;
第六确定模块,用于基于归一化结果以及特征图C,确定当前观测图像对应的全局描述子;
第七确定模块,用于基于当前观测图像对应的全局描述子从预创建的场景地图中确定满足第三预设条件的场景图像;
其中,第三确定模块36在基于当前观测图像对应的区域描述子从预创建的场景地图中确定满足第一预设条件的场景图像时,具体用于:
基于当前观测图像对应的区域描述子从满足第三预设条件的场景地图中确定满足第一预设条件的场景图像。
具体地,重定位模块37在基于满足第二预设条件的场景图像进行重定位时,具体用于:
基于场景地图的共视关系,将满足第二预设条件的场景图像进行聚类,得到至少两个共视簇;
基于每个共视簇中各个场景图像分别与当前观测图像之间的相似度,从至少两个共视簇中确定满足第四预设条件的共视簇;
从预创建的场景地图中选择满足第四预设条件的共视簇中的每个场景图像对应的3D地图点,每个3D地图点对应一个F描述子;
获取F描述子满足比率测试条件的3D地图点在特征图C中对应的匹配位置;
将匹配位置转换到当前观测图像对应的图像坐标系中,得到3D地图点与当前观测图像中的2D地图点之间的匹配关系;
获取参考图像的位姿,并基于参考图像的位姿以及匹配关系,确定当前观测图像对应的初始位姿;
基于当前观测图像对应的初始位姿进行重定位。
具体地,重定位模块37包括:投影单元、筛选单元、坐标转换单元、获取单元、残差信息确定单元、目标最小化单元以及确定单元,其中,
投影单元,用于根据当前观测图像对应的初始位姿,将满足第四预设条件的共视簇中的每个场景图像对应的3D地图点投影至当前观测图像对应的图像坐标系中;
筛选单元,用于筛选出投影点在当前观测图像内的3D地图点,得到地图点集合;
坐标转换单元,用于将地图点集合中的每个3D地图点的投影点坐标转换到当前观测图像的H特征图的坐标系中,得到每个3D地图点对应的H描述子;
获取单元:用于获取地图点集合中每个3D地图点对应的H’描述子,H’描述子为创建场景地图时每个关键帧图像对应的H’特征图所对应的描述子;
残差信息确定单元,用于基于地图点集合中每个3D地图点对应的H’描述子以及每个3D地图点对应的H描述子,确定地图点集合中每个3D地图点残差信息;
目标最小化单元,用于基于每个3D地图点残差信息确定目标函数;
确定单元,用于基于目标函数确定重定位后的位姿。
具体地,确定单元包括:位姿更新子单元和/或循环执行子单元,其中,
位姿更新子单元,用于对目标函数进行最小化处理,确定更新后的位姿;
循环执行子单元,用于循环执行将更新后的位姿作为当前观测图像对应的初始位姿的步骤,投影单元、筛选单元、坐标转换单元、获取单元、残差信息确定单元、目标最小化单元以及位姿更新单元所执行的操作,直至位姿收敛,并将位姿收敛时得到的位姿,确定为重定位后的位姿。
需要说明的是:第一确定模块33、第二确定模块35、第三确定模块36、第四确定模块、第五确定模块、第六确定模块以及第七确定模块可以分别为不同的模块,也可以均为相同的模块,也可以部分为相同的模块;第一获取模块31以及第二获取模块可以均为相同的模块,也可以均为不同的模块,在本申请实施例中不做限定。
本申请实施例提供了一种重定位装置,与相关技术相比,在本申请实施例中,通过稠密特征图生成当前观测图像对应的置信度图,然后基于稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离,并基于残差距离确定特征图C,并基于特征图C和置信度图可以确定出当前观测图像对应的区域描述子,也即可以通过区域描述子从预创建的场景地图中确定满足第一预设条件的场景地图,从而可以满足第一预设条件的场景地图中进行重定位,也即在本申请实施例中可以得到当前观测图像的高级语义特征,以从预创建的场景地图中筛选出匹配度较高的场景图像,然后在基于匹配度较高的场景图像进行重定位,从而可以降低重定位的复杂度,进而可以提高重定位的精度。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例中提供了一种电子设备,如图4所示,图4所示的电子设备400包括:处理器401和存储器403。其中,处理器401和存储器403相连,如通过总线402相连。可选地,电子设备400还可以包括收发器404。需要说明的是,实际应用中收发器404不限于一个,该电子设备400的结构并不构成对本申请实施例的限定。
处理器401可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线402可包括一通路,在上述组件之间传送信息。总线402可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器403可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器403用于存储执行本申请方案的应用程序代码,并由处理器401来控制执行。处理器401用于执行存储器403中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。还可以为服务器等。图4示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与相关技术相比,在本申请实施例中,通过稠密特征图生成当前观测图像对应的置信度图,然后基于稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离,并基于所述残差距离确定特征图C,并基于特征图C和置信度图可以确定出当前观测图像对应的区域描述子,也即可以通过区域描述子从预创建的场景地图中确定满足第一预设条件的场景地图,从而可以满足第一预设条件的场景地图中进行重定位,也即在本申请实施例中可以得到当前观测图像的高级语义特征,以从预创建的场景地图中筛选出匹配度较高的场景图像,然后在基于匹配度较高的场景图像进行重定位,从而可以降低重定位的复杂度,进而可以提高重定位的精度。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本申请的方法及其核心思想,不应理解为对本申请的限制。本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。
Claims (15)
1.一种重定位方法,其特征在于,包括:
获取当前观测图像,并从所述当前观测图像中进行特征抽取,得到稠密特征图;
确定所述稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离,并基于所述残差距离确定特征图C,所述各个聚类中心是由预创建的场景地图中各个点按照场景进行聚类后得到的;
基于所述稠密特征图生成所述当前观测图像对应的置信度图;
基于所述当前观测图像对应的置信度图以及所述特征图C,确定所述当前观测图像对应的区域描述子;
基于所述当前观测图像对应的区域描述子从所述预创建的场景地图中确定满足第一预设条件的场景图像;
基于所述满足第一预设条件的场景图像进行重定位。
2.根据权利要求1所述的方法,其特征在于,所述确定所述稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离,包括:
基于所述稠密特征图进行卷积处理,得到特征图F;
确定所述特征图F中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离。
3.根据权利要求2所述的方法,其特征在于,所述基于所述当前观测图像对应的置信度图以及所述特征图C,确定所述当前观测图像对应的区域描述子,包括:
将所述当前观测图像对应的置信度图进行区域划分;
对划分后的各个区域生成最小外包围框;
基于每个最小外包围框内中各个像素分别对应的置信度,确定各个区域分别对应的置信度;
基于各个区域分别对应的置信度并按照预设规则,确定至少一个区域;
将所述至少一个区域中每个区域的最小外包围框与所述特征图C进行匹配,得到各自对应的第二区域;
对所述特征图C中每个位置的描述子进行正则化处理;
计算各个第二区域分别对应的描述子均值,并对各个描述子均值分别进行正则化处理,得到各个第二区域分别对应的区域描述子。
4.根据权利要求3所述的方法,其特征在于,所述基于所述当前观测图像对应的区域描述子从所述预创建的场景地图中确定满足第一预设条件的场景图像,包括:
从所述预创建的场景地图中确定各个场景图像分别对应的区域描述子集合,所述区域描述子集合中包含至少一个区域描述子;
基于所述各个第二区域分别对应的区域描述子以及所述各个场景图像分别对应的区域描述子集合进行区域匹配,并按照预设规则进行区域匹配,得到区域匹配对集合;
基于所述区域匹配对集合,确定各个场景图像分别对应的空间一致性得分;
基于所述各个场景图像分别对应的空间一致性得分,从所述预创建的场景地图中确定满足第一预设条件的场景图像。
5.根据权利要求4所述的方法,其特征在于,所述基于所述区域匹配对集合,确定各个场景图像分别对应的空间一致性得分,包括:
基于所述区域匹配对集合,确定各个区域匹配对分别对应的区域中心偏移;
基于所述区域匹配对分别对应的区域中心偏移,确定平均行偏移量以及平均列偏移量;
基于所述区域匹配对集合,所述各个区域匹配对分别对应的区域中心偏移、所述平均行偏移量以及所述列偏移量,确定各个场景图像分别对应的空间一致性得分。
6.根据权利要求5所述的方法,其特征在于,所述满足第一预设条件的场景图像为至少两张;所述方法还包括:
获取各张场景图像分别对应的F描述子集合;
基于所述各张场景图像分别对应的F描述子集合以及所述特征图C,确定各张场景图像分别与当前观测图像之间的相似度;
基于所述各张场景图像分别与当前观测图像之间的相似度,从所述满足第一预设条件的场景图像中确定满足第二预设条件的场景图像。
7.根据权利要求6所述的方法,其特征在于,所述任一场景图像对应的F描述子集合包括:至少一个F描述子;
基于任一场景图像对应的F描述子集合以及所述特征图C,确定所述任一场景图像与当前观测图像之间的相似度,包括:
确定任一场景图像对应的每个F描述子分别与所述特征图C中各个像素之间的距离;
基于确定出的距离,确定所述任一场景图像对应的每个F描述子与所述特征图C之间的距离;
基于所述任一场景图像对应的每个F描述子与所述特征图C之间的距离,确定每个F描述子与所述特征图C之间的相似度;
基于所述每个F描述子与所述特征图C之间的相似度,确定所述任一场景图像与所述特征图C之间的相似度,作为所述任一场景图像与所述当前观测图像之间的相似度。
8.根据权利要求6或7所述的方法,其特征在于,所述基于所述满足第一预设条件的场景图像进行重定位,包括:
基于所述满足第二预设条件的场景图像进行重定位。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:
对特征图F中每个点描述子进行归一化处理,得到归一化结果,所述特征图F是对所述稠密特征图进行卷积后得到的;
基于所述归一化结果以及所述特征图C,确定所述当前观测图像对应的全局描述子;
基于所述当前观测图像对应的全局描述子从所述预创建的场景地图中确定满足第三预设条件的场景图像;
其中,所述基于所述当前观测图像对应的区域描述子从所述预创建的场景地图中确定满足第一预设条件的场景图像,包括:
基于所述当前观测图像对应的区域描述子从所述满足第三预设条件的场景地图中确定所述满足第一预设条件的场景图像。
10.根据权利要求8所述的方法,其特征在于,所述基于所述满足第二预设条件的场景图像进行重定位,包括:
基于场景地图的共视关系,将所述满足第二预设条件的场景图像进行聚类,得到至少两个共视簇;
基于每个共视簇中各个场景图像分别与所述当前观测图像之间的相似度,从所述至少两个共视簇中确定满足第四预设条件的共视簇;
从所述预创建的场景地图中选择所述满足第四预设条件的共视簇中的每个场景图像对应的3D地图点,每个3D地图点对应一个F描述子;
获取F描述子满足比率测试条件的3D地图点在特征图C中对应的匹配位置;
将所述匹配位置转换到当前观测图像对应的图像坐标系中,得到所述3D地图点与当前观测图像中的2D地图点之间的匹配关系;
获取参考图像的位姿,并基于所述参考图像的位姿以及所述匹配关系,确定所述当前观测图像对应的初始位姿;
基于所述当前观测图像对应的初始位姿进行重定位。
11.根据权利要求10所述的方法,其特征在于,所述基于所述当前观测图像对应的初始位姿进行重定位,包括:
投影步骤:根据所述当前观测图像对应的初始位姿,将所述满足第四预设条件的共视簇中的每个场景图像对应的3D地图点投影至所述当前观测图像对应的图像坐标系中;
筛选步骤:筛选出投影点在所述当前观测图像内的3D地图点,得到地图点集合;
坐标转换步骤:将所述地图点集合中的每个3D地图点的投影点坐标转换到当前观测图像的H特征图的坐标系中,得到每个3D地图点对应的H描述子;
获取步骤:获取所述地图点集合中每个3D地图点对应的H’描述子,所述H’描述子为创建场景地图时每个关键帧图像对应的H’特征图所对应的描述子;
残差信息确定步骤:基于所述地图点集合中每个3D地图点对应的H’描述子以及所述每个3D地图点对应的H描述子,确定所述地图点集合中每个3D地图点残差信息;
目标最小化步骤:基于所述每个3D地图点残差信息确定目标函数;
基于所述目标函数确定重定位后的位姿。
12.根据权利要求11所述的方法,其特征在于,所述基于所述目标函数确定重定位后的位姿,包括:
位姿更新步骤:对所述目标函数进行最小化处理,确定更新后的位姿;和/或,
循环执行步骤:循环执行将更新后的位姿作为所述当前观测图像对应的初始位姿的步骤,所述投影步骤、所述筛选步骤、所述坐标转换步骤、所述获取步骤、所述残差信息确定步骤、所述目标最小化步骤以及所述位姿更新步骤,直至位姿收敛,并将位姿收敛时得到的位姿,确定为重定位后的位姿。
13.一种重定位装置,其特征在于,包括:
第一获取模块,用于获取当前观测图像;
特征抽取模块,用于从所述当前观测图像中进行特征抽取,得到稠密特征图;
第一确定模块,用于确定所述稠密特征图中每个点描述子分别与预创建的场景地图中各个聚类中心的残差距离,并基于所述残差距离确定特征图C,所述各个聚类中心是由预创建的场景地图中各个点按照场景进行聚类后得到的;
生成模块,用于基于所述稠密特征图生成所述当前观测图像对应的置信度图;
第二确定模块,用于基于所述当前观测图像对应的置信度图以及所述特征图C,确定所述当前观测图像对应的区域描述子;
第三确定模块,用于基于所述当前观测图像对应的区域描述子从所述预创建的场景地图中确定满足第一预设条件的场景图像;
重定位模块,用于基于所述满足第一预设条件的场景图像进行重定位。
14.一种电子设备,其特征在于,其包括:
一个或者多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于:执行根据权利要求1~12任一项所述的一种重定位方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~12任一项所述的一种重定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210348715.0A CN114943766A (zh) | 2022-04-01 | 2022-04-01 | 重定位方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210348715.0A CN114943766A (zh) | 2022-04-01 | 2022-04-01 | 重定位方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114943766A true CN114943766A (zh) | 2022-08-26 |
Family
ID=82907560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210348715.0A Pending CN114943766A (zh) | 2022-04-01 | 2022-04-01 | 重定位方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114943766A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117131213A (zh) * | 2023-04-10 | 2023-11-28 | 荣耀终端有限公司 | 图像处理方法及相关设备 |
-
2022
- 2022-04-01 CN CN202210348715.0A patent/CN114943766A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117131213A (zh) * | 2023-04-10 | 2023-11-28 | 荣耀终端有限公司 | 图像处理方法及相关设备 |
CN117131213B (zh) * | 2023-04-10 | 2024-07-09 | 荣耀终端有限公司 | 图像处理方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111652934B (zh) | 定位方法及地图构建方法、装置、设备、存储介质 | |
CN111627065B (zh) | 一种视觉定位方法及装置、存储介质 | |
Liu et al. | Seqlpd: Sequence matching enhanced loop-closure detection based on large-scale point cloud description for self-driving vehicles | |
US20200160124A1 (en) | Fine-grained image recognition | |
CN109658445A (zh) | 网络训练方法、增量建图方法、定位方法、装置及设备 | |
CN112101430A (zh) | 用于图像目标检测处理的锚框生成方法及轻量级目标检测方法 | |
CN113706480A (zh) | 一种基于关键点多尺度特征融合的点云3d目标检测方法 | |
CN113129311B (zh) | 一种标签优化点云实例分割方法 | |
Xin et al. | A review of visual-based localization | |
Li et al. | VNLSTM-PoseNet: A novel deep ConvNet for real-time 6-DOF camera relocalization in urban streets | |
Zhang et al. | A dual attention neural network for airborne LiDAR point cloud semantic segmentation | |
CN114743139A (zh) | 视频场景检索方法、装置、电子设备及可读存储介质 | |
Djenouri et al. | Deep learning based decomposition for visual navigation in industrial platforms | |
Wilson et al. | Image and object Geo-localization | |
CN113139540B (zh) | 背板检测方法及设备 | |
CN114943766A (zh) | 重定位方法、装置、电子设备及计算机可读存储介质 | |
Liu et al. | Comparison of 2D image models in segmentation performance for 3D laser point clouds | |
CN117975018A (zh) | 对齐模块、解码器的训练、图像分割方法、设备及介质 | |
Qiao et al. | Objects matter: Learning object relation graph for robust absolute pose regression | |
Liu et al. | CMLocate: A cross‐modal automatic visual geo‐localization framework for a natural environment without GNSS information | |
Zhang et al. | Hierarchical Image Retrieval Method Based on Bag-of-Visual-Word and Eight-point Algorithm with Feature Clouds for Visual Indoor Positioning | |
CN117053779A (zh) | 一种基于冗余关键帧去除的紧耦合激光slam方法及装置 | |
Walch et al. | Deep Learning for Image-Based Localization | |
Lee et al. | Camera pose estimation using voxel-based features for autonomous vehicle localization tracking | |
Yang et al. | Keyframe-based camera relocalization method using landmark and keypoint matching |
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 |