CN113592015A - 定位以及训练特征匹配网络的方法和装置 - Google Patents
定位以及训练特征匹配网络的方法和装置 Download PDFInfo
- Publication number
- CN113592015A CN113592015A CN202110903005.5A CN202110903005A CN113592015A CN 113592015 A CN113592015 A CN 113592015A CN 202110903005 A CN202110903005 A CN 202110903005A CN 113592015 A CN113592015 A CN 113592015A
- Authority
- CN
- China
- Prior art keywords
- matching network
- descriptor
- map
- key point
- feature matching
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000012549 training Methods 0.000 title claims abstract description 48
- 238000013528 artificial neural network Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 9
- 238000002372 labelling Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 8
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 230000003190 augmentative effect Effects 0.000 abstract description 3
- 238000013135 deep learning Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 7
- 238000010276 construction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000013475 authorization Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了定位方法和装置以及训练特征匹配网络的方法和装置,涉及图像处理、增强现实和深度学习等人工智能领域。具体实现方案为:获取待定位区域的2D图片和已建好的3D地图。从2D图片中提取出2D关键点位置和2D描述子。从3D地图中提取出3D关键点位置和3D描述子。将2D关键点位置、2D描述子、3D关键点位置和3D描述子输入预先训练的特征匹配网络,得到至少一组2D‑3D匹配对。根据至少一组2D‑3D匹配对求得位姿。该实施方式能够提高定位的准确率和速度。
Description
技术领域
本公开涉及图像处理、增强现实和深度学习等人工智能领域。
背景技术
随着手机等便携摄影设备的发展,基于摄像头的低成本视觉定位方法逐渐受到大家的关注。现有技术通常采用基于2D-3D直接匹配的方法进行定位。首先将数据库中的3D点通过词汇树等方法进行聚类,然后建立查询图片中特征点与数据库中3D点的对应关系,最后估算位姿。
现有技术中每个3D点都有多个2D观测及特征,地图越大,观测越多,特征越多,特征空间被严重压缩,简而言之,地图越大,特征匹配效果越差。
发明内容
本公开提供了一种定位以及训练特征匹配网络的方法和装置、设备、存储介质以及计算机程序产品。
根据本公开的第一方面,提供了一种定位方法,包括:获取待定位区域的2D图片和已建好的3D地图。从2D图片中提取出2D关键点位置和2D描述子。从3D地图中提取出3D关键点位置和3D描述子。将2D关键点位置、2D描述子、3D关键点位置和3D描述子输入预先训练的特征匹配网络,得到至少一组2D-3D匹配对。根据至少一组2D-3D匹配对求得位姿。
根据本公开的第二方面,提供了一种训练特征匹配网络的方法,包括:获取图像集合作为样本集,并将位姿信息作为所采集的图像的标注信息。根据图像集合构建3D地图。执行如下训练步骤:从样本集中选取样本。基于样本和3D地图执行第一方面的方法,得到定位结果。基于定位结果和标注信息计算总损失值。若总损失值小于预定阈值,则确定出特征匹配网络训练完成。
根据本公开的第三方面,提供了一种定位装置,包括:获取单元,被配置成获取待定位区域的2D图片和已建好的3D地图。第一提取单元,被配置成从2D图片中提取出2D关键点位置和2D描述子。第二提取单元,被配置成从3D地图中提取出3D关键点位置和3D描述子。匹配单元,被配置成将2D关键点位置、2D描述子、3D关键点位置和3D描述子输入预先训练的特征匹配网络,得到至少一组2D-3D匹配对。定位单元,被配置成根据至少一组2D-3D匹配对求得位姿。
根据本公开的第四方面,提供了一种训练特征匹配网络的装置,包括:获取单元,被配置成获取图像集合作为样本集,并将位姿信息作为所采集的图像的标注信息。建图单元,被配置成根据图像集合构建3D地图。训练单元,被配置成执行如下训练步骤:从样本集中选取样本。基于样本和3D地图执行第一方面的方法,得到定位结果。基于定位结果和标注信息计算总损失值。若总损失值小于预定阈值,则确定出特征匹配网络训练完成。
根据本公开的第五方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面和第二方面所述的方法。
根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面和第二方面所述的方法。
根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面和第二方面所述的方法。
本公开实施例提供的定位和训练特征匹配网络的方法和装置,在建图时无需保存3D点对应的2D观测及特征。在减小了地图的数据量的同时,提高了特征匹配效果,从而提高了定位的准确度。还可以大大增强建图鲁棒性,提升建图性能,增加建图精度。同时可以利用雷达点云形成网格,供增强现实内容制作者使用。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开可以应用于其中的示例性系统架构图;
图2是根据本公开定位方法的一个实施例的流程图;
图3是根据本公开定位方法的一个应用场景的示意图;
图4是根据本公开训练特征匹配网络的方法的一个实施例的流程图;
图5是根据本公开定位装置的一个实施例的结构示意图;
图6是根据本公开训练特征匹配网络的装置的一个实施例的结构示意图;
图7是适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1示出了可以应用本申请实施例的训练特征匹配网络的方法、训练特征匹配网络的装置、定位方法或定位装置的示例性系统架构100。
如图1所示,系统架构100可以包括无人车(也称自动驾驶车)101、102,网络103、数据库服务器104和服务器105。网络103用以在无人车101、102,数据库服务器104与服务器105之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
无人车101、102中安装有驾驶控制设备以及激光雷达、毫米波雷达等采集点云数据的设备。驾驶控制设备(又称为车载大脑)负责无人车的智能控制。驾驶控制设备可以是单独设置的控制器,例如可编程逻辑控制器(Programmable Logic Controller,PLC)、单片机、工业控制机等;也可以是由其他具有输入/输出端口,并具有运算控制功能的电子器件组成的设备;还可以是安装有车辆驾驶控制类应用的计算机设备。
需要说明的是,实践中无人车中还可以安装有至少一个传感器,例如,相机、重力传感器、轮速传感器等。某些情况下,无人车中还可以安装有GNSS(Global NavigationSatellite System,全球导航卫星系统)设备和SINS(Strap-down Inertial NavigationSystem,捷联惯性导航系统)等等。
数据库服务器104可以是提供各种服务的数据库服务器。例如数据库服务器中可以存储有样本集。样本集中包含有大量的样本。其中,样本可以包括图像(街景)、样本标签。这里的样本可以是在基于视觉的3D地图建立过程中拍摄的,样本标签标识了相机拍摄图像时的位姿。用户也可以通过无人车101、102,从数据库服务器104所存储的样本集中选取样本。
服务器105也可以是提供各种服务的服务器,例如对无人车101、102上显示的各种应用提供支持的后台服务器。后台服务器可以利用无人车101、102采集的样本集中的样本,对初始模型进行训练,并可以将训练结果(如生成的特征匹配网络)发送给无人车101、102。这样,无人车可以应用生成的特征匹配网络进行定位。
这里的数据库服务器104和服务器105同样可以是硬件,也可以是软件。当它们为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当它们为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。数据库服务器104和服务器105也可以为分布式系统的服务器,或者是结合了区块链的服务器。数据库服务器104和服务器105也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。
需要说明的是,本申请实施例所提供的训练特征匹配网络的方法或定位方法一般由服务器105执行。相应地,训练特征匹配网络的装置或定位装置一般也设置于服务器105中。定位方法还可由无人车执行。
需要指出的是,在服务器105可以实现数据库服务器104的相关功能的情况下,系统架构100中可以不设置数据库服务器104。
应该理解,图1中的无人车、网络、数据库服务器和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的无人车、网络、数据库服务器和服务器。
继续参见图2,其示出了根据本申请的定位方法的一个实施例的流程200。该定位方法可以包括以下步骤:
步骤201,获取待定位区域的2D图片和已建好的3D地图。
在本实施例中,定位方法的执行主体(例如图1所示的服务器105或无人车101、102)可以通过多种方式来获取待定位区域的2D的街景图。执行主体如果是服务器,则可以接收无人车采集的待定位区域的街景图。3D地图为预先建立好的全景地图。可采用现有技术中常见的3D重建方法,例如,SFM(structure-from-motion,从动作中恢复结构)算法。可通过SFM算法从时间系列的2D图像中推算3D信息。
需要说明的是,本实施例中的待定位区域并不是针对某一特定用户的待定位区域,并不能反映出某一特定用户的个人信息。
需要说明的是,本实施例中的2D图片和3D地图可以来自于公开数据集,或者2D图片和3D地图的获取是经过了3D地图所涉及区域的用户的授权。
本实施例中,定位方法的执行主体可以通过各种公开、合法合规的方式获取2D图片和3D地图,例如可以是从公开数据集处获取的,或者是经过了用户的授权从用户处获取的。步骤202,从2D图片中提取出2D关键点位置和2D描述子。
在本实施例中,可通过预先训练的神经网络模型检测出2D图片中的关键点,并获得2D描述子。例如,采用BRIEF(Binary Robust Independent Elementary Features,二进制鲁棒独立的基本特征)算法提取出特征描述子,对已检测到的特征进行描述,是一种二进制编码描述子,由于BRIEF仅仅是特征描述子,所以事先要得到特征点的位置。可以利用FAST特征点检测算法或Harris角点检测算法或SIFT(Scale-invariant featuretransform,尺度不变特征变换),SURF(Speeded Up Robust Features,加速稳健特征)等算法检测特征点的位置。
步骤203,从3D地图中提取出3D关键点位置和3D描述子。
在本实施例中,3D地图在创建过程中是基于2D图片的,因此可在建图过程中提取出2D图片的2D关键点位置和2D描述子。然后叠加多个2D图片的2D关键点位置和2D描述子作为3D关键点位置和3D描述子。
步骤204,将2D关键点位置、2D描述子、3D关键点位置和3D描述子输入预先训练的特征匹配网络,得到至少一组2D-3D匹配对。
在本实施例中,特征匹配网络是一种神经网络结构,可进行2D关键点和3D关键点的匹配。该神经网络结构可包括图神经网络和匹配层。图神经网络不仅可以提取出2D关键点的特征,还可根据2D关键点位置提取出相邻点的特征(2D邻居特征)。同理,图神经网络还可提取3D关键点的特征和相邻点的特征(3D邻居特征)。然后再根据特征匹配算法(例如,SIFT(Scale-invariant feature transform,尺度不变特征变换)算法)查询同时与2D关键点特征和2D邻居特征匹配的3D关键点。
步骤205,根据至少一组2D-3D匹配对求得位姿。
在本实施例中,可通过一些位姿估计算法根据至少一组2D-3D匹配对求得位姿。如DLT(Direct Linear Transform,直接线性变换)和光束平差法(Bundle Adjustment,BA)。位姿由6个自由度(DOF)组成,其由旋转(滚动,俯仰和偏航)以及相机相对于世界的3D平移构成。
本公开实施例提供的定位方法,可以将3D点的特征与3D点位置同时编码到一个特征向量中,同时每个3D点都不是孤立的,可以很好的将周围信息传递,最终每个2D点和3D点都形成了独特的特征,进行最优匹配后可以得到上文中提到的位姿求解所需的2D-3D匹配关系。提高了定位的准确性和速度。
在本实施例的一些可选的实现方式中,将2D关键点位置、2D描述子、3D关键点位置和3D描述子输入预先训练的特征匹配网络,包括:将2D关键点位置编码后与2D描述子组成2D特征;将3D关键点位置编码后与3D描述子组成3D特征;将2D特征和3D特征输入预先训练的特征匹配网络。
特征点位置+描述子会获得更强的特征匹配特异性,所以这里将特征点的位置以及描述子合并成每个特征点。可通过编码器(例如MLP(Multilayer Perceptron,多层感知机))对2D关键点位置编码后再与2D描述子叠加组成2D特征。还可通过编码器对3D关键点位置编码后再与3D描述子叠加组成3D特征。此时特征匹配网络的输入变成2D特征和3D特征。
其中编码器用于对低维特征升维,实际上是将视觉外观以及特征点位置进行了耦合,正因如此,这使得该编码形式使得后续的注意力机制能够充分考虑到特征的外观以及位置相似度。
在本实施例的一些可选的实现方式中,从2D图片中提取出2D关键点位置和2D描述子,包括:通过尺度不变特征变换算法从2D图片中提取出2D关键点位置和2D描述子。SIFT算子是把图像中检测到的特征点用一个128维的特征向量进行描述,因此一幅图像经过SIFT算法后表示为一个128维的特征向量集,该特征向量集具有对图像缩放、平移、旋转不变的特征,对于光照、仿射和投影变换也有一定的不变性,是一种非常优秀的局部特征描述算法。
在本实施例的一些可选的实现方式中,从3D地图中提取出3D关键点位置和3D描述子,包括:通过尺度不变特征变换算法从3D地图中提取出3D关键点位置和3D描述子。采用与2D图像相同的算法提取出3D关键点位置和3D描述子。可选地,在3D建图过程中可预先从采集的2D图片中提取出2D关键点位置和2D描述子。然后通过多个图片的叠加生成了3D关键点位置和3D描述子。建图完成后可将3D关键点位置和3D描述子保留起来,用于后续的地图查询,可提高匹配速度。
在本实施例的一些可选的实现方式中,特征匹配网络包括图神经网络和匹配层,图神经网络包括自注意力层和交叉注意力层。考虑一个单一的完全图,它的节点是图像中每个特征点,这个图包括两种不同的无向边:一种是“Intra-image edges”(self edge),它连接了来自图像内部特征点;另外一种是“Inter-image edges”(cross edge),它连接本图特征点与另外一张图所有特征点(构成了该边)。通过自注意力层(self-attention)和交叉注意力层(cross-attention)对特征进行聚合,模拟了人类来回浏览匹配的过程,其中自注意力层用于将一张图像内部的边相连进行聚合,它能够更加关注具有特异性的所有点,且并不仅局限于其邻域位置特征。交叉注意力层用于匹配那些外观相似的两张图像间的特征。
图神经网络可包括多层自注意力层和多层交叉注意力层。对于self-attention,初始时它(某个特征)关联了图像上所有的点(首行),然后逐渐地关注在与该特征相邻近的特征点(尾行)。同样地,cross-attention主要关注去匹配可能的特征点,随着层的增加,它逐渐减少匹配点集直到收敛。无论是自注意力层还是交叉注意力层,它们关注的区域都会随着网络层深度的增加而逐渐缩小。
接下来的任务就是去构建软分配矩阵。对于一般的图匹配流程,这个分配矩阵可以通过计算一个得分矩阵(用来表示一些潜在的匹配)来实现。具体而言,通过最大化总体得分即可得到这个分配矩阵,其中要注意的是软分配矩阵是有约束的。用图神经网络聚合得到的2D特征以及3D特征计算内积得到得分矩阵。求解最大化总体得分可采用Sinkhorn算法。
可选地,可在得分矩阵的最后一列/行设置为dustbins,这样做的作用在于可以滤出错误的匹配点。
在本实施例的一些可选的实现方式中,根据至少一组2D-3D匹配对求得位姿,包括:通过PnP算法(Perspective-n-Point,求解3D到2D点对运动的方法)根据至少一组2D-3D匹配对求得位姿。3D-2D估计本质是PnP一个问题,即给定世界坐标系中n个3D点及其在图像中的相应2D投影的情况下,估计校准位姿的问题。PnP问题解决了已知世界参考系下地图点以及相机参考系下投影点位置时3D-2D相机位姿估计问题,不需要使用对极约束(存在初始化,纯旋转和尺度问题,且一般需要8对点),可以在较少的匹配点(最少3对点,P3P方法)中获得较好的运动估计,是最重要的一种姿态估计方法。最后,如果知道世界参考系下的地图点,同时知道相机参考系下的地图点,可以通过ICP(Iterative Closest Point,迭代最近点来求解)的方法去求解姿态。这样就构成了立体视觉中最重要的对极几何、PnP和ICP三种最常用的姿态估计方法。
进一步参见图3,图3是根据本实施例的定位方法的一个应用场景的示意图。在图3的应用场景中,用户通过相机拍摄了周围区域的2D图片用来根据2D图片定位用户的详细位置。可将2D图片上传到服务器,还可告知服务器用户的大致区域,比如国贸,以减少匹配工作量。服务器获取国贸区域的3D地图。通过提取网络从2D图片中提取出2D关键点位置和2D描述子。将2D关键点位置通过编码器编码后与2D描述子组合形成2D特征。如果3D地图的建图过程中已经提取出3D关键点位置和3D描述子,则直接使用。否则仍是通过提取网络从3D地图中提取出3D关键点位置和3D描述子。然后将3D关键点位置通过编码器编码后与3D描述子组合形成3D特征。2D特征和3D特征通过图神经网络的自注意力层和交叉注意力层聚合后,分别得到2D聚合特征和3D聚合特征。再通过匹配层将聚合特征最相近的2D点和3D点进行配对输出。最后通过2D-3D匹配对求得相机的位姿,即可确定出用户的位置。
请参见图4,其示出了本申请提供的训练特征匹配网络的方法的一个实施例的流程400。该训练特征匹配网络的方法可以包括以下步骤:
步骤401,获取图像集合作为样本集,并将位姿信息作为所采集的图像的标注信息。
在本实施例中,训练特征匹配网络的方法的执行主体(例如图1所示的服务器105)可以从无人车或用户携带的相机上获取2D图像。无人车或用户可环绕场景拍照,为了得到精确的3D地图,需要尽可能多地采集周边场景的图像。这些2D图像用于3D建图。同时可作为特征匹配网络的训练样本。样本的标注信息为相机的位姿信息。
需要说明的是,本实施例中样本集的2D图片和3D地图可以来自于公开数据集,或者2D图片和3D地图的获取是经过了3D地图所涉及区域的用户的授权。
本实施例中,训练特征匹配网络的方法的执行主体可以通过各种公开、合法合规的方式获取2D图片和3D地图,例如可以是从公开数据集处获取的,或者是经过了用户的授权从用户处获取的。
步骤402,根据图像集合构建3D地图。
在本实施例中,可根据现有技术常见方法用2D图像建立3D地图,例如,SFM。具体过程不再赘述。
步骤403,从样本集中选取样本。
在本实施例中,执行主体可以从步骤401中获取的样本集中选取样本,以及执行步骤403至步骤407的训练步骤。其中,样本的选取方式和选取数量在本申请中并不限制。例如可以是随机选取样本,也可以选取图片清晰度较高的样本或者关键点较多的样本。
步骤404,基于样本和3D地图通过特征匹配网络进行定位,得到定位结果。
在本实施例中,基于流程200的方法,从样本中提取出2D关键点位置和2D描述子。从3D地图中提取出3D关键点位置和3D描述子。将2D关键点位置、2D描述子、3D关键点位置和3D描述子输入预先训练的特征匹配网络,得到至少一组2D-3D匹配对。根据至少一组2D-3D匹配对求得相机的位姿,即定位结果。
步骤405,基于定位结果和标注信息计算总损失值。
在本实施例中,将步骤404得到的定位结果和步骤401标注的位姿进行比较,计算总损失值。
步骤406,若总损失值小于预定阈值,则确定出特征匹配网络训练完成。
在本实施例中,当总损失值小于预定阈值时,可以认为预测值接近或近似真值。预定阈值可以根据实际需求来设置。若总损失值小于预定阈值,则说明特征匹配网络训练完成。
需要说明的是,通过本步骤得到的特征匹配网络包含了3D地图,但该特征匹配网络的构建是在经用户授权后执行的,其构建过程符合相关法律法规。
步骤407,若总损失值大于等于预定阈值,则调整特征匹配网络的相关参数,基于调整后的特征匹配网络继续执行步骤403-407。
在本实施例中,若总损失值不小于预定阈值,则说明特征匹配网络训练未完成,则调整特征匹配网络的相关参数,例如采用反向传播技术分别修改特征匹配网络中图神经网络和匹配层的权重。以及可以返回步骤403,从样本集中重新选取样本。从而可以基于调整后的特征匹配网络继续执行上述训练步骤。
本申请实施例提供的训练特征匹配网络的方法,从人的视觉系统出发,图像特征匹配时合理使用几何信息和邻居信息,从而提高匹配速度和准确率。因此提高了定位的准确性和及时性。
继续参见图5,作为对上述各图所示方法的实现,本申请提供了一种定位装置的一个实施例。该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的定位装置500可以包括:获取单元501、第一提取单元502、第二提取单元503、匹配单元504和定位单元505。其中,获取单元501,被配置成获取待定位区域的2D图片和已建好的3D地图;第一提取单元502,被配置成从2D图片中提取出2D关键点位置和2D描述子;第二提取单元503,被配置成从3D地图中提取出3D关键点位置和3D描述子;匹配单元504,被配置成将2D关键点位置、2D描述子、3D关键点位置和3D描述子输入预先训练的特征匹配网络,得到至少一组2D-3D匹配对;定位单元505,被配置成根据至少一组2D-3D匹配对求得位姿。
在本实施例的一些可选的实现方式中,匹配单元504进一步被配置成:将2D关键点位置编码后与2D描述子组成2D特征;将3D关键点位置编码后与3D描述子组成3D特征;将2D特征和3D特征输入预先训练的特征匹配网络。
在本实施例的一些可选的实现方式中,第一提取单元502进一步被配置成:通过尺度不变特征变换算法从2D图片中提取出2D关键点位置和2D描述子。
在本实施例的一些可选的实现方式中,第二提取单元503进一步被配置成:通过尺度不变特征变换算法从3D地图中提取出3D关键点位置和3D描述子。
在本实施例的一些可选的实现方式中,特征匹配网络包括图神经网络和匹配层,图神经网络包括自注意力层和交叉注意力层。
在本实施例的一些可选的实现方式中,定位单元505进一步被配置成:通过PnP算法根据至少一组2D-3D匹配对求得位姿。
继续参见图6,作为对上述各图所示方法的实现,本申请提供了一种训练特征匹配网络的装置的一个实施例。该装置实施例与图4所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例的训练特征匹配网络的装置600可以包括:获取单元601、建图单元602和训练单元603。其中,获取单元601,被配置成获取相机环绕场景采集的图像集合作为样本集,并将位姿信息作为所采集的图像的标注信息;建图单元602,被配置成根据图像集合构建3D地图;训练单元603,被配置成执行如下训练步骤:从样本集中选取样本;基于样本和3D地图通过特征匹配网络执行流程200的定位方法,得到定位结果;基于定位结果和标注信息计算总损失值;若总损失值小于预定阈值,则确定出特征匹配网络训练完成。
在本实施例的一些可选的实现方式中,训练单元603进一步被配置成:若总损失值大于等于预定阈值,则调整特征匹配网络的相关参数,基于调整后的特征匹配网络继续执行上述训练步骤。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行流程200或400所述的方法。
一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行流程200或400所述的方法。
一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现流程200或400所述的方法。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如定位方法。例如,在一些实施例中,定位方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的定位方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行定位方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (19)
1.一种定位方法,包括:
获取待定位区域的2D图片和已建好的3D地图;
从所述2D图片中提取出2D关键点位置和2D描述子;
从所述3D地图中提取出3D关键点位置和3D描述子;
将所述2D关键点位置、所述2D描述子、所述3D关键点位置和所述3D描述子输入预先训练的特征匹配网络,得到至少一组2D-3D匹配对;
根据至少一组2D-3D匹配对求得位姿。
2.根据权利要求1所述的方法,其中,所述将所述2D关键点位置、所述2D描述子、所述3D关键点位置和所述3D描述子输入预先训练的特征匹配网络,包括:
将所述2D关键点位置编码后与2D描述子组成2D特征;
将所述3D关键点位置编码后与所述3D描述子组成3D特征;
将所述2D特征和所述3D特征输入预先训练的特征匹配网络。
3.根据权利要求1所述的方法,其中,所述从所述2D图片中提取出2D关键点位置和2D描述子,包括:
通过尺度不变特征变换算法从所述2D图片中提取出2D关键点位置和2D描述子。
4.根据权利要求1所述的方法,其中,所述从所述3D地图中提取出3D关键点位置和3D描述子,包括:
通过尺度不变特征变换算法从所述3D地图中提取出3D关键点位置和3D描述子。
5.根据权利要求1-4任一项所述的方法,其中,所述特征匹配网络包括图神经网络和匹配层,所述图神经网络包括自注意力层和交叉注意力层。
6.根据权利要求1-4任一项所述的方法,其中,所述根据至少一组2D-3D匹配对求得位姿,包括:
通过求解3D到2D点对运动的方法根据至少一组2D-3D匹配对求得位姿。
7.一种训练特征匹配网络的方法,包括:
获取图像集合作为样本集,并将位姿信息作为所采集的图像的标注信息;
根据所述图像集合构建3D地图;
执行如下训练步骤:从所述样本集中选取样本;基于所述样本和所述3D地图通过特征匹配网络执行权利要求1-6中任一项所述的定位方法,得到定位结果;基于所述定位结果和标注信息计算总损失值;若总损失值小于预定阈值,则确定出所述特征匹配网络训练完成。
8.根据权利要求7所述的方法,其中,所述方法还包括:
若总损失值大于等于预定阈值,则调整所述特征匹配网络的相关参数,基于调整后的所述特征匹配网络继续执行上述训练步骤。
9.一种定位装置,包括:
获取单元,被配置成获取待定位区域的2D图片和已建好的3D地图;
第一提取单元,被配置成从所述2D图片中提取出2D关键点位置和2D描述子;
第二提取单元,被配置成从所述3D地图中提取出3D关键点位置和3D描述子;
匹配单元,被配置成将所述2D关键点位置、所述2D描述子、所述3D关键点位置和所述3D描述子输入预先训练的特征匹配网络,得到至少一组2D-3D匹配对;
定位单元,被配置成根据至少一组2D-3D匹配对求得位姿。
10.根据权利要求9所述的装置,其中,所述匹配单元进一步被配置成:
将所述2D关键点位置编码后与2D描述子组成2D特征;
将所述3D关键点位置编码后与所述3D描述子组成3D特征;
将所述2D特征和所述3D特征输入预先训练的特征匹配网络。
11.根据权利要求9所述的装置,其中,所述第一提取单元进一步被配置成:
通过尺度不变特征变换算法从所述2D图片中提取出2D关键点位置和2D描述子。
12.根据权利要求9所述的装置,其中,所述第二提取单元进一步被配置成:
通过尺度不变特征变换算法从所述3D地图中提取出3D关键点位置和3D描述子。
13.根据权利要求9-12任一项所述的装置,其中,所述特征匹配网络包括图神经网络和匹配层,所述图神经网络包括自注意力层和交叉注意力层。
14.根据权利要求9-12任一项所述的装置,其中,所述定位单元进一步被配置成:
通过求解3D到2D点对运动的方法根据至少一组2D-3D匹配对求得位姿。
15.一种训练特征匹配网络的装置,包括:
获取单元,被配置成获取图像集合作为样本集,并将位姿信息作为所采集的图像的标注信息;
建图单元,被配置成根据所述图像集合构建3D地图;
训练单元,被配置成执行如下训练步骤:从所述样本集中选取样本;基于所述样本和所述3D地图通过特征匹配网络执行权利要求1-6中任一项所述的定位方法,得到定位结果;基于所述定位结果和标注信息计算总损失值;若总损失值小于预定阈值,则确定出所述特征匹配网络训练完成。
16.根据权利要求15所述的装置,其中,所述训练单元进一步被配置成:
若总损失值大于等于预定阈值,则调整所述特征匹配网络的相关参数,基于调整后的所述特征匹配网络继续执行上述训练步骤。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110903005.5A CN113592015B (zh) | 2021-08-06 | 2021-08-06 | 定位以及训练特征匹配网络的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110903005.5A CN113592015B (zh) | 2021-08-06 | 2021-08-06 | 定位以及训练特征匹配网络的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113592015A true CN113592015A (zh) | 2021-11-02 |
CN113592015B CN113592015B (zh) | 2022-09-27 |
Family
ID=78256061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110903005.5A Active CN113592015B (zh) | 2021-08-06 | 2021-08-06 | 定位以及训练特征匹配网络的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113592015B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114092559A (zh) * | 2021-11-30 | 2022-02-25 | 中德(珠海)人工智能研究院有限公司 | 一种全景图像特征点描述符生成网络的训练方法以及装置 |
CN114998600A (zh) * | 2022-06-17 | 2022-09-02 | 北京百度网讯科技有限公司 | 图像处理方法、模型的训练方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016119117A1 (en) * | 2015-01-27 | 2016-08-04 | Nokia Technologies Oy | Localization and mapping method |
CN110992259A (zh) * | 2019-10-14 | 2020-04-10 | 中国科学院自动化研究所 | 基于2d-3d弱特征3d邻域概率匹配的rgb-d点云拼接方法及系统 |
CN111199564A (zh) * | 2019-12-23 | 2020-05-26 | 中国科学院光电研究院 | 智能移动终端的室内定位方法、装置与电子设备 |
CN111583332A (zh) * | 2020-05-18 | 2020-08-25 | 中国科学院自动化研究所 | 基于并行搜索2d-3d匹配的视觉定位方法、系统、装置 |
CN111724438A (zh) * | 2019-03-18 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置 |
CN112749758A (zh) * | 2021-01-21 | 2021-05-04 | 北京百度网讯科技有限公司 | 图像处理方法、神经网络的训练方法、装置、设备和介质 |
CN113160285A (zh) * | 2021-05-08 | 2021-07-23 | 中国科学院自动化研究所苏州研究院 | 一种基于局部深度图像关键性的点云匹配方法 |
-
2021
- 2021-08-06 CN CN202110903005.5A patent/CN113592015B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016119117A1 (en) * | 2015-01-27 | 2016-08-04 | Nokia Technologies Oy | Localization and mapping method |
CN111724438A (zh) * | 2019-03-18 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置 |
CN110992259A (zh) * | 2019-10-14 | 2020-04-10 | 中国科学院自动化研究所 | 基于2d-3d弱特征3d邻域概率匹配的rgb-d点云拼接方法及系统 |
CN111199564A (zh) * | 2019-12-23 | 2020-05-26 | 中国科学院光电研究院 | 智能移动终端的室内定位方法、装置与电子设备 |
CN111583332A (zh) * | 2020-05-18 | 2020-08-25 | 中国科学院自动化研究所 | 基于并行搜索2d-3d匹配的视觉定位方法、系统、装置 |
CN112749758A (zh) * | 2021-01-21 | 2021-05-04 | 北京百度网讯科技有限公司 | 图像处理方法、神经网络的训练方法、装置、设备和介质 |
CN113160285A (zh) * | 2021-05-08 | 2021-07-23 | 中国科学院自动化研究所苏州研究院 | 一种基于局部深度图像关键性的点云匹配方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114092559A (zh) * | 2021-11-30 | 2022-02-25 | 中德(珠海)人工智能研究院有限公司 | 一种全景图像特征点描述符生成网络的训练方法以及装置 |
CN114998600A (zh) * | 2022-06-17 | 2022-09-02 | 北京百度网讯科技有限公司 | 图像处理方法、模型的训练方法、装置、设备及介质 |
CN114998600B (zh) * | 2022-06-17 | 2023-07-25 | 北京百度网讯科技有限公司 | 图像处理方法、模型的训练方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113592015B (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220114750A1 (en) | Map constructing method, positioning method and wireless communication terminal | |
US8442307B1 (en) | Appearance augmented 3-D point clouds for trajectory and camera localization | |
CN112102411B (zh) | 一种基于语义误差图像的视觉定位方法及装置 | |
US12031842B2 (en) | Method and apparatus for binocular ranging | |
US8798357B2 (en) | Image-based localization | |
CN111046125A (zh) | 一种视觉定位方法、系统及计算机可读存储介质 | |
CN110363817B (zh) | 目标位姿估计方法、电子设备和介质 | |
CN107329962B (zh) | 图像检索数据库生成方法、增强现实的方法及装置 | |
CN111680678B (zh) | 目标区域识别方法、装置、设备及可读存储介质 | |
JP6850399B2 (ja) | 単眼画像の深度回復方法及び装置、コンピュータ機器 | |
CN113592015B (zh) | 定位以及训练特征匹配网络的方法和装置 | |
CN115880555B (zh) | 目标检测方法、模型训练方法、装置、设备及介质 | |
JP2020524355A5 (zh) | ||
CN114219855A (zh) | 点云法向量的估计方法、装置、计算机设备和存储介质 | |
CN116152334A (zh) | 图像处理方法及相关设备 | |
CN115018999A (zh) | 一种多机器人协作的稠密点云地图构建方法及装置 | |
CN114556425A (zh) | 定位的方法、设备、无人机和存储介质 | |
CN115908992A (zh) | 双目立体匹配的方法、装置、设备以及存储介质 | |
CN114913330B (zh) | 点云部件分割方法、装置、电子设备与存储介质 | |
Geng et al. | SANet: A novel segmented attention mechanism and multi-level information fusion network for 6D object pose estimation | |
CN116843867A (zh) | 增强现实虚实融合方法、电子设备和存储介质 | |
CN114674328B (zh) | 地图生成方法、装置、电子设备、存储介质、及车辆 | |
CN114119999B (zh) | 基于深度学习的迭代6d位姿估计方法及装置 | |
CN113570667B (zh) | 视觉惯导补偿方法、装置及存储介质 | |
CN117011481A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |